<?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>210363</bug_id>
          
          <creation_ts>2020-04-10 16:54:23 -0700</creation_ts>
          <short_desc>Turn all instances of NavigatingToAppBoundDomain into Optionals.</short_desc>
          <delta_ts>2020-04-13 11:15:49 -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>WebKit Misc.</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Kate Cheney">katherine_cheney</reporter>
          <assigned_to name="Kate Cheney">katherine_cheney</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>cdumez</cc>
    
    <cc>cgarcia</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1640423</commentid>
    <comment_count>0</comment_count>
    <who name="Kate Cheney">katherine_cheney</who>
    <bug_when>2020-04-10 16:54:23 -0700</bug_when>
    <thetext>We should distinguish between the case of an empty app-bound domains list everywhere for future behavior changes (currently it is only an Optional until it reaches WebPageProxy).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1640424</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-04-10 16:55:04 -0700</bug_when>
    <thetext>&lt;rdar://problem/61612861&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1640435</commentid>
    <comment_count>2</comment_count>
      <attachid>396138</attachid>
    <who name="Kate Cheney">katherine_cheney</who>
    <bug_when>2020-04-10 17:34:55 -0700</bug_when>
    <thetext>Created attachment 396138
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1640938</commentid>
    <comment_count>3</comment_count>
      <attachid>396138</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2020-04-13 10:00:28 -0700</bug_when>
    <thetext>Comment on attachment 396138
Patch

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

r=me

&gt; Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.mm:1203
&gt; +    auto shouldBeConsideredAppBound = !isNavigatingToAppBoundDomain ? NavigatingToAppBoundDomain::Yes : *isNavigatingToAppBoundDomain;

Nit: I had to think about this for a minute before I understood it. I think this *might* be clearer:

auto shouldBeConsideredAppBound = isNavigatingToAppBoundDomain ? *isNavigatingToAppBoundDomain : NavigatingToAppBoundDomain::Yes;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1640947</commentid>
    <comment_count>4</comment_count>
    <who name="Kate Cheney">katherine_cheney</who>
    <bug_when>2020-04-13 10:09:24 -0700</bug_when>
    <thetext>(In reply to Brent Fulgham from comment #3)
&gt; Comment on attachment 396138 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=396138&amp;action=review
&gt; 
&gt; r=me
&gt; 
&gt; &gt; Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.mm:1203
&gt; &gt; +    auto shouldBeConsideredAppBound = !isNavigatingToAppBoundDomain ? NavigatingToAppBoundDomain::Yes : *isNavigatingToAppBoundDomain;
&gt; 
&gt; Nit: I had to think about this for a minute before I understood it. I think
&gt; this *might* be clearer:
&gt; 
&gt; auto shouldBeConsideredAppBound = isNavigatingToAppBoundDomain ?
&gt; *isNavigatingToAppBoundDomain : NavigatingToAppBoundDomain::Yes;

Good call. I&apos;ll make this change before landing. Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1640972</commentid>
    <comment_count>5</comment_count>
      <attachid>396305</attachid>
    <who name="Kate Cheney">katherine_cheney</who>
    <bug_when>2020-04-13 10:36:35 -0700</bug_when>
    <thetext>Created attachment 396305
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1641001</commentid>
    <comment_count>6</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-04-13 11:15:48 -0700</bug_when>
    <thetext>Committed r260031: &lt;https://trac.webkit.org/changeset/260031&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 396305.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>396138</attachid>
            <date>2020-04-10 17:34:55 -0700</date>
            <delta_ts>2020-04-13 10:36:33 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-210363-20200410173454.patch</filename>
            <type>text/plain</type>
            <size>67162</size>
            <attacher name="Kate Cheney">katherine_cheney</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU5ODgxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGQ5YjQwNzY2OGJiNWFhM2U5
ZWQ3ZDYzNWRjMWUyZWY0MjhkYzQ0OGMuLjdmZDA2ZjBhYTAwODNmNjAyMGI5ZDhlZTVkNDAzNzBh
OTZiOGMzZWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTEwIEBACisyMDIwLTA0LTEwICBLYXRlIENo
ZW5leSAgPGthdGhlcmluZV9jaGVuZXlAYXBwbGUuY29tPgorCisgICAgICAgIFR1cm4gYWxsIGlu
c3RhbmNlcyBvZiBOYXZpZ2F0aW5nVG9BcHBCb3VuZERvbWFpbiBpbnRvIE9wdGlvbmFscworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEwMzYzCisgICAg
ICAgIDxyZGFyOi8vcHJvYmxlbS82MTYxMjg2MT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBOYXZpZ2F0aW5nVG9BcHBCb3VuZERvbWFpbiBzaG91bGQg
YmUgYW4gT3B0aW9uYWwgd2hlbiBwYXNzZWQgdG8gdGhlCisgICAgICAgIE5ldHdvcmsgUHJvY2Vz
cyB0byBkaXN0aW5ndWlzaCB0aGUgY2FzZSBvZiBhbiBlbXB0eSBhcHAtYm91bmQgZG9tYWluCisg
ICAgICAgIGxpc3QgdmVyc3VzIGFuIGFjdHVhbCBhcHAtYm91bmQgZG9tYWluIG5hdmlnYXRpb24u
IEFuIGVtcHR5IGxpc3QgYW5kCisgICAgICAgIGFuIGFwcC1ib3VuZCBuYXZpZ2F0aW9uIHNob3Vs
ZCBoYXZlIHRoZSBzYW1lIGJlaGF2aW9yIGluIE5ldHdvcmtTZXNzaW9uQ29jb2EsCisgICAgICAg
IGJ1dCB3ZSB3aWxsIG5lZWQgZGlzdGluZ3Vpc2hlZCBiZWhhdmlvciBpbiB0aGUgZnV0dXJlLgor
CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvRG93bmxvYWRzL0Rvd25sb2FkTWFuYWdlci5jcHA6
CisgICAgICAgIChXZWJLaXQ6OkRvd25sb2FkTWFuYWdlcjo6c3RhcnREb3dubG9hZCk6CisgICAg
ICAgICogTmV0d29ya1Byb2Nlc3MvRG93bmxvYWRzL0Rvd25sb2FkTWFuYWdlci5oOgorICAgICAg
ICAoV2ViS2l0OjpEb3dubG9hZE1hbmFnZXI6OnN0YXJ0RG93bmxvYWQpOgorICAgICAgICAqIE5l
dHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNwcDoKKyAgICAgICAg
KFdlYktpdDo6TmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OnN0YXJ0RG93bmxvYWQpOgor
ICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6Y29udmVydE1h
aW5SZXNvdXJjZUxvYWRUb0Rvd25sb2FkKToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3
b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5oOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ29u
bmVjdGlvblRvV2ViUHJvY2Vzczo6c3RhcnREb3dubG9hZCk6CisgICAgICAgICogTmV0d29ya1By
b2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MubWVzc2FnZXMuaW46CisgICAgICAg
ICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya0xvYWRQYXJhbWV0ZXJzLmg6CisgICAgICAgICogTmV0
d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuY3BwOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3Jr
UHJvY2Vzczo6cHJlY29ubmVjdFRvKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Byb2Nlc3M6
OmRvd25sb2FkUmVxdWVzdCk6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nl
c3MuaDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5tZXNzYWdlcy5p
bjoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkUGFyYW1ldGVy
cy5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtSZXNvdXJjZUxvYWRQYXJhbWV0ZXJzOjpk
ZWNvZGUpOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRQYXJh
bWV0ZXJzLmg6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvY2FjaGUvQXN5bmNSZXZhbGlkYXRp
b24uY3BwOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ2FjaGU6OkFzeW5jUmV2YWxpZGF0aW9u
OjpBc3luY1JldmFsaWRhdGlvbik6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvY2FjaGUvQXN5
bmNSZXZhbGlkYXRpb24uaDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3Jr
Q2FjaGUuY3BwOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ2FjaGU6OkNhY2hlOjpzdGFydEFz
eW5jUmV2YWxpZGF0aW9uSWZOZWVkZWQpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ2FjaGU6
OkNhY2hlOjpyZXRyaWV2ZSk6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29y
a0NhY2hlLmg6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3Bl
Y3VsYXRpdmVMb2FkLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0NhY2hlOjpTcGVjdWxh
dGl2ZUxvYWQ6OlNwZWN1bGF0aXZlTG9hZCk6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvY2Fj
aGUvTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVMb2FkLmg6CisgICAgICAgICogTmV0d29ya1Byb2Nl
c3MvY2FjaGUvTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVMb2FkTWFuYWdlci5jcHA6CisgICAgICAg
IChXZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6U3BlY3VsYXRpdmVMb2FkTWFuYWdlcjo6cmVnaXN0ZXJM
b2FkKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0NhY2hlOjpTcGVjdWxhdGl2ZUxvYWRNYW5h
Z2VyOjpwcmVjb25uZWN0Rm9yU3VicmVzb3VyY2UpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3Jr
Q2FjaGU6OlNwZWN1bGF0aXZlTG9hZE1hbmFnZXI6OnJldmFsaWRhdGVTdWJyZXNvdXJjZSk6Cisg
ICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6U3BlY3VsYXRpdmVMb2FkTWFuYWdlcjo6cHJl
bG9hZEVudHJ5KToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0NhY2hlOjpTcGVjdWxhdGl2ZUxv
YWRNYW5hZ2VyOjpzdGFydFNwZWN1bGF0aXZlUmV2YWxpZGF0aW9uKToKKyAgICAgICAgKiBOZXR3
b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZUxvYWRNYW5hZ2VyLmg6Cisg
ICAgICAgICogTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya0RhdGFUYXNrQ29jb2EuaDoKKyAg
ICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrRGF0YVRhc2tDb2NvYS5tbToKKyAg
ICAgICAgKFdlYktpdDo6TmV0d29ya0RhdGFUYXNrQ29jb2E6Ok5ldHdvcmtEYXRhVGFza0NvY29h
KToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrU2Vzc2lvbkNvY29hLmg6
CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya1Nlc3Npb25Db2NvYS5tbToK
KyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Nlc3Npb25Db2NvYTo6c2Vzc2lvbldyYXBwZXJGb3JU
YXNrKToKKyAgICAgICAgV2Ugc2hvdWxkIHRyZWF0IGFuIGVtcHR5IFdLQXBwQm91bmREb21haW5z
IGxpc3QgbGlrZSBhbiBhcHAtYm91bmQgZG9tYWluCisgICAgICAgIG5hdmlnYXRpb24gaW4gdGhl
IG5ldHdvcmsgc2Vzc2lvbiwgc28gdGhpcyBzZXRzCisgICAgICAgIE5hdmlnYXRpbmdUb0FwcEJv
dW5kRG9tYWluIHRvIFllcyBpZiB0aGUgT3B0aW9uYWwgaXMgV1RGOjpudWxsb3B0LgorCisgICAg
ICAgIChXZWJLaXQ6Ok5ldHdvcmtTZXNzaW9uQ29jb2E6OmFwcEJvdW5kU2Vzc2lvbik6IERlbGV0
ZWQuCisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtTZXNzaW9uQ29jb2E6Omlzb2xhdGVkU2Vzc2lv
bik6IERlbGV0ZWQuCisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtTZXNzaW9uQ29jb2E6Omhhc0lz
b2xhdGVkU2Vzc2lvbiBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtT
ZXNzaW9uQ29jb2E6OmNsZWFySXNvbGF0ZWRTZXNzaW9ucyk6IERlbGV0ZWQuCisgICAgICAgIChX
ZWJLaXQ6Ok5ldHdvcmtTZXNzaW9uQ29jb2E6OmludmFsaWRhdGVBbmRDYW5jZWwpOiBEZWxldGVk
LgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrU2Vzc2lvbkNvY29hOjpjbGVhckNyZWRlbnRpYWxz
KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6Y2VydGlmaWNhdGVzTWF0Y2gpOiBEZWxldGVk
LgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrU2Vzc2lvbkNvY29hOjphbGxvd3NTcGVjaWZpY0hU
VFBTQ2VydGlmaWNhdGVGb3JIb3N0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6TmV0d29y
a1Nlc3Npb25Db2NvYTo6Y29udGludWVEaWRSZWNlaXZlQ2hhbGxlbmdlKTogRGVsZXRlZC4KKyAg
ICAgICAgKFdlYktpdDo6TmV0d29ya1Nlc3Npb25Db2NvYTo6ZGV2aWNlTWFuYWdlbWVudFBvbGlj
eU1vbml0b3IpOiBEZWxldGVkLgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrU2Vzc2lvbkNvY29h
OjpjcmVhdGVXZWJTb2NrZXRUYXNrKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6TmV0d29y
a1Nlc3Npb25Db2NvYTo6YWRkV2ViU29ja2V0VGFzayk6IERlbGV0ZWQuCisgICAgICAgIChXZWJL
aXQ6Ok5ldHdvcmtTZXNzaW9uQ29jb2E6OnJlbW92ZVdlYlNvY2tldFRhc2spOiBEZWxldGVkLgor
ICAgICAgICAoV2ViS2l0OjpOZXR3b3JrU2Vzc2lvbkNvY29hOjpob3N0TmFtZXNXaXRoQWx0ZXJu
YXRpdmVTZXJ2aWNlcyBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtT
ZXNzaW9uQ29jb2E6OmRlbGV0ZUFsdGVybmF0aXZlU2VydmljZXNGb3JIb3N0TmFtZXMpOiBEZWxl
dGVkLgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrU2Vzc2lvbkNvY29hOjpjbGVhckFsdGVybmF0
aXZlU2VydmljZXMpOiBEZWxldGVkLgorICAgICAgICAqIFNoYXJlZC9Mb2FkUGFyYW1ldGVycy5o
OgorICAgICAgICAqIFNoYXJlZC9Qb2xpY3lEZWNpc2lvbi5oOgorICAgICAgICAoV2ViS2l0OjpQ
b2xpY3lEZWNpc2lvbjo6ZGVjb2RlKToKKyAgICAgICAgKiBVSVByb2Nlc3MvTmV0d29yay9OZXR3
b3JrUHJvY2Vzc1Byb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Byb2Nlc3NQcm94
eTo6cHJlY29ubmVjdFRvKToKKyAgICAgICAgKiBVSVByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJv
Y2Vzc1Byb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1Byb3Zpc2lvbmFsUGFnZVByb3h5LmNw
cDoKKyAgICAgICAgKFdlYktpdDo6UHJvdmlzaW9uYWxQYWdlUHJveHk6OmxvYWREYXRhKToKKyAg
ICAgICAgKFdlYktpdDo6UHJvdmlzaW9uYWxQYWdlUHJveHk6OmxvYWRSZXF1ZXN0KToKKyAgICAg
ICAgKiBVSVByb2Nlc3MvUHJvdmlzaW9uYWxQYWdlUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nl
c3MvV2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5Ojpsb2Fk
UmVxdWVzdFdpdGhOYXZpZ2F0aW9uU2hhcmVkKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVBy
b3h5Ojpsb2FkRGF0YVdpdGhOYXZpZ2F0aW9uU2hhcmVkKToKKyAgICAgICAgKFdlYktpdDo6V2Vi
UGFnZVByb3h5OjpzZXRJc05hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluKToKKyAgICAgICAgU2V0
IHRoaXMgdG8gV1RGOjpudWxsb3B0IGluc3RlYWQgb2YgTmF2aWdhdGluZ1RvQXBwQm91bmREb21h
aW46OlllcworICAgICAgICBzbyB0aGUgdHdvIGNhc2VzIGFyZSBkaXN0aW5ndWlzaGVkLgorCisg
ICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6aXNOYXZpZ2F0aW5nVG9BcHBCb3VuZERvbWFp
blRlc3RpbmcpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaDoKKyAgICAgICAg
KFdlYktpdDo6V2ViUGFnZVByb3h5Ojppc05hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluIGNvbnN0
KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpXZWJQcm9jZXNzUG9vbDo6ZG93bmxvYWQpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJGcmFtZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkZyYW1lOjpzdGFydERvd25s
b2FkKToKKyAgICAgICAgKFdlYktpdDo6V2ViRnJhbWU6OmNvbnZlcnRNYWluUmVzb3VyY2VMb2Fk
VG9Eb3dubG9hZCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpsb2FkRGF0YUltcGwpOgorICAgICAgICAqIFdlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmg6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OnNldElz
TmF2aWdhdGluZ1RvQXBwQm91bmREb21haW4pOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpp
c05hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluIGNvbnN0KToKKwogMjAyMC0wNC0xMCAgRGF2aWQg
S2lsemVyICA8ZGRraWx6ZXJAYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBXQVJOX1VOVVNFRF9S
RVRVUk4gdG8gZGVjb2RlIG1ldGhvZHMgaW4gV2ViQ29yZUFyZ3VtZW50Q29kZXJzCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZE1hbmFn
ZXIuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9Eb3dubG9hZHMvRG93bmxvYWRN
YW5hZ2VyLmNwcAppbmRleCA2NDJmNDYzZjg2YTQxMjQwOWJmMDU3NjNlZDRjZWZjZjVlNTVjMDZi
Li45NzM1MjRkOTljNWVkMzdhMTkxZDE1NTQwY2MyODc2NzdiODdkYzJjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZE1hbmFnZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvRG93bmxvYWRzL0Rvd25sb2FkTWFu
YWdlci5jcHAKQEAgLTQzLDcgKzQzLDcgQEAgRG93bmxvYWRNYW5hZ2VyOjpEb3dubG9hZE1hbmFn
ZXIoQ2xpZW50JiBjbGllbnQpCiB7CiB9CiAKLXZvaWQgRG93bmxvYWRNYW5hZ2VyOjpzdGFydERv
d25sb2FkKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgRG93bmxvYWRJRCBkb3dubG9hZElELCBj
b25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIE5hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWlu
IGlzTmF2aWdhdGluZ1RvQXBwQm91bmREb21haW4sIGNvbnN0IFN0cmluZyYgc3VnZ2VzdGVkTmFt
ZSkKK3ZvaWQgRG93bmxvYWRNYW5hZ2VyOjpzdGFydERvd25sb2FkKFBBTDo6U2Vzc2lvbklEIHNl
c3Npb25JRCwgRG93bmxvYWRJRCBkb3dubG9hZElELCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJl
cXVlc3QsIE9wdGlvbmFsPE5hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluPiBpc05hdmlnYXRpbmdU
b0FwcEJvdW5kRG9tYWluLCBjb25zdCBTdHJpbmcmIHN1Z2dlc3RlZE5hbWUpCiB7CiAgICAgYXV0
byogbmV0d29ya1Nlc3Npb24gPSBjbGllbnQoKS5uZXR3b3JrU2Vzc2lvbihzZXNzaW9uSUQpOwog
ICAgIGlmICghbmV0d29ya1Nlc3Npb24pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZE1hbmFnZXIuaCBiL1NvdXJjZS9XZWJLaXQvTmV0
d29ya1Byb2Nlc3MvRG93bmxvYWRzL0Rvd25sb2FkTWFuYWdlci5oCmluZGV4IDc1M2JkZjUxZTA4
NDExNDVlZmQ1NWFkYmRlMjY1MTlhNDMwZTNhYzUuLjI3ZDllNmI2NDQ5NTNlZjJiODhiMjliN2Jm
MTE1Yjg2MjhjODYzZjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
RG93bmxvYWRzL0Rvd25sb2FkTWFuYWdlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1By
b2Nlc3MvRG93bmxvYWRzL0Rvd25sb2FkTWFuYWdlci5oCkBAIC04MSw3ICs4MSw3IEBAIHB1Ymxp
YzoKIAogICAgIGV4cGxpY2l0IERvd25sb2FkTWFuYWdlcihDbGllbnQmKTsKIAotICAgIHZvaWQg
c3RhcnREb3dubG9hZChQQUw6OlNlc3Npb25JRCwgRG93bmxvYWRJRCwgY29uc3QgV2ViQ29yZTo6
UmVzb3VyY2VSZXF1ZXN0JiwgTmF2aWdhdGluZ1RvQXBwQm91bmREb21haW4sIGNvbnN0IFN0cmlu
ZyYgc3VnZ2VzdGVkTmFtZSA9IHsgfSk7CisgICAgdm9pZCBzdGFydERvd25sb2FkKFBBTDo6U2Vz
c2lvbklELCBEb3dubG9hZElELCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmLCBPcHRp
b25hbDxOYXZpZ2F0aW5nVG9BcHBCb3VuZERvbWFpbj4sIGNvbnN0IFN0cmluZyYgc3VnZ2VzdGVk
TmFtZSA9IHsgfSk7CiAgICAgdm9pZCBkYXRhVGFza0JlY2FtZURvd25sb2FkVGFzayhEb3dubG9h
ZElELCBzdGQ6OnVuaXF1ZV9wdHI8RG93bmxvYWQ+JiYpOwogICAgIHZvaWQgY29udGludWVXaWxs
U2VuZFJlcXVlc3QoRG93bmxvYWRJRCwgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiYpOwogICAg
IHZvaWQgd2lsbERlY2lkZVBlbmRpbmdEb3dubG9hZERlc3RpbmF0aW9uKE5ldHdvcmtEYXRhVGFz
ayYsIFJlc3BvbnNlQ29tcGxldGlvbkhhbmRsZXImJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNwcCBiL1Nv
dXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3Mu
Y3BwCmluZGV4IDQ4NGIxNzA3NGM3MzBhMWRiMjY0ZDU4NWMyNWRmZTFhNDg2MDU3OTkuLmVlMTI1
ZTU3ZTAxY2U2Mjg5Y2VhYzgyM2NjNDc3NTM0NzkyMjc2NWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlBy
b2Nlc3MuY3BwCkBAIC01ODYsMTIgKzU4NiwxMiBAQCBOZXR3b3JrU3RvcmFnZVNlc3Npb24qIE5l
dHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpzdG9yYWdlU2Vzc2lvbigpCiAgICAgcmV0dXJu
IHNlc3Npb247CiB9CiAKLXZvaWQgTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OnN0YXJ0
RG93bmxvYWQoRG93bmxvYWRJRCBkb3dubG9hZElELCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJl
cXVlc3QsIE5hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluIGlzTmF2aWdhdGluZ1RvQXBwQm91bmRE
b21haW4sIGNvbnN0IFN0cmluZyYgc3VnZ2VzdGVkTmFtZSkKK3ZvaWQgTmV0d29ya0Nvbm5lY3Rp
b25Ub1dlYlByb2Nlc3M6OnN0YXJ0RG93bmxvYWQoRG93bmxvYWRJRCBkb3dubG9hZElELCBjb25z
dCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIE9wdGlvbmFsPE5hdmlnYXRpbmdUb0FwcEJvdW5k
RG9tYWluPiBpc05hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluLCBjb25zdCBTdHJpbmcmIHN1Z2dl
c3RlZE5hbWUpCiB7CiAgICAgbV9uZXR3b3JrUHJvY2Vzcy0+ZG93bmxvYWRNYW5hZ2VyKCkuc3Rh
cnREb3dubG9hZChtX3Nlc3Npb25JRCwgZG93bmxvYWRJRCwgcmVxdWVzdCwgaXNOYXZpZ2F0aW5n
VG9BcHBCb3VuZERvbWFpbiwgc3VnZ2VzdGVkTmFtZSk7CiB9CiAKLXZvaWQgTmV0d29ya0Nvbm5l
Y3Rpb25Ub1dlYlByb2Nlc3M6OmNvbnZlcnRNYWluUmVzb3VyY2VMb2FkVG9Eb3dubG9hZCh1aW50
NjRfdCBtYWluUmVzb3VyY2VMb2FkSWRlbnRpZmllciwgRG93bmxvYWRJRCBkb3dubG9hZElELCBj
b25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJl
c3BvbnNlLCBOYXZpZ2F0aW5nVG9BcHBCb3VuZERvbWFpbiBpc05hdmlnYXRpbmdUb0FwcEJvdW5k
RG9tYWluKQordm9pZCBOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6Y29udmVydE1haW5S
ZXNvdXJjZUxvYWRUb0Rvd25sb2FkKHVpbnQ2NF90IG1haW5SZXNvdXJjZUxvYWRJZGVudGlmaWVy
LCBEb3dubG9hZElEIGRvd25sb2FkSUQsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwg
Y29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UsIE9wdGlvbmFsPE5hdmlnYXRpbmdUb0Fw
cEJvdW5kRG9tYWluPiBpc05hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluKQogewogICAgIFJFTEVB
U0VfQVNTRVJUKFJ1bkxvb3A6OmlzTWFpbigpKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5oIGIvU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5oCmlu
ZGV4IGE2OTk0NmNmOGI1ZTg3ZDBmMjE0ZDExYjAwYTRkZjMzOGZjOWY3ZTAuLjAzODhiMWFkZmM1
MGFhNzc5Yjg1ZWM1YWY3ZGE0N2I1MzYzZTFmOGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
TmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmgK
QEAgLTIwMyw4ICsyMDMsOCBAQCBwcml2YXRlOgogICAgIHZvaWQgcGFnZUxvYWRDb21wbGV0ZWQo
V2ViQ29yZTo6UGFnZUlkZW50aWZpZXIpOwogICAgIHZvaWQgYnJvd3NpbmdDb250ZXh0UmVtb3Zl
ZChXZWJQYWdlUHJveHlJZGVudGlmaWVyLCBXZWJDb3JlOjpQYWdlSWRlbnRpZmllciwgV2ViQ29y
ZTo6RnJhbWVJZGVudGlmaWVyKTsKICAgICB2b2lkIGNyb3NzT3JpZ2luUmVkaXJlY3RSZWNlaXZl
ZChSZXNvdXJjZUxvYWRJZGVudGlmaWVyLCBjb25zdCBVUkwmIHJlZGlyZWN0VVJMKTsKLSAgICB2
b2lkIHN0YXJ0RG93bmxvYWQoRG93bmxvYWRJRCwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1
ZXN0JiwgTmF2aWdhdGluZ1RvQXBwQm91bmREb21haW4sIGNvbnN0IFN0cmluZyYgc3VnZ2VzdGVk
TmFtZSA9IHsgfSk7Ci0gICAgdm9pZCBjb252ZXJ0TWFpblJlc291cmNlTG9hZFRvRG93bmxvYWQo
dWludDY0X3QgbWFpblJlc291cmNlTG9hZElkZW50aWZpZXIsIERvd25sb2FkSUQsIGNvbnN0IFdl
YkNvcmU6OlJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2Um
LCBOYXZpZ2F0aW5nVG9BcHBCb3VuZERvbWFpbik7CisgICAgdm9pZCBzdGFydERvd25sb2FkKERv
d25sb2FkSUQsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYsIE9wdGlvbmFsPE5hdmln
YXRpbmdUb0FwcEJvdW5kRG9tYWluPiwgY29uc3QgU3RyaW5nJiBzdWdnZXN0ZWROYW1lID0geyB9
KTsKKyAgICB2b2lkIGNvbnZlcnRNYWluUmVzb3VyY2VMb2FkVG9Eb3dubG9hZCh1aW50NjRfdCBt
YWluUmVzb3VyY2VMb2FkSWRlbnRpZmllciwgRG93bmxvYWRJRCwgY29uc3QgV2ViQ29yZTo6UmVz
b3VyY2VSZXF1ZXN0JiwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYsIE9wdGlvbmFs
PE5hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluPik7CiAKICAgICB2b2lkIHJlZ2lzdGVyVVJMU2No
ZW1lc0FzQ09SU0VuYWJsZWQoVmVjdG9yPFN0cmluZz4mJiBzY2hlbWVzKTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJv
Y2Vzcy5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nv
bm5lY3Rpb25Ub1dlYlByb2Nlc3MubWVzc2FnZXMuaW4KaW5kZXggM2NiNDZlNGQ5YTA2YzhmYTMz
ZTVjYmEwNTVkN2M2MmViYmQ0NGE0Mi4uNDkyOTkxYmI4NDhjMTA2MWI0ZTRlMWE3MWE5OTA3YjAy
Yzk5ZjI2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3Jr
Q29ubmVjdGlvblRvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluCkBA
IC0zMiw4ICszMiw4IEBAIG1lc3NhZ2VzIC0+IE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNz
IExlZ2FjeVJlY2VpdmVyIHsKICAgICBQcmVmZXRjaEROUyhTdHJpbmcgaG9zdG5hbWUpCiAgICAg
UHJlY29ubmVjdFRvKE9wdGlvbmFsPHVpbnQ2NF90PiBwcmVjb25uZWN0aW9uSWRlbnRpZmllciwg
V2ViS2l0OjpOZXR3b3JrUmVzb3VyY2VMb2FkUGFyYW1ldGVycyBsb2FkUGFyYW1ldGVycyk7CiAK
LSAgICBTdGFydERvd25sb2FkKFdlYktpdDo6RG93bmxvYWRJRCBkb3dubG9hZElELCBXZWJDb3Jl
OjpSZXNvdXJjZVJlcXVlc3QgcmVxdWVzdCwgZW51bTpib29sIFdlYktpdDo6TmF2aWdhdGluZ1Rv
QXBwQm91bmREb21haW4gaXNOYXZpZ2F0aW5nVG9BcHBCb3VuZERvbWFpbiwgU3RyaW5nIHN1Z2dl
c3RlZE5hbWUpCi0gICAgQ29udmVydE1haW5SZXNvdXJjZUxvYWRUb0Rvd25sb2FkKHVpbnQ2NF90
IG1haW5SZXNvdXJjZUxvYWRJZGVudGlmaWVyLCBXZWJLaXQ6OkRvd25sb2FkSUQgZG93bmxvYWRJ
RCwgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0IHJlcXVlc3QsIFdlYkNvcmU6OlJlc291cmNlUmVz
cG9uc2UgcmVzcG9uc2UsIGVudW06Ym9vbCBXZWJLaXQ6Ok5hdmlnYXRpbmdUb0FwcEJvdW5kRG9t
YWluIGlzTmF2aWdhdGluZ1RvQXBwQm91bmREb21haW4pCisgICAgU3RhcnREb3dubG9hZChXZWJL
aXQ6OkRvd25sb2FkSUQgZG93bmxvYWRJRCwgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0IHJlcXVl
c3QsIGVudW06Ym9vbCBPcHRpb25hbDxXZWJLaXQ6Ok5hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWlu
PiBpc05hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluLCBTdHJpbmcgc3VnZ2VzdGVkTmFtZSkKKyAg
ICBDb252ZXJ0TWFpblJlc291cmNlTG9hZFRvRG93bmxvYWQodWludDY0X3QgbWFpblJlc291cmNl
TG9hZElkZW50aWZpZXIsIFdlYktpdDo6RG93bmxvYWRJRCBkb3dubG9hZElELCBXZWJDb3JlOjpS
ZXNvdXJjZVJlcXVlc3QgcmVxdWVzdCwgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSByZXNwb25z
ZSwgZW51bTpib29sIE9wdGlvbmFsPFdlYktpdDo6TmF2aWdhdGluZ1RvQXBwQm91bmREb21haW4+
IGlzTmF2aWdhdGluZ1RvQXBwQm91bmREb21haW4pCiAKICAgICBDb29raWVzRm9yRE9NKFVSTCBm
aXJzdFBhcnR5LCBzdHJ1Y3QgV2ViQ29yZTo6U2FtZVNpdGVJbmZvIHNhbWVTaXRlSW5mbywgVVJM
IHVybCwgV2ViQ29yZTo6RnJhbWVJZGVudGlmaWVyIGZyYW1lSUQsIFdlYkNvcmU6OlBhZ2VJZGVu
dGlmaWVyIHBhZ2VJRCwgZW51bTpib29sIFdlYkNvcmU6OkluY2x1ZGVTZWN1cmVDb29raWVzIGlu
Y2x1ZGVTZWN1cmVDb29raWVzLCBlbnVtOmJvb2wgV2ViQ29yZTo6U2hvdWxkQXNrSVRQIHNob3Vs
ZEFza0lUUCkgLT4gKFN0cmluZyBjb29raWVTdHJpbmcsIGJvb2wgZGlkQWNjZXNzU2VjdXJlQ29v
a2llcykgU3luY2hyb25vdXMKICAgICBTZXRDb29raWVzRnJvbURPTShVUkwgZmlyc3RQYXJ0eSwg
c3RydWN0IFdlYkNvcmU6OlNhbWVTaXRlSW5mbyBzYW1lU2l0ZUluZm8sIFVSTCB1cmwsIFdlYkNv
cmU6OkZyYW1lSWRlbnRpZmllciBmcmFtZUlELCBXZWJDb3JlOjpQYWdlSWRlbnRpZmllciBwYWdl
SUQsIGVudW06Ym9vbCBXZWJDb3JlOjpTaG91bGRBc2tJVFAgc2hvdWxkQXNrSVRQLCBTdHJpbmcg
Y29va2llU3RyaW5nKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9O
ZXR3b3JrTG9hZFBhcmFtZXRlcnMuaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0
d29ya0xvYWRQYXJhbWV0ZXJzLmgKaW5kZXggMWJmODQ3NTcxZmU5ZDBhYzZiZTBmMGRlOTE2MDNi
YmMyYjZjZDczOS4uMTQxYzk1NTZkMGEzMDg3NzNmY2U0N2QwNDc3ZjkzOGIwNzRlY2NlZCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrTG9hZFBhcmFtZXRl
cnMuaAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtMb2FkUGFyYW1l
dGVycy5oCkBAIC02Miw3ICs2Miw3IEBAIHB1YmxpYzoKICAgICBWZWN0b3I8UmVmUHRyPFdlYkNv
cmU6OkJsb2JEYXRhRmlsZVJlZmVyZW5jZT4+IGJsb2JGaWxlUmVmZXJlbmNlczsKICAgICBQcmVj
b25uZWN0T25seSBzaG91bGRQcmVjb25uZWN0T25seSB7IFByZWNvbm5lY3RPbmx5OjpObyB9Owog
ICAgIE9wdGlvbmFsPE5ldHdvcmtBY3Rpdml0eVRyYWNrZXI+IG5ldHdvcmtBY3Rpdml0eVRyYWNr
ZXI7Ci0gICAgTmF2aWdhdGluZ1RvQXBwQm91bmREb21haW4gaXNOYXZpZ2F0aW5nVG9BcHBCb3Vu
ZERvbWFpbiB7IE5hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluOjpObyB9OworICAgIE9wdGlvbmFs
PE5hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluPiBpc05hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWlu
IHsgTmF2aWdhdGluZ1RvQXBwQm91bmREb21haW46Ok5vIH07CiB9OwogCiB9IC8vIG5hbWVzcGFj
ZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29y
a1Byb2Nlc3MuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vz
cy5jcHAKaW5kZXggZmMwNWNmZjkyOGQxNTBkYzUwODMwODFmZWE0YmU5MTVlYTIyMzNmOS4uNTJj
MDEyOTdiM2Q0ZjQ1NTE2OWEzNGE0MDMwZDA0NmVhOTk2NjdhOSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5jcHAKKysrIGIvU291cmNlL1dl
YktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5jcHAKQEAgLTEzMjksNyArMTMyOSw3
IEBAIHZvaWQgTmV0d29ya1Byb2Nlc3M6OnNldFRvU2FtZVNpdGVTdHJpY3RDb29raWVzRm9yVGVz
dGluZyhQQUw6OlNlc3Npb25JRCBzZXNzaW9uCiB9CiAjZW5kaWYgLy8gRU5BQkxFKFJFU09VUkNF
X0xPQURfU1RBVElTVElDUykKIAotdm9pZCBOZXR3b3JrUHJvY2Vzczo6cHJlY29ubmVjdFRvKFBB
TDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgY29uc3QgVVJMJiB1cmwsIGNvbnN0IFN0cmluZyYgdXNl
ckFnZW50LCBXZWJDb3JlOjpTdG9yZWRDcmVkZW50aWFsc1BvbGljeSBzdG9yZWRDcmVkZW50aWFs
c1BvbGljeSwgTmF2aWdhdGluZ1RvQXBwQm91bmREb21haW4gaXNOYXZpZ2F0aW5nVG9BcHBCb3Vu
ZERvbWFpbikKK3ZvaWQgTmV0d29ya1Byb2Nlc3M6OnByZWNvbm5lY3RUbyhQQUw6OlNlc3Npb25J
RCBzZXNzaW9uSUQsIGNvbnN0IFVSTCYgdXJsLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgV2Vi
Q29yZTo6U3RvcmVkQ3JlZGVudGlhbHNQb2xpY3kgc3RvcmVkQ3JlZGVudGlhbHNQb2xpY3ksIE9w
dGlvbmFsPE5hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluPiBpc05hdmlnYXRpbmdUb0FwcEJvdW5k
RG9tYWluKQogewogI2lmIEVOQUJMRShTRVJWRVJfUFJFQ09OTkVDVCkKICNpZiBFTkFCTEUoTEVH
QUNZX0NVU1RPTV9QUk9UT0NPTF9NQU5BR0VSKQpAQCAtMjAzNiw3ICsyMDM2LDcgQEAgdm9pZCBO
ZXR3b3JrUHJvY2Vzczo6cmVtb3ZlQ2FjaGVFbmdpbmUoY29uc3QgUEFMOjpTZXNzaW9uSUQmIHNl
c3Npb25JRCkKICAgICBtX2NhY2hlRW5naW5lcy5yZW1vdmUoc2Vzc2lvbklEKTsKIH0KIAotdm9p
ZCBOZXR3b3JrUHJvY2Vzczo6ZG93bmxvYWRSZXF1ZXN0KFBBTDo6U2Vzc2lvbklEIHNlc3Npb25J
RCwgRG93bmxvYWRJRCBkb3dubG9hZElELCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3Qs
IE5hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluIGlzTmF2aWdhdGluZ1RvQXBwQm91bmREb21haW4s
IGNvbnN0IFN0cmluZyYgc3VnZ2VzdGVkRmlsZW5hbWUpCit2b2lkIE5ldHdvcmtQcm9jZXNzOjpk
b3dubG9hZFJlcXVlc3QoUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBEb3dubG9hZElEIGRvd25s
b2FkSUQsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgT3B0aW9uYWw8TmF2aWdhdGlu
Z1RvQXBwQm91bmREb21haW4+IGlzTmF2aWdhdGluZ1RvQXBwQm91bmREb21haW4sIGNvbnN0IFN0
cmluZyYgc3VnZ2VzdGVkRmlsZW5hbWUpCiB7CiAgICAgZG93bmxvYWRNYW5hZ2VyKCkuc3RhcnRE
b3dubG9hZChzZXNzaW9uSUQsIGRvd25sb2FkSUQsIHJlcXVlc3QsIGlzTmF2aWdhdGluZ1RvQXBw
Qm91bmREb21haW4sIHN1Z2dlc3RlZEZpbGVuYW1lKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaCBiL1NvdXJjZS9XZWJLaXQvTmV0
d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaAppbmRleCBlZDVlMTFmY2IwNjFmNmVjYjNiZmJk
ODdjZTgzZWYyNTc1NjMzMTBjLi4wNjRiYjFjZGNjOGEyNzJhMDJjNGNmNzczZDAyZGE0NjUyM2Qw
ZWZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9j
ZXNzLmgKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5o
CkBAIC0yNzMsNyArMjczLDcgQEAgcHVibGljOgogICAgIHVzaW5nIENhY2hlU3RvcmFnZVJvb3RQ
YXRoQ2FsbGJhY2sgPSBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFN0cmluZyYmKT47CiAgICAgdm9p
ZCBjYWNoZVN0b3JhZ2VSb290UGF0aChQQUw6OlNlc3Npb25JRCwgQ2FjaGVTdG9yYWdlUm9vdFBh
dGhDYWxsYmFjayYmKTsKIAotICAgIHZvaWQgcHJlY29ubmVjdFRvKFBBTDo6U2Vzc2lvbklELCBj
b25zdCBVUkwmLCBjb25zdCBTdHJpbmcmLCBXZWJDb3JlOjpTdG9yZWRDcmVkZW50aWFsc1BvbGlj
eSwgTmF2aWdhdGluZ1RvQXBwQm91bmREb21haW4pOworICAgIHZvaWQgcHJlY29ubmVjdFRvKFBB
TDo6U2Vzc2lvbklELCBjb25zdCBVUkwmLCBjb25zdCBTdHJpbmcmLCBXZWJDb3JlOjpTdG9yZWRD
cmVkZW50aWFsc1BvbGljeSwgT3B0aW9uYWw8TmF2aWdhdGluZ1RvQXBwQm91bmREb21haW4+KTsK
IAogICAgIHZvaWQgc2V0U2Vzc2lvbklzQ29udHJvbGxlZEJ5QXV0b21hdGlvbihQQUw6OlNlc3Np
b25JRCwgYm9vbCk7CiAgICAgYm9vbCBzZXNzaW9uSXNDb250cm9sbGVkQnlBdXRvbWF0aW9uKFBB
TDo6U2Vzc2lvbklEKSBjb25zdDsKQEAgLTQwNiw3ICs0MDYsNyBAQCBwcml2YXRlOgogICAgIC8v
IEZJWE1FOiBUaGlzIHNob3VsZCB0YWtlIGEgc2Vzc2lvbiBJRCBzbyB3ZSBjYW4gaWRlbnRpZnkg
d2hpY2ggZGlzayBjYWNoZSB0byBkZWxldGUuCiAgICAgdm9pZCBjbGVhckRpc2tDYWNoZShXYWxs
VGltZSBtb2RpZmllZFNpbmNlLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpOwogCi0gICAg
dm9pZCBkb3dubG9hZFJlcXVlc3QoUEFMOjpTZXNzaW9uSUQsIERvd25sb2FkSUQsIGNvbnN0IFdl
YkNvcmU6OlJlc291cmNlUmVxdWVzdCYsIE5hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluLCBjb25z
dCBTdHJpbmcmIHN1Z2dlc3RlZEZpbGVuYW1lKTsKKyAgICB2b2lkIGRvd25sb2FkUmVxdWVzdChQ
QUw6OlNlc3Npb25JRCwgRG93bmxvYWRJRCwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0
JiwgT3B0aW9uYWw8TmF2aWdhdGluZ1RvQXBwQm91bmREb21haW4+LCBjb25zdCBTdHJpbmcmIHN1
Z2dlc3RlZEZpbGVuYW1lKTsKICAgICB2b2lkIHJlc3VtZURvd25sb2FkKFBBTDo6U2Vzc2lvbklE
LCBEb3dubG9hZElELCBjb25zdCBJUEM6OkRhdGFSZWZlcmVuY2UmIHJlc3VtZURhdGEsIGNvbnN0
IFN0cmluZyYgcGF0aCwgU2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlJiYpOwogICAgIHZvaWQgY2Fu
Y2VsRG93bmxvYWQoRG93bmxvYWRJRCk7CiAjaWYgUExBVEZPUk0oQ09DT0EpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLm1lc3NhZ2VzLmlu
IGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5tZXNzYWdlcy5p
bgppbmRleCBkZmQ2MjQ0MjQ5Y2NmYjA4ZGFjYzA3YmI2YjE1NzYzOGM4YWUwYTRiLi4yMTlkMzkx
YjRmY2VmYjM5NjQyOGY2YjJiNjEzZTM3NzNjODBjMzUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MubWVzc2FnZXMuaW4KQEAgLTQ3
LDcgKzQ3LDcgQEAgbWVzc2FnZXMgLT4gTmV0d29ya1Byb2Nlc3MgTGVnYWN5UmVjZWl2ZXIgewog
ICAgIERlbGV0ZVdlYnNpdGVEYXRhKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgT3B0aW9uU2V0
PFdlYktpdDo6V2Vic2l0ZURhdGFUeXBlPiB3ZWJzaXRlRGF0YVR5cGVzLCBXYWxsVGltZSBtb2Rp
ZmllZFNpbmNlLCB1aW50NjRfdCBjYWxsYmFja0lEKQogICAgIERlbGV0ZVdlYnNpdGVEYXRhRm9y
T3JpZ2lucyhQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIE9wdGlvblNldDxXZWJLaXQ6OldlYnNp
dGVEYXRhVHlwZT4gd2Vic2l0ZURhdGFUeXBlcywgVmVjdG9yPFdlYkNvcmU6OlNlY3VyaXR5T3Jp
Z2luRGF0YT4gb3JpZ2lucywgVmVjdG9yPFN0cmluZz4gY29va2llSG9zdE5hbWVzLCBWZWN0b3I8
U3RyaW5nPiBIU1RTQ2FjaGVIb3N0TmFtZXMsIHVpbnQ2NF90IGNhbGxiYWNrSUQpCiAKLSAgICBE
b3dubG9hZFJlcXVlc3QoUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBXZWJLaXQ6OkRvd25sb2Fk
SUQgZG93bmxvYWRJRCwgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0IHJlcXVlc3QsIGVudW06Ym9v
bCBXZWJLaXQ6Ok5hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluIGlzTmF2aWdhdGluZ1RvQXBwQm91
bmREb21haW4sIFN0cmluZyBzdWdnZXN0ZWRGaWxlbmFtZSkKKyAgICBEb3dubG9hZFJlcXVlc3Qo
UEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBXZWJLaXQ6OkRvd25sb2FkSUQgZG93bmxvYWRJRCwg
V2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0IHJlcXVlc3QsIGVudW06Ym9vbCBPcHRpb25hbDxXZWJL
aXQ6Ok5hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluPiBpc05hdmlnYXRpbmdUb0FwcEJvdW5kRG9t
YWluLCBTdHJpbmcgc3VnZ2VzdGVkRmlsZW5hbWUpCiAgICAgUmVzdW1lRG93bmxvYWQoUEFMOjpT
ZXNzaW9uSUQgc2Vzc2lvbklELCBXZWJLaXQ6OkRvd25sb2FkSUQgZG93bmxvYWRJRCwgSVBDOjpE
YXRhUmVmZXJlbmNlIHJlc3VtZURhdGEsIFN0cmluZyBwYXRoLCBXZWJLaXQ6OlNhbmRib3hFeHRl
bnNpb246OkhhbmRsZSBzYW5kYm94RXh0ZW5zaW9uSGFuZGxlKQogICAgIENhbmNlbERvd25sb2Fk
KFdlYktpdDo6RG93bmxvYWRJRCBkb3dubG9hZElEKQogI2lmIFBMQVRGT1JNKENPQ09BKQpAQCAt
NzksNyArNzksNyBAQCBtZXNzYWdlcyAtPiBOZXR3b3JrUHJvY2VzcyBMZWdhY3lSZWNlaXZlciB7
CiAgICAgUHJlcGFyZVRvU3VzcGVuZChib29sIGlzU3VzcGVuc2lvbkltbWluZW50KSAtPiAoKSBB
c3luYwogICAgIFByb2Nlc3NEaWRSZXN1bWUoKQogCi0gICAgUHJlY29ubmVjdFRvKFBBTDo6U2Vz
c2lvbklEIHNlc3Npb25JRCwgVVJMIHVybCwgU3RyaW5nIHVzZXJBZ2VudCwgZW51bTp1aW50OF90
IFdlYkNvcmU6OlN0b3JlZENyZWRlbnRpYWxzUG9saWN5IHN0b3JlZENyZWRlbnRpYWxzUG9saWN5
LCBlbnVtOmJvb2wgV2ViS2l0OjpOYXZpZ2F0aW5nVG9BcHBCb3VuZERvbWFpbiBpc05hdmlnYXRp
bmdUb0FwcEJvdW5kRG9tYWluKTsKKyAgICBQcmVjb25uZWN0VG8oUEFMOjpTZXNzaW9uSUQgc2Vz
c2lvbklELCBVUkwgdXJsLCBTdHJpbmcgdXNlckFnZW50LCBlbnVtOnVpbnQ4X3QgV2ViQ29yZTo6
U3RvcmVkQ3JlZGVudGlhbHNQb2xpY3kgc3RvcmVkQ3JlZGVudGlhbHNQb2xpY3ksIGVudW06Ym9v
bCBPcHRpb25hbDxXZWJLaXQ6Ok5hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluPiBpc05hdmlnYXRp
bmdUb0FwcEJvdW5kRG9tYWluKTsKIAogI2lmIEVOQUJMRShSRVNPVVJDRV9MT0FEX1NUQVRJU1RJ
Q1MpCiAgICAgQ2xlYXJQcmV2YWxlbnRSZXNvdXJjZShQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQs
IFdlYkNvcmU6OlJlZ2lzdHJhYmxlRG9tYWluIHJlc291cmNlRG9tYWluKSAtPiAoKSBBc3luYwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VM
b2FkUGFyYW1ldGVycy5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtS
ZXNvdXJjZUxvYWRQYXJhbWV0ZXJzLmNwcAppbmRleCA5OTRhYWVkMTI1M2U1Yzg1MmZjNzhmMDdh
Y2ZlNDRiYTBjNmQ0MjI0Li40MmY2Y2MxZTRmMjkwMTYzZWM4Mzg2OTQ1MGY3YWRmMGNjN2ViY2Fj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJj
ZUxvYWRQYXJhbWV0ZXJzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05l
dHdvcmtSZXNvdXJjZUxvYWRQYXJhbWV0ZXJzLmNwcApAQCAtMzAzLDcgKzMwMyw3IEBAIE9wdGlv
bmFsPE5ldHdvcmtSZXNvdXJjZUxvYWRQYXJhbWV0ZXJzPiBOZXR3b3JrUmVzb3VyY2VMb2FkUGFy
YW1ldGVyczo6ZGVjb2RlKElQCiAgICAgcmVzdWx0LnVzZXJDb250ZW50Q29udHJvbGxlcklkZW50
aWZpZXIgPSAqdXNlckNvbnRlbnRDb250cm9sbGVySWRlbnRpZmllcjsKICNlbmRpZgogCi0gICAg
T3B0aW9uYWw8TmF2aWdhdGluZ1RvQXBwQm91bmREb21haW4+IGlzTmF2aWdhdGluZ1RvQXBwQm91
bmREb21haW47CisgICAgT3B0aW9uYWw8T3B0aW9uYWw8TmF2aWdhdGluZ1RvQXBwQm91bmREb21h
aW4+PiBpc05hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluOwogICAgIGRlY29kZXIgPj4gaXNOYXZp
Z2F0aW5nVG9BcHBCb3VuZERvbWFpbjsKICAgICBpZiAoIWlzTmF2aWdhdGluZ1RvQXBwQm91bmRE
b21haW4pCiAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRQYXJhbWV0ZXJzLmggYi9T
b3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRQYXJhbWV0ZXJz
LmgKaW5kZXggYTAxNGI1MDc3MDQxOTgwZmQxMDg4ODE5YTJhZmE1YjM5M2EwYWM0Ni4uMGNlMTY3
ZTllMGVlM2FhMWU2NWZkNDlhZTE4ZWI2MGI3YTkwMjU5NSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkUGFyYW1ldGVycy5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRl
cnMuaApAQCAtNzYsNyArNzYsNyBAQCBwdWJsaWM6CiAgICAgT3B0aW9uYWw8VXNlckNvbnRlbnRD
b250cm9sbGVySWRlbnRpZmllcj4gdXNlckNvbnRlbnRDb250cm9sbGVySWRlbnRpZmllcjsKICNl
bmRpZgogICAgIAotICAgIE5hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluIGlzTmF2aWdhdGluZ1Rv
QXBwQm91bmREb21haW4geyBOYXZpZ2F0aW5nVG9BcHBCb3VuZERvbWFpbjo6Tm8gfTsKKyAgICBP
cHRpb25hbDxOYXZpZ2F0aW5nVG9BcHBCb3VuZERvbWFpbj4gaXNOYXZpZ2F0aW5nVG9BcHBCb3Vu
ZERvbWFpbiB7IE5hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluOjpObyB9OwogfTsKIAogfSAvLyBu
YW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L2NhY2hlL0FzeW5jUmV2YWxpZGF0aW9uLmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nl
c3MvY2FjaGUvQXN5bmNSZXZhbGlkYXRpb24uY3BwCmluZGV4IGFjZjdlNmUyODFkYTMwNTg2MGJk
NGFjYmRjN2Y5NzY5YWYxNDZiYzAuLjU5YWU0MzNkYTcwNzQxYTc5ZjhjMzgxOWRmMzlhZDE0NGRl
NTAzMzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvQXN5
bmNSZXZhbGlkYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2Fj
aGUvQXN5bmNSZXZhbGlkYXRpb24uY3BwCkBAIC02Niw3ICs2Niw3IEBAIHZvaWQgQXN5bmNSZXZh
bGlkYXRpb246OnN0YWxlV2hpbGVSZXZhbGlkYXRlRW5kaW5nKCkKICAgICAgICAgbV9jb21wbGV0
aW9uSGFuZGxlcihSZXN1bHQ6OlRpbWVvdXQpOwogfQogCi1Bc3luY1JldmFsaWRhdGlvbjo6QXN5
bmNSZXZhbGlkYXRpb24oQ2FjaGUmIGNhY2hlLCBjb25zdCBHbG9iYWxGcmFtZUlEJiBmcmFtZUlE
LCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIHN0ZDo6dW5pcXVlX3B0
cjxOZXR3b3JrQ2FjaGU6OkVudHJ5PiYmIGVudHJ5LCBOYXZpZ2F0aW5nVG9BcHBCb3VuZERvbWFp
biBpc05hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFJl
c3VsdCk+JiYgaGFuZGxlcikKK0FzeW5jUmV2YWxpZGF0aW9uOjpBc3luY1JldmFsaWRhdGlvbihD
YWNoZSYgY2FjaGUsIGNvbnN0IEdsb2JhbEZyYW1lSUQmIGZyYW1lSUQsIGNvbnN0IFdlYkNvcmU6
OlJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgc3RkOjp1bmlxdWVfcHRyPE5ldHdvcmtDYWNoZTo6
RW50cnk+JiYgZW50cnksIE9wdGlvbmFsPE5hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluPiBpc05h
dmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFJlc3VsdCk+
JiYgaGFuZGxlcikKICAgICA6IG1fdGltZXIoKnRoaXMsICZBc3luY1JldmFsaWRhdGlvbjo6c3Rh
bGVXaGlsZVJldmFsaWRhdGVFbmRpbmcpCiAgICAgLCBtX2NvbXBsZXRpb25IYW5kbGVyKFdURk1v
dmUoaGFuZGxlcikpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L2NhY2hlL0FzeW5jUmV2YWxpZGF0aW9uLmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L2NhY2hlL0FzeW5jUmV2YWxpZGF0aW9uLmgKaW5kZXggZGM3OGI2NjhhN2I4NjYwNTc2MWY2OGY4
ODIyYzc4YTY3OTNkYTM0ZC4uZTg5NzcxMGI2NWU0NWU4Yzg2YjU5YWQyZGI5NzllYmNmYjgwMDZm
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9Bc3luY1Jl
dmFsaWRhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvQXN5
bmNSZXZhbGlkYXRpb24uaApAQCAtNTEsNyArNTEsNyBAQCBwdWJsaWM6CiAgICAgICAgIFRpbWVv
dXQsCiAgICAgICAgIFN1Y2Nlc3MsCiAgICAgfTsKLSAgICBBc3luY1JldmFsaWRhdGlvbihDYWNo
ZSYsIGNvbnN0IEdsb2JhbEZyYW1lSUQmLCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3Qm
LCBzdGQ6OnVuaXF1ZV9wdHI8TmV0d29ya0NhY2hlOjpFbnRyeT4mJiwgTmF2aWdhdGluZ1RvQXBw
Qm91bmREb21haW4sIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoUmVzdWx0KT4mJik7CisgICAgQXN5
bmNSZXZhbGlkYXRpb24oQ2FjaGUmLCBjb25zdCBHbG9iYWxGcmFtZUlEJiwgY29uc3QgV2ViQ29y
ZTo6UmVzb3VyY2VSZXF1ZXN0Jiwgc3RkOjp1bmlxdWVfcHRyPE5ldHdvcmtDYWNoZTo6RW50cnk+
JiYsIE9wdGlvbmFsPE5hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluPiwgQ29tcGxldGlvbkhhbmRs
ZXI8dm9pZChSZXN1bHQpPiYmKTsKICAgICB2b2lkIGNhbmNlbCgpOwogCiAgICAgY29uc3QgU3Bl
Y3VsYXRpdmVMb2FkJiBsb2FkKCkgY29uc3QgeyByZXR1cm4gKm1fbG9hZDsgfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGUuY3BwIGIv
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGUuY3BwCmluZGV4
IDZhZTc4YTJjNzVlOTUwNWM3MDllMWY3NjVhMzA5NTc4Yjk1NWQzZTUuLjQ2MzhhY2U2MDE2YmJi
MjM2Yzc2NmMxODI2YzBjNTc5NTEzZmQ0YTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0
d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZS5jcHAKQEAgLTM0MCw3ICszNDAsNyBAQCBz
dGF0aWMgYm9vbCBpbmxpbmUgY2FuUmVxdWVzdFVzZVNwZWN1bGF0aXZlUmV2YWxpZGF0aW9uKGNv
bnN0IFdlYkNvcmU6OlJlc291cmNlUgogI2VuZGlmCiAKICNpZiBFTkFCTEUoTkVUV09SS19DQUNI
RV9TVEFMRV9XSElMRV9SRVZBTElEQVRFKQotdm9pZCBDYWNoZTo6c3RhcnRBc3luY1JldmFsaWRh
dGlvbklmTmVlZGVkKGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgY29u
c3QgTmV0d29ya0NhY2hlOjpLZXkmIGtleSwgc3RkOjp1bmlxdWVfcHRyPEVudHJ5PiYmIGVudHJ5
LCBjb25zdCBHbG9iYWxGcmFtZUlEJiBmcmFtZUlELCBOYXZpZ2F0aW5nVG9BcHBCb3VuZERvbWFp
biBpc05hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluKQordm9pZCBDYWNoZTo6c3RhcnRBc3luY1Jl
dmFsaWRhdGlvbklmTmVlZGVkKGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYgcmVxdWVz
dCwgY29uc3QgTmV0d29ya0NhY2hlOjpLZXkmIGtleSwgc3RkOjp1bmlxdWVfcHRyPEVudHJ5PiYm
IGVudHJ5LCBjb25zdCBHbG9iYWxGcmFtZUlEJiBmcmFtZUlELCBPcHRpb25hbDxOYXZpZ2F0aW5n
VG9BcHBCb3VuZERvbWFpbj4gaXNOYXZpZ2F0aW5nVG9BcHBCb3VuZERvbWFpbikKIHsKICAgICBt
X3BlbmRpbmdBc3luY1JldmFsaWRhdGlvbnMuZW5zdXJlKGtleSwgWyZdIHsKICAgICAgICAgYXV0
byBhZGRSZXN1bHQgPSBtX3BlbmRpbmdBc3luY1JldmFsaWRhdGlvbkJ5UGFnZS5lbnN1cmUoZnJh
bWVJRCwgW10gewpAQCAtMzY2LDcgKzM2Niw3IEBAIHZvaWQgQ2FjaGU6OmJyb3dzaW5nQ29udGV4
dFJlbW92ZWQoV2ViUGFnZVByb3h5SWRlbnRpZmllciB3ZWJQYWdlUHJveHlJRCwgV2ViQ29yCiAj
ZW5kaWYKIH0KIAotdm9pZCBDYWNoZTo6cmV0cmlldmUoY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VS
ZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBHbG9iYWxGcmFtZUlEJiBmcmFtZUlELCBOYXZpZ2F0aW5n
VG9BcHBCb3VuZERvbWFpbiBpc05hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluLCBSZXRyaWV2ZUNv
bXBsZXRpb25IYW5kbGVyJiYgY29tcGxldGlvbkhhbmRsZXIpCit2b2lkIENhY2hlOjpyZXRyaWV2
ZShjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0IEdsb2JhbEZy
YW1lSUQmIGZyYW1lSUQsIE9wdGlvbmFsPE5hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluPiBpc05h
dmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluLCBSZXRyaWV2ZUNvbXBsZXRpb25IYW5kbGVyJiYgY29t
cGxldGlvbkhhbmRsZXIpCiB7CiAgICAgQVNTRVJUKHJlcXVlc3QudXJsKCkucHJvdG9jb2xJc0lu
SFRUUEZhbWlseSgpKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vz
cy9jYWNoZS9OZXR3b3JrQ2FjaGUuaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2Fj
aGUvTmV0d29ya0NhY2hlLmgKaW5kZXggYTBiODI3OWVmOTgyMzY3ZGVkMjcwNTY1NGYwMzE2YWIy
MzQ4MTVhZS4uYjgyMzdiYTk0NmQ2ZjMzOTJjY2UzZDY2YmRjMjFhNGViYWI5ZjUyYyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGUuaAor
KysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZS5oCkBA
IC0xNzEsNyArMTcxLDcgQEAgcHVibGljOgogICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RDsKICAgICB9OwogICAgIHVzaW5nIFJldHJpZXZlQ29tcGxldGlvbkhhbmRsZXIgPSBGdW5jdGlv
bjx2b2lkKHN0ZDo6dW5pcXVlX3B0cjxFbnRyeT4sIGNvbnN0IFJldHJpZXZlSW5mbyYpPjsKLSAg
ICB2b2lkIHJldHJpZXZlKGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYsIGNvbnN0IEds
b2JhbEZyYW1lSUQmLCBOYXZpZ2F0aW5nVG9BcHBCb3VuZERvbWFpbiwgUmV0cmlldmVDb21wbGV0
aW9uSGFuZGxlciYmKTsKKyAgICB2b2lkIHJldHJpZXZlKGNvbnN0IFdlYkNvcmU6OlJlc291cmNl
UmVxdWVzdCYsIGNvbnN0IEdsb2JhbEZyYW1lSUQmLCBPcHRpb25hbDxOYXZpZ2F0aW5nVG9BcHBC
b3VuZERvbWFpbj4sIFJldHJpZXZlQ29tcGxldGlvbkhhbmRsZXImJik7CiAgICAgc3RkOjp1bmlx
dWVfcHRyPEVudHJ5PiBzdG9yZShjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmLCBjb25z
dCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlJiwgUmVmUHRyPFdlYkNvcmU6OlNoYXJlZEJ1ZmZl
cj4mJiwgRnVuY3Rpb248dm9pZChNYXBwZWRCb2R5Jik+JiYgPSBudWxscHRyKTsKICAgICBzdGQ6
OnVuaXF1ZV9wdHI8RW50cnk+IHN0b3JlUmVkaXJlY3QoY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VS
ZXF1ZXN0JiwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYsIGNvbnN0IFdlYkNvcmU6
OlJlc291cmNlUmVxdWVzdCYgcmVkaXJlY3RSZXF1ZXN0LCBPcHRpb25hbDxTZWNvbmRzPiBtYXhB
Z2VDYXApOwogICAgIHN0ZDo6dW5pcXVlX3B0cjxFbnRyeT4gdXBkYXRlKGNvbnN0IFdlYkNvcmU6
OlJlc291cmNlUmVxdWVzdCYsIGNvbnN0IEVudHJ5JiwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VS
ZXNwb25zZSYgdmFsaWRhdGluZ1Jlc3BvbnNlKTsKQEAgLTIwMyw3ICsyMDMsNyBAQCBwdWJsaWM6
CiAjZW5kaWYKIAogI2lmIEVOQUJMRShORVRXT1JLX0NBQ0hFX1NUQUxFX1dISUxFX1JFVkFMSURB
VEUpCi0gICAgdm9pZCBzdGFydEFzeW5jUmV2YWxpZGF0aW9uSWZOZWVkZWQoY29uc3QgV2ViQ29y
ZTo6UmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgTmV0d29ya0NhY2hlOjpLZXkmLCBzdGQ6OnVuaXF1
ZV9wdHI8RW50cnk+JiYsIGNvbnN0IEdsb2JhbEZyYW1lSUQmLCBOYXZpZ2F0aW5nVG9BcHBCb3Vu
ZERvbWFpbik7CisgICAgdm9pZCBzdGFydEFzeW5jUmV2YWxpZGF0aW9uSWZOZWVkZWQoY29uc3Qg
V2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgTmV0d29ya0NhY2hlOjpLZXkmLCBzdGQ6
OnVuaXF1ZV9wdHI8RW50cnk+JiYsIGNvbnN0IEdsb2JhbEZyYW1lSUQmLCBPcHRpb25hbDxOYXZp
Z2F0aW5nVG9BcHBCb3VuZERvbWFpbj4pOwogI2VuZGlmCiAKICAgICB2b2lkIGJyb3dzaW5nQ29u
dGV4dFJlbW92ZWQoV2ViUGFnZVByb3h5SWRlbnRpZmllciwgV2ViQ29yZTo6UGFnZUlkZW50aWZp
ZXIsIFdlYkNvcmU6OkZyYW1lSWRlbnRpZmllcik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVNwZWN1bGF0aXZlTG9hZC5jcHAgYi9T
b3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVNwZWN1bGF0aXZl
TG9hZC5jcHAKaW5kZXggMjlkNzMxYTA1YmQ3NzQxMmY4NWFhZDM1ZmJmMWI3MDAyMmEyMjdiYS4u
NzhjMzUxNzYwYzA1Y2Q3MjU1MmRiYjAwMzQxNGZkMGIwODU3NjUzMCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZUxv
YWQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0Nh
Y2hlU3BlY3VsYXRpdmVMb2FkLmNwcApAQCAtNDIsNyArNDIsNyBAQCBuYW1lc3BhY2UgTmV0d29y
a0NhY2hlIHsKIAogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKLVNwZWN1bGF0aXZlTG9hZDo6
U3BlY3VsYXRpdmVMb2FkKENhY2hlJiBjYWNoZSwgY29uc3QgR2xvYmFsRnJhbWVJRCYgZ2xvYmFs
RnJhbWVJRCwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBzdGQ6OnVuaXF1ZV9wdHI8
TmV0d29ya0NhY2hlOjpFbnRyeT4gY2FjaGVFbnRyeUZvclZhbGlkYXRpb24sIE5hdmlnYXRpbmdU
b0FwcEJvdW5kRG9tYWluIGlzTmF2aWdhdGluZ1RvQXBwQm91bmREb21haW4sIFJldmFsaWRhdGlv
bkNvbXBsZXRpb25IYW5kbGVyJiYgY29tcGxldGlvbkhhbmRsZXIpCitTcGVjdWxhdGl2ZUxvYWQ6
OlNwZWN1bGF0aXZlTG9hZChDYWNoZSYgY2FjaGUsIGNvbnN0IEdsb2JhbEZyYW1lSUQmIGdsb2Jh
bEZyYW1lSUQsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgc3RkOjp1bmlxdWVfcHRy
PE5ldHdvcmtDYWNoZTo6RW50cnk+IGNhY2hlRW50cnlGb3JWYWxpZGF0aW9uLCBPcHRpb25hbDxO
YXZpZ2F0aW5nVG9BcHBCb3VuZERvbWFpbj4gaXNOYXZpZ2F0aW5nVG9BcHBCb3VuZERvbWFpbiwg
UmV2YWxpZGF0aW9uQ29tcGxldGlvbkhhbmRsZXImJiBjb21wbGV0aW9uSGFuZGxlcikKICAgICA6
IG1fY2FjaGUoY2FjaGUpCiAgICAgLCBtX2NvbXBsZXRpb25IYW5kbGVyKFdURk1vdmUoY29tcGxl
dGlvbkhhbmRsZXIpKQogICAgICwgbV9vcmlnaW5hbFJlcXVlc3QocmVxdWVzdCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3BlY3Vs
YXRpdmVMb2FkLmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtD
YWNoZVNwZWN1bGF0aXZlTG9hZC5oCmluZGV4IGExMmYyZWZjNGRkMjg3NDYxZjk0M2VjYWVmMzNm
ZGU2MDM1MjU1MTAuLmRiNWRkZGI4ZTZmZTRkNTFkMmVmOTAwODVhNGIyNGIxMzZiOTRjOWEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hl
U3BlY3VsYXRpdmVMb2FkLmgKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNo
ZS9OZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZUxvYWQuaApAQCAtNDYsNyArNDYsNyBAQCBjbGFzcyBT
cGVjdWxhdGl2ZUxvYWQgZmluYWwgOiBwdWJsaWMgTmV0d29ya0xvYWRDbGllbnQgewogICAgIFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHVzaW5nIFJldmFsaWRhdGlvbkNv
bXBsZXRpb25IYW5kbGVyID0gQ29tcGxldGlvbkhhbmRsZXI8dm9pZChzdGQ6OnVuaXF1ZV9wdHI8
TmV0d29ya0NhY2hlOjpFbnRyeT4pPjsKLSAgICBTcGVjdWxhdGl2ZUxvYWQoQ2FjaGUmLCBjb25z
dCBHbG9iYWxGcmFtZUlEJiwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0Jiwgc3RkOjp1
bmlxdWVfcHRyPE5ldHdvcmtDYWNoZTo6RW50cnk+LCBOYXZpZ2F0aW5nVG9BcHBCb3VuZERvbWFp
biwgUmV2YWxpZGF0aW9uQ29tcGxldGlvbkhhbmRsZXImJik7CisgICAgU3BlY3VsYXRpdmVMb2Fk
KENhY2hlJiwgY29uc3QgR2xvYmFsRnJhbWVJRCYsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVx
dWVzdCYsIHN0ZDo6dW5pcXVlX3B0cjxOZXR3b3JrQ2FjaGU6OkVudHJ5PiwgT3B0aW9uYWw8TmF2
aWdhdGluZ1RvQXBwQm91bmREb21haW4+LCBSZXZhbGlkYXRpb25Db21wbGV0aW9uSGFuZGxlciYm
KTsKIAogICAgIHZpcnR1YWwgflNwZWN1bGF0aXZlTG9hZCgpOwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVNwZWN1bGF0aXZlTG9h
ZE1hbmFnZXIuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3Jr
Q2FjaGVTcGVjdWxhdGl2ZUxvYWRNYW5hZ2VyLmNwcAppbmRleCAyMDk4MzkzNGU2OTlmOTVkNDky
MzA5Mzc4ZjY0MTJlYWEzYjE5N2JjLi5mNzc1MDhlODY3YzU3YWJkMzE4MjYwNzkxZmI1MzNhMDcx
MDk2YTk1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL05l
dHdvcmtDYWNoZVNwZWN1bGF0aXZlTG9hZE1hbmFnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
TmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVMb2FkTWFuYWdlci5j
cHAKQEAgLTM0NSw3ICszNDUsNyBAQCBib29sIFNwZWN1bGF0aXZlTG9hZE1hbmFnZXI6OnNob3Vs
ZFJlZ2lzdGVyTG9hZChjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmCiAgICAgcmV0dXJu
IHRydWU7CiB9CiAKLXZvaWQgU3BlY3VsYXRpdmVMb2FkTWFuYWdlcjo6cmVnaXN0ZXJMb2FkKGNv
bnN0IEdsb2JhbEZyYW1lSUQmIGZyYW1lSUQsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVz
dCwgY29uc3QgS2V5JiByZXNvdXJjZUtleSwgTmF2aWdhdGluZ1RvQXBwQm91bmREb21haW4gaXNO
YXZpZ2F0aW5nVG9BcHBCb3VuZERvbWFpbikKK3ZvaWQgU3BlY3VsYXRpdmVMb2FkTWFuYWdlcjo6
cmVnaXN0ZXJMb2FkKGNvbnN0IEdsb2JhbEZyYW1lSUQmIGZyYW1lSUQsIGNvbnN0IFJlc291cmNl
UmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgS2V5JiByZXNvdXJjZUtleSwgT3B0aW9uYWw8TmF2aWdh
dGluZ1RvQXBwQm91bmREb21haW4+IGlzTmF2aWdhdGluZ1RvQXBwQm91bmREb21haW4pCiB7CiAg
ICAgQVNTRVJUKFJ1bkxvb3A6OmlzTWFpbigpKTsKICAgICBBU1NFUlQocmVxdWVzdC51cmwoKS5w
cm90b2NvbElzSW5IVFRQRmFtaWx5KCkpOwpAQCAtNDQ5LDcgKzQ0OSw3IEBAIGJvb2wgU3BlY3Vs
YXRpdmVMb2FkTWFuYWdlcjo6c2F0aXNmeVBlbmRpbmdSZXF1ZXN0cyhjb25zdCBLZXkmIGtleSwg
RW50cnkqIGVudHJ5CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLXZvaWQgU3BlY3VsYXRpdmVMb2Fk
TWFuYWdlcjo6cHJlY29ubmVjdEZvclN1YnJlc291cmNlKGNvbnN0IFN1YnJlc291cmNlSW5mbyYg
c3VicmVzb3VyY2VJbmZvLCBFbnRyeSogZW50cnksIGNvbnN0IEdsb2JhbEZyYW1lSUQmIGZyYW1l
SUQsIE5hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluIGlzTmF2aWdhdGluZ1RvQXBwQm91bmREb21h
aW4pCit2b2lkIFNwZWN1bGF0aXZlTG9hZE1hbmFnZXI6OnByZWNvbm5lY3RGb3JTdWJyZXNvdXJj
ZShjb25zdCBTdWJyZXNvdXJjZUluZm8mIHN1YnJlc291cmNlSW5mbywgRW50cnkqIGVudHJ5LCBj
b25zdCBHbG9iYWxGcmFtZUlEJiBmcmFtZUlELCBPcHRpb25hbDxOYXZpZ2F0aW5nVG9BcHBCb3Vu
ZERvbWFpbj4gaXNOYXZpZ2F0aW5nVG9BcHBCb3VuZERvbWFpbikKIHsKICNpZiBFTkFCTEUoU0VS
VkVSX1BSRUNPTk5FQ1QpCiAgICAgTmV0d29ya0xvYWRQYXJhbWV0ZXJzIHBhcmFtZXRlcnM7CkBA
IC00NzAsNyArNDcwLDcgQEAgdm9pZCBTcGVjdWxhdGl2ZUxvYWRNYW5hZ2VyOjpwcmVjb25uZWN0
Rm9yU3VicmVzb3VyY2UoY29uc3QgU3VicmVzb3VyY2VJbmZvJiBzdWIKICNlbmRpZgogfQogCi12
b2lkIFNwZWN1bGF0aXZlTG9hZE1hbmFnZXI6OnJldmFsaWRhdGVTdWJyZXNvdXJjZShjb25zdCBT
dWJyZXNvdXJjZUluZm8mIHN1YnJlc291cmNlSW5mbywgc3RkOjp1bmlxdWVfcHRyPEVudHJ5PiBl
bnRyeSwgY29uc3QgR2xvYmFsRnJhbWVJRCYgZnJhbWVJRCwgTmF2aWdhdGluZ1RvQXBwQm91bmRE
b21haW4gaXNOYXZpZ2F0aW5nVG9BcHBCb3VuZERvbWFpbikKK3ZvaWQgU3BlY3VsYXRpdmVMb2Fk
TWFuYWdlcjo6cmV2YWxpZGF0ZVN1YnJlc291cmNlKGNvbnN0IFN1YnJlc291cmNlSW5mbyYgc3Vi
cmVzb3VyY2VJbmZvLCBzdGQ6OnVuaXF1ZV9wdHI8RW50cnk+IGVudHJ5LCBjb25zdCBHbG9iYWxG
cmFtZUlEJiBmcmFtZUlELCBPcHRpb25hbDxOYXZpZ2F0aW5nVG9BcHBCb3VuZERvbWFpbj4gaXNO
YXZpZ2F0aW5nVG9BcHBCb3VuZERvbWFpbikKIHsKICAgICBBU1NFUlQoIWVudHJ5IHx8IGVudHJ5
LT5uZWVkc1ZhbGlkYXRpb24oKSk7CiAKQEAgLTU1NSw3ICs1NTUsNyBAQCBzdGF0aWMgYm9vbCBj
YW5SZXZhbGlkYXRlKGNvbnN0IFN1YnJlc291cmNlSW5mbyYgc3VicmVzb3VyY2VJbmZvLCBjb25z
dCBFbnRyeSogZQogICAgIHJldHVybiBmYWxzZTsKIH0KIAotdm9pZCBTcGVjdWxhdGl2ZUxvYWRN
YW5hZ2VyOjpwcmVsb2FkRW50cnkoY29uc3QgS2V5JiBrZXksIGNvbnN0IFN1YnJlc291cmNlSW5m
byYgc3VicmVzb3VyY2VJbmZvLCBjb25zdCBHbG9iYWxGcmFtZUlEJiBmcmFtZUlELCBOYXZpZ2F0
aW5nVG9BcHBCb3VuZERvbWFpbiBpc05hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluKQordm9pZCBT
cGVjdWxhdGl2ZUxvYWRNYW5hZ2VyOjpwcmVsb2FkRW50cnkoY29uc3QgS2V5JiBrZXksIGNvbnN0
IFN1YnJlc291cmNlSW5mbyYgc3VicmVzb3VyY2VJbmZvLCBjb25zdCBHbG9iYWxGcmFtZUlEJiBm
cmFtZUlELCBPcHRpb25hbDxOYXZpZ2F0aW5nVG9BcHBCb3VuZERvbWFpbj4gaXNOYXZpZ2F0aW5n
VG9BcHBCb3VuZERvbWFpbikKIHsKICAgICBpZiAobV9wZW5kaW5nUHJlbG9hZHMuY29udGFpbnMo
a2V5KSkKICAgICAgICAgcmV0dXJuOwpAQCAtNTgyLDcgKzU4Miw3IEBAIHZvaWQgU3BlY3VsYXRp
dmVMb2FkTWFuYWdlcjo6cHJlbG9hZEVudHJ5KGNvbnN0IEtleSYga2V5LCBjb25zdCBTdWJyZXNv
dXJjZUluZm8mCiAgICAgfSk7CiB9CiAKLXZvaWQgU3BlY3VsYXRpdmVMb2FkTWFuYWdlcjo6c3Rh
cnRTcGVjdWxhdGl2ZVJldmFsaWRhdGlvbihjb25zdCBHbG9iYWxGcmFtZUlEJiBmcmFtZUlELCBT
dWJyZXNvdXJjZXNFbnRyeSYgZW50cnksIE5hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluIGlzTmF2
aWdhdGluZ1RvQXBwQm91bmREb21haW4pCit2b2lkIFNwZWN1bGF0aXZlTG9hZE1hbmFnZXI6OnN0
YXJ0U3BlY3VsYXRpdmVSZXZhbGlkYXRpb24oY29uc3QgR2xvYmFsRnJhbWVJRCYgZnJhbWVJRCwg
U3VicmVzb3VyY2VzRW50cnkmIGVudHJ5LCBPcHRpb25hbDxOYXZpZ2F0aW5nVG9BcHBCb3VuZERv
bWFpbj4gaXNOYXZpZ2F0aW5nVG9BcHBCb3VuZERvbWFpbikKIHsKICAgICBmb3IgKGF1dG8mIHN1
YnJlc291cmNlSW5mbyA6IGVudHJ5LnN1YnJlc291cmNlcygpKSB7CiAgICAgICAgIGF1dG8mIGtl
eSA9IHN1YnJlc291cmNlSW5mby5rZXkoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0
d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVMb2FkTWFuYWdlci5oIGIv
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTcGVjdWxhdGl2
ZUxvYWRNYW5hZ2VyLmgKaW5kZXggOTc4MDQ2OWZlMTVhNGNiYmVhMWIzZTAzMGVhZTFkOGJlMzAx
MTNhNy4uMzZjYjBlMmY5YzBlODc2ZDI4NDI2ZjdmZDBjZDVhYmJiOGRhZjc5ZiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTcGVjdWxh
dGl2ZUxvYWRNYW5hZ2VyLmgKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNo
ZS9OZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZUxvYWRNYW5hZ2VyLmgKQEAgLTQ5LDcgKzQ5LDcgQEAg
cHVibGljOgogICAgIGV4cGxpY2l0IFNwZWN1bGF0aXZlTG9hZE1hbmFnZXIoQ2FjaGUmLCBTdG9y
YWdlJik7CiAgICAgflNwZWN1bGF0aXZlTG9hZE1hbmFnZXIoKTsKIAotICAgIHZvaWQgcmVnaXN0
ZXJMb2FkKGNvbnN0IEdsb2JhbEZyYW1lSUQmLCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVl
c3QmLCBjb25zdCBLZXkmIHJlc291cmNlS2V5LCBOYXZpZ2F0aW5nVG9BcHBCb3VuZERvbWFpbik7
CisgICAgdm9pZCByZWdpc3RlckxvYWQoY29uc3QgR2xvYmFsRnJhbWVJRCYsIGNvbnN0IFdlYkNv
cmU6OlJlc291cmNlUmVxdWVzdCYsIGNvbnN0IEtleSYgcmVzb3VyY2VLZXksIE9wdGlvbmFsPE5h
dmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluPik7CiAgICAgdm9pZCByZWdpc3Rlck1haW5SZXNvdXJj
ZUxvYWRSZXNwb25zZShjb25zdCBHbG9iYWxGcmFtZUlEJiwgY29uc3QgV2ViQ29yZTo6UmVzb3Vy
Y2VSZXF1ZXN0JiwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYpOwogCiAgICAgdHlw
ZWRlZiBGdW5jdGlvbjx2b2lkIChzdGQ6OnVuaXF1ZV9wdHI8RW50cnk+KT4gUmV0cmlldmVDb21w
bGV0aW9uSGFuZGxlcjsKQEAgLTYyLDEzICs2MiwxMyBAQCBwcml2YXRlOgogCiAgICAgc3RhdGlj
IGJvb2wgc2hvdWxkUmVnaXN0ZXJMb2FkKGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYp
OwogICAgIHZvaWQgYWRkUHJlbG9hZGVkRW50cnkoc3RkOjp1bmlxdWVfcHRyPEVudHJ5PiwgY29u
c3QgR2xvYmFsRnJhbWVJRCYsIE9wdGlvbmFsPFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdD4mJiBy
ZXZhbGlkYXRpb25SZXF1ZXN0ID0gV1RGOjpudWxsb3B0KTsKLSAgICB2b2lkIHByZWxvYWRFbnRy
eShjb25zdCBLZXkmLCBjb25zdCBTdWJyZXNvdXJjZUluZm8mLCBjb25zdCBHbG9iYWxGcmFtZUlE
JiwgTmF2aWdhdGluZ1RvQXBwQm91bmREb21haW4pOworICAgIHZvaWQgcHJlbG9hZEVudHJ5KGNv
bnN0IEtleSYsIGNvbnN0IFN1YnJlc291cmNlSW5mbyYsIGNvbnN0IEdsb2JhbEZyYW1lSUQmLCBP
cHRpb25hbDxOYXZpZ2F0aW5nVG9BcHBCb3VuZERvbWFpbj4pOwogICAgIHZvaWQgcmV0cmlldmVF
bnRyeUZyb21TdG9yYWdlKGNvbnN0IFN1YnJlc291cmNlSW5mbyYsIFJldHJpZXZlQ29tcGxldGlv
bkhhbmRsZXImJik7Ci0gICAgdm9pZCByZXZhbGlkYXRlU3VicmVzb3VyY2UoY29uc3QgU3VicmVz
b3VyY2VJbmZvJiwgc3RkOjp1bmlxdWVfcHRyPEVudHJ5PiwgY29uc3QgR2xvYmFsRnJhbWVJRCYs
IE5hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluKTsKLSAgICB2b2lkIHByZWNvbm5lY3RGb3JTdWJy
ZXNvdXJjZShjb25zdCBTdWJyZXNvdXJjZUluZm8mLCBFbnRyeSosIGNvbnN0IEdsb2JhbEZyYW1l
SUQmLCBOYXZpZ2F0aW5nVG9BcHBCb3VuZERvbWFpbik7CisgICAgdm9pZCByZXZhbGlkYXRlU3Vi
cmVzb3VyY2UoY29uc3QgU3VicmVzb3VyY2VJbmZvJiwgc3RkOjp1bmlxdWVfcHRyPEVudHJ5Piwg
Y29uc3QgR2xvYmFsRnJhbWVJRCYsIE9wdGlvbmFsPE5hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWlu
Pik7CisgICAgdm9pZCBwcmVjb25uZWN0Rm9yU3VicmVzb3VyY2UoY29uc3QgU3VicmVzb3VyY2VJ
bmZvJiwgRW50cnkqLCBjb25zdCBHbG9iYWxGcmFtZUlEJiwgT3B0aW9uYWw8TmF2aWdhdGluZ1Rv
QXBwQm91bmREb21haW4+KTsKICAgICBib29sIHNhdGlzZnlQZW5kaW5nUmVxdWVzdHMoY29uc3Qg
S2V5JiwgRW50cnkqKTsKICAgICB2b2lkIHJldHJpZXZlU3VicmVzb3VyY2VzRW50cnkoY29uc3Qg
S2V5JiBzdG9yYWdlS2V5LCBXVEY6OkZ1bmN0aW9uPHZvaWQgKHN0ZDo6dW5pcXVlX3B0cjxTdWJy
ZXNvdXJjZXNFbnRyeT4pPiYmKTsKLSAgICB2b2lkIHN0YXJ0U3BlY3VsYXRpdmVSZXZhbGlkYXRp
b24oY29uc3QgR2xvYmFsRnJhbWVJRCYsIFN1YnJlc291cmNlc0VudHJ5JiwgTmF2aWdhdGluZ1Rv
QXBwQm91bmREb21haW4pOworICAgIHZvaWQgc3RhcnRTcGVjdWxhdGl2ZVJldmFsaWRhdGlvbihj
b25zdCBHbG9iYWxGcmFtZUlEJiwgU3VicmVzb3VyY2VzRW50cnkmLCBPcHRpb25hbDxOYXZpZ2F0
aW5nVG9BcHBCb3VuZERvbWFpbj4pOwogCiAgICAgc3RhdGljIGJvb2wgY2FuVXNlUHJlbG9hZGVk
RW50cnkoY29uc3QgUHJlbG9hZGVkRW50cnkmLCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVl
c3QmIGFjdHVhbFJlcXVlc3QpOwogICAgIHN0YXRpYyBib29sIGNhblVzZVBlbmRpbmdQcmVsb2Fk
KGNvbnN0IFNwZWN1bGF0aXZlTG9hZCYsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYg
YWN0dWFsUmVxdWVzdCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L2NvY29hL05ldHdvcmtEYXRhVGFza0NvY29hLmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9j
ZXNzL2NvY29hL05ldHdvcmtEYXRhVGFza0NvY29hLmgKaW5kZXggMDg3MGU1MTBkYzZhMjc5Zjg3
MTRjOWQ1MDlhNjMxNTNkNWFhYzBkZC4uN2M5NTk1NjIxYjNiODgxM2NlMzkzM2I4ZWVmZTI2YmU5
MmJkNDNmMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9O
ZXR3b3JrRGF0YVRhc2tDb2NvYS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
Y29jb2EvTmV0d29ya0RhdGFUYXNrQ29jb2EuaApAQCAtNDIsNyArNDIsNyBAQCBzdHJ1Y3QgU2Vz
c2lvbldyYXBwZXI7CiAKIGNsYXNzIE5ldHdvcmtEYXRhVGFza0NvY29hIGZpbmFsIDogcHVibGlj
IE5ldHdvcmtEYXRhVGFzayB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFJlZjxOZXR3b3JrRGF0YVRh
c2s+IGNyZWF0ZShOZXR3b3JrU2Vzc2lvbiYgc2Vzc2lvbiwgTmV0d29ya0RhdGFUYXNrQ2xpZW50
JiBjbGllbnQsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgV2ViQ29y
ZTo6RnJhbWVJZGVudGlmaWVyIGZyYW1lSUQsIFdlYkNvcmU6OlBhZ2VJZGVudGlmaWVyIHBhZ2VJ
RCwgV2ViQ29yZTo6U3RvcmVkQ3JlZGVudGlhbHNQb2xpY3kgc3RvcmVkQ3JlZGVudGlhbHNQb2xp
Y3ksIFdlYkNvcmU6OkNvbnRlbnRTbmlmZmluZ1BvbGljeSBzaG91bGRDb250ZW50U25pZmYsIFdl
YkNvcmU6OkNvbnRlbnRFbmNvZGluZ1NuaWZmaW5nUG9saWN5IHNob3VsZENvbnRlbnRFbmNvZGlu
Z1NuaWZmLCBib29sIHNob3VsZENsZWFyUmVmZXJyZXJPbkhUVFBTVG9IVFRQUmVkaXJlY3QsIFBy
ZWNvbm5lY3RPbmx5IHNob3VsZFByZWNvbm5lY3RPbmx5LCBib29sIGRhdGFUYXNrSXNGb3JNYWlu
RnJhbWVOYXZpZ2F0aW9uLCBib29sIGRhdGFUYXNrSXNGb3JNYWluUmVzb3VyY2VOYXZpZ2F0aW9u
Rm9yQW55RnJhbWUsIE9wdGlvbmFsPE5ldHdvcmtBY3Rpdml0eVRyYWNrZXI+IG5ldHdvcmtBY3Rp
dml0eVRyYWNrZXIsIE5hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluIGlzTmF2aWdhdGluZ1RvQXBw
Qm91bmREb21haW4pCisgICAgc3RhdGljIFJlZjxOZXR3b3JrRGF0YVRhc2s+IGNyZWF0ZShOZXR3
b3JrU2Vzc2lvbiYgc2Vzc2lvbiwgTmV0d29ya0RhdGFUYXNrQ2xpZW50JiBjbGllbnQsIGNvbnN0
IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgV2ViQ29yZTo6RnJhbWVJZGVudGlm
aWVyIGZyYW1lSUQsIFdlYkNvcmU6OlBhZ2VJZGVudGlmaWVyIHBhZ2VJRCwgV2ViQ29yZTo6U3Rv
cmVkQ3JlZGVudGlhbHNQb2xpY3kgc3RvcmVkQ3JlZGVudGlhbHNQb2xpY3ksIFdlYkNvcmU6OkNv
bnRlbnRTbmlmZmluZ1BvbGljeSBzaG91bGRDb250ZW50U25pZmYsIFdlYkNvcmU6OkNvbnRlbnRF
bmNvZGluZ1NuaWZmaW5nUG9saWN5IHNob3VsZENvbnRlbnRFbmNvZGluZ1NuaWZmLCBib29sIHNo
b3VsZENsZWFyUmVmZXJyZXJPbkhUVFBTVG9IVFRQUmVkaXJlY3QsIFByZWNvbm5lY3RPbmx5IHNo
b3VsZFByZWNvbm5lY3RPbmx5LCBib29sIGRhdGFUYXNrSXNGb3JNYWluRnJhbWVOYXZpZ2F0aW9u
LCBib29sIGRhdGFUYXNrSXNGb3JNYWluUmVzb3VyY2VOYXZpZ2F0aW9uRm9yQW55RnJhbWUsIE9w
dGlvbmFsPE5ldHdvcmtBY3Rpdml0eVRyYWNrZXI+IG5ldHdvcmtBY3Rpdml0eVRyYWNrZXIsIE9w
dGlvbmFsPE5hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluPiBpc05hdmlnYXRpbmdUb0FwcEJvdW5k
RG9tYWluKQogICAgIHsKICAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgTmV0d29ya0RhdGFU
YXNrQ29jb2Eoc2Vzc2lvbiwgY2xpZW50LCByZXF1ZXN0LCBmcmFtZUlELCBwYWdlSUQsIHN0b3Jl
ZENyZWRlbnRpYWxzUG9saWN5LCBzaG91bGRDb250ZW50U25pZmYsIHNob3VsZENvbnRlbnRFbmNv
ZGluZ1NuaWZmLCBzaG91bGRDbGVhclJlZmVycmVyT25IVFRQU1RvSFRUUFJlZGlyZWN0LCBzaG91
bGRQcmVjb25uZWN0T25seSwgZGF0YVRhc2tJc0Zvck1haW5GcmFtZU5hdmlnYXRpb24sIGRhdGFU
YXNrSXNGb3JNYWluUmVzb3VyY2VOYXZpZ2F0aW9uRm9yQW55RnJhbWUsIG5ldHdvcmtBY3Rpdml0
eVRyYWNrZXIsIGlzTmF2aWdhdGluZ1RvQXBwQm91bmREb21haW4pKTsKICAgICB9CkBAIC03Niw3
ICs3Niw3IEBAIHB1YmxpYzoKICAgICBTdHJpbmcgZGVzY3JpcHRpb24oKSBjb25zdCBvdmVycmlk
ZTsKIAogcHJpdmF0ZToKLSAgICBOZXR3b3JrRGF0YVRhc2tDb2NvYShOZXR3b3JrU2Vzc2lvbiYs
IE5ldHdvcmtEYXRhVGFza0NsaWVudCYsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYs
IFdlYkNvcmU6OkZyYW1lSWRlbnRpZmllciwgV2ViQ29yZTo6UGFnZUlkZW50aWZpZXIsIFdlYkNv
cmU6OlN0b3JlZENyZWRlbnRpYWxzUG9saWN5LCBXZWJDb3JlOjpDb250ZW50U25pZmZpbmdQb2xp
Y3ksIFdlYkNvcmU6OkNvbnRlbnRFbmNvZGluZ1NuaWZmaW5nUG9saWN5LCBib29sIHNob3VsZENs
ZWFyUmVmZXJyZXJPbkhUVFBTVG9IVFRQUmVkaXJlY3QsIFByZWNvbm5lY3RPbmx5LCBib29sIGRh
dGFUYXNrSXNGb3JNYWluRnJhbWVOYXZpZ2F0aW9uLCBib29sIGRhdGFUYXNrSXNGb3JNYWluUmVz
b3VyY2VOYXZpZ2F0aW9uRm9yQW55RnJhbWUsIE9wdGlvbmFsPE5ldHdvcmtBY3Rpdml0eVRyYWNr
ZXI+LCBOYXZpZ2F0aW5nVG9BcHBCb3VuZERvbWFpbiBpc05hdmlnYXRpbmdUb0FwcEJvdW5kRG9t
YWluKTsKKyAgICBOZXR3b3JrRGF0YVRhc2tDb2NvYShOZXR3b3JrU2Vzc2lvbiYsIE5ldHdvcmtE
YXRhVGFza0NsaWVudCYsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYsIFdlYkNvcmU6
OkZyYW1lSWRlbnRpZmllciwgV2ViQ29yZTo6UGFnZUlkZW50aWZpZXIsIFdlYkNvcmU6OlN0b3Jl
ZENyZWRlbnRpYWxzUG9saWN5LCBXZWJDb3JlOjpDb250ZW50U25pZmZpbmdQb2xpY3ksIFdlYkNv
cmU6OkNvbnRlbnRFbmNvZGluZ1NuaWZmaW5nUG9saWN5LCBib29sIHNob3VsZENsZWFyUmVmZXJy
ZXJPbkhUVFBTVG9IVFRQUmVkaXJlY3QsIFByZWNvbm5lY3RPbmx5LCBib29sIGRhdGFUYXNrSXNG
b3JNYWluRnJhbWVOYXZpZ2F0aW9uLCBib29sIGRhdGFUYXNrSXNGb3JNYWluUmVzb3VyY2VOYXZp
Z2F0aW9uRm9yQW55RnJhbWUsIE9wdGlvbmFsPE5ldHdvcmtBY3Rpdml0eVRyYWNrZXI+LCBPcHRp
b25hbDxOYXZpZ2F0aW5nVG9BcHBCb3VuZERvbWFpbj4gaXNOYXZpZ2F0aW5nVG9BcHBCb3VuZERv
bWFpbik7CiAKICAgICBib29sIHRyeVBhc3N3b3JkQmFzZWRBdXRoZW50aWNhdGlvbihjb25zdCBX
ZWJDb3JlOjpBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSYsIENoYWxsZW5nZUNvbXBsZXRpb25IYW5k
bGVyJik7CiAgICAgdm9pZCBhcHBseVNuaWZmaW5nUG9saWNpZXNBbmRCaW5kUmVxdWVzdFRvSW5m
ZXJmYWNlSWZOZWVkZWQoX19zdHJvbmcgTlNVUkxSZXF1ZXN0KiYsIGJvb2wgc2hvdWxkQ29udGVu
dFNuaWZmLCBib29sIHNob3VsZENvbnRlbnRFbmNvZGluZ1NuaWZmKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya0RhdGFUYXNrQ29jb2EubW0g
Yi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtEYXRhVGFza0NvY29h
Lm1tCmluZGV4IDA3MzU0MWEzMmNhODE2ZmM5NjliNTMzNGNjYjVmZjU3M2M4MDg3ZWIuLjQxYmVj
ODUxY2Q1ODhjZGZhNmI2OWY4MWNkZDc3MDJjYWNjZjY0NWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya0RhdGFUYXNrQ29jb2EubW0KKysrIGIv
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrRGF0YVRhc2tDb2NvYS5t
bQpAQCAtMjA5LDcgKzIwOSw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBjb21wdXRlSXNBbHdheXNP
bkxvZ2dpbmdBbGxvd2VkKE5ldHdvcmtTZXNzaW9uJiBzZXNzaW9uKQogICAgIHJldHVybiBzZXNz
aW9uLnNlc3Npb25JRCgpLmlzQWx3YXlzT25Mb2dnaW5nQWxsb3dlZCgpOwogfQogCi1OZXR3b3Jr
RGF0YVRhc2tDb2NvYTo6TmV0d29ya0RhdGFUYXNrQ29jb2EoTmV0d29ya1Nlc3Npb24mIHNlc3Np
b24sIE5ldHdvcmtEYXRhVGFza0NsaWVudCYgY2xpZW50LCBjb25zdCBXZWJDb3JlOjpSZXNvdXJj
ZVJlcXVlc3QmIHJlcXVlc3RXaXRoQ3JlZGVudGlhbHMsIFdlYkNvcmU6OkZyYW1lSWRlbnRpZmll
ciBmcmFtZUlELCBXZWJDb3JlOjpQYWdlSWRlbnRpZmllciBwYWdlSUQsIFdlYkNvcmU6OlN0b3Jl
ZENyZWRlbnRpYWxzUG9saWN5IHN0b3JlZENyZWRlbnRpYWxzUG9saWN5LCBXZWJDb3JlOjpDb250
ZW50U25pZmZpbmdQb2xpY3kgc2hvdWxkQ29udGVudFNuaWZmLCBXZWJDb3JlOjpDb250ZW50RW5j
b2RpbmdTbmlmZmluZ1BvbGljeSBzaG91bGRDb250ZW50RW5jb2RpbmdTbmlmZiwgYm9vbCBzaG91
bGRDbGVhclJlZmVycmVyT25IVFRQU1RvSFRUUFJlZGlyZWN0LCBQcmVjb25uZWN0T25seSBzaG91
bGRQcmVjb25uZWN0T25seSwgYm9vbCBkYXRhVGFza0lzRm9yTWFpbkZyYW1lTmF2aWdhdGlvbiwg
Ym9vbCBkYXRhVGFza0lzRm9yTWFpblJlc291cmNlTmF2aWdhdGlvbkZvckFueUZyYW1lLCBPcHRp
b25hbDxOZXR3b3JrQWN0aXZpdHlUcmFja2VyPiBuZXR3b3JrQWN0aXZpdHlUcmFja2VyLCBOYXZp
Z2F0aW5nVG9BcHBCb3VuZERvbWFpbiBpc05hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluKQorTmV0
d29ya0RhdGFUYXNrQ29jb2E6Ok5ldHdvcmtEYXRhVGFza0NvY29hKE5ldHdvcmtTZXNzaW9uJiBz
ZXNzaW9uLCBOZXR3b3JrRGF0YVRhc2tDbGllbnQmIGNsaWVudCwgY29uc3QgV2ViQ29yZTo6UmVz
b3VyY2VSZXF1ZXN0JiByZXF1ZXN0V2l0aENyZWRlbnRpYWxzLCBXZWJDb3JlOjpGcmFtZUlkZW50
aWZpZXIgZnJhbWVJRCwgV2ViQ29yZTo6UGFnZUlkZW50aWZpZXIgcGFnZUlELCBXZWJDb3JlOjpT
dG9yZWRDcmVkZW50aWFsc1BvbGljeSBzdG9yZWRDcmVkZW50aWFsc1BvbGljeSwgV2ViQ29yZTo6
Q29udGVudFNuaWZmaW5nUG9saWN5IHNob3VsZENvbnRlbnRTbmlmZiwgV2ViQ29yZTo6Q29udGVu
dEVuY29kaW5nU25pZmZpbmdQb2xpY3kgc2hvdWxkQ29udGVudEVuY29kaW5nU25pZmYsIGJvb2wg
c2hvdWxkQ2xlYXJSZWZlcnJlck9uSFRUUFNUb0hUVFBSZWRpcmVjdCwgUHJlY29ubmVjdE9ubHkg
c2hvdWxkUHJlY29ubmVjdE9ubHksIGJvb2wgZGF0YVRhc2tJc0Zvck1haW5GcmFtZU5hdmlnYXRp
b24sIGJvb2wgZGF0YVRhc2tJc0Zvck1haW5SZXNvdXJjZU5hdmlnYXRpb25Gb3JBbnlGcmFtZSwg
T3B0aW9uYWw8TmV0d29ya0FjdGl2aXR5VHJhY2tlcj4gbmV0d29ya0FjdGl2aXR5VHJhY2tlciwg
T3B0aW9uYWw8TmF2aWdhdGluZ1RvQXBwQm91bmREb21haW4+IGlzTmF2aWdhdGluZ1RvQXBwQm91
bmREb21haW4pCiAgICAgOiBOZXR3b3JrRGF0YVRhc2soc2Vzc2lvbiwgY2xpZW50LCByZXF1ZXN0
V2l0aENyZWRlbnRpYWxzLCBzdG9yZWRDcmVkZW50aWFsc1BvbGljeSwgc2hvdWxkQ2xlYXJSZWZl
cnJlck9uSFRUUFNUb0hUVFBSZWRpcmVjdCwgZGF0YVRhc2tJc0Zvck1haW5GcmFtZU5hdmlnYXRp
b24pCiAgICAgLCBtX3Nlc3Npb25XcmFwcGVyKG1ha2VXZWFrUHRyKHN0YXRpY19jYXN0PE5ldHdv
cmtTZXNzaW9uQ29jb2EmPihzZXNzaW9uKS5zZXNzaW9uV3JhcHBlckZvclRhc2socmVxdWVzdFdp
dGhDcmVkZW50aWFscywgc3RvcmVkQ3JlZGVudGlhbHNQb2xpY3ksIGlzTmF2aWdhdGluZ1RvQXBw
Qm91bmREb21haW4pKSkKICAgICAsIG1fZnJhbWVJRChmcmFtZUlEKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrU2Vzc2lvbkNvY29hLmggYi9T
b3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtTZXNzaW9uQ29jb2EuaApp
bmRleCA2MGIzNTgxN2QwOGE5NzM3NzBjYTllYjVhMzljZWUzNGI5YjQ4ZGRlLi4yNWIxMDY1OGVk
MTdiZmZiZjYzMDE3MmI5NmY3ZGI0MmM2ZmE2YTAxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtTZXNzaW9uQ29jb2EuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtTZXNzaW9uQ29jb2EuaApAQCAtOTUs
NyArOTUsNyBAQCBwdWJsaWM6CiAKICAgICBib29sIGhhc0FwcEJvdW5kU2Vzc2lvbigpIGNvbnN0
IG92ZXJyaWRlIHsgcmV0dXJuICEhbV9hcHBCb3VuZFNlc3Npb247IH0KIAotICAgIFNlc3Npb25X
cmFwcGVyJiBzZXNzaW9uV3JhcHBlckZvclRhc2soY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1
ZXN0JiwgV2ViQ29yZTo6U3RvcmVkQ3JlZGVudGlhbHNQb2xpY3ksIE5hdmlnYXRpbmdUb0FwcEJv
dW5kRG9tYWluKTsKKyAgICBTZXNzaW9uV3JhcHBlciYgc2Vzc2lvbldyYXBwZXJGb3JUYXNrKGNv
bnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYsIFdlYkNvcmU6OlN0b3JlZENyZWRlbnRpYWxz
UG9saWN5LCBPcHRpb25hbDxOYXZpZ2F0aW5nVG9BcHBCb3VuZERvbWFpbj4pOwogICAgIHZvaWQg
c2V0SW5BcHBCcm93c2VyUHJpdmFjeUVuYWJsZWQoYm9vbCBlbmFibGVkKSBvdmVycmlkZSB7IG1f
aXNJbkFwcEJyb3dzZXJQcml2YWN5RW5hYmxlZCA9IGVuYWJsZWQ7IH0KICAgICBib29sIGlzSW5B
cHBCcm93c2VyUHJpdmFjeUVuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2lzSW5BcHBCcm93c2Vy
UHJpdmFjeUVuYWJsZWQ7IH0KICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29y
a1Byb2Nlc3MvY29jb2EvTmV0d29ya1Nlc3Npb25Db2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvTmV0
d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya1Nlc3Npb25Db2NvYS5tbQppbmRleCA2MjZmZWI1MjI4
YzFkZjgyMTIwYzQ5YzY4YWZjMWUwNDQyN2QyMjZhLi44NTI3NmEyNjFlNTkzMWUxOWI2Y2FhOTIy
YTM4N2E4MDExYjFlMTE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L2NvY29hL05ldHdvcmtTZXNzaW9uQ29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3Jr
UHJvY2Vzcy9jb2NvYS9OZXR3b3JrU2Vzc2lvbkNvY29hLm1tCkBAIC0xMTk4LDE4ICsxMTk4LDE5
IEBAIHZvaWQgTmV0d29ya1Nlc3Npb25Db2NvYTo6aW5pdGlhbGl6ZUVwaGVtZXJhbFN0YXRlbGVz
c1Nlc3Npb24oTmF2aWdhdGluZ1RvQXBwQm91CiAgICAgbV9lcGhlbWVyYWxTdGF0ZWxlc3NTZXNz
aW9uLmluaXRpYWxpemUoY29uZmlndXJhdGlvbiwgKnRoaXMsIFdlYkNvcmU6OlN0b3JlZENyZWRl
bnRpYWxzUG9saWN5OjpFcGhlbWVyYWxTdGF0ZWxlc3MsIGlzTmF2aWdhdGluZ1RvQXBwQm91bmRE
b21haW4pOwogfQogCi1TZXNzaW9uV3JhcHBlciYgTmV0d29ya1Nlc3Npb25Db2NvYTo6c2Vzc2lv
bldyYXBwZXJGb3JUYXNrKGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwg
V2ViQ29yZTo6U3RvcmVkQ3JlZGVudGlhbHNQb2xpY3kgc3RvcmVkQ3JlZGVudGlhbHNQb2xpY3ks
IE5hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluIGlzTmF2aWdhdGluZ1RvQXBwQm91bmREb21haW4p
CitTZXNzaW9uV3JhcHBlciYgTmV0d29ya1Nlc3Npb25Db2NvYTo6c2Vzc2lvbldyYXBwZXJGb3JU
YXNrKGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgV2ViQ29yZTo6U3Rv
cmVkQ3JlZGVudGlhbHNQb2xpY3kgc3RvcmVkQ3JlZGVudGlhbHNQb2xpY3ksIE9wdGlvbmFsPE5h
dmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluPiBpc05hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluKQog
eworICAgIGF1dG8gc2hvdWxkQmVDb25zaWRlcmVkQXBwQm91bmQgPSAhaXNOYXZpZ2F0aW5nVG9B
cHBCb3VuZERvbWFpbiA/IE5hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluOjpZZXMgOiAqaXNOYXZp
Z2F0aW5nVG9BcHBCb3VuZERvbWFpbjsKICNpZiBFTkFCTEUoUkVTT1VSQ0VfTE9BRF9TVEFUSVNU
SUNTKQogICAgIGlmIChhdXRvKiBzdG9yYWdlU2Vzc2lvbiA9IG5ldHdvcmtTdG9yYWdlU2Vzc2lv
bigpKSB7CiAgICAgICAgIGF1dG8gZmlyc3RQYXJ0eSA9IFdlYkNvcmU6OlJlZ2lzdHJhYmxlRG9t
YWluKHJlcXVlc3QuZmlyc3RQYXJ0eUZvckNvb2tpZXMoKSk7CiAgICAgICAgIGlmIChzdG9yYWdl
U2Vzc2lvbi0+c2hvdWxkQmxvY2tUaGlyZFBhcnR5Q29va2llc0J1dEtlZXBGaXJzdFBhcnR5Q29v
a2llc0ZvcihmaXJzdFBhcnR5KSkKLSAgICAgICAgICAgIHJldHVybiBpc29sYXRlZFNlc3Npb24o
c3RvcmVkQ3JlZGVudGlhbHNQb2xpY3ksIGZpcnN0UGFydHksIGlzTmF2aWdhdGluZ1RvQXBwQm91
bmREb21haW4pOworICAgICAgICAgICAgcmV0dXJuIGlzb2xhdGVkU2Vzc2lvbihzdG9yZWRDcmVk
ZW50aWFsc1BvbGljeSwgZmlyc3RQYXJ0eSwgc2hvdWxkQmVDb25zaWRlcmVkQXBwQm91bmQpOwog
ICAgIH0gZWxzZQogICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICNlbmRpZgogCi0gICAg
aWYgKGlzTmF2aWdhdGluZ1RvQXBwQm91bmREb21haW4gPT0gTmF2aWdhdGluZ1RvQXBwQm91bmRE
b21haW46OlllcykKKyAgICBpZiAoc2hvdWxkQmVDb25zaWRlcmVkQXBwQm91bmQgPT0gTmF2aWdh
dGluZ1RvQXBwQm91bmREb21haW46OlllcykKICAgICAgICAgcmV0dXJuIGFwcEJvdW5kU2Vzc2lv
bihzdG9yZWRDcmVkZW50aWFsc1BvbGljeSk7CiAKICAgICBzd2l0Y2ggKHN0b3JlZENyZWRlbnRp
YWxzUG9saWN5KSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Mb2FkUGFyYW1l
dGVycy5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQvTG9hZFBhcmFtZXRlcnMuaAppbmRleCBhZjRk
NDFlMmFlNjAwYmI4MDQ2NjIzNTU2NzU3NDlhNDhhMmQ1MGIxLi5lMGRkMDMwZDM0N2Q4NmVmZWYw
NTBhMjgwNWQ0NjU4MzgyNTk4NDhmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9M
b2FkUGFyYW1ldGVycy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0xvYWRQYXJhbWV0ZXJz
LmgKQEAgLTcwLDcgKzcwLDcgQEAgc3RydWN0IExvYWRQYXJhbWV0ZXJzIHsKICAgICBXZWJDb3Jl
OjpMb2NrSGlzdG9yeSBsb2NrSGlzdG9yeSB7IFdlYkNvcmU6OkxvY2tIaXN0b3J5OjpObyB9Owog
ICAgIFdlYkNvcmU6OkxvY2tCYWNrRm9yd2FyZExpc3QgbG9ja0JhY2tGb3J3YXJkTGlzdCB7IFdl
YkNvcmU6OkxvY2tCYWNrRm9yd2FyZExpc3Q6Ok5vIH07CiAgICAgU3RyaW5nIGNsaWVudFJlZGly
ZWN0U291cmNlRm9ySGlzdG9yeTsKLSAgICBOYXZpZ2F0aW5nVG9BcHBCb3VuZERvbWFpbiBpc05h
dmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluIHsgTmF2aWdhdGluZ1RvQXBwQm91bmREb21haW46Ok5v
IH07CisgICAgT3B0aW9uYWw8TmF2aWdhdGluZ1RvQXBwQm91bmREb21haW4+IGlzTmF2aWdhdGlu
Z1RvQXBwQm91bmREb21haW4geyBOYXZpZ2F0aW5nVG9BcHBCb3VuZERvbWFpbjo6Tm8gfTsKICAg
ICBOYXZpZ2F0ZWRBd2F5RnJvbUFwcEJvdW5kRG9tYWluIGhhc05hdmlnYXRlZEF3YXlGcm9tQXBw
Qm91bmREb21haW4geyBOYXZpZ2F0ZWRBd2F5RnJvbUFwcEJvdW5kRG9tYWluOjpObyB9OwogCiAj
aWYgUExBVEZPUk0oQ09DT0EpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Qb2xp
Y3lEZWNpc2lvbi5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQvUG9saWN5RGVjaXNpb24uaAppbmRl
eCA5MjViNzU3YjRjNGEwNWM1YTA4ZjliNDZhZjMxMDcwMDdiYmMzMDRkLi45ZDAzYWM2ZDYxZmE2
ZWJlM2EwOGMxNGMxNmE0ZWI1YzA4M2Y2ZDlkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1No
YXJlZC9Qb2xpY3lEZWNpc2lvbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1BvbGljeURl
Y2lzaW9uLmgKQEAgLTM2LDcgKzM2LDcgQEAgZW51bSBjbGFzcyBOYXZpZ2F0ZWRBd2F5RnJvbUFw
cEJvdW5kRG9tYWluIDogYm9vbCB7IFllcywgTm99OwogCiBzdHJ1Y3QgUG9saWN5RGVjaXNpb24g
ewogICAgIFdlYkNvcmU6OlBvbGljeUNoZWNrSWRlbnRpZmllciBpZGVudGlmaWVyIHsgfTsKLSAg
ICBOYXZpZ2F0aW5nVG9BcHBCb3VuZERvbWFpbiBpc05hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWlu
IHsgTmF2aWdhdGluZ1RvQXBwQm91bmREb21haW46Ok5vIH07CisgICAgT3B0aW9uYWw8TmF2aWdh
dGluZ1RvQXBwQm91bmREb21haW4+IGlzTmF2aWdhdGluZ1RvQXBwQm91bmREb21haW4geyBOYXZp
Z2F0aW5nVG9BcHBCb3VuZERvbWFpbjo6Tm8gfTsKICAgICBOYXZpZ2F0ZWRBd2F5RnJvbUFwcEJv
dW5kRG9tYWluIGhhc05hdmlnYXRlZEF3YXlGcm9tQXBwQm91bmREb21haW4geyBOYXZpZ2F0ZWRB
d2F5RnJvbUFwcEJvdW5kRG9tYWluOjpObyB9OwogICAgIFdlYkNvcmU6OlBvbGljeUFjdGlvbiBw
b2xpY3lBY3Rpb24geyBXZWJDb3JlOjpQb2xpY3lBY3Rpb246Oklnbm9yZSB9OwogICAgIHVpbnQ2
NF90IG5hdmlnYXRpb25JRCB7IDAgfTsKQEAgLTYzLDcgKzYzLDcgQEAgc3RydWN0IFBvbGljeURl
Y2lzaW9uIHsKICAgICAgICAgaWYgKCFkZWNvZGVkSWRlbnRpZmllcikKICAgICAgICAgICAgIHJl
dHVybiBXVEY6Om51bGxvcHQ7CiAgICAgICAgIAotICAgICAgICBPcHRpb25hbDxOYXZpZ2F0aW5n
VG9BcHBCb3VuZERvbWFpbj4gZGVjb2RlZElzTmF2aWdhdGluZ1RvQXBwQm91bmREb21haW47Cisg
ICAgICAgIE9wdGlvbmFsPE9wdGlvbmFsPE5hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluPj4gZGVj
b2RlZElzTmF2aWdhdGluZ1RvQXBwQm91bmREb21haW47CiAgICAgICAgIGRlY29kZXIgPj4gZGVj
b2RlZElzTmF2aWdhdGluZ1RvQXBwQm91bmREb21haW47CiAgICAgICAgIGlmICghZGVjb2RlZElz
TmF2aWdhdGluZ1RvQXBwQm91bmREb21haW4pCiAgICAgICAgICAgICByZXR1cm4gV1RGOjpudWxs
b3B0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTmV0d29yay9OZXR3b3Jr
UHJvY2Vzc1Byb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL05ldHdvcmsvTmV0d29y
a1Byb2Nlc3NQcm94eS5jcHAKaW5kZXggMTE1N2ZlN2NmMGVjYTY5ZTY5NGE1ODc0NjRmMjUzZjU0
MjFmMzFiMy4uZDczNzNhMGNkNjQxYzY2NjRlOTFhMzZjYjhkYWEzYWRjZDM3MzhlOCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNz
UHJveHkuY3BwCkBAIC0xNDA5LDcgKzE0MDksNyBAQCB2b2lkIE5ldHdvcmtQcm9jZXNzUHJveHk6
OmdldExvY2FsU3RvcmFnZURldGFpbHMoUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBDb21wbAog
ICAgIHNlbmRXaXRoQXN5bmNSZXBseShNZXNzYWdlczo6TmV0d29ya1Byb2Nlc3M6OkdldExvY2Fs
U3RvcmFnZU9yaWdpbkRldGFpbHMoc2Vzc2lvbklEKSwgV1RGTW92ZShjb21wbGV0aW9uSGFuZGxl
cikpOwogfQogCi12b2lkIE5ldHdvcmtQcm9jZXNzUHJveHk6OnByZWNvbm5lY3RUbyhQQUw6OlNl
c3Npb25JRCBzZXNzaW9uSUQsIGNvbnN0IFVSTCYgdXJsLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2Vu
dCwgV2ViQ29yZTo6U3RvcmVkQ3JlZGVudGlhbHNQb2xpY3kgc3RvcmVkQ3JlZGVudGlhbHNQb2xp
Y3ksIE5hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluIGlzTmF2aWdhdGluZ1RvQXBwQm91bmREb21h
aW4pCit2b2lkIE5ldHdvcmtQcm9jZXNzUHJveHk6OnByZWNvbm5lY3RUbyhQQUw6OlNlc3Npb25J
RCBzZXNzaW9uSUQsIGNvbnN0IFVSTCYgdXJsLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgV2Vi
Q29yZTo6U3RvcmVkQ3JlZGVudGlhbHNQb2xpY3kgc3RvcmVkQ3JlZGVudGlhbHNQb2xpY3ksIE9w
dGlvbmFsPE5hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluPiBpc05hdmlnYXRpbmdUb0FwcEJvdW5k
RG9tYWluKQogewogICAgIGlmICghdXJsLmlzVmFsaWQoKSB8fCAhdXJsLnByb3RvY29sSXNJbkhU
VFBGYW1pbHkoKSB8fCBTZWN1cml0eU9yaWdpbjo6aXNMb2NhbEhvc3RPckxvb3BiYWNrSVBBZGRy
ZXNzKHVybC5ob3N0KCkpKQogICAgICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJveHkuaCBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94eS5oCmluZGV4IGUwMzNiZGE5
MDllMzVjNGRmZTUyMjVkOWE4YjczMmEyODQ5MWE4ZmIuLjY4NjEwYjc5NzhjODRhZmY5MzkxZDlj
NzE1MjdjMzk1Zjg5YzJlNzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL05l
dHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94eS5oCkBAIC0xMTAsNyArMTEwLDcgQEAgcHVibGlj
OgogCiAgICAgdm9pZCBnZXRMb2NhbFN0b3JhZ2VEZXRhaWxzKFBBTDo6U2Vzc2lvbklELCBDb21w
bGV0aW9uSGFuZGxlcjx2b2lkKFZlY3RvcjxMb2NhbFN0b3JhZ2VEYXRhYmFzZVRyYWNrZXI6Ok9y
aWdpbkRldGFpbHM+JiYpPiYmKTsKIAotICAgIHZvaWQgcHJlY29ubmVjdFRvKFBBTDo6U2Vzc2lv
bklELCBjb25zdCBVUkwmLCBjb25zdCBTdHJpbmcmLCBXZWJDb3JlOjpTdG9yZWRDcmVkZW50aWFs
c1BvbGljeSwgTmF2aWdhdGluZ1RvQXBwQm91bmREb21haW4pOworICAgIHZvaWQgcHJlY29ubmVj
dFRvKFBBTDo6U2Vzc2lvbklELCBjb25zdCBVUkwmLCBjb25zdCBTdHJpbmcmLCBXZWJDb3JlOjpT
dG9yZWRDcmVkZW50aWFsc1BvbGljeSwgT3B0aW9uYWw8TmF2aWdhdGluZ1RvQXBwQm91bmREb21h
aW4+KTsKIAogI2lmIEVOQUJMRShSRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpCiAgICAgdm9pZCBj
bGVhclByZXZhbGVudFJlc291cmNlKFBBTDo6U2Vzc2lvbklELCBjb25zdCBSZWdpc3RyYWJsZURv
bWFpbiYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJik7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9Qcm92aXNpb25hbFBhZ2VQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9Qcm92aXNpb25hbFBhZ2VQcm94eS5jcHAKaW5kZXggYzg2Y2U4MTFjMTE4ODEx
NjE3MTc4MDk1ZDYyMDkwMTJiMGQyOGQ2Ni4uMWVhMjBmMTY5NzdmNmY2ZTMwYTAwOTUyYjQ4YzY3
YzEwYTk1MmU1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUHJvdmlzaW9u
YWxQYWdlUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1Byb3Zpc2lvbmFs
UGFnZVByb3h5LmNwcApAQCAtMTU2LDE0ICsxNTYsMTQgQEAgdm9pZCBQcm92aXNpb25hbFBhZ2VQ
cm94eTo6aW5pdGlhbGl6ZVdlYlBhZ2UoUmVmUHRyPEFQSTo6V2Vic2l0ZVBvbGljaWVzPiYmIHdl
YnMKICAgICAgICAgc2VuZChNZXNzYWdlczo6V2ViUGFnZTo6RnJlZXplTGF5ZXJUcmVlRHVlVG9T
d2lwZUFuaW1hdGlvbigpKTsKIH0KIAotdm9pZCBQcm92aXNpb25hbFBhZ2VQcm94eTo6bG9hZERh
dGEoQVBJOjpOYXZpZ2F0aW9uJiBuYXZpZ2F0aW9uLCBjb25zdCBJUEM6OkRhdGFSZWZlcmVuY2Um
IGRhdGEsIGNvbnN0IFN0cmluZyYgTUlNRVR5cGUsIGNvbnN0IFN0cmluZyYgZW5jb2RpbmcsIGNv
bnN0IFN0cmluZyYgYmFzZVVSTCwgQVBJOjpPYmplY3QqIHVzZXJEYXRhLCBOYXZpZ2F0aW5nVG9B
cHBCb3VuZERvbWFpbiBpc05hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluLCBOYXZpZ2F0ZWRBd2F5
RnJvbUFwcEJvdW5kRG9tYWluIGhhc05hdmlnYXRlZEF3YXlGcm9tQXBwQm91bmREb21haW4sIE9w
dGlvbmFsPFdlYnNpdGVQb2xpY2llc0RhdGE+JiYgd2Vic2l0ZVBvbGljaWVzKQordm9pZCBQcm92
aXNpb25hbFBhZ2VQcm94eTo6bG9hZERhdGEoQVBJOjpOYXZpZ2F0aW9uJiBuYXZpZ2F0aW9uLCBj
b25zdCBJUEM6OkRhdGFSZWZlcmVuY2UmIGRhdGEsIGNvbnN0IFN0cmluZyYgTUlNRVR5cGUsIGNv
bnN0IFN0cmluZyYgZW5jb2RpbmcsIGNvbnN0IFN0cmluZyYgYmFzZVVSTCwgQVBJOjpPYmplY3Qq
IHVzZXJEYXRhLCBPcHRpb25hbDxOYXZpZ2F0aW5nVG9BcHBCb3VuZERvbWFpbj4gaXNOYXZpZ2F0
aW5nVG9BcHBCb3VuZERvbWFpbiwgTmF2aWdhdGVkQXdheUZyb21BcHBCb3VuZERvbWFpbiBoYXNO
YXZpZ2F0ZWRBd2F5RnJvbUFwcEJvdW5kRG9tYWluLCBPcHRpb25hbDxXZWJzaXRlUG9saWNpZXNE
YXRhPiYmIHdlYnNpdGVQb2xpY2llcykKIHsKICAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKFBy
b2Nlc3NTd2FwcGluZywgImxvYWREYXRhOiBwYWdlUHJveHlJRD0lIiBQUkl1NjQgIiB3ZWJQYWdl
SUQ9JSIgUFJJdTY0LCBtX3BhZ2UuaWRlbnRpZmllcigpLnRvVUludDY0KCksIG1fd2ViUGFnZUlE
LnRvVUludDY0KCkpOwogCiAgICAgbV9wYWdlLmxvYWREYXRhV2l0aE5hdmlnYXRpb25TaGFyZWQo
bV9wcm9jZXNzLmNvcHlSZWYoKSwgbV93ZWJQYWdlSUQsIG5hdmlnYXRpb24sIGRhdGEsIE1JTUVU
eXBlLCBlbmNvZGluZywgYmFzZVVSTCwgdXNlckRhdGEsIFdlYkNvcmU6OlNob3VsZFRyZWF0QXND
b250aW51aW5nTG9hZDo6WWVzLCBpc05hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluLCBoYXNOYXZp
Z2F0ZWRBd2F5RnJvbUFwcEJvdW5kRG9tYWluLCBXVEZNb3ZlKHdlYnNpdGVQb2xpY2llcyksIG5h
dmlnYXRpb24ubGFzdE5hdmlnYXRpb25BY3Rpb24oKS5zaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9s
aWN5KTsKIH0KIAotdm9pZCBQcm92aXNpb25hbFBhZ2VQcm94eTo6bG9hZFJlcXVlc3QoQVBJOjpO
YXZpZ2F0aW9uJiBuYXZpZ2F0aW9uLCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmJiByZXF1ZXN0
LCBBUEk6Ok9iamVjdCogdXNlckRhdGEsIE5hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluIGlzTmF2
aWdhdGluZ1RvQXBwQm91bmREb21haW4sIE5hdmlnYXRlZEF3YXlGcm9tQXBwQm91bmREb21haW4g
aGFzTmF2aWdhdGVkQXdheUZyb21BcHBCb3VuZERvbWFpbiwgT3B0aW9uYWw8V2Vic2l0ZVBvbGlj
aWVzRGF0YT4mJiB3ZWJzaXRlUG9saWNpZXMpCit2b2lkIFByb3Zpc2lvbmFsUGFnZVByb3h5Ojps
b2FkUmVxdWVzdChBUEk6Ok5hdmlnYXRpb24mIG5hdmlnYXRpb24sIFdlYkNvcmU6OlJlc291cmNl
UmVxdWVzdCYmIHJlcXVlc3QsIEFQSTo6T2JqZWN0KiB1c2VyRGF0YSwgT3B0aW9uYWw8TmF2aWdh
dGluZ1RvQXBwQm91bmREb21haW4+IGlzTmF2aWdhdGluZ1RvQXBwQm91bmREb21haW4sIE5hdmln
YXRlZEF3YXlGcm9tQXBwQm91bmREb21haW4gaGFzTmF2aWdhdGVkQXdheUZyb21BcHBCb3VuZERv
bWFpbiwgT3B0aW9uYWw8V2Vic2l0ZVBvbGljaWVzRGF0YT4mJiB3ZWJzaXRlUG9saWNpZXMpCiB7
CiAgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRChQcm9jZXNzU3dhcHBpbmcsICJsb2FkUmVxdWVz
dDogcGFnZVByb3h5SUQ9JSIgUFJJdTY0ICIgd2ViUGFnZUlEPSUiIFBSSXU2NCwgbV9wYWdlLmlk
ZW50aWZpZXIoKS50b1VJbnQ2NCgpLCBtX3dlYlBhZ2VJRC50b1VJbnQ2NCgpKTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUHJvdmlzaW9uYWxQYWdlUHJveHkuaCBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1Byb3Zpc2lvbmFsUGFnZVByb3h5LmgKaW5kZXggZTQ1OWNm
NTk5YjBmNDRjMDYxZWFhZmE3ZDA5OTQ3MmJmMTQ0NDIwMy4uN2UxNmU2OWIzOWZiNDlhZDkzZjZh
YjhkMTljOGUzODdmYWI2ZmVlNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
UHJvdmlzaW9uYWxQYWdlUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Qcm92
aXNpb25hbFBhZ2VQcm94eS5oCkBAIC05Miw4ICs5Miw4IEBAIHB1YmxpYzoKICAgICBMYXllckhv
c3RpbmdDb250ZXh0SUQgY29udGV4dElERm9yVmlzaWJpbGl0eVByb3BhZ2F0aW9uKCkgY29uc3Qg
eyByZXR1cm4gbV9jb250ZXh0SURGb3JWaXNpYmlsaXR5UHJvcGFnYXRpb247IH0KICNlbmRpZgog
Ci0gICAgdm9pZCBsb2FkRGF0YShBUEk6Ok5hdmlnYXRpb24mLCBjb25zdCBJUEM6OkRhdGFSZWZl
cmVuY2UmLCBjb25zdCBTdHJpbmcmIE1JTUVUeXBlLCBjb25zdCBTdHJpbmcmIGVuY29kaW5nLCBj
b25zdCBTdHJpbmcmIGJhc2VVUkwsIEFQSTo6T2JqZWN0KiB1c2VyRGF0YSwgTmF2aWdhdGluZ1Rv
QXBwQm91bmREb21haW4sIE5hdmlnYXRlZEF3YXlGcm9tQXBwQm91bmREb21haW4sIE9wdGlvbmFs
PFdlYnNpdGVQb2xpY2llc0RhdGE+JiYgPSBXVEY6Om51bGxvcHQpOwotICAgIHZvaWQgbG9hZFJl
cXVlc3QoQVBJOjpOYXZpZ2F0aW9uJiwgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiYsIEFQSTo6
T2JqZWN0KiB1c2VyRGF0YSwgTmF2aWdhdGluZ1RvQXBwQm91bmREb21haW4sIE5hdmlnYXRlZEF3
YXlGcm9tQXBwQm91bmREb21haW4sIE9wdGlvbmFsPFdlYnNpdGVQb2xpY2llc0RhdGE+JiYgPSBX
VEY6Om51bGxvcHQpOworICAgIHZvaWQgbG9hZERhdGEoQVBJOjpOYXZpZ2F0aW9uJiwgY29uc3Qg
SVBDOjpEYXRhUmVmZXJlbmNlJiwgY29uc3QgU3RyaW5nJiBNSU1FVHlwZSwgY29uc3QgU3RyaW5n
JiBlbmNvZGluZywgY29uc3QgU3RyaW5nJiBiYXNlVVJMLCBBUEk6Ok9iamVjdCogdXNlckRhdGEs
IE9wdGlvbmFsPE5hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluPiwgTmF2aWdhdGVkQXdheUZyb21B
cHBCb3VuZERvbWFpbiwgT3B0aW9uYWw8V2Vic2l0ZVBvbGljaWVzRGF0YT4mJiA9IFdURjo6bnVs
bG9wdCk7CisgICAgdm9pZCBsb2FkUmVxdWVzdChBUEk6Ok5hdmlnYXRpb24mLCBXZWJDb3JlOjpS
ZXNvdXJjZVJlcXVlc3QmJiwgQVBJOjpPYmplY3QqIHVzZXJEYXRhLCBPcHRpb25hbDxOYXZpZ2F0
aW5nVG9BcHBCb3VuZERvbWFpbj4sIE5hdmlnYXRlZEF3YXlGcm9tQXBwQm91bmREb21haW4sIE9w
dGlvbmFsPFdlYnNpdGVQb2xpY2llc0RhdGE+JiYgPSBXVEY6Om51bGxvcHQpOwogICAgIHZvaWQg
Z29Ub0JhY2tGb3J3YXJkSXRlbShBUEk6Ok5hdmlnYXRpb24mLCBXZWJCYWNrRm9yd2FyZExpc3RJ
dGVtJiwgUmVmUHRyPEFQSTo6V2Vic2l0ZVBvbGljaWVzPiYmKTsKICAgICB2b2lkIGNhbmNlbCgp
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3Bw
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAppbmRleCBiMTY2M2U5
Y2JhMDI5MDljMjc5OTE5MGVjZGZlMDdjY2YwOTRmNmEyLi5hNDY0Yzk2ODA4YWY5N2VmZWI1M2Ji
NDA3YzlmMTg1ZTI5MTBhOTQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5jcHAKQEAgLTEyOTgsNyArMTI5OCw3IEBAIFJlZlB0cjxBUEk6Ok5hdmlnYXRpb24+IFdlYlBh
Z2VQcm94eTo6bG9hZFJlcXVlc3QoUmVzb3VyY2VSZXF1ZXN0JiYgcmVxdWVzdCwgU2hvCiAgICAg
cmV0dXJuIG5hdmlnYXRpb247CiB9CiAKLXZvaWQgV2ViUGFnZVByb3h5Ojpsb2FkUmVxdWVzdFdp
dGhOYXZpZ2F0aW9uU2hhcmVkKFJlZjxXZWJQcm9jZXNzUHJveHk+JiYgcHJvY2VzcywgV2ViQ29y
ZTo6UGFnZUlkZW50aWZpZXIgd2ViUGFnZUlELCBBUEk6Ok5hdmlnYXRpb24mIG5hdmlnYXRpb24s
IFJlc291cmNlUmVxdWVzdCYmIHJlcXVlc3QsIFNob3VsZE9wZW5FeHRlcm5hbFVSTHNQb2xpY3kg
c2hvdWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeSwgQVBJOjpPYmplY3QqIHVzZXJEYXRhLCBTaG91
bGRUcmVhdEFzQ29udGludWluZ0xvYWQgc2hvdWxkVHJlYXRBc0NvbnRpbnVpbmdMb2FkLCBOYXZp
Z2F0aW5nVG9BcHBCb3VuZERvbWFpbiBpc05hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluLCBOYXZp
Z2F0ZWRBd2F5RnJvbUFwcEJvdW5kRG9tYWluIGhhc05hdmlnYXRlZEF3YXlGcm9tQXBwQm91bmRE
b21haW4sIE9wdGlvbmFsPFdlYnNpdGVQb2xpY2llc0RhdGE+JiYgd2Vic2l0ZVBvbGljaWVzKQor
dm9pZCBXZWJQYWdlUHJveHk6OmxvYWRSZXF1ZXN0V2l0aE5hdmlnYXRpb25TaGFyZWQoUmVmPFdl
YlByb2Nlc3NQcm94eT4mJiBwcm9jZXNzLCBXZWJDb3JlOjpQYWdlSWRlbnRpZmllciB3ZWJQYWdl
SUQsIEFQSTo6TmF2aWdhdGlvbiYgbmF2aWdhdGlvbiwgUmVzb3VyY2VSZXF1ZXN0JiYgcmVxdWVz
dCwgU2hvdWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeSBzaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9s
aWN5LCBBUEk6Ok9iamVjdCogdXNlckRhdGEsIFNob3VsZFRyZWF0QXNDb250aW51aW5nTG9hZCBz
aG91bGRUcmVhdEFzQ29udGludWluZ0xvYWQsIE9wdGlvbmFsPE5hdmlnYXRpbmdUb0FwcEJvdW5k
RG9tYWluPiBpc05hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluLCBOYXZpZ2F0ZWRBd2F5RnJvbUFw
cEJvdW5kRG9tYWluIGhhc05hdmlnYXRlZEF3YXlGcm9tQXBwQm91bmREb21haW4sIE9wdGlvbmFs
PFdlYnNpdGVQb2xpY2llc0RhdGE+JiYgd2Vic2l0ZVBvbGljaWVzKQogewogICAgIEFTU0VSVCgh
bV9pc0Nsb3NlZCk7CiAKQEAgLTE0MjIsNyArMTQyMiw3IEBAIFJlZlB0cjxBUEk6Ok5hdmlnYXRp
b24+IFdlYlBhZ2VQcm94eTo6bG9hZERhdGEoY29uc3QgSVBDOjpEYXRhUmVmZXJlbmNlJiBkYXRh
LCBjCiAgICAgcmV0dXJuIG5hdmlnYXRpb247CiB9CiAKLXZvaWQgV2ViUGFnZVByb3h5Ojpsb2Fk
RGF0YVdpdGhOYXZpZ2F0aW9uU2hhcmVkKFJlZjxXZWJQcm9jZXNzUHJveHk+JiYgcHJvY2Vzcywg
V2ViQ29yZTo6UGFnZUlkZW50aWZpZXIgd2ViUGFnZUlELCBBUEk6Ok5hdmlnYXRpb24mIG5hdmln
YXRpb24sIGNvbnN0IElQQzo6RGF0YVJlZmVyZW5jZSYgZGF0YSwgY29uc3QgU3RyaW5nJiBNSU1F
VHlwZSwgY29uc3QgU3RyaW5nJiBlbmNvZGluZywgY29uc3QgU3RyaW5nJiBiYXNlVVJMLCBBUEk6
Ok9iamVjdCogdXNlckRhdGEsIFNob3VsZFRyZWF0QXNDb250aW51aW5nTG9hZCBzaG91bGRUcmVh
dEFzQ29udGludWluZ0xvYWQsIE5hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluIGlzTmF2aWdhdGlu
Z1RvQXBwQm91bmREb21haW4sIE5hdmlnYXRlZEF3YXlGcm9tQXBwQm91bmREb21haW4gaGFzTmF2
aWdhdGVkQXdheUZyb21BcHBCb3VuZERvbWFpbiwgT3B0aW9uYWw8V2Vic2l0ZVBvbGljaWVzRGF0
YT4mJiB3ZWJzaXRlUG9saWNpZXMsIFNob3VsZE9wZW5FeHRlcm5hbFVSTHNQb2xpY3kgc2hvdWxk
T3BlbkV4dGVybmFsVVJMc1BvbGljeSkKK3ZvaWQgV2ViUGFnZVByb3h5Ojpsb2FkRGF0YVdpdGhO
YXZpZ2F0aW9uU2hhcmVkKFJlZjxXZWJQcm9jZXNzUHJveHk+JiYgcHJvY2VzcywgV2ViQ29yZTo6
UGFnZUlkZW50aWZpZXIgd2ViUGFnZUlELCBBUEk6Ok5hdmlnYXRpb24mIG5hdmlnYXRpb24sIGNv
bnN0IElQQzo6RGF0YVJlZmVyZW5jZSYgZGF0YSwgY29uc3QgU3RyaW5nJiBNSU1FVHlwZSwgY29u
c3QgU3RyaW5nJiBlbmNvZGluZywgY29uc3QgU3RyaW5nJiBiYXNlVVJMLCBBUEk6Ok9iamVjdCog
dXNlckRhdGEsIFNob3VsZFRyZWF0QXNDb250aW51aW5nTG9hZCBzaG91bGRUcmVhdEFzQ29udGlu
dWluZ0xvYWQsIE9wdGlvbmFsPE5hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluPiBpc05hdmlnYXRp
bmdUb0FwcEJvdW5kRG9tYWluLCBOYXZpZ2F0ZWRBd2F5RnJvbUFwcEJvdW5kRG9tYWluIGhhc05h
dmlnYXRlZEF3YXlGcm9tQXBwQm91bmREb21haW4sIE9wdGlvbmFsPFdlYnNpdGVQb2xpY2llc0Rh
dGE+JiYgd2Vic2l0ZVBvbGljaWVzLCBTaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5IHNob3Vs
ZE9wZW5FeHRlcm5hbFVSTHNQb2xpY3kpCiB7CiAgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRChM
b2FkaW5nLCAibG9hZERhdGFXaXRoTmF2aWdhdGlvbiIpOwogCkBAIC0zMTI1LDcgKzMxMjUsNyBA
QCB2b2lkIFdlYlBhZ2VQcm94eTo6c2V0SXNOYXZpZ2F0aW5nVG9BcHBCb3VuZERvbWFpbihib29s
IGlzTWFpbkZyYW1lLCBjb25zdCBVUkwmCiAgICAgICAgIGlmIChXRUJfUEFHRV9QUk9YWV9BRERJ
VElPTlNfU0VUSVNOQVZJR0FUSU5HVE9BUFBCT1VORERPTUFJTikKICAgICAgICAgICAgIHJldHVy
bjsKICAgICAgICAgaWYgKCFpc05hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluKSB7Ci0gICAgICAg
ICAgICBtX2lzTmF2aWdhdGluZ1RvQXBwQm91bmREb21haW4gPSBOYXZpZ2F0aW5nVG9BcHBCb3Vu
ZERvbWFpbjo6WWVzOworICAgICAgICAgICAgbV9pc05hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWlu
ID0gV1RGOjpudWxsb3B0OwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAgICAgICAg
IGlmIChtX2lnbm9yZXNBcHBCb3VuZERvbWFpbnMpCkBAIC0zMTQ4LDcgKzMxNDgsNyBAQCB2b2lk
IFdlYlBhZ2VQcm94eTo6c2V0SXNOYXZpZ2F0aW5nVG9BcHBCb3VuZERvbWFpbihib29sIGlzTWFp
bkZyYW1lLCBjb25zdCBVUkwmCiAKIHZvaWQgV2ViUGFnZVByb3h5Ojppc05hdmlnYXRpbmdUb0Fw
cEJvdW5kRG9tYWluVGVzdGluZyhDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmIGNvbXBs
ZXRpb25IYW5kbGVyKQogewotICAgIGNvbXBsZXRpb25IYW5kbGVyKG1faXNOYXZpZ2F0aW5nVG9B
cHBCb3VuZERvbWFpbiA9PSBOYXZpZ2F0aW5nVG9BcHBCb3VuZERvbWFpbjo6WWVzKTsKKyAgICBj
b21wbGV0aW9uSGFuZGxlcihtX2lzTmF2aWdhdGluZ1RvQXBwQm91bmREb21haW4gJiYgKCptX2lz
TmF2aWdhdGluZ1RvQXBwQm91bmREb21haW4gPT0gTmF2aWdhdGluZ1RvQXBwQm91bmREb21haW46
OlllcykpOwogfQogCiB2b2lkIFdlYlBhZ2VQcm94eTo6cmVjZWl2ZWROYXZpZ2F0aW9uUG9saWN5
RGVjaXNpb24oUG9saWN5QWN0aW9uIHBvbGljeUFjdGlvbiwgQVBJOjpOYXZpZ2F0aW9uKiBuYXZp
Z2F0aW9uLCBQcm9jZXNzU3dhcFJlcXVlc3RlZEJ5Q2xpZW50IHByb2Nlc3NTd2FwUmVxdWVzdGVk
QnlDbGllbnQsIFdlYkZyYW1lUHJveHkmIGZyYW1lLCBSZWZQdHI8QVBJOjpXZWJzaXRlUG9saWNp
ZXM+JiYgcG9saWNpZXMsIFJlZjxQb2xpY3lEZWNpc2lvblNlbmRlcj4mJiBzZW5kZXIpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaCBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCmluZGV4IDk3MTM2ZDUwMWI0MGFhNTgwOTc1
OWM1N2U2Mjc1Y2RmNWY5Mjg2MzMuLjVhNTNjOWYxZmRkZTM3NTJlOTVmNmNhNTBlOGY3NTY4ZTJh
NDcxZjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCkBAIC0xNjI3LDgg
KzE2MjcsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBkZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0
aW9uQXN5bmNTaGFyZWQoUmVmPFdlYlByb2Nlc3NQcm94eT4mJiwgV2ViQ29yZTo6UGFnZUlkZW50
aWZpZXIsIFdlYkNvcmU6OkZyYW1lSWRlbnRpZmllciwgRnJhbWVJbmZvRGF0YSYmLCBXZWJDb3Jl
OjpQb2xpY3lDaGVja0lkZW50aWZpZXIsIHVpbnQ2NF90IG5hdmlnYXRpb25JRCwgTmF2aWdhdGlv
bkFjdGlvbkRhdGEmJiwgRnJhbWVJbmZvRGF0YSYmIG9yaWdpbmF0aW5nRnJhbWVJbmZvLCBPcHRp
b25hbDxXZWJQYWdlUHJveHlJZGVudGlmaWVyPiBvcmlnaW5hdGluZ1BhZ2VJRCwgY29uc3QgV2Vi
Q29yZTo6UmVzb3VyY2VSZXF1ZXN0JiBvcmlnaW5hbFJlcXVlc3QsIFdlYkNvcmU6OlJlc291cmNl
UmVxdWVzdCYmLCBJUEM6OkZvcm1EYXRhUmVmZXJlbmNlJiYgcmVxdWVzdEJvZHksIFdlYkNvcmU6
OlJlc291cmNlUmVzcG9uc2UmJiByZWRpcmVjdFJlc3BvbnNlLCBjb25zdCBVc2VyRGF0YSYsIHVp
bnQ2NF90IGxpc3RlbmVySUQpOwogICAgIHZvaWQgZGVjaWRlUG9saWN5Rm9yUmVzcG9uc2VTaGFy
ZWQoUmVmPFdlYlByb2Nlc3NQcm94eT4mJiwgV2ViQ29yZTo6UGFnZUlkZW50aWZpZXIsIFdlYkNv
cmU6OkZyYW1lSWRlbnRpZmllciwgRnJhbWVJbmZvRGF0YSYmLCBXZWJDb3JlOjpQb2xpY3lDaGVj
a0lkZW50aWZpZXIsIHVpbnQ2NF90IG5hdmlnYXRpb25JRCwgY29uc3QgV2ViQ29yZTo6UmVzb3Vy
Y2VSZXNwb25zZSYsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYsIGJvb2wgY2FuU2hv
d01JTUVUeXBlLCBjb25zdCBTdHJpbmcmIGRvd25sb2FkQXR0cmlidXRlLCB1aW50NjRfdCBsaXN0
ZW5lcklELCBjb25zdCBVc2VyRGF0YSYpOwogICAgIHZvaWQgc3RhcnRVUkxTY2hlbWVUYXNrU2hh
cmVkKFJlZjxXZWJQcm9jZXNzUHJveHk+JiYsIFdlYkNvcmU6OlBhZ2VJZGVudGlmaWVyLCBVUkxT
Y2hlbWVUYXNrUGFyYW1ldGVycyYmKTsKLSAgICB2b2lkIGxvYWREYXRhV2l0aE5hdmlnYXRpb25T
aGFyZWQoUmVmPFdlYlByb2Nlc3NQcm94eT4mJiwgV2ViQ29yZTo6UGFnZUlkZW50aWZpZXIsIEFQ
STo6TmF2aWdhdGlvbiYsIGNvbnN0IElQQzo6RGF0YVJlZmVyZW5jZSYsIGNvbnN0IFN0cmluZyYg
TUlNRVR5cGUsIGNvbnN0IFN0cmluZyYgZW5jb2RpbmcsIGNvbnN0IFN0cmluZyYgYmFzZVVSTCwg
QVBJOjpPYmplY3QqIHVzZXJEYXRhLCBXZWJDb3JlOjpTaG91bGRUcmVhdEFzQ29udGludWluZ0xv
YWQsIE5hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluLCBOYXZpZ2F0ZWRBd2F5RnJvbUFwcEJvdW5k
RG9tYWluLCBPcHRpb25hbDxXZWJzaXRlUG9saWNpZXNEYXRhPiYmID0gV1RGOjpudWxsb3B0LCBX
ZWJDb3JlOjpTaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5ID0gV2ViQ29yZTo6U2hvdWxkT3Bl
bkV4dGVybmFsVVJMc1BvbGljeTo6U2hvdWxkTm90QWxsb3cpOwotICAgIHZvaWQgbG9hZFJlcXVl
c3RXaXRoTmF2aWdhdGlvblNoYXJlZChSZWY8V2ViUHJvY2Vzc1Byb3h5PiYmLCBXZWJDb3JlOjpQ
YWdlSWRlbnRpZmllciwgQVBJOjpOYXZpZ2F0aW9uJiwgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0
JiYsIFdlYkNvcmU6OlNob3VsZE9wZW5FeHRlcm5hbFVSTHNQb2xpY3ksIEFQSTo6T2JqZWN0KiB1
c2VyRGF0YSwgV2ViQ29yZTo6U2hvdWxkVHJlYXRBc0NvbnRpbnVpbmdMb2FkLCBOYXZpZ2F0aW5n
VG9BcHBCb3VuZERvbWFpbiwgTmF2aWdhdGVkQXdheUZyb21BcHBCb3VuZERvbWFpbiwgT3B0aW9u
YWw8V2Vic2l0ZVBvbGljaWVzRGF0YT4mJiA9IFdURjo6bnVsbG9wdCk7CisgICAgdm9pZCBsb2Fk
RGF0YVdpdGhOYXZpZ2F0aW9uU2hhcmVkKFJlZjxXZWJQcm9jZXNzUHJveHk+JiYsIFdlYkNvcmU6
OlBhZ2VJZGVudGlmaWVyLCBBUEk6Ok5hdmlnYXRpb24mLCBjb25zdCBJUEM6OkRhdGFSZWZlcmVu
Y2UmLCBjb25zdCBTdHJpbmcmIE1JTUVUeXBlLCBjb25zdCBTdHJpbmcmIGVuY29kaW5nLCBjb25z
dCBTdHJpbmcmIGJhc2VVUkwsIEFQSTo6T2JqZWN0KiB1c2VyRGF0YSwgV2ViQ29yZTo6U2hvdWxk
VHJlYXRBc0NvbnRpbnVpbmdMb2FkLCBPcHRpb25hbDxOYXZpZ2F0aW5nVG9BcHBCb3VuZERvbWFp
bj4sIE5hdmlnYXRlZEF3YXlGcm9tQXBwQm91bmREb21haW4sIE9wdGlvbmFsPFdlYnNpdGVQb2xp
Y2llc0RhdGE+JiYgPSBXVEY6Om51bGxvcHQsIFdlYkNvcmU6OlNob3VsZE9wZW5FeHRlcm5hbFVS
THNQb2xpY3kgPSBXZWJDb3JlOjpTaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5OjpTaG91bGRO
b3RBbGxvdyk7CisgICAgdm9pZCBsb2FkUmVxdWVzdFdpdGhOYXZpZ2F0aW9uU2hhcmVkKFJlZjxX
ZWJQcm9jZXNzUHJveHk+JiYsIFdlYkNvcmU6OlBhZ2VJZGVudGlmaWVyLCBBUEk6Ok5hdmlnYXRp
b24mLCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmJiwgV2ViQ29yZTo6U2hvdWxkT3BlbkV4dGVy
bmFsVVJMc1BvbGljeSwgQVBJOjpPYmplY3QqIHVzZXJEYXRhLCBXZWJDb3JlOjpTaG91bGRUcmVh
dEFzQ29udGludWluZ0xvYWQsIE9wdGlvbmFsPE5hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluPiwg
TmF2aWdhdGVkQXdheUZyb21BcHBCb3VuZERvbWFpbiwgT3B0aW9uYWw8V2Vic2l0ZVBvbGljaWVz
RGF0YT4mJiA9IFdURjo6bnVsbG9wdCk7CiAgICAgdm9pZCBiYWNrRm9yd2FyZEdvVG9JdGVtU2hh
cmVkKFJlZjxXZWJQcm9jZXNzUHJveHk+JiYsIGNvbnN0IFdlYkNvcmU6OkJhY2tGb3J3YXJkSXRl
bUlkZW50aWZpZXImLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFNhbmRib3hFeHRlbnNpb246Okhh
bmRsZSYmLCBjb25zdCBXZWJCYWNrRm9yd2FyZExpc3RDb3VudHMmKT4mJik7CiAgICAgdm9pZCBk
ZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uU3luY1NoYXJlZChSZWY8V2ViUHJvY2Vzc1By
b3h5PiYmLCBXZWJDb3JlOjpGcmFtZUlkZW50aWZpZXIsIGJvb2wgaXNNYWluRnJhbWUsIEZyYW1l
SW5mb0RhdGEmJiwgV2ViQ29yZTo6UG9saWN5Q2hlY2tJZGVudGlmaWVyLCB1aW50NjRfdCBuYXZp
Z2F0aW9uSUQsIE5hdmlnYXRpb25BY3Rpb25EYXRhJiYsIEZyYW1lSW5mb0RhdGEmJiBvcmlnaW5h
dGluZ0ZyYW1lSW5mbywgT3B0aW9uYWw8V2ViUGFnZVByb3h5SWRlbnRpZmllcj4gb3JpZ2luYXRp
bmdQYWdlSUQsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYgb3JpZ2luYWxSZXF1ZXN0
LCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmJiwgSVBDOjpGb3JtRGF0YVJlZmVyZW5jZSYmIHJl
cXVlc3RCb2R5LCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlJiYgcmVkaXJlY3RSZXNwb25zZSwg
Y29uc3QgVXNlckRhdGEmLCBNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpEZWNpZGVQb2xpY3lGb3JO
YXZpZ2F0aW9uQWN0aW9uU3luY0RlbGF5ZWRSZXBseSYmKTsKICNpZiBVU0UoUVVJQ0tfTE9PSykK
QEAgLTE3MTYsNyArMTcxNiw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldFNob3VsZEZpcmVSZXNp
emVFdmVudHMoYm9vbCk7CiAKICAgICB2b2lkIGlzTmF2aWdhdGluZ1RvQXBwQm91bmREb21haW5U
ZXN0aW5nKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYpOwotICAgIE5hdmlnYXRpbmdU
b0FwcEJvdW5kRG9tYWluIGlzTmF2aWdhdGluZ1RvQXBwQm91bmREb21haW4oKSBjb25zdCB7IHJl
dHVybiBtX2lzTmF2aWdhdGluZ1RvQXBwQm91bmREb21haW47IH0KKyAgICBPcHRpb25hbDxOYXZp
Z2F0aW5nVG9BcHBCb3VuZERvbWFpbj4gaXNOYXZpZ2F0aW5nVG9BcHBCb3VuZERvbWFpbigpIGNv
bnN0IHsgcmV0dXJuIG1faXNOYXZpZ2F0aW5nVG9BcHBCb3VuZERvbWFpbjsgfQogCiAjaWYgUExB
VEZPUk0oQ09DT0EpCiAgICAgdm9pZCBncmFudEFjY2Vzc1RvQ3VycmVudFBhc3RlYm9hcmREYXRh
KGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUpOwpAQCAtMjc3MSw3ICsyNzcxLDcgQEAgcHJp
dmF0ZToKICAgICBNb25vdG9uaWNUaW1lIG1fZGlkRmluaXNoRG9jdW1lbnRMb2FkRm9yTWFpbkZy
YW1lVGltZXN0YW1wOwogI2VuZGlmCiAgICAgICAgIAotICAgIE5hdmlnYXRpbmdUb0FwcEJvdW5k
RG9tYWluIG1faXNOYXZpZ2F0aW5nVG9BcHBCb3VuZERvbWFpbiB7IE5hdmlnYXRpbmdUb0FwcEJv
dW5kRG9tYWluOjpObyB9OworICAgIE9wdGlvbmFsPE5hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWlu
PiBtX2lzTmF2aWdhdGluZ1RvQXBwQm91bmREb21haW4geyBOYXZpZ2F0aW5nVG9BcHBCb3VuZERv
bWFpbjo6Tm8gfTsKICAgICBOYXZpZ2F0ZWRBd2F5RnJvbUFwcEJvdW5kRG9tYWluIG1faGFzTmF2
aWdhdGVkQXdheUZyb21BcHBCb3VuZERvbWFpbiB7IE5hdmlnYXRlZEF3YXlGcm9tQXBwQm91bmRE
b21haW46Ok5vIH07CiAgICAgYm9vbCBtX2lnbm9yZXNBcHBCb3VuZERvbWFpbnMgeyBmYWxzZSB9
OwogICAgIGJvb2wgbV91c2VyU2NyaXB0c05vdGlmaWVkIHsgZmFsc2UgfTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcCBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcAppbmRleCBlZWFiNzA1NjY5MWVlNjhiMzM1
MDQ1ZjBlNGRlNDRjNjgzZDQ3NjMxLi5iNjQ5ZGJkM2NkMzQ1YzQ0YjY4ZDgyNGM1NGE4MWIxMTU0
MTRmMGQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9v
bC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCkBA
IC0xMzc4LDcgKzEzNzgsNyBAQCBEb3dubG9hZFByb3h5JiBXZWJQcm9jZXNzUG9vbDo6ZG93bmxv
YWQoV2Vic2l0ZURhdGFTdG9yZSYgZGF0YVN0b3JlLCBXZWJQYWdlUHJveAogICAgIGF1dG8mIGRv
d25sb2FkUHJveHkgPSBjcmVhdGVEb3dubG9hZFByb3h5KGRhdGFTdG9yZSwgcmVxdWVzdCwgaW5p
dGlhdGluZ1BhZ2UsIHsgfSk7CiAgICAgUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklEID0gZGF0YVN0
b3JlLnNlc3Npb25JRCgpOwogCi0gICAgTmF2aWdhdGluZ1RvQXBwQm91bmREb21haW4gaXNBcHBC
b3VuZCA9IE5hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluOjpObzsKKyAgICBPcHRpb25hbDxOYXZp
Z2F0aW5nVG9BcHBCb3VuZERvbWFpbj4gaXNBcHBCb3VuZCA9IE5hdmlnYXRpbmdUb0FwcEJvdW5k
RG9tYWluOjpObzsKICAgICBpZiAoaW5pdGlhdGluZ1BhZ2UpIHsKICAgICAgICAgaW5pdGlhdGlu
Z1BhZ2UtPmhhbmRsZURvd25sb2FkUmVxdWVzdChkb3dubG9hZFByb3h5KTsKICAgICAgICAgaXNB
cHBCb3VuZCA9IGluaXRpYXRpbmdQYWdlLT5pc05hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluKCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJGcmFtZS5j
cHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJGcmFtZS5jcHAKaW5kZXgg
NDY4YzM1OWMxZjU1NmNjYTMxZTI1YmE1ODM1NzBiYzIzYjU4YWM2ZC4uZDEyYTYwZjQ5ZTZhYTc0
NGNjNDhkZWZlYzA1MzljMDQxMTc4MjhmMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViRnJhbWUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJQYWdlL1dlYkZyYW1lLmNwcApAQCAtMjgyLDcgKzI4Miw3IEBAIHZvaWQgV2ViRnJhbWU6
OnN0YXJ0RG93bmxvYWQoY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBj
b25zdCBTdHJpCiAgICAgYXV0byBwb2xpY3lEb3dubG9hZElEID0gbV9wb2xpY3lEb3dubG9hZElE
OwogICAgIG1fcG9saWN5RG93bmxvYWRJRCA9IHsgfTsKIAotICAgIGF1dG8gaXNBcHBCb3VuZCA9
IE5hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluOjpObzsKKyAgICBPcHRpb25hbDxOYXZpZ2F0aW5n
VG9BcHBCb3VuZERvbWFpbj4gaXNBcHBCb3VuZCA9IE5hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWlu
OjpObzsKICAgICBpZiAocGFnZSgpKQogICAgICAgICBpc0FwcEJvdW5kID0gcGFnZSgpLT5pc05h
dmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluKCk7CiAgICAgCkBAIC0zMDgsNyArMzA4LDcgQEAgdm9p
ZCBXZWJGcmFtZTo6Y29udmVydE1haW5SZXNvdXJjZUxvYWRUb0Rvd25sb2FkKERvY3VtZW50TG9h
ZGVyKiBkb2N1bWVudExvYWRlciwKICAgICBlbHNlCiAgICAgICAgIG1haW5SZXNvdXJjZUxvYWRJ
ZGVudGlmaWVyID0gMDsKIAotICAgIGF1dG8gaXNBcHBCb3VuZCA9IE5hdmlnYXRpbmdUb0FwcEJv
dW5kRG9tYWluOjpObzsKKyAgICBPcHRpb25hbDxOYXZpZ2F0aW5nVG9BcHBCb3VuZERvbWFpbj4g
aXNBcHBCb3VuZCA9IE5hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluOjpObzsKICAgICBpZiAocGFn
ZSgpKQogICAgICAgICBpc0FwcEJvdW5kID0gcGFnZSgpLT5pc05hdmlnYXRpbmdUb0FwcEJvdW5k
RG9tYWluKCk7CiAgICAgICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9X
ZWJQYWdlLmNwcAppbmRleCBmNjdmMjc5MmI1ZWRjNzE3NzE4YzhjMTZhZjQ3NTg0NDdiYjkyZTkw
Li5kMzA1Nzc5MmEwNThlYWUxMWZhZTUzZWRmMGZhYTI3N2U5NGZkZjMxIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcApAQCAtMTU1OCw3ICsxNTU4LDcg
QEAgTk9fUkVUVVJOIHZvaWQgV2ViUGFnZTo6bG9hZFJlcXVlc3RXYWl0aW5nRm9yUHJvY2Vzc0xh
dW5jaChMb2FkUGFyYW1ldGVycyYmLCBVUkwKICAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hF
RCgpOwogfQogCi12b2lkIFdlYlBhZ2U6OmxvYWREYXRhSW1wbCh1aW50NjRfdCBuYXZpZ2F0aW9u
SUQsIGJvb2wgc2hvdWxkVHJlYXRBc0NvbnRpbnVpbmdMb2FkLCBPcHRpb25hbDxXZWJzaXRlUG9s
aWNpZXNEYXRhPiYmIHdlYnNpdGVQb2xpY2llcywgUmVmPFNoYXJlZEJ1ZmZlcj4mJiBzaGFyZWRC
dWZmZXIsIGNvbnN0IFN0cmluZyYgTUlNRVR5cGUsIGNvbnN0IFN0cmluZyYgZW5jb2RpbmdOYW1l
LCBjb25zdCBVUkwmIGJhc2VVUkwsIGNvbnN0IFVSTCYgdW5yZWFjaGFibGVVUkwsIGNvbnN0IFVz
ZXJEYXRhJiB1c2VyRGF0YSwgTmF2aWdhdGluZ1RvQXBwQm91bmREb21haW4gaXNOYXZpZ2F0aW5n
VG9BcHBCb3VuZERvbWFpbiwgTmF2aWdhdGVkQXdheUZyb21BcHBCb3VuZERvbWFpbiBoYXNOYXZp
Z2F0ZWRBd2F5RnJvbUFwcEJvdW5kRG9tYWluLCBTaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5
IHNob3VsZE9wZW5FeHRlcm5hbFVSTHNQb2xpY3kpCit2b2lkIFdlYlBhZ2U6OmxvYWREYXRhSW1w
bCh1aW50NjRfdCBuYXZpZ2F0aW9uSUQsIGJvb2wgc2hvdWxkVHJlYXRBc0NvbnRpbnVpbmdMb2Fk
LCBPcHRpb25hbDxXZWJzaXRlUG9saWNpZXNEYXRhPiYmIHdlYnNpdGVQb2xpY2llcywgUmVmPFNo
YXJlZEJ1ZmZlcj4mJiBzaGFyZWRCdWZmZXIsIGNvbnN0IFN0cmluZyYgTUlNRVR5cGUsIGNvbnN0
IFN0cmluZyYgZW5jb2RpbmdOYW1lLCBjb25zdCBVUkwmIGJhc2VVUkwsIGNvbnN0IFVSTCYgdW5y
ZWFjaGFibGVVUkwsIGNvbnN0IFVzZXJEYXRhJiB1c2VyRGF0YSwgT3B0aW9uYWw8TmF2aWdhdGlu
Z1RvQXBwQm91bmREb21haW4+IGlzTmF2aWdhdGluZ1RvQXBwQm91bmREb21haW4sIE5hdmlnYXRl
ZEF3YXlGcm9tQXBwQm91bmREb21haW4gaGFzTmF2aWdhdGVkQXdheUZyb21BcHBCb3VuZERvbWFp
biwgU2hvdWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeSBzaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9s
aWN5KQogewogICAgIHNldElzTmF2aWdhdGluZ1RvQXBwQm91bmREb21haW4oaXNOYXZpZ2F0aW5n
VG9BcHBCb3VuZERvbWFpbik7CiAgICAgc2V0SGFzTmF2aWdhdGVkQXdheUZyb21BcHBCb3VuZERv
bWFpbihoYXNOYXZpZ2F0ZWRBd2F5RnJvbUFwcEJvdW5kRG9tYWluKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaCBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAppbmRleCA4NzM5ODZjY2Q2ZGVlYWQwN2ZiMWFk
YTA1NjU4ZDg4NDRjZTFhYTg1Li4xOTdjYzc5OWUwODEyZjBmYWU4OTU4YjUzMjUwYTYwMjhlM2Vi
OTQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdl
LmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCkBAIC0x
MzAwLDggKzEzMDAsOCBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGdldEFsbEZyYW1lcyhDb21wbGV0
aW9uSGFuZGxlcjx2b2lkKEZyYW1lVHJlZU5vZGVEYXRhJiYpPiYmKTsKIAotICAgIHZvaWQgc2V0
SXNOYXZpZ2F0aW5nVG9BcHBCb3VuZERvbWFpbihOYXZpZ2F0aW5nVG9BcHBCb3VuZERvbWFpbiBp
c05hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluKSB7IG1faXNOYXZpZ2F0aW5nVG9BcHBCb3VuZERv
bWFpbiA9IGlzTmF2aWdhdGluZ1RvQXBwQm91bmREb21haW47IH0KLSAgICBOYXZpZ2F0aW5nVG9B
cHBCb3VuZERvbWFpbiBpc05hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluKCkgY29uc3QgeyByZXR1
cm4gbV9pc05hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluOyB9CisgICAgdm9pZCBzZXRJc05hdmln
YXRpbmdUb0FwcEJvdW5kRG9tYWluKE9wdGlvbmFsPE5hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWlu
PiBpc05hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluKSB7IG1faXNOYXZpZ2F0aW5nVG9BcHBCb3Vu
ZERvbWFpbiA9IGlzTmF2aWdhdGluZ1RvQXBwQm91bmREb21haW47IH0KKyAgICBPcHRpb25hbDxO
YXZpZ2F0aW5nVG9BcHBCb3VuZERvbWFpbj4gaXNOYXZpZ2F0aW5nVG9BcHBCb3VuZERvbWFpbigp
IGNvbnN0IHsgcmV0dXJuIG1faXNOYXZpZ2F0aW5nVG9BcHBCb3VuZERvbWFpbjsgfQogICAgIE5h
dmlnYXRlZEF3YXlGcm9tQXBwQm91bmREb21haW4gaGFzTmF2aWdhdGVkQXdheUZyb21BcHBCb3Vu
ZERvbWFpbigpIGNvbnN0IHsgcmV0dXJuIG1faGFzTmF2aWdhdGVkQXdheUZyb21BcHBCb3VuZERv
bWFpbjsgfQogICAgIHZvaWQgc2V0SGFzTmF2aWdhdGVkQXdheUZyb21BcHBCb3VuZERvbWFpbihO
YXZpZ2F0ZWRBd2F5RnJvbUFwcEJvdW5kRG9tYWluIG5hdmlnYXRlZEF3YXlGcm9tQXBwQm91bmRE
b21haW4pIHsgbV9oYXNOYXZpZ2F0ZWRBd2F5RnJvbUFwcEJvdW5kRG9tYWluID0gbmF2aWdhdGVk
QXdheUZyb21BcHBCb3VuZERvbWFpbjsgfQogICAgIGJvb2wgbmVlZHNJbkFwcEJyb3dzZXJQcml2
YWN5UXVpcmtzKCkgY29uc3QgeyByZXR1cm4gbV9uZWVkc0luQXBwQnJvd3NlclByaXZhY3lRdWly
a3M7IH0KQEAgLTE0MDEsNyArMTQwMSw3IEBAIHByaXZhdGU6CiAKICAgICBTdHJpbmcgc291cmNl
Rm9yRnJhbWUoV2ViRnJhbWUqKTsKIAotICAgIHZvaWQgbG9hZERhdGFJbXBsKHVpbnQ2NF90IG5h
dmlnYXRpb25JRCwgYm9vbCBzaG91bGRUcmVhdEFzQ29udGludWluZ0xvYWQsIE9wdGlvbmFsPFdl
YnNpdGVQb2xpY2llc0RhdGE+JiYsIFJlZjxXZWJDb3JlOjpTaGFyZWRCdWZmZXI+JiYsIGNvbnN0
IFN0cmluZyYgTUlNRVR5cGUsIGNvbnN0IFN0cmluZyYgZW5jb2RpbmdOYW1lLCBjb25zdCBVUkwm
IGJhc2VVUkwsIGNvbnN0IFVSTCYgZmFpbGluZ1VSTCwgY29uc3QgVXNlckRhdGEmLCBOYXZpZ2F0
aW5nVG9BcHBCb3VuZERvbWFpbiwgTmF2aWdhdGVkQXdheUZyb21BcHBCb3VuZERvbWFpbiwgV2Vi
Q29yZTo6U2hvdWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeSA9IFdlYkNvcmU6OlNob3VsZE9wZW5F
eHRlcm5hbFVSTHNQb2xpY3k6OlNob3VsZE5vdEFsbG93KTsKKyAgICB2b2lkIGxvYWREYXRhSW1w
bCh1aW50NjRfdCBuYXZpZ2F0aW9uSUQsIGJvb2wgc2hvdWxkVHJlYXRBc0NvbnRpbnVpbmdMb2Fk
LCBPcHRpb25hbDxXZWJzaXRlUG9saWNpZXNEYXRhPiYmLCBSZWY8V2ViQ29yZTo6U2hhcmVkQnVm
ZmVyPiYmLCBjb25zdCBTdHJpbmcmIE1JTUVUeXBlLCBjb25zdCBTdHJpbmcmIGVuY29kaW5nTmFt
ZSwgY29uc3QgVVJMJiBiYXNlVVJMLCBjb25zdCBVUkwmIGZhaWxpbmdVUkwsIGNvbnN0IFVzZXJE
YXRhJiwgT3B0aW9uYWw8TmF2aWdhdGluZ1RvQXBwQm91bmREb21haW4+LCBOYXZpZ2F0ZWRBd2F5
RnJvbUFwcEJvdW5kRG9tYWluLCBXZWJDb3JlOjpTaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5
ID0gV2ViQ29yZTo6U2hvdWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeTo6U2hvdWxkTm90QWxsb3cp
OwogCiAgICAgLy8gQWN0aW9ucwogICAgIHZvaWQgdHJ5Q2xvc2UoQ29tcGxldGlvbkhhbmRsZXI8
dm9pZChib29sKT4mJik7CkBAIC0yMDgyLDcgKzIwODIsNyBAQCBwcml2YXRlOgogICAgIFN0cmlu
ZyBtX3RoZW1lTmFtZTsKICNlbmRpZgogICAgIAotICAgIE5hdmlnYXRpbmdUb0FwcEJvdW5kRG9t
YWluIG1faXNOYXZpZ2F0aW5nVG9BcHBCb3VuZERvbWFpbiB7IE5hdmlnYXRpbmdUb0FwcEJvdW5k
RG9tYWluOjpObyB9OworICAgIE9wdGlvbmFsPE5hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluPiBt
X2lzTmF2aWdhdGluZ1RvQXBwQm91bmREb21haW4geyBOYXZpZ2F0aW5nVG9BcHBCb3VuZERvbWFp
bjo6Tm8gfTsKICAgICBOYXZpZ2F0ZWRBd2F5RnJvbUFwcEJvdW5kRG9tYWluIG1faGFzTmF2aWdh
dGVkQXdheUZyb21BcHBCb3VuZERvbWFpbiB7IE5hdmlnYXRlZEF3YXlGcm9tQXBwQm91bmREb21h
aW46Ok5vIH07CiB9OwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>396305</attachid>
            <date>2020-04-13 10:36:35 -0700</date>
            <delta_ts>2020-04-13 11:15:49 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-210363-20200413103634.patch</filename>
            <type>text/plain</type>
            <size>67237</size>
            <attacher name="Kate Cheney">katherine_cheney</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYwMDA5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGMyOGQwN2Y3NDdkMTgwNDU3
YmE5OTExOWQyN2RhMTQ5MzNkNmIwYzQuLjQ5NDZlYTA1YzQyZjEzODc0NDAyZmY4YmQ3MWRkZjdk
YzBmNGRjOGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTEwIEBACisyMDIwLTA0LTEzICBLYXRlIENo
ZW5leSAgPGthdGhlcmluZV9jaGVuZXlAYXBwbGUuY29tPgorCisgICAgICAgIFR1cm4gYWxsIGlu
c3RhbmNlcyBvZiBOYXZpZ2F0aW5nVG9BcHBCb3VuZERvbWFpbiBpbnRvIE9wdGlvbmFscworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEwMzYzCisgICAg
ICAgIDxyZGFyOi8vcHJvYmxlbS82MTYxMjg2MT4KKworICAgICAgICBSZXZpZXdlZCBieSBCcmVu
dCBGdWxnaGFtLgorCisgICAgICAgIE5hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluIHNob3VsZCBi
ZSBhbiBPcHRpb25hbCB3aGVuIHBhc3NlZCB0byB0aGUKKyAgICAgICAgTmV0d29yayBQcm9jZXNz
IHRvIGRpc3Rpbmd1aXNoIHRoZSBjYXNlIG9mIGFuIGVtcHR5IGFwcC1ib3VuZCBkb21haW4KKyAg
ICAgICAgbGlzdCB2ZXJzdXMgYW4gYWN0dWFsIGFwcC1ib3VuZCBkb21haW4gbmF2aWdhdGlvbi4g
QW4gZW1wdHkgbGlzdCBhbmQKKyAgICAgICAgYW4gYXBwLWJvdW5kIG5hdmlnYXRpb24gc2hvdWxk
IGhhdmUgdGhlIHNhbWUgYmVoYXZpb3IgaW4gTmV0d29ya1Nlc3Npb25Db2NvYSwKKyAgICAgICAg
YnV0IHdlIHdpbGwgbmVlZCBkaXN0aW5ndWlzaGVkIGJlaGF2aW9yIGluIHRoZSBmdXR1cmUuCisK
KyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9Eb3dubG9hZHMvRG93bmxvYWRNYW5hZ2VyLmNwcDoK
KyAgICAgICAgKFdlYktpdDo6RG93bmxvYWRNYW5hZ2VyOjpzdGFydERvd25sb2FkKToKKyAgICAg
ICAgKiBOZXR3b3JrUHJvY2Vzcy9Eb3dubG9hZHMvRG93bmxvYWRNYW5hZ2VyLmg6CisgICAgICAg
IChXZWJLaXQ6OkRvd25sb2FkTWFuYWdlcjo6c3RhcnREb3dubG9hZCk6CisgICAgICAgICogTmV0
d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3BwOgorICAgICAgICAo
V2ViS2l0OjpOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6c3RhcnREb3dubG9hZCk6Cisg
ICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpjb252ZXJ0TWFp
blJlc291cmNlTG9hZFRvRG93bmxvYWQpOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdv
cmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmg6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDb25u
ZWN0aW9uVG9XZWJQcm9jZXNzOjpzdGFydERvd25sb2FkKToKKyAgICAgICAgKiBOZXR3b3JrUHJv
Y2Vzcy9OZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbjoKKyAgICAgICAg
KiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrTG9hZFBhcmFtZXRlcnMuaDoKKyAgICAgICAgKiBOZXR3
b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQ
cm9jZXNzOjpwcmVjb25uZWN0VG8pOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUHJvY2Vzczo6
ZG93bmxvYWRSZXF1ZXN0KToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vz
cy5oOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLm1lc3NhZ2VzLmlu
OgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRQYXJhbWV0ZXJz
LmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnM6OmRl
Y29kZSk6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZFBhcmFt
ZXRlcnMuaDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9jYWNoZS9Bc3luY1JldmFsaWRhdGlv
bi5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6QXN5bmNSZXZhbGlkYXRpb246
OkFzeW5jUmV2YWxpZGF0aW9uKToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9jYWNoZS9Bc3lu
Y1JldmFsaWRhdGlvbi5oOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtD
YWNoZS5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6Q2FjaGU6OnN0YXJ0QXN5
bmNSZXZhbGlkYXRpb25JZk5lZWRlZCk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6
Q2FjaGU6OnJldHJpZXZlKToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3Jr
Q2FjaGUuaDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTcGVj
dWxhdGl2ZUxvYWQuY3BwOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ2FjaGU6OlNwZWN1bGF0
aXZlTG9hZDo6U3BlY3VsYXRpdmVMb2FkKToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9jYWNo
ZS9OZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZUxvYWQuaDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vz
cy9jYWNoZS9OZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZUxvYWRNYW5hZ2VyLmNwcDoKKyAgICAgICAg
KFdlYktpdDo6TmV0d29ya0NhY2hlOjpTcGVjdWxhdGl2ZUxvYWRNYW5hZ2VyOjpyZWdpc3Rlckxv
YWQpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ2FjaGU6OlNwZWN1bGF0aXZlTG9hZE1hbmFn
ZXI6OnByZWNvbm5lY3RGb3JTdWJyZXNvdXJjZSk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtD
YWNoZTo6U3BlY3VsYXRpdmVMb2FkTWFuYWdlcjo6cmV2YWxpZGF0ZVN1YnJlc291cmNlKToKKyAg
ICAgICAgKFdlYktpdDo6TmV0d29ya0NhY2hlOjpTcGVjdWxhdGl2ZUxvYWRNYW5hZ2VyOjpwcmVs
b2FkRW50cnkpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ2FjaGU6OlNwZWN1bGF0aXZlTG9h
ZE1hbmFnZXI6OnN0YXJ0U3BlY3VsYXRpdmVSZXZhbGlkYXRpb24pOgorICAgICAgICAqIE5ldHdv
cmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVNwZWN1bGF0aXZlTG9hZE1hbmFnZXIuaDoKKyAg
ICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrRGF0YVRhc2tDb2NvYS5oOgorICAg
ICAgICAqIE5ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtEYXRhVGFza0NvY29hLm1tOgorICAg
ICAgICAoV2ViS2l0OjpOZXR3b3JrRGF0YVRhc2tDb2NvYTo6TmV0d29ya0RhdGFUYXNrQ29jb2Ep
OgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtTZXNzaW9uQ29jb2EuaDoK
KyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrU2Vzc2lvbkNvY29hLm1tOgor
ICAgICAgICAoV2ViS2l0OjpOZXR3b3JrU2Vzc2lvbkNvY29hOjpzZXNzaW9uV3JhcHBlckZvclRh
c2spOgorICAgICAgICBXZSBzaG91bGQgdHJlYXQgYW4gZW1wdHkgV0tBcHBCb3VuZERvbWFpbnMg
bGlzdCBsaWtlIGFuIGFwcC1ib3VuZCBkb21haW4KKyAgICAgICAgbmF2aWdhdGlvbiBpbiB0aGUg
bmV0d29yayBzZXNzaW9uLCBzbyB0aGlzIHNldHMKKyAgICAgICAgTmF2aWdhdGluZ1RvQXBwQm91
bmREb21haW4gdG8gWWVzIGlmIHRoZSBPcHRpb25hbCBpcyBXVEY6Om51bGxvcHQuCisKKyAgICAg
ICAgKFdlYktpdDo6TmV0d29ya1Nlc3Npb25Db2NvYTo6YXBwQm91bmRTZXNzaW9uKTogRGVsZXRl
ZC4KKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Nlc3Npb25Db2NvYTo6aXNvbGF0ZWRTZXNzaW9u
KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Nlc3Npb25Db2NvYTo6aGFzSXNv
bGF0ZWRTZXNzaW9uIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Nl
c3Npb25Db2NvYTo6Y2xlYXJJc29sYXRlZFNlc3Npb25zKTogRGVsZXRlZC4KKyAgICAgICAgKFdl
YktpdDo6TmV0d29ya1Nlc3Npb25Db2NvYTo6aW52YWxpZGF0ZUFuZENhbmNlbCk6IERlbGV0ZWQu
CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtTZXNzaW9uQ29jb2E6OmNsZWFyQ3JlZGVudGlhbHMp
OiBEZWxldGVkLgorICAgICAgICAoV2ViS2l0OjpjZXJ0aWZpY2F0ZXNNYXRjaCk6IERlbGV0ZWQu
CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtTZXNzaW9uQ29jb2E6OmFsbG93c1NwZWNpZmljSFRU
UFNDZXJ0aWZpY2F0ZUZvckhvc3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViS2l0OjpOZXR3b3Jr
U2Vzc2lvbkNvY29hOjpjb250aW51ZURpZFJlY2VpdmVDaGFsbGVuZ2UpOiBEZWxldGVkLgorICAg
ICAgICAoV2ViS2l0OjpOZXR3b3JrU2Vzc2lvbkNvY29hOjpkZXZpY2VNYW5hZ2VtZW50UG9saWN5
TW9uaXRvcik6IERlbGV0ZWQuCisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtTZXNzaW9uQ29jb2E6
OmNyZWF0ZVdlYlNvY2tldFRhc2spOiBEZWxldGVkLgorICAgICAgICAoV2ViS2l0OjpOZXR3b3Jr
U2Vzc2lvbkNvY29hOjphZGRXZWJTb2NrZXRUYXNrKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktp
dDo6TmV0d29ya1Nlc3Npb25Db2NvYTo6cmVtb3ZlV2ViU29ja2V0VGFzayk6IERlbGV0ZWQuCisg
ICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtTZXNzaW9uQ29jb2E6Omhvc3ROYW1lc1dpdGhBbHRlcm5h
dGl2ZVNlcnZpY2VzIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Nl
c3Npb25Db2NvYTo6ZGVsZXRlQWx0ZXJuYXRpdmVTZXJ2aWNlc0Zvckhvc3ROYW1lcyk6IERlbGV0
ZWQuCisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtTZXNzaW9uQ29jb2E6OmNsZWFyQWx0ZXJuYXRp
dmVTZXJ2aWNlcyk6IERlbGV0ZWQuCisgICAgICAgICogU2hhcmVkL0xvYWRQYXJhbWV0ZXJzLmg6
CisgICAgICAgICogU2hhcmVkL1BvbGljeURlY2lzaW9uLmg6CisgICAgICAgIChXZWJLaXQ6OlBv
bGljeURlY2lzaW9uOjpkZWNvZGUpOgorICAgICAgICAqIFVJUHJvY2Vzcy9OZXR3b3JrL05ldHdv
cmtQcm9jZXNzUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUHJvY2Vzc1Byb3h5
OjpwcmVjb25uZWN0VG8pOgorICAgICAgICAqIFVJUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9j
ZXNzUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvUHJvdmlzaW9uYWxQYWdlUHJveHkuY3Bw
OgorICAgICAgICAoV2ViS2l0OjpQcm92aXNpb25hbFBhZ2VQcm94eTo6bG9hZERhdGEpOgorICAg
ICAgICAoV2ViS2l0OjpQcm92aXNpb25hbFBhZ2VQcm94eTo6bG9hZFJlcXVlc3QpOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9Qcm92aXNpb25hbFBhZ2VQcm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vz
cy9XZWJQYWdlUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmxvYWRS
ZXF1ZXN0V2l0aE5hdmlnYXRpb25TaGFyZWQpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJv
eHk6OmxvYWREYXRhV2l0aE5hdmlnYXRpb25TaGFyZWQpOgorICAgICAgICAoV2ViS2l0OjpXZWJQ
YWdlUHJveHk6OnNldElzTmF2aWdhdGluZ1RvQXBwQm91bmREb21haW4pOgorICAgICAgICBTZXQg
dGhpcyB0byBXVEY6Om51bGxvcHQgaW5zdGVhZCBvZiBOYXZpZ2F0aW5nVG9BcHBCb3VuZERvbWFp
bjo6WWVzCisgICAgICAgIHNvIHRoZSB0d28gY2FzZXMgYXJlIGRpc3Rpbmd1aXNoZWQuCisKKyAg
ICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5Ojppc05hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWlu
VGVzdGluZyk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oOgorICAgICAgICAo
V2ViS2l0OjpXZWJQYWdlUHJveHk6OmlzTmF2aWdhdGluZ1RvQXBwQm91bmREb21haW4gY29uc3Qp
OgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHA6CisgICAgICAgIChXZWJL
aXQ6OldlYlByb2Nlc3NQb29sOjpkb3dubG9hZCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQ
YWdlL1dlYkZyYW1lLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViRnJhbWU6OnN0YXJ0RG93bmxv
YWQpOgorICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZTo6Y29udmVydE1haW5SZXNvdXJjZUxvYWRU
b0Rvd25sb2FkKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OmxvYWREYXRhSW1wbCk6CisgICAgICAgICogV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6c2V0SXNO
YXZpZ2F0aW5nVG9BcHBCb3VuZERvbWFpbik6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6Omlz
TmF2aWdhdGluZ1RvQXBwQm91bmREb21haW4gY29uc3QpOgorCiAyMDIwLTA0LTEyICBEYXJpbiBB
ZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KIAogICAgICAgICBGaXggc29tZSBzdHJhbmdlIHVzZXMg
b2Ygc3RhcnQvZW5kT2ZEb2N1bWVudApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3Jr
UHJvY2Vzcy9Eb3dubG9hZHMvRG93bmxvYWRNYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0
d29ya1Byb2Nlc3MvRG93bmxvYWRzL0Rvd25sb2FkTWFuYWdlci5jcHAKaW5kZXggNjQyZjQ2M2Y4
NmE0MTI0MDliZjA1NzYzZWQ0Y2VmY2Y1ZTU1YzA2Yi4uOTczNTI0ZDk5YzVlZDM3YTE5MWQxNTU0
MGNjMjg3Njc3Yjg3ZGMyYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vz
cy9Eb3dubG9hZHMvRG93bmxvYWRNYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZE1hbmFnZXIuY3BwCkBAIC00Myw3ICs0Myw3IEBA
IERvd25sb2FkTWFuYWdlcjo6RG93bmxvYWRNYW5hZ2VyKENsaWVudCYgY2xpZW50KQogewogfQog
Ci12b2lkIERvd25sb2FkTWFuYWdlcjo6c3RhcnREb3dubG9hZChQQUw6OlNlc3Npb25JRCBzZXNz
aW9uSUQsIERvd25sb2FkSUQgZG93bmxvYWRJRCwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1
ZXN0LCBOYXZpZ2F0aW5nVG9BcHBCb3VuZERvbWFpbiBpc05hdmlnYXRpbmdUb0FwcEJvdW5kRG9t
YWluLCBjb25zdCBTdHJpbmcmIHN1Z2dlc3RlZE5hbWUpCit2b2lkIERvd25sb2FkTWFuYWdlcjo6
c3RhcnREb3dubG9hZChQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIERvd25sb2FkSUQgZG93bmxv
YWRJRCwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBPcHRpb25hbDxOYXZpZ2F0aW5n
VG9BcHBCb3VuZERvbWFpbj4gaXNOYXZpZ2F0aW5nVG9BcHBCb3VuZERvbWFpbiwgY29uc3QgU3Ry
aW5nJiBzdWdnZXN0ZWROYW1lKQogewogICAgIGF1dG8qIG5ldHdvcmtTZXNzaW9uID0gY2xpZW50
KCkubmV0d29ya1Nlc3Npb24oc2Vzc2lvbklEKTsKICAgICBpZiAoIW5ldHdvcmtTZXNzaW9uKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9Eb3dubG9hZHMvRG93bmxv
YWRNYW5hZ2VyLmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0Rvd25sb2Fkcy9Eb3du
bG9hZE1hbmFnZXIuaAppbmRleCA3NTNiZGY1MWUwODQxMTQ1ZWZkNTVhZGJkZTI2NTE5YTQzMGUz
YWM1Li4yN2Q5ZTZiNjQ0OTUzZWYyYjg4YjI5YjdiZjExNWI4NjI4Yzg2M2YxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZE1hbmFnZXIu
aAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZE1h
bmFnZXIuaApAQCAtODEsNyArODEsNyBAQCBwdWJsaWM6CiAKICAgICBleHBsaWNpdCBEb3dubG9h
ZE1hbmFnZXIoQ2xpZW50Jik7CiAKLSAgICB2b2lkIHN0YXJ0RG93bmxvYWQoUEFMOjpTZXNzaW9u
SUQsIERvd25sb2FkSUQsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYsIE5hdmlnYXRp
bmdUb0FwcEJvdW5kRG9tYWluLCBjb25zdCBTdHJpbmcmIHN1Z2dlc3RlZE5hbWUgPSB7IH0pOwor
ICAgIHZvaWQgc3RhcnREb3dubG9hZChQQUw6OlNlc3Npb25JRCwgRG93bmxvYWRJRCwgY29uc3Qg
V2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiwgT3B0aW9uYWw8TmF2aWdhdGluZ1RvQXBwQm91bmRE
b21haW4+LCBjb25zdCBTdHJpbmcmIHN1Z2dlc3RlZE5hbWUgPSB7IH0pOwogICAgIHZvaWQgZGF0
YVRhc2tCZWNhbWVEb3dubG9hZFRhc2soRG93bmxvYWRJRCwgc3RkOjp1bmlxdWVfcHRyPERvd25s
b2FkPiYmKTsKICAgICB2b2lkIGNvbnRpbnVlV2lsbFNlbmRSZXF1ZXN0KERvd25sb2FkSUQsIFdl
YkNvcmU6OlJlc291cmNlUmVxdWVzdCYmKTsKICAgICB2b2lkIHdpbGxEZWNpZGVQZW5kaW5nRG93
bmxvYWREZXN0aW5hdGlvbihOZXR3b3JrRGF0YVRhc2smLCBSZXNwb25zZUNvbXBsZXRpb25IYW5k
bGVyJiYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3Jr
Q29ubmVjdGlvblRvV2ViUHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNwcAppbmRleCA0ODRiMTcwNzRjNzMwYTFk
YjI2NGQ1ODVjMjVkZmUxYTQ4NjA1Nzk5Li5lZTEyNWU1N2UwMWNlNjI4OWNlYWM4MjNjYzQ3NzUz
NDc5MjI3NjVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdv
cmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNwcApAQCAtNTg2LDEyICs1ODYs
MTIgQEAgTmV0d29ya1N0b3JhZ2VTZXNzaW9uKiBOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vz
czo6c3RvcmFnZVNlc3Npb24oKQogICAgIHJldHVybiBzZXNzaW9uOwogfQogCi12b2lkIE5ldHdv
cmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpzdGFydERvd25sb2FkKERvd25sb2FkSUQgZG93bmxv
YWRJRCwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBOYXZpZ2F0aW5nVG9BcHBCb3Vu
ZERvbWFpbiBpc05hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluLCBjb25zdCBTdHJpbmcmIHN1Z2dl
c3RlZE5hbWUpCit2b2lkIE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpzdGFydERvd25s
b2FkKERvd25sb2FkSUQgZG93bmxvYWRJRCwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0
LCBPcHRpb25hbDxOYXZpZ2F0aW5nVG9BcHBCb3VuZERvbWFpbj4gaXNOYXZpZ2F0aW5nVG9BcHBC
b3VuZERvbWFpbiwgY29uc3QgU3RyaW5nJiBzdWdnZXN0ZWROYW1lKQogewogICAgIG1fbmV0d29y
a1Byb2Nlc3MtPmRvd25sb2FkTWFuYWdlcigpLnN0YXJ0RG93bmxvYWQobV9zZXNzaW9uSUQsIGRv
d25sb2FkSUQsIHJlcXVlc3QsIGlzTmF2aWdhdGluZ1RvQXBwQm91bmREb21haW4sIHN1Z2dlc3Rl
ZE5hbWUpOwogfQogCi12b2lkIE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpjb252ZXJ0
TWFpblJlc291cmNlTG9hZFRvRG93bmxvYWQodWludDY0X3QgbWFpblJlc291cmNlTG9hZElkZW50
aWZpZXIsIERvd25sb2FkSUQgZG93bmxvYWRJRCwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1
ZXN0LCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSwgTmF2aWdhdGluZ1RvQXBwQm91
bmREb21haW4gaXNOYXZpZ2F0aW5nVG9BcHBCb3VuZERvbWFpbikKK3ZvaWQgTmV0d29ya0Nvbm5l
Y3Rpb25Ub1dlYlByb2Nlc3M6OmNvbnZlcnRNYWluUmVzb3VyY2VMb2FkVG9Eb3dubG9hZCh1aW50
NjRfdCBtYWluUmVzb3VyY2VMb2FkSWRlbnRpZmllciwgRG93bmxvYWRJRCBkb3dubG9hZElELCBj
b25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJl
c3BvbnNlLCBPcHRpb25hbDxOYXZpZ2F0aW5nVG9BcHBCb3VuZERvbWFpbj4gaXNOYXZpZ2F0aW5n
VG9BcHBCb3VuZERvbWFpbikKIHsKICAgICBSRUxFQVNFX0FTU0VSVChSdW5Mb29wOjppc01haW4o
KSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nv
bm5lY3Rpb25Ub1dlYlByb2Nlc3MuaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0
d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuaAppbmRleCBhNjk5NDZjZjhiNWU4N2QwZjIxNGQx
MWIwMGE0ZGYzMzhmYzlmN2UwLi4wMzg4YjFhZGZjNTBhYTc3OWI4NWVjNWFmN2RhNDdiNTM2M2Ux
ZjhiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25u
ZWN0aW9uVG9XZWJQcm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9O
ZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5oCkBAIC0yMDMsOCArMjAzLDggQEAgcHJpdmF0
ZToKICAgICB2b2lkIHBhZ2VMb2FkQ29tcGxldGVkKFdlYkNvcmU6OlBhZ2VJZGVudGlmaWVyKTsK
ICAgICB2b2lkIGJyb3dzaW5nQ29udGV4dFJlbW92ZWQoV2ViUGFnZVByb3h5SWRlbnRpZmllciwg
V2ViQ29yZTo6UGFnZUlkZW50aWZpZXIsIFdlYkNvcmU6OkZyYW1lSWRlbnRpZmllcik7CiAgICAg
dm9pZCBjcm9zc09yaWdpblJlZGlyZWN0UmVjZWl2ZWQoUmVzb3VyY2VMb2FkSWRlbnRpZmllciwg
Y29uc3QgVVJMJiByZWRpcmVjdFVSTCk7Ci0gICAgdm9pZCBzdGFydERvd25sb2FkKERvd25sb2Fk
SUQsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYsIE5hdmlnYXRpbmdUb0FwcEJvdW5k
RG9tYWluLCBjb25zdCBTdHJpbmcmIHN1Z2dlc3RlZE5hbWUgPSB7IH0pOwotICAgIHZvaWQgY29u
dmVydE1haW5SZXNvdXJjZUxvYWRUb0Rvd25sb2FkKHVpbnQ2NF90IG1haW5SZXNvdXJjZUxvYWRJ
ZGVudGlmaWVyLCBEb3dubG9hZElELCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmLCBj
b25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlJiwgTmF2aWdhdGluZ1RvQXBwQm91bmREb21h
aW4pOworICAgIHZvaWQgc3RhcnREb3dubG9hZChEb3dubG9hZElELCBjb25zdCBXZWJDb3JlOjpS
ZXNvdXJjZVJlcXVlc3QmLCBPcHRpb25hbDxOYXZpZ2F0aW5nVG9BcHBCb3VuZERvbWFpbj4sIGNv
bnN0IFN0cmluZyYgc3VnZ2VzdGVkTmFtZSA9IHsgfSk7CisgICAgdm9pZCBjb252ZXJ0TWFpblJl
c291cmNlTG9hZFRvRG93bmxvYWQodWludDY0X3QgbWFpblJlc291cmNlTG9hZElkZW50aWZpZXIs
IERvd25sb2FkSUQsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFdlYkNv
cmU6OlJlc291cmNlUmVzcG9uc2UmLCBPcHRpb25hbDxOYXZpZ2F0aW5nVG9BcHBCb3VuZERvbWFp
bj4pOwogCiAgICAgdm9pZCByZWdpc3RlclVSTFNjaGVtZXNBc0NPUlNFbmFibGVkKFZlY3RvcjxT
dHJpbmc+JiYgc2NoZW1lcyk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1By
b2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MubWVzc2FnZXMuaW4gYi9Tb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLm1lc3Nh
Z2VzLmluCmluZGV4IDNjYjQ2ZTRkOWEwNmM4ZmEzM2U1Y2JhMDU1ZDdjNjJlYmJkNDRhNDIuLjQ5
Mjk5MWJiODQ4YzEwNjFiNGU0ZTFhNzFhOTkwN2IwMmM5OWYyNjcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MubWVz
c2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrQ29ubmVj
dGlvblRvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbgpAQCAtMzIsOCArMzIsOCBAQCBtZXNzYWdlcyAt
PiBOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2VzcyBMZWdhY3lSZWNlaXZlciB7CiAgICAgUHJl
ZmV0Y2hETlMoU3RyaW5nIGhvc3RuYW1lKQogICAgIFByZWNvbm5lY3RUbyhPcHRpb25hbDx1aW50
NjRfdD4gcHJlY29ubmVjdGlvbklkZW50aWZpZXIsIFdlYktpdDo6TmV0d29ya1Jlc291cmNlTG9h
ZFBhcmFtZXRlcnMgbG9hZFBhcmFtZXRlcnMpOwogCi0gICAgU3RhcnREb3dubG9hZChXZWJLaXQ6
OkRvd25sb2FkSUQgZG93bmxvYWRJRCwgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0IHJlcXVlc3Qs
IGVudW06Ym9vbCBXZWJLaXQ6Ok5hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluIGlzTmF2aWdhdGlu
Z1RvQXBwQm91bmREb21haW4sIFN0cmluZyBzdWdnZXN0ZWROYW1lKQotICAgIENvbnZlcnRNYWlu
UmVzb3VyY2VMb2FkVG9Eb3dubG9hZCh1aW50NjRfdCBtYWluUmVzb3VyY2VMb2FkSWRlbnRpZmll
ciwgV2ViS2l0OjpEb3dubG9hZElEIGRvd25sb2FkSUQsIFdlYkNvcmU6OlJlc291cmNlUmVxdWVz
dCByZXF1ZXN0LCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlIHJlc3BvbnNlLCBlbnVtOmJvb2wg
V2ViS2l0OjpOYXZpZ2F0aW5nVG9BcHBCb3VuZERvbWFpbiBpc05hdmlnYXRpbmdUb0FwcEJvdW5k
RG9tYWluKQorICAgIFN0YXJ0RG93bmxvYWQoV2ViS2l0OjpEb3dubG9hZElEIGRvd25sb2FkSUQs
IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCByZXF1ZXN0LCBlbnVtOmJvb2wgT3B0aW9uYWw8V2Vi
S2l0OjpOYXZpZ2F0aW5nVG9BcHBCb3VuZERvbWFpbj4gaXNOYXZpZ2F0aW5nVG9BcHBCb3VuZERv
bWFpbiwgU3RyaW5nIHN1Z2dlc3RlZE5hbWUpCisgICAgQ29udmVydE1haW5SZXNvdXJjZUxvYWRU
b0Rvd25sb2FkKHVpbnQ2NF90IG1haW5SZXNvdXJjZUxvYWRJZGVudGlmaWVyLCBXZWJLaXQ6OkRv
d25sb2FkSUQgZG93bmxvYWRJRCwgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0IHJlcXVlc3QsIFdl
YkNvcmU6OlJlc291cmNlUmVzcG9uc2UgcmVzcG9uc2UsIGVudW06Ym9vbCBPcHRpb25hbDxXZWJL
aXQ6Ok5hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluPiBpc05hdmlnYXRpbmdUb0FwcEJvdW5kRG9t
YWluKQogCiAgICAgQ29va2llc0ZvckRPTShVUkwgZmlyc3RQYXJ0eSwgc3RydWN0IFdlYkNvcmU6
OlNhbWVTaXRlSW5mbyBzYW1lU2l0ZUluZm8sIFVSTCB1cmwsIFdlYkNvcmU6OkZyYW1lSWRlbnRp
ZmllciBmcmFtZUlELCBXZWJDb3JlOjpQYWdlSWRlbnRpZmllciBwYWdlSUQsIGVudW06Ym9vbCBX
ZWJDb3JlOjpJbmNsdWRlU2VjdXJlQ29va2llcyBpbmNsdWRlU2VjdXJlQ29va2llcywgZW51bTpi
b29sIFdlYkNvcmU6OlNob3VsZEFza0lUUCBzaG91bGRBc2tJVFApIC0+IChTdHJpbmcgY29va2ll
U3RyaW5nLCBib29sIGRpZEFjY2Vzc1NlY3VyZUNvb2tpZXMpIFN5bmNocm9ub3VzCiAgICAgU2V0
Q29va2llc0Zyb21ET00oVVJMIGZpcnN0UGFydHksIHN0cnVjdCBXZWJDb3JlOjpTYW1lU2l0ZUlu
Zm8gc2FtZVNpdGVJbmZvLCBVUkwgdXJsLCBXZWJDb3JlOjpGcmFtZUlkZW50aWZpZXIgZnJhbWVJ
RCwgV2ViQ29yZTo6UGFnZUlkZW50aWZpZXIgcGFnZUlELCBlbnVtOmJvb2wgV2ViQ29yZTo6U2hv
dWxkQXNrSVRQIHNob3VsZEFza0lUUCwgU3RyaW5nIGNvb2tpZVN0cmluZykKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0xvYWRQYXJhbWV0ZXJzLmggYi9T
b3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtMb2FkUGFyYW1ldGVycy5oCmluZGV4
IDFiZjg0NzU3MWZlOWQwYWM2YmUwZjBkZTkxNjAzYmJjMmI2Y2Q3MzkuLjE0MWM5NTU2ZDBhMzA4
NzczZmNlNDdkMDQ3N2Y5MzhiMDc0ZWNjZWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0
d29ya1Byb2Nlc3MvTmV0d29ya0xvYWRQYXJhbWV0ZXJzLmgKKysrIGIvU291cmNlL1dlYktpdC9O
ZXR3b3JrUHJvY2Vzcy9OZXR3b3JrTG9hZFBhcmFtZXRlcnMuaApAQCAtNjIsNyArNjIsNyBAQCBw
dWJsaWM6CiAgICAgVmVjdG9yPFJlZlB0cjxXZWJDb3JlOjpCbG9iRGF0YUZpbGVSZWZlcmVuY2U+
PiBibG9iRmlsZVJlZmVyZW5jZXM7CiAgICAgUHJlY29ubmVjdE9ubHkgc2hvdWxkUHJlY29ubmVj
dE9ubHkgeyBQcmVjb25uZWN0T25seTo6Tm8gfTsKICAgICBPcHRpb25hbDxOZXR3b3JrQWN0aXZp
dHlUcmFja2VyPiBuZXR3b3JrQWN0aXZpdHlUcmFja2VyOwotICAgIE5hdmlnYXRpbmdUb0FwcEJv
dW5kRG9tYWluIGlzTmF2aWdhdGluZ1RvQXBwQm91bmREb21haW4geyBOYXZpZ2F0aW5nVG9BcHBC
b3VuZERvbWFpbjo6Tm8gfTsKKyAgICBPcHRpb25hbDxOYXZpZ2F0aW5nVG9BcHBCb3VuZERvbWFp
bj4gaXNOYXZpZ2F0aW5nVG9BcHBCb3VuZERvbWFpbiB7IE5hdmlnYXRpbmdUb0FwcEJvdW5kRG9t
YWluOjpObyB9OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmNwcCBiL1NvdXJjZS9XZWJL
aXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuY3BwCmluZGV4IGZjMDVjZmY5MjhkMTUw
ZGM1MDgzMDgxZmVhNGJlOTE1ZWEyMjMzZjkuLjUyYzAxMjk3YjNkNGY0NTUxNjlhMzRhNDAzMGQw
NDZlYTk5NjY3YTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0
d29ya1Byb2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29y
a1Byb2Nlc3MuY3BwCkBAIC0xMzI5LDcgKzEzMjksNyBAQCB2b2lkIE5ldHdvcmtQcm9jZXNzOjpz
ZXRUb1NhbWVTaXRlU3RyaWN0Q29va2llc0ZvclRlc3RpbmcoUEFMOjpTZXNzaW9uSUQgc2Vzc2lv
bgogfQogI2VuZGlmIC8vIEVOQUJMRShSRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpCiAKLXZvaWQg
TmV0d29ya1Byb2Nlc3M6OnByZWNvbm5lY3RUbyhQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIGNv
bnN0IFVSTCYgdXJsLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgV2ViQ29yZTo6U3RvcmVkQ3Jl
ZGVudGlhbHNQb2xpY3kgc3RvcmVkQ3JlZGVudGlhbHNQb2xpY3ksIE5hdmlnYXRpbmdUb0FwcEJv
dW5kRG9tYWluIGlzTmF2aWdhdGluZ1RvQXBwQm91bmREb21haW4pCit2b2lkIE5ldHdvcmtQcm9j
ZXNzOjpwcmVjb25uZWN0VG8oUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBjb25zdCBVUkwmIHVy
bCwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIFdlYkNvcmU6OlN0b3JlZENyZWRlbnRpYWxzUG9s
aWN5IHN0b3JlZENyZWRlbnRpYWxzUG9saWN5LCBPcHRpb25hbDxOYXZpZ2F0aW5nVG9BcHBCb3Vu
ZERvbWFpbj4gaXNOYXZpZ2F0aW5nVG9BcHBCb3VuZERvbWFpbikKIHsKICNpZiBFTkFCTEUoU0VS
VkVSX1BSRUNPTk5FQ1QpCiAjaWYgRU5BQkxFKExFR0FDWV9DVVNUT01fUFJPVE9DT0xfTUFOQUdF
UikKQEAgLTIwMzYsNyArMjAzNiw3IEBAIHZvaWQgTmV0d29ya1Byb2Nlc3M6OnJlbW92ZUNhY2hl
RW5naW5lKGNvbnN0IFBBTDo6U2Vzc2lvbklEJiBzZXNzaW9uSUQpCiAgICAgbV9jYWNoZUVuZ2lu
ZXMucmVtb3ZlKHNlc3Npb25JRCk7CiB9CiAKLXZvaWQgTmV0d29ya1Byb2Nlc3M6OmRvd25sb2Fk
UmVxdWVzdChQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIERvd25sb2FkSUQgZG93bmxvYWRJRCwg
Y29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBOYXZpZ2F0aW5nVG9BcHBCb3VuZERvbWFp
biBpc05hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluLCBjb25zdCBTdHJpbmcmIHN1Z2dlc3RlZEZp
bGVuYW1lKQordm9pZCBOZXR3b3JrUHJvY2Vzczo6ZG93bmxvYWRSZXF1ZXN0KFBBTDo6U2Vzc2lv
bklEIHNlc3Npb25JRCwgRG93bmxvYWRJRCBkb3dubG9hZElELCBjb25zdCBSZXNvdXJjZVJlcXVl
c3QmIHJlcXVlc3QsIE9wdGlvbmFsPE5hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluPiBpc05hdmln
YXRpbmdUb0FwcEJvdW5kRG9tYWluLCBjb25zdCBTdHJpbmcmIHN1Z2dlc3RlZEZpbGVuYW1lKQog
ewogICAgIGRvd25sb2FkTWFuYWdlcigpLnN0YXJ0RG93bmxvYWQoc2Vzc2lvbklELCBkb3dubG9h
ZElELCByZXF1ZXN0LCBpc05hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluLCBzdWdnZXN0ZWRGaWxl
bmFtZSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdv
cmtQcm9jZXNzLmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNz
LmgKaW5kZXggZWQ1ZTExZmNiMDYxZjZlY2IzYmZiZDg3Y2U4M2VmMjU3NTYzMzEwYy4uMDY0YmIx
Y2RjYzhhMjcyYTAyYzRjZjc3M2QwMmRhNDY1MjNkMGVmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQv
TmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaApAQCAtMjczLDcgKzI3Myw3IEBAIHB1Ymxp
YzoKICAgICB1c2luZyBDYWNoZVN0b3JhZ2VSb290UGF0aENhbGxiYWNrID0gQ29tcGxldGlvbkhh
bmRsZXI8dm9pZChTdHJpbmcmJik+OwogICAgIHZvaWQgY2FjaGVTdG9yYWdlUm9vdFBhdGgoUEFM
OjpTZXNzaW9uSUQsIENhY2hlU3RvcmFnZVJvb3RQYXRoQ2FsbGJhY2smJik7CiAKLSAgICB2b2lk
IHByZWNvbm5lY3RUbyhQQUw6OlNlc3Npb25JRCwgY29uc3QgVVJMJiwgY29uc3QgU3RyaW5nJiwg
V2ViQ29yZTo6U3RvcmVkQ3JlZGVudGlhbHNQb2xpY3ksIE5hdmlnYXRpbmdUb0FwcEJvdW5kRG9t
YWluKTsKKyAgICB2b2lkIHByZWNvbm5lY3RUbyhQQUw6OlNlc3Npb25JRCwgY29uc3QgVVJMJiwg
Y29uc3QgU3RyaW5nJiwgV2ViQ29yZTo6U3RvcmVkQ3JlZGVudGlhbHNQb2xpY3ksIE9wdGlvbmFs
PE5hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluPik7CiAKICAgICB2b2lkIHNldFNlc3Npb25Jc0Nv
bnRyb2xsZWRCeUF1dG9tYXRpb24oUEFMOjpTZXNzaW9uSUQsIGJvb2wpOwogICAgIGJvb2wgc2Vz
c2lvbklzQ29udHJvbGxlZEJ5QXV0b21hdGlvbihQQUw6OlNlc3Npb25JRCkgY29uc3Q7CkBAIC00
MDYsNyArNDA2LDcgQEAgcHJpdmF0ZToKICAgICAvLyBGSVhNRTogVGhpcyBzaG91bGQgdGFrZSBh
IHNlc3Npb24gSUQgc28gd2UgY2FuIGlkZW50aWZ5IHdoaWNoIGRpc2sgY2FjaGUgdG8gZGVsZXRl
LgogICAgIHZvaWQgY2xlYXJEaXNrQ2FjaGUoV2FsbFRpbWUgbW9kaWZpZWRTaW5jZSwgQ29tcGxl
dGlvbkhhbmRsZXI8dm9pZCgpPiYmKTsKIAotICAgIHZvaWQgZG93bmxvYWRSZXF1ZXN0KFBBTDo6
U2Vzc2lvbklELCBEb3dubG9hZElELCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmLCBO
YXZpZ2F0aW5nVG9BcHBCb3VuZERvbWFpbiwgY29uc3QgU3RyaW5nJiBzdWdnZXN0ZWRGaWxlbmFt
ZSk7CisgICAgdm9pZCBkb3dubG9hZFJlcXVlc3QoUEFMOjpTZXNzaW9uSUQsIERvd25sb2FkSUQs
IGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYsIE9wdGlvbmFsPE5hdmlnYXRpbmdUb0Fw
cEJvdW5kRG9tYWluPiwgY29uc3QgU3RyaW5nJiBzdWdnZXN0ZWRGaWxlbmFtZSk7CiAgICAgdm9p
ZCByZXN1bWVEb3dubG9hZChQQUw6OlNlc3Npb25JRCwgRG93bmxvYWRJRCwgY29uc3QgSVBDOjpE
YXRhUmVmZXJlbmNlJiByZXN1bWVEYXRhLCBjb25zdCBTdHJpbmcmIHBhdGgsIFNhbmRib3hFeHRl
bnNpb246OkhhbmRsZSYmKTsKICAgICB2b2lkIGNhbmNlbERvd25sb2FkKERvd25sb2FkSUQpOwog
I2lmIFBMQVRGT1JNKENPQ09BKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9OZXR3b3JrUHJvY2Vzcy5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1By
b2Nlc3MvTmV0d29ya1Byb2Nlc3MubWVzc2FnZXMuaW4KaW5kZXggZGZkNjI0NDI0OWNjZmIwOGRh
Y2MwN2JiNmIxNTc2MzhjOGFlMGE0Yi4uMjE5ZDM5MWI0ZmNlZmIzOTY0MjhmNmIyYjYxM2UzNzcz
YzgwYzM1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3Jr
UHJvY2Vzcy5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05l
dHdvcmtQcm9jZXNzLm1lc3NhZ2VzLmluCkBAIC00Nyw3ICs0Nyw3IEBAIG1lc3NhZ2VzIC0+IE5l
dHdvcmtQcm9jZXNzIExlZ2FjeVJlY2VpdmVyIHsKICAgICBEZWxldGVXZWJzaXRlRGF0YShQQUw6
OlNlc3Npb25JRCBzZXNzaW9uSUQsIE9wdGlvblNldDxXZWJLaXQ6OldlYnNpdGVEYXRhVHlwZT4g
d2Vic2l0ZURhdGFUeXBlcywgV2FsbFRpbWUgbW9kaWZpZWRTaW5jZSwgdWludDY0X3QgY2FsbGJh
Y2tJRCkKICAgICBEZWxldGVXZWJzaXRlRGF0YUZvck9yaWdpbnMoUEFMOjpTZXNzaW9uSUQgc2Vz
c2lvbklELCBPcHRpb25TZXQ8V2ViS2l0OjpXZWJzaXRlRGF0YVR5cGU+IHdlYnNpdGVEYXRhVHlw
ZXMsIFZlY3RvcjxXZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRhdGE+IG9yaWdpbnMsIFZlY3RvcjxT
dHJpbmc+IGNvb2tpZUhvc3ROYW1lcywgVmVjdG9yPFN0cmluZz4gSFNUU0NhY2hlSG9zdE5hbWVz
LCB1aW50NjRfdCBjYWxsYmFja0lEKQogCi0gICAgRG93bmxvYWRSZXF1ZXN0KFBBTDo6U2Vzc2lv
bklEIHNlc3Npb25JRCwgV2ViS2l0OjpEb3dubG9hZElEIGRvd25sb2FkSUQsIFdlYkNvcmU6OlJl
c291cmNlUmVxdWVzdCByZXF1ZXN0LCBlbnVtOmJvb2wgV2ViS2l0OjpOYXZpZ2F0aW5nVG9BcHBC
b3VuZERvbWFpbiBpc05hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluLCBTdHJpbmcgc3VnZ2VzdGVk
RmlsZW5hbWUpCisgICAgRG93bmxvYWRSZXF1ZXN0KFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwg
V2ViS2l0OjpEb3dubG9hZElEIGRvd25sb2FkSUQsIFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCBy
ZXF1ZXN0LCBlbnVtOmJvb2wgT3B0aW9uYWw8V2ViS2l0OjpOYXZpZ2F0aW5nVG9BcHBCb3VuZERv
bWFpbj4gaXNOYXZpZ2F0aW5nVG9BcHBCb3VuZERvbWFpbiwgU3RyaW5nIHN1Z2dlc3RlZEZpbGVu
YW1lKQogICAgIFJlc3VtZURvd25sb2FkKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgV2ViS2l0
OjpEb3dubG9hZElEIGRvd25sb2FkSUQsIElQQzo6RGF0YVJlZmVyZW5jZSByZXN1bWVEYXRhLCBT
dHJpbmcgcGF0aCwgV2ViS2l0OjpTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGUgc2FuZGJveEV4dGVu
c2lvbkhhbmRsZSkKICAgICBDYW5jZWxEb3dubG9hZChXZWJLaXQ6OkRvd25sb2FkSUQgZG93bmxv
YWRJRCkKICNpZiBQTEFURk9STShDT0NPQSkKQEAgLTc5LDcgKzc5LDcgQEAgbWVzc2FnZXMgLT4g
TmV0d29ya1Byb2Nlc3MgTGVnYWN5UmVjZWl2ZXIgewogICAgIFByZXBhcmVUb1N1c3BlbmQoYm9v
bCBpc1N1c3BlbnNpb25JbW1pbmVudCkgLT4gKCkgQXN5bmMKICAgICBQcm9jZXNzRGlkUmVzdW1l
KCkKIAotICAgIFByZWNvbm5lY3RUbyhQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIFVSTCB1cmws
IFN0cmluZyB1c2VyQWdlbnQsIGVudW06dWludDhfdCBXZWJDb3JlOjpTdG9yZWRDcmVkZW50aWFs
c1BvbGljeSBzdG9yZWRDcmVkZW50aWFsc1BvbGljeSwgZW51bTpib29sIFdlYktpdDo6TmF2aWdh
dGluZ1RvQXBwQm91bmREb21haW4gaXNOYXZpZ2F0aW5nVG9BcHBCb3VuZERvbWFpbik7CisgICAg
UHJlY29ubmVjdFRvKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgVVJMIHVybCwgU3RyaW5nIHVz
ZXJBZ2VudCwgZW51bTp1aW50OF90IFdlYkNvcmU6OlN0b3JlZENyZWRlbnRpYWxzUG9saWN5IHN0
b3JlZENyZWRlbnRpYWxzUG9saWN5LCBlbnVtOmJvb2wgT3B0aW9uYWw8V2ViS2l0OjpOYXZpZ2F0
aW5nVG9BcHBCb3VuZERvbWFpbj4gaXNOYXZpZ2F0aW5nVG9BcHBCb3VuZERvbWFpbik7CiAKICNp
ZiBFTkFCTEUoUkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNTKQogICAgIENsZWFyUHJldmFsZW50UmVz
b3VyY2UoUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBXZWJDb3JlOjpSZWdpc3RyYWJsZURvbWFp
biByZXNvdXJjZURvbWFpbikgLT4gKCkgQXN5bmMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
TmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnMuY3BwIGIvU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkUGFyYW1ldGVycy5jcHAK
aW5kZXggOTk0YWFlZDEyNTNlNWM4NTJmYzc4ZjA3YWNmZTQ0YmEwYzZkNDIyNC4uNDJmNmNjMWU0
ZjI5MDE2M2VjODM4Njk0NTBmN2FkZjBjYzdlYmNhYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkUGFyYW1ldGVycy5jcHAKKysrIGIv
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkUGFyYW1ldGVy
cy5jcHAKQEAgLTMwMyw3ICszMDMsNyBAQCBPcHRpb25hbDxOZXR3b3JrUmVzb3VyY2VMb2FkUGFy
YW1ldGVycz4gTmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnM6OmRlY29kZShJUAogICAgIHJl
c3VsdC51c2VyQ29udGVudENvbnRyb2xsZXJJZGVudGlmaWVyID0gKnVzZXJDb250ZW50Q29udHJv
bGxlcklkZW50aWZpZXI7CiAjZW5kaWYKIAotICAgIE9wdGlvbmFsPE5hdmlnYXRpbmdUb0FwcEJv
dW5kRG9tYWluPiBpc05hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluOworICAgIE9wdGlvbmFsPE9w
dGlvbmFsPE5hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluPj4gaXNOYXZpZ2F0aW5nVG9BcHBCb3Vu
ZERvbWFpbjsKICAgICBkZWNvZGVyID4+IGlzTmF2aWdhdGluZ1RvQXBwQm91bmREb21haW47CiAg
ICAgaWYgKCFpc05hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluKQogICAgICAgICByZXR1cm4gV1RG
OjpudWxsb3B0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3
b3JrUmVzb3VyY2VMb2FkUGFyYW1ldGVycy5oIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vz
cy9OZXR3b3JrUmVzb3VyY2VMb2FkUGFyYW1ldGVycy5oCmluZGV4IGEwMTRiNTA3NzA0MTk4MGZk
MTA4ODgxOWEyYWZhNWIzOTNhMGFjNDYuLjBjZTE2N2U5ZTBlZTNhYTFlNjVmZDQ5YWUxOGViNjBi
N2E5MDI1OTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29y
a1Jlc291cmNlTG9hZFBhcmFtZXRlcnMuaAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9j
ZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRQYXJhbWV0ZXJzLmgKQEAgLTc2LDcgKzc2LDcgQEAgcHVi
bGljOgogICAgIE9wdGlvbmFsPFVzZXJDb250ZW50Q29udHJvbGxlcklkZW50aWZpZXI+IHVzZXJD
b250ZW50Q29udHJvbGxlcklkZW50aWZpZXI7CiAjZW5kaWYKICAgICAKLSAgICBOYXZpZ2F0aW5n
VG9BcHBCb3VuZERvbWFpbiBpc05hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluIHsgTmF2aWdhdGlu
Z1RvQXBwQm91bmREb21haW46Ok5vIH07CisgICAgT3B0aW9uYWw8TmF2aWdhdGluZ1RvQXBwQm91
bmREb21haW4+IGlzTmF2aWdhdGluZ1RvQXBwQm91bmREb21haW4geyBOYXZpZ2F0aW5nVG9BcHBC
b3VuZERvbWFpbjo6Tm8gfTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9Bc3luY1JldmFsaWRhdGlvbi5j
cHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL0FzeW5jUmV2YWxpZGF0aW9u
LmNwcAppbmRleCBhY2Y3ZTZlMjgxZGEzMDU4NjBiZDRhY2JkYzdmOTc2OWFmMTQ2YmMwLi41OWFl
NDMzZGE3MDc0MWE3OWY4YzM4MTlkZjM5YWQxNDRkZTUwMzMwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL0FzeW5jUmV2YWxpZGF0aW9uLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL0FzeW5jUmV2YWxpZGF0aW9uLmNwcApA
QCAtNjYsNyArNjYsNyBAQCB2b2lkIEFzeW5jUmV2YWxpZGF0aW9uOjpzdGFsZVdoaWxlUmV2YWxp
ZGF0ZUVuZGluZygpCiAgICAgICAgIG1fY29tcGxldGlvbkhhbmRsZXIoUmVzdWx0OjpUaW1lb3V0
KTsKIH0KIAotQXN5bmNSZXZhbGlkYXRpb246OkFzeW5jUmV2YWxpZGF0aW9uKENhY2hlJiBjYWNo
ZSwgY29uc3QgR2xvYmFsRnJhbWVJRCYgZnJhbWVJRCwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VS
ZXF1ZXN0JiByZXF1ZXN0LCBzdGQ6OnVuaXF1ZV9wdHI8TmV0d29ya0NhY2hlOjpFbnRyeT4mJiBl
bnRyeSwgTmF2aWdhdGluZ1RvQXBwQm91bmREb21haW4gaXNOYXZpZ2F0aW5nVG9BcHBCb3VuZERv
bWFpbiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChSZXN1bHQpPiYmIGhhbmRsZXIpCitBc3luY1Jl
dmFsaWRhdGlvbjo6QXN5bmNSZXZhbGlkYXRpb24oQ2FjaGUmIGNhY2hlLCBjb25zdCBHbG9iYWxG
cmFtZUlEJiBmcmFtZUlELCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3Qs
IHN0ZDo6dW5pcXVlX3B0cjxOZXR3b3JrQ2FjaGU6OkVudHJ5PiYmIGVudHJ5LCBPcHRpb25hbDxO
YXZpZ2F0aW5nVG9BcHBCb3VuZERvbWFpbj4gaXNOYXZpZ2F0aW5nVG9BcHBCb3VuZERvbWFpbiwg
Q29tcGxldGlvbkhhbmRsZXI8dm9pZChSZXN1bHQpPiYmIGhhbmRsZXIpCiAgICAgOiBtX3RpbWVy
KCp0aGlzLCAmQXN5bmNSZXZhbGlkYXRpb246OnN0YWxlV2hpbGVSZXZhbGlkYXRlRW5kaW5nKQog
ICAgICwgbV9jb21wbGV0aW9uSGFuZGxlcihXVEZNb3ZlKGhhbmRsZXIpKQogewpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9Bc3luY1JldmFsaWRhdGlvbi5o
IGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9Bc3luY1JldmFsaWRhdGlvbi5o
CmluZGV4IGRjNzhiNjY4YTdiODY2MDU3NjFmNjhmODgyMmM3OGE2NzkzZGEzNGQuLmU4OTc3MTBi
NjVlNDVlOGM4NmI1OWFkMmRiOTc5ZWJjZmI4MDA2ZjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvQXN5bmNSZXZhbGlkYXRpb24uaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL0FzeW5jUmV2YWxpZGF0aW9uLmgKQEAgLTUxLDcg
KzUxLDcgQEAgcHVibGljOgogICAgICAgICBUaW1lb3V0LAogICAgICAgICBTdWNjZXNzLAogICAg
IH07Ci0gICAgQXN5bmNSZXZhbGlkYXRpb24oQ2FjaGUmLCBjb25zdCBHbG9iYWxGcmFtZUlEJiwg
Y29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0Jiwgc3RkOjp1bmlxdWVfcHRyPE5ldHdvcmtD
YWNoZTo6RW50cnk+JiYsIE5hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluLCBDb21wbGV0aW9uSGFu
ZGxlcjx2b2lkKFJlc3VsdCk+JiYpOworICAgIEFzeW5jUmV2YWxpZGF0aW9uKENhY2hlJiwgY29u
c3QgR2xvYmFsRnJhbWVJRCYsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYsIHN0ZDo6
dW5pcXVlX3B0cjxOZXR3b3JrQ2FjaGU6OkVudHJ5PiYmLCBPcHRpb25hbDxOYXZpZ2F0aW5nVG9B
cHBCb3VuZERvbWFpbj4sIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoUmVzdWx0KT4mJik7CiAgICAg
dm9pZCBjYW5jZWwoKTsKIAogICAgIGNvbnN0IFNwZWN1bGF0aXZlTG9hZCYgbG9hZCgpIGNvbnN0
IHsgcmV0dXJuICptX2xvYWQ7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1By
b2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlLmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nl
c3MvY2FjaGUvTmV0d29ya0NhY2hlLmNwcAppbmRleCA2YWU3OGEyYzc1ZTk1MDVjNzA5ZTFmNzY1
YTMwOTU3OGI5NTVkM2U1Li40NjM4YWNlNjAxNmJiYjIzNmM3NjZjMTgyNmMwYzU3OTUxM2ZkNGEz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtD
YWNoZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3Jr
Q2FjaGUuY3BwCkBAIC0zNDAsNyArMzQwLDcgQEAgc3RhdGljIGJvb2wgaW5saW5lIGNhblJlcXVl
c3RVc2VTcGVjdWxhdGl2ZVJldmFsaWRhdGlvbihjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVIKICNl
bmRpZgogCiAjaWYgRU5BQkxFKE5FVFdPUktfQ0FDSEVfU1RBTEVfV0hJTEVfUkVWQUxJREFURSkK
LXZvaWQgQ2FjaGU6OnN0YXJ0QXN5bmNSZXZhbGlkYXRpb25JZk5lZWRlZChjb25zdCBXZWJDb3Jl
OjpSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0IE5ldHdvcmtDYWNoZTo6S2V5JiBrZXks
IHN0ZDo6dW5pcXVlX3B0cjxFbnRyeT4mJiBlbnRyeSwgY29uc3QgR2xvYmFsRnJhbWVJRCYgZnJh
bWVJRCwgTmF2aWdhdGluZ1RvQXBwQm91bmREb21haW4gaXNOYXZpZ2F0aW5nVG9BcHBCb3VuZERv
bWFpbikKK3ZvaWQgQ2FjaGU6OnN0YXJ0QXN5bmNSZXZhbGlkYXRpb25JZk5lZWRlZChjb25zdCBX
ZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0IE5ldHdvcmtDYWNoZTo6S2V5
JiBrZXksIHN0ZDo6dW5pcXVlX3B0cjxFbnRyeT4mJiBlbnRyeSwgY29uc3QgR2xvYmFsRnJhbWVJ
RCYgZnJhbWVJRCwgT3B0aW9uYWw8TmF2aWdhdGluZ1RvQXBwQm91bmREb21haW4+IGlzTmF2aWdh
dGluZ1RvQXBwQm91bmREb21haW4pCiB7CiAgICAgbV9wZW5kaW5nQXN5bmNSZXZhbGlkYXRpb25z
LmVuc3VyZShrZXksIFsmXSB7CiAgICAgICAgIGF1dG8gYWRkUmVzdWx0ID0gbV9wZW5kaW5nQXN5
bmNSZXZhbGlkYXRpb25CeVBhZ2UuZW5zdXJlKGZyYW1lSUQsIFtdIHsKQEAgLTM2Niw3ICszNjYs
NyBAQCB2b2lkIENhY2hlOjpicm93c2luZ0NvbnRleHRSZW1vdmVkKFdlYlBhZ2VQcm94eUlkZW50
aWZpZXIgd2ViUGFnZVByb3h5SUQsIFdlYkNvcgogI2VuZGlmCiB9CiAKLXZvaWQgQ2FjaGU6OnJl
dHJpZXZlKGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgR2xv
YmFsRnJhbWVJRCYgZnJhbWVJRCwgTmF2aWdhdGluZ1RvQXBwQm91bmREb21haW4gaXNOYXZpZ2F0
aW5nVG9BcHBCb3VuZERvbWFpbiwgUmV0cmlldmVDb21wbGV0aW9uSGFuZGxlciYmIGNvbXBsZXRp
b25IYW5kbGVyKQordm9pZCBDYWNoZTo6cmV0cmlldmUoY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VS
ZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBHbG9iYWxGcmFtZUlEJiBmcmFtZUlELCBPcHRpb25hbDxO
YXZpZ2F0aW5nVG9BcHBCb3VuZERvbWFpbj4gaXNOYXZpZ2F0aW5nVG9BcHBCb3VuZERvbWFpbiwg
UmV0cmlldmVDb21wbGV0aW9uSGFuZGxlciYmIGNvbXBsZXRpb25IYW5kbGVyKQogewogICAgIEFT
U0VSVChyZXF1ZXN0LnVybCgpLnByb3RvY29sSXNJbkhUVFBGYW1pbHkoKSk7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlLmggYi9T
b3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZS5oCmluZGV4IGEw
YjgyNzllZjk4MjM2N2RlZDI3MDU2NTRmMDMxNmFiMjM0ODE1YWUuLmI4MjM3YmE5NDZkNmYzMzky
Y2NlM2Q2NmJkYzIxYTRlYmFiOWY1MmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29y
a1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlLmgKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3Jr
UHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGUuaApAQCAtMTcxLDcgKzE3MSw3IEBAIHB1YmxpYzoK
ICAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgfTsKICAgICB1c2luZyBSZXRy
aWV2ZUNvbXBsZXRpb25IYW5kbGVyID0gRnVuY3Rpb248dm9pZChzdGQ6OnVuaXF1ZV9wdHI8RW50
cnk+LCBjb25zdCBSZXRyaWV2ZUluZm8mKT47Ci0gICAgdm9pZCByZXRyaWV2ZShjb25zdCBXZWJD
b3JlOjpSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBHbG9iYWxGcmFtZUlEJiwgTmF2aWdhdGluZ1Rv
QXBwQm91bmREb21haW4sIFJldHJpZXZlQ29tcGxldGlvbkhhbmRsZXImJik7CisgICAgdm9pZCBy
ZXRyaWV2ZShjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBHbG9iYWxGcmFt
ZUlEJiwgT3B0aW9uYWw8TmF2aWdhdGluZ1RvQXBwQm91bmREb21haW4+LCBSZXRyaWV2ZUNvbXBs
ZXRpb25IYW5kbGVyJiYpOwogICAgIHN0ZDo6dW5pcXVlX3B0cjxFbnRyeT4gc3RvcmUoY29uc3Qg
V2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25z
ZSYsIFJlZlB0cjxXZWJDb3JlOjpTaGFyZWRCdWZmZXI+JiYsIEZ1bmN0aW9uPHZvaWQoTWFwcGVk
Qm9keSYpPiYmID0gbnVsbHB0cik7CiAgICAgc3RkOjp1bmlxdWVfcHRyPEVudHJ5PiBzdG9yZVJl
ZGlyZWN0KGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFdlYkNvcmU6OlJl
c291cmNlUmVzcG9uc2UmLCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmIHJlZGlyZWN0
UmVxdWVzdCwgT3B0aW9uYWw8U2Vjb25kcz4gbWF4QWdlQ2FwKTsKICAgICBzdGQ6OnVuaXF1ZV9w
dHI8RW50cnk+IHVwZGF0ZShjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBF
bnRyeSYsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UmIHZhbGlkYXRpbmdSZXNwb25z
ZSk7CkBAIC0yMDMsNyArMjAzLDcgQEAgcHVibGljOgogI2VuZGlmCiAKICNpZiBFTkFCTEUoTkVU
V09SS19DQUNIRV9TVEFMRV9XSElMRV9SRVZBTElEQVRFKQotICAgIHZvaWQgc3RhcnRBc3luY1Jl
dmFsaWRhdGlvbklmTmVlZGVkKGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYsIGNvbnN0
IE5ldHdvcmtDYWNoZTo6S2V5Jiwgc3RkOjp1bmlxdWVfcHRyPEVudHJ5PiYmLCBjb25zdCBHbG9i
YWxGcmFtZUlEJiwgTmF2aWdhdGluZ1RvQXBwQm91bmREb21haW4pOworICAgIHZvaWQgc3RhcnRB
c3luY1JldmFsaWRhdGlvbklmTmVlZGVkKGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYs
IGNvbnN0IE5ldHdvcmtDYWNoZTo6S2V5Jiwgc3RkOjp1bmlxdWVfcHRyPEVudHJ5PiYmLCBjb25z
dCBHbG9iYWxGcmFtZUlEJiwgT3B0aW9uYWw8TmF2aWdhdGluZ1RvQXBwQm91bmREb21haW4+KTsK
ICNlbmRpZgogCiAgICAgdm9pZCBicm93c2luZ0NvbnRleHRSZW1vdmVkKFdlYlBhZ2VQcm94eUlk
ZW50aWZpZXIsIFdlYkNvcmU6OlBhZ2VJZGVudGlmaWVyLCBXZWJDb3JlOjpGcmFtZUlkZW50aWZp
ZXIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3
b3JrQ2FjaGVTcGVjdWxhdGl2ZUxvYWQuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vz
cy9jYWNoZS9OZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZUxvYWQuY3BwCmluZGV4IDI5ZDczMWEwNWJk
Nzc0MTJmODVhYWQzNWZiZjFiNzAwMjJhMjI3YmEuLjc4YzM1MTc2MGMwNWNkNzI1NTJkYmIwMDM0
MTRmZDBiMDg1NzY1MzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
Y2FjaGUvTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVMb2FkLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
L05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVNwZWN1bGF0aXZlTG9hZC5jcHAKQEAg
LTQyLDcgKzQyLDcgQEAgbmFtZXNwYWNlIE5ldHdvcmtDYWNoZSB7CiAKIHVzaW5nIG5hbWVzcGFj
ZSBXZWJDb3JlOwogCi1TcGVjdWxhdGl2ZUxvYWQ6OlNwZWN1bGF0aXZlTG9hZChDYWNoZSYgY2Fj
aGUsIGNvbnN0IEdsb2JhbEZyYW1lSUQmIGdsb2JhbEZyYW1lSUQsIGNvbnN0IFJlc291cmNlUmVx
dWVzdCYgcmVxdWVzdCwgc3RkOjp1bmlxdWVfcHRyPE5ldHdvcmtDYWNoZTo6RW50cnk+IGNhY2hl
RW50cnlGb3JWYWxpZGF0aW9uLCBOYXZpZ2F0aW5nVG9BcHBCb3VuZERvbWFpbiBpc05hdmlnYXRp
bmdUb0FwcEJvdW5kRG9tYWluLCBSZXZhbGlkYXRpb25Db21wbGV0aW9uSGFuZGxlciYmIGNvbXBs
ZXRpb25IYW5kbGVyKQorU3BlY3VsYXRpdmVMb2FkOjpTcGVjdWxhdGl2ZUxvYWQoQ2FjaGUmIGNh
Y2hlLCBjb25zdCBHbG9iYWxGcmFtZUlEJiBnbG9iYWxGcmFtZUlELCBjb25zdCBSZXNvdXJjZVJl
cXVlc3QmIHJlcXVlc3QsIHN0ZDo6dW5pcXVlX3B0cjxOZXR3b3JrQ2FjaGU6OkVudHJ5PiBjYWNo
ZUVudHJ5Rm9yVmFsaWRhdGlvbiwgT3B0aW9uYWw8TmF2aWdhdGluZ1RvQXBwQm91bmREb21haW4+
IGlzTmF2aWdhdGluZ1RvQXBwQm91bmREb21haW4sIFJldmFsaWRhdGlvbkNvbXBsZXRpb25IYW5k
bGVyJiYgY29tcGxldGlvbkhhbmRsZXIpCiAgICAgOiBtX2NhY2hlKGNhY2hlKQogICAgICwgbV9j
b21wbGV0aW9uSGFuZGxlcihXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSkKICAgICAsIG1fb3Jp
Z2luYWxSZXF1ZXN0KHJlcXVlc3QpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVNwZWN1bGF0aXZlTG9hZC5oIGIvU291cmNlL1dlYktp
dC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZUxvYWQuaAppbmRl
eCBhMTJmMmVmYzRkZDI4NzQ2MWY5NDNlY2FlZjMzZmRlNjAzNTI1NTEwLi5kYjVkZGRiOGU2ZmU0
ZDUxZDJlZjkwMDg1YTRiMjRiMTM2Yjk0YzlhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVNwZWN1bGF0aXZlTG9hZC5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVM
b2FkLmgKQEAgLTQ2LDcgKzQ2LDcgQEAgY2xhc3MgU3BlY3VsYXRpdmVMb2FkIGZpbmFsIDogcHVi
bGljIE5ldHdvcmtMb2FkQ2xpZW50IHsKICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1
YmxpYzoKICAgICB1c2luZyBSZXZhbGlkYXRpb25Db21wbGV0aW9uSGFuZGxlciA9IENvbXBsZXRp
b25IYW5kbGVyPHZvaWQoc3RkOjp1bmlxdWVfcHRyPE5ldHdvcmtDYWNoZTo6RW50cnk+KT47Ci0g
ICAgU3BlY3VsYXRpdmVMb2FkKENhY2hlJiwgY29uc3QgR2xvYmFsRnJhbWVJRCYsIGNvbnN0IFdl
YkNvcmU6OlJlc291cmNlUmVxdWVzdCYsIHN0ZDo6dW5pcXVlX3B0cjxOZXR3b3JrQ2FjaGU6OkVu
dHJ5PiwgTmF2aWdhdGluZ1RvQXBwQm91bmREb21haW4sIFJldmFsaWRhdGlvbkNvbXBsZXRpb25I
YW5kbGVyJiYpOworICAgIFNwZWN1bGF0aXZlTG9hZChDYWNoZSYsIGNvbnN0IEdsb2JhbEZyYW1l
SUQmLCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmLCBzdGQ6OnVuaXF1ZV9wdHI8TmV0
d29ya0NhY2hlOjpFbnRyeT4sIE9wdGlvbmFsPE5hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluPiwg
UmV2YWxpZGF0aW9uQ29tcGxldGlvbkhhbmRsZXImJik7CiAKICAgICB2aXJ0dWFsIH5TcGVjdWxh
dGl2ZUxvYWQoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9j
YWNoZS9OZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZUxvYWRNYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJL
aXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVMb2FkTWFuYWdl
ci5jcHAKaW5kZXggMjA5ODM5MzRlNjk5Zjk1ZDQ5MjMwOTM3OGY2NDEyZWFhM2IxOTdiYy4uZjc3
NTA4ZTg2N2M1N2FiZDMxODI2MDc5MWZiNTMzYTA3MTA5NmE5NSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZUxvYWRN
YW5hZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdv
cmtDYWNoZVNwZWN1bGF0aXZlTG9hZE1hbmFnZXIuY3BwCkBAIC0zNDUsNyArMzQ1LDcgQEAgYm9v
bCBTcGVjdWxhdGl2ZUxvYWRNYW5hZ2VyOjpzaG91bGRSZWdpc3RlckxvYWQoY29uc3QgV2ViQ29y
ZTo6UmVzb3VyY2VSZXF1ZXN0JgogICAgIHJldHVybiB0cnVlOwogfQogCi12b2lkIFNwZWN1bGF0
aXZlTG9hZE1hbmFnZXI6OnJlZ2lzdGVyTG9hZChjb25zdCBHbG9iYWxGcmFtZUlEJiBmcmFtZUlE
LCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0IEtleSYgcmVzb3VyY2VLZXks
IE5hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluIGlzTmF2aWdhdGluZ1RvQXBwQm91bmREb21haW4p
Cit2b2lkIFNwZWN1bGF0aXZlTG9hZE1hbmFnZXI6OnJlZ2lzdGVyTG9hZChjb25zdCBHbG9iYWxG
cmFtZUlEJiBmcmFtZUlELCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0IEtl
eSYgcmVzb3VyY2VLZXksIE9wdGlvbmFsPE5hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluPiBpc05h
dmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluKQogewogICAgIEFTU0VSVChSdW5Mb29wOjppc01haW4o
KSk7CiAgICAgQVNTRVJUKHJlcXVlc3QudXJsKCkucHJvdG9jb2xJc0luSFRUUEZhbWlseSgpKTsK
QEAgLTQ0OSw3ICs0NDksNyBAQCBib29sIFNwZWN1bGF0aXZlTG9hZE1hbmFnZXI6OnNhdGlzZnlQ
ZW5kaW5nUmVxdWVzdHMoY29uc3QgS2V5JiBrZXksIEVudHJ5KiBlbnRyeQogICAgIHJldHVybiB0
cnVlOwogfQogCi12b2lkIFNwZWN1bGF0aXZlTG9hZE1hbmFnZXI6OnByZWNvbm5lY3RGb3JTdWJy
ZXNvdXJjZShjb25zdCBTdWJyZXNvdXJjZUluZm8mIHN1YnJlc291cmNlSW5mbywgRW50cnkqIGVu
dHJ5LCBjb25zdCBHbG9iYWxGcmFtZUlEJiBmcmFtZUlELCBOYXZpZ2F0aW5nVG9BcHBCb3VuZERv
bWFpbiBpc05hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluKQordm9pZCBTcGVjdWxhdGl2ZUxvYWRN
YW5hZ2VyOjpwcmVjb25uZWN0Rm9yU3VicmVzb3VyY2UoY29uc3QgU3VicmVzb3VyY2VJbmZvJiBz
dWJyZXNvdXJjZUluZm8sIEVudHJ5KiBlbnRyeSwgY29uc3QgR2xvYmFsRnJhbWVJRCYgZnJhbWVJ
RCwgT3B0aW9uYWw8TmF2aWdhdGluZ1RvQXBwQm91bmREb21haW4+IGlzTmF2aWdhdGluZ1RvQXBw
Qm91bmREb21haW4pCiB7CiAjaWYgRU5BQkxFKFNFUlZFUl9QUkVDT05ORUNUKQogICAgIE5ldHdv
cmtMb2FkUGFyYW1ldGVycyBwYXJhbWV0ZXJzOwpAQCAtNDcwLDcgKzQ3MCw3IEBAIHZvaWQgU3Bl
Y3VsYXRpdmVMb2FkTWFuYWdlcjo6cHJlY29ubmVjdEZvclN1YnJlc291cmNlKGNvbnN0IFN1YnJl
c291cmNlSW5mbyYgc3ViCiAjZW5kaWYKIH0KIAotdm9pZCBTcGVjdWxhdGl2ZUxvYWRNYW5hZ2Vy
OjpyZXZhbGlkYXRlU3VicmVzb3VyY2UoY29uc3QgU3VicmVzb3VyY2VJbmZvJiBzdWJyZXNvdXJj
ZUluZm8sIHN0ZDo6dW5pcXVlX3B0cjxFbnRyeT4gZW50cnksIGNvbnN0IEdsb2JhbEZyYW1lSUQm
IGZyYW1lSUQsIE5hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluIGlzTmF2aWdhdGluZ1RvQXBwQm91
bmREb21haW4pCit2b2lkIFNwZWN1bGF0aXZlTG9hZE1hbmFnZXI6OnJldmFsaWRhdGVTdWJyZXNv
dXJjZShjb25zdCBTdWJyZXNvdXJjZUluZm8mIHN1YnJlc291cmNlSW5mbywgc3RkOjp1bmlxdWVf
cHRyPEVudHJ5PiBlbnRyeSwgY29uc3QgR2xvYmFsRnJhbWVJRCYgZnJhbWVJRCwgT3B0aW9uYWw8
TmF2aWdhdGluZ1RvQXBwQm91bmREb21haW4+IGlzTmF2aWdhdGluZ1RvQXBwQm91bmREb21haW4p
CiB7CiAgICAgQVNTRVJUKCFlbnRyeSB8fCBlbnRyeS0+bmVlZHNWYWxpZGF0aW9uKCkpOwogCkBA
IC01NTUsNyArNTU1LDcgQEAgc3RhdGljIGJvb2wgY2FuUmV2YWxpZGF0ZShjb25zdCBTdWJyZXNv
dXJjZUluZm8mIHN1YnJlc291cmNlSW5mbywgY29uc3QgRW50cnkqIGUKICAgICByZXR1cm4gZmFs
c2U7CiB9CiAKLXZvaWQgU3BlY3VsYXRpdmVMb2FkTWFuYWdlcjo6cHJlbG9hZEVudHJ5KGNvbnN0
IEtleSYga2V5LCBjb25zdCBTdWJyZXNvdXJjZUluZm8mIHN1YnJlc291cmNlSW5mbywgY29uc3Qg
R2xvYmFsRnJhbWVJRCYgZnJhbWVJRCwgTmF2aWdhdGluZ1RvQXBwQm91bmREb21haW4gaXNOYXZp
Z2F0aW5nVG9BcHBCb3VuZERvbWFpbikKK3ZvaWQgU3BlY3VsYXRpdmVMb2FkTWFuYWdlcjo6cHJl
bG9hZEVudHJ5KGNvbnN0IEtleSYga2V5LCBjb25zdCBTdWJyZXNvdXJjZUluZm8mIHN1YnJlc291
cmNlSW5mbywgY29uc3QgR2xvYmFsRnJhbWVJRCYgZnJhbWVJRCwgT3B0aW9uYWw8TmF2aWdhdGlu
Z1RvQXBwQm91bmREb21haW4+IGlzTmF2aWdhdGluZ1RvQXBwQm91bmREb21haW4pCiB7CiAgICAg
aWYgKG1fcGVuZGluZ1ByZWxvYWRzLmNvbnRhaW5zKGtleSkpCiAgICAgICAgIHJldHVybjsKQEAg
LTU4Miw3ICs1ODIsNyBAQCB2b2lkIFNwZWN1bGF0aXZlTG9hZE1hbmFnZXI6OnByZWxvYWRFbnRy
eShjb25zdCBLZXkmIGtleSwgY29uc3QgU3VicmVzb3VyY2VJbmZvJgogICAgIH0pOwogfQogCi12
b2lkIFNwZWN1bGF0aXZlTG9hZE1hbmFnZXI6OnN0YXJ0U3BlY3VsYXRpdmVSZXZhbGlkYXRpb24o
Y29uc3QgR2xvYmFsRnJhbWVJRCYgZnJhbWVJRCwgU3VicmVzb3VyY2VzRW50cnkmIGVudHJ5LCBO
YXZpZ2F0aW5nVG9BcHBCb3VuZERvbWFpbiBpc05hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluKQor
dm9pZCBTcGVjdWxhdGl2ZUxvYWRNYW5hZ2VyOjpzdGFydFNwZWN1bGF0aXZlUmV2YWxpZGF0aW9u
KGNvbnN0IEdsb2JhbEZyYW1lSUQmIGZyYW1lSUQsIFN1YnJlc291cmNlc0VudHJ5JiBlbnRyeSwg
T3B0aW9uYWw8TmF2aWdhdGluZ1RvQXBwQm91bmREb21haW4+IGlzTmF2aWdhdGluZ1RvQXBwQm91
bmREb21haW4pCiB7CiAgICAgZm9yIChhdXRvJiBzdWJyZXNvdXJjZUluZm8gOiBlbnRyeS5zdWJy
ZXNvdXJjZXMoKSkgewogICAgICAgICBhdXRvJiBrZXkgPSBzdWJyZXNvdXJjZUluZm8ua2V5KCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtD
YWNoZVNwZWN1bGF0aXZlTG9hZE1hbmFnZXIuaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nl
c3MvY2FjaGUvTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVMb2FkTWFuYWdlci5oCmluZGV4IDk3ODA0
NjlmZTE1YTRjYmJlYTFiM2UwMzBlYWUxZDhiZTMwMTEzYTcuLjM2Y2IwZTJmOWMwZTg3NmQyODQy
NmY3ZmQwY2Q1YWJiYjhkYWY3OWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1By
b2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVMb2FkTWFuYWdlci5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVM
b2FkTWFuYWdlci5oCkBAIC00OSw3ICs0OSw3IEBAIHB1YmxpYzoKICAgICBleHBsaWNpdCBTcGVj
dWxhdGl2ZUxvYWRNYW5hZ2VyKENhY2hlJiwgU3RvcmFnZSYpOwogICAgIH5TcGVjdWxhdGl2ZUxv
YWRNYW5hZ2VyKCk7CiAKLSAgICB2b2lkIHJlZ2lzdGVyTG9hZChjb25zdCBHbG9iYWxGcmFtZUlE
JiwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgS2V5JiByZXNvdXJjZUtl
eSwgTmF2aWdhdGluZ1RvQXBwQm91bmREb21haW4pOworICAgIHZvaWQgcmVnaXN0ZXJMb2FkKGNv
bnN0IEdsb2JhbEZyYW1lSUQmLCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmLCBjb25z
dCBLZXkmIHJlc291cmNlS2V5LCBPcHRpb25hbDxOYXZpZ2F0aW5nVG9BcHBCb3VuZERvbWFpbj4p
OwogICAgIHZvaWQgcmVnaXN0ZXJNYWluUmVzb3VyY2VMb2FkUmVzcG9uc2UoY29uc3QgR2xvYmFs
RnJhbWVJRCYsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFdlYkNvcmU6
OlJlc291cmNlUmVzcG9uc2UmKTsKIAogICAgIHR5cGVkZWYgRnVuY3Rpb248dm9pZCAoc3RkOjp1
bmlxdWVfcHRyPEVudHJ5Pik+IFJldHJpZXZlQ29tcGxldGlvbkhhbmRsZXI7CkBAIC02MiwxMyAr
NjIsMTMgQEAgcHJpdmF0ZToKIAogICAgIHN0YXRpYyBib29sIHNob3VsZFJlZ2lzdGVyTG9hZChj
b25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmKTsKICAgICB2b2lkIGFkZFByZWxvYWRlZEVu
dHJ5KHN0ZDo6dW5pcXVlX3B0cjxFbnRyeT4sIGNvbnN0IEdsb2JhbEZyYW1lSUQmLCBPcHRpb25h
bDxXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3Q+JiYgcmV2YWxpZGF0aW9uUmVxdWVzdCA9IFdURjo6
bnVsbG9wdCk7Ci0gICAgdm9pZCBwcmVsb2FkRW50cnkoY29uc3QgS2V5JiwgY29uc3QgU3VicmVz
b3VyY2VJbmZvJiwgY29uc3QgR2xvYmFsRnJhbWVJRCYsIE5hdmlnYXRpbmdUb0FwcEJvdW5kRG9t
YWluKTsKKyAgICB2b2lkIHByZWxvYWRFbnRyeShjb25zdCBLZXkmLCBjb25zdCBTdWJyZXNvdXJj
ZUluZm8mLCBjb25zdCBHbG9iYWxGcmFtZUlEJiwgT3B0aW9uYWw8TmF2aWdhdGluZ1RvQXBwQm91
bmREb21haW4+KTsKICAgICB2b2lkIHJldHJpZXZlRW50cnlGcm9tU3RvcmFnZShjb25zdCBTdWJy
ZXNvdXJjZUluZm8mLCBSZXRyaWV2ZUNvbXBsZXRpb25IYW5kbGVyJiYpOwotICAgIHZvaWQgcmV2
YWxpZGF0ZVN1YnJlc291cmNlKGNvbnN0IFN1YnJlc291cmNlSW5mbyYsIHN0ZDo6dW5pcXVlX3B0
cjxFbnRyeT4sIGNvbnN0IEdsb2JhbEZyYW1lSUQmLCBOYXZpZ2F0aW5nVG9BcHBCb3VuZERvbWFp
bik7Ci0gICAgdm9pZCBwcmVjb25uZWN0Rm9yU3VicmVzb3VyY2UoY29uc3QgU3VicmVzb3VyY2VJ
bmZvJiwgRW50cnkqLCBjb25zdCBHbG9iYWxGcmFtZUlEJiwgTmF2aWdhdGluZ1RvQXBwQm91bmRE
b21haW4pOworICAgIHZvaWQgcmV2YWxpZGF0ZVN1YnJlc291cmNlKGNvbnN0IFN1YnJlc291cmNl
SW5mbyYsIHN0ZDo6dW5pcXVlX3B0cjxFbnRyeT4sIGNvbnN0IEdsb2JhbEZyYW1lSUQmLCBPcHRp
b25hbDxOYXZpZ2F0aW5nVG9BcHBCb3VuZERvbWFpbj4pOworICAgIHZvaWQgcHJlY29ubmVjdEZv
clN1YnJlc291cmNlKGNvbnN0IFN1YnJlc291cmNlSW5mbyYsIEVudHJ5KiwgY29uc3QgR2xvYmFs
RnJhbWVJRCYsIE9wdGlvbmFsPE5hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluPik7CiAgICAgYm9v
bCBzYXRpc2Z5UGVuZGluZ1JlcXVlc3RzKGNvbnN0IEtleSYsIEVudHJ5Kik7CiAgICAgdm9pZCBy
ZXRyaWV2ZVN1YnJlc291cmNlc0VudHJ5KGNvbnN0IEtleSYgc3RvcmFnZUtleSwgV1RGOjpGdW5j
dGlvbjx2b2lkIChzdGQ6OnVuaXF1ZV9wdHI8U3VicmVzb3VyY2VzRW50cnk+KT4mJik7Ci0gICAg
dm9pZCBzdGFydFNwZWN1bGF0aXZlUmV2YWxpZGF0aW9uKGNvbnN0IEdsb2JhbEZyYW1lSUQmLCBT
dWJyZXNvdXJjZXNFbnRyeSYsIE5hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluKTsKKyAgICB2b2lk
IHN0YXJ0U3BlY3VsYXRpdmVSZXZhbGlkYXRpb24oY29uc3QgR2xvYmFsRnJhbWVJRCYsIFN1YnJl
c291cmNlc0VudHJ5JiwgT3B0aW9uYWw8TmF2aWdhdGluZ1RvQXBwQm91bmREb21haW4+KTsKIAog
ICAgIHN0YXRpYyBib29sIGNhblVzZVByZWxvYWRlZEVudHJ5KGNvbnN0IFByZWxvYWRlZEVudHJ5
JiwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiBhY3R1YWxSZXF1ZXN0KTsKICAgICBz
dGF0aWMgYm9vbCBjYW5Vc2VQZW5kaW5nUHJlbG9hZChjb25zdCBTcGVjdWxhdGl2ZUxvYWQmLCBj
b25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmIGFjdHVhbFJlcXVlc3QpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrRGF0YVRhc2tDb2Nv
YS5oIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrRGF0YVRhc2tD
b2NvYS5oCmluZGV4IDA4NzBlNTEwZGM2YTI3OWY4NzE0YzlkNTA5YTYzMTUzZDVhYWMwZGQuLjdj
OTU5NTYyMWIzYjg4MTNjZTM5MzNiOGVlZmUyNmJlOTJiZDQzZjIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya0RhdGFUYXNrQ29jb2EuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtEYXRhVGFza0NvY29h
LmgKQEAgLTQyLDcgKzQyLDcgQEAgc3RydWN0IFNlc3Npb25XcmFwcGVyOwogCiBjbGFzcyBOZXR3
b3JrRGF0YVRhc2tDb2NvYSBmaW5hbCA6IHB1YmxpYyBOZXR3b3JrRGF0YVRhc2sgewogcHVibGlj
OgotICAgIHN0YXRpYyBSZWY8TmV0d29ya0RhdGFUYXNrPiBjcmVhdGUoTmV0d29ya1Nlc3Npb24m
IHNlc3Npb24sIE5ldHdvcmtEYXRhVGFza0NsaWVudCYgY2xpZW50LCBjb25zdCBXZWJDb3JlOjpS
ZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIFdlYkNvcmU6OkZyYW1lSWRlbnRpZmllciBmcmFtZUlE
LCBXZWJDb3JlOjpQYWdlSWRlbnRpZmllciBwYWdlSUQsIFdlYkNvcmU6OlN0b3JlZENyZWRlbnRp
YWxzUG9saWN5IHN0b3JlZENyZWRlbnRpYWxzUG9saWN5LCBXZWJDb3JlOjpDb250ZW50U25pZmZp
bmdQb2xpY3kgc2hvdWxkQ29udGVudFNuaWZmLCBXZWJDb3JlOjpDb250ZW50RW5jb2RpbmdTbmlm
ZmluZ1BvbGljeSBzaG91bGRDb250ZW50RW5jb2RpbmdTbmlmZiwgYm9vbCBzaG91bGRDbGVhclJl
ZmVycmVyT25IVFRQU1RvSFRUUFJlZGlyZWN0LCBQcmVjb25uZWN0T25seSBzaG91bGRQcmVjb25u
ZWN0T25seSwgYm9vbCBkYXRhVGFza0lzRm9yTWFpbkZyYW1lTmF2aWdhdGlvbiwgYm9vbCBkYXRh
VGFza0lzRm9yTWFpblJlc291cmNlTmF2aWdhdGlvbkZvckFueUZyYW1lLCBPcHRpb25hbDxOZXR3
b3JrQWN0aXZpdHlUcmFja2VyPiBuZXR3b3JrQWN0aXZpdHlUcmFja2VyLCBOYXZpZ2F0aW5nVG9B
cHBCb3VuZERvbWFpbiBpc05hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluKQorICAgIHN0YXRpYyBS
ZWY8TmV0d29ya0RhdGFUYXNrPiBjcmVhdGUoTmV0d29ya1Nlc3Npb24mIHNlc3Npb24sIE5ldHdv
cmtEYXRhVGFza0NsaWVudCYgY2xpZW50LCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3Qm
IHJlcXVlc3QsIFdlYkNvcmU6OkZyYW1lSWRlbnRpZmllciBmcmFtZUlELCBXZWJDb3JlOjpQYWdl
SWRlbnRpZmllciBwYWdlSUQsIFdlYkNvcmU6OlN0b3JlZENyZWRlbnRpYWxzUG9saWN5IHN0b3Jl
ZENyZWRlbnRpYWxzUG9saWN5LCBXZWJDb3JlOjpDb250ZW50U25pZmZpbmdQb2xpY3kgc2hvdWxk
Q29udGVudFNuaWZmLCBXZWJDb3JlOjpDb250ZW50RW5jb2RpbmdTbmlmZmluZ1BvbGljeSBzaG91
bGRDb250ZW50RW5jb2RpbmdTbmlmZiwgYm9vbCBzaG91bGRDbGVhclJlZmVycmVyT25IVFRQU1Rv
SFRUUFJlZGlyZWN0LCBQcmVjb25uZWN0T25seSBzaG91bGRQcmVjb25uZWN0T25seSwgYm9vbCBk
YXRhVGFza0lzRm9yTWFpbkZyYW1lTmF2aWdhdGlvbiwgYm9vbCBkYXRhVGFza0lzRm9yTWFpblJl
c291cmNlTmF2aWdhdGlvbkZvckFueUZyYW1lLCBPcHRpb25hbDxOZXR3b3JrQWN0aXZpdHlUcmFj
a2VyPiBuZXR3b3JrQWN0aXZpdHlUcmFja2VyLCBPcHRpb25hbDxOYXZpZ2F0aW5nVG9BcHBCb3Vu
ZERvbWFpbj4gaXNOYXZpZ2F0aW5nVG9BcHBCb3VuZERvbWFpbikKICAgICB7CiAgICAgICAgIHJl
dHVybiBhZG9wdFJlZigqbmV3IE5ldHdvcmtEYXRhVGFza0NvY29hKHNlc3Npb24sIGNsaWVudCwg
cmVxdWVzdCwgZnJhbWVJRCwgcGFnZUlELCBzdG9yZWRDcmVkZW50aWFsc1BvbGljeSwgc2hvdWxk
Q29udGVudFNuaWZmLCBzaG91bGRDb250ZW50RW5jb2RpbmdTbmlmZiwgc2hvdWxkQ2xlYXJSZWZl
cnJlck9uSFRUUFNUb0hUVFBSZWRpcmVjdCwgc2hvdWxkUHJlY29ubmVjdE9ubHksIGRhdGFUYXNr
SXNGb3JNYWluRnJhbWVOYXZpZ2F0aW9uLCBkYXRhVGFza0lzRm9yTWFpblJlc291cmNlTmF2aWdh
dGlvbkZvckFueUZyYW1lLCBuZXR3b3JrQWN0aXZpdHlUcmFja2VyLCBpc05hdmlnYXRpbmdUb0Fw
cEJvdW5kRG9tYWluKSk7CiAgICAgfQpAQCAtNzYsNyArNzYsNyBAQCBwdWJsaWM6CiAgICAgU3Ry
aW5nIGRlc2NyaXB0aW9uKCkgY29uc3Qgb3ZlcnJpZGU7CiAKIHByaXZhdGU6Ci0gICAgTmV0d29y
a0RhdGFUYXNrQ29jb2EoTmV0d29ya1Nlc3Npb24mLCBOZXR3b3JrRGF0YVRhc2tDbGllbnQmLCBj
b25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmLCBXZWJDb3JlOjpGcmFtZUlkZW50aWZpZXIs
IFdlYkNvcmU6OlBhZ2VJZGVudGlmaWVyLCBXZWJDb3JlOjpTdG9yZWRDcmVkZW50aWFsc1BvbGlj
eSwgV2ViQ29yZTo6Q29udGVudFNuaWZmaW5nUG9saWN5LCBXZWJDb3JlOjpDb250ZW50RW5jb2Rp
bmdTbmlmZmluZ1BvbGljeSwgYm9vbCBzaG91bGRDbGVhclJlZmVycmVyT25IVFRQU1RvSFRUUFJl
ZGlyZWN0LCBQcmVjb25uZWN0T25seSwgYm9vbCBkYXRhVGFza0lzRm9yTWFpbkZyYW1lTmF2aWdh
dGlvbiwgYm9vbCBkYXRhVGFza0lzRm9yTWFpblJlc291cmNlTmF2aWdhdGlvbkZvckFueUZyYW1l
LCBPcHRpb25hbDxOZXR3b3JrQWN0aXZpdHlUcmFja2VyPiwgTmF2aWdhdGluZ1RvQXBwQm91bmRE
b21haW4gaXNOYXZpZ2F0aW5nVG9BcHBCb3VuZERvbWFpbik7CisgICAgTmV0d29ya0RhdGFUYXNr
Q29jb2EoTmV0d29ya1Nlc3Npb24mLCBOZXR3b3JrRGF0YVRhc2tDbGllbnQmLCBjb25zdCBXZWJD
b3JlOjpSZXNvdXJjZVJlcXVlc3QmLCBXZWJDb3JlOjpGcmFtZUlkZW50aWZpZXIsIFdlYkNvcmU6
OlBhZ2VJZGVudGlmaWVyLCBXZWJDb3JlOjpTdG9yZWRDcmVkZW50aWFsc1BvbGljeSwgV2ViQ29y
ZTo6Q29udGVudFNuaWZmaW5nUG9saWN5LCBXZWJDb3JlOjpDb250ZW50RW5jb2RpbmdTbmlmZmlu
Z1BvbGljeSwgYm9vbCBzaG91bGRDbGVhclJlZmVycmVyT25IVFRQU1RvSFRUUFJlZGlyZWN0LCBQ
cmVjb25uZWN0T25seSwgYm9vbCBkYXRhVGFza0lzRm9yTWFpbkZyYW1lTmF2aWdhdGlvbiwgYm9v
bCBkYXRhVGFza0lzRm9yTWFpblJlc291cmNlTmF2aWdhdGlvbkZvckFueUZyYW1lLCBPcHRpb25h
bDxOZXR3b3JrQWN0aXZpdHlUcmFja2VyPiwgT3B0aW9uYWw8TmF2aWdhdGluZ1RvQXBwQm91bmRE
b21haW4+IGlzTmF2aWdhdGluZ1RvQXBwQm91bmREb21haW4pOwogCiAgICAgYm9vbCB0cnlQYXNz
d29yZEJhc2VkQXV0aGVudGljYXRpb24oY29uc3QgV2ViQ29yZTo6QXV0aGVudGljYXRpb25DaGFs
bGVuZ2UmLCBDaGFsbGVuZ2VDb21wbGV0aW9uSGFuZGxlciYpOwogICAgIHZvaWQgYXBwbHlTbmlm
ZmluZ1BvbGljaWVzQW5kQmluZFJlcXVlc3RUb0luZmVyZmFjZUlmTmVlZGVkKF9fc3Ryb25nIE5T
VVJMUmVxdWVzdComLCBib29sIHNob3VsZENvbnRlbnRTbmlmZiwgYm9vbCBzaG91bGRDb250ZW50
RW5jb2RpbmdTbmlmZik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L2NvY29hL05ldHdvcmtEYXRhVGFza0NvY29hLm1tIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9jb2NvYS9OZXR3b3JrRGF0YVRhc2tDb2NvYS5tbQppbmRleCA5YTJjYzMyNWU1OTE0YzFk
YmQwNGJiOWZlZDkyMDIzM2RiOWU4N2JkLi4wYzg4MDU2M2RmZDJhNGNhN2ExZTZkNmRlNjMyMzMw
NGI3NWFkYzIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NvY29h
L05ldHdvcmtEYXRhVGFza0NvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nl
c3MvY29jb2EvTmV0d29ya0RhdGFUYXNrQ29jb2EubW0KQEAgLTIwNCw3ICsyMDQsNyBAQCBzdGF0
aWMgaW5saW5lIGJvb2wgY29tcHV0ZUlzQWx3YXlzT25Mb2dnaW5nQWxsb3dlZChOZXR3b3JrU2Vz
c2lvbiYgc2Vzc2lvbikKICAgICByZXR1cm4gc2Vzc2lvbi5zZXNzaW9uSUQoKS5pc0Fsd2F5c09u
TG9nZ2luZ0FsbG93ZWQoKTsKIH0KIAotTmV0d29ya0RhdGFUYXNrQ29jb2E6Ok5ldHdvcmtEYXRh
VGFza0NvY29hKE5ldHdvcmtTZXNzaW9uJiBzZXNzaW9uLCBOZXR3b3JrRGF0YVRhc2tDbGllbnQm
IGNsaWVudCwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0V2l0aENyZWRl
bnRpYWxzLCBXZWJDb3JlOjpGcmFtZUlkZW50aWZpZXIgZnJhbWVJRCwgV2ViQ29yZTo6UGFnZUlk
ZW50aWZpZXIgcGFnZUlELCBXZWJDb3JlOjpTdG9yZWRDcmVkZW50aWFsc1BvbGljeSBzdG9yZWRD
cmVkZW50aWFsc1BvbGljeSwgV2ViQ29yZTo6Q29udGVudFNuaWZmaW5nUG9saWN5IHNob3VsZENv
bnRlbnRTbmlmZiwgV2ViQ29yZTo6Q29udGVudEVuY29kaW5nU25pZmZpbmdQb2xpY3kgc2hvdWxk
Q29udGVudEVuY29kaW5nU25pZmYsIGJvb2wgc2hvdWxkQ2xlYXJSZWZlcnJlck9uSFRUUFNUb0hU
VFBSZWRpcmVjdCwgUHJlY29ubmVjdE9ubHkgc2hvdWxkUHJlY29ubmVjdE9ubHksIGJvb2wgZGF0
YVRhc2tJc0Zvck1haW5GcmFtZU5hdmlnYXRpb24sIGJvb2wgZGF0YVRhc2tJc0Zvck1haW5SZXNv
dXJjZU5hdmlnYXRpb25Gb3JBbnlGcmFtZSwgT3B0aW9uYWw8TmV0d29ya0FjdGl2aXR5VHJhY2tl
cj4gbmV0d29ya0FjdGl2aXR5VHJhY2tlciwgTmF2aWdhdGluZ1RvQXBwQm91bmREb21haW4gaXNO
YXZpZ2F0aW5nVG9BcHBCb3VuZERvbWFpbikKK05ldHdvcmtEYXRhVGFza0NvY29hOjpOZXR3b3Jr
RGF0YVRhc2tDb2NvYShOZXR3b3JrU2Vzc2lvbiYgc2Vzc2lvbiwgTmV0d29ya0RhdGFUYXNrQ2xp
ZW50JiBjbGllbnQsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYgcmVxdWVzdFdpdGhD
cmVkZW50aWFscywgV2ViQ29yZTo6RnJhbWVJZGVudGlmaWVyIGZyYW1lSUQsIFdlYkNvcmU6OlBh
Z2VJZGVudGlmaWVyIHBhZ2VJRCwgV2ViQ29yZTo6U3RvcmVkQ3JlZGVudGlhbHNQb2xpY3kgc3Rv
cmVkQ3JlZGVudGlhbHNQb2xpY3ksIFdlYkNvcmU6OkNvbnRlbnRTbmlmZmluZ1BvbGljeSBzaG91
bGRDb250ZW50U25pZmYsIFdlYkNvcmU6OkNvbnRlbnRFbmNvZGluZ1NuaWZmaW5nUG9saWN5IHNo
b3VsZENvbnRlbnRFbmNvZGluZ1NuaWZmLCBib29sIHNob3VsZENsZWFyUmVmZXJyZXJPbkhUVFBT
VG9IVFRQUmVkaXJlY3QsIFByZWNvbm5lY3RPbmx5IHNob3VsZFByZWNvbm5lY3RPbmx5LCBib29s
IGRhdGFUYXNrSXNGb3JNYWluRnJhbWVOYXZpZ2F0aW9uLCBib29sIGRhdGFUYXNrSXNGb3JNYWlu
UmVzb3VyY2VOYXZpZ2F0aW9uRm9yQW55RnJhbWUsIE9wdGlvbmFsPE5ldHdvcmtBY3Rpdml0eVRy
YWNrZXI+IG5ldHdvcmtBY3Rpdml0eVRyYWNrZXIsIE9wdGlvbmFsPE5hdmlnYXRpbmdUb0FwcEJv
dW5kRG9tYWluPiBpc05hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluKQogICAgIDogTmV0d29ya0Rh
dGFUYXNrKHNlc3Npb24sIGNsaWVudCwgcmVxdWVzdFdpdGhDcmVkZW50aWFscywgc3RvcmVkQ3Jl
ZGVudGlhbHNQb2xpY3ksIHNob3VsZENsZWFyUmVmZXJyZXJPbkhUVFBTVG9IVFRQUmVkaXJlY3Qs
IGRhdGFUYXNrSXNGb3JNYWluRnJhbWVOYXZpZ2F0aW9uKQogICAgICwgbV9zZXNzaW9uV3JhcHBl
cihtYWtlV2Vha1B0cihzdGF0aWNfY2FzdDxOZXR3b3JrU2Vzc2lvbkNvY29hJj4oc2Vzc2lvbiku
c2Vzc2lvbldyYXBwZXJGb3JUYXNrKHJlcXVlc3RXaXRoQ3JlZGVudGlhbHMsIHN0b3JlZENyZWRl
bnRpYWxzUG9saWN5LCBpc05hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluKSkpCiAgICAgLCBtX2Zy
YW1lSUQoZnJhbWVJRCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
Y29jb2EvTmV0d29ya1Nlc3Npb25Db2NvYS5oIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vz
cy9jb2NvYS9OZXR3b3JrU2Vzc2lvbkNvY29hLmgKaW5kZXggYzNiNGE0NWFmOTExNDk4ZjFkNTc5
NDA0NTM5NDJlNjE4YTY0NmU0My4uNTMxYWMyZDUyZTU3OTIwYmYyOWFkODA3MzkxMTg3M2JjNTg2
NjU2ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3
b3JrU2Vzc2lvbkNvY29hLmgKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jb2Nv
YS9OZXR3b3JrU2Vzc2lvbkNvY29hLmgKQEAgLTk1LDcgKzk1LDcgQEAgcHVibGljOgogCiAgICAg
Ym9vbCBoYXNBcHBCb3VuZFNlc3Npb24oKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiAhIW1fYXBw
Qm91bmRTZXNzaW9uOyB9CiAKLSAgICBTZXNzaW9uV3JhcHBlciYgc2Vzc2lvbldyYXBwZXJGb3JU
YXNrKGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYsIFdlYkNvcmU6OlN0b3JlZENyZWRl
bnRpYWxzUG9saWN5LCBOYXZpZ2F0aW5nVG9BcHBCb3VuZERvbWFpbik7CisgICAgU2Vzc2lvbldy
YXBwZXImIHNlc3Npb25XcmFwcGVyRm9yVGFzayhjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVl
c3QmLCBXZWJDb3JlOjpTdG9yZWRDcmVkZW50aWFsc1BvbGljeSwgT3B0aW9uYWw8TmF2aWdhdGlu
Z1RvQXBwQm91bmREb21haW4+KTsKICAgICB2b2lkIHNldEluQXBwQnJvd3NlclByaXZhY3lFbmFi
bGVkKGJvb2wgZW5hYmxlZCkgb3ZlcnJpZGUgeyBtX2lzSW5BcHBCcm93c2VyUHJpdmFjeUVuYWJs
ZWQgPSBlbmFibGVkOyB9CiAgICAgYm9vbCBpc0luQXBwQnJvd3NlclByaXZhY3lFbmFibGVkKCkg
Y29uc3QgeyByZXR1cm4gbV9pc0luQXBwQnJvd3NlclByaXZhY3lFbmFibGVkOyB9CiAgICAgYm9v
bCBwcmV2ZW50c1N5c3RlbUhUVFBQcm94eUF1dGhlbnRpY2F0aW9uKCkgY29uc3QgeyByZXR1cm4g
bV9wcmV2ZW50c1N5c3RlbUhUVFBQcm94eUF1dGhlbnRpY2F0aW9uOyB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtTZXNzaW9uQ29jb2EubW0g
Yi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtTZXNzaW9uQ29jb2Eu
bW0KaW5kZXggMDc1MTY2ZDkyY2U2NDdmMWVjZDRmNzc3YjkyY2MxMjg1OTAxODdkYy4uY2MxMzc1
YjRlY2JlZGZkMDNkMmQzMWE5MjBhNDljODAyYzE3YjJhNSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrU2Vzc2lvbkNvY29hLm1tCisrKyBiL1Nv
dXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya1Nlc3Npb25Db2NvYS5tbQpA
QCAtMTIwMSwxOCArMTIwMSwxOSBAQCB2b2lkIE5ldHdvcmtTZXNzaW9uQ29jb2E6OmluaXRpYWxp
emVFcGhlbWVyYWxTdGF0ZWxlc3NTZXNzaW9uKE5hdmlnYXRpbmdUb0FwcEJvdQogICAgIG1fZXBo
ZW1lcmFsU3RhdGVsZXNzU2Vzc2lvbi5pbml0aWFsaXplKGNvbmZpZ3VyYXRpb24sICp0aGlzLCBX
ZWJDb3JlOjpTdG9yZWRDcmVkZW50aWFsc1BvbGljeTo6RXBoZW1lcmFsU3RhdGVsZXNzLCBpc05h
dmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluKTsKIH0KIAotU2Vzc2lvbldyYXBwZXImIE5ldHdvcmtT
ZXNzaW9uQ29jb2E6OnNlc3Npb25XcmFwcGVyRm9yVGFzayhjb25zdCBXZWJDb3JlOjpSZXNvdXJj
ZVJlcXVlc3QmIHJlcXVlc3QsIFdlYkNvcmU6OlN0b3JlZENyZWRlbnRpYWxzUG9saWN5IHN0b3Jl
ZENyZWRlbnRpYWxzUG9saWN5LCBOYXZpZ2F0aW5nVG9BcHBCb3VuZERvbWFpbiBpc05hdmlnYXRp
bmdUb0FwcEJvdW5kRG9tYWluKQorU2Vzc2lvbldyYXBwZXImIE5ldHdvcmtTZXNzaW9uQ29jb2E6
OnNlc3Npb25XcmFwcGVyRm9yVGFzayhjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmIHJl
cXVlc3QsIFdlYkNvcmU6OlN0b3JlZENyZWRlbnRpYWxzUG9saWN5IHN0b3JlZENyZWRlbnRpYWxz
UG9saWN5LCBPcHRpb25hbDxOYXZpZ2F0aW5nVG9BcHBCb3VuZERvbWFpbj4gaXNOYXZpZ2F0aW5n
VG9BcHBCb3VuZERvbWFpbikKIHsKKyAgICBhdXRvIHNob3VsZEJlQ29uc2lkZXJlZEFwcEJvdW5k
ID0gaXNOYXZpZ2F0aW5nVG9BcHBCb3VuZERvbWFpbiA/ICppc05hdmlnYXRpbmdUb0FwcEJvdW5k
RG9tYWluIDogTmF2aWdhdGluZ1RvQXBwQm91bmREb21haW46OlllczsKICNpZiBFTkFCTEUoUkVT
T1VSQ0VfTE9BRF9TVEFUSVNUSUNTKQogICAgIGlmIChhdXRvKiBzdG9yYWdlU2Vzc2lvbiA9IG5l
dHdvcmtTdG9yYWdlU2Vzc2lvbigpKSB7CiAgICAgICAgIGF1dG8gZmlyc3RQYXJ0eSA9IFdlYkNv
cmU6OlJlZ2lzdHJhYmxlRG9tYWluKHJlcXVlc3QuZmlyc3RQYXJ0eUZvckNvb2tpZXMoKSk7CiAg
ICAgICAgIGlmIChzdG9yYWdlU2Vzc2lvbi0+c2hvdWxkQmxvY2tUaGlyZFBhcnR5Q29va2llc0J1
dEtlZXBGaXJzdFBhcnR5Q29va2llc0ZvcihmaXJzdFBhcnR5KSkKLSAgICAgICAgICAgIHJldHVy
biBpc29sYXRlZFNlc3Npb24oc3RvcmVkQ3JlZGVudGlhbHNQb2xpY3ksIGZpcnN0UGFydHksIGlz
TmF2aWdhdGluZ1RvQXBwQm91bmREb21haW4pOworICAgICAgICAgICAgcmV0dXJuIGlzb2xhdGVk
U2Vzc2lvbihzdG9yZWRDcmVkZW50aWFsc1BvbGljeSwgZmlyc3RQYXJ0eSwgc2hvdWxkQmVDb25z
aWRlcmVkQXBwQm91bmQpOwogICAgIH0gZWxzZQogICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQo
KTsKICNlbmRpZgogCi0gICAgaWYgKGlzTmF2aWdhdGluZ1RvQXBwQm91bmREb21haW4gPT0gTmF2
aWdhdGluZ1RvQXBwQm91bmREb21haW46OlllcykKKyAgICBpZiAoc2hvdWxkQmVDb25zaWRlcmVk
QXBwQm91bmQgPT0gTmF2aWdhdGluZ1RvQXBwQm91bmREb21haW46OlllcykKICAgICAgICAgcmV0
dXJuIGFwcEJvdW5kU2Vzc2lvbihzdG9yZWRDcmVkZW50aWFsc1BvbGljeSk7CiAKICAgICBzd2l0
Y2ggKHN0b3JlZENyZWRlbnRpYWxzUG9saWN5KSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1NoYXJlZC9Mb2FkUGFyYW1ldGVycy5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQvTG9hZFBhcmFt
ZXRlcnMuaAppbmRleCBhZjRkNDFlMmFlNjAwYmI4MDQ2NjIzNTU2NzU3NDlhNDhhMmQ1MGIxLi5l
MGRkMDMwZDM0N2Q4NmVmZWYwNTBhMjgwNWQ0NjU4MzgyNTk4NDhmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1NoYXJlZC9Mb2FkUGFyYW1ldGVycy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hh
cmVkL0xvYWRQYXJhbWV0ZXJzLmgKQEAgLTcwLDcgKzcwLDcgQEAgc3RydWN0IExvYWRQYXJhbWV0
ZXJzIHsKICAgICBXZWJDb3JlOjpMb2NrSGlzdG9yeSBsb2NrSGlzdG9yeSB7IFdlYkNvcmU6Okxv
Y2tIaXN0b3J5OjpObyB9OwogICAgIFdlYkNvcmU6OkxvY2tCYWNrRm9yd2FyZExpc3QgbG9ja0Jh
Y2tGb3J3YXJkTGlzdCB7IFdlYkNvcmU6OkxvY2tCYWNrRm9yd2FyZExpc3Q6Ok5vIH07CiAgICAg
U3RyaW5nIGNsaWVudFJlZGlyZWN0U291cmNlRm9ySGlzdG9yeTsKLSAgICBOYXZpZ2F0aW5nVG9B
cHBCb3VuZERvbWFpbiBpc05hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluIHsgTmF2aWdhdGluZ1Rv
QXBwQm91bmREb21haW46Ok5vIH07CisgICAgT3B0aW9uYWw8TmF2aWdhdGluZ1RvQXBwQm91bmRE
b21haW4+IGlzTmF2aWdhdGluZ1RvQXBwQm91bmREb21haW4geyBOYXZpZ2F0aW5nVG9BcHBCb3Vu
ZERvbWFpbjo6Tm8gfTsKICAgICBOYXZpZ2F0ZWRBd2F5RnJvbUFwcEJvdW5kRG9tYWluIGhhc05h
dmlnYXRlZEF3YXlGcm9tQXBwQm91bmREb21haW4geyBOYXZpZ2F0ZWRBd2F5RnJvbUFwcEJvdW5k
RG9tYWluOjpObyB9OwogCiAjaWYgUExBVEZPUk0oQ09DT0EpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1NoYXJlZC9Qb2xpY3lEZWNpc2lvbi5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQvUG9s
aWN5RGVjaXNpb24uaAppbmRleCA5MjViNzU3YjRjNGEwNWM1YTA4ZjliNDZhZjMxMDcwMDdiYmMz
MDRkLi45ZDAzYWM2ZDYxZmE2ZWJlM2EwOGMxNGMxNmE0ZWI1YzA4M2Y2ZDlkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Qb2xpY3lEZWNpc2lvbi5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvU2hhcmVkL1BvbGljeURlY2lzaW9uLmgKQEAgLTM2LDcgKzM2LDcgQEAgZW51bSBjbGFzcyBO
YXZpZ2F0ZWRBd2F5RnJvbUFwcEJvdW5kRG9tYWluIDogYm9vbCB7IFllcywgTm99OwogCiBzdHJ1
Y3QgUG9saWN5RGVjaXNpb24gewogICAgIFdlYkNvcmU6OlBvbGljeUNoZWNrSWRlbnRpZmllciBp
ZGVudGlmaWVyIHsgfTsKLSAgICBOYXZpZ2F0aW5nVG9BcHBCb3VuZERvbWFpbiBpc05hdmlnYXRp
bmdUb0FwcEJvdW5kRG9tYWluIHsgTmF2aWdhdGluZ1RvQXBwQm91bmREb21haW46Ok5vIH07Cisg
ICAgT3B0aW9uYWw8TmF2aWdhdGluZ1RvQXBwQm91bmREb21haW4+IGlzTmF2aWdhdGluZ1RvQXBw
Qm91bmREb21haW4geyBOYXZpZ2F0aW5nVG9BcHBCb3VuZERvbWFpbjo6Tm8gfTsKICAgICBOYXZp
Z2F0ZWRBd2F5RnJvbUFwcEJvdW5kRG9tYWluIGhhc05hdmlnYXRlZEF3YXlGcm9tQXBwQm91bmRE
b21haW4geyBOYXZpZ2F0ZWRBd2F5RnJvbUFwcEJvdW5kRG9tYWluOjpObyB9OwogICAgIFdlYkNv
cmU6OlBvbGljeUFjdGlvbiBwb2xpY3lBY3Rpb24geyBXZWJDb3JlOjpQb2xpY3lBY3Rpb246Okln
bm9yZSB9OwogICAgIHVpbnQ2NF90IG5hdmlnYXRpb25JRCB7IDAgfTsKQEAgLTYzLDcgKzYzLDcg
QEAgc3RydWN0IFBvbGljeURlY2lzaW9uIHsKICAgICAgICAgaWYgKCFkZWNvZGVkSWRlbnRpZmll
cikKICAgICAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CiAgICAgICAgIAotICAgICAgICBP
cHRpb25hbDxOYXZpZ2F0aW5nVG9BcHBCb3VuZERvbWFpbj4gZGVjb2RlZElzTmF2aWdhdGluZ1Rv
QXBwQm91bmREb21haW47CisgICAgICAgIE9wdGlvbmFsPE9wdGlvbmFsPE5hdmlnYXRpbmdUb0Fw
cEJvdW5kRG9tYWluPj4gZGVjb2RlZElzTmF2aWdhdGluZ1RvQXBwQm91bmREb21haW47CiAgICAg
ICAgIGRlY29kZXIgPj4gZGVjb2RlZElzTmF2aWdhdGluZ1RvQXBwQm91bmREb21haW47CiAgICAg
ICAgIGlmICghZGVjb2RlZElzTmF2aWdhdGluZ1RvQXBwQm91bmREb21haW4pCiAgICAgICAgICAg
ICByZXR1cm4gV1RGOjpudWxsb3B0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94eS5jcHAKaW5kZXggMTE1N2ZlN2NmMGVjYTY5
ZTY5NGE1ODc0NjRmMjUzZjU0MjFmMzFiMy4uZDczNzNhMGNkNjQxYzY2NjRlOTFhMzZjYjhkYWEz
YWRjZDM3MzhlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTmV0d29yay9O
ZXR3b3JrUHJvY2Vzc1Byb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9OZXR3
b3JrL05ldHdvcmtQcm9jZXNzUHJveHkuY3BwCkBAIC0xNDA5LDcgKzE0MDksNyBAQCB2b2lkIE5l
dHdvcmtQcm9jZXNzUHJveHk6OmdldExvY2FsU3RvcmFnZURldGFpbHMoUEFMOjpTZXNzaW9uSUQg
c2Vzc2lvbklELCBDb21wbAogICAgIHNlbmRXaXRoQXN5bmNSZXBseShNZXNzYWdlczo6TmV0d29y
a1Byb2Nlc3M6OkdldExvY2FsU3RvcmFnZU9yaWdpbkRldGFpbHMoc2Vzc2lvbklEKSwgV1RGTW92
ZShjb21wbGV0aW9uSGFuZGxlcikpOwogfQogCi12b2lkIE5ldHdvcmtQcm9jZXNzUHJveHk6OnBy
ZWNvbm5lY3RUbyhQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIGNvbnN0IFVSTCYgdXJsLCBjb25z
dCBTdHJpbmcmIHVzZXJBZ2VudCwgV2ViQ29yZTo6U3RvcmVkQ3JlZGVudGlhbHNQb2xpY3kgc3Rv
cmVkQ3JlZGVudGlhbHNQb2xpY3ksIE5hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluIGlzTmF2aWdh
dGluZ1RvQXBwQm91bmREb21haW4pCit2b2lkIE5ldHdvcmtQcm9jZXNzUHJveHk6OnByZWNvbm5l
Y3RUbyhQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIGNvbnN0IFVSTCYgdXJsLCBjb25zdCBTdHJp
bmcmIHVzZXJBZ2VudCwgV2ViQ29yZTo6U3RvcmVkQ3JlZGVudGlhbHNQb2xpY3kgc3RvcmVkQ3Jl
ZGVudGlhbHNQb2xpY3ksIE9wdGlvbmFsPE5hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluPiBpc05h
dmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluKQogewogICAgIGlmICghdXJsLmlzVmFsaWQoKSB8fCAh
dXJsLnByb3RvY29sSXNJbkhUVFBGYW1pbHkoKSB8fCBTZWN1cml0eU9yaWdpbjo6aXNMb2NhbEhv
c3RPckxvb3BiYWNrSVBBZGRyZXNzKHVybC5ob3N0KCkpKQogICAgICAgICByZXR1cm47CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJv
eHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94
eS5oCmluZGV4IGUwMzNiZGE5MDllMzVjNGRmZTUyMjVkOWE4YjczMmEyODQ5MWE4ZmIuLjY4NjEw
Yjc5NzhjODRhZmY5MzkxZDljNzE1MjdjMzk1Zjg5YzJlNzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94eS5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94eS5oCkBAIC0xMTAs
NyArMTEwLDcgQEAgcHVibGljOgogCiAgICAgdm9pZCBnZXRMb2NhbFN0b3JhZ2VEZXRhaWxzKFBB
TDo6U2Vzc2lvbklELCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFZlY3RvcjxMb2NhbFN0b3JhZ2VE
YXRhYmFzZVRyYWNrZXI6Ok9yaWdpbkRldGFpbHM+JiYpPiYmKTsKIAotICAgIHZvaWQgcHJlY29u
bmVjdFRvKFBBTDo6U2Vzc2lvbklELCBjb25zdCBVUkwmLCBjb25zdCBTdHJpbmcmLCBXZWJDb3Jl
OjpTdG9yZWRDcmVkZW50aWFsc1BvbGljeSwgTmF2aWdhdGluZ1RvQXBwQm91bmREb21haW4pOwor
ICAgIHZvaWQgcHJlY29ubmVjdFRvKFBBTDo6U2Vzc2lvbklELCBjb25zdCBVUkwmLCBjb25zdCBT
dHJpbmcmLCBXZWJDb3JlOjpTdG9yZWRDcmVkZW50aWFsc1BvbGljeSwgT3B0aW9uYWw8TmF2aWdh
dGluZ1RvQXBwQm91bmREb21haW4+KTsKIAogI2lmIEVOQUJMRShSRVNPVVJDRV9MT0FEX1NUQVRJ
U1RJQ1MpCiAgICAgdm9pZCBjbGVhclByZXZhbGVudFJlc291cmNlKFBBTDo6U2Vzc2lvbklELCBj
b25zdCBSZWdpc3RyYWJsZURvbWFpbiYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJik7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Qcm92aXNpb25hbFBhZ2VQcm94eS5j
cHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Qcm92aXNpb25hbFBhZ2VQcm94eS5jcHAKaW5k
ZXggYzg2Y2U4MTFjMTE4ODExNjE3MTc4MDk1ZDYyMDkwMTJiMGQyOGQ2Ni4uMWVhMjBmMTY5Nzdm
NmY2ZTMwYTAwOTUyYjQ4YzY3YzEwYTk1MmU1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvUHJvdmlzaW9uYWxQYWdlUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1Byb3Zpc2lvbmFsUGFnZVByb3h5LmNwcApAQCAtMTU2LDE0ICsxNTYsMTQgQEAgdm9p
ZCBQcm92aXNpb25hbFBhZ2VQcm94eTo6aW5pdGlhbGl6ZVdlYlBhZ2UoUmVmUHRyPEFQSTo6V2Vi
c2l0ZVBvbGljaWVzPiYmIHdlYnMKICAgICAgICAgc2VuZChNZXNzYWdlczo6V2ViUGFnZTo6RnJl
ZXplTGF5ZXJUcmVlRHVlVG9Td2lwZUFuaW1hdGlvbigpKTsKIH0KIAotdm9pZCBQcm92aXNpb25h
bFBhZ2VQcm94eTo6bG9hZERhdGEoQVBJOjpOYXZpZ2F0aW9uJiBuYXZpZ2F0aW9uLCBjb25zdCBJ
UEM6OkRhdGFSZWZlcmVuY2UmIGRhdGEsIGNvbnN0IFN0cmluZyYgTUlNRVR5cGUsIGNvbnN0IFN0
cmluZyYgZW5jb2RpbmcsIGNvbnN0IFN0cmluZyYgYmFzZVVSTCwgQVBJOjpPYmplY3QqIHVzZXJE
YXRhLCBOYXZpZ2F0aW5nVG9BcHBCb3VuZERvbWFpbiBpc05hdmlnYXRpbmdUb0FwcEJvdW5kRG9t
YWluLCBOYXZpZ2F0ZWRBd2F5RnJvbUFwcEJvdW5kRG9tYWluIGhhc05hdmlnYXRlZEF3YXlGcm9t
QXBwQm91bmREb21haW4sIE9wdGlvbmFsPFdlYnNpdGVQb2xpY2llc0RhdGE+JiYgd2Vic2l0ZVBv
bGljaWVzKQordm9pZCBQcm92aXNpb25hbFBhZ2VQcm94eTo6bG9hZERhdGEoQVBJOjpOYXZpZ2F0
aW9uJiBuYXZpZ2F0aW9uLCBjb25zdCBJUEM6OkRhdGFSZWZlcmVuY2UmIGRhdGEsIGNvbnN0IFN0
cmluZyYgTUlNRVR5cGUsIGNvbnN0IFN0cmluZyYgZW5jb2RpbmcsIGNvbnN0IFN0cmluZyYgYmFz
ZVVSTCwgQVBJOjpPYmplY3QqIHVzZXJEYXRhLCBPcHRpb25hbDxOYXZpZ2F0aW5nVG9BcHBCb3Vu
ZERvbWFpbj4gaXNOYXZpZ2F0aW5nVG9BcHBCb3VuZERvbWFpbiwgTmF2aWdhdGVkQXdheUZyb21B
cHBCb3VuZERvbWFpbiBoYXNOYXZpZ2F0ZWRBd2F5RnJvbUFwcEJvdW5kRG9tYWluLCBPcHRpb25h
bDxXZWJzaXRlUG9saWNpZXNEYXRhPiYmIHdlYnNpdGVQb2xpY2llcykKIHsKICAgICBSRUxFQVNF
X0xPR19JRl9BTExPV0VEKFByb2Nlc3NTd2FwcGluZywgImxvYWREYXRhOiBwYWdlUHJveHlJRD0l
IiBQUkl1NjQgIiB3ZWJQYWdlSUQ9JSIgUFJJdTY0LCBtX3BhZ2UuaWRlbnRpZmllcigpLnRvVUlu
dDY0KCksIG1fd2ViUGFnZUlELnRvVUludDY0KCkpOwogCiAgICAgbV9wYWdlLmxvYWREYXRhV2l0
aE5hdmlnYXRpb25TaGFyZWQobV9wcm9jZXNzLmNvcHlSZWYoKSwgbV93ZWJQYWdlSUQsIG5hdmln
YXRpb24sIGRhdGEsIE1JTUVUeXBlLCBlbmNvZGluZywgYmFzZVVSTCwgdXNlckRhdGEsIFdlYkNv
cmU6OlNob3VsZFRyZWF0QXNDb250aW51aW5nTG9hZDo6WWVzLCBpc05hdmlnYXRpbmdUb0FwcEJv
dW5kRG9tYWluLCBoYXNOYXZpZ2F0ZWRBd2F5RnJvbUFwcEJvdW5kRG9tYWluLCBXVEZNb3ZlKHdl
YnNpdGVQb2xpY2llcyksIG5hdmlnYXRpb24ubGFzdE5hdmlnYXRpb25BY3Rpb24oKS5zaG91bGRP
cGVuRXh0ZXJuYWxVUkxzUG9saWN5KTsKIH0KIAotdm9pZCBQcm92aXNpb25hbFBhZ2VQcm94eTo6
bG9hZFJlcXVlc3QoQVBJOjpOYXZpZ2F0aW9uJiBuYXZpZ2F0aW9uLCBXZWJDb3JlOjpSZXNvdXJj
ZVJlcXVlc3QmJiByZXF1ZXN0LCBBUEk6Ok9iamVjdCogdXNlckRhdGEsIE5hdmlnYXRpbmdUb0Fw
cEJvdW5kRG9tYWluIGlzTmF2aWdhdGluZ1RvQXBwQm91bmREb21haW4sIE5hdmlnYXRlZEF3YXlG
cm9tQXBwQm91bmREb21haW4gaGFzTmF2aWdhdGVkQXdheUZyb21BcHBCb3VuZERvbWFpbiwgT3B0
aW9uYWw8V2Vic2l0ZVBvbGljaWVzRGF0YT4mJiB3ZWJzaXRlUG9saWNpZXMpCit2b2lkIFByb3Zp
c2lvbmFsUGFnZVByb3h5Ojpsb2FkUmVxdWVzdChBUEk6Ok5hdmlnYXRpb24mIG5hdmlnYXRpb24s
IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYmIHJlcXVlc3QsIEFQSTo6T2JqZWN0KiB1c2VyRGF0
YSwgT3B0aW9uYWw8TmF2aWdhdGluZ1RvQXBwQm91bmREb21haW4+IGlzTmF2aWdhdGluZ1RvQXBw
Qm91bmREb21haW4sIE5hdmlnYXRlZEF3YXlGcm9tQXBwQm91bmREb21haW4gaGFzTmF2aWdhdGVk
QXdheUZyb21BcHBCb3VuZERvbWFpbiwgT3B0aW9uYWw8V2Vic2l0ZVBvbGljaWVzRGF0YT4mJiB3
ZWJzaXRlUG9saWNpZXMpCiB7CiAgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRChQcm9jZXNzU3dh
cHBpbmcsICJsb2FkUmVxdWVzdDogcGFnZVByb3h5SUQ9JSIgUFJJdTY0ICIgd2ViUGFnZUlEPSUi
IFBSSXU2NCwgbV9wYWdlLmlkZW50aWZpZXIoKS50b1VJbnQ2NCgpLCBtX3dlYlBhZ2VJRC50b1VJ
bnQ2NCgpKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUHJvdmlzaW9u
YWxQYWdlUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1Byb3Zpc2lvbmFsUGFnZVBy
b3h5LmgKaW5kZXggZTQ1OWNmNTk5YjBmNDRjMDYxZWFhZmE3ZDA5OTQ3MmJmMTQ0NDIwMy4uN2Ux
NmU2OWIzOWZiNDlhZDkzZjZhYjhkMTljOGUzODdmYWI2ZmVlNCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvUHJvdmlzaW9uYWxQYWdlUHJveHkuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9Qcm92aXNpb25hbFBhZ2VQcm94eS5oCkBAIC05Miw4ICs5Miw4IEBAIHB1
YmxpYzoKICAgICBMYXllckhvc3RpbmdDb250ZXh0SUQgY29udGV4dElERm9yVmlzaWJpbGl0eVBy
b3BhZ2F0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9jb250ZXh0SURGb3JWaXNpYmlsaXR5UHJvcGFn
YXRpb247IH0KICNlbmRpZgogCi0gICAgdm9pZCBsb2FkRGF0YShBUEk6Ok5hdmlnYXRpb24mLCBj
b25zdCBJUEM6OkRhdGFSZWZlcmVuY2UmLCBjb25zdCBTdHJpbmcmIE1JTUVUeXBlLCBjb25zdCBT
dHJpbmcmIGVuY29kaW5nLCBjb25zdCBTdHJpbmcmIGJhc2VVUkwsIEFQSTo6T2JqZWN0KiB1c2Vy
RGF0YSwgTmF2aWdhdGluZ1RvQXBwQm91bmREb21haW4sIE5hdmlnYXRlZEF3YXlGcm9tQXBwQm91
bmREb21haW4sIE9wdGlvbmFsPFdlYnNpdGVQb2xpY2llc0RhdGE+JiYgPSBXVEY6Om51bGxvcHQp
OwotICAgIHZvaWQgbG9hZFJlcXVlc3QoQVBJOjpOYXZpZ2F0aW9uJiwgV2ViQ29yZTo6UmVzb3Vy
Y2VSZXF1ZXN0JiYsIEFQSTo6T2JqZWN0KiB1c2VyRGF0YSwgTmF2aWdhdGluZ1RvQXBwQm91bmRE
b21haW4sIE5hdmlnYXRlZEF3YXlGcm9tQXBwQm91bmREb21haW4sIE9wdGlvbmFsPFdlYnNpdGVQ
b2xpY2llc0RhdGE+JiYgPSBXVEY6Om51bGxvcHQpOworICAgIHZvaWQgbG9hZERhdGEoQVBJOjpO
YXZpZ2F0aW9uJiwgY29uc3QgSVBDOjpEYXRhUmVmZXJlbmNlJiwgY29uc3QgU3RyaW5nJiBNSU1F
VHlwZSwgY29uc3QgU3RyaW5nJiBlbmNvZGluZywgY29uc3QgU3RyaW5nJiBiYXNlVVJMLCBBUEk6
Ok9iamVjdCogdXNlckRhdGEsIE9wdGlvbmFsPE5hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluPiwg
TmF2aWdhdGVkQXdheUZyb21BcHBCb3VuZERvbWFpbiwgT3B0aW9uYWw8V2Vic2l0ZVBvbGljaWVz
RGF0YT4mJiA9IFdURjo6bnVsbG9wdCk7CisgICAgdm9pZCBsb2FkUmVxdWVzdChBUEk6Ok5hdmln
YXRpb24mLCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmJiwgQVBJOjpPYmplY3QqIHVzZXJEYXRh
LCBPcHRpb25hbDxOYXZpZ2F0aW5nVG9BcHBCb3VuZERvbWFpbj4sIE5hdmlnYXRlZEF3YXlGcm9t
QXBwQm91bmREb21haW4sIE9wdGlvbmFsPFdlYnNpdGVQb2xpY2llc0RhdGE+JiYgPSBXVEY6Om51
bGxvcHQpOwogICAgIHZvaWQgZ29Ub0JhY2tGb3J3YXJkSXRlbShBUEk6Ok5hdmlnYXRpb24mLCBX
ZWJCYWNrRm9yd2FyZExpc3RJdGVtJiwgUmVmUHRyPEFQSTo6V2Vic2l0ZVBvbGljaWVzPiYmKTsK
ICAgICB2b2lkIGNhbmNlbCgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9XZWJQYWdlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5
LmNwcAppbmRleCBkOTRjNzgyMjVjNTJkNjkwMmM5ZDU5MDZhMzM1MDBjNTVkMTgzNDUxLi5jOTdl
MGFlNzk1YTkxNzdiYjNmNTZkMGQwMWRhOTYxM2FhZGYyYzUwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKQEAgLTEyOTgsNyArMTI5OCw3IEBAIFJlZlB0cjxBUEk6
Ok5hdmlnYXRpb24+IFdlYlBhZ2VQcm94eTo6bG9hZFJlcXVlc3QoUmVzb3VyY2VSZXF1ZXN0JiYg
cmVxdWVzdCwgU2hvCiAgICAgcmV0dXJuIG5hdmlnYXRpb247CiB9CiAKLXZvaWQgV2ViUGFnZVBy
b3h5Ojpsb2FkUmVxdWVzdFdpdGhOYXZpZ2F0aW9uU2hhcmVkKFJlZjxXZWJQcm9jZXNzUHJveHk+
JiYgcHJvY2VzcywgV2ViQ29yZTo6UGFnZUlkZW50aWZpZXIgd2ViUGFnZUlELCBBUEk6Ok5hdmln
YXRpb24mIG5hdmlnYXRpb24sIFJlc291cmNlUmVxdWVzdCYmIHJlcXVlc3QsIFNob3VsZE9wZW5F
eHRlcm5hbFVSTHNQb2xpY3kgc2hvdWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeSwgQVBJOjpPYmpl
Y3QqIHVzZXJEYXRhLCBTaG91bGRUcmVhdEFzQ29udGludWluZ0xvYWQgc2hvdWxkVHJlYXRBc0Nv
bnRpbnVpbmdMb2FkLCBOYXZpZ2F0aW5nVG9BcHBCb3VuZERvbWFpbiBpc05hdmlnYXRpbmdUb0Fw
cEJvdW5kRG9tYWluLCBOYXZpZ2F0ZWRBd2F5RnJvbUFwcEJvdW5kRG9tYWluIGhhc05hdmlnYXRl
ZEF3YXlGcm9tQXBwQm91bmREb21haW4sIE9wdGlvbmFsPFdlYnNpdGVQb2xpY2llc0RhdGE+JiYg
d2Vic2l0ZVBvbGljaWVzKQordm9pZCBXZWJQYWdlUHJveHk6OmxvYWRSZXF1ZXN0V2l0aE5hdmln
YXRpb25TaGFyZWQoUmVmPFdlYlByb2Nlc3NQcm94eT4mJiBwcm9jZXNzLCBXZWJDb3JlOjpQYWdl
SWRlbnRpZmllciB3ZWJQYWdlSUQsIEFQSTo6TmF2aWdhdGlvbiYgbmF2aWdhdGlvbiwgUmVzb3Vy
Y2VSZXF1ZXN0JiYgcmVxdWVzdCwgU2hvdWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeSBzaG91bGRP
cGVuRXh0ZXJuYWxVUkxzUG9saWN5LCBBUEk6Ok9iamVjdCogdXNlckRhdGEsIFNob3VsZFRyZWF0
QXNDb250aW51aW5nTG9hZCBzaG91bGRUcmVhdEFzQ29udGludWluZ0xvYWQsIE9wdGlvbmFsPE5h
dmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluPiBpc05hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluLCBO
YXZpZ2F0ZWRBd2F5RnJvbUFwcEJvdW5kRG9tYWluIGhhc05hdmlnYXRlZEF3YXlGcm9tQXBwQm91
bmREb21haW4sIE9wdGlvbmFsPFdlYnNpdGVQb2xpY2llc0RhdGE+JiYgd2Vic2l0ZVBvbGljaWVz
KQogewogICAgIEFTU0VSVCghbV9pc0Nsb3NlZCk7CiAKQEAgLTE0MjIsNyArMTQyMiw3IEBAIFJl
ZlB0cjxBUEk6Ok5hdmlnYXRpb24+IFdlYlBhZ2VQcm94eTo6bG9hZERhdGEoY29uc3QgSVBDOjpE
YXRhUmVmZXJlbmNlJiBkYXRhLCBjCiAgICAgcmV0dXJuIG5hdmlnYXRpb247CiB9CiAKLXZvaWQg
V2ViUGFnZVByb3h5Ojpsb2FkRGF0YVdpdGhOYXZpZ2F0aW9uU2hhcmVkKFJlZjxXZWJQcm9jZXNz
UHJveHk+JiYgcHJvY2VzcywgV2ViQ29yZTo6UGFnZUlkZW50aWZpZXIgd2ViUGFnZUlELCBBUEk6
Ok5hdmlnYXRpb24mIG5hdmlnYXRpb24sIGNvbnN0IElQQzo6RGF0YVJlZmVyZW5jZSYgZGF0YSwg
Y29uc3QgU3RyaW5nJiBNSU1FVHlwZSwgY29uc3QgU3RyaW5nJiBlbmNvZGluZywgY29uc3QgU3Ry
aW5nJiBiYXNlVVJMLCBBUEk6Ok9iamVjdCogdXNlckRhdGEsIFNob3VsZFRyZWF0QXNDb250aW51
aW5nTG9hZCBzaG91bGRUcmVhdEFzQ29udGludWluZ0xvYWQsIE5hdmlnYXRpbmdUb0FwcEJvdW5k
RG9tYWluIGlzTmF2aWdhdGluZ1RvQXBwQm91bmREb21haW4sIE5hdmlnYXRlZEF3YXlGcm9tQXBw
Qm91bmREb21haW4gaGFzTmF2aWdhdGVkQXdheUZyb21BcHBCb3VuZERvbWFpbiwgT3B0aW9uYWw8
V2Vic2l0ZVBvbGljaWVzRGF0YT4mJiB3ZWJzaXRlUG9saWNpZXMsIFNob3VsZE9wZW5FeHRlcm5h
bFVSTHNQb2xpY3kgc2hvdWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeSkKK3ZvaWQgV2ViUGFnZVBy
b3h5Ojpsb2FkRGF0YVdpdGhOYXZpZ2F0aW9uU2hhcmVkKFJlZjxXZWJQcm9jZXNzUHJveHk+JiYg
cHJvY2VzcywgV2ViQ29yZTo6UGFnZUlkZW50aWZpZXIgd2ViUGFnZUlELCBBUEk6Ok5hdmlnYXRp
b24mIG5hdmlnYXRpb24sIGNvbnN0IElQQzo6RGF0YVJlZmVyZW5jZSYgZGF0YSwgY29uc3QgU3Ry
aW5nJiBNSU1FVHlwZSwgY29uc3QgU3RyaW5nJiBlbmNvZGluZywgY29uc3QgU3RyaW5nJiBiYXNl
VVJMLCBBUEk6Ok9iamVjdCogdXNlckRhdGEsIFNob3VsZFRyZWF0QXNDb250aW51aW5nTG9hZCBz
aG91bGRUcmVhdEFzQ29udGludWluZ0xvYWQsIE9wdGlvbmFsPE5hdmlnYXRpbmdUb0FwcEJvdW5k
RG9tYWluPiBpc05hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluLCBOYXZpZ2F0ZWRBd2F5RnJvbUFw
cEJvdW5kRG9tYWluIGhhc05hdmlnYXRlZEF3YXlGcm9tQXBwQm91bmREb21haW4sIE9wdGlvbmFs
PFdlYnNpdGVQb2xpY2llc0RhdGE+JiYgd2Vic2l0ZVBvbGljaWVzLCBTaG91bGRPcGVuRXh0ZXJu
YWxVUkxzUG9saWN5IHNob3VsZE9wZW5FeHRlcm5hbFVSTHNQb2xpY3kpCiB7CiAgICAgUkVMRUFT
RV9MT0dfSUZfQUxMT1dFRChMb2FkaW5nLCAibG9hZERhdGFXaXRoTmF2aWdhdGlvbiIpOwogCkBA
IC0zMTI1LDcgKzMxMjUsNyBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6c2V0SXNOYXZpZ2F0aW5nVG9B
cHBCb3VuZERvbWFpbihib29sIGlzTWFpbkZyYW1lLCBjb25zdCBVUkwmCiAgICAgICAgIGlmIChX
RUJfUEFHRV9QUk9YWV9BRERJVElPTlNfU0VUSVNOQVZJR0FUSU5HVE9BUFBCT1VORERPTUFJTikK
ICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgaWYgKCFpc05hdmlnYXRpbmdUb0FwcEJvdW5k
RG9tYWluKSB7Ci0gICAgICAgICAgICBtX2lzTmF2aWdhdGluZ1RvQXBwQm91bmREb21haW4gPSBO
YXZpZ2F0aW5nVG9BcHBCb3VuZERvbWFpbjo6WWVzOworICAgICAgICAgICAgbV9pc05hdmlnYXRp
bmdUb0FwcEJvdW5kRG9tYWluID0gV1RGOjpudWxsb3B0OwogICAgICAgICAgICAgcmV0dXJuOwog
ICAgICAgICB9CiAgICAgICAgIGlmIChtX2lnbm9yZXNBcHBCb3VuZERvbWFpbnMpCkBAIC0zMTQ4
LDcgKzMxNDgsNyBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6c2V0SXNOYXZpZ2F0aW5nVG9BcHBCb3Vu
ZERvbWFpbihib29sIGlzTWFpbkZyYW1lLCBjb25zdCBVUkwmCiAKIHZvaWQgV2ViUGFnZVByb3h5
Ojppc05hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluVGVzdGluZyhDb21wbGV0aW9uSGFuZGxlcjx2
b2lkKGJvb2wpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewotICAgIGNvbXBsZXRpb25IYW5kbGVy
KG1faXNOYXZpZ2F0aW5nVG9BcHBCb3VuZERvbWFpbiA9PSBOYXZpZ2F0aW5nVG9BcHBCb3VuZERv
bWFpbjo6WWVzKTsKKyAgICBjb21wbGV0aW9uSGFuZGxlcihtX2lzTmF2aWdhdGluZ1RvQXBwQm91
bmREb21haW4gJiYgKCptX2lzTmF2aWdhdGluZ1RvQXBwQm91bmREb21haW4gPT0gTmF2aWdhdGlu
Z1RvQXBwQm91bmREb21haW46OlllcykpOwogfQogCiB2b2lkIFdlYlBhZ2VQcm94eTo6cmVjZWl2
ZWROYXZpZ2F0aW9uUG9saWN5RGVjaXNpb24oUG9saWN5QWN0aW9uIHBvbGljeUFjdGlvbiwgQVBJ
OjpOYXZpZ2F0aW9uKiBuYXZpZ2F0aW9uLCBQcm9jZXNzU3dhcFJlcXVlc3RlZEJ5Q2xpZW50IHBy
b2Nlc3NTd2FwUmVxdWVzdGVkQnlDbGllbnQsIFdlYkZyYW1lUHJveHkmIGZyYW1lLCBSZWZQdHI8
QVBJOjpXZWJzaXRlUG9saWNpZXM+JiYgcG9saWNpZXMsIFJlZjxQb2xpY3lEZWNpc2lvblNlbmRl
cj4mJiBzZW5kZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCmluZGV4IDY0
YWQyMDFhODYwZjQyMmY0ZTIxZDA1YzRlMDViNTAzMmE4MTUzMzUuLjI2ZWEzNmZiM2YwMDEzNjMz
M2Q0NDk1MWNmZmJiYTk3NDE1OGU2NDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYlBhZ2VQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5oCkBAIC0xNjI4LDggKzE2MjgsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBkZWNpZGVQb2xp
Y3lGb3JOYXZpZ2F0aW9uQWN0aW9uQXN5bmNTaGFyZWQoUmVmPFdlYlByb2Nlc3NQcm94eT4mJiwg
V2ViQ29yZTo6UGFnZUlkZW50aWZpZXIsIFdlYkNvcmU6OkZyYW1lSWRlbnRpZmllciwgRnJhbWVJ
bmZvRGF0YSYmLCBXZWJDb3JlOjpQb2xpY3lDaGVja0lkZW50aWZpZXIsIHVpbnQ2NF90IG5hdmln
YXRpb25JRCwgTmF2aWdhdGlvbkFjdGlvbkRhdGEmJiwgRnJhbWVJbmZvRGF0YSYmIG9yaWdpbmF0
aW5nRnJhbWVJbmZvLCBPcHRpb25hbDxXZWJQYWdlUHJveHlJZGVudGlmaWVyPiBvcmlnaW5hdGlu
Z1BhZ2VJRCwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiBvcmlnaW5hbFJlcXVlc3Qs
IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYmLCBJUEM6OkZvcm1EYXRhUmVmZXJlbmNlJiYgcmVx
dWVzdEJvZHksIFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UmJiByZWRpcmVjdFJlc3BvbnNlLCBj
b25zdCBVc2VyRGF0YSYsIHVpbnQ2NF90IGxpc3RlbmVySUQpOwogICAgIHZvaWQgZGVjaWRlUG9s
aWN5Rm9yUmVzcG9uc2VTaGFyZWQoUmVmPFdlYlByb2Nlc3NQcm94eT4mJiwgV2ViQ29yZTo6UGFn
ZUlkZW50aWZpZXIsIFdlYkNvcmU6OkZyYW1lSWRlbnRpZmllciwgRnJhbWVJbmZvRGF0YSYmLCBX
ZWJDb3JlOjpQb2xpY3lDaGVja0lkZW50aWZpZXIsIHVpbnQ2NF90IG5hdmlnYXRpb25JRCwgY29u
c3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVx
dWVzdCYsIGJvb2wgY2FuU2hvd01JTUVUeXBlLCBjb25zdCBTdHJpbmcmIGRvd25sb2FkQXR0cmli
dXRlLCB1aW50NjRfdCBsaXN0ZW5lcklELCBjb25zdCBVc2VyRGF0YSYpOwogICAgIHZvaWQgc3Rh
cnRVUkxTY2hlbWVUYXNrU2hhcmVkKFJlZjxXZWJQcm9jZXNzUHJveHk+JiYsIFdlYkNvcmU6OlBh
Z2VJZGVudGlmaWVyLCBVUkxTY2hlbWVUYXNrUGFyYW1ldGVycyYmKTsKLSAgICB2b2lkIGxvYWRE
YXRhV2l0aE5hdmlnYXRpb25TaGFyZWQoUmVmPFdlYlByb2Nlc3NQcm94eT4mJiwgV2ViQ29yZTo6
UGFnZUlkZW50aWZpZXIsIEFQSTo6TmF2aWdhdGlvbiYsIGNvbnN0IElQQzo6RGF0YVJlZmVyZW5j
ZSYsIGNvbnN0IFN0cmluZyYgTUlNRVR5cGUsIGNvbnN0IFN0cmluZyYgZW5jb2RpbmcsIGNvbnN0
IFN0cmluZyYgYmFzZVVSTCwgQVBJOjpPYmplY3QqIHVzZXJEYXRhLCBXZWJDb3JlOjpTaG91bGRU
cmVhdEFzQ29udGludWluZ0xvYWQsIE5hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluLCBOYXZpZ2F0
ZWRBd2F5RnJvbUFwcEJvdW5kRG9tYWluLCBPcHRpb25hbDxXZWJzaXRlUG9saWNpZXNEYXRhPiYm
ID0gV1RGOjpudWxsb3B0LCBXZWJDb3JlOjpTaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5ID0g
V2ViQ29yZTo6U2hvdWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeTo6U2hvdWxkTm90QWxsb3cpOwot
ICAgIHZvaWQgbG9hZFJlcXVlc3RXaXRoTmF2aWdhdGlvblNoYXJlZChSZWY8V2ViUHJvY2Vzc1By
b3h5PiYmLCBXZWJDb3JlOjpQYWdlSWRlbnRpZmllciwgQVBJOjpOYXZpZ2F0aW9uJiwgV2ViQ29y
ZTo6UmVzb3VyY2VSZXF1ZXN0JiYsIFdlYkNvcmU6OlNob3VsZE9wZW5FeHRlcm5hbFVSTHNQb2xp
Y3ksIEFQSTo6T2JqZWN0KiB1c2VyRGF0YSwgV2ViQ29yZTo6U2hvdWxkVHJlYXRBc0NvbnRpbnVp
bmdMb2FkLCBOYXZpZ2F0aW5nVG9BcHBCb3VuZERvbWFpbiwgTmF2aWdhdGVkQXdheUZyb21BcHBC
b3VuZERvbWFpbiwgT3B0aW9uYWw8V2Vic2l0ZVBvbGljaWVzRGF0YT4mJiA9IFdURjo6bnVsbG9w
dCk7CisgICAgdm9pZCBsb2FkRGF0YVdpdGhOYXZpZ2F0aW9uU2hhcmVkKFJlZjxXZWJQcm9jZXNz
UHJveHk+JiYsIFdlYkNvcmU6OlBhZ2VJZGVudGlmaWVyLCBBUEk6Ok5hdmlnYXRpb24mLCBjb25z
dCBJUEM6OkRhdGFSZWZlcmVuY2UmLCBjb25zdCBTdHJpbmcmIE1JTUVUeXBlLCBjb25zdCBTdHJp
bmcmIGVuY29kaW5nLCBjb25zdCBTdHJpbmcmIGJhc2VVUkwsIEFQSTo6T2JqZWN0KiB1c2VyRGF0
YSwgV2ViQ29yZTo6U2hvdWxkVHJlYXRBc0NvbnRpbnVpbmdMb2FkLCBPcHRpb25hbDxOYXZpZ2F0
aW5nVG9BcHBCb3VuZERvbWFpbj4sIE5hdmlnYXRlZEF3YXlGcm9tQXBwQm91bmREb21haW4sIE9w
dGlvbmFsPFdlYnNpdGVQb2xpY2llc0RhdGE+JiYgPSBXVEY6Om51bGxvcHQsIFdlYkNvcmU6OlNo
b3VsZE9wZW5FeHRlcm5hbFVSTHNQb2xpY3kgPSBXZWJDb3JlOjpTaG91bGRPcGVuRXh0ZXJuYWxV
UkxzUG9saWN5OjpTaG91bGROb3RBbGxvdyk7CisgICAgdm9pZCBsb2FkUmVxdWVzdFdpdGhOYXZp
Z2F0aW9uU2hhcmVkKFJlZjxXZWJQcm9jZXNzUHJveHk+JiYsIFdlYkNvcmU6OlBhZ2VJZGVudGlm
aWVyLCBBUEk6Ok5hdmlnYXRpb24mLCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmJiwgV2ViQ29y
ZTo6U2hvdWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeSwgQVBJOjpPYmplY3QqIHVzZXJEYXRhLCBX
ZWJDb3JlOjpTaG91bGRUcmVhdEFzQ29udGludWluZ0xvYWQsIE9wdGlvbmFsPE5hdmlnYXRpbmdU
b0FwcEJvdW5kRG9tYWluPiwgTmF2aWdhdGVkQXdheUZyb21BcHBCb3VuZERvbWFpbiwgT3B0aW9u
YWw8V2Vic2l0ZVBvbGljaWVzRGF0YT4mJiA9IFdURjo6bnVsbG9wdCk7CiAgICAgdm9pZCBiYWNr
Rm9yd2FyZEdvVG9JdGVtU2hhcmVkKFJlZjxXZWJQcm9jZXNzUHJveHk+JiYsIGNvbnN0IFdlYkNv
cmU6OkJhY2tGb3J3YXJkSXRlbUlkZW50aWZpZXImLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFNh
bmRib3hFeHRlbnNpb246OkhhbmRsZSYmLCBjb25zdCBXZWJCYWNrRm9yd2FyZExpc3RDb3VudHMm
KT4mJik7CiAgICAgdm9pZCBkZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uU3luY1NoYXJl
ZChSZWY8V2ViUHJvY2Vzc1Byb3h5PiYmLCBXZWJDb3JlOjpGcmFtZUlkZW50aWZpZXIsIGJvb2wg
aXNNYWluRnJhbWUsIEZyYW1lSW5mb0RhdGEmJiwgV2ViQ29yZTo6UG9saWN5Q2hlY2tJZGVudGlm
aWVyLCB1aW50NjRfdCBuYXZpZ2F0aW9uSUQsIE5hdmlnYXRpb25BY3Rpb25EYXRhJiYsIEZyYW1l
SW5mb0RhdGEmJiBvcmlnaW5hdGluZ0ZyYW1lSW5mbywgT3B0aW9uYWw8V2ViUGFnZVByb3h5SWRl
bnRpZmllcj4gb3JpZ2luYXRpbmdQYWdlSUQsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVz
dCYgb3JpZ2luYWxSZXF1ZXN0LCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmJiwgSVBDOjpGb3Jt
RGF0YVJlZmVyZW5jZSYmIHJlcXVlc3RCb2R5LCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlJiYg
cmVkaXJlY3RSZXNwb25zZSwgY29uc3QgVXNlckRhdGEmLCBNZXNzYWdlczo6V2ViUGFnZVByb3h5
OjpEZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uU3luY0RlbGF5ZWRSZXBseSYmKTsKICNp
ZiBVU0UoUVVJQ0tfTE9PSykKQEAgLTE3MTcsNyArMTcxNyw3IEBAIHB1YmxpYzoKICAgICB2b2lk
IHNldFNob3VsZEZpcmVSZXNpemVFdmVudHMoYm9vbCk7CiAKICAgICB2b2lkIGlzTmF2aWdhdGlu
Z1RvQXBwQm91bmREb21haW5UZXN0aW5nKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYp
OwotICAgIE5hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluIGlzTmF2aWdhdGluZ1RvQXBwQm91bmRE
b21haW4oKSBjb25zdCB7IHJldHVybiBtX2lzTmF2aWdhdGluZ1RvQXBwQm91bmREb21haW47IH0K
KyAgICBPcHRpb25hbDxOYXZpZ2F0aW5nVG9BcHBCb3VuZERvbWFpbj4gaXNOYXZpZ2F0aW5nVG9B
cHBCb3VuZERvbWFpbigpIGNvbnN0IHsgcmV0dXJuIG1faXNOYXZpZ2F0aW5nVG9BcHBCb3VuZERv
bWFpbjsgfQogCiAjaWYgUExBVEZPUk0oQ09DT0EpCiAgICAgdm9pZCBncmFudEFjY2Vzc1RvQ3Vy
cmVudFBhc3RlYm9hcmREYXRhKGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUpOwpAQCAtMjc3
Miw3ICsyNzcyLDcgQEAgcHJpdmF0ZToKICAgICBNb25vdG9uaWNUaW1lIG1fZGlkRmluaXNoRG9j
dW1lbnRMb2FkRm9yTWFpbkZyYW1lVGltZXN0YW1wOwogI2VuZGlmCiAgICAgICAgIAotICAgIE5h
dmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluIG1faXNOYXZpZ2F0aW5nVG9BcHBCb3VuZERvbWFpbiB7
IE5hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluOjpObyB9OworICAgIE9wdGlvbmFsPE5hdmlnYXRp
bmdUb0FwcEJvdW5kRG9tYWluPiBtX2lzTmF2aWdhdGluZ1RvQXBwQm91bmREb21haW4geyBOYXZp
Z2F0aW5nVG9BcHBCb3VuZERvbWFpbjo6Tm8gfTsKICAgICBOYXZpZ2F0ZWRBd2F5RnJvbUFwcEJv
dW5kRG9tYWluIG1faGFzTmF2aWdhdGVkQXdheUZyb21BcHBCb3VuZERvbWFpbiB7IE5hdmlnYXRl
ZEF3YXlGcm9tQXBwQm91bmREb21haW46Ok5vIH07CiAgICAgYm9vbCBtX2lnbm9yZXNBcHBCb3Vu
ZERvbWFpbnMgeyBmYWxzZSB9OwogICAgIGJvb2wgbV91c2VyU2NyaXB0c05vdGlmaWVkIHsgZmFs
c2UgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29s
LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcAppbmRleCBl
ZWFiNzA1NjY5MWVlNjhiMzM1MDQ1ZjBlNGRlNDRjNjgzZDQ3NjMxLi5iNjQ5ZGJkM2NkMzQ1YzQ0
YjY4ZDgyNGM1NGE4MWIxMTU0MTRmMGQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vi
UHJvY2Vzc1Bvb2wuY3BwCkBAIC0xMzc4LDcgKzEzNzgsNyBAQCBEb3dubG9hZFByb3h5JiBXZWJQ
cm9jZXNzUG9vbDo6ZG93bmxvYWQoV2Vic2l0ZURhdGFTdG9yZSYgZGF0YVN0b3JlLCBXZWJQYWdl
UHJveAogICAgIGF1dG8mIGRvd25sb2FkUHJveHkgPSBjcmVhdGVEb3dubG9hZFByb3h5KGRhdGFT
dG9yZSwgcmVxdWVzdCwgaW5pdGlhdGluZ1BhZ2UsIHsgfSk7CiAgICAgUEFMOjpTZXNzaW9uSUQg
c2Vzc2lvbklEID0gZGF0YVN0b3JlLnNlc3Npb25JRCgpOwogCi0gICAgTmF2aWdhdGluZ1RvQXBw
Qm91bmREb21haW4gaXNBcHBCb3VuZCA9IE5hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluOjpObzsK
KyAgICBPcHRpb25hbDxOYXZpZ2F0aW5nVG9BcHBCb3VuZERvbWFpbj4gaXNBcHBCb3VuZCA9IE5h
dmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluOjpObzsKICAgICBpZiAoaW5pdGlhdGluZ1BhZ2UpIHsK
ICAgICAgICAgaW5pdGlhdGluZ1BhZ2UtPmhhbmRsZURvd25sb2FkUmVxdWVzdChkb3dubG9hZFBy
b3h5KTsKICAgICAgICAgaXNBcHBCb3VuZCA9IGluaXRpYXRpbmdQYWdlLT5pc05hdmlnYXRpbmdU
b0FwcEJvdW5kRG9tYWluKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViUGFnZS9XZWJGcmFtZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9X
ZWJGcmFtZS5jcHAKaW5kZXggNDY4YzM1OWMxZjU1NmNjYTMxZTI1YmE1ODM1NzBiYzIzYjU4YWM2
ZC4uZDEyYTYwZjQ5ZTZhYTc0NGNjNDhkZWZlYzA1MzljMDQxMTc4MjhmMSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViRnJhbWUuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkZyYW1lLmNwcApAQCAtMjgyLDcgKzI4Miw3
IEBAIHZvaWQgV2ViRnJhbWU6OnN0YXJ0RG93bmxvYWQoY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VS
ZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBTdHJpCiAgICAgYXV0byBwb2xpY3lEb3dubG9hZElEID0g
bV9wb2xpY3lEb3dubG9hZElEOwogICAgIG1fcG9saWN5RG93bmxvYWRJRCA9IHsgfTsKIAotICAg
IGF1dG8gaXNBcHBCb3VuZCA9IE5hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluOjpObzsKKyAgICBP
cHRpb25hbDxOYXZpZ2F0aW5nVG9BcHBCb3VuZERvbWFpbj4gaXNBcHBCb3VuZCA9IE5hdmlnYXRp
bmdUb0FwcEJvdW5kRG9tYWluOjpObzsKICAgICBpZiAocGFnZSgpKQogICAgICAgICBpc0FwcEJv
dW5kID0gcGFnZSgpLT5pc05hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluKCk7CiAgICAgCkBAIC0z
MDgsNyArMzA4LDcgQEAgdm9pZCBXZWJGcmFtZTo6Y29udmVydE1haW5SZXNvdXJjZUxvYWRUb0Rv
d25sb2FkKERvY3VtZW50TG9hZGVyKiBkb2N1bWVudExvYWRlciwKICAgICBlbHNlCiAgICAgICAg
IG1haW5SZXNvdXJjZUxvYWRJZGVudGlmaWVyID0gMDsKIAotICAgIGF1dG8gaXNBcHBCb3VuZCA9
IE5hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluOjpObzsKKyAgICBPcHRpb25hbDxOYXZpZ2F0aW5n
VG9BcHBCb3VuZERvbWFpbj4gaXNBcHBCb3VuZCA9IE5hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWlu
OjpObzsKICAgICBpZiAocGFnZSgpKQogICAgICAgICBpc0FwcEJvdW5kID0gcGFnZSgpLT5pc05h
dmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluKCk7CiAgICAgICAgIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAppbmRleCBhMjUzMDg1M2IwYWEwZDFjNWY2MGVj
ZjhmYzU0ZWQwY2RkZGVmZGNjLi4wMzhkODE1Y2IyZmQxMGI0ODllODA5OTJlNzc2NjBiMjlhYjc1
ODRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdl
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcApA
QCAtMTU1OCw3ICsxNTU4LDcgQEAgTk9fUkVUVVJOIHZvaWQgV2ViUGFnZTo6bG9hZFJlcXVlc3RX
YWl0aW5nRm9yUHJvY2Vzc0xhdW5jaChMb2FkUGFyYW1ldGVycyYmLCBVUkwKICAgICBSRUxFQVNF
X0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwogfQogCi12b2lkIFdlYlBhZ2U6OmxvYWREYXRhSW1wbCh1
aW50NjRfdCBuYXZpZ2F0aW9uSUQsIGJvb2wgc2hvdWxkVHJlYXRBc0NvbnRpbnVpbmdMb2FkLCBP
cHRpb25hbDxXZWJzaXRlUG9saWNpZXNEYXRhPiYmIHdlYnNpdGVQb2xpY2llcywgUmVmPFNoYXJl
ZEJ1ZmZlcj4mJiBzaGFyZWRCdWZmZXIsIGNvbnN0IFN0cmluZyYgTUlNRVR5cGUsIGNvbnN0IFN0
cmluZyYgZW5jb2RpbmdOYW1lLCBjb25zdCBVUkwmIGJhc2VVUkwsIGNvbnN0IFVSTCYgdW5yZWFj
aGFibGVVUkwsIGNvbnN0IFVzZXJEYXRhJiB1c2VyRGF0YSwgTmF2aWdhdGluZ1RvQXBwQm91bmRE
b21haW4gaXNOYXZpZ2F0aW5nVG9BcHBCb3VuZERvbWFpbiwgTmF2aWdhdGVkQXdheUZyb21BcHBC
b3VuZERvbWFpbiBoYXNOYXZpZ2F0ZWRBd2F5RnJvbUFwcEJvdW5kRG9tYWluLCBTaG91bGRPcGVu
RXh0ZXJuYWxVUkxzUG9saWN5IHNob3VsZE9wZW5FeHRlcm5hbFVSTHNQb2xpY3kpCit2b2lkIFdl
YlBhZ2U6OmxvYWREYXRhSW1wbCh1aW50NjRfdCBuYXZpZ2F0aW9uSUQsIGJvb2wgc2hvdWxkVHJl
YXRBc0NvbnRpbnVpbmdMb2FkLCBPcHRpb25hbDxXZWJzaXRlUG9saWNpZXNEYXRhPiYmIHdlYnNp
dGVQb2xpY2llcywgUmVmPFNoYXJlZEJ1ZmZlcj4mJiBzaGFyZWRCdWZmZXIsIGNvbnN0IFN0cmlu
ZyYgTUlNRVR5cGUsIGNvbnN0IFN0cmluZyYgZW5jb2RpbmdOYW1lLCBjb25zdCBVUkwmIGJhc2VV
UkwsIGNvbnN0IFVSTCYgdW5yZWFjaGFibGVVUkwsIGNvbnN0IFVzZXJEYXRhJiB1c2VyRGF0YSwg
T3B0aW9uYWw8TmF2aWdhdGluZ1RvQXBwQm91bmREb21haW4+IGlzTmF2aWdhdGluZ1RvQXBwQm91
bmREb21haW4sIE5hdmlnYXRlZEF3YXlGcm9tQXBwQm91bmREb21haW4gaGFzTmF2aWdhdGVkQXdh
eUZyb21BcHBCb3VuZERvbWFpbiwgU2hvdWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeSBzaG91bGRP
cGVuRXh0ZXJuYWxVUkxzUG9saWN5KQogewogICAgIHNldElzTmF2aWdhdGluZ1RvQXBwQm91bmRE
b21haW4oaXNOYXZpZ2F0aW5nVG9BcHBCb3VuZERvbWFpbik7CiAgICAgc2V0SGFzTmF2aWdhdGVk
QXdheUZyb21BcHBCb3VuZERvbWFpbihoYXNOYXZpZ2F0ZWRBd2F5RnJvbUFwcEJvdW5kRG9tYWlu
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2Uu
aCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAppbmRleCA4NzM5
ODZjY2Q2ZGVlYWQwN2ZiMWFkYTA1NjU4ZDg4NDRjZTFhYTg1Li4xOTdjYzc5OWUwODEyZjBmYWU4
OTU4YjUzMjUwYTYwMjhlM2ViOTQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvV2ViUGFnZS9XZWJQYWdlLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBh
Z2UvV2ViUGFnZS5oCkBAIC0xMzAwLDggKzEzMDAsOCBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGdl
dEFsbEZyYW1lcyhDb21wbGV0aW9uSGFuZGxlcjx2b2lkKEZyYW1lVHJlZU5vZGVEYXRhJiYpPiYm
KTsKIAotICAgIHZvaWQgc2V0SXNOYXZpZ2F0aW5nVG9BcHBCb3VuZERvbWFpbihOYXZpZ2F0aW5n
VG9BcHBCb3VuZERvbWFpbiBpc05hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluKSB7IG1faXNOYXZp
Z2F0aW5nVG9BcHBCb3VuZERvbWFpbiA9IGlzTmF2aWdhdGluZ1RvQXBwQm91bmREb21haW47IH0K
LSAgICBOYXZpZ2F0aW5nVG9BcHBCb3VuZERvbWFpbiBpc05hdmlnYXRpbmdUb0FwcEJvdW5kRG9t
YWluKCkgY29uc3QgeyByZXR1cm4gbV9pc05hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluOyB9Cisg
ICAgdm9pZCBzZXRJc05hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluKE9wdGlvbmFsPE5hdmlnYXRp
bmdUb0FwcEJvdW5kRG9tYWluPiBpc05hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluKSB7IG1faXNO
YXZpZ2F0aW5nVG9BcHBCb3VuZERvbWFpbiA9IGlzTmF2aWdhdGluZ1RvQXBwQm91bmREb21haW47
IH0KKyAgICBPcHRpb25hbDxOYXZpZ2F0aW5nVG9BcHBCb3VuZERvbWFpbj4gaXNOYXZpZ2F0aW5n
VG9BcHBCb3VuZERvbWFpbigpIGNvbnN0IHsgcmV0dXJuIG1faXNOYXZpZ2F0aW5nVG9BcHBCb3Vu
ZERvbWFpbjsgfQogICAgIE5hdmlnYXRlZEF3YXlGcm9tQXBwQm91bmREb21haW4gaGFzTmF2aWdh
dGVkQXdheUZyb21BcHBCb3VuZERvbWFpbigpIGNvbnN0IHsgcmV0dXJuIG1faGFzTmF2aWdhdGVk
QXdheUZyb21BcHBCb3VuZERvbWFpbjsgfQogICAgIHZvaWQgc2V0SGFzTmF2aWdhdGVkQXdheUZy
b21BcHBCb3VuZERvbWFpbihOYXZpZ2F0ZWRBd2F5RnJvbUFwcEJvdW5kRG9tYWluIG5hdmlnYXRl
ZEF3YXlGcm9tQXBwQm91bmREb21haW4pIHsgbV9oYXNOYXZpZ2F0ZWRBd2F5RnJvbUFwcEJvdW5k
RG9tYWluID0gbmF2aWdhdGVkQXdheUZyb21BcHBCb3VuZERvbWFpbjsgfQogICAgIGJvb2wgbmVl
ZHNJbkFwcEJyb3dzZXJQcml2YWN5UXVpcmtzKCkgY29uc3QgeyByZXR1cm4gbV9uZWVkc0luQXBw
QnJvd3NlclByaXZhY3lRdWlya3M7IH0KQEAgLTE0MDEsNyArMTQwMSw3IEBAIHByaXZhdGU6CiAK
ICAgICBTdHJpbmcgc291cmNlRm9yRnJhbWUoV2ViRnJhbWUqKTsKIAotICAgIHZvaWQgbG9hZERh
dGFJbXBsKHVpbnQ2NF90IG5hdmlnYXRpb25JRCwgYm9vbCBzaG91bGRUcmVhdEFzQ29udGludWlu
Z0xvYWQsIE9wdGlvbmFsPFdlYnNpdGVQb2xpY2llc0RhdGE+JiYsIFJlZjxXZWJDb3JlOjpTaGFy
ZWRCdWZmZXI+JiYsIGNvbnN0IFN0cmluZyYgTUlNRVR5cGUsIGNvbnN0IFN0cmluZyYgZW5jb2Rp
bmdOYW1lLCBjb25zdCBVUkwmIGJhc2VVUkwsIGNvbnN0IFVSTCYgZmFpbGluZ1VSTCwgY29uc3Qg
VXNlckRhdGEmLCBOYXZpZ2F0aW5nVG9BcHBCb3VuZERvbWFpbiwgTmF2aWdhdGVkQXdheUZyb21B
cHBCb3VuZERvbWFpbiwgV2ViQ29yZTo6U2hvdWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeSA9IFdl
YkNvcmU6OlNob3VsZE9wZW5FeHRlcm5hbFVSTHNQb2xpY3k6OlNob3VsZE5vdEFsbG93KTsKKyAg
ICB2b2lkIGxvYWREYXRhSW1wbCh1aW50NjRfdCBuYXZpZ2F0aW9uSUQsIGJvb2wgc2hvdWxkVHJl
YXRBc0NvbnRpbnVpbmdMb2FkLCBPcHRpb25hbDxXZWJzaXRlUG9saWNpZXNEYXRhPiYmLCBSZWY8
V2ViQ29yZTo6U2hhcmVkQnVmZmVyPiYmLCBjb25zdCBTdHJpbmcmIE1JTUVUeXBlLCBjb25zdCBT
dHJpbmcmIGVuY29kaW5nTmFtZSwgY29uc3QgVVJMJiBiYXNlVVJMLCBjb25zdCBVUkwmIGZhaWxp
bmdVUkwsIGNvbnN0IFVzZXJEYXRhJiwgT3B0aW9uYWw8TmF2aWdhdGluZ1RvQXBwQm91bmREb21h
aW4+LCBOYXZpZ2F0ZWRBd2F5RnJvbUFwcEJvdW5kRG9tYWluLCBXZWJDb3JlOjpTaG91bGRPcGVu
RXh0ZXJuYWxVUkxzUG9saWN5ID0gV2ViQ29yZTo6U2hvdWxkT3BlbkV4dGVybmFsVVJMc1BvbGlj
eTo6U2hvdWxkTm90QWxsb3cpOwogCiAgICAgLy8gQWN0aW9ucwogICAgIHZvaWQgdHJ5Q2xvc2Uo
Q29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4mJik7CkBAIC0yMDgyLDcgKzIwODIsNyBAQCBw
cml2YXRlOgogICAgIFN0cmluZyBtX3RoZW1lTmFtZTsKICNlbmRpZgogICAgIAotICAgIE5hdmln
YXRpbmdUb0FwcEJvdW5kRG9tYWluIG1faXNOYXZpZ2F0aW5nVG9BcHBCb3VuZERvbWFpbiB7IE5h
dmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluOjpObyB9OworICAgIE9wdGlvbmFsPE5hdmlnYXRpbmdU
b0FwcEJvdW5kRG9tYWluPiBtX2lzTmF2aWdhdGluZ1RvQXBwQm91bmREb21haW4geyBOYXZpZ2F0
aW5nVG9BcHBCb3VuZERvbWFpbjo6Tm8gfTsKICAgICBOYXZpZ2F0ZWRBd2F5RnJvbUFwcEJvdW5k
RG9tYWluIG1faGFzTmF2aWdhdGVkQXdheUZyb21BcHBCb3VuZERvbWFpbiB7IE5hdmlnYXRlZEF3
YXlGcm9tQXBwQm91bmREb21haW46Ok5vIH07CiB9OwogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>