<?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>234876</bug_id>
          
          <creation_ts>2022-01-05 03:05:02 -0800</creation_ts>
          <short_desc>Enable WebRTC for Mac Catalyst</short_desc>
          <delta_ts>2022-02-09 10:14:45 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebRTC</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></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>
          
          <blocked>234953</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>achristensen</cc>
    
    <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>hta</cc>
    
    <cc>jer.noble</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>thorton</cc>
    
    <cc>tommyw</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1828239</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2022-01-05 03:05:02 -0800</bug_when>
    <thetext>Enable WebRTC for Mac Catalyst</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1828240</commentid>
    <comment_count>1</comment_count>
      <attachid>448375</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2022-01-05 03:08:18 -0800</bug_when>
    <thetext>Created attachment 448375
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1828242</commentid>
    <comment_count>2</comment_count>
      <attachid>448376</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2022-01-05 03:28:16 -0800</bug_when>
    <thetext>Created attachment 448376
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1828849</commentid>
    <comment_count>3</comment_count>
      <attachid>448573</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2022-01-07 02:06:06 -0800</bug_when>
    <thetext>Created attachment 448573
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1828862</commentid>
    <comment_count>4</comment_count>
      <attachid>448579</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2022-01-07 03:20:21 -0800</bug_when>
    <thetext>Created attachment 448579
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1828863</commentid>
    <comment_count>5</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2022-01-07 03:21:31 -0800</bug_when>
    <thetext>&lt;&lt;rdar://86040748&gt;&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1828932</commentid>
    <comment_count>6</comment_count>
      <attachid>448579</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2022-01-07 09:27:24 -0800</bug_when>
    <thetext>Comment on attachment 448579
Patch

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

&gt; Source/WebCore/platform/mediarecorder/cocoa/AudioSampleBufferCompressor.mm:58
&gt; +    , m_currentNativePresentationTimeStamp { PAL::kCMTimeInvalid }
&gt; +    , m_currentOutputPresentationTimeStamp { PAL::kCMTimeInvalid }
&gt; +    , m_remainingPrimeDuration { PAL::kCMTimeInvalid }

Why make this change?

&gt; Source/WebCore/platform/mediastream/mac/RealtimeIncomingVideoSourceCocoa.mm:184
&gt; +RetainPtr&lt;CVPixelBufferRef&gt; createBlackPixelBuffer(size_t width, size_t height)

Maybe move this to RealtimeOutgoingVideoSourceCocoa.mm?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1829143</commentid>
    <comment_count>7</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2022-01-07 16:58:36 -0800</bug_when>
    <thetext>Don&apos;t we need rdar://77080901 first?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1829435</commentid>
    <comment_count>8</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2022-01-10 06:08:50 -0800</bug_when>
    <thetext>
(In reply to Alex Christensen from comment #7)
&gt; Don&apos;t we need rdar://77080901 first?

Yep, we need that one before landing this patch.

(In reply to Eric Carlson from comment #6)
&gt; Comment on attachment 448579 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=448579&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/mediarecorder/cocoa/AudioSampleBufferCompressor.mm:58
&gt; &gt; +    , m_currentNativePresentationTimeStamp { PAL::kCMTimeInvalid }
&gt; &gt; +    , m_currentOutputPresentationTimeStamp { PAL::kCMTimeInvalid }
&gt; &gt; +    , m_remainingPrimeDuration { PAL::kCMTimeInvalid }
&gt; 
&gt; Why make this change?

So that we do not add soft link headers in the header but keep them in source files.

&gt; &gt; Source/WebCore/platform/mediastream/mac/RealtimeIncomingVideoSourceCocoa.mm:184
&gt; &gt; +RetainPtr&lt;CVPixelBufferRef&gt; createBlackPixelBuffer(size_t width, size_t height)
&gt; 
&gt; Maybe move this to RealtimeOutgoingVideoSourceCocoa.mm?

We should probably move it to a utility file indeed.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>448375</attachid>
            <date>2022-01-05 03:08:18 -0800</date>
            <delta_ts>2022-01-05 03:35:29 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-234876-20220105120815.patch</filename>
            <type>text/plain</type>
            <size>31431</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg3NjA4CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9DaGFuZ2VMb2cgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9DaGFuZ2VMb2cKaW5kZXggNWI2ODNmOTUw
NjUyZGRiOGE3MTM2NDJkYmJhYjIyY2RhNzg1OGU1MC4uZTNmOTkxOTlhOTdjYWU0ZGVlYTY4ZDEx
ZjQxMDliODA2YzgyNTM4NSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDIy
LTAxLTA1ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBFbmFi
bGUgV2ViUlRDIGZvciBNYWMgQ2F0YWx5c3QKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIzNDg3NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogTWFrZWZpbGU6CisKIDIwMjEtMTAtMTQgIE15bGVzIEMuIE1h
eGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KIAogICAgICAgICBBbGwgdGhlIFNES1Zhcmlh
bnQueGNjb25maWcgZmlsZXMgc2hvdWxkIG1hdGNoCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0No
YW5nZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDg4MWY1ODMwNGQyMmIwNjdiYTZm
YjUwOTZkZGZmOTdlYjExN2Q4OWEuLmRhOGI0ZmU1NWJlMjY1MzE0MDA5Njg3YTE3MzE2OTVlYjcy
YWVmNmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMjItMDEtMDUgIFlvdWVubiBGYWJsZXQgIDx5
b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIEVuYWJsZSBXZWJSVEMgZm9yIE1hYyBDYXRhbHlz
dAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM0ODc2
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3dGYv
UGxhdGZvcm1FbmFibGVDb2NvYS5oOgorCiAyMDIxLTEyLTMxICBZdXN1a2UgU3V6dWtpICA8eXN1
enVraUBhcHBsZS5jb20+CiAKICAgICAgICAgW0pTQ10gUmVwbGFjZSBVRElTODYgd2l0aCBaeWRp
cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nCmluZGV4IGJjNmU3ZWE3M2MyYTk1MmZiYmZlNzliMTcxNDQ4ZjkzN2FiZjVjYTUu
LjRiMWYzZmNiZmY4NWY1YjZjZjE5MGJmYWU2OWY0Mzc0Yjg1ZDNiYzMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwzMyBAQAorMjAyMi0wMS0wNSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5j
b20+CisKKyAgICAgICAgRW5hYmxlIFdlYlJUQyBmb3IgTWFjIENhdGFseXN0CisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzQ4NzYKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0Zl
YXR1cmVEZWZpbmVzLnhjY29uZmlnOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2N2L0lt
YWdlVHJhbnNmZXJTZXNzaW9uVlQuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jdi9J
bWFnZVRyYW5zZmVyU2Vzc2lvblZULm1tOgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2VUcmFuc2Zl
clNlc3Npb25WVDo6SW1hZ2VUcmFuc2ZlclNlc3Npb25WVCk6CisgICAgICAgIChXZWJDb3JlOjpJ
bWFnZVRyYW5zZmVyU2Vzc2lvblZUOjpjcmVhdGVDTVNhbXBsZUJ1ZmZlcik6CisgICAgICAgIChX
ZWJDb3JlOjpJbWFnZVRyYW5zZmVyU2Vzc2lvblZUOjpjcmVhdGVNZWRpYVNhbXBsZSk6CisgICAg
ICAgICogcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9jb2NvYS9BdWRpb1NhbXBsZUJ1ZmZlckNvbXBy
ZXNzb3IuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXJlY29yZGVyL2NvY29hL0F1ZGlvU2Ft
cGxlQnVmZmVyQ29tcHJlc3Nvci5tbToKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvU2FtcGxlQnVm
ZmVyQ29tcHJlc3Nvcjo6QXVkaW9TYW1wbGVCdWZmZXJDb21wcmVzc29yKToKKyAgICAgICAgKiBw
bGF0Zm9ybS9tZWRpYXJlY29yZGVyL2NvY29hL1ZpZGVvU2FtcGxlQnVmZmVyQ29tcHJlc3Nvci5t
bToKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9jb2NvYS9BdWRpb01lZGlhU3RyZWFt
VHJhY2tSZW5kZXJlckNvY29hLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvTWVkaWFTdHJl
YW1UcmFja1JlbmRlcmVyQ29jb2E6OnJlbmRlcmVyVW5pdCk6CisgICAgICAgICogcGxhdGZvcm0v
bWVkaWFzdHJlYW0vY29jb2EvRGlzcGxheUNhcHR1cmVTb3VyY2VDb2NvYS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpEaXNwbGF5Q2FwdHVyZVNvdXJjZUNvY29hOjpjcmVhdGUpOgorICAgICAgICAo
V2ViQ29yZTo6RGlzcGxheUNhcHR1cmVTb3VyY2VDb2NvYTo6ZW1pdEZyYW1lKToKKyAgICAgICAg
KiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9jb2NvYS9JbmNvbWluZ0F1ZGlvTWVkaWFTdHJlYW1UcmFj
a1JlbmRlcmVyVW5pdC5jcHA6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vY29jb2Ev
SW5jb21pbmdBdWRpb01lZGlhU3RyZWFtVHJhY2tSZW5kZXJlclVuaXQuaDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQVZWaWRlb0NhcHR1cmVTb3VyY2UubW06CisgICAgICAg
IChXZWJDb3JlOjpBVlZpZGVvQ2FwdHVyZVNvdXJjZTo6c2V0dXBTZXNzaW9uKToKKyAgICAgICAg
KiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVJbmNvbWluZ1ZpZGVvU291cmNlQ29j
b2EuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVJbmNvbWlu
Z1ZpZGVvU291cmNlQ29jb2EubW06CisgICAgICAgIChXZWJDb3JlOjpjcmVhdGVCbGFja1BpeGVs
QnVmZmVyKToKKwogMjAyMi0wMS0wNSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+
CiAKICAgICAgICAgIlJlYWRhYmxlU3RyZWFtIHVwbG9hZGluZyBpcyBub3Qgc3VwcG9ydGVkIiB3
aGVuIGZldGNoKClpbmcgYSBSZXF1ZXN0IHRoYXQgaGFzIGJlZW4gbG9nZ2VkIHRvIGNvbnNvbGUK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29y
ZS9QQUwvQ2hhbmdlTG9nCmluZGV4IDQ1MTI0YzNjZjQ5OWQzMzk1NDg3OTdhYmViMmQ2OGZiMGY0
Njk5MmQuLjc1YzY0MmI1YzA1ZWI3Zjg4YzFhNjgxNGU0ZDNiZjY5YThhYWNkN2UgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvUEFM
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDIyLTAxLTA1ICBZb3Vlbm4gRmFibGV0ICA8
eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBFbmFibGUgV2ViUlRDIGZvciBNYWMgQ2F0YWx5
c3QKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNDg3
NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogcGFs
L2NmL0NvcmVNZWRpYVNvZnRMaW5rLmNwcDoKKyAgICAgICAgKiBwYWwvY2YvQ29yZU1lZGlhU29m
dExpbmsuaDoKKwogMjAyMS0xMi0yMSAgU2FtIFdlaW5pZyAgPHdlaW5pZ0BhcHBsZS5jb20+CiAK
ICAgICAgICAgQWRkIHN1cHBvcnQgZm9yIHByZW11bHRpcGxpZWQgYWxwaGEgaW50ZXJwb2xhdGVk
IGdyYWRpZW50cyBhbmQgZGVmYXVsdGVkIG9mZiBvcHRpb24gdG8gdXNlIHRoZW0gZm9yIENTUyBH
cmFkaWVudHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dl
YktpdC9DaGFuZ2VMb2cKaW5kZXggODc3MWU2MzdhMTBiMWNhZTk4Zjk5OGU2MTMyMDk2NGE4ZGQ2
OTRiMi4uN2ZhNTY0MWI1ZGViMzVhODYwY2EwOWZiNDliYjc5NWY2NjVjYzUyMCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxOCBAQAorMjAyMi0wMS0wNSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBs
ZS5jb20+CisKKyAgICAgICAgRW5hYmxlIFdlYlJUQyBmb3IgTWFjIENhdGFseXN0CisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzQ4NzYKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIENvbmZpZ3VyYXRpb25z
L0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorICAgICAgICAqIEdQVVByb2Nlc3Mvd2VicnRjL0xp
YldlYlJUQ0NvZGVjc1Byb3h5Lm1tOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9O
ZXR3b3JrUlRDUHJvdmlkZXIubW06CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtSVENQcm92aWRl
cjo6cHJveHlJbmZvRnJvbVNlc3Npb24pOgorICAgICAgICAqIFdlYlByb2Nlc3MvTmV0d29yay93
ZWJydGMvTGliV2ViUlRDUHJvdmlkZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpMaWJXZWJSVENQ
cm92aWRlcjo6Y3JlYXRlUGVlckNvbm5lY3Rpb24pOgorICAgICAgICAqIFdlYlByb2Nlc3MvTmV0
d29yay93ZWJydGMvTGliV2ViUlRDUHJvdmlkZXIuaDoKKwogMjAyMi0wMS0wNSAgWW91ZW5uIEZh
YmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgTWFrZSBzdXJlIHNlY3VyZSB3ZWJz
b2NrZXQgY29ubmVjdGlvbnMgaW4gc2VydmljZSB3b3JrZXJzIGNhbiB0cmlnZ2VyIGF1dGhlbnRp
Y2F0aW9uIGNoYWxsZW5nZSBjYWxsYmFja3MKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5
L01ha2VmaWxlIGIvU291cmNlL1RoaXJkUGFydHkvTWFrZWZpbGUKaW5kZXggNmMzOTdkNDU2MTQw
YThhYjEzNzc3ZGZiMGM3YTVmM2RjZmE2M2FmYS4uNGEyYTM0ODExNDJkODU3YTc2NWY1NzdhMjM5
ZWNkMWUyYzM2ZjUzOCAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvTWFrZWZpbGUKKysr
IGIvU291cmNlL1RoaXJkUGFydHkvTWFrZWZpbGUKQEAgLTEsMTYgKzEsNCBAQAotTElCV0VCUlRD
X01PRFVMRSA9IGxpYndlYnJ0YwotCi1UT19MT1dFUiA9ICQoc2hlbGwgZWNobyAkKDEpIHwgdHIg
Wzp1cHBlcjpdIFs6bG93ZXI6XSkKLQotaWZlcSAoaW9zbWFjLCQoU0RLX1ZBUklBTlQpKQotCURJ
U0FCTEVfTElCV0VCUlRDID0gMQotZW5kaWYKLQotaWZuZXEgKCwkKERJU0FCTEVfTElCV0VCUlRD
KSkKLQlMSUJXRUJSVENfTU9EVUxFID0KLWVuZGlmCi0KLU1PRFVMRVMgPSBBTkdMRSAkKExJQldF
QlJUQ19NT0RVTEUpCitNT0RVTEVTID0gQU5HTEUgbGlid2VicnRjCiAKIGRlZmluZSBidWlsZF90
YXJnZXRfZm9yX2VhY2hfbW9kdWxlCiAJZm9yIGRpciBpbiAkKE1PRFVMRVMpOyBkbyBcCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUVuYWJsZUNvY29hLmggYi9Tb3VyY2UvV1RG
L3d0Zi9QbGF0Zm9ybUVuYWJsZUNvY29hLmgKaW5kZXggM2YxY2QzMzRhN2FjMDg5NGFhZGRkOTBh
MGE0YWIwMzIyYjAxMzMxNy4uYmU0NjY2OThlODc3ZTNiYzFhY2RmNzIzMTdiNWIzMTcxY2E1NzVi
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1FbmFibGVDb2NvYS5oCisrKyBi
L1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtRW5hYmxlQ29jb2EuaApAQCAtMzg5LDcgKzM4OSw3IEBA
CiAjZGVmaW5lIEVOQUJMRV9NRURJQV9TT1VSQ0UgMQogI2VuZGlmCiAKLSNpZiAhZGVmaW5lZChF
TkFCTEVfTUVESUFfU1RSRUFNKSAmJiAhUExBVEZPUk0oTUFDQ0FUQUxZU1QpICYmICFQTEFURk9S
TShXQVRDSE9TKSAmJiAhUExBVEZPUk0oQVBQTEVUVikKKyNpZiAhZGVmaW5lZChFTkFCTEVfTUVE
SUFfU1RSRUFNKSAmJiAhUExBVEZPUk0oV0FUQ0hPUykgJiYgIVBMQVRGT1JNKEFQUExFVFYpCiAj
ZGVmaW5lIEVOQUJMRV9NRURJQV9TVFJFQU0gMQogI2VuZGlmCiAKQEAgLTY2NCw3ICs2NjQsNyBA
QAogI2RlZmluZSBFTkFCTEVfV0VCX0FVVEhOIDEKICNlbmRpZgogCi0jaWYgIWRlZmluZWQoRU5B
QkxFX1dFQl9SVEMpICYmICFQTEFURk9STShNQUNDQVRBTFlTVCkgJiYgIVBMQVRGT1JNKFdBVENI
T1MpICYmICFQTEFURk9STShBUFBMRVRWKQorI2lmICFkZWZpbmVkKEVOQUJMRV9XRUJfUlRDKSAm
JiAhUExBVEZPUk0oV0FUQ0hPUykgJiYgIVBMQVRGT1JNKEFQUExFVFYpCiAjZGVmaW5lIEVOQUJM
RV9XRUJfUlRDIDEKICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Db25maWd1
cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZyBiL1NvdXJjZS9XZWJDb3JlL0NvbmZpZ3Vy
YXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCmluZGV4IDIxYTVkMjkxNThkMjE0NTRjZmQx
ZmI1MWZmNzMzZGM2N2JkMDdkMGUuLjE0ZWRkOTJlYmY4ZTVkYjgwMTc3ZDA4YzIwZjQ1MWE1ZTk4
ODdmMTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVE
ZWZpbmVzLnhjY29uZmlnCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1
cmVEZWZpbmVzLnhjY29uZmlnCkBAIC00NCwzICs0NCw0IEBAIEVOQUJMRV9XRUJfUlRDID0gJChF
TkFCTEVfV0VCX1JUQ18kKFdLX1BMQVRGT1JNX05BTUUpKTsKIEVOQUJMRV9XRUJfUlRDX2lwaG9u
ZW9zID0gRU5BQkxFX1dFQl9SVEM7CiBFTkFCTEVfV0VCX1JUQ19pcGhvbmVzaW11bGF0b3IgPSBF
TkFCTEVfV0VCX1JUQzsKIEVOQUJMRV9XRUJfUlRDX21hY29zeCA9IEVOQUJMRV9XRUJfUlRDOwor
RU5BQkxFX1dFQl9SVENfbWFjY2F0YWx5c3QgPSBFTkFCTEVfV0VCX1JUQzsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY2YvQ29yZU1lZGlhU29mdExpbmsuY3BwIGIvU291cmNl
L1dlYkNvcmUvUEFML3BhbC9jZi9Db3JlTWVkaWFTb2Z0TGluay5jcHAKaW5kZXggODdiNTYyMDdl
ODRkZjNmNDk5OWIzNmY1NWYyZGY2ZjhjOTlkNTc2Yi4uYTMyOTRhM2ZmYjNiODk1NDVmOWI0OTAx
ZTZkMTcyZWQ4ZGNkM2JmMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jZi9D
b3JlTWVkaWFTb2Z0TGluay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jZi9Db3Jl
TWVkaWFTb2Z0TGluay5jcHAKQEAgLTIwMSw3ICsyMDEsNyBAQCBTT0ZUX0xJTktfQ09OU1RBTlRf
Rk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIENvcmVNZWRpYSwga0NNU2FtcGxlQXR0YWNobWVu
dEtleQogU09GVF9MSU5LX0NPTlNUQU5UX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBDb3Jl
TWVkaWEsIGtDTVNhbXBsZUJ1ZmZlckNvbnN1bWVyTm90aWZpY2F0aW9uX0J1ZmZlckNvbnN1bWVk
LCBDRlN0cmluZ1JlZiwgUEFMX0VYUE9SVCkKIFNPRlRfTElOS19DT05TVEFOVF9GT1JfU09VUkNF
X1dJVEhfRVhQT1JUKFBBTCwgQ29yZU1lZGlhLCBrQ01TYW1wbGVCdWZmZXJBdHRhY2htZW50S2V5
X0VuZHNQcmV2aW91c1NhbXBsZUR1cmF0aW9uLCBDRlN0cmluZ1JlZiwgUEFMX0VYUE9SVCkKIFNP
RlRfTElOS19DT05TVEFOVF9GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQ29yZU1lZGlhLCBr
Q01TYW1wbGVCdWZmZXJBdHRhY2htZW50S2V5X0dyYWR1YWxEZWNvZGVyUmVmcmVzaCwgQ0ZTdHJp
bmdSZWYsIFBBTF9FWFBPUlQpCi1TT0ZUX0xJTktfQ09OU1RBTlRfRk9SX1NPVVJDRV9XSVRIX0VY
UE9SVChQQUwsIENvcmVNZWRpYSwgZ2V0X0NvcmVNZWRpYV9rQ01TYW1wbGVCdWZmZXJBdHRhY2ht
ZW50S2V5X1RyaW1EdXJhdGlvbkF0U3RhcnQsIENGU3RyaW5nUmVmLCBQQUxfRVhQT1JUKQorU09G
VF9MSU5LX0NPTlNUQU5UX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBDb3JlTWVkaWEsIGtD
TVNhbXBsZUJ1ZmZlckF0dGFjaG1lbnRLZXlfVHJpbUR1cmF0aW9uQXRTdGFydCwgQ0ZTdHJpbmdS
ZWYsIFBBTF9FWFBPUlQpCiAKIFNPRlRfTElOS19DT05TVEFOVF9GT1JfU09VUkNFX1dJVEhfRVhQ
T1JUKFBBTCwgQ29yZU1lZGlhLCBrQ01UaW1lYmFzZU5vdGlmaWNhdGlvbl9FZmZlY3RpdmVSYXRl
Q2hhbmdlZCwgQ0ZTdHJpbmdSZWYsIFBBTF9FWFBPUlQpCiBTT0ZUX0xJTktfQ09OU1RBTlRfRk9S
X1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIENvcmVNZWRpYSwga0NNVGltZWJhc2VOb3RpZmljYXRp
b25fVGltZUp1bXBlZCwgQ0ZTdHJpbmdSZWYsIFBBTF9FWFBPUlQpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9QQUwvcGFsL2NmL0NvcmVNZWRpYVNvZnRMaW5rLmggYi9Tb3VyY2UvV2ViQ29y
ZS9QQUwvcGFsL2NmL0NvcmVNZWRpYVNvZnRMaW5rLmgKaW5kZXggNTcwYTZhOTg1M2M0NDgxNjhi
OTkwMjIwNDIzMDA5NmRmZThmZWIwMS4uMGNlYjRjY2Y5OWUwMTNlZjJiY2VmNWZlNzc5ZThjOTli
ZDI4YzUyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jZi9Db3JlTWVkaWFT
b2Z0TGluay5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY2YvQ29yZU1lZGlhU29mdExp
bmsuaApAQCAtMzI2LDggKzMyNiw4IEBAIFNPRlRfTElOS19DT05TVEFOVF9GT1JfSEVBREVSKFBB
TCwgQ29yZU1lZGlhLCBrQ01TYW1wbGVCdWZmZXJBdHRhY2htZW50S2V5X0VuZHNQCiAjZGVmaW5l
IGtDTVNhbXBsZUJ1ZmZlckF0dGFjaG1lbnRLZXlfRW5kc1ByZXZpb3VzU2FtcGxlRHVyYXRpb24g
Z2V0X0NvcmVNZWRpYV9rQ01TYW1wbGVCdWZmZXJBdHRhY2htZW50S2V5X0VuZHNQcmV2aW91c1Nh
bXBsZUR1cmF0aW9uKCkKIFNPRlRfTElOS19DT05TVEFOVF9GT1JfSEVBREVSKFBBTCwgQ29yZU1l
ZGlhLCBrQ01TYW1wbGVCdWZmZXJBdHRhY2htZW50S2V5X0dyYWR1YWxEZWNvZGVyUmVmcmVzaCwg
Q0ZTdHJpbmdSZWYpCiAjZGVmaW5lIGtDTVNhbXBsZUJ1ZmZlckF0dGFjaG1lbnRLZXlfR3JhZHVh
bERlY29kZXJSZWZyZXNoIGdldF9Db3JlTWVkaWFfa0NNU2FtcGxlQnVmZmVyQXR0YWNobWVudEtl
eV9HcmFkdWFsRGVjb2RlclJlZnJlc2goKQotU09GVF9MSU5LX0NPTlNUQU5UX0ZPUl9IRUFERVIo
UEFMLCBDb3JlTWVkaWEsIGdldF9Db3JlTWVkaWFfa0NNU2FtcGxlQnVmZmVyQXR0YWNobWVudEtl
eV9UcmltRHVyYXRpb25BdFN0YXJ0LCBDRlN0cmluZ1JlZikKLSNkZWZpbmUgZ2V0X0NvcmVNZWRp
YV9rQ01TYW1wbGVCdWZmZXJBdHRhY2htZW50S2V5X1RyaW1EdXJhdGlvbkF0U3RhcnQgZ2V0X0Nv
cmVNZWRpYV9rQ01TYW1wbGVCdWZmZXJBdHRhY2htZW50S2V5X1RyaW1EdXJhdGlvbkF0U3RhcnQo
KQorU09GVF9MSU5LX0NPTlNUQU5UX0ZPUl9IRUFERVIoUEFMLCBDb3JlTWVkaWEsIGtDTVNhbXBs
ZUJ1ZmZlckF0dGFjaG1lbnRLZXlfVHJpbUR1cmF0aW9uQXRTdGFydCwgQ0ZTdHJpbmdSZWYpCisj
ZGVmaW5lIGtDTVNhbXBsZUJ1ZmZlckF0dGFjaG1lbnRLZXlfVHJpbUR1cmF0aW9uQXRTdGFydCBn
ZXRfQ29yZU1lZGlhX2tDTVNhbXBsZUJ1ZmZlckF0dGFjaG1lbnRLZXlfVHJpbUR1cmF0aW9uQXRT
dGFydCgpCiAKIFNPRlRfTElOS19DT05TVEFOVF9GT1JfSEVBREVSKFBBTCwgQ29yZU1lZGlhLCBr
Q01UaW1lYmFzZU5vdGlmaWNhdGlvbl9FZmZlY3RpdmVSYXRlQ2hhbmdlZCwgQ0ZTdHJpbmdSZWYp
CiAjZGVmaW5lIGtDTVRpbWViYXNlTm90aWZpY2F0aW9uX0VmZmVjdGl2ZVJhdGVDaGFuZ2VkIGdl
dF9Db3JlTWVkaWFfa0NNVGltZWJhc2VOb3RpZmljYXRpb25fRWZmZWN0aXZlUmF0ZUNoYW5nZWQo
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY3YvSW1hZ2VU
cmFuc2ZlclNlc3Npb25WVC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY3Yv
SW1hZ2VUcmFuc2ZlclNlc3Npb25WVC5oCmluZGV4IGVjOTViZmI4MzRhZjNjY2UyMjc0YjVkZTVk
ZTc2YmYzMzMyMzZhY2UuLjkxNTliOWI2NzdhMDg1NTlhMzdhYjY4MDEwYTRkMTExM2FiNjcwYzUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2N2L0ltYWdlVHJh
bnNmZXJTZXNzaW9uVlQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
di9JbWFnZVRyYW5zZmVyU2Vzc2lvblZULmgKQEAgLTUxLDExICs1MSw5IEBAIHB1YmxpYzoKICAg
ICBSZWZQdHI8TWVkaWFTYW1wbGU+IGNyZWF0ZU1lZGlhU2FtcGxlKENHSW1hZ2VSZWYsIGNvbnN0
IE1lZGlhVGltZSYsIGNvbnN0IEludFNpemUmLCBNZWRpYVNhbXBsZTo6VmlkZW9Sb3RhdGlvbiA9
IE1lZGlhU2FtcGxlOjpWaWRlb1JvdGF0aW9uOjpOb25lLCBib29sIG1pcnJvcmVkID0gZmFsc2Up
OwogICAgIFJlZlB0cjxNZWRpYVNhbXBsZT4gY3JlYXRlTWVkaWFTYW1wbGUoQ01TYW1wbGVCdWZm
ZXJSZWYsIGNvbnN0IE1lZGlhVGltZSYsIGNvbnN0IEludFNpemUmLCBNZWRpYVNhbXBsZTo6Vmlk
ZW9Sb3RhdGlvbiA9IE1lZGlhU2FtcGxlOjpWaWRlb1JvdGF0aW9uOjpOb25lLCBib29sIG1pcnJv
cmVkID0gZmFsc2UpOwogCi0jaWYgIVBMQVRGT1JNKE1BQ0NBVEFMWVNUKQogICAgIFdFQkNPUkVf
RVhQT1JUIFJlZlB0cjxNZWRpYVNhbXBsZT4gY3JlYXRlTWVkaWFTYW1wbGUoSU9TdXJmYWNlUmVm
LCBjb25zdCBNZWRpYVRpbWUmLCBjb25zdCBJbnRTaXplJiwgTWVkaWFTYW1wbGU6OlZpZGVvUm90
YXRpb24gPSBNZWRpYVNhbXBsZTo6VmlkZW9Sb3RhdGlvbjo6Tm9uZSwgYm9vbCBtaXJyb3JlZCA9
IGZhbHNlKTsKICNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQogICAgIFdFQkNPUkVfRVhQT1JUIFJl
ZlB0cjxNZWRpYVNhbXBsZT4gY3JlYXRlTWVkaWFTYW1wbGUoY29uc3QgUmVtb3RlVmlkZW9TYW1w
bGUmKTsKLSNlbmRpZgogI2VuZGlmCiAKICAgICB1aW50MzJfdCBwaXhlbEZvcm1hdCgpIGNvbnN0
IHsgcmV0dXJuIG1fcGl4ZWxGb3JtYXQ7IH0KQEAgLTYzLDkgKzYxLDcgQEAgcHVibGljOgogcHJp
dmF0ZToKICAgICBXRUJDT1JFX0VYUE9SVCBleHBsaWNpdCBJbWFnZVRyYW5zZmVyU2Vzc2lvblZU
KHVpbnQzMl90IHBpeGVsRm9ybWF0KTsKIAotI2lmICFQTEFURk9STShNQUNDQVRBTFlTVCkKICAg
ICBSZXRhaW5QdHI8Q01TYW1wbGVCdWZmZXJSZWY+IGNyZWF0ZUNNU2FtcGxlQnVmZmVyKElPU3Vy
ZmFjZVJlZiwgY29uc3QgTWVkaWFUaW1lJiwgY29uc3QgSW50U2l6ZSYpOwotI2VuZGlmCiAKICAg
ICBSZXRhaW5QdHI8Q01TYW1wbGVCdWZmZXJSZWY+IGNvbnZlcnRDTVNhbXBsZUJ1ZmZlcihDTVNh
bXBsZUJ1ZmZlclJlZiwgY29uc3QgSW50U2l6ZSYsIGNvbnN0IE1lZGlhVGltZSogPSBudWxscHRy
KTsKICAgICBSZXRhaW5QdHI8Q01TYW1wbGVCdWZmZXJSZWY+IGNyZWF0ZUNNU2FtcGxlQnVmZmVy
KENWUGl4ZWxCdWZmZXJSZWYsIGNvbnN0IE1lZGlhVGltZSYsIGNvbnN0IEludFNpemUmKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2N2L0ltYWdlVHJhbnNm
ZXJTZXNzaW9uVlQubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jdi9JbWFn
ZVRyYW5zZmVyU2Vzc2lvblZULm1tCmluZGV4IGFiYjk5MjM5M2U1NzUzYjM2OWU3YzU1NDQ2YTEx
YmQwNzM3YWQ5NGIuLjdjNzIzNGRkZTk1YzQ2MWQ0ZmE0ODlhNDgyOTBkZjY4NjgyNmMxMjMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2N2L0ltYWdlVHJhbnNm
ZXJTZXNzaW9uVlQubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY3Yv
SW1hZ2VUcmFuc2ZlclNlc3Npb25WVC5tbQpAQCAtMzQsOSArMzQsNyBAQAogI2ltcG9ydCA8Q29y
ZU1lZGlhL0NNRm9ybWF0RGVzY3JpcHRpb24uaD4KICNpbXBvcnQgPENvcmVNZWRpYS9DTVNhbXBs
ZUJ1ZmZlci5oPgogCi0jaWYgIVBMQVRGT1JNKE1BQ0NBVEFMWVNUKQogI2ltcG9ydCA8cGFsL3Nw
aS9jb2NvYS9JT1N1cmZhY2VTUEkuaD4KLSNlbmRpZgogCiAjaW1wb3J0ICJDb3JlVmlkZW9Tb2Z0
TGluay5oIgogI2ltcG9ydCAiVmlkZW9Ub29sYm94U29mdExpbmsuaCIKQEAgLTYzLDcgKzYxLDcg
QEAgSW1hZ2VUcmFuc2ZlclNlc3Npb25WVDo6SW1hZ2VUcmFuc2ZlclNlc3Npb25WVCh1aW50MzJf
dCBwaXhlbEZvcm1hdCkKICAgICBpZiAoc3RhdHVzICE9IGtDVlJldHVyblN1Y2Nlc3MpCiAgICAg
ICAgIFJFTEVBU0VfTE9HKE1lZGlhLCAiSW1hZ2VUcmFuc2ZlclNlc3Npb25WVDo6SW1hZ2VUcmFu
c2ZlclNlc3Npb25WVDogVlRTZXNzaW9uU2V0UHJvcGVydHkoa1ZUUGl4ZWxUcmFuc2ZlclByb3Bl
cnR5S2V5X1JlYWxUaW1lKSBmYWlsZWQgd2l0aCBlcnJvciAlZCIsIHN0YXRpY19jYXN0PGludD4o
c3RhdHVzKSk7CiAKLSNpZiBQTEFURk9STShJT1NfRkFNSUxZKSAmJiAhUExBVEZPUk0oTUFDQ0FU
QUxZU1QpCisjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKICAgICBzdGF0dXMgPSBWVFNlc3Npb25T
ZXRQcm9wZXJ0eSh0cmFuc2ZlclNlc3Npb24sIGtWVFBpeGVsVHJhbnNmZXJQcm9wZXJ0eUtleV9F
bmFibGVIYXJkd2FyZUFjY2VsZXJhdGVkVHJhbnNmZXIsIEBZRVMpOwogICAgIGlmIChzdGF0dXMg
IT0ga0NWUmV0dXJuU3VjY2VzcykKICAgICAgICAgUkVMRUFTRV9MT0coTWVkaWEsICJJbWFnZVRy
YW5zZmVyU2Vzc2lvblZUOjpJbWFnZVRyYW5zZmVyU2Vzc2lvblZUOiBWVFNlc3Npb25TZXRQcm9w
ZXJ0eShrVlRQaXhlbFRyYW5zZmVyUHJvcGVydHlLZXlfRW5hYmxlSGFyZHdhcmVBY2NlbGVyYXRl
ZFRyYW5zZmVyKSBmYWlsZWQgd2l0aCBlcnJvciAlZCIsIHN0YXRpY19jYXN0PGludD4oc3RhdHVz
KSk7CkBAIC0yNDAsOCArMjM4LDYgQEAgUmV0YWluUHRyPENNU2FtcGxlQnVmZmVyUmVmPiBJbWFn
ZVRyYW5zZmVyU2Vzc2lvblZUOjpjcmVhdGVDTVNhbXBsZUJ1ZmZlcihDR0ltYWcKICAgICByZXR1
cm4gY3JlYXRlQ01TYW1wbGVCdWZmZXIocGl4ZWxCdWZmZXIuZ2V0KCksIHNhbXBsZVRpbWUsIHNp
emUpOwogfQogCi0jaWYgIVBMQVRGT1JNKE1BQ0NBVEFMWVNUKQotCiBSZXRhaW5QdHI8Q01TYW1w
bGVCdWZmZXJSZWY+IEltYWdlVHJhbnNmZXJTZXNzaW9uVlQ6OmNyZWF0ZUNNU2FtcGxlQnVmZmVy
KElPU3VyZmFjZVJlZiBzdXJmYWNlLCBjb25zdCBNZWRpYVRpbWUgJnNhbXBsZVRpbWUsIGNvbnN0
IEludFNpemUgJnNpemUpCiB7CiAgICAgaWYgKCFzdXJmYWNlIHx8ICFzZXRTaXplKHNpemUpKQpA
QCAtMjUyLDcgKzI0OCw2IEBAIFJldGFpblB0cjxDTVNhbXBsZUJ1ZmZlclJlZj4gSW1hZ2VUcmFu
c2ZlclNlc3Npb25WVDo6Y3JlYXRlQ01TYW1wbGVCdWZmZXIoSU9TdXJmCiAKICAgICByZXR1cm4g
Y3JlYXRlQ01TYW1wbGVCdWZmZXIocGl4ZWxCdWZmZXIuZ2V0KCksIHNhbXBsZVRpbWUsIHNpemUp
OwogfQotI2VuZGlmCiAKIFJlZlB0cjxNZWRpYVNhbXBsZT4gSW1hZ2VUcmFuc2ZlclNlc3Npb25W
VDo6Y29udmVydE1lZGlhU2FtcGxlKE1lZGlhU2FtcGxlJiBzYW1wbGUsIGNvbnN0IEludFNpemUm
IHNpemUpCiB7CkBAIC0yNjgsNyArMjYzLDYgQEAgUmVmUHRyPE1lZGlhU2FtcGxlPiBJbWFnZVRy
YW5zZmVyU2Vzc2lvblZUOjpjb252ZXJ0TWVkaWFTYW1wbGUoTWVkaWFTYW1wbGUmIHNhbXAKICAg
ICByZXR1cm4gTWVkaWFTYW1wbGVBVkZPYmpDOjpjcmVhdGUocmVzaXplZEJ1ZmZlci5nZXQoKSwg
c2FtcGxlLnZpZGVvUm90YXRpb24oKSwgc2FtcGxlLnZpZGVvTWlycm9yZWQoKSk7CiB9CiAKLSNp
ZiAhUExBVEZPUk0oTUFDQ0FUQUxZU1QpCiAjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKIFJlZlB0
cjxNZWRpYVNhbXBsZT4gSW1hZ2VUcmFuc2ZlclNlc3Npb25WVDo6Y3JlYXRlTWVkaWFTYW1wbGUo
Y29uc3QgUmVtb3RlVmlkZW9TYW1wbGUmIHJlbW90ZVNhbXBsZSkKIHsKQEAgLTI4NCw3ICsyNzgs
NiBAQCBSZWZQdHI8TWVkaWFTYW1wbGU+IEltYWdlVHJhbnNmZXJTZXNzaW9uVlQ6OmNyZWF0ZU1l
ZGlhU2FtcGxlKElPU3VyZmFjZVJlZiBzdXJmYQogCiAgICAgcmV0dXJuIE1lZGlhU2FtcGxlQVZG
T2JqQzo6Y3JlYXRlKHNhbXBsZUJ1ZmZlci5nZXQoKSwgcm90YXRpb24sIG1pcnJvcmVkKTsKIH0K
LSNlbmRpZgogCiBSZWZQdHI8TWVkaWFTYW1wbGU+IEltYWdlVHJhbnNmZXJTZXNzaW9uVlQ6OmNy
ZWF0ZU1lZGlhU2FtcGxlKENHSW1hZ2VSZWYgaW1hZ2UsIGNvbnN0IE1lZGlhVGltZSYgc2FtcGxl
VGltZSwgY29uc3QgSW50U2l6ZSYgc2l6ZSwgTWVkaWFTYW1wbGU6OlZpZGVvUm90YXRpb24gcm90
YXRpb24sIGJvb2wgbWlycm9yZWQpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tZWRpYXJlY29yZGVyL2NvY29hL0F1ZGlvU2FtcGxlQnVmZmVyQ29tcHJlc3Nvci5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9jb2NvYS9BdWRpb1NhbXBsZUJ1
ZmZlckNvbXByZXNzb3IuaAppbmRleCBhNmE1NTI0YmE2ZDM4MDk5ZWMyZmMzNGViY2I4YjBlNjUx
YjQ0YzQwLi5jNmNiMGM3ZjBmNGVhZGNkOGMxMjEzMzkyZWIyNWMyYTMzYmQ4YTlmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL2NvY29hL0F1ZGlvU2Ft
cGxlQnVmZmVyQ29tcHJlc3Nvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlh
cmVjb3JkZXIvY29jb2EvQXVkaW9TYW1wbGVCdWZmZXJDb21wcmVzc29yLmgKQEAgLTc5LDkgKzc5
LDkgQEAgcHJpdmF0ZToKICAgICBVSW50MzIgbV9tYXhPdXRwdXRQYWNrZXRTaXplIHsgMCB9Owog
ICAgIFZlY3RvcjxBdWRpb1N0cmVhbVBhY2tldERlc2NyaXB0aW9uPiBtX2Rlc3RpbmF0aW9uUGFj
a2V0RGVzY3JpcHRpb25zOwogCi0gICAgQ01UaW1lIG1fY3VycmVudE5hdGl2ZVByZXNlbnRhdGlv
blRpbWVTdGFtcCB7IGtDTVRpbWVJbnZhbGlkIH07Ci0gICAgQ01UaW1lIG1fY3VycmVudE91dHB1
dFByZXNlbnRhdGlvblRpbWVTdGFtcCB7IGtDTVRpbWVJbnZhbGlkIH07Ci0gICAgQ01UaW1lIG1f
cmVtYWluaW5nUHJpbWVEdXJhdGlvbiB7IGtDTVRpbWVJbnZhbGlkIH07CisgICAgQ01UaW1lIG1f
Y3VycmVudE5hdGl2ZVByZXNlbnRhdGlvblRpbWVTdGFtcDsKKyAgICBDTVRpbWUgbV9jdXJyZW50
T3V0cHV0UHJlc2VudGF0aW9uVGltZVN0YW1wOworICAgIENNVGltZSBtX3JlbWFpbmluZ1ByaW1l
RHVyYXRpb247CiAKICAgICBWZWN0b3I8dWludDhfdD4gbV9zb3VyY2VCdWZmZXI7CiAgICAgVmVj
dG9yPHVpbnQ4X3Q+IG1fZGVzdGluYXRpb25CdWZmZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL2NvY29hL0F1ZGlvU2FtcGxlQnVmZmVyQ29tcHJl
c3Nvci5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhcmVjb3JkZXIvY29jb2EvQXVk
aW9TYW1wbGVCdWZmZXJDb21wcmVzc29yLm1tCmluZGV4IGRjMGIwMTYwMmU3ZDNlZGI4NTY4MThi
MDM5MzU3M2Q0NmFlZTZkYjMuLjc2OTcwMzcyMzVmN2YwNjkwY2Y1MmMzYTMzZDk2YTRkZTA3ZDA5
NDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhcmVjb3JkZXIvY29j
b2EvQXVkaW9TYW1wbGVCdWZmZXJDb21wcmVzc29yLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21lZGlhcmVjb3JkZXIvY29jb2EvQXVkaW9TYW1wbGVCdWZmZXJDb21wcmVzc29yLm1t
CkBAIC01MSw4ICs1MSwxMSBAQCBzdGQ6OnVuaXF1ZV9wdHI8QXVkaW9TYW1wbGVCdWZmZXJDb21w
cmVzc29yPiBBdWRpb1NhbXBsZUJ1ZmZlckNvbXByZXNzb3I6OmNyZWF0ZQogfQogCiBBdWRpb1Nh
bXBsZUJ1ZmZlckNvbXByZXNzb3I6OkF1ZGlvU2FtcGxlQnVmZmVyQ29tcHJlc3NvcigpCi0gICAg
OiBtX3NlcmlhbERpc3BhdGNoUXVldWUoV29ya1F1ZXVlOjpjcmVhdGUoImNvbS5hcHBsZS5BdWRp
b1NhbXBsZUJ1ZmZlckNvbXByZXNzb3IiKSkKLSAgICAsIG1fbG93V2F0ZXJUaW1lKFBBTDo6Q01U
aW1lTWFrZVdpdGhTZWNvbmRzKExPV19XQVRFUl9USU1FX0lOX1NFQ09ORFMsIDEwMDApKQorICAg
IDogbV9zZXJpYWxEaXNwYXRjaFF1ZXVlIHsgV29ya1F1ZXVlOjpjcmVhdGUoImNvbS5hcHBsZS5B
dWRpb1NhbXBsZUJ1ZmZlckNvbXByZXNzb3IiKSB9CisgICAgLCBtX2xvd1dhdGVyVGltZSB7IFBB
TDo6Q01UaW1lTWFrZVdpdGhTZWNvbmRzKExPV19XQVRFUl9USU1FX0lOX1NFQ09ORFMsIDEwMDAp
IH0KKyAgICAsIG1fY3VycmVudE5hdGl2ZVByZXNlbnRhdGlvblRpbWVTdGFtcCB7IFBBTDo6a0NN
VGltZUludmFsaWQgfQorICAgICwgbV9jdXJyZW50T3V0cHV0UHJlc2VudGF0aW9uVGltZVN0YW1w
IHsgUEFMOjprQ01UaW1lSW52YWxpZCB9CisgICAgLCBtX3JlbWFpbmluZ1ByaW1lRHVyYXRpb24g
eyBQQUw6OmtDTVRpbWVJbnZhbGlkIH0KIHsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9jb2NvYS9WaWRlb1NhbXBsZUJ1ZmZlckNvbXByZXNz
b3IubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL2NvY29hL1ZpZGVv
U2FtcGxlQnVmZmVyQ29tcHJlc3Nvci5tbQppbmRleCBiODlkZjA0NGQ3NGNiMTA3ZTZkY2E4YTlk
MmVmYmYyMWJlNDUxMWQxLi5iZjU3MWFhNDY3YWI3ZjM5MGYwNDQ2YjE1MWU1MTczOTJlMzNjMmJj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL2NvY29h
L1ZpZGVvU2FtcGxlQnVmZmVyQ29tcHJlc3Nvci5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tZWRpYXJlY29yZGVyL2NvY29hL1ZpZGVvU2FtcGxlQnVmZmVyQ29tcHJlc3Nvci5tbQpA
QCAtMzIsMTAgKzMyLDEwIEBACiAjaW1wb3J0IDxDb3JlTWVkaWEvQ29yZU1lZGlhLmg+CiAjaW1w
b3J0IDxGb3VuZGF0aW9uL0ZvdW5kYXRpb24uaD4KICNpbXBvcnQgPFZpZGVvVG9vbGJveC9WVENv
bXByZXNzaW9uU2Vzc2lvbi5oPgotI2ltcG9ydCA8d3RmL1NvZnRMaW5raW5nLmg+CiAKICNpbXBv
cnQgPHBhbC9jZi9Db3JlTWVkaWFTb2Z0TGluay5oPgogI2ltcG9ydCA8cGFsL2NmL1ZpZGVvVG9v
bGJveFNvZnRMaW5rLmg+CisjaW1wb3J0ICJWaWRlb1Rvb2xib3hTb2Z0TGluay5oIgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21l
ZGlhc3RyZWFtL2NvY29hL0F1ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRlcmVyQ29jb2EuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vY29jb2EvQXVkaW9NZWRpYVN0cmVh
bVRyYWNrUmVuZGVyZXJDb2NvYS5jcHAKaW5kZXggMDUwZTg5MzM2OWFjZjIyNmY3ZTQyZTNmYTRi
MzRiOTI0OTZmMWIzNC4uYjJlZDllMDkwMjFmNGFkODBlZmRmNjFiMjVhMWQ5YTA0NDZkZWNmZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vY29jb2EvQXVk
aW9NZWRpYVN0cmVhbVRyYWNrUmVuZGVyZXJDb2NvYS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWVkaWFzdHJlYW0vY29jb2EvQXVkaW9NZWRpYVN0cmVhbVRyYWNrUmVuZGVyZXJD
b2NvYS5jcHAKQEAgLTYyLDggKzYyLDEwIEBAIHZvaWQgQXVkaW9NZWRpYVN0cmVhbVRyYWNrUmVu
ZGVyZXJDb2NvYTo6c3RhcnQoQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmIGNhbGxiCiAKIEJh
c2VBdWRpb01lZGlhU3RyZWFtVHJhY2tSZW5kZXJlclVuaXQmIEF1ZGlvTWVkaWFTdHJlYW1UcmFj
a1JlbmRlcmVyQ29jb2E6OnJlbmRlcmVyVW5pdCgpCiB7CisjaWYgVVNFKExJQldFQlJUQykKICAg
ICBpZiAoYXV0byogYXVkaW9Nb2R1bGUgPSB0aGlzLT5hdWRpb01vZHVsZSgpKQogICAgICAgICBy
ZXR1cm4gYXVkaW9Nb2R1bGUtPmluY29taW5nQXVkaW9NZWRpYVN0cmVhbVRyYWNrUmVuZGVyZXJV
bml0KCk7CisjZW5kaWYKICAgICByZXR1cm4gQXVkaW9NZWRpYVN0cmVhbVRyYWNrUmVuZGVyZXJV
bml0OjpzaW5nbGV0b24oKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbWVkaWFzdHJlYW0vY29jb2EvRGlzcGxheUNhcHR1cmVTb3VyY2VDb2NvYS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9jb2NvYS9EaXNwbGF5Q2FwdHVyZVNvdXJj
ZUNvY29hLmNwcAppbmRleCBjOWI5MjQyMTNkNWFlMDc4MmM4YmE2ZTgyYzBkMTlkMjI0MWMxYmU3
Li4zMGZkMDk1NTEzYjQ0NTNlYWQxZWQ2ZjA1YzgzODQyZDgwM2Y0NTc0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9jb2NvYS9EaXNwbGF5Q2FwdHVyZVNv
dXJjZUNvY29hLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9j
b2NvYS9EaXNwbGF5Q2FwdHVyZVNvdXJjZUNvY29hLmNwcApAQCAtNjAsOCArNjAsMTIgQEAgQ2Fw
dHVyZVNvdXJjZU9yRXJyb3IgRGlzcGxheUNhcHR1cmVTb3VyY2VDb2NvYTo6Y3JlYXRlKGNvbnN0
IENhcHR1cmVEZXZpY2UmIGRldmkKICAgICBjYXNlIENhcHR1cmVEZXZpY2U6OkRldmljZVR5cGU6
OlNjcmVlbjoKICNpZiBQTEFURk9STShJT1MpCiAgICAgICAgIHJldHVybiBjcmVhdGUoUmVwbGF5
S2l0Q2FwdHVyZVNvdXJjZTo6Y3JlYXRlKGRldmljZS5wZXJzaXN0ZW50SWQoKSksIGRldmljZSwg
V1RGTW92ZShoYXNoU2FsdCksIGNvbnN0cmFpbnRzKTsKLSNlbHNlCisjZWxzaWYgIVBMQVRGT1JN
KE1BQ0NBVEFMWVNUKQogICAgICAgICByZXR1cm4gY3JlYXRlKENHRGlzcGxheVN0cmVhbVNjcmVl
bkNhcHR1cmVTb3VyY2U6OmNyZWF0ZShkZXZpY2UucGVyc2lzdGVudElkKCkpLCBkZXZpY2UsIFdU
Rk1vdmUoaGFzaFNhbHQpLCBjb25zdHJhaW50cyk7CisjZWxzZQorICAgICAgICBVTlVTRURfUEFS
QU0oaGFzaFNhbHQpOworICAgICAgICBVTlVTRURfUEFSQU0oY29uc3RyYWludHMpOworICAgICAg
ICBGQUxMVEhST1VHSDsKICNlbmRpZgogICAgIGNhc2UgQ2FwdHVyZURldmljZTo6RGV2aWNlVHlw
ZTo6V2luZG93OgogICAgIGNhc2UgQ2FwdHVyZURldmljZTo6RGV2aWNlVHlwZTo6TWljcm9waG9u
ZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2NvY29h
L0luY29taW5nQXVkaW9NZWRpYVN0cmVhbVRyYWNrUmVuZGVyZXJVbml0LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2NvY29hL0luY29taW5nQXVkaW9NZWRpYVN0cmVh
bVRyYWNrUmVuZGVyZXJVbml0LmNwcAppbmRleCA5Mjk4OWVmZmJjZTg4OTQ4MDA5YzNmMDEyNjk5
MzMwOTNkYWQ0MDc0Li41Zjg3OTljYjFhNDM5NGU4MGRhNWZiYmM2NjA5ZGU1NDlmYjdmZjRkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9jb2NvYS9JbmNv
bWluZ0F1ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRlcmVyVW5pdC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vY29jb2EvSW5jb21pbmdBdWRpb01lZGlhU3RyZWFt
VHJhY2tSZW5kZXJlclVuaXQuY3BwCkBAIC0yNiw3ICsyNiw3IEBACiAjaW5jbHVkZSAiY29uZmln
LmgiCiAjaW5jbHVkZSAiSW5jb21pbmdBdWRpb01lZGlhU3RyZWFtVHJhY2tSZW5kZXJlclVuaXQu
aCIKIAotI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkg
JiYgVVNFKExJQldFQlJUQykKIAogI2luY2x1ZGUgIkF1ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRl
cmVyVW5pdC5oIgogI2luY2x1ZGUgIkF1ZGlvU2FtcGxlRGF0YVNvdXJjZS5oIgpAQCAtMjAwLDQg
KzIwMCw0IEBAIGNvbnN0IHZvaWQqIEluY29taW5nQXVkaW9NZWRpYVN0cmVhbVRyYWNrUmVuZGVy
ZXJVbml0Ojpsb2dJZGVudGlmaWVyKCkgY29uc3QKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQog
Ci0jZW5kaWYgLy8gRU5BQkxFKE1FRElBX1NUUkVBTSkKKyNlbmRpZiAvLyBFTkFCTEUoTUVESUFf
U1RSRUFNKSAmJiBVU0UoTElCV0VCUlRDKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbWVkaWFzdHJlYW0vY29jb2EvSW5jb21pbmdBdWRpb01lZGlhU3RyZWFtVHJhY2tSZW5k
ZXJlclVuaXQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2NvY29hL0lu
Y29taW5nQXVkaW9NZWRpYVN0cmVhbVRyYWNrUmVuZGVyZXJVbml0LmgKaW5kZXggYzYwZjk5ODc5
YTA5MGQzMDQ5MjUyZDU4YTg5NjM3YWVlMTExNWUxNi4uYmY4NDJlNTEyYWZkMWUyNDNhMzFiODUx
NTZhNjRkNTg2MmM5MDQ0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVk
aWFzdHJlYW0vY29jb2EvSW5jb21pbmdBdWRpb01lZGlhU3RyZWFtVHJhY2tSZW5kZXJlclVuaXQu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9jb2NvYS9JbmNvbWlu
Z0F1ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRlcmVyVW5pdC5oCkBAIC0yNSw3ICsyNSw3IEBACiAK
ICNwcmFnbWEgb25jZQogCi0jaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKKyNpZiBFTkFCTEUoTUVE
SUFfU1RSRUFNKSAmJiBVU0UoTElCV0VCUlRDKQogCiAjaW5jbHVkZSAiQmFzZUF1ZGlvTWVkaWFT
dHJlYW1UcmFja1JlbmRlcmVyVW5pdC5oIgogI2luY2x1ZGUgIkNBQXVkaW9TdHJlYW1EZXNjcmlw
dGlvbi5oIgpAQCAtMTAyLDQgKzEwMiw0IEBAIHByaXZhdGU6CiAKIH0KIAotI2VuZGlmIC8vIEVO
QUJMRShNRURJQV9TVFJFQU0pCisjZW5kaWYgLy8gRU5BQkxFKE1FRElBX1NUUkVBTSkgJiYgVVNF
KExJQldFQlJUQykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3Ry
ZWFtL21hYy9BVlZpZGVvQ2FwdHVyZVNvdXJjZS5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21lZGlhc3RyZWFtL21hYy9BVlZpZGVvQ2FwdHVyZVNvdXJjZS5tbQppbmRleCAyZGRkN2M3YWFi
ZTcwMDk1OTk4YjcyYjMwZGY0NGJlMDkyNzU3ZjFkLi5kZmM1NjY0YWJiMGM3YjAxOTM4NTYyNjgz
NDIzMGFjZmI5ZmQyOGRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRp
YXN0cmVhbS9tYWMvQVZWaWRlb0NhcHR1cmVTb3VyY2UubW0KKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0FWVmlkZW9DYXB0dXJlU291cmNlLm1tCkBAIC00MjMs
NyArNDIzLDcgQEAgYm9vbCBBVlZpZGVvQ2FwdHVyZVNvdXJjZTo6c2V0dXBTZXNzaW9uKCkKIAog
ICAgIEFMV0FZU19MT0dfSUYobG9nZ2VyUHRyKCksIExPR0lERU5USUZJRVIpOwogCi0jaWYgRU5B
QkxFKEFQUF9QUklWQUNZX1JFUE9SVCkKKyNpZiBFTkFCTEUoQVBQX1BSSVZBQ1lfUkVQT1JUKSAm
JiAhUExBVEZPUk0oTUFDQ0FUQUxZU1QpCiAgICAgYXV0byBpZGVudGl0eSA9IFJlYWx0aW1lTWVk
aWFTb3VyY2VDZW50ZXI6OnNpbmdsZXRvbigpLmlkZW50aXR5KCk7CiAgICAgaWYgKGlkZW50aXR5
ICYmIFtQQUw6OmFsbG9jQVZDYXB0dXJlU2Vzc2lvbkluc3RhbmNlKCkgcmVzcG9uZHNUb1NlbGVj
dG9yOkBzZWxlY3Rvcihpbml0V2l0aEFzc3VtZWRJZGVudGl0eTopXSkKICAgICAgICAgbV9zZXNz
aW9uID0gYWRvcHROUyhbUEFMOjphbGxvY0FWQ2FwdHVyZVNlc3Npb25JbnN0YW5jZSgpIGluaXRX
aXRoQXNzdW1lZElkZW50aXR5OmlkZW50aXR5LmdldCgpXSk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVJbmNvbWluZ1ZpZGVvU291
cmNlQ29jb2EuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFs
dGltZUluY29taW5nVmlkZW9Tb3VyY2VDb2NvYS5oCmluZGV4IGQwZmU4ZTA2NTgyMmY4MDdlYmI0
ZDY1YTMwN2I0YmVjMGI4ZmFhNjIuLmI4ZTRmYzljOWI0NDEyNWMxNTRjY2E3NTE1ZjJlMmU5Y2Ni
NzFmYzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21h
Yy9SZWFsdGltZUluY29taW5nVmlkZW9Tb3VyY2VDb2NvYS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGltZUluY29taW5nVmlkZW9Tb3VyY2VDb2Nv
YS5oCkBAIC0yNywyMCArMjcsMjEgQEAKIAogI3ByYWdtYSBvbmNlCiAKLSNpZiBVU0UoTElCV0VC
UlRDKQotCiAjaW5jbHVkZSAiUmVhbHRpbWVJbmNvbWluZ1ZpZGVvU291cmNlLmgiCiAKIHVzaW5n
IENNU2FtcGxlQnVmZmVyUmVmID0gc3RydWN0IG9wYXF1ZUNNU2FtcGxlQnVmZmVyKjsKIHVzaW5n
IENWUGl4ZWxCdWZmZXJQb29sUmVmID0gc3RydWN0IF9fQ1ZQaXhlbEJ1ZmZlclBvb2wqOwogdXNp
bmcgQ1ZQaXhlbEJ1ZmZlclJlZiA9IHN0cnVjdCBfX0NWQnVmZmVyKjsKIAorI2lmIFVTRShMSUJX
RUJSVEMpCiBuYW1lc3BhY2Ugd2VicnRjIHsKIGVudW0gY2xhc3MgQnVmZmVyVHlwZTsKIH07Cisj
ZW5kaWYKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCisjaWYgVVNFKExJQldFQlJUQykKIGNsYXNz
IFJlYWx0aW1lSW5jb21pbmdWaWRlb1NvdXJjZUNvY29hIGZpbmFsIDogcHVibGljIFJlYWx0aW1l
SW5jb21pbmdWaWRlb1NvdXJjZSB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxSZWFsdGltZUlu
Y29taW5nVmlkZW9Tb3VyY2VDb2NvYT4gY3JlYXRlKHJ0Yzo6c2NvcGVkX3JlZnB0cjx3ZWJydGM6
OlZpZGVvVHJhY2tJbnRlcmZhY2U+JiYsIFN0cmluZyYmKTsKQEAgLTY0LDkgKzY1LDggQEAgcHJp
dmF0ZToKICAgICBzaXplX3QgbV9waXhlbEJ1ZmZlclBvb2xIZWlnaHQgeyAwIH07CiAgICAgd2Vi
cnRjOjpCdWZmZXJUeXBlIG1fcGl4ZWxCdWZmZXJQb29sQnVmZmVyVHlwZTsKIH07CisjZW5kaWYg
Ly8gVVNFKExJQldFQlJUQykKIAogV0VCQ09SRV9FWFBPUlQgUmV0YWluUHRyPENWUGl4ZWxCdWZm
ZXJSZWY+IGNyZWF0ZUJsYWNrUGl4ZWxCdWZmZXIoc2l6ZV90IHdpZHRoLCBzaXplX3QgaGVpZ2h0
KTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYgLy8gVVNFKExJQldFQlJUQykK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFs
dGltZUluY29taW5nVmlkZW9Tb3VyY2VDb2NvYS5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21lZGlhc3RyZWFtL21hYy9SZWFsdGltZUluY29taW5nVmlkZW9Tb3VyY2VDb2NvYS5tbQppbmRl
eCA5ZjA2NzBjMjBiOGE0YjhiMjc0NmEyODBjMzcxMzQ2ODNjYjdlZTFiLi5iNTA4ZDU2YTY5NzQ5
MzEyZDcwNzNhNDBjNWVkOGJmNTk2NjBjODNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVJbmNvbWluZ1ZpZGVvU291cmNlQ29jb2Eu
bW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1l
SW5jb21pbmdWaWRlb1NvdXJjZUNvY29hLm1tCkBAIC0yOCwxNCArMjgsMTQgQEAKICNpbXBvcnQg
ImNvbmZpZy5oIgogI2ltcG9ydCAiUmVhbHRpbWVJbmNvbWluZ1ZpZGVvU291cmNlQ29jb2EuaCIK
IAotI2lmIFVTRShMSUJXRUJSVEMpCi0KICNpbXBvcnQgIkNWVXRpbGl0aWVzLmgiCiAjaW1wb3J0
ICJMb2dnaW5nLmgiCiAjaW1wb3J0ICJNZWRpYVNhbXBsZUFWRk9iakMuaCIKICNpbXBvcnQgIlJl
YWx0aW1lVmlkZW9VdGlsaXRpZXMuaCIKICNpbXBvcnQgPHd0Zi9jZi9UeXBlQ2FzdHNDRi5oPgog
CisjaWYgVVNFKExJQldFQlJUQykKKwogQUxMT1dfVU5VU0VEX1BBUkFNRVRFUlNfQkVHSU4KICNp
bXBvcnQgPHdlYnJ0Yy9zZGsvV2ViS2l0L1dlYktpdFV0aWxpdGllcy5oPgogQUxMT1dfVU5VU0VE
X1BBUkFNRVRFUlNfRU5ECkBAIC00Myw4ICs0MywxMiBAQCBBTExPV19VTlVTRURfUEFSQU1FVEVS
U19FTkQKICNpbXBvcnQgIkNvcmVWaWRlb1NvZnRMaW5rLmgiCiAjaW1wb3J0IDxwYWwvY2YvQ29y
ZU1lZGlhU29mdExpbmsuaD4KIAorI2VuZGlmCisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorI2lm
IFVTRShMSUJXRUJSVEMpCisKIFJlZjxSZWFsdGltZUluY29taW5nVmlkZW9Tb3VyY2U+IFJlYWx0
aW1lSW5jb21pbmdWaWRlb1NvdXJjZTo6Y3JlYXRlKHJ0Yzo6c2NvcGVkX3JlZnB0cjx3ZWJydGM6
OlZpZGVvVHJhY2tJbnRlcmZhY2U+JiYgdmlkZW9UcmFjaywgU3RyaW5nJiYgdHJhY2tJZCkKIHsK
ICAgICBhdXRvIHNvdXJjZSA9IFJlYWx0aW1lSW5jb21pbmdWaWRlb1NvdXJjZUNvY29hOjpjcmVh
dGUoV1RGTW92ZSh2aWRlb1RyYWNrKSwgV1RGTW92ZSh0cmFja0lkKSk7CkBAIC02MiwzMyArNjYs
NiBAQCBSZWFsdGltZUluY29taW5nVmlkZW9Tb3VyY2VDb2NvYTo6UmVhbHRpbWVJbmNvbWluZ1Zp
ZGVvU291cmNlQ29jb2EocnRjOjpzY29wZWRfcgogewogfQogCi1SZXRhaW5QdHI8Q1ZQaXhlbEJ1
ZmZlclJlZj4gY3JlYXRlQmxhY2tQaXhlbEJ1ZmZlcihzaXplX3Qgd2lkdGgsIHNpemVfdCBoZWln
aHQpCi17Ci0gICAgT1NUeXBlIGZvcm1hdCA9IHByZWZlcmVkUGl4ZWxCdWZmZXJGb3JtYXQoKTsK
LSAgICBBU1NFUlQoZm9ybWF0ID09IGtDVlBpeGVsRm9ybWF0VHlwZV80MjBZcENiQ3I4QmlQbGFu
YXJWaWRlb1JhbmdlIHx8IGZvcm1hdCA9PSBrQ1ZQaXhlbEZvcm1hdFR5cGVfNDIwWXBDYkNyOEJp
UGxhbmFyRnVsbFJhbmdlKTsKLQotICAgIENWUGl4ZWxCdWZmZXJSZWYgcGl4ZWxCdWZmZXIgPSBu
dWxscHRyOwotICAgIGF1dG8gc3RhdHVzID0gQ1ZQaXhlbEJ1ZmZlckNyZWF0ZShrQ0ZBbGxvY2F0
b3JEZWZhdWx0LCB3aWR0aCwgaGVpZ2h0LCBmb3JtYXQsIG51bGxwdHIsICZwaXhlbEJ1ZmZlcik7
Ci0gICAgQVNTRVJUX1VOVVNFRChzdGF0dXMsIHN0YXR1cyA9PSBub0Vycik7Ci0KLSAgICBzdGF0
dXMgPSBDVlBpeGVsQnVmZmVyTG9ja0Jhc2VBZGRyZXNzKHBpeGVsQnVmZmVyLCAwKTsKLSAgICBB
U1NFUlQoc3RhdHVzID09IG5vRXJyKTsKLQotICAgIGF1dG8qIHlQbGFuZSA9IHN0YXRpY19jYXN0
PHVpbnQ4X3QqPihDVlBpeGVsQnVmZmVyR2V0QmFzZUFkZHJlc3NPZlBsYW5lKHBpeGVsQnVmZmVy
LCAwKSk7Ci0gICAgc2l6ZV90IHlTdHJpZGUgPSBDVlBpeGVsQnVmZmVyR2V0Qnl0ZXNQZXJSb3dP
ZlBsYW5lKHBpeGVsQnVmZmVyLCAwKTsKLSAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgaGVp
Z2h0OyArK2kpCi0gICAgICAgIG1lbXNldCgmeVBsYW5lW2kgKiB5U3RyaWRlXSwgMCwgd2lkdGgp
OwotCi0gICAgYXV0byogdXZQbGFuZSA9IHN0YXRpY19jYXN0PHVpbnQ4X3QqPihDVlBpeGVsQnVm
ZmVyR2V0QmFzZUFkZHJlc3NPZlBsYW5lKHBpeGVsQnVmZmVyLCAxKSk7Ci0gICAgc2l6ZV90IHV2
U3RyaWRlID0gQ1ZQaXhlbEJ1ZmZlckdldEJ5dGVzUGVyUm93T2ZQbGFuZShwaXhlbEJ1ZmZlciwg
MSk7Ci0gICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGhlaWdodCAvIDI7ICsraSkKLSAgICAg
ICAgbWVtc2V0KCZ1dlBsYW5lW2kgKiB1dlN0cmlkZV0sIDEyOCwgd2lkdGgpOwotCi0gICAgc3Rh
dHVzID0gQ1ZQaXhlbEJ1ZmZlclVubG9ja0Jhc2VBZGRyZXNzKHBpeGVsQnVmZmVyLCAwKTsKLSAg
ICBBU1NFUlQoIXN0YXR1cyk7Ci0gICAgcmV0dXJuIGFkb3B0Q0YocGl4ZWxCdWZmZXIpOwotfQot
CiBDVlBpeGVsQnVmZmVyUG9vbFJlZiBSZWFsdGltZUluY29taW5nVmlkZW9Tb3VyY2VDb2NvYTo6
cGl4ZWxCdWZmZXJQb29sKHNpemVfdCB3aWR0aCwgc2l6ZV90IGhlaWdodCwgd2VicnRjOjpCdWZm
ZXJUeXBlIGJ1ZmZlclR5cGUpCiB7CiAgICAgaWYgKCFtX3BpeGVsQnVmZmVyUG9vbCB8fCBtX3Bp
eGVsQnVmZmVyUG9vbFdpZHRoICE9IHdpZHRoIHx8IG1fcGl4ZWxCdWZmZXJQb29sSGVpZ2h0ICE9
IGhlaWdodCB8fCBtX3BpeGVsQnVmZmVyUG9vbEJ1ZmZlclR5cGUgIT0gYnVmZmVyVHlwZSkgewpA
QCAtMjAwLDYgKzE3NywzMyBAQCB2b2lkIFJlYWx0aW1lSW5jb21pbmdWaWRlb1NvdXJjZUNvY29h
OjpPbkZyYW1lKGNvbnN0IHdlYnJ0Yzo6VmlkZW9GcmFtZSYgZnJhbWUpCiAgICAgdmlkZW9TYW1w
bGVBdmFpbGFibGUoTWVkaWFTYW1wbGVBVkZPYmpDOjpjcmVhdGUoc2FtcGxlLmdldCgpLCByb3Rh
dGlvbiksIG1ldGFkYXRhRnJvbVZpZGVvRnJhbWUoZnJhbWUpKTsKIH0KIAotfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQotCiAjZW5kaWYgLy8gVVNFKExJQldFQlJUQykKKworUmV0YWluUHRyPENWUGl4
ZWxCdWZmZXJSZWY+IGNyZWF0ZUJsYWNrUGl4ZWxCdWZmZXIoc2l6ZV90IHdpZHRoLCBzaXplX3Qg
aGVpZ2h0KQoreworICAgIE9TVHlwZSBmb3JtYXQgPSBwcmVmZXJlZFBpeGVsQnVmZmVyRm9ybWF0
KCk7CisgICAgQVNTRVJUKGZvcm1hdCA9PSBrQ1ZQaXhlbEZvcm1hdFR5cGVfNDIwWXBDYkNyOEJp
UGxhbmFyVmlkZW9SYW5nZSB8fCBmb3JtYXQgPT0ga0NWUGl4ZWxGb3JtYXRUeXBlXzQyMFlwQ2JD
cjhCaVBsYW5hckZ1bGxSYW5nZSk7CisKKyAgICBDVlBpeGVsQnVmZmVyUmVmIHBpeGVsQnVmZmVy
ID0gbnVsbHB0cjsKKyAgICBhdXRvIHN0YXR1cyA9IENWUGl4ZWxCdWZmZXJDcmVhdGUoa0NGQWxs
b2NhdG9yRGVmYXVsdCwgd2lkdGgsIGhlaWdodCwgZm9ybWF0LCBudWxscHRyLCAmcGl4ZWxCdWZm
ZXIpOworICAgIEFTU0VSVF9VTlVTRUQoc3RhdHVzLCBzdGF0dXMgPT0gbm9FcnIpOworCisgICAg
c3RhdHVzID0gQ1ZQaXhlbEJ1ZmZlckxvY2tCYXNlQWRkcmVzcyhwaXhlbEJ1ZmZlciwgMCk7Cisg
ICAgQVNTRVJUKHN0YXR1cyA9PSBub0Vycik7CisKKyAgICBhdXRvKiB5UGxhbmUgPSBzdGF0aWNf
Y2FzdDx1aW50OF90Kj4oQ1ZQaXhlbEJ1ZmZlckdldEJhc2VBZGRyZXNzT2ZQbGFuZShwaXhlbEJ1
ZmZlciwgMCkpOworICAgIHNpemVfdCB5U3RyaWRlID0gQ1ZQaXhlbEJ1ZmZlckdldEJ5dGVzUGVy
Um93T2ZQbGFuZShwaXhlbEJ1ZmZlciwgMCk7CisgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8
IGhlaWdodDsgKytpKQorICAgICAgICBtZW1zZXQoJnlQbGFuZVtpICogeVN0cmlkZV0sIDAsIHdp
ZHRoKTsKKworICAgIGF1dG8qIHV2UGxhbmUgPSBzdGF0aWNfY2FzdDx1aW50OF90Kj4oQ1ZQaXhl
bEJ1ZmZlckdldEJhc2VBZGRyZXNzT2ZQbGFuZShwaXhlbEJ1ZmZlciwgMSkpOworICAgIHNpemVf
dCB1dlN0cmlkZSA9IENWUGl4ZWxCdWZmZXJHZXRCeXRlc1BlclJvd09mUGxhbmUocGl4ZWxCdWZm
ZXIsIDEpOworICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBoZWlnaHQgLyAyOyArK2kpCisg
ICAgICAgIG1lbXNldCgmdXZQbGFuZVtpICogdXZTdHJpZGVdLCAxMjgsIHdpZHRoKTsKKworICAg
IHN0YXR1cyA9IENWUGl4ZWxCdWZmZXJVbmxvY2tCYXNlQWRkcmVzcyhwaXhlbEJ1ZmZlciwgMCk7
CisgICAgQVNTRVJUKCFzdGF0dXMpOworICAgIHJldHVybiBhZG9wdENGKHBpeGVsQnVmZmVyKTsK
K30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9D
b25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZyBiL1NvdXJjZS9XZWJLaXQvQ29u
ZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKaW5kZXggMjFhNWQyOTE1OGQyMTQ1
NGNmZDFmYjUxZmY3MzNkYzY3YmQwN2QwZS4uMTRlZGQ5MmViZjhlNWRiODAxNzdkMDhjMjBmNDUx
YTVlOTg4N2YxNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9Db25maWd1cmF0aW9ucy9GZWF0
dXJlRGVmaW5lcy54Y2NvbmZpZworKysgYi9Tb3VyY2UvV2ViS2l0L0NvbmZpZ3VyYXRpb25zL0Zl
YXR1cmVEZWZpbmVzLnhjY29uZmlnCkBAIC00NCwzICs0NCw0IEBAIEVOQUJMRV9XRUJfUlRDID0g
JChFTkFCTEVfV0VCX1JUQ18kKFdLX1BMQVRGT1JNX05BTUUpKTsKIEVOQUJMRV9XRUJfUlRDX2lw
aG9uZW9zID0gRU5BQkxFX1dFQl9SVEM7CiBFTkFCTEVfV0VCX1JUQ19pcGhvbmVzaW11bGF0b3Ig
PSBFTkFCTEVfV0VCX1JUQzsKIEVOQUJMRV9XRUJfUlRDX21hY29zeCA9IEVOQUJMRV9XRUJfUlRD
OworRU5BQkxFX1dFQl9SVENfbWFjY2F0YWx5c3QgPSBFTkFCTEVfV0VCX1JUQzsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy93ZWJydGMvTGliV2ViUlRDQ29kZWNzUHJveHku
bW0gYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mvd2VicnRjL0xpYldlYlJUQ0NvZGVjc1Byb3h5
Lm1tCmluZGV4IDMwZmEzMGNiM2RjOWM5YjQwMWYwYzRlY2ZjZTIxMDgxZWM0NmU1YzEuLjZkMTdl
NDViOTgwZWZmYzA0OGEzMTQ2NGY4ZGM0YzYyNDA3NjliOGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvR1BVUHJvY2Vzcy93ZWJydGMvTGliV2ViUlRDQ29kZWNzUHJveHkubW0KKysrIGIvU291
cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dlYnJ0Yy9MaWJXZWJSVENDb2RlY3NQcm94eS5tbQpAQCAt
MjEwLDE0ICsyMTAsMTIgQEAgdm9pZCBMaWJXZWJSVENDb2RlY3NQcm94eTo6ZW5jb2RlRnJhbWUo
UlRDRW5jb2RlcklkZW50aWZpZXIgaWRlbnRpZmllciwgV2ViQ29yZToKICAgICBpZiAoIWVuY29k
ZXIpCiAgICAgICAgIHJldHVybjsKIAotI2lmICFQTEFURk9STShNQUNDQVRBTFlTVCkKICAgICBp
ZiAoIXNhbXBsZS5zdXJmYWNlKCkpCiAgICAgICAgIHJldHVybjsKICAgICBhdXRvIHBpeGVsQnVm
ZmVyID0gV2ViQ29yZTo6Y3JlYXRlQ1ZQaXhlbEJ1ZmZlcihzYW1wbGUuc3VyZmFjZSgpKTsKICAg
ICBpZiAoIXBpeGVsQnVmZmVyKQogICAgICAgICByZXR1cm47CiAgICAgd2VicnRjOjplbmNvZGVM
b2NhbEVuY29kZXJGcmFtZShlbmNvZGVyLCBwaXhlbEJ1ZmZlci0+Z2V0KCksIHNhbXBsZS50aW1l
KCkudG9UaW1lU2NhbGUoMTAwMDAwMCkudGltZVZhbHVlKCksIHRpbWVTdGFtcCwgdG9XZWJSVENW
aWRlb1JvdGF0aW9uKHNhbXBsZS5yb3RhdGlvbigpKSwgc2hvdWxkRW5jb2RlQXNLZXlGcmFtZSk7
Ci0jZW5kaWYKIH0KIAogLy8gRm9yIHBlcmZvcm1hbmNlIHJlYXNvbnMsIHRoaXMgZnVuY3Rpb24g
YWNjZXNzZXMgbV9lbmNvZGVycyB3aXRob3V0IGxvY2tpbmcuIFRoaXMgaXMgc2FmZSBiZWNhdXNl
IHRoaXMgZnVuY3Rpb24gcnVucyBvbiB0aGUgbGliV2ViUlRDQ29kZWNzUXVldWUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtSVENQcm92aWRl
ci5tbSBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtSVENQcm92
aWRlci5tbQppbmRleCA2YjVmNTgzNmNjZWY2Y2ZiOGFmOTYwZDJmYjk3NjM4ZWQzOTc1OTQ4Li4w
NDVkYjkwYzY2YWY3YmEwYTY4NzU5NDJjNmU3MGI2MGRmMTY1MzE2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUlRDUHJvdmlkZXIubW0KKysr
IGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ1Byb3ZpZGVy
Lm1tCkBAIC04Myw3ICs4Myw3IEBAIHJ0Yzo6UHJveHlJbmZvIE5ldHdvcmtSVENQcm92aWRlcjo6
cHJveHlJbmZvRnJvbVNlc3Npb24oY29uc3QgUlRDTmV0d29yazo6U29ja2V0CiAgICAgaWYgKGlz
RW5hYmxlZChwcm94eURpY3Rpb25hcnkuZ2V0KCksIGtDRk5ldHdvcmtQcm94aWVzU09DS1NFbmFi
bGUpKQogICAgICAgICByZXR1cm4gY3JlYXRlUlRDUHJveHkocHJveHlEaWN0aW9uYXJ5LmdldCgp
LCBydGM6OlBST1hZX1NPQ0tTNSwga0NGTmV0d29ya1Byb3hpZXNTT0NLU1Byb3h5LCBrQ0ZOZXR3
b3JrUHJveGllc1NPQ0tTUG9ydCk7CiAjZW5kaWYKLSNpZiBQTEFURk9STShJT1MpCisjaWYgUExB
VEZPUk0oSU9TKSB8fCBQTEFURk9STShNQUNDQVRBTFlTVCkKICAgICBpZiAoaXNFbmFibGVkKHBy
b3h5RGljdGlvbmFyeS5nZXQoKSwga0NGTmV0d29ya1Byb3hpZXNIVFRQRW5hYmxlKSkKICAgICAg
ICAgcmV0dXJuIGNyZWF0ZVJUQ1Byb3h5KHByb3h5RGljdGlvbmFyeS5nZXQoKSwgcnRjOjpQUk9Y
WV9IVFRQUywga0NGTmV0d29ya1Byb3hpZXNIVFRQUHJveHksIGtDRk5ldHdvcmtQcm94aWVzSFRU
UFBvcnQpOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0
d29yay93ZWJydGMvTGliV2ViUlRDUHJvdmlkZXIuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL05ldHdvcmsvd2VicnRjL0xpYldlYlJUQ1Byb3ZpZGVyLmNwcAppbmRleCAwNzBjNzNkODU3
NmVjMmIzMzhlOWQxMDhkM2ZlOGNlMWU2ZGE3ZDEzLi4wMjFkMTJjYzVhYjQzNTE2NzI4NmU1NDI5
YTZmYjIwNjBlYjAzYTIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0
d29yay93ZWJydGMvTGliV2ViUlRDUHJvdmlkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENQcm92aWRlci5jcHAKQEAgLTU3LDcgKzU3
LDcgQEAgcHJpdmF0ZToKIAogcnRjOjpzY29wZWRfcmVmcHRyPHdlYnJ0Yzo6UGVlckNvbm5lY3Rp
b25JbnRlcmZhY2U+IExpYldlYlJUQ1Byb3ZpZGVyOjpjcmVhdGVQZWVyQ29ubmVjdGlvbihTY3Jp
cHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllciBpZGVudGlmaWVyLCB3ZWJydGM6OlBlZXJDb25u
ZWN0aW9uT2JzZXJ2ZXImIG9ic2VydmVyLCBydGM6OlBhY2tldFNvY2tldEZhY3RvcnkqIHNvY2tl
dEZhY3RvcnksIHdlYnJ0Yzo6UGVlckNvbm5lY3Rpb25JbnRlcmZhY2U6OlJUQ0NvbmZpZ3VyYXRp
b24mJiBjb25maWd1cmF0aW9uKQogewotI2lmIEVOQUJMRShHUFVfUFJPQ0VTUykgJiYgUExBVEZP
Uk0oQ09DT0EpICYmICFQTEFURk9STShNQUNDQVRBTFlTVCkKKyNpZiBFTkFCTEUoR1BVX1BST0NF
U1MpICYmIFBMQVRGT1JNKENPQ09BKQogICAgIGlmICghbV9kaWRJbml0aWFsaXplQ2FsbGJhY2sp
IHsKICAgICAgICAgLy8gV2UgaW5pdGlhbGl6ZSBvbmx5IG9uY2Ugc2luY2UgY2FsbGJhY2tzIGFy
ZSB1c2VkIGluIGJhY2tncm91bmQgdGhyZWFkcy4KICAgICAgICAgYXV0byogcGFnZSA9IG1fd2Vi
UGFnZS5jb3JlUGFnZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05l
dHdvcmsvd2VicnRjL0xpYldlYlJUQ1Byb3ZpZGVyLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvTmV0d29yay93ZWJydGMvTGliV2ViUlRDUHJvdmlkZXIuaAppbmRleCBkMzgwYTA3NWRlYjk3
MWUwZmQzYjk2MzZjNWRjYTY1ZDBhZmY3NzBkLi41YTljNDM1NGVjYzhkOTg0NGFiZjY3ODI4YzRk
OThkYzBkMjhiOTViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29y
ay93ZWJydGMvTGliV2ViUlRDUHJvdmlkZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvTmV0d29yay93ZWJydGMvTGliV2ViUlRDUHJvdmlkZXIuaApAQCAtNjIsNyArNjIsNyBAQCBw
cml2YXRlOgogICAgIHZvaWQgc2V0TG9nZ2luZ0xldmVsKFdURkxvZ0xldmVsKSBmaW5hbDsKIAog
ICAgIFdlYlBhZ2UmIG1fd2ViUGFnZTsKLSNpZiBFTkFCTEUoR1BVX1BST0NFU1MpICYmIFBMQVRG
T1JNKENPQ09BKSAmJiAhUExBVEZPUk0oTUFDQ0FUQUxZU1QpCisjaWYgRU5BQkxFKEdQVV9QUk9D
RVNTKSAmJiBQTEFURk9STShDT0NPQSkKICAgICBib29sIG1fZGlkSW5pdGlhbGl6ZUNhbGxiYWNr
IHsgZmFsc2UgfTsKICNlbmRpZgogfTsK
</data>
<flag name="commit-queue"
          id="474225"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>448376</attachid>
            <date>2022-01-05 03:28:16 -0800</date>
            <delta_ts>2022-01-07 02:05:59 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-234876-20220105122813.patch</filename>
            <type>text/plain</type>
            <size>31528</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg3NjA4CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9DaGFuZ2VMb2cgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9DaGFuZ2VMb2cKaW5kZXggNWI2ODNmOTUw
NjUyZGRiOGE3MTM2NDJkYmJhYjIyY2RhNzg1OGU1MC4uZTNmOTkxOTlhOTdjYWU0ZGVlYTY4ZDEx
ZjQxMDliODA2YzgyNTM4NSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDIy
LTAxLTA1ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBFbmFi
bGUgV2ViUlRDIGZvciBNYWMgQ2F0YWx5c3QKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIzNDg3NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogTWFrZWZpbGU6CisKIDIwMjEtMTAtMTQgIE15bGVzIEMuIE1h
eGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KIAogICAgICAgICBBbGwgdGhlIFNES1Zhcmlh
bnQueGNjb25maWcgZmlsZXMgc2hvdWxkIG1hdGNoCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0No
YW5nZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDg4MWY1ODMwNGQyMmIwNjdiYTZm
YjUwOTZkZGZmOTdlYjExN2Q4OWEuLmRhOGI0ZmU1NWJlMjY1MzE0MDA5Njg3YTE3MzE2OTVlYjcy
YWVmNmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMjItMDEtMDUgIFlvdWVubiBGYWJsZXQgIDx5
b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIEVuYWJsZSBXZWJSVEMgZm9yIE1hYyBDYXRhbHlz
dAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM0ODc2
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3dGYv
UGxhdGZvcm1FbmFibGVDb2NvYS5oOgorCiAyMDIxLTEyLTMxICBZdXN1a2UgU3V6dWtpICA8eXN1
enVraUBhcHBsZS5jb20+CiAKICAgICAgICAgW0pTQ10gUmVwbGFjZSBVRElTODYgd2l0aCBaeWRp
cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nCmluZGV4IGJjNmU3ZWE3M2MyYTk1MmZiYmZlNzliMTcxNDQ4ZjkzN2FiZjVjYTUu
LjRiMWYzZmNiZmY4NWY1YjZjZjE5MGJmYWU2OWY0Mzc0Yjg1ZDNiYzMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwzMyBAQAorMjAyMi0wMS0wNSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5j
b20+CisKKyAgICAgICAgRW5hYmxlIFdlYlJUQyBmb3IgTWFjIENhdGFseXN0CisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzQ4NzYKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0Zl
YXR1cmVEZWZpbmVzLnhjY29uZmlnOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2N2L0lt
YWdlVHJhbnNmZXJTZXNzaW9uVlQuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jdi9J
bWFnZVRyYW5zZmVyU2Vzc2lvblZULm1tOgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2VUcmFuc2Zl
clNlc3Npb25WVDo6SW1hZ2VUcmFuc2ZlclNlc3Npb25WVCk6CisgICAgICAgIChXZWJDb3JlOjpJ
bWFnZVRyYW5zZmVyU2Vzc2lvblZUOjpjcmVhdGVDTVNhbXBsZUJ1ZmZlcik6CisgICAgICAgIChX
ZWJDb3JlOjpJbWFnZVRyYW5zZmVyU2Vzc2lvblZUOjpjcmVhdGVNZWRpYVNhbXBsZSk6CisgICAg
ICAgICogcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9jb2NvYS9BdWRpb1NhbXBsZUJ1ZmZlckNvbXBy
ZXNzb3IuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXJlY29yZGVyL2NvY29hL0F1ZGlvU2Ft
cGxlQnVmZmVyQ29tcHJlc3Nvci5tbToKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvU2FtcGxlQnVm
ZmVyQ29tcHJlc3Nvcjo6QXVkaW9TYW1wbGVCdWZmZXJDb21wcmVzc29yKToKKyAgICAgICAgKiBw
bGF0Zm9ybS9tZWRpYXJlY29yZGVyL2NvY29hL1ZpZGVvU2FtcGxlQnVmZmVyQ29tcHJlc3Nvci5t
bToKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9jb2NvYS9BdWRpb01lZGlhU3RyZWFt
VHJhY2tSZW5kZXJlckNvY29hLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvTWVkaWFTdHJl
YW1UcmFja1JlbmRlcmVyQ29jb2E6OnJlbmRlcmVyVW5pdCk6CisgICAgICAgICogcGxhdGZvcm0v
bWVkaWFzdHJlYW0vY29jb2EvRGlzcGxheUNhcHR1cmVTb3VyY2VDb2NvYS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpEaXNwbGF5Q2FwdHVyZVNvdXJjZUNvY29hOjpjcmVhdGUpOgorICAgICAgICAo
V2ViQ29yZTo6RGlzcGxheUNhcHR1cmVTb3VyY2VDb2NvYTo6ZW1pdEZyYW1lKToKKyAgICAgICAg
KiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9jb2NvYS9JbmNvbWluZ0F1ZGlvTWVkaWFTdHJlYW1UcmFj
a1JlbmRlcmVyVW5pdC5jcHA6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vY29jb2Ev
SW5jb21pbmdBdWRpb01lZGlhU3RyZWFtVHJhY2tSZW5kZXJlclVuaXQuaDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQVZWaWRlb0NhcHR1cmVTb3VyY2UubW06CisgICAgICAg
IChXZWJDb3JlOjpBVlZpZGVvQ2FwdHVyZVNvdXJjZTo6c2V0dXBTZXNzaW9uKToKKyAgICAgICAg
KiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVJbmNvbWluZ1ZpZGVvU291cmNlQ29j
b2EuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVJbmNvbWlu
Z1ZpZGVvU291cmNlQ29jb2EubW06CisgICAgICAgIChXZWJDb3JlOjpjcmVhdGVCbGFja1BpeGVs
QnVmZmVyKToKKwogMjAyMi0wMS0wNSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+
CiAKICAgICAgICAgIlJlYWRhYmxlU3RyZWFtIHVwbG9hZGluZyBpcyBub3Qgc3VwcG9ydGVkIiB3
aGVuIGZldGNoKClpbmcgYSBSZXF1ZXN0IHRoYXQgaGFzIGJlZW4gbG9nZ2VkIHRvIGNvbnNvbGUK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29y
ZS9QQUwvQ2hhbmdlTG9nCmluZGV4IDQ1MTI0YzNjZjQ5OWQzMzk1NDg3OTdhYmViMmQ2OGZiMGY0
Njk5MmQuLjc1YzY0MmI1YzA1ZWI3Zjg4YzFhNjgxNGU0ZDNiZjY5YThhYWNkN2UgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvUEFM
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDIyLTAxLTA1ICBZb3Vlbm4gRmFibGV0ICA8
eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBFbmFibGUgV2ViUlRDIGZvciBNYWMgQ2F0YWx5
c3QKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNDg3
NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogcGFs
L2NmL0NvcmVNZWRpYVNvZnRMaW5rLmNwcDoKKyAgICAgICAgKiBwYWwvY2YvQ29yZU1lZGlhU29m
dExpbmsuaDoKKwogMjAyMS0xMi0yMSAgU2FtIFdlaW5pZyAgPHdlaW5pZ0BhcHBsZS5jb20+CiAK
ICAgICAgICAgQWRkIHN1cHBvcnQgZm9yIHByZW11bHRpcGxpZWQgYWxwaGEgaW50ZXJwb2xhdGVk
IGdyYWRpZW50cyBhbmQgZGVmYXVsdGVkIG9mZiBvcHRpb24gdG8gdXNlIHRoZW0gZm9yIENTUyBH
cmFkaWVudHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dl
YktpdC9DaGFuZ2VMb2cKaW5kZXggODc3MWU2MzdhMTBiMWNhZTk4Zjk5OGU2MTMyMDk2NGE4ZGQ2
OTRiMi4uN2ZhNTY0MWI1ZGViMzVhODYwY2EwOWZiNDliYjc5NWY2NjVjYzUyMCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxOCBAQAorMjAyMi0wMS0wNSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBs
ZS5jb20+CisKKyAgICAgICAgRW5hYmxlIFdlYlJUQyBmb3IgTWFjIENhdGFseXN0CisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzQ4NzYKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIENvbmZpZ3VyYXRpb25z
L0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorICAgICAgICAqIEdQVVByb2Nlc3Mvd2VicnRjL0xp
YldlYlJUQ0NvZGVjc1Byb3h5Lm1tOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9O
ZXR3b3JrUlRDUHJvdmlkZXIubW06CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtSVENQcm92aWRl
cjo6cHJveHlJbmZvRnJvbVNlc3Npb24pOgorICAgICAgICAqIFdlYlByb2Nlc3MvTmV0d29yay93
ZWJydGMvTGliV2ViUlRDUHJvdmlkZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpMaWJXZWJSVENQ
cm92aWRlcjo6Y3JlYXRlUGVlckNvbm5lY3Rpb24pOgorICAgICAgICAqIFdlYlByb2Nlc3MvTmV0
d29yay93ZWJydGMvTGliV2ViUlRDUHJvdmlkZXIuaDoKKwogMjAyMi0wMS0wNSAgWW91ZW5uIEZh
YmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgTWFrZSBzdXJlIHNlY3VyZSB3ZWJz
b2NrZXQgY29ubmVjdGlvbnMgaW4gc2VydmljZSB3b3JrZXJzIGNhbiB0cmlnZ2VyIGF1dGhlbnRp
Y2F0aW9uIGNoYWxsZW5nZSBjYWxsYmFja3MKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5
L01ha2VmaWxlIGIvU291cmNlL1RoaXJkUGFydHkvTWFrZWZpbGUKaW5kZXggNmMzOTdkNDU2MTQw
YThhYjEzNzc3ZGZiMGM3YTVmM2RjZmE2M2FmYS4uNGEyYTM0ODExNDJkODU3YTc2NWY1NzdhMjM5
ZWNkMWUyYzM2ZjUzOCAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvTWFrZWZpbGUKKysr
IGIvU291cmNlL1RoaXJkUGFydHkvTWFrZWZpbGUKQEAgLTEsMTYgKzEsNCBAQAotTElCV0VCUlRD
X01PRFVMRSA9IGxpYndlYnJ0YwotCi1UT19MT1dFUiA9ICQoc2hlbGwgZWNobyAkKDEpIHwgdHIg
Wzp1cHBlcjpdIFs6bG93ZXI6XSkKLQotaWZlcSAoaW9zbWFjLCQoU0RLX1ZBUklBTlQpKQotCURJ
U0FCTEVfTElCV0VCUlRDID0gMQotZW5kaWYKLQotaWZuZXEgKCwkKERJU0FCTEVfTElCV0VCUlRD
KSkKLQlMSUJXRUJSVENfTU9EVUxFID0KLWVuZGlmCi0KLU1PRFVMRVMgPSBBTkdMRSAkKExJQldF
QlJUQ19NT0RVTEUpCitNT0RVTEVTID0gQU5HTEUgbGlid2VicnRjCiAKIGRlZmluZSBidWlsZF90
YXJnZXRfZm9yX2VhY2hfbW9kdWxlCiAJZm9yIGRpciBpbiAkKE1PRFVMRVMpOyBkbyBcCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUVuYWJsZUNvY29hLmggYi9Tb3VyY2UvV1RG
L3d0Zi9QbGF0Zm9ybUVuYWJsZUNvY29hLmgKaW5kZXggM2YxY2QzMzRhN2FjMDg5NGFhZGRkOTBh
MGE0YWIwMzIyYjAxMzMxNy4uYmU0NjY2OThlODc3ZTNiYzFhY2RmNzIzMTdiNWIzMTcxY2E1NzVi
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1FbmFibGVDb2NvYS5oCisrKyBi
L1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtRW5hYmxlQ29jb2EuaApAQCAtMzg5LDcgKzM4OSw3IEBA
CiAjZGVmaW5lIEVOQUJMRV9NRURJQV9TT1VSQ0UgMQogI2VuZGlmCiAKLSNpZiAhZGVmaW5lZChF
TkFCTEVfTUVESUFfU1RSRUFNKSAmJiAhUExBVEZPUk0oTUFDQ0FUQUxZU1QpICYmICFQTEFURk9S
TShXQVRDSE9TKSAmJiAhUExBVEZPUk0oQVBQTEVUVikKKyNpZiAhZGVmaW5lZChFTkFCTEVfTUVE
SUFfU1RSRUFNKSAmJiAhUExBVEZPUk0oV0FUQ0hPUykgJiYgIVBMQVRGT1JNKEFQUExFVFYpCiAj
ZGVmaW5lIEVOQUJMRV9NRURJQV9TVFJFQU0gMQogI2VuZGlmCiAKQEAgLTY2NCw3ICs2NjQsNyBA
QAogI2RlZmluZSBFTkFCTEVfV0VCX0FVVEhOIDEKICNlbmRpZgogCi0jaWYgIWRlZmluZWQoRU5B
QkxFX1dFQl9SVEMpICYmICFQTEFURk9STShNQUNDQVRBTFlTVCkgJiYgIVBMQVRGT1JNKFdBVENI
T1MpICYmICFQTEFURk9STShBUFBMRVRWKQorI2lmICFkZWZpbmVkKEVOQUJMRV9XRUJfUlRDKSAm
JiAhUExBVEZPUk0oV0FUQ0hPUykgJiYgIVBMQVRGT1JNKEFQUExFVFYpCiAjZGVmaW5lIEVOQUJM
RV9XRUJfUlRDIDEKICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Db25maWd1
cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZyBiL1NvdXJjZS9XZWJDb3JlL0NvbmZpZ3Vy
YXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCmluZGV4IDIxYTVkMjkxNThkMjE0NTRjZmQx
ZmI1MWZmNzMzZGM2N2JkMDdkMGUuLjE0ZWRkOTJlYmY4ZTVkYjgwMTc3ZDA4YzIwZjQ1MWE1ZTk4
ODdmMTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVE
ZWZpbmVzLnhjY29uZmlnCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1
cmVEZWZpbmVzLnhjY29uZmlnCkBAIC00NCwzICs0NCw0IEBAIEVOQUJMRV9XRUJfUlRDID0gJChF
TkFCTEVfV0VCX1JUQ18kKFdLX1BMQVRGT1JNX05BTUUpKTsKIEVOQUJMRV9XRUJfUlRDX2lwaG9u
ZW9zID0gRU5BQkxFX1dFQl9SVEM7CiBFTkFCTEVfV0VCX1JUQ19pcGhvbmVzaW11bGF0b3IgPSBF
TkFCTEVfV0VCX1JUQzsKIEVOQUJMRV9XRUJfUlRDX21hY29zeCA9IEVOQUJMRV9XRUJfUlRDOwor
RU5BQkxFX1dFQl9SVENfbWFjY2F0YWx5c3QgPSBFTkFCTEVfV0VCX1JUQzsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY2YvQ29yZU1lZGlhU29mdExpbmsuY3BwIGIvU291cmNl
L1dlYkNvcmUvUEFML3BhbC9jZi9Db3JlTWVkaWFTb2Z0TGluay5jcHAKaW5kZXggODdiNTYyMDdl
ODRkZjNmNDk5OWIzNmY1NWYyZGY2ZjhjOTlkNTc2Yi4uYTMyOTRhM2ZmYjNiODk1NDVmOWI0OTAx
ZTZkMTcyZWQ4ZGNkM2JmMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jZi9D
b3JlTWVkaWFTb2Z0TGluay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jZi9Db3Jl
TWVkaWFTb2Z0TGluay5jcHAKQEAgLTIwMSw3ICsyMDEsNyBAQCBTT0ZUX0xJTktfQ09OU1RBTlRf
Rk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIENvcmVNZWRpYSwga0NNU2FtcGxlQXR0YWNobWVu
dEtleQogU09GVF9MSU5LX0NPTlNUQU5UX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBDb3Jl
TWVkaWEsIGtDTVNhbXBsZUJ1ZmZlckNvbnN1bWVyTm90aWZpY2F0aW9uX0J1ZmZlckNvbnN1bWVk
LCBDRlN0cmluZ1JlZiwgUEFMX0VYUE9SVCkKIFNPRlRfTElOS19DT05TVEFOVF9GT1JfU09VUkNF
X1dJVEhfRVhQT1JUKFBBTCwgQ29yZU1lZGlhLCBrQ01TYW1wbGVCdWZmZXJBdHRhY2htZW50S2V5
X0VuZHNQcmV2aW91c1NhbXBsZUR1cmF0aW9uLCBDRlN0cmluZ1JlZiwgUEFMX0VYUE9SVCkKIFNP
RlRfTElOS19DT05TVEFOVF9GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQ29yZU1lZGlhLCBr
Q01TYW1wbGVCdWZmZXJBdHRhY2htZW50S2V5X0dyYWR1YWxEZWNvZGVyUmVmcmVzaCwgQ0ZTdHJp
bmdSZWYsIFBBTF9FWFBPUlQpCi1TT0ZUX0xJTktfQ09OU1RBTlRfRk9SX1NPVVJDRV9XSVRIX0VY
UE9SVChQQUwsIENvcmVNZWRpYSwgZ2V0X0NvcmVNZWRpYV9rQ01TYW1wbGVCdWZmZXJBdHRhY2ht
ZW50S2V5X1RyaW1EdXJhdGlvbkF0U3RhcnQsIENGU3RyaW5nUmVmLCBQQUxfRVhQT1JUKQorU09G
VF9MSU5LX0NPTlNUQU5UX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBDb3JlTWVkaWEsIGtD
TVNhbXBsZUJ1ZmZlckF0dGFjaG1lbnRLZXlfVHJpbUR1cmF0aW9uQXRTdGFydCwgQ0ZTdHJpbmdS
ZWYsIFBBTF9FWFBPUlQpCiAKIFNPRlRfTElOS19DT05TVEFOVF9GT1JfU09VUkNFX1dJVEhfRVhQ
T1JUKFBBTCwgQ29yZU1lZGlhLCBrQ01UaW1lYmFzZU5vdGlmaWNhdGlvbl9FZmZlY3RpdmVSYXRl
Q2hhbmdlZCwgQ0ZTdHJpbmdSZWYsIFBBTF9FWFBPUlQpCiBTT0ZUX0xJTktfQ09OU1RBTlRfRk9S
X1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIENvcmVNZWRpYSwga0NNVGltZWJhc2VOb3RpZmljYXRp
b25fVGltZUp1bXBlZCwgQ0ZTdHJpbmdSZWYsIFBBTF9FWFBPUlQpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9QQUwvcGFsL2NmL0NvcmVNZWRpYVNvZnRMaW5rLmggYi9Tb3VyY2UvV2ViQ29y
ZS9QQUwvcGFsL2NmL0NvcmVNZWRpYVNvZnRMaW5rLmgKaW5kZXggNTcwYTZhOTg1M2M0NDgxNjhi
OTkwMjIwNDIzMDA5NmRmZThmZWIwMS4uMGNlYjRjY2Y5OWUwMTNlZjJiY2VmNWZlNzc5ZThjOTli
ZDI4YzUyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jZi9Db3JlTWVkaWFT
b2Z0TGluay5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY2YvQ29yZU1lZGlhU29mdExp
bmsuaApAQCAtMzI2LDggKzMyNiw4IEBAIFNPRlRfTElOS19DT05TVEFOVF9GT1JfSEVBREVSKFBB
TCwgQ29yZU1lZGlhLCBrQ01TYW1wbGVCdWZmZXJBdHRhY2htZW50S2V5X0VuZHNQCiAjZGVmaW5l
IGtDTVNhbXBsZUJ1ZmZlckF0dGFjaG1lbnRLZXlfRW5kc1ByZXZpb3VzU2FtcGxlRHVyYXRpb24g
Z2V0X0NvcmVNZWRpYV9rQ01TYW1wbGVCdWZmZXJBdHRhY2htZW50S2V5X0VuZHNQcmV2aW91c1Nh
bXBsZUR1cmF0aW9uKCkKIFNPRlRfTElOS19DT05TVEFOVF9GT1JfSEVBREVSKFBBTCwgQ29yZU1l
ZGlhLCBrQ01TYW1wbGVCdWZmZXJBdHRhY2htZW50S2V5X0dyYWR1YWxEZWNvZGVyUmVmcmVzaCwg
Q0ZTdHJpbmdSZWYpCiAjZGVmaW5lIGtDTVNhbXBsZUJ1ZmZlckF0dGFjaG1lbnRLZXlfR3JhZHVh
bERlY29kZXJSZWZyZXNoIGdldF9Db3JlTWVkaWFfa0NNU2FtcGxlQnVmZmVyQXR0YWNobWVudEtl
eV9HcmFkdWFsRGVjb2RlclJlZnJlc2goKQotU09GVF9MSU5LX0NPTlNUQU5UX0ZPUl9IRUFERVIo
UEFMLCBDb3JlTWVkaWEsIGdldF9Db3JlTWVkaWFfa0NNU2FtcGxlQnVmZmVyQXR0YWNobWVudEtl
eV9UcmltRHVyYXRpb25BdFN0YXJ0LCBDRlN0cmluZ1JlZikKLSNkZWZpbmUgZ2V0X0NvcmVNZWRp
YV9rQ01TYW1wbGVCdWZmZXJBdHRhY2htZW50S2V5X1RyaW1EdXJhdGlvbkF0U3RhcnQgZ2V0X0Nv
cmVNZWRpYV9rQ01TYW1wbGVCdWZmZXJBdHRhY2htZW50S2V5X1RyaW1EdXJhdGlvbkF0U3RhcnQo
KQorU09GVF9MSU5LX0NPTlNUQU5UX0ZPUl9IRUFERVIoUEFMLCBDb3JlTWVkaWEsIGtDTVNhbXBs
ZUJ1ZmZlckF0dGFjaG1lbnRLZXlfVHJpbUR1cmF0aW9uQXRTdGFydCwgQ0ZTdHJpbmdSZWYpCisj
ZGVmaW5lIGtDTVNhbXBsZUJ1ZmZlckF0dGFjaG1lbnRLZXlfVHJpbUR1cmF0aW9uQXRTdGFydCBn
ZXRfQ29yZU1lZGlhX2tDTVNhbXBsZUJ1ZmZlckF0dGFjaG1lbnRLZXlfVHJpbUR1cmF0aW9uQXRT
dGFydCgpCiAKIFNPRlRfTElOS19DT05TVEFOVF9GT1JfSEVBREVSKFBBTCwgQ29yZU1lZGlhLCBr
Q01UaW1lYmFzZU5vdGlmaWNhdGlvbl9FZmZlY3RpdmVSYXRlQ2hhbmdlZCwgQ0ZTdHJpbmdSZWYp
CiAjZGVmaW5lIGtDTVRpbWViYXNlTm90aWZpY2F0aW9uX0VmZmVjdGl2ZVJhdGVDaGFuZ2VkIGdl
dF9Db3JlTWVkaWFfa0NNVGltZWJhc2VOb3RpZmljYXRpb25fRWZmZWN0aXZlUmF0ZUNoYW5nZWQo
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY3YvSW1hZ2VU
cmFuc2ZlclNlc3Npb25WVC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY3Yv
SW1hZ2VUcmFuc2ZlclNlc3Npb25WVC5oCmluZGV4IGVjOTViZmI4MzRhZjNjY2UyMjc0YjVkZTVk
ZTc2YmYzMzMyMzZhY2UuLjkxNTliOWI2NzdhMDg1NTlhMzdhYjY4MDEwYTRkMTExM2FiNjcwYzUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2N2L0ltYWdlVHJh
bnNmZXJTZXNzaW9uVlQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
di9JbWFnZVRyYW5zZmVyU2Vzc2lvblZULmgKQEAgLTUxLDExICs1MSw5IEBAIHB1YmxpYzoKICAg
ICBSZWZQdHI8TWVkaWFTYW1wbGU+IGNyZWF0ZU1lZGlhU2FtcGxlKENHSW1hZ2VSZWYsIGNvbnN0
IE1lZGlhVGltZSYsIGNvbnN0IEludFNpemUmLCBNZWRpYVNhbXBsZTo6VmlkZW9Sb3RhdGlvbiA9
IE1lZGlhU2FtcGxlOjpWaWRlb1JvdGF0aW9uOjpOb25lLCBib29sIG1pcnJvcmVkID0gZmFsc2Up
OwogICAgIFJlZlB0cjxNZWRpYVNhbXBsZT4gY3JlYXRlTWVkaWFTYW1wbGUoQ01TYW1wbGVCdWZm
ZXJSZWYsIGNvbnN0IE1lZGlhVGltZSYsIGNvbnN0IEludFNpemUmLCBNZWRpYVNhbXBsZTo6Vmlk
ZW9Sb3RhdGlvbiA9IE1lZGlhU2FtcGxlOjpWaWRlb1JvdGF0aW9uOjpOb25lLCBib29sIG1pcnJv
cmVkID0gZmFsc2UpOwogCi0jaWYgIVBMQVRGT1JNKE1BQ0NBVEFMWVNUKQogICAgIFdFQkNPUkVf
RVhQT1JUIFJlZlB0cjxNZWRpYVNhbXBsZT4gY3JlYXRlTWVkaWFTYW1wbGUoSU9TdXJmYWNlUmVm
LCBjb25zdCBNZWRpYVRpbWUmLCBjb25zdCBJbnRTaXplJiwgTWVkaWFTYW1wbGU6OlZpZGVvUm90
YXRpb24gPSBNZWRpYVNhbXBsZTo6VmlkZW9Sb3RhdGlvbjo6Tm9uZSwgYm9vbCBtaXJyb3JlZCA9
IGZhbHNlKTsKICNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQogICAgIFdFQkNPUkVfRVhQT1JUIFJl
ZlB0cjxNZWRpYVNhbXBsZT4gY3JlYXRlTWVkaWFTYW1wbGUoY29uc3QgUmVtb3RlVmlkZW9TYW1w
bGUmKTsKLSNlbmRpZgogI2VuZGlmCiAKICAgICB1aW50MzJfdCBwaXhlbEZvcm1hdCgpIGNvbnN0
IHsgcmV0dXJuIG1fcGl4ZWxGb3JtYXQ7IH0KQEAgLTYzLDkgKzYxLDcgQEAgcHVibGljOgogcHJp
dmF0ZToKICAgICBXRUJDT1JFX0VYUE9SVCBleHBsaWNpdCBJbWFnZVRyYW5zZmVyU2Vzc2lvblZU
KHVpbnQzMl90IHBpeGVsRm9ybWF0KTsKIAotI2lmICFQTEFURk9STShNQUNDQVRBTFlTVCkKICAg
ICBSZXRhaW5QdHI8Q01TYW1wbGVCdWZmZXJSZWY+IGNyZWF0ZUNNU2FtcGxlQnVmZmVyKElPU3Vy
ZmFjZVJlZiwgY29uc3QgTWVkaWFUaW1lJiwgY29uc3QgSW50U2l6ZSYpOwotI2VuZGlmCiAKICAg
ICBSZXRhaW5QdHI8Q01TYW1wbGVCdWZmZXJSZWY+IGNvbnZlcnRDTVNhbXBsZUJ1ZmZlcihDTVNh
bXBsZUJ1ZmZlclJlZiwgY29uc3QgSW50U2l6ZSYsIGNvbnN0IE1lZGlhVGltZSogPSBudWxscHRy
KTsKICAgICBSZXRhaW5QdHI8Q01TYW1wbGVCdWZmZXJSZWY+IGNyZWF0ZUNNU2FtcGxlQnVmZmVy
KENWUGl4ZWxCdWZmZXJSZWYsIGNvbnN0IE1lZGlhVGltZSYsIGNvbnN0IEludFNpemUmKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2N2L0ltYWdlVHJhbnNm
ZXJTZXNzaW9uVlQubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jdi9JbWFn
ZVRyYW5zZmVyU2Vzc2lvblZULm1tCmluZGV4IGFiYjk5MjM5M2U1NzUzYjM2OWU3YzU1NDQ2YTEx
YmQwNzM3YWQ5NGIuLjdjNzIzNGRkZTk1YzQ2MWQ0ZmE0ODlhNDgyOTBkZjY4NjgyNmMxMjMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2N2L0ltYWdlVHJhbnNm
ZXJTZXNzaW9uVlQubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY3Yv
SW1hZ2VUcmFuc2ZlclNlc3Npb25WVC5tbQpAQCAtMzQsOSArMzQsNyBAQAogI2ltcG9ydCA8Q29y
ZU1lZGlhL0NNRm9ybWF0RGVzY3JpcHRpb24uaD4KICNpbXBvcnQgPENvcmVNZWRpYS9DTVNhbXBs
ZUJ1ZmZlci5oPgogCi0jaWYgIVBMQVRGT1JNKE1BQ0NBVEFMWVNUKQogI2ltcG9ydCA8cGFsL3Nw
aS9jb2NvYS9JT1N1cmZhY2VTUEkuaD4KLSNlbmRpZgogCiAjaW1wb3J0ICJDb3JlVmlkZW9Tb2Z0
TGluay5oIgogI2ltcG9ydCAiVmlkZW9Ub29sYm94U29mdExpbmsuaCIKQEAgLTYzLDcgKzYxLDcg
QEAgSW1hZ2VUcmFuc2ZlclNlc3Npb25WVDo6SW1hZ2VUcmFuc2ZlclNlc3Npb25WVCh1aW50MzJf
dCBwaXhlbEZvcm1hdCkKICAgICBpZiAoc3RhdHVzICE9IGtDVlJldHVyblN1Y2Nlc3MpCiAgICAg
ICAgIFJFTEVBU0VfTE9HKE1lZGlhLCAiSW1hZ2VUcmFuc2ZlclNlc3Npb25WVDo6SW1hZ2VUcmFu
c2ZlclNlc3Npb25WVDogVlRTZXNzaW9uU2V0UHJvcGVydHkoa1ZUUGl4ZWxUcmFuc2ZlclByb3Bl
cnR5S2V5X1JlYWxUaW1lKSBmYWlsZWQgd2l0aCBlcnJvciAlZCIsIHN0YXRpY19jYXN0PGludD4o
c3RhdHVzKSk7CiAKLSNpZiBQTEFURk9STShJT1NfRkFNSUxZKSAmJiAhUExBVEZPUk0oTUFDQ0FU
QUxZU1QpCisjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKICAgICBzdGF0dXMgPSBWVFNlc3Npb25T
ZXRQcm9wZXJ0eSh0cmFuc2ZlclNlc3Npb24sIGtWVFBpeGVsVHJhbnNmZXJQcm9wZXJ0eUtleV9F
bmFibGVIYXJkd2FyZUFjY2VsZXJhdGVkVHJhbnNmZXIsIEBZRVMpOwogICAgIGlmIChzdGF0dXMg
IT0ga0NWUmV0dXJuU3VjY2VzcykKICAgICAgICAgUkVMRUFTRV9MT0coTWVkaWEsICJJbWFnZVRy
YW5zZmVyU2Vzc2lvblZUOjpJbWFnZVRyYW5zZmVyU2Vzc2lvblZUOiBWVFNlc3Npb25TZXRQcm9w
ZXJ0eShrVlRQaXhlbFRyYW5zZmVyUHJvcGVydHlLZXlfRW5hYmxlSGFyZHdhcmVBY2NlbGVyYXRl
ZFRyYW5zZmVyKSBmYWlsZWQgd2l0aCBlcnJvciAlZCIsIHN0YXRpY19jYXN0PGludD4oc3RhdHVz
KSk7CkBAIC0yNDAsOCArMjM4LDYgQEAgUmV0YWluUHRyPENNU2FtcGxlQnVmZmVyUmVmPiBJbWFn
ZVRyYW5zZmVyU2Vzc2lvblZUOjpjcmVhdGVDTVNhbXBsZUJ1ZmZlcihDR0ltYWcKICAgICByZXR1
cm4gY3JlYXRlQ01TYW1wbGVCdWZmZXIocGl4ZWxCdWZmZXIuZ2V0KCksIHNhbXBsZVRpbWUsIHNp
emUpOwogfQogCi0jaWYgIVBMQVRGT1JNKE1BQ0NBVEFMWVNUKQotCiBSZXRhaW5QdHI8Q01TYW1w
bGVCdWZmZXJSZWY+IEltYWdlVHJhbnNmZXJTZXNzaW9uVlQ6OmNyZWF0ZUNNU2FtcGxlQnVmZmVy
KElPU3VyZmFjZVJlZiBzdXJmYWNlLCBjb25zdCBNZWRpYVRpbWUgJnNhbXBsZVRpbWUsIGNvbnN0
IEludFNpemUgJnNpemUpCiB7CiAgICAgaWYgKCFzdXJmYWNlIHx8ICFzZXRTaXplKHNpemUpKQpA
QCAtMjUyLDcgKzI0OCw2IEBAIFJldGFpblB0cjxDTVNhbXBsZUJ1ZmZlclJlZj4gSW1hZ2VUcmFu
c2ZlclNlc3Npb25WVDo6Y3JlYXRlQ01TYW1wbGVCdWZmZXIoSU9TdXJmCiAKICAgICByZXR1cm4g
Y3JlYXRlQ01TYW1wbGVCdWZmZXIocGl4ZWxCdWZmZXIuZ2V0KCksIHNhbXBsZVRpbWUsIHNpemUp
OwogfQotI2VuZGlmCiAKIFJlZlB0cjxNZWRpYVNhbXBsZT4gSW1hZ2VUcmFuc2ZlclNlc3Npb25W
VDo6Y29udmVydE1lZGlhU2FtcGxlKE1lZGlhU2FtcGxlJiBzYW1wbGUsIGNvbnN0IEludFNpemUm
IHNpemUpCiB7CkBAIC0yNjgsNyArMjYzLDYgQEAgUmVmUHRyPE1lZGlhU2FtcGxlPiBJbWFnZVRy
YW5zZmVyU2Vzc2lvblZUOjpjb252ZXJ0TWVkaWFTYW1wbGUoTWVkaWFTYW1wbGUmIHNhbXAKICAg
ICByZXR1cm4gTWVkaWFTYW1wbGVBVkZPYmpDOjpjcmVhdGUocmVzaXplZEJ1ZmZlci5nZXQoKSwg
c2FtcGxlLnZpZGVvUm90YXRpb24oKSwgc2FtcGxlLnZpZGVvTWlycm9yZWQoKSk7CiB9CiAKLSNp
ZiAhUExBVEZPUk0oTUFDQ0FUQUxZU1QpCiAjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKIFJlZlB0
cjxNZWRpYVNhbXBsZT4gSW1hZ2VUcmFuc2ZlclNlc3Npb25WVDo6Y3JlYXRlTWVkaWFTYW1wbGUo
Y29uc3QgUmVtb3RlVmlkZW9TYW1wbGUmIHJlbW90ZVNhbXBsZSkKIHsKQEAgLTI4NCw3ICsyNzgs
NiBAQCBSZWZQdHI8TWVkaWFTYW1wbGU+IEltYWdlVHJhbnNmZXJTZXNzaW9uVlQ6OmNyZWF0ZU1l
ZGlhU2FtcGxlKElPU3VyZmFjZVJlZiBzdXJmYQogCiAgICAgcmV0dXJuIE1lZGlhU2FtcGxlQVZG
T2JqQzo6Y3JlYXRlKHNhbXBsZUJ1ZmZlci5nZXQoKSwgcm90YXRpb24sIG1pcnJvcmVkKTsKIH0K
LSNlbmRpZgogCiBSZWZQdHI8TWVkaWFTYW1wbGU+IEltYWdlVHJhbnNmZXJTZXNzaW9uVlQ6OmNy
ZWF0ZU1lZGlhU2FtcGxlKENHSW1hZ2VSZWYgaW1hZ2UsIGNvbnN0IE1lZGlhVGltZSYgc2FtcGxl
VGltZSwgY29uc3QgSW50U2l6ZSYgc2l6ZSwgTWVkaWFTYW1wbGU6OlZpZGVvUm90YXRpb24gcm90
YXRpb24sIGJvb2wgbWlycm9yZWQpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tZWRpYXJlY29yZGVyL2NvY29hL0F1ZGlvU2FtcGxlQnVmZmVyQ29tcHJlc3Nvci5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9jb2NvYS9BdWRpb1NhbXBsZUJ1
ZmZlckNvbXByZXNzb3IuaAppbmRleCBhNmE1NTI0YmE2ZDM4MDk5ZWMyZmMzNGViY2I4YjBlNjUx
YjQ0YzQwLi5jNmNiMGM3ZjBmNGVhZGNkOGMxMjEzMzkyZWIyNWMyYTMzYmQ4YTlmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL2NvY29hL0F1ZGlvU2Ft
cGxlQnVmZmVyQ29tcHJlc3Nvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlh
cmVjb3JkZXIvY29jb2EvQXVkaW9TYW1wbGVCdWZmZXJDb21wcmVzc29yLmgKQEAgLTc5LDkgKzc5
LDkgQEAgcHJpdmF0ZToKICAgICBVSW50MzIgbV9tYXhPdXRwdXRQYWNrZXRTaXplIHsgMCB9Owog
ICAgIFZlY3RvcjxBdWRpb1N0cmVhbVBhY2tldERlc2NyaXB0aW9uPiBtX2Rlc3RpbmF0aW9uUGFj
a2V0RGVzY3JpcHRpb25zOwogCi0gICAgQ01UaW1lIG1fY3VycmVudE5hdGl2ZVByZXNlbnRhdGlv
blRpbWVTdGFtcCB7IGtDTVRpbWVJbnZhbGlkIH07Ci0gICAgQ01UaW1lIG1fY3VycmVudE91dHB1
dFByZXNlbnRhdGlvblRpbWVTdGFtcCB7IGtDTVRpbWVJbnZhbGlkIH07Ci0gICAgQ01UaW1lIG1f
cmVtYWluaW5nUHJpbWVEdXJhdGlvbiB7IGtDTVRpbWVJbnZhbGlkIH07CisgICAgQ01UaW1lIG1f
Y3VycmVudE5hdGl2ZVByZXNlbnRhdGlvblRpbWVTdGFtcDsKKyAgICBDTVRpbWUgbV9jdXJyZW50
T3V0cHV0UHJlc2VudGF0aW9uVGltZVN0YW1wOworICAgIENNVGltZSBtX3JlbWFpbmluZ1ByaW1l
RHVyYXRpb247CiAKICAgICBWZWN0b3I8dWludDhfdD4gbV9zb3VyY2VCdWZmZXI7CiAgICAgVmVj
dG9yPHVpbnQ4X3Q+IG1fZGVzdGluYXRpb25CdWZmZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL2NvY29hL0F1ZGlvU2FtcGxlQnVmZmVyQ29tcHJl
c3Nvci5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhcmVjb3JkZXIvY29jb2EvQXVk
aW9TYW1wbGVCdWZmZXJDb21wcmVzc29yLm1tCmluZGV4IGRjMGIwMTYwMmU3ZDNlZGI4NTY4MThi
MDM5MzU3M2Q0NmFlZTZkYjMuLjc2OTcwMzcyMzVmN2YwNjkwY2Y1MmMzYTMzZDk2YTRkZTA3ZDA5
NDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhcmVjb3JkZXIvY29j
b2EvQXVkaW9TYW1wbGVCdWZmZXJDb21wcmVzc29yLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21lZGlhcmVjb3JkZXIvY29jb2EvQXVkaW9TYW1wbGVCdWZmZXJDb21wcmVzc29yLm1t
CkBAIC01MSw4ICs1MSwxMSBAQCBzdGQ6OnVuaXF1ZV9wdHI8QXVkaW9TYW1wbGVCdWZmZXJDb21w
cmVzc29yPiBBdWRpb1NhbXBsZUJ1ZmZlckNvbXByZXNzb3I6OmNyZWF0ZQogfQogCiBBdWRpb1Nh
bXBsZUJ1ZmZlckNvbXByZXNzb3I6OkF1ZGlvU2FtcGxlQnVmZmVyQ29tcHJlc3NvcigpCi0gICAg
OiBtX3NlcmlhbERpc3BhdGNoUXVldWUoV29ya1F1ZXVlOjpjcmVhdGUoImNvbS5hcHBsZS5BdWRp
b1NhbXBsZUJ1ZmZlckNvbXByZXNzb3IiKSkKLSAgICAsIG1fbG93V2F0ZXJUaW1lKFBBTDo6Q01U
aW1lTWFrZVdpdGhTZWNvbmRzKExPV19XQVRFUl9USU1FX0lOX1NFQ09ORFMsIDEwMDApKQorICAg
IDogbV9zZXJpYWxEaXNwYXRjaFF1ZXVlIHsgV29ya1F1ZXVlOjpjcmVhdGUoImNvbS5hcHBsZS5B
dWRpb1NhbXBsZUJ1ZmZlckNvbXByZXNzb3IiKSB9CisgICAgLCBtX2xvd1dhdGVyVGltZSB7IFBB
TDo6Q01UaW1lTWFrZVdpdGhTZWNvbmRzKExPV19XQVRFUl9USU1FX0lOX1NFQ09ORFMsIDEwMDAp
IH0KKyAgICAsIG1fY3VycmVudE5hdGl2ZVByZXNlbnRhdGlvblRpbWVTdGFtcCB7IFBBTDo6a0NN
VGltZUludmFsaWQgfQorICAgICwgbV9jdXJyZW50T3V0cHV0UHJlc2VudGF0aW9uVGltZVN0YW1w
IHsgUEFMOjprQ01UaW1lSW52YWxpZCB9CisgICAgLCBtX3JlbWFpbmluZ1ByaW1lRHVyYXRpb24g
eyBQQUw6OmtDTVRpbWVJbnZhbGlkIH0KIHsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9jb2NvYS9WaWRlb1NhbXBsZUJ1ZmZlckNvbXByZXNz
b3IubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL2NvY29hL1ZpZGVv
U2FtcGxlQnVmZmVyQ29tcHJlc3Nvci5tbQppbmRleCBiODlkZjA0NGQ3NGNiMTA3ZTZkY2E4YTlk
MmVmYmYyMWJlNDUxMWQxLi5iZjU3MWFhNDY3YWI3ZjM5MGYwNDQ2YjE1MWU1MTczOTJlMzNjMmJj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL2NvY29h
L1ZpZGVvU2FtcGxlQnVmZmVyQ29tcHJlc3Nvci5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tZWRpYXJlY29yZGVyL2NvY29hL1ZpZGVvU2FtcGxlQnVmZmVyQ29tcHJlc3Nvci5tbQpA
QCAtMzIsMTAgKzMyLDEwIEBACiAjaW1wb3J0IDxDb3JlTWVkaWEvQ29yZU1lZGlhLmg+CiAjaW1w
b3J0IDxGb3VuZGF0aW9uL0ZvdW5kYXRpb24uaD4KICNpbXBvcnQgPFZpZGVvVG9vbGJveC9WVENv
bXByZXNzaW9uU2Vzc2lvbi5oPgotI2ltcG9ydCA8d3RmL1NvZnRMaW5raW5nLmg+CiAKICNpbXBv
cnQgPHBhbC9jZi9Db3JlTWVkaWFTb2Z0TGluay5oPgogI2ltcG9ydCA8cGFsL2NmL1ZpZGVvVG9v
bGJveFNvZnRMaW5rLmg+CisjaW1wb3J0ICJWaWRlb1Rvb2xib3hTb2Z0TGluay5oIgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21l
ZGlhc3RyZWFtL2NvY29hL0F1ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRlcmVyQ29jb2EuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vY29jb2EvQXVkaW9NZWRpYVN0cmVh
bVRyYWNrUmVuZGVyZXJDb2NvYS5jcHAKaW5kZXggMDUwZTg5MzM2OWFjZjIyNmY3ZTQyZTNmYTRi
MzRiOTI0OTZmMWIzNC4uYjJlZDllMDkwMjFmNGFkODBlZmRmNjFiMjVhMWQ5YTA0NDZkZWNmZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vY29jb2EvQXVk
aW9NZWRpYVN0cmVhbVRyYWNrUmVuZGVyZXJDb2NvYS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWVkaWFzdHJlYW0vY29jb2EvQXVkaW9NZWRpYVN0cmVhbVRyYWNrUmVuZGVyZXJD
b2NvYS5jcHAKQEAgLTYyLDggKzYyLDEwIEBAIHZvaWQgQXVkaW9NZWRpYVN0cmVhbVRyYWNrUmVu
ZGVyZXJDb2NvYTo6c3RhcnQoQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmIGNhbGxiCiAKIEJh
c2VBdWRpb01lZGlhU3RyZWFtVHJhY2tSZW5kZXJlclVuaXQmIEF1ZGlvTWVkaWFTdHJlYW1UcmFj
a1JlbmRlcmVyQ29jb2E6OnJlbmRlcmVyVW5pdCgpCiB7CisjaWYgVVNFKExJQldFQlJUQykKICAg
ICBpZiAoYXV0byogYXVkaW9Nb2R1bGUgPSB0aGlzLT5hdWRpb01vZHVsZSgpKQogICAgICAgICBy
ZXR1cm4gYXVkaW9Nb2R1bGUtPmluY29taW5nQXVkaW9NZWRpYVN0cmVhbVRyYWNrUmVuZGVyZXJV
bml0KCk7CisjZW5kaWYKICAgICByZXR1cm4gQXVkaW9NZWRpYVN0cmVhbVRyYWNrUmVuZGVyZXJV
bml0OjpzaW5nbGV0b24oKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbWVkaWFzdHJlYW0vY29jb2EvRGlzcGxheUNhcHR1cmVTb3VyY2VDb2NvYS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9jb2NvYS9EaXNwbGF5Q2FwdHVyZVNvdXJj
ZUNvY29hLmNwcAppbmRleCBjOWI5MjQyMTNkNWFlMDc4MmM4YmE2ZTgyYzBkMTlkMjI0MWMxYmU3
Li4zMGZkMDk1NTEzYjQ0NTNlYWQxZWQ2ZjA1YzgzODQyZDgwM2Y0NTc0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9jb2NvYS9EaXNwbGF5Q2FwdHVyZVNv
dXJjZUNvY29hLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9j
b2NvYS9EaXNwbGF5Q2FwdHVyZVNvdXJjZUNvY29hLmNwcApAQCAtNjAsOCArNjAsMTIgQEAgQ2Fw
dHVyZVNvdXJjZU9yRXJyb3IgRGlzcGxheUNhcHR1cmVTb3VyY2VDb2NvYTo6Y3JlYXRlKGNvbnN0
IENhcHR1cmVEZXZpY2UmIGRldmkKICAgICBjYXNlIENhcHR1cmVEZXZpY2U6OkRldmljZVR5cGU6
OlNjcmVlbjoKICNpZiBQTEFURk9STShJT1MpCiAgICAgICAgIHJldHVybiBjcmVhdGUoUmVwbGF5
S2l0Q2FwdHVyZVNvdXJjZTo6Y3JlYXRlKGRldmljZS5wZXJzaXN0ZW50SWQoKSksIGRldmljZSwg
V1RGTW92ZShoYXNoU2FsdCksIGNvbnN0cmFpbnRzKTsKLSNlbHNlCisjZWxzaWYgIVBMQVRGT1JN
KE1BQ0NBVEFMWVNUKQogICAgICAgICByZXR1cm4gY3JlYXRlKENHRGlzcGxheVN0cmVhbVNjcmVl
bkNhcHR1cmVTb3VyY2U6OmNyZWF0ZShkZXZpY2UucGVyc2lzdGVudElkKCkpLCBkZXZpY2UsIFdU
Rk1vdmUoaGFzaFNhbHQpLCBjb25zdHJhaW50cyk7CisjZWxzZQorICAgICAgICBVTlVTRURfUEFS
QU0oaGFzaFNhbHQpOworICAgICAgICBVTlVTRURfUEFSQU0oY29uc3RyYWludHMpOworICAgICAg
ICBGQUxMVEhST1VHSDsKICNlbmRpZgogICAgIGNhc2UgQ2FwdHVyZURldmljZTo6RGV2aWNlVHlw
ZTo6V2luZG93OgogICAgIGNhc2UgQ2FwdHVyZURldmljZTo6RGV2aWNlVHlwZTo6TWljcm9waG9u
ZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2NvY29h
L0luY29taW5nQXVkaW9NZWRpYVN0cmVhbVRyYWNrUmVuZGVyZXJVbml0LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2NvY29hL0luY29taW5nQXVkaW9NZWRpYVN0cmVh
bVRyYWNrUmVuZGVyZXJVbml0LmNwcAppbmRleCA5Mjk4OWVmZmJjZTg4OTQ4MDA5YzNmMDEyNjk5
MzMwOTNkYWQ0MDc0Li41Zjg3OTljYjFhNDM5NGU4MGRhNWZiYmM2NjA5ZGU1NDlmYjdmZjRkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9jb2NvYS9JbmNv
bWluZ0F1ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRlcmVyVW5pdC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vY29jb2EvSW5jb21pbmdBdWRpb01lZGlhU3RyZWFt
VHJhY2tSZW5kZXJlclVuaXQuY3BwCkBAIC0yNiw3ICsyNiw3IEBACiAjaW5jbHVkZSAiY29uZmln
LmgiCiAjaW5jbHVkZSAiSW5jb21pbmdBdWRpb01lZGlhU3RyZWFtVHJhY2tSZW5kZXJlclVuaXQu
aCIKIAotI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkg
JiYgVVNFKExJQldFQlJUQykKIAogI2luY2x1ZGUgIkF1ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRl
cmVyVW5pdC5oIgogI2luY2x1ZGUgIkF1ZGlvU2FtcGxlRGF0YVNvdXJjZS5oIgpAQCAtMjAwLDQg
KzIwMCw0IEBAIGNvbnN0IHZvaWQqIEluY29taW5nQXVkaW9NZWRpYVN0cmVhbVRyYWNrUmVuZGVy
ZXJVbml0Ojpsb2dJZGVudGlmaWVyKCkgY29uc3QKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQog
Ci0jZW5kaWYgLy8gRU5BQkxFKE1FRElBX1NUUkVBTSkKKyNlbmRpZiAvLyBFTkFCTEUoTUVESUFf
U1RSRUFNKSAmJiBVU0UoTElCV0VCUlRDKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbWVkaWFzdHJlYW0vY29jb2EvSW5jb21pbmdBdWRpb01lZGlhU3RyZWFtVHJhY2tSZW5k
ZXJlclVuaXQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2NvY29hL0lu
Y29taW5nQXVkaW9NZWRpYVN0cmVhbVRyYWNrUmVuZGVyZXJVbml0LmgKaW5kZXggYzYwZjk5ODc5
YTA5MGQzMDQ5MjUyZDU4YTg5NjM3YWVlMTExNWUxNi4uYmY4NDJlNTEyYWZkMWUyNDNhMzFiODUx
NTZhNjRkNTg2MmM5MDQ0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVk
aWFzdHJlYW0vY29jb2EvSW5jb21pbmdBdWRpb01lZGlhU3RyZWFtVHJhY2tSZW5kZXJlclVuaXQu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9jb2NvYS9JbmNvbWlu
Z0F1ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRlcmVyVW5pdC5oCkBAIC0yNSw3ICsyNSw3IEBACiAK
ICNwcmFnbWEgb25jZQogCi0jaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKKyNpZiBFTkFCTEUoTUVE
SUFfU1RSRUFNKSAmJiBVU0UoTElCV0VCUlRDKQogCiAjaW5jbHVkZSAiQmFzZUF1ZGlvTWVkaWFT
dHJlYW1UcmFja1JlbmRlcmVyVW5pdC5oIgogI2luY2x1ZGUgIkNBQXVkaW9TdHJlYW1EZXNjcmlw
dGlvbi5oIgpAQCAtMTAyLDQgKzEwMiw0IEBAIHByaXZhdGU6CiAKIH0KIAotI2VuZGlmIC8vIEVO
QUJMRShNRURJQV9TVFJFQU0pCisjZW5kaWYgLy8gRU5BQkxFKE1FRElBX1NUUkVBTSkgJiYgVVNF
KExJQldFQlJUQykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3Ry
ZWFtL21hYy9BVlZpZGVvQ2FwdHVyZVNvdXJjZS5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21lZGlhc3RyZWFtL21hYy9BVlZpZGVvQ2FwdHVyZVNvdXJjZS5tbQppbmRleCAyZGRkN2M3YWFi
ZTcwMDk1OTk4YjcyYjMwZGY0NGJlMDkyNzU3ZjFkLi5kZmM1NjY0YWJiMGM3YjAxOTM4NTYyNjgz
NDIzMGFjZmI5ZmQyOGRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRp
YXN0cmVhbS9tYWMvQVZWaWRlb0NhcHR1cmVTb3VyY2UubW0KKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0FWVmlkZW9DYXB0dXJlU291cmNlLm1tCkBAIC00MjMs
NyArNDIzLDcgQEAgYm9vbCBBVlZpZGVvQ2FwdHVyZVNvdXJjZTo6c2V0dXBTZXNzaW9uKCkKIAog
ICAgIEFMV0FZU19MT0dfSUYobG9nZ2VyUHRyKCksIExPR0lERU5USUZJRVIpOwogCi0jaWYgRU5B
QkxFKEFQUF9QUklWQUNZX1JFUE9SVCkKKyNpZiBFTkFCTEUoQVBQX1BSSVZBQ1lfUkVQT1JUKSAm
JiAhUExBVEZPUk0oTUFDQ0FUQUxZU1QpCiAgICAgYXV0byBpZGVudGl0eSA9IFJlYWx0aW1lTWVk
aWFTb3VyY2VDZW50ZXI6OnNpbmdsZXRvbigpLmlkZW50aXR5KCk7CiAgICAgaWYgKGlkZW50aXR5
ICYmIFtQQUw6OmFsbG9jQVZDYXB0dXJlU2Vzc2lvbkluc3RhbmNlKCkgcmVzcG9uZHNUb1NlbGVj
dG9yOkBzZWxlY3Rvcihpbml0V2l0aEFzc3VtZWRJZGVudGl0eTopXSkKICAgICAgICAgbV9zZXNz
aW9uID0gYWRvcHROUyhbUEFMOjphbGxvY0FWQ2FwdHVyZVNlc3Npb25JbnN0YW5jZSgpIGluaXRX
aXRoQXNzdW1lZElkZW50aXR5OmlkZW50aXR5LmdldCgpXSk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVJbmNvbWluZ1ZpZGVvU291
cmNlQ29jb2EuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFs
dGltZUluY29taW5nVmlkZW9Tb3VyY2VDb2NvYS5oCmluZGV4IGQwZmU4ZTA2NTgyMmY4MDdlYmI0
ZDY1YTMwN2I0YmVjMGI4ZmFhNjIuLmIzZjkzNGFmNzhhYTIzNGVlMzA3MjkzNDBmNjE0ZjIzZjVl
MzY5NWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21h
Yy9SZWFsdGltZUluY29taW5nVmlkZW9Tb3VyY2VDb2NvYS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGltZUluY29taW5nVmlkZW9Tb3VyY2VDb2Nv
YS5oCkBAIC0yNywyMCArMjcsMjEgQEAKIAogI3ByYWdtYSBvbmNlCiAKLSNpZiBVU0UoTElCV0VC
UlRDKQotCiAjaW5jbHVkZSAiUmVhbHRpbWVJbmNvbWluZ1ZpZGVvU291cmNlLmgiCiAKIHVzaW5n
IENNU2FtcGxlQnVmZmVyUmVmID0gc3RydWN0IG9wYXF1ZUNNU2FtcGxlQnVmZmVyKjsKIHVzaW5n
IENWUGl4ZWxCdWZmZXJQb29sUmVmID0gc3RydWN0IF9fQ1ZQaXhlbEJ1ZmZlclBvb2wqOwogdXNp
bmcgQ1ZQaXhlbEJ1ZmZlclJlZiA9IHN0cnVjdCBfX0NWQnVmZmVyKjsKIAorI2lmIFVTRShMSUJX
RUJSVEMpCiBuYW1lc3BhY2Ugd2VicnRjIHsKIGVudW0gY2xhc3MgQnVmZmVyVHlwZTsKIH07Cisj
ZW5kaWYKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCisjaWYgVVNFKExJQldFQlJUQykKIGNsYXNz
IFJlYWx0aW1lSW5jb21pbmdWaWRlb1NvdXJjZUNvY29hIGZpbmFsIDogcHVibGljIFJlYWx0aW1l
SW5jb21pbmdWaWRlb1NvdXJjZSB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxSZWFsdGltZUlu
Y29taW5nVmlkZW9Tb3VyY2VDb2NvYT4gY3JlYXRlKHJ0Yzo6c2NvcGVkX3JlZnB0cjx3ZWJydGM6
OlZpZGVvVHJhY2tJbnRlcmZhY2U+JiYsIFN0cmluZyYmKTsKQEAgLTY0LDkgKzY1LDEwIEBAIHBy
aXZhdGU6CiAgICAgc2l6ZV90IG1fcGl4ZWxCdWZmZXJQb29sSGVpZ2h0IHsgMCB9OwogICAgIHdl
YnJ0Yzo6QnVmZmVyVHlwZSBtX3BpeGVsQnVmZmVyUG9vbEJ1ZmZlclR5cGU7CiB9OworI2VuZGlm
IC8vIFVTRShMSUJXRUJSVEMpCiAKKyNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQogV0VCQ09SRV9F
WFBPUlQgUmV0YWluUHRyPENWUGl4ZWxCdWZmZXJSZWY+IGNyZWF0ZUJsYWNrUGl4ZWxCdWZmZXIo
c2l6ZV90IHdpZHRoLCBzaXplX3QgaGVpZ2h0KTsKKyNlbmRpZiAvLyBFTkFCTEUoTUVESUFfU1RS
RUFNKQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZiAvLyBVU0UoTElCV0VCUlRD
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1Jl
YWx0aW1lSW5jb21pbmdWaWRlb1NvdXJjZUNvY29hLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1lSW5jb21pbmdWaWRlb1NvdXJjZUNvY29hLm1tCmlu
ZGV4IDlmMDY3MGMyMGI4YTRiOGIyNzQ2YTI4MGMzNzEzNDY4M2NiN2VlMWIuLjZjMTMzNTk5NWM1
YzBlOTQ3MmU3N2Q0MjUyYTA2OWI3ZmI4YzkwNjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGltZUluY29taW5nVmlkZW9Tb3VyY2VDb2Nv
YS5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRp
bWVJbmNvbWluZ1ZpZGVvU291cmNlQ29jb2EubW0KQEAgLTI4LDE0ICsyOCwxNCBAQAogI2ltcG9y
dCAiY29uZmlnLmgiCiAjaW1wb3J0ICJSZWFsdGltZUluY29taW5nVmlkZW9Tb3VyY2VDb2NvYS5o
IgogCi0jaWYgVVNFKExJQldFQlJUQykKLQogI2ltcG9ydCAiQ1ZVdGlsaXRpZXMuaCIKICNpbXBv
cnQgIkxvZ2dpbmcuaCIKICNpbXBvcnQgIk1lZGlhU2FtcGxlQVZGT2JqQy5oIgogI2ltcG9ydCAi
UmVhbHRpbWVWaWRlb1V0aWxpdGllcy5oIgogI2ltcG9ydCA8d3RmL2NmL1R5cGVDYXN0c0NGLmg+
CiAKKyNpZiBVU0UoTElCV0VCUlRDKQorCiBBTExPV19VTlVTRURfUEFSQU1FVEVSU19CRUdJTgog
I2ltcG9ydCA8d2VicnRjL3Nkay9XZWJLaXQvV2ViS2l0VXRpbGl0aWVzLmg+CiBBTExPV19VTlVT
RURfUEFSQU1FVEVSU19FTkQKQEAgLTQzLDggKzQzLDEyIEBAIEFMTE9XX1VOVVNFRF9QQVJBTUVU
RVJTX0VORAogI2ltcG9ydCAiQ29yZVZpZGVvU29mdExpbmsuaCIKICNpbXBvcnQgPHBhbC9jZi9D
b3JlTWVkaWFTb2Z0TGluay5oPgogCisjZW5kaWYKKwogbmFtZXNwYWNlIFdlYkNvcmUgewogCisj
aWYgVVNFKExJQldFQlJUQykKKwogUmVmPFJlYWx0aW1lSW5jb21pbmdWaWRlb1NvdXJjZT4gUmVh
bHRpbWVJbmNvbWluZ1ZpZGVvU291cmNlOjpjcmVhdGUocnRjOjpzY29wZWRfcmVmcHRyPHdlYnJ0
Yzo6VmlkZW9UcmFja0ludGVyZmFjZT4mJiB2aWRlb1RyYWNrLCBTdHJpbmcmJiB0cmFja0lkKQog
ewogICAgIGF1dG8gc291cmNlID0gUmVhbHRpbWVJbmNvbWluZ1ZpZGVvU291cmNlQ29jb2E6OmNy
ZWF0ZShXVEZNb3ZlKHZpZGVvVHJhY2spLCBXVEZNb3ZlKHRyYWNrSWQpKTsKQEAgLTYyLDMzICs2
Niw2IEBAIFJlYWx0aW1lSW5jb21pbmdWaWRlb1NvdXJjZUNvY29hOjpSZWFsdGltZUluY29taW5n
VmlkZW9Tb3VyY2VDb2NvYShydGM6OnNjb3BlZF9yCiB7CiB9CiAKLVJldGFpblB0cjxDVlBpeGVs
QnVmZmVyUmVmPiBjcmVhdGVCbGFja1BpeGVsQnVmZmVyKHNpemVfdCB3aWR0aCwgc2l6ZV90IGhl
aWdodCkKLXsKLSAgICBPU1R5cGUgZm9ybWF0ID0gcHJlZmVyZWRQaXhlbEJ1ZmZlckZvcm1hdCgp
OwotICAgIEFTU0VSVChmb3JtYXQgPT0ga0NWUGl4ZWxGb3JtYXRUeXBlXzQyMFlwQ2JDcjhCaVBs
YW5hclZpZGVvUmFuZ2UgfHwgZm9ybWF0ID09IGtDVlBpeGVsRm9ybWF0VHlwZV80MjBZcENiQ3I4
QmlQbGFuYXJGdWxsUmFuZ2UpOwotCi0gICAgQ1ZQaXhlbEJ1ZmZlclJlZiBwaXhlbEJ1ZmZlciA9
IG51bGxwdHI7Ci0gICAgYXV0byBzdGF0dXMgPSBDVlBpeGVsQnVmZmVyQ3JlYXRlKGtDRkFsbG9j
YXRvckRlZmF1bHQsIHdpZHRoLCBoZWlnaHQsIGZvcm1hdCwgbnVsbHB0ciwgJnBpeGVsQnVmZmVy
KTsKLSAgICBBU1NFUlRfVU5VU0VEKHN0YXR1cywgc3RhdHVzID09IG5vRXJyKTsKLQotICAgIHN0
YXR1cyA9IENWUGl4ZWxCdWZmZXJMb2NrQmFzZUFkZHJlc3MocGl4ZWxCdWZmZXIsIDApOwotICAg
IEFTU0VSVChzdGF0dXMgPT0gbm9FcnIpOwotCi0gICAgYXV0byogeVBsYW5lID0gc3RhdGljX2Nh
c3Q8dWludDhfdCo+KENWUGl4ZWxCdWZmZXJHZXRCYXNlQWRkcmVzc09mUGxhbmUocGl4ZWxCdWZm
ZXIsIDApKTsKLSAgICBzaXplX3QgeVN0cmlkZSA9IENWUGl4ZWxCdWZmZXJHZXRCeXRlc1BlclJv
d09mUGxhbmUocGl4ZWxCdWZmZXIsIDApOwotICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBo
ZWlnaHQ7ICsraSkKLSAgICAgICAgbWVtc2V0KCZ5UGxhbmVbaSAqIHlTdHJpZGVdLCAwLCB3aWR0
aCk7Ci0KLSAgICBhdXRvKiB1dlBsYW5lID0gc3RhdGljX2Nhc3Q8dWludDhfdCo+KENWUGl4ZWxC
dWZmZXJHZXRCYXNlQWRkcmVzc09mUGxhbmUocGl4ZWxCdWZmZXIsIDEpKTsKLSAgICBzaXplX3Qg
dXZTdHJpZGUgPSBDVlBpeGVsQnVmZmVyR2V0Qnl0ZXNQZXJSb3dPZlBsYW5lKHBpeGVsQnVmZmVy
LCAxKTsKLSAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgaGVpZ2h0IC8gMjsgKytpKQotICAg
ICAgICBtZW1zZXQoJnV2UGxhbmVbaSAqIHV2U3RyaWRlXSwgMTI4LCB3aWR0aCk7Ci0KLSAgICBz
dGF0dXMgPSBDVlBpeGVsQnVmZmVyVW5sb2NrQmFzZUFkZHJlc3MocGl4ZWxCdWZmZXIsIDApOwot
ICAgIEFTU0VSVCghc3RhdHVzKTsKLSAgICByZXR1cm4gYWRvcHRDRihwaXhlbEJ1ZmZlcik7Ci19
Ci0KIENWUGl4ZWxCdWZmZXJQb29sUmVmIFJlYWx0aW1lSW5jb21pbmdWaWRlb1NvdXJjZUNvY29h
OjpwaXhlbEJ1ZmZlclBvb2woc2l6ZV90IHdpZHRoLCBzaXplX3QgaGVpZ2h0LCB3ZWJydGM6OkJ1
ZmZlclR5cGUgYnVmZmVyVHlwZSkKIHsKICAgICBpZiAoIW1fcGl4ZWxCdWZmZXJQb29sIHx8IG1f
cGl4ZWxCdWZmZXJQb29sV2lkdGggIT0gd2lkdGggfHwgbV9waXhlbEJ1ZmZlclBvb2xIZWlnaHQg
IT0gaGVpZ2h0IHx8IG1fcGl4ZWxCdWZmZXJQb29sQnVmZmVyVHlwZSAhPSBidWZmZXJUeXBlKSB7
CkBAIC0yMDAsNiArMTc3LDM3IEBAIHZvaWQgUmVhbHRpbWVJbmNvbWluZ1ZpZGVvU291cmNlQ29j
b2E6Ok9uRnJhbWUoY29uc3Qgd2VicnRjOjpWaWRlb0ZyYW1lJiBmcmFtZSkKICAgICB2aWRlb1Nh
bXBsZUF2YWlsYWJsZShNZWRpYVNhbXBsZUFWRk9iakM6OmNyZWF0ZShzYW1wbGUuZ2V0KCksIHJv
dGF0aW9uKSwgbWV0YWRhdGFGcm9tVmlkZW9GcmFtZShmcmFtZSkpOwogfQogCi19IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCi0KICNlbmRpZiAvLyBVU0UoTElCV0VCUlRDKQorCisjaWYgRU5BQkxFKE1F
RElBX1NUUkVBTSkKKworUmV0YWluUHRyPENWUGl4ZWxCdWZmZXJSZWY+IGNyZWF0ZUJsYWNrUGl4
ZWxCdWZmZXIoc2l6ZV90IHdpZHRoLCBzaXplX3QgaGVpZ2h0KQoreworICAgIE9TVHlwZSBmb3Jt
YXQgPSBwcmVmZXJlZFBpeGVsQnVmZmVyRm9ybWF0KCk7CisgICAgQVNTRVJUKGZvcm1hdCA9PSBr
Q1ZQaXhlbEZvcm1hdFR5cGVfNDIwWXBDYkNyOEJpUGxhbmFyVmlkZW9SYW5nZSB8fCBmb3JtYXQg
PT0ga0NWUGl4ZWxGb3JtYXRUeXBlXzQyMFlwQ2JDcjhCaVBsYW5hckZ1bGxSYW5nZSk7CisKKyAg
ICBDVlBpeGVsQnVmZmVyUmVmIHBpeGVsQnVmZmVyID0gbnVsbHB0cjsKKyAgICBhdXRvIHN0YXR1
cyA9IENWUGl4ZWxCdWZmZXJDcmVhdGUoa0NGQWxsb2NhdG9yRGVmYXVsdCwgd2lkdGgsIGhlaWdo
dCwgZm9ybWF0LCBudWxscHRyLCAmcGl4ZWxCdWZmZXIpOworICAgIEFTU0VSVF9VTlVTRUQoc3Rh
dHVzLCBzdGF0dXMgPT0gbm9FcnIpOworCisgICAgc3RhdHVzID0gQ1ZQaXhlbEJ1ZmZlckxvY2tC
YXNlQWRkcmVzcyhwaXhlbEJ1ZmZlciwgMCk7CisgICAgQVNTRVJUKHN0YXR1cyA9PSBub0Vycik7
CisKKyAgICBhdXRvKiB5UGxhbmUgPSBzdGF0aWNfY2FzdDx1aW50OF90Kj4oQ1ZQaXhlbEJ1ZmZl
ckdldEJhc2VBZGRyZXNzT2ZQbGFuZShwaXhlbEJ1ZmZlciwgMCkpOworICAgIHNpemVfdCB5U3Ry
aWRlID0gQ1ZQaXhlbEJ1ZmZlckdldEJ5dGVzUGVyUm93T2ZQbGFuZShwaXhlbEJ1ZmZlciwgMCk7
CisgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGhlaWdodDsgKytpKQorICAgICAgICBtZW1z
ZXQoJnlQbGFuZVtpICogeVN0cmlkZV0sIDAsIHdpZHRoKTsKKworICAgIGF1dG8qIHV2UGxhbmUg
PSBzdGF0aWNfY2FzdDx1aW50OF90Kj4oQ1ZQaXhlbEJ1ZmZlckdldEJhc2VBZGRyZXNzT2ZQbGFu
ZShwaXhlbEJ1ZmZlciwgMSkpOworICAgIHNpemVfdCB1dlN0cmlkZSA9IENWUGl4ZWxCdWZmZXJH
ZXRCeXRlc1BlclJvd09mUGxhbmUocGl4ZWxCdWZmZXIsIDEpOworICAgIGZvciAodW5zaWduZWQg
aSA9IDA7IGkgPCBoZWlnaHQgLyAyOyArK2kpCisgICAgICAgIG1lbXNldCgmdXZQbGFuZVtpICog
dXZTdHJpZGVdLCAxMjgsIHdpZHRoKTsKKworICAgIHN0YXR1cyA9IENWUGl4ZWxCdWZmZXJVbmxv
Y2tCYXNlQWRkcmVzcyhwaXhlbEJ1ZmZlciwgMCk7CisgICAgQVNTRVJUKCFzdGF0dXMpOworICAg
IHJldHVybiBhZG9wdENGKHBpeGVsQnVmZmVyKTsKK30KKworI2VuZGlmCisKK30gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ29uZmlndXJhdGlvbnMvRmVh
dHVyZURlZmluZXMueGNjb25maWcgYi9Tb3VyY2UvV2ViS2l0L0NvbmZpZ3VyYXRpb25zL0ZlYXR1
cmVEZWZpbmVzLnhjY29uZmlnCmluZGV4IDIxYTVkMjkxNThkMjE0NTRjZmQxZmI1MWZmNzMzZGM2
N2JkMDdkMGUuLjE0ZWRkOTJlYmY4ZTVkYjgwMTc3ZDA4YzIwZjQ1MWE1ZTk4ODdmMTYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25m
aWcKKysrIGIvU291cmNlL1dlYktpdC9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2Nv
bmZpZwpAQCAtNDQsMyArNDQsNCBAQCBFTkFCTEVfV0VCX1JUQyA9ICQoRU5BQkxFX1dFQl9SVENf
JChXS19QTEFURk9STV9OQU1FKSk7CiBFTkFCTEVfV0VCX1JUQ19pcGhvbmVvcyA9IEVOQUJMRV9X
RUJfUlRDOwogRU5BQkxFX1dFQl9SVENfaXBob25lc2ltdWxhdG9yID0gRU5BQkxFX1dFQl9SVEM7
CiBFTkFCTEVfV0VCX1JUQ19tYWNvc3ggPSBFTkFCTEVfV0VCX1JUQzsKK0VOQUJMRV9XRUJfUlRD
X21hY2NhdGFseXN0ID0gRU5BQkxFX1dFQl9SVEM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L0dQVVByb2Nlc3Mvd2VicnRjL0xpYldlYlJUQ0NvZGVjc1Byb3h5Lm1tIGIvU291cmNlL1dlYktp
dC9HUFVQcm9jZXNzL3dlYnJ0Yy9MaWJXZWJSVENDb2RlY3NQcm94eS5tbQppbmRleCAzMGZhMzBj
YjNkYzljOWI0MDFmMGM0ZWNmY2UyMTA4MWVjNDZlNWMxLi42ZDE3ZTQ1Yjk4MGVmZmMwNDhhMzE0
NjRmOGRjNGM2MjQwNzY5YjhjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mv
d2VicnRjL0xpYldlYlJUQ0NvZGVjc1Byb3h5Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJv
Y2Vzcy93ZWJydGMvTGliV2ViUlRDQ29kZWNzUHJveHkubW0KQEAgLTIxMCwxNCArMjEwLDEyIEBA
IHZvaWQgTGliV2ViUlRDQ29kZWNzUHJveHk6OmVuY29kZUZyYW1lKFJUQ0VuY29kZXJJZGVudGlm
aWVyIGlkZW50aWZpZXIsIFdlYkNvcmU6CiAgICAgaWYgKCFlbmNvZGVyKQogICAgICAgICByZXR1
cm47CiAKLSNpZiAhUExBVEZPUk0oTUFDQ0FUQUxZU1QpCiAgICAgaWYgKCFzYW1wbGUuc3VyZmFj
ZSgpKQogICAgICAgICByZXR1cm47CiAgICAgYXV0byBwaXhlbEJ1ZmZlciA9IFdlYkNvcmU6OmNy
ZWF0ZUNWUGl4ZWxCdWZmZXIoc2FtcGxlLnN1cmZhY2UoKSk7CiAgICAgaWYgKCFwaXhlbEJ1ZmZl
cikKICAgICAgICAgcmV0dXJuOwogICAgIHdlYnJ0Yzo6ZW5jb2RlTG9jYWxFbmNvZGVyRnJhbWUo
ZW5jb2RlciwgcGl4ZWxCdWZmZXItPmdldCgpLCBzYW1wbGUudGltZSgpLnRvVGltZVNjYWxlKDEw
MDAwMDApLnRpbWVWYWx1ZSgpLCB0aW1lU3RhbXAsIHRvV2ViUlRDVmlkZW9Sb3RhdGlvbihzYW1w
bGUucm90YXRpb24oKSksIHNob3VsZEVuY29kZUFzS2V5RnJhbWUpOwotI2VuZGlmCiB9CiAKIC8v
IEZvciBwZXJmb3JtYW5jZSByZWFzb25zLCB0aGlzIGZ1bmN0aW9uIGFjY2Vzc2VzIG1fZW5jb2Rl
cnMgd2l0aG91dCBsb2NraW5nLiBUaGlzIGlzIHNhZmUgYmVjYXVzZSB0aGlzIGZ1bmN0aW9uIHJ1
bnMgb24gdGhlIGxpYldlYlJUQ0NvZGVjc1F1ZXVlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L05ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUlRDUHJvdmlkZXIubW0gYi9Tb3VyY2UvV2Vi
S2l0L05ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUlRDUHJvdmlkZXIubW0KaW5kZXggNmI1
ZjU4MzZjY2VmNmNmYjhhZjk2MGQyZmI5NzYzOGVkMzk3NTk0OC4uMDQ1ZGI5MGM2NmFmN2JhMGE2
ODc1OTQyYzZlNzBiNjBkZjE2NTMxNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3Jr
UHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ1Byb3ZpZGVyLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQv
TmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtSVENQcm92aWRlci5tbQpAQCAtODMsNyArODMs
NyBAQCBydGM6OlByb3h5SW5mbyBOZXR3b3JrUlRDUHJvdmlkZXI6OnByb3h5SW5mb0Zyb21TZXNz
aW9uKGNvbnN0IFJUQ05ldHdvcms6OlNvY2tldAogICAgIGlmIChpc0VuYWJsZWQocHJveHlEaWN0
aW9uYXJ5LmdldCgpLCBrQ0ZOZXR3b3JrUHJveGllc1NPQ0tTRW5hYmxlKSkKICAgICAgICAgcmV0
dXJuIGNyZWF0ZVJUQ1Byb3h5KHByb3h5RGljdGlvbmFyeS5nZXQoKSwgcnRjOjpQUk9YWV9TT0NL
UzUsIGtDRk5ldHdvcmtQcm94aWVzU09DS1NQcm94eSwga0NGTmV0d29ya1Byb3hpZXNTT0NLU1Bv
cnQpOwogI2VuZGlmCi0jaWYgUExBVEZPUk0oSU9TKQorI2lmIFBMQVRGT1JNKElPUykgfHwgUExB
VEZPUk0oTUFDQ0FUQUxZU1QpCiAgICAgaWYgKGlzRW5hYmxlZChwcm94eURpY3Rpb25hcnkuZ2V0
KCksIGtDRk5ldHdvcmtQcm94aWVzSFRUUEVuYWJsZSkpCiAgICAgICAgIHJldHVybiBjcmVhdGVS
VENQcm94eShwcm94eURpY3Rpb25hcnkuZ2V0KCksIHJ0Yzo6UFJPWFlfSFRUUFMsIGtDRk5ldHdv
cmtQcm94aWVzSFRUUFByb3h5LCBrQ0ZOZXR3b3JrUHJveGllc0hUVFBQb3J0KTsKICNlbmRpZgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL0xpYldl
YlJUQ1Byb3ZpZGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0
Yy9MaWJXZWJSVENQcm92aWRlci5jcHAKaW5kZXggMDcwYzczZDg1NzZlYzJiMzM4ZTlkMTA4ZDNm
ZThjZTFlNmRhN2QxMy4uMDIxZDEyY2M1YWI0MzUxNjcyODZlNTQyOWE2ZmIyMDYwZWIwM2EyMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL0xpYldl
YlJUQ1Byb3ZpZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay93
ZWJydGMvTGliV2ViUlRDUHJvdmlkZXIuY3BwCkBAIC01Nyw3ICs1Nyw3IEBAIHByaXZhdGU6CiAK
IHJ0Yzo6c2NvcGVkX3JlZnB0cjx3ZWJydGM6OlBlZXJDb25uZWN0aW9uSW50ZXJmYWNlPiBMaWJX
ZWJSVENQcm92aWRlcjo6Y3JlYXRlUGVlckNvbm5lY3Rpb24oU2NyaXB0RXhlY3V0aW9uQ29udGV4
dElkZW50aWZpZXIgaWRlbnRpZmllciwgd2VicnRjOjpQZWVyQ29ubmVjdGlvbk9ic2VydmVyJiBv
YnNlcnZlciwgcnRjOjpQYWNrZXRTb2NrZXRGYWN0b3J5KiBzb2NrZXRGYWN0b3J5LCB3ZWJydGM6
OlBlZXJDb25uZWN0aW9uSW50ZXJmYWNlOjpSVENDb25maWd1cmF0aW9uJiYgY29uZmlndXJhdGlv
bikKIHsKLSNpZiBFTkFCTEUoR1BVX1BST0NFU1MpICYmIFBMQVRGT1JNKENPQ09BKSAmJiAhUExB
VEZPUk0oTUFDQ0FUQUxZU1QpCisjaWYgRU5BQkxFKEdQVV9QUk9DRVNTKSAmJiBQTEFURk9STShD
T0NPQSkKICAgICBpZiAoIW1fZGlkSW5pdGlhbGl6ZUNhbGxiYWNrKSB7CiAgICAgICAgIC8vIFdl
IGluaXRpYWxpemUgb25seSBvbmNlIHNpbmNlIGNhbGxiYWNrcyBhcmUgdXNlZCBpbiBiYWNrZ3Jv
dW5kIHRocmVhZHMuCiAgICAgICAgIGF1dG8qIHBhZ2UgPSBtX3dlYlBhZ2UuY29yZVBhZ2UoKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9MaWJX
ZWJSVENQcm92aWRlci5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRj
L0xpYldlYlJUQ1Byb3ZpZGVyLmgKaW5kZXggZDM4MGEwNzVkZWI5NzFlMGZkM2I5NjM2YzVkY2E2
NWQwYWZmNzcwZC4uNWE5YzQzNTRlY2M4ZDk4NDRhYmY2NzgyOGM0ZDk4ZGMwZDI4Yjk1YiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL0xpYldlYlJU
Q1Byb3ZpZGVyLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRj
L0xpYldlYlJUQ1Byb3ZpZGVyLmgKQEAgLTYyLDcgKzYyLDcgQEAgcHJpdmF0ZToKICAgICB2b2lk
IHNldExvZ2dpbmdMZXZlbChXVEZMb2dMZXZlbCkgZmluYWw7CiAKICAgICBXZWJQYWdlJiBtX3dl
YlBhZ2U7Ci0jaWYgRU5BQkxFKEdQVV9QUk9DRVNTKSAmJiBQTEFURk9STShDT0NPQSkgJiYgIVBM
QVRGT1JNKE1BQ0NBVEFMWVNUKQorI2lmIEVOQUJMRShHUFVfUFJPQ0VTUykgJiYgUExBVEZPUk0o
Q09DT0EpCiAgICAgYm9vbCBtX2RpZEluaXRpYWxpemVDYWxsYmFjayB7IGZhbHNlIH07CiAjZW5k
aWYKIH07Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>448573</attachid>
            <date>2022-01-07 02:06:06 -0800</date>
            <delta_ts>2022-01-07 03:20:13 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-234876-20220107110603.patch</filename>
            <type>text/plain</type>
            <size>31458</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg3Njc1CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9DaGFuZ2VMb2cgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9DaGFuZ2VMb2cKaW5kZXggNWI2ODNmOTUw
NjUyZGRiOGE3MTM2NDJkYmJhYjIyY2RhNzg1OGU1MC4uZTdhMjJmMWMyNzAzOTU4NTc1MGFiZWM1
YzRlMTBhZjJmOWU3OTNhOCAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDIy
LTAxLTA3ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBFbmFi
bGUgV2ViUlRDIGZvciBNYWMgQ2F0YWx5c3QKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIzNDg3NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogTWFrZWZpbGU6CisKIDIwMjEtMTAtMTQgIE15bGVzIEMuIE1h
eGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KIAogICAgICAgICBBbGwgdGhlIFNES1Zhcmlh
bnQueGNjb25maWcgZmlsZXMgc2hvdWxkIG1hdGNoCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0No
YW5nZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDQzOThiNzYyYjE4OWM1OTI5Y2I1
OWNjY2JlNjIzZDVkOWEwMWFkODIuLjRhYjQ2MTA1ZTllYjBhMGI3YzBjMjY5ZTg1NzlkZmU0YjYz
ZTY5OGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMjItMDEtMDcgIFlvdWVubiBGYWJsZXQgIDx5
b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIEVuYWJsZSBXZWJSVEMgZm9yIE1hYyBDYXRhbHlz
dAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM0ODc2
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3dGYv
UGxhdGZvcm1FbmFibGVDb2NvYS5oOgorCiAyMDIyLTAxLTA3ICBZb3Vlbm4gRmFibGV0ICA8eW91
ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBDb21waWxlIG91dCBFTkFCTEVfTUVESUFfQ0FQVFVS
RSBvbiBXQVRDSE9TIGFuZCBBUFBMRVRWCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTUyZGZmZjg3MjM2MDBjMDdk
MTJjMGJkM2U2ZTY5NTE0MDllYzA2OS4uY2NhOTQ1NzdlOWI5YzNjNTQzYTc5NWFhYzNjMDJlODVh
MGM1ODdjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDIyLTAxLTA3ICBZb3Vlbm4g
RmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBFbmFibGUgV2ViUlRDIGZvciBN
YWMgQ2F0YWx5c3QKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIzNDg3NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWc6CisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvY3YvSW1hZ2VUcmFuc2ZlclNlc3Npb25WVC5oOgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL2N2L0ltYWdlVHJhbnNmZXJTZXNzaW9uVlQubW06CisgICAgICAg
IChXZWJDb3JlOjpJbWFnZVRyYW5zZmVyU2Vzc2lvblZUOjpJbWFnZVRyYW5zZmVyU2Vzc2lvblZU
KToKKyAgICAgICAgKFdlYkNvcmU6OkltYWdlVHJhbnNmZXJTZXNzaW9uVlQ6OmNyZWF0ZUNNU2Ft
cGxlQnVmZmVyKToKKyAgICAgICAgKFdlYkNvcmU6OkltYWdlVHJhbnNmZXJTZXNzaW9uVlQ6OmNy
ZWF0ZU1lZGlhU2FtcGxlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXJlY29yZGVyL2NvY29h
L0F1ZGlvU2FtcGxlQnVmZmVyQ29tcHJlc3Nvci5oOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlh
cmVjb3JkZXIvY29jb2EvQXVkaW9TYW1wbGVCdWZmZXJDb21wcmVzc29yLm1tOgorICAgICAgICAo
V2ViQ29yZTo6QXVkaW9TYW1wbGVCdWZmZXJDb21wcmVzc29yOjpBdWRpb1NhbXBsZUJ1ZmZlckNv
bXByZXNzb3IpOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhcmVjb3JkZXIvY29jb2EvVmlkZW9T
YW1wbGVCdWZmZXJDb21wcmVzc29yLm1tOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFt
L2NvY29hL0F1ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRlcmVyQ29jb2EuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6QXVkaW9NZWRpYVN0cmVhbVRyYWNrUmVuZGVyZXJDb2NvYTo6cmVuZGVyZXJVbml0
KToKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9jb2NvYS9EaXNwbGF5Q2FwdHVyZVNv
dXJjZUNvY29hLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRpc3BsYXlDYXB0dXJlU291cmNlQ29j
b2E6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpEaXNwbGF5Q2FwdHVyZVNvdXJjZUNvY29h
OjplbWl0RnJhbWUpOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL2NvY29hL0luY29t
aW5nQXVkaW9NZWRpYVN0cmVhbVRyYWNrUmVuZGVyZXJVbml0LmNwcDoKKyAgICAgICAgKiBwbGF0
Zm9ybS9tZWRpYXN0cmVhbS9jb2NvYS9JbmNvbWluZ0F1ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRl
cmVyVW5pdC5oOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9BVlZpZGVvQ2Fw
dHVyZVNvdXJjZS5tbToKKyAgICAgICAgKFdlYkNvcmU6OkFWVmlkZW9DYXB0dXJlU291cmNlOjpz
ZXR1cFNlc3Npb24pOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGlt
ZUluY29taW5nVmlkZW9Tb3VyY2VDb2NvYS5oOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3Ry
ZWFtL21hYy9SZWFsdGltZUluY29taW5nVmlkZW9Tb3VyY2VDb2NvYS5tbToKKyAgICAgICAgKFdl
YkNvcmU6OmNyZWF0ZUJsYWNrUGl4ZWxCdWZmZXIpOgorCiAyMDIyLTAxLTA3ICBZb3Vlbm4gRmFi
bGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBFeHBvc2UgcnZmYyBwcm9jZXNzaW5n
RHVyYXRpb24gZm9yIHRoZSBXZWJSVEMgY29kZSBwYXRoCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9QQUwvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwppbmRleCA0
NTEyNGMzY2Y0OTlkMzM5NTQ4Nzk3YWJlYjJkNjhmYjBmNDY5OTJkLi5iZWQwMTMyMDRiMDcyMDU0
NGY5YWVkN2IwNjA1YWRlYTA3Y2YyYjhjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
MyBAQAorMjAyMi0wMS0wNyAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAg
ICAgICAgRW5hYmxlIFdlYlJUQyBmb3IgTWFjIENhdGFseXN0CisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzQ4NzYKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHBhbC9jZi9Db3JlTWVkaWFTb2Z0TGluay5j
cHA6CisgICAgICAgICogcGFsL2NmL0NvcmVNZWRpYVNvZnRMaW5rLmg6CisKIDIwMjEtMTItMjEg
IFNhbSBXZWluaWcgIDx3ZWluaWdAYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBzdXBwb3J0IGZv
ciBwcmVtdWx0aXBsaWVkIGFscGhhIGludGVycG9sYXRlZCBncmFkaWVudHMgYW5kIGRlZmF1bHRl
ZCBvZmYgb3B0aW9uIHRvIHVzZSB0aGVtIGZvciBDU1MgR3JhZGllbnRzCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDYw
OTM2M2M1YmUwMGUzOGZhM2Q1ODZlMGYyN2FjOTYwOGEzYjg4NTAuLmU4Yjg5NmVmODNjNzNhMDYw
NTdmOGY0NDdhOGEzM2QyYTQ3ZjBhMDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMjIt
MDEtMDcgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIEVuYWJs
ZSBXZWJSVEMgZm9yIE1hYyBDYXRhbHlzdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjM0ODc2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZp
ZzoKKyAgICAgICAgKiBHUFVQcm9jZXNzL3dlYnJ0Yy9MaWJXZWJSVENDb2RlY3NQcm94eS5tbToK
KyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ1Byb3ZpZGVyLm1tOgor
ICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUlRDUHJvdmlkZXI6OnByb3h5SW5mb0Zyb21TZXNzaW9u
KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL0xpYldlYlJUQ1Byb3ZpZGVy
LmNwcDoKKyAgICAgICAgKFdlYktpdDo6TGliV2ViUlRDUHJvdmlkZXI6OmNyZWF0ZVBlZXJDb25u
ZWN0aW9uKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL0xpYldlYlJUQ1By
b3ZpZGVyLmg6CisKIDIwMjItMDEtMDcgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29t
PgogCiAgICAgICAgIFVzZSBjb21wbGV0aW9uIGhhbmRsZXJzIGZvciB0YWtlQWxsTWVzc2FnZXNG
b3JQb3J0IG1ldGhvZHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L01ha2VmaWxlIGIv
U291cmNlL1RoaXJkUGFydHkvTWFrZWZpbGUKaW5kZXggNmMzOTdkNDU2MTQwYThhYjEzNzc3ZGZi
MGM3YTVmM2RjZmE2M2FmYS4uNGEyYTM0ODExNDJkODU3YTc2NWY1NzdhMjM5ZWNkMWUyYzM2ZjUz
OCAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvTWFrZWZpbGUKKysrIGIvU291cmNlL1Ro
aXJkUGFydHkvTWFrZWZpbGUKQEAgLTEsMTYgKzEsNCBAQAotTElCV0VCUlRDX01PRFVMRSA9IGxp
YndlYnJ0YwotCi1UT19MT1dFUiA9ICQoc2hlbGwgZWNobyAkKDEpIHwgdHIgWzp1cHBlcjpdIFs6
bG93ZXI6XSkKLQotaWZlcSAoaW9zbWFjLCQoU0RLX1ZBUklBTlQpKQotCURJU0FCTEVfTElCV0VC
UlRDID0gMQotZW5kaWYKLQotaWZuZXEgKCwkKERJU0FCTEVfTElCV0VCUlRDKSkKLQlMSUJXRUJS
VENfTU9EVUxFID0KLWVuZGlmCi0KLU1PRFVMRVMgPSBBTkdMRSAkKExJQldFQlJUQ19NT0RVTEUp
CitNT0RVTEVTID0gQU5HTEUgbGlid2VicnRjCiAKIGRlZmluZSBidWlsZF90YXJnZXRfZm9yX2Vh
Y2hfbW9kdWxlCiAJZm9yIGRpciBpbiAkKE1PRFVMRVMpOyBkbyBcCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV1RGL3d0Zi9QbGF0Zm9ybUVuYWJsZUNvY29hLmggYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9y
bUVuYWJsZUNvY29hLmgKaW5kZXggMDIxM2JhNWJmZjc5NTkyMjI2ZjE0MDE1NTM0NjQxY2QwODM2
Y2Q2Mi4uOTU2NzEzNmE4NzQ1YTc3ZDk3YmQ2ZjE5NjFhY2Y0NTFlMzlkZGYwNyAxMDA2NDQKLS0t
IGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1FbmFibGVDb2NvYS5oCisrKyBiL1NvdXJjZS9XVEYv
d3RmL1BsYXRmb3JtRW5hYmxlQ29jb2EuaApAQCAtMzg5LDcgKzM4OSw3IEBACiAjZGVmaW5lIEVO
QUJMRV9NRURJQV9TT1VSQ0UgMQogI2VuZGlmCiAKLSNpZiAhZGVmaW5lZChFTkFCTEVfTUVESUFf
U1RSRUFNKSAmJiAhUExBVEZPUk0oTUFDQ0FUQUxZU1QpICYmICFQTEFURk9STShXQVRDSE9TKSAm
JiAhUExBVEZPUk0oQVBQTEVUVikKKyNpZiAhZGVmaW5lZChFTkFCTEVfTUVESUFfU1RSRUFNKSAm
JiAhUExBVEZPUk0oV0FUQ0hPUykgJiYgIVBMQVRGT1JNKEFQUExFVFYpCiAjZGVmaW5lIEVOQUJM
RV9NRURJQV9TVFJFQU0gMQogI2VuZGlmCiAKQEAgLTY2NCw3ICs2NjQsNyBAQAogI2RlZmluZSBF
TkFCTEVfV0VCX0FVVEhOIDEKICNlbmRpZgogCi0jaWYgIWRlZmluZWQoRU5BQkxFX1dFQl9SVEMp
ICYmICFQTEFURk9STShNQUNDQVRBTFlTVCkgJiYgIVBMQVRGT1JNKFdBVENIT1MpICYmICFQTEFU
Rk9STShBUFBMRVRWKQorI2lmICFkZWZpbmVkKEVOQUJMRV9XRUJfUlRDKSAmJiAhUExBVEZPUk0o
V0FUQ0hPUykgJiYgIVBMQVRGT1JNKEFQUExFVFYpCiAjZGVmaW5lIEVOQUJMRV9XRUJfUlRDIDEK
ICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0
dXJlRGVmaW5lcy54Y2NvbmZpZyBiL1NvdXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1
cmVEZWZpbmVzLnhjY29uZmlnCmluZGV4IDIxYTVkMjkxNThkMjE0NTRjZmQxZmI1MWZmNzMzZGM2
N2JkMDdkMGUuLjE0ZWRkOTJlYmY4ZTVkYjgwMTc3ZDA4YzIwZjQ1MWE1ZTk4ODdmMTYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29u
ZmlnCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhj
Y29uZmlnCkBAIC00NCwzICs0NCw0IEBAIEVOQUJMRV9XRUJfUlRDID0gJChFTkFCTEVfV0VCX1JU
Q18kKFdLX1BMQVRGT1JNX05BTUUpKTsKIEVOQUJMRV9XRUJfUlRDX2lwaG9uZW9zID0gRU5BQkxF
X1dFQl9SVEM7CiBFTkFCTEVfV0VCX1JUQ19pcGhvbmVzaW11bGF0b3IgPSBFTkFCTEVfV0VCX1JU
QzsKIEVOQUJMRV9XRUJfUlRDX21hY29zeCA9IEVOQUJMRV9XRUJfUlRDOworRU5BQkxFX1dFQl9S
VENfbWFjY2F0YWx5c3QgPSBFTkFCTEVfV0VCX1JUQzsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL1BBTC9wYWwvY2YvQ29yZU1lZGlhU29mdExpbmsuY3BwIGIvU291cmNlL1dlYkNvcmUvUEFM
L3BhbC9jZi9Db3JlTWVkaWFTb2Z0TGluay5jcHAKaW5kZXggODdiNTYyMDdlODRkZjNmNDk5OWIz
NmY1NWYyZGY2ZjhjOTlkNTc2Yi4uYTMyOTRhM2ZmYjNiODk1NDVmOWI0OTAxZTZkMTcyZWQ4ZGNk
M2JmMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jZi9Db3JlTWVkaWFTb2Z0
TGluay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jZi9Db3JlTWVkaWFTb2Z0TGlu
ay5jcHAKQEAgLTIwMSw3ICsyMDEsNyBAQCBTT0ZUX0xJTktfQ09OU1RBTlRfRk9SX1NPVVJDRV9X
SVRIX0VYUE9SVChQQUwsIENvcmVNZWRpYSwga0NNU2FtcGxlQXR0YWNobWVudEtleQogU09GVF9M
SU5LX0NPTlNUQU5UX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBDb3JlTWVkaWEsIGtDTVNh
bXBsZUJ1ZmZlckNvbnN1bWVyTm90aWZpY2F0aW9uX0J1ZmZlckNvbnN1bWVkLCBDRlN0cmluZ1Jl
ZiwgUEFMX0VYUE9SVCkKIFNPRlRfTElOS19DT05TVEFOVF9GT1JfU09VUkNFX1dJVEhfRVhQT1JU
KFBBTCwgQ29yZU1lZGlhLCBrQ01TYW1wbGVCdWZmZXJBdHRhY2htZW50S2V5X0VuZHNQcmV2aW91
c1NhbXBsZUR1cmF0aW9uLCBDRlN0cmluZ1JlZiwgUEFMX0VYUE9SVCkKIFNPRlRfTElOS19DT05T
VEFOVF9GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQ29yZU1lZGlhLCBrQ01TYW1wbGVCdWZm
ZXJBdHRhY2htZW50S2V5X0dyYWR1YWxEZWNvZGVyUmVmcmVzaCwgQ0ZTdHJpbmdSZWYsIFBBTF9F
WFBPUlQpCi1TT0ZUX0xJTktfQ09OU1RBTlRfRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIENv
cmVNZWRpYSwgZ2V0X0NvcmVNZWRpYV9rQ01TYW1wbGVCdWZmZXJBdHRhY2htZW50S2V5X1RyaW1E
dXJhdGlvbkF0U3RhcnQsIENGU3RyaW5nUmVmLCBQQUxfRVhQT1JUKQorU09GVF9MSU5LX0NPTlNU
QU5UX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBDb3JlTWVkaWEsIGtDTVNhbXBsZUJ1ZmZl
ckF0dGFjaG1lbnRLZXlfVHJpbUR1cmF0aW9uQXRTdGFydCwgQ0ZTdHJpbmdSZWYsIFBBTF9FWFBP
UlQpCiAKIFNPRlRfTElOS19DT05TVEFOVF9GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQ29y
ZU1lZGlhLCBrQ01UaW1lYmFzZU5vdGlmaWNhdGlvbl9FZmZlY3RpdmVSYXRlQ2hhbmdlZCwgQ0ZT
dHJpbmdSZWYsIFBBTF9FWFBPUlQpCiBTT0ZUX0xJTktfQ09OU1RBTlRfRk9SX1NPVVJDRV9XSVRI
X0VYUE9SVChQQUwsIENvcmVNZWRpYSwga0NNVGltZWJhc2VOb3RpZmljYXRpb25fVGltZUp1bXBl
ZCwgQ0ZTdHJpbmdSZWYsIFBBTF9FWFBPUlQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Q
QUwvcGFsL2NmL0NvcmVNZWRpYVNvZnRMaW5rLmggYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2Nm
L0NvcmVNZWRpYVNvZnRMaW5rLmgKaW5kZXggNTcwYTZhOTg1M2M0NDgxNjhiOTkwMjIwNDIzMDA5
NmRmZThmZWIwMS4uMGNlYjRjY2Y5OWUwMTNlZjJiY2VmNWZlNzc5ZThjOTliZDI4YzUyNSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jZi9Db3JlTWVkaWFTb2Z0TGluay5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY2YvQ29yZU1lZGlhU29mdExpbmsuaApAQCAtMzI2
LDggKzMyNiw4IEBAIFNPRlRfTElOS19DT05TVEFOVF9GT1JfSEVBREVSKFBBTCwgQ29yZU1lZGlh
LCBrQ01TYW1wbGVCdWZmZXJBdHRhY2htZW50S2V5X0VuZHNQCiAjZGVmaW5lIGtDTVNhbXBsZUJ1
ZmZlckF0dGFjaG1lbnRLZXlfRW5kc1ByZXZpb3VzU2FtcGxlRHVyYXRpb24gZ2V0X0NvcmVNZWRp
YV9rQ01TYW1wbGVCdWZmZXJBdHRhY2htZW50S2V5X0VuZHNQcmV2aW91c1NhbXBsZUR1cmF0aW9u
KCkKIFNPRlRfTElOS19DT05TVEFOVF9GT1JfSEVBREVSKFBBTCwgQ29yZU1lZGlhLCBrQ01TYW1w
bGVCdWZmZXJBdHRhY2htZW50S2V5X0dyYWR1YWxEZWNvZGVyUmVmcmVzaCwgQ0ZTdHJpbmdSZWYp
CiAjZGVmaW5lIGtDTVNhbXBsZUJ1ZmZlckF0dGFjaG1lbnRLZXlfR3JhZHVhbERlY29kZXJSZWZy
ZXNoIGdldF9Db3JlTWVkaWFfa0NNU2FtcGxlQnVmZmVyQXR0YWNobWVudEtleV9HcmFkdWFsRGVj
b2RlclJlZnJlc2goKQotU09GVF9MSU5LX0NPTlNUQU5UX0ZPUl9IRUFERVIoUEFMLCBDb3JlTWVk
aWEsIGdldF9Db3JlTWVkaWFfa0NNU2FtcGxlQnVmZmVyQXR0YWNobWVudEtleV9UcmltRHVyYXRp
b25BdFN0YXJ0LCBDRlN0cmluZ1JlZikKLSNkZWZpbmUgZ2V0X0NvcmVNZWRpYV9rQ01TYW1wbGVC
dWZmZXJBdHRhY2htZW50S2V5X1RyaW1EdXJhdGlvbkF0U3RhcnQgZ2V0X0NvcmVNZWRpYV9rQ01T
YW1wbGVCdWZmZXJBdHRhY2htZW50S2V5X1RyaW1EdXJhdGlvbkF0U3RhcnQoKQorU09GVF9MSU5L
X0NPTlNUQU5UX0ZPUl9IRUFERVIoUEFMLCBDb3JlTWVkaWEsIGtDTVNhbXBsZUJ1ZmZlckF0dGFj
aG1lbnRLZXlfVHJpbUR1cmF0aW9uQXRTdGFydCwgQ0ZTdHJpbmdSZWYpCisjZGVmaW5lIGtDTVNh
bXBsZUJ1ZmZlckF0dGFjaG1lbnRLZXlfVHJpbUR1cmF0aW9uQXRTdGFydCBnZXRfQ29yZU1lZGlh
X2tDTVNhbXBsZUJ1ZmZlckF0dGFjaG1lbnRLZXlfVHJpbUR1cmF0aW9uQXRTdGFydCgpCiAKIFNP
RlRfTElOS19DT05TVEFOVF9GT1JfSEVBREVSKFBBTCwgQ29yZU1lZGlhLCBrQ01UaW1lYmFzZU5v
dGlmaWNhdGlvbl9FZmZlY3RpdmVSYXRlQ2hhbmdlZCwgQ0ZTdHJpbmdSZWYpCiAjZGVmaW5lIGtD
TVRpbWViYXNlTm90aWZpY2F0aW9uX0VmZmVjdGl2ZVJhdGVDaGFuZ2VkIGdldF9Db3JlTWVkaWFf
a0NNVGltZWJhc2VOb3RpZmljYXRpb25fRWZmZWN0aXZlUmF0ZUNoYW5nZWQoKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY3YvSW1hZ2VUcmFuc2ZlclNlc3Np
b25WVC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY3YvSW1hZ2VUcmFuc2Zl
clNlc3Npb25WVC5oCmluZGV4IGVjOTViZmI4MzRhZjNjY2UyMjc0YjVkZTVkZTc2YmYzMzMyMzZh
Y2UuLjkxNTliOWI2NzdhMDg1NTlhMzdhYjY4MDEwYTRkMTExM2FiNjcwYzUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2N2L0ltYWdlVHJhbnNmZXJTZXNzaW9u
VlQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jdi9JbWFnZVRyYW5z
ZmVyU2Vzc2lvblZULmgKQEAgLTUxLDExICs1MSw5IEBAIHB1YmxpYzoKICAgICBSZWZQdHI8TWVk
aWFTYW1wbGU+IGNyZWF0ZU1lZGlhU2FtcGxlKENHSW1hZ2VSZWYsIGNvbnN0IE1lZGlhVGltZSYs
IGNvbnN0IEludFNpemUmLCBNZWRpYVNhbXBsZTo6VmlkZW9Sb3RhdGlvbiA9IE1lZGlhU2FtcGxl
OjpWaWRlb1JvdGF0aW9uOjpOb25lLCBib29sIG1pcnJvcmVkID0gZmFsc2UpOwogICAgIFJlZlB0
cjxNZWRpYVNhbXBsZT4gY3JlYXRlTWVkaWFTYW1wbGUoQ01TYW1wbGVCdWZmZXJSZWYsIGNvbnN0
IE1lZGlhVGltZSYsIGNvbnN0IEludFNpemUmLCBNZWRpYVNhbXBsZTo6VmlkZW9Sb3RhdGlvbiA9
IE1lZGlhU2FtcGxlOjpWaWRlb1JvdGF0aW9uOjpOb25lLCBib29sIG1pcnJvcmVkID0gZmFsc2Up
OwogCi0jaWYgIVBMQVRGT1JNKE1BQ0NBVEFMWVNUKQogICAgIFdFQkNPUkVfRVhQT1JUIFJlZlB0
cjxNZWRpYVNhbXBsZT4gY3JlYXRlTWVkaWFTYW1wbGUoSU9TdXJmYWNlUmVmLCBjb25zdCBNZWRp
YVRpbWUmLCBjb25zdCBJbnRTaXplJiwgTWVkaWFTYW1wbGU6OlZpZGVvUm90YXRpb24gPSBNZWRp
YVNhbXBsZTo6VmlkZW9Sb3RhdGlvbjo6Tm9uZSwgYm9vbCBtaXJyb3JlZCA9IGZhbHNlKTsKICNp
ZiBFTkFCTEUoTUVESUFfU1RSRUFNKQogICAgIFdFQkNPUkVfRVhQT1JUIFJlZlB0cjxNZWRpYVNh
bXBsZT4gY3JlYXRlTWVkaWFTYW1wbGUoY29uc3QgUmVtb3RlVmlkZW9TYW1wbGUmKTsKLSNlbmRp
ZgogI2VuZGlmCiAKICAgICB1aW50MzJfdCBwaXhlbEZvcm1hdCgpIGNvbnN0IHsgcmV0dXJuIG1f
cGl4ZWxGb3JtYXQ7IH0KQEAgLTYzLDkgKzYxLDcgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICBX
RUJDT1JFX0VYUE9SVCBleHBsaWNpdCBJbWFnZVRyYW5zZmVyU2Vzc2lvblZUKHVpbnQzMl90IHBp
eGVsRm9ybWF0KTsKIAotI2lmICFQTEFURk9STShNQUNDQVRBTFlTVCkKICAgICBSZXRhaW5QdHI8
Q01TYW1wbGVCdWZmZXJSZWY+IGNyZWF0ZUNNU2FtcGxlQnVmZmVyKElPU3VyZmFjZVJlZiwgY29u
c3QgTWVkaWFUaW1lJiwgY29uc3QgSW50U2l6ZSYpOwotI2VuZGlmCiAKICAgICBSZXRhaW5QdHI8
Q01TYW1wbGVCdWZmZXJSZWY+IGNvbnZlcnRDTVNhbXBsZUJ1ZmZlcihDTVNhbXBsZUJ1ZmZlclJl
ZiwgY29uc3QgSW50U2l6ZSYsIGNvbnN0IE1lZGlhVGltZSogPSBudWxscHRyKTsKICAgICBSZXRh
aW5QdHI8Q01TYW1wbGVCdWZmZXJSZWY+IGNyZWF0ZUNNU2FtcGxlQnVmZmVyKENWUGl4ZWxCdWZm
ZXJSZWYsIGNvbnN0IE1lZGlhVGltZSYsIGNvbnN0IEludFNpemUmKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2N2L0ltYWdlVHJhbnNmZXJTZXNzaW9uVlQu
bW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jdi9JbWFnZVRyYW5zZmVyU2Vz
c2lvblZULm1tCmluZGV4IGFiYjk5MjM5M2U1NzUzYjM2OWU3YzU1NDQ2YTExYmQwNzM3YWQ5NGIu
LjdjNzIzNGRkZTk1YzQ2MWQ0ZmE0ODlhNDgyOTBkZjY4NjgyNmMxMjMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2N2L0ltYWdlVHJhbnNmZXJTZXNzaW9uVlQu
bW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY3YvSW1hZ2VUcmFuc2Zl
clNlc3Npb25WVC5tbQpAQCAtMzQsOSArMzQsNyBAQAogI2ltcG9ydCA8Q29yZU1lZGlhL0NNRm9y
bWF0RGVzY3JpcHRpb24uaD4KICNpbXBvcnQgPENvcmVNZWRpYS9DTVNhbXBsZUJ1ZmZlci5oPgog
Ci0jaWYgIVBMQVRGT1JNKE1BQ0NBVEFMWVNUKQogI2ltcG9ydCA8cGFsL3NwaS9jb2NvYS9JT1N1
cmZhY2VTUEkuaD4KLSNlbmRpZgogCiAjaW1wb3J0ICJDb3JlVmlkZW9Tb2Z0TGluay5oIgogI2lt
cG9ydCAiVmlkZW9Ub29sYm94U29mdExpbmsuaCIKQEAgLTYzLDcgKzYxLDcgQEAgSW1hZ2VUcmFu
c2ZlclNlc3Npb25WVDo6SW1hZ2VUcmFuc2ZlclNlc3Npb25WVCh1aW50MzJfdCBwaXhlbEZvcm1h
dCkKICAgICBpZiAoc3RhdHVzICE9IGtDVlJldHVyblN1Y2Nlc3MpCiAgICAgICAgIFJFTEVBU0Vf
TE9HKE1lZGlhLCAiSW1hZ2VUcmFuc2ZlclNlc3Npb25WVDo6SW1hZ2VUcmFuc2ZlclNlc3Npb25W
VDogVlRTZXNzaW9uU2V0UHJvcGVydHkoa1ZUUGl4ZWxUcmFuc2ZlclByb3BlcnR5S2V5X1JlYWxU
aW1lKSBmYWlsZWQgd2l0aCBlcnJvciAlZCIsIHN0YXRpY19jYXN0PGludD4oc3RhdHVzKSk7CiAK
LSNpZiBQTEFURk9STShJT1NfRkFNSUxZKSAmJiAhUExBVEZPUk0oTUFDQ0FUQUxZU1QpCisjaWYg
UExBVEZPUk0oSU9TX0ZBTUlMWSkKICAgICBzdGF0dXMgPSBWVFNlc3Npb25TZXRQcm9wZXJ0eSh0
cmFuc2ZlclNlc3Npb24sIGtWVFBpeGVsVHJhbnNmZXJQcm9wZXJ0eUtleV9FbmFibGVIYXJkd2Fy
ZUFjY2VsZXJhdGVkVHJhbnNmZXIsIEBZRVMpOwogICAgIGlmIChzdGF0dXMgIT0ga0NWUmV0dXJu
U3VjY2VzcykKICAgICAgICAgUkVMRUFTRV9MT0coTWVkaWEsICJJbWFnZVRyYW5zZmVyU2Vzc2lv
blZUOjpJbWFnZVRyYW5zZmVyU2Vzc2lvblZUOiBWVFNlc3Npb25TZXRQcm9wZXJ0eShrVlRQaXhl
bFRyYW5zZmVyUHJvcGVydHlLZXlfRW5hYmxlSGFyZHdhcmVBY2NlbGVyYXRlZFRyYW5zZmVyKSBm
YWlsZWQgd2l0aCBlcnJvciAlZCIsIHN0YXRpY19jYXN0PGludD4oc3RhdHVzKSk7CkBAIC0yNDAs
OCArMjM4LDYgQEAgUmV0YWluUHRyPENNU2FtcGxlQnVmZmVyUmVmPiBJbWFnZVRyYW5zZmVyU2Vz
c2lvblZUOjpjcmVhdGVDTVNhbXBsZUJ1ZmZlcihDR0ltYWcKICAgICByZXR1cm4gY3JlYXRlQ01T
YW1wbGVCdWZmZXIocGl4ZWxCdWZmZXIuZ2V0KCksIHNhbXBsZVRpbWUsIHNpemUpOwogfQogCi0j
aWYgIVBMQVRGT1JNKE1BQ0NBVEFMWVNUKQotCiBSZXRhaW5QdHI8Q01TYW1wbGVCdWZmZXJSZWY+
IEltYWdlVHJhbnNmZXJTZXNzaW9uVlQ6OmNyZWF0ZUNNU2FtcGxlQnVmZmVyKElPU3VyZmFjZVJl
ZiBzdXJmYWNlLCBjb25zdCBNZWRpYVRpbWUgJnNhbXBsZVRpbWUsIGNvbnN0IEludFNpemUgJnNp
emUpCiB7CiAgICAgaWYgKCFzdXJmYWNlIHx8ICFzZXRTaXplKHNpemUpKQpAQCAtMjUyLDcgKzI0
OCw2IEBAIFJldGFpblB0cjxDTVNhbXBsZUJ1ZmZlclJlZj4gSW1hZ2VUcmFuc2ZlclNlc3Npb25W
VDo6Y3JlYXRlQ01TYW1wbGVCdWZmZXIoSU9TdXJmCiAKICAgICByZXR1cm4gY3JlYXRlQ01TYW1w
bGVCdWZmZXIocGl4ZWxCdWZmZXIuZ2V0KCksIHNhbXBsZVRpbWUsIHNpemUpOwogfQotI2VuZGlm
CiAKIFJlZlB0cjxNZWRpYVNhbXBsZT4gSW1hZ2VUcmFuc2ZlclNlc3Npb25WVDo6Y29udmVydE1l
ZGlhU2FtcGxlKE1lZGlhU2FtcGxlJiBzYW1wbGUsIGNvbnN0IEludFNpemUmIHNpemUpCiB7CkBA
IC0yNjgsNyArMjYzLDYgQEAgUmVmUHRyPE1lZGlhU2FtcGxlPiBJbWFnZVRyYW5zZmVyU2Vzc2lv
blZUOjpjb252ZXJ0TWVkaWFTYW1wbGUoTWVkaWFTYW1wbGUmIHNhbXAKICAgICByZXR1cm4gTWVk
aWFTYW1wbGVBVkZPYmpDOjpjcmVhdGUocmVzaXplZEJ1ZmZlci5nZXQoKSwgc2FtcGxlLnZpZGVv
Um90YXRpb24oKSwgc2FtcGxlLnZpZGVvTWlycm9yZWQoKSk7CiB9CiAKLSNpZiAhUExBVEZPUk0o
TUFDQ0FUQUxZU1QpCiAjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKIFJlZlB0cjxNZWRpYVNhbXBs
ZT4gSW1hZ2VUcmFuc2ZlclNlc3Npb25WVDo6Y3JlYXRlTWVkaWFTYW1wbGUoY29uc3QgUmVtb3Rl
VmlkZW9TYW1wbGUmIHJlbW90ZVNhbXBsZSkKIHsKQEAgLTI4NCw3ICsyNzgsNiBAQCBSZWZQdHI8
TWVkaWFTYW1wbGU+IEltYWdlVHJhbnNmZXJTZXNzaW9uVlQ6OmNyZWF0ZU1lZGlhU2FtcGxlKElP
U3VyZmFjZVJlZiBzdXJmYQogCiAgICAgcmV0dXJuIE1lZGlhU2FtcGxlQVZGT2JqQzo6Y3JlYXRl
KHNhbXBsZUJ1ZmZlci5nZXQoKSwgcm90YXRpb24sIG1pcnJvcmVkKTsKIH0KLSNlbmRpZgogCiBS
ZWZQdHI8TWVkaWFTYW1wbGU+IEltYWdlVHJhbnNmZXJTZXNzaW9uVlQ6OmNyZWF0ZU1lZGlhU2Ft
cGxlKENHSW1hZ2VSZWYgaW1hZ2UsIGNvbnN0IE1lZGlhVGltZSYgc2FtcGxlVGltZSwgY29uc3Qg
SW50U2l6ZSYgc2l6ZSwgTWVkaWFTYW1wbGU6OlZpZGVvUm90YXRpb24gcm90YXRpb24sIGJvb2wg
bWlycm9yZWQpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXJl
Y29yZGVyL2NvY29hL0F1ZGlvU2FtcGxlQnVmZmVyQ29tcHJlc3Nvci5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9jb2NvYS9BdWRpb1NhbXBsZUJ1ZmZlckNvbXByZXNz
b3IuaAppbmRleCBhNmE1NTI0YmE2ZDM4MDk5ZWMyZmMzNGViY2I4YjBlNjUxYjQ0YzQwLi5jNmNi
MGM3ZjBmNGVhZGNkOGMxMjEzMzkyZWIyNWMyYTMzYmQ4YTlmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL2NvY29hL0F1ZGlvU2FtcGxlQnVmZmVyQ29t
cHJlc3Nvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhcmVjb3JkZXIvY29j
b2EvQXVkaW9TYW1wbGVCdWZmZXJDb21wcmVzc29yLmgKQEAgLTc5LDkgKzc5LDkgQEAgcHJpdmF0
ZToKICAgICBVSW50MzIgbV9tYXhPdXRwdXRQYWNrZXRTaXplIHsgMCB9OwogICAgIFZlY3RvcjxB
dWRpb1N0cmVhbVBhY2tldERlc2NyaXB0aW9uPiBtX2Rlc3RpbmF0aW9uUGFja2V0RGVzY3JpcHRp
b25zOwogCi0gICAgQ01UaW1lIG1fY3VycmVudE5hdGl2ZVByZXNlbnRhdGlvblRpbWVTdGFtcCB7
IGtDTVRpbWVJbnZhbGlkIH07Ci0gICAgQ01UaW1lIG1fY3VycmVudE91dHB1dFByZXNlbnRhdGlv
blRpbWVTdGFtcCB7IGtDTVRpbWVJbnZhbGlkIH07Ci0gICAgQ01UaW1lIG1fcmVtYWluaW5nUHJp
bWVEdXJhdGlvbiB7IGtDTVRpbWVJbnZhbGlkIH07CisgICAgQ01UaW1lIG1fY3VycmVudE5hdGl2
ZVByZXNlbnRhdGlvblRpbWVTdGFtcDsKKyAgICBDTVRpbWUgbV9jdXJyZW50T3V0cHV0UHJlc2Vu
dGF0aW9uVGltZVN0YW1wOworICAgIENNVGltZSBtX3JlbWFpbmluZ1ByaW1lRHVyYXRpb247CiAK
ICAgICBWZWN0b3I8dWludDhfdD4gbV9zb3VyY2VCdWZmZXI7CiAgICAgVmVjdG9yPHVpbnQ4X3Q+
IG1fZGVzdGluYXRpb25CdWZmZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tZWRpYXJlY29yZGVyL2NvY29hL0F1ZGlvU2FtcGxlQnVmZmVyQ29tcHJlc3Nvci5tbSBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhcmVjb3JkZXIvY29jb2EvQXVkaW9TYW1wbGVCdWZm
ZXJDb21wcmVzc29yLm1tCmluZGV4IGRjMGIwMTYwMmU3ZDNlZGI4NTY4MThiMDM5MzU3M2Q0NmFl
ZTZkYjMuLjc2OTcwMzcyMzVmN2YwNjkwY2Y1MmMzYTMzZDk2YTRkZTA3ZDA5NDMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhcmVjb3JkZXIvY29jb2EvQXVkaW9TYW1w
bGVCdWZmZXJDb21wcmVzc29yLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlh
cmVjb3JkZXIvY29jb2EvQXVkaW9TYW1wbGVCdWZmZXJDb21wcmVzc29yLm1tCkBAIC01MSw4ICs1
MSwxMSBAQCBzdGQ6OnVuaXF1ZV9wdHI8QXVkaW9TYW1wbGVCdWZmZXJDb21wcmVzc29yPiBBdWRp
b1NhbXBsZUJ1ZmZlckNvbXByZXNzb3I6OmNyZWF0ZQogfQogCiBBdWRpb1NhbXBsZUJ1ZmZlckNv
bXByZXNzb3I6OkF1ZGlvU2FtcGxlQnVmZmVyQ29tcHJlc3NvcigpCi0gICAgOiBtX3NlcmlhbERp
c3BhdGNoUXVldWUoV29ya1F1ZXVlOjpjcmVhdGUoImNvbS5hcHBsZS5BdWRpb1NhbXBsZUJ1ZmZl
ckNvbXByZXNzb3IiKSkKLSAgICAsIG1fbG93V2F0ZXJUaW1lKFBBTDo6Q01UaW1lTWFrZVdpdGhT
ZWNvbmRzKExPV19XQVRFUl9USU1FX0lOX1NFQ09ORFMsIDEwMDApKQorICAgIDogbV9zZXJpYWxE
aXNwYXRjaFF1ZXVlIHsgV29ya1F1ZXVlOjpjcmVhdGUoImNvbS5hcHBsZS5BdWRpb1NhbXBsZUJ1
ZmZlckNvbXByZXNzb3IiKSB9CisgICAgLCBtX2xvd1dhdGVyVGltZSB7IFBBTDo6Q01UaW1lTWFr
ZVdpdGhTZWNvbmRzKExPV19XQVRFUl9USU1FX0lOX1NFQ09ORFMsIDEwMDApIH0KKyAgICAsIG1f
Y3VycmVudE5hdGl2ZVByZXNlbnRhdGlvblRpbWVTdGFtcCB7IFBBTDo6a0NNVGltZUludmFsaWQg
fQorICAgICwgbV9jdXJyZW50T3V0cHV0UHJlc2VudGF0aW9uVGltZVN0YW1wIHsgUEFMOjprQ01U
aW1lSW52YWxpZCB9CisgICAgLCBtX3JlbWFpbmluZ1ByaW1lRHVyYXRpb24geyBQQUw6OmtDTVRp
bWVJbnZhbGlkIH0KIHsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bWVkaWFyZWNvcmRlci9jb2NvYS9WaWRlb1NhbXBsZUJ1ZmZlckNvbXByZXNzb3IubW0gYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL2NvY29hL1ZpZGVvU2FtcGxlQnVmZmVy
Q29tcHJlc3Nvci5tbQppbmRleCBiODlkZjA0NGQ3NGNiMTA3ZTZkY2E4YTlkMmVmYmYyMWJlNDUx
MWQxLi5iZjU3MWFhNDY3YWI3ZjM5MGYwNDQ2YjE1MWU1MTczOTJlMzNjMmJjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL2NvY29hL1ZpZGVvU2FtcGxl
QnVmZmVyQ29tcHJlc3Nvci5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXJl
Y29yZGVyL2NvY29hL1ZpZGVvU2FtcGxlQnVmZmVyQ29tcHJlc3Nvci5tbQpAQCAtMzIsMTAgKzMy
LDEwIEBACiAjaW1wb3J0IDxDb3JlTWVkaWEvQ29yZU1lZGlhLmg+CiAjaW1wb3J0IDxGb3VuZGF0
aW9uL0ZvdW5kYXRpb24uaD4KICNpbXBvcnQgPFZpZGVvVG9vbGJveC9WVENvbXByZXNzaW9uU2Vz
c2lvbi5oPgotI2ltcG9ydCA8d3RmL1NvZnRMaW5raW5nLmg+CiAKICNpbXBvcnQgPHBhbC9jZi9D
b3JlTWVkaWFTb2Z0TGluay5oPgogI2ltcG9ydCA8cGFsL2NmL1ZpZGVvVG9vbGJveFNvZnRMaW5r
Lmg+CisjaW1wb3J0ICJWaWRlb1Rvb2xib3hTb2Z0TGluay5oIgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2Nv
Y29hL0F1ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRlcmVyQ29jb2EuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vY29jb2EvQXVkaW9NZWRpYVN0cmVhbVRyYWNrUmVuZGVy
ZXJDb2NvYS5jcHAKaW5kZXggMDUwZTg5MzM2OWFjZjIyNmY3ZTQyZTNmYTRiMzRiOTI0OTZmMWIz
NC4uYjJlZDllMDkwMjFmNGFkODBlZmRmNjFiMjVhMWQ5YTA0NDZkZWNmZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vY29jb2EvQXVkaW9NZWRpYVN0cmVh
bVRyYWNrUmVuZGVyZXJDb2NvYS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVk
aWFzdHJlYW0vY29jb2EvQXVkaW9NZWRpYVN0cmVhbVRyYWNrUmVuZGVyZXJDb2NvYS5jcHAKQEAg
LTYyLDggKzYyLDEwIEBAIHZvaWQgQXVkaW9NZWRpYVN0cmVhbVRyYWNrUmVuZGVyZXJDb2NvYTo6
c3RhcnQoQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmIGNhbGxiCiAKIEJhc2VBdWRpb01lZGlh
U3RyZWFtVHJhY2tSZW5kZXJlclVuaXQmIEF1ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRlcmVyQ29j
b2E6OnJlbmRlcmVyVW5pdCgpCiB7CisjaWYgVVNFKExJQldFQlJUQykKICAgICBpZiAoYXV0byog
YXVkaW9Nb2R1bGUgPSB0aGlzLT5hdWRpb01vZHVsZSgpKQogICAgICAgICByZXR1cm4gYXVkaW9N
b2R1bGUtPmluY29taW5nQXVkaW9NZWRpYVN0cmVhbVRyYWNrUmVuZGVyZXJVbml0KCk7CisjZW5k
aWYKICAgICByZXR1cm4gQXVkaW9NZWRpYVN0cmVhbVRyYWNrUmVuZGVyZXJVbml0OjpzaW5nbGV0
b24oKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJl
YW0vY29jb2EvRGlzcGxheUNhcHR1cmVTb3VyY2VDb2NvYS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tZWRpYXN0cmVhbS9jb2NvYS9EaXNwbGF5Q2FwdHVyZVNvdXJjZUNvY29hLmNwcApp
bmRleCBjOWI5MjQyMTNkNWFlMDc4MmM4YmE2ZTgyYzBkMTlkMjI0MWMxYmU3Li40NDI5YTllMDI1
YWQ0Y2IzZTJkZGE3OGMxOTRiMzE5ZDhmNWRiMWRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9jb2NvYS9EaXNwbGF5Q2FwdHVyZVNvdXJjZUNvY29hLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9jb2NvYS9EaXNwbGF5
Q2FwdHVyZVNvdXJjZUNvY29hLmNwcApAQCAtNjAsOCArNjAsMTIgQEAgQ2FwdHVyZVNvdXJjZU9y
RXJyb3IgRGlzcGxheUNhcHR1cmVTb3VyY2VDb2NvYTo6Y3JlYXRlKGNvbnN0IENhcHR1cmVEZXZp
Y2UmIGRldmkKICAgICBjYXNlIENhcHR1cmVEZXZpY2U6OkRldmljZVR5cGU6OlNjcmVlbjoKICNp
ZiBQTEFURk9STShJT1MpCiAgICAgICAgIHJldHVybiBjcmVhdGUoUmVwbGF5S2l0Q2FwdHVyZVNv
dXJjZTo6Y3JlYXRlKGRldmljZS5wZXJzaXN0ZW50SWQoKSksIGRldmljZSwgV1RGTW92ZShoYXNo
U2FsdCksIGNvbnN0cmFpbnRzKTsKLSNlbHNlCisjZWxpZiAhUExBVEZPUk0oTUFDQ0FUQUxZU1Qp
CiAgICAgICAgIHJldHVybiBjcmVhdGUoQ0dEaXNwbGF5U3RyZWFtU2NyZWVuQ2FwdHVyZVNvdXJj
ZTo6Y3JlYXRlKGRldmljZS5wZXJzaXN0ZW50SWQoKSksIGRldmljZSwgV1RGTW92ZShoYXNoU2Fs
dCksIGNvbnN0cmFpbnRzKTsKKyNlbHNlCisgICAgICAgIFVOVVNFRF9QQVJBTShoYXNoU2FsdCk7
CisgICAgICAgIFVOVVNFRF9QQVJBTShjb25zdHJhaW50cyk7CisgICAgICAgIEZBTExUSFJPVUdI
OwogI2VuZGlmCiAgICAgY2FzZSBDYXB0dXJlRGV2aWNlOjpEZXZpY2VUeXBlOjpXaW5kb3c6CiAg
ICAgY2FzZSBDYXB0dXJlRGV2aWNlOjpEZXZpY2VUeXBlOjpNaWNyb3Bob25lOgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vY29jb2EvSW5jb21pbmdBdWRp
b01lZGlhU3RyZWFtVHJhY2tSZW5kZXJlclVuaXQuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbWVkaWFzdHJlYW0vY29jb2EvSW5jb21pbmdBdWRpb01lZGlhU3RyZWFtVHJhY2tSZW5kZXJl
clVuaXQuY3BwCmluZGV4IDkyOTg5ZWZmYmNlODg5NDgwMDljM2YwMTI2OTkzMzA5M2RhZDQwNzQu
LjVmODc5OWNiMWE0Mzk0ZTgwZGE1ZmJiYzY2MDlkZTU0OWZiN2ZmNGQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2NvY29hL0luY29taW5nQXVkaW9NZWRp
YVN0cmVhbVRyYWNrUmVuZGVyZXJVbml0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tZWRpYXN0cmVhbS9jb2NvYS9JbmNvbWluZ0F1ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRlcmVy
VW5pdC5jcHAKQEAgLTI2LDcgKzI2LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRl
ICJJbmNvbWluZ0F1ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRlcmVyVW5pdC5oIgogCi0jaWYgRU5B
QkxFKE1FRElBX1NUUkVBTSkKKyNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKSAmJiBVU0UoTElCV0VC
UlRDKQogCiAjaW5jbHVkZSAiQXVkaW9NZWRpYVN0cmVhbVRyYWNrUmVuZGVyZXJVbml0LmgiCiAj
aW5jbHVkZSAiQXVkaW9TYW1wbGVEYXRhU291cmNlLmgiCkBAIC0yMDAsNCArMjAwLDQgQEAgY29u
c3Qgdm9pZCogSW5jb21pbmdBdWRpb01lZGlhU3RyZWFtVHJhY2tSZW5kZXJlclVuaXQ6OmxvZ0lk
ZW50aWZpZXIoKSBjb25zdAogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKLSNlbmRpZiAvLyBF
TkFCTEUoTUVESUFfU1RSRUFNKQorI2VuZGlmIC8vIEVOQUJMRShNRURJQV9TVFJFQU0pICYmIFVT
RShMSUJXRUJSVEMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0
cmVhbS9jb2NvYS9JbmNvbWluZ0F1ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRlcmVyVW5pdC5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vY29jb2EvSW5jb21pbmdBdWRpb01l
ZGlhU3RyZWFtVHJhY2tSZW5kZXJlclVuaXQuaAppbmRleCBjNjBmOTk4NzlhMDkwZDMwNDkyNTJk
NThhODk2MzdhZWUxMTE1ZTE2Li5iZjg0MmU1MTJhZmQxZTI0M2EzMWI4NTE1NmE2NGQ1ODYyYzkw
NDRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9jb2Nv
YS9JbmNvbWluZ0F1ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRlcmVyVW5pdC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2NvY29hL0luY29taW5nQXVkaW9NZWRpYVN0
cmVhbVRyYWNrUmVuZGVyZXJVbml0LmgKQEAgLTI1LDcgKzI1LDcgQEAKIAogI3ByYWdtYSBvbmNl
CiAKLSNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQorI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pICYm
IFVTRShMSUJXRUJSVEMpCiAKICNpbmNsdWRlICJCYXNlQXVkaW9NZWRpYVN0cmVhbVRyYWNrUmVu
ZGVyZXJVbml0LmgiCiAjaW5jbHVkZSAiQ0FBdWRpb1N0cmVhbURlc2NyaXB0aW9uLmgiCkBAIC0x
MDIsNCArMTAyLDQgQEAgcHJpdmF0ZToKIAogfQogCi0jZW5kaWYgLy8gRU5BQkxFKE1FRElBX1NU
UkVBTSkKKyNlbmRpZiAvLyBFTkFCTEUoTUVESUFfU1RSRUFNKSAmJiBVU0UoTElCV0VCUlRDKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0FWVmlk
ZW9DYXB0dXJlU291cmNlLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0v
bWFjL0FWVmlkZW9DYXB0dXJlU291cmNlLm1tCmluZGV4IDJkZGQ3YzdhYWJlNzAwOTU5OThiNzJi
MzBkZjQ0YmUwOTI3NTdmMWQuLmRmYzU2NjRhYmIwYzdiMDE5Mzg1NjI2ODM0MjMwYWNmYjlmZDI4
ZGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9B
VlZpZGVvQ2FwdHVyZVNvdXJjZS5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRp
YXN0cmVhbS9tYWMvQVZWaWRlb0NhcHR1cmVTb3VyY2UubW0KQEAgLTQyMyw3ICs0MjMsNyBAQCBi
b29sIEFWVmlkZW9DYXB0dXJlU291cmNlOjpzZXR1cFNlc3Npb24oKQogCiAgICAgQUxXQVlTX0xP
R19JRihsb2dnZXJQdHIoKSwgTE9HSURFTlRJRklFUik7CiAKLSNpZiBFTkFCTEUoQVBQX1BSSVZB
Q1lfUkVQT1JUKQorI2lmIEVOQUJMRShBUFBfUFJJVkFDWV9SRVBPUlQpICYmICFQTEFURk9STShN
QUNDQVRBTFlTVCkKICAgICBhdXRvIGlkZW50aXR5ID0gUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRl
cjo6c2luZ2xldG9uKCkuaWRlbnRpdHkoKTsKICAgICBpZiAoaWRlbnRpdHkgJiYgW1BBTDo6YWxs
b2NBVkNhcHR1cmVTZXNzaW9uSW5zdGFuY2UoKSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9y
KGluaXRXaXRoQXNzdW1lZElkZW50aXR5OildKQogICAgICAgICBtX3Nlc3Npb24gPSBhZG9wdE5T
KFtQQUw6OmFsbG9jQVZDYXB0dXJlU2Vzc2lvbkluc3RhbmNlKCkgaW5pdFdpdGhBc3N1bWVkSWRl
bnRpdHk6aWRlbnRpdHkuZ2V0KCldKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGltZUluY29taW5nVmlkZW9Tb3VyY2VDb2NvYS5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1lSW5jb21pbmdW
aWRlb1NvdXJjZUNvY29hLmgKaW5kZXggZDBmZThlMDY1ODIyZjgwN2ViYjRkNjVhMzA3YjRiZWMw
YjhmYWE2Mi4uYjNmOTM0YWY3OGFhMjM0ZWUzMDcyOTM0MGY2MTRmMjNmNWUzNjk1YyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1lSW5j
b21pbmdWaWRlb1NvdXJjZUNvY29hLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVk
aWFzdHJlYW0vbWFjL1JlYWx0aW1lSW5jb21pbmdWaWRlb1NvdXJjZUNvY29hLmgKQEAgLTI3LDIw
ICsyNywyMSBAQAogCiAjcHJhZ21hIG9uY2UKIAotI2lmIFVTRShMSUJXRUJSVEMpCi0KICNpbmNs
dWRlICJSZWFsdGltZUluY29taW5nVmlkZW9Tb3VyY2UuaCIKIAogdXNpbmcgQ01TYW1wbGVCdWZm
ZXJSZWYgPSBzdHJ1Y3Qgb3BhcXVlQ01TYW1wbGVCdWZmZXIqOwogdXNpbmcgQ1ZQaXhlbEJ1ZmZl
clBvb2xSZWYgPSBzdHJ1Y3QgX19DVlBpeGVsQnVmZmVyUG9vbCo7CiB1c2luZyBDVlBpeGVsQnVm
ZmVyUmVmID0gc3RydWN0IF9fQ1ZCdWZmZXIqOwogCisjaWYgVVNFKExJQldFQlJUQykKIG5hbWVz
cGFjZSB3ZWJydGMgewogZW51bSBjbGFzcyBCdWZmZXJUeXBlOwogfTsKKyNlbmRpZgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKKyNpZiBVU0UoTElCV0VCUlRDKQogY2xhc3MgUmVhbHRpbWVJbmNv
bWluZ1ZpZGVvU291cmNlQ29jb2EgZmluYWwgOiBwdWJsaWMgUmVhbHRpbWVJbmNvbWluZ1ZpZGVv
U291cmNlIHsKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPFJlYWx0aW1lSW5jb21pbmdWaWRlb1Nv
dXJjZUNvY29hPiBjcmVhdGUocnRjOjpzY29wZWRfcmVmcHRyPHdlYnJ0Yzo6VmlkZW9UcmFja0lu
dGVyZmFjZT4mJiwgU3RyaW5nJiYpOwpAQCAtNjQsOSArNjUsMTAgQEAgcHJpdmF0ZToKICAgICBz
aXplX3QgbV9waXhlbEJ1ZmZlclBvb2xIZWlnaHQgeyAwIH07CiAgICAgd2VicnRjOjpCdWZmZXJU
eXBlIG1fcGl4ZWxCdWZmZXJQb29sQnVmZmVyVHlwZTsKIH07CisjZW5kaWYgLy8gVVNFKExJQldF
QlJUQykKIAorI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCiBXRUJDT1JFX0VYUE9SVCBSZXRhaW5Q
dHI8Q1ZQaXhlbEJ1ZmZlclJlZj4gY3JlYXRlQmxhY2tQaXhlbEJ1ZmZlcihzaXplX3Qgd2lkdGgs
IHNpemVfdCBoZWlnaHQpOworI2VuZGlmIC8vIEVOQUJMRShNRURJQV9TVFJFQU0pCiAKIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmIC8vIFVTRShMSUJXRUJSVEMpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVJbmNvbWlu
Z1ZpZGVvU291cmNlQ29jb2EubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVh
bS9tYWMvUmVhbHRpbWVJbmNvbWluZ1ZpZGVvU291cmNlQ29jb2EubW0KaW5kZXggOWYwNjcwYzIw
YjhhNGI4YjI3NDZhMjgwYzM3MTM0NjgzY2I3ZWUxYi4uNmMxMzM1OTk1YzVjMGU5NDcyZTc3ZDQy
NTJhMDY5YjdmYjhjOTA2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVk
aWFzdHJlYW0vbWFjL1JlYWx0aW1lSW5jb21pbmdWaWRlb1NvdXJjZUNvY29hLm1tCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGltZUluY29taW5nVmlk
ZW9Tb3VyY2VDb2NvYS5tbQpAQCAtMjgsMTQgKzI4LDE0IEBACiAjaW1wb3J0ICJjb25maWcuaCIK
ICNpbXBvcnQgIlJlYWx0aW1lSW5jb21pbmdWaWRlb1NvdXJjZUNvY29hLmgiCiAKLSNpZiBVU0Uo
TElCV0VCUlRDKQotCiAjaW1wb3J0ICJDVlV0aWxpdGllcy5oIgogI2ltcG9ydCAiTG9nZ2luZy5o
IgogI2ltcG9ydCAiTWVkaWFTYW1wbGVBVkZPYmpDLmgiCiAjaW1wb3J0ICJSZWFsdGltZVZpZGVv
VXRpbGl0aWVzLmgiCiAjaW1wb3J0IDx3dGYvY2YvVHlwZUNhc3RzQ0YuaD4KIAorI2lmIFVTRShM
SUJXRUJSVEMpCisKIEFMTE9XX1VOVVNFRF9QQVJBTUVURVJTX0JFR0lOCiAjaW1wb3J0IDx3ZWJy
dGMvc2RrL1dlYktpdC9XZWJLaXRVdGlsaXRpZXMuaD4KIEFMTE9XX1VOVVNFRF9QQVJBTUVURVJT
X0VORApAQCAtNDMsOCArNDMsMTIgQEAgQUxMT1dfVU5VU0VEX1BBUkFNRVRFUlNfRU5ECiAjaW1w
b3J0ICJDb3JlVmlkZW9Tb2Z0TGluay5oIgogI2ltcG9ydCA8cGFsL2NmL0NvcmVNZWRpYVNvZnRM
aW5rLmg+CiAKKyNlbmRpZgorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKKyNpZiBVU0UoTElCV0VC
UlRDKQorCiBSZWY8UmVhbHRpbWVJbmNvbWluZ1ZpZGVvU291cmNlPiBSZWFsdGltZUluY29taW5n
VmlkZW9Tb3VyY2U6OmNyZWF0ZShydGM6OnNjb3BlZF9yZWZwdHI8d2VicnRjOjpWaWRlb1RyYWNr
SW50ZXJmYWNlPiYmIHZpZGVvVHJhY2ssIFN0cmluZyYmIHRyYWNrSWQpCiB7CiAgICAgYXV0byBz
b3VyY2UgPSBSZWFsdGltZUluY29taW5nVmlkZW9Tb3VyY2VDb2NvYTo6Y3JlYXRlKFdURk1vdmUo
dmlkZW9UcmFjayksIFdURk1vdmUodHJhY2tJZCkpOwpAQCAtNjIsMzMgKzY2LDYgQEAgUmVhbHRp
bWVJbmNvbWluZ1ZpZGVvU291cmNlQ29jb2E6OlJlYWx0aW1lSW5jb21pbmdWaWRlb1NvdXJjZUNv
Y29hKHJ0Yzo6c2NvcGVkX3IKIHsKIH0KIAotUmV0YWluUHRyPENWUGl4ZWxCdWZmZXJSZWY+IGNy
ZWF0ZUJsYWNrUGl4ZWxCdWZmZXIoc2l6ZV90IHdpZHRoLCBzaXplX3QgaGVpZ2h0KQotewotICAg
IE9TVHlwZSBmb3JtYXQgPSBwcmVmZXJlZFBpeGVsQnVmZmVyRm9ybWF0KCk7Ci0gICAgQVNTRVJU
KGZvcm1hdCA9PSBrQ1ZQaXhlbEZvcm1hdFR5cGVfNDIwWXBDYkNyOEJpUGxhbmFyVmlkZW9SYW5n
ZSB8fCBmb3JtYXQgPT0ga0NWUGl4ZWxGb3JtYXRUeXBlXzQyMFlwQ2JDcjhCaVBsYW5hckZ1bGxS
YW5nZSk7Ci0KLSAgICBDVlBpeGVsQnVmZmVyUmVmIHBpeGVsQnVmZmVyID0gbnVsbHB0cjsKLSAg
ICBhdXRvIHN0YXR1cyA9IENWUGl4ZWxCdWZmZXJDcmVhdGUoa0NGQWxsb2NhdG9yRGVmYXVsdCwg
d2lkdGgsIGhlaWdodCwgZm9ybWF0LCBudWxscHRyLCAmcGl4ZWxCdWZmZXIpOwotICAgIEFTU0VS
VF9VTlVTRUQoc3RhdHVzLCBzdGF0dXMgPT0gbm9FcnIpOwotCi0gICAgc3RhdHVzID0gQ1ZQaXhl
bEJ1ZmZlckxvY2tCYXNlQWRkcmVzcyhwaXhlbEJ1ZmZlciwgMCk7Ci0gICAgQVNTRVJUKHN0YXR1
cyA9PSBub0Vycik7Ci0KLSAgICBhdXRvKiB5UGxhbmUgPSBzdGF0aWNfY2FzdDx1aW50OF90Kj4o
Q1ZQaXhlbEJ1ZmZlckdldEJhc2VBZGRyZXNzT2ZQbGFuZShwaXhlbEJ1ZmZlciwgMCkpOwotICAg
IHNpemVfdCB5U3RyaWRlID0gQ1ZQaXhlbEJ1ZmZlckdldEJ5dGVzUGVyUm93T2ZQbGFuZShwaXhl
bEJ1ZmZlciwgMCk7Ci0gICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGhlaWdodDsgKytpKQot
ICAgICAgICBtZW1zZXQoJnlQbGFuZVtpICogeVN0cmlkZV0sIDAsIHdpZHRoKTsKLQotICAgIGF1
dG8qIHV2UGxhbmUgPSBzdGF0aWNfY2FzdDx1aW50OF90Kj4oQ1ZQaXhlbEJ1ZmZlckdldEJhc2VB
ZGRyZXNzT2ZQbGFuZShwaXhlbEJ1ZmZlciwgMSkpOwotICAgIHNpemVfdCB1dlN0cmlkZSA9IENW
UGl4ZWxCdWZmZXJHZXRCeXRlc1BlclJvd09mUGxhbmUocGl4ZWxCdWZmZXIsIDEpOwotICAgIGZv
ciAodW5zaWduZWQgaSA9IDA7IGkgPCBoZWlnaHQgLyAyOyArK2kpCi0gICAgICAgIG1lbXNldCgm
dXZQbGFuZVtpICogdXZTdHJpZGVdLCAxMjgsIHdpZHRoKTsKLQotICAgIHN0YXR1cyA9IENWUGl4
ZWxCdWZmZXJVbmxvY2tCYXNlQWRkcmVzcyhwaXhlbEJ1ZmZlciwgMCk7Ci0gICAgQVNTRVJUKCFz
dGF0dXMpOwotICAgIHJldHVybiBhZG9wdENGKHBpeGVsQnVmZmVyKTsKLX0KLQogQ1ZQaXhlbEJ1
ZmZlclBvb2xSZWYgUmVhbHRpbWVJbmNvbWluZ1ZpZGVvU291cmNlQ29jb2E6OnBpeGVsQnVmZmVy
UG9vbChzaXplX3Qgd2lkdGgsIHNpemVfdCBoZWlnaHQsIHdlYnJ0Yzo6QnVmZmVyVHlwZSBidWZm
ZXJUeXBlKQogewogICAgIGlmICghbV9waXhlbEJ1ZmZlclBvb2wgfHwgbV9waXhlbEJ1ZmZlclBv
b2xXaWR0aCAhPSB3aWR0aCB8fCBtX3BpeGVsQnVmZmVyUG9vbEhlaWdodCAhPSBoZWlnaHQgfHwg
bV9waXhlbEJ1ZmZlclBvb2xCdWZmZXJUeXBlICE9IGJ1ZmZlclR5cGUpIHsKQEAgLTIwMCw2ICsx
NzcsMzcgQEAgdm9pZCBSZWFsdGltZUluY29taW5nVmlkZW9Tb3VyY2VDb2NvYTo6T25GcmFtZShj
b25zdCB3ZWJydGM6OlZpZGVvRnJhbWUmIGZyYW1lKQogICAgIHZpZGVvU2FtcGxlQXZhaWxhYmxl
KE1lZGlhU2FtcGxlQVZGT2JqQzo6Y3JlYXRlKHNhbXBsZS5nZXQoKSwgcm90YXRpb24pLCBtZXRh
ZGF0YUZyb21WaWRlb0ZyYW1lKGZyYW1lKSk7CiB9CiAKLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
LQogI2VuZGlmIC8vIFVTRShMSUJXRUJSVEMpCisKKyNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQor
CitSZXRhaW5QdHI8Q1ZQaXhlbEJ1ZmZlclJlZj4gY3JlYXRlQmxhY2tQaXhlbEJ1ZmZlcihzaXpl
X3Qgd2lkdGgsIHNpemVfdCBoZWlnaHQpCit7CisgICAgT1NUeXBlIGZvcm1hdCA9IHByZWZlcmVk
UGl4ZWxCdWZmZXJGb3JtYXQoKTsKKyAgICBBU1NFUlQoZm9ybWF0ID09IGtDVlBpeGVsRm9ybWF0
VHlwZV80MjBZcENiQ3I4QmlQbGFuYXJWaWRlb1JhbmdlIHx8IGZvcm1hdCA9PSBrQ1ZQaXhlbEZv
cm1hdFR5cGVfNDIwWXBDYkNyOEJpUGxhbmFyRnVsbFJhbmdlKTsKKworICAgIENWUGl4ZWxCdWZm
ZXJSZWYgcGl4ZWxCdWZmZXIgPSBudWxscHRyOworICAgIGF1dG8gc3RhdHVzID0gQ1ZQaXhlbEJ1
ZmZlckNyZWF0ZShrQ0ZBbGxvY2F0b3JEZWZhdWx0LCB3aWR0aCwgaGVpZ2h0LCBmb3JtYXQsIG51
bGxwdHIsICZwaXhlbEJ1ZmZlcik7CisgICAgQVNTRVJUX1VOVVNFRChzdGF0dXMsIHN0YXR1cyA9
PSBub0Vycik7CisKKyAgICBzdGF0dXMgPSBDVlBpeGVsQnVmZmVyTG9ja0Jhc2VBZGRyZXNzKHBp
eGVsQnVmZmVyLCAwKTsKKyAgICBBU1NFUlQoc3RhdHVzID09IG5vRXJyKTsKKworICAgIGF1dG8q
IHlQbGFuZSA9IHN0YXRpY19jYXN0PHVpbnQ4X3QqPihDVlBpeGVsQnVmZmVyR2V0QmFzZUFkZHJl
c3NPZlBsYW5lKHBpeGVsQnVmZmVyLCAwKSk7CisgICAgc2l6ZV90IHlTdHJpZGUgPSBDVlBpeGVs
QnVmZmVyR2V0Qnl0ZXNQZXJSb3dPZlBsYW5lKHBpeGVsQnVmZmVyLCAwKTsKKyAgICBmb3IgKHVu
c2lnbmVkIGkgPSAwOyBpIDwgaGVpZ2h0OyArK2kpCisgICAgICAgIG1lbXNldCgmeVBsYW5lW2kg
KiB5U3RyaWRlXSwgMCwgd2lkdGgpOworCisgICAgYXV0byogdXZQbGFuZSA9IHN0YXRpY19jYXN0
PHVpbnQ4X3QqPihDVlBpeGVsQnVmZmVyR2V0QmFzZUFkZHJlc3NPZlBsYW5lKHBpeGVsQnVmZmVy
LCAxKSk7CisgICAgc2l6ZV90IHV2U3RyaWRlID0gQ1ZQaXhlbEJ1ZmZlckdldEJ5dGVzUGVyUm93
T2ZQbGFuZShwaXhlbEJ1ZmZlciwgMSk7CisgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGhl
aWdodCAvIDI7ICsraSkKKyAgICAgICAgbWVtc2V0KCZ1dlBsYW5lW2kgKiB1dlN0cmlkZV0sIDEy
OCwgd2lkdGgpOworCisgICAgc3RhdHVzID0gQ1ZQaXhlbEJ1ZmZlclVubG9ja0Jhc2VBZGRyZXNz
KHBpeGVsQnVmZmVyLCAwKTsKKyAgICBBU1NFUlQoIXN0YXR1cyk7CisgICAgcmV0dXJuIGFkb3B0
Q0YocGl4ZWxCdWZmZXIpOworfQorCisjZW5kaWYKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54
Y2NvbmZpZyBiL1NvdXJjZS9XZWJLaXQvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNj
b25maWcKaW5kZXggMjFhNWQyOTE1OGQyMTQ1NGNmZDFmYjUxZmY3MzNkYzY3YmQwN2QwZS4uMTRl
ZGQ5MmViZjhlNWRiODAxNzdkMDhjMjBmNDUxYTVlOTg4N2YxNiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZworKysgYi9Tb3Vy
Y2UvV2ViS2l0L0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCkBAIC00NCwz
ICs0NCw0IEBAIEVOQUJMRV9XRUJfUlRDID0gJChFTkFCTEVfV0VCX1JUQ18kKFdLX1BMQVRGT1JN
X05BTUUpKTsKIEVOQUJMRV9XRUJfUlRDX2lwaG9uZW9zID0gRU5BQkxFX1dFQl9SVEM7CiBFTkFC
TEVfV0VCX1JUQ19pcGhvbmVzaW11bGF0b3IgPSBFTkFCTEVfV0VCX1JUQzsKIEVOQUJMRV9XRUJf
UlRDX21hY29zeCA9IEVOQUJMRV9XRUJfUlRDOworRU5BQkxFX1dFQl9SVENfbWFjY2F0YWx5c3Qg
PSBFTkFCTEVfV0VCX1JUQzsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy93
ZWJydGMvTGliV2ViUlRDQ29kZWNzUHJveHkubW0gYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mv
d2VicnRjL0xpYldlYlJUQ0NvZGVjc1Byb3h5Lm1tCmluZGV4IDMwZmEzMGNiM2RjOWM5YjQwMWYw
YzRlY2ZjZTIxMDgxZWM0NmU1YzEuLjZkMTdlNDViOTgwZWZmYzA0OGEzMTQ2NGY4ZGM0YzYyNDA3
NjliOGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy93ZWJydGMvTGliV2Vi
UlRDQ29kZWNzUHJveHkubW0KKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dlYnJ0Yy9M
aWJXZWJSVENDb2RlY3NQcm94eS5tbQpAQCAtMjEwLDE0ICsyMTAsMTIgQEAgdm9pZCBMaWJXZWJS
VENDb2RlY3NQcm94eTo6ZW5jb2RlRnJhbWUoUlRDRW5jb2RlcklkZW50aWZpZXIgaWRlbnRpZmll
ciwgV2ViQ29yZToKICAgICBpZiAoIWVuY29kZXIpCiAgICAgICAgIHJldHVybjsKIAotI2lmICFQ
TEFURk9STShNQUNDQVRBTFlTVCkKICAgICBpZiAoIXNhbXBsZS5zdXJmYWNlKCkpCiAgICAgICAg
IHJldHVybjsKICAgICBhdXRvIHBpeGVsQnVmZmVyID0gV2ViQ29yZTo6Y3JlYXRlQ1ZQaXhlbEJ1
ZmZlcihzYW1wbGUuc3VyZmFjZSgpKTsKICAgICBpZiAoIXBpeGVsQnVmZmVyKQogICAgICAgICBy
ZXR1cm47CiAgICAgd2VicnRjOjplbmNvZGVMb2NhbEVuY29kZXJGcmFtZShlbmNvZGVyLCBwaXhl
bEJ1ZmZlci0+Z2V0KCksIHNhbXBsZS50aW1lKCkudG9UaW1lU2NhbGUoMTAwMDAwMCkudGltZVZh
bHVlKCksIHRpbWVTdGFtcCwgdG9XZWJSVENWaWRlb1JvdGF0aW9uKHNhbXBsZS5yb3RhdGlvbigp
KSwgc2hvdWxkRW5jb2RlQXNLZXlGcmFtZSk7Ci0jZW5kaWYKIH0KIAogLy8gRm9yIHBlcmZvcm1h
bmNlIHJlYXNvbnMsIHRoaXMgZnVuY3Rpb24gYWNjZXNzZXMgbV9lbmNvZGVycyB3aXRob3V0IGxv
Y2tpbmcuIFRoaXMgaXMgc2FmZSBiZWNhdXNlIHRoaXMgZnVuY3Rpb24gcnVucyBvbiB0aGUgbGli
V2ViUlRDQ29kZWNzUXVldWUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nl
c3Mvd2VicnRjL05ldHdvcmtSVENQcm92aWRlci5tbSBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1By
b2Nlc3Mvd2VicnRjL05ldHdvcmtSVENQcm92aWRlci5tbQppbmRleCA2YjVmNTgzNmNjZWY2Y2Zi
OGFmOTYwZDJmYjk3NjM4ZWQzOTc1OTQ4Li4wNDVkYjkwYzY2YWY3YmEwYTY4NzU5NDJjNmU3MGI2
MGRmMTY1MzE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL3dlYnJ0
Yy9OZXR3b3JrUlRDUHJvdmlkZXIubW0KKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vz
cy93ZWJydGMvTmV0d29ya1JUQ1Byb3ZpZGVyLm1tCkBAIC04Myw3ICs4Myw3IEBAIHJ0Yzo6UHJv
eHlJbmZvIE5ldHdvcmtSVENQcm92aWRlcjo6cHJveHlJbmZvRnJvbVNlc3Npb24oY29uc3QgUlRD
TmV0d29yazo6U29ja2V0CiAgICAgaWYgKGlzRW5hYmxlZChwcm94eURpY3Rpb25hcnkuZ2V0KCks
IGtDRk5ldHdvcmtQcm94aWVzU09DS1NFbmFibGUpKQogICAgICAgICByZXR1cm4gY3JlYXRlUlRD
UHJveHkocHJveHlEaWN0aW9uYXJ5LmdldCgpLCBydGM6OlBST1hZX1NPQ0tTNSwga0NGTmV0d29y
a1Byb3hpZXNTT0NLU1Byb3h5LCBrQ0ZOZXR3b3JrUHJveGllc1NPQ0tTUG9ydCk7CiAjZW5kaWYK
LSNpZiBQTEFURk9STShJT1MpCisjaWYgUExBVEZPUk0oSU9TKSB8fCBQTEFURk9STShNQUNDQVRB
TFlTVCkKICAgICBpZiAoaXNFbmFibGVkKHByb3h5RGljdGlvbmFyeS5nZXQoKSwga0NGTmV0d29y
a1Byb3hpZXNIVFRQRW5hYmxlKSkKICAgICAgICAgcmV0dXJuIGNyZWF0ZVJUQ1Byb3h5KHByb3h5
RGljdGlvbmFyeS5nZXQoKSwgcnRjOjpQUk9YWV9IVFRQUywga0NGTmV0d29ya1Byb3hpZXNIVFRQ
UHJveHksIGtDRk5ldHdvcmtQcm94aWVzSFRUUFBvcnQpOwogI2VuZGlmCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvTGliV2ViUlRDUHJvdmlkZXIu
Y3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL0xpYldlYlJUQ1By
b3ZpZGVyLmNwcAppbmRleCAwNzBjNzNkODU3NmVjMmIzMzhlOWQxMDhkM2ZlOGNlMWU2ZGE3ZDEz
Li4wMjFkMTJjYzVhYjQzNTE2NzI4NmU1NDI5YTZmYjIwNjBlYjAzYTIzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvTGliV2ViUlRDUHJvdmlkZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9MaWJXZWJS
VENQcm92aWRlci5jcHAKQEAgLTU3LDcgKzU3LDcgQEAgcHJpdmF0ZToKIAogcnRjOjpzY29wZWRf
cmVmcHRyPHdlYnJ0Yzo6UGVlckNvbm5lY3Rpb25JbnRlcmZhY2U+IExpYldlYlJUQ1Byb3ZpZGVy
OjpjcmVhdGVQZWVyQ29ubmVjdGlvbihTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllciBp
ZGVudGlmaWVyLCB3ZWJydGM6OlBlZXJDb25uZWN0aW9uT2JzZXJ2ZXImIG9ic2VydmVyLCBydGM6
OlBhY2tldFNvY2tldEZhY3RvcnkqIHNvY2tldEZhY3RvcnksIHdlYnJ0Yzo6UGVlckNvbm5lY3Rp
b25JbnRlcmZhY2U6OlJUQ0NvbmZpZ3VyYXRpb24mJiBjb25maWd1cmF0aW9uKQogewotI2lmIEVO
QUJMRShHUFVfUFJPQ0VTUykgJiYgUExBVEZPUk0oQ09DT0EpICYmICFQTEFURk9STShNQUNDQVRB
TFlTVCkKKyNpZiBFTkFCTEUoR1BVX1BST0NFU1MpICYmIFBMQVRGT1JNKENPQ09BKQogICAgIGlm
ICghbV9kaWRJbml0aWFsaXplQ2FsbGJhY2spIHsKICAgICAgICAgLy8gV2UgaW5pdGlhbGl6ZSBv
bmx5IG9uY2Ugc2luY2UgY2FsbGJhY2tzIGFyZSB1c2VkIGluIGJhY2tncm91bmQgdGhyZWFkcy4K
ICAgICAgICAgYXV0byogcGFnZSA9IG1fd2ViUGFnZS5jb3JlUGFnZSgpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL0xpYldlYlJUQ1Byb3ZpZGVy
LmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvTGliV2ViUlRDUHJv
dmlkZXIuaAppbmRleCBkMzgwYTA3NWRlYjk3MWUwZmQzYjk2MzZjNWRjYTY1ZDBhZmY3NzBkLi41
YTljNDM1NGVjYzhkOTg0NGFiZjY3ODI4YzRkOThkYzBkMjhiOTViIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvTGliV2ViUlRDUHJvdmlkZXIuaAor
KysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvTGliV2ViUlRDUHJv
dmlkZXIuaApAQCAtNjIsNyArNjIsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgc2V0TG9nZ2luZ0xl
dmVsKFdURkxvZ0xldmVsKSBmaW5hbDsKIAogICAgIFdlYlBhZ2UmIG1fd2ViUGFnZTsKLSNpZiBF
TkFCTEUoR1BVX1BST0NFU1MpICYmIFBMQVRGT1JNKENPQ09BKSAmJiAhUExBVEZPUk0oTUFDQ0FU
QUxZU1QpCisjaWYgRU5BQkxFKEdQVV9QUk9DRVNTKSAmJiBQTEFURk9STShDT0NPQSkKICAgICBi
b29sIG1fZGlkSW5pdGlhbGl6ZUNhbGxiYWNrIHsgZmFsc2UgfTsKICNlbmRpZgogfTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>448579</attachid>
            <date>2022-01-07 03:20:21 -0800</date>
            <delta_ts>2022-01-07 09:27:24 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-234876-20220107122018.patch</filename>
            <type>text/plain</type>
            <size>32542</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg3Njc1CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9DaGFuZ2VMb2cgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9DaGFuZ2VMb2cKaW5kZXggNWI2ODNmOTUw
NjUyZGRiOGE3MTM2NDJkYmJhYjIyY2RhNzg1OGU1MC4uZTdhMjJmMWMyNzAzOTU4NTc1MGFiZWM1
YzRlMTBhZjJmOWU3OTNhOCAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDIy
LTAxLTA3ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBFbmFi
bGUgV2ViUlRDIGZvciBNYWMgQ2F0YWx5c3QKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIzNDg3NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogTWFrZWZpbGU6CisKIDIwMjEtMTAtMTQgIE15bGVzIEMuIE1h
eGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KIAogICAgICAgICBBbGwgdGhlIFNES1Zhcmlh
bnQueGNjb25maWcgZmlsZXMgc2hvdWxkIG1hdGNoCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0No
YW5nZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDQzOThiNzYyYjE4OWM1OTI5Y2I1
OWNjY2JlNjIzZDVkOWEwMWFkODIuLjRhYjQ2MTA1ZTllYjBhMGI3YzBjMjY5ZTg1NzlkZmU0YjYz
ZTY5OGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMjItMDEtMDcgIFlvdWVubiBGYWJsZXQgIDx5
b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIEVuYWJsZSBXZWJSVEMgZm9yIE1hYyBDYXRhbHlz
dAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM0ODc2
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3dGYv
UGxhdGZvcm1FbmFibGVDb2NvYS5oOgorCiAyMDIyLTAxLTA3ICBZb3Vlbm4gRmFibGV0ICA8eW91
ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBDb21waWxlIG91dCBFTkFCTEVfTUVESUFfQ0FQVFVS
RSBvbiBXQVRDSE9TIGFuZCBBUFBMRVRWCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTUyZGZmZjg3MjM2MDBjMDdk
MTJjMGJkM2U2ZTY5NTE0MDllYzA2OS4uY2NhOTQ1NzdlOWI5YzNjNTQzYTc5NWFhYzNjMDJlODVh
MGM1ODdjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDIyLTAxLTA3ICBZb3Vlbm4g
RmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBFbmFibGUgV2ViUlRDIGZvciBN
YWMgQ2F0YWx5c3QKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIzNDg3NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWc6CisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvY3YvSW1hZ2VUcmFuc2ZlclNlc3Npb25WVC5oOgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL2N2L0ltYWdlVHJhbnNmZXJTZXNzaW9uVlQubW06CisgICAgICAg
IChXZWJDb3JlOjpJbWFnZVRyYW5zZmVyU2Vzc2lvblZUOjpJbWFnZVRyYW5zZmVyU2Vzc2lvblZU
KToKKyAgICAgICAgKFdlYkNvcmU6OkltYWdlVHJhbnNmZXJTZXNzaW9uVlQ6OmNyZWF0ZUNNU2Ft
cGxlQnVmZmVyKToKKyAgICAgICAgKFdlYkNvcmU6OkltYWdlVHJhbnNmZXJTZXNzaW9uVlQ6OmNy
ZWF0ZU1lZGlhU2FtcGxlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXJlY29yZGVyL2NvY29h
L0F1ZGlvU2FtcGxlQnVmZmVyQ29tcHJlc3Nvci5oOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlh
cmVjb3JkZXIvY29jb2EvQXVkaW9TYW1wbGVCdWZmZXJDb21wcmVzc29yLm1tOgorICAgICAgICAo
V2ViQ29yZTo6QXVkaW9TYW1wbGVCdWZmZXJDb21wcmVzc29yOjpBdWRpb1NhbXBsZUJ1ZmZlckNv
bXByZXNzb3IpOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhcmVjb3JkZXIvY29jb2EvVmlkZW9T
YW1wbGVCdWZmZXJDb21wcmVzc29yLm1tOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFt
L2NvY29hL0F1ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRlcmVyQ29jb2EuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6QXVkaW9NZWRpYVN0cmVhbVRyYWNrUmVuZGVyZXJDb2NvYTo6cmVuZGVyZXJVbml0
KToKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9jb2NvYS9EaXNwbGF5Q2FwdHVyZVNv
dXJjZUNvY29hLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRpc3BsYXlDYXB0dXJlU291cmNlQ29j
b2E6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpEaXNwbGF5Q2FwdHVyZVNvdXJjZUNvY29h
OjplbWl0RnJhbWUpOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL2NvY29hL0luY29t
aW5nQXVkaW9NZWRpYVN0cmVhbVRyYWNrUmVuZGVyZXJVbml0LmNwcDoKKyAgICAgICAgKiBwbGF0
Zm9ybS9tZWRpYXN0cmVhbS9jb2NvYS9JbmNvbWluZ0F1ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRl
cmVyVW5pdC5oOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9BVlZpZGVvQ2Fw
dHVyZVNvdXJjZS5tbToKKyAgICAgICAgKFdlYkNvcmU6OkFWVmlkZW9DYXB0dXJlU291cmNlOjpz
ZXR1cFNlc3Npb24pOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGlt
ZUluY29taW5nVmlkZW9Tb3VyY2VDb2NvYS5oOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3Ry
ZWFtL21hYy9SZWFsdGltZUluY29taW5nVmlkZW9Tb3VyY2VDb2NvYS5tbToKKyAgICAgICAgKFdl
YkNvcmU6OmNyZWF0ZUJsYWNrUGl4ZWxCdWZmZXIpOgorCiAyMDIyLTAxLTA3ICBZb3Vlbm4gRmFi
bGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBFeHBvc2UgcnZmYyBwcm9jZXNzaW5n
RHVyYXRpb24gZm9yIHRoZSBXZWJSVEMgY29kZSBwYXRoCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9QQUwvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwppbmRleCA0
NTEyNGMzY2Y0OTlkMzM5NTQ4Nzk3YWJlYjJkNjhmYjBmNDY5OTJkLi5iZWQwMTMyMDRiMDcyMDU0
NGY5YWVkN2IwNjA1YWRlYTA3Y2YyYjhjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
MyBAQAorMjAyMi0wMS0wNyAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAg
ICAgICAgRW5hYmxlIFdlYlJUQyBmb3IgTWFjIENhdGFseXN0CisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzQ4NzYKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHBhbC9jZi9Db3JlTWVkaWFTb2Z0TGluay5j
cHA6CisgICAgICAgICogcGFsL2NmL0NvcmVNZWRpYVNvZnRMaW5rLmg6CisKIDIwMjEtMTItMjEg
IFNhbSBXZWluaWcgIDx3ZWluaWdAYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBzdXBwb3J0IGZv
ciBwcmVtdWx0aXBsaWVkIGFscGhhIGludGVycG9sYXRlZCBncmFkaWVudHMgYW5kIGRlZmF1bHRl
ZCBvZmYgb3B0aW9uIHRvIHVzZSB0aGVtIGZvciBDU1MgR3JhZGllbnRzCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDYw
OTM2M2M1YmUwMGUzOGZhM2Q1ODZlMGYyN2FjOTYwOGEzYjg4NTAuLjM1MWQ1MTI5ZGRhYTI2YTNk
NjM0YjlhZTdkYWJkZTViN2VhNzI2ZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMjIt
MDEtMDcgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIEVuYWJs
ZSBXZWJSVEMgZm9yIE1hYyBDYXRhbHlzdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjM0ODc2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgRGlzYWJsZSBjYW1lcmEgYW5kIG1pY3JvcGhvbmUgY2FwdHVyZSBy
dW50aW1lIGZsYWdzIHVudGlsIHdlIG1ha2UgaXQgd29yayBhcHByb3ByaWF0ZWx5LgorCisgICAg
ICAgICogQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWc6CisgICAgICAgICog
R1BVUHJvY2Vzcy93ZWJydGMvTGliV2ViUlRDQ29kZWNzUHJveHkubW06CisgICAgICAgICogTmV0
d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtSVENQcm92aWRlci5tbToKKyAgICAgICAgKFdlYktp
dDo6TmV0d29ya1JUQ1Byb3ZpZGVyOjpwcm94eUluZm9Gcm9tU2Vzc2lvbik6CisgICAgICAgICog
VUlQcm9jZXNzL0NvY29hL1dlYlByZWZlcmVuY2VzQ29jb2EubW06CisgICAgICAgICogV2ViUHJv
Y2Vzcy9OZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENQcm92aWRlci5jcHA6CisgICAgICAgIChXZWJL
aXQ6OkxpYldlYlJUQ1Byb3ZpZGVyOjpjcmVhdGVQZWVyQ29ubmVjdGlvbik6CisgICAgICAgICog
V2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENQcm92aWRlci5oOgorCiAyMDIyLTAx
LTA3ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBVc2UgY29t
cGxldGlvbiBoYW5kbGVycyBmb3IgdGFrZUFsbE1lc3NhZ2VzRm9yUG9ydCBtZXRob2RzCmRpZmYg
LS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9NYWtlZmlsZSBiL1NvdXJjZS9UaGlyZFBhcnR5L01h
a2VmaWxlCmluZGV4IDZjMzk3ZDQ1NjE0MGE4YWIxMzc3N2RmYjBjN2E1ZjNkY2ZhNjNhZmEuLjRh
MmEzNDgxMTQyZDg1N2E3NjVmNTc3YTIzOWVjZDFlMmMzNmY1MzggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9UaGlyZFBhcnR5L01ha2VmaWxlCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L01ha2VmaWxlCkBA
IC0xLDE2ICsxLDQgQEAKLUxJQldFQlJUQ19NT0RVTEUgPSBsaWJ3ZWJydGMKLQotVE9fTE9XRVIg
PSAkKHNoZWxsIGVjaG8gJCgxKSB8IHRyIFs6dXBwZXI6XSBbOmxvd2VyOl0pCi0KLWlmZXEgKGlv
c21hYywkKFNES19WQVJJQU5UKSkKLQlESVNBQkxFX0xJQldFQlJUQyA9IDEKLWVuZGlmCi0KLWlm
bmVxICgsJChESVNBQkxFX0xJQldFQlJUQykpCi0JTElCV0VCUlRDX01PRFVMRSA9Ci1lbmRpZgot
Ci1NT0RVTEVTID0gQU5HTEUgJChMSUJXRUJSVENfTU9EVUxFKQorTU9EVUxFUyA9IEFOR0xFIGxp
YndlYnJ0YwogCiBkZWZpbmUgYnVpbGRfdGFyZ2V0X2Zvcl9lYWNoX21vZHVsZQogCWZvciBkaXIg
aW4gJChNT0RVTEVTKTsgZG8gXApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1F
bmFibGVDb2NvYS5oIGIvU291cmNlL1dURi93dGYvUGxhdGZvcm1FbmFibGVDb2NvYS5oCmluZGV4
IDAyMTNiYTViZmY3OTU5MjIyNmYxNDAxNTUzNDY0MWNkMDgzNmNkNjIuLjk1NjcxMzZhODc0NWE3
N2Q5N2JkNmYxOTYxYWNmNDUxZTM5ZGRmMDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1Bs
YXRmb3JtRW5hYmxlQ29jb2EuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUVuYWJsZUNv
Y29hLmgKQEAgLTM4OSw3ICszODksNyBAQAogI2RlZmluZSBFTkFCTEVfTUVESUFfU09VUkNFIDEK
ICNlbmRpZgogCi0jaWYgIWRlZmluZWQoRU5BQkxFX01FRElBX1NUUkVBTSkgJiYgIVBMQVRGT1JN
KE1BQ0NBVEFMWVNUKSAmJiAhUExBVEZPUk0oV0FUQ0hPUykgJiYgIVBMQVRGT1JNKEFQUExFVFYp
CisjaWYgIWRlZmluZWQoRU5BQkxFX01FRElBX1NUUkVBTSkgJiYgIVBMQVRGT1JNKFdBVENIT1Mp
ICYmICFQTEFURk9STShBUFBMRVRWKQogI2RlZmluZSBFTkFCTEVfTUVESUFfU1RSRUFNIDEKICNl
bmRpZgogCkBAIC02NjQsNyArNjY0LDcgQEAKICNkZWZpbmUgRU5BQkxFX1dFQl9BVVRITiAxCiAj
ZW5kaWYKIAotI2lmICFkZWZpbmVkKEVOQUJMRV9XRUJfUlRDKSAmJiAhUExBVEZPUk0oTUFDQ0FU
QUxZU1QpICYmICFQTEFURk9STShXQVRDSE9TKSAmJiAhUExBVEZPUk0oQVBQTEVUVikKKyNpZiAh
ZGVmaW5lZChFTkFCTEVfV0VCX1JUQykgJiYgIVBMQVRGT1JNKFdBVENIT1MpICYmICFQTEFURk9S
TShBUFBMRVRWKQogI2RlZmluZSBFTkFCTEVfV0VCX1JUQyAxCiAjZW5kaWYKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcg
Yi9Tb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpp
bmRleCAyMWE1ZDI5MTU4ZDIxNDU0Y2ZkMWZiNTFmZjczM2RjNjdiZDA3ZDBlLi4xNGVkZDkyZWJm
OGU1ZGI4MDE3N2QwOGMyMGY0NTFhNWU5ODg3ZjE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZworKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpAQCAtNDQsMyArNDQs
NCBAQCBFTkFCTEVfV0VCX1JUQyA9ICQoRU5BQkxFX1dFQl9SVENfJChXS19QTEFURk9STV9OQU1F
KSk7CiBFTkFCTEVfV0VCX1JUQ19pcGhvbmVvcyA9IEVOQUJMRV9XRUJfUlRDOwogRU5BQkxFX1dF
Ql9SVENfaXBob25lc2ltdWxhdG9yID0gRU5BQkxFX1dFQl9SVEM7CiBFTkFCTEVfV0VCX1JUQ19t
YWNvc3ggPSBFTkFCTEVfV0VCX1JUQzsKK0VOQUJMRV9XRUJfUlRDX21hY2NhdGFseXN0ID0gRU5B
QkxFX1dFQl9SVEM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NmL0NvcmVN
ZWRpYVNvZnRMaW5rLmNwcCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY2YvQ29yZU1lZGlhU29m
dExpbmsuY3BwCmluZGV4IDg3YjU2MjA3ZTg0ZGYzZjQ5OTliMzZmNTVmMmRmNmY4Yzk5ZDU3NmIu
LmEzMjk0YTNmZmIzYjg5NTQ1ZjliNDkwMWU2ZDE3MmVkOGRjZDNiZjIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL1BBTC9wYWwvY2YvQ29yZU1lZGlhU29mdExpbmsuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL1BBTC9wYWwvY2YvQ29yZU1lZGlhU29mdExpbmsuY3BwCkBAIC0yMDEsNyArMjAx
LDcgQEAgU09GVF9MSU5LX0NPTlNUQU5UX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBDb3Jl
TWVkaWEsIGtDTVNhbXBsZUF0dGFjaG1lbnRLZXkKIFNPRlRfTElOS19DT05TVEFOVF9GT1JfU09V
UkNFX1dJVEhfRVhQT1JUKFBBTCwgQ29yZU1lZGlhLCBrQ01TYW1wbGVCdWZmZXJDb25zdW1lck5v
dGlmaWNhdGlvbl9CdWZmZXJDb25zdW1lZCwgQ0ZTdHJpbmdSZWYsIFBBTF9FWFBPUlQpCiBTT0ZU
X0xJTktfQ09OU1RBTlRfRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIENvcmVNZWRpYSwga0NN
U2FtcGxlQnVmZmVyQXR0YWNobWVudEtleV9FbmRzUHJldmlvdXNTYW1wbGVEdXJhdGlvbiwgQ0ZT
dHJpbmdSZWYsIFBBTF9FWFBPUlQpCiBTT0ZUX0xJTktfQ09OU1RBTlRfRk9SX1NPVVJDRV9XSVRI
X0VYUE9SVChQQUwsIENvcmVNZWRpYSwga0NNU2FtcGxlQnVmZmVyQXR0YWNobWVudEtleV9HcmFk
dWFsRGVjb2RlclJlZnJlc2gsIENGU3RyaW5nUmVmLCBQQUxfRVhQT1JUKQotU09GVF9MSU5LX0NP
TlNUQU5UX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBDb3JlTWVkaWEsIGdldF9Db3JlTWVk
aWFfa0NNU2FtcGxlQnVmZmVyQXR0YWNobWVudEtleV9UcmltRHVyYXRpb25BdFN0YXJ0LCBDRlN0
cmluZ1JlZiwgUEFMX0VYUE9SVCkKK1NPRlRfTElOS19DT05TVEFOVF9GT1JfU09VUkNFX1dJVEhf
RVhQT1JUKFBBTCwgQ29yZU1lZGlhLCBrQ01TYW1wbGVCdWZmZXJBdHRhY2htZW50S2V5X1RyaW1E
dXJhdGlvbkF0U3RhcnQsIENGU3RyaW5nUmVmLCBQQUxfRVhQT1JUKQogCiBTT0ZUX0xJTktfQ09O
U1RBTlRfRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIENvcmVNZWRpYSwga0NNVGltZWJhc2VO
b3RpZmljYXRpb25fRWZmZWN0aXZlUmF0ZUNoYW5nZWQsIENGU3RyaW5nUmVmLCBQQUxfRVhQT1JU
KQogU09GVF9MSU5LX0NPTlNUQU5UX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBDb3JlTWVk
aWEsIGtDTVRpbWViYXNlTm90aWZpY2F0aW9uX1RpbWVKdW1wZWQsIENGU3RyaW5nUmVmLCBQQUxf
RVhQT1JUKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jZi9Db3JlTWVkaWFT
b2Z0TGluay5oIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jZi9Db3JlTWVkaWFTb2Z0TGluay5o
CmluZGV4IDU3MGE2YTk4NTNjNDQ4MTY4Yjk5MDIyMDQyMzAwOTZkZmU4ZmViMDEuLjBjZWI0Y2Nm
OTllMDEzZWYyYmNlZjVmZTc3OWU4Yzk5YmQyOGM1MjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL1BBTC9wYWwvY2YvQ29yZU1lZGlhU29mdExpbmsuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Q
QUwvcGFsL2NmL0NvcmVNZWRpYVNvZnRMaW5rLmgKQEAgLTMyNiw4ICszMjYsOCBAQCBTT0ZUX0xJ
TktfQ09OU1RBTlRfRk9SX0hFQURFUihQQUwsIENvcmVNZWRpYSwga0NNU2FtcGxlQnVmZmVyQXR0
YWNobWVudEtleV9FbmRzUAogI2RlZmluZSBrQ01TYW1wbGVCdWZmZXJBdHRhY2htZW50S2V5X0Vu
ZHNQcmV2aW91c1NhbXBsZUR1cmF0aW9uIGdldF9Db3JlTWVkaWFfa0NNU2FtcGxlQnVmZmVyQXR0
YWNobWVudEtleV9FbmRzUHJldmlvdXNTYW1wbGVEdXJhdGlvbigpCiBTT0ZUX0xJTktfQ09OU1RB
TlRfRk9SX0hFQURFUihQQUwsIENvcmVNZWRpYSwga0NNU2FtcGxlQnVmZmVyQXR0YWNobWVudEtl
eV9HcmFkdWFsRGVjb2RlclJlZnJlc2gsIENGU3RyaW5nUmVmKQogI2RlZmluZSBrQ01TYW1wbGVC
dWZmZXJBdHRhY2htZW50S2V5X0dyYWR1YWxEZWNvZGVyUmVmcmVzaCBnZXRfQ29yZU1lZGlhX2tD
TVNhbXBsZUJ1ZmZlckF0dGFjaG1lbnRLZXlfR3JhZHVhbERlY29kZXJSZWZyZXNoKCkKLVNPRlRf
TElOS19DT05TVEFOVF9GT1JfSEVBREVSKFBBTCwgQ29yZU1lZGlhLCBnZXRfQ29yZU1lZGlhX2tD
TVNhbXBsZUJ1ZmZlckF0dGFjaG1lbnRLZXlfVHJpbUR1cmF0aW9uQXRTdGFydCwgQ0ZTdHJpbmdS
ZWYpCi0jZGVmaW5lIGdldF9Db3JlTWVkaWFfa0NNU2FtcGxlQnVmZmVyQXR0YWNobWVudEtleV9U
cmltRHVyYXRpb25BdFN0YXJ0IGdldF9Db3JlTWVkaWFfa0NNU2FtcGxlQnVmZmVyQXR0YWNobWVu
dEtleV9UcmltRHVyYXRpb25BdFN0YXJ0KCkKK1NPRlRfTElOS19DT05TVEFOVF9GT1JfSEVBREVS
KFBBTCwgQ29yZU1lZGlhLCBrQ01TYW1wbGVCdWZmZXJBdHRhY2htZW50S2V5X1RyaW1EdXJhdGlv
bkF0U3RhcnQsIENGU3RyaW5nUmVmKQorI2RlZmluZSBrQ01TYW1wbGVCdWZmZXJBdHRhY2htZW50
S2V5X1RyaW1EdXJhdGlvbkF0U3RhcnQgZ2V0X0NvcmVNZWRpYV9rQ01TYW1wbGVCdWZmZXJBdHRh
Y2htZW50S2V5X1RyaW1EdXJhdGlvbkF0U3RhcnQoKQogCiBTT0ZUX0xJTktfQ09OU1RBTlRfRk9S
X0hFQURFUihQQUwsIENvcmVNZWRpYSwga0NNVGltZWJhc2VOb3RpZmljYXRpb25fRWZmZWN0aXZl
UmF0ZUNoYW5nZWQsIENGU3RyaW5nUmVmKQogI2RlZmluZSBrQ01UaW1lYmFzZU5vdGlmaWNhdGlv
bl9FZmZlY3RpdmVSYXRlQ2hhbmdlZCBnZXRfQ29yZU1lZGlhX2tDTVRpbWViYXNlTm90aWZpY2F0
aW9uX0VmZmVjdGl2ZVJhdGVDaGFuZ2VkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2N2L0ltYWdlVHJhbnNmZXJTZXNzaW9uVlQuaCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2N2L0ltYWdlVHJhbnNmZXJTZXNzaW9uVlQuaAppbmRleCBl
Yzk1YmZiODM0YWYzY2NlMjI3NGI1ZGU1ZGU3NmJmMzMzMjM2YWNlLi45MTU5YjliNjc3YTA4NTU5
YTM3YWI2ODAxMGE0ZDExMTNhYjY3MGM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jdi9JbWFnZVRyYW5zZmVyU2Vzc2lvblZULmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY3YvSW1hZ2VUcmFuc2ZlclNlc3Npb25WVC5oCkBAIC01
MSwxMSArNTEsOSBAQCBwdWJsaWM6CiAgICAgUmVmUHRyPE1lZGlhU2FtcGxlPiBjcmVhdGVNZWRp
YVNhbXBsZShDR0ltYWdlUmVmLCBjb25zdCBNZWRpYVRpbWUmLCBjb25zdCBJbnRTaXplJiwgTWVk
aWFTYW1wbGU6OlZpZGVvUm90YXRpb24gPSBNZWRpYVNhbXBsZTo6VmlkZW9Sb3RhdGlvbjo6Tm9u
ZSwgYm9vbCBtaXJyb3JlZCA9IGZhbHNlKTsKICAgICBSZWZQdHI8TWVkaWFTYW1wbGU+IGNyZWF0
ZU1lZGlhU2FtcGxlKENNU2FtcGxlQnVmZmVyUmVmLCBjb25zdCBNZWRpYVRpbWUmLCBjb25zdCBJ
bnRTaXplJiwgTWVkaWFTYW1wbGU6OlZpZGVvUm90YXRpb24gPSBNZWRpYVNhbXBsZTo6VmlkZW9S
b3RhdGlvbjo6Tm9uZSwgYm9vbCBtaXJyb3JlZCA9IGZhbHNlKTsKIAotI2lmICFQTEFURk9STShN
QUNDQVRBTFlTVCkKICAgICBXRUJDT1JFX0VYUE9SVCBSZWZQdHI8TWVkaWFTYW1wbGU+IGNyZWF0
ZU1lZGlhU2FtcGxlKElPU3VyZmFjZVJlZiwgY29uc3QgTWVkaWFUaW1lJiwgY29uc3QgSW50U2l6
ZSYsIE1lZGlhU2FtcGxlOjpWaWRlb1JvdGF0aW9uID0gTWVkaWFTYW1wbGU6OlZpZGVvUm90YXRp
b246Ok5vbmUsIGJvb2wgbWlycm9yZWQgPSBmYWxzZSk7CiAjaWYgRU5BQkxFKE1FRElBX1NUUkVB
TSkKICAgICBXRUJDT1JFX0VYUE9SVCBSZWZQdHI8TWVkaWFTYW1wbGU+IGNyZWF0ZU1lZGlhU2Ft
cGxlKGNvbnN0IFJlbW90ZVZpZGVvU2FtcGxlJik7Ci0jZW5kaWYKICNlbmRpZgogCiAgICAgdWlu
dDMyX3QgcGl4ZWxGb3JtYXQoKSBjb25zdCB7IHJldHVybiBtX3BpeGVsRm9ybWF0OyB9CkBAIC02
Myw5ICs2MSw3IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgV0VCQ09SRV9FWFBPUlQgZXhwbGlj
aXQgSW1hZ2VUcmFuc2ZlclNlc3Npb25WVCh1aW50MzJfdCBwaXhlbEZvcm1hdCk7CiAKLSNpZiAh
UExBVEZPUk0oTUFDQ0FUQUxZU1QpCiAgICAgUmV0YWluUHRyPENNU2FtcGxlQnVmZmVyUmVmPiBj
cmVhdGVDTVNhbXBsZUJ1ZmZlcihJT1N1cmZhY2VSZWYsIGNvbnN0IE1lZGlhVGltZSYsIGNvbnN0
IEludFNpemUmKTsKLSNlbmRpZgogCiAgICAgUmV0YWluUHRyPENNU2FtcGxlQnVmZmVyUmVmPiBj
b252ZXJ0Q01TYW1wbGVCdWZmZXIoQ01TYW1wbGVCdWZmZXJSZWYsIGNvbnN0IEludFNpemUmLCBj
b25zdCBNZWRpYVRpbWUqID0gbnVsbHB0cik7CiAgICAgUmV0YWluUHRyPENNU2FtcGxlQnVmZmVy
UmVmPiBjcmVhdGVDTVNhbXBsZUJ1ZmZlcihDVlBpeGVsQnVmZmVyUmVmLCBjb25zdCBNZWRpYVRp
bWUmLCBjb25zdCBJbnRTaXplJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jdi9JbWFnZVRyYW5zZmVyU2Vzc2lvblZULm1tIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY3YvSW1hZ2VUcmFuc2ZlclNlc3Npb25WVC5tbQppbmRleCBhYmI5
OTIzOTNlNTc1M2IzNjllN2M1NTQ0NmExMWJkMDczN2FkOTRiLi43YzcyMzRkZGU5NWM0NjFkNGZh
NDg5YTQ4MjkwZGY2ODY4MjZjMTIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jdi9JbWFnZVRyYW5zZmVyU2Vzc2lvblZULm1tCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2N2L0ltYWdlVHJhbnNmZXJTZXNzaW9uVlQubW0KQEAgLTM0
LDkgKzM0LDcgQEAKICNpbXBvcnQgPENvcmVNZWRpYS9DTUZvcm1hdERlc2NyaXB0aW9uLmg+CiAj
aW1wb3J0IDxDb3JlTWVkaWEvQ01TYW1wbGVCdWZmZXIuaD4KIAotI2lmICFQTEFURk9STShNQUND
QVRBTFlTVCkKICNpbXBvcnQgPHBhbC9zcGkvY29jb2EvSU9TdXJmYWNlU1BJLmg+Ci0jZW5kaWYK
IAogI2ltcG9ydCAiQ29yZVZpZGVvU29mdExpbmsuaCIKICNpbXBvcnQgIlZpZGVvVG9vbGJveFNv
ZnRMaW5rLmgiCkBAIC02Myw3ICs2MSw3IEBAIEltYWdlVHJhbnNmZXJTZXNzaW9uVlQ6OkltYWdl
VHJhbnNmZXJTZXNzaW9uVlQodWludDMyX3QgcGl4ZWxGb3JtYXQpCiAgICAgaWYgKHN0YXR1cyAh
PSBrQ1ZSZXR1cm5TdWNjZXNzKQogICAgICAgICBSRUxFQVNFX0xPRyhNZWRpYSwgIkltYWdlVHJh
bnNmZXJTZXNzaW9uVlQ6OkltYWdlVHJhbnNmZXJTZXNzaW9uVlQ6IFZUU2Vzc2lvblNldFByb3Bl
cnR5KGtWVFBpeGVsVHJhbnNmZXJQcm9wZXJ0eUtleV9SZWFsVGltZSkgZmFpbGVkIHdpdGggZXJy
b3IgJWQiLCBzdGF0aWNfY2FzdDxpbnQ+KHN0YXR1cykpOwogCi0jaWYgUExBVEZPUk0oSU9TX0ZB
TUlMWSkgJiYgIVBMQVRGT1JNKE1BQ0NBVEFMWVNUKQorI2lmIFBMQVRGT1JNKElPU19GQU1JTFkp
CiAgICAgc3RhdHVzID0gVlRTZXNzaW9uU2V0UHJvcGVydHkodHJhbnNmZXJTZXNzaW9uLCBrVlRQ
aXhlbFRyYW5zZmVyUHJvcGVydHlLZXlfRW5hYmxlSGFyZHdhcmVBY2NlbGVyYXRlZFRyYW5zZmVy
LCBAWUVTKTsKICAgICBpZiAoc3RhdHVzICE9IGtDVlJldHVyblN1Y2Nlc3MpCiAgICAgICAgIFJF
TEVBU0VfTE9HKE1lZGlhLCAiSW1hZ2VUcmFuc2ZlclNlc3Npb25WVDo6SW1hZ2VUcmFuc2ZlclNl
c3Npb25WVDogVlRTZXNzaW9uU2V0UHJvcGVydHkoa1ZUUGl4ZWxUcmFuc2ZlclByb3BlcnR5S2V5
X0VuYWJsZUhhcmR3YXJlQWNjZWxlcmF0ZWRUcmFuc2ZlcikgZmFpbGVkIHdpdGggZXJyb3IgJWQi
LCBzdGF0aWNfY2FzdDxpbnQ+KHN0YXR1cykpOwpAQCAtMjQwLDggKzIzOCw2IEBAIFJldGFpblB0
cjxDTVNhbXBsZUJ1ZmZlclJlZj4gSW1hZ2VUcmFuc2ZlclNlc3Npb25WVDo6Y3JlYXRlQ01TYW1w
bGVCdWZmZXIoQ0dJbWFnCiAgICAgcmV0dXJuIGNyZWF0ZUNNU2FtcGxlQnVmZmVyKHBpeGVsQnVm
ZmVyLmdldCgpLCBzYW1wbGVUaW1lLCBzaXplKTsKIH0KIAotI2lmICFQTEFURk9STShNQUNDQVRB
TFlTVCkKLQogUmV0YWluUHRyPENNU2FtcGxlQnVmZmVyUmVmPiBJbWFnZVRyYW5zZmVyU2Vzc2lv
blZUOjpjcmVhdGVDTVNhbXBsZUJ1ZmZlcihJT1N1cmZhY2VSZWYgc3VyZmFjZSwgY29uc3QgTWVk
aWFUaW1lICZzYW1wbGVUaW1lLCBjb25zdCBJbnRTaXplICZzaXplKQogewogICAgIGlmICghc3Vy
ZmFjZSB8fCAhc2V0U2l6ZShzaXplKSkKQEAgLTI1Miw3ICsyNDgsNiBAQCBSZXRhaW5QdHI8Q01T
YW1wbGVCdWZmZXJSZWY+IEltYWdlVHJhbnNmZXJTZXNzaW9uVlQ6OmNyZWF0ZUNNU2FtcGxlQnVm
ZmVyKElPU3VyZgogCiAgICAgcmV0dXJuIGNyZWF0ZUNNU2FtcGxlQnVmZmVyKHBpeGVsQnVmZmVy
LmdldCgpLCBzYW1wbGVUaW1lLCBzaXplKTsKIH0KLSNlbmRpZgogCiBSZWZQdHI8TWVkaWFTYW1w
bGU+IEltYWdlVHJhbnNmZXJTZXNzaW9uVlQ6OmNvbnZlcnRNZWRpYVNhbXBsZShNZWRpYVNhbXBs
ZSYgc2FtcGxlLCBjb25zdCBJbnRTaXplJiBzaXplKQogewpAQCAtMjY4LDcgKzI2Myw2IEBAIFJl
ZlB0cjxNZWRpYVNhbXBsZT4gSW1hZ2VUcmFuc2ZlclNlc3Npb25WVDo6Y29udmVydE1lZGlhU2Ft
cGxlKE1lZGlhU2FtcGxlJiBzYW1wCiAgICAgcmV0dXJuIE1lZGlhU2FtcGxlQVZGT2JqQzo6Y3Jl
YXRlKHJlc2l6ZWRCdWZmZXIuZ2V0KCksIHNhbXBsZS52aWRlb1JvdGF0aW9uKCksIHNhbXBsZS52
aWRlb01pcnJvcmVkKCkpOwogfQogCi0jaWYgIVBMQVRGT1JNKE1BQ0NBVEFMWVNUKQogI2lmIEVO
QUJMRShNRURJQV9TVFJFQU0pCiBSZWZQdHI8TWVkaWFTYW1wbGU+IEltYWdlVHJhbnNmZXJTZXNz
aW9uVlQ6OmNyZWF0ZU1lZGlhU2FtcGxlKGNvbnN0IFJlbW90ZVZpZGVvU2FtcGxlJiByZW1vdGVT
YW1wbGUpCiB7CkBAIC0yODQsNyArMjc4LDYgQEAgUmVmUHRyPE1lZGlhU2FtcGxlPiBJbWFnZVRy
YW5zZmVyU2Vzc2lvblZUOjpjcmVhdGVNZWRpYVNhbXBsZShJT1N1cmZhY2VSZWYgc3VyZmEKIAog
ICAgIHJldHVybiBNZWRpYVNhbXBsZUFWRk9iakM6OmNyZWF0ZShzYW1wbGVCdWZmZXIuZ2V0KCks
IHJvdGF0aW9uLCBtaXJyb3JlZCk7CiB9Ci0jZW5kaWYKIAogUmVmUHRyPE1lZGlhU2FtcGxlPiBJ
bWFnZVRyYW5zZmVyU2Vzc2lvblZUOjpjcmVhdGVNZWRpYVNhbXBsZShDR0ltYWdlUmVmIGltYWdl
LCBjb25zdCBNZWRpYVRpbWUmIHNhbXBsZVRpbWUsIGNvbnN0IEludFNpemUmIHNpemUsIE1lZGlh
U2FtcGxlOjpWaWRlb1JvdGF0aW9uIHJvdGF0aW9uLCBib29sIG1pcnJvcmVkKQogewpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9jb2NvYS9BdWRpb1Nh
bXBsZUJ1ZmZlckNvbXByZXNzb3IuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhcmVj
b3JkZXIvY29jb2EvQXVkaW9TYW1wbGVCdWZmZXJDb21wcmVzc29yLmgKaW5kZXggYTZhNTUyNGJh
NmQzODA5OWVjMmZjMzRlYmNiOGIwZTY1MWI0NGM0MC4uYzZjYjBjN2YwZjRlYWRjZDhjMTIxMzM5
MmViMjVjMmEzM2JkOGE5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVk
aWFyZWNvcmRlci9jb2NvYS9BdWRpb1NhbXBsZUJ1ZmZlckNvbXByZXNzb3IuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL2NvY29hL0F1ZGlvU2FtcGxlQnVmZmVy
Q29tcHJlc3Nvci5oCkBAIC03OSw5ICs3OSw5IEBAIHByaXZhdGU6CiAgICAgVUludDMyIG1fbWF4
T3V0cHV0UGFja2V0U2l6ZSB7IDAgfTsKICAgICBWZWN0b3I8QXVkaW9TdHJlYW1QYWNrZXREZXNj
cmlwdGlvbj4gbV9kZXN0aW5hdGlvblBhY2tldERlc2NyaXB0aW9uczsKIAotICAgIENNVGltZSBt
X2N1cnJlbnROYXRpdmVQcmVzZW50YXRpb25UaW1lU3RhbXAgeyBrQ01UaW1lSW52YWxpZCB9Owot
ICAgIENNVGltZSBtX2N1cnJlbnRPdXRwdXRQcmVzZW50YXRpb25UaW1lU3RhbXAgeyBrQ01UaW1l
SW52YWxpZCB9OwotICAgIENNVGltZSBtX3JlbWFpbmluZ1ByaW1lRHVyYXRpb24geyBrQ01UaW1l
SW52YWxpZCB9OworICAgIENNVGltZSBtX2N1cnJlbnROYXRpdmVQcmVzZW50YXRpb25UaW1lU3Rh
bXA7CisgICAgQ01UaW1lIG1fY3VycmVudE91dHB1dFByZXNlbnRhdGlvblRpbWVTdGFtcDsKKyAg
ICBDTVRpbWUgbV9yZW1haW5pbmdQcmltZUR1cmF0aW9uOwogCiAgICAgVmVjdG9yPHVpbnQ4X3Q+
IG1fc291cmNlQnVmZmVyOwogICAgIFZlY3Rvcjx1aW50OF90PiBtX2Rlc3RpbmF0aW9uQnVmZmVy
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9jb2Nv
YS9BdWRpb1NhbXBsZUJ1ZmZlckNvbXByZXNzb3IubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tZWRpYXJlY29yZGVyL2NvY29hL0F1ZGlvU2FtcGxlQnVmZmVyQ29tcHJlc3Nvci5tbQppbmRl
eCBkYzBiMDE2MDJlN2QzZWRiODU2ODE4YjAzOTM1NzNkNDZhZWU2ZGIzLi43Njk3MDM3MjM1Zjdm
MDY5MGNmNTJjM2EzM2Q5NmE0ZGUwN2QwOTQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tZWRpYXJlY29yZGVyL2NvY29hL0F1ZGlvU2FtcGxlQnVmZmVyQ29tcHJlc3Nvci5t
bQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL2NvY29hL0F1ZGlv
U2FtcGxlQnVmZmVyQ29tcHJlc3Nvci5tbQpAQCAtNTEsOCArNTEsMTEgQEAgc3RkOjp1bmlxdWVf
cHRyPEF1ZGlvU2FtcGxlQnVmZmVyQ29tcHJlc3Nvcj4gQXVkaW9TYW1wbGVCdWZmZXJDb21wcmVz
c29yOjpjcmVhdGUKIH0KIAogQXVkaW9TYW1wbGVCdWZmZXJDb21wcmVzc29yOjpBdWRpb1NhbXBs
ZUJ1ZmZlckNvbXByZXNzb3IoKQotICAgIDogbV9zZXJpYWxEaXNwYXRjaFF1ZXVlKFdvcmtRdWV1
ZTo6Y3JlYXRlKCJjb20uYXBwbGUuQXVkaW9TYW1wbGVCdWZmZXJDb21wcmVzc29yIikpCi0gICAg
LCBtX2xvd1dhdGVyVGltZShQQUw6OkNNVGltZU1ha2VXaXRoU2Vjb25kcyhMT1dfV0FURVJfVElN
RV9JTl9TRUNPTkRTLCAxMDAwKSkKKyAgICA6IG1fc2VyaWFsRGlzcGF0Y2hRdWV1ZSB7IFdvcmtR
dWV1ZTo6Y3JlYXRlKCJjb20uYXBwbGUuQXVkaW9TYW1wbGVCdWZmZXJDb21wcmVzc29yIikgfQor
ICAgICwgbV9sb3dXYXRlclRpbWUgeyBQQUw6OkNNVGltZU1ha2VXaXRoU2Vjb25kcyhMT1dfV0FU
RVJfVElNRV9JTl9TRUNPTkRTLCAxMDAwKSB9CisgICAgLCBtX2N1cnJlbnROYXRpdmVQcmVzZW50
YXRpb25UaW1lU3RhbXAgeyBQQUw6OmtDTVRpbWVJbnZhbGlkIH0KKyAgICAsIG1fY3VycmVudE91
dHB1dFByZXNlbnRhdGlvblRpbWVTdGFtcCB7IFBBTDo6a0NNVGltZUludmFsaWQgfQorICAgICwg
bV9yZW1haW5pbmdQcmltZUR1cmF0aW9uIHsgUEFMOjprQ01UaW1lSW52YWxpZCB9CiB7CiB9CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhcmVjb3JkZXIvY29jb2Ev
VmlkZW9TYW1wbGVCdWZmZXJDb21wcmVzc29yLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bWVkaWFyZWNvcmRlci9jb2NvYS9WaWRlb1NhbXBsZUJ1ZmZlckNvbXByZXNzb3IubW0KaW5kZXgg
Yjg5ZGYwNDRkNzRjYjEwN2U2ZGNhOGE5ZDJlZmJmMjFiZTQ1MTFkMS4uYmY1NzFhYTQ2N2FiN2Yz
OTBmMDQ0NmIxNTFlNTE3MzkyZTMzYzJiYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbWVkaWFyZWNvcmRlci9jb2NvYS9WaWRlb1NhbXBsZUJ1ZmZlckNvbXByZXNzb3IubW0K
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9jb2NvYS9WaWRlb1Nh
bXBsZUJ1ZmZlckNvbXByZXNzb3IubW0KQEAgLTMyLDEwICszMiwxMCBAQAogI2ltcG9ydCA8Q29y
ZU1lZGlhL0NvcmVNZWRpYS5oPgogI2ltcG9ydCA8Rm91bmRhdGlvbi9Gb3VuZGF0aW9uLmg+CiAj
aW1wb3J0IDxWaWRlb1Rvb2xib3gvVlRDb21wcmVzc2lvblNlc3Npb24uaD4KLSNpbXBvcnQgPHd0
Zi9Tb2Z0TGlua2luZy5oPgogCiAjaW1wb3J0IDxwYWwvY2YvQ29yZU1lZGlhU29mdExpbmsuaD4K
ICNpbXBvcnQgPHBhbC9jZi9WaWRlb1Rvb2xib3hTb2Z0TGluay5oPgorI2ltcG9ydCAiVmlkZW9U
b29sYm94U29mdExpbmsuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9jb2NvYS9BdWRpb01lZGlhU3RyZWFt
VHJhY2tSZW5kZXJlckNvY29hLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3Ry
ZWFtL2NvY29hL0F1ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRlcmVyQ29jb2EuY3BwCmluZGV4IDA1
MGU4OTMzNjlhY2YyMjZmN2U0MmUzZmE0YjM0YjkyNDk2ZjFiMzQuLmIyZWQ5ZTA5MDIxZjRhZDgw
ZWZkZjYxYjI1YTFkOWEwNDQ2ZGVjZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21lZGlhc3RyZWFtL2NvY29hL0F1ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRlcmVyQ29jb2Eu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2NvY29hL0F1ZGlv
TWVkaWFTdHJlYW1UcmFja1JlbmRlcmVyQ29jb2EuY3BwCkBAIC02Miw4ICs2MiwxMCBAQCB2b2lk
IEF1ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRlcmVyQ29jb2E6OnN0YXJ0KENvbXBsZXRpb25IYW5k
bGVyPHZvaWQoKT4mJiBjYWxsYgogCiBCYXNlQXVkaW9NZWRpYVN0cmVhbVRyYWNrUmVuZGVyZXJV
bml0JiBBdWRpb01lZGlhU3RyZWFtVHJhY2tSZW5kZXJlckNvY29hOjpyZW5kZXJlclVuaXQoKQog
eworI2lmIFVTRShMSUJXRUJSVEMpCiAgICAgaWYgKGF1dG8qIGF1ZGlvTW9kdWxlID0gdGhpcy0+
YXVkaW9Nb2R1bGUoKSkKICAgICAgICAgcmV0dXJuIGF1ZGlvTW9kdWxlLT5pbmNvbWluZ0F1ZGlv
TWVkaWFTdHJlYW1UcmFja1JlbmRlcmVyVW5pdCgpOworI2VuZGlmCiAgICAgcmV0dXJuIEF1ZGlv
TWVkaWFTdHJlYW1UcmFja1JlbmRlcmVyVW5pdDo6c2luZ2xldG9uKCk7CiB9CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2NvY29hL0Rpc3BsYXlDYXB0
dXJlU291cmNlQ29jb2EuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0v
Y29jb2EvRGlzcGxheUNhcHR1cmVTb3VyY2VDb2NvYS5jcHAKaW5kZXggYzliOTI0MjEzZDVhZTA3
ODJjOGJhNmU4MmMwZDE5ZDIyNDFjMWJlNy4uNDQyOWE5ZTAyNWFkNGNiM2UyZGRhNzhjMTk0YjMx
OWQ4ZjVkYjFkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJl
YW0vY29jb2EvRGlzcGxheUNhcHR1cmVTb3VyY2VDb2NvYS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vY29jb2EvRGlzcGxheUNhcHR1cmVTb3VyY2VDb2NvYS5j
cHAKQEAgLTYwLDggKzYwLDEyIEBAIENhcHR1cmVTb3VyY2VPckVycm9yIERpc3BsYXlDYXB0dXJl
U291cmNlQ29jb2E6OmNyZWF0ZShjb25zdCBDYXB0dXJlRGV2aWNlJiBkZXZpCiAgICAgY2FzZSBD
YXB0dXJlRGV2aWNlOjpEZXZpY2VUeXBlOjpTY3JlZW46CiAjaWYgUExBVEZPUk0oSU9TKQogICAg
ICAgICByZXR1cm4gY3JlYXRlKFJlcGxheUtpdENhcHR1cmVTb3VyY2U6OmNyZWF0ZShkZXZpY2Uu
cGVyc2lzdGVudElkKCkpLCBkZXZpY2UsIFdURk1vdmUoaGFzaFNhbHQpLCBjb25zdHJhaW50cyk7
Ci0jZWxzZQorI2VsaWYgIVBMQVRGT1JNKE1BQ0NBVEFMWVNUKQogICAgICAgICByZXR1cm4gY3Jl
YXRlKENHRGlzcGxheVN0cmVhbVNjcmVlbkNhcHR1cmVTb3VyY2U6OmNyZWF0ZShkZXZpY2UucGVy
c2lzdGVudElkKCkpLCBkZXZpY2UsIFdURk1vdmUoaGFzaFNhbHQpLCBjb25zdHJhaW50cyk7Cisj
ZWxzZQorICAgICAgICBVTlVTRURfUEFSQU0oaGFzaFNhbHQpOworICAgICAgICBVTlVTRURfUEFS
QU0oY29uc3RyYWludHMpOworICAgICAgICBGQUxMVEhST1VHSDsKICNlbmRpZgogICAgIGNhc2Ug
Q2FwdHVyZURldmljZTo6RGV2aWNlVHlwZTo6V2luZG93OgogICAgIGNhc2UgQ2FwdHVyZURldmlj
ZTo6RGV2aWNlVHlwZTo6TWljcm9waG9uZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21lZGlhc3RyZWFtL2NvY29hL0luY29taW5nQXVkaW9NZWRpYVN0cmVhbVRyYWNrUmVu
ZGVyZXJVbml0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2NvY29h
L0luY29taW5nQXVkaW9NZWRpYVN0cmVhbVRyYWNrUmVuZGVyZXJVbml0LmNwcAppbmRleCA5Mjk4
OWVmZmJjZTg4OTQ4MDA5YzNmMDEyNjk5MzMwOTNkYWQ0MDc0Li41Zjg3OTljYjFhNDM5NGU4MGRh
NWZiYmM2NjA5ZGU1NDlmYjdmZjRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tZWRpYXN0cmVhbS9jb2NvYS9JbmNvbWluZ0F1ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRlcmVy
VW5pdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vY29jb2Ev
SW5jb21pbmdBdWRpb01lZGlhU3RyZWFtVHJhY2tSZW5kZXJlclVuaXQuY3BwCkBAIC0yNiw3ICsy
Niw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiSW5jb21pbmdBdWRpb01lZGlh
U3RyZWFtVHJhY2tSZW5kZXJlclVuaXQuaCIKIAotI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCisj
aWYgRU5BQkxFKE1FRElBX1NUUkVBTSkgJiYgVVNFKExJQldFQlJUQykKIAogI2luY2x1ZGUgIkF1
ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRlcmVyVW5pdC5oIgogI2luY2x1ZGUgIkF1ZGlvU2FtcGxl
RGF0YVNvdXJjZS5oIgpAQCAtMjAwLDQgKzIwMCw0IEBAIGNvbnN0IHZvaWQqIEluY29taW5nQXVk
aW9NZWRpYVN0cmVhbVRyYWNrUmVuZGVyZXJVbml0Ojpsb2dJZGVudGlmaWVyKCkgY29uc3QKIAog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCi0jZW5kaWYgLy8gRU5BQkxFKE1FRElBX1NUUkVBTSkK
KyNlbmRpZiAvLyBFTkFCTEUoTUVESUFfU1RSRUFNKSAmJiBVU0UoTElCV0VCUlRDKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vY29jb2EvSW5jb21pbmdB
dWRpb01lZGlhU3RyZWFtVHJhY2tSZW5kZXJlclVuaXQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21lZGlhc3RyZWFtL2NvY29hL0luY29taW5nQXVkaW9NZWRpYVN0cmVhbVRyYWNrUmVuZGVy
ZXJVbml0LmgKaW5kZXggYzYwZjk5ODc5YTA5MGQzMDQ5MjUyZDU4YTg5NjM3YWVlMTExNWUxNi4u
YmY4NDJlNTEyYWZkMWUyNDNhMzFiODUxNTZhNjRkNTg2MmM5MDQ0ZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vY29jb2EvSW5jb21pbmdBdWRpb01lZGlh
U3RyZWFtVHJhY2tSZW5kZXJlclVuaXQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
ZWRpYXN0cmVhbS9jb2NvYS9JbmNvbWluZ0F1ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRlcmVyVW5p
dC5oCkBAIC0yNSw3ICsyNSw3IEBACiAKICNwcmFnbWEgb25jZQogCi0jaWYgRU5BQkxFKE1FRElB
X1NUUkVBTSkKKyNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKSAmJiBVU0UoTElCV0VCUlRDKQogCiAj
aW5jbHVkZSAiQmFzZUF1ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRlcmVyVW5pdC5oIgogI2luY2x1
ZGUgIkNBQXVkaW9TdHJlYW1EZXNjcmlwdGlvbi5oIgpAQCAtMTAyLDQgKzEwMiw0IEBAIHByaXZh
dGU6CiAKIH0KIAotI2VuZGlmIC8vIEVOQUJMRShNRURJQV9TVFJFQU0pCisjZW5kaWYgLy8gRU5B
QkxFKE1FRElBX1NUUkVBTSkgJiYgVVNFKExJQldFQlJUQykKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9BVlZpZGVvQ2FwdHVyZVNvdXJjZS5tbSBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9BVlZpZGVvQ2FwdHVyZVNv
dXJjZS5tbQppbmRleCAyZGRkN2M3YWFiZTcwMDk1OTk4YjcyYjMwZGY0NGJlMDkyNzU3ZjFkLi5k
ZmM1NjY0YWJiMGM3YjAxOTM4NTYyNjgzNDIzMGFjZmI5ZmQyOGRjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQVZWaWRlb0NhcHR1cmVTb3VyY2Uu
bW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0FWVmlkZW9D
YXB0dXJlU291cmNlLm1tCkBAIC00MjMsNyArNDIzLDcgQEAgYm9vbCBBVlZpZGVvQ2FwdHVyZVNv
dXJjZTo6c2V0dXBTZXNzaW9uKCkKIAogICAgIEFMV0FZU19MT0dfSUYobG9nZ2VyUHRyKCksIExP
R0lERU5USUZJRVIpOwogCi0jaWYgRU5BQkxFKEFQUF9QUklWQUNZX1JFUE9SVCkKKyNpZiBFTkFC
TEUoQVBQX1BSSVZBQ1lfUkVQT1JUKSAmJiAhUExBVEZPUk0oTUFDQ0FUQUxZU1QpCiAgICAgYXV0
byBpZGVudGl0eSA9IFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXI6OnNpbmdsZXRvbigpLmlkZW50
aXR5KCk7CiAgICAgaWYgKGlkZW50aXR5ICYmIFtQQUw6OmFsbG9jQVZDYXB0dXJlU2Vzc2lvbklu
c3RhbmNlKCkgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcihpbml0V2l0aEFzc3VtZWRJZGVu
dGl0eTopXSkKICAgICAgICAgbV9zZXNzaW9uID0gYWRvcHROUyhbUEFMOjphbGxvY0FWQ2FwdHVy
ZVNlc3Npb25JbnN0YW5jZSgpIGluaXRXaXRoQXNzdW1lZElkZW50aXR5OmlkZW50aXR5LmdldCgp
XSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMv
UmVhbHRpbWVJbmNvbWluZ1ZpZGVvU291cmNlQ29jb2EuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGltZUluY29taW5nVmlkZW9Tb3VyY2VDb2NvYS5oCmlu
ZGV4IGQwZmU4ZTA2NTgyMmY4MDdlYmI0ZDY1YTMwN2I0YmVjMGI4ZmFhNjIuLmIzZjkzNGFmNzhh
YTIzNGVlMzA3MjkzNDBmNjE0ZjIzZjVlMzY5NWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGltZUluY29taW5nVmlkZW9Tb3VyY2VDb2Nv
YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGlt
ZUluY29taW5nVmlkZW9Tb3VyY2VDb2NvYS5oCkBAIC0yNywyMCArMjcsMjEgQEAKIAogI3ByYWdt
YSBvbmNlCiAKLSNpZiBVU0UoTElCV0VCUlRDKQotCiAjaW5jbHVkZSAiUmVhbHRpbWVJbmNvbWlu
Z1ZpZGVvU291cmNlLmgiCiAKIHVzaW5nIENNU2FtcGxlQnVmZmVyUmVmID0gc3RydWN0IG9wYXF1
ZUNNU2FtcGxlQnVmZmVyKjsKIHVzaW5nIENWUGl4ZWxCdWZmZXJQb29sUmVmID0gc3RydWN0IF9f
Q1ZQaXhlbEJ1ZmZlclBvb2wqOwogdXNpbmcgQ1ZQaXhlbEJ1ZmZlclJlZiA9IHN0cnVjdCBfX0NW
QnVmZmVyKjsKIAorI2lmIFVTRShMSUJXRUJSVEMpCiBuYW1lc3BhY2Ugd2VicnRjIHsKIGVudW0g
Y2xhc3MgQnVmZmVyVHlwZTsKIH07CisjZW5kaWYKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCisj
aWYgVVNFKExJQldFQlJUQykKIGNsYXNzIFJlYWx0aW1lSW5jb21pbmdWaWRlb1NvdXJjZUNvY29h
IGZpbmFsIDogcHVibGljIFJlYWx0aW1lSW5jb21pbmdWaWRlb1NvdXJjZSB7CiBwdWJsaWM6CiAg
ICAgc3RhdGljIFJlZjxSZWFsdGltZUluY29taW5nVmlkZW9Tb3VyY2VDb2NvYT4gY3JlYXRlKHJ0
Yzo6c2NvcGVkX3JlZnB0cjx3ZWJydGM6OlZpZGVvVHJhY2tJbnRlcmZhY2U+JiYsIFN0cmluZyYm
KTsKQEAgLTY0LDkgKzY1LDEwIEBAIHByaXZhdGU6CiAgICAgc2l6ZV90IG1fcGl4ZWxCdWZmZXJQ
b29sSGVpZ2h0IHsgMCB9OwogICAgIHdlYnJ0Yzo6QnVmZmVyVHlwZSBtX3BpeGVsQnVmZmVyUG9v
bEJ1ZmZlclR5cGU7CiB9OworI2VuZGlmIC8vIFVTRShMSUJXRUJSVEMpCiAKKyNpZiBFTkFCTEUo
TUVESUFfU1RSRUFNKQogV0VCQ09SRV9FWFBPUlQgUmV0YWluUHRyPENWUGl4ZWxCdWZmZXJSZWY+
IGNyZWF0ZUJsYWNrUGl4ZWxCdWZmZXIoc2l6ZV90IHdpZHRoLCBzaXplX3QgaGVpZ2h0KTsKKyNl
bmRpZiAvLyBFTkFCTEUoTUVESUFfU1RSRUFNKQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0K
LSNlbmRpZiAvLyBVU0UoTElCV0VCUlRDKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1lSW5jb21pbmdWaWRlb1NvdXJjZUNvY29hLm1t
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1lSW5jb21p
bmdWaWRlb1NvdXJjZUNvY29hLm1tCmluZGV4IDlmMDY3MGMyMGI4YTRiOGIyNzQ2YTI4MGMzNzEz
NDY4M2NiN2VlMWIuLjZjMTMzNTk5NWM1YzBlOTQ3MmU3N2Q0MjUyYTA2OWI3ZmI4YzkwNjYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGlt
ZUluY29taW5nVmlkZW9Tb3VyY2VDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVJbmNvbWluZ1ZpZGVvU291cmNlQ29jb2EubW0KQEAg
LTI4LDE0ICsyOCwxNCBAQAogI2ltcG9ydCAiY29uZmlnLmgiCiAjaW1wb3J0ICJSZWFsdGltZUlu
Y29taW5nVmlkZW9Tb3VyY2VDb2NvYS5oIgogCi0jaWYgVVNFKExJQldFQlJUQykKLQogI2ltcG9y
dCAiQ1ZVdGlsaXRpZXMuaCIKICNpbXBvcnQgIkxvZ2dpbmcuaCIKICNpbXBvcnQgIk1lZGlhU2Ft
cGxlQVZGT2JqQy5oIgogI2ltcG9ydCAiUmVhbHRpbWVWaWRlb1V0aWxpdGllcy5oIgogI2ltcG9y
dCA8d3RmL2NmL1R5cGVDYXN0c0NGLmg+CiAKKyNpZiBVU0UoTElCV0VCUlRDKQorCiBBTExPV19V
TlVTRURfUEFSQU1FVEVSU19CRUdJTgogI2ltcG9ydCA8d2VicnRjL3Nkay9XZWJLaXQvV2ViS2l0
VXRpbGl0aWVzLmg+CiBBTExPV19VTlVTRURfUEFSQU1FVEVSU19FTkQKQEAgLTQzLDggKzQzLDEy
IEBAIEFMTE9XX1VOVVNFRF9QQVJBTUVURVJTX0VORAogI2ltcG9ydCAiQ29yZVZpZGVvU29mdExp
bmsuaCIKICNpbXBvcnQgPHBhbC9jZi9Db3JlTWVkaWFTb2Z0TGluay5oPgogCisjZW5kaWYKKwog
bmFtZXNwYWNlIFdlYkNvcmUgewogCisjaWYgVVNFKExJQldFQlJUQykKKwogUmVmPFJlYWx0aW1l
SW5jb21pbmdWaWRlb1NvdXJjZT4gUmVhbHRpbWVJbmNvbWluZ1ZpZGVvU291cmNlOjpjcmVhdGUo
cnRjOjpzY29wZWRfcmVmcHRyPHdlYnJ0Yzo6VmlkZW9UcmFja0ludGVyZmFjZT4mJiB2aWRlb1Ry
YWNrLCBTdHJpbmcmJiB0cmFja0lkKQogewogICAgIGF1dG8gc291cmNlID0gUmVhbHRpbWVJbmNv
bWluZ1ZpZGVvU291cmNlQ29jb2E6OmNyZWF0ZShXVEZNb3ZlKHZpZGVvVHJhY2spLCBXVEZNb3Zl
KHRyYWNrSWQpKTsKQEAgLTYyLDMzICs2Niw2IEBAIFJlYWx0aW1lSW5jb21pbmdWaWRlb1NvdXJj
ZUNvY29hOjpSZWFsdGltZUluY29taW5nVmlkZW9Tb3VyY2VDb2NvYShydGM6OnNjb3BlZF9yCiB7
CiB9CiAKLVJldGFpblB0cjxDVlBpeGVsQnVmZmVyUmVmPiBjcmVhdGVCbGFja1BpeGVsQnVmZmVy
KHNpemVfdCB3aWR0aCwgc2l6ZV90IGhlaWdodCkKLXsKLSAgICBPU1R5cGUgZm9ybWF0ID0gcHJl
ZmVyZWRQaXhlbEJ1ZmZlckZvcm1hdCgpOwotICAgIEFTU0VSVChmb3JtYXQgPT0ga0NWUGl4ZWxG
b3JtYXRUeXBlXzQyMFlwQ2JDcjhCaVBsYW5hclZpZGVvUmFuZ2UgfHwgZm9ybWF0ID09IGtDVlBp
eGVsRm9ybWF0VHlwZV80MjBZcENiQ3I4QmlQbGFuYXJGdWxsUmFuZ2UpOwotCi0gICAgQ1ZQaXhl
bEJ1ZmZlclJlZiBwaXhlbEJ1ZmZlciA9IG51bGxwdHI7Ci0gICAgYXV0byBzdGF0dXMgPSBDVlBp
eGVsQnVmZmVyQ3JlYXRlKGtDRkFsbG9jYXRvckRlZmF1bHQsIHdpZHRoLCBoZWlnaHQsIGZvcm1h
dCwgbnVsbHB0ciwgJnBpeGVsQnVmZmVyKTsKLSAgICBBU1NFUlRfVU5VU0VEKHN0YXR1cywgc3Rh
dHVzID09IG5vRXJyKTsKLQotICAgIHN0YXR1cyA9IENWUGl4ZWxCdWZmZXJMb2NrQmFzZUFkZHJl
c3MocGl4ZWxCdWZmZXIsIDApOwotICAgIEFTU0VSVChzdGF0dXMgPT0gbm9FcnIpOwotCi0gICAg
YXV0byogeVBsYW5lID0gc3RhdGljX2Nhc3Q8dWludDhfdCo+KENWUGl4ZWxCdWZmZXJHZXRCYXNl
QWRkcmVzc09mUGxhbmUocGl4ZWxCdWZmZXIsIDApKTsKLSAgICBzaXplX3QgeVN0cmlkZSA9IENW
UGl4ZWxCdWZmZXJHZXRCeXRlc1BlclJvd09mUGxhbmUocGl4ZWxCdWZmZXIsIDApOwotICAgIGZv
ciAodW5zaWduZWQgaSA9IDA7IGkgPCBoZWlnaHQ7ICsraSkKLSAgICAgICAgbWVtc2V0KCZ5UGxh
bmVbaSAqIHlTdHJpZGVdLCAwLCB3aWR0aCk7Ci0KLSAgICBhdXRvKiB1dlBsYW5lID0gc3RhdGlj
X2Nhc3Q8dWludDhfdCo+KENWUGl4ZWxCdWZmZXJHZXRCYXNlQWRkcmVzc09mUGxhbmUocGl4ZWxC
dWZmZXIsIDEpKTsKLSAgICBzaXplX3QgdXZTdHJpZGUgPSBDVlBpeGVsQnVmZmVyR2V0Qnl0ZXNQ
ZXJSb3dPZlBsYW5lKHBpeGVsQnVmZmVyLCAxKTsKLSAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBp
IDwgaGVpZ2h0IC8gMjsgKytpKQotICAgICAgICBtZW1zZXQoJnV2UGxhbmVbaSAqIHV2U3RyaWRl
XSwgMTI4LCB3aWR0aCk7Ci0KLSAgICBzdGF0dXMgPSBDVlBpeGVsQnVmZmVyVW5sb2NrQmFzZUFk
ZHJlc3MocGl4ZWxCdWZmZXIsIDApOwotICAgIEFTU0VSVCghc3RhdHVzKTsKLSAgICByZXR1cm4g
YWRvcHRDRihwaXhlbEJ1ZmZlcik7Ci19Ci0KIENWUGl4ZWxCdWZmZXJQb29sUmVmIFJlYWx0aW1l
SW5jb21pbmdWaWRlb1NvdXJjZUNvY29hOjpwaXhlbEJ1ZmZlclBvb2woc2l6ZV90IHdpZHRoLCBz
aXplX3QgaGVpZ2h0LCB3ZWJydGM6OkJ1ZmZlclR5cGUgYnVmZmVyVHlwZSkKIHsKICAgICBpZiAo
IW1fcGl4ZWxCdWZmZXJQb29sIHx8IG1fcGl4ZWxCdWZmZXJQb29sV2lkdGggIT0gd2lkdGggfHwg
bV9waXhlbEJ1ZmZlclBvb2xIZWlnaHQgIT0gaGVpZ2h0IHx8IG1fcGl4ZWxCdWZmZXJQb29sQnVm
ZmVyVHlwZSAhPSBidWZmZXJUeXBlKSB7CkBAIC0yMDAsNiArMTc3LDM3IEBAIHZvaWQgUmVhbHRp
bWVJbmNvbWluZ1ZpZGVvU291cmNlQ29jb2E6Ok9uRnJhbWUoY29uc3Qgd2VicnRjOjpWaWRlb0Zy
YW1lJiBmcmFtZSkKICAgICB2aWRlb1NhbXBsZUF2YWlsYWJsZShNZWRpYVNhbXBsZUFWRk9iakM6
OmNyZWF0ZShzYW1wbGUuZ2V0KCksIHJvdGF0aW9uKSwgbWV0YWRhdGFGcm9tVmlkZW9GcmFtZShm
cmFtZSkpOwogfQogCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KICNlbmRpZiAvLyBVU0UoTElC
V0VCUlRDKQorCisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKKworUmV0YWluUHRyPENWUGl4ZWxC
dWZmZXJSZWY+IGNyZWF0ZUJsYWNrUGl4ZWxCdWZmZXIoc2l6ZV90IHdpZHRoLCBzaXplX3QgaGVp
Z2h0KQoreworICAgIE9TVHlwZSBmb3JtYXQgPSBwcmVmZXJlZFBpeGVsQnVmZmVyRm9ybWF0KCk7
CisgICAgQVNTRVJUKGZvcm1hdCA9PSBrQ1ZQaXhlbEZvcm1hdFR5cGVfNDIwWXBDYkNyOEJpUGxh
bmFyVmlkZW9SYW5nZSB8fCBmb3JtYXQgPT0ga0NWUGl4ZWxGb3JtYXRUeXBlXzQyMFlwQ2JDcjhC
aVBsYW5hckZ1bGxSYW5nZSk7CisKKyAgICBDVlBpeGVsQnVmZmVyUmVmIHBpeGVsQnVmZmVyID0g
bnVsbHB0cjsKKyAgICBhdXRvIHN0YXR1cyA9IENWUGl4ZWxCdWZmZXJDcmVhdGUoa0NGQWxsb2Nh
dG9yRGVmYXVsdCwgd2lkdGgsIGhlaWdodCwgZm9ybWF0LCBudWxscHRyLCAmcGl4ZWxCdWZmZXIp
OworICAgIEFTU0VSVF9VTlVTRUQoc3RhdHVzLCBzdGF0dXMgPT0gbm9FcnIpOworCisgICAgc3Rh
dHVzID0gQ1ZQaXhlbEJ1ZmZlckxvY2tCYXNlQWRkcmVzcyhwaXhlbEJ1ZmZlciwgMCk7CisgICAg
QVNTRVJUKHN0YXR1cyA9PSBub0Vycik7CisKKyAgICBhdXRvKiB5UGxhbmUgPSBzdGF0aWNfY2Fz
dDx1aW50OF90Kj4oQ1ZQaXhlbEJ1ZmZlckdldEJhc2VBZGRyZXNzT2ZQbGFuZShwaXhlbEJ1ZmZl
ciwgMCkpOworICAgIHNpemVfdCB5U3RyaWRlID0gQ1ZQaXhlbEJ1ZmZlckdldEJ5dGVzUGVyUm93
T2ZQbGFuZShwaXhlbEJ1ZmZlciwgMCk7CisgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGhl
aWdodDsgKytpKQorICAgICAgICBtZW1zZXQoJnlQbGFuZVtpICogeVN0cmlkZV0sIDAsIHdpZHRo
KTsKKworICAgIGF1dG8qIHV2UGxhbmUgPSBzdGF0aWNfY2FzdDx1aW50OF90Kj4oQ1ZQaXhlbEJ1
ZmZlckdldEJhc2VBZGRyZXNzT2ZQbGFuZShwaXhlbEJ1ZmZlciwgMSkpOworICAgIHNpemVfdCB1
dlN0cmlkZSA9IENWUGl4ZWxCdWZmZXJHZXRCeXRlc1BlclJvd09mUGxhbmUocGl4ZWxCdWZmZXIs
IDEpOworICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBoZWlnaHQgLyAyOyArK2kpCisgICAg
ICAgIG1lbXNldCgmdXZQbGFuZVtpICogdXZTdHJpZGVdLCAxMjgsIHdpZHRoKTsKKworICAgIHN0
YXR1cyA9IENWUGl4ZWxCdWZmZXJVbmxvY2tCYXNlQWRkcmVzcyhwaXhlbEJ1ZmZlciwgMCk7Cisg
ICAgQVNTRVJUKCFzdGF0dXMpOworICAgIHJldHVybiBhZG9wdENGKHBpeGVsQnVmZmVyKTsKK30K
KworI2VuZGlmCisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcgYi9Tb3VyY2UvV2Vi
S2l0L0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCmluZGV4IDIxYTVkMjkx
NThkMjE0NTRjZmQxZmI1MWZmNzMzZGM2N2JkMDdkMGUuLjE0ZWRkOTJlYmY4ZTVkYjgwMTc3ZDA4
YzIwZjQ1MWE1ZTk4ODdmMTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ29uZmlndXJhdGlv
bnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKKysrIGIvU291cmNlL1dlYktpdC9Db25maWd1cmF0
aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpAQCAtNDQsMyArNDQsNCBAQCBFTkFCTEVfV0VC
X1JUQyA9ICQoRU5BQkxFX1dFQl9SVENfJChXS19QTEFURk9STV9OQU1FKSk7CiBFTkFCTEVfV0VC
X1JUQ19pcGhvbmVvcyA9IEVOQUJMRV9XRUJfUlRDOwogRU5BQkxFX1dFQl9SVENfaXBob25lc2lt
dWxhdG9yID0gRU5BQkxFX1dFQl9SVEM7CiBFTkFCTEVfV0VCX1JUQ19tYWNvc3ggPSBFTkFCTEVf
V0VCX1JUQzsKK0VOQUJMRV9XRUJfUlRDX21hY2NhdGFseXN0ID0gRU5BQkxFX1dFQl9SVEM7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mvd2VicnRjL0xpYldlYlJUQ0NvZGVj
c1Byb3h5Lm1tIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dlYnJ0Yy9MaWJXZWJSVENDb2Rl
Y3NQcm94eS5tbQppbmRleCAzMGZhMzBjYjNkYzljOWI0MDFmMGM0ZWNmY2UyMTA4MWVjNDZlNWMx
Li42ZDE3ZTQ1Yjk4MGVmZmMwNDhhMzE0NjRmOGRjNGM2MjQwNzY5YjhjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mvd2VicnRjL0xpYldlYlJUQ0NvZGVjc1Byb3h5Lm1tCisr
KyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy93ZWJydGMvTGliV2ViUlRDQ29kZWNzUHJveHku
bW0KQEAgLTIxMCwxNCArMjEwLDEyIEBAIHZvaWQgTGliV2ViUlRDQ29kZWNzUHJveHk6OmVuY29k
ZUZyYW1lKFJUQ0VuY29kZXJJZGVudGlmaWVyIGlkZW50aWZpZXIsIFdlYkNvcmU6CiAgICAgaWYg
KCFlbmNvZGVyKQogICAgICAgICByZXR1cm47CiAKLSNpZiAhUExBVEZPUk0oTUFDQ0FUQUxZU1Qp
CiAgICAgaWYgKCFzYW1wbGUuc3VyZmFjZSgpKQogICAgICAgICByZXR1cm47CiAgICAgYXV0byBw
aXhlbEJ1ZmZlciA9IFdlYkNvcmU6OmNyZWF0ZUNWUGl4ZWxCdWZmZXIoc2FtcGxlLnN1cmZhY2Uo
KSk7CiAgICAgaWYgKCFwaXhlbEJ1ZmZlcikKICAgICAgICAgcmV0dXJuOwogICAgIHdlYnJ0Yzo6
ZW5jb2RlTG9jYWxFbmNvZGVyRnJhbWUoZW5jb2RlciwgcGl4ZWxCdWZmZXItPmdldCgpLCBzYW1w
bGUudGltZSgpLnRvVGltZVNjYWxlKDEwMDAwMDApLnRpbWVWYWx1ZSgpLCB0aW1lU3RhbXAsIHRv
V2ViUlRDVmlkZW9Sb3RhdGlvbihzYW1wbGUucm90YXRpb24oKSksIHNob3VsZEVuY29kZUFzS2V5
RnJhbWUpOwotI2VuZGlmCiB9CiAKIC8vIEZvciBwZXJmb3JtYW5jZSByZWFzb25zLCB0aGlzIGZ1
bmN0aW9uIGFjY2Vzc2VzIG1fZW5jb2RlcnMgd2l0aG91dCBsb2NraW5nLiBUaGlzIGlzIHNhZmUg
YmVjYXVzZSB0aGlzIGZ1bmN0aW9uIHJ1bnMgb24gdGhlIGxpYldlYlJUQ0NvZGVjc1F1ZXVlCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUlRD
UHJvdmlkZXIubW0gYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3Jr
UlRDUHJvdmlkZXIubW0KaW5kZXggNmI1ZjU4MzZjY2VmNmNmYjhhZjk2MGQyZmI5NzYzOGVkMzk3
NTk0OC4uMDQ1ZGI5MGM2NmFmN2JhMGE2ODc1OTQyYzZlNzBiNjBkZjE2NTMxNiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ1Byb3ZpZGVy
Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtSVENQ
cm92aWRlci5tbQpAQCAtODMsNyArODMsNyBAQCBydGM6OlByb3h5SW5mbyBOZXR3b3JrUlRDUHJv
dmlkZXI6OnByb3h5SW5mb0Zyb21TZXNzaW9uKGNvbnN0IFJUQ05ldHdvcms6OlNvY2tldAogICAg
IGlmIChpc0VuYWJsZWQocHJveHlEaWN0aW9uYXJ5LmdldCgpLCBrQ0ZOZXR3b3JrUHJveGllc1NP
Q0tTRW5hYmxlKSkKICAgICAgICAgcmV0dXJuIGNyZWF0ZVJUQ1Byb3h5KHByb3h5RGljdGlvbmFy
eS5nZXQoKSwgcnRjOjpQUk9YWV9TT0NLUzUsIGtDRk5ldHdvcmtQcm94aWVzU09DS1NQcm94eSwg
a0NGTmV0d29ya1Byb3hpZXNTT0NLU1BvcnQpOwogI2VuZGlmCi0jaWYgUExBVEZPUk0oSU9TKQor
I2lmIFBMQVRGT1JNKElPUykgfHwgUExBVEZPUk0oTUFDQ0FUQUxZU1QpCiAgICAgaWYgKGlzRW5h
YmxlZChwcm94eURpY3Rpb25hcnkuZ2V0KCksIGtDRk5ldHdvcmtQcm94aWVzSFRUUEVuYWJsZSkp
CiAgICAgICAgIHJldHVybiBjcmVhdGVSVENQcm94eShwcm94eURpY3Rpb25hcnkuZ2V0KCksIHJ0
Yzo6UFJPWFlfSFRUUFMsIGtDRk5ldHdvcmtQcm94aWVzSFRUUFByb3h5LCBrQ0ZOZXR3b3JrUHJv
eGllc0hUVFBQb3J0KTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQ29jb2EvV2ViUHJlZmVyZW5jZXNDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0NvY29hL1dlYlByZWZlcmVuY2VzQ29jb2EubW0KaW5kZXggY2U3YWNhM2NlZGU4YTUyMzkzNjRk
NDE4MDU2NjNiYWU3MzVhM2U1NC4uMWVlMTNjYTZiZjdiMDE0NGJlOWQ1OTA4NzcwNmFhMjQ4NThl
ZmYxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJlZmVy
ZW5jZXNDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcmVm
ZXJlbmNlc0NvY29hLm1tCkBAIC0xNDMsNyArMTQzLDcgQEAgc3RhdGljIHZvaWQgc2V0RGVidWdV
SW50MzJWYWx1ZUlmSW5Vc2VyRGVmYXVsdHMoY29uc3QgU3RyaW5nJiBpZGVudGlmaWVyLCBjb25z
dAogdm9pZCBXZWJQcmVmZXJlbmNlczo6cGxhdGZvcm1Jbml0aWFsaXplU3RvcmUoKQogewogICAg
IEBhdXRvcmVsZWFzZXBvb2wgewotI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCisjaWYgRU5BQkxF
KE1FRElBX1NUUkVBTSkgJiYgIVBMQVRGT1JNKE1BQ0NBVEFMWVNUKQogICAgICAgICAvLyBOT1RF
OiBUaGlzIGlzIHNldCBoZXJlLCBhbmQgZG9lcyBub3Qgc2V0dGluZyB0aGUgZGVmYXVsdCB1c2lu
ZyB0aGUgJ2RlZmF1bHRWYWx1ZScgbWVjaGFuaXNtLCBiZWNhdXNlIHRoZQogICAgICAgICAvLyAn
ZGVmYXVsdFZhbHVlJyBtdXN0IGJlIHRoZSBzYW1lIGluIGJvdGggdGhlIFVJUHJvY2VzcyBhbmQg
V2ViUHJvY2Vzcywgd2hpY2ggbWF5IG5vdCBiZSB0cnVlIGZvciBhdWRpbwogICAgICAgICAvLyBh
bmQgdmlkZW8gY2FwdHVyZSBzdGF0ZSBhcyB0aGUgV2ViUHJvY2VzcyBpcyBub3QgZW50aXRsZWQg
dG8gdXNlIHRoZSBjYW1lcmEgb3IgbWljcm9waG9uZSBieSBkZWZhdWx0LgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL0xpYldlYlJUQ1Byb3ZpZGVy
LmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENQ
cm92aWRlci5jcHAKaW5kZXggMDcwYzczZDg1NzZlYzJiMzM4ZTlkMTA4ZDNmZThjZTFlNmRhN2Qx
My4uMDIxZDEyY2M1YWI0MzUxNjcyODZlNTQyOWE2ZmIyMDYwZWIwM2EyMyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL0xpYldlYlJUQ1Byb3ZpZGVy
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvTGliV2Vi
UlRDUHJvdmlkZXIuY3BwCkBAIC01Nyw3ICs1Nyw3IEBAIHByaXZhdGU6CiAKIHJ0Yzo6c2NvcGVk
X3JlZnB0cjx3ZWJydGM6OlBlZXJDb25uZWN0aW9uSW50ZXJmYWNlPiBMaWJXZWJSVENQcm92aWRl
cjo6Y3JlYXRlUGVlckNvbm5lY3Rpb24oU2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIg
aWRlbnRpZmllciwgd2VicnRjOjpQZWVyQ29ubmVjdGlvbk9ic2VydmVyJiBvYnNlcnZlciwgcnRj
OjpQYWNrZXRTb2NrZXRGYWN0b3J5KiBzb2NrZXRGYWN0b3J5LCB3ZWJydGM6OlBlZXJDb25uZWN0
aW9uSW50ZXJmYWNlOjpSVENDb25maWd1cmF0aW9uJiYgY29uZmlndXJhdGlvbikKIHsKLSNpZiBF
TkFCTEUoR1BVX1BST0NFU1MpICYmIFBMQVRGT1JNKENPQ09BKSAmJiAhUExBVEZPUk0oTUFDQ0FU
QUxZU1QpCisjaWYgRU5BQkxFKEdQVV9QUk9DRVNTKSAmJiBQTEFURk9STShDT0NPQSkKICAgICBp
ZiAoIW1fZGlkSW5pdGlhbGl6ZUNhbGxiYWNrKSB7CiAgICAgICAgIC8vIFdlIGluaXRpYWxpemUg
b25seSBvbmNlIHNpbmNlIGNhbGxiYWNrcyBhcmUgdXNlZCBpbiBiYWNrZ3JvdW5kIHRocmVhZHMu
CiAgICAgICAgIGF1dG8qIHBhZ2UgPSBtX3dlYlBhZ2UuY29yZVBhZ2UoKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENQcm92aWRl
ci5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL0xpYldlYlJUQ1By
b3ZpZGVyLmgKaW5kZXggZDM4MGEwNzVkZWI5NzFlMGZkM2I5NjM2YzVkY2E2NWQwYWZmNzcwZC4u
NWE5YzQzNTRlY2M4ZDk4NDRhYmY2NzgyOGM0ZDk4ZGMwZDI4Yjk1YiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL0xpYldlYlJUQ1Byb3ZpZGVyLmgK
KysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL0xpYldlYlJUQ1By
b3ZpZGVyLmgKQEAgLTYyLDcgKzYyLDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIHNldExvZ2dpbmdM
ZXZlbChXVEZMb2dMZXZlbCkgZmluYWw7CiAKICAgICBXZWJQYWdlJiBtX3dlYlBhZ2U7Ci0jaWYg
RU5BQkxFKEdQVV9QUk9DRVNTKSAmJiBQTEFURk9STShDT0NPQSkgJiYgIVBMQVRGT1JNKE1BQ0NB
VEFMWVNUKQorI2lmIEVOQUJMRShHUFVfUFJPQ0VTUykgJiYgUExBVEZPUk0oQ09DT0EpCiAgICAg
Ym9vbCBtX2RpZEluaXRpYWxpemVDYWxsYmFjayB7IGZhbHNlIH07CiAjZW5kaWYKIH07Cg==
</data>
<flag name="review"
          id="474479"
          type_id="1"
          status="+"
          setter="eric.carlson"
    />
    <flag name="commit-queue"
          id="474480"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
      

    </bug>

</bugzilla>