<?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>96913</bug_id>
          
          <creation_ts>2012-09-17 06:19:59 -0700</creation_ts>
          <short_desc>Web Inspector: NMI: now when we can detect instrumented classes we can remove addInstrumentedMember and use addMember for everything</short_desc>
          <delta_ts>2012-09-17 08:12:15 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Inspector (Deprecated)</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Ilya Tikhonovsky">loislo</reporter>
          <assigned_to name="Ilya Tikhonovsky">loislo</assigned_to>
          <cc>abarth</cc>
    
    <cc>alph</cc>
    
    <cc>apavlov</cc>
    
    <cc>benjamin</cc>
    
    <cc>bweinstein</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>eric</cc>
    
    <cc>feature-media-reviews</cc>
    
    <cc>fmalita</cc>
    
    <cc>haraken</cc>
    
    <cc>japhet</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>pdr</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>rik</cc>
    
    <cc>schenney</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>721847</commentid>
    <comment_count>0</comment_count>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2012-09-17 06:19:59 -0700</bug_when>
    <thetext>EOM</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>721856</commentid>
    <comment_count>1</comment_count>
      <attachid>164381</attachid>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2012-09-17 06:24:25 -0700</bug_when>
    <thetext>Created attachment 164381
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>721875</commentid>
    <comment_count>2</comment_count>
      <attachid>164381</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2012-09-17 06:37:24 -0700</bug_when>
    <thetext>Comment on attachment 164381
Patch

Before switching to the new instrumentaion we should make sure it works, in particular the problem with MemoryInstrumentationTest failure should be addressed first: http://trac.webkit.org/changeset/128744</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>721879</commentid>
    <comment_count>3</comment_count>
      <attachid>164387</attachid>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2012-09-17 06:47:07 -0700</bug_when>
    <thetext>Created attachment 164387
comment addressed - visited check returned</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>721887</commentid>
    <comment_count>4</comment_count>
      <attachid>164388</attachid>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2012-09-17 06:58:36 -0700</bug_when>
    <thetext>Created attachment 164388
rebaselined</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>721945</commentid>
    <comment_count>5</comment_count>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2012-09-17 08:12:15 -0700</bug_when>
    <thetext>Committed r128762: &lt;http://trac.webkit.org/changeset/128762&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>164381</attachid>
            <date>2012-09-17 06:24:25 -0700</date>
            <delta_ts>2012-09-17 06:46:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-96913-20120917172352.patch</filename>
            <type>text/plain</type>
            <size>102977</size>
            <attacher name="Ilya Tikhonovsky">loislo</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI4NzQ4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDE3ZWY1YjgyYTFhNGNkZmEwMDAxODcz
NDQ1NjY4Yjc4MjM0YzMyYWUuLjk1NmZkZjM2ZjFkOTQ0OWU1ZTc1ZGJlNDM4MjE1MTU1ZWJkNTk1
YzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDUgKzEsMzQgQEAKIDIwMTItMDktMTcgIElseWEgVGlraG9ub3Zza3kgIDxs
b2lzbG9AY2hyb21pdW0ub3JnPgogCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IE5NSTogbm93IHdo
ZW4gd2UgY2FuIGRldGVjdCBpbnN0cnVtZW50ZWQgY2xhc3NlcyB3ZSBjYW4KKyAgICAgICAgcmVt
b3ZlIGFkZEluc3RydW1lbnRlZE1lbWJlciBhbmQgdXNlIGFkZE1lbWJlciBmb3IgZXZlcnl0aGlu
Zy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk2OTEz
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3dGYv
TWVtb3J5SW5zdHJ1bWVudGF0aW9uLmg6CisgICAgICAgIChXVEY6Ok1lbW9yeUluc3RydW1lbnRh
dGlvbjo6YWRkUm9vdE9iamVjdCk6CisgICAgICAgIChXVEY6Ok1lbW9yeUluc3RydW1lbnRhdGlv
bjo6YWRkT2JqZWN0KToKKyAgICAgICAgKFdURjo6TWVtb3J5SW5zdHJ1bWVudGF0aW9uOjphZGRP
YmplY3RJbXBsKToKKyAgICAgICAgKFdURik6CisgICAgICAgIChXVEY6Ok1lbW9yeUluc3RydW1l
bnRhdGlvbjo6YWRkSW5zdHJ1bWVudGVkQ29sbGVjdGlvbik6CisgICAgICAgIChXVEY6Ok1lbW9y
eUluc3RydW1lbnRhdGlvbjo6YWRkSW5zdHJ1bWVudGVkTWFwRW50cmllcyk6CisgICAgICAgIChX
VEY6Ok1lbW9yeUluc3RydW1lbnRhdGlvbjo6YWRkSW5zdHJ1bWVudGVkTWFwVmFsdWVzKToKKyAg
ICAgICAgKiB3dGYvdGV4dC9BdG9taWNTdHJpbmcuY3BwOgorICAgICAgICAoV1RGOjpBdG9taWNT
dHJpbmc6OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiB3dGYvdGV4dC9DU3RyaW5nLmg6
CisgICAgICAgIChXVEY6OkNTdHJpbmc6OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiB3
dGYvdGV4dC9TdHJpbmdJbXBsLmNwcDoKKyAgICAgICAgKFdURjo6U3RyaW5nSW1wbDo6cmVwb3J0
TWVtb3J5VXNhZ2UpOgorICAgICAgICAqIHd0Zi90ZXh0L1dURlN0cmluZy5jcHA6CisgICAgICAg
IChXVEY6OlN0cmluZzo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAgICAgICAqIHd0Zi91cmwvYXBp
L1BhcnNlZFVSTC5jcHA6CisgICAgICAgIChXVEY6OlBhcnNlZFVSTDo6cmVwb3J0TWVtb3J5VXNh
Z2UpOgorICAgICAgICAqIHd0Zi91cmwvYXBpL1VSTFN0cmluZy5jcHA6CisgICAgICAgIChXVEY6
OlVSTFN0cmluZzo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorCisyMDEyLTA5LTE3ICBJbHlhIFRpa2hv
bm92c2t5ICA8bG9pc2xvQGNocm9taXVtLm9yZz4KKwogICAgICAgICBVbnJldmlld2VkIGNvbXBp
bGF0aW9uIGZpeC4KIAogICAgICAgICAqIHd0Zi9NZW1vcnlJbnN0cnVtZW50YXRpb24uaDoKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwppbmRleCA5YmUzMjg0NWY2YTg4MGQ4MWMwNTI0ZjZmOGZlM2EzYTM5NmIwOGFjLi4xNDhm
ODIzYjVmMDM0NzQ3NWEwNjExY2NjOWNkYWNlZDY3YmI4NTc1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTkzIEBACisyMDEyLTA5LTE3ICBJbHlhIFRpa2hvbm92c2t5ICA8bG9pc2xvQGNocm9taXVt
Lm9yZz4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBOTUk6IG5vdyB3aGVuIHdlIGNhbiBkZXRl
Y3QgaW5zdHJ1bWVudGVkIGNsYXNzZXMgd2UgY2FuCisgICAgICAgIHJlbW92ZSBhZGRJbnN0cnVt
ZW50ZWRNZW1iZXIgYW5kIHVzZSBhZGRNZW1iZXIgZm9yIGV2ZXJ5dGhpbmcuCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NjkxMworCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogYmluZGluZ3MvdjgvRE9NRGF0
YVN0b3JlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRPTURhdGFTdG9yZTo6cmVwb3J0TWVtb3J5
VXNhZ2UpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L0ludHJ1c2l2ZURPTVdyYXBwZXJNYXAuaDoK
KyAgICAgICAgKiBiaW5kaW5ncy92OC9WOFBlcklzb2xhdGVEYXRhLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlY4UGVySXNvbGF0ZURhdGE6OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBj
c3MvQ1NTQm9yZGVySW1hZ2VTbGljZVZhbHVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU0Jv
cmRlckltYWdlU2xpY2VWYWx1ZTo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKToKKyAgICAg
ICAgKiBjc3MvQ1NTQ2FsY3VsYXRpb25WYWx1ZS5jcHA6CisgICAgICAgICogY3NzL0NTU0NhbnZh
c1ZhbHVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU0NhbnZhc1ZhbHVlOjpyZXBvcnREZXNj
ZW5kYW50TWVtb3J5VXNhZ2UpOgorICAgICAgICAqIGNzcy9DU1NDaGFyc2V0UnVsZS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpDU1NDaGFyc2V0UnVsZTo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVz
YWdlKToKKyAgICAgICAgKiBjc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkNTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbjo6cmVwb3J0TWVtb3J5
VXNhZ2UpOgorICAgICAgICAqIGNzcy9DU1NDcm9zc2ZhZGVWYWx1ZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpDU1NDcm9zc2ZhZGVWYWx1ZTo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKToK
KyAgICAgICAgKiBjc3MvQ1NTRm9udEZhY2VSdWxlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNT
U0ZvbnRGYWNlUnVsZTo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBj
c3MvQ1NTRm9udEZhY2VTcmNWYWx1ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NGb250RmFj
ZVNyY1ZhbHVlOjpyZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2UpOgorICAgICAgICAqIGNzcy9D
U1NGdW5jdGlvblZhbHVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU0Z1bmN0aW9uVmFsdWU6
OnJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZSk6CisgICAgICAgICogY3NzL0NTU0dyYWRpZW50
VmFsdWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTR3JhZGllbnRDb2xvclN0b3A6OnJlcG9y
dE1lbW9yeVVzYWdlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0dyYWRpZW50VmFsdWU6OnJlcG9y
dEJhc2VDbGFzc01lbW9yeVVzYWdlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0xpbmVhckdyYWRp
ZW50VmFsdWU6OnJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZSk6CisgICAgICAgIChXZWJDb3Jl
OjpDU1NSYWRpYWxHcmFkaWVudFZhbHVlOjpyZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2UpOgor
ICAgICAgICAqIGNzcy9DU1NJbWFnZVNldFZhbHVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNT
U0ltYWdlU2V0VmFsdWU6OkltYWdlV2l0aFNjYWxlOjpyZXBvcnRNZW1vcnlVc2FnZSk6CisgICAg
ICAgICogY3NzL0NTU0ltYWdlVmFsdWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTSW1hZ2VW
YWx1ZTo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBjc3MvQ1NTSW1w
b3J0UnVsZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NJbXBvcnRSdWxlOjpyZXBvcnREZXNj
ZW5kYW50TWVtb3J5VXNhZ2UpOgorICAgICAgICAqIGNzcy9DU1NNZWRpYVJ1bGUuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Q1NTTWVkaWFSdWxlOjpyZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2Up
OgorICAgICAgICAqIGNzcy9DU1NQYWdlUnVsZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NQ
YWdlUnVsZTo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBjc3MvQ1NT
UHJpbWl0aXZlVmFsdWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJpbWl0aXZlVmFsdWU6
OnJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZSk6CisgICAgICAgICogY3NzL0NTU1Byb3BlcnR5
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1Byb3BlcnR5OjpyZXBvcnRNZW1vcnlVc2FnZSk6
CisgICAgICAgICogY3NzL0NTU1JlZmxlY3RWYWx1ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpD
U1NSZWZsZWN0VmFsdWU6OnJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZSk6CisgICAgICAgICog
Y3NzL0NTU1J1bGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUnVsZTo6cmVwb3J0QmFzZUNs
YXNzTWVtb3J5VXNhZ2UpOgorICAgICAgICAqIGNzcy9DU1NSdWxlTGlzdC5oOgorICAgICAgICAq
IGNzcy9DU1NTdHlsZVJ1bGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTU3R5bGVSdWxlOjpy
ZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2UpOgorICAgICAgICAqIGNzcy9DU1NTdHlsZVNoZWV0
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1N0eWxlU2hlZXQ6OnJlcG9ydE1lbW9yeVVzYWdl
KToKKyAgICAgICAgKiBjc3MvQ1NTVmFsdWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VGV4dENs
b25lQ1NTVmFsdWU6OnJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZSk6CisgICAgICAgICogY3Nz
L0NTU1ZhcmlhYmxlVmFsdWUuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1ZhcmlhYmxlVmFsdWU6
OnJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZSk6CisgICAgICAgICogY3NzL0ZvbnRGZWF0dXJl
VmFsdWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Rm9udEZlYXR1cmVWYWx1ZTo6cmVwb3J0RGVz
Y2VuZGFudE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBjc3MvRm9udFZhbHVlLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkZvbnRWYWx1ZTo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKToKKyAg
ICAgICAgKiBjc3MvTWVkaWFMaXN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhTGlzdDo6
cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAgICAgICAqIGNzcy9NZWRpYVF1ZXJ5LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6Ok1lZGlhUXVlcnk6OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBj
c3MvTWVkaWFRdWVyeUV4cC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVF1ZXJ5RXhwOjpy
ZXBvcnRNZW1vcnlVc2FnZSk6CisgICAgICAgICogY3NzL1Byb3BlcnR5U2V0Q1NTU3R5bGVEZWNs
YXJhdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQcm9wZXJ0eVNldENTU1N0eWxlRGVjbGFy
YXRpb246OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUnVsZUNT
U1N0eWxlRGVjbGFyYXRpb246OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAgKFdlYkNvcmU6
OklubGluZUNTU1N0eWxlRGVjbGFyYXRpb246OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAg
KiBjc3MvU2hhZG93VmFsdWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2hhZG93VmFsdWU6OnJl
cG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZSk6CisgICAgICAgICogY3NzL1N0eWxlUHJvcGVydHlT
ZXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVQcm9wZXJ0eVNldDo6cmVwb3J0TWVtb3J5
VXNhZ2UpOgorICAgICAgICAqIGNzcy9TdHlsZVJlc29sdmVyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlN0eWxlUmVzb2x2ZXI6OmNvbGxlY3RNYXRjaGluZ1J1bGVzRm9yTGlzdCk6CisgICAgICAg
ICogY3NzL1N0eWxlUnVsZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJ1bGU6OnJlcG9y
dERlc2NlbmRhbnRNZW1vcnlVc2FnZSk6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJ1bGVQYWdl
OjpyZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2UpOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVS
dWxlRm9udEZhY2U6OnJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZSk6CisgICAgICAgIChXZWJD
b3JlOjpTdHlsZVJ1bGVNZWRpYTo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKToKKyAgICAg
ICAgKFdlYkNvcmU6OlN0eWxlUnVsZVJlZ2lvbjo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdl
KToKKyAgICAgICAgKiBjc3MvU3R5bGVSdWxlSW1wb3J0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlN0eWxlUnVsZUltcG9ydDo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKToKKyAgICAgICAg
KiBjc3MvU3R5bGVTaGVldENvbnRlbnRzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlU2hl
ZXRDb250ZW50czo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAgICAgICAqIGNzcy9XZWJLaXRDU1NL
ZXlmcmFtZVJ1bGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVLZXlmcmFtZTo6cmVwb3J0
TWVtb3J5VXNhZ2UpOgorICAgICAgICAoV2ViQ29yZTo6V2ViS2l0Q1NTS2V5ZnJhbWVSdWxlOjpy
ZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2UpOgorICAgICAgICAqIGNzcy9XZWJLaXRDU1NLZXlm
cmFtZXNSdWxlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUnVsZUtleWZyYW1lczo6cmVw
b3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKToKKyAgICAgICAgKFdlYkNvcmU6OldlYktpdENTU0tl
eWZyYW1lc1J1bGU6OnJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZSk6CisgICAgICAgICogY3Nz
L1dlYktpdENTU1JlZ2lvblJ1bGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2ViS2l0Q1NTUmVn
aW9uUnVsZTo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBjc3MvV2Vi
S2l0Q1NTU1ZHRG9jdW1lbnRWYWx1ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJLaXRDU1NT
VkdEb2N1bWVudFZhbHVlOjpyZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2UpOgorICAgICAgICAq
IGNzcy9XZWJLaXRDU1NTaGFkZXJWYWx1ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJLaXRD
U1NTaGFkZXJWYWx1ZTo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBk
b20vQXR0cmlidXRlLmg6CisgICAgICAgIChXZWJDb3JlOjpBdHRyaWJ1dGU6OnJlcG9ydE1lbW9y
eVVzYWdlKToKKyAgICAgICAgKiBkb20vQ2hhcmFjdGVyRGF0YS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpDaGFyYWN0ZXJEYXRhOjpyZXBvcnRNZW1vcnlVc2FnZSk6CisgICAgICAgICogZG9tL0Nv
bnRhaW5lck5vZGUuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRhaW5lck5vZGU6OnJlcG9ydE1l
bW9yeVVzYWdlKToKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6RG9jdW1lbnQ6OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBkb20vRWxlbWVudC5o
OgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAgICAg
ICAqIGRvbS9FbGVtZW50QXR0cmlidXRlRGF0YS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFbGVt
ZW50QXR0cmlidXRlRGF0YTo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAgICAgICAqIGRvbS9FdmVu
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFdmVudDo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAg
ICAgICAqIGRvbS9Ob2RlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5vZGU6OnJlcG9ydE1lbW9y
eVVzYWdlKToKKyAgICAgICAgKiBkb20vUXVhbGlmaWVkTmFtZS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpRdWFsaWZpZWROYW1lOjpyZXBvcnRNZW1vcnlVc2FnZSk6CisgICAgICAgIChXZWJDb3Jl
OjpRdWFsaWZpZWROYW1lOjpRdWFsaWZpZWROYW1lSW1wbDo6cmVwb3J0TWVtb3J5VXNhZ2UpOgor
ICAgICAgICAqIGh0bWwvSFRNTEltYWdlRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpI
VE1MSW1hZ2VFbGVtZW50OjpyZXBvcnRNZW1vcnlVc2FnZSk6CisgICAgICAgICogbG9hZGVyL0Rv
Y3VtZW50TG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50TG9hZGVyOjpyZXBv
cnRNZW1vcnlVc2FnZSk6CisgICAgICAgICogbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyOjpyZXBvcnRNZW1vcnlVc2FnZSk6CisgICAgICAgICog
bG9hZGVyL01haW5SZXNvdXJjZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNYWluUmVz
b3VyY2VMb2FkZXI6OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBsb2FkZXIvUmVzb3Vy
Y2VMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VMb2FkZXI6OnJlcG9ydE1l
bW9yeVVzYWdlKToKKyAgICAgICAgKiBsb2FkZXIvU3VicmVzb3VyY2VMb2FkZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6U3VicmVzb3VyY2VMb2FkZXI6OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAg
ICAgICAgKiBsb2FkZXIvU3Vic3RpdHV0ZURhdGEuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3Vi
c3RpdHV0ZURhdGE6OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUv
Q2FjaGVkQ1NTU3R5bGVTaGVldC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRDU1NTdHls
ZVNoZWV0OjpyZXBvcnRNZW1vcnlVc2FnZSk6CisgICAgICAgICogbG9hZGVyL2NhY2hlL0NhY2hl
ZEZvbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkRm9udDo6cmVwb3J0TWVtb3J5VXNh
Z2UpOgorICAgICAgICAqIGxvYWRlci9jYWNoZS9DYWNoZWRJbWFnZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpDYWNoZWRJbWFnZTo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAgICAgICAqIGxvYWRl
ci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNv
dXJjZTo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAgICAgICAqIGxvYWRlci9jYWNoZS9DYWNoZWRS
ZXNvdXJjZUhhbmRsZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZUhhbmRs
ZUJhc2U6OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVk
UmVzb3VyY2VMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2VMb2Fk
ZXI6OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkU1ZH
RG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkU1ZHRG9jdW1lbnQ6OnJlcG9y
dE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkU2NyaXB0LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFNjcmlwdDo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAg
ICAgICAqIGxvYWRlci9jYWNoZS9DYWNoZWRTaGFkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
Q2FjaGVkU2hhZGVyOjpyZXBvcnRNZW1vcnlVc2FnZSk6CisgICAgICAgICogbG9hZGVyL2NhY2hl
L0NhY2hlZFhTTFN0eWxlU2hlZXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkWFNMU3R5
bGVTaGVldDo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAgICAgICAqIGxvYWRlci9jYWNoZS9NZW1v
cnlDYWNoZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZW1vcnlDYWNoZTo6cmVwb3J0TWVtb3J5
VXNhZ2UpOgorICAgICAgICAqIHBhZ2UvRnJhbWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJh
bWU6OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9LVVJMLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OktVUkw6OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBwbGF0
Zm9ybS9LVVJMR29vZ2xlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OktVUkxHb29nbGVQcml2YXRl
OjpyZXBvcnRNZW1vcnlVc2FnZSk6CisgICAgICAgICogcGxhdGZvcm0vS1VSTFdURlVSTEltcGwu
aDoKKyAgICAgICAgKFdlYkNvcmU6OktVUkxXVEZVUkxJbXBsOjpyZXBvcnRNZW1vcnlVc2FnZSk6
CisgICAgICAgICogcGxhdGZvcm0vVHJlZVNoYXJlZC5oOgorICAgICAgICAoV2ViQ29yZTo6VHJl
ZVNoYXJlZDo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L0Nyb3NzZmFkZUdlbmVyYXRlZEltYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNyb3NzZmFk
ZUdlbmVyYXRlZEltYWdlOjpyZXBvcnRNZW1vcnlVc2FnZSk6CisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvSW1hZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2U6OnJlcG9ydE1lbW9y
eVVzYWdlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2Uu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0QmFzZTo6cmVwb3J0TWVtb3J5
VXNhZ2UpOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXNwb25zZUJhc2Uu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZUJhc2U6OnJlcG9ydE1lbW9y
eVVzYWdlKToKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvRGF0YVJlZi5oOgorICAgICAgICAo
V2ViQ29yZTo6RGF0YVJlZjo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAgICAgICAqIHJlbmRlcmlu
Zy9zdHlsZS9SZW5kZXJTdHlsZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6
cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVJ
bmhlcml0ZWREYXRhLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUmFyZUluaGVyaXRlZERh
dGE6OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvU3R5bGVS
YXJlTm9uSW5oZXJpdGVkRGF0YS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJhcmVOb25J
bmhlcml0ZWREYXRhOjpyZXBvcnRNZW1vcnlVc2FnZSk6CisgICAgICAgICogc3ZnL1NWR1BhaW50
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1BhaW50OjpyZXBvcnREZXNjZW5kYW50TWVtb3J5
VXNhZ2UpOgorICAgICAgICAqIHN2Zy9ncmFwaGljcy9TVkdJbWFnZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpTVkdJbWFnZTo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorCiAyMDEyLTA5LTE3ICBBbGVq
YW5kcm8gUGnDsWVpcm8gIDxhcGluaGVpcm9AaWdhbGlhLmNvbT4KIAogICAgICAgICBBWDogUmVn
cmVzc2lvbiAocjEyNjM2OSkgLSB0b2dnbGUgYnV0dG9ucyBubyBsb25nZXIgcmV0dXJuIGFjY2Vz
c2libGUgdGl0bGVzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IGY2MGYzNTU5NTRjMzAy
NWU5YTUxM2MwZDEzNDkwY2MzM2ZhYjdmMGEuLjliZGJmMzI4ODU5YmFjZGUyNTE5MTkwYWExMmQy
ZmY5MTllNDIxMGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMTggQEAK
IDIwMTItMDktMTcgIElseWEgVGlraG9ub3Zza3kgIDxsb2lzbG9AY2hyb21pdW0ub3JnPgogCisg
ICAgICAgIFdlYiBJbnNwZWN0b3I6IE5NSTogbm93IHdoZW4gd2UgY2FuIGRldGVjdCBpbnN0cnVt
ZW50ZWQgY2xhc3NlcyB3ZSBjYW4KKyAgICAgICAgcmVtb3ZlIGFkZEluc3RydW1lbnRlZE1lbWJl
ciBhbmQgdXNlIGFkZE1lbWJlciBmb3IgZXZlcnl0aGluZy4KKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk2OTEzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB0ZXN0cy9NZW1vcnlJbnN0cnVtZW50YXRpb25U
ZXN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3RydW1lbnRlZERPTTo6cmVwb3J0TWVtb3J5
VXNhZ2UpOgorICAgICAgICAoV2ViQ29yZTo6Tm9uVmlydHVhbEluc3RydW1lbnRlZDo6cmVwb3J0
TWVtb3J5VXNhZ2UpOgorICAgICAgICAoV2ViQ29yZTo6SW5zdHJ1bWVudGVkT3duZXI6OnJlcG9y
dE1lbW9yeVVzYWdlKToKKworMjAxMi0wOS0xNyAgSWx5YSBUaWtob25vdnNreSAgPGxvaXNsb0Bj
aHJvbWl1bS5vcmc+CisKICAgICAgICAgVW5yZXZpZXdlZCBzaW5nbGUgbGluZSBmaXggZm9yIG1h
YyBjaHJvbWl1bSBjYW5hcnkgYm90LgogCiAgICAgICAgICogdGVzdHMvTWVtb3J5SW5zdHJ1bWVu
dGF0aW9uVGVzdC5jcHA6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9NZW1vcnlJbnN0cnVt
ZW50YXRpb24uaCBiL1NvdXJjZS9XVEYvd3RmL01lbW9yeUluc3RydW1lbnRhdGlvbi5oCmluZGV4
IDkxZjE0NTQ1ZDBiZjExOGMyYTVkZmNmZmNiZDc5ZTNkYjIyMWVjMWUuLjEzMWFmODQ5N2FjZWFk
M2E5YjljYWMyZGVlMTc0N2M4MmU5MGI2MTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL01l
bW9yeUluc3RydW1lbnRhdGlvbi5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL01lbW9yeUluc3RydW1l
bnRhdGlvbi5oCkBAIC04Nyw3ICs4Nyw3IEBAIHB1YmxpYzoKIAogICAgIHRlbXBsYXRlIDx0eXBl
bmFtZSBUPiB2b2lkIGFkZFJvb3RPYmplY3QoY29uc3QgVCYgdCkKICAgICB7Ci0gICAgICAgIGFk
ZEluc3RydW1lbnRlZE9iamVjdCh0LCAwKTsKKyAgICAgICAgYWRkT2JqZWN0KHQsIDApOwogICAg
ICAgICBwcm9jZXNzRGVmZXJyZWRJbnN0cnVtZW50ZWRQb2ludGVycygpOwogICAgIH0KIApAQCAt
MTQxLDEyICsxNDEsNyBAQCBwcml2YXRlOgogICAgICAgICBjb25zdCBNZW1vcnlPYmplY3RUeXBl
IG1fb3duZXJPYmplY3RUeXBlOwogICAgIH07CiAKLSAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiB2
b2lkIGFkZE9iamVjdChjb25zdCBUJiB0LCBNZW1vcnlPYmplY3RUeXBlIG93bmVyT2JqZWN0VHlw
ZSkKLSAgICB7Ci0gICAgICAgIE93bmluZ1RyYWl0czxUPjo6YWRkT2JqZWN0KHRoaXMsIHQsIG93
bmVyT2JqZWN0VHlwZSk7Ci0gICAgfQotCi0gICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gdm9pZCBh
ZGRJbnN0cnVtZW50ZWRPYmplY3QoY29uc3QgVCYgdCwgTWVtb3J5T2JqZWN0VHlwZSBvd25lck9i
amVjdFR5cGUpIHsgT3duaW5nVHJhaXRzPFQ+OjphZGRJbnN0cnVtZW50ZWRPYmplY3QodGhpcywg
dCwgb3duZXJPYmplY3RUeXBlKTsgfQorICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHZvaWQgYWRk
T2JqZWN0KGNvbnN0IFQmIHQsIE1lbW9yeU9iamVjdFR5cGUgb3duZXJPYmplY3RUeXBlKSB7IE93
bmluZ1RyYWl0czxUPjo6YWRkT2JqZWN0KHRoaXMsIHQsIG93bmVyT2JqZWN0VHlwZSk7IH0KICAg
ICB0ZW1wbGF0ZTx0eXBlbmFtZSBIYXNoTWFwVHlwZT4gdm9pZCBhZGRIYXNoTWFwKGNvbnN0IEhh
c2hNYXBUeXBlJiwgTWVtb3J5T2JqZWN0VHlwZSwgYm9vbCBjb250ZW50T25seSA9IGZhbHNlKTsK
ICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBIYXNoU2V0VHlwZT4gdm9pZCBhZGRIYXNoU2V0KGNvbnN0
IEhhc2hTZXRUeXBlJiwgTWVtb3J5T2JqZWN0VHlwZSwgYm9vbCBjb250ZW50T25seSA9IGZhbHNl
KTsKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBDb2xsZWN0aW9uVHlwZT4gdm9pZCBhZGRJbnN0cnVt
ZW50ZWRDb2xsZWN0aW9uKGNvbnN0IENvbGxlY3Rpb25UeXBlJiwgTWVtb3J5T2JqZWN0VHlwZSwg
Ym9vbCBjb250ZW50T25seSA9IGZhbHNlKTsKQEAgLTE2MywxMCArMTU4LDYgQEAgcHJpdmF0ZToK
IAogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+CiAgICAgc3RydWN0IE93bmluZ1RyYWl0cyB7IC8v
IERlZmF1bHQgYnlSZWZlcmVuY2UgaW1wbGVtZW50YXRpb24uCi0gICAgICAgIHN0YXRpYyB2b2lk
IGFkZEluc3RydW1lbnRlZE9iamVjdChNZW1vcnlJbnN0cnVtZW50YXRpb24qIGluc3RydW1lbnRh
dGlvbiwgY29uc3QgVCYgdCwgTWVtb3J5T2JqZWN0VHlwZSBvd25lck9iamVjdFR5cGUpCi0gICAg
ICAgIHsKLSAgICAgICAgICAgIGluc3RydW1lbnRhdGlvbi0+YWRkSW5zdHJ1bWVudGVkT2JqZWN0
SW1wbCgmdCwgb3duZXJPYmplY3RUeXBlLCBieVJlZmVyZW5jZSk7Ci0gICAgICAgIH0KICAgICAg
ICAgc3RhdGljIHZvaWQgYWRkT2JqZWN0KE1lbW9yeUluc3RydW1lbnRhdGlvbiogaW5zdHJ1bWVu
dGF0aW9uLCBjb25zdCBUJiB0LCBNZW1vcnlPYmplY3RUeXBlIG93bmVyT2JqZWN0VHlwZSkKICAg
ICAgICAgewogICAgICAgICAgICAgaW5zdHJ1bWVudGF0aW9uLT5hZGRPYmplY3RJbXBsKCZ0LCBv
d25lck9iamVjdFR5cGUsIGJ5UmVmZXJlbmNlKTsKQEAgLTE3NSwyMCArMTY2LDEyIEBAIHByaXZh
dGU6CiAKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPgogICAgIHN0cnVjdCBPd25pbmdUcmFpdHM8
VCo+IHsgLy8gQ3VzdG9tIGJ5UG9pbnRlciBpbXBsZW1lbnRhdGlvbi4KLSAgICAgICAgc3RhdGlj
IHZvaWQgYWRkSW5zdHJ1bWVudGVkT2JqZWN0KE1lbW9yeUluc3RydW1lbnRhdGlvbiogaW5zdHJ1
bWVudGF0aW9uLCBjb25zdCBUKiBjb25zdCYgdCwgTWVtb3J5T2JqZWN0VHlwZSBvd25lck9iamVj
dFR5cGUpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGluc3RydW1lbnRhdGlvbi0+YWRkSW5zdHJ1
bWVudGVkT2JqZWN0SW1wbCh0LCBvd25lck9iamVjdFR5cGUsIGJ5UG9pbnRlcik7Ci0gICAgICAg
IH0KICAgICAgICAgc3RhdGljIHZvaWQgYWRkT2JqZWN0KE1lbW9yeUluc3RydW1lbnRhdGlvbiog
aW5zdHJ1bWVudGF0aW9uLCBjb25zdCBUKiBjb25zdCYgdCwgTWVtb3J5T2JqZWN0VHlwZSBvd25l
ck9iamVjdFR5cGUpCiAgICAgICAgIHsKICAgICAgICAgICAgIGluc3RydW1lbnRhdGlvbi0+YWRk
T2JqZWN0SW1wbCh0LCBvd25lck9iamVjdFR5cGUsIGJ5UG9pbnRlcik7CiAgICAgICAgIH0KICAg
ICB9OwogCi0gICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gdm9pZCBhZGRJbnN0cnVtZW50ZWRPYmpl
Y3RJbXBsKGNvbnN0IFQqIGNvbnN0JiwgTWVtb3J5T2JqZWN0VHlwZSwgTWVtb3J5T3duaW5nVHlw
ZSk7Ci0gICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gdm9pZCBhZGRJbnN0cnVtZW50ZWRPYmplY3RJ
bXBsKGNvbnN0IE93blB0cjxUPiogY29uc3QmLCBNZW1vcnlPYmplY3RUeXBlLCBNZW1vcnlPd25p
bmdUeXBlKTsKLSAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiB2b2lkIGFkZEluc3RydW1lbnRlZE9i
amVjdEltcGwoY29uc3QgUmVmUHRyPFQ+KiBjb25zdCYsIE1lbW9yeU9iamVjdFR5cGUsIE1lbW9y
eU93bmluZ1R5cGUpOwotCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gdm9pZCBhZGRPYmplY3RJ
bXBsKGNvbnN0IFQqIGNvbnN0JiwgTWVtb3J5T2JqZWN0VHlwZSwgTWVtb3J5T3duaW5nVHlwZSk7
CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gdm9pZCBhZGRPYmplY3RJbXBsKGNvbnN0IE93blB0
cjxUPiogY29uc3QmLCBNZW1vcnlPYmplY3RUeXBlLCBNZW1vcnlPd25pbmdUeXBlKTsKICAgICB0
ZW1wbGF0ZTx0eXBlbmFtZSBUPiB2b2lkIGFkZE9iamVjdEltcGwoY29uc3QgUmVmUHRyPFQ+KiBj
b25zdCYsIE1lbW9yeU9iamVjdFR5cGUsIE1lbW9yeU93bmluZ1R5cGUpOwpAQCAtMjA1LDcgKzE4
OCw2IEBAIHB1YmxpYzoKICAgICAgICAgbV9vYmplY3RUeXBlID0gbWVtb3J5T2JqZWN0SW5mby0+
b2JqZWN0VHlwZSgpOwogICAgIH0KIAotICAgIHRlbXBsYXRlPHR5cGVuYW1lIE0+IHZvaWQgYWRk
SW5zdHJ1bWVudGVkTWVtYmVyKGNvbnN0IE0mIG1lbWJlcikgeyBtX21lbW9yeUluc3RydW1lbnRh
dGlvbi0+YWRkSW5zdHJ1bWVudGVkT2JqZWN0KG1lbWJlciwgbV9vYmplY3RUeXBlKTsgfQogICAg
IHRlbXBsYXRlPHR5cGVuYW1lIE0+IHZvaWQgYWRkTWVtYmVyKGNvbnN0IE0mIG1lbWJlcikgeyBt
X21lbW9yeUluc3RydW1lbnRhdGlvbi0+YWRkT2JqZWN0KG1lbWJlciwgbV9vYmplY3RUeXBlKTsg
fQogCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgSGFzaE1hcFR5cGU+IHZvaWQgYWRkSGFzaE1hcChj
b25zdCBIYXNoTWFwVHlwZSYgbWFwKSB7IG1fbWVtb3J5SW5zdHJ1bWVudGF0aW9uLT5hZGRIYXNo
TWFwKG1hcCwgbV9vYmplY3RUeXBlLCB0cnVlKTsgfQpAQCAtMjMxLDcgKzIxMyw3IEBAIHByaXZh
dGU6CiB9OwogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPgotdm9pZCBNZW1vcnlJbnN0cnVtZW50YXRp
b246OmFkZEluc3RydW1lbnRlZE9iamVjdEltcGwoY29uc3QgVCogY29uc3QmIG9iamVjdCwgTWVt
b3J5T2JqZWN0VHlwZSBvd25lck9iamVjdFR5cGUsIE1lbW9yeU93bmluZ1R5cGUgb3duaW5nVHlw
ZSkKK3ZvaWQgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjphZGRPYmplY3RJbXBsKGNvbnN0IFQqIGNv
bnN0JiBvYmplY3QsIE1lbW9yeU9iamVjdFR5cGUgb3duZXJPYmplY3RUeXBlLCBNZW1vcnlPd25p
bmdUeXBlIG93bmluZ1R5cGUpCiB7CiAgICAgaWYgKG93bmluZ1R5cGUgPT0gYnlSZWZlcmVuY2Up
IHsKICAgICAgICAgTWVtb3J5T2JqZWN0SW5mbyBtZW1vcnlPYmplY3RJbmZvKHRoaXMsIG93bmVy
T2JqZWN0VHlwZSk7CkBAIC0yNDQsMjIgKzIyNiw2IEBAIHZvaWQgTWVtb3J5SW5zdHJ1bWVudGF0
aW9uOjphZGRJbnN0cnVtZW50ZWRPYmplY3RJbXBsKGNvbnN0IFQqIGNvbnN0JiBvYmplY3QsIE1l
CiB9CiAKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+Ci12b2lkIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6
YWRkSW5zdHJ1bWVudGVkT2JqZWN0SW1wbChjb25zdCBPd25QdHI8VD4qIGNvbnN0JiBvYmplY3Qs
IE1lbW9yeU9iamVjdFR5cGUgb3duZXJPYmplY3RUeXBlLCBNZW1vcnlPd25pbmdUeXBlIG93bmlu
Z1R5cGUpCi17Ci0gICAgaWYgKG93bmluZ1R5cGUgPT0gYnlQb2ludGVyKQotICAgICAgICBjb3Vu
dE9iamVjdFNpemUob3duZXJPYmplY3RUeXBlLCBzaXplb2YoKm9iamVjdCkpOwotICAgIGFkZElu
c3RydW1lbnRlZE9iamVjdEltcGwob2JqZWN0LT5nZXQoKSwgb3duZXJPYmplY3RUeXBlLCBieVBv
aW50ZXIpOwotfQotCi10ZW1wbGF0ZTx0eXBlbmFtZSBUPgotdm9pZCBNZW1vcnlJbnN0cnVtZW50
YXRpb246OmFkZEluc3RydW1lbnRlZE9iamVjdEltcGwoY29uc3QgUmVmUHRyPFQ+KiBjb25zdCYg
b2JqZWN0LCBNZW1vcnlPYmplY3RUeXBlIG93bmVyT2JqZWN0VHlwZSwgTWVtb3J5T3duaW5nVHlw
ZSBvd25pbmdUeXBlKQotewotICAgIGlmIChvd25pbmdUeXBlID09IGJ5UG9pbnRlcikKLSAgICAg
ICAgY291bnRPYmplY3RTaXplKG93bmVyT2JqZWN0VHlwZSwgc2l6ZW9mKCpvYmplY3QpKTsKLSAg
ICBhZGRJbnN0cnVtZW50ZWRPYmplY3RJbXBsKG9iamVjdC0+Z2V0KCksIG93bmVyT2JqZWN0VHlw
ZSwgYnlQb2ludGVyKTsKLX0KLQotdGVtcGxhdGU8dHlwZW5hbWUgVD4KIHZvaWQgTWVtb3J5SW5z
dHJ1bWVudGF0aW9uOjphZGRPYmplY3RJbXBsKGNvbnN0IE93blB0cjxUPiogY29uc3QmIG9iamVj
dCwgTWVtb3J5T2JqZWN0VHlwZSBvd25lck9iamVjdFR5cGUsIE1lbW9yeU93bmluZ1R5cGUgb3du
aW5nVHlwZSkKIHsKICAgICBpZiAob3duaW5nVHlwZSA9PSBieVBvaW50ZXIgJiYgIXZpc2l0ZWQo
b2JqZWN0KSkKQEAgLTI3NSwxMiArMjQxLDYgQEAgdm9pZCBNZW1vcnlJbnN0cnVtZW50YXRpb246
OmFkZE9iamVjdEltcGwoY29uc3QgUmVmUHRyPFQ+KiBjb25zdCYgb2JqZWN0LCBNZW1vcnkKICAg
ICBhZGRPYmplY3RJbXBsKG9iamVjdC0+Z2V0KCksIG93bmVyT2JqZWN0VHlwZSwgYnlQb2ludGVy
KTsKIH0KIAotdGVtcGxhdGU8dHlwZW5hbWUgVD4KLXZvaWQgTWVtb3J5SW5zdHJ1bWVudGF0aW9u
OjphZGRPYmplY3RJbXBsKGNvbnN0IFQqIGNvbnN0JiBvYmplY3QsIE1lbW9yeU9iamVjdFR5cGUg
b3duZXJPYmplY3RUeXBlLCBNZW1vcnlPd25pbmdUeXBlIG93bmluZ1R5cGUpCi17Ci0gICAgYWRk
SW5zdHJ1bWVudGVkT2JqZWN0SW1wbChvYmplY3QsIG93bmVyT2JqZWN0VHlwZSwgb3duaW5nVHlw
ZSk7Ci19Ci0KIHRlbXBsYXRlPHR5cGVuYW1lIEhhc2hNYXBUeXBlPgogdm9pZCBNZW1vcnlJbnN0
cnVtZW50YXRpb246OmFkZEhhc2hNYXAoY29uc3QgSGFzaE1hcFR5cGUmIGhhc2hNYXAsIE1lbW9y
eU9iamVjdFR5cGUgb3duZXJPYmplY3RUeXBlLCBib29sIGNvbnRlbnRPbmx5KQogewpAQCAtMzA1
LDcgKzI2NSw3IEBAIHZvaWQgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjphZGRJbnN0cnVtZW50ZWRD
b2xsZWN0aW9uKGNvbnN0IENvbGxlY3Rpb25UeXBlJiBjb2xsCiAgICAgY291bnRPYmplY3RTaXpl
KG93bmVyT2JqZWN0VHlwZSwgY2FsY3VsYXRlQ29udGFpbmVyU2l6ZShjb2xsZWN0aW9uLCBjb250
ZW50T25seSkpOwogICAgIHR5cGVuYW1lIENvbGxlY3Rpb25UeXBlOjpjb25zdF9pdGVyYXRvciBl
bmQgPSBjb2xsZWN0aW9uLmVuZCgpOwogICAgIGZvciAodHlwZW5hbWUgQ29sbGVjdGlvblR5cGU6
OmNvbnN0X2l0ZXJhdG9yIGkgPSBjb2xsZWN0aW9uLmJlZ2luKCk7IGkgIT0gZW5kOyArK2kpCi0g
ICAgICAgIGFkZEluc3RydW1lbnRlZE9iamVjdCgqaSwgb3duZXJPYmplY3RUeXBlKTsKKyAgICAg
ICAgYWRkT2JqZWN0KCppLCBvd25lck9iamVjdFR5cGUpOwogfQogCiB0ZW1wbGF0ZTx0eXBlbmFt
ZSBNYXBUeXBlPgpAQCAtMzEzLDggKzI3Myw4IEBAIHZvaWQgTWVtb3J5SW5zdHJ1bWVudGF0aW9u
OjphZGRJbnN0cnVtZW50ZWRNYXBFbnRyaWVzKGNvbnN0IE1hcFR5cGUmIG1hcCwgTWVtb3J5CiB7
CiAgICAgdHlwZW5hbWUgTWFwVHlwZTo6Y29uc3RfaXRlcmF0b3IgZW5kID0gbWFwLmVuZCgpOwog
ICAgIGZvciAodHlwZW5hbWUgTWFwVHlwZTo6Y29uc3RfaXRlcmF0b3IgaSA9IG1hcC5iZWdpbigp
OyBpICE9IGVuZDsgKytpKSB7Ci0gICAgICAgIGFkZEluc3RydW1lbnRlZE9iamVjdChpLT5maXJz
dCwgb3duZXJPYmplY3RUeXBlKTsKLSAgICAgICAgYWRkSW5zdHJ1bWVudGVkT2JqZWN0KGktPnNl
Y29uZCwgb3duZXJPYmplY3RUeXBlKTsKKyAgICAgICAgYWRkT2JqZWN0KGktPmZpcnN0LCBvd25l
ck9iamVjdFR5cGUpOworICAgICAgICBhZGRPYmplY3QoaS0+c2Vjb25kLCBvd25lck9iamVjdFR5
cGUpOwogICAgIH0KIH0KIApAQCAtMzIzLDcgKzI4Myw3IEBAIHZvaWQgTWVtb3J5SW5zdHJ1bWVu
dGF0aW9uOjphZGRJbnN0cnVtZW50ZWRNYXBWYWx1ZXMoY29uc3QgTWFwVHlwZSYgbWFwLCBNZW1v
cnlPCiB7CiAgICAgdHlwZW5hbWUgTWFwVHlwZTo6Y29uc3RfaXRlcmF0b3IgZW5kID0gbWFwLmVu
ZCgpOwogICAgIGZvciAodHlwZW5hbWUgTWFwVHlwZTo6Y29uc3RfaXRlcmF0b3IgaSA9IG1hcC5i
ZWdpbigpOyBpICE9IGVuZDsgKytpKQotICAgICAgICBhZGRJbnN0cnVtZW50ZWRPYmplY3QoaS0+
c2Vjb25kLCBvd25lck9iamVjdFR5cGUpOworICAgICAgICBhZGRPYmplY3QoaS0+c2Vjb25kLCBv
d25lck9iamVjdFR5cGUpOwogfQogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBMaXN0SGFzaFNldFR5cGU+
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi90ZXh0L0F0b21pY1N0cmluZy5jcHAgYi9Tb3Vy
Y2UvV1RGL3d0Zi90ZXh0L0F0b21pY1N0cmluZy5jcHAKaW5kZXggZDYyNjc5MmQwZmUwNjBhMmZi
MDhlMTYwOTU1YjQ2ZjI3YjQzODI1MS4uYjkxYzYwZTgwZDBjMjk2ZGQ0NTY0YjgwNGZlNmMxZjhi
NWI3MmZjZiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvdGV4dC9BdG9taWNTdHJpbmcuY3Bw
CisrKyBiL1NvdXJjZS9XVEYvd3RmL3RleHQvQXRvbWljU3RyaW5nLmNwcApAQCAtNDM5LDcgKzQz
OSw3IEBAIHZvaWQgQXRvbWljU3RyaW5nOjpzaG93KCkgY29uc3QKIHZvaWQgQXRvbWljU3RyaW5n
OjpyZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBj
b25zdAogewogICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMp
OwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fc3RyaW5nKTsKKyAgICBpbmZvLmFk
ZE1lbWJlcihtX3N0cmluZyk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdURgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dURi93dGYvdGV4dC9DU3RyaW5nLmggYi9Tb3VyY2UvV1RGL3d0Zi90ZXh0L0NTdHJp
bmcuaAppbmRleCBkNDQyYWY3ODJkZmQwZjdmNzZhNmM3NDY3NjgxZWM5N2U2YmY2OTg4Li4wM2Fi
M2U1NGE3Y2ZhYTZkMTc0MmM1MDk2NGM5Y2ZkNjgxNTc5ZTE5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V1RGL3d0Zi90ZXh0L0NTdHJpbmcuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi90ZXh0L0NTdHJpbmcu
aApAQCAtODUsNyArODUsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCByZXBvcnRNZW1vcnlVc2FnZShN
ZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAogICAgIHsKICAgICAgICAg
dHlwZW5hbWUgTWVtb3J5T2JqZWN0SW5mbzo6Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5m
bywgdGhpcyk7Ci0gICAgICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fYnVmZmVyKTsK
KyAgICAgICAgaW5mby5hZGRNZW1iZXIobV9idWZmZXIpOwogICAgIH0KIAogcHJpdmF0ZToKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL3RleHQvU3RyaW5nSW1wbC5jcHAgYi9Tb3VyY2UvV1RG
L3d0Zi90ZXh0L1N0cmluZ0ltcGwuY3BwCmluZGV4IGQ2OWVjYWFlZWRlODg4YjBkYWQ3MDFlNWM1
ZTM5ZTdhYjZmNDFlZWUuLmMwNmE5NjZlN2FkZDZkMWI1MmU1ZDViZTU2MjAxNDQ4NzlmZTZjYzYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL3RleHQvU3RyaW5nSW1wbC5jcHAKKysrIGIvU291
cmNlL1dURi93dGYvdGV4dC9TdHJpbmdJbXBsLmNwcApAQCAtMTgwNyw3ICsxODA3LDcgQEAgdm9p
ZCBTdHJpbmdJbXBsOjpyZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlP
YmplY3RJbmZvKSBjb25zdAogICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdElu
Zm8sIHRoaXMsIDAsIHNlbGZTaXplKTsKIAogICAgIGlmIChtX2hhc2hBbmRGbGFncyAmIEJ1ZmZl
clN1YnN0cmluZykKLSAgICAgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9zdWJzdHJp
bmdCdWZmZXIpOworICAgICAgICBpbmZvLmFkZE1lbWJlcihtX3N1YnN0cmluZ0J1ZmZlcik7CiAg
ICAgZWxzZSBpZiAobV9oYXNoQW5kRmxhZ3MgJiBzX2hhc2hGbGFnSGFzMTZCaXRTaGFkb3cpIC8v
IFN1YnN0cmluZyBuZXZlciBoYXMgaXRzIG93biBzaGFkb3cuCiAgICAgICAgIGluZm8uYWRkUmF3
QnVmZmVyKG1fY29weURhdGExNiwgKG1fbGVuZ3RoICsgKGhhc1Rlcm1pbmF0aW5nTnVsbENoYXJh
Y3RlcigpID8gMSA6IDApKSAqIHNpemVvZihVQ2hhcikpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dURi93dGYvdGV4dC9XVEZTdHJpbmcuY3BwIGIvU291cmNlL1dURi93dGYvdGV4dC9XVEZTdHJp
bmcuY3BwCmluZGV4IGJmN2RiYzM0MWVmYTgyNjVhN2RiYzg2N2RlNDhkZGJjZWM3YjUzMTcuLmI4
OWFjYjY2MzlmMTFlNTJkZDJhZGExZTIzOTI1YTVmNzBjZmFlMTggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XVEYvd3RmL3RleHQvV1RGU3RyaW5nLmNwcAorKysgYi9Tb3VyY2UvV1RGL3d0Zi90ZXh0L1dU
RlN0cmluZy5jcHAKQEAgLTgyNCw3ICs4MjQsNyBAQCBTdHJpbmcgU3RyaW5nOjpmcm9tVVRGOFdp
dGhMYXRpbjFGYWxsYmFjayhjb25zdCBMQ2hhciogc3RyaW5nLCBzaXplX3Qgc2l6ZSkKIHZvaWQg
U3RyaW5nOjpyZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJ
bmZvKSBjb25zdAogewogICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8s
IHRoaXMpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1faW1wbCk7CisgICAgaW5m
by5hZGRNZW1iZXIobV9pbXBsKTsKIH0KIAogLy8gU3RyaW5nIE9wZXJhdGlvbnMKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XVEYvd3RmL3VybC9hcGkvUGFyc2VkVVJMLmNwcCBiL1NvdXJjZS9XVEYvd3Rm
L3VybC9hcGkvUGFyc2VkVVJMLmNwcAppbmRleCA1Zjg4Y2I0ZWNkZWVhMTI1ZmZhY2M0YTE3NzBm
YmQ1ZDRhNDQ2M2M3Li4wYjE1ZmNiY2EyZGM5MzIwNGRmOGExYTU4YTcwZWFlNTA0NThhY2M0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi91cmwvYXBpL1BhcnNlZFVSTC5jcHAKKysrIGIvU291
cmNlL1dURi93dGYvdXJsL2FwaS9QYXJzZWRVUkwuY3BwCkBAIC0xNzgsNyArMTc4LDcgQEAgU3Ry
aW5nIFBhcnNlZFVSTDo6c2VnbWVudChjb25zdCBVUkxDb21wb25lbnQmIGNvbXBvbmVudCkgY29u
c3QKIHZvaWQgUGFyc2VkVVJMOjpyZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBt
ZW1vcnlPYmplY3RJbmZvKSBjb25zdAogewogICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9y
eU9iamVjdEluZm8sIHRoaXMpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fc3Bl
Yyk7CisgICAgaW5mby5hZGRNZW1iZXIobV9zcGVjKTsKIH0KIAogI2lmbmRlZiBOREVCVUcKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL3VybC9hcGkvVVJMU3RyaW5nLmNwcCBiL1NvdXJjZS9X
VEYvd3RmL3VybC9hcGkvVVJMU3RyaW5nLmNwcAppbmRleCAzZGZjNzliODhjM2UwY2MxNTA2NDcy
MzA5MzI5Y2FhN2RhNDIzNzkxLi5jZjQ2YTMwOTIwOWJlNDRkMmIxM2EzZGNiNGIwNjRlZDA2OWI1
OTg3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi91cmwvYXBpL1VSTFN0cmluZy5jcHAKKysr
IGIvU291cmNlL1dURi93dGYvdXJsL2FwaS9VUkxTdHJpbmcuY3BwCkBAIC0zNSw3ICszNSw3IEBA
IG5hbWVzcGFjZSBXVEYgewogdm9pZCBVUkxTdHJpbmc6OnJlcG9ydE1lbW9yeVVzYWdlKE1lbW9y
eU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiB7CiAgICAgTWVtb3J5Q2xhc3NJ
bmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcyk7Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50
ZWRNZW1iZXIobV9zdHJpbmcpOworICAgIGluZm8uYWRkTWVtYmVyKG1fc3RyaW5nKTsKIH0KIAog
I2lmbmRlZiBOREVCVUcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L0RP
TURhdGFTdG9yZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9ET01EYXRhU3RvcmUu
Y3BwCmluZGV4IDVjNzBjZjg0MzZjNjZmMTY4ZTVmM2QyMWMyNDkxNjFlM2ViZWZjOGYuLjNmZWNk
ODkzZTdhMTY1ODQ2OWYyZTBiODhlZDAyNTViNTU1YzA2NjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3Y4L0RPTURhdGFTdG9yZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvdjgvRE9NRGF0YVN0b3JlLmNwcApAQCAtMTIyLDEwICsxMjIsMTAgQEAgdm9pZCog
RE9NRGF0YVN0b3JlOjpnZXRET01XcmFwcGVyTWFwKERPTVdyYXBwZXJNYXBUeXBlIHR5cGUpCiB2
b2lkIERPTURhdGFTdG9yZTo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVt
b3J5T2JqZWN0SW5mbykgY29uc3QKIHsKICAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlP
YmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6OkJpbmRpbmcpOwotICAgIGluZm8u
YWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fZG9tTm9kZU1hcCk7Ci0gICAgaW5mby5hZGRJbnN0cnVt
ZW50ZWRNZW1iZXIobV9hY3RpdmVEb21Ob2RlTWFwKTsKLSAgICBpbmZvLmFkZEluc3RydW1lbnRl
ZE1lbWJlcihtX2RvbU9iamVjdE1hcCk7Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIo
bV9hY3RpdmVEb21PYmplY3RNYXApOworICAgIGluZm8uYWRkTWVtYmVyKG1fZG9tTm9kZU1hcCk7
CisgICAgaW5mby5hZGRNZW1iZXIobV9hY3RpdmVEb21Ob2RlTWFwKTsKKyAgICBpbmZvLmFkZE1l
bWJlcihtX2RvbU9iamVjdE1hcCk7CisgICAgaW5mby5hZGRNZW1iZXIobV9hY3RpdmVEb21PYmpl
Y3RNYXApOwogfQogCiAvLyBDYWxsZWQgd2hlbiB0aGUgb2JqZWN0IGlzIG5lYXIgZGVhdGggKG5v
dCByZWFjaGFibGUgZnJvbSBKUyByb290cykuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy92OC9JbnRydXNpdmVET01XcmFwcGVyTWFwLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy92OC9JbnRydXNpdmVET01XcmFwcGVyTWFwLmgKaW5kZXggOGYwNjkyMDFjMGI1OTdhMjg5
MjhjOGRhZjM5ZTdiODM0M2E3N2JmZS4uYWUyMGQwMzY5YjM0MTAzYTI4MzQ1ODMwZGFiOWZiN2M4
ZDRiYWZkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvSW50cnVzaXZl
RE9NV3JhcHBlck1hcC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L0ludHJ1c2l2
ZURPTVdyYXBwZXJNYXAuaApAQCAtMTg3LDcgKzE4Nyw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFs
IHZvaWQgcmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5m
bykgY29uc3QgT1ZFUlJJREUKICAgICB7CiAgICAgICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1l
bW9yeU9iamVjdEluZm8sIHRoaXMsIFdlYkNvcmVNZW1vcnlUeXBlczo6QmluZGluZyk7Ci0gICAg
ICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fdGFibGUpOworICAgICAgICBpbmZvLmFk
ZE1lbWJlcihtX3RhYmxlKTsKICAgICB9CiAKIHByaXZhdGU6CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy92OC9WOFBlcklzb2xhdGVEYXRhLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3Y4L1Y4UGVySXNvbGF0ZURhdGEuY3BwCmluZGV4IGE3ZmM4ZDYyMGVhOTQwMWNm
ZGM5MjkwNWQ2MGUyOTg1NDY4ODY4OGQuLmUxYmMzMWU1YzQ2NDU4OTFlNmU2NjZmZGIzNGE2NGM3
YTIzMWRjNjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4UGVySXNv
bGF0ZURhdGEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4UGVySXNvbGF0
ZURhdGEuY3BwCkBAIC04NiwxMSArODYsMTEgQEAgdm9pZCBWOFBlcklzb2xhdGVEYXRhOjpyZXBv
cnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb24KICAg
ICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVt
b3J5VHlwZXM6OkJpbmRpbmcpOwogICAgIGluZm8uYWRkSGFzaE1hcChtX3Jhd1RlbXBsYXRlcyk7
CiAgICAgaW5mby5hZGRIYXNoTWFwKG1fdGVtcGxhdGVzKTsKLSAgICBpbmZvLmFkZEluc3RydW1l
bnRlZE1lbWJlcihtX3N0cmluZ0NhY2hlKTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX3N0cmluZ0Nh
Y2hlKTsKICAgICBpbmZvLmFkZFZlY3RvcihtX2RvbURhdGFMaXN0KTsKIAogICAgIGZvciAoc2l6
ZV90IGkgPSAwOyBpIDwgbV9kb21EYXRhTGlzdC5zaXplKCk7IGkrKykKLSAgICAgICAgaW5mby5h
ZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9kb21EYXRhTGlzdFtpXSk7CisgICAgICAgIGluZm8uYWRk
TWVtYmVyKG1fZG9tRGF0YUxpc3RbaV0pOwogfQogCiAjaWYgRU5BQkxFKElOU1BFQ1RPUikKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NCb3JkZXJJbWFnZVNsaWNlVmFsdWUuY3Bw
IGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0JvcmRlckltYWdlU2xpY2VWYWx1ZS5jcHAKaW5kZXgg
MDIzNDNmOTA1ZmI4OTI4NGY1NDQxM2FkOWVhZGYzNWVjM2I1ODMwZS4uN2QxYjNkYWY3ZjgzZTBm
ODk3OWQ0MjFkN2YzNGJkMDRhZDUwYjdiNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU0JvcmRlckltYWdlU2xpY2VWYWx1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U0JvcmRlckltYWdlU2xpY2VWYWx1ZS5jcHAKQEAgLTUzLDcgKzUzLDcgQEAgU3RyaW5nIENTU0Jv
cmRlckltYWdlU2xpY2VWYWx1ZTo6Y3VzdG9tQ3NzVGV4dCgpIGNvbnN0CiB2b2lkIENTU0JvcmRl
ckltYWdlU2xpY2VWYWx1ZTo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKE1lbW9yeU9iamVj
dEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiB7CiAgICAgTWVtb3J5Q2xhc3NJbmZvIGlu
Zm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9yeVR5cGVzOjpDU1MpOwotICAg
IGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fc2xpY2VzKTsKKyAgICBpbmZvLmFkZE1lbWJl
cihtX3NsaWNlcyk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NDYWxjdWxhdGlvblZhbHVlLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NDYWxjdWxhdGlvblZhbHVlLmNwcAppbmRleCBjMjRiZmQ5NjYyYTU1OTlkYTljMmE4
YTZiZDNhMjY3MTRjOWQ1ODk1Li4xYzE1OGNjMmNkYzJhYTIwNDY0OWM5ZWM5YzRiYzNjY2Y2MTFi
ZDllIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ2FsY3VsYXRpb25WYWx1ZS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NhbGN1bGF0aW9uVmFsdWUuY3BwCkBAIC0y
MjYsNyArMjI2LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCByZXBvcnRNZW1vcnlVc2Fn
ZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdCBPVkVSUklERQogICAg
IHsKICAgICAgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywg
V2ViQ29yZU1lbW9yeVR5cGVzOjpDU1MpOwotICAgICAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1l
bWJlcihtX3ZhbHVlKTsKKyAgICAgICAgaW5mby5hZGRNZW1iZXIobV92YWx1ZSk7CiAgICAgfQog
ICAgIAogcHJpdmF0ZToKQEAgLTMyNCw4ICszMjQsOCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2
b2lkIHJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8p
IGNvbnN0IE9WRVJSSURFCiAgICAgewogICAgICAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1v
cnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6OkNTUyk7Ci0gICAgICAgIGlu
Zm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fbGVmdFNpZGUpOwotICAgICAgICBpbmZvLmFkZElu
c3RydW1lbnRlZE1lbWJlcihtX3JpZ2h0U2lkZSk7CisgICAgICAgIGluZm8uYWRkTWVtYmVyKG1f
bGVmdFNpZGUpOworICAgICAgICBpbmZvLmFkZE1lbWJlcihtX3JpZ2h0U2lkZSk7CiAgICAgfQog
CiAgICAgc3RhdGljIFN0cmluZyBidWlsZENzc1RleHQoY29uc3QgU3RyaW5nJiBsZWZ0RXhwcmVz
c2lvbiwgY29uc3QgU3RyaW5nJiByaWdodEV4cHJlc3Npb24sIENhbGNPcGVyYXRvciBvcCkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDYW52YXNWYWx1ZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTQ2FudmFzVmFsdWUuY3BwCmluZGV4IDhlY2M4MGMwOGU2YjE0MWZiYmEz
MGY5ZjllMzc5NjdiMTNhOTMzNTUuLjc4N2ExNzQyY2IyMjM3ZmI2ZWZjN2M1MTliMjcxMWJiZjU2
OThkMTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDYW52YXNWYWx1ZS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NhbnZhc1ZhbHVlLmNwcApAQCAtMTAwLDggKzEw
MCw4IEBAIHZvaWQgQ1NTQ2FudmFzVmFsdWU6OnJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZShN
ZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJCiB7CiAgICAgTWVtb3J5Q2xhc3NJbmZvIGlu
Zm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9yeVR5cGVzOjpDU1MpOwogICAg
IENTU0ltYWdlR2VuZXJhdG9yVmFsdWU6OnJlcG9ydEJhc2VDbGFzc01lbW9yeVVzYWdlKG1lbW9y
eU9iamVjdEluZm8pOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fbmFtZSk7Ci0g
ICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9lbGVtZW50KTsKKyAgICBpbmZvLmFkZE1l
bWJlcihtX25hbWUpOworICAgIGluZm8uYWRkTWVtYmVyKG1fZWxlbWVudCk7CiB9CiAKIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDaGFy
c2V0UnVsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ2hhcnNldFJ1bGUuY3BwCmluZGV4
IDk3YmZjMDU4Njk3YzA2NTNlY2Y5ZDNjYTYwZDM1ZTlkMzdiMmZhZjIuLjdhMWI1ZDRhY2E5NGU1
MDBiYWE2NDU2N2RjNzJmYTQ2MGMwYTU5ODcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NDaGFyc2V0UnVsZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NoYXJzZXRS
dWxlLmNwcApAQCAtNDAsNyArNDAsNyBAQCB2b2lkIENTU0NoYXJzZXRSdWxlOjpyZXBvcnREZXNj
ZW5kYW50TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SQogewogICAg
IE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIFdlYkNvcmVNZW1v
cnlUeXBlczo6Q1NTKTsKICAgICBDU1NSdWxlOjpyZXBvcnRCYXNlQ2xhc3NNZW1vcnlVc2FnZSht
ZW1vcnlPYmplY3RJbmZvKTsKLSAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX2VuY29k
aW5nKTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX2VuY29kaW5nKTsKIH0KIAogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5
bGVEZWNsYXJhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURl
Y2xhcmF0aW9uLmNwcAppbmRleCA0NjBjYzMyZDRhYWQzOTg5ZWFmYjE1ZTFiMzNiZTcxN2Y0NmY3
YTFjLi44Zjk0MThjMDAyZDRiYzU3Y2IwY2Y0MzE2NDJiNWQxYTYwMjY3ODI4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcApAQCAt
Mjc0OSw3ICsyNzQ5LDcgQEAgUGFzc1JlZlB0cjxTdHlsZVByb3BlcnR5U2V0PiBDU1NDb21wdXRl
ZFN0eWxlRGVjbGFyYXRpb246OmNvcHlQcm9wZXJ0aWVzSW5TZXQoY28KIHZvaWQgQ1NTQ29tcHV0
ZWRTdHlsZURlY2xhcmF0aW9uOjpyZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBt
ZW1vcnlPYmplY3RJbmZvKSBjb25zdAogewogICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9y
eU9iamVjdEluZm8sIHRoaXMsIFdlYkNvcmVNZW1vcnlUeXBlczo6Q1NTKTsKLSAgICBpbmZvLmFk
ZEluc3RydW1lbnRlZE1lbWJlcihtX25vZGUpOworICAgIGluZm8uYWRkTWVtYmVyKG1fbm9kZSk7
CiB9CiAKIENTU1J1bGUqIENTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbjo6cGFyZW50UnVsZSgp
IGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ3Jvc3NmYWRlVmFsdWUu
Y3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0Nyb3NzZmFkZVZhbHVlLmNwcAppbmRleCBlMzQ3
ZWJkMDlkMzZjN2UwOGJmMDNiN2M2MTUxNWEzMWRkZTczM2RlLi5hMjI0YTM2MTE5Y2RiNzY5OWI1
ODkxZjgzOTlhNTRmZGZjNTlmMTIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
Q3Jvc3NmYWRlVmFsdWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDcm9zc2ZhZGVW
YWx1ZS5jcHAKQEAgLTE0Myw5ICsxNDMsOSBAQCB2b2lkIENTU0Nyb3NzZmFkZVZhbHVlOjpyZXBv
cnREZXNjZW5kYW50TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZQogewog
ICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIFdlYkNvcmVN
ZW1vcnlUeXBlczo6Q1NTKTsKICAgICBDU1NJbWFnZUdlbmVyYXRvclZhbHVlOjpyZXBvcnRCYXNl
Q2xhc3NNZW1vcnlVc2FnZShtZW1vcnlPYmplY3RJbmZvKTsKLSAgICBpbmZvLmFkZEluc3RydW1l
bnRlZE1lbWJlcihtX2Zyb21WYWx1ZSk7Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIo
bV90b1ZhbHVlKTsKLSAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX3BlcmNlbnRhZ2VW
YWx1ZSk7CisgICAgaW5mby5hZGRNZW1iZXIobV9mcm9tVmFsdWUpOworICAgIGluZm8uYWRkTWVt
YmVyKG1fdG9WYWx1ZSk7CisgICAgaW5mby5hZGRNZW1iZXIobV9wZXJjZW50YWdlVmFsdWUpOwog
ICAgIC8vIEZJWE1FOiBhZGQgaW5zdHJ1bWVudGF0aW9uIGZvcgogICAgIC8vIG1fY2FjaGVkRnJv
bUltYWdlCiAgICAgLy8gbV9jYWNoZWRUb0ltYWdlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTRm9udEZhY2VSdWxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFj
ZVJ1bGUuY3BwCmluZGV4IDBkY2ViOGE0ZDE0NGUyOGYwN2NlMmFhNzkyZDBlNjg5NWE3NjA0ZTYu
LjdkODUxZWQxZTJmYzY0OTJjZDY0M2NiMjVjZDEyOTc3ZGExNmY5MjkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZVJ1bGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NGb250RmFjZVJ1bGUuY3BwCkBAIC03Miw4ICs3Miw4IEBAIHZvaWQgQ1NTRm9udEZh
Y2VSdWxlOjpyZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVt
b3J5T2JqZWN0CiB7CiAgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywg
dGhpcywgV2ViQ29yZU1lbW9yeVR5cGVzOjpDU1MpOwogICAgIENTU1J1bGU6OnJlcG9ydEJhc2VD
bGFzc01lbW9yeVVzYWdlKG1lbW9yeU9iamVjdEluZm8pOwotICAgIGluZm8uYWRkSW5zdHJ1bWVu
dGVkTWVtYmVyKG1fZm9udEZhY2VSdWxlKTsKLSAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJl
cihtX3Byb3BlcnRpZXNDU1NPTVdyYXBwZXIpOworICAgIGluZm8uYWRkTWVtYmVyKG1fZm9udEZh
Y2VSdWxlKTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX3Byb3BlcnRpZXNDU1NPTVdyYXBwZXIpOwog
fQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTRm9udEZhY2VTcmNWYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZh
Y2VTcmNWYWx1ZS5jcHAKaW5kZXggMDUwNWY2MGFkNzEzNWYwMzM0MzliMTBlZmY0YmIzOTRkMWJl
MDVlOS4uMmExYzA0Nzg3ZDZhMGM0Yzg3MTM4MDQ0YTJjMTc1NTg5ODcxMGNmYiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlU3JjVmFsdWUuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZVNyY1ZhbHVlLmNwcApAQCAtMTA0LDExICsxMDQsMTEg
QEAgQ2FjaGVkRm9udCogQ1NTRm9udEZhY2VTcmNWYWx1ZTo6Y2FjaGVkRm9udChEb2N1bWVudCog
ZG9jdW1lbnQpCiB2b2lkIENTU0ZvbnRGYWNlU3JjVmFsdWU6OnJlcG9ydERlc2NlbmRhbnRNZW1v
cnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAogewogICAg
IE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIFdlYkNvcmVNZW1v
cnlUeXBlczo6Q1NTKTsKLSAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX3Jlc291cmNl
KTsKLSAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX2Zvcm1hdCk7CisgICAgaW5mby5h
ZGRNZW1iZXIobV9yZXNvdXJjZSk7CisgICAgaW5mby5hZGRNZW1iZXIobV9mb3JtYXQpOwogICAg
IC8vIEZJWE1FOiBhZGQgbV9jYWNoZWRGb250IHdoZW4gTWVtb3J5Q2FjaGUgaXMgaW5zdHJ1bWVu
dGVkLgogI2lmIEVOQUJMRShTVkdfRk9OVFMpCi0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1i
ZXIobV9zdmdGb250RmFjZUVsZW1lbnQpOworICAgIGluZm8uYWRkTWVtYmVyKG1fc3ZnRm9udEZh
Y2VFbGVtZW50KTsKICNlbmRpZgogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTRnVuY3Rpb25WYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRnVuY3Rpb25WYWx1
ZS5jcHAKaW5kZXggNDZhOThmOWIwNjNlYjk3MGZjODM3MDcwMTk1YTNkOWU4YjdhYzkwMy4uYmMy
NzBkZTY4MmEyNTk0ODk1NGFhNjBjMWVkODEzMzFlYzk0ZjQzZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvY3NzL0NTU0Z1bmN0aW9uVmFsdWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NGdW5jdGlvblZhbHVlLmNwcApAQCAtNTUsOCArNTUsOCBAQCBTdHJpbmcgQ1NTRnVuY3Rp
b25WYWx1ZTo6Y3VzdG9tQ3NzVGV4dCgpIGNvbnN0CiB2b2lkIENTU0Z1bmN0aW9uVmFsdWU6OnJl
cG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJ
bmZvKSBjb25zdAogewogICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8s
IHRoaXMsIFdlYkNvcmVNZW1vcnlUeXBlczo6Q1NTKTsKLSAgICBpbmZvLmFkZEluc3RydW1lbnRl
ZE1lbWJlcihtX25hbWUpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fYXJncyk7
CisgICAgaW5mby5hZGRNZW1iZXIobV9uYW1lKTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX2FyZ3Mp
OwogfQogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTR3JhZGllbnRWYWx1
ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTR3JhZGllbnRWYWx1ZS5jcHAKaW5kZXggZmM0
ODVmOTE4M2ZiYWZhZDJiZWI2YTEwNTQwY2YwZWUzMGM5NDUwZC4uZjk3MTVmMjdmNTg1MWM5MmEx
ODUzZGI0NmJhNzBiZGFkZTFhZWEyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NT
U0dyYWRpZW50VmFsdWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NHcmFkaWVudFZh
bHVlLmNwcApAQCAtNDcsOCArNDcsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiB2b2lkIENTU0dy
YWRpZW50Q29sb3JTdG9wOjpyZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1v
cnlPYmplY3RJbmZvKSBjb25zdAogewogICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9i
amVjdEluZm8sIHRoaXMsIFdlYkNvcmVNZW1vcnlUeXBlczo6Q1NTKTsKLSAgICBpbmZvLmFkZElu
c3RydW1lbnRlZE1lbWJlcihtX3Bvc2l0aW9uKTsKLSAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1l
bWJlcihtX2NvbG9yKTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX3Bvc2l0aW9uKTsKKyAgICBpbmZv
LmFkZE1lbWJlcihtX2NvbG9yKTsKIH0KIAogUGFzc1JlZlB0cjxJbWFnZT4gQ1NTR3JhZGllbnRW
YWx1ZTo6aW1hZ2UoUmVuZGVyT2JqZWN0KiByZW5kZXJlciwgY29uc3QgSW50U2l6ZSYgc2l6ZSkK
QEAgLTQ2NSwxMCArNDY1LDEwIEBAIHZvaWQgQ1NTR3JhZGllbnRWYWx1ZTo6cmVwb3J0QmFzZUNs
YXNzTWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0CiB7CiAgICAgTWVt
b3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9yeVR5
cGVzOjpDU1MpOwogICAgIENTU0ltYWdlR2VuZXJhdG9yVmFsdWU6OnJlcG9ydEJhc2VDbGFzc01l
bW9yeVVzYWdlKG1lbW9yeU9iamVjdEluZm8pOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVt
YmVyKG1fZmlyc3RYKTsKLSAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX2ZpcnN0WSk7
Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9zZWNvbmRYKTsKLSAgICBpbmZvLmFk
ZEluc3RydW1lbnRlZE1lbWJlcihtX3NlY29uZFkpOworICAgIGluZm8uYWRkTWVtYmVyKG1fZmly
c3RYKTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX2ZpcnN0WSk7CisgICAgaW5mby5hZGRNZW1iZXIo
bV9zZWNvbmRYKTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX3NlY29uZFkpOwogICAgIGluZm8uYWRk
SW5zdHJ1bWVudGVkVmVjdG9yKG1fc3RvcHMpOwogfQogCkBAIC02MzgsNyArNjM4LDcgQEAgdm9p
ZCBDU1NMaW5lYXJHcmFkaWVudFZhbHVlOjpyZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2UoTWVt
b3J5T2JqZWN0SW5mbyogbWVtb3IKIHsKICAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlP
YmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6OkNTUyk7CiAgICAgQ1NTR3JhZGll
bnRWYWx1ZTo6cmVwb3J0QmFzZUNsYXNzTWVtb3J5VXNhZ2UobWVtb3J5T2JqZWN0SW5mbyk7Ci0g
ICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9hbmdsZSk7CisgICAgaW5mby5hZGRNZW1i
ZXIobV9hbmdsZSk7CiB9CiAKIFN0cmluZyBDU1NSYWRpYWxHcmFkaWVudFZhbHVlOjpjdXN0b21D
c3NUZXh0KCkgY29uc3QKQEAgLTk2MywxMiArOTYzLDEyIEBAIHZvaWQgQ1NTUmFkaWFsR3JhZGll
bnRWYWx1ZTo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1l
bW9yCiB7CiAgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywg
V2ViQ29yZU1lbW9yeVR5cGVzOjpDU1MpOwogICAgIENTU0dyYWRpZW50VmFsdWU6OnJlcG9ydEJh
c2VDbGFzc01lbW9yeVVzYWdlKG1lbW9yeU9iamVjdEluZm8pOwotICAgIGluZm8uYWRkSW5zdHJ1
bWVudGVkTWVtYmVyKG1fZmlyc3RSYWRpdXMpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVt
YmVyKG1fc2Vjb25kUmFkaXVzKTsKLSAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX3No
YXBlKTsKLSAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX3NpemluZ0JlaGF2aW9yKTsK
LSAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX2VuZEhvcml6b250YWxTaXplKTsKLSAg
ICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX2VuZFZlcnRpY2FsU2l6ZSk7CisgICAgaW5m
by5hZGRNZW1iZXIobV9maXJzdFJhZGl1cyk7CisgICAgaW5mby5hZGRNZW1iZXIobV9zZWNvbmRS
YWRpdXMpOworICAgIGluZm8uYWRkTWVtYmVyKG1fc2hhcGUpOworICAgIGluZm8uYWRkTWVtYmVy
KG1fc2l6aW5nQmVoYXZpb3IpOworICAgIGluZm8uYWRkTWVtYmVyKG1fZW5kSG9yaXpvbnRhbFNp
emUpOworICAgIGluZm8uYWRkTWVtYmVyKG1fZW5kVmVydGljYWxTaXplKTsKIH0KIAogfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ltYWdl
U2V0VmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ltYWdlU2V0VmFsdWUuY3BwCmlu
ZGV4IDU2OGQ3NTZmNDY3YmVlZjJlN2ZmY2ZhOWM5NWI4OTNjNDU1ZTcwMTAuLjVlNmJlZTVhNjNj
YTMwMzY1NzI0ZGFkYTk2ODBkMjA2ZmQxY2IwYTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NJbWFnZVNldFZhbHVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW1h
Z2VTZXRWYWx1ZS5jcHAKQEAgLTE3NCw3ICsxNzQsNyBAQCB2b2lkIENTU0ltYWdlU2V0VmFsdWU6
OnJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmpl
Ywogdm9pZCBDU1NJbWFnZVNldFZhbHVlOjpJbWFnZVdpdGhTY2FsZTo6cmVwb3J0TWVtb3J5VXNh
Z2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKIHsKICAgICBNZW1v
cnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlw
ZXM6OkNTUyk7Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIoaW1hZ2VVUkwpOworICAg
IGluZm8uYWRkTWVtYmVyKGltYWdlVVJMKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ltYWdlVmFsdWUuY3BwIGIvU291cmNl
L1dlYkNvcmUvY3NzL0NTU0ltYWdlVmFsdWUuY3BwCmluZGV4IGMzNzBiZGM2NTU2ZDM2Mzg4NThj
ZjQ4NTM3OTc1MTlhMGU4NjJhN2EuLjcyNmMyYzA0MzQ3MWU5NjdiOTJiYzlmYTc2NGMzMjM5ZjJi
N2E1NDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJbWFnZVZhbHVlLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW1hZ2VWYWx1ZS5jcHAKQEAgLTEyOSw3ICsxMjks
NyBAQCBQYXNzUmVmUHRyPENTU1ZhbHVlPiBDU1NJbWFnZVZhbHVlOjpjbG9uZUZvckNTU09NKCkg
Y29uc3QKIHZvaWQgQ1NTSW1hZ2VWYWx1ZTo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKE1l
bW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiB7CiAgICAgTWVtb3J5Q2xh
c3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9yeVR5cGVzOjpD
U1MpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fdXJsKTsKKyAgICBpbmZvLmFk
ZE1lbWJlcihtX3VybCk7CiAgICAgLy8gTm8gbmVlZCB0byByZXBvcnQgbV9pbWFnZSBhcyBpdCBp
cyBjb3VudGVkIGFzIHBhcnQgb2YgUmVuZGVyQXJlbmEuCiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NJbXBvcnRSdWxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJ
bXBvcnRSdWxlLmNwcAppbmRleCAxZGM3MTg0Nzg4N2VkOWRhMjczMzkyNDc5MDY2MDg5NWZmYzQy
Zjg1Li4zYmJlNjUwYTVkNzIwYjliMDdhY2JlMTc0YjcxOTVlZTJhOGNkYWRlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW1wb3J0UnVsZS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvY3NzL0NTU0ltcG9ydFJ1bGUuY3BwCkBAIC04MSw5ICs4MSw5IEBAIHZvaWQgQ1NTSW1wb3J0
UnVsZTo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9y
eU9iamVjdEluCiB7CiAgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywg
dGhpcywgV2ViQ29yZU1lbW9yeVR5cGVzOjpDU1MpOwogICAgIENTU1J1bGU6OnJlcG9ydEJhc2VD
bGFzc01lbW9yeVVzYWdlKG1lbW9yeU9iamVjdEluZm8pOwotICAgIGluZm8uYWRkSW5zdHJ1bWVu
dGVkTWVtYmVyKG1faW1wb3J0UnVsZSk7Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIo
bV9tZWRpYUNTU09NV3JhcHBlcik7Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9z
dHlsZVNoZWV0Q1NTT01XcmFwcGVyKTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX2ltcG9ydFJ1bGUp
OworICAgIGluZm8uYWRkTWVtYmVyKG1fbWVkaWFDU1NPTVdyYXBwZXIpOworICAgIGluZm8uYWRk
TWVtYmVyKG1fc3R5bGVTaGVldENTU09NV3JhcHBlcik7CiB9CiAKIENTU1N0eWxlU2hlZXQqIENT
U0ltcG9ydFJ1bGU6OnN0eWxlU2hlZXQoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvY3NzL0NTU01lZGlhUnVsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTTWVkaWFSdWxl
LmNwcAppbmRleCA0NTQyZDNlNDg2NjhhYWYwYmUxZWM0MDk1ZDkxZjAwZDg4ZjQ4NjUwLi5mMGU5
Yzc5YzNmMTJlZTM3NjQ3ZWUwNzU5MGJiZjk3MDk3MGViYWJlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTTWVkaWFSdWxlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
TWVkaWFSdWxlLmNwcApAQCAtMTc5LDkgKzE3OSw5IEBAIHZvaWQgQ1NTTWVkaWFSdWxlOjpyZXBv
cnREZXNjZW5kYW50TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5m
CiB7CiAgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgV2Vi
Q29yZU1lbW9yeVR5cGVzOjpDU1MpOwogICAgIENTU1J1bGU6OnJlcG9ydEJhc2VDbGFzc01lbW9y
eVVzYWdlKG1lbW9yeU9iamVjdEluZm8pOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVy
KG1fbWVkaWFDU1NPTVdyYXBwZXIpOworICAgIGluZm8uYWRkTWVtYmVyKG1fbWVkaWFDU1NPTVdy
YXBwZXIpOwogICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkVmVjdG9yKG1fY2hpbGRSdWxlQ1NTT01X
cmFwcGVycyk7Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9ydWxlTGlzdENTU09N
V3JhcHBlcik7CisgICAgaW5mby5hZGRNZW1iZXIobV9ydWxlTGlzdENTU09NV3JhcHBlcik7CiB9
CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NQYWdlUnVsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFnZVJ1bGUuY3BwCmlu
ZGV4IDgzOWJjMjBmN2U0YzNhZjEzNTFkZTFlZDc2Nzc4OGVkODE3YjQ0ZDYuLmZjYjIyZjQ4YzM1
OTg3NjY5Y2E3ZTcxOGNmNWFiMTYyZWY0NTY0YmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NQYWdlUnVsZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhZ2VSdWxl
LmNwcApAQCAtMTA2LDggKzEwNiw4IEBAIHZvaWQgQ1NTUGFnZVJ1bGU6OnJlcG9ydERlc2NlbmRh
bnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvCiB7CiAgICAg
TWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9y
eVR5cGVzOjpDU1MpOwogICAgIENTU1J1bGU6OnJlcG9ydEJhc2VDbGFzc01lbW9yeVVzYWdlKG1l
bW9yeU9iamVjdEluZm8pOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fcGFnZVJ1
bGUpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fcHJvcGVydGllc0NTU09NV3Jh
cHBlcik7CisgICAgaW5mby5hZGRNZW1iZXIobV9wYWdlUnVsZSk7CisgICAgaW5mby5hZGRNZW1i
ZXIobV9wcm9wZXJ0aWVzQ1NTT01XcmFwcGVyKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZS5jcHAKaW5kZXggNWQyYTdmN2U0
ZDVhYTg1YzIwOWE4N2I0MmQ0MjI5ZDQ2NzUzN2ViOS4uOTIyYTBmNjhjNzM0MDZkOTBjOWQ0MjJj
YmJhNjc3N2UwMWE3NTBlMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1p
dGl2ZVZhbHVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWUu
Y3BwCkBAIC0xMjc1LDcgKzEyNzUsNyBAQCB2b2lkIENTU1ByaW1pdGl2ZVZhbHVlOjpyZXBvcnRE
ZXNjZW5kYW50TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZQogICAgIGNh
c2UgQ1NTX1ZBUklBQkxFX05BTUU6CiAjZW5kaWYKICAgICAgICAgLy8gRklYTUU6IGRldGVjdCBv
dGhlciBjYXNlcyB3aGVuIG1fdmFsdWUgaXMgU3RyaW5nSW1wbCoKLSAgICAgICAgaW5mby5hZGRJ
bnN0cnVtZW50ZWRNZW1iZXIobV92YWx1ZS5zdHJpbmcpOworICAgICAgICBpbmZvLmFkZE1lbWJl
cihtX3ZhbHVlLnN0cmluZyk7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgQ1NTX0NPVU5URVI6
CiAgICAgICAgIGluZm8uYWRkTWVtYmVyKG1fdmFsdWUuY291bnRlcik7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHkuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U1Byb3BlcnR5LmNwcAppbmRleCBmMTIyZmExYzVhNDA3YWNlZmNjNGVmMmU1MmFkOTI2YWU5ZjI1
MWE5Li5jNzYzM2Y4ZGIzMGYwMWNiMWExN2FjYTEwZmY4MmUwMTI1MTE2ZGUxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NQcm9wZXJ0eS5jcHAKQEAgLTcxNSw3ICs3MTUsNyBAQCBib29sIENTU1Byb3BlcnR5
Ojppc0luaGVyaXRlZFByb3BlcnR5KENTU1Byb3BlcnR5SUQgcHJvcGVydHlJRCkKIHZvaWQgQ1NT
UHJvcGVydHk6OnJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVj
dEluZm8pIGNvbnN0CiB7CiAgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5m
bywgdGhpcywgV2ViQ29yZU1lbW9yeVR5cGVzOjpDU1MpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVu
dGVkTWVtYmVyKG1fdmFsdWUpOworICAgIGluZm8uYWRkTWVtYmVyKG1fdmFsdWUpOwogfQogCiB9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
UmVmbGVjdFZhbHVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NSZWZsZWN0VmFsdWUuY3Bw
CmluZGV4IDdjY2I3NmVjZjYyOTEwMmE3MzBiZjBlYmNjOTAxMzg0Nzc1ZjM4ZTEuLjk0MzlkNjAw
ZWE4MTRhMDQ1OWY5OGIyY2I5YWM1ZTZkNGNmMjNiOWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NSZWZsZWN0VmFsdWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NS
ZWZsZWN0VmFsdWUuY3BwCkBAIC03MCw4ICs3MCw4IEBAIHZvaWQgQ1NTUmVmbGVjdFZhbHVlOjph
ZGRTdWJyZXNvdXJjZVN0eWxlVVJMcyhMaXN0SGFzaFNldDxLVVJMPiYgdXJscywgY29uc3QgU3R5
CiB2b2lkIENTU1JlZmxlY3RWYWx1ZTo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKE1lbW9y
eU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiB7CiAgICAgTWVtb3J5Q2xhc3NJ
bmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9yeVR5cGVzOjpDU1Mp
OwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fb2Zmc2V0KTsKLSAgICBpbmZvLmFk
ZEluc3RydW1lbnRlZE1lbWJlcihtX21hc2spOworICAgIGluZm8uYWRkTWVtYmVyKG1fb2Zmc2V0
KTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX21hc2spOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUnVsZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTUnVsZS5jcHAKaW5kZXggZmE3ZWNmMTQ4MTVjMDk3MjFiZWI5YzI0MDM5
YmY2MDc0NDZiMTk5Yi4uZmM5MDIyMjgyNDI5N2EwODg5ZWFlOGYyYjUyYmMwN2FlNmYxMTFmYyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1J1bGUuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NSdWxlLmNwcApAQCAtMjE0LDkgKzIxNCw5IEBAIHZvaWQgQ1NTUnVsZTo6
cmVwb3J0QmFzZUNsYXNzTWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0
SW5mbykgY29uCiB7CiAgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywg
dGhpcywgV2ViQ29yZU1lbW9yeVR5cGVzOjpDU1MpOwogICAgIGlmIChtX3BhcmVudElzUnVsZSkK
LSAgICAgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9wYXJlbnRSdWxlKTsKKyAgICAg
ICAgaW5mby5hZGRNZW1iZXIobV9wYXJlbnRSdWxlKTsKICAgICBlbHNlCi0gICAgICAgIGluZm8u
YWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fcGFyZW50U3R5bGVTaGVldCk7CisgICAgICAgIGluZm8u
YWRkTWVtYmVyKG1fcGFyZW50U3R5bGVTaGVldCk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NSdWxlTGlzdC5oIGIvU291cmNl
L1dlYkNvcmUvY3NzL0NTU1J1bGVMaXN0LmgKaW5kZXggY2FjZjE1MWFmODM2NWNlNzhkMzBmODYx
OTgxNGFjZTI2MjMwMTRiNi4uYmI3ZTE1ODJkNjM5YjYzZjMxN2RlMjEzNzI3MTE0NDQzMmNiZDA3
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1J1bGVMaXN0LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvY3NzL0NTU1J1bGVMaXN0LmgKQEAgLTg5LDcgKzg5LDcgQEAgcHVibGljOgog
ICAgIHZpcnR1YWwgdm9pZCByZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1v
cnlPYmplY3RJbmZvKSBjb25zdCBPVkVSUklERQogICAgIHsKICAgICAgICAgTWVtb3J5Q2xhc3NJ
bmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9yeVR5cGVzOjpDU1Mp
OwotICAgICAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX3J1bGUpOworICAgICAgICBp
bmZvLmFkZE1lbWJlcihtX3J1bGUpOwogICAgIH0KICAgICAKIHByaXZhdGU6CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVSdWxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NTdHlsZVJ1bGUuY3BwCmluZGV4IDM2NWQ4ZDkwZmRhNWExODQzZTQ2ZjIwNzBhY2ZkZWE5
YmRhOTg2ZDQuLjFiMzk4NzE0NmMwNDJlMjc3M2M1MTM3MzkyZDYwZjFlMGNmYWNjNzAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVJ1bGUuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NTdHlsZVJ1bGUuY3BwCkBAIC0xMzMsOCArMTMzLDggQEAgdm9pZCBDU1NT
dHlsZVJ1bGU6OnJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBt
ZW1vcnlPYmplY3RJbmYKIHsKICAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJ
bmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6OkNTUyk7CiAgICAgQ1NTUnVsZTo6cmVwb3J0
QmFzZUNsYXNzTWVtb3J5VXNhZ2UobWVtb3J5T2JqZWN0SW5mbyk7Ci0gICAgaW5mby5hZGRJbnN0
cnVtZW50ZWRNZW1iZXIobV9zdHlsZVJ1bGUpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVt
YmVyKG1fcHJvcGVydGllc0NTU09NV3JhcHBlcik7CisgICAgaW5mby5hZGRNZW1iZXIobV9zdHls
ZVJ1bGUpOworICAgIGluZm8uYWRkTWVtYmVyKG1fcHJvcGVydGllc0NTU09NV3JhcHBlcik7CiB9
CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NTdHlsZVNoZWV0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNoZWV0LmNw
cAppbmRleCA3OWNjZTExNmRhZDEzMWE3NjZkMTEwZjcyZTU2MmZjNmM2NzM0MmJiLi4wZTEwMjAy
YzdmZWJiZjJiZTZkODlhZmNjZDU3ZGIyZDAzYTYyY2UyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTU3R5bGVTaGVldC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0
eWxlU2hlZXQuY3BwCkBAIC01OCw3ICs1OCw3IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lk
IHJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNv
bnN0IE9WRVJSSURFCiAgICAgewogICAgICAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlP
YmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6OkNTUyk7Ci0gICAgICAgIGluZm8u
YWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fc3R5bGVTaGVldCk7CisgICAgICAgIGluZm8uYWRkTWVt
YmVyKG1fc3R5bGVTaGVldCk7CiAgICAgfQogICAgIAogICAgIENTU1N0eWxlU2hlZXQqIG1fc3R5
bGVTaGVldDsKQEAgLTE4MSwxMiArMTgxLDEyIEBAIHZvaWQgQ1NTU3R5bGVTaGVldDo6cmVhdHRh
Y2hDaGlsZFJ1bGVDU1NPTVdyYXBwZXJzKCkKIHZvaWQgQ1NTU3R5bGVTaGVldDo6cmVwb3J0TWVt
b3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKIHsKICAg
ICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVt
b3J5VHlwZXM6OkNTUyk7Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9jb250ZW50
cyk7Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV90aXRsZSk7Ci0gICAgaW5mby5h
ZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9tZWRpYVF1ZXJpZXMpOwotICAgIGluZm8uYWRkSW5zdHJ1
bWVudGVkTWVtYmVyKG1fb3duZXJOb2RlKTsKLSAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJl
cihtX293bmVyUnVsZSk7Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9tZWRpYUNT
U09NV3JhcHBlcik7CisgICAgaW5mby5hZGRNZW1iZXIobV9jb250ZW50cyk7CisgICAgaW5mby5h
ZGRNZW1iZXIobV90aXRsZSk7CisgICAgaW5mby5hZGRNZW1iZXIobV9tZWRpYVF1ZXJpZXMpOwor
ICAgIGluZm8uYWRkTWVtYmVyKG1fb3duZXJOb2RlKTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX293
bmVyUnVsZSk7CisgICAgaW5mby5hZGRNZW1iZXIobV9tZWRpYUNTU09NV3JhcHBlcik7CiAgICAg
aW5mby5hZGRJbnN0cnVtZW50ZWRWZWN0b3IobV9jaGlsZFJ1bGVDU1NPTVdyYXBwZXJzKTsKIH0K
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NWYWx1ZS5jcHAKaW5kZXggZjVlZjFlZjQxNzExZGI1OGFiZjgwYzNkN2Iw
M2Y0ZTU3YThiZWQ1Zi4uMGE2MTI5ZDkyYWU2NjQ3ZGQzNWQ2ODIzMTIyOThlM2NkMTJlY2E1NyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTVmFsdWUuY3BwCkBAIC04Myw3ICs4Myw3IEBAIHB1YmxpYzoKICAgICB2
b2lkIHJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlP
YmplY3RJbmZvKSBjb25zdAogICAgIHsKICAgICAgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVt
b3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9yeVR5cGVzOjpDU1MpOwotICAgICAgICBp
bmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX2Nzc1RleHQpOworICAgICAgICBpbmZvLmFkZE1l
bWJlcihtX2Nzc1RleHQpOwogICAgIH0KIAogcHJpdmF0ZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NWYXJpYWJsZVZhbHVlLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFy
aWFibGVWYWx1ZS5oCmluZGV4IGUzMmU0OGY2MjZiZmQ0ZmIxNWNkY2VlNzI0ZTdiMDJlY2QwMzJl
MTUuLjRmYzRmNzUyMzZhYzk2MWM1NTExOTdmNGU1YmI0ZjcwNzA0MGY3ODkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYXJpYWJsZVZhbHVlLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvY3NzL0NTU1ZhcmlhYmxlVmFsdWUuaApAQCAtNTEsOCArNTEsOCBAQCBwdWJsaWM6CiAgICAg
dm9pZCByZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5
T2JqZWN0SW5mbykgY29uc3QKICAgICB7CiAgICAgICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1l
bW9yeU9iamVjdEluZm8sIHRoaXMsIFdlYkNvcmVNZW1vcnlUeXBlczo6Q1NTKTsKLSAgICAgICAg
aW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9uYW1lKTsKLSAgICAgICAgaW5mby5hZGRJbnN0
cnVtZW50ZWRNZW1iZXIobV92YWx1ZSk7CisgICAgICAgIGluZm8uYWRkTWVtYmVyKG1fbmFtZSk7
CisgICAgICAgIGluZm8uYWRkTWVtYmVyKG1fdmFsdWUpOwogICAgIH0KIAogcHJpdmF0ZToKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9Gb250RmVhdHVyZVZhbHVlLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9Gb250RmVhdHVyZVZhbHVlLmNwcAppbmRleCA5NDhkMjJiNjRjNmI5NDVl
MDBmYjFmMjJkZjg1NjQ4Yjk0NTMyMDM4Li4xMDM0ZmNhOTQ0NDJiZDEzMTg0YWE3OGEzZjc2YTRj
MzVkMGZmOTJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvRm9udEZlYXR1cmVWYWx1
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0ZvbnRGZWF0dXJlVmFsdWUuY3BwCkBAIC01
Myw3ICs1Myw3IEBAIFN0cmluZyBGb250RmVhdHVyZVZhbHVlOjpjdXN0b21Dc3NUZXh0KCkgY29u
c3QKIHZvaWQgRm9udEZlYXR1cmVWYWx1ZTo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKE1l
bW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiB7CiAgICAgTWVtb3J5Q2xh
c3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9yeVR5cGVzOjpD
U1MpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fdGFnKTsKKyAgICBpbmZvLmFk
ZE1lbWJlcihtX3RhZyk7CiB9CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9G
b250VmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0ZvbnRWYWx1ZS5jcHAKaW5kZXggYWNi
MjVkMjRiNzk4ZmViM2M0NzdiYTdkYmU0MTA4NGU5NDI2MjVlMC4uMGJhMWU2ZTk4ZDRkOWM3MTNl
N2NlMTkzYzJmMzNmYWRlZjhhYTI5NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0Zv
bnRWYWx1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0ZvbnRWYWx1ZS5jcHAKQEAgLTY4
LDEyICs2OCwxMiBAQCBTdHJpbmcgRm9udFZhbHVlOjpjdXN0b21Dc3NUZXh0KCkgY29uc3QKIHZv
aWQgRm9udFZhbHVlOjpyZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5m
byogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKIHsKICAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyht
ZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6OkNTUyk7Ci0gICAgaW5m
by5hZGRJbnN0cnVtZW50ZWRNZW1iZXIoc3R5bGUpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVk
TWVtYmVyKHZhcmlhbnQpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKHdlaWdodCk7
Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIoc2l6ZSk7Ci0gICAgaW5mby5hZGRJbnN0
cnVtZW50ZWRNZW1iZXIobGluZUhlaWdodCk7Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1i
ZXIoZmFtaWx5KTsKKyAgICBpbmZvLmFkZE1lbWJlcihzdHlsZSk7CisgICAgaW5mby5hZGRNZW1i
ZXIodmFyaWFudCk7CisgICAgaW5mby5hZGRNZW1iZXIod2VpZ2h0KTsKKyAgICBpbmZvLmFkZE1l
bWJlcihzaXplKTsKKyAgICBpbmZvLmFkZE1lbWJlcihsaW5lSGVpZ2h0KTsKKyAgICBpbmZvLmFk
ZE1lbWJlcihmYW1pbHkpOwogfQogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
TWVkaWFMaXN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYUxpc3QuY3BwCmluZGV4IDc3
M2NlZWJiNTk5MjRkZmNkYzBkYzgxNDNhZTQ2ODY1ZTJjOWZlYzguLjYyOTAzZDZiMTZlNDQwMjlj
MTI4NzNjOTdhOTdhM2YxMDhmNTVkN2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9N
ZWRpYUxpc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYUxpc3QuY3BwCkBAIC0y
OTMsNyArMjkzLDcgQEAgdm9pZCBNZWRpYUxpc3Q6OnJlYXR0YWNoKE1lZGlhUXVlcnlTZXQqIG1l
ZGlhUXVlcmllcykKIHZvaWQgTWVkaWFMaXN0OjpyZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmpl
Y3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAogewogICAgIE1lbW9yeUNsYXNzSW5mbyBp
bmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIFdlYkNvcmVNZW1vcnlUeXBlczo6Q1NTKTsKLSAg
ICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX21lZGlhUXVlcmllcyk7CisgICAgaW5mby5h
ZGRNZW1iZXIobV9tZWRpYVF1ZXJpZXMpOwogfQogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvTWVkaWFRdWVyeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeS5j
cHAKaW5kZXggZGRhMTUwZmI1ODZkNmNlMDZkYmM2Njk1ZDExYTgyZDJhYjJhMTYxZC4uYTNmMjVk
NzEyZDViMTAzNDAyNzFiYzIwMDI1Yjk2NjczMTQ2MmQ2NCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvY3NzL01lZGlhUXVlcnkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1
ZXJ5LmNwcApAQCAtMTM3LDkgKzEzNyw5IEBAIFN0cmluZyBNZWRpYVF1ZXJ5Ojpjc3NUZXh0KCkg
Y29uc3QKIHZvaWQgTWVkaWFRdWVyeTo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5m
byogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKIHsKICAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyht
ZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6OkNTUyk7Ci0gICAgaW5m
by5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9tZWRpYVR5cGUpOworICAgIGluZm8uYWRkTWVtYmVy
KG1fbWVkaWFUeXBlKTsKICAgICBpbmZvLmFkZEluc3RydW1lbnRlZFZlY3RvclB0cihtX2V4cHJl
c3Npb25zKTsKLSAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX3NlcmlhbGl6YXRpb25D
YWNoZSk7CisgICAgaW5mby5hZGRNZW1iZXIobV9zZXJpYWxpemF0aW9uQ2FjaGUpOwogfQogCiB9
IC8vbmFtZXNwYWNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUV4
cC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUV4cC5jcHAKaW5kZXggNjk1Y2Uw
YmE2ZjFkZTJhODQyYTI4NWE1YTE4YzhmNDliNmFhMWRjYS4uNTMwMmQ3YjlhNWNhMmE3NjU2YWQw
N2U5ZmY1MjUzNzY5ZWVjZDE4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL01lZGlh
UXVlcnlFeHAuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5RXhwLmNwcApA
QCAtMTEyLDkgKzExMiw5IEBAIFN0cmluZyBNZWRpYVF1ZXJ5RXhwOjpzZXJpYWxpemUoKSBjb25z
dAogdm9pZCBNZWRpYVF1ZXJ5RXhwOjpyZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZv
KiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAogewogICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1l
bW9yeU9iamVjdEluZm8sIHRoaXMsIFdlYkNvcmVNZW1vcnlUeXBlczo6Q1NTKTsKLSAgICBpbmZv
LmFkZEluc3RydW1lbnRlZE1lbWJlcihtX21lZGlhRmVhdHVyZSk7Ci0gICAgaW5mby5hZGRJbnN0
cnVtZW50ZWRNZW1iZXIobV9zZXJpYWxpemF0aW9uQ2FjaGUpOwotICAgIGluZm8uYWRkSW5zdHJ1
bWVudGVkTWVtYmVyKG1fdmFsdWUpOworICAgIGluZm8uYWRkTWVtYmVyKG1fbWVkaWFGZWF0dXJl
KTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX3NlcmlhbGl6YXRpb25DYWNoZSk7CisgICAgaW5mby5h
ZGRNZW1iZXIobV92YWx1ZSk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvUHJvcGVydHlTZXRDU1NTdHlsZURlY2xhcmF0aW9uLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9Qcm9wZXJ0eVNldENTU1N0eWxlRGVjbGFyYXRpb24uY3BwCmluZGV4IDYw
OTNjZjgxNDE5ZDA3ZDZmZDI3MjhlYTQ3MjgwMmVhNTNiM2Y1OGMuLmY2ZTNkYjM5Yjc1OTgyNzE1
OWYxMmExYzBmYTdkMDA4NGFkMzEzNjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9Q
cm9wZXJ0eVNldENTU1N0eWxlRGVjbGFyYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9Qcm9wZXJ0eVNldENTU1N0eWxlRGVjbGFyYXRpb24uY3BwCkBAIC0xNzIsNyArMTcyLDcgQEAg
dm9pZCBQcm9wZXJ0eVNldENTU1N0eWxlRGVjbGFyYXRpb246OmRlcmVmKCkKIHZvaWQgUHJvcGVy
dHlTZXRDU1NTdHlsZURlY2xhcmF0aW9uOjpyZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJ
bmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAogewogICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZv
KG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIFdlYkNvcmVNZW1vcnlUeXBlczo6Q1NTKTsKLSAgICBp
bmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX3Byb3BlcnR5U2V0KTsKKyAgICBpbmZvLmFkZE1l
bWJlcihtX3Byb3BlcnR5U2V0KTsKICAgICBpZiAobV9jc3NvbUNTU1ZhbHVlQ2xvbmVzKQogICAg
ICAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1hcEVudHJpZXMoKm1fY3Nzb21DU1NWYWx1ZUNsb25l
cyk7CiB9CkBAIC00MzIsMTQgKzQzMiwxNCBAQCB2b2lkIFN0eWxlUnVsZUNTU1N0eWxlRGVjbGFy
YXRpb246OnJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iagogewog
ICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIFdlYkNvcmVN
ZW1vcnlUeXBlczo6Q1NTKTsKICAgICBQcm9wZXJ0eVNldENTU1N0eWxlRGVjbGFyYXRpb246OnJl
cG9ydE1lbW9yeVVzYWdlKG1lbW9yeU9iamVjdEluZm8pOwotICAgIGluZm8uYWRkSW5zdHJ1bWVu
dGVkTWVtYmVyKG1fcGFyZW50UnVsZSk7CisgICAgaW5mby5hZGRNZW1iZXIobV9wYXJlbnRSdWxl
KTsKIH0KIAogdm9pZCBJbmxpbmVDU1NTdHlsZURlY2xhcmF0aW9uOjpyZXBvcnRNZW1vcnlVc2Fn
ZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAogewogICAgIE1lbW9y
eUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIFdlYkNvcmVNZW1vcnlUeXBl
czo6Q1NTKTsKICAgICBQcm9wZXJ0eVNldENTU1N0eWxlRGVjbGFyYXRpb246OnJlcG9ydE1lbW9y
eVVzYWdlKG1lbW9yeU9iamVjdEluZm8pOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVy
KG1fcGFyZW50RWxlbWVudCk7CisgICAgaW5mby5hZGRNZW1iZXIobV9wYXJlbnRFbGVtZW50KTsK
IH0KIAogdm9pZCBJbmxpbmVDU1NTdHlsZURlY2xhcmF0aW9uOjpkaWRNdXRhdGUoTXV0YXRpb25U
eXBlIHR5cGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU2hhZG93VmFsdWUuY3Bw
IGIvU291cmNlL1dlYkNvcmUvY3NzL1NoYWRvd1ZhbHVlLmNwcAppbmRleCA5MGFlMTUyZmIyNGQw
NWY3Nzc4MDllNjM5MGE2OGFhMzkyZGIxYTlhLi5hNDA2NGNjMTA1ZWQ5ZDU0OWQ5NWEwYTM0Yzhk
ZTIyNmQ3NmM4MDQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU2hhZG93VmFsdWUu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TaGFkb3dWYWx1ZS5jcHAKQEAgLTgyLDEyICs4
MiwxMiBAQCBTdHJpbmcgU2hhZG93VmFsdWU6OmN1c3RvbUNzc1RleHQoKSBjb25zdAogdm9pZCBT
aGFkb3dWYWx1ZTo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8q
IG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiB7CiAgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVt
b3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9yeVR5cGVzOjpDU1MpOwotICAgIGluZm8u
YWRkSW5zdHJ1bWVudGVkTWVtYmVyKHgpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVy
KHkpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKGJsdXIpOwotICAgIGluZm8uYWRk
SW5zdHJ1bWVudGVkTWVtYmVyKHNwcmVhZCk7Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1i
ZXIoc3R5bGUpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKGNvbG9yKTsKKyAgICBp
bmZvLmFkZE1lbWJlcih4KTsKKyAgICBpbmZvLmFkZE1lbWJlcih5KTsKKyAgICBpbmZvLmFkZE1l
bWJlcihibHVyKTsKKyAgICBpbmZvLmFkZE1lbWJlcihzcHJlYWQpOworICAgIGluZm8uYWRkTWVt
YmVyKHN0eWxlKTsKKyAgICBpbmZvLmFkZE1lbWJlcihjb2xvcik7CiB9CiAKIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVByb3BlcnR5U2V0LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9TdHlsZVByb3BlcnR5U2V0LmNwcAppbmRleCBkMGYwZmFiMmExYmQzNTE5NTczNTBm
Mjc5OWRhOGQ0NDA3YzgzYjAyLi42ZTNjMGZkZTk2ZDI4YzNhMDY1MjZkYTk5ZjFiMzA2YWU1NGFl
ZTYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVQcm9wZXJ0eVNldC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUHJvcGVydHlTZXQuY3BwCkBAIC0xMTI3LDcg
KzExMjcsNyBAQCB2b2lkIFN0eWxlUHJvcGVydHlTZXQ6OnJlcG9ydE1lbW9yeVVzYWdlKE1lbW9y
eU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbgogCiAgICAgdW5zaWduZWQgY291bnQg
PSBwcm9wZXJ0eUNvdW50KCk7CiAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGNvdW50OyAr
K2kpCi0gICAgICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKHByb3BlcnR5QXQoaSkpOwor
ICAgICAgICBpbmZvLmFkZE1lbWJlcihwcm9wZXJ0eUF0KGkpKTsKIH0KIAogLy8gU2VlIHRoZSBm
dW5jdGlvbiBhYm92ZSBpZiB5b3UgbmVlZCB0byB1cGRhdGUgdGhpcy4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9T
dHlsZVJlc29sdmVyLmNwcAppbmRleCBlNTE5N2E0ZGM2MzdlZWRkOGEyZWNjZDBiMmMzYWQ0Zjg2
NjUyYmNhLi41MTdiZGI2YjJlMGY2YTA3MmI2YzkwMTlkY2FiMTg4ZDFkY2RlZTk1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3BwCkBAIC0yNTg2LDcgKzI1ODYsNyBAQCB2b2lkIFJ1
bGVTZXQ6OnJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdElu
Zm8pIGNvbnN0CiB2b2lkIFJ1bGVTZXQ6OlJ1bGVTZXRTZWxlY3RvclBhaXI6OnJlcG9ydE1lbW9y
eVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiB7CiAgICAg
TWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9y
eVR5cGVzOjpDU1MpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKHJ1bGVTZXQpOwor
ICAgIGluZm8uYWRkTWVtYmVyKHJ1bGVTZXQpOwogfQogCiBzdGF0aWMgaW5saW5lIHZvaWQgY29s
bGVjdEZlYXR1cmVzRnJvbVNlbGVjdG9yKFN0eWxlUmVzb2x2ZXI6OkZlYXR1cmVzJiBmZWF0dXJl
cywgY29uc3QgQ1NTU2VsZWN0b3IqIHNlbGVjdG9yKQpAQCAtNTc1OSw3ICs1NzU5LDcgQEAgdm9p
ZCBTdHlsZVJlc29sdmVyOjpsb2FkUGVuZGluZ1Jlc291cmNlcygpCiB2b2lkIFN0eWxlUmVzb2x2
ZXI6Ok1hdGNoZWRQcm9wZXJ0aWVzOjpyZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZv
KiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAogewogICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1l
bW9yeU9iamVjdEluZm8sIHRoaXMsIFdlYkNvcmVNZW1vcnlUeXBlczo6Q1NTKTsKLSAgICBpbmZv
LmFkZEluc3RydW1lbnRlZE1lbWJlcihwcm9wZXJ0aWVzKTsKKyAgICBpbmZvLmFkZE1lbWJlcihw
cm9wZXJ0aWVzKTsKIH0KIAogdm9pZCBTdHlsZVJlc29sdmVyOjpNYXRjaGVkUHJvcGVydGllc0Nh
Y2hlSXRlbTo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0
SW5mbykgY29uc3QKQEAgLTU3NzEsMjYgKzU3NzEsMjYgQEAgdm9pZCBTdHlsZVJlc29sdmVyOjpN
YXRjaGVkUHJvcGVydGllc0NhY2hlSXRlbTo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0
SW4KIHZvaWQgTWVkaWFRdWVyeVJlc3VsdDo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0
SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKIHsKICAgICBNZW1vcnlDbGFzc0luZm8gaW5m
byhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6OkNTUyk7Ci0gICAg
aW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9leHByZXNzaW9uKTsKKyAgICBpbmZvLmFkZE1l
bWJlcihtX2V4cHJlc3Npb24pOwogfQogCiB2b2lkIFN0eWxlUmVzb2x2ZXI6OnJlcG9ydE1lbW9y
eVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiB7CiAgICAg
TWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9y
eVR5cGVzOjpDU1MpOwogICAgIGluZm8uYWRkTWVtYmVyKG1fc3R5bGUpOwotICAgIGluZm8uYWRk
SW5zdHJ1bWVudGVkTWVtYmVyKG1fYXV0aG9yU3R5bGUpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVu
dGVkTWVtYmVyKG1fdXNlclN0eWxlKTsKLSAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlciht
X3NpYmxpbmdSdWxlU2V0KTsKLSAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX3VuY29t
bW9uQXR0cmlidXRlUnVsZVNldCk7CisgICAgaW5mby5hZGRNZW1iZXIobV9hdXRob3JTdHlsZSk7
CisgICAgaW5mby5hZGRNZW1iZXIobV91c2VyU3R5bGUpOworICAgIGluZm8uYWRkTWVtYmVyKG1f
c2libGluZ1J1bGVTZXQpOworICAgIGluZm8uYWRkTWVtYmVyKG1fdW5jb21tb25BdHRyaWJ1dGVS
dWxlU2V0KTsKICAgICBpbmZvLmFkZEhhc2hNYXAobV9rZXlmcmFtZXNSdWxlTWFwKTsKICAgICBp
bmZvLmFkZEhhc2hNYXAobV9tYXRjaGVkUHJvcGVydGllc0NhY2hlKTsKICAgICBpbmZvLmFkZElu
c3RydW1lbnRlZE1hcFZhbHVlcyhtX21hdGNoZWRQcm9wZXJ0aWVzQ2FjaGUpOwogICAgIGluZm8u
YWRkVmVjdG9yKG1fbWF0Y2hlZFJ1bGVzKTsKIAotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVt
YmVyKG1fcnVsZUxpc3QpOworICAgIGluZm8uYWRkTWVtYmVyKG1fcnVsZUxpc3QpOwogICAgIGlu
Zm8uYWRkSGFzaE1hcChtX3BlbmRpbmdJbWFnZVByb3BlcnRpZXMpOwogICAgIGluZm8uYWRkSW5z
dHJ1bWVudGVkTWFwVmFsdWVzKG1fcGVuZGluZ0ltYWdlUHJvcGVydGllcyk7Ci0gICAgaW5mby5h
ZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9saW5lSGVpZ2h0VmFsdWUpOworICAgIGluZm8uYWRkTWVt
YmVyKG1fbGluZUhlaWdodFZhbHVlKTsKICAgICBpbmZvLmFkZEluc3RydW1lbnRlZFZlY3Rvciht
X3ZpZXdwb3J0RGVwZW5kZW50TWVkaWFRdWVyeVJlc3VsdHMpOwogICAgIGluZm8uYWRkSGFzaE1h
cChtX3N0eWxlUnVsZVRvQ1NTT01XcmFwcGVyTWFwKTsKICAgICBpbmZvLmFkZEluc3RydW1lbnRl
ZE1hcEVudHJpZXMobV9zdHlsZVJ1bGVUb0NTU09NV3JhcHBlck1hcCk7CkBAIC01ODA1LDEwICs1
ODA1LDEwIEBAIHZvaWQgU3R5bGVSZXNvbHZlcjo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2Jq
ZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKICNlbmRpZgogCiAgICAgLy8gRklYTUU6
IG1vdmUgdGhpcyB0byBhIHBsYWNlIHdoZXJlIGl0IHdvdWxkIGJlIGNhbGxlZCBvbmx5IG9uY2U/
Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIoZGVmYXVsdFN0eWxlKTsKLSAgICBpbmZv
LmFkZEluc3RydW1lbnRlZE1lbWJlcihkZWZhdWx0UXVpcmtzU3R5bGUpOwotICAgIGluZm8uYWRk
SW5zdHJ1bWVudGVkTWVtYmVyKGRlZmF1bHRQcmludFN0eWxlKTsKLSAgICBpbmZvLmFkZEluc3Ry
dW1lbnRlZE1lbWJlcihkZWZhdWx0Vmlld1NvdXJjZVN0eWxlKTsKKyAgICBpbmZvLmFkZE1lbWJl
cihkZWZhdWx0U3R5bGUpOworICAgIGluZm8uYWRkTWVtYmVyKGRlZmF1bHRRdWlya3NTdHlsZSk7
CisgICAgaW5mby5hZGRNZW1iZXIoZGVmYXVsdFByaW50U3R5bGUpOworICAgIGluZm8uYWRkTWVt
YmVyKGRlZmF1bHRWaWV3U291cmNlU3R5bGUpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSdWxlLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9TdHlsZVJ1bGUuY3BwCmluZGV4IDY4NDdjMTZiOTcwZmFlNWY1MTgyMGVkN2Fm
NWQ3MGYyM2VmN2Y3ZGUuLjU5ZWQ5ZTU4ZjBhN2Y3YzkwY2ZmMzJiM2ZiNWI0ODhjZmJjOGExYjQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGUuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGUuY3BwCkBAIC0yMDksOCArMjA5LDggQEAgdW5zaWduZWQg
U3R5bGVSdWxlOjphdmVyYWdlU2l6ZUluQnl0ZXMoKQogdm9pZCBTdHlsZVJ1bGU6OnJlcG9ydERl
c2NlbmRhbnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBj
b25zdAogewogICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMs
IFdlYkNvcmVNZW1vcnlUeXBlczo6Q1NTKTsKLSAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJl
cihtX3Byb3BlcnRpZXMpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fc2VsZWN0
b3JMaXN0KTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX3Byb3BlcnRpZXMpOworICAgIGluZm8uYWRk
TWVtYmVyKG1fc2VsZWN0b3JMaXN0KTsKIH0KIAogU3R5bGVSdWxlOjpTdHlsZVJ1bGUoaW50IHNv
dXJjZUxpbmUpCkBAIC0yNzIsOCArMjcyLDggQEAgdm9pZCBTdHlsZVJ1bGVQYWdlOjpzZXRQcm9w
ZXJ0aWVzKFBhc3NSZWZQdHI8U3R5bGVQcm9wZXJ0eVNldD4gcHJvcGVydGllcykKIHZvaWQgU3R5
bGVSdWxlUGFnZTo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8q
IG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiB7CiAgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVt
b3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9yeVR5cGVzOjpDU1MpOwotICAgIGluZm8u
YWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fcHJvcGVydGllcyk7Ci0gICAgaW5mby5hZGRJbnN0cnVt
ZW50ZWRNZW1iZXIobV9zZWxlY3Rvckxpc3QpOworICAgIGluZm8uYWRkTWVtYmVyKG1fcHJvcGVy
dGllcyk7CisgICAgaW5mby5hZGRNZW1iZXIobV9zZWxlY3Rvckxpc3QpOwogfQogCiBTdHlsZVJ1
bGVGb250RmFjZTo6U3R5bGVSdWxlRm9udEZhY2UoKQpAQCAtMzA2LDcgKzMwNiw3IEBAIHZvaWQg
U3R5bGVSdWxlRm9udEZhY2U6OnNldFByb3BlcnRpZXMoUGFzc1JlZlB0cjxTdHlsZVByb3BlcnR5
U2V0PiBwcm9wZXJ0aWVzKQogdm9pZCBTdHlsZVJ1bGVGb250RmFjZTo6cmVwb3J0RGVzY2VuZGFu
dE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiB7
CiAgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29y
ZU1lbW9yeVR5cGVzOjpDU1MpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fcHJv
cGVydGllcyk7CisgICAgaW5mby5hZGRNZW1iZXIobV9wcm9wZXJ0aWVzKTsKIH0KIAogCkBAIC0z
NTYsNyArMzU2LDcgQEAgU3R5bGVSdWxlTWVkaWE6OlN0eWxlUnVsZU1lZGlhKGNvbnN0IFN0eWxl
UnVsZU1lZGlhJiBvKQogdm9pZCBTdHlsZVJ1bGVNZWRpYTo6cmVwb3J0RGVzY2VuZGFudE1lbW9y
eVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiB7CiAgICAg
TWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9y
eVR5cGVzOjpDU1MpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fbWVkaWFRdWVy
aWVzKTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX21lZGlhUXVlcmllcyk7CiB9CiAKIFN0eWxlUnVs
ZVJlZ2lvbjo6U3R5bGVSdWxlUmVnaW9uKENTU1NlbGVjdG9yVmVjdG9yKiBzZWxlY3RvcnMsIFZl
Y3RvcjxSZWZQdHI8U3R5bGVSdWxlQmFzZT4gPiYgYWRvcHRSdWxlcykKQEAgLTM3NCw3ICszNzQs
NyBAQCBTdHlsZVJ1bGVSZWdpb246OlN0eWxlUnVsZVJlZ2lvbihjb25zdCBTdHlsZVJ1bGVSZWdp
b24mIG8pCiB2b2lkIFN0eWxlUnVsZVJlZ2lvbjo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdl
KE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiB7CiAgICAgTWVtb3J5
Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9yeVR5cGVz
OjpDU1MpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fc2VsZWN0b3JMaXN0KTsK
KyAgICBpbmZvLmFkZE1lbWJlcihtX3NlbGVjdG9yTGlzdCk7CiB9CiAKIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGVJbXBvcnQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUnVsZUltcG9ydC5jcHAKaW5kZXggODhkNDBh
NzMwOWJhOTIyYmQ3OGEyZDlhOGYyM2RiYjQ2YmUzNWI3OC4uMjZmMjllODJmODBhOWZmNTFkYWNl
NTcwZDhmNDdlOTM4YWU1ZGUwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxl
UnVsZUltcG9ydC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUnVsZUltcG9ydC5j
cHAKQEAgLTEzNCw5ICsxMzQsOSBAQCB2b2lkIFN0eWxlUnVsZUltcG9ydDo6cmVxdWVzdFN0eWxl
U2hlZXQoKQogdm9pZCBTdHlsZVJ1bGVJbXBvcnQ6OnJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2Fn
ZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAogewogICAgIE1lbW9y
eUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIFdlYkNvcmVNZW1vcnlUeXBl
czo6Q1NTKTsKLSAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX3N0ckhyZWYpOwotICAg
IGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fbWVkaWFRdWVyaWVzKTsKLSAgICBpbmZvLmFk
ZEluc3RydW1lbnRlZE1lbWJlcihtX3N0eWxlU2hlZXQpOworICAgIGluZm8uYWRkTWVtYmVyKG1f
c3RySHJlZik7CisgICAgaW5mby5hZGRNZW1iZXIobV9tZWRpYVF1ZXJpZXMpOworICAgIGluZm8u
YWRkTWVtYmVyKG1fc3R5bGVTaGVldCk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVNoZWV0Q29udGVudHMuY3BwIGIvU291
cmNlL1dlYkNvcmUvY3NzL1N0eWxlU2hlZXRDb250ZW50cy5jcHAKaW5kZXggNWVkZmQ4OTY0ODBj
ZTVmM2U2OTExMmZlZDhhYzdlYmUxYzIwZjkwOS4uMDQ4MjczYmVjMTc4M2RiMjUyNzdiMjJlMmVm
NDNkYzY4OTYxN2FkZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlU2hlZXRD
b250ZW50cy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlU2hlZXRDb250ZW50cy5j
cHAKQEAgLTQ4Nyw4ICs0ODcsOCBAQCB2b2lkIFN0eWxlU2hlZXRDb250ZW50czo6cmVtb3ZlZEZy
b21NZW1vcnlDYWNoZSgpCiB2b2lkIFN0eWxlU2hlZXRDb250ZW50czo6cmVwb3J0TWVtb3J5VXNh
Z2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKIHsKICAgICBNZW1v
cnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlw
ZXM6OkNTUyk7Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9vcmlnaW5hbFVSTCk7
Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9lbmNvZGluZ0Zyb21DaGFyc2V0UnVs
ZSk7CisgICAgaW5mby5hZGRNZW1iZXIobV9vcmlnaW5hbFVSTCk7CisgICAgaW5mby5hZGRNZW1i
ZXIobV9lbmNvZGluZ0Zyb21DaGFyc2V0UnVsZSk7CiAgICAgaW5mby5hZGRWZWN0b3IobV9pbXBv
cnRSdWxlcyk7CiAgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRWZWN0b3IobV9jaGlsZFJ1bGVzKTsK
ICAgICBpbmZvLmFkZEhhc2hNYXAobV9uYW1lc3BhY2VzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9XZWJLaXRDU1NLZXlmcmFtZVJ1bGUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3Nz
L1dlYktpdENTU0tleWZyYW1lUnVsZS5jcHAKaW5kZXggYmYzYjg2OTViN2MzNjcxZDk3MjA5YzNl
M2VjZjcxZTcyNmM0YmNhZi4uOGFjYjU0OTc5YTYxYTAwZWRkZjI5ZDQ2ODkyMzFlYTBlNWEzODg3
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU0tleWZyYW1lUnVsZS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU0tleWZyYW1lUnVsZS5jcHAKQEAg
LTkyLDggKzkyLDggQEAgU3RyaW5nIFN0eWxlS2V5ZnJhbWU6OmNzc1RleHQoKSBjb25zdAogdm9p
ZCBTdHlsZUtleWZyYW1lOjpyZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1v
cnlPYmplY3RJbmZvKSBjb25zdAogewogICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9i
amVjdEluZm8sIHRoaXMsIFdlYkNvcmVNZW1vcnlUeXBlczo6Q1NTKTsKLSAgICBpbmZvLmFkZElu
c3RydW1lbnRlZE1lbWJlcihtX3Byb3BlcnRpZXMpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVk
TWVtYmVyKG1fa2V5KTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX3Byb3BlcnRpZXMpOworICAgIGlu
Zm8uYWRkTWVtYmVyKG1fa2V5KTsKIH0KIAogV2ViS2l0Q1NTS2V5ZnJhbWVSdWxlOjpXZWJLaXRD
U1NLZXlmcmFtZVJ1bGUoU3R5bGVLZXlmcmFtZSoga2V5ZnJhbWUsIFdlYktpdENTU0tleWZyYW1l
c1J1bGUqIHBhcmVudCkKQEAgLTEyMCw4ICsxMjAsOCBAQCB2b2lkIFdlYktpdENTU0tleWZyYW1l
UnVsZTo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9y
eQogewogICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIFdl
YkNvcmVNZW1vcnlUeXBlczo6Q1NTKTsKICAgICBDU1NSdWxlOjpyZXBvcnRCYXNlQ2xhc3NNZW1v
cnlVc2FnZShtZW1vcnlPYmplY3RJbmZvKTsKLSAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJl
cihtX2tleWZyYW1lKTsKLSAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX3Byb3BlcnRp
ZXNDU1NPTVdyYXBwZXIpOworICAgIGluZm8uYWRkTWVtYmVyKG1fa2V5ZnJhbWUpOworICAgIGlu
Zm8uYWRkTWVtYmVyKG1fcHJvcGVydGllc0NTU09NV3JhcHBlcik7CiB9CiAKIH0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NLZXlm
cmFtZXNSdWxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NLZXlmcmFtZXNSdWxl
LmNwcAppbmRleCBmOGQwODA3OGRkN2JjMDRhNTk3MDE1ZWRlN2VmMDJiYTE5MmQxYWE4Li5hMjk5
MWE4MThmNTBmZmY0ZDViNGUwOWJkNDMyOWI4YTMxYjg1MDFlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvV2ViS2l0Q1NTS2V5ZnJhbWVzUnVsZS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvY3NzL1dlYktpdENTU0tleWZyYW1lc1J1bGUuY3BwCkBAIC05MSw3ICs5MSw3IEBAIHZvaWQg
U3R5bGVSdWxlS2V5ZnJhbWVzOjpyZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2UoTWVtb3J5T2Jq
ZWN0SW5mbyogbWVtb3J5T2JqCiB7CiAgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2Jq
ZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9yeVR5cGVzOjpDU1MpOwogICAgIGluZm8uYWRkSW5z
dHJ1bWVudGVkVmVjdG9yKG1fa2V5ZnJhbWVzKTsKLSAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1l
bWJlcihtX25hbWUpOworICAgIGluZm8uYWRkTWVtYmVyKG1fbmFtZSk7CiB9CiAKIFdlYktpdENT
U0tleWZyYW1lc1J1bGU6OldlYktpdENTU0tleWZyYW1lc1J1bGUoU3R5bGVSdWxlS2V5ZnJhbWVz
KiBrZXlmcmFtZXNSdWxlLCBDU1NTdHlsZVNoZWV0KiBwYXJlbnQpCkBAIC0yMTAsOSArMjEwLDkg
QEAgdm9pZCBXZWJLaXRDU1NLZXlmcmFtZXNSdWxlOjpyZXBvcnREZXNjZW5kYW50TWVtb3J5VXNh
Z2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3IKIHsKICAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyht
ZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6OkNTUyk7CiAgICAgQ1NT
UnVsZTo6cmVwb3J0QmFzZUNsYXNzTWVtb3J5VXNhZ2UobWVtb3J5T2JqZWN0SW5mbyk7Ci0gICAg
aW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9rZXlmcmFtZXNSdWxlKTsKKyAgICBpbmZvLmFk
ZE1lbWJlcihtX2tleWZyYW1lc1J1bGUpOwogICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkVmVjdG9y
KG1fY2hpbGRSdWxlQ1NTT01XcmFwcGVycyk7Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1i
ZXIobV9ydWxlTGlzdENTU09NV3JhcHBlcik7CisgICAgaW5mby5hZGRNZW1iZXIobV9ydWxlTGlz
dENTU09NV3JhcHBlcik7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NSZWdpb25SdWxlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9XZWJLaXRDU1NSZWdpb25SdWxlLmNwcAppbmRleCBlNjQ4MzJmNmIyYzI4Nzk4M2Ni
NTJmNjliYTU4N2Q3ZTViYzdjYjk5Li41YzJjNzIxY2Q2ODU0YWQzOTIxYWM1NjM5MTg1ZjZhOTY4
OTEzYzMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTUmVnaW9uUnVs
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU1JlZ2lvblJ1bGUuY3BwCkBA
IC0xMTIsOSArMTEyLDkgQEAgdm9pZCBXZWJLaXRDU1NSZWdpb25SdWxlOjpyZXBvcnREZXNjZW5k
YW50TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2IKIHsKICAgICBNZW1vcnlD
bGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6
OkNTUyk7CiAgICAgQ1NTUnVsZTo6cmVwb3J0QmFzZUNsYXNzTWVtb3J5VXNhZ2UobWVtb3J5T2Jq
ZWN0SW5mbyk7Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9yZWdpb25SdWxlKTsK
KyAgICBpbmZvLmFkZE1lbWJlcihtX3JlZ2lvblJ1bGUpOwogICAgIGluZm8uYWRkSW5zdHJ1bWVu
dGVkVmVjdG9yKG1fY2hpbGRSdWxlQ1NTT01XcmFwcGVycyk7Ci0gICAgaW5mby5hZGRJbnN0cnVt
ZW50ZWRNZW1iZXIobV9ydWxlTGlzdENTU09NV3JhcHBlcik7CisgICAgaW5mby5hZGRNZW1iZXIo
bV9ydWxlTGlzdENTU09NV3JhcHBlcik7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NTVkdEb2N1bWVudFZhbHVlLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NTVkdEb2N1bWVudFZhbHVlLmNwcAppbmRl
eCBlMTMzYzkyMjFiYzRlMWJiOGJlNjBhMTg3MmM5OTMwNGMzMWZmMjkzLi40NGM4ODA4OTQ3MGU4
MzlkOTc0ZWJhMDFjYzA2ZjdkOTIwYzE4MTIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvV2ViS2l0Q1NTU1ZHRG9jdW1lbnRWYWx1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3Nz
L1dlYktpdENTU1NWR0RvY3VtZW50VmFsdWUuY3BwCkBAIC02Nyw3ICs2Nyw3IEBAIFN0cmluZyBX
ZWJLaXRDU1NTVkdEb2N1bWVudFZhbHVlOjpjdXN0b21Dc3NUZXh0KCkgY29uc3QKIHZvaWQgV2Vi
S2l0Q1NTU1ZHRG9jdW1lbnRWYWx1ZTo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKE1lbW9y
eU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiB7CiAgICAgTWVtb3J5Q2xhc3NJ
bmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9yeVR5cGVzOjpDU1Mp
OwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fdXJsKTsKKyAgICBpbmZvLmFkZE1l
bWJlcihtX3VybCk7CiAgICAgLy8gRklYTUU6IGFkZCBtX2RvY3VtZW50IHdoZW4gY2FjaGVkIHJl
c291cmNlcyBhcmUgaW5zdHJ1bWVudGVkLgogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvV2ViS2l0Q1NTU2hhZGVyVmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL1dlYktp
dENTU1NoYWRlclZhbHVlLmNwcAppbmRleCAyMzI2OTk5YjAxODYzNGRkYzRlNjZmOGE4NGQ1NTVj
MjgwZjM5OTk0Li42ZjkzNzNlMGYwZmEyZGY4YmY0OTQyODFiNWMyZDg3NzI5YWJiOTYxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTU2hhZGVyVmFsdWUuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NTaGFkZXJWYWx1ZS5jcHAKQEAgLTgzLDcgKzgz
LDcgQEAgU3RyaW5nIFdlYktpdENTU1NoYWRlclZhbHVlOjpjdXN0b21Dc3NUZXh0KCkgY29uc3QK
IHZvaWQgV2ViS2l0Q1NTU2hhZGVyVmFsdWU6OnJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZShN
ZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAogewogICAgIE1lbW9yeUNs
YXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIFdlYkNvcmVNZW1vcnlUeXBlczo6
Q1NTKTsKLSAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX3VybCk7CisgICAgaW5mby5h
ZGRNZW1iZXIobV91cmwpOwogfQogICAgIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0F0dHJpYnV0ZS5oIGIvU291cmNlL1dlYkNvcmUvZG9t
L0F0dHJpYnV0ZS5oCmluZGV4IGFkYjE4YTU4OWVlMTQxMjM5MzI1NzMyZmYzOGI1ODcwNmI4NmRi
MzkuLjgzMjhhNzgzNzg1YjM5MjY0OTU1MDhlY2IzMmIyZGZjNjRjZDlkZGEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9BdHRyaWJ1dGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20v
QXR0cmlidXRlLmgKQEAgLTcxLDggKzcxLDggQEAgcHVibGljOgogICAgIHZvaWQgcmVwb3J0TWVt
b3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKICAgICB7
CiAgICAgICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIFdl
YkNvcmVNZW1vcnlUeXBlczo6RE9NKTsKLSAgICAgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1i
ZXIobV9uYW1lKTsKLSAgICAgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV92YWx1ZSk7
CisgICAgICAgIGluZm8uYWRkTWVtYmVyKG1fbmFtZSk7CisgICAgICAgIGluZm8uYWRkTWVtYmVy
KG1fdmFsdWUpOwogICAgIH0KIAogcHJpdmF0ZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9DaGFyYWN0ZXJEYXRhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9DaGFyYWN0ZXJEYXRh
LmNwcAppbmRleCAzOTBkZTE4MjEyMGFjYTg1ZmEwOWUyYTNlY2FkZTE5NTI0NWE5NjU5Li45YTU0
YTc0Y2QwYWEyYTgzOTA4YzkwNzhhNTllOWQ5YzAxNzU3NmZkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vQ2hhcmFjdGVyRGF0YS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0No
YXJhY3RlckRhdGEuY3BwCkBAIC05OCw3ICs5OCw3IEBAIHZvaWQgQ2hhcmFjdGVyRGF0YTo6cmVw
b3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QK
IHsKICAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBXZWJD
b3JlTWVtb3J5VHlwZXM6OkRPTSk7CiAgICAgTm9kZTo6cmVwb3J0TWVtb3J5VXNhZ2UobWVtb3J5
T2JqZWN0SW5mbyk7Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9kYXRhKTsKKyAg
ICBpbmZvLmFkZE1lbWJlcihtX2RhdGEpOwogfQogCiB2b2lkIENoYXJhY3RlckRhdGE6OmFwcGVu
ZERhdGEoY29uc3QgU3RyaW5nJiBkYXRhLCBFeGNlcHRpb25Db2RlJikKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9Db250YWluZXJOb2RlLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vQ29u
dGFpbmVyTm9kZS5oCmluZGV4IDIxOWRjNzJiY2NmNjA2N2JjODZlODQwYTBkNWJjODFlZWY4ZTcx
OTQuLmY5ZWMzNzc5OGM5NGZjYmRiZTQwYWQ2ODE3N2VkMDk4NDNiNDFkYjggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9Db250YWluZXJOb2RlLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
ZG9tL0NvbnRhaW5lck5vZGUuaApAQCAtMTA1LDggKzEwNSw4IEBAIHB1YmxpYzoKICAgICB7CiAg
ICAgICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIFdlYkNv
cmVNZW1vcnlUeXBlczo6RE9NKTsKICAgICAgICAgTm9kZTo6cmVwb3J0TWVtb3J5VXNhZ2UobWVt
b3J5T2JqZWN0SW5mbyk7Ci0gICAgICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fZmly
c3RDaGlsZCk7Ci0gICAgICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fbGFzdENoaWxk
KTsKKyAgICAgICAgaW5mby5hZGRNZW1iZXIobV9maXJzdENoaWxkKTsKKyAgICAgICAgaW5mby5h
ZGRNZW1iZXIobV9sYXN0Q2hpbGQpOwogICAgIH0KIAogcHJvdGVjdGVkOgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1
bWVudC5jcHAKaW5kZXggYjdhZmQ2YTI0ODY2MjRmYTIwZTc2Nzk5ZjAyODY1ODE5OGIzYTc4Yi4u
Y2UxM2RjMzk2MDM3MTg2ZjllOTc5MDRiZGYyMTcyNDM2ZTk3YmVhMSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9j
dW1lbnQuY3BwCkBAIC02MjUwLDIxICs2MjUwLDIxIEBAIHZvaWQgRG9jdW1lbnQ6OnVwZGF0ZUhv
dmVyQWN0aXZlU3RhdGUoY29uc3QgSGl0VGVzdFJlcXVlc3QmIHJlcXVlc3QsIEhpdFRlc3RSZXN1
CiB2b2lkIERvY3VtZW50OjpyZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1v
cnlPYmplY3RJbmZvKSBjb25zdAogewogICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9i
amVjdEluZm8sIHRoaXMsIFdlYkNvcmVNZW1vcnlUeXBlczo6RE9NKTsKLSAgICBpbmZvLmFkZElu
c3RydW1lbnRlZE1lbWJlcihtX3N0eWxlUmVzb2x2ZXIpOworICAgIGluZm8uYWRkTWVtYmVyKG1f
c3R5bGVSZXNvbHZlcik7CiAgICAgQ29udGFpbmVyTm9kZTo6cmVwb3J0TWVtb3J5VXNhZ2UobWVt
b3J5T2JqZWN0SW5mbyk7CiAgICAgaW5mby5hZGRWZWN0b3IobV9jdXN0b21Gb250cyk7Ci0gICAg
aW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV91cmwpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVu
dGVkTWVtYmVyKG1fYmFzZVVSTCk7Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9i
YXNlVVJMT3ZlcnJpZGUpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fYmFzZUVs
ZW1lbnRVUkwpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fY29va2llVVJMKTsK
LSAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX2ZpcnN0UGFydHlGb3JDb29raWVzKTsK
LSAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX2RvY3VtZW50VVJJKTsKLSAgICBpbmZv
LmFkZEluc3RydW1lbnRlZE1lbWJlcihtX2Jhc2VUYXJnZXQpOwotICAgIGluZm8uYWRkSW5zdHJ1
bWVudGVkTWVtYmVyKG1fZnJhbWUpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1f
Y2FjaGVkUmVzb3VyY2VMb2FkZXIpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1f
ZWxlbVNoZWV0KTsKLSAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX3BhZ2VVc2VyU2hl
ZXQpOworICAgIGluZm8uYWRkTWVtYmVyKG1fdXJsKTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX2Jh
c2VVUkwpOworICAgIGluZm8uYWRkTWVtYmVyKG1fYmFzZVVSTE92ZXJyaWRlKTsKKyAgICBpbmZv
LmFkZE1lbWJlcihtX2Jhc2VFbGVtZW50VVJMKTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX2Nvb2tp
ZVVSTCk7CisgICAgaW5mby5hZGRNZW1iZXIobV9maXJzdFBhcnR5Rm9yQ29va2llcyk7CisgICAg
aW5mby5hZGRNZW1iZXIobV9kb2N1bWVudFVSSSk7CisgICAgaW5mby5hZGRNZW1iZXIobV9iYXNl
VGFyZ2V0KTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX2ZyYW1lKTsKKyAgICBpbmZvLmFkZE1lbWJl
cihtX2NhY2hlZFJlc291cmNlTG9hZGVyKTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX2VsZW1TaGVl
dCk7CisgICAgaW5mby5hZGRNZW1iZXIobV9wYWdlVXNlclNoZWV0KTsKICAgICBpZiAobV9wYWdl
R3JvdXBVc2VyU2hlZXRzKQogICAgICAgICBpbmZvLmFkZEluc3RydW1lbnRlZFZlY3RvclB0ciht
X3BhZ2VHcm91cFVzZXJTaGVldHMpOwogICAgIGlmIChtX3VzZXJTaGVldHMpCkBAIC02MjcyLDEz
ICs2MjcyLDEzIEBAIHZvaWQgRG9jdW1lbnQ6OnJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVj
dEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiAgICAgaW5mby5hZGRIYXNoU2V0KG1fbm9k
ZUl0ZXJhdG9ycyk7CiAgICAgaW5mby5hZGRIYXNoU2V0KG1fcmFuZ2VzKTsKICAgICBpbmZvLmFk
ZExpc3RIYXNoU2V0KG1fc3R5bGVTaGVldENhbmRpZGF0ZU5vZGVzKTsKLSAgICBpbmZvLmFkZElu
c3RydW1lbnRlZE1lbWJlcihtX3ByZWZlcnJlZFN0eWxlc2hlZXRTZXQpOwotICAgIGluZm8uYWRk
SW5zdHJ1bWVudGVkTWVtYmVyKG1fc2VsZWN0ZWRTdHlsZXNoZWV0U2V0KTsKLSAgICBpbmZvLmFk
ZEluc3RydW1lbnRlZE1lbWJlcihtX3RpdGxlLnN0cmluZygpKTsKLSAgICBpbmZvLmFkZEluc3Ry
dW1lbnRlZE1lbWJlcihtX3Jhd1RpdGxlLnN0cmluZygpKTsKLSAgICBpbmZvLmFkZEluc3RydW1l
bnRlZE1lbWJlcihtX3htbEVuY29kaW5nKTsKLSAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJl
cihtX3htbFZlcnNpb24pOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fY29udGVu
dExhbmd1YWdlKTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX3ByZWZlcnJlZFN0eWxlc2hlZXRTZXQp
OworICAgIGluZm8uYWRkTWVtYmVyKG1fc2VsZWN0ZWRTdHlsZXNoZWV0U2V0KTsKKyAgICBpbmZv
LmFkZE1lbWJlcihtX3RpdGxlLnN0cmluZygpKTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX3Jhd1Rp
dGxlLnN0cmluZygpKTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX3htbEVuY29kaW5nKTsKKyAgICBp
bmZvLmFkZE1lbWJlcihtX3htbFZlcnNpb24pOworICAgIGluZm8uYWRkTWVtYmVyKG1fY29udGVu
dExhbmd1YWdlKTsKICAgICBpbmZvLmFkZEhhc2hNYXAobV9kb2N1bWVudE5hbWVkSXRlbUNvbGxl
Y3Rpb25zKTsKICAgICBpbmZvLmFkZEhhc2hNYXAobV93aW5kb3dOYW1lZEl0ZW1Db2xsZWN0aW9u
cyk7CiAjaWYgRU5BQkxFKERBU0hCT0FSRF9TVVBQT1JUKQpAQCAtNjI5MCw3ICs2MjkwLDcgQEAg
dm9pZCBEb2N1bWVudDo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5
T2JqZWN0SW5mbykgY29uc3QKICAgICBpbmZvLmFkZEhhc2hTZXQobV9tZWRpYVZvbHVtZUNhbGxi
YWNrRWxlbWVudHMpOwogICAgIGluZm8uYWRkSGFzaFNldChtX3ByaXZhdGVCcm93c2luZ1N0YXRl
Q2hhbmdlZEVsZW1lbnRzKTsKICAgICBpbmZvLmFkZEhhc2hNYXAobV9lbGVtZW50c0J5QWNjZXNz
S2V5KTsKLSAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX2V2ZW50UXVldWUpOworICAg
IGluZm8uYWRkTWVtYmVyKG1fZXZlbnRRdWV1ZSk7CiAgICAgaW5mby5hZGRIYXNoU2V0KG1fbWVk
aWFDYW5TdGFydExpc3RlbmVycyk7CiAgICAgaW5mby5hZGRWZWN0b3IobV9wZW5kaW5nVGFza3Mp
OwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaCBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9FbGVtZW50LmgKaW5kZXggOGEyOGNmNzE1YjAxMzNkYzk1OTAwZjNjY2QyMGE0
ZjIyNTlhYmY3OS4uMmY0ZTkyNTY0Y2ExMGYwY2UyY2IyYzY1NWE1NGM3Mzk3OTdjMWZhYyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vRWxlbWVudC5oCkBAIC00NDIsOCArNDQyLDggQEAgcHVibGljOgogICAgIHsKICAgICAg
ICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29yZU1l
bW9yeVR5cGVzOjpET00pOwogICAgICAgICBDb250YWluZXJOb2RlOjpyZXBvcnRNZW1vcnlVc2Fn
ZShtZW1vcnlPYmplY3RJbmZvKTsKLSAgICAgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIo
bV90YWdOYW1lKTsKLSAgICAgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9hdHRyaWJ1
dGVEYXRhKTsKKyAgICAgICAgaW5mby5hZGRNZW1iZXIobV90YWdOYW1lKTsKKyAgICAgICAgaW5m
by5hZGRNZW1iZXIobV9hdHRyaWJ1dGVEYXRhKTsKICAgICB9CiAKIHByb3RlY3RlZDoKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50QXR0cmlidXRlRGF0YS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRWxlbWVudEF0dHJpYnV0ZURhdGEuY3BwCmluZGV4IDE1NWZmZWE3YzNj
YzE1NWQzNmMwYjU3NzE4ODc4NzUwYTljYzNiYzYuLjAzZjdiODFmY2Y1YjE2ODE2ZjMxZWJkM2M1
ZmYwZDVhMDJkM2Y3NDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50QXR0
cmlidXRlRGF0YS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnRBdHRyaWJ1dGVE
YXRhLmNwcApAQCAtMjk1LDE0ICsyOTUsMTQgQEAgdm9pZCBFbGVtZW50QXR0cmlidXRlRGF0YTo6
cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykKIHsK
ICAgICBzaXplX3QgYWN0dWFsU2l6ZSA9IG1faXNNdXRhYmxlID8gc2l6ZW9mKEVsZW1lbnRBdHRy
aWJ1dGVEYXRhKSA6IGltbXV0YWJsZUVsZW1lbnRBdHRyaWJ1dGVEYXRhU2l6ZShtX2FycmF5U2l6
ZSk7CiAgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgV2Vi
Q29yZU1lbW9yeVR5cGVzOjpET00sIGFjdHVhbFNpemUpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVu
dGVkTWVtYmVyKG1faW5saW5lU3R5bGVEZWNsKTsKLSAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1l
bWJlcihtX2F0dHJpYnV0ZVN0eWxlKTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX2lubGluZVN0eWxl
RGVjbCk7CisgICAgaW5mby5hZGRNZW1iZXIobV9hdHRyaWJ1dGVTdHlsZSk7CiAgICAgaW5mby5h
ZGRNZW1iZXIobV9jbGFzc05hbWVzKTsKLSAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlciht
X2lkRm9yU3R5bGVSZXNvbHV0aW9uKTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX2lkRm9yU3R5bGVS
ZXNvbHV0aW9uKTsKICAgICBpZiAobV9pc011dGFibGUpCiAgICAgICAgIGluZm8uYWRkVmVjdG9y
KG11dGFibGVBdHRyaWJ1dGVWZWN0b3IoKSk7CiAgICAgZm9yICh1bnNpZ25lZCBpID0gMCwgbGVu
ID0gbGVuZ3RoKCk7IGkgPCBsZW47IGkrKykKLSAgICAgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRN
ZW1iZXIoKmF0dHJpYnV0ZUl0ZW0oaSkpOworICAgICAgICBpbmZvLmFkZE1lbWJlcigqYXR0cmli
dXRlSXRlbShpKSk7CiB9CiAKIHNpemVfdCBFbGVtZW50QXR0cmlidXRlRGF0YTo6Z2V0QXR0cmli
dXRlSXRlbUluZGV4U2xvd0Nhc2UoY29uc3QgQXRvbWljU3RyaW5nJiBuYW1lLCBib29sIHNob3Vs
ZElnbm9yZUF0dHJpYnV0ZUNhc2UpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9k
b20vRXZlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50LmNwcAppbmRleCBhMGJmNDM5
YjVlMjk1ZjkxMzA0NDI0N2JhYTEzZDExMGVlOGY1MTBiLi5jMWU2MDlmZjQwYTA2MTFhNzJjMmM3
YzExMDgxNTEyYmViMjhkYzU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudC5jcHAKQEAgLTE1OSwxMCArMTU5LDEw
IEBAIHZvaWQgRXZlbnQ6OnN0b3JlUmVzdWx0KGNvbnN0IFN0cmluZyYpCiB2b2lkIEV2ZW50Ojpy
ZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25z
dAogewogICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIFdl
YkNvcmVNZW1vcnlUeXBlczo6RE9NKTsKLSAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlciht
X3R5cGUpOworICAgIGluZm8uYWRkTWVtYmVyKG1fdHlwZSk7CiAgICAgaW5mby5hZGRNZW1iZXIo
bV9jdXJyZW50VGFyZ2V0KTsKICAgICBpbmZvLmFkZE1lbWJlcihtX3RhcmdldCk7Ci0gICAgaW5m
by5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV91bmRlcmx5aW5nRXZlbnQpOworICAgIGluZm8uYWRk
TWVtYmVyKG1fdW5kZXJseWluZ0V2ZW50KTsKIH0KIAogUGFzc1JlZlB0cjxFdmVudD4gRXZlbnQ6
OmNsb25lRm9yKEhUTUxJRnJhbWVFbGVtZW50KikgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Ob2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcAppbmRleCAz
NTNkMjgzZDAzOGYxYWQxZTRlMTM5YWNkNGE4YjM0NmM1M2ExOGNjLi5hZWY2NjljNTA2MTRjNWRk
YWQ3NzlkZmRkM2JjNmM5ZWM2M2RlZmI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20v
Tm9kZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwCkBAIC0yODExLDExICsy
ODExLDExIEBAIHZvaWQgTm9kZTo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyog
bWVtb3J5T2JqZWN0SW5mbykgY29uc3QKICAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlP
YmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6OkRPTSk7CiAgICAgVHJlZVNoYXJl
ZDxOb2RlLCBDb250YWluZXJOb2RlPjo6cmVwb3J0TWVtb3J5VXNhZ2UobWVtb3J5T2JqZWN0SW5m
byk7CiAgICAgU2NyaXB0V3JhcHBhYmxlOjpyZXBvcnRNZW1vcnlVc2FnZShtZW1vcnlPYmplY3RJ
bmZvKTsKLSAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX2RvY3VtZW50KTsKLSAgICBp
bmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX25leHQpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVu
dGVkTWVtYmVyKG1fcHJldmlvdXMpOworICAgIGluZm8uYWRkTWVtYmVyKG1fZG9jdW1lbnQpOwor
ICAgIGluZm8uYWRkTWVtYmVyKG1fbmV4dCk7CisgICAgaW5mby5hZGRNZW1iZXIobV9wcmV2aW91
cyk7CiAgICAgaWYgKG1fcmVuZGVyZXIpCi0gICAgICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVt
YmVyKG1fcmVuZGVyZXItPnN0eWxlKCkpOworICAgICAgICBpbmZvLmFkZE1lbWJlcihtX3JlbmRl
cmVyLT5zdHlsZSgpKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvZG9tL1F1YWxpZmllZE5hbWUuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9t
L1F1YWxpZmllZE5hbWUuY3BwCmluZGV4IDU2ODEwYjRlNDM5N2U5YjFmNWNiMjY3M2EzNTgwNWQ3
NzhjZmE2ODMuLjc4MzYwNDczMjBlNTA5MzlmNzA0NDdkNTA5YzZlZGU3NzIxN2JjMjIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9RdWFsaWZpZWROYW1lLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vUXVhbGlmaWVkTmFtZS5jcHAKQEAgLTE0NSwxNyArMTQ1LDE3IEBAIGNvbnN0
IEF0b21pY1N0cmluZyYgUXVhbGlmaWVkTmFtZTo6bG9jYWxOYW1lVXBwZXIoKSBjb25zdAogdm9p
ZCBRdWFsaWZpZWROYW1lOjpyZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1v
cnlPYmplY3RJbmZvKSBjb25zdAogewogICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9i
amVjdEluZm8sIHRoaXMsIFdlYkNvcmVNZW1vcnlUeXBlczo6RE9NKTsKLSAgICBpbmZvLmFkZElu
c3RydW1lbnRlZE1lbWJlcihtX2ltcGwpOworICAgIGluZm8uYWRkTWVtYmVyKG1faW1wbCk7CiB9
CiAKIAogdm9pZCBRdWFsaWZpZWROYW1lOjpRdWFsaWZpZWROYW1lSW1wbDo6cmVwb3J0TWVtb3J5
VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKIHsKICAgICBN
ZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5
VHlwZXM6OkRPTSk7Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9wcmVmaXgpOwot
ICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fbG9jYWxOYW1lKTsKLSAgICBpbmZvLmFk
ZEluc3RydW1lbnRlZE1lbWJlcihtX25hbWVzcGFjZSk7Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50
ZWRNZW1iZXIobV9sb2NhbE5hbWVVcHBlcik7CisgICAgaW5mby5hZGRNZW1iZXIobV9wcmVmaXgp
OworICAgIGluZm8uYWRkTWVtYmVyKG1fbG9jYWxOYW1lKTsKKyAgICBpbmZvLmFkZE1lbWJlciht
X25hbWVzcGFjZSk7CisgICAgaW5mby5hZGRNZW1iZXIobV9sb2NhbE5hbWVVcHBlcik7CiB9CiAK
IHZvaWQgY3JlYXRlUXVhbGlmaWVkTmFtZSh2b2lkKiB0YXJnZXRBZGRyZXNzLCBjb25zdCBjaGFy
KiBuYW1lLCB1bnNpZ25lZCBuYW1lTGVuZ3RoLCBjb25zdCBBdG9taWNTdHJpbmcmIG5hbWVOYW1l
c3BhY2UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbWFnZUVsZW1lbnQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmNwcAppbmRleCAyY2Ez
M2JkY2I3MWYyM2VhOWZiNTIwNTAwNjg2YTc5M2E5Y2U4NGE2Li5lOTM0ZTRkOTJkNWZhNDQ2Mzky
ZGZjM2UxMDFmZjQzMzczNTQyYzMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxJbWFnZUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxl
bWVudC5jcHAKQEAgLTQyNiw3ICs0MjYsNyBAQCB2b2lkIEhUTUxJbWFnZUVsZW1lbnQ6OnJlcG9y
dE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbgogICAg
IE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIFdlYkNvcmVNZW1v
cnlUeXBlczo6RE9NKTsKICAgICBIVE1MRWxlbWVudDo6cmVwb3J0TWVtb3J5VXNhZ2UobWVtb3J5
T2JqZWN0SW5mbyk7CiAgICAgaW5mby5hZGRNZW1iZXIobV9pbWFnZUxvYWRlcik7Ci0gICAgaW5m
by5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9mb3JtKTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX2Zv
cm0pOwogfQogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRM
b2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcAppbmRl
eCA1Y2E5ZDY4M2Q3MWFiMzQzZGEyM2NiYzE5YWFlNjM4NmM1MTRmZWU2Li44OGI3ZmU4M2IxN2Yz
NDYyYjgwMjAzOGNjN2QwMGRhMTM0NTBhNGNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvRG9jdW1lbnRMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1
bWVudExvYWRlci5jcHAKQEAgLTM2MCwyNiArMzYwLDI2IEBAIHZvaWQgRG9jdW1lbnRMb2FkZXI6
OmNvbW1pdERhdGEoY29uc3QgY2hhciogYnl0ZXMsIHNpemVfdCBsZW5ndGgpCiB2b2lkIERvY3Vt
ZW50TG9hZGVyOjpyZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmpl
Y3RJbmZvKSBjb25zdAogewogICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdElu
Zm8sIHRoaXMsIFdlYkNvcmVNZW1vcnlUeXBlczo6TG9hZGVyKTsKLSAgICBpbmZvLmFkZEluc3Ry
dW1lbnRlZE1lbWJlcihtX2ZyYW1lKTsKLSAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlciht
X21haW5SZXNvdXJjZUxvYWRlcik7CisgICAgaW5mby5hZGRNZW1iZXIobV9mcmFtZSk7CisgICAg
aW5mby5hZGRNZW1iZXIobV9tYWluUmVzb3VyY2VMb2FkZXIpOwogICAgIGluZm8uYWRkSW5zdHJ1
bWVudGVkSGFzaFNldChtX3N1YnJlc291cmNlTG9hZGVycyk7CiAgICAgaW5mby5hZGRJbnN0cnVt
ZW50ZWRIYXNoU2V0KG1fbXVsdGlwYXJ0U3VicmVzb3VyY2VMb2FkZXJzKTsKICAgICBpbmZvLmFk
ZEluc3RydW1lbnRlZEhhc2hTZXQobV9wbHVnSW5TdHJlYW1Mb2FkZXJzKTsKLSAgICBpbmZvLmFk
ZEluc3RydW1lbnRlZE1lbWJlcihtX3N1YnN0aXR1dGVEYXRhKTsKLSAgICBpbmZvLmFkZEluc3Ry
dW1lbnRlZE1lbWJlcihtX3BhZ2VUaXRsZS5zdHJpbmcoKSk7Ci0gICAgaW5mby5hZGRJbnN0cnVt
ZW50ZWRNZW1iZXIobV9vdmVycmlkZUVuY29kaW5nKTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX3N1
YnN0aXR1dGVEYXRhKTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX3BhZ2VUaXRsZS5zdHJpbmcoKSk7
CisgICAgaW5mby5hZGRNZW1iZXIobV9vdmVycmlkZUVuY29kaW5nKTsKICAgICBpbmZvLmFkZFZl
Y3RvcihtX3Jlc3BvbnNlcyk7Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9vcmln
aW5hbFJlcXVlc3QpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fb3JpZ2luYWxS
ZXF1ZXN0Q29weSk7Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9yZXF1ZXN0KTsK
LSAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX3Jlc3BvbnNlKTsKLSAgICBpbmZvLmFk
ZEluc3RydW1lbnRlZE1lbWJlcihtX2xhc3RDaGVja2VkUmVxdWVzdCk7CisgICAgaW5mby5hZGRN
ZW1iZXIobV9vcmlnaW5hbFJlcXVlc3QpOworICAgIGluZm8uYWRkTWVtYmVyKG1fb3JpZ2luYWxS
ZXF1ZXN0Q29weSk7CisgICAgaW5mby5hZGRNZW1iZXIobV9yZXF1ZXN0KTsKKyAgICBpbmZvLmFk
ZE1lbWJlcihtX3Jlc3BvbnNlKTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX2xhc3RDaGVja2VkUmVx
dWVzdCk7CiAgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRWZWN0b3IobV9yZXNwb25zZXMpOwogICAg
IGluZm8uYWRkSGFzaE1hcChtX3BlbmRpbmdTdWJzdGl0dXRlUmVzb3VyY2VzKTsKICAgICBpbmZv
LmFkZEluc3RydW1lbnRlZEhhc2hTZXQobV9yZXNvdXJjZXNDbGllbnRLbm93c0Fib3V0KTsKICAg
ICBpbmZvLmFkZFZlY3RvcihtX3Jlc291cmNlc0xvYWRlZEZyb21NZW1vcnlDYWNoZUZvckNsaWVu
dE5vdGlmaWNhdGlvbik7Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9jbGllbnRS
ZWRpcmVjdFNvdXJjZUZvckhpc3RvcnkpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVy
KG1fbWFpblJlc291cmNlRGF0YSk7CisgICAgaW5mby5hZGRNZW1iZXIobV9jbGllbnRSZWRpcmVj
dFNvdXJjZUZvckhpc3RvcnkpOworICAgIGluZm8uYWRkTWVtYmVyKG1fbWFpblJlc291cmNlRGF0
YSk7CiB9CiAKIGJvb2wgRG9jdW1lbnRMb2FkZXI6OmRvZXNQcm9ncmVzc2l2ZUxvYWQoY29uc3Qg
U3RyaW5nJiBNSU1FVHlwZSkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9GcmFtZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3Bw
CmluZGV4IDg0NzNiYzMxMzk0MmU2YmQwYmY2NDU3MzFjNDRiNzI3OGRmMjg5MTMuLjQxNzcyY2Fl
ZThkMmQ5MzJkZDNmNmJlYzJhOGJiYWZjMGRjZTVmMWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0Zy
YW1lTG9hZGVyLmNwcApAQCAtMzI4MCwxMCArMzI4MCwxMCBAQCBOZXR3b3JraW5nQ29udGV4dCog
RnJhbWVMb2FkZXI6Om5ldHdvcmtpbmdDb250ZXh0KCkgY29uc3QKIHZvaWQgRnJhbWVMb2FkZXI6
OnJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNv
bnN0CiB7CiAgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywg
V2ViQ29yZU1lbW9yeVR5cGVzOjpMb2FkZXIpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVt
YmVyKG1fZG9jdW1lbnRMb2FkZXIpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1f
cHJvdmlzaW9uYWxEb2N1bWVudExvYWRlcik7Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1i
ZXIobV9wb2xpY3lEb2N1bWVudExvYWRlcik7Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1i
ZXIobV9vdXRnb2luZ1JlZmVycmVyKTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX2RvY3VtZW50TG9h
ZGVyKTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX3Byb3Zpc2lvbmFsRG9jdW1lbnRMb2FkZXIpOwor
ICAgIGluZm8uYWRkTWVtYmVyKG1fcG9saWN5RG9jdW1lbnRMb2FkZXIpOworICAgIGluZm8uYWRk
TWVtYmVyKG1fb3V0Z29pbmdSZWZlcnJlcik7CiAgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRIYXNo
U2V0KG1fb3BlbmVkRnJhbWVzKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL01haW5SZXNvdXJjZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTWFpblJl
c291cmNlTG9hZGVyLmNwcAppbmRleCAyZDZlNDViYjg2YTkzNzQ4MDBmYWJkNWE3OGQyZWQzMWVk
MThiNDBlLi5lYTY2NzAzNmM4YzM5ZjY2MjQ4ZDhlMjVkOGNlMWIxODFmNzRjZTFjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTWFpblJlc291cmNlTG9hZGVyLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvTWFpblJlc291cmNlTG9hZGVyLmNwcApAQCAtNTU0LDcgKzU1
NCw3IEBAIHZvaWQgTWFpblJlc291cmNlTG9hZGVyOjpyZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlP
YmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjCiAgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8o
bWVtb3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9yeVR5cGVzOjpMb2FkZXIpOwogICAg
IFJlc291cmNlTG9hZGVyOjpyZXBvcnRNZW1vcnlVc2FnZShtZW1vcnlPYmplY3RJbmZvKTsKICAg
ICBpbmZvLmFkZE1lbWJlcihtX2luaXRpYWxSZXF1ZXN0KTsKLSAgICBpbmZvLmFkZEluc3RydW1l
bnRlZE1lbWJlcihtX3N1YnN0aXR1dGVEYXRhKTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX3N1YnN0
aXR1dGVEYXRhKTsKICAgICBpbmZvLmFkZE1lbWJlcihtX2RhdGFMb2FkVGltZXIpOwogfQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZGVyLmNwcAppbmRleCAzMzE1YWQ1NTg5MDZk
OTA4YmYzZTJhMmJjYzdlYTNiZWJmMzY0ZDM4Li5mMGE2YzMzNWNjZjk2OTI2YjRiMTMxNjlmNDBl
NDFjYTg4ZWVhYzlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VM
b2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRlci5jcHAK
QEAgLTUzNywxMSArNTM3LDExIEBAIHZvaWQgUmVzb3VyY2VMb2FkZXI6OnJlcG9ydE1lbW9yeVVz
YWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiB7CiAgICAgTWVt
b3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9yeVR5
cGVzOjpMb2FkZXIpOwogICAgIGluZm8uYWRkTWVtYmVyKG1faGFuZGxlLmdldCgpKTsKLSAgICBp
bmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX2ZyYW1lKTsKLSAgICBpbmZvLmFkZEluc3RydW1l
bnRlZE1lbWJlcihtX2RvY3VtZW50TG9hZGVyKTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX2ZyYW1l
KTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX2RvY3VtZW50TG9hZGVyKTsKICAgICBpbmZvLmFkZE1l
bWJlcihtX3JlcXVlc3QpOwogICAgIGluZm8uYWRkTWVtYmVyKG1fb3JpZ2luYWxSZXF1ZXN0KTsK
LSAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX3Jlc291cmNlRGF0YSk7CisgICAgaW5m
by5hZGRNZW1iZXIobV9yZXNvdXJjZURhdGEpOwogICAgIGluZm8uYWRkTWVtYmVyKG1fZGVmZXJy
ZWRSZXF1ZXN0KTsKICAgICBpbmZvLmFkZE1lbWJlcihtX29wdGlvbnMpOwogfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1N1YnJlc291cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9TdWJyZXNvdXJjZUxvYWRlci5jcHAKaW5kZXggODE3YjBhMWIyYmI0ZTQ5
MGYzZDY3OTUxZjkxZDVlODI0NjQ0OTVlZi4uNTZkZTBkMzQxMzNjM2Y1YTQ3MmJmYzJiYzZmNGU1
Y2RmMzgzMDNmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1N1YnJlc291cmNl
TG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvU3VicmVzb3VyY2VMb2FkZXIu
Y3BwCkBAIC0xMzksOCArMTM5LDggQEAgdm9pZCBTdWJyZXNvdXJjZUxvYWRlcjo6cmVwb3J0TWVt
b3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY28KIHsKICAgICBN
ZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5
VHlwZXM6OkxvYWRlcik7CiAgICAgUmVzb3VyY2VMb2FkZXI6OnJlcG9ydE1lbW9yeVVzYWdlKG1l
bW9yeU9iamVjdEluZm8pOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fcmVzb3Vy
Y2UpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fZG9jdW1lbnQpOworICAgIGlu
Zm8uYWRkTWVtYmVyKG1fcmVzb3VyY2UpOworICAgIGluZm8uYWRkTWVtYmVyKG1fZG9jdW1lbnQp
OwogICAgIGluZm8uYWRkTWVtYmVyKG1fcmVxdWVzdENvdW50VHJhY2tlcik7CiB9CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9TdWJzdGl0dXRlRGF0YS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvU3Vic3RpdHV0ZURhdGEuY3BwCmluZGV4IDcyYjUzNWY0YTc1NGMxZThk
ZDcxNzEzYjJiNDZkMGI5ZTFjODVhZGMuLmQyMmMyYmMwY2IxYTRmOGFjMzdiMjYzNDRmZjQ2YTU0
MjIzNDZkM2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9TdWJzdGl0dXRlRGF0
YS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1N1YnN0aXR1dGVEYXRhLmNwcApAQCAt
MzgsMTEgKzM4LDExIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIHZvaWQgU3Vic3RpdHV0ZURhdGE6
OnJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNv
bnN0CiB7CiAgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywg
V2ViQ29yZU1lbW9yeVR5cGVzOjpMb2FkZXIpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVt
YmVyKG1fY29udGVudCk7Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9taW1lVHlw
ZSk7Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV90ZXh0RW5jb2RpbmcpOwotICAg
IGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fZmFpbGluZ1VSTCk7Ci0gICAgaW5mby5hZGRJ
bnN0cnVtZW50ZWRNZW1iZXIobV9yZXNwb25zZVVSTCk7CisgICAgaW5mby5hZGRNZW1iZXIobV9j
b250ZW50KTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX21pbWVUeXBlKTsKKyAgICBpbmZvLmFkZE1l
bWJlcihtX3RleHRFbmNvZGluZyk7CisgICAgaW5mby5hZGRNZW1iZXIobV9mYWlsaW5nVVJMKTsK
KyAgICBpbmZvLmFkZE1lbWJlcihtX3Jlc3BvbnNlVVJMKTsKIH0KIAogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZENTU1N0eWxlU2hlZXQuY3BwIGIvU291
cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZENTU1N0eWxlU2hlZXQuY3BwCmluZGV4IDZi
YmJjZGJiZjc5NmUxYTEyNGU1NDJmODQ5ODNmNGZmMTI0NDllODAuLmYxODgyNWY1ODQyZWRkOWYw
MGNiZDlkYjA0YmNjZGZjOGNkNGRjZWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9jYWNoZS9DYWNoZWRDU1NTdHlsZVNoZWV0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvY2FjaGUvQ2FjaGVkQ1NTU3R5bGVTaGVldC5jcHAKQEAgLTE5OSw4ICsxOTksOCBAQCB2b2lk
IENhY2hlZENTU1N0eWxlU2hlZXQ6OnJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8q
IG1lbW9yeU9iamVjdEluZm8pCiAgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0
SW5mbywgdGhpcywgV2ViQ29yZU1lbW9yeVR5cGVzOjpDYWNoZWRSZXNvdXJjZUNTUyk7CiAgICAg
Q2FjaGVkUmVzb3VyY2U6OnJlcG9ydE1lbW9yeVVzYWdlKG1lbW9yeU9iamVjdEluZm8pOwogICAg
IGluZm8uYWRkTWVtYmVyKG1fZGVjb2Rlcik7Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1i
ZXIobV9wYXJzZWRTdHlsZVNoZWV0Q2FjaGUpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVt
YmVyKG1fZGVjb2RlZFNoZWV0VGV4dCk7CisgICAgaW5mby5hZGRNZW1iZXIobV9wYXJzZWRTdHls
ZVNoZWV0Q2FjaGUpOworICAgIGluZm8uYWRkTWVtYmVyKG1fZGVjb2RlZFNoZWV0VGV4dCk7CiB9
CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRGb250
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRGb250LmNwcAppbmRleCA0
YzQ1NjljYTM0MmFjMzMyODQwOTVjYTJmMjJhM2NmYTQ2Yzg0Y2RhLi5kOWE2NzUyYjIxODBkYmEx
YjMyMjhjMDk2NTUwNmNlM2MyNjNiMTIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvY2FjaGUvQ2FjaGVkRm9udC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hl
L0NhY2hlZEZvbnQuY3BwCkBAIC0yMDMsNyArMjAzLDcgQEAgdm9pZCBDYWNoZWRGb250OjpyZXBv
cnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAog
ICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIFdlYkNvcmVN
ZW1vcnlUeXBlczo6Q2FjaGVkUmVzb3VyY2VGb250KTsKICAgICBDYWNoZWRSZXNvdXJjZTo6cmVw
b3J0TWVtb3J5VXNhZ2UobWVtb3J5T2JqZWN0SW5mbyk7CiAjaWYgRU5BQkxFKFNWR19GT05UUykK
LSAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX2V4dGVybmFsU1ZHRG9jdW1lbnQpOwor
ICAgIGluZm8uYWRkTWVtYmVyKG1fZXh0ZXJuYWxTVkdEb2N1bWVudCk7CiAjZW5kaWYKICNpZmRl
ZiBTVE9SRV9GT05UX0NVU1RPTV9QTEFURk9STV9EQVRBCiAgICAgaW5mby5hZGRNZW1iZXIobV9m
b250RGF0YSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVk
SW1hZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZEltYWdlLmNwcApp
bmRleCA4NWI0YTczOWJkZWFiYTlmNWY2OTg3YmMxZjQ2OTExNjk0MDczZWRmLi5mYTgzYTU0ZjY3
MWVkYzgyNTA1NDk3YTc1YWIzZmRlZDllNDk3NGI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvY2FjaGUvQ2FjaGVkSW1hZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9jYWNoZS9DYWNoZWRJbWFnZS5jcHAKQEAgLTQ3NCw3ICs0NzQsNyBAQCB2b2lkIENhY2hlZElt
YWdlOjpyZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZv
KSBjb25zdAogewogICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRo
aXMsIFdlYkNvcmVNZW1vcnlUeXBlczo6Q2FjaGVkUmVzb3VyY2VJbWFnZSk7CiAgICAgQ2FjaGVk
UmVzb3VyY2U6OnJlcG9ydE1lbW9yeVVzYWdlKG1lbW9yeU9iamVjdEluZm8pOwotICAgIGluZm8u
YWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1faW1hZ2UpOworICAgIGluZm8uYWRkTWVtYmVyKG1faW1h
Z2UpOwogI2lmIEVOQUJMRShTVkcpCiAgICAgaW5mby5hZGRNZW1iZXIobV9zdmdJbWFnZUNhY2hl
KTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hl
ZFJlc291cmNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJj
ZS5jcHAKaW5kZXggY2JjNjUyNTEwNjAxNjQ4ZjgwZjU2ZWEwYTVkY2U3ODYzNDQ0Y2MzMS4uYWE2
YzVhN2ZhNmY4ODM5NWJiNjBmODBiMzhmY2Y0N2RkNWEwNGMwMiAxMDA3NTUKLS0tIGEvU291cmNl
L1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3BwCkBAIC04MDYsMTggKzgwNiwxOCBA
QCB2b2lkIENhY2hlZFJlc291cmNlOjpyZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZv
KiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAogICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9y
eU9iamVjdEluZm8sIHRoaXMsIFdlYkNvcmVNZW1vcnlUeXBlczo6Q2FjaGVkUmVzb3VyY2UpOwog
ICAgIGluZm8uYWRkTWVtYmVyKG1fcmVzb3VyY2VSZXF1ZXN0KTsKICAgICBpbmZvLmFkZEhhc2hT
ZXQobV9jbGllbnRzKTsKLSAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX2FjY2VwdCk7
Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9sb2FkZXIpOwotICAgIGluZm8uYWRk
SW5zdHJ1bWVudGVkTWVtYmVyKG1fcmVzcG9uc2UpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVk
TWVtYmVyKG1fZGF0YSk7CisgICAgaW5mby5hZGRNZW1iZXIobV9hY2NlcHQpOworICAgIGluZm8u
YWRkTWVtYmVyKG1fbG9hZGVyKTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX3Jlc3BvbnNlKTsKKyAg
ICBpbmZvLmFkZE1lbWJlcihtX2RhdGEpOwogICAgIGluZm8uYWRkTWVtYmVyKG1fY2FjaGVkTWV0
YWRhdGEpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fbmV4dEluQWxsUmVzb3Vy
Y2VzTGlzdCk7Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9wcmV2SW5BbGxSZXNv
dXJjZXNMaXN0KTsKLSAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX25leHRJbkxpdmVS
ZXNvdXJjZXNMaXN0KTsKLSAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX3ByZXZJbkxp
dmVSZXNvdXJjZXNMaXN0KTsKLSAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX293bmlu
Z0NhY2hlZFJlc291cmNlTG9hZGVyKTsKLSAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlciht
X3Jlc291cmNlVG9SZXZhbGlkYXRlKTsKLSAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlciht
X3Byb3h5UmVzb3VyY2UpOworICAgIGluZm8uYWRkTWVtYmVyKG1fbmV4dEluQWxsUmVzb3VyY2Vz
TGlzdCk7CisgICAgaW5mby5hZGRNZW1iZXIobV9wcmV2SW5BbGxSZXNvdXJjZXNMaXN0KTsKKyAg
ICBpbmZvLmFkZE1lbWJlcihtX25leHRJbkxpdmVSZXNvdXJjZXNMaXN0KTsKKyAgICBpbmZvLmFk
ZE1lbWJlcihtX3ByZXZJbkxpdmVSZXNvdXJjZXNMaXN0KTsKKyAgICBpbmZvLmFkZE1lbWJlciht
X293bmluZ0NhY2hlZFJlc291cmNlTG9hZGVyKTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX3Jlc291
cmNlVG9SZXZhbGlkYXRlKTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX3Byb3h5UmVzb3VyY2UpOwog
ICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkSGFzaFNldChtX2hhbmRsZXNUb1JldmFsaWRhdGUpOwog
CiAgICAgaWYgKG1fcHVyZ2VhYmxlRGF0YSAmJiAhbV9wdXJnZWFibGVEYXRhLT53YXNQdXJnZWQo
KSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJj
ZUhhbmRsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VI
YW5kbGUuY3BwCmluZGV4IGQ5NTQ1OWYwNmQwZTgxZDkwMzEyMWI1Yzg5OGI2ZWQwZWEzYThhYjAu
LjZlNDk2NGVlOTUwY2Y3ODAxN2I2NTM2ODRmYzlmZTEyYWU5MmM1OWYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUhhbmRsZS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlSGFuZGxlLmNwcApAQCAt
NDQsNyArNDQsNyBAQCB2b2lkIENhY2hlZFJlc291cmNlSGFuZGxlQmFzZTo6c2V0UmVzb3VyY2Uo
Q2FjaGVkUmVzb3VyY2UqIHJlc291cmNlKQogdm9pZCBDYWNoZWRSZXNvdXJjZUhhbmRsZUJhc2U6
OnJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNv
bnN0CiB7CiAgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywg
V2ViQ29yZU1lbW9yeVR5cGVzOjpNZW1vcnlDYWNoZVN0cnVjdHVyZXMpOwotICAgIGluZm8uYWRk
SW5zdHJ1bWVudGVkTWVtYmVyKG1fcmVzb3VyY2UpOworICAgIGluZm8uYWRkTWVtYmVyKG1fcmVz
b3VyY2UpOwogfQogCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9D
YWNoZWRSZXNvdXJjZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2Fj
aGVkUmVzb3VyY2VMb2FkZXIuY3BwCmluZGV4IGE0YTM2NjdlZjAwMDQ3Nzk3NDIyZjUwN2UxYWZh
N2I5M2FmZWQyOTQuLjViMGM0OTEwYjI2YjdkOGM0NjI0NjRmMmJhMDQyNDIwMDE5NjMxZTMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRl
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9h
ZGVyLmNwcApAQCAtOTEwLDggKzkxMCw4IEBAIHZvaWQgQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OnJl
cG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pCiAgICAg
TWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9y
eVR5cGVzOjpMb2FkZXIpOwogICAgIGluZm8uYWRkSGFzaE1hcChtX2RvY3VtZW50UmVzb3VyY2Vz
KTsKICAgICBmb3IgKERvY3VtZW50UmVzb3VyY2VNYXA6OmNvbnN0X2l0ZXJhdG9yIGkgPSBtX2Rv
Y3VtZW50UmVzb3VyY2VzLmJlZ2luKCk7IGkgIT0gbV9kb2N1bWVudFJlc291cmNlcy5lbmQoKTsg
KytpKSB7Ci0gICAgICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKGktPmZpcnN0KTsKLSAg
ICAgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIoaS0+c2Vjb25kKTsKKyAgICAgICAgaW5m
by5hZGRNZW1iZXIoaS0+Zmlyc3QpOworICAgICAgICBpbmZvLmFkZE1lbWJlcihpLT5zZWNvbmQp
OwogICAgIH0KICAgICBpbmZvLmFkZEhhc2hTZXQobV92YWxpZGF0ZWRVUkxzKTsKICAgICBpZiAo
bV9wcmVsb2FkcykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNo
ZWRTVkdEb2N1bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkU1ZH
RG9jdW1lbnQuY3BwCmluZGV4IDY5OWI2ODg2YTc5Nzg0MGZlOWM0NzkxODY0NWYyYzAwMDQ4MTcx
MzQuLjY4ZjJmYjQ4MzlhZDMyMzQzMDFjYWEwMTlhMTAwZWQ3MWNmYmRjY2IgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRTVkdEb2N1bWVudC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFNWR0RvY3VtZW50LmNwcApAQCAtNzUs
NyArNzUsNyBAQCB2b2lkIENhY2hlZFNWR0RvY3VtZW50OjpyZXBvcnRNZW1vcnlVc2FnZShNZW1v
cnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjbwogewogICAgIE1lbW9yeUNsYXNzSW5m
byBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIFdlYkNvcmVNZW1vcnlUeXBlczo6Q2FjaGVk
UmVzb3VyY2VTVkcpOwogICAgIENhY2hlZFJlc291cmNlOjpyZXBvcnRNZW1vcnlVc2FnZShtZW1v
cnlPYmplY3RJbmZvKTsKLSAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX2RvY3VtZW50
KTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX2RvY3VtZW50KTsKICAgICBpbmZvLmFkZE1lbWJlciht
X2RlY29kZXIpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUv
Q2FjaGVkU2NyaXB0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRTY3Jp
cHQuY3BwCmluZGV4IDVjNDkzMzk3YWFjNWExYzE0M2E0NGI1N2U2MDAxYzVlMGM4MGQxMmEuLjQx
ZmVhM2Q0NGM0MDc5MDhjZDBiNGMzZDVjZTBiNzVhZWU1ZjNmZmUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRTY3JpcHQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9jYWNoZS9DYWNoZWRTY3JpcHQuY3BwCkBAIC0xMjMsNyArMTIzLDcgQEAgdm9p
ZCBDYWNoZWRTY3JpcHQ6OnJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9y
eU9iamVjdEluZm8pIGNvbnN0CiB7CiAgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2Jq
ZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9yeVR5cGVzOjpDYWNoZWRSZXNvdXJjZVNjcmlwdCk7
CiAgICAgQ2FjaGVkUmVzb3VyY2U6OnJlcG9ydE1lbW9yeVVzYWdlKG1lbW9yeU9iamVjdEluZm8p
OwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fc2NyaXB0KTsKKyAgICBpbmZvLmFk
ZE1lbWJlcihtX3NjcmlwdCk7CiAgICAgaW5mby5hZGRNZW1iZXIobV9kZWNvZGVyKTsKICNpZiBV
U0UoSlNDKQogICAgIGluZm8uYWRkTWVtYmVyKG1fc291cmNlUHJvdmlkZXJDYWNoZSk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkU2hhZGVyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRTaGFkZXIuY3BwCmluZGV4IDhkYzM4MWM0
NmIyM2MyZDMxMjBkYTNmYjAxMzBmYmE0ZDM1ZWMxOTIuLmQzMWUyNjdkZWNlNGE5MjVmMjMyNzU5
ODE2MTAxYjk1ZmQwYWU1YTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNo
ZS9DYWNoZWRTaGFkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNo
ZWRTaGFkZXIuY3BwCkBAIC03Myw3ICs3Myw3IEBAIHZvaWQgQ2FjaGVkU2hhZGVyOjpyZXBvcnRN
ZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAogICAg
IE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIFdlYkNvcmVNZW1v
cnlUeXBlczo6Q2FjaGVkUmVzb3VyY2VTaGFkZXIpOwogICAgIENhY2hlZFJlc291cmNlOjpyZXBv
cnRNZW1vcnlVc2FnZShtZW1vcnlPYmplY3RJbmZvKTsKICAgICBpbmZvLmFkZE1lbWJlcihtX2Rl
Y29kZXIpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fc2hhZGVyU3RyaW5nKTsK
KyAgICBpbmZvLmFkZE1lbWJlcihtX3NoYWRlclN0cmluZyk7CiB9CiAKIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRY
U0xTdHlsZVNoZWV0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRYU0xT
dHlsZVNoZWV0LmNwcAppbmRleCA4MWUxN2Q4Y2JiZmUzOWE3OTA5MzI2ODA5OWExYTM0YjYwNTYz
NWQ0Li5kZTZmNDBlYTVhMzNkYWY0MDhlZTgxN2U5ZWE1M2I1ZDQwNDE5YjU5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkWFNMU3R5bGVTaGVldC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFhTTFN0eWxlU2hlZXQuY3BwCkBA
IC05Myw3ICs5Myw3IEBAIHZvaWQgQ2FjaGVkWFNMU3R5bGVTaGVldDo6cmVwb3J0TWVtb3J5VXNh
Z2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykKIHsKICAgICBNZW1vcnlDbGFz
c0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6OkNh
Y2hlZFJlc291cmNlWFNMVCk7CiAgICAgQ2FjaGVkUmVzb3VyY2U6OnJlcG9ydE1lbW9yeVVzYWdl
KG1lbW9yeU9iamVjdEluZm8pOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fc2hl
ZXQpOworICAgIGluZm8uYWRkTWVtYmVyKG1fc2hlZXQpOwogICAgIGluZm8uYWRkTWVtYmVyKG1f
ZGVjb2Rlcik7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9N
ZW1vcnlDYWNoZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvTWVtb3J5Q2FjaGUu
Y3BwCmluZGV4IGFhZjg1MmE5NTE2M2I1ZjRlNTYwOTY4MDU2NjA5Y2Q5ZThiZTZiMTYuLjY2ZDMy
MDFlYjQ1MDgxYjY5ZjRjNDNlY2M0NjQ0YWNmYWQ3NGFkODAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9jYWNoZS9NZW1vcnlDYWNoZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
bG9hZGVyL2NhY2hlL01lbW9yeUNhY2hlLmNwcApAQCAtNzIxLDggKzcyMSw4IEBAIHZvaWQgTWVt
b3J5Q2FjaGU6OnJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVj
dEluZm8pIGNvbnN0CiAgICAgaW5mby5hZGRIYXNoTWFwKG1fcmVzb3VyY2VzKTsKICAgICBDYWNo
ZWRSZXNvdXJjZU1hcDo6Y29uc3RfaXRlcmF0b3IgZSA9IG1fcmVzb3VyY2VzLmVuZCgpOwogICAg
IGZvciAoQ2FjaGVkUmVzb3VyY2VNYXA6OmNvbnN0X2l0ZXJhdG9yIGkgPSBtX3Jlc291cmNlcy5i
ZWdpbigpOyBpICE9IGU7ICsraSkgewotICAgICAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJl
cihpLT5maXJzdCk7Ci0gICAgICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKGktPnNlY29u
ZCk7CisgICAgICAgIGluZm8uYWRkTWVtYmVyKGktPmZpcnN0KTsKKyAgICAgICAgaW5mby5hZGRN
ZW1iZXIoaS0+c2Vjb25kKTsKICAgICB9CiAgICAgaW5mby5hZGRWZWN0b3IobV9hbGxSZXNvdXJj
ZXMpOwogICAgIGluZm8uYWRkTWVtYmVyKG1fbGl2ZURlY29kZWRSZXNvdXJjZXMpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0ZyYW1lLmNwcAppbmRleCBmYjY1ZDU0Y2YxOTkyOGM1ZDQ3ZDE4NDJjNDU2NTJmNjA2NTkxMjk2
Li5hN2FhZjk1NGJmNGY3MTIzNzY3MDRlMjcxZmQ0NjNmMWUzNjYyMTNlIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Zy
YW1lLmNwcApAQCAtNjc1LDggKzY3NSw4IEBAIHZvaWQgRnJhbWU6OmRpc3BhdGNoVmlzaWJpbGl0
eVN0YXRlQ2hhbmdlRXZlbnQoKQogdm9pZCBGcmFtZTo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5
T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKIHsKICAgICBNZW1vcnlDbGFzc0lu
Zm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6OkRPTSk7
Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9kb2MuZ2V0KCkpOwotICAgIGluZm8u
YWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fbG9hZGVyKTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX2Rv
Yy5nZXQoKSk7CisgICAgaW5mby5hZGRNZW1iZXIobV9sb2FkZXIpOwogfQogCiB2b2lkIEZyYW1l
Ojp3aWxsRGV0YWNoUGFnZSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9L
VVJMLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0tVUkwuY3BwCmluZGV4IDg2ZTI4NjFh
MjY2MjUyOTMwNTdkN2Y3NWVmYjEwZTk3MGY5YzM1MTEuLmMzZDUwOTlmM2FjYjlkZmQ3YWU0YjJk
NGU0NWJjYjQwMzMyYTJmZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0tV
UkwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0tVUkwuY3BwCkBAIC0xOTIxLDEx
ICsxOTIxLDExIEBAIHZvaWQgS1VSTDo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5m
byogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKIHsKICAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyht
ZW1vcnlPYmplY3RJbmZvLCB0aGlzKTsKICNpZiBVU0UoR09PR0xFVVJMKQotICAgIGluZm8uYWRk
SW5zdHJ1bWVudGVkTWVtYmVyKG1fdXJsKTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX3VybCk7CiAj
ZWxpZiBVU0UoV1RGVVJMKQotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fdXJsSW1w
bCk7CisgICAgaW5mby5hZGRNZW1iZXIobV91cmxJbXBsKTsKICNlbHNlIC8vICFVU0UoR09PR0xF
VVJMKQotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fc3RyaW5nKTsKKyAgICBpbmZv
LmFkZE1lbWJlcihtX3N0cmluZyk7CiAjZW5kaWYKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vS1VSTEdvb2dsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9L
VVJMR29vZ2xlLmNwcAppbmRleCBiYTgwNjQwNTgzNjU5NWEwZjNlNWU3ZjlkMWRlOWE5Y2FkOTMw
MjBmLi42ZjgxNDI2NzJhZDgxNzU5NjY3OGVkZjZjOWQ2YmYxZDBkYTI4MDIxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9LVVJMR29vZ2xlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9LVVJMR29vZ2xlLmNwcApAQCAtMzkzLDkgKzM5Myw5IEBAIGNvbnN0IFN0
cmluZyYgS1VSTEdvb2dsZVByaXZhdGU6OnN0cmluZygpIGNvbnN0CiB2b2lkIEtVUkxHb29nbGVQ
cml2YXRlOjpyZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJ
bmZvKSBjb25zdAogewogICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8s
IHRoaXMpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fdXRmOCk7Ci0gICAgaW5m
by5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9zdHJpbmcpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVu
dGVkTWVtYmVyKG1faW5uZXJVUkwpOworICAgIGluZm8uYWRkTWVtYmVyKG1fdXRmOCk7CisgICAg
aW5mby5hZGRNZW1iZXIobV9zdHJpbmcpOworICAgIGluZm8uYWRkTWVtYmVyKG1faW5uZXJVUkwp
OwogfQogLy8gS1VSTCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vS1VSTFdURlVSTEltcGwuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0tV
UkxXVEZVUkxJbXBsLmgKaW5kZXggODY1MjdkM2YyNGRlZjc4NzM5NDEyNjNmNDJmODIzMzczNWE0
MDEyZC4uYzQyNDg3ZjRkMTRjNDAwMjI3NTViZTg1NTg4ZmRjNTU0NmVkOTAxNSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vS1VSTFdURlVSTEltcGwuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9LVVJMV1RGVVJMSW1wbC5oCkBAIC00NSw4ICs0NSw4IEBAIHB1Ymxp
YzoKICAgICB2b2lkIHJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9i
amVjdEluZm8pIGNvbnN0CiAgICAgewogICAgICAgICB0eXBlbmFtZSBNZW1vcnlPYmplY3RJbmZv
OjpDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzKTsKLSAgICAgICAgaW5mby5h
ZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9wYXJzZWRVUkwpOwotICAgICAgICBpbmZvLmFkZEluc3Ry
dW1lbnRlZE1lbWJlcihtX2ludmFsaWRVcmxTdHJpbmcpOworICAgICAgICBpbmZvLmFkZE1lbWJl
cihtX3BhcnNlZFVSTCk7CisgICAgICAgIGluZm8uYWRkTWVtYmVyKG1faW52YWxpZFVybFN0cmlu
Zyk7CiAgICAgfQogICAgIFBhc3NSZWZQdHI8S1VSTFdURlVSTEltcGw+IGNvcHkoKSBjb25zdDsK
IH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UcmVlU2hhcmVkLmggYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UcmVlU2hhcmVkLmgKaW5kZXggNGIxMjkxY2M3MzQyMjVk
YWUwNDkyNjNjN2MxMDRkMmM2MTI4ZDY4Ny4uMDk3MzdmODk3MDU3ZGZkZGRlYTgxZTdjZTllYTNl
YWFjZTk1ZTQ5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVHJlZVNoYXJl
ZC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RyZWVTaGFyZWQuaApAQCAtMTE0LDcg
KzExNCw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVj
dEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiAgICAgewogICAgICAgICBNZW1vcnlDbGFz
c0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzKTsKLSAgICAgICAgaW5mby5hZGRJbnN0
cnVtZW50ZWRNZW1iZXIobV9wYXJlbnQpOworICAgICAgICBpbmZvLmFkZE1lbWJlcihtX3BhcmVu
dCk7CiAgICAgfQogCiBwcml2YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvQ3Jvc3NmYWRlR2VuZXJhdGVkSW1hZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvQ3Jvc3NmYWRlR2VuZXJhdGVkSW1hZ2UuY3BwCmluZGV4IGJiN2Nj
YzI0MzkwYzRjNjgzMWQ4NGI3MGVjNzlhZjI3NzhlYTA1Y2IuLmRmNTFiMzJhZTI2N2Q5MWVkZDFl
ZGJiNzAzOTQ0NDliZWE3MDJkYjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0Nyb3NzZmFkZUdlbmVyYXRlZEltYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9Dcm9zc2ZhZGVHZW5lcmF0ZWRJbWFnZS5jcHAKQEAgLTExMiw4
ICsxMTIsOCBAQCB2b2lkIENyb3NzZmFkZUdlbmVyYXRlZEltYWdlOjpyZXBvcnRNZW1vcnlVc2Fn
ZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbgogewogICAgIE1lbW9yeUNsYXNzSW5m
byBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIFBsYXRmb3JtTWVtb3J5VHlwZXM6OkltYWdl
KTsKICAgICBHZW5lcmF0ZWRJbWFnZTo6cmVwb3J0TWVtb3J5VXNhZ2UobWVtb3J5T2JqZWN0SW5m
byk7Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9mcm9tSW1hZ2UpOwotICAgIGlu
Zm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fdG9JbWFnZSk7CisgICAgaW5mby5hZGRNZW1iZXIo
bV9mcm9tSW1hZ2UpOworICAgIGluZm8uYWRkTWVtYmVyKG1fdG9JbWFnZSk7CiB9CiAKIH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlLmNwcAppbmRleCAzYzY3Yjg0MWUw
OGJhMjI0NmZmMGMwYTRhMzJlYTU2OWRiYjc3ZTUxLi43OGU1ZTQ4NjM3NDVkNzg0Y2NjMmYxYjNh
NzcyMWViMmE4MGMxZWUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9JbWFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1h
Z2UuY3BwCkBAIC0yMDEsNyArMjAxLDcgQEAgdm9pZCBJbWFnZTo6Y29tcHV0ZUludHJpbnNpY0Rp
bWVuc2lvbnMoTGVuZ3RoJiBpbnRyaW5zaWNXaWR0aCwgTGVuZ3RoJiBpbnRyaW5zaWMKIHZvaWQg
SW1hZ2U6OnJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdElu
Zm8pIGNvbnN0CiB7CiAgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywg
dGhpcywgUGxhdGZvcm1NZW1vcnlUeXBlczo6SW1hZ2UpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVu
dGVkTWVtYmVyKG1fZGF0YSk7CisgICAgaW5mby5hZGRNZW1iZXIobV9kYXRhKTsKICAgICBpbmZv
LmFkZE1lbWJlcihtX2ltYWdlT2JzZXJ2ZXIpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2UuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmNwcAppbmRleCBiODE5
M2YwMmY4NTYzYTE3ZDU2MTE4NzgxMzBjMzQ2NmRhMmFhZWM5Li4wMGY1ODM5MDU1OTQ3MWViN2U0
ZjYzZDVhZGNhYWY2ZWFhZWQ1YjZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5jcHAKQEAgLTQ0NywxMyArNDQ3LDEz
IEBAIGJvb2wgUmVzb3VyY2VSZXF1ZXN0QmFzZTo6aXNDb25kaXRpb25hbCgpIGNvbnN0CiB2b2lk
IFJlc291cmNlUmVxdWVzdEJhc2U6OnJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8q
IG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiB7CiAgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVt
b3J5T2JqZWN0SW5mbywgdGhpcywgUGxhdGZvcm1NZW1vcnlUeXBlczo6TG9hZGVyKTsKLSAgICBp
bmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX3VybCk7Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50
ZWRNZW1iZXIobV9maXJzdFBhcnR5Rm9yQ29va2llcyk7Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50
ZWRNZW1iZXIobV9odHRwTWV0aG9kKTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX3VybCk7CisgICAg
aW5mby5hZGRNZW1iZXIobV9maXJzdFBhcnR5Rm9yQ29va2llcyk7CisgICAgaW5mby5hZGRNZW1i
ZXIobV9odHRwTWV0aG9kKTsKICAgICBpbmZvLmFkZEhhc2hNYXAobV9odHRwSGVhZGVyRmllbGRz
KTsKICAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1hcEVudHJpZXMobV9odHRwSGVhZGVyRmllbGRz
KTsKICAgICBpbmZvLmFkZEluc3RydW1lbnRlZFZlY3RvcihtX3Jlc3BvbnNlQ29udGVudERpc3Bv
c2l0aW9uRW5jb2RpbmdGYWxsYmFja0FycmF5KTsKLSAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1l
bWJlcihtX2h0dHBCb2R5KTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX2h0dHBCb2R5KTsKIH0KIAog
ZG91YmxlIFJlc291cmNlUmVxdWVzdEJhc2U6OmRlZmF1bHRUaW1lb3V0SW50ZXJ2YWwoKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlc3BvbnNl
QmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9u
c2VCYXNlLmNwcAppbmRleCA2MjM1MjQ1MTU3MjhmYTk2OWVhY2MyM2RmZDJmNWMxNGNjYWJjNDNk
Li4yNTIxZmIxMmUxOTdmYjQ5MWUxYmZmYjE0YTM4YmYwYTBjNjYwNzdjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNlLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNl
LmNwcApAQCAtNTcxLDExICs1NzEsMTEgQEAgdm9pZCBSZXNvdXJjZVJlc3BvbnNlQmFzZTo6bGF6
eUluaXQoSW5pdExldmVsIGluaXRMZXZlbCkgY29uc3QKIHZvaWQgUmVzb3VyY2VSZXNwb25zZUJh
c2U6OnJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8p
IGNvbnN0CiB7CiAgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhp
cywgUGxhdGZvcm1NZW1vcnlUeXBlczo6TG9hZGVyKTsKLSAgICBpbmZvLmFkZEluc3RydW1lbnRl
ZE1lbWJlcihtX3VybCk7Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9taW1lVHlw
ZSk7Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV90ZXh0RW5jb2RpbmdOYW1lKTsK
LSAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX3N1Z2dlc3RlZEZpbGVuYW1lKTsKLSAg
ICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX2h0dHBTdGF0dXNUZXh0KTsKKyAgICBpbmZv
LmFkZE1lbWJlcihtX3VybCk7CisgICAgaW5mby5hZGRNZW1iZXIobV9taW1lVHlwZSk7CisgICAg
aW5mby5hZGRNZW1iZXIobV90ZXh0RW5jb2RpbmdOYW1lKTsKKyAgICBpbmZvLmFkZE1lbWJlciht
X3N1Z2dlc3RlZEZpbGVuYW1lKTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX2h0dHBTdGF0dXNUZXh0
KTsKICAgICBpbmZvLmFkZEhhc2hNYXAobV9odHRwSGVhZGVyRmllbGRzKTsKICAgICBpbmZvLmFk
ZEluc3RydW1lbnRlZE1hcEVudHJpZXMobV9odHRwSGVhZGVyRmllbGRzKTsKICAgICBpbmZvLmFk
ZE1lbWJlcihtX3Jlc291cmNlTG9hZFRpbWluZyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc3R5bGUvRGF0YVJlZi5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0
eWxlL0RhdGFSZWYuaAppbmRleCA5MWE3ODQ1MWQyZDY4ZTRkNGJjZDMwYmUyMTZiOWQ5OTE3N2Ji
OGJlLi5iNGQ0YTc5NzBiOWJjYzdmMjlkNWIwNzk3MzA1YjhmNThiNzMzMzAwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvRGF0YVJlZi5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9EYXRhUmVmLmgKQEAgLTY3LDcgKzY3LDcgQEAgcHVibGlj
OgogICAgIHZvaWQgcmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2Jq
ZWN0SW5mbykgY29uc3QKICAgICB7CiAgICAgICAgIHR5cGVuYW1lIE1lbW9yeU9iamVjdEluZm86
OkNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMpOwotICAgICAgICBpbmZvLmFk
ZEluc3RydW1lbnRlZE1lbWJlcihtX2RhdGEpOworICAgICAgICBpbmZvLmFkZE1lbWJlcihtX2Rh
dGEpOwogICAgIH0KIAogcHJpdmF0ZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdHlsZS9SZW5kZXJTdHlsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5
bGUvUmVuZGVyU3R5bGUuY3BwCmluZGV4IGYxNjBkOWVjYzAxNzk0MDVhMTE1MWRjN2ZlZTgyY2Ex
MWU5NWM2ZmQuLjA2MDJjZmE5YmYyNmZjODJmNmE0YmJmMWY3MmYzOWRkM2MwYmIyNjUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmNwcApAQCAtMTYx
MSw4ICsxNjExLDggQEAgdm9pZCBSZW5kZXJTdHlsZTo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5
T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKICAgICBpbmZvLmFkZE1lbWJlciht
X2JhY2tncm91bmQpOwogICAgIC8vIEZJWE1FOiBzdXJyb25kIGNvbnRhaW5zIHNvbWUgZmllbGRz
IGUuZy4gQm9yZGVyRGF0YSB0aGF0IG1pZ2h0IG5lZWQgdG8gYmUgaW5zdHJ1bWVudGVkLgogICAg
IGluZm8uYWRkTWVtYmVyKHN1cnJvdW5kKTsKLSAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJl
cihyYXJlTm9uSW5oZXJpdGVkRGF0YSk7Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIo
cmFyZUluaGVyaXRlZERhdGEpOworICAgIGluZm8uYWRkTWVtYmVyKHJhcmVOb25Jbmhlcml0ZWRE
YXRhKTsKKyAgICBpbmZvLmFkZE1lbWJlcihyYXJlSW5oZXJpdGVkRGF0YSk7CiAgICAgLy8gRklY
TUU6IGluaGVyaXRlZCBjb250YWlucyBTdHlsZUltYWdlIGFuZCBGb250IGZpZWxkcyB0aGF0IG1p
Z2h0IG5lZWQgdG8gYmUgaW5zdHJ1bWVudGVkLgogICAgIGluZm8uYWRkTWVtYmVyKGluaGVyaXRl
ZCk7CiAgICAgaWYgKG1fY2FjaGVkUHNldWRvU3R5bGVzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZUluaGVyaXRlZERhdGEuY3BwIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZUluaGVyaXRlZERhdGEuY3BwCmluZGV4
IDE3MzMwZDkzNWViYjQ0NzU5NjkyZjkzNTFlMWI2MGU2MjhlOWEzNGEuLjM5NjJlN2Y2YTIyZDc2
N2JiYTI4NTBjNDVjNTAxM2EzOTJkN2JmNDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9zdHlsZS9TdHlsZVJhcmVJbmhlcml0ZWREYXRhLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlSW5oZXJpdGVkRGF0YS5jcHAKQEAgLTI2Niwx
MyArMjY2LDEzIEBAIHZvaWQgU3R5bGVSYXJlSW5oZXJpdGVkRGF0YTo6cmVwb3J0TWVtb3J5VXNh
Z2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mCiB7CiAgICAgTWVtb3J5Q2xhc3NJ
bmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9yeVR5cGVzOjpDU1Mp
OwogICAgIGluZm8uYWRkTWVtYmVyKHRleHRTaGFkb3cpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVu
dGVkTWVtYmVyKGhpZ2hsaWdodCk7CisgICAgaW5mby5hZGRNZW1iZXIoaGlnaGxpZ2h0KTsKICAg
ICBpbmZvLmFkZE1lbWJlcihjdXJzb3JEYXRhKTsKLSAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1l
bWJlcihoeXBoZW5hdGlvblN0cmluZyk7Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIo
bG9jYWxlKTsKLSAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcih0ZXh0RW1waGFzaXNDdXN0
b21NYXJrKTsKKyAgICBpbmZvLmFkZE1lbWJlcihoeXBoZW5hdGlvblN0cmluZyk7CisgICAgaW5m
by5hZGRNZW1iZXIobG9jYWxlKTsKKyAgICBpbmZvLmFkZE1lbWJlcih0ZXh0RW1waGFzaXNDdXN0
b21NYXJrKTsKICAgICBpbmZvLmFkZE1lbWJlcihxdW90ZXMpOwotICAgIGluZm8uYWRkSW5zdHJ1
bWVudGVkTWVtYmVyKG1fbGluZUdyaWQpOworICAgIGluZm8uYWRkTWVtYmVyKG1fbGluZUdyaWQp
OwogI2lmIEVOQUJMRShDU1NfVkFSSUFCTEVTKQogICAgIGluZm8uYWRkTWVtYmVyKG1fdmFyaWFi
bGVzKTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxl
L1N0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L3N0eWxlL1N0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEuY3BwCmluZGV4IDgxMWJmYTFmZWNmZTcx
N2Q3YWE5MjFiZmQyZjE0MTYxMmQwOTJiODUuLmJiZTA3YmZkZWM2Yzg2YzYxMjdlZmViN2FlOGIy
ZTQxMWFkMzgxYWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9T
dHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvc3R5bGUvU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YS5jcHAKQEAgLTMyNyw4ICszMjcsOCBA
QCB2b2lkIFN0eWxlUmFyZU5vbkluaGVyaXRlZERhdGE6OnJlcG9ydE1lbW9yeVVzYWdlKE1lbW9y
eU9iamVjdEluZm8qIG1lbW9yeU9iamVjdAogICAgIGluZm8uYWRkTWVtYmVyKG1fd3JhcFNoYXBl
SW5zaWRlKTsKICAgICBpbmZvLmFkZE1lbWJlcihtX3dyYXBTaGFwZU91dHNpZGUpOwogICAgIGlu
Zm8uYWRkTWVtYmVyKG1fY2xpcFBhdGgpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVy
KG1fZmxvd1RocmVhZCk7Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9yZWdpb25U
aHJlYWQpOworICAgIGluZm8uYWRkTWVtYmVyKG1fZmxvd1RocmVhZCk7CisgICAgaW5mby5hZGRN
ZW1iZXIobV9yZWdpb25UaHJlYWQpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGFpbnQuY3BwIGIvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR1BhaW50LmNwcAppbmRleCAyNDEyNjZiYTNlN2I3MzNkYTMzNzY1NWZlNzJiNmU3ODY3
OTlmNDQ0Li5jY2UxZjRlMzQ0MjA0YzRkZjA2YjEyNmM0Y2E1NDUwMDExZDA1ZGIxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGFpbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdQYWludC5jcHAKQEAgLTExNSw3ICsxMTUsNyBAQCBQYXNzUmVmUHRyPFNWR1BhaW50
PiBTVkdQYWludDo6Y2xvbmVGb3JDU1NPTSgpIGNvbnN0CiB2b2lkIFNWR1BhaW50OjpyZXBvcnRE
ZXNjZW5kYW50TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykg
Y29uc3QKIHsKICAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlz
LCBXZWJDb3JlTWVtb3J5VHlwZXM6OkNTUyk7Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1i
ZXIobV91cmkpOworICAgIGluZm8uYWRkTWVtYmVyKG1fdXJpKTsKIH0KIAogfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvc3ZnL2dyYXBoaWNzL1NWR0ltYWdlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3N2Zy9ncmFwaGljcy9TVkdJbWFnZS5jcHAKaW5kZXggMDdmNjcyNTdmMDA1MTBiMDkxZjY2
YWZmNjAyZmM3ZTg0ZmVlYmNlYi4uNmE3NmZhMzhjNWU3NTM2Yjg3NDE0NzJiYTRhOTBhZmM4N2Ji
OWJkNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL2dyYXBoaWNzL1NWR0ltYWdlLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvZ3JhcGhpY3MvU1ZHSW1hZ2UuY3BwCkBAIC0zNjEs
NyArMzYxLDcgQEAgdm9pZCBTVkdJbWFnZTo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0
SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKICAgICBJbWFnZTo6cmVwb3J0TWVtb3J5VXNh
Z2UobWVtb3J5T2JqZWN0SW5mbyk7CiAgICAgaW5mby5hZGRNZW1iZXIobV9jaHJvbWVDbGllbnQp
OwogICAgIGluZm8uYWRkTWVtYmVyKG1fcGFnZSk7Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRN
ZW1iZXIobV9mcmFtZUNhY2hlKTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX2ZyYW1lQ2FjaGUpOwog
fQogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL01lbW9yeUlu
c3RydW1lbnRhdGlvblRlc3QuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9NZW1v
cnlJbnN0cnVtZW50YXRpb25UZXN0LmNwcAppbmRleCA3NTZhZGJlMmQwNGJhZjRlNzI1NmQ2NGU3
ZDhlNGUzMjI0YWFmYjBmLi5mOWRiMDdiYTgwMGI3OGEzZjAyZDUxMTFmM2RkOTkxOTdhOWNmY2U0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL01lbW9yeUluc3RydW1l
bnRhdGlvblRlc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvTWVtb3J5
SW5zdHJ1bWVudGF0aW9uVGVzdC5jcHAKQEAgLTE5Myw3ICsxOTMsNyBAQCBwdWJsaWM6CiAgICAg
dm9pZCByZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZv
KSBjb25zdAogICAgIHsKICAgICAgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0
SW5mbywgdGhpcywgV2ViQ29yZU1lbW9yeVR5cGVzOjpET00pOwotICAgICAgICBpbmZvLmFkZElu
c3RydW1lbnRlZE1lbWJlcihtX2luc3RydW1lbnRlZFVuZGVmaW5lZCk7CisgICAgICAgIGluZm8u
YWRkTWVtYmVyKG1faW5zdHJ1bWVudGVkVW5kZWZpbmVkKTsKICAgICB9CiAgICAgT3duUHRyPElu
c3RydW1lbnRlZFVuZGVmaW5lZD4gbV9pbnN0cnVtZW50ZWRVbmRlZmluZWQ7CiB9OwpAQCAtMjE0
LDcgKzIxNCw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9i
amVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiAgICAgewogICAgICAgICBNZW1vcnlD
bGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6
OkRPTSk7Ci0gICAgICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1faW5zdHJ1bWVudGVk
KTsKKyAgICAgICAgaW5mby5hZGRNZW1iZXIobV9pbnN0cnVtZW50ZWQpOwogICAgIH0KIAogICAg
IEluc3RydW1lbnRlZCBtX2luc3RydW1lbnRlZDsKQEAgLTIzOCw3ICsyMzgsNyBAQCBwdWJsaWM6
CiAgICAgdm9pZCByZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmpl
Y3RJbmZvKSBjb25zdAogICAgIHsKICAgICAgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5
T2JqZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9yeVR5cGVzOjpET00pOwotICAgICAgICBpbmZv
LmFkZEluc3RydW1lbnRlZE1lbWJlcihtX3ZhbHVlKTsKKyAgICAgICAgaW5mby5hZGRNZW1iZXIo
bV92YWx1ZSk7CiAgICAgfQogCiAgICAgVCBtX3ZhbHVlOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>164387</attachid>
            <date>2012-09-17 06:47:07 -0700</date>
            <delta_ts>2012-09-17 06:58:27 -0700</delta_ts>
            <desc>comment addressed - visited check returned</desc>
            <filename>bug-96913-20120917174634.patch</filename>
            <type>text/plain</type>
            <size>103384</size>
            <attacher name="Ilya Tikhonovsky">loislo</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI4NzQ4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDE3ZWY1YjgyYTFhNGNkZmEwMDAxODcz
NDQ1NjY4Yjc4MjM0YzMyYWUuLjk1NmZkZjM2ZjFkOTQ0OWU1ZTc1ZGJlNDM4MjE1MTU1ZWJkNTk1
YzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDUgKzEsMzQgQEAKIDIwMTItMDktMTcgIElseWEgVGlraG9ub3Zza3kgIDxs
b2lzbG9AY2hyb21pdW0ub3JnPgogCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IE5NSTogbm93IHdo
ZW4gd2UgY2FuIGRldGVjdCBpbnN0cnVtZW50ZWQgY2xhc3NlcyB3ZSBjYW4KKyAgICAgICAgcmVt
b3ZlIGFkZEluc3RydW1lbnRlZE1lbWJlciBhbmQgdXNlIGFkZE1lbWJlciBmb3IgZXZlcnl0aGlu
Zy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk2OTEz
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3dGYv
TWVtb3J5SW5zdHJ1bWVudGF0aW9uLmg6CisgICAgICAgIChXVEY6Ok1lbW9yeUluc3RydW1lbnRh
dGlvbjo6YWRkUm9vdE9iamVjdCk6CisgICAgICAgIChXVEY6Ok1lbW9yeUluc3RydW1lbnRhdGlv
bjo6YWRkT2JqZWN0KToKKyAgICAgICAgKFdURjo6TWVtb3J5SW5zdHJ1bWVudGF0aW9uOjphZGRP
YmplY3RJbXBsKToKKyAgICAgICAgKFdURik6CisgICAgICAgIChXVEY6Ok1lbW9yeUluc3RydW1l
bnRhdGlvbjo6YWRkSW5zdHJ1bWVudGVkQ29sbGVjdGlvbik6CisgICAgICAgIChXVEY6Ok1lbW9y
eUluc3RydW1lbnRhdGlvbjo6YWRkSW5zdHJ1bWVudGVkTWFwRW50cmllcyk6CisgICAgICAgIChX
VEY6Ok1lbW9yeUluc3RydW1lbnRhdGlvbjo6YWRkSW5zdHJ1bWVudGVkTWFwVmFsdWVzKToKKyAg
ICAgICAgKiB3dGYvdGV4dC9BdG9taWNTdHJpbmcuY3BwOgorICAgICAgICAoV1RGOjpBdG9taWNT
dHJpbmc6OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiB3dGYvdGV4dC9DU3RyaW5nLmg6
CisgICAgICAgIChXVEY6OkNTdHJpbmc6OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiB3
dGYvdGV4dC9TdHJpbmdJbXBsLmNwcDoKKyAgICAgICAgKFdURjo6U3RyaW5nSW1wbDo6cmVwb3J0
TWVtb3J5VXNhZ2UpOgorICAgICAgICAqIHd0Zi90ZXh0L1dURlN0cmluZy5jcHA6CisgICAgICAg
IChXVEY6OlN0cmluZzo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAgICAgICAqIHd0Zi91cmwvYXBp
L1BhcnNlZFVSTC5jcHA6CisgICAgICAgIChXVEY6OlBhcnNlZFVSTDo6cmVwb3J0TWVtb3J5VXNh
Z2UpOgorICAgICAgICAqIHd0Zi91cmwvYXBpL1VSTFN0cmluZy5jcHA6CisgICAgICAgIChXVEY6
OlVSTFN0cmluZzo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorCisyMDEyLTA5LTE3ICBJbHlhIFRpa2hv
bm92c2t5ICA8bG9pc2xvQGNocm9taXVtLm9yZz4KKwogICAgICAgICBVbnJldmlld2VkIGNvbXBp
bGF0aW9uIGZpeC4KIAogICAgICAgICAqIHd0Zi9NZW1vcnlJbnN0cnVtZW50YXRpb24uaDoKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwppbmRleCA5YmUzMjg0NWY2YTg4MGQ4MWMwNTI0ZjZmOGZlM2EzYTM5NmIwOGFjLi4xNDhm
ODIzYjVmMDM0NzQ3NWEwNjExY2NjOWNkYWNlZDY3YmI4NTc1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTkzIEBACisyMDEyLTA5LTE3ICBJbHlhIFRpa2hvbm92c2t5ICA8bG9pc2xvQGNocm9taXVt
Lm9yZz4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBOTUk6IG5vdyB3aGVuIHdlIGNhbiBkZXRl
Y3QgaW5zdHJ1bWVudGVkIGNsYXNzZXMgd2UgY2FuCisgICAgICAgIHJlbW92ZSBhZGRJbnN0cnVt
ZW50ZWRNZW1iZXIgYW5kIHVzZSBhZGRNZW1iZXIgZm9yIGV2ZXJ5dGhpbmcuCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NjkxMworCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogYmluZGluZ3MvdjgvRE9NRGF0
YVN0b3JlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRPTURhdGFTdG9yZTo6cmVwb3J0TWVtb3J5
VXNhZ2UpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L0ludHJ1c2l2ZURPTVdyYXBwZXJNYXAuaDoK
KyAgICAgICAgKiBiaW5kaW5ncy92OC9WOFBlcklzb2xhdGVEYXRhLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlY4UGVySXNvbGF0ZURhdGE6OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBj
c3MvQ1NTQm9yZGVySW1hZ2VTbGljZVZhbHVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU0Jv
cmRlckltYWdlU2xpY2VWYWx1ZTo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKToKKyAgICAg
ICAgKiBjc3MvQ1NTQ2FsY3VsYXRpb25WYWx1ZS5jcHA6CisgICAgICAgICogY3NzL0NTU0NhbnZh
c1ZhbHVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU0NhbnZhc1ZhbHVlOjpyZXBvcnREZXNj
ZW5kYW50TWVtb3J5VXNhZ2UpOgorICAgICAgICAqIGNzcy9DU1NDaGFyc2V0UnVsZS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpDU1NDaGFyc2V0UnVsZTo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVz
YWdlKToKKyAgICAgICAgKiBjc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkNTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbjo6cmVwb3J0TWVtb3J5
VXNhZ2UpOgorICAgICAgICAqIGNzcy9DU1NDcm9zc2ZhZGVWYWx1ZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpDU1NDcm9zc2ZhZGVWYWx1ZTo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKToK
KyAgICAgICAgKiBjc3MvQ1NTRm9udEZhY2VSdWxlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNT
U0ZvbnRGYWNlUnVsZTo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBj
c3MvQ1NTRm9udEZhY2VTcmNWYWx1ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NGb250RmFj
ZVNyY1ZhbHVlOjpyZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2UpOgorICAgICAgICAqIGNzcy9D
U1NGdW5jdGlvblZhbHVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU0Z1bmN0aW9uVmFsdWU6
OnJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZSk6CisgICAgICAgICogY3NzL0NTU0dyYWRpZW50
VmFsdWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTR3JhZGllbnRDb2xvclN0b3A6OnJlcG9y
dE1lbW9yeVVzYWdlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0dyYWRpZW50VmFsdWU6OnJlcG9y
dEJhc2VDbGFzc01lbW9yeVVzYWdlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0xpbmVhckdyYWRp
ZW50VmFsdWU6OnJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZSk6CisgICAgICAgIChXZWJDb3Jl
OjpDU1NSYWRpYWxHcmFkaWVudFZhbHVlOjpyZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2UpOgor
ICAgICAgICAqIGNzcy9DU1NJbWFnZVNldFZhbHVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNT
U0ltYWdlU2V0VmFsdWU6OkltYWdlV2l0aFNjYWxlOjpyZXBvcnRNZW1vcnlVc2FnZSk6CisgICAg
ICAgICogY3NzL0NTU0ltYWdlVmFsdWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTSW1hZ2VW
YWx1ZTo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBjc3MvQ1NTSW1w
b3J0UnVsZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NJbXBvcnRSdWxlOjpyZXBvcnREZXNj
ZW5kYW50TWVtb3J5VXNhZ2UpOgorICAgICAgICAqIGNzcy9DU1NNZWRpYVJ1bGUuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Q1NTTWVkaWFSdWxlOjpyZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2Up
OgorICAgICAgICAqIGNzcy9DU1NQYWdlUnVsZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NQ
YWdlUnVsZTo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBjc3MvQ1NT
UHJpbWl0aXZlVmFsdWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJpbWl0aXZlVmFsdWU6
OnJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZSk6CisgICAgICAgICogY3NzL0NTU1Byb3BlcnR5
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1Byb3BlcnR5OjpyZXBvcnRNZW1vcnlVc2FnZSk6
CisgICAgICAgICogY3NzL0NTU1JlZmxlY3RWYWx1ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpD
U1NSZWZsZWN0VmFsdWU6OnJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZSk6CisgICAgICAgICog
Y3NzL0NTU1J1bGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUnVsZTo6cmVwb3J0QmFzZUNs
YXNzTWVtb3J5VXNhZ2UpOgorICAgICAgICAqIGNzcy9DU1NSdWxlTGlzdC5oOgorICAgICAgICAq
IGNzcy9DU1NTdHlsZVJ1bGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTU3R5bGVSdWxlOjpy
ZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2UpOgorICAgICAgICAqIGNzcy9DU1NTdHlsZVNoZWV0
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1N0eWxlU2hlZXQ6OnJlcG9ydE1lbW9yeVVzYWdl
KToKKyAgICAgICAgKiBjc3MvQ1NTVmFsdWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VGV4dENs
b25lQ1NTVmFsdWU6OnJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZSk6CisgICAgICAgICogY3Nz
L0NTU1ZhcmlhYmxlVmFsdWUuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1ZhcmlhYmxlVmFsdWU6
OnJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZSk6CisgICAgICAgICogY3NzL0ZvbnRGZWF0dXJl
VmFsdWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Rm9udEZlYXR1cmVWYWx1ZTo6cmVwb3J0RGVz
Y2VuZGFudE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBjc3MvRm9udFZhbHVlLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkZvbnRWYWx1ZTo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKToKKyAg
ICAgICAgKiBjc3MvTWVkaWFMaXN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhTGlzdDo6
cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAgICAgICAqIGNzcy9NZWRpYVF1ZXJ5LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6Ok1lZGlhUXVlcnk6OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBj
c3MvTWVkaWFRdWVyeUV4cC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVF1ZXJ5RXhwOjpy
ZXBvcnRNZW1vcnlVc2FnZSk6CisgICAgICAgICogY3NzL1Byb3BlcnR5U2V0Q1NTU3R5bGVEZWNs
YXJhdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQcm9wZXJ0eVNldENTU1N0eWxlRGVjbGFy
YXRpb246OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUnVsZUNT
U1N0eWxlRGVjbGFyYXRpb246OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAgKFdlYkNvcmU6
OklubGluZUNTU1N0eWxlRGVjbGFyYXRpb246OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAg
KiBjc3MvU2hhZG93VmFsdWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2hhZG93VmFsdWU6OnJl
cG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZSk6CisgICAgICAgICogY3NzL1N0eWxlUHJvcGVydHlT
ZXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVQcm9wZXJ0eVNldDo6cmVwb3J0TWVtb3J5
VXNhZ2UpOgorICAgICAgICAqIGNzcy9TdHlsZVJlc29sdmVyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlN0eWxlUmVzb2x2ZXI6OmNvbGxlY3RNYXRjaGluZ1J1bGVzRm9yTGlzdCk6CisgICAgICAg
ICogY3NzL1N0eWxlUnVsZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJ1bGU6OnJlcG9y
dERlc2NlbmRhbnRNZW1vcnlVc2FnZSk6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJ1bGVQYWdl
OjpyZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2UpOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVS
dWxlRm9udEZhY2U6OnJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZSk6CisgICAgICAgIChXZWJD
b3JlOjpTdHlsZVJ1bGVNZWRpYTo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKToKKyAgICAg
ICAgKFdlYkNvcmU6OlN0eWxlUnVsZVJlZ2lvbjo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdl
KToKKyAgICAgICAgKiBjc3MvU3R5bGVSdWxlSW1wb3J0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlN0eWxlUnVsZUltcG9ydDo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKToKKyAgICAgICAg
KiBjc3MvU3R5bGVTaGVldENvbnRlbnRzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlU2hl
ZXRDb250ZW50czo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAgICAgICAqIGNzcy9XZWJLaXRDU1NL
ZXlmcmFtZVJ1bGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVLZXlmcmFtZTo6cmVwb3J0
TWVtb3J5VXNhZ2UpOgorICAgICAgICAoV2ViQ29yZTo6V2ViS2l0Q1NTS2V5ZnJhbWVSdWxlOjpy
ZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2UpOgorICAgICAgICAqIGNzcy9XZWJLaXRDU1NLZXlm
cmFtZXNSdWxlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUnVsZUtleWZyYW1lczo6cmVw
b3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKToKKyAgICAgICAgKFdlYkNvcmU6OldlYktpdENTU0tl
eWZyYW1lc1J1bGU6OnJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZSk6CisgICAgICAgICogY3Nz
L1dlYktpdENTU1JlZ2lvblJ1bGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2ViS2l0Q1NTUmVn
aW9uUnVsZTo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBjc3MvV2Vi
S2l0Q1NTU1ZHRG9jdW1lbnRWYWx1ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJLaXRDU1NT
VkdEb2N1bWVudFZhbHVlOjpyZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2UpOgorICAgICAgICAq
IGNzcy9XZWJLaXRDU1NTaGFkZXJWYWx1ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJLaXRD
U1NTaGFkZXJWYWx1ZTo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBk
b20vQXR0cmlidXRlLmg6CisgICAgICAgIChXZWJDb3JlOjpBdHRyaWJ1dGU6OnJlcG9ydE1lbW9y
eVVzYWdlKToKKyAgICAgICAgKiBkb20vQ2hhcmFjdGVyRGF0YS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpDaGFyYWN0ZXJEYXRhOjpyZXBvcnRNZW1vcnlVc2FnZSk6CisgICAgICAgICogZG9tL0Nv
bnRhaW5lck5vZGUuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRhaW5lck5vZGU6OnJlcG9ydE1l
bW9yeVVzYWdlKToKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6RG9jdW1lbnQ6OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBkb20vRWxlbWVudC5o
OgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAgICAg
ICAqIGRvbS9FbGVtZW50QXR0cmlidXRlRGF0YS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFbGVt
ZW50QXR0cmlidXRlRGF0YTo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAgICAgICAqIGRvbS9FdmVu
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFdmVudDo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAg
ICAgICAqIGRvbS9Ob2RlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5vZGU6OnJlcG9ydE1lbW9y
eVVzYWdlKToKKyAgICAgICAgKiBkb20vUXVhbGlmaWVkTmFtZS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpRdWFsaWZpZWROYW1lOjpyZXBvcnRNZW1vcnlVc2FnZSk6CisgICAgICAgIChXZWJDb3Jl
OjpRdWFsaWZpZWROYW1lOjpRdWFsaWZpZWROYW1lSW1wbDo6cmVwb3J0TWVtb3J5VXNhZ2UpOgor
ICAgICAgICAqIGh0bWwvSFRNTEltYWdlRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpI
VE1MSW1hZ2VFbGVtZW50OjpyZXBvcnRNZW1vcnlVc2FnZSk6CisgICAgICAgICogbG9hZGVyL0Rv
Y3VtZW50TG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50TG9hZGVyOjpyZXBv
cnRNZW1vcnlVc2FnZSk6CisgICAgICAgICogbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyOjpyZXBvcnRNZW1vcnlVc2FnZSk6CisgICAgICAgICog
bG9hZGVyL01haW5SZXNvdXJjZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNYWluUmVz
b3VyY2VMb2FkZXI6OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBsb2FkZXIvUmVzb3Vy
Y2VMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VMb2FkZXI6OnJlcG9ydE1l
bW9yeVVzYWdlKToKKyAgICAgICAgKiBsb2FkZXIvU3VicmVzb3VyY2VMb2FkZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6U3VicmVzb3VyY2VMb2FkZXI6OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAg
ICAgICAgKiBsb2FkZXIvU3Vic3RpdHV0ZURhdGEuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3Vi
c3RpdHV0ZURhdGE6OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUv
Q2FjaGVkQ1NTU3R5bGVTaGVldC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRDU1NTdHls
ZVNoZWV0OjpyZXBvcnRNZW1vcnlVc2FnZSk6CisgICAgICAgICogbG9hZGVyL2NhY2hlL0NhY2hl
ZEZvbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkRm9udDo6cmVwb3J0TWVtb3J5VXNh
Z2UpOgorICAgICAgICAqIGxvYWRlci9jYWNoZS9DYWNoZWRJbWFnZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpDYWNoZWRJbWFnZTo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAgICAgICAqIGxvYWRl
ci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNv
dXJjZTo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAgICAgICAqIGxvYWRlci9jYWNoZS9DYWNoZWRS
ZXNvdXJjZUhhbmRsZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZUhhbmRs
ZUJhc2U6OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVk
UmVzb3VyY2VMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2VMb2Fk
ZXI6OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkU1ZH
RG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkU1ZHRG9jdW1lbnQ6OnJlcG9y
dE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkU2NyaXB0LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFNjcmlwdDo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAg
ICAgICAqIGxvYWRlci9jYWNoZS9DYWNoZWRTaGFkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
Q2FjaGVkU2hhZGVyOjpyZXBvcnRNZW1vcnlVc2FnZSk6CisgICAgICAgICogbG9hZGVyL2NhY2hl
L0NhY2hlZFhTTFN0eWxlU2hlZXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkWFNMU3R5
bGVTaGVldDo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAgICAgICAqIGxvYWRlci9jYWNoZS9NZW1v
cnlDYWNoZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZW1vcnlDYWNoZTo6cmVwb3J0TWVtb3J5
VXNhZ2UpOgorICAgICAgICAqIHBhZ2UvRnJhbWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJh
bWU6OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9LVVJMLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OktVUkw6OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBwbGF0
Zm9ybS9LVVJMR29vZ2xlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OktVUkxHb29nbGVQcml2YXRl
OjpyZXBvcnRNZW1vcnlVc2FnZSk6CisgICAgICAgICogcGxhdGZvcm0vS1VSTFdURlVSTEltcGwu
aDoKKyAgICAgICAgKFdlYkNvcmU6OktVUkxXVEZVUkxJbXBsOjpyZXBvcnRNZW1vcnlVc2FnZSk6
CisgICAgICAgICogcGxhdGZvcm0vVHJlZVNoYXJlZC5oOgorICAgICAgICAoV2ViQ29yZTo6VHJl
ZVNoYXJlZDo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L0Nyb3NzZmFkZUdlbmVyYXRlZEltYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNyb3NzZmFk
ZUdlbmVyYXRlZEltYWdlOjpyZXBvcnRNZW1vcnlVc2FnZSk6CisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvSW1hZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2U6OnJlcG9ydE1lbW9y
eVVzYWdlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2Uu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0QmFzZTo6cmVwb3J0TWVtb3J5
VXNhZ2UpOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXNwb25zZUJhc2Uu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZUJhc2U6OnJlcG9ydE1lbW9y
eVVzYWdlKToKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvRGF0YVJlZi5oOgorICAgICAgICAo
V2ViQ29yZTo6RGF0YVJlZjo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAgICAgICAqIHJlbmRlcmlu
Zy9zdHlsZS9SZW5kZXJTdHlsZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6
cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVJ
bmhlcml0ZWREYXRhLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUmFyZUluaGVyaXRlZERh
dGE6OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvU3R5bGVS
YXJlTm9uSW5oZXJpdGVkRGF0YS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJhcmVOb25J
bmhlcml0ZWREYXRhOjpyZXBvcnRNZW1vcnlVc2FnZSk6CisgICAgICAgICogc3ZnL1NWR1BhaW50
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1BhaW50OjpyZXBvcnREZXNjZW5kYW50TWVtb3J5
VXNhZ2UpOgorICAgICAgICAqIHN2Zy9ncmFwaGljcy9TVkdJbWFnZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpTVkdJbWFnZTo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorCiAyMDEyLTA5LTE3ICBBbGVq
YW5kcm8gUGnDsWVpcm8gIDxhcGluaGVpcm9AaWdhbGlhLmNvbT4KIAogICAgICAgICBBWDogUmVn
cmVzc2lvbiAocjEyNjM2OSkgLSB0b2dnbGUgYnV0dG9ucyBubyBsb25nZXIgcmV0dXJuIGFjY2Vz
c2libGUgdGl0bGVzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IGY2MGYzNTU5NTRjMzAy
NWU5YTUxM2MwZDEzNDkwY2MzM2ZhYjdmMGEuLjliZGJmMzI4ODU5YmFjZGUyNTE5MTkwYWExMmQy
ZmY5MTllNDIxMGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMTggQEAK
IDIwMTItMDktMTcgIElseWEgVGlraG9ub3Zza3kgIDxsb2lzbG9AY2hyb21pdW0ub3JnPgogCisg
ICAgICAgIFdlYiBJbnNwZWN0b3I6IE5NSTogbm93IHdoZW4gd2UgY2FuIGRldGVjdCBpbnN0cnVt
ZW50ZWQgY2xhc3NlcyB3ZSBjYW4KKyAgICAgICAgcmVtb3ZlIGFkZEluc3RydW1lbnRlZE1lbWJl
ciBhbmQgdXNlIGFkZE1lbWJlciBmb3IgZXZlcnl0aGluZy4KKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk2OTEzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB0ZXN0cy9NZW1vcnlJbnN0cnVtZW50YXRpb25U
ZXN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3RydW1lbnRlZERPTTo6cmVwb3J0TWVtb3J5
VXNhZ2UpOgorICAgICAgICAoV2ViQ29yZTo6Tm9uVmlydHVhbEluc3RydW1lbnRlZDo6cmVwb3J0
TWVtb3J5VXNhZ2UpOgorICAgICAgICAoV2ViQ29yZTo6SW5zdHJ1bWVudGVkT3duZXI6OnJlcG9y
dE1lbW9yeVVzYWdlKToKKworMjAxMi0wOS0xNyAgSWx5YSBUaWtob25vdnNreSAgPGxvaXNsb0Bj
aHJvbWl1bS5vcmc+CisKICAgICAgICAgVW5yZXZpZXdlZCBzaW5nbGUgbGluZSBmaXggZm9yIG1h
YyBjaHJvbWl1bSBjYW5hcnkgYm90LgogCiAgICAgICAgICogdGVzdHMvTWVtb3J5SW5zdHJ1bWVu
dGF0aW9uVGVzdC5jcHA6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9NZW1vcnlJbnN0cnVt
ZW50YXRpb24uaCBiL1NvdXJjZS9XVEYvd3RmL01lbW9yeUluc3RydW1lbnRhdGlvbi5oCmluZGV4
IDkxZjE0NTQ1ZDBiZjExOGMyYTVkZmNmZmNiZDc5ZTNkYjIyMWVjMWUuLjEzMWFmODQ5N2FjZWFk
M2E5YjljYWMyZGVlMTc0N2M4MmU5MGI2MTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL01l
bW9yeUluc3RydW1lbnRhdGlvbi5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL01lbW9yeUluc3RydW1l
bnRhdGlvbi5oCkBAIC04Nyw3ICs4Nyw3IEBAIHB1YmxpYzoKIAogICAgIHRlbXBsYXRlIDx0eXBl
bmFtZSBUPiB2b2lkIGFkZFJvb3RPYmplY3QoY29uc3QgVCYgdCkKICAgICB7Ci0gICAgICAgIGFk
ZEluc3RydW1lbnRlZE9iamVjdCh0LCAwKTsKKyAgICAgICAgYWRkT2JqZWN0KHQsIDApOwogICAg
ICAgICBwcm9jZXNzRGVmZXJyZWRJbnN0cnVtZW50ZWRQb2ludGVycygpOwogICAgIH0KIApAQCAt
MTQxLDEyICsxNDEsNyBAQCBwcml2YXRlOgogICAgICAgICBjb25zdCBNZW1vcnlPYmplY3RUeXBl
IG1fb3duZXJPYmplY3RUeXBlOwogICAgIH07CiAKLSAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiB2
b2lkIGFkZE9iamVjdChjb25zdCBUJiB0LCBNZW1vcnlPYmplY3RUeXBlIG93bmVyT2JqZWN0VHlw
ZSkKLSAgICB7Ci0gICAgICAgIE93bmluZ1RyYWl0czxUPjo6YWRkT2JqZWN0KHRoaXMsIHQsIG93
bmVyT2JqZWN0VHlwZSk7Ci0gICAgfQotCi0gICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gdm9pZCBh
ZGRJbnN0cnVtZW50ZWRPYmplY3QoY29uc3QgVCYgdCwgTWVtb3J5T2JqZWN0VHlwZSBvd25lck9i
amVjdFR5cGUpIHsgT3duaW5nVHJhaXRzPFQ+OjphZGRJbnN0cnVtZW50ZWRPYmplY3QodGhpcywg
dCwgb3duZXJPYmplY3RUeXBlKTsgfQorICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHZvaWQgYWRk
T2JqZWN0KGNvbnN0IFQmIHQsIE1lbW9yeU9iamVjdFR5cGUgb3duZXJPYmplY3RUeXBlKSB7IE93
bmluZ1RyYWl0czxUPjo6YWRkT2JqZWN0KHRoaXMsIHQsIG93bmVyT2JqZWN0VHlwZSk7IH0KICAg
ICB0ZW1wbGF0ZTx0eXBlbmFtZSBIYXNoTWFwVHlwZT4gdm9pZCBhZGRIYXNoTWFwKGNvbnN0IEhh
c2hNYXBUeXBlJiwgTWVtb3J5T2JqZWN0VHlwZSwgYm9vbCBjb250ZW50T25seSA9IGZhbHNlKTsK
ICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBIYXNoU2V0VHlwZT4gdm9pZCBhZGRIYXNoU2V0KGNvbnN0
IEhhc2hTZXRUeXBlJiwgTWVtb3J5T2JqZWN0VHlwZSwgYm9vbCBjb250ZW50T25seSA9IGZhbHNl
KTsKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBDb2xsZWN0aW9uVHlwZT4gdm9pZCBhZGRJbnN0cnVt
ZW50ZWRDb2xsZWN0aW9uKGNvbnN0IENvbGxlY3Rpb25UeXBlJiwgTWVtb3J5T2JqZWN0VHlwZSwg
Ym9vbCBjb250ZW50T25seSA9IGZhbHNlKTsKQEAgLTE2MywxMCArMTU4LDYgQEAgcHJpdmF0ZToK
IAogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+CiAgICAgc3RydWN0IE93bmluZ1RyYWl0cyB7IC8v
IERlZmF1bHQgYnlSZWZlcmVuY2UgaW1wbGVtZW50YXRpb24uCi0gICAgICAgIHN0YXRpYyB2b2lk
IGFkZEluc3RydW1lbnRlZE9iamVjdChNZW1vcnlJbnN0cnVtZW50YXRpb24qIGluc3RydW1lbnRh
dGlvbiwgY29uc3QgVCYgdCwgTWVtb3J5T2JqZWN0VHlwZSBvd25lck9iamVjdFR5cGUpCi0gICAg
ICAgIHsKLSAgICAgICAgICAgIGluc3RydW1lbnRhdGlvbi0+YWRkSW5zdHJ1bWVudGVkT2JqZWN0
SW1wbCgmdCwgb3duZXJPYmplY3RUeXBlLCBieVJlZmVyZW5jZSk7Ci0gICAgICAgIH0KICAgICAg
ICAgc3RhdGljIHZvaWQgYWRkT2JqZWN0KE1lbW9yeUluc3RydW1lbnRhdGlvbiogaW5zdHJ1bWVu
dGF0aW9uLCBjb25zdCBUJiB0LCBNZW1vcnlPYmplY3RUeXBlIG93bmVyT2JqZWN0VHlwZSkKICAg
ICAgICAgewogICAgICAgICAgICAgaW5zdHJ1bWVudGF0aW9uLT5hZGRPYmplY3RJbXBsKCZ0LCBv
d25lck9iamVjdFR5cGUsIGJ5UmVmZXJlbmNlKTsKQEAgLTE3NSwyMCArMTY2LDEyIEBAIHByaXZh
dGU6CiAKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPgogICAgIHN0cnVjdCBPd25pbmdUcmFpdHM8
VCo+IHsgLy8gQ3VzdG9tIGJ5UG9pbnRlciBpbXBsZW1lbnRhdGlvbi4KLSAgICAgICAgc3RhdGlj
IHZvaWQgYWRkSW5zdHJ1bWVudGVkT2JqZWN0KE1lbW9yeUluc3RydW1lbnRhdGlvbiogaW5zdHJ1
bWVudGF0aW9uLCBjb25zdCBUKiBjb25zdCYgdCwgTWVtb3J5T2JqZWN0VHlwZSBvd25lck9iamVj
dFR5cGUpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGluc3RydW1lbnRhdGlvbi0+YWRkSW5zdHJ1
bWVudGVkT2JqZWN0SW1wbCh0LCBvd25lck9iamVjdFR5cGUsIGJ5UG9pbnRlcik7Ci0gICAgICAg
IH0KICAgICAgICAgc3RhdGljIHZvaWQgYWRkT2JqZWN0KE1lbW9yeUluc3RydW1lbnRhdGlvbiog
aW5zdHJ1bWVudGF0aW9uLCBjb25zdCBUKiBjb25zdCYgdCwgTWVtb3J5T2JqZWN0VHlwZSBvd25l
ck9iamVjdFR5cGUpCiAgICAgICAgIHsKICAgICAgICAgICAgIGluc3RydW1lbnRhdGlvbi0+YWRk
T2JqZWN0SW1wbCh0LCBvd25lck9iamVjdFR5cGUsIGJ5UG9pbnRlcik7CiAgICAgICAgIH0KICAg
ICB9OwogCi0gICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gdm9pZCBhZGRJbnN0cnVtZW50ZWRPYmpl
Y3RJbXBsKGNvbnN0IFQqIGNvbnN0JiwgTWVtb3J5T2JqZWN0VHlwZSwgTWVtb3J5T3duaW5nVHlw
ZSk7Ci0gICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gdm9pZCBhZGRJbnN0cnVtZW50ZWRPYmplY3RJ
bXBsKGNvbnN0IE93blB0cjxUPiogY29uc3QmLCBNZW1vcnlPYmplY3RUeXBlLCBNZW1vcnlPd25p
bmdUeXBlKTsKLSAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiB2b2lkIGFkZEluc3RydW1lbnRlZE9i
amVjdEltcGwoY29uc3QgUmVmUHRyPFQ+KiBjb25zdCYsIE1lbW9yeU9iamVjdFR5cGUsIE1lbW9y
eU93bmluZ1R5cGUpOwotCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gdm9pZCBhZGRPYmplY3RJ
bXBsKGNvbnN0IFQqIGNvbnN0JiwgTWVtb3J5T2JqZWN0VHlwZSwgTWVtb3J5T3duaW5nVHlwZSk7
CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gdm9pZCBhZGRPYmplY3RJbXBsKGNvbnN0IE93blB0
cjxUPiogY29uc3QmLCBNZW1vcnlPYmplY3RUeXBlLCBNZW1vcnlPd25pbmdUeXBlKTsKICAgICB0
ZW1wbGF0ZTx0eXBlbmFtZSBUPiB2b2lkIGFkZE9iamVjdEltcGwoY29uc3QgUmVmUHRyPFQ+KiBj
b25zdCYsIE1lbW9yeU9iamVjdFR5cGUsIE1lbW9yeU93bmluZ1R5cGUpOwpAQCAtMjA1LDcgKzE4
OCw2IEBAIHB1YmxpYzoKICAgICAgICAgbV9vYmplY3RUeXBlID0gbWVtb3J5T2JqZWN0SW5mby0+
b2JqZWN0VHlwZSgpOwogICAgIH0KIAotICAgIHRlbXBsYXRlPHR5cGVuYW1lIE0+IHZvaWQgYWRk
SW5zdHJ1bWVudGVkTWVtYmVyKGNvbnN0IE0mIG1lbWJlcikgeyBtX21lbW9yeUluc3RydW1lbnRh
dGlvbi0+YWRkSW5zdHJ1bWVudGVkT2JqZWN0KG1lbWJlciwgbV9vYmplY3RUeXBlKTsgfQogICAg
IHRlbXBsYXRlPHR5cGVuYW1lIE0+IHZvaWQgYWRkTWVtYmVyKGNvbnN0IE0mIG1lbWJlcikgeyBt
X21lbW9yeUluc3RydW1lbnRhdGlvbi0+YWRkT2JqZWN0KG1lbWJlciwgbV9vYmplY3RUeXBlKTsg
fQogCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgSGFzaE1hcFR5cGU+IHZvaWQgYWRkSGFzaE1hcChj
b25zdCBIYXNoTWFwVHlwZSYgbWFwKSB7IG1fbWVtb3J5SW5zdHJ1bWVudGF0aW9uLT5hZGRIYXNo
TWFwKG1hcCwgbV9vYmplY3RUeXBlLCB0cnVlKTsgfQpAQCAtMjMxLDcgKzIxMyw3IEBAIHByaXZh
dGU6CiB9OwogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPgotdm9pZCBNZW1vcnlJbnN0cnVtZW50YXRp
b246OmFkZEluc3RydW1lbnRlZE9iamVjdEltcGwoY29uc3QgVCogY29uc3QmIG9iamVjdCwgTWVt
b3J5T2JqZWN0VHlwZSBvd25lck9iamVjdFR5cGUsIE1lbW9yeU93bmluZ1R5cGUgb3duaW5nVHlw
ZSkKK3ZvaWQgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjphZGRPYmplY3RJbXBsKGNvbnN0IFQqIGNv
bnN0JiBvYmplY3QsIE1lbW9yeU9iamVjdFR5cGUgb3duZXJPYmplY3RUeXBlLCBNZW1vcnlPd25p
bmdUeXBlIG93bmluZ1R5cGUpCiB7CiAgICAgaWYgKG93bmluZ1R5cGUgPT0gYnlSZWZlcmVuY2Up
IHsKICAgICAgICAgTWVtb3J5T2JqZWN0SW5mbyBtZW1vcnlPYmplY3RJbmZvKHRoaXMsIG93bmVy
T2JqZWN0VHlwZSk7CkBAIC0yNDQsMjIgKzIyNiw2IEBAIHZvaWQgTWVtb3J5SW5zdHJ1bWVudGF0
aW9uOjphZGRJbnN0cnVtZW50ZWRPYmplY3RJbXBsKGNvbnN0IFQqIGNvbnN0JiBvYmplY3QsIE1l
CiB9CiAKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+Ci12b2lkIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6
YWRkSW5zdHJ1bWVudGVkT2JqZWN0SW1wbChjb25zdCBPd25QdHI8VD4qIGNvbnN0JiBvYmplY3Qs
IE1lbW9yeU9iamVjdFR5cGUgb3duZXJPYmplY3RUeXBlLCBNZW1vcnlPd25pbmdUeXBlIG93bmlu
Z1R5cGUpCi17Ci0gICAgaWYgKG93bmluZ1R5cGUgPT0gYnlQb2ludGVyKQotICAgICAgICBjb3Vu
dE9iamVjdFNpemUob3duZXJPYmplY3RUeXBlLCBzaXplb2YoKm9iamVjdCkpOwotICAgIGFkZElu
c3RydW1lbnRlZE9iamVjdEltcGwob2JqZWN0LT5nZXQoKSwgb3duZXJPYmplY3RUeXBlLCBieVBv
aW50ZXIpOwotfQotCi10ZW1wbGF0ZTx0eXBlbmFtZSBUPgotdm9pZCBNZW1vcnlJbnN0cnVtZW50
YXRpb246OmFkZEluc3RydW1lbnRlZE9iamVjdEltcGwoY29uc3QgUmVmUHRyPFQ+KiBjb25zdCYg
b2JqZWN0LCBNZW1vcnlPYmplY3RUeXBlIG93bmVyT2JqZWN0VHlwZSwgTWVtb3J5T3duaW5nVHlw
ZSBvd25pbmdUeXBlKQotewotICAgIGlmIChvd25pbmdUeXBlID09IGJ5UG9pbnRlcikKLSAgICAg
ICAgY291bnRPYmplY3RTaXplKG93bmVyT2JqZWN0VHlwZSwgc2l6ZW9mKCpvYmplY3QpKTsKLSAg
ICBhZGRJbnN0cnVtZW50ZWRPYmplY3RJbXBsKG9iamVjdC0+Z2V0KCksIG93bmVyT2JqZWN0VHlw
ZSwgYnlQb2ludGVyKTsKLX0KLQotdGVtcGxhdGU8dHlwZW5hbWUgVD4KIHZvaWQgTWVtb3J5SW5z
dHJ1bWVudGF0aW9uOjphZGRPYmplY3RJbXBsKGNvbnN0IE93blB0cjxUPiogY29uc3QmIG9iamVj
dCwgTWVtb3J5T2JqZWN0VHlwZSBvd25lck9iamVjdFR5cGUsIE1lbW9yeU93bmluZ1R5cGUgb3du
aW5nVHlwZSkKIHsKICAgICBpZiAob3duaW5nVHlwZSA9PSBieVBvaW50ZXIgJiYgIXZpc2l0ZWQo
b2JqZWN0KSkKQEAgLTI3NSwxMiArMjQxLDYgQEAgdm9pZCBNZW1vcnlJbnN0cnVtZW50YXRpb246
OmFkZE9iamVjdEltcGwoY29uc3QgUmVmUHRyPFQ+KiBjb25zdCYgb2JqZWN0LCBNZW1vcnkKICAg
ICBhZGRPYmplY3RJbXBsKG9iamVjdC0+Z2V0KCksIG93bmVyT2JqZWN0VHlwZSwgYnlQb2ludGVy
KTsKIH0KIAotdGVtcGxhdGU8dHlwZW5hbWUgVD4KLXZvaWQgTWVtb3J5SW5zdHJ1bWVudGF0aW9u
OjphZGRPYmplY3RJbXBsKGNvbnN0IFQqIGNvbnN0JiBvYmplY3QsIE1lbW9yeU9iamVjdFR5cGUg
b3duZXJPYmplY3RUeXBlLCBNZW1vcnlPd25pbmdUeXBlIG93bmluZ1R5cGUpCi17Ci0gICAgYWRk
SW5zdHJ1bWVudGVkT2JqZWN0SW1wbChvYmplY3QsIG93bmVyT2JqZWN0VHlwZSwgb3duaW5nVHlw
ZSk7Ci19Ci0KIHRlbXBsYXRlPHR5cGVuYW1lIEhhc2hNYXBUeXBlPgogdm9pZCBNZW1vcnlJbnN0
cnVtZW50YXRpb246OmFkZEhhc2hNYXAoY29uc3QgSGFzaE1hcFR5cGUmIGhhc2hNYXAsIE1lbW9y
eU9iamVjdFR5cGUgb3duZXJPYmplY3RUeXBlLCBib29sIGNvbnRlbnRPbmx5KQogewpAQCAtMzA1
LDcgKzI2NSw3IEBAIHZvaWQgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjphZGRJbnN0cnVtZW50ZWRD
b2xsZWN0aW9uKGNvbnN0IENvbGxlY3Rpb25UeXBlJiBjb2xsCiAgICAgY291bnRPYmplY3RTaXpl
KG93bmVyT2JqZWN0VHlwZSwgY2FsY3VsYXRlQ29udGFpbmVyU2l6ZShjb2xsZWN0aW9uLCBjb250
ZW50T25seSkpOwogICAgIHR5cGVuYW1lIENvbGxlY3Rpb25UeXBlOjpjb25zdF9pdGVyYXRvciBl
bmQgPSBjb2xsZWN0aW9uLmVuZCgpOwogICAgIGZvciAodHlwZW5hbWUgQ29sbGVjdGlvblR5cGU6
OmNvbnN0X2l0ZXJhdG9yIGkgPSBjb2xsZWN0aW9uLmJlZ2luKCk7IGkgIT0gZW5kOyArK2kpCi0g
ICAgICAgIGFkZEluc3RydW1lbnRlZE9iamVjdCgqaSwgb3duZXJPYmplY3RUeXBlKTsKKyAgICAg
ICAgYWRkT2JqZWN0KCppLCBvd25lck9iamVjdFR5cGUpOwogfQogCiB0ZW1wbGF0ZTx0eXBlbmFt
ZSBNYXBUeXBlPgpAQCAtMzEzLDggKzI3Myw4IEBAIHZvaWQgTWVtb3J5SW5zdHJ1bWVudGF0aW9u
OjphZGRJbnN0cnVtZW50ZWRNYXBFbnRyaWVzKGNvbnN0IE1hcFR5cGUmIG1hcCwgTWVtb3J5CiB7
CiAgICAgdHlwZW5hbWUgTWFwVHlwZTo6Y29uc3RfaXRlcmF0b3IgZW5kID0gbWFwLmVuZCgpOwog
ICAgIGZvciAodHlwZW5hbWUgTWFwVHlwZTo6Y29uc3RfaXRlcmF0b3IgaSA9IG1hcC5iZWdpbigp
OyBpICE9IGVuZDsgKytpKSB7Ci0gICAgICAgIGFkZEluc3RydW1lbnRlZE9iamVjdChpLT5maXJz
dCwgb3duZXJPYmplY3RUeXBlKTsKLSAgICAgICAgYWRkSW5zdHJ1bWVudGVkT2JqZWN0KGktPnNl
Y29uZCwgb3duZXJPYmplY3RUeXBlKTsKKyAgICAgICAgYWRkT2JqZWN0KGktPmZpcnN0LCBvd25l
ck9iamVjdFR5cGUpOworICAgICAgICBhZGRPYmplY3QoaS0+c2Vjb25kLCBvd25lck9iamVjdFR5
cGUpOwogICAgIH0KIH0KIApAQCAtMzIzLDcgKzI4Myw3IEBAIHZvaWQgTWVtb3J5SW5zdHJ1bWVu
dGF0aW9uOjphZGRJbnN0cnVtZW50ZWRNYXBWYWx1ZXMoY29uc3QgTWFwVHlwZSYgbWFwLCBNZW1v
cnlPCiB7CiAgICAgdHlwZW5hbWUgTWFwVHlwZTo6Y29uc3RfaXRlcmF0b3IgZW5kID0gbWFwLmVu
ZCgpOwogICAgIGZvciAodHlwZW5hbWUgTWFwVHlwZTo6Y29uc3RfaXRlcmF0b3IgaSA9IG1hcC5i
ZWdpbigpOyBpICE9IGVuZDsgKytpKQotICAgICAgICBhZGRJbnN0cnVtZW50ZWRPYmplY3QoaS0+
c2Vjb25kLCBvd25lck9iamVjdFR5cGUpOworICAgICAgICBhZGRPYmplY3QoaS0+c2Vjb25kLCBv
d25lck9iamVjdFR5cGUpOwogfQogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBMaXN0SGFzaFNldFR5cGU+
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi90ZXh0L0F0b21pY1N0cmluZy5jcHAgYi9Tb3Vy
Y2UvV1RGL3d0Zi90ZXh0L0F0b21pY1N0cmluZy5jcHAKaW5kZXggZDYyNjc5MmQwZmUwNjBhMmZi
MDhlMTYwOTU1YjQ2ZjI3YjQzODI1MS4uYjkxYzYwZTgwZDBjMjk2ZGQ0NTY0YjgwNGZlNmMxZjhi
NWI3MmZjZiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvdGV4dC9BdG9taWNTdHJpbmcuY3Bw
CisrKyBiL1NvdXJjZS9XVEYvd3RmL3RleHQvQXRvbWljU3RyaW5nLmNwcApAQCAtNDM5LDcgKzQz
OSw3IEBAIHZvaWQgQXRvbWljU3RyaW5nOjpzaG93KCkgY29uc3QKIHZvaWQgQXRvbWljU3RyaW5n
OjpyZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBj
b25zdAogewogICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMp
OwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fc3RyaW5nKTsKKyAgICBpbmZvLmFk
ZE1lbWJlcihtX3N0cmluZyk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdURgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dURi93dGYvdGV4dC9DU3RyaW5nLmggYi9Tb3VyY2UvV1RGL3d0Zi90ZXh0L0NTdHJp
bmcuaAppbmRleCBkNDQyYWY3ODJkZmQwZjdmNzZhNmM3NDY3NjgxZWM5N2U2YmY2OTg4Li4wM2Fi
M2U1NGE3Y2ZhYTZkMTc0MmM1MDk2NGM5Y2ZkNjgxNTc5ZTE5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V1RGL3d0Zi90ZXh0L0NTdHJpbmcuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi90ZXh0L0NTdHJpbmcu
aApAQCAtODUsNyArODUsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCByZXBvcnRNZW1vcnlVc2FnZShN
ZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAogICAgIHsKICAgICAgICAg
dHlwZW5hbWUgTWVtb3J5T2JqZWN0SW5mbzo6Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5m
bywgdGhpcyk7Ci0gICAgICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fYnVmZmVyKTsK
KyAgICAgICAgaW5mby5hZGRNZW1iZXIobV9idWZmZXIpOwogICAgIH0KIAogcHJpdmF0ZToKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL3RleHQvU3RyaW5nSW1wbC5jcHAgYi9Tb3VyY2UvV1RG
L3d0Zi90ZXh0L1N0cmluZ0ltcGwuY3BwCmluZGV4IGQ2OWVjYWFlZWRlODg4YjBkYWQ3MDFlNWM1
ZTM5ZTdhYjZmNDFlZWUuLmMwNmE5NjZlN2FkZDZkMWI1MmU1ZDViZTU2MjAxNDQ4NzlmZTZjYzYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL3RleHQvU3RyaW5nSW1wbC5jcHAKKysrIGIvU291
cmNlL1dURi93dGYvdGV4dC9TdHJpbmdJbXBsLmNwcApAQCAtMTgwNyw3ICsxODA3LDcgQEAgdm9p
ZCBTdHJpbmdJbXBsOjpyZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlP
YmplY3RJbmZvKSBjb25zdAogICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdElu
Zm8sIHRoaXMsIDAsIHNlbGZTaXplKTsKIAogICAgIGlmIChtX2hhc2hBbmRGbGFncyAmIEJ1ZmZl
clN1YnN0cmluZykKLSAgICAgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9zdWJzdHJp
bmdCdWZmZXIpOworICAgICAgICBpbmZvLmFkZE1lbWJlcihtX3N1YnN0cmluZ0J1ZmZlcik7CiAg
ICAgZWxzZSBpZiAobV9oYXNoQW5kRmxhZ3MgJiBzX2hhc2hGbGFnSGFzMTZCaXRTaGFkb3cpIC8v
IFN1YnN0cmluZyBuZXZlciBoYXMgaXRzIG93biBzaGFkb3cuCiAgICAgICAgIGluZm8uYWRkUmF3
QnVmZmVyKG1fY29weURhdGExNiwgKG1fbGVuZ3RoICsgKGhhc1Rlcm1pbmF0aW5nTnVsbENoYXJh
Y3RlcigpID8gMSA6IDApKSAqIHNpemVvZihVQ2hhcikpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dURi93dGYvdGV4dC9XVEZTdHJpbmcuY3BwIGIvU291cmNlL1dURi93dGYvdGV4dC9XVEZTdHJp
bmcuY3BwCmluZGV4IGJmN2RiYzM0MWVmYTgyNjVhN2RiYzg2N2RlNDhkZGJjZWM3YjUzMTcuLmI4
OWFjYjY2MzlmMTFlNTJkZDJhZGExZTIzOTI1YTVmNzBjZmFlMTggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XVEYvd3RmL3RleHQvV1RGU3RyaW5nLmNwcAorKysgYi9Tb3VyY2UvV1RGL3d0Zi90ZXh0L1dU
RlN0cmluZy5jcHAKQEAgLTgyNCw3ICs4MjQsNyBAQCBTdHJpbmcgU3RyaW5nOjpmcm9tVVRGOFdp
dGhMYXRpbjFGYWxsYmFjayhjb25zdCBMQ2hhciogc3RyaW5nLCBzaXplX3Qgc2l6ZSkKIHZvaWQg
U3RyaW5nOjpyZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJ
bmZvKSBjb25zdAogewogICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8s
IHRoaXMpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1faW1wbCk7CisgICAgaW5m
by5hZGRNZW1iZXIobV9pbXBsKTsKIH0KIAogLy8gU3RyaW5nIE9wZXJhdGlvbnMKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XVEYvd3RmL3VybC9hcGkvUGFyc2VkVVJMLmNwcCBiL1NvdXJjZS9XVEYvd3Rm
L3VybC9hcGkvUGFyc2VkVVJMLmNwcAppbmRleCA1Zjg4Y2I0ZWNkZWVhMTI1ZmZhY2M0YTE3NzBm
YmQ1ZDRhNDQ2M2M3Li4wYjE1ZmNiY2EyZGM5MzIwNGRmOGExYTU4YTcwZWFlNTA0NThhY2M0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi91cmwvYXBpL1BhcnNlZFVSTC5jcHAKKysrIGIvU291
cmNlL1dURi93dGYvdXJsL2FwaS9QYXJzZWRVUkwuY3BwCkBAIC0xNzgsNyArMTc4LDcgQEAgU3Ry
aW5nIFBhcnNlZFVSTDo6c2VnbWVudChjb25zdCBVUkxDb21wb25lbnQmIGNvbXBvbmVudCkgY29u
c3QKIHZvaWQgUGFyc2VkVVJMOjpyZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBt
ZW1vcnlPYmplY3RJbmZvKSBjb25zdAogewogICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9y
eU9iamVjdEluZm8sIHRoaXMpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fc3Bl
Yyk7CisgICAgaW5mby5hZGRNZW1iZXIobV9zcGVjKTsKIH0KIAogI2lmbmRlZiBOREVCVUcKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL3VybC9hcGkvVVJMU3RyaW5nLmNwcCBiL1NvdXJjZS9X
VEYvd3RmL3VybC9hcGkvVVJMU3RyaW5nLmNwcAppbmRleCAzZGZjNzliODhjM2UwY2MxNTA2NDcy
MzA5MzI5Y2FhN2RhNDIzNzkxLi5jZjQ2YTMwOTIwOWJlNDRkMmIxM2EzZGNiNGIwNjRlZDA2OWI1
OTg3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi91cmwvYXBpL1VSTFN0cmluZy5jcHAKKysr
IGIvU291cmNlL1dURi93dGYvdXJsL2FwaS9VUkxTdHJpbmcuY3BwCkBAIC0zNSw3ICszNSw3IEBA
IG5hbWVzcGFjZSBXVEYgewogdm9pZCBVUkxTdHJpbmc6OnJlcG9ydE1lbW9yeVVzYWdlKE1lbW9y
eU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiB7CiAgICAgTWVtb3J5Q2xhc3NJ
bmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcyk7Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50
ZWRNZW1iZXIobV9zdHJpbmcpOworICAgIGluZm8uYWRkTWVtYmVyKG1fc3RyaW5nKTsKIH0KIAog
I2lmbmRlZiBOREVCVUcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L0RP
TURhdGFTdG9yZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9ET01EYXRhU3RvcmUu
Y3BwCmluZGV4IDVjNzBjZjg0MzZjNjZmMTY4ZTVmM2QyMWMyNDkxNjFlM2ViZWZjOGYuLjNmZWNk
ODkzZTdhMTY1ODQ2OWYyZTBiODhlZDAyNTViNTU1YzA2NjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3Y4L0RPTURhdGFTdG9yZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvdjgvRE9NRGF0YVN0b3JlLmNwcApAQCAtMTIyLDEwICsxMjIsMTAgQEAgdm9pZCog
RE9NRGF0YVN0b3JlOjpnZXRET01XcmFwcGVyTWFwKERPTVdyYXBwZXJNYXBUeXBlIHR5cGUpCiB2
b2lkIERPTURhdGFTdG9yZTo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVt
b3J5T2JqZWN0SW5mbykgY29uc3QKIHsKICAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlP
YmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6OkJpbmRpbmcpOwotICAgIGluZm8u
YWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fZG9tTm9kZU1hcCk7Ci0gICAgaW5mby5hZGRJbnN0cnVt
ZW50ZWRNZW1iZXIobV9hY3RpdmVEb21Ob2RlTWFwKTsKLSAgICBpbmZvLmFkZEluc3RydW1lbnRl
ZE1lbWJlcihtX2RvbU9iamVjdE1hcCk7Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIo
bV9hY3RpdmVEb21PYmplY3RNYXApOworICAgIGluZm8uYWRkTWVtYmVyKG1fZG9tTm9kZU1hcCk7
CisgICAgaW5mby5hZGRNZW1iZXIobV9hY3RpdmVEb21Ob2RlTWFwKTsKKyAgICBpbmZvLmFkZE1l
bWJlcihtX2RvbU9iamVjdE1hcCk7CisgICAgaW5mby5hZGRNZW1iZXIobV9hY3RpdmVEb21PYmpl
Y3RNYXApOwogfQogCiAvLyBDYWxsZWQgd2hlbiB0aGUgb2JqZWN0IGlzIG5lYXIgZGVhdGggKG5v
dCByZWFjaGFibGUgZnJvbSBKUyByb290cykuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy92OC9JbnRydXNpdmVET01XcmFwcGVyTWFwLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy92OC9JbnRydXNpdmVET01XcmFwcGVyTWFwLmgKaW5kZXggOGYwNjkyMDFjMGI1OTdhMjg5
MjhjOGRhZjM5ZTdiODM0M2E3N2JmZS4uYWUyMGQwMzY5YjM0MTAzYTI4MzQ1ODMwZGFiOWZiN2M4
ZDRiYWZkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvSW50cnVzaXZl
RE9NV3JhcHBlck1hcC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L0ludHJ1c2l2
ZURPTVdyYXBwZXJNYXAuaApAQCAtMTg3LDcgKzE4Nyw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFs
IHZvaWQgcmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5m
bykgY29uc3QgT1ZFUlJJREUKICAgICB7CiAgICAgICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1l
bW9yeU9iamVjdEluZm8sIHRoaXMsIFdlYkNvcmVNZW1vcnlUeXBlczo6QmluZGluZyk7Ci0gICAg
ICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fdGFibGUpOworICAgICAgICBpbmZvLmFk
ZE1lbWJlcihtX3RhYmxlKTsKICAgICB9CiAKIHByaXZhdGU6CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy92OC9WOFBlcklzb2xhdGVEYXRhLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3Y4L1Y4UGVySXNvbGF0ZURhdGEuY3BwCmluZGV4IGE3ZmM4ZDYyMGVhOTQwMWNm
ZGM5MjkwNWQ2MGUyOTg1NDY4ODY4OGQuLmUxYmMzMWU1YzQ2NDU4OTFlNmU2NjZmZGIzNGE2NGM3
YTIzMWRjNjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4UGVySXNv
bGF0ZURhdGEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4UGVySXNvbGF0
ZURhdGEuY3BwCkBAIC04NiwxMSArODYsMTEgQEAgdm9pZCBWOFBlcklzb2xhdGVEYXRhOjpyZXBv
cnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb24KICAg
ICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVt
b3J5VHlwZXM6OkJpbmRpbmcpOwogICAgIGluZm8uYWRkSGFzaE1hcChtX3Jhd1RlbXBsYXRlcyk7
CiAgICAgaW5mby5hZGRIYXNoTWFwKG1fdGVtcGxhdGVzKTsKLSAgICBpbmZvLmFkZEluc3RydW1l
bnRlZE1lbWJlcihtX3N0cmluZ0NhY2hlKTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX3N0cmluZ0Nh
Y2hlKTsKICAgICBpbmZvLmFkZFZlY3RvcihtX2RvbURhdGFMaXN0KTsKIAogICAgIGZvciAoc2l6
ZV90IGkgPSAwOyBpIDwgbV9kb21EYXRhTGlzdC5zaXplKCk7IGkrKykKLSAgICAgICAgaW5mby5h
ZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9kb21EYXRhTGlzdFtpXSk7CisgICAgICAgIGluZm8uYWRk
TWVtYmVyKG1fZG9tRGF0YUxpc3RbaV0pOwogfQogCiAjaWYgRU5BQkxFKElOU1BFQ1RPUikKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NCb3JkZXJJbWFnZVNsaWNlVmFsdWUuY3Bw
IGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0JvcmRlckltYWdlU2xpY2VWYWx1ZS5jcHAKaW5kZXgg
MDIzNDNmOTA1ZmI4OTI4NGY1NDQxM2FkOWVhZGYzNWVjM2I1ODMwZS4uN2QxYjNkYWY3ZjgzZTBm
ODk3OWQ0MjFkN2YzNGJkMDRhZDUwYjdiNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU0JvcmRlckltYWdlU2xpY2VWYWx1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U0JvcmRlckltYWdlU2xpY2VWYWx1ZS5jcHAKQEAgLTUzLDcgKzUzLDcgQEAgU3RyaW5nIENTU0Jv
cmRlckltYWdlU2xpY2VWYWx1ZTo6Y3VzdG9tQ3NzVGV4dCgpIGNvbnN0CiB2b2lkIENTU0JvcmRl
ckltYWdlU2xpY2VWYWx1ZTo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKE1lbW9yeU9iamVj
dEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiB7CiAgICAgTWVtb3J5Q2xhc3NJbmZvIGlu
Zm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9yeVR5cGVzOjpDU1MpOwotICAg
IGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fc2xpY2VzKTsKKyAgICBpbmZvLmFkZE1lbWJl
cihtX3NsaWNlcyk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NDYWxjdWxhdGlvblZhbHVlLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NDYWxjdWxhdGlvblZhbHVlLmNwcAppbmRleCBjMjRiZmQ5NjYyYTU1OTlkYTljMmE4
YTZiZDNhMjY3MTRjOWQ1ODk1Li4xYzE1OGNjMmNkYzJhYTIwNDY0OWM5ZWM5YzRiYzNjY2Y2MTFi
ZDllIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ2FsY3VsYXRpb25WYWx1ZS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NhbGN1bGF0aW9uVmFsdWUuY3BwCkBAIC0y
MjYsNyArMjI2LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCByZXBvcnRNZW1vcnlVc2Fn
ZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdCBPVkVSUklERQogICAg
IHsKICAgICAgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywg
V2ViQ29yZU1lbW9yeVR5cGVzOjpDU1MpOwotICAgICAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1l
bWJlcihtX3ZhbHVlKTsKKyAgICAgICAgaW5mby5hZGRNZW1iZXIobV92YWx1ZSk7CiAgICAgfQog
ICAgIAogcHJpdmF0ZToKQEAgLTMyNCw4ICszMjQsOCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2
b2lkIHJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8p
IGNvbnN0IE9WRVJSSURFCiAgICAgewogICAgICAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1v
cnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6OkNTUyk7Ci0gICAgICAgIGlu
Zm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fbGVmdFNpZGUpOwotICAgICAgICBpbmZvLmFkZElu
c3RydW1lbnRlZE1lbWJlcihtX3JpZ2h0U2lkZSk7CisgICAgICAgIGluZm8uYWRkTWVtYmVyKG1f
bGVmdFNpZGUpOworICAgICAgICBpbmZvLmFkZE1lbWJlcihtX3JpZ2h0U2lkZSk7CiAgICAgfQog
CiAgICAgc3RhdGljIFN0cmluZyBidWlsZENzc1RleHQoY29uc3QgU3RyaW5nJiBsZWZ0RXhwcmVz
c2lvbiwgY29uc3QgU3RyaW5nJiByaWdodEV4cHJlc3Npb24sIENhbGNPcGVyYXRvciBvcCkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDYW52YXNWYWx1ZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTQ2FudmFzVmFsdWUuY3BwCmluZGV4IDhlY2M4MGMwOGU2YjE0MWZiYmEz
MGY5ZjllMzc5NjdiMTNhOTMzNTUuLjc4N2ExNzQyY2IyMjM3ZmI2ZWZjN2M1MTliMjcxMWJiZjU2
OThkMTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDYW52YXNWYWx1ZS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NhbnZhc1ZhbHVlLmNwcApAQCAtMTAwLDggKzEw
MCw4IEBAIHZvaWQgQ1NTQ2FudmFzVmFsdWU6OnJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZShN
ZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJCiB7CiAgICAgTWVtb3J5Q2xhc3NJbmZvIGlu
Zm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9yeVR5cGVzOjpDU1MpOwogICAg
IENTU0ltYWdlR2VuZXJhdG9yVmFsdWU6OnJlcG9ydEJhc2VDbGFzc01lbW9yeVVzYWdlKG1lbW9y
eU9iamVjdEluZm8pOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fbmFtZSk7Ci0g
ICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9lbGVtZW50KTsKKyAgICBpbmZvLmFkZE1l
bWJlcihtX25hbWUpOworICAgIGluZm8uYWRkTWVtYmVyKG1fZWxlbWVudCk7CiB9CiAKIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDaGFy
c2V0UnVsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ2hhcnNldFJ1bGUuY3BwCmluZGV4
IDk3YmZjMDU4Njk3YzA2NTNlY2Y5ZDNjYTYwZDM1ZTlkMzdiMmZhZjIuLjdhMWI1ZDRhY2E5NGU1
MDBiYWE2NDU2N2RjNzJmYTQ2MGMwYTU5ODcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NDaGFyc2V0UnVsZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NoYXJzZXRS
dWxlLmNwcApAQCAtNDAsNyArNDAsNyBAQCB2b2lkIENTU0NoYXJzZXRSdWxlOjpyZXBvcnREZXNj
ZW5kYW50TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SQogewogICAg
IE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIFdlYkNvcmVNZW1v
cnlUeXBlczo6Q1NTKTsKICAgICBDU1NSdWxlOjpyZXBvcnRCYXNlQ2xhc3NNZW1vcnlVc2FnZSht
ZW1vcnlPYmplY3RJbmZvKTsKLSAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX2VuY29k
aW5nKTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX2VuY29kaW5nKTsKIH0KIAogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5
bGVEZWNsYXJhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURl
Y2xhcmF0aW9uLmNwcAppbmRleCA0NjBjYzMyZDRhYWQzOTg5ZWFmYjE1ZTFiMzNiZTcxN2Y0NmY3
YTFjLi44Zjk0MThjMDAyZDRiYzU3Y2IwY2Y0MzE2NDJiNWQxYTYwMjY3ODI4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcApAQCAt
Mjc0OSw3ICsyNzQ5LDcgQEAgUGFzc1JlZlB0cjxTdHlsZVByb3BlcnR5U2V0PiBDU1NDb21wdXRl
ZFN0eWxlRGVjbGFyYXRpb246OmNvcHlQcm9wZXJ0aWVzSW5TZXQoY28KIHZvaWQgQ1NTQ29tcHV0
ZWRTdHlsZURlY2xhcmF0aW9uOjpyZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBt
ZW1vcnlPYmplY3RJbmZvKSBjb25zdAogewogICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9y
eU9iamVjdEluZm8sIHRoaXMsIFdlYkNvcmVNZW1vcnlUeXBlczo6Q1NTKTsKLSAgICBpbmZvLmFk
ZEluc3RydW1lbnRlZE1lbWJlcihtX25vZGUpOworICAgIGluZm8uYWRkTWVtYmVyKG1fbm9kZSk7
CiB9CiAKIENTU1J1bGUqIENTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbjo6cGFyZW50UnVsZSgp
IGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ3Jvc3NmYWRlVmFsdWUu
Y3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0Nyb3NzZmFkZVZhbHVlLmNwcAppbmRleCBlMzQ3
ZWJkMDlkMzZjN2UwOGJmMDNiN2M2MTUxNWEzMWRkZTczM2RlLi5hMjI0YTM2MTE5Y2RiNzY5OWI1
ODkxZjgzOTlhNTRmZGZjNTlmMTIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
Q3Jvc3NmYWRlVmFsdWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDcm9zc2ZhZGVW
YWx1ZS5jcHAKQEAgLTE0Myw5ICsxNDMsOSBAQCB2b2lkIENTU0Nyb3NzZmFkZVZhbHVlOjpyZXBv
cnREZXNjZW5kYW50TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZQogewog
ICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIFdlYkNvcmVN
ZW1vcnlUeXBlczo6Q1NTKTsKICAgICBDU1NJbWFnZUdlbmVyYXRvclZhbHVlOjpyZXBvcnRCYXNl
Q2xhc3NNZW1vcnlVc2FnZShtZW1vcnlPYmplY3RJbmZvKTsKLSAgICBpbmZvLmFkZEluc3RydW1l
bnRlZE1lbWJlcihtX2Zyb21WYWx1ZSk7Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIo
bV90b1ZhbHVlKTsKLSAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX3BlcmNlbnRhZ2VW
YWx1ZSk7CisgICAgaW5mby5hZGRNZW1iZXIobV9mcm9tVmFsdWUpOworICAgIGluZm8uYWRkTWVt
YmVyKG1fdG9WYWx1ZSk7CisgICAgaW5mby5hZGRNZW1iZXIobV9wZXJjZW50YWdlVmFsdWUpOwog
ICAgIC8vIEZJWE1FOiBhZGQgaW5zdHJ1bWVudGF0aW9uIGZvcgogICAgIC8vIG1fY2FjaGVkRnJv
bUltYWdlCiAgICAgLy8gbV9jYWNoZWRUb0ltYWdlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTRm9udEZhY2VSdWxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFj
ZVJ1bGUuY3BwCmluZGV4IDBkY2ViOGE0ZDE0NGUyOGYwN2NlMmFhNzkyZDBlNjg5NWE3NjA0ZTYu
LjdkODUxZWQxZTJmYzY0OTJjZDY0M2NiMjVjZDEyOTc3ZGExNmY5MjkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZVJ1bGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NGb250RmFjZVJ1bGUuY3BwCkBAIC03Miw4ICs3Miw4IEBAIHZvaWQgQ1NTRm9udEZh
Y2VSdWxlOjpyZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVt
b3J5T2JqZWN0CiB7CiAgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywg
dGhpcywgV2ViQ29yZU1lbW9yeVR5cGVzOjpDU1MpOwogICAgIENTU1J1bGU6OnJlcG9ydEJhc2VD
bGFzc01lbW9yeVVzYWdlKG1lbW9yeU9iamVjdEluZm8pOwotICAgIGluZm8uYWRkSW5zdHJ1bWVu
dGVkTWVtYmVyKG1fZm9udEZhY2VSdWxlKTsKLSAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJl
cihtX3Byb3BlcnRpZXNDU1NPTVdyYXBwZXIpOworICAgIGluZm8uYWRkTWVtYmVyKG1fZm9udEZh
Y2VSdWxlKTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX3Byb3BlcnRpZXNDU1NPTVdyYXBwZXIpOwog
fQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTRm9udEZhY2VTcmNWYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZh
Y2VTcmNWYWx1ZS5jcHAKaW5kZXggMDUwNWY2MGFkNzEzNWYwMzM0MzliMTBlZmY0YmIzOTRkMWJl
MDVlOS4uMmExYzA0Nzg3ZDZhMGM0Yzg3MTM4MDQ0YTJjMTc1NTg5ODcxMGNmYiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlU3JjVmFsdWUuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZVNyY1ZhbHVlLmNwcApAQCAtMTA0LDExICsxMDQsMTEg
QEAgQ2FjaGVkRm9udCogQ1NTRm9udEZhY2VTcmNWYWx1ZTo6Y2FjaGVkRm9udChEb2N1bWVudCog
ZG9jdW1lbnQpCiB2b2lkIENTU0ZvbnRGYWNlU3JjVmFsdWU6OnJlcG9ydERlc2NlbmRhbnRNZW1v
cnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAogewogICAg
IE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIFdlYkNvcmVNZW1v
cnlUeXBlczo6Q1NTKTsKLSAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX3Jlc291cmNl
KTsKLSAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX2Zvcm1hdCk7CisgICAgaW5mby5h
ZGRNZW1iZXIobV9yZXNvdXJjZSk7CisgICAgaW5mby5hZGRNZW1iZXIobV9mb3JtYXQpOwogICAg
IC8vIEZJWE1FOiBhZGQgbV9jYWNoZWRGb250IHdoZW4gTWVtb3J5Q2FjaGUgaXMgaW5zdHJ1bWVu
dGVkLgogI2lmIEVOQUJMRShTVkdfRk9OVFMpCi0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1i
ZXIobV9zdmdGb250RmFjZUVsZW1lbnQpOworICAgIGluZm8uYWRkTWVtYmVyKG1fc3ZnRm9udEZh
Y2VFbGVtZW50KTsKICNlbmRpZgogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTRnVuY3Rpb25WYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRnVuY3Rpb25WYWx1
ZS5jcHAKaW5kZXggNDZhOThmOWIwNjNlYjk3MGZjODM3MDcwMTk1YTNkOWU4YjdhYzkwMy4uYmMy
NzBkZTY4MmEyNTk0ODk1NGFhNjBjMWVkODEzMzFlYzk0ZjQzZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvY3NzL0NTU0Z1bmN0aW9uVmFsdWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NGdW5jdGlvblZhbHVlLmNwcApAQCAtNTUsOCArNTUsOCBAQCBTdHJpbmcgQ1NTRnVuY3Rp
b25WYWx1ZTo6Y3VzdG9tQ3NzVGV4dCgpIGNvbnN0CiB2b2lkIENTU0Z1bmN0aW9uVmFsdWU6OnJl
cG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJ
bmZvKSBjb25zdAogewogICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8s
IHRoaXMsIFdlYkNvcmVNZW1vcnlUeXBlczo6Q1NTKTsKLSAgICBpbmZvLmFkZEluc3RydW1lbnRl
ZE1lbWJlcihtX25hbWUpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fYXJncyk7
CisgICAgaW5mby5hZGRNZW1iZXIobV9uYW1lKTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX2FyZ3Mp
OwogfQogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTR3JhZGllbnRWYWx1
ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTR3JhZGllbnRWYWx1ZS5jcHAKaW5kZXggZmM0
ODVmOTE4M2ZiYWZhZDJiZWI2YTEwNTQwY2YwZWUzMGM5NDUwZC4uZjk3MTVmMjdmNTg1MWM5MmEx
ODUzZGI0NmJhNzBiZGFkZTFhZWEyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NT
U0dyYWRpZW50VmFsdWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NHcmFkaWVudFZh
bHVlLmNwcApAQCAtNDcsOCArNDcsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiB2b2lkIENTU0dy
YWRpZW50Q29sb3JTdG9wOjpyZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1v
cnlPYmplY3RJbmZvKSBjb25zdAogewogICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9i
amVjdEluZm8sIHRoaXMsIFdlYkNvcmVNZW1vcnlUeXBlczo6Q1NTKTsKLSAgICBpbmZvLmFkZElu
c3RydW1lbnRlZE1lbWJlcihtX3Bvc2l0aW9uKTsKLSAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1l
bWJlcihtX2NvbG9yKTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX3Bvc2l0aW9uKTsKKyAgICBpbmZv
LmFkZE1lbWJlcihtX2NvbG9yKTsKIH0KIAogUGFzc1JlZlB0cjxJbWFnZT4gQ1NTR3JhZGllbnRW
YWx1ZTo6aW1hZ2UoUmVuZGVyT2JqZWN0KiByZW5kZXJlciwgY29uc3QgSW50U2l6ZSYgc2l6ZSkK
QEAgLTQ2NSwxMCArNDY1LDEwIEBAIHZvaWQgQ1NTR3JhZGllbnRWYWx1ZTo6cmVwb3J0QmFzZUNs
YXNzTWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0CiB7CiAgICAgTWVt
b3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9yeVR5
cGVzOjpDU1MpOwogICAgIENTU0ltYWdlR2VuZXJhdG9yVmFsdWU6OnJlcG9ydEJhc2VDbGFzc01l
bW9yeVVzYWdlKG1lbW9yeU9iamVjdEluZm8pOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVt
YmVyKG1fZmlyc3RYKTsKLSAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX2ZpcnN0WSk7
Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9zZWNvbmRYKTsKLSAgICBpbmZvLmFk
ZEluc3RydW1lbnRlZE1lbWJlcihtX3NlY29uZFkpOworICAgIGluZm8uYWRkTWVtYmVyKG1fZmly
c3RYKTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX2ZpcnN0WSk7CisgICAgaW5mby5hZGRNZW1iZXIo
bV9zZWNvbmRYKTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX3NlY29uZFkpOwogICAgIGluZm8uYWRk
SW5zdHJ1bWVudGVkVmVjdG9yKG1fc3RvcHMpOwogfQogCkBAIC02MzgsNyArNjM4LDcgQEAgdm9p
ZCBDU1NMaW5lYXJHcmFkaWVudFZhbHVlOjpyZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2UoTWVt
b3J5T2JqZWN0SW5mbyogbWVtb3IKIHsKICAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlP
YmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6OkNTUyk7CiAgICAgQ1NTR3JhZGll
bnRWYWx1ZTo6cmVwb3J0QmFzZUNsYXNzTWVtb3J5VXNhZ2UobWVtb3J5T2JqZWN0SW5mbyk7Ci0g
ICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9hbmdsZSk7CisgICAgaW5mby5hZGRNZW1i
ZXIobV9hbmdsZSk7CiB9CiAKIFN0cmluZyBDU1NSYWRpYWxHcmFkaWVudFZhbHVlOjpjdXN0b21D
c3NUZXh0KCkgY29uc3QKQEAgLTk2MywxMiArOTYzLDEyIEBAIHZvaWQgQ1NTUmFkaWFsR3JhZGll
bnRWYWx1ZTo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1l
bW9yCiB7CiAgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywg
V2ViQ29yZU1lbW9yeVR5cGVzOjpDU1MpOwogICAgIENTU0dyYWRpZW50VmFsdWU6OnJlcG9ydEJh
c2VDbGFzc01lbW9yeVVzYWdlKG1lbW9yeU9iamVjdEluZm8pOwotICAgIGluZm8uYWRkSW5zdHJ1
bWVudGVkTWVtYmVyKG1fZmlyc3RSYWRpdXMpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVt
YmVyKG1fc2Vjb25kUmFkaXVzKTsKLSAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX3No
YXBlKTsKLSAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX3NpemluZ0JlaGF2aW9yKTsK
LSAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX2VuZEhvcml6b250YWxTaXplKTsKLSAg
ICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX2VuZFZlcnRpY2FsU2l6ZSk7CisgICAgaW5m
by5hZGRNZW1iZXIobV9maXJzdFJhZGl1cyk7CisgICAgaW5mby5hZGRNZW1iZXIobV9zZWNvbmRS
YWRpdXMpOworICAgIGluZm8uYWRkTWVtYmVyKG1fc2hhcGUpOworICAgIGluZm8uYWRkTWVtYmVy
KG1fc2l6aW5nQmVoYXZpb3IpOworICAgIGluZm8uYWRkTWVtYmVyKG1fZW5kSG9yaXpvbnRhbFNp
emUpOworICAgIGluZm8uYWRkTWVtYmVyKG1fZW5kVmVydGljYWxTaXplKTsKIH0KIAogfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ltYWdl
U2V0VmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ltYWdlU2V0VmFsdWUuY3BwCmlu
ZGV4IDU2OGQ3NTZmNDY3YmVlZjJlN2ZmY2ZhOWM5NWI4OTNjNDU1ZTcwMTAuLjVlNmJlZTVhNjNj
YTMwMzY1NzI0ZGFkYTk2ODBkMjA2ZmQxY2IwYTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NJbWFnZVNldFZhbHVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW1h
Z2VTZXRWYWx1ZS5jcHAKQEAgLTE3NCw3ICsxNzQsNyBAQCB2b2lkIENTU0ltYWdlU2V0VmFsdWU6
OnJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmpl
Ywogdm9pZCBDU1NJbWFnZVNldFZhbHVlOjpJbWFnZVdpdGhTY2FsZTo6cmVwb3J0TWVtb3J5VXNh
Z2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKIHsKICAgICBNZW1v
cnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlw
ZXM6OkNTUyk7Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIoaW1hZ2VVUkwpOworICAg
IGluZm8uYWRkTWVtYmVyKGltYWdlVVJMKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ltYWdlVmFsdWUuY3BwIGIvU291cmNl
L1dlYkNvcmUvY3NzL0NTU0ltYWdlVmFsdWUuY3BwCmluZGV4IGMzNzBiZGM2NTU2ZDM2Mzg4NThj
ZjQ4NTM3OTc1MTlhMGU4NjJhN2EuLjcyNmMyYzA0MzQ3MWU5NjdiOTJiYzlmYTc2NGMzMjM5ZjJi
N2E1NDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJbWFnZVZhbHVlLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW1hZ2VWYWx1ZS5jcHAKQEAgLTEyOSw3ICsxMjks
NyBAQCBQYXNzUmVmUHRyPENTU1ZhbHVlPiBDU1NJbWFnZVZhbHVlOjpjbG9uZUZvckNTU09NKCkg
Y29uc3QKIHZvaWQgQ1NTSW1hZ2VWYWx1ZTo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKE1l
bW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiB7CiAgICAgTWVtb3J5Q2xh
c3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9yeVR5cGVzOjpD
U1MpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fdXJsKTsKKyAgICBpbmZvLmFk
ZE1lbWJlcihtX3VybCk7CiAgICAgLy8gTm8gbmVlZCB0byByZXBvcnQgbV9pbWFnZSBhcyBpdCBp
cyBjb3VudGVkIGFzIHBhcnQgb2YgUmVuZGVyQXJlbmEuCiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NJbXBvcnRSdWxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJ
bXBvcnRSdWxlLmNwcAppbmRleCAxZGM3MTg0Nzg4N2VkOWRhMjczMzkyNDc5MDY2MDg5NWZmYzQy
Zjg1Li4zYmJlNjUwYTVkNzIwYjliMDdhY2JlMTc0YjcxOTVlZTJhOGNkYWRlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW1wb3J0UnVsZS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvY3NzL0NTU0ltcG9ydFJ1bGUuY3BwCkBAIC04MSw5ICs4MSw5IEBAIHZvaWQgQ1NTSW1wb3J0
UnVsZTo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9y
eU9iamVjdEluCiB7CiAgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywg
dGhpcywgV2ViQ29yZU1lbW9yeVR5cGVzOjpDU1MpOwogICAgIENTU1J1bGU6OnJlcG9ydEJhc2VD
bGFzc01lbW9yeVVzYWdlKG1lbW9yeU9iamVjdEluZm8pOwotICAgIGluZm8uYWRkSW5zdHJ1bWVu
dGVkTWVtYmVyKG1faW1wb3J0UnVsZSk7Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIo
bV9tZWRpYUNTU09NV3JhcHBlcik7Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9z
dHlsZVNoZWV0Q1NTT01XcmFwcGVyKTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX2ltcG9ydFJ1bGUp
OworICAgIGluZm8uYWRkTWVtYmVyKG1fbWVkaWFDU1NPTVdyYXBwZXIpOworICAgIGluZm8uYWRk
TWVtYmVyKG1fc3R5bGVTaGVldENTU09NV3JhcHBlcik7CiB9CiAKIENTU1N0eWxlU2hlZXQqIENT
U0ltcG9ydFJ1bGU6OnN0eWxlU2hlZXQoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvY3NzL0NTU01lZGlhUnVsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTTWVkaWFSdWxl
LmNwcAppbmRleCA0NTQyZDNlNDg2NjhhYWYwYmUxZWM0MDk1ZDkxZjAwZDg4ZjQ4NjUwLi5mMGU5
Yzc5YzNmMTJlZTM3NjQ3ZWUwNzU5MGJiZjk3MDk3MGViYWJlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTTWVkaWFSdWxlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
TWVkaWFSdWxlLmNwcApAQCAtMTc5LDkgKzE3OSw5IEBAIHZvaWQgQ1NTTWVkaWFSdWxlOjpyZXBv
cnREZXNjZW5kYW50TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5m
CiB7CiAgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgV2Vi
Q29yZU1lbW9yeVR5cGVzOjpDU1MpOwogICAgIENTU1J1bGU6OnJlcG9ydEJhc2VDbGFzc01lbW9y
eVVzYWdlKG1lbW9yeU9iamVjdEluZm8pOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVy
KG1fbWVkaWFDU1NPTVdyYXBwZXIpOworICAgIGluZm8uYWRkTWVtYmVyKG1fbWVkaWFDU1NPTVdy
YXBwZXIpOwogICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkVmVjdG9yKG1fY2hpbGRSdWxlQ1NTT01X
cmFwcGVycyk7Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9ydWxlTGlzdENTU09N
V3JhcHBlcik7CisgICAgaW5mby5hZGRNZW1iZXIobV9ydWxlTGlzdENTU09NV3JhcHBlcik7CiB9
CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NQYWdlUnVsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFnZVJ1bGUuY3BwCmlu
ZGV4IDgzOWJjMjBmN2U0YzNhZjEzNTFkZTFlZDc2Nzc4OGVkODE3YjQ0ZDYuLmZjYjIyZjQ4YzM1
OTg3NjY5Y2E3ZTcxOGNmNWFiMTYyZWY0NTY0YmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NQYWdlUnVsZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhZ2VSdWxl
LmNwcApAQCAtMTA2LDggKzEwNiw4IEBAIHZvaWQgQ1NTUGFnZVJ1bGU6OnJlcG9ydERlc2NlbmRh
bnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvCiB7CiAgICAg
TWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9y
eVR5cGVzOjpDU1MpOwogICAgIENTU1J1bGU6OnJlcG9ydEJhc2VDbGFzc01lbW9yeVVzYWdlKG1l
bW9yeU9iamVjdEluZm8pOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fcGFnZVJ1
bGUpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fcHJvcGVydGllc0NTU09NV3Jh
cHBlcik7CisgICAgaW5mby5hZGRNZW1iZXIobV9wYWdlUnVsZSk7CisgICAgaW5mby5hZGRNZW1i
ZXIobV9wcm9wZXJ0aWVzQ1NTT01XcmFwcGVyKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZS5jcHAKaW5kZXggNWQyYTdmN2U0
ZDVhYTg1YzIwOWE4N2I0MmQ0MjI5ZDQ2NzUzN2ViOS4uOTIyYTBmNjhjNzM0MDZkOTBjOWQ0MjJj
YmJhNjc3N2UwMWE3NTBlMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1p
dGl2ZVZhbHVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWUu
Y3BwCkBAIC0xMjc1LDcgKzEyNzUsNyBAQCB2b2lkIENTU1ByaW1pdGl2ZVZhbHVlOjpyZXBvcnRE
ZXNjZW5kYW50TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZQogICAgIGNh
c2UgQ1NTX1ZBUklBQkxFX05BTUU6CiAjZW5kaWYKICAgICAgICAgLy8gRklYTUU6IGRldGVjdCBv
dGhlciBjYXNlcyB3aGVuIG1fdmFsdWUgaXMgU3RyaW5nSW1wbCoKLSAgICAgICAgaW5mby5hZGRJ
bnN0cnVtZW50ZWRNZW1iZXIobV92YWx1ZS5zdHJpbmcpOworICAgICAgICBpbmZvLmFkZE1lbWJl
cihtX3ZhbHVlLnN0cmluZyk7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgQ1NTX0NPVU5URVI6
CiAgICAgICAgIGluZm8uYWRkTWVtYmVyKG1fdmFsdWUuY291bnRlcik7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHkuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U1Byb3BlcnR5LmNwcAppbmRleCBmMTIyZmExYzVhNDA3YWNlZmNjNGVmMmU1MmFkOTI2YWU5ZjI1
MWE5Li5jNzYzM2Y4ZGIzMGYwMWNiMWExN2FjYTEwZmY4MmUwMTI1MTE2ZGUxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NQcm9wZXJ0eS5jcHAKQEAgLTcxNSw3ICs3MTUsNyBAQCBib29sIENTU1Byb3BlcnR5
Ojppc0luaGVyaXRlZFByb3BlcnR5KENTU1Byb3BlcnR5SUQgcHJvcGVydHlJRCkKIHZvaWQgQ1NT
UHJvcGVydHk6OnJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVj
dEluZm8pIGNvbnN0CiB7CiAgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5m
bywgdGhpcywgV2ViQ29yZU1lbW9yeVR5cGVzOjpDU1MpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVu
dGVkTWVtYmVyKG1fdmFsdWUpOworICAgIGluZm8uYWRkTWVtYmVyKG1fdmFsdWUpOwogfQogCiB9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
UmVmbGVjdFZhbHVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NSZWZsZWN0VmFsdWUuY3Bw
CmluZGV4IDdjY2I3NmVjZjYyOTEwMmE3MzBiZjBlYmNjOTAxMzg0Nzc1ZjM4ZTEuLjk0MzlkNjAw
ZWE4MTRhMDQ1OWY5OGIyY2I5YWM1ZTZkNGNmMjNiOWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NSZWZsZWN0VmFsdWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NS
ZWZsZWN0VmFsdWUuY3BwCkBAIC03MCw4ICs3MCw4IEBAIHZvaWQgQ1NTUmVmbGVjdFZhbHVlOjph
ZGRTdWJyZXNvdXJjZVN0eWxlVVJMcyhMaXN0SGFzaFNldDxLVVJMPiYgdXJscywgY29uc3QgU3R5
CiB2b2lkIENTU1JlZmxlY3RWYWx1ZTo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKE1lbW9y
eU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiB7CiAgICAgTWVtb3J5Q2xhc3NJ
bmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9yeVR5cGVzOjpDU1Mp
OwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fb2Zmc2V0KTsKLSAgICBpbmZvLmFk
ZEluc3RydW1lbnRlZE1lbWJlcihtX21hc2spOworICAgIGluZm8uYWRkTWVtYmVyKG1fb2Zmc2V0
KTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX21hc2spOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUnVsZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTUnVsZS5jcHAKaW5kZXggZmE3ZWNmMTQ4MTVjMDk3MjFiZWI5YzI0MDM5
YmY2MDc0NDZiMTk5Yi4uZmM5MDIyMjgyNDI5N2EwODg5ZWFlOGYyYjUyYmMwN2FlNmYxMTFmYyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1J1bGUuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NSdWxlLmNwcApAQCAtMjE0LDkgKzIxNCw5IEBAIHZvaWQgQ1NTUnVsZTo6
cmVwb3J0QmFzZUNsYXNzTWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0
SW5mbykgY29uCiB7CiAgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywg
dGhpcywgV2ViQ29yZU1lbW9yeVR5cGVzOjpDU1MpOwogICAgIGlmIChtX3BhcmVudElzUnVsZSkK
LSAgICAgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9wYXJlbnRSdWxlKTsKKyAgICAg
ICAgaW5mby5hZGRNZW1iZXIobV9wYXJlbnRSdWxlKTsKICAgICBlbHNlCi0gICAgICAgIGluZm8u
YWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fcGFyZW50U3R5bGVTaGVldCk7CisgICAgICAgIGluZm8u
YWRkTWVtYmVyKG1fcGFyZW50U3R5bGVTaGVldCk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NSdWxlTGlzdC5oIGIvU291cmNl
L1dlYkNvcmUvY3NzL0NTU1J1bGVMaXN0LmgKaW5kZXggY2FjZjE1MWFmODM2NWNlNzhkMzBmODYx
OTgxNGFjZTI2MjMwMTRiNi4uYmI3ZTE1ODJkNjM5YjYzZjMxN2RlMjEzNzI3MTE0NDQzMmNiZDA3
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1J1bGVMaXN0LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvY3NzL0NTU1J1bGVMaXN0LmgKQEAgLTg5LDcgKzg5LDcgQEAgcHVibGljOgog
ICAgIHZpcnR1YWwgdm9pZCByZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1v
cnlPYmplY3RJbmZvKSBjb25zdCBPVkVSUklERQogICAgIHsKICAgICAgICAgTWVtb3J5Q2xhc3NJ
bmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9yeVR5cGVzOjpDU1Mp
OwotICAgICAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX3J1bGUpOworICAgICAgICBp
bmZvLmFkZE1lbWJlcihtX3J1bGUpOwogICAgIH0KICAgICAKIHByaXZhdGU6CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVSdWxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NTdHlsZVJ1bGUuY3BwCmluZGV4IDM2NWQ4ZDkwZmRhNWExODQzZTQ2ZjIwNzBhY2ZkZWE5
YmRhOTg2ZDQuLjFiMzk4NzE0NmMwNDJlMjc3M2M1MTM3MzkyZDYwZjFlMGNmYWNjNzAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVJ1bGUuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NTdHlsZVJ1bGUuY3BwCkBAIC0xMzMsOCArMTMzLDggQEAgdm9pZCBDU1NT
dHlsZVJ1bGU6OnJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBt
ZW1vcnlPYmplY3RJbmYKIHsKICAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJ
bmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6OkNTUyk7CiAgICAgQ1NTUnVsZTo6cmVwb3J0
QmFzZUNsYXNzTWVtb3J5VXNhZ2UobWVtb3J5T2JqZWN0SW5mbyk7Ci0gICAgaW5mby5hZGRJbnN0
cnVtZW50ZWRNZW1iZXIobV9zdHlsZVJ1bGUpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVt
YmVyKG1fcHJvcGVydGllc0NTU09NV3JhcHBlcik7CisgICAgaW5mby5hZGRNZW1iZXIobV9zdHls
ZVJ1bGUpOworICAgIGluZm8uYWRkTWVtYmVyKG1fcHJvcGVydGllc0NTU09NV3JhcHBlcik7CiB9
CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NTdHlsZVNoZWV0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNoZWV0LmNw
cAppbmRleCA3OWNjZTExNmRhZDEzMWE3NjZkMTEwZjcyZTU2MmZjNmM2NzM0MmJiLi4wZTEwMjAy
YzdmZWJiZjJiZTZkODlhZmNjZDU3ZGIyZDAzYTYyY2UyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTU3R5bGVTaGVldC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0
eWxlU2hlZXQuY3BwCkBAIC01OCw3ICs1OCw3IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lk
IHJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNv
bnN0IE9WRVJSSURFCiAgICAgewogICAgICAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlP
YmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6OkNTUyk7Ci0gICAgICAgIGluZm8u
YWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fc3R5bGVTaGVldCk7CisgICAgICAgIGluZm8uYWRkTWVt
YmVyKG1fc3R5bGVTaGVldCk7CiAgICAgfQogICAgIAogICAgIENTU1N0eWxlU2hlZXQqIG1fc3R5
bGVTaGVldDsKQEAgLTE4MSwxMiArMTgxLDEyIEBAIHZvaWQgQ1NTU3R5bGVTaGVldDo6cmVhdHRh
Y2hDaGlsZFJ1bGVDU1NPTVdyYXBwZXJzKCkKIHZvaWQgQ1NTU3R5bGVTaGVldDo6cmVwb3J0TWVt
b3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKIHsKICAg
ICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVt
b3J5VHlwZXM6OkNTUyk7Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9jb250ZW50
cyk7Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV90aXRsZSk7Ci0gICAgaW5mby5h
ZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9tZWRpYVF1ZXJpZXMpOwotICAgIGluZm8uYWRkSW5zdHJ1
bWVudGVkTWVtYmVyKG1fb3duZXJOb2RlKTsKLSAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJl
cihtX293bmVyUnVsZSk7Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9tZWRpYUNT
U09NV3JhcHBlcik7CisgICAgaW5mby5hZGRNZW1iZXIobV9jb250ZW50cyk7CisgICAgaW5mby5h
ZGRNZW1iZXIobV90aXRsZSk7CisgICAgaW5mby5hZGRNZW1iZXIobV9tZWRpYVF1ZXJpZXMpOwor
ICAgIGluZm8uYWRkTWVtYmVyKG1fb3duZXJOb2RlKTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX293
bmVyUnVsZSk7CisgICAgaW5mby5hZGRNZW1iZXIobV9tZWRpYUNTU09NV3JhcHBlcik7CiAgICAg
aW5mby5hZGRJbnN0cnVtZW50ZWRWZWN0b3IobV9jaGlsZFJ1bGVDU1NPTVdyYXBwZXJzKTsKIH0K
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NWYWx1ZS5jcHAKaW5kZXggZjVlZjFlZjQxNzExZGI1OGFiZjgwYzNkN2Iw
M2Y0ZTU3YThiZWQ1Zi4uMGE2MTI5ZDkyYWU2NjQ3ZGQzNWQ2ODIzMTIyOThlM2NkMTJlY2E1NyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTVmFsdWUuY3BwCkBAIC04Myw3ICs4Myw3IEBAIHB1YmxpYzoKICAgICB2
b2lkIHJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlP
YmplY3RJbmZvKSBjb25zdAogICAgIHsKICAgICAgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVt
b3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9yeVR5cGVzOjpDU1MpOwotICAgICAgICBp
bmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX2Nzc1RleHQpOworICAgICAgICBpbmZvLmFkZE1l
bWJlcihtX2Nzc1RleHQpOwogICAgIH0KIAogcHJpdmF0ZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NWYXJpYWJsZVZhbHVlLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFy
aWFibGVWYWx1ZS5oCmluZGV4IGUzMmU0OGY2MjZiZmQ0ZmIxNWNkY2VlNzI0ZTdiMDJlY2QwMzJl
MTUuLjRmYzRmNzUyMzZhYzk2MWM1NTExOTdmNGU1YmI0ZjcwNzA0MGY3ODkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYXJpYWJsZVZhbHVlLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvY3NzL0NTU1ZhcmlhYmxlVmFsdWUuaApAQCAtNTEsOCArNTEsOCBAQCBwdWJsaWM6CiAgICAg
dm9pZCByZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5
T2JqZWN0SW5mbykgY29uc3QKICAgICB7CiAgICAgICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1l
bW9yeU9iamVjdEluZm8sIHRoaXMsIFdlYkNvcmVNZW1vcnlUeXBlczo6Q1NTKTsKLSAgICAgICAg
aW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9uYW1lKTsKLSAgICAgICAgaW5mby5hZGRJbnN0
cnVtZW50ZWRNZW1iZXIobV92YWx1ZSk7CisgICAgICAgIGluZm8uYWRkTWVtYmVyKG1fbmFtZSk7
CisgICAgICAgIGluZm8uYWRkTWVtYmVyKG1fdmFsdWUpOwogICAgIH0KIAogcHJpdmF0ZToKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9Gb250RmVhdHVyZVZhbHVlLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9Gb250RmVhdHVyZVZhbHVlLmNwcAppbmRleCA5NDhkMjJiNjRjNmI5NDVl
MDBmYjFmMjJkZjg1NjQ4Yjk0NTMyMDM4Li4xMDM0ZmNhOTQ0NDJiZDEzMTg0YWE3OGEzZjc2YTRj
MzVkMGZmOTJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvRm9udEZlYXR1cmVWYWx1
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0ZvbnRGZWF0dXJlVmFsdWUuY3BwCkBAIC01
Myw3ICs1Myw3IEBAIFN0cmluZyBGb250RmVhdHVyZVZhbHVlOjpjdXN0b21Dc3NUZXh0KCkgY29u
c3QKIHZvaWQgRm9udEZlYXR1cmVWYWx1ZTo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKE1l
bW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiB7CiAgICAgTWVtb3J5Q2xh
c3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9yeVR5cGVzOjpD
U1MpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fdGFnKTsKKyAgICBpbmZvLmFk
ZE1lbWJlcihtX3RhZyk7CiB9CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9G
b250VmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0ZvbnRWYWx1ZS5jcHAKaW5kZXggYWNi
MjVkMjRiNzk4ZmViM2M0NzdiYTdkYmU0MTA4NGU5NDI2MjVlMC4uMGJhMWU2ZTk4ZDRkOWM3MTNl
N2NlMTkzYzJmMzNmYWRlZjhhYTI5NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0Zv
bnRWYWx1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0ZvbnRWYWx1ZS5jcHAKQEAgLTY4
LDEyICs2OCwxMiBAQCBTdHJpbmcgRm9udFZhbHVlOjpjdXN0b21Dc3NUZXh0KCkgY29uc3QKIHZv
aWQgRm9udFZhbHVlOjpyZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5m
byogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKIHsKICAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyht
ZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6OkNTUyk7Ci0gICAgaW5m
by5hZGRJbnN0cnVtZW50ZWRNZW1iZXIoc3R5bGUpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVk
TWVtYmVyKHZhcmlhbnQpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKHdlaWdodCk7
Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIoc2l6ZSk7Ci0gICAgaW5mby5hZGRJbnN0
cnVtZW50ZWRNZW1iZXIobGluZUhlaWdodCk7Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1i
ZXIoZmFtaWx5KTsKKyAgICBpbmZvLmFkZE1lbWJlcihzdHlsZSk7CisgICAgaW5mby5hZGRNZW1i
ZXIodmFyaWFudCk7CisgICAgaW5mby5hZGRNZW1iZXIod2VpZ2h0KTsKKyAgICBpbmZvLmFkZE1l
bWJlcihzaXplKTsKKyAgICBpbmZvLmFkZE1lbWJlcihsaW5lSGVpZ2h0KTsKKyAgICBpbmZvLmFk
ZE1lbWJlcihmYW1pbHkpOwogfQogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
TWVkaWFMaXN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYUxpc3QuY3BwCmluZGV4IDc3
M2NlZWJiNTk5MjRkZmNkYzBkYzgxNDNhZTQ2ODY1ZTJjOWZlYzguLjYyOTAzZDZiMTZlNDQwMjlj
MTI4NzNjOTdhOTdhM2YxMDhmNTVkN2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9N
ZWRpYUxpc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYUxpc3QuY3BwCkBAIC0y
OTMsNyArMjkzLDcgQEAgdm9pZCBNZWRpYUxpc3Q6OnJlYXR0YWNoKE1lZGlhUXVlcnlTZXQqIG1l
ZGlhUXVlcmllcykKIHZvaWQgTWVkaWFMaXN0OjpyZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmpl
Y3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAogewogICAgIE1lbW9yeUNsYXNzSW5mbyBp
bmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIFdlYkNvcmVNZW1vcnlUeXBlczo6Q1NTKTsKLSAg
ICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX21lZGlhUXVlcmllcyk7CisgICAgaW5mby5h
ZGRNZW1iZXIobV9tZWRpYVF1ZXJpZXMpOwogfQogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvTWVkaWFRdWVyeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeS5j
cHAKaW5kZXggZGRhMTUwZmI1ODZkNmNlMDZkYmM2Njk1ZDExYTgyZDJhYjJhMTYxZC4uYTNmMjVk
NzEyZDViMTAzNDAyNzFiYzIwMDI1Yjk2NjczMTQ2MmQ2NCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvY3NzL01lZGlhUXVlcnkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1
ZXJ5LmNwcApAQCAtMTM3LDkgKzEzNyw5IEBAIFN0cmluZyBNZWRpYVF1ZXJ5Ojpjc3NUZXh0KCkg
Y29uc3QKIHZvaWQgTWVkaWFRdWVyeTo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5m
byogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKIHsKICAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyht
ZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6OkNTUyk7Ci0gICAgaW5m
by5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9tZWRpYVR5cGUpOworICAgIGluZm8uYWRkTWVtYmVy
KG1fbWVkaWFUeXBlKTsKICAgICBpbmZvLmFkZEluc3RydW1lbnRlZFZlY3RvclB0cihtX2V4cHJl
c3Npb25zKTsKLSAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX3NlcmlhbGl6YXRpb25D
YWNoZSk7CisgICAgaW5mby5hZGRNZW1iZXIobV9zZXJpYWxpemF0aW9uQ2FjaGUpOwogfQogCiB9
IC8vbmFtZXNwYWNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUV4
cC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUV4cC5jcHAKaW5kZXggNjk1Y2Uw
YmE2ZjFkZTJhODQyYTI4NWE1YTE4YzhmNDliNmFhMWRjYS4uNTMwMmQ3YjlhNWNhMmE3NjU2YWQw
N2U5ZmY1MjUzNzY5ZWVjZDE4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL01lZGlh
UXVlcnlFeHAuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5RXhwLmNwcApA
QCAtMTEyLDkgKzExMiw5IEBAIFN0cmluZyBNZWRpYVF1ZXJ5RXhwOjpzZXJpYWxpemUoKSBjb25z
dAogdm9pZCBNZWRpYVF1ZXJ5RXhwOjpyZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZv
KiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAogewogICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1l
bW9yeU9iamVjdEluZm8sIHRoaXMsIFdlYkNvcmVNZW1vcnlUeXBlczo6Q1NTKTsKLSAgICBpbmZv
LmFkZEluc3RydW1lbnRlZE1lbWJlcihtX21lZGlhRmVhdHVyZSk7Ci0gICAgaW5mby5hZGRJbnN0
cnVtZW50ZWRNZW1iZXIobV9zZXJpYWxpemF0aW9uQ2FjaGUpOwotICAgIGluZm8uYWRkSW5zdHJ1
bWVudGVkTWVtYmVyKG1fdmFsdWUpOworICAgIGluZm8uYWRkTWVtYmVyKG1fbWVkaWFGZWF0dXJl
KTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX3NlcmlhbGl6YXRpb25DYWNoZSk7CisgICAgaW5mby5h
ZGRNZW1iZXIobV92YWx1ZSk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvUHJvcGVydHlTZXRDU1NTdHlsZURlY2xhcmF0aW9uLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9Qcm9wZXJ0eVNldENTU1N0eWxlRGVjbGFyYXRpb24uY3BwCmluZGV4IDYw
OTNjZjgxNDE5ZDA3ZDZmZDI3MjhlYTQ3MjgwMmVhNTNiM2Y1OGMuLmY2ZTNkYjM5Yjc1OTgyNzE1
OWYxMmExYzBmYTdkMDA4NGFkMzEzNjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9Q
cm9wZXJ0eVNldENTU1N0eWxlRGVjbGFyYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9Qcm9wZXJ0eVNldENTU1N0eWxlRGVjbGFyYXRpb24uY3BwCkBAIC0xNzIsNyArMTcyLDcgQEAg
dm9pZCBQcm9wZXJ0eVNldENTU1N0eWxlRGVjbGFyYXRpb246OmRlcmVmKCkKIHZvaWQgUHJvcGVy
dHlTZXRDU1NTdHlsZURlY2xhcmF0aW9uOjpyZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJ
bmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAogewogICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZv
KG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIFdlYkNvcmVNZW1vcnlUeXBlczo6Q1NTKTsKLSAgICBp
bmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX3Byb3BlcnR5U2V0KTsKKyAgICBpbmZvLmFkZE1l
bWJlcihtX3Byb3BlcnR5U2V0KTsKICAgICBpZiAobV9jc3NvbUNTU1ZhbHVlQ2xvbmVzKQogICAg
ICAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1hcEVudHJpZXMoKm1fY3Nzb21DU1NWYWx1ZUNsb25l
cyk7CiB9CkBAIC00MzIsMTQgKzQzMiwxNCBAQCB2b2lkIFN0eWxlUnVsZUNTU1N0eWxlRGVjbGFy
YXRpb246OnJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iagogewog
ICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIFdlYkNvcmVN
ZW1vcnlUeXBlczo6Q1NTKTsKICAgICBQcm9wZXJ0eVNldENTU1N0eWxlRGVjbGFyYXRpb246OnJl
cG9ydE1lbW9yeVVzYWdlKG1lbW9yeU9iamVjdEluZm8pOwotICAgIGluZm8uYWRkSW5zdHJ1bWVu
dGVkTWVtYmVyKG1fcGFyZW50UnVsZSk7CisgICAgaW5mby5hZGRNZW1iZXIobV9wYXJlbnRSdWxl
KTsKIH0KIAogdm9pZCBJbmxpbmVDU1NTdHlsZURlY2xhcmF0aW9uOjpyZXBvcnRNZW1vcnlVc2Fn
ZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAogewogICAgIE1lbW9y
eUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIFdlYkNvcmVNZW1vcnlUeXBl
czo6Q1NTKTsKICAgICBQcm9wZXJ0eVNldENTU1N0eWxlRGVjbGFyYXRpb246OnJlcG9ydE1lbW9y
eVVzYWdlKG1lbW9yeU9iamVjdEluZm8pOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVy
KG1fcGFyZW50RWxlbWVudCk7CisgICAgaW5mby5hZGRNZW1iZXIobV9wYXJlbnRFbGVtZW50KTsK
IH0KIAogdm9pZCBJbmxpbmVDU1NTdHlsZURlY2xhcmF0aW9uOjpkaWRNdXRhdGUoTXV0YXRpb25U
eXBlIHR5cGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU2hhZG93VmFsdWUuY3Bw
IGIvU291cmNlL1dlYkNvcmUvY3NzL1NoYWRvd1ZhbHVlLmNwcAppbmRleCA5MGFlMTUyZmIyNGQw
NWY3Nzc4MDllNjM5MGE2OGFhMzkyZGIxYTlhLi5hNDA2NGNjMTA1ZWQ5ZDU0OWQ5NWEwYTM0Yzhk
ZTIyNmQ3NmM4MDQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU2hhZG93VmFsdWUu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TaGFkb3dWYWx1ZS5jcHAKQEAgLTgyLDEyICs4
MiwxMiBAQCBTdHJpbmcgU2hhZG93VmFsdWU6OmN1c3RvbUNzc1RleHQoKSBjb25zdAogdm9pZCBT
aGFkb3dWYWx1ZTo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8q
IG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiB7CiAgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVt
b3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9yeVR5cGVzOjpDU1MpOwotICAgIGluZm8u
YWRkSW5zdHJ1bWVudGVkTWVtYmVyKHgpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVy
KHkpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKGJsdXIpOwotICAgIGluZm8uYWRk
SW5zdHJ1bWVudGVkTWVtYmVyKHNwcmVhZCk7Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1i
ZXIoc3R5bGUpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKGNvbG9yKTsKKyAgICBp
bmZvLmFkZE1lbWJlcih4KTsKKyAgICBpbmZvLmFkZE1lbWJlcih5KTsKKyAgICBpbmZvLmFkZE1l
bWJlcihibHVyKTsKKyAgICBpbmZvLmFkZE1lbWJlcihzcHJlYWQpOworICAgIGluZm8uYWRkTWVt
YmVyKHN0eWxlKTsKKyAgICBpbmZvLmFkZE1lbWJlcihjb2xvcik7CiB9CiAKIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVByb3BlcnR5U2V0LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9TdHlsZVByb3BlcnR5U2V0LmNwcAppbmRleCBkMGYwZmFiMmExYmQzNTE5NTczNTBm
Mjc5OWRhOGQ0NDA3YzgzYjAyLi42ZTNjMGZkZTk2ZDI4YzNhMDY1MjZkYTk5ZjFiMzA2YWU1NGFl
ZTYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVQcm9wZXJ0eVNldC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUHJvcGVydHlTZXQuY3BwCkBAIC0xMTI3LDcg
KzExMjcsNyBAQCB2b2lkIFN0eWxlUHJvcGVydHlTZXQ6OnJlcG9ydE1lbW9yeVVzYWdlKE1lbW9y
eU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbgogCiAgICAgdW5zaWduZWQgY291bnQg
PSBwcm9wZXJ0eUNvdW50KCk7CiAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGNvdW50OyAr
K2kpCi0gICAgICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKHByb3BlcnR5QXQoaSkpOwor
ICAgICAgICBpbmZvLmFkZE1lbWJlcihwcm9wZXJ0eUF0KGkpKTsKIH0KIAogLy8gU2VlIHRoZSBm
dW5jdGlvbiBhYm92ZSBpZiB5b3UgbmVlZCB0byB1cGRhdGUgdGhpcy4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9T
dHlsZVJlc29sdmVyLmNwcAppbmRleCBlNTE5N2E0ZGM2MzdlZWRkOGEyZWNjZDBiMmMzYWQ0Zjg2
NjUyYmNhLi41MTdiZGI2YjJlMGY2YTA3MmI2YzkwMTlkY2FiMTg4ZDFkY2RlZTk1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3BwCkBAIC0yNTg2LDcgKzI1ODYsNyBAQCB2b2lkIFJ1
bGVTZXQ6OnJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdElu
Zm8pIGNvbnN0CiB2b2lkIFJ1bGVTZXQ6OlJ1bGVTZXRTZWxlY3RvclBhaXI6OnJlcG9ydE1lbW9y
eVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiB7CiAgICAg
TWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9y
eVR5cGVzOjpDU1MpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKHJ1bGVTZXQpOwor
ICAgIGluZm8uYWRkTWVtYmVyKHJ1bGVTZXQpOwogfQogCiBzdGF0aWMgaW5saW5lIHZvaWQgY29s
bGVjdEZlYXR1cmVzRnJvbVNlbGVjdG9yKFN0eWxlUmVzb2x2ZXI6OkZlYXR1cmVzJiBmZWF0dXJl
cywgY29uc3QgQ1NTU2VsZWN0b3IqIHNlbGVjdG9yKQpAQCAtNTc1OSw3ICs1NzU5LDcgQEAgdm9p
ZCBTdHlsZVJlc29sdmVyOjpsb2FkUGVuZGluZ1Jlc291cmNlcygpCiB2b2lkIFN0eWxlUmVzb2x2
ZXI6Ok1hdGNoZWRQcm9wZXJ0aWVzOjpyZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZv
KiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAogewogICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1l
bW9yeU9iamVjdEluZm8sIHRoaXMsIFdlYkNvcmVNZW1vcnlUeXBlczo6Q1NTKTsKLSAgICBpbmZv
LmFkZEluc3RydW1lbnRlZE1lbWJlcihwcm9wZXJ0aWVzKTsKKyAgICBpbmZvLmFkZE1lbWJlcihw
cm9wZXJ0aWVzKTsKIH0KIAogdm9pZCBTdHlsZVJlc29sdmVyOjpNYXRjaGVkUHJvcGVydGllc0Nh
Y2hlSXRlbTo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0
SW5mbykgY29uc3QKQEAgLTU3NzEsMjYgKzU3NzEsMjYgQEAgdm9pZCBTdHlsZVJlc29sdmVyOjpN
YXRjaGVkUHJvcGVydGllc0NhY2hlSXRlbTo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0
SW4KIHZvaWQgTWVkaWFRdWVyeVJlc3VsdDo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0
SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKIHsKICAgICBNZW1vcnlDbGFzc0luZm8gaW5m
byhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6OkNTUyk7Ci0gICAg
aW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9leHByZXNzaW9uKTsKKyAgICBpbmZvLmFkZE1l
bWJlcihtX2V4cHJlc3Npb24pOwogfQogCiB2b2lkIFN0eWxlUmVzb2x2ZXI6OnJlcG9ydE1lbW9y
eVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiB7CiAgICAg
TWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9y
eVR5cGVzOjpDU1MpOwogICAgIGluZm8uYWRkTWVtYmVyKG1fc3R5bGUpOwotICAgIGluZm8uYWRk
SW5zdHJ1bWVudGVkTWVtYmVyKG1fYXV0aG9yU3R5bGUpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVu
dGVkTWVtYmVyKG1fdXNlclN0eWxlKTsKLSAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlciht
X3NpYmxpbmdSdWxlU2V0KTsKLSAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX3VuY29t
bW9uQXR0cmlidXRlUnVsZVNldCk7CisgICAgaW5mby5hZGRNZW1iZXIobV9hdXRob3JTdHlsZSk7
CisgICAgaW5mby5hZGRNZW1iZXIobV91c2VyU3R5bGUpOworICAgIGluZm8uYWRkTWVtYmVyKG1f
c2libGluZ1J1bGVTZXQpOworICAgIGluZm8uYWRkTWVtYmVyKG1fdW5jb21tb25BdHRyaWJ1dGVS
dWxlU2V0KTsKICAgICBpbmZvLmFkZEhhc2hNYXAobV9rZXlmcmFtZXNSdWxlTWFwKTsKICAgICBp
bmZvLmFkZEhhc2hNYXAobV9tYXRjaGVkUHJvcGVydGllc0NhY2hlKTsKICAgICBpbmZvLmFkZElu
c3RydW1lbnRlZE1hcFZhbHVlcyhtX21hdGNoZWRQcm9wZXJ0aWVzQ2FjaGUpOwogICAgIGluZm8u
YWRkVmVjdG9yKG1fbWF0Y2hlZFJ1bGVzKTsKIAotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVt
YmVyKG1fcnVsZUxpc3QpOworICAgIGluZm8uYWRkTWVtYmVyKG1fcnVsZUxpc3QpOwogICAgIGlu
Zm8uYWRkSGFzaE1hcChtX3BlbmRpbmdJbWFnZVByb3BlcnRpZXMpOwogICAgIGluZm8uYWRkSW5z
dHJ1bWVudGVkTWFwVmFsdWVzKG1fcGVuZGluZ0ltYWdlUHJvcGVydGllcyk7Ci0gICAgaW5mby5h
ZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9saW5lSGVpZ2h0VmFsdWUpOworICAgIGluZm8uYWRkTWVt
YmVyKG1fbGluZUhlaWdodFZhbHVlKTsKICAgICBpbmZvLmFkZEluc3RydW1lbnRlZFZlY3Rvciht
X3ZpZXdwb3J0RGVwZW5kZW50TWVkaWFRdWVyeVJlc3VsdHMpOwogICAgIGluZm8uYWRkSGFzaE1h
cChtX3N0eWxlUnVsZVRvQ1NTT01XcmFwcGVyTWFwKTsKICAgICBpbmZvLmFkZEluc3RydW1lbnRl
ZE1hcEVudHJpZXMobV9zdHlsZVJ1bGVUb0NTU09NV3JhcHBlck1hcCk7CkBAIC01ODA1LDEwICs1
ODA1LDEwIEBAIHZvaWQgU3R5bGVSZXNvbHZlcjo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2Jq
ZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKICNlbmRpZgogCiAgICAgLy8gRklYTUU6
IG1vdmUgdGhpcyB0byBhIHBsYWNlIHdoZXJlIGl0IHdvdWxkIGJlIGNhbGxlZCBvbmx5IG9uY2U/
Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIoZGVmYXVsdFN0eWxlKTsKLSAgICBpbmZv
LmFkZEluc3RydW1lbnRlZE1lbWJlcihkZWZhdWx0UXVpcmtzU3R5bGUpOwotICAgIGluZm8uYWRk
SW5zdHJ1bWVudGVkTWVtYmVyKGRlZmF1bHRQcmludFN0eWxlKTsKLSAgICBpbmZvLmFkZEluc3Ry
dW1lbnRlZE1lbWJlcihkZWZhdWx0Vmlld1NvdXJjZVN0eWxlKTsKKyAgICBpbmZvLmFkZE1lbWJl
cihkZWZhdWx0U3R5bGUpOworICAgIGluZm8uYWRkTWVtYmVyKGRlZmF1bHRRdWlya3NTdHlsZSk7
CisgICAgaW5mby5hZGRNZW1iZXIoZGVmYXVsdFByaW50U3R5bGUpOworICAgIGluZm8uYWRkTWVt
YmVyKGRlZmF1bHRWaWV3U291cmNlU3R5bGUpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSdWxlLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9TdHlsZVJ1bGUuY3BwCmluZGV4IDY4NDdjMTZiOTcwZmFlNWY1MTgyMGVkN2Fm
NWQ3MGYyM2VmN2Y3ZGUuLjU5ZWQ5ZTU4ZjBhN2Y3YzkwY2ZmMzJiM2ZiNWI0ODhjZmJjOGExYjQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGUuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGUuY3BwCkBAIC0yMDksOCArMjA5LDggQEAgdW5zaWduZWQg
U3R5bGVSdWxlOjphdmVyYWdlU2l6ZUluQnl0ZXMoKQogdm9pZCBTdHlsZVJ1bGU6OnJlcG9ydERl
c2NlbmRhbnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBj
b25zdAogewogICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMs
IFdlYkNvcmVNZW1vcnlUeXBlczo6Q1NTKTsKLSAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJl
cihtX3Byb3BlcnRpZXMpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fc2VsZWN0
b3JMaXN0KTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX3Byb3BlcnRpZXMpOworICAgIGluZm8uYWRk
TWVtYmVyKG1fc2VsZWN0b3JMaXN0KTsKIH0KIAogU3R5bGVSdWxlOjpTdHlsZVJ1bGUoaW50IHNv
dXJjZUxpbmUpCkBAIC0yNzIsOCArMjcyLDggQEAgdm9pZCBTdHlsZVJ1bGVQYWdlOjpzZXRQcm9w
ZXJ0aWVzKFBhc3NSZWZQdHI8U3R5bGVQcm9wZXJ0eVNldD4gcHJvcGVydGllcykKIHZvaWQgU3R5
bGVSdWxlUGFnZTo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8q
IG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiB7CiAgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVt
b3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9yeVR5cGVzOjpDU1MpOwotICAgIGluZm8u
YWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fcHJvcGVydGllcyk7Ci0gICAgaW5mby5hZGRJbnN0cnVt
ZW50ZWRNZW1iZXIobV9zZWxlY3Rvckxpc3QpOworICAgIGluZm8uYWRkTWVtYmVyKG1fcHJvcGVy
dGllcyk7CisgICAgaW5mby5hZGRNZW1iZXIobV9zZWxlY3Rvckxpc3QpOwogfQogCiBTdHlsZVJ1
bGVGb250RmFjZTo6U3R5bGVSdWxlRm9udEZhY2UoKQpAQCAtMzA2LDcgKzMwNiw3IEBAIHZvaWQg
U3R5bGVSdWxlRm9udEZhY2U6OnNldFByb3BlcnRpZXMoUGFzc1JlZlB0cjxTdHlsZVByb3BlcnR5
U2V0PiBwcm9wZXJ0aWVzKQogdm9pZCBTdHlsZVJ1bGVGb250RmFjZTo6cmVwb3J0RGVzY2VuZGFu
dE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiB7
CiAgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29y
ZU1lbW9yeVR5cGVzOjpDU1MpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fcHJv
cGVydGllcyk7CisgICAgaW5mby5hZGRNZW1iZXIobV9wcm9wZXJ0aWVzKTsKIH0KIAogCkBAIC0z
NTYsNyArMzU2LDcgQEAgU3R5bGVSdWxlTWVkaWE6OlN0eWxlUnVsZU1lZGlhKGNvbnN0IFN0eWxl
UnVsZU1lZGlhJiBvKQogdm9pZCBTdHlsZVJ1bGVNZWRpYTo6cmVwb3J0RGVzY2VuZGFudE1lbW9y
eVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiB7CiAgICAg
TWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9y
eVR5cGVzOjpDU1MpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fbWVkaWFRdWVy
aWVzKTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX21lZGlhUXVlcmllcyk7CiB9CiAKIFN0eWxlUnVs
ZVJlZ2lvbjo6U3R5bGVSdWxlUmVnaW9uKENTU1NlbGVjdG9yVmVjdG9yKiBzZWxlY3RvcnMsIFZl
Y3RvcjxSZWZQdHI8U3R5bGVSdWxlQmFzZT4gPiYgYWRvcHRSdWxlcykKQEAgLTM3NCw3ICszNzQs
NyBAQCBTdHlsZVJ1bGVSZWdpb246OlN0eWxlUnVsZVJlZ2lvbihjb25zdCBTdHlsZVJ1bGVSZWdp
b24mIG8pCiB2b2lkIFN0eWxlUnVsZVJlZ2lvbjo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdl
KE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiB7CiAgICAgTWVtb3J5
Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9yeVR5cGVz
OjpDU1MpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fc2VsZWN0b3JMaXN0KTsK
KyAgICBpbmZvLmFkZE1lbWJlcihtX3NlbGVjdG9yTGlzdCk7CiB9CiAKIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGVJbXBvcnQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUnVsZUltcG9ydC5jcHAKaW5kZXggODhkNDBh
NzMwOWJhOTIyYmQ3OGEyZDlhOGYyM2RiYjQ2YmUzNWI3OC4uMjZmMjllODJmODBhOWZmNTFkYWNl
NTcwZDhmNDdlOTM4YWU1ZGUwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxl
UnVsZUltcG9ydC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUnVsZUltcG9ydC5j
cHAKQEAgLTEzNCw5ICsxMzQsOSBAQCB2b2lkIFN0eWxlUnVsZUltcG9ydDo6cmVxdWVzdFN0eWxl
U2hlZXQoKQogdm9pZCBTdHlsZVJ1bGVJbXBvcnQ6OnJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2Fn
ZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAogewogICAgIE1lbW9y
eUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIFdlYkNvcmVNZW1vcnlUeXBl
czo6Q1NTKTsKLSAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX3N0ckhyZWYpOwotICAg
IGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fbWVkaWFRdWVyaWVzKTsKLSAgICBpbmZvLmFk
ZEluc3RydW1lbnRlZE1lbWJlcihtX3N0eWxlU2hlZXQpOworICAgIGluZm8uYWRkTWVtYmVyKG1f
c3RySHJlZik7CisgICAgaW5mby5hZGRNZW1iZXIobV9tZWRpYVF1ZXJpZXMpOworICAgIGluZm8u
YWRkTWVtYmVyKG1fc3R5bGVTaGVldCk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVNoZWV0Q29udGVudHMuY3BwIGIvU291
cmNlL1dlYkNvcmUvY3NzL1N0eWxlU2hlZXRDb250ZW50cy5jcHAKaW5kZXggNWVkZmQ4OTY0ODBj
ZTVmM2U2OTExMmZlZDhhYzdlYmUxYzIwZjkwOS4uMDQ4MjczYmVjMTc4M2RiMjUyNzdiMjJlMmVm
NDNkYzY4OTYxN2FkZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlU2hlZXRD
b250ZW50cy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlU2hlZXRDb250ZW50cy5j
cHAKQEAgLTQ4Nyw4ICs0ODcsOCBAQCB2b2lkIFN0eWxlU2hlZXRDb250ZW50czo6cmVtb3ZlZEZy
b21NZW1vcnlDYWNoZSgpCiB2b2lkIFN0eWxlU2hlZXRDb250ZW50czo6cmVwb3J0TWVtb3J5VXNh
Z2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKIHsKICAgICBNZW1v
cnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlw
ZXM6OkNTUyk7Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9vcmlnaW5hbFVSTCk7
Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9lbmNvZGluZ0Zyb21DaGFyc2V0UnVs
ZSk7CisgICAgaW5mby5hZGRNZW1iZXIobV9vcmlnaW5hbFVSTCk7CisgICAgaW5mby5hZGRNZW1i
ZXIobV9lbmNvZGluZ0Zyb21DaGFyc2V0UnVsZSk7CiAgICAgaW5mby5hZGRWZWN0b3IobV9pbXBv
cnRSdWxlcyk7CiAgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRWZWN0b3IobV9jaGlsZFJ1bGVzKTsK
ICAgICBpbmZvLmFkZEhhc2hNYXAobV9uYW1lc3BhY2VzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9XZWJLaXRDU1NLZXlmcmFtZVJ1bGUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3Nz
L1dlYktpdENTU0tleWZyYW1lUnVsZS5jcHAKaW5kZXggYmYzYjg2OTViN2MzNjcxZDk3MjA5YzNl
M2VjZjcxZTcyNmM0YmNhZi4uOGFjYjU0OTc5YTYxYTAwZWRkZjI5ZDQ2ODkyMzFlYTBlNWEzODg3
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU0tleWZyYW1lUnVsZS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU0tleWZyYW1lUnVsZS5jcHAKQEAg
LTkyLDggKzkyLDggQEAgU3RyaW5nIFN0eWxlS2V5ZnJhbWU6OmNzc1RleHQoKSBjb25zdAogdm9p
ZCBTdHlsZUtleWZyYW1lOjpyZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1v
cnlPYmplY3RJbmZvKSBjb25zdAogewogICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9i
amVjdEluZm8sIHRoaXMsIFdlYkNvcmVNZW1vcnlUeXBlczo6Q1NTKTsKLSAgICBpbmZvLmFkZElu
c3RydW1lbnRlZE1lbWJlcihtX3Byb3BlcnRpZXMpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVk
TWVtYmVyKG1fa2V5KTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX3Byb3BlcnRpZXMpOworICAgIGlu
Zm8uYWRkTWVtYmVyKG1fa2V5KTsKIH0KIAogV2ViS2l0Q1NTS2V5ZnJhbWVSdWxlOjpXZWJLaXRD
U1NLZXlmcmFtZVJ1bGUoU3R5bGVLZXlmcmFtZSoga2V5ZnJhbWUsIFdlYktpdENTU0tleWZyYW1l
c1J1bGUqIHBhcmVudCkKQEAgLTEyMCw4ICsxMjAsOCBAQCB2b2lkIFdlYktpdENTU0tleWZyYW1l
UnVsZTo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9y
eQogewogICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIFdl
YkNvcmVNZW1vcnlUeXBlczo6Q1NTKTsKICAgICBDU1NSdWxlOjpyZXBvcnRCYXNlQ2xhc3NNZW1v
cnlVc2FnZShtZW1vcnlPYmplY3RJbmZvKTsKLSAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJl
cihtX2tleWZyYW1lKTsKLSAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX3Byb3BlcnRp
ZXNDU1NPTVdyYXBwZXIpOworICAgIGluZm8uYWRkTWVtYmVyKG1fa2V5ZnJhbWUpOworICAgIGlu
Zm8uYWRkTWVtYmVyKG1fcHJvcGVydGllc0NTU09NV3JhcHBlcik7CiB9CiAKIH0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NLZXlm
cmFtZXNSdWxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NLZXlmcmFtZXNSdWxl
LmNwcAppbmRleCBmOGQwODA3OGRkN2JjMDRhNTk3MDE1ZWRlN2VmMDJiYTE5MmQxYWE4Li5hMjk5
MWE4MThmNTBmZmY0ZDViNGUwOWJkNDMyOWI4YTMxYjg1MDFlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvV2ViS2l0Q1NTS2V5ZnJhbWVzUnVsZS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvY3NzL1dlYktpdENTU0tleWZyYW1lc1J1bGUuY3BwCkBAIC05MSw3ICs5MSw3IEBAIHZvaWQg
U3R5bGVSdWxlS2V5ZnJhbWVzOjpyZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2UoTWVtb3J5T2Jq
ZWN0SW5mbyogbWVtb3J5T2JqCiB7CiAgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2Jq
ZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9yeVR5cGVzOjpDU1MpOwogICAgIGluZm8uYWRkSW5z
dHJ1bWVudGVkVmVjdG9yKG1fa2V5ZnJhbWVzKTsKLSAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1l
bWJlcihtX25hbWUpOworICAgIGluZm8uYWRkTWVtYmVyKG1fbmFtZSk7CiB9CiAKIFdlYktpdENT
U0tleWZyYW1lc1J1bGU6OldlYktpdENTU0tleWZyYW1lc1J1bGUoU3R5bGVSdWxlS2V5ZnJhbWVz
KiBrZXlmcmFtZXNSdWxlLCBDU1NTdHlsZVNoZWV0KiBwYXJlbnQpCkBAIC0yMTAsOSArMjEwLDkg
QEAgdm9pZCBXZWJLaXRDU1NLZXlmcmFtZXNSdWxlOjpyZXBvcnREZXNjZW5kYW50TWVtb3J5VXNh
Z2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3IKIHsKICAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyht
ZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6OkNTUyk7CiAgICAgQ1NT
UnVsZTo6cmVwb3J0QmFzZUNsYXNzTWVtb3J5VXNhZ2UobWVtb3J5T2JqZWN0SW5mbyk7Ci0gICAg
aW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9rZXlmcmFtZXNSdWxlKTsKKyAgICBpbmZvLmFk
ZE1lbWJlcihtX2tleWZyYW1lc1J1bGUpOwogICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkVmVjdG9y
KG1fY2hpbGRSdWxlQ1NTT01XcmFwcGVycyk7Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1i
ZXIobV9ydWxlTGlzdENTU09NV3JhcHBlcik7CisgICAgaW5mby5hZGRNZW1iZXIobV9ydWxlTGlz
dENTU09NV3JhcHBlcik7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NSZWdpb25SdWxlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9XZWJLaXRDU1NSZWdpb25SdWxlLmNwcAppbmRleCBlNjQ4MzJmNmIyYzI4Nzk4M2Ni
NTJmNjliYTU4N2Q3ZTViYzdjYjk5Li41YzJjNzIxY2Q2ODU0YWQzOTIxYWM1NjM5MTg1ZjZhOTY4
OTEzYzMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTUmVnaW9uUnVs
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU1JlZ2lvblJ1bGUuY3BwCkBA
IC0xMTIsOSArMTEyLDkgQEAgdm9pZCBXZWJLaXRDU1NSZWdpb25SdWxlOjpyZXBvcnREZXNjZW5k
YW50TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2IKIHsKICAgICBNZW1vcnlD
bGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6
OkNTUyk7CiAgICAgQ1NTUnVsZTo6cmVwb3J0QmFzZUNsYXNzTWVtb3J5VXNhZ2UobWVtb3J5T2Jq
ZWN0SW5mbyk7Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9yZWdpb25SdWxlKTsK
KyAgICBpbmZvLmFkZE1lbWJlcihtX3JlZ2lvblJ1bGUpOwogICAgIGluZm8uYWRkSW5zdHJ1bWVu
dGVkVmVjdG9yKG1fY2hpbGRSdWxlQ1NTT01XcmFwcGVycyk7Ci0gICAgaW5mby5hZGRJbnN0cnVt
ZW50ZWRNZW1iZXIobV9ydWxlTGlzdENTU09NV3JhcHBlcik7CisgICAgaW5mby5hZGRNZW1iZXIo
bV9ydWxlTGlzdENTU09NV3JhcHBlcik7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NTVkdEb2N1bWVudFZhbHVlLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NTVkdEb2N1bWVudFZhbHVlLmNwcAppbmRl
eCBlMTMzYzkyMjFiYzRlMWJiOGJlNjBhMTg3MmM5OTMwNGMzMWZmMjkzLi40NGM4ODA4OTQ3MGU4
MzlkOTc0ZWJhMDFjYzA2ZjdkOTIwYzE4MTIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvV2ViS2l0Q1NTU1ZHRG9jdW1lbnRWYWx1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3Nz
L1dlYktpdENTU1NWR0RvY3VtZW50VmFsdWUuY3BwCkBAIC02Nyw3ICs2Nyw3IEBAIFN0cmluZyBX
ZWJLaXRDU1NTVkdEb2N1bWVudFZhbHVlOjpjdXN0b21Dc3NUZXh0KCkgY29uc3QKIHZvaWQgV2Vi
S2l0Q1NTU1ZHRG9jdW1lbnRWYWx1ZTo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKE1lbW9y
eU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiB7CiAgICAgTWVtb3J5Q2xhc3NJ
bmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9yeVR5cGVzOjpDU1Mp
OwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fdXJsKTsKKyAgICBpbmZvLmFkZE1l
bWJlcihtX3VybCk7CiAgICAgLy8gRklYTUU6IGFkZCBtX2RvY3VtZW50IHdoZW4gY2FjaGVkIHJl
c291cmNlcyBhcmUgaW5zdHJ1bWVudGVkLgogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvV2ViS2l0Q1NTU2hhZGVyVmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL1dlYktp
dENTU1NoYWRlclZhbHVlLmNwcAppbmRleCAyMzI2OTk5YjAxODYzNGRkYzRlNjZmOGE4NGQ1NTVj
MjgwZjM5OTk0Li42ZjkzNzNlMGYwZmEyZGY4YmY0OTQyODFiNWMyZDg3NzI5YWJiOTYxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTU2hhZGVyVmFsdWUuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NTaGFkZXJWYWx1ZS5jcHAKQEAgLTgzLDcgKzgz
LDcgQEAgU3RyaW5nIFdlYktpdENTU1NoYWRlclZhbHVlOjpjdXN0b21Dc3NUZXh0KCkgY29uc3QK
IHZvaWQgV2ViS2l0Q1NTU2hhZGVyVmFsdWU6OnJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZShN
ZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAogewogICAgIE1lbW9yeUNs
YXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIFdlYkNvcmVNZW1vcnlUeXBlczo6
Q1NTKTsKLSAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX3VybCk7CisgICAgaW5mby5h
ZGRNZW1iZXIobV91cmwpOwogfQogICAgIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0F0dHJpYnV0ZS5oIGIvU291cmNlL1dlYkNvcmUvZG9t
L0F0dHJpYnV0ZS5oCmluZGV4IGFkYjE4YTU4OWVlMTQxMjM5MzI1NzMyZmYzOGI1ODcwNmI4NmRi
MzkuLjgzMjhhNzgzNzg1YjM5MjY0OTU1MDhlY2IzMmIyZGZjNjRjZDlkZGEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9BdHRyaWJ1dGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20v
QXR0cmlidXRlLmgKQEAgLTcxLDggKzcxLDggQEAgcHVibGljOgogICAgIHZvaWQgcmVwb3J0TWVt
b3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKICAgICB7
CiAgICAgICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIFdl
YkNvcmVNZW1vcnlUeXBlczo6RE9NKTsKLSAgICAgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1i
ZXIobV9uYW1lKTsKLSAgICAgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV92YWx1ZSk7
CisgICAgICAgIGluZm8uYWRkTWVtYmVyKG1fbmFtZSk7CisgICAgICAgIGluZm8uYWRkTWVtYmVy
KG1fdmFsdWUpOwogICAgIH0KIAogcHJpdmF0ZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9DaGFyYWN0ZXJEYXRhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9DaGFyYWN0ZXJEYXRh
LmNwcAppbmRleCAzOTBkZTE4MjEyMGFjYTg1ZmEwOWUyYTNlY2FkZTE5NTI0NWE5NjU5Li45YTU0
YTc0Y2QwYWEyYTgzOTA4YzkwNzhhNTllOWQ5YzAxNzU3NmZkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vQ2hhcmFjdGVyRGF0YS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0No
YXJhY3RlckRhdGEuY3BwCkBAIC05OCw3ICs5OCw3IEBAIHZvaWQgQ2hhcmFjdGVyRGF0YTo6cmVw
b3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QK
IHsKICAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBXZWJD
b3JlTWVtb3J5VHlwZXM6OkRPTSk7CiAgICAgTm9kZTo6cmVwb3J0TWVtb3J5VXNhZ2UobWVtb3J5
T2JqZWN0SW5mbyk7Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9kYXRhKTsKKyAg
ICBpbmZvLmFkZE1lbWJlcihtX2RhdGEpOwogfQogCiB2b2lkIENoYXJhY3RlckRhdGE6OmFwcGVu
ZERhdGEoY29uc3QgU3RyaW5nJiBkYXRhLCBFeGNlcHRpb25Db2RlJikKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9Db250YWluZXJOb2RlLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vQ29u
dGFpbmVyTm9kZS5oCmluZGV4IDIxOWRjNzJiY2NmNjA2N2JjODZlODQwYTBkNWJjODFlZWY4ZTcx
OTQuLmY5ZWMzNzc5OGM5NGZjYmRiZTQwYWQ2ODE3N2VkMDk4NDNiNDFkYjggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9Db250YWluZXJOb2RlLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
ZG9tL0NvbnRhaW5lck5vZGUuaApAQCAtMTA1LDggKzEwNSw4IEBAIHB1YmxpYzoKICAgICB7CiAg
ICAgICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIFdlYkNv
cmVNZW1vcnlUeXBlczo6RE9NKTsKICAgICAgICAgTm9kZTo6cmVwb3J0TWVtb3J5VXNhZ2UobWVt
b3J5T2JqZWN0SW5mbyk7Ci0gICAgICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fZmly
c3RDaGlsZCk7Ci0gICAgICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fbGFzdENoaWxk
KTsKKyAgICAgICAgaW5mby5hZGRNZW1iZXIobV9maXJzdENoaWxkKTsKKyAgICAgICAgaW5mby5h
ZGRNZW1iZXIobV9sYXN0Q2hpbGQpOwogICAgIH0KIAogcHJvdGVjdGVkOgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1
bWVudC5jcHAKaW5kZXggYjdhZmQ2YTI0ODY2MjRmYTIwZTc2Nzk5ZjAyODY1ODE5OGIzYTc4Yi4u
Y2UxM2RjMzk2MDM3MTg2ZjllOTc5MDRiZGYyMTcyNDM2ZTk3YmVhMSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9j
dW1lbnQuY3BwCkBAIC02MjUwLDIxICs2MjUwLDIxIEBAIHZvaWQgRG9jdW1lbnQ6OnVwZGF0ZUhv
dmVyQWN0aXZlU3RhdGUoY29uc3QgSGl0VGVzdFJlcXVlc3QmIHJlcXVlc3QsIEhpdFRlc3RSZXN1
CiB2b2lkIERvY3VtZW50OjpyZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1v
cnlPYmplY3RJbmZvKSBjb25zdAogewogICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9i
amVjdEluZm8sIHRoaXMsIFdlYkNvcmVNZW1vcnlUeXBlczo6RE9NKTsKLSAgICBpbmZvLmFkZElu
c3RydW1lbnRlZE1lbWJlcihtX3N0eWxlUmVzb2x2ZXIpOworICAgIGluZm8uYWRkTWVtYmVyKG1f
c3R5bGVSZXNvbHZlcik7CiAgICAgQ29udGFpbmVyTm9kZTo6cmVwb3J0TWVtb3J5VXNhZ2UobWVt
b3J5T2JqZWN0SW5mbyk7CiAgICAgaW5mby5hZGRWZWN0b3IobV9jdXN0b21Gb250cyk7Ci0gICAg
aW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV91cmwpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVu
dGVkTWVtYmVyKG1fYmFzZVVSTCk7Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9i
YXNlVVJMT3ZlcnJpZGUpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fYmFzZUVs
ZW1lbnRVUkwpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fY29va2llVVJMKTsK
LSAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX2ZpcnN0UGFydHlGb3JDb29raWVzKTsK
LSAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX2RvY3VtZW50VVJJKTsKLSAgICBpbmZv
LmFkZEluc3RydW1lbnRlZE1lbWJlcihtX2Jhc2VUYXJnZXQpOwotICAgIGluZm8uYWRkSW5zdHJ1
bWVudGVkTWVtYmVyKG1fZnJhbWUpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1f
Y2FjaGVkUmVzb3VyY2VMb2FkZXIpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1f
ZWxlbVNoZWV0KTsKLSAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX3BhZ2VVc2VyU2hl
ZXQpOworICAgIGluZm8uYWRkTWVtYmVyKG1fdXJsKTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX2Jh
c2VVUkwpOworICAgIGluZm8uYWRkTWVtYmVyKG1fYmFzZVVSTE92ZXJyaWRlKTsKKyAgICBpbmZv
LmFkZE1lbWJlcihtX2Jhc2VFbGVtZW50VVJMKTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX2Nvb2tp
ZVVSTCk7CisgICAgaW5mby5hZGRNZW1iZXIobV9maXJzdFBhcnR5Rm9yQ29va2llcyk7CisgICAg
aW5mby5hZGRNZW1iZXIobV9kb2N1bWVudFVSSSk7CisgICAgaW5mby5hZGRNZW1iZXIobV9iYXNl
VGFyZ2V0KTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX2ZyYW1lKTsKKyAgICBpbmZvLmFkZE1lbWJl
cihtX2NhY2hlZFJlc291cmNlTG9hZGVyKTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX2VsZW1TaGVl
dCk7CisgICAgaW5mby5hZGRNZW1iZXIobV9wYWdlVXNlclNoZWV0KTsKICAgICBpZiAobV9wYWdl
R3JvdXBVc2VyU2hlZXRzKQogICAgICAgICBpbmZvLmFkZEluc3RydW1lbnRlZFZlY3RvclB0ciht
X3BhZ2VHcm91cFVzZXJTaGVldHMpOwogICAgIGlmIChtX3VzZXJTaGVldHMpCkBAIC02MjcyLDEz
ICs2MjcyLDEzIEBAIHZvaWQgRG9jdW1lbnQ6OnJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVj
dEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiAgICAgaW5mby5hZGRIYXNoU2V0KG1fbm9k
ZUl0ZXJhdG9ycyk7CiAgICAgaW5mby5hZGRIYXNoU2V0KG1fcmFuZ2VzKTsKICAgICBpbmZvLmFk
ZExpc3RIYXNoU2V0KG1fc3R5bGVTaGVldENhbmRpZGF0ZU5vZGVzKTsKLSAgICBpbmZvLmFkZElu
c3RydW1lbnRlZE1lbWJlcihtX3ByZWZlcnJlZFN0eWxlc2hlZXRTZXQpOwotICAgIGluZm8uYWRk
SW5zdHJ1bWVudGVkTWVtYmVyKG1fc2VsZWN0ZWRTdHlsZXNoZWV0U2V0KTsKLSAgICBpbmZvLmFk
ZEluc3RydW1lbnRlZE1lbWJlcihtX3RpdGxlLnN0cmluZygpKTsKLSAgICBpbmZvLmFkZEluc3Ry
dW1lbnRlZE1lbWJlcihtX3Jhd1RpdGxlLnN0cmluZygpKTsKLSAgICBpbmZvLmFkZEluc3RydW1l
bnRlZE1lbWJlcihtX3htbEVuY29kaW5nKTsKLSAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJl
cihtX3htbFZlcnNpb24pOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fY29udGVu
dExhbmd1YWdlKTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX3ByZWZlcnJlZFN0eWxlc2hlZXRTZXQp
OworICAgIGluZm8uYWRkTWVtYmVyKG1fc2VsZWN0ZWRTdHlsZXNoZWV0U2V0KTsKKyAgICBpbmZv
LmFkZE1lbWJlcihtX3RpdGxlLnN0cmluZygpKTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX3Jhd1Rp
dGxlLnN0cmluZygpKTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX3htbEVuY29kaW5nKTsKKyAgICBp
bmZvLmFkZE1lbWJlcihtX3htbFZlcnNpb24pOworICAgIGluZm8uYWRkTWVtYmVyKG1fY29udGVu
dExhbmd1YWdlKTsKICAgICBpbmZvLmFkZEhhc2hNYXAobV9kb2N1bWVudE5hbWVkSXRlbUNvbGxl
Y3Rpb25zKTsKICAgICBpbmZvLmFkZEhhc2hNYXAobV93aW5kb3dOYW1lZEl0ZW1Db2xsZWN0aW9u
cyk7CiAjaWYgRU5BQkxFKERBU0hCT0FSRF9TVVBQT1JUKQpAQCAtNjI5MCw3ICs2MjkwLDcgQEAg
dm9pZCBEb2N1bWVudDo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5
T2JqZWN0SW5mbykgY29uc3QKICAgICBpbmZvLmFkZEhhc2hTZXQobV9tZWRpYVZvbHVtZUNhbGxi
YWNrRWxlbWVudHMpOwogICAgIGluZm8uYWRkSGFzaFNldChtX3ByaXZhdGVCcm93c2luZ1N0YXRl
Q2hhbmdlZEVsZW1lbnRzKTsKICAgICBpbmZvLmFkZEhhc2hNYXAobV9lbGVtZW50c0J5QWNjZXNz
S2V5KTsKLSAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX2V2ZW50UXVldWUpOworICAg
IGluZm8uYWRkTWVtYmVyKG1fZXZlbnRRdWV1ZSk7CiAgICAgaW5mby5hZGRIYXNoU2V0KG1fbWVk
aWFDYW5TdGFydExpc3RlbmVycyk7CiAgICAgaW5mby5hZGRWZWN0b3IobV9wZW5kaW5nVGFza3Mp
OwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaCBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9FbGVtZW50LmgKaW5kZXggOGEyOGNmNzE1YjAxMzNkYzk1OTAwZjNjY2QyMGE0
ZjIyNTlhYmY3OS4uMmY0ZTkyNTY0Y2ExMGYwY2UyY2IyYzY1NWE1NGM3Mzk3OTdjMWZhYyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vRWxlbWVudC5oCkBAIC00NDIsOCArNDQyLDggQEAgcHVibGljOgogICAgIHsKICAgICAg
ICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29yZU1l
bW9yeVR5cGVzOjpET00pOwogICAgICAgICBDb250YWluZXJOb2RlOjpyZXBvcnRNZW1vcnlVc2Fn
ZShtZW1vcnlPYmplY3RJbmZvKTsKLSAgICAgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIo
bV90YWdOYW1lKTsKLSAgICAgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9hdHRyaWJ1
dGVEYXRhKTsKKyAgICAgICAgaW5mby5hZGRNZW1iZXIobV90YWdOYW1lKTsKKyAgICAgICAgaW5m
by5hZGRNZW1iZXIobV9hdHRyaWJ1dGVEYXRhKTsKICAgICB9CiAKIHByb3RlY3RlZDoKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50QXR0cmlidXRlRGF0YS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRWxlbWVudEF0dHJpYnV0ZURhdGEuY3BwCmluZGV4IDE1NWZmZWE3YzNj
YzE1NWQzNmMwYjU3NzE4ODc4NzUwYTljYzNiYzYuLjAzZjdiODFmY2Y1YjE2ODE2ZjMxZWJkM2M1
ZmYwZDVhMDJkM2Y3NDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50QXR0
cmlidXRlRGF0YS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnRBdHRyaWJ1dGVE
YXRhLmNwcApAQCAtMjk1LDE0ICsyOTUsMTQgQEAgdm9pZCBFbGVtZW50QXR0cmlidXRlRGF0YTo6
cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykKIHsK
ICAgICBzaXplX3QgYWN0dWFsU2l6ZSA9IG1faXNNdXRhYmxlID8gc2l6ZW9mKEVsZW1lbnRBdHRy
aWJ1dGVEYXRhKSA6IGltbXV0YWJsZUVsZW1lbnRBdHRyaWJ1dGVEYXRhU2l6ZShtX2FycmF5U2l6
ZSk7CiAgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgV2Vi
Q29yZU1lbW9yeVR5cGVzOjpET00sIGFjdHVhbFNpemUpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVu
dGVkTWVtYmVyKG1faW5saW5lU3R5bGVEZWNsKTsKLSAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1l
bWJlcihtX2F0dHJpYnV0ZVN0eWxlKTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX2lubGluZVN0eWxl
RGVjbCk7CisgICAgaW5mby5hZGRNZW1iZXIobV9hdHRyaWJ1dGVTdHlsZSk7CiAgICAgaW5mby5h
ZGRNZW1iZXIobV9jbGFzc05hbWVzKTsKLSAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlciht
X2lkRm9yU3R5bGVSZXNvbHV0aW9uKTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX2lkRm9yU3R5bGVS
ZXNvbHV0aW9uKTsKICAgICBpZiAobV9pc011dGFibGUpCiAgICAgICAgIGluZm8uYWRkVmVjdG9y
KG11dGFibGVBdHRyaWJ1dGVWZWN0b3IoKSk7CiAgICAgZm9yICh1bnNpZ25lZCBpID0gMCwgbGVu
ID0gbGVuZ3RoKCk7IGkgPCBsZW47IGkrKykKLSAgICAgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRN
ZW1iZXIoKmF0dHJpYnV0ZUl0ZW0oaSkpOworICAgICAgICBpbmZvLmFkZE1lbWJlcigqYXR0cmli
dXRlSXRlbShpKSk7CiB9CiAKIHNpemVfdCBFbGVtZW50QXR0cmlidXRlRGF0YTo6Z2V0QXR0cmli
dXRlSXRlbUluZGV4U2xvd0Nhc2UoY29uc3QgQXRvbWljU3RyaW5nJiBuYW1lLCBib29sIHNob3Vs
ZElnbm9yZUF0dHJpYnV0ZUNhc2UpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9k
b20vRXZlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50LmNwcAppbmRleCBhMGJmNDM5
YjVlMjk1ZjkxMzA0NDI0N2JhYTEzZDExMGVlOGY1MTBiLi5jMWU2MDlmZjQwYTA2MTFhNzJjMmM3
YzExMDgxNTEyYmViMjhkYzU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudC5jcHAKQEAgLTE1OSwxMCArMTU5LDEw
IEBAIHZvaWQgRXZlbnQ6OnN0b3JlUmVzdWx0KGNvbnN0IFN0cmluZyYpCiB2b2lkIEV2ZW50Ojpy
ZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25z
dAogewogICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIFdl
YkNvcmVNZW1vcnlUeXBlczo6RE9NKTsKLSAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlciht
X3R5cGUpOworICAgIGluZm8uYWRkTWVtYmVyKG1fdHlwZSk7CiAgICAgaW5mby5hZGRNZW1iZXIo
bV9jdXJyZW50VGFyZ2V0KTsKICAgICBpbmZvLmFkZE1lbWJlcihtX3RhcmdldCk7Ci0gICAgaW5m
by5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV91bmRlcmx5aW5nRXZlbnQpOworICAgIGluZm8uYWRk
TWVtYmVyKG1fdW5kZXJseWluZ0V2ZW50KTsKIH0KIAogUGFzc1JlZlB0cjxFdmVudD4gRXZlbnQ6
OmNsb25lRm9yKEhUTUxJRnJhbWVFbGVtZW50KikgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Ob2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcAppbmRleCAz
NTNkMjgzZDAzOGYxYWQxZTRlMTM5YWNkNGE4YjM0NmM1M2ExOGNjLi5hZWY2NjljNTA2MTRjNWRk
YWQ3NzlkZmRkM2JjNmM5ZWM2M2RlZmI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20v
Tm9kZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwCkBAIC0yODExLDExICsy
ODExLDExIEBAIHZvaWQgTm9kZTo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyog
bWVtb3J5T2JqZWN0SW5mbykgY29uc3QKICAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlP
YmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6OkRPTSk7CiAgICAgVHJlZVNoYXJl
ZDxOb2RlLCBDb250YWluZXJOb2RlPjo6cmVwb3J0TWVtb3J5VXNhZ2UobWVtb3J5T2JqZWN0SW5m
byk7CiAgICAgU2NyaXB0V3JhcHBhYmxlOjpyZXBvcnRNZW1vcnlVc2FnZShtZW1vcnlPYmplY3RJ
bmZvKTsKLSAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX2RvY3VtZW50KTsKLSAgICBp
bmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX25leHQpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVu
dGVkTWVtYmVyKG1fcHJldmlvdXMpOworICAgIGluZm8uYWRkTWVtYmVyKG1fZG9jdW1lbnQpOwor
ICAgIGluZm8uYWRkTWVtYmVyKG1fbmV4dCk7CisgICAgaW5mby5hZGRNZW1iZXIobV9wcmV2aW91
cyk7CiAgICAgaWYgKG1fcmVuZGVyZXIpCi0gICAgICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVt
YmVyKG1fcmVuZGVyZXItPnN0eWxlKCkpOworICAgICAgICBpbmZvLmFkZE1lbWJlcihtX3JlbmRl
cmVyLT5zdHlsZSgpKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvZG9tL1F1YWxpZmllZE5hbWUuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9t
L1F1YWxpZmllZE5hbWUuY3BwCmluZGV4IDU2ODEwYjRlNDM5N2U5YjFmNWNiMjY3M2EzNTgwNWQ3
NzhjZmE2ODMuLjc4MzYwNDczMjBlNTA5MzlmNzA0NDdkNTA5YzZlZGU3NzIxN2JjMjIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9RdWFsaWZpZWROYW1lLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vUXVhbGlmaWVkTmFtZS5jcHAKQEAgLTE0NSwxNyArMTQ1LDE3IEBAIGNvbnN0
IEF0b21pY1N0cmluZyYgUXVhbGlmaWVkTmFtZTo6bG9jYWxOYW1lVXBwZXIoKSBjb25zdAogdm9p
ZCBRdWFsaWZpZWROYW1lOjpyZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1v
cnlPYmplY3RJbmZvKSBjb25zdAogewogICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9i
amVjdEluZm8sIHRoaXMsIFdlYkNvcmVNZW1vcnlUeXBlczo6RE9NKTsKLSAgICBpbmZvLmFkZElu
c3RydW1lbnRlZE1lbWJlcihtX2ltcGwpOworICAgIGluZm8uYWRkTWVtYmVyKG1faW1wbCk7CiB9
CiAKIAogdm9pZCBRdWFsaWZpZWROYW1lOjpRdWFsaWZpZWROYW1lSW1wbDo6cmVwb3J0TWVtb3J5
VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKIHsKICAgICBN
ZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5
VHlwZXM6OkRPTSk7Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9wcmVmaXgpOwot
ICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fbG9jYWxOYW1lKTsKLSAgICBpbmZvLmFk
ZEluc3RydW1lbnRlZE1lbWJlcihtX25hbWVzcGFjZSk7Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50
ZWRNZW1iZXIobV9sb2NhbE5hbWVVcHBlcik7CisgICAgaW5mby5hZGRNZW1iZXIobV9wcmVmaXgp
OworICAgIGluZm8uYWRkTWVtYmVyKG1fbG9jYWxOYW1lKTsKKyAgICBpbmZvLmFkZE1lbWJlciht
X25hbWVzcGFjZSk7CisgICAgaW5mby5hZGRNZW1iZXIobV9sb2NhbE5hbWVVcHBlcik7CiB9CiAK
IHZvaWQgY3JlYXRlUXVhbGlmaWVkTmFtZSh2b2lkKiB0YXJnZXRBZGRyZXNzLCBjb25zdCBjaGFy
KiBuYW1lLCB1bnNpZ25lZCBuYW1lTGVuZ3RoLCBjb25zdCBBdG9taWNTdHJpbmcmIG5hbWVOYW1l
c3BhY2UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbWFnZUVsZW1lbnQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmNwcAppbmRleCAyY2Ez
M2JkY2I3MWYyM2VhOWZiNTIwNTAwNjg2YTc5M2E5Y2U4NGE2Li5lOTM0ZTRkOTJkNWZhNDQ2Mzky
ZGZjM2UxMDFmZjQzMzczNTQyYzMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxJbWFnZUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxl
bWVudC5jcHAKQEAgLTQyNiw3ICs0MjYsNyBAQCB2b2lkIEhUTUxJbWFnZUVsZW1lbnQ6OnJlcG9y
dE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbgogICAg
IE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIFdlYkNvcmVNZW1v
cnlUeXBlczo6RE9NKTsKICAgICBIVE1MRWxlbWVudDo6cmVwb3J0TWVtb3J5VXNhZ2UobWVtb3J5
T2JqZWN0SW5mbyk7CiAgICAgaW5mby5hZGRNZW1iZXIobV9pbWFnZUxvYWRlcik7Ci0gICAgaW5m
by5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9mb3JtKTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX2Zv
cm0pOwogfQogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRM
b2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcAppbmRl
eCA1Y2E5ZDY4M2Q3MWFiMzQzZGEyM2NiYzE5YWFlNjM4NmM1MTRmZWU2Li44OGI3ZmU4M2IxN2Yz
NDYyYjgwMjAzOGNjN2QwMGRhMTM0NTBhNGNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvRG9jdW1lbnRMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1
bWVudExvYWRlci5jcHAKQEAgLTM2MCwyNiArMzYwLDI2IEBAIHZvaWQgRG9jdW1lbnRMb2FkZXI6
OmNvbW1pdERhdGEoY29uc3QgY2hhciogYnl0ZXMsIHNpemVfdCBsZW5ndGgpCiB2b2lkIERvY3Vt
ZW50TG9hZGVyOjpyZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmpl
Y3RJbmZvKSBjb25zdAogewogICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdElu
Zm8sIHRoaXMsIFdlYkNvcmVNZW1vcnlUeXBlczo6TG9hZGVyKTsKLSAgICBpbmZvLmFkZEluc3Ry
dW1lbnRlZE1lbWJlcihtX2ZyYW1lKTsKLSAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlciht
X21haW5SZXNvdXJjZUxvYWRlcik7CisgICAgaW5mby5hZGRNZW1iZXIobV9mcmFtZSk7CisgICAg
aW5mby5hZGRNZW1iZXIobV9tYWluUmVzb3VyY2VMb2FkZXIpOwogICAgIGluZm8uYWRkSW5zdHJ1
bWVudGVkSGFzaFNldChtX3N1YnJlc291cmNlTG9hZGVycyk7CiAgICAgaW5mby5hZGRJbnN0cnVt
ZW50ZWRIYXNoU2V0KG1fbXVsdGlwYXJ0U3VicmVzb3VyY2VMb2FkZXJzKTsKICAgICBpbmZvLmFk
ZEluc3RydW1lbnRlZEhhc2hTZXQobV9wbHVnSW5TdHJlYW1Mb2FkZXJzKTsKLSAgICBpbmZvLmFk
ZEluc3RydW1lbnRlZE1lbWJlcihtX3N1YnN0aXR1dGVEYXRhKTsKLSAgICBpbmZvLmFkZEluc3Ry
dW1lbnRlZE1lbWJlcihtX3BhZ2VUaXRsZS5zdHJpbmcoKSk7Ci0gICAgaW5mby5hZGRJbnN0cnVt
ZW50ZWRNZW1iZXIobV9vdmVycmlkZUVuY29kaW5nKTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX3N1
YnN0aXR1dGVEYXRhKTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX3BhZ2VUaXRsZS5zdHJpbmcoKSk7
CisgICAgaW5mby5hZGRNZW1iZXIobV9vdmVycmlkZUVuY29kaW5nKTsKICAgICBpbmZvLmFkZFZl
Y3RvcihtX3Jlc3BvbnNlcyk7Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9vcmln
aW5hbFJlcXVlc3QpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fb3JpZ2luYWxS
ZXF1ZXN0Q29weSk7Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9yZXF1ZXN0KTsK
LSAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX3Jlc3BvbnNlKTsKLSAgICBpbmZvLmFk
ZEluc3RydW1lbnRlZE1lbWJlcihtX2xhc3RDaGVja2VkUmVxdWVzdCk7CisgICAgaW5mby5hZGRN
ZW1iZXIobV9vcmlnaW5hbFJlcXVlc3QpOworICAgIGluZm8uYWRkTWVtYmVyKG1fb3JpZ2luYWxS
ZXF1ZXN0Q29weSk7CisgICAgaW5mby5hZGRNZW1iZXIobV9yZXF1ZXN0KTsKKyAgICBpbmZvLmFk
ZE1lbWJlcihtX3Jlc3BvbnNlKTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX2xhc3RDaGVja2VkUmVx
dWVzdCk7CiAgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRWZWN0b3IobV9yZXNwb25zZXMpOwogICAg
IGluZm8uYWRkSGFzaE1hcChtX3BlbmRpbmdTdWJzdGl0dXRlUmVzb3VyY2VzKTsKICAgICBpbmZv
LmFkZEluc3RydW1lbnRlZEhhc2hTZXQobV9yZXNvdXJjZXNDbGllbnRLbm93c0Fib3V0KTsKICAg
ICBpbmZvLmFkZFZlY3RvcihtX3Jlc291cmNlc0xvYWRlZEZyb21NZW1vcnlDYWNoZUZvckNsaWVu
dE5vdGlmaWNhdGlvbik7Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9jbGllbnRS
ZWRpcmVjdFNvdXJjZUZvckhpc3RvcnkpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVy
KG1fbWFpblJlc291cmNlRGF0YSk7CisgICAgaW5mby5hZGRNZW1iZXIobV9jbGllbnRSZWRpcmVj
dFNvdXJjZUZvckhpc3RvcnkpOworICAgIGluZm8uYWRkTWVtYmVyKG1fbWFpblJlc291cmNlRGF0
YSk7CiB9CiAKIGJvb2wgRG9jdW1lbnRMb2FkZXI6OmRvZXNQcm9ncmVzc2l2ZUxvYWQoY29uc3Qg
U3RyaW5nJiBNSU1FVHlwZSkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9GcmFtZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3Bw
CmluZGV4IDg0NzNiYzMxMzk0MmU2YmQwYmY2NDU3MzFjNDRiNzI3OGRmMjg5MTMuLjQxNzcyY2Fl
ZThkMmQ5MzJkZDNmNmJlYzJhOGJiYWZjMGRjZTVmMWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0Zy
YW1lTG9hZGVyLmNwcApAQCAtMzI4MCwxMCArMzI4MCwxMCBAQCBOZXR3b3JraW5nQ29udGV4dCog
RnJhbWVMb2FkZXI6Om5ldHdvcmtpbmdDb250ZXh0KCkgY29uc3QKIHZvaWQgRnJhbWVMb2FkZXI6
OnJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNv
bnN0CiB7CiAgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywg
V2ViQ29yZU1lbW9yeVR5cGVzOjpMb2FkZXIpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVt
YmVyKG1fZG9jdW1lbnRMb2FkZXIpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1f
cHJvdmlzaW9uYWxEb2N1bWVudExvYWRlcik7Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1i
ZXIobV9wb2xpY3lEb2N1bWVudExvYWRlcik7Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1i
ZXIobV9vdXRnb2luZ1JlZmVycmVyKTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX2RvY3VtZW50TG9h
ZGVyKTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX3Byb3Zpc2lvbmFsRG9jdW1lbnRMb2FkZXIpOwor
ICAgIGluZm8uYWRkTWVtYmVyKG1fcG9saWN5RG9jdW1lbnRMb2FkZXIpOworICAgIGluZm8uYWRk
TWVtYmVyKG1fb3V0Z29pbmdSZWZlcnJlcik7CiAgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRIYXNo
U2V0KG1fb3BlbmVkRnJhbWVzKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL01haW5SZXNvdXJjZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTWFpblJl
c291cmNlTG9hZGVyLmNwcAppbmRleCAyZDZlNDViYjg2YTkzNzQ4MDBmYWJkNWE3OGQyZWQzMWVk
MThiNDBlLi5lYTY2NzAzNmM4YzM5ZjY2MjQ4ZDhlMjVkOGNlMWIxODFmNzRjZTFjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTWFpblJlc291cmNlTG9hZGVyLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvTWFpblJlc291cmNlTG9hZGVyLmNwcApAQCAtNTU0LDcgKzU1
NCw3IEBAIHZvaWQgTWFpblJlc291cmNlTG9hZGVyOjpyZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlP
YmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjCiAgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8o
bWVtb3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9yeVR5cGVzOjpMb2FkZXIpOwogICAg
IFJlc291cmNlTG9hZGVyOjpyZXBvcnRNZW1vcnlVc2FnZShtZW1vcnlPYmplY3RJbmZvKTsKICAg
ICBpbmZvLmFkZE1lbWJlcihtX2luaXRpYWxSZXF1ZXN0KTsKLSAgICBpbmZvLmFkZEluc3RydW1l
bnRlZE1lbWJlcihtX3N1YnN0aXR1dGVEYXRhKTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX3N1YnN0
aXR1dGVEYXRhKTsKICAgICBpbmZvLmFkZE1lbWJlcihtX2RhdGFMb2FkVGltZXIpOwogfQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZGVyLmNwcAppbmRleCAzMzE1YWQ1NTg5MDZk
OTA4YmYzZTJhMmJjYzdlYTNiZWJmMzY0ZDM4Li5mMGE2YzMzNWNjZjk2OTI2YjRiMTMxNjlmNDBl
NDFjYTg4ZWVhYzlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VM
b2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRlci5jcHAK
QEAgLTUzNywxMSArNTM3LDExIEBAIHZvaWQgUmVzb3VyY2VMb2FkZXI6OnJlcG9ydE1lbW9yeVVz
YWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiB7CiAgICAgTWVt
b3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9yeVR5
cGVzOjpMb2FkZXIpOwogICAgIGluZm8uYWRkTWVtYmVyKG1faGFuZGxlLmdldCgpKTsKLSAgICBp
bmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX2ZyYW1lKTsKLSAgICBpbmZvLmFkZEluc3RydW1l
bnRlZE1lbWJlcihtX2RvY3VtZW50TG9hZGVyKTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX2ZyYW1l
KTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX2RvY3VtZW50TG9hZGVyKTsKICAgICBpbmZvLmFkZE1l
bWJlcihtX3JlcXVlc3QpOwogICAgIGluZm8uYWRkTWVtYmVyKG1fb3JpZ2luYWxSZXF1ZXN0KTsK
LSAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX3Jlc291cmNlRGF0YSk7CisgICAgaW5m
by5hZGRNZW1iZXIobV9yZXNvdXJjZURhdGEpOwogICAgIGluZm8uYWRkTWVtYmVyKG1fZGVmZXJy
ZWRSZXF1ZXN0KTsKICAgICBpbmZvLmFkZE1lbWJlcihtX29wdGlvbnMpOwogfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1N1YnJlc291cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9TdWJyZXNvdXJjZUxvYWRlci5jcHAKaW5kZXggODE3YjBhMWIyYmI0ZTQ5
MGYzZDY3OTUxZjkxZDVlODI0NjQ0OTVlZi4uNTZkZTBkMzQxMzNjM2Y1YTQ3MmJmYzJiYzZmNGU1
Y2RmMzgzMDNmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1N1YnJlc291cmNl
TG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvU3VicmVzb3VyY2VMb2FkZXIu
Y3BwCkBAIC0xMzksOCArMTM5LDggQEAgdm9pZCBTdWJyZXNvdXJjZUxvYWRlcjo6cmVwb3J0TWVt
b3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY28KIHsKICAgICBN
ZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5
VHlwZXM6OkxvYWRlcik7CiAgICAgUmVzb3VyY2VMb2FkZXI6OnJlcG9ydE1lbW9yeVVzYWdlKG1l
bW9yeU9iamVjdEluZm8pOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fcmVzb3Vy
Y2UpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fZG9jdW1lbnQpOworICAgIGlu
Zm8uYWRkTWVtYmVyKG1fcmVzb3VyY2UpOworICAgIGluZm8uYWRkTWVtYmVyKG1fZG9jdW1lbnQp
OwogICAgIGluZm8uYWRkTWVtYmVyKG1fcmVxdWVzdENvdW50VHJhY2tlcik7CiB9CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9TdWJzdGl0dXRlRGF0YS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvU3Vic3RpdHV0ZURhdGEuY3BwCmluZGV4IDcyYjUzNWY0YTc1NGMxZThk
ZDcxNzEzYjJiNDZkMGI5ZTFjODVhZGMuLmQyMmMyYmMwY2IxYTRmOGFjMzdiMjYzNDRmZjQ2YTU0
MjIzNDZkM2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9TdWJzdGl0dXRlRGF0
YS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1N1YnN0aXR1dGVEYXRhLmNwcApAQCAt
MzgsMTEgKzM4LDExIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIHZvaWQgU3Vic3RpdHV0ZURhdGE6
OnJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNv
bnN0CiB7CiAgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywg
V2ViQ29yZU1lbW9yeVR5cGVzOjpMb2FkZXIpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVt
YmVyKG1fY29udGVudCk7Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9taW1lVHlw
ZSk7Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV90ZXh0RW5jb2RpbmcpOwotICAg
IGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fZmFpbGluZ1VSTCk7Ci0gICAgaW5mby5hZGRJ
bnN0cnVtZW50ZWRNZW1iZXIobV9yZXNwb25zZVVSTCk7CisgICAgaW5mby5hZGRNZW1iZXIobV9j
b250ZW50KTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX21pbWVUeXBlKTsKKyAgICBpbmZvLmFkZE1l
bWJlcihtX3RleHRFbmNvZGluZyk7CisgICAgaW5mby5hZGRNZW1iZXIobV9mYWlsaW5nVVJMKTsK
KyAgICBpbmZvLmFkZE1lbWJlcihtX3Jlc3BvbnNlVVJMKTsKIH0KIAogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZENTU1N0eWxlU2hlZXQuY3BwIGIvU291
cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZENTU1N0eWxlU2hlZXQuY3BwCmluZGV4IDZi
YmJjZGJiZjc5NmUxYTEyNGU1NDJmODQ5ODNmNGZmMTI0NDllODAuLmYxODgyNWY1ODQyZWRkOWYw
MGNiZDlkYjA0YmNjZGZjOGNkNGRjZWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9jYWNoZS9DYWNoZWRDU1NTdHlsZVNoZWV0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvY2FjaGUvQ2FjaGVkQ1NTU3R5bGVTaGVldC5jcHAKQEAgLTE5OSw4ICsxOTksOCBAQCB2b2lk
IENhY2hlZENTU1N0eWxlU2hlZXQ6OnJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8q
IG1lbW9yeU9iamVjdEluZm8pCiAgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0
SW5mbywgdGhpcywgV2ViQ29yZU1lbW9yeVR5cGVzOjpDYWNoZWRSZXNvdXJjZUNTUyk7CiAgICAg
Q2FjaGVkUmVzb3VyY2U6OnJlcG9ydE1lbW9yeVVzYWdlKG1lbW9yeU9iamVjdEluZm8pOwogICAg
IGluZm8uYWRkTWVtYmVyKG1fZGVjb2Rlcik7Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1i
ZXIobV9wYXJzZWRTdHlsZVNoZWV0Q2FjaGUpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVt
YmVyKG1fZGVjb2RlZFNoZWV0VGV4dCk7CisgICAgaW5mby5hZGRNZW1iZXIobV9wYXJzZWRTdHls
ZVNoZWV0Q2FjaGUpOworICAgIGluZm8uYWRkTWVtYmVyKG1fZGVjb2RlZFNoZWV0VGV4dCk7CiB9
CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRGb250
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRGb250LmNwcAppbmRleCA0
YzQ1NjljYTM0MmFjMzMyODQwOTVjYTJmMjJhM2NmYTQ2Yzg0Y2RhLi5kOWE2NzUyYjIxODBkYmEx
YjMyMjhjMDk2NTUwNmNlM2MyNjNiMTIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvY2FjaGUvQ2FjaGVkRm9udC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hl
L0NhY2hlZEZvbnQuY3BwCkBAIC0yMDMsNyArMjAzLDcgQEAgdm9pZCBDYWNoZWRGb250OjpyZXBv
cnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAog
ICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIFdlYkNvcmVN
ZW1vcnlUeXBlczo6Q2FjaGVkUmVzb3VyY2VGb250KTsKICAgICBDYWNoZWRSZXNvdXJjZTo6cmVw
b3J0TWVtb3J5VXNhZ2UobWVtb3J5T2JqZWN0SW5mbyk7CiAjaWYgRU5BQkxFKFNWR19GT05UUykK
LSAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX2V4dGVybmFsU1ZHRG9jdW1lbnQpOwor
ICAgIGluZm8uYWRkTWVtYmVyKG1fZXh0ZXJuYWxTVkdEb2N1bWVudCk7CiAjZW5kaWYKICNpZmRl
ZiBTVE9SRV9GT05UX0NVU1RPTV9QTEFURk9STV9EQVRBCiAgICAgaW5mby5hZGRNZW1iZXIobV9m
b250RGF0YSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVk
SW1hZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZEltYWdlLmNwcApp
bmRleCA4NWI0YTczOWJkZWFiYTlmNWY2OTg3YmMxZjQ2OTExNjk0MDczZWRmLi5mYTgzYTU0ZjY3
MWVkYzgyNTA1NDk3YTc1YWIzZmRlZDllNDk3NGI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvY2FjaGUvQ2FjaGVkSW1hZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9jYWNoZS9DYWNoZWRJbWFnZS5jcHAKQEAgLTQ3NCw3ICs0NzQsNyBAQCB2b2lkIENhY2hlZElt
YWdlOjpyZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZv
KSBjb25zdAogewogICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRo
aXMsIFdlYkNvcmVNZW1vcnlUeXBlczo6Q2FjaGVkUmVzb3VyY2VJbWFnZSk7CiAgICAgQ2FjaGVk
UmVzb3VyY2U6OnJlcG9ydE1lbW9yeVVzYWdlKG1lbW9yeU9iamVjdEluZm8pOwotICAgIGluZm8u
YWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1faW1hZ2UpOworICAgIGluZm8uYWRkTWVtYmVyKG1faW1h
Z2UpOwogI2lmIEVOQUJMRShTVkcpCiAgICAgaW5mby5hZGRNZW1iZXIobV9zdmdJbWFnZUNhY2hl
KTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hl
ZFJlc291cmNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJj
ZS5jcHAKaW5kZXggY2JjNjUyNTEwNjAxNjQ4ZjgwZjU2ZWEwYTVkY2U3ODYzNDQ0Y2MzMS4uYWE2
YzVhN2ZhNmY4ODM5NWJiNjBmODBiMzhmY2Y0N2RkNWEwNGMwMiAxMDA3NTUKLS0tIGEvU291cmNl
L1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3BwCkBAIC04MDYsMTggKzgwNiwxOCBA
QCB2b2lkIENhY2hlZFJlc291cmNlOjpyZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZv
KiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAogICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9y
eU9iamVjdEluZm8sIHRoaXMsIFdlYkNvcmVNZW1vcnlUeXBlczo6Q2FjaGVkUmVzb3VyY2UpOwog
ICAgIGluZm8uYWRkTWVtYmVyKG1fcmVzb3VyY2VSZXF1ZXN0KTsKICAgICBpbmZvLmFkZEhhc2hT
ZXQobV9jbGllbnRzKTsKLSAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX2FjY2VwdCk7
Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9sb2FkZXIpOwotICAgIGluZm8uYWRk
SW5zdHJ1bWVudGVkTWVtYmVyKG1fcmVzcG9uc2UpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVk
TWVtYmVyKG1fZGF0YSk7CisgICAgaW5mby5hZGRNZW1iZXIobV9hY2NlcHQpOworICAgIGluZm8u
YWRkTWVtYmVyKG1fbG9hZGVyKTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX3Jlc3BvbnNlKTsKKyAg
ICBpbmZvLmFkZE1lbWJlcihtX2RhdGEpOwogICAgIGluZm8uYWRkTWVtYmVyKG1fY2FjaGVkTWV0
YWRhdGEpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fbmV4dEluQWxsUmVzb3Vy
Y2VzTGlzdCk7Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9wcmV2SW5BbGxSZXNv
dXJjZXNMaXN0KTsKLSAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX25leHRJbkxpdmVS
ZXNvdXJjZXNMaXN0KTsKLSAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX3ByZXZJbkxp
dmVSZXNvdXJjZXNMaXN0KTsKLSAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX293bmlu
Z0NhY2hlZFJlc291cmNlTG9hZGVyKTsKLSAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlciht
X3Jlc291cmNlVG9SZXZhbGlkYXRlKTsKLSAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlciht
X3Byb3h5UmVzb3VyY2UpOworICAgIGluZm8uYWRkTWVtYmVyKG1fbmV4dEluQWxsUmVzb3VyY2Vz
TGlzdCk7CisgICAgaW5mby5hZGRNZW1iZXIobV9wcmV2SW5BbGxSZXNvdXJjZXNMaXN0KTsKKyAg
ICBpbmZvLmFkZE1lbWJlcihtX25leHRJbkxpdmVSZXNvdXJjZXNMaXN0KTsKKyAgICBpbmZvLmFk
ZE1lbWJlcihtX3ByZXZJbkxpdmVSZXNvdXJjZXNMaXN0KTsKKyAgICBpbmZvLmFkZE1lbWJlciht
X293bmluZ0NhY2hlZFJlc291cmNlTG9hZGVyKTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX3Jlc291
cmNlVG9SZXZhbGlkYXRlKTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX3Byb3h5UmVzb3VyY2UpOwog
ICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkSGFzaFNldChtX2hhbmRsZXNUb1JldmFsaWRhdGUpOwog
CiAgICAgaWYgKG1fcHVyZ2VhYmxlRGF0YSAmJiAhbV9wdXJnZWFibGVEYXRhLT53YXNQdXJnZWQo
KSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJj
ZUhhbmRsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VI
YW5kbGUuY3BwCmluZGV4IGQ5NTQ1OWYwNmQwZTgxZDkwMzEyMWI1Yzg5OGI2ZWQwZWEzYThhYjAu
LjZlNDk2NGVlOTUwY2Y3ODAxN2I2NTM2ODRmYzlmZTEyYWU5MmM1OWYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUhhbmRsZS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlSGFuZGxlLmNwcApAQCAt
NDQsNyArNDQsNyBAQCB2b2lkIENhY2hlZFJlc291cmNlSGFuZGxlQmFzZTo6c2V0UmVzb3VyY2Uo
Q2FjaGVkUmVzb3VyY2UqIHJlc291cmNlKQogdm9pZCBDYWNoZWRSZXNvdXJjZUhhbmRsZUJhc2U6
OnJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNv
bnN0CiB7CiAgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywg
V2ViQ29yZU1lbW9yeVR5cGVzOjpNZW1vcnlDYWNoZVN0cnVjdHVyZXMpOwotICAgIGluZm8uYWRk
SW5zdHJ1bWVudGVkTWVtYmVyKG1fcmVzb3VyY2UpOworICAgIGluZm8uYWRkTWVtYmVyKG1fcmVz
b3VyY2UpOwogfQogCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9D
YWNoZWRSZXNvdXJjZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2Fj
aGVkUmVzb3VyY2VMb2FkZXIuY3BwCmluZGV4IGE0YTM2NjdlZjAwMDQ3Nzk3NDIyZjUwN2UxYWZh
N2I5M2FmZWQyOTQuLjViMGM0OTEwYjI2YjdkOGM0NjI0NjRmMmJhMDQyNDIwMDE5NjMxZTMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRl
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9h
ZGVyLmNwcApAQCAtOTEwLDggKzkxMCw4IEBAIHZvaWQgQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OnJl
cG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pCiAgICAg
TWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9y
eVR5cGVzOjpMb2FkZXIpOwogICAgIGluZm8uYWRkSGFzaE1hcChtX2RvY3VtZW50UmVzb3VyY2Vz
KTsKICAgICBmb3IgKERvY3VtZW50UmVzb3VyY2VNYXA6OmNvbnN0X2l0ZXJhdG9yIGkgPSBtX2Rv
Y3VtZW50UmVzb3VyY2VzLmJlZ2luKCk7IGkgIT0gbV9kb2N1bWVudFJlc291cmNlcy5lbmQoKTsg
KytpKSB7Ci0gICAgICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKGktPmZpcnN0KTsKLSAg
ICAgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIoaS0+c2Vjb25kKTsKKyAgICAgICAgaW5m
by5hZGRNZW1iZXIoaS0+Zmlyc3QpOworICAgICAgICBpbmZvLmFkZE1lbWJlcihpLT5zZWNvbmQp
OwogICAgIH0KICAgICBpbmZvLmFkZEhhc2hTZXQobV92YWxpZGF0ZWRVUkxzKTsKICAgICBpZiAo
bV9wcmVsb2FkcykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNo
ZWRTVkdEb2N1bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkU1ZH
RG9jdW1lbnQuY3BwCmluZGV4IDY5OWI2ODg2YTc5Nzg0MGZlOWM0NzkxODY0NWYyYzAwMDQ4MTcx
MzQuLjY4ZjJmYjQ4MzlhZDMyMzQzMDFjYWEwMTlhMTAwZWQ3MWNmYmRjY2IgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRTVkdEb2N1bWVudC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFNWR0RvY3VtZW50LmNwcApAQCAtNzUs
NyArNzUsNyBAQCB2b2lkIENhY2hlZFNWR0RvY3VtZW50OjpyZXBvcnRNZW1vcnlVc2FnZShNZW1v
cnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjbwogewogICAgIE1lbW9yeUNsYXNzSW5m
byBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIFdlYkNvcmVNZW1vcnlUeXBlczo6Q2FjaGVk
UmVzb3VyY2VTVkcpOwogICAgIENhY2hlZFJlc291cmNlOjpyZXBvcnRNZW1vcnlVc2FnZShtZW1v
cnlPYmplY3RJbmZvKTsKLSAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX2RvY3VtZW50
KTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX2RvY3VtZW50KTsKICAgICBpbmZvLmFkZE1lbWJlciht
X2RlY29kZXIpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUv
Q2FjaGVkU2NyaXB0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRTY3Jp
cHQuY3BwCmluZGV4IDVjNDkzMzk3YWFjNWExYzE0M2E0NGI1N2U2MDAxYzVlMGM4MGQxMmEuLjQx
ZmVhM2Q0NGM0MDc5MDhjZDBiNGMzZDVjZTBiNzVhZWU1ZjNmZmUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRTY3JpcHQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9jYWNoZS9DYWNoZWRTY3JpcHQuY3BwCkBAIC0xMjMsNyArMTIzLDcgQEAgdm9p
ZCBDYWNoZWRTY3JpcHQ6OnJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9y
eU9iamVjdEluZm8pIGNvbnN0CiB7CiAgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2Jq
ZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9yeVR5cGVzOjpDYWNoZWRSZXNvdXJjZVNjcmlwdCk7
CiAgICAgQ2FjaGVkUmVzb3VyY2U6OnJlcG9ydE1lbW9yeVVzYWdlKG1lbW9yeU9iamVjdEluZm8p
OwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fc2NyaXB0KTsKKyAgICBpbmZvLmFk
ZE1lbWJlcihtX3NjcmlwdCk7CiAgICAgaW5mby5hZGRNZW1iZXIobV9kZWNvZGVyKTsKICNpZiBV
U0UoSlNDKQogICAgIGluZm8uYWRkTWVtYmVyKG1fc291cmNlUHJvdmlkZXJDYWNoZSk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkU2hhZGVyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRTaGFkZXIuY3BwCmluZGV4IDhkYzM4MWM0
NmIyM2MyZDMxMjBkYTNmYjAxMzBmYmE0ZDM1ZWMxOTIuLmQzMWUyNjdkZWNlNGE5MjVmMjMyNzU5
ODE2MTAxYjk1ZmQwYWU1YTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNo
ZS9DYWNoZWRTaGFkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNo
ZWRTaGFkZXIuY3BwCkBAIC03Myw3ICs3Myw3IEBAIHZvaWQgQ2FjaGVkU2hhZGVyOjpyZXBvcnRN
ZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAogICAg
IE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIFdlYkNvcmVNZW1v
cnlUeXBlczo6Q2FjaGVkUmVzb3VyY2VTaGFkZXIpOwogICAgIENhY2hlZFJlc291cmNlOjpyZXBv
cnRNZW1vcnlVc2FnZShtZW1vcnlPYmplY3RJbmZvKTsKICAgICBpbmZvLmFkZE1lbWJlcihtX2Rl
Y29kZXIpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fc2hhZGVyU3RyaW5nKTsK
KyAgICBpbmZvLmFkZE1lbWJlcihtX3NoYWRlclN0cmluZyk7CiB9CiAKIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRY
U0xTdHlsZVNoZWV0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRYU0xT
dHlsZVNoZWV0LmNwcAppbmRleCA4MWUxN2Q4Y2JiZmUzOWE3OTA5MzI2ODA5OWExYTM0YjYwNTYz
NWQ0Li5kZTZmNDBlYTVhMzNkYWY0MDhlZTgxN2U5ZWE1M2I1ZDQwNDE5YjU5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkWFNMU3R5bGVTaGVldC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFhTTFN0eWxlU2hlZXQuY3BwCkBA
IC05Myw3ICs5Myw3IEBAIHZvaWQgQ2FjaGVkWFNMU3R5bGVTaGVldDo6cmVwb3J0TWVtb3J5VXNh
Z2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykKIHsKICAgICBNZW1vcnlDbGFz
c0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6OkNh
Y2hlZFJlc291cmNlWFNMVCk7CiAgICAgQ2FjaGVkUmVzb3VyY2U6OnJlcG9ydE1lbW9yeVVzYWdl
KG1lbW9yeU9iamVjdEluZm8pOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fc2hl
ZXQpOworICAgIGluZm8uYWRkTWVtYmVyKG1fc2hlZXQpOwogICAgIGluZm8uYWRkTWVtYmVyKG1f
ZGVjb2Rlcik7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9N
ZW1vcnlDYWNoZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvTWVtb3J5Q2FjaGUu
Y3BwCmluZGV4IGFhZjg1MmE5NTE2M2I1ZjRlNTYwOTY4MDU2NjA5Y2Q5ZThiZTZiMTYuLjY2ZDMy
MDFlYjQ1MDgxYjY5ZjRjNDNlY2M0NjQ0YWNmYWQ3NGFkODAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9jYWNoZS9NZW1vcnlDYWNoZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
bG9hZGVyL2NhY2hlL01lbW9yeUNhY2hlLmNwcApAQCAtNzIxLDggKzcyMSw4IEBAIHZvaWQgTWVt
b3J5Q2FjaGU6OnJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVj
dEluZm8pIGNvbnN0CiAgICAgaW5mby5hZGRIYXNoTWFwKG1fcmVzb3VyY2VzKTsKICAgICBDYWNo
ZWRSZXNvdXJjZU1hcDo6Y29uc3RfaXRlcmF0b3IgZSA9IG1fcmVzb3VyY2VzLmVuZCgpOwogICAg
IGZvciAoQ2FjaGVkUmVzb3VyY2VNYXA6OmNvbnN0X2l0ZXJhdG9yIGkgPSBtX3Jlc291cmNlcy5i
ZWdpbigpOyBpICE9IGU7ICsraSkgewotICAgICAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJl
cihpLT5maXJzdCk7Ci0gICAgICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKGktPnNlY29u
ZCk7CisgICAgICAgIGluZm8uYWRkTWVtYmVyKGktPmZpcnN0KTsKKyAgICAgICAgaW5mby5hZGRN
ZW1iZXIoaS0+c2Vjb25kKTsKICAgICB9CiAgICAgaW5mby5hZGRWZWN0b3IobV9hbGxSZXNvdXJj
ZXMpOwogICAgIGluZm8uYWRkTWVtYmVyKG1fbGl2ZURlY29kZWRSZXNvdXJjZXMpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0ZyYW1lLmNwcAppbmRleCBmYjY1ZDU0Y2YxOTkyOGM1ZDQ3ZDE4NDJjNDU2NTJmNjA2NTkxMjk2
Li5hN2FhZjk1NGJmNGY3MTIzNzY3MDRlMjcxZmQ0NjNmMWUzNjYyMTNlIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Zy
YW1lLmNwcApAQCAtNjc1LDggKzY3NSw4IEBAIHZvaWQgRnJhbWU6OmRpc3BhdGNoVmlzaWJpbGl0
eVN0YXRlQ2hhbmdlRXZlbnQoKQogdm9pZCBGcmFtZTo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5
T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKIHsKICAgICBNZW1vcnlDbGFzc0lu
Zm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6OkRPTSk7
Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9kb2MuZ2V0KCkpOwotICAgIGluZm8u
YWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fbG9hZGVyKTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX2Rv
Yy5nZXQoKSk7CisgICAgaW5mby5hZGRNZW1iZXIobV9sb2FkZXIpOwogfQogCiB2b2lkIEZyYW1l
Ojp3aWxsRGV0YWNoUGFnZSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9L
VVJMLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0tVUkwuY3BwCmluZGV4IDg2ZTI4NjFh
MjY2MjUyOTMwNTdkN2Y3NWVmYjEwZTk3MGY5YzM1MTEuLmMzZDUwOTlmM2FjYjlkZmQ3YWU0YjJk
NGU0NWJjYjQwMzMyYTJmZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0tV
UkwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0tVUkwuY3BwCkBAIC0xOTIxLDEx
ICsxOTIxLDExIEBAIHZvaWQgS1VSTDo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5m
byogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKIHsKICAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyht
ZW1vcnlPYmplY3RJbmZvLCB0aGlzKTsKICNpZiBVU0UoR09PR0xFVVJMKQotICAgIGluZm8uYWRk
SW5zdHJ1bWVudGVkTWVtYmVyKG1fdXJsKTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX3VybCk7CiAj
ZWxpZiBVU0UoV1RGVVJMKQotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fdXJsSW1w
bCk7CisgICAgaW5mby5hZGRNZW1iZXIobV91cmxJbXBsKTsKICNlbHNlIC8vICFVU0UoR09PR0xF
VVJMKQotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fc3RyaW5nKTsKKyAgICBpbmZv
LmFkZE1lbWJlcihtX3N0cmluZyk7CiAjZW5kaWYKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vS1VSTEdvb2dsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9L
VVJMR29vZ2xlLmNwcAppbmRleCBiYTgwNjQwNTgzNjU5NWEwZjNlNWU3ZjlkMWRlOWE5Y2FkOTMw
MjBmLi42ZjgxNDI2NzJhZDgxNzU5NjY3OGVkZjZjOWQ2YmYxZDBkYTI4MDIxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9LVVJMR29vZ2xlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9LVVJMR29vZ2xlLmNwcApAQCAtMzkzLDkgKzM5Myw5IEBAIGNvbnN0IFN0
cmluZyYgS1VSTEdvb2dsZVByaXZhdGU6OnN0cmluZygpIGNvbnN0CiB2b2lkIEtVUkxHb29nbGVQ
cml2YXRlOjpyZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJ
bmZvKSBjb25zdAogewogICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8s
IHRoaXMpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fdXRmOCk7Ci0gICAgaW5m
by5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9zdHJpbmcpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVu
dGVkTWVtYmVyKG1faW5uZXJVUkwpOworICAgIGluZm8uYWRkTWVtYmVyKG1fdXRmOCk7CisgICAg
aW5mby5hZGRNZW1iZXIobV9zdHJpbmcpOworICAgIGluZm8uYWRkTWVtYmVyKG1faW5uZXJVUkwp
OwogfQogLy8gS1VSTCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vS1VSTFdURlVSTEltcGwuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0tV
UkxXVEZVUkxJbXBsLmgKaW5kZXggODY1MjdkM2YyNGRlZjc4NzM5NDEyNjNmNDJmODIzMzczNWE0
MDEyZC4uYzQyNDg3ZjRkMTRjNDAwMjI3NTViZTg1NTg4ZmRjNTU0NmVkOTAxNSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vS1VSTFdURlVSTEltcGwuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9LVVJMV1RGVVJMSW1wbC5oCkBAIC00NSw4ICs0NSw4IEBAIHB1Ymxp
YzoKICAgICB2b2lkIHJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9i
amVjdEluZm8pIGNvbnN0CiAgICAgewogICAgICAgICB0eXBlbmFtZSBNZW1vcnlPYmplY3RJbmZv
OjpDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzKTsKLSAgICAgICAgaW5mby5h
ZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9wYXJzZWRVUkwpOwotICAgICAgICBpbmZvLmFkZEluc3Ry
dW1lbnRlZE1lbWJlcihtX2ludmFsaWRVcmxTdHJpbmcpOworICAgICAgICBpbmZvLmFkZE1lbWJl
cihtX3BhcnNlZFVSTCk7CisgICAgICAgIGluZm8uYWRkTWVtYmVyKG1faW52YWxpZFVybFN0cmlu
Zyk7CiAgICAgfQogICAgIFBhc3NSZWZQdHI8S1VSTFdURlVSTEltcGw+IGNvcHkoKSBjb25zdDsK
IH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UcmVlU2hhcmVkLmggYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UcmVlU2hhcmVkLmgKaW5kZXggNGIxMjkxY2M3MzQyMjVk
YWUwNDkyNjNjN2MxMDRkMmM2MTI4ZDY4Ny4uMDk3MzdmODk3MDU3ZGZkZGRlYTgxZTdjZTllYTNl
YWFjZTk1ZTQ5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVHJlZVNoYXJl
ZC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RyZWVTaGFyZWQuaApAQCAtMTE0LDcg
KzExNCw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVj
dEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiAgICAgewogICAgICAgICBNZW1vcnlDbGFz
c0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzKTsKLSAgICAgICAgaW5mby5hZGRJbnN0
cnVtZW50ZWRNZW1iZXIobV9wYXJlbnQpOworICAgICAgICBpbmZvLmFkZE1lbWJlcihtX3BhcmVu
dCk7CiAgICAgfQogCiBwcml2YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvQ3Jvc3NmYWRlR2VuZXJhdGVkSW1hZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvQ3Jvc3NmYWRlR2VuZXJhdGVkSW1hZ2UuY3BwCmluZGV4IGJiN2Nj
YzI0MzkwYzRjNjgzMWQ4NGI3MGVjNzlhZjI3NzhlYTA1Y2IuLmRmNTFiMzJhZTI2N2Q5MWVkZDFl
ZGJiNzAzOTQ0NDliZWE3MDJkYjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0Nyb3NzZmFkZUdlbmVyYXRlZEltYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9Dcm9zc2ZhZGVHZW5lcmF0ZWRJbWFnZS5jcHAKQEAgLTExMiw4
ICsxMTIsOCBAQCB2b2lkIENyb3NzZmFkZUdlbmVyYXRlZEltYWdlOjpyZXBvcnRNZW1vcnlVc2Fn
ZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbgogewogICAgIE1lbW9yeUNsYXNzSW5m
byBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIFBsYXRmb3JtTWVtb3J5VHlwZXM6OkltYWdl
KTsKICAgICBHZW5lcmF0ZWRJbWFnZTo6cmVwb3J0TWVtb3J5VXNhZ2UobWVtb3J5T2JqZWN0SW5m
byk7Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9mcm9tSW1hZ2UpOwotICAgIGlu
Zm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fdG9JbWFnZSk7CisgICAgaW5mby5hZGRNZW1iZXIo
bV9mcm9tSW1hZ2UpOworICAgIGluZm8uYWRkTWVtYmVyKG1fdG9JbWFnZSk7CiB9CiAKIH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlLmNwcAppbmRleCAzYzY3Yjg0MWUw
OGJhMjI0NmZmMGMwYTRhMzJlYTU2OWRiYjc3ZTUxLi43OGU1ZTQ4NjM3NDVkNzg0Y2NjMmYxYjNh
NzcyMWViMmE4MGMxZWUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9JbWFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1h
Z2UuY3BwCkBAIC0yMDEsNyArMjAxLDcgQEAgdm9pZCBJbWFnZTo6Y29tcHV0ZUludHJpbnNpY0Rp
bWVuc2lvbnMoTGVuZ3RoJiBpbnRyaW5zaWNXaWR0aCwgTGVuZ3RoJiBpbnRyaW5zaWMKIHZvaWQg
SW1hZ2U6OnJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdElu
Zm8pIGNvbnN0CiB7CiAgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywg
dGhpcywgUGxhdGZvcm1NZW1vcnlUeXBlczo6SW1hZ2UpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVu
dGVkTWVtYmVyKG1fZGF0YSk7CisgICAgaW5mby5hZGRNZW1iZXIobV9kYXRhKTsKICAgICBpbmZv
LmFkZE1lbWJlcihtX2ltYWdlT2JzZXJ2ZXIpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2UuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmNwcAppbmRleCBiODE5
M2YwMmY4NTYzYTE3ZDU2MTE4NzgxMzBjMzQ2NmRhMmFhZWM5Li4wMGY1ODM5MDU1OTQ3MWViN2U0
ZjYzZDVhZGNhYWY2ZWFhZWQ1YjZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5jcHAKQEAgLTQ0NywxMyArNDQ3LDEz
IEBAIGJvb2wgUmVzb3VyY2VSZXF1ZXN0QmFzZTo6aXNDb25kaXRpb25hbCgpIGNvbnN0CiB2b2lk
IFJlc291cmNlUmVxdWVzdEJhc2U6OnJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8q
IG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiB7CiAgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVt
b3J5T2JqZWN0SW5mbywgdGhpcywgUGxhdGZvcm1NZW1vcnlUeXBlczo6TG9hZGVyKTsKLSAgICBp
bmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX3VybCk7Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50
ZWRNZW1iZXIobV9maXJzdFBhcnR5Rm9yQ29va2llcyk7Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50
ZWRNZW1iZXIobV9odHRwTWV0aG9kKTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX3VybCk7CisgICAg
aW5mby5hZGRNZW1iZXIobV9maXJzdFBhcnR5Rm9yQ29va2llcyk7CisgICAgaW5mby5hZGRNZW1i
ZXIobV9odHRwTWV0aG9kKTsKICAgICBpbmZvLmFkZEhhc2hNYXAobV9odHRwSGVhZGVyRmllbGRz
KTsKICAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1hcEVudHJpZXMobV9odHRwSGVhZGVyRmllbGRz
KTsKICAgICBpbmZvLmFkZEluc3RydW1lbnRlZFZlY3RvcihtX3Jlc3BvbnNlQ29udGVudERpc3Bv
c2l0aW9uRW5jb2RpbmdGYWxsYmFja0FycmF5KTsKLSAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1l
bWJlcihtX2h0dHBCb2R5KTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX2h0dHBCb2R5KTsKIH0KIAog
ZG91YmxlIFJlc291cmNlUmVxdWVzdEJhc2U6OmRlZmF1bHRUaW1lb3V0SW50ZXJ2YWwoKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlc3BvbnNl
QmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9u
c2VCYXNlLmNwcAppbmRleCA2MjM1MjQ1MTU3MjhmYTk2OWVhY2MyM2RmZDJmNWMxNGNjYWJjNDNk
Li4yNTIxZmIxMmUxOTdmYjQ5MWUxYmZmYjE0YTM4YmYwYTBjNjYwNzdjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNlLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNl
LmNwcApAQCAtNTcxLDExICs1NzEsMTEgQEAgdm9pZCBSZXNvdXJjZVJlc3BvbnNlQmFzZTo6bGF6
eUluaXQoSW5pdExldmVsIGluaXRMZXZlbCkgY29uc3QKIHZvaWQgUmVzb3VyY2VSZXNwb25zZUJh
c2U6OnJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8p
IGNvbnN0CiB7CiAgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhp
cywgUGxhdGZvcm1NZW1vcnlUeXBlczo6TG9hZGVyKTsKLSAgICBpbmZvLmFkZEluc3RydW1lbnRl
ZE1lbWJlcihtX3VybCk7Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9taW1lVHlw
ZSk7Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV90ZXh0RW5jb2RpbmdOYW1lKTsK
LSAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX3N1Z2dlc3RlZEZpbGVuYW1lKTsKLSAg
ICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX2h0dHBTdGF0dXNUZXh0KTsKKyAgICBpbmZv
LmFkZE1lbWJlcihtX3VybCk7CisgICAgaW5mby5hZGRNZW1iZXIobV9taW1lVHlwZSk7CisgICAg
aW5mby5hZGRNZW1iZXIobV90ZXh0RW5jb2RpbmdOYW1lKTsKKyAgICBpbmZvLmFkZE1lbWJlciht
X3N1Z2dlc3RlZEZpbGVuYW1lKTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX2h0dHBTdGF0dXNUZXh0
KTsKICAgICBpbmZvLmFkZEhhc2hNYXAobV9odHRwSGVhZGVyRmllbGRzKTsKICAgICBpbmZvLmFk
ZEluc3RydW1lbnRlZE1hcEVudHJpZXMobV9odHRwSGVhZGVyRmllbGRzKTsKICAgICBpbmZvLmFk
ZE1lbWJlcihtX3Jlc291cmNlTG9hZFRpbWluZyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc3R5bGUvRGF0YVJlZi5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0
eWxlL0RhdGFSZWYuaAppbmRleCA5MWE3ODQ1MWQyZDY4ZTRkNGJjZDMwYmUyMTZiOWQ5OTE3N2Ji
OGJlLi5iNGQ0YTc5NzBiOWJjYzdmMjlkNWIwNzk3MzA1YjhmNThiNzMzMzAwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvRGF0YVJlZi5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9EYXRhUmVmLmgKQEAgLTY3LDcgKzY3LDcgQEAgcHVibGlj
OgogICAgIHZvaWQgcmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2Jq
ZWN0SW5mbykgY29uc3QKICAgICB7CiAgICAgICAgIHR5cGVuYW1lIE1lbW9yeU9iamVjdEluZm86
OkNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMpOwotICAgICAgICBpbmZvLmFk
ZEluc3RydW1lbnRlZE1lbWJlcihtX2RhdGEpOworICAgICAgICBpbmZvLmFkZE1lbWJlcihtX2Rh
dGEpOwogICAgIH0KIAogcHJpdmF0ZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdHlsZS9SZW5kZXJTdHlsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5
bGUvUmVuZGVyU3R5bGUuY3BwCmluZGV4IGYxNjBkOWVjYzAxNzk0MDVhMTE1MWRjN2ZlZTgyY2Ex
MWU5NWM2ZmQuLjA2MDJjZmE5YmYyNmZjODJmNmE0YmJmMWY3MmYzOWRkM2MwYmIyNjUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmNwcApAQCAtMTYx
MSw4ICsxNjExLDggQEAgdm9pZCBSZW5kZXJTdHlsZTo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5
T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKICAgICBpbmZvLmFkZE1lbWJlciht
X2JhY2tncm91bmQpOwogICAgIC8vIEZJWE1FOiBzdXJyb25kIGNvbnRhaW5zIHNvbWUgZmllbGRz
IGUuZy4gQm9yZGVyRGF0YSB0aGF0IG1pZ2h0IG5lZWQgdG8gYmUgaW5zdHJ1bWVudGVkLgogICAg
IGluZm8uYWRkTWVtYmVyKHN1cnJvdW5kKTsKLSAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJl
cihyYXJlTm9uSW5oZXJpdGVkRGF0YSk7Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIo
cmFyZUluaGVyaXRlZERhdGEpOworICAgIGluZm8uYWRkTWVtYmVyKHJhcmVOb25Jbmhlcml0ZWRE
YXRhKTsKKyAgICBpbmZvLmFkZE1lbWJlcihyYXJlSW5oZXJpdGVkRGF0YSk7CiAgICAgLy8gRklY
TUU6IGluaGVyaXRlZCBjb250YWlucyBTdHlsZUltYWdlIGFuZCBGb250IGZpZWxkcyB0aGF0IG1p
Z2h0IG5lZWQgdG8gYmUgaW5zdHJ1bWVudGVkLgogICAgIGluZm8uYWRkTWVtYmVyKGluaGVyaXRl
ZCk7CiAgICAgaWYgKG1fY2FjaGVkUHNldWRvU3R5bGVzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZUluaGVyaXRlZERhdGEuY3BwIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZUluaGVyaXRlZERhdGEuY3BwCmluZGV4
IDE3MzMwZDkzNWViYjQ0NzU5NjkyZjkzNTFlMWI2MGU2MjhlOWEzNGEuLjM5NjJlN2Y2YTIyZDc2
N2JiYTI4NTBjNDVjNTAxM2EzOTJkN2JmNDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9zdHlsZS9TdHlsZVJhcmVJbmhlcml0ZWREYXRhLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlSW5oZXJpdGVkRGF0YS5jcHAKQEAgLTI2Niwx
MyArMjY2LDEzIEBAIHZvaWQgU3R5bGVSYXJlSW5oZXJpdGVkRGF0YTo6cmVwb3J0TWVtb3J5VXNh
Z2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mCiB7CiAgICAgTWVtb3J5Q2xhc3NJ
bmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9yeVR5cGVzOjpDU1Mp
OwogICAgIGluZm8uYWRkTWVtYmVyKHRleHRTaGFkb3cpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVu
dGVkTWVtYmVyKGhpZ2hsaWdodCk7CisgICAgaW5mby5hZGRNZW1iZXIoaGlnaGxpZ2h0KTsKICAg
ICBpbmZvLmFkZE1lbWJlcihjdXJzb3JEYXRhKTsKLSAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1l
bWJlcihoeXBoZW5hdGlvblN0cmluZyk7Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIo
bG9jYWxlKTsKLSAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcih0ZXh0RW1waGFzaXNDdXN0
b21NYXJrKTsKKyAgICBpbmZvLmFkZE1lbWJlcihoeXBoZW5hdGlvblN0cmluZyk7CisgICAgaW5m
by5hZGRNZW1iZXIobG9jYWxlKTsKKyAgICBpbmZvLmFkZE1lbWJlcih0ZXh0RW1waGFzaXNDdXN0
b21NYXJrKTsKICAgICBpbmZvLmFkZE1lbWJlcihxdW90ZXMpOwotICAgIGluZm8uYWRkSW5zdHJ1
bWVudGVkTWVtYmVyKG1fbGluZUdyaWQpOworICAgIGluZm8uYWRkTWVtYmVyKG1fbGluZUdyaWQp
OwogI2lmIEVOQUJMRShDU1NfVkFSSUFCTEVTKQogICAgIGluZm8uYWRkTWVtYmVyKG1fdmFyaWFi
bGVzKTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxl
L1N0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L3N0eWxlL1N0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEuY3BwCmluZGV4IDgxMWJmYTFmZWNmZTcx
N2Q3YWE5MjFiZmQyZjE0MTYxMmQwOTJiODUuLmJiZTA3YmZkZWM2Yzg2YzYxMjdlZmViN2FlOGIy
ZTQxMWFkMzgxYWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9T
dHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvc3R5bGUvU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YS5jcHAKQEAgLTMyNyw4ICszMjcsOCBA
QCB2b2lkIFN0eWxlUmFyZU5vbkluaGVyaXRlZERhdGE6OnJlcG9ydE1lbW9yeVVzYWdlKE1lbW9y
eU9iamVjdEluZm8qIG1lbW9yeU9iamVjdAogICAgIGluZm8uYWRkTWVtYmVyKG1fd3JhcFNoYXBl
SW5zaWRlKTsKICAgICBpbmZvLmFkZE1lbWJlcihtX3dyYXBTaGFwZU91dHNpZGUpOwogICAgIGlu
Zm8uYWRkTWVtYmVyKG1fY2xpcFBhdGgpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVy
KG1fZmxvd1RocmVhZCk7Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9yZWdpb25U
aHJlYWQpOworICAgIGluZm8uYWRkTWVtYmVyKG1fZmxvd1RocmVhZCk7CisgICAgaW5mby5hZGRN
ZW1iZXIobV9yZWdpb25UaHJlYWQpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGFpbnQuY3BwIGIvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR1BhaW50LmNwcAppbmRleCAyNDEyNjZiYTNlN2I3MzNkYTMzNzY1NWZlNzJiNmU3ODY3
OTlmNDQ0Li5jY2UxZjRlMzQ0MjA0YzRkZjA2YjEyNmM0Y2E1NDUwMDExZDA1ZGIxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGFpbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdQYWludC5jcHAKQEAgLTExNSw3ICsxMTUsNyBAQCBQYXNzUmVmUHRyPFNWR1BhaW50
PiBTVkdQYWludDo6Y2xvbmVGb3JDU1NPTSgpIGNvbnN0CiB2b2lkIFNWR1BhaW50OjpyZXBvcnRE
ZXNjZW5kYW50TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykg
Y29uc3QKIHsKICAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlz
LCBXZWJDb3JlTWVtb3J5VHlwZXM6OkNTUyk7Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1i
ZXIobV91cmkpOworICAgIGluZm8uYWRkTWVtYmVyKG1fdXJpKTsKIH0KIAogfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvc3ZnL2dyYXBoaWNzL1NWR0ltYWdlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3N2Zy9ncmFwaGljcy9TVkdJbWFnZS5jcHAKaW5kZXggMDdmNjcyNTdmMDA1MTBiMDkxZjY2
YWZmNjAyZmM3ZTg0ZmVlYmNlYi4uNmE3NmZhMzhjNWU3NTM2Yjg3NDE0NzJiYTRhOTBhZmM4N2Ji
OWJkNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL2dyYXBoaWNzL1NWR0ltYWdlLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvZ3JhcGhpY3MvU1ZHSW1hZ2UuY3BwCkBAIC0zNjEs
NyArMzYxLDcgQEAgdm9pZCBTVkdJbWFnZTo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0
SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKICAgICBJbWFnZTo6cmVwb3J0TWVtb3J5VXNh
Z2UobWVtb3J5T2JqZWN0SW5mbyk7CiAgICAgaW5mby5hZGRNZW1iZXIobV9jaHJvbWVDbGllbnQp
OwogICAgIGluZm8uYWRkTWVtYmVyKG1fcGFnZSk7Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRN
ZW1iZXIobV9mcmFtZUNhY2hlKTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX2ZyYW1lQ2FjaGUpOwog
fQogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL01lbW9yeUlu
c3RydW1lbnRhdGlvblRlc3QuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9NZW1v
cnlJbnN0cnVtZW50YXRpb25UZXN0LmNwcAppbmRleCA3NTZhZGJlMmQwNGJhZjRlNzI1NmQ2NGU3
ZDhlNGUzMjI0YWFmYjBmLi5lNWNiYWI0NDJlY2MyMGQ0YjEyYjY0YzY2MjhjNjc2NjA4M2VhNDI1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL01lbW9yeUluc3RydW1l
bnRhdGlvblRlc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvTWVtb3J5
SW5zdHJ1bWVudGF0aW9uVGVzdC5jcHAKQEAgLTE5Myw3ICsxOTMsNyBAQCBwdWJsaWM6CiAgICAg
dm9pZCByZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZv
KSBjb25zdAogICAgIHsKICAgICAgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0
SW5mbywgdGhpcywgV2ViQ29yZU1lbW9yeVR5cGVzOjpET00pOwotICAgICAgICBpbmZvLmFkZElu
c3RydW1lbnRlZE1lbWJlcihtX2luc3RydW1lbnRlZFVuZGVmaW5lZCk7CisgICAgICAgIGluZm8u
YWRkTWVtYmVyKG1faW5zdHJ1bWVudGVkVW5kZWZpbmVkKTsKICAgICB9CiAgICAgT3duUHRyPElu
c3RydW1lbnRlZFVuZGVmaW5lZD4gbV9pbnN0cnVtZW50ZWRVbmRlZmluZWQ7CiB9OwpAQCAtMjE0
LDcgKzIxNCw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9i
amVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiAgICAgewogICAgICAgICBNZW1vcnlD
bGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6
OkRPTSk7Ci0gICAgICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1faW5zdHJ1bWVudGVk
KTsKKyAgICAgICAgaW5mby5hZGRNZW1iZXIobV9pbnN0cnVtZW50ZWQpOwogICAgIH0KIAogICAg
IEluc3RydW1lbnRlZCBtX2luc3RydW1lbnRlZDsKQEAgLTIzOCw3ICsyMzgsNyBAQCBwdWJsaWM6
CiAgICAgdm9pZCByZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmpl
Y3RJbmZvKSBjb25zdAogICAgIHsKICAgICAgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5
T2JqZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9yeVR5cGVzOjpET00pOwotICAgICAgICBpbmZv
LmFkZEluc3RydW1lbnRlZE1lbWJlcihtX3ZhbHVlKTsKKyAgICAgICAgaW5mby5hZGRNZW1iZXIo
bV92YWx1ZSk7CiAgICAgfQogCiAgICAgVCBtX3ZhbHVlOwpAQCAtMzUyLDYgKzM1Miw3IEBAIFRF
U1QoTWVtb3J5SW5zdHJ1bWVudGF0aW9uVGVzdCwgZGV0ZWN0UmVwb3J0TWVtb3J5VXNhZ2VNZXRo
b2QpCiAgICAgICAgIEluc3RydW1lbnRlZE93bmVyPEluc3RydW1lbnRlZFRlbXBsYXRlPFN0cmlu
Zz4qID4gcm9vdCh2YWx1ZS5nZXQoKSk7CiAgICAgICAgIGltcGwuYWRkUm9vdE9iamVjdChyb290
KTsKICAgICAgICAgRVhQRUNUX0VRKHNpemVvZihJbnN0cnVtZW50ZWRUZW1wbGF0ZTxTdHJpbmc+
KSArIHNpemVvZihTdHJpbmdJbXBsKSwgaW1wbC5yZXBvcnRlZFNpemVGb3JBbGxUeXBlcygpKTsK
KyAgICAgICAgRVhQRUNUX0VRKDIsIHZpc2l0ZWRPYmplY3RzLnNpemUoKSk7CiAgICAgfQogICAg
IHsKICAgICAgICAgVmlzaXRlZE9iamVjdHMgdmlzaXRlZE9iamVjdHM7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>164388</attachid>
            <date>2012-09-17 06:58:36 -0700</date>
            <delta_ts>2012-09-17 07:29:10 -0700</delta_ts>
            <desc>rebaselined</desc>
            <filename>bug-96913-20120917175803.patch</filename>
            <type>text/plain</type>
            <size>104340</size>
            <attacher name="Ilya Tikhonovsky">loislo</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI4NzUzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDE3ZWY1YjgyYTFhNGNkZmEwMDAxODcz
NDQ1NjY4Yjc4MjM0YzMyYWUuLjk1NmZkZjM2ZjFkOTQ0OWU1ZTc1ZGJlNDM4MjE1MTU1ZWJkNTk1
YzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDUgKzEsMzQgQEAKIDIwMTItMDktMTcgIElseWEgVGlraG9ub3Zza3kgIDxs
b2lzbG9AY2hyb21pdW0ub3JnPgogCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IE5NSTogbm93IHdo
ZW4gd2UgY2FuIGRldGVjdCBpbnN0cnVtZW50ZWQgY2xhc3NlcyB3ZSBjYW4KKyAgICAgICAgcmVt
b3ZlIGFkZEluc3RydW1lbnRlZE1lbWJlciBhbmQgdXNlIGFkZE1lbWJlciBmb3IgZXZlcnl0aGlu
Zy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk2OTEz
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3dGYv
TWVtb3J5SW5zdHJ1bWVudGF0aW9uLmg6CisgICAgICAgIChXVEY6Ok1lbW9yeUluc3RydW1lbnRh
dGlvbjo6YWRkUm9vdE9iamVjdCk6CisgICAgICAgIChXVEY6Ok1lbW9yeUluc3RydW1lbnRhdGlv
bjo6YWRkT2JqZWN0KToKKyAgICAgICAgKFdURjo6TWVtb3J5SW5zdHJ1bWVudGF0aW9uOjphZGRP
YmplY3RJbXBsKToKKyAgICAgICAgKFdURik6CisgICAgICAgIChXVEY6Ok1lbW9yeUluc3RydW1l
bnRhdGlvbjo6YWRkSW5zdHJ1bWVudGVkQ29sbGVjdGlvbik6CisgICAgICAgIChXVEY6Ok1lbW9y
eUluc3RydW1lbnRhdGlvbjo6YWRkSW5zdHJ1bWVudGVkTWFwRW50cmllcyk6CisgICAgICAgIChX
VEY6Ok1lbW9yeUluc3RydW1lbnRhdGlvbjo6YWRkSW5zdHJ1bWVudGVkTWFwVmFsdWVzKToKKyAg
ICAgICAgKiB3dGYvdGV4dC9BdG9taWNTdHJpbmcuY3BwOgorICAgICAgICAoV1RGOjpBdG9taWNT
dHJpbmc6OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiB3dGYvdGV4dC9DU3RyaW5nLmg6
CisgICAgICAgIChXVEY6OkNTdHJpbmc6OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiB3
dGYvdGV4dC9TdHJpbmdJbXBsLmNwcDoKKyAgICAgICAgKFdURjo6U3RyaW5nSW1wbDo6cmVwb3J0
TWVtb3J5VXNhZ2UpOgorICAgICAgICAqIHd0Zi90ZXh0L1dURlN0cmluZy5jcHA6CisgICAgICAg
IChXVEY6OlN0cmluZzo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAgICAgICAqIHd0Zi91cmwvYXBp
L1BhcnNlZFVSTC5jcHA6CisgICAgICAgIChXVEY6OlBhcnNlZFVSTDo6cmVwb3J0TWVtb3J5VXNh
Z2UpOgorICAgICAgICAqIHd0Zi91cmwvYXBpL1VSTFN0cmluZy5jcHA6CisgICAgICAgIChXVEY6
OlVSTFN0cmluZzo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorCisyMDEyLTA5LTE3ICBJbHlhIFRpa2hv
bm92c2t5ICA8bG9pc2xvQGNocm9taXVtLm9yZz4KKwogICAgICAgICBVbnJldmlld2VkIGNvbXBp
bGF0aW9uIGZpeC4KIAogICAgICAgICAqIHd0Zi9NZW1vcnlJbnN0cnVtZW50YXRpb24uaDoKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwppbmRleCAwMmI2MjdmYzg0MTA1ZTBkOTVlOTUzYmJjZGZjZjA4MTE2ZTY4MWFhLi5jMGMx
MGUyMTE1NzMxMjJlZGIyOGI4NGJhNjcxYmMwNjIwNDM3MjQ5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTkzIEBACisyMDEyLTA5LTE3ICBJbHlhIFRpa2hvbm92c2t5ICA8bG9pc2xvQGNocm9taXVt
Lm9yZz4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBOTUk6IG5vdyB3aGVuIHdlIGNhbiBkZXRl
Y3QgaW5zdHJ1bWVudGVkIGNsYXNzZXMgd2UgY2FuCisgICAgICAgIHJlbW92ZSBhZGRJbnN0cnVt
ZW50ZWRNZW1iZXIgYW5kIHVzZSBhZGRNZW1iZXIgZm9yIGV2ZXJ5dGhpbmcuCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NjkxMworCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogYmluZGluZ3MvdjgvRE9NRGF0
YVN0b3JlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRPTURhdGFTdG9yZTo6cmVwb3J0TWVtb3J5
VXNhZ2UpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L0ludHJ1c2l2ZURPTVdyYXBwZXJNYXAuaDoK
KyAgICAgICAgKiBiaW5kaW5ncy92OC9WOFBlcklzb2xhdGVEYXRhLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlY4UGVySXNvbGF0ZURhdGE6OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBj
c3MvQ1NTQm9yZGVySW1hZ2VTbGljZVZhbHVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU0Jv
cmRlckltYWdlU2xpY2VWYWx1ZTo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKToKKyAgICAg
ICAgKiBjc3MvQ1NTQ2FsY3VsYXRpb25WYWx1ZS5jcHA6CisgICAgICAgICogY3NzL0NTU0NhbnZh
c1ZhbHVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU0NhbnZhc1ZhbHVlOjpyZXBvcnREZXNj
ZW5kYW50TWVtb3J5VXNhZ2UpOgorICAgICAgICAqIGNzcy9DU1NDaGFyc2V0UnVsZS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpDU1NDaGFyc2V0UnVsZTo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVz
YWdlKToKKyAgICAgICAgKiBjc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkNTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbjo6cmVwb3J0TWVtb3J5
VXNhZ2UpOgorICAgICAgICAqIGNzcy9DU1NDcm9zc2ZhZGVWYWx1ZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpDU1NDcm9zc2ZhZGVWYWx1ZTo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKToK
KyAgICAgICAgKiBjc3MvQ1NTRm9udEZhY2VSdWxlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNT
U0ZvbnRGYWNlUnVsZTo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBj
c3MvQ1NTRm9udEZhY2VTcmNWYWx1ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NGb250RmFj
ZVNyY1ZhbHVlOjpyZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2UpOgorICAgICAgICAqIGNzcy9D
U1NGdW5jdGlvblZhbHVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU0Z1bmN0aW9uVmFsdWU6
OnJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZSk6CisgICAgICAgICogY3NzL0NTU0dyYWRpZW50
VmFsdWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTR3JhZGllbnRDb2xvclN0b3A6OnJlcG9y
dE1lbW9yeVVzYWdlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0dyYWRpZW50VmFsdWU6OnJlcG9y
dEJhc2VDbGFzc01lbW9yeVVzYWdlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0xpbmVhckdyYWRp
ZW50VmFsdWU6OnJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZSk6CisgICAgICAgIChXZWJDb3Jl
OjpDU1NSYWRpYWxHcmFkaWVudFZhbHVlOjpyZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2UpOgor
ICAgICAgICAqIGNzcy9DU1NJbWFnZVNldFZhbHVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNT
U0ltYWdlU2V0VmFsdWU6OkltYWdlV2l0aFNjYWxlOjpyZXBvcnRNZW1vcnlVc2FnZSk6CisgICAg
ICAgICogY3NzL0NTU0ltYWdlVmFsdWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTSW1hZ2VW
YWx1ZTo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBjc3MvQ1NTSW1w
b3J0UnVsZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NJbXBvcnRSdWxlOjpyZXBvcnREZXNj
ZW5kYW50TWVtb3J5VXNhZ2UpOgorICAgICAgICAqIGNzcy9DU1NNZWRpYVJ1bGUuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Q1NTTWVkaWFSdWxlOjpyZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2Up
OgorICAgICAgICAqIGNzcy9DU1NQYWdlUnVsZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NQ
YWdlUnVsZTo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBjc3MvQ1NT
UHJpbWl0aXZlVmFsdWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJpbWl0aXZlVmFsdWU6
OnJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZSk6CisgICAgICAgICogY3NzL0NTU1Byb3BlcnR5
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1Byb3BlcnR5OjpyZXBvcnRNZW1vcnlVc2FnZSk6
CisgICAgICAgICogY3NzL0NTU1JlZmxlY3RWYWx1ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpD
U1NSZWZsZWN0VmFsdWU6OnJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZSk6CisgICAgICAgICog
Y3NzL0NTU1J1bGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUnVsZTo6cmVwb3J0QmFzZUNs
YXNzTWVtb3J5VXNhZ2UpOgorICAgICAgICAqIGNzcy9DU1NSdWxlTGlzdC5oOgorICAgICAgICAq
IGNzcy9DU1NTdHlsZVJ1bGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTU3R5bGVSdWxlOjpy
ZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2UpOgorICAgICAgICAqIGNzcy9DU1NTdHlsZVNoZWV0
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1N0eWxlU2hlZXQ6OnJlcG9ydE1lbW9yeVVzYWdl
KToKKyAgICAgICAgKiBjc3MvQ1NTVmFsdWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VGV4dENs
b25lQ1NTVmFsdWU6OnJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZSk6CisgICAgICAgICogY3Nz
L0NTU1ZhcmlhYmxlVmFsdWUuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1ZhcmlhYmxlVmFsdWU6
OnJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZSk6CisgICAgICAgICogY3NzL0ZvbnRGZWF0dXJl
VmFsdWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Rm9udEZlYXR1cmVWYWx1ZTo6cmVwb3J0RGVz
Y2VuZGFudE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBjc3MvRm9udFZhbHVlLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkZvbnRWYWx1ZTo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKToKKyAg
ICAgICAgKiBjc3MvTWVkaWFMaXN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhTGlzdDo6
cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAgICAgICAqIGNzcy9NZWRpYVF1ZXJ5LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6Ok1lZGlhUXVlcnk6OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBj
c3MvTWVkaWFRdWVyeUV4cC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVF1ZXJ5RXhwOjpy
ZXBvcnRNZW1vcnlVc2FnZSk6CisgICAgICAgICogY3NzL1Byb3BlcnR5U2V0Q1NTU3R5bGVEZWNs
YXJhdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQcm9wZXJ0eVNldENTU1N0eWxlRGVjbGFy
YXRpb246OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUnVsZUNT
U1N0eWxlRGVjbGFyYXRpb246OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAgKFdlYkNvcmU6
OklubGluZUNTU1N0eWxlRGVjbGFyYXRpb246OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAg
KiBjc3MvU2hhZG93VmFsdWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2hhZG93VmFsdWU6OnJl
cG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZSk6CisgICAgICAgICogY3NzL1N0eWxlUHJvcGVydHlT
ZXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVQcm9wZXJ0eVNldDo6cmVwb3J0TWVtb3J5
VXNhZ2UpOgorICAgICAgICAqIGNzcy9TdHlsZVJlc29sdmVyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlN0eWxlUmVzb2x2ZXI6OmNvbGxlY3RNYXRjaGluZ1J1bGVzRm9yTGlzdCk6CisgICAgICAg
ICogY3NzL1N0eWxlUnVsZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJ1bGU6OnJlcG9y
dERlc2NlbmRhbnRNZW1vcnlVc2FnZSk6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJ1bGVQYWdl
OjpyZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2UpOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVS
dWxlRm9udEZhY2U6OnJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZSk6CisgICAgICAgIChXZWJD
b3JlOjpTdHlsZVJ1bGVNZWRpYTo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKToKKyAgICAg
ICAgKFdlYkNvcmU6OlN0eWxlUnVsZVJlZ2lvbjo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdl
KToKKyAgICAgICAgKiBjc3MvU3R5bGVSdWxlSW1wb3J0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlN0eWxlUnVsZUltcG9ydDo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKToKKyAgICAgICAg
KiBjc3MvU3R5bGVTaGVldENvbnRlbnRzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlU2hl
ZXRDb250ZW50czo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAgICAgICAqIGNzcy9XZWJLaXRDU1NL
ZXlmcmFtZVJ1bGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVLZXlmcmFtZTo6cmVwb3J0
TWVtb3J5VXNhZ2UpOgorICAgICAgICAoV2ViQ29yZTo6V2ViS2l0Q1NTS2V5ZnJhbWVSdWxlOjpy
ZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2UpOgorICAgICAgICAqIGNzcy9XZWJLaXRDU1NLZXlm
cmFtZXNSdWxlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUnVsZUtleWZyYW1lczo6cmVw
b3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKToKKyAgICAgICAgKFdlYkNvcmU6OldlYktpdENTU0tl
eWZyYW1lc1J1bGU6OnJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZSk6CisgICAgICAgICogY3Nz
L1dlYktpdENTU1JlZ2lvblJ1bGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2ViS2l0Q1NTUmVn
aW9uUnVsZTo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBjc3MvV2Vi
S2l0Q1NTU1ZHRG9jdW1lbnRWYWx1ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJLaXRDU1NT
VkdEb2N1bWVudFZhbHVlOjpyZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2UpOgorICAgICAgICAq
IGNzcy9XZWJLaXRDU1NTaGFkZXJWYWx1ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJLaXRD
U1NTaGFkZXJWYWx1ZTo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBk
b20vQXR0cmlidXRlLmg6CisgICAgICAgIChXZWJDb3JlOjpBdHRyaWJ1dGU6OnJlcG9ydE1lbW9y
eVVzYWdlKToKKyAgICAgICAgKiBkb20vQ2hhcmFjdGVyRGF0YS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpDaGFyYWN0ZXJEYXRhOjpyZXBvcnRNZW1vcnlVc2FnZSk6CisgICAgICAgICogZG9tL0Nv
bnRhaW5lck5vZGUuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRhaW5lck5vZGU6OnJlcG9ydE1l
bW9yeVVzYWdlKToKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6RG9jdW1lbnQ6OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBkb20vRWxlbWVudC5o
OgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAgICAg
ICAqIGRvbS9FbGVtZW50QXR0cmlidXRlRGF0YS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFbGVt
ZW50QXR0cmlidXRlRGF0YTo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAgICAgICAqIGRvbS9FdmVu
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFdmVudDo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAg
ICAgICAqIGRvbS9Ob2RlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5vZGU6OnJlcG9ydE1lbW9y
eVVzYWdlKToKKyAgICAgICAgKiBkb20vUXVhbGlmaWVkTmFtZS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpRdWFsaWZpZWROYW1lOjpyZXBvcnRNZW1vcnlVc2FnZSk6CisgICAgICAgIChXZWJDb3Jl
OjpRdWFsaWZpZWROYW1lOjpRdWFsaWZpZWROYW1lSW1wbDo6cmVwb3J0TWVtb3J5VXNhZ2UpOgor
ICAgICAgICAqIGh0bWwvSFRNTEltYWdlRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpI
VE1MSW1hZ2VFbGVtZW50OjpyZXBvcnRNZW1vcnlVc2FnZSk6CisgICAgICAgICogbG9hZGVyL0Rv
Y3VtZW50TG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50TG9hZGVyOjpyZXBv
cnRNZW1vcnlVc2FnZSk6CisgICAgICAgICogbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyOjpyZXBvcnRNZW1vcnlVc2FnZSk6CisgICAgICAgICog
bG9hZGVyL01haW5SZXNvdXJjZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNYWluUmVz
b3VyY2VMb2FkZXI6OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBsb2FkZXIvUmVzb3Vy
Y2VMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VMb2FkZXI6OnJlcG9ydE1l
bW9yeVVzYWdlKToKKyAgICAgICAgKiBsb2FkZXIvU3VicmVzb3VyY2VMb2FkZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6U3VicmVzb3VyY2VMb2FkZXI6OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAg
ICAgICAgKiBsb2FkZXIvU3Vic3RpdHV0ZURhdGEuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3Vi
c3RpdHV0ZURhdGE6OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUv
Q2FjaGVkQ1NTU3R5bGVTaGVldC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRDU1NTdHls
ZVNoZWV0OjpyZXBvcnRNZW1vcnlVc2FnZSk6CisgICAgICAgICogbG9hZGVyL2NhY2hlL0NhY2hl
ZEZvbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkRm9udDo6cmVwb3J0TWVtb3J5VXNh
Z2UpOgorICAgICAgICAqIGxvYWRlci9jYWNoZS9DYWNoZWRJbWFnZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpDYWNoZWRJbWFnZTo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAgICAgICAqIGxvYWRl
ci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNv
dXJjZTo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAgICAgICAqIGxvYWRlci9jYWNoZS9DYWNoZWRS
ZXNvdXJjZUhhbmRsZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZUhhbmRs
ZUJhc2U6OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVk
UmVzb3VyY2VMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2VMb2Fk
ZXI6OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkU1ZH
RG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkU1ZHRG9jdW1lbnQ6OnJlcG9y
dE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkU2NyaXB0LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFNjcmlwdDo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAg
ICAgICAqIGxvYWRlci9jYWNoZS9DYWNoZWRTaGFkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
Q2FjaGVkU2hhZGVyOjpyZXBvcnRNZW1vcnlVc2FnZSk6CisgICAgICAgICogbG9hZGVyL2NhY2hl
L0NhY2hlZFhTTFN0eWxlU2hlZXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkWFNMU3R5
bGVTaGVldDo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAgICAgICAqIGxvYWRlci9jYWNoZS9NZW1v
cnlDYWNoZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZW1vcnlDYWNoZTo6cmVwb3J0TWVtb3J5
VXNhZ2UpOgorICAgICAgICAqIHBhZ2UvRnJhbWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJh
bWU6OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9LVVJMLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OktVUkw6OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBwbGF0
Zm9ybS9LVVJMR29vZ2xlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OktVUkxHb29nbGVQcml2YXRl
OjpyZXBvcnRNZW1vcnlVc2FnZSk6CisgICAgICAgICogcGxhdGZvcm0vS1VSTFdURlVSTEltcGwu
aDoKKyAgICAgICAgKFdlYkNvcmU6OktVUkxXVEZVUkxJbXBsOjpyZXBvcnRNZW1vcnlVc2FnZSk6
CisgICAgICAgICogcGxhdGZvcm0vVHJlZVNoYXJlZC5oOgorICAgICAgICAoV2ViQ29yZTo6VHJl
ZVNoYXJlZDo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L0Nyb3NzZmFkZUdlbmVyYXRlZEltYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNyb3NzZmFk
ZUdlbmVyYXRlZEltYWdlOjpyZXBvcnRNZW1vcnlVc2FnZSk6CisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvSW1hZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2U6OnJlcG9ydE1lbW9y
eVVzYWdlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2Uu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0QmFzZTo6cmVwb3J0TWVtb3J5
VXNhZ2UpOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXNwb25zZUJhc2Uu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZUJhc2U6OnJlcG9ydE1lbW9y
eVVzYWdlKToKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvRGF0YVJlZi5oOgorICAgICAgICAo
V2ViQ29yZTo6RGF0YVJlZjo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAgICAgICAqIHJlbmRlcmlu
Zy9zdHlsZS9SZW5kZXJTdHlsZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6
cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVJ
bmhlcml0ZWREYXRhLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUmFyZUluaGVyaXRlZERh
dGE6OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvU3R5bGVS
YXJlTm9uSW5oZXJpdGVkRGF0YS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJhcmVOb25J
bmhlcml0ZWREYXRhOjpyZXBvcnRNZW1vcnlVc2FnZSk6CisgICAgICAgICogc3ZnL1NWR1BhaW50
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1BhaW50OjpyZXBvcnREZXNjZW5kYW50TWVtb3J5
VXNhZ2UpOgorICAgICAgICAqIHN2Zy9ncmFwaGljcy9TVkdJbWFnZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpTVkdJbWFnZTo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorCiAyMDEyLTA5LTE3ICBZdXJ5
IFNlbWlraGF0c2t5ICA8eXVyeXNAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFdlYiBJbnNwZWN0
b3I6IE5NSSBkb24ndCBkb3VibGUgY291bnQgZmllbGRzIG9mIFN0YXRpY0RPTURhdGFTdG9yZQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCBmNjBmMzU1OTU0YzMwMjVlOWE1MTNjMGQxMzQ5
MGNjMzNmYWI3ZjBhLi45YmRiZjMyODg1OWJhY2RlMjUxOTE5MGFhMTJkMmZmOTE5ZTQyMTBjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDE4IEBACiAyMDEyLTA5LTE3ICBJ
bHlhIFRpa2hvbm92c2t5ICA8bG9pc2xvQGNocm9taXVtLm9yZz4KIAorICAgICAgICBXZWIgSW5z
cGVjdG9yOiBOTUk6IG5vdyB3aGVuIHdlIGNhbiBkZXRlY3QgaW5zdHJ1bWVudGVkIGNsYXNzZXMg
d2UgY2FuCisgICAgICAgIHJlbW92ZSBhZGRJbnN0cnVtZW50ZWRNZW1iZXIgYW5kIHVzZSBhZGRN
ZW1iZXIgZm9yIGV2ZXJ5dGhpbmcuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD05NjkxMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgICogdGVzdHMvTWVtb3J5SW5zdHJ1bWVudGF0aW9uVGVzdC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpJbnN0cnVtZW50ZWRET006OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAg
ICAgKFdlYkNvcmU6Ok5vblZpcnR1YWxJbnN0cnVtZW50ZWQ6OnJlcG9ydE1lbW9yeVVzYWdlKToK
KyAgICAgICAgKFdlYkNvcmU6Okluc3RydW1lbnRlZE93bmVyOjpyZXBvcnRNZW1vcnlVc2FnZSk6
CisKKzIwMTItMDktMTcgIElseWEgVGlraG9ub3Zza3kgIDxsb2lzbG9AY2hyb21pdW0ub3JnPgor
CiAgICAgICAgIFVucmV2aWV3ZWQgc2luZ2xlIGxpbmUgZml4IGZvciBtYWMgY2hyb21pdW0gY2Fu
YXJ5IGJvdC4KIAogICAgICAgICAqIHRlc3RzL01lbW9yeUluc3RydW1lbnRhdGlvblRlc3QuY3Bw
OgpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvTWVtb3J5SW5zdHJ1bWVudGF0aW9uLmggYi9T
b3VyY2UvV1RGL3d0Zi9NZW1vcnlJbnN0cnVtZW50YXRpb24uaAppbmRleCA5MWYxNDU0NWQwYmYx
MThjMmE1ZGZjZmZjYmQ3OWUzZGIyMjFlYzFlLi4xMzFhZjg0OTdhY2VhZDNhOWI5Y2FjMmRlZTE3
NDdjODJlOTBiNjEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9NZW1vcnlJbnN0cnVtZW50
YXRpb24uaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9NZW1vcnlJbnN0cnVtZW50YXRpb24uaApAQCAt
ODcsNyArODcsNyBAQCBwdWJsaWM6CiAKICAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gdm9pZCBh
ZGRSb290T2JqZWN0KGNvbnN0IFQmIHQpCiAgICAgewotICAgICAgICBhZGRJbnN0cnVtZW50ZWRP
YmplY3QodCwgMCk7CisgICAgICAgIGFkZE9iamVjdCh0LCAwKTsKICAgICAgICAgcHJvY2Vzc0Rl
ZmVycmVkSW5zdHJ1bWVudGVkUG9pbnRlcnMoKTsKICAgICB9CiAKQEAgLTE0MSwxMiArMTQxLDcg
QEAgcHJpdmF0ZToKICAgICAgICAgY29uc3QgTWVtb3J5T2JqZWN0VHlwZSBtX293bmVyT2JqZWN0
VHlwZTsKICAgICB9OwogCi0gICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gdm9pZCBhZGRPYmplY3Qo
Y29uc3QgVCYgdCwgTWVtb3J5T2JqZWN0VHlwZSBvd25lck9iamVjdFR5cGUpCi0gICAgewotICAg
ICAgICBPd25pbmdUcmFpdHM8VD46OmFkZE9iamVjdCh0aGlzLCB0LCBvd25lck9iamVjdFR5cGUp
OwotICAgIH0KLQotICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHZvaWQgYWRkSW5zdHJ1bWVudGVk
T2JqZWN0KGNvbnN0IFQmIHQsIE1lbW9yeU9iamVjdFR5cGUgb3duZXJPYmplY3RUeXBlKSB7IE93
bmluZ1RyYWl0czxUPjo6YWRkSW5zdHJ1bWVudGVkT2JqZWN0KHRoaXMsIHQsIG93bmVyT2JqZWN0
VHlwZSk7IH0KKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiB2b2lkIGFkZE9iamVjdChjb25zdCBU
JiB0LCBNZW1vcnlPYmplY3RUeXBlIG93bmVyT2JqZWN0VHlwZSkgeyBPd25pbmdUcmFpdHM8VD46
OmFkZE9iamVjdCh0aGlzLCB0LCBvd25lck9iamVjdFR5cGUpOyB9CiAgICAgdGVtcGxhdGU8dHlw
ZW5hbWUgSGFzaE1hcFR5cGU+IHZvaWQgYWRkSGFzaE1hcChjb25zdCBIYXNoTWFwVHlwZSYsIE1l
bW9yeU9iamVjdFR5cGUsIGJvb2wgY29udGVudE9ubHkgPSBmYWxzZSk7CiAgICAgdGVtcGxhdGU8
dHlwZW5hbWUgSGFzaFNldFR5cGU+IHZvaWQgYWRkSGFzaFNldChjb25zdCBIYXNoU2V0VHlwZSYs
IE1lbW9yeU9iamVjdFR5cGUsIGJvb2wgY29udGVudE9ubHkgPSBmYWxzZSk7CiAgICAgdGVtcGxh
dGU8dHlwZW5hbWUgQ29sbGVjdGlvblR5cGU+IHZvaWQgYWRkSW5zdHJ1bWVudGVkQ29sbGVjdGlv
bihjb25zdCBDb2xsZWN0aW9uVHlwZSYsIE1lbW9yeU9iamVjdFR5cGUsIGJvb2wgY29udGVudE9u
bHkgPSBmYWxzZSk7CkBAIC0xNjMsMTAgKzE1OCw2IEBAIHByaXZhdGU6CiAKICAgICB0ZW1wbGF0
ZTx0eXBlbmFtZSBUPgogICAgIHN0cnVjdCBPd25pbmdUcmFpdHMgeyAvLyBEZWZhdWx0IGJ5UmVm
ZXJlbmNlIGltcGxlbWVudGF0aW9uLgotICAgICAgICBzdGF0aWMgdm9pZCBhZGRJbnN0cnVtZW50
ZWRPYmplY3QoTWVtb3J5SW5zdHJ1bWVudGF0aW9uKiBpbnN0cnVtZW50YXRpb24sIGNvbnN0IFQm
IHQsIE1lbW9yeU9iamVjdFR5cGUgb3duZXJPYmplY3RUeXBlKQotICAgICAgICB7Ci0gICAgICAg
ICAgICBpbnN0cnVtZW50YXRpb24tPmFkZEluc3RydW1lbnRlZE9iamVjdEltcGwoJnQsIG93bmVy
T2JqZWN0VHlwZSwgYnlSZWZlcmVuY2UpOwotICAgICAgICB9CiAgICAgICAgIHN0YXRpYyB2b2lk
IGFkZE9iamVjdChNZW1vcnlJbnN0cnVtZW50YXRpb24qIGluc3RydW1lbnRhdGlvbiwgY29uc3Qg
VCYgdCwgTWVtb3J5T2JqZWN0VHlwZSBvd25lck9iamVjdFR5cGUpCiAgICAgICAgIHsKICAgICAg
ICAgICAgIGluc3RydW1lbnRhdGlvbi0+YWRkT2JqZWN0SW1wbCgmdCwgb3duZXJPYmplY3RUeXBl
LCBieVJlZmVyZW5jZSk7CkBAIC0xNzUsMjAgKzE2NiwxMiBAQCBwcml2YXRlOgogCiAgICAgdGVt
cGxhdGU8dHlwZW5hbWUgVD4KICAgICBzdHJ1Y3QgT3duaW5nVHJhaXRzPFQqPiB7IC8vIEN1c3Rv
bSBieVBvaW50ZXIgaW1wbGVtZW50YXRpb24uCi0gICAgICAgIHN0YXRpYyB2b2lkIGFkZEluc3Ry
dW1lbnRlZE9iamVjdChNZW1vcnlJbnN0cnVtZW50YXRpb24qIGluc3RydW1lbnRhdGlvbiwgY29u
c3QgVCogY29uc3QmIHQsIE1lbW9yeU9iamVjdFR5cGUgb3duZXJPYmplY3RUeXBlKQotICAgICAg
ICB7Ci0gICAgICAgICAgICBpbnN0cnVtZW50YXRpb24tPmFkZEluc3RydW1lbnRlZE9iamVjdElt
cGwodCwgb3duZXJPYmplY3RUeXBlLCBieVBvaW50ZXIpOwotICAgICAgICB9CiAgICAgICAgIHN0
YXRpYyB2b2lkIGFkZE9iamVjdChNZW1vcnlJbnN0cnVtZW50YXRpb24qIGluc3RydW1lbnRhdGlv
biwgY29uc3QgVCogY29uc3QmIHQsIE1lbW9yeU9iamVjdFR5cGUgb3duZXJPYmplY3RUeXBlKQog
ICAgICAgICB7CiAgICAgICAgICAgICBpbnN0cnVtZW50YXRpb24tPmFkZE9iamVjdEltcGwodCwg
b3duZXJPYmplY3RUeXBlLCBieVBvaW50ZXIpOwogICAgICAgICB9CiAgICAgfTsKIAotICAgIHRl
bXBsYXRlPHR5cGVuYW1lIFQ+IHZvaWQgYWRkSW5zdHJ1bWVudGVkT2JqZWN0SW1wbChjb25zdCBU
KiBjb25zdCYsIE1lbW9yeU9iamVjdFR5cGUsIE1lbW9yeU93bmluZ1R5cGUpOwotICAgIHRlbXBs
YXRlPHR5cGVuYW1lIFQ+IHZvaWQgYWRkSW5zdHJ1bWVudGVkT2JqZWN0SW1wbChjb25zdCBPd25Q
dHI8VD4qIGNvbnN0JiwgTWVtb3J5T2JqZWN0VHlwZSwgTWVtb3J5T3duaW5nVHlwZSk7Ci0gICAg
dGVtcGxhdGU8dHlwZW5hbWUgVD4gdm9pZCBhZGRJbnN0cnVtZW50ZWRPYmplY3RJbXBsKGNvbnN0
IFJlZlB0cjxUPiogY29uc3QmLCBNZW1vcnlPYmplY3RUeXBlLCBNZW1vcnlPd25pbmdUeXBlKTsK
LQogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHZvaWQgYWRkT2JqZWN0SW1wbChjb25zdCBUKiBj
b25zdCYsIE1lbW9yeU9iamVjdFR5cGUsIE1lbW9yeU93bmluZ1R5cGUpOwogICAgIHRlbXBsYXRl
PHR5cGVuYW1lIFQ+IHZvaWQgYWRkT2JqZWN0SW1wbChjb25zdCBPd25QdHI8VD4qIGNvbnN0Jiwg
TWVtb3J5T2JqZWN0VHlwZSwgTWVtb3J5T3duaW5nVHlwZSk7CiAgICAgdGVtcGxhdGU8dHlwZW5h
bWUgVD4gdm9pZCBhZGRPYmplY3RJbXBsKGNvbnN0IFJlZlB0cjxUPiogY29uc3QmLCBNZW1vcnlP
YmplY3RUeXBlLCBNZW1vcnlPd25pbmdUeXBlKTsKQEAgLTIwNSw3ICsxODgsNiBAQCBwdWJsaWM6
CiAgICAgICAgIG1fb2JqZWN0VHlwZSA9IG1lbW9yeU9iamVjdEluZm8tPm9iamVjdFR5cGUoKTsK
ICAgICB9CiAKLSAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBNPiB2b2lkIGFkZEluc3RydW1lbnRlZE1l
bWJlcihjb25zdCBNJiBtZW1iZXIpIHsgbV9tZW1vcnlJbnN0cnVtZW50YXRpb24tPmFkZEluc3Ry
dW1lbnRlZE9iamVjdChtZW1iZXIsIG1fb2JqZWN0VHlwZSk7IH0KICAgICB0ZW1wbGF0ZTx0eXBl
bmFtZSBNPiB2b2lkIGFkZE1lbWJlcihjb25zdCBNJiBtZW1iZXIpIHsgbV9tZW1vcnlJbnN0cnVt
ZW50YXRpb24tPmFkZE9iamVjdChtZW1iZXIsIG1fb2JqZWN0VHlwZSk7IH0KIAogICAgIHRlbXBs
YXRlPHR5cGVuYW1lIEhhc2hNYXBUeXBlPiB2b2lkIGFkZEhhc2hNYXAoY29uc3QgSGFzaE1hcFR5
cGUmIG1hcCkgeyBtX21lbW9yeUluc3RydW1lbnRhdGlvbi0+YWRkSGFzaE1hcChtYXAsIG1fb2Jq
ZWN0VHlwZSwgdHJ1ZSk7IH0KQEAgLTIzMSw3ICsyMTMsNyBAQCBwcml2YXRlOgogfTsKIAogdGVt
cGxhdGU8dHlwZW5hbWUgVD4KLXZvaWQgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjphZGRJbnN0cnVt
ZW50ZWRPYmplY3RJbXBsKGNvbnN0IFQqIGNvbnN0JiBvYmplY3QsIE1lbW9yeU9iamVjdFR5cGUg
b3duZXJPYmplY3RUeXBlLCBNZW1vcnlPd25pbmdUeXBlIG93bmluZ1R5cGUpCit2b2lkIE1lbW9y
eUluc3RydW1lbnRhdGlvbjo6YWRkT2JqZWN0SW1wbChjb25zdCBUKiBjb25zdCYgb2JqZWN0LCBN
ZW1vcnlPYmplY3RUeXBlIG93bmVyT2JqZWN0VHlwZSwgTWVtb3J5T3duaW5nVHlwZSBvd25pbmdU
eXBlKQogewogICAgIGlmIChvd25pbmdUeXBlID09IGJ5UmVmZXJlbmNlKSB7CiAgICAgICAgIE1l
bW9yeU9iamVjdEluZm8gbWVtb3J5T2JqZWN0SW5mbyh0aGlzLCBvd25lck9iamVjdFR5cGUpOwpA
QCAtMjQ0LDIyICsyMjYsNiBAQCB2b2lkIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6YWRkSW5zdHJ1
bWVudGVkT2JqZWN0SW1wbChjb25zdCBUKiBjb25zdCYgb2JqZWN0LCBNZQogfQogCiB0ZW1wbGF0
ZTx0eXBlbmFtZSBUPgotdm9pZCBNZW1vcnlJbnN0cnVtZW50YXRpb246OmFkZEluc3RydW1lbnRl
ZE9iamVjdEltcGwoY29uc3QgT3duUHRyPFQ+KiBjb25zdCYgb2JqZWN0LCBNZW1vcnlPYmplY3RU
eXBlIG93bmVyT2JqZWN0VHlwZSwgTWVtb3J5T3duaW5nVHlwZSBvd25pbmdUeXBlKQotewotICAg
IGlmIChvd25pbmdUeXBlID09IGJ5UG9pbnRlcikKLSAgICAgICAgY291bnRPYmplY3RTaXplKG93
bmVyT2JqZWN0VHlwZSwgc2l6ZW9mKCpvYmplY3QpKTsKLSAgICBhZGRJbnN0cnVtZW50ZWRPYmpl
Y3RJbXBsKG9iamVjdC0+Z2V0KCksIG93bmVyT2JqZWN0VHlwZSwgYnlQb2ludGVyKTsKLX0KLQot
dGVtcGxhdGU8dHlwZW5hbWUgVD4KLXZvaWQgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjphZGRJbnN0
cnVtZW50ZWRPYmplY3RJbXBsKGNvbnN0IFJlZlB0cjxUPiogY29uc3QmIG9iamVjdCwgTWVtb3J5
T2JqZWN0VHlwZSBvd25lck9iamVjdFR5cGUsIE1lbW9yeU93bmluZ1R5cGUgb3duaW5nVHlwZSkK
LXsKLSAgICBpZiAob3duaW5nVHlwZSA9PSBieVBvaW50ZXIpCi0gICAgICAgIGNvdW50T2JqZWN0
U2l6ZShvd25lck9iamVjdFR5cGUsIHNpemVvZigqb2JqZWN0KSk7Ci0gICAgYWRkSW5zdHJ1bWVu
dGVkT2JqZWN0SW1wbChvYmplY3QtPmdldCgpLCBvd25lck9iamVjdFR5cGUsIGJ5UG9pbnRlcik7
Ci19Ci0KLXRlbXBsYXRlPHR5cGVuYW1lIFQ+CiB2b2lkIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6
YWRkT2JqZWN0SW1wbChjb25zdCBPd25QdHI8VD4qIGNvbnN0JiBvYmplY3QsIE1lbW9yeU9iamVj
dFR5cGUgb3duZXJPYmplY3RUeXBlLCBNZW1vcnlPd25pbmdUeXBlIG93bmluZ1R5cGUpCiB7CiAg
ICAgaWYgKG93bmluZ1R5cGUgPT0gYnlQb2ludGVyICYmICF2aXNpdGVkKG9iamVjdCkpCkBAIC0y
NzUsMTIgKzI0MSw2IEBAIHZvaWQgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjphZGRPYmplY3RJbXBs
KGNvbnN0IFJlZlB0cjxUPiogY29uc3QmIG9iamVjdCwgTWVtb3J5CiAgICAgYWRkT2JqZWN0SW1w
bChvYmplY3QtPmdldCgpLCBvd25lck9iamVjdFR5cGUsIGJ5UG9pbnRlcik7CiB9CiAKLXRlbXBs
YXRlPHR5cGVuYW1lIFQ+Ci12b2lkIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6YWRkT2JqZWN0SW1w
bChjb25zdCBUKiBjb25zdCYgb2JqZWN0LCBNZW1vcnlPYmplY3RUeXBlIG93bmVyT2JqZWN0VHlw
ZSwgTWVtb3J5T3duaW5nVHlwZSBvd25pbmdUeXBlKQotewotICAgIGFkZEluc3RydW1lbnRlZE9i
amVjdEltcGwob2JqZWN0LCBvd25lck9iamVjdFR5cGUsIG93bmluZ1R5cGUpOwotfQotCiB0ZW1w
bGF0ZTx0eXBlbmFtZSBIYXNoTWFwVHlwZT4KIHZvaWQgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjph
ZGRIYXNoTWFwKGNvbnN0IEhhc2hNYXBUeXBlJiBoYXNoTWFwLCBNZW1vcnlPYmplY3RUeXBlIG93
bmVyT2JqZWN0VHlwZSwgYm9vbCBjb250ZW50T25seSkKIHsKQEAgLTMwNSw3ICsyNjUsNyBAQCB2
b2lkIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6YWRkSW5zdHJ1bWVudGVkQ29sbGVjdGlvbihjb25z
dCBDb2xsZWN0aW9uVHlwZSYgY29sbAogICAgIGNvdW50T2JqZWN0U2l6ZShvd25lck9iamVjdFR5
cGUsIGNhbGN1bGF0ZUNvbnRhaW5lclNpemUoY29sbGVjdGlvbiwgY29udGVudE9ubHkpKTsKICAg
ICB0eXBlbmFtZSBDb2xsZWN0aW9uVHlwZTo6Y29uc3RfaXRlcmF0b3IgZW5kID0gY29sbGVjdGlv
bi5lbmQoKTsKICAgICBmb3IgKHR5cGVuYW1lIENvbGxlY3Rpb25UeXBlOjpjb25zdF9pdGVyYXRv
ciBpID0gY29sbGVjdGlvbi5iZWdpbigpOyBpICE9IGVuZDsgKytpKQotICAgICAgICBhZGRJbnN0
cnVtZW50ZWRPYmplY3QoKmksIG93bmVyT2JqZWN0VHlwZSk7CisgICAgICAgIGFkZE9iamVjdCgq
aSwgb3duZXJPYmplY3RUeXBlKTsKIH0KIAogdGVtcGxhdGU8dHlwZW5hbWUgTWFwVHlwZT4KQEAg
LTMxMyw4ICsyNzMsOCBAQCB2b2lkIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6YWRkSW5zdHJ1bWVu
dGVkTWFwRW50cmllcyhjb25zdCBNYXBUeXBlJiBtYXAsIE1lbW9yeQogewogICAgIHR5cGVuYW1l
IE1hcFR5cGU6OmNvbnN0X2l0ZXJhdG9yIGVuZCA9IG1hcC5lbmQoKTsKICAgICBmb3IgKHR5cGVu
YW1lIE1hcFR5cGU6OmNvbnN0X2l0ZXJhdG9yIGkgPSBtYXAuYmVnaW4oKTsgaSAhPSBlbmQ7ICsr
aSkgewotICAgICAgICBhZGRJbnN0cnVtZW50ZWRPYmplY3QoaS0+Zmlyc3QsIG93bmVyT2JqZWN0
VHlwZSk7Ci0gICAgICAgIGFkZEluc3RydW1lbnRlZE9iamVjdChpLT5zZWNvbmQsIG93bmVyT2Jq
ZWN0VHlwZSk7CisgICAgICAgIGFkZE9iamVjdChpLT5maXJzdCwgb3duZXJPYmplY3RUeXBlKTsK
KyAgICAgICAgYWRkT2JqZWN0KGktPnNlY29uZCwgb3duZXJPYmplY3RUeXBlKTsKICAgICB9CiB9
CiAKQEAgLTMyMyw3ICsyODMsNyBAQCB2b2lkIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6YWRkSW5z
dHJ1bWVudGVkTWFwVmFsdWVzKGNvbnN0IE1hcFR5cGUmIG1hcCwgTWVtb3J5TwogewogICAgIHR5
cGVuYW1lIE1hcFR5cGU6OmNvbnN0X2l0ZXJhdG9yIGVuZCA9IG1hcC5lbmQoKTsKICAgICBmb3Ig
KHR5cGVuYW1lIE1hcFR5cGU6OmNvbnN0X2l0ZXJhdG9yIGkgPSBtYXAuYmVnaW4oKTsgaSAhPSBl
bmQ7ICsraSkKLSAgICAgICAgYWRkSW5zdHJ1bWVudGVkT2JqZWN0KGktPnNlY29uZCwgb3duZXJP
YmplY3RUeXBlKTsKKyAgICAgICAgYWRkT2JqZWN0KGktPnNlY29uZCwgb3duZXJPYmplY3RUeXBl
KTsKIH0KIAogdGVtcGxhdGU8dHlwZW5hbWUgTGlzdEhhc2hTZXRUeXBlPgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dURi93dGYvdGV4dC9BdG9taWNTdHJpbmcuY3BwIGIvU291cmNlL1dURi93dGYvdGV4
dC9BdG9taWNTdHJpbmcuY3BwCmluZGV4IGQ2MjY3OTJkMGZlMDYwYTJmYjA4ZTE2MDk1NWI0NmYy
N2I0MzgyNTEuLmI5MWM2MGU4MGQwYzI5NmRkNDU2NGI4MDRmZTZjMWY4YjViNzJmY2YgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL3RleHQvQXRvbWljU3RyaW5nLmNwcAorKysgYi9Tb3VyY2Uv
V1RGL3d0Zi90ZXh0L0F0b21pY1N0cmluZy5jcHAKQEAgLTQzOSw3ICs0MzksNyBAQCB2b2lkIEF0
b21pY1N0cmluZzo6c2hvdygpIGNvbnN0CiB2b2lkIEF0b21pY1N0cmluZzo6cmVwb3J0TWVtb3J5
VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKIHsKICAgICBN
ZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzKTsKLSAgICBpbmZvLmFk
ZEluc3RydW1lbnRlZE1lbWJlcihtX3N0cmluZyk7CisgICAgaW5mby5hZGRNZW1iZXIobV9zdHJp
bmcpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXVEYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3Rm
L3RleHQvQ1N0cmluZy5oIGIvU291cmNlL1dURi93dGYvdGV4dC9DU3RyaW5nLmgKaW5kZXggZDQ0
MmFmNzgyZGZkMGY3Zjc2YTZjNzQ2NzY4MWVjOTdlNmJmNjk4OC4uMDNhYjNlNTRhN2NmYWE2ZDE3
NDJjNTA5NjRjOWNmZDY4MTU3OWUxOSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvdGV4dC9D
U3RyaW5nLmgKKysrIGIvU291cmNlL1dURi93dGYvdGV4dC9DU3RyaW5nLmgKQEAgLTg1LDcgKzg1
LDcgQEAgcHVibGljOgogICAgIHZvaWQgcmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5m
byogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKICAgICB7CiAgICAgICAgIHR5cGVuYW1lIE1lbW9y
eU9iamVjdEluZm86OkNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMpOwotICAg
ICAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX2J1ZmZlcik7CisgICAgICAgIGluZm8u
YWRkTWVtYmVyKG1fYnVmZmVyKTsKICAgICB9CiAKIHByaXZhdGU6CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV1RGL3d0Zi90ZXh0L1N0cmluZ0ltcGwuY3BwIGIvU291cmNlL1dURi93dGYvdGV4dC9TdHJp
bmdJbXBsLmNwcAppbmRleCBkNjllY2FhZWVkZTg4OGIwZGFkNzAxZTVjNWUzOWU3YWI2ZjQxZWVl
Li5jMDZhOTY2ZTdhZGQ2ZDFiNTJlNWQ1YmU1NjIwMTQ0ODc5ZmU2Y2M2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV1RGL3d0Zi90ZXh0L1N0cmluZ0ltcGwuY3BwCisrKyBiL1NvdXJjZS9XVEYvd3RmL3Rl
eHQvU3RyaW5nSW1wbC5jcHAKQEAgLTE4MDcsNyArMTgwNyw3IEBAIHZvaWQgU3RyaW5nSW1wbDo6
cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29u
c3QKICAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCAwLCBz
ZWxmU2l6ZSk7CiAKICAgICBpZiAobV9oYXNoQW5kRmxhZ3MgJiBCdWZmZXJTdWJzdHJpbmcpCi0g
ICAgICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fc3Vic3RyaW5nQnVmZmVyKTsKKyAg
ICAgICAgaW5mby5hZGRNZW1iZXIobV9zdWJzdHJpbmdCdWZmZXIpOwogICAgIGVsc2UgaWYgKG1f
aGFzaEFuZEZsYWdzICYgc19oYXNoRmxhZ0hhczE2Qml0U2hhZG93KSAvLyBTdWJzdHJpbmcgbmV2
ZXIgaGFzIGl0cyBvd24gc2hhZG93LgogICAgICAgICBpbmZvLmFkZFJhd0J1ZmZlcihtX2NvcHlE
YXRhMTYsIChtX2xlbmd0aCArIChoYXNUZXJtaW5hdGluZ051bGxDaGFyYWN0ZXIoKSA/IDEgOiAw
KSkgKiBzaXplb2YoVUNoYXIpKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL3RleHQv
V1RGU3RyaW5nLmNwcCBiL1NvdXJjZS9XVEYvd3RmL3RleHQvV1RGU3RyaW5nLmNwcAppbmRleCBi
ZjdkYmMzNDFlZmE4MjY1YTdkYmM4NjdkZTQ4ZGRiY2VjN2I1MzE3Li5iODlhY2I2NjM5ZjExZTUy
ZGQyYWRhMWUyMzkyNWE1ZjcwY2ZhZTE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi90ZXh0
L1dURlN0cmluZy5jcHAKKysrIGIvU291cmNlL1dURi93dGYvdGV4dC9XVEZTdHJpbmcuY3BwCkBA
IC04MjQsNyArODI0LDcgQEAgU3RyaW5nIFN0cmluZzo6ZnJvbVVURjhXaXRoTGF0aW4xRmFsbGJh
Y2soY29uc3QgTENoYXIqIHN0cmluZywgc2l6ZV90IHNpemUpCiB2b2lkIFN0cmluZzo6cmVwb3J0
TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKIHsK
ICAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzKTsKLSAgICBp
bmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX2ltcGwpOworICAgIGluZm8uYWRkTWVtYmVyKG1f
aW1wbCk7CiB9CiAKIC8vIFN0cmluZyBPcGVyYXRpb25zCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RG
L3d0Zi91cmwvYXBpL1BhcnNlZFVSTC5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi91cmwvYXBpL1BhcnNl
ZFVSTC5jcHAKaW5kZXggNWY4OGNiNGVjZGVlYTEyNWZmYWNjNGExNzcwZmJkNWQ0YTQ0NjNjNy4u
MGIxNWZjYmNhMmRjOTMyMDRkZjhhMWE1OGE3MGVhZTUwNDU4YWNjNCAxMDA2NDQKLS0tIGEvU291
cmNlL1dURi93dGYvdXJsL2FwaS9QYXJzZWRVUkwuY3BwCisrKyBiL1NvdXJjZS9XVEYvd3RmL3Vy
bC9hcGkvUGFyc2VkVVJMLmNwcApAQCAtMTc4LDcgKzE3OCw3IEBAIFN0cmluZyBQYXJzZWRVUkw6
OnNlZ21lbnQoY29uc3QgVVJMQ29tcG9uZW50JiBjb21wb25lbnQpIGNvbnN0CiB2b2lkIFBhcnNl
ZFVSTDo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5m
bykgY29uc3QKIHsKICAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0
aGlzKTsKLSAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX3NwZWMpOworICAgIGluZm8u
YWRkTWVtYmVyKG1fc3BlYyk7CiB9CiAKICNpZm5kZWYgTkRFQlVHCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV1RGL3d0Zi91cmwvYXBpL1VSTFN0cmluZy5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi91cmwvYXBp
L1VSTFN0cmluZy5jcHAKaW5kZXggM2RmYzc5Yjg4YzNlMGNjMTUwNjQ3MjMwOTMyOWNhYTdkYTQy
Mzc5MS4uY2Y0NmEzMDkyMDliZTQ0ZDJiMTNhM2RjYjRiMDY0ZWQwNjliNTk4NyAxMDA2NDQKLS0t
IGEvU291cmNlL1dURi93dGYvdXJsL2FwaS9VUkxTdHJpbmcuY3BwCisrKyBiL1NvdXJjZS9XVEYv
d3RmL3VybC9hcGkvVVJMU3RyaW5nLmNwcApAQCAtMzUsNyArMzUsNyBAQCBuYW1lc3BhY2UgV1RG
IHsKIHZvaWQgVVJMU3RyaW5nOjpyZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBt
ZW1vcnlPYmplY3RJbmZvKSBjb25zdAogewogICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9y
eU9iamVjdEluZm8sIHRoaXMpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fc3Ry
aW5nKTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX3N0cmluZyk7CiB9CiAKICNpZm5kZWYgTkRFQlVH
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9JbnRydXNpdmVET01XcmFw
cGVyTWFwLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9JbnRydXNpdmVET01XcmFwcGVy
TWFwLmgKaW5kZXggOGYwNjkyMDFjMGI1OTdhMjg5MjhjOGRhZjM5ZTdiODM0M2E3N2JmZS4uYWUy
MGQwMzY5YjM0MTAzYTI4MzQ1ODMwZGFiOWZiN2M4ZDRiYWZkMCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvdjgvSW50cnVzaXZlRE9NV3JhcHBlck1hcC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L0ludHJ1c2l2ZURPTVdyYXBwZXJNYXAuaApAQCAtMTg3LDcg
KzE4Nyw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgcmVwb3J0TWVtb3J5VXNhZ2UoTWVt
b3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QgT1ZFUlJJREUKICAgICB7CiAg
ICAgICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIFdlYkNv
cmVNZW1vcnlUeXBlczo6QmluZGluZyk7Ci0gICAgICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVt
YmVyKG1fdGFibGUpOworICAgICAgICBpbmZvLmFkZE1lbWJlcihtX3RhYmxlKTsKICAgICB9CiAK
IHByaXZhdGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9TY29wZWRE
T01EYXRhU3RvcmUuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NvcGVkRE9NRGF0
YVN0b3JlLmNwcAppbmRleCBmMDJiNDUzMTA2YTFjOThjMTY3N2U2MmY4NzJjMGYyY2QxNjY0ZWE3
Li5mOTUxMzY2NTgxZTFjNjVkMWY3MjA1ZGM2NTYxZjQ3YzkyZjRmMmRhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9TY29wZWRET01EYXRhU3RvcmUuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Njb3BlZERPTURhdGFTdG9yZS5jcHAKQEAgLTU2LDEw
ICs1NiwxMCBAQCB2b2lkIFNjb3BlZERPTURhdGFTdG9yZTo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVt
b3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgYwogewogICAgIE1lbW9yeUNsYXNzSW5m
byBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIFdlYkNvcmVNZW1vcnlUeXBlczo6QmluZGlu
Zyk7CiAgICAgRE9NRGF0YVN0b3JlOjpyZXBvcnRNZW1vcnlVc2FnZShtZW1vcnlPYmplY3RJbmZv
KTsKLSAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX2RvbU5vZGVNYXApOwotICAgIGlu
Zm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fYWN0aXZlRG9tTm9kZU1hcCk7Ci0gICAgaW5mby5h
ZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9kb21PYmplY3RNYXApOwotICAgIGluZm8uYWRkSW5zdHJ1
bWVudGVkTWVtYmVyKG1fYWN0aXZlRG9tT2JqZWN0TWFwKTsKKyAgICBpbmZvLmFkZE1lbWJlciht
X2RvbU5vZGVNYXApOworICAgIGluZm8uYWRkTWVtYmVyKG1fYWN0aXZlRG9tTm9kZU1hcCk7Cisg
ICAgaW5mby5hZGRNZW1iZXIobV9kb21PYmplY3RNYXApOworICAgIGluZm8uYWRkTWVtYmVyKG1f
YWN0aXZlRG9tT2JqZWN0TWFwKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvU3RhdGljRE9NRGF0YVN0b3JlLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1N0YXRpY0RPTURhdGFTdG9yZS5jcHAKaW5kZXgg
NjUwZGY2MzQ2OGZiMjJmMzc4ZjI0NGNlOTJmNTRkM2Q5NzY4NTk1MC4uNWQ5ZDA5Y2UxMzlkNDE4
MjdkZDk3ZDYwMzEzYmExZmI2MGMzNmQzNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvdjgvU3RhdGljRE9NRGF0YVN0b3JlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy92OC9TdGF0aWNET01EYXRhU3RvcmUuY3BwCkBAIC01OCwxMCArNTgsMTAgQEAgdm9pZCBT
dGF0aWNET01EYXRhU3RvcmU6OnJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1l
bW9yeU9iamVjdEluZm8pIGMKIHsKICAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmpl
Y3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6OkJpbmRpbmcpOwogICAgIERPTURhdGFT
dG9yZTo6cmVwb3J0TWVtb3J5VXNhZ2UobWVtb3J5T2JqZWN0SW5mbyk7Ci0gICAgaW5mby5hZGRJ
bnN0cnVtZW50ZWRNZW1iZXIobV9zdGF0aWNEb21Ob2RlTWFwKTsKLSAgICBpbmZvLmFkZEluc3Ry
dW1lbnRlZE1lbWJlcihtX3N0YXRpY0FjdGl2ZURvbU5vZGVNYXApOwotICAgIGluZm8uYWRkSW5z
dHJ1bWVudGVkTWVtYmVyKG1fc3RhdGljRG9tT2JqZWN0TWFwKTsKLSAgICBpbmZvLmFkZEluc3Ry
dW1lbnRlZE1lbWJlcihtX3N0YXRpY0FjdGl2ZURvbU9iamVjdE1hcCk7CisgICAgaW5mby5hZGRN
ZW1iZXIobV9zdGF0aWNEb21Ob2RlTWFwKTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX3N0YXRpY0Fj
dGl2ZURvbU5vZGVNYXApOworICAgIGluZm8uYWRkTWVtYmVyKG1fc3RhdGljRG9tT2JqZWN0TWFw
KTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX3N0YXRpY0FjdGl2ZURvbU9iamVjdE1hcCk7CiB9CiAK
IH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3Y4L1Y4UGVySXNvbGF0ZURhdGEuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvdjgv
VjhQZXJJc29sYXRlRGF0YS5jcHAKaW5kZXggYTdmYzhkNjIwZWE5NDAxY2ZkYzkyOTA1ZDYwZTI5
ODU0Njg4Njg4ZC4uZTFiYzMxZTVjNDY0NTg5MWU2ZTY2NmZkYjM0YTY0YzdhMjMxZGM2OCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhQZXJJc29sYXRlRGF0YS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhQZXJJc29sYXRlRGF0YS5jcHAKQEAg
LTg2LDExICs4NiwxMSBAQCB2b2lkIFY4UGVySXNvbGF0ZURhdGE6OnJlcG9ydE1lbW9yeVVzYWdl
KE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbgogICAgIE1lbW9yeUNsYXNz
SW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIFdlYkNvcmVNZW1vcnlUeXBlczo6Qmlu
ZGluZyk7CiAgICAgaW5mby5hZGRIYXNoTWFwKG1fcmF3VGVtcGxhdGVzKTsKICAgICBpbmZvLmFk
ZEhhc2hNYXAobV90ZW1wbGF0ZXMpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1f
c3RyaW5nQ2FjaGUpOworICAgIGluZm8uYWRkTWVtYmVyKG1fc3RyaW5nQ2FjaGUpOwogICAgIGlu
Zm8uYWRkVmVjdG9yKG1fZG9tRGF0YUxpc3QpOwogCiAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkg
PCBtX2RvbURhdGFMaXN0LnNpemUoKTsgaSsrKQotICAgICAgICBpbmZvLmFkZEluc3RydW1lbnRl
ZE1lbWJlcihtX2RvbURhdGFMaXN0W2ldKTsKKyAgICAgICAgaW5mby5hZGRNZW1iZXIobV9kb21E
YXRhTGlzdFtpXSk7CiB9CiAKICNpZiBFTkFCTEUoSU5TUEVDVE9SKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvY3NzL0NTU0JvcmRlckltYWdlU2xpY2VWYWx1ZS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTQm9yZGVySW1hZ2VTbGljZVZhbHVlLmNwcAppbmRleCAwMjM0M2Y5MDVmYjg5
Mjg0ZjU0NDEzYWQ5ZWFkZjM1ZWMzYjU4MzBlLi43ZDFiM2RhZjdmODNlMGY4OTc5ZDQyMWQ3ZjM0
YmQwNGFkNTBiN2I3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQm9yZGVySW1h
Z2VTbGljZVZhbHVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQm9yZGVySW1hZ2VT
bGljZVZhbHVlLmNwcApAQCAtNTMsNyArNTMsNyBAQCBTdHJpbmcgQ1NTQm9yZGVySW1hZ2VTbGlj
ZVZhbHVlOjpjdXN0b21Dc3NUZXh0KCkgY29uc3QKIHZvaWQgQ1NTQm9yZGVySW1hZ2VTbGljZVZh
bHVlOjpyZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5
T2JqZWN0SW5mbykgY29uc3QKIHsKICAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmpl
Y3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6OkNTUyk7Ci0gICAgaW5mby5hZGRJbnN0
cnVtZW50ZWRNZW1iZXIobV9zbGljZXMpOworICAgIGluZm8uYWRkTWVtYmVyKG1fc2xpY2VzKTsK
IH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU0NhbGN1bGF0aW9uVmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NhbGN1
bGF0aW9uVmFsdWUuY3BwCmluZGV4IGMyNGJmZDk2NjJhNTU5OWRhOWMyYThhNmJkM2EyNjcxNGM5
ZDU4OTUuLjFjMTU4Y2MyY2RjMmFhMjA0NjQ5YzllYzljNGJjM2NjZjYxMWJkOWUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDYWxjdWxhdGlvblZhbHVlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTQ2FsY3VsYXRpb25WYWx1ZS5jcHAKQEAgLTIyNiw3ICsyMjYsNyBA
QCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVj
dEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0IE9WRVJSSURFCiAgICAgewogICAgICAgICBN
ZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5
VHlwZXM6OkNTUyk7Ci0gICAgICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fdmFsdWUp
OworICAgICAgICBpbmZvLmFkZE1lbWJlcihtX3ZhbHVlKTsKICAgICB9CiAgICAgCiBwcml2YXRl
OgpAQCAtMzI0LDggKzMyNCw4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgcmVwb3J0TWVt
b3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QgT1ZFUlJJ
REUKICAgICB7CiAgICAgICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8s
IHRoaXMsIFdlYkNvcmVNZW1vcnlUeXBlczo6Q1NTKTsKLSAgICAgICAgaW5mby5hZGRJbnN0cnVt
ZW50ZWRNZW1iZXIobV9sZWZ0U2lkZSk7Ci0gICAgICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVt
YmVyKG1fcmlnaHRTaWRlKTsKKyAgICAgICAgaW5mby5hZGRNZW1iZXIobV9sZWZ0U2lkZSk7Cisg
ICAgICAgIGluZm8uYWRkTWVtYmVyKG1fcmlnaHRTaWRlKTsKICAgICB9CiAKICAgICBzdGF0aWMg
U3RyaW5nIGJ1aWxkQ3NzVGV4dChjb25zdCBTdHJpbmcmIGxlZnRFeHByZXNzaW9uLCBjb25zdCBT
dHJpbmcmIHJpZ2h0RXhwcmVzc2lvbiwgQ2FsY09wZXJhdG9yIG9wKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvY3NzL0NTU0NhbnZhc1ZhbHVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NDYW52YXNWYWx1ZS5jcHAKaW5kZXggOGVjYzgwYzA4ZTZiMTQxZmJiYTMwZjlmOWUzNzk2N2Ix
M2E5MzM1NS4uNzg3YTE3NDJjYjIyMzdmYjZlZmM3YzUxOWIyNzExYmJmNTY5OGQxNCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NhbnZhc1ZhbHVlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTQ2FudmFzVmFsdWUuY3BwCkBAIC0xMDAsOCArMTAwLDggQEAgdm9pZCBD
U1NDYW52YXNWYWx1ZTo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdElu
Zm8qIG1lbW9yeU9iamVjdEkKIHsKICAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmpl
Y3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6OkNTUyk7CiAgICAgQ1NTSW1hZ2VHZW5l
cmF0b3JWYWx1ZTo6cmVwb3J0QmFzZUNsYXNzTWVtb3J5VXNhZ2UobWVtb3J5T2JqZWN0SW5mbyk7
Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9uYW1lKTsKLSAgICBpbmZvLmFkZElu
c3RydW1lbnRlZE1lbWJlcihtX2VsZW1lbnQpOworICAgIGluZm8uYWRkTWVtYmVyKG1fbmFtZSk7
CisgICAgaW5mby5hZGRNZW1iZXIobV9lbGVtZW50KTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NoYXJzZXRSdWxlLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDaGFyc2V0UnVsZS5jcHAKaW5kZXggOTdiZmMwNTg2OTdj
MDY1M2VjZjlkM2NhNjBkMzVlOWQzN2IyZmFmMi4uN2ExYjVkNGFjYTk0ZTUwMGJhYTY0NTY3ZGM3
MmZhNDYwYzBhNTk4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NoYXJzZXRS
dWxlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ2hhcnNldFJ1bGUuY3BwCkBAIC00
MCw3ICs0MCw3IEBAIHZvaWQgQ1NTQ2hhcnNldFJ1bGU6OnJlcG9ydERlc2NlbmRhbnRNZW1vcnlV
c2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJCiB7CiAgICAgTWVtb3J5Q2xhc3NJ
bmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9yeVR5cGVzOjpDU1Mp
OwogICAgIENTU1J1bGU6OnJlcG9ydEJhc2VDbGFzc01lbW9yeVVzYWdlKG1lbW9yeU9iamVjdElu
Zm8pOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fZW5jb2RpbmcpOworICAgIGlu
Zm8uYWRkTWVtYmVyKG1fZW5jb2RpbmcpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9u
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3Bw
CmluZGV4IDQ2MGNjMzJkNGFhZDM5ODllYWZiMTVlMWIzM2JlNzE3ZjQ2ZjdhMWMuLjhmOTQxOGMw
MDJkNGJjNTdjYjBjZjQzMTY0MmI1ZDFhNjAyNjc4MjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCkBAIC0yNzQ5LDcgKzI3NDks
NyBAQCBQYXNzUmVmUHRyPFN0eWxlUHJvcGVydHlTZXQ+IENTU0NvbXB1dGVkU3R5bGVEZWNsYXJh
dGlvbjo6Y29weVByb3BlcnRpZXNJblNldChjbwogdm9pZCBDU1NDb21wdXRlZFN0eWxlRGVjbGFy
YXRpb246OnJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdElu
Zm8pIGNvbnN0CiB7CiAgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywg
dGhpcywgV2ViQ29yZU1lbW9yeVR5cGVzOjpDU1MpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVk
TWVtYmVyKG1fbm9kZSk7CisgICAgaW5mby5hZGRNZW1iZXIobV9ub2RlKTsKIH0KIAogQ1NTUnVs
ZSogQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uOjpwYXJlbnRSdWxlKCkgY29uc3QKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDcm9zc2ZhZGVWYWx1ZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTQ3Jvc3NmYWRlVmFsdWUuY3BwCmluZGV4IGUzNDdlYmQwOWQzNmM3ZTA4
YmYwM2I3YzYxNTE1YTMxZGRlNzMzZGUuLmEyMjRhMzYxMTljZGI3Njk5YjU4OTFmODM5OWE1NGZk
ZmM1OWYxMjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDcm9zc2ZhZGVWYWx1
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0Nyb3NzZmFkZVZhbHVlLmNwcApAQCAt
MTQzLDkgKzE0Myw5IEBAIHZvaWQgQ1NTQ3Jvc3NmYWRlVmFsdWU6OnJlcG9ydERlc2NlbmRhbnRN
ZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplCiB7CiAgICAgTWVtb3J5Q2xh
c3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9yeVR5cGVzOjpD
U1MpOwogICAgIENTU0ltYWdlR2VuZXJhdG9yVmFsdWU6OnJlcG9ydEJhc2VDbGFzc01lbW9yeVVz
YWdlKG1lbW9yeU9iamVjdEluZm8pOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1f
ZnJvbVZhbHVlKTsKLSAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX3RvVmFsdWUpOwot
ICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fcGVyY2VudGFnZVZhbHVlKTsKKyAgICBp
bmZvLmFkZE1lbWJlcihtX2Zyb21WYWx1ZSk7CisgICAgaW5mby5hZGRNZW1iZXIobV90b1ZhbHVl
KTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX3BlcmNlbnRhZ2VWYWx1ZSk7CiAgICAgLy8gRklYTUU6
IGFkZCBpbnN0cnVtZW50YXRpb24gZm9yCiAgICAgLy8gbV9jYWNoZWRGcm9tSW1hZ2UKICAgICAv
LyBtX2NhY2hlZFRvSW1hZ2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250
RmFjZVJ1bGUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlUnVsZS5jcHAKaW5k
ZXggMGRjZWI4YTRkMTQ0ZTI4ZjA3Y2UyYWE3OTJkMGU2ODk1YTc2MDRlNi4uN2Q4NTFlZDFlMmZj
NjQ5MmNkNjQzY2IyNWNkMTI5NzdkYTE2ZjkyOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU0ZvbnRGYWNlUnVsZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRG
YWNlUnVsZS5jcHAKQEAgLTcyLDggKzcyLDggQEAgdm9pZCBDU1NGb250RmFjZVJ1bGU6OnJlcG9y
dERlc2NlbmRhbnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3QKIHsK
ICAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3Jl
TWVtb3J5VHlwZXM6OkNTUyk7CiAgICAgQ1NTUnVsZTo6cmVwb3J0QmFzZUNsYXNzTWVtb3J5VXNh
Z2UobWVtb3J5T2JqZWN0SW5mbyk7Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9m
b250RmFjZVJ1bGUpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fcHJvcGVydGll
c0NTU09NV3JhcHBlcik7CisgICAgaW5mby5hZGRNZW1iZXIobV9mb250RmFjZVJ1bGUpOworICAg
IGluZm8uYWRkTWVtYmVyKG1fcHJvcGVydGllc0NTU09NV3JhcHBlcik7CiB9CiAKIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFj
ZVNyY1ZhbHVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZVNyY1ZhbHVlLmNw
cAppbmRleCAwNTA1ZjYwYWQ3MTM1ZjAzMzQzOWIxMGVmZjRiYjM5NGQxYmUwNWU5Li4yYTFjMDQ3
ODdkNmEwYzRjODcxMzgwNDRhMmMxNzU1ODk4NzEwY2ZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTRm9udEZhY2VTcmNWYWx1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU0ZvbnRGYWNlU3JjVmFsdWUuY3BwCkBAIC0xMDQsMTEgKzEwNCwxMSBAQCBDYWNoZWRGb250
KiBDU1NGb250RmFjZVNyY1ZhbHVlOjpjYWNoZWRGb250KERvY3VtZW50KiBkb2N1bWVudCkKIHZv
aWQgQ1NTRm9udEZhY2VTcmNWYWx1ZTo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKE1lbW9y
eU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiB7CiAgICAgTWVtb3J5Q2xhc3NJ
bmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9yeVR5cGVzOjpDU1Mp
OwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fcmVzb3VyY2UpOwotICAgIGluZm8u
YWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fZm9ybWF0KTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX3Jl
c291cmNlKTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX2Zvcm1hdCk7CiAgICAgLy8gRklYTUU6IGFk
ZCBtX2NhY2hlZEZvbnQgd2hlbiBNZW1vcnlDYWNoZSBpcyBpbnN0cnVtZW50ZWQuCiAjaWYgRU5B
QkxFKFNWR19GT05UUykKLSAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX3N2Z0ZvbnRG
YWNlRWxlbWVudCk7CisgICAgaW5mby5hZGRNZW1iZXIobV9zdmdGb250RmFjZUVsZW1lbnQpOwog
I2VuZGlmCiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGdW5jdGlvblZh
bHVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGdW5jdGlvblZhbHVlLmNwcAppbmRleCA0
NmE5OGY5YjA2M2ViOTcwZmM4MzcwNzAxOTVhM2Q5ZThiN2FjOTAzLi5iYzI3MGRlNjgyYTI1OTQ4
OTU0YWE2MGMxZWQ4MTMzMWVjOTRmNDNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTRnVuY3Rpb25WYWx1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0Z1bmN0aW9u
VmFsdWUuY3BwCkBAIC01NSw4ICs1NSw4IEBAIFN0cmluZyBDU1NGdW5jdGlvblZhbHVlOjpjdXN0
b21Dc3NUZXh0KCkgY29uc3QKIHZvaWQgQ1NTRnVuY3Rpb25WYWx1ZTo6cmVwb3J0RGVzY2VuZGFu
dE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiB7
CiAgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29y
ZU1lbW9yeVR5cGVzOjpDU1MpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fbmFt
ZSk7Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9hcmdzKTsKKyAgICBpbmZvLmFk
ZE1lbWJlcihtX25hbWUpOworICAgIGluZm8uYWRkTWVtYmVyKG1fYXJncyk7CiB9CiAKIH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NHcmFkaWVudFZhbHVlLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NHcmFkaWVudFZhbHVlLmNwcAppbmRleCBmYzQ4NWY5MTgzZmJhZmFk
MmJlYjZhMTA1NDBjZjBlZTMwYzk0NTBkLi5mOTcxNWYyN2Y1ODUxYzkyYTE4NTNkYjQ2YmE3MGJk
YWRlMWFlYTI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTR3JhZGllbnRWYWx1
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0dyYWRpZW50VmFsdWUuY3BwCkBAIC00
Nyw4ICs0Nyw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIHZvaWQgQ1NTR3JhZGllbnRDb2xvclN0
b3A6OnJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8p
IGNvbnN0CiB7CiAgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhp
cywgV2ViQ29yZU1lbW9yeVR5cGVzOjpDU1MpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVt
YmVyKG1fcG9zaXRpb24pOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fY29sb3Ip
OworICAgIGluZm8uYWRkTWVtYmVyKG1fcG9zaXRpb24pOworICAgIGluZm8uYWRkTWVtYmVyKG1f
Y29sb3IpOwogfQogCiBQYXNzUmVmUHRyPEltYWdlPiBDU1NHcmFkaWVudFZhbHVlOjppbWFnZShS
ZW5kZXJPYmplY3QqIHJlbmRlcmVyLCBjb25zdCBJbnRTaXplJiBzaXplKQpAQCAtNDY1LDEwICs0
NjUsMTAgQEAgdm9pZCBDU1NHcmFkaWVudFZhbHVlOjpyZXBvcnRCYXNlQ2xhc3NNZW1vcnlVc2Fn
ZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3QKIHsKICAgICBNZW1vcnlDbGFzc0luZm8g
aW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6OkNTUyk7CiAg
ICAgQ1NTSW1hZ2VHZW5lcmF0b3JWYWx1ZTo6cmVwb3J0QmFzZUNsYXNzTWVtb3J5VXNhZ2UobWVt
b3J5T2JqZWN0SW5mbyk7Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9maXJzdFgp
OwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fZmlyc3RZKTsKLSAgICBpbmZvLmFk
ZEluc3RydW1lbnRlZE1lbWJlcihtX3NlY29uZFgpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVk
TWVtYmVyKG1fc2Vjb25kWSk7CisgICAgaW5mby5hZGRNZW1iZXIobV9maXJzdFgpOworICAgIGlu
Zm8uYWRkTWVtYmVyKG1fZmlyc3RZKTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX3NlY29uZFgpOwor
ICAgIGluZm8uYWRkTWVtYmVyKG1fc2Vjb25kWSk7CiAgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRW
ZWN0b3IobV9zdG9wcyk7CiB9CiAKQEAgLTYzOCw3ICs2MzgsNyBAQCB2b2lkIENTU0xpbmVhckdy
YWRpZW50VmFsdWU6OnJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZv
KiBtZW1vcgogewogICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRo
aXMsIFdlYkNvcmVNZW1vcnlUeXBlczo6Q1NTKTsKICAgICBDU1NHcmFkaWVudFZhbHVlOjpyZXBv
cnRCYXNlQ2xhc3NNZW1vcnlVc2FnZShtZW1vcnlPYmplY3RJbmZvKTsKLSAgICBpbmZvLmFkZElu
c3RydW1lbnRlZE1lbWJlcihtX2FuZ2xlKTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX2FuZ2xlKTsK
IH0KIAogU3RyaW5nIENTU1JhZGlhbEdyYWRpZW50VmFsdWU6OmN1c3RvbUNzc1RleHQoKSBjb25z
dApAQCAtOTYzLDEyICs5NjMsMTIgQEAgdm9pZCBDU1NSYWRpYWxHcmFkaWVudFZhbHVlOjpyZXBv
cnREZXNjZW5kYW50TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3IKIHsKICAgICBN
ZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5
VHlwZXM6OkNTUyk7CiAgICAgQ1NTR3JhZGllbnRWYWx1ZTo6cmVwb3J0QmFzZUNsYXNzTWVtb3J5
VXNhZ2UobWVtb3J5T2JqZWN0SW5mbyk7Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIo
bV9maXJzdFJhZGl1cyk7Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9zZWNvbmRS
YWRpdXMpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fc2hhcGUpOwotICAgIGlu
Zm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fc2l6aW5nQmVoYXZpb3IpOwotICAgIGluZm8uYWRk
SW5zdHJ1bWVudGVkTWVtYmVyKG1fZW5kSG9yaXpvbnRhbFNpemUpOwotICAgIGluZm8uYWRkSW5z
dHJ1bWVudGVkTWVtYmVyKG1fZW5kVmVydGljYWxTaXplKTsKKyAgICBpbmZvLmFkZE1lbWJlciht
X2ZpcnN0UmFkaXVzKTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX3NlY29uZFJhZGl1cyk7CisgICAg
aW5mby5hZGRNZW1iZXIobV9zaGFwZSk7CisgICAgaW5mby5hZGRNZW1iZXIobV9zaXppbmdCZWhh
dmlvcik7CisgICAgaW5mby5hZGRNZW1iZXIobV9lbmRIb3Jpem9udGFsU2l6ZSk7CisgICAgaW5m
by5hZGRNZW1iZXIobV9lbmRWZXJ0aWNhbFNpemUpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW1hZ2VTZXRWYWx1ZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW1hZ2VTZXRWYWx1ZS5jcHAKaW5kZXggNTY4ZDc1NmY0
NjdiZWVmMmU3ZmZjZmE5Yzk1Yjg5M2M0NTVlNzAxMC4uNWU2YmVlNWE2M2NhMzAzNjU3MjRkYWRh
OTY4MGQyMDZmZDFjYjBhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ltYWdl
U2V0VmFsdWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJbWFnZVNldFZhbHVlLmNw
cApAQCAtMTc0LDcgKzE3NCw3IEBAIHZvaWQgQ1NTSW1hZ2VTZXRWYWx1ZTo6cmVwb3J0RGVzY2Vu
ZGFudE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjCiB2b2lkIENTU0lt
YWdlU2V0VmFsdWU6OkltYWdlV2l0aFNjYWxlOjpyZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmpl
Y3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAogewogICAgIE1lbW9yeUNsYXNzSW5mbyBp
bmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIFdlYkNvcmVNZW1vcnlUeXBlczo6Q1NTKTsKLSAg
ICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihpbWFnZVVSTCk7CisgICAgaW5mby5hZGRNZW1i
ZXIoaW1hZ2VVUkwpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW1hZ2VWYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTSW1hZ2VWYWx1ZS5jcHAKaW5kZXggYzM3MGJkYzY1NTZkMzYzODg1OGNmNDg1Mzc5NzUxOWEw
ZTg2MmE3YS4uNzI2YzJjMDQzNDcxZTk2N2I5MmJjOWZhNzY0YzMyMzlmMmI3YTU0NiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ltYWdlVmFsdWUuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NJbWFnZVZhbHVlLmNwcApAQCAtMTI5LDcgKzEyOSw3IEBAIFBhc3NSZWZQ
dHI8Q1NTVmFsdWU+IENTU0ltYWdlVmFsdWU6OmNsb25lRm9yQ1NTT00oKSBjb25zdAogdm9pZCBD
U1NJbWFnZVZhbHVlOjpyZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5m
byogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKIHsKICAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyht
ZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6OkNTUyk7Ci0gICAgaW5m
by5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV91cmwpOworICAgIGluZm8uYWRkTWVtYmVyKG1fdXJs
KTsKICAgICAvLyBObyBuZWVkIHRvIHJlcG9ydCBtX2ltYWdlIGFzIGl0IGlzIGNvdW50ZWQgYXMg
cGFydCBvZiBSZW5kZXJBcmVuYS4KIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU0ltcG9ydFJ1bGUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ltcG9ydFJ1bGUuY3Bw
CmluZGV4IDFkYzcxODQ3ODg3ZWQ5ZGEyNzMzOTI0NzkwNjYwODk1ZmZjNDJmODUuLjNiYmU2NTBh
NWQ3MjBiOWIwN2FjYmUxNzRiNzE5NWVlMmE4Y2RhZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NJbXBvcnRSdWxlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW1w
b3J0UnVsZS5jcHAKQEAgLTgxLDkgKzgxLDkgQEAgdm9pZCBDU1NJbXBvcnRSdWxlOjpyZXBvcnRE
ZXNjZW5kYW50TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW4KIHsK
ICAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3Jl
TWVtb3J5VHlwZXM6OkNTUyk7CiAgICAgQ1NTUnVsZTo6cmVwb3J0QmFzZUNsYXNzTWVtb3J5VXNh
Z2UobWVtb3J5T2JqZWN0SW5mbyk7Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9p
bXBvcnRSdWxlKTsKLSAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX21lZGlhQ1NTT01X
cmFwcGVyKTsKLSAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX3N0eWxlU2hlZXRDU1NP
TVdyYXBwZXIpOworICAgIGluZm8uYWRkTWVtYmVyKG1faW1wb3J0UnVsZSk7CisgICAgaW5mby5h
ZGRNZW1iZXIobV9tZWRpYUNTU09NV3JhcHBlcik7CisgICAgaW5mby5hZGRNZW1iZXIobV9zdHls
ZVNoZWV0Q1NTT01XcmFwcGVyKTsKIH0KIAogQ1NTU3R5bGVTaGVldCogQ1NTSW1wb3J0UnVsZTo6
c3R5bGVTaGVldCgpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTTWVk
aWFSdWxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NNZWRpYVJ1bGUuY3BwCmluZGV4IDQ1
NDJkM2U0ODY2OGFhZjBiZTFlYzQwOTVkOTFmMDBkODhmNDg2NTAuLmYwZTljNzljM2YxMmVlMzc2
NDdlZTA3NTkwYmJmOTcwOTcwZWJhYmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NNZWRpYVJ1bGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NNZWRpYVJ1bGUuY3Bw
CkBAIC0xNzksOSArMTc5LDkgQEAgdm9pZCBDU1NNZWRpYVJ1bGU6OnJlcG9ydERlc2NlbmRhbnRN
ZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmYKIHsKICAgICBNZW1v
cnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlw
ZXM6OkNTUyk7CiAgICAgQ1NTUnVsZTo6cmVwb3J0QmFzZUNsYXNzTWVtb3J5VXNhZ2UobWVtb3J5
T2JqZWN0SW5mbyk7Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9tZWRpYUNTU09N
V3JhcHBlcik7CisgICAgaW5mby5hZGRNZW1iZXIobV9tZWRpYUNTU09NV3JhcHBlcik7CiAgICAg
aW5mby5hZGRJbnN0cnVtZW50ZWRWZWN0b3IobV9jaGlsZFJ1bGVDU1NPTVdyYXBwZXJzKTsKLSAg
ICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX3J1bGVMaXN0Q1NTT01XcmFwcGVyKTsKKyAg
ICBpbmZvLmFkZE1lbWJlcihtX3J1bGVMaXN0Q1NTT01XcmFwcGVyKTsKIH0KIAogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhZ2VSdWxl
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYWdlUnVsZS5jcHAKaW5kZXggODM5YmMyMGY3
ZTRjM2FmMTM1MWRlMWVkNzY3Nzg4ZWQ4MTdiNDRkNi4uZmNiMjJmNDhjMzU5ODc2NjljYTdlNzE4
Y2Y1YWIxNjJlZjQ1NjRiYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhZ2VS
dWxlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFnZVJ1bGUuY3BwCkBAIC0xMDYs
OCArMTA2LDggQEAgdm9pZCBDU1NQYWdlUnVsZTo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdl
KE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8KIHsKICAgICBNZW1vcnlDbGFzc0lu
Zm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6OkNTUyk7
CiAgICAgQ1NTUnVsZTo6cmVwb3J0QmFzZUNsYXNzTWVtb3J5VXNhZ2UobWVtb3J5T2JqZWN0SW5m
byk7Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9wYWdlUnVsZSk7Ci0gICAgaW5m
by5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9wcm9wZXJ0aWVzQ1NTT01XcmFwcGVyKTsKKyAgICBp
bmZvLmFkZE1lbWJlcihtX3BhZ2VSdWxlKTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX3Byb3BlcnRp
ZXNDU1NPTVdyYXBwZXIpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWUuY3BwIGIvU291cmNlL1dlYkNv
cmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlLmNwcAppbmRleCA1ZDJhN2Y3ZTRkNWFhODVjMjA5YTg3
YjQyZDQyMjlkNDY3NTM3ZWI5Li45MjJhMGY2OGM3MzQwNmQ5MGM5ZDQyMmNiYmE2Nzc3ZTAxYTc1
MGUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWUuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZS5jcHAKQEAgLTEyNzUs
NyArMTI3NSw3IEBAIHZvaWQgQ1NTUHJpbWl0aXZlVmFsdWU6OnJlcG9ydERlc2NlbmRhbnRNZW1v
cnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplCiAgICAgY2FzZSBDU1NfVkFSSUFC
TEVfTkFNRToKICNlbmRpZgogICAgICAgICAvLyBGSVhNRTogZGV0ZWN0IG90aGVyIGNhc2VzIHdo
ZW4gbV92YWx1ZSBpcyBTdHJpbmdJbXBsKgotICAgICAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1l
bWJlcihtX3ZhbHVlLnN0cmluZyk7CisgICAgICAgIGluZm8uYWRkTWVtYmVyKG1fdmFsdWUuc3Ry
aW5nKTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBDU1NfQ09VTlRFUjoKICAgICAgICAgaW5m
by5hZGRNZW1iZXIobV92YWx1ZS5jb3VudGVyKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NQcm9wZXJ0eS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHkuY3Bw
CmluZGV4IGYxMjJmYTFjNWE0MDdhY2VmY2M0ZWYyZTUyYWQ5MjZhZTlmMjUxYTkuLmM3NjMzZjhk
YjMwZjAxY2IxYTE3YWNhMTBmZjgyZTAxMjUxMTZkZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NQcm9wZXJ0eS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3Bl
cnR5LmNwcApAQCAtNzE1LDcgKzcxNSw3IEBAIGJvb2wgQ1NTUHJvcGVydHk6OmlzSW5oZXJpdGVk
UHJvcGVydHkoQ1NTUHJvcGVydHlJRCBwcm9wZXJ0eUlEKQogdm9pZCBDU1NQcm9wZXJ0eTo6cmVw
b3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QK
IHsKICAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBXZWJD
b3JlTWVtb3J5VHlwZXM6OkNTUyk7Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV92
YWx1ZSk7CisgICAgaW5mby5hZGRNZW1iZXIobV92YWx1ZSk7CiB9CiAKIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NSZWZsZWN0VmFsdWUu
Y3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1JlZmxlY3RWYWx1ZS5jcHAKaW5kZXggN2NjYjc2
ZWNmNjI5MTAyYTczMGJmMGViY2M5MDEzODQ3NzVmMzhlMS4uOTQzOWQ2MDBlYTgxNGEwNDU5Zjk4
YjJjYjlhYzVlNmQ0Y2YyM2I5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Jl
ZmxlY3RWYWx1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1JlZmxlY3RWYWx1ZS5j
cHAKQEAgLTcwLDggKzcwLDggQEAgdm9pZCBDU1NSZWZsZWN0VmFsdWU6OmFkZFN1YnJlc291cmNl
U3R5bGVVUkxzKExpc3RIYXNoU2V0PEtVUkw+JiB1cmxzLCBjb25zdCBTdHkKIHZvaWQgQ1NTUmVm
bGVjdFZhbHVlOjpyZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyog
bWVtb3J5T2JqZWN0SW5mbykgY29uc3QKIHsKICAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1v
cnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6OkNTUyk7Ci0gICAgaW5mby5h
ZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9vZmZzZXQpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVk
TWVtYmVyKG1fbWFzayk7CisgICAgaW5mby5hZGRNZW1iZXIobV9vZmZzZXQpOworICAgIGluZm8u
YWRkTWVtYmVyKG1fbWFzayk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NSdWxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NSdWxlLmNwcAppbmRleCBmYTdlY2YxNDgxNWMwOTcyMWJlYjljMjQwMzliZjYwNzQ0NmIxOTli
Li5mYzkwMjIyODI0Mjk3YTA4ODllYWU4ZjJiNTJiYzA3YWU2ZjExMWZjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTUnVsZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U1J1bGUuY3BwCkBAIC0yMTQsOSArMjE0LDkgQEAgdm9pZCBDU1NSdWxlOjpyZXBvcnRCYXNlQ2xh
c3NNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb24KIHsK
ICAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3Jl
TWVtb3J5VHlwZXM6OkNTUyk7CiAgICAgaWYgKG1fcGFyZW50SXNSdWxlKQotICAgICAgICBpbmZv
LmFkZEluc3RydW1lbnRlZE1lbWJlcihtX3BhcmVudFJ1bGUpOworICAgICAgICBpbmZvLmFkZE1l
bWJlcihtX3BhcmVudFJ1bGUpOwogICAgIGVsc2UKLSAgICAgICAgaW5mby5hZGRJbnN0cnVtZW50
ZWRNZW1iZXIobV9wYXJlbnRTdHlsZVNoZWV0KTsKKyAgICAgICAgaW5mby5hZGRNZW1iZXIobV9w
YXJlbnRTdHlsZVNoZWV0KTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1J1bGVMaXN0LmggYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTUnVsZUxpc3QuaAppbmRleCBjYWNmMTUxYWY4MzY1Y2U3OGQzMGY4NjE5ODE0YWNlMjYyMzAx
NGI2Li5iYjdlMTU4MmQ2MzliNjNmMzE3ZGUyMTM3MjcxMTQ0NDMyY2JkMDcwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUnVsZUxpc3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTUnVsZUxpc3QuaApAQCAtODksNyArODksNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2
b2lkIHJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8p
IGNvbnN0IE9WRVJSSURFCiAgICAgewogICAgICAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1v
cnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6OkNTUyk7Ci0gICAgICAgIGlu
Zm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fcnVsZSk7CisgICAgICAgIGluZm8uYWRkTWVtYmVy
KG1fcnVsZSk7CiAgICAgfQogICAgIAogcHJpdmF0ZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NTdHlsZVJ1bGUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlUnVs
ZS5jcHAKaW5kZXggMzY1ZDhkOTBmZGE1YTE4NDNlNDZmMjA3MGFjZmRlYTliZGE5ODZkNC4uMWIz
OTg3MTQ2YzA0MmUyNzczYzUxMzczOTJkNjBmMWUwY2ZhY2M3MCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvY3NzL0NTU1N0eWxlUnVsZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U1N0eWxlUnVsZS5jcHAKQEAgLTEzMyw4ICsxMzMsOCBAQCB2b2lkIENTU1N0eWxlUnVsZTo6cmVw
b3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdElu
ZgogewogICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIFdl
YkNvcmVNZW1vcnlUeXBlczo6Q1NTKTsKICAgICBDU1NSdWxlOjpyZXBvcnRCYXNlQ2xhc3NNZW1v
cnlVc2FnZShtZW1vcnlPYmplY3RJbmZvKTsKLSAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJl
cihtX3N0eWxlUnVsZSk7Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9wcm9wZXJ0
aWVzQ1NTT01XcmFwcGVyKTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX3N0eWxlUnVsZSk7CisgICAg
aW5mby5hZGRNZW1iZXIobV9wcm9wZXJ0aWVzQ1NTT01XcmFwcGVyKTsKIH0KIAogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2hl
ZXQuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2hlZXQuY3BwCmluZGV4IDc5Y2Nl
MTE2ZGFkMTMxYTc2NmQxMTBmNzJlNTYyZmM2YzY3MzQyYmIuLjBlMTAyMDJjN2ZlYmJmMmJlNmQ4
OWFmY2NkNTdkYjJkMDNhNjJjZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NT
dHlsZVNoZWV0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTaGVldC5jcHAK
QEAgLTU4LDcgKzU4LDcgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgcmVwb3J0TWVtb3J5
VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QgT1ZFUlJJREUK
ICAgICB7CiAgICAgICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRo
aXMsIFdlYkNvcmVNZW1vcnlUeXBlczo6Q1NTKTsKLSAgICAgICAgaW5mby5hZGRJbnN0cnVtZW50
ZWRNZW1iZXIobV9zdHlsZVNoZWV0KTsKKyAgICAgICAgaW5mby5hZGRNZW1iZXIobV9zdHlsZVNo
ZWV0KTsKICAgICB9CiAgICAgCiAgICAgQ1NTU3R5bGVTaGVldCogbV9zdHlsZVNoZWV0OwpAQCAt
MTgxLDEyICsxODEsMTIgQEAgdm9pZCBDU1NTdHlsZVNoZWV0OjpyZWF0dGFjaENoaWxkUnVsZUNT
U09NV3JhcHBlcnMoKQogdm9pZCBDU1NTdHlsZVNoZWV0OjpyZXBvcnRNZW1vcnlVc2FnZShNZW1v
cnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAogewogICAgIE1lbW9yeUNsYXNz
SW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIFdlYkNvcmVNZW1vcnlUeXBlczo6Q1NT
KTsKLSAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX2NvbnRlbnRzKTsKLSAgICBpbmZv
LmFkZEluc3RydW1lbnRlZE1lbWJlcihtX3RpdGxlKTsKLSAgICBpbmZvLmFkZEluc3RydW1lbnRl
ZE1lbWJlcihtX21lZGlhUXVlcmllcyk7Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIo
bV9vd25lck5vZGUpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fb3duZXJSdWxl
KTsKLSAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX21lZGlhQ1NTT01XcmFwcGVyKTsK
KyAgICBpbmZvLmFkZE1lbWJlcihtX2NvbnRlbnRzKTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX3Rp
dGxlKTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX21lZGlhUXVlcmllcyk7CisgICAgaW5mby5hZGRN
ZW1iZXIobV9vd25lck5vZGUpOworICAgIGluZm8uYWRkTWVtYmVyKG1fb3duZXJSdWxlKTsKKyAg
ICBpbmZvLmFkZE1lbWJlcihtX21lZGlhQ1NTT01XcmFwcGVyKTsKICAgICBpbmZvLmFkZEluc3Ry
dW1lbnRlZFZlY3RvcihtX2NoaWxkUnVsZUNTU09NV3JhcHBlcnMpOwogfQogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U1ZhbHVlLmNwcAppbmRleCBmNWVmMWVmNDE3MTFkYjU4YWJmODBjM2Q3YjAzZjRlNTdhOGJlZDVm
Li4wYTYxMjlkOTJhZTY2NDdkZDM1ZDY4MjMxMjI5OGUzY2QxMmVjYTU3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NWYWx1ZS5jcHAKQEAgLTgzLDcgKzgzLDcgQEAgcHVibGljOgogICAgIHZvaWQgcmVwb3J0RGVz
Y2VuZGFudE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNv
bnN0CiAgICAgewogICAgICAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZv
LCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6OkNTUyk7Ci0gICAgICAgIGluZm8uYWRkSW5zdHJ1
bWVudGVkTWVtYmVyKG1fY3NzVGV4dCk7CisgICAgICAgIGluZm8uYWRkTWVtYmVyKG1fY3NzVGV4
dCk7CiAgICAgfQogCiBwcml2YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NT
U1ZhcmlhYmxlVmFsdWUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYXJpYWJsZVZhbHVlLmgK
aW5kZXggZTMyZTQ4ZjYyNmJmZDRmYjE1Y2RjZWU3MjRlN2IwMmVjZDAzMmUxNS4uNGZjNGY3NTIz
NmFjOTYxYzU1MTE5N2Y0ZTViYjRmNzA3MDQwZjc4OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvY3NzL0NTU1ZhcmlhYmxlVmFsdWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFy
aWFibGVWYWx1ZS5oCkBAIC01MSw4ICs1MSw4IEBAIHB1YmxpYzoKICAgICB2b2lkIHJlcG9ydERl
c2NlbmRhbnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBj
b25zdAogICAgIHsKICAgICAgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5m
bywgdGhpcywgV2ViQ29yZU1lbW9yeVR5cGVzOjpDU1MpOwotICAgICAgICBpbmZvLmFkZEluc3Ry
dW1lbnRlZE1lbWJlcihtX25hbWUpOwotICAgICAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJl
cihtX3ZhbHVlKTsKKyAgICAgICAgaW5mby5hZGRNZW1iZXIobV9uYW1lKTsKKyAgICAgICAgaW5m
by5hZGRNZW1iZXIobV92YWx1ZSk7CiAgICAgfQogCiBwcml2YXRlOgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvY3NzL0ZvbnRGZWF0dXJlVmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3Nz
L0ZvbnRGZWF0dXJlVmFsdWUuY3BwCmluZGV4IDk0OGQyMmI2NGM2Yjk0NWUwMGZiMWYyMmRmODU2
NDhiOTQ1MzIwMzguLjEwMzRmY2E5NDQ0MmJkMTMxODRhYTc4YTNmNzZhNGMzNWQwZmY5MmEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9Gb250RmVhdHVyZVZhbHVlLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9jc3MvRm9udEZlYXR1cmVWYWx1ZS5jcHAKQEAgLTUzLDcgKzUzLDcgQEAg
U3RyaW5nIEZvbnRGZWF0dXJlVmFsdWU6OmN1c3RvbUNzc1RleHQoKSBjb25zdAogdm9pZCBGb250
RmVhdHVyZVZhbHVlOjpyZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5m
byogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKIHsKICAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyht
ZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6OkNTUyk7Ci0gICAgaW5m
by5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV90YWcpOworICAgIGluZm8uYWRkTWVtYmVyKG1fdGFn
KTsKIH0KIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0ZvbnRWYWx1ZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvRm9udFZhbHVlLmNwcAppbmRleCBhY2IyNWQyNGI3OThmZWIz
YzQ3N2JhN2RiZTQxMDg0ZTk0MjYyNWUwLi4wYmExZTZlOThkNGQ5YzcxM2U3Y2UxOTNjMmYzM2Zh
ZGVmOGFhMjk3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvRm9udFZhbHVlLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvRm9udFZhbHVlLmNwcApAQCAtNjgsMTIgKzY4LDEyIEBA
IFN0cmluZyBGb250VmFsdWU6OmN1c3RvbUNzc1RleHQoKSBjb25zdAogdm9pZCBGb250VmFsdWU6
OnJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmpl
Y3RJbmZvKSBjb25zdAogewogICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdElu
Zm8sIHRoaXMsIFdlYkNvcmVNZW1vcnlUeXBlczo6Q1NTKTsKLSAgICBpbmZvLmFkZEluc3RydW1l
bnRlZE1lbWJlcihzdHlsZSk7Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIodmFyaWFu
dCk7Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIod2VpZ2h0KTsKLSAgICBpbmZvLmFk
ZEluc3RydW1lbnRlZE1lbWJlcihzaXplKTsKLSAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJl
cihsaW5lSGVpZ2h0KTsKLSAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihmYW1pbHkpOwor
ICAgIGluZm8uYWRkTWVtYmVyKHN0eWxlKTsKKyAgICBpbmZvLmFkZE1lbWJlcih2YXJpYW50KTsK
KyAgICBpbmZvLmFkZE1lbWJlcih3ZWlnaHQpOworICAgIGluZm8uYWRkTWVtYmVyKHNpemUpOwor
ICAgIGluZm8uYWRkTWVtYmVyKGxpbmVIZWlnaHQpOworICAgIGluZm8uYWRkTWVtYmVyKGZhbWls
eSk7CiB9CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYUxpc3QuY3Bw
IGIvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhTGlzdC5jcHAKaW5kZXggNzczY2VlYmI1OTkyNGRm
Y2RjMGRjODE0M2FlNDY4NjVlMmM5ZmVjOC4uNjI5MDNkNmIxNmU0NDAyOWMxMjg3M2M5N2E5N2Ez
ZjEwOGY1NWQ3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhTGlzdC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhTGlzdC5jcHAKQEAgLTI5Myw3ICsyOTMsNyBA
QCB2b2lkIE1lZGlhTGlzdDo6cmVhdHRhY2goTWVkaWFRdWVyeVNldCogbWVkaWFRdWVyaWVzKQog
dm9pZCBNZWRpYUxpc3Q6OnJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9y
eU9iamVjdEluZm8pIGNvbnN0CiB7CiAgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2Jq
ZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9yeVR5cGVzOjpDU1MpOwotICAgIGluZm8uYWRkSW5z
dHJ1bWVudGVkTWVtYmVyKG1fbWVkaWFRdWVyaWVzKTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX21l
ZGlhUXVlcmllcyk7CiB9CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRp
YVF1ZXJ5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5LmNwcAppbmRleCBkZGEx
NTBmYjU4NmQ2Y2UwNmRiYzY2OTVkMTFhODJkMmFiMmExNjFkLi5hM2YyNWQ3MTJkNWIxMDM0MDI3
MWJjMjAwMjViOTY2NzMxNDYyZDY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVk
aWFRdWVyeS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnkuY3BwCkBAIC0x
MzcsOSArMTM3LDkgQEAgU3RyaW5nIE1lZGlhUXVlcnk6OmNzc1RleHQoKSBjb25zdAogdm9pZCBN
ZWRpYVF1ZXJ5OjpyZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmpl
Y3RJbmZvKSBjb25zdAogewogICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdElu
Zm8sIHRoaXMsIFdlYkNvcmVNZW1vcnlUeXBlczo6Q1NTKTsKLSAgICBpbmZvLmFkZEluc3RydW1l
bnRlZE1lbWJlcihtX21lZGlhVHlwZSk7CisgICAgaW5mby5hZGRNZW1iZXIobV9tZWRpYVR5cGUp
OwogICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkVmVjdG9yUHRyKG1fZXhwcmVzc2lvbnMpOwotICAg
IGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fc2VyaWFsaXphdGlvbkNhY2hlKTsKKyAgICBp
bmZvLmFkZE1lbWJlcihtX3NlcmlhbGl6YXRpb25DYWNoZSk7CiB9CiAKIH0gLy9uYW1lc3BhY2UK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5RXhwLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5RXhwLmNwcAppbmRleCA2OTVjZTBiYTZmMWRlMmE4NDJh
Mjg1YTVhMThjOGY0OWI2YWExZGNhLi41MzAyZDdiOWE1Y2EyYTc2NTZhZDA3ZTlmZjUyNTM3Njll
ZWNkMTg3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUV4cC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlFeHAuY3BwCkBAIC0xMTIsOSArMTEy
LDkgQEAgU3RyaW5nIE1lZGlhUXVlcnlFeHA6OnNlcmlhbGl6ZSgpIGNvbnN0CiB2b2lkIE1lZGlh
UXVlcnlFeHA6OnJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVj
dEluZm8pIGNvbnN0CiB7CiAgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5m
bywgdGhpcywgV2ViQ29yZU1lbW9yeVR5cGVzOjpDU1MpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVu
dGVkTWVtYmVyKG1fbWVkaWFGZWF0dXJlKTsKLSAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJl
cihtX3NlcmlhbGl6YXRpb25DYWNoZSk7Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIo
bV92YWx1ZSk7CisgICAgaW5mby5hZGRNZW1iZXIobV9tZWRpYUZlYXR1cmUpOworICAgIGluZm8u
YWRkTWVtYmVyKG1fc2VyaWFsaXphdGlvbkNhY2hlKTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX3Zh
bHVlKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9Qcm9wZXJ0eVNldENTU1N0eWxlRGVjbGFyYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvY3Nz
L1Byb3BlcnR5U2V0Q1NTU3R5bGVEZWNsYXJhdGlvbi5jcHAKaW5kZXggNjA5M2NmODE0MTlkMDdk
NmZkMjcyOGVhNDcyODAyZWE1M2IzZjU4Yy4uZjZlM2RiMzliNzU5ODI3MTU5ZjEyYTFjMGZhN2Qw
MDg0YWQzMTM2NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1Byb3BlcnR5U2V0Q1NT
U3R5bGVEZWNsYXJhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1Byb3BlcnR5U2V0
Q1NTU3R5bGVEZWNsYXJhdGlvbi5jcHAKQEAgLTE3Miw3ICsxNzIsNyBAQCB2b2lkIFByb3BlcnR5
U2V0Q1NTU3R5bGVEZWNsYXJhdGlvbjo6ZGVyZWYoKQogdm9pZCBQcm9wZXJ0eVNldENTU1N0eWxl
RGVjbGFyYXRpb246OnJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9i
amVjdEluZm8pIGNvbnN0CiB7CiAgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0
SW5mbywgdGhpcywgV2ViQ29yZU1lbW9yeVR5cGVzOjpDU1MpOwotICAgIGluZm8uYWRkSW5zdHJ1
bWVudGVkTWVtYmVyKG1fcHJvcGVydHlTZXQpOworICAgIGluZm8uYWRkTWVtYmVyKG1fcHJvcGVy
dHlTZXQpOwogICAgIGlmIChtX2Nzc29tQ1NTVmFsdWVDbG9uZXMpCiAgICAgICAgIGluZm8uYWRk
SW5zdHJ1bWVudGVkTWFwRW50cmllcygqbV9jc3NvbUNTU1ZhbHVlQ2xvbmVzKTsKIH0KQEAgLTQz
MiwxNCArNDMyLDE0IEBAIHZvaWQgU3R5bGVSdWxlQ1NTU3R5bGVEZWNsYXJhdGlvbjo6cmVwb3J0
TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqCiB7CiAgICAgTWVtb3J5Q2xh
c3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9yeVR5cGVzOjpD
U1MpOwogICAgIFByb3BlcnR5U2V0Q1NTU3R5bGVEZWNsYXJhdGlvbjo6cmVwb3J0TWVtb3J5VXNh
Z2UobWVtb3J5T2JqZWN0SW5mbyk7Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9w
YXJlbnRSdWxlKTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX3BhcmVudFJ1bGUpOwogfQogCiB2b2lk
IElubGluZUNTU1N0eWxlRGVjbGFyYXRpb246OnJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVj
dEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiB7CiAgICAgTWVtb3J5Q2xhc3NJbmZvIGlu
Zm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9yeVR5cGVzOjpDU1MpOwogICAg
IFByb3BlcnR5U2V0Q1NTU3R5bGVEZWNsYXJhdGlvbjo6cmVwb3J0TWVtb3J5VXNhZ2UobWVtb3J5
T2JqZWN0SW5mbyk7Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9wYXJlbnRFbGVt
ZW50KTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX3BhcmVudEVsZW1lbnQpOwogfQogCiB2b2lkIElu
bGluZUNTU1N0eWxlRGVjbGFyYXRpb246OmRpZE11dGF0ZShNdXRhdGlvblR5cGUgdHlwZSkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TaGFkb3dWYWx1ZS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvU2hhZG93VmFsdWUuY3BwCmluZGV4IDkwYWUxNTJmYjI0ZDA1Zjc3NzgwOWU2Mzkw
YTY4YWEzOTJkYjFhOWEuLmE0MDY0Y2MxMDVlZDlkNTQ5ZDk1YTBhMzRjOGRlMjI2ZDc2YzgwNDAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TaGFkb3dWYWx1ZS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvY3NzL1NoYWRvd1ZhbHVlLmNwcApAQCAtODIsMTIgKzgyLDEyIEBAIFN0cmlu
ZyBTaGFkb3dWYWx1ZTo6Y3VzdG9tQ3NzVGV4dCgpIGNvbnN0CiB2b2lkIFNoYWRvd1ZhbHVlOjpy
ZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0
SW5mbykgY29uc3QKIHsKICAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZv
LCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6OkNTUyk7Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50
ZWRNZW1iZXIoeCk7Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIoeSk7Ci0gICAgaW5m
by5hZGRJbnN0cnVtZW50ZWRNZW1iZXIoYmx1cik7Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRN
ZW1iZXIoc3ByZWFkKTsKLSAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihzdHlsZSk7Ci0g
ICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIoY29sb3IpOworICAgIGluZm8uYWRkTWVtYmVy
KHgpOworICAgIGluZm8uYWRkTWVtYmVyKHkpOworICAgIGluZm8uYWRkTWVtYmVyKGJsdXIpOwor
ICAgIGluZm8uYWRkTWVtYmVyKHNwcmVhZCk7CisgICAgaW5mby5hZGRNZW1iZXIoc3R5bGUpOwor
ICAgIGluZm8uYWRkTWVtYmVyKGNvbG9yKTsKIH0KIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvY3NzL1N0eWxlUHJvcGVydHlTZXQuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxl
UHJvcGVydHlTZXQuY3BwCmluZGV4IGQwZjBmYWIyYTFiZDM1MTk1NzM1MGYyNzk5ZGE4ZDQ0MDdj
ODNiMDIuLjZlM2MwZmRlOTZkMjhjM2EwNjUyNmRhOTlmMWIzMDZhZTU0YWVlNjMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVByb3BlcnR5U2V0LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvU3R5bGVQcm9wZXJ0eVNldC5jcHAKQEAgLTExMjcsNyArMTEyNyw3IEBAIHZv
aWQgU3R5bGVQcm9wZXJ0eVNldDo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyog
bWVtb3J5T2JqZWN0SW5mbykgY29uCiAKICAgICB1bnNpZ25lZCBjb3VudCA9IHByb3BlcnR5Q291
bnQoKTsKICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgY291bnQ7ICsraSkKLSAgICAgICAg
aW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIocHJvcGVydHlBdChpKSk7CisgICAgICAgIGluZm8u
YWRkTWVtYmVyKHByb3BlcnR5QXQoaSkpOwogfQogCiAvLyBTZWUgdGhlIGZ1bmN0aW9uIGFib3Zl
IGlmIHlvdSBuZWVkIHRvIHVwZGF0ZSB0aGlzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Y3NzL1N0eWxlUmVzb2x2ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIu
Y3BwCmluZGV4IGU1MTk3YTRkYzYzN2VlZGQ4YTJlY2NkMGIyYzNhZDRmODY2NTJiY2EuLjUxN2Jk
YjZiMmUwZjZhMDcyYjZjOTAxOWRjYWIxODhkMWRjZGVlOTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5
bGVSZXNvbHZlci5jcHAKQEAgLTI1ODYsNyArMjU4Niw3IEBAIHZvaWQgUnVsZVNldDo6cmVwb3J0
TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKIHZv
aWQgUnVsZVNldDo6UnVsZVNldFNlbGVjdG9yUGFpcjo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5
T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKIHsKICAgICBNZW1vcnlDbGFzc0lu
Zm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6OkNTUyk7
Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIocnVsZVNldCk7CisgICAgaW5mby5hZGRN
ZW1iZXIocnVsZVNldCk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgdm9pZCBjb2xsZWN0RmVhdHVyZXNG
cm9tU2VsZWN0b3IoU3R5bGVSZXNvbHZlcjo6RmVhdHVyZXMmIGZlYXR1cmVzLCBjb25zdCBDU1NT
ZWxlY3Rvciogc2VsZWN0b3IpCkBAIC01NzU5LDcgKzU3NTksNyBAQCB2b2lkIFN0eWxlUmVzb2x2
ZXI6OmxvYWRQZW5kaW5nUmVzb3VyY2VzKCkKIHZvaWQgU3R5bGVSZXNvbHZlcjo6TWF0Y2hlZFBy
b3BlcnRpZXM6OnJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVj
dEluZm8pIGNvbnN0CiB7CiAgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5m
bywgdGhpcywgV2ViQ29yZU1lbW9yeVR5cGVzOjpDU1MpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVu
dGVkTWVtYmVyKHByb3BlcnRpZXMpOworICAgIGluZm8uYWRkTWVtYmVyKHByb3BlcnRpZXMpOwog
fQogCiB2b2lkIFN0eWxlUmVzb2x2ZXI6Ok1hdGNoZWRQcm9wZXJ0aWVzQ2FjaGVJdGVtOjpyZXBv
cnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdApA
QCAtNTc3MSwyNiArNTc3MSwyNiBAQCB2b2lkIFN0eWxlUmVzb2x2ZXI6Ok1hdGNoZWRQcm9wZXJ0
aWVzQ2FjaGVJdGVtOjpyZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbgogdm9pZCBNZWRp
YVF1ZXJ5UmVzdWx0OjpyZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlP
YmplY3RJbmZvKSBjb25zdAogewogICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVj
dEluZm8sIHRoaXMsIFdlYkNvcmVNZW1vcnlUeXBlczo6Q1NTKTsKLSAgICBpbmZvLmFkZEluc3Ry
dW1lbnRlZE1lbWJlcihtX2V4cHJlc3Npb24pOworICAgIGluZm8uYWRkTWVtYmVyKG1fZXhwcmVz
c2lvbik7CiB9CiAKIHZvaWQgU3R5bGVSZXNvbHZlcjo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5
T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKIHsKICAgICBNZW1vcnlDbGFzc0lu
Zm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6OkNTUyk7
CiAgICAgaW5mby5hZGRNZW1iZXIobV9zdHlsZSk7Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRN
ZW1iZXIobV9hdXRob3JTdHlsZSk7Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV91
c2VyU3R5bGUpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fc2libGluZ1J1bGVT
ZXQpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fdW5jb21tb25BdHRyaWJ1dGVS
dWxlU2V0KTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX2F1dGhvclN0eWxlKTsKKyAgICBpbmZvLmFk
ZE1lbWJlcihtX3VzZXJTdHlsZSk7CisgICAgaW5mby5hZGRNZW1iZXIobV9zaWJsaW5nUnVsZVNl
dCk7CisgICAgaW5mby5hZGRNZW1iZXIobV91bmNvbW1vbkF0dHJpYnV0ZVJ1bGVTZXQpOwogICAg
IGluZm8uYWRkSGFzaE1hcChtX2tleWZyYW1lc1J1bGVNYXApOwogICAgIGluZm8uYWRkSGFzaE1h
cChtX21hdGNoZWRQcm9wZXJ0aWVzQ2FjaGUpOwogICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWFw
VmFsdWVzKG1fbWF0Y2hlZFByb3BlcnRpZXNDYWNoZSk7CiAgICAgaW5mby5hZGRWZWN0b3IobV9t
YXRjaGVkUnVsZXMpOwogCi0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9ydWxlTGlz
dCk7CisgICAgaW5mby5hZGRNZW1iZXIobV9ydWxlTGlzdCk7CiAgICAgaW5mby5hZGRIYXNoTWFw
KG1fcGVuZGluZ0ltYWdlUHJvcGVydGllcyk7CiAgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNYXBW
YWx1ZXMobV9wZW5kaW5nSW1hZ2VQcm9wZXJ0aWVzKTsKLSAgICBpbmZvLmFkZEluc3RydW1lbnRl
ZE1lbWJlcihtX2xpbmVIZWlnaHRWYWx1ZSk7CisgICAgaW5mby5hZGRNZW1iZXIobV9saW5lSGVp
Z2h0VmFsdWUpOwogICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkVmVjdG9yKG1fdmlld3BvcnREZXBl
bmRlbnRNZWRpYVF1ZXJ5UmVzdWx0cyk7CiAgICAgaW5mby5hZGRIYXNoTWFwKG1fc3R5bGVSdWxl
VG9DU1NPTVdyYXBwZXJNYXApOwogICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWFwRW50cmllcyht
X3N0eWxlUnVsZVRvQ1NTT01XcmFwcGVyTWFwKTsKQEAgLTU4MDUsMTAgKzU4MDUsMTAgQEAgdm9p
ZCBTdHlsZVJlc29sdmVyOjpyZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1v
cnlPYmplY3RJbmZvKSBjb25zdAogI2VuZGlmCiAKICAgICAvLyBGSVhNRTogbW92ZSB0aGlzIHRv
IGEgcGxhY2Ugd2hlcmUgaXQgd291bGQgYmUgY2FsbGVkIG9ubHkgb25jZT8KLSAgICBpbmZvLmFk
ZEluc3RydW1lbnRlZE1lbWJlcihkZWZhdWx0U3R5bGUpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVu
dGVkTWVtYmVyKGRlZmF1bHRRdWlya3NTdHlsZSk7Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRN
ZW1iZXIoZGVmYXVsdFByaW50U3R5bGUpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVy
KGRlZmF1bHRWaWV3U291cmNlU3R5bGUpOworICAgIGluZm8uYWRkTWVtYmVyKGRlZmF1bHRTdHls
ZSk7CisgICAgaW5mby5hZGRNZW1iZXIoZGVmYXVsdFF1aXJrc1N0eWxlKTsKKyAgICBpbmZvLmFk
ZE1lbWJlcihkZWZhdWx0UHJpbnRTdHlsZSk7CisgICAgaW5mby5hZGRNZW1iZXIoZGVmYXVsdFZp
ZXdTb3VyY2VTdHlsZSk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0
eWxlUnVsZS5jcHAKaW5kZXggNjg0N2MxNmI5NzBmYWU1ZjUxODIwZWQ3YWY1ZDcwZjIzZWY3Zjdk
ZS4uNTllZDllNThmMGE3ZjdjOTBjZmYzMmIzZmI1YjQ4OGNmYmM4YTFiNCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUnVsZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3Nz
L1N0eWxlUnVsZS5jcHAKQEAgLTIwOSw4ICsyMDksOCBAQCB1bnNpZ25lZCBTdHlsZVJ1bGU6OmF2
ZXJhZ2VTaXplSW5CeXRlcygpCiB2b2lkIFN0eWxlUnVsZTo6cmVwb3J0RGVzY2VuZGFudE1lbW9y
eVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiB7CiAgICAg
TWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9y
eVR5cGVzOjpDU1MpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fcHJvcGVydGll
cyk7Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9zZWxlY3Rvckxpc3QpOworICAg
IGluZm8uYWRkTWVtYmVyKG1fcHJvcGVydGllcyk7CisgICAgaW5mby5hZGRNZW1iZXIobV9zZWxl
Y3Rvckxpc3QpOwogfQogCiBTdHlsZVJ1bGU6OlN0eWxlUnVsZShpbnQgc291cmNlTGluZSkKQEAg
LTI3Miw4ICsyNzIsOCBAQCB2b2lkIFN0eWxlUnVsZVBhZ2U6OnNldFByb3BlcnRpZXMoUGFzc1Jl
ZlB0cjxTdHlsZVByb3BlcnR5U2V0PiBwcm9wZXJ0aWVzKQogdm9pZCBTdHlsZVJ1bGVQYWdlOjpy
ZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0
SW5mbykgY29uc3QKIHsKICAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZv
LCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6OkNTUyk7Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50
ZWRNZW1iZXIobV9wcm9wZXJ0aWVzKTsKLSAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlciht
X3NlbGVjdG9yTGlzdCk7CisgICAgaW5mby5hZGRNZW1iZXIobV9wcm9wZXJ0aWVzKTsKKyAgICBp
bmZvLmFkZE1lbWJlcihtX3NlbGVjdG9yTGlzdCk7CiB9CiAKIFN0eWxlUnVsZUZvbnRGYWNlOjpT
dHlsZVJ1bGVGb250RmFjZSgpCkBAIC0zMDYsNyArMzA2LDcgQEAgdm9pZCBTdHlsZVJ1bGVGb250
RmFjZTo6c2V0UHJvcGVydGllcyhQYXNzUmVmUHRyPFN0eWxlUHJvcGVydHlTZXQ+IHByb3BlcnRp
ZXMpCiB2b2lkIFN0eWxlUnVsZUZvbnRGYWNlOjpyZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2Uo
TWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKIHsKICAgICBNZW1vcnlD
bGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6
OkNTUyk7Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9wcm9wZXJ0aWVzKTsKKyAg
ICBpbmZvLmFkZE1lbWJlcihtX3Byb3BlcnRpZXMpOwogfQogCiAKQEAgLTM1Niw3ICszNTYsNyBA
QCBTdHlsZVJ1bGVNZWRpYTo6U3R5bGVSdWxlTWVkaWEoY29uc3QgU3R5bGVSdWxlTWVkaWEmIG8p
CiB2b2lkIFN0eWxlUnVsZU1lZGlhOjpyZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2UoTWVtb3J5
T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKIHsKICAgICBNZW1vcnlDbGFzc0lu
Zm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6OkNTUyk7
Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9tZWRpYVF1ZXJpZXMpOworICAgIGlu
Zm8uYWRkTWVtYmVyKG1fbWVkaWFRdWVyaWVzKTsKIH0KIAogU3R5bGVSdWxlUmVnaW9uOjpTdHls
ZVJ1bGVSZWdpb24oQ1NTU2VsZWN0b3JWZWN0b3IqIHNlbGVjdG9ycywgVmVjdG9yPFJlZlB0cjxT
dHlsZVJ1bGVCYXNlPiA+JiBhZG9wdFJ1bGVzKQpAQCAtMzc0LDcgKzM3NCw3IEBAIFN0eWxlUnVs
ZVJlZ2lvbjo6U3R5bGVSdWxlUmVnaW9uKGNvbnN0IFN0eWxlUnVsZVJlZ2lvbiYgbykKIHZvaWQg
U3R5bGVSdWxlUmVnaW9uOjpyZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0
SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKIHsKICAgICBNZW1vcnlDbGFzc0luZm8gaW5m
byhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6OkNTUyk7Ci0gICAg
aW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9zZWxlY3Rvckxpc3QpOworICAgIGluZm8uYWRk
TWVtYmVyKG1fc2VsZWN0b3JMaXN0KTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUnVsZUltcG9ydC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvU3R5bGVSdWxlSW1wb3J0LmNwcAppbmRleCA4OGQ0MGE3MzA5YmE5MjJiZDc4
YTJkOWE4ZjIzZGJiNDZiZTM1Yjc4Li4yNmYyOWU4MmY4MGE5ZmY1MWRhY2U1NzBkOGY0N2U5Mzhh
ZTVkZTBhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSdWxlSW1wb3J0LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSdWxlSW1wb3J0LmNwcApAQCAtMTM0LDkg
KzEzNCw5IEBAIHZvaWQgU3R5bGVSdWxlSW1wb3J0OjpyZXF1ZXN0U3R5bGVTaGVldCgpCiB2b2lk
IFN0eWxlUnVsZUltcG9ydDo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKE1lbW9yeU9iamVj
dEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiB7CiAgICAgTWVtb3J5Q2xhc3NJbmZvIGlu
Zm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9yeVR5cGVzOjpDU1MpOwotICAg
IGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fc3RySHJlZik7Ci0gICAgaW5mby5hZGRJbnN0
cnVtZW50ZWRNZW1iZXIobV9tZWRpYVF1ZXJpZXMpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVk
TWVtYmVyKG1fc3R5bGVTaGVldCk7CisgICAgaW5mby5hZGRNZW1iZXIobV9zdHJIcmVmKTsKKyAg
ICBpbmZvLmFkZE1lbWJlcihtX21lZGlhUXVlcmllcyk7CisgICAgaW5mby5hZGRNZW1iZXIobV9z
dHlsZVNoZWV0KTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvY3NzL1N0eWxlU2hlZXRDb250ZW50cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvU3R5bGVTaGVldENvbnRlbnRzLmNwcAppbmRleCA1ZWRmZDg5NjQ4MGNlNWYzZTY5MTEyZmVk
OGFjN2ViZTFjMjBmOTA5Li4wNDgyNzNiZWMxNzgzZGIyNTI3N2IyMmUyZWY0M2RjNjg5NjE3YWRk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVTaGVldENvbnRlbnRzLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVTaGVldENvbnRlbnRzLmNwcApAQCAtNDg3LDgg
KzQ4Nyw4IEBAIHZvaWQgU3R5bGVTaGVldENvbnRlbnRzOjpyZW1vdmVkRnJvbU1lbW9yeUNhY2hl
KCkKIHZvaWQgU3R5bGVTaGVldENvbnRlbnRzOjpyZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmpl
Y3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAogewogICAgIE1lbW9yeUNsYXNzSW5mbyBp
bmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIFdlYkNvcmVNZW1vcnlUeXBlczo6Q1NTKTsKLSAg
ICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX29yaWdpbmFsVVJMKTsKLSAgICBpbmZvLmFk
ZEluc3RydW1lbnRlZE1lbWJlcihtX2VuY29kaW5nRnJvbUNoYXJzZXRSdWxlKTsKKyAgICBpbmZv
LmFkZE1lbWJlcihtX29yaWdpbmFsVVJMKTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX2VuY29kaW5n
RnJvbUNoYXJzZXRSdWxlKTsKICAgICBpbmZvLmFkZFZlY3RvcihtX2ltcG9ydFJ1bGVzKTsKICAg
ICBpbmZvLmFkZEluc3RydW1lbnRlZFZlY3RvcihtX2NoaWxkUnVsZXMpOwogICAgIGluZm8uYWRk
SGFzaE1hcChtX25hbWVzcGFjZXMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1dl
YktpdENTU0tleWZyYW1lUnVsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTS2V5
ZnJhbWVSdWxlLmNwcAppbmRleCBiZjNiODY5NWI3YzM2NzFkOTcyMDljM2UzZWNmNzFlNzI2YzRi
Y2FmLi44YWNiNTQ5NzlhNjFhMDBlZGRmMjlkNDY4OTIzMWVhMGU1YTM4ODcyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTS2V5ZnJhbWVSdWxlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTS2V5ZnJhbWVSdWxlLmNwcApAQCAtOTIsOCArOTIsOCBA
QCBTdHJpbmcgU3R5bGVLZXlmcmFtZTo6Y3NzVGV4dCgpIGNvbnN0CiB2b2lkIFN0eWxlS2V5ZnJh
bWU6OnJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8p
IGNvbnN0CiB7CiAgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhp
cywgV2ViQ29yZU1lbW9yeVR5cGVzOjpDU1MpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVt
YmVyKG1fcHJvcGVydGllcyk7Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9rZXkp
OworICAgIGluZm8uYWRkTWVtYmVyKG1fcHJvcGVydGllcyk7CisgICAgaW5mby5hZGRNZW1iZXIo
bV9rZXkpOwogfQogCiBXZWJLaXRDU1NLZXlmcmFtZVJ1bGU6OldlYktpdENTU0tleWZyYW1lUnVs
ZShTdHlsZUtleWZyYW1lKiBrZXlmcmFtZSwgV2ViS2l0Q1NTS2V5ZnJhbWVzUnVsZSogcGFyZW50
KQpAQCAtMTIwLDggKzEyMCw4IEBAIHZvaWQgV2ViS2l0Q1NTS2V5ZnJhbWVSdWxlOjpyZXBvcnRE
ZXNjZW5kYW50TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5CiB7CiAgICAgTWVt
b3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9yeVR5
cGVzOjpDU1MpOwogICAgIENTU1J1bGU6OnJlcG9ydEJhc2VDbGFzc01lbW9yeVVzYWdlKG1lbW9y
eU9iamVjdEluZm8pOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fa2V5ZnJhbWUp
OwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fcHJvcGVydGllc0NTU09NV3JhcHBl
cik7CisgICAgaW5mby5hZGRNZW1iZXIobV9rZXlmcmFtZSk7CisgICAgaW5mby5hZGRNZW1iZXIo
bV9wcm9wZXJ0aWVzQ1NTT01XcmFwcGVyKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU0tleWZyYW1lc1J1bGUuY3Bw
IGIvU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU0tleWZyYW1lc1J1bGUuY3BwCmluZGV4IGY4
ZDA4MDc4ZGQ3YmMwNGE1OTcwMTVlZGU3ZWYwMmJhMTkyZDFhYTguLmEyOTkxYTgxOGY1MGZmZjRk
NWI0ZTA5YmQ0MzI5YjhhMzFiODUwMWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9X
ZWJLaXRDU1NLZXlmcmFtZXNSdWxlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0
Q1NTS2V5ZnJhbWVzUnVsZS5jcHAKQEAgLTkxLDcgKzkxLDcgQEAgdm9pZCBTdHlsZVJ1bGVLZXlm
cmFtZXM6OnJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1v
cnlPYmoKIHsKICAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlz
LCBXZWJDb3JlTWVtb3J5VHlwZXM6OkNTUyk7CiAgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRWZWN0
b3IobV9rZXlmcmFtZXMpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fbmFtZSk7
CisgICAgaW5mby5hZGRNZW1iZXIobV9uYW1lKTsKIH0KIAogV2ViS2l0Q1NTS2V5ZnJhbWVzUnVs
ZTo6V2ViS2l0Q1NTS2V5ZnJhbWVzUnVsZShTdHlsZVJ1bGVLZXlmcmFtZXMqIGtleWZyYW1lc1J1
bGUsIENTU1N0eWxlU2hlZXQqIHBhcmVudCkKQEAgLTIxMCw5ICsyMTAsOSBAQCB2b2lkIFdlYktp
dENTU0tleWZyYW1lc1J1bGU6OnJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZShNZW1vcnlPYmpl
Y3RJbmZvKiBtZW1vcgogewogICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdElu
Zm8sIHRoaXMsIFdlYkNvcmVNZW1vcnlUeXBlczo6Q1NTKTsKICAgICBDU1NSdWxlOjpyZXBvcnRC
YXNlQ2xhc3NNZW1vcnlVc2FnZShtZW1vcnlPYmplY3RJbmZvKTsKLSAgICBpbmZvLmFkZEluc3Ry
dW1lbnRlZE1lbWJlcihtX2tleWZyYW1lc1J1bGUpOworICAgIGluZm8uYWRkTWVtYmVyKG1fa2V5
ZnJhbWVzUnVsZSk7CiAgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRWZWN0b3IobV9jaGlsZFJ1bGVD
U1NPTVdyYXBwZXJzKTsKLSAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX3J1bGVMaXN0
Q1NTT01XcmFwcGVyKTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX3J1bGVMaXN0Q1NTT01XcmFwcGVy
KTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvY3NzL1dlYktpdENTU1JlZ2lvblJ1bGUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL1dlYktp
dENTU1JlZ2lvblJ1bGUuY3BwCmluZGV4IGU2NDgzMmY2YjJjMjg3OTgzY2I1MmY2OWJhNTg3ZDdl
NWJjN2NiOTkuLjVjMmM3MjFjZDY4NTRhZDM5MjFhYzU2MzkxODVmNmE5Njg5MTNjMzEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NSZWdpb25SdWxlLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTUmVnaW9uUnVsZS5jcHAKQEAgLTExMiw5ICsxMTIs
OSBAQCB2b2lkIFdlYktpdENTU1JlZ2lvblJ1bGU6OnJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2Fn
ZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYgogewogICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZv
KG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIFdlYkNvcmVNZW1vcnlUeXBlczo6Q1NTKTsKICAgICBD
U1NSdWxlOjpyZXBvcnRCYXNlQ2xhc3NNZW1vcnlVc2FnZShtZW1vcnlPYmplY3RJbmZvKTsKLSAg
ICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX3JlZ2lvblJ1bGUpOworICAgIGluZm8uYWRk
TWVtYmVyKG1fcmVnaW9uUnVsZSk7CiAgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRWZWN0b3IobV9j
aGlsZFJ1bGVDU1NPTVdyYXBwZXJzKTsKLSAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlciht
X3J1bGVMaXN0Q1NTT01XcmFwcGVyKTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX3J1bGVMaXN0Q1NT
T01XcmFwcGVyKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU1NWR0RvY3VtZW50VmFsdWUuY3BwIGIvU291cmNlL1dl
YkNvcmUvY3NzL1dlYktpdENTU1NWR0RvY3VtZW50VmFsdWUuY3BwCmluZGV4IGUxMzNjOTIyMWJj
NGUxYmI4YmU2MGExODcyYzk5MzA0YzMxZmYyOTMuLjQ0Yzg4MDg5NDcwZTgzOWQ5NzRlYmEwMWNj
MDZmN2Q5MjBjMTgxMjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NT
VkdEb2N1bWVudFZhbHVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTU1ZH
RG9jdW1lbnRWYWx1ZS5jcHAKQEAgLTY3LDcgKzY3LDcgQEAgU3RyaW5nIFdlYktpdENTU1NWR0Rv
Y3VtZW50VmFsdWU6OmN1c3RvbUNzc1RleHQoKSBjb25zdAogdm9pZCBXZWJLaXRDU1NTVkdEb2N1
bWVudFZhbHVlOjpyZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyog
bWVtb3J5T2JqZWN0SW5mbykgY29uc3QKIHsKICAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1v
cnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6OkNTUyk7Ci0gICAgaW5mby5h
ZGRJbnN0cnVtZW50ZWRNZW1iZXIobV91cmwpOworICAgIGluZm8uYWRkTWVtYmVyKG1fdXJsKTsK
ICAgICAvLyBGSVhNRTogYWRkIG1fZG9jdW1lbnQgd2hlbiBjYWNoZWQgcmVzb3VyY2VzIGFyZSBp
bnN0cnVtZW50ZWQuCiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRD
U1NTaGFkZXJWYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTU2hhZGVyVmFs
dWUuY3BwCmluZGV4IDIzMjY5OTliMDE4NjM0ZGRjNGU2NmY4YTg0ZDU1NWMyODBmMzk5OTQuLjZm
OTM3M2UwZjBmYTJkZjhiZjQ5NDI4MWI1YzJkODc3MjlhYmI5NjEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NTaGFkZXJWYWx1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvY3NzL1dlYktpdENTU1NoYWRlclZhbHVlLmNwcApAQCAtODMsNyArODMsNyBAQCBTdHJpbmcg
V2ViS2l0Q1NTU2hhZGVyVmFsdWU6OmN1c3RvbUNzc1RleHQoKSBjb25zdAogdm9pZCBXZWJLaXRD
U1NTaGFkZXJWYWx1ZTo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdElu
Zm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiB7CiAgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8o
bWVtb3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9yeVR5cGVzOjpDU1MpOwotICAgIGlu
Zm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fdXJsKTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX3Vy
bCk7CiB9CiAgICAgCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vQXR0cmlidXRlLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vQXR0cmlidXRlLmgK
aW5kZXggYWRiMThhNTg5ZWUxNDEyMzkzMjU3MzJmZjM4YjU4NzA2Yjg2ZGIzOS4uODMyOGE3ODM3
ODViMzkyNjQ5NTUwOGVjYjMyYjJkZmM2NGNkOWRkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvZG9tL0F0dHJpYnV0ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9BdHRyaWJ1dGUuaApA
QCAtNzEsOCArNzEsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCByZXBvcnRNZW1vcnlVc2FnZShNZW1v
cnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAogICAgIHsKICAgICAgICAgTWVt
b3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9yeVR5
cGVzOjpET00pOwotICAgICAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX25hbWUpOwot
ICAgICAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX3ZhbHVlKTsKKyAgICAgICAgaW5m
by5hZGRNZW1iZXIobV9uYW1lKTsKKyAgICAgICAgaW5mby5hZGRNZW1iZXIobV92YWx1ZSk7CiAg
ICAgfQogCiBwcml2YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0NoYXJhY3Rl
ckRhdGEuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0NoYXJhY3RlckRhdGEuY3BwCmluZGV4IDM5
MGRlMTgyMTIwYWNhODVmYTA5ZTJhM2VjYWRlMTk1MjQ1YTk2NTkuLjlhNTRhNzRjZDBhYTJhODM5
MDhjOTA3OGE1OWU5ZDljMDE3NTc2ZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9D
aGFyYWN0ZXJEYXRhLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vQ2hhcmFjdGVyRGF0YS5j
cHAKQEAgLTk4LDcgKzk4LDcgQEAgdm9pZCBDaGFyYWN0ZXJEYXRhOjpyZXBvcnRNZW1vcnlVc2Fn
ZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAogewogICAgIE1lbW9y
eUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIFdlYkNvcmVNZW1vcnlUeXBl
czo6RE9NKTsKICAgICBOb2RlOjpyZXBvcnRNZW1vcnlVc2FnZShtZW1vcnlPYmplY3RJbmZvKTsK
LSAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX2RhdGEpOworICAgIGluZm8uYWRkTWVt
YmVyKG1fZGF0YSk7CiB9CiAKIHZvaWQgQ2hhcmFjdGVyRGF0YTo6YXBwZW5kRGF0YShjb25zdCBT
dHJpbmcmIGRhdGEsIEV4Y2VwdGlvbkNvZGUmKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
ZG9tL0NvbnRhaW5lck5vZGUuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Db250YWluZXJOb2RlLmgK
aW5kZXggMjE5ZGM3MmJjY2Y2MDY3YmM4NmU4NDBhMGQ1YmM4MWVlZjhlNzE5NC4uZjllYzM3Nzk4
Yzk0ZmNiZGJlNDBhZDY4MTc3ZWQwOTg0M2I0MWRiOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvZG9tL0NvbnRhaW5lck5vZGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vQ29udGFpbmVy
Tm9kZS5oCkBAIC0xMDUsOCArMTA1LDggQEAgcHVibGljOgogICAgIHsKICAgICAgICAgTWVtb3J5
Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9yeVR5cGVz
OjpET00pOwogICAgICAgICBOb2RlOjpyZXBvcnRNZW1vcnlVc2FnZShtZW1vcnlPYmplY3RJbmZv
KTsKLSAgICAgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9maXJzdENoaWxkKTsKLSAg
ICAgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9sYXN0Q2hpbGQpOworICAgICAgICBp
bmZvLmFkZE1lbWJlcihtX2ZpcnN0Q2hpbGQpOworICAgICAgICBpbmZvLmFkZE1lbWJlcihtX2xh
c3RDaGlsZCk7CiAgICAgfQogCiBwcm90ZWN0ZWQ6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vRG9jdW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAppbmRl
eCBiN2FmZDZhMjQ4NjYyNGZhMjBlNzY3OTlmMDI4NjU4MTk4YjNhNzhiLi5jZTEzZGMzOTYwMzcx
ODZmOWU5NzkwNGJkZjIxNzI0MzZlOTdiZWExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9k
b20vRG9jdW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKQEAg
LTYyNTAsMjEgKzYyNTAsMjEgQEAgdm9pZCBEb2N1bWVudDo6dXBkYXRlSG92ZXJBY3RpdmVTdGF0
ZShjb25zdCBIaXRUZXN0UmVxdWVzdCYgcmVxdWVzdCwgSGl0VGVzdFJlc3UKIHZvaWQgRG9jdW1l
bnQ6OnJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8p
IGNvbnN0CiB7CiAgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhp
cywgV2ViQ29yZU1lbW9yeVR5cGVzOjpET00pOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVt
YmVyKG1fc3R5bGVSZXNvbHZlcik7CisgICAgaW5mby5hZGRNZW1iZXIobV9zdHlsZVJlc29sdmVy
KTsKICAgICBDb250YWluZXJOb2RlOjpyZXBvcnRNZW1vcnlVc2FnZShtZW1vcnlPYmplY3RJbmZv
KTsKICAgICBpbmZvLmFkZFZlY3RvcihtX2N1c3RvbUZvbnRzKTsKLSAgICBpbmZvLmFkZEluc3Ry
dW1lbnRlZE1lbWJlcihtX3VybCk7Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9i
YXNlVVJMKTsKLSAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX2Jhc2VVUkxPdmVycmlk
ZSk7Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9iYXNlRWxlbWVudFVSTCk7Ci0g
ICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9jb29raWVVUkwpOwotICAgIGluZm8uYWRk
SW5zdHJ1bWVudGVkTWVtYmVyKG1fZmlyc3RQYXJ0eUZvckNvb2tpZXMpOwotICAgIGluZm8uYWRk
SW5zdHJ1bWVudGVkTWVtYmVyKG1fZG9jdW1lbnRVUkkpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVu
dGVkTWVtYmVyKG1fYmFzZVRhcmdldCk7Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIo
bV9mcmFtZSk7Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9jYWNoZWRSZXNvdXJj
ZUxvYWRlcik7Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9lbGVtU2hlZXQpOwot
ICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fcGFnZVVzZXJTaGVldCk7CisgICAgaW5m
by5hZGRNZW1iZXIobV91cmwpOworICAgIGluZm8uYWRkTWVtYmVyKG1fYmFzZVVSTCk7CisgICAg
aW5mby5hZGRNZW1iZXIobV9iYXNlVVJMT3ZlcnJpZGUpOworICAgIGluZm8uYWRkTWVtYmVyKG1f
YmFzZUVsZW1lbnRVUkwpOworICAgIGluZm8uYWRkTWVtYmVyKG1fY29va2llVVJMKTsKKyAgICBp
bmZvLmFkZE1lbWJlcihtX2ZpcnN0UGFydHlGb3JDb29raWVzKTsKKyAgICBpbmZvLmFkZE1lbWJl
cihtX2RvY3VtZW50VVJJKTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX2Jhc2VUYXJnZXQpOworICAg
IGluZm8uYWRkTWVtYmVyKG1fZnJhbWUpOworICAgIGluZm8uYWRkTWVtYmVyKG1fY2FjaGVkUmVz
b3VyY2VMb2FkZXIpOworICAgIGluZm8uYWRkTWVtYmVyKG1fZWxlbVNoZWV0KTsKKyAgICBpbmZv
LmFkZE1lbWJlcihtX3BhZ2VVc2VyU2hlZXQpOwogICAgIGlmIChtX3BhZ2VHcm91cFVzZXJTaGVl
dHMpCiAgICAgICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkVmVjdG9yUHRyKG1fcGFnZUdyb3VwVXNl
clNoZWV0cyk7CiAgICAgaWYgKG1fdXNlclNoZWV0cykKQEAgLTYyNzIsMTMgKzYyNzIsMTMgQEAg
dm9pZCBEb2N1bWVudDo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5
T2JqZWN0SW5mbykgY29uc3QKICAgICBpbmZvLmFkZEhhc2hTZXQobV9ub2RlSXRlcmF0b3JzKTsK
ICAgICBpbmZvLmFkZEhhc2hTZXQobV9yYW5nZXMpOwogICAgIGluZm8uYWRkTGlzdEhhc2hTZXQo
bV9zdHlsZVNoZWV0Q2FuZGlkYXRlTm9kZXMpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVt
YmVyKG1fcHJlZmVycmVkU3R5bGVzaGVldFNldCk7Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRN
ZW1iZXIobV9zZWxlY3RlZFN0eWxlc2hlZXRTZXQpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVk
TWVtYmVyKG1fdGl0bGUuc3RyaW5nKCkpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVy
KG1fcmF3VGl0bGUuc3RyaW5nKCkpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1f
eG1sRW5jb2RpbmcpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1feG1sVmVyc2lv
bik7Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9jb250ZW50TGFuZ3VhZ2UpOwor
ICAgIGluZm8uYWRkTWVtYmVyKG1fcHJlZmVycmVkU3R5bGVzaGVldFNldCk7CisgICAgaW5mby5h
ZGRNZW1iZXIobV9zZWxlY3RlZFN0eWxlc2hlZXRTZXQpOworICAgIGluZm8uYWRkTWVtYmVyKG1f
dGl0bGUuc3RyaW5nKCkpOworICAgIGluZm8uYWRkTWVtYmVyKG1fcmF3VGl0bGUuc3RyaW5nKCkp
OworICAgIGluZm8uYWRkTWVtYmVyKG1feG1sRW5jb2RpbmcpOworICAgIGluZm8uYWRkTWVtYmVy
KG1feG1sVmVyc2lvbik7CisgICAgaW5mby5hZGRNZW1iZXIobV9jb250ZW50TGFuZ3VhZ2UpOwog
ICAgIGluZm8uYWRkSGFzaE1hcChtX2RvY3VtZW50TmFtZWRJdGVtQ29sbGVjdGlvbnMpOwogICAg
IGluZm8uYWRkSGFzaE1hcChtX3dpbmRvd05hbWVkSXRlbUNvbGxlY3Rpb25zKTsKICNpZiBFTkFC
TEUoREFTSEJPQVJEX1NVUFBPUlQpCkBAIC02MjkwLDcgKzYyOTAsNyBAQCB2b2lkIERvY3VtZW50
OjpyZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBj
b25zdAogICAgIGluZm8uYWRkSGFzaFNldChtX21lZGlhVm9sdW1lQ2FsbGJhY2tFbGVtZW50cyk7
CiAgICAgaW5mby5hZGRIYXNoU2V0KG1fcHJpdmF0ZUJyb3dzaW5nU3RhdGVDaGFuZ2VkRWxlbWVu
dHMpOwogICAgIGluZm8uYWRkSGFzaE1hcChtX2VsZW1lbnRzQnlBY2Nlc3NLZXkpOwotICAgIGlu
Zm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fZXZlbnRRdWV1ZSk7CisgICAgaW5mby5hZGRNZW1i
ZXIobV9ldmVudFF1ZXVlKTsKICAgICBpbmZvLmFkZEhhc2hTZXQobV9tZWRpYUNhblN0YXJ0TGlz
dGVuZXJzKTsKICAgICBpbmZvLmFkZFZlY3RvcihtX3BlbmRpbmdUYXNrcyk7CiB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0Vs
ZW1lbnQuaAppbmRleCA4YTI4Y2Y3MTViMDEzM2RjOTU5MDBmM2NjZDIwYTRmMjI1OWFiZjc5Li4y
ZjRlOTI1NjRjYTEwZjBjZTJjYjJjNjU1YTU0YzczOTc5N2MxZmFjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50
LmgKQEAgLTQ0Miw4ICs0NDIsOCBAQCBwdWJsaWM6CiAgICAgewogICAgICAgICBNZW1vcnlDbGFz
c0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6OkRP
TSk7CiAgICAgICAgIENvbnRhaW5lck5vZGU6OnJlcG9ydE1lbW9yeVVzYWdlKG1lbW9yeU9iamVj
dEluZm8pOwotICAgICAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX3RhZ05hbWUpOwot
ICAgICAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX2F0dHJpYnV0ZURhdGEpOworICAg
ICAgICBpbmZvLmFkZE1lbWJlcihtX3RhZ05hbWUpOworICAgICAgICBpbmZvLmFkZE1lbWJlciht
X2F0dHJpYnV0ZURhdGEpOwogICAgIH0KIAogcHJvdGVjdGVkOgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvZG9tL0VsZW1lbnRBdHRyaWJ1dGVEYXRhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9FbGVtZW50QXR0cmlidXRlRGF0YS5jcHAKaW5kZXggMTU1ZmZlYTdjM2NjMTU1ZDM2YzBiNTc3
MTg4Nzg3NTBhOWNjM2JjNi4uMDNmN2I4MWZjZjViMTY4MTZmMzFlYmQzYzVmZjBkNWEwMmQzZjc0
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnRBdHRyaWJ1dGVEYXRhLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudEF0dHJpYnV0ZURhdGEuY3BwCkBAIC0y
OTUsMTQgKzI5NSwxNCBAQCB2b2lkIEVsZW1lbnRBdHRyaWJ1dGVEYXRhOjpyZXBvcnRNZW1vcnlV
c2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKQogewogICAgIHNpemVfdCBh
Y3R1YWxTaXplID0gbV9pc011dGFibGUgPyBzaXplb2YoRWxlbWVudEF0dHJpYnV0ZURhdGEpIDog
aW1tdXRhYmxlRWxlbWVudEF0dHJpYnV0ZURhdGFTaXplKG1fYXJyYXlTaXplKTsKICAgICBNZW1v
cnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlw
ZXM6OkRPTSwgYWN0dWFsU2l6ZSk7Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9p
bmxpbmVTdHlsZURlY2wpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fYXR0cmli
dXRlU3R5bGUpOworICAgIGluZm8uYWRkTWVtYmVyKG1faW5saW5lU3R5bGVEZWNsKTsKKyAgICBp
bmZvLmFkZE1lbWJlcihtX2F0dHJpYnV0ZVN0eWxlKTsKICAgICBpbmZvLmFkZE1lbWJlcihtX2Ns
YXNzTmFtZXMpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1faWRGb3JTdHlsZVJl
c29sdXRpb24pOworICAgIGluZm8uYWRkTWVtYmVyKG1faWRGb3JTdHlsZVJlc29sdXRpb24pOwog
ICAgIGlmIChtX2lzTXV0YWJsZSkKICAgICAgICAgaW5mby5hZGRWZWN0b3IobXV0YWJsZUF0dHJp
YnV0ZVZlY3RvcigpKTsKICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwLCBsZW4gPSBsZW5ndGgoKTsg
aSA8IGxlbjsgaSsrKQotICAgICAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcigqYXR0cmli
dXRlSXRlbShpKSk7CisgICAgICAgIGluZm8uYWRkTWVtYmVyKCphdHRyaWJ1dGVJdGVtKGkpKTsK
IH0KIAogc2l6ZV90IEVsZW1lbnRBdHRyaWJ1dGVEYXRhOjpnZXRBdHRyaWJ1dGVJdGVtSW5kZXhT
bG93Q2FzZShjb25zdCBBdG9taWNTdHJpbmcmIG5hbWUsIGJvb2wgc2hvdWxkSWdub3JlQXR0cmli
dXRlQ2FzZSkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnQuY3BwCmluZGV4IGEwYmY0MzliNWUyOTVmOTEzMDQ0
MjQ3YmFhMTNkMTEwZWU4ZjUxMGIuLmMxZTYwOWZmNDBhMDYxMWE3MmMyYzdjMTEwODE1MTJiZWIy
OGRjNTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvZG9tL0V2ZW50LmNwcApAQCAtMTU5LDEwICsxNTksMTAgQEAgdm9pZCBFdmVu
dDo6c3RvcmVSZXN1bHQoY29uc3QgU3RyaW5nJikKIHZvaWQgRXZlbnQ6OnJlcG9ydE1lbW9yeVVz
YWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiB7CiAgICAgTWVt
b3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9yeVR5
cGVzOjpET00pOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fdHlwZSk7CisgICAg
aW5mby5hZGRNZW1iZXIobV90eXBlKTsKICAgICBpbmZvLmFkZE1lbWJlcihtX2N1cnJlbnRUYXJn
ZXQpOwogICAgIGluZm8uYWRkTWVtYmVyKG1fdGFyZ2V0KTsKLSAgICBpbmZvLmFkZEluc3RydW1l
bnRlZE1lbWJlcihtX3VuZGVybHlpbmdFdmVudCk7CisgICAgaW5mby5hZGRNZW1iZXIobV91bmRl
cmx5aW5nRXZlbnQpOwogfQogCiBQYXNzUmVmUHRyPEV2ZW50PiBFdmVudDo6Y2xvbmVGb3IoSFRN
TElGcmFtZUVsZW1lbnQqKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL05v
ZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwCmluZGV4IDM1M2QyODNkMDM4ZjFh
ZDFlNGUxMzlhY2Q0YThiMzQ2YzUzYTE4Y2MuLmFlZjY2OWM1MDYxNGM1ZGRhZDc3OWRmZGQzYmM2
YzllYzYzZGVmYjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5jcHAKQEAgLTI4MTEsMTEgKzI4MTEsMTEgQEAgdm9p
ZCBOb2RlOjpyZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJ
bmZvKSBjb25zdAogICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRo
aXMsIFdlYkNvcmVNZW1vcnlUeXBlczo6RE9NKTsKICAgICBUcmVlU2hhcmVkPE5vZGUsIENvbnRh
aW5lck5vZGU+OjpyZXBvcnRNZW1vcnlVc2FnZShtZW1vcnlPYmplY3RJbmZvKTsKICAgICBTY3Jp
cHRXcmFwcGFibGU6OnJlcG9ydE1lbW9yeVVzYWdlKG1lbW9yeU9iamVjdEluZm8pOwotICAgIGlu
Zm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fZG9jdW1lbnQpOwotICAgIGluZm8uYWRkSW5zdHJ1
bWVudGVkTWVtYmVyKG1fbmV4dCk7Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9w
cmV2aW91cyk7CisgICAgaW5mby5hZGRNZW1iZXIobV9kb2N1bWVudCk7CisgICAgaW5mby5hZGRN
ZW1iZXIobV9uZXh0KTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX3ByZXZpb3VzKTsKICAgICBpZiAo
bV9yZW5kZXJlcikKLSAgICAgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9yZW5kZXJl
ci0+c3R5bGUoKSk7CisgICAgICAgIGluZm8uYWRkTWVtYmVyKG1fcmVuZGVyZXItPnN0eWxlKCkp
OwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vUXVhbGlmaWVkTmFtZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vUXVhbGlmaWVkTmFt
ZS5jcHAKaW5kZXggNTY4MTBiNGU0Mzk3ZTliMWY1Y2IyNjczYTM1ODA1ZDc3OGNmYTY4My4uNzgz
NjA0NzMyMGU1MDkzOWY3MDQ0N2Q1MDljNmVkZTc3MjE3YmMyMiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvZG9tL1F1YWxpZmllZE5hbWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9R
dWFsaWZpZWROYW1lLmNwcApAQCAtMTQ1LDE3ICsxNDUsMTcgQEAgY29uc3QgQXRvbWljU3RyaW5n
JiBRdWFsaWZpZWROYW1lOjpsb2NhbE5hbWVVcHBlcigpIGNvbnN0CiB2b2lkIFF1YWxpZmllZE5h
bWU6OnJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8p
IGNvbnN0CiB7CiAgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhp
cywgV2ViQ29yZU1lbW9yeVR5cGVzOjpET00pOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVt
YmVyKG1faW1wbCk7CisgICAgaW5mby5hZGRNZW1iZXIobV9pbXBsKTsKIH0KIAogCiB2b2lkIFF1
YWxpZmllZE5hbWU6OlF1YWxpZmllZE5hbWVJbXBsOjpyZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlP
YmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAogewogICAgIE1lbW9yeUNsYXNzSW5m
byBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIFdlYkNvcmVNZW1vcnlUeXBlczo6RE9NKTsK
LSAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX3ByZWZpeCk7Ci0gICAgaW5mby5hZGRJ
bnN0cnVtZW50ZWRNZW1iZXIobV9sb2NhbE5hbWUpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVk
TWVtYmVyKG1fbmFtZXNwYWNlKTsKLSAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX2xv
Y2FsTmFtZVVwcGVyKTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX3ByZWZpeCk7CisgICAgaW5mby5h
ZGRNZW1iZXIobV9sb2NhbE5hbWUpOworICAgIGluZm8uYWRkTWVtYmVyKG1fbmFtZXNwYWNlKTsK
KyAgICBpbmZvLmFkZE1lbWJlcihtX2xvY2FsTmFtZVVwcGVyKTsKIH0KIAogdm9pZCBjcmVhdGVR
dWFsaWZpZWROYW1lKHZvaWQqIHRhcmdldEFkZHJlc3MsIGNvbnN0IGNoYXIqIG5hbWUsIHVuc2ln
bmVkIG5hbWVMZW5ndGgsIGNvbnN0IEF0b21pY1N0cmluZyYgbmFtZU5hbWVzcGFjZSkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxlbWVudC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxJbWFnZUVsZW1lbnQuY3BwCmluZGV4IDJjYTMzYmRjYjcxZjIzZWE5
ZmI1MjA1MDA2ODZhNzkzYTljZTg0YTYuLmU5MzRlNGQ5MmQ1ZmE0NDYzOTJkZmMzZTEwMWZmNDMz
NzM1NDJjMzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxlbWVu
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmNwcApAQCAt
NDI2LDcgKzQyNiw3IEBAIHZvaWQgSFRNTEltYWdlRWxlbWVudDo6cmVwb3J0TWVtb3J5VXNhZ2Uo
TWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uCiAgICAgTWVtb3J5Q2xhc3NJ
bmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9yeVR5cGVzOjpET00p
OwogICAgIEhUTUxFbGVtZW50OjpyZXBvcnRNZW1vcnlVc2FnZShtZW1vcnlPYmplY3RJbmZvKTsK
ICAgICBpbmZvLmFkZE1lbWJlcihtX2ltYWdlTG9hZGVyKTsKLSAgICBpbmZvLmFkZEluc3RydW1l
bnRlZE1lbWJlcihtX2Zvcm0pOworICAgIGluZm8uYWRkTWVtYmVyKG1fZm9ybSk7CiB9CiAKIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuY3BwCmluZGV4IDVjYTlkNjgzZDcx
YWIzNDNkYTIzY2JjMTlhYWU2Mzg2YzUxNGZlZTYuLjg4YjdmZTgzYjE3ZjM0NjJiODAyMDM4Y2M3
ZDAwZGExMzQ1MGE0Y2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVu
dExvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNw
cApAQCAtMzYwLDI2ICszNjAsMjYgQEAgdm9pZCBEb2N1bWVudExvYWRlcjo6Y29tbWl0RGF0YShj
b25zdCBjaGFyKiBieXRlcywgc2l6ZV90IGxlbmd0aCkKIHZvaWQgRG9jdW1lbnRMb2FkZXI6OnJl
cG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0
CiB7CiAgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgV2Vi
Q29yZU1lbW9yeVR5cGVzOjpMb2FkZXIpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVy
KG1fZnJhbWUpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fbWFpblJlc291cmNl
TG9hZGVyKTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX2ZyYW1lKTsKKyAgICBpbmZvLmFkZE1lbWJl
cihtX21haW5SZXNvdXJjZUxvYWRlcik7CiAgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRIYXNoU2V0
KG1fc3VicmVzb3VyY2VMb2FkZXJzKTsKICAgICBpbmZvLmFkZEluc3RydW1lbnRlZEhhc2hTZXQo
bV9tdWx0aXBhcnRTdWJyZXNvdXJjZUxvYWRlcnMpOwogICAgIGluZm8uYWRkSW5zdHJ1bWVudGVk
SGFzaFNldChtX3BsdWdJblN0cmVhbUxvYWRlcnMpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVk
TWVtYmVyKG1fc3Vic3RpdHV0ZURhdGEpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVy
KG1fcGFnZVRpdGxlLnN0cmluZygpKTsKLSAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlciht
X292ZXJyaWRlRW5jb2RpbmcpOworICAgIGluZm8uYWRkTWVtYmVyKG1fc3Vic3RpdHV0ZURhdGEp
OworICAgIGluZm8uYWRkTWVtYmVyKG1fcGFnZVRpdGxlLnN0cmluZygpKTsKKyAgICBpbmZvLmFk
ZE1lbWJlcihtX292ZXJyaWRlRW5jb2RpbmcpOwogICAgIGluZm8uYWRkVmVjdG9yKG1fcmVzcG9u
c2VzKTsKLSAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX29yaWdpbmFsUmVxdWVzdCk7
Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9vcmlnaW5hbFJlcXVlc3RDb3B5KTsK
LSAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX3JlcXVlc3QpOwotICAgIGluZm8uYWRk
SW5zdHJ1bWVudGVkTWVtYmVyKG1fcmVzcG9uc2UpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVk
TWVtYmVyKG1fbGFzdENoZWNrZWRSZXF1ZXN0KTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX29yaWdp
bmFsUmVxdWVzdCk7CisgICAgaW5mby5hZGRNZW1iZXIobV9vcmlnaW5hbFJlcXVlc3RDb3B5KTsK
KyAgICBpbmZvLmFkZE1lbWJlcihtX3JlcXVlc3QpOworICAgIGluZm8uYWRkTWVtYmVyKG1fcmVz
cG9uc2UpOworICAgIGluZm8uYWRkTWVtYmVyKG1fbGFzdENoZWNrZWRSZXF1ZXN0KTsKICAgICBp
bmZvLmFkZEluc3RydW1lbnRlZFZlY3RvcihtX3Jlc3BvbnNlcyk7CiAgICAgaW5mby5hZGRIYXNo
TWFwKG1fcGVuZGluZ1N1YnN0aXR1dGVSZXNvdXJjZXMpOwogICAgIGluZm8uYWRkSW5zdHJ1bWVu
dGVkSGFzaFNldChtX3Jlc291cmNlc0NsaWVudEtub3dzQWJvdXQpOwogICAgIGluZm8uYWRkVmVj
dG9yKG1fcmVzb3VyY2VzTG9hZGVkRnJvbU1lbW9yeUNhY2hlRm9yQ2xpZW50Tm90aWZpY2F0aW9u
KTsKLSAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX2NsaWVudFJlZGlyZWN0U291cmNl
Rm9ySGlzdG9yeSk7Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9tYWluUmVzb3Vy
Y2VEYXRhKTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX2NsaWVudFJlZGlyZWN0U291cmNlRm9ySGlz
dG9yeSk7CisgICAgaW5mby5hZGRNZW1iZXIobV9tYWluUmVzb3VyY2VEYXRhKTsKIH0KIAogYm9v
bCBEb2N1bWVudExvYWRlcjo6ZG9lc1Byb2dyZXNzaXZlTG9hZChjb25zdCBTdHJpbmcmIE1JTUVU
eXBlKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKaW5kZXggODQ3M2Jj
MzEzOTQyZTZiZDBiZjY0NTczMWM0NGI3Mjc4ZGYyODkxMy4uNDE3NzJjYWVlOGQyZDkzMmRkM2Y2
YmVjMmE4YmJhZmMwZGNlNWYxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0Zy
YW1lTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3Bw
CkBAIC0zMjgwLDEwICszMjgwLDEwIEBAIE5ldHdvcmtpbmdDb250ZXh0KiBGcmFtZUxvYWRlcjo6
bmV0d29ya2luZ0NvbnRleHQoKSBjb25zdAogdm9pZCBGcmFtZUxvYWRlcjo6cmVwb3J0TWVtb3J5
VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKIHsKICAgICBN
ZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5
VHlwZXM6OkxvYWRlcik7Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9kb2N1bWVu
dExvYWRlcik7Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9wcm92aXNpb25hbERv
Y3VtZW50TG9hZGVyKTsKLSAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX3BvbGljeURv
Y3VtZW50TG9hZGVyKTsKLSAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX291dGdvaW5n
UmVmZXJyZXIpOworICAgIGluZm8uYWRkTWVtYmVyKG1fZG9jdW1lbnRMb2FkZXIpOworICAgIGlu
Zm8uYWRkTWVtYmVyKG1fcHJvdmlzaW9uYWxEb2N1bWVudExvYWRlcik7CisgICAgaW5mby5hZGRN
ZW1iZXIobV9wb2xpY3lEb2N1bWVudExvYWRlcik7CisgICAgaW5mby5hZGRNZW1iZXIobV9vdXRn
b2luZ1JlZmVycmVyKTsKICAgICBpbmZvLmFkZEluc3RydW1lbnRlZEhhc2hTZXQobV9vcGVuZWRG
cmFtZXMpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTWFpblJlc291
cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9NYWluUmVzb3VyY2VMb2FkZXIu
Y3BwCmluZGV4IDJkNmU0NWJiODZhOTM3NDgwMGZhYmQ1YTc4ZDJlZDMxZWQxOGI0MGUuLmVhNjY3
MDM2YzhjMzlmNjYyNDhkOGUyNWQ4Y2UxYjE4MWY3NGNlMWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9NYWluUmVzb3VyY2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9NYWluUmVzb3VyY2VMb2FkZXIuY3BwCkBAIC01NTQsNyArNTU0LDcgQEAgdm9pZCBN
YWluUmVzb3VyY2VMb2FkZXI6OnJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1l
bW9yeU9iamVjdEluZm8pIGMKICAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJ
bmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6OkxvYWRlcik7CiAgICAgUmVzb3VyY2VMb2Fk
ZXI6OnJlcG9ydE1lbW9yeVVzYWdlKG1lbW9yeU9iamVjdEluZm8pOwogICAgIGluZm8uYWRkTWVt
YmVyKG1faW5pdGlhbFJlcXVlc3QpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1f
c3Vic3RpdHV0ZURhdGEpOworICAgIGluZm8uYWRkTWVtYmVyKG1fc3Vic3RpdHV0ZURhdGEpOwog
ICAgIGluZm8uYWRkTWVtYmVyKG1fZGF0YUxvYWRUaW1lcik7CiB9CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvUmVzb3VyY2VMb2FkZXIuY3BwCmluZGV4IDMzMTVhZDU1ODkwNmQ5MDhiZjNlMmEyYmNj
N2VhM2JlYmYzNjRkMzguLmYwYTZjMzM1Y2NmOTY5MjZiNGIxMzE2OWY0MGU0MWNhODhlZWFjOWYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRlci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZGVyLmNwcApAQCAtNTM3LDExICs1
MzcsMTEgQEAgdm9pZCBSZXNvdXJjZUxvYWRlcjo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2Jq
ZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKIHsKICAgICBNZW1vcnlDbGFzc0luZm8g
aW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6OkxvYWRlcik7
CiAgICAgaW5mby5hZGRNZW1iZXIobV9oYW5kbGUuZ2V0KCkpOwotICAgIGluZm8uYWRkSW5zdHJ1
bWVudGVkTWVtYmVyKG1fZnJhbWUpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1f
ZG9jdW1lbnRMb2FkZXIpOworICAgIGluZm8uYWRkTWVtYmVyKG1fZnJhbWUpOworICAgIGluZm8u
YWRkTWVtYmVyKG1fZG9jdW1lbnRMb2FkZXIpOwogICAgIGluZm8uYWRkTWVtYmVyKG1fcmVxdWVz
dCk7CiAgICAgaW5mby5hZGRNZW1iZXIobV9vcmlnaW5hbFJlcXVlc3QpOwotICAgIGluZm8uYWRk
SW5zdHJ1bWVudGVkTWVtYmVyKG1fcmVzb3VyY2VEYXRhKTsKKyAgICBpbmZvLmFkZE1lbWJlciht
X3Jlc291cmNlRGF0YSk7CiAgICAgaW5mby5hZGRNZW1iZXIobV9kZWZlcnJlZFJlcXVlc3QpOwog
ICAgIGluZm8uYWRkTWVtYmVyKG1fb3B0aW9ucyk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvU3VicmVzb3VyY2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVy
L1N1YnJlc291cmNlTG9hZGVyLmNwcAppbmRleCA4MTdiMGExYjJiYjRlNDkwZjNkNjc5NTFmOTFk
NWU4MjQ2NDQ5NWVmLi41NmRlMGQzNDEzM2MzZjVhNDcyYmZjMmJjNmY0ZTVjZGYzODMwM2ZkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvU3VicmVzb3VyY2VMb2FkZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9TdWJyZXNvdXJjZUxvYWRlci5jcHAKQEAgLTEzOSw4
ICsxMzksOCBAQCB2b2lkIFN1YnJlc291cmNlTG9hZGVyOjpyZXBvcnRNZW1vcnlVc2FnZShNZW1v
cnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjbwogewogICAgIE1lbW9yeUNsYXNzSW5m
byBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIFdlYkNvcmVNZW1vcnlUeXBlczo6TG9hZGVy
KTsKICAgICBSZXNvdXJjZUxvYWRlcjo6cmVwb3J0TWVtb3J5VXNhZ2UobWVtb3J5T2JqZWN0SW5m
byk7Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9yZXNvdXJjZSk7Ci0gICAgaW5m
by5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9kb2N1bWVudCk7CisgICAgaW5mby5hZGRNZW1iZXIo
bV9yZXNvdXJjZSk7CisgICAgaW5mby5hZGRNZW1iZXIobV9kb2N1bWVudCk7CiAgICAgaW5mby5h
ZGRNZW1iZXIobV9yZXF1ZXN0Q291bnRUcmFja2VyKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvbG9hZGVyL1N1YnN0aXR1dGVEYXRhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9TdWJzdGl0dXRlRGF0YS5jcHAKaW5kZXggNzJiNTM1ZjRhNzU0YzFlOGRkNzE3MTNiMmI0NmQw
YjllMWM4NWFkYy4uZDIyYzJiYzBjYjFhNGY4YWMzN2IyNjM0NGZmNDZhNTQyMjM0NmQzZiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1N1YnN0aXR1dGVEYXRhLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvU3Vic3RpdHV0ZURhdGEuY3BwCkBAIC0zOCwxMSArMzgsMTEg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogdm9pZCBTdWJzdGl0dXRlRGF0YTo6cmVwb3J0TWVtb3J5
VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKIHsKICAgICBN
ZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5
VHlwZXM6OkxvYWRlcik7Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9jb250ZW50
KTsKLSAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX21pbWVUeXBlKTsKLSAgICBpbmZv
LmFkZEluc3RydW1lbnRlZE1lbWJlcihtX3RleHRFbmNvZGluZyk7Ci0gICAgaW5mby5hZGRJbnN0
cnVtZW50ZWRNZW1iZXIobV9mYWlsaW5nVVJMKTsKLSAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1l
bWJlcihtX3Jlc3BvbnNlVVJMKTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX2NvbnRlbnQpOworICAg
IGluZm8uYWRkTWVtYmVyKG1fbWltZVR5cGUpOworICAgIGluZm8uYWRkTWVtYmVyKG1fdGV4dEVu
Y29kaW5nKTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX2ZhaWxpbmdVUkwpOworICAgIGluZm8uYWRk
TWVtYmVyKG1fcmVzcG9uc2VVUkwpOwogfQogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvY2FjaGUvQ2FjaGVkQ1NTU3R5bGVTaGVldC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvY2FjaGUvQ2FjaGVkQ1NTU3R5bGVTaGVldC5jcHAKaW5kZXggNmJiYmNkYmJmNzk2ZTFh
MTI0ZTU0MmY4NDk4M2Y0ZmYxMjQ0OWU4MC4uZjE4ODI1ZjU4NDJlZGQ5ZjAwY2JkOWRiMDRiY2Nk
ZmM4Y2Q0ZGNlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hl
ZENTU1N0eWxlU2hlZXQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNo
ZWRDU1NTdHlsZVNoZWV0LmNwcApAQCAtMTk5LDggKzE5OSw4IEBAIHZvaWQgQ2FjaGVkQ1NTU3R5
bGVTaGVldDo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0
SW5mbykKICAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBX
ZWJDb3JlTWVtb3J5VHlwZXM6OkNhY2hlZFJlc291cmNlQ1NTKTsKICAgICBDYWNoZWRSZXNvdXJj
ZTo6cmVwb3J0TWVtb3J5VXNhZ2UobWVtb3J5T2JqZWN0SW5mbyk7CiAgICAgaW5mby5hZGRNZW1i
ZXIobV9kZWNvZGVyKTsKLSAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX3BhcnNlZFN0
eWxlU2hlZXRDYWNoZSk7Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9kZWNvZGVk
U2hlZXRUZXh0KTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX3BhcnNlZFN0eWxlU2hlZXRDYWNoZSk7
CisgICAgaW5mby5hZGRNZW1iZXIobV9kZWNvZGVkU2hlZXRUZXh0KTsKIH0KIAogfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZEZvbnQuY3BwIGIvU291cmNl
L1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZEZvbnQuY3BwCmluZGV4IDRjNDU2OWNhMzQyYWMz
MzI4NDA5NWNhMmYyMmEzY2ZhNDZjODRjZGEuLmQ5YTY3NTJiMjE4MGRiYTFiMzIyOGMwOTY1NTA2
Y2UzYzI2M2IxMjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNo
ZWRGb250LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkRm9udC5j
cHAKQEAgLTIwMyw3ICsyMDMsNyBAQCB2b2lkIENhY2hlZEZvbnQ6OnJlcG9ydE1lbW9yeVVzYWdl
KE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiAgICAgTWVtb3J5Q2xh
c3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9yeVR5cGVzOjpD
YWNoZWRSZXNvdXJjZUZvbnQpOwogICAgIENhY2hlZFJlc291cmNlOjpyZXBvcnRNZW1vcnlVc2Fn
ZShtZW1vcnlPYmplY3RJbmZvKTsKICNpZiBFTkFCTEUoU1ZHX0ZPTlRTKQotICAgIGluZm8uYWRk
SW5zdHJ1bWVudGVkTWVtYmVyKG1fZXh0ZXJuYWxTVkdEb2N1bWVudCk7CisgICAgaW5mby5hZGRN
ZW1iZXIobV9leHRlcm5hbFNWR0RvY3VtZW50KTsKICNlbmRpZgogI2lmZGVmIFNUT1JFX0ZPTlRf
Q1VTVE9NX1BMQVRGT1JNX0RBVEEKICAgICBpbmZvLmFkZE1lbWJlcihtX2ZvbnREYXRhKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRJbWFnZS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkSW1hZ2UuY3BwCmluZGV4IDg1YjRhNzM5
YmRlYWJhOWY1ZjY5ODdiYzFmNDY5MTE2OTQwNzNlZGYuLmZhODNhNTRmNjcxZWRjODI1MDU0OTdh
NzVhYjNmZGVkOWU0OTc0YjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNo
ZS9DYWNoZWRJbWFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hl
ZEltYWdlLmNwcApAQCAtNDc0LDcgKzQ3NCw3IEBAIHZvaWQgQ2FjaGVkSW1hZ2U6OnJlcG9ydE1l
bW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiB7CiAg
ICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29yZU1l
bW9yeVR5cGVzOjpDYWNoZWRSZXNvdXJjZUltYWdlKTsKICAgICBDYWNoZWRSZXNvdXJjZTo6cmVw
b3J0TWVtb3J5VXNhZ2UobWVtb3J5T2JqZWN0SW5mbyk7Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50
ZWRNZW1iZXIobV9pbWFnZSk7CisgICAgaW5mby5hZGRNZW1iZXIobV9pbWFnZSk7CiAjaWYgRU5B
QkxFKFNWRykKICAgICBpbmZvLmFkZE1lbWJlcihtX3N2Z0ltYWdlQ2FjaGUpOwogI2VuZGlmCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3Bw
IGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmNwcAppbmRleCBj
YmM2NTI1MTA2MDE2NDhmODBmNTZlYTBhNWRjZTc4NjM0NDRjYzMxLi5hYTZjNWE3ZmE2Zjg4Mzk1
YmI2MGY4MGIzOGZjZjQ3ZGQ1YTA0YzAyIDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9j
YWNoZS9DYWNoZWRSZXNvdXJjZS5jcHAKQEAgLTgwNiwxOCArODA2LDE4IEBAIHZvaWQgQ2FjaGVk
UmVzb3VyY2U6OnJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVj
dEluZm8pIGNvbnN0CiAgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywg
dGhpcywgV2ViQ29yZU1lbW9yeVR5cGVzOjpDYWNoZWRSZXNvdXJjZSk7CiAgICAgaW5mby5hZGRN
ZW1iZXIobV9yZXNvdXJjZVJlcXVlc3QpOwogICAgIGluZm8uYWRkSGFzaFNldChtX2NsaWVudHMp
OwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fYWNjZXB0KTsKLSAgICBpbmZvLmFk
ZEluc3RydW1lbnRlZE1lbWJlcihtX2xvYWRlcik7Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRN
ZW1iZXIobV9yZXNwb25zZSk7Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9kYXRh
KTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX2FjY2VwdCk7CisgICAgaW5mby5hZGRNZW1iZXIobV9s
b2FkZXIpOworICAgIGluZm8uYWRkTWVtYmVyKG1fcmVzcG9uc2UpOworICAgIGluZm8uYWRkTWVt
YmVyKG1fZGF0YSk7CiAgICAgaW5mby5hZGRNZW1iZXIobV9jYWNoZWRNZXRhZGF0YSk7Ci0gICAg
aW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9uZXh0SW5BbGxSZXNvdXJjZXNMaXN0KTsKLSAg
ICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX3ByZXZJbkFsbFJlc291cmNlc0xpc3QpOwot
ICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fbmV4dEluTGl2ZVJlc291cmNlc0xpc3Qp
OwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fcHJldkluTGl2ZVJlc291cmNlc0xp
c3QpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fb3duaW5nQ2FjaGVkUmVzb3Vy
Y2VMb2FkZXIpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fcmVzb3VyY2VUb1Jl
dmFsaWRhdGUpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fcHJveHlSZXNvdXJj
ZSk7CisgICAgaW5mby5hZGRNZW1iZXIobV9uZXh0SW5BbGxSZXNvdXJjZXNMaXN0KTsKKyAgICBp
bmZvLmFkZE1lbWJlcihtX3ByZXZJbkFsbFJlc291cmNlc0xpc3QpOworICAgIGluZm8uYWRkTWVt
YmVyKG1fbmV4dEluTGl2ZVJlc291cmNlc0xpc3QpOworICAgIGluZm8uYWRkTWVtYmVyKG1fcHJl
dkluTGl2ZVJlc291cmNlc0xpc3QpOworICAgIGluZm8uYWRkTWVtYmVyKG1fb3duaW5nQ2FjaGVk
UmVzb3VyY2VMb2FkZXIpOworICAgIGluZm8uYWRkTWVtYmVyKG1fcmVzb3VyY2VUb1JldmFsaWRh
dGUpOworICAgIGluZm8uYWRkTWVtYmVyKG1fcHJveHlSZXNvdXJjZSk7CiAgICAgaW5mby5hZGRJ
bnN0cnVtZW50ZWRIYXNoU2V0KG1faGFuZGxlc1RvUmV2YWxpZGF0ZSk7CiAKICAgICBpZiAobV9w
dXJnZWFibGVEYXRhICYmICFtX3B1cmdlYWJsZURhdGEtPndhc1B1cmdlZCgpKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlSGFuZGxlLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUhhbmRsZS5jcHAKaW5k
ZXggZDk1NDU5ZjA2ZDBlODFkOTAzMTIxYjVjODk4YjZlZDBlYTNhOGFiMC4uNmU0OTY0ZWU5NTBj
Zjc4MDE3YjY1MzY4NGZjOWZlMTJhZTkyYzU5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
bG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlSGFuZGxlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VIYW5kbGUuY3BwCkBAIC00NCw3ICs0NCw3IEBA
IHZvaWQgQ2FjaGVkUmVzb3VyY2VIYW5kbGVCYXNlOjpzZXRSZXNvdXJjZShDYWNoZWRSZXNvdXJj
ZSogcmVzb3VyY2UpCiB2b2lkIENhY2hlZFJlc291cmNlSGFuZGxlQmFzZTo6cmVwb3J0TWVtb3J5
VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKIHsKICAgICBN
ZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5
VHlwZXM6Ok1lbW9yeUNhY2hlU3RydWN0dXJlcyk7Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRN
ZW1iZXIobV9yZXNvdXJjZSk7CisgICAgaW5mby5hZGRNZW1iZXIobV9yZXNvdXJjZSk7CiB9CiAK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNl
TG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxv
YWRlci5jcHAKaW5kZXggYTRhMzY2N2VmMDAwNDc3OTc0MjJmNTA3ZTFhZmE3YjkzYWZlZDI5NC4u
NWIwYzQ5MTBiMjZiN2Q4YzQ2MjQ2NGYyYmEwNDI0MjAwMTk2MzFlMyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwCkBAIC05
MTAsOCArOTEwLDggQEAgdm9pZCBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVwb3J0TWVtb3J5VXNh
Z2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykKICAgICBNZW1vcnlDbGFzc0lu
Zm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6OkxvYWRl
cik7CiAgICAgaW5mby5hZGRIYXNoTWFwKG1fZG9jdW1lbnRSZXNvdXJjZXMpOwogICAgIGZvciAo
RG9jdW1lbnRSZXNvdXJjZU1hcDo6Y29uc3RfaXRlcmF0b3IgaSA9IG1fZG9jdW1lbnRSZXNvdXJj
ZXMuYmVnaW4oKTsgaSAhPSBtX2RvY3VtZW50UmVzb3VyY2VzLmVuZCgpOyArK2kpIHsKLSAgICAg
ICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIoaS0+Zmlyc3QpOwotICAgICAgICBpbmZvLmFk
ZEluc3RydW1lbnRlZE1lbWJlcihpLT5zZWNvbmQpOworICAgICAgICBpbmZvLmFkZE1lbWJlcihp
LT5maXJzdCk7CisgICAgICAgIGluZm8uYWRkTWVtYmVyKGktPnNlY29uZCk7CiAgICAgfQogICAg
IGluZm8uYWRkSGFzaFNldChtX3ZhbGlkYXRlZFVSTHMpOwogICAgIGlmIChtX3ByZWxvYWRzKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFNWR0RvY3VtZW50
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRTVkdEb2N1bWVudC5jcHAK
aW5kZXggNjk5YjY4ODZhNzk3ODQwZmU5YzQ3OTE4NjQ1ZjJjMDAwNDgxNzEzNC4uNjhmMmZiNDgz
OWFkMzIzNDMwMWNhYTAxOWExMDBlZDcxY2ZiZGNjYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvbG9hZGVyL2NhY2hlL0NhY2hlZFNWR0RvY3VtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvY2FjaGUvQ2FjaGVkU1ZHRG9jdW1lbnQuY3BwCkBAIC03NSw3ICs3NSw3IEBAIHZv
aWQgQ2FjaGVkU1ZHRG9jdW1lbnQ6OnJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8q
IG1lbW9yeU9iamVjdEluZm8pIGNvCiB7CiAgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5
T2JqZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9yeVR5cGVzOjpDYWNoZWRSZXNvdXJjZVNWRyk7
CiAgICAgQ2FjaGVkUmVzb3VyY2U6OnJlcG9ydE1lbW9yeVVzYWdlKG1lbW9yeU9iamVjdEluZm8p
OwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fZG9jdW1lbnQpOworICAgIGluZm8u
YWRkTWVtYmVyKG1fZG9jdW1lbnQpOwogICAgIGluZm8uYWRkTWVtYmVyKG1fZGVjb2Rlcik7CiB9
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRTY3JpcHQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFNjcmlwdC5jcHAKaW5kZXgg
NWM0OTMzOTdhYWM1YTFjMTQzYTQ0YjU3ZTYwMDFjNWUwYzgwZDEyYS4uNDFmZWEzZDQ0YzQwNzkw
OGNkMGI0YzNkNWNlMGI3NWFlZTVmM2ZmZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL2NhY2hlL0NhY2hlZFNjcmlwdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2Nh
Y2hlL0NhY2hlZFNjcmlwdC5jcHAKQEAgLTEyMyw3ICsxMjMsNyBAQCB2b2lkIENhY2hlZFNjcmlw
dDo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykg
Y29uc3QKIHsKICAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlz
LCBXZWJDb3JlTWVtb3J5VHlwZXM6OkNhY2hlZFJlc291cmNlU2NyaXB0KTsKICAgICBDYWNoZWRS
ZXNvdXJjZTo6cmVwb3J0TWVtb3J5VXNhZ2UobWVtb3J5T2JqZWN0SW5mbyk7Ci0gICAgaW5mby5h
ZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9zY3JpcHQpOworICAgIGluZm8uYWRkTWVtYmVyKG1fc2Ny
aXB0KTsKICAgICBpbmZvLmFkZE1lbWJlcihtX2RlY29kZXIpOwogI2lmIFVTRShKU0MpCiAgICAg
aW5mby5hZGRNZW1iZXIobV9zb3VyY2VQcm92aWRlckNhY2hlKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRTaGFkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
bG9hZGVyL2NhY2hlL0NhY2hlZFNoYWRlci5jcHAKaW5kZXggOGRjMzgxYzQ2YjIzYzJkMzEyMGRh
M2ZiMDEzMGZiYTRkMzVlYzE5Mi4uZDMxZTI2N2RlY2U0YTkyNWYyMzI3NTk4MTYxMDFiOTVmZDBh
ZTVhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFNoYWRl
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFNoYWRlci5jcHAK
QEAgLTczLDcgKzczLDcgQEAgdm9pZCBDYWNoZWRTaGFkZXI6OnJlcG9ydE1lbW9yeVVzYWdlKE1l
bW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiAgICAgTWVtb3J5Q2xhc3NJ
bmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9yeVR5cGVzOjpDYWNo
ZWRSZXNvdXJjZVNoYWRlcik7CiAgICAgQ2FjaGVkUmVzb3VyY2U6OnJlcG9ydE1lbW9yeVVzYWdl
KG1lbW9yeU9iamVjdEluZm8pOwogICAgIGluZm8uYWRkTWVtYmVyKG1fZGVjb2Rlcik7Ci0gICAg
aW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9zaGFkZXJTdHJpbmcpOworICAgIGluZm8uYWRk
TWVtYmVyKG1fc2hhZGVyU3RyaW5nKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFhTTFN0eWxlU2hlZXQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFhTTFN0eWxlU2hlZXQuY3Bw
CmluZGV4IDgxZTE3ZDhjYmJmZTM5YTc5MDkzMjY4MDk5YTFhMzRiNjA1NjM1ZDQuLmRlNmY0MGVh
NWEzM2RhZjQwOGVlODE3ZTllYTUzYjVkNDA0MTliNTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9jYWNoZS9DYWNoZWRYU0xTdHlsZVNoZWV0LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkWFNMU3R5bGVTaGVldC5jcHAKQEAgLTkzLDcgKzkzLDcg
QEAgdm9pZCBDYWNoZWRYU0xTdHlsZVNoZWV0OjpyZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmpl
Y3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKQogewogICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1l
bW9yeU9iamVjdEluZm8sIHRoaXMsIFdlYkNvcmVNZW1vcnlUeXBlczo6Q2FjaGVkUmVzb3VyY2VY
U0xUKTsKICAgICBDYWNoZWRSZXNvdXJjZTo6cmVwb3J0TWVtb3J5VXNhZ2UobWVtb3J5T2JqZWN0
SW5mbyk7Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9zaGVldCk7CisgICAgaW5m
by5hZGRNZW1iZXIobV9zaGVldCk7CiAgICAgaW5mby5hZGRNZW1iZXIobV9kZWNvZGVyKTsKIH0K
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL01lbW9yeUNhY2hlLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9NZW1vcnlDYWNoZS5jcHAKaW5kZXggYWFm
ODUyYTk1MTYzYjVmNGU1NjA5NjgwNTY2MDljZDllOGJlNmIxNi4uNjZkMzIwMWViNDUwODFiNjlm
NGM0M2VjYzQ2NDRhY2ZhZDc0YWQ4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVy
L2NhY2hlL01lbW9yeUNhY2hlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUv
TWVtb3J5Q2FjaGUuY3BwCkBAIC03MjEsOCArNzIxLDggQEAgdm9pZCBNZW1vcnlDYWNoZTo6cmVw
b3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QK
ICAgICBpbmZvLmFkZEhhc2hNYXAobV9yZXNvdXJjZXMpOwogICAgIENhY2hlZFJlc291cmNlTWFw
Ojpjb25zdF9pdGVyYXRvciBlID0gbV9yZXNvdXJjZXMuZW5kKCk7CiAgICAgZm9yIChDYWNoZWRS
ZXNvdXJjZU1hcDo6Y29uc3RfaXRlcmF0b3IgaSA9IG1fcmVzb3VyY2VzLmJlZ2luKCk7IGkgIT0g
ZTsgKytpKSB7Ci0gICAgICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKGktPmZpcnN0KTsK
LSAgICAgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIoaS0+c2Vjb25kKTsKKyAgICAgICAg
aW5mby5hZGRNZW1iZXIoaS0+Zmlyc3QpOworICAgICAgICBpbmZvLmFkZE1lbWJlcihpLT5zZWNv
bmQpOwogICAgIH0KICAgICBpbmZvLmFkZFZlY3RvcihtX2FsbFJlc291cmNlcyk7CiAgICAgaW5m
by5hZGRNZW1iZXIobV9saXZlRGVjb2RlZFJlc291cmNlcyk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0ZyYW1lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWUuY3BwCmlu
ZGV4IGZiNjVkNTRjZjE5OTI4YzVkNDdkMTg0MmM0NTY1MmY2MDY1OTEyOTYuLmE3YWFmOTU0YmY0
ZjcxMjM3NjcwNGUyNzFmZDQ2M2YxZTM2NjIxM2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvRnJhbWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWUuY3BwCkBAIC02
NzUsOCArNjc1LDggQEAgdm9pZCBGcmFtZTo6ZGlzcGF0Y2hWaXNpYmlsaXR5U3RhdGVDaGFuZ2VF
dmVudCgpCiB2b2lkIEZyYW1lOjpyZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBt
ZW1vcnlPYmplY3RJbmZvKSBjb25zdAogewogICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9y
eU9iamVjdEluZm8sIHRoaXMsIFdlYkNvcmVNZW1vcnlUeXBlczo6RE9NKTsKLSAgICBpbmZvLmFk
ZEluc3RydW1lbnRlZE1lbWJlcihtX2RvYy5nZXQoKSk7Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50
ZWRNZW1iZXIobV9sb2FkZXIpOworICAgIGluZm8uYWRkTWVtYmVyKG1fZG9jLmdldCgpKTsKKyAg
ICBpbmZvLmFkZE1lbWJlcihtX2xvYWRlcik7CiB9CiAKIHZvaWQgRnJhbWU6OndpbGxEZXRhY2hQ
YWdlKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0tVUkwuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vS1VSTC5jcHAKaW5kZXggODZlMjg2MWEyNjYyNTI5MzA1N2Q3
Zjc1ZWZiMTBlOTcwZjljMzUxMS4uYzNkNTA5OWYzYWNiOWRmZDdhZTRiMmQ0ZTQ1YmNiNDAzMzJh
MmZmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vS1VSTC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vS1VSTC5jcHAKQEAgLTE5MjEsMTEgKzE5MjEsMTEgQEAg
dm9pZCBLVVJMOjpyZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmpl
Y3RJbmZvKSBjb25zdAogewogICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdElu
Zm8sIHRoaXMpOwogI2lmIFVTRShHT09HTEVVUkwpCi0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRN
ZW1iZXIobV91cmwpOworICAgIGluZm8uYWRkTWVtYmVyKG1fdXJsKTsKICNlbGlmIFVTRShXVEZV
UkwpCi0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV91cmxJbXBsKTsKKyAgICBpbmZv
LmFkZE1lbWJlcihtX3VybEltcGwpOwogI2Vsc2UgLy8gIVVTRShHT09HTEVVUkwpCi0gICAgaW5m
by5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9zdHJpbmcpOworICAgIGluZm8uYWRkTWVtYmVyKG1f
c3RyaW5nKTsKICNlbmRpZgogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9LVVJMR29vZ2xlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0tVUkxHb29nbGUuY3Bw
CmluZGV4IGJhODA2NDA1ODM2NTk1YTBmM2U1ZTdmOWQxZGU5YTljYWQ5MzAyMGYuLjZmODE0MjY3
MmFkODE3NTk2Njc4ZWRmNmM5ZDZiZjFkMGRhMjgwMjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL0tVUkxHb29nbGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L0tVUkxHb29nbGUuY3BwCkBAIC0zOTMsOSArMzkzLDkgQEAgY29uc3QgU3RyaW5nJiBLVVJMR29v
Z2xlUHJpdmF0ZTo6c3RyaW5nKCkgY29uc3QKIHZvaWQgS1VSTEdvb2dsZVByaXZhdGU6OnJlcG9y
dE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiB7
CiAgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcyk7Ci0gICAg
aW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV91dGY4KTsKLSAgICBpbmZvLmFkZEluc3RydW1l
bnRlZE1lbWJlcihtX3N0cmluZyk7Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9p
bm5lclVSTCk7CisgICAgaW5mby5hZGRNZW1iZXIobV91dGY4KTsKKyAgICBpbmZvLmFkZE1lbWJl
cihtX3N0cmluZyk7CisgICAgaW5mby5hZGRNZW1iZXIobV9pbm5lclVSTCk7CiB9CiAvLyBLVVJM
IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9L
VVJMV1RGVVJMSW1wbC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vS1VSTFdURlVSTEltcGwu
aAppbmRleCA4NjUyN2QzZjI0ZGVmNzg3Mzk0MTI2M2Y0MmY4MjMzNzM1YTQwMTJkLi5jNDI0ODdm
NGQxNGM0MDAyMjc1NWJlODU1ODhmZGM1NTQ2ZWQ5MDE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9LVVJMV1RGVVJMSW1wbC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL0tVUkxXVEZVUkxJbXBsLmgKQEAgLTQ1LDggKzQ1LDggQEAgcHVibGljOgogICAgIHZvaWQg
cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29u
c3QKICAgICB7CiAgICAgICAgIHR5cGVuYW1lIE1lbW9yeU9iamVjdEluZm86OkNsYXNzSW5mbyBp
bmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMpOwotICAgICAgICBpbmZvLmFkZEluc3RydW1lbnRl
ZE1lbWJlcihtX3BhcnNlZFVSTCk7Ci0gICAgICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVy
KG1faW52YWxpZFVybFN0cmluZyk7CisgICAgICAgIGluZm8uYWRkTWVtYmVyKG1fcGFyc2VkVVJM
KTsKKyAgICAgICAgaW5mby5hZGRNZW1iZXIobV9pbnZhbGlkVXJsU3RyaW5nKTsKICAgICB9CiAg
ICAgUGFzc1JlZlB0cjxLVVJMV1RGVVJMSW1wbD4gY29weSgpIGNvbnN0OwogfTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RyZWVTaGFyZWQuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL1RyZWVTaGFyZWQuaAppbmRleCA0YjEyOTFjYzczNDIyNWRhZTA0OTI2M2M3YzEw
NGQyYzYxMjhkNjg3Li4wOTczN2Y4OTcwNTdkZmRkZGVhODFlN2NlOWVhM2VhYWNlOTVlNDlmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UcmVlU2hhcmVkLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vVHJlZVNoYXJlZC5oCkBAIC0xMTQsNyArMTE0LDcgQEAgcHVi
bGljOgogICAgIHZvaWQgcmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5
T2JqZWN0SW5mbykgY29uc3QKICAgICB7CiAgICAgICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1l
bW9yeU9iamVjdEluZm8sIHRoaXMpOwotICAgICAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJl
cihtX3BhcmVudCk7CisgICAgICAgIGluZm8uYWRkTWVtYmVyKG1fcGFyZW50KTsKICAgICB9CiAK
IHByaXZhdGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9D
cm9zc2ZhZGVHZW5lcmF0ZWRJbWFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9Dcm9zc2ZhZGVHZW5lcmF0ZWRJbWFnZS5jcHAKaW5kZXggYmI3Y2NjMjQzOTBjNGM2ODMx
ZDg0YjcwZWM3OWFmMjc3OGVhMDVjYi4uZGY1MWIzMmFlMjY3ZDkxZWRkMWVkYmI3MDM5NDQ0OWJl
YTcwMmRiNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ3Jv
c3NmYWRlR2VuZXJhdGVkSW1hZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0Nyb3NzZmFkZUdlbmVyYXRlZEltYWdlLmNwcApAQCAtMTEyLDggKzExMiw4IEBAIHZv
aWQgQ3Jvc3NmYWRlR2VuZXJhdGVkSW1hZ2U6OnJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVj
dEluZm8qIG1lbW9yeU9iamVjdEluCiB7CiAgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5
T2JqZWN0SW5mbywgdGhpcywgUGxhdGZvcm1NZW1vcnlUeXBlczo6SW1hZ2UpOwogICAgIEdlbmVy
YXRlZEltYWdlOjpyZXBvcnRNZW1vcnlVc2FnZShtZW1vcnlPYmplY3RJbmZvKTsKLSAgICBpbmZv
LmFkZEluc3RydW1lbnRlZE1lbWJlcihtX2Zyb21JbWFnZSk7Ci0gICAgaW5mby5hZGRJbnN0cnVt
ZW50ZWRNZW1iZXIobV90b0ltYWdlKTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX2Zyb21JbWFnZSk7
CisgICAgaW5mby5hZGRNZW1iZXIobV90b0ltYWdlKTsKIH0KIAogfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2UuY3BwCmluZGV4IDNjNjdiODQxZTA4YmEyMjQ2ZmYwYzBh
NGEzMmVhNTY5ZGJiNzdlNTEuLjc4ZTVlNDg2Mzc0NWQ3ODRjY2MyZjFiM2E3NzIxZWIyYTgwYzFl
ZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZS5jcHAKQEAgLTIw
MSw3ICsyMDEsNyBAQCB2b2lkIEltYWdlOjpjb21wdXRlSW50cmluc2ljRGltZW5zaW9ucyhMZW5n
dGgmIGludHJpbnNpY1dpZHRoLCBMZW5ndGgmIGludHJpbnNpYwogdm9pZCBJbWFnZTo6cmVwb3J0
TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKIHsK
ICAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBQbGF0Zm9y
bU1lbW9yeVR5cGVzOjpJbWFnZSk7Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9k
YXRhKTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX2RhdGEpOwogICAgIGluZm8uYWRkTWVtYmVyKG1f
aW1hZ2VPYnNlcnZlcik7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2UuY3BwCmluZGV4IGI4MTkzZjAyZjg1NjNhMTdk
NTYxMTg3ODEzMGMzNDY2ZGEyYWFlYzkuLjAwZjU4MzkwNTU5NDcxZWI3ZTRmNjNkNWFkY2FhZjZl
YWFlZDViNmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVz
b3VyY2VSZXF1ZXN0QmFzZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9SZXNvdXJjZVJlcXVlc3RCYXNlLmNwcApAQCAtNDQ3LDEzICs0NDcsMTMgQEAgYm9vbCBSZXNv
dXJjZVJlcXVlc3RCYXNlOjppc0NvbmRpdGlvbmFsKCkgY29uc3QKIHZvaWQgUmVzb3VyY2VSZXF1
ZXN0QmFzZTo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0
SW5mbykgY29uc3QKIHsKICAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZv
LCB0aGlzLCBQbGF0Zm9ybU1lbW9yeVR5cGVzOjpMb2FkZXIpOwotICAgIGluZm8uYWRkSW5zdHJ1
bWVudGVkTWVtYmVyKG1fdXJsKTsKLSAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX2Zp
cnN0UGFydHlGb3JDb29raWVzKTsKLSAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX2h0
dHBNZXRob2QpOworICAgIGluZm8uYWRkTWVtYmVyKG1fdXJsKTsKKyAgICBpbmZvLmFkZE1lbWJl
cihtX2ZpcnN0UGFydHlGb3JDb29raWVzKTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX2h0dHBNZXRo
b2QpOwogICAgIGluZm8uYWRkSGFzaE1hcChtX2h0dHBIZWFkZXJGaWVsZHMpOwogICAgIGluZm8u
YWRkSW5zdHJ1bWVudGVkTWFwRW50cmllcyhtX2h0dHBIZWFkZXJGaWVsZHMpOwogICAgIGluZm8u
YWRkSW5zdHJ1bWVudGVkVmVjdG9yKG1fcmVzcG9uc2VDb250ZW50RGlzcG9zaXRpb25FbmNvZGlu
Z0ZhbGxiYWNrQXJyYXkpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1faHR0cEJv
ZHkpOworICAgIGluZm8uYWRkTWVtYmVyKG1faHR0cEJvZHkpOwogfQogCiBkb3VibGUgUmVzb3Vy
Y2VSZXF1ZXN0QmFzZTo6ZGVmYXVsdFRpbWVvdXRJbnRlcnZhbCgpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNlLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXNwb25zZUJhc2UuY3BwCmlu
ZGV4IDYyMzUyNDUxNTcyOGZhOTY5ZWFjYzIzZGZkMmY1YzE0Y2NhYmM0M2QuLjI1MjFmYjEyZTE5
N2ZiNDkxZTFiZmZiMTRhMzhiZjBhMGM2NjA3N2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXNwb25zZUJhc2UuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXNwb25zZUJhc2UuY3BwCkBAIC01NzEs
MTEgKzU3MSwxMSBAQCB2b2lkIFJlc291cmNlUmVzcG9uc2VCYXNlOjpsYXp5SW5pdChJbml0TGV2
ZWwgaW5pdExldmVsKSBjb25zdAogdm9pZCBSZXNvdXJjZVJlc3BvbnNlQmFzZTo6cmVwb3J0TWVt
b3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKIHsKICAg
ICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBQbGF0Zm9ybU1l
bW9yeVR5cGVzOjpMb2FkZXIpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fdXJs
KTsKLSAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX21pbWVUeXBlKTsKLSAgICBpbmZv
LmFkZEluc3RydW1lbnRlZE1lbWJlcihtX3RleHRFbmNvZGluZ05hbWUpOwotICAgIGluZm8uYWRk
SW5zdHJ1bWVudGVkTWVtYmVyKG1fc3VnZ2VzdGVkRmlsZW5hbWUpOwotICAgIGluZm8uYWRkSW5z
dHJ1bWVudGVkTWVtYmVyKG1faHR0cFN0YXR1c1RleHQpOworICAgIGluZm8uYWRkTWVtYmVyKG1f
dXJsKTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX21pbWVUeXBlKTsKKyAgICBpbmZvLmFkZE1lbWJl
cihtX3RleHRFbmNvZGluZ05hbWUpOworICAgIGluZm8uYWRkTWVtYmVyKG1fc3VnZ2VzdGVkRmls
ZW5hbWUpOworICAgIGluZm8uYWRkTWVtYmVyKG1faHR0cFN0YXR1c1RleHQpOwogICAgIGluZm8u
YWRkSGFzaE1hcChtX2h0dHBIZWFkZXJGaWVsZHMpOwogICAgIGluZm8uYWRkSW5zdHJ1bWVudGVk
TWFwRW50cmllcyhtX2h0dHBIZWFkZXJGaWVsZHMpOwogICAgIGluZm8uYWRkTWVtYmVyKG1fcmVz
b3VyY2VMb2FkVGltaW5nKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9z
dHlsZS9EYXRhUmVmLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvRGF0YVJlZi5o
CmluZGV4IDkxYTc4NDUxZDJkNjhlNGQ0YmNkMzBiZTIxNmI5ZDk5MTc3YmI4YmUuLmI0ZDRhNzk3
MGI5YmNjN2YyOWQ1YjA3OTczMDViOGY1OGI3MzMzMDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9zdHlsZS9EYXRhUmVmLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL3N0eWxlL0RhdGFSZWYuaApAQCAtNjcsNyArNjcsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBy
ZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25z
dAogICAgIHsKICAgICAgICAgdHlwZW5hbWUgTWVtb3J5T2JqZWN0SW5mbzo6Q2xhc3NJbmZvIGlu
Zm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcyk7Ci0gICAgICAgIGluZm8uYWRkSW5zdHJ1bWVudGVk
TWVtYmVyKG1fZGF0YSk7CisgICAgICAgIGluZm8uYWRkTWVtYmVyKG1fZGF0YSk7CiAgICAgfQog
CiBwcml2YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1Jl
bmRlclN0eWxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHls
ZS5jcHAKaW5kZXggZjE2MGQ5ZWNjMDE3OTQwNWExMTUxZGM3ZmVlODJjYTExZTk1YzZmZC4uMDYw
MmNmYTliZjI2ZmM4MmY2YTRiYmYxZjcyZjM5ZGQzYzBiYjI2NSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuY3BwCkBAIC0xNjExLDggKzE2MTEsOCBA
QCB2b2lkIFJlbmRlclN0eWxlOjpyZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBt
ZW1vcnlPYmplY3RJbmZvKSBjb25zdAogICAgIGluZm8uYWRkTWVtYmVyKG1fYmFja2dyb3VuZCk7
CiAgICAgLy8gRklYTUU6IHN1cnJvbmQgY29udGFpbnMgc29tZSBmaWVsZHMgZS5nLiBCb3JkZXJE
YXRhIHRoYXQgbWlnaHQgbmVlZCB0byBiZSBpbnN0cnVtZW50ZWQuCiAgICAgaW5mby5hZGRNZW1i
ZXIoc3Vycm91bmQpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKHJhcmVOb25Jbmhl
cml0ZWREYXRhKTsKLSAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihyYXJlSW5oZXJpdGVk
RGF0YSk7CisgICAgaW5mby5hZGRNZW1iZXIocmFyZU5vbkluaGVyaXRlZERhdGEpOworICAgIGlu
Zm8uYWRkTWVtYmVyKHJhcmVJbmhlcml0ZWREYXRhKTsKICAgICAvLyBGSVhNRTogaW5oZXJpdGVk
IGNvbnRhaW5zIFN0eWxlSW1hZ2UgYW5kIEZvbnQgZmllbGRzIHRoYXQgbWlnaHQgbmVlZCB0byBi
ZSBpbnN0cnVtZW50ZWQuCiAgICAgaW5mby5hZGRNZW1iZXIoaW5oZXJpdGVkKTsKICAgICBpZiAo
bV9jYWNoZWRQc2V1ZG9TdHlsZXMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvc3R5bGUvU3R5bGVSYXJlSW5oZXJpdGVkRGF0YS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvc3R5bGUvU3R5bGVSYXJlSW5oZXJpdGVkRGF0YS5jcHAKaW5kZXggMTczMzBkOTM1ZWJi
NDQ3NTk2OTJmOTM1MWUxYjYwZTYyOGU5YTM0YS4uMzk2MmU3ZjZhMjJkNzY3YmJhMjg1MGM0NWM1
MDEzYTM5MmQ3YmY0MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxl
L1N0eWxlUmFyZUluaGVyaXRlZERhdGEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdHlsZS9TdHlsZVJhcmVJbmhlcml0ZWREYXRhLmNwcApAQCAtMjY2LDEzICsyNjYsMTMgQEAg
dm9pZCBTdHlsZVJhcmVJbmhlcml0ZWREYXRhOjpyZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmpl
Y3RJbmZvKiBtZW1vcnlPYmplY3RJbmYKIHsKICAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1v
cnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6OkNTUyk7CiAgICAgaW5mby5h
ZGRNZW1iZXIodGV4dFNoYWRvdyk7Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIoaGln
aGxpZ2h0KTsKKyAgICBpbmZvLmFkZE1lbWJlcihoaWdobGlnaHQpOwogICAgIGluZm8uYWRkTWVt
YmVyKGN1cnNvckRhdGEpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKGh5cGhlbmF0
aW9uU3RyaW5nKTsKLSAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihsb2NhbGUpOwotICAg
IGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKHRleHRFbXBoYXNpc0N1c3RvbU1hcmspOworICAg
IGluZm8uYWRkTWVtYmVyKGh5cGhlbmF0aW9uU3RyaW5nKTsKKyAgICBpbmZvLmFkZE1lbWJlcihs
b2NhbGUpOworICAgIGluZm8uYWRkTWVtYmVyKHRleHRFbXBoYXNpc0N1c3RvbU1hcmspOwogICAg
IGluZm8uYWRkTWVtYmVyKHF1b3Rlcyk7Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIo
bV9saW5lR3JpZCk7CisgICAgaW5mby5hZGRNZW1iZXIobV9saW5lR3JpZCk7CiAjaWYgRU5BQkxF
KENTU19WQVJJQUJMRVMpCiAgICAgaW5mby5hZGRNZW1iZXIobV92YXJpYWJsZXMpOwogI2VuZGlm
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlTm9u
SW5oZXJpdGVkRGF0YS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVS
YXJlTm9uSW5oZXJpdGVkRGF0YS5jcHAKaW5kZXggODExYmZhMWZlY2ZlNzE3ZDdhYTkyMWJmZDJm
MTQxNjEyZDA5MmI4NS4uYmJlMDdiZmRlYzZjODZjNjEyN2VmZWI3YWU4YjJlNDExYWQzODFhZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZU5vbklu
aGVyaXRlZERhdGEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHls
ZVJhcmVOb25Jbmhlcml0ZWREYXRhLmNwcApAQCAtMzI3LDggKzMyNyw4IEBAIHZvaWQgU3R5bGVS
YXJlTm9uSW5oZXJpdGVkRGF0YTo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyog
bWVtb3J5T2JqZWN0CiAgICAgaW5mby5hZGRNZW1iZXIobV93cmFwU2hhcGVJbnNpZGUpOwogICAg
IGluZm8uYWRkTWVtYmVyKG1fd3JhcFNoYXBlT3V0c2lkZSk7CiAgICAgaW5mby5hZGRNZW1iZXIo
bV9jbGlwUGF0aCk7Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9mbG93VGhyZWFk
KTsKLSAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX3JlZ2lvblRocmVhZCk7CisgICAg
aW5mby5hZGRNZW1iZXIobV9mbG93VGhyZWFkKTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX3JlZ2lv
blRocmVhZCk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdQYWludC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGFpbnQu
Y3BwCmluZGV4IDI0MTI2NmJhM2U3YjczM2RhMzM3NjU1ZmU3MmI2ZTc4Njc5OWY0NDQuLmNjZTFm
NGUzNDQyMDRjNGRmMDZiMTI2YzRjYTU0NTAwMTFkMDVkYjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdQYWludC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhaW50
LmNwcApAQCAtMTE1LDcgKzExNSw3IEBAIFBhc3NSZWZQdHI8U1ZHUGFpbnQ+IFNWR1BhaW50Ojpj
bG9uZUZvckNTU09NKCkgY29uc3QKIHZvaWQgU1ZHUGFpbnQ6OnJlcG9ydERlc2NlbmRhbnRNZW1v
cnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAogewogICAg
IE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIFdlYkNvcmVNZW1v
cnlUeXBlczo6Q1NTKTsKLSAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX3VyaSk7Cisg
ICAgaW5mby5hZGRNZW1iZXIobV91cmkpOwogfQogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9zdmcvZ3JhcGhpY3MvU1ZHSW1hZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL2dyYXBo
aWNzL1NWR0ltYWdlLmNwcAppbmRleCAwN2Y2NzI1N2YwMDUxMGIwOTFmNjZhZmY2MDJmYzdlODRm
ZWViY2ViLi42YTc2ZmEzOGM1ZTc1MzZiODc0MTQ3MmJhNGE5MGFmYzg3YmI5YmQ0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvZ3JhcGhpY3MvU1ZHSW1hZ2UuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9ncmFwaGljcy9TVkdJbWFnZS5jcHAKQEAgLTM2MSw3ICszNjEsNyBAQCB2
b2lkIFNWR0ltYWdlOjpyZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlP
YmplY3RJbmZvKSBjb25zdAogICAgIEltYWdlOjpyZXBvcnRNZW1vcnlVc2FnZShtZW1vcnlPYmpl
Y3RJbmZvKTsKICAgICBpbmZvLmFkZE1lbWJlcihtX2Nocm9tZUNsaWVudCk7CiAgICAgaW5mby5h
ZGRNZW1iZXIobV9wYWdlKTsKLSAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX2ZyYW1l
Q2FjaGUpOworICAgIGluZm8uYWRkTWVtYmVyKG1fZnJhbWVDYWNoZSk7CiB9CiAKIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvTWVtb3J5SW5zdHJ1bWVudGF0aW9u
VGVzdC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL01lbW9yeUluc3RydW1lbnRh
dGlvblRlc3QuY3BwCmluZGV4IDc1NmFkYmUyZDA0YmFmNGU3MjU2ZDY0ZTdkOGU0ZTMyMjRhYWZi
MGYuLmU1Y2JhYjQ0MmVjYzIwZDRiMTJiNjRjNjYyOGM2NzY2MDgzZWE0MjUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvTWVtb3J5SW5zdHJ1bWVudGF0aW9uVGVzdC5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9NZW1vcnlJbnN0cnVtZW50YXRp
b25UZXN0LmNwcApAQCAtMTkzLDcgKzE5Myw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHJlcG9ydE1l
bW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiAgICAg
ewogICAgICAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBX
ZWJDb3JlTWVtb3J5VHlwZXM6OkRPTSk7Ci0gICAgICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVt
YmVyKG1faW5zdHJ1bWVudGVkVW5kZWZpbmVkKTsKKyAgICAgICAgaW5mby5hZGRNZW1iZXIobV9p
bnN0cnVtZW50ZWRVbmRlZmluZWQpOwogICAgIH0KICAgICBPd25QdHI8SW5zdHJ1bWVudGVkVW5k
ZWZpbmVkPiBtX2luc3RydW1lbnRlZFVuZGVmaW5lZDsKIH07CkBAIC0yMTQsNyArMjE0LDcgQEAg
cHVibGljOgogICAgIHZvaWQgcmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVt
b3J5T2JqZWN0SW5mbykgY29uc3QKICAgICB7CiAgICAgICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZv
KG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIFdlYkNvcmVNZW1vcnlUeXBlczo6RE9NKTsKLSAgICAg
ICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9pbnN0cnVtZW50ZWQpOworICAgICAgICBp
bmZvLmFkZE1lbWJlcihtX2luc3RydW1lbnRlZCk7CiAgICAgfQogCiAgICAgSW5zdHJ1bWVudGVk
IG1faW5zdHJ1bWVudGVkOwpAQCAtMjM4LDcgKzIzOCw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHJl
cG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0
CiAgICAgewogICAgICAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0
aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6OkRPTSk7Ci0gICAgICAgIGluZm8uYWRkSW5zdHJ1bWVu
dGVkTWVtYmVyKG1fdmFsdWUpOworICAgICAgICBpbmZvLmFkZE1lbWJlcihtX3ZhbHVlKTsKICAg
ICB9CiAKICAgICBUIG1fdmFsdWU7CkBAIC0zNTIsNiArMzUyLDcgQEAgVEVTVChNZW1vcnlJbnN0
cnVtZW50YXRpb25UZXN0LCBkZXRlY3RSZXBvcnRNZW1vcnlVc2FnZU1ldGhvZCkKICAgICAgICAg
SW5zdHJ1bWVudGVkT3duZXI8SW5zdHJ1bWVudGVkVGVtcGxhdGU8U3RyaW5nPiogPiByb290KHZh
bHVlLmdldCgpKTsKICAgICAgICAgaW1wbC5hZGRSb290T2JqZWN0KHJvb3QpOwogICAgICAgICBF
WFBFQ1RfRVEoc2l6ZW9mKEluc3RydW1lbnRlZFRlbXBsYXRlPFN0cmluZz4pICsgc2l6ZW9mKFN0
cmluZ0ltcGwpLCBpbXBsLnJlcG9ydGVkU2l6ZUZvckFsbFR5cGVzKCkpOworICAgICAgICBFWFBF
Q1RfRVEoMiwgdmlzaXRlZE9iamVjdHMuc2l6ZSgpKTsKICAgICB9CiAgICAgewogICAgICAgICBW
aXNpdGVkT2JqZWN0cyB2aXNpdGVkT2JqZWN0czsK
</data>
<flag name="review"
          id="176132"
          type_id="1"
          status="+"
          setter="yurys"
    />
          </attachment>
      

    </bug>

</bugzilla>