<?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>198066</bug_id>
          
          <creation_ts>2019-05-20 20:37:07 -0700</creation_ts>
          <short_desc>Remove unnecessary duplicate selector invocations</short_desc>
          <delta_ts>2019-05-21 10:53:39 -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>WebCore Misc.</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Joseph Pecoraro">joepeck</reporter>
          <assigned_to name="Joseph Pecoraro">joepeck</assigned_to>
          <cc>achristensen</cc>
    
    <cc>joepeck</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1537798</commentid>
    <comment_count>0</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2019-05-20 20:37:07 -0700</bug_when>
    <thetext>Remove unnecessary duplicate selector invocations

    - [NSNotificationCenter defaultCenter]
    - [NSDistributedNotificationCenter defaultCenter]
    - [NSUserDefaults standardUserDefaults]
    - [NSFileManager defaultManager]

Avoid multiple msgSends if these are frequent in a method.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1537804</commentid>
    <comment_count>1</comment_count>
      <attachid>370297</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2019-05-20 20:49:30 -0700</bug_when>
    <thetext>Created attachment 370297
[PATCH] Proposed Fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1537813</commentid>
    <comment_count>2</comment_count>
      <attachid>370299</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2019-05-20 22:34:09 -0700</bug_when>
    <thetext>Created attachment 370299
[PATCH] Proposed Fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1537912</commentid>
    <comment_count>3</comment_count>
      <attachid>370299</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2019-05-21 10:22:12 -0700</bug_when>
    <thetext>Comment on attachment 370299
[PATCH] Proposed Fix

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

&gt; Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm:409
&gt; +    NSNotificationCenter *center = [NSNotificationCenter defaultCenter];

This needs to be outside the guard.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1537920</commentid>
    <comment_count>4</comment_count>
      <attachid>370326</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2019-05-21 10:53:39 -0700</bug_when>
    <thetext>Created attachment 370326
[PATCH] For Landing</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>370297</attachid>
            <date>2019-05-20 20:49:30 -0700</date>
            <delta_ts>2019-05-20 22:34:09 -0700</delta_ts>
            <desc>[PATCH] Proposed Fix</desc>
            <filename>duplicate.patch</filename>
            <type>text/plain</type>
            <size>70783</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCAxZGM2ZjFmN2QzZC4uZjI0OTVkZjE2ZmMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNyBAQAorMjAxOS0wNS0yMCAgSm9zZXBoIFBlY29yYXJvICA8cGVjb3Jhcm9AYXBwbGUu
Y29tPgorCisgICAgICAgIFJlbW92ZSB1bm5lY2Vzc2FyeSBkdXBsaWNhdGUgc2VsZWN0b3IgaW52
b2NhdGlvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE5ODA2NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogcGxhdGZvcm0vZ2FtZXBhZC9jb2NvYS9HYW1lQ29udHJvbGxlckdhbWVwYWRQcm92aWRlci5t
bToKKyAgICAgICAgKFdlYkNvcmU6OkdhbWVDb250cm9sbGVyR2FtZXBhZFByb3ZpZGVyOjpzdG9w
TW9uaXRvcmluZ0dhbWVwYWRzKToKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvU2Nyb2xsYmFyVGhl
bWVNYWMubW06CisgICAgICAgICgrW1dlYlNjcm9sbGJhclByZWZzT2JzZXJ2ZXIgcmVnaXN0ZXJB
c09ic2VydmVyXSk6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0FWQ2FwdHVy
ZURldmljZU1hbmFnZXIubW06CisgICAgICAgIChXZWJDb3JlOjpBVkNhcHR1cmVEZXZpY2VNYW5h
Z2VyOjpyZWdpc3RlckZvckRldmljZU5vdGlmaWNhdGlvbnMpOgorCiAyMDE5LTA1LTIwICBSb3Nz
IEtpcnNsaW5nICA8cm9zcy5raXJzbGluZ0Bzb255LmNvbT4KIAogICAgICAgICBNYWtlIGxvc3N5
IExheW91dFVuaXQgY29uc3RydWN0b3JzIGV4cGxpY2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9nYW1lcGFkL2NvY29hL0dhbWVDb250cm9sbGVyR2FtZXBhZFByb3ZpZGVy
Lm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2FtZXBhZC9jb2NvYS9HYW1lQ29udHJvbGxl
ckdhbWVwYWRQcm92aWRlci5tbQppbmRleCBmNzIwY2ZkMzM0My4uMjY4NTc3MTZjZjAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dhbWVwYWQvY29jb2EvR2FtZUNvbnRyb2xs
ZXJHYW1lcGFkUHJvdmlkZXIubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2FtZXBh
ZC9jb2NvYS9HYW1lQ29udHJvbGxlckdhbWVwYWRQcm92aWRlci5tbQpAQCAtMTMwLDggKzEzMCw5
IEBAIHZvaWQgR2FtZUNvbnRyb2xsZXJHYW1lcGFkUHJvdmlkZXI6OnN0b3BNb25pdG9yaW5nR2Ft
ZXBhZHMoR2FtZXBhZFByb3ZpZGVyQ2xpZW50CiAgICAgaWYgKCFtX2Nvbm5lY3RPYnNlcnZlciB8
fCAhbV9jbGllbnRzLmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgW1tOU05vdGlm
aWNhdGlvbkNlbnRlciBkZWZhdWx0Q2VudGVyXSByZW1vdmVPYnNlcnZlcjptX2Nvbm5lY3RPYnNl
cnZlci5nZXQoKV07Ci0gICAgW1tOU05vdGlmaWNhdGlvbkNlbnRlciBkZWZhdWx0Q2VudGVyXSBy
ZW1vdmVPYnNlcnZlcjptX2Rpc2Nvbm5lY3RPYnNlcnZlci5nZXQoKV07CisgICAgTlNOb3RpZmlj
YXRpb25DZW50ZXIgKmNlbnRlciA9IFtOU05vdGlmaWNhdGlvbkNlbnRlciBkZWZhdWx0Q2VudGVy
XTsKKyAgICBbY2VudGVyIHJlbW92ZU9ic2VydmVyOm1fY29ubmVjdE9ic2VydmVyLmdldCgpXTsK
KyAgICBbY2VudGVyIHJlbW92ZU9ic2VydmVyOm1fZGlzY29ubmVjdE9ic2VydmVyLmdldCgpXTsK
IH0KIAogdW5zaWduZWQgR2FtZUNvbnRyb2xsZXJHYW1lcGFkUHJvdmlkZXI6OmluZGV4Rm9yTmV3
bHlDb25uZWN0ZWREZXZpY2UoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bWFjL1Njcm9sbGJhclRoZW1lTWFjLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Nj
cm9sbGJhclRoZW1lTWFjLm1tCmluZGV4IGI1ZDkyNmExYjU3Li45YTdhM2NiNzVhYSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbGJhclRoZW1lTWFjLm1tCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TY3JvbGxiYXJUaGVtZU1hYy5tbQpAQCAt
MTEyLDggKzExMiw5IEBAICsgKHZvaWQpYmVoYXZpb3JQcmVmc0NoYW5nZWQ6KE5TTm90aWZpY2F0
aW9uICopdW51c2VkTm90aWZpY2F0aW9uCiAKICsgKHZvaWQpcmVnaXN0ZXJBc09ic2VydmVyCiB7
Ci0gICAgW1tOU0Rpc3RyaWJ1dGVkTm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJdIGFk
ZE9ic2VydmVyOnNlbGYgc2VsZWN0b3I6QHNlbGVjdG9yKGFwcGVhcmFuY2VQcmVmc0NoYW5nZWQ6
KSBuYW1lOkAiQXBwbGVBcXVhU2Nyb2xsQmFyVmFyaWFudENoYW5nZWQiIG9iamVjdDpuaWwgc3Vz
cGVuc2lvbkJlaGF2aW9yOk5TTm90aWZpY2F0aW9uU3VzcGVuc2lvbkJlaGF2aW9yRGVsaXZlcklt
bWVkaWF0ZWx5XTsKLSAgICBbW05TRGlzdHJpYnV0ZWROb3RpZmljYXRpb25DZW50ZXIgZGVmYXVs
dENlbnRlcl0gYWRkT2JzZXJ2ZXI6c2VsZiBzZWxlY3RvcjpAc2VsZWN0b3IoYmVoYXZpb3JQcmVm
c0NoYW5nZWQ6KSBuYW1lOkAiQXBwbGVOb1JlZGlzcGxheUFwcGVhcmFuY2VQcmVmZXJlbmNlQ2hh
bmdlZCIgb2JqZWN0Om5pbCBzdXNwZW5zaW9uQmVoYXZpb3I6TlNOb3RpZmljYXRpb25TdXNwZW5z
aW9uQmVoYXZpb3JDb2FsZXNjZV07CisgICAgTlNEaXN0cmlidXRlZE5vdGlmaWNhdGlvbkNlbnRl
ciAqZGlzdHJpYnV0ZWRDZW50ZXIgPSBbTlNEaXN0cmlidXRlZE5vdGlmaWNhdGlvbkNlbnRlciBk
ZWZhdWx0Q2VudGVyXTsKKyAgICBbZGlzdHJpYnV0ZWRDZW50ZXIgYWRkT2JzZXJ2ZXI6c2VsZiBz
ZWxlY3RvcjpAc2VsZWN0b3IoYXBwZWFyYW5jZVByZWZzQ2hhbmdlZDopIG5hbWU6QCJBcHBsZUFx
dWFTY3JvbGxCYXJWYXJpYW50Q2hhbmdlZCIgb2JqZWN0Om5pbCBzdXNwZW5zaW9uQmVoYXZpb3I6
TlNOb3RpZmljYXRpb25TdXNwZW5zaW9uQmVoYXZpb3JEZWxpdmVySW1tZWRpYXRlbHldOworICAg
IFtkaXN0cmlidXRlZENlbnRlciBhZGRPYnNlcnZlcjpzZWxmIHNlbGVjdG9yOkBzZWxlY3Rvcihi
ZWhhdmlvclByZWZzQ2hhbmdlZDopIG5hbWU6QCJBcHBsZU5vUmVkaXNwbGF5QXBwZWFyYW5jZVBy
ZWZlcmVuY2VDaGFuZ2VkIiBvYmplY3Q6bmlsIHN1c3BlbnNpb25CZWhhdmlvcjpOU05vdGlmaWNh
dGlvblN1c3BlbnNpb25CZWhhdmlvckNvYWxlc2NlXTsKICAgICBbW05TTm90aWZpY2F0aW9uQ2Vu
dGVyIGRlZmF1bHRDZW50ZXJdIGFkZE9ic2VydmVyOnNlbGYgc2VsZWN0b3I6QHNlbGVjdG9yKGJl
aGF2aW9yUHJlZnNDaGFuZ2VkOikgbmFtZTpOU1ByZWZlcnJlZFNjcm9sbGVyU3R5bGVEaWRDaGFu
Z2VOb3RpZmljYXRpb24gb2JqZWN0Om5pbF07CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9BVkNhcHR1cmVEZXZpY2VNYW5hZ2VyLm1tIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0FWQ2FwdHVyZURldmljZU1h
bmFnZXIubW0KaW5kZXggMWM0MmUyMGQ5M2IuLjFjZGU2ODU0YjgxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQVZDYXB0dXJlRGV2aWNlTWFuYWdl
ci5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQVZDYXB0
dXJlRGV2aWNlTWFuYWdlci5tbQpAQCAtMTg0LDggKzE4NCw5IEBAIEFWQ2FwdHVyZURldmljZU1h
bmFnZXI6On5BVkNhcHR1cmVEZXZpY2VNYW5hZ2VyKCkKIAogdm9pZCBBVkNhcHR1cmVEZXZpY2VN
YW5hZ2VyOjpyZWdpc3RlckZvckRldmljZU5vdGlmaWNhdGlvbnMoKQogewotICAgIFtbTlNOb3Rp
ZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl0gYWRkT2JzZXJ2ZXI6bV9vYmpjT2JzZXJ2ZXIu
Z2V0KCkgc2VsZWN0b3I6QHNlbGVjdG9yKGRldmljZUNvbm5lY3RlZERpZENoYW5nZTopIG5hbWU6
QVZDYXB0dXJlRGV2aWNlV2FzQ29ubmVjdGVkTm90aWZpY2F0aW9uIG9iamVjdDpuaWxdOwotICAg
IFtbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl0gYWRkT2JzZXJ2ZXI6bV9vYmpj
T2JzZXJ2ZXIuZ2V0KCkgc2VsZWN0b3I6QHNlbGVjdG9yKGRldmljZUNvbm5lY3RlZERpZENoYW5n
ZTopIG5hbWU6QVZDYXB0dXJlRGV2aWNlV2FzRGlzY29ubmVjdGVkTm90aWZpY2F0aW9uIG9iamVj
dDpuaWxdOworICAgIE5TTm90aWZpY2F0aW9uQ2VudGVyICpjZW50ZXIgPSBbTlNOb3RpZmljYXRp
b25DZW50ZXIgZGVmYXVsdENlbnRlcl07CisgICAgW2NlbnRlciBhZGRPYnNlcnZlcjptX29iamNP
YnNlcnZlci5nZXQoKSBzZWxlY3RvcjpAc2VsZWN0b3IoZGV2aWNlQ29ubmVjdGVkRGlkQ2hhbmdl
OikgbmFtZTpBVkNhcHR1cmVEZXZpY2VXYXNDb25uZWN0ZWROb3RpZmljYXRpb24gb2JqZWN0Om5p
bF07CisgICAgW2NlbnRlciBhZGRPYnNlcnZlcjptX29iamNPYnNlcnZlci5nZXQoKSBzZWxlY3Rv
cjpAc2VsZWN0b3IoZGV2aWNlQ29ubmVjdGVkRGlkQ2hhbmdlOikgbmFtZTpBVkNhcHR1cmVEZXZp
Y2VXYXNEaXNjb25uZWN0ZWROb3RpZmljYXRpb24gb2JqZWN0Om5pbF07CiB9CiAKIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggNmI1ZGE4ZDY2NTcuLjU2Yzk1ZjMyZGVmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDE5LTA1LTIwICBKb3NlcGggUGVjb3Jhcm8gIDxwZWNv
cmFyb0BhcHBsZS5jb20+CisKKyAgICAgICAgUmVtb3ZlIHVubmVjZXNzYXJ5IGR1cGxpY2F0ZSBz
ZWxlY3RvciBpbnZvY2F0aW9ucworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTk4MDY2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiBQbHVnaW5Qcm9jZXNzL21hYy9QbHVnaW5Qcm9jZXNzTWFjLm1tOgorICAg
ICAgICAoV2ViS2l0Ojppbml0aWFsaXplQ29jb2FPdmVycmlkZXMpOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9BcHBsaWNhdGlvblN0YXRlVHJhY2tlci5tbToKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29j
b2EvRG93bmxvYWRQcm94eU1hcENvY29hLm1tOgorICAgICAgICAoV2ViS2l0OjpEb3dubG9hZFBy
b3h5TWFwOjpwbGF0Zm9ybUNyZWF0ZSk6CisgICAgICAgIChXZWJLaXQ6OkRvd25sb2FkUHJveHlN
YXA6OnBsYXRmb3JtRGVzdHJveSk6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nl
c3NQb29sQ29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjpwbGF0Zm9y
bUluaXRpYWxpemVXZWJQcm9jZXNzKToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Bvb2w6
OnJlZ2lzdGVyTm90aWZpY2F0aW9uT2JzZXJ2ZXJzKToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJv
Y2Vzc1Bvb2w6OnVucmVnaXN0ZXJOb3RpZmljYXRpb25PYnNlcnZlcnMpOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1wbC5tbToKKyAgICAgICAgKC1bV0tXaW5kb3dWaXNpYmls
aXR5T2JzZXJ2ZXIgc3RhcnRPYnNlcnZpbmc6XSk6CisgICAgICAgICgtW1dLV2luZG93VmlzaWJp
bGl0eU9ic2VydmVyIHN0b3BPYnNlcnZpbmc6XSk6CisgICAgICAgIChXZWJLaXQ6OldlYlZpZXdJ
bXBsOjp1cGRhdGVUZXh0VG91Y2hCYXIpOgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvUHJvY2Vz
c0Fzc2VydGlvbklPUy5tbToKKyAgICAgICAgKC1bV0tQcm9jZXNzQXNzZXJ0aW9uQmFja2dyb3Vu
ZFRhc2tNYW5hZ2VyIGluaXRdKToKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1dLQ29udGVudFZp
ZXcubW06CisgICAgICAgICgtW1dLQ29udGVudFZpZXcgX2NvbW1vbkluaXRpYWxpemF0aW9uV2l0
aFByb2Nlc3NQb29sOmNvbmZpZ3VyYXRpb246XSk6CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9m
b3Jtcy9XS0RhdGVQaWNrZXJWaWV3Q29udHJvbGxlci5tbToKKyAgICAgICAgKC1bV0tEYXRlUGlj
a2VyVmlld0NvbnRyb2xsZXIgdmlld1dpbGxBcHBlYXI6XSk6CisgICAgICAgICogVUlQcm9jZXNz
L21hYy9UZXh0Q2hlY2tlck1hYy5tbToKKyAgICAgICAgKFdlYktpdDo6bXV0YWJsZVN0YXRlKToK
KyAgICAgICAgKFdlYktpdDo6VGV4dENoZWNrZXI6OnNldFRlc3RpbmdNb2RlKToKKyAgICAgICAg
KFdlYktpdDo6VGV4dENoZWNrZXI6OmlzQ29udGludW91c1NwZWxsQ2hlY2tpbmdBbGxvd2VkKToK
KyAgICAgICAgKiBVSVByb2Nlc3MvbWFjL1dlYkluc3BlY3RvclByb3h5TWFjLm1tOgorICAgICAg
ICAoV2ViS2l0OjpXZWJJbnNwZWN0b3JQcm94eTo6YXR0YWNobWVudFZpZXdEaWRDaGFuZ2UpOgor
CiAyMDE5LTA1LTIwICBSb3NzIEtpcnNsaW5nICA8cm9zcy5raXJzbGluZ0Bzb255LmNvbT4KIAog
ICAgICAgICBNYWtlIGxvc3N5IExheW91dFVuaXQgY29uc3RydWN0b3JzIGV4cGxpY2l0CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1BsdWdpblByb2Nlc3MvbWFjL1BsdWdpblByb2Nlc3NNYWMu
bW0gYi9Tb3VyY2UvV2ViS2l0L1BsdWdpblByb2Nlc3MvbWFjL1BsdWdpblByb2Nlc3NNYWMubW0K
aW5kZXggYmQzYWIwODBiY2MuLjdjYTA0ODU5YzM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1BsdWdpblByb2Nlc3MvbWFjL1BsdWdpblByb2Nlc3NNYWMubW0KKysrIGIvU291cmNlL1dlYktp
dC9QbHVnaW5Qcm9jZXNzL21hYy9QbHVnaW5Qcm9jZXNzTWFjLm1tCkBAIC0zMTcsMTUgKzMxNywx
NSBAQCBzdGF0aWMgdm9pZCBpbml0aWFsaXplQ29jb2FPdmVycmlkZXMoKQogICAgIE1ldGhvZCBy
dW5Nb2RhbEZvcldpbmRvd01ldGhvZCA9IGNsYXNzX2dldEluc3RhbmNlTWV0aG9kKG9iamNfZ2V0
Q2xhc3MoIk5TQXBwbGljYXRpb24iKSwgQHNlbGVjdG9yKHJ1bk1vZGFsRm9yV2luZG93OikpOwog
ICAgIE5TQXBwbGljYXRpb25fUnVuTW9kYWxGb3JXaW5kb3cgPSBtZXRob2Rfc2V0SW1wbGVtZW50
YXRpb24ocnVuTW9kYWxGb3JXaW5kb3dNZXRob2QsIHJlaW50ZXJwcmV0X2Nhc3Q8SU1QPihyZXBs
YWNlZFJ1bk1vZGFsRm9yV2luZG93KSk7CiAKLSAgICBOU05vdGlmaWNhdGlvbkNlbnRlciAqZGVm
YXVsdENlbnRlciA9IFtOU05vdGlmaWNhdGlvbkNlbnRlciBkZWZhdWx0Q2VudGVyXTsKKyAgICBO
U05vdGlmaWNhdGlvbkNlbnRlciAqY2VudGVyID0gW05TTm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1
bHRDZW50ZXJdOwogCiAgICAgLy8gVHJhY2sgd2hlbiBhbnkgQ29jb2Egd2luZG93IGlzIGFib3V0
IHRvIGJlIGJlIHNob3duLgotICAgIGlkIG9yZGVyT25TY3JlZW5PYnNlcnZlciA9IFtkZWZhdWx0
Q2VudGVyIGFkZE9ic2VydmVyRm9yTmFtZTpOU1dpbmRvd1dpbGxPcmRlck9uU2NyZWVuTm90aWZp
Y2F0aW9uCisgICAgaWQgb3JkZXJPblNjcmVlbk9ic2VydmVyID0gW2NlbnRlciBhZGRPYnNlcnZl
ckZvck5hbWU6TlNXaW5kb3dXaWxsT3JkZXJPblNjcmVlbk5vdGlmaWNhdGlvbgogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iamVjdDpu
aWwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgcXVldWU6bmlsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHVzaW5nQmxvY2s6XihOU05vdGlmaWNhdGlvbiAqbm90aWZpY2F0
aW9uKSB7IGZ1bGxzY3JlZW5XaW5kb3dUcmFja2VyKCkud2luZG93U2hvd24oW25vdGlmaWNhdGlv
biBvYmplY3RdKTsgfV07CiAgICAgLy8gVHJhY2sgd2hlbiBhbnkgQ29jb2Egd2luZG93IGlzIGFi
b3V0IHRvIGJlIGhpZGRlbi4KLSAgICBpZCBvcmRlck9mZlNjcmVlbk9ic2VydmVyID0gW2RlZmF1
bHRDZW50ZXIgYWRkT2JzZXJ2ZXJGb3JOYW1lOk5TV2luZG93V2lsbE9yZGVyT2ZmU2NyZWVuTm90
aWZpY2F0aW9uCisgICAgaWQgb3JkZXJPZmZTY3JlZW5PYnNlcnZlciA9IFtjZW50ZXIgYWRkT2Jz
ZXJ2ZXJGb3JOYW1lOk5TV2luZG93V2lsbE9yZGVyT2ZmU2NyZWVuTm90aWZpY2F0aW9uCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9i
amVjdDpuaWwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHF1ZXVlOm5pbAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHVzaW5nQmxvY2s6XihOU05vdGlmaWNhdGlvbiAqbm90aWZp
Y2F0aW9uKSB7IGZ1bGxzY3JlZW5XaW5kb3dUcmFja2VyKCkud2luZG93SGlkZGVuKFtub3RpZmlj
YXRpb24gb2JqZWN0XSk7IH1dOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QXBwbGljYXRpb25TdGF0ZVRyYWNrZXIubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BcHBs
aWNhdGlvblN0YXRlVHJhY2tlci5tbQppbmRleCBhMjNkNGJmOGJmMS4uMjBhMDYwNzNiNWIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FwcGxpY2F0aW9uU3RhdGVUcmFja2Vy
Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FwcGxpY2F0aW9uU3RhdGVUcmFja2Vy
Lm1tCkBAIC04OSwxMiArODksMTIgQEAgQXBwbGljYXRpb25TdGF0ZVRyYWNrZXI6OkFwcGxpY2F0
aW9uU3RhdGVUcmFja2VyKFVJVmlldyAqdmlldywgU0VMIGRpZEVudGVyQmFja2cKICAgICBVSVdp
bmRvdyAqd2luZG93ID0gW21fdmlldy5nZXQoKSB3aW5kb3ddOwogICAgIEFTU0VSVCh3aW5kb3cp
OwogCi0gICAgTlNOb3RpZmljYXRpb25DZW50ZXIgKm5vdGlmaWNhdGlvbkNlbnRlciA9IFtOU05v
dGlmaWNhdGlvbkNlbnRlciBkZWZhdWx0Q2VudGVyXTsKKyAgICBOU05vdGlmaWNhdGlvbkNlbnRl
ciAqY2VudGVyID0gW05TTm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJdOwogICAgIFVJ
QXBwbGljYXRpb24gKmFwcGxpY2F0aW9uID0gW1VJQXBwbGljYXRpb24gc2hhcmVkQXBwbGljYXRp
b25dOwogCiAgICAgYXV0byB3ZWFrVGhpcyA9IG1ha2VXZWFrUHRyKCp0aGlzKTsKIAotICAgIG1f
ZGlkRmluaXNoU25hcHNob3R0aW5nQWZ0ZXJFbnRlcmluZ0JhY2tncm91bmRPYnNlcnZlciA9IFtu
b3RpZmljYXRpb25DZW50ZXIgYWRkT2JzZXJ2ZXJGb3JOYW1lOkAiX1VJQXBwbGljYXRpb25EaWRG
aW5pc2hTdXNwZW5zaW9uU25hcHNob3ROb3RpZmljYXRpb24iIG9iamVjdDphcHBsaWNhdGlvbiBx
dWV1ZTpuaWwgdXNpbmdCbG9jazpbd2Vha1RoaXNdKE5TTm90aWZpY2F0aW9uICopIHsKKyAgICBt
X2RpZEZpbmlzaFNuYXBzaG90dGluZ0FmdGVyRW50ZXJpbmdCYWNrZ3JvdW5kT2JzZXJ2ZXIgPSBb
Y2VudGVyIGFkZE9ic2VydmVyRm9yTmFtZTpAIl9VSUFwcGxpY2F0aW9uRGlkRmluaXNoU3VzcGVu
c2lvblNuYXBzaG90Tm90aWZpY2F0aW9uIiBvYmplY3Q6YXBwbGljYXRpb24gcXVldWU6bmlsIHVz
aW5nQmxvY2s6W3dlYWtUaGlzXShOU05vdGlmaWNhdGlvbiAqKSB7CiAgICAgICAgIGF1dG8gYXBw
bGljYXRpb25TdGF0ZVRyYWNrZXIgPSB3ZWFrVGhpcy5nZXQoKTsKICAgICAgICAgaWYgKCFhcHBs
aWNhdGlvblN0YXRlVHJhY2tlcikKICAgICAgICAgICAgIHJldHVybjsKQEAgLTEwNiwxNyArMTA2
LDE3IEBAIEFwcGxpY2F0aW9uU3RhdGVUcmFja2VyOjpBcHBsaWNhdGlvblN0YXRlVHJhY2tlcihV
SVZpZXcgKnZpZXcsIFNFTCBkaWRFbnRlckJhY2tnCiAgICAgICAgIG1faXNJbkJhY2tncm91bmQg
PSBhcHBsaWNhdGlvbi5hcHBsaWNhdGlvblN0YXRlID09IFVJQXBwbGljYXRpb25TdGF0ZUJhY2tn
cm91bmQ7CiAKICNpZiBIQVZFKFVJU0NFTkUpCi0gICAgICAgIG1fZGlkRW50ZXJCYWNrZ3JvdW5k
T2JzZXJ2ZXIgPSBbbm90aWZpY2F0aW9uQ2VudGVyIGFkZE9ic2VydmVyRm9yTmFtZTpVSVNjZW5l
RGlkRW50ZXJCYWNrZ3JvdW5kTm90aWZpY2F0aW9uIG9iamVjdDp3aW5kb3cud2luZG93U2NlbmUg
cXVldWU6bmlsIHVzaW5nQmxvY2s6W3RoaXNdKE5TTm90aWZpY2F0aW9uICopIHsKKyAgICAgICAg
bV9kaWRFbnRlckJhY2tncm91bmRPYnNlcnZlciA9IFtjZW50ZXIgYWRkT2JzZXJ2ZXJGb3JOYW1l
OlVJU2NlbmVEaWRFbnRlckJhY2tncm91bmROb3RpZmljYXRpb24gb2JqZWN0OndpbmRvdy53aW5k
b3dTY2VuZSBxdWV1ZTpuaWwgdXNpbmdCbG9jazpbdGhpc10oTlNOb3RpZmljYXRpb24gKikgewog
I2Vsc2UKLSAgICAgICAgbV9kaWRFbnRlckJhY2tncm91bmRPYnNlcnZlciA9IFtub3RpZmljYXRp
b25DZW50ZXIgYWRkT2JzZXJ2ZXJGb3JOYW1lOlVJQXBwbGljYXRpb25EaWRFbnRlckJhY2tncm91
bmROb3RpZmljYXRpb24gb2JqZWN0OmFwcGxpY2F0aW9uIHF1ZXVlOm5pbCB1c2luZ0Jsb2NrOlt0
aGlzXShOU05vdGlmaWNhdGlvbiAqKSB7CisgICAgICAgIG1fZGlkRW50ZXJCYWNrZ3JvdW5kT2Jz
ZXJ2ZXIgPSBbY2VudGVyIGFkZE9ic2VydmVyRm9yTmFtZTpVSUFwcGxpY2F0aW9uRGlkRW50ZXJC
YWNrZ3JvdW5kTm90aWZpY2F0aW9uIG9iamVjdDphcHBsaWNhdGlvbiBxdWV1ZTpuaWwgdXNpbmdC
bG9jazpbdGhpc10oTlNOb3RpZmljYXRpb24gKikgewogI2VuZGlmCiAgICAgICAgICAgICBhcHBs
aWNhdGlvbkRpZEVudGVyQmFja2dyb3VuZCgpOwogICAgICAgICB9XTsKIAogI2lmIEhBVkUoVUlT
Q0VORSkKLSAgICAgICAgbV93aWxsRW50ZXJGb3JlZ3JvdW5kT2JzZXJ2ZXIgPSBbbm90aWZpY2F0
aW9uQ2VudGVyIGFkZE9ic2VydmVyRm9yTmFtZTpVSVNjZW5lV2lsbEVudGVyRm9yZWdyb3VuZE5v
dGlmaWNhdGlvbiBvYmplY3Q6d2luZG93LndpbmRvd1NjZW5lIHF1ZXVlOm5pbCB1c2luZ0Jsb2Nr
Olt0aGlzXShOU05vdGlmaWNhdGlvbiAqKSB7CisgICAgICAgIG1fd2lsbEVudGVyRm9yZWdyb3Vu
ZE9ic2VydmVyID0gW2NlbnRlciBhZGRPYnNlcnZlckZvck5hbWU6VUlTY2VuZVdpbGxFbnRlckZv
cmVncm91bmROb3RpZmljYXRpb24gb2JqZWN0OndpbmRvdy53aW5kb3dTY2VuZSBxdWV1ZTpuaWwg
dXNpbmdCbG9jazpbdGhpc10oTlNOb3RpZmljYXRpb24gKikgewogI2Vsc2UKLSAgICAgICAgbV93
aWxsRW50ZXJGb3JlZ3JvdW5kT2JzZXJ2ZXIgPSBbbm90aWZpY2F0aW9uQ2VudGVyIGFkZE9ic2Vy
dmVyRm9yTmFtZTpVSUFwcGxpY2F0aW9uV2lsbEVudGVyRm9yZWdyb3VuZE5vdGlmaWNhdGlvbiBv
YmplY3Q6YXBwbGljYXRpb24gcXVldWU6bmlsIHVzaW5nQmxvY2s6W3RoaXNdKE5TTm90aWZpY2F0
aW9uICopIHsKKyAgICAgICAgbV93aWxsRW50ZXJGb3JlZ3JvdW5kT2JzZXJ2ZXIgPSBbY2VudGVy
IGFkZE9ic2VydmVyRm9yTmFtZTpVSUFwcGxpY2F0aW9uV2lsbEVudGVyRm9yZWdyb3VuZE5vdGlm
aWNhdGlvbiBvYmplY3Q6YXBwbGljYXRpb24gcXVldWU6bmlsIHVzaW5nQmxvY2s6W3RoaXNdKE5T
Tm90aWZpY2F0aW9uICopIHsKICNlbmRpZgogICAgICAgICAgICAgYXBwbGljYXRpb25XaWxsRW50
ZXJGb3JlZ3JvdW5kKCk7CiAgICAgICAgIH1dOwpAQCAtMTUwLDEwICsxNTAsMTAgQEAgQXBwbGlj
YXRpb25TdGF0ZVRyYWNrZXI6OkFwcGxpY2F0aW9uU3RhdGVUcmFja2VyKFVJVmlldyAqdmlldywg
U0VMIGRpZEVudGVyQmFja2cKICAgICAgICAgaWYgKFtzZXJ2aWNlVmlld0NvbnRyb2xsZXIuX2hv
c3RBcHBsaWNhdGlvbkJ1bmRsZUlkZW50aWZpZXIgaXNFcXVhbFRvU3RyaW5nOkAiY29tLmFwcGxl
Lmlvcy5TdG9yZUtpdFVJU2VydmljZSJdKQogICAgICAgICAgICAgbV9pc0luQmFja2dyb3VuZCA9
IGZhbHNlOwogCi0gICAgICAgIG1fZGlkRW50ZXJCYWNrZ3JvdW5kT2JzZXJ2ZXIgPSBbbm90aWZp
Y2F0aW9uQ2VudGVyIGFkZE9ic2VydmVyRm9yTmFtZTpAIl9VSVZpZXdTZXJ2aWNlSG9zdERpZEVu
dGVyQmFja2dyb3VuZE5vdGlmaWNhdGlvbiIgb2JqZWN0OnNlcnZpY2VWaWV3Q29udHJvbGxlciBx
dWV1ZTpuaWwgdXNpbmdCbG9jazpbdGhpc10oTlNOb3RpZmljYXRpb24gKikgeworICAgICAgICBt
X2RpZEVudGVyQmFja2dyb3VuZE9ic2VydmVyID0gW2NlbnRlciBhZGRPYnNlcnZlckZvck5hbWU6
QCJfVUlWaWV3U2VydmljZUhvc3REaWRFbnRlckJhY2tncm91bmROb3RpZmljYXRpb24iIG9iamVj
dDpzZXJ2aWNlVmlld0NvbnRyb2xsZXIgcXVldWU6bmlsIHVzaW5nQmxvY2s6W3RoaXNdKE5TTm90
aWZpY2F0aW9uICopIHsKICAgICAgICAgICAgIGFwcGxpY2F0aW9uRGlkRW50ZXJCYWNrZ3JvdW5k
KCk7CiAgICAgICAgIH1dOwotICAgICAgICBtX3dpbGxFbnRlckZvcmVncm91bmRPYnNlcnZlciA9
IFtub3RpZmljYXRpb25DZW50ZXIgYWRkT2JzZXJ2ZXJGb3JOYW1lOkAiX1VJVmlld1NlcnZpY2VI
b3N0V2lsbEVudGVyRm9yZWdyb3VuZE5vdGlmaWNhdGlvbiIgb2JqZWN0OnNlcnZpY2VWaWV3Q29u
dHJvbGxlciBxdWV1ZTpuaWwgdXNpbmdCbG9jazpbdGhpc10oTlNOb3RpZmljYXRpb24gKikgewor
ICAgICAgICBtX3dpbGxFbnRlckZvcmVncm91bmRPYnNlcnZlciA9IFtjZW50ZXIgYWRkT2JzZXJ2
ZXJGb3JOYW1lOkAiX1VJVmlld1NlcnZpY2VIb3N0V2lsbEVudGVyRm9yZWdyb3VuZE5vdGlmaWNh
dGlvbiIgb2JqZWN0OnNlcnZpY2VWaWV3Q29udHJvbGxlciBxdWV1ZTpuaWwgdXNpbmdCbG9jazpb
dGhpc10oTlNOb3RpZmljYXRpb24gKikgewogICAgICAgICAgICAgYXBwbGljYXRpb25XaWxsRW50
ZXJGb3JlZ3JvdW5kKCk7CiAgICAgICAgIH1dOwogCkBAIC0xOTUsMTAgKzE5NSwxMCBAQCBBcHBs
aWNhdGlvblN0YXRlVHJhY2tlcjo6fkFwcGxpY2F0aW9uU3RhdGVUcmFja2VyKCkKICAgICAgICAg
cmV0dXJuOwogICAgIH0KIAotICAgIE5TTm90aWZpY2F0aW9uQ2VudGVyICpub3RpZmljYXRpb25D
ZW50ZXIgPSBbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl07Ci0gICAgW25vdGlm
aWNhdGlvbkNlbnRlciByZW1vdmVPYnNlcnZlcjptX2RpZEVudGVyQmFja2dyb3VuZE9ic2VydmVy
XTsKLSAgICBbbm90aWZpY2F0aW9uQ2VudGVyIHJlbW92ZU9ic2VydmVyOm1fZGlkRmluaXNoU25h
cHNob3R0aW5nQWZ0ZXJFbnRlcmluZ0JhY2tncm91bmRPYnNlcnZlcl07Ci0gICAgW25vdGlmaWNh
dGlvbkNlbnRlciByZW1vdmVPYnNlcnZlcjptX3dpbGxFbnRlckZvcmVncm91bmRPYnNlcnZlcl07
CisgICAgTlNOb3RpZmljYXRpb25DZW50ZXIgKmNlbnRlciA9IFtOU05vdGlmaWNhdGlvbkNlbnRl
ciBkZWZhdWx0Q2VudGVyXTsKKyAgICBbY2VudGVyIHJlbW92ZU9ic2VydmVyOm1fZGlkRW50ZXJC
YWNrZ3JvdW5kT2JzZXJ2ZXJdOworICAgIFtjZW50ZXIgcmVtb3ZlT2JzZXJ2ZXI6bV9kaWRGaW5p
c2hTbmFwc2hvdHRpbmdBZnRlckVudGVyaW5nQmFja2dyb3VuZE9ic2VydmVyXTsKKyAgICBbY2Vu
dGVyIHJlbW92ZU9ic2VydmVyOm1fd2lsbEVudGVyRm9yZWdyb3VuZE9ic2VydmVyXTsKIH0KIAog
dm9pZCBBcHBsaWNhdGlvblN0YXRlVHJhY2tlcjo6YXBwbGljYXRpb25EaWRFbnRlckJhY2tncm91
bmQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvRG93bmxvYWRQ
cm94eU1hcENvY29hLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvRG93bmxvYWRQ
cm94eU1hcENvY29hLm1tCmluZGV4IGFjOTFjZDZiMjE3Li45MDU5ZmFmNTNjNyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvRG93bmxvYWRQcm94eU1hcENvY29hLm1t
CisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL0Rvd25sb2FkUHJveHlNYXBDb2Nv
YS5tbQpAQCAtMzUsMTIgKzM1LDEzIEBAIG5hbWVzcGFjZSBXZWJLaXQgewogdm9pZCBEb3dubG9h
ZFByb3h5TWFwOjpwbGF0Zm9ybUNyZWF0ZSgpCiB7CiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkK
LSAgICBtX2JhY2tncm91bmRPYnNlcnZlciA9IFtbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVs
dENlbnRlcl0gYWRkT2JzZXJ2ZXJGb3JOYW1lOlVJQXBwbGljYXRpb25EaWRFbnRlckJhY2tncm91
bmROb3RpZmljYXRpb24gb2JqZWN0OltVSUFwcGxpY2F0aW9uIHNoYXJlZEFwcGxpY2F0aW9uXSBx
dWV1ZTpuaWwgdXNpbmdCbG9jazptYWtlQmxvY2tQdHIoW3dlYWtUaGlzID0gbWFrZVdlYWtQdHIo
KnRoaXMpXShOU05vdGlmaWNhdGlvbiAqKSB7CisgICAgTlNOb3RpZmljYXRpb25DZW50ZXIgKmNl
bnRlciA9IFtOU05vdGlmaWNhdGlvbkNlbnRlciBkZWZhdWx0Q2VudGVyXTsKKyAgICBtX2JhY2tn
cm91bmRPYnNlcnZlciA9IFtjZW50ZXIgYWRkT2JzZXJ2ZXJGb3JOYW1lOlVJQXBwbGljYXRpb25E
aWRFbnRlckJhY2tncm91bmROb3RpZmljYXRpb24gb2JqZWN0OltVSUFwcGxpY2F0aW9uIHNoYXJl
ZEFwcGxpY2F0aW9uXSBxdWV1ZTpuaWwgdXNpbmdCbG9jazptYWtlQmxvY2tQdHIoW3dlYWtUaGlz
ID0gbWFrZVdlYWtQdHIoKnRoaXMpXShOU05vdGlmaWNhdGlvbiAqKSB7CiAgICAgICAgIGlmICgh
d2Vha1RoaXMpCiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIHdlYWtUaGlzLT5hcHBsaWNh
dGlvbkRpZEVudGVyQmFja2dyb3VuZCgpOwogICAgIH0pLmdldCgpXTsKLSAgICBtX2ZvcmVncm91
bmRPYnNlcnZlciA9IFtbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl0gYWRkT2Jz
ZXJ2ZXJGb3JOYW1lOlVJQXBwbGljYXRpb25XaWxsRW50ZXJGb3JlZ3JvdW5kTm90aWZpY2F0aW9u
IG9iamVjdDpbVUlBcHBsaWNhdGlvbiBzaGFyZWRBcHBsaWNhdGlvbl0gcXVldWU6bmlsIHVzaW5n
QmxvY2s6bWFrZUJsb2NrUHRyKFt3ZWFrVGhpcyA9IG1ha2VXZWFrUHRyKCp0aGlzKV0oTlNOb3Rp
ZmljYXRpb24gKikgeworICAgIG1fZm9yZWdyb3VuZE9ic2VydmVyID0gW2NlbnRlciBhZGRPYnNl
cnZlckZvck5hbWU6VUlBcHBsaWNhdGlvbldpbGxFbnRlckZvcmVncm91bmROb3RpZmljYXRpb24g
b2JqZWN0OltVSUFwcGxpY2F0aW9uIHNoYXJlZEFwcGxpY2F0aW9uXSBxdWV1ZTpuaWwgdXNpbmdC
bG9jazptYWtlQmxvY2tQdHIoW3dlYWtUaGlzID0gbWFrZVdlYWtQdHIoKnRoaXMpXShOU05vdGlm
aWNhdGlvbiAqKSB7CiAgICAgICAgIGlmICghd2Vha1RoaXMpCiAgICAgICAgICAgICByZXR1cm47
CiAgICAgICAgIHdlYWtUaGlzLT5hcHBsaWNhdGlvbldpbGxFbnRlckZvcmVncm91bmQoKTsKQEAg
LTUxLDggKzUyLDkgQEAgdm9pZCBEb3dubG9hZFByb3h5TWFwOjpwbGF0Zm9ybUNyZWF0ZSgpCiB2
b2lkIERvd25sb2FkUHJveHlNYXA6OnBsYXRmb3JtRGVzdHJveSgpCiB7CiAjaWYgUExBVEZPUk0o
SU9TX0ZBTUlMWSkKLSAgICBbW05TTm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJdIHJl
bW92ZU9ic2VydmVyOm1fYmFja2dyb3VuZE9ic2VydmVyLmdldCgpXTsKLSAgICBbW05TTm90aWZp
Y2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJdIHJlbW92ZU9ic2VydmVyOm1fZm9yZWdyb3VuZE9i
c2VydmVyLmdldCgpXTsKKyAgICBOU05vdGlmaWNhdGlvbkNlbnRlciAqY2VudGVyID0gW05TTm90
aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJdOworICAgIFtjZW50ZXIgcmVtb3ZlT2JzZXJ2
ZXI6bV9iYWNrZ3JvdW5kT2JzZXJ2ZXIuZ2V0KCldOworICAgIFtjZW50ZXIgcmVtb3ZlT2JzZXJ2
ZXI6bV9mb3JlZ3JvdW5kT2JzZXJ2ZXIuZ2V0KCldOwogI2VuZGlmCiB9CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW0gYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tCmluZGV4
IDgwNzYzMmZmNTdjLi5jMThmODg4Yjc5YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tCkBAIC0yMzksOCArMjM5LDggQEAg
dm9pZCBXZWJQcm9jZXNzUG9vbDo6cGxhdGZvcm1Jbml0aWFsaXplV2ViUHJvY2VzcyhXZWJQcm9j
ZXNzQ3JlYXRpb25QYXJhbWV0ZXJzJgogI2VuZGlmCiAKICNpZiAhTE9HX0RJU0FCTEVEIHx8ICFS
RUxFQVNFX0xPR19ESVNBQkxFRAotICAgIHBhcmFtZXRlcnMud2ViQ29yZUxvZ2dpbmdDaGFubmVs
cyA9IFtbTlNVc2VyRGVmYXVsdHMgc3RhbmRhcmRVc2VyRGVmYXVsdHNdIHN0cmluZ0ZvcktleTpA
IldlYkNvcmVMb2dnaW5nIl07Ci0gICAgcGFyYW1ldGVycy53ZWJLaXRMb2dnaW5nQ2hhbm5lbHMg
PSBbW05TVXNlckRlZmF1bHRzIHN0YW5kYXJkVXNlckRlZmF1bHRzXSBzdHJpbmdGb3JLZXk6QCJX
ZWJLaXQyTG9nZ2luZyJdOworICAgIHBhcmFtZXRlcnMud2ViQ29yZUxvZ2dpbmdDaGFubmVscyA9
IFtkZWZhdWx0cyBzdHJpbmdGb3JLZXk6QCJXZWJDb3JlTG9nZ2luZyJdOworICAgIHBhcmFtZXRl
cnMud2ViS2l0TG9nZ2luZ0NoYW5uZWxzID0gW2RlZmF1bHRzIHN0cmluZ0ZvcktleTpAIldlYktp
dDJMb2dnaW5nIl07CiAjZW5kaWYKIAogICAgIC8vIEZJWE1FOiBSZW1vdmUgdGhpcyBhbmQgcmVs
YXRlZCBwYXJhbWV0ZXIgd2hlbiA8cmRhcjovL3Byb2JsZW0vMjk0NDgzNjg+IGlzIGZpeGVkLgpA
QCAtNDA2LDI2ICs0MDYsMjcgQEAgdm9pZCBXZWJQcm9jZXNzUG9vbDo6cmVnaXN0ZXJOb3RpZmlj
YXRpb25PYnNlcnZlcnMoKQogewogI2lmICFQTEFURk9STShJT1NfRkFNSUxZKQogICAgIC8vIExp
c3RlbiBmb3IgZW5oYW5jZWQgYWNjZXNzaWJpbGl0eSBjaGFuZ2VzIGFuZCBwcm9wYWdhdGUgdGhl
bSB0byB0aGUgV2ViUHJvY2Vzcy4KLSAgICBtX2VuaGFuY2VkQWNjZXNzaWJpbGl0eU9ic2VydmVy
ID0gW1tOU05vdGlmaWNhdGlvbkNlbnRlciBkZWZhdWx0Q2VudGVyXSBhZGRPYnNlcnZlckZvck5h
bWU6V2ViS2l0QXBwbGljYXRpb25EaWRDaGFuZ2VBY2Nlc3NpYmlsaXR5RW5oYW5jZWRVc2VySW50
ZXJmYWNlTm90aWZpY2F0aW9uIG9iamVjdDpuaWwgcXVldWU6W05TT3BlcmF0aW9uUXVldWUgY3Vy
cmVudFF1ZXVlXSB1c2luZ0Jsb2NrOl4oTlNOb3RpZmljYXRpb24gKm5vdGUpIHsKKyAgICBOU05v
dGlmaWNhdGlvbkNlbnRlciAqY2VudGVyID0gW05TTm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRD
ZW50ZXJdOworICAgIG1fZW5oYW5jZWRBY2Nlc3NpYmlsaXR5T2JzZXJ2ZXIgPSBbY2VudGVyIGFk
ZE9ic2VydmVyRm9yTmFtZTpXZWJLaXRBcHBsaWNhdGlvbkRpZENoYW5nZUFjY2Vzc2liaWxpdHlF
bmhhbmNlZFVzZXJJbnRlcmZhY2VOb3RpZmljYXRpb24gb2JqZWN0Om5pbCBxdWV1ZTpbTlNPcGVy
YXRpb25RdWV1ZSBjdXJyZW50UXVldWVdIHVzaW5nQmxvY2s6XihOU05vdGlmaWNhdGlvbiAqbm90
ZSkgewogICAgICAgICBzZXRFbmhhbmNlZEFjY2Vzc2liaWxpdHkoW1tbbm90ZSB1c2VySW5mb10g
b2JqZWN0Rm9yS2V5OkAiQVhFbmhhbmNlZFVzZXJJbnRlcmZhY2UiXSBib29sVmFsdWVdKTsKICAg
ICB9XTsKIAotICAgIG1fYXV0b21hdGljVGV4dFJlcGxhY2VtZW50Tm90aWZpY2F0aW9uT2JzZXJ2
ZXIgPSBbW05TTm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJdIGFkZE9ic2VydmVyRm9y
TmFtZTpOU1NwZWxsQ2hlY2tlckRpZENoYW5nZUF1dG9tYXRpY1RleHRSZXBsYWNlbWVudE5vdGlm
aWNhdGlvbiBvYmplY3Q6bmlsIHF1ZXVlOltOU09wZXJhdGlvblF1ZXVlIGN1cnJlbnRRdWV1ZV0g
dXNpbmdCbG9jazpeKE5TTm90aWZpY2F0aW9uICpub3RpZmljYXRpb24pIHsKKyAgICBtX2F1dG9t
YXRpY1RleHRSZXBsYWNlbWVudE5vdGlmaWNhdGlvbk9ic2VydmVyID0gW2NlbnRlciBhZGRPYnNl
cnZlckZvck5hbWU6TlNTcGVsbENoZWNrZXJEaWRDaGFuZ2VBdXRvbWF0aWNUZXh0UmVwbGFjZW1l
bnROb3RpZmljYXRpb24gb2JqZWN0Om5pbCBxdWV1ZTpbTlNPcGVyYXRpb25RdWV1ZSBjdXJyZW50
UXVldWVdIHVzaW5nQmxvY2s6XihOU05vdGlmaWNhdGlvbiAqbm90aWZpY2F0aW9uKSB7CiAgICAg
ICAgIFRleHRDaGVja2VyOjpkaWRDaGFuZ2VBdXRvbWF0aWNUZXh0UmVwbGFjZW1lbnRFbmFibGVk
KCk7CiAgICAgICAgIHRleHRDaGVja2VyU3RhdGVDaGFuZ2VkKCk7CiAgICAgfV07CiAgICAgCi0g
ICAgbV9hdXRvbWF0aWNTcGVsbGluZ0NvcnJlY3Rpb25Ob3RpZmljYXRpb25PYnNlcnZlciA9IFtb
TlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl0gYWRkT2JzZXJ2ZXJGb3JOYW1lOk5T
U3BlbGxDaGVja2VyRGlkQ2hhbmdlQXV0b21hdGljU3BlbGxpbmdDb3JyZWN0aW9uTm90aWZpY2F0
aW9uIG9iamVjdDpuaWwgcXVldWU6W05TT3BlcmF0aW9uUXVldWUgY3VycmVudFF1ZXVlXSB1c2lu
Z0Jsb2NrOl4oTlNOb3RpZmljYXRpb24gKm5vdGlmaWNhdGlvbikgeworICAgIG1fYXV0b21hdGlj
U3BlbGxpbmdDb3JyZWN0aW9uTm90aWZpY2F0aW9uT2JzZXJ2ZXIgPSBbY2VudGVyIGFkZE9ic2Vy
dmVyRm9yTmFtZTpOU1NwZWxsQ2hlY2tlckRpZENoYW5nZUF1dG9tYXRpY1NwZWxsaW5nQ29ycmVj
dGlvbk5vdGlmaWNhdGlvbiBvYmplY3Q6bmlsIHF1ZXVlOltOU09wZXJhdGlvblF1ZXVlIGN1cnJl
bnRRdWV1ZV0gdXNpbmdCbG9jazpeKE5TTm90aWZpY2F0aW9uICpub3RpZmljYXRpb24pIHsKICAg
ICAgICAgVGV4dENoZWNrZXI6OmRpZENoYW5nZUF1dG9tYXRpY1NwZWxsaW5nQ29ycmVjdGlvbkVu
YWJsZWQoKTsKICAgICAgICAgdGV4dENoZWNrZXJTdGF0ZUNoYW5nZWQoKTsKICAgICB9XTsKIAot
ICAgIG1fYXV0b21hdGljUXVvdGVTdWJzdGl0dXRpb25Ob3RpZmljYXRpb25PYnNlcnZlciA9IFtb
TlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl0gYWRkT2JzZXJ2ZXJGb3JOYW1lOk5T
U3BlbGxDaGVja2VyRGlkQ2hhbmdlQXV0b21hdGljUXVvdGVTdWJzdGl0dXRpb25Ob3RpZmljYXRp
b24gb2JqZWN0Om5pbCBxdWV1ZTpbTlNPcGVyYXRpb25RdWV1ZSBjdXJyZW50UXVldWVdIHVzaW5n
QmxvY2s6XihOU05vdGlmaWNhdGlvbiAqbm90aWZpY2F0aW9uKSB7CisgICAgbV9hdXRvbWF0aWNR
dW90ZVN1YnN0aXR1dGlvbk5vdGlmaWNhdGlvbk9ic2VydmVyID0gW2NlbnRlciBhZGRPYnNlcnZl
ckZvck5hbWU6TlNTcGVsbENoZWNrZXJEaWRDaGFuZ2VBdXRvbWF0aWNRdW90ZVN1YnN0aXR1dGlv
bk5vdGlmaWNhdGlvbiBvYmplY3Q6bmlsIHF1ZXVlOltOU09wZXJhdGlvblF1ZXVlIGN1cnJlbnRR
dWV1ZV0gdXNpbmdCbG9jazpeKE5TTm90aWZpY2F0aW9uICpub3RpZmljYXRpb24pIHsKICAgICAg
ICAgVGV4dENoZWNrZXI6OmRpZENoYW5nZUF1dG9tYXRpY1F1b3RlU3Vic3RpdHV0aW9uRW5hYmxl
ZCgpOwogICAgICAgICB0ZXh0Q2hlY2tlclN0YXRlQ2hhbmdlZCgpOwogICAgIH1dOwogCi0gICAg
bV9hdXRvbWF0aWNEYXNoU3Vic3RpdHV0aW9uTm90aWZpY2F0aW9uT2JzZXJ2ZXIgPSBbW05TTm90
aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJdIGFkZE9ic2VydmVyRm9yTmFtZTpOU1NwZWxs
Q2hlY2tlckRpZENoYW5nZUF1dG9tYXRpY0Rhc2hTdWJzdGl0dXRpb25Ob3RpZmljYXRpb24gb2Jq
ZWN0Om5pbCBxdWV1ZTpbTlNPcGVyYXRpb25RdWV1ZSBjdXJyZW50UXVldWVdIHVzaW5nQmxvY2s6
XihOU05vdGlmaWNhdGlvbiAqbm90aWZpY2F0aW9uKSB7CisgICAgbV9hdXRvbWF0aWNEYXNoU3Vi
c3RpdHV0aW9uTm90aWZpY2F0aW9uT2JzZXJ2ZXIgPSBbY2VudGVyIGFkZE9ic2VydmVyRm9yTmFt
ZTpOU1NwZWxsQ2hlY2tlckRpZENoYW5nZUF1dG9tYXRpY0Rhc2hTdWJzdGl0dXRpb25Ob3RpZmlj
YXRpb24gb2JqZWN0Om5pbCBxdWV1ZTpbTlNPcGVyYXRpb25RdWV1ZSBjdXJyZW50UXVldWVdIHVz
aW5nQmxvY2s6XihOU05vdGlmaWNhdGlvbiAqbm90aWZpY2F0aW9uKSB7CiAgICAgICAgIFRleHRD
aGVja2VyOjpkaWRDaGFuZ2VBdXRvbWF0aWNEYXNoU3Vic3RpdHV0aW9uRW5hYmxlZCgpOwogICAg
ICAgICB0ZXh0Q2hlY2tlclN0YXRlQ2hhbmdlZCgpOwogICAgIH1dOwpAQCAtNDM1LDIyICs0MzYs
MjIgQEAgdm9pZCBXZWJQcm9jZXNzUG9vbDo6cmVnaXN0ZXJOb3RpZmljYXRpb25PYnNlcnZlcnMo
KQogICAgIH1dOwogCiAjaWYgRU5BQkxFKFdFQlBST0NFU1NfV0lORE9XU0VSVkVSX0JMT0NLSU5H
KQotICAgIG1fc2Nyb2xsZXJTdHlsZU5vdGlmaWNhdGlvbk9ic2VydmVyID0gW1tOU05vdGlmaWNh
dGlvbkNlbnRlciBkZWZhdWx0Q2VudGVyXSBhZGRPYnNlcnZlckZvck5hbWU6TlNQcmVmZXJyZWRT
Y3JvbGxlclN0eWxlRGlkQ2hhbmdlTm90aWZpY2F0aW9uIG9iamVjdDpuaWwgcXVldWU6W05TT3Bl
cmF0aW9uUXVldWUgY3VycmVudFF1ZXVlXSB1c2luZ0Jsb2NrOl4oTlNOb3RpZmljYXRpb24gKm5v
dGlmaWNhdGlvbikgeworICAgIG1fc2Nyb2xsZXJTdHlsZU5vdGlmaWNhdGlvbk9ic2VydmVyID0g
W2NlbnRlciBhZGRPYnNlcnZlckZvck5hbWU6TlNQcmVmZXJyZWRTY3JvbGxlclN0eWxlRGlkQ2hh
bmdlTm90aWZpY2F0aW9uIG9iamVjdDpuaWwgcXVldWU6W05TT3BlcmF0aW9uUXVldWUgY3VycmVu
dFF1ZXVlXSB1c2luZ0Jsb2NrOl4oTlNOb3RpZmljYXRpb24gKm5vdGlmaWNhdGlvbikgewogICAg
ICAgICBhdXRvIHNjcm9sbGJhclN0eWxlID0gW05TU2Nyb2xsZXIgcHJlZmVycmVkU2Nyb2xsZXJT
dHlsZV07CiAgICAgICAgIHNlbmRUb0FsbFByb2Nlc3NlcyhNZXNzYWdlczo6V2ViUHJvY2Vzczo6
U2Nyb2xsZXJTdHlsZVByZWZlcmVuY2VDaGFuZ2VkKHNjcm9sbGJhclN0eWxlKSk7CiAgICAgfV07
CiAjZW5kaWYKIAotICAgIG1fYWN0aXZhdGlvbk9ic2VydmVyID0gW1tOU05vdGlmaWNhdGlvbkNl
bnRlciBkZWZhdWx0Q2VudGVyXSBhZGRPYnNlcnZlckZvck5hbWU6TlNBcHBsaWNhdGlvbkRpZEJl
Y29tZUFjdGl2ZU5vdGlmaWNhdGlvbiBvYmplY3Q6TlNBcHAgcXVldWU6W05TT3BlcmF0aW9uUXVl
dWUgY3VycmVudFF1ZXVlXSB1c2luZ0Jsb2NrOl4oTlNOb3RpZmljYXRpb24gKm5vdGlmaWNhdGlv
bikgeworICAgIG1fYWN0aXZhdGlvbk9ic2VydmVyID0gW2NlbnRlciBhZGRPYnNlcnZlckZvck5h
bWU6TlNBcHBsaWNhdGlvbkRpZEJlY29tZUFjdGl2ZU5vdGlmaWNhdGlvbiBvYmplY3Q6TlNBcHAg
cXVldWU6W05TT3BlcmF0aW9uUXVldWUgY3VycmVudFF1ZXVlXSB1c2luZ0Jsb2NrOl4oTlNOb3Rp
ZmljYXRpb24gKm5vdGlmaWNhdGlvbikgewogICAgICAgICBzZXRBcHBsaWNhdGlvbklzQWN0aXZl
KHRydWUpOwogICAgIH1dOwogCi0gICAgbV9kZWFjdGl2YXRpb25PYnNlcnZlciA9IFtbTlNOb3Rp
ZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl0gYWRkT2JzZXJ2ZXJGb3JOYW1lOk5TQXBwbGlj
YXRpb25EaWRSZXNpZ25BY3RpdmVOb3RpZmljYXRpb24gb2JqZWN0Ok5TQXBwIHF1ZXVlOltOU09w
ZXJhdGlvblF1ZXVlIGN1cnJlbnRRdWV1ZV0gdXNpbmdCbG9jazpeKE5TTm90aWZpY2F0aW9uICpu
b3RpZmljYXRpb24pIHsKKyAgICBtX2RlYWN0aXZhdGlvbk9ic2VydmVyID0gW2NlbnRlciBhZGRP
YnNlcnZlckZvck5hbWU6TlNBcHBsaWNhdGlvbkRpZFJlc2lnbkFjdGl2ZU5vdGlmaWNhdGlvbiBv
YmplY3Q6TlNBcHAgcXVldWU6W05TT3BlcmF0aW9uUXVldWUgY3VycmVudFF1ZXVlXSB1c2luZ0Js
b2NrOl4oTlNOb3RpZmljYXRpb24gKm5vdGlmaWNhdGlvbikgewogICAgICAgICBzZXRBcHBsaWNh
dGlvbklzQWN0aXZlKGZhbHNlKTsKICAgICB9XTsKICNlbGlmIFBMQVRGT1JNKElPUykKICAgICBD
Rk5vdGlmaWNhdGlvbkNlbnRlckFkZE9ic2VydmVyKENGTm90aWZpY2F0aW9uQ2VudGVyR2V0RGFy
d2luTm90aWZ5Q2VudGVyKCksIHRoaXMsIGJhY2tsaWdodExldmVsRGlkQ2hhbmdlQ2FsbGJhY2ss
IHN0YXRpY19jYXN0PENGU3RyaW5nUmVmPihVSUJhY2tsaWdodExldmVsQ2hhbmdlZE5vdGlmaWNh
dGlvbiksIG51bGxwdHIsIENGTm90aWZpY2F0aW9uU3VzcGVuc2lvbkJlaGF2aW9yQ29hbGVzY2Up
OwotICAgIG1fYWNjZXNzaWJpbGl0eUVuYWJsZWRPYnNlcnZlciA9IFtbTlNOb3RpZmljYXRpb25D
ZW50ZXIgZGVmYXVsdENlbnRlcl0gYWRkT2JzZXJ2ZXJGb3JOYW1lOihfX2JyaWRnZSBpZClrQVhT
QXBwbGljYXRpb25BY2Nlc3NpYmlsaXR5RW5hYmxlZE5vdGlmaWNhdGlvbiBvYmplY3Q6bmlsIHF1
ZXVlOltOU09wZXJhdGlvblF1ZXVlIGN1cnJlbnRRdWV1ZV0gdXNpbmdCbG9jazpeKE5TTm90aWZp
Y2F0aW9uICopIHsKKyAgICBtX2FjY2Vzc2liaWxpdHlFbmFibGVkT2JzZXJ2ZXIgPSBbY2VudGVy
IGFkZE9ic2VydmVyRm9yTmFtZTooX19icmlkZ2UgaWQpa0FYU0FwcGxpY2F0aW9uQWNjZXNzaWJp
bGl0eUVuYWJsZWROb3RpZmljYXRpb24gb2JqZWN0Om5pbCBxdWV1ZTpbTlNPcGVyYXRpb25RdWV1
ZSBjdXJyZW50UXVldWVdIHVzaW5nQmxvY2s6XihOU05vdGlmaWNhdGlvbiAqKSB7CiAgICAgICAg
IGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbV9wcm9jZXNzZXMuc2l6ZSgpOyArK2kpCiAgICAgICAg
ICAgICBtX3Byb2Nlc3Nlc1tpXS0+dW5ibG9ja0FjY2Vzc2liaWxpdHlTZXJ2ZXJJZk5lZWRlZCgp
OwogICAgIH1dOwpAQCAtNDYwLDIwICs0NjEsMjEgQEAgdm9pZCBXZWJQcm9jZXNzUG9vbDo6cmVn
aXN0ZXJOb3RpZmljYXRpb25PYnNlcnZlcnMoKQogdm9pZCBXZWJQcm9jZXNzUG9vbDo6dW5yZWdp
c3Rlck5vdGlmaWNhdGlvbk9ic2VydmVycygpCiB7CiAjaWYgIVBMQVRGT1JNKElPU19GQU1JTFkp
Ci0gICAgW1tOU05vdGlmaWNhdGlvbkNlbnRlciBkZWZhdWx0Q2VudGVyXSByZW1vdmVPYnNlcnZl
cjptX2VuaGFuY2VkQWNjZXNzaWJpbGl0eU9ic2VydmVyLmdldCgpXTsKLSAgICBbW05TTm90aWZp
Y2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJdIHJlbW92ZU9ic2VydmVyOm1fYXV0b21hdGljVGV4
dFJlcGxhY2VtZW50Tm90aWZpY2F0aW9uT2JzZXJ2ZXIuZ2V0KCldOwotICAgIFtbTlNOb3RpZmlj
YXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl0gcmVtb3ZlT2JzZXJ2ZXI6bV9hdXRvbWF0aWNTcGVs
bGluZ0NvcnJlY3Rpb25Ob3RpZmljYXRpb25PYnNlcnZlci5nZXQoKV07Ci0gICAgW1tOU05vdGlm
aWNhdGlvbkNlbnRlciBkZWZhdWx0Q2VudGVyXSByZW1vdmVPYnNlcnZlcjptX2F1dG9tYXRpY1F1
b3RlU3Vic3RpdHV0aW9uTm90aWZpY2F0aW9uT2JzZXJ2ZXIuZ2V0KCldOwotICAgIFtbTlNOb3Rp
ZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl0gcmVtb3ZlT2JzZXJ2ZXI6bV9hdXRvbWF0aWNE
YXNoU3Vic3RpdHV0aW9uTm90aWZpY2F0aW9uT2JzZXJ2ZXIuZ2V0KCldOworICAgIE5TTm90aWZp
Y2F0aW9uQ2VudGVyICpjZW50ZXIgPSBbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRl
cl07CisgICAgW2NlbnRlciByZW1vdmVPYnNlcnZlcjptX2VuaGFuY2VkQWNjZXNzaWJpbGl0eU9i
c2VydmVyLmdldCgpXTsKKyAgICBbY2VudGVyIHJlbW92ZU9ic2VydmVyOm1fYXV0b21hdGljVGV4
dFJlcGxhY2VtZW50Tm90aWZpY2F0aW9uT2JzZXJ2ZXIuZ2V0KCldOworICAgIFtjZW50ZXIgcmVt
b3ZlT2JzZXJ2ZXI6bV9hdXRvbWF0aWNTcGVsbGluZ0NvcnJlY3Rpb25Ob3RpZmljYXRpb25PYnNl
cnZlci5nZXQoKV07CisgICAgW2NlbnRlciByZW1vdmVPYnNlcnZlcjptX2F1dG9tYXRpY1F1b3Rl
U3Vic3RpdHV0aW9uTm90aWZpY2F0aW9uT2JzZXJ2ZXIuZ2V0KCldOworICAgIFtjZW50ZXIgcmVt
b3ZlT2JzZXJ2ZXI6bV9hdXRvbWF0aWNEYXNoU3Vic3RpdHV0aW9uTm90aWZpY2F0aW9uT2JzZXJ2
ZXIuZ2V0KCldOwogICAgIFtbTlNXb3Jrc3BhY2Uuc2hhcmVkV29ya3NwYWNlIG5vdGlmaWNhdGlv
bkNlbnRlcl0gcmVtb3ZlT2JzZXJ2ZXI6bV9hY2Nlc3NpYmlsaXR5RGlzcGxheU9wdGlvbnNOb3Rp
ZmljYXRpb25PYnNlcnZlci5nZXQoKV07CiAjaWYgRU5BQkxFKFdFQlBST0NFU1NfV0lORE9XU0VS
VkVSX0JMT0NLSU5HKQotICAgIFtbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl0g
cmVtb3ZlT2JzZXJ2ZXI6bV9zY3JvbGxlclN0eWxlTm90aWZpY2F0aW9uT2JzZXJ2ZXIuZ2V0KCld
OworICAgIFtjZW50ZXIgcmVtb3ZlT2JzZXJ2ZXI6bV9zY3JvbGxlclN0eWxlTm90aWZpY2F0aW9u
T2JzZXJ2ZXIuZ2V0KCldOwogI2VuZGlmCi0gICAgW1tOU05vdGlmaWNhdGlvbkNlbnRlciBkZWZh
dWx0Q2VudGVyXSByZW1vdmVPYnNlcnZlcjptX2FjdGl2YXRpb25PYnNlcnZlci5nZXQoKV07Ci0g
ICAgW1tOU05vdGlmaWNhdGlvbkNlbnRlciBkZWZhdWx0Q2VudGVyXSByZW1vdmVPYnNlcnZlcjpt
X2RlYWN0aXZhdGlvbk9ic2VydmVyLmdldCgpXTsKKyAgICBbY2VudGVyIHJlbW92ZU9ic2VydmVy
Om1fYWN0aXZhdGlvbk9ic2VydmVyLmdldCgpXTsKKyAgICBbY2VudGVyIHJlbW92ZU9ic2VydmVy
Om1fZGVhY3RpdmF0aW9uT2JzZXJ2ZXIuZ2V0KCldOwogI2VsaWYgUExBVEZPUk0oSU9TKQogICAg
IENGTm90aWZpY2F0aW9uQ2VudGVyUmVtb3ZlT2JzZXJ2ZXIoQ0ZOb3RpZmljYXRpb25DZW50ZXJH
ZXREYXJ3aW5Ob3RpZnlDZW50ZXIoKSwgdGhpcywgc3RhdGljX2Nhc3Q8Q0ZTdHJpbmdSZWY+KFVJ
QmFja2xpZ2h0TGV2ZWxDaGFuZ2VkTm90aWZpY2F0aW9uKSAsIG51bGxwdHIpOwotICAgIFtbTlNO
b3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl0gcmVtb3ZlT2JzZXJ2ZXI6bV9hY2Nlc3Np
YmlsaXR5RW5hYmxlZE9ic2VydmVyLmdldCgpXTsKKyAgICBbY2VudGVyIHJlbW92ZU9ic2VydmVy
Om1fYWNjZXNzaWJpbGl0eUVuYWJsZWRPYnNlcnZlci5nZXQoKV07CiAjZW5kaWYgLy8gIVBMQVRG
T1JNKElPU19GQU1JTFkpCiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0NvY29hL1dlYlZpZXdJbXBsLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2Vi
Vmlld0ltcGwubW0KaW5kZXggZGEzYjE4M2I1MmEuLmY5YTJmODBkZDIwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1wbC5tbQorKysgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1wbC5tbQpAQCAtMjQ3LDIyICsyNDcsMjIg
QEAgLSAodm9pZClzdGFydE9ic2VydmluZzooTlNXaW5kb3cgKil3aW5kb3cKICAgICBpZiAoIXdp
bmRvdykKICAgICAgICAgcmV0dXJuOwogCi0gICAgTlNOb3RpZmljYXRpb25DZW50ZXIgKmRlZmF1
bHROb3RpZmljYXRpb25DZW50ZXIgPSBbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRl
cl07CisgICAgTlNOb3RpZmljYXRpb25DZW50ZXIgKmNlbnRlciA9IFtOU05vdGlmaWNhdGlvbkNl
bnRlciBkZWZhdWx0Q2VudGVyXTsKIAogICAgIC8vIEFuIE5TVmlldyBkZXJpdmVkIG9iamVjdCBz
dWNoIGFzIFdLVmlldyBjYW5ub3Qgb2JzZXJ2ZSB0aGVzZSBub3RpZmljYXRpb25zLCBiZWNhdXNl
IE5TVmlldyBpdHNlbGYgb2JzZXJ2ZXMgdGhlbS4KLSAgICBbZGVmYXVsdE5vdGlmaWNhdGlvbkNl
bnRlciBhZGRPYnNlcnZlcjpzZWxmIHNlbGVjdG9yOkBzZWxlY3Rvcihfd2luZG93RGlkT3JkZXJP
ZmZTY3JlZW46KSBuYW1lOkAiTlNXaW5kb3dEaWRPcmRlck9mZlNjcmVlbk5vdGlmaWNhdGlvbiIg
b2JqZWN0OndpbmRvd107Ci0gICAgW2RlZmF1bHROb3RpZmljYXRpb25DZW50ZXIgYWRkT2JzZXJ2
ZXI6c2VsZiBzZWxlY3RvcjpAc2VsZWN0b3IoX3dpbmRvd0RpZE9yZGVyT25TY3JlZW46KSBuYW1l
OkAiX05TV2luZG93RGlkQmVjb21lVmlzaWJsZSIgb2JqZWN0OndpbmRvd107CisgICAgW2NlbnRl
ciBhZGRPYnNlcnZlcjpzZWxmIHNlbGVjdG9yOkBzZWxlY3Rvcihfd2luZG93RGlkT3JkZXJPZmZT
Y3JlZW46KSBuYW1lOkAiTlNXaW5kb3dEaWRPcmRlck9mZlNjcmVlbk5vdGlmaWNhdGlvbiIgb2Jq
ZWN0OndpbmRvd107CisgICAgW2NlbnRlciBhZGRPYnNlcnZlcjpzZWxmIHNlbGVjdG9yOkBzZWxl
Y3Rvcihfd2luZG93RGlkT3JkZXJPblNjcmVlbjopIG5hbWU6QCJfTlNXaW5kb3dEaWRCZWNvbWVW
aXNpYmxlIiBvYmplY3Q6d2luZG93XTsKIAotICAgIFtkZWZhdWx0Tm90aWZpY2F0aW9uQ2VudGVy
IGFkZE9ic2VydmVyOnNlbGYgc2VsZWN0b3I6QHNlbGVjdG9yKF93aW5kb3dEaWRCZWNvbWVLZXk6
KSBuYW1lOk5TV2luZG93RGlkQmVjb21lS2V5Tm90aWZpY2F0aW9uIG9iamVjdDpuaWxdOwotICAg
IFtkZWZhdWx0Tm90aWZpY2F0aW9uQ2VudGVyIGFkZE9ic2VydmVyOnNlbGYgc2VsZWN0b3I6QHNl
bGVjdG9yKF93aW5kb3dEaWRSZXNpZ25LZXk6KSBuYW1lOk5TV2luZG93RGlkUmVzaWduS2V5Tm90
aWZpY2F0aW9uIG9iamVjdDpuaWxdOwotICAgIFtkZWZhdWx0Tm90aWZpY2F0aW9uQ2VudGVyIGFk
ZE9ic2VydmVyOnNlbGYgc2VsZWN0b3I6QHNlbGVjdG9yKF93aW5kb3dEaWRNaW5pYXR1cml6ZTop
IG5hbWU6TlNXaW5kb3dEaWRNaW5pYXR1cml6ZU5vdGlmaWNhdGlvbiBvYmplY3Q6d2luZG93XTsK
LSAgICBbZGVmYXVsdE5vdGlmaWNhdGlvbkNlbnRlciBhZGRPYnNlcnZlcjpzZWxmIHNlbGVjdG9y
OkBzZWxlY3Rvcihfd2luZG93RGlkRGVtaW5pYXR1cml6ZTopIG5hbWU6TlNXaW5kb3dEaWREZW1p
bmlhdHVyaXplTm90aWZpY2F0aW9uIG9iamVjdDp3aW5kb3ddOwotICAgIFtkZWZhdWx0Tm90aWZp
Y2F0aW9uQ2VudGVyIGFkZE9ic2VydmVyOnNlbGYgc2VsZWN0b3I6QHNlbGVjdG9yKF93aW5kb3dE
aWRNb3ZlOikgbmFtZTpOU1dpbmRvd0RpZE1vdmVOb3RpZmljYXRpb24gb2JqZWN0OndpbmRvd107
Ci0gICAgW2RlZmF1bHROb3RpZmljYXRpb25DZW50ZXIgYWRkT2JzZXJ2ZXI6c2VsZiBzZWxlY3Rv
cjpAc2VsZWN0b3IoX3dpbmRvd0RpZFJlc2l6ZTopIG5hbWU6TlNXaW5kb3dEaWRSZXNpemVOb3Rp
ZmljYXRpb24gb2JqZWN0OndpbmRvd107Ci0gICAgW2RlZmF1bHROb3RpZmljYXRpb25DZW50ZXIg
YWRkT2JzZXJ2ZXI6c2VsZiBzZWxlY3RvcjpAc2VsZWN0b3IoX3dpbmRvd0RpZENoYW5nZUJhY2tp
bmdQcm9wZXJ0aWVzOikgbmFtZTpOU1dpbmRvd0RpZENoYW5nZUJhY2tpbmdQcm9wZXJ0aWVzTm90
aWZpY2F0aW9uIG9iamVjdDp3aW5kb3ddOwotICAgIFtkZWZhdWx0Tm90aWZpY2F0aW9uQ2VudGVy
IGFkZE9ic2VydmVyOnNlbGYgc2VsZWN0b3I6QHNlbGVjdG9yKF93aW5kb3dEaWRDaGFuZ2VTY3Jl
ZW46KSBuYW1lOk5TV2luZG93RGlkQ2hhbmdlU2NyZWVuTm90aWZpY2F0aW9uIG9iamVjdDp3aW5k
b3ddOwotICAgIFtkZWZhdWx0Tm90aWZpY2F0aW9uQ2VudGVyIGFkZE9ic2VydmVyOnNlbGYgc2Vs
ZWN0b3I6QHNlbGVjdG9yKF93aW5kb3dEaWRDaGFuZ2VMYXllckhvc3Rpbmc6KSBuYW1lOkAiX05T
V2luZG93RGlkQ2hhbmdlQ29udGVudHNIb3N0ZWRJbkxheWVyU3VyZmFjZU5vdGlmaWNhdGlvbiIg
b2JqZWN0OndpbmRvd107Ci0gICAgW2RlZmF1bHROb3RpZmljYXRpb25DZW50ZXIgYWRkT2JzZXJ2
ZXI6c2VsZiBzZWxlY3RvcjpAc2VsZWN0b3IoX3dpbmRvd0RpZENoYW5nZU9jY2x1c2lvblN0YXRl
OikgbmFtZTpOU1dpbmRvd0RpZENoYW5nZU9jY2x1c2lvblN0YXRlTm90aWZpY2F0aW9uIG9iamVj
dDp3aW5kb3ddOworICAgIFtjZW50ZXIgYWRkT2JzZXJ2ZXI6c2VsZiBzZWxlY3RvcjpAc2VsZWN0
b3IoX3dpbmRvd0RpZEJlY29tZUtleTopIG5hbWU6TlNXaW5kb3dEaWRCZWNvbWVLZXlOb3RpZmlj
YXRpb24gb2JqZWN0Om5pbF07CisgICAgW2NlbnRlciBhZGRPYnNlcnZlcjpzZWxmIHNlbGVjdG9y
OkBzZWxlY3Rvcihfd2luZG93RGlkUmVzaWduS2V5OikgbmFtZTpOU1dpbmRvd0RpZFJlc2lnbktl
eU5vdGlmaWNhdGlvbiBvYmplY3Q6bmlsXTsKKyAgICBbY2VudGVyIGFkZE9ic2VydmVyOnNlbGYg
c2VsZWN0b3I6QHNlbGVjdG9yKF93aW5kb3dEaWRNaW5pYXR1cml6ZTopIG5hbWU6TlNXaW5kb3dE
aWRNaW5pYXR1cml6ZU5vdGlmaWNhdGlvbiBvYmplY3Q6d2luZG93XTsKKyAgICBbY2VudGVyIGFk
ZE9ic2VydmVyOnNlbGYgc2VsZWN0b3I6QHNlbGVjdG9yKF93aW5kb3dEaWREZW1pbmlhdHVyaXpl
OikgbmFtZTpOU1dpbmRvd0RpZERlbWluaWF0dXJpemVOb3RpZmljYXRpb24gb2JqZWN0OndpbmRv
d107CisgICAgW2NlbnRlciBhZGRPYnNlcnZlcjpzZWxmIHNlbGVjdG9yOkBzZWxlY3Rvcihfd2lu
ZG93RGlkTW92ZTopIG5hbWU6TlNXaW5kb3dEaWRNb3ZlTm90aWZpY2F0aW9uIG9iamVjdDp3aW5k
b3ddOworICAgIFtjZW50ZXIgYWRkT2JzZXJ2ZXI6c2VsZiBzZWxlY3RvcjpAc2VsZWN0b3IoX3dp
bmRvd0RpZFJlc2l6ZTopIG5hbWU6TlNXaW5kb3dEaWRSZXNpemVOb3RpZmljYXRpb24gb2JqZWN0
OndpbmRvd107CisgICAgW2NlbnRlciBhZGRPYnNlcnZlcjpzZWxmIHNlbGVjdG9yOkBzZWxlY3Rv
cihfd2luZG93RGlkQ2hhbmdlQmFja2luZ1Byb3BlcnRpZXM6KSBuYW1lOk5TV2luZG93RGlkQ2hh
bmdlQmFja2luZ1Byb3BlcnRpZXNOb3RpZmljYXRpb24gb2JqZWN0OndpbmRvd107CisgICAgW2Nl
bnRlciBhZGRPYnNlcnZlcjpzZWxmIHNlbGVjdG9yOkBzZWxlY3Rvcihfd2luZG93RGlkQ2hhbmdl
U2NyZWVuOikgbmFtZTpOU1dpbmRvd0RpZENoYW5nZVNjcmVlbk5vdGlmaWNhdGlvbiBvYmplY3Q6
d2luZG93XTsKKyAgICBbY2VudGVyIGFkZE9ic2VydmVyOnNlbGYgc2VsZWN0b3I6QHNlbGVjdG9y
KF93aW5kb3dEaWRDaGFuZ2VMYXllckhvc3Rpbmc6KSBuYW1lOkAiX05TV2luZG93RGlkQ2hhbmdl
Q29udGVudHNIb3N0ZWRJbkxheWVyU3VyZmFjZU5vdGlmaWNhdGlvbiIgb2JqZWN0OndpbmRvd107
CisgICAgW2NlbnRlciBhZGRPYnNlcnZlcjpzZWxmIHNlbGVjdG9yOkBzZWxlY3Rvcihfd2luZG93
RGlkQ2hhbmdlT2NjbHVzaW9uU3RhdGU6KSBuYW1lOk5TV2luZG93RGlkQ2hhbmdlT2NjbHVzaW9u
U3RhdGVOb3RpZmljYXRpb24gb2JqZWN0OndpbmRvd107CiAKICAgICBbd2luZG93IGFkZE9ic2Vy
dmVyOnNlbGYgZm9yS2V5UGF0aDpAImNvbnRlbnRMYXlvdXRSZWN0IiBvcHRpb25zOk5TS2V5VmFs
dWVPYnNlcnZpbmdPcHRpb25Jbml0aWFsIGNvbnRleHQ6a2V5VmFsdWVPYnNlcnZpbmdDb250ZXh0
XTsKICAgICBbd2luZG93IGFkZE9ic2VydmVyOnNlbGYgZm9yS2V5UGF0aDpAInRpdGxlYmFyQXBw
ZWFyc1RyYW5zcGFyZW50IiBvcHRpb25zOk5TS2V5VmFsdWVPYnNlcnZpbmdPcHRpb25Jbml0aWFs
IGNvbnRleHQ6a2V5VmFsdWVPYnNlcnZpbmdDb250ZXh0XTsKQEAgLTI3MywyMSArMjczLDIxIEBA
IC0gKHZvaWQpc3RvcE9ic2VydmluZzooTlNXaW5kb3cgKil3aW5kb3cKICAgICBpZiAoIXdpbmRv
dykKICAgICAgICAgcmV0dXJuOwogCi0gICAgTlNOb3RpZmljYXRpb25DZW50ZXIgKmRlZmF1bHRO
b3RpZmljYXRpb25DZW50ZXIgPSBbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl07
CisgICAgTlNOb3RpZmljYXRpb25DZW50ZXIgKmNlbnRlciA9IFtOU05vdGlmaWNhdGlvbkNlbnRl
ciBkZWZhdWx0Q2VudGVyXTsKIAotICAgIFtkZWZhdWx0Tm90aWZpY2F0aW9uQ2VudGVyIHJlbW92
ZU9ic2VydmVyOnNlbGYgbmFtZTpAIk5TV2luZG93RGlkT3JkZXJPZmZTY3JlZW5Ob3RpZmljYXRp
b24iIG9iamVjdDp3aW5kb3ddOwotICAgIFtkZWZhdWx0Tm90aWZpY2F0aW9uQ2VudGVyIHJlbW92
ZU9ic2VydmVyOnNlbGYgbmFtZTpAIl9OU1dpbmRvd0RpZEJlY29tZVZpc2libGUiIG9iamVjdDp3
aW5kb3ddOworICAgIFtjZW50ZXIgcmVtb3ZlT2JzZXJ2ZXI6c2VsZiBuYW1lOkAiTlNXaW5kb3dE
aWRPcmRlck9mZlNjcmVlbk5vdGlmaWNhdGlvbiIgb2JqZWN0OndpbmRvd107CisgICAgW2NlbnRl
ciByZW1vdmVPYnNlcnZlcjpzZWxmIG5hbWU6QCJfTlNXaW5kb3dEaWRCZWNvbWVWaXNpYmxlIiBv
YmplY3Q6d2luZG93XTsKIAotICAgIFtkZWZhdWx0Tm90aWZpY2F0aW9uQ2VudGVyIHJlbW92ZU9i
c2VydmVyOnNlbGYgbmFtZTpOU1dpbmRvd0RpZEJlY29tZUtleU5vdGlmaWNhdGlvbiBvYmplY3Q6
bmlsXTsKLSAgICBbZGVmYXVsdE5vdGlmaWNhdGlvbkNlbnRlciByZW1vdmVPYnNlcnZlcjpzZWxm
IG5hbWU6TlNXaW5kb3dEaWRSZXNpZ25LZXlOb3RpZmljYXRpb24gb2JqZWN0Om5pbF07Ci0gICAg
W2RlZmF1bHROb3RpZmljYXRpb25DZW50ZXIgcmVtb3ZlT2JzZXJ2ZXI6c2VsZiBuYW1lOk5TV2lu
ZG93RGlkTWluaWF0dXJpemVOb3RpZmljYXRpb24gb2JqZWN0OndpbmRvd107Ci0gICAgW2RlZmF1
bHROb3RpZmljYXRpb25DZW50ZXIgcmVtb3ZlT2JzZXJ2ZXI6c2VsZiBuYW1lOk5TV2luZG93RGlk
RGVtaW5pYXR1cml6ZU5vdGlmaWNhdGlvbiBvYmplY3Q6d2luZG93XTsKLSAgICBbZGVmYXVsdE5v
dGlmaWNhdGlvbkNlbnRlciByZW1vdmVPYnNlcnZlcjpzZWxmIG5hbWU6TlNXaW5kb3dEaWRNb3Zl
Tm90aWZpY2F0aW9uIG9iamVjdDp3aW5kb3ddOwotICAgIFtkZWZhdWx0Tm90aWZpY2F0aW9uQ2Vu
dGVyIHJlbW92ZU9ic2VydmVyOnNlbGYgbmFtZTpOU1dpbmRvd0RpZFJlc2l6ZU5vdGlmaWNhdGlv
biBvYmplY3Q6d2luZG93XTsKLSAgICBbZGVmYXVsdE5vdGlmaWNhdGlvbkNlbnRlciByZW1vdmVP
YnNlcnZlcjpzZWxmIG5hbWU6TlNXaW5kb3dEaWRDaGFuZ2VCYWNraW5nUHJvcGVydGllc05vdGlm
aWNhdGlvbiBvYmplY3Q6d2luZG93XTsKLSAgICBbZGVmYXVsdE5vdGlmaWNhdGlvbkNlbnRlciBy
ZW1vdmVPYnNlcnZlcjpzZWxmIG5hbWU6TlNXaW5kb3dEaWRDaGFuZ2VTY3JlZW5Ob3RpZmljYXRp
b24gb2JqZWN0OndpbmRvd107Ci0gICAgW2RlZmF1bHROb3RpZmljYXRpb25DZW50ZXIgcmVtb3Zl
T2JzZXJ2ZXI6c2VsZiBuYW1lOkAiX05TV2luZG93RGlkQ2hhbmdlQ29udGVudHNIb3N0ZWRJbkxh
eWVyU3VyZmFjZU5vdGlmaWNhdGlvbiIgb2JqZWN0OndpbmRvd107Ci0gICAgW2RlZmF1bHROb3Rp
ZmljYXRpb25DZW50ZXIgcmVtb3ZlT2JzZXJ2ZXI6c2VsZiBuYW1lOk5TV2luZG93RGlkQ2hhbmdl
T2NjbHVzaW9uU3RhdGVOb3RpZmljYXRpb24gb2JqZWN0OndpbmRvd107CisgICAgW2NlbnRlciBy
ZW1vdmVPYnNlcnZlcjpzZWxmIG5hbWU6TlNXaW5kb3dEaWRCZWNvbWVLZXlOb3RpZmljYXRpb24g
b2JqZWN0Om5pbF07CisgICAgW2NlbnRlciByZW1vdmVPYnNlcnZlcjpzZWxmIG5hbWU6TlNXaW5k
b3dEaWRSZXNpZ25LZXlOb3RpZmljYXRpb24gb2JqZWN0Om5pbF07CisgICAgW2NlbnRlciByZW1v
dmVPYnNlcnZlcjpzZWxmIG5hbWU6TlNXaW5kb3dEaWRNaW5pYXR1cml6ZU5vdGlmaWNhdGlvbiBv
YmplY3Q6d2luZG93XTsKKyAgICBbY2VudGVyIHJlbW92ZU9ic2VydmVyOnNlbGYgbmFtZTpOU1dp
bmRvd0RpZERlbWluaWF0dXJpemVOb3RpZmljYXRpb24gb2JqZWN0OndpbmRvd107CisgICAgW2Nl
bnRlciByZW1vdmVPYnNlcnZlcjpzZWxmIG5hbWU6TlNXaW5kb3dEaWRNb3ZlTm90aWZpY2F0aW9u
IG9iamVjdDp3aW5kb3ddOworICAgIFtjZW50ZXIgcmVtb3ZlT2JzZXJ2ZXI6c2VsZiBuYW1lOk5T
V2luZG93RGlkUmVzaXplTm90aWZpY2F0aW9uIG9iamVjdDp3aW5kb3ddOworICAgIFtjZW50ZXIg
cmVtb3ZlT2JzZXJ2ZXI6c2VsZiBuYW1lOk5TV2luZG93RGlkQ2hhbmdlQmFja2luZ1Byb3BlcnRp
ZXNOb3RpZmljYXRpb24gb2JqZWN0OndpbmRvd107CisgICAgW2NlbnRlciByZW1vdmVPYnNlcnZl
cjpzZWxmIG5hbWU6TlNXaW5kb3dEaWRDaGFuZ2VTY3JlZW5Ob3RpZmljYXRpb24gb2JqZWN0Ondp
bmRvd107CisgICAgW2NlbnRlciByZW1vdmVPYnNlcnZlcjpzZWxmIG5hbWU6QCJfTlNXaW5kb3dE
aWRDaGFuZ2VDb250ZW50c0hvc3RlZEluTGF5ZXJTdXJmYWNlTm90aWZpY2F0aW9uIiBvYmplY3Q6
d2luZG93XTsKKyAgICBbY2VudGVyIHJlbW92ZU9ic2VydmVyOnNlbGYgbmFtZTpOU1dpbmRvd0Rp
ZENoYW5nZU9jY2x1c2lvblN0YXRlTm90aWZpY2F0aW9uIG9iamVjdDp3aW5kb3ddOwogCiAgICAg
aWYgKF9pbXBsLT5pc0VkaXRhYmxlKCkpCiAgICAgICAgIFtbTlNGb250UGFuZWwgc2hhcmVkRm9u
dFBhbmVsXSByZW1vdmVPYnNlcnZlcjpzZWxmIGZvcktleVBhdGg6QCJ2aXNpYmxlIiBjb250ZXh0
OmtleVZhbHVlT2JzZXJ2aW5nQ29udGV4dF07CkBAIC0xMTA3LDkgKzExMDcsMTAgQEAgdm9pZCBX
ZWJWaWV3SW1wbDo6dXBkYXRlVGV4dFRvdWNoQmFyKCkKICAgICAgICAgbV90ZXh0VG91Y2hCYXJJ
dGVtQ29udHJvbGxlciA9IGFkb3B0TlMoW1tXS1RleHRUb3VjaEJhckl0ZW1Db250cm9sbGVyIGFs
bG9jXSBpbml0V2l0aFdlYlZpZXdJbXBsOnRoaXNdKTsKIAogICAgIGlmICghbV9zdGFydGVkTGlz
dGVuaW5nVG9DdXN0b21pemF0aW9uRXZlbnRzKSB7Ci0gICAgICAgIFtbTlNOb3RpZmljYXRpb25D
ZW50ZXIgZGVmYXVsdENlbnRlcl0gYWRkT2JzZXJ2ZXI6bV90ZXh0VG91Y2hCYXJJdGVtQ29udHJv
bGxlci5nZXQoKSBzZWxlY3RvcjpAc2VsZWN0b3IodG91Y2hCYXJEaWRFeGl0Q3VzdG9taXphdGlv
bjopIG5hbWU6TlNUb3VjaEJhckRpZEV4aXRDdXN0b21pemF0aW9uIG9iamVjdDpuaWxdOwotICAg
ICAgICBbW05TTm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJdIGFkZE9ic2VydmVyOm1f
dGV4dFRvdWNoQmFySXRlbUNvbnRyb2xsZXIuZ2V0KCkgc2VsZWN0b3I6QHNlbGVjdG9yKHRvdWNo
QmFyV2lsbEVudGVyQ3VzdG9taXphdGlvbjopIG5hbWU6TlNUb3VjaEJhcldpbGxFbnRlckN1c3Rv
bWl6YXRpb24gb2JqZWN0Om5pbF07Ci0gICAgICAgIFtbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVm
YXVsdENlbnRlcl0gYWRkT2JzZXJ2ZXI6bV90ZXh0VG91Y2hCYXJJdGVtQ29udHJvbGxlci5nZXQo
KSBzZWxlY3RvcjpAc2VsZWN0b3IoZGlkQ2hhbmdlQXV0b21hdGljVGV4dENvbXBsZXRpb246KSBu
YW1lOk5TU3BlbGxDaGVja2VyRGlkQ2hhbmdlQXV0b21hdGljVGV4dENvbXBsZXRpb25Ob3RpZmlj
YXRpb24gb2JqZWN0Om5pbF07CisgICAgICAgIE5TTm90aWZpY2F0aW9uQ2VudGVyICpjZW50ZXIg
PSBbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl07CisgICAgICAgIFtjZW50ZXIg
YWRkT2JzZXJ2ZXI6bV90ZXh0VG91Y2hCYXJJdGVtQ29udHJvbGxlci5nZXQoKSBzZWxlY3RvcjpA
c2VsZWN0b3IodG91Y2hCYXJEaWRFeGl0Q3VzdG9taXphdGlvbjopIG5hbWU6TlNUb3VjaEJhckRp
ZEV4aXRDdXN0b21pemF0aW9uIG9iamVjdDpuaWxdOworICAgICAgICBbY2VudGVyIGFkZE9ic2Vy
dmVyOm1fdGV4dFRvdWNoQmFySXRlbUNvbnRyb2xsZXIuZ2V0KCkgc2VsZWN0b3I6QHNlbGVjdG9y
KHRvdWNoQmFyV2lsbEVudGVyQ3VzdG9taXphdGlvbjopIG5hbWU6TlNUb3VjaEJhcldpbGxFbnRl
ckN1c3RvbWl6YXRpb24gb2JqZWN0Om5pbF07CisgICAgICAgIFtjZW50ZXIgYWRkT2JzZXJ2ZXI6
bV90ZXh0VG91Y2hCYXJJdGVtQ29udHJvbGxlci5nZXQoKSBzZWxlY3RvcjpAc2VsZWN0b3IoZGlk
Q2hhbmdlQXV0b21hdGljVGV4dENvbXBsZXRpb246KSBuYW1lOk5TU3BlbGxDaGVja2VyRGlkQ2hh
bmdlQXV0b21hdGljVGV4dENvbXBsZXRpb25Ob3RpZmljYXRpb24gb2JqZWN0Om5pbF07CiAKICAg
ICAgICAgbV9zdGFydGVkTGlzdGVuaW5nVG9DdXN0b21pemF0aW9uRXZlbnRzID0gdHJ1ZTsKICAg
ICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUHJvY2Vzc0Fzc2Vy
dGlvbklPUy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9Qcm9jZXNzQXNzZXJ0aW9u
SU9TLm1tCmluZGV4IDJhY2E4NjhiYjhiLi4xNDhkNDNkNzU0OSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvaW9zL1Byb2Nlc3NBc3NlcnRpb25JT1MubW0KKysrIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvaW9zL1Byb2Nlc3NBc3NlcnRpb25JT1MubW0KQEAgLTczLDEzICs3
MywxNCBAQCAtIChpbnN0YW5jZXR5cGUpaW5pdAogCiAgICAgX2JhY2tncm91bmRUYXNrID0gVUlC
YWNrZ3JvdW5kVGFza0ludmFsaWQ7CiAKLSAgICBbW05TTm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1
bHRDZW50ZXJdIGFkZE9ic2VydmVyRm9yTmFtZTpVSUFwcGxpY2F0aW9uV2lsbEVudGVyRm9yZWdy
b3VuZE5vdGlmaWNhdGlvbiBvYmplY3Q6W1VJQXBwbGljYXRpb24gc2hhcmVkQXBwbGljYXRpb25d
IHF1ZXVlOm5pbCB1c2luZ0Jsb2NrOl4oTlNOb3RpZmljYXRpb24gKikgeworICAgIE5TTm90aWZp
Y2F0aW9uQ2VudGVyICpjZW50ZXIgPSBbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRl
cl07CisgICAgW2NlbnRlciBhZGRPYnNlcnZlckZvck5hbWU6VUlBcHBsaWNhdGlvbldpbGxFbnRl
ckZvcmVncm91bmROb3RpZmljYXRpb24gb2JqZWN0OltVSUFwcGxpY2F0aW9uIHNoYXJlZEFwcGxp
Y2F0aW9uXSBxdWV1ZTpuaWwgdXNpbmdCbG9jazpeKE5TTm90aWZpY2F0aW9uICopIHsKICAgICAg
ICAgX2FwcGxpY2F0aW9uSXNCYWNrZ3JvdW5kZWQgPSBOTzsKICAgICAgICAgW3NlbGYgX2NhbmNl
bFBlbmRpbmdSZWxlYXNlVGFza107CiAgICAgICAgIFtzZWxmIF91cGRhdGVCYWNrZ3JvdW5kVGFz
a107CiAgICAgfV07CiAKLSAgICBbW05TTm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJd
IGFkZE9ic2VydmVyRm9yTmFtZTpVSUFwcGxpY2F0aW9uRGlkRW50ZXJCYWNrZ3JvdW5kTm90aWZp
Y2F0aW9uIG9iamVjdDpbVUlBcHBsaWNhdGlvbiBzaGFyZWRBcHBsaWNhdGlvbl0gcXVldWU6bmls
IHVzaW5nQmxvY2s6XihOU05vdGlmaWNhdGlvbiAqKSB7CisgICAgW2NlbnRlciBhZGRPYnNlcnZl
ckZvck5hbWU6VUlBcHBsaWNhdGlvbkRpZEVudGVyQmFja2dyb3VuZE5vdGlmaWNhdGlvbiBvYmpl
Y3Q6W1VJQXBwbGljYXRpb24gc2hhcmVkQXBwbGljYXRpb25dIHF1ZXVlOm5pbCB1c2luZ0Jsb2Nr
Ol4oTlNOb3RpZmljYXRpb24gKikgewogICAgICAgICBfYXBwbGljYXRpb25Jc0JhY2tncm91bmRl
ZCA9IFlFUzsKICAgICB9XTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
aW9zL1dLQ29udGVudFZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250
ZW50Vmlldy5tbQppbmRleCA1NWQ4MGNhNTVkZi4uNGJhMTE0OTRlZTQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3Lm1tCisrKyBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3Lm1tCkBAIC0yNzEsOCArMjcxLDkgQEAg
LSAoaW5zdGFuY2V0eXBlKV9jb21tb25Jbml0aWFsaXphdGlvbldpdGhQcm9jZXNzUG9vbDooV2Vi
S2l0OjpXZWJQcm9jZXNzUG9vbCYpcHIKICAgICBbc2VsZiBfc2V0dXBWaXNpYmlsaXR5UHJvcGFn
YXRpb25WaWV3XTsKICNlbmRpZgogCi0gICAgW1tOU05vdGlmaWNhdGlvbkNlbnRlciBkZWZhdWx0
Q2VudGVyXSBhZGRPYnNlcnZlcjpzZWxmIHNlbGVjdG9yOkBzZWxlY3RvcihfYXBwbGljYXRpb25X
aWxsUmVzaWduQWN0aXZlOikgbmFtZTpVSUFwcGxpY2F0aW9uV2lsbFJlc2lnbkFjdGl2ZU5vdGlm
aWNhdGlvbiBvYmplY3Q6W1VJQXBwbGljYXRpb24gc2hhcmVkQXBwbGljYXRpb25dXTsKLSAgICBb
W05TTm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJdIGFkZE9ic2VydmVyOnNlbGYgc2Vs
ZWN0b3I6QHNlbGVjdG9yKF9hcHBsaWNhdGlvbkRpZEJlY29tZUFjdGl2ZTopIG5hbWU6VUlBcHBs
aWNhdGlvbkRpZEJlY29tZUFjdGl2ZU5vdGlmaWNhdGlvbiBvYmplY3Q6W1VJQXBwbGljYXRpb24g
c2hhcmVkQXBwbGljYXRpb25dXTsKKyAgICBOU05vdGlmaWNhdGlvbkNlbnRlciAqY2VudGVyID0g
W05TTm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJdOworICAgIFtjZW50ZXIgYWRkT2Jz
ZXJ2ZXI6c2VsZiBzZWxlY3RvcjpAc2VsZWN0b3IoX2FwcGxpY2F0aW9uV2lsbFJlc2lnbkFjdGl2
ZTopIG5hbWU6VUlBcHBsaWNhdGlvbldpbGxSZXNpZ25BY3RpdmVOb3RpZmljYXRpb24gb2JqZWN0
OltVSUFwcGxpY2F0aW9uIHNoYXJlZEFwcGxpY2F0aW9uXV07CisgICAgW2NlbnRlciBhZGRPYnNl
cnZlcjpzZWxmIHNlbGVjdG9yOkBzZWxlY3RvcihfYXBwbGljYXRpb25EaWRCZWNvbWVBY3RpdmU6
KSBuYW1lOlVJQXBwbGljYXRpb25EaWRCZWNvbWVBY3RpdmVOb3RpZmljYXRpb24gb2JqZWN0OltV
SUFwcGxpY2F0aW9uIHNoYXJlZEFwcGxpY2F0aW9uXV07CiAKICAgICByZXR1cm4gc2VsZjsKIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9mb3Jtcy9XS0RhdGVQaWNr
ZXJWaWV3Q29udHJvbGxlci5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9mb3Jtcy9X
S0RhdGVQaWNrZXJWaWV3Q29udHJvbGxlci5tbQppbmRleCBiODdjYmY1MGY2NS4uZjJlYjMwNjNk
MDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9mb3Jtcy9XS0RhdGVQ
aWNrZXJWaWV3Q29udHJvbGxlci5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3Mv
Zm9ybXMvV0tEYXRlUGlja2VyVmlld0NvbnRyb2xsZXIubW0KQEAgLTMxNCw4ICszMTQsMTAgQEAg
LSAodm9pZCl2aWV3V2lsbEFwcGVhcjooQk9PTClhbmltYXRlZAogICAgIFtzdXBlciB2aWV3V2ls
bEFwcGVhcjphbmltYXRlZF07CiAKICAgICBfc3RhdHVzQmFyQXNzZXJ0aW9uID0gW1tQVUlDQXBw
bGljYXRpb24gc2hhcmVkUFVJQ0FwcGxpY2F0aW9uXSBfdGFrZVN0YXR1c0Jhckdsb2JhbENvbnRl
eHRBc3NlcnRpb25BbmltYXRlZDpOT107Ci0gICAgW1tOU05vdGlmaWNhdGlvbkNlbnRlciBkZWZh
dWx0Q2VudGVyXSBhZGRPYnNlcnZlcjpzZWxmIHNlbGVjdG9yOkBzZWxlY3RvcihfaGFuZGxlU3Rh
dHVzQmFyTmF2aWdhdGlvbikgbmFtZTpQVUlDU3RhdHVzQmFyTmF2aWdhdGlvbkJhY2tCdXR0b25Q
cmVzc2VkTm90aWZpY2F0aW9uIG9iamVjdDpuaWxdOwotICAgIFtbTlNOb3RpZmljYXRpb25DZW50
ZXIgZGVmYXVsdENlbnRlcl0gYWRkT2JzZXJ2ZXI6c2VsZiBzZWxlY3RvcjpAc2VsZWN0b3IoX2hh
bmRsZVN0YXR1c0Jhck5hdmlnYXRpb24pIG5hbWU6UFVJQ1N0YXR1c0JhclRpdGxlVGFwcGVkTm90
aWZpY2F0aW9uIG9iamVjdDpuaWxdOworCisgICAgTlNOb3RpZmljYXRpb25DZW50ZXIgKmNlbnRl
ciA9IFtOU05vdGlmaWNhdGlvbkNlbnRlciBkZWZhdWx0Q2VudGVyXTsKKyAgICBbY2VudGVyIGFk
ZE9ic2VydmVyOnNlbGYgc2VsZWN0b3I6QHNlbGVjdG9yKF9oYW5kbGVTdGF0dXNCYXJOYXZpZ2F0
aW9uKSBuYW1lOlBVSUNTdGF0dXNCYXJOYXZpZ2F0aW9uQmFja0J1dHRvblByZXNzZWROb3RpZmlj
YXRpb24gb2JqZWN0Om5pbF07CisgICAgW2NlbnRlciBhZGRPYnNlcnZlcjpzZWxmIHNlbGVjdG9y
OkBzZWxlY3RvcihfaGFuZGxlU3RhdHVzQmFyTmF2aWdhdGlvbikgbmFtZTpQVUlDU3RhdHVzQmFy
VGl0bGVUYXBwZWROb3RpZmljYXRpb24gb2JqZWN0Om5pbF07CiAKICAgICBjb25maWd1cmVTdGF0
dXNCYXJGb3JDb250cm9sbGVyKHNlbGYsIHNlbGYuZGVsZWdhdGUpOwogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1RleHRDaGVja2VyTWFjLm1tIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvbWFjL1RleHRDaGVja2VyTWFjLm1tCmluZGV4IGQwMDNlYTllNTc3Li44
NTA5MTVjMjg5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1RleHRD
aGVja2VyTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9UZXh0Q2hlY2tl
ck1hYy5tbQpAQCAtODgsMTQgKzg4LDE1IEBAIHN0YXRpYyBib29sIHNob3VsZEF1dG9tYXRpY0Rh
c2hTdWJzdGl0dXRpb25CZUVuYWJsZWQoKQogc3RhdGljIFRleHRDaGVja2VyU3RhdGUmIG11dGFi
bGVTdGF0ZSgpCiB7CiAgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPFRleHRDaGVja2VyU3RhdGU+
IHN0YXRlID0gbWFrZU5ldmVyRGVzdHJveWVkKFtdIHsKKyAgICAgICAgTlNVc2VyRGVmYXVsdHMg
KmRlZmF1bHRzID0gW05TVXNlckRlZmF1bHRzIHN0YW5kYXJkVXNlckRlZmF1bHRzXTsKICAgICAg
ICAgVGV4dENoZWNrZXJTdGF0ZSBpbml0aWFsU3RhdGU7Ci0gICAgICAgIGluaXRpYWxTdGF0ZS5p
c0NvbnRpbnVvdXNTcGVsbENoZWNraW5nRW5hYmxlZCA9IFtbTlNVc2VyRGVmYXVsdHMgc3RhbmRh
cmRVc2VyRGVmYXVsdHNdIGJvb2xGb3JLZXk6V2ViQ29udGludW91c1NwZWxsQ2hlY2tpbmdFbmFi
bGVkXSAmJiBUZXh0Q2hlY2tlcjo6aXNDb250aW51b3VzU3BlbGxDaGVja2luZ0FsbG93ZWQoKTsK
LSAgICAgICAgaW5pdGlhbFN0YXRlLmlzR3JhbW1hckNoZWNraW5nRW5hYmxlZCA9IFtbTlNVc2Vy
RGVmYXVsdHMgc3RhbmRhcmRVc2VyRGVmYXVsdHNdIGJvb2xGb3JLZXk6V2ViR3JhbW1hckNoZWNr
aW5nRW5hYmxlZF07CisgICAgICAgIGluaXRpYWxTdGF0ZS5pc0NvbnRpbnVvdXNTcGVsbENoZWNr
aW5nRW5hYmxlZCA9IFtkZWZhdWx0cyBib29sRm9yS2V5OldlYkNvbnRpbnVvdXNTcGVsbENoZWNr
aW5nRW5hYmxlZF0gJiYgVGV4dENoZWNrZXI6OmlzQ29udGludW91c1NwZWxsQ2hlY2tpbmdBbGxv
d2VkKCk7CisgICAgICAgIGluaXRpYWxTdGF0ZS5pc0dyYW1tYXJDaGVja2luZ0VuYWJsZWQgPSBb
ZGVmYXVsdHMgYm9vbEZvcktleTpXZWJHcmFtbWFyQ2hlY2tpbmdFbmFibGVkXTsKICAgICAgICAg
aW5pdGlhbFN0YXRlLmlzQXV0b21hdGljVGV4dFJlcGxhY2VtZW50RW5hYmxlZCA9IHNob3VsZEF1
dG9tYXRpY1RleHRSZXBsYWNlbWVudEJlRW5hYmxlZCgpOwogICAgICAgICBpbml0aWFsU3RhdGUu
aXNBdXRvbWF0aWNTcGVsbGluZ0NvcnJlY3Rpb25FbmFibGVkID0gc2hvdWxkQXV0b21hdGljU3Bl
bGxpbmdDb3JyZWN0aW9uQmVFbmFibGVkKCk7CiAgICAgICAgIGluaXRpYWxTdGF0ZS5pc0F1dG9t
YXRpY1F1b3RlU3Vic3RpdHV0aW9uRW5hYmxlZCA9IHNob3VsZEF1dG9tYXRpY1F1b3RlU3Vic3Rp
dHV0aW9uQmVFbmFibGVkKCk7CiAgICAgICAgIGluaXRpYWxTdGF0ZS5pc0F1dG9tYXRpY0Rhc2hT
dWJzdGl0dXRpb25FbmFibGVkID0gc2hvdWxkQXV0b21hdGljRGFzaFN1YnN0aXR1dGlvbkJlRW5h
YmxlZCgpOwotICAgICAgICBpbml0aWFsU3RhdGUuaXNBdXRvbWF0aWNMaW5rRGV0ZWN0aW9uRW5h
YmxlZCA9IFtbTlNVc2VyRGVmYXVsdHMgc3RhbmRhcmRVc2VyRGVmYXVsdHNdIGJvb2xGb3JLZXk6
V2ViQXV0b21hdGljTGlua0RldGVjdGlvbkVuYWJsZWRdOworICAgICAgICBpbml0aWFsU3RhdGUu
aXNBdXRvbWF0aWNMaW5rRGV0ZWN0aW9uRW5hYmxlZCA9IFtkZWZhdWx0cyBib29sRm9yS2V5Oldl
YkF1dG9tYXRpY0xpbmtEZXRlY3Rpb25FbmFibGVkXTsKICAgICAgICAgcmV0dXJuIGluaXRpYWxT
dGF0ZTsKICAgICB9KCkpOwogICAgIHJldHVybiBzdGF0ZTsKQEAgLTExMSwxNCArMTEyLDE1IEBA
IHN0YXRpYyBib29sIHRlc3RpbmdNb2RlRW5hYmxlZCA9IGZhbHNlOwogdm9pZCBUZXh0Q2hlY2tl
cjo6c2V0VGVzdGluZ01vZGUoYm9vbCBlbmFibGVkKQogewogICAgIGlmIChlbmFibGVkICYmICF0
ZXN0aW5nTW9kZUVuYWJsZWQpIHsKLSAgICAgICAgW1tOU1VzZXJEZWZhdWx0cyBzdGFuZGFyZFVz
ZXJEZWZhdWx0c10gc2V0Qm9vbDptdXRhYmxlU3RhdGUoKS5pc0NvbnRpbnVvdXNTcGVsbENoZWNr
aW5nRW5hYmxlZCBmb3JLZXk6V2ViQ29udGludW91c1NwZWxsQ2hlY2tpbmdFbmFibGVkXTsKLSAg
ICAgICAgW1tOU1VzZXJEZWZhdWx0cyBzdGFuZGFyZFVzZXJEZWZhdWx0c10gc2V0Qm9vbDptdXRh
YmxlU3RhdGUoKS5pc0dyYW1tYXJDaGVja2luZ0VuYWJsZWQgZm9yS2V5OldlYkdyYW1tYXJDaGVj
a2luZ0VuYWJsZWRdOwotICAgICAgICBbW05TVXNlckRlZmF1bHRzIHN0YW5kYXJkVXNlckRlZmF1
bHRzXSBzZXRCb29sOm11dGFibGVTdGF0ZSgpLmlzQXV0b21hdGljU3BlbGxpbmdDb3JyZWN0aW9u
RW5hYmxlZCBmb3JLZXk6V2ViQXV0b21hdGljU3BlbGxpbmdDb3JyZWN0aW9uRW5hYmxlZF07Ci0g
ICAgICAgIFtbTlNVc2VyRGVmYXVsdHMgc3RhbmRhcmRVc2VyRGVmYXVsdHNdIHNldEJvb2w6bXV0
YWJsZVN0YXRlKCkuaXNBdXRvbWF0aWNRdW90ZVN1YnN0aXR1dGlvbkVuYWJsZWQgZm9yS2V5Oldl
YkF1dG9tYXRpY1F1b3RlU3Vic3RpdHV0aW9uRW5hYmxlZF07Ci0gICAgICAgIFtbTlNVc2VyRGVm
YXVsdHMgc3RhbmRhcmRVc2VyRGVmYXVsdHNdIHNldEJvb2w6bXV0YWJsZVN0YXRlKCkuaXNBdXRv
bWF0aWNEYXNoU3Vic3RpdHV0aW9uRW5hYmxlZCBmb3JLZXk6V2ViQXV0b21hdGljRGFzaFN1YnN0
aXR1dGlvbkVuYWJsZWRdOwotICAgICAgICBbW05TVXNlckRlZmF1bHRzIHN0YW5kYXJkVXNlckRl
ZmF1bHRzXSBzZXRCb29sOm11dGFibGVTdGF0ZSgpLmlzQXV0b21hdGljTGlua0RldGVjdGlvbkVu
YWJsZWQgZm9yS2V5OldlYkF1dG9tYXRpY0xpbmtEZXRlY3Rpb25FbmFibGVkXTsKLSAgICAgICAg
W1tOU1VzZXJEZWZhdWx0cyBzdGFuZGFyZFVzZXJEZWZhdWx0c10gc2V0Qm9vbDptdXRhYmxlU3Rh
dGUoKS5pc0F1dG9tYXRpY1RleHRSZXBsYWNlbWVudEVuYWJsZWQgZm9yS2V5OldlYkF1dG9tYXRp
Y1RleHRSZXBsYWNlbWVudEVuYWJsZWRdOwotICAgICAgICBbW05TVXNlckRlZmF1bHRzIHN0YW5k
YXJkVXNlckRlZmF1bHRzXSBzZXRCb29sOmlzU21hcnRJbnNlcnREZWxldGVFbmFibGVkKCkgZm9y
S2V5OldlYlNtYXJ0SW5zZXJ0RGVsZXRlRW5hYmxlZF07CisgICAgICAgIE5TVXNlckRlZmF1bHRz
ICpkZWZhdWx0cyA9IFtOU1VzZXJEZWZhdWx0cyBzdGFuZGFyZFVzZXJEZWZhdWx0c107CisgICAg
ICAgIFtkZWZhdWx0cyBzZXRCb29sOm11dGFibGVTdGF0ZSgpLmlzQ29udGludW91c1NwZWxsQ2hl
Y2tpbmdFbmFibGVkIGZvcktleTpXZWJDb250aW51b3VzU3BlbGxDaGVja2luZ0VuYWJsZWRdOwor
ICAgICAgICBbZGVmYXVsdHMgc2V0Qm9vbDptdXRhYmxlU3RhdGUoKS5pc0dyYW1tYXJDaGVja2lu
Z0VuYWJsZWQgZm9yS2V5OldlYkdyYW1tYXJDaGVja2luZ0VuYWJsZWRdOworICAgICAgICBbZGVm
YXVsdHMgc2V0Qm9vbDptdXRhYmxlU3RhdGUoKS5pc0F1dG9tYXRpY1NwZWxsaW5nQ29ycmVjdGlv
bkVuYWJsZWQgZm9yS2V5OldlYkF1dG9tYXRpY1NwZWxsaW5nQ29ycmVjdGlvbkVuYWJsZWRdOwor
ICAgICAgICBbZGVmYXVsdHMgc2V0Qm9vbDptdXRhYmxlU3RhdGUoKS5pc0F1dG9tYXRpY1F1b3Rl
U3Vic3RpdHV0aW9uRW5hYmxlZCBmb3JLZXk6V2ViQXV0b21hdGljUXVvdGVTdWJzdGl0dXRpb25F
bmFibGVkXTsKKyAgICAgICAgW2RlZmF1bHRzIHNldEJvb2w6bXV0YWJsZVN0YXRlKCkuaXNBdXRv
bWF0aWNEYXNoU3Vic3RpdHV0aW9uRW5hYmxlZCBmb3JLZXk6V2ViQXV0b21hdGljRGFzaFN1YnN0
aXR1dGlvbkVuYWJsZWRdOworICAgICAgICBbZGVmYXVsdHMgc2V0Qm9vbDptdXRhYmxlU3RhdGUo
KS5pc0F1dG9tYXRpY0xpbmtEZXRlY3Rpb25FbmFibGVkIGZvcktleTpXZWJBdXRvbWF0aWNMaW5r
RGV0ZWN0aW9uRW5hYmxlZF07CisgICAgICAgIFtkZWZhdWx0cyBzZXRCb29sOm11dGFibGVTdGF0
ZSgpLmlzQXV0b21hdGljVGV4dFJlcGxhY2VtZW50RW5hYmxlZCBmb3JLZXk6V2ViQXV0b21hdGlj
VGV4dFJlcGxhY2VtZW50RW5hYmxlZF07CisgICAgICAgIFtkZWZhdWx0cyBzZXRCb29sOmlzU21h
cnRJbnNlcnREZWxldGVFbmFibGVkKCkgZm9yS2V5OldlYlNtYXJ0SW5zZXJ0RGVsZXRlRW5hYmxl
ZF07CiAgICAgfQogICAgIHRlc3RpbmdNb2RlRW5hYmxlZCA9IGVuYWJsZWQ7CiB9CkBAIC0xMzQs
OCArMTM2LDkgQEAgYm9vbCBUZXh0Q2hlY2tlcjo6aXNDb250aW51b3VzU3BlbGxDaGVja2luZ0Fs
bG93ZWQoKQogICAgIHN0YXRpYyBib29sIHJlYWRBbGxvd0NvbnRpbnVvdXNTcGVsbENoZWNraW5n
RGVmYXVsdCA9IGZhbHNlOwogCiAgICAgaWYgKCFyZWFkQWxsb3dDb250aW51b3VzU3BlbGxDaGVj
a2luZ0RlZmF1bHQpIHsKLSAgICAgICAgaWYgKFtbTlNVc2VyRGVmYXVsdHMgc3RhbmRhcmRVc2Vy
RGVmYXVsdHNdIG9iamVjdEZvcktleTpAIk5TQWxsb3dDb250aW51b3VzU3BlbGxDaGVja2luZyJd
KQotICAgICAgICAgICAgYWxsb3dDb250aW51b3VzU3BlbGxDaGVja2luZyA9IFtbTlNVc2VyRGVm
YXVsdHMgc3RhbmRhcmRVc2VyRGVmYXVsdHNdIGJvb2xGb3JLZXk6QCJOU0FsbG93Q29udGludW91
c1NwZWxsQ2hlY2tpbmciXTsKKyAgICAgICAgTlNVc2VyRGVmYXVsdHMgKmRlZmF1bHRzID0gW05T
VXNlckRlZmF1bHRzIHN0YW5kYXJkVXNlckRlZmF1bHRzXTsKKyAgICAgICAgaWYgKFtkZWZhdWx0
cyBvYmplY3RGb3JLZXk6QCJOU0FsbG93Q29udGludW91c1NwZWxsQ2hlY2tpbmciXSkKKyAgICAg
ICAgICAgIGFsbG93Q29udGludW91c1NwZWxsQ2hlY2tpbmcgPSBbZGVmYXVsdHMgYm9vbEZvcktl
eTpAIk5TQWxsb3dDb250aW51b3VzU3BlbGxDaGVja2luZyJdOwogCiAgICAgICAgIHJlYWRBbGxv
d0NvbnRpbnVvdXNTcGVsbENoZWNraW5nRGVmYXVsdCA9IHRydWU7CiAgICAgfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1dlYkluc3BlY3RvclByb3h5TWFjLm1tIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1dlYkluc3BlY3RvclByb3h5TWFjLm1tCmluZGV4
IDAwN2Q4N2RmY2Q4Li45YmFlN2NhYmJiYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvbWFjL1dlYkluc3BlY3RvclByb3h5TWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL21hYy9XZWJJbnNwZWN0b3JQcm94eU1hYy5tbQpAQCAtMTkzLDggKzE5Myw5IEBAIHVz
aW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiB2b2lkIFdlYkluc3BlY3RvclByb3h5OjphdHRhY2ht
ZW50Vmlld0RpZENoYW5nZShOU1ZpZXcgKm9sZFZpZXcsIE5TVmlldyAqbmV3VmlldykKIHsKLSAg
ICBbW05TTm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJdIHJlbW92ZU9ic2VydmVyOm1f
b2JqQ0FkYXB0ZXIuZ2V0KCkgbmFtZTpOU1ZpZXdGcmFtZURpZENoYW5nZU5vdGlmaWNhdGlvbiBv
YmplY3Q6b2xkVmlld107Ci0gICAgW1tOU05vdGlmaWNhdGlvbkNlbnRlciBkZWZhdWx0Q2VudGVy
XSBhZGRPYnNlcnZlcjptX29iakNBZGFwdGVyLmdldCgpIHNlbGVjdG9yOkBzZWxlY3RvcihpbnNw
ZWN0ZWRWaWV3RnJhbWVEaWRDaGFuZ2U6KSBuYW1lOk5TVmlld0ZyYW1lRGlkQ2hhbmdlTm90aWZp
Y2F0aW9uIG9iamVjdDpuZXdWaWV3XTsKKyAgICBOU05vdGlmaWNhdGlvbkNlbnRlciAqY2VudGVy
ID0gW05TTm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJdOworICAgIFtjZW50ZXIgcmVt
b3ZlT2JzZXJ2ZXI6bV9vYmpDQWRhcHRlci5nZXQoKSBuYW1lOk5TVmlld0ZyYW1lRGlkQ2hhbmdl
Tm90aWZpY2F0aW9uIG9iamVjdDpvbGRWaWV3XTsKKyAgICBbY2VudGVyIGFkZE9ic2VydmVyOm1f
b2JqQ0FkYXB0ZXIuZ2V0KCkgc2VsZWN0b3I6QHNlbGVjdG9yKGluc3BlY3RlZFZpZXdGcmFtZURp
ZENoYW5nZTopIG5hbWU6TlNWaWV3RnJhbWVEaWRDaGFuZ2VOb3RpZmljYXRpb24gb2JqZWN0Om5l
d1ZpZXddOwogCiAgICAgaWYgKG1faXNBdHRhY2hlZCkKICAgICAgICAgYXR0YWNoKG1fYXR0YWNo
bWVudFNpZGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9n
IGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCmluZGV4IGQ1YjY4ZTc1NjUzLi44
ZDM3MzI0MWE0NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBA
CisyMDE5LTA1LTIwICBKb3NlcGggUGVjb3Jhcm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+CisKKyAg
ICAgICAgUmVtb3ZlIHVubmVjZXNzYXJ5IGR1cGxpY2F0ZSBzZWxlY3RvciBpbnZvY2F0aW9ucwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk4MDY2CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJWaWV3
L1dlYlByZWZlcmVuY2VzLm1tOgorICAgICAgICAoLVtXZWJQcmVmZXJlbmNlcyBfcG9zdFByZWZl
cmVuY2VzQ2hhbmdlZE5vdGlmaWNhdGlvbl0pOgorICAgICAgICAqIFdlYlZpZXcvV2ViVmlkZW9G
dWxsc2NyZWVuQ29udHJvbGxlci5tbToKKyAgICAgICAgKC1bV2ViVmlkZW9GdWxsc2NyZWVuQ29u
dHJvbGxlciB3aW5kb3dEaWRMb2FkXSk6CisgICAgICAgICogV2ViVmlldy9XZWJWaWV3Lm1tOgor
ICAgICAgICAoLVtXZWJWaWV3IF9jb21tb25Jbml0aWFsaXphdGlvbldpdGhGcmFtZU5hbWU6Z3Jv
dXBOYW1lOl0pOgorICAgICAgICAoLVtXZWJWaWV3IGluaXRTaW1wbGVIVE1MRG9jdW1lbnRXaXRo
U3R5bGU6ZnJhbWU6cHJlZmVyZW5jZXM6Z3JvdXBOYW1lOl0pOgorICAgICAgICAoK1tXZWJWaWV3
IGluaXRpYWxpemVdKToKKyAgICAgICAgKC1bV2ViVmlldyBzZXRQcmVmZXJlbmNlczpdKToKKyAg
ICAgICAgKC1bV2ViVmlldyB1cGRhdGVUZXh0VG91Y2hCYXJdKToKKyAgICAgICAgKiBXZWJWaWV3
L1dlYlZpZXdEYXRhLm1tOgorICAgICAgICAoLVtXZWJXaW5kb3dWaXNpYmlsaXR5T2JzZXJ2ZXIg
c3RhcnRPYnNlcnZpbmc6XSk6CisgICAgICAgICgtW1dlYldpbmRvd1Zpc2liaWxpdHlPYnNlcnZl
ciBzdG9wT2JzZXJ2aW5nOl0pOgorCiAyMDE5LTA1LTEzICBKZXIgTm9ibGUgIDxqZXIubm9ibGVA
YXBwbGUuY29tPgogCiAgICAgICAgIE1ha2UgUVRLaXQgYW4gb3B0aW9uYWwgZnJhbWV3b3JrCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2Vz
Lm1tIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbQpp
bmRleCA5ZjFjMjI2ZmI5OC4uNDZlNDE1OTYyZjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRM
ZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW0KKysrIGIvU291cmNlL1dlYktpdExl
Z2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbQpAQCAtMTg4OSw4ICsxODg5LDkgQEAg
LSAodm9pZClfcG9zdFByZWZlcmVuY2VzQ2hhbmdlZE5vdGlmaWNhdGlvbgogICAgIH0KICNlbmRp
ZgogCi0gICAgW1tOU05vdGlmaWNhdGlvbkNlbnRlciBkZWZhdWx0Q2VudGVyXSBwb3N0Tm90aWZp
Y2F0aW9uTmFtZTpXZWJQcmVmZXJlbmNlc0NoYW5nZWRJbnRlcm5hbE5vdGlmaWNhdGlvbiBvYmpl
Y3Q6c2VsZiB1c2VySW5mbzpuaWxdOwotICAgIFtbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVs
dENlbnRlcl0gcG9zdE5vdGlmaWNhdGlvbk5hbWU6V2ViUHJlZmVyZW5jZXNDaGFuZ2VkTm90aWZp
Y2F0aW9uIG9iamVjdDpzZWxmIHVzZXJJbmZvOm5pbF07CisgICAgTlNOb3RpZmljYXRpb25DZW50
ZXIgKmNlbnRlciA9IFtOU05vdGlmaWNhdGlvbkNlbnRlciBkZWZhdWx0Q2VudGVyXTsKKyAgICBb
Y2VudGVyIHBvc3ROb3RpZmljYXRpb25OYW1lOldlYlByZWZlcmVuY2VzQ2hhbmdlZEludGVybmFs
Tm90aWZpY2F0aW9uIG9iamVjdDpzZWxmIHVzZXJJbmZvOm5pbF07CisgICAgW2NlbnRlciBwb3N0
Tm90aWZpY2F0aW9uTmFtZTpXZWJQcmVmZXJlbmNlc0NoYW5nZWROb3RpZmljYXRpb24gb2JqZWN0
OnNlbGYgdXNlckluZm86bmlsXTsKIH0KIAogLSAodm9pZClfcG9zdFByZWZlcmVuY2VzQ2hhbmdl
ZEFQSU5vdGlmaWNhdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2Vi
Vmlldy9XZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyLm1tIGIvU291cmNlL1dlYktpdExlZ2Fj
eS9tYWMvV2ViVmlldy9XZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyLm1tCmluZGV4IDIzYWFj
MzQ0MjZiLi45ODg5OGFlNWNhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMv
V2ViVmlldy9XZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyLm1tCisrKyBiL1NvdXJjZS9XZWJL
aXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlkZW9GdWxsc2NyZWVuQ29udHJvbGxlci5tbQpAQCAt
ODksOCArODksOSBAQCAtICh2b2lkKXdpbmRvd0RpZExvYWQKICAgICBbY29udGVudFZpZXcgc2V0
TGF5ZXI6W0NBTGF5ZXIgbGF5ZXJdXTsKICAgICBbY29udGVudFZpZXcgc2V0V2FudHNMYXllcjpZ
RVNdOwogCi0gICAgW1tOU05vdGlmaWNhdGlvbkNlbnRlciBkZWZhdWx0Q2VudGVyXSBhZGRPYnNl
cnZlcjpzZWxmIHNlbGVjdG9yOkBzZWxlY3RvcihhcHBsaWNhdGlvbkRpZFJlc2lnbkFjdGl2ZTop
IG5hbWU6TlNBcHBsaWNhdGlvbkRpZFJlc2lnbkFjdGl2ZU5vdGlmaWNhdGlvbiBvYmplY3Q6TlNB
cHBdOwotICAgIFtbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl0gYWRkT2JzZXJ2
ZXI6c2VsZiBzZWxlY3RvcjpAc2VsZWN0b3IoYXBwbGljYXRpb25EaWRDaGFuZ2VTY3JlZW5QYXJh
bWV0ZXJzOikgbmFtZTpOU0FwcGxpY2F0aW9uRGlkQ2hhbmdlU2NyZWVuUGFyYW1ldGVyc05vdGlm
aWNhdGlvbiBvYmplY3Q6TlNBcHBdOworICAgIE5TTm90aWZpY2F0aW9uQ2VudGVyICpjZW50ZXIg
PSBbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl07CisgICAgW2NlbnRlciBhZGRP
YnNlcnZlcjpzZWxmIHNlbGVjdG9yOkBzZWxlY3RvcihhcHBsaWNhdGlvbkRpZFJlc2lnbkFjdGl2
ZTopIG5hbWU6TlNBcHBsaWNhdGlvbkRpZFJlc2lnbkFjdGl2ZU5vdGlmaWNhdGlvbiBvYmplY3Q6
TlNBcHBdOworICAgIFtjZW50ZXIgYWRkT2JzZXJ2ZXI6c2VsZiBzZWxlY3RvcjpAc2VsZWN0b3Io
YXBwbGljYXRpb25EaWRDaGFuZ2VTY3JlZW5QYXJhbWV0ZXJzOikgbmFtZTpOU0FwcGxpY2F0aW9u
RGlkQ2hhbmdlU2NyZWVuUGFyYW1ldGVyc05vdGlmaWNhdGlvbiBvYmplY3Q6TlNBcHBdOwogfQog
CiAtIChXZWJDb3JlOjpIVE1MVmlkZW9FbGVtZW50ICopdmlkZW9FbGVtZW50CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0gYi9Tb3VyY2UvV2Vi
S2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KaW5kZXggOWQ2ZWVhNDFjNWEuLmMzZjIx
NWY4ZmE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZp
ZXcubW0KKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCkBA
IC0xNDg1LDYgKzE0ODUsOCBAQCAtICh2b2lkKV9jb21tb25Jbml0aWFsaXphdGlvbldpdGhGcmFt
ZU5hbWU6KE5TU3RyaW5nICopZnJhbWVOYW1lIGdyb3VwTmFtZTooTlNTdAogICAgIFdlYkNvcmU6
OnByb3ZpZGVEZXZpY2VPcmllbnRhdGlvblRvKCpfcHJpdmF0ZS0+cGFnZSwgKm5ldyBXZWJEZXZp
Y2VPcmllbnRhdGlvbkNsaWVudChzZWxmKSk7CiAjZW5kaWYKIAorICAgIE5TTm90aWZpY2F0aW9u
Q2VudGVyICpjZW50ZXIgPSBbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl07CisK
ICNpZiBFTkFCTEUoUkVNT1RFX0lOU1BFQ1RPUikKICAgICBfcHJpdmF0ZS0+cGFnZS0+c2V0UmVt
b3RlSW5zcGVjdGlvbkFsbG93ZWQodHJ1ZSk7CiAjZW5kaWYKQEAgLTE1MDIsMTYgKzE1MDQsMTUg
QEAgLSAodm9pZClfY29tbW9uSW5pdGlhbGl6YXRpb25XaXRoRnJhbWVOYW1lOihOU1N0cmluZyAq
KWZyYW1lTmFtZSBncm91cE5hbWU6KE5TU3QKIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiAg
ICAgX3ByaXZhdGUtPnBhZ2UtPnNldHRpbmdzKCkuc2V0UGFzc2l2ZVRvdWNoTGlzdGVuZXJzQXNE
ZWZhdWx0T25Eb2N1bWVudChsaW5rZWRPbk9yQWZ0ZXIoU0RLVmVyc2lvbjo6Rmlyc3RUaGF0RGVm
YXVsdHNUb1Bhc3NpdmVUb3VjaExpc3RlbmVyc09uRG9jdW1lbnQpKTsKLSNlbmRpZgogCi0jaWYg
UExBVEZPUk0oSU9TX0ZBTUlMWSkKICAgICAvLyBQcmVzZXJ2ZSB0aGUgYmVoYXZpb3Igd2UgaGFk
IGJlZm9yZSA8cmRhcjovL3Byb2JsZW0vNzU4MDg2Nz4KICAgICAvLyBieSBlbmZvcmNpbmcgYSA1
TUIgbGltaXQgZm9yIHNlc3Npb24gc3RvcmFnZS4KICAgICBfcHJpdmF0ZS0+cGFnZS0+c2V0dGlu
Z3MoKS5zZXRTZXNzaW9uU3RvcmFnZVF1b3RhKDUgKiAxMDI0ICogMTAyNCk7CiAKICAgICBbc2Vs
ZiBfdXBkYXRlU2NyZWVuU2NhbGVGcm9tV2luZG93XTsKLSAgICBbW05TTm90aWZpY2F0aW9uQ2Vu
dGVyIGRlZmF1bHRDZW50ZXJdIGFkZE9ic2VydmVyOnNlbGYgc2VsZWN0b3I6QHNlbGVjdG9yKF93
YWtXaW5kb3dTY3JlZW5TY2FsZUNoYW5nZWQ6KSBuYW1lOldBS1dpbmRvd1NjcmVlblNjYWxlRGlk
Q2hhbmdlTm90aWZpY2F0aW9uIG9iamVjdDpuaWxdOwotICAgIFtbTlNOb3RpZmljYXRpb25DZW50
ZXIgZGVmYXVsdENlbnRlcl0gYWRkT2JzZXJ2ZXI6c2VsZiBzZWxlY3RvcjpAc2VsZWN0b3IoX3dh
a1dpbmRvd1Zpc2liaWxpdHlDaGFuZ2VkOikgbmFtZTpXQUtXaW5kb3dWaXNpYmlsaXR5RGlkQ2hh
bmdlTm90aWZpY2F0aW9uIG9iamVjdDpuaWxdOworCisgICAgW2NlbnRlciBhZGRPYnNlcnZlcjpz
ZWxmIHNlbGVjdG9yOkBzZWxlY3Rvcihfd2FrV2luZG93U2NyZWVuU2NhbGVDaGFuZ2VkOikgbmFt
ZTpXQUtXaW5kb3dTY3JlZW5TY2FsZURpZENoYW5nZU5vdGlmaWNhdGlvbiBvYmplY3Q6bmlsXTsK
KyAgICBbY2VudGVyIGFkZE9ic2VydmVyOnNlbGYgc2VsZWN0b3I6QHNlbGVjdG9yKF93YWtXaW5k
b3dWaXNpYmlsaXR5Q2hhbmdlZDopIG5hbWU6V0FLV2luZG93VmlzaWJpbGl0eURpZENoYW5nZU5v
dGlmaWNhdGlvbiBvYmplY3Q6bmlsXTsKICAgICBfcHJpdmF0ZS0+X2ZpeGVkUG9zaXRpb25Db250
ZW50ID0gW1tXZWJGaXhlZFBvc2l0aW9uQ29udGVudCBhbGxvY10gaW5pdFdpdGhXZWJWaWV3OnNl
bGZdOwogI2lmIEVOQUJMRShPUklFTlRBVElPTl9FVkVOVFMpCiAgICAgX3ByaXZhdGUtPmRldmlj
ZU9yaWVudGF0aW9uID0gW1tzZWxmIF9VSUtpdERlbGVnYXRlRm9yd2FyZGVyXSBkZXZpY2VPcmll
bnRhdGlvbl07CkBAIC0xNTU1LDcgKzE1NTYsNyBAQCAtICh2b2lkKV9jb21tb25Jbml0aWFsaXph
dGlvbldpdGhGcmFtZU5hbWU6KE5TU3RyaW5nICopZnJhbWVOYW1lIGdyb3VwTmFtZTooTlNTdAog
ICAgIFtzZWxmIF9zZXRJc1Zpc2libGU6W3NlbGYgX2lzVmlld1Zpc2libGVdXTsKIAogICAgIFdl
YlByZWZlcmVuY2VzICpwcmVmcyA9IFtzZWxmIHByZWZlcmVuY2VzXTsKLSAgICBbW05TTm90aWZp
Y2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJdIGFkZE9ic2VydmVyOnNlbGYgc2VsZWN0b3I6QHNl
bGVjdG9yKF9wcmVmZXJlbmNlc0NoYW5nZWROb3RpZmljYXRpb246KQorICAgIFtjZW50ZXIgYWRk
T2JzZXJ2ZXI6c2VsZiBzZWxlY3RvcjpAc2VsZWN0b3IoX3ByZWZlcmVuY2VzQ2hhbmdlZE5vdGlm
aWNhdGlvbjopCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgbmFtZTpXZWJQcmVmZXJlbmNlc0NoYW5nZWRJbnRlcm5hbE5vdGlmaWNhdGlvbiBvYmplY3Q6
cHJlZnNdOwogCiAjaWYgIVBMQVRGT1JNKElPU19GQU1JTFkpCkBAIC0xNzY2LDggKzE3NjcsOCBA
QCAtIChpZClpbml0U2ltcGxlSFRNTERvY3VtZW50V2l0aFN0eWxlOihOU1N0cmluZyAqKXN0eWxl
IGZyYW1lOihDR1JlY3QpZnJhbWUgcHJlZgogI2VuZGlmCiAgICAgCiAgICAgW3NlbGYgX3VwZGF0
ZVNjcmVlblNjYWxlRnJvbVdpbmRvd107Ci0gICAgW1tOU05vdGlmaWNhdGlvbkNlbnRlciBkZWZh
dWx0Q2VudGVyXSBhZGRPYnNlcnZlcjpzZWxmIHNlbGVjdG9yOkBzZWxlY3Rvcihfd2FrV2luZG93
U2NyZWVuU2NhbGVDaGFuZ2VkOikgbmFtZTpXQUtXaW5kb3dTY3JlZW5TY2FsZURpZENoYW5nZU5v
dGlmaWNhdGlvbiBvYmplY3Q6bmlsXTsKLSAgICBbW05TTm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1
bHRDZW50ZXJdIGFkZE9ic2VydmVyOnNlbGYgc2VsZWN0b3I6QHNlbGVjdG9yKF93YWtXaW5kb3dW
aXNpYmlsaXR5Q2hhbmdlZDopIG5hbWU6V0FLV2luZG93VmlzaWJpbGl0eURpZENoYW5nZU5vdGlm
aWNhdGlvbiBvYmplY3Q6bmlsXTsKKyAgICBbY2VudGVyIGFkZE9ic2VydmVyOnNlbGYgc2VsZWN0
b3I6QHNlbGVjdG9yKF93YWtXaW5kb3dTY3JlZW5TY2FsZUNoYW5nZWQ6KSBuYW1lOldBS1dpbmRv
d1NjcmVlblNjYWxlRGlkQ2hhbmdlTm90aWZpY2F0aW9uIG9iamVjdDpuaWxdOworICAgIFtjZW50
ZXIgYWRkT2JzZXJ2ZXI6c2VsZiBzZWxlY3RvcjpAc2VsZWN0b3IoX3dha1dpbmRvd1Zpc2liaWxp
dHlDaGFuZ2VkOikgbmFtZTpXQUtXaW5kb3dWaXNpYmlsaXR5RGlkQ2hhbmdlTm90aWZpY2F0aW9u
IG9iamVjdDpuaWxdOwogCiAgICAgW1dlYkZyYW1lIF9jcmVhdGVNYWluRnJhbWVXaXRoU2ltcGxl
SFRNTERvY3VtZW50V2l0aFBhZ2U6X3ByaXZhdGUtPnBhZ2UgZnJhbWVWaWV3OmZyYW1lVmlldyBz
dHlsZTpzdHlsZV07CiAgICAgCkBAIC01NTc4LDE3ICs1NTc5LDE3IEBAICsgKHZvaWQpaW5pdGlh
bGl6ZQogICAgIFdURjo6c2V0UHJvY2Vzc1ByaXZpbGVnZXMoYWxsUHJpdmlsZWdlcygpKTsKICAg
ICBXZWJDb3JlOjpOZXR3b3JrU3RvcmFnZVNlc3Npb246OnBlcm1pdFByb2Nlc3NUb1VzZUNvb2tp
ZUFQSSh0cnVlKTsKIAorICAgIE5TTm90aWZpY2F0aW9uQ2VudGVyICpjZW50ZXIgPSBbTlNOb3Rp
ZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl07CisKICNpZiAhUExBVEZPUk0oSU9TX0ZBTUlM
WSkKLSAgICBbW05TTm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJdIGFkZE9ic2VydmVy
OnNlbGYgc2VsZWN0b3I6QHNlbGVjdG9yKF9hcHBsaWNhdGlvbldpbGxUZXJtaW5hdGUpIG5hbWU6
TlNBcHBsaWNhdGlvbldpbGxUZXJtaW5hdGVOb3RpZmljYXRpb24gb2JqZWN0Ok5TQXBwXTsKKyAg
ICBbY2VudGVyIGFkZE9ic2VydmVyOnNlbGYgc2VsZWN0b3I6QHNlbGVjdG9yKF9hcHBsaWNhdGlv
bldpbGxUZXJtaW5hdGUpIG5hbWU6TlNBcHBsaWNhdGlvbldpbGxUZXJtaW5hdGVOb3RpZmljYXRp
b24gb2JqZWN0Ok5TQXBwXTsKICNlbmRpZgotICAgIFtbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVm
YXVsdENlbnRlcl0gYWRkT2JzZXJ2ZXI6c2VsZiBzZWxlY3RvcjpAc2VsZWN0b3IoX2NhY2hlTW9k
ZWxDaGFuZ2VkTm90aWZpY2F0aW9uOikgbmFtZTpXZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxDaGFu
Z2VkSW50ZXJuYWxOb3RpZmljYXRpb24gb2JqZWN0Om5pbF07Ci0gICAgW1tOU05vdGlmaWNhdGlv
bkNlbnRlciBkZWZhdWx0Q2VudGVyXSBhZGRPYnNlcnZlcjpzZWxmIHNlbGVjdG9yOkBzZWxlY3Rv
cihfcHJlZmVyZW5jZXNSZW1vdmVkTm90aWZpY2F0aW9uOikgbmFtZTpXZWJQcmVmZXJlbmNlc1Jl
bW92ZWROb3RpZmljYXRpb24gb2JqZWN0Om5pbF07CisgICAgW2NlbnRlciBhZGRPYnNlcnZlcjpz
ZWxmIHNlbGVjdG9yOkBzZWxlY3RvcihfY2FjaGVNb2RlbENoYW5nZWROb3RpZmljYXRpb246KSBu
YW1lOldlYlByZWZlcmVuY2VzQ2FjaGVNb2RlbENoYW5nZWRJbnRlcm5hbE5vdGlmaWNhdGlvbiBv
YmplY3Q6bmlsXTsKKyAgICBbY2VudGVyIGFkZE9ic2VydmVyOnNlbGYgc2VsZWN0b3I6QHNlbGVj
dG9yKF9wcmVmZXJlbmNlc1JlbW92ZWROb3RpZmljYXRpb246KSBuYW1lOldlYlByZWZlcmVuY2Vz
UmVtb3ZlZE5vdGlmaWNhdGlvbiBvYmplY3Q6bmlsXTsKIAogI2lmIFBMQVRGT1JNKElPU19GQU1J
TFkpCiAgICAgY29udGludW91c1NwZWxsQ2hlY2tpbmdFbmFibGVkID0gTk87Ci0KICNlbHNlCi0K
ICAgICBOU1VzZXJEZWZhdWx0cyAqZGVmYXVsdHMgPSBbTlNVc2VyRGVmYXVsdHMgc3RhbmRhcmRV
c2VyRGVmYXVsdHNdOwogICAgIGNvbnRpbnVvdXNTcGVsbENoZWNraW5nRW5hYmxlZCA9IFtkZWZh
dWx0cyBib29sRm9yS2V5OldlYkNvbnRpbnVvdXNTcGVsbENoZWNraW5nRW5hYmxlZF07CiAgICAg
Z3JhbW1hckNoZWNraW5nRW5hYmxlZCA9IFtkZWZhdWx0cyBib29sRm9yS2V5OldlYkdyYW1tYXJD
aGVja2luZ0VuYWJsZWRdOwpAQCAtNTU5OSwxMyArNTYwMCwxMyBAQCArICh2b2lkKWluaXRpYWxp
emUKICAgICBhdXRvbWF0aWNUZXh0UmVwbGFjZW1lbnRFbmFibGVkID0gW3NlbGYgX3Nob3VsZEF1
dG9tYXRpY1RleHRSZXBsYWNlbWVudEJlRW5hYmxlZF07CiAgICAgYXV0b21hdGljU3BlbGxpbmdD
b3JyZWN0aW9uRW5hYmxlZCA9IFtzZWxmIF9zaG91bGRBdXRvbWF0aWNTcGVsbGluZ0NvcnJlY3Rp
b25CZUVuYWJsZWRdOwogCi0gICAgW1tOU05vdGlmaWNhdGlvbkNlbnRlciBkZWZhdWx0Q2VudGVy
XSBhZGRPYnNlcnZlcjpzZWxmIHNlbGVjdG9yOkBzZWxlY3RvcihfZGlkQ2hhbmdlQXV0b21hdGlj
VGV4dFJlcGxhY2VtZW50RW5hYmxlZDopCisgICAgW2NlbnRlciBhZGRPYnNlcnZlcjpzZWxmIHNl
bGVjdG9yOkBzZWxlY3RvcihfZGlkQ2hhbmdlQXV0b21hdGljVGV4dFJlcGxhY2VtZW50RW5hYmxl
ZDopCiAgICAgICAgIG5hbWU6TlNTcGVsbENoZWNrZXJEaWRDaGFuZ2VBdXRvbWF0aWNUZXh0UmVw
bGFjZW1lbnROb3RpZmljYXRpb24gb2JqZWN0Om5pbF07Ci0gICAgW1tOU05vdGlmaWNhdGlvbkNl
bnRlciBkZWZhdWx0Q2VudGVyXSBhZGRPYnNlcnZlcjpzZWxmIHNlbGVjdG9yOkBzZWxlY3Rvcihf
ZGlkQ2hhbmdlQXV0b21hdGljU3BlbGxpbmdDb3JyZWN0aW9uRW5hYmxlZDopCisgICAgW2NlbnRl
ciBhZGRPYnNlcnZlcjpzZWxmIHNlbGVjdG9yOkBzZWxlY3RvcihfZGlkQ2hhbmdlQXV0b21hdGlj
U3BlbGxpbmdDb3JyZWN0aW9uRW5hYmxlZDopCiAgICAgICAgIG5hbWU6TlNTcGVsbENoZWNrZXJE
aWRDaGFuZ2VBdXRvbWF0aWNTcGVsbGluZ0NvcnJlY3Rpb25Ob3RpZmljYXRpb24gb2JqZWN0Om5p
bF07Ci0gICAgW1tOU05vdGlmaWNhdGlvbkNlbnRlciBkZWZhdWx0Q2VudGVyXSBhZGRPYnNlcnZl
cjpzZWxmIHNlbGVjdG9yOkBzZWxlY3RvcihfZGlkQ2hhbmdlQXV0b21hdGljUXVvdGVTdWJzdGl0
dXRpb25FbmFibGVkOikKKyAgICBbY2VudGVyIGFkZE9ic2VydmVyOnNlbGYgc2VsZWN0b3I6QHNl
bGVjdG9yKF9kaWRDaGFuZ2VBdXRvbWF0aWNRdW90ZVN1YnN0aXR1dGlvbkVuYWJsZWQ6KQogICAg
ICAgICBuYW1lOk5TU3BlbGxDaGVja2VyRGlkQ2hhbmdlQXV0b21hdGljUXVvdGVTdWJzdGl0dXRp
b25Ob3RpZmljYXRpb24gb2JqZWN0Om5pbF07Ci0gICAgW1tOU05vdGlmaWNhdGlvbkNlbnRlciBk
ZWZhdWx0Q2VudGVyXSBhZGRPYnNlcnZlcjpzZWxmIHNlbGVjdG9yOkBzZWxlY3RvcihfZGlkQ2hh
bmdlQXV0b21hdGljRGFzaFN1YnN0aXR1dGlvbkVuYWJsZWQ6KQorICAgIFtjZW50ZXIgYWRkT2Jz
ZXJ2ZXI6c2VsZiBzZWxlY3RvcjpAc2VsZWN0b3IoX2RpZENoYW5nZUF1dG9tYXRpY0Rhc2hTdWJz
dGl0dXRpb25FbmFibGVkOikKICAgICAgICAgbmFtZTpOU1NwZWxsQ2hlY2tlckRpZENoYW5nZUF1
dG9tYXRpY0Rhc2hTdWJzdGl0dXRpb25Ob3RpZmljYXRpb24gb2JqZWN0Om5pbF07CiAjZW5kaWYK
IH0KQEAgLTYzMTIsMTMgKzYzMTMsMTQgQEAgLSAodm9pZClzZXRQcmVmZXJlbmNlczooV2ViUHJl
ZmVyZW5jZXMgKilwcmVmcwogCiAgICAgV2ViUHJlZmVyZW5jZXMgKm9sZFByZWZzID0gX3ByaXZh
dGUtPnByZWZlcmVuY2VzOwogCi0gICAgW1tOU05vdGlmaWNhdGlvbkNlbnRlciBkZWZhdWx0Q2Vu
dGVyXSByZW1vdmVPYnNlcnZlcjpzZWxmIG5hbWU6V2ViUHJlZmVyZW5jZXNDaGFuZ2VkSW50ZXJu
YWxOb3RpZmljYXRpb24gb2JqZWN0OltzZWxmIHByZWZlcmVuY2VzXV07CisgICAgTlNOb3RpZmlj
YXRpb25DZW50ZXIgKmNlbnRlciA9IFtOU05vdGlmaWNhdGlvbkNlbnRlciBkZWZhdWx0Q2VudGVy
XTsKKyAgICBbY2VudGVyIHJlbW92ZU9ic2VydmVyOnNlbGYgbmFtZTpXZWJQcmVmZXJlbmNlc0No
YW5nZWRJbnRlcm5hbE5vdGlmaWNhdGlvbiBvYmplY3Q6W3NlbGYgcHJlZmVyZW5jZXNdXTsKICAg
ICBbV2ViUHJlZmVyZW5jZXMgX3JlbW92ZVJlZmVyZW5jZUZvcklkZW50aWZpZXI6W29sZFByZWZz
IGlkZW50aWZpZXJdXTsKIAogICAgIF9wcml2YXRlLT5wcmVmZXJlbmNlcyA9IFtwcmVmcyByZXRh
aW5dOwogCiAgICAgLy8gQWZ0ZXIgcmVnaXN0ZXJpbmcgZm9yIHRoZSBub3RpZmljYXRpb24sIHBv
c3QgaXQgc28gdGhlIFdlYkNvcmUgc2V0dGluZ3MgdXBkYXRlLgotICAgIFtbTlNOb3RpZmljYXRp
b25DZW50ZXIgZGVmYXVsdENlbnRlcl0gYWRkT2JzZXJ2ZXI6c2VsZiBzZWxlY3RvcjpAc2VsZWN0
b3IoX3ByZWZlcmVuY2VzQ2hhbmdlZE5vdGlmaWNhdGlvbjopCisgICAgW2NlbnRlciBhZGRPYnNl
cnZlcjpzZWxmIHNlbGVjdG9yOkBzZWxlY3RvcihfcHJlZmVyZW5jZXNDaGFuZ2VkTm90aWZpY2F0
aW9uOikKICAgICAgICAgbmFtZTpXZWJQcmVmZXJlbmNlc0NoYW5nZWRJbnRlcm5hbE5vdGlmaWNh
dGlvbiBvYmplY3Q6W3NlbGYgcHJlZmVyZW5jZXNdXTsKICAgICBbc2VsZiBfcHJlZmVyZW5jZXND
aGFuZ2VkOltzZWxmIHByZWZlcmVuY2VzXV07CiAgICAgW1tzZWxmIHByZWZlcmVuY2VzXSBfcG9z
dFByZWZlcmVuY2VzQ2hhbmdlZEFQSU5vdGlmaWNhdGlvbl07CkBAIC05OTQ0LDkgKzk5NDYsMTAg
QEAgLSAodm9pZCl1cGRhdGVUZXh0VG91Y2hCYXIKICAgICAgICAgX3ByaXZhdGUtPl90ZXh0VG91
Y2hCYXJJdGVtQ29udHJvbGxlciA9IGFkb3B0TlMoW1tXZWJUZXh0VG91Y2hCYXJJdGVtQ29udHJv
bGxlciBhbGxvY10gaW5pdFdpdGhXZWJWaWV3OnNlbGZdKTsKIAogICAgIGlmICghX3ByaXZhdGUt
Pl9zdGFydGVkTGlzdGVuaW5nVG9DdXN0b21pemF0aW9uRXZlbnRzKSB7Ci0gICAgICAgIFtbTlNO
b3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl0gYWRkT2JzZXJ2ZXI6c2VsZiBzZWxlY3Rv
cjpAc2VsZWN0b3IodG91Y2hCYXJEaWRFeGl0Q3VzdG9taXphdGlvbjopIG5hbWU6TlNUb3VjaEJh
ckRpZEV4aXRDdXN0b21pemF0aW9uIG9iamVjdDpuaWxdOwotICAgICAgICBbW05TTm90aWZpY2F0
aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJdIGFkZE9ic2VydmVyOnNlbGYgc2VsZWN0b3I6QHNlbGVj
dG9yKHRvdWNoQmFyV2lsbEVudGVyQ3VzdG9taXphdGlvbjopIG5hbWU6TlNUb3VjaEJhcldpbGxF
bnRlckN1c3RvbWl6YXRpb24gb2JqZWN0Om5pbF07Ci0gICAgICAgIFtbTlNOb3RpZmljYXRpb25D
ZW50ZXIgZGVmYXVsdENlbnRlcl0gYWRkT2JzZXJ2ZXI6c2VsZiBzZWxlY3RvcjpAc2VsZWN0b3Io
ZGlkQ2hhbmdlQXV0b21hdGljVGV4dENvbXBsZXRpb246KSBuYW1lOk5TU3BlbGxDaGVja2VyRGlk
Q2hhbmdlQXV0b21hdGljVGV4dENvbXBsZXRpb25Ob3RpZmljYXRpb24gb2JqZWN0Om5pbF07Cisg
ICAgICAgIE5TTm90aWZpY2F0aW9uQ2VudGVyICpjZW50ZXIgPSBbTlNOb3RpZmljYXRpb25DZW50
ZXIgZGVmYXVsdENlbnRlcl07CisgICAgICAgIFtjZW50ZXIgYWRkT2JzZXJ2ZXI6c2VsZiBzZWxl
Y3RvcjpAc2VsZWN0b3IodG91Y2hCYXJEaWRFeGl0Q3VzdG9taXphdGlvbjopIG5hbWU6TlNUb3Vj
aEJhckRpZEV4aXRDdXN0b21pemF0aW9uIG9iamVjdDpuaWxdOworICAgICAgICBbY2VudGVyIGFk
ZE9ic2VydmVyOnNlbGYgc2VsZWN0b3I6QHNlbGVjdG9yKHRvdWNoQmFyV2lsbEVudGVyQ3VzdG9t
aXphdGlvbjopIG5hbWU6TlNUb3VjaEJhcldpbGxFbnRlckN1c3RvbWl6YXRpb24gb2JqZWN0Om5p
bF07CisgICAgICAgIFtjZW50ZXIgYWRkT2JzZXJ2ZXI6c2VsZiBzZWxlY3RvcjpAc2VsZWN0b3Io
ZGlkQ2hhbmdlQXV0b21hdGljVGV4dENvbXBsZXRpb246KSBuYW1lOk5TU3BlbGxDaGVja2VyRGlk
Q2hhbmdlQXV0b21hdGljVGV4dENvbXBsZXRpb25Ob3RpZmljYXRpb24gb2JqZWN0Om5pbF07CiAg
ICAgICAgIF9wcml2YXRlLT5fc3RhcnRlZExpc3RlbmluZ1RvQ3VzdG9taXphdGlvbkV2ZW50cyA9
IFlFUzsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZp
ZXcvV2ViVmlld0RhdGEubW0gYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZp
ZXdEYXRhLm1tCmluZGV4IDhiNDk3ODJiNmJjLi5lZWRkZjZjN2VmZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3RGF0YS5tbQorKysgYi9Tb3VyY2Uv
V2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXdEYXRhLm1tCkBAIC0xNDEsMTYgKzE0MSwx
NiBAQCAtIChpbnN0YW5jZXR5cGUpaW5pdFdpdGhWaWV3OihXZWJWaWV3ICopdmlldwogLSAodm9p
ZClzdGFydE9ic2VydmluZzooTlNXaW5kb3cgKil3aW5kb3cKIHsKICAgICAvLyBBbiBOU1ZpZXcg
ZGVyaXZlZCBvYmplY3Qgc3VjaCBhcyBXZWJWaWV3IGNhbm5vdCBvYnNlcnZlIHRoZXNlIG5vdGlm
aWNhdGlvbnMsIGJlY2F1c2UgTlNWaWV3IGl0c2VsZiBvYnNlcnZlcyB0aGVtLgotICAgIFtbTlNO
b3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl0gYWRkT2JzZXJ2ZXI6c2VsZiBzZWxlY3Rv
cjpAc2VsZWN0b3IoX3dpbmRvd1Zpc2liaWxpdHlDaGFuZ2VkOikKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOkAiTlNXaW5kb3dEaWRPcmRlck9m
ZlNjcmVlbk5vdGlmaWNhdGlvbiIgb2JqZWN0OndpbmRvd107Ci0gICAgW1tOU05vdGlmaWNhdGlv
bkNlbnRlciBkZWZhdWx0Q2VudGVyXSBhZGRPYnNlcnZlcjpzZWxmIHNlbGVjdG9yOkBzZWxlY3Rv
cihfd2luZG93VmlzaWJpbGl0eUNoYW5nZWQ6KQotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIG5hbWU6QCJfTlNXaW5kb3dEaWRCZWNvbWVWaXNpYmxlIiBv
YmplY3Q6d2luZG93XTsKKyAgICBOU05vdGlmaWNhdGlvbkNlbnRlciAqY2VudGVyID0gW05TTm90
aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJdOworICAgIFtjZW50ZXIgYWRkT2JzZXJ2ZXI6
c2VsZiBzZWxlY3RvcjpAc2VsZWN0b3IoX3dpbmRvd1Zpc2liaWxpdHlDaGFuZ2VkOikgbmFtZTpA
Ik5TV2luZG93RGlkT3JkZXJPZmZTY3JlZW5Ob3RpZmljYXRpb24iIG9iamVjdDp3aW5kb3ddOwor
ICAgIFtjZW50ZXIgYWRkT2JzZXJ2ZXI6c2VsZiBzZWxlY3RvcjpAc2VsZWN0b3IoX3dpbmRvd1Zp
c2liaWxpdHlDaGFuZ2VkOikgbmFtZTpAIl9OU1dpbmRvd0RpZEJlY29tZVZpc2libGUiIG9iamVj
dDp3aW5kb3ddOwogfQogCiAtICh2b2lkKXN0b3BPYnNlcnZpbmc6KE5TV2luZG93ICopd2luZG93
CiB7Ci0gICAgW1tOU05vdGlmaWNhdGlvbkNlbnRlciBkZWZhdWx0Q2VudGVyXSByZW1vdmVPYnNl
cnZlcjpzZWxmIG5hbWU6QCJOU1dpbmRvd0RpZE9yZGVyT2ZmU2NyZWVuTm90aWZpY2F0aW9uIiBv
YmplY3Q6d2luZG93XTsKLSAgICBbW05TTm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJd
IHJlbW92ZU9ic2VydmVyOnNlbGYgbmFtZTpAIl9OU1dpbmRvd0RpZEJlY29tZVZpc2libGUiIG9i
amVjdDp3aW5kb3ddOworICAgIE5TTm90aWZpY2F0aW9uQ2VudGVyICpjZW50ZXIgPSBbTlNOb3Rp
ZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl07CisgICAgW2NlbnRlciByZW1vdmVPYnNlcnZl
cjpzZWxmIG5hbWU6QCJOU1dpbmRvd0RpZE9yZGVyT2ZmU2NyZWVuTm90aWZpY2F0aW9uIiBvYmpl
Y3Q6d2luZG93XTsKKyAgICBbY2VudGVyIHJlbW92ZU9ic2VydmVyOnNlbGYgbmFtZTpAIl9OU1dp
bmRvd0RpZEJlY29tZVZpc2libGUiIG9iamVjdDp3aW5kb3ddOwogfQogCiAtICh2b2lkKV93aW5k
b3dWaXNpYmlsaXR5Q2hhbmdlZDooTlNOb3RpZmljYXRpb24gKilub3RpZmljYXRpb24KZGlmZiAt
LWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCAyZjAyNDVmMjk1
Yi4uNWQ5M2I3Yjc1ZDggMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwzMCBAQAorMjAxOS0wNS0yMCAgSm9zZXBoIFBlY29yYXJvICA8
cGVjb3Jhcm9AYXBwbGUuY29tPgorCisgICAgICAgIFJlbW92ZSB1bm5lY2Vzc2FyeSBkdXBsaWNh
dGUgc2VsZWN0b3IgaW52b2NhdGlvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE5ODA2NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tOgor
ICAgICAgICAoc2V0RGVmYXVsdHNUb0NvbnNpc3RlbnRWYWx1ZXNGb3JUZXN0aW5nKToKKyAgICAg
ICAgKiBNaW5pQnJvd3Nlci9tYWMvQXBwRGVsZWdhdGUubToKKyAgICAgICAgKGRlZmF1bHRDb25m
aWd1cmF0aW9uKToKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL21hYy9OYXZpZ2F0b3JM
YW5ndWFnZS5tbToKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6Om92ZXJyaWRlQXBwbGVMYW5ndWFn
ZXMpOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvaW9zL21haW5JT1MubW06CisgICAgICAgICht
YWluKToKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL21hYy9JbmplY3RlZEJ1bmRsZUNvbnRyb2xs
ZXJNYWMubW06CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpJbmplY3RlZEJ1bmRsZUNvbnRyb2xs
ZXI6OnBsYXRmb3JtSW5pdGlhbGl6ZSk6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9tYWMvbWFp
bk1hYy5tbToKKyAgICAgICAgKG1haW4pOgorICAgICAgICAqIFdlYktpdExhdW5jaGVyL21haW4u
bToKKyAgICAgICAgKGdldExhc3RWZXJzaW9uU2hvd24pOgorICAgICAgICAoc2F2ZUxhc3RWZXJz
aW9uU2hvd24pOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvbWFj
L0luamVjdGVkQnVuZGxlTWFjLm1tOgorICAgICAgICAoV1RSOjpJbmplY3RlZEJ1bmRsZTo6cGxh
dGZvcm1Jbml0aWFsaXplKToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL2NvY29hL1Rlc3RD
b250cm9sbGVyQ29jb2EubW06CisgICAgICAgIChXVFI6OlRlc3RDb250cm9sbGVyOjpwbGF0Zm9y
bUFkZFRlc3RPcHRpb25zIGNvbnN0KToKKwogMjAxOS0wNS0yMCAgRnVqaWkgSGlyb25vcmkgIDxI
aXJvbm9yaS5GdWppaUBzb255LmNvbT4KIAogICAgICAgICBydW4td2Via2l0LXRlc3RzIG5vdCBn
YXRoZXJpbmcgY3Jhc2ggbG9ncyBvbiBDeWd3aW4gUHl0aG9uIGFuZCBXaW5kb3dzIFB5dGhvbgpk
aWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tIGIv
VG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tCmluZGV4IDNlMGQ4OTUy
NWQzLi5hOWEwNTE0ZWMxMSAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1
bXBSZW5kZXJUcmVlLm1tCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVy
VHJlZS5tbQpAQCAtMTA3MCw3ICsxMDcwLDggQEAgc3RhdGljIHZvaWQgc2V0RGVmYXVsdHNUb0Nv
bnNpc3RlbnRWYWx1ZXNGb3JUZXN0aW5nKCkKICAgICAgICAgQCJjb20uYXBwbGUuc3dpcGVzY3Jv
bGxkaXJlY3Rpb24iOiBAMSwKICAgICB9OwogCi0gICAgW1tOU1VzZXJEZWZhdWx0cyBzdGFuZGFy
ZFVzZXJEZWZhdWx0c10gc2V0VmFsdWVzRm9yS2V5c1dpdGhEaWN0aW9uYXJ5OmRpY3RdOworICAg
IE5TVXNlckRlZmF1bHRzICpkZWZhdWx0cyA9IFtOU1VzZXJEZWZhdWx0cyBzdGFuZGFyZFVzZXJE
ZWZhdWx0c107CisgICAgW2RlZmF1bHRzIHNldFZhbHVlc0ZvcktleXNXaXRoRGljdGlvbmFyeTpk
aWN0XTsKIAogICAgIE5TRGljdGlvbmFyeSAqcHJvY2Vzc0luc3RhbmNlRGVmYXVsdHMgPSBAewog
ICAgICAgICBXZWJEYXRhYmFzZURpcmVjdG9yeURlZmF1bHRzS2V5OiBbbGlicmFyeVBhdGggc3Ry
aW5nQnlBcHBlbmRpbmdQYXRoQ29tcG9uZW50OkAiRGF0YWJhc2VzIl0sCkBAIC0xMDc5LDcgKzEw
ODAsNyBAQCBzdGF0aWMgdm9pZCBzZXREZWZhdWx0c1RvQ29uc2lzdGVudFZhbHVlc0ZvclRlc3Rp
bmcoKQogICAgICAgICBXZWJLaXRSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGlyZWN0b3J5RGVmYXVs
dHNLZXk6IFtsaWJyYXJ5UGF0aCBzdHJpbmdCeUFwcGVuZGluZ1BhdGhDb21wb25lbnQ6QCJMb2Nh
bFN0b3JhZ2UiXSwKICAgICB9OwogCi0gICAgW1tOU1VzZXJEZWZhdWx0cyBzdGFuZGFyZFVzZXJE
ZWZhdWx0c10gc2V0Vm9sYXRpbGVEb21haW46cHJvY2Vzc0luc3RhbmNlRGVmYXVsdHMgZm9yTmFt
ZTpOU0FyZ3VtZW50RG9tYWluXTsKKyAgICBbZGVmYXVsdHMgc2V0Vm9sYXRpbGVEb21haW46cHJv
Y2Vzc0luc3RhbmNlRGVmYXVsdHMgZm9yTmFtZTpOU0FyZ3VtZW50RG9tYWluXTsKIH0KIAogc3Rh
dGljIHZvaWQgYWxsb2NhdGVHbG9iYWxDb250cm9sbGVycygpCmRpZmYgLS1naXQgYS9Ub29scy9N
aW5pQnJvd3Nlci9tYWMvQXBwRGVsZWdhdGUubSBiL1Rvb2xzL01pbmlCcm93c2VyL21hYy9BcHBE
ZWxlZ2F0ZS5tCmluZGV4IGVmMTlmMGQ5YzZlLi45Y2I2YzZlYjExYiAxMDA2NDQKLS0tIGEvVG9v
bHMvTWluaUJyb3dzZXIvbWFjL0FwcERlbGVnYXRlLm0KKysrIGIvVG9vbHMvTWluaUJyb3dzZXIv
bWFjL0FwcERlbGVnYXRlLm0KQEAgLTk4LDExICs5OCwxMyBAQCAtICh2b2lkKWF3YWtlRnJvbU5p
YgogICAgICAgICAKICAgICAgICAgY29uZmlndXJhdGlvbi5wcm9jZXNzUG9vbCA9IFtbW1dLUHJv
Y2Vzc1Bvb2wgYWxsb2NdIF9pbml0V2l0aENvbmZpZ3VyYXRpb246cHJvY2Vzc0NvbmZpZ3VyYXRp
b25dIGF1dG9yZWxlYXNlXTsKIAorICAgICAgICBOU1VzZXJEZWZhdWx0cyAqZGVmYXVsdHMgPSBb
TlNVc2VyRGVmYXVsdHMgc3RhbmRhcmRVc2VyRGVmYXVsdHNdOworCiAgICAgICAgIE5TQXJyYXk8
X1dLRXhwZXJpbWVudGFsRmVhdHVyZSAqPiAqZXhwZXJpbWVudGFsRmVhdHVyZXMgPSBbV0tQcmVm
ZXJlbmNlcyBfZXhwZXJpbWVudGFsRmVhdHVyZXNdOwogICAgICAgICBmb3IgKF9XS0V4cGVyaW1l
bnRhbEZlYXR1cmUgKmZlYXR1cmUgaW4gZXhwZXJpbWVudGFsRmVhdHVyZXMpIHsKICAgICAgICAg
ICAgIEJPT0wgZW5hYmxlZDsKLSAgICAgICAgICAgIGlmIChbW05TVXNlckRlZmF1bHRzIHN0YW5k
YXJkVXNlckRlZmF1bHRzXSBvYmplY3RGb3JLZXk6ZmVhdHVyZS5rZXldKQotICAgICAgICAgICAg
ICAgIGVuYWJsZWQgPSBbW05TVXNlckRlZmF1bHRzIHN0YW5kYXJkVXNlckRlZmF1bHRzXSBib29s
Rm9yS2V5OmZlYXR1cmUua2V5XTsKKyAgICAgICAgICAgIGlmIChbZGVmYXVsdHMgb2JqZWN0Rm9y
S2V5OmZlYXR1cmUua2V5XSkKKyAgICAgICAgICAgICAgICBlbmFibGVkID0gW2RlZmF1bHRzIGJv
b2xGb3JLZXk6ZmVhdHVyZS5rZXldOwogICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAg
IGVuYWJsZWQgPSBbZmVhdHVyZSBkZWZhdWx0VmFsdWVdOwogICAgICAgICAgICAgW2NvbmZpZ3Vy
YXRpb24ucHJlZmVyZW5jZXMgX3NldEVuYWJsZWQ6ZW5hYmxlZCBmb3JFeHBlcmltZW50YWxGZWF0
dXJlOmZlYXR1cmVdOwpAQCAtMTExLDggKzExMyw4IEBAIC0gKHZvaWQpYXdha2VGcm9tTmliCiAg
ICAgICAgIE5TQXJyYXk8X1dLSW50ZXJuYWxEZWJ1Z0ZlYXR1cmUgKj4gKmludGVybmFsRGVidWdG
ZWF0dXJlcyA9IFtXS1ByZWZlcmVuY2VzIF9pbnRlcm5hbERlYnVnRmVhdHVyZXNdOwogICAgICAg
ICBmb3IgKF9XS0ludGVybmFsRGVidWdGZWF0dXJlICpmZWF0dXJlIGluIGludGVybmFsRGVidWdG
ZWF0dXJlcykgewogICAgICAgICAgICAgQk9PTCBlbmFibGVkOwotICAgICAgICAgICAgaWYgKFtb
TlNVc2VyRGVmYXVsdHMgc3RhbmRhcmRVc2VyRGVmYXVsdHNdIG9iamVjdEZvcktleTpmZWF0dXJl
LmtleV0pCi0gICAgICAgICAgICAgICAgZW5hYmxlZCA9IFtbTlNVc2VyRGVmYXVsdHMgc3RhbmRh
cmRVc2VyRGVmYXVsdHNdIGJvb2xGb3JLZXk6ZmVhdHVyZS5rZXldOworICAgICAgICAgICAgaWYg
KFtkZWZhdWx0cyBvYmplY3RGb3JLZXk6ZmVhdHVyZS5rZXldKQorICAgICAgICAgICAgICAgIGVu
YWJsZWQgPSBbZGVmYXVsdHMgYm9vbEZvcktleTpmZWF0dXJlLmtleV07CiAgICAgICAgICAgICBl
bHNlCiAgICAgICAgICAgICAgICAgZW5hYmxlZCA9IFtmZWF0dXJlIGRlZmF1bHRWYWx1ZV07CiAg
ICAgICAgICAgICBbY29uZmlndXJhdGlvbi5wcmVmZXJlbmNlcyBfc2V0RW5hYmxlZDplbmFibGVk
IGZvckludGVybmFsRGVidWdGZWF0dXJlOmZlYXR1cmVdOwpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVz
dFdlYktpdEFQSS9UZXN0cy9tYWMvTmF2aWdhdG9yTGFuZ3VhZ2UubW0gYi9Ub29scy9UZXN0V2Vi
S2l0QVBJL1Rlc3RzL21hYy9OYXZpZ2F0b3JMYW5ndWFnZS5tbQppbmRleCBlZTg4Y2I0YmY2Yi4u
MDEwYTg5MGY4MTYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvbWFjL05h
dmlnYXRvckxhbmd1YWdlLm1tCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvbWFjL05h
dmlnYXRvckxhbmd1YWdlLm1tCkBAIC00OCwxNCArNDgsMTUgQEAgbmFtZXNwYWNlIFRlc3RXZWJL
aXRBUEkgewogCiB2b2lkIG92ZXJyaWRlQXBwbGVMYW5ndWFnZXMoTlNTdHJpbmcgKnByaW1hcnlM
YW5ndWFnZSkKIHsKLSAgICBSZXRhaW5QdHI8TlNNdXRhYmxlRGljdGlvbmFyeT4gYXJndW1lbnRE
b21haW4gPSBhZG9wdE5TKFtbW05TVXNlckRlZmF1bHRzIHN0YW5kYXJkVXNlckRlZmF1bHRzXSB2
b2xhdGlsZURvbWFpbkZvck5hbWU6TlNBcmd1bWVudERvbWFpbl0gbXV0YWJsZUNvcHldKTsKKyAg
ICBOU1VzZXJEZWZhdWx0cyAqZGVmYXVsdHMgPSBbTlNVc2VyRGVmYXVsdHMgc3RhbmRhcmRVc2Vy
RGVmYXVsdHNdOworICAgIFJldGFpblB0cjxOU011dGFibGVEaWN0aW9uYXJ5PiBhcmd1bWVudERv
bWFpbiA9IGFkb3B0TlMoW1tkZWZhdWx0cyB2b2xhdGlsZURvbWFpbkZvck5hbWU6TlNBcmd1bWVu
dERvbWFpbl0gbXV0YWJsZUNvcHldKTsKICAgICBpZiAoIWFyZ3VtZW50RG9tYWluKQogICAgICAg
ICBhcmd1bWVudERvbWFpbiA9IGFkb3B0TlMoW1tOU011dGFibGVEaWN0aW9uYXJ5IGFsbG9jXSBp
bml0XSk7CiAgICAgCiAgICAgW2FyZ3VtZW50RG9tYWluIGFkZEVudHJpZXNGcm9tRGljdGlvbmFy
eTpAewogICAgICAgICBAIkFwcGxlTGFuZ3VhZ2VzIjogQFtwcmltYXJ5TGFuZ3VhZ2VdCiAgICAg
fV07Ci0gICAgW1tOU1VzZXJEZWZhdWx0cyBzdGFuZGFyZFVzZXJEZWZhdWx0c10gc2V0Vm9sYXRp
bGVEb21haW46YXJndW1lbnREb21haW4uZ2V0KCkgZm9yTmFtZTpOU0FyZ3VtZW50RG9tYWluXTsK
KyAgICBbZGVmYXVsdHMgc2V0Vm9sYXRpbGVEb21haW46YXJndW1lbnREb21haW4uZ2V0KCkgZm9y
TmFtZTpOU0FyZ3VtZW50RG9tYWluXTsKIAogICAgIFtbTlNEaXN0cmlidXRlZE5vdGlmaWNhdGlv
bkNlbnRlciBkZWZhdWx0Q2VudGVyXSBwb3N0Tm90aWZpY2F0aW9uTmFtZTpAIkFwcGxlTGFuZ3Vh
Z2VQcmVmZXJlbmNlc0NoYW5nZWROb3RpZmljYXRpb24iIG9iamVjdDpuaWwgdXNlckluZm86bmls
IG9wdGlvbnM6TlNOb3RpZmljYXRpb25EZWxpdmVySW1tZWRpYXRlbHldOwogCmRpZmYgLS1naXQg
YS9Ub29scy9UZXN0V2ViS2l0QVBJL2lvcy9tYWluSU9TLm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQ
SS9pb3MvbWFpbklPUy5tbQppbmRleCBjYjhjMGM1NWU3Ni4uOGYzYWRmMjBmNWEgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvaW9zL21haW5JT1MubW0KKysrIGIvVG9vbHMvVGVzdFdl
YktpdEFQSS9pb3MvbWFpbklPUy5tbQpAQCAtMzAsMTAgKzMwLDExIEBAIGludCBtYWluKGludCBh
cmdjLCBjaGFyKiogYXJndikKIHsKICAgICBOU0F1dG9yZWxlYXNlUG9vbCAqcG9vbCA9IFtbTlNB
dXRvcmVsZWFzZVBvb2wgYWxsb2NdIGluaXRdOwogCi0gICAgW1tOU1VzZXJEZWZhdWx0cyBzdGFu
ZGFyZFVzZXJEZWZhdWx0c10gcmVtb3ZlUGVyc2lzdGVudERvbWFpbkZvck5hbWU6QCJUZXN0V2Vi
S2l0QVBJIl07CisgICAgTlNVc2VyRGVmYXVsdHMgKmRlZmF1bHRzID0gW05TVXNlckRlZmF1bHRz
IHN0YW5kYXJkVXNlckRlZmF1bHRzXTsKKyAgICBbZGVmYXVsdHMgcmVtb3ZlUGVyc2lzdGVudERv
bWFpbkZvck5hbWU6QCJUZXN0V2ViS2l0QVBJIl07CiAKICAgICAvLyBTZXQgdXAgdXNlciBkZWZh
dWx0cy4KLSAgICBOU011dGFibGVEaWN0aW9uYXJ5ICphcmd1bWVudERvbWFpbiA9IFtbW05TVXNl
ckRlZmF1bHRzIHN0YW5kYXJkVXNlckRlZmF1bHRzXSB2b2xhdGlsZURvbWFpbkZvck5hbWU6TlNB
cmd1bWVudERvbWFpbl0gbXV0YWJsZUNvcHldOworICAgIE5TTXV0YWJsZURpY3Rpb25hcnkgKmFy
Z3VtZW50RG9tYWluID0gW1tkZWZhdWx0cyB2b2xhdGlsZURvbWFpbkZvck5hbWU6TlNBcmd1bWVu
dERvbWFpbl0gbXV0YWJsZUNvcHldOwogICAgIGlmICghYXJndW1lbnREb21haW4pCiAgICAgICAg
IGFyZ3VtZW50RG9tYWluID0gW1tOU011dGFibGVEaWN0aW9uYXJ5IGFsbG9jXSBpbml0XTsKICAg
ICAKQEAgLTQyLDcgKzQzLDcgQEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIqKiBhcmd2KQogICAg
ICAgICAgICAgICAgICAgICAgICAgICBuaWxdOwogCiAgICAgW2FyZ3VtZW50RG9tYWluIGFkZEVu
dHJpZXNGcm9tRGljdGlvbmFyeTpkaWN0XTsKLSAgICBbW05TVXNlckRlZmF1bHRzIHN0YW5kYXJk
VXNlckRlZmF1bHRzXSBzZXRWb2xhdGlsZURvbWFpbjphcmd1bWVudERvbWFpbiBmb3JOYW1lOk5T
QXJndW1lbnREb21haW5dOworICAgIFtkZWZhdWx0cyBzZXRWb2xhdGlsZURvbWFpbjphcmd1bWVu
dERvbWFpbiBmb3JOYW1lOk5TQXJndW1lbnREb21haW5dOwogCiAgICAgYm9vbCBwYXNzZWQgPSBU
ZXN0V2ViS2l0QVBJOjpUZXN0c0NvbnRyb2xsZXI6OnNpbmdsZXRvbigpLnJ1bihhcmdjLCBhcmd2
KTsKIApkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9tYWMvSW5qZWN0ZWRCdW5kbGVD
b250cm9sbGVyTWFjLm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9tYWMvSW5qZWN0ZWRCdW5kbGVD
b250cm9sbGVyTWFjLm1tCmluZGV4IDdiMmJkN2Y5NjY2Li5mNjFjOWVjYTJkYiAxMDA2NDQKLS0t
IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9tYWMvSW5qZWN0ZWRCdW5kbGVDb250cm9sbGVyTWFjLm1t
CisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvbWFjL0luamVjdGVkQnVuZGxlQ29udHJvbGxlck1h
Yy5tbQpAQCAtMzMsNyArMzMsOCBAQCBuYW1lc3BhY2UgVGVzdFdlYktpdEFQSSB7CiB2b2lkIElu
amVjdGVkQnVuZGxlQ29udHJvbGxlcjo6cGxhdGZvcm1Jbml0aWFsaXplKCkKIHsKICAgICAvLyBT
ZXQgdXAgdXNlciBkZWZhdWx0cy4KLSAgICBOU011dGFibGVEaWN0aW9uYXJ5ICphcmd1bWVudERv
bWFpbiA9IFtbW05TVXNlckRlZmF1bHRzIHN0YW5kYXJkVXNlckRlZmF1bHRzXSB2b2xhdGlsZURv
bWFpbkZvck5hbWU6TlNBcmd1bWVudERvbWFpbl0gbXV0YWJsZUNvcHldOworICAgIE5TVXNlckRl
ZmF1bHRzICpkZWZhdWx0cyA9IFtOU1VzZXJEZWZhdWx0cyBzdGFuZGFyZFVzZXJEZWZhdWx0c107
CisgICAgTlNNdXRhYmxlRGljdGlvbmFyeSAqYXJndW1lbnREb21haW4gPSBbW2RlZmF1bHRzIHZv
bGF0aWxlRG9tYWluRm9yTmFtZTpOU0FyZ3VtZW50RG9tYWluXSBtdXRhYmxlQ29weV07CiAgICAg
aWYgKCFhcmd1bWVudERvbWFpbikKICAgICAgICAgYXJndW1lbnREb21haW4gPSBbW05TTXV0YWJs
ZURpY3Rpb25hcnkgYWxsb2NdIGluaXRdOwogICAgIApAQCAtNDYsNyArNDcsNyBAQCB2b2lkIElu
amVjdGVkQnVuZGxlQ29udHJvbGxlcjo6cGxhdGZvcm1Jbml0aWFsaXplKCkKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgbmlsXTsKIAogICAgIFthcmd1bWVudERvbWFpbiBhZGRFbnRyaWVzRnJv
bURpY3Rpb25hcnk6ZGljdF07Ci0gICAgW1tOU1VzZXJEZWZhdWx0cyBzdGFuZGFyZFVzZXJEZWZh
dWx0c10gc2V0Vm9sYXRpbGVEb21haW46YXJndW1lbnREb21haW4gZm9yTmFtZTpOU0FyZ3VtZW50
RG9tYWluXTsKKyAgICBbZGVmYXVsdHMgc2V0Vm9sYXRpbGVEb21haW46YXJndW1lbnREb21haW4g
Zm9yTmFtZTpOU0FyZ3VtZW50RG9tYWluXTsKIAogICAgIFthcmd1bWVudERvbWFpbiByZWxlYXNl
XTsKIH0KZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvbWFjL21haW5NYWMubW0gYi9U
b29scy9UZXN0V2ViS2l0QVBJL21hYy9tYWluTWFjLm1tCmluZGV4IGQzMTJjNjdlNTc2Li42ZjRk
YTAwYzhjOCAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9tYWMvbWFpbk1hYy5tbQor
KysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL21hYy9tYWluTWFjLm1tCkBAIC0zMiwxMCArMzIsMTEg
QEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIqKiBhcmd2KQogewogICAgIE5TQXV0b3JlbGVhc2VQ
b29sICpwb29sID0gW1tOU0F1dG9yZWxlYXNlUG9vbCBhbGxvY10gaW5pdF07CiAKLSAgICBbW05T
VXNlckRlZmF1bHRzIHN0YW5kYXJkVXNlckRlZmF1bHRzXSByZW1vdmVQZXJzaXN0ZW50RG9tYWlu
Rm9yTmFtZTpAIlRlc3RXZWJLaXRBUEkiXTsKKyAgICBOU1VzZXJEZWZhdWx0cyAqZGVmYXVsdHMg
PSBbTlNVc2VyRGVmYXVsdHMgc3RhbmRhcmRVc2VyRGVmYXVsdHNdOworICAgIFtkZWZhdWx0cyBy
ZW1vdmVQZXJzaXN0ZW50RG9tYWluRm9yTmFtZTpAIlRlc3RXZWJLaXRBUEkiXTsKIAogICAgIC8v
IFNldCBhIHVzZXIgZGVmYXVsdCBmb3IgVGVzdFdlYktpdEFQSSB0byBieXBhc3MgYWxsIGxpbmtl
ZC1vbi1vci1hZnRlciBjaGVja3MgaW4gV2ViS2l0Ci0gICAgTlNNdXRhYmxlRGljdGlvbmFyeSAq
YXJndW1lbnREb21haW4gPSBbW1tOU1VzZXJEZWZhdWx0cyBzdGFuZGFyZFVzZXJEZWZhdWx0c10g
dm9sYXRpbGVEb21haW5Gb3JOYW1lOk5TQXJndW1lbnREb21haW5dIG11dGFibGVDb3B5XTsKKyAg
ICBOU011dGFibGVEaWN0aW9uYXJ5ICphcmd1bWVudERvbWFpbiA9IFtbZGVmYXVsdHMgdm9sYXRp
bGVEb21haW5Gb3JOYW1lOk5TQXJndW1lbnREb21haW5dIG11dGFibGVDb3B5XTsKICAgICBpZiAo
IWFyZ3VtZW50RG9tYWluKQogICAgICAgICBhcmd1bWVudERvbWFpbiA9IFtbTlNNdXRhYmxlRGlj
dGlvbmFyeSBhbGxvY10gaW5pdF07CiAgICAgCkBAIC00NCw3ICs0NSw3IEBAIGludCBtYWluKGlu
dCBhcmdjLCBjaGFyKiogYXJndikKICAgICAgICAgICAgICAgICAgICAgICAgICAgbmlsXTsKIAog
ICAgIFthcmd1bWVudERvbWFpbiBhZGRFbnRyaWVzRnJvbURpY3Rpb25hcnk6ZGljdF07Ci0gICAg
W1tOU1VzZXJEZWZhdWx0cyBzdGFuZGFyZFVzZXJEZWZhdWx0c10gc2V0Vm9sYXRpbGVEb21haW46
YXJndW1lbnREb21haW4gZm9yTmFtZTpOU0FyZ3VtZW50RG9tYWluXTsKKyAgICBbZGVmYXVsdHMg
c2V0Vm9sYXRpbGVEb21haW46YXJndW1lbnREb21haW4gZm9yTmFtZTpOU0FyZ3VtZW50RG9tYWlu
XTsKIAogICAgIFtOU0FwcGxpY2F0aW9uIHNoYXJlZEFwcGxpY2F0aW9uXTsKICAgICBfQmVnaW5F
dmVudFJlY2VpcHRPblRocmVhZCgpOyAvLyBNYWtlcyB3aW5kb3cgdmlzaWJpbGl0eSBub3RpZmlj
YXRpb25zIHdvcmsgKGFuZCBwb3NzaWJseSBtb3JlKS4KZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktp
dExhdW5jaGVyL21haW4ubSBiL1Rvb2xzL1dlYktpdExhdW5jaGVyL21haW4ubQppbmRleCA0MzE1
NWZkNjRjYy4uMjVkNzdmMmU0MWIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdExhdW5jaGVyL21h
aW4ubQorKysgYi9Ub29scy9XZWJLaXRMYXVuY2hlci9tYWluLm0KQEAgLTU2LDE0ICs1NiwxNiBA
QCBzdGF0aWMgdm9pZCBkaXNwbGF5RXJyb3JBbmRRdWl0KE5TU3RyaW5nICp0aXRsZSwgTlNTdHJp
bmcgKm1lc3NhZ2UpCiAKIHN0YXRpYyBpbnQgZ2V0TGFzdFZlcnNpb25TaG93bigpCiB7Ci0gICAg
W1tOU1VzZXJEZWZhdWx0cyBzdGFuZGFyZFVzZXJEZWZhdWx0c10gcmVnaXN0ZXJEZWZhdWx0czpb
TlNEaWN0aW9uYXJ5IGRpY3Rpb25hcnlXaXRoT2JqZWN0OkAiLTEiIGZvcktleTpAIlN0YXJ0UGFn
ZVNob3duSW5WZXJzaW9uIl1dOwotICAgIHJldHVybiBbW05TVXNlckRlZmF1bHRzIHN0YW5kYXJk
VXNlckRlZmF1bHRzXSBpbnRlZ2VyRm9yS2V5OkAiU3RhcnRQYWdlU2hvd25JblZlcnNpb24iXTsK
KyAgICBOU1VzZXJEZWZhdWx0cyAqZGVmYXVsdHMgPSBbTlNVc2VyRGVmYXVsdHMgc3RhbmRhcmRV
c2VyRGVmYXVsdHNdOworICAgIFtkZWZhdWx0cyByZWdpc3RlckRlZmF1bHRzOltOU0RpY3Rpb25h
cnkgZGljdGlvbmFyeVdpdGhPYmplY3Q6QCItMSIgZm9yS2V5OkAiU3RhcnRQYWdlU2hvd25JblZl
cnNpb24iXV07CisgICAgcmV0dXJuIFtkZWZhdWx0cyBpbnRlZ2VyRm9yS2V5OkAiU3RhcnRQYWdl
U2hvd25JblZlcnNpb24iXTsKIH0KIAogc3RhdGljIHZvaWQgc2F2ZUxhc3RWZXJzaW9uU2hvd24o
aW50IGxhc3RWZXJzaW9uKQogewotICAgIFtbTlNVc2VyRGVmYXVsdHMgc3RhbmRhcmRVc2VyRGVm
YXVsdHNdIHNldEludGVnZXI6bGFzdFZlcnNpb24gZm9yS2V5OkAiU3RhcnRQYWdlU2hvd25JblZl
cnNpb24iXTsKLSAgICBbW05TVXNlckRlZmF1bHRzIHN0YW5kYXJkVXNlckRlZmF1bHRzXSBzeW5j
aHJvbml6ZV07CisgICAgTlNVc2VyRGVmYXVsdHMgKmRlZmF1bHRzID0gW05TVXNlckRlZmF1bHRz
IHN0YW5kYXJkVXNlckRlZmF1bHRzXTsKKyAgICBbZGVmYXVsdHMgc2V0SW50ZWdlcjpsYXN0VmVy
c2lvbiBmb3JLZXk6QCJTdGFydFBhZ2VTaG93bkluVmVyc2lvbiJdOworICAgIFtkZWZhdWx0cyBz
eW5jaHJvbml6ZV07CiB9CiAKIHN0YXRpYyBOU1N0cmluZyAqZ2V0UGF0aEZvclN0YXJ0UGFnZSgp
CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL21hYy9J
bmplY3RlZEJ1bmRsZU1hYy5tbSBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5k
bGUvbWFjL0luamVjdGVkQnVuZGxlTWFjLm1tCmluZGV4IDUwYjFiMTNkNzY1Li41YWY5ZWI2NDk5
YiAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9tYWMv
SW5qZWN0ZWRCdW5kbGVNYWMubW0KKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3Rl
ZEJ1bmRsZS9tYWMvSW5qZWN0ZWRCdW5kbGVNYWMubW0KQEAgLTQzLDcgKzQzLDggQEAgdm9pZCBJ
bmplY3RlZEJ1bmRsZTo6cGxhdGZvcm1Jbml0aWFsaXplKFdLVHlwZVJlZiBpbml0aWFsaXphdGlv
blVzZXJEYXRhKQogICAgIHNldGVudigiWFRZUEVfQUxMT1dfQVVUT0FDVElWQVRJT04iLCAiMSIs
IDApOwogCiAgICAgLy8gTGFuZ3VhZ2Ugd2FzIHNldCB1cCBlYXJsaWVyIGluIG1haW4oKS4gRG9u
J3QgY2xvYmJlciBpdC4KLSAgICBOU0FycmF5ICpsYW5ndWFnZXMgPSBbW1tOU1VzZXJEZWZhdWx0
cyBzdGFuZGFyZFVzZXJEZWZhdWx0c10gdm9sYXRpbGVEb21haW5Gb3JOYW1lOk5TQXJndW1lbnRE
b21haW5dIHZhbHVlRm9yS2V5OkAiQXBwbGVMYW5ndWFnZXMiXTsKKyAgICBOU1VzZXJEZWZhdWx0
cyAqZGVmYXVsdHMgPSBbTlNVc2VyRGVmYXVsdHMgc3RhbmRhcmRVc2VyRGVmYXVsdHNdOworICAg
IE5TQXJyYXkgKmxhbmd1YWdlcyA9IFtbZGVmYXVsdHMgdm9sYXRpbGVEb21haW5Gb3JOYW1lOk5T
QXJndW1lbnREb21haW5dIHZhbHVlRm9yS2V5OkAiQXBwbGVMYW5ndWFnZXMiXTsKICAgICBpZiAo
IWxhbmd1YWdlcykKICAgICAgICAgbGFuZ3VhZ2VzID0gQFsgQCJlbiIgXTsKIApAQCAtNzMsNyAr
NzQsNyBAQCB2b2lkIEluamVjdGVkQnVuZGxlOjpwbGF0Zm9ybUluaXRpYWxpemUoV0tUeXBlUmVm
IGluaXRpYWxpemF0aW9uVXNlckRhdGEpCiAgICAgICAgIEAiY29tLmFwcGxlLnRyYWNrcGFkLmZv
cmNlQ2xpY2siOiBAMSwKICAgICB9OwogCi0gICAgW1tOU1VzZXJEZWZhdWx0cyBzdGFuZGFyZFVz
ZXJEZWZhdWx0c10gc2V0Vm9sYXRpbGVEb21haW46ZGljdCBmb3JOYW1lOk5TQXJndW1lbnREb21h
aW5dOworICAgIFtkZWZhdWx0cyBzZXRWb2xhdGlsZURvbWFpbjpkaWN0IGZvck5hbWU6TlNBcmd1
bWVudERvbWFpbl07CiAKICAgICAvLyBVbmRlcmx5aW5nIGZyYW1ld29ya3MgaGF2ZSBhbHJlYWR5
IHJlYWQgQXBwbGVBbnRpQWxpYXNpbmdUaHJlc2hvbGQgZGVmYXVsdCBiZWZvcmUgd2UgY2hhbmdl
ZCBpdC4KICAgICAvLyBBIGRpc3RyaWJ1dGVkIG5vdGlmaWNhdGlvbiBpcyBkZWxpdmVyZWQgdG8g
YWxsIGFwcGxpY2F0aW9ucywgYnV0IGl0IHNob3VsZCBiZSBoYXJtbGVzcywgYW5kIGl0J3MgdGhl
IG9ubHkgd2F5IHRvIHVwZGF0ZSBhbGwgdW5kZXJseWluZyBmcmFtZXdvcmtzIGFueXdheS4KZGlm
ZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvY29jb2EvVGVzdENvbnRyb2xsZXJDb2Nv
YS5tbSBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvY29jb2EvVGVzdENvbnRyb2xsZXJDb2NvYS5t
bQppbmRleCA0MDg3NzM1YmEyNS4uNzlhMTU4ZTNkNzEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktp
dFRlc3RSdW5uZXIvY29jb2EvVGVzdENvbnRyb2xsZXJDb2NvYS5tbQorKysgYi9Ub29scy9XZWJL
aXRUZXN0UnVubmVyL2NvY29hL1Rlc3RDb250cm9sbGVyQ29jb2EubW0KQEAgLTEyNiw5ICsxMjYs
MTAgQEAgV0tQcmVmZXJlbmNlc1JlZiBUZXN0Q29udHJvbGxlcjo6cGxhdGZvcm1QcmVmZXJlbmNl
cygpCiAKIHZvaWQgVGVzdENvbnRyb2xsZXI6OnBsYXRmb3JtQWRkVGVzdE9wdGlvbnMoVGVzdE9w
dGlvbnMmIG9wdGlvbnMpIGNvbnN0CiB7Ci0gICAgaWYgKFtbTlNVc2VyRGVmYXVsdHMgc3RhbmRh
cmRVc2VyRGVmYXVsdHNdIGJvb2xGb3JLZXk6QCJFbmFibGVQcm9jZXNzU3dhcE9uTmF2aWdhdGlv
biJdKQorICAgIE5TVXNlckRlZmF1bHRzICpkZWZhdWx0cyA9IFtOU1VzZXJEZWZhdWx0cyBzdGFu
ZGFyZFVzZXJEZWZhdWx0c107CisgICAgaWYgKFtkZWZhdWx0cyBib29sRm9yS2V5OkAiRW5hYmxl
UHJvY2Vzc1N3YXBPbk5hdmlnYXRpb24iXSkKICAgICAgICAgb3B0aW9ucy5jb250ZXh0T3B0aW9u
cy5lbmFibGVQcm9jZXNzU3dhcE9uTmF2aWdhdGlvbiA9IHRydWU7Ci0gICAgaWYgKFtbTlNVc2Vy
RGVmYXVsdHMgc3RhbmRhcmRVc2VyRGVmYXVsdHNdIGJvb2xGb3JLZXk6QCJFbmFibGVQcm9jZXNz
U3dhcE9uV2luZG93T3BlbiJdKQorICAgIGlmIChbZGVmYXVsdHMgYm9vbEZvcktleTpAIkVuYWJs
ZVByb2Nlc3NTd2FwT25XaW5kb3dPcGVuIl0pCiAgICAgICAgIG9wdGlvbnMuY29udGV4dE9wdGlv
bnMuZW5hYmxlUHJvY2Vzc1N3YXBPbldpbmRvd09wZW4gPSB0cnVlOwogfQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>370299</attachid>
            <date>2019-05-20 22:34:09 -0700</date>
            <delta_ts>2019-05-21 10:22:12 -0700</delta_ts>
            <desc>[PATCH] Proposed Fix</desc>
            <filename>dup-2.patch</filename>
            <type>text/plain</type>
            <size>70857</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCAxZGM2ZjFmN2QzZC4uZjI0OTVkZjE2ZmMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNyBAQAorMjAxOS0wNS0yMCAgSm9zZXBoIFBlY29yYXJvICA8cGVjb3Jhcm9AYXBwbGUu
Y29tPgorCisgICAgICAgIFJlbW92ZSB1bm5lY2Vzc2FyeSBkdXBsaWNhdGUgc2VsZWN0b3IgaW52
b2NhdGlvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE5ODA2NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogcGxhdGZvcm0vZ2FtZXBhZC9jb2NvYS9HYW1lQ29udHJvbGxlckdhbWVwYWRQcm92aWRlci5t
bToKKyAgICAgICAgKFdlYkNvcmU6OkdhbWVDb250cm9sbGVyR2FtZXBhZFByb3ZpZGVyOjpzdG9w
TW9uaXRvcmluZ0dhbWVwYWRzKToKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvU2Nyb2xsYmFyVGhl
bWVNYWMubW06CisgICAgICAgICgrW1dlYlNjcm9sbGJhclByZWZzT2JzZXJ2ZXIgcmVnaXN0ZXJB
c09ic2VydmVyXSk6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0FWQ2FwdHVy
ZURldmljZU1hbmFnZXIubW06CisgICAgICAgIChXZWJDb3JlOjpBVkNhcHR1cmVEZXZpY2VNYW5h
Z2VyOjpyZWdpc3RlckZvckRldmljZU5vdGlmaWNhdGlvbnMpOgorCiAyMDE5LTA1LTIwICBSb3Nz
IEtpcnNsaW5nICA8cm9zcy5raXJzbGluZ0Bzb255LmNvbT4KIAogICAgICAgICBNYWtlIGxvc3N5
IExheW91dFVuaXQgY29uc3RydWN0b3JzIGV4cGxpY2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9nYW1lcGFkL2NvY29hL0dhbWVDb250cm9sbGVyR2FtZXBhZFByb3ZpZGVy
Lm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2FtZXBhZC9jb2NvYS9HYW1lQ29udHJvbGxl
ckdhbWVwYWRQcm92aWRlci5tbQppbmRleCBmNzIwY2ZkMzM0My4uMjY4NTc3MTZjZjAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dhbWVwYWQvY29jb2EvR2FtZUNvbnRyb2xs
ZXJHYW1lcGFkUHJvdmlkZXIubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2FtZXBh
ZC9jb2NvYS9HYW1lQ29udHJvbGxlckdhbWVwYWRQcm92aWRlci5tbQpAQCAtMTMwLDggKzEzMCw5
IEBAIHZvaWQgR2FtZUNvbnRyb2xsZXJHYW1lcGFkUHJvdmlkZXI6OnN0b3BNb25pdG9yaW5nR2Ft
ZXBhZHMoR2FtZXBhZFByb3ZpZGVyQ2xpZW50CiAgICAgaWYgKCFtX2Nvbm5lY3RPYnNlcnZlciB8
fCAhbV9jbGllbnRzLmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgW1tOU05vdGlm
aWNhdGlvbkNlbnRlciBkZWZhdWx0Q2VudGVyXSByZW1vdmVPYnNlcnZlcjptX2Nvbm5lY3RPYnNl
cnZlci5nZXQoKV07Ci0gICAgW1tOU05vdGlmaWNhdGlvbkNlbnRlciBkZWZhdWx0Q2VudGVyXSBy
ZW1vdmVPYnNlcnZlcjptX2Rpc2Nvbm5lY3RPYnNlcnZlci5nZXQoKV07CisgICAgTlNOb3RpZmlj
YXRpb25DZW50ZXIgKmNlbnRlciA9IFtOU05vdGlmaWNhdGlvbkNlbnRlciBkZWZhdWx0Q2VudGVy
XTsKKyAgICBbY2VudGVyIHJlbW92ZU9ic2VydmVyOm1fY29ubmVjdE9ic2VydmVyLmdldCgpXTsK
KyAgICBbY2VudGVyIHJlbW92ZU9ic2VydmVyOm1fZGlzY29ubmVjdE9ic2VydmVyLmdldCgpXTsK
IH0KIAogdW5zaWduZWQgR2FtZUNvbnRyb2xsZXJHYW1lcGFkUHJvdmlkZXI6OmluZGV4Rm9yTmV3
bHlDb25uZWN0ZWREZXZpY2UoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bWFjL1Njcm9sbGJhclRoZW1lTWFjLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Nj
cm9sbGJhclRoZW1lTWFjLm1tCmluZGV4IGI1ZDkyNmExYjU3Li45YTdhM2NiNzVhYSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbGJhclRoZW1lTWFjLm1tCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TY3JvbGxiYXJUaGVtZU1hYy5tbQpAQCAt
MTEyLDggKzExMiw5IEBAICsgKHZvaWQpYmVoYXZpb3JQcmVmc0NoYW5nZWQ6KE5TTm90aWZpY2F0
aW9uICopdW51c2VkTm90aWZpY2F0aW9uCiAKICsgKHZvaWQpcmVnaXN0ZXJBc09ic2VydmVyCiB7
Ci0gICAgW1tOU0Rpc3RyaWJ1dGVkTm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJdIGFk
ZE9ic2VydmVyOnNlbGYgc2VsZWN0b3I6QHNlbGVjdG9yKGFwcGVhcmFuY2VQcmVmc0NoYW5nZWQ6
KSBuYW1lOkAiQXBwbGVBcXVhU2Nyb2xsQmFyVmFyaWFudENoYW5nZWQiIG9iamVjdDpuaWwgc3Vz
cGVuc2lvbkJlaGF2aW9yOk5TTm90aWZpY2F0aW9uU3VzcGVuc2lvbkJlaGF2aW9yRGVsaXZlcklt
bWVkaWF0ZWx5XTsKLSAgICBbW05TRGlzdHJpYnV0ZWROb3RpZmljYXRpb25DZW50ZXIgZGVmYXVs
dENlbnRlcl0gYWRkT2JzZXJ2ZXI6c2VsZiBzZWxlY3RvcjpAc2VsZWN0b3IoYmVoYXZpb3JQcmVm
c0NoYW5nZWQ6KSBuYW1lOkAiQXBwbGVOb1JlZGlzcGxheUFwcGVhcmFuY2VQcmVmZXJlbmNlQ2hh
bmdlZCIgb2JqZWN0Om5pbCBzdXNwZW5zaW9uQmVoYXZpb3I6TlNOb3RpZmljYXRpb25TdXNwZW5z
aW9uQmVoYXZpb3JDb2FsZXNjZV07CisgICAgTlNEaXN0cmlidXRlZE5vdGlmaWNhdGlvbkNlbnRl
ciAqZGlzdHJpYnV0ZWRDZW50ZXIgPSBbTlNEaXN0cmlidXRlZE5vdGlmaWNhdGlvbkNlbnRlciBk
ZWZhdWx0Q2VudGVyXTsKKyAgICBbZGlzdHJpYnV0ZWRDZW50ZXIgYWRkT2JzZXJ2ZXI6c2VsZiBz
ZWxlY3RvcjpAc2VsZWN0b3IoYXBwZWFyYW5jZVByZWZzQ2hhbmdlZDopIG5hbWU6QCJBcHBsZUFx
dWFTY3JvbGxCYXJWYXJpYW50Q2hhbmdlZCIgb2JqZWN0Om5pbCBzdXNwZW5zaW9uQmVoYXZpb3I6
TlNOb3RpZmljYXRpb25TdXNwZW5zaW9uQmVoYXZpb3JEZWxpdmVySW1tZWRpYXRlbHldOworICAg
IFtkaXN0cmlidXRlZENlbnRlciBhZGRPYnNlcnZlcjpzZWxmIHNlbGVjdG9yOkBzZWxlY3Rvcihi
ZWhhdmlvclByZWZzQ2hhbmdlZDopIG5hbWU6QCJBcHBsZU5vUmVkaXNwbGF5QXBwZWFyYW5jZVBy
ZWZlcmVuY2VDaGFuZ2VkIiBvYmplY3Q6bmlsIHN1c3BlbnNpb25CZWhhdmlvcjpOU05vdGlmaWNh
dGlvblN1c3BlbnNpb25CZWhhdmlvckNvYWxlc2NlXTsKICAgICBbW05TTm90aWZpY2F0aW9uQ2Vu
dGVyIGRlZmF1bHRDZW50ZXJdIGFkZE9ic2VydmVyOnNlbGYgc2VsZWN0b3I6QHNlbGVjdG9yKGJl
aGF2aW9yUHJlZnNDaGFuZ2VkOikgbmFtZTpOU1ByZWZlcnJlZFNjcm9sbGVyU3R5bGVEaWRDaGFu
Z2VOb3RpZmljYXRpb24gb2JqZWN0Om5pbF07CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9BVkNhcHR1cmVEZXZpY2VNYW5hZ2VyLm1tIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0FWQ2FwdHVyZURldmljZU1h
bmFnZXIubW0KaW5kZXggMWM0MmUyMGQ5M2IuLjFjZGU2ODU0YjgxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQVZDYXB0dXJlRGV2aWNlTWFuYWdl
ci5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQVZDYXB0
dXJlRGV2aWNlTWFuYWdlci5tbQpAQCAtMTg0LDggKzE4NCw5IEBAIEFWQ2FwdHVyZURldmljZU1h
bmFnZXI6On5BVkNhcHR1cmVEZXZpY2VNYW5hZ2VyKCkKIAogdm9pZCBBVkNhcHR1cmVEZXZpY2VN
YW5hZ2VyOjpyZWdpc3RlckZvckRldmljZU5vdGlmaWNhdGlvbnMoKQogewotICAgIFtbTlNOb3Rp
ZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl0gYWRkT2JzZXJ2ZXI6bV9vYmpjT2JzZXJ2ZXIu
Z2V0KCkgc2VsZWN0b3I6QHNlbGVjdG9yKGRldmljZUNvbm5lY3RlZERpZENoYW5nZTopIG5hbWU6
QVZDYXB0dXJlRGV2aWNlV2FzQ29ubmVjdGVkTm90aWZpY2F0aW9uIG9iamVjdDpuaWxdOwotICAg
IFtbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl0gYWRkT2JzZXJ2ZXI6bV9vYmpj
T2JzZXJ2ZXIuZ2V0KCkgc2VsZWN0b3I6QHNlbGVjdG9yKGRldmljZUNvbm5lY3RlZERpZENoYW5n
ZTopIG5hbWU6QVZDYXB0dXJlRGV2aWNlV2FzRGlzY29ubmVjdGVkTm90aWZpY2F0aW9uIG9iamVj
dDpuaWxdOworICAgIE5TTm90aWZpY2F0aW9uQ2VudGVyICpjZW50ZXIgPSBbTlNOb3RpZmljYXRp
b25DZW50ZXIgZGVmYXVsdENlbnRlcl07CisgICAgW2NlbnRlciBhZGRPYnNlcnZlcjptX29iamNP
YnNlcnZlci5nZXQoKSBzZWxlY3RvcjpAc2VsZWN0b3IoZGV2aWNlQ29ubmVjdGVkRGlkQ2hhbmdl
OikgbmFtZTpBVkNhcHR1cmVEZXZpY2VXYXNDb25uZWN0ZWROb3RpZmljYXRpb24gb2JqZWN0Om5p
bF07CisgICAgW2NlbnRlciBhZGRPYnNlcnZlcjptX29iamNPYnNlcnZlci5nZXQoKSBzZWxlY3Rv
cjpAc2VsZWN0b3IoZGV2aWNlQ29ubmVjdGVkRGlkQ2hhbmdlOikgbmFtZTpBVkNhcHR1cmVEZXZp
Y2VXYXNEaXNjb25uZWN0ZWROb3RpZmljYXRpb24gb2JqZWN0Om5pbF07CiB9CiAKIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggNmI1ZGE4ZDY2NTcuLjU2Yzk1ZjMyZGVmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDE5LTA1LTIwICBKb3NlcGggUGVjb3Jhcm8gIDxwZWNv
cmFyb0BhcHBsZS5jb20+CisKKyAgICAgICAgUmVtb3ZlIHVubmVjZXNzYXJ5IGR1cGxpY2F0ZSBz
ZWxlY3RvciBpbnZvY2F0aW9ucworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTk4MDY2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiBQbHVnaW5Qcm9jZXNzL21hYy9QbHVnaW5Qcm9jZXNzTWFjLm1tOgorICAg
ICAgICAoV2ViS2l0Ojppbml0aWFsaXplQ29jb2FPdmVycmlkZXMpOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9BcHBsaWNhdGlvblN0YXRlVHJhY2tlci5tbToKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29j
b2EvRG93bmxvYWRQcm94eU1hcENvY29hLm1tOgorICAgICAgICAoV2ViS2l0OjpEb3dubG9hZFBy
b3h5TWFwOjpwbGF0Zm9ybUNyZWF0ZSk6CisgICAgICAgIChXZWJLaXQ6OkRvd25sb2FkUHJveHlN
YXA6OnBsYXRmb3JtRGVzdHJveSk6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nl
c3NQb29sQ29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjpwbGF0Zm9y
bUluaXRpYWxpemVXZWJQcm9jZXNzKToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Bvb2w6
OnJlZ2lzdGVyTm90aWZpY2F0aW9uT2JzZXJ2ZXJzKToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJv
Y2Vzc1Bvb2w6OnVucmVnaXN0ZXJOb3RpZmljYXRpb25PYnNlcnZlcnMpOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1wbC5tbToKKyAgICAgICAgKC1bV0tXaW5kb3dWaXNpYmls
aXR5T2JzZXJ2ZXIgc3RhcnRPYnNlcnZpbmc6XSk6CisgICAgICAgICgtW1dLV2luZG93VmlzaWJp
bGl0eU9ic2VydmVyIHN0b3BPYnNlcnZpbmc6XSk6CisgICAgICAgIChXZWJLaXQ6OldlYlZpZXdJ
bXBsOjp1cGRhdGVUZXh0VG91Y2hCYXIpOgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvUHJvY2Vz
c0Fzc2VydGlvbklPUy5tbToKKyAgICAgICAgKC1bV0tQcm9jZXNzQXNzZXJ0aW9uQmFja2dyb3Vu
ZFRhc2tNYW5hZ2VyIGluaXRdKToKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1dLQ29udGVudFZp
ZXcubW06CisgICAgICAgICgtW1dLQ29udGVudFZpZXcgX2NvbW1vbkluaXRpYWxpemF0aW9uV2l0
aFByb2Nlc3NQb29sOmNvbmZpZ3VyYXRpb246XSk6CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9m
b3Jtcy9XS0RhdGVQaWNrZXJWaWV3Q29udHJvbGxlci5tbToKKyAgICAgICAgKC1bV0tEYXRlUGlj
a2VyVmlld0NvbnRyb2xsZXIgdmlld1dpbGxBcHBlYXI6XSk6CisgICAgICAgICogVUlQcm9jZXNz
L21hYy9UZXh0Q2hlY2tlck1hYy5tbToKKyAgICAgICAgKFdlYktpdDo6bXV0YWJsZVN0YXRlKToK
KyAgICAgICAgKFdlYktpdDo6VGV4dENoZWNrZXI6OnNldFRlc3RpbmdNb2RlKToKKyAgICAgICAg
KFdlYktpdDo6VGV4dENoZWNrZXI6OmlzQ29udGludW91c1NwZWxsQ2hlY2tpbmdBbGxvd2VkKToK
KyAgICAgICAgKiBVSVByb2Nlc3MvbWFjL1dlYkluc3BlY3RvclByb3h5TWFjLm1tOgorICAgICAg
ICAoV2ViS2l0OjpXZWJJbnNwZWN0b3JQcm94eTo6YXR0YWNobWVudFZpZXdEaWRDaGFuZ2UpOgor
CiAyMDE5LTA1LTIwICBSb3NzIEtpcnNsaW5nICA8cm9zcy5raXJzbGluZ0Bzb255LmNvbT4KIAog
ICAgICAgICBNYWtlIGxvc3N5IExheW91dFVuaXQgY29uc3RydWN0b3JzIGV4cGxpY2l0CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1BsdWdpblByb2Nlc3MvbWFjL1BsdWdpblByb2Nlc3NNYWMu
bW0gYi9Tb3VyY2UvV2ViS2l0L1BsdWdpblByb2Nlc3MvbWFjL1BsdWdpblByb2Nlc3NNYWMubW0K
aW5kZXggYmQzYWIwODBiY2MuLjdjYTA0ODU5YzM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1BsdWdpblByb2Nlc3MvbWFjL1BsdWdpblByb2Nlc3NNYWMubW0KKysrIGIvU291cmNlL1dlYktp
dC9QbHVnaW5Qcm9jZXNzL21hYy9QbHVnaW5Qcm9jZXNzTWFjLm1tCkBAIC0zMTcsMTUgKzMxNywx
NSBAQCBzdGF0aWMgdm9pZCBpbml0aWFsaXplQ29jb2FPdmVycmlkZXMoKQogICAgIE1ldGhvZCBy
dW5Nb2RhbEZvcldpbmRvd01ldGhvZCA9IGNsYXNzX2dldEluc3RhbmNlTWV0aG9kKG9iamNfZ2V0
Q2xhc3MoIk5TQXBwbGljYXRpb24iKSwgQHNlbGVjdG9yKHJ1bk1vZGFsRm9yV2luZG93OikpOwog
ICAgIE5TQXBwbGljYXRpb25fUnVuTW9kYWxGb3JXaW5kb3cgPSBtZXRob2Rfc2V0SW1wbGVtZW50
YXRpb24ocnVuTW9kYWxGb3JXaW5kb3dNZXRob2QsIHJlaW50ZXJwcmV0X2Nhc3Q8SU1QPihyZXBs
YWNlZFJ1bk1vZGFsRm9yV2luZG93KSk7CiAKLSAgICBOU05vdGlmaWNhdGlvbkNlbnRlciAqZGVm
YXVsdENlbnRlciA9IFtOU05vdGlmaWNhdGlvbkNlbnRlciBkZWZhdWx0Q2VudGVyXTsKKyAgICBO
U05vdGlmaWNhdGlvbkNlbnRlciAqY2VudGVyID0gW05TTm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1
bHRDZW50ZXJdOwogCiAgICAgLy8gVHJhY2sgd2hlbiBhbnkgQ29jb2Egd2luZG93IGlzIGFib3V0
IHRvIGJlIGJlIHNob3duLgotICAgIGlkIG9yZGVyT25TY3JlZW5PYnNlcnZlciA9IFtkZWZhdWx0
Q2VudGVyIGFkZE9ic2VydmVyRm9yTmFtZTpOU1dpbmRvd1dpbGxPcmRlck9uU2NyZWVuTm90aWZp
Y2F0aW9uCisgICAgaWQgb3JkZXJPblNjcmVlbk9ic2VydmVyID0gW2NlbnRlciBhZGRPYnNlcnZl
ckZvck5hbWU6TlNXaW5kb3dXaWxsT3JkZXJPblNjcmVlbk5vdGlmaWNhdGlvbgogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iamVjdDpu
aWwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgcXVldWU6bmlsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHVzaW5nQmxvY2s6XihOU05vdGlmaWNhdGlvbiAqbm90aWZpY2F0
aW9uKSB7IGZ1bGxzY3JlZW5XaW5kb3dUcmFja2VyKCkud2luZG93U2hvd24oW25vdGlmaWNhdGlv
biBvYmplY3RdKTsgfV07CiAgICAgLy8gVHJhY2sgd2hlbiBhbnkgQ29jb2Egd2luZG93IGlzIGFi
b3V0IHRvIGJlIGhpZGRlbi4KLSAgICBpZCBvcmRlck9mZlNjcmVlbk9ic2VydmVyID0gW2RlZmF1
bHRDZW50ZXIgYWRkT2JzZXJ2ZXJGb3JOYW1lOk5TV2luZG93V2lsbE9yZGVyT2ZmU2NyZWVuTm90
aWZpY2F0aW9uCisgICAgaWQgb3JkZXJPZmZTY3JlZW5PYnNlcnZlciA9IFtjZW50ZXIgYWRkT2Jz
ZXJ2ZXJGb3JOYW1lOk5TV2luZG93V2lsbE9yZGVyT2ZmU2NyZWVuTm90aWZpY2F0aW9uCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9i
amVjdDpuaWwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHF1ZXVlOm5pbAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHVzaW5nQmxvY2s6XihOU05vdGlmaWNhdGlvbiAqbm90aWZp
Y2F0aW9uKSB7IGZ1bGxzY3JlZW5XaW5kb3dUcmFja2VyKCkud2luZG93SGlkZGVuKFtub3RpZmlj
YXRpb24gb2JqZWN0XSk7IH1dOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QXBwbGljYXRpb25TdGF0ZVRyYWNrZXIubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BcHBs
aWNhdGlvblN0YXRlVHJhY2tlci5tbQppbmRleCBhMjNkNGJmOGJmMS4uMjBhMDYwNzNiNWIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FwcGxpY2F0aW9uU3RhdGVUcmFja2Vy
Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FwcGxpY2F0aW9uU3RhdGVUcmFja2Vy
Lm1tCkBAIC04OSwxMiArODksMTIgQEAgQXBwbGljYXRpb25TdGF0ZVRyYWNrZXI6OkFwcGxpY2F0
aW9uU3RhdGVUcmFja2VyKFVJVmlldyAqdmlldywgU0VMIGRpZEVudGVyQmFja2cKICAgICBVSVdp
bmRvdyAqd2luZG93ID0gW21fdmlldy5nZXQoKSB3aW5kb3ddOwogICAgIEFTU0VSVCh3aW5kb3cp
OwogCi0gICAgTlNOb3RpZmljYXRpb25DZW50ZXIgKm5vdGlmaWNhdGlvbkNlbnRlciA9IFtOU05v
dGlmaWNhdGlvbkNlbnRlciBkZWZhdWx0Q2VudGVyXTsKKyAgICBOU05vdGlmaWNhdGlvbkNlbnRl
ciAqY2VudGVyID0gW05TTm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJdOwogICAgIFVJ
QXBwbGljYXRpb24gKmFwcGxpY2F0aW9uID0gW1VJQXBwbGljYXRpb24gc2hhcmVkQXBwbGljYXRp
b25dOwogCiAgICAgYXV0byB3ZWFrVGhpcyA9IG1ha2VXZWFrUHRyKCp0aGlzKTsKIAotICAgIG1f
ZGlkRmluaXNoU25hcHNob3R0aW5nQWZ0ZXJFbnRlcmluZ0JhY2tncm91bmRPYnNlcnZlciA9IFtu
b3RpZmljYXRpb25DZW50ZXIgYWRkT2JzZXJ2ZXJGb3JOYW1lOkAiX1VJQXBwbGljYXRpb25EaWRG
aW5pc2hTdXNwZW5zaW9uU25hcHNob3ROb3RpZmljYXRpb24iIG9iamVjdDphcHBsaWNhdGlvbiBx
dWV1ZTpuaWwgdXNpbmdCbG9jazpbd2Vha1RoaXNdKE5TTm90aWZpY2F0aW9uICopIHsKKyAgICBt
X2RpZEZpbmlzaFNuYXBzaG90dGluZ0FmdGVyRW50ZXJpbmdCYWNrZ3JvdW5kT2JzZXJ2ZXIgPSBb
Y2VudGVyIGFkZE9ic2VydmVyRm9yTmFtZTpAIl9VSUFwcGxpY2F0aW9uRGlkRmluaXNoU3VzcGVu
c2lvblNuYXBzaG90Tm90aWZpY2F0aW9uIiBvYmplY3Q6YXBwbGljYXRpb24gcXVldWU6bmlsIHVz
aW5nQmxvY2s6W3dlYWtUaGlzXShOU05vdGlmaWNhdGlvbiAqKSB7CiAgICAgICAgIGF1dG8gYXBw
bGljYXRpb25TdGF0ZVRyYWNrZXIgPSB3ZWFrVGhpcy5nZXQoKTsKICAgICAgICAgaWYgKCFhcHBs
aWNhdGlvblN0YXRlVHJhY2tlcikKICAgICAgICAgICAgIHJldHVybjsKQEAgLTEwNiwxNyArMTA2
LDE3IEBAIEFwcGxpY2F0aW9uU3RhdGVUcmFja2VyOjpBcHBsaWNhdGlvblN0YXRlVHJhY2tlcihV
SVZpZXcgKnZpZXcsIFNFTCBkaWRFbnRlckJhY2tnCiAgICAgICAgIG1faXNJbkJhY2tncm91bmQg
PSBhcHBsaWNhdGlvbi5hcHBsaWNhdGlvblN0YXRlID09IFVJQXBwbGljYXRpb25TdGF0ZUJhY2tn
cm91bmQ7CiAKICNpZiBIQVZFKFVJU0NFTkUpCi0gICAgICAgIG1fZGlkRW50ZXJCYWNrZ3JvdW5k
T2JzZXJ2ZXIgPSBbbm90aWZpY2F0aW9uQ2VudGVyIGFkZE9ic2VydmVyRm9yTmFtZTpVSVNjZW5l
RGlkRW50ZXJCYWNrZ3JvdW5kTm90aWZpY2F0aW9uIG9iamVjdDp3aW5kb3cud2luZG93U2NlbmUg
cXVldWU6bmlsIHVzaW5nQmxvY2s6W3RoaXNdKE5TTm90aWZpY2F0aW9uICopIHsKKyAgICAgICAg
bV9kaWRFbnRlckJhY2tncm91bmRPYnNlcnZlciA9IFtjZW50ZXIgYWRkT2JzZXJ2ZXJGb3JOYW1l
OlVJU2NlbmVEaWRFbnRlckJhY2tncm91bmROb3RpZmljYXRpb24gb2JqZWN0OndpbmRvdy53aW5k
b3dTY2VuZSBxdWV1ZTpuaWwgdXNpbmdCbG9jazpbdGhpc10oTlNOb3RpZmljYXRpb24gKikgewog
I2Vsc2UKLSAgICAgICAgbV9kaWRFbnRlckJhY2tncm91bmRPYnNlcnZlciA9IFtub3RpZmljYXRp
b25DZW50ZXIgYWRkT2JzZXJ2ZXJGb3JOYW1lOlVJQXBwbGljYXRpb25EaWRFbnRlckJhY2tncm91
bmROb3RpZmljYXRpb24gb2JqZWN0OmFwcGxpY2F0aW9uIHF1ZXVlOm5pbCB1c2luZ0Jsb2NrOlt0
aGlzXShOU05vdGlmaWNhdGlvbiAqKSB7CisgICAgICAgIG1fZGlkRW50ZXJCYWNrZ3JvdW5kT2Jz
ZXJ2ZXIgPSBbY2VudGVyIGFkZE9ic2VydmVyRm9yTmFtZTpVSUFwcGxpY2F0aW9uRGlkRW50ZXJC
YWNrZ3JvdW5kTm90aWZpY2F0aW9uIG9iamVjdDphcHBsaWNhdGlvbiBxdWV1ZTpuaWwgdXNpbmdC
bG9jazpbdGhpc10oTlNOb3RpZmljYXRpb24gKikgewogI2VuZGlmCiAgICAgICAgICAgICBhcHBs
aWNhdGlvbkRpZEVudGVyQmFja2dyb3VuZCgpOwogICAgICAgICB9XTsKIAogI2lmIEhBVkUoVUlT
Q0VORSkKLSAgICAgICAgbV93aWxsRW50ZXJGb3JlZ3JvdW5kT2JzZXJ2ZXIgPSBbbm90aWZpY2F0
aW9uQ2VudGVyIGFkZE9ic2VydmVyRm9yTmFtZTpVSVNjZW5lV2lsbEVudGVyRm9yZWdyb3VuZE5v
dGlmaWNhdGlvbiBvYmplY3Q6d2luZG93LndpbmRvd1NjZW5lIHF1ZXVlOm5pbCB1c2luZ0Jsb2Nr
Olt0aGlzXShOU05vdGlmaWNhdGlvbiAqKSB7CisgICAgICAgIG1fd2lsbEVudGVyRm9yZWdyb3Vu
ZE9ic2VydmVyID0gW2NlbnRlciBhZGRPYnNlcnZlckZvck5hbWU6VUlTY2VuZVdpbGxFbnRlckZv
cmVncm91bmROb3RpZmljYXRpb24gb2JqZWN0OndpbmRvdy53aW5kb3dTY2VuZSBxdWV1ZTpuaWwg
dXNpbmdCbG9jazpbdGhpc10oTlNOb3RpZmljYXRpb24gKikgewogI2Vsc2UKLSAgICAgICAgbV93
aWxsRW50ZXJGb3JlZ3JvdW5kT2JzZXJ2ZXIgPSBbbm90aWZpY2F0aW9uQ2VudGVyIGFkZE9ic2Vy
dmVyRm9yTmFtZTpVSUFwcGxpY2F0aW9uV2lsbEVudGVyRm9yZWdyb3VuZE5vdGlmaWNhdGlvbiBv
YmplY3Q6YXBwbGljYXRpb24gcXVldWU6bmlsIHVzaW5nQmxvY2s6W3RoaXNdKE5TTm90aWZpY2F0
aW9uICopIHsKKyAgICAgICAgbV93aWxsRW50ZXJGb3JlZ3JvdW5kT2JzZXJ2ZXIgPSBbY2VudGVy
IGFkZE9ic2VydmVyRm9yTmFtZTpVSUFwcGxpY2F0aW9uV2lsbEVudGVyRm9yZWdyb3VuZE5vdGlm
aWNhdGlvbiBvYmplY3Q6YXBwbGljYXRpb24gcXVldWU6bmlsIHVzaW5nQmxvY2s6W3RoaXNdKE5T
Tm90aWZpY2F0aW9uICopIHsKICNlbmRpZgogICAgICAgICAgICAgYXBwbGljYXRpb25XaWxsRW50
ZXJGb3JlZ3JvdW5kKCk7CiAgICAgICAgIH1dOwpAQCAtMTUwLDEwICsxNTAsMTAgQEAgQXBwbGlj
YXRpb25TdGF0ZVRyYWNrZXI6OkFwcGxpY2F0aW9uU3RhdGVUcmFja2VyKFVJVmlldyAqdmlldywg
U0VMIGRpZEVudGVyQmFja2cKICAgICAgICAgaWYgKFtzZXJ2aWNlVmlld0NvbnRyb2xsZXIuX2hv
c3RBcHBsaWNhdGlvbkJ1bmRsZUlkZW50aWZpZXIgaXNFcXVhbFRvU3RyaW5nOkAiY29tLmFwcGxl
Lmlvcy5TdG9yZUtpdFVJU2VydmljZSJdKQogICAgICAgICAgICAgbV9pc0luQmFja2dyb3VuZCA9
IGZhbHNlOwogCi0gICAgICAgIG1fZGlkRW50ZXJCYWNrZ3JvdW5kT2JzZXJ2ZXIgPSBbbm90aWZp
Y2F0aW9uQ2VudGVyIGFkZE9ic2VydmVyRm9yTmFtZTpAIl9VSVZpZXdTZXJ2aWNlSG9zdERpZEVu
dGVyQmFja2dyb3VuZE5vdGlmaWNhdGlvbiIgb2JqZWN0OnNlcnZpY2VWaWV3Q29udHJvbGxlciBx
dWV1ZTpuaWwgdXNpbmdCbG9jazpbdGhpc10oTlNOb3RpZmljYXRpb24gKikgeworICAgICAgICBt
X2RpZEVudGVyQmFja2dyb3VuZE9ic2VydmVyID0gW2NlbnRlciBhZGRPYnNlcnZlckZvck5hbWU6
QCJfVUlWaWV3U2VydmljZUhvc3REaWRFbnRlckJhY2tncm91bmROb3RpZmljYXRpb24iIG9iamVj
dDpzZXJ2aWNlVmlld0NvbnRyb2xsZXIgcXVldWU6bmlsIHVzaW5nQmxvY2s6W3RoaXNdKE5TTm90
aWZpY2F0aW9uICopIHsKICAgICAgICAgICAgIGFwcGxpY2F0aW9uRGlkRW50ZXJCYWNrZ3JvdW5k
KCk7CiAgICAgICAgIH1dOwotICAgICAgICBtX3dpbGxFbnRlckZvcmVncm91bmRPYnNlcnZlciA9
IFtub3RpZmljYXRpb25DZW50ZXIgYWRkT2JzZXJ2ZXJGb3JOYW1lOkAiX1VJVmlld1NlcnZpY2VI
b3N0V2lsbEVudGVyRm9yZWdyb3VuZE5vdGlmaWNhdGlvbiIgb2JqZWN0OnNlcnZpY2VWaWV3Q29u
dHJvbGxlciBxdWV1ZTpuaWwgdXNpbmdCbG9jazpbdGhpc10oTlNOb3RpZmljYXRpb24gKikgewor
ICAgICAgICBtX3dpbGxFbnRlckZvcmVncm91bmRPYnNlcnZlciA9IFtjZW50ZXIgYWRkT2JzZXJ2
ZXJGb3JOYW1lOkAiX1VJVmlld1NlcnZpY2VIb3N0V2lsbEVudGVyRm9yZWdyb3VuZE5vdGlmaWNh
dGlvbiIgb2JqZWN0OnNlcnZpY2VWaWV3Q29udHJvbGxlciBxdWV1ZTpuaWwgdXNpbmdCbG9jazpb
dGhpc10oTlNOb3RpZmljYXRpb24gKikgewogICAgICAgICAgICAgYXBwbGljYXRpb25XaWxsRW50
ZXJGb3JlZ3JvdW5kKCk7CiAgICAgICAgIH1dOwogCkBAIC0xOTUsMTAgKzE5NSwxMCBAQCBBcHBs
aWNhdGlvblN0YXRlVHJhY2tlcjo6fkFwcGxpY2F0aW9uU3RhdGVUcmFja2VyKCkKICAgICAgICAg
cmV0dXJuOwogICAgIH0KIAotICAgIE5TTm90aWZpY2F0aW9uQ2VudGVyICpub3RpZmljYXRpb25D
ZW50ZXIgPSBbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl07Ci0gICAgW25vdGlm
aWNhdGlvbkNlbnRlciByZW1vdmVPYnNlcnZlcjptX2RpZEVudGVyQmFja2dyb3VuZE9ic2VydmVy
XTsKLSAgICBbbm90aWZpY2F0aW9uQ2VudGVyIHJlbW92ZU9ic2VydmVyOm1fZGlkRmluaXNoU25h
cHNob3R0aW5nQWZ0ZXJFbnRlcmluZ0JhY2tncm91bmRPYnNlcnZlcl07Ci0gICAgW25vdGlmaWNh
dGlvbkNlbnRlciByZW1vdmVPYnNlcnZlcjptX3dpbGxFbnRlckZvcmVncm91bmRPYnNlcnZlcl07
CisgICAgTlNOb3RpZmljYXRpb25DZW50ZXIgKmNlbnRlciA9IFtOU05vdGlmaWNhdGlvbkNlbnRl
ciBkZWZhdWx0Q2VudGVyXTsKKyAgICBbY2VudGVyIHJlbW92ZU9ic2VydmVyOm1fZGlkRW50ZXJC
YWNrZ3JvdW5kT2JzZXJ2ZXJdOworICAgIFtjZW50ZXIgcmVtb3ZlT2JzZXJ2ZXI6bV9kaWRGaW5p
c2hTbmFwc2hvdHRpbmdBZnRlckVudGVyaW5nQmFja2dyb3VuZE9ic2VydmVyXTsKKyAgICBbY2Vu
dGVyIHJlbW92ZU9ic2VydmVyOm1fd2lsbEVudGVyRm9yZWdyb3VuZE9ic2VydmVyXTsKIH0KIAog
dm9pZCBBcHBsaWNhdGlvblN0YXRlVHJhY2tlcjo6YXBwbGljYXRpb25EaWRFbnRlckJhY2tncm91
bmQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvRG93bmxvYWRQ
cm94eU1hcENvY29hLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvRG93bmxvYWRQ
cm94eU1hcENvY29hLm1tCmluZGV4IGFjOTFjZDZiMjE3Li45MDU5ZmFmNTNjNyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvRG93bmxvYWRQcm94eU1hcENvY29hLm1t
CisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL0Rvd25sb2FkUHJveHlNYXBDb2Nv
YS5tbQpAQCAtMzUsMTIgKzM1LDEzIEBAIG5hbWVzcGFjZSBXZWJLaXQgewogdm9pZCBEb3dubG9h
ZFByb3h5TWFwOjpwbGF0Zm9ybUNyZWF0ZSgpCiB7CiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkK
LSAgICBtX2JhY2tncm91bmRPYnNlcnZlciA9IFtbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVs
dENlbnRlcl0gYWRkT2JzZXJ2ZXJGb3JOYW1lOlVJQXBwbGljYXRpb25EaWRFbnRlckJhY2tncm91
bmROb3RpZmljYXRpb24gb2JqZWN0OltVSUFwcGxpY2F0aW9uIHNoYXJlZEFwcGxpY2F0aW9uXSBx
dWV1ZTpuaWwgdXNpbmdCbG9jazptYWtlQmxvY2tQdHIoW3dlYWtUaGlzID0gbWFrZVdlYWtQdHIo
KnRoaXMpXShOU05vdGlmaWNhdGlvbiAqKSB7CisgICAgTlNOb3RpZmljYXRpb25DZW50ZXIgKmNl
bnRlciA9IFtOU05vdGlmaWNhdGlvbkNlbnRlciBkZWZhdWx0Q2VudGVyXTsKKyAgICBtX2JhY2tn
cm91bmRPYnNlcnZlciA9IFtjZW50ZXIgYWRkT2JzZXJ2ZXJGb3JOYW1lOlVJQXBwbGljYXRpb25E
aWRFbnRlckJhY2tncm91bmROb3RpZmljYXRpb24gb2JqZWN0OltVSUFwcGxpY2F0aW9uIHNoYXJl
ZEFwcGxpY2F0aW9uXSBxdWV1ZTpuaWwgdXNpbmdCbG9jazptYWtlQmxvY2tQdHIoW3dlYWtUaGlz
ID0gbWFrZVdlYWtQdHIoKnRoaXMpXShOU05vdGlmaWNhdGlvbiAqKSB7CiAgICAgICAgIGlmICgh
d2Vha1RoaXMpCiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIHdlYWtUaGlzLT5hcHBsaWNh
dGlvbkRpZEVudGVyQmFja2dyb3VuZCgpOwogICAgIH0pLmdldCgpXTsKLSAgICBtX2ZvcmVncm91
bmRPYnNlcnZlciA9IFtbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl0gYWRkT2Jz
ZXJ2ZXJGb3JOYW1lOlVJQXBwbGljYXRpb25XaWxsRW50ZXJGb3JlZ3JvdW5kTm90aWZpY2F0aW9u
IG9iamVjdDpbVUlBcHBsaWNhdGlvbiBzaGFyZWRBcHBsaWNhdGlvbl0gcXVldWU6bmlsIHVzaW5n
QmxvY2s6bWFrZUJsb2NrUHRyKFt3ZWFrVGhpcyA9IG1ha2VXZWFrUHRyKCp0aGlzKV0oTlNOb3Rp
ZmljYXRpb24gKikgeworICAgIG1fZm9yZWdyb3VuZE9ic2VydmVyID0gW2NlbnRlciBhZGRPYnNl
cnZlckZvck5hbWU6VUlBcHBsaWNhdGlvbldpbGxFbnRlckZvcmVncm91bmROb3RpZmljYXRpb24g
b2JqZWN0OltVSUFwcGxpY2F0aW9uIHNoYXJlZEFwcGxpY2F0aW9uXSBxdWV1ZTpuaWwgdXNpbmdC
bG9jazptYWtlQmxvY2tQdHIoW3dlYWtUaGlzID0gbWFrZVdlYWtQdHIoKnRoaXMpXShOU05vdGlm
aWNhdGlvbiAqKSB7CiAgICAgICAgIGlmICghd2Vha1RoaXMpCiAgICAgICAgICAgICByZXR1cm47
CiAgICAgICAgIHdlYWtUaGlzLT5hcHBsaWNhdGlvbldpbGxFbnRlckZvcmVncm91bmQoKTsKQEAg
LTUxLDggKzUyLDkgQEAgdm9pZCBEb3dubG9hZFByb3h5TWFwOjpwbGF0Zm9ybUNyZWF0ZSgpCiB2
b2lkIERvd25sb2FkUHJveHlNYXA6OnBsYXRmb3JtRGVzdHJveSgpCiB7CiAjaWYgUExBVEZPUk0o
SU9TX0ZBTUlMWSkKLSAgICBbW05TTm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJdIHJl
bW92ZU9ic2VydmVyOm1fYmFja2dyb3VuZE9ic2VydmVyLmdldCgpXTsKLSAgICBbW05TTm90aWZp
Y2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJdIHJlbW92ZU9ic2VydmVyOm1fZm9yZWdyb3VuZE9i
c2VydmVyLmdldCgpXTsKKyAgICBOU05vdGlmaWNhdGlvbkNlbnRlciAqY2VudGVyID0gW05TTm90
aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJdOworICAgIFtjZW50ZXIgcmVtb3ZlT2JzZXJ2
ZXI6bV9iYWNrZ3JvdW5kT2JzZXJ2ZXIuZ2V0KCldOworICAgIFtjZW50ZXIgcmVtb3ZlT2JzZXJ2
ZXI6bV9mb3JlZ3JvdW5kT2JzZXJ2ZXIuZ2V0KCldOwogI2VuZGlmCiB9CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW0gYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tCmluZGV4
IDgwNzYzMmZmNTdjLi5jMThmODg4Yjc5YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tCkBAIC0yMzksOCArMjM5LDggQEAg
dm9pZCBXZWJQcm9jZXNzUG9vbDo6cGxhdGZvcm1Jbml0aWFsaXplV2ViUHJvY2VzcyhXZWJQcm9j
ZXNzQ3JlYXRpb25QYXJhbWV0ZXJzJgogI2VuZGlmCiAKICNpZiAhTE9HX0RJU0FCTEVEIHx8ICFS
RUxFQVNFX0xPR19ESVNBQkxFRAotICAgIHBhcmFtZXRlcnMud2ViQ29yZUxvZ2dpbmdDaGFubmVs
cyA9IFtbTlNVc2VyRGVmYXVsdHMgc3RhbmRhcmRVc2VyRGVmYXVsdHNdIHN0cmluZ0ZvcktleTpA
IldlYkNvcmVMb2dnaW5nIl07Ci0gICAgcGFyYW1ldGVycy53ZWJLaXRMb2dnaW5nQ2hhbm5lbHMg
PSBbW05TVXNlckRlZmF1bHRzIHN0YW5kYXJkVXNlckRlZmF1bHRzXSBzdHJpbmdGb3JLZXk6QCJX
ZWJLaXQyTG9nZ2luZyJdOworICAgIHBhcmFtZXRlcnMud2ViQ29yZUxvZ2dpbmdDaGFubmVscyA9
IFtkZWZhdWx0cyBzdHJpbmdGb3JLZXk6QCJXZWJDb3JlTG9nZ2luZyJdOworICAgIHBhcmFtZXRl
cnMud2ViS2l0TG9nZ2luZ0NoYW5uZWxzID0gW2RlZmF1bHRzIHN0cmluZ0ZvcktleTpAIldlYktp
dDJMb2dnaW5nIl07CiAjZW5kaWYKIAogICAgIC8vIEZJWE1FOiBSZW1vdmUgdGhpcyBhbmQgcmVs
YXRlZCBwYXJhbWV0ZXIgd2hlbiA8cmRhcjovL3Byb2JsZW0vMjk0NDgzNjg+IGlzIGZpeGVkLgpA
QCAtNDA2LDI2ICs0MDYsMjcgQEAgdm9pZCBXZWJQcm9jZXNzUG9vbDo6cmVnaXN0ZXJOb3RpZmlj
YXRpb25PYnNlcnZlcnMoKQogewogI2lmICFQTEFURk9STShJT1NfRkFNSUxZKQogICAgIC8vIExp
c3RlbiBmb3IgZW5oYW5jZWQgYWNjZXNzaWJpbGl0eSBjaGFuZ2VzIGFuZCBwcm9wYWdhdGUgdGhl
bSB0byB0aGUgV2ViUHJvY2Vzcy4KLSAgICBtX2VuaGFuY2VkQWNjZXNzaWJpbGl0eU9ic2VydmVy
ID0gW1tOU05vdGlmaWNhdGlvbkNlbnRlciBkZWZhdWx0Q2VudGVyXSBhZGRPYnNlcnZlckZvck5h
bWU6V2ViS2l0QXBwbGljYXRpb25EaWRDaGFuZ2VBY2Nlc3NpYmlsaXR5RW5oYW5jZWRVc2VySW50
ZXJmYWNlTm90aWZpY2F0aW9uIG9iamVjdDpuaWwgcXVldWU6W05TT3BlcmF0aW9uUXVldWUgY3Vy
cmVudFF1ZXVlXSB1c2luZ0Jsb2NrOl4oTlNOb3RpZmljYXRpb24gKm5vdGUpIHsKKyAgICBOU05v
dGlmaWNhdGlvbkNlbnRlciAqY2VudGVyID0gW05TTm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRD
ZW50ZXJdOworICAgIG1fZW5oYW5jZWRBY2Nlc3NpYmlsaXR5T2JzZXJ2ZXIgPSBbY2VudGVyIGFk
ZE9ic2VydmVyRm9yTmFtZTpXZWJLaXRBcHBsaWNhdGlvbkRpZENoYW5nZUFjY2Vzc2liaWxpdHlF
bmhhbmNlZFVzZXJJbnRlcmZhY2VOb3RpZmljYXRpb24gb2JqZWN0Om5pbCBxdWV1ZTpbTlNPcGVy
YXRpb25RdWV1ZSBjdXJyZW50UXVldWVdIHVzaW5nQmxvY2s6XihOU05vdGlmaWNhdGlvbiAqbm90
ZSkgewogICAgICAgICBzZXRFbmhhbmNlZEFjY2Vzc2liaWxpdHkoW1tbbm90ZSB1c2VySW5mb10g
b2JqZWN0Rm9yS2V5OkAiQVhFbmhhbmNlZFVzZXJJbnRlcmZhY2UiXSBib29sVmFsdWVdKTsKICAg
ICB9XTsKIAotICAgIG1fYXV0b21hdGljVGV4dFJlcGxhY2VtZW50Tm90aWZpY2F0aW9uT2JzZXJ2
ZXIgPSBbW05TTm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJdIGFkZE9ic2VydmVyRm9y
TmFtZTpOU1NwZWxsQ2hlY2tlckRpZENoYW5nZUF1dG9tYXRpY1RleHRSZXBsYWNlbWVudE5vdGlm
aWNhdGlvbiBvYmplY3Q6bmlsIHF1ZXVlOltOU09wZXJhdGlvblF1ZXVlIGN1cnJlbnRRdWV1ZV0g
dXNpbmdCbG9jazpeKE5TTm90aWZpY2F0aW9uICpub3RpZmljYXRpb24pIHsKKyAgICBtX2F1dG9t
YXRpY1RleHRSZXBsYWNlbWVudE5vdGlmaWNhdGlvbk9ic2VydmVyID0gW2NlbnRlciBhZGRPYnNl
cnZlckZvck5hbWU6TlNTcGVsbENoZWNrZXJEaWRDaGFuZ2VBdXRvbWF0aWNUZXh0UmVwbGFjZW1l
bnROb3RpZmljYXRpb24gb2JqZWN0Om5pbCBxdWV1ZTpbTlNPcGVyYXRpb25RdWV1ZSBjdXJyZW50
UXVldWVdIHVzaW5nQmxvY2s6XihOU05vdGlmaWNhdGlvbiAqbm90aWZpY2F0aW9uKSB7CiAgICAg
ICAgIFRleHRDaGVja2VyOjpkaWRDaGFuZ2VBdXRvbWF0aWNUZXh0UmVwbGFjZW1lbnRFbmFibGVk
KCk7CiAgICAgICAgIHRleHRDaGVja2VyU3RhdGVDaGFuZ2VkKCk7CiAgICAgfV07CiAgICAgCi0g
ICAgbV9hdXRvbWF0aWNTcGVsbGluZ0NvcnJlY3Rpb25Ob3RpZmljYXRpb25PYnNlcnZlciA9IFtb
TlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl0gYWRkT2JzZXJ2ZXJGb3JOYW1lOk5T
U3BlbGxDaGVja2VyRGlkQ2hhbmdlQXV0b21hdGljU3BlbGxpbmdDb3JyZWN0aW9uTm90aWZpY2F0
aW9uIG9iamVjdDpuaWwgcXVldWU6W05TT3BlcmF0aW9uUXVldWUgY3VycmVudFF1ZXVlXSB1c2lu
Z0Jsb2NrOl4oTlNOb3RpZmljYXRpb24gKm5vdGlmaWNhdGlvbikgeworICAgIG1fYXV0b21hdGlj
U3BlbGxpbmdDb3JyZWN0aW9uTm90aWZpY2F0aW9uT2JzZXJ2ZXIgPSBbY2VudGVyIGFkZE9ic2Vy
dmVyRm9yTmFtZTpOU1NwZWxsQ2hlY2tlckRpZENoYW5nZUF1dG9tYXRpY1NwZWxsaW5nQ29ycmVj
dGlvbk5vdGlmaWNhdGlvbiBvYmplY3Q6bmlsIHF1ZXVlOltOU09wZXJhdGlvblF1ZXVlIGN1cnJl
bnRRdWV1ZV0gdXNpbmdCbG9jazpeKE5TTm90aWZpY2F0aW9uICpub3RpZmljYXRpb24pIHsKICAg
ICAgICAgVGV4dENoZWNrZXI6OmRpZENoYW5nZUF1dG9tYXRpY1NwZWxsaW5nQ29ycmVjdGlvbkVu
YWJsZWQoKTsKICAgICAgICAgdGV4dENoZWNrZXJTdGF0ZUNoYW5nZWQoKTsKICAgICB9XTsKIAot
ICAgIG1fYXV0b21hdGljUXVvdGVTdWJzdGl0dXRpb25Ob3RpZmljYXRpb25PYnNlcnZlciA9IFtb
TlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl0gYWRkT2JzZXJ2ZXJGb3JOYW1lOk5T
U3BlbGxDaGVja2VyRGlkQ2hhbmdlQXV0b21hdGljUXVvdGVTdWJzdGl0dXRpb25Ob3RpZmljYXRp
b24gb2JqZWN0Om5pbCBxdWV1ZTpbTlNPcGVyYXRpb25RdWV1ZSBjdXJyZW50UXVldWVdIHVzaW5n
QmxvY2s6XihOU05vdGlmaWNhdGlvbiAqbm90aWZpY2F0aW9uKSB7CisgICAgbV9hdXRvbWF0aWNR
dW90ZVN1YnN0aXR1dGlvbk5vdGlmaWNhdGlvbk9ic2VydmVyID0gW2NlbnRlciBhZGRPYnNlcnZl
ckZvck5hbWU6TlNTcGVsbENoZWNrZXJEaWRDaGFuZ2VBdXRvbWF0aWNRdW90ZVN1YnN0aXR1dGlv
bk5vdGlmaWNhdGlvbiBvYmplY3Q6bmlsIHF1ZXVlOltOU09wZXJhdGlvblF1ZXVlIGN1cnJlbnRR
dWV1ZV0gdXNpbmdCbG9jazpeKE5TTm90aWZpY2F0aW9uICpub3RpZmljYXRpb24pIHsKICAgICAg
ICAgVGV4dENoZWNrZXI6OmRpZENoYW5nZUF1dG9tYXRpY1F1b3RlU3Vic3RpdHV0aW9uRW5hYmxl
ZCgpOwogICAgICAgICB0ZXh0Q2hlY2tlclN0YXRlQ2hhbmdlZCgpOwogICAgIH1dOwogCi0gICAg
bV9hdXRvbWF0aWNEYXNoU3Vic3RpdHV0aW9uTm90aWZpY2F0aW9uT2JzZXJ2ZXIgPSBbW05TTm90
aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJdIGFkZE9ic2VydmVyRm9yTmFtZTpOU1NwZWxs
Q2hlY2tlckRpZENoYW5nZUF1dG9tYXRpY0Rhc2hTdWJzdGl0dXRpb25Ob3RpZmljYXRpb24gb2Jq
ZWN0Om5pbCBxdWV1ZTpbTlNPcGVyYXRpb25RdWV1ZSBjdXJyZW50UXVldWVdIHVzaW5nQmxvY2s6
XihOU05vdGlmaWNhdGlvbiAqbm90aWZpY2F0aW9uKSB7CisgICAgbV9hdXRvbWF0aWNEYXNoU3Vi
c3RpdHV0aW9uTm90aWZpY2F0aW9uT2JzZXJ2ZXIgPSBbY2VudGVyIGFkZE9ic2VydmVyRm9yTmFt
ZTpOU1NwZWxsQ2hlY2tlckRpZENoYW5nZUF1dG9tYXRpY0Rhc2hTdWJzdGl0dXRpb25Ob3RpZmlj
YXRpb24gb2JqZWN0Om5pbCBxdWV1ZTpbTlNPcGVyYXRpb25RdWV1ZSBjdXJyZW50UXVldWVdIHVz
aW5nQmxvY2s6XihOU05vdGlmaWNhdGlvbiAqbm90aWZpY2F0aW9uKSB7CiAgICAgICAgIFRleHRD
aGVja2VyOjpkaWRDaGFuZ2VBdXRvbWF0aWNEYXNoU3Vic3RpdHV0aW9uRW5hYmxlZCgpOwogICAg
ICAgICB0ZXh0Q2hlY2tlclN0YXRlQ2hhbmdlZCgpOwogICAgIH1dOwpAQCAtNDM1LDIyICs0MzYs
MjIgQEAgdm9pZCBXZWJQcm9jZXNzUG9vbDo6cmVnaXN0ZXJOb3RpZmljYXRpb25PYnNlcnZlcnMo
KQogICAgIH1dOwogCiAjaWYgRU5BQkxFKFdFQlBST0NFU1NfV0lORE9XU0VSVkVSX0JMT0NLSU5H
KQotICAgIG1fc2Nyb2xsZXJTdHlsZU5vdGlmaWNhdGlvbk9ic2VydmVyID0gW1tOU05vdGlmaWNh
dGlvbkNlbnRlciBkZWZhdWx0Q2VudGVyXSBhZGRPYnNlcnZlckZvck5hbWU6TlNQcmVmZXJyZWRT
Y3JvbGxlclN0eWxlRGlkQ2hhbmdlTm90aWZpY2F0aW9uIG9iamVjdDpuaWwgcXVldWU6W05TT3Bl
cmF0aW9uUXVldWUgY3VycmVudFF1ZXVlXSB1c2luZ0Jsb2NrOl4oTlNOb3RpZmljYXRpb24gKm5v
dGlmaWNhdGlvbikgeworICAgIG1fc2Nyb2xsZXJTdHlsZU5vdGlmaWNhdGlvbk9ic2VydmVyID0g
W2NlbnRlciBhZGRPYnNlcnZlckZvck5hbWU6TlNQcmVmZXJyZWRTY3JvbGxlclN0eWxlRGlkQ2hh
bmdlTm90aWZpY2F0aW9uIG9iamVjdDpuaWwgcXVldWU6W05TT3BlcmF0aW9uUXVldWUgY3VycmVu
dFF1ZXVlXSB1c2luZ0Jsb2NrOl4oTlNOb3RpZmljYXRpb24gKm5vdGlmaWNhdGlvbikgewogICAg
ICAgICBhdXRvIHNjcm9sbGJhclN0eWxlID0gW05TU2Nyb2xsZXIgcHJlZmVycmVkU2Nyb2xsZXJT
dHlsZV07CiAgICAgICAgIHNlbmRUb0FsbFByb2Nlc3NlcyhNZXNzYWdlczo6V2ViUHJvY2Vzczo6
U2Nyb2xsZXJTdHlsZVByZWZlcmVuY2VDaGFuZ2VkKHNjcm9sbGJhclN0eWxlKSk7CiAgICAgfV07
CiAjZW5kaWYKIAotICAgIG1fYWN0aXZhdGlvbk9ic2VydmVyID0gW1tOU05vdGlmaWNhdGlvbkNl
bnRlciBkZWZhdWx0Q2VudGVyXSBhZGRPYnNlcnZlckZvck5hbWU6TlNBcHBsaWNhdGlvbkRpZEJl
Y29tZUFjdGl2ZU5vdGlmaWNhdGlvbiBvYmplY3Q6TlNBcHAgcXVldWU6W05TT3BlcmF0aW9uUXVl
dWUgY3VycmVudFF1ZXVlXSB1c2luZ0Jsb2NrOl4oTlNOb3RpZmljYXRpb24gKm5vdGlmaWNhdGlv
bikgeworICAgIG1fYWN0aXZhdGlvbk9ic2VydmVyID0gW2NlbnRlciBhZGRPYnNlcnZlckZvck5h
bWU6TlNBcHBsaWNhdGlvbkRpZEJlY29tZUFjdGl2ZU5vdGlmaWNhdGlvbiBvYmplY3Q6TlNBcHAg
cXVldWU6W05TT3BlcmF0aW9uUXVldWUgY3VycmVudFF1ZXVlXSB1c2luZ0Jsb2NrOl4oTlNOb3Rp
ZmljYXRpb24gKm5vdGlmaWNhdGlvbikgewogICAgICAgICBzZXRBcHBsaWNhdGlvbklzQWN0aXZl
KHRydWUpOwogICAgIH1dOwogCi0gICAgbV9kZWFjdGl2YXRpb25PYnNlcnZlciA9IFtbTlNOb3Rp
ZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl0gYWRkT2JzZXJ2ZXJGb3JOYW1lOk5TQXBwbGlj
YXRpb25EaWRSZXNpZ25BY3RpdmVOb3RpZmljYXRpb24gb2JqZWN0Ok5TQXBwIHF1ZXVlOltOU09w
ZXJhdGlvblF1ZXVlIGN1cnJlbnRRdWV1ZV0gdXNpbmdCbG9jazpeKE5TTm90aWZpY2F0aW9uICpu
b3RpZmljYXRpb24pIHsKKyAgICBtX2RlYWN0aXZhdGlvbk9ic2VydmVyID0gW2NlbnRlciBhZGRP
YnNlcnZlckZvck5hbWU6TlNBcHBsaWNhdGlvbkRpZFJlc2lnbkFjdGl2ZU5vdGlmaWNhdGlvbiBv
YmplY3Q6TlNBcHAgcXVldWU6W05TT3BlcmF0aW9uUXVldWUgY3VycmVudFF1ZXVlXSB1c2luZ0Js
b2NrOl4oTlNOb3RpZmljYXRpb24gKm5vdGlmaWNhdGlvbikgewogICAgICAgICBzZXRBcHBsaWNh
dGlvbklzQWN0aXZlKGZhbHNlKTsKICAgICB9XTsKICNlbGlmIFBMQVRGT1JNKElPUykKICAgICBD
Rk5vdGlmaWNhdGlvbkNlbnRlckFkZE9ic2VydmVyKENGTm90aWZpY2F0aW9uQ2VudGVyR2V0RGFy
d2luTm90aWZ5Q2VudGVyKCksIHRoaXMsIGJhY2tsaWdodExldmVsRGlkQ2hhbmdlQ2FsbGJhY2ss
IHN0YXRpY19jYXN0PENGU3RyaW5nUmVmPihVSUJhY2tsaWdodExldmVsQ2hhbmdlZE5vdGlmaWNh
dGlvbiksIG51bGxwdHIsIENGTm90aWZpY2F0aW9uU3VzcGVuc2lvbkJlaGF2aW9yQ29hbGVzY2Up
OwotICAgIG1fYWNjZXNzaWJpbGl0eUVuYWJsZWRPYnNlcnZlciA9IFtbTlNOb3RpZmljYXRpb25D
ZW50ZXIgZGVmYXVsdENlbnRlcl0gYWRkT2JzZXJ2ZXJGb3JOYW1lOihfX2JyaWRnZSBpZClrQVhT
QXBwbGljYXRpb25BY2Nlc3NpYmlsaXR5RW5hYmxlZE5vdGlmaWNhdGlvbiBvYmplY3Q6bmlsIHF1
ZXVlOltOU09wZXJhdGlvblF1ZXVlIGN1cnJlbnRRdWV1ZV0gdXNpbmdCbG9jazpeKE5TTm90aWZp
Y2F0aW9uICopIHsKKyAgICBtX2FjY2Vzc2liaWxpdHlFbmFibGVkT2JzZXJ2ZXIgPSBbY2VudGVy
IGFkZE9ic2VydmVyRm9yTmFtZTooX19icmlkZ2UgaWQpa0FYU0FwcGxpY2F0aW9uQWNjZXNzaWJp
bGl0eUVuYWJsZWROb3RpZmljYXRpb24gb2JqZWN0Om5pbCBxdWV1ZTpbTlNPcGVyYXRpb25RdWV1
ZSBjdXJyZW50UXVldWVdIHVzaW5nQmxvY2s6XihOU05vdGlmaWNhdGlvbiAqKSB7CiAgICAgICAg
IGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbV9wcm9jZXNzZXMuc2l6ZSgpOyArK2kpCiAgICAgICAg
ICAgICBtX3Byb2Nlc3Nlc1tpXS0+dW5ibG9ja0FjY2Vzc2liaWxpdHlTZXJ2ZXJJZk5lZWRlZCgp
OwogICAgIH1dOwpAQCAtNDYwLDIwICs0NjEsMjEgQEAgdm9pZCBXZWJQcm9jZXNzUG9vbDo6cmVn
aXN0ZXJOb3RpZmljYXRpb25PYnNlcnZlcnMoKQogdm9pZCBXZWJQcm9jZXNzUG9vbDo6dW5yZWdp
c3Rlck5vdGlmaWNhdGlvbk9ic2VydmVycygpCiB7CiAjaWYgIVBMQVRGT1JNKElPU19GQU1JTFkp
Ci0gICAgW1tOU05vdGlmaWNhdGlvbkNlbnRlciBkZWZhdWx0Q2VudGVyXSByZW1vdmVPYnNlcnZl
cjptX2VuaGFuY2VkQWNjZXNzaWJpbGl0eU9ic2VydmVyLmdldCgpXTsKLSAgICBbW05TTm90aWZp
Y2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJdIHJlbW92ZU9ic2VydmVyOm1fYXV0b21hdGljVGV4
dFJlcGxhY2VtZW50Tm90aWZpY2F0aW9uT2JzZXJ2ZXIuZ2V0KCldOwotICAgIFtbTlNOb3RpZmlj
YXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl0gcmVtb3ZlT2JzZXJ2ZXI6bV9hdXRvbWF0aWNTcGVs
bGluZ0NvcnJlY3Rpb25Ob3RpZmljYXRpb25PYnNlcnZlci5nZXQoKV07Ci0gICAgW1tOU05vdGlm
aWNhdGlvbkNlbnRlciBkZWZhdWx0Q2VudGVyXSByZW1vdmVPYnNlcnZlcjptX2F1dG9tYXRpY1F1
b3RlU3Vic3RpdHV0aW9uTm90aWZpY2F0aW9uT2JzZXJ2ZXIuZ2V0KCldOwotICAgIFtbTlNOb3Rp
ZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl0gcmVtb3ZlT2JzZXJ2ZXI6bV9hdXRvbWF0aWNE
YXNoU3Vic3RpdHV0aW9uTm90aWZpY2F0aW9uT2JzZXJ2ZXIuZ2V0KCldOworICAgIE5TTm90aWZp
Y2F0aW9uQ2VudGVyICpjZW50ZXIgPSBbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRl
cl07CisgICAgW2NlbnRlciByZW1vdmVPYnNlcnZlcjptX2VuaGFuY2VkQWNjZXNzaWJpbGl0eU9i
c2VydmVyLmdldCgpXTsKKyAgICBbY2VudGVyIHJlbW92ZU9ic2VydmVyOm1fYXV0b21hdGljVGV4
dFJlcGxhY2VtZW50Tm90aWZpY2F0aW9uT2JzZXJ2ZXIuZ2V0KCldOworICAgIFtjZW50ZXIgcmVt
b3ZlT2JzZXJ2ZXI6bV9hdXRvbWF0aWNTcGVsbGluZ0NvcnJlY3Rpb25Ob3RpZmljYXRpb25PYnNl
cnZlci5nZXQoKV07CisgICAgW2NlbnRlciByZW1vdmVPYnNlcnZlcjptX2F1dG9tYXRpY1F1b3Rl
U3Vic3RpdHV0aW9uTm90aWZpY2F0aW9uT2JzZXJ2ZXIuZ2V0KCldOworICAgIFtjZW50ZXIgcmVt
b3ZlT2JzZXJ2ZXI6bV9hdXRvbWF0aWNEYXNoU3Vic3RpdHV0aW9uTm90aWZpY2F0aW9uT2JzZXJ2
ZXIuZ2V0KCldOwogICAgIFtbTlNXb3Jrc3BhY2Uuc2hhcmVkV29ya3NwYWNlIG5vdGlmaWNhdGlv
bkNlbnRlcl0gcmVtb3ZlT2JzZXJ2ZXI6bV9hY2Nlc3NpYmlsaXR5RGlzcGxheU9wdGlvbnNOb3Rp
ZmljYXRpb25PYnNlcnZlci5nZXQoKV07CiAjaWYgRU5BQkxFKFdFQlBST0NFU1NfV0lORE9XU0VS
VkVSX0JMT0NLSU5HKQotICAgIFtbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl0g
cmVtb3ZlT2JzZXJ2ZXI6bV9zY3JvbGxlclN0eWxlTm90aWZpY2F0aW9uT2JzZXJ2ZXIuZ2V0KCld
OworICAgIFtjZW50ZXIgcmVtb3ZlT2JzZXJ2ZXI6bV9zY3JvbGxlclN0eWxlTm90aWZpY2F0aW9u
T2JzZXJ2ZXIuZ2V0KCldOwogI2VuZGlmCi0gICAgW1tOU05vdGlmaWNhdGlvbkNlbnRlciBkZWZh
dWx0Q2VudGVyXSByZW1vdmVPYnNlcnZlcjptX2FjdGl2YXRpb25PYnNlcnZlci5nZXQoKV07Ci0g
ICAgW1tOU05vdGlmaWNhdGlvbkNlbnRlciBkZWZhdWx0Q2VudGVyXSByZW1vdmVPYnNlcnZlcjpt
X2RlYWN0aXZhdGlvbk9ic2VydmVyLmdldCgpXTsKKyAgICBbY2VudGVyIHJlbW92ZU9ic2VydmVy
Om1fYWN0aXZhdGlvbk9ic2VydmVyLmdldCgpXTsKKyAgICBbY2VudGVyIHJlbW92ZU9ic2VydmVy
Om1fZGVhY3RpdmF0aW9uT2JzZXJ2ZXIuZ2V0KCldOwogI2VsaWYgUExBVEZPUk0oSU9TKQogICAg
IENGTm90aWZpY2F0aW9uQ2VudGVyUmVtb3ZlT2JzZXJ2ZXIoQ0ZOb3RpZmljYXRpb25DZW50ZXJH
ZXREYXJ3aW5Ob3RpZnlDZW50ZXIoKSwgdGhpcywgc3RhdGljX2Nhc3Q8Q0ZTdHJpbmdSZWY+KFVJ
QmFja2xpZ2h0TGV2ZWxDaGFuZ2VkTm90aWZpY2F0aW9uKSAsIG51bGxwdHIpOwotICAgIFtbTlNO
b3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl0gcmVtb3ZlT2JzZXJ2ZXI6bV9hY2Nlc3Np
YmlsaXR5RW5hYmxlZE9ic2VydmVyLmdldCgpXTsKKyAgICBbY2VudGVyIHJlbW92ZU9ic2VydmVy
Om1fYWNjZXNzaWJpbGl0eUVuYWJsZWRPYnNlcnZlci5nZXQoKV07CiAjZW5kaWYgLy8gIVBMQVRG
T1JNKElPU19GQU1JTFkpCiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0NvY29hL1dlYlZpZXdJbXBsLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2Vi
Vmlld0ltcGwubW0KaW5kZXggZGEzYjE4M2I1MmEuLmY5YTJmODBkZDIwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1wbC5tbQorKysgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1wbC5tbQpAQCAtMjQ3LDIyICsyNDcsMjIg
QEAgLSAodm9pZClzdGFydE9ic2VydmluZzooTlNXaW5kb3cgKil3aW5kb3cKICAgICBpZiAoIXdp
bmRvdykKICAgICAgICAgcmV0dXJuOwogCi0gICAgTlNOb3RpZmljYXRpb25DZW50ZXIgKmRlZmF1
bHROb3RpZmljYXRpb25DZW50ZXIgPSBbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRl
cl07CisgICAgTlNOb3RpZmljYXRpb25DZW50ZXIgKmNlbnRlciA9IFtOU05vdGlmaWNhdGlvbkNl
bnRlciBkZWZhdWx0Q2VudGVyXTsKIAogICAgIC8vIEFuIE5TVmlldyBkZXJpdmVkIG9iamVjdCBz
dWNoIGFzIFdLVmlldyBjYW5ub3Qgb2JzZXJ2ZSB0aGVzZSBub3RpZmljYXRpb25zLCBiZWNhdXNl
IE5TVmlldyBpdHNlbGYgb2JzZXJ2ZXMgdGhlbS4KLSAgICBbZGVmYXVsdE5vdGlmaWNhdGlvbkNl
bnRlciBhZGRPYnNlcnZlcjpzZWxmIHNlbGVjdG9yOkBzZWxlY3Rvcihfd2luZG93RGlkT3JkZXJP
ZmZTY3JlZW46KSBuYW1lOkAiTlNXaW5kb3dEaWRPcmRlck9mZlNjcmVlbk5vdGlmaWNhdGlvbiIg
b2JqZWN0OndpbmRvd107Ci0gICAgW2RlZmF1bHROb3RpZmljYXRpb25DZW50ZXIgYWRkT2JzZXJ2
ZXI6c2VsZiBzZWxlY3RvcjpAc2VsZWN0b3IoX3dpbmRvd0RpZE9yZGVyT25TY3JlZW46KSBuYW1l
OkAiX05TV2luZG93RGlkQmVjb21lVmlzaWJsZSIgb2JqZWN0OndpbmRvd107CisgICAgW2NlbnRl
ciBhZGRPYnNlcnZlcjpzZWxmIHNlbGVjdG9yOkBzZWxlY3Rvcihfd2luZG93RGlkT3JkZXJPZmZT
Y3JlZW46KSBuYW1lOkAiTlNXaW5kb3dEaWRPcmRlck9mZlNjcmVlbk5vdGlmaWNhdGlvbiIgb2Jq
ZWN0OndpbmRvd107CisgICAgW2NlbnRlciBhZGRPYnNlcnZlcjpzZWxmIHNlbGVjdG9yOkBzZWxl
Y3Rvcihfd2luZG93RGlkT3JkZXJPblNjcmVlbjopIG5hbWU6QCJfTlNXaW5kb3dEaWRCZWNvbWVW
aXNpYmxlIiBvYmplY3Q6d2luZG93XTsKIAotICAgIFtkZWZhdWx0Tm90aWZpY2F0aW9uQ2VudGVy
IGFkZE9ic2VydmVyOnNlbGYgc2VsZWN0b3I6QHNlbGVjdG9yKF93aW5kb3dEaWRCZWNvbWVLZXk6
KSBuYW1lOk5TV2luZG93RGlkQmVjb21lS2V5Tm90aWZpY2F0aW9uIG9iamVjdDpuaWxdOwotICAg
IFtkZWZhdWx0Tm90aWZpY2F0aW9uQ2VudGVyIGFkZE9ic2VydmVyOnNlbGYgc2VsZWN0b3I6QHNl
bGVjdG9yKF93aW5kb3dEaWRSZXNpZ25LZXk6KSBuYW1lOk5TV2luZG93RGlkUmVzaWduS2V5Tm90
aWZpY2F0aW9uIG9iamVjdDpuaWxdOwotICAgIFtkZWZhdWx0Tm90aWZpY2F0aW9uQ2VudGVyIGFk
ZE9ic2VydmVyOnNlbGYgc2VsZWN0b3I6QHNlbGVjdG9yKF93aW5kb3dEaWRNaW5pYXR1cml6ZTop
IG5hbWU6TlNXaW5kb3dEaWRNaW5pYXR1cml6ZU5vdGlmaWNhdGlvbiBvYmplY3Q6d2luZG93XTsK
LSAgICBbZGVmYXVsdE5vdGlmaWNhdGlvbkNlbnRlciBhZGRPYnNlcnZlcjpzZWxmIHNlbGVjdG9y
OkBzZWxlY3Rvcihfd2luZG93RGlkRGVtaW5pYXR1cml6ZTopIG5hbWU6TlNXaW5kb3dEaWREZW1p
bmlhdHVyaXplTm90aWZpY2F0aW9uIG9iamVjdDp3aW5kb3ddOwotICAgIFtkZWZhdWx0Tm90aWZp
Y2F0aW9uQ2VudGVyIGFkZE9ic2VydmVyOnNlbGYgc2VsZWN0b3I6QHNlbGVjdG9yKF93aW5kb3dE
aWRNb3ZlOikgbmFtZTpOU1dpbmRvd0RpZE1vdmVOb3RpZmljYXRpb24gb2JqZWN0OndpbmRvd107
Ci0gICAgW2RlZmF1bHROb3RpZmljYXRpb25DZW50ZXIgYWRkT2JzZXJ2ZXI6c2VsZiBzZWxlY3Rv
cjpAc2VsZWN0b3IoX3dpbmRvd0RpZFJlc2l6ZTopIG5hbWU6TlNXaW5kb3dEaWRSZXNpemVOb3Rp
ZmljYXRpb24gb2JqZWN0OndpbmRvd107Ci0gICAgW2RlZmF1bHROb3RpZmljYXRpb25DZW50ZXIg
YWRkT2JzZXJ2ZXI6c2VsZiBzZWxlY3RvcjpAc2VsZWN0b3IoX3dpbmRvd0RpZENoYW5nZUJhY2tp
bmdQcm9wZXJ0aWVzOikgbmFtZTpOU1dpbmRvd0RpZENoYW5nZUJhY2tpbmdQcm9wZXJ0aWVzTm90
aWZpY2F0aW9uIG9iamVjdDp3aW5kb3ddOwotICAgIFtkZWZhdWx0Tm90aWZpY2F0aW9uQ2VudGVy
IGFkZE9ic2VydmVyOnNlbGYgc2VsZWN0b3I6QHNlbGVjdG9yKF93aW5kb3dEaWRDaGFuZ2VTY3Jl
ZW46KSBuYW1lOk5TV2luZG93RGlkQ2hhbmdlU2NyZWVuTm90aWZpY2F0aW9uIG9iamVjdDp3aW5k
b3ddOwotICAgIFtkZWZhdWx0Tm90aWZpY2F0aW9uQ2VudGVyIGFkZE9ic2VydmVyOnNlbGYgc2Vs
ZWN0b3I6QHNlbGVjdG9yKF93aW5kb3dEaWRDaGFuZ2VMYXllckhvc3Rpbmc6KSBuYW1lOkAiX05T
V2luZG93RGlkQ2hhbmdlQ29udGVudHNIb3N0ZWRJbkxheWVyU3VyZmFjZU5vdGlmaWNhdGlvbiIg
b2JqZWN0OndpbmRvd107Ci0gICAgW2RlZmF1bHROb3RpZmljYXRpb25DZW50ZXIgYWRkT2JzZXJ2
ZXI6c2VsZiBzZWxlY3RvcjpAc2VsZWN0b3IoX3dpbmRvd0RpZENoYW5nZU9jY2x1c2lvblN0YXRl
OikgbmFtZTpOU1dpbmRvd0RpZENoYW5nZU9jY2x1c2lvblN0YXRlTm90aWZpY2F0aW9uIG9iamVj
dDp3aW5kb3ddOworICAgIFtjZW50ZXIgYWRkT2JzZXJ2ZXI6c2VsZiBzZWxlY3RvcjpAc2VsZWN0
b3IoX3dpbmRvd0RpZEJlY29tZUtleTopIG5hbWU6TlNXaW5kb3dEaWRCZWNvbWVLZXlOb3RpZmlj
YXRpb24gb2JqZWN0Om5pbF07CisgICAgW2NlbnRlciBhZGRPYnNlcnZlcjpzZWxmIHNlbGVjdG9y
OkBzZWxlY3Rvcihfd2luZG93RGlkUmVzaWduS2V5OikgbmFtZTpOU1dpbmRvd0RpZFJlc2lnbktl
eU5vdGlmaWNhdGlvbiBvYmplY3Q6bmlsXTsKKyAgICBbY2VudGVyIGFkZE9ic2VydmVyOnNlbGYg
c2VsZWN0b3I6QHNlbGVjdG9yKF93aW5kb3dEaWRNaW5pYXR1cml6ZTopIG5hbWU6TlNXaW5kb3dE
aWRNaW5pYXR1cml6ZU5vdGlmaWNhdGlvbiBvYmplY3Q6d2luZG93XTsKKyAgICBbY2VudGVyIGFk
ZE9ic2VydmVyOnNlbGYgc2VsZWN0b3I6QHNlbGVjdG9yKF93aW5kb3dEaWREZW1pbmlhdHVyaXpl
OikgbmFtZTpOU1dpbmRvd0RpZERlbWluaWF0dXJpemVOb3RpZmljYXRpb24gb2JqZWN0OndpbmRv
d107CisgICAgW2NlbnRlciBhZGRPYnNlcnZlcjpzZWxmIHNlbGVjdG9yOkBzZWxlY3Rvcihfd2lu
ZG93RGlkTW92ZTopIG5hbWU6TlNXaW5kb3dEaWRNb3ZlTm90aWZpY2F0aW9uIG9iamVjdDp3aW5k
b3ddOworICAgIFtjZW50ZXIgYWRkT2JzZXJ2ZXI6c2VsZiBzZWxlY3RvcjpAc2VsZWN0b3IoX3dp
bmRvd0RpZFJlc2l6ZTopIG5hbWU6TlNXaW5kb3dEaWRSZXNpemVOb3RpZmljYXRpb24gb2JqZWN0
OndpbmRvd107CisgICAgW2NlbnRlciBhZGRPYnNlcnZlcjpzZWxmIHNlbGVjdG9yOkBzZWxlY3Rv
cihfd2luZG93RGlkQ2hhbmdlQmFja2luZ1Byb3BlcnRpZXM6KSBuYW1lOk5TV2luZG93RGlkQ2hh
bmdlQmFja2luZ1Byb3BlcnRpZXNOb3RpZmljYXRpb24gb2JqZWN0OndpbmRvd107CisgICAgW2Nl
bnRlciBhZGRPYnNlcnZlcjpzZWxmIHNlbGVjdG9yOkBzZWxlY3Rvcihfd2luZG93RGlkQ2hhbmdl
U2NyZWVuOikgbmFtZTpOU1dpbmRvd0RpZENoYW5nZVNjcmVlbk5vdGlmaWNhdGlvbiBvYmplY3Q6
d2luZG93XTsKKyAgICBbY2VudGVyIGFkZE9ic2VydmVyOnNlbGYgc2VsZWN0b3I6QHNlbGVjdG9y
KF93aW5kb3dEaWRDaGFuZ2VMYXllckhvc3Rpbmc6KSBuYW1lOkAiX05TV2luZG93RGlkQ2hhbmdl
Q29udGVudHNIb3N0ZWRJbkxheWVyU3VyZmFjZU5vdGlmaWNhdGlvbiIgb2JqZWN0OndpbmRvd107
CisgICAgW2NlbnRlciBhZGRPYnNlcnZlcjpzZWxmIHNlbGVjdG9yOkBzZWxlY3Rvcihfd2luZG93
RGlkQ2hhbmdlT2NjbHVzaW9uU3RhdGU6KSBuYW1lOk5TV2luZG93RGlkQ2hhbmdlT2NjbHVzaW9u
U3RhdGVOb3RpZmljYXRpb24gb2JqZWN0OndpbmRvd107CiAKICAgICBbd2luZG93IGFkZE9ic2Vy
dmVyOnNlbGYgZm9yS2V5UGF0aDpAImNvbnRlbnRMYXlvdXRSZWN0IiBvcHRpb25zOk5TS2V5VmFs
dWVPYnNlcnZpbmdPcHRpb25Jbml0aWFsIGNvbnRleHQ6a2V5VmFsdWVPYnNlcnZpbmdDb250ZXh0
XTsKICAgICBbd2luZG93IGFkZE9ic2VydmVyOnNlbGYgZm9yS2V5UGF0aDpAInRpdGxlYmFyQXBw
ZWFyc1RyYW5zcGFyZW50IiBvcHRpb25zOk5TS2V5VmFsdWVPYnNlcnZpbmdPcHRpb25Jbml0aWFs
IGNvbnRleHQ6a2V5VmFsdWVPYnNlcnZpbmdDb250ZXh0XTsKQEAgLTI3MywyMSArMjczLDIxIEBA
IC0gKHZvaWQpc3RvcE9ic2VydmluZzooTlNXaW5kb3cgKil3aW5kb3cKICAgICBpZiAoIXdpbmRv
dykKICAgICAgICAgcmV0dXJuOwogCi0gICAgTlNOb3RpZmljYXRpb25DZW50ZXIgKmRlZmF1bHRO
b3RpZmljYXRpb25DZW50ZXIgPSBbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl07
CisgICAgTlNOb3RpZmljYXRpb25DZW50ZXIgKmNlbnRlciA9IFtOU05vdGlmaWNhdGlvbkNlbnRl
ciBkZWZhdWx0Q2VudGVyXTsKIAotICAgIFtkZWZhdWx0Tm90aWZpY2F0aW9uQ2VudGVyIHJlbW92
ZU9ic2VydmVyOnNlbGYgbmFtZTpAIk5TV2luZG93RGlkT3JkZXJPZmZTY3JlZW5Ob3RpZmljYXRp
b24iIG9iamVjdDp3aW5kb3ddOwotICAgIFtkZWZhdWx0Tm90aWZpY2F0aW9uQ2VudGVyIHJlbW92
ZU9ic2VydmVyOnNlbGYgbmFtZTpAIl9OU1dpbmRvd0RpZEJlY29tZVZpc2libGUiIG9iamVjdDp3
aW5kb3ddOworICAgIFtjZW50ZXIgcmVtb3ZlT2JzZXJ2ZXI6c2VsZiBuYW1lOkAiTlNXaW5kb3dE
aWRPcmRlck9mZlNjcmVlbk5vdGlmaWNhdGlvbiIgb2JqZWN0OndpbmRvd107CisgICAgW2NlbnRl
ciByZW1vdmVPYnNlcnZlcjpzZWxmIG5hbWU6QCJfTlNXaW5kb3dEaWRCZWNvbWVWaXNpYmxlIiBv
YmplY3Q6d2luZG93XTsKIAotICAgIFtkZWZhdWx0Tm90aWZpY2F0aW9uQ2VudGVyIHJlbW92ZU9i
c2VydmVyOnNlbGYgbmFtZTpOU1dpbmRvd0RpZEJlY29tZUtleU5vdGlmaWNhdGlvbiBvYmplY3Q6
bmlsXTsKLSAgICBbZGVmYXVsdE5vdGlmaWNhdGlvbkNlbnRlciByZW1vdmVPYnNlcnZlcjpzZWxm
IG5hbWU6TlNXaW5kb3dEaWRSZXNpZ25LZXlOb3RpZmljYXRpb24gb2JqZWN0Om5pbF07Ci0gICAg
W2RlZmF1bHROb3RpZmljYXRpb25DZW50ZXIgcmVtb3ZlT2JzZXJ2ZXI6c2VsZiBuYW1lOk5TV2lu
ZG93RGlkTWluaWF0dXJpemVOb3RpZmljYXRpb24gb2JqZWN0OndpbmRvd107Ci0gICAgW2RlZmF1
bHROb3RpZmljYXRpb25DZW50ZXIgcmVtb3ZlT2JzZXJ2ZXI6c2VsZiBuYW1lOk5TV2luZG93RGlk
RGVtaW5pYXR1cml6ZU5vdGlmaWNhdGlvbiBvYmplY3Q6d2luZG93XTsKLSAgICBbZGVmYXVsdE5v
dGlmaWNhdGlvbkNlbnRlciByZW1vdmVPYnNlcnZlcjpzZWxmIG5hbWU6TlNXaW5kb3dEaWRNb3Zl
Tm90aWZpY2F0aW9uIG9iamVjdDp3aW5kb3ddOwotICAgIFtkZWZhdWx0Tm90aWZpY2F0aW9uQ2Vu
dGVyIHJlbW92ZU9ic2VydmVyOnNlbGYgbmFtZTpOU1dpbmRvd0RpZFJlc2l6ZU5vdGlmaWNhdGlv
biBvYmplY3Q6d2luZG93XTsKLSAgICBbZGVmYXVsdE5vdGlmaWNhdGlvbkNlbnRlciByZW1vdmVP
YnNlcnZlcjpzZWxmIG5hbWU6TlNXaW5kb3dEaWRDaGFuZ2VCYWNraW5nUHJvcGVydGllc05vdGlm
aWNhdGlvbiBvYmplY3Q6d2luZG93XTsKLSAgICBbZGVmYXVsdE5vdGlmaWNhdGlvbkNlbnRlciBy
ZW1vdmVPYnNlcnZlcjpzZWxmIG5hbWU6TlNXaW5kb3dEaWRDaGFuZ2VTY3JlZW5Ob3RpZmljYXRp
b24gb2JqZWN0OndpbmRvd107Ci0gICAgW2RlZmF1bHROb3RpZmljYXRpb25DZW50ZXIgcmVtb3Zl
T2JzZXJ2ZXI6c2VsZiBuYW1lOkAiX05TV2luZG93RGlkQ2hhbmdlQ29udGVudHNIb3N0ZWRJbkxh
eWVyU3VyZmFjZU5vdGlmaWNhdGlvbiIgb2JqZWN0OndpbmRvd107Ci0gICAgW2RlZmF1bHROb3Rp
ZmljYXRpb25DZW50ZXIgcmVtb3ZlT2JzZXJ2ZXI6c2VsZiBuYW1lOk5TV2luZG93RGlkQ2hhbmdl
T2NjbHVzaW9uU3RhdGVOb3RpZmljYXRpb24gb2JqZWN0OndpbmRvd107CisgICAgW2NlbnRlciBy
ZW1vdmVPYnNlcnZlcjpzZWxmIG5hbWU6TlNXaW5kb3dEaWRCZWNvbWVLZXlOb3RpZmljYXRpb24g
b2JqZWN0Om5pbF07CisgICAgW2NlbnRlciByZW1vdmVPYnNlcnZlcjpzZWxmIG5hbWU6TlNXaW5k
b3dEaWRSZXNpZ25LZXlOb3RpZmljYXRpb24gb2JqZWN0Om5pbF07CisgICAgW2NlbnRlciByZW1v
dmVPYnNlcnZlcjpzZWxmIG5hbWU6TlNXaW5kb3dEaWRNaW5pYXR1cml6ZU5vdGlmaWNhdGlvbiBv
YmplY3Q6d2luZG93XTsKKyAgICBbY2VudGVyIHJlbW92ZU9ic2VydmVyOnNlbGYgbmFtZTpOU1dp
bmRvd0RpZERlbWluaWF0dXJpemVOb3RpZmljYXRpb24gb2JqZWN0OndpbmRvd107CisgICAgW2Nl
bnRlciByZW1vdmVPYnNlcnZlcjpzZWxmIG5hbWU6TlNXaW5kb3dEaWRNb3ZlTm90aWZpY2F0aW9u
IG9iamVjdDp3aW5kb3ddOworICAgIFtjZW50ZXIgcmVtb3ZlT2JzZXJ2ZXI6c2VsZiBuYW1lOk5T
V2luZG93RGlkUmVzaXplTm90aWZpY2F0aW9uIG9iamVjdDp3aW5kb3ddOworICAgIFtjZW50ZXIg
cmVtb3ZlT2JzZXJ2ZXI6c2VsZiBuYW1lOk5TV2luZG93RGlkQ2hhbmdlQmFja2luZ1Byb3BlcnRp
ZXNOb3RpZmljYXRpb24gb2JqZWN0OndpbmRvd107CisgICAgW2NlbnRlciByZW1vdmVPYnNlcnZl
cjpzZWxmIG5hbWU6TlNXaW5kb3dEaWRDaGFuZ2VTY3JlZW5Ob3RpZmljYXRpb24gb2JqZWN0Ondp
bmRvd107CisgICAgW2NlbnRlciByZW1vdmVPYnNlcnZlcjpzZWxmIG5hbWU6QCJfTlNXaW5kb3dE
aWRDaGFuZ2VDb250ZW50c0hvc3RlZEluTGF5ZXJTdXJmYWNlTm90aWZpY2F0aW9uIiBvYmplY3Q6
d2luZG93XTsKKyAgICBbY2VudGVyIHJlbW92ZU9ic2VydmVyOnNlbGYgbmFtZTpOU1dpbmRvd0Rp
ZENoYW5nZU9jY2x1c2lvblN0YXRlTm90aWZpY2F0aW9uIG9iamVjdDp3aW5kb3ddOwogCiAgICAg
aWYgKF9pbXBsLT5pc0VkaXRhYmxlKCkpCiAgICAgICAgIFtbTlNGb250UGFuZWwgc2hhcmVkRm9u
dFBhbmVsXSByZW1vdmVPYnNlcnZlcjpzZWxmIGZvcktleVBhdGg6QCJ2aXNpYmxlIiBjb250ZXh0
OmtleVZhbHVlT2JzZXJ2aW5nQ29udGV4dF07CkBAIC0xMTA3LDkgKzExMDcsMTAgQEAgdm9pZCBX
ZWJWaWV3SW1wbDo6dXBkYXRlVGV4dFRvdWNoQmFyKCkKICAgICAgICAgbV90ZXh0VG91Y2hCYXJJ
dGVtQ29udHJvbGxlciA9IGFkb3B0TlMoW1tXS1RleHRUb3VjaEJhckl0ZW1Db250cm9sbGVyIGFs
bG9jXSBpbml0V2l0aFdlYlZpZXdJbXBsOnRoaXNdKTsKIAogICAgIGlmICghbV9zdGFydGVkTGlz
dGVuaW5nVG9DdXN0b21pemF0aW9uRXZlbnRzKSB7Ci0gICAgICAgIFtbTlNOb3RpZmljYXRpb25D
ZW50ZXIgZGVmYXVsdENlbnRlcl0gYWRkT2JzZXJ2ZXI6bV90ZXh0VG91Y2hCYXJJdGVtQ29udHJv
bGxlci5nZXQoKSBzZWxlY3RvcjpAc2VsZWN0b3IodG91Y2hCYXJEaWRFeGl0Q3VzdG9taXphdGlv
bjopIG5hbWU6TlNUb3VjaEJhckRpZEV4aXRDdXN0b21pemF0aW9uIG9iamVjdDpuaWxdOwotICAg
ICAgICBbW05TTm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJdIGFkZE9ic2VydmVyOm1f
dGV4dFRvdWNoQmFySXRlbUNvbnRyb2xsZXIuZ2V0KCkgc2VsZWN0b3I6QHNlbGVjdG9yKHRvdWNo
QmFyV2lsbEVudGVyQ3VzdG9taXphdGlvbjopIG5hbWU6TlNUb3VjaEJhcldpbGxFbnRlckN1c3Rv
bWl6YXRpb24gb2JqZWN0Om5pbF07Ci0gICAgICAgIFtbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVm
YXVsdENlbnRlcl0gYWRkT2JzZXJ2ZXI6bV90ZXh0VG91Y2hCYXJJdGVtQ29udHJvbGxlci5nZXQo
KSBzZWxlY3RvcjpAc2VsZWN0b3IoZGlkQ2hhbmdlQXV0b21hdGljVGV4dENvbXBsZXRpb246KSBu
YW1lOk5TU3BlbGxDaGVja2VyRGlkQ2hhbmdlQXV0b21hdGljVGV4dENvbXBsZXRpb25Ob3RpZmlj
YXRpb24gb2JqZWN0Om5pbF07CisgICAgICAgIE5TTm90aWZpY2F0aW9uQ2VudGVyICpjZW50ZXIg
PSBbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl07CisgICAgICAgIFtjZW50ZXIg
YWRkT2JzZXJ2ZXI6bV90ZXh0VG91Y2hCYXJJdGVtQ29udHJvbGxlci5nZXQoKSBzZWxlY3RvcjpA
c2VsZWN0b3IodG91Y2hCYXJEaWRFeGl0Q3VzdG9taXphdGlvbjopIG5hbWU6TlNUb3VjaEJhckRp
ZEV4aXRDdXN0b21pemF0aW9uIG9iamVjdDpuaWxdOworICAgICAgICBbY2VudGVyIGFkZE9ic2Vy
dmVyOm1fdGV4dFRvdWNoQmFySXRlbUNvbnRyb2xsZXIuZ2V0KCkgc2VsZWN0b3I6QHNlbGVjdG9y
KHRvdWNoQmFyV2lsbEVudGVyQ3VzdG9taXphdGlvbjopIG5hbWU6TlNUb3VjaEJhcldpbGxFbnRl
ckN1c3RvbWl6YXRpb24gb2JqZWN0Om5pbF07CisgICAgICAgIFtjZW50ZXIgYWRkT2JzZXJ2ZXI6
bV90ZXh0VG91Y2hCYXJJdGVtQ29udHJvbGxlci5nZXQoKSBzZWxlY3RvcjpAc2VsZWN0b3IoZGlk
Q2hhbmdlQXV0b21hdGljVGV4dENvbXBsZXRpb246KSBuYW1lOk5TU3BlbGxDaGVja2VyRGlkQ2hh
bmdlQXV0b21hdGljVGV4dENvbXBsZXRpb25Ob3RpZmljYXRpb24gb2JqZWN0Om5pbF07CiAKICAg
ICAgICAgbV9zdGFydGVkTGlzdGVuaW5nVG9DdXN0b21pemF0aW9uRXZlbnRzID0gdHJ1ZTsKICAg
ICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUHJvY2Vzc0Fzc2Vy
dGlvbklPUy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9Qcm9jZXNzQXNzZXJ0aW9u
SU9TLm1tCmluZGV4IDJhY2E4NjhiYjhiLi4xNDhkNDNkNzU0OSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvaW9zL1Byb2Nlc3NBc3NlcnRpb25JT1MubW0KKysrIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvaW9zL1Byb2Nlc3NBc3NlcnRpb25JT1MubW0KQEAgLTczLDEzICs3
MywxNCBAQCAtIChpbnN0YW5jZXR5cGUpaW5pdAogCiAgICAgX2JhY2tncm91bmRUYXNrID0gVUlC
YWNrZ3JvdW5kVGFza0ludmFsaWQ7CiAKLSAgICBbW05TTm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1
bHRDZW50ZXJdIGFkZE9ic2VydmVyRm9yTmFtZTpVSUFwcGxpY2F0aW9uV2lsbEVudGVyRm9yZWdy
b3VuZE5vdGlmaWNhdGlvbiBvYmplY3Q6W1VJQXBwbGljYXRpb24gc2hhcmVkQXBwbGljYXRpb25d
IHF1ZXVlOm5pbCB1c2luZ0Jsb2NrOl4oTlNOb3RpZmljYXRpb24gKikgeworICAgIE5TTm90aWZp
Y2F0aW9uQ2VudGVyICpjZW50ZXIgPSBbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRl
cl07CisgICAgW2NlbnRlciBhZGRPYnNlcnZlckZvck5hbWU6VUlBcHBsaWNhdGlvbldpbGxFbnRl
ckZvcmVncm91bmROb3RpZmljYXRpb24gb2JqZWN0OltVSUFwcGxpY2F0aW9uIHNoYXJlZEFwcGxp
Y2F0aW9uXSBxdWV1ZTpuaWwgdXNpbmdCbG9jazpeKE5TTm90aWZpY2F0aW9uICopIHsKICAgICAg
ICAgX2FwcGxpY2F0aW9uSXNCYWNrZ3JvdW5kZWQgPSBOTzsKICAgICAgICAgW3NlbGYgX2NhbmNl
bFBlbmRpbmdSZWxlYXNlVGFza107CiAgICAgICAgIFtzZWxmIF91cGRhdGVCYWNrZ3JvdW5kVGFz
a107CiAgICAgfV07CiAKLSAgICBbW05TTm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJd
IGFkZE9ic2VydmVyRm9yTmFtZTpVSUFwcGxpY2F0aW9uRGlkRW50ZXJCYWNrZ3JvdW5kTm90aWZp
Y2F0aW9uIG9iamVjdDpbVUlBcHBsaWNhdGlvbiBzaGFyZWRBcHBsaWNhdGlvbl0gcXVldWU6bmls
IHVzaW5nQmxvY2s6XihOU05vdGlmaWNhdGlvbiAqKSB7CisgICAgW2NlbnRlciBhZGRPYnNlcnZl
ckZvck5hbWU6VUlBcHBsaWNhdGlvbkRpZEVudGVyQmFja2dyb3VuZE5vdGlmaWNhdGlvbiBvYmpl
Y3Q6W1VJQXBwbGljYXRpb24gc2hhcmVkQXBwbGljYXRpb25dIHF1ZXVlOm5pbCB1c2luZ0Jsb2Nr
Ol4oTlNOb3RpZmljYXRpb24gKikgewogICAgICAgICBfYXBwbGljYXRpb25Jc0JhY2tncm91bmRl
ZCA9IFlFUzsKICAgICB9XTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
aW9zL1dLQ29udGVudFZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250
ZW50Vmlldy5tbQppbmRleCA1NWQ4MGNhNTVkZi4uNGJhMTE0OTRlZTQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3Lm1tCisrKyBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3Lm1tCkBAIC0yNzEsOCArMjcxLDkgQEAg
LSAoaW5zdGFuY2V0eXBlKV9jb21tb25Jbml0aWFsaXphdGlvbldpdGhQcm9jZXNzUG9vbDooV2Vi
S2l0OjpXZWJQcm9jZXNzUG9vbCYpcHIKICAgICBbc2VsZiBfc2V0dXBWaXNpYmlsaXR5UHJvcGFn
YXRpb25WaWV3XTsKICNlbmRpZgogCi0gICAgW1tOU05vdGlmaWNhdGlvbkNlbnRlciBkZWZhdWx0
Q2VudGVyXSBhZGRPYnNlcnZlcjpzZWxmIHNlbGVjdG9yOkBzZWxlY3RvcihfYXBwbGljYXRpb25X
aWxsUmVzaWduQWN0aXZlOikgbmFtZTpVSUFwcGxpY2F0aW9uV2lsbFJlc2lnbkFjdGl2ZU5vdGlm
aWNhdGlvbiBvYmplY3Q6W1VJQXBwbGljYXRpb24gc2hhcmVkQXBwbGljYXRpb25dXTsKLSAgICBb
W05TTm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJdIGFkZE9ic2VydmVyOnNlbGYgc2Vs
ZWN0b3I6QHNlbGVjdG9yKF9hcHBsaWNhdGlvbkRpZEJlY29tZUFjdGl2ZTopIG5hbWU6VUlBcHBs
aWNhdGlvbkRpZEJlY29tZUFjdGl2ZU5vdGlmaWNhdGlvbiBvYmplY3Q6W1VJQXBwbGljYXRpb24g
c2hhcmVkQXBwbGljYXRpb25dXTsKKyAgICBOU05vdGlmaWNhdGlvbkNlbnRlciAqY2VudGVyID0g
W05TTm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJdOworICAgIFtjZW50ZXIgYWRkT2Jz
ZXJ2ZXI6c2VsZiBzZWxlY3RvcjpAc2VsZWN0b3IoX2FwcGxpY2F0aW9uV2lsbFJlc2lnbkFjdGl2
ZTopIG5hbWU6VUlBcHBsaWNhdGlvbldpbGxSZXNpZ25BY3RpdmVOb3RpZmljYXRpb24gb2JqZWN0
OltVSUFwcGxpY2F0aW9uIHNoYXJlZEFwcGxpY2F0aW9uXV07CisgICAgW2NlbnRlciBhZGRPYnNl
cnZlcjpzZWxmIHNlbGVjdG9yOkBzZWxlY3RvcihfYXBwbGljYXRpb25EaWRCZWNvbWVBY3RpdmU6
KSBuYW1lOlVJQXBwbGljYXRpb25EaWRCZWNvbWVBY3RpdmVOb3RpZmljYXRpb24gb2JqZWN0OltV
SUFwcGxpY2F0aW9uIHNoYXJlZEFwcGxpY2F0aW9uXV07CiAKICAgICByZXR1cm4gc2VsZjsKIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9mb3Jtcy9XS0RhdGVQaWNr
ZXJWaWV3Q29udHJvbGxlci5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9mb3Jtcy9X
S0RhdGVQaWNrZXJWaWV3Q29udHJvbGxlci5tbQppbmRleCBiODdjYmY1MGY2NS4uZjJlYjMwNjNk
MDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9mb3Jtcy9XS0RhdGVQ
aWNrZXJWaWV3Q29udHJvbGxlci5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3Mv
Zm9ybXMvV0tEYXRlUGlja2VyVmlld0NvbnRyb2xsZXIubW0KQEAgLTMxNCw4ICszMTQsMTAgQEAg
LSAodm9pZCl2aWV3V2lsbEFwcGVhcjooQk9PTClhbmltYXRlZAogICAgIFtzdXBlciB2aWV3V2ls
bEFwcGVhcjphbmltYXRlZF07CiAKICAgICBfc3RhdHVzQmFyQXNzZXJ0aW9uID0gW1tQVUlDQXBw
bGljYXRpb24gc2hhcmVkUFVJQ0FwcGxpY2F0aW9uXSBfdGFrZVN0YXR1c0Jhckdsb2JhbENvbnRl
eHRBc3NlcnRpb25BbmltYXRlZDpOT107Ci0gICAgW1tOU05vdGlmaWNhdGlvbkNlbnRlciBkZWZh
dWx0Q2VudGVyXSBhZGRPYnNlcnZlcjpzZWxmIHNlbGVjdG9yOkBzZWxlY3RvcihfaGFuZGxlU3Rh
dHVzQmFyTmF2aWdhdGlvbikgbmFtZTpQVUlDU3RhdHVzQmFyTmF2aWdhdGlvbkJhY2tCdXR0b25Q
cmVzc2VkTm90aWZpY2F0aW9uIG9iamVjdDpuaWxdOwotICAgIFtbTlNOb3RpZmljYXRpb25DZW50
ZXIgZGVmYXVsdENlbnRlcl0gYWRkT2JzZXJ2ZXI6c2VsZiBzZWxlY3RvcjpAc2VsZWN0b3IoX2hh
bmRsZVN0YXR1c0Jhck5hdmlnYXRpb24pIG5hbWU6UFVJQ1N0YXR1c0JhclRpdGxlVGFwcGVkTm90
aWZpY2F0aW9uIG9iamVjdDpuaWxdOworCisgICAgTlNOb3RpZmljYXRpb25DZW50ZXIgKmNlbnRl
ciA9IFtOU05vdGlmaWNhdGlvbkNlbnRlciBkZWZhdWx0Q2VudGVyXTsKKyAgICBbY2VudGVyIGFk
ZE9ic2VydmVyOnNlbGYgc2VsZWN0b3I6QHNlbGVjdG9yKF9oYW5kbGVTdGF0dXNCYXJOYXZpZ2F0
aW9uKSBuYW1lOlBVSUNTdGF0dXNCYXJOYXZpZ2F0aW9uQmFja0J1dHRvblByZXNzZWROb3RpZmlj
YXRpb24gb2JqZWN0Om5pbF07CisgICAgW2NlbnRlciBhZGRPYnNlcnZlcjpzZWxmIHNlbGVjdG9y
OkBzZWxlY3RvcihfaGFuZGxlU3RhdHVzQmFyTmF2aWdhdGlvbikgbmFtZTpQVUlDU3RhdHVzQmFy
VGl0bGVUYXBwZWROb3RpZmljYXRpb24gb2JqZWN0Om5pbF07CiAKICAgICBjb25maWd1cmVTdGF0
dXNCYXJGb3JDb250cm9sbGVyKHNlbGYsIHNlbGYuZGVsZWdhdGUpOwogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1RleHRDaGVja2VyTWFjLm1tIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvbWFjL1RleHRDaGVja2VyTWFjLm1tCmluZGV4IGQwMDNlYTllNTc3Li44
NTA5MTVjMjg5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1RleHRD
aGVja2VyTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9UZXh0Q2hlY2tl
ck1hYy5tbQpAQCAtODgsMTQgKzg4LDE1IEBAIHN0YXRpYyBib29sIHNob3VsZEF1dG9tYXRpY0Rh
c2hTdWJzdGl0dXRpb25CZUVuYWJsZWQoKQogc3RhdGljIFRleHRDaGVja2VyU3RhdGUmIG11dGFi
bGVTdGF0ZSgpCiB7CiAgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPFRleHRDaGVja2VyU3RhdGU+
IHN0YXRlID0gbWFrZU5ldmVyRGVzdHJveWVkKFtdIHsKKyAgICAgICAgTlNVc2VyRGVmYXVsdHMg
KmRlZmF1bHRzID0gW05TVXNlckRlZmF1bHRzIHN0YW5kYXJkVXNlckRlZmF1bHRzXTsKICAgICAg
ICAgVGV4dENoZWNrZXJTdGF0ZSBpbml0aWFsU3RhdGU7Ci0gICAgICAgIGluaXRpYWxTdGF0ZS5p
c0NvbnRpbnVvdXNTcGVsbENoZWNraW5nRW5hYmxlZCA9IFtbTlNVc2VyRGVmYXVsdHMgc3RhbmRh
cmRVc2VyRGVmYXVsdHNdIGJvb2xGb3JLZXk6V2ViQ29udGludW91c1NwZWxsQ2hlY2tpbmdFbmFi
bGVkXSAmJiBUZXh0Q2hlY2tlcjo6aXNDb250aW51b3VzU3BlbGxDaGVja2luZ0FsbG93ZWQoKTsK
LSAgICAgICAgaW5pdGlhbFN0YXRlLmlzR3JhbW1hckNoZWNraW5nRW5hYmxlZCA9IFtbTlNVc2Vy
RGVmYXVsdHMgc3RhbmRhcmRVc2VyRGVmYXVsdHNdIGJvb2xGb3JLZXk6V2ViR3JhbW1hckNoZWNr
aW5nRW5hYmxlZF07CisgICAgICAgIGluaXRpYWxTdGF0ZS5pc0NvbnRpbnVvdXNTcGVsbENoZWNr
aW5nRW5hYmxlZCA9IFtkZWZhdWx0cyBib29sRm9yS2V5OldlYkNvbnRpbnVvdXNTcGVsbENoZWNr
aW5nRW5hYmxlZF0gJiYgVGV4dENoZWNrZXI6OmlzQ29udGludW91c1NwZWxsQ2hlY2tpbmdBbGxv
d2VkKCk7CisgICAgICAgIGluaXRpYWxTdGF0ZS5pc0dyYW1tYXJDaGVja2luZ0VuYWJsZWQgPSBb
ZGVmYXVsdHMgYm9vbEZvcktleTpXZWJHcmFtbWFyQ2hlY2tpbmdFbmFibGVkXTsKICAgICAgICAg
aW5pdGlhbFN0YXRlLmlzQXV0b21hdGljVGV4dFJlcGxhY2VtZW50RW5hYmxlZCA9IHNob3VsZEF1
dG9tYXRpY1RleHRSZXBsYWNlbWVudEJlRW5hYmxlZCgpOwogICAgICAgICBpbml0aWFsU3RhdGUu
aXNBdXRvbWF0aWNTcGVsbGluZ0NvcnJlY3Rpb25FbmFibGVkID0gc2hvdWxkQXV0b21hdGljU3Bl
bGxpbmdDb3JyZWN0aW9uQmVFbmFibGVkKCk7CiAgICAgICAgIGluaXRpYWxTdGF0ZS5pc0F1dG9t
YXRpY1F1b3RlU3Vic3RpdHV0aW9uRW5hYmxlZCA9IHNob3VsZEF1dG9tYXRpY1F1b3RlU3Vic3Rp
dHV0aW9uQmVFbmFibGVkKCk7CiAgICAgICAgIGluaXRpYWxTdGF0ZS5pc0F1dG9tYXRpY0Rhc2hT
dWJzdGl0dXRpb25FbmFibGVkID0gc2hvdWxkQXV0b21hdGljRGFzaFN1YnN0aXR1dGlvbkJlRW5h
YmxlZCgpOwotICAgICAgICBpbml0aWFsU3RhdGUuaXNBdXRvbWF0aWNMaW5rRGV0ZWN0aW9uRW5h
YmxlZCA9IFtbTlNVc2VyRGVmYXVsdHMgc3RhbmRhcmRVc2VyRGVmYXVsdHNdIGJvb2xGb3JLZXk6
V2ViQXV0b21hdGljTGlua0RldGVjdGlvbkVuYWJsZWRdOworICAgICAgICBpbml0aWFsU3RhdGUu
aXNBdXRvbWF0aWNMaW5rRGV0ZWN0aW9uRW5hYmxlZCA9IFtkZWZhdWx0cyBib29sRm9yS2V5Oldl
YkF1dG9tYXRpY0xpbmtEZXRlY3Rpb25FbmFibGVkXTsKICAgICAgICAgcmV0dXJuIGluaXRpYWxT
dGF0ZTsKICAgICB9KCkpOwogICAgIHJldHVybiBzdGF0ZTsKQEAgLTExMSwxNCArMTEyLDE1IEBA
IHN0YXRpYyBib29sIHRlc3RpbmdNb2RlRW5hYmxlZCA9IGZhbHNlOwogdm9pZCBUZXh0Q2hlY2tl
cjo6c2V0VGVzdGluZ01vZGUoYm9vbCBlbmFibGVkKQogewogICAgIGlmIChlbmFibGVkICYmICF0
ZXN0aW5nTW9kZUVuYWJsZWQpIHsKLSAgICAgICAgW1tOU1VzZXJEZWZhdWx0cyBzdGFuZGFyZFVz
ZXJEZWZhdWx0c10gc2V0Qm9vbDptdXRhYmxlU3RhdGUoKS5pc0NvbnRpbnVvdXNTcGVsbENoZWNr
aW5nRW5hYmxlZCBmb3JLZXk6V2ViQ29udGludW91c1NwZWxsQ2hlY2tpbmdFbmFibGVkXTsKLSAg
ICAgICAgW1tOU1VzZXJEZWZhdWx0cyBzdGFuZGFyZFVzZXJEZWZhdWx0c10gc2V0Qm9vbDptdXRh
YmxlU3RhdGUoKS5pc0dyYW1tYXJDaGVja2luZ0VuYWJsZWQgZm9yS2V5OldlYkdyYW1tYXJDaGVj
a2luZ0VuYWJsZWRdOwotICAgICAgICBbW05TVXNlckRlZmF1bHRzIHN0YW5kYXJkVXNlckRlZmF1
bHRzXSBzZXRCb29sOm11dGFibGVTdGF0ZSgpLmlzQXV0b21hdGljU3BlbGxpbmdDb3JyZWN0aW9u
RW5hYmxlZCBmb3JLZXk6V2ViQXV0b21hdGljU3BlbGxpbmdDb3JyZWN0aW9uRW5hYmxlZF07Ci0g
ICAgICAgIFtbTlNVc2VyRGVmYXVsdHMgc3RhbmRhcmRVc2VyRGVmYXVsdHNdIHNldEJvb2w6bXV0
YWJsZVN0YXRlKCkuaXNBdXRvbWF0aWNRdW90ZVN1YnN0aXR1dGlvbkVuYWJsZWQgZm9yS2V5Oldl
YkF1dG9tYXRpY1F1b3RlU3Vic3RpdHV0aW9uRW5hYmxlZF07Ci0gICAgICAgIFtbTlNVc2VyRGVm
YXVsdHMgc3RhbmRhcmRVc2VyRGVmYXVsdHNdIHNldEJvb2w6bXV0YWJsZVN0YXRlKCkuaXNBdXRv
bWF0aWNEYXNoU3Vic3RpdHV0aW9uRW5hYmxlZCBmb3JLZXk6V2ViQXV0b21hdGljRGFzaFN1YnN0
aXR1dGlvbkVuYWJsZWRdOwotICAgICAgICBbW05TVXNlckRlZmF1bHRzIHN0YW5kYXJkVXNlckRl
ZmF1bHRzXSBzZXRCb29sOm11dGFibGVTdGF0ZSgpLmlzQXV0b21hdGljTGlua0RldGVjdGlvbkVu
YWJsZWQgZm9yS2V5OldlYkF1dG9tYXRpY0xpbmtEZXRlY3Rpb25FbmFibGVkXTsKLSAgICAgICAg
W1tOU1VzZXJEZWZhdWx0cyBzdGFuZGFyZFVzZXJEZWZhdWx0c10gc2V0Qm9vbDptdXRhYmxlU3Rh
dGUoKS5pc0F1dG9tYXRpY1RleHRSZXBsYWNlbWVudEVuYWJsZWQgZm9yS2V5OldlYkF1dG9tYXRp
Y1RleHRSZXBsYWNlbWVudEVuYWJsZWRdOwotICAgICAgICBbW05TVXNlckRlZmF1bHRzIHN0YW5k
YXJkVXNlckRlZmF1bHRzXSBzZXRCb29sOmlzU21hcnRJbnNlcnREZWxldGVFbmFibGVkKCkgZm9y
S2V5OldlYlNtYXJ0SW5zZXJ0RGVsZXRlRW5hYmxlZF07CisgICAgICAgIE5TVXNlckRlZmF1bHRz
ICpkZWZhdWx0cyA9IFtOU1VzZXJEZWZhdWx0cyBzdGFuZGFyZFVzZXJEZWZhdWx0c107CisgICAg
ICAgIFtkZWZhdWx0cyBzZXRCb29sOm11dGFibGVTdGF0ZSgpLmlzQ29udGludW91c1NwZWxsQ2hl
Y2tpbmdFbmFibGVkIGZvcktleTpXZWJDb250aW51b3VzU3BlbGxDaGVja2luZ0VuYWJsZWRdOwor
ICAgICAgICBbZGVmYXVsdHMgc2V0Qm9vbDptdXRhYmxlU3RhdGUoKS5pc0dyYW1tYXJDaGVja2lu
Z0VuYWJsZWQgZm9yS2V5OldlYkdyYW1tYXJDaGVja2luZ0VuYWJsZWRdOworICAgICAgICBbZGVm
YXVsdHMgc2V0Qm9vbDptdXRhYmxlU3RhdGUoKS5pc0F1dG9tYXRpY1NwZWxsaW5nQ29ycmVjdGlv
bkVuYWJsZWQgZm9yS2V5OldlYkF1dG9tYXRpY1NwZWxsaW5nQ29ycmVjdGlvbkVuYWJsZWRdOwor
ICAgICAgICBbZGVmYXVsdHMgc2V0Qm9vbDptdXRhYmxlU3RhdGUoKS5pc0F1dG9tYXRpY1F1b3Rl
U3Vic3RpdHV0aW9uRW5hYmxlZCBmb3JLZXk6V2ViQXV0b21hdGljUXVvdGVTdWJzdGl0dXRpb25F
bmFibGVkXTsKKyAgICAgICAgW2RlZmF1bHRzIHNldEJvb2w6bXV0YWJsZVN0YXRlKCkuaXNBdXRv
bWF0aWNEYXNoU3Vic3RpdHV0aW9uRW5hYmxlZCBmb3JLZXk6V2ViQXV0b21hdGljRGFzaFN1YnN0
aXR1dGlvbkVuYWJsZWRdOworICAgICAgICBbZGVmYXVsdHMgc2V0Qm9vbDptdXRhYmxlU3RhdGUo
KS5pc0F1dG9tYXRpY0xpbmtEZXRlY3Rpb25FbmFibGVkIGZvcktleTpXZWJBdXRvbWF0aWNMaW5r
RGV0ZWN0aW9uRW5hYmxlZF07CisgICAgICAgIFtkZWZhdWx0cyBzZXRCb29sOm11dGFibGVTdGF0
ZSgpLmlzQXV0b21hdGljVGV4dFJlcGxhY2VtZW50RW5hYmxlZCBmb3JLZXk6V2ViQXV0b21hdGlj
VGV4dFJlcGxhY2VtZW50RW5hYmxlZF07CisgICAgICAgIFtkZWZhdWx0cyBzZXRCb29sOmlzU21h
cnRJbnNlcnREZWxldGVFbmFibGVkKCkgZm9yS2V5OldlYlNtYXJ0SW5zZXJ0RGVsZXRlRW5hYmxl
ZF07CiAgICAgfQogICAgIHRlc3RpbmdNb2RlRW5hYmxlZCA9IGVuYWJsZWQ7CiB9CkBAIC0xMzQs
OCArMTM2LDkgQEAgYm9vbCBUZXh0Q2hlY2tlcjo6aXNDb250aW51b3VzU3BlbGxDaGVja2luZ0Fs
bG93ZWQoKQogICAgIHN0YXRpYyBib29sIHJlYWRBbGxvd0NvbnRpbnVvdXNTcGVsbENoZWNraW5n
RGVmYXVsdCA9IGZhbHNlOwogCiAgICAgaWYgKCFyZWFkQWxsb3dDb250aW51b3VzU3BlbGxDaGVj
a2luZ0RlZmF1bHQpIHsKLSAgICAgICAgaWYgKFtbTlNVc2VyRGVmYXVsdHMgc3RhbmRhcmRVc2Vy
RGVmYXVsdHNdIG9iamVjdEZvcktleTpAIk5TQWxsb3dDb250aW51b3VzU3BlbGxDaGVja2luZyJd
KQotICAgICAgICAgICAgYWxsb3dDb250aW51b3VzU3BlbGxDaGVja2luZyA9IFtbTlNVc2VyRGVm
YXVsdHMgc3RhbmRhcmRVc2VyRGVmYXVsdHNdIGJvb2xGb3JLZXk6QCJOU0FsbG93Q29udGludW91
c1NwZWxsQ2hlY2tpbmciXTsKKyAgICAgICAgTlNVc2VyRGVmYXVsdHMgKmRlZmF1bHRzID0gW05T
VXNlckRlZmF1bHRzIHN0YW5kYXJkVXNlckRlZmF1bHRzXTsKKyAgICAgICAgaWYgKFtkZWZhdWx0
cyBvYmplY3RGb3JLZXk6QCJOU0FsbG93Q29udGludW91c1NwZWxsQ2hlY2tpbmciXSkKKyAgICAg
ICAgICAgIGFsbG93Q29udGludW91c1NwZWxsQ2hlY2tpbmcgPSBbZGVmYXVsdHMgYm9vbEZvcktl
eTpAIk5TQWxsb3dDb250aW51b3VzU3BlbGxDaGVja2luZyJdOwogCiAgICAgICAgIHJlYWRBbGxv
d0NvbnRpbnVvdXNTcGVsbENoZWNraW5nRGVmYXVsdCA9IHRydWU7CiAgICAgfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1dlYkluc3BlY3RvclByb3h5TWFjLm1tIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1dlYkluc3BlY3RvclByb3h5TWFjLm1tCmluZGV4
IDAwN2Q4N2RmY2Q4Li45YmFlN2NhYmJiYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvbWFjL1dlYkluc3BlY3RvclByb3h5TWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL21hYy9XZWJJbnNwZWN0b3JQcm94eU1hYy5tbQpAQCAtMTkzLDggKzE5Myw5IEBAIHVz
aW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiB2b2lkIFdlYkluc3BlY3RvclByb3h5OjphdHRhY2ht
ZW50Vmlld0RpZENoYW5nZShOU1ZpZXcgKm9sZFZpZXcsIE5TVmlldyAqbmV3VmlldykKIHsKLSAg
ICBbW05TTm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJdIHJlbW92ZU9ic2VydmVyOm1f
b2JqQ0FkYXB0ZXIuZ2V0KCkgbmFtZTpOU1ZpZXdGcmFtZURpZENoYW5nZU5vdGlmaWNhdGlvbiBv
YmplY3Q6b2xkVmlld107Ci0gICAgW1tOU05vdGlmaWNhdGlvbkNlbnRlciBkZWZhdWx0Q2VudGVy
XSBhZGRPYnNlcnZlcjptX29iakNBZGFwdGVyLmdldCgpIHNlbGVjdG9yOkBzZWxlY3RvcihpbnNw
ZWN0ZWRWaWV3RnJhbWVEaWRDaGFuZ2U6KSBuYW1lOk5TVmlld0ZyYW1lRGlkQ2hhbmdlTm90aWZp
Y2F0aW9uIG9iamVjdDpuZXdWaWV3XTsKKyAgICBOU05vdGlmaWNhdGlvbkNlbnRlciAqY2VudGVy
ID0gW05TTm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJdOworICAgIFtjZW50ZXIgcmVt
b3ZlT2JzZXJ2ZXI6bV9vYmpDQWRhcHRlci5nZXQoKSBuYW1lOk5TVmlld0ZyYW1lRGlkQ2hhbmdl
Tm90aWZpY2F0aW9uIG9iamVjdDpvbGRWaWV3XTsKKyAgICBbY2VudGVyIGFkZE9ic2VydmVyOm1f
b2JqQ0FkYXB0ZXIuZ2V0KCkgc2VsZWN0b3I6QHNlbGVjdG9yKGluc3BlY3RlZFZpZXdGcmFtZURp
ZENoYW5nZTopIG5hbWU6TlNWaWV3RnJhbWVEaWRDaGFuZ2VOb3RpZmljYXRpb24gb2JqZWN0Om5l
d1ZpZXddOwogCiAgICAgaWYgKG1faXNBdHRhY2hlZCkKICAgICAgICAgYXR0YWNoKG1fYXR0YWNo
bWVudFNpZGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9n
IGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCmluZGV4IGQ1YjY4ZTc1NjUzLi44
ZDM3MzI0MWE0NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBA
CisyMDE5LTA1LTIwICBKb3NlcGggUGVjb3Jhcm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+CisKKyAg
ICAgICAgUmVtb3ZlIHVubmVjZXNzYXJ5IGR1cGxpY2F0ZSBzZWxlY3RvciBpbnZvY2F0aW9ucwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk4MDY2CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJWaWV3
L1dlYlByZWZlcmVuY2VzLm1tOgorICAgICAgICAoLVtXZWJQcmVmZXJlbmNlcyBfcG9zdFByZWZl
cmVuY2VzQ2hhbmdlZE5vdGlmaWNhdGlvbl0pOgorICAgICAgICAqIFdlYlZpZXcvV2ViVmlkZW9G
dWxsc2NyZWVuQ29udHJvbGxlci5tbToKKyAgICAgICAgKC1bV2ViVmlkZW9GdWxsc2NyZWVuQ29u
dHJvbGxlciB3aW5kb3dEaWRMb2FkXSk6CisgICAgICAgICogV2ViVmlldy9XZWJWaWV3Lm1tOgor
ICAgICAgICAoLVtXZWJWaWV3IF9jb21tb25Jbml0aWFsaXphdGlvbldpdGhGcmFtZU5hbWU6Z3Jv
dXBOYW1lOl0pOgorICAgICAgICAoLVtXZWJWaWV3IGluaXRTaW1wbGVIVE1MRG9jdW1lbnRXaXRo
U3R5bGU6ZnJhbWU6cHJlZmVyZW5jZXM6Z3JvdXBOYW1lOl0pOgorICAgICAgICAoK1tXZWJWaWV3
IGluaXRpYWxpemVdKToKKyAgICAgICAgKC1bV2ViVmlldyBzZXRQcmVmZXJlbmNlczpdKToKKyAg
ICAgICAgKC1bV2ViVmlldyB1cGRhdGVUZXh0VG91Y2hCYXJdKToKKyAgICAgICAgKiBXZWJWaWV3
L1dlYlZpZXdEYXRhLm1tOgorICAgICAgICAoLVtXZWJXaW5kb3dWaXNpYmlsaXR5T2JzZXJ2ZXIg
c3RhcnRPYnNlcnZpbmc6XSk6CisgICAgICAgICgtW1dlYldpbmRvd1Zpc2liaWxpdHlPYnNlcnZl
ciBzdG9wT2JzZXJ2aW5nOl0pOgorCiAyMDE5LTA1LTEzICBKZXIgTm9ibGUgIDxqZXIubm9ibGVA
YXBwbGUuY29tPgogCiAgICAgICAgIE1ha2UgUVRLaXQgYW4gb3B0aW9uYWwgZnJhbWV3b3JrCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2Vz
Lm1tIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbQpp
bmRleCA5ZjFjMjI2ZmI5OC4uNDZlNDE1OTYyZjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRM
ZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW0KKysrIGIvU291cmNlL1dlYktpdExl
Z2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbQpAQCAtMTg4OSw4ICsxODg5LDkgQEAg
LSAodm9pZClfcG9zdFByZWZlcmVuY2VzQ2hhbmdlZE5vdGlmaWNhdGlvbgogICAgIH0KICNlbmRp
ZgogCi0gICAgW1tOU05vdGlmaWNhdGlvbkNlbnRlciBkZWZhdWx0Q2VudGVyXSBwb3N0Tm90aWZp
Y2F0aW9uTmFtZTpXZWJQcmVmZXJlbmNlc0NoYW5nZWRJbnRlcm5hbE5vdGlmaWNhdGlvbiBvYmpl
Y3Q6c2VsZiB1c2VySW5mbzpuaWxdOwotICAgIFtbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVs
dENlbnRlcl0gcG9zdE5vdGlmaWNhdGlvbk5hbWU6V2ViUHJlZmVyZW5jZXNDaGFuZ2VkTm90aWZp
Y2F0aW9uIG9iamVjdDpzZWxmIHVzZXJJbmZvOm5pbF07CisgICAgTlNOb3RpZmljYXRpb25DZW50
ZXIgKmNlbnRlciA9IFtOU05vdGlmaWNhdGlvbkNlbnRlciBkZWZhdWx0Q2VudGVyXTsKKyAgICBb
Y2VudGVyIHBvc3ROb3RpZmljYXRpb25OYW1lOldlYlByZWZlcmVuY2VzQ2hhbmdlZEludGVybmFs
Tm90aWZpY2F0aW9uIG9iamVjdDpzZWxmIHVzZXJJbmZvOm5pbF07CisgICAgW2NlbnRlciBwb3N0
Tm90aWZpY2F0aW9uTmFtZTpXZWJQcmVmZXJlbmNlc0NoYW5nZWROb3RpZmljYXRpb24gb2JqZWN0
OnNlbGYgdXNlckluZm86bmlsXTsKIH0KIAogLSAodm9pZClfcG9zdFByZWZlcmVuY2VzQ2hhbmdl
ZEFQSU5vdGlmaWNhdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2Vi
Vmlldy9XZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyLm1tIGIvU291cmNlL1dlYktpdExlZ2Fj
eS9tYWMvV2ViVmlldy9XZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyLm1tCmluZGV4IDIzYWFj
MzQ0MjZiLi45ODg5OGFlNWNhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMv
V2ViVmlldy9XZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyLm1tCisrKyBiL1NvdXJjZS9XZWJL
aXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlkZW9GdWxsc2NyZWVuQ29udHJvbGxlci5tbQpAQCAt
ODksOCArODksOSBAQCAtICh2b2lkKXdpbmRvd0RpZExvYWQKICAgICBbY29udGVudFZpZXcgc2V0
TGF5ZXI6W0NBTGF5ZXIgbGF5ZXJdXTsKICAgICBbY29udGVudFZpZXcgc2V0V2FudHNMYXllcjpZ
RVNdOwogCi0gICAgW1tOU05vdGlmaWNhdGlvbkNlbnRlciBkZWZhdWx0Q2VudGVyXSBhZGRPYnNl
cnZlcjpzZWxmIHNlbGVjdG9yOkBzZWxlY3RvcihhcHBsaWNhdGlvbkRpZFJlc2lnbkFjdGl2ZTop
IG5hbWU6TlNBcHBsaWNhdGlvbkRpZFJlc2lnbkFjdGl2ZU5vdGlmaWNhdGlvbiBvYmplY3Q6TlNB
cHBdOwotICAgIFtbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl0gYWRkT2JzZXJ2
ZXI6c2VsZiBzZWxlY3RvcjpAc2VsZWN0b3IoYXBwbGljYXRpb25EaWRDaGFuZ2VTY3JlZW5QYXJh
bWV0ZXJzOikgbmFtZTpOU0FwcGxpY2F0aW9uRGlkQ2hhbmdlU2NyZWVuUGFyYW1ldGVyc05vdGlm
aWNhdGlvbiBvYmplY3Q6TlNBcHBdOworICAgIE5TTm90aWZpY2F0aW9uQ2VudGVyICpjZW50ZXIg
PSBbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl07CisgICAgW2NlbnRlciBhZGRP
YnNlcnZlcjpzZWxmIHNlbGVjdG9yOkBzZWxlY3RvcihhcHBsaWNhdGlvbkRpZFJlc2lnbkFjdGl2
ZTopIG5hbWU6TlNBcHBsaWNhdGlvbkRpZFJlc2lnbkFjdGl2ZU5vdGlmaWNhdGlvbiBvYmplY3Q6
TlNBcHBdOworICAgIFtjZW50ZXIgYWRkT2JzZXJ2ZXI6c2VsZiBzZWxlY3RvcjpAc2VsZWN0b3Io
YXBwbGljYXRpb25EaWRDaGFuZ2VTY3JlZW5QYXJhbWV0ZXJzOikgbmFtZTpOU0FwcGxpY2F0aW9u
RGlkQ2hhbmdlU2NyZWVuUGFyYW1ldGVyc05vdGlmaWNhdGlvbiBvYmplY3Q6TlNBcHBdOwogfQog
CiAtIChXZWJDb3JlOjpIVE1MVmlkZW9FbGVtZW50ICopdmlkZW9FbGVtZW50CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0gYi9Tb3VyY2UvV2Vi
S2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KaW5kZXggOWQ2ZWVhNDFjNWEuLmRhM2E0
ZWIwOGE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZp
ZXcubW0KKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCkBA
IC0xNDg1LDYgKzE0ODUsOCBAQCAtICh2b2lkKV9jb21tb25Jbml0aWFsaXphdGlvbldpdGhGcmFt
ZU5hbWU6KE5TU3RyaW5nICopZnJhbWVOYW1lIGdyb3VwTmFtZTooTlNTdAogICAgIFdlYkNvcmU6
OnByb3ZpZGVEZXZpY2VPcmllbnRhdGlvblRvKCpfcHJpdmF0ZS0+cGFnZSwgKm5ldyBXZWJEZXZp
Y2VPcmllbnRhdGlvbkNsaWVudChzZWxmKSk7CiAjZW5kaWYKIAorICAgIE5TTm90aWZpY2F0aW9u
Q2VudGVyICpjZW50ZXIgPSBbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl07CisK
ICNpZiBFTkFCTEUoUkVNT1RFX0lOU1BFQ1RPUikKICAgICBfcHJpdmF0ZS0+cGFnZS0+c2V0UmVt
b3RlSW5zcGVjdGlvbkFsbG93ZWQodHJ1ZSk7CiAjZW5kaWYKQEAgLTE1MDIsMTYgKzE1MDQsMTUg
QEAgLSAodm9pZClfY29tbW9uSW5pdGlhbGl6YXRpb25XaXRoRnJhbWVOYW1lOihOU1N0cmluZyAq
KWZyYW1lTmFtZSBncm91cE5hbWU6KE5TU3QKIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiAg
ICAgX3ByaXZhdGUtPnBhZ2UtPnNldHRpbmdzKCkuc2V0UGFzc2l2ZVRvdWNoTGlzdGVuZXJzQXNE
ZWZhdWx0T25Eb2N1bWVudChsaW5rZWRPbk9yQWZ0ZXIoU0RLVmVyc2lvbjo6Rmlyc3RUaGF0RGVm
YXVsdHNUb1Bhc3NpdmVUb3VjaExpc3RlbmVyc09uRG9jdW1lbnQpKTsKLSNlbmRpZgogCi0jaWYg
UExBVEZPUk0oSU9TX0ZBTUlMWSkKICAgICAvLyBQcmVzZXJ2ZSB0aGUgYmVoYXZpb3Igd2UgaGFk
IGJlZm9yZSA8cmRhcjovL3Byb2JsZW0vNzU4MDg2Nz4KICAgICAvLyBieSBlbmZvcmNpbmcgYSA1
TUIgbGltaXQgZm9yIHNlc3Npb24gc3RvcmFnZS4KICAgICBfcHJpdmF0ZS0+cGFnZS0+c2V0dGlu
Z3MoKS5zZXRTZXNzaW9uU3RvcmFnZVF1b3RhKDUgKiAxMDI0ICogMTAyNCk7CiAKICAgICBbc2Vs
ZiBfdXBkYXRlU2NyZWVuU2NhbGVGcm9tV2luZG93XTsKLSAgICBbW05TTm90aWZpY2F0aW9uQ2Vu
dGVyIGRlZmF1bHRDZW50ZXJdIGFkZE9ic2VydmVyOnNlbGYgc2VsZWN0b3I6QHNlbGVjdG9yKF93
YWtXaW5kb3dTY3JlZW5TY2FsZUNoYW5nZWQ6KSBuYW1lOldBS1dpbmRvd1NjcmVlblNjYWxlRGlk
Q2hhbmdlTm90aWZpY2F0aW9uIG9iamVjdDpuaWxdOwotICAgIFtbTlNOb3RpZmljYXRpb25DZW50
ZXIgZGVmYXVsdENlbnRlcl0gYWRkT2JzZXJ2ZXI6c2VsZiBzZWxlY3RvcjpAc2VsZWN0b3IoX3dh
a1dpbmRvd1Zpc2liaWxpdHlDaGFuZ2VkOikgbmFtZTpXQUtXaW5kb3dWaXNpYmlsaXR5RGlkQ2hh
bmdlTm90aWZpY2F0aW9uIG9iamVjdDpuaWxdOworCisgICAgW2NlbnRlciBhZGRPYnNlcnZlcjpz
ZWxmIHNlbGVjdG9yOkBzZWxlY3Rvcihfd2FrV2luZG93U2NyZWVuU2NhbGVDaGFuZ2VkOikgbmFt
ZTpXQUtXaW5kb3dTY3JlZW5TY2FsZURpZENoYW5nZU5vdGlmaWNhdGlvbiBvYmplY3Q6bmlsXTsK
KyAgICBbY2VudGVyIGFkZE9ic2VydmVyOnNlbGYgc2VsZWN0b3I6QHNlbGVjdG9yKF93YWtXaW5k
b3dWaXNpYmlsaXR5Q2hhbmdlZDopIG5hbWU6V0FLV2luZG93VmlzaWJpbGl0eURpZENoYW5nZU5v
dGlmaWNhdGlvbiBvYmplY3Q6bmlsXTsKICAgICBfcHJpdmF0ZS0+X2ZpeGVkUG9zaXRpb25Db250
ZW50ID0gW1tXZWJGaXhlZFBvc2l0aW9uQ29udGVudCBhbGxvY10gaW5pdFdpdGhXZWJWaWV3OnNl
bGZdOwogI2lmIEVOQUJMRShPUklFTlRBVElPTl9FVkVOVFMpCiAgICAgX3ByaXZhdGUtPmRldmlj
ZU9yaWVudGF0aW9uID0gW1tzZWxmIF9VSUtpdERlbGVnYXRlRm9yd2FyZGVyXSBkZXZpY2VPcmll
bnRhdGlvbl07CkBAIC0xNTU1LDcgKzE1NTYsNyBAQCAtICh2b2lkKV9jb21tb25Jbml0aWFsaXph
dGlvbldpdGhGcmFtZU5hbWU6KE5TU3RyaW5nICopZnJhbWVOYW1lIGdyb3VwTmFtZTooTlNTdAog
ICAgIFtzZWxmIF9zZXRJc1Zpc2libGU6W3NlbGYgX2lzVmlld1Zpc2libGVdXTsKIAogICAgIFdl
YlByZWZlcmVuY2VzICpwcmVmcyA9IFtzZWxmIHByZWZlcmVuY2VzXTsKLSAgICBbW05TTm90aWZp
Y2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJdIGFkZE9ic2VydmVyOnNlbGYgc2VsZWN0b3I6QHNl
bGVjdG9yKF9wcmVmZXJlbmNlc0NoYW5nZWROb3RpZmljYXRpb246KQorICAgIFtjZW50ZXIgYWRk
T2JzZXJ2ZXI6c2VsZiBzZWxlY3RvcjpAc2VsZWN0b3IoX3ByZWZlcmVuY2VzQ2hhbmdlZE5vdGlm
aWNhdGlvbjopCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgbmFtZTpXZWJQcmVmZXJlbmNlc0NoYW5nZWRJbnRlcm5hbE5vdGlmaWNhdGlvbiBvYmplY3Q6
cHJlZnNdOwogCiAjaWYgIVBMQVRGT1JNKElPU19GQU1JTFkpCkBAIC0xNzY2LDggKzE3NjcsOSBA
QCAtIChpZClpbml0U2ltcGxlSFRNTERvY3VtZW50V2l0aFN0eWxlOihOU1N0cmluZyAqKXN0eWxl
IGZyYW1lOihDR1JlY3QpZnJhbWUgcHJlZgogI2VuZGlmCiAgICAgCiAgICAgW3NlbGYgX3VwZGF0
ZVNjcmVlblNjYWxlRnJvbVdpbmRvd107Ci0gICAgW1tOU05vdGlmaWNhdGlvbkNlbnRlciBkZWZh
dWx0Q2VudGVyXSBhZGRPYnNlcnZlcjpzZWxmIHNlbGVjdG9yOkBzZWxlY3Rvcihfd2FrV2luZG93
U2NyZWVuU2NhbGVDaGFuZ2VkOikgbmFtZTpXQUtXaW5kb3dTY3JlZW5TY2FsZURpZENoYW5nZU5v
dGlmaWNhdGlvbiBvYmplY3Q6bmlsXTsKLSAgICBbW05TTm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1
bHRDZW50ZXJdIGFkZE9ic2VydmVyOnNlbGYgc2VsZWN0b3I6QHNlbGVjdG9yKF93YWtXaW5kb3dW
aXNpYmlsaXR5Q2hhbmdlZDopIG5hbWU6V0FLV2luZG93VmlzaWJpbGl0eURpZENoYW5nZU5vdGlm
aWNhdGlvbiBvYmplY3Q6bmlsXTsKKyAgICBOU05vdGlmaWNhdGlvbkNlbnRlciAqY2VudGVyID0g
W05TTm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJdOworICAgIFtjZW50ZXIgYWRkT2Jz
ZXJ2ZXI6c2VsZiBzZWxlY3RvcjpAc2VsZWN0b3IoX3dha1dpbmRvd1NjcmVlblNjYWxlQ2hhbmdl
ZDopIG5hbWU6V0FLV2luZG93U2NyZWVuU2NhbGVEaWRDaGFuZ2VOb3RpZmljYXRpb24gb2JqZWN0
Om5pbF07CisgICAgW2NlbnRlciBhZGRPYnNlcnZlcjpzZWxmIHNlbGVjdG9yOkBzZWxlY3Rvcihf
d2FrV2luZG93VmlzaWJpbGl0eUNoYW5nZWQ6KSBuYW1lOldBS1dpbmRvd1Zpc2liaWxpdHlEaWRD
aGFuZ2VOb3RpZmljYXRpb24gb2JqZWN0Om5pbF07CiAKICAgICBbV2ViRnJhbWUgX2NyZWF0ZU1h
aW5GcmFtZVdpdGhTaW1wbGVIVE1MRG9jdW1lbnRXaXRoUGFnZTpfcHJpdmF0ZS0+cGFnZSBmcmFt
ZVZpZXc6ZnJhbWVWaWV3IHN0eWxlOnN0eWxlXTsKICAgICAKQEAgLTU1NzgsMTcgKzU1ODAsMTcg
QEAgKyAodm9pZClpbml0aWFsaXplCiAgICAgV1RGOjpzZXRQcm9jZXNzUHJpdmlsZWdlcyhhbGxQ
cml2aWxlZ2VzKCkpOwogICAgIFdlYkNvcmU6Ok5ldHdvcmtTdG9yYWdlU2Vzc2lvbjo6cGVybWl0
UHJvY2Vzc1RvVXNlQ29va2llQVBJKHRydWUpOwogCisgICAgTlNOb3RpZmljYXRpb25DZW50ZXIg
KmNlbnRlciA9IFtOU05vdGlmaWNhdGlvbkNlbnRlciBkZWZhdWx0Q2VudGVyXTsKKwogI2lmICFQ
TEFURk9STShJT1NfRkFNSUxZKQotICAgIFtbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENl
bnRlcl0gYWRkT2JzZXJ2ZXI6c2VsZiBzZWxlY3RvcjpAc2VsZWN0b3IoX2FwcGxpY2F0aW9uV2ls
bFRlcm1pbmF0ZSkgbmFtZTpOU0FwcGxpY2F0aW9uV2lsbFRlcm1pbmF0ZU5vdGlmaWNhdGlvbiBv
YmplY3Q6TlNBcHBdOworICAgIFtjZW50ZXIgYWRkT2JzZXJ2ZXI6c2VsZiBzZWxlY3RvcjpAc2Vs
ZWN0b3IoX2FwcGxpY2F0aW9uV2lsbFRlcm1pbmF0ZSkgbmFtZTpOU0FwcGxpY2F0aW9uV2lsbFRl
cm1pbmF0ZU5vdGlmaWNhdGlvbiBvYmplY3Q6TlNBcHBdOwogI2VuZGlmCi0gICAgW1tOU05vdGlm
aWNhdGlvbkNlbnRlciBkZWZhdWx0Q2VudGVyXSBhZGRPYnNlcnZlcjpzZWxmIHNlbGVjdG9yOkBz
ZWxlY3RvcihfY2FjaGVNb2RlbENoYW5nZWROb3RpZmljYXRpb246KSBuYW1lOldlYlByZWZlcmVu
Y2VzQ2FjaGVNb2RlbENoYW5nZWRJbnRlcm5hbE5vdGlmaWNhdGlvbiBvYmplY3Q6bmlsXTsKLSAg
ICBbW05TTm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJdIGFkZE9ic2VydmVyOnNlbGYg
c2VsZWN0b3I6QHNlbGVjdG9yKF9wcmVmZXJlbmNlc1JlbW92ZWROb3RpZmljYXRpb246KSBuYW1l
OldlYlByZWZlcmVuY2VzUmVtb3ZlZE5vdGlmaWNhdGlvbiBvYmplY3Q6bmlsXTsKKyAgICBbY2Vu
dGVyIGFkZE9ic2VydmVyOnNlbGYgc2VsZWN0b3I6QHNlbGVjdG9yKF9jYWNoZU1vZGVsQ2hhbmdl
ZE5vdGlmaWNhdGlvbjopIG5hbWU6V2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVsQ2hhbmdlZEludGVy
bmFsTm90aWZpY2F0aW9uIG9iamVjdDpuaWxdOworICAgIFtjZW50ZXIgYWRkT2JzZXJ2ZXI6c2Vs
ZiBzZWxlY3RvcjpAc2VsZWN0b3IoX3ByZWZlcmVuY2VzUmVtb3ZlZE5vdGlmaWNhdGlvbjopIG5h
bWU6V2ViUHJlZmVyZW5jZXNSZW1vdmVkTm90aWZpY2F0aW9uIG9iamVjdDpuaWxdOwogCiAjaWYg
UExBVEZPUk0oSU9TX0ZBTUlMWSkKICAgICBjb250aW51b3VzU3BlbGxDaGVja2luZ0VuYWJsZWQg
PSBOTzsKLQogI2Vsc2UKLQogICAgIE5TVXNlckRlZmF1bHRzICpkZWZhdWx0cyA9IFtOU1VzZXJE
ZWZhdWx0cyBzdGFuZGFyZFVzZXJEZWZhdWx0c107CiAgICAgY29udGludW91c1NwZWxsQ2hlY2tp
bmdFbmFibGVkID0gW2RlZmF1bHRzIGJvb2xGb3JLZXk6V2ViQ29udGludW91c1NwZWxsQ2hlY2tp
bmdFbmFibGVkXTsKICAgICBncmFtbWFyQ2hlY2tpbmdFbmFibGVkID0gW2RlZmF1bHRzIGJvb2xG
b3JLZXk6V2ViR3JhbW1hckNoZWNraW5nRW5hYmxlZF07CkBAIC01NTk5LDEzICs1NjAxLDEzIEBA
ICsgKHZvaWQpaW5pdGlhbGl6ZQogICAgIGF1dG9tYXRpY1RleHRSZXBsYWNlbWVudEVuYWJsZWQg
PSBbc2VsZiBfc2hvdWxkQXV0b21hdGljVGV4dFJlcGxhY2VtZW50QmVFbmFibGVkXTsKICAgICBh
dXRvbWF0aWNTcGVsbGluZ0NvcnJlY3Rpb25FbmFibGVkID0gW3NlbGYgX3Nob3VsZEF1dG9tYXRp
Y1NwZWxsaW5nQ29ycmVjdGlvbkJlRW5hYmxlZF07CiAKLSAgICBbW05TTm90aWZpY2F0aW9uQ2Vu
dGVyIGRlZmF1bHRDZW50ZXJdIGFkZE9ic2VydmVyOnNlbGYgc2VsZWN0b3I6QHNlbGVjdG9yKF9k
aWRDaGFuZ2VBdXRvbWF0aWNUZXh0UmVwbGFjZW1lbnRFbmFibGVkOikKKyAgICBbY2VudGVyIGFk
ZE9ic2VydmVyOnNlbGYgc2VsZWN0b3I6QHNlbGVjdG9yKF9kaWRDaGFuZ2VBdXRvbWF0aWNUZXh0
UmVwbGFjZW1lbnRFbmFibGVkOikKICAgICAgICAgbmFtZTpOU1NwZWxsQ2hlY2tlckRpZENoYW5n
ZUF1dG9tYXRpY1RleHRSZXBsYWNlbWVudE5vdGlmaWNhdGlvbiBvYmplY3Q6bmlsXTsKLSAgICBb
W05TTm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJdIGFkZE9ic2VydmVyOnNlbGYgc2Vs
ZWN0b3I6QHNlbGVjdG9yKF9kaWRDaGFuZ2VBdXRvbWF0aWNTcGVsbGluZ0NvcnJlY3Rpb25FbmFi
bGVkOikKKyAgICBbY2VudGVyIGFkZE9ic2VydmVyOnNlbGYgc2VsZWN0b3I6QHNlbGVjdG9yKF9k
aWRDaGFuZ2VBdXRvbWF0aWNTcGVsbGluZ0NvcnJlY3Rpb25FbmFibGVkOikKICAgICAgICAgbmFt
ZTpOU1NwZWxsQ2hlY2tlckRpZENoYW5nZUF1dG9tYXRpY1NwZWxsaW5nQ29ycmVjdGlvbk5vdGlm
aWNhdGlvbiBvYmplY3Q6bmlsXTsKLSAgICBbW05TTm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRD
ZW50ZXJdIGFkZE9ic2VydmVyOnNlbGYgc2VsZWN0b3I6QHNlbGVjdG9yKF9kaWRDaGFuZ2VBdXRv
bWF0aWNRdW90ZVN1YnN0aXR1dGlvbkVuYWJsZWQ6KQorICAgIFtjZW50ZXIgYWRkT2JzZXJ2ZXI6
c2VsZiBzZWxlY3RvcjpAc2VsZWN0b3IoX2RpZENoYW5nZUF1dG9tYXRpY1F1b3RlU3Vic3RpdHV0
aW9uRW5hYmxlZDopCiAgICAgICAgIG5hbWU6TlNTcGVsbENoZWNrZXJEaWRDaGFuZ2VBdXRvbWF0
aWNRdW90ZVN1YnN0aXR1dGlvbk5vdGlmaWNhdGlvbiBvYmplY3Q6bmlsXTsKLSAgICBbW05TTm90
aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJdIGFkZE9ic2VydmVyOnNlbGYgc2VsZWN0b3I6
QHNlbGVjdG9yKF9kaWRDaGFuZ2VBdXRvbWF0aWNEYXNoU3Vic3RpdHV0aW9uRW5hYmxlZDopCisg
ICAgW2NlbnRlciBhZGRPYnNlcnZlcjpzZWxmIHNlbGVjdG9yOkBzZWxlY3RvcihfZGlkQ2hhbmdl
QXV0b21hdGljRGFzaFN1YnN0aXR1dGlvbkVuYWJsZWQ6KQogICAgICAgICBuYW1lOk5TU3BlbGxD
aGVja2VyRGlkQ2hhbmdlQXV0b21hdGljRGFzaFN1YnN0aXR1dGlvbk5vdGlmaWNhdGlvbiBvYmpl
Y3Q6bmlsXTsKICNlbmRpZgogfQpAQCAtNjMxMiwxMyArNjMxNCwxNCBAQCAtICh2b2lkKXNldFBy
ZWZlcmVuY2VzOihXZWJQcmVmZXJlbmNlcyAqKXByZWZzCiAKICAgICBXZWJQcmVmZXJlbmNlcyAq
b2xkUHJlZnMgPSBfcHJpdmF0ZS0+cHJlZmVyZW5jZXM7CiAKLSAgICBbW05TTm90aWZpY2F0aW9u
Q2VudGVyIGRlZmF1bHRDZW50ZXJdIHJlbW92ZU9ic2VydmVyOnNlbGYgbmFtZTpXZWJQcmVmZXJl
bmNlc0NoYW5nZWRJbnRlcm5hbE5vdGlmaWNhdGlvbiBvYmplY3Q6W3NlbGYgcHJlZmVyZW5jZXNd
XTsKKyAgICBOU05vdGlmaWNhdGlvbkNlbnRlciAqY2VudGVyID0gW05TTm90aWZpY2F0aW9uQ2Vu
dGVyIGRlZmF1bHRDZW50ZXJdOworICAgIFtjZW50ZXIgcmVtb3ZlT2JzZXJ2ZXI6c2VsZiBuYW1l
OldlYlByZWZlcmVuY2VzQ2hhbmdlZEludGVybmFsTm90aWZpY2F0aW9uIG9iamVjdDpbc2VsZiBw
cmVmZXJlbmNlc11dOwogICAgIFtXZWJQcmVmZXJlbmNlcyBfcmVtb3ZlUmVmZXJlbmNlRm9ySWRl
bnRpZmllcjpbb2xkUHJlZnMgaWRlbnRpZmllcl1dOwogCiAgICAgX3ByaXZhdGUtPnByZWZlcmVu
Y2VzID0gW3ByZWZzIHJldGFpbl07CiAKICAgICAvLyBBZnRlciByZWdpc3RlcmluZyBmb3IgdGhl
IG5vdGlmaWNhdGlvbiwgcG9zdCBpdCBzbyB0aGUgV2ViQ29yZSBzZXR0aW5ncyB1cGRhdGUuCi0g
ICAgW1tOU05vdGlmaWNhdGlvbkNlbnRlciBkZWZhdWx0Q2VudGVyXSBhZGRPYnNlcnZlcjpzZWxm
IHNlbGVjdG9yOkBzZWxlY3RvcihfcHJlZmVyZW5jZXNDaGFuZ2VkTm90aWZpY2F0aW9uOikKKyAg
ICBbY2VudGVyIGFkZE9ic2VydmVyOnNlbGYgc2VsZWN0b3I6QHNlbGVjdG9yKF9wcmVmZXJlbmNl
c0NoYW5nZWROb3RpZmljYXRpb246KQogICAgICAgICBuYW1lOldlYlByZWZlcmVuY2VzQ2hhbmdl
ZEludGVybmFsTm90aWZpY2F0aW9uIG9iamVjdDpbc2VsZiBwcmVmZXJlbmNlc11dOwogICAgIFtz
ZWxmIF9wcmVmZXJlbmNlc0NoYW5nZWQ6W3NlbGYgcHJlZmVyZW5jZXNdXTsKICAgICBbW3NlbGYg
cHJlZmVyZW5jZXNdIF9wb3N0UHJlZmVyZW5jZXNDaGFuZ2VkQVBJTm90aWZpY2F0aW9uXTsKQEAg
LTk5NDQsOSArOTk0NywxMCBAQCAtICh2b2lkKXVwZGF0ZVRleHRUb3VjaEJhcgogICAgICAgICBf
cHJpdmF0ZS0+X3RleHRUb3VjaEJhckl0ZW1Db250cm9sbGVyID0gYWRvcHROUyhbW1dlYlRleHRU
b3VjaEJhckl0ZW1Db250cm9sbGVyIGFsbG9jXSBpbml0V2l0aFdlYlZpZXc6c2VsZl0pOwogCiAg
ICAgaWYgKCFfcHJpdmF0ZS0+X3N0YXJ0ZWRMaXN0ZW5pbmdUb0N1c3RvbWl6YXRpb25FdmVudHMp
IHsKLSAgICAgICAgW1tOU05vdGlmaWNhdGlvbkNlbnRlciBkZWZhdWx0Q2VudGVyXSBhZGRPYnNl
cnZlcjpzZWxmIHNlbGVjdG9yOkBzZWxlY3Rvcih0b3VjaEJhckRpZEV4aXRDdXN0b21pemF0aW9u
OikgbmFtZTpOU1RvdWNoQmFyRGlkRXhpdEN1c3RvbWl6YXRpb24gb2JqZWN0Om5pbF07Ci0gICAg
ICAgIFtbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl0gYWRkT2JzZXJ2ZXI6c2Vs
ZiBzZWxlY3RvcjpAc2VsZWN0b3IodG91Y2hCYXJXaWxsRW50ZXJDdXN0b21pemF0aW9uOikgbmFt
ZTpOU1RvdWNoQmFyV2lsbEVudGVyQ3VzdG9taXphdGlvbiBvYmplY3Q6bmlsXTsKLSAgICAgICAg
W1tOU05vdGlmaWNhdGlvbkNlbnRlciBkZWZhdWx0Q2VudGVyXSBhZGRPYnNlcnZlcjpzZWxmIHNl
bGVjdG9yOkBzZWxlY3RvcihkaWRDaGFuZ2VBdXRvbWF0aWNUZXh0Q29tcGxldGlvbjopIG5hbWU6
TlNTcGVsbENoZWNrZXJEaWRDaGFuZ2VBdXRvbWF0aWNUZXh0Q29tcGxldGlvbk5vdGlmaWNhdGlv
biBvYmplY3Q6bmlsXTsKKyAgICAgICAgTlNOb3RpZmljYXRpb25DZW50ZXIgKmNlbnRlciA9IFtO
U05vdGlmaWNhdGlvbkNlbnRlciBkZWZhdWx0Q2VudGVyXTsKKyAgICAgICAgW2NlbnRlciBhZGRP
YnNlcnZlcjpzZWxmIHNlbGVjdG9yOkBzZWxlY3Rvcih0b3VjaEJhckRpZEV4aXRDdXN0b21pemF0
aW9uOikgbmFtZTpOU1RvdWNoQmFyRGlkRXhpdEN1c3RvbWl6YXRpb24gb2JqZWN0Om5pbF07Cisg
ICAgICAgIFtjZW50ZXIgYWRkT2JzZXJ2ZXI6c2VsZiBzZWxlY3RvcjpAc2VsZWN0b3IodG91Y2hC
YXJXaWxsRW50ZXJDdXN0b21pemF0aW9uOikgbmFtZTpOU1RvdWNoQmFyV2lsbEVudGVyQ3VzdG9t
aXphdGlvbiBvYmplY3Q6bmlsXTsKKyAgICAgICAgW2NlbnRlciBhZGRPYnNlcnZlcjpzZWxmIHNl
bGVjdG9yOkBzZWxlY3RvcihkaWRDaGFuZ2VBdXRvbWF0aWNUZXh0Q29tcGxldGlvbjopIG5hbWU6
TlNTcGVsbENoZWNrZXJEaWRDaGFuZ2VBdXRvbWF0aWNUZXh0Q29tcGxldGlvbk5vdGlmaWNhdGlv
biBvYmplY3Q6bmlsXTsKICAgICAgICAgX3ByaXZhdGUtPl9zdGFydGVkTGlzdGVuaW5nVG9DdXN0
b21pemF0aW9uRXZlbnRzID0gWUVTOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3RGF0YS5tbSBiL1NvdXJjZS9XZWJLaXRMZWdhY3kv
bWFjL1dlYlZpZXcvV2ViVmlld0RhdGEubW0KaW5kZXggOGI0OTc4MmI2YmMuLmVlZGRmNmM3ZWZk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXdEYXRh
Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlld0RhdGEubW0K
QEAgLTE0MSwxNiArMTQxLDE2IEBAIC0gKGluc3RhbmNldHlwZSlpbml0V2l0aFZpZXc6KFdlYlZp
ZXcgKil2aWV3CiAtICh2b2lkKXN0YXJ0T2JzZXJ2aW5nOihOU1dpbmRvdyAqKXdpbmRvdwogewog
ICAgIC8vIEFuIE5TVmlldyBkZXJpdmVkIG9iamVjdCBzdWNoIGFzIFdlYlZpZXcgY2Fubm90IG9i
c2VydmUgdGhlc2Ugbm90aWZpY2F0aW9ucywgYmVjYXVzZSBOU1ZpZXcgaXRzZWxmIG9ic2VydmVz
IHRoZW0uCi0gICAgW1tOU05vdGlmaWNhdGlvbkNlbnRlciBkZWZhdWx0Q2VudGVyXSBhZGRPYnNl
cnZlcjpzZWxmIHNlbGVjdG9yOkBzZWxlY3Rvcihfd2luZG93VmlzaWJpbGl0eUNoYW5nZWQ6KQot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6QCJO
U1dpbmRvd0RpZE9yZGVyT2ZmU2NyZWVuTm90aWZpY2F0aW9uIiBvYmplY3Q6d2luZG93XTsKLSAg
ICBbW05TTm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJdIGFkZE9ic2VydmVyOnNlbGYg
c2VsZWN0b3I6QHNlbGVjdG9yKF93aW5kb3dWaXNpYmlsaXR5Q2hhbmdlZDopCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTpAIl9OU1dpbmRvd0Rp
ZEJlY29tZVZpc2libGUiIG9iamVjdDp3aW5kb3ddOworICAgIE5TTm90aWZpY2F0aW9uQ2VudGVy
ICpjZW50ZXIgPSBbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl07CisgICAgW2Nl
bnRlciBhZGRPYnNlcnZlcjpzZWxmIHNlbGVjdG9yOkBzZWxlY3Rvcihfd2luZG93VmlzaWJpbGl0
eUNoYW5nZWQ6KSBuYW1lOkAiTlNXaW5kb3dEaWRPcmRlck9mZlNjcmVlbk5vdGlmaWNhdGlvbiIg
b2JqZWN0OndpbmRvd107CisgICAgW2NlbnRlciBhZGRPYnNlcnZlcjpzZWxmIHNlbGVjdG9yOkBz
ZWxlY3Rvcihfd2luZG93VmlzaWJpbGl0eUNoYW5nZWQ6KSBuYW1lOkAiX05TV2luZG93RGlkQmVj
b21lVmlzaWJsZSIgb2JqZWN0OndpbmRvd107CiB9CiAKIC0gKHZvaWQpc3RvcE9ic2VydmluZzoo
TlNXaW5kb3cgKil3aW5kb3cKIHsKLSAgICBbW05TTm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRD
ZW50ZXJdIHJlbW92ZU9ic2VydmVyOnNlbGYgbmFtZTpAIk5TV2luZG93RGlkT3JkZXJPZmZTY3Jl
ZW5Ob3RpZmljYXRpb24iIG9iamVjdDp3aW5kb3ddOwotICAgIFtbTlNOb3RpZmljYXRpb25DZW50
ZXIgZGVmYXVsdENlbnRlcl0gcmVtb3ZlT2JzZXJ2ZXI6c2VsZiBuYW1lOkAiX05TV2luZG93RGlk
QmVjb21lVmlzaWJsZSIgb2JqZWN0OndpbmRvd107CisgICAgTlNOb3RpZmljYXRpb25DZW50ZXIg
KmNlbnRlciA9IFtOU05vdGlmaWNhdGlvbkNlbnRlciBkZWZhdWx0Q2VudGVyXTsKKyAgICBbY2Vu
dGVyIHJlbW92ZU9ic2VydmVyOnNlbGYgbmFtZTpAIk5TV2luZG93RGlkT3JkZXJPZmZTY3JlZW5O
b3RpZmljYXRpb24iIG9iamVjdDp3aW5kb3ddOworICAgIFtjZW50ZXIgcmVtb3ZlT2JzZXJ2ZXI6
c2VsZiBuYW1lOkAiX05TV2luZG93RGlkQmVjb21lVmlzaWJsZSIgb2JqZWN0OndpbmRvd107CiB9
CiAKIC0gKHZvaWQpX3dpbmRvd1Zpc2liaWxpdHlDaGFuZ2VkOihOU05vdGlmaWNhdGlvbiAqKW5v
dGlmaWNhdGlvbgpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9n
CmluZGV4IDJmMDI0NWYyOTViLi41ZDkzYjdiNzVkOCAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdl
TG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDE5LTA1LTIwICBK
b3NlcGggUGVjb3Jhcm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+CisKKyAgICAgICAgUmVtb3ZlIHVu
bmVjZXNzYXJ5IGR1cGxpY2F0ZSBzZWxlY3RvciBpbnZvY2F0aW9ucworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk4MDY2CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9tYWMvRHVt
cFJlbmRlclRyZWUubW06CisgICAgICAgIChzZXREZWZhdWx0c1RvQ29uc2lzdGVudFZhbHVlc0Zv
clRlc3RpbmcpOgorICAgICAgICAqIE1pbmlCcm93c2VyL21hYy9BcHBEZWxlZ2F0ZS5tOgorICAg
ICAgICAoZGVmYXVsdENvbmZpZ3VyYXRpb24pOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVz
dHMvbWFjL05hdmlnYXRvckxhbmd1YWdlLm1tOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6b3Zl
cnJpZGVBcHBsZUxhbmd1YWdlcyk6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9pb3MvbWFpbklP
Uy5tbToKKyAgICAgICAgKG1haW4pOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvbWFjL0luamVj
dGVkQnVuZGxlQ29udHJvbGxlck1hYy5tbToKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OkluamVj
dGVkQnVuZGxlQ29udHJvbGxlcjo6cGxhdGZvcm1Jbml0aWFsaXplKToKKyAgICAgICAgKiBUZXN0
V2ViS2l0QVBJL21hYy9tYWluTWFjLm1tOgorICAgICAgICAobWFpbik6CisgICAgICAgICogV2Vi
S2l0TGF1bmNoZXIvbWFpbi5tOgorICAgICAgICAoZ2V0TGFzdFZlcnNpb25TaG93bik6CisgICAg
ICAgIChzYXZlTGFzdFZlcnNpb25TaG93bik6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9J
bmplY3RlZEJ1bmRsZS9tYWMvSW5qZWN0ZWRCdW5kbGVNYWMubW06CisgICAgICAgIChXVFI6Oklu
amVjdGVkQnVuZGxlOjpwbGF0Zm9ybUluaXRpYWxpemUpOgorICAgICAgICAqIFdlYktpdFRlc3RS
dW5uZXIvY29jb2EvVGVzdENvbnRyb2xsZXJDb2NvYS5tbToKKyAgICAgICAgKFdUUjo6VGVzdENv
bnRyb2xsZXI6OnBsYXRmb3JtQWRkVGVzdE9wdGlvbnMgY29uc3QpOgorCiAyMDE5LTA1LTIwICBG
dWppaSBIaXJvbm9yaSAgPEhpcm9ub3JpLkZ1amlpQHNvbnkuY29tPgogCiAgICAgICAgIHJ1bi13
ZWJraXQtdGVzdHMgbm90IGdhdGhlcmluZyBjcmFzaCBsb2dzIG9uIEN5Z3dpbiBQeXRob24gYW5k
IFdpbmRvd3MgUHl0aG9uCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVt
cFJlbmRlclRyZWUubW0gYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUu
bW0KaW5kZXggM2UwZDg5NTI1ZDMuLmE5YTA1MTRlYzExIDEwMDY0NAotLS0gYS9Ub29scy9EdW1w
UmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW0KKysrIGIvVG9vbHMvRHVtcFJlbmRlclRy
ZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tCkBAIC0xMDcwLDcgKzEwNzAsOCBAQCBzdGF0aWMgdm9p
ZCBzZXREZWZhdWx0c1RvQ29uc2lzdGVudFZhbHVlc0ZvclRlc3RpbmcoKQogICAgICAgICBAImNv
bS5hcHBsZS5zd2lwZXNjcm9sbGRpcmVjdGlvbiI6IEAxLAogICAgIH07CiAKLSAgICBbW05TVXNl
ckRlZmF1bHRzIHN0YW5kYXJkVXNlckRlZmF1bHRzXSBzZXRWYWx1ZXNGb3JLZXlzV2l0aERpY3Rp
b25hcnk6ZGljdF07CisgICAgTlNVc2VyRGVmYXVsdHMgKmRlZmF1bHRzID0gW05TVXNlckRlZmF1
bHRzIHN0YW5kYXJkVXNlckRlZmF1bHRzXTsKKyAgICBbZGVmYXVsdHMgc2V0VmFsdWVzRm9yS2V5
c1dpdGhEaWN0aW9uYXJ5OmRpY3RdOwogCiAgICAgTlNEaWN0aW9uYXJ5ICpwcm9jZXNzSW5zdGFu
Y2VEZWZhdWx0cyA9IEB7CiAgICAgICAgIFdlYkRhdGFiYXNlRGlyZWN0b3J5RGVmYXVsdHNLZXk6
IFtsaWJyYXJ5UGF0aCBzdHJpbmdCeUFwcGVuZGluZ1BhdGhDb21wb25lbnQ6QCJEYXRhYmFzZXMi
XSwKQEAgLTEwNzksNyArMTA4MCw3IEBAIHN0YXRpYyB2b2lkIHNldERlZmF1bHRzVG9Db25zaXN0
ZW50VmFsdWVzRm9yVGVzdGluZygpCiAgICAgICAgIFdlYktpdFJlc291cmNlTG9hZFN0YXRpc3Rp
Y3NEaXJlY3RvcnlEZWZhdWx0c0tleTogW2xpYnJhcnlQYXRoIHN0cmluZ0J5QXBwZW5kaW5nUGF0
aENvbXBvbmVudDpAIkxvY2FsU3RvcmFnZSJdLAogICAgIH07CiAKLSAgICBbW05TVXNlckRlZmF1
bHRzIHN0YW5kYXJkVXNlckRlZmF1bHRzXSBzZXRWb2xhdGlsZURvbWFpbjpwcm9jZXNzSW5zdGFu
Y2VEZWZhdWx0cyBmb3JOYW1lOk5TQXJndW1lbnREb21haW5dOworICAgIFtkZWZhdWx0cyBzZXRW
b2xhdGlsZURvbWFpbjpwcm9jZXNzSW5zdGFuY2VEZWZhdWx0cyBmb3JOYW1lOk5TQXJndW1lbnRE
b21haW5dOwogfQogCiBzdGF0aWMgdm9pZCBhbGxvY2F0ZUdsb2JhbENvbnRyb2xsZXJzKCkKZGlm
ZiAtLWdpdCBhL1Rvb2xzL01pbmlCcm93c2VyL21hYy9BcHBEZWxlZ2F0ZS5tIGIvVG9vbHMvTWlu
aUJyb3dzZXIvbWFjL0FwcERlbGVnYXRlLm0KaW5kZXggZWYxOWYwZDljNmUuLjljYjZjNmViMTFi
IDEwMDY0NAotLS0gYS9Ub29scy9NaW5pQnJvd3Nlci9tYWMvQXBwRGVsZWdhdGUubQorKysgYi9U
b29scy9NaW5pQnJvd3Nlci9tYWMvQXBwRGVsZWdhdGUubQpAQCAtOTgsMTEgKzk4LDEzIEBAIC0g
KHZvaWQpYXdha2VGcm9tTmliCiAgICAgICAgIAogICAgICAgICBjb25maWd1cmF0aW9uLnByb2Nl
c3NQb29sID0gW1tbV0tQcm9jZXNzUG9vbCBhbGxvY10gX2luaXRXaXRoQ29uZmlndXJhdGlvbjpw
cm9jZXNzQ29uZmlndXJhdGlvbl0gYXV0b3JlbGVhc2VdOwogCisgICAgICAgIE5TVXNlckRlZmF1
bHRzICpkZWZhdWx0cyA9IFtOU1VzZXJEZWZhdWx0cyBzdGFuZGFyZFVzZXJEZWZhdWx0c107CisK
ICAgICAgICAgTlNBcnJheTxfV0tFeHBlcmltZW50YWxGZWF0dXJlICo+ICpleHBlcmltZW50YWxG
ZWF0dXJlcyA9IFtXS1ByZWZlcmVuY2VzIF9leHBlcmltZW50YWxGZWF0dXJlc107CiAgICAgICAg
IGZvciAoX1dLRXhwZXJpbWVudGFsRmVhdHVyZSAqZmVhdHVyZSBpbiBleHBlcmltZW50YWxGZWF0
dXJlcykgewogICAgICAgICAgICAgQk9PTCBlbmFibGVkOwotICAgICAgICAgICAgaWYgKFtbTlNV
c2VyRGVmYXVsdHMgc3RhbmRhcmRVc2VyRGVmYXVsdHNdIG9iamVjdEZvcktleTpmZWF0dXJlLmtl
eV0pCi0gICAgICAgICAgICAgICAgZW5hYmxlZCA9IFtbTlNVc2VyRGVmYXVsdHMgc3RhbmRhcmRV
c2VyRGVmYXVsdHNdIGJvb2xGb3JLZXk6ZmVhdHVyZS5rZXldOworICAgICAgICAgICAgaWYgKFtk
ZWZhdWx0cyBvYmplY3RGb3JLZXk6ZmVhdHVyZS5rZXldKQorICAgICAgICAgICAgICAgIGVuYWJs
ZWQgPSBbZGVmYXVsdHMgYm9vbEZvcktleTpmZWF0dXJlLmtleV07CiAgICAgICAgICAgICBlbHNl
CiAgICAgICAgICAgICAgICAgZW5hYmxlZCA9IFtmZWF0dXJlIGRlZmF1bHRWYWx1ZV07CiAgICAg
ICAgICAgICBbY29uZmlndXJhdGlvbi5wcmVmZXJlbmNlcyBfc2V0RW5hYmxlZDplbmFibGVkIGZv
ckV4cGVyaW1lbnRhbEZlYXR1cmU6ZmVhdHVyZV07CkBAIC0xMTEsOCArMTEzLDggQEAgLSAodm9p
ZClhd2FrZUZyb21OaWIKICAgICAgICAgTlNBcnJheTxfV0tJbnRlcm5hbERlYnVnRmVhdHVyZSAq
PiAqaW50ZXJuYWxEZWJ1Z0ZlYXR1cmVzID0gW1dLUHJlZmVyZW5jZXMgX2ludGVybmFsRGVidWdG
ZWF0dXJlc107CiAgICAgICAgIGZvciAoX1dLSW50ZXJuYWxEZWJ1Z0ZlYXR1cmUgKmZlYXR1cmUg
aW4gaW50ZXJuYWxEZWJ1Z0ZlYXR1cmVzKSB7CiAgICAgICAgICAgICBCT09MIGVuYWJsZWQ7Ci0g
ICAgICAgICAgICBpZiAoW1tOU1VzZXJEZWZhdWx0cyBzdGFuZGFyZFVzZXJEZWZhdWx0c10gb2Jq
ZWN0Rm9yS2V5OmZlYXR1cmUua2V5XSkKLSAgICAgICAgICAgICAgICBlbmFibGVkID0gW1tOU1Vz
ZXJEZWZhdWx0cyBzdGFuZGFyZFVzZXJEZWZhdWx0c10gYm9vbEZvcktleTpmZWF0dXJlLmtleV07
CisgICAgICAgICAgICBpZiAoW2RlZmF1bHRzIG9iamVjdEZvcktleTpmZWF0dXJlLmtleV0pCisg
ICAgICAgICAgICAgICAgZW5hYmxlZCA9IFtkZWZhdWx0cyBib29sRm9yS2V5OmZlYXR1cmUua2V5
XTsKICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICBlbmFibGVkID0gW2ZlYXR1cmUg
ZGVmYXVsdFZhbHVlXTsKICAgICAgICAgICAgIFtjb25maWd1cmF0aW9uLnByZWZlcmVuY2VzIF9z
ZXRFbmFibGVkOmVuYWJsZWQgZm9ySW50ZXJuYWxEZWJ1Z0ZlYXR1cmU6ZmVhdHVyZV07CmRpZmYg
LS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL21hYy9OYXZpZ2F0b3JMYW5ndWFnZS5t
bSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvbWFjL05hdmlnYXRvckxhbmd1YWdlLm1tCmlu
ZGV4IGVlODhjYjRiZjZiLi4wMTBhODkwZjgxNiAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktp
dEFQSS9UZXN0cy9tYWMvTmF2aWdhdG9yTGFuZ3VhZ2UubW0KKysrIGIvVG9vbHMvVGVzdFdlYktp
dEFQSS9UZXN0cy9tYWMvTmF2aWdhdG9yTGFuZ3VhZ2UubW0KQEAgLTQ4LDE0ICs0OCwxNSBAQCBu
YW1lc3BhY2UgVGVzdFdlYktpdEFQSSB7CiAKIHZvaWQgb3ZlcnJpZGVBcHBsZUxhbmd1YWdlcyhO
U1N0cmluZyAqcHJpbWFyeUxhbmd1YWdlKQogewotICAgIFJldGFpblB0cjxOU011dGFibGVEaWN0
aW9uYXJ5PiBhcmd1bWVudERvbWFpbiA9IGFkb3B0TlMoW1tbTlNVc2VyRGVmYXVsdHMgc3RhbmRh
cmRVc2VyRGVmYXVsdHNdIHZvbGF0aWxlRG9tYWluRm9yTmFtZTpOU0FyZ3VtZW50RG9tYWluXSBt
dXRhYmxlQ29weV0pOworICAgIE5TVXNlckRlZmF1bHRzICpkZWZhdWx0cyA9IFtOU1VzZXJEZWZh
dWx0cyBzdGFuZGFyZFVzZXJEZWZhdWx0c107CisgICAgUmV0YWluUHRyPE5TTXV0YWJsZURpY3Rp
b25hcnk+IGFyZ3VtZW50RG9tYWluID0gYWRvcHROUyhbW2RlZmF1bHRzIHZvbGF0aWxlRG9tYWlu
Rm9yTmFtZTpOU0FyZ3VtZW50RG9tYWluXSBtdXRhYmxlQ29weV0pOwogICAgIGlmICghYXJndW1l
bnREb21haW4pCiAgICAgICAgIGFyZ3VtZW50RG9tYWluID0gYWRvcHROUyhbW05TTXV0YWJsZURp
Y3Rpb25hcnkgYWxsb2NdIGluaXRdKTsKICAgICAKICAgICBbYXJndW1lbnREb21haW4gYWRkRW50
cmllc0Zyb21EaWN0aW9uYXJ5OkB7CiAgICAgICAgIEAiQXBwbGVMYW5ndWFnZXMiOiBAW3ByaW1h
cnlMYW5ndWFnZV0KICAgICB9XTsKLSAgICBbW05TVXNlckRlZmF1bHRzIHN0YW5kYXJkVXNlckRl
ZmF1bHRzXSBzZXRWb2xhdGlsZURvbWFpbjphcmd1bWVudERvbWFpbi5nZXQoKSBmb3JOYW1lOk5T
QXJndW1lbnREb21haW5dOworICAgIFtkZWZhdWx0cyBzZXRWb2xhdGlsZURvbWFpbjphcmd1bWVu
dERvbWFpbi5nZXQoKSBmb3JOYW1lOk5TQXJndW1lbnREb21haW5dOwogCiAgICAgW1tOU0Rpc3Ry
aWJ1dGVkTm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJdIHBvc3ROb3RpZmljYXRpb25O
YW1lOkAiQXBwbGVMYW5ndWFnZVByZWZlcmVuY2VzQ2hhbmdlZE5vdGlmaWNhdGlvbiIgb2JqZWN0
Om5pbCB1c2VySW5mbzpuaWwgb3B0aW9uczpOU05vdGlmaWNhdGlvbkRlbGl2ZXJJbW1lZGlhdGVs
eV07CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvaW9zL21haW5JT1MubW0gYi9U
b29scy9UZXN0V2ViS2l0QVBJL2lvcy9tYWluSU9TLm1tCmluZGV4IGNiOGMwYzU1ZTc2Li44ZjNh
ZGYyMGY1YSAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9pb3MvbWFpbklPUy5tbQor
KysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL2lvcy9tYWluSU9TLm1tCkBAIC0zMCwxMCArMzAsMTEg
QEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIqKiBhcmd2KQogewogICAgIE5TQXV0b3JlbGVhc2VQ
b29sICpwb29sID0gW1tOU0F1dG9yZWxlYXNlUG9vbCBhbGxvY10gaW5pdF07CiAKLSAgICBbW05T
VXNlckRlZmF1bHRzIHN0YW5kYXJkVXNlckRlZmF1bHRzXSByZW1vdmVQZXJzaXN0ZW50RG9tYWlu
Rm9yTmFtZTpAIlRlc3RXZWJLaXRBUEkiXTsKKyAgICBOU1VzZXJEZWZhdWx0cyAqZGVmYXVsdHMg
PSBbTlNVc2VyRGVmYXVsdHMgc3RhbmRhcmRVc2VyRGVmYXVsdHNdOworICAgIFtkZWZhdWx0cyBy
ZW1vdmVQZXJzaXN0ZW50RG9tYWluRm9yTmFtZTpAIlRlc3RXZWJLaXRBUEkiXTsKIAogICAgIC8v
IFNldCB1cCB1c2VyIGRlZmF1bHRzLgotICAgIE5TTXV0YWJsZURpY3Rpb25hcnkgKmFyZ3VtZW50
RG9tYWluID0gW1tbTlNVc2VyRGVmYXVsdHMgc3RhbmRhcmRVc2VyRGVmYXVsdHNdIHZvbGF0aWxl
RG9tYWluRm9yTmFtZTpOU0FyZ3VtZW50RG9tYWluXSBtdXRhYmxlQ29weV07CisgICAgTlNNdXRh
YmxlRGljdGlvbmFyeSAqYXJndW1lbnREb21haW4gPSBbW2RlZmF1bHRzIHZvbGF0aWxlRG9tYWlu
Rm9yTmFtZTpOU0FyZ3VtZW50RG9tYWluXSBtdXRhYmxlQ29weV07CiAgICAgaWYgKCFhcmd1bWVu
dERvbWFpbikKICAgICAgICAgYXJndW1lbnREb21haW4gPSBbW05TTXV0YWJsZURpY3Rpb25hcnkg
YWxsb2NdIGluaXRdOwogICAgIApAQCAtNDIsNyArNDMsNyBAQCBpbnQgbWFpbihpbnQgYXJnYywg
Y2hhcioqIGFyZ3YpCiAgICAgICAgICAgICAgICAgICAgICAgICAgIG5pbF07CiAKICAgICBbYXJn
dW1lbnREb21haW4gYWRkRW50cmllc0Zyb21EaWN0aW9uYXJ5OmRpY3RdOwotICAgIFtbTlNVc2Vy
RGVmYXVsdHMgc3RhbmRhcmRVc2VyRGVmYXVsdHNdIHNldFZvbGF0aWxlRG9tYWluOmFyZ3VtZW50
RG9tYWluIGZvck5hbWU6TlNBcmd1bWVudERvbWFpbl07CisgICAgW2RlZmF1bHRzIHNldFZvbGF0
aWxlRG9tYWluOmFyZ3VtZW50RG9tYWluIGZvck5hbWU6TlNBcmd1bWVudERvbWFpbl07CiAKICAg
ICBib29sIHBhc3NlZCA9IFRlc3RXZWJLaXRBUEk6OlRlc3RzQ29udHJvbGxlcjo6c2luZ2xldG9u
KCkucnVuKGFyZ2MsIGFyZ3YpOwogCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL21h
Yy9JbmplY3RlZEJ1bmRsZUNvbnRyb2xsZXJNYWMubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL21h
Yy9JbmplY3RlZEJ1bmRsZUNvbnRyb2xsZXJNYWMubW0KaW5kZXggN2IyYmQ3Zjk2NjYuLmY2MWM5
ZWNhMmRiIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL21hYy9JbmplY3RlZEJ1bmRs
ZUNvbnRyb2xsZXJNYWMubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9tYWMvSW5qZWN0ZWRC
dW5kbGVDb250cm9sbGVyTWFjLm1tCkBAIC0zMyw3ICszMyw4IEBAIG5hbWVzcGFjZSBUZXN0V2Vi
S2l0QVBJIHsKIHZvaWQgSW5qZWN0ZWRCdW5kbGVDb250cm9sbGVyOjpwbGF0Zm9ybUluaXRpYWxp
emUoKQogewogICAgIC8vIFNldCB1cCB1c2VyIGRlZmF1bHRzLgotICAgIE5TTXV0YWJsZURpY3Rp
b25hcnkgKmFyZ3VtZW50RG9tYWluID0gW1tbTlNVc2VyRGVmYXVsdHMgc3RhbmRhcmRVc2VyRGVm
YXVsdHNdIHZvbGF0aWxlRG9tYWluRm9yTmFtZTpOU0FyZ3VtZW50RG9tYWluXSBtdXRhYmxlQ29w
eV07CisgICAgTlNVc2VyRGVmYXVsdHMgKmRlZmF1bHRzID0gW05TVXNlckRlZmF1bHRzIHN0YW5k
YXJkVXNlckRlZmF1bHRzXTsKKyAgICBOU011dGFibGVEaWN0aW9uYXJ5ICphcmd1bWVudERvbWFp
biA9IFtbZGVmYXVsdHMgdm9sYXRpbGVEb21haW5Gb3JOYW1lOk5TQXJndW1lbnREb21haW5dIG11
dGFibGVDb3B5XTsKICAgICBpZiAoIWFyZ3VtZW50RG9tYWluKQogICAgICAgICBhcmd1bWVudERv
bWFpbiA9IFtbTlNNdXRhYmxlRGljdGlvbmFyeSBhbGxvY10gaW5pdF07CiAgICAgCkBAIC00Niw3
ICs0Nyw3IEBAIHZvaWQgSW5qZWN0ZWRCdW5kbGVDb250cm9sbGVyOjpwbGF0Zm9ybUluaXRpYWxp
emUoKQogICAgICAgICAgICAgICAgICAgICAgICAgICBuaWxdOwogCiAgICAgW2FyZ3VtZW50RG9t
YWluIGFkZEVudHJpZXNGcm9tRGljdGlvbmFyeTpkaWN0XTsKLSAgICBbW05TVXNlckRlZmF1bHRz
IHN0YW5kYXJkVXNlckRlZmF1bHRzXSBzZXRWb2xhdGlsZURvbWFpbjphcmd1bWVudERvbWFpbiBm
b3JOYW1lOk5TQXJndW1lbnREb21haW5dOworICAgIFtkZWZhdWx0cyBzZXRWb2xhdGlsZURvbWFp
bjphcmd1bWVudERvbWFpbiBmb3JOYW1lOk5TQXJndW1lbnREb21haW5dOwogCiAgICAgW2FyZ3Vt
ZW50RG9tYWluIHJlbGVhc2VdOwogfQpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9t
YWMvbWFpbk1hYy5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvbWFjL21haW5NYWMubW0KaW5kZXgg
ZDMxMmM2N2U1NzYuLjZmNGRhMDBjOGM4IDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJ
L21hYy9tYWluTWFjLm1tCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvbWFjL21haW5NYWMubW0K
QEAgLTMyLDEwICszMiwxMSBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhcioqIGFyZ3YpCiB7CiAg
ICAgTlNBdXRvcmVsZWFzZVBvb2wgKnBvb2wgPSBbW05TQXV0b3JlbGVhc2VQb29sIGFsbG9jXSBp
bml0XTsKIAotICAgIFtbTlNVc2VyRGVmYXVsdHMgc3RhbmRhcmRVc2VyRGVmYXVsdHNdIHJlbW92
ZVBlcnNpc3RlbnREb21haW5Gb3JOYW1lOkAiVGVzdFdlYktpdEFQSSJdOworICAgIE5TVXNlckRl
ZmF1bHRzICpkZWZhdWx0cyA9IFtOU1VzZXJEZWZhdWx0cyBzdGFuZGFyZFVzZXJEZWZhdWx0c107
CisgICAgW2RlZmF1bHRzIHJlbW92ZVBlcnNpc3RlbnREb21haW5Gb3JOYW1lOkAiVGVzdFdlYktp
dEFQSSJdOwogCiAgICAgLy8gU2V0IGEgdXNlciBkZWZhdWx0IGZvciBUZXN0V2ViS2l0QVBJIHRv
IGJ5cGFzcyBhbGwgbGlua2VkLW9uLW9yLWFmdGVyIGNoZWNrcyBpbiBXZWJLaXQKLSAgICBOU011
dGFibGVEaWN0aW9uYXJ5ICphcmd1bWVudERvbWFpbiA9IFtbW05TVXNlckRlZmF1bHRzIHN0YW5k
YXJkVXNlckRlZmF1bHRzXSB2b2xhdGlsZURvbWFpbkZvck5hbWU6TlNBcmd1bWVudERvbWFpbl0g
bXV0YWJsZUNvcHldOworICAgIE5TTXV0YWJsZURpY3Rpb25hcnkgKmFyZ3VtZW50RG9tYWluID0g
W1tkZWZhdWx0cyB2b2xhdGlsZURvbWFpbkZvck5hbWU6TlNBcmd1bWVudERvbWFpbl0gbXV0YWJs
ZUNvcHldOwogICAgIGlmICghYXJndW1lbnREb21haW4pCiAgICAgICAgIGFyZ3VtZW50RG9tYWlu
ID0gW1tOU011dGFibGVEaWN0aW9uYXJ5IGFsbG9jXSBpbml0XTsKICAgICAKQEAgLTQ0LDcgKzQ1
LDcgQEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIqKiBhcmd2KQogICAgICAgICAgICAgICAgICAg
ICAgICAgICBuaWxdOwogCiAgICAgW2FyZ3VtZW50RG9tYWluIGFkZEVudHJpZXNGcm9tRGljdGlv
bmFyeTpkaWN0XTsKLSAgICBbW05TVXNlckRlZmF1bHRzIHN0YW5kYXJkVXNlckRlZmF1bHRzXSBz
ZXRWb2xhdGlsZURvbWFpbjphcmd1bWVudERvbWFpbiBmb3JOYW1lOk5TQXJndW1lbnREb21haW5d
OworICAgIFtkZWZhdWx0cyBzZXRWb2xhdGlsZURvbWFpbjphcmd1bWVudERvbWFpbiBmb3JOYW1l
Ok5TQXJndW1lbnREb21haW5dOwogCiAgICAgW05TQXBwbGljYXRpb24gc2hhcmVkQXBwbGljYXRp
b25dOwogICAgIF9CZWdpbkV2ZW50UmVjZWlwdE9uVGhyZWFkKCk7IC8vIE1ha2VzIHdpbmRvdyB2
aXNpYmlsaXR5IG5vdGlmaWNhdGlvbnMgd29yayAoYW5kIHBvc3NpYmx5IG1vcmUpLgpkaWZmIC0t
Z2l0IGEvVG9vbHMvV2ViS2l0TGF1bmNoZXIvbWFpbi5tIGIvVG9vbHMvV2ViS2l0TGF1bmNoZXIv
bWFpbi5tCmluZGV4IDQzMTU1ZmQ2NGNjLi4yNWQ3N2YyZTQxYiAxMDA2NDQKLS0tIGEvVG9vbHMv
V2ViS2l0TGF1bmNoZXIvbWFpbi5tCisrKyBiL1Rvb2xzL1dlYktpdExhdW5jaGVyL21haW4ubQpA
QCAtNTYsMTQgKzU2LDE2IEBAIHN0YXRpYyB2b2lkIGRpc3BsYXlFcnJvckFuZFF1aXQoTlNTdHJp
bmcgKnRpdGxlLCBOU1N0cmluZyAqbWVzc2FnZSkKIAogc3RhdGljIGludCBnZXRMYXN0VmVyc2lv
blNob3duKCkKIHsKLSAgICBbW05TVXNlckRlZmF1bHRzIHN0YW5kYXJkVXNlckRlZmF1bHRzXSBy
ZWdpc3RlckRlZmF1bHRzOltOU0RpY3Rpb25hcnkgZGljdGlvbmFyeVdpdGhPYmplY3Q6QCItMSIg
Zm9yS2V5OkAiU3RhcnRQYWdlU2hvd25JblZlcnNpb24iXV07Ci0gICAgcmV0dXJuIFtbTlNVc2Vy
RGVmYXVsdHMgc3RhbmRhcmRVc2VyRGVmYXVsdHNdIGludGVnZXJGb3JLZXk6QCJTdGFydFBhZ2VT
aG93bkluVmVyc2lvbiJdOworICAgIE5TVXNlckRlZmF1bHRzICpkZWZhdWx0cyA9IFtOU1VzZXJE
ZWZhdWx0cyBzdGFuZGFyZFVzZXJEZWZhdWx0c107CisgICAgW2RlZmF1bHRzIHJlZ2lzdGVyRGVm
YXVsdHM6W05TRGljdGlvbmFyeSBkaWN0aW9uYXJ5V2l0aE9iamVjdDpAIi0xIiBmb3JLZXk6QCJT
dGFydFBhZ2VTaG93bkluVmVyc2lvbiJdXTsKKyAgICByZXR1cm4gW2RlZmF1bHRzIGludGVnZXJG
b3JLZXk6QCJTdGFydFBhZ2VTaG93bkluVmVyc2lvbiJdOwogfQogCiBzdGF0aWMgdm9pZCBzYXZl
TGFzdFZlcnNpb25TaG93bihpbnQgbGFzdFZlcnNpb24pCiB7Ci0gICAgW1tOU1VzZXJEZWZhdWx0
cyBzdGFuZGFyZFVzZXJEZWZhdWx0c10gc2V0SW50ZWdlcjpsYXN0VmVyc2lvbiBmb3JLZXk6QCJT
dGFydFBhZ2VTaG93bkluVmVyc2lvbiJdOwotICAgIFtbTlNVc2VyRGVmYXVsdHMgc3RhbmRhcmRV
c2VyRGVmYXVsdHNdIHN5bmNocm9uaXplXTsKKyAgICBOU1VzZXJEZWZhdWx0cyAqZGVmYXVsdHMg
PSBbTlNVc2VyRGVmYXVsdHMgc3RhbmRhcmRVc2VyRGVmYXVsdHNdOworICAgIFtkZWZhdWx0cyBz
ZXRJbnRlZ2VyOmxhc3RWZXJzaW9uIGZvcktleTpAIlN0YXJ0UGFnZVNob3duSW5WZXJzaW9uIl07
CisgICAgW2RlZmF1bHRzIHN5bmNocm9uaXplXTsKIH0KIAogc3RhdGljIE5TU3RyaW5nICpnZXRQ
YXRoRm9yU3RhcnRQYWdlKCkKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5q
ZWN0ZWRCdW5kbGUvbWFjL0luamVjdGVkQnVuZGxlTWFjLm1tIGIvVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9JbmplY3RlZEJ1bmRsZS9tYWMvSW5qZWN0ZWRCdW5kbGVNYWMubW0KaW5kZXggNTBiMWIx
M2Q3NjUuLjVhZjllYjY0OTliIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0lu
amVjdGVkQnVuZGxlL21hYy9JbmplY3RlZEJ1bmRsZU1hYy5tbQorKysgYi9Ub29scy9XZWJLaXRU
ZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL21hYy9JbmplY3RlZEJ1bmRsZU1hYy5tbQpAQCAtNDMs
NyArNDMsOCBAQCB2b2lkIEluamVjdGVkQnVuZGxlOjpwbGF0Zm9ybUluaXRpYWxpemUoV0tUeXBl
UmVmIGluaXRpYWxpemF0aW9uVXNlckRhdGEpCiAgICAgc2V0ZW52KCJYVFlQRV9BTExPV19BVVRP
QUNUSVZBVElPTiIsICIxIiwgMCk7CiAKICAgICAvLyBMYW5ndWFnZSB3YXMgc2V0IHVwIGVhcmxp
ZXIgaW4gbWFpbigpLiBEb24ndCBjbG9iYmVyIGl0LgotICAgIE5TQXJyYXkgKmxhbmd1YWdlcyA9
IFtbW05TVXNlckRlZmF1bHRzIHN0YW5kYXJkVXNlckRlZmF1bHRzXSB2b2xhdGlsZURvbWFpbkZv
ck5hbWU6TlNBcmd1bWVudERvbWFpbl0gdmFsdWVGb3JLZXk6QCJBcHBsZUxhbmd1YWdlcyJdOwor
ICAgIE5TVXNlckRlZmF1bHRzICpkZWZhdWx0cyA9IFtOU1VzZXJEZWZhdWx0cyBzdGFuZGFyZFVz
ZXJEZWZhdWx0c107CisgICAgTlNBcnJheSAqbGFuZ3VhZ2VzID0gW1tkZWZhdWx0cyB2b2xhdGls
ZURvbWFpbkZvck5hbWU6TlNBcmd1bWVudERvbWFpbl0gdmFsdWVGb3JLZXk6QCJBcHBsZUxhbmd1
YWdlcyJdOwogICAgIGlmICghbGFuZ3VhZ2VzKQogICAgICAgICBsYW5ndWFnZXMgPSBAWyBAImVu
IiBdOwogCkBAIC03Myw3ICs3NCw3IEBAIHZvaWQgSW5qZWN0ZWRCdW5kbGU6OnBsYXRmb3JtSW5p
dGlhbGl6ZShXS1R5cGVSZWYgaW5pdGlhbGl6YXRpb25Vc2VyRGF0YSkKICAgICAgICAgQCJjb20u
YXBwbGUudHJhY2twYWQuZm9yY2VDbGljayI6IEAxLAogICAgIH07CiAKLSAgICBbW05TVXNlckRl
ZmF1bHRzIHN0YW5kYXJkVXNlckRlZmF1bHRzXSBzZXRWb2xhdGlsZURvbWFpbjpkaWN0IGZvck5h
bWU6TlNBcmd1bWVudERvbWFpbl07CisgICAgW2RlZmF1bHRzIHNldFZvbGF0aWxlRG9tYWluOmRp
Y3QgZm9yTmFtZTpOU0FyZ3VtZW50RG9tYWluXTsKIAogICAgIC8vIFVuZGVybHlpbmcgZnJhbWV3
b3JrcyBoYXZlIGFscmVhZHkgcmVhZCBBcHBsZUFudGlBbGlhc2luZ1RocmVzaG9sZCBkZWZhdWx0
IGJlZm9yZSB3ZSBjaGFuZ2VkIGl0LgogICAgIC8vIEEgZGlzdHJpYnV0ZWQgbm90aWZpY2F0aW9u
IGlzIGRlbGl2ZXJlZCB0byBhbGwgYXBwbGljYXRpb25zLCBidXQgaXQgc2hvdWxkIGJlIGhhcm1s
ZXNzLCBhbmQgaXQncyB0aGUgb25seSB3YXkgdG8gdXBkYXRlIGFsbCB1bmRlcmx5aW5nIGZyYW1l
d29ya3MgYW55d2F5LgpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9jb2NvYS9U
ZXN0Q29udHJvbGxlckNvY29hLm1tIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9jb2NvYS9UZXN0
Q29udHJvbGxlckNvY29hLm1tCmluZGV4IDQwODc3MzViYTI1Li43OWExNThlM2Q3MSAxMDA2NDQK
LS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9jb2NvYS9UZXN0Q29udHJvbGxlckNvY29hLm1t
CisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvY29jb2EvVGVzdENvbnRyb2xsZXJDb2NvYS5t
bQpAQCAtMTI2LDkgKzEyNiwxMCBAQCBXS1ByZWZlcmVuY2VzUmVmIFRlc3RDb250cm9sbGVyOjpw
bGF0Zm9ybVByZWZlcmVuY2VzKCkKIAogdm9pZCBUZXN0Q29udHJvbGxlcjo6cGxhdGZvcm1BZGRU
ZXN0T3B0aW9ucyhUZXN0T3B0aW9ucyYgb3B0aW9ucykgY29uc3QKIHsKLSAgICBpZiAoW1tOU1Vz
ZXJEZWZhdWx0cyBzdGFuZGFyZFVzZXJEZWZhdWx0c10gYm9vbEZvcktleTpAIkVuYWJsZVByb2Nl
c3NTd2FwT25OYXZpZ2F0aW9uIl0pCisgICAgTlNVc2VyRGVmYXVsdHMgKmRlZmF1bHRzID0gW05T
VXNlckRlZmF1bHRzIHN0YW5kYXJkVXNlckRlZmF1bHRzXTsKKyAgICBpZiAoW2RlZmF1bHRzIGJv
b2xGb3JLZXk6QCJFbmFibGVQcm9jZXNzU3dhcE9uTmF2aWdhdGlvbiJdKQogICAgICAgICBvcHRp
b25zLmNvbnRleHRPcHRpb25zLmVuYWJsZVByb2Nlc3NTd2FwT25OYXZpZ2F0aW9uID0gdHJ1ZTsK
LSAgICBpZiAoW1tOU1VzZXJEZWZhdWx0cyBzdGFuZGFyZFVzZXJEZWZhdWx0c10gYm9vbEZvcktl
eTpAIkVuYWJsZVByb2Nlc3NTd2FwT25XaW5kb3dPcGVuIl0pCisgICAgaWYgKFtkZWZhdWx0cyBi
b29sRm9yS2V5OkAiRW5hYmxlUHJvY2Vzc1N3YXBPbldpbmRvd09wZW4iXSkKICAgICAgICAgb3B0
aW9ucy5jb250ZXh0T3B0aW9ucy5lbmFibGVQcm9jZXNzU3dhcE9uV2luZG93T3BlbiA9IHRydWU7
CiB9CiAK
</data>
<flag name="review"
          id="386272"
          type_id="1"
          status="+"
          setter="achristensen"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>370326</attachid>
            <date>2019-05-21 10:53:39 -0700</date>
            <delta_ts>2019-05-21 10:53:39 -0700</delta_ts>
            <desc>[PATCH] For Landing</desc>
            <filename>dup-3.patch</filename>
            <type>text/plain</type>
            <size>70951</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCAxZGM2ZjFmN2QzZC4uZGZmZjk5YWNjYmMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNyBAQAorMjAxOS0wNS0yMCAgSm9zZXBoIFBlY29yYXJvICA8cGVjb3Jhcm9AYXBwbGUu
Y29tPgorCisgICAgICAgIFJlbW92ZSB1bm5lY2Vzc2FyeSBkdXBsaWNhdGUgc2VsZWN0b3IgaW52
b2NhdGlvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE5ODA2NgorCisgICAgICAgIFJldmlld2VkIGJ5IEFsZXggQ2hyaXN0ZW5zZW4uCisKKyAgICAg
ICAgKiBwbGF0Zm9ybS9nYW1lcGFkL2NvY29hL0dhbWVDb250cm9sbGVyR2FtZXBhZFByb3ZpZGVy
Lm1tOgorICAgICAgICAoV2ViQ29yZTo6R2FtZUNvbnRyb2xsZXJHYW1lcGFkUHJvdmlkZXI6OnN0
b3BNb25pdG9yaW5nR2FtZXBhZHMpOgorICAgICAgICAqIHBsYXRmb3JtL21hYy9TY3JvbGxiYXJU
aGVtZU1hYy5tbToKKyAgICAgICAgKCtbV2ViU2Nyb2xsYmFyUHJlZnNPYnNlcnZlciByZWdpc3Rl
ckFzT2JzZXJ2ZXJdKToKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQVZDYXB0
dXJlRGV2aWNlTWFuYWdlci5tbToKKyAgICAgICAgKFdlYkNvcmU6OkFWQ2FwdHVyZURldmljZU1h
bmFnZXI6OnJlZ2lzdGVyRm9yRGV2aWNlTm90aWZpY2F0aW9ucyk6CisKIDIwMTktMDUtMjAgIFJv
c3MgS2lyc2xpbmcgIDxyb3NzLmtpcnNsaW5nQHNvbnkuY29tPgogCiAgICAgICAgIE1ha2UgbG9z
c3kgTGF5b3V0VW5pdCBjb25zdHJ1Y3RvcnMgZXhwbGljaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dhbWVwYWQvY29jb2EvR2FtZUNvbnRyb2xsZXJHYW1lcGFkUHJvdmlk
ZXIubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9nYW1lcGFkL2NvY29hL0dhbWVDb250cm9s
bGVyR2FtZXBhZFByb3ZpZGVyLm1tCmluZGV4IGY3MjBjZmQzMzQzLi4yNjg1NzcxNmNmMCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2FtZXBhZC9jb2NvYS9HYW1lQ29udHJv
bGxlckdhbWVwYWRQcm92aWRlci5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9nYW1l
cGFkL2NvY29hL0dhbWVDb250cm9sbGVyR2FtZXBhZFByb3ZpZGVyLm1tCkBAIC0xMzAsOCArMTMw
LDkgQEAgdm9pZCBHYW1lQ29udHJvbGxlckdhbWVwYWRQcm92aWRlcjo6c3RvcE1vbml0b3JpbmdH
YW1lcGFkcyhHYW1lcGFkUHJvdmlkZXJDbGllbnQKICAgICBpZiAoIW1fY29ubmVjdE9ic2VydmVy
IHx8ICFtX2NsaWVudHMuaXNFbXB0eSgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBbW05TTm90
aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJdIHJlbW92ZU9ic2VydmVyOm1fY29ubmVjdE9i
c2VydmVyLmdldCgpXTsKLSAgICBbW05TTm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJd
IHJlbW92ZU9ic2VydmVyOm1fZGlzY29ubmVjdE9ic2VydmVyLmdldCgpXTsKKyAgICBOU05vdGlm
aWNhdGlvbkNlbnRlciAqY2VudGVyID0gW05TTm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50
ZXJdOworICAgIFtjZW50ZXIgcmVtb3ZlT2JzZXJ2ZXI6bV9jb25uZWN0T2JzZXJ2ZXIuZ2V0KCld
OworICAgIFtjZW50ZXIgcmVtb3ZlT2JzZXJ2ZXI6bV9kaXNjb25uZWN0T2JzZXJ2ZXIuZ2V0KCld
OwogfQogCiB1bnNpZ25lZCBHYW1lQ29udHJvbGxlckdhbWVwYWRQcm92aWRlcjo6aW5kZXhGb3JO
ZXdseUNvbm5lY3RlZERldmljZSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tYWMvU2Nyb2xsYmFyVGhlbWVNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMv
U2Nyb2xsYmFyVGhlbWVNYWMubW0KaW5kZXggYjVkOTI2YTFiNTcuLjlhN2EzY2I3NWFhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsYmFyVGhlbWVNYWMubW0K
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbGJhclRoZW1lTWFjLm1tCkBA
IC0xMTIsOCArMTEyLDkgQEAgKyAodm9pZCliZWhhdmlvclByZWZzQ2hhbmdlZDooTlNOb3RpZmlj
YXRpb24gKil1bnVzZWROb3RpZmljYXRpb24KIAogKyAodm9pZClyZWdpc3RlckFzT2JzZXJ2ZXIK
IHsKLSAgICBbW05TRGlzdHJpYnV0ZWROb3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl0g
YWRkT2JzZXJ2ZXI6c2VsZiBzZWxlY3RvcjpAc2VsZWN0b3IoYXBwZWFyYW5jZVByZWZzQ2hhbmdl
ZDopIG5hbWU6QCJBcHBsZUFxdWFTY3JvbGxCYXJWYXJpYW50Q2hhbmdlZCIgb2JqZWN0Om5pbCBz
dXNwZW5zaW9uQmVoYXZpb3I6TlNOb3RpZmljYXRpb25TdXNwZW5zaW9uQmVoYXZpb3JEZWxpdmVy
SW1tZWRpYXRlbHldOwotICAgIFtbTlNEaXN0cmlidXRlZE5vdGlmaWNhdGlvbkNlbnRlciBkZWZh
dWx0Q2VudGVyXSBhZGRPYnNlcnZlcjpzZWxmIHNlbGVjdG9yOkBzZWxlY3RvcihiZWhhdmlvclBy
ZWZzQ2hhbmdlZDopIG5hbWU6QCJBcHBsZU5vUmVkaXNwbGF5QXBwZWFyYW5jZVByZWZlcmVuY2VD
aGFuZ2VkIiBvYmplY3Q6bmlsIHN1c3BlbnNpb25CZWhhdmlvcjpOU05vdGlmaWNhdGlvblN1c3Bl
bnNpb25CZWhhdmlvckNvYWxlc2NlXTsKKyAgICBOU0Rpc3RyaWJ1dGVkTm90aWZpY2F0aW9uQ2Vu
dGVyICpkaXN0cmlidXRlZENlbnRlciA9IFtOU0Rpc3RyaWJ1dGVkTm90aWZpY2F0aW9uQ2VudGVy
IGRlZmF1bHRDZW50ZXJdOworICAgIFtkaXN0cmlidXRlZENlbnRlciBhZGRPYnNlcnZlcjpzZWxm
IHNlbGVjdG9yOkBzZWxlY3RvcihhcHBlYXJhbmNlUHJlZnNDaGFuZ2VkOikgbmFtZTpAIkFwcGxl
QXF1YVNjcm9sbEJhclZhcmlhbnRDaGFuZ2VkIiBvYmplY3Q6bmlsIHN1c3BlbnNpb25CZWhhdmlv
cjpOU05vdGlmaWNhdGlvblN1c3BlbnNpb25CZWhhdmlvckRlbGl2ZXJJbW1lZGlhdGVseV07Cisg
ICAgW2Rpc3RyaWJ1dGVkQ2VudGVyIGFkZE9ic2VydmVyOnNlbGYgc2VsZWN0b3I6QHNlbGVjdG9y
KGJlaGF2aW9yUHJlZnNDaGFuZ2VkOikgbmFtZTpAIkFwcGxlTm9SZWRpc3BsYXlBcHBlYXJhbmNl
UHJlZmVyZW5jZUNoYW5nZWQiIG9iamVjdDpuaWwgc3VzcGVuc2lvbkJlaGF2aW9yOk5TTm90aWZp
Y2F0aW9uU3VzcGVuc2lvbkJlaGF2aW9yQ29hbGVzY2VdOwogICAgIFtbTlNOb3RpZmljYXRpb25D
ZW50ZXIgZGVmYXVsdENlbnRlcl0gYWRkT2JzZXJ2ZXI6c2VsZiBzZWxlY3RvcjpAc2VsZWN0b3Io
YmVoYXZpb3JQcmVmc0NoYW5nZWQ6KSBuYW1lOk5TUHJlZmVycmVkU2Nyb2xsZXJTdHlsZURpZENo
YW5nZU5vdGlmaWNhdGlvbiBvYmplY3Q6bmlsXTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0FWQ2FwdHVyZURldmljZU1hbmFnZXIubW0g
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQVZDYXB0dXJlRGV2aWNl
TWFuYWdlci5tbQppbmRleCAxYzQyZTIwZDkzYi4uMWNkZTY4NTRiODEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9BVkNhcHR1cmVEZXZpY2VNYW5h
Z2VyLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9BVkNh
cHR1cmVEZXZpY2VNYW5hZ2VyLm1tCkBAIC0xODQsOCArMTg0LDkgQEAgQVZDYXB0dXJlRGV2aWNl
TWFuYWdlcjo6fkFWQ2FwdHVyZURldmljZU1hbmFnZXIoKQogCiB2b2lkIEFWQ2FwdHVyZURldmlj
ZU1hbmFnZXI6OnJlZ2lzdGVyRm9yRGV2aWNlTm90aWZpY2F0aW9ucygpCiB7Ci0gICAgW1tOU05v
dGlmaWNhdGlvbkNlbnRlciBkZWZhdWx0Q2VudGVyXSBhZGRPYnNlcnZlcjptX29iamNPYnNlcnZl
ci5nZXQoKSBzZWxlY3RvcjpAc2VsZWN0b3IoZGV2aWNlQ29ubmVjdGVkRGlkQ2hhbmdlOikgbmFt
ZTpBVkNhcHR1cmVEZXZpY2VXYXNDb25uZWN0ZWROb3RpZmljYXRpb24gb2JqZWN0Om5pbF07Ci0g
ICAgW1tOU05vdGlmaWNhdGlvbkNlbnRlciBkZWZhdWx0Q2VudGVyXSBhZGRPYnNlcnZlcjptX29i
amNPYnNlcnZlci5nZXQoKSBzZWxlY3RvcjpAc2VsZWN0b3IoZGV2aWNlQ29ubmVjdGVkRGlkQ2hh
bmdlOikgbmFtZTpBVkNhcHR1cmVEZXZpY2VXYXNEaXNjb25uZWN0ZWROb3RpZmljYXRpb24gb2Jq
ZWN0Om5pbF07CisgICAgTlNOb3RpZmljYXRpb25DZW50ZXIgKmNlbnRlciA9IFtOU05vdGlmaWNh
dGlvbkNlbnRlciBkZWZhdWx0Q2VudGVyXTsKKyAgICBbY2VudGVyIGFkZE9ic2VydmVyOm1fb2Jq
Y09ic2VydmVyLmdldCgpIHNlbGVjdG9yOkBzZWxlY3RvcihkZXZpY2VDb25uZWN0ZWREaWRDaGFu
Z2U6KSBuYW1lOkFWQ2FwdHVyZURldmljZVdhc0Nvbm5lY3RlZE5vdGlmaWNhdGlvbiBvYmplY3Q6
bmlsXTsKKyAgICBbY2VudGVyIGFkZE9ic2VydmVyOm1fb2JqY09ic2VydmVyLmdldCgpIHNlbGVj
dG9yOkBzZWxlY3RvcihkZXZpY2VDb25uZWN0ZWREaWRDaGFuZ2U6KSBuYW1lOkFWQ2FwdHVyZURl
dmljZVdhc0Rpc2Nvbm5lY3RlZE5vdGlmaWNhdGlvbiBvYmplY3Q6bmlsXTsKIH0KIAogfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCA2YjVkYThkNjY1Ny4uOTE2ZWU0YWY2ZDAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMzcgQEAKKzIwMTktMDUtMjAgIEpvc2VwaCBQZWNvcmFybyAgPHBl
Y29yYXJvQGFwcGxlLmNvbT4KKworICAgICAgICBSZW1vdmUgdW5uZWNlc3NhcnkgZHVwbGljYXRl
IHNlbGVjdG9yIGludm9jYXRpb25zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xOTgwNjYKKworICAgICAgICBSZXZpZXdlZCBieSBBbGV4IENocmlzdGVu
c2VuLgorCisgICAgICAgICogUGx1Z2luUHJvY2Vzcy9tYWMvUGx1Z2luUHJvY2Vzc01hYy5tbToK
KyAgICAgICAgKFdlYktpdDo6aW5pdGlhbGl6ZUNvY29hT3ZlcnJpZGVzKToKKyAgICAgICAgKiBV
SVByb2Nlc3MvQXBwbGljYXRpb25TdGF0ZVRyYWNrZXIubW06CisgICAgICAgICogVUlQcm9jZXNz
L0NvY29hL0Rvd25sb2FkUHJveHlNYXBDb2NvYS5tbToKKyAgICAgICAgKFdlYktpdDo6RG93bmxv
YWRQcm94eU1hcDo6cGxhdGZvcm1DcmVhdGUpOgorICAgICAgICAoV2ViS2l0OjpEb3dubG9hZFBy
b3h5TWFwOjpwbGF0Zm9ybURlc3Ryb3kpOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9XZWJQ
cm9jZXNzUG9vbENvY29hLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzUG9vbDo6cGxh
dGZvcm1Jbml0aWFsaXplV2ViUHJvY2Vzcyk6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQ
b29sOjpyZWdpc3Rlck5vdGlmaWNhdGlvbk9ic2VydmVycyk6CisgICAgICAgIChXZWJLaXQ6Oldl
YlByb2Nlc3NQb29sOjp1bnJlZ2lzdGVyTm90aWZpY2F0aW9uT2JzZXJ2ZXJzKToKKyAgICAgICAg
KiBVSVByb2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwubW06CisgICAgICAgICgtW1dLV2luZG93Vmlz
aWJpbGl0eU9ic2VydmVyIHN0YXJ0T2JzZXJ2aW5nOl0pOgorICAgICAgICAoLVtXS1dpbmRvd1Zp
c2liaWxpdHlPYnNlcnZlciBzdG9wT2JzZXJ2aW5nOl0pOgorICAgICAgICAoV2ViS2l0OjpXZWJW
aWV3SW1wbDo6dXBkYXRlVGV4dFRvdWNoQmFyKToKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1By
b2Nlc3NBc3NlcnRpb25JT1MubW06CisgICAgICAgICgtW1dLUHJvY2Vzc0Fzc2VydGlvbkJhY2tn
cm91bmRUYXNrTWFuYWdlciBpbml0XSk6CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9XS0NvbnRl
bnRWaWV3Lm1tOgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IF9jb21tb25Jbml0aWFsaXphdGlv
bldpdGhQcm9jZXNzUG9vbDpjb25maWd1cmF0aW9uOl0pOgorICAgICAgICAqIFVJUHJvY2Vzcy9p
b3MvZm9ybXMvV0tEYXRlUGlja2VyVmlld0NvbnRyb2xsZXIubW06CisgICAgICAgICgtW1dLRGF0
ZVBpY2tlclZpZXdDb250cm9sbGVyIHZpZXdXaWxsQXBwZWFyOl0pOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9tYWMvVGV4dENoZWNrZXJNYWMubW06CisgICAgICAgIChXZWJLaXQ6Om11dGFibGVTdGF0
ZSk6CisgICAgICAgIChXZWJLaXQ6OlRleHRDaGVja2VyOjpzZXRUZXN0aW5nTW9kZSk6CisgICAg
ICAgIChXZWJLaXQ6OlRleHRDaGVja2VyOjppc0NvbnRpbnVvdXNTcGVsbENoZWNraW5nQWxsb3dl
ZCk6CisgICAgICAgICogVUlQcm9jZXNzL21hYy9XZWJJbnNwZWN0b3JQcm94eU1hYy5tbToKKyAg
ICAgICAgKFdlYktpdDo6V2ViSW5zcGVjdG9yUHJveHk6OmF0dGFjaG1lbnRWaWV3RGlkQ2hhbmdl
KToKKwogMjAxOS0wNS0yMCAgUm9zcyBLaXJzbGluZyAgPHJvc3Mua2lyc2xpbmdAc29ueS5jb20+
CiAKICAgICAgICAgTWFrZSBsb3NzeSBMYXlvdXRVbml0IGNvbnN0cnVjdG9ycyBleHBsaWNpdApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9QbHVnaW5Qcm9jZXNzL21hYy9QbHVnaW5Qcm9jZXNz
TWFjLm1tIGIvU291cmNlL1dlYktpdC9QbHVnaW5Qcm9jZXNzL21hYy9QbHVnaW5Qcm9jZXNzTWFj
Lm1tCmluZGV4IGJkM2FiMDgwYmNjLi43Y2EwNDg1OWMzOSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9QbHVnaW5Qcm9jZXNzL21hYy9QbHVnaW5Qcm9jZXNzTWFjLm1tCisrKyBiL1NvdXJjZS9X
ZWJLaXQvUGx1Z2luUHJvY2Vzcy9tYWMvUGx1Z2luUHJvY2Vzc01hYy5tbQpAQCAtMzE3LDE1ICsz
MTcsMTUgQEAgc3RhdGljIHZvaWQgaW5pdGlhbGl6ZUNvY29hT3ZlcnJpZGVzKCkKICAgICBNZXRo
b2QgcnVuTW9kYWxGb3JXaW5kb3dNZXRob2QgPSBjbGFzc19nZXRJbnN0YW5jZU1ldGhvZChvYmpj
X2dldENsYXNzKCJOU0FwcGxpY2F0aW9uIiksIEBzZWxlY3RvcihydW5Nb2RhbEZvcldpbmRvdzop
KTsKICAgICBOU0FwcGxpY2F0aW9uX1J1bk1vZGFsRm9yV2luZG93ID0gbWV0aG9kX3NldEltcGxl
bWVudGF0aW9uKHJ1bk1vZGFsRm9yV2luZG93TWV0aG9kLCByZWludGVycHJldF9jYXN0PElNUD4o
cmVwbGFjZWRSdW5Nb2RhbEZvcldpbmRvdykpOwogCi0gICAgTlNOb3RpZmljYXRpb25DZW50ZXIg
KmRlZmF1bHRDZW50ZXIgPSBbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl07Cisg
ICAgTlNOb3RpZmljYXRpb25DZW50ZXIgKmNlbnRlciA9IFtOU05vdGlmaWNhdGlvbkNlbnRlciBk
ZWZhdWx0Q2VudGVyXTsKIAogICAgIC8vIFRyYWNrIHdoZW4gYW55IENvY29hIHdpbmRvdyBpcyBh
Ym91dCB0byBiZSBiZSBzaG93bi4KLSAgICBpZCBvcmRlck9uU2NyZWVuT2JzZXJ2ZXIgPSBbZGVm
YXVsdENlbnRlciBhZGRPYnNlcnZlckZvck5hbWU6TlNXaW5kb3dXaWxsT3JkZXJPblNjcmVlbk5v
dGlmaWNhdGlvbgorICAgIGlkIG9yZGVyT25TY3JlZW5PYnNlcnZlciA9IFtjZW50ZXIgYWRkT2Jz
ZXJ2ZXJGb3JOYW1lOk5TV2luZG93V2lsbE9yZGVyT25TY3JlZW5Ob3RpZmljYXRpb24KICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmpl
Y3Q6bmlsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHF1ZXVlOm5pbAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB1c2luZ0Jsb2NrOl4oTlNOb3RpZmljYXRpb24gKm5vdGlm
aWNhdGlvbikgeyBmdWxsc2NyZWVuV2luZG93VHJhY2tlcigpLndpbmRvd1Nob3duKFtub3RpZmlj
YXRpb24gb2JqZWN0XSk7IH1dOwogICAgIC8vIFRyYWNrIHdoZW4gYW55IENvY29hIHdpbmRvdyBp
cyBhYm91dCB0byBiZSBoaWRkZW4uCi0gICAgaWQgb3JkZXJPZmZTY3JlZW5PYnNlcnZlciA9IFtk
ZWZhdWx0Q2VudGVyIGFkZE9ic2VydmVyRm9yTmFtZTpOU1dpbmRvd1dpbGxPcmRlck9mZlNjcmVl
bk5vdGlmaWNhdGlvbgorICAgIGlkIG9yZGVyT2ZmU2NyZWVuT2JzZXJ2ZXIgPSBbY2VudGVyIGFk
ZE9ic2VydmVyRm9yTmFtZTpOU1dpbmRvd1dpbGxPcmRlck9mZlNjcmVlbk5vdGlmaWNhdGlvbgog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBvYmplY3Q6bmlsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBxdWV1ZTpuaWwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB1c2luZ0Jsb2NrOl4oTlNOb3RpZmljYXRpb24gKm5v
dGlmaWNhdGlvbikgeyBmdWxsc2NyZWVuV2luZG93VHJhY2tlcigpLndpbmRvd0hpZGRlbihbbm90
aWZpY2F0aW9uIG9iamVjdF0pOyB9XTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0FwcGxpY2F0aW9uU3RhdGVUcmFja2VyLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QXBwbGljYXRpb25TdGF0ZVRyYWNrZXIubW0KaW5kZXggYTIzZDRiZjhiZjEuLjIwYTA2MDczYjVi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BcHBsaWNhdGlvblN0YXRlVHJh
Y2tlci5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BcHBsaWNhdGlvblN0YXRlVHJh
Y2tlci5tbQpAQCAtODksMTIgKzg5LDEyIEBAIEFwcGxpY2F0aW9uU3RhdGVUcmFja2VyOjpBcHBs
aWNhdGlvblN0YXRlVHJhY2tlcihVSVZpZXcgKnZpZXcsIFNFTCBkaWRFbnRlckJhY2tnCiAgICAg
VUlXaW5kb3cgKndpbmRvdyA9IFttX3ZpZXcuZ2V0KCkgd2luZG93XTsKICAgICBBU1NFUlQod2lu
ZG93KTsKIAotICAgIE5TTm90aWZpY2F0aW9uQ2VudGVyICpub3RpZmljYXRpb25DZW50ZXIgPSBb
TlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl07CisgICAgTlNOb3RpZmljYXRpb25D
ZW50ZXIgKmNlbnRlciA9IFtOU05vdGlmaWNhdGlvbkNlbnRlciBkZWZhdWx0Q2VudGVyXTsKICAg
ICBVSUFwcGxpY2F0aW9uICphcHBsaWNhdGlvbiA9IFtVSUFwcGxpY2F0aW9uIHNoYXJlZEFwcGxp
Y2F0aW9uXTsKIAogICAgIGF1dG8gd2Vha1RoaXMgPSBtYWtlV2Vha1B0cigqdGhpcyk7CiAKLSAg
ICBtX2RpZEZpbmlzaFNuYXBzaG90dGluZ0FmdGVyRW50ZXJpbmdCYWNrZ3JvdW5kT2JzZXJ2ZXIg
PSBbbm90aWZpY2F0aW9uQ2VudGVyIGFkZE9ic2VydmVyRm9yTmFtZTpAIl9VSUFwcGxpY2F0aW9u
RGlkRmluaXNoU3VzcGVuc2lvblNuYXBzaG90Tm90aWZpY2F0aW9uIiBvYmplY3Q6YXBwbGljYXRp
b24gcXVldWU6bmlsIHVzaW5nQmxvY2s6W3dlYWtUaGlzXShOU05vdGlmaWNhdGlvbiAqKSB7Cisg
ICAgbV9kaWRGaW5pc2hTbmFwc2hvdHRpbmdBZnRlckVudGVyaW5nQmFja2dyb3VuZE9ic2VydmVy
ID0gW2NlbnRlciBhZGRPYnNlcnZlckZvck5hbWU6QCJfVUlBcHBsaWNhdGlvbkRpZEZpbmlzaFN1
c3BlbnNpb25TbmFwc2hvdE5vdGlmaWNhdGlvbiIgb2JqZWN0OmFwcGxpY2F0aW9uIHF1ZXVlOm5p
bCB1c2luZ0Jsb2NrOlt3ZWFrVGhpc10oTlNOb3RpZmljYXRpb24gKikgewogICAgICAgICBhdXRv
IGFwcGxpY2F0aW9uU3RhdGVUcmFja2VyID0gd2Vha1RoaXMuZ2V0KCk7CiAgICAgICAgIGlmICgh
YXBwbGljYXRpb25TdGF0ZVRyYWNrZXIpCiAgICAgICAgICAgICByZXR1cm47CkBAIC0xMDYsMTcg
KzEwNiwxNyBAQCBBcHBsaWNhdGlvblN0YXRlVHJhY2tlcjo6QXBwbGljYXRpb25TdGF0ZVRyYWNr
ZXIoVUlWaWV3ICp2aWV3LCBTRUwgZGlkRW50ZXJCYWNrZwogICAgICAgICBtX2lzSW5CYWNrZ3Jv
dW5kID0gYXBwbGljYXRpb24uYXBwbGljYXRpb25TdGF0ZSA9PSBVSUFwcGxpY2F0aW9uU3RhdGVC
YWNrZ3JvdW5kOwogCiAjaWYgSEFWRShVSVNDRU5FKQotICAgICAgICBtX2RpZEVudGVyQmFja2dy
b3VuZE9ic2VydmVyID0gW25vdGlmaWNhdGlvbkNlbnRlciBhZGRPYnNlcnZlckZvck5hbWU6VUlT
Y2VuZURpZEVudGVyQmFja2dyb3VuZE5vdGlmaWNhdGlvbiBvYmplY3Q6d2luZG93LndpbmRvd1Nj
ZW5lIHF1ZXVlOm5pbCB1c2luZ0Jsb2NrOlt0aGlzXShOU05vdGlmaWNhdGlvbiAqKSB7CisgICAg
ICAgIG1fZGlkRW50ZXJCYWNrZ3JvdW5kT2JzZXJ2ZXIgPSBbY2VudGVyIGFkZE9ic2VydmVyRm9y
TmFtZTpVSVNjZW5lRGlkRW50ZXJCYWNrZ3JvdW5kTm90aWZpY2F0aW9uIG9iamVjdDp3aW5kb3cu
d2luZG93U2NlbmUgcXVldWU6bmlsIHVzaW5nQmxvY2s6W3RoaXNdKE5TTm90aWZpY2F0aW9uICop
IHsKICNlbHNlCi0gICAgICAgIG1fZGlkRW50ZXJCYWNrZ3JvdW5kT2JzZXJ2ZXIgPSBbbm90aWZp
Y2F0aW9uQ2VudGVyIGFkZE9ic2VydmVyRm9yTmFtZTpVSUFwcGxpY2F0aW9uRGlkRW50ZXJCYWNr
Z3JvdW5kTm90aWZpY2F0aW9uIG9iamVjdDphcHBsaWNhdGlvbiBxdWV1ZTpuaWwgdXNpbmdCbG9j
azpbdGhpc10oTlNOb3RpZmljYXRpb24gKikgeworICAgICAgICBtX2RpZEVudGVyQmFja2dyb3Vu
ZE9ic2VydmVyID0gW2NlbnRlciBhZGRPYnNlcnZlckZvck5hbWU6VUlBcHBsaWNhdGlvbkRpZEVu
dGVyQmFja2dyb3VuZE5vdGlmaWNhdGlvbiBvYmplY3Q6YXBwbGljYXRpb24gcXVldWU6bmlsIHVz
aW5nQmxvY2s6W3RoaXNdKE5TTm90aWZpY2F0aW9uICopIHsKICNlbmRpZgogICAgICAgICAgICAg
YXBwbGljYXRpb25EaWRFbnRlckJhY2tncm91bmQoKTsKICAgICAgICAgfV07CiAKICNpZiBIQVZF
KFVJU0NFTkUpCi0gICAgICAgIG1fd2lsbEVudGVyRm9yZWdyb3VuZE9ic2VydmVyID0gW25vdGlm
aWNhdGlvbkNlbnRlciBhZGRPYnNlcnZlckZvck5hbWU6VUlTY2VuZVdpbGxFbnRlckZvcmVncm91
bmROb3RpZmljYXRpb24gb2JqZWN0OndpbmRvdy53aW5kb3dTY2VuZSBxdWV1ZTpuaWwgdXNpbmdC
bG9jazpbdGhpc10oTlNOb3RpZmljYXRpb24gKikgeworICAgICAgICBtX3dpbGxFbnRlckZvcmVn
cm91bmRPYnNlcnZlciA9IFtjZW50ZXIgYWRkT2JzZXJ2ZXJGb3JOYW1lOlVJU2NlbmVXaWxsRW50
ZXJGb3JlZ3JvdW5kTm90aWZpY2F0aW9uIG9iamVjdDp3aW5kb3cud2luZG93U2NlbmUgcXVldWU6
bmlsIHVzaW5nQmxvY2s6W3RoaXNdKE5TTm90aWZpY2F0aW9uICopIHsKICNlbHNlCi0gICAgICAg
IG1fd2lsbEVudGVyRm9yZWdyb3VuZE9ic2VydmVyID0gW25vdGlmaWNhdGlvbkNlbnRlciBhZGRP
YnNlcnZlckZvck5hbWU6VUlBcHBsaWNhdGlvbldpbGxFbnRlckZvcmVncm91bmROb3RpZmljYXRp
b24gb2JqZWN0OmFwcGxpY2F0aW9uIHF1ZXVlOm5pbCB1c2luZ0Jsb2NrOlt0aGlzXShOU05vdGlm
aWNhdGlvbiAqKSB7CisgICAgICAgIG1fd2lsbEVudGVyRm9yZWdyb3VuZE9ic2VydmVyID0gW2Nl
bnRlciBhZGRPYnNlcnZlckZvck5hbWU6VUlBcHBsaWNhdGlvbldpbGxFbnRlckZvcmVncm91bmRO
b3RpZmljYXRpb24gb2JqZWN0OmFwcGxpY2F0aW9uIHF1ZXVlOm5pbCB1c2luZ0Jsb2NrOlt0aGlz
XShOU05vdGlmaWNhdGlvbiAqKSB7CiAjZW5kaWYKICAgICAgICAgICAgIGFwcGxpY2F0aW9uV2ls
bEVudGVyRm9yZWdyb3VuZCgpOwogICAgICAgICB9XTsKQEAgLTE1MCwxMCArMTUwLDEwIEBAIEFw
cGxpY2F0aW9uU3RhdGVUcmFja2VyOjpBcHBsaWNhdGlvblN0YXRlVHJhY2tlcihVSVZpZXcgKnZp
ZXcsIFNFTCBkaWRFbnRlckJhY2tnCiAgICAgICAgIGlmIChbc2VydmljZVZpZXdDb250cm9sbGVy
Ll9ob3N0QXBwbGljYXRpb25CdW5kbGVJZGVudGlmaWVyIGlzRXF1YWxUb1N0cmluZzpAImNvbS5h
cHBsZS5pb3MuU3RvcmVLaXRVSVNlcnZpY2UiXSkKICAgICAgICAgICAgIG1faXNJbkJhY2tncm91
bmQgPSBmYWxzZTsKIAotICAgICAgICBtX2RpZEVudGVyQmFja2dyb3VuZE9ic2VydmVyID0gW25v
dGlmaWNhdGlvbkNlbnRlciBhZGRPYnNlcnZlckZvck5hbWU6QCJfVUlWaWV3U2VydmljZUhvc3RE
aWRFbnRlckJhY2tncm91bmROb3RpZmljYXRpb24iIG9iamVjdDpzZXJ2aWNlVmlld0NvbnRyb2xs
ZXIgcXVldWU6bmlsIHVzaW5nQmxvY2s6W3RoaXNdKE5TTm90aWZpY2F0aW9uICopIHsKKyAgICAg
ICAgbV9kaWRFbnRlckJhY2tncm91bmRPYnNlcnZlciA9IFtjZW50ZXIgYWRkT2JzZXJ2ZXJGb3JO
YW1lOkAiX1VJVmlld1NlcnZpY2VIb3N0RGlkRW50ZXJCYWNrZ3JvdW5kTm90aWZpY2F0aW9uIiBv
YmplY3Q6c2VydmljZVZpZXdDb250cm9sbGVyIHF1ZXVlOm5pbCB1c2luZ0Jsb2NrOlt0aGlzXShO
U05vdGlmaWNhdGlvbiAqKSB7CiAgICAgICAgICAgICBhcHBsaWNhdGlvbkRpZEVudGVyQmFja2dy
b3VuZCgpOwogICAgICAgICB9XTsKLSAgICAgICAgbV93aWxsRW50ZXJGb3JlZ3JvdW5kT2JzZXJ2
ZXIgPSBbbm90aWZpY2F0aW9uQ2VudGVyIGFkZE9ic2VydmVyRm9yTmFtZTpAIl9VSVZpZXdTZXJ2
aWNlSG9zdFdpbGxFbnRlckZvcmVncm91bmROb3RpZmljYXRpb24iIG9iamVjdDpzZXJ2aWNlVmll
d0NvbnRyb2xsZXIgcXVldWU6bmlsIHVzaW5nQmxvY2s6W3RoaXNdKE5TTm90aWZpY2F0aW9uICop
IHsKKyAgICAgICAgbV93aWxsRW50ZXJGb3JlZ3JvdW5kT2JzZXJ2ZXIgPSBbY2VudGVyIGFkZE9i
c2VydmVyRm9yTmFtZTpAIl9VSVZpZXdTZXJ2aWNlSG9zdFdpbGxFbnRlckZvcmVncm91bmROb3Rp
ZmljYXRpb24iIG9iamVjdDpzZXJ2aWNlVmlld0NvbnRyb2xsZXIgcXVldWU6bmlsIHVzaW5nQmxv
Y2s6W3RoaXNdKE5TTm90aWZpY2F0aW9uICopIHsKICAgICAgICAgICAgIGFwcGxpY2F0aW9uV2ls
bEVudGVyRm9yZWdyb3VuZCgpOwogICAgICAgICB9XTsKIApAQCAtMTk1LDEwICsxOTUsMTAgQEAg
QXBwbGljYXRpb25TdGF0ZVRyYWNrZXI6On5BcHBsaWNhdGlvblN0YXRlVHJhY2tlcigpCiAgICAg
ICAgIHJldHVybjsKICAgICB9CiAKLSAgICBOU05vdGlmaWNhdGlvbkNlbnRlciAqbm90aWZpY2F0
aW9uQ2VudGVyID0gW05TTm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJdOwotICAgIFtu
b3RpZmljYXRpb25DZW50ZXIgcmVtb3ZlT2JzZXJ2ZXI6bV9kaWRFbnRlckJhY2tncm91bmRPYnNl
cnZlcl07Ci0gICAgW25vdGlmaWNhdGlvbkNlbnRlciByZW1vdmVPYnNlcnZlcjptX2RpZEZpbmlz
aFNuYXBzaG90dGluZ0FmdGVyRW50ZXJpbmdCYWNrZ3JvdW5kT2JzZXJ2ZXJdOwotICAgIFtub3Rp
ZmljYXRpb25DZW50ZXIgcmVtb3ZlT2JzZXJ2ZXI6bV93aWxsRW50ZXJGb3JlZ3JvdW5kT2JzZXJ2
ZXJdOworICAgIE5TTm90aWZpY2F0aW9uQ2VudGVyICpjZW50ZXIgPSBbTlNOb3RpZmljYXRpb25D
ZW50ZXIgZGVmYXVsdENlbnRlcl07CisgICAgW2NlbnRlciByZW1vdmVPYnNlcnZlcjptX2RpZEVu
dGVyQmFja2dyb3VuZE9ic2VydmVyXTsKKyAgICBbY2VudGVyIHJlbW92ZU9ic2VydmVyOm1fZGlk
RmluaXNoU25hcHNob3R0aW5nQWZ0ZXJFbnRlcmluZ0JhY2tncm91bmRPYnNlcnZlcl07CisgICAg
W2NlbnRlciByZW1vdmVPYnNlcnZlcjptX3dpbGxFbnRlckZvcmVncm91bmRPYnNlcnZlcl07CiB9
CiAKIHZvaWQgQXBwbGljYXRpb25TdGF0ZVRyYWNrZXI6OmFwcGxpY2F0aW9uRGlkRW50ZXJCYWNr
Z3JvdW5kKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL0Rvd25s
b2FkUHJveHlNYXBDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL0Rvd25s
b2FkUHJveHlNYXBDb2NvYS5tbQppbmRleCBhYzkxY2Q2YjIxNy4uOTA1OWZhZjUzYzcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL0Rvd25sb2FkUHJveHlNYXBDb2Nv
YS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9Eb3dubG9hZFByb3h5TWFw
Q29jb2EubW0KQEAgLTM1LDEyICszNSwxMyBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIHZvaWQgRG93
bmxvYWRQcm94eU1hcDo6cGxhdGZvcm1DcmVhdGUoKQogewogI2lmIFBMQVRGT1JNKElPU19GQU1J
TFkpCi0gICAgbV9iYWNrZ3JvdW5kT2JzZXJ2ZXIgPSBbW05TTm90aWZpY2F0aW9uQ2VudGVyIGRl
ZmF1bHRDZW50ZXJdIGFkZE9ic2VydmVyRm9yTmFtZTpVSUFwcGxpY2F0aW9uRGlkRW50ZXJCYWNr
Z3JvdW5kTm90aWZpY2F0aW9uIG9iamVjdDpbVUlBcHBsaWNhdGlvbiBzaGFyZWRBcHBsaWNhdGlv
bl0gcXVldWU6bmlsIHVzaW5nQmxvY2s6bWFrZUJsb2NrUHRyKFt3ZWFrVGhpcyA9IG1ha2VXZWFr
UHRyKCp0aGlzKV0oTlNOb3RpZmljYXRpb24gKikgeworICAgIE5TTm90aWZpY2F0aW9uQ2VudGVy
ICpjZW50ZXIgPSBbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl07CisgICAgbV9i
YWNrZ3JvdW5kT2JzZXJ2ZXIgPSBbY2VudGVyIGFkZE9ic2VydmVyRm9yTmFtZTpVSUFwcGxpY2F0
aW9uRGlkRW50ZXJCYWNrZ3JvdW5kTm90aWZpY2F0aW9uIG9iamVjdDpbVUlBcHBsaWNhdGlvbiBz
aGFyZWRBcHBsaWNhdGlvbl0gcXVldWU6bmlsIHVzaW5nQmxvY2s6bWFrZUJsb2NrUHRyKFt3ZWFr
VGhpcyA9IG1ha2VXZWFrUHRyKCp0aGlzKV0oTlNOb3RpZmljYXRpb24gKikgewogICAgICAgICBp
ZiAoIXdlYWtUaGlzKQogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB3ZWFrVGhpcy0+YXBw
bGljYXRpb25EaWRFbnRlckJhY2tncm91bmQoKTsKICAgICB9KS5nZXQoKV07Ci0gICAgbV9mb3Jl
Z3JvdW5kT2JzZXJ2ZXIgPSBbW05TTm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJdIGFk
ZE9ic2VydmVyRm9yTmFtZTpVSUFwcGxpY2F0aW9uV2lsbEVudGVyRm9yZWdyb3VuZE5vdGlmaWNh
dGlvbiBvYmplY3Q6W1VJQXBwbGljYXRpb24gc2hhcmVkQXBwbGljYXRpb25dIHF1ZXVlOm5pbCB1
c2luZ0Jsb2NrOm1ha2VCbG9ja1B0cihbd2Vha1RoaXMgPSBtYWtlV2Vha1B0cigqdGhpcyldKE5T
Tm90aWZpY2F0aW9uICopIHsKKyAgICBtX2ZvcmVncm91bmRPYnNlcnZlciA9IFtjZW50ZXIgYWRk
T2JzZXJ2ZXJGb3JOYW1lOlVJQXBwbGljYXRpb25XaWxsRW50ZXJGb3JlZ3JvdW5kTm90aWZpY2F0
aW9uIG9iamVjdDpbVUlBcHBsaWNhdGlvbiBzaGFyZWRBcHBsaWNhdGlvbl0gcXVldWU6bmlsIHVz
aW5nQmxvY2s6bWFrZUJsb2NrUHRyKFt3ZWFrVGhpcyA9IG1ha2VXZWFrUHRyKCp0aGlzKV0oTlNO
b3RpZmljYXRpb24gKikgewogICAgICAgICBpZiAoIXdlYWtUaGlzKQogICAgICAgICAgICAgcmV0
dXJuOwogICAgICAgICB3ZWFrVGhpcy0+YXBwbGljYXRpb25XaWxsRW50ZXJGb3JlZ3JvdW5kKCk7
CkBAIC01MSw4ICs1Miw5IEBAIHZvaWQgRG93bmxvYWRQcm94eU1hcDo6cGxhdGZvcm1DcmVhdGUo
KQogdm9pZCBEb3dubG9hZFByb3h5TWFwOjpwbGF0Zm9ybURlc3Ryb3koKQogewogI2lmIFBMQVRG
T1JNKElPU19GQU1JTFkpCi0gICAgW1tOU05vdGlmaWNhdGlvbkNlbnRlciBkZWZhdWx0Q2VudGVy
XSByZW1vdmVPYnNlcnZlcjptX2JhY2tncm91bmRPYnNlcnZlci5nZXQoKV07Ci0gICAgW1tOU05v
dGlmaWNhdGlvbkNlbnRlciBkZWZhdWx0Q2VudGVyXSByZW1vdmVPYnNlcnZlcjptX2ZvcmVncm91
bmRPYnNlcnZlci5nZXQoKV07CisgICAgTlNOb3RpZmljYXRpb25DZW50ZXIgKmNlbnRlciA9IFtO
U05vdGlmaWNhdGlvbkNlbnRlciBkZWZhdWx0Q2VudGVyXTsKKyAgICBbY2VudGVyIHJlbW92ZU9i
c2VydmVyOm1fYmFja2dyb3VuZE9ic2VydmVyLmdldCgpXTsKKyAgICBbY2VudGVyIHJlbW92ZU9i
c2VydmVyOm1fZm9yZWdyb3VuZE9ic2VydmVyLmdldCgpXTsKICNlbmRpZgogfQogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1t
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbQpp
bmRleCA4MDc2MzJmZjU3Yy4uMjFkOWI1OTk2YmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW0KKysrIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbQpAQCAtMjM5LDggKzIzOSw4
IEBAIHZvaWQgV2ViUHJvY2Vzc1Bvb2w6OnBsYXRmb3JtSW5pdGlhbGl6ZVdlYlByb2Nlc3MoV2Vi
UHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyYKICNlbmRpZgogCiAjaWYgIUxPR19ESVNBQkxFRCB8
fCAhUkVMRUFTRV9MT0dfRElTQUJMRUQKLSAgICBwYXJhbWV0ZXJzLndlYkNvcmVMb2dnaW5nQ2hh
bm5lbHMgPSBbW05TVXNlckRlZmF1bHRzIHN0YW5kYXJkVXNlckRlZmF1bHRzXSBzdHJpbmdGb3JL
ZXk6QCJXZWJDb3JlTG9nZ2luZyJdOwotICAgIHBhcmFtZXRlcnMud2ViS2l0TG9nZ2luZ0NoYW5u
ZWxzID0gW1tOU1VzZXJEZWZhdWx0cyBzdGFuZGFyZFVzZXJEZWZhdWx0c10gc3RyaW5nRm9yS2V5
OkAiV2ViS2l0MkxvZ2dpbmciXTsKKyAgICBwYXJhbWV0ZXJzLndlYkNvcmVMb2dnaW5nQ2hhbm5l
bHMgPSBbZGVmYXVsdHMgc3RyaW5nRm9yS2V5OkAiV2ViQ29yZUxvZ2dpbmciXTsKKyAgICBwYXJh
bWV0ZXJzLndlYktpdExvZ2dpbmdDaGFubmVscyA9IFtkZWZhdWx0cyBzdHJpbmdGb3JLZXk6QCJX
ZWJLaXQyTG9nZ2luZyJdOwogI2VuZGlmCiAKICAgICAvLyBGSVhNRTogUmVtb3ZlIHRoaXMgYW5k
IHJlbGF0ZWQgcGFyYW1ldGVyIHdoZW4gPHJkYXI6Ly9wcm9ibGVtLzI5NDQ4MzY4PiBpcyBmaXhl
ZC4KQEAgLTQwNCwyOCArNDA0LDMwIEBAIHZvaWQgV2ViUHJvY2Vzc1Bvb2w6OmJhY2tsaWdodExl
dmVsRGlkQ2hhbmdlQ2FsbGJhY2soQ0ZOb3RpZmljYXRpb25DZW50ZXJSZWYgY2VuCiAKIHZvaWQg
V2ViUHJvY2Vzc1Bvb2w6OnJlZ2lzdGVyTm90aWZpY2F0aW9uT2JzZXJ2ZXJzKCkKIHsKKyAgICBO
U05vdGlmaWNhdGlvbkNlbnRlciAqY2VudGVyID0gW05TTm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1
bHRDZW50ZXJdOworCiAjaWYgIVBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAgLy8gTGlzdGVuIGZv
ciBlbmhhbmNlZCBhY2Nlc3NpYmlsaXR5IGNoYW5nZXMgYW5kIHByb3BhZ2F0ZSB0aGVtIHRvIHRo
ZSBXZWJQcm9jZXNzLgotICAgIG1fZW5oYW5jZWRBY2Nlc3NpYmlsaXR5T2JzZXJ2ZXIgPSBbW05T
Tm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJdIGFkZE9ic2VydmVyRm9yTmFtZTpXZWJL
aXRBcHBsaWNhdGlvbkRpZENoYW5nZUFjY2Vzc2liaWxpdHlFbmhhbmNlZFVzZXJJbnRlcmZhY2VO
b3RpZmljYXRpb24gb2JqZWN0Om5pbCBxdWV1ZTpbTlNPcGVyYXRpb25RdWV1ZSBjdXJyZW50UXVl
dWVdIHVzaW5nQmxvY2s6XihOU05vdGlmaWNhdGlvbiAqbm90ZSkgeworICAgIG1fZW5oYW5jZWRB
Y2Nlc3NpYmlsaXR5T2JzZXJ2ZXIgPSBbY2VudGVyIGFkZE9ic2VydmVyRm9yTmFtZTpXZWJLaXRB
cHBsaWNhdGlvbkRpZENoYW5nZUFjY2Vzc2liaWxpdHlFbmhhbmNlZFVzZXJJbnRlcmZhY2VOb3Rp
ZmljYXRpb24gb2JqZWN0Om5pbCBxdWV1ZTpbTlNPcGVyYXRpb25RdWV1ZSBjdXJyZW50UXVldWVd
IHVzaW5nQmxvY2s6XihOU05vdGlmaWNhdGlvbiAqbm90ZSkgewogICAgICAgICBzZXRFbmhhbmNl
ZEFjY2Vzc2liaWxpdHkoW1tbbm90ZSB1c2VySW5mb10gb2JqZWN0Rm9yS2V5OkAiQVhFbmhhbmNl
ZFVzZXJJbnRlcmZhY2UiXSBib29sVmFsdWVdKTsKICAgICB9XTsKIAotICAgIG1fYXV0b21hdGlj
VGV4dFJlcGxhY2VtZW50Tm90aWZpY2F0aW9uT2JzZXJ2ZXIgPSBbW05TTm90aWZpY2F0aW9uQ2Vu
dGVyIGRlZmF1bHRDZW50ZXJdIGFkZE9ic2VydmVyRm9yTmFtZTpOU1NwZWxsQ2hlY2tlckRpZENo
YW5nZUF1dG9tYXRpY1RleHRSZXBsYWNlbWVudE5vdGlmaWNhdGlvbiBvYmplY3Q6bmlsIHF1ZXVl
OltOU09wZXJhdGlvblF1ZXVlIGN1cnJlbnRRdWV1ZV0gdXNpbmdCbG9jazpeKE5TTm90aWZpY2F0
aW9uICpub3RpZmljYXRpb24pIHsKKyAgICBtX2F1dG9tYXRpY1RleHRSZXBsYWNlbWVudE5vdGlm
aWNhdGlvbk9ic2VydmVyID0gW2NlbnRlciBhZGRPYnNlcnZlckZvck5hbWU6TlNTcGVsbENoZWNr
ZXJEaWRDaGFuZ2VBdXRvbWF0aWNUZXh0UmVwbGFjZW1lbnROb3RpZmljYXRpb24gb2JqZWN0Om5p
bCBxdWV1ZTpbTlNPcGVyYXRpb25RdWV1ZSBjdXJyZW50UXVldWVdIHVzaW5nQmxvY2s6XihOU05v
dGlmaWNhdGlvbiAqbm90aWZpY2F0aW9uKSB7CiAgICAgICAgIFRleHRDaGVja2VyOjpkaWRDaGFu
Z2VBdXRvbWF0aWNUZXh0UmVwbGFjZW1lbnRFbmFibGVkKCk7CiAgICAgICAgIHRleHRDaGVja2Vy
U3RhdGVDaGFuZ2VkKCk7CiAgICAgfV07CiAgICAgCi0gICAgbV9hdXRvbWF0aWNTcGVsbGluZ0Nv
cnJlY3Rpb25Ob3RpZmljYXRpb25PYnNlcnZlciA9IFtbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVm
YXVsdENlbnRlcl0gYWRkT2JzZXJ2ZXJGb3JOYW1lOk5TU3BlbGxDaGVja2VyRGlkQ2hhbmdlQXV0
b21hdGljU3BlbGxpbmdDb3JyZWN0aW9uTm90aWZpY2F0aW9uIG9iamVjdDpuaWwgcXVldWU6W05T
T3BlcmF0aW9uUXVldWUgY3VycmVudFF1ZXVlXSB1c2luZ0Jsb2NrOl4oTlNOb3RpZmljYXRpb24g
Km5vdGlmaWNhdGlvbikgeworICAgIG1fYXV0b21hdGljU3BlbGxpbmdDb3JyZWN0aW9uTm90aWZp
Y2F0aW9uT2JzZXJ2ZXIgPSBbY2VudGVyIGFkZE9ic2VydmVyRm9yTmFtZTpOU1NwZWxsQ2hlY2tl
ckRpZENoYW5nZUF1dG9tYXRpY1NwZWxsaW5nQ29ycmVjdGlvbk5vdGlmaWNhdGlvbiBvYmplY3Q6
bmlsIHF1ZXVlOltOU09wZXJhdGlvblF1ZXVlIGN1cnJlbnRRdWV1ZV0gdXNpbmdCbG9jazpeKE5T
Tm90aWZpY2F0aW9uICpub3RpZmljYXRpb24pIHsKICAgICAgICAgVGV4dENoZWNrZXI6OmRpZENo
YW5nZUF1dG9tYXRpY1NwZWxsaW5nQ29ycmVjdGlvbkVuYWJsZWQoKTsKICAgICAgICAgdGV4dENo
ZWNrZXJTdGF0ZUNoYW5nZWQoKTsKICAgICB9XTsKIAotICAgIG1fYXV0b21hdGljUXVvdGVTdWJz
dGl0dXRpb25Ob3RpZmljYXRpb25PYnNlcnZlciA9IFtbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVm
YXVsdENlbnRlcl0gYWRkT2JzZXJ2ZXJGb3JOYW1lOk5TU3BlbGxDaGVja2VyRGlkQ2hhbmdlQXV0
b21hdGljUXVvdGVTdWJzdGl0dXRpb25Ob3RpZmljYXRpb24gb2JqZWN0Om5pbCBxdWV1ZTpbTlNP
cGVyYXRpb25RdWV1ZSBjdXJyZW50UXVldWVdIHVzaW5nQmxvY2s6XihOU05vdGlmaWNhdGlvbiAq
bm90aWZpY2F0aW9uKSB7CisgICAgbV9hdXRvbWF0aWNRdW90ZVN1YnN0aXR1dGlvbk5vdGlmaWNh
dGlvbk9ic2VydmVyID0gW2NlbnRlciBhZGRPYnNlcnZlckZvck5hbWU6TlNTcGVsbENoZWNrZXJE
aWRDaGFuZ2VBdXRvbWF0aWNRdW90ZVN1YnN0aXR1dGlvbk5vdGlmaWNhdGlvbiBvYmplY3Q6bmls
IHF1ZXVlOltOU09wZXJhdGlvblF1ZXVlIGN1cnJlbnRRdWV1ZV0gdXNpbmdCbG9jazpeKE5TTm90
aWZpY2F0aW9uICpub3RpZmljYXRpb24pIHsKICAgICAgICAgVGV4dENoZWNrZXI6OmRpZENoYW5n
ZUF1dG9tYXRpY1F1b3RlU3Vic3RpdHV0aW9uRW5hYmxlZCgpOwogICAgICAgICB0ZXh0Q2hlY2tl
clN0YXRlQ2hhbmdlZCgpOwogICAgIH1dOwogCi0gICAgbV9hdXRvbWF0aWNEYXNoU3Vic3RpdHV0
aW9uTm90aWZpY2F0aW9uT2JzZXJ2ZXIgPSBbW05TTm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRD
ZW50ZXJdIGFkZE9ic2VydmVyRm9yTmFtZTpOU1NwZWxsQ2hlY2tlckRpZENoYW5nZUF1dG9tYXRp
Y0Rhc2hTdWJzdGl0dXRpb25Ob3RpZmljYXRpb24gb2JqZWN0Om5pbCBxdWV1ZTpbTlNPcGVyYXRp
b25RdWV1ZSBjdXJyZW50UXVldWVdIHVzaW5nQmxvY2s6XihOU05vdGlmaWNhdGlvbiAqbm90aWZp
Y2F0aW9uKSB7CisgICAgbV9hdXRvbWF0aWNEYXNoU3Vic3RpdHV0aW9uTm90aWZpY2F0aW9uT2Jz
ZXJ2ZXIgPSBbY2VudGVyIGFkZE9ic2VydmVyRm9yTmFtZTpOU1NwZWxsQ2hlY2tlckRpZENoYW5n
ZUF1dG9tYXRpY0Rhc2hTdWJzdGl0dXRpb25Ob3RpZmljYXRpb24gb2JqZWN0Om5pbCBxdWV1ZTpb
TlNPcGVyYXRpb25RdWV1ZSBjdXJyZW50UXVldWVdIHVzaW5nQmxvY2s6XihOU05vdGlmaWNhdGlv
biAqbm90aWZpY2F0aW9uKSB7CiAgICAgICAgIFRleHRDaGVja2VyOjpkaWRDaGFuZ2VBdXRvbWF0
aWNEYXNoU3Vic3RpdHV0aW9uRW5hYmxlZCgpOwogICAgICAgICB0ZXh0Q2hlY2tlclN0YXRlQ2hh
bmdlZCgpOwogICAgIH1dOwpAQCAtNDM1LDIyICs0MzcsMjIgQEAgdm9pZCBXZWJQcm9jZXNzUG9v
bDo6cmVnaXN0ZXJOb3RpZmljYXRpb25PYnNlcnZlcnMoKQogICAgIH1dOwogCiAjaWYgRU5BQkxF
KFdFQlBST0NFU1NfV0lORE9XU0VSVkVSX0JMT0NLSU5HKQotICAgIG1fc2Nyb2xsZXJTdHlsZU5v
dGlmaWNhdGlvbk9ic2VydmVyID0gW1tOU05vdGlmaWNhdGlvbkNlbnRlciBkZWZhdWx0Q2VudGVy
XSBhZGRPYnNlcnZlckZvck5hbWU6TlNQcmVmZXJyZWRTY3JvbGxlclN0eWxlRGlkQ2hhbmdlTm90
aWZpY2F0aW9uIG9iamVjdDpuaWwgcXVldWU6W05TT3BlcmF0aW9uUXVldWUgY3VycmVudFF1ZXVl
XSB1c2luZ0Jsb2NrOl4oTlNOb3RpZmljYXRpb24gKm5vdGlmaWNhdGlvbikgeworICAgIG1fc2Ny
b2xsZXJTdHlsZU5vdGlmaWNhdGlvbk9ic2VydmVyID0gW2NlbnRlciBhZGRPYnNlcnZlckZvck5h
bWU6TlNQcmVmZXJyZWRTY3JvbGxlclN0eWxlRGlkQ2hhbmdlTm90aWZpY2F0aW9uIG9iamVjdDpu
aWwgcXVldWU6W05TT3BlcmF0aW9uUXVldWUgY3VycmVudFF1ZXVlXSB1c2luZ0Jsb2NrOl4oTlNO
b3RpZmljYXRpb24gKm5vdGlmaWNhdGlvbikgewogICAgICAgICBhdXRvIHNjcm9sbGJhclN0eWxl
ID0gW05TU2Nyb2xsZXIgcHJlZmVycmVkU2Nyb2xsZXJTdHlsZV07CiAgICAgICAgIHNlbmRUb0Fs
bFByb2Nlc3NlcyhNZXNzYWdlczo6V2ViUHJvY2Vzczo6U2Nyb2xsZXJTdHlsZVByZWZlcmVuY2VD
aGFuZ2VkKHNjcm9sbGJhclN0eWxlKSk7CiAgICAgfV07CiAjZW5kaWYKIAotICAgIG1fYWN0aXZh
dGlvbk9ic2VydmVyID0gW1tOU05vdGlmaWNhdGlvbkNlbnRlciBkZWZhdWx0Q2VudGVyXSBhZGRP
YnNlcnZlckZvck5hbWU6TlNBcHBsaWNhdGlvbkRpZEJlY29tZUFjdGl2ZU5vdGlmaWNhdGlvbiBv
YmplY3Q6TlNBcHAgcXVldWU6W05TT3BlcmF0aW9uUXVldWUgY3VycmVudFF1ZXVlXSB1c2luZ0Js
b2NrOl4oTlNOb3RpZmljYXRpb24gKm5vdGlmaWNhdGlvbikgeworICAgIG1fYWN0aXZhdGlvbk9i
c2VydmVyID0gW2NlbnRlciBhZGRPYnNlcnZlckZvck5hbWU6TlNBcHBsaWNhdGlvbkRpZEJlY29t
ZUFjdGl2ZU5vdGlmaWNhdGlvbiBvYmplY3Q6TlNBcHAgcXVldWU6W05TT3BlcmF0aW9uUXVldWUg
Y3VycmVudFF1ZXVlXSB1c2luZ0Jsb2NrOl4oTlNOb3RpZmljYXRpb24gKm5vdGlmaWNhdGlvbikg
ewogICAgICAgICBzZXRBcHBsaWNhdGlvbklzQWN0aXZlKHRydWUpOwogICAgIH1dOwogCi0gICAg
bV9kZWFjdGl2YXRpb25PYnNlcnZlciA9IFtbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENl
bnRlcl0gYWRkT2JzZXJ2ZXJGb3JOYW1lOk5TQXBwbGljYXRpb25EaWRSZXNpZ25BY3RpdmVOb3Rp
ZmljYXRpb24gb2JqZWN0Ok5TQXBwIHF1ZXVlOltOU09wZXJhdGlvblF1ZXVlIGN1cnJlbnRRdWV1
ZV0gdXNpbmdCbG9jazpeKE5TTm90aWZpY2F0aW9uICpub3RpZmljYXRpb24pIHsKKyAgICBtX2Rl
YWN0aXZhdGlvbk9ic2VydmVyID0gW2NlbnRlciBhZGRPYnNlcnZlckZvck5hbWU6TlNBcHBsaWNh
dGlvbkRpZFJlc2lnbkFjdGl2ZU5vdGlmaWNhdGlvbiBvYmplY3Q6TlNBcHAgcXVldWU6W05TT3Bl
cmF0aW9uUXVldWUgY3VycmVudFF1ZXVlXSB1c2luZ0Jsb2NrOl4oTlNOb3RpZmljYXRpb24gKm5v
dGlmaWNhdGlvbikgewogICAgICAgICBzZXRBcHBsaWNhdGlvbklzQWN0aXZlKGZhbHNlKTsKICAg
ICB9XTsKICNlbGlmIFBMQVRGT1JNKElPUykKICAgICBDRk5vdGlmaWNhdGlvbkNlbnRlckFkZE9i
c2VydmVyKENGTm90aWZpY2F0aW9uQ2VudGVyR2V0RGFyd2luTm90aWZ5Q2VudGVyKCksIHRoaXMs
IGJhY2tsaWdodExldmVsRGlkQ2hhbmdlQ2FsbGJhY2ssIHN0YXRpY19jYXN0PENGU3RyaW5nUmVm
PihVSUJhY2tsaWdodExldmVsQ2hhbmdlZE5vdGlmaWNhdGlvbiksIG51bGxwdHIsIENGTm90aWZp
Y2F0aW9uU3VzcGVuc2lvbkJlaGF2aW9yQ29hbGVzY2UpOwotICAgIG1fYWNjZXNzaWJpbGl0eUVu
YWJsZWRPYnNlcnZlciA9IFtbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl0gYWRk
T2JzZXJ2ZXJGb3JOYW1lOihfX2JyaWRnZSBpZClrQVhTQXBwbGljYXRpb25BY2Nlc3NpYmlsaXR5
RW5hYmxlZE5vdGlmaWNhdGlvbiBvYmplY3Q6bmlsIHF1ZXVlOltOU09wZXJhdGlvblF1ZXVlIGN1
cnJlbnRRdWV1ZV0gdXNpbmdCbG9jazpeKE5TTm90aWZpY2F0aW9uICopIHsKKyAgICBtX2FjY2Vz
c2liaWxpdHlFbmFibGVkT2JzZXJ2ZXIgPSBbY2VudGVyIGFkZE9ic2VydmVyRm9yTmFtZTooX19i
cmlkZ2UgaWQpa0FYU0FwcGxpY2F0aW9uQWNjZXNzaWJpbGl0eUVuYWJsZWROb3RpZmljYXRpb24g
b2JqZWN0Om5pbCBxdWV1ZTpbTlNPcGVyYXRpb25RdWV1ZSBjdXJyZW50UXVldWVdIHVzaW5nQmxv
Y2s6XihOU05vdGlmaWNhdGlvbiAqKSB7CiAgICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwg
bV9wcm9jZXNzZXMuc2l6ZSgpOyArK2kpCiAgICAgICAgICAgICBtX3Byb2Nlc3Nlc1tpXS0+dW5i
bG9ja0FjY2Vzc2liaWxpdHlTZXJ2ZXJJZk5lZWRlZCgpOwogICAgIH1dOwpAQCAtNDYwLDIwICs0
NjIsMjEgQEAgdm9pZCBXZWJQcm9jZXNzUG9vbDo6cmVnaXN0ZXJOb3RpZmljYXRpb25PYnNlcnZl
cnMoKQogdm9pZCBXZWJQcm9jZXNzUG9vbDo6dW5yZWdpc3Rlck5vdGlmaWNhdGlvbk9ic2VydmVy
cygpCiB7CiAjaWYgIVBMQVRGT1JNKElPU19GQU1JTFkpCi0gICAgW1tOU05vdGlmaWNhdGlvbkNl
bnRlciBkZWZhdWx0Q2VudGVyXSByZW1vdmVPYnNlcnZlcjptX2VuaGFuY2VkQWNjZXNzaWJpbGl0
eU9ic2VydmVyLmdldCgpXTsKLSAgICBbW05TTm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50
ZXJdIHJlbW92ZU9ic2VydmVyOm1fYXV0b21hdGljVGV4dFJlcGxhY2VtZW50Tm90aWZpY2F0aW9u
T2JzZXJ2ZXIuZ2V0KCldOwotICAgIFtbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRl
cl0gcmVtb3ZlT2JzZXJ2ZXI6bV9hdXRvbWF0aWNTcGVsbGluZ0NvcnJlY3Rpb25Ob3RpZmljYXRp
b25PYnNlcnZlci5nZXQoKV07Ci0gICAgW1tOU05vdGlmaWNhdGlvbkNlbnRlciBkZWZhdWx0Q2Vu
dGVyXSByZW1vdmVPYnNlcnZlcjptX2F1dG9tYXRpY1F1b3RlU3Vic3RpdHV0aW9uTm90aWZpY2F0
aW9uT2JzZXJ2ZXIuZ2V0KCldOwotICAgIFtbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENl
bnRlcl0gcmVtb3ZlT2JzZXJ2ZXI6bV9hdXRvbWF0aWNEYXNoU3Vic3RpdHV0aW9uTm90aWZpY2F0
aW9uT2JzZXJ2ZXIuZ2V0KCldOworICAgIE5TTm90aWZpY2F0aW9uQ2VudGVyICpjZW50ZXIgPSBb
TlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl07CisgICAgW2NlbnRlciByZW1vdmVP
YnNlcnZlcjptX2VuaGFuY2VkQWNjZXNzaWJpbGl0eU9ic2VydmVyLmdldCgpXTsKKyAgICBbY2Vu
dGVyIHJlbW92ZU9ic2VydmVyOm1fYXV0b21hdGljVGV4dFJlcGxhY2VtZW50Tm90aWZpY2F0aW9u
T2JzZXJ2ZXIuZ2V0KCldOworICAgIFtjZW50ZXIgcmVtb3ZlT2JzZXJ2ZXI6bV9hdXRvbWF0aWNT
cGVsbGluZ0NvcnJlY3Rpb25Ob3RpZmljYXRpb25PYnNlcnZlci5nZXQoKV07CisgICAgW2NlbnRl
ciByZW1vdmVPYnNlcnZlcjptX2F1dG9tYXRpY1F1b3RlU3Vic3RpdHV0aW9uTm90aWZpY2F0aW9u
T2JzZXJ2ZXIuZ2V0KCldOworICAgIFtjZW50ZXIgcmVtb3ZlT2JzZXJ2ZXI6bV9hdXRvbWF0aWNE
YXNoU3Vic3RpdHV0aW9uTm90aWZpY2F0aW9uT2JzZXJ2ZXIuZ2V0KCldOwogICAgIFtbTlNXb3Jr
c3BhY2Uuc2hhcmVkV29ya3NwYWNlIG5vdGlmaWNhdGlvbkNlbnRlcl0gcmVtb3ZlT2JzZXJ2ZXI6
bV9hY2Nlc3NpYmlsaXR5RGlzcGxheU9wdGlvbnNOb3RpZmljYXRpb25PYnNlcnZlci5nZXQoKV07
CiAjaWYgRU5BQkxFKFdFQlBST0NFU1NfV0lORE9XU0VSVkVSX0JMT0NLSU5HKQotICAgIFtbTlNO
b3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl0gcmVtb3ZlT2JzZXJ2ZXI6bV9zY3JvbGxl
clN0eWxlTm90aWZpY2F0aW9uT2JzZXJ2ZXIuZ2V0KCldOworICAgIFtjZW50ZXIgcmVtb3ZlT2Jz
ZXJ2ZXI6bV9zY3JvbGxlclN0eWxlTm90aWZpY2F0aW9uT2JzZXJ2ZXIuZ2V0KCldOwogI2VuZGlm
Ci0gICAgW1tOU05vdGlmaWNhdGlvbkNlbnRlciBkZWZhdWx0Q2VudGVyXSByZW1vdmVPYnNlcnZl
cjptX2FjdGl2YXRpb25PYnNlcnZlci5nZXQoKV07Ci0gICAgW1tOU05vdGlmaWNhdGlvbkNlbnRl
ciBkZWZhdWx0Q2VudGVyXSByZW1vdmVPYnNlcnZlcjptX2RlYWN0aXZhdGlvbk9ic2VydmVyLmdl
dCgpXTsKKyAgICBbY2VudGVyIHJlbW92ZU9ic2VydmVyOm1fYWN0aXZhdGlvbk9ic2VydmVyLmdl
dCgpXTsKKyAgICBbY2VudGVyIHJlbW92ZU9ic2VydmVyOm1fZGVhY3RpdmF0aW9uT2JzZXJ2ZXIu
Z2V0KCldOwogI2VsaWYgUExBVEZPUk0oSU9TKQogICAgIENGTm90aWZpY2F0aW9uQ2VudGVyUmVt
b3ZlT2JzZXJ2ZXIoQ0ZOb3RpZmljYXRpb25DZW50ZXJHZXREYXJ3aW5Ob3RpZnlDZW50ZXIoKSwg
dGhpcywgc3RhdGljX2Nhc3Q8Q0ZTdHJpbmdSZWY+KFVJQmFja2xpZ2h0TGV2ZWxDaGFuZ2VkTm90
aWZpY2F0aW9uKSAsIG51bGxwdHIpOwotICAgIFtbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVs
dENlbnRlcl0gcmVtb3ZlT2JzZXJ2ZXI6bV9hY2Nlc3NpYmlsaXR5RW5hYmxlZE9ic2VydmVyLmdl
dCgpXTsKKyAgICBbY2VudGVyIHJlbW92ZU9ic2VydmVyOm1fYWNjZXNzaWJpbGl0eUVuYWJsZWRP
YnNlcnZlci5nZXQoKV07CiAjZW5kaWYgLy8gIVBMQVRGT1JNKElPU19GQU1JTFkpCiB9CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLm1tIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwubW0KaW5kZXggZGEzYjE4
M2I1MmEuLmY5YTJmODBkZDIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9D
b2NvYS9XZWJWaWV3SW1wbC5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9X
ZWJWaWV3SW1wbC5tbQpAQCAtMjQ3LDIyICsyNDcsMjIgQEAgLSAodm9pZClzdGFydE9ic2Vydmlu
ZzooTlNXaW5kb3cgKil3aW5kb3cKICAgICBpZiAoIXdpbmRvdykKICAgICAgICAgcmV0dXJuOwog
Ci0gICAgTlNOb3RpZmljYXRpb25DZW50ZXIgKmRlZmF1bHROb3RpZmljYXRpb25DZW50ZXIgPSBb
TlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl07CisgICAgTlNOb3RpZmljYXRpb25D
ZW50ZXIgKmNlbnRlciA9IFtOU05vdGlmaWNhdGlvbkNlbnRlciBkZWZhdWx0Q2VudGVyXTsKIAog
ICAgIC8vIEFuIE5TVmlldyBkZXJpdmVkIG9iamVjdCBzdWNoIGFzIFdLVmlldyBjYW5ub3Qgb2Jz
ZXJ2ZSB0aGVzZSBub3RpZmljYXRpb25zLCBiZWNhdXNlIE5TVmlldyBpdHNlbGYgb2JzZXJ2ZXMg
dGhlbS4KLSAgICBbZGVmYXVsdE5vdGlmaWNhdGlvbkNlbnRlciBhZGRPYnNlcnZlcjpzZWxmIHNl
bGVjdG9yOkBzZWxlY3Rvcihfd2luZG93RGlkT3JkZXJPZmZTY3JlZW46KSBuYW1lOkAiTlNXaW5k
b3dEaWRPcmRlck9mZlNjcmVlbk5vdGlmaWNhdGlvbiIgb2JqZWN0OndpbmRvd107Ci0gICAgW2Rl
ZmF1bHROb3RpZmljYXRpb25DZW50ZXIgYWRkT2JzZXJ2ZXI6c2VsZiBzZWxlY3RvcjpAc2VsZWN0
b3IoX3dpbmRvd0RpZE9yZGVyT25TY3JlZW46KSBuYW1lOkAiX05TV2luZG93RGlkQmVjb21lVmlz
aWJsZSIgb2JqZWN0OndpbmRvd107CisgICAgW2NlbnRlciBhZGRPYnNlcnZlcjpzZWxmIHNlbGVj
dG9yOkBzZWxlY3Rvcihfd2luZG93RGlkT3JkZXJPZmZTY3JlZW46KSBuYW1lOkAiTlNXaW5kb3dE
aWRPcmRlck9mZlNjcmVlbk5vdGlmaWNhdGlvbiIgb2JqZWN0OndpbmRvd107CisgICAgW2NlbnRl
ciBhZGRPYnNlcnZlcjpzZWxmIHNlbGVjdG9yOkBzZWxlY3Rvcihfd2luZG93RGlkT3JkZXJPblNj
cmVlbjopIG5hbWU6QCJfTlNXaW5kb3dEaWRCZWNvbWVWaXNpYmxlIiBvYmplY3Q6d2luZG93XTsK
IAotICAgIFtkZWZhdWx0Tm90aWZpY2F0aW9uQ2VudGVyIGFkZE9ic2VydmVyOnNlbGYgc2VsZWN0
b3I6QHNlbGVjdG9yKF93aW5kb3dEaWRCZWNvbWVLZXk6KSBuYW1lOk5TV2luZG93RGlkQmVjb21l
S2V5Tm90aWZpY2F0aW9uIG9iamVjdDpuaWxdOwotICAgIFtkZWZhdWx0Tm90aWZpY2F0aW9uQ2Vu
dGVyIGFkZE9ic2VydmVyOnNlbGYgc2VsZWN0b3I6QHNlbGVjdG9yKF93aW5kb3dEaWRSZXNpZ25L
ZXk6KSBuYW1lOk5TV2luZG93RGlkUmVzaWduS2V5Tm90aWZpY2F0aW9uIG9iamVjdDpuaWxdOwot
ICAgIFtkZWZhdWx0Tm90aWZpY2F0aW9uQ2VudGVyIGFkZE9ic2VydmVyOnNlbGYgc2VsZWN0b3I6
QHNlbGVjdG9yKF93aW5kb3dEaWRNaW5pYXR1cml6ZTopIG5hbWU6TlNXaW5kb3dEaWRNaW5pYXR1
cml6ZU5vdGlmaWNhdGlvbiBvYmplY3Q6d2luZG93XTsKLSAgICBbZGVmYXVsdE5vdGlmaWNhdGlv
bkNlbnRlciBhZGRPYnNlcnZlcjpzZWxmIHNlbGVjdG9yOkBzZWxlY3Rvcihfd2luZG93RGlkRGVt
aW5pYXR1cml6ZTopIG5hbWU6TlNXaW5kb3dEaWREZW1pbmlhdHVyaXplTm90aWZpY2F0aW9uIG9i
amVjdDp3aW5kb3ddOwotICAgIFtkZWZhdWx0Tm90aWZpY2F0aW9uQ2VudGVyIGFkZE9ic2VydmVy
OnNlbGYgc2VsZWN0b3I6QHNlbGVjdG9yKF93aW5kb3dEaWRNb3ZlOikgbmFtZTpOU1dpbmRvd0Rp
ZE1vdmVOb3RpZmljYXRpb24gb2JqZWN0OndpbmRvd107Ci0gICAgW2RlZmF1bHROb3RpZmljYXRp
b25DZW50ZXIgYWRkT2JzZXJ2ZXI6c2VsZiBzZWxlY3RvcjpAc2VsZWN0b3IoX3dpbmRvd0RpZFJl
c2l6ZTopIG5hbWU6TlNXaW5kb3dEaWRSZXNpemVOb3RpZmljYXRpb24gb2JqZWN0OndpbmRvd107
Ci0gICAgW2RlZmF1bHROb3RpZmljYXRpb25DZW50ZXIgYWRkT2JzZXJ2ZXI6c2VsZiBzZWxlY3Rv
cjpAc2VsZWN0b3IoX3dpbmRvd0RpZENoYW5nZUJhY2tpbmdQcm9wZXJ0aWVzOikgbmFtZTpOU1dp
bmRvd0RpZENoYW5nZUJhY2tpbmdQcm9wZXJ0aWVzTm90aWZpY2F0aW9uIG9iamVjdDp3aW5kb3dd
OwotICAgIFtkZWZhdWx0Tm90aWZpY2F0aW9uQ2VudGVyIGFkZE9ic2VydmVyOnNlbGYgc2VsZWN0
b3I6QHNlbGVjdG9yKF93aW5kb3dEaWRDaGFuZ2VTY3JlZW46KSBuYW1lOk5TV2luZG93RGlkQ2hh
bmdlU2NyZWVuTm90aWZpY2F0aW9uIG9iamVjdDp3aW5kb3ddOwotICAgIFtkZWZhdWx0Tm90aWZp
Y2F0aW9uQ2VudGVyIGFkZE9ic2VydmVyOnNlbGYgc2VsZWN0b3I6QHNlbGVjdG9yKF93aW5kb3dE
aWRDaGFuZ2VMYXllckhvc3Rpbmc6KSBuYW1lOkAiX05TV2luZG93RGlkQ2hhbmdlQ29udGVudHNI
b3N0ZWRJbkxheWVyU3VyZmFjZU5vdGlmaWNhdGlvbiIgb2JqZWN0OndpbmRvd107Ci0gICAgW2Rl
ZmF1bHROb3RpZmljYXRpb25DZW50ZXIgYWRkT2JzZXJ2ZXI6c2VsZiBzZWxlY3RvcjpAc2VsZWN0
b3IoX3dpbmRvd0RpZENoYW5nZU9jY2x1c2lvblN0YXRlOikgbmFtZTpOU1dpbmRvd0RpZENoYW5n
ZU9jY2x1c2lvblN0YXRlTm90aWZpY2F0aW9uIG9iamVjdDp3aW5kb3ddOworICAgIFtjZW50ZXIg
YWRkT2JzZXJ2ZXI6c2VsZiBzZWxlY3RvcjpAc2VsZWN0b3IoX3dpbmRvd0RpZEJlY29tZUtleTop
IG5hbWU6TlNXaW5kb3dEaWRCZWNvbWVLZXlOb3RpZmljYXRpb24gb2JqZWN0Om5pbF07CisgICAg
W2NlbnRlciBhZGRPYnNlcnZlcjpzZWxmIHNlbGVjdG9yOkBzZWxlY3Rvcihfd2luZG93RGlkUmVz
aWduS2V5OikgbmFtZTpOU1dpbmRvd0RpZFJlc2lnbktleU5vdGlmaWNhdGlvbiBvYmplY3Q6bmls
XTsKKyAgICBbY2VudGVyIGFkZE9ic2VydmVyOnNlbGYgc2VsZWN0b3I6QHNlbGVjdG9yKF93aW5k
b3dEaWRNaW5pYXR1cml6ZTopIG5hbWU6TlNXaW5kb3dEaWRNaW5pYXR1cml6ZU5vdGlmaWNhdGlv
biBvYmplY3Q6d2luZG93XTsKKyAgICBbY2VudGVyIGFkZE9ic2VydmVyOnNlbGYgc2VsZWN0b3I6
QHNlbGVjdG9yKF93aW5kb3dEaWREZW1pbmlhdHVyaXplOikgbmFtZTpOU1dpbmRvd0RpZERlbWlu
aWF0dXJpemVOb3RpZmljYXRpb24gb2JqZWN0OndpbmRvd107CisgICAgW2NlbnRlciBhZGRPYnNl
cnZlcjpzZWxmIHNlbGVjdG9yOkBzZWxlY3Rvcihfd2luZG93RGlkTW92ZTopIG5hbWU6TlNXaW5k
b3dEaWRNb3ZlTm90aWZpY2F0aW9uIG9iamVjdDp3aW5kb3ddOworICAgIFtjZW50ZXIgYWRkT2Jz
ZXJ2ZXI6c2VsZiBzZWxlY3RvcjpAc2VsZWN0b3IoX3dpbmRvd0RpZFJlc2l6ZTopIG5hbWU6TlNX
aW5kb3dEaWRSZXNpemVOb3RpZmljYXRpb24gb2JqZWN0OndpbmRvd107CisgICAgW2NlbnRlciBh
ZGRPYnNlcnZlcjpzZWxmIHNlbGVjdG9yOkBzZWxlY3Rvcihfd2luZG93RGlkQ2hhbmdlQmFja2lu
Z1Byb3BlcnRpZXM6KSBuYW1lOk5TV2luZG93RGlkQ2hhbmdlQmFja2luZ1Byb3BlcnRpZXNOb3Rp
ZmljYXRpb24gb2JqZWN0OndpbmRvd107CisgICAgW2NlbnRlciBhZGRPYnNlcnZlcjpzZWxmIHNl
bGVjdG9yOkBzZWxlY3Rvcihfd2luZG93RGlkQ2hhbmdlU2NyZWVuOikgbmFtZTpOU1dpbmRvd0Rp
ZENoYW5nZVNjcmVlbk5vdGlmaWNhdGlvbiBvYmplY3Q6d2luZG93XTsKKyAgICBbY2VudGVyIGFk
ZE9ic2VydmVyOnNlbGYgc2VsZWN0b3I6QHNlbGVjdG9yKF93aW5kb3dEaWRDaGFuZ2VMYXllckhv
c3Rpbmc6KSBuYW1lOkAiX05TV2luZG93RGlkQ2hhbmdlQ29udGVudHNIb3N0ZWRJbkxheWVyU3Vy
ZmFjZU5vdGlmaWNhdGlvbiIgb2JqZWN0OndpbmRvd107CisgICAgW2NlbnRlciBhZGRPYnNlcnZl
cjpzZWxmIHNlbGVjdG9yOkBzZWxlY3Rvcihfd2luZG93RGlkQ2hhbmdlT2NjbHVzaW9uU3RhdGU6
KSBuYW1lOk5TV2luZG93RGlkQ2hhbmdlT2NjbHVzaW9uU3RhdGVOb3RpZmljYXRpb24gb2JqZWN0
OndpbmRvd107CiAKICAgICBbd2luZG93IGFkZE9ic2VydmVyOnNlbGYgZm9yS2V5UGF0aDpAImNv
bnRlbnRMYXlvdXRSZWN0IiBvcHRpb25zOk5TS2V5VmFsdWVPYnNlcnZpbmdPcHRpb25Jbml0aWFs
IGNvbnRleHQ6a2V5VmFsdWVPYnNlcnZpbmdDb250ZXh0XTsKICAgICBbd2luZG93IGFkZE9ic2Vy
dmVyOnNlbGYgZm9yS2V5UGF0aDpAInRpdGxlYmFyQXBwZWFyc1RyYW5zcGFyZW50IiBvcHRpb25z
Ok5TS2V5VmFsdWVPYnNlcnZpbmdPcHRpb25Jbml0aWFsIGNvbnRleHQ6a2V5VmFsdWVPYnNlcnZp
bmdDb250ZXh0XTsKQEAgLTI3MywyMSArMjczLDIxIEBAIC0gKHZvaWQpc3RvcE9ic2VydmluZzoo
TlNXaW5kb3cgKil3aW5kb3cKICAgICBpZiAoIXdpbmRvdykKICAgICAgICAgcmV0dXJuOwogCi0g
ICAgTlNOb3RpZmljYXRpb25DZW50ZXIgKmRlZmF1bHROb3RpZmljYXRpb25DZW50ZXIgPSBbTlNO
b3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl07CisgICAgTlNOb3RpZmljYXRpb25DZW50
ZXIgKmNlbnRlciA9IFtOU05vdGlmaWNhdGlvbkNlbnRlciBkZWZhdWx0Q2VudGVyXTsKIAotICAg
IFtkZWZhdWx0Tm90aWZpY2F0aW9uQ2VudGVyIHJlbW92ZU9ic2VydmVyOnNlbGYgbmFtZTpAIk5T
V2luZG93RGlkT3JkZXJPZmZTY3JlZW5Ob3RpZmljYXRpb24iIG9iamVjdDp3aW5kb3ddOwotICAg
IFtkZWZhdWx0Tm90aWZpY2F0aW9uQ2VudGVyIHJlbW92ZU9ic2VydmVyOnNlbGYgbmFtZTpAIl9O
U1dpbmRvd0RpZEJlY29tZVZpc2libGUiIG9iamVjdDp3aW5kb3ddOworICAgIFtjZW50ZXIgcmVt
b3ZlT2JzZXJ2ZXI6c2VsZiBuYW1lOkAiTlNXaW5kb3dEaWRPcmRlck9mZlNjcmVlbk5vdGlmaWNh
dGlvbiIgb2JqZWN0OndpbmRvd107CisgICAgW2NlbnRlciByZW1vdmVPYnNlcnZlcjpzZWxmIG5h
bWU6QCJfTlNXaW5kb3dEaWRCZWNvbWVWaXNpYmxlIiBvYmplY3Q6d2luZG93XTsKIAotICAgIFtk
ZWZhdWx0Tm90aWZpY2F0aW9uQ2VudGVyIHJlbW92ZU9ic2VydmVyOnNlbGYgbmFtZTpOU1dpbmRv
d0RpZEJlY29tZUtleU5vdGlmaWNhdGlvbiBvYmplY3Q6bmlsXTsKLSAgICBbZGVmYXVsdE5vdGlm
aWNhdGlvbkNlbnRlciByZW1vdmVPYnNlcnZlcjpzZWxmIG5hbWU6TlNXaW5kb3dEaWRSZXNpZ25L
ZXlOb3RpZmljYXRpb24gb2JqZWN0Om5pbF07Ci0gICAgW2RlZmF1bHROb3RpZmljYXRpb25DZW50
ZXIgcmVtb3ZlT2JzZXJ2ZXI6c2VsZiBuYW1lOk5TV2luZG93RGlkTWluaWF0dXJpemVOb3RpZmlj
YXRpb24gb2JqZWN0OndpbmRvd107Ci0gICAgW2RlZmF1bHROb3RpZmljYXRpb25DZW50ZXIgcmVt
b3ZlT2JzZXJ2ZXI6c2VsZiBuYW1lOk5TV2luZG93RGlkRGVtaW5pYXR1cml6ZU5vdGlmaWNhdGlv
biBvYmplY3Q6d2luZG93XTsKLSAgICBbZGVmYXVsdE5vdGlmaWNhdGlvbkNlbnRlciByZW1vdmVP
YnNlcnZlcjpzZWxmIG5hbWU6TlNXaW5kb3dEaWRNb3ZlTm90aWZpY2F0aW9uIG9iamVjdDp3aW5k
b3ddOwotICAgIFtkZWZhdWx0Tm90aWZpY2F0aW9uQ2VudGVyIHJlbW92ZU9ic2VydmVyOnNlbGYg
bmFtZTpOU1dpbmRvd0RpZFJlc2l6ZU5vdGlmaWNhdGlvbiBvYmplY3Q6d2luZG93XTsKLSAgICBb
ZGVmYXVsdE5vdGlmaWNhdGlvbkNlbnRlciByZW1vdmVPYnNlcnZlcjpzZWxmIG5hbWU6TlNXaW5k
b3dEaWRDaGFuZ2VCYWNraW5nUHJvcGVydGllc05vdGlmaWNhdGlvbiBvYmplY3Q6d2luZG93XTsK
LSAgICBbZGVmYXVsdE5vdGlmaWNhdGlvbkNlbnRlciByZW1vdmVPYnNlcnZlcjpzZWxmIG5hbWU6
TlNXaW5kb3dEaWRDaGFuZ2VTY3JlZW5Ob3RpZmljYXRpb24gb2JqZWN0OndpbmRvd107Ci0gICAg
W2RlZmF1bHROb3RpZmljYXRpb25DZW50ZXIgcmVtb3ZlT2JzZXJ2ZXI6c2VsZiBuYW1lOkAiX05T
V2luZG93RGlkQ2hhbmdlQ29udGVudHNIb3N0ZWRJbkxheWVyU3VyZmFjZU5vdGlmaWNhdGlvbiIg
b2JqZWN0OndpbmRvd107Ci0gICAgW2RlZmF1bHROb3RpZmljYXRpb25DZW50ZXIgcmVtb3ZlT2Jz
ZXJ2ZXI6c2VsZiBuYW1lOk5TV2luZG93RGlkQ2hhbmdlT2NjbHVzaW9uU3RhdGVOb3RpZmljYXRp
b24gb2JqZWN0OndpbmRvd107CisgICAgW2NlbnRlciByZW1vdmVPYnNlcnZlcjpzZWxmIG5hbWU6
TlNXaW5kb3dEaWRCZWNvbWVLZXlOb3RpZmljYXRpb24gb2JqZWN0Om5pbF07CisgICAgW2NlbnRl
ciByZW1vdmVPYnNlcnZlcjpzZWxmIG5hbWU6TlNXaW5kb3dEaWRSZXNpZ25LZXlOb3RpZmljYXRp
b24gb2JqZWN0Om5pbF07CisgICAgW2NlbnRlciByZW1vdmVPYnNlcnZlcjpzZWxmIG5hbWU6TlNX
aW5kb3dEaWRNaW5pYXR1cml6ZU5vdGlmaWNhdGlvbiBvYmplY3Q6d2luZG93XTsKKyAgICBbY2Vu
dGVyIHJlbW92ZU9ic2VydmVyOnNlbGYgbmFtZTpOU1dpbmRvd0RpZERlbWluaWF0dXJpemVOb3Rp
ZmljYXRpb24gb2JqZWN0OndpbmRvd107CisgICAgW2NlbnRlciByZW1vdmVPYnNlcnZlcjpzZWxm
IG5hbWU6TlNXaW5kb3dEaWRNb3ZlTm90aWZpY2F0aW9uIG9iamVjdDp3aW5kb3ddOworICAgIFtj
ZW50ZXIgcmVtb3ZlT2JzZXJ2ZXI6c2VsZiBuYW1lOk5TV2luZG93RGlkUmVzaXplTm90aWZpY2F0
aW9uIG9iamVjdDp3aW5kb3ddOworICAgIFtjZW50ZXIgcmVtb3ZlT2JzZXJ2ZXI6c2VsZiBuYW1l
Ok5TV2luZG93RGlkQ2hhbmdlQmFja2luZ1Byb3BlcnRpZXNOb3RpZmljYXRpb24gb2JqZWN0Ondp
bmRvd107CisgICAgW2NlbnRlciByZW1vdmVPYnNlcnZlcjpzZWxmIG5hbWU6TlNXaW5kb3dEaWRD
aGFuZ2VTY3JlZW5Ob3RpZmljYXRpb24gb2JqZWN0OndpbmRvd107CisgICAgW2NlbnRlciByZW1v
dmVPYnNlcnZlcjpzZWxmIG5hbWU6QCJfTlNXaW5kb3dEaWRDaGFuZ2VDb250ZW50c0hvc3RlZElu
TGF5ZXJTdXJmYWNlTm90aWZpY2F0aW9uIiBvYmplY3Q6d2luZG93XTsKKyAgICBbY2VudGVyIHJl
bW92ZU9ic2VydmVyOnNlbGYgbmFtZTpOU1dpbmRvd0RpZENoYW5nZU9jY2x1c2lvblN0YXRlTm90
aWZpY2F0aW9uIG9iamVjdDp3aW5kb3ddOwogCiAgICAgaWYgKF9pbXBsLT5pc0VkaXRhYmxlKCkp
CiAgICAgICAgIFtbTlNGb250UGFuZWwgc2hhcmVkRm9udFBhbmVsXSByZW1vdmVPYnNlcnZlcjpz
ZWxmIGZvcktleVBhdGg6QCJ2aXNpYmxlIiBjb250ZXh0OmtleVZhbHVlT2JzZXJ2aW5nQ29udGV4
dF07CkBAIC0xMTA3LDkgKzExMDcsMTAgQEAgdm9pZCBXZWJWaWV3SW1wbDo6dXBkYXRlVGV4dFRv
dWNoQmFyKCkKICAgICAgICAgbV90ZXh0VG91Y2hCYXJJdGVtQ29udHJvbGxlciA9IGFkb3B0TlMo
W1tXS1RleHRUb3VjaEJhckl0ZW1Db250cm9sbGVyIGFsbG9jXSBpbml0V2l0aFdlYlZpZXdJbXBs
OnRoaXNdKTsKIAogICAgIGlmICghbV9zdGFydGVkTGlzdGVuaW5nVG9DdXN0b21pemF0aW9uRXZl
bnRzKSB7Ci0gICAgICAgIFtbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl0gYWRk
T2JzZXJ2ZXI6bV90ZXh0VG91Y2hCYXJJdGVtQ29udHJvbGxlci5nZXQoKSBzZWxlY3RvcjpAc2Vs
ZWN0b3IodG91Y2hCYXJEaWRFeGl0Q3VzdG9taXphdGlvbjopIG5hbWU6TlNUb3VjaEJhckRpZEV4
aXRDdXN0b21pemF0aW9uIG9iamVjdDpuaWxdOwotICAgICAgICBbW05TTm90aWZpY2F0aW9uQ2Vu
dGVyIGRlZmF1bHRDZW50ZXJdIGFkZE9ic2VydmVyOm1fdGV4dFRvdWNoQmFySXRlbUNvbnRyb2xs
ZXIuZ2V0KCkgc2VsZWN0b3I6QHNlbGVjdG9yKHRvdWNoQmFyV2lsbEVudGVyQ3VzdG9taXphdGlv
bjopIG5hbWU6TlNUb3VjaEJhcldpbGxFbnRlckN1c3RvbWl6YXRpb24gb2JqZWN0Om5pbF07Ci0g
ICAgICAgIFtbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl0gYWRkT2JzZXJ2ZXI6
bV90ZXh0VG91Y2hCYXJJdGVtQ29udHJvbGxlci5nZXQoKSBzZWxlY3RvcjpAc2VsZWN0b3IoZGlk
Q2hhbmdlQXV0b21hdGljVGV4dENvbXBsZXRpb246KSBuYW1lOk5TU3BlbGxDaGVja2VyRGlkQ2hh
bmdlQXV0b21hdGljVGV4dENvbXBsZXRpb25Ob3RpZmljYXRpb24gb2JqZWN0Om5pbF07CisgICAg
ICAgIE5TTm90aWZpY2F0aW9uQ2VudGVyICpjZW50ZXIgPSBbTlNOb3RpZmljYXRpb25DZW50ZXIg
ZGVmYXVsdENlbnRlcl07CisgICAgICAgIFtjZW50ZXIgYWRkT2JzZXJ2ZXI6bV90ZXh0VG91Y2hC
YXJJdGVtQ29udHJvbGxlci5nZXQoKSBzZWxlY3RvcjpAc2VsZWN0b3IodG91Y2hCYXJEaWRFeGl0
Q3VzdG9taXphdGlvbjopIG5hbWU6TlNUb3VjaEJhckRpZEV4aXRDdXN0b21pemF0aW9uIG9iamVj
dDpuaWxdOworICAgICAgICBbY2VudGVyIGFkZE9ic2VydmVyOm1fdGV4dFRvdWNoQmFySXRlbUNv
bnRyb2xsZXIuZ2V0KCkgc2VsZWN0b3I6QHNlbGVjdG9yKHRvdWNoQmFyV2lsbEVudGVyQ3VzdG9t
aXphdGlvbjopIG5hbWU6TlNUb3VjaEJhcldpbGxFbnRlckN1c3RvbWl6YXRpb24gb2JqZWN0Om5p
bF07CisgICAgICAgIFtjZW50ZXIgYWRkT2JzZXJ2ZXI6bV90ZXh0VG91Y2hCYXJJdGVtQ29udHJv
bGxlci5nZXQoKSBzZWxlY3RvcjpAc2VsZWN0b3IoZGlkQ2hhbmdlQXV0b21hdGljVGV4dENvbXBs
ZXRpb246KSBuYW1lOk5TU3BlbGxDaGVja2VyRGlkQ2hhbmdlQXV0b21hdGljVGV4dENvbXBsZXRp
b25Ob3RpZmljYXRpb24gb2JqZWN0Om5pbF07CiAKICAgICAgICAgbV9zdGFydGVkTGlzdGVuaW5n
VG9DdXN0b21pemF0aW9uRXZlbnRzID0gdHJ1ZTsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9pb3MvUHJvY2Vzc0Fzc2VydGlvbklPUy5tbSBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL2lvcy9Qcm9jZXNzQXNzZXJ0aW9uSU9TLm1tCmluZGV4IDJhY2E4NjhiYjhi
Li4xNDhkNDNkNzU0OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1By
b2Nlc3NBc3NlcnRpb25JT1MubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1By
b2Nlc3NBc3NlcnRpb25JT1MubW0KQEAgLTczLDEzICs3MywxNCBAQCAtIChpbnN0YW5jZXR5cGUp
aW5pdAogCiAgICAgX2JhY2tncm91bmRUYXNrID0gVUlCYWNrZ3JvdW5kVGFza0ludmFsaWQ7CiAK
LSAgICBbW05TTm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJdIGFkZE9ic2VydmVyRm9y
TmFtZTpVSUFwcGxpY2F0aW9uV2lsbEVudGVyRm9yZWdyb3VuZE5vdGlmaWNhdGlvbiBvYmplY3Q6
W1VJQXBwbGljYXRpb24gc2hhcmVkQXBwbGljYXRpb25dIHF1ZXVlOm5pbCB1c2luZ0Jsb2NrOl4o
TlNOb3RpZmljYXRpb24gKikgeworICAgIE5TTm90aWZpY2F0aW9uQ2VudGVyICpjZW50ZXIgPSBb
TlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl07CisgICAgW2NlbnRlciBhZGRPYnNl
cnZlckZvck5hbWU6VUlBcHBsaWNhdGlvbldpbGxFbnRlckZvcmVncm91bmROb3RpZmljYXRpb24g
b2JqZWN0OltVSUFwcGxpY2F0aW9uIHNoYXJlZEFwcGxpY2F0aW9uXSBxdWV1ZTpuaWwgdXNpbmdC
bG9jazpeKE5TTm90aWZpY2F0aW9uICopIHsKICAgICAgICAgX2FwcGxpY2F0aW9uSXNCYWNrZ3Jv
dW5kZWQgPSBOTzsKICAgICAgICAgW3NlbGYgX2NhbmNlbFBlbmRpbmdSZWxlYXNlVGFza107CiAg
ICAgICAgIFtzZWxmIF91cGRhdGVCYWNrZ3JvdW5kVGFza107CiAgICAgfV07CiAKLSAgICBbW05T
Tm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJdIGFkZE9ic2VydmVyRm9yTmFtZTpVSUFw
cGxpY2F0aW9uRGlkRW50ZXJCYWNrZ3JvdW5kTm90aWZpY2F0aW9uIG9iamVjdDpbVUlBcHBsaWNh
dGlvbiBzaGFyZWRBcHBsaWNhdGlvbl0gcXVldWU6bmlsIHVzaW5nQmxvY2s6XihOU05vdGlmaWNh
dGlvbiAqKSB7CisgICAgW2NlbnRlciBhZGRPYnNlcnZlckZvck5hbWU6VUlBcHBsaWNhdGlvbkRp
ZEVudGVyQmFja2dyb3VuZE5vdGlmaWNhdGlvbiBvYmplY3Q6W1VJQXBwbGljYXRpb24gc2hhcmVk
QXBwbGljYXRpb25dIHF1ZXVlOm5pbCB1c2luZ0Jsb2NrOl4oTlNOb3RpZmljYXRpb24gKikgewog
ICAgICAgICBfYXBwbGljYXRpb25Jc0JhY2tncm91bmRlZCA9IFlFUzsKICAgICB9XTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXcubW0gYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlldy5tbQppbmRleCA1NWQ4MGNh
NTVkZi4uNGJhMTE0OTRlZTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lv
cy9XS0NvbnRlbnRWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0Nv
bnRlbnRWaWV3Lm1tCkBAIC0yNzEsOCArMjcxLDkgQEAgLSAoaW5zdGFuY2V0eXBlKV9jb21tb25J
bml0aWFsaXphdGlvbldpdGhQcm9jZXNzUG9vbDooV2ViS2l0OjpXZWJQcm9jZXNzUG9vbCYpcHIK
ICAgICBbc2VsZiBfc2V0dXBWaXNpYmlsaXR5UHJvcGFnYXRpb25WaWV3XTsKICNlbmRpZgogCi0g
ICAgW1tOU05vdGlmaWNhdGlvbkNlbnRlciBkZWZhdWx0Q2VudGVyXSBhZGRPYnNlcnZlcjpzZWxm
IHNlbGVjdG9yOkBzZWxlY3RvcihfYXBwbGljYXRpb25XaWxsUmVzaWduQWN0aXZlOikgbmFtZTpV
SUFwcGxpY2F0aW9uV2lsbFJlc2lnbkFjdGl2ZU5vdGlmaWNhdGlvbiBvYmplY3Q6W1VJQXBwbGlj
YXRpb24gc2hhcmVkQXBwbGljYXRpb25dXTsKLSAgICBbW05TTm90aWZpY2F0aW9uQ2VudGVyIGRl
ZmF1bHRDZW50ZXJdIGFkZE9ic2VydmVyOnNlbGYgc2VsZWN0b3I6QHNlbGVjdG9yKF9hcHBsaWNh
dGlvbkRpZEJlY29tZUFjdGl2ZTopIG5hbWU6VUlBcHBsaWNhdGlvbkRpZEJlY29tZUFjdGl2ZU5v
dGlmaWNhdGlvbiBvYmplY3Q6W1VJQXBwbGljYXRpb24gc2hhcmVkQXBwbGljYXRpb25dXTsKKyAg
ICBOU05vdGlmaWNhdGlvbkNlbnRlciAqY2VudGVyID0gW05TTm90aWZpY2F0aW9uQ2VudGVyIGRl
ZmF1bHRDZW50ZXJdOworICAgIFtjZW50ZXIgYWRkT2JzZXJ2ZXI6c2VsZiBzZWxlY3RvcjpAc2Vs
ZWN0b3IoX2FwcGxpY2F0aW9uV2lsbFJlc2lnbkFjdGl2ZTopIG5hbWU6VUlBcHBsaWNhdGlvbldp
bGxSZXNpZ25BY3RpdmVOb3RpZmljYXRpb24gb2JqZWN0OltVSUFwcGxpY2F0aW9uIHNoYXJlZEFw
cGxpY2F0aW9uXV07CisgICAgW2NlbnRlciBhZGRPYnNlcnZlcjpzZWxmIHNlbGVjdG9yOkBzZWxl
Y3RvcihfYXBwbGljYXRpb25EaWRCZWNvbWVBY3RpdmU6KSBuYW1lOlVJQXBwbGljYXRpb25EaWRC
ZWNvbWVBY3RpdmVOb3RpZmljYXRpb24gb2JqZWN0OltVSUFwcGxpY2F0aW9uIHNoYXJlZEFwcGxp
Y2F0aW9uXV07CiAKICAgICByZXR1cm4gc2VsZjsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL2lvcy9mb3Jtcy9XS0RhdGVQaWNrZXJWaWV3Q29udHJvbGxlci5tbSBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9mb3Jtcy9XS0RhdGVQaWNrZXJWaWV3Q29udHJvbGxl
ci5tbQppbmRleCBiODdjYmY1MGY2NS4uZjJlYjMwNjNkMDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL2lvcy9mb3Jtcy9XS0RhdGVQaWNrZXJWaWV3Q29udHJvbGxlci5tbQor
KysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvZm9ybXMvV0tEYXRlUGlja2VyVmlld0Nv
bnRyb2xsZXIubW0KQEAgLTMxNCw4ICszMTQsMTAgQEAgLSAodm9pZCl2aWV3V2lsbEFwcGVhcjoo
Qk9PTClhbmltYXRlZAogICAgIFtzdXBlciB2aWV3V2lsbEFwcGVhcjphbmltYXRlZF07CiAKICAg
ICBfc3RhdHVzQmFyQXNzZXJ0aW9uID0gW1tQVUlDQXBwbGljYXRpb24gc2hhcmVkUFVJQ0FwcGxp
Y2F0aW9uXSBfdGFrZVN0YXR1c0Jhckdsb2JhbENvbnRleHRBc3NlcnRpb25BbmltYXRlZDpOT107
Ci0gICAgW1tOU05vdGlmaWNhdGlvbkNlbnRlciBkZWZhdWx0Q2VudGVyXSBhZGRPYnNlcnZlcjpz
ZWxmIHNlbGVjdG9yOkBzZWxlY3RvcihfaGFuZGxlU3RhdHVzQmFyTmF2aWdhdGlvbikgbmFtZTpQ
VUlDU3RhdHVzQmFyTmF2aWdhdGlvbkJhY2tCdXR0b25QcmVzc2VkTm90aWZpY2F0aW9uIG9iamVj
dDpuaWxdOwotICAgIFtbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl0gYWRkT2Jz
ZXJ2ZXI6c2VsZiBzZWxlY3RvcjpAc2VsZWN0b3IoX2hhbmRsZVN0YXR1c0Jhck5hdmlnYXRpb24p
IG5hbWU6UFVJQ1N0YXR1c0JhclRpdGxlVGFwcGVkTm90aWZpY2F0aW9uIG9iamVjdDpuaWxdOwor
CisgICAgTlNOb3RpZmljYXRpb25DZW50ZXIgKmNlbnRlciA9IFtOU05vdGlmaWNhdGlvbkNlbnRl
ciBkZWZhdWx0Q2VudGVyXTsKKyAgICBbY2VudGVyIGFkZE9ic2VydmVyOnNlbGYgc2VsZWN0b3I6
QHNlbGVjdG9yKF9oYW5kbGVTdGF0dXNCYXJOYXZpZ2F0aW9uKSBuYW1lOlBVSUNTdGF0dXNCYXJO
YXZpZ2F0aW9uQmFja0J1dHRvblByZXNzZWROb3RpZmljYXRpb24gb2JqZWN0Om5pbF07CisgICAg
W2NlbnRlciBhZGRPYnNlcnZlcjpzZWxmIHNlbGVjdG9yOkBzZWxlY3RvcihfaGFuZGxlU3RhdHVz
QmFyTmF2aWdhdGlvbikgbmFtZTpQVUlDU3RhdHVzQmFyVGl0bGVUYXBwZWROb3RpZmljYXRpb24g
b2JqZWN0Om5pbF07CiAKICAgICBjb25maWd1cmVTdGF0dXNCYXJGb3JDb250cm9sbGVyKHNlbGYs
IHNlbGYuZGVsZWdhdGUpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
bWFjL1RleHRDaGVja2VyTWFjLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1RleHRD
aGVja2VyTWFjLm1tCmluZGV4IGQwMDNlYTllNTc3Li44NTA5MTVjMjg5ZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1RleHRDaGVja2VyTWFjLm1tCisrKyBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9UZXh0Q2hlY2tlck1hYy5tbQpAQCAtODgsMTQgKzg4LDE1
IEBAIHN0YXRpYyBib29sIHNob3VsZEF1dG9tYXRpY0Rhc2hTdWJzdGl0dXRpb25CZUVuYWJsZWQo
KQogc3RhdGljIFRleHRDaGVja2VyU3RhdGUmIG11dGFibGVTdGF0ZSgpCiB7CiAgICAgc3RhdGlj
IE5ldmVyRGVzdHJveWVkPFRleHRDaGVja2VyU3RhdGU+IHN0YXRlID0gbWFrZU5ldmVyRGVzdHJv
eWVkKFtdIHsKKyAgICAgICAgTlNVc2VyRGVmYXVsdHMgKmRlZmF1bHRzID0gW05TVXNlckRlZmF1
bHRzIHN0YW5kYXJkVXNlckRlZmF1bHRzXTsKICAgICAgICAgVGV4dENoZWNrZXJTdGF0ZSBpbml0
aWFsU3RhdGU7Ci0gICAgICAgIGluaXRpYWxTdGF0ZS5pc0NvbnRpbnVvdXNTcGVsbENoZWNraW5n
RW5hYmxlZCA9IFtbTlNVc2VyRGVmYXVsdHMgc3RhbmRhcmRVc2VyRGVmYXVsdHNdIGJvb2xGb3JL
ZXk6V2ViQ29udGludW91c1NwZWxsQ2hlY2tpbmdFbmFibGVkXSAmJiBUZXh0Q2hlY2tlcjo6aXND
b250aW51b3VzU3BlbGxDaGVja2luZ0FsbG93ZWQoKTsKLSAgICAgICAgaW5pdGlhbFN0YXRlLmlz
R3JhbW1hckNoZWNraW5nRW5hYmxlZCA9IFtbTlNVc2VyRGVmYXVsdHMgc3RhbmRhcmRVc2VyRGVm
YXVsdHNdIGJvb2xGb3JLZXk6V2ViR3JhbW1hckNoZWNraW5nRW5hYmxlZF07CisgICAgICAgIGlu
aXRpYWxTdGF0ZS5pc0NvbnRpbnVvdXNTcGVsbENoZWNraW5nRW5hYmxlZCA9IFtkZWZhdWx0cyBi
b29sRm9yS2V5OldlYkNvbnRpbnVvdXNTcGVsbENoZWNraW5nRW5hYmxlZF0gJiYgVGV4dENoZWNr
ZXI6OmlzQ29udGludW91c1NwZWxsQ2hlY2tpbmdBbGxvd2VkKCk7CisgICAgICAgIGluaXRpYWxT
dGF0ZS5pc0dyYW1tYXJDaGVja2luZ0VuYWJsZWQgPSBbZGVmYXVsdHMgYm9vbEZvcktleTpXZWJH
cmFtbWFyQ2hlY2tpbmdFbmFibGVkXTsKICAgICAgICAgaW5pdGlhbFN0YXRlLmlzQXV0b21hdGlj
VGV4dFJlcGxhY2VtZW50RW5hYmxlZCA9IHNob3VsZEF1dG9tYXRpY1RleHRSZXBsYWNlbWVudEJl
RW5hYmxlZCgpOwogICAgICAgICBpbml0aWFsU3RhdGUuaXNBdXRvbWF0aWNTcGVsbGluZ0NvcnJl
Y3Rpb25FbmFibGVkID0gc2hvdWxkQXV0b21hdGljU3BlbGxpbmdDb3JyZWN0aW9uQmVFbmFibGVk
KCk7CiAgICAgICAgIGluaXRpYWxTdGF0ZS5pc0F1dG9tYXRpY1F1b3RlU3Vic3RpdHV0aW9uRW5h
YmxlZCA9IHNob3VsZEF1dG9tYXRpY1F1b3RlU3Vic3RpdHV0aW9uQmVFbmFibGVkKCk7CiAgICAg
ICAgIGluaXRpYWxTdGF0ZS5pc0F1dG9tYXRpY0Rhc2hTdWJzdGl0dXRpb25FbmFibGVkID0gc2hv
dWxkQXV0b21hdGljRGFzaFN1YnN0aXR1dGlvbkJlRW5hYmxlZCgpOwotICAgICAgICBpbml0aWFs
U3RhdGUuaXNBdXRvbWF0aWNMaW5rRGV0ZWN0aW9uRW5hYmxlZCA9IFtbTlNVc2VyRGVmYXVsdHMg
c3RhbmRhcmRVc2VyRGVmYXVsdHNdIGJvb2xGb3JLZXk6V2ViQXV0b21hdGljTGlua0RldGVjdGlv
bkVuYWJsZWRdOworICAgICAgICBpbml0aWFsU3RhdGUuaXNBdXRvbWF0aWNMaW5rRGV0ZWN0aW9u
RW5hYmxlZCA9IFtkZWZhdWx0cyBib29sRm9yS2V5OldlYkF1dG9tYXRpY0xpbmtEZXRlY3Rpb25F
bmFibGVkXTsKICAgICAgICAgcmV0dXJuIGluaXRpYWxTdGF0ZTsKICAgICB9KCkpOwogICAgIHJl
dHVybiBzdGF0ZTsKQEAgLTExMSwxNCArMTEyLDE1IEBAIHN0YXRpYyBib29sIHRlc3RpbmdNb2Rl
RW5hYmxlZCA9IGZhbHNlOwogdm9pZCBUZXh0Q2hlY2tlcjo6c2V0VGVzdGluZ01vZGUoYm9vbCBl
bmFibGVkKQogewogICAgIGlmIChlbmFibGVkICYmICF0ZXN0aW5nTW9kZUVuYWJsZWQpIHsKLSAg
ICAgICAgW1tOU1VzZXJEZWZhdWx0cyBzdGFuZGFyZFVzZXJEZWZhdWx0c10gc2V0Qm9vbDptdXRh
YmxlU3RhdGUoKS5pc0NvbnRpbnVvdXNTcGVsbENoZWNraW5nRW5hYmxlZCBmb3JLZXk6V2ViQ29u
dGludW91c1NwZWxsQ2hlY2tpbmdFbmFibGVkXTsKLSAgICAgICAgW1tOU1VzZXJEZWZhdWx0cyBz
dGFuZGFyZFVzZXJEZWZhdWx0c10gc2V0Qm9vbDptdXRhYmxlU3RhdGUoKS5pc0dyYW1tYXJDaGVj
a2luZ0VuYWJsZWQgZm9yS2V5OldlYkdyYW1tYXJDaGVja2luZ0VuYWJsZWRdOwotICAgICAgICBb
W05TVXNlckRlZmF1bHRzIHN0YW5kYXJkVXNlckRlZmF1bHRzXSBzZXRCb29sOm11dGFibGVTdGF0
ZSgpLmlzQXV0b21hdGljU3BlbGxpbmdDb3JyZWN0aW9uRW5hYmxlZCBmb3JLZXk6V2ViQXV0b21h
dGljU3BlbGxpbmdDb3JyZWN0aW9uRW5hYmxlZF07Ci0gICAgICAgIFtbTlNVc2VyRGVmYXVsdHMg
c3RhbmRhcmRVc2VyRGVmYXVsdHNdIHNldEJvb2w6bXV0YWJsZVN0YXRlKCkuaXNBdXRvbWF0aWNR
dW90ZVN1YnN0aXR1dGlvbkVuYWJsZWQgZm9yS2V5OldlYkF1dG9tYXRpY1F1b3RlU3Vic3RpdHV0
aW9uRW5hYmxlZF07Ci0gICAgICAgIFtbTlNVc2VyRGVmYXVsdHMgc3RhbmRhcmRVc2VyRGVmYXVs
dHNdIHNldEJvb2w6bXV0YWJsZVN0YXRlKCkuaXNBdXRvbWF0aWNEYXNoU3Vic3RpdHV0aW9uRW5h
YmxlZCBmb3JLZXk6V2ViQXV0b21hdGljRGFzaFN1YnN0aXR1dGlvbkVuYWJsZWRdOwotICAgICAg
ICBbW05TVXNlckRlZmF1bHRzIHN0YW5kYXJkVXNlckRlZmF1bHRzXSBzZXRCb29sOm11dGFibGVT
dGF0ZSgpLmlzQXV0b21hdGljTGlua0RldGVjdGlvbkVuYWJsZWQgZm9yS2V5OldlYkF1dG9tYXRp
Y0xpbmtEZXRlY3Rpb25FbmFibGVkXTsKLSAgICAgICAgW1tOU1VzZXJEZWZhdWx0cyBzdGFuZGFy
ZFVzZXJEZWZhdWx0c10gc2V0Qm9vbDptdXRhYmxlU3RhdGUoKS5pc0F1dG9tYXRpY1RleHRSZXBs
YWNlbWVudEVuYWJsZWQgZm9yS2V5OldlYkF1dG9tYXRpY1RleHRSZXBsYWNlbWVudEVuYWJsZWRd
OwotICAgICAgICBbW05TVXNlckRlZmF1bHRzIHN0YW5kYXJkVXNlckRlZmF1bHRzXSBzZXRCb29s
OmlzU21hcnRJbnNlcnREZWxldGVFbmFibGVkKCkgZm9yS2V5OldlYlNtYXJ0SW5zZXJ0RGVsZXRl
RW5hYmxlZF07CisgICAgICAgIE5TVXNlckRlZmF1bHRzICpkZWZhdWx0cyA9IFtOU1VzZXJEZWZh
dWx0cyBzdGFuZGFyZFVzZXJEZWZhdWx0c107CisgICAgICAgIFtkZWZhdWx0cyBzZXRCb29sOm11
dGFibGVTdGF0ZSgpLmlzQ29udGludW91c1NwZWxsQ2hlY2tpbmdFbmFibGVkIGZvcktleTpXZWJD
b250aW51b3VzU3BlbGxDaGVja2luZ0VuYWJsZWRdOworICAgICAgICBbZGVmYXVsdHMgc2V0Qm9v
bDptdXRhYmxlU3RhdGUoKS5pc0dyYW1tYXJDaGVja2luZ0VuYWJsZWQgZm9yS2V5OldlYkdyYW1t
YXJDaGVja2luZ0VuYWJsZWRdOworICAgICAgICBbZGVmYXVsdHMgc2V0Qm9vbDptdXRhYmxlU3Rh
dGUoKS5pc0F1dG9tYXRpY1NwZWxsaW5nQ29ycmVjdGlvbkVuYWJsZWQgZm9yS2V5OldlYkF1dG9t
YXRpY1NwZWxsaW5nQ29ycmVjdGlvbkVuYWJsZWRdOworICAgICAgICBbZGVmYXVsdHMgc2V0Qm9v
bDptdXRhYmxlU3RhdGUoKS5pc0F1dG9tYXRpY1F1b3RlU3Vic3RpdHV0aW9uRW5hYmxlZCBmb3JL
ZXk6V2ViQXV0b21hdGljUXVvdGVTdWJzdGl0dXRpb25FbmFibGVkXTsKKyAgICAgICAgW2RlZmF1
bHRzIHNldEJvb2w6bXV0YWJsZVN0YXRlKCkuaXNBdXRvbWF0aWNEYXNoU3Vic3RpdHV0aW9uRW5h
YmxlZCBmb3JLZXk6V2ViQXV0b21hdGljRGFzaFN1YnN0aXR1dGlvbkVuYWJsZWRdOworICAgICAg
ICBbZGVmYXVsdHMgc2V0Qm9vbDptdXRhYmxlU3RhdGUoKS5pc0F1dG9tYXRpY0xpbmtEZXRlY3Rp
b25FbmFibGVkIGZvcktleTpXZWJBdXRvbWF0aWNMaW5rRGV0ZWN0aW9uRW5hYmxlZF07CisgICAg
ICAgIFtkZWZhdWx0cyBzZXRCb29sOm11dGFibGVTdGF0ZSgpLmlzQXV0b21hdGljVGV4dFJlcGxh
Y2VtZW50RW5hYmxlZCBmb3JLZXk6V2ViQXV0b21hdGljVGV4dFJlcGxhY2VtZW50RW5hYmxlZF07
CisgICAgICAgIFtkZWZhdWx0cyBzZXRCb29sOmlzU21hcnRJbnNlcnREZWxldGVFbmFibGVkKCkg
Zm9yS2V5OldlYlNtYXJ0SW5zZXJ0RGVsZXRlRW5hYmxlZF07CiAgICAgfQogICAgIHRlc3RpbmdN
b2RlRW5hYmxlZCA9IGVuYWJsZWQ7CiB9CkBAIC0xMzQsOCArMTM2LDkgQEAgYm9vbCBUZXh0Q2hl
Y2tlcjo6aXNDb250aW51b3VzU3BlbGxDaGVja2luZ0FsbG93ZWQoKQogICAgIHN0YXRpYyBib29s
IHJlYWRBbGxvd0NvbnRpbnVvdXNTcGVsbENoZWNraW5nRGVmYXVsdCA9IGZhbHNlOwogCiAgICAg
aWYgKCFyZWFkQWxsb3dDb250aW51b3VzU3BlbGxDaGVja2luZ0RlZmF1bHQpIHsKLSAgICAgICAg
aWYgKFtbTlNVc2VyRGVmYXVsdHMgc3RhbmRhcmRVc2VyRGVmYXVsdHNdIG9iamVjdEZvcktleTpA
Ik5TQWxsb3dDb250aW51b3VzU3BlbGxDaGVja2luZyJdKQotICAgICAgICAgICAgYWxsb3dDb250
aW51b3VzU3BlbGxDaGVja2luZyA9IFtbTlNVc2VyRGVmYXVsdHMgc3RhbmRhcmRVc2VyRGVmYXVs
dHNdIGJvb2xGb3JLZXk6QCJOU0FsbG93Q29udGludW91c1NwZWxsQ2hlY2tpbmciXTsKKyAgICAg
ICAgTlNVc2VyRGVmYXVsdHMgKmRlZmF1bHRzID0gW05TVXNlckRlZmF1bHRzIHN0YW5kYXJkVXNl
ckRlZmF1bHRzXTsKKyAgICAgICAgaWYgKFtkZWZhdWx0cyBvYmplY3RGb3JLZXk6QCJOU0FsbG93
Q29udGludW91c1NwZWxsQ2hlY2tpbmciXSkKKyAgICAgICAgICAgIGFsbG93Q29udGludW91c1Nw
ZWxsQ2hlY2tpbmcgPSBbZGVmYXVsdHMgYm9vbEZvcktleTpAIk5TQWxsb3dDb250aW51b3VzU3Bl
bGxDaGVja2luZyJdOwogCiAgICAgICAgIHJlYWRBbGxvd0NvbnRpbnVvdXNTcGVsbENoZWNraW5n
RGVmYXVsdCA9IHRydWU7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvbWFjL1dlYkluc3BlY3RvclByb3h5TWFjLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
bWFjL1dlYkluc3BlY3RvclByb3h5TWFjLm1tCmluZGV4IDAwN2Q4N2RmY2Q4Li45YmFlN2NhYmJi
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1dlYkluc3BlY3RvclBy
b3h5TWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9XZWJJbnNwZWN0b3JQ
cm94eU1hYy5tbQpAQCAtMTkzLDggKzE5Myw5IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwog
CiB2b2lkIFdlYkluc3BlY3RvclByb3h5OjphdHRhY2htZW50Vmlld0RpZENoYW5nZShOU1ZpZXcg
Km9sZFZpZXcsIE5TVmlldyAqbmV3VmlldykKIHsKLSAgICBbW05TTm90aWZpY2F0aW9uQ2VudGVy
IGRlZmF1bHRDZW50ZXJdIHJlbW92ZU9ic2VydmVyOm1fb2JqQ0FkYXB0ZXIuZ2V0KCkgbmFtZTpO
U1ZpZXdGcmFtZURpZENoYW5nZU5vdGlmaWNhdGlvbiBvYmplY3Q6b2xkVmlld107Ci0gICAgW1tO
U05vdGlmaWNhdGlvbkNlbnRlciBkZWZhdWx0Q2VudGVyXSBhZGRPYnNlcnZlcjptX29iakNBZGFw
dGVyLmdldCgpIHNlbGVjdG9yOkBzZWxlY3RvcihpbnNwZWN0ZWRWaWV3RnJhbWVEaWRDaGFuZ2U6
KSBuYW1lOk5TVmlld0ZyYW1lRGlkQ2hhbmdlTm90aWZpY2F0aW9uIG9iamVjdDpuZXdWaWV3XTsK
KyAgICBOU05vdGlmaWNhdGlvbkNlbnRlciAqY2VudGVyID0gW05TTm90aWZpY2F0aW9uQ2VudGVy
IGRlZmF1bHRDZW50ZXJdOworICAgIFtjZW50ZXIgcmVtb3ZlT2JzZXJ2ZXI6bV9vYmpDQWRhcHRl
ci5nZXQoKSBuYW1lOk5TVmlld0ZyYW1lRGlkQ2hhbmdlTm90aWZpY2F0aW9uIG9iamVjdDpvbGRW
aWV3XTsKKyAgICBbY2VudGVyIGFkZE9ic2VydmVyOm1fb2JqQ0FkYXB0ZXIuZ2V0KCkgc2VsZWN0
b3I6QHNlbGVjdG9yKGluc3BlY3RlZFZpZXdGcmFtZURpZENoYW5nZTopIG5hbWU6TlNWaWV3RnJh
bWVEaWRDaGFuZ2VOb3RpZmljYXRpb24gb2JqZWN0Om5ld1ZpZXddOwogCiAgICAgaWYgKG1faXNB
dHRhY2hlZCkKICAgICAgICAgYXR0YWNoKG1fYXR0YWNobWVudFNpZGUpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdExlZ2FjeS9t
YWMvQ2hhbmdlTG9nCmluZGV4IGQ1YjY4ZTc1NjUzLi4xZjg3MjQ5OTRkNCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdh
Y3kvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDE5LTA1LTIwICBKb3NlcGggUGVj
b3Jhcm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+CisKKyAgICAgICAgUmVtb3ZlIHVubmVjZXNzYXJ5
IGR1cGxpY2F0ZSBzZWxlY3RvciBpbnZvY2F0aW9ucworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk4MDY2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQWxl
eCBDaHJpc3RlbnNlbi4KKworICAgICAgICAqIFdlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW06Cisg
ICAgICAgICgtW1dlYlByZWZlcmVuY2VzIF9wb3N0UHJlZmVyZW5jZXNDaGFuZ2VkTm90aWZpY2F0
aW9uXSk6CisgICAgICAgICogV2ViVmlldy9XZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyLm1t
OgorICAgICAgICAoLVtXZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyIHdpbmRvd0RpZExvYWRd
KToKKyAgICAgICAgKiBXZWJWaWV3L1dlYlZpZXcubW06CisgICAgICAgICgtW1dlYlZpZXcgX2Nv
bW1vbkluaXRpYWxpemF0aW9uV2l0aEZyYW1lTmFtZTpncm91cE5hbWU6XSk6CisgICAgICAgICgt
W1dlYlZpZXcgaW5pdFNpbXBsZUhUTUxEb2N1bWVudFdpdGhTdHlsZTpmcmFtZTpwcmVmZXJlbmNl
czpncm91cE5hbWU6XSk6CisgICAgICAgICgrW1dlYlZpZXcgaW5pdGlhbGl6ZV0pOgorICAgICAg
ICAoLVtXZWJWaWV3IHNldFByZWZlcmVuY2VzOl0pOgorICAgICAgICAoLVtXZWJWaWV3IHVwZGF0
ZVRleHRUb3VjaEJhcl0pOgorICAgICAgICAqIFdlYlZpZXcvV2ViVmlld0RhdGEubW06CisgICAg
ICAgICgtW1dlYldpbmRvd1Zpc2liaWxpdHlPYnNlcnZlciBzdGFydE9ic2VydmluZzpdKToKKyAg
ICAgICAgKC1bV2ViV2luZG93VmlzaWJpbGl0eU9ic2VydmVyIHN0b3BPYnNlcnZpbmc6XSk6CisK
IDIwMTktMDUtMTMgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CiAKICAgICAgICAg
TWFrZSBRVEtpdCBhbiBvcHRpb25hbCBmcmFtZXdvcmsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW0gYi9Tb3VyY2UvV2ViS2l0TGVn
YWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tCmluZGV4IDlmMWMyMjZmYjk4Li40NmU0
MTU5NjJmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQ
cmVmZXJlbmNlcy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlBy
ZWZlcmVuY2VzLm1tCkBAIC0xODg5LDggKzE4ODksOSBAQCAtICh2b2lkKV9wb3N0UHJlZmVyZW5j
ZXNDaGFuZ2VkTm90aWZpY2F0aW9uCiAgICAgfQogI2VuZGlmCiAKLSAgICBbW05TTm90aWZpY2F0
aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJdIHBvc3ROb3RpZmljYXRpb25OYW1lOldlYlByZWZlcmVu
Y2VzQ2hhbmdlZEludGVybmFsTm90aWZpY2F0aW9uIG9iamVjdDpzZWxmIHVzZXJJbmZvOm5pbF07
Ci0gICAgW1tOU05vdGlmaWNhdGlvbkNlbnRlciBkZWZhdWx0Q2VudGVyXSBwb3N0Tm90aWZpY2F0
aW9uTmFtZTpXZWJQcmVmZXJlbmNlc0NoYW5nZWROb3RpZmljYXRpb24gb2JqZWN0OnNlbGYgdXNl
ckluZm86bmlsXTsKKyAgICBOU05vdGlmaWNhdGlvbkNlbnRlciAqY2VudGVyID0gW05TTm90aWZp
Y2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJdOworICAgIFtjZW50ZXIgcG9zdE5vdGlmaWNhdGlv
bk5hbWU6V2ViUHJlZmVyZW5jZXNDaGFuZ2VkSW50ZXJuYWxOb3RpZmljYXRpb24gb2JqZWN0OnNl
bGYgdXNlckluZm86bmlsXTsKKyAgICBbY2VudGVyIHBvc3ROb3RpZmljYXRpb25OYW1lOldlYlBy
ZWZlcmVuY2VzQ2hhbmdlZE5vdGlmaWNhdGlvbiBvYmplY3Q6c2VsZiB1c2VySW5mbzpuaWxdOwog
fQogCiAtICh2b2lkKV9wb3N0UHJlZmVyZW5jZXNDaGFuZ2VkQVBJTm90aWZpY2F0aW9uCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZGVvRnVsbHNjcmVl
bkNvbnRyb2xsZXIubW0gYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZGVv
RnVsbHNjcmVlbkNvbnRyb2xsZXIubW0KaW5kZXggMjNhYWMzNDQyNmIuLjk4ODk4YWU1Y2E4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZGVvRnVsbHNj
cmVlbkNvbnRyb2xsZXIubW0KKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9X
ZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyLm1tCkBAIC04OSw4ICs4OSw5IEBAIC0gKHZvaWQp
d2luZG93RGlkTG9hZAogICAgIFtjb250ZW50VmlldyBzZXRMYXllcjpbQ0FMYXllciBsYXllcl1d
OwogICAgIFtjb250ZW50VmlldyBzZXRXYW50c0xheWVyOllFU107CiAKLSAgICBbW05TTm90aWZp
Y2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJdIGFkZE9ic2VydmVyOnNlbGYgc2VsZWN0b3I6QHNl
bGVjdG9yKGFwcGxpY2F0aW9uRGlkUmVzaWduQWN0aXZlOikgbmFtZTpOU0FwcGxpY2F0aW9uRGlk
UmVzaWduQWN0aXZlTm90aWZpY2F0aW9uIG9iamVjdDpOU0FwcF07Ci0gICAgW1tOU05vdGlmaWNh
dGlvbkNlbnRlciBkZWZhdWx0Q2VudGVyXSBhZGRPYnNlcnZlcjpzZWxmIHNlbGVjdG9yOkBzZWxl
Y3RvcihhcHBsaWNhdGlvbkRpZENoYW5nZVNjcmVlblBhcmFtZXRlcnM6KSBuYW1lOk5TQXBwbGlj
YXRpb25EaWRDaGFuZ2VTY3JlZW5QYXJhbWV0ZXJzTm90aWZpY2F0aW9uIG9iamVjdDpOU0FwcF07
CisgICAgTlNOb3RpZmljYXRpb25DZW50ZXIgKmNlbnRlciA9IFtOU05vdGlmaWNhdGlvbkNlbnRl
ciBkZWZhdWx0Q2VudGVyXTsKKyAgICBbY2VudGVyIGFkZE9ic2VydmVyOnNlbGYgc2VsZWN0b3I6
QHNlbGVjdG9yKGFwcGxpY2F0aW9uRGlkUmVzaWduQWN0aXZlOikgbmFtZTpOU0FwcGxpY2F0aW9u
RGlkUmVzaWduQWN0aXZlTm90aWZpY2F0aW9uIG9iamVjdDpOU0FwcF07CisgICAgW2NlbnRlciBh
ZGRPYnNlcnZlcjpzZWxmIHNlbGVjdG9yOkBzZWxlY3RvcihhcHBsaWNhdGlvbkRpZENoYW5nZVNj
cmVlblBhcmFtZXRlcnM6KSBuYW1lOk5TQXBwbGljYXRpb25EaWRDaGFuZ2VTY3JlZW5QYXJhbWV0
ZXJzTm90aWZpY2F0aW9uIG9iamVjdDpOU0FwcF07CiB9CiAKIC0gKFdlYkNvcmU6OkhUTUxWaWRl
b0VsZW1lbnQgKil2aWRlb0VsZW1lbnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kv
bWFjL1dlYlZpZXcvV2ViVmlldy5tbSBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcv
V2ViVmlldy5tbQppbmRleCA5ZDZlZWE0MWM1YS4uZGEzYTRlYjA4YTkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2Vi
S2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KQEAgLTE0ODUsNiArMTQ4NSw4IEBAIC0g
KHZvaWQpX2NvbW1vbkluaXRpYWxpemF0aW9uV2l0aEZyYW1lTmFtZTooTlNTdHJpbmcgKilmcmFt
ZU5hbWUgZ3JvdXBOYW1lOihOU1N0CiAgICAgV2ViQ29yZTo6cHJvdmlkZURldmljZU9yaWVudGF0
aW9uVG8oKl9wcml2YXRlLT5wYWdlLCAqbmV3IFdlYkRldmljZU9yaWVudGF0aW9uQ2xpZW50KHNl
bGYpKTsKICNlbmRpZgogCisgICAgTlNOb3RpZmljYXRpb25DZW50ZXIgKmNlbnRlciA9IFtOU05v
dGlmaWNhdGlvbkNlbnRlciBkZWZhdWx0Q2VudGVyXTsKKwogI2lmIEVOQUJMRShSRU1PVEVfSU5T
UEVDVE9SKQogICAgIF9wcml2YXRlLT5wYWdlLT5zZXRSZW1vdGVJbnNwZWN0aW9uQWxsb3dlZCh0
cnVlKTsKICNlbmRpZgpAQCAtMTUwMiwxNiArMTUwNCwxNSBAQCAtICh2b2lkKV9jb21tb25Jbml0
aWFsaXphdGlvbldpdGhGcmFtZU5hbWU6KE5TU3RyaW5nICopZnJhbWVOYW1lIGdyb3VwTmFtZToo
TlNTdAogCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKICAgICBfcHJpdmF0ZS0+cGFnZS0+c2V0
dGluZ3MoKS5zZXRQYXNzaXZlVG91Y2hMaXN0ZW5lcnNBc0RlZmF1bHRPbkRvY3VtZW50KGxpbmtl
ZE9uT3JBZnRlcihTREtWZXJzaW9uOjpGaXJzdFRoYXREZWZhdWx0c1RvUGFzc2l2ZVRvdWNoTGlz
dGVuZXJzT25Eb2N1bWVudCkpOwotI2VuZGlmCiAKLSNpZiBQTEFURk9STShJT1NfRkFNSUxZKQog
ICAgIC8vIFByZXNlcnZlIHRoZSBiZWhhdmlvciB3ZSBoYWQgYmVmb3JlIDxyZGFyOi8vcHJvYmxl
bS83NTgwODY3PgogICAgIC8vIGJ5IGVuZm9yY2luZyBhIDVNQiBsaW1pdCBmb3Igc2Vzc2lvbiBz
dG9yYWdlLgogICAgIF9wcml2YXRlLT5wYWdlLT5zZXR0aW5ncygpLnNldFNlc3Npb25TdG9yYWdl
UXVvdGEoNSAqIDEwMjQgKiAxMDI0KTsKIAogICAgIFtzZWxmIF91cGRhdGVTY3JlZW5TY2FsZUZy
b21XaW5kb3ddOwotICAgIFtbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl0gYWRk
T2JzZXJ2ZXI6c2VsZiBzZWxlY3RvcjpAc2VsZWN0b3IoX3dha1dpbmRvd1NjcmVlblNjYWxlQ2hh
bmdlZDopIG5hbWU6V0FLV2luZG93U2NyZWVuU2NhbGVEaWRDaGFuZ2VOb3RpZmljYXRpb24gb2Jq
ZWN0Om5pbF07Ci0gICAgW1tOU05vdGlmaWNhdGlvbkNlbnRlciBkZWZhdWx0Q2VudGVyXSBhZGRP
YnNlcnZlcjpzZWxmIHNlbGVjdG9yOkBzZWxlY3Rvcihfd2FrV2luZG93VmlzaWJpbGl0eUNoYW5n
ZWQ6KSBuYW1lOldBS1dpbmRvd1Zpc2liaWxpdHlEaWRDaGFuZ2VOb3RpZmljYXRpb24gb2JqZWN0
Om5pbF07CisKKyAgICBbY2VudGVyIGFkZE9ic2VydmVyOnNlbGYgc2VsZWN0b3I6QHNlbGVjdG9y
KF93YWtXaW5kb3dTY3JlZW5TY2FsZUNoYW5nZWQ6KSBuYW1lOldBS1dpbmRvd1NjcmVlblNjYWxl
RGlkQ2hhbmdlTm90aWZpY2F0aW9uIG9iamVjdDpuaWxdOworICAgIFtjZW50ZXIgYWRkT2JzZXJ2
ZXI6c2VsZiBzZWxlY3RvcjpAc2VsZWN0b3IoX3dha1dpbmRvd1Zpc2liaWxpdHlDaGFuZ2VkOikg
bmFtZTpXQUtXaW5kb3dWaXNpYmlsaXR5RGlkQ2hhbmdlTm90aWZpY2F0aW9uIG9iamVjdDpuaWxd
OwogICAgIF9wcml2YXRlLT5fZml4ZWRQb3NpdGlvbkNvbnRlbnQgPSBbW1dlYkZpeGVkUG9zaXRp
b25Db250ZW50IGFsbG9jXSBpbml0V2l0aFdlYlZpZXc6c2VsZl07CiAjaWYgRU5BQkxFKE9SSUVO
VEFUSU9OX0VWRU5UUykKICAgICBfcHJpdmF0ZS0+ZGV2aWNlT3JpZW50YXRpb24gPSBbW3NlbGYg
X1VJS2l0RGVsZWdhdGVGb3J3YXJkZXJdIGRldmljZU9yaWVudGF0aW9uXTsKQEAgLTE1NTUsNyAr
MTU1Niw3IEBAIC0gKHZvaWQpX2NvbW1vbkluaXRpYWxpemF0aW9uV2l0aEZyYW1lTmFtZTooTlNT
dHJpbmcgKilmcmFtZU5hbWUgZ3JvdXBOYW1lOihOU1N0CiAgICAgW3NlbGYgX3NldElzVmlzaWJs
ZTpbc2VsZiBfaXNWaWV3VmlzaWJsZV1dOwogCiAgICAgV2ViUHJlZmVyZW5jZXMgKnByZWZzID0g
W3NlbGYgcHJlZmVyZW5jZXNdOwotICAgIFtbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENl
bnRlcl0gYWRkT2JzZXJ2ZXI6c2VsZiBzZWxlY3RvcjpAc2VsZWN0b3IoX3ByZWZlcmVuY2VzQ2hh
bmdlZE5vdGlmaWNhdGlvbjopCisgICAgW2NlbnRlciBhZGRPYnNlcnZlcjpzZWxmIHNlbGVjdG9y
OkBzZWxlY3RvcihfcHJlZmVyZW5jZXNDaGFuZ2VkTm90aWZpY2F0aW9uOikKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOldlYlByZWZlcmVuY2Vz
Q2hhbmdlZEludGVybmFsTm90aWZpY2F0aW9uIG9iamVjdDpwcmVmc107CiAKICNpZiAhUExBVEZP
Uk0oSU9TX0ZBTUlMWSkKQEAgLTE3NjYsOCArMTc2Nyw5IEBAIC0gKGlkKWluaXRTaW1wbGVIVE1M
RG9jdW1lbnRXaXRoU3R5bGU6KE5TU3RyaW5nICopc3R5bGUgZnJhbWU6KENHUmVjdClmcmFtZSBw
cmVmCiAjZW5kaWYKICAgICAKICAgICBbc2VsZiBfdXBkYXRlU2NyZWVuU2NhbGVGcm9tV2luZG93
XTsKLSAgICBbW05TTm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJdIGFkZE9ic2VydmVy
OnNlbGYgc2VsZWN0b3I6QHNlbGVjdG9yKF93YWtXaW5kb3dTY3JlZW5TY2FsZUNoYW5nZWQ6KSBu
YW1lOldBS1dpbmRvd1NjcmVlblNjYWxlRGlkQ2hhbmdlTm90aWZpY2F0aW9uIG9iamVjdDpuaWxd
OwotICAgIFtbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl0gYWRkT2JzZXJ2ZXI6
c2VsZiBzZWxlY3RvcjpAc2VsZWN0b3IoX3dha1dpbmRvd1Zpc2liaWxpdHlDaGFuZ2VkOikgbmFt
ZTpXQUtXaW5kb3dWaXNpYmlsaXR5RGlkQ2hhbmdlTm90aWZpY2F0aW9uIG9iamVjdDpuaWxdOwor
ICAgIE5TTm90aWZpY2F0aW9uQ2VudGVyICpjZW50ZXIgPSBbTlNOb3RpZmljYXRpb25DZW50ZXIg
ZGVmYXVsdENlbnRlcl07CisgICAgW2NlbnRlciBhZGRPYnNlcnZlcjpzZWxmIHNlbGVjdG9yOkBz
ZWxlY3Rvcihfd2FrV2luZG93U2NyZWVuU2NhbGVDaGFuZ2VkOikgbmFtZTpXQUtXaW5kb3dTY3Jl
ZW5TY2FsZURpZENoYW5nZU5vdGlmaWNhdGlvbiBvYmplY3Q6bmlsXTsKKyAgICBbY2VudGVyIGFk
ZE9ic2VydmVyOnNlbGYgc2VsZWN0b3I6QHNlbGVjdG9yKF93YWtXaW5kb3dWaXNpYmlsaXR5Q2hh
bmdlZDopIG5hbWU6V0FLV2luZG93VmlzaWJpbGl0eURpZENoYW5nZU5vdGlmaWNhdGlvbiBvYmpl
Y3Q6bmlsXTsKIAogICAgIFtXZWJGcmFtZSBfY3JlYXRlTWFpbkZyYW1lV2l0aFNpbXBsZUhUTUxE
b2N1bWVudFdpdGhQYWdlOl9wcml2YXRlLT5wYWdlIGZyYW1lVmlldzpmcmFtZVZpZXcgc3R5bGU6
c3R5bGVdOwogICAgIApAQCAtNTU3OCwxNyArNTU4MCwxNyBAQCArICh2b2lkKWluaXRpYWxpemUK
ICAgICBXVEY6OnNldFByb2Nlc3NQcml2aWxlZ2VzKGFsbFByaXZpbGVnZXMoKSk7CiAgICAgV2Vi
Q29yZTo6TmV0d29ya1N0b3JhZ2VTZXNzaW9uOjpwZXJtaXRQcm9jZXNzVG9Vc2VDb29raWVBUEko
dHJ1ZSk7CiAKKyAgICBOU05vdGlmaWNhdGlvbkNlbnRlciAqY2VudGVyID0gW05TTm90aWZpY2F0
aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJdOworCiAjaWYgIVBMQVRGT1JNKElPU19GQU1JTFkpCi0g
ICAgW1tOU05vdGlmaWNhdGlvbkNlbnRlciBkZWZhdWx0Q2VudGVyXSBhZGRPYnNlcnZlcjpzZWxm
IHNlbGVjdG9yOkBzZWxlY3RvcihfYXBwbGljYXRpb25XaWxsVGVybWluYXRlKSBuYW1lOk5TQXBw
bGljYXRpb25XaWxsVGVybWluYXRlTm90aWZpY2F0aW9uIG9iamVjdDpOU0FwcF07CisgICAgW2Nl
bnRlciBhZGRPYnNlcnZlcjpzZWxmIHNlbGVjdG9yOkBzZWxlY3RvcihfYXBwbGljYXRpb25XaWxs
VGVybWluYXRlKSBuYW1lOk5TQXBwbGljYXRpb25XaWxsVGVybWluYXRlTm90aWZpY2F0aW9uIG9i
amVjdDpOU0FwcF07CiAjZW5kaWYKLSAgICBbW05TTm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRD
ZW50ZXJdIGFkZE9ic2VydmVyOnNlbGYgc2VsZWN0b3I6QHNlbGVjdG9yKF9jYWNoZU1vZGVsQ2hh
bmdlZE5vdGlmaWNhdGlvbjopIG5hbWU6V2ViUHJlZmVyZW5jZXNDYWNoZU1vZGVsQ2hhbmdlZElu
dGVybmFsTm90aWZpY2F0aW9uIG9iamVjdDpuaWxdOwotICAgIFtbTlNOb3RpZmljYXRpb25DZW50
ZXIgZGVmYXVsdENlbnRlcl0gYWRkT2JzZXJ2ZXI6c2VsZiBzZWxlY3RvcjpAc2VsZWN0b3IoX3By
ZWZlcmVuY2VzUmVtb3ZlZE5vdGlmaWNhdGlvbjopIG5hbWU6V2ViUHJlZmVyZW5jZXNSZW1vdmVk
Tm90aWZpY2F0aW9uIG9iamVjdDpuaWxdOworICAgIFtjZW50ZXIgYWRkT2JzZXJ2ZXI6c2VsZiBz
ZWxlY3RvcjpAc2VsZWN0b3IoX2NhY2hlTW9kZWxDaGFuZ2VkTm90aWZpY2F0aW9uOikgbmFtZTpX
ZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxDaGFuZ2VkSW50ZXJuYWxOb3RpZmljYXRpb24gb2JqZWN0
Om5pbF07CisgICAgW2NlbnRlciBhZGRPYnNlcnZlcjpzZWxmIHNlbGVjdG9yOkBzZWxlY3Rvcihf
cHJlZmVyZW5jZXNSZW1vdmVkTm90aWZpY2F0aW9uOikgbmFtZTpXZWJQcmVmZXJlbmNlc1JlbW92
ZWROb3RpZmljYXRpb24gb2JqZWN0Om5pbF07CiAKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQog
ICAgIGNvbnRpbnVvdXNTcGVsbENoZWNraW5nRW5hYmxlZCA9IE5POwotCiAjZWxzZQotCiAgICAg
TlNVc2VyRGVmYXVsdHMgKmRlZmF1bHRzID0gW05TVXNlckRlZmF1bHRzIHN0YW5kYXJkVXNlckRl
ZmF1bHRzXTsKICAgICBjb250aW51b3VzU3BlbGxDaGVja2luZ0VuYWJsZWQgPSBbZGVmYXVsdHMg
Ym9vbEZvcktleTpXZWJDb250aW51b3VzU3BlbGxDaGVja2luZ0VuYWJsZWRdOwogICAgIGdyYW1t
YXJDaGVja2luZ0VuYWJsZWQgPSBbZGVmYXVsdHMgYm9vbEZvcktleTpXZWJHcmFtbWFyQ2hlY2tp
bmdFbmFibGVkXTsKQEAgLTU1OTksMTMgKzU2MDEsMTMgQEAgKyAodm9pZClpbml0aWFsaXplCiAg
ICAgYXV0b21hdGljVGV4dFJlcGxhY2VtZW50RW5hYmxlZCA9IFtzZWxmIF9zaG91bGRBdXRvbWF0
aWNUZXh0UmVwbGFjZW1lbnRCZUVuYWJsZWRdOwogICAgIGF1dG9tYXRpY1NwZWxsaW5nQ29ycmVj
dGlvbkVuYWJsZWQgPSBbc2VsZiBfc2hvdWxkQXV0b21hdGljU3BlbGxpbmdDb3JyZWN0aW9uQmVF
bmFibGVkXTsKIAotICAgIFtbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl0gYWRk
T2JzZXJ2ZXI6c2VsZiBzZWxlY3RvcjpAc2VsZWN0b3IoX2RpZENoYW5nZUF1dG9tYXRpY1RleHRS
ZXBsYWNlbWVudEVuYWJsZWQ6KQorICAgIFtjZW50ZXIgYWRkT2JzZXJ2ZXI6c2VsZiBzZWxlY3Rv
cjpAc2VsZWN0b3IoX2RpZENoYW5nZUF1dG9tYXRpY1RleHRSZXBsYWNlbWVudEVuYWJsZWQ6KQog
ICAgICAgICBuYW1lOk5TU3BlbGxDaGVja2VyRGlkQ2hhbmdlQXV0b21hdGljVGV4dFJlcGxhY2Vt
ZW50Tm90aWZpY2F0aW9uIG9iamVjdDpuaWxdOwotICAgIFtbTlNOb3RpZmljYXRpb25DZW50ZXIg
ZGVmYXVsdENlbnRlcl0gYWRkT2JzZXJ2ZXI6c2VsZiBzZWxlY3RvcjpAc2VsZWN0b3IoX2RpZENo
YW5nZUF1dG9tYXRpY1NwZWxsaW5nQ29ycmVjdGlvbkVuYWJsZWQ6KQorICAgIFtjZW50ZXIgYWRk
T2JzZXJ2ZXI6c2VsZiBzZWxlY3RvcjpAc2VsZWN0b3IoX2RpZENoYW5nZUF1dG9tYXRpY1NwZWxs
aW5nQ29ycmVjdGlvbkVuYWJsZWQ6KQogICAgICAgICBuYW1lOk5TU3BlbGxDaGVja2VyRGlkQ2hh
bmdlQXV0b21hdGljU3BlbGxpbmdDb3JyZWN0aW9uTm90aWZpY2F0aW9uIG9iamVjdDpuaWxdOwot
ICAgIFtbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl0gYWRkT2JzZXJ2ZXI6c2Vs
ZiBzZWxlY3RvcjpAc2VsZWN0b3IoX2RpZENoYW5nZUF1dG9tYXRpY1F1b3RlU3Vic3RpdHV0aW9u
RW5hYmxlZDopCisgICAgW2NlbnRlciBhZGRPYnNlcnZlcjpzZWxmIHNlbGVjdG9yOkBzZWxlY3Rv
cihfZGlkQ2hhbmdlQXV0b21hdGljUXVvdGVTdWJzdGl0dXRpb25FbmFibGVkOikKICAgICAgICAg
bmFtZTpOU1NwZWxsQ2hlY2tlckRpZENoYW5nZUF1dG9tYXRpY1F1b3RlU3Vic3RpdHV0aW9uTm90
aWZpY2F0aW9uIG9iamVjdDpuaWxdOwotICAgIFtbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVs
dENlbnRlcl0gYWRkT2JzZXJ2ZXI6c2VsZiBzZWxlY3RvcjpAc2VsZWN0b3IoX2RpZENoYW5nZUF1
dG9tYXRpY0Rhc2hTdWJzdGl0dXRpb25FbmFibGVkOikKKyAgICBbY2VudGVyIGFkZE9ic2VydmVy
OnNlbGYgc2VsZWN0b3I6QHNlbGVjdG9yKF9kaWRDaGFuZ2VBdXRvbWF0aWNEYXNoU3Vic3RpdHV0
aW9uRW5hYmxlZDopCiAgICAgICAgIG5hbWU6TlNTcGVsbENoZWNrZXJEaWRDaGFuZ2VBdXRvbWF0
aWNEYXNoU3Vic3RpdHV0aW9uTm90aWZpY2F0aW9uIG9iamVjdDpuaWxdOwogI2VuZGlmCiB9CkBA
IC02MzEyLDEzICs2MzE0LDE0IEBAIC0gKHZvaWQpc2V0UHJlZmVyZW5jZXM6KFdlYlByZWZlcmVu
Y2VzICopcHJlZnMKIAogICAgIFdlYlByZWZlcmVuY2VzICpvbGRQcmVmcyA9IF9wcml2YXRlLT5w
cmVmZXJlbmNlczsKIAotICAgIFtbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl0g
cmVtb3ZlT2JzZXJ2ZXI6c2VsZiBuYW1lOldlYlByZWZlcmVuY2VzQ2hhbmdlZEludGVybmFsTm90
aWZpY2F0aW9uIG9iamVjdDpbc2VsZiBwcmVmZXJlbmNlc11dOworICAgIE5TTm90aWZpY2F0aW9u
Q2VudGVyICpjZW50ZXIgPSBbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl07Cisg
ICAgW2NlbnRlciByZW1vdmVPYnNlcnZlcjpzZWxmIG5hbWU6V2ViUHJlZmVyZW5jZXNDaGFuZ2Vk
SW50ZXJuYWxOb3RpZmljYXRpb24gb2JqZWN0OltzZWxmIHByZWZlcmVuY2VzXV07CiAgICAgW1dl
YlByZWZlcmVuY2VzIF9yZW1vdmVSZWZlcmVuY2VGb3JJZGVudGlmaWVyOltvbGRQcmVmcyBpZGVu
dGlmaWVyXV07CiAKICAgICBfcHJpdmF0ZS0+cHJlZmVyZW5jZXMgPSBbcHJlZnMgcmV0YWluXTsK
IAogICAgIC8vIEFmdGVyIHJlZ2lzdGVyaW5nIGZvciB0aGUgbm90aWZpY2F0aW9uLCBwb3N0IGl0
IHNvIHRoZSBXZWJDb3JlIHNldHRpbmdzIHVwZGF0ZS4KLSAgICBbW05TTm90aWZpY2F0aW9uQ2Vu
dGVyIGRlZmF1bHRDZW50ZXJdIGFkZE9ic2VydmVyOnNlbGYgc2VsZWN0b3I6QHNlbGVjdG9yKF9w
cmVmZXJlbmNlc0NoYW5nZWROb3RpZmljYXRpb246KQorICAgIFtjZW50ZXIgYWRkT2JzZXJ2ZXI6
c2VsZiBzZWxlY3RvcjpAc2VsZWN0b3IoX3ByZWZlcmVuY2VzQ2hhbmdlZE5vdGlmaWNhdGlvbjop
CiAgICAgICAgIG5hbWU6V2ViUHJlZmVyZW5jZXNDaGFuZ2VkSW50ZXJuYWxOb3RpZmljYXRpb24g
b2JqZWN0OltzZWxmIHByZWZlcmVuY2VzXV07CiAgICAgW3NlbGYgX3ByZWZlcmVuY2VzQ2hhbmdl
ZDpbc2VsZiBwcmVmZXJlbmNlc11dOwogICAgIFtbc2VsZiBwcmVmZXJlbmNlc10gX3Bvc3RQcmVm
ZXJlbmNlc0NoYW5nZWRBUElOb3RpZmljYXRpb25dOwpAQCAtOTk0NCw5ICs5OTQ3LDEwIEBAIC0g
KHZvaWQpdXBkYXRlVGV4dFRvdWNoQmFyCiAgICAgICAgIF9wcml2YXRlLT5fdGV4dFRvdWNoQmFy
SXRlbUNvbnRyb2xsZXIgPSBhZG9wdE5TKFtbV2ViVGV4dFRvdWNoQmFySXRlbUNvbnRyb2xsZXIg
YWxsb2NdIGluaXRXaXRoV2ViVmlldzpzZWxmXSk7CiAKICAgICBpZiAoIV9wcml2YXRlLT5fc3Rh
cnRlZExpc3RlbmluZ1RvQ3VzdG9taXphdGlvbkV2ZW50cykgewotICAgICAgICBbW05TTm90aWZp
Y2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJdIGFkZE9ic2VydmVyOnNlbGYgc2VsZWN0b3I6QHNl
bGVjdG9yKHRvdWNoQmFyRGlkRXhpdEN1c3RvbWl6YXRpb246KSBuYW1lOk5TVG91Y2hCYXJEaWRF
eGl0Q3VzdG9taXphdGlvbiBvYmplY3Q6bmlsXTsKLSAgICAgICAgW1tOU05vdGlmaWNhdGlvbkNl
bnRlciBkZWZhdWx0Q2VudGVyXSBhZGRPYnNlcnZlcjpzZWxmIHNlbGVjdG9yOkBzZWxlY3Rvcih0
b3VjaEJhcldpbGxFbnRlckN1c3RvbWl6YXRpb246KSBuYW1lOk5TVG91Y2hCYXJXaWxsRW50ZXJD
dXN0b21pemF0aW9uIG9iamVjdDpuaWxdOwotICAgICAgICBbW05TTm90aWZpY2F0aW9uQ2VudGVy
IGRlZmF1bHRDZW50ZXJdIGFkZE9ic2VydmVyOnNlbGYgc2VsZWN0b3I6QHNlbGVjdG9yKGRpZENo
YW5nZUF1dG9tYXRpY1RleHRDb21wbGV0aW9uOikgbmFtZTpOU1NwZWxsQ2hlY2tlckRpZENoYW5n
ZUF1dG9tYXRpY1RleHRDb21wbGV0aW9uTm90aWZpY2F0aW9uIG9iamVjdDpuaWxdOworICAgICAg
ICBOU05vdGlmaWNhdGlvbkNlbnRlciAqY2VudGVyID0gW05TTm90aWZpY2F0aW9uQ2VudGVyIGRl
ZmF1bHRDZW50ZXJdOworICAgICAgICBbY2VudGVyIGFkZE9ic2VydmVyOnNlbGYgc2VsZWN0b3I6
QHNlbGVjdG9yKHRvdWNoQmFyRGlkRXhpdEN1c3RvbWl6YXRpb246KSBuYW1lOk5TVG91Y2hCYXJE
aWRFeGl0Q3VzdG9taXphdGlvbiBvYmplY3Q6bmlsXTsKKyAgICAgICAgW2NlbnRlciBhZGRPYnNl
cnZlcjpzZWxmIHNlbGVjdG9yOkBzZWxlY3Rvcih0b3VjaEJhcldpbGxFbnRlckN1c3RvbWl6YXRp
b246KSBuYW1lOk5TVG91Y2hCYXJXaWxsRW50ZXJDdXN0b21pemF0aW9uIG9iamVjdDpuaWxdOwor
ICAgICAgICBbY2VudGVyIGFkZE9ic2VydmVyOnNlbGYgc2VsZWN0b3I6QHNlbGVjdG9yKGRpZENo
YW5nZUF1dG9tYXRpY1RleHRDb21wbGV0aW9uOikgbmFtZTpOU1NwZWxsQ2hlY2tlckRpZENoYW5n
ZUF1dG9tYXRpY1RleHRDb21wbGV0aW9uTm90aWZpY2F0aW9uIG9iamVjdDpuaWxdOwogICAgICAg
ICBfcHJpdmF0ZS0+X3N0YXJ0ZWRMaXN0ZW5pbmdUb0N1c3RvbWl6YXRpb25FdmVudHMgPSBZRVM7
CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dl
YlZpZXdEYXRhLm1tIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3RGF0
YS5tbQppbmRleCA4YjQ5NzgyYjZiYy4uZWVkZGY2YzdlZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlld0RhdGEubW0KKysrIGIvU291cmNlL1dlYktp
dExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3RGF0YS5tbQpAQCAtMTQxLDE2ICsxNDEsMTYgQEAg
LSAoaW5zdGFuY2V0eXBlKWluaXRXaXRoVmlldzooV2ViVmlldyAqKXZpZXcKIC0gKHZvaWQpc3Rh
cnRPYnNlcnZpbmc6KE5TV2luZG93ICopd2luZG93CiB7CiAgICAgLy8gQW4gTlNWaWV3IGRlcml2
ZWQgb2JqZWN0IHN1Y2ggYXMgV2ViVmlldyBjYW5ub3Qgb2JzZXJ2ZSB0aGVzZSBub3RpZmljYXRp
b25zLCBiZWNhdXNlIE5TVmlldyBpdHNlbGYgb2JzZXJ2ZXMgdGhlbS4KLSAgICBbW05TTm90aWZp
Y2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJdIGFkZE9ic2VydmVyOnNlbGYgc2VsZWN0b3I6QHNl
bGVjdG9yKF93aW5kb3dWaXNpYmlsaXR5Q2hhbmdlZDopCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTpAIk5TV2luZG93RGlkT3JkZXJPZmZTY3Jl
ZW5Ob3RpZmljYXRpb24iIG9iamVjdDp3aW5kb3ddOwotICAgIFtbTlNOb3RpZmljYXRpb25DZW50
ZXIgZGVmYXVsdENlbnRlcl0gYWRkT2JzZXJ2ZXI6c2VsZiBzZWxlY3RvcjpAc2VsZWN0b3IoX3dp
bmRvd1Zpc2liaWxpdHlDaGFuZ2VkOikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBuYW1lOkAiX05TV2luZG93RGlkQmVjb21lVmlzaWJsZSIgb2JqZWN0
OndpbmRvd107CisgICAgTlNOb3RpZmljYXRpb25DZW50ZXIgKmNlbnRlciA9IFtOU05vdGlmaWNh
dGlvbkNlbnRlciBkZWZhdWx0Q2VudGVyXTsKKyAgICBbY2VudGVyIGFkZE9ic2VydmVyOnNlbGYg
c2VsZWN0b3I6QHNlbGVjdG9yKF93aW5kb3dWaXNpYmlsaXR5Q2hhbmdlZDopIG5hbWU6QCJOU1dp
bmRvd0RpZE9yZGVyT2ZmU2NyZWVuTm90aWZpY2F0aW9uIiBvYmplY3Q6d2luZG93XTsKKyAgICBb
Y2VudGVyIGFkZE9ic2VydmVyOnNlbGYgc2VsZWN0b3I6QHNlbGVjdG9yKF93aW5kb3dWaXNpYmls
aXR5Q2hhbmdlZDopIG5hbWU6QCJfTlNXaW5kb3dEaWRCZWNvbWVWaXNpYmxlIiBvYmplY3Q6d2lu
ZG93XTsKIH0KIAogLSAodm9pZClzdG9wT2JzZXJ2aW5nOihOU1dpbmRvdyAqKXdpbmRvdwogewot
ICAgIFtbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl0gcmVtb3ZlT2JzZXJ2ZXI6
c2VsZiBuYW1lOkAiTlNXaW5kb3dEaWRPcmRlck9mZlNjcmVlbk5vdGlmaWNhdGlvbiIgb2JqZWN0
OndpbmRvd107Ci0gICAgW1tOU05vdGlmaWNhdGlvbkNlbnRlciBkZWZhdWx0Q2VudGVyXSByZW1v
dmVPYnNlcnZlcjpzZWxmIG5hbWU6QCJfTlNXaW5kb3dEaWRCZWNvbWVWaXNpYmxlIiBvYmplY3Q6
d2luZG93XTsKKyAgICBOU05vdGlmaWNhdGlvbkNlbnRlciAqY2VudGVyID0gW05TTm90aWZpY2F0
aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJdOworICAgIFtjZW50ZXIgcmVtb3ZlT2JzZXJ2ZXI6c2Vs
ZiBuYW1lOkAiTlNXaW5kb3dEaWRPcmRlck9mZlNjcmVlbk5vdGlmaWNhdGlvbiIgb2JqZWN0Ondp
bmRvd107CisgICAgW2NlbnRlciByZW1vdmVPYnNlcnZlcjpzZWxmIG5hbWU6QCJfTlNXaW5kb3dE
aWRCZWNvbWVWaXNpYmxlIiBvYmplY3Q6d2luZG93XTsKIH0KIAogLSAodm9pZClfd2luZG93Vmlz
aWJpbGl0eUNoYW5nZWQ6KE5TTm90aWZpY2F0aW9uICopbm90aWZpY2F0aW9uCmRpZmYgLS1naXQg
YS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMmYwMjQ1ZjI5NWIuLmRj
MTk5YmQ1ZjI0IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMzAgQEAKKzIwMTktMDUtMjAgIEpvc2VwaCBQZWNvcmFybyAgPHBlY29y
YXJvQGFwcGxlLmNvbT4KKworICAgICAgICBSZW1vdmUgdW5uZWNlc3NhcnkgZHVwbGljYXRlIHNl
bGVjdG9yIGludm9jYXRpb25zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xOTgwNjYKKworICAgICAgICBSZXZpZXdlZCBieSBBbGV4IENocmlzdGVuc2Vu
LgorCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tOgorICAg
ICAgICAoc2V0RGVmYXVsdHNUb0NvbnNpc3RlbnRWYWx1ZXNGb3JUZXN0aW5nKToKKyAgICAgICAg
KiBNaW5pQnJvd3Nlci9tYWMvQXBwRGVsZWdhdGUubToKKyAgICAgICAgKGRlZmF1bHRDb25maWd1
cmF0aW9uKToKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL21hYy9OYXZpZ2F0b3JMYW5n
dWFnZS5tbToKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6Om92ZXJyaWRlQXBwbGVMYW5ndWFnZXMp
OgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvaW9zL21haW5JT1MubW06CisgICAgICAgIChtYWlu
KToKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL21hYy9JbmplY3RlZEJ1bmRsZUNvbnRyb2xsZXJN
YWMubW06CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpJbmplY3RlZEJ1bmRsZUNvbnRyb2xsZXI6
OnBsYXRmb3JtSW5pdGlhbGl6ZSk6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9tYWMvbWFpbk1h
Yy5tbToKKyAgICAgICAgKG1haW4pOgorICAgICAgICAqIFdlYktpdExhdW5jaGVyL21haW4ubToK
KyAgICAgICAgKGdldExhc3RWZXJzaW9uU2hvd24pOgorICAgICAgICAoc2F2ZUxhc3RWZXJzaW9u
U2hvd24pOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvbWFjL0lu
amVjdGVkQnVuZGxlTWFjLm1tOgorICAgICAgICAoV1RSOjpJbmplY3RlZEJ1bmRsZTo6cGxhdGZv
cm1Jbml0aWFsaXplKToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL2NvY29hL1Rlc3RDb250
cm9sbGVyQ29jb2EubW06CisgICAgICAgIChXVFI6OlRlc3RDb250cm9sbGVyOjpwbGF0Zm9ybUFk
ZFRlc3RPcHRpb25zIGNvbnN0KToKKwogMjAxOS0wNS0yMCAgRnVqaWkgSGlyb25vcmkgIDxIaXJv
bm9yaS5GdWppaUBzb255LmNvbT4KIAogICAgICAgICBydW4td2Via2l0LXRlc3RzIG5vdCBnYXRo
ZXJpbmcgY3Jhc2ggbG9ncyBvbiBDeWd3aW4gUHl0aG9uIGFuZCBXaW5kb3dzIFB5dGhvbgpkaWZm
IC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tIGIvVG9v
bHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tCmluZGV4IDNlMGQ4OTUyNWQz
Li5hOWEwNTE0ZWMxMSAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBS
ZW5kZXJUcmVlLm1tCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJl
ZS5tbQpAQCAtMTA3MCw3ICsxMDcwLDggQEAgc3RhdGljIHZvaWQgc2V0RGVmYXVsdHNUb0NvbnNp
c3RlbnRWYWx1ZXNGb3JUZXN0aW5nKCkKICAgICAgICAgQCJjb20uYXBwbGUuc3dpcGVzY3JvbGxk
aXJlY3Rpb24iOiBAMSwKICAgICB9OwogCi0gICAgW1tOU1VzZXJEZWZhdWx0cyBzdGFuZGFyZFVz
ZXJEZWZhdWx0c10gc2V0VmFsdWVzRm9yS2V5c1dpdGhEaWN0aW9uYXJ5OmRpY3RdOworICAgIE5T
VXNlckRlZmF1bHRzICpkZWZhdWx0cyA9IFtOU1VzZXJEZWZhdWx0cyBzdGFuZGFyZFVzZXJEZWZh
dWx0c107CisgICAgW2RlZmF1bHRzIHNldFZhbHVlc0ZvcktleXNXaXRoRGljdGlvbmFyeTpkaWN0
XTsKIAogICAgIE5TRGljdGlvbmFyeSAqcHJvY2Vzc0luc3RhbmNlRGVmYXVsdHMgPSBAewogICAg
ICAgICBXZWJEYXRhYmFzZURpcmVjdG9yeURlZmF1bHRzS2V5OiBbbGlicmFyeVBhdGggc3RyaW5n
QnlBcHBlbmRpbmdQYXRoQ29tcG9uZW50OkAiRGF0YWJhc2VzIl0sCkBAIC0xMDc5LDcgKzEwODAs
NyBAQCBzdGF0aWMgdm9pZCBzZXREZWZhdWx0c1RvQ29uc2lzdGVudFZhbHVlc0ZvclRlc3Rpbmco
KQogICAgICAgICBXZWJLaXRSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGlyZWN0b3J5RGVmYXVsdHNL
ZXk6IFtsaWJyYXJ5UGF0aCBzdHJpbmdCeUFwcGVuZGluZ1BhdGhDb21wb25lbnQ6QCJMb2NhbFN0
b3JhZ2UiXSwKICAgICB9OwogCi0gICAgW1tOU1VzZXJEZWZhdWx0cyBzdGFuZGFyZFVzZXJEZWZh
dWx0c10gc2V0Vm9sYXRpbGVEb21haW46cHJvY2Vzc0luc3RhbmNlRGVmYXVsdHMgZm9yTmFtZTpO
U0FyZ3VtZW50RG9tYWluXTsKKyAgICBbZGVmYXVsdHMgc2V0Vm9sYXRpbGVEb21haW46cHJvY2Vz
c0luc3RhbmNlRGVmYXVsdHMgZm9yTmFtZTpOU0FyZ3VtZW50RG9tYWluXTsKIH0KIAogc3RhdGlj
IHZvaWQgYWxsb2NhdGVHbG9iYWxDb250cm9sbGVycygpCmRpZmYgLS1naXQgYS9Ub29scy9NaW5p
QnJvd3Nlci9tYWMvQXBwRGVsZWdhdGUubSBiL1Rvb2xzL01pbmlCcm93c2VyL21hYy9BcHBEZWxl
Z2F0ZS5tCmluZGV4IGVmMTlmMGQ5YzZlLi45Y2I2YzZlYjExYiAxMDA2NDQKLS0tIGEvVG9vbHMv
TWluaUJyb3dzZXIvbWFjL0FwcERlbGVnYXRlLm0KKysrIGIvVG9vbHMvTWluaUJyb3dzZXIvbWFj
L0FwcERlbGVnYXRlLm0KQEAgLTk4LDExICs5OCwxMyBAQCAtICh2b2lkKWF3YWtlRnJvbU5pYgog
ICAgICAgICAKICAgICAgICAgY29uZmlndXJhdGlvbi5wcm9jZXNzUG9vbCA9IFtbW1dLUHJvY2Vz
c1Bvb2wgYWxsb2NdIF9pbml0V2l0aENvbmZpZ3VyYXRpb246cHJvY2Vzc0NvbmZpZ3VyYXRpb25d
IGF1dG9yZWxlYXNlXTsKIAorICAgICAgICBOU1VzZXJEZWZhdWx0cyAqZGVmYXVsdHMgPSBbTlNV
c2VyRGVmYXVsdHMgc3RhbmRhcmRVc2VyRGVmYXVsdHNdOworCiAgICAgICAgIE5TQXJyYXk8X1dL
RXhwZXJpbWVudGFsRmVhdHVyZSAqPiAqZXhwZXJpbWVudGFsRmVhdHVyZXMgPSBbV0tQcmVmZXJl
bmNlcyBfZXhwZXJpbWVudGFsRmVhdHVyZXNdOwogICAgICAgICBmb3IgKF9XS0V4cGVyaW1lbnRh
bEZlYXR1cmUgKmZlYXR1cmUgaW4gZXhwZXJpbWVudGFsRmVhdHVyZXMpIHsKICAgICAgICAgICAg
IEJPT0wgZW5hYmxlZDsKLSAgICAgICAgICAgIGlmIChbW05TVXNlckRlZmF1bHRzIHN0YW5kYXJk
VXNlckRlZmF1bHRzXSBvYmplY3RGb3JLZXk6ZmVhdHVyZS5rZXldKQotICAgICAgICAgICAgICAg
IGVuYWJsZWQgPSBbW05TVXNlckRlZmF1bHRzIHN0YW5kYXJkVXNlckRlZmF1bHRzXSBib29sRm9y
S2V5OmZlYXR1cmUua2V5XTsKKyAgICAgICAgICAgIGlmIChbZGVmYXVsdHMgb2JqZWN0Rm9yS2V5
OmZlYXR1cmUua2V5XSkKKyAgICAgICAgICAgICAgICBlbmFibGVkID0gW2RlZmF1bHRzIGJvb2xG
b3JLZXk6ZmVhdHVyZS5rZXldOwogICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgIGVu
YWJsZWQgPSBbZmVhdHVyZSBkZWZhdWx0VmFsdWVdOwogICAgICAgICAgICAgW2NvbmZpZ3VyYXRp
b24ucHJlZmVyZW5jZXMgX3NldEVuYWJsZWQ6ZW5hYmxlZCBmb3JFeHBlcmltZW50YWxGZWF0dXJl
OmZlYXR1cmVdOwpAQCAtMTExLDggKzExMyw4IEBAIC0gKHZvaWQpYXdha2VGcm9tTmliCiAgICAg
ICAgIE5TQXJyYXk8X1dLSW50ZXJuYWxEZWJ1Z0ZlYXR1cmUgKj4gKmludGVybmFsRGVidWdGZWF0
dXJlcyA9IFtXS1ByZWZlcmVuY2VzIF9pbnRlcm5hbERlYnVnRmVhdHVyZXNdOwogICAgICAgICBm
b3IgKF9XS0ludGVybmFsRGVidWdGZWF0dXJlICpmZWF0dXJlIGluIGludGVybmFsRGVidWdGZWF0
dXJlcykgewogICAgICAgICAgICAgQk9PTCBlbmFibGVkOwotICAgICAgICAgICAgaWYgKFtbTlNV
c2VyRGVmYXVsdHMgc3RhbmRhcmRVc2VyRGVmYXVsdHNdIG9iamVjdEZvcktleTpmZWF0dXJlLmtl
eV0pCi0gICAgICAgICAgICAgICAgZW5hYmxlZCA9IFtbTlNVc2VyRGVmYXVsdHMgc3RhbmRhcmRV
c2VyRGVmYXVsdHNdIGJvb2xGb3JLZXk6ZmVhdHVyZS5rZXldOworICAgICAgICAgICAgaWYgKFtk
ZWZhdWx0cyBvYmplY3RGb3JLZXk6ZmVhdHVyZS5rZXldKQorICAgICAgICAgICAgICAgIGVuYWJs
ZWQgPSBbZGVmYXVsdHMgYm9vbEZvcktleTpmZWF0dXJlLmtleV07CiAgICAgICAgICAgICBlbHNl
CiAgICAgICAgICAgICAgICAgZW5hYmxlZCA9IFtmZWF0dXJlIGRlZmF1bHRWYWx1ZV07CiAgICAg
ICAgICAgICBbY29uZmlndXJhdGlvbi5wcmVmZXJlbmNlcyBfc2V0RW5hYmxlZDplbmFibGVkIGZv
ckludGVybmFsRGVidWdGZWF0dXJlOmZlYXR1cmVdOwpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdl
YktpdEFQSS9UZXN0cy9tYWMvTmF2aWdhdG9yTGFuZ3VhZ2UubW0gYi9Ub29scy9UZXN0V2ViS2l0
QVBJL1Rlc3RzL21hYy9OYXZpZ2F0b3JMYW5ndWFnZS5tbQppbmRleCBlZTg4Y2I0YmY2Yi4uMDEw
YTg5MGY4MTYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvbWFjL05hdmln
YXRvckxhbmd1YWdlLm1tCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvbWFjL05hdmln
YXRvckxhbmd1YWdlLm1tCkBAIC00OCwxNCArNDgsMTUgQEAgbmFtZXNwYWNlIFRlc3RXZWJLaXRB
UEkgewogCiB2b2lkIG92ZXJyaWRlQXBwbGVMYW5ndWFnZXMoTlNTdHJpbmcgKnByaW1hcnlMYW5n
dWFnZSkKIHsKLSAgICBSZXRhaW5QdHI8TlNNdXRhYmxlRGljdGlvbmFyeT4gYXJndW1lbnREb21h
aW4gPSBhZG9wdE5TKFtbW05TVXNlckRlZmF1bHRzIHN0YW5kYXJkVXNlckRlZmF1bHRzXSB2b2xh
dGlsZURvbWFpbkZvck5hbWU6TlNBcmd1bWVudERvbWFpbl0gbXV0YWJsZUNvcHldKTsKKyAgICBO
U1VzZXJEZWZhdWx0cyAqZGVmYXVsdHMgPSBbTlNVc2VyRGVmYXVsdHMgc3RhbmRhcmRVc2VyRGVm
YXVsdHNdOworICAgIFJldGFpblB0cjxOU011dGFibGVEaWN0aW9uYXJ5PiBhcmd1bWVudERvbWFp
biA9IGFkb3B0TlMoW1tkZWZhdWx0cyB2b2xhdGlsZURvbWFpbkZvck5hbWU6TlNBcmd1bWVudERv
bWFpbl0gbXV0YWJsZUNvcHldKTsKICAgICBpZiAoIWFyZ3VtZW50RG9tYWluKQogICAgICAgICBh
cmd1bWVudERvbWFpbiA9IGFkb3B0TlMoW1tOU011dGFibGVEaWN0aW9uYXJ5IGFsbG9jXSBpbml0
XSk7CiAgICAgCiAgICAgW2FyZ3VtZW50RG9tYWluIGFkZEVudHJpZXNGcm9tRGljdGlvbmFyeTpA
ewogICAgICAgICBAIkFwcGxlTGFuZ3VhZ2VzIjogQFtwcmltYXJ5TGFuZ3VhZ2VdCiAgICAgfV07
Ci0gICAgW1tOU1VzZXJEZWZhdWx0cyBzdGFuZGFyZFVzZXJEZWZhdWx0c10gc2V0Vm9sYXRpbGVE
b21haW46YXJndW1lbnREb21haW4uZ2V0KCkgZm9yTmFtZTpOU0FyZ3VtZW50RG9tYWluXTsKKyAg
ICBbZGVmYXVsdHMgc2V0Vm9sYXRpbGVEb21haW46YXJndW1lbnREb21haW4uZ2V0KCkgZm9yTmFt
ZTpOU0FyZ3VtZW50RG9tYWluXTsKIAogICAgIFtbTlNEaXN0cmlidXRlZE5vdGlmaWNhdGlvbkNl
bnRlciBkZWZhdWx0Q2VudGVyXSBwb3N0Tm90aWZpY2F0aW9uTmFtZTpAIkFwcGxlTGFuZ3VhZ2VQ
cmVmZXJlbmNlc0NoYW5nZWROb3RpZmljYXRpb24iIG9iamVjdDpuaWwgdXNlckluZm86bmlsIG9w
dGlvbnM6TlNOb3RpZmljYXRpb25EZWxpdmVySW1tZWRpYXRlbHldOwogCmRpZmYgLS1naXQgYS9U
b29scy9UZXN0V2ViS2l0QVBJL2lvcy9tYWluSU9TLm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9p
b3MvbWFpbklPUy5tbQppbmRleCBjYjhjMGM1NWU3Ni4uOGYzYWRmMjBmNWEgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvaW9zL21haW5JT1MubW0KKysrIGIvVG9vbHMvVGVzdFdlYktp
dEFQSS9pb3MvbWFpbklPUy5tbQpAQCAtMzAsMTAgKzMwLDExIEBAIGludCBtYWluKGludCBhcmdj
LCBjaGFyKiogYXJndikKIHsKICAgICBOU0F1dG9yZWxlYXNlUG9vbCAqcG9vbCA9IFtbTlNBdXRv
cmVsZWFzZVBvb2wgYWxsb2NdIGluaXRdOwogCi0gICAgW1tOU1VzZXJEZWZhdWx0cyBzdGFuZGFy
ZFVzZXJEZWZhdWx0c10gcmVtb3ZlUGVyc2lzdGVudERvbWFpbkZvck5hbWU6QCJUZXN0V2ViS2l0
QVBJIl07CisgICAgTlNVc2VyRGVmYXVsdHMgKmRlZmF1bHRzID0gW05TVXNlckRlZmF1bHRzIHN0
YW5kYXJkVXNlckRlZmF1bHRzXTsKKyAgICBbZGVmYXVsdHMgcmVtb3ZlUGVyc2lzdGVudERvbWFp
bkZvck5hbWU6QCJUZXN0V2ViS2l0QVBJIl07CiAKICAgICAvLyBTZXQgdXAgdXNlciBkZWZhdWx0
cy4KLSAgICBOU011dGFibGVEaWN0aW9uYXJ5ICphcmd1bWVudERvbWFpbiA9IFtbW05TVXNlckRl
ZmF1bHRzIHN0YW5kYXJkVXNlckRlZmF1bHRzXSB2b2xhdGlsZURvbWFpbkZvck5hbWU6TlNBcmd1
bWVudERvbWFpbl0gbXV0YWJsZUNvcHldOworICAgIE5TTXV0YWJsZURpY3Rpb25hcnkgKmFyZ3Vt
ZW50RG9tYWluID0gW1tkZWZhdWx0cyB2b2xhdGlsZURvbWFpbkZvck5hbWU6TlNBcmd1bWVudERv
bWFpbl0gbXV0YWJsZUNvcHldOwogICAgIGlmICghYXJndW1lbnREb21haW4pCiAgICAgICAgIGFy
Z3VtZW50RG9tYWluID0gW1tOU011dGFibGVEaWN0aW9uYXJ5IGFsbG9jXSBpbml0XTsKICAgICAK
QEAgLTQyLDcgKzQzLDcgQEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIqKiBhcmd2KQogICAgICAg
ICAgICAgICAgICAgICAgICAgICBuaWxdOwogCiAgICAgW2FyZ3VtZW50RG9tYWluIGFkZEVudHJp
ZXNGcm9tRGljdGlvbmFyeTpkaWN0XTsKLSAgICBbW05TVXNlckRlZmF1bHRzIHN0YW5kYXJkVXNl
ckRlZmF1bHRzXSBzZXRWb2xhdGlsZURvbWFpbjphcmd1bWVudERvbWFpbiBmb3JOYW1lOk5TQXJn
dW1lbnREb21haW5dOworICAgIFtkZWZhdWx0cyBzZXRWb2xhdGlsZURvbWFpbjphcmd1bWVudERv
bWFpbiBmb3JOYW1lOk5TQXJndW1lbnREb21haW5dOwogCiAgICAgYm9vbCBwYXNzZWQgPSBUZXN0
V2ViS2l0QVBJOjpUZXN0c0NvbnRyb2xsZXI6OnNpbmdsZXRvbigpLnJ1bihhcmdjLCBhcmd2KTsK
IApkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9tYWMvSW5qZWN0ZWRCdW5kbGVDb250
cm9sbGVyTWFjLm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9tYWMvSW5qZWN0ZWRCdW5kbGVDb250
cm9sbGVyTWFjLm1tCmluZGV4IDdiMmJkN2Y5NjY2Li5mNjFjOWVjYTJkYiAxMDA2NDQKLS0tIGEv
VG9vbHMvVGVzdFdlYktpdEFQSS9tYWMvSW5qZWN0ZWRCdW5kbGVDb250cm9sbGVyTWFjLm1tCisr
KyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvbWFjL0luamVjdGVkQnVuZGxlQ29udHJvbGxlck1hYy5t
bQpAQCAtMzMsNyArMzMsOCBAQCBuYW1lc3BhY2UgVGVzdFdlYktpdEFQSSB7CiB2b2lkIEluamVj
dGVkQnVuZGxlQ29udHJvbGxlcjo6cGxhdGZvcm1Jbml0aWFsaXplKCkKIHsKICAgICAvLyBTZXQg
dXAgdXNlciBkZWZhdWx0cy4KLSAgICBOU011dGFibGVEaWN0aW9uYXJ5ICphcmd1bWVudERvbWFp
biA9IFtbW05TVXNlckRlZmF1bHRzIHN0YW5kYXJkVXNlckRlZmF1bHRzXSB2b2xhdGlsZURvbWFp
bkZvck5hbWU6TlNBcmd1bWVudERvbWFpbl0gbXV0YWJsZUNvcHldOworICAgIE5TVXNlckRlZmF1
bHRzICpkZWZhdWx0cyA9IFtOU1VzZXJEZWZhdWx0cyBzdGFuZGFyZFVzZXJEZWZhdWx0c107Cisg
ICAgTlNNdXRhYmxlRGljdGlvbmFyeSAqYXJndW1lbnREb21haW4gPSBbW2RlZmF1bHRzIHZvbGF0
aWxlRG9tYWluRm9yTmFtZTpOU0FyZ3VtZW50RG9tYWluXSBtdXRhYmxlQ29weV07CiAgICAgaWYg
KCFhcmd1bWVudERvbWFpbikKICAgICAgICAgYXJndW1lbnREb21haW4gPSBbW05TTXV0YWJsZURp
Y3Rpb25hcnkgYWxsb2NdIGluaXRdOwogICAgIApAQCAtNDYsNyArNDcsNyBAQCB2b2lkIEluamVj
dGVkQnVuZGxlQ29udHJvbGxlcjo6cGxhdGZvcm1Jbml0aWFsaXplKCkKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgbmlsXTsKIAogICAgIFthcmd1bWVudERvbWFpbiBhZGRFbnRyaWVzRnJvbURp
Y3Rpb25hcnk6ZGljdF07Ci0gICAgW1tOU1VzZXJEZWZhdWx0cyBzdGFuZGFyZFVzZXJEZWZhdWx0
c10gc2V0Vm9sYXRpbGVEb21haW46YXJndW1lbnREb21haW4gZm9yTmFtZTpOU0FyZ3VtZW50RG9t
YWluXTsKKyAgICBbZGVmYXVsdHMgc2V0Vm9sYXRpbGVEb21haW46YXJndW1lbnREb21haW4gZm9y
TmFtZTpOU0FyZ3VtZW50RG9tYWluXTsKIAogICAgIFthcmd1bWVudERvbWFpbiByZWxlYXNlXTsK
IH0KZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvbWFjL21haW5NYWMubW0gYi9Ub29s
cy9UZXN0V2ViS2l0QVBJL21hYy9tYWluTWFjLm1tCmluZGV4IGQzMTJjNjdlNTc2Li42ZjRkYTAw
YzhjOCAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9tYWMvbWFpbk1hYy5tbQorKysg
Yi9Ub29scy9UZXN0V2ViS2l0QVBJL21hYy9tYWluTWFjLm1tCkBAIC0zMiwxMCArMzIsMTEgQEAg
aW50IG1haW4oaW50IGFyZ2MsIGNoYXIqKiBhcmd2KQogewogICAgIE5TQXV0b3JlbGVhc2VQb29s
ICpwb29sID0gW1tOU0F1dG9yZWxlYXNlUG9vbCBhbGxvY10gaW5pdF07CiAKLSAgICBbW05TVXNl
ckRlZmF1bHRzIHN0YW5kYXJkVXNlckRlZmF1bHRzXSByZW1vdmVQZXJzaXN0ZW50RG9tYWluRm9y
TmFtZTpAIlRlc3RXZWJLaXRBUEkiXTsKKyAgICBOU1VzZXJEZWZhdWx0cyAqZGVmYXVsdHMgPSBb
TlNVc2VyRGVmYXVsdHMgc3RhbmRhcmRVc2VyRGVmYXVsdHNdOworICAgIFtkZWZhdWx0cyByZW1v
dmVQZXJzaXN0ZW50RG9tYWluRm9yTmFtZTpAIlRlc3RXZWJLaXRBUEkiXTsKIAogICAgIC8vIFNl
dCBhIHVzZXIgZGVmYXVsdCBmb3IgVGVzdFdlYktpdEFQSSB0byBieXBhc3MgYWxsIGxpbmtlZC1v
bi1vci1hZnRlciBjaGVja3MgaW4gV2ViS2l0Ci0gICAgTlNNdXRhYmxlRGljdGlvbmFyeSAqYXJn
dW1lbnREb21haW4gPSBbW1tOU1VzZXJEZWZhdWx0cyBzdGFuZGFyZFVzZXJEZWZhdWx0c10gdm9s
YXRpbGVEb21haW5Gb3JOYW1lOk5TQXJndW1lbnREb21haW5dIG11dGFibGVDb3B5XTsKKyAgICBO
U011dGFibGVEaWN0aW9uYXJ5ICphcmd1bWVudERvbWFpbiA9IFtbZGVmYXVsdHMgdm9sYXRpbGVE
b21haW5Gb3JOYW1lOk5TQXJndW1lbnREb21haW5dIG11dGFibGVDb3B5XTsKICAgICBpZiAoIWFy
Z3VtZW50RG9tYWluKQogICAgICAgICBhcmd1bWVudERvbWFpbiA9IFtbTlNNdXRhYmxlRGljdGlv
bmFyeSBhbGxvY10gaW5pdF07CiAgICAgCkBAIC00NCw3ICs0NSw3IEBAIGludCBtYWluKGludCBh
cmdjLCBjaGFyKiogYXJndikKICAgICAgICAgICAgICAgICAgICAgICAgICAgbmlsXTsKIAogICAg
IFthcmd1bWVudERvbWFpbiBhZGRFbnRyaWVzRnJvbURpY3Rpb25hcnk6ZGljdF07Ci0gICAgW1tO
U1VzZXJEZWZhdWx0cyBzdGFuZGFyZFVzZXJEZWZhdWx0c10gc2V0Vm9sYXRpbGVEb21haW46YXJn
dW1lbnREb21haW4gZm9yTmFtZTpOU0FyZ3VtZW50RG9tYWluXTsKKyAgICBbZGVmYXVsdHMgc2V0
Vm9sYXRpbGVEb21haW46YXJndW1lbnREb21haW4gZm9yTmFtZTpOU0FyZ3VtZW50RG9tYWluXTsK
IAogICAgIFtOU0FwcGxpY2F0aW9uIHNoYXJlZEFwcGxpY2F0aW9uXTsKICAgICBfQmVnaW5FdmVu
dFJlY2VpcHRPblRocmVhZCgpOyAvLyBNYWtlcyB3aW5kb3cgdmlzaWJpbGl0eSBub3RpZmljYXRp
b25zIHdvcmsgKGFuZCBwb3NzaWJseSBtb3JlKS4KZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdExh
dW5jaGVyL21haW4ubSBiL1Rvb2xzL1dlYktpdExhdW5jaGVyL21haW4ubQppbmRleCA0MzE1NWZk
NjRjYy4uMjVkNzdmMmU0MWIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdExhdW5jaGVyL21haW4u
bQorKysgYi9Ub29scy9XZWJLaXRMYXVuY2hlci9tYWluLm0KQEAgLTU2LDE0ICs1NiwxNiBAQCBz
dGF0aWMgdm9pZCBkaXNwbGF5RXJyb3JBbmRRdWl0KE5TU3RyaW5nICp0aXRsZSwgTlNTdHJpbmcg
Km1lc3NhZ2UpCiAKIHN0YXRpYyBpbnQgZ2V0TGFzdFZlcnNpb25TaG93bigpCiB7Ci0gICAgW1tO
U1VzZXJEZWZhdWx0cyBzdGFuZGFyZFVzZXJEZWZhdWx0c10gcmVnaXN0ZXJEZWZhdWx0czpbTlNE
aWN0aW9uYXJ5IGRpY3Rpb25hcnlXaXRoT2JqZWN0OkAiLTEiIGZvcktleTpAIlN0YXJ0UGFnZVNo
b3duSW5WZXJzaW9uIl1dOwotICAgIHJldHVybiBbW05TVXNlckRlZmF1bHRzIHN0YW5kYXJkVXNl
ckRlZmF1bHRzXSBpbnRlZ2VyRm9yS2V5OkAiU3RhcnRQYWdlU2hvd25JblZlcnNpb24iXTsKKyAg
ICBOU1VzZXJEZWZhdWx0cyAqZGVmYXVsdHMgPSBbTlNVc2VyRGVmYXVsdHMgc3RhbmRhcmRVc2Vy
RGVmYXVsdHNdOworICAgIFtkZWZhdWx0cyByZWdpc3RlckRlZmF1bHRzOltOU0RpY3Rpb25hcnkg
ZGljdGlvbmFyeVdpdGhPYmplY3Q6QCItMSIgZm9yS2V5OkAiU3RhcnRQYWdlU2hvd25JblZlcnNp
b24iXV07CisgICAgcmV0dXJuIFtkZWZhdWx0cyBpbnRlZ2VyRm9yS2V5OkAiU3RhcnRQYWdlU2hv
d25JblZlcnNpb24iXTsKIH0KIAogc3RhdGljIHZvaWQgc2F2ZUxhc3RWZXJzaW9uU2hvd24oaW50
IGxhc3RWZXJzaW9uKQogewotICAgIFtbTlNVc2VyRGVmYXVsdHMgc3RhbmRhcmRVc2VyRGVmYXVs
dHNdIHNldEludGVnZXI6bGFzdFZlcnNpb24gZm9yS2V5OkAiU3RhcnRQYWdlU2hvd25JblZlcnNp
b24iXTsKLSAgICBbW05TVXNlckRlZmF1bHRzIHN0YW5kYXJkVXNlckRlZmF1bHRzXSBzeW5jaHJv
bml6ZV07CisgICAgTlNVc2VyRGVmYXVsdHMgKmRlZmF1bHRzID0gW05TVXNlckRlZmF1bHRzIHN0
YW5kYXJkVXNlckRlZmF1bHRzXTsKKyAgICBbZGVmYXVsdHMgc2V0SW50ZWdlcjpsYXN0VmVyc2lv
biBmb3JLZXk6QCJTdGFydFBhZ2VTaG93bkluVmVyc2lvbiJdOworICAgIFtkZWZhdWx0cyBzeW5j
aHJvbml6ZV07CiB9CiAKIHN0YXRpYyBOU1N0cmluZyAqZ2V0UGF0aEZvclN0YXJ0UGFnZSgpCmRp
ZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL21hYy9Jbmpl
Y3RlZEJ1bmRsZU1hYy5tbSBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUv
bWFjL0luamVjdGVkQnVuZGxlTWFjLm1tCmluZGV4IDUwYjFiMTNkNzY1Li41YWY5ZWI2NDk5YiAx
MDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9tYWMvSW5q
ZWN0ZWRCdW5kbGVNYWMubW0KKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1
bmRsZS9tYWMvSW5qZWN0ZWRCdW5kbGVNYWMubW0KQEAgLTQzLDcgKzQzLDggQEAgdm9pZCBJbmpl
Y3RlZEJ1bmRsZTo6cGxhdGZvcm1Jbml0aWFsaXplKFdLVHlwZVJlZiBpbml0aWFsaXphdGlvblVz
ZXJEYXRhKQogICAgIHNldGVudigiWFRZUEVfQUxMT1dfQVVUT0FDVElWQVRJT04iLCAiMSIsIDAp
OwogCiAgICAgLy8gTGFuZ3VhZ2Ugd2FzIHNldCB1cCBlYXJsaWVyIGluIG1haW4oKS4gRG9uJ3Qg
Y2xvYmJlciBpdC4KLSAgICBOU0FycmF5ICpsYW5ndWFnZXMgPSBbW1tOU1VzZXJEZWZhdWx0cyBz
dGFuZGFyZFVzZXJEZWZhdWx0c10gdm9sYXRpbGVEb21haW5Gb3JOYW1lOk5TQXJndW1lbnREb21h
aW5dIHZhbHVlRm9yS2V5OkAiQXBwbGVMYW5ndWFnZXMiXTsKKyAgICBOU1VzZXJEZWZhdWx0cyAq
ZGVmYXVsdHMgPSBbTlNVc2VyRGVmYXVsdHMgc3RhbmRhcmRVc2VyRGVmYXVsdHNdOworICAgIE5T
QXJyYXkgKmxhbmd1YWdlcyA9IFtbZGVmYXVsdHMgdm9sYXRpbGVEb21haW5Gb3JOYW1lOk5TQXJn
dW1lbnREb21haW5dIHZhbHVlRm9yS2V5OkAiQXBwbGVMYW5ndWFnZXMiXTsKICAgICBpZiAoIWxh
bmd1YWdlcykKICAgICAgICAgbGFuZ3VhZ2VzID0gQFsgQCJlbiIgXTsKIApAQCAtNzMsNyArNzQs
NyBAQCB2b2lkIEluamVjdGVkQnVuZGxlOjpwbGF0Zm9ybUluaXRpYWxpemUoV0tUeXBlUmVmIGlu
aXRpYWxpemF0aW9uVXNlckRhdGEpCiAgICAgICAgIEAiY29tLmFwcGxlLnRyYWNrcGFkLmZvcmNl
Q2xpY2siOiBAMSwKICAgICB9OwogCi0gICAgW1tOU1VzZXJEZWZhdWx0cyBzdGFuZGFyZFVzZXJE
ZWZhdWx0c10gc2V0Vm9sYXRpbGVEb21haW46ZGljdCBmb3JOYW1lOk5TQXJndW1lbnREb21haW5d
OworICAgIFtkZWZhdWx0cyBzZXRWb2xhdGlsZURvbWFpbjpkaWN0IGZvck5hbWU6TlNBcmd1bWVu
dERvbWFpbl07CiAKICAgICAvLyBVbmRlcmx5aW5nIGZyYW1ld29ya3MgaGF2ZSBhbHJlYWR5IHJl
YWQgQXBwbGVBbnRpQWxpYXNpbmdUaHJlc2hvbGQgZGVmYXVsdCBiZWZvcmUgd2UgY2hhbmdlZCBp
dC4KICAgICAvLyBBIGRpc3RyaWJ1dGVkIG5vdGlmaWNhdGlvbiBpcyBkZWxpdmVyZWQgdG8gYWxs
IGFwcGxpY2F0aW9ucywgYnV0IGl0IHNob3VsZCBiZSBoYXJtbGVzcywgYW5kIGl0J3MgdGhlIG9u
bHkgd2F5IHRvIHVwZGF0ZSBhbGwgdW5kZXJseWluZyBmcmFtZXdvcmtzIGFueXdheS4KZGlmZiAt
LWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvY29jb2EvVGVzdENvbnRyb2xsZXJDb2NvYS5t
bSBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvY29jb2EvVGVzdENvbnRyb2xsZXJDb2NvYS5tbQpp
bmRleCA0MDg3NzM1YmEyNS4uNzlhMTU4ZTNkNzEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRl
c3RSdW5uZXIvY29jb2EvVGVzdENvbnRyb2xsZXJDb2NvYS5tbQorKysgYi9Ub29scy9XZWJLaXRU
ZXN0UnVubmVyL2NvY29hL1Rlc3RDb250cm9sbGVyQ29jb2EubW0KQEAgLTEyNiw5ICsxMjYsMTAg
QEAgV0tQcmVmZXJlbmNlc1JlZiBUZXN0Q29udHJvbGxlcjo6cGxhdGZvcm1QcmVmZXJlbmNlcygp
CiAKIHZvaWQgVGVzdENvbnRyb2xsZXI6OnBsYXRmb3JtQWRkVGVzdE9wdGlvbnMoVGVzdE9wdGlv
bnMmIG9wdGlvbnMpIGNvbnN0CiB7Ci0gICAgaWYgKFtbTlNVc2VyRGVmYXVsdHMgc3RhbmRhcmRV
c2VyRGVmYXVsdHNdIGJvb2xGb3JLZXk6QCJFbmFibGVQcm9jZXNzU3dhcE9uTmF2aWdhdGlvbiJd
KQorICAgIE5TVXNlckRlZmF1bHRzICpkZWZhdWx0cyA9IFtOU1VzZXJEZWZhdWx0cyBzdGFuZGFy
ZFVzZXJEZWZhdWx0c107CisgICAgaWYgKFtkZWZhdWx0cyBib29sRm9yS2V5OkAiRW5hYmxlUHJv
Y2Vzc1N3YXBPbk5hdmlnYXRpb24iXSkKICAgICAgICAgb3B0aW9ucy5jb250ZXh0T3B0aW9ucy5l
bmFibGVQcm9jZXNzU3dhcE9uTmF2aWdhdGlvbiA9IHRydWU7Ci0gICAgaWYgKFtbTlNVc2VyRGVm
YXVsdHMgc3RhbmRhcmRVc2VyRGVmYXVsdHNdIGJvb2xGb3JLZXk6QCJFbmFibGVQcm9jZXNzU3dh
cE9uV2luZG93T3BlbiJdKQorICAgIGlmIChbZGVmYXVsdHMgYm9vbEZvcktleTpAIkVuYWJsZVBy
b2Nlc3NTd2FwT25XaW5kb3dPcGVuIl0pCiAgICAgICAgIG9wdGlvbnMuY29udGV4dE9wdGlvbnMu
ZW5hYmxlUHJvY2Vzc1N3YXBPbldpbmRvd09wZW4gPSB0cnVlOwogfQogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>