<?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>221921</bug_id>
          
          <creation_ts>2021-02-15 13:31:11 -0800</creation_ts>
          <short_desc>[macOS] Connect Touch Bar to MediaSession</short_desc>
          <delta_ts>2021-02-15 16:18:57 -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>Media</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Eric Carlson">eric.carlson</reporter>
          <assigned_to name="Eric Carlson">eric.carlson</assigned_to>
          <cc>calvaris</cc>
    
    <cc>cdumez</cc>
    
    <cc>changseok</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>jer.noble</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1729337</commentid>
    <comment_count>0</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2021-02-15 13:31:11 -0800</bug_when>
    <thetext>Send Touch Bar playback commands to MediaSession when appropriate.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1729338</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-02-15 13:31:24 -0800</bug_when>
    <thetext>&lt;rdar://problem/74363311&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1729352</commentid>
    <comment_count>2</comment_count>
      <attachid>420366</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2021-02-15 13:49:01 -0800</bug_when>
    <thetext>Created attachment 420366
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1729369</commentid>
    <comment_count>3</comment_count>
      <attachid>420370</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2021-02-15 14:15:27 -0800</bug_when>
    <thetext>Created attachment 420370
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1729372</commentid>
    <comment_count>4</comment_count>
      <attachid>420371</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2021-02-15 14:20:25 -0800</bug_when>
    <thetext>Created attachment 420371
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1729444</commentid>
    <comment_count>5</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-02-15 16:18:54 -0800</bug_when>
    <thetext>Committed r272890: &lt;https://commits.webkit.org/r272890&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 420371.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>420366</attachid>
            <date>2021-02-15 13:49:01 -0800</date>
            <delta_ts>2021-02-15 14:20:41 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-221921-20210215134900.patch</filename>
            <type>text/plain</type>
            <size>40159</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcyODcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTNiNDEyOTM1NjBiZGNm
OTRlNWRiNTljMDE5ZDM3YjVhM2YxZTIxZi4uY2M2MzkzNDYxOGNlNTJkYzQyZWZiMTczODdhMzlm
N2VkZDU3MDQyZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY0IEBACisyMDIxLTAyLTE1ICBFcmlj
IENhcmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgorCisgICAgICAgIFttYWNPU10gQ29u
bmVjdCBUb3VjaCBCYXIgdG8gTWVkaWFTZXNzaW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjE5MjEKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzc0
MzYzMzExPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFRoZXNlIGNoYW5nZXMgY2FuIG9ubHkgYmUgdGVzdGVkIG1hbnVhbGx5LgorCisgICAgICAgICog
aHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVs
ZW1lbnQ6OmRpZFJlY2VpdmVSZW1vdGVDb250cm9sQ29tbWFuZCk6IFBsYXRmb3JtTWVkaWFTZXNz
aW9uOjpSZW1vdGVDb21tYW5kQXJndW1lbnQKKyAgICAgICAgaXMgYSBzdHJ1Y3QuCisKKyAgICAg
ICAgKiBodG1sL01lZGlhRWxlbWVudFNlc3Npb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVk
aWFFbGVtZW50U2Vzc2lvbjo6ZGlkUmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21tYW5kKTogRGl0dG8u
IFRyYWNrIEJlZ2luU2NydWJiaW5nCisgICAgICAgIGFuZCBFbmRTY3J1YmJpbmcgc28gd2Uga25v
dyB3aGVuIHRvIHNldCB0aGUgJ2Zhc3RTZWVrJyBmbGFnIHdoZW4gc2VuZGluZyBhIFNlZWtUbyBj
b21tYW5kLgorICAgICAgICAqIGh0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5oOgorCisgICAgICAg
ICogcGxhdGZvcm0vTm93UGxheWluZ01hbmFnZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRp
by9QbGF0Zm9ybU1lZGlhU2Vzc2lvbi5jcHA6IFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVD
b21tYW5kQXJndW1lbnQKKyAgICAgICAgaXMgYSBzdHJ1Y3QuCisgICAgICAgIChXZWJDb3JlOjpj
b252ZXJ0RW51bWVyYXRpb25Ub1N0cmluZyk6CisKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9Q
bGF0Zm9ybU1lZGlhU2Vzc2lvbi5oOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1NZWRpYVNl
c3Npb246OlJlbW90ZUNvbW1hbmRBcmd1bWVudDo6ZW5jb2RlIGNvbnN0KToKKyAgICAgICAgKFdl
YkNvcmU6OlBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb21tYW5kQXJndW1lbnQ6OmRlY29k
ZSk6CisKKyAgICAgICAgKiBwbGF0Zm9ybS9jb2NvYS9QbGF5YmFja1Nlc3Npb25Nb2RlbC5oOgor
ICAgICAgICAoV2ViQ29yZTo6UGxheWJhY2tTZXNzaW9uTW9kZWw6OnNlbmRSZW1vdGVDb21tYW5k
KTogRGl0dG8uCisKKyAgICAgICAgKiBwbGF0Zm9ybS9jb2NvYS9QbGF5YmFja1Nlc3Npb25Nb2Rl
bE1lZGlhRWxlbWVudC5oOgorICAgICAgICAqIHBsYXRmb3JtL2NvY29hL1BsYXliYWNrU2Vzc2lv
bk1vZGVsTWVkaWFFbGVtZW50Lm1tOgorICAgICAgICAoV2ViQ29yZTo6UGxheWJhY2tTZXNzaW9u
TW9kZWxNZWRpYUVsZW1lbnQ6OnNlbmRSZW1vdGVDb21tYW5kKTogRGl0dG8uCisKKyAgICAgICAg
KiBwbGF0Zm9ybS9pb3MvUmVtb3RlQ29tbWFuZExpc3RlbmVySU9TLm1tOgorICAgICAgICAoV2Vi
Q29yZTo6UmVtb3RlQ29tbWFuZExpc3RlbmVySU9TOjpSZW1vdGVDb21tYW5kTGlzdGVuZXJJT1Mp
OiBEaXR0by4KKworICAgICAgICAqIHBsYXRmb3JtL21hYy9QbGF5YmFja1Nlc3Npb25JbnRlcmZh
Y2VNYWMuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvUGxheWJhY2tTZXNzaW9uSW50ZXJmYWNl
TWFjLm1tOgorICAgICAgICAoV2ViQ29yZTo6UGxheWJhY2tTZXNzaW9uSW50ZXJmYWNlTWFjOjp3
aWxsQmVnaW5TY3J1YmJpbmcpOiBQdWxsIHRoZSBsb2dpYyB0byB1cGRhdGUKKyAgICAgICAgY29u
dHJvbHMgbWFuYWdlciB0aW1pbmcgb3V0IG9mIGJlZ2luU2NydWJiaW5nIHNvIGl0IGNhbiBiZSB1
c2VkIGZyb20gV2ViUGxheWJhY2tDb250cm9sc01hbmFnZXIuCisgICAgICAgIChXZWJDb3JlOjpQ
bGF5YmFja1Nlc3Npb25JbnRlcmZhY2VNYWM6OmJlZ2luU2NydWJiaW5nKToKKworICAgICAgICAq
IHBsYXRmb3JtL21hYy9SZW1vdGVDb21tYW5kTGlzdGVuZXJNYWMubW06CisgICAgICAgIChXZWJD
b3JlOjpSZW1vdGVDb21tYW5kTGlzdGVuZXJNYWM6OlJlbW90ZUNvbW1hbmRMaXN0ZW5lck1hYyk6
IFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb21tYW5kQXJndW1lbnQKKyAgICAgICAgaXMg
YSBzdHJ1Y3QuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvV2ViUGxheWJhY2tDb250cm9sc01h
bmFnZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvV2ViUGxheWJhY2tDb250cm9sc01hbmFn
ZXIubW06CisgICAgICAgICgtW1dlYlBsYXliYWNrQ29udHJvbHNNYW5hZ2VyIHNlZWtUb1RpbWU6
dG9sZXJhbmNlQmVmb3JlOnRvbGVyYW5jZUFmdGVyOl0pOiBDYWxsCisgICAgICAgIHNlbmRSZW1v
dGVDb21tYW5kLgorICAgICAgICAoLVtXZWJQbGF5YmFja0NvbnRyb2xzTWFuYWdlciBiZWdpblRv
dWNoQmFyU2NydWJiaW5nXSk6IERpdHRvLgorICAgICAgICAoLVtXZWJQbGF5YmFja0NvbnRyb2xz
TWFuYWdlciBlbmRUb3VjaEJhclNjcnViYmluZ10pOiBEaXR0by4KKyAgICAgICAgKC1bV2ViUGxh
eWJhY2tDb250cm9sc01hbmFnZXIgdG9nZ2xlUGxheWJhY2tdKTogRGl0dG8uCisgICAgICAgICgt
W1dlYlBsYXliYWNrQ29udHJvbHNNYW5hZ2VyIHNldFBsYXlpbmc6XSk6IERpdHRvLgorICAgICAg
ICAoLVtXZWJQbGF5YmFja0NvbnRyb2xzTWFuYWdlciB0b2dnbGVQaWN0dXJlSW5QaWN0dXJlXSk6
IERpdHRvLgorCisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6SW50ZXJuYWxzOjpwb3N0UmVtb3RlQ29udHJvbENvbW1hbmQpOiBEaXR0by4KKwogMjAy
MS0wMi0xNSAgU2FpZCBBYm91LUhhbGxhd2EgIDxzYWlkQGFwcGxlLmNvbT4KIAogICAgICAgICBb
R1BVIFByb2Nlc3NdIChSRUdSRVNTSU9OIHIyNzI3NzYpOiBJbmNvcnJlY3Qgb3JkZXIgZm9yIGRl
Y29kaW5nIHRoZSBQYXR0ZXJuIHJlcGVhdCBwcm9wZXJ0aWVzCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDRkZDZmZjFk
MmRmY2VjYjc0MGY2YjJiYjhiNWQ3NzYyZTRiNTM5YzkuLmU3OTljZTRmMTgxMjRiZTg3MWIyYjkz
YWNlZmViZjhlNzg2YzBmMWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisr
KyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjkgQEAKKzIwMjEtMDItMTUg
IEVyaWMgQ2FybHNvbiAgPGVyaWMuY2FybHNvbkBhcHBsZS5jb20+CisKKyAgICAgICAgW21hY09T
XSBDb25uZWN0IFRvdWNoIEJhciB0byBNZWRpYVNlc3Npb24KKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMTkyMQorICAgICAgICA8cmRhcjovL3Byb2Js
ZW0vNzQzNjMzMTE+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBHUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpkaWRSZWNlaXZlUmVtb3RlQ29u
dHJvbENvbW1hbmQpOiAgUGxhdGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbW1hbmRBcmd1bWVu
dAorICAgICAgICBpcyBhIHN0cnVjdC4KKyAgICAgICAgKiBHUFVQcm9jZXNzL0dQVUNvbm5lY3Rp
b25Ub1dlYlByb2Nlc3MuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvUGxheWJhY2tTZXNz
aW9uTWFuYWdlclByb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1BsYXliYWNrU2Vz
c2lvbk1hbmFnZXJQcm94eS5tbToKKyAgICAgICAgKFdlYktpdDo6UGxheWJhY2tTZXNzaW9uTW9k
ZWxDb250ZXh0OjpzZW5kUmVtb3RlQ29tbWFuZCk6IAorICAgICAgICAoV2ViS2l0OjpQbGF5YmFj
a1Nlc3Npb25NYW5hZ2VyUHJveHk6OnNlbmRSZW1vdGVDb21tYW5kKToKKyAgICAgICAgKiBXZWJQ
cm9jZXNzL0dQVS9HUFVQcm9jZXNzQ29ubmVjdGlvbi5jcHA6CisgICAgICAgIChXZWJLaXQ6OkdQ
VVByb2Nlc3NDb25uZWN0aW9uOjpkaWRSZWNlaXZlUmVtb3RlQ29tbWFuZCk6CisgICAgICAgICog
V2ViUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc0Nvbm5lY3Rpb24uaDoKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL0dQVS9HUFVQcm9jZXNzQ29ubmVjdGlvbi5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBXZWJQ
cm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXIubWVzc2FnZXMuaW46
CisgICAgICAgICogV2ViUHJvY2Vzcy9jb2NvYS9QbGF5YmFja1Nlc3Npb25NYW5hZ2VyLmg6Cisg
ICAgICAgICogV2ViUHJvY2Vzcy9jb2NvYS9QbGF5YmFja1Nlc3Npb25NYW5hZ2VyLm1lc3NhZ2Vz
LmluOgorICAgICAgICAqIFdlYlByb2Nlc3MvY29jb2EvUGxheWJhY2tTZXNzaW9uTWFuYWdlci5t
bToKKyAgICAgICAgKFdlYktpdDo6UGxheWJhY2tTZXNzaW9uTWFuYWdlcjo6c2VuZFJlbW90ZUNv
bW1hbmQpOgorCiAyMDIxLTAyLTE1ICBGdWppaSBIaXJvbm9yaSAgPEhpcm9ub3JpLkZ1amlpQHNv
bnkuY29tPgogCiAgICAgICAgIFBhZ2Ugc2Nyb2xsaW5nIGJ5IHdoZWVsIGV2ZW50cyBkb2Vzbid0
IHdvcmsgaW4gbm9uLUFDIG1vZGUgcGFnZXMgaWYgSGFyZHdhcmUgQWNjZWxlcmF0aW9uIFBvbGlj
eSBpcyBjaGFuZ2VkIGR5bmFtaWNhbGx5IGZyb20gImFsd2F5cyIgdG8gIm5ldmVyIgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKaW5kZXggNDkwN2I4MDhhMTQxNzIyODcz
ZDM0MjNmMGNiOWY3NThlNDJjNDU2Yy4uZWIxNTFhNjk3M2E5NzljYTQ2NWM5ZDQ0Mzc1MTU3YjE3
NzcyY2YwNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCkBAIC03
NTE3LDcgKzc1MTcsNyBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OmRpZFJlY2VpdmVSZW1vdGVD
b250cm9sQ29tbWFuZChQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtbwogICAgIEFMV0FZU19MT0co
TE9HSURFTlRJRklFUiwgY29tbWFuZCk7CiAKICAgICBVc2VyR2VzdHVyZUluZGljYXRvciByZW1v
dGVDb250cm9sVXNlckdlc3R1cmUoUHJvY2Vzc2luZ1VzZXJHZXN0dXJlLCAmZG9jdW1lbnQoKSk7
Ci0gICAgZG91YmxlIG9mZnNldCA9IDE1OworICAgIGNvbnN0IGRvdWJsZSBkZWZhdWx0U2tpcEFt
b3VudCA9IDE1OwogICAgIHN3aXRjaCAoY29tbWFuZCkgewogICAgIGNhc2UgUGxhdGZvcm1NZWRp
YVNlc3Npb246OlBsYXlDb21tYW5kOgogICAgICAgICBwbGF5KCk7CkBAIC03NTQwLDE5ICs3NTQw
LDE1IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6ZGlkUmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21t
YW5kKFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vCiAgICAgICAgIGVuZFNjYW5uaW5nKCk7CiAg
ICAgICAgIGJyZWFrOwogICAgIGNhc2UgUGxhdGZvcm1NZWRpYVNlc3Npb246OlNraXBGb3J3YXJk
Q29tbWFuZDoKLSAgICAgICAgaWYgKGFyZ3VtZW50KQotICAgICAgICAgICAgb2Zmc2V0ID0gKmFy
Z3VtZW50OwotICAgICAgICBoYW5kbGVTZWVrVG9QbGF5YmFja1Bvc2l0aW9uKG9mZnNldCk7Cisg
ICAgICAgIGhhbmRsZVNlZWtUb1BsYXliYWNrUG9zaXRpb24oYXJndW1lbnQudGltZSA/IGFyZ3Vt
ZW50LnRpbWUudmFsdWUoKSA6IGRlZmF1bHRTa2lwQW1vdW50KTsKICAgICAgICAgYnJlYWs7CiAg
ICAgY2FzZSBQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6U2tpcEJhY2t3YXJkQ29tbWFuZDoKLSAgICAg
ICAgaWYgKGFyZ3VtZW50KQotICAgICAgICAgICAgb2Zmc2V0ID0gKmFyZ3VtZW50OwotICAgICAg
ICBoYW5kbGVTZWVrVG9QbGF5YmFja1Bvc2l0aW9uKDAgLSBvZmZzZXQpOworICAgICAgICBoYW5k
bGVTZWVrVG9QbGF5YmFja1Bvc2l0aW9uKDAgLSAoYXJndW1lbnQudGltZSA/IGFyZ3VtZW50LnRp
bWUudmFsdWUoKSA6IGRlZmF1bHRTa2lwQW1vdW50KSk7CiAgICAgICAgIGJyZWFrOwogICAgIGNh
c2UgUGxhdGZvcm1NZWRpYVNlc3Npb246OlNlZWtUb1BsYXliYWNrUG9zaXRpb25Db21tYW5kOgot
ICAgICAgICBBU1NFUlQoYXJndW1lbnQpOwotICAgICAgICBpZiAoYXJndW1lbnQpCi0gICAgICAg
ICAgICBoYW5kbGVTZWVrVG9QbGF5YmFja1Bvc2l0aW9uKCphcmd1bWVudCk7CisgICAgICAgIEFT
U0VSVChhcmd1bWVudC50aW1lKTsKKyAgICAgICAgaWYgKGFyZ3VtZW50LnRpbWUpCisgICAgICAg
ICAgICBoYW5kbGVTZWVrVG9QbGF5YmFja1Bvc2l0aW9uKGFyZ3VtZW50LnRpbWUudmFsdWUoKSk7
CiAgICAgICAgIGJyZWFrOwogICAgIGRlZmF1bHQ6CiAgICAgICAgIHsgfSAvLyBEbyBub3RoaW5n
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRWxlbWVudFNlc3Npb24uY3Bw
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmNwcAppbmRleCBmNThj
ZGNkOGE4NTY0YzEwNzU0MTExZGE5Y2Y3ZGYzMzk3OTEyOGJmLi4wNzNlNDYyYWE4MmYxNzM0YTEx
MGIwZDU5MWIwMGMyYjNiMDM3ZTA4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL01l
ZGlhRWxlbWVudFNlc3Npb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbGVt
ZW50U2Vzc2lvbi5jcHAKQEAgLTEwNTEsMjEgKzEwNTEsMjggQEAgdm9pZCBNZWRpYUVsZW1lbnRT
ZXNzaW9uOjpkaWRSZWNlaXZlUmVtb3RlQ29udHJvbENvbW1hbmQoUmVtb3RlQ29udHJvbENvbW1h
bmRUeXAKICAgICBjYXNlIFRvZ2dsZVBsYXlQYXVzZUNvbW1hbmQ6CiAgICAgICAgIGFjdGlvbkRl
dGFpbHMuYWN0aW9uID0gbV9lbGVtZW50LnBhdXNlZCgpID8gTWVkaWFTZXNzaW9uQWN0aW9uOjpQ
bGF5IDogTWVkaWFTZXNzaW9uQWN0aW9uOjpQYXVzZTsKICAgICAgICAgYnJlYWs7CisgICAgY2Fz
ZSBCZWdpblNjcnViYmluZzoKKyAgICAgICAgbV9pc1NjcnViYmluZyA9IHRydWU7CisgICAgICAg
IHJldHVybjsKKyAgICBjYXNlIEVuZFNjcnViYmluZzoKKyAgICAgICAgbV9pc1NjcnViYmluZyA9
IGZhbHNlOworICAgICAgICByZXR1cm47CiAgICAgY2FzZSBTZWVrVG9QbGF5YmFja1Bvc2l0aW9u
Q29tbWFuZDoKLSAgICAgICAgQVNTRVJUKGFyZ3VtZW50KTsKLSAgICAgICAgaWYgKCFhcmd1bWVu
dCkKKyAgICAgICAgQVNTRVJUKGFyZ3VtZW50LnRpbWUpOworICAgICAgICBpZiAoIWFyZ3VtZW50
LnRpbWUpCiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIGFjdGlvbkRldGFpbHMuYWN0aW9u
ID0gTWVkaWFTZXNzaW9uQWN0aW9uOjpTZWVrdG87Ci0gICAgICAgIGFjdGlvbkRldGFpbHMuc2Vl
a1RpbWUgPSAqYXJndW1lbnQ7CisgICAgICAgIGFjdGlvbkRldGFpbHMuc2Vla1RpbWUgPSBhcmd1
bWVudC50aW1lLnZhbHVlKCk7CisgICAgICAgIGFjdGlvbkRldGFpbHMuZmFzdFNlZWsgPSBtX2lz
U2NydWJiaW5nOwogICAgICAgICBicmVhazsKICAgICBjYXNlIFNraXBGb3J3YXJkQ29tbWFuZDoK
LSAgICAgICAgaWYgKGFyZ3VtZW50KQotICAgICAgICAgICAgYWN0aW9uRGV0YWlscy5zZWVrT2Zm
c2V0ID0gKmFyZ3VtZW50OworICAgICAgICBpZiAoYXJndW1lbnQudGltZSkKKyAgICAgICAgICAg
IGFjdGlvbkRldGFpbHMuc2Vla09mZnNldCA9IGFyZ3VtZW50LnRpbWUudmFsdWUoKTsKICAgICAg
ICAgYWN0aW9uRGV0YWlscy5hY3Rpb24gPSBNZWRpYVNlc3Npb25BY3Rpb246OlNlZWtmb3J3YXJk
OwogICAgICAgICBicmVhazsKICAgICBjYXNlIFNraXBCYWNrd2FyZENvbW1hbmQ6Ci0gICAgICAg
IGlmIChhcmd1bWVudCkKLSAgICAgICAgICAgIGFjdGlvbkRldGFpbHMuc2Vla09mZnNldCA9ICph
cmd1bWVudDsKKyAgICAgICAgaWYgKGFyZ3VtZW50LnRpbWUpCisgICAgICAgICAgICBhY3Rpb25E
ZXRhaWxzLnNlZWtPZmZzZXQgPSBhcmd1bWVudC50aW1lLnZhbHVlKCk7CiAgICAgICAgIGFjdGlv
bkRldGFpbHMuYWN0aW9uID0gTWVkaWFTZXNzaW9uQWN0aW9uOjpTZWVrYmFja3dhcmQ7CiAgICAg
ICAgIGJyZWFrOwogICAgIGNhc2UgTmV4dFRyYWNrQ29tbWFuZDoKQEAgLTEwNzksNyArMTA4Niw3
IEBAIHZvaWQgTWVkaWFFbGVtZW50U2Vzc2lvbjo6ZGlkUmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21t
YW5kKFJlbW90ZUNvbnRyb2xDb21tYW5kVHlwCiAgICAgY2FzZSBCZWdpblNlZWtpbmdGb3J3YXJk
Q29tbWFuZDoKICAgICBjYXNlIEVuZFNlZWtpbmdGb3J3YXJkQ29tbWFuZDoKICAgICAgICAgQVNT
RVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgICAgIGJyZWFrOworICAgICAgICByZXR1cm47CiAgICAg
fQogICAgIAogICAgIGlmIChhdXRvIGhhbmRsZXIgPSBzZXNzaW9uLT5oYW5kbGVyRm9yQWN0aW9u
KGFjdGlvbkRldGFpbHMuYWN0aW9uKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
TWVkaWFFbGVtZW50U2Vzc2lvbi5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVsZW1lbnRT
ZXNzaW9uLmgKaW5kZXggN2NiZjdhMzMxNDFjNDI1MjIxODRmMDAxNjM4YWFhN2NkYzBlZTZhYy4u
N2RiZDBhNGY3NDk1YzU4MTBhMjcwMDE4OGY2NzNiMGFkYTkyMzMxYiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmgKQEAgLTE3NSw3ICsxNzUsNyBAQCBwdWJsaWM6
CiAjZW5kaWYKIAogI2lmIEVOQUJMRShNRURJQV9TRVNTSU9OKQotICAgIHZvaWQgZGlkUmVjZWl2
ZVJlbW90ZUNvbnRyb2xDb21tYW5kKFJlbW90ZUNvbnRyb2xDb21tYW5kVHlwZSwgY29uc3QgUmVt
b3RlQ29tbWFuZEFyZ3VtZW50JiA9IFdURjo6bnVsbG9wdCkgZmluYWw7CisgICAgdm9pZCBkaWRS
ZWNlaXZlUmVtb3RlQ29udHJvbENvbW1hbmQoUmVtb3RlQ29udHJvbENvbW1hbmRUeXBlLCBjb25z
dCBSZW1vdGVDb21tYW5kQXJndW1lbnQmKSBmaW5hbDsKICNlbmRpZgogCiBwcml2YXRlOgpAQCAt
MjMyLDYgKzIzMiw4IEBAIHByaXZhdGU6CiAjaWYgRU5BQkxFKE1FRElBX1VTQUdFKQogICAgIGJv
b2wgbV9oYXZlQWRkZWRNZWRpYVVzYWdlTWFuYWdlclNlc3Npb24geyBmYWxzZSB9OwogI2VuZGlm
CisgICAgCisgICAgYm9vbCBtX2lzU2NydWJiaW5nIHsgZmFsc2UgfTsKIH07CiAKIFN0cmluZyBj
b252ZXJ0RW51bWVyYXRpb25Ub1N0cmluZyhjb25zdCBNZWRpYVBsYXliYWNrRGVuaWFsUmVhc29u
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL05vd1BsYXlpbmdNYW5hZ2Vy
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Ob3dQbGF5aW5nTWFuYWdlci5oCmluZGV4IDFi
Njc4YzgyMDZmNWQwYWY5ZDdmNzc4NGEyZWM5NDNhYmZhMDAxM2QuLmZhMTY2NDI4MjQ1MmYwZWQw
OWM2Yzg3NzVmNmE4NjUyNDlkYmFkMzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL05vd1BsYXlpbmdNYW5hZ2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTm93
UGxheWluZ01hbmFnZXIuaApAQCAtNDUsNyArNDUsNyBAQCBwdWJsaWM6CiAgICAgY2xhc3MgQ2xp
ZW50IDogcHVibGljIENhbk1ha2VXZWFrUHRyPENsaWVudD4gewogICAgIHB1YmxpYzoKICAgICAg
ICAgdmlydHVhbCB+Q2xpZW50KCkgPSBkZWZhdWx0OwotICAgICAgICB2aXJ0dWFsIHZvaWQgZGlk
UmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21tYW5kKFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVD
b250cm9sQ29tbWFuZFR5cGUsIE9wdGlvbmFsPGRvdWJsZT4pID0gMDsKKyAgICAgICAgdmlydHVh
bCB2b2lkIGRpZFJlY2VpdmVSZW1vdGVDb250cm9sQ29tbWFuZChQbGF0Zm9ybU1lZGlhU2Vzc2lv
bjo6UmVtb3RlQ29udHJvbENvbW1hbmRUeXBlLCBjb25zdCBQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6
UmVtb3RlQ29tbWFuZEFyZ3VtZW50JikgPSAwOwogICAgIH07CiAKICAgICB2b2lkIGNsZWFyTm93
UGxheWluZ0luZm9DbGllbnQoQ2xpZW50Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbi5jcHAKaW5kZXggNjI3YTFlMGY1NGJj
ZWNlMGUyMGI2N2IwNWExOTgzOGU5NzhmZDkxYy4uNDk1ODZhZGZjNzEzMjhkN2JkOWExNjQzODA5
MWY0NWIyYTVmMWJmYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8v
UGxhdGZvcm1NZWRpYVNlc3Npb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1
ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uLmNwcApAQCAtOTcsNiArOTcsOCBAQCBTdHJpbmcgY29u
dmVydEVudW1lcmF0aW9uVG9TdHJpbmcoUGxhdGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbnRy
b2xDb21tYW5kVHlwZQogICAgICAgICBNQUtFX1NUQVRJQ19TVFJJTkdfSU1QTCgiU2tpcEJhY2t3
YXJkQ29tbWFuZCIpLAogICAgICAgICBNQUtFX1NUQVRJQ19TVFJJTkdfSU1QTCgiTmV4dFRyYWNr
Q29tbWFuZCIpLAogICAgICAgICBNQUtFX1NUQVRJQ19TVFJJTkdfSU1QTCgiUHJldmlvdXNUcmFj
a0NvbW1hbmQiKSwKKyAgICAgICAgTUFLRV9TVEFUSUNfU1RSSU5HX0lNUEwoIkJlZ2luU2NydWJi
aW5nIiksCisgICAgICAgIE1BS0VfU1RBVElDX1NUUklOR19JTVBMKCJFbmRTY3J1YmJpbmciKSwK
ICAgICB9OwogICAgIHN0YXRpY19hc3NlcnQoIXN0YXRpY19jYXN0PHNpemVfdD4oUGxhdGZvcm1N
ZWRpYVNlc3Npb246Ok5vQ29tbWFuZCksICJQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6Tm9Db21tYW5k
IGlzIG5vdCAwIGFzIGV4cGVjdGVkIik7CiAgICAgc3RhdGljX2Fzc2VydChzdGF0aWNfY2FzdDxz
aXplX3Q+KFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpQbGF5Q29tbWFuZCkgPT0gMSwgIlBsYXRmb3Jt
TWVkaWFTZXNzaW9uOjpQbGF5Q29tbWFuZCBpcyBub3QgMSBhcyBleHBlY3RlZCIpOwpAQCAtMTEy
LDYgKzExNCw5IEBAIFN0cmluZyBjb252ZXJ0RW51bWVyYXRpb25Ub1N0cmluZyhQbGF0Zm9ybU1l
ZGlhU2Vzc2lvbjo6UmVtb3RlQ29udHJvbENvbW1hbmRUeXBlCiAgICAgc3RhdGljX2Fzc2VydChz
dGF0aWNfY2FzdDxzaXplX3Q+KFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpTa2lwQmFja3dhcmRDb21t
YW5kKSA9PSAxMSwgIlBsYXRmb3JtTWVkaWFTZXNzaW9uOjpTa2lwQmFja3dhcmRDb21tYW5kIGlz
IG5vdCAxMSBhcyBleHBlY3RlZCIpOwogICAgIHN0YXRpY19hc3NlcnQoc3RhdGljX2Nhc3Q8c2l6
ZV90PihQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6TmV4dFRyYWNrQ29tbWFuZCkgPT0gMTIsICJQbGF0
Zm9ybU1lZGlhU2Vzc2lvbjo6TmV4dFRyYWNrQ29tbWFuZCBpcyBub3QgMTIgYXMgZXhwZWN0ZWQi
KTsKICAgICBzdGF0aWNfYXNzZXJ0KHN0YXRpY19jYXN0PHNpemVfdD4oUGxhdGZvcm1NZWRpYVNl
c3Npb246OlByZXZpb3VzVHJhY2tDb21tYW5kKSA9PSAxMywgIlBsYXRmb3JtTWVkaWFTZXNzaW9u
OjpQcmV2aW91c1RyYWNrQ29tbWFuZCBpcyBub3QgMTMgYXMgZXhwZWN0ZWQiKTsKKyAgICBzdGF0
aWNfYXNzZXJ0KHN0YXRpY19jYXN0PHNpemVfdD4oUGxhdGZvcm1NZWRpYVNlc3Npb246OkJlZ2lu
U2NydWJiaW5nKSA9PSAxNCwgIlBsYXRmb3JtTWVkaWFTZXNzaW9uOjpCZWdpblNjcnViYmluZyBp
cyBub3QgMTQgYXMgZXhwZWN0ZWQiKTsKKyAgICBzdGF0aWNfYXNzZXJ0KHN0YXRpY19jYXN0PHNp
emVfdD4oUGxhdGZvcm1NZWRpYVNlc3Npb246OkVuZFNjcnViYmluZykgPT0gMTUsICJQbGF0Zm9y
bU1lZGlhU2Vzc2lvbjo6RW5kU2NydWJiaW5nIGlzIG5vdCAxNSBhcyBleHBlY3RlZCIpOworCiAg
ICAgQVNTRVJUKHN0YXRpY19jYXN0PHNpemVfdD4oY29tbWFuZCkgPCBXVEZfQVJSQVlfTEVOR1RI
KHZhbHVlcykpOwogICAgIHJldHVybiB2YWx1ZXNbc3RhdGljX2Nhc3Q8c2l6ZV90Pihjb21tYW5k
KV07CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9y
bU1lZGlhU2Vzc2lvbi5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1N
ZWRpYVNlc3Npb24uaAppbmRleCBiMTMzMDNjNjA1NWVmNmEyNTEzNzkxMGZhZmZlMzIxOThmMjk5
MjBhLi45MTQ1N2ViMWE2MWU0NjczYWMxOTNiODIwM2U5MGI4ZjNlNjI3NjUxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbi5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uLmgK
QEAgLTExNCw4ICsxMTQsMTQgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB2b2lkIHN1c3BlbmRC
dWZmZXJpbmcoKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgcmVzdW1lQnVmZmVyaW5nKCkgeyB9Cisg
ICAgCisgICAgc3RydWN0IFJlbW90ZUNvbW1hbmRBcmd1bWVudCB7CisgICAgICAgIE9wdGlvbmFs
PGRvdWJsZT4gdGltZTsKKyAgICAgICAgT3B0aW9uYWw8Ym9vbD4gZmFzdFNlZWs7CiAKLSAgICB1
c2luZyBSZW1vdGVDb21tYW5kQXJndW1lbnQgPSBPcHRpb25hbDxkb3VibGU+OworICAgICAgICB0
ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPiB2b2lkIGVuY29kZShFbmNvZGVyJikgY29uc3Q7CisgICAg
ICAgIHRlbXBsYXRlPGNsYXNzIERlY29kZXI+IHN0YXRpYyBPcHRpb25hbDxSZW1vdGVDb21tYW5k
QXJndW1lbnQ+IGRlY29kZShEZWNvZGVyJik7CisgICAgfTsKIAogICAgIGVudW0gUmVtb3RlQ29u
dHJvbENvbW1hbmRUeXBlIDogdWludDhfdCB7CiAgICAgICAgIE5vQ29tbWFuZCwKQEAgLTEzMiw5
ICsxMzgsMTEgQEAgcHVibGljOgogICAgICAgICBTa2lwQmFja3dhcmRDb21tYW5kLAogICAgICAg
ICBOZXh0VHJhY2tDb21tYW5kLAogICAgICAgICBQcmV2aW91c1RyYWNrQ29tbWFuZCwKKyAgICAg
ICAgQmVnaW5TY3J1YmJpbmcsCisgICAgICAgIEVuZFNjcnViYmluZywKICAgICB9OwogICAgIGJv
b2wgY2FuUmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21tYW5kcygpIGNvbnN0OwotICAgIHZpcnR1YWwg
dm9pZCBkaWRSZWNlaXZlUmVtb3RlQ29udHJvbENvbW1hbmQoUmVtb3RlQ29udHJvbENvbW1hbmRU
eXBlLCBjb25zdCBSZW1vdGVDb21tYW5kQXJndW1lbnQmID0gV1RGOjpudWxsb3B0KTsKKyAgICB2
aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21tYW5kKFJlbW90ZUNvbnRyb2xD
b21tYW5kVHlwZSwgY29uc3QgUmVtb3RlQ29tbWFuZEFyZ3VtZW50Jik7CiAgICAgYm9vbCBzdXBw
b3J0c1NlZWtpbmcoKSBjb25zdDsKIAogICAgIGVudW0gRGlzcGxheVR5cGUgOiB1aW50OF90IHsK
QEAgLTI3Myw4ICsyODEsMzAgQEAgcHJvdGVjdGVkOgogU3RyaW5nIGNvbnZlcnRFbnVtZXJhdGlv
blRvU3RyaW5nKFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpTdGF0ZSk7CiBTdHJpbmcgY29udmVydEVu
dW1lcmF0aW9uVG9TdHJpbmcoUGxhdGZvcm1NZWRpYVNlc3Npb246OkludGVycnVwdGlvblR5cGUp
OwogU3RyaW5nIGNvbnZlcnRFbnVtZXJhdGlvblRvU3RyaW5nKFBsYXRmb3JtTWVkaWFTZXNzaW9u
OjpSZW1vdGVDb250cm9sQ29tbWFuZFR5cGUpOworCit0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPiBp
bmxpbmUgdm9pZCBQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3RlQ29tbWFuZEFyZ3VtZW50Ojpl
bmNvZGUoRW5jb2RlciYgZW5jb2RlcikgY29uc3QKK3sKKyAgICBlbmNvZGVyIDw8IHRpbWUgPDwg
ZmFzdFNlZWs7CiB9CiAKK3RlbXBsYXRlPGNsYXNzIERlY29kZXI+IGlubGluZSBPcHRpb25hbDxQ
bGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3RlQ29tbWFuZEFyZ3VtZW50PiBQbGF0Zm9ybU1lZGlh
U2Vzc2lvbjo6UmVtb3RlQ29tbWFuZEFyZ3VtZW50OjpkZWNvZGUoRGVjb2RlciYgZGVjb2RlcikK
K3sKKyNkZWZpbmUgREVDT0RFKG5hbWUsIHR5cGUpIFwKKyAgICBPcHRpb25hbDxPcHRpb25hbDx0
eXBlPj4gbmFtZTsgXAorICAgIGRlY29kZXIgPj4gbmFtZTsgXAorICAgIGlmICghbmFtZSkgXAor
ICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OyBcCisKKyAgICBERUNPREUodGltZSwgZG91Ymxl
KTsKKyAgICBERUNPREUoZmFzdFNlZWssIGJvb2wpOworCisjdW5kZWYgREVDT0RFCisKKyAgICBy
ZXR1cm4geyB7ICp0aW1lLCAqZmFzdFNlZWsgfSB9OworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCisKIG5hbWVzcGFjZSBXVEYgewogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBUeXBlPgpAQCAtMzYw
LDcgKzM5MCwxMyBAQCB0ZW1wbGF0ZSA8PiBzdHJ1Y3QgRW51bVRyYWl0czxXZWJDb3JlOjpQbGF0
Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3RlQ29udHJvbENvbW1hbgogICAgIFdlYkNvcmU6OlBsYXRm
b3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb250cm9sQ29tbWFuZFR5cGU6OkVuZFNlZWtpbmdCYWNr
d2FyZENvbW1hbmQsCiAgICAgV2ViQ29yZTo6UGxhdGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNv
bnRyb2xDb21tYW5kVHlwZTo6QmVnaW5TZWVraW5nRm9yd2FyZENvbW1hbmQsCiAgICAgV2ViQ29y
ZTo6UGxhdGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbnRyb2xDb21tYW5kVHlwZTo6RW5kU2Vl
a2luZ0ZvcndhcmRDb21tYW5kLAotICAgIFdlYkNvcmU6OlBsYXRmb3JtTWVkaWFTZXNzaW9uOjpS
ZW1vdGVDb250cm9sQ29tbWFuZFR5cGU6OlNlZWtUb1BsYXliYWNrUG9zaXRpb25Db21tYW5kCisg
ICAgV2ViQ29yZTo6UGxhdGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbnRyb2xDb21tYW5kVHlw
ZTo6U2Vla1RvUGxheWJhY2tQb3NpdGlvbkNvbW1hbmQsCisgICAgV2ViQ29yZTo6UGxhdGZvcm1N
ZWRpYVNlc3Npb246OlJlbW90ZUNvbnRyb2xDb21tYW5kVHlwZTo6U2tpcEZvcndhcmRDb21tYW5k
LAorICAgIFdlYkNvcmU6OlBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb250cm9sQ29tbWFu
ZFR5cGU6OlNraXBCYWNrd2FyZENvbW1hbmQsCisgICAgV2ViQ29yZTo6UGxhdGZvcm1NZWRpYVNl
c3Npb246OlJlbW90ZUNvbnRyb2xDb21tYW5kVHlwZTo6TmV4dFRyYWNrQ29tbWFuZCwKKyAgICBX
ZWJDb3JlOjpQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3RlQ29udHJvbENvbW1hbmRUeXBlOjpQ
cmV2aW91c1RyYWNrQ29tbWFuZCwKKyAgICBXZWJDb3JlOjpQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6
UmVtb3RlQ29udHJvbENvbW1hbmRUeXBlOjpCZWdpblNjcnViYmluZywKKyAgICBXZWJDb3JlOjpQ
bGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3RlQ29udHJvbENvbW1hbmRUeXBlOjpFbmRTY3J1YmJp
bmcKICAgICA+OwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29j
b2EvUGxheWJhY2tTZXNzaW9uTW9kZWwuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29h
L1BsYXliYWNrU2Vzc2lvbk1vZGVsLmgKaW5kZXggMDIxZGQwZmYzNTBlY2MxZjllZjc1NjkwMjg3
NDBmYmM4ZTY4ZGZjYi4uNjdiMmY1OTBhMGMwMTM0NmY0YTViMDAzOGVkNzJkOTczYzdlMGI5NSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvUGxheWJhY2tTZXNzaW9u
TW9kZWwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9QbGF5YmFja1Nlc3Np
b25Nb2RlbC5oCkBAIC0yNyw2ICsyNyw3IEBACiAKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKSB8
fCAoUExBVEZPUk0oTUFDKSAmJiBFTkFCTEUoVklERU9fUFJFU0VOVEFUSU9OX01PREUpKQogCisj
aW5jbHVkZSAiUGxhdGZvcm1NZWRpYVNlc3Npb24uaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5o
PgogI2luY2x1ZGUgPHd0Zi9SZWYuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CkBAIC02MSw2
ICs2Miw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgc2V0TXV0ZWQoYm9vbCkgPSAwOwog
ICAgIHZpcnR1YWwgdm9pZCBzZXRWb2x1bWUoZG91YmxlKSA9IDA7CiAgICAgdmlydHVhbCB2b2lk
IHNldFBsYXlpbmdPblNlY29uZFNjcmVlbihib29sKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIHNl
bmRSZW1vdGVDb21tYW5kKFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb250cm9sQ29tbWFu
ZFR5cGUsIGNvbnN0IFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb21tYW5kQXJndW1lbnQm
KSB7IH07CiAKICAgICBlbnVtIEV4dGVybmFsUGxheWJhY2tUYXJnZXRUeXBlIHsgVGFyZ2V0VHlw
ZU5vbmUsIFRhcmdldFR5cGVBaXJQbGF5LCBUYXJnZXRUeXBlVFZPdXQgfTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvUGxheWJhY2tTZXNzaW9uTW9kZWxNZWRp
YUVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1BsYXliYWNrU2Vzc2lv
bk1vZGVsTWVkaWFFbGVtZW50LmgKaW5kZXggZjYyOTQxNzgxMDQzNDYzY2E1NTA0ZmNkNTExYWUx
OTZmMDY0NzNhMC4uNjQ5MTFlOWFmZGQ0ZTMwYjAwNTEwMjhhZWNiMGEzZDY0NzkyMmQ1MiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvUGxheWJhY2tTZXNzaW9uTW9k
ZWxNZWRpYUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9QbGF5
YmFja1Nlc3Npb25Nb2RlbE1lZGlhRWxlbWVudC5oCkBAIC03NSw2ICs3NSw3IEBAIHB1YmxpYzoK
ICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldE11dGVkKGJvb2wpIGZpbmFsOwogICAgIFdFQkNP
UkVfRVhQT1JUIHZvaWQgc2V0Vm9sdW1lKGRvdWJsZSkgZmluYWw7CiAgICAgV0VCQ09SRV9FWFBP
UlQgdm9pZCBzZXRQbGF5aW5nT25TZWNvbmRTY3JlZW4oYm9vbCkgZmluYWw7CisgICAgV0VCQ09S
RV9FWFBPUlQgdm9pZCBzZW5kUmVtb3RlQ29tbWFuZChQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVt
b3RlQ29udHJvbENvbW1hbmRUeXBlLCBjb25zdCBQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3Rl
Q29tbWFuZEFyZ3VtZW50JikgZmluYWw7CiAKICAgICBkb3VibGUgZHVyYXRpb24oKSBjb25zdCBm
aW5hbDsKICAgICBkb3VibGUgY3VycmVudFRpbWUoKSBjb25zdCBmaW5hbDsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1BsYXliYWNrU2Vzc2lvbk1vZGVsTWVkaWFF
bGVtZW50Lm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvUGxheWJhY2tTZXNzaW9u
TW9kZWxNZWRpYUVsZW1lbnQubW0KaW5kZXggMTA1MmJlNzBhMzc4ZTg0N2QzYWUyOTk0NjRhMzEx
MzRiYjc4NmI2Ni4uZTRhY2EyOGRjZDZmOWViMmE4YjY0YzJkY2UzMWJhODBlZTBkMDQyMiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvUGxheWJhY2tTZXNzaW9uTW9k
ZWxNZWRpYUVsZW1lbnQubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvUGxh
eWJhY2tTZXNzaW9uTW9kZWxNZWRpYUVsZW1lbnQubW0KQEAgLTM2Miw2ICszNjIsMTIgQEAgdm9p
ZCBQbGF5YmFja1Nlc3Npb25Nb2RlbE1lZGlhRWxlbWVudDo6c2V0UGxheWluZ09uU2Vjb25kU2Ny
ZWVuKGJvb2wgdmFsdWUpCiAgICAgICAgIG1fbWVkaWFFbGVtZW50LT5zZXRQbGF5aW5nT25TZWNv
bmRTY3JlZW4odmFsdWUpOwogfQogCit2b2lkIFBsYXliYWNrU2Vzc2lvbk1vZGVsTWVkaWFFbGVt
ZW50OjpzZW5kUmVtb3RlQ29tbWFuZChQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3RlQ29udHJv
bENvbW1hbmRUeXBlIGNvbW1hbmQsIGNvbnN0IFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVD
b21tYW5kQXJndW1lbnQmIGFyZ3VtZW50KQoreworICAgIGlmIChtX21lZGlhRWxlbWVudCkKKyAg
ICAgICAgbV9tZWRpYUVsZW1lbnQtPm1lZGlhU2Vzc2lvbigpLmRpZFJlY2VpdmVSZW1vdGVDb250
cm9sQ29tbWFuZChjb21tYW5kLCBhcmd1bWVudCk7Cit9CisKIHZvaWQgUGxheWJhY2tTZXNzaW9u
TW9kZWxNZWRpYUVsZW1lbnQ6OnVwZGF0ZU1lZGlhU2VsZWN0aW9uT3B0aW9ucygpCiB7CiAgICAg
aWYgKCFtX21lZGlhRWxlbWVudCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2lvcy9SZW1vdGVDb21tYW5kTGlzdGVuZXJJT1MubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9pb3MvUmVtb3RlQ29tbWFuZExpc3RlbmVySU9TLm1tCmluZGV4IGEzMzQzNWFhYjFjMmRkNTk5
NGEwYWIyZGM0NGU4Y2Y3MWQxZmRjNzUuLmQzNjliMTI4OTk1MmFmNWI1OTQ3NGQ1Mzk1NGQ4NmZh
MTZhNzMxMjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9SZW1vdGVD
b21tYW5kTGlzdGVuZXJJT1MubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1Jl
bW90ZUNvbW1hbmRMaXN0ZW5lcklPUy5tbQpAQCAtMTIxLDcgKzEyMSw3IEBAIFJlbW90ZUNvbW1h
bmRMaXN0ZW5lcklPUzo6UmVtb3RlQ29tbWFuZExpc3RlbmVySU9TKFJlbW90ZUNvbW1hbmRMaXN0
ZW5lckNsaWVudCYKICAgICAgICAgICAgIHJldHVybiBNUFJlbW90ZUNvbW1hbmRIYW5kbGVyU3Rh
dHVzQ29tbWFuZEZhaWxlZDsKIAogICAgICAgICBNUENoYW5nZVBsYXliYWNrUG9zaXRpb25Db21t
YW5kRXZlbnQqIHNlZWtFdmVudCA9IHN0YXRpY19jYXN0PE1QQ2hhbmdlUGxheWJhY2tQb3NpdGlv
bkNvbW1hbmRFdmVudCAqPihldmVudCk7Ci0gICAgICAgIFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpS
ZW1vdGVDb21tYW5kQXJndW1lbnQgYXJndW1lbnQgeyBbc2Vla0V2ZW50IHBvc2l0aW9uVGltZV0g
fTsKKyAgICAgICAgUGxhdGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbW1hbmRBcmd1bWVudCBh
cmd1bWVudCB7IFtzZWVrRXZlbnQgcG9zaXRpb25UaW1lXSwgeyB9IH07CiAKICAgICAgICAgY2Fs
bE9uTWFpblRocmVhZChbd2Vha1RoaXMsIGFyZ3VtZW50ID0gV1RGTW92ZShhcmd1bWVudCldIHsK
ICAgICAgICAgICAgIGlmICghd2Vha1RoaXMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tYWMvUGxheWJhY2tTZXNzaW9uSW50ZXJmYWNlTWFjLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tYWMvUGxheWJhY2tTZXNzaW9uSW50ZXJmYWNlTWFjLmgKaW5kZXggYjRkY2E5
MWY1Njg1YjZkZmFmNTQ3YjkzODk3NDIwODY1MGE0YmJlNy4uZDdhOTQ1YmExNzgyYjNmNDc3NDZk
NmExZmE1MjAyZTBkNGM5YzljMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bWFjL1BsYXliYWNrU2Vzc2lvbkludGVyZmFjZU1hYy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21hYy9QbGF5YmFja1Nlc3Npb25JbnRlcmZhY2VNYWMuaApAQCAtNjgsNiArNjgsNyBA
QCBwdWJsaWM6CiAKICAgICB2b2lkIHVwZGF0ZVBsYXliYWNrQ29udHJvbHNNYW5hZ2VyQ2FuVG9n
Z2xlUGljdHVyZUluUGljdHVyZSgpOwogI2VuZGlmCisgICAgdm9pZCB3aWxsQmVnaW5TY3J1YmJp
bmcoKTsKICAgICB2b2lkIGJlZ2luU2NydWJiaW5nKCk7CiAgICAgdm9pZCBlbmRTY3J1YmJpbmco
KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1BsYXliYWNrU2Vz
c2lvbkludGVyZmFjZU1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9QbGF5YmFj
a1Nlc3Npb25JbnRlcmZhY2VNYWMubW0KaW5kZXggMjhiYmRmMDhjOTA5MTU1NDE2OGQ4ZjI5NjFi
Y2E2ZDRiNmY3YzI4OC4uYzlhNmU5NTk4MTZmNTJhYTgxMTU2MDQxYWNiMDU2YjE0MjIwNWE0ZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1BsYXliYWNrU2Vzc2lvbklu
dGVyZmFjZU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvUGxheWJhY2tT
ZXNzaW9uSW50ZXJmYWNlTWFjLm1tCkBAIC0xMDUsMTEgKzEwNSwxNiBAQCB2b2lkIFBsYXliYWNr
U2Vzc2lvbkludGVyZmFjZU1hYzo6cmF0ZUNoYW5nZWQoYm9vbCBpc1BsYXlpbmcsIGZsb2F0IHBs
YXliYWNrUmF0ZQogI2VuZGlmCiB9CiAKLXZvaWQgUGxheWJhY2tTZXNzaW9uSW50ZXJmYWNlTWFj
OjpiZWdpblNjcnViYmluZygpCit2b2lkIFBsYXliYWNrU2Vzc2lvbkludGVyZmFjZU1hYzo6d2ls
bEJlZ2luU2NydWJiaW5nKCkKIHsKICNpZiBFTkFCTEUoV0VCX1BMQVlCQUNLX0NPTlRST0xTX01B
TkFHRVIpCiAgICAgdXBkYXRlUGxheWJhY2tDb250cm9sc01hbmFnZXJUaW1pbmcobV9wbGF5YmFj
a1Nlc3Npb25Nb2RlbCA/IG1fcGxheWJhY2tTZXNzaW9uTW9kZWwtPmN1cnJlbnRUaW1lKCkgOiAw
LCBbW05TUHJvY2Vzc0luZm8gcHJvY2Vzc0luZm9dIHN5c3RlbVVwdGltZV0sIDAsIGZhbHNlKTsK
ICNlbmRpZgorfQorCit2b2lkIFBsYXliYWNrU2Vzc2lvbkludGVyZmFjZU1hYzo6YmVnaW5TY3J1
YmJpbmcoKQoreworICAgIHdpbGxCZWdpblNjcnViYmluZygpOwogICAgIGlmIChhdXRvKiBtb2Rl
bCA9IHBsYXliYWNrU2Vzc2lvbk1vZGVsKCkpCiAgICAgICAgIG1vZGVsLT5iZWdpblNjcnViYmlu
ZygpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1JlbW90ZUNv
bW1hbmRMaXN0ZW5lck1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9SZW1vdGVD
b21tYW5kTGlzdGVuZXJNYWMubW0KaW5kZXggNTc3OWQ2OTUxNTRiZmJmYjM1YWE5ZmRkMDRmZTI0
YTljZTNkMzhjNy4uZTVkMmI3ZjNjMDAwMDYyNzMzOTg2MTU5MjlhYTQyYzcwOTM3ZmI0NCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1JlbW90ZUNvbW1hbmRMaXN0ZW5l
ck1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvUmVtb3RlQ29tbWFuZExp
c3RlbmVyTWFjLm1tCkBAIC0xODEsNyArMTgxLDcgQEAgUmVtb3RlQ29tbWFuZExpc3RlbmVyTWFj
OjpSZW1vdGVDb21tYW5kTGlzdGVuZXJNYWMoUmVtb3RlQ29tbWFuZExpc3RlbmVyQ2xpZW50Jgog
CiAgICAgICAgICAgICBkb3VibGUgcG9zaXRpb24gPSAwOwogICAgICAgICAgICAgQ0ZOdW1iZXJH
ZXRWYWx1ZShwb3NpdGlvblJlZiwga0NGTnVtYmVyRG91YmxlVHlwZSwgJnBvc2l0aW9uKTsKLSAg
ICAgICAgICAgIGFyZ3VtZW50ID0gcG9zaXRpb247CisgICAgICAgICAgICBhcmd1bWVudC50aW1l
ID0gcG9zaXRpb247CiAgICAgICAgICAgICBwbGF0Zm9ybUNvbW1hbmQgPSBQbGF0Zm9ybU1lZGlh
U2Vzc2lvbjo6U2Vla1RvUGxheWJhY2tQb3NpdGlvbkNvbW1hbmQ7CiAgICAgICAgICAgICBicmVh
azsKICAgICAgICAgfQpAQCAtMTk1LDcgKzE5NSw3IEBAIFJlbW90ZUNvbW1hbmRMaXN0ZW5lck1h
Yzo6UmVtb3RlQ29tbWFuZExpc3RlbmVyTWFjKFJlbW90ZUNvbW1hbmRMaXN0ZW5lckNsaWVudCYK
ICAgICAgICAgICAgIGlmIChhdXRvIHBvc2l0aW9uUmVmID0gc3RhdGljX2Nhc3Q8Q0ZOdW1iZXJS
ZWY+KENGRGljdGlvbmFyeUdldFZhbHVlKG9wdGlvbnMsIGtNUk1lZGlhUmVtb3RlT3B0aW9uU2tp
cEludGVydmFsKSkpIHsKICAgICAgICAgICAgICAgICBkb3VibGUgcG9zaXRpb24gPSAwOwogICAg
ICAgICAgICAgICAgIENGTnVtYmVyR2V0VmFsdWUocG9zaXRpb25SZWYsIGtDRk51bWJlckRvdWJs
ZVR5cGUsICZwb3NpdGlvbik7Ci0gICAgICAgICAgICAgICAgYXJndW1lbnQgPSBwb3NpdGlvbjsK
KyAgICAgICAgICAgICAgICBhcmd1bWVudC50aW1lID0gcG9zaXRpb247CiAgICAgICAgICAgICB9
CiAKICAgICAgICAgICAgIHBsYXRmb3JtQ29tbWFuZCA9IChjb21tYW5kID09IE1STWVkaWFSZW1v
dGVDb21tYW5kU2tpcEZvcndhcmQpID8gUGxhdGZvcm1NZWRpYVNlc3Npb246OlNraXBGb3J3YXJk
Q29tbWFuZCA6IFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpTa2lwQmFja3dhcmRDb21tYW5kOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1dlYlBsYXliYWNrQ29udHJvbHNN
YW5hZ2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvV2ViUGxheWJhY2tDb250cm9s
c01hbmFnZXIuaAppbmRleCBhM2RkNjQ2ZmVkMTVlMDcyNGQyYTdhMjhkN2EyNzdkMzdhMGE4NDUy
Li44OTZjY2VkZmFjOTA3NmVmZDhlZTZlNTMyNmQwYzdiNzdmNWExZjQxIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvV2ViUGxheWJhY2tDb250cm9sc01hbmFnZXIuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvV2ViUGxheWJhY2tDb250cm9sc01hbmFn
ZXIuaApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTYtMjAxNyBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYtMjAyMSBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKQEAgLTQ1LDE3ICs0NSwxNiBAQCBXRUJDT1JFX0VYUE9SVAogICAgIFJldGFpblB0cjxB
VlZhbHVlVGltaW5nPiBfdGltaW5nOwogICAgIE5TVGltZUludGVydmFsIF9zZWVrVG9UaW1lOwog
ICAgIFJldGFpblB0cjxOU0FycmF5PiBfc2Vla2FibGVUaW1lUmFuZ2VzOwotICAgIEJPT0wgX2hh
c0VuYWJsZWRBdWRpbzsKLSAgICBCT09MIF9oYXNFbmFibGVkVmlkZW87CiAgICAgUmV0YWluUHRy
PE5TQXJyYXk8QVZUb3VjaEJhck1lZGlhU2VsZWN0aW9uT3B0aW9uICo+PiBfYXVkaW9Ub3VjaEJh
ck1lZGlhU2VsZWN0aW9uT3B0aW9uczsKICAgICBSZXRhaW5QdHI8QVZUb3VjaEJhck1lZGlhU2Vs
ZWN0aW9uT3B0aW9uPiBfY3VycmVudEF1ZGlvVG91Y2hCYXJNZWRpYVNlbGVjdGlvbk9wdGlvbjsK
ICAgICBSZXRhaW5QdHI8TlNBcnJheTxBVlRvdWNoQmFyTWVkaWFTZWxlY3Rpb25PcHRpb24gKj4+
IF9sZWdpYmxlVG91Y2hCYXJNZWRpYVNlbGVjdGlvbk9wdGlvbnM7CiAgICAgUmV0YWluUHRyPEFW
VG91Y2hCYXJNZWRpYVNlbGVjdGlvbk9wdGlvbj4gX2N1cnJlbnRMZWdpYmxlVG91Y2hCYXJNZWRp
YVNlbGVjdGlvbk9wdGlvbjsKLSAgICBCT09MIF9wbGF5aW5nOworICAgIFJlZlB0cjxXZWJDb3Jl
OjpQbGF5YmFja1Nlc3Npb25JbnRlcmZhY2VNYWM+IF9wbGF5YmFja1Nlc3Npb25JbnRlcmZhY2VN
YWM7CiAgICAgZmxvYXQgX3JhdGU7CisgICAgQk9PTCBfcGxheWluZzsKKyAgICBCT09MIF9oYXNF
bmFibGVkQXVkaW87CisgICAgQk9PTCBfaGFzRW5hYmxlZFZpZGVvOwogICAgIEJPT0wgX2NhblRv
Z2dsZVBsYXliYWNrOwotCi0gICAgUmVmUHRyPFdlYkNvcmU6OlBsYXliYWNrU2Vzc2lvbkludGVy
ZmFjZU1hYz4gX3BsYXliYWNrU2Vzc2lvbkludGVyZmFjZU1hYzsKIH0KIAogQHByb3BlcnR5IChh
c3NpZ24pIFdlYkNvcmU6OlBsYXliYWNrU2Vzc2lvbkludGVyZmFjZU1hYyogcGxheWJhY2tTZXNz
aW9uSW50ZXJmYWNlTWFjOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFj
L1dlYlBsYXliYWNrQ29udHJvbHNNYW5hZ2VyLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bWFjL1dlYlBsYXliYWNrQ29udHJvbHNNYW5hZ2VyLm1tCmluZGV4IGY4YTM1YWZkMmEwNGQ2MmNl
MDQ0NWMxNzQ3N2IwMjJkZmNhZTQyNjkuLjg1MjVjMGZkMTdjMjQyY2NkZjg3MDZmZTQ1YzJjMDQ1
ZDcwYWQ0ZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9XZWJQbGF5
YmFja0NvbnRyb2xzTWFuYWdlci5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMv
V2ViUGxheWJhY2tDb250cm9sc01hbmFnZXIubW0KQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29w
eXJpZ2h0IChDKSAyMDE2LTIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICog
Q29weXJpZ2h0IChDKSAyMDE2LTIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgog
ICogCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtOTgsMTAgKzk4LDExIEBAIHVzaW5n
IFdlYkNvcmU6OlBsYXliYWNrU2Vzc2lvbkludGVyZmFjZU1hYzsKIAogLSAodm9pZClzZWVrVG9U
aW1lOihOU1RpbWVJbnRlcnZhbCl0aW1lIHRvbGVyYW5jZUJlZm9yZTooTlNUaW1lSW50ZXJ2YWwp
dG9sZXJhbmNlQmVmb3JlIHRvbGVyYW5jZUFmdGVyOihOU1RpbWVJbnRlcnZhbCl0b2xlcmFuY2VB
ZnRlcgogewotICAgIFVOVVNFRF9QQVJBTSh0b2xlcmFuY2VCZWZvcmUpOwotICAgIFVOVVNFRF9Q
QVJBTSh0b2xlcmFuY2VBZnRlcik7CisgICAgaWYgKCFfcGxheWJhY2tTZXNzaW9uSW50ZXJmYWNl
TWFjKQorICAgICAgICByZXR1cm47CisKICAgICBpZiAoYXV0byogbW9kZWwgPSBfcGxheWJhY2tT
ZXNzaW9uSW50ZXJmYWNlTWFjLT5wbGF5YmFja1Nlc3Npb25Nb2RlbCgpKQotICAgICAgICBtb2Rl
bC0+c2Vla1RvVGltZSh0aW1lKTsKKyAgICAgICAgbW9kZWwtPnNlbmRSZW1vdGVDb21tYW5kKFdl
YkNvcmU6OlBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb250cm9sQ29tbWFuZFR5cGU6OlNl
ZWtUb1BsYXliYWNrUG9zaXRpb25Db21tYW5kLCB7IHRpbWUsIHRvbGVyYW5jZUJlZm9yZSB8fCB0
b2xlcmFuY2VBZnRlciB9KTsKIH0KIAogLSAodm9pZCljYW5jZWxUaHVtYm5haWxBbmRBdWRpb0Ft
cGxpdHVkZVNhbXBsZUdlbmVyYXRpb24KQEAgLTEzMywxMiArMTM0LDI0IEBAIHVzaW5nIFdlYkNv
cmU6OlBsYXliYWNrU2Vzc2lvbkludGVyZmFjZU1hYzsKIAogLSAodm9pZCliZWdpblRvdWNoQmFy
U2NydWJiaW5nCiB7Ci0gICAgX3BsYXliYWNrU2Vzc2lvbkludGVyZmFjZU1hYy0+YmVnaW5TY3J1
YmJpbmcoKTsKKyAgICBpZiAoIV9wbGF5YmFja1Nlc3Npb25JbnRlcmZhY2VNYWMpCisgICAgICAg
IHJldHVybjsKKworICAgIGF1dG8qIG1vZGVsID0gX3BsYXliYWNrU2Vzc2lvbkludGVyZmFjZU1h
Yy0+cGxheWJhY2tTZXNzaW9uTW9kZWwoKTsKKyAgICBpZiAoIW1vZGVsKQorICAgICAgICByZXR1
cm47CisgICAgICAgIAorICAgIF9wbGF5YmFja1Nlc3Npb25JbnRlcmZhY2VNYWMtPndpbGxCZWdp
blNjcnViYmluZygpOworICAgIG1vZGVsLT5zZW5kUmVtb3RlQ29tbWFuZChXZWJDb3JlOjpQbGF0
Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3RlQ29udHJvbENvbW1hbmRUeXBlOjpCZWdpblNjcnViYmlu
ZywgeyB9KTsKIH0KIAogLSAodm9pZCllbmRUb3VjaEJhclNjcnViYmluZwogewotICAgIF9wbGF5
YmFja1Nlc3Npb25JbnRlcmZhY2VNYWMtPmVuZFNjcnViYmluZygpOworICAgIGlmICghX3BsYXli
YWNrU2Vzc2lvbkludGVyZmFjZU1hYykKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKGF1dG8q
IG1vZGVsID0gX3BsYXliYWNrU2Vzc2lvbkludGVyZmFjZU1hYy0+cGxheWJhY2tTZXNzaW9uTW9k
ZWwoKSkKKyAgICAgICAgbW9kZWwtPnNlbmRSZW1vdGVDb21tYW5kKFdlYkNvcmU6OlBsYXRmb3Jt
TWVkaWFTZXNzaW9uOjpSZW1vdGVDb250cm9sQ29tbWFuZFR5cGU6OkVuZFNjcnViYmluZywgeyB9
KTsKIH0KIAogLSAoTlNBcnJheTxBVlRvdWNoQmFyTWVkaWFTZWxlY3Rpb25PcHRpb24gKj4gKilh
dWRpb1RvdWNoQmFyTWVkaWFTZWxlY3Rpb25PcHRpb25zCkBAIC0yODIsOCArMjk1LDExIEBAIHN0
YXRpYyBSZXRhaW5QdHI8TlNBcnJheT4gbWVkaWFTZWxlY3Rpb25PcHRpb25zKGNvbnN0IFZlY3Rv
cjxNZWRpYVNlbGVjdGlvbk9wdGlvCiAKIC0gKHZvaWQpdG9nZ2xlUGxheWJhY2sKIHsKLSAgICBp
ZiAoX3BsYXliYWNrU2Vzc2lvbkludGVyZmFjZU1hYyAmJiBfcGxheWJhY2tTZXNzaW9uSW50ZXJm
YWNlTWFjLT5wbGF5YmFja1Nlc3Npb25Nb2RlbCgpKQotICAgICAgICBfcGxheWJhY2tTZXNzaW9u
SW50ZXJmYWNlTWFjLT5wbGF5YmFja1Nlc3Npb25Nb2RlbCgpLT50b2dnbGVQbGF5U3RhdGUoKTsK
KyAgICBpZiAoIV9wbGF5YmFja1Nlc3Npb25JbnRlcmZhY2VNYWMpCisgICAgICAgIHJldHVybjsK
KworICAgIGlmIChhdXRvKiBtb2RlbCA9IF9wbGF5YmFja1Nlc3Npb25JbnRlcmZhY2VNYWMtPnBs
YXliYWNrU2Vzc2lvbk1vZGVsKCkpCisgICAgICAgIG1vZGVsLT5zZW5kUmVtb3RlQ29tbWFuZChX
ZWJDb3JlOjpQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3RlQ29udHJvbENvbW1hbmRUeXBlOjpU
b2dnbGVQbGF5UGF1c2VDb21tYW5kLCB7IH0pOwogfQogCiAtICh2b2lkKXNldFBsYXlpbmc6KEJP
T0wpcGxheWluZwpAQCAtMzAwLDkgKzMxNiw5IEBAIHN0YXRpYyBSZXRhaW5QdHI8TlNBcnJheT4g
bWVkaWFTZWxlY3Rpb25PcHRpb25zKGNvbnN0IFZlY3RvcjxNZWRpYVNlbGVjdGlvbk9wdGlvCiAg
ICAgaWYgKGF1dG8qIG1vZGVsID0gX3BsYXliYWNrU2Vzc2lvbkludGVyZmFjZU1hYy0+cGxheWJh
Y2tTZXNzaW9uTW9kZWwoKSkgewogICAgICAgICBCT09MIGlzQ3VycmVudGx5UGxheWluZyA9IG1v
ZGVsLT5pc1BsYXlpbmcoKTsKICAgICAgICAgaWYgKCFpc0N1cnJlbnRseVBsYXlpbmcgJiYgX3Bs
YXlpbmcpCi0gICAgICAgICAgICBtb2RlbC0+cGxheSgpOworICAgICAgICAgICAgbW9kZWwtPnNl
bmRSZW1vdGVDb21tYW5kKFdlYkNvcmU6OlBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb250
cm9sQ29tbWFuZFR5cGU6OlBsYXlDb21tYW5kLCB7IH0pOwogICAgICAgICBlbHNlIGlmIChpc0N1
cnJlbnRseVBsYXlpbmcgJiYgIV9wbGF5aW5nKQotICAgICAgICAgICAgbW9kZWwtPnBhdXNlKCk7
CisgICAgICAgICAgICBtb2RlbC0+c2VuZFJlbW90ZUNvbW1hbmQoV2ViQ29yZTo6UGxhdGZvcm1N
ZWRpYVNlc3Npb246OlJlbW90ZUNvbnRyb2xDb21tYW5kVHlwZTo6UGF1c2VDb21tYW5kLCB7IH0p
OwogICAgIH0KIH0KIApAQCAtMzEzLDggKzMyOSw4IEBAIHN0YXRpYyBSZXRhaW5QdHI8TlNBcnJh
eT4gbWVkaWFTZWxlY3Rpb25PcHRpb25zKGNvbnN0IFZlY3RvcjxNZWRpYVNlbGVjdGlvbk9wdGlv
CiAKIC0gKHZvaWQpdG9nZ2xlUGljdHVyZUluUGljdHVyZQogewotICAgIGlmIChfcGxheWJhY2tT
ZXNzaW9uSW50ZXJmYWNlTWFjICYmIF9wbGF5YmFja1Nlc3Npb25JbnRlcmZhY2VNYWMtPnBsYXli
YWNrU2Vzc2lvbk1vZGVsKCkpCi0gICAgICAgIF9wbGF5YmFja1Nlc3Npb25JbnRlcmZhY2VNYWMt
PnBsYXliYWNrU2Vzc2lvbk1vZGVsKCktPnRvZ2dsZVBpY3R1cmVJblBpY3R1cmUoKTsKKyAgICBp
ZiAoYXV0byogbW9kZWwgPSBfcGxheWJhY2tTZXNzaW9uSW50ZXJmYWNlTWFjLT5wbGF5YmFja1Nl
c3Npb25Nb2RlbCgpKQorICAgICAgICBtb2RlbC0+dG9nZ2xlUGljdHVyZUluUGljdHVyZSgpOwog
fQogCiBJR05PUkVfV0FSTklOR1NfRU5ECmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0
aW5nL0ludGVybmFscy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAK
aW5kZXggZmYxOTkwMDk4MmJiMmJjNmUzYjNhMzQ0MTI0NDMyNDUwOWFhMjdjNi4uNjFlYTlhMTVi
YTljZDE5MzNkODNlNTUyN2Q5OTdlNzQ2NjVmMmUxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50
ZXJuYWxzLmNwcApAQCAtNDI4Miw3ICs0MjgyLDcgQEAgdm9pZCBJbnRlcm5hbHM6OnNldE1lZGlh
RWxlbWVudFJlc3RyaWN0aW9ucyhIVE1MTWVkaWFFbGVtZW50JiBlbGVtZW50LCBTdHJpbmdWaWUK
IEV4Y2VwdGlvbk9yPHZvaWQ+IEludGVybmFsczo6cG9zdFJlbW90ZUNvbnRyb2xDb21tYW5kKGNv
bnN0IFN0cmluZyYgY29tbWFuZFN0cmluZywgZmxvYXQgYXJndW1lbnQpCiB7CiAgICAgUGxhdGZv
cm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbnRyb2xDb21tYW5kVHlwZSBjb21tYW5kOwotICAgIFBs
YXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb21tYW5kQXJndW1lbnQgcGFyYW1ldGVyIHsgYXJn
dW1lbnQgfTsKKyAgICBQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3RlQ29tbWFuZEFyZ3VtZW50
IHBhcmFtZXRlciB7IGFyZ3VtZW50LCB7IH0gfTsKIAogICAgIGlmIChlcXVhbExldHRlcnNJZ25v
cmluZ0FTQ0lJQ2FzZShjb21tYW5kU3RyaW5nLCAicGxheSIpKQogICAgICAgICBjb21tYW5kID0g
UGxhdGZvcm1NZWRpYVNlc3Npb246OlBsYXlDb21tYW5kOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9HUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3BwIGIvU291cmNlL1dl
YktpdC9HUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3BwCmluZGV4IDZiOTcy
NjMwZTFjOTIyOGMxMzgzYzQ3Nzk2Y2MxZGFiOTQwOTdjMzYuLmQ1NzdlNDM0OTlmMTgxNDc5MWM4
YTBlZjcxY2IzNGEwMjRhMWZhZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vz
cy9HUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVBy
b2Nlc3MvR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5jcHAKQEAgLTM2MSw5ICszNjEsOSBAQCB2
b2lkIEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OnNldE5vd1BsYXlpbmdJbmZvKGJvb2wgc2V0
QXNOb3dQbGF5aW5nQXBwbGljYXRpbwogICAgIGdwdVByb2Nlc3MoKS5ub3dQbGF5aW5nTWFuYWdl
cigpLnNldE5vd1BsYXlpbmdJbmZvKCp0aGlzLCBXVEZNb3ZlKG5vd1BsYXlpbmdJbmZvKSk7CiB9
CiAKLXZvaWQgR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6ZGlkUmVjZWl2ZVJlbW90ZUNvbnRy
b2xDb21tYW5kKFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb250cm9sQ29tbWFuZFR5cGUg
dHlwZSwgT3B0aW9uYWw8ZG91YmxlPiBhcmd1bWVudCkKK3ZvaWQgR1BVQ29ubmVjdGlvblRvV2Vi
UHJvY2Vzczo6ZGlkUmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21tYW5kKFBsYXRmb3JtTWVkaWFTZXNz
aW9uOjpSZW1vdGVDb250cm9sQ29tbWFuZFR5cGUgdHlwZSwgY29uc3QgUGxhdGZvcm1NZWRpYVNl
c3Npb246OlJlbW90ZUNvbW1hbmRBcmd1bWVudCYgYXJndW1lbnQpCiB7Ci0gICAgY29ubmVjdGlv
bigpLnNlbmQoTWVzc2FnZXM6OkdQVVByb2Nlc3NDb25uZWN0aW9uOjpEaWRSZWNlaXZlUmVtb3Rl
Q29tbWFuZCB7IHR5cGUsIGFyZ3VtZW50IH0sIDApOworICAgIGNvbm5lY3Rpb24oKS5zZW5kKE1l
c3NhZ2VzOjpHUFVQcm9jZXNzQ29ubmVjdGlvbjo6RGlkUmVjZWl2ZVJlbW90ZUNvbW1hbmQodHlw
ZSwgYXJndW1lbnQpLCAwKTsKIH0KIAogI2lmIFVTRShBVURJT19TRVNTSU9OKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuaCBi
L1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmgKaW5k
ZXggZjc2YjdhNmNjOWU1N2RmNTdiNjJhZmU2ZGM5NjU4N2E0NTZkYTA2Yy4uZWJiMGQwMDhmM2Q3
MTI5MjE3YjhlOTZlZmExOWJkNTFmZmFmYTE2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9H
UFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L0dQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5oCkBAIC0xNzUsNyArMTc1LDcg
QEAgcHJpdmF0ZToKICAgICBib29sIGRpc3BhdGNoU3luY01lc3NhZ2UoSVBDOjpDb25uZWN0aW9u
JiwgSVBDOjpEZWNvZGVyJiwgc3RkOjp1bmlxdWVfcHRyPElQQzo6RW5jb2Rlcj4mKTsKIAogICAg
IC8vIE5vd1BsYXlpbmdNYW5hZ2VyOjpDbGllbnQKLSAgICB2b2lkIGRpZFJlY2VpdmVSZW1vdGVD
b250cm9sQ29tbWFuZChXZWJDb3JlOjpQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3RlQ29udHJv
bENvbW1hbmRUeXBlLCBPcHRpb25hbDxkb3VibGU+KSBmaW5hbDsKKyAgICB2b2lkIGRpZFJlY2Vp
dmVSZW1vdGVDb250cm9sQ29tbWFuZChXZWJDb3JlOjpQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVt
b3RlQ29udHJvbENvbW1hbmRUeXBlLCBjb25zdCBXZWJDb3JlOjpQbGF0Zm9ybU1lZGlhU2Vzc2lv
bjo6UmVtb3RlQ29tbWFuZEFyZ3VtZW50JikgZmluYWw7CiAKICAgICBSZWZQdHI8TG9nZ2VyPiBt
X2xvZ2dlcjsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvUGxh
eWJhY2tTZXNzaW9uTWFuYWdlclByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2Nv
YS9QbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHkuaAppbmRleCBmYTFmMjVkNWE3ZWU1YjE2MmVl
YmMxMDA0NzA0NTQ1OWI5YzQ2OWJkLi5lNGNjMmFjOTg5ZDQ3OTkxMWUyNmE0NThkMTk0ZTJmZjVm
ODIwNTg4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9QbGF5YmFj
a1Nlc3Npb25NYW5hZ2VyUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2Nv
YS9QbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHkuaApAQCAtMTE4LDYgKzExOCw3IEBAIHByaXZh
dGU6CiAgICAgdm9pZCBzZXRNdXRlZChib29sKSBmaW5hbDsKICAgICB2b2lkIHNldFZvbHVtZShk
b3VibGUpIGZpbmFsOwogICAgIHZvaWQgc2V0UGxheWluZ09uU2Vjb25kU2NyZWVuKGJvb2wpIGZp
bmFsOworICAgIHZvaWQgc2VuZFJlbW90ZUNvbW1hbmQoV2ViQ29yZTo6UGxhdGZvcm1NZWRpYVNl
c3Npb246OlJlbW90ZUNvbnRyb2xDb21tYW5kVHlwZSwgY29uc3QgV2ViQ29yZTo6UGxhdGZvcm1N
ZWRpYVNlc3Npb246OlJlbW90ZUNvbW1hbmRBcmd1bWVudCYpIGZpbmFsOwogCiAgICAgZG91Ymxl
IHBsYXliYWNrU3RhcnRlZFRpbWUoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX3BsYXliYWNrU3Rh
cnRlZFRpbWU7IH0KICAgICBkb3VibGUgZHVyYXRpb24oKSBjb25zdCBmaW5hbCB7IHJldHVybiBt
X2R1cmF0aW9uOyB9CkBAIC0yNDAsNiArMjQxLDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIHNldE11
dGVkKFBsYXliYWNrU2Vzc2lvbkNvbnRleHRJZGVudGlmaWVyLCBib29sKTsKICAgICB2b2lkIHNl
dFZvbHVtZShQbGF5YmFja1Nlc3Npb25Db250ZXh0SWRlbnRpZmllciwgZG91YmxlKTsKICAgICB2
b2lkIHNldFBsYXlpbmdPblNlY29uZFNjcmVlbihQbGF5YmFja1Nlc3Npb25Db250ZXh0SWRlbnRp
ZmllciwgYm9vbCk7CisgICAgdm9pZCBzZW5kUmVtb3RlQ29tbWFuZChQbGF5YmFja1Nlc3Npb25D
b250ZXh0SWRlbnRpZmllciwgV2ViQ29yZTo6UGxhdGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNv
bnRyb2xDb21tYW5kVHlwZSwgY29uc3QgV2ViQ29yZTo6UGxhdGZvcm1NZWRpYVNlc3Npb246OlJl
bW90ZUNvbW1hbmRBcmd1bWVudCYpOwogCiAgICAgV2ViUGFnZVByb3h5KiBtX3BhZ2U7CiAgICAg
SGFzaE1hcDxQbGF5YmFja1Nlc3Npb25Db250ZXh0SWRlbnRpZmllciwgTW9kZWxJbnRlcmZhY2VU
dXBsZT4gbV9jb250ZXh0TWFwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
Q29jb2EvUGxheWJhY2tTZXNzaW9uTWFuYWdlclByb3h5Lm1tIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQ29jb2EvUGxheWJhY2tTZXNzaW9uTWFuYWdlclByb3h5Lm1tCmluZGV4IGJkMzQ1MjJj
MDUxNThiMjU0MDE0Mzk4M2Y1MjlkZmYzOTc2MDI5NjguLjdmNDdhNjg5NjI5YzFkNTJkYTNiMTlh
N2VkYTUyNGM5ZDliNGUwYzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0Nv
Y29hL1BsYXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94eS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9Db2NvYS9QbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHkubW0KQEAgLTUwLDYgKzUw
LDEyIEBAIHZvaWQgUGxheWJhY2tTZXNzaW9uTW9kZWxDb250ZXh0OjpyZW1vdmVDbGllbnQoUGxh
eWJhY2tTZXNzaW9uTW9kZWxDbGllbnQmIGNsaWVuCiAgICAgbV9jbGllbnRzLnJlbW92ZSgmY2xp
ZW50KTsKIH0KIAordm9pZCBQbGF5YmFja1Nlc3Npb25Nb2RlbENvbnRleHQ6OnNlbmRSZW1vdGVD
b21tYW5kKFdlYkNvcmU6OlBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb250cm9sQ29tbWFu
ZFR5cGUgY29tbWFuZCwgY29uc3QgV2ViQ29yZTo6UGxhdGZvcm1NZWRpYVNlc3Npb246OlJlbW90
ZUNvbW1hbmRBcmd1bWVudCYgYXJndW1lbnQpCit7CisgICAgaWYgKG1fbWFuYWdlcikKKyAgICAg
ICAgbV9tYW5hZ2VyLT5zZW5kUmVtb3RlQ29tbWFuZChtX2NvbnRleHRJZCwgY29tbWFuZCwgYXJn
dW1lbnQpOworfQorCiB2b2lkIFBsYXliYWNrU2Vzc2lvbk1vZGVsQ29udGV4dDo6cGxheSgpCiB7
CiAgICAgaWYgKG1fbWFuYWdlcikKQEAgLTU4MCw2ICs1ODYsMTIgQEAgdm9pZCBQbGF5YmFja1Nl
c3Npb25NYW5hZ2VyUHJveHk6OnNldFBsYXlpbmdPblNlY29uZFNjcmVlbihQbGF5YmFja1Nlc3Np
b25Db250ZXgKICAgICAgICAgbV9wYWdlLT5zZW5kKE1lc3NhZ2VzOjpQbGF5YmFja1Nlc3Npb25N
YW5hZ2VyOjpTZXRQbGF5aW5nT25TZWNvbmRTY3JlZW4oY29udGV4dElkLCB2YWx1ZSkpOwogfQog
Cit2b2lkIFBsYXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94eTo6c2VuZFJlbW90ZUNvbW1hbmQoUGxh
eWJhY2tTZXNzaW9uQ29udGV4dElkZW50aWZpZXIgY29udGV4dElkLCBXZWJDb3JlOjpQbGF0Zm9y
bU1lZGlhU2Vzc2lvbjo6UmVtb3RlQ29udHJvbENvbW1hbmRUeXBlIGNvbW1hbmQsIGNvbnN0IFdl
YkNvcmU6OlBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb21tYW5kQXJndW1lbnQmIGFyZ3Vt
ZW50KQoreworICAgIGlmIChtX3BhZ2UpCisgICAgICAgIG1fcGFnZS0+c2VuZChNZXNzYWdlczo6
UGxheWJhY2tTZXNzaW9uTWFuYWdlcjo6U2VuZFJlbW90ZUNvbW1hbmQoY29udGV4dElkLCBjb21t
YW5kLCBhcmd1bWVudCkpOworfQorCiBib29sIFBsYXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94eTo6
d2lyZWxlc3NWaWRlb1BsYXliYWNrRGlzYWJsZWQoKQogewogICAgIGF1dG8gaXQgPSBtX2NvbnRl
eHRNYXAuZmluZChtX2NvbnRyb2xzTWFuYWdlckNvbnRleHRJZCk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL0dQVVByb2Nlc3NDb25uZWN0aW9uLmNwcCBiL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc0Nvbm5lY3Rpb24uY3BwCmluZGV4IDQ0
N2EyMWE0ZDU4MTlhYzhmZGNlZWQxZTgwODc2OTg0YTM4MzcxNjQuLmM1NzY5ZDhmZjBhZGUyNDM0
ODY0OWE2MGI0M2QyOTkyMDE1ZTc3YmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9HUFUvR1BVUHJvY2Vzc0Nvbm5lY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc0Nvbm5lY3Rpb24uY3BwCkBAIC0xODksNyArMTg5LDcgQEAg
Ym9vbCBHUFVQcm9jZXNzQ29ubmVjdGlvbjo6ZGlzcGF0Y2hTeW5jTWVzc2FnZShJUEM6OkNvbm5l
Y3Rpb24mIGNvbm5lY3Rpb24sIElQQzoKICAgICByZXR1cm4gbWVzc2FnZVJlY2VpdmVyTWFwKCku
ZGlzcGF0Y2hTeW5jTWVzc2FnZShjb25uZWN0aW9uLCBkZWNvZGVyLCByZXBseUVuY29kZXIpOwog
fQogCi12b2lkIEdQVVByb2Nlc3NDb25uZWN0aW9uOjpkaWRSZWNlaXZlUmVtb3RlQ29tbWFuZChQ
bGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3RlQ29udHJvbENvbW1hbmRUeXBlIHR5cGUsIE9wdGlv
bmFsPGRvdWJsZT4gYXJndW1lbnQpCit2b2lkIEdQVVByb2Nlc3NDb25uZWN0aW9uOjpkaWRSZWNl
aXZlUmVtb3RlQ29tbWFuZChQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3RlQ29udHJvbENvbW1h
bmRUeXBlIHR5cGUsIGNvbnN0IFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb21tYW5kQXJn
dW1lbnQmIGFyZ3VtZW50KQogewogICAgIFBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlcjo6c2hh
cmVkTWFuYWdlcigpLnByb2Nlc3NEaWRSZWNlaXZlUmVtb3RlQ29udHJvbENvbW1hbmQodHlwZSwg
YXJndW1lbnQpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9H
UFVQcm9jZXNzQ29ubmVjdGlvbi5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9HUFVQ
cm9jZXNzQ29ubmVjdGlvbi5oCmluZGV4IGIwYTQ1NWFkZTNjNjc0ZmM5ZjM0MDNmZTY0MmE0YTUy
MGM5NDA5MTIuLjBiN2JmOGE5NzFmNjZhZGFiNTFkYzczNTUxYzhhMDEzZDcxZTk0ZmMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc0Nvbm5lY3Rpb24u
aAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL0dQVVByb2Nlc3NDb25uZWN0aW9u
LmgKQEAgLTEwOSw3ICsxMDksNyBAQCBwcml2YXRlOgogICAgIGJvb2wgZGlzcGF0Y2hNZXNzYWdl
KElQQzo6Q29ubmVjdGlvbiYsIElQQzo6RGVjb2RlciYpOwogICAgIGJvb2wgZGlzcGF0Y2hTeW5j
TWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6OkRlY29kZXImLCBzdGQ6OnVuaXF1ZV9wdHI8
SVBDOjpFbmNvZGVyPiYpOwogCi0gICAgdm9pZCBkaWRSZWNlaXZlUmVtb3RlQ29tbWFuZChXZWJD
b3JlOjpQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3RlQ29udHJvbENvbW1hbmRUeXBlLCBPcHRp
b25hbDxkb3VibGU+KTsKKyAgICB2b2lkIGRpZFJlY2VpdmVSZW1vdGVDb21tYW5kKFdlYkNvcmU6
OlBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb250cm9sQ29tbWFuZFR5cGUsIGNvbnN0IFdl
YkNvcmU6OlBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb21tYW5kQXJndW1lbnQmKTsKIAog
ICAgIC8vIFRoZSBjb25uZWN0aW9uIGZyb20gdGhlIHdlYiBwcm9jZXNzIHRvIHRoZSBHUFUgcHJv
Y2Vzcy4KICAgICBSZWY8SVBDOjpDb25uZWN0aW9uPiBtX2Nvbm5lY3Rpb247CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL0dQVVByb2Nlc3NDb25uZWN0aW9uLm1lc3Nh
Z2VzLmluIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9HUFVQcm9jZXNzQ29ubmVjdGlv
bi5tZXNzYWdlcy5pbgppbmRleCAxODFmM2VlYjYxOTg0ZmYzYzFiNjNmNTdhNGM4ZWM5YmZiYzc4
NWM1Li44NWE2ZmNkNzM3Yzc0OWQ5ZmY0MGRiMTgwMWE2NmRkYzhiYTQ5NWRiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL0dQVVByb2Nlc3NDb25uZWN0aW9uLm1lc3Nh
Z2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc0Nvbm5l
Y3Rpb24ubWVzc2FnZXMuaW4KQEAgLTIzLDcgKzIzLDcgQEAKICNpZiBFTkFCTEUoR1BVX1BST0NF
U1MpCiAKIG1lc3NhZ2VzIC0+IEdQVVByb2Nlc3NDb25uZWN0aW9uIFdhbnRzRGlzcGF0Y2hNZXNz
YWdlIHsKLSAgICBEaWRSZWNlaXZlUmVtb3RlQ29tbWFuZChlbnVtOnVpbnQ4X3QgV2ViQ29yZTo6
UGxhdGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbnRyb2xDb21tYW5kVHlwZSB0eXBlLCBPcHRp
b25hbDxkb3VibGU+IGFyZ3VtZW50KQorICAgIERpZFJlY2VpdmVSZW1vdGVDb21tYW5kKGVudW06
dWludDhfdCBXZWJDb3JlOjpQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3RlQ29udHJvbENvbW1h
bmRUeXBlIHR5cGUsIHN0cnVjdCBXZWJDb3JlOjpQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3Rl
Q29tbWFuZEFyZ3VtZW50IGFyZ3VtZW50KQogfQogCiAjZW5kaWYgLy8gRU5BQkxFKEdQVV9QUk9D
RVNTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1v
dGVSZW1vdGVDb21tYW5kTGlzdGVuZXIubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvR1BVL21lZGlhL1JlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lci5tZXNzYWdlcy5pbgpp
bmRleCBjOTVhMGUxOGI5YzY5NDkwZjMyZGFkMjNmY2JlOTczZWMxN2VhYTFjLi41ZTExOTUwODU1
M2JjZDQ1MGM0MDBjMmRhZjEyOWVlZTQyYWYzZDUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lci5tZXNzYWdl
cy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZVJlbW90
ZUNvbW1hbmRMaXN0ZW5lci5tZXNzYWdlcy5pbgpAQCAtMjYsNyArMjYsNyBAQAogI2lmIEVOQUJM
RShHUFVfUFJPQ0VTUykKIAogbWVzc2FnZXMgLT4gUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVy
IE5vdFJlZkNvdW50ZWQgewotICAgIERpZFJlY2VpdmVSZW1vdGVDb250cm9sQ29tbWFuZChlbnVt
OnVpbnQ4X3QgV2ViQ29yZTo6UGxhdGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbnRyb2xDb21t
YW5kVHlwZSBjb21tYW5kLCBPcHRpb25hbDxkb3VibGU+IGFyZ3VtZW50KQorICAgIERpZFJlY2Vp
dmVSZW1vdGVDb250cm9sQ29tbWFuZChlbnVtOnVpbnQ4X3QgV2ViQ29yZTo6UGxhdGZvcm1NZWRp
YVNlc3Npb246OlJlbW90ZUNvbnRyb2xDb21tYW5kVHlwZSBjb21tYW5kLCBzdHJ1Y3QgV2ViQ29y
ZTo6UGxhdGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbW1hbmRBcmd1bWVudCBhcmd1bWVudCkK
IH0KIAogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2Ev
UGxheWJhY2tTZXNzaW9uTWFuYWdlci5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29h
L1BsYXliYWNrU2Vzc2lvbk1hbmFnZXIuaAppbmRleCAwYzZiZDcxNzIwMmIxNzgyZGNiMzJmN2Q2
OTY4MjQ4ODNlNTI4NGZkLi4xOGI1MWI0YzcxNmI2NTI2YTFhMmVjMTNlMWRmZTI5NjlkYmQ5ZDg3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvUGxheWJhY2tTZXNz
aW9uTWFuYWdlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9QbGF5YmFj
a1Nlc3Npb25NYW5hZ2VyLmgKQEAgLTMyLDYgKzMyLDcgQEAKICNpbmNsdWRlIDxXZWJDb3JlL0V2
ZW50TGlzdGVuZXIuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0hUTUxNZWRpYUVsZW1lbnRFbnVtcy5o
PgogI2luY2x1ZGUgPFdlYkNvcmUvUGxhdGZvcm1DQUxheWVyLmg+CisjaW5jbHVkZSA8V2ViQ29y
ZS9QbGF0Zm9ybU1lZGlhU2Vzc2lvbi5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUGxheWJhY2tTZXNz
aW9uTW9kZWxNZWRpYUVsZW1lbnQuaD4KICNpbmNsdWRlIDx3dGYvSGFzaENvdW50ZWRTZXQuaD4K
ICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgpAQCAtMTYxLDYgKzE2Miw3IEBAIHByb3RlY3RlZDoK
ICAgICB2b2lkIHNldE11dGVkKFBsYXliYWNrU2Vzc2lvbkNvbnRleHRJZGVudGlmaWVyLCBib29s
IG11dGVkKTsKICAgICB2b2lkIHNldFZvbHVtZShQbGF5YmFja1Nlc3Npb25Db250ZXh0SWRlbnRp
ZmllciwgZG91YmxlIHZvbHVtZSk7CiAgICAgdm9pZCBzZXRQbGF5aW5nT25TZWNvbmRTY3JlZW4o
UGxheWJhY2tTZXNzaW9uQ29udGV4dElkZW50aWZpZXIsIGJvb2wgdmFsdWUpOworICAgIHZvaWQg
c2VuZFJlbW90ZUNvbW1hbmQoUGxheWJhY2tTZXNzaW9uQ29udGV4dElkZW50aWZpZXIsIFdlYkNv
cmU6OlBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb250cm9sQ29tbWFuZFR5cGUsIGNvbnN0
IFdlYkNvcmU6OlBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb21tYW5kQXJndW1lbnQmKTsK
IAogICAgIFdlYlBhZ2UqIG1fcGFnZTsKICAgICBIYXNoTWFwPFdlYkNvcmU6OkhUTUxNZWRpYUVs
ZW1lbnQqLCBQbGF5YmFja1Nlc3Npb25Db250ZXh0SWRlbnRpZmllcj4gbV9tZWRpYUVsZW1lbnRz
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1BsYXliYWNrU2Vz
c2lvbk1hbmFnZXIubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2Ev
UGxheWJhY2tTZXNzaW9uTWFuYWdlci5tZXNzYWdlcy5pbgppbmRleCAxMmM3YmFiNTAyYjA3YjBh
NzM2ZTY1ZTZiYjE1Mzg3YTk0YTEyZWQyLi4zZDgyYTFmYjZlZjk0ZWNkODUwNjg5YTE5ZTQ4N2Y1
YzE0NmJjZjJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvUGxh
eWJhY2tTZXNzaW9uTWFuYWdlci5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvY29jb2EvUGxheWJhY2tTZXNzaW9uTWFuYWdlci5tZXNzYWdlcy5pbgpAQCAtMSw0ICsx
LDQgQEAKLSMgQ29weXJpZ2h0IChDKSAyMDE2LTIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorIyBDb3B5cmlnaHQgKEMpIDIwMTYtMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCiAjCiAjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogIyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTQxLDUgKzQxLDYgQEAg
bWVzc2FnZXMgLT4gUGxheWJhY2tTZXNzaW9uTWFuYWdlciB7CiAgICAgU2V0TXV0ZWQoV2ViS2l0
OjpQbGF5YmFja1Nlc3Npb25Db250ZXh0SWRlbnRpZmllciBjb250ZXh0SWQsIGJvb2wgbXV0ZWQp
CiAgICAgU2V0Vm9sdW1lKFdlYktpdDo6UGxheWJhY2tTZXNzaW9uQ29udGV4dElkZW50aWZpZXIg
Y29udGV4dElkLCBkb3VibGUgdm9sdW1lKQogICAgIFNldFBsYXlpbmdPblNlY29uZFNjcmVlbihX
ZWJLaXQ6OlBsYXliYWNrU2Vzc2lvbkNvbnRleHRJZGVudGlmaWVyIGNvbnRleHRJZCwgYm9vbCB2
YWx1ZSkKKyAgICBTZW5kUmVtb3RlQ29tbWFuZChXZWJLaXQ6OlBsYXliYWNrU2Vzc2lvbkNvbnRl
eHRJZGVudGlmaWVyIGNvbnRleHRJZCwgZW51bTp1aW50OF90IFdlYkNvcmU6OlBsYXRmb3JtTWVk
aWFTZXNzaW9uOjpSZW1vdGVDb250cm9sQ29tbWFuZFR5cGUgdHlwZSwgc3RydWN0IFdlYkNvcmU6
OlBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb21tYW5kQXJndW1lbnQgYXJndW1lbnQpCiB9
CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9QbGF5
YmFja1Nlc3Npb25NYW5hZ2VyLm1tIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1Bs
YXliYWNrU2Vzc2lvbk1hbmFnZXIubW0KaW5kZXggOTIwZmI5NGI1ZWVmNzgzMGQxZjBiOWYyMTRh
ZjlhYjY1Mzc5NDgzZi4uNTZjNGEyNzVkMGU3MmNlN2FjZjUzYTBlM2IyMDljNTVmZTA3YzY2MyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1BsYXliYWNrU2Vzc2lv
bk1hbmFnZXIubW0KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1BsYXliYWNr
U2Vzc2lvbk1hbmFnZXIubW0KQEAgLTUxOCw2ICs1MTgsMTIgQEAgdm9pZCBQbGF5YmFja1Nlc3Np
b25NYW5hZ2VyOjpzZXRQbGF5aW5nT25TZWNvbmRTY3JlZW4oUGxheWJhY2tTZXNzaW9uQ29udGV4
dElkZW4KICAgICBlbnN1cmVNb2RlbChjb250ZXh0SWQpLnNldFBsYXlpbmdPblNlY29uZFNjcmVl
bih2YWx1ZSk7CiB9CiAKK3ZvaWQgUGxheWJhY2tTZXNzaW9uTWFuYWdlcjo6c2VuZFJlbW90ZUNv
bW1hbmQoUGxheWJhY2tTZXNzaW9uQ29udGV4dElkZW50aWZpZXIgY29udGV4dElkLCBXZWJDb3Jl
OjpQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3RlQ29udHJvbENvbW1hbmRUeXBlIGNvbW1hbmQs
IGNvbnN0IFdlYkNvcmU6OlBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb21tYW5kQXJndW1l
bnQmIGFyZ3VtZW50KQoreworICAgIFVzZXJHZXN0dXJlSW5kaWNhdG9yIGluZGljYXRvcihQcm9j
ZXNzaW5nVXNlckdlc3R1cmUpOworICAgIGVuc3VyZU1vZGVsKGNvbnRleHRJZCkuc2VuZFJlbW90
ZUNvbW1hbmQoY29tbWFuZCwgYXJndW1lbnQpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQK
IAogI2VuZGlmIC8vIFBMQVRGT1JNKElPU19GQU1JTFkpIHx8IChQTEFURk9STShNQUMpICYmIEVO
QUJMRShWSURFT19QUkVTRU5UQVRJT05fTU9ERSkpCg==
</data>
<flag name="commit-queue"
          id="438865"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>420370</attachid>
            <date>2021-02-15 14:15:27 -0800</date>
            <delta_ts>2021-02-15 14:31:55 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-221921-20210215141526.patch</filename>
            <type>text/plain</type>
            <size>43618</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcyODcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTNiNDEyOTM1NjBiZGNm
OTRlNWRiNTljMDE5ZDM3YjVhM2YxZTIxZi4uY2M2MzkzNDYxOGNlNTJkYzQyZWZiMTczODdhMzlm
N2VkZDU3MDQyZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY0IEBACisyMDIxLTAyLTE1ICBFcmlj
IENhcmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgorCisgICAgICAgIFttYWNPU10gQ29u
bmVjdCBUb3VjaCBCYXIgdG8gTWVkaWFTZXNzaW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjE5MjEKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzc0
MzYzMzExPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFRoZXNlIGNoYW5nZXMgY2FuIG9ubHkgYmUgdGVzdGVkIG1hbnVhbGx5LgorCisgICAgICAgICog
aHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVs
ZW1lbnQ6OmRpZFJlY2VpdmVSZW1vdGVDb250cm9sQ29tbWFuZCk6IFBsYXRmb3JtTWVkaWFTZXNz
aW9uOjpSZW1vdGVDb21tYW5kQXJndW1lbnQKKyAgICAgICAgaXMgYSBzdHJ1Y3QuCisKKyAgICAg
ICAgKiBodG1sL01lZGlhRWxlbWVudFNlc3Npb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVk
aWFFbGVtZW50U2Vzc2lvbjo6ZGlkUmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21tYW5kKTogRGl0dG8u
IFRyYWNrIEJlZ2luU2NydWJiaW5nCisgICAgICAgIGFuZCBFbmRTY3J1YmJpbmcgc28gd2Uga25v
dyB3aGVuIHRvIHNldCB0aGUgJ2Zhc3RTZWVrJyBmbGFnIHdoZW4gc2VuZGluZyBhIFNlZWtUbyBj
b21tYW5kLgorICAgICAgICAqIGh0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5oOgorCisgICAgICAg
ICogcGxhdGZvcm0vTm93UGxheWluZ01hbmFnZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRp
by9QbGF0Zm9ybU1lZGlhU2Vzc2lvbi5jcHA6IFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVD
b21tYW5kQXJndW1lbnQKKyAgICAgICAgaXMgYSBzdHJ1Y3QuCisgICAgICAgIChXZWJDb3JlOjpj
b252ZXJ0RW51bWVyYXRpb25Ub1N0cmluZyk6CisKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9Q
bGF0Zm9ybU1lZGlhU2Vzc2lvbi5oOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1NZWRpYVNl
c3Npb246OlJlbW90ZUNvbW1hbmRBcmd1bWVudDo6ZW5jb2RlIGNvbnN0KToKKyAgICAgICAgKFdl
YkNvcmU6OlBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb21tYW5kQXJndW1lbnQ6OmRlY29k
ZSk6CisKKyAgICAgICAgKiBwbGF0Zm9ybS9jb2NvYS9QbGF5YmFja1Nlc3Npb25Nb2RlbC5oOgor
ICAgICAgICAoV2ViQ29yZTo6UGxheWJhY2tTZXNzaW9uTW9kZWw6OnNlbmRSZW1vdGVDb21tYW5k
KTogRGl0dG8uCisKKyAgICAgICAgKiBwbGF0Zm9ybS9jb2NvYS9QbGF5YmFja1Nlc3Npb25Nb2Rl
bE1lZGlhRWxlbWVudC5oOgorICAgICAgICAqIHBsYXRmb3JtL2NvY29hL1BsYXliYWNrU2Vzc2lv
bk1vZGVsTWVkaWFFbGVtZW50Lm1tOgorICAgICAgICAoV2ViQ29yZTo6UGxheWJhY2tTZXNzaW9u
TW9kZWxNZWRpYUVsZW1lbnQ6OnNlbmRSZW1vdGVDb21tYW5kKTogRGl0dG8uCisKKyAgICAgICAg
KiBwbGF0Zm9ybS9pb3MvUmVtb3RlQ29tbWFuZExpc3RlbmVySU9TLm1tOgorICAgICAgICAoV2Vi
Q29yZTo6UmVtb3RlQ29tbWFuZExpc3RlbmVySU9TOjpSZW1vdGVDb21tYW5kTGlzdGVuZXJJT1Mp
OiBEaXR0by4KKworICAgICAgICAqIHBsYXRmb3JtL21hYy9QbGF5YmFja1Nlc3Npb25JbnRlcmZh
Y2VNYWMuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvUGxheWJhY2tTZXNzaW9uSW50ZXJmYWNl
TWFjLm1tOgorICAgICAgICAoV2ViQ29yZTo6UGxheWJhY2tTZXNzaW9uSW50ZXJmYWNlTWFjOjp3
aWxsQmVnaW5TY3J1YmJpbmcpOiBQdWxsIHRoZSBsb2dpYyB0byB1cGRhdGUKKyAgICAgICAgY29u
dHJvbHMgbWFuYWdlciB0aW1pbmcgb3V0IG9mIGJlZ2luU2NydWJiaW5nIHNvIGl0IGNhbiBiZSB1
c2VkIGZyb20gV2ViUGxheWJhY2tDb250cm9sc01hbmFnZXIuCisgICAgICAgIChXZWJDb3JlOjpQ
bGF5YmFja1Nlc3Npb25JbnRlcmZhY2VNYWM6OmJlZ2luU2NydWJiaW5nKToKKworICAgICAgICAq
IHBsYXRmb3JtL21hYy9SZW1vdGVDb21tYW5kTGlzdGVuZXJNYWMubW06CisgICAgICAgIChXZWJD
b3JlOjpSZW1vdGVDb21tYW5kTGlzdGVuZXJNYWM6OlJlbW90ZUNvbW1hbmRMaXN0ZW5lck1hYyk6
IFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb21tYW5kQXJndW1lbnQKKyAgICAgICAgaXMg
YSBzdHJ1Y3QuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvV2ViUGxheWJhY2tDb250cm9sc01h
bmFnZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvV2ViUGxheWJhY2tDb250cm9sc01hbmFn
ZXIubW06CisgICAgICAgICgtW1dlYlBsYXliYWNrQ29udHJvbHNNYW5hZ2VyIHNlZWtUb1RpbWU6
dG9sZXJhbmNlQmVmb3JlOnRvbGVyYW5jZUFmdGVyOl0pOiBDYWxsCisgICAgICAgIHNlbmRSZW1v
dGVDb21tYW5kLgorICAgICAgICAoLVtXZWJQbGF5YmFja0NvbnRyb2xzTWFuYWdlciBiZWdpblRv
dWNoQmFyU2NydWJiaW5nXSk6IERpdHRvLgorICAgICAgICAoLVtXZWJQbGF5YmFja0NvbnRyb2xz
TWFuYWdlciBlbmRUb3VjaEJhclNjcnViYmluZ10pOiBEaXR0by4KKyAgICAgICAgKC1bV2ViUGxh
eWJhY2tDb250cm9sc01hbmFnZXIgdG9nZ2xlUGxheWJhY2tdKTogRGl0dG8uCisgICAgICAgICgt
W1dlYlBsYXliYWNrQ29udHJvbHNNYW5hZ2VyIHNldFBsYXlpbmc6XSk6IERpdHRvLgorICAgICAg
ICAoLVtXZWJQbGF5YmFja0NvbnRyb2xzTWFuYWdlciB0b2dnbGVQaWN0dXJlSW5QaWN0dXJlXSk6
IERpdHRvLgorCisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6SW50ZXJuYWxzOjpwb3N0UmVtb3RlQ29udHJvbENvbW1hbmQpOiBEaXR0by4KKwogMjAy
MS0wMi0xNSAgU2FpZCBBYm91LUhhbGxhd2EgIDxzYWlkQGFwcGxlLmNvbT4KIAogICAgICAgICBb
R1BVIFByb2Nlc3NdIChSRUdSRVNTSU9OIHIyNzI3NzYpOiBJbmNvcnJlY3Qgb3JkZXIgZm9yIGRl
Y29kaW5nIHRoZSBQYXR0ZXJuIHJlcGVhdCBwcm9wZXJ0aWVzCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDRkZDZmZjFk
MmRmY2VjYjc0MGY2YjJiYjhiNWQ3NzYyZTRiNTM5YzkuLmU3OTljZTRmMTgxMjRiZTg3MWIyYjkz
YWNlZmViZjhlNzg2YzBmMWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisr
KyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjkgQEAKKzIwMjEtMDItMTUg
IEVyaWMgQ2FybHNvbiAgPGVyaWMuY2FybHNvbkBhcHBsZS5jb20+CisKKyAgICAgICAgW21hY09T
XSBDb25uZWN0IFRvdWNoIEJhciB0byBNZWRpYVNlc3Npb24KKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMTkyMQorICAgICAgICA8cmRhcjovL3Byb2Js
ZW0vNzQzNjMzMTE+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBHUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpkaWRSZWNlaXZlUmVtb3RlQ29u
dHJvbENvbW1hbmQpOiAgUGxhdGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbW1hbmRBcmd1bWVu
dAorICAgICAgICBpcyBhIHN0cnVjdC4KKyAgICAgICAgKiBHUFVQcm9jZXNzL0dQVUNvbm5lY3Rp
b25Ub1dlYlByb2Nlc3MuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvUGxheWJhY2tTZXNz
aW9uTWFuYWdlclByb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1BsYXliYWNrU2Vz
c2lvbk1hbmFnZXJQcm94eS5tbToKKyAgICAgICAgKFdlYktpdDo6UGxheWJhY2tTZXNzaW9uTW9k
ZWxDb250ZXh0OjpzZW5kUmVtb3RlQ29tbWFuZCk6IAorICAgICAgICAoV2ViS2l0OjpQbGF5YmFj
a1Nlc3Npb25NYW5hZ2VyUHJveHk6OnNlbmRSZW1vdGVDb21tYW5kKToKKyAgICAgICAgKiBXZWJQ
cm9jZXNzL0dQVS9HUFVQcm9jZXNzQ29ubmVjdGlvbi5jcHA6CisgICAgICAgIChXZWJLaXQ6OkdQ
VVByb2Nlc3NDb25uZWN0aW9uOjpkaWRSZWNlaXZlUmVtb3RlQ29tbWFuZCk6CisgICAgICAgICog
V2ViUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc0Nvbm5lY3Rpb24uaDoKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL0dQVS9HUFVQcm9jZXNzQ29ubmVjdGlvbi5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBXZWJQ
cm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXIubWVzc2FnZXMuaW46
CisgICAgICAgICogV2ViUHJvY2Vzcy9jb2NvYS9QbGF5YmFja1Nlc3Npb25NYW5hZ2VyLmg6Cisg
ICAgICAgICogV2ViUHJvY2Vzcy9jb2NvYS9QbGF5YmFja1Nlc3Npb25NYW5hZ2VyLm1lc3NhZ2Vz
LmluOgorICAgICAgICAqIFdlYlByb2Nlc3MvY29jb2EvUGxheWJhY2tTZXNzaW9uTWFuYWdlci5t
bToKKyAgICAgICAgKFdlYktpdDo6UGxheWJhY2tTZXNzaW9uTWFuYWdlcjo6c2VuZFJlbW90ZUNv
bW1hbmQpOgorCiAyMDIxLTAyLTE1ICBGdWppaSBIaXJvbm9yaSAgPEhpcm9ub3JpLkZ1amlpQHNv
bnkuY29tPgogCiAgICAgICAgIFBhZ2Ugc2Nyb2xsaW5nIGJ5IHdoZWVsIGV2ZW50cyBkb2Vzbid0
IHdvcmsgaW4gbm9uLUFDIG1vZGUgcGFnZXMgaWYgSGFyZHdhcmUgQWNjZWxlcmF0aW9uIFBvbGlj
eSBpcyBjaGFuZ2VkIGR5bmFtaWNhbGx5IGZyb20gImFsd2F5cyIgdG8gIm5ldmVyIgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKaW5kZXggNDkwN2I4MDhhMTQxNzIyODcz
ZDM0MjNmMGNiOWY3NThlNDJjNDU2Yy4uZWIxNTFhNjk3M2E5NzljYTQ2NWM5ZDQ0Mzc1MTU3YjE3
NzcyY2YwNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCkBAIC03
NTE3LDcgKzc1MTcsNyBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OmRpZFJlY2VpdmVSZW1vdGVD
b250cm9sQ29tbWFuZChQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtbwogICAgIEFMV0FZU19MT0co
TE9HSURFTlRJRklFUiwgY29tbWFuZCk7CiAKICAgICBVc2VyR2VzdHVyZUluZGljYXRvciByZW1v
dGVDb250cm9sVXNlckdlc3R1cmUoUHJvY2Vzc2luZ1VzZXJHZXN0dXJlLCAmZG9jdW1lbnQoKSk7
Ci0gICAgZG91YmxlIG9mZnNldCA9IDE1OworICAgIGNvbnN0IGRvdWJsZSBkZWZhdWx0U2tpcEFt
b3VudCA9IDE1OwogICAgIHN3aXRjaCAoY29tbWFuZCkgewogICAgIGNhc2UgUGxhdGZvcm1NZWRp
YVNlc3Npb246OlBsYXlDb21tYW5kOgogICAgICAgICBwbGF5KCk7CkBAIC03NTQwLDE5ICs3NTQw
LDE1IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6ZGlkUmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21t
YW5kKFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vCiAgICAgICAgIGVuZFNjYW5uaW5nKCk7CiAg
ICAgICAgIGJyZWFrOwogICAgIGNhc2UgUGxhdGZvcm1NZWRpYVNlc3Npb246OlNraXBGb3J3YXJk
Q29tbWFuZDoKLSAgICAgICAgaWYgKGFyZ3VtZW50KQotICAgICAgICAgICAgb2Zmc2V0ID0gKmFy
Z3VtZW50OwotICAgICAgICBoYW5kbGVTZWVrVG9QbGF5YmFja1Bvc2l0aW9uKG9mZnNldCk7Cisg
ICAgICAgIGhhbmRsZVNlZWtUb1BsYXliYWNrUG9zaXRpb24oYXJndW1lbnQudGltZSA/IGFyZ3Vt
ZW50LnRpbWUudmFsdWUoKSA6IGRlZmF1bHRTa2lwQW1vdW50KTsKICAgICAgICAgYnJlYWs7CiAg
ICAgY2FzZSBQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6U2tpcEJhY2t3YXJkQ29tbWFuZDoKLSAgICAg
ICAgaWYgKGFyZ3VtZW50KQotICAgICAgICAgICAgb2Zmc2V0ID0gKmFyZ3VtZW50OwotICAgICAg
ICBoYW5kbGVTZWVrVG9QbGF5YmFja1Bvc2l0aW9uKDAgLSBvZmZzZXQpOworICAgICAgICBoYW5k
bGVTZWVrVG9QbGF5YmFja1Bvc2l0aW9uKDAgLSAoYXJndW1lbnQudGltZSA/IGFyZ3VtZW50LnRp
bWUudmFsdWUoKSA6IGRlZmF1bHRTa2lwQW1vdW50KSk7CiAgICAgICAgIGJyZWFrOwogICAgIGNh
c2UgUGxhdGZvcm1NZWRpYVNlc3Npb246OlNlZWtUb1BsYXliYWNrUG9zaXRpb25Db21tYW5kOgot
ICAgICAgICBBU1NFUlQoYXJndW1lbnQpOwotICAgICAgICBpZiAoYXJndW1lbnQpCi0gICAgICAg
ICAgICBoYW5kbGVTZWVrVG9QbGF5YmFja1Bvc2l0aW9uKCphcmd1bWVudCk7CisgICAgICAgIEFT
U0VSVChhcmd1bWVudC50aW1lKTsKKyAgICAgICAgaWYgKGFyZ3VtZW50LnRpbWUpCisgICAgICAg
ICAgICBoYW5kbGVTZWVrVG9QbGF5YmFja1Bvc2l0aW9uKGFyZ3VtZW50LnRpbWUudmFsdWUoKSk7
CiAgICAgICAgIGJyZWFrOwogICAgIGRlZmF1bHQ6CiAgICAgICAgIHsgfSAvLyBEbyBub3RoaW5n
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRWxlbWVudFNlc3Npb24uY3Bw
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmNwcAppbmRleCBmNThj
ZGNkOGE4NTY0YzEwNzU0MTExZGE5Y2Y3ZGYzMzk3OTEyOGJmLi4wNzNlNDYyYWE4MmYxNzM0YTEx
MGIwZDU5MWIwMGMyYjNiMDM3ZTA4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL01l
ZGlhRWxlbWVudFNlc3Npb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbGVt
ZW50U2Vzc2lvbi5jcHAKQEAgLTEwNTEsMjEgKzEwNTEsMjggQEAgdm9pZCBNZWRpYUVsZW1lbnRT
ZXNzaW9uOjpkaWRSZWNlaXZlUmVtb3RlQ29udHJvbENvbW1hbmQoUmVtb3RlQ29udHJvbENvbW1h
bmRUeXAKICAgICBjYXNlIFRvZ2dsZVBsYXlQYXVzZUNvbW1hbmQ6CiAgICAgICAgIGFjdGlvbkRl
dGFpbHMuYWN0aW9uID0gbV9lbGVtZW50LnBhdXNlZCgpID8gTWVkaWFTZXNzaW9uQWN0aW9uOjpQ
bGF5IDogTWVkaWFTZXNzaW9uQWN0aW9uOjpQYXVzZTsKICAgICAgICAgYnJlYWs7CisgICAgY2Fz
ZSBCZWdpblNjcnViYmluZzoKKyAgICAgICAgbV9pc1NjcnViYmluZyA9IHRydWU7CisgICAgICAg
IHJldHVybjsKKyAgICBjYXNlIEVuZFNjcnViYmluZzoKKyAgICAgICAgbV9pc1NjcnViYmluZyA9
IGZhbHNlOworICAgICAgICByZXR1cm47CiAgICAgY2FzZSBTZWVrVG9QbGF5YmFja1Bvc2l0aW9u
Q29tbWFuZDoKLSAgICAgICAgQVNTRVJUKGFyZ3VtZW50KTsKLSAgICAgICAgaWYgKCFhcmd1bWVu
dCkKKyAgICAgICAgQVNTRVJUKGFyZ3VtZW50LnRpbWUpOworICAgICAgICBpZiAoIWFyZ3VtZW50
LnRpbWUpCiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIGFjdGlvbkRldGFpbHMuYWN0aW9u
ID0gTWVkaWFTZXNzaW9uQWN0aW9uOjpTZWVrdG87Ci0gICAgICAgIGFjdGlvbkRldGFpbHMuc2Vl
a1RpbWUgPSAqYXJndW1lbnQ7CisgICAgICAgIGFjdGlvbkRldGFpbHMuc2Vla1RpbWUgPSBhcmd1
bWVudC50aW1lLnZhbHVlKCk7CisgICAgICAgIGFjdGlvbkRldGFpbHMuZmFzdFNlZWsgPSBtX2lz
U2NydWJiaW5nOwogICAgICAgICBicmVhazsKICAgICBjYXNlIFNraXBGb3J3YXJkQ29tbWFuZDoK
LSAgICAgICAgaWYgKGFyZ3VtZW50KQotICAgICAgICAgICAgYWN0aW9uRGV0YWlscy5zZWVrT2Zm
c2V0ID0gKmFyZ3VtZW50OworICAgICAgICBpZiAoYXJndW1lbnQudGltZSkKKyAgICAgICAgICAg
IGFjdGlvbkRldGFpbHMuc2Vla09mZnNldCA9IGFyZ3VtZW50LnRpbWUudmFsdWUoKTsKICAgICAg
ICAgYWN0aW9uRGV0YWlscy5hY3Rpb24gPSBNZWRpYVNlc3Npb25BY3Rpb246OlNlZWtmb3J3YXJk
OwogICAgICAgICBicmVhazsKICAgICBjYXNlIFNraXBCYWNrd2FyZENvbW1hbmQ6Ci0gICAgICAg
IGlmIChhcmd1bWVudCkKLSAgICAgICAgICAgIGFjdGlvbkRldGFpbHMuc2Vla09mZnNldCA9ICph
cmd1bWVudDsKKyAgICAgICAgaWYgKGFyZ3VtZW50LnRpbWUpCisgICAgICAgICAgICBhY3Rpb25E
ZXRhaWxzLnNlZWtPZmZzZXQgPSBhcmd1bWVudC50aW1lLnZhbHVlKCk7CiAgICAgICAgIGFjdGlv
bkRldGFpbHMuYWN0aW9uID0gTWVkaWFTZXNzaW9uQWN0aW9uOjpTZWVrYmFja3dhcmQ7CiAgICAg
ICAgIGJyZWFrOwogICAgIGNhc2UgTmV4dFRyYWNrQ29tbWFuZDoKQEAgLTEwNzksNyArMTA4Niw3
IEBAIHZvaWQgTWVkaWFFbGVtZW50U2Vzc2lvbjo6ZGlkUmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21t
YW5kKFJlbW90ZUNvbnRyb2xDb21tYW5kVHlwCiAgICAgY2FzZSBCZWdpblNlZWtpbmdGb3J3YXJk
Q29tbWFuZDoKICAgICBjYXNlIEVuZFNlZWtpbmdGb3J3YXJkQ29tbWFuZDoKICAgICAgICAgQVNT
RVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgICAgIGJyZWFrOworICAgICAgICByZXR1cm47CiAgICAg
fQogICAgIAogICAgIGlmIChhdXRvIGhhbmRsZXIgPSBzZXNzaW9uLT5oYW5kbGVyRm9yQWN0aW9u
KGFjdGlvbkRldGFpbHMuYWN0aW9uKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
TWVkaWFFbGVtZW50U2Vzc2lvbi5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVsZW1lbnRT
ZXNzaW9uLmgKaW5kZXggN2NiZjdhMzMxNDFjNDI1MjIxODRmMDAxNjM4YWFhN2NkYzBlZTZhYy4u
N2RiZDBhNGY3NDk1YzU4MTBhMjcwMDE4OGY2NzNiMGFkYTkyMzMxYiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmgKQEAgLTE3NSw3ICsxNzUsNyBAQCBwdWJsaWM6
CiAjZW5kaWYKIAogI2lmIEVOQUJMRShNRURJQV9TRVNTSU9OKQotICAgIHZvaWQgZGlkUmVjZWl2
ZVJlbW90ZUNvbnRyb2xDb21tYW5kKFJlbW90ZUNvbnRyb2xDb21tYW5kVHlwZSwgY29uc3QgUmVt
b3RlQ29tbWFuZEFyZ3VtZW50JiA9IFdURjo6bnVsbG9wdCkgZmluYWw7CisgICAgdm9pZCBkaWRS
ZWNlaXZlUmVtb3RlQ29udHJvbENvbW1hbmQoUmVtb3RlQ29udHJvbENvbW1hbmRUeXBlLCBjb25z
dCBSZW1vdGVDb21tYW5kQXJndW1lbnQmKSBmaW5hbDsKICNlbmRpZgogCiBwcml2YXRlOgpAQCAt
MjMyLDYgKzIzMiw4IEBAIHByaXZhdGU6CiAjaWYgRU5BQkxFKE1FRElBX1VTQUdFKQogICAgIGJv
b2wgbV9oYXZlQWRkZWRNZWRpYVVzYWdlTWFuYWdlclNlc3Npb24geyBmYWxzZSB9OwogI2VuZGlm
CisgICAgCisgICAgYm9vbCBtX2lzU2NydWJiaW5nIHsgZmFsc2UgfTsKIH07CiAKIFN0cmluZyBj
b252ZXJ0RW51bWVyYXRpb25Ub1N0cmluZyhjb25zdCBNZWRpYVBsYXliYWNrRGVuaWFsUmVhc29u
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL05vd1BsYXlpbmdNYW5hZ2Vy
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Ob3dQbGF5aW5nTWFuYWdlci5oCmluZGV4IDFi
Njc4YzgyMDZmNWQwYWY5ZDdmNzc4NGEyZWM5NDNhYmZhMDAxM2QuLmZhMTY2NDI4MjQ1MmYwZWQw
OWM2Yzg3NzVmNmE4NjUyNDlkYmFkMzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL05vd1BsYXlpbmdNYW5hZ2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTm93
UGxheWluZ01hbmFnZXIuaApAQCAtNDUsNyArNDUsNyBAQCBwdWJsaWM6CiAgICAgY2xhc3MgQ2xp
ZW50IDogcHVibGljIENhbk1ha2VXZWFrUHRyPENsaWVudD4gewogICAgIHB1YmxpYzoKICAgICAg
ICAgdmlydHVhbCB+Q2xpZW50KCkgPSBkZWZhdWx0OwotICAgICAgICB2aXJ0dWFsIHZvaWQgZGlk
UmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21tYW5kKFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVD
b250cm9sQ29tbWFuZFR5cGUsIE9wdGlvbmFsPGRvdWJsZT4pID0gMDsKKyAgICAgICAgdmlydHVh
bCB2b2lkIGRpZFJlY2VpdmVSZW1vdGVDb250cm9sQ29tbWFuZChQbGF0Zm9ybU1lZGlhU2Vzc2lv
bjo6UmVtb3RlQ29udHJvbENvbW1hbmRUeXBlLCBjb25zdCBQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6
UmVtb3RlQ29tbWFuZEFyZ3VtZW50JikgPSAwOwogICAgIH07CiAKICAgICB2b2lkIGNsZWFyTm93
UGxheWluZ0luZm9DbGllbnQoQ2xpZW50Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbi5jcHAKaW5kZXggNjI3YTFlMGY1NGJj
ZWNlMGUyMGI2N2IwNWExOTgzOGU5NzhmZDkxYy4uNDk1ODZhZGZjNzEzMjhkN2JkOWExNjQzODA5
MWY0NWIyYTVmMWJmYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8v
UGxhdGZvcm1NZWRpYVNlc3Npb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1
ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uLmNwcApAQCAtOTcsNiArOTcsOCBAQCBTdHJpbmcgY29u
dmVydEVudW1lcmF0aW9uVG9TdHJpbmcoUGxhdGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbnRy
b2xDb21tYW5kVHlwZQogICAgICAgICBNQUtFX1NUQVRJQ19TVFJJTkdfSU1QTCgiU2tpcEJhY2t3
YXJkQ29tbWFuZCIpLAogICAgICAgICBNQUtFX1NUQVRJQ19TVFJJTkdfSU1QTCgiTmV4dFRyYWNr
Q29tbWFuZCIpLAogICAgICAgICBNQUtFX1NUQVRJQ19TVFJJTkdfSU1QTCgiUHJldmlvdXNUcmFj
a0NvbW1hbmQiKSwKKyAgICAgICAgTUFLRV9TVEFUSUNfU1RSSU5HX0lNUEwoIkJlZ2luU2NydWJi
aW5nIiksCisgICAgICAgIE1BS0VfU1RBVElDX1NUUklOR19JTVBMKCJFbmRTY3J1YmJpbmciKSwK
ICAgICB9OwogICAgIHN0YXRpY19hc3NlcnQoIXN0YXRpY19jYXN0PHNpemVfdD4oUGxhdGZvcm1N
ZWRpYVNlc3Npb246Ok5vQ29tbWFuZCksICJQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6Tm9Db21tYW5k
IGlzIG5vdCAwIGFzIGV4cGVjdGVkIik7CiAgICAgc3RhdGljX2Fzc2VydChzdGF0aWNfY2FzdDxz
aXplX3Q+KFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpQbGF5Q29tbWFuZCkgPT0gMSwgIlBsYXRmb3Jt
TWVkaWFTZXNzaW9uOjpQbGF5Q29tbWFuZCBpcyBub3QgMSBhcyBleHBlY3RlZCIpOwpAQCAtMTEy
LDYgKzExNCw5IEBAIFN0cmluZyBjb252ZXJ0RW51bWVyYXRpb25Ub1N0cmluZyhQbGF0Zm9ybU1l
ZGlhU2Vzc2lvbjo6UmVtb3RlQ29udHJvbENvbW1hbmRUeXBlCiAgICAgc3RhdGljX2Fzc2VydChz
dGF0aWNfY2FzdDxzaXplX3Q+KFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpTa2lwQmFja3dhcmRDb21t
YW5kKSA9PSAxMSwgIlBsYXRmb3JtTWVkaWFTZXNzaW9uOjpTa2lwQmFja3dhcmRDb21tYW5kIGlz
IG5vdCAxMSBhcyBleHBlY3RlZCIpOwogICAgIHN0YXRpY19hc3NlcnQoc3RhdGljX2Nhc3Q8c2l6
ZV90PihQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6TmV4dFRyYWNrQ29tbWFuZCkgPT0gMTIsICJQbGF0
Zm9ybU1lZGlhU2Vzc2lvbjo6TmV4dFRyYWNrQ29tbWFuZCBpcyBub3QgMTIgYXMgZXhwZWN0ZWQi
KTsKICAgICBzdGF0aWNfYXNzZXJ0KHN0YXRpY19jYXN0PHNpemVfdD4oUGxhdGZvcm1NZWRpYVNl
c3Npb246OlByZXZpb3VzVHJhY2tDb21tYW5kKSA9PSAxMywgIlBsYXRmb3JtTWVkaWFTZXNzaW9u
OjpQcmV2aW91c1RyYWNrQ29tbWFuZCBpcyBub3QgMTMgYXMgZXhwZWN0ZWQiKTsKKyAgICBzdGF0
aWNfYXNzZXJ0KHN0YXRpY19jYXN0PHNpemVfdD4oUGxhdGZvcm1NZWRpYVNlc3Npb246OkJlZ2lu
U2NydWJiaW5nKSA9PSAxNCwgIlBsYXRmb3JtTWVkaWFTZXNzaW9uOjpCZWdpblNjcnViYmluZyBp
cyBub3QgMTQgYXMgZXhwZWN0ZWQiKTsKKyAgICBzdGF0aWNfYXNzZXJ0KHN0YXRpY19jYXN0PHNp
emVfdD4oUGxhdGZvcm1NZWRpYVNlc3Npb246OkVuZFNjcnViYmluZykgPT0gMTUsICJQbGF0Zm9y
bU1lZGlhU2Vzc2lvbjo6RW5kU2NydWJiaW5nIGlzIG5vdCAxNSBhcyBleHBlY3RlZCIpOworCiAg
ICAgQVNTRVJUKHN0YXRpY19jYXN0PHNpemVfdD4oY29tbWFuZCkgPCBXVEZfQVJSQVlfTEVOR1RI
KHZhbHVlcykpOwogICAgIHJldHVybiB2YWx1ZXNbc3RhdGljX2Nhc3Q8c2l6ZV90Pihjb21tYW5k
KV07CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9y
bU1lZGlhU2Vzc2lvbi5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1N
ZWRpYVNlc3Npb24uaAppbmRleCBiMTMzMDNjNjA1NWVmNmEyNTEzNzkxMGZhZmZlMzIxOThmMjk5
MjBhLi45MTQ1N2ViMWE2MWU0NjczYWMxOTNiODIwM2U5MGI4ZjNlNjI3NjUxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbi5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uLmgK
QEAgLTExNCw4ICsxMTQsMTQgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB2b2lkIHN1c3BlbmRC
dWZmZXJpbmcoKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgcmVzdW1lQnVmZmVyaW5nKCkgeyB9Cisg
ICAgCisgICAgc3RydWN0IFJlbW90ZUNvbW1hbmRBcmd1bWVudCB7CisgICAgICAgIE9wdGlvbmFs
PGRvdWJsZT4gdGltZTsKKyAgICAgICAgT3B0aW9uYWw8Ym9vbD4gZmFzdFNlZWs7CiAKLSAgICB1
c2luZyBSZW1vdGVDb21tYW5kQXJndW1lbnQgPSBPcHRpb25hbDxkb3VibGU+OworICAgICAgICB0
ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPiB2b2lkIGVuY29kZShFbmNvZGVyJikgY29uc3Q7CisgICAg
ICAgIHRlbXBsYXRlPGNsYXNzIERlY29kZXI+IHN0YXRpYyBPcHRpb25hbDxSZW1vdGVDb21tYW5k
QXJndW1lbnQ+IGRlY29kZShEZWNvZGVyJik7CisgICAgfTsKIAogICAgIGVudW0gUmVtb3RlQ29u
dHJvbENvbW1hbmRUeXBlIDogdWludDhfdCB7CiAgICAgICAgIE5vQ29tbWFuZCwKQEAgLTEzMiw5
ICsxMzgsMTEgQEAgcHVibGljOgogICAgICAgICBTa2lwQmFja3dhcmRDb21tYW5kLAogICAgICAg
ICBOZXh0VHJhY2tDb21tYW5kLAogICAgICAgICBQcmV2aW91c1RyYWNrQ29tbWFuZCwKKyAgICAg
ICAgQmVnaW5TY3J1YmJpbmcsCisgICAgICAgIEVuZFNjcnViYmluZywKICAgICB9OwogICAgIGJv
b2wgY2FuUmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21tYW5kcygpIGNvbnN0OwotICAgIHZpcnR1YWwg
dm9pZCBkaWRSZWNlaXZlUmVtb3RlQ29udHJvbENvbW1hbmQoUmVtb3RlQ29udHJvbENvbW1hbmRU
eXBlLCBjb25zdCBSZW1vdGVDb21tYW5kQXJndW1lbnQmID0gV1RGOjpudWxsb3B0KTsKKyAgICB2
aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21tYW5kKFJlbW90ZUNvbnRyb2xD
b21tYW5kVHlwZSwgY29uc3QgUmVtb3RlQ29tbWFuZEFyZ3VtZW50Jik7CiAgICAgYm9vbCBzdXBw
b3J0c1NlZWtpbmcoKSBjb25zdDsKIAogICAgIGVudW0gRGlzcGxheVR5cGUgOiB1aW50OF90IHsK
QEAgLTI3Myw4ICsyODEsMzAgQEAgcHJvdGVjdGVkOgogU3RyaW5nIGNvbnZlcnRFbnVtZXJhdGlv
blRvU3RyaW5nKFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpTdGF0ZSk7CiBTdHJpbmcgY29udmVydEVu
dW1lcmF0aW9uVG9TdHJpbmcoUGxhdGZvcm1NZWRpYVNlc3Npb246OkludGVycnVwdGlvblR5cGUp
OwogU3RyaW5nIGNvbnZlcnRFbnVtZXJhdGlvblRvU3RyaW5nKFBsYXRmb3JtTWVkaWFTZXNzaW9u
OjpSZW1vdGVDb250cm9sQ29tbWFuZFR5cGUpOworCit0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPiBp
bmxpbmUgdm9pZCBQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3RlQ29tbWFuZEFyZ3VtZW50Ojpl
bmNvZGUoRW5jb2RlciYgZW5jb2RlcikgY29uc3QKK3sKKyAgICBlbmNvZGVyIDw8IHRpbWUgPDwg
ZmFzdFNlZWs7CiB9CiAKK3RlbXBsYXRlPGNsYXNzIERlY29kZXI+IGlubGluZSBPcHRpb25hbDxQ
bGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3RlQ29tbWFuZEFyZ3VtZW50PiBQbGF0Zm9ybU1lZGlh
U2Vzc2lvbjo6UmVtb3RlQ29tbWFuZEFyZ3VtZW50OjpkZWNvZGUoRGVjb2RlciYgZGVjb2RlcikK
K3sKKyNkZWZpbmUgREVDT0RFKG5hbWUsIHR5cGUpIFwKKyAgICBPcHRpb25hbDxPcHRpb25hbDx0
eXBlPj4gbmFtZTsgXAorICAgIGRlY29kZXIgPj4gbmFtZTsgXAorICAgIGlmICghbmFtZSkgXAor
ICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OyBcCisKKyAgICBERUNPREUodGltZSwgZG91Ymxl
KTsKKyAgICBERUNPREUoZmFzdFNlZWssIGJvb2wpOworCisjdW5kZWYgREVDT0RFCisKKyAgICBy
ZXR1cm4geyB7ICp0aW1lLCAqZmFzdFNlZWsgfSB9OworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCisKIG5hbWVzcGFjZSBXVEYgewogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBUeXBlPgpAQCAtMzYw
LDcgKzM5MCwxMyBAQCB0ZW1wbGF0ZSA8PiBzdHJ1Y3QgRW51bVRyYWl0czxXZWJDb3JlOjpQbGF0
Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3RlQ29udHJvbENvbW1hbgogICAgIFdlYkNvcmU6OlBsYXRm
b3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb250cm9sQ29tbWFuZFR5cGU6OkVuZFNlZWtpbmdCYWNr
d2FyZENvbW1hbmQsCiAgICAgV2ViQ29yZTo6UGxhdGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNv
bnRyb2xDb21tYW5kVHlwZTo6QmVnaW5TZWVraW5nRm9yd2FyZENvbW1hbmQsCiAgICAgV2ViQ29y
ZTo6UGxhdGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbnRyb2xDb21tYW5kVHlwZTo6RW5kU2Vl
a2luZ0ZvcndhcmRDb21tYW5kLAotICAgIFdlYkNvcmU6OlBsYXRmb3JtTWVkaWFTZXNzaW9uOjpS
ZW1vdGVDb250cm9sQ29tbWFuZFR5cGU6OlNlZWtUb1BsYXliYWNrUG9zaXRpb25Db21tYW5kCisg
ICAgV2ViQ29yZTo6UGxhdGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbnRyb2xDb21tYW5kVHlw
ZTo6U2Vla1RvUGxheWJhY2tQb3NpdGlvbkNvbW1hbmQsCisgICAgV2ViQ29yZTo6UGxhdGZvcm1N
ZWRpYVNlc3Npb246OlJlbW90ZUNvbnRyb2xDb21tYW5kVHlwZTo6U2tpcEZvcndhcmRDb21tYW5k
LAorICAgIFdlYkNvcmU6OlBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb250cm9sQ29tbWFu
ZFR5cGU6OlNraXBCYWNrd2FyZENvbW1hbmQsCisgICAgV2ViQ29yZTo6UGxhdGZvcm1NZWRpYVNl
c3Npb246OlJlbW90ZUNvbnRyb2xDb21tYW5kVHlwZTo6TmV4dFRyYWNrQ29tbWFuZCwKKyAgICBX
ZWJDb3JlOjpQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3RlQ29udHJvbENvbW1hbmRUeXBlOjpQ
cmV2aW91c1RyYWNrQ29tbWFuZCwKKyAgICBXZWJDb3JlOjpQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6
UmVtb3RlQ29udHJvbENvbW1hbmRUeXBlOjpCZWdpblNjcnViYmluZywKKyAgICBXZWJDb3JlOjpQ
bGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3RlQ29udHJvbENvbW1hbmRUeXBlOjpFbmRTY3J1YmJp
bmcKICAgICA+OwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29j
b2EvUGxheWJhY2tTZXNzaW9uTW9kZWwuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29h
L1BsYXliYWNrU2Vzc2lvbk1vZGVsLmgKaW5kZXggMDIxZGQwZmYzNTBlY2MxZjllZjc1NjkwMjg3
NDBmYmM4ZTY4ZGZjYi4uNjdiMmY1OTBhMGMwMTM0NmY0YTViMDAzOGVkNzJkOTczYzdlMGI5NSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvUGxheWJhY2tTZXNzaW9u
TW9kZWwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9QbGF5YmFja1Nlc3Np
b25Nb2RlbC5oCkBAIC0yNyw2ICsyNyw3IEBACiAKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKSB8
fCAoUExBVEZPUk0oTUFDKSAmJiBFTkFCTEUoVklERU9fUFJFU0VOVEFUSU9OX01PREUpKQogCisj
aW5jbHVkZSAiUGxhdGZvcm1NZWRpYVNlc3Npb24uaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5o
PgogI2luY2x1ZGUgPHd0Zi9SZWYuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CkBAIC02MSw2
ICs2Miw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgc2V0TXV0ZWQoYm9vbCkgPSAwOwog
ICAgIHZpcnR1YWwgdm9pZCBzZXRWb2x1bWUoZG91YmxlKSA9IDA7CiAgICAgdmlydHVhbCB2b2lk
IHNldFBsYXlpbmdPblNlY29uZFNjcmVlbihib29sKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIHNl
bmRSZW1vdGVDb21tYW5kKFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb250cm9sQ29tbWFu
ZFR5cGUsIGNvbnN0IFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb21tYW5kQXJndW1lbnQm
KSB7IH07CiAKICAgICBlbnVtIEV4dGVybmFsUGxheWJhY2tUYXJnZXRUeXBlIHsgVGFyZ2V0VHlw
ZU5vbmUsIFRhcmdldFR5cGVBaXJQbGF5LCBUYXJnZXRUeXBlVFZPdXQgfTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvUGxheWJhY2tTZXNzaW9uTW9kZWxNZWRp
YUVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1BsYXliYWNrU2Vzc2lv
bk1vZGVsTWVkaWFFbGVtZW50LmgKaW5kZXggZjYyOTQxNzgxMDQzNDYzY2E1NTA0ZmNkNTExYWUx
OTZmMDY0NzNhMC4uNjQ5MTFlOWFmZGQ0ZTMwYjAwNTEwMjhhZWNiMGEzZDY0NzkyMmQ1MiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvUGxheWJhY2tTZXNzaW9uTW9k
ZWxNZWRpYUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9QbGF5
YmFja1Nlc3Npb25Nb2RlbE1lZGlhRWxlbWVudC5oCkBAIC03NSw2ICs3NSw3IEBAIHB1YmxpYzoK
ICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldE11dGVkKGJvb2wpIGZpbmFsOwogICAgIFdFQkNP
UkVfRVhQT1JUIHZvaWQgc2V0Vm9sdW1lKGRvdWJsZSkgZmluYWw7CiAgICAgV0VCQ09SRV9FWFBP
UlQgdm9pZCBzZXRQbGF5aW5nT25TZWNvbmRTY3JlZW4oYm9vbCkgZmluYWw7CisgICAgV0VCQ09S
RV9FWFBPUlQgdm9pZCBzZW5kUmVtb3RlQ29tbWFuZChQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVt
b3RlQ29udHJvbENvbW1hbmRUeXBlLCBjb25zdCBQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3Rl
Q29tbWFuZEFyZ3VtZW50JikgZmluYWw7CiAKICAgICBkb3VibGUgZHVyYXRpb24oKSBjb25zdCBm
aW5hbDsKICAgICBkb3VibGUgY3VycmVudFRpbWUoKSBjb25zdCBmaW5hbDsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1BsYXliYWNrU2Vzc2lvbk1vZGVsTWVkaWFF
bGVtZW50Lm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvUGxheWJhY2tTZXNzaW9u
TW9kZWxNZWRpYUVsZW1lbnQubW0KaW5kZXggMTA1MmJlNzBhMzc4ZTg0N2QzYWUyOTk0NjRhMzEx
MzRiYjc4NmI2Ni4uZTRhY2EyOGRjZDZmOWViMmE4YjY0YzJkY2UzMWJhODBlZTBkMDQyMiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvUGxheWJhY2tTZXNzaW9uTW9k
ZWxNZWRpYUVsZW1lbnQubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvUGxh
eWJhY2tTZXNzaW9uTW9kZWxNZWRpYUVsZW1lbnQubW0KQEAgLTM2Miw2ICszNjIsMTIgQEAgdm9p
ZCBQbGF5YmFja1Nlc3Npb25Nb2RlbE1lZGlhRWxlbWVudDo6c2V0UGxheWluZ09uU2Vjb25kU2Ny
ZWVuKGJvb2wgdmFsdWUpCiAgICAgICAgIG1fbWVkaWFFbGVtZW50LT5zZXRQbGF5aW5nT25TZWNv
bmRTY3JlZW4odmFsdWUpOwogfQogCit2b2lkIFBsYXliYWNrU2Vzc2lvbk1vZGVsTWVkaWFFbGVt
ZW50OjpzZW5kUmVtb3RlQ29tbWFuZChQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3RlQ29udHJv
bENvbW1hbmRUeXBlIGNvbW1hbmQsIGNvbnN0IFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVD
b21tYW5kQXJndW1lbnQmIGFyZ3VtZW50KQoreworICAgIGlmIChtX21lZGlhRWxlbWVudCkKKyAg
ICAgICAgbV9tZWRpYUVsZW1lbnQtPm1lZGlhU2Vzc2lvbigpLmRpZFJlY2VpdmVSZW1vdGVDb250
cm9sQ29tbWFuZChjb21tYW5kLCBhcmd1bWVudCk7Cit9CisKIHZvaWQgUGxheWJhY2tTZXNzaW9u
TW9kZWxNZWRpYUVsZW1lbnQ6OnVwZGF0ZU1lZGlhU2VsZWN0aW9uT3B0aW9ucygpCiB7CiAgICAg
aWYgKCFtX21lZGlhRWxlbWVudCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2lvcy9SZW1vdGVDb21tYW5kTGlzdGVuZXJJT1MubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9pb3MvUmVtb3RlQ29tbWFuZExpc3RlbmVySU9TLm1tCmluZGV4IGEzMzQzNWFhYjFjMmRkNTk5
NGEwYWIyZGM0NGU4Y2Y3MWQxZmRjNzUuLjBlYWQ5ZDYyNjM3MDIzYWUxNWY3ZjI4MDViMmU4ZGMw
ZWRkMWVlMmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9SZW1vdGVD
b21tYW5kTGlzdGVuZXJJT1MubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1Jl
bW90ZUNvbW1hbmRMaXN0ZW5lcklPUy5tbQpAQCAtNTgsNyArNTgsNyBAQCBSZW1vdGVDb21tYW5k
TGlzdGVuZXJJT1M6OlJlbW90ZUNvbW1hbmRMaXN0ZW5lcklPUyhSZW1vdGVDb21tYW5kTGlzdGVu
ZXJDbGllbnQmCiAgICAgICAgIGNhbGxPbk1haW5UaHJlYWQoW3dlYWtUaGlzXSB7CiAgICAgICAg
ICAgICBpZiAoIXdlYWtUaGlzKQogICAgICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgICAg
IHdlYWtUaGlzLT5tX2NsaWVudC5kaWRSZWNlaXZlUmVtb3RlQ29udHJvbENvbW1hbmQoUGxhdGZv
cm1NZWRpYVNlc3Npb246OlBhdXNlQ29tbWFuZCwgV1RGOjpudWxsb3B0KTsKKyAgICAgICAgICAg
IHdlYWtUaGlzLT5tX2NsaWVudC5kaWRSZWNlaXZlUmVtb3RlQ29udHJvbENvbW1hbmQoUGxhdGZv
cm1NZWRpYVNlc3Npb246OlBhdXNlQ29tbWFuZCwgeyB9KTsKICAgICAgICAgfSk7CiAKICAgICAg
ICAgcmV0dXJuIE1QUmVtb3RlQ29tbWFuZEhhbmRsZXJTdGF0dXNTdWNjZXNzOwpAQCAtNjgsNyAr
NjgsNyBAQCBSZW1vdGVDb21tYW5kTGlzdGVuZXJJT1M6OlJlbW90ZUNvbW1hbmRMaXN0ZW5lcklP
UyhSZW1vdGVDb21tYW5kTGlzdGVuZXJDbGllbnQmCiAgICAgICAgIGNhbGxPbk1haW5UaHJlYWQo
W3dlYWtUaGlzXSB7CiAgICAgICAgICAgICBpZiAoIXdlYWtUaGlzKQogICAgICAgICAgICAgICAg
IHJldHVybjsKLSAgICAgICAgICAgIHdlYWtUaGlzLT5tX2NsaWVudC5kaWRSZWNlaXZlUmVtb3Rl
Q29udHJvbENvbW1hbmQoUGxhdGZvcm1NZWRpYVNlc3Npb246OlBsYXlDb21tYW5kLCBXVEY6Om51
bGxvcHQpOworICAgICAgICAgICAgd2Vha1RoaXMtPm1fY2xpZW50LmRpZFJlY2VpdmVSZW1vdGVD
b250cm9sQ29tbWFuZChQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UGxheUNvbW1hbmQsIHsgfSk7CiAg
ICAgICAgIH0pOwogCiAgICAgICAgIHJldHVybiBNUFJlbW90ZUNvbW1hbmRIYW5kbGVyU3RhdHVz
U3VjY2VzczsKQEAgLTc4LDcgKzc4LDcgQEAgUmVtb3RlQ29tbWFuZExpc3RlbmVySU9TOjpSZW1v
dGVDb21tYW5kTGlzdGVuZXJJT1MoUmVtb3RlQ29tbWFuZExpc3RlbmVyQ2xpZW50JgogICAgICAg
ICBjYWxsT25NYWluVGhyZWFkKFt3ZWFrVGhpc10gewogICAgICAgICAgICAgaWYgKCF3ZWFrVGhp
cykKICAgICAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgICAgICB3ZWFrVGhpcy0+bV9jbGll
bnQuZGlkUmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21tYW5kKFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpU
b2dnbGVQbGF5UGF1c2VDb21tYW5kLCBXVEY6Om51bGxvcHQpOworICAgICAgICAgICAgd2Vha1Ro
aXMtPm1fY2xpZW50LmRpZFJlY2VpdmVSZW1vdGVDb250cm9sQ29tbWFuZChQbGF0Zm9ybU1lZGlh
U2Vzc2lvbjo6VG9nZ2xlUGxheVBhdXNlQ29tbWFuZCwgeyB9KTsKICAgICAgICAgfSk7CiAKICAg
ICAgICAgcmV0dXJuIE1QUmVtb3RlQ29tbWFuZEhhbmRsZXJTdGF0dXNTdWNjZXNzOwpAQCAtOTMs
NyArOTMsNyBAQCBSZW1vdGVDb21tYW5kTGlzdGVuZXJJT1M6OlJlbW90ZUNvbW1hbmRMaXN0ZW5l
cklPUyhSZW1vdGVDb21tYW5kTGlzdGVuZXJDbGllbnQmCiAgICAgICAgIGNhbGxPbk1haW5UaHJl
YWQoW3dlYWtUaGlzLCBjb21tYW5kXSB7CiAgICAgICAgICAgICBpZiAoIXdlYWtUaGlzKQogICAg
ICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgICAgIHdlYWtUaGlzLT5tX2NsaWVudC5kaWRS
ZWNlaXZlUmVtb3RlQ29udHJvbENvbW1hbmQoY29tbWFuZCwgV1RGOjpudWxsb3B0KTsKKyAgICAg
ICAgICAgIHdlYWtUaGlzLT5tX2NsaWVudC5kaWRSZWNlaXZlUmVtb3RlQ29udHJvbENvbW1hbmQo
Y29tbWFuZCwgeyB9KTsKICAgICAgICAgfSk7CiAKICAgICAgICAgcmV0dXJuIE1QUmVtb3RlQ29t
bWFuZEhhbmRsZXJTdGF0dXNTdWNjZXNzOwpAQCAtMTA4LDcgKzEwOCw3IEBAIFJlbW90ZUNvbW1h
bmRMaXN0ZW5lcklPUzo6UmVtb3RlQ29tbWFuZExpc3RlbmVySU9TKFJlbW90ZUNvbW1hbmRMaXN0
ZW5lckNsaWVudCYKICAgICAgICAgY2FsbE9uTWFpblRocmVhZChbd2Vha1RoaXMsIGNvbW1hbmRd
IHsKICAgICAgICAgICAgIGlmICghd2Vha1RoaXMpCiAgICAgICAgICAgICAgICAgcmV0dXJuOwot
ICAgICAgICAgICAgd2Vha1RoaXMtPm1fY2xpZW50LmRpZFJlY2VpdmVSZW1vdGVDb250cm9sQ29t
bWFuZChjb21tYW5kLCBXVEY6Om51bGxvcHQpOworICAgICAgICAgICAgd2Vha1RoaXMtPm1fY2xp
ZW50LmRpZFJlY2VpdmVSZW1vdGVDb250cm9sQ29tbWFuZChjb21tYW5kLCB7IH0pOwogICAgICAg
ICB9KTsKIAogICAgICAgICByZXR1cm4gTVBSZW1vdGVDb21tYW5kSGFuZGxlclN0YXR1c1N1Y2Nl
c3M7CkBAIC0xMjEsNyArMTIxLDcgQEAgUmVtb3RlQ29tbWFuZExpc3RlbmVySU9TOjpSZW1vdGVD
b21tYW5kTGlzdGVuZXJJT1MoUmVtb3RlQ29tbWFuZExpc3RlbmVyQ2xpZW50JgogICAgICAgICAg
ICAgcmV0dXJuIE1QUmVtb3RlQ29tbWFuZEhhbmRsZXJTdGF0dXNDb21tYW5kRmFpbGVkOwogCiAg
ICAgICAgIE1QQ2hhbmdlUGxheWJhY2tQb3NpdGlvbkNvbW1hbmRFdmVudCogc2Vla0V2ZW50ID0g
c3RhdGljX2Nhc3Q8TVBDaGFuZ2VQbGF5YmFja1Bvc2l0aW9uQ29tbWFuZEV2ZW50ICo+KGV2ZW50
KTsKLSAgICAgICAgUGxhdGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbW1hbmRBcmd1bWVudCBh
cmd1bWVudCB7IFtzZWVrRXZlbnQgcG9zaXRpb25UaW1lXSB9OworICAgICAgICBQbGF0Zm9ybU1l
ZGlhU2Vzc2lvbjo6UmVtb3RlQ29tbWFuZEFyZ3VtZW50IGFyZ3VtZW50IHsgW3NlZWtFdmVudCBw
b3NpdGlvblRpbWVdLCB7IH0gfTsKIAogICAgICAgICBjYWxsT25NYWluVGhyZWFkKFt3ZWFrVGhp
cywgYXJndW1lbnQgPSBXVEZNb3ZlKGFyZ3VtZW50KV0gewogICAgICAgICAgICAgaWYgKCF3ZWFr
VGhpcykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9QbGF5YmFja1Nl
c3Npb25JbnRlcmZhY2VNYWMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9QbGF5YmFj
a1Nlc3Npb25JbnRlcmZhY2VNYWMuaAppbmRleCBiNGRjYTkxZjU2ODViNmRmYWY1NDdiOTM4OTc0
MjA4NjUwYTRiYmU3Li5kN2E5NDViYTE3ODJiM2Y0Nzc0NmQ2YTFmYTUyMDJlMGQ0YzljOWMzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvUGxheWJhY2tTZXNzaW9uSW50
ZXJmYWNlTWFjLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1BsYXliYWNrU2Vz
c2lvbkludGVyZmFjZU1hYy5oCkBAIC02OCw2ICs2OCw3IEBAIHB1YmxpYzoKIAogICAgIHZvaWQg
dXBkYXRlUGxheWJhY2tDb250cm9sc01hbmFnZXJDYW5Ub2dnbGVQaWN0dXJlSW5QaWN0dXJlKCk7
CiAjZW5kaWYKKyAgICB2b2lkIHdpbGxCZWdpblNjcnViYmluZygpOwogICAgIHZvaWQgYmVnaW5T
Y3J1YmJpbmcoKTsKICAgICB2b2lkIGVuZFNjcnViYmluZygpOwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvUGxheWJhY2tTZXNzaW9uSW50ZXJmYWNlTWFjLm1tIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1BsYXliYWNrU2Vzc2lvbkludGVyZmFjZU1hYy5t
bQppbmRleCAyOGJiZGYwOGM5MDkxNTU0MTY4ZDhmMjk2MWJjYTZkNGI2ZjdjMjg4Li5jOWE2ZTk1
OTgxNmY1MmFhODExNTYwNDFhY2IwNTZiMTQyMjA1YTRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tYWMvUGxheWJhY2tTZXNzaW9uSW50ZXJmYWNlTWFjLm1tCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9QbGF5YmFja1Nlc3Npb25JbnRlcmZhY2VNYWMubW0K
QEAgLTEwNSwxMSArMTA1LDE2IEBAIHZvaWQgUGxheWJhY2tTZXNzaW9uSW50ZXJmYWNlTWFjOjpy
YXRlQ2hhbmdlZChib29sIGlzUGxheWluZywgZmxvYXQgcGxheWJhY2tSYXRlCiAjZW5kaWYKIH0K
IAotdm9pZCBQbGF5YmFja1Nlc3Npb25JbnRlcmZhY2VNYWM6OmJlZ2luU2NydWJiaW5nKCkKK3Zv
aWQgUGxheWJhY2tTZXNzaW9uSW50ZXJmYWNlTWFjOjp3aWxsQmVnaW5TY3J1YmJpbmcoKQogewog
I2lmIEVOQUJMRShXRUJfUExBWUJBQ0tfQ09OVFJPTFNfTUFOQUdFUikKICAgICB1cGRhdGVQbGF5
YmFja0NvbnRyb2xzTWFuYWdlclRpbWluZyhtX3BsYXliYWNrU2Vzc2lvbk1vZGVsID8gbV9wbGF5
YmFja1Nlc3Npb25Nb2RlbC0+Y3VycmVudFRpbWUoKSA6IDAsIFtbTlNQcm9jZXNzSW5mbyBwcm9j
ZXNzSW5mb10gc3lzdGVtVXB0aW1lXSwgMCwgZmFsc2UpOwogI2VuZGlmCit9CisKK3ZvaWQgUGxh
eWJhY2tTZXNzaW9uSW50ZXJmYWNlTWFjOjpiZWdpblNjcnViYmluZygpCit7CisgICAgd2lsbEJl
Z2luU2NydWJiaW5nKCk7CiAgICAgaWYgKGF1dG8qIG1vZGVsID0gcGxheWJhY2tTZXNzaW9uTW9k
ZWwoKSkKICAgICAgICAgbW9kZWwtPmJlZ2luU2NydWJiaW5nKCk7CiB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvUmVtb3RlQ29tbWFuZExpc3RlbmVyTWFjLm1tIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1JlbW90ZUNvbW1hbmRMaXN0ZW5lck1hYy5tbQpp
bmRleCA1Nzc5ZDY5NTE1NGJmYmZiMzVhYTlmZGQwNGZlMjRhOWNlM2QzOGM3Li5lNWQyYjdmM2Mw
MDAwNjI3MzM5ODYxNTkyOWFhNDJjNzA5MzdmYjQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tYWMvUmVtb3RlQ29tbWFuZExpc3RlbmVyTWFjLm1tCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21hYy9SZW1vdGVDb21tYW5kTGlzdGVuZXJNYWMubW0KQEAgLTE4MSw3
ICsxODEsNyBAQCBSZW1vdGVDb21tYW5kTGlzdGVuZXJNYWM6OlJlbW90ZUNvbW1hbmRMaXN0ZW5l
ck1hYyhSZW1vdGVDb21tYW5kTGlzdGVuZXJDbGllbnQmCiAKICAgICAgICAgICAgIGRvdWJsZSBw
b3NpdGlvbiA9IDA7CiAgICAgICAgICAgICBDRk51bWJlckdldFZhbHVlKHBvc2l0aW9uUmVmLCBr
Q0ZOdW1iZXJEb3VibGVUeXBlLCAmcG9zaXRpb24pOwotICAgICAgICAgICAgYXJndW1lbnQgPSBw
b3NpdGlvbjsKKyAgICAgICAgICAgIGFyZ3VtZW50LnRpbWUgPSBwb3NpdGlvbjsKICAgICAgICAg
ICAgIHBsYXRmb3JtQ29tbWFuZCA9IFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpTZWVrVG9QbGF5YmFj
a1Bvc2l0aW9uQ29tbWFuZDsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CkBAIC0xOTUs
NyArMTk1LDcgQEAgUmVtb3RlQ29tbWFuZExpc3RlbmVyTWFjOjpSZW1vdGVDb21tYW5kTGlzdGVu
ZXJNYWMoUmVtb3RlQ29tbWFuZExpc3RlbmVyQ2xpZW50JgogICAgICAgICAgICAgaWYgKGF1dG8g
cG9zaXRpb25SZWYgPSBzdGF0aWNfY2FzdDxDRk51bWJlclJlZj4oQ0ZEaWN0aW9uYXJ5R2V0VmFs
dWUob3B0aW9ucywga01STWVkaWFSZW1vdGVPcHRpb25Ta2lwSW50ZXJ2YWwpKSkgewogICAgICAg
ICAgICAgICAgIGRvdWJsZSBwb3NpdGlvbiA9IDA7CiAgICAgICAgICAgICAgICAgQ0ZOdW1iZXJH
ZXRWYWx1ZShwb3NpdGlvblJlZiwga0NGTnVtYmVyRG91YmxlVHlwZSwgJnBvc2l0aW9uKTsKLSAg
ICAgICAgICAgICAgICBhcmd1bWVudCA9IHBvc2l0aW9uOworICAgICAgICAgICAgICAgIGFyZ3Vt
ZW50LnRpbWUgPSBwb3NpdGlvbjsKICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgcGxhdGZv
cm1Db21tYW5kID0gKGNvbW1hbmQgPT0gTVJNZWRpYVJlbW90ZUNvbW1hbmRTa2lwRm9yd2FyZCkg
PyBQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6U2tpcEZvcndhcmRDb21tYW5kIDogUGxhdGZvcm1NZWRp
YVNlc3Npb246OlNraXBCYWNrd2FyZENvbW1hbmQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tYWMvV2ViUGxheWJhY2tDb250cm9sc01hbmFnZXIuaCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21hYy9XZWJQbGF5YmFja0NvbnRyb2xzTWFuYWdlci5oCmluZGV4IGEzZGQ2
NDZmZWQxNWUwNzI0ZDJhN2EyOGQ3YTI3N2QzN2EwYTg0NTIuLjg5NmNjZWRmYWM5MDc2ZWZkOGVl
NmU1MzI2ZDBjN2I3N2Y1YTFmNDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21hYy9XZWJQbGF5YmFja0NvbnRyb2xzTWFuYWdlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21hYy9XZWJQbGF5YmFja0NvbnRyb2xzTWFuYWdlci5oCkBAIC0xLDUgKzEsNSBAQAog
LyoKLSAqIENvcHlyaWdodCAoQykgMjAxNi0yMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNi0yMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtNDUsMTcgKzQ1LDE2
IEBAIFdFQkNPUkVfRVhQT1JUCiAgICAgUmV0YWluUHRyPEFWVmFsdWVUaW1pbmc+IF90aW1pbmc7
CiAgICAgTlNUaW1lSW50ZXJ2YWwgX3NlZWtUb1RpbWU7CiAgICAgUmV0YWluUHRyPE5TQXJyYXk+
IF9zZWVrYWJsZVRpbWVSYW5nZXM7Ci0gICAgQk9PTCBfaGFzRW5hYmxlZEF1ZGlvOwotICAgIEJP
T0wgX2hhc0VuYWJsZWRWaWRlbzsKICAgICBSZXRhaW5QdHI8TlNBcnJheTxBVlRvdWNoQmFyTWVk
aWFTZWxlY3Rpb25PcHRpb24gKj4+IF9hdWRpb1RvdWNoQmFyTWVkaWFTZWxlY3Rpb25PcHRpb25z
OwogICAgIFJldGFpblB0cjxBVlRvdWNoQmFyTWVkaWFTZWxlY3Rpb25PcHRpb24+IF9jdXJyZW50
QXVkaW9Ub3VjaEJhck1lZGlhU2VsZWN0aW9uT3B0aW9uOwogICAgIFJldGFpblB0cjxOU0FycmF5
PEFWVG91Y2hCYXJNZWRpYVNlbGVjdGlvbk9wdGlvbiAqPj4gX2xlZ2libGVUb3VjaEJhck1lZGlh
U2VsZWN0aW9uT3B0aW9uczsKICAgICBSZXRhaW5QdHI8QVZUb3VjaEJhck1lZGlhU2VsZWN0aW9u
T3B0aW9uPiBfY3VycmVudExlZ2libGVUb3VjaEJhck1lZGlhU2VsZWN0aW9uT3B0aW9uOwotICAg
IEJPT0wgX3BsYXlpbmc7CisgICAgUmVmUHRyPFdlYkNvcmU6OlBsYXliYWNrU2Vzc2lvbkludGVy
ZmFjZU1hYz4gX3BsYXliYWNrU2Vzc2lvbkludGVyZmFjZU1hYzsKICAgICBmbG9hdCBfcmF0ZTsK
KyAgICBCT09MIF9wbGF5aW5nOworICAgIEJPT0wgX2hhc0VuYWJsZWRBdWRpbzsKKyAgICBCT09M
IF9oYXNFbmFibGVkVmlkZW87CiAgICAgQk9PTCBfY2FuVG9nZ2xlUGxheWJhY2s7Ci0KLSAgICBS
ZWZQdHI8V2ViQ29yZTo6UGxheWJhY2tTZXNzaW9uSW50ZXJmYWNlTWFjPiBfcGxheWJhY2tTZXNz
aW9uSW50ZXJmYWNlTWFjOwogfQogCiBAcHJvcGVydHkgKGFzc2lnbikgV2ViQ29yZTo6UGxheWJh
Y2tTZXNzaW9uSW50ZXJmYWNlTWFjKiBwbGF5YmFja1Nlc3Npb25JbnRlcmZhY2VNYWM7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvV2ViUGxheWJhY2tDb250cm9sc01h
bmFnZXIubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvV2ViUGxheWJhY2tDb250cm9s
c01hbmFnZXIubW0KaW5kZXggZjhhMzVhZmQyYTA0ZDYyY2UwNDQ1YzE3NDc3YjAyMmRmY2FlNDI2
OS4uODUyNWMwZmQxN2MyNDJjY2RmODcwNmZlNDVjMmMwNDVkNzBhZDRmMiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1dlYlBsYXliYWNrQ29udHJvbHNNYW5hZ2VyLm1t
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9XZWJQbGF5YmFja0NvbnRyb2xzTWFu
YWdlci5tbQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTYtMjAxOSBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYtMjAy
MSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiAKICAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCkBAIC05OCwxMCArOTgsMTEgQEAgdXNpbmcgV2ViQ29yZTo6UGxheWJhY2tTZXNz
aW9uSW50ZXJmYWNlTWFjOwogCiAtICh2b2lkKXNlZWtUb1RpbWU6KE5TVGltZUludGVydmFsKXRp
bWUgdG9sZXJhbmNlQmVmb3JlOihOU1RpbWVJbnRlcnZhbCl0b2xlcmFuY2VCZWZvcmUgdG9sZXJh
bmNlQWZ0ZXI6KE5TVGltZUludGVydmFsKXRvbGVyYW5jZUFmdGVyCiB7Ci0gICAgVU5VU0VEX1BB
UkFNKHRvbGVyYW5jZUJlZm9yZSk7Ci0gICAgVU5VU0VEX1BBUkFNKHRvbGVyYW5jZUFmdGVyKTsK
KyAgICBpZiAoIV9wbGF5YmFja1Nlc3Npb25JbnRlcmZhY2VNYWMpCisgICAgICAgIHJldHVybjsK
KwogICAgIGlmIChhdXRvKiBtb2RlbCA9IF9wbGF5YmFja1Nlc3Npb25JbnRlcmZhY2VNYWMtPnBs
YXliYWNrU2Vzc2lvbk1vZGVsKCkpCi0gICAgICAgIG1vZGVsLT5zZWVrVG9UaW1lKHRpbWUpOwor
ICAgICAgICBtb2RlbC0+c2VuZFJlbW90ZUNvbW1hbmQoV2ViQ29yZTo6UGxhdGZvcm1NZWRpYVNl
c3Npb246OlJlbW90ZUNvbnRyb2xDb21tYW5kVHlwZTo6U2Vla1RvUGxheWJhY2tQb3NpdGlvbkNv
bW1hbmQsIHsgdGltZSwgdG9sZXJhbmNlQmVmb3JlIHx8IHRvbGVyYW5jZUFmdGVyIH0pOwogfQog
CiAtICh2b2lkKWNhbmNlbFRodW1ibmFpbEFuZEF1ZGlvQW1wbGl0dWRlU2FtcGxlR2VuZXJhdGlv
bgpAQCAtMTMzLDEyICsxMzQsMjQgQEAgdXNpbmcgV2ViQ29yZTo6UGxheWJhY2tTZXNzaW9uSW50
ZXJmYWNlTWFjOwogCiAtICh2b2lkKWJlZ2luVG91Y2hCYXJTY3J1YmJpbmcKIHsKLSAgICBfcGxh
eWJhY2tTZXNzaW9uSW50ZXJmYWNlTWFjLT5iZWdpblNjcnViYmluZygpOworICAgIGlmICghX3Bs
YXliYWNrU2Vzc2lvbkludGVyZmFjZU1hYykKKyAgICAgICAgcmV0dXJuOworCisgICAgYXV0byog
bW9kZWwgPSBfcGxheWJhY2tTZXNzaW9uSW50ZXJmYWNlTWFjLT5wbGF5YmFja1Nlc3Npb25Nb2Rl
bCgpOworICAgIGlmICghbW9kZWwpCisgICAgICAgIHJldHVybjsKKyAgICAgICAgCisgICAgX3Bs
YXliYWNrU2Vzc2lvbkludGVyZmFjZU1hYy0+d2lsbEJlZ2luU2NydWJiaW5nKCk7CisgICAgbW9k
ZWwtPnNlbmRSZW1vdGVDb21tYW5kKFdlYkNvcmU6OlBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1v
dGVDb250cm9sQ29tbWFuZFR5cGU6OkJlZ2luU2NydWJiaW5nLCB7IH0pOwogfQogCiAtICh2b2lk
KWVuZFRvdWNoQmFyU2NydWJiaW5nCiB7Ci0gICAgX3BsYXliYWNrU2Vzc2lvbkludGVyZmFjZU1h
Yy0+ZW5kU2NydWJiaW5nKCk7CisgICAgaWYgKCFfcGxheWJhY2tTZXNzaW9uSW50ZXJmYWNlTWFj
KQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAoYXV0byogbW9kZWwgPSBfcGxheWJhY2tTZXNz
aW9uSW50ZXJmYWNlTWFjLT5wbGF5YmFja1Nlc3Npb25Nb2RlbCgpKQorICAgICAgICBtb2RlbC0+
c2VuZFJlbW90ZUNvbW1hbmQoV2ViQ29yZTo6UGxhdGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNv
bnRyb2xDb21tYW5kVHlwZTo6RW5kU2NydWJiaW5nLCB7IH0pOwogfQogCiAtIChOU0FycmF5PEFW
VG91Y2hCYXJNZWRpYVNlbGVjdGlvbk9wdGlvbiAqPiAqKWF1ZGlvVG91Y2hCYXJNZWRpYVNlbGVj
dGlvbk9wdGlvbnMKQEAgLTI4Miw4ICsyOTUsMTEgQEAgc3RhdGljIFJldGFpblB0cjxOU0FycmF5
PiBtZWRpYVNlbGVjdGlvbk9wdGlvbnMoY29uc3QgVmVjdG9yPE1lZGlhU2VsZWN0aW9uT3B0aW8K
IAogLSAodm9pZCl0b2dnbGVQbGF5YmFjawogewotICAgIGlmIChfcGxheWJhY2tTZXNzaW9uSW50
ZXJmYWNlTWFjICYmIF9wbGF5YmFja1Nlc3Npb25JbnRlcmZhY2VNYWMtPnBsYXliYWNrU2Vzc2lv
bk1vZGVsKCkpCi0gICAgICAgIF9wbGF5YmFja1Nlc3Npb25JbnRlcmZhY2VNYWMtPnBsYXliYWNr
U2Vzc2lvbk1vZGVsKCktPnRvZ2dsZVBsYXlTdGF0ZSgpOworICAgIGlmICghX3BsYXliYWNrU2Vz
c2lvbkludGVyZmFjZU1hYykKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKGF1dG8qIG1vZGVs
ID0gX3BsYXliYWNrU2Vzc2lvbkludGVyZmFjZU1hYy0+cGxheWJhY2tTZXNzaW9uTW9kZWwoKSkK
KyAgICAgICAgbW9kZWwtPnNlbmRSZW1vdGVDb21tYW5kKFdlYkNvcmU6OlBsYXRmb3JtTWVkaWFT
ZXNzaW9uOjpSZW1vdGVDb250cm9sQ29tbWFuZFR5cGU6OlRvZ2dsZVBsYXlQYXVzZUNvbW1hbmQs
IHsgfSk7CiB9CiAKIC0gKHZvaWQpc2V0UGxheWluZzooQk9PTClwbGF5aW5nCkBAIC0zMDAsOSAr
MzE2LDkgQEAgc3RhdGljIFJldGFpblB0cjxOU0FycmF5PiBtZWRpYVNlbGVjdGlvbk9wdGlvbnMo
Y29uc3QgVmVjdG9yPE1lZGlhU2VsZWN0aW9uT3B0aW8KICAgICBpZiAoYXV0byogbW9kZWwgPSBf
cGxheWJhY2tTZXNzaW9uSW50ZXJmYWNlTWFjLT5wbGF5YmFja1Nlc3Npb25Nb2RlbCgpKSB7CiAg
ICAgICAgIEJPT0wgaXNDdXJyZW50bHlQbGF5aW5nID0gbW9kZWwtPmlzUGxheWluZygpOwogICAg
ICAgICBpZiAoIWlzQ3VycmVudGx5UGxheWluZyAmJiBfcGxheWluZykKLSAgICAgICAgICAgIG1v
ZGVsLT5wbGF5KCk7CisgICAgICAgICAgICBtb2RlbC0+c2VuZFJlbW90ZUNvbW1hbmQoV2ViQ29y
ZTo6UGxhdGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbnRyb2xDb21tYW5kVHlwZTo6UGxheUNv
bW1hbmQsIHsgfSk7CiAgICAgICAgIGVsc2UgaWYgKGlzQ3VycmVudGx5UGxheWluZyAmJiAhX3Bs
YXlpbmcpCi0gICAgICAgICAgICBtb2RlbC0+cGF1c2UoKTsKKyAgICAgICAgICAgIG1vZGVsLT5z
ZW5kUmVtb3RlQ29tbWFuZChXZWJDb3JlOjpQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3RlQ29u
dHJvbENvbW1hbmRUeXBlOjpQYXVzZUNvbW1hbmQsIHsgfSk7CiAgICAgfQogfQogCkBAIC0zMTMs
OCArMzI5LDggQEAgc3RhdGljIFJldGFpblB0cjxOU0FycmF5PiBtZWRpYVNlbGVjdGlvbk9wdGlv
bnMoY29uc3QgVmVjdG9yPE1lZGlhU2VsZWN0aW9uT3B0aW8KIAogLSAodm9pZCl0b2dnbGVQaWN0
dXJlSW5QaWN0dXJlCiB7Ci0gICAgaWYgKF9wbGF5YmFja1Nlc3Npb25JbnRlcmZhY2VNYWMgJiYg
X3BsYXliYWNrU2Vzc2lvbkludGVyZmFjZU1hYy0+cGxheWJhY2tTZXNzaW9uTW9kZWwoKSkKLSAg
ICAgICAgX3BsYXliYWNrU2Vzc2lvbkludGVyZmFjZU1hYy0+cGxheWJhY2tTZXNzaW9uTW9kZWwo
KS0+dG9nZ2xlUGljdHVyZUluUGljdHVyZSgpOworICAgIGlmIChhdXRvKiBtb2RlbCA9IF9wbGF5
YmFja1Nlc3Npb25JbnRlcmZhY2VNYWMtPnBsYXliYWNrU2Vzc2lvbk1vZGVsKCkpCisgICAgICAg
IG1vZGVsLT50b2dnbGVQaWN0dXJlSW5QaWN0dXJlKCk7CiB9CiAKIElHTk9SRV9XQVJOSU5HU19F
TkQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAppbmRleCBmZjE5OTAwOTgyYmIyYmM2
ZTNiM2EzNDQxMjQ0MzI0NTA5YWEyN2M2Li42MWVhOWExNWJhOWNkMTkzM2Q4M2U1NTI3ZDk5N2U3
NDY2NWYyZTEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCkBAIC00MjgyLDcg
KzQyODIsNyBAQCB2b2lkIEludGVybmFsczo6c2V0TWVkaWFFbGVtZW50UmVzdHJpY3Rpb25zKEhU
TUxNZWRpYUVsZW1lbnQmIGVsZW1lbnQsIFN0cmluZ1ZpZQogRXhjZXB0aW9uT3I8dm9pZD4gSW50
ZXJuYWxzOjpwb3N0UmVtb3RlQ29udHJvbENvbW1hbmQoY29uc3QgU3RyaW5nJiBjb21tYW5kU3Ry
aW5nLCBmbG9hdCBhcmd1bWVudCkKIHsKICAgICBQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3Rl
Q29udHJvbENvbW1hbmRUeXBlIGNvbW1hbmQ7Ci0gICAgUGxhdGZvcm1NZWRpYVNlc3Npb246OlJl
bW90ZUNvbW1hbmRBcmd1bWVudCBwYXJhbWV0ZXIgeyBhcmd1bWVudCB9OworICAgIFBsYXRmb3Jt
TWVkaWFTZXNzaW9uOjpSZW1vdGVDb21tYW5kQXJndW1lbnQgcGFyYW1ldGVyIHsgYXJndW1lbnQs
IHsgfSB9OwogCiAgICAgaWYgKGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGNvbW1hbmRT
dHJpbmcsICJwbGF5IikpCiAgICAgICAgIGNvbW1hbmQgPSBQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6
UGxheUNvbW1hbmQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVQ29u
bmVjdGlvblRvV2ViUHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVQ29u
bmVjdGlvblRvV2ViUHJvY2Vzcy5jcHAKaW5kZXggNmI5NzI2MzBlMWM5MjI4YzEzODNjNDc3OTZj
YzFkYWI5NDA5N2MzNi4uZDU3N2U0MzQ5OWYxODE0NzkxYzhhMGVmNzFjYjM0YTAyNGExZmFlMiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlBy
b2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVDb25uZWN0aW9uVG9X
ZWJQcm9jZXNzLmNwcApAQCAtMzYxLDkgKzM2MSw5IEBAIHZvaWQgR1BVQ29ubmVjdGlvblRvV2Vi
UHJvY2Vzczo6c2V0Tm93UGxheWluZ0luZm8oYm9vbCBzZXRBc05vd1BsYXlpbmdBcHBsaWNhdGlv
CiAgICAgZ3B1UHJvY2VzcygpLm5vd1BsYXlpbmdNYW5hZ2VyKCkuc2V0Tm93UGxheWluZ0luZm8o
KnRoaXMsIFdURk1vdmUobm93UGxheWluZ0luZm8pKTsKIH0KIAotdm9pZCBHUFVDb25uZWN0aW9u
VG9XZWJQcm9jZXNzOjpkaWRSZWNlaXZlUmVtb3RlQ29udHJvbENvbW1hbmQoUGxhdGZvcm1NZWRp
YVNlc3Npb246OlJlbW90ZUNvbnRyb2xDb21tYW5kVHlwZSB0eXBlLCBPcHRpb25hbDxkb3VibGU+
IGFyZ3VtZW50KQordm9pZCBHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpkaWRSZWNlaXZlUmVt
b3RlQ29udHJvbENvbW1hbmQoUGxhdGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbnRyb2xDb21t
YW5kVHlwZSB0eXBlLCBjb25zdCBQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3RlQ29tbWFuZEFy
Z3VtZW50JiBhcmd1bWVudCkKIHsKLSAgICBjb25uZWN0aW9uKCkuc2VuZChNZXNzYWdlczo6R1BV
UHJvY2Vzc0Nvbm5lY3Rpb246OkRpZFJlY2VpdmVSZW1vdGVDb21tYW5kIHsgdHlwZSwgYXJndW1l
bnQgfSwgMCk7CisgICAgY29ubmVjdGlvbigpLnNlbmQoTWVzc2FnZXM6OkdQVVByb2Nlc3NDb25u
ZWN0aW9uOjpEaWRSZWNlaXZlUmVtb3RlQ29tbWFuZCh0eXBlLCBhcmd1bWVudCksIDApOwogfQog
CiAjaWYgVVNFKEFVRElPX1NFU1NJT04pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVBy
b2Nlc3MvR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5oIGIvU291cmNlL1dlYktpdC9HUFVQcm9j
ZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuaAppbmRleCBmNzZiN2E2Y2M5ZTU3ZGY1N2I2
MmFmZTZkYzk2NTg3YTQ1NmRhMDZjLi5lYmIwZDAwOGYzZDcxMjkyMTdiOGU5NmVmYTE5YmQ1MWZm
YWZhMTY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVQ29ubmVjdGlv
blRvV2ViUHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVDb25uZWN0
aW9uVG9XZWJQcm9jZXNzLmgKQEAgLTE3NSw3ICsxNzUsNyBAQCBwcml2YXRlOgogICAgIGJvb2wg
ZGlzcGF0Y2hTeW5jTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6OkRlY29kZXImLCBzdGQ6
OnVuaXF1ZV9wdHI8SVBDOjpFbmNvZGVyPiYpOwogCiAgICAgLy8gTm93UGxheWluZ01hbmFnZXI6
OkNsaWVudAotICAgIHZvaWQgZGlkUmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21tYW5kKFdlYkNvcmU6
OlBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb250cm9sQ29tbWFuZFR5cGUsIE9wdGlvbmFs
PGRvdWJsZT4pIGZpbmFsOworICAgIHZvaWQgZGlkUmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21tYW5k
KFdlYkNvcmU6OlBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb250cm9sQ29tbWFuZFR5cGUs
IGNvbnN0IFdlYkNvcmU6OlBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb21tYW5kQXJndW1l
bnQmKSBmaW5hbDsKIAogICAgIFJlZlB0cjxMb2dnZXI+IG1fbG9nZ2VyOwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9QbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJv
eHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1BsYXliYWNrU2Vzc2lvbk1hbmFn
ZXJQcm94eS5oCmluZGV4IGZhMWYyNWQ1YTdlZTViMTYyZWViYzEwMDQ3MDQ1NDU5YjljNDY5YmQu
LmM4MzVmZmE3YmJjMmVlZGQ5NGQxYzQ0YzMzZjA3MzdhYWM5YjFkYWIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1BsYXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94eS5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1BsYXliYWNrU2Vzc2lvbk1hbmFn
ZXJQcm94eS5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNi0yMDIw
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNi0y
MDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucwpAQCAtMTE4LDYgKzExOCw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBzZXRNdXRl
ZChib29sKSBmaW5hbDsKICAgICB2b2lkIHNldFZvbHVtZShkb3VibGUpIGZpbmFsOwogICAgIHZv
aWQgc2V0UGxheWluZ09uU2Vjb25kU2NyZWVuKGJvb2wpIGZpbmFsOworICAgIHZvaWQgc2VuZFJl
bW90ZUNvbW1hbmQoV2ViQ29yZTo6UGxhdGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbnRyb2xD
b21tYW5kVHlwZSwgY29uc3QgV2ViQ29yZTo6UGxhdGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNv
bW1hbmRBcmd1bWVudCYpIGZpbmFsOwogCiAgICAgZG91YmxlIHBsYXliYWNrU3RhcnRlZFRpbWUo
KSBjb25zdCBmaW5hbCB7IHJldHVybiBtX3BsYXliYWNrU3RhcnRlZFRpbWU7IH0KICAgICBkb3Vi
bGUgZHVyYXRpb24oKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX2R1cmF0aW9uOyB9CkBAIC0yNDAs
NiArMjQxLDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIHNldE11dGVkKFBsYXliYWNrU2Vzc2lvbkNv
bnRleHRJZGVudGlmaWVyLCBib29sKTsKICAgICB2b2lkIHNldFZvbHVtZShQbGF5YmFja1Nlc3Np
b25Db250ZXh0SWRlbnRpZmllciwgZG91YmxlKTsKICAgICB2b2lkIHNldFBsYXlpbmdPblNlY29u
ZFNjcmVlbihQbGF5YmFja1Nlc3Npb25Db250ZXh0SWRlbnRpZmllciwgYm9vbCk7CisgICAgdm9p
ZCBzZW5kUmVtb3RlQ29tbWFuZChQbGF5YmFja1Nlc3Npb25Db250ZXh0SWRlbnRpZmllciwgV2Vi
Q29yZTo6UGxhdGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbnRyb2xDb21tYW5kVHlwZSwgY29u
c3QgV2ViQ29yZTo6UGxhdGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbW1hbmRBcmd1bWVudCYp
OwogCiAgICAgV2ViUGFnZVByb3h5KiBtX3BhZ2U7CiAgICAgSGFzaE1hcDxQbGF5YmFja1Nlc3Np
b25Db250ZXh0SWRlbnRpZmllciwgTW9kZWxJbnRlcmZhY2VUdXBsZT4gbV9jb250ZXh0TWFwOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvUGxheWJhY2tTZXNzaW9u
TWFuYWdlclByb3h5Lm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvUGxheWJhY2tT
ZXNzaW9uTWFuYWdlclByb3h5Lm1tCmluZGV4IGJkMzQ1MjJjMDUxNThiMjU0MDE0Mzk4M2Y1Mjlk
ZmYzOTc2MDI5NjguLjlmMmQ3OThkMWEyMjA0YzJjMWZiMTc5MWJmZjI2ZDRkMWU0ZDgyNGEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1BsYXliYWNrU2Vzc2lvbk1h
bmFnZXJQcm94eS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9QbGF5YmFj
a1Nlc3Npb25NYW5hZ2VyUHJveHkubW0KQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0
IChDKSAyMDE2LTIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJp
Z2h0IChDKSAyMDE2LTIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC01MCw2ICs1MCwxMiBAQCB2b2lkIFBsYXliYWNr
U2Vzc2lvbk1vZGVsQ29udGV4dDo6cmVtb3ZlQ2xpZW50KFBsYXliYWNrU2Vzc2lvbk1vZGVsQ2xp
ZW50JiBjbGllbgogICAgIG1fY2xpZW50cy5yZW1vdmUoJmNsaWVudCk7CiB9CiAKK3ZvaWQgUGxh
eWJhY2tTZXNzaW9uTW9kZWxDb250ZXh0OjpzZW5kUmVtb3RlQ29tbWFuZChXZWJDb3JlOjpQbGF0
Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3RlQ29udHJvbENvbW1hbmRUeXBlIGNvbW1hbmQsIGNvbnN0
IFdlYkNvcmU6OlBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb21tYW5kQXJndW1lbnQmIGFy
Z3VtZW50KQoreworICAgIGlmIChtX21hbmFnZXIpCisgICAgICAgIG1fbWFuYWdlci0+c2VuZFJl
bW90ZUNvbW1hbmQobV9jb250ZXh0SWQsIGNvbW1hbmQsIGFyZ3VtZW50KTsKK30KKwogdm9pZCBQ
bGF5YmFja1Nlc3Npb25Nb2RlbENvbnRleHQ6OnBsYXkoKQogewogICAgIGlmIChtX21hbmFnZXIp
CkBAIC01ODAsNiArNTg2LDEyIEBAIHZvaWQgUGxheWJhY2tTZXNzaW9uTWFuYWdlclByb3h5Ojpz
ZXRQbGF5aW5nT25TZWNvbmRTY3JlZW4oUGxheWJhY2tTZXNzaW9uQ29udGV4CiAgICAgICAgIG1f
cGFnZS0+c2VuZChNZXNzYWdlczo6UGxheWJhY2tTZXNzaW9uTWFuYWdlcjo6U2V0UGxheWluZ09u
U2Vjb25kU2NyZWVuKGNvbnRleHRJZCwgdmFsdWUpKTsKIH0KIAordm9pZCBQbGF5YmFja1Nlc3Np
b25NYW5hZ2VyUHJveHk6OnNlbmRSZW1vdGVDb21tYW5kKFBsYXliYWNrU2Vzc2lvbkNvbnRleHRJ
ZGVudGlmaWVyIGNvbnRleHRJZCwgV2ViQ29yZTo6UGxhdGZvcm1NZWRpYVNlc3Npb246OlJlbW90
ZUNvbnRyb2xDb21tYW5kVHlwZSBjb21tYW5kLCBjb25zdCBXZWJDb3JlOjpQbGF0Zm9ybU1lZGlh
U2Vzc2lvbjo6UmVtb3RlQ29tbWFuZEFyZ3VtZW50JiBhcmd1bWVudCkKK3sKKyAgICBpZiAobV9w
YWdlKQorICAgICAgICBtX3BhZ2UtPnNlbmQoTWVzc2FnZXM6OlBsYXliYWNrU2Vzc2lvbk1hbmFn
ZXI6OlNlbmRSZW1vdGVDb21tYW5kKGNvbnRleHRJZCwgY29tbWFuZCwgYXJndW1lbnQpKTsKK30K
KwogYm9vbCBQbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHk6OndpcmVsZXNzVmlkZW9QbGF5YmFj
a0Rpc2FibGVkKCkKIHsKICAgICBhdXRvIGl0ID0gbV9jb250ZXh0TWFwLmZpbmQobV9jb250cm9s
c01hbmFnZXJDb250ZXh0SWQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L0dQVS9HUFVQcm9jZXNzQ29ubmVjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
R1BVL0dQVVByb2Nlc3NDb25uZWN0aW9uLmNwcAppbmRleCA0NDdhMjFhNGQ1ODE5YWM4ZmRjZWVk
MWU4MDg3Njk4NGEzODM3MTY0Li5jNTc2OWQ4ZmYwYWRlMjQzNDg2NDlhNjBiNDNkMjk5MjAxNWU3
N2JmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL0dQVVByb2Nlc3ND
b25uZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL0dQVVByb2Nl
c3NDb25uZWN0aW9uLmNwcApAQCAtMTg5LDcgKzE4OSw3IEBAIGJvb2wgR1BVUHJvY2Vzc0Nvbm5l
Y3Rpb246OmRpc3BhdGNoU3luY01lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBJ
UEM6CiAgICAgcmV0dXJuIG1lc3NhZ2VSZWNlaXZlck1hcCgpLmRpc3BhdGNoU3luY01lc3NhZ2Uo
Y29ubmVjdGlvbiwgZGVjb2RlciwgcmVwbHlFbmNvZGVyKTsKIH0KIAotdm9pZCBHUFVQcm9jZXNz
Q29ubmVjdGlvbjo6ZGlkUmVjZWl2ZVJlbW90ZUNvbW1hbmQoUGxhdGZvcm1NZWRpYVNlc3Npb246
OlJlbW90ZUNvbnRyb2xDb21tYW5kVHlwZSB0eXBlLCBPcHRpb25hbDxkb3VibGU+IGFyZ3VtZW50
KQordm9pZCBHUFVQcm9jZXNzQ29ubmVjdGlvbjo6ZGlkUmVjZWl2ZVJlbW90ZUNvbW1hbmQoUGxh
dGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbnRyb2xDb21tYW5kVHlwZSB0eXBlLCBjb25zdCBQ
bGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3RlQ29tbWFuZEFyZ3VtZW50JiBhcmd1bWVudCkKIHsK
ICAgICBQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI6OnNoYXJlZE1hbmFnZXIoKS5wcm9jZXNz
RGlkUmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21tYW5kKHR5cGUsIGFyZ3VtZW50KTsKIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc0Nvbm5lY3Rpb24u
aCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc0Nvbm5lY3Rpb24uaApp
bmRleCBiMGE0NTVhZGUzYzY3NGZjOWYzNDAzZmU2NDJhNGE1MjBjOTQwOTEyLi4wYjdiZjhhOTcx
ZjY2YWRhYjUxZGM3MzU1MWM4YTAxM2Q3MWU5NGZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvR1BVL0dQVVByb2Nlc3NDb25uZWN0aW9uLmgKKysrIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL0dQVS9HUFVQcm9jZXNzQ29ubmVjdGlvbi5oCkBAIC0xMDksNyArMTA5LDcg
QEAgcHJpdmF0ZToKICAgICBib29sIGRpc3BhdGNoTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJ
UEM6OkRlY29kZXImKTsKICAgICBib29sIGRpc3BhdGNoU3luY01lc3NhZ2UoSVBDOjpDb25uZWN0
aW9uJiwgSVBDOjpEZWNvZGVyJiwgc3RkOjp1bmlxdWVfcHRyPElQQzo6RW5jb2Rlcj4mKTsKIAot
ICAgIHZvaWQgZGlkUmVjZWl2ZVJlbW90ZUNvbW1hbmQoV2ViQ29yZTo6UGxhdGZvcm1NZWRpYVNl
c3Npb246OlJlbW90ZUNvbnRyb2xDb21tYW5kVHlwZSwgT3B0aW9uYWw8ZG91YmxlPik7CisgICAg
dm9pZCBkaWRSZWNlaXZlUmVtb3RlQ29tbWFuZChXZWJDb3JlOjpQbGF0Zm9ybU1lZGlhU2Vzc2lv
bjo6UmVtb3RlQ29udHJvbENvbW1hbmRUeXBlLCBjb25zdCBXZWJDb3JlOjpQbGF0Zm9ybU1lZGlh
U2Vzc2lvbjo6UmVtb3RlQ29tbWFuZEFyZ3VtZW50Jik7CiAKICAgICAvLyBUaGUgY29ubmVjdGlv
biBmcm9tIHRoZSB3ZWIgcHJvY2VzcyB0byB0aGUgR1BVIHByb2Nlc3MuCiAgICAgUmVmPElQQzo6
Q29ubmVjdGlvbj4gbV9jb25uZWN0aW9uOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL0dQVS9HUFVQcm9jZXNzQ29ubmVjdGlvbi5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc0Nvbm5lY3Rpb24ubWVzc2FnZXMuaW4KaW5kZXgg
MTgxZjNlZWI2MTk4NGZmM2MxYjYzZjU3YTRjOGVjOWJmYmM3ODVjNS4uODVhNmZjZDczN2M3NDlk
OWZmNDBkYjE4MDFhNjZkZGM4YmE0OTVkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL0dQVS9HUFVQcm9jZXNzQ29ubmVjdGlvbi5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvR1BVL0dQVVByb2Nlc3NDb25uZWN0aW9uLm1lc3NhZ2VzLmluCkBA
IC0yMyw3ICsyMyw3IEBACiAjaWYgRU5BQkxFKEdQVV9QUk9DRVNTKQogCiBtZXNzYWdlcyAtPiBH
UFVQcm9jZXNzQ29ubmVjdGlvbiBXYW50c0Rpc3BhdGNoTWVzc2FnZSB7Ci0gICAgRGlkUmVjZWl2
ZVJlbW90ZUNvbW1hbmQoZW51bTp1aW50OF90IFdlYkNvcmU6OlBsYXRmb3JtTWVkaWFTZXNzaW9u
OjpSZW1vdGVDb250cm9sQ29tbWFuZFR5cGUgdHlwZSwgT3B0aW9uYWw8ZG91YmxlPiBhcmd1bWVu
dCkKKyAgICBEaWRSZWNlaXZlUmVtb3RlQ29tbWFuZChlbnVtOnVpbnQ4X3QgV2ViQ29yZTo6UGxh
dGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbnRyb2xDb21tYW5kVHlwZSB0eXBlLCBzdHJ1Y3Qg
V2ViQ29yZTo6UGxhdGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbW1hbmRBcmd1bWVudCBhcmd1
bWVudCkKIH0KIAogI2VuZGlmIC8vIEVOQUJMRShHUFVfUFJPQ0VTUykKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlUmVtb3RlQ29tbWFuZExpc3Rl
bmVyLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1v
dGVSZW1vdGVDb21tYW5kTGlzdGVuZXIubWVzc2FnZXMuaW4KaW5kZXggYzk1YTBlMThiOWM2OTQ5
MGYzMmRhZDIzZmNiZTk3M2VjMTdlYWExYy4uNWUxMTk1MDg1NTNiY2Q0NTBjNDAwYzJkYWYxMjll
ZWU0MmFmM2Q1MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRp
YS9SZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXIubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXIubWVz
c2FnZXMuaW4KQEAgLTI2LDcgKzI2LDcgQEAKICNpZiBFTkFCTEUoR1BVX1BST0NFU1MpCiAKIG1l
c3NhZ2VzIC0+IFJlbW90ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lciBOb3RSZWZDb3VudGVkIHsKLSAg
ICBEaWRSZWNlaXZlUmVtb3RlQ29udHJvbENvbW1hbmQoZW51bTp1aW50OF90IFdlYkNvcmU6OlBs
YXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb250cm9sQ29tbWFuZFR5cGUgY29tbWFuZCwgT3B0
aW9uYWw8ZG91YmxlPiBhcmd1bWVudCkKKyAgICBEaWRSZWNlaXZlUmVtb3RlQ29udHJvbENvbW1h
bmQoZW51bTp1aW50OF90IFdlYkNvcmU6OlBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb250
cm9sQ29tbWFuZFR5cGUgY29tbWFuZCwgc3RydWN0IFdlYkNvcmU6OlBsYXRmb3JtTWVkaWFTZXNz
aW9uOjpSZW1vdGVDb21tYW5kQXJndW1lbnQgYXJndW1lbnQpCiB9CiAKICNlbmRpZgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1BsYXliYWNrU2Vzc2lvbk1hbmFn
ZXIuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9QbGF5YmFja1Nlc3Npb25NYW5h
Z2VyLmgKaW5kZXggMGM2YmQ3MTcyMDJiMTc4MmRjYjMyZjdkNjk2ODI0ODgzZTUyODRmZC4uYzdk
MGUyNDg2NTZlODJhNmYzYThmNjIyYjE0MjljZjIwNWI5Y2Y3ZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1BsYXliYWNrU2Vzc2lvbk1hbmFnZXIuaAorKysgYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvUGxheWJhY2tTZXNzaW9uTWFuYWdlci5oCkBA
IC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNi0yMDIwIEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNi0yMDIxIEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpA
QCAtMzIsNiArMzIsNyBAQAogI2luY2x1ZGUgPFdlYkNvcmUvRXZlbnRMaXN0ZW5lci5oPgogI2lu
Y2x1ZGUgPFdlYkNvcmUvSFRNTE1lZGlhRWxlbWVudEVudW1zLmg+CiAjaW5jbHVkZSA8V2ViQ29y
ZS9QbGF0Zm9ybUNBTGF5ZXIuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1BsYXRmb3JtTWVkaWFTZXNz
aW9uLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9QbGF5YmFja1Nlc3Npb25Nb2RlbE1lZGlhRWxlbWVu
dC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoQ291bnRlZFNldC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNo
TWFwLmg+CkBAIC0xNjEsNiArMTYyLDcgQEAgcHJvdGVjdGVkOgogICAgIHZvaWQgc2V0TXV0ZWQo
UGxheWJhY2tTZXNzaW9uQ29udGV4dElkZW50aWZpZXIsIGJvb2wgbXV0ZWQpOwogICAgIHZvaWQg
c2V0Vm9sdW1lKFBsYXliYWNrU2Vzc2lvbkNvbnRleHRJZGVudGlmaWVyLCBkb3VibGUgdm9sdW1l
KTsKICAgICB2b2lkIHNldFBsYXlpbmdPblNlY29uZFNjcmVlbihQbGF5YmFja1Nlc3Npb25Db250
ZXh0SWRlbnRpZmllciwgYm9vbCB2YWx1ZSk7CisgICAgdm9pZCBzZW5kUmVtb3RlQ29tbWFuZChQ
bGF5YmFja1Nlc3Npb25Db250ZXh0SWRlbnRpZmllciwgV2ViQ29yZTo6UGxhdGZvcm1NZWRpYVNl
c3Npb246OlJlbW90ZUNvbnRyb2xDb21tYW5kVHlwZSwgY29uc3QgV2ViQ29yZTo6UGxhdGZvcm1N
ZWRpYVNlc3Npb246OlJlbW90ZUNvbW1hbmRBcmd1bWVudCYpOwogCiAgICAgV2ViUGFnZSogbV9w
YWdlOwogICAgIEhhc2hNYXA8V2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudCosIFBsYXliYWNrU2Vz
c2lvbkNvbnRleHRJZGVudGlmaWVyPiBtX21lZGlhRWxlbWVudHM7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvUGxheWJhY2tTZXNzaW9uTWFuYWdlci5tZXNzYWdl
cy5pbiBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9QbGF5YmFja1Nlc3Npb25NYW5h
Z2VyLm1lc3NhZ2VzLmluCmluZGV4IDEyYzdiYWI1MDJiMDdiMGE3MzZlNjVlNmJiMTUzODdhOTRh
MTJlZDIuLjNkODJhMWZiNmVmOTRlY2Q4NTA2ODlhMTllNDg3ZjVjMTQ2YmNmMmYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9QbGF5YmFja1Nlc3Npb25NYW5hZ2Vy
Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9QbGF5YmFj
a1Nlc3Npb25NYW5hZ2VyLm1lc3NhZ2VzLmluCkBAIC0xLDQgKzEsNCBAQAotIyBDb3B5cmlnaHQg
KEMpIDIwMTYtMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjIENvcHlyaWdo
dCAoQykgMjAxNi0yMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICMKICMgUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CiAjIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtNDEsNSArNDEsNiBAQCBtZXNzYWdlcyAtPiBQbGF5YmFj
a1Nlc3Npb25NYW5hZ2VyIHsKICAgICBTZXRNdXRlZChXZWJLaXQ6OlBsYXliYWNrU2Vzc2lvbkNv
bnRleHRJZGVudGlmaWVyIGNvbnRleHRJZCwgYm9vbCBtdXRlZCkKICAgICBTZXRWb2x1bWUoV2Vi
S2l0OjpQbGF5YmFja1Nlc3Npb25Db250ZXh0SWRlbnRpZmllciBjb250ZXh0SWQsIGRvdWJsZSB2
b2x1bWUpCiAgICAgU2V0UGxheWluZ09uU2Vjb25kU2NyZWVuKFdlYktpdDo6UGxheWJhY2tTZXNz
aW9uQ29udGV4dElkZW50aWZpZXIgY29udGV4dElkLCBib29sIHZhbHVlKQorICAgIFNlbmRSZW1v
dGVDb21tYW5kKFdlYktpdDo6UGxheWJhY2tTZXNzaW9uQ29udGV4dElkZW50aWZpZXIgY29udGV4
dElkLCBlbnVtOnVpbnQ4X3QgV2ViQ29yZTo6UGxhdGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNv
bnRyb2xDb21tYW5kVHlwZSB0eXBlLCBzdHJ1Y3QgV2ViQ29yZTo6UGxhdGZvcm1NZWRpYVNlc3Np
b246OlJlbW90ZUNvbW1hbmRBcmd1bWVudCBhcmd1bWVudCkKIH0KICNlbmRpZgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1BsYXliYWNrU2Vzc2lvbk1hbmFnZXIu
bW0gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvUGxheWJhY2tTZXNzaW9uTWFuYWdl
ci5tbQppbmRleCA5MjBmYjk0YjVlZWY3ODMwZDFmMGI5ZjIxNGFmOWFiNjUzNzk0ODNmLi5hZTQ0
ZGVmYTkwNTMxZDQyOTVjZGI0ZmFlN2Q4MjE0MDU0OGFjMzU0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvUGxheWJhY2tTZXNzaW9uTWFuYWdlci5tbQorKysgYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvUGxheWJhY2tTZXNzaW9uTWFuYWdlci5tbQpA
QCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTYtMjAyMCBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYtMjAyMSBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
QEAgLTUxOCw2ICs1MTgsMTIgQEAgdm9pZCBQbGF5YmFja1Nlc3Npb25NYW5hZ2VyOjpzZXRQbGF5
aW5nT25TZWNvbmRTY3JlZW4oUGxheWJhY2tTZXNzaW9uQ29udGV4dElkZW4KICAgICBlbnN1cmVN
b2RlbChjb250ZXh0SWQpLnNldFBsYXlpbmdPblNlY29uZFNjcmVlbih2YWx1ZSk7CiB9CiAKK3Zv
aWQgUGxheWJhY2tTZXNzaW9uTWFuYWdlcjo6c2VuZFJlbW90ZUNvbW1hbmQoUGxheWJhY2tTZXNz
aW9uQ29udGV4dElkZW50aWZpZXIgY29udGV4dElkLCBXZWJDb3JlOjpQbGF0Zm9ybU1lZGlhU2Vz
c2lvbjo6UmVtb3RlQ29udHJvbENvbW1hbmRUeXBlIGNvbW1hbmQsIGNvbnN0IFdlYkNvcmU6OlBs
YXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb21tYW5kQXJndW1lbnQmIGFyZ3VtZW50KQorewor
ICAgIFVzZXJHZXN0dXJlSW5kaWNhdG9yIGluZGljYXRvcihQcm9jZXNzaW5nVXNlckdlc3R1cmUp
OworICAgIGVuc3VyZU1vZGVsKGNvbnRleHRJZCkuc2VuZFJlbW90ZUNvbW1hbmQoY29tbWFuZCwg
YXJndW1lbnQpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAogI2VuZGlmIC8vIFBMQVRG
T1JNKElPU19GQU1JTFkpIHx8IChQTEFURk9STShNQUMpICYmIEVOQUJMRShWSURFT19QUkVTRU5U
QVRJT05fTU9ERSkpCg==
</data>
<flag name="commit-queue"
          id="438867"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>420371</attachid>
            <date>2021-02-15 14:20:25 -0800</date>
            <delta_ts>2021-02-15 16:18:56 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-221921-20210215142024.patch</filename>
            <type>text/plain</type>
            <size>43654</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcyODcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTNiNDEyOTM1NjBiZGNm
OTRlNWRiNTljMDE5ZDM3YjVhM2YxZTIxZi4uY2M2MzkzNDYxOGNlNTJkYzQyZWZiMTczODdhMzlm
N2VkZDU3MDQyZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY0IEBACisyMDIxLTAyLTE1ICBFcmlj
IENhcmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgorCisgICAgICAgIFttYWNPU10gQ29u
bmVjdCBUb3VjaCBCYXIgdG8gTWVkaWFTZXNzaW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjE5MjEKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzc0
MzYzMzExPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFRoZXNlIGNoYW5nZXMgY2FuIG9ubHkgYmUgdGVzdGVkIG1hbnVhbGx5LgorCisgICAgICAgICog
aHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVs
ZW1lbnQ6OmRpZFJlY2VpdmVSZW1vdGVDb250cm9sQ29tbWFuZCk6IFBsYXRmb3JtTWVkaWFTZXNz
aW9uOjpSZW1vdGVDb21tYW5kQXJndW1lbnQKKyAgICAgICAgaXMgYSBzdHJ1Y3QuCisKKyAgICAg
ICAgKiBodG1sL01lZGlhRWxlbWVudFNlc3Npb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVk
aWFFbGVtZW50U2Vzc2lvbjo6ZGlkUmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21tYW5kKTogRGl0dG8u
IFRyYWNrIEJlZ2luU2NydWJiaW5nCisgICAgICAgIGFuZCBFbmRTY3J1YmJpbmcgc28gd2Uga25v
dyB3aGVuIHRvIHNldCB0aGUgJ2Zhc3RTZWVrJyBmbGFnIHdoZW4gc2VuZGluZyBhIFNlZWtUbyBj
b21tYW5kLgorICAgICAgICAqIGh0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5oOgorCisgICAgICAg
ICogcGxhdGZvcm0vTm93UGxheWluZ01hbmFnZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRp
by9QbGF0Zm9ybU1lZGlhU2Vzc2lvbi5jcHA6IFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVD
b21tYW5kQXJndW1lbnQKKyAgICAgICAgaXMgYSBzdHJ1Y3QuCisgICAgICAgIChXZWJDb3JlOjpj
b252ZXJ0RW51bWVyYXRpb25Ub1N0cmluZyk6CisKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9Q
bGF0Zm9ybU1lZGlhU2Vzc2lvbi5oOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1NZWRpYVNl
c3Npb246OlJlbW90ZUNvbW1hbmRBcmd1bWVudDo6ZW5jb2RlIGNvbnN0KToKKyAgICAgICAgKFdl
YkNvcmU6OlBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb21tYW5kQXJndW1lbnQ6OmRlY29k
ZSk6CisKKyAgICAgICAgKiBwbGF0Zm9ybS9jb2NvYS9QbGF5YmFja1Nlc3Npb25Nb2RlbC5oOgor
ICAgICAgICAoV2ViQ29yZTo6UGxheWJhY2tTZXNzaW9uTW9kZWw6OnNlbmRSZW1vdGVDb21tYW5k
KTogRGl0dG8uCisKKyAgICAgICAgKiBwbGF0Zm9ybS9jb2NvYS9QbGF5YmFja1Nlc3Npb25Nb2Rl
bE1lZGlhRWxlbWVudC5oOgorICAgICAgICAqIHBsYXRmb3JtL2NvY29hL1BsYXliYWNrU2Vzc2lv
bk1vZGVsTWVkaWFFbGVtZW50Lm1tOgorICAgICAgICAoV2ViQ29yZTo6UGxheWJhY2tTZXNzaW9u
TW9kZWxNZWRpYUVsZW1lbnQ6OnNlbmRSZW1vdGVDb21tYW5kKTogRGl0dG8uCisKKyAgICAgICAg
KiBwbGF0Zm9ybS9pb3MvUmVtb3RlQ29tbWFuZExpc3RlbmVySU9TLm1tOgorICAgICAgICAoV2Vi
Q29yZTo6UmVtb3RlQ29tbWFuZExpc3RlbmVySU9TOjpSZW1vdGVDb21tYW5kTGlzdGVuZXJJT1Mp
OiBEaXR0by4KKworICAgICAgICAqIHBsYXRmb3JtL21hYy9QbGF5YmFja1Nlc3Npb25JbnRlcmZh
Y2VNYWMuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvUGxheWJhY2tTZXNzaW9uSW50ZXJmYWNl
TWFjLm1tOgorICAgICAgICAoV2ViQ29yZTo6UGxheWJhY2tTZXNzaW9uSW50ZXJmYWNlTWFjOjp3
aWxsQmVnaW5TY3J1YmJpbmcpOiBQdWxsIHRoZSBsb2dpYyB0byB1cGRhdGUKKyAgICAgICAgY29u
dHJvbHMgbWFuYWdlciB0aW1pbmcgb3V0IG9mIGJlZ2luU2NydWJiaW5nIHNvIGl0IGNhbiBiZSB1
c2VkIGZyb20gV2ViUGxheWJhY2tDb250cm9sc01hbmFnZXIuCisgICAgICAgIChXZWJDb3JlOjpQ
bGF5YmFja1Nlc3Npb25JbnRlcmZhY2VNYWM6OmJlZ2luU2NydWJiaW5nKToKKworICAgICAgICAq
IHBsYXRmb3JtL21hYy9SZW1vdGVDb21tYW5kTGlzdGVuZXJNYWMubW06CisgICAgICAgIChXZWJD
b3JlOjpSZW1vdGVDb21tYW5kTGlzdGVuZXJNYWM6OlJlbW90ZUNvbW1hbmRMaXN0ZW5lck1hYyk6
IFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb21tYW5kQXJndW1lbnQKKyAgICAgICAgaXMg
YSBzdHJ1Y3QuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvV2ViUGxheWJhY2tDb250cm9sc01h
bmFnZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvV2ViUGxheWJhY2tDb250cm9sc01hbmFn
ZXIubW06CisgICAgICAgICgtW1dlYlBsYXliYWNrQ29udHJvbHNNYW5hZ2VyIHNlZWtUb1RpbWU6
dG9sZXJhbmNlQmVmb3JlOnRvbGVyYW5jZUFmdGVyOl0pOiBDYWxsCisgICAgICAgIHNlbmRSZW1v
dGVDb21tYW5kLgorICAgICAgICAoLVtXZWJQbGF5YmFja0NvbnRyb2xzTWFuYWdlciBiZWdpblRv
dWNoQmFyU2NydWJiaW5nXSk6IERpdHRvLgorICAgICAgICAoLVtXZWJQbGF5YmFja0NvbnRyb2xz
TWFuYWdlciBlbmRUb3VjaEJhclNjcnViYmluZ10pOiBEaXR0by4KKyAgICAgICAgKC1bV2ViUGxh
eWJhY2tDb250cm9sc01hbmFnZXIgdG9nZ2xlUGxheWJhY2tdKTogRGl0dG8uCisgICAgICAgICgt
W1dlYlBsYXliYWNrQ29udHJvbHNNYW5hZ2VyIHNldFBsYXlpbmc6XSk6IERpdHRvLgorICAgICAg
ICAoLVtXZWJQbGF5YmFja0NvbnRyb2xzTWFuYWdlciB0b2dnbGVQaWN0dXJlSW5QaWN0dXJlXSk6
IERpdHRvLgorCisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6SW50ZXJuYWxzOjpwb3N0UmVtb3RlQ29udHJvbENvbW1hbmQpOiBEaXR0by4KKwogMjAy
MS0wMi0xNSAgU2FpZCBBYm91LUhhbGxhd2EgIDxzYWlkQGFwcGxlLmNvbT4KIAogICAgICAgICBb
R1BVIFByb2Nlc3NdIChSRUdSRVNTSU9OIHIyNzI3NzYpOiBJbmNvcnJlY3Qgb3JkZXIgZm9yIGRl
Y29kaW5nIHRoZSBQYXR0ZXJuIHJlcGVhdCBwcm9wZXJ0aWVzCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDRkZDZmZjFk
MmRmY2VjYjc0MGY2YjJiYjhiNWQ3NzYyZTRiNTM5YzkuLmU3OTljZTRmMTgxMjRiZTg3MWIyYjkz
YWNlZmViZjhlNzg2YzBmMWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisr
KyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjkgQEAKKzIwMjEtMDItMTUg
IEVyaWMgQ2FybHNvbiAgPGVyaWMuY2FybHNvbkBhcHBsZS5jb20+CisKKyAgICAgICAgW21hY09T
XSBDb25uZWN0IFRvdWNoIEJhciB0byBNZWRpYVNlc3Npb24KKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMTkyMQorICAgICAgICA8cmRhcjovL3Byb2Js
ZW0vNzQzNjMzMTE+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBHUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpkaWRSZWNlaXZlUmVtb3RlQ29u
dHJvbENvbW1hbmQpOiAgUGxhdGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbW1hbmRBcmd1bWVu
dAorICAgICAgICBpcyBhIHN0cnVjdC4KKyAgICAgICAgKiBHUFVQcm9jZXNzL0dQVUNvbm5lY3Rp
b25Ub1dlYlByb2Nlc3MuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvUGxheWJhY2tTZXNz
aW9uTWFuYWdlclByb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1BsYXliYWNrU2Vz
c2lvbk1hbmFnZXJQcm94eS5tbToKKyAgICAgICAgKFdlYktpdDo6UGxheWJhY2tTZXNzaW9uTW9k
ZWxDb250ZXh0OjpzZW5kUmVtb3RlQ29tbWFuZCk6IAorICAgICAgICAoV2ViS2l0OjpQbGF5YmFj
a1Nlc3Npb25NYW5hZ2VyUHJveHk6OnNlbmRSZW1vdGVDb21tYW5kKToKKyAgICAgICAgKiBXZWJQ
cm9jZXNzL0dQVS9HUFVQcm9jZXNzQ29ubmVjdGlvbi5jcHA6CisgICAgICAgIChXZWJLaXQ6OkdQ
VVByb2Nlc3NDb25uZWN0aW9uOjpkaWRSZWNlaXZlUmVtb3RlQ29tbWFuZCk6CisgICAgICAgICog
V2ViUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc0Nvbm5lY3Rpb24uaDoKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL0dQVS9HUFVQcm9jZXNzQ29ubmVjdGlvbi5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBXZWJQ
cm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXIubWVzc2FnZXMuaW46
CisgICAgICAgICogV2ViUHJvY2Vzcy9jb2NvYS9QbGF5YmFja1Nlc3Npb25NYW5hZ2VyLmg6Cisg
ICAgICAgICogV2ViUHJvY2Vzcy9jb2NvYS9QbGF5YmFja1Nlc3Npb25NYW5hZ2VyLm1lc3NhZ2Vz
LmluOgorICAgICAgICAqIFdlYlByb2Nlc3MvY29jb2EvUGxheWJhY2tTZXNzaW9uTWFuYWdlci5t
bToKKyAgICAgICAgKFdlYktpdDo6UGxheWJhY2tTZXNzaW9uTWFuYWdlcjo6c2VuZFJlbW90ZUNv
bW1hbmQpOgorCiAyMDIxLTAyLTE1ICBGdWppaSBIaXJvbm9yaSAgPEhpcm9ub3JpLkZ1amlpQHNv
bnkuY29tPgogCiAgICAgICAgIFBhZ2Ugc2Nyb2xsaW5nIGJ5IHdoZWVsIGV2ZW50cyBkb2Vzbid0
IHdvcmsgaW4gbm9uLUFDIG1vZGUgcGFnZXMgaWYgSGFyZHdhcmUgQWNjZWxlcmF0aW9uIFBvbGlj
eSBpcyBjaGFuZ2VkIGR5bmFtaWNhbGx5IGZyb20gImFsd2F5cyIgdG8gIm5ldmVyIgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKaW5kZXggNDkwN2I4MDhhMTQxNzIyODcz
ZDM0MjNmMGNiOWY3NThlNDJjNDU2Yy4uZWIxNTFhNjk3M2E5NzljYTQ2NWM5ZDQ0Mzc1MTU3YjE3
NzcyY2YwNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCkBAIC03
NTE3LDcgKzc1MTcsNyBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OmRpZFJlY2VpdmVSZW1vdGVD
b250cm9sQ29tbWFuZChQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtbwogICAgIEFMV0FZU19MT0co
TE9HSURFTlRJRklFUiwgY29tbWFuZCk7CiAKICAgICBVc2VyR2VzdHVyZUluZGljYXRvciByZW1v
dGVDb250cm9sVXNlckdlc3R1cmUoUHJvY2Vzc2luZ1VzZXJHZXN0dXJlLCAmZG9jdW1lbnQoKSk7
Ci0gICAgZG91YmxlIG9mZnNldCA9IDE1OworICAgIGNvbnN0IGRvdWJsZSBkZWZhdWx0U2tpcEFt
b3VudCA9IDE1OwogICAgIHN3aXRjaCAoY29tbWFuZCkgewogICAgIGNhc2UgUGxhdGZvcm1NZWRp
YVNlc3Npb246OlBsYXlDb21tYW5kOgogICAgICAgICBwbGF5KCk7CkBAIC03NTQwLDE5ICs3NTQw
LDE1IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6ZGlkUmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21t
YW5kKFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vCiAgICAgICAgIGVuZFNjYW5uaW5nKCk7CiAg
ICAgICAgIGJyZWFrOwogICAgIGNhc2UgUGxhdGZvcm1NZWRpYVNlc3Npb246OlNraXBGb3J3YXJk
Q29tbWFuZDoKLSAgICAgICAgaWYgKGFyZ3VtZW50KQotICAgICAgICAgICAgb2Zmc2V0ID0gKmFy
Z3VtZW50OwotICAgICAgICBoYW5kbGVTZWVrVG9QbGF5YmFja1Bvc2l0aW9uKG9mZnNldCk7Cisg
ICAgICAgIGhhbmRsZVNlZWtUb1BsYXliYWNrUG9zaXRpb24oYXJndW1lbnQudGltZSA/IGFyZ3Vt
ZW50LnRpbWUudmFsdWUoKSA6IGRlZmF1bHRTa2lwQW1vdW50KTsKICAgICAgICAgYnJlYWs7CiAg
ICAgY2FzZSBQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6U2tpcEJhY2t3YXJkQ29tbWFuZDoKLSAgICAg
ICAgaWYgKGFyZ3VtZW50KQotICAgICAgICAgICAgb2Zmc2V0ID0gKmFyZ3VtZW50OwotICAgICAg
ICBoYW5kbGVTZWVrVG9QbGF5YmFja1Bvc2l0aW9uKDAgLSBvZmZzZXQpOworICAgICAgICBoYW5k
bGVTZWVrVG9QbGF5YmFja1Bvc2l0aW9uKDAgLSAoYXJndW1lbnQudGltZSA/IGFyZ3VtZW50LnRp
bWUudmFsdWUoKSA6IGRlZmF1bHRTa2lwQW1vdW50KSk7CiAgICAgICAgIGJyZWFrOwogICAgIGNh
c2UgUGxhdGZvcm1NZWRpYVNlc3Npb246OlNlZWtUb1BsYXliYWNrUG9zaXRpb25Db21tYW5kOgot
ICAgICAgICBBU1NFUlQoYXJndW1lbnQpOwotICAgICAgICBpZiAoYXJndW1lbnQpCi0gICAgICAg
ICAgICBoYW5kbGVTZWVrVG9QbGF5YmFja1Bvc2l0aW9uKCphcmd1bWVudCk7CisgICAgICAgIEFT
U0VSVChhcmd1bWVudC50aW1lKTsKKyAgICAgICAgaWYgKGFyZ3VtZW50LnRpbWUpCisgICAgICAg
ICAgICBoYW5kbGVTZWVrVG9QbGF5YmFja1Bvc2l0aW9uKGFyZ3VtZW50LnRpbWUudmFsdWUoKSk7
CiAgICAgICAgIGJyZWFrOwogICAgIGRlZmF1bHQ6CiAgICAgICAgIHsgfSAvLyBEbyBub3RoaW5n
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRWxlbWVudFNlc3Npb24uY3Bw
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmNwcAppbmRleCBmNThj
ZGNkOGE4NTY0YzEwNzU0MTExZGE5Y2Y3ZGYzMzk3OTEyOGJmLi4wNzNlNDYyYWE4MmYxNzM0YTEx
MGIwZDU5MWIwMGMyYjNiMDM3ZTA4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL01l
ZGlhRWxlbWVudFNlc3Npb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbGVt
ZW50U2Vzc2lvbi5jcHAKQEAgLTEwNTEsMjEgKzEwNTEsMjggQEAgdm9pZCBNZWRpYUVsZW1lbnRT
ZXNzaW9uOjpkaWRSZWNlaXZlUmVtb3RlQ29udHJvbENvbW1hbmQoUmVtb3RlQ29udHJvbENvbW1h
bmRUeXAKICAgICBjYXNlIFRvZ2dsZVBsYXlQYXVzZUNvbW1hbmQ6CiAgICAgICAgIGFjdGlvbkRl
dGFpbHMuYWN0aW9uID0gbV9lbGVtZW50LnBhdXNlZCgpID8gTWVkaWFTZXNzaW9uQWN0aW9uOjpQ
bGF5IDogTWVkaWFTZXNzaW9uQWN0aW9uOjpQYXVzZTsKICAgICAgICAgYnJlYWs7CisgICAgY2Fz
ZSBCZWdpblNjcnViYmluZzoKKyAgICAgICAgbV9pc1NjcnViYmluZyA9IHRydWU7CisgICAgICAg
IHJldHVybjsKKyAgICBjYXNlIEVuZFNjcnViYmluZzoKKyAgICAgICAgbV9pc1NjcnViYmluZyA9
IGZhbHNlOworICAgICAgICByZXR1cm47CiAgICAgY2FzZSBTZWVrVG9QbGF5YmFja1Bvc2l0aW9u
Q29tbWFuZDoKLSAgICAgICAgQVNTRVJUKGFyZ3VtZW50KTsKLSAgICAgICAgaWYgKCFhcmd1bWVu
dCkKKyAgICAgICAgQVNTRVJUKGFyZ3VtZW50LnRpbWUpOworICAgICAgICBpZiAoIWFyZ3VtZW50
LnRpbWUpCiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIGFjdGlvbkRldGFpbHMuYWN0aW9u
ID0gTWVkaWFTZXNzaW9uQWN0aW9uOjpTZWVrdG87Ci0gICAgICAgIGFjdGlvbkRldGFpbHMuc2Vl
a1RpbWUgPSAqYXJndW1lbnQ7CisgICAgICAgIGFjdGlvbkRldGFpbHMuc2Vla1RpbWUgPSBhcmd1
bWVudC50aW1lLnZhbHVlKCk7CisgICAgICAgIGFjdGlvbkRldGFpbHMuZmFzdFNlZWsgPSBtX2lz
U2NydWJiaW5nOwogICAgICAgICBicmVhazsKICAgICBjYXNlIFNraXBGb3J3YXJkQ29tbWFuZDoK
LSAgICAgICAgaWYgKGFyZ3VtZW50KQotICAgICAgICAgICAgYWN0aW9uRGV0YWlscy5zZWVrT2Zm
c2V0ID0gKmFyZ3VtZW50OworICAgICAgICBpZiAoYXJndW1lbnQudGltZSkKKyAgICAgICAgICAg
IGFjdGlvbkRldGFpbHMuc2Vla09mZnNldCA9IGFyZ3VtZW50LnRpbWUudmFsdWUoKTsKICAgICAg
ICAgYWN0aW9uRGV0YWlscy5hY3Rpb24gPSBNZWRpYVNlc3Npb25BY3Rpb246OlNlZWtmb3J3YXJk
OwogICAgICAgICBicmVhazsKICAgICBjYXNlIFNraXBCYWNrd2FyZENvbW1hbmQ6Ci0gICAgICAg
IGlmIChhcmd1bWVudCkKLSAgICAgICAgICAgIGFjdGlvbkRldGFpbHMuc2Vla09mZnNldCA9ICph
cmd1bWVudDsKKyAgICAgICAgaWYgKGFyZ3VtZW50LnRpbWUpCisgICAgICAgICAgICBhY3Rpb25E
ZXRhaWxzLnNlZWtPZmZzZXQgPSBhcmd1bWVudC50aW1lLnZhbHVlKCk7CiAgICAgICAgIGFjdGlv
bkRldGFpbHMuYWN0aW9uID0gTWVkaWFTZXNzaW9uQWN0aW9uOjpTZWVrYmFja3dhcmQ7CiAgICAg
ICAgIGJyZWFrOwogICAgIGNhc2UgTmV4dFRyYWNrQ29tbWFuZDoKQEAgLTEwNzksNyArMTA4Niw3
IEBAIHZvaWQgTWVkaWFFbGVtZW50U2Vzc2lvbjo6ZGlkUmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21t
YW5kKFJlbW90ZUNvbnRyb2xDb21tYW5kVHlwCiAgICAgY2FzZSBCZWdpblNlZWtpbmdGb3J3YXJk
Q29tbWFuZDoKICAgICBjYXNlIEVuZFNlZWtpbmdGb3J3YXJkQ29tbWFuZDoKICAgICAgICAgQVNT
RVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgICAgIGJyZWFrOworICAgICAgICByZXR1cm47CiAgICAg
fQogICAgIAogICAgIGlmIChhdXRvIGhhbmRsZXIgPSBzZXNzaW9uLT5oYW5kbGVyRm9yQWN0aW9u
KGFjdGlvbkRldGFpbHMuYWN0aW9uKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
TWVkaWFFbGVtZW50U2Vzc2lvbi5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVsZW1lbnRT
ZXNzaW9uLmgKaW5kZXggN2NiZjdhMzMxNDFjNDI1MjIxODRmMDAxNjM4YWFhN2NkYzBlZTZhYy4u
NTNiZWU1YTI2ZmEyYjRmMjYxNWNjMzk2ZGVmNWU5NTIzZTM3NmJmZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmgKQEAgLTE3NSw3ICsxNzUsNyBAQCBwdWJsaWM6
CiAjZW5kaWYKIAogI2lmIEVOQUJMRShNRURJQV9TRVNTSU9OKQotICAgIHZvaWQgZGlkUmVjZWl2
ZVJlbW90ZUNvbnRyb2xDb21tYW5kKFJlbW90ZUNvbnRyb2xDb21tYW5kVHlwZSwgY29uc3QgUmVt
b3RlQ29tbWFuZEFyZ3VtZW50JiA9IFdURjo6bnVsbG9wdCkgZmluYWw7CisgICAgdm9pZCBkaWRS
ZWNlaXZlUmVtb3RlQ29udHJvbENvbW1hbmQoUmVtb3RlQ29udHJvbENvbW1hbmRUeXBlLCBjb25z
dCBSZW1vdGVDb21tYW5kQXJndW1lbnQmKSBmaW5hbDsKICNlbmRpZgogCiBwcml2YXRlOgpAQCAt
MjMyLDYgKzIzMiwxMCBAQCBwcml2YXRlOgogI2lmIEVOQUJMRShNRURJQV9VU0FHRSkKICAgICBi
b29sIG1faGF2ZUFkZGVkTWVkaWFVc2FnZU1hbmFnZXJTZXNzaW9uIHsgZmFsc2UgfTsKICNlbmRp
ZgorICAgIAorI2lmIEVOQUJMRShNRURJQV9TRVNTSU9OKQorICAgIGJvb2wgbV9pc1NjcnViYmlu
ZyB7IGZhbHNlIH07CisjZW5kaWYKIH07CiAKIFN0cmluZyBjb252ZXJ0RW51bWVyYXRpb25Ub1N0
cmluZyhjb25zdCBNZWRpYVBsYXliYWNrRGVuaWFsUmVhc29uKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL05vd1BsYXlpbmdNYW5hZ2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9Ob3dQbGF5aW5nTWFuYWdlci5oCmluZGV4IDFiNjc4YzgyMDZmNWQwYWY5ZDdmNzc4
NGEyZWM5NDNhYmZhMDAxM2QuLmZhMTY2NDI4MjQ1MmYwZWQwOWM2Yzg3NzVmNmE4NjUyNDlkYmFk
MzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL05vd1BsYXlpbmdNYW5hZ2Vy
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTm93UGxheWluZ01hbmFnZXIuaApAQCAt
NDUsNyArNDUsNyBAQCBwdWJsaWM6CiAgICAgY2xhc3MgQ2xpZW50IDogcHVibGljIENhbk1ha2VX
ZWFrUHRyPENsaWVudD4gewogICAgIHB1YmxpYzoKICAgICAgICAgdmlydHVhbCB+Q2xpZW50KCkg
PSBkZWZhdWx0OwotICAgICAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZVJlbW90ZUNvbnRyb2xD
b21tYW5kKFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb250cm9sQ29tbWFuZFR5cGUsIE9w
dGlvbmFsPGRvdWJsZT4pID0gMDsKKyAgICAgICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVSZW1v
dGVDb250cm9sQ29tbWFuZChQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3RlQ29udHJvbENvbW1h
bmRUeXBlLCBjb25zdCBQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3RlQ29tbWFuZEFyZ3VtZW50
JikgPSAwOwogICAgIH07CiAKICAgICB2b2lkIGNsZWFyTm93UGxheWluZ0luZm9DbGllbnQoQ2xp
ZW50Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9y
bU1lZGlhU2Vzc2lvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9y
bU1lZGlhU2Vzc2lvbi5jcHAKaW5kZXggNjI3YTFlMGY1NGJjZWNlMGUyMGI2N2IwNWExOTgzOGU5
NzhmZDkxYy4uNDk1ODZhZGZjNzEzMjhkN2JkOWExNjQzODA5MWY0NWIyYTVmMWJmYSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb24u
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNz
aW9uLmNwcApAQCAtOTcsNiArOTcsOCBAQCBTdHJpbmcgY29udmVydEVudW1lcmF0aW9uVG9TdHJp
bmcoUGxhdGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbnRyb2xDb21tYW5kVHlwZQogICAgICAg
ICBNQUtFX1NUQVRJQ19TVFJJTkdfSU1QTCgiU2tpcEJhY2t3YXJkQ29tbWFuZCIpLAogICAgICAg
ICBNQUtFX1NUQVRJQ19TVFJJTkdfSU1QTCgiTmV4dFRyYWNrQ29tbWFuZCIpLAogICAgICAgICBN
QUtFX1NUQVRJQ19TVFJJTkdfSU1QTCgiUHJldmlvdXNUcmFja0NvbW1hbmQiKSwKKyAgICAgICAg
TUFLRV9TVEFUSUNfU1RSSU5HX0lNUEwoIkJlZ2luU2NydWJiaW5nIiksCisgICAgICAgIE1BS0Vf
U1RBVElDX1NUUklOR19JTVBMKCJFbmRTY3J1YmJpbmciKSwKICAgICB9OwogICAgIHN0YXRpY19h
c3NlcnQoIXN0YXRpY19jYXN0PHNpemVfdD4oUGxhdGZvcm1NZWRpYVNlc3Npb246Ok5vQ29tbWFu
ZCksICJQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6Tm9Db21tYW5kIGlzIG5vdCAwIGFzIGV4cGVjdGVk
Iik7CiAgICAgc3RhdGljX2Fzc2VydChzdGF0aWNfY2FzdDxzaXplX3Q+KFBsYXRmb3JtTWVkaWFT
ZXNzaW9uOjpQbGF5Q29tbWFuZCkgPT0gMSwgIlBsYXRmb3JtTWVkaWFTZXNzaW9uOjpQbGF5Q29t
bWFuZCBpcyBub3QgMSBhcyBleHBlY3RlZCIpOwpAQCAtMTEyLDYgKzExNCw5IEBAIFN0cmluZyBj
b252ZXJ0RW51bWVyYXRpb25Ub1N0cmluZyhQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3RlQ29u
dHJvbENvbW1hbmRUeXBlCiAgICAgc3RhdGljX2Fzc2VydChzdGF0aWNfY2FzdDxzaXplX3Q+KFBs
YXRmb3JtTWVkaWFTZXNzaW9uOjpTa2lwQmFja3dhcmRDb21tYW5kKSA9PSAxMSwgIlBsYXRmb3Jt
TWVkaWFTZXNzaW9uOjpTa2lwQmFja3dhcmRDb21tYW5kIGlzIG5vdCAxMSBhcyBleHBlY3RlZCIp
OwogICAgIHN0YXRpY19hc3NlcnQoc3RhdGljX2Nhc3Q8c2l6ZV90PihQbGF0Zm9ybU1lZGlhU2Vz
c2lvbjo6TmV4dFRyYWNrQ29tbWFuZCkgPT0gMTIsICJQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6TmV4
dFRyYWNrQ29tbWFuZCBpcyBub3QgMTIgYXMgZXhwZWN0ZWQiKTsKICAgICBzdGF0aWNfYXNzZXJ0
KHN0YXRpY19jYXN0PHNpemVfdD4oUGxhdGZvcm1NZWRpYVNlc3Npb246OlByZXZpb3VzVHJhY2tD
b21tYW5kKSA9PSAxMywgIlBsYXRmb3JtTWVkaWFTZXNzaW9uOjpQcmV2aW91c1RyYWNrQ29tbWFu
ZCBpcyBub3QgMTMgYXMgZXhwZWN0ZWQiKTsKKyAgICBzdGF0aWNfYXNzZXJ0KHN0YXRpY19jYXN0
PHNpemVfdD4oUGxhdGZvcm1NZWRpYVNlc3Npb246OkJlZ2luU2NydWJiaW5nKSA9PSAxNCwgIlBs
YXRmb3JtTWVkaWFTZXNzaW9uOjpCZWdpblNjcnViYmluZyBpcyBub3QgMTQgYXMgZXhwZWN0ZWQi
KTsKKyAgICBzdGF0aWNfYXNzZXJ0KHN0YXRpY19jYXN0PHNpemVfdD4oUGxhdGZvcm1NZWRpYVNl
c3Npb246OkVuZFNjcnViYmluZykgPT0gMTUsICJQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6RW5kU2Ny
dWJiaW5nIGlzIG5vdCAxNSBhcyBleHBlY3RlZCIpOworCiAgICAgQVNTRVJUKHN0YXRpY19jYXN0
PHNpemVfdD4oY29tbWFuZCkgPCBXVEZfQVJSQVlfTEVOR1RIKHZhbHVlcykpOwogICAgIHJldHVy
biB2YWx1ZXNbc3RhdGljX2Nhc3Q8c2l6ZV90Pihjb21tYW5kKV07CiB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbi5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb24uaAppbmRleCBi
MTMzMDNjNjA1NWVmNmEyNTEzNzkxMGZhZmZlMzIxOThmMjk5MjBhLi45MTQ1N2ViMWE2MWU0Njcz
YWMxOTNiODIwM2U5MGI4ZjNlNjI3NjUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uLmgKQEAgLTExNCw4ICsxMTQsMTQgQEAg
cHVibGljOgogCiAgICAgdmlydHVhbCB2b2lkIHN1c3BlbmRCdWZmZXJpbmcoKSB7IH0KICAgICB2
aXJ0dWFsIHZvaWQgcmVzdW1lQnVmZmVyaW5nKCkgeyB9CisgICAgCisgICAgc3RydWN0IFJlbW90
ZUNvbW1hbmRBcmd1bWVudCB7CisgICAgICAgIE9wdGlvbmFsPGRvdWJsZT4gdGltZTsKKyAgICAg
ICAgT3B0aW9uYWw8Ym9vbD4gZmFzdFNlZWs7CiAKLSAgICB1c2luZyBSZW1vdGVDb21tYW5kQXJn
dW1lbnQgPSBPcHRpb25hbDxkb3VibGU+OworICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVy
PiB2b2lkIGVuY29kZShFbmNvZGVyJikgY29uc3Q7CisgICAgICAgIHRlbXBsYXRlPGNsYXNzIERl
Y29kZXI+IHN0YXRpYyBPcHRpb25hbDxSZW1vdGVDb21tYW5kQXJndW1lbnQ+IGRlY29kZShEZWNv
ZGVyJik7CisgICAgfTsKIAogICAgIGVudW0gUmVtb3RlQ29udHJvbENvbW1hbmRUeXBlIDogdWlu
dDhfdCB7CiAgICAgICAgIE5vQ29tbWFuZCwKQEAgLTEzMiw5ICsxMzgsMTEgQEAgcHVibGljOgog
ICAgICAgICBTa2lwQmFja3dhcmRDb21tYW5kLAogICAgICAgICBOZXh0VHJhY2tDb21tYW5kLAog
ICAgICAgICBQcmV2aW91c1RyYWNrQ29tbWFuZCwKKyAgICAgICAgQmVnaW5TY3J1YmJpbmcsCisg
ICAgICAgIEVuZFNjcnViYmluZywKICAgICB9OwogICAgIGJvb2wgY2FuUmVjZWl2ZVJlbW90ZUNv
bnRyb2xDb21tYW5kcygpIGNvbnN0OwotICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlUmVtb3Rl
Q29udHJvbENvbW1hbmQoUmVtb3RlQ29udHJvbENvbW1hbmRUeXBlLCBjb25zdCBSZW1vdGVDb21t
YW5kQXJndW1lbnQmID0gV1RGOjpudWxsb3B0KTsKKyAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2
ZVJlbW90ZUNvbnRyb2xDb21tYW5kKFJlbW90ZUNvbnRyb2xDb21tYW5kVHlwZSwgY29uc3QgUmVt
b3RlQ29tbWFuZEFyZ3VtZW50Jik7CiAgICAgYm9vbCBzdXBwb3J0c1NlZWtpbmcoKSBjb25zdDsK
IAogICAgIGVudW0gRGlzcGxheVR5cGUgOiB1aW50OF90IHsKQEAgLTI3Myw4ICsyODEsMzAgQEAg
cHJvdGVjdGVkOgogU3RyaW5nIGNvbnZlcnRFbnVtZXJhdGlvblRvU3RyaW5nKFBsYXRmb3JtTWVk
aWFTZXNzaW9uOjpTdGF0ZSk7CiBTdHJpbmcgY29udmVydEVudW1lcmF0aW9uVG9TdHJpbmcoUGxh
dGZvcm1NZWRpYVNlc3Npb246OkludGVycnVwdGlvblR5cGUpOwogU3RyaW5nIGNvbnZlcnRFbnVt
ZXJhdGlvblRvU3RyaW5nKFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb250cm9sQ29tbWFu
ZFR5cGUpOworCit0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPiBpbmxpbmUgdm9pZCBQbGF0Zm9ybU1l
ZGlhU2Vzc2lvbjo6UmVtb3RlQ29tbWFuZEFyZ3VtZW50OjplbmNvZGUoRW5jb2RlciYgZW5jb2Rl
cikgY29uc3QKK3sKKyAgICBlbmNvZGVyIDw8IHRpbWUgPDwgZmFzdFNlZWs7CiB9CiAKK3RlbXBs
YXRlPGNsYXNzIERlY29kZXI+IGlubGluZSBPcHRpb25hbDxQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6
UmVtb3RlQ29tbWFuZEFyZ3VtZW50PiBQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3RlQ29tbWFu
ZEFyZ3VtZW50OjpkZWNvZGUoRGVjb2RlciYgZGVjb2RlcikKK3sKKyNkZWZpbmUgREVDT0RFKG5h
bWUsIHR5cGUpIFwKKyAgICBPcHRpb25hbDxPcHRpb25hbDx0eXBlPj4gbmFtZTsgXAorICAgIGRl
Y29kZXIgPj4gbmFtZTsgXAorICAgIGlmICghbmFtZSkgXAorICAgICAgICByZXR1cm4gV1RGOjpu
dWxsb3B0OyBcCisKKyAgICBERUNPREUodGltZSwgZG91YmxlKTsKKyAgICBERUNPREUoZmFzdFNl
ZWssIGJvb2wpOworCisjdW5kZWYgREVDT0RFCisKKyAgICByZXR1cm4geyB7ICp0aW1lLCAqZmFz
dFNlZWsgfSB9OworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKIG5hbWVzcGFjZSBXVEYg
ewogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBUeXBlPgpAQCAtMzYwLDcgKzM5MCwxMyBAQCB0ZW1wbGF0
ZSA8PiBzdHJ1Y3QgRW51bVRyYWl0czxXZWJDb3JlOjpQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVt
b3RlQ29udHJvbENvbW1hbgogICAgIFdlYkNvcmU6OlBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1v
dGVDb250cm9sQ29tbWFuZFR5cGU6OkVuZFNlZWtpbmdCYWNrd2FyZENvbW1hbmQsCiAgICAgV2Vi
Q29yZTo6UGxhdGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbnRyb2xDb21tYW5kVHlwZTo6QmVn
aW5TZWVraW5nRm9yd2FyZENvbW1hbmQsCiAgICAgV2ViQ29yZTo6UGxhdGZvcm1NZWRpYVNlc3Np
b246OlJlbW90ZUNvbnRyb2xDb21tYW5kVHlwZTo6RW5kU2Vla2luZ0ZvcndhcmRDb21tYW5kLAot
ICAgIFdlYkNvcmU6OlBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb250cm9sQ29tbWFuZFR5
cGU6OlNlZWtUb1BsYXliYWNrUG9zaXRpb25Db21tYW5kCisgICAgV2ViQ29yZTo6UGxhdGZvcm1N
ZWRpYVNlc3Npb246OlJlbW90ZUNvbnRyb2xDb21tYW5kVHlwZTo6U2Vla1RvUGxheWJhY2tQb3Np
dGlvbkNvbW1hbmQsCisgICAgV2ViQ29yZTo6UGxhdGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNv
bnRyb2xDb21tYW5kVHlwZTo6U2tpcEZvcndhcmRDb21tYW5kLAorICAgIFdlYkNvcmU6OlBsYXRm
b3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb250cm9sQ29tbWFuZFR5cGU6OlNraXBCYWNrd2FyZENv
bW1hbmQsCisgICAgV2ViQ29yZTo6UGxhdGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbnRyb2xD
b21tYW5kVHlwZTo6TmV4dFRyYWNrQ29tbWFuZCwKKyAgICBXZWJDb3JlOjpQbGF0Zm9ybU1lZGlh
U2Vzc2lvbjo6UmVtb3RlQ29udHJvbENvbW1hbmRUeXBlOjpQcmV2aW91c1RyYWNrQ29tbWFuZCwK
KyAgICBXZWJDb3JlOjpQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3RlQ29udHJvbENvbW1hbmRU
eXBlOjpCZWdpblNjcnViYmluZywKKyAgICBXZWJDb3JlOjpQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6
UmVtb3RlQ29udHJvbENvbW1hbmRUeXBlOjpFbmRTY3J1YmJpbmcKICAgICA+OwogfTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvUGxheWJhY2tTZXNzaW9uTW9k
ZWwuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1BsYXliYWNrU2Vzc2lvbk1vZGVs
LmgKaW5kZXggMDIxZGQwZmYzNTBlY2MxZjllZjc1NjkwMjg3NDBmYmM4ZTY4ZGZjYi4uNjdiMmY1
OTBhMGMwMTM0NmY0YTViMDAzOGVkNzJkOTczYzdlMGI5NSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vY29jb2EvUGxheWJhY2tTZXNzaW9uTW9kZWwuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9QbGF5YmFja1Nlc3Npb25Nb2RlbC5oCkBAIC0yNyw2ICsy
Nyw3IEBACiAKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKSB8fCAoUExBVEZPUk0oTUFDKSAmJiBF
TkFCTEUoVklERU9fUFJFU0VOVEFUSU9OX01PREUpKQogCisjaW5jbHVkZSAiUGxhdGZvcm1NZWRp
YVNlc3Npb24uaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9SZWYu
aD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CkBAIC02MSw2ICs2Miw3IEBAIHB1YmxpYzoKICAg
ICB2aXJ0dWFsIHZvaWQgc2V0TXV0ZWQoYm9vbCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBzZXRW
b2x1bWUoZG91YmxlKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHNldFBsYXlpbmdPblNlY29uZFNj
cmVlbihib29sKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIHNlbmRSZW1vdGVDb21tYW5kKFBsYXRm
b3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb250cm9sQ29tbWFuZFR5cGUsIGNvbnN0IFBsYXRmb3Jt
TWVkaWFTZXNzaW9uOjpSZW1vdGVDb21tYW5kQXJndW1lbnQmKSB7IH07CiAKICAgICBlbnVtIEV4
dGVybmFsUGxheWJhY2tUYXJnZXRUeXBlIHsgVGFyZ2V0VHlwZU5vbmUsIFRhcmdldFR5cGVBaXJQ
bGF5LCBUYXJnZXRUeXBlVFZPdXQgfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vY29jb2EvUGxheWJhY2tTZXNzaW9uTW9kZWxNZWRpYUVsZW1lbnQuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2NvY29hL1BsYXliYWNrU2Vzc2lvbk1vZGVsTWVkaWFFbGVtZW50LmgK
aW5kZXggZjYyOTQxNzgxMDQzNDYzY2E1NTA0ZmNkNTExYWUxOTZmMDY0NzNhMC4uNjQ5MTFlOWFm
ZGQ0ZTMwYjAwNTEwMjhhZWNiMGEzZDY0NzkyMmQ1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vY29jb2EvUGxheWJhY2tTZXNzaW9uTW9kZWxNZWRpYUVsZW1lbnQuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9QbGF5YmFja1Nlc3Npb25Nb2RlbE1lZGlh
RWxlbWVudC5oCkBAIC03NSw2ICs3NSw3IEBAIHB1YmxpYzoKICAgICBXRUJDT1JFX0VYUE9SVCB2
b2lkIHNldE11dGVkKGJvb2wpIGZpbmFsOwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0Vm9s
dW1lKGRvdWJsZSkgZmluYWw7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRQbGF5aW5nT25T
ZWNvbmRTY3JlZW4oYm9vbCkgZmluYWw7CisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZW5kUmVt
b3RlQ29tbWFuZChQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3RlQ29udHJvbENvbW1hbmRUeXBl
LCBjb25zdCBQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3RlQ29tbWFuZEFyZ3VtZW50JikgZmlu
YWw7CiAKICAgICBkb3VibGUgZHVyYXRpb24oKSBjb25zdCBmaW5hbDsKICAgICBkb3VibGUgY3Vy
cmVudFRpbWUoKSBjb25zdCBmaW5hbDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2NvY29hL1BsYXliYWNrU2Vzc2lvbk1vZGVsTWVkaWFFbGVtZW50Lm1tIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vY29jb2EvUGxheWJhY2tTZXNzaW9uTW9kZWxNZWRpYUVsZW1lbnQubW0K
aW5kZXggMTA1MmJlNzBhMzc4ZTg0N2QzYWUyOTk0NjRhMzExMzRiYjc4NmI2Ni4uZTRhY2EyOGRj
ZDZmOWViMmE4YjY0YzJkY2UzMWJhODBlZTBkMDQyMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vY29jb2EvUGxheWJhY2tTZXNzaW9uTW9kZWxNZWRpYUVsZW1lbnQubW0KKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvUGxheWJhY2tTZXNzaW9uTW9kZWxNZWRp
YUVsZW1lbnQubW0KQEAgLTM2Miw2ICszNjIsMTIgQEAgdm9pZCBQbGF5YmFja1Nlc3Npb25Nb2Rl
bE1lZGlhRWxlbWVudDo6c2V0UGxheWluZ09uU2Vjb25kU2NyZWVuKGJvb2wgdmFsdWUpCiAgICAg
ICAgIG1fbWVkaWFFbGVtZW50LT5zZXRQbGF5aW5nT25TZWNvbmRTY3JlZW4odmFsdWUpOwogfQog
Cit2b2lkIFBsYXliYWNrU2Vzc2lvbk1vZGVsTWVkaWFFbGVtZW50OjpzZW5kUmVtb3RlQ29tbWFu
ZChQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3RlQ29udHJvbENvbW1hbmRUeXBlIGNvbW1hbmQs
IGNvbnN0IFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb21tYW5kQXJndW1lbnQmIGFyZ3Vt
ZW50KQoreworICAgIGlmIChtX21lZGlhRWxlbWVudCkKKyAgICAgICAgbV9tZWRpYUVsZW1lbnQt
Pm1lZGlhU2Vzc2lvbigpLmRpZFJlY2VpdmVSZW1vdGVDb250cm9sQ29tbWFuZChjb21tYW5kLCBh
cmd1bWVudCk7Cit9CisKIHZvaWQgUGxheWJhY2tTZXNzaW9uTW9kZWxNZWRpYUVsZW1lbnQ6OnVw
ZGF0ZU1lZGlhU2VsZWN0aW9uT3B0aW9ucygpCiB7CiAgICAgaWYgKCFtX21lZGlhRWxlbWVudCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9SZW1vdGVDb21tYW5kTGlz
dGVuZXJJT1MubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvUmVtb3RlQ29tbWFuZExp
c3RlbmVySU9TLm1tCmluZGV4IGEzMzQzNWFhYjFjMmRkNTk5NGEwYWIyZGM0NGU4Y2Y3MWQxZmRj
NzUuLjBlYWQ5ZDYyNjM3MDIzYWUxNWY3ZjI4MDViMmU4ZGMwZWRkMWVlMmEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9SZW1vdGVDb21tYW5kTGlzdGVuZXJJT1MubW0K
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1JlbW90ZUNvbW1hbmRMaXN0ZW5lcklP
Uy5tbQpAQCAtNTgsNyArNTgsNyBAQCBSZW1vdGVDb21tYW5kTGlzdGVuZXJJT1M6OlJlbW90ZUNv
bW1hbmRMaXN0ZW5lcklPUyhSZW1vdGVDb21tYW5kTGlzdGVuZXJDbGllbnQmCiAgICAgICAgIGNh
bGxPbk1haW5UaHJlYWQoW3dlYWtUaGlzXSB7CiAgICAgICAgICAgICBpZiAoIXdlYWtUaGlzKQog
ICAgICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgICAgIHdlYWtUaGlzLT5tX2NsaWVudC5k
aWRSZWNlaXZlUmVtb3RlQ29udHJvbENvbW1hbmQoUGxhdGZvcm1NZWRpYVNlc3Npb246OlBhdXNl
Q29tbWFuZCwgV1RGOjpudWxsb3B0KTsKKyAgICAgICAgICAgIHdlYWtUaGlzLT5tX2NsaWVudC5k
aWRSZWNlaXZlUmVtb3RlQ29udHJvbENvbW1hbmQoUGxhdGZvcm1NZWRpYVNlc3Npb246OlBhdXNl
Q29tbWFuZCwgeyB9KTsKICAgICAgICAgfSk7CiAKICAgICAgICAgcmV0dXJuIE1QUmVtb3RlQ29t
bWFuZEhhbmRsZXJTdGF0dXNTdWNjZXNzOwpAQCAtNjgsNyArNjgsNyBAQCBSZW1vdGVDb21tYW5k
TGlzdGVuZXJJT1M6OlJlbW90ZUNvbW1hbmRMaXN0ZW5lcklPUyhSZW1vdGVDb21tYW5kTGlzdGVu
ZXJDbGllbnQmCiAgICAgICAgIGNhbGxPbk1haW5UaHJlYWQoW3dlYWtUaGlzXSB7CiAgICAgICAg
ICAgICBpZiAoIXdlYWtUaGlzKQogICAgICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgICAg
IHdlYWtUaGlzLT5tX2NsaWVudC5kaWRSZWNlaXZlUmVtb3RlQ29udHJvbENvbW1hbmQoUGxhdGZv
cm1NZWRpYVNlc3Npb246OlBsYXlDb21tYW5kLCBXVEY6Om51bGxvcHQpOworICAgICAgICAgICAg
d2Vha1RoaXMtPm1fY2xpZW50LmRpZFJlY2VpdmVSZW1vdGVDb250cm9sQ29tbWFuZChQbGF0Zm9y
bU1lZGlhU2Vzc2lvbjo6UGxheUNvbW1hbmQsIHsgfSk7CiAgICAgICAgIH0pOwogCiAgICAgICAg
IHJldHVybiBNUFJlbW90ZUNvbW1hbmRIYW5kbGVyU3RhdHVzU3VjY2VzczsKQEAgLTc4LDcgKzc4
LDcgQEAgUmVtb3RlQ29tbWFuZExpc3RlbmVySU9TOjpSZW1vdGVDb21tYW5kTGlzdGVuZXJJT1Mo
UmVtb3RlQ29tbWFuZExpc3RlbmVyQ2xpZW50JgogICAgICAgICBjYWxsT25NYWluVGhyZWFkKFt3
ZWFrVGhpc10gewogICAgICAgICAgICAgaWYgKCF3ZWFrVGhpcykKICAgICAgICAgICAgICAgICBy
ZXR1cm47Ci0gICAgICAgICAgICB3ZWFrVGhpcy0+bV9jbGllbnQuZGlkUmVjZWl2ZVJlbW90ZUNv
bnRyb2xDb21tYW5kKFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpUb2dnbGVQbGF5UGF1c2VDb21tYW5k
LCBXVEY6Om51bGxvcHQpOworICAgICAgICAgICAgd2Vha1RoaXMtPm1fY2xpZW50LmRpZFJlY2Vp
dmVSZW1vdGVDb250cm9sQ29tbWFuZChQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6VG9nZ2xlUGxheVBh
dXNlQ29tbWFuZCwgeyB9KTsKICAgICAgICAgfSk7CiAKICAgICAgICAgcmV0dXJuIE1QUmVtb3Rl
Q29tbWFuZEhhbmRsZXJTdGF0dXNTdWNjZXNzOwpAQCAtOTMsNyArOTMsNyBAQCBSZW1vdGVDb21t
YW5kTGlzdGVuZXJJT1M6OlJlbW90ZUNvbW1hbmRMaXN0ZW5lcklPUyhSZW1vdGVDb21tYW5kTGlz
dGVuZXJDbGllbnQmCiAgICAgICAgIGNhbGxPbk1haW5UaHJlYWQoW3dlYWtUaGlzLCBjb21tYW5k
XSB7CiAgICAgICAgICAgICBpZiAoIXdlYWtUaGlzKQogICAgICAgICAgICAgICAgIHJldHVybjsK
LSAgICAgICAgICAgIHdlYWtUaGlzLT5tX2NsaWVudC5kaWRSZWNlaXZlUmVtb3RlQ29udHJvbENv
bW1hbmQoY29tbWFuZCwgV1RGOjpudWxsb3B0KTsKKyAgICAgICAgICAgIHdlYWtUaGlzLT5tX2Ns
aWVudC5kaWRSZWNlaXZlUmVtb3RlQ29udHJvbENvbW1hbmQoY29tbWFuZCwgeyB9KTsKICAgICAg
ICAgfSk7CiAKICAgICAgICAgcmV0dXJuIE1QUmVtb3RlQ29tbWFuZEhhbmRsZXJTdGF0dXNTdWNj
ZXNzOwpAQCAtMTA4LDcgKzEwOCw3IEBAIFJlbW90ZUNvbW1hbmRMaXN0ZW5lcklPUzo6UmVtb3Rl
Q29tbWFuZExpc3RlbmVySU9TKFJlbW90ZUNvbW1hbmRMaXN0ZW5lckNsaWVudCYKICAgICAgICAg
Y2FsbE9uTWFpblRocmVhZChbd2Vha1RoaXMsIGNvbW1hbmRdIHsKICAgICAgICAgICAgIGlmICgh
d2Vha1RoaXMpCiAgICAgICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICAgICAgd2Vha1RoaXMt
Pm1fY2xpZW50LmRpZFJlY2VpdmVSZW1vdGVDb250cm9sQ29tbWFuZChjb21tYW5kLCBXVEY6Om51
bGxvcHQpOworICAgICAgICAgICAgd2Vha1RoaXMtPm1fY2xpZW50LmRpZFJlY2VpdmVSZW1vdGVD
b250cm9sQ29tbWFuZChjb21tYW5kLCB7IH0pOwogICAgICAgICB9KTsKIAogICAgICAgICByZXR1
cm4gTVBSZW1vdGVDb21tYW5kSGFuZGxlclN0YXR1c1N1Y2Nlc3M7CkBAIC0xMjEsNyArMTIxLDcg
QEAgUmVtb3RlQ29tbWFuZExpc3RlbmVySU9TOjpSZW1vdGVDb21tYW5kTGlzdGVuZXJJT1MoUmVt
b3RlQ29tbWFuZExpc3RlbmVyQ2xpZW50JgogICAgICAgICAgICAgcmV0dXJuIE1QUmVtb3RlQ29t
bWFuZEhhbmRsZXJTdGF0dXNDb21tYW5kRmFpbGVkOwogCiAgICAgICAgIE1QQ2hhbmdlUGxheWJh
Y2tQb3NpdGlvbkNvbW1hbmRFdmVudCogc2Vla0V2ZW50ID0gc3RhdGljX2Nhc3Q8TVBDaGFuZ2VQ
bGF5YmFja1Bvc2l0aW9uQ29tbWFuZEV2ZW50ICo+KGV2ZW50KTsKLSAgICAgICAgUGxhdGZvcm1N
ZWRpYVNlc3Npb246OlJlbW90ZUNvbW1hbmRBcmd1bWVudCBhcmd1bWVudCB7IFtzZWVrRXZlbnQg
cG9zaXRpb25UaW1lXSB9OworICAgICAgICBQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3RlQ29t
bWFuZEFyZ3VtZW50IGFyZ3VtZW50IHsgW3NlZWtFdmVudCBwb3NpdGlvblRpbWVdLCB7IH0gfTsK
IAogICAgICAgICBjYWxsT25NYWluVGhyZWFkKFt3ZWFrVGhpcywgYXJndW1lbnQgPSBXVEZNb3Zl
KGFyZ3VtZW50KV0gewogICAgICAgICAgICAgaWYgKCF3ZWFrVGhpcykKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9QbGF5YmFja1Nlc3Npb25JbnRlcmZhY2VNYWMuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9QbGF5YmFja1Nlc3Npb25JbnRlcmZhY2VNYWMu
aAppbmRleCBiNGRjYTkxZjU2ODViNmRmYWY1NDdiOTM4OTc0MjA4NjUwYTRiYmU3Li5kN2E5NDVi
YTE3ODJiM2Y0Nzc0NmQ2YTFmYTUyMDJlMGQ0YzljOWMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tYWMvUGxheWJhY2tTZXNzaW9uSW50ZXJmYWNlTWFjLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1BsYXliYWNrU2Vzc2lvbkludGVyZmFjZU1hYy5oCkBA
IC02OCw2ICs2OCw3IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgdXBkYXRlUGxheWJhY2tDb250cm9s
c01hbmFnZXJDYW5Ub2dnbGVQaWN0dXJlSW5QaWN0dXJlKCk7CiAjZW5kaWYKKyAgICB2b2lkIHdp
bGxCZWdpblNjcnViYmluZygpOwogICAgIHZvaWQgYmVnaW5TY3J1YmJpbmcoKTsKICAgICB2b2lk
IGVuZFNjcnViYmluZygpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
YWMvUGxheWJhY2tTZXNzaW9uSW50ZXJmYWNlTWFjLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbWFjL1BsYXliYWNrU2Vzc2lvbkludGVyZmFjZU1hYy5tbQppbmRleCAyOGJiZGYwOGM5MDkx
NTU0MTY4ZDhmMjk2MWJjYTZkNGI2ZjdjMjg4Li5jOWE2ZTk1OTgxNmY1MmFhODExNTYwNDFhY2Iw
NTZiMTQyMjA1YTRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvUGxh
eWJhY2tTZXNzaW9uSW50ZXJmYWNlTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21hYy9QbGF5YmFja1Nlc3Npb25JbnRlcmZhY2VNYWMubW0KQEAgLTEwNSwxMSArMTA1LDE2IEBA
IHZvaWQgUGxheWJhY2tTZXNzaW9uSW50ZXJmYWNlTWFjOjpyYXRlQ2hhbmdlZChib29sIGlzUGxh
eWluZywgZmxvYXQgcGxheWJhY2tSYXRlCiAjZW5kaWYKIH0KIAotdm9pZCBQbGF5YmFja1Nlc3Np
b25JbnRlcmZhY2VNYWM6OmJlZ2luU2NydWJiaW5nKCkKK3ZvaWQgUGxheWJhY2tTZXNzaW9uSW50
ZXJmYWNlTWFjOjp3aWxsQmVnaW5TY3J1YmJpbmcoKQogewogI2lmIEVOQUJMRShXRUJfUExBWUJB
Q0tfQ09OVFJPTFNfTUFOQUdFUikKICAgICB1cGRhdGVQbGF5YmFja0NvbnRyb2xzTWFuYWdlclRp
bWluZyhtX3BsYXliYWNrU2Vzc2lvbk1vZGVsID8gbV9wbGF5YmFja1Nlc3Npb25Nb2RlbC0+Y3Vy
cmVudFRpbWUoKSA6IDAsIFtbTlNQcm9jZXNzSW5mbyBwcm9jZXNzSW5mb10gc3lzdGVtVXB0aW1l
XSwgMCwgZmFsc2UpOwogI2VuZGlmCit9CisKK3ZvaWQgUGxheWJhY2tTZXNzaW9uSW50ZXJmYWNl
TWFjOjpiZWdpblNjcnViYmluZygpCit7CisgICAgd2lsbEJlZ2luU2NydWJiaW5nKCk7CiAgICAg
aWYgKGF1dG8qIG1vZGVsID0gcGxheWJhY2tTZXNzaW9uTW9kZWwoKSkKICAgICAgICAgbW9kZWwt
PmJlZ2luU2NydWJiaW5nKCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tYWMvUmVtb3RlQ29tbWFuZExpc3RlbmVyTWFjLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbWFjL1JlbW90ZUNvbW1hbmRMaXN0ZW5lck1hYy5tbQppbmRleCA1Nzc5ZDY5NTE1NGJmYmZi
MzVhYTlmZGQwNGZlMjRhOWNlM2QzOGM3Li5lNWQyYjdmM2MwMDAwNjI3MzM5ODYxNTkyOWFhNDJj
NzA5MzdmYjQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvUmVtb3Rl
Q29tbWFuZExpc3RlbmVyTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9S
ZW1vdGVDb21tYW5kTGlzdGVuZXJNYWMubW0KQEAgLTE4MSw3ICsxODEsNyBAQCBSZW1vdGVDb21t
YW5kTGlzdGVuZXJNYWM6OlJlbW90ZUNvbW1hbmRMaXN0ZW5lck1hYyhSZW1vdGVDb21tYW5kTGlz
dGVuZXJDbGllbnQmCiAKICAgICAgICAgICAgIGRvdWJsZSBwb3NpdGlvbiA9IDA7CiAgICAgICAg
ICAgICBDRk51bWJlckdldFZhbHVlKHBvc2l0aW9uUmVmLCBrQ0ZOdW1iZXJEb3VibGVUeXBlLCAm
cG9zaXRpb24pOwotICAgICAgICAgICAgYXJndW1lbnQgPSBwb3NpdGlvbjsKKyAgICAgICAgICAg
IGFyZ3VtZW50LnRpbWUgPSBwb3NpdGlvbjsKICAgICAgICAgICAgIHBsYXRmb3JtQ29tbWFuZCA9
IFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpTZWVrVG9QbGF5YmFja1Bvc2l0aW9uQ29tbWFuZDsKICAg
ICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CkBAIC0xOTUsNyArMTk1LDcgQEAgUmVtb3RlQ29t
bWFuZExpc3RlbmVyTWFjOjpSZW1vdGVDb21tYW5kTGlzdGVuZXJNYWMoUmVtb3RlQ29tbWFuZExp
c3RlbmVyQ2xpZW50JgogICAgICAgICAgICAgaWYgKGF1dG8gcG9zaXRpb25SZWYgPSBzdGF0aWNf
Y2FzdDxDRk51bWJlclJlZj4oQ0ZEaWN0aW9uYXJ5R2V0VmFsdWUob3B0aW9ucywga01STWVkaWFS
ZW1vdGVPcHRpb25Ta2lwSW50ZXJ2YWwpKSkgewogICAgICAgICAgICAgICAgIGRvdWJsZSBwb3Np
dGlvbiA9IDA7CiAgICAgICAgICAgICAgICAgQ0ZOdW1iZXJHZXRWYWx1ZShwb3NpdGlvblJlZiwg
a0NGTnVtYmVyRG91YmxlVHlwZSwgJnBvc2l0aW9uKTsKLSAgICAgICAgICAgICAgICBhcmd1bWVu
dCA9IHBvc2l0aW9uOworICAgICAgICAgICAgICAgIGFyZ3VtZW50LnRpbWUgPSBwb3NpdGlvbjsK
ICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgcGxhdGZvcm1Db21tYW5kID0gKGNvbW1hbmQg
PT0gTVJNZWRpYVJlbW90ZUNvbW1hbmRTa2lwRm9yd2FyZCkgPyBQbGF0Zm9ybU1lZGlhU2Vzc2lv
bjo6U2tpcEZvcndhcmRDb21tYW5kIDogUGxhdGZvcm1NZWRpYVNlc3Npb246OlNraXBCYWNrd2Fy
ZENvbW1hbmQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvV2ViUGxh
eWJhY2tDb250cm9sc01hbmFnZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9XZWJQ
bGF5YmFja0NvbnRyb2xzTWFuYWdlci5oCmluZGV4IGEzZGQ2NDZmZWQxNWUwNzI0ZDJhN2EyOGQ3
YTI3N2QzN2EwYTg0NTIuLjg5NmNjZWRmYWM5MDc2ZWZkOGVlNmU1MzI2ZDBjN2I3N2Y1YTFmNDEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9XZWJQbGF5YmFja0NvbnRy
b2xzTWFuYWdlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9XZWJQbGF5YmFj
a0NvbnRyb2xzTWFuYWdlci5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykg
MjAxNi0yMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAo
QykgMjAxNi0yMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtNDUsMTcgKzQ1LDE2IEBAIFdFQkNPUkVfRVhQT1JUCiAg
ICAgUmV0YWluUHRyPEFWVmFsdWVUaW1pbmc+IF90aW1pbmc7CiAgICAgTlNUaW1lSW50ZXJ2YWwg
X3NlZWtUb1RpbWU7CiAgICAgUmV0YWluUHRyPE5TQXJyYXk+IF9zZWVrYWJsZVRpbWVSYW5nZXM7
Ci0gICAgQk9PTCBfaGFzRW5hYmxlZEF1ZGlvOwotICAgIEJPT0wgX2hhc0VuYWJsZWRWaWRlbzsK
ICAgICBSZXRhaW5QdHI8TlNBcnJheTxBVlRvdWNoQmFyTWVkaWFTZWxlY3Rpb25PcHRpb24gKj4+
IF9hdWRpb1RvdWNoQmFyTWVkaWFTZWxlY3Rpb25PcHRpb25zOwogICAgIFJldGFpblB0cjxBVlRv
dWNoQmFyTWVkaWFTZWxlY3Rpb25PcHRpb24+IF9jdXJyZW50QXVkaW9Ub3VjaEJhck1lZGlhU2Vs
ZWN0aW9uT3B0aW9uOwogICAgIFJldGFpblB0cjxOU0FycmF5PEFWVG91Y2hCYXJNZWRpYVNlbGVj
dGlvbk9wdGlvbiAqPj4gX2xlZ2libGVUb3VjaEJhck1lZGlhU2VsZWN0aW9uT3B0aW9uczsKICAg
ICBSZXRhaW5QdHI8QVZUb3VjaEJhck1lZGlhU2VsZWN0aW9uT3B0aW9uPiBfY3VycmVudExlZ2li
bGVUb3VjaEJhck1lZGlhU2VsZWN0aW9uT3B0aW9uOwotICAgIEJPT0wgX3BsYXlpbmc7CisgICAg
UmVmUHRyPFdlYkNvcmU6OlBsYXliYWNrU2Vzc2lvbkludGVyZmFjZU1hYz4gX3BsYXliYWNrU2Vz
c2lvbkludGVyZmFjZU1hYzsKICAgICBmbG9hdCBfcmF0ZTsKKyAgICBCT09MIF9wbGF5aW5nOwor
ICAgIEJPT0wgX2hhc0VuYWJsZWRBdWRpbzsKKyAgICBCT09MIF9oYXNFbmFibGVkVmlkZW87CiAg
ICAgQk9PTCBfY2FuVG9nZ2xlUGxheWJhY2s7Ci0KLSAgICBSZWZQdHI8V2ViQ29yZTo6UGxheWJh
Y2tTZXNzaW9uSW50ZXJmYWNlTWFjPiBfcGxheWJhY2tTZXNzaW9uSW50ZXJmYWNlTWFjOwogfQog
CiBAcHJvcGVydHkgKGFzc2lnbikgV2ViQ29yZTo6UGxheWJhY2tTZXNzaW9uSW50ZXJmYWNlTWFj
KiBwbGF5YmFja1Nlc3Npb25JbnRlcmZhY2VNYWM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tYWMvV2ViUGxheWJhY2tDb250cm9sc01hbmFnZXIubW0gYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tYWMvV2ViUGxheWJhY2tDb250cm9sc01hbmFnZXIubW0KaW5kZXggZjhh
MzVhZmQyYTA0ZDYyY2UwNDQ1YzE3NDc3YjAyMmRmY2FlNDI2OS4uODUyNWMwZmQxN2MyNDJjY2Rm
ODcwNmZlNDVjMmMwNDVkNzBhZDRmMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbWFjL1dlYlBsYXliYWNrQ29udHJvbHNNYW5hZ2VyLm1tCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21hYy9XZWJQbGF5YmFja0NvbnRyb2xzTWFuYWdlci5tbQpAQCAtMSw1ICsxLDUg
QEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTYtMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYtMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCiAgKiAKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC05OCwxMCAr
OTgsMTEgQEAgdXNpbmcgV2ViQ29yZTo6UGxheWJhY2tTZXNzaW9uSW50ZXJmYWNlTWFjOwogCiAt
ICh2b2lkKXNlZWtUb1RpbWU6KE5TVGltZUludGVydmFsKXRpbWUgdG9sZXJhbmNlQmVmb3JlOihO
U1RpbWVJbnRlcnZhbCl0b2xlcmFuY2VCZWZvcmUgdG9sZXJhbmNlQWZ0ZXI6KE5TVGltZUludGVy
dmFsKXRvbGVyYW5jZUFmdGVyCiB7Ci0gICAgVU5VU0VEX1BBUkFNKHRvbGVyYW5jZUJlZm9yZSk7
Ci0gICAgVU5VU0VEX1BBUkFNKHRvbGVyYW5jZUFmdGVyKTsKKyAgICBpZiAoIV9wbGF5YmFja1Nl
c3Npb25JbnRlcmZhY2VNYWMpCisgICAgICAgIHJldHVybjsKKwogICAgIGlmIChhdXRvKiBtb2Rl
bCA9IF9wbGF5YmFja1Nlc3Npb25JbnRlcmZhY2VNYWMtPnBsYXliYWNrU2Vzc2lvbk1vZGVsKCkp
Ci0gICAgICAgIG1vZGVsLT5zZWVrVG9UaW1lKHRpbWUpOworICAgICAgICBtb2RlbC0+c2VuZFJl
bW90ZUNvbW1hbmQoV2ViQ29yZTo6UGxhdGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbnRyb2xD
b21tYW5kVHlwZTo6U2Vla1RvUGxheWJhY2tQb3NpdGlvbkNvbW1hbmQsIHsgdGltZSwgdG9sZXJh
bmNlQmVmb3JlIHx8IHRvbGVyYW5jZUFmdGVyIH0pOwogfQogCiAtICh2b2lkKWNhbmNlbFRodW1i
bmFpbEFuZEF1ZGlvQW1wbGl0dWRlU2FtcGxlR2VuZXJhdGlvbgpAQCAtMTMzLDEyICsxMzQsMjQg
QEAgdXNpbmcgV2ViQ29yZTo6UGxheWJhY2tTZXNzaW9uSW50ZXJmYWNlTWFjOwogCiAtICh2b2lk
KWJlZ2luVG91Y2hCYXJTY3J1YmJpbmcKIHsKLSAgICBfcGxheWJhY2tTZXNzaW9uSW50ZXJmYWNl
TWFjLT5iZWdpblNjcnViYmluZygpOworICAgIGlmICghX3BsYXliYWNrU2Vzc2lvbkludGVyZmFj
ZU1hYykKKyAgICAgICAgcmV0dXJuOworCisgICAgYXV0byogbW9kZWwgPSBfcGxheWJhY2tTZXNz
aW9uSW50ZXJmYWNlTWFjLT5wbGF5YmFja1Nlc3Npb25Nb2RlbCgpOworICAgIGlmICghbW9kZWwp
CisgICAgICAgIHJldHVybjsKKyAgICAgICAgCisgICAgX3BsYXliYWNrU2Vzc2lvbkludGVyZmFj
ZU1hYy0+d2lsbEJlZ2luU2NydWJiaW5nKCk7CisgICAgbW9kZWwtPnNlbmRSZW1vdGVDb21tYW5k
KFdlYkNvcmU6OlBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb250cm9sQ29tbWFuZFR5cGU6
OkJlZ2luU2NydWJiaW5nLCB7IH0pOwogfQogCiAtICh2b2lkKWVuZFRvdWNoQmFyU2NydWJiaW5n
CiB7Ci0gICAgX3BsYXliYWNrU2Vzc2lvbkludGVyZmFjZU1hYy0+ZW5kU2NydWJiaW5nKCk7Cisg
ICAgaWYgKCFfcGxheWJhY2tTZXNzaW9uSW50ZXJmYWNlTWFjKQorICAgICAgICByZXR1cm47CisK
KyAgICBpZiAoYXV0byogbW9kZWwgPSBfcGxheWJhY2tTZXNzaW9uSW50ZXJmYWNlTWFjLT5wbGF5
YmFja1Nlc3Npb25Nb2RlbCgpKQorICAgICAgICBtb2RlbC0+c2VuZFJlbW90ZUNvbW1hbmQoV2Vi
Q29yZTo6UGxhdGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbnRyb2xDb21tYW5kVHlwZTo6RW5k
U2NydWJiaW5nLCB7IH0pOwogfQogCiAtIChOU0FycmF5PEFWVG91Y2hCYXJNZWRpYVNlbGVjdGlv
bk9wdGlvbiAqPiAqKWF1ZGlvVG91Y2hCYXJNZWRpYVNlbGVjdGlvbk9wdGlvbnMKQEAgLTI4Miw4
ICsyOTUsMTEgQEAgc3RhdGljIFJldGFpblB0cjxOU0FycmF5PiBtZWRpYVNlbGVjdGlvbk9wdGlv
bnMoY29uc3QgVmVjdG9yPE1lZGlhU2VsZWN0aW9uT3B0aW8KIAogLSAodm9pZCl0b2dnbGVQbGF5
YmFjawogewotICAgIGlmIChfcGxheWJhY2tTZXNzaW9uSW50ZXJmYWNlTWFjICYmIF9wbGF5YmFj
a1Nlc3Npb25JbnRlcmZhY2VNYWMtPnBsYXliYWNrU2Vzc2lvbk1vZGVsKCkpCi0gICAgICAgIF9w
bGF5YmFja1Nlc3Npb25JbnRlcmZhY2VNYWMtPnBsYXliYWNrU2Vzc2lvbk1vZGVsKCktPnRvZ2ds
ZVBsYXlTdGF0ZSgpOworICAgIGlmICghX3BsYXliYWNrU2Vzc2lvbkludGVyZmFjZU1hYykKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaWYgKGF1dG8qIG1vZGVsID0gX3BsYXliYWNrU2Vzc2lvbklu
dGVyZmFjZU1hYy0+cGxheWJhY2tTZXNzaW9uTW9kZWwoKSkKKyAgICAgICAgbW9kZWwtPnNlbmRS
ZW1vdGVDb21tYW5kKFdlYkNvcmU6OlBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb250cm9s
Q29tbWFuZFR5cGU6OlRvZ2dsZVBsYXlQYXVzZUNvbW1hbmQsIHsgfSk7CiB9CiAKIC0gKHZvaWQp
c2V0UGxheWluZzooQk9PTClwbGF5aW5nCkBAIC0zMDAsOSArMzE2LDkgQEAgc3RhdGljIFJldGFp
blB0cjxOU0FycmF5PiBtZWRpYVNlbGVjdGlvbk9wdGlvbnMoY29uc3QgVmVjdG9yPE1lZGlhU2Vs
ZWN0aW9uT3B0aW8KICAgICBpZiAoYXV0byogbW9kZWwgPSBfcGxheWJhY2tTZXNzaW9uSW50ZXJm
YWNlTWFjLT5wbGF5YmFja1Nlc3Npb25Nb2RlbCgpKSB7CiAgICAgICAgIEJPT0wgaXNDdXJyZW50
bHlQbGF5aW5nID0gbW9kZWwtPmlzUGxheWluZygpOwogICAgICAgICBpZiAoIWlzQ3VycmVudGx5
UGxheWluZyAmJiBfcGxheWluZykKLSAgICAgICAgICAgIG1vZGVsLT5wbGF5KCk7CisgICAgICAg
ICAgICBtb2RlbC0+c2VuZFJlbW90ZUNvbW1hbmQoV2ViQ29yZTo6UGxhdGZvcm1NZWRpYVNlc3Np
b246OlJlbW90ZUNvbnRyb2xDb21tYW5kVHlwZTo6UGxheUNvbW1hbmQsIHsgfSk7CiAgICAgICAg
IGVsc2UgaWYgKGlzQ3VycmVudGx5UGxheWluZyAmJiAhX3BsYXlpbmcpCi0gICAgICAgICAgICBt
b2RlbC0+cGF1c2UoKTsKKyAgICAgICAgICAgIG1vZGVsLT5zZW5kUmVtb3RlQ29tbWFuZChXZWJD
b3JlOjpQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3RlQ29udHJvbENvbW1hbmRUeXBlOjpQYXVz
ZUNvbW1hbmQsIHsgfSk7CiAgICAgfQogfQogCkBAIC0zMTMsOCArMzI5LDggQEAgc3RhdGljIFJl
dGFpblB0cjxOU0FycmF5PiBtZWRpYVNlbGVjdGlvbk9wdGlvbnMoY29uc3QgVmVjdG9yPE1lZGlh
U2VsZWN0aW9uT3B0aW8KIAogLSAodm9pZCl0b2dnbGVQaWN0dXJlSW5QaWN0dXJlCiB7Ci0gICAg
aWYgKF9wbGF5YmFja1Nlc3Npb25JbnRlcmZhY2VNYWMgJiYgX3BsYXliYWNrU2Vzc2lvbkludGVy
ZmFjZU1hYy0+cGxheWJhY2tTZXNzaW9uTW9kZWwoKSkKLSAgICAgICAgX3BsYXliYWNrU2Vzc2lv
bkludGVyZmFjZU1hYy0+cGxheWJhY2tTZXNzaW9uTW9kZWwoKS0+dG9nZ2xlUGljdHVyZUluUGlj
dHVyZSgpOworICAgIGlmIChhdXRvKiBtb2RlbCA9IF9wbGF5YmFja1Nlc3Npb25JbnRlcmZhY2VN
YWMtPnBsYXliYWNrU2Vzc2lvbk1vZGVsKCkpCisgICAgICAgIG1vZGVsLT50b2dnbGVQaWN0dXJl
SW5QaWN0dXJlKCk7CiB9CiAKIElHTk9SRV9XQVJOSU5HU19FTkQKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3Rpbmcv
SW50ZXJuYWxzLmNwcAppbmRleCBmZjE5OTAwOTgyYmIyYmM2ZTNiM2EzNDQxMjQ0MzI0NTA5YWEy
N2M2Li42MWVhOWExNWJhOWNkMTkzM2Q4M2U1NTI3ZDk5N2U3NDY2NWYyZTEwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCkBAIC00MjgyLDcgKzQyODIsNyBAQCB2b2lkIEludGVy
bmFsczo6c2V0TWVkaWFFbGVtZW50UmVzdHJpY3Rpb25zKEhUTUxNZWRpYUVsZW1lbnQmIGVsZW1l
bnQsIFN0cmluZ1ZpZQogRXhjZXB0aW9uT3I8dm9pZD4gSW50ZXJuYWxzOjpwb3N0UmVtb3RlQ29u
dHJvbENvbW1hbmQoY29uc3QgU3RyaW5nJiBjb21tYW5kU3RyaW5nLCBmbG9hdCBhcmd1bWVudCkK
IHsKICAgICBQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3RlQ29udHJvbENvbW1hbmRUeXBlIGNv
bW1hbmQ7Ci0gICAgUGxhdGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbW1hbmRBcmd1bWVudCBw
YXJhbWV0ZXIgeyBhcmd1bWVudCB9OworICAgIFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVD
b21tYW5kQXJndW1lbnQgcGFyYW1ldGVyIHsgYXJndW1lbnQsIHsgfSB9OwogCiAgICAgaWYgKGVx
dWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGNvbW1hbmRTdHJpbmcsICJwbGF5IikpCiAgICAg
ICAgIGNvbW1hbmQgPSBQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UGxheUNvbW1hbmQ7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5j
cHAgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5j
cHAKaW5kZXggNmI5NzI2MzBlMWM5MjI4YzEzODNjNDc3OTZjYzFkYWI5NDA5N2MzNi4uZDU3N2U0
MzQ5OWYxODE0NzkxYzhhMGVmNzFjYjM0YTAyNGExZmFlMiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9HUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNwcApAQCAtMzYx
LDkgKzM2MSw5IEBAIHZvaWQgR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6c2V0Tm93UGxheWlu
Z0luZm8oYm9vbCBzZXRBc05vd1BsYXlpbmdBcHBsaWNhdGlvCiAgICAgZ3B1UHJvY2VzcygpLm5v
d1BsYXlpbmdNYW5hZ2VyKCkuc2V0Tm93UGxheWluZ0luZm8oKnRoaXMsIFdURk1vdmUobm93UGxh
eWluZ0luZm8pKTsKIH0KIAotdm9pZCBHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpkaWRSZWNl
aXZlUmVtb3RlQ29udHJvbENvbW1hbmQoUGxhdGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbnRy
b2xDb21tYW5kVHlwZSB0eXBlLCBPcHRpb25hbDxkb3VibGU+IGFyZ3VtZW50KQordm9pZCBHUFVD
b25uZWN0aW9uVG9XZWJQcm9jZXNzOjpkaWRSZWNlaXZlUmVtb3RlQ29udHJvbENvbW1hbmQoUGxh
dGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbnRyb2xDb21tYW5kVHlwZSB0eXBlLCBjb25zdCBQ
bGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3RlQ29tbWFuZEFyZ3VtZW50JiBhcmd1bWVudCkKIHsK
LSAgICBjb25uZWN0aW9uKCkuc2VuZChNZXNzYWdlczo6R1BVUHJvY2Vzc0Nvbm5lY3Rpb246OkRp
ZFJlY2VpdmVSZW1vdGVDb21tYW5kIHsgdHlwZSwgYXJndW1lbnQgfSwgMCk7CisgICAgY29ubmVj
dGlvbigpLnNlbmQoTWVzc2FnZXM6OkdQVVByb2Nlc3NDb25uZWN0aW9uOjpEaWRSZWNlaXZlUmVt
b3RlQ29tbWFuZCh0eXBlLCBhcmd1bWVudCksIDApOwogfQogCiAjaWYgVVNFKEFVRElPX1NFU1NJ
T04pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRv
V2ViUHJvY2Vzcy5oIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dl
YlByb2Nlc3MuaAppbmRleCBmNzZiN2E2Y2M5ZTU3ZGY1N2I2MmFmZTZkYzk2NTg3YTQ1NmRhMDZj
Li5lYmIwZDAwOGYzZDcxMjkyMTdiOGU5NmVmYTE5YmQ1MWZmYWZhMTY3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmgKQEAg
LTE3NSw3ICsxNzUsNyBAQCBwcml2YXRlOgogICAgIGJvb2wgZGlzcGF0Y2hTeW5jTWVzc2FnZShJ
UEM6OkNvbm5lY3Rpb24mLCBJUEM6OkRlY29kZXImLCBzdGQ6OnVuaXF1ZV9wdHI8SVBDOjpFbmNv
ZGVyPiYpOwogCiAgICAgLy8gTm93UGxheWluZ01hbmFnZXI6OkNsaWVudAotICAgIHZvaWQgZGlk
UmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21tYW5kKFdlYkNvcmU6OlBsYXRmb3JtTWVkaWFTZXNzaW9u
OjpSZW1vdGVDb250cm9sQ29tbWFuZFR5cGUsIE9wdGlvbmFsPGRvdWJsZT4pIGZpbmFsOworICAg
IHZvaWQgZGlkUmVjZWl2ZVJlbW90ZUNvbnRyb2xDb21tYW5kKFdlYkNvcmU6OlBsYXRmb3JtTWVk
aWFTZXNzaW9uOjpSZW1vdGVDb250cm9sQ29tbWFuZFR5cGUsIGNvbnN0IFdlYkNvcmU6OlBsYXRm
b3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb21tYW5kQXJndW1lbnQmKSBmaW5hbDsKIAogICAgIFJl
ZlB0cjxMb2dnZXI+IG1fbG9nZ2VyOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9Db2NvYS9QbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0NvY29hL1BsYXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94eS5oCmluZGV4IGZhMWYy
NWQ1YTdlZTViMTYyZWViYzEwMDQ3MDQ1NDU5YjljNDY5YmQuLmM4MzVmZmE3YmJjMmVlZGQ5NGQx
YzQ0YzMzZjA3MzdhYWM5YjFkYWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0NvY29hL1BsYXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0NvY29hL1BsYXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94eS5oCkBAIC0xLDUgKzEs
NSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNi0yMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNi0yMDIxIEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMTE4LDYg
KzExOCw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBzZXRNdXRlZChib29sKSBmaW5hbDsKICAgICB2
b2lkIHNldFZvbHVtZShkb3VibGUpIGZpbmFsOwogICAgIHZvaWQgc2V0UGxheWluZ09uU2Vjb25k
U2NyZWVuKGJvb2wpIGZpbmFsOworICAgIHZvaWQgc2VuZFJlbW90ZUNvbW1hbmQoV2ViQ29yZTo6
UGxhdGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbnRyb2xDb21tYW5kVHlwZSwgY29uc3QgV2Vi
Q29yZTo6UGxhdGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbW1hbmRBcmd1bWVudCYpIGZpbmFs
OwogCiAgICAgZG91YmxlIHBsYXliYWNrU3RhcnRlZFRpbWUoKSBjb25zdCBmaW5hbCB7IHJldHVy
biBtX3BsYXliYWNrU3RhcnRlZFRpbWU7IH0KICAgICBkb3VibGUgZHVyYXRpb24oKSBjb25zdCBm
aW5hbCB7IHJldHVybiBtX2R1cmF0aW9uOyB9CkBAIC0yNDAsNiArMjQxLDcgQEAgcHJpdmF0ZToK
ICAgICB2b2lkIHNldE11dGVkKFBsYXliYWNrU2Vzc2lvbkNvbnRleHRJZGVudGlmaWVyLCBib29s
KTsKICAgICB2b2lkIHNldFZvbHVtZShQbGF5YmFja1Nlc3Npb25Db250ZXh0SWRlbnRpZmllciwg
ZG91YmxlKTsKICAgICB2b2lkIHNldFBsYXlpbmdPblNlY29uZFNjcmVlbihQbGF5YmFja1Nlc3Np
b25Db250ZXh0SWRlbnRpZmllciwgYm9vbCk7CisgICAgdm9pZCBzZW5kUmVtb3RlQ29tbWFuZChQ
bGF5YmFja1Nlc3Npb25Db250ZXh0SWRlbnRpZmllciwgV2ViQ29yZTo6UGxhdGZvcm1NZWRpYVNl
c3Npb246OlJlbW90ZUNvbnRyb2xDb21tYW5kVHlwZSwgY29uc3QgV2ViQ29yZTo6UGxhdGZvcm1N
ZWRpYVNlc3Npb246OlJlbW90ZUNvbW1hbmRBcmd1bWVudCYpOwogCiAgICAgV2ViUGFnZVByb3h5
KiBtX3BhZ2U7CiAgICAgSGFzaE1hcDxQbGF5YmFja1Nlc3Npb25Db250ZXh0SWRlbnRpZmllciwg
TW9kZWxJbnRlcmZhY2VUdXBsZT4gbV9jb250ZXh0TWFwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQ29jb2EvUGxheWJhY2tTZXNzaW9uTWFuYWdlclByb3h5Lm1tIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvUGxheWJhY2tTZXNzaW9uTWFuYWdlclByb3h5Lm1t
CmluZGV4IGJkMzQ1MjJjMDUxNThiMjU0MDE0Mzk4M2Y1MjlkZmYzOTc2MDI5NjguLjlmMmQ3OThk
MWEyMjA0YzJjMWZiMTc5MWJmZjI2ZDRkMWU0ZDgyNGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0NvY29hL1BsYXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94eS5tbQorKysgYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9QbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHku
bW0KQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDE2LTIwMjAgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE2LTIwMjEgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCkBAIC01MCw2ICs1MCwxMiBAQCB2b2lkIFBsYXliYWNrU2Vzc2lvbk1vZGVsQ29udGV4dDo6
cmVtb3ZlQ2xpZW50KFBsYXliYWNrU2Vzc2lvbk1vZGVsQ2xpZW50JiBjbGllbgogICAgIG1fY2xp
ZW50cy5yZW1vdmUoJmNsaWVudCk7CiB9CiAKK3ZvaWQgUGxheWJhY2tTZXNzaW9uTW9kZWxDb250
ZXh0OjpzZW5kUmVtb3RlQ29tbWFuZChXZWJDb3JlOjpQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVt
b3RlQ29udHJvbENvbW1hbmRUeXBlIGNvbW1hbmQsIGNvbnN0IFdlYkNvcmU6OlBsYXRmb3JtTWVk
aWFTZXNzaW9uOjpSZW1vdGVDb21tYW5kQXJndW1lbnQmIGFyZ3VtZW50KQoreworICAgIGlmICht
X21hbmFnZXIpCisgICAgICAgIG1fbWFuYWdlci0+c2VuZFJlbW90ZUNvbW1hbmQobV9jb250ZXh0
SWQsIGNvbW1hbmQsIGFyZ3VtZW50KTsKK30KKwogdm9pZCBQbGF5YmFja1Nlc3Npb25Nb2RlbENv
bnRleHQ6OnBsYXkoKQogewogICAgIGlmIChtX21hbmFnZXIpCkBAIC01ODAsNiArNTg2LDEyIEBA
IHZvaWQgUGxheWJhY2tTZXNzaW9uTWFuYWdlclByb3h5OjpzZXRQbGF5aW5nT25TZWNvbmRTY3Jl
ZW4oUGxheWJhY2tTZXNzaW9uQ29udGV4CiAgICAgICAgIG1fcGFnZS0+c2VuZChNZXNzYWdlczo6
UGxheWJhY2tTZXNzaW9uTWFuYWdlcjo6U2V0UGxheWluZ09uU2Vjb25kU2NyZWVuKGNvbnRleHRJ
ZCwgdmFsdWUpKTsKIH0KIAordm9pZCBQbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHk6OnNlbmRS
ZW1vdGVDb21tYW5kKFBsYXliYWNrU2Vzc2lvbkNvbnRleHRJZGVudGlmaWVyIGNvbnRleHRJZCwg
V2ViQ29yZTo6UGxhdGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbnRyb2xDb21tYW5kVHlwZSBj
b21tYW5kLCBjb25zdCBXZWJDb3JlOjpQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3RlQ29tbWFu
ZEFyZ3VtZW50JiBhcmd1bWVudCkKK3sKKyAgICBpZiAobV9wYWdlKQorICAgICAgICBtX3BhZ2Ut
PnNlbmQoTWVzc2FnZXM6OlBsYXliYWNrU2Vzc2lvbk1hbmFnZXI6OlNlbmRSZW1vdGVDb21tYW5k
KGNvbnRleHRJZCwgY29tbWFuZCwgYXJndW1lbnQpKTsKK30KKwogYm9vbCBQbGF5YmFja1Nlc3Np
b25NYW5hZ2VyUHJveHk6OndpcmVsZXNzVmlkZW9QbGF5YmFja0Rpc2FibGVkKCkKIHsKICAgICBh
dXRvIGl0ID0gbV9jb250ZXh0TWFwLmZpbmQobV9jb250cm9sc01hbmFnZXJDb250ZXh0SWQpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9HUFVQcm9jZXNzQ29ubmVj
dGlvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL0dQVVByb2Nlc3NDb25uZWN0
aW9uLmNwcAppbmRleCA0NDdhMjFhNGQ1ODE5YWM4ZmRjZWVkMWU4MDg3Njk4NGEzODM3MTY0Li5j
NTc2OWQ4ZmYwYWRlMjQzNDg2NDlhNjBiNDNkMjk5MjAxNWU3N2JmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL0dQVVByb2Nlc3NDb25uZWN0aW9uLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL0dQVVByb2Nlc3NDb25uZWN0aW9uLmNwcApAQCAt
MTg5LDcgKzE4OSw3IEBAIGJvb2wgR1BVUHJvY2Vzc0Nvbm5lY3Rpb246OmRpc3BhdGNoU3luY01l
c3NhZ2UoSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBJUEM6CiAgICAgcmV0dXJuIG1lc3Nh
Z2VSZWNlaXZlck1hcCgpLmRpc3BhdGNoU3luY01lc3NhZ2UoY29ubmVjdGlvbiwgZGVjb2Rlciwg
cmVwbHlFbmNvZGVyKTsKIH0KIAotdm9pZCBHUFVQcm9jZXNzQ29ubmVjdGlvbjo6ZGlkUmVjZWl2
ZVJlbW90ZUNvbW1hbmQoUGxhdGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbnRyb2xDb21tYW5k
VHlwZSB0eXBlLCBPcHRpb25hbDxkb3VibGU+IGFyZ3VtZW50KQordm9pZCBHUFVQcm9jZXNzQ29u
bmVjdGlvbjo6ZGlkUmVjZWl2ZVJlbW90ZUNvbW1hbmQoUGxhdGZvcm1NZWRpYVNlc3Npb246OlJl
bW90ZUNvbnRyb2xDb21tYW5kVHlwZSB0eXBlLCBjb25zdCBQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6
UmVtb3RlQ29tbWFuZEFyZ3VtZW50JiBhcmd1bWVudCkKIHsKICAgICBQbGF0Zm9ybU1lZGlhU2Vz
c2lvbk1hbmFnZXI6OnNoYXJlZE1hbmFnZXIoKS5wcm9jZXNzRGlkUmVjZWl2ZVJlbW90ZUNvbnRy
b2xDb21tYW5kKHR5cGUsIGFyZ3VtZW50KTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc0Nvbm5lY3Rpb24uaCBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc0Nvbm5lY3Rpb24uaAppbmRleCBiMGE0NTVhZGUzYzY3NGZj
OWYzNDAzZmU2NDJhNGE1MjBjOTQwOTEyLi4wYjdiZjhhOTcxZjY2YWRhYjUxZGM3MzU1MWM4YTAx
M2Q3MWU5NGZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL0dQVVBy
b2Nlc3NDb25uZWN0aW9uLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9HUFVQ
cm9jZXNzQ29ubmVjdGlvbi5oCkBAIC0xMDksNyArMTA5LDcgQEAgcHJpdmF0ZToKICAgICBib29s
IGRpc3BhdGNoTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6OkRlY29kZXImKTsKICAgICBi
b29sIGRpc3BhdGNoU3luY01lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwgSVBDOjpEZWNvZGVyJiwg
c3RkOjp1bmlxdWVfcHRyPElQQzo6RW5jb2Rlcj4mKTsKIAotICAgIHZvaWQgZGlkUmVjZWl2ZVJl
bW90ZUNvbW1hbmQoV2ViQ29yZTo6UGxhdGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbnRyb2xD
b21tYW5kVHlwZSwgT3B0aW9uYWw8ZG91YmxlPik7CisgICAgdm9pZCBkaWRSZWNlaXZlUmVtb3Rl
Q29tbWFuZChXZWJDb3JlOjpQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3RlQ29udHJvbENvbW1h
bmRUeXBlLCBjb25zdCBXZWJDb3JlOjpQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3RlQ29tbWFu
ZEFyZ3VtZW50Jik7CiAKICAgICAvLyBUaGUgY29ubmVjdGlvbiBmcm9tIHRoZSB3ZWIgcHJvY2Vz
cyB0byB0aGUgR1BVIHByb2Nlc3MuCiAgICAgUmVmPElQQzo6Q29ubmVjdGlvbj4gbV9jb25uZWN0
aW9uOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9HUFVQcm9jZXNz
Q29ubmVjdGlvbi5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvR1BV
UHJvY2Vzc0Nvbm5lY3Rpb24ubWVzc2FnZXMuaW4KaW5kZXggMTgxZjNlZWI2MTk4NGZmM2MxYjYz
ZjU3YTRjOGVjOWJmYmM3ODVjNS4uODVhNmZjZDczN2M3NDlkOWZmNDBkYjE4MDFhNjZkZGM4YmE0
OTVkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9HUFVQcm9jZXNz
Q29ubmVjdGlvbi5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BV
L0dQVVByb2Nlc3NDb25uZWN0aW9uLm1lc3NhZ2VzLmluCkBAIC0yMyw3ICsyMyw3IEBACiAjaWYg
RU5BQkxFKEdQVV9QUk9DRVNTKQogCiBtZXNzYWdlcyAtPiBHUFVQcm9jZXNzQ29ubmVjdGlvbiBX
YW50c0Rpc3BhdGNoTWVzc2FnZSB7Ci0gICAgRGlkUmVjZWl2ZVJlbW90ZUNvbW1hbmQoZW51bTp1
aW50OF90IFdlYkNvcmU6OlBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb250cm9sQ29tbWFu
ZFR5cGUgdHlwZSwgT3B0aW9uYWw8ZG91YmxlPiBhcmd1bWVudCkKKyAgICBEaWRSZWNlaXZlUmVt
b3RlQ29tbWFuZChlbnVtOnVpbnQ4X3QgV2ViQ29yZTo6UGxhdGZvcm1NZWRpYVNlc3Npb246OlJl
bW90ZUNvbnRyb2xDb21tYW5kVHlwZSB0eXBlLCBzdHJ1Y3QgV2ViQ29yZTo6UGxhdGZvcm1NZWRp
YVNlc3Npb246OlJlbW90ZUNvbW1hbmRBcmd1bWVudCBhcmd1bWVudCkKIH0KIAogI2VuZGlmIC8v
IEVOQUJMRShHUFVfUFJPQ0VTUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9HUFUvbWVkaWEvUmVtb3RlUmVtb3RlQ29tbWFuZExpc3RlbmVyLm1lc3NhZ2VzLmluIGIvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVu
ZXIubWVzc2FnZXMuaW4KaW5kZXggYzk1YTBlMThiOWM2OTQ5MGYzMmRhZDIzZmNiZTk3M2VjMTdl
YWExYy4uNWUxMTk1MDg1NTNiY2Q0NTBjNDAwYzJkYWYxMjllZWU0MmFmM2Q1MCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVSZW1vdGVDb21tYW5k
TGlzdGVuZXIubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9t
ZWRpYS9SZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXIubWVzc2FnZXMuaW4KQEAgLTI2LDcgKzI2
LDcgQEAKICNpZiBFTkFCTEUoR1BVX1BST0NFU1MpCiAKIG1lc3NhZ2VzIC0+IFJlbW90ZVJlbW90
ZUNvbW1hbmRMaXN0ZW5lciBOb3RSZWZDb3VudGVkIHsKLSAgICBEaWRSZWNlaXZlUmVtb3RlQ29u
dHJvbENvbW1hbmQoZW51bTp1aW50OF90IFdlYkNvcmU6OlBsYXRmb3JtTWVkaWFTZXNzaW9uOjpS
ZW1vdGVDb250cm9sQ29tbWFuZFR5cGUgY29tbWFuZCwgT3B0aW9uYWw8ZG91YmxlPiBhcmd1bWVu
dCkKKyAgICBEaWRSZWNlaXZlUmVtb3RlQ29udHJvbENvbW1hbmQoZW51bTp1aW50OF90IFdlYkNv
cmU6OlBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb250cm9sQ29tbWFuZFR5cGUgY29tbWFu
ZCwgc3RydWN0IFdlYkNvcmU6OlBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb21tYW5kQXJn
dW1lbnQgYXJndW1lbnQpCiB9CiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL2NvY29hL1BsYXliYWNrU2Vzc2lvbk1hbmFnZXIuaCBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9jb2NvYS9QbGF5YmFja1Nlc3Npb25NYW5hZ2VyLmgKaW5kZXggMGM2YmQ3MTcy
MDJiMTc4MmRjYjMyZjdkNjk2ODI0ODgzZTUyODRmZC4uYzdkMGUyNDg2NTZlODJhNmYzYThmNjIy
YjE0MjljZjIwNWI5Y2Y3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2Nv
Y29hL1BsYXliYWNrU2Vzc2lvbk1hbmFnZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvY29jb2EvUGxheWJhY2tTZXNzaW9uTWFuYWdlci5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAq
IENvcHlyaWdodCAoQykgMjAxNi0yMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqIENvcHlyaWdodCAoQykgMjAxNi0yMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMzIsNiArMzIsNyBAQAogI2lu
Y2x1ZGUgPFdlYkNvcmUvRXZlbnRMaXN0ZW5lci5oPgogI2luY2x1ZGUgPFdlYkNvcmUvSFRNTE1l
ZGlhRWxlbWVudEVudW1zLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9QbGF0Zm9ybUNBTGF5ZXIuaD4K
KyNpbmNsdWRlIDxXZWJDb3JlL1BsYXRmb3JtTWVkaWFTZXNzaW9uLmg+CiAjaW5jbHVkZSA8V2Vi
Q29yZS9QbGF5YmFja1Nlc3Npb25Nb2RlbE1lZGlhRWxlbWVudC5oPgogI2luY2x1ZGUgPHd0Zi9I
YXNoQ291bnRlZFNldC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CkBAIC0xNjEsNiArMTYy
LDcgQEAgcHJvdGVjdGVkOgogICAgIHZvaWQgc2V0TXV0ZWQoUGxheWJhY2tTZXNzaW9uQ29udGV4
dElkZW50aWZpZXIsIGJvb2wgbXV0ZWQpOwogICAgIHZvaWQgc2V0Vm9sdW1lKFBsYXliYWNrU2Vz
c2lvbkNvbnRleHRJZGVudGlmaWVyLCBkb3VibGUgdm9sdW1lKTsKICAgICB2b2lkIHNldFBsYXlp
bmdPblNlY29uZFNjcmVlbihQbGF5YmFja1Nlc3Npb25Db250ZXh0SWRlbnRpZmllciwgYm9vbCB2
YWx1ZSk7CisgICAgdm9pZCBzZW5kUmVtb3RlQ29tbWFuZChQbGF5YmFja1Nlc3Npb25Db250ZXh0
SWRlbnRpZmllciwgV2ViQ29yZTo6UGxhdGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbnRyb2xD
b21tYW5kVHlwZSwgY29uc3QgV2ViQ29yZTo6UGxhdGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNv
bW1hbmRBcmd1bWVudCYpOwogCiAgICAgV2ViUGFnZSogbV9wYWdlOwogICAgIEhhc2hNYXA8V2Vi
Q29yZTo6SFRNTE1lZGlhRWxlbWVudCosIFBsYXliYWNrU2Vzc2lvbkNvbnRleHRJZGVudGlmaWVy
PiBtX21lZGlhRWxlbWVudHM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
Y29jb2EvUGxheWJhY2tTZXNzaW9uTWFuYWdlci5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9jb2NvYS9QbGF5YmFja1Nlc3Npb25NYW5hZ2VyLm1lc3NhZ2VzLmluCmluZGV4
IDEyYzdiYWI1MDJiMDdiMGE3MzZlNjVlNmJiMTUzODdhOTRhMTJlZDIuLjNkODJhMWZiNmVmOTRl
Y2Q4NTA2ODlhMTllNDg3ZjVjMTQ2YmNmMmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9jb2NvYS9QbGF5YmFja1Nlc3Npb25NYW5hZ2VyLm1lc3NhZ2VzLmluCisrKyBiL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9QbGF5YmFja1Nlc3Npb25NYW5hZ2VyLm1lc3Nh
Z2VzLmluCkBAIC0xLDQgKzEsNCBAQAotIyBDb3B5cmlnaHQgKEMpIDIwMTYtMjAyMCBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjIENvcHlyaWdodCAoQykgMjAxNi0yMDIxIEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICMKICMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAjIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpA
QCAtNDEsNSArNDEsNiBAQCBtZXNzYWdlcyAtPiBQbGF5YmFja1Nlc3Npb25NYW5hZ2VyIHsKICAg
ICBTZXRNdXRlZChXZWJLaXQ6OlBsYXliYWNrU2Vzc2lvbkNvbnRleHRJZGVudGlmaWVyIGNvbnRl
eHRJZCwgYm9vbCBtdXRlZCkKICAgICBTZXRWb2x1bWUoV2ViS2l0OjpQbGF5YmFja1Nlc3Npb25D
b250ZXh0SWRlbnRpZmllciBjb250ZXh0SWQsIGRvdWJsZSB2b2x1bWUpCiAgICAgU2V0UGxheWlu
Z09uU2Vjb25kU2NyZWVuKFdlYktpdDo6UGxheWJhY2tTZXNzaW9uQ29udGV4dElkZW50aWZpZXIg
Y29udGV4dElkLCBib29sIHZhbHVlKQorICAgIFNlbmRSZW1vdGVDb21tYW5kKFdlYktpdDo6UGxh
eWJhY2tTZXNzaW9uQ29udGV4dElkZW50aWZpZXIgY29udGV4dElkLCBlbnVtOnVpbnQ4X3QgV2Vi
Q29yZTo6UGxhdGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbnRyb2xDb21tYW5kVHlwZSB0eXBl
LCBzdHJ1Y3QgV2ViQ29yZTo6UGxhdGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbW1hbmRBcmd1
bWVudCBhcmd1bWVudCkKIH0KICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL2NvY29hL1BsYXliYWNrU2Vzc2lvbk1hbmFnZXIubW0gYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvY29jb2EvUGxheWJhY2tTZXNzaW9uTWFuYWdlci5tbQppbmRleCA5MjBmYjk0YjVl
ZWY3ODMwZDFmMGI5ZjIxNGFmOWFiNjUzNzk0ODNmLi5hZTQ0ZGVmYTkwNTMxZDQyOTVjZGI0ZmFl
N2Q4MjE0MDU0OGFjMzU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29j
b2EvUGxheWJhY2tTZXNzaW9uTWFuYWdlci5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvY29jb2EvUGxheWJhY2tTZXNzaW9uTWFuYWdlci5tbQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0g
KiBDb3B5cmlnaHQgKEMpIDIwMTYtMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTYtMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTUxOCw2ICs1MTgsMTIgQEAg
dm9pZCBQbGF5YmFja1Nlc3Npb25NYW5hZ2VyOjpzZXRQbGF5aW5nT25TZWNvbmRTY3JlZW4oUGxh
eWJhY2tTZXNzaW9uQ29udGV4dElkZW4KICAgICBlbnN1cmVNb2RlbChjb250ZXh0SWQpLnNldFBs
YXlpbmdPblNlY29uZFNjcmVlbih2YWx1ZSk7CiB9CiAKK3ZvaWQgUGxheWJhY2tTZXNzaW9uTWFu
YWdlcjo6c2VuZFJlbW90ZUNvbW1hbmQoUGxheWJhY2tTZXNzaW9uQ29udGV4dElkZW50aWZpZXIg
Y29udGV4dElkLCBXZWJDb3JlOjpQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3RlQ29udHJvbENv
bW1hbmRUeXBlIGNvbW1hbmQsIGNvbnN0IFdlYkNvcmU6OlBsYXRmb3JtTWVkaWFTZXNzaW9uOjpS
ZW1vdGVDb21tYW5kQXJndW1lbnQmIGFyZ3VtZW50KQoreworICAgIFVzZXJHZXN0dXJlSW5kaWNh
dG9yIGluZGljYXRvcihQcm9jZXNzaW5nVXNlckdlc3R1cmUpOworICAgIGVuc3VyZU1vZGVsKGNv
bnRleHRJZCkuc2VuZFJlbW90ZUNvbW1hbmQoY29tbWFuZCwgYXJndW1lbnQpOworfQorCiB9IC8v
IG5hbWVzcGFjZSBXZWJLaXQKIAogI2VuZGlmIC8vIFBMQVRGT1JNKElPU19GQU1JTFkpIHx8IChQ
TEFURk9STShNQUMpICYmIEVOQUJMRShWSURFT19QUkVTRU5UQVRJT05fTU9ERSkpCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>