<?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>40813</bug_id>
          
          <creation_ts>2010-06-17 23:46:10 -0700</creation_ts>
          <short_desc>REGRESSION(r61379): Broke multiple tests on all platforms (Requested by tkent on #webkit).</short_desc>
          <delta_ts>2010-06-17 23:59:16 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>39936</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Review Bot">webkit.review.bot</reporter>
          <assigned_to name="WebKit Review Bot">webkit.review.bot</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>239779</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-06-17 23:46:10 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/61379 broke the build:
Broke multiple tests on all platforms (Requested by tkent on #webkit).

This is an automatic bug report generated by the sheriff-bot. If this bug
report was created because of a flaky test, please file a bug for the flaky
test (if we don&apos;t already have one on file) and dup this bug against that bug
so that we can track how often these flaky tests case pain.

&quot;Only you can prevent forest fires.&quot; -- Smokey the Bear</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>239780</commentid>
    <comment_count>1</comment_count>
      <attachid>59073</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-06-17 23:46:19 -0700</bug_when>
    <thetext>Created attachment 59073
ROLLOUT of r61379

Any committer can land this patch automatically by marking it commit-queue+.  The commit-queue will build and test the patch before landing to ensure that the rollout will be successful.  This process takes approximately 15 minutes.

If you would like to land the rollout faster, you can use the following command:

  webkit-patch land-attachment ATTACHMENT_ID --ignore-builders

where ATTACHMENT_ID is the ID of this attachment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>239783</commentid>
    <comment_count>2</comment_count>
      <attachid>59073</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-06-17 23:59:11 -0700</bug_when>
    <thetext>Comment on attachment 59073
ROLLOUT of r61379

Clearing flags on attachment: 59073

Committed r61384: &lt;http://trac.webkit.org/changeset/61384&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>239784</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-06-17 23:59:16 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>59073</attachid>
            <date>2010-06-17 23:46:19 -0700</date>
            <delta_ts>2010-06-17 23:59:11 -0700</delta_ts>
            <desc>ROLLOUT of r61379</desc>
            <filename>bug-40813-20100618064618.patch</filename>
            <type>text/plain</type>
            <size>237400</size>
            <attacher name="WebKit Review Bot">webkit.review.bot</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
ZGM2YzE1MjE2MDkxNzllNDliM2E5Y2NlNjBmZTBhMGNhNTRkNDE5Ny4uNmU1NTYyZmU4M2Q0YmIw
OTI2ZGJkZDZiYzE4Mzc1N2I4M2Q5YjU0OSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNzAgQEAKKzIwMTAtMDYtMTcgIFNo
ZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgorCisgICAgICAgIFVucmV2
aWV3ZWQsIHJvbGxpbmcgb3V0IHI2MTM3OS4KKyAgICAgICAgaHR0cDovL3RyYWMud2Via2l0Lm9y
Zy9jaGFuZ2VzZXQvNjEzNzkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTQwODEzCisKKyAgICAgICAgQnJva2UgbXVsdGlwbGUgdGVzdHMgb24gYWxsIHBs
YXRmb3JtcyAoUmVxdWVzdGVkIGJ5IHRrZW50IG9uCisgICAgICAgICN3ZWJraXQpLgorCisgICAg
ICAgICogYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yLnBtOgorICAgICAgICAqIGJpbmRp
bmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckNQUC5wbToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3Jp
cHRzL0NvZGVHZW5lcmF0b3JHT2JqZWN0LnBtOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMv
Q29kZUdlbmVyYXRvckpTLnBtOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVy
YXRvck9iakMucG06CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yVjgu
cG06CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0NQUC9XZWJET01UZXN0T2JqLmNw
cDoKKyAgICAgICAgKFdlYkRPTVRlc3RPYmo6OmF0dHJXaXRoRXhjZXB0aW9uKToKKyAgICAgICAg
KFdlYkRPTVRlc3RPYmo6OnNldEF0dHJXaXRoRXhjZXB0aW9uKToKKyAgICAgICAgKFdlYkRPTVRl
c3RPYmo6OmF0dHJXaXRoU2V0dGVyRXhjZXB0aW9uKToKKyAgICAgICAgKFdlYkRPTVRlc3RPYmo6
OmF0dHJXaXRoR2V0dGVyRXhjZXB0aW9uKToKKyAgICAgICAgKFdlYkRPTVRlc3RPYmo6OnNldEF0
dHJXaXRoR2V0dGVyRXhjZXB0aW9uKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
Q1BQL1dlYkRPTVRlc3RPYmouaDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09i
amVjdC9XZWJLaXRET01UZXN0Q2FsbGJhY2suY3BwOgorICAgICAgICAod2Via2l0X2RvbV90ZXN0
X2NhbGxiYWNrX2NhbGxiYWNrX3dpdGhfY2xhc3MxcGFyYW0pOgorICAgICAgICAod2Via2l0X2Rv
bV90ZXN0X2NhbGxiYWNrX2NhbGxiYWNrX3dpdGhfY2xhc3MycGFyYW0pOgorICAgICAgICAod2Vi
a2l0X2RvbV90ZXN0X2NhbGxiYWNrX2NhbGxiYWNrX3dpdGhfbm9uX2Jvb2xfcmV0dXJuX3R5cGUp
OgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RP
YmouY3BwOgorICAgICAgICAod2Via2l0X2RvbV90ZXN0X29ial92b2lkX21ldGhvZCk6CisgICAg
ICAgICh3ZWJraXRfZG9tX3Rlc3Rfb2JqX3ZvaWRfbWV0aG9kX3dpdGhfYXJncyk6CisgICAgICAg
ICh3ZWJraXRfZG9tX3Rlc3Rfb2JqX2ludF9tZXRob2QpOgorICAgICAgICAod2Via2l0X2RvbV90
ZXN0X29ial9pbnRfbWV0aG9kX3dpdGhfYXJncyk6CisgICAgICAgICh3ZWJraXRfZG9tX3Rlc3Rf
b2JqX29ial9tZXRob2QpOgorICAgICAgICAod2Via2l0X2RvbV90ZXN0X29ial9vYmpfbWV0aG9k
X3dpdGhfYXJncyk6CisgICAgICAgICh3ZWJraXRfZG9tX3Rlc3Rfb2JqX21ldGhvZF90aGF0X3Jl
cXVpcmVzX2FsbF9hcmdzKToKKyAgICAgICAgKHdlYmtpdF9kb21fdGVzdF9vYmpfbWV0aG9kX3Ro
YXRfcmVxdWlyZXNfYWxsX2FyZ3NfYW5kX3Rocm93cyk6CisgICAgICAgICh3ZWJraXRfZG9tX3Rl
c3Rfb2JqX3NlcmlhbGl6ZWRfdmFsdWUpOgorICAgICAgICAod2Via2l0X2RvbV90ZXN0X29ial9t
ZXRob2Rfd2l0aF9leGNlcHRpb24pOgorICAgICAgICAod2Via2l0X2RvbV90ZXN0X29ial93aXRo
X2R5bmFtaWNfZnJhbWUpOgorICAgICAgICAod2Via2l0X2RvbV90ZXN0X29ial93aXRoX2R5bmFt
aWNfZnJhbWVfYW5kX2FyZyk6CisgICAgICAgICh3ZWJraXRfZG9tX3Rlc3Rfb2JqX3dpdGhfZHlu
YW1pY19mcmFtZV9hbmRfb3B0aW9uYWxfYXJnKToKKyAgICAgICAgKHdlYmtpdF9kb21fdGVzdF9v
Ympfd2l0aF9keW5hbWljX2ZyYW1lX2FuZF91c2VyX2dlc3R1cmUpOgorICAgICAgICAod2Via2l0
X2RvbV90ZXN0X29ial93aXRoX2R5bmFtaWNfZnJhbWVfYW5kX3VzZXJfZ2VzdHVyZV9hc2FkKToK
KyAgICAgICAgKHdlYmtpdF9kb21fdGVzdF9vYmpfd2l0aF9zY3JpcHRfc3RhdGVfdm9pZCk6Cisg
ICAgICAgICh3ZWJraXRfZG9tX3Rlc3Rfb2JqX3dpdGhfc2NyaXB0X3N0YXRlX29iaik6CisgICAg
ICAgICh3ZWJraXRfZG9tX3Rlc3Rfb2JqX3dpdGhfc2NyaXB0X3N0YXRlX3ZvaWRfZXhjZXB0aW9u
KToKKyAgICAgICAgKHdlYmtpdF9kb21fdGVzdF9vYmpfd2l0aF9zY3JpcHRfc3RhdGVfb2JqX2V4
Y2VwdGlvbik6CisgICAgICAgICh3ZWJraXRfZG9tX3Rlc3Rfb2JqX3dpdGhfc2NyaXB0X2V4ZWN1
dGlvbl9jb250ZXh0KToKKyAgICAgICAgKHdlYmtpdF9kb21fdGVzdF9vYmpfbWV0aG9kX3dpdGhf
b3B0aW9uYWxfYXJnKToKKyAgICAgICAgKHdlYmtpdF9kb21fdGVzdF9vYmpfbWV0aG9kX3dpdGhf
bm9uX29wdGlvbmFsX2FyZ19hbmRfb3B0aW9uYWxfYXJnKToKKyAgICAgICAgKHdlYmtpdF9kb21f
dGVzdF9vYmpfbWV0aG9kX3dpdGhfbm9uX29wdGlvbmFsX2FyZ19hbmRfdHdvX29wdGlvbmFsX2Fy
Z3MpOgorICAgICAgICAod2Via2l0X2RvbV90ZXN0X29ial9nZXRfcmVhZF9vbmx5X2ludF9hdHRy
KToKKyAgICAgICAgKHdlYmtpdF9kb21fdGVzdF9vYmpfZ2V0X3JlYWRfb25seV9zdHJpbmdfYXR0
cik6CisgICAgICAgICh3ZWJraXRfZG9tX3Rlc3Rfb2JqX2dldF9yZWFkX29ubHlfdGVzdF9vYmpf
YXR0cik6CisgICAgICAgICh3ZWJraXRfZG9tX3Rlc3Rfb2JqX2dldF9pbnRfYXR0cik6CisgICAg
ICAgICh3ZWJraXRfZG9tX3Rlc3Rfb2JqX3NldF9pbnRfYXR0cik6CisgICAgICAgICh3ZWJraXRf
ZG9tX3Rlc3Rfb2JqX2dldF9sb25nX2xvbmdfYXR0cik6CisgICAgICAgICh3ZWJraXRfZG9tX3Rl
c3Rfb2JqX3NldF9sb25nX2xvbmdfYXR0cik6CisgICAgICAgICh3ZWJraXRfZG9tX3Rlc3Rfb2Jq
X2dldF91bnNpZ25lZF9sb25nX2xvbmdfYXR0cik6CisgICAgICAgICh3ZWJraXRfZG9tX3Rlc3Rf
b2JqX3NldF91bnNpZ25lZF9sb25nX2xvbmdfYXR0cik6CisgICAgICAgICh3ZWJraXRfZG9tX3Rl
c3Rfb2JqX2dldF9zdHJpbmdfYXR0cik6CisgICAgICAgICh3ZWJraXRfZG9tX3Rlc3Rfb2JqX3Nl
dF9zdHJpbmdfYXR0cik6CisgICAgICAgICh3ZWJraXRfZG9tX3Rlc3Rfb2JqX2dldF90ZXN0X29i
al9hdHRyKToKKyAgICAgICAgKHdlYmtpdF9kb21fdGVzdF9vYmpfc2V0X3Rlc3Rfb2JqX2F0dHIp
OgorICAgICAgICAod2Via2l0X2RvbV90ZXN0X29ial9nZXRfYXR0cl93aXRoX2V4Y2VwdGlvbik6
CisgICAgICAgICh3ZWJraXRfZG9tX3Rlc3Rfb2JqX3NldF9hdHRyX3dpdGhfZXhjZXB0aW9uKToK
KyAgICAgICAgKHdlYmtpdF9kb21fdGVzdF9vYmpfZ2V0X2F0dHJfd2l0aF9zZXR0ZXJfZXhjZXB0
aW9uKToKKyAgICAgICAgKHdlYmtpdF9kb21fdGVzdF9vYmpfc2V0X2F0dHJfd2l0aF9zZXR0ZXJf
ZXhjZXB0aW9uKToKKyAgICAgICAgKHdlYmtpdF9kb21fdGVzdF9vYmpfZ2V0X2F0dHJfd2l0aF9n
ZXR0ZXJfZXhjZXB0aW9uKToKKyAgICAgICAgKHdlYmtpdF9kb21fdGVzdF9vYmpfc2V0X2F0dHJf
d2l0aF9nZXR0ZXJfZXhjZXB0aW9uKToKKyAgICAgICAgKHdlYmtpdF9kb21fdGVzdF9vYmpfZ2V0
X3NjcmlwdF9zdHJpbmdfYXR0cik6CisgICAgICAgICh3ZWJraXRfZG9tX3Rlc3Rfb2JqX2dldF9j
b25kaXRpb25hbF9hdHRyMSk6CisgICAgICAgICh3ZWJraXRfZG9tX3Rlc3Rfb2JqX3NldF9jb25k
aXRpb25hbF9hdHRyMSk6CisgICAgICAgICh3ZWJraXRfZG9tX3Rlc3Rfb2JqX2dldF9jb25kaXRp
b25hbF9hdHRyMik6CisgICAgICAgICh3ZWJraXRfZG9tX3Rlc3Rfb2JqX3NldF9jb25kaXRpb25h
bF9hdHRyMik6CisgICAgICAgICh3ZWJraXRfZG9tX3Rlc3Rfb2JqX2dldF9jb25kaXRpb25hbF9h
dHRyMyk6CisgICAgICAgICh3ZWJraXRfZG9tX3Rlc3Rfb2JqX3NldF9jb25kaXRpb25hbF9hdHRy
Myk6CisgICAgICAgICh3ZWJraXRfZG9tX3Rlc3Rfb2JqX2dldF9kZXNjcmlwdGlvbik6CisgICAg
ICAgICh3ZWJraXRfZG9tX3Rlc3Rfb2JqX2dldF9pZCk6CisgICAgICAgICh3ZWJraXRfZG9tX3Rl
c3Rfb2JqX3NldF9pZCk6CisgICAgICAgICh3ZWJraXRfZG9tX3Rlc3Rfb2JqX2dldF9oYXNoKToK
KyAgICAgICAgKHdlYmtpdF9kb21fdGVzdF9vYmpfc2V0X3Byb3BlcnR5KToKKyAgICAgICAgKHdl
YmtpdF9kb21fdGVzdF9vYmpfZ2V0X3Byb3BlcnR5KToKKyAgICAgICAgKHdlYmtpdF9kb21fdGVz
dF9vYmpfY2xhc3NfaW5pdCk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmpl
Y3QvV2ViS2l0RE9NVGVzdE9iai5oOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3RPYmouY3BwOgorICAgICAgICAoV2ViQ29yZTo6KToKKyAgICAgICAgKFdlYkNvcmU6
OmpzVGVzdE9iakF0dHJXaXRoRXhjZXB0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OmpzVGVzdE9i
akF0dHJXaXRoU2V0dGVyRXhjZXB0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OmpzVGVzdE9iakF0
dHJXaXRoR2V0dGVyRXhjZXB0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OnNldEpTVGVzdE9iakF0
dHJXaXRoRXhjZXB0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OnNldEpTVGVzdE9iakF0dHJXaXRo
R2V0dGVyRXhjZXB0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OmpzVGVzdE9ialByb3RvdHlwZUZ1
bmN0aW9uT3ZlcmxvYWRlZE1ldGhvZCk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdE9iai5oOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9PYmpDL0RP
TVRlc3RPYmouaDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvT2JqQy9ET01UZXN0
T2JqLm1tOgorICAgICAgICAoLVtET01UZXN0T2JqIGF0dHJXaXRoRXhjZXB0aW9uXSk6CisgICAg
ICAgICgtW0RPTVRlc3RPYmogc2V0QXR0cldpdGhFeGNlcHRpb246XSk6CisgICAgICAgICgtW0RP
TVRlc3RPYmogYXR0cldpdGhTZXR0ZXJFeGNlcHRpb25dKToKKyAgICAgICAgKC1bRE9NVGVzdE9i
aiBhdHRyV2l0aEdldHRlckV4Y2VwdGlvbl0pOgorICAgICAgICAoLVtET01UZXN0T2JqIHNldEF0
dHJXaXRoR2V0dGVyRXhjZXB0aW9uOl0pOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVz
dC9UZXN0T2JqLmlkbDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0
T2JqLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRlc3RPYmpJbnRlcm5hbDo6YXR0cldpdGhFeGNl
cHRpb25BdHRyR2V0dGVyKToKKyAgICAgICAgKFdlYkNvcmU6OlRlc3RPYmpJbnRlcm5hbDo6YXR0
cldpdGhFeGNlcHRpb25BdHRyU2V0dGVyKToKKyAgICAgICAgKFdlYkNvcmU6OlRlc3RPYmpJbnRl
cm5hbDo6YXR0cldpdGhTZXR0ZXJFeGNlcHRpb25BdHRyR2V0dGVyKToKKyAgICAgICAgKFdlYkNv
cmU6OlRlc3RPYmpJbnRlcm5hbDo6YXR0cldpdGhHZXR0ZXJFeGNlcHRpb25BdHRyR2V0dGVyKToK
KyAgICAgICAgKFdlYkNvcmU6OlRlc3RPYmpJbnRlcm5hbDo6YXR0cldpdGhHZXR0ZXJFeGNlcHRp
b25BdHRyU2V0dGVyKToKKyAgICAgICAgKFdlYkNvcmU6OlRlc3RPYmpJbnRlcm5hbDo6b3Zlcmxv
YWRlZE1ldGhvZENhbGxiYWNrKToKKyAgICAgICAgKFdlYkNvcmU6Oik6CisgICAgICAgICogZG9t
L0VsZW1lbnQuY3BwOgorICAgICAgICAqIGRvbS9FbGVtZW50Lmg6CisgICAgICAgICogaHRtbC9I
VE1MQW5jaG9yRWxlbWVudC5pZGw6CisgICAgICAgICogaHRtbC9IVE1MQXBwbGV0RWxlbWVudC5p
ZGw6CisgICAgICAgICogaHRtbC9IVE1MQXJlYUVsZW1lbnQuaWRsOgorICAgICAgICAqIGh0bWwv
SFRNTEJSRWxlbWVudC5pZGw6CisgICAgICAgICogaHRtbC9IVE1MQmFzZUVsZW1lbnQuaWRsOgor
ICAgICAgICAqIGh0bWwvSFRNTEJhc2VGb250RWxlbWVudC5pZGw6CisgICAgICAgICogaHRtbC9I
VE1MQmxvY2txdW90ZUVsZW1lbnQuaWRsOgorICAgICAgICAqIGh0bWwvSFRNTEJvZHlFbGVtZW50
LmlkbDoKKyAgICAgICAgKiBodG1sL0hUTUxCdXR0b25FbGVtZW50LmlkbDoKKyAgICAgICAgKiBo
dG1sL0hUTUxETGlzdEVsZW1lbnQuaWRsOgorICAgICAgICAqIGh0bWwvSFRNTERpcmVjdG9yeUVs
ZW1lbnQuaWRsOgorICAgICAgICAqIGh0bWwvSFRNTERpdkVsZW1lbnQuaWRsOgorICAgICAgICAq
IGh0bWwvSFRNTEVsZW1lbnQuaWRsOgorICAgICAgICAqIGh0bWwvSFRNTEVtYmVkRWxlbWVudC5p
ZGw6CisgICAgICAgICogaHRtbC9IVE1MRm9udEVsZW1lbnQuaWRsOgorICAgICAgICAqIGh0bWwv
SFRNTEZvcm1FbGVtZW50LmlkbDoKKyAgICAgICAgKiBodG1sL0hUTUxGcmFtZUVsZW1lbnQuaWRs
OgorICAgICAgICAqIGh0bWwvSFRNTEZyYW1lU2V0RWxlbWVudC5pZGw6CisgICAgICAgICogaHRt
bC9IVE1MSFJFbGVtZW50LmlkbDoKKyAgICAgICAgKiBodG1sL0hUTUxIZWFkRWxlbWVudC5pZGw6
CisgICAgICAgICogaHRtbC9IVE1MSGVhZGluZ0VsZW1lbnQuaWRsOgorICAgICAgICAqIGh0bWwv
SFRNTEh0bWxFbGVtZW50LmlkbDoKKyAgICAgICAgKiBodG1sL0hUTUxJRnJhbWVFbGVtZW50Lmlk
bDoKKyAgICAgICAgKiBodG1sL0hUTUxJbWFnZUVsZW1lbnQuaWRsOgorICAgICAgICAqIGh0bWwv
SFRNTElucHV0RWxlbWVudC5pZGw6CisgICAgICAgICogaHRtbC9IVE1MSXNJbmRleEVsZW1lbnQu
aWRsOgorICAgICAgICAqIGh0bWwvSFRNTExJRWxlbWVudC5pZGw6CisgICAgICAgICogaHRtbC9I
VE1MTGFiZWxFbGVtZW50LmlkbDoKKyAgICAgICAgKiBodG1sL0hUTUxMZWdlbmRFbGVtZW50Lmlk
bDoKKyAgICAgICAgKiBodG1sL0hUTUxMaW5rRWxlbWVudC5pZGw6CisgICAgICAgICogaHRtbC9I
VE1MTWFwRWxlbWVudC5pZGw6CisgICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50LmlkbDoK
KyAgICAgICAgKiBodG1sL0hUTUxNZW51RWxlbWVudC5pZGw6CisgICAgICAgICogaHRtbC9IVE1M
TWV0YUVsZW1lbnQuaWRsOgorICAgICAgICAqIGh0bWwvSFRNTE1vZEVsZW1lbnQuaWRsOgorICAg
ICAgICAqIGh0bWwvSFRNTE9MaXN0RWxlbWVudC5pZGw6CisgICAgICAgICogaHRtbC9IVE1MT2Jq
ZWN0RWxlbWVudC5pZGw6CisgICAgICAgICogaHRtbC9IVE1MT3B0R3JvdXBFbGVtZW50LmlkbDoK
KyAgICAgICAgKiBodG1sL0hUTUxPcHRpb25FbGVtZW50LmlkbDoKKyAgICAgICAgKiBodG1sL0hU
TUxQYXJhZ3JhcGhFbGVtZW50LmlkbDoKKyAgICAgICAgKiBodG1sL0hUTUxQYXJhbUVsZW1lbnQu
aWRsOgorICAgICAgICAqIGh0bWwvSFRNTFByZUVsZW1lbnQuaWRsOgorICAgICAgICAqIGh0bWwv
SFRNTFF1b3RlRWxlbWVudC5pZGw6CisgICAgICAgICogaHRtbC9IVE1MU2NyaXB0RWxlbWVudC5p
ZGw6CisgICAgICAgICogaHRtbC9IVE1MU3R5bGVFbGVtZW50LmlkbDoKKyAgICAgICAgKiBodG1s
L0hUTUxUYWJsZUNhcHRpb25FbGVtZW50LmlkbDoKKyAgICAgICAgKiBodG1sL0hUTUxUYWJsZUNl
bGxFbGVtZW50LmlkbDoKKyAgICAgICAgKiBodG1sL0hUTUxUYWJsZUNvbEVsZW1lbnQuaWRsOgor
ICAgICAgICAqIGh0bWwvSFRNTFRhYmxlRWxlbWVudC5pZGw6CisgICAgICAgICogaHRtbC9IVE1M
VGFibGVSb3dFbGVtZW50LmlkbDoKKyAgICAgICAgKiBodG1sL0hUTUxUYWJsZVNlY3Rpb25FbGVt
ZW50LmlkbDoKKyAgICAgICAgKiBodG1sL0hUTUxUZXh0QXJlYUVsZW1lbnQuaWRsOgorICAgICAg
ICAqIGh0bWwvSFRNTFVMaXN0RWxlbWVudC5pZGw6CisgICAgICAgICogaHRtbC9IVE1MVmlkZW9F
bGVtZW50LmlkbDoKKyAgICAgICAgKiBzdmcvU1ZHRWxlbWVudC5pZGw6CisKIDIwMTAtMDYtMTcg
IFJvYiBCdWlzICA8cndsYnVpc0BnbWFpbC5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGF2
ZSBIeWF0dC4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJh
dG9yLnBtIGIvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3IucG0KaW5kZXgg
ZmJjZWUwMmU4NWNkNzY4ODk5YzI4MDlhOTVlY2I0NGU0NmM4ZDQ4Yy4uN2MwZjQyN2Q1MzhlMjAz
ZjhhNDAyYWE4NGVkOGEzY2RmNjJiNmEzZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL0NvZGVHZW5lcmF0b3IucG0KKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0Nv
ZGVHZW5lcmF0b3IucG0KQEAgLTM4MSw4NiArMzgxLDUgQEAgc3ViIExpbmtPdmVybG9hZGVkRnVu
Y3Rpb25zCiAgICAgfQogfQogCi1zdWIgQXR0cmlidXRlTmFtZUZvckdldHRlckFuZFNldHRlcgot
ewotICAgIG15ICgkZ2VuZXJhdG9yLCAkYXR0cmlidXRlKSA9IEBfOwotCi0gICAgbXkgJGF0dHJp
YnV0ZU5hbWUgPSAkYXR0cmlidXRlLT5zaWduYXR1cmUtPm5hbWU7Ci0KLSAgICAjIEF2b2lkIGNs
YXNoIHdpdGggQysrIGtleXdvcmQuCi0gICAgJGF0dHJpYnV0ZU5hbWUgPSAiX29wZXJhdG9yIiBp
ZiAkYXR0cmlidXRlTmFtZSBlcSAib3BlcmF0b3IiOwotCi0gICAgIyBTVkcgYW5pbWF0ZWQgdHlw
ZXMgbmVlZCB0byB1c2UgYSBzcGVjaWFsIGF0dHJpYnV0ZSBuYW1lLgotICAgICMgVGhlIHJlc3Qg
b2YgdGhlIHNwZWNpYWwgY2FzaW5nIGZvciBTVkcgYW5pbWF0ZWQgdHlwZXMgaXMgaGFuZGxlZCBp
biB0aGUgbGFuZ3VhZ2Utc3BlY2lmaWMgY29kZSBnZW5lcmF0b3JzLgotICAgICRhdHRyaWJ1dGVO
YW1lIC49ICJBbmltYXRlZCIgaWYgJGdlbmVyYXRvci0+SXNTVkdBbmltYXRlZFR5cGUoJGdlbmVy
YXRvci0+U3RyaXBNb2R1bGUoJGF0dHJpYnV0ZS0+c2lnbmF0dXJlLT50eXBlKSk7Ci0KLSAgICBy
ZXR1cm4gJGF0dHJpYnV0ZU5hbWU7Ci19Ci0KLXN1YiBDb250ZW50QXR0cmlidXRlTmFtZQotewot
ICAgIG15ICgkZ2VuZXJhdG9yLCAkaW1wbEluY2x1ZGVzLCAkaW50ZXJmYWNlTmFtZSwgJGF0dHJp
YnV0ZSkgPSBAXzsKLQotICAgIG15ICRjb250ZW50QXR0cmlidXRlTmFtZSA9ICRhdHRyaWJ1dGUt
PnNpZ25hdHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IlJlZmxlY3QifQotICAgICAgICB8fCAk
YXR0cmlidXRlLT5zaWduYXR1cmUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJSZWZsZWN0VVJMIn07
Ci0gICAgcmV0dXJuIHVuZGVmIGlmICEkY29udGVudEF0dHJpYnV0ZU5hbWU7Ci0KLSAgICAkY29u
dGVudEF0dHJpYnV0ZU5hbWUgPSBsYyAkZ2VuZXJhdG9yLT5BdHRyaWJ1dGVOYW1lRm9yR2V0dGVy
QW5kU2V0dGVyKCRhdHRyaWJ1dGUpIGlmICRjb250ZW50QXR0cmlidXRlTmFtZSBlcSAiMSI7Ci0K
LSAgICBteSAkbmFtZXNwYWNlID0gJGdlbmVyYXRvci0+TmFtZXNwYWNlRm9yQXR0cmlidXRlTmFt
ZSgkaW50ZXJmYWNlTmFtZSwgJGNvbnRlbnRBdHRyaWJ1dGVOYW1lKTsKLQotICAgICRpbXBsSW5j
bHVkZXMtPnsiJHtuYW1lc3BhY2V9LmgifSA9IDE7Ci0gICAgcmV0dXJuICJXZWJDb3JlOjoke25h
bWVzcGFjZX06OiR7Y29udGVudEF0dHJpYnV0ZU5hbWV9QXR0ciI7Ci19Ci0KLXN1YiBHZXR0ZXJF
eHByZXNzaW9uUHJlZml4Ci17Ci0gICAgbXkgKCRnZW5lcmF0b3IsICRpbXBsSW5jbHVkZXMsICRp
bnRlcmZhY2VOYW1lLCAkYXR0cmlidXRlKSA9IEBfOwotCi0gICAgbXkgJGNvbnRlbnRBdHRyaWJ1
dGVOYW1lID0gJGdlbmVyYXRvci0+Q29udGVudEF0dHJpYnV0ZU5hbWUoJGltcGxJbmNsdWRlcywg
JGludGVyZmFjZU5hbWUsICRhdHRyaWJ1dGUpOwotCi0gICAgaWYgKCEkY29udGVudEF0dHJpYnV0
ZU5hbWUpIHsKLSAgICAgICAgcmV0dXJuICRnZW5lcmF0b3ItPldLX2xjZmlyc3QoJGdlbmVyYXRv
ci0+QXR0cmlidXRlTmFtZUZvckdldHRlckFuZFNldHRlcigkYXR0cmlidXRlKSkgLiAiKCI7Ci0g
ICAgfQotCi0gICAgbXkgJGZ1bmN0aW9uTmFtZTsKLSAgICBpZiAoJGF0dHJpYnV0ZS0+c2lnbmF0
dXJlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiUmVmbGVjdFVSTCJ9KSB7Ci0gICAgICAgICRmdW5j
dGlvbk5hbWUgPSAiZ2V0VVJMQXR0cmlidXRlIjsKLSAgICB9IGVsc2lmICgkYXR0cmlidXRlLT5z
aWduYXR1cmUtPnR5cGUgZXEgImJvb2xlYW4iKSB7Ci0gICAgICAgICRmdW5jdGlvbk5hbWUgPSAi
aGFzQXR0cmlidXRlIjsKLSAgICB9IGVsc2lmICgkYXR0cmlidXRlLT5zaWduYXR1cmUtPnR5cGUg
ZXEgImxvbmciKSB7Ci0gICAgICAgICRmdW5jdGlvbk5hbWUgPSAiZ2V0SW50ZWdyYWxBdHRyaWJ1
dGUiOwotICAgIH0gZWxzaWYgKCRhdHRyaWJ1dGUtPnNpZ25hdHVyZS0+dHlwZSBlcSAidW5zaWdu
ZWQgbG9uZyIpIHsKLSAgICAgICAgJGZ1bmN0aW9uTmFtZSA9ICJnZXRVbnNpZ25lZEludGVncmFs
QXR0cmlidXRlIjsKLSAgICB9IGVsc2UgewotICAgICAgICAkZnVuY3Rpb25OYW1lID0gImdldEF0
dHJpYnV0ZSI7Ci0gICAgfQotCi0gICAgcmV0dXJuICIkZnVuY3Rpb25OYW1lKCRjb250ZW50QXR0
cmlidXRlTmFtZSIKLX0KLQotc3ViIFNldHRlckV4cHJlc3Npb25QcmVmaXgKLXsKLSAgICBteSAo
JGdlbmVyYXRvciwgJGltcGxJbmNsdWRlcywgJGludGVyZmFjZU5hbWUsICRhdHRyaWJ1dGUpID0g
QF87Ci0KLSAgICBteSAkY29udGVudEF0dHJpYnV0ZU5hbWUgPSAkZ2VuZXJhdG9yLT5Db250ZW50
QXR0cmlidXRlTmFtZSgkaW1wbEluY2x1ZGVzLCAkaW50ZXJmYWNlTmFtZSwgJGF0dHJpYnV0ZSk7
Ci0KLSAgICBpZiAoISRjb250ZW50QXR0cmlidXRlTmFtZSkgewotICAgICAgICByZXR1cm4gInNl
dCIgLiAkZ2VuZXJhdG9yLT5XS191Y2ZpcnN0KCRnZW5lcmF0b3ItPkF0dHJpYnV0ZU5hbWVGb3JH
ZXR0ZXJBbmRTZXR0ZXIoJGF0dHJpYnV0ZSkpIC4gIigiOwotICAgIH0KLQotICAgIG15ICRmdW5j
dGlvbk5hbWU7Ci0gICAgaWYgKCRhdHRyaWJ1dGUtPnNpZ25hdHVyZS0+dHlwZSBlcSAiYm9vbGVh
biIpIHsKLSAgICAgICAgJGZ1bmN0aW9uTmFtZSA9ICJzZXRCb29sZWFuQXR0cmlidXRlIjsKLSAg
ICB9IGVsc2lmICgkYXR0cmlidXRlLT5zaWduYXR1cmUtPnR5cGUgZXEgImxvbmciKSB7Ci0gICAg
ICAgICRmdW5jdGlvbk5hbWUgPSAic2V0SW50ZWdyYWxBdHRyaWJ1dGUiOwotICAgIH0gZWxzaWYg
KCRhdHRyaWJ1dGUtPnNpZ25hdHVyZS0+dHlwZSBlcSAidW5zaWduZWQgbG9uZyIpIHsKLSAgICAg
ICAgJGZ1bmN0aW9uTmFtZSA9ICJzZXRVbnNpZ25lZEludGVncmFsQXR0cmlidXRlIjsKLSAgICB9
IGVsc2UgewotICAgICAgICAkZnVuY3Rpb25OYW1lID0gInNldEF0dHJpYnV0ZSI7Ci0gICAgfQot
Ci0gICAgcmV0dXJuICIkZnVuY3Rpb25OYW1lKCRjb250ZW50QXR0cmlidXRlTmFtZSwgIgotfQog
CiAxOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JD
UFAucG0gYi9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckNQUC5wbQppbmRl
eCAzZjYxYjNmNWM2ZjZkNDk1OWQwM2I3Y2MyYzBmZTkwMDQ2MjkzYjU2Li5mNDQxYjBlZDVjMmQ2
ZDE4MjNlZjIzMWE4M2ZkYzZjN2FlYzlhMTZkIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvQ29kZUdlbmVyYXRvckNQUC5wbQorKysgYi9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvQ29kZUdlbmVyYXRvckNQUC5wbQpAQCAtNjc5LDcgKzY3OSwxOCBAQCBzdWIgR2VuZXJhdGVJ
bXBsZW1lbnRhdGlvbgogICAgICAgICAgICAgIyAtIEdFVFRFUgogICAgICAgICAgICAgbXkgJGdl
dHRlclNpZyA9ICIkYXR0cmlidXRlVHlwZSAkY2xhc3NOYW1lXDpcOiRhdHRyaWJ1dGVOYW1lKCkg
Y29uc3RcbiI7CiAgICAgICAgICAgICBteSAkaGFzR2V0dGVyRXhjZXB0aW9uID0gQHskYXR0cmli
dXRlLT5nZXR0ZXJFeGNlcHRpb25zfTsKLSAgICAgICAgICAgIG15ICRnZXR0ZXJDb250ZW50SGVh
ZCA9ICJpbXBsKCktPiIgLiAkY29kZUdlbmVyYXRvci0+R2V0dGVyRXhwcmVzc2lvblByZWZpeChc
JWltcGxJbmNsdWRlcywgJGludGVyZmFjZU5hbWUsICRhdHRyaWJ1dGUpOworICAgICAgICAgICAg
bXkgJGdldHRlckNvbnRlbnRIZWFkOworICAgICAgICAgICAgbXkgJHJlZmxlY3QgPSAkYXR0cmli
dXRlLT5zaWduYXR1cmUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJSZWZsZWN0In07CisgICAgICAg
ICAgICBteSAkcmVmbGVjdFVSTCA9ICRhdHRyaWJ1dGUtPnNpZ25hdHVyZS0+ZXh0ZW5kZWRBdHRy
aWJ1dGVzLT57IlJlZmxlY3RVUkwifTsKKyAgICAgICAgICAgIGlmICgkcmVmbGVjdCB8fCAkcmVm
bGVjdFVSTCkgeworICAgICAgICAgICAgICAgIG15ICRjb250ZW50QXR0cmlidXRlTmFtZSA9ICgo
JHJlZmxlY3QgfHwgJHJlZmxlY3RVUkwpIGVxICIxIikgPyAkYXR0cmlidXRlTmFtZSA6ICgkcmVm
bGVjdCB8fCAkcmVmbGVjdFVSTCk7CisgICAgICAgICAgICAgICAgbXkgJG5hbWVzcGFjZSA9ICRj
b2RlR2VuZXJhdG9yLT5OYW1lc3BhY2VGb3JBdHRyaWJ1dGVOYW1lKCRpbnRlcmZhY2VOYW1lLCAk
Y29udGVudEF0dHJpYnV0ZU5hbWUpOworICAgICAgICAgICAgICAgICRpbXBsSW5jbHVkZXN7IiR7
bmFtZXNwYWNlfS5oIn0gPSAxOworICAgICAgICAgICAgICAgIG15ICRnZXRBdHRyaWJ1dGVGdW5j
dGlvbk5hbWUgPSAkcmVmbGVjdFVSTCA/ICJnZXRVUkxBdHRyaWJ1dGUiIDogImdldEF0dHJpYnV0
ZSI7CisgICAgICAgICAgICAgICAgJGdldHRlckNvbnRlbnRIZWFkID0gImltcGwoKS0+JHtnZXRB
dHRyaWJ1dGVGdW5jdGlvbk5hbWV9KFdlYkNvcmU6OiR7bmFtZXNwYWNlfTo6JHtjb250ZW50QXR0
cmlidXRlTmFtZX1BdHRyIjsKKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAg
JGdldHRlckNvbnRlbnRIZWFkID0gImltcGwoKS0+IiAuICRjb2RlR2VuZXJhdG9yLT5XS19sY2Zp
cnN0KCRhdHRyaWJ1dGVOYW1lKSAuICIoIjsKKyAgICAgICAgICAgIH0KICAgICAgICAgICAgIG15
ICRnZXR0ZXJDb250ZW50VGFpbCA9ICIpIjsKIAogICAgICAgICAgICAgIyBTcGVjaWFsIGNhc2Vz
CkBAIC02ODcsNiArNjk4LDggQEAgc3ViIEdlbmVyYXRlSW1wbGVtZW50YXRpb24KICAgICAgICAg
ICAgIGlmICgkYXR0cmlidXRlLT5zaWduYXR1cmUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJDb252
ZXJ0VG9TdHJpbmcifSkgewogICAgICAgICAgICAgICAgICRnZXR0ZXJDb250ZW50SGVhZCA9ICJX
ZWJDb3JlOjpTdHJpbmc6Om51bWJlcigiIC4gJGdldHRlckNvbnRlbnRIZWFkOwogICAgICAgICAg
ICAgICAgICRnZXR0ZXJDb250ZW50VGFpbCAuPSAiKSI7CisgICAgICAgICAgICB9IGVsc2lmICgk
YXR0cmlidXRlLT5zaWduYXR1cmUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJDb252ZXJ0RnJvbVN0
cmluZyJ9KSB7CisgICAgICAgICAgICAgICAgJGdldHRlckNvbnRlbnRUYWlsIC49ICIudG9JbnQo
KSI7CiAgICAgICAgICAgICB9IGVsc2lmICgkYXR0cmlidXRlLT5zaWduYXR1cmUtPnR5cGUgZXEg
IlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSIpIHsKICAgICAgICAgICAgICAgICAkZ2V0dGVyQ29udGVu
dEhlYWQgPSAiJGdldHRlckNvbnRlbnRIZWFkIjsKICAgICAgICAgICAgICAgICAkZ2V0dGVyQ29u
dGVudFRhaWwgLj0gIi0+dG9TdHJpbmcoKSI7ICAgICAgICAgICAgICAgIApAQCAtNzM3LDggKzc1
MCwxMCBAQCBzdWIgR2VuZXJhdGVJbXBsZW1lbnRhdGlvbgogICAgICAgICAgICAgICAgIG15ICRh
cmdOYW1lID0gIm5ldyIgLiB1Y2ZpcnN0KCRhdHRyaWJ1dGVOYW1lKTsKICAgICAgICAgICAgICAg
ICBteSAkYXJnID0gR2V0Q1BQVHlwZUdldHRlcigkYXJnTmFtZSwgJGlkbFR5cGUpOwogCi0gICAg
ICAgICAgICAgICAgIyBUaGUgZGVmaW5pdGlvbiBvZiBDb252ZXJ0VG9TdHJpbmcgaXMgZmxpcHBl
ZCBmb3IgdGhlIHNldHRlcgotICAgICAgICAgICAgICAgIGlmICgkYXR0cmlidXRlLT5zaWduYXR1
cmUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJDb252ZXJ0VG9TdHJpbmcifSkgeworICAgICAgICAg
ICAgICAgICMgVGhlIGRlZmluaXRpb24gb2YgQ29udmVydEZyb21TdHJpbmcgYW5kIENvbnZlcnRU
b1N0cmluZyBpcyBmbGlwcGVkIGZvciB0aGUgc2V0dGVyCisgICAgICAgICAgICAgICAgaWYgKCRh
dHRyaWJ1dGUtPnNpZ25hdHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkNvbnZlcnRGcm9tU3Ry
aW5nIn0pIHsKKyAgICAgICAgICAgICAgICAgICAgJGFyZyA9ICJXZWJDb3JlOjpTdHJpbmc6Om51
bWJlcigkYXJnKSI7CisgICAgICAgICAgICAgICAgfSBlbHNpZiAoJGF0dHJpYnV0ZS0+c2lnbmF0
dXJlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiQ29udmVydFRvU3RyaW5nIn0pIHsKICAgICAgICAg
ICAgICAgICAgICAgJGFyZyA9ICJXZWJDb3JlOjpTdHJpbmcoJGFyZykudG9JbnQoKSI7CiAgICAg
ICAgICAgICAgICAgfQogCkBAIC03NDcsMTAgKzc2MiwxOCBAQCBzdWIgR2VuZXJhdGVJbXBsZW1l
bnRhdGlvbgogICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAie1xuIik7CiAgICAg
ICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsIEFkZEVhcmx5UmV0dXJuU3RhdGVtZW50KCkp
OwogCisgICAgICAgICAgICAgICAgbXkgJHJlZmxlY3QgPSAkYXR0cmlidXRlLT5zaWduYXR1cmUt
PmV4dGVuZGVkQXR0cmlidXRlcy0+eyJSZWZsZWN0In07CisgICAgICAgICAgICAgICAgbXkgJHJl
ZmxlY3RVUkwgPSAkYXR0cmlidXRlLT5zaWduYXR1cmUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJS
ZWZsZWN0VVJMIn07CiAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgJGV4
Y2VwdGlvbkluaXRcbiIpIGlmICRoYXNTZXR0ZXJFeGNlcHRpb247CiAgICAgICAgICAgICAgICAg
bXkgJGVjID0gJGhhc1NldHRlckV4Y2VwdGlvbiA/ICIsIGVjIiA6ICIiOwotICAgICAgICAgICAg
ICAgIG15ICRzZXR0ZXJFeHByZXNzaW9uUHJlZml4ID0gJGNvZGVHZW5lcmF0b3ItPlNldHRlckV4
cHJlc3Npb25QcmVmaXgoXCVpbXBsSW5jbHVkZXMsICRpbnRlcmZhY2VOYW1lLCAkYXR0cmlidXRl
KTsKLSAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICBpbXBsKCktPiRzZXR0
ZXJFeHByZXNzaW9uUHJlZml4JGFyZyRlYyk7XG4iKTsKKyAgICAgICAgICAgICAgICBpZiAoJHJl
ZmxlY3QgfHwgJHJlZmxlY3RVUkwpIHsKKyAgICAgICAgICAgICAgICAgICAgbXkgJGNvbnRlbnRB
dHRyaWJ1dGVOYW1lID0gKCgkcmVmbGVjdCB8fCAkcmVmbGVjdFVSTCkgZXEgIjEiKSA/ICRhdHRy
aWJ1dGVOYW1lIDogKCRyZWZsZWN0IHx8ICRyZWZsZWN0VVJMKTsKKyAgICAgICAgICAgICAgICAg
ICAgbXkgJG5hbWVzcGFjZSA9ICRjb2RlR2VuZXJhdG9yLT5OYW1lc3BhY2VGb3JBdHRyaWJ1dGVO
YW1lKCRpbnRlcmZhY2VOYW1lLCAkY29udGVudEF0dHJpYnV0ZU5hbWUpOworICAgICAgICAgICAg
ICAgICAgICAkaW1wbEluY2x1ZGVzeyIke25hbWVzcGFjZX0uaCJ9ID0gMTsKKyAgICAgICAgICAg
ICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgaW1wbCgpLT5zZXRBdHRyaWJ1dGUoV2Vi
Q29yZTo6JHtuYW1lc3BhY2V9Ojoke2NvbnRlbnRBdHRyaWJ1dGVOYW1lfUF0dHIsICRhcmckZWMp
O1xuIik7CisgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgcHVz
aChAaW1wbENvbnRlbnQsICIgICAgaW1wbCgpLT4kY29yZVNldHRlck5hbWUoJGFyZyRlYyk7XG4i
KTsKKyAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQs
ICIgICAgJGV4Y2VwdGlvblJhaXNlT25FcnJvclxuIikgaWYgJGhhc1NldHRlckV4Y2VwdGlvbjsK
ICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIn1cblxuIik7CiAgICAgICAgICAg
ICB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckdP
YmplY3QucG0gYi9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckdPYmplY3Qu
cG0KaW5kZXggYzI4YjI0Y2Y4ZjE4OWY1Y2ZhNDRhY2YwMGViZmU0ZTAwMTUzN2ZjMi4uN2Q0OGIz
NGRiNGQwMjRmOTY2YTM4Yzc3N2JmOGYzYzcyYThiMzZkNyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JHT2JqZWN0LnBtCisrKyBiL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yR09iamVjdC5wbQpAQCAtMzYxLDEzICszNjEsMjUg
QEAgc3ViIEdlbmVyYXRlUHJvcGVydHkgewogICAgIG15ICRjb252ZXJ0RnVuY3Rpb24gPSAiIjsK
ICAgICBpZiAoJGd0eXBlIGVxICJzdHJpbmciKSB7CiAgICAgICAgICRjb252ZXJ0RnVuY3Rpb24g
PSAiV2ViQ29yZTo6U3RyaW5nOjpmcm9tVVRGOCI7CisgICAgfSBlbHNpZiAoJGF0dHJpYnV0ZS0+
c2lnbmF0dXJlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiQ29udmVydEZyb21TdHJpbmcifSkgewor
ICAgICAgICAkY29udmVydEZ1bmN0aW9uID0gIldlYkNvcmU6OlN0cmluZzo6bnVtYmVyIjsKICAg
ICB9CiAKLSAgICBteSAkZ2V0dGVyRXhwcmVzc2lvblByZWZpeCA9ICRjb2RlR2VuZXJhdG9yLT5H
ZXR0ZXJFeHByZXNzaW9uUHJlZml4KFwlaW1wbEluY2x1ZGVzLCAkaW50ZXJmYWNlTmFtZSwgJGF0
dHJpYnV0ZSk7Ci0gICAgbXkgJHNldHRlckV4cHJlc3Npb25QcmVmaXggPSAkY29kZUdlbmVyYXRv
ci0+U2V0dGVyRXhwcmVzc2lvblByZWZpeChcJWltcGxJbmNsdWRlcywgJGludGVyZmFjZU5hbWUs
ICRhdHRyaWJ1dGUpOwotCi0gICAgbXkgJGdldHRlckNvbnRlbnRIZWFkID0gImNvcmVTZWxmLT4k
Z2V0dGVyRXhwcmVzc2lvblByZWZpeCI7Ci0gICAgbXkgJHNldHRlckNvbnRlbnRIZWFkID0gImNv
cmVTZWxmLT4kc2V0dGVyRXhwcmVzc2lvblByZWZpeCR7Y29udmVydEZ1bmN0aW9ufShnX3ZhbHVl
X2dldF8kZ3R5cGUodmFsdWUpKSI7CisgICAgbXkgJHNldHRlckNvbnRlbnRIZWFkOworICAgIG15
ICRnZXR0ZXJDb250ZW50SGVhZDsKKyAgICBteSAkcmVmbGVjdCA9ICRhdHRyaWJ1dGUtPnNpZ25h
dHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IlJlZmxlY3QifTsKKyAgICBteSAkcmVmbGVjdFVS
TCA9ICRhdHRyaWJ1dGUtPnNpZ25hdHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IlJlZmxlY3RV
UkwifTsKKyAgICBpZiAoJHJlZmxlY3QgfHwgJHJlZmxlY3RVUkwpIHsKKyAgICAgICAgbXkgJGNv
bnRlbnRBdHRyaWJ1dGVOYW1lID0gKCgkcmVmbGVjdCB8fCAkcmVmbGVjdFVSTCkgZXEgIjEiKSA/
ICRjYW1lbFByb3BOYW1lIDogKCRyZWZsZWN0IHx8ICRyZWZsZWN0VVJMKTsKKyAgICAgICAgbXkg
JG5hbWVzcGFjZSA9ICRjb2RlR2VuZXJhdG9yLT5OYW1lc3BhY2VGb3JBdHRyaWJ1dGVOYW1lKCRp
bnRlcmZhY2VOYW1lLCAkY29udGVudEF0dHJpYnV0ZU5hbWUpOworICAgICAgICAkaW1wbEluY2x1
ZGVzeyIke25hbWVzcGFjZX0uaCJ9ID0gMTsKKyAgICAgICAgbXkgJGdldEF0dHJpYnV0ZUZ1bmN0
aW9uTmFtZSA9ICRyZWZsZWN0VVJMID8gImdldFVSTEF0dHJpYnV0ZSIgOiAiZ2V0QXR0cmlidXRl
IjsKKyAgICAgICAgJHNldHRlckNvbnRlbnRIZWFkID0gImNvcmVTZWxmLT5zZXRBdHRyaWJ1dGUo
V2ViQ29yZTo6JHtuYW1lc3BhY2V9Ojoke2NvbnRlbnRBdHRyaWJ1dGVOYW1lfUF0dHIsICR7Y29u
dmVydEZ1bmN0aW9ufShnX3ZhbHVlX2dldF8kZ3R5cGUodmFsdWUpKSI7CisgICAgICAgICRnZXR0
ZXJDb250ZW50SGVhZCA9ICJjb3JlU2VsZi0+JHtnZXRBdHRyaWJ1dGVGdW5jdGlvbk5hbWV9KFdl
YkNvcmU6OiR7bmFtZXNwYWNlfTo6JHtjb250ZW50QXR0cmlidXRlTmFtZX1BdHRyIjsKKyAgICB9
IGVsc2UgeworICAgICAgICAkc2V0dGVyQ29udGVudEhlYWQgPSAiY29yZVNlbGYtPnNldCR7c2V0
UHJvcE5hbWVGdW5jdGlvbn0oJHtjb252ZXJ0RnVuY3Rpb259KGdfdmFsdWVfZ2V0XyRndHlwZSh2
YWx1ZSkpIjsKKyAgICAgICAgJGdldHRlckNvbnRlbnRIZWFkID0gImNvcmVTZWxmLT4ke2dldFBy
b3BOYW1lRnVuY3Rpb259KCI7CisgICAgfQogCiAgICAgaWYgKGdyZXAgeyRfIGVxICRhdHRyaWJ1
dGV9IEB3cml0ZWFibGVQcm9wZXJ0aWVzKSB7CiAgICAgICAgIHB1c2goQHR4dFNldFByb3BzLCAi
I2lmICR7Y29uZGl0aW9uYWxTdHJpbmd9XG4iKSBpZiAkY29uZGl0aW9uYWxTdHJpbmc7CkBAIC00
MDMsNiArNDE1LDE3IEBAIEVPRgogICAgICAgICAkZG9uZSA9IDE7CiAgICAgfQogCisgICAgaWYo
JGF0dHJpYnV0ZS0+c2lnbmF0dXJlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiQ29udmVydEZyb21T
dHJpbmcifSkgeworICAgICAgICAjIFRPRE86IEFkZCBvdGhlciBjb252ZXJzaW9uIGZ1bmN0aW9u
cyBmb3IgZGlmZmVyZW50IHR5cGVzLiAgQ3VycmVudAorICAgICAgICAjIElETHMgb25seSBsaXN0
IGxvbmdzLgorICAgICAgICBpZigkZ3R5cGUgZXEgImxvbmciKSB7CisgICAgICAgICAgICAkY29u
dmVydEZ1bmN0aW9uID0gIiI7CisgICAgICAgICAgICAkcG9zdENvbnZlcnRGdW5jdGlvbiA9ICIu
dG9JbnQoKSI7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBkaWUgIkNhbid0IGNvbnZl
cnQgdG8gdHlwZSAke2d0eXBlfS4iOworICAgICAgICB9CisgICAgfQorCiAgICAgIyBGSVhNRTog
Z2V0IHJpZCBvZiB0aGlzIGdsaXRjaD8KICAgICBteSAkX2d0eXBlID0gJGd0eXBlOwogICAgIGlm
ICgkZ3R5cGUgZXEgInVzaG9ydCIpIHsKQEAgLTc5Miw3ICs4MTUsNyBAQCBzdWIgR2VuZXJhdGVG
dW5jdGlvbiB7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICAgICAgaWYgKCRwYXJhbUlz
R0RPTVR5cGUgfHwgKCRwYXJhbUlETFR5cGUgZXEgIkRPTVN0cmluZyIpIHx8ICgkcGFyYW1JRExU
eXBlIGVxICJDb21wYXJlSG93IikpIHsKLSAgICAgICAgICAgICRwYXJhbU5hbWUgPSAiY29udmVy
dGVkXyIgLiAkcGFyYW1OYW1lOworICAgICAgICAgICAgJHBhcmFtTmFtZSA9ICJfZ18iIC4gJHBh
cmFtTmFtZTsKICAgICAgICAgfQogICAgICAgICBpZiAoJGNhbGxJbXBsUGFyYW1zKSB7CiAgICAg
ICAgICAgICAkY2FsbEltcGxQYXJhbXMgLj0gIiwgJHBhcmFtTmFtZSI7CkBAIC04MzAsOSArODUz
LDkgQEAgc3ViIEdlbmVyYXRlRnVuY3Rpb24gewogCiAgICAgaWYgKCRyZXR1cm5UeXBlIG5lICJ2
b2lkIikgewogICAgICAgICAjIFRPRE86IHJldHVybiBwcm9wZXIgZGVmYXVsdCByZXN1bHQKLSAg
ICAgICAgcHVzaChAY0JvZHksICIgICAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwoc2VsZiwgMCk7XG4i
KTsKKyAgICAgICAgcHVzaChAY0JvZHksICIgICAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwgKHNlbGYs
IDApO1xuIik7CiAgICAgfSBlbHNlIHsKLSAgICAgICAgcHVzaChAY0JvZHksICIgICAgZ19yZXR1
cm5faWZfZmFpbChzZWxmKTtcbiIpOworICAgICAgICBwdXNoKEBjQm9keSwgIiAgICBnX3JldHVy
bl9pZl9mYWlsIChzZWxmKTtcbiIpOwogICAgIH0KIAogICAgICMgVGhlIFdlYktpdDo6Y29yZSBp
bXBsZW1lbnRhdGlvbnMgY2hlY2sgZm9yIE5VTEwgYWxyZWFkeTsgbm8gbmVlZCB0bwpAQCAtODQ3
LDkgKzg3MCw5IEBAIHN1YiBHZW5lcmF0ZUZ1bmN0aW9uIHsKICAgICAgICAgaWYgKCEkcGFyYW1U
eXBlSXNQcmltaXRpdmUpIHsKICAgICAgICAgICAgIGlmICgkcmV0dXJuVHlwZSBuZSAidm9pZCIp
IHsKICAgICAgICAgICAgICAgICAjIFRPRE86IHJldHVybiBwcm9wZXIgZGVmYXVsdCByZXN1bHQK
LSAgICAgICAgICAgICAgICBwdXNoKEBjQm9keSwgIiAgICBnX3JldHVybl92YWxfaWZfZmFpbCgk
cGFyYW1OYW1lLCAwKTtcbiIpOworICAgICAgICAgICAgICAgIHB1c2goQGNCb2R5LCAiICAgIGdf
cmV0dXJuX3ZhbF9pZl9mYWlsICgkcGFyYW1OYW1lLCAwKTtcbiIpOwogICAgICAgICAgICAgfSBl
bHNlIHsKLSAgICAgICAgICAgICAgICBwdXNoKEBjQm9keSwgIiAgICBnX3JldHVybl9pZl9mYWls
KCRwYXJhbU5hbWUpO1xuIik7CisgICAgICAgICAgICAgICAgcHVzaChAY0JvZHksICIgICAgZ19y
ZXR1cm5faWZfZmFpbCAoJHBhcmFtTmFtZSk7XG4iKTsKICAgICAgICAgICAgIH0KICAgICAgICAg
fQogICAgIH0KQEAgLTg2MSwxOSArODg0LDE5IEBAIHN1YiBHZW5lcmF0ZUZ1bmN0aW9uIHsKIAog
ICAgICAgICBteSAkcGFyYW1Jc0dET01UeXBlID0gSXNHRE9NQ2xhc3NUeXBlKCRwYXJhbUlETFR5
cGUpOwogICAgICAgICBpZiAoJHBhcmFtSURMVHlwZSBlcSAiRE9NU3RyaW5nIikgewotICAgICAg
ICAgICAgcHVzaChAY0JvZHksICIgICAgV2ViQ29yZTo6U3RyaW5nIGNvbnZlcnRlZF8ke3BhcmFt
TmFtZX0gPSBXZWJDb3JlOjpTdHJpbmc6OmZyb21VVEY4KCRwYXJhbU5hbWUpO1xuIik7CisgICAg
ICAgICAgICBwdXNoKEBjQm9keSwgIiAgICBXZWJDb3JlOjpTdHJpbmcgX2dfJHtwYXJhbU5hbWV9
ID0gV2ViQ29yZTo6U3RyaW5nOjpmcm9tVVRGOCgkcGFyYW1OYW1lKTtcbiIpOwogICAgICAgICB9
IGVsc2lmICgkcGFyYW1JRExUeXBlIGVxICJDb21wYXJlSG93IikgewotICAgICAgICAgICAgcHVz
aChAY0JvZHksICIgICAgV2ViQ29yZTo6UmFuZ2U6OkNvbXBhcmVIb3cgY29udmVydGVkXyR7cGFy
YW1OYW1lfSA9IHN0YXRpY19jYXN0PFdlYkNvcmU6OlJhbmdlOjpDb21wYXJlSG93PigkcGFyYW1O
YW1lKTtcbiIpOworICAgICAgICAgICAgcHVzaChAY0JvZHksICIgICAgV2ViQ29yZTo6UmFuZ2U6
OkNvbXBhcmVIb3cgX2dfJHtwYXJhbU5hbWV9ID0gc3RhdGljX2Nhc3Q8V2ViQ29yZTo6UmFuZ2U6
OkNvbXBhcmVIb3c+KCRwYXJhbU5hbWUpO1xuIik7CiAgICAgICAgIH0gZWxzaWYgKCRwYXJhbUlz
R0RPTVR5cGUpIHsKLSAgICAgICAgICAgIHB1c2goQGNCb2R5LCAiICAgIFdlYkNvcmU6OiR7cGFy
YW1JRExUeXBlfSAqIGNvbnZlcnRlZF8ke3BhcmFtTmFtZX0gPSBXZWJLaXQ6OmNvcmUoJHBhcmFt
TmFtZSk7XG4iKTsKKyAgICAgICAgICAgIHB1c2goQGNCb2R5LCAiICAgIFdlYkNvcmU6OiR7cGFy
YW1JRExUeXBlfSAqIF9nXyR7cGFyYW1OYW1lfSA9IFdlYktpdDo6Y29yZSgkcGFyYW1OYW1lKTtc
biIpOwogICAgICAgICAgICAgaWYgKCRyZXR1cm5UeXBlIG5lICJ2b2lkIikgewogICAgICAgICAg
ICAgICAgICMgVE9ETzogcmV0dXJuIHByb3BlciBkZWZhdWx0IHJlc3VsdAotICAgICAgICAgICAg
ICAgIHB1c2goQGNCb2R5LCAiICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKGNvbnZlcnRlZF8ke3Bh
cmFtTmFtZX0sIDApO1xuIik7CisgICAgICAgICAgICAgICAgcHVzaChAY0JvZHksICIgICAgZ19y
ZXR1cm5fdmFsX2lmX2ZhaWwgKF9nXyR7cGFyYW1OYW1lfSwgMCk7XG4iKTsKICAgICAgICAgICAg
IH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgcHVzaChAY0JvZHksICIgICAgZ19yZXR1cm5faWZf
ZmFpbChjb252ZXJ0ZWRfJHtwYXJhbU5hbWV9KTtcbiIpOworICAgICAgICAgICAgICAgIHB1c2go
QGNCb2R5LCAiICAgIGdfcmV0dXJuX2lmX2ZhaWwgKF9nXyR7cGFyYW1OYW1lfSk7XG4iKTsKICAg
ICAgICAgICAgIH0KICAgICAgICAgfQotICAgICAgICAkcmV0dXJuUGFyYW1OYW1lID0gImNvbnZl
cnRlZF8iLiRwYXJhbU5hbWUgaWYgJHBhcmFtLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiUmV0dXJu
In07CisgICAgICAgICRyZXR1cm5QYXJhbU5hbWUgPSAiX2dfIi4kcGFyYW1OYW1lIGlmICRwYXJh
bS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IlJldHVybiJ9OwogICAgIH0KIAogICAgIG15ICRhc3Np
Z24gPSAiIjsKQEAgLTkzMiwyNSArOTU1LDM1IEBAIEVPRgogICAgICAgICByZXR1cm47CiAgICAg
fSBlbHNpZiAoJGZ1bmN0aW9uU2lnVHlwZSBlcSAiRE9NU3RyaW5nIikgewogICAgICAgICBteSAk
Z2V0dGVyQ29udGVudEhlYWQ7Ci0gICAgICAgIGlmICgkcHJlZml4KSB7Ci0gICAgICAgICAgICBt
eSAkZ2V0dGVyRXhwcmVzc2lvblByZWZpeCA9ICRjb2RlR2VuZXJhdG9yLT5HZXR0ZXJFeHByZXNz
aW9uUHJlZml4KFwlaW1wbEluY2x1ZGVzLCAkaW50ZXJmYWNlTmFtZSwgJGZ1bmN0aW9uKTsKLSAg
ICAgICAgICAgICRnZXR0ZXJDb250ZW50SGVhZCA9ICIke2Fzc2lnbn1jb252ZXJ0VG9VVEY4U3Ry
aW5nKGl0ZW0tPiRnZXR0ZXJFeHByZXNzaW9uUHJlZml4JHtleGNlcHRpb25zfSkpO1xuIjsKKyAg
ICAgICAgbXkgJHJlZmxlY3QgPSAkZnVuY3Rpb24tPnNpZ25hdHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1
dGVzLT57IlJlZmxlY3QifTsKKyAgICAgICAgbXkgJHJlZmxlY3RVUkwgPSAkZnVuY3Rpb24tPnNp
Z25hdHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IlJlZmxlY3RVUkwifTsKKyAgICAgICAgaWYg
KCRyZWZsZWN0IHx8ICRyZWZsZWN0VVJMKSB7CisgICAgICAgICAgICBteSAkY29udGVudEF0dHJp
YnV0ZU5hbWUgPSAoKCRyZWZsZWN0IHx8ICRyZWZsZWN0VVJMKSBlcSAiMSIpID8gJGZ1bmN0aW9u
U2lnTmFtZSA6ICgkcmVmbGVjdCB8fCAkcmVmbGVjdFVSTCk7CisgICAgICAgICAgICBteSAkbmFt
ZXNwYWNlID0gJGNvZGVHZW5lcmF0b3ItPk5hbWVzcGFjZUZvckF0dHJpYnV0ZU5hbWUoJGludGVy
ZmFjZU5hbWUsICRjb250ZW50QXR0cmlidXRlTmFtZSk7CisgICAgICAgICAgICAkaW1wbEluY2x1
ZGVzeyIke25hbWVzcGFjZX0uaCJ9ID0gMTsKKyAgICAgICAgICAgIG15ICRnZXRBdHRyaWJ1dGVG
dW5jdGlvbk5hbWUgPSAkcmVmbGVjdFVSTCA/ICJnZXRVUkxBdHRyaWJ1dGUiIDogImdldEF0dHJp
YnV0ZSI7CisgICAgICAgICAgICAkZ2V0dGVyQ29udGVudEhlYWQgPSAiJHthc3NpZ259Y29udmVy
dFRvVVRGOFN0cmluZyhpdGVtLT4ke2dldEF0dHJpYnV0ZUZ1bmN0aW9uTmFtZX0oV2ViQ29yZTo6
JHtuYW1lc3BhY2V9Ojoke2NvbnRlbnRBdHRyaWJ1dGVOYW1lfUF0dHIpKTtcbiI7CiAgICAgICAg
IH0gZWxzZSB7CiAgICAgICAgICAgICAkZ2V0dGVyQ29udGVudEhlYWQgPSAiJHthc3NpZ259Y29u
dmVydFRvVVRGOFN0cmluZyhpdGVtLT4ke2Z1bmN0aW9uU2lnTmFtZX0oJHtjYWxsSW1wbFBhcmFt
c30ke2V4Y2VwdGlvbnN9KSk7XG4iOwogICAgICAgICB9CisKICAgICAgICAgcHVzaChAY0JvZHks
ICIgICAgJHtnZXR0ZXJDb250ZW50SGVhZH0iKTsKICAgICB9IGVsc2UgewotICAgICAgICBteSAk
Y29udGVudEhlYWQ7Ci0gICAgICAgIGlmICgkcHJlZml4IGVxICJnZXRfIikgewotICAgICAgICAg
ICAgbXkgJGdldHRlckV4cHJlc3Npb25QcmVmaXggPSAkY29kZUdlbmVyYXRvci0+R2V0dGVyRXhw
cmVzc2lvblByZWZpeChcJWltcGxJbmNsdWRlcywgJGludGVyZmFjZU5hbWUsICRmdW5jdGlvbik7
Ci0gICAgICAgICAgICAkY29udGVudEhlYWQgPSAiJHthc3NpZ259JHthc3NpZ25QcmV9aXRlbS0+
JGdldHRlckV4cHJlc3Npb25QcmVmaXgke2NhbGxJbXBsUGFyYW1zfSR7ZXhjZXB0aW9uc30ke2Fz
c2lnblBvc3R9KTtcbiI7Ci0gICAgICAgIH0gZWxzaWYgKCRwcmVmaXggZXEgInNldF8iKSB7Ci0g
ICAgICAgICAgICBteSAkc2V0dGVyRXhwcmVzc2lvblByZWZpeCA9ICRjb2RlR2VuZXJhdG9yLT5T
ZXR0ZXJFeHByZXNzaW9uUHJlZml4KFwlaW1wbEluY2x1ZGVzLCAkaW50ZXJmYWNlTmFtZSwgJGZ1
bmN0aW9uKTsKLSAgICAgICAgICAgICRjb250ZW50SGVhZCA9ICIke2Fzc2lnbn0ke2Fzc2lnblBy
ZX1pdGVtLT4kc2V0dGVyRXhwcmVzc2lvblByZWZpeCR7Y2FsbEltcGxQYXJhbXN9JHtleGNlcHRp
b25zfSR7YXNzaWduUG9zdH0pO1xuIjsKKyAgICAgICAgbXkgJHNldHRlckNvbnRlbnRIZWFkOwor
ICAgICAgICBteSAkcmVmbGVjdCA9ICRmdW5jdGlvbi0+c2lnbmF0dXJlLT5leHRlbmRlZEF0dHJp
YnV0ZXMtPnsiUmVmbGVjdCJ9OworICAgICAgICBteSAkcmVmbGVjdFVSTCA9ICRmdW5jdGlvbi0+
c2lnbmF0dXJlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiUmVmbGVjdFVSTCJ9OworICAgICAgICBp
ZiAoJHJlZmxlY3QgfHwgJHJlZmxlY3RVUkwpIHsKKyAgICAgICAgICAgIG15ICRjb250ZW50QXR0
cmlidXRlTmFtZSA9ICgoJHJlZmxlY3QgfHwgJHJlZmxlY3RVUkwpIGVxICIxIikgPyAkZnVuY3Rp
b25TaWdOYW1lIDogKCRyZWZsZWN0IHx8ICRyZWZsZWN0VVJMKTsKKyAgICAgICAgICAgICRjb250
ZW50QXR0cmlidXRlTmFtZSA9fiBzL3NldC8vOworICAgICAgICAgICAgJGNvbnRlbnRBdHRyaWJ1
dGVOYW1lID0gJGNvZGVHZW5lcmF0b3ItPldLX2xjZmlyc3QoJGNvbnRlbnRBdHRyaWJ1dGVOYW1l
KTsKKyAgICAgICAgICAgIG15ICRuYW1lc3BhY2UgPSAkY29kZUdlbmVyYXRvci0+TmFtZXNwYWNl
Rm9yQXR0cmlidXRlTmFtZSgkaW50ZXJmYWNlTmFtZSwgJGNvbnRlbnRBdHRyaWJ1dGVOYW1lKTsK
KyAgICAgICAgICAgICRpbXBsSW5jbHVkZXN7IiR7bmFtZXNwYWNlfS5oIn0gPSAxOworICAgICAg
ICAgICAgJHNldHRlckNvbnRlbnRIZWFkID0gIiR7YXNzaWdufSR7YXNzaWduUHJlfWl0ZW0tPnNl
dEF0dHJpYnV0ZShXZWJDb3JlOjoke25hbWVzcGFjZX06OiR7Y29udGVudEF0dHJpYnV0ZU5hbWV9
QXR0ciwgJHtjYWxsSW1wbFBhcmFtc30ke2V4Y2VwdGlvbnN9JHthc3NpZ25Qb3N0fSk7XG4iOwog
ICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgJGNvbnRlbnRIZWFkID0gIiR7YXNzaWdufSR7
YXNzaWduUHJlfWl0ZW0tPiR7ZnVuY3Rpb25TaWdOYW1lfSgke2NhbGxJbXBsUGFyYW1zfSR7ZXhj
ZXB0aW9uc30ke2Fzc2lnblBvc3R9KTtcbiI7CisgICAgICAgICAgICAkc2V0dGVyQ29udGVudEhl
YWQgPSAiJHthc3NpZ259JHthc3NpZ25QcmV9aXRlbS0+JHtmdW5jdGlvblNpZ05hbWV9KCR7Y2Fs
bEltcGxQYXJhbXN9JHtleGNlcHRpb25zfSR7YXNzaWduUG9zdH0pO1xuIjsKICAgICAgICAgfQot
ICAgICAgICBwdXNoKEBjQm9keSwgIiAgICAke2NvbnRlbnRIZWFkfSIpOworCisgICAgICAgIHB1
c2goQGNCb2R5LCAiICAgICR7c2V0dGVyQ29udGVudEhlYWR9Iik7CiAgICAgICAgIAogICAgICAg
ICBpZihAeyRmdW5jdGlvbi0+cmFpc2VzRXhjZXB0aW9uc30pIHsKICAgICAgICAgICAgIG15ICRl
eGNlcHRpb25IYW5kbGluZyA9IDw8ICJFT0YiOwpAQCAtMTAxNSw2ICsxMDQ4LDcgQEAgc3ViIEdl
bmVyYXRlRnVuY3Rpb25zIHsKICAgICAgICAgICAgICMgVGhpcyB3aWxsIGNvbmZsaWN0IHdpdGgg
dGhlIGdldF90eXBlKCkgZnVuY3Rpb24gd2UgZGVmaW5lIHRvIHJldHVybiBhIEdUeXBlCiAgICAg
ICAgICAgICAjIGFjY29yZGluZyB0byBHT2JqZWN0IGNvbnZlbnRpb25zLiAgU2tpcCB0aGlzIGZv
ciBub3cuCiAgICAgICAgICAgICB8fCAkYXR0cmlidXRlLT5zaWduYXR1cmUtPm5hbWUgZXEgIlVS
TCIgICAgICMgVE9ETzogaGFuZGxlIHRoaXMKKyAgICAgICAgICAgIHx8ICRhdHRyaWJ1dGUtPnNp
Z25hdHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkNvbnZlcnRGcm9tU3RyaW5nIn0gICAgIyBU
T0RPOiBoYW5kbGUgdGhpcwogICAgICAgICAgICAgKSB7CiAgICAgICAgICAgICBuZXh0IFRPUDsK
ICAgICAgICAgfQpAQCAtMTA0NCw3ICsxMDc4LDcgQEAgc3ViIEdlbmVyYXRlRnVuY3Rpb25zIHsK
ICAgICAgICAgJGZ1bmN0aW9uID0gbmV3IGRvbUZ1bmN0aW9uKCk7CiAgICAgICAgIAogICAgICAg
ICAkZnVuY3Rpb24tPnNpZ25hdHVyZShuZXcgZG9tU2lnbmF0dXJlKCkpOwotICAgICAgICAkZnVu
Y3Rpb24tPnNpZ25hdHVyZS0+bmFtZSgkYXR0cmlidXRlLT5zaWduYXR1cmUtPm5hbWUpOworICAg
ICAgICAkZnVuY3Rpb24tPnNpZ25hdHVyZS0+bmFtZSgkc2V0bmFtZSk7CiAgICAgICAgICRmdW5j
dGlvbi0+c2lnbmF0dXJlLT50eXBlKCJ2b2lkIik7CiAgICAgICAgICRmdW5jdGlvbi0+c2lnbmF0
dXJlLT5leHRlbmRlZEF0dHJpYnV0ZXMoJGF0dHJpYnV0ZS0+c2lnbmF0dXJlLT5leHRlbmRlZEF0
dHJpYnV0ZXMpOwogICAgICAgICAKQEAgLTEwNTgsNyArMTA5Miw3IEBAIHN1YiBHZW5lcmF0ZUZ1
bmN0aW9ucyB7CiAgICAgICAgIAogICAgICAgICAkZnVuY3Rpb24tPnJhaXNlc0V4Y2VwdGlvbnMo
JGF0dHJpYnV0ZS0+c2V0dGVyRXhjZXB0aW9ucyk7CiAgICAgICAgIAotICAgICAgICAkb2JqZWN0
LT5HZW5lcmF0ZUZ1bmN0aW9uKCRpbnRlcmZhY2VOYW1lLCAkZnVuY3Rpb24sICJzZXRfIik7Cisg
ICAgICAgICRvYmplY3QtPkdlbmVyYXRlRnVuY3Rpb24oJGludGVyZmFjZU5hbWUsICRmdW5jdGlv
biwgIiIpOwogICAgIH0KIH0KIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L0NvZGVHZW5lcmF0b3JKUy5wbSBiL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJh
dG9ySlMucG0KaW5kZXggNGUyZTkxMTk0NDdmM2IwNGUwOTM1MDk3ZDk2MWVmYzZiZTA5ZWRiNC4u
M2NmNjIzOTA1YzI5MTNkNTJhMmYxZTBlY2Y1ZDM5OTZmMGZmNzFmZCAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQorKysgYi9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCkBAIC0zLDcgKzMsNyBAQAogIyBDb3B5
cmlnaHQgKEMpIDIwMDYgQW5kZXJzIENhcmxzc29uIDxhbmRlcnNjYUBtYWMuY29tPgogIyBDb3B5
cmlnaHQgKEMpIDIwMDYsIDIwMDcgU2FtdWVsIFdlaW5pZyA8c2FtQHdlYmtpdC5vcmc+CiAjIENv
cHlyaWdodCAoQykgMjAwNiBBbGV4ZXkgUHJvc2t1cnlha292IDxhcEB3ZWJraXQub3JnPgotIyBD
b3B5cmlnaHQgKEMpIDIwMDYsIDIwMDcsIDIwMDgsIDIwMDksIDIwMTAgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorIyBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMDcsIDIwMDgsIDIwMDkg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogIyBDb3B5cmlnaHQgKEMpIDIwMDkgQ2Ft
ZXJvbiBNY0Nvcm1hY2sgPGNhbUBtY2MuaWQuYXU+CiAjIENvcHlyaWdodCAoQykgUmVzZWFyY2gg
SW4gTW90aW9uIExpbWl0ZWQgMjAxMC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICMKQEAgLTE1NzAs
OSArMTU3MCwyMCBAQCBzdWIgR2VuZXJhdGVJbXBsZW1lbnRhdGlvbgogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgIEpTVmFsdWUgcmVzdWx0ID0gICIg
LiBOYXRpdmVUb0pTVmFsdWUoJGF0dHJpYnV0ZS0+c2lnbmF0dXJlLCAwLCAkaW1wbENsYXNzTmFt
ZSwgIiIsICJpbXAuJGltcGxHZXR0ZXJGdW5jdGlvbk5hbWUoKSIsICJjYXN0ZWRUaGlzIikgLiAi
O1xuIik7CiAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0g
ZWxzZSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBteSAkZ2V0dGVyRXhwcmVzc2lvbiA9ICJp
bXAtPiIgLiAkY29kZUdlbmVyYXRvci0+R2V0dGVyRXhwcmVzc2lvblByZWZpeChcJWltcGxJbmNs
dWRlcywgJGludGVyZmFjZU5hbWUsICRhdHRyaWJ1dGUpIC4gIikiOwotICAgICAgICAgICAgICAg
ICAgICAgICAgbXkgJGpzVHlwZSA9IE5hdGl2ZVRvSlNWYWx1ZSgkYXR0cmlidXRlLT5zaWduYXR1
cmUsIDAsICRpbXBsQ2xhc3NOYW1lLCAkaW1wbENsYXNzTmFtZUZvclZhbHVlQ29udmVyc2lvbiwg
JGdldHRlckV4cHJlc3Npb24sICJjYXN0ZWRUaGlzIik7CiAgICAgICAgICAgICAgICAgICAgICAg
ICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICAkaW1wbENsYXNzTmFtZSogaW1wID0gc3RhdGljX2Nh
c3Q8JGltcGxDbGFzc05hbWUqPihjYXN0ZWRUaGlzLT5pbXBsKCkpO1xuIik7CisgICAgICAgICAg
ICAgICAgICAgICAgICBteSAkdmFsdWU7CisgICAgICAgICAgICAgICAgICAgICAgICBteSAkcmVm
bGVjdCA9ICRhdHRyaWJ1dGUtPnNpZ25hdHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IlJlZmxl
Y3QifTsKKyAgICAgICAgICAgICAgICAgICAgICAgIG15ICRyZWZsZWN0VVJMID0gJGF0dHJpYnV0
ZS0+c2lnbmF0dXJlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiUmVmbGVjdFVSTCJ9OworICAgICAg
ICAgICAgICAgICAgICAgICAgaWYgKCRyZWZsZWN0IHx8ICRyZWZsZWN0VVJMKSB7CisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgbXkgJGNvbnRlbnRBdHRyaWJ1dGVOYW1lID0gKCgkcmVmbGVj
dCB8fCAkcmVmbGVjdFVSTCkgZXEgIjEiKSA/ICRuYW1lIDogKCRyZWZsZWN0IHx8ICRyZWZsZWN0
VVJMKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBteSAkbmFtZXNwYWNlID0gJGNvZGVH
ZW5lcmF0b3ItPk5hbWVzcGFjZUZvckF0dHJpYnV0ZU5hbWUoJGludGVyZmFjZU5hbWUsICRjb250
ZW50QXR0cmlidXRlTmFtZSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGltcGxJbmNs
dWRlc3siJHtuYW1lc3BhY2V9LmgifSA9IDE7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
bXkgJGdldEF0dHJpYnV0ZUZ1bmN0aW9uTmFtZSA9ICRyZWZsZWN0VVJMID8gImdldFVSTEF0dHJp
YnV0ZSIgOiAiZ2V0QXR0cmlidXRlIjsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdmFs
dWUgPSAiaW1wLT4kZ2V0QXR0cmlidXRlRnVuY3Rpb25OYW1lKCR7bmFtZXNwYWNlfTo6JHtjb250
ZW50QXR0cmlidXRlTmFtZX1BdHRyKSIKKyAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHZhbHVlID0gImltcC0+JGltcGxHZXR0ZXJG
dW5jdGlvbk5hbWUoKSI7CisgICAgICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAg
ICAgICAgICAgICBteSAkanNUeXBlID0gTmF0aXZlVG9KU1ZhbHVlKCRhdHRyaWJ1dGUtPnNpZ25h
dHVyZSwgMCwgJGltcGxDbGFzc05hbWUsICRpbXBsQ2xhc3NOYW1lRm9yVmFsdWVDb252ZXJzaW9u
LCAkdmFsdWUsICJjYXN0ZWRUaGlzIik7CiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoJGNv
ZGVHZW5lcmF0b3ItPklzU1ZHQW5pbWF0ZWRUeXBlKCR0eXBlKSkgewogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgIFJlZlB0cjwkdHlwZT4gb2JqID0g
JGpzVHlwZTtcbiIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250
ZW50LCAiICAgIEpTVmFsdWUgcmVzdWx0ID0gIHRvSlMoZXhlYywgY2FzdGVkVGhpcy0+Z2xvYmFs
T2JqZWN0KCksIG9iai5nZXQoKSwgaW1wKTtcbiIpOwpAQCAtMTcyMywxMCArMTczNCwxNyBAQCBz
dWIgR2VuZXJhdGVJbXBsZW1lbnRhdGlvbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICBpbXAtPmNvbW1pdENoYW5nZShwb2RJbXAsIGNhc3Rl
ZFRoaXMpO1xuIik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgbXkgJG5hdGl2ZVZhbHVlID0gSlNWYWx1ZVRvTmF0
aXZlKCRhdHRyaWJ1dGUtPnNpZ25hdHVyZSwgInZhbHVlIik7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIG15ICRzZXR0ZXJFeHByZXNzaW9uUHJlZml4ID0gJGNvZGVHZW5lcmF0b3It
PlNldHRlckV4cHJlc3Npb25QcmVmaXgoXCVpbXBsSW5jbHVkZXMsICRpbnRlcmZhY2VOYW1lLCAk
YXR0cmlidXRlKTsKLQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdXNoKEBpbXBs
Q29udGVudCwgIiAgICBFeGNlcHRpb25Db2RlIGVjID0gMDtcbiIpIGlmIEB7JGF0dHJpYnV0ZS0+
c2V0dGVyRXhjZXB0aW9uc307Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB1c2go
QGltcGxDb250ZW50LCAiICAgIGltcC0+JHNldHRlckV4cHJlc3Npb25QcmVmaXgkbmF0aXZlVmFs
dWUiKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXkgJHJlZmxlY3QgPSAkYXR0
cmlidXRlLT5zaWduYXR1cmUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJSZWZsZWN0In07CisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIG15ICRyZWZsZWN0VVJMID0gJGF0dHJpYnV0ZS0+
c2lnbmF0dXJlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiUmVmbGVjdFVSTCJ9OworICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpZiAoJHJlZmxlY3QgfHwgJHJlZmxlY3RVUkwpIHsKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG15ICRjb250ZW50QXR0cmlidXRlTmFt
ZSA9ICgoJHJlZmxlY3QgfHwgJHJlZmxlY3RVUkwpIGVxICIxIikgPyAkbmFtZSA6ICgkcmVmbGVj
dCB8fCAkcmVmbGVjdFVSTCk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBt
eSAkbmFtZXNwYWNlID0gJGNvZGVHZW5lcmF0b3ItPk5hbWVzcGFjZUZvckF0dHJpYnV0ZU5hbWUo
JGludGVyZmFjZU5hbWUsICRjb250ZW50QXR0cmlidXRlTmFtZSk7CisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAkaW1wbEluY2x1ZGVzeyIke25hbWVzcGFjZX0uaCJ9ID0gMTsK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAi
ICAgIGltcC0+c2V0QXR0cmlidXRlKCR7bmFtZXNwYWNlfTo6JHtjb250ZW50QXR0cmlidXRlTmFt
ZX1BdHRyLCAkbmF0aXZlVmFsdWUiKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
fSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB1c2goQGltcGxD
b250ZW50LCAiICAgIGltcC0+c2V0JGltcGxTZXR0ZXJGdW5jdGlvbk5hbWUoJG5hdGl2ZVZhbHVl
Iik7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIsIGVjIikgaWYgQHskYXR0cmlidXRl
LT5zZXR0ZXJFeGNlcHRpb25zfTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHVz
aChAaW1wbENvbnRlbnQsICIpO1xuIik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHB1c2goQGltcGxDb250ZW50LCAiICAgIHNldERPTUV4Y2VwdGlvbihleGVjLCBlYyk7XG4iKSBp
ZiBAeyRhdHRyaWJ1dGUtPnNldHRlckV4Y2VwdGlvbnN9OwpAQCAtMjMxMiw3ICsyMzMwLDcgQEAg
c3ViIEpTVmFsdWVUb05hdGl2ZQogICAgIHJldHVybiAic3RhdGljX2Nhc3Q8U1ZHUGFpbnQ6OlNW
R1BhaW50VHlwZT4oJHZhbHVlLnRvSW50MzIoZXhlYykpIiBpZiAkdHlwZSBlcSAiU1ZHUGFpbnRU
eXBlIjsKIAogICAgIGlmICgkdHlwZSBlcSAiRE9NU3RyaW5nIikgewotICAgICAgICByZXR1cm4g
InZhbHVlVG9TdHJpbmdXaXRoTnVsbENoZWNrKGV4ZWMsICR2YWx1ZSkiIGlmICRzaWduYXR1cmUt
PmV4dGVuZGVkQXR0cmlidXRlcy0+eyJDb252ZXJ0TnVsbFRvTnVsbFN0cmluZyJ9IHx8ICRzaWdu
YXR1cmUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJSZWZsZWN0In0gfHwgJHNpZ25hdHVyZS0+ZXh0
ZW5kZWRBdHRyaWJ1dGVzLT57IlJlZmxlY3RVUkwifTsKKyAgICAgICAgcmV0dXJuICJ2YWx1ZVRv
U3RyaW5nV2l0aE51bGxDaGVjayhleGVjLCAkdmFsdWUpIiBpZiAkc2lnbmF0dXJlLT5leHRlbmRl
ZEF0dHJpYnV0ZXMtPnsiQ29udmVydE51bGxUb051bGxTdHJpbmcifTsKICAgICAgICAgcmV0dXJu
ICJ2YWx1ZVRvU3RyaW5nV2l0aFVuZGVmaW5lZE9yTnVsbENoZWNrKGV4ZWMsICR2YWx1ZSkiIGlm
ICRzaWduYXR1cmUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJDb252ZXJ0VW5kZWZpbmVkT3JOdWxs
VG9OdWxsU3RyaW5nIn07CiAgICAgICAgIHJldHVybiAidXN0cmluZ1RvU3RyaW5nKCR2YWx1ZS50
b1N0cmluZyhleGVjKSkiOwogICAgIH0KQEAgLTI0MDYsNiArMjQyNCwxMyBAQCBzdWIgTmF0aXZl
VG9KU1ZhbHVlCiAgICAgICAgIH0KICAgICB9CiAKKyAgICBpZiAoJGNvZGVHZW5lcmF0b3ItPklz
U1ZHQW5pbWF0ZWRUeXBlKCR0eXBlKSkgeworICAgICAgICAjIFNvbWUgU1ZHRkUqRWxlbWVudC5p
ZGwgdXNlICdvcGVyYXRvcicgYXMgYXR0cmlidXRlIG5hbWUsIHJld3JpdGUgYXMgJ19vcGVyYXRv
cicgdG8gYXZvaWQgY2xhc2hlcyB3aXRoIEMvQysrCisgICAgICAgICR2YWx1ZSA9fiBzL29wZXJh
dG9yXChcKS9fb3BlcmF0b3JcKFwpLyBpZiAoJHZhbHVlID1+IC9vcGVyYXRvci8pOworICAgICAg
ICAkdmFsdWUgPX4gcy9cKFwpLy87CisgICAgICAgICR2YWx1ZSAuPSAiQW5pbWF0ZWQoKSI7Cisg
ICAgfQorCiAgICAgaWYgKCR0eXBlIGVxICJDU1NTdHlsZURlY2xhcmF0aW9uIikgewogICAgICAg
ICAkaW1wbEluY2x1ZGVzeyJDU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbi5oIn0gPSAxOwogICAg
IH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yT2Jq
Qy5wbSBiL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yT2JqQy5wbQppbmRl
eCA3ZDY2OTc5MDYxOGI2NGQ5ZjllODkxYmU5NjUxOWQwYzExYTgwYmVhLi41ZDcxMDNmMTg4NDdm
NTQ2NDEwY2EyNjM0ZmUzMzM4MWQyNDA1MDU5IDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvQ29kZUdlbmVyYXRvck9iakMucG0KKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL0NvZGVHZW5lcmF0b3JPYmpDLnBtCkBAIC0zLDcgKzMsNyBAQAogIyBDb3B5cmlnaHQgKEMp
IDIwMDYgQW5kZXJzIENhcmxzc29uIDxhbmRlcnNjYUBtYWMuY29tPiAKICMgQ29weXJpZ2h0IChD
KSAyMDA2LCAyMDA3IFNhbXVlbCBXZWluaWcgPHNhbUB3ZWJraXQub3JnPgogIyBDb3B5cmlnaHQg
KEMpIDIwMDYgQWxleGV5IFByb3NrdXJ5YWtvdiA8YXBAd2Via2l0Lm9yZz4KLSMgQ29weXJpZ2h0
IChDKSAyMDA2LCAyMDA3LCAyMDA4LCAyMDA5LCAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyMgQ29weXJpZ2h0IChDKSAyMDA2LCAyMDA3LCAyMDA4LCAyMDA5IEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICMgQ29weXJpZ2h0IChDKSAyMDA5IENhbWVyb24gTWND
b3JtYWNrIDxjYW1AbWNjLmlkLmF1PgogIyBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4K
ICMKQEAgLTExNzUsOSArMTE3NSwxMyBAQCBzdWIgR2VuZXJhdGVJbXBsZW1lbnRhdGlvbgogICAg
ICAgICAgICAgfSBlbHNpZiAoJGF0dHJpYnV0ZU5hbWUgZXEgImZyYW1lIikgewogICAgICAgICAg
ICAgICAgICMgU3BlY2lhbCBjYXNlIGF0dHJpYnV0ZSBmcmFtZSB0byBiZSBmcmFtZUJvcmRlcnMu
CiAgICAgICAgICAgICAgICAgJGF0dHJpYnV0ZUludGVyZmFjZU5hbWUgLj0gIkJvcmRlcnMiOwot
ICAgICAgICAgICAgfSBlbHNpZiAoJGF0dHJpYnV0ZU5hbWUgZXEgIm9wZXJhdG9yIikgewotICAg
ICAgICAgICAgICAgICMgQXZvaWQgY2xhc2ggd2l0aCBDKysga2V5d29yZC4KLSAgICAgICAgICAg
ICAgICAkYXR0cmlidXRlSW50ZXJmYWNlTmFtZSA9ICJfb3BlcmF0b3IiOworICAgICAgICAgICAg
fSBlbHNpZiAoJGF0dHJpYnV0ZU5hbWUgZXEgIm93bmVyRG9jdW1lbnQiKSB7CisgICAgICAgICAg
ICAgICAgIyBGSVhNRTogZm9yIG5vdyBzcGVjaWFsIGNhc2UgYXR0cmlidXRlIG93bmVyRG9jdW1l
bnQgdG8gY2FsbCBkb2N1bWVudCwgdGhpcyBpcyBpbmNvcnJlY3QKKyAgICAgICAgICAgICAgICAj
IGxlZ2FjeSBiZWhhdmlvci4gKHNlZSBodHRwOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMDg4OSkKKyAgICAgICAgICAgICAgICAkYXR0cmlidXRlTmFtZSA9ICJkb2N1bWVudCI7
CisgICAgICAgICAgICB9IGVsc2lmICgkY29kZUdlbmVyYXRvci0+SXNTVkdBbmltYXRlZFR5cGUo
JGlkbFR5cGUpKSB7CisgICAgICAgICAgICAgICAgIyBTcGVjaWFsIGNhc2UgZm9yIGFuaW1hdGVk
IHR5cGVzLgorICAgICAgICAgICAgICAgICRhdHRyaWJ1dGVOYW1lIC49ICJBbmltYXRlZCI7CiAg
ICAgICAgICAgICB9CiAKICAgICAgICAgICAgICRhdHRyaWJ1dGVOYW1lc3skYXR0cmlidXRlSW50
ZXJmYWNlTmFtZX0gPSAxOwpAQCAtMTE4NSwxNCArMTE4OSwyMyBAQCBzdWIgR2VuZXJhdGVJbXBs
ZW1lbnRhdGlvbgogICAgICAgICAgICAgIyAtIEdFVFRFUgogICAgICAgICAgICAgbXkgJGdldHRl
clNpZyA9ICItICgkYXR0cmlidXRlVHlwZSkkYXR0cmlidXRlSW50ZXJmYWNlTmFtZVxuIjsKIAot
ICAgICAgICAgICAgbXkgJGdldHRlckV4cHJlc3Npb25QcmVmaXggPSAkY29kZUdlbmVyYXRvci0+
R2V0dGVyRXhwcmVzc2lvblByZWZpeChcJWltcGxJbmNsdWRlcywgJGludGVyZmFjZU5hbWUsICRh
dHRyaWJ1dGUpOwotCi0gICAgICAgICAgICAjIEZJWE1FOiBTcGVjaWFsIGNhc2UgYXR0cmlidXRl
IG93bmVyRG9jdW1lbnQgdG8gY2FsbCBkb2N1bWVudC4gVGhpcyBtYWtlcyBpdCByZXR1cm4gdGhl
Ci0gICAgICAgICAgICAjIGRvY3VtZW50IHdoZW4gY2FsbGVkIG9uIHRoZSBkb2N1bWVudCBpdHNl
bGYuIExlZ2FjeSBiZWhhdmlvciwgc2VlIDxodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTA4ODk+LgotICAgICAgICAgICAgJGdldHRlckV4cHJlc3Npb25QcmVmaXggPX4g
cy9cYm93bmVyRG9jdW1lbnRcYi9kb2N1bWVudC87CisgICAgICAgICAgICAjIFNvbWUgU1ZHRkUq
RWxlbWVudC5pZGwgdXNlICdvcGVyYXRvcicgYXMgYXR0cmlidXRlIG5hbWUsIHJld3JpdGUgYXMg
J19vcGVyYXRvcicgdG8gYXZvaWQgY2xhc2hlcyB3aXRoIEMvQysrCisgICAgICAgICAgICAkYXR0
cmlidXRlTmFtZSA9fiBzL29wZXJhdG9yQW5pbWF0ZWQvX29wZXJhdG9yQW5pbWF0ZWQvIGlmICgk
YXR0cmlidXRlTmFtZSA9fiAvb3BlcmF0b3JBbmltYXRlZC8pOworICAgICAgICAgICAgJGdldHRl
clNpZyA9fiBzL29wZXJhdG9yL19vcGVyYXRvci8gaWYgKCRnZXR0ZXJTaWcgPX4gL29wZXJhdG9y
Lyk7CiAKICAgICAgICAgICAgIG15ICRoYXNHZXR0ZXJFeGNlcHRpb24gPSBAeyRhdHRyaWJ1dGUt
PmdldHRlckV4Y2VwdGlvbnN9OwotICAgICAgICAgICAgbXkgJGdldHRlckNvbnRlbnRIZWFkID0g
IklNUEwtPiRnZXR0ZXJFeHByZXNzaW9uUHJlZml4IjsKKyAgICAgICAgICAgIG15ICRnZXR0ZXJD
b250ZW50SGVhZDsKKyAgICAgICAgICAgIG15ICRyZWZsZWN0ID0gJGF0dHJpYnV0ZS0+c2lnbmF0
dXJlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiUmVmbGVjdCJ9OworICAgICAgICAgICAgbXkgJHJl
ZmxlY3RVUkwgPSAkYXR0cmlidXRlLT5zaWduYXR1cmUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJS
ZWZsZWN0VVJMIn07CisgICAgICAgICAgICBpZiAoJHJlZmxlY3QgfHwgJHJlZmxlY3RVUkwpIHsK
KyAgICAgICAgICAgICAgICBteSAkY29udGVudEF0dHJpYnV0ZU5hbWUgPSAoKCRyZWZsZWN0IHx8
ICRyZWZsZWN0VVJMKSBlcSAiMSIpID8gJGF0dHJpYnV0ZU5hbWUgOiAoJHJlZmxlY3QgfHwgJHJl
ZmxlY3RVUkwpOworICAgICAgICAgICAgICAgIG15ICRuYW1lc3BhY2UgPSAkY29kZUdlbmVyYXRv
ci0+TmFtZXNwYWNlRm9yQXR0cmlidXRlTmFtZSgkaW50ZXJmYWNlTmFtZSwgJGNvbnRlbnRBdHRy
aWJ1dGVOYW1lKTsKKyAgICAgICAgICAgICAgICAkaW1wbEluY2x1ZGVzeyIke25hbWVzcGFjZX0u
aCJ9ID0gMTsKKyAgICAgICAgICAgICAgICBteSAkZ2V0QXR0cmlidXRlRnVuY3Rpb25OYW1lID0g
JHJlZmxlY3RVUkwgPyAiZ2V0VVJMQXR0cmlidXRlIiA6ICJnZXRBdHRyaWJ1dGUiOworICAgICAg
ICAgICAgICAgICRnZXR0ZXJDb250ZW50SGVhZCA9ICJJTVBMLT4ke2dldEF0dHJpYnV0ZUZ1bmN0
aW9uTmFtZX0oV2ViQ29yZTo6JHtuYW1lc3BhY2V9Ojoke2NvbnRlbnRBdHRyaWJ1dGVOYW1lfUF0
dHIiOworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAkZ2V0dGVyQ29udGVu
dEhlYWQgPSAiSU1QTC0+IiAuICRjb2RlR2VuZXJhdG9yLT5XS19sY2ZpcnN0KCRhdHRyaWJ1dGVO
YW1lKSAuICIoIjsKKyAgICAgICAgICAgIH0KICAgICAgICAgICAgIG15ICRnZXR0ZXJDb250ZW50
VGFpbCA9ICIpIjsKIAogICAgICAgICAgICAgIyBTcGVjaWFsIGNhc2UgZm9yIERPTVNWR051bWJl
cgpAQCAtMTI0Myw2ICsxMjU2LDggQEAgc3ViIEdlbmVyYXRlSW1wbGVtZW50YXRpb24KICAgICAg
ICAgICAgIH0gZWxzaWYgKCRhdHRyaWJ1dGUtPnNpZ25hdHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVz
LT57IkNvbnZlcnRUb1N0cmluZyJ9KSB7CiAgICAgICAgICAgICAgICAgJGdldHRlckNvbnRlbnRI
ZWFkID0gIldlYkNvcmU6OlN0cmluZzo6bnVtYmVyKCIgLiAkZ2V0dGVyQ29udGVudEhlYWQ7CiAg
ICAgICAgICAgICAgICAgJGdldHRlckNvbnRlbnRUYWlsIC49ICIpIjsKKyAgICAgICAgICAgIH0g
ZWxzaWYgKCRhdHRyaWJ1dGUtPnNpZ25hdHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkNvbnZl
cnRGcm9tU3RyaW5nIn0pIHsKKyAgICAgICAgICAgICAgICAkZ2V0dGVyQ29udGVudFRhaWwgLj0g
Ii50b0ludCgpIjsKICAgICAgICAgICAgIH0gZWxzaWYgKCRjb2RlR2VuZXJhdG9yLT5Jc1BvZFR5
cGUoJGlkbFR5cGUpIG9yICRpZGxUeXBlIGVxICJEYXRlIikgewogICAgICAgICAgICAgICAgICRn
ZXR0ZXJDb250ZW50SGVhZCA9ICJraXQoJGdldHRlckNvbnRlbnRIZWFkIjsKICAgICAgICAgICAg
ICAgICAkZ2V0dGVyQ29udGVudFRhaWwgLj0gIikiOwpAQCAtMTMwMSw4ICsxMzE2LDEwIEBAIHN1
YiBHZW5lcmF0ZUltcGxlbWVudGF0aW9uCiAgICAgICAgICAgICAgICAgbXkgJGFyZ05hbWUgPSAi
bmV3IiAuIHVjZmlyc3QoJGF0dHJpYnV0ZUludGVyZmFjZU5hbWUpOwogICAgICAgICAgICAgICAg
IG15ICRhcmcgPSBHZXRPYmpDVHlwZUdldHRlcigkYXJnTmFtZSwgJGlkbFR5cGUpOwogCi0gICAg
ICAgICAgICAgICAgIyBUaGUgZGVmaW5pdGlvbiBvZiBDb252ZXJ0VG9TdHJpbmcgaXMgZmxpcHBl
ZCBmb3IgdGhlIHNldHRlcgotICAgICAgICAgICAgICAgIGlmICgkYXR0cmlidXRlLT5zaWduYXR1
cmUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJDb252ZXJ0VG9TdHJpbmcifSkgeworICAgICAgICAg
ICAgICAgICMgVGhlIGRlZmluaXRpb24gb2YgQ29udmVydEZyb21TdHJpbmcgYW5kIENvbnZlcnRU
b1N0cmluZyBpcyBmbGlwcGVkIGZvciB0aGUgc2V0dGVyCisgICAgICAgICAgICAgICAgaWYgKCRh
dHRyaWJ1dGUtPnNpZ25hdHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkNvbnZlcnRGcm9tU3Ry
aW5nIn0pIHsKKyAgICAgICAgICAgICAgICAgICAgJGFyZyA9ICJXZWJDb3JlOjpTdHJpbmc6Om51
bWJlcigkYXJnKSI7CisgICAgICAgICAgICAgICAgfSBlbHNpZiAoJGF0dHJpYnV0ZS0+c2lnbmF0
dXJlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiQ29udmVydFRvU3RyaW5nIn0pIHsKICAgICAgICAg
ICAgICAgICAgICAgJGFyZyA9ICJXZWJDb3JlOjpTdHJpbmcoJGFyZykudG9JbnQoKSI7CiAgICAg
ICAgICAgICAgICAgfQogCkBAIC0xMzI5LDEwICsxMzQ2LDE4IEBAIHN1YiBHZW5lcmF0ZUltcGxl
bWVudGF0aW9uCiAgICAgICAgICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAg
ICBJTVBMLT4kY29yZVNldHRlck5hbWUoJGFyZyk7XG4iKTsKICAgICAgICAgICAgICAgICAgICAg
fQogICAgICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgICAgIG15ICRzZXR0
ZXJFeHByZXNzaW9uUHJlZml4ID0gJGNvZGVHZW5lcmF0b3ItPlNldHRlckV4cHJlc3Npb25QcmVm
aXgoXCVpbXBsSW5jbHVkZXMsICRpbnRlcmZhY2VOYW1lLCAkYXR0cmlidXRlKTsKLSAgICAgICAg
ICAgICAgICAgICAgbXkgJGVjID0gJGhhc1NldHRlckV4Y2VwdGlvbiA/ICIsIGVjIiA6ICIiOwor
ICAgICAgICAgICAgICAgICAgICBteSAkcmVmbGVjdCA9ICRhdHRyaWJ1dGUtPnNpZ25hdHVyZS0+
ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IlJlZmxlY3QifTsKKyAgICAgICAgICAgICAgICAgICAgbXkg
JHJlZmxlY3RVUkwgPSAkYXR0cmlidXRlLT5zaWduYXR1cmUtPmV4dGVuZGVkQXR0cmlidXRlcy0+
eyJSZWZsZWN0VVJMIn07CiAgICAgICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAi
ICAgICRleGNlcHRpb25Jbml0XG4iKSBpZiAkaGFzU2V0dGVyRXhjZXB0aW9uOwotICAgICAgICAg
ICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICBJTVBMLT4kc2V0dGVyRXhwcmVzc2lv
blByZWZpeCRhcmckZWMpO1xuIik7CisgICAgICAgICAgICAgICAgICAgIG15ICRlYyA9ICRoYXNT
ZXR0ZXJFeGNlcHRpb24gPyAiLCBlYyIgOiAiIjsKKyAgICAgICAgICAgICAgICAgICAgaWYgKCRy
ZWZsZWN0IHx8ICRyZWZsZWN0VVJMKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBteSAkY29u
dGVudEF0dHJpYnV0ZU5hbWUgPSAoKCRyZWZsZWN0IHx8ICRyZWZsZWN0VVJMKSBlcSAiMSIpID8g
JGF0dHJpYnV0ZU5hbWUgOiAoJHJlZmxlY3QgfHwgJHJlZmxlY3RVUkwpOworICAgICAgICAgICAg
ICAgICAgICAgICAgbXkgJG5hbWVzcGFjZSA9ICRjb2RlR2VuZXJhdG9yLT5OYW1lc3BhY2VGb3JB
dHRyaWJ1dGVOYW1lKCRpbnRlcmZhY2VOYW1lLCAkY29udGVudEF0dHJpYnV0ZU5hbWUpOworICAg
ICAgICAgICAgICAgICAgICAgICAgJGltcGxJbmNsdWRlc3siJHtuYW1lc3BhY2V9LmgifSA9IDE7
CisgICAgICAgICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICBJTVBMLT5z
ZXRBdHRyaWJ1dGUoV2ViQ29yZTo6JHtuYW1lc3BhY2V9Ojoke2NvbnRlbnRBdHRyaWJ1dGVOYW1l
fUF0dHIsICRhcmckZWMpO1xuIik7CisgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAg
ICAgICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICBJTVBMLT4kY29yZVNl
dHRlck5hbWUoJGFyZyRlYyk7XG4iKTsKKyAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAg
ICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICAkZXhjZXB0aW9uUmFpc2VPbkVycm9y
XG4iKSBpZiAkaGFzU2V0dGVyRXhjZXB0aW9uOwogICAgICAgICAgICAgICAgIH0KIApkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5wbSBiL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yVjgucG0KaW5kZXggZTI0OWNhYWEzZGFh
ZDM5ZmI1N2ZkZDA2MTc3ZDM5NWY3MmI1MTdhMS4uYzY0N2EzYmFmOTg3YmZmMGRjMTA4MTk1Y2Ri
ODUxMzQ0MmE5OGVmNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVH
ZW5lcmF0b3JWOC5wbQorKysgYi9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRv
clY4LnBtCkBAIC02NzcsNyArNjc3LDcgQEAgRU5ECiAgICAgICAgIG15ICRyZWZsZWN0ID0gJGF0
dHJpYnV0ZS0+c2lnbmF0dXJlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiUmVmbGVjdCJ9OwogICAg
ICAgICBpZiAoJGdldHRlclN0cmluZ1VzZXNJbXAgJiYgJHJlZmxlY3QgJiYgSXNOb2RlU3ViVHlw
ZSgkZGF0YU5vZGUpICYmICRjb2RlR2VuZXJhdG9yLT5Jc1N0cmluZ1R5cGUoJGF0dHJUeXBlKSkg
ewogICAgICAgICAgICAgIyBHZW5lcmF0ZSBzdXBlci1jb21wYWN0IGNhbGwgZm9yIHJlZ3VsYXIg
YXR0cmlidXRlIGdldHRlcjoKLSAgICAgICAgICAgIG15ICRjb250ZW50QXR0cmlidXRlTmFtZSA9
ICRyZWZsZWN0IGVxICIxIiA/IGxjICRhdHRyTmFtZSA6ICRyZWZsZWN0OworICAgICAgICAgICAg
bXkgJGNvbnRlbnRBdHRyaWJ1dGVOYW1lID0gJHJlZmxlY3QgZXEgIjEiID8gJGF0dHJOYW1lIDog
JHJlZmxlY3Q7CiAgICAgICAgICAgICBteSAkbmFtZXNwYWNlID0gJGNvZGVHZW5lcmF0b3ItPk5h
bWVzcGFjZUZvckF0dHJpYnV0ZU5hbWUoJGludGVyZmFjZU5hbWUsICRjb250ZW50QXR0cmlidXRl
TmFtZSk7CiAgICAgICAgICAgICAkaW1wbEluY2x1ZGVzeyIke25hbWVzcGFjZX0uaCJ9ID0gMTsK
ICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50RGVjbHMsICIgICAgcmV0dXJuIGdldEVsZW1l
bnRTdHJpbmdBdHRyKGluZm8sICR7bmFtZXNwYWNlfTo6JHtjb250ZW50QXR0cmlidXRlTmFtZX1B
dHRyKTtcbiIpOwpAQCAtNzA4LDEzICs3MDgsMzQgQEAgRU5ECiAgICAgICAgICRhdHRyTmFtZSA9
ICRhdHRyaWJ1dGUtPnNpZ25hdHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57InY4cmVmZXJlbmNl
YXR0ciJ9OwogICAgIH0KIAorICAgIG15ICRnZXR0ZXJGdW5jID0gJGNvZGVHZW5lcmF0b3ItPldL
X2xjZmlyc3QoJGF0dHJOYW1lKTsKKworICAgIGlmICgkY29kZUdlbmVyYXRvci0+SXNTVkdBbmlt
YXRlZFR5cGUoJGF0dHJpYnV0ZS0+c2lnbmF0dXJlLT50eXBlKSkgeworICAgICAgICAjIFNvbWUg
U1ZHRkUqRWxlbWVudC5pZGwgdXNlICdvcGVyYXRvcicgYXMgYXR0cmlidXRlIG5hbWU7IHJld3Jp
dGUgYXMgJ19vcGVyYXRvcicgdG8gYXZvaWQgY2xhc2hlcyB3aXRoIEMvQysrCisgICAgICAgICRn
ZXR0ZXJGdW5jID0gIl8iIC4gJGdldHRlckZ1bmMgaWYgKCRhdHRyTmFtZSA9fiAvb3BlcmF0b3Iv
KTsKKyAgICAgICAgJGdldHRlckZ1bmMgLj0gIkFuaW1hdGVkIjsKKyAgICB9CisKICAgICBteSAk
cmV0dXJuVHlwZSA9IEdldFR5cGVGcm9tU2lnbmF0dXJlKCRhdHRyaWJ1dGUtPnNpZ25hdHVyZSk7
CiAKICAgICBteSAkZ2V0dGVyU3RyaW5nOwogICAgIGlmICgkZ2V0dGVyU3RyaW5nVXNlc0ltcCkg
ewotICAgICAgICAkZ2V0dGVyU3RyaW5nID0gImltcC0+IiAuICRjb2RlR2VuZXJhdG9yLT5HZXR0
ZXJFeHByZXNzaW9uUHJlZml4KFwlaW1wbEluY2x1ZGVzLCAkaW50ZXJmYWNlTmFtZSwgJGF0dHJp
YnV0ZSk7CisgICAgICAgIG15ICRyZWZsZWN0ID0gJGF0dHJpYnV0ZS0+c2lnbmF0dXJlLT5leHRl
bmRlZEF0dHJpYnV0ZXMtPnsiUmVmbGVjdCJ9OworICAgICAgICBteSAkcmVmbGVjdFVSTCA9ICRh
dHRyaWJ1dGUtPnNpZ25hdHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IlJlZmxlY3RVUkwifTsK
KyAgICAgICAgaWYgKCRyZWZsZWN0IHx8ICRyZWZsZWN0VVJMKSB7CisgICAgICAgICAgICBteSAk
Y29udGVudEF0dHJpYnV0ZU5hbWUgPSAoJHJlZmxlY3QgfHwgJHJlZmxlY3RVUkwpIGVxICIxIiA/
ICRhdHRyTmFtZSA6ICgkcmVmbGVjdCB8fCAkcmVmbGVjdFVSTCk7CisgICAgICAgICAgICBteSAk
bmFtZXNwYWNlID0gJGNvZGVHZW5lcmF0b3ItPk5hbWVzcGFjZUZvckF0dHJpYnV0ZU5hbWUoJGlu
dGVyZmFjZU5hbWUsICRjb250ZW50QXR0cmlidXRlTmFtZSk7CisgICAgICAgICAgICAkaW1wbElu
Y2x1ZGVzeyIke25hbWVzcGFjZX0uaCJ9ID0gMTsKKyAgICAgICAgICAgIG15ICRnZXRBdHRyaWJ1
dGVGdW5jdGlvbk5hbWUgPSAkcmVmbGVjdFVSTCA/ICJnZXRVUkxBdHRyaWJ1dGUiIDogImdldEF0
dHJpYnV0ZSI7CisgICAgICAgICAgICAkZ2V0dGVyU3RyaW5nID0gImltcC0+JGdldEF0dHJpYnV0
ZUZ1bmN0aW9uTmFtZSgke25hbWVzcGFjZX06OiR7Y29udGVudEF0dHJpYnV0ZU5hbWV9QXR0ciI7
CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAkZ2V0dGVyU3RyaW5nID0gImltcC0+JGdl
dHRlckZ1bmMoIjsKKyAgICAgICAgfQogICAgICAgICAkZ2V0dGVyU3RyaW5nIC49ICJlYyIgaWYg
JHVzZUV4Y2VwdGlvbnM7CiAgICAgICAgICRnZXR0ZXJTdHJpbmcgLj0gIikiOworICAgICAgICBp
ZiAoJG5hdGl2ZVR5cGUgZXEgImludCIgYW5kICRhdHRyaWJ1dGUtPnNpZ25hdHVyZS0+ZXh0ZW5k
ZWRBdHRyaWJ1dGVzLT57IkNvbnZlcnRGcm9tU3RyaW5nIn0pIHsKKyAgICAgICAgICAgICRnZXR0
ZXJTdHJpbmcgLj0gIi50b0ludCgpIjsKKyAgICAgICAgfQogICAgIH0gZWxzZSB7CiAgICAgICAg
ICRnZXR0ZXJTdHJpbmcgPSAiaW1wSW5zdGFuY2UiOwogICAgIH0KQEAgLTg2Niw3ICs4ODcsNyBA
QCBFTkQKICAgICAgICAgbXkgJHJlZmxlY3RVUkwgPSAkYXR0cmlidXRlLT5zaWduYXR1cmUtPmV4
dGVuZGVkQXR0cmlidXRlcy0+eyJSZWZsZWN0VVJMIn07CiAgICAgICAgIGlmICgoJHJlZmxlY3Qg
fHwgJHJlZmxlY3RVUkwpICYmIElzTm9kZVN1YlR5cGUoJGRhdGFOb2RlKSAmJiAkY29kZUdlbmVy
YXRvci0+SXNTdHJpbmdUeXBlKCRhdHRyVHlwZSkpIHsKICAgICAgICAgICAgICMgR2VuZXJhdGUg
c3VwZXItY29tcGFjdCBjYWxsIGZvciByZWd1bGFyIGF0dHJpYnV0ZSBzZXR0ZXI6Ci0gICAgICAg
ICAgICBteSAkY29udGVudEF0dHJpYnV0ZU5hbWUgPSAoJHJlZmxlY3QgfHwgJHJlZmxlY3RVUkwp
IGVxICIxIiA/IGxjICRhdHRyTmFtZSA6ICgkcmVmbGVjdCB8fCAkcmVmbGVjdFVSTCk7CisgICAg
ICAgICAgICBteSAkY29udGVudEF0dHJpYnV0ZU5hbWUgPSAoJHJlZmxlY3QgfHwgJHJlZmxlY3RV
UkwpIGVxICIxIiA/ICRhdHRyTmFtZSA6ICgkcmVmbGVjdCB8fCAkcmVmbGVjdFVSTCk7CiAgICAg
ICAgICAgICBteSAkbmFtZXNwYWNlID0gJGNvZGVHZW5lcmF0b3ItPk5hbWVzcGFjZUZvckF0dHJp
YnV0ZU5hbWUoJGludGVyZmFjZU5hbWUsICRjb250ZW50QXR0cmlidXRlTmFtZSk7CiAgICAgICAg
ICAgICAkaW1wbEluY2x1ZGVzeyIke25hbWVzcGFjZX0uaCJ9ID0gMTsKICAgICAgICAgICAgIHB1
c2goQGltcGxDb250ZW50RGVjbHMsICIgICAgc2V0RWxlbWVudFN0cmluZ0F0dHIoaW5mbywgJHtu
YW1lc3BhY2V9Ojoke2NvbnRlbnRBdHRyaWJ1dGVOYW1lfUF0dHIsIHZhbHVlKTtcbiIpOwpAQCAt
ODkxLDcgKzkxMiwxNCBAQCBFTkQKICAgICAgICAgcHVzaChAaW1wbENvbnRlbnREZWNscywgIiAg
ICAkbmF0aXZlVHlwZSB2ID0gIiAuIEpTVmFsdWVUb05hdGl2ZSgkYXR0cmlidXRlLT5zaWduYXR1
cmUsICJ2YWx1ZSIpIC4gIjtcbiIpOwogICAgIH0KIAotICAgIG15ICRyZXN1bHQgPSAidiI7Cisg
ICAgbXkgJHJlc3VsdCA9ICIiOworICAgIGlmICgkbmF0aXZlVHlwZSBlcSAiaW50IiBhbmQgJGF0
dHJpYnV0ZS0+c2lnbmF0dXJlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiQ29udmVydEZyb21TdHJp
bmcifSkgeworICAgICAgICAkcmVzdWx0IC49ICJXZWJDb3JlOjpTdHJpbmc6Om51bWJlcigiOwor
ICAgIH0KKyAgICAkcmVzdWx0IC49ICJ2IjsKKyAgICBpZiAoJG5hdGl2ZVR5cGUgZXEgImludCIg
YW5kICRhdHRyaWJ1dGUtPnNpZ25hdHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkNvbnZlcnRG
cm9tU3RyaW5nIn0pIHsKKyAgICAgICAgJHJlc3VsdCAuPSAiKSI7CisgICAgfQogICAgIG15ICRy
ZXR1cm5UeXBlID0gR2V0VHlwZUZyb21TaWduYXR1cmUoJGF0dHJpYnV0ZS0+c2lnbmF0dXJlKTsK
ICAgICBpZiAoSXNSZWZQdHJUeXBlKCRyZXR1cm5UeXBlKSkgewogICAgICAgICAkcmVzdWx0ID0g
IldURjo6Z2V0UHRyKCIgLiAkcmVzdWx0IC4gIikiOwpAQCAtOTA3LDggKzkzNSwxNSBAQCBFTkQK
ICAgICBpZiAoJGltcGxDbGFzc05hbWUgZXEgImZsb2F0IikgewogICAgICAgICBwdXNoKEBpbXBs
Q29udGVudERlY2xzLCAiICAgICppbXAgPSAkcmVzdWx0O1xuIik7CiAgICAgfSBlbHNlIHsKLSAg
ICAgICAgaWYgKCRhdHRyaWJ1dGUtPnNpZ25hdHVyZS0+dHlwZSBlcSAiRXZlbnRMaXN0ZW5lciIp
IHsKLSAgICAgICAgICAgIG15ICRpbXBsU2V0dGVyRnVuY3Rpb25OYW1lID0gJGNvZGVHZW5lcmF0
b3ItPldLX3VjZmlyc3QoJGF0dHJOYW1lKTsKKyAgICAgICAgbXkgJGltcGxTZXR0ZXJGdW5jdGlv
bk5hbWUgPSAkY29kZUdlbmVyYXRvci0+V0tfdWNmaXJzdCgkYXR0ck5hbWUpOworICAgICAgICBt
eSAkcmVmbGVjdCA9ICRhdHRyaWJ1dGUtPnNpZ25hdHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57
IlJlZmxlY3QifTsKKyAgICAgICAgbXkgJHJlZmxlY3RVUkwgPSAkYXR0cmlidXRlLT5zaWduYXR1
cmUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJSZWZsZWN0VVJMIn07CisgICAgICAgIGlmICgkcmVm
bGVjdCB8fCAkcmVmbGVjdFVSTCkgeworICAgICAgICAgICAgbXkgJGNvbnRlbnRBdHRyaWJ1dGVO
YW1lID0gKCRyZWZsZWN0IHx8ICRyZWZsZWN0VVJMKSBlcSAiMSIgPyAkYXR0ck5hbWUgOiAoJHJl
ZmxlY3QgfHwgJHJlZmxlY3RVUkwpOworICAgICAgICAgICAgbXkgJG5hbWVzcGFjZSA9ICRjb2Rl
R2VuZXJhdG9yLT5OYW1lc3BhY2VGb3JBdHRyaWJ1dGVOYW1lKCRpbnRlcmZhY2VOYW1lLCAkY29u
dGVudEF0dHJpYnV0ZU5hbWUpOworICAgICAgICAgICAgJGltcGxJbmNsdWRlc3siJHtuYW1lc3Bh
Y2V9LmgifSA9IDE7CisgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudERlY2xzLCAiICAgIGlt
cC0+c2V0QXR0cmlidXRlKCR7bmFtZXNwYWNlfTo6JHtjb250ZW50QXR0cmlidXRlTmFtZX1BdHRy
LCAkcmVzdWx0Iik7CisgICAgICAgIH0gZWxzaWYgKCRhdHRyaWJ1dGUtPnNpZ25hdHVyZS0+dHlw
ZSBlcSAiRXZlbnRMaXN0ZW5lciIpIHsKICAgICAgICAgICAgICRpbXBsSW5jbHVkZXN7IlY4QWJz
dHJhY3RFdmVudExpc3RlbmVyLmgifSA9IDE7CiAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVu
dERlY2xzLCAiICAgIHRyYW5zZmVySGlkZGVuRGVwZW5kZW5jeShpbmZvLkhvbGRlcigpLCBpbXAt
PiRhdHRyTmFtZSgpLCB2YWx1ZSwgVjgke2ludGVyZmFjZU5hbWV9OjpldmVudExpc3RlbmVyQ2Fj
aGVJbmRleCk7XG4iKTsKICAgICAgICAgICAgIGlmICgkaW50ZXJmYWNlTmFtZSBlcSAiV29ya2Vy
Q29udGV4dCIgYW5kICRhdHRyaWJ1dGUtPnNpZ25hdHVyZS0+bmFtZSBlcSAib25lcnJvciIpIHsK
QEAgLTkxOSw4ICs5NTQsNyBAQCBFTkQKICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVu
dERlY2xzLCAiICAgIGltcC0+c2V0JGltcGxTZXR0ZXJGdW5jdGlvbk5hbWUoVjhET01XcmFwcGVy
OjpnZXRFdmVudExpc3RlbmVyKHZhbHVlLCB0cnVlLCBMaXN0ZW5lckZpbmRPckNyZWF0ZSkiKTsK
ICAgICAgICAgICAgIH0KICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIG15ICRzZXR0ZXJF
eHByZXNzaW9uUHJlZml4ID0gJGNvZGVHZW5lcmF0b3ItPlNldHRlckV4cHJlc3Npb25QcmVmaXgo
XCVpbXBsSW5jbHVkZXMsICRpbnRlcmZhY2VOYW1lLCAkYXR0cmlidXRlKTsKLSAgICAgICAgICAg
IHB1c2goQGltcGxDb250ZW50RGVjbHMsICIgICAgaW1wLT4kc2V0dGVyRXhwcmVzc2lvblByZWZp
eCRyZXN1bHQiKTsKKyAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50RGVjbHMsICIgICAgaW1w
LT5zZXQkaW1wbFNldHRlckZ1bmN0aW9uTmFtZSgkcmVzdWx0Iik7CiAgICAgICAgIH0KICAgICAg
ICAgcHVzaChAaW1wbENvbnRlbnREZWNscywgIiwgZWMiKSBpZiAkdXNlRXhjZXB0aW9uczsKICAg
ICAgICAgcHVzaChAaW1wbENvbnRlbnREZWNscywgIik7XG4iKTsKQEAgLTI2NzgsNyArMjcxMiw3
IEBAIHN1YiBHZXROYXRpdmVUeXBlRnJvbVNpZ25hdHVyZQogICAgICAgICBteSAkbW9kZSA9ICIi
OwogICAgICAgICBpZiAoJHNpZ25hdHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkNvbnZlcnRV
bmRlZmluZWRPck51bGxUb051bGxTdHJpbmcifSkgewogICAgICAgICAgICAgJG1vZGUgPSAiV2l0
aFVuZGVmaW5lZE9yTnVsbENoZWNrIjsKLSAgICAgICAgfSBlbHNpZiAoJHNpZ25hdHVyZS0+ZXh0
ZW5kZWRBdHRyaWJ1dGVzLT57IkNvbnZlcnROdWxsVG9OdWxsU3RyaW5nIn0gfHwgJHNpZ25hdHVy
ZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IlJlZmxlY3QifSB8fCAkc2lnbmF0dXJlLT5leHRlbmRl
ZEF0dHJpYnV0ZXMtPnsiUmVmbGVjdFVSTCJ9KSB7CisgICAgICAgIH0gZWxzaWYgKCRzaWduYXR1
cmUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJDb252ZXJ0TnVsbFRvTnVsbFN0cmluZyJ9KSB7CiAg
ICAgICAgICAgICAkbW9kZSA9ICJXaXRoTnVsbENoZWNrIjsKICAgICAgICAgfQogICAgICAgICAk
dHlwZSAuPSAiPCRtb2RlPiI7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9DUFAvV2ViRE9NVGVzdE9iai5jcHAgYi9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9DUFAvV2ViRE9NVGVzdE9iai5jcHAKaW5kZXggNjViYzlmMzZlZTM2ZTI0MjVlNDY0ZTcwYTBk
NjBkYmY1MzQ5ZDNhNS4uMGEzNTU1MDhkMzFlMTdlZGZiODA1YzlmNjQ2N2UyYzdhMTgyMDMzYiAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvQ1BQL1dlYkRPTVRlc3RP
YmouY3BwCisrKyBiL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0NQUC9XZWJET01UZXN0
T2JqLmNwcApAQCAtMjIsNyArMjIsNiBAQAogI2luY2x1ZGUgIldlYkRPTVRlc3RPYmouaCIKIAog
I2luY2x1ZGUgIkF0b21pY1N0cmluZy5oIgotI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgogI2luY2x1
ZGUgIktVUkwuaCIKICNpbmNsdWRlICJTZXJpYWxpemVkU2NyaXB0VmFsdWUuaCIKICNpbmNsdWRl
ICJUZXN0T2JqLmgiCkBAIC0xNzQsMTYzICsxNzMsMzMgQEAgdm9pZCBXZWJET01UZXN0T2JqOjpz
ZXRUZXN0T2JqQXR0cihjb25zdCBXZWJET01UZXN0T2JqJiBuZXdUZXN0T2JqQXR0cikKICAgICBp
bXBsKCktPnNldFRlc3RPYmpBdHRyKHRvV2ViQ29yZShuZXdUZXN0T2JqQXR0cikpOwogfQogCi1X
ZWJET01TdHJpbmcgV2ViRE9NVGVzdE9iajo6cmVmbGVjdGVkU3RyaW5nQXR0cigpIGNvbnN0Ci17
Ci0gICAgaWYgKCFpbXBsKCkpCi0gICAgICAgIHJldHVybiBXZWJET01TdHJpbmcoKTsKLQotICAg
IHJldHVybiBzdGF0aWNfY2FzdDxjb25zdCBXZWJDb3JlOjpTdHJpbmcmPihpbXBsKCktPmdldEF0
dHJpYnV0ZShXZWJDb3JlOjpIVE1MTmFtZXM6OnJlZmxlY3RlZHN0cmluZ2F0dHJBdHRyKSk7Ci19
Ci0KLXZvaWQgV2ViRE9NVGVzdE9iajo6c2V0UmVmbGVjdGVkU3RyaW5nQXR0cihjb25zdCBXZWJE
T01TdHJpbmcmIG5ld1JlZmxlY3RlZFN0cmluZ0F0dHIpCi17Ci0gICAgaWYgKCFpbXBsKCkpCi0g
ICAgICAgIHJldHVybjsKLQotICAgIGltcGwoKS0+c2V0QXR0cmlidXRlKFdlYkNvcmU6OkhUTUxO
YW1lczo6cmVmbGVjdGVkc3RyaW5nYXR0ckF0dHIsIG5ld1JlZmxlY3RlZFN0cmluZ0F0dHIpOwot
fQotCi1pbnQgV2ViRE9NVGVzdE9iajo6cmVmbGVjdGVkSW50ZWdyYWxBdHRyKCkgY29uc3QKK2lu
dCBXZWJET01UZXN0T2JqOjphdHRyV2l0aEV4Y2VwdGlvbigpIGNvbnN0CiB7CiAgICAgaWYgKCFp
bXBsKCkpCiAgICAgICAgIHJldHVybiAwOwogCi0gICAgcmV0dXJuIGltcGwoKS0+Z2V0SW50ZWdy
YWxBdHRyaWJ1dGUoV2ViQ29yZTo6SFRNTE5hbWVzOjpyZWZsZWN0ZWRpbnRlZ3JhbGF0dHJBdHRy
KTsKLX0KLQotdm9pZCBXZWJET01UZXN0T2JqOjpzZXRSZWZsZWN0ZWRJbnRlZ3JhbEF0dHIoaW50
IG5ld1JlZmxlY3RlZEludGVncmFsQXR0cikKLXsKLSAgICBpZiAoIWltcGwoKSkKLSAgICAgICAg
cmV0dXJuOwotCi0gICAgaW1wbCgpLT5zZXRJbnRlZ3JhbEF0dHJpYnV0ZShXZWJDb3JlOjpIVE1M
TmFtZXM6OnJlZmxlY3RlZGludGVncmFsYXR0ckF0dHIsIG5ld1JlZmxlY3RlZEludGVncmFsQXR0
cik7Ci19Ci0KLWJvb2wgV2ViRE9NVGVzdE9iajo6cmVmbGVjdGVkQm9vbGVhbkF0dHIoKSBjb25z
dAotewotICAgIGlmICghaW1wbCgpKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICByZXR1
cm4gaW1wbCgpLT5oYXNBdHRyaWJ1dGUoV2ViQ29yZTo6SFRNTE5hbWVzOjpyZWZsZWN0ZWRib29s
ZWFuYXR0ckF0dHIpOwotfQotCi12b2lkIFdlYkRPTVRlc3RPYmo6OnNldFJlZmxlY3RlZEJvb2xl
YW5BdHRyKGJvb2wgbmV3UmVmbGVjdGVkQm9vbGVhbkF0dHIpCi17Ci0gICAgaWYgKCFpbXBsKCkp
Ci0gICAgICAgIHJldHVybjsKLQotICAgIGltcGwoKS0+c2V0Qm9vbGVhbkF0dHJpYnV0ZShXZWJD
b3JlOjpIVE1MTmFtZXM6OnJlZmxlY3RlZGJvb2xlYW5hdHRyQXR0ciwgbmV3UmVmbGVjdGVkQm9v
bGVhbkF0dHIpOwotfQotCi1XZWJET01TdHJpbmcgV2ViRE9NVGVzdE9iajo6cmVmbGVjdGVkVVJM
QXR0cigpIGNvbnN0Ci17Ci0gICAgaWYgKCFpbXBsKCkpCi0gICAgICAgIHJldHVybiBXZWJET01T
dHJpbmcoKTsKLQotICAgIHJldHVybiBzdGF0aWNfY2FzdDxjb25zdCBXZWJDb3JlOjpTdHJpbmcm
PihpbXBsKCktPmdldFVSTEF0dHJpYnV0ZShXZWJDb3JlOjpIVE1MTmFtZXM6OnJlZmxlY3RlZHVy
bGF0dHJBdHRyKSk7Ci19Ci0KLXZvaWQgV2ViRE9NVGVzdE9iajo6c2V0UmVmbGVjdGVkVVJMQXR0
cihjb25zdCBXZWJET01TdHJpbmcmIG5ld1JlZmxlY3RlZFVSTEF0dHIpCi17Ci0gICAgaWYgKCFp
bXBsKCkpCi0gICAgICAgIHJldHVybjsKLQotICAgIGltcGwoKS0+c2V0QXR0cmlidXRlKFdlYkNv
cmU6OkhUTUxOYW1lczo6cmVmbGVjdGVkdXJsYXR0ckF0dHIsIG5ld1JlZmxlY3RlZFVSTEF0dHIp
OwotfQotCi1XZWJET01TdHJpbmcgV2ViRE9NVGVzdE9iajo6cmVmbGVjdGVkU3RyaW5nQXR0cigp
IGNvbnN0Ci17Ci0gICAgaWYgKCFpbXBsKCkpCi0gICAgICAgIHJldHVybiBXZWJET01TdHJpbmco
KTsKLQotICAgIHJldHVybiBzdGF0aWNfY2FzdDxjb25zdCBXZWJDb3JlOjpTdHJpbmcmPihpbXBs
KCktPmdldEF0dHJpYnV0ZShXZWJDb3JlOjpIVE1MTmFtZXM6OmN1c3RvbUNvbnRlbnRTdHJpbmdB
dHRyQXR0cikpOwotfQotCi12b2lkIFdlYkRPTVRlc3RPYmo6OnNldFJlZmxlY3RlZFN0cmluZ0F0
dHIoY29uc3QgV2ViRE9NU3RyaW5nJiBuZXdSZWZsZWN0ZWRTdHJpbmdBdHRyKQotewotICAgIGlm
ICghaW1wbCgpKQotICAgICAgICByZXR1cm47Ci0KLSAgICBpbXBsKCktPnNldEF0dHJpYnV0ZShX
ZWJDb3JlOjpIVE1MTmFtZXM6OmN1c3RvbUNvbnRlbnRTdHJpbmdBdHRyQXR0ciwgbmV3UmVmbGVj
dGVkU3RyaW5nQXR0cik7Ci19Ci0KLWludCBXZWJET01UZXN0T2JqOjpyZWZsZWN0ZWRDdXN0b21J
bnRlZ3JhbEF0dHIoKSBjb25zdAotewotICAgIGlmICghaW1wbCgpKQotICAgICAgICByZXR1cm4g
MDsKLQotICAgIHJldHVybiBpbXBsKCktPmdldEludGVncmFsQXR0cmlidXRlKFdlYkNvcmU6OkhU
TUxOYW1lczo6Y3VzdG9tQ29udGVudEludGVncmFsQXR0ckF0dHIpOwotfQotCi12b2lkIFdlYkRP
TVRlc3RPYmo6OnNldFJlZmxlY3RlZEN1c3RvbUludGVncmFsQXR0cihpbnQgbmV3UmVmbGVjdGVk
Q3VzdG9tSW50ZWdyYWxBdHRyKQotewotICAgIGlmICghaW1wbCgpKQotICAgICAgICByZXR1cm47
Ci0KLSAgICBpbXBsKCktPnNldEludGVncmFsQXR0cmlidXRlKFdlYkNvcmU6OkhUTUxOYW1lczo6
Y3VzdG9tQ29udGVudEludGVncmFsQXR0ckF0dHIsIG5ld1JlZmxlY3RlZEN1c3RvbUludGVncmFs
QXR0cik7Ci19Ci0KLWJvb2wgV2ViRE9NVGVzdE9iajo6cmVmbGVjdGVkQ3VzdG9tQm9vbGVhbkF0
dHIoKSBjb25zdAotewotICAgIGlmICghaW1wbCgpKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0K
LSAgICByZXR1cm4gaW1wbCgpLT5oYXNBdHRyaWJ1dGUoV2ViQ29yZTo6SFRNTE5hbWVzOjpjdXN0
b21Db250ZW50Qm9vbGVhbkF0dHJBdHRyKTsKKyAgICByZXR1cm4gaW1wbCgpLT5hdHRyV2l0aEV4
Y2VwdGlvbigpOwogfQogCi12b2lkIFdlYkRPTVRlc3RPYmo6OnNldFJlZmxlY3RlZEN1c3RvbUJv
b2xlYW5BdHRyKGJvb2wgbmV3UmVmbGVjdGVkQ3VzdG9tQm9vbGVhbkF0dHIpCit2b2lkIFdlYkRP
TVRlc3RPYmo6OnNldEF0dHJXaXRoRXhjZXB0aW9uKGludCBuZXdBdHRyV2l0aEV4Y2VwdGlvbikK
IHsKICAgICBpZiAoIWltcGwoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgaW1wbCgpLT5zZXRC
b29sZWFuQXR0cmlidXRlKFdlYkNvcmU6OkhUTUxOYW1lczo6Y3VzdG9tQ29udGVudEJvb2xlYW5B
dHRyQXR0ciwgbmV3UmVmbGVjdGVkQ3VzdG9tQm9vbGVhbkF0dHIpOwotfQotCi1XZWJET01TdHJp
bmcgV2ViRE9NVGVzdE9iajo6cmVmbGVjdGVkVVJMQXR0cigpIGNvbnN0Ci17Ci0gICAgaWYgKCFp
bXBsKCkpCi0gICAgICAgIHJldHVybiBXZWJET01TdHJpbmcoKTsKLQotICAgIHJldHVybiBzdGF0
aWNfY2FzdDxjb25zdCBXZWJDb3JlOjpTdHJpbmcmPihpbXBsKCktPmdldFVSTEF0dHJpYnV0ZShX
ZWJDb3JlOjpIVE1MTmFtZXM6OmN1c3RvbUNvbnRlbnRVUkxBdHRyQXR0cikpOworICAgIGltcGwo
KS0+c2V0QXR0cldpdGhFeGNlcHRpb24obmV3QXR0cldpdGhFeGNlcHRpb24pOwogfQogCi12b2lk
IFdlYkRPTVRlc3RPYmo6OnNldFJlZmxlY3RlZFVSTEF0dHIoY29uc3QgV2ViRE9NU3RyaW5nJiBu
ZXdSZWZsZWN0ZWRVUkxBdHRyKQotewotICAgIGlmICghaW1wbCgpKQotICAgICAgICByZXR1cm47
Ci0KLSAgICBpbXBsKCktPnNldEF0dHJpYnV0ZShXZWJDb3JlOjpIVE1MTmFtZXM6OmN1c3RvbUNv
bnRlbnRVUkxBdHRyQXR0ciwgbmV3UmVmbGVjdGVkVVJMQXR0cik7Ci19Ci0KLWludCBXZWJET01U
ZXN0T2JqOjphdHRyV2l0aEdldHRlckV4Y2VwdGlvbigpIGNvbnN0CitpbnQgV2ViRE9NVGVzdE9i
ajo6YXR0cldpdGhTZXR0ZXJFeGNlcHRpb24oKSBjb25zdAogewogICAgIGlmICghaW1wbCgpKQog
ICAgICAgICByZXR1cm4gMDsKIAogICAgIFdlYkNvcmU6OkV4Y2VwdGlvbkNvZGUgZWMgPSAwOwot
ICAgIGludCByZXN1bHQgPSBpbXBsKCktPmF0dHJXaXRoR2V0dGVyRXhjZXB0aW9uKGVjKTsKKyAg
ICBpbnQgcmVzdWx0ID0gaW1wbCgpLT5hdHRyV2l0aFNldHRlckV4Y2VwdGlvbihlYyk7CiAgICAg
d2ViRE9NUmFpc2VFcnJvcihzdGF0aWNfY2FzdDxXZWJET01FeGNlcHRpb25Db2RlPihlYykpOwog
ICAgIHJldHVybiByZXN1bHQ7CiB9CiAKLXZvaWQgV2ViRE9NVGVzdE9iajo6c2V0QXR0cldpdGhH
ZXR0ZXJFeGNlcHRpb24oaW50IG5ld0F0dHJXaXRoR2V0dGVyRXhjZXB0aW9uKQotewotICAgIGlm
ICghaW1wbCgpKQotICAgICAgICByZXR1cm47Ci0KLSAgICBXZWJDb3JlOjpFeGNlcHRpb25Db2Rl
IGVjID0gMDsKLSAgICBpbXBsKCktPnNldEF0dHJXaXRoR2V0dGVyRXhjZXB0aW9uKG5ld0F0dHJX
aXRoR2V0dGVyRXhjZXB0aW9uLCBlYyk7Ci0gICAgd2ViRE9NUmFpc2VFcnJvcihzdGF0aWNfY2Fz
dDxXZWJET01FeGNlcHRpb25Db2RlPihlYykpOwotfQotCi1pbnQgV2ViRE9NVGVzdE9iajo6YXR0
cldpdGhTZXR0ZXJFeGNlcHRpb24oKSBjb25zdAotewotICAgIGlmICghaW1wbCgpKQotICAgICAg
ICByZXR1cm4gMDsKLQotICAgIHJldHVybiBpbXBsKCktPmF0dHJXaXRoU2V0dGVyRXhjZXB0aW9u
KCk7Ci19Ci0KIHZvaWQgV2ViRE9NVGVzdE9iajo6c2V0QXR0cldpdGhTZXR0ZXJFeGNlcHRpb24o
aW50IG5ld0F0dHJXaXRoU2V0dGVyRXhjZXB0aW9uKQogewogICAgIGlmICghaW1wbCgpKQpAQCAt
MzQxLDQyICsyMTAsMjEgQEAgdm9pZCBXZWJET01UZXN0T2JqOjpzZXRBdHRyV2l0aFNldHRlckV4
Y2VwdGlvbihpbnQgbmV3QXR0cldpdGhTZXR0ZXJFeGNlcHRpb24pCiAgICAgd2ViRE9NUmFpc2VF
cnJvcihzdGF0aWNfY2FzdDxXZWJET01FeGNlcHRpb25Db2RlPihlYykpOwogfQogCi1XZWJET01T
dHJpbmcgV2ViRE9NVGVzdE9iajo6c3RyaW5nQXR0cldpdGhHZXR0ZXJFeGNlcHRpb24oKSBjb25z
dAotewotICAgIGlmICghaW1wbCgpKQotICAgICAgICByZXR1cm4gV2ViRE9NU3RyaW5nKCk7Ci0K
LSAgICBXZWJDb3JlOjpFeGNlcHRpb25Db2RlIGVjID0gMDsKLSAgICBXZWJET01TdHJpbmcgcmVz
dWx0ID0gaW1wbCgpLT5zdHJpbmdBdHRyV2l0aEdldHRlckV4Y2VwdGlvbihlYyk7Ci0gICAgd2Vi
RE9NUmFpc2VFcnJvcihzdGF0aWNfY2FzdDxXZWJET01FeGNlcHRpb25Db2RlPihlYykpOwotICAg
IHJldHVybiBzdGF0aWNfY2FzdDxjb25zdCBXZWJDb3JlOjpTdHJpbmcmPihyZXN1bHQpOwotfQot
Ci12b2lkIFdlYkRPTVRlc3RPYmo6OnNldFN0cmluZ0F0dHJXaXRoR2V0dGVyRXhjZXB0aW9uKGNv
bnN0IFdlYkRPTVN0cmluZyYgbmV3U3RyaW5nQXR0cldpdGhHZXR0ZXJFeGNlcHRpb24pCi17Ci0g
ICAgaWYgKCFpbXBsKCkpCi0gICAgICAgIHJldHVybjsKLQotICAgIFdlYkNvcmU6OkV4Y2VwdGlv
bkNvZGUgZWMgPSAwOwotICAgIGltcGwoKS0+c2V0U3RyaW5nQXR0cldpdGhHZXR0ZXJFeGNlcHRp
b24obmV3U3RyaW5nQXR0cldpdGhHZXR0ZXJFeGNlcHRpb24sIGVjKTsKLSAgICB3ZWJET01SYWlz
ZUVycm9yKHN0YXRpY19jYXN0PFdlYkRPTUV4Y2VwdGlvbkNvZGU+KGVjKSk7Ci19Ci0KLVdlYkRP
TVN0cmluZyBXZWJET01UZXN0T2JqOjpzdHJpbmdBdHRyV2l0aFNldHRlckV4Y2VwdGlvbigpIGNv
bnN0CitpbnQgV2ViRE9NVGVzdE9iajo6YXR0cldpdGhHZXR0ZXJFeGNlcHRpb24oKSBjb25zdAog
ewogICAgIGlmICghaW1wbCgpKQotICAgICAgICByZXR1cm4gV2ViRE9NU3RyaW5nKCk7CisgICAg
ICAgIHJldHVybiAwOwogCi0gICAgcmV0dXJuIHN0YXRpY19jYXN0PGNvbnN0IFdlYkNvcmU6OlN0
cmluZyY+KGltcGwoKS0+c3RyaW5nQXR0cldpdGhTZXR0ZXJFeGNlcHRpb24oKSk7CisgICAgcmV0
dXJuIGltcGwoKS0+YXR0cldpdGhHZXR0ZXJFeGNlcHRpb24oKTsKIH0KIAotdm9pZCBXZWJET01U
ZXN0T2JqOjpzZXRTdHJpbmdBdHRyV2l0aFNldHRlckV4Y2VwdGlvbihjb25zdCBXZWJET01TdHJp
bmcmIG5ld1N0cmluZ0F0dHJXaXRoU2V0dGVyRXhjZXB0aW9uKQordm9pZCBXZWJET01UZXN0T2Jq
OjpzZXRBdHRyV2l0aEdldHRlckV4Y2VwdGlvbihpbnQgbmV3QXR0cldpdGhHZXR0ZXJFeGNlcHRp
b24pCiB7CiAgICAgaWYgKCFpbXBsKCkpCiAgICAgICAgIHJldHVybjsKIAogICAgIFdlYkNvcmU6
OkV4Y2VwdGlvbkNvZGUgZWMgPSAwOwotICAgIGltcGwoKS0+c2V0U3RyaW5nQXR0cldpdGhTZXR0
ZXJFeGNlcHRpb24obmV3U3RyaW5nQXR0cldpdGhTZXR0ZXJFeGNlcHRpb24sIGVjKTsKKyAgICBp
bXBsKCktPnNldEF0dHJXaXRoR2V0dGVyRXhjZXB0aW9uKG5ld0F0dHJXaXRoR2V0dGVyRXhjZXB0
aW9uLCBlYyk7CiAgICAgd2ViRE9NUmFpc2VFcnJvcihzdGF0aWNfY2FzdDxXZWJET01FeGNlcHRp
b25Db2RlPihlYykpOwogfQogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9DUFAvV2ViRE9NVGVzdE9iai5oIGIvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
Q1BQL1dlYkRPTVRlc3RPYmouaAppbmRleCAzM2JjN2ZiYTU5YjIzYmYwYjM5MDczMDYyMDM4YjU1
NWU4MjMwZjU3Li5jYWE0NjQ2NzQzNzA5Y2EyZDJhNjYwYjdkMDI1YTY5ZDBiM2ZiYzE0IDEwMDY0
NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9DUFAvV2ViRE9NVGVzdE9iai5o
CisrKyBiL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0NQUC9XZWJET01UZXN0T2JqLmgK
QEAgLTU0LDMwICs1NCwxMiBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRTdHJpbmdBdHRyKGNvbnN0
IFdlYkRPTVN0cmluZyYpOwogICAgIFdlYkRPTVRlc3RPYmogdGVzdE9iakF0dHIoKSBjb25zdDsK
ICAgICB2b2lkIHNldFRlc3RPYmpBdHRyKGNvbnN0IFdlYkRPTVRlc3RPYmomKTsKLSAgICBXZWJE
T01TdHJpbmcgcmVmbGVjdGVkU3RyaW5nQXR0cigpIGNvbnN0OwotICAgIHZvaWQgc2V0UmVmbGVj
dGVkU3RyaW5nQXR0cihjb25zdCBXZWJET01TdHJpbmcmKTsKLSAgICBpbnQgcmVmbGVjdGVkSW50
ZWdyYWxBdHRyKCkgY29uc3Q7Ci0gICAgdm9pZCBzZXRSZWZsZWN0ZWRJbnRlZ3JhbEF0dHIoaW50
KTsKLSAgICBib29sIHJlZmxlY3RlZEJvb2xlYW5BdHRyKCkgY29uc3Q7Ci0gICAgdm9pZCBzZXRS
ZWZsZWN0ZWRCb29sZWFuQXR0cihib29sKTsKLSAgICBXZWJET01TdHJpbmcgcmVmbGVjdGVkVVJM
QXR0cigpIGNvbnN0OwotICAgIHZvaWQgc2V0UmVmbGVjdGVkVVJMQXR0cihjb25zdCBXZWJET01T
dHJpbmcmKTsKLSAgICBXZWJET01TdHJpbmcgcmVmbGVjdGVkU3RyaW5nQXR0cigpIGNvbnN0Owot
ICAgIHZvaWQgc2V0UmVmbGVjdGVkU3RyaW5nQXR0cihjb25zdCBXZWJET01TdHJpbmcmKTsKLSAg
ICBpbnQgcmVmbGVjdGVkQ3VzdG9tSW50ZWdyYWxBdHRyKCkgY29uc3Q7Ci0gICAgdm9pZCBzZXRS
ZWZsZWN0ZWRDdXN0b21JbnRlZ3JhbEF0dHIoaW50KTsKLSAgICBib29sIHJlZmxlY3RlZEN1c3Rv
bUJvb2xlYW5BdHRyKCkgY29uc3Q7Ci0gICAgdm9pZCBzZXRSZWZsZWN0ZWRDdXN0b21Cb29sZWFu
QXR0cihib29sKTsKLSAgICBXZWJET01TdHJpbmcgcmVmbGVjdGVkVVJMQXR0cigpIGNvbnN0Owot
ICAgIHZvaWQgc2V0UmVmbGVjdGVkVVJMQXR0cihjb25zdCBXZWJET01TdHJpbmcmKTsKLSAgICBp
bnQgYXR0cldpdGhHZXR0ZXJFeGNlcHRpb24oKSBjb25zdDsKLSAgICB2b2lkIHNldEF0dHJXaXRo
R2V0dGVyRXhjZXB0aW9uKGludCk7CisgICAgaW50IGF0dHJXaXRoRXhjZXB0aW9uKCkgY29uc3Q7
CisgICAgdm9pZCBzZXRBdHRyV2l0aEV4Y2VwdGlvbihpbnQpOwogICAgIGludCBhdHRyV2l0aFNl
dHRlckV4Y2VwdGlvbigpIGNvbnN0OwogICAgIHZvaWQgc2V0QXR0cldpdGhTZXR0ZXJFeGNlcHRp
b24oaW50KTsKLSAgICBXZWJET01TdHJpbmcgc3RyaW5nQXR0cldpdGhHZXR0ZXJFeGNlcHRpb24o
KSBjb25zdDsKLSAgICB2b2lkIHNldFN0cmluZ0F0dHJXaXRoR2V0dGVyRXhjZXB0aW9uKGNvbnN0
IFdlYkRPTVN0cmluZyYpOwotICAgIFdlYkRPTVN0cmluZyBzdHJpbmdBdHRyV2l0aFNldHRlckV4
Y2VwdGlvbigpIGNvbnN0OwotICAgIHZvaWQgc2V0U3RyaW5nQXR0cldpdGhTZXR0ZXJFeGNlcHRp
b24oY29uc3QgV2ViRE9NU3RyaW5nJik7CisgICAgaW50IGF0dHJXaXRoR2V0dGVyRXhjZXB0aW9u
KCkgY29uc3Q7CisgICAgdm9pZCBzZXRBdHRyV2l0aEdldHRlckV4Y2VwdGlvbihpbnQpOwogICAg
IGludCBjdXN0b21BdHRyKCkgY29uc3Q7CiAgICAgdm9pZCBzZXRDdXN0b21BdHRyKGludCk7CiAg
ICAgV2ViRE9NU3RyaW5nIHNjcmlwdFN0cmluZ0F0dHIoKSBjb25zdDsKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdENhbGxiYWNr
LmNwcCBiL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVz
dENhbGxiYWNrLmNwcAppbmRleCA5NGY0Y2E1ZTllYmRiNTExYjA5YWVhNmQxZDZmZGYzOGM3MzEx
ZmVlLi44YjcxNDk1ZTBlMjE2ODZhNDNiMTIzOGE0MDJhZTQ1MDk4YjFjNDQyIDEwMDY0NAotLS0g
YS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RDYWxs
YmFjay5jcHAKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJL
aXRET01UZXN0Q2FsbGJhY2suY3BwCkBAIC01NywzOCArNTcsMzggQEAgZ3BvaW50ZXIga2l0KFdl
YkNvcmU6OlRlc3RDYWxsYmFjayogb2JqKQogZ2Jvb2xlYW4KIHdlYmtpdF9kb21fdGVzdF9jYWxs
YmFja19jYWxsYmFja193aXRoX2NsYXNzMXBhcmFtKFdlYktpdERPTVRlc3RDYWxsYmFjayogc2Vs
ZiwgV2ViS2l0RE9NQ2xhc3MxKiAgY2xhc3MxcGFyYW0pCiB7Ci0gICAgZ19yZXR1cm5fdmFsX2lm
X2ZhaWwoc2VsZiwgMCk7CisgICAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwgKHNlbGYsIDApOwogICAg
IFdlYkNvcmU6OlRlc3RDYWxsYmFjayAqIGl0ZW0gPSBXZWJLaXQ6OmNvcmUoc2VsZik7Ci0gICAg
Z19yZXR1cm5fdmFsX2lmX2ZhaWwoY2xhc3MxcGFyYW0sIDApOwotICAgIFdlYkNvcmU6OkNsYXNz
MSAqIGNvbnZlcnRlZF9jbGFzczFwYXJhbSA9IFdlYktpdDo6Y29yZShjbGFzczFwYXJhbSk7Ci0g
ICAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwoY29udmVydGVkX2NsYXNzMXBhcmFtLCAwKTsKLSAgICBn
Ym9vbGVhbiByZXMgPSBpdGVtLT5jYWxsYmFja1dpdGhDbGFzczFQYXJhbShjb252ZXJ0ZWRfY2xh
c3MxcGFyYW0pOworICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsIChjbGFzczFwYXJhbSwgMCk7Cisg
ICAgV2ViQ29yZTo6Q2xhc3MxICogX2dfY2xhc3MxcGFyYW0gPSBXZWJLaXQ6OmNvcmUoY2xhc3Mx
cGFyYW0pOworICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsIChfZ19jbGFzczFwYXJhbSwgMCk7Cisg
ICAgZ2Jvb2xlYW4gcmVzID0gaXRlbS0+Y2FsbGJhY2tXaXRoQ2xhc3MxUGFyYW0oX2dfY2xhc3Mx
cGFyYW0pOwogICAgIHJldHVybiByZXM7CiB9CiAKIGdib29sZWFuCiB3ZWJraXRfZG9tX3Rlc3Rf
Y2FsbGJhY2tfY2FsbGJhY2tfd2l0aF9jbGFzczJwYXJhbShXZWJLaXRET01UZXN0Q2FsbGJhY2sq
IHNlbGYsIFdlYktpdERPTUNsYXNzMiogIGNsYXNzMnBhcmFtLCBnY2hhciogIHN0cl9hcmcpCiB7
Ci0gICAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwoc2VsZiwgMCk7CisgICAgZ19yZXR1cm5fdmFsX2lm
X2ZhaWwgKHNlbGYsIDApOwogICAgIFdlYkNvcmU6OlRlc3RDYWxsYmFjayAqIGl0ZW0gPSBXZWJL
aXQ6OmNvcmUoc2VsZik7Ci0gICAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwoY2xhc3MycGFyYW0sIDAp
OwotICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKHN0cl9hcmcsIDApOwotICAgIFdlYkNvcmU6OkNs
YXNzMiAqIGNvbnZlcnRlZF9jbGFzczJwYXJhbSA9IFdlYktpdDo6Y29yZShjbGFzczJwYXJhbSk7
Ci0gICAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwoY29udmVydGVkX2NsYXNzMnBhcmFtLCAwKTsKLSAg
ICBXZWJDb3JlOjpTdHJpbmcgY29udmVydGVkX3N0cl9hcmcgPSBXZWJDb3JlOjpTdHJpbmc6OmZy
b21VVEY4KHN0cl9hcmcpOwotICAgIGdib29sZWFuIHJlcyA9IGl0ZW0tPmNhbGxiYWNrV2l0aENs
YXNzMlBhcmFtKGNvbnZlcnRlZF9jbGFzczJwYXJhbSwgY29udmVydGVkX3N0cl9hcmcpOworICAg
IGdfcmV0dXJuX3ZhbF9pZl9mYWlsIChjbGFzczJwYXJhbSwgMCk7CisgICAgZ19yZXR1cm5fdmFs
X2lmX2ZhaWwgKHN0cl9hcmcsIDApOworICAgIFdlYkNvcmU6OkNsYXNzMiAqIF9nX2NsYXNzMnBh
cmFtID0gV2ViS2l0Ojpjb3JlKGNsYXNzMnBhcmFtKTsKKyAgICBnX3JldHVybl92YWxfaWZfZmFp
bCAoX2dfY2xhc3MycGFyYW0sIDApOworICAgIFdlYkNvcmU6OlN0cmluZyBfZ19zdHJfYXJnID0g
V2ViQ29yZTo6U3RyaW5nOjpmcm9tVVRGOChzdHJfYXJnKTsKKyAgICBnYm9vbGVhbiByZXMgPSBp
dGVtLT5jYWxsYmFja1dpdGhDbGFzczJQYXJhbShfZ19jbGFzczJwYXJhbSwgX2dfc3RyX2FyZyk7
CiAgICAgcmV0dXJuIHJlczsKIH0KIAogZ2xvbmcKIHdlYmtpdF9kb21fdGVzdF9jYWxsYmFja19j
YWxsYmFja193aXRoX25vbl9ib29sX3JldHVybl90eXBlKFdlYktpdERPTVRlc3RDYWxsYmFjayog
c2VsZiwgV2ViS2l0RE9NQ2xhc3MzKiAgY2xhc3MzcGFyYW0pCiB7Ci0gICAgZ19yZXR1cm5fdmFs
X2lmX2ZhaWwoc2VsZiwgMCk7CisgICAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwgKHNlbGYsIDApOwog
ICAgIFdlYkNvcmU6OlRlc3RDYWxsYmFjayAqIGl0ZW0gPSBXZWJLaXQ6OmNvcmUoc2VsZik7Ci0g
ICAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwoY2xhc3MzcGFyYW0sIDApOwotICAgIFdlYkNvcmU6OkNs
YXNzMyAqIGNvbnZlcnRlZF9jbGFzczNwYXJhbSA9IFdlYktpdDo6Y29yZShjbGFzczNwYXJhbSk7
Ci0gICAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwoY29udmVydGVkX2NsYXNzM3BhcmFtLCAwKTsKLSAg
ICBnbG9uZyByZXMgPSBpdGVtLT5jYWxsYmFja1dpdGhOb25Cb29sUmV0dXJuVHlwZShjb252ZXJ0
ZWRfY2xhc3MzcGFyYW0pOworICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsIChjbGFzczNwYXJhbSwg
MCk7CisgICAgV2ViQ29yZTo6Q2xhc3MzICogX2dfY2xhc3MzcGFyYW0gPSBXZWJLaXQ6OmNvcmUo
Y2xhc3MzcGFyYW0pOworICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsIChfZ19jbGFzczNwYXJhbSwg
MCk7CisgICAgZ2xvbmcgcmVzID0gaXRlbS0+Y2FsbGJhY2tXaXRoTm9uQm9vbFJldHVyblR5cGUo
X2dfY2xhc3MzcGFyYW0pOwogICAgIHJldHVybiByZXM7CiB9CiAKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdE9iai5jcHAgYi9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RPYmouY3Bw
CmluZGV4IDE3ZWUyNjFlNDNmYTQ5OWExMWU0MzJjYWViMDBjYmUxYTk0ODdjNGIuLjk1ZjkxNzAw
YjBmNjFmOTljMWYyZDMwZDZjODQ0ZmY1YTljYzBjNDggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdE9iai5jcHAKKysrIGIvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01UZXN0T2JqLmNwcApA
QCAtMjQsNyArMjQsNiBAQAogI2luY2x1ZGUgPHd0Zi9HZXRQdHIuaD4KICNpbmNsdWRlIDx3dGYv
UmVmUHRyLmg+CiAjaW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5oIgotI2luY2x1ZGUgIkhUTUxOYW1l
cy5oIgogI2luY2x1ZGUgIlRlc3RPYmouaCIKICNpbmNsdWRlICJXZWJLaXRET01CaW5kaW5nLmgi
CiAjaW5jbHVkZSAiZ29iamVjdC9Db252ZXJ0VG9VVEY4U3RyaW5nLmgiCkBAIC01Miw3ICs1MSw3
IEBAIGdwb2ludGVyIGtpdChXZWJDb3JlOjpUZXN0T2JqKiBvYmopCiB2b2lkCiB3ZWJraXRfZG9t
X3Rlc3Rfb2JqX3ZvaWRfbWV0aG9kKFdlYktpdERPTVRlc3RPYmoqIHNlbGYpCiB7Ci0gICAgZ19y
ZXR1cm5faWZfZmFpbChzZWxmKTsKKyAgICBnX3JldHVybl9pZl9mYWlsIChzZWxmKTsKICAgICBX
ZWJDb3JlOjpUZXN0T2JqICogaXRlbSA9IFdlYktpdDo6Y29yZShzZWxmKTsKICAgICBpdGVtLT52
b2lkTWV0aG9kKCk7CiB9CkBAIC02MCwyMCArNTksMjAgQEAgd2Via2l0X2RvbV90ZXN0X29ial92
b2lkX21ldGhvZChXZWJLaXRET01UZXN0T2JqKiBzZWxmKQogdm9pZAogd2Via2l0X2RvbV90ZXN0
X29ial92b2lkX21ldGhvZF93aXRoX2FyZ3MoV2ViS2l0RE9NVGVzdE9iaiogc2VsZiwgZ2xvbmcg
aW50X2FyZywgZ2NoYXIqICBzdHJfYXJnLCBXZWJLaXRET01UZXN0T2JqKiAgb2JqX2FyZykKIHsK
LSAgICBnX3JldHVybl9pZl9mYWlsKHNlbGYpOworICAgIGdfcmV0dXJuX2lmX2ZhaWwgKHNlbGYp
OwogICAgIFdlYkNvcmU6OlRlc3RPYmogKiBpdGVtID0gV2ViS2l0Ojpjb3JlKHNlbGYpOwotICAg
IGdfcmV0dXJuX2lmX2ZhaWwoc3RyX2FyZyk7Ci0gICAgZ19yZXR1cm5faWZfZmFpbChvYmpfYXJn
KTsKLSAgICBXZWJDb3JlOjpTdHJpbmcgY29udmVydGVkX3N0cl9hcmcgPSBXZWJDb3JlOjpTdHJp
bmc6OmZyb21VVEY4KHN0cl9hcmcpOwotICAgIFdlYkNvcmU6OlRlc3RPYmogKiBjb252ZXJ0ZWRf
b2JqX2FyZyA9IFdlYktpdDo6Y29yZShvYmpfYXJnKTsKLSAgICBnX3JldHVybl9pZl9mYWlsKGNv
bnZlcnRlZF9vYmpfYXJnKTsKLSAgICBpdGVtLT52b2lkTWV0aG9kV2l0aEFyZ3MoaW50X2FyZywg
Y29udmVydGVkX3N0cl9hcmcsIGNvbnZlcnRlZF9vYmpfYXJnKTsKKyAgICBnX3JldHVybl9pZl9m
YWlsIChzdHJfYXJnKTsKKyAgICBnX3JldHVybl9pZl9mYWlsIChvYmpfYXJnKTsKKyAgICBXZWJD
b3JlOjpTdHJpbmcgX2dfc3RyX2FyZyA9IFdlYkNvcmU6OlN0cmluZzo6ZnJvbVVURjgoc3RyX2Fy
Zyk7CisgICAgV2ViQ29yZTo6VGVzdE9iaiAqIF9nX29ial9hcmcgPSBXZWJLaXQ6OmNvcmUob2Jq
X2FyZyk7CisgICAgZ19yZXR1cm5faWZfZmFpbCAoX2dfb2JqX2FyZyk7CisgICAgaXRlbS0+dm9p
ZE1ldGhvZFdpdGhBcmdzKGludF9hcmcsIF9nX3N0cl9hcmcsIF9nX29ial9hcmcpOwogfQogCiBn
bG9uZwogd2Via2l0X2RvbV90ZXN0X29ial9pbnRfbWV0aG9kKFdlYktpdERPTVRlc3RPYmoqIHNl
bGYpCiB7Ci0gICAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwoc2VsZiwgMCk7CisgICAgZ19yZXR1cm5f
dmFsX2lmX2ZhaWwgKHNlbGYsIDApOwogICAgIFdlYkNvcmU6OlRlc3RPYmogKiBpdGVtID0gV2Vi
S2l0Ojpjb3JlKHNlbGYpOwogICAgIGdsb25nIHJlcyA9IGl0ZW0tPmludE1ldGhvZCgpOwogICAg
IHJldHVybiByZXM7CkBAIC04MiwyMSArODEsMjEgQEAgd2Via2l0X2RvbV90ZXN0X29ial9pbnRf
bWV0aG9kKFdlYktpdERPTVRlc3RPYmoqIHNlbGYpCiBnbG9uZwogd2Via2l0X2RvbV90ZXN0X29i
al9pbnRfbWV0aG9kX3dpdGhfYXJncyhXZWJLaXRET01UZXN0T2JqKiBzZWxmLCBnbG9uZyBpbnRf
YXJnLCBnY2hhciogIHN0cl9hcmcsIFdlYktpdERPTVRlc3RPYmoqICBvYmpfYXJnKQogewotICAg
IGdfcmV0dXJuX3ZhbF9pZl9mYWlsKHNlbGYsIDApOworICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWls
IChzZWxmLCAwKTsKICAgICBXZWJDb3JlOjpUZXN0T2JqICogaXRlbSA9IFdlYktpdDo6Y29yZShz
ZWxmKTsKLSAgICBnX3JldHVybl92YWxfaWZfZmFpbChzdHJfYXJnLCAwKTsKLSAgICBnX3JldHVy
bl92YWxfaWZfZmFpbChvYmpfYXJnLCAwKTsKLSAgICBXZWJDb3JlOjpTdHJpbmcgY29udmVydGVk
X3N0cl9hcmcgPSBXZWJDb3JlOjpTdHJpbmc6OmZyb21VVEY4KHN0cl9hcmcpOwotICAgIFdlYkNv
cmU6OlRlc3RPYmogKiBjb252ZXJ0ZWRfb2JqX2FyZyA9IFdlYktpdDo6Y29yZShvYmpfYXJnKTsK
LSAgICBnX3JldHVybl92YWxfaWZfZmFpbChjb252ZXJ0ZWRfb2JqX2FyZywgMCk7Ci0gICAgZ2xv
bmcgcmVzID0gaXRlbS0+aW50TWV0aG9kV2l0aEFyZ3MoaW50X2FyZywgY29udmVydGVkX3N0cl9h
cmcsIGNvbnZlcnRlZF9vYmpfYXJnKTsKKyAgICBnX3JldHVybl92YWxfaWZfZmFpbCAoc3RyX2Fy
ZywgMCk7CisgICAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwgKG9ial9hcmcsIDApOworICAgIFdlYkNv
cmU6OlN0cmluZyBfZ19zdHJfYXJnID0gV2ViQ29yZTo6U3RyaW5nOjpmcm9tVVRGOChzdHJfYXJn
KTsKKyAgICBXZWJDb3JlOjpUZXN0T2JqICogX2dfb2JqX2FyZyA9IFdlYktpdDo6Y29yZShvYmpf
YXJnKTsKKyAgICBnX3JldHVybl92YWxfaWZfZmFpbCAoX2dfb2JqX2FyZywgMCk7CisgICAgZ2xv
bmcgcmVzID0gaXRlbS0+aW50TWV0aG9kV2l0aEFyZ3MoaW50X2FyZywgX2dfc3RyX2FyZywgX2df
b2JqX2FyZyk7CiAgICAgcmV0dXJuIHJlczsKIH0KIAogV2ViS2l0RE9NVGVzdE9iaiogCiB3ZWJr
aXRfZG9tX3Rlc3Rfb2JqX29ial9tZXRob2QoV2ViS2l0RE9NVGVzdE9iaiogc2VsZikKIHsKLSAg
ICBnX3JldHVybl92YWxfaWZfZmFpbChzZWxmLCAwKTsKKyAgICBnX3JldHVybl92YWxfaWZfZmFp
bCAoc2VsZiwgMCk7CiAgICAgV2ViQ29yZTo6VGVzdE9iaiAqIGl0ZW0gPSBXZWJLaXQ6OmNvcmUo
c2VsZik7CiAgICAgUGFzc1JlZlB0cjxXZWJDb3JlOjpUZXN0T2JqPiBnX3JlcyA9IFdURjo6Z2V0
UHRyKGl0ZW0tPm9iak1ldGhvZCgpKTsKICAgICBXZWJLaXRET01UZXN0T2JqKiAgcmVzID0gc3Rh
dGljX2Nhc3Q8V2ViS2l0RE9NVGVzdE9iaiogPihXZWJLaXQ6OmtpdChnX3Jlcy5nZXQoKSkpOwpA
QCAtMTA2LDE0ICsxMDUsMTQgQEAgd2Via2l0X2RvbV90ZXN0X29ial9vYmpfbWV0aG9kKFdlYktp
dERPTVRlc3RPYmoqIHNlbGYpCiBXZWJLaXRET01UZXN0T2JqKiAKIHdlYmtpdF9kb21fdGVzdF9v
Ympfb2JqX21ldGhvZF93aXRoX2FyZ3MoV2ViS2l0RE9NVGVzdE9iaiogc2VsZiwgZ2xvbmcgaW50
X2FyZywgZ2NoYXIqICBzdHJfYXJnLCBXZWJLaXRET01UZXN0T2JqKiAgb2JqX2FyZykKIHsKLSAg
ICBnX3JldHVybl92YWxfaWZfZmFpbChzZWxmLCAwKTsKKyAgICBnX3JldHVybl92YWxfaWZfZmFp
bCAoc2VsZiwgMCk7CiAgICAgV2ViQ29yZTo6VGVzdE9iaiAqIGl0ZW0gPSBXZWJLaXQ6OmNvcmUo
c2VsZik7Ci0gICAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwoc3RyX2FyZywgMCk7Ci0gICAgZ19yZXR1
cm5fdmFsX2lmX2ZhaWwob2JqX2FyZywgMCk7Ci0gICAgV2ViQ29yZTo6U3RyaW5nIGNvbnZlcnRl
ZF9zdHJfYXJnID0gV2ViQ29yZTo6U3RyaW5nOjpmcm9tVVRGOChzdHJfYXJnKTsKLSAgICBXZWJD
b3JlOjpUZXN0T2JqICogY29udmVydGVkX29ial9hcmcgPSBXZWJLaXQ6OmNvcmUob2JqX2FyZyk7
Ci0gICAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwoY29udmVydGVkX29ial9hcmcsIDApOwotICAgIFBh
c3NSZWZQdHI8V2ViQ29yZTo6VGVzdE9iaj4gZ19yZXMgPSBXVEY6OmdldFB0cihpdGVtLT5vYmpN
ZXRob2RXaXRoQXJncyhpbnRfYXJnLCBjb252ZXJ0ZWRfc3RyX2FyZywgY29udmVydGVkX29ial9h
cmcpKTsKKyAgICBnX3JldHVybl92YWxfaWZfZmFpbCAoc3RyX2FyZywgMCk7CisgICAgZ19yZXR1
cm5fdmFsX2lmX2ZhaWwgKG9ial9hcmcsIDApOworICAgIFdlYkNvcmU6OlN0cmluZyBfZ19zdHJf
YXJnID0gV2ViQ29yZTo6U3RyaW5nOjpmcm9tVVRGOChzdHJfYXJnKTsKKyAgICBXZWJDb3JlOjpU
ZXN0T2JqICogX2dfb2JqX2FyZyA9IFdlYktpdDo6Y29yZShvYmpfYXJnKTsKKyAgICBnX3JldHVy
bl92YWxfaWZfZmFpbCAoX2dfb2JqX2FyZywgMCk7CisgICAgUGFzc1JlZlB0cjxXZWJDb3JlOjpU
ZXN0T2JqPiBnX3JlcyA9IFdURjo6Z2V0UHRyKGl0ZW0tPm9iak1ldGhvZFdpdGhBcmdzKGludF9h
cmcsIF9nX3N0cl9hcmcsIF9nX29ial9hcmcpKTsKICAgICBXZWJLaXRET01UZXN0T2JqKiAgcmVz
ID0gc3RhdGljX2Nhc3Q8V2ViS2l0RE9NVGVzdE9iaiogPihXZWJLaXQ6OmtpdChnX3Jlcy5nZXQo
KSkpOwogICAgIHJldHVybiByZXM7CiB9CkBAIC0xMjEsMTQgKzEyMCwxNCBAQCB3ZWJraXRfZG9t
X3Rlc3Rfb2JqX29ial9tZXRob2Rfd2l0aF9hcmdzKFdlYktpdERPTVRlc3RPYmoqIHNlbGYsIGds
b25nIGludF9hcmcsCiBXZWJLaXRET01UZXN0T2JqKiAKIHdlYmtpdF9kb21fdGVzdF9vYmpfbWV0
aG9kX3RoYXRfcmVxdWlyZXNfYWxsX2FyZ3MoV2ViS2l0RE9NVGVzdE9iaiogc2VsZiwgZ2NoYXIq
ICBzdHJfYXJnLCBXZWJLaXRET01UZXN0T2JqKiAgb2JqX2FyZykKIHsKLSAgICBnX3JldHVybl92
YWxfaWZfZmFpbChzZWxmLCAwKTsKKyAgICBnX3JldHVybl92YWxfaWZfZmFpbCAoc2VsZiwgMCk7
CiAgICAgV2ViQ29yZTo6VGVzdE9iaiAqIGl0ZW0gPSBXZWJLaXQ6OmNvcmUoc2VsZik7Ci0gICAg
Z19yZXR1cm5fdmFsX2lmX2ZhaWwoc3RyX2FyZywgMCk7Ci0gICAgZ19yZXR1cm5fdmFsX2lmX2Zh
aWwob2JqX2FyZywgMCk7Ci0gICAgV2ViQ29yZTo6U3RyaW5nIGNvbnZlcnRlZF9zdHJfYXJnID0g
V2ViQ29yZTo6U3RyaW5nOjpmcm9tVVRGOChzdHJfYXJnKTsKLSAgICBXZWJDb3JlOjpUZXN0T2Jq
ICogY29udmVydGVkX29ial9hcmcgPSBXZWJLaXQ6OmNvcmUob2JqX2FyZyk7Ci0gICAgZ19yZXR1
cm5fdmFsX2lmX2ZhaWwoY29udmVydGVkX29ial9hcmcsIDApOwotICAgIFBhc3NSZWZQdHI8V2Vi
Q29yZTo6VGVzdE9iaj4gZ19yZXMgPSBXVEY6OmdldFB0cihpdGVtLT5tZXRob2RUaGF0UmVxdWly
ZXNBbGxBcmdzKGNvbnZlcnRlZF9zdHJfYXJnLCBjb252ZXJ0ZWRfb2JqX2FyZykpOworICAgIGdf
cmV0dXJuX3ZhbF9pZl9mYWlsIChzdHJfYXJnLCAwKTsKKyAgICBnX3JldHVybl92YWxfaWZfZmFp
bCAob2JqX2FyZywgMCk7CisgICAgV2ViQ29yZTo6U3RyaW5nIF9nX3N0cl9hcmcgPSBXZWJDb3Jl
OjpTdHJpbmc6OmZyb21VVEY4KHN0cl9hcmcpOworICAgIFdlYkNvcmU6OlRlc3RPYmogKiBfZ19v
YmpfYXJnID0gV2ViS2l0Ojpjb3JlKG9ial9hcmcpOworICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWls
IChfZ19vYmpfYXJnLCAwKTsKKyAgICBQYXNzUmVmUHRyPFdlYkNvcmU6OlRlc3RPYmo+IGdfcmVz
ID0gV1RGOjpnZXRQdHIoaXRlbS0+bWV0aG9kVGhhdFJlcXVpcmVzQWxsQXJncyhfZ19zdHJfYXJn
LCBfZ19vYmpfYXJnKSk7CiAgICAgV2ViS2l0RE9NVGVzdE9iaiogIHJlcyA9IHN0YXRpY19jYXN0
PFdlYktpdERPTVRlc3RPYmoqID4oV2ViS2l0OjpraXQoZ19yZXMuZ2V0KCkpKTsKICAgICByZXR1
cm4gcmVzOwogfQpAQCAtMTM2LDE1ICsxMzUsMTUgQEAgd2Via2l0X2RvbV90ZXN0X29ial9tZXRo
b2RfdGhhdF9yZXF1aXJlc19hbGxfYXJncyhXZWJLaXRET01UZXN0T2JqKiBzZWxmLCBnY2hhcioK
IFdlYktpdERPTVRlc3RPYmoqIAogd2Via2l0X2RvbV90ZXN0X29ial9tZXRob2RfdGhhdF9yZXF1
aXJlc19hbGxfYXJnc19hbmRfdGhyb3dzKFdlYktpdERPTVRlc3RPYmoqIHNlbGYsIGdjaGFyKiAg
c3RyX2FyZywgV2ViS2l0RE9NVGVzdE9iaiogIG9ial9hcmcsIEdFcnJvciAqKmVycm9yKQogewot
ICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKHNlbGYsIDApOworICAgIGdfcmV0dXJuX3ZhbF9pZl9m
YWlsIChzZWxmLCAwKTsKICAgICBXZWJDb3JlOjpUZXN0T2JqICogaXRlbSA9IFdlYktpdDo6Y29y
ZShzZWxmKTsKLSAgICBnX3JldHVybl92YWxfaWZfZmFpbChzdHJfYXJnLCAwKTsKLSAgICBnX3Jl
dHVybl92YWxfaWZfZmFpbChvYmpfYXJnLCAwKTsKLSAgICBXZWJDb3JlOjpTdHJpbmcgY29udmVy
dGVkX3N0cl9hcmcgPSBXZWJDb3JlOjpTdHJpbmc6OmZyb21VVEY4KHN0cl9hcmcpOwotICAgIFdl
YkNvcmU6OlRlc3RPYmogKiBjb252ZXJ0ZWRfb2JqX2FyZyA9IFdlYktpdDo6Y29yZShvYmpfYXJn
KTsKLSAgICBnX3JldHVybl92YWxfaWZfZmFpbChjb252ZXJ0ZWRfb2JqX2FyZywgMCk7CisgICAg
Z19yZXR1cm5fdmFsX2lmX2ZhaWwgKHN0cl9hcmcsIDApOworICAgIGdfcmV0dXJuX3ZhbF9pZl9m
YWlsIChvYmpfYXJnLCAwKTsKKyAgICBXZWJDb3JlOjpTdHJpbmcgX2dfc3RyX2FyZyA9IFdlYkNv
cmU6OlN0cmluZzo6ZnJvbVVURjgoc3RyX2FyZyk7CisgICAgV2ViQ29yZTo6VGVzdE9iaiAqIF9n
X29ial9hcmcgPSBXZWJLaXQ6OmNvcmUob2JqX2FyZyk7CisgICAgZ19yZXR1cm5fdmFsX2lmX2Zh
aWwgKF9nX29ial9hcmcsIDApOwogICAgIFdlYkNvcmU6OkV4Y2VwdGlvbkNvZGUgZWMgPSAwOwot
ICAgIFBhc3NSZWZQdHI8V2ViQ29yZTo6VGVzdE9iaj4gZ19yZXMgPSBXVEY6OmdldFB0cihpdGVt
LT5tZXRob2RUaGF0UmVxdWlyZXNBbGxBcmdzQW5kVGhyb3dzKGNvbnZlcnRlZF9zdHJfYXJnLCBj
b252ZXJ0ZWRfb2JqX2FyZywgZWMpKTsKKyAgICBQYXNzUmVmUHRyPFdlYkNvcmU6OlRlc3RPYmo+
IGdfcmVzID0gV1RGOjpnZXRQdHIoaXRlbS0+bWV0aG9kVGhhdFJlcXVpcmVzQWxsQXJnc0FuZFRo
cm93cyhfZ19zdHJfYXJnLCBfZ19vYmpfYXJnLCBlYykpOwogICAgIGlmIChlYykgewogICAgICAg
ICBXZWJDb3JlOjpFeGNlcHRpb25Db2RlRGVzY3JpcHRpb24gZWNkZXNjOwogICAgICAgICBXZWJD
b3JlOjpnZXRFeGNlcHRpb25Db2RlRGVzY3JpcHRpb24oZWMsIGVjZGVzYyk7CkBAIC0xNTcsMTgg
KzE1NiwxOCBAQCB3ZWJraXRfZG9tX3Rlc3Rfb2JqX21ldGhvZF90aGF0X3JlcXVpcmVzX2FsbF9h
cmdzX2FuZF90aHJvd3MoV2ViS2l0RE9NVGVzdE9iaiogcwogdm9pZAogd2Via2l0X2RvbV90ZXN0
X29ial9zZXJpYWxpemVkX3ZhbHVlKFdlYktpdERPTVRlc3RPYmoqIHNlbGYsIFdlYktpdERPTVNl
cmlhbGl6ZWRTY3JpcHRWYWx1ZSogIHNlcmlhbGl6ZWRfYXJnKQogewotICAgIGdfcmV0dXJuX2lm
X2ZhaWwoc2VsZik7CisgICAgZ19yZXR1cm5faWZfZmFpbCAoc2VsZik7CiAgICAgV2ViQ29yZTo6
VGVzdE9iaiAqIGl0ZW0gPSBXZWJLaXQ6OmNvcmUoc2VsZik7Ci0gICAgZ19yZXR1cm5faWZfZmFp
bChzZXJpYWxpemVkX2FyZyk7Ci0gICAgV2ViQ29yZTo6U2VyaWFsaXplZFNjcmlwdFZhbHVlICog
Y29udmVydGVkX3NlcmlhbGl6ZWRfYXJnID0gV2ViS2l0Ojpjb3JlKHNlcmlhbGl6ZWRfYXJnKTsK
LSAgICBnX3JldHVybl9pZl9mYWlsKGNvbnZlcnRlZF9zZXJpYWxpemVkX2FyZyk7Ci0gICAgaXRl
bS0+c2VyaWFsaXplZFZhbHVlKGNvbnZlcnRlZF9zZXJpYWxpemVkX2FyZyk7CisgICAgZ19yZXR1
cm5faWZfZmFpbCAoc2VyaWFsaXplZF9hcmcpOworICAgIFdlYkNvcmU6OlNlcmlhbGl6ZWRTY3Jp
cHRWYWx1ZSAqIF9nX3NlcmlhbGl6ZWRfYXJnID0gV2ViS2l0Ojpjb3JlKHNlcmlhbGl6ZWRfYXJn
KTsKKyAgICBnX3JldHVybl9pZl9mYWlsIChfZ19zZXJpYWxpemVkX2FyZyk7CisgICAgaXRlbS0+
c2VyaWFsaXplZFZhbHVlKF9nX3NlcmlhbGl6ZWRfYXJnKTsKIH0KIAogdm9pZAogd2Via2l0X2Rv
bV90ZXN0X29ial9tZXRob2Rfd2l0aF9leGNlcHRpb24oV2ViS2l0RE9NVGVzdE9iaiogc2VsZiwg
R0Vycm9yICoqZXJyb3IpCiB7Ci0gICAgZ19yZXR1cm5faWZfZmFpbChzZWxmKTsKKyAgICBnX3Jl
dHVybl9pZl9mYWlsIChzZWxmKTsKICAgICBXZWJDb3JlOjpUZXN0T2JqICogaXRlbSA9IFdlYktp
dDo6Y29yZShzZWxmKTsKICAgICBXZWJDb3JlOjpFeGNlcHRpb25Db2RlIGVjID0gMDsKICAgICBp
dGVtLT5tZXRob2RXaXRoRXhjZXB0aW9uKGVjKTsKQEAgLTE4OCw3ICsxODcsNyBAQCB3ZWJraXRf
ZG9tX3Rlc3Rfb2JqX21ldGhvZF93aXRoX2V4Y2VwdGlvbihXZWJLaXRET01UZXN0T2JqKiBzZWxm
LCBHRXJyb3IgKiplcnJvcgogdm9pZAogd2Via2l0X2RvbV90ZXN0X29ial93aXRoX2R5bmFtaWNf
ZnJhbWUoV2ViS2l0RE9NVGVzdE9iaiogc2VsZikKIHsKLSAgICBnX3JldHVybl9pZl9mYWlsKHNl
bGYpOworICAgIGdfcmV0dXJuX2lmX2ZhaWwgKHNlbGYpOwogICAgIFdlYkNvcmU6OlRlc3RPYmog
KiBpdGVtID0gV2ViS2l0Ojpjb3JlKHNlbGYpOwogICAgIGl0ZW0tPndpdGhEeW5hbWljRnJhbWUo
KTsKIH0KQEAgLTE5Niw3ICsxOTUsNyBAQCB3ZWJraXRfZG9tX3Rlc3Rfb2JqX3dpdGhfZHluYW1p
Y19mcmFtZShXZWJLaXRET01UZXN0T2JqKiBzZWxmKQogdm9pZAogd2Via2l0X2RvbV90ZXN0X29i
al93aXRoX2R5bmFtaWNfZnJhbWVfYW5kX2FyZyhXZWJLaXRET01UZXN0T2JqKiBzZWxmLCBnbG9u
ZyBpbnRfYXJnKQogewotICAgIGdfcmV0dXJuX2lmX2ZhaWwoc2VsZik7CisgICAgZ19yZXR1cm5f
aWZfZmFpbCAoc2VsZik7CiAgICAgV2ViQ29yZTo6VGVzdE9iaiAqIGl0ZW0gPSBXZWJLaXQ6OmNv
cmUoc2VsZik7CiAgICAgaXRlbS0+d2l0aER5bmFtaWNGcmFtZUFuZEFyZyhpbnRfYXJnKTsKIH0K
QEAgLTIwNCw3ICsyMDMsNyBAQCB3ZWJraXRfZG9tX3Rlc3Rfb2JqX3dpdGhfZHluYW1pY19mcmFt
ZV9hbmRfYXJnKFdlYktpdERPTVRlc3RPYmoqIHNlbGYsIGdsb25nIGludAogdm9pZAogd2Via2l0
X2RvbV90ZXN0X29ial93aXRoX2R5bmFtaWNfZnJhbWVfYW5kX29wdGlvbmFsX2FyZyhXZWJLaXRE
T01UZXN0T2JqKiBzZWxmLCBnbG9uZyBpbnRfYXJnLCBnbG9uZyBvcHRpb25hbF9hcmcpCiB7Ci0g
ICAgZ19yZXR1cm5faWZfZmFpbChzZWxmKTsKKyAgICBnX3JldHVybl9pZl9mYWlsIChzZWxmKTsK
ICAgICBXZWJDb3JlOjpUZXN0T2JqICogaXRlbSA9IFdlYktpdDo6Y29yZShzZWxmKTsKICAgICBp
dGVtLT53aXRoRHluYW1pY0ZyYW1lQW5kT3B0aW9uYWxBcmcoaW50X2FyZywgb3B0aW9uYWxfYXJn
KTsKIH0KQEAgLTIxMiw3ICsyMTEsNyBAQCB3ZWJraXRfZG9tX3Rlc3Rfb2JqX3dpdGhfZHluYW1p
Y19mcmFtZV9hbmRfb3B0aW9uYWxfYXJnKFdlYktpdERPTVRlc3RPYmoqIHNlbGYsCiB2b2lkCiB3
ZWJraXRfZG9tX3Rlc3Rfb2JqX3dpdGhfZHluYW1pY19mcmFtZV9hbmRfdXNlcl9nZXN0dXJlKFdl
YktpdERPTVRlc3RPYmoqIHNlbGYsIGdsb25nIGludF9hcmcpCiB7Ci0gICAgZ19yZXR1cm5faWZf
ZmFpbChzZWxmKTsKKyAgICBnX3JldHVybl9pZl9mYWlsIChzZWxmKTsKICAgICBXZWJDb3JlOjpU
ZXN0T2JqICogaXRlbSA9IFdlYktpdDo6Y29yZShzZWxmKTsKICAgICBpdGVtLT53aXRoRHluYW1p
Y0ZyYW1lQW5kVXNlckdlc3R1cmUoaW50X2FyZyk7CiB9CkBAIC0yMjAsNyArMjE5LDcgQEAgd2Vi
a2l0X2RvbV90ZXN0X29ial93aXRoX2R5bmFtaWNfZnJhbWVfYW5kX3VzZXJfZ2VzdHVyZShXZWJL
aXRET01UZXN0T2JqKiBzZWxmLAogdm9pZAogd2Via2l0X2RvbV90ZXN0X29ial93aXRoX2R5bmFt
aWNfZnJhbWVfYW5kX3VzZXJfZ2VzdHVyZV9hc2FkKFdlYktpdERPTVRlc3RPYmoqIHNlbGYsIGds
b25nIGludF9hcmcsIGdsb25nIG9wdGlvbmFsX2FyZykKIHsKLSAgICBnX3JldHVybl9pZl9mYWls
KHNlbGYpOworICAgIGdfcmV0dXJuX2lmX2ZhaWwgKHNlbGYpOwogICAgIFdlYkNvcmU6OlRlc3RP
YmogKiBpdGVtID0gV2ViS2l0Ojpjb3JlKHNlbGYpOwogICAgIGl0ZW0tPndpdGhEeW5hbWljRnJh
bWVBbmRVc2VyR2VzdHVyZUFTQUQoaW50X2FyZywgb3B0aW9uYWxfYXJnKTsKIH0KQEAgLTIyOCw3
ICsyMjcsNyBAQCB3ZWJraXRfZG9tX3Rlc3Rfb2JqX3dpdGhfZHluYW1pY19mcmFtZV9hbmRfdXNl
cl9nZXN0dXJlX2FzYWQoV2ViS2l0RE9NVGVzdE9iaiogcwogdm9pZAogd2Via2l0X2RvbV90ZXN0
X29ial93aXRoX3NjcmlwdF9zdGF0ZV92b2lkKFdlYktpdERPTVRlc3RPYmoqIHNlbGYpCiB7Ci0g
ICAgZ19yZXR1cm5faWZfZmFpbChzZWxmKTsKKyAgICBnX3JldHVybl9pZl9mYWlsIChzZWxmKTsK
ICAgICBXZWJDb3JlOjpUZXN0T2JqICogaXRlbSA9IFdlYktpdDo6Y29yZShzZWxmKTsKICAgICBp
dGVtLT53aXRoU2NyaXB0U3RhdGVWb2lkKCk7CiB9CkBAIC0yMzYsNyArMjM1LDcgQEAgd2Via2l0
X2RvbV90ZXN0X29ial93aXRoX3NjcmlwdF9zdGF0ZV92b2lkKFdlYktpdERPTVRlc3RPYmoqIHNl
bGYpCiBXZWJLaXRET01UZXN0T2JqKiAKIHdlYmtpdF9kb21fdGVzdF9vYmpfd2l0aF9zY3JpcHRf
c3RhdGVfb2JqKFdlYktpdERPTVRlc3RPYmoqIHNlbGYpCiB7Ci0gICAgZ19yZXR1cm5fdmFsX2lm
X2ZhaWwoc2VsZiwgMCk7CisgICAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwgKHNlbGYsIDApOwogICAg
IFdlYkNvcmU6OlRlc3RPYmogKiBpdGVtID0gV2ViS2l0Ojpjb3JlKHNlbGYpOwogICAgIFBhc3NS
ZWZQdHI8V2ViQ29yZTo6VGVzdE9iaj4gZ19yZXMgPSBXVEY6OmdldFB0cihpdGVtLT53aXRoU2Ny
aXB0U3RhdGVPYmooKSk7CiAgICAgV2ViS2l0RE9NVGVzdE9iaiogIHJlcyA9IHN0YXRpY19jYXN0
PFdlYktpdERPTVRlc3RPYmoqID4oV2ViS2l0OjpraXQoZ19yZXMuZ2V0KCkpKTsKQEAgLTI0Niw3
ICsyNDUsNyBAQCB3ZWJraXRfZG9tX3Rlc3Rfb2JqX3dpdGhfc2NyaXB0X3N0YXRlX29iaihXZWJL
aXRET01UZXN0T2JqKiBzZWxmKQogdm9pZAogd2Via2l0X2RvbV90ZXN0X29ial93aXRoX3Njcmlw
dF9zdGF0ZV92b2lkX2V4Y2VwdGlvbihXZWJLaXRET01UZXN0T2JqKiBzZWxmLCBHRXJyb3IgKipl
cnJvcikKIHsKLSAgICBnX3JldHVybl9pZl9mYWlsKHNlbGYpOworICAgIGdfcmV0dXJuX2lmX2Zh
aWwgKHNlbGYpOwogICAgIFdlYkNvcmU6OlRlc3RPYmogKiBpdGVtID0gV2ViS2l0Ojpjb3JlKHNl
bGYpOwogICAgIFdlYkNvcmU6OkV4Y2VwdGlvbkNvZGUgZWMgPSAwOwogICAgIGl0ZW0tPndpdGhT
Y3JpcHRTdGF0ZVZvaWRFeGNlcHRpb24oZWMpOwpAQCAtMjYwLDcgKzI1OSw3IEBAIHdlYmtpdF9k
b21fdGVzdF9vYmpfd2l0aF9zY3JpcHRfc3RhdGVfdm9pZF9leGNlcHRpb24oV2ViS2l0RE9NVGVz
dE9iaiogc2VsZiwgR0VyCiBXZWJLaXRET01UZXN0T2JqKiAKIHdlYmtpdF9kb21fdGVzdF9vYmpf
d2l0aF9zY3JpcHRfc3RhdGVfb2JqX2V4Y2VwdGlvbihXZWJLaXRET01UZXN0T2JqKiBzZWxmLCBH
RXJyb3IgKiplcnJvcikKIHsKLSAgICBnX3JldHVybl92YWxfaWZfZmFpbChzZWxmLCAwKTsKKyAg
ICBnX3JldHVybl92YWxfaWZfZmFpbCAoc2VsZiwgMCk7CiAgICAgV2ViQ29yZTo6VGVzdE9iaiAq
IGl0ZW0gPSBXZWJLaXQ6OmNvcmUoc2VsZik7CiAgICAgV2ViQ29yZTo6RXhjZXB0aW9uQ29kZSBl
YyA9IDA7CiAgICAgUGFzc1JlZlB0cjxXZWJDb3JlOjpUZXN0T2JqPiBnX3JlcyA9IFdURjo6Z2V0
UHRyKGl0ZW0tPndpdGhTY3JpcHRTdGF0ZU9iakV4Y2VwdGlvbihlYykpOwpAQCAtMjc2LDcgKzI3
NSw3IEBAIHdlYmtpdF9kb21fdGVzdF9vYmpfd2l0aF9zY3JpcHRfc3RhdGVfb2JqX2V4Y2VwdGlv
bihXZWJLaXRET01UZXN0T2JqKiBzZWxmLCBHRXJyCiB2b2lkCiB3ZWJraXRfZG9tX3Rlc3Rfb2Jq
X3dpdGhfc2NyaXB0X2V4ZWN1dGlvbl9jb250ZXh0KFdlYktpdERPTVRlc3RPYmoqIHNlbGYpCiB7
Ci0gICAgZ19yZXR1cm5faWZfZmFpbChzZWxmKTsKKyAgICBnX3JldHVybl9pZl9mYWlsIChzZWxm
KTsKICAgICBXZWJDb3JlOjpUZXN0T2JqICogaXRlbSA9IFdlYktpdDo6Y29yZShzZWxmKTsKICAg
ICBpdGVtLT53aXRoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpOwogfQpAQCAtMjg0LDcgKzI4Myw3
IEBAIHdlYmtpdF9kb21fdGVzdF9vYmpfd2l0aF9zY3JpcHRfZXhlY3V0aW9uX2NvbnRleHQoV2Vi
S2l0RE9NVGVzdE9iaiogc2VsZikKIHZvaWQKIHdlYmtpdF9kb21fdGVzdF9vYmpfbWV0aG9kX3dp
dGhfb3B0aW9uYWxfYXJnKFdlYktpdERPTVRlc3RPYmoqIHNlbGYsIGdsb25nIG9wdCkKIHsKLSAg
ICBnX3JldHVybl9pZl9mYWlsKHNlbGYpOworICAgIGdfcmV0dXJuX2lmX2ZhaWwgKHNlbGYpOwog
ICAgIFdlYkNvcmU6OlRlc3RPYmogKiBpdGVtID0gV2ViS2l0Ojpjb3JlKHNlbGYpOwogICAgIGl0
ZW0tPm1ldGhvZFdpdGhPcHRpb25hbEFyZyhvcHQpOwogfQpAQCAtMjkyLDcgKzI5MSw3IEBAIHdl
YmtpdF9kb21fdGVzdF9vYmpfbWV0aG9kX3dpdGhfb3B0aW9uYWxfYXJnKFdlYktpdERPTVRlc3RP
YmoqIHNlbGYsIGdsb25nIG9wdCkKIHZvaWQKIHdlYmtpdF9kb21fdGVzdF9vYmpfbWV0aG9kX3dp
dGhfbm9uX29wdGlvbmFsX2FyZ19hbmRfb3B0aW9uYWxfYXJnKFdlYktpdERPTVRlc3RPYmoqIHNl
bGYsIGdsb25nIG5vbl9vcHQsIGdsb25nIG9wdCkKIHsKLSAgICBnX3JldHVybl9pZl9mYWlsKHNl
bGYpOworICAgIGdfcmV0dXJuX2lmX2ZhaWwgKHNlbGYpOwogICAgIFdlYkNvcmU6OlRlc3RPYmog
KiBpdGVtID0gV2ViS2l0Ojpjb3JlKHNlbGYpOwogICAgIGl0ZW0tPm1ldGhvZFdpdGhOb25PcHRp
b25hbEFyZ0FuZE9wdGlvbmFsQXJnKG5vbl9vcHQsIG9wdCk7CiB9CkBAIC0zMDAsNyArMjk5LDcg
QEAgd2Via2l0X2RvbV90ZXN0X29ial9tZXRob2Rfd2l0aF9ub25fb3B0aW9uYWxfYXJnX2FuZF9v
cHRpb25hbF9hcmcoV2ViS2l0RE9NVGVzdE8KIHZvaWQKIHdlYmtpdF9kb21fdGVzdF9vYmpfbWV0
aG9kX3dpdGhfbm9uX29wdGlvbmFsX2FyZ19hbmRfdHdvX29wdGlvbmFsX2FyZ3MoV2ViS2l0RE9N
VGVzdE9iaiogc2VsZiwgZ2xvbmcgbm9uX29wdCwgZ2xvbmcgb3B0MSwgZ2xvbmcgb3B0MikKIHsK
LSAgICBnX3JldHVybl9pZl9mYWlsKHNlbGYpOworICAgIGdfcmV0dXJuX2lmX2ZhaWwgKHNlbGYp
OwogICAgIFdlYkNvcmU6OlRlc3RPYmogKiBpdGVtID0gV2ViS2l0Ojpjb3JlKHNlbGYpOwogICAg
IGl0ZW0tPm1ldGhvZFdpdGhOb25PcHRpb25hbEFyZ0FuZFR3b09wdGlvbmFsQXJncyhub25fb3B0
LCBvcHQxLCBvcHQyKTsKIH0KQEAgLTMwOCw3ICszMDcsNyBAQCB3ZWJraXRfZG9tX3Rlc3Rfb2Jq
X21ldGhvZF93aXRoX25vbl9vcHRpb25hbF9hcmdfYW5kX3R3b19vcHRpb25hbF9hcmdzKFdlYktp
dERPTQogZ2xvbmcKIHdlYmtpdF9kb21fdGVzdF9vYmpfZ2V0X3JlYWRfb25seV9pbnRfYXR0cihX
ZWJLaXRET01UZXN0T2JqKiBzZWxmKQogewotICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKHNlbGYs
IDApOworICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsIChzZWxmLCAwKTsKICAgICBXZWJDb3JlOjpU
ZXN0T2JqICogaXRlbSA9IFdlYktpdDo6Y29yZShzZWxmKTsKICAgICBnbG9uZyByZXMgPSBpdGVt
LT5yZWFkT25seUludEF0dHIoKTsKICAgICByZXR1cm4gcmVzOwpAQCAtMzE3LDcgKzMxNiw3IEBA
IHdlYmtpdF9kb21fdGVzdF9vYmpfZ2V0X3JlYWRfb25seV9pbnRfYXR0cihXZWJLaXRET01UZXN0
T2JqKiBzZWxmKQogZ2NoYXIqIAogd2Via2l0X2RvbV90ZXN0X29ial9nZXRfcmVhZF9vbmx5X3N0
cmluZ19hdHRyKFdlYktpdERPTVRlc3RPYmoqIHNlbGYpCiB7Ci0gICAgZ19yZXR1cm5fdmFsX2lm
X2ZhaWwoc2VsZiwgMCk7CisgICAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwgKHNlbGYsIDApOwogICAg
IFdlYkNvcmU6OlRlc3RPYmogKiBpdGVtID0gV2ViS2l0Ojpjb3JlKHNlbGYpOwogICAgIGdjaGFy
KiAgcmVzID0gY29udmVydFRvVVRGOFN0cmluZyhpdGVtLT5yZWFkT25seVN0cmluZ0F0dHIoKSk7
CiAgICAgcmV0dXJuIHJlczsKQEAgLTMyNiw3ICszMjUsNyBAQCB3ZWJraXRfZG9tX3Rlc3Rfb2Jq
X2dldF9yZWFkX29ubHlfc3RyaW5nX2F0dHIoV2ViS2l0RE9NVGVzdE9iaiogc2VsZikKIFdlYktp
dERPTVRlc3RPYmoqIAogd2Via2l0X2RvbV90ZXN0X29ial9nZXRfcmVhZF9vbmx5X3Rlc3Rfb2Jq
X2F0dHIoV2ViS2l0RE9NVGVzdE9iaiogc2VsZikKIHsKLSAgICBnX3JldHVybl92YWxfaWZfZmFp
bChzZWxmLCAwKTsKKyAgICBnX3JldHVybl92YWxfaWZfZmFpbCAoc2VsZiwgMCk7CiAgICAgV2Vi
Q29yZTo6VGVzdE9iaiAqIGl0ZW0gPSBXZWJLaXQ6OmNvcmUoc2VsZik7CiAgICAgUGFzc1JlZlB0
cjxXZWJDb3JlOjpUZXN0T2JqPiBnX3JlcyA9IFdURjo6Z2V0UHRyKGl0ZW0tPnJlYWRPbmx5VGVz
dE9iakF0dHIoKSk7CiAgICAgV2ViS2l0RE9NVGVzdE9iaiogIHJlcyA9IHN0YXRpY19jYXN0PFdl
YktpdERPTVRlc3RPYmoqID4oV2ViS2l0OjpraXQoZ19yZXMuZ2V0KCkpKTsKQEAgLTMzNiw3ICsz
MzUsNyBAQCB3ZWJraXRfZG9tX3Rlc3Rfb2JqX2dldF9yZWFkX29ubHlfdGVzdF9vYmpfYXR0cihX
ZWJLaXRET01UZXN0T2JqKiBzZWxmKQogZ2xvbmcKIHdlYmtpdF9kb21fdGVzdF9vYmpfZ2V0X2lu
dF9hdHRyKFdlYktpdERPTVRlc3RPYmoqIHNlbGYpCiB7Ci0gICAgZ19yZXR1cm5fdmFsX2lmX2Zh
aWwoc2VsZiwgMCk7CisgICAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwgKHNlbGYsIDApOwogICAgIFdl
YkNvcmU6OlRlc3RPYmogKiBpdGVtID0gV2ViS2l0Ojpjb3JlKHNlbGYpOwogICAgIGdsb25nIHJl
cyA9IGl0ZW0tPmludEF0dHIoKTsKICAgICByZXR1cm4gcmVzOwpAQCAtMzQ1LDcgKzM0NCw3IEBA
IHdlYmtpdF9kb21fdGVzdF9vYmpfZ2V0X2ludF9hdHRyKFdlYktpdERPTVRlc3RPYmoqIHNlbGYp
CiB2b2lkCiB3ZWJraXRfZG9tX3Rlc3Rfb2JqX3NldF9pbnRfYXR0cihXZWJLaXRET01UZXN0T2Jq
KiBzZWxmLCBnbG9uZyB2YWx1ZSkKIHsKLSAgICBnX3JldHVybl9pZl9mYWlsKHNlbGYpOworICAg
IGdfcmV0dXJuX2lmX2ZhaWwgKHNlbGYpOwogICAgIFdlYkNvcmU6OlRlc3RPYmogKiBpdGVtID0g
V2ViS2l0Ojpjb3JlKHNlbGYpOwogICAgIGl0ZW0tPnNldEludEF0dHIodmFsdWUpOwogfQpAQCAt
MzUzLDcgKzM1Miw3IEBAIHdlYmtpdF9kb21fdGVzdF9vYmpfc2V0X2ludF9hdHRyKFdlYktpdERP
TVRlc3RPYmoqIHNlbGYsIGdsb25nIHZhbHVlKQogZ2ludDY0CiB3ZWJraXRfZG9tX3Rlc3Rfb2Jq
X2dldF9sb25nX2xvbmdfYXR0cihXZWJLaXRET01UZXN0T2JqKiBzZWxmKQogewotICAgIGdfcmV0
dXJuX3ZhbF9pZl9mYWlsKHNlbGYsIDApOworICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsIChzZWxm
LCAwKTsKICAgICBXZWJDb3JlOjpUZXN0T2JqICogaXRlbSA9IFdlYktpdDo6Y29yZShzZWxmKTsK
ICAgICBnaW50NjQgcmVzID0gaXRlbS0+bG9uZ0xvbmdBdHRyKCk7CiAgICAgcmV0dXJuIHJlczsK
QEAgLTM2Miw3ICszNjEsNyBAQCB3ZWJraXRfZG9tX3Rlc3Rfb2JqX2dldF9sb25nX2xvbmdfYXR0
cihXZWJLaXRET01UZXN0T2JqKiBzZWxmKQogdm9pZAogd2Via2l0X2RvbV90ZXN0X29ial9zZXRf
bG9uZ19sb25nX2F0dHIoV2ViS2l0RE9NVGVzdE9iaiogc2VsZiwgZ2ludDY0IHZhbHVlKQogewot
ICAgIGdfcmV0dXJuX2lmX2ZhaWwoc2VsZik7CisgICAgZ19yZXR1cm5faWZfZmFpbCAoc2VsZik7
CiAgICAgV2ViQ29yZTo6VGVzdE9iaiAqIGl0ZW0gPSBXZWJLaXQ6OmNvcmUoc2VsZik7CiAgICAg
aXRlbS0+c2V0TG9uZ0xvbmdBdHRyKHZhbHVlKTsKIH0KQEAgLTM3MCw3ICszNjksNyBAQCB3ZWJr
aXRfZG9tX3Rlc3Rfb2JqX3NldF9sb25nX2xvbmdfYXR0cihXZWJLaXRET01UZXN0T2JqKiBzZWxm
LCBnaW50NjQgdmFsdWUpCiBndWludDY0CiB3ZWJraXRfZG9tX3Rlc3Rfb2JqX2dldF91bnNpZ25l
ZF9sb25nX2xvbmdfYXR0cihXZWJLaXRET01UZXN0T2JqKiBzZWxmKQogewotICAgIGdfcmV0dXJu
X3ZhbF9pZl9mYWlsKHNlbGYsIDApOworICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsIChzZWxmLCAw
KTsKICAgICBXZWJDb3JlOjpUZXN0T2JqICogaXRlbSA9IFdlYktpdDo6Y29yZShzZWxmKTsKICAg
ICBndWludDY0IHJlcyA9IGl0ZW0tPnVuc2lnbmVkTG9uZ0xvbmdBdHRyKCk7CiAgICAgcmV0dXJu
IHJlczsKQEAgLTM3OSw3ICszNzgsNyBAQCB3ZWJraXRfZG9tX3Rlc3Rfb2JqX2dldF91bnNpZ25l
ZF9sb25nX2xvbmdfYXR0cihXZWJLaXRET01UZXN0T2JqKiBzZWxmKQogdm9pZAogd2Via2l0X2Rv
bV90ZXN0X29ial9zZXRfdW5zaWduZWRfbG9uZ19sb25nX2F0dHIoV2ViS2l0RE9NVGVzdE9iaiog
c2VsZiwgZ3VpbnQ2NCB2YWx1ZSkKIHsKLSAgICBnX3JldHVybl9pZl9mYWlsKHNlbGYpOworICAg
IGdfcmV0dXJuX2lmX2ZhaWwgKHNlbGYpOwogICAgIFdlYkNvcmU6OlRlc3RPYmogKiBpdGVtID0g
V2ViS2l0Ojpjb3JlKHNlbGYpOwogICAgIGl0ZW0tPnNldFVuc2lnbmVkTG9uZ0xvbmdBdHRyKHZh
bHVlKTsKIH0KQEAgLTM4Nyw3ICszODYsNyBAQCB3ZWJraXRfZG9tX3Rlc3Rfb2JqX3NldF91bnNp
Z25lZF9sb25nX2xvbmdfYXR0cihXZWJLaXRET01UZXN0T2JqKiBzZWxmLCBndWludDY0CiBnY2hh
ciogCiB3ZWJraXRfZG9tX3Rlc3Rfb2JqX2dldF9zdHJpbmdfYXR0cihXZWJLaXRET01UZXN0T2Jq
KiBzZWxmKQogewotICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKHNlbGYsIDApOworICAgIGdfcmV0
dXJuX3ZhbF9pZl9mYWlsIChzZWxmLCAwKTsKICAgICBXZWJDb3JlOjpUZXN0T2JqICogaXRlbSA9
IFdlYktpdDo6Y29yZShzZWxmKTsKICAgICBnY2hhciogIHJlcyA9IGNvbnZlcnRUb1VURjhTdHJp
bmcoaXRlbS0+c3RyaW5nQXR0cigpKTsKICAgICByZXR1cm4gcmVzOwpAQCAtMzk2LDE3ICszOTUs
MTcgQEAgd2Via2l0X2RvbV90ZXN0X29ial9nZXRfc3RyaW5nX2F0dHIoV2ViS2l0RE9NVGVzdE9i
aiogc2VsZikKIHZvaWQKIHdlYmtpdF9kb21fdGVzdF9vYmpfc2V0X3N0cmluZ19hdHRyKFdlYktp
dERPTVRlc3RPYmoqIHNlbGYsIGdjaGFyKiAgdmFsdWUpCiB7Ci0gICAgZ19yZXR1cm5faWZfZmFp
bChzZWxmKTsKKyAgICBnX3JldHVybl9pZl9mYWlsIChzZWxmKTsKICAgICBXZWJDb3JlOjpUZXN0
T2JqICogaXRlbSA9IFdlYktpdDo6Y29yZShzZWxmKTsKLSAgICBnX3JldHVybl9pZl9mYWlsKHZh
bHVlKTsKLSAgICBXZWJDb3JlOjpTdHJpbmcgY29udmVydGVkX3ZhbHVlID0gV2ViQ29yZTo6U3Ry
aW5nOjpmcm9tVVRGOCh2YWx1ZSk7Ci0gICAgaXRlbS0+c2V0U3RyaW5nQXR0cihjb252ZXJ0ZWRf
dmFsdWUpOworICAgIGdfcmV0dXJuX2lmX2ZhaWwgKHZhbHVlKTsKKyAgICBXZWJDb3JlOjpTdHJp
bmcgX2dfdmFsdWUgPSBXZWJDb3JlOjpTdHJpbmc6OmZyb21VVEY4KHZhbHVlKTsKKyAgICBpdGVt
LT5zZXRTdHJpbmdBdHRyKF9nX3ZhbHVlKTsKIH0KIAogV2ViS2l0RE9NVGVzdE9iaiogCiB3ZWJr
aXRfZG9tX3Rlc3Rfb2JqX2dldF90ZXN0X29ial9hdHRyKFdlYktpdERPTVRlc3RPYmoqIHNlbGYp
CiB7Ci0gICAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwoc2VsZiwgMCk7CisgICAgZ19yZXR1cm5fdmFs
X2lmX2ZhaWwgKHNlbGYsIDApOwogICAgIFdlYkNvcmU6OlRlc3RPYmogKiBpdGVtID0gV2ViS2l0
Ojpjb3JlKHNlbGYpOwogICAgIFBhc3NSZWZQdHI8V2ViQ29yZTo6VGVzdE9iaj4gZ19yZXMgPSBX
VEY6OmdldFB0cihpdGVtLT50ZXN0T2JqQXR0cigpKTsKICAgICBXZWJLaXRET01UZXN0T2JqKiAg
cmVzID0gc3RhdGljX2Nhc3Q8V2ViS2l0RE9NVGVzdE9iaiogPihXZWJLaXQ6OmtpdChnX3Jlcy5n
ZXQoKSkpOwpAQCAtNDE2LDIwMCArNDE1LDUwIEBAIHdlYmtpdF9kb21fdGVzdF9vYmpfZ2V0X3Rl
c3Rfb2JqX2F0dHIoV2ViS2l0RE9NVGVzdE9iaiogc2VsZikKIHZvaWQKIHdlYmtpdF9kb21fdGVz
dF9vYmpfc2V0X3Rlc3Rfb2JqX2F0dHIoV2ViS2l0RE9NVGVzdE9iaiogc2VsZiwgV2ViS2l0RE9N
VGVzdE9iaiogIHZhbHVlKQogewotICAgIGdfcmV0dXJuX2lmX2ZhaWwoc2VsZik7CisgICAgZ19y
ZXR1cm5faWZfZmFpbCAoc2VsZik7CiAgICAgV2ViQ29yZTo6VGVzdE9iaiAqIGl0ZW0gPSBXZWJL
aXQ6OmNvcmUoc2VsZik7Ci0gICAgZ19yZXR1cm5faWZfZmFpbCh2YWx1ZSk7Ci0gICAgV2ViQ29y
ZTo6VGVzdE9iaiAqIGNvbnZlcnRlZF92YWx1ZSA9IFdlYktpdDo6Y29yZSh2YWx1ZSk7Ci0gICAg
Z19yZXR1cm5faWZfZmFpbChjb252ZXJ0ZWRfdmFsdWUpOwotICAgIGl0ZW0tPnNldFRlc3RPYmpB
dHRyKGNvbnZlcnRlZF92YWx1ZSk7Ci19Ci0KLWdjaGFyKiAKLXdlYmtpdF9kb21fdGVzdF9vYmpf
Z2V0X3JlZmxlY3RlZF9zdHJpbmdfYXR0cihXZWJLaXRET01UZXN0T2JqKiBzZWxmKQotewotICAg
IGdfcmV0dXJuX3ZhbF9pZl9mYWlsKHNlbGYsIDApOwotICAgIFdlYkNvcmU6OlRlc3RPYmogKiBp
dGVtID0gV2ViS2l0Ojpjb3JlKHNlbGYpOwotICAgIGdjaGFyKiAgcmVzID0gY29udmVydFRvVVRG
OFN0cmluZyhpdGVtLT5nZXRBdHRyaWJ1dGUoV2ViQ29yZTo6SFRNTE5hbWVzOjpyZWZsZWN0ZWRz
dHJpbmdhdHRyQXR0cikpOwotICAgIHJldHVybiByZXM7Ci19Ci0KLXZvaWQKLXdlYmtpdF9kb21f
dGVzdF9vYmpfc2V0X3JlZmxlY3RlZF9zdHJpbmdfYXR0cihXZWJLaXRET01UZXN0T2JqKiBzZWxm
LCBnY2hhciogIHZhbHVlKQotewotICAgIGdfcmV0dXJuX2lmX2ZhaWwoc2VsZik7Ci0gICAgV2Vi
Q29yZTo6VGVzdE9iaiAqIGl0ZW0gPSBXZWJLaXQ6OmNvcmUoc2VsZik7Ci0gICAgZ19yZXR1cm5f
aWZfZmFpbCh2YWx1ZSk7Ci0gICAgV2ViQ29yZTo6U3RyaW5nIGNvbnZlcnRlZF92YWx1ZSA9IFdl
YkNvcmU6OlN0cmluZzo6ZnJvbVVURjgodmFsdWUpOwotICAgIGl0ZW0tPnNldEF0dHJpYnV0ZShX
ZWJDb3JlOjpIVE1MTmFtZXM6OnJlZmxlY3RlZHN0cmluZ2F0dHJBdHRyLCBjb252ZXJ0ZWRfdmFs
dWUpOwotfQotCi1nbG9uZwotd2Via2l0X2RvbV90ZXN0X29ial9nZXRfcmVmbGVjdGVkX2ludGVn
cmFsX2F0dHIoV2ViS2l0RE9NVGVzdE9iaiogc2VsZikKLXsKLSAgICBnX3JldHVybl92YWxfaWZf
ZmFpbChzZWxmLCAwKTsKLSAgICBXZWJDb3JlOjpUZXN0T2JqICogaXRlbSA9IFdlYktpdDo6Y29y
ZShzZWxmKTsKLSAgICBnbG9uZyByZXMgPSBpdGVtLT5nZXRJbnRlZ3JhbEF0dHJpYnV0ZShXZWJD
b3JlOjpIVE1MTmFtZXM6OnJlZmxlY3RlZGludGVncmFsYXR0ckF0dHIpOwotICAgIHJldHVybiBy
ZXM7Ci19Ci0KLXZvaWQKLXdlYmtpdF9kb21fdGVzdF9vYmpfc2V0X3JlZmxlY3RlZF9pbnRlZ3Jh
bF9hdHRyKFdlYktpdERPTVRlc3RPYmoqIHNlbGYsIGdsb25nIHZhbHVlKQotewotICAgIGdfcmV0
dXJuX2lmX2ZhaWwoc2VsZik7Ci0gICAgV2ViQ29yZTo6VGVzdE9iaiAqIGl0ZW0gPSBXZWJLaXQ6
OmNvcmUoc2VsZik7Ci0gICAgaXRlbS0+c2V0QXR0cmlidXRlKFdlYkNvcmU6OkhUTUxOYW1lczo6
cmVmbGVjdGVkaW50ZWdyYWxhdHRyQXR0ciwgdmFsdWUpOwotfQotCi1nYm9vbGVhbgotd2Via2l0
X2RvbV90ZXN0X29ial9nZXRfcmVmbGVjdGVkX2Jvb2xlYW5fYXR0cihXZWJLaXRET01UZXN0T2Jq
KiBzZWxmKQotewotICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKHNlbGYsIDApOwotICAgIFdlYkNv
cmU6OlRlc3RPYmogKiBpdGVtID0gV2ViS2l0Ojpjb3JlKHNlbGYpOwotICAgIGdib29sZWFuIHJl
cyA9IGl0ZW0tPmhhc0F0dHJpYnV0ZShXZWJDb3JlOjpIVE1MTmFtZXM6OnJlZmxlY3RlZGJvb2xl
YW5hdHRyQXR0cik7Ci0gICAgcmV0dXJuIHJlczsKLX0KLQotdm9pZAotd2Via2l0X2RvbV90ZXN0
X29ial9zZXRfcmVmbGVjdGVkX2Jvb2xlYW5fYXR0cihXZWJLaXRET01UZXN0T2JqKiBzZWxmLCBn
Ym9vbGVhbiB2YWx1ZSkKLXsKLSAgICBnX3JldHVybl9pZl9mYWlsKHNlbGYpOwotICAgIFdlYkNv
cmU6OlRlc3RPYmogKiBpdGVtID0gV2ViS2l0Ojpjb3JlKHNlbGYpOwotICAgIGl0ZW0tPnNldEF0
dHJpYnV0ZShXZWJDb3JlOjpIVE1MTmFtZXM6OnJlZmxlY3RlZGJvb2xlYW5hdHRyQXR0ciwgdmFs
dWUpOwotfQotCi1nY2hhciogCi13ZWJraXRfZG9tX3Rlc3Rfb2JqX2dldF9yZWZsZWN0ZWRfdXJs
X2F0dHIoV2ViS2l0RE9NVGVzdE9iaiogc2VsZikKLXsKLSAgICBnX3JldHVybl92YWxfaWZfZmFp
bChzZWxmLCAwKTsKLSAgICBXZWJDb3JlOjpUZXN0T2JqICogaXRlbSA9IFdlYktpdDo6Y29yZShz
ZWxmKTsKLSAgICBnY2hhciogIHJlcyA9IGNvbnZlcnRUb1VURjhTdHJpbmcoaXRlbS0+Z2V0VVJM
QXR0cmlidXRlKFdlYkNvcmU6OkhUTUxOYW1lczo6cmVmbGVjdGVkdXJsYXR0ckF0dHIpKTsKLSAg
ICByZXR1cm4gcmVzOwotfQotCi12b2lkCi13ZWJraXRfZG9tX3Rlc3Rfb2JqX3NldF9yZWZsZWN0
ZWRfdXJsX2F0dHIoV2ViS2l0RE9NVGVzdE9iaiogc2VsZiwgZ2NoYXIqICB2YWx1ZSkKLXsKLSAg
ICBnX3JldHVybl9pZl9mYWlsKHNlbGYpOwotICAgIFdlYkNvcmU6OlRlc3RPYmogKiBpdGVtID0g
V2ViS2l0Ojpjb3JlKHNlbGYpOwotICAgIGdfcmV0dXJuX2lmX2ZhaWwodmFsdWUpOwotICAgIFdl
YkNvcmU6OlN0cmluZyBjb252ZXJ0ZWRfdmFsdWUgPSBXZWJDb3JlOjpTdHJpbmc6OmZyb21VVEY4
KHZhbHVlKTsKLSAgICBpdGVtLT5zZXRBdHRyaWJ1dGUoV2ViQ29yZTo6SFRNTE5hbWVzOjpyZWZs
ZWN0ZWR1cmxhdHRyQXR0ciwgY29udmVydGVkX3ZhbHVlKTsKLX0KLQotZ2NoYXIqIAotd2Via2l0
X2RvbV90ZXN0X29ial9nZXRfcmVmbGVjdGVkX3N0cmluZ19hdHRyKFdlYktpdERPTVRlc3RPYmoq
IHNlbGYpCi17Ci0gICAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwoc2VsZiwgMCk7Ci0gICAgV2ViQ29y
ZTo6VGVzdE9iaiAqIGl0ZW0gPSBXZWJLaXQ6OmNvcmUoc2VsZik7Ci0gICAgZ2NoYXIqICByZXMg
PSBjb252ZXJ0VG9VVEY4U3RyaW5nKGl0ZW0tPmdldEF0dHJpYnV0ZShXZWJDb3JlOjpIVE1MTmFt
ZXM6OmN1c3RvbUNvbnRlbnRTdHJpbmdBdHRyQXR0cikpOwotICAgIHJldHVybiByZXM7Ci19Ci0K
LXZvaWQKLXdlYmtpdF9kb21fdGVzdF9vYmpfc2V0X3JlZmxlY3RlZF9zdHJpbmdfYXR0cihXZWJL
aXRET01UZXN0T2JqKiBzZWxmLCBnY2hhciogIHZhbHVlKQotewotICAgIGdfcmV0dXJuX2lmX2Zh
aWwoc2VsZik7Ci0gICAgV2ViQ29yZTo6VGVzdE9iaiAqIGl0ZW0gPSBXZWJLaXQ6OmNvcmUoc2Vs
Zik7Ci0gICAgZ19yZXR1cm5faWZfZmFpbCh2YWx1ZSk7Ci0gICAgV2ViQ29yZTo6U3RyaW5nIGNv
bnZlcnRlZF92YWx1ZSA9IFdlYkNvcmU6OlN0cmluZzo6ZnJvbVVURjgodmFsdWUpOwotICAgIGl0
ZW0tPnNldEF0dHJpYnV0ZShXZWJDb3JlOjpIVE1MTmFtZXM6OmN1c3RvbUNvbnRlbnRTdHJpbmdB
dHRyQXR0ciwgY29udmVydGVkX3ZhbHVlKTsKKyAgICBnX3JldHVybl9pZl9mYWlsICh2YWx1ZSk7
CisgICAgV2ViQ29yZTo6VGVzdE9iaiAqIF9nX3ZhbHVlID0gV2ViS2l0Ojpjb3JlKHZhbHVlKTsK
KyAgICBnX3JldHVybl9pZl9mYWlsIChfZ192YWx1ZSk7CisgICAgaXRlbS0+c2V0VGVzdE9iakF0
dHIoX2dfdmFsdWUpOwogfQogCiBnbG9uZwotd2Via2l0X2RvbV90ZXN0X29ial9nZXRfcmVmbGVj
dGVkX2N1c3RvbV9pbnRlZ3JhbF9hdHRyKFdlYktpdERPTVRlc3RPYmoqIHNlbGYpCit3ZWJraXRf
ZG9tX3Rlc3Rfb2JqX2dldF9hdHRyX3dpdGhfZXhjZXB0aW9uKFdlYktpdERPTVRlc3RPYmoqIHNl
bGYpCiB7Ci0gICAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwoc2VsZiwgMCk7CisgICAgZ19yZXR1cm5f
dmFsX2lmX2ZhaWwgKHNlbGYsIDApOwogICAgIFdlYkNvcmU6OlRlc3RPYmogKiBpdGVtID0gV2Vi
S2l0Ojpjb3JlKHNlbGYpOwotICAgIGdsb25nIHJlcyA9IGl0ZW0tPmdldEludGVncmFsQXR0cmli
dXRlKFdlYkNvcmU6OkhUTUxOYW1lczo6Y3VzdG9tQ29udGVudEludGVncmFsQXR0ckF0dHIpOwor
ICAgIGdsb25nIHJlcyA9IGl0ZW0tPmF0dHJXaXRoRXhjZXB0aW9uKCk7CiAgICAgcmV0dXJuIHJl
czsKIH0KIAogdm9pZAotd2Via2l0X2RvbV90ZXN0X29ial9zZXRfcmVmbGVjdGVkX2N1c3RvbV9p
bnRlZ3JhbF9hdHRyKFdlYktpdERPTVRlc3RPYmoqIHNlbGYsIGdsb25nIHZhbHVlKQord2Via2l0
X2RvbV90ZXN0X29ial9zZXRfYXR0cl93aXRoX2V4Y2VwdGlvbihXZWJLaXRET01UZXN0T2JqKiBz
ZWxmLCBnbG9uZyB2YWx1ZSkKIHsKLSAgICBnX3JldHVybl9pZl9mYWlsKHNlbGYpOworICAgIGdf
cmV0dXJuX2lmX2ZhaWwgKHNlbGYpOwogICAgIFdlYkNvcmU6OlRlc3RPYmogKiBpdGVtID0gV2Vi
S2l0Ojpjb3JlKHNlbGYpOwotICAgIGl0ZW0tPnNldEF0dHJpYnV0ZShXZWJDb3JlOjpIVE1MTmFt
ZXM6OmN1c3RvbUNvbnRlbnRJbnRlZ3JhbEF0dHJBdHRyLCB2YWx1ZSk7Ci19Ci0KLWdib29sZWFu
Ci13ZWJraXRfZG9tX3Rlc3Rfb2JqX2dldF9yZWZsZWN0ZWRfY3VzdG9tX2Jvb2xlYW5fYXR0cihX
ZWJLaXRET01UZXN0T2JqKiBzZWxmKQotewotICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKHNlbGYs
IDApOwotICAgIFdlYkNvcmU6OlRlc3RPYmogKiBpdGVtID0gV2ViS2l0Ojpjb3JlKHNlbGYpOwot
ICAgIGdib29sZWFuIHJlcyA9IGl0ZW0tPmhhc0F0dHJpYnV0ZShXZWJDb3JlOjpIVE1MTmFtZXM6
OmN1c3RvbUNvbnRlbnRCb29sZWFuQXR0ckF0dHIpOwotICAgIHJldHVybiByZXM7Ci19Ci0KLXZv
aWQKLXdlYmtpdF9kb21fdGVzdF9vYmpfc2V0X3JlZmxlY3RlZF9jdXN0b21fYm9vbGVhbl9hdHRy
KFdlYktpdERPTVRlc3RPYmoqIHNlbGYsIGdib29sZWFuIHZhbHVlKQotewotICAgIGdfcmV0dXJu
X2lmX2ZhaWwoc2VsZik7Ci0gICAgV2ViQ29yZTo6VGVzdE9iaiAqIGl0ZW0gPSBXZWJLaXQ6OmNv
cmUoc2VsZik7Ci0gICAgaXRlbS0+c2V0QXR0cmlidXRlKFdlYkNvcmU6OkhUTUxOYW1lczo6Y3Vz
dG9tQ29udGVudEJvb2xlYW5BdHRyQXR0ciwgdmFsdWUpOwotfQotCi1nY2hhciogCi13ZWJraXRf
ZG9tX3Rlc3Rfb2JqX2dldF9yZWZsZWN0ZWRfdXJsX2F0dHIoV2ViS2l0RE9NVGVzdE9iaiogc2Vs
ZikKLXsKLSAgICBnX3JldHVybl92YWxfaWZfZmFpbChzZWxmLCAwKTsKLSAgICBXZWJDb3JlOjpU
ZXN0T2JqICogaXRlbSA9IFdlYktpdDo6Y29yZShzZWxmKTsKLSAgICBnY2hhciogIHJlcyA9IGNv
bnZlcnRUb1VURjhTdHJpbmcoaXRlbS0+Z2V0VVJMQXR0cmlidXRlKFdlYkNvcmU6OkhUTUxOYW1l
czo6Y3VzdG9tQ29udGVudFVSTEF0dHJBdHRyKSk7Ci0gICAgcmV0dXJuIHJlczsKLX0KLQotdm9p
ZAotd2Via2l0X2RvbV90ZXN0X29ial9zZXRfcmVmbGVjdGVkX3VybF9hdHRyKFdlYktpdERPTVRl
c3RPYmoqIHNlbGYsIGdjaGFyKiAgdmFsdWUpCi17Ci0gICAgZ19yZXR1cm5faWZfZmFpbChzZWxm
KTsKLSAgICBXZWJDb3JlOjpUZXN0T2JqICogaXRlbSA9IFdlYktpdDo6Y29yZShzZWxmKTsKLSAg
ICBnX3JldHVybl9pZl9mYWlsKHZhbHVlKTsKLSAgICBXZWJDb3JlOjpTdHJpbmcgY29udmVydGVk
X3ZhbHVlID0gV2ViQ29yZTo6U3RyaW5nOjpmcm9tVVRGOCh2YWx1ZSk7Ci0gICAgaXRlbS0+c2V0
QXR0cmlidXRlKFdlYkNvcmU6OkhUTUxOYW1lczo6Y3VzdG9tQ29udGVudFVSTEF0dHJBdHRyLCBj
b252ZXJ0ZWRfdmFsdWUpOworICAgIGl0ZW0tPnNldEF0dHJXaXRoRXhjZXB0aW9uKHZhbHVlKTsK
IH0KIAogZ2xvbmcKLXdlYmtpdF9kb21fdGVzdF9vYmpfZ2V0X2F0dHJfd2l0aF9nZXR0ZXJfZXhj
ZXB0aW9uKFdlYktpdERPTVRlc3RPYmoqIHNlbGYsIEdFcnJvciAqKmVycm9yKQotewotICAgIGdf
cmV0dXJuX3ZhbF9pZl9mYWlsKHNlbGYsIDApOwotICAgIFdlYkNvcmU6OlRlc3RPYmogKiBpdGVt
ID0gV2ViS2l0Ojpjb3JlKHNlbGYpOwotICAgIFdlYkNvcmU6OkV4Y2VwdGlvbkNvZGUgZWMgPSAw
OwotICAgIGdsb25nIHJlcyA9IGl0ZW0tPmF0dHJXaXRoR2V0dGVyRXhjZXB0aW9uKGVjKTsKLSAg
ICBpZiAoZWMpIHsKLSAgICAgICAgV2ViQ29yZTo6RXhjZXB0aW9uQ29kZURlc2NyaXB0aW9uIGVj
ZGVzYzsKLSAgICAgICAgV2ViQ29yZTo6Z2V0RXhjZXB0aW9uQ29kZURlc2NyaXB0aW9uKGVjLCBl
Y2Rlc2MpOwotICAgICAgICBnX3NldF9lcnJvcl9saXRlcmFsKGVycm9yLCBnX3F1YXJrX2Zyb21f
c3RyaW5nKCJXRUJLSVRfRE9NIiksIGVjZGVzYy5jb2RlLCBlY2Rlc2MubmFtZSk7Ci0gICAgfQot
ICAgIHJldHVybiByZXM7Ci19Ci0KLXZvaWQKLXdlYmtpdF9kb21fdGVzdF9vYmpfc2V0X2F0dHJf
d2l0aF9nZXR0ZXJfZXhjZXB0aW9uKFdlYktpdERPTVRlc3RPYmoqIHNlbGYsIGdsb25nIHZhbHVl
LCBHRXJyb3IgKiplcnJvcikKK3dlYmtpdF9kb21fdGVzdF9vYmpfZ2V0X2F0dHJfd2l0aF9zZXR0
ZXJfZXhjZXB0aW9uKFdlYktpdERPTVRlc3RPYmoqIHNlbGYsIEdFcnJvciAqKmVycm9yKQogewot
ICAgIGdfcmV0dXJuX2lmX2ZhaWwoc2VsZik7CisgICAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwgKHNl
bGYsIDApOwogICAgIFdlYkNvcmU6OlRlc3RPYmogKiBpdGVtID0gV2ViS2l0Ojpjb3JlKHNlbGYp
OwogICAgIFdlYkNvcmU6OkV4Y2VwdGlvbkNvZGUgZWMgPSAwOwotICAgIGl0ZW0tPnNldEF0dHJX
aXRoR2V0dGVyRXhjZXB0aW9uKHZhbHVlLCBlYyk7CisgICAgZ2xvbmcgcmVzID0gaXRlbS0+YXR0
cldpdGhTZXR0ZXJFeGNlcHRpb24oZWMpOwogICAgIGlmIChlYykgewogICAgICAgICBXZWJDb3Jl
OjpFeGNlcHRpb25Db2RlRGVzY3JpcHRpb24gZWNkZXNjOwogICAgICAgICBXZWJDb3JlOjpnZXRF
eGNlcHRpb25Db2RlRGVzY3JpcHRpb24oZWMsIGVjZGVzYyk7CiAgICAgICAgIGdfc2V0X2Vycm9y
X2xpdGVyYWwoZXJyb3IsIGdfcXVhcmtfZnJvbV9zdHJpbmcoIldFQktJVF9ET00iKSwgZWNkZXNj
LmNvZGUsIGVjZGVzYy5uYW1lKTsKICAgICB9Ci19Ci0KLWdsb25nCi13ZWJraXRfZG9tX3Rlc3Rf
b2JqX2dldF9hdHRyX3dpdGhfc2V0dGVyX2V4Y2VwdGlvbihXZWJLaXRET01UZXN0T2JqKiBzZWxm
KQotewotICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKHNlbGYsIDApOwotICAgIFdlYkNvcmU6OlRl
c3RPYmogKiBpdGVtID0gV2ViS2l0Ojpjb3JlKHNlbGYpOwotICAgIGdsb25nIHJlcyA9IGl0ZW0t
PmF0dHJXaXRoU2V0dGVyRXhjZXB0aW9uKCk7CiAgICAgcmV0dXJuIHJlczsKIH0KIAogdm9pZAog
d2Via2l0X2RvbV90ZXN0X29ial9zZXRfYXR0cl93aXRoX3NldHRlcl9leGNlcHRpb24oV2ViS2l0
RE9NVGVzdE9iaiogc2VsZiwgZ2xvbmcgdmFsdWUsIEdFcnJvciAqKmVycm9yKQogewotICAgIGdf
cmV0dXJuX2lmX2ZhaWwoc2VsZik7CisgICAgZ19yZXR1cm5faWZfZmFpbCAoc2VsZik7CiAgICAg
V2ViQ29yZTo6VGVzdE9iaiAqIGl0ZW0gPSBXZWJLaXQ6OmNvcmUoc2VsZik7CiAgICAgV2ViQ29y
ZTo6RXhjZXB0aW9uQ29kZSBlYyA9IDA7CiAgICAgaXRlbS0+c2V0QXR0cldpdGhTZXR0ZXJFeGNl
cHRpb24odmFsdWUsIGVjKTsKQEAgLTYyMCw1MCArNDY5LDIyIEBAIHdlYmtpdF9kb21fdGVzdF9v
Ympfc2V0X2F0dHJfd2l0aF9zZXR0ZXJfZXhjZXB0aW9uKFdlYktpdERPTVRlc3RPYmoqIHNlbGYs
IGdsb25nCiAgICAgfQogfQogCi1nY2hhciogCi13ZWJraXRfZG9tX3Rlc3Rfb2JqX2dldF9zdHJp
bmdfYXR0cl93aXRoX2dldHRlcl9leGNlcHRpb24oV2ViS2l0RE9NVGVzdE9iaiogc2VsZiwgR0Vy
cm9yICoqZXJyb3IpCi17Ci0gICAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwoc2VsZiwgMCk7Ci0gICAg
V2ViQ29yZTo6VGVzdE9iaiAqIGl0ZW0gPSBXZWJLaXQ6OmNvcmUoc2VsZik7Ci0gICAgV2ViQ29y
ZTo6RXhjZXB0aW9uQ29kZSBlYyA9IDA7Ci0gICAgZ2NoYXIqICByZXMgPSBjb252ZXJ0VG9VVEY4
U3RyaW5nKGl0ZW0tPnN0cmluZ0F0dHJXaXRoR2V0dGVyRXhjZXB0aW9uKGVjKSk7Ci0gICAgcmV0
dXJuIHJlczsKLX0KLQotdm9pZAotd2Via2l0X2RvbV90ZXN0X29ial9zZXRfc3RyaW5nX2F0dHJf
d2l0aF9nZXR0ZXJfZXhjZXB0aW9uKFdlYktpdERPTVRlc3RPYmoqIHNlbGYsIGdjaGFyKiAgdmFs
dWUsIEdFcnJvciAqKmVycm9yKQotewotICAgIGdfcmV0dXJuX2lmX2ZhaWwoc2VsZik7Ci0gICAg
V2ViQ29yZTo6VGVzdE9iaiAqIGl0ZW0gPSBXZWJLaXQ6OmNvcmUoc2VsZik7Ci0gICAgZ19yZXR1
cm5faWZfZmFpbCh2YWx1ZSk7Ci0gICAgV2ViQ29yZTo6U3RyaW5nIGNvbnZlcnRlZF92YWx1ZSA9
IFdlYkNvcmU6OlN0cmluZzo6ZnJvbVVURjgodmFsdWUpOwotICAgIFdlYkNvcmU6OkV4Y2VwdGlv
bkNvZGUgZWMgPSAwOwotICAgIGl0ZW0tPnNldFN0cmluZ0F0dHJXaXRoR2V0dGVyRXhjZXB0aW9u
KGNvbnZlcnRlZF92YWx1ZSwgZWMpOwotICAgIGlmIChlYykgewotICAgICAgICBXZWJDb3JlOjpF
eGNlcHRpb25Db2RlRGVzY3JpcHRpb24gZWNkZXNjOwotICAgICAgICBXZWJDb3JlOjpnZXRFeGNl
cHRpb25Db2RlRGVzY3JpcHRpb24oZWMsIGVjZGVzYyk7Ci0gICAgICAgIGdfc2V0X2Vycm9yX2xp
dGVyYWwoZXJyb3IsIGdfcXVhcmtfZnJvbV9zdHJpbmcoIldFQktJVF9ET00iKSwgZWNkZXNjLmNv
ZGUsIGVjZGVzYy5uYW1lKTsKLSAgICB9Ci19Ci0KLWdjaGFyKiAKLXdlYmtpdF9kb21fdGVzdF9v
YmpfZ2V0X3N0cmluZ19hdHRyX3dpdGhfc2V0dGVyX2V4Y2VwdGlvbihXZWJLaXRET01UZXN0T2Jq
KiBzZWxmKQorZ2xvbmcKK3dlYmtpdF9kb21fdGVzdF9vYmpfZ2V0X2F0dHJfd2l0aF9nZXR0ZXJf
ZXhjZXB0aW9uKFdlYktpdERPTVRlc3RPYmoqIHNlbGYpCiB7Ci0gICAgZ19yZXR1cm5fdmFsX2lm
X2ZhaWwoc2VsZiwgMCk7CisgICAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwgKHNlbGYsIDApOwogICAg
IFdlYkNvcmU6OlRlc3RPYmogKiBpdGVtID0gV2ViS2l0Ojpjb3JlKHNlbGYpOwotICAgIGdjaGFy
KiAgcmVzID0gY29udmVydFRvVVRGOFN0cmluZyhpdGVtLT5zdHJpbmdBdHRyV2l0aFNldHRlckV4
Y2VwdGlvbigpKTsKKyAgICBnbG9uZyByZXMgPSBpdGVtLT5hdHRyV2l0aEdldHRlckV4Y2VwdGlv
bigpOwogICAgIHJldHVybiByZXM7CiB9CiAKIHZvaWQKLXdlYmtpdF9kb21fdGVzdF9vYmpfc2V0
X3N0cmluZ19hdHRyX3dpdGhfc2V0dGVyX2V4Y2VwdGlvbihXZWJLaXRET01UZXN0T2JqKiBzZWxm
LCBnY2hhciogIHZhbHVlLCBHRXJyb3IgKiplcnJvcikKK3dlYmtpdF9kb21fdGVzdF9vYmpfc2V0
X2F0dHJfd2l0aF9nZXR0ZXJfZXhjZXB0aW9uKFdlYktpdERPTVRlc3RPYmoqIHNlbGYsIGdsb25n
IHZhbHVlLCBHRXJyb3IgKiplcnJvcikKIHsKLSAgICBnX3JldHVybl9pZl9mYWlsKHNlbGYpOwor
ICAgIGdfcmV0dXJuX2lmX2ZhaWwgKHNlbGYpOwogICAgIFdlYkNvcmU6OlRlc3RPYmogKiBpdGVt
ID0gV2ViS2l0Ojpjb3JlKHNlbGYpOwotICAgIGdfcmV0dXJuX2lmX2ZhaWwodmFsdWUpOwotICAg
IFdlYkNvcmU6OlN0cmluZyBjb252ZXJ0ZWRfdmFsdWUgPSBXZWJDb3JlOjpTdHJpbmc6OmZyb21V
VEY4KHZhbHVlKTsKICAgICBXZWJDb3JlOjpFeGNlcHRpb25Db2RlIGVjID0gMDsKLSAgICBpdGVt
LT5zZXRTdHJpbmdBdHRyV2l0aFNldHRlckV4Y2VwdGlvbihjb252ZXJ0ZWRfdmFsdWUsIGVjKTsK
KyAgICBpdGVtLT5zZXRBdHRyV2l0aEdldHRlckV4Y2VwdGlvbih2YWx1ZSwgZWMpOwogICAgIGlm
IChlYykgewogICAgICAgICBXZWJDb3JlOjpFeGNlcHRpb25Db2RlRGVzY3JpcHRpb24gZWNkZXNj
OwogICAgICAgICBXZWJDb3JlOjpnZXRFeGNlcHRpb25Db2RlRGVzY3JpcHRpb24oZWMsIGVjZGVz
Yyk7CkBAIC02NzQsNyArNDk1LDcgQEAgd2Via2l0X2RvbV90ZXN0X29ial9zZXRfc3RyaW5nX2F0
dHJfd2l0aF9zZXR0ZXJfZXhjZXB0aW9uKFdlYktpdERPTVRlc3RPYmoqIHNlbGYKIGdjaGFyKiAK
IHdlYmtpdF9kb21fdGVzdF9vYmpfZ2V0X3NjcmlwdF9zdHJpbmdfYXR0cihXZWJLaXRET01UZXN0
T2JqKiBzZWxmKQogewotICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKHNlbGYsIDApOworICAgIGdf
cmV0dXJuX3ZhbF9pZl9mYWlsIChzZWxmLCAwKTsKICAgICBXZWJDb3JlOjpUZXN0T2JqICogaXRl
bSA9IFdlYktpdDo6Y29yZShzZWxmKTsKICAgICBnY2hhciogIHJlcyA9IGNvbnZlcnRUb1VURjhT
dHJpbmcoaXRlbS0+c2NyaXB0U3RyaW5nQXR0cigpKTsKICAgICByZXR1cm4gcmVzOwpAQCAtNjg0
LDcgKzUwNSw3IEBAIHdlYmtpdF9kb21fdGVzdF9vYmpfZ2V0X3NjcmlwdF9zdHJpbmdfYXR0cihX
ZWJLaXRET01UZXN0T2JqKiBzZWxmKQogZ2xvbmcKIHdlYmtpdF9kb21fdGVzdF9vYmpfZ2V0X2Nv
bmRpdGlvbmFsX2F0dHIxKFdlYktpdERPTVRlc3RPYmoqIHNlbGYpCiB7Ci0gICAgZ19yZXR1cm5f
dmFsX2lmX2ZhaWwoc2VsZiwgMCk7CisgICAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwgKHNlbGYsIDAp
OwogICAgIFdlYkNvcmU6OlRlc3RPYmogKiBpdGVtID0gV2ViS2l0Ojpjb3JlKHNlbGYpOwogICAg
IGdsb25nIHJlcyA9IGl0ZW0tPmNvbmRpdGlvbmFsQXR0cjEoKTsKICAgICByZXR1cm4gcmVzOwpA
QCAtNjk1LDcgKzUxNiw3IEBAIHdlYmtpdF9kb21fdGVzdF9vYmpfZ2V0X2NvbmRpdGlvbmFsX2F0
dHIxKFdlYktpdERPTVRlc3RPYmoqIHNlbGYpCiB2b2lkCiB3ZWJraXRfZG9tX3Rlc3Rfb2JqX3Nl
dF9jb25kaXRpb25hbF9hdHRyMShXZWJLaXRET01UZXN0T2JqKiBzZWxmLCBnbG9uZyB2YWx1ZSkK
IHsKLSAgICBnX3JldHVybl9pZl9mYWlsKHNlbGYpOworICAgIGdfcmV0dXJuX2lmX2ZhaWwgKHNl
bGYpOwogICAgIFdlYkNvcmU6OlRlc3RPYmogKiBpdGVtID0gV2ViS2l0Ojpjb3JlKHNlbGYpOwog
ICAgIGl0ZW0tPnNldENvbmRpdGlvbmFsQXR0cjEodmFsdWUpOwogfQpAQCAtNzA1LDcgKzUyNiw3
IEBAIHdlYmtpdF9kb21fdGVzdF9vYmpfc2V0X2NvbmRpdGlvbmFsX2F0dHIxKFdlYktpdERPTVRl
c3RPYmoqIHNlbGYsIGdsb25nIHZhbHVlKQogZ2xvbmcKIHdlYmtpdF9kb21fdGVzdF9vYmpfZ2V0
X2NvbmRpdGlvbmFsX2F0dHIyKFdlYktpdERPTVRlc3RPYmoqIHNlbGYpCiB7Ci0gICAgZ19yZXR1
cm5fdmFsX2lmX2ZhaWwoc2VsZiwgMCk7CisgICAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwgKHNlbGYs
IDApOwogICAgIFdlYkNvcmU6OlRlc3RPYmogKiBpdGVtID0gV2ViS2l0Ojpjb3JlKHNlbGYpOwog
ICAgIGdsb25nIHJlcyA9IGl0ZW0tPmNvbmRpdGlvbmFsQXR0cjIoKTsKICAgICByZXR1cm4gcmVz
OwpAQCAtNzE2LDcgKzUzNyw3IEBAIHdlYmtpdF9kb21fdGVzdF9vYmpfZ2V0X2NvbmRpdGlvbmFs
X2F0dHIyKFdlYktpdERPTVRlc3RPYmoqIHNlbGYpCiB2b2lkCiB3ZWJraXRfZG9tX3Rlc3Rfb2Jq
X3NldF9jb25kaXRpb25hbF9hdHRyMihXZWJLaXRET01UZXN0T2JqKiBzZWxmLCBnbG9uZyB2YWx1
ZSkKIHsKLSAgICBnX3JldHVybl9pZl9mYWlsKHNlbGYpOworICAgIGdfcmV0dXJuX2lmX2ZhaWwg
KHNlbGYpOwogICAgIFdlYkNvcmU6OlRlc3RPYmogKiBpdGVtID0gV2ViS2l0Ojpjb3JlKHNlbGYp
OwogICAgIGl0ZW0tPnNldENvbmRpdGlvbmFsQXR0cjIodmFsdWUpOwogfQpAQCAtNzI2LDcgKzU0
Nyw3IEBAIHdlYmtpdF9kb21fdGVzdF9vYmpfc2V0X2NvbmRpdGlvbmFsX2F0dHIyKFdlYktpdERP
TVRlc3RPYmoqIHNlbGYsIGdsb25nIHZhbHVlKQogZ2xvbmcKIHdlYmtpdF9kb21fdGVzdF9vYmpf
Z2V0X2NvbmRpdGlvbmFsX2F0dHIzKFdlYktpdERPTVRlc3RPYmoqIHNlbGYpCiB7Ci0gICAgZ19y
ZXR1cm5fdmFsX2lmX2ZhaWwoc2VsZiwgMCk7CisgICAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwgKHNl
bGYsIDApOwogICAgIFdlYkNvcmU6OlRlc3RPYmogKiBpdGVtID0gV2ViS2l0Ojpjb3JlKHNlbGYp
OwogICAgIGdsb25nIHJlcyA9IGl0ZW0tPmNvbmRpdGlvbmFsQXR0cjMoKTsKICAgICByZXR1cm4g
cmVzOwpAQCAtNzM3LDcgKzU1OCw3IEBAIHdlYmtpdF9kb21fdGVzdF9vYmpfZ2V0X2NvbmRpdGlv
bmFsX2F0dHIzKFdlYktpdERPTVRlc3RPYmoqIHNlbGYpCiB2b2lkCiB3ZWJraXRfZG9tX3Rlc3Rf
b2JqX3NldF9jb25kaXRpb25hbF9hdHRyMyhXZWJLaXRET01UZXN0T2JqKiBzZWxmLCBnbG9uZyB2
YWx1ZSkKIHsKLSAgICBnX3JldHVybl9pZl9mYWlsKHNlbGYpOworICAgIGdfcmV0dXJuX2lmX2Zh
aWwgKHNlbGYpOwogICAgIFdlYkNvcmU6OlRlc3RPYmogKiBpdGVtID0gV2ViS2l0Ojpjb3JlKHNl
bGYpOwogICAgIGl0ZW0tPnNldENvbmRpdGlvbmFsQXR0cjModmFsdWUpOwogfQpAQCAtNzQ2LDcg
KzU2Nyw3IEBAIHdlYmtpdF9kb21fdGVzdF9vYmpfc2V0X2NvbmRpdGlvbmFsX2F0dHIzKFdlYktp
dERPTVRlc3RPYmoqIHNlbGYsIGdsb25nIHZhbHVlKQogZ2xvbmcKIHdlYmtpdF9kb21fdGVzdF9v
YmpfZ2V0X2Rlc2NyaXB0aW9uKFdlYktpdERPTVRlc3RPYmoqIHNlbGYpCiB7Ci0gICAgZ19yZXR1
cm5fdmFsX2lmX2ZhaWwoc2VsZiwgMCk7CisgICAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwgKHNlbGYs
IDApOwogICAgIFdlYkNvcmU6OlRlc3RPYmogKiBpdGVtID0gV2ViS2l0Ojpjb3JlKHNlbGYpOwog
ICAgIGdsb25nIHJlcyA9IGl0ZW0tPmRlc2NyaXB0aW9uKCk7CiAgICAgcmV0dXJuIHJlczsKQEAg
LTc1NSw3ICs1NzYsNyBAQCB3ZWJraXRfZG9tX3Rlc3Rfb2JqX2dldF9kZXNjcmlwdGlvbihXZWJL
aXRET01UZXN0T2JqKiBzZWxmKQogZ2xvbmcKIHdlYmtpdF9kb21fdGVzdF9vYmpfZ2V0X2lkKFdl
YktpdERPTVRlc3RPYmoqIHNlbGYpCiB7Ci0gICAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwoc2VsZiwg
MCk7CisgICAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwgKHNlbGYsIDApOwogICAgIFdlYkNvcmU6OlRl
c3RPYmogKiBpdGVtID0gV2ViS2l0Ojpjb3JlKHNlbGYpOwogICAgIGdsb25nIHJlcyA9IGl0ZW0t
PmlkKCk7CiAgICAgcmV0dXJuIHJlczsKQEAgLTc2NCw3ICs1ODUsNyBAQCB3ZWJraXRfZG9tX3Rl
c3Rfb2JqX2dldF9pZChXZWJLaXRET01UZXN0T2JqKiBzZWxmKQogdm9pZAogd2Via2l0X2RvbV90
ZXN0X29ial9zZXRfaWQoV2ViS2l0RE9NVGVzdE9iaiogc2VsZiwgZ2xvbmcgdmFsdWUpCiB7Ci0g
ICAgZ19yZXR1cm5faWZfZmFpbChzZWxmKTsKKyAgICBnX3JldHVybl9pZl9mYWlsIChzZWxmKTsK
ICAgICBXZWJDb3JlOjpUZXN0T2JqICogaXRlbSA9IFdlYktpdDo6Y29yZShzZWxmKTsKICAgICBp
dGVtLT5zZXRJZCh2YWx1ZSk7CiB9CkBAIC03NzIsNyArNTkzLDcgQEAgd2Via2l0X2RvbV90ZXN0
X29ial9zZXRfaWQoV2ViS2l0RE9NVGVzdE9iaiogc2VsZiwgZ2xvbmcgdmFsdWUpCiBnY2hhciog
CiB3ZWJraXRfZG9tX3Rlc3Rfb2JqX2dldF9oYXNoKFdlYktpdERPTVRlc3RPYmoqIHNlbGYpCiB7
Ci0gICAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwoc2VsZiwgMCk7CisgICAgZ19yZXR1cm5fdmFsX2lm
X2ZhaWwgKHNlbGYsIDApOwogICAgIFdlYkNvcmU6OlRlc3RPYmogKiBpdGVtID0gV2ViS2l0Ojpj
b3JlKHNlbGYpOwogICAgIGdjaGFyKiAgcmVzID0gY29udmVydFRvVVRGOFN0cmluZyhpdGVtLT5o
YXNoKCkpOwogICAgIHJldHVybiByZXM7CkBAIC04MDQsMTggKzYyNSw5IEBAIGVudW0gewogICAg
IFBST1BfVU5TSUdORURfTE9OR19MT05HX0FUVFIsCiAgICAgUFJPUF9TVFJJTkdfQVRUUiwKICAg
ICBQUk9QX1RFU1RfT0JKX0FUVFIsCi0gICAgUFJPUF9SRUZMRUNURURfU1RSSU5HX0FUVFIsCi0g
ICAgUFJPUF9SRUZMRUNURURfSU5URUdSQUxfQVRUUiwKLSAgICBQUk9QX1JFRkxFQ1RFRF9CT09M
RUFOX0FUVFIsCi0gICAgUFJPUF9SRUZMRUNURURfVVJMX0FUVFIsCi0gICAgUFJPUF9SRUZMRUNU
RURfU1RSSU5HX0FUVFIsCi0gICAgUFJPUF9SRUZMRUNURURfQ1VTVE9NX0lOVEVHUkFMX0FUVFIs
Ci0gICAgUFJPUF9SRUZMRUNURURfQ1VTVE9NX0JPT0xFQU5fQVRUUiwKLSAgICBQUk9QX1JFRkxF
Q1RFRF9VUkxfQVRUUiwKLSAgICBQUk9QX0FUVFJfV0lUSF9HRVRURVJfRVhDRVBUSU9OLAorICAg
IFBST1BfQVRUUl9XSVRIX0VYQ0VQVElPTiwKICAgICBQUk9QX0FUVFJfV0lUSF9TRVRURVJfRVhD
RVBUSU9OLAotICAgIFBST1BfU1RSSU5HX0FUVFJfV0lUSF9HRVRURVJfRVhDRVBUSU9OLAotICAg
IFBST1BfU1RSSU5HX0FUVFJfV0lUSF9TRVRURVJfRVhDRVBUSU9OLAorICAgIFBST1BfQVRUUl9X
SVRIX0dFVFRFUl9FWENFUFRJT04sCiAgICAgUFJPUF9DVVNUT01fQVRUUiwKICAgICBQUk9QX1ND
UklQVF9TVFJJTkdfQVRUUiwKICNpZiBFTkFCTEUoQ29uZGl0aW9uMSkKQEAgLTg2OSw1MCArNjgx
LDkgQEAgc3RhdGljIHZvaWQgd2Via2l0X2RvbV90ZXN0X29ial9zZXRfcHJvcGVydHkoR09iamVj
dCogb2JqZWN0LCBndWludCBwcm9wX2lkLCBjb24KICAgICAgICAgY29yZVNlbGYtPnNldFN0cmlu
Z0F0dHIoV2ViQ29yZTo6U3RyaW5nOjpmcm9tVVRGOChnX3ZhbHVlX2dldF9zdHJpbmcodmFsdWUp
KSk7CiAgICAgICAgIGJyZWFrOwogICAgIH0KLSAgICBjYXNlIFBST1BfUkVGTEVDVEVEX1NUUklO
R19BVFRSOgotICAgIHsKLSAgICAgICAgY29yZVNlbGYtPnNldEF0dHJpYnV0ZShXZWJDb3JlOjpI
VE1MTmFtZXM6OnJlZmxlY3RlZHN0cmluZ2F0dHJBdHRyLCBXZWJDb3JlOjpTdHJpbmc6OmZyb21V
VEY4KGdfdmFsdWVfZ2V0X3N0cmluZyh2YWx1ZSkpKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgfQot
ICAgIGNhc2UgUFJPUF9SRUZMRUNURURfSU5URUdSQUxfQVRUUjoKLSAgICB7Ci0gICAgICAgIGNv
cmVTZWxmLT5zZXRJbnRlZ3JhbEF0dHJpYnV0ZShXZWJDb3JlOjpIVE1MTmFtZXM6OnJlZmxlY3Rl
ZGludGVncmFsYXR0ckF0dHIsIChnX3ZhbHVlX2dldF9sb25nKHZhbHVlKSkpOwotICAgICAgICBi
cmVhazsKLSAgICB9Ci0gICAgY2FzZSBQUk9QX1JFRkxFQ1RFRF9CT09MRUFOX0FUVFI6Ci0gICAg
ewotICAgICAgICBjb3JlU2VsZi0+c2V0Qm9vbGVhbkF0dHJpYnV0ZShXZWJDb3JlOjpIVE1MTmFt
ZXM6OnJlZmxlY3RlZGJvb2xlYW5hdHRyQXR0ciwgKGdfdmFsdWVfZ2V0X2Jvb2xlYW4odmFsdWUp
KSk7Ci0gICAgICAgIGJyZWFrOwotICAgIH0KLSAgICBjYXNlIFBST1BfUkVGTEVDVEVEX1VSTF9B
VFRSOgotICAgIHsKLSAgICAgICAgY29yZVNlbGYtPnNldEF0dHJpYnV0ZShXZWJDb3JlOjpIVE1M
TmFtZXM6OnJlZmxlY3RlZHVybGF0dHJBdHRyLCBXZWJDb3JlOjpTdHJpbmc6OmZyb21VVEY4KGdf
dmFsdWVfZ2V0X3N0cmluZyh2YWx1ZSkpKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgfQotICAgIGNh
c2UgUFJPUF9SRUZMRUNURURfU1RSSU5HX0FUVFI6Ci0gICAgewotICAgICAgICBjb3JlU2VsZi0+
c2V0QXR0cmlidXRlKFdlYkNvcmU6OkhUTUxOYW1lczo6Y3VzdG9tQ29udGVudFN0cmluZ0F0dHJB
dHRyLCBXZWJDb3JlOjpTdHJpbmc6OmZyb21VVEY4KGdfdmFsdWVfZ2V0X3N0cmluZyh2YWx1ZSkp
KTsKLSAgICAgICAgYnJlYWs7Ci0gICAgfQotICAgIGNhc2UgUFJPUF9SRUZMRUNURURfQ1VTVE9N
X0lOVEVHUkFMX0FUVFI6Ci0gICAgewotICAgICAgICBjb3JlU2VsZi0+c2V0SW50ZWdyYWxBdHRy
aWJ1dGUoV2ViQ29yZTo6SFRNTE5hbWVzOjpjdXN0b21Db250ZW50SW50ZWdyYWxBdHRyQXR0ciwg
KGdfdmFsdWVfZ2V0X2xvbmcodmFsdWUpKSk7Ci0gICAgICAgIGJyZWFrOwotICAgIH0KLSAgICBj
YXNlIFBST1BfUkVGTEVDVEVEX0NVU1RPTV9CT09MRUFOX0FUVFI6Ci0gICAgewotICAgICAgICBj
b3JlU2VsZi0+c2V0Qm9vbGVhbkF0dHJpYnV0ZShXZWJDb3JlOjpIVE1MTmFtZXM6OmN1c3RvbUNv
bnRlbnRCb29sZWFuQXR0ckF0dHIsIChnX3ZhbHVlX2dldF9ib29sZWFuKHZhbHVlKSkpOwotICAg
ICAgICBicmVhazsKLSAgICB9Ci0gICAgY2FzZSBQUk9QX1JFRkxFQ1RFRF9VUkxfQVRUUjoKLSAg
ICB7Ci0gICAgICAgIGNvcmVTZWxmLT5zZXRBdHRyaWJ1dGUoV2ViQ29yZTo6SFRNTE5hbWVzOjpj
dXN0b21Db250ZW50VVJMQXR0ckF0dHIsIFdlYkNvcmU6OlN0cmluZzo6ZnJvbVVURjgoZ192YWx1
ZV9nZXRfc3RyaW5nKHZhbHVlKSkpOwotICAgICAgICBicmVhazsKLSAgICB9Ci0gICAgY2FzZSBQ
Uk9QX0FUVFJfV0lUSF9HRVRURVJfRVhDRVBUSU9OOgorICAgIGNhc2UgUFJPUF9BVFRSX1dJVEhf
RVhDRVBUSU9OOgogICAgIHsKLSAgICAgICAgV2ViQ29yZTo6RXhjZXB0aW9uQ29kZSBlYyA9IDA7
Ci0gICAgICAgIGNvcmVTZWxmLT5zZXRBdHRyV2l0aEdldHRlckV4Y2VwdGlvbigoZ192YWx1ZV9n
ZXRfbG9uZyh2YWx1ZSkpLCBlYyk7CisgICAgICAgIGNvcmVTZWxmLT5zZXRBdHRyV2l0aEV4Y2Vw
dGlvbigoZ192YWx1ZV9nZXRfbG9uZyh2YWx1ZSkpKTsKICAgICAgICAgYnJlYWs7CiAgICAgfQog
ICAgIGNhc2UgUFJPUF9BVFRSX1dJVEhfU0VUVEVSX0VYQ0VQVElPTjoKQEAgLTkyMSwxNiArNjky
LDEwIEBAIHN0YXRpYyB2b2lkIHdlYmtpdF9kb21fdGVzdF9vYmpfc2V0X3Byb3BlcnR5KEdPYmpl
Y3QqIG9iamVjdCwgZ3VpbnQgcHJvcF9pZCwgY29uCiAgICAgICAgIGNvcmVTZWxmLT5zZXRBdHRy
V2l0aFNldHRlckV4Y2VwdGlvbigoZ192YWx1ZV9nZXRfbG9uZyh2YWx1ZSkpLCBlYyk7CiAgICAg
ICAgIGJyZWFrOwogICAgIH0KLSAgICBjYXNlIFBST1BfU1RSSU5HX0FUVFJfV0lUSF9HRVRURVJf
RVhDRVBUSU9OOgotICAgIHsKLSAgICAgICAgV2ViQ29yZTo6RXhjZXB0aW9uQ29kZSBlYyA9IDA7
Ci0gICAgICAgIGNvcmVTZWxmLT5zZXRTdHJpbmdBdHRyV2l0aEdldHRlckV4Y2VwdGlvbihXZWJD
b3JlOjpTdHJpbmc6OmZyb21VVEY4KGdfdmFsdWVfZ2V0X3N0cmluZyh2YWx1ZSkpLCBlYyk7Ci0g
ICAgICAgIGJyZWFrOwotICAgIH0KLSAgICBjYXNlIFBST1BfU1RSSU5HX0FUVFJfV0lUSF9TRVRU
RVJfRVhDRVBUSU9OOgorICAgIGNhc2UgUFJPUF9BVFRSX1dJVEhfR0VUVEVSX0VYQ0VQVElPTjoK
ICAgICB7CiAgICAgICAgIFdlYkNvcmU6OkV4Y2VwdGlvbkNvZGUgZWMgPSAwOwotICAgICAgICBj
b3JlU2VsZi0+c2V0U3RyaW5nQXR0cldpdGhTZXR0ZXJFeGNlcHRpb24oV2ViQ29yZTo6U3RyaW5n
Ojpmcm9tVVRGOChnX3ZhbHVlX2dldF9zdHJpbmcodmFsdWUpKSwgZWMpOworICAgICAgICBjb3Jl
U2VsZi0+c2V0QXR0cldpdGhHZXR0ZXJFeGNlcHRpb24oKGdfdmFsdWVfZ2V0X2xvbmcodmFsdWUp
KSwgZWMpOwogICAgICAgICBicmVhazsKICAgICB9CiAjaWYgRU5BQkxFKENvbmRpdGlvbjEpCkBA
IC0xMDEzLDY2ICs3NzgsMjAgQEAgc3RhdGljIHZvaWQgd2Via2l0X2RvbV90ZXN0X29ial9nZXRf
cHJvcGVydHkoR09iamVjdCogb2JqZWN0LCBndWludCBwcm9wX2lkLCBHVmEKICAgICAgICAgZ192
YWx1ZV9zZXRfb2JqZWN0KHZhbHVlLCBXZWJLaXQ6OmtpdChwdHIuZ2V0KCkpKTsKICAgICAgICAg
YnJlYWs7CiAgICAgfQotICAgIGNhc2UgUFJPUF9SRUZMRUNURURfU1RSSU5HX0FUVFI6Ci0gICAg
ewotICAgICAgICBnX3ZhbHVlX3Rha2Vfc3RyaW5nKHZhbHVlLCBjb252ZXJ0VG9VVEY4U3RyaW5n
KGNvcmVTZWxmLT5nZXRBdHRyaWJ1dGUoV2ViQ29yZTo6SFRNTE5hbWVzOjpyZWZsZWN0ZWRzdHJp
bmdhdHRyQXR0cikpKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgfQotICAgIGNhc2UgUFJPUF9SRUZM
RUNURURfSU5URUdSQUxfQVRUUjoKLSAgICB7Ci0gICAgICAgIGdfdmFsdWVfc2V0X2xvbmcodmFs
dWUsIGNvcmVTZWxmLT5yZWZsZWN0ZWRJbnRlZ3JhbEF0dHIoKSk7Ci0gICAgICAgIGJyZWFrOwot
ICAgIH0KLSAgICBjYXNlIFBST1BfUkVGTEVDVEVEX0JPT0xFQU5fQVRUUjoKLSAgICB7Ci0gICAg
ICAgIGdfdmFsdWVfc2V0X2Jvb2xlYW4odmFsdWUsIGNvcmVTZWxmLT5yZWZsZWN0ZWRCb29sZWFu
QXR0cigpKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgfQotICAgIGNhc2UgUFJPUF9SRUZMRUNURURf
VVJMX0FUVFI6Ci0gICAgewotICAgICAgICBnX3ZhbHVlX3Rha2Vfc3RyaW5nKHZhbHVlLCBjb252
ZXJ0VG9VVEY4U3RyaW5nKGNvcmVTZWxmLT5nZXRVUkxBdHRyaWJ1dGUoV2ViQ29yZTo6SFRNTE5h
bWVzOjpyZWZsZWN0ZWR1cmxhdHRyQXR0cikpKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgfQotICAg
IGNhc2UgUFJPUF9SRUZMRUNURURfU1RSSU5HX0FUVFI6Ci0gICAgewotICAgICAgICBnX3ZhbHVl
X3Rha2Vfc3RyaW5nKHZhbHVlLCBjb252ZXJ0VG9VVEY4U3RyaW5nKGNvcmVTZWxmLT5nZXRBdHRy
aWJ1dGUoV2ViQ29yZTo6SFRNTE5hbWVzOjpjdXN0b21Db250ZW50U3RyaW5nQXR0ckF0dHIpKSk7
Ci0gICAgICAgIGJyZWFrOwotICAgIH0KLSAgICBjYXNlIFBST1BfUkVGTEVDVEVEX0NVU1RPTV9J
TlRFR1JBTF9BVFRSOgotICAgIHsKLSAgICAgICAgZ192YWx1ZV9zZXRfbG9uZyh2YWx1ZSwgY29y
ZVNlbGYtPnJlZmxlY3RlZEN1c3RvbUludGVncmFsQXR0cigpKTsKLSAgICAgICAgYnJlYWs7Ci0g
ICAgfQotICAgIGNhc2UgUFJPUF9SRUZMRUNURURfQ1VTVE9NX0JPT0xFQU5fQVRUUjoKKyAgICBj
YXNlIFBST1BfQVRUUl9XSVRIX0VYQ0VQVElPTjoKICAgICB7Ci0gICAgICAgIGdfdmFsdWVfc2V0
X2Jvb2xlYW4odmFsdWUsIGNvcmVTZWxmLT5yZWZsZWN0ZWRDdXN0b21Cb29sZWFuQXR0cigpKTsK
LSAgICAgICAgYnJlYWs7Ci0gICAgfQotICAgIGNhc2UgUFJPUF9SRUZMRUNURURfVVJMX0FUVFI6
Ci0gICAgewotICAgICAgICBnX3ZhbHVlX3Rha2Vfc3RyaW5nKHZhbHVlLCBjb252ZXJ0VG9VVEY4
U3RyaW5nKGNvcmVTZWxmLT5nZXRVUkxBdHRyaWJ1dGUoV2ViQ29yZTo6SFRNTE5hbWVzOjpjdXN0
b21Db250ZW50VVJMQXR0ckF0dHIpKSk7Ci0gICAgICAgIGJyZWFrOwotICAgIH0KLSAgICBjYXNl
IFBST1BfQVRUUl9XSVRIX0dFVFRFUl9FWENFUFRJT046Ci0gICAgewotICAgICAgICBXZWJDb3Jl
OjpFeGNlcHRpb25Db2RlIGVjID0gMDsKLSAgICAgICAgZ192YWx1ZV9zZXRfbG9uZyh2YWx1ZSwg
Y29yZVNlbGYtPmF0dHJXaXRoR2V0dGVyRXhjZXB0aW9uKGVjKSk7CisgICAgICAgIGdfdmFsdWVf
c2V0X2xvbmcodmFsdWUsIGNvcmVTZWxmLT5hdHRyV2l0aEV4Y2VwdGlvbigpKTsKICAgICAgICAg
YnJlYWs7CiAgICAgfQogICAgIGNhc2UgUFJPUF9BVFRSX1dJVEhfU0VUVEVSX0VYQ0VQVElPTjoK
ICAgICB7Ci0gICAgICAgIGdfdmFsdWVfc2V0X2xvbmcodmFsdWUsIGNvcmVTZWxmLT5hdHRyV2l0
aFNldHRlckV4Y2VwdGlvbigpKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgfQotICAgIGNhc2UgUFJP
UF9TVFJJTkdfQVRUUl9XSVRIX0dFVFRFUl9FWENFUFRJT046Ci0gICAgewogICAgICAgICBXZWJD
b3JlOjpFeGNlcHRpb25Db2RlIGVjID0gMDsKLSAgICAgICAgZ192YWx1ZV90YWtlX3N0cmluZyh2
YWx1ZSwgY29udmVydFRvVVRGOFN0cmluZyhjb3JlU2VsZi0+c3RyaW5nQXR0cldpdGhHZXR0ZXJF
eGNlcHRpb24oZWMpKSk7CisgICAgICAgIGdfdmFsdWVfc2V0X2xvbmcodmFsdWUsIGNvcmVTZWxm
LT5hdHRyV2l0aFNldHRlckV4Y2VwdGlvbihlYykpOwogICAgICAgICBicmVhazsKICAgICB9Ci0g
ICAgY2FzZSBQUk9QX1NUUklOR19BVFRSX1dJVEhfU0VUVEVSX0VYQ0VQVElPTjoKKyAgICBjYXNl
IFBST1BfQVRUUl9XSVRIX0dFVFRFUl9FWENFUFRJT046CiAgICAgewotICAgICAgICBnX3ZhbHVl
X3Rha2Vfc3RyaW5nKHZhbHVlLCBjb252ZXJ0VG9VVEY4U3RyaW5nKGNvcmVTZWxmLT5zdHJpbmdB
dHRyV2l0aFNldHRlckV4Y2VwdGlvbigpKSk7CisgICAgICAgIGdfdmFsdWVfc2V0X2xvbmcodmFs
dWUsIGNvcmVTZWxmLT5hdHRyV2l0aEdldHRlckV4Y2VwdGlvbigpKTsKICAgICAgICAgYnJlYWs7
CiAgICAgfQogICAgIGNhc2UgUFJPUF9TQ1JJUFRfU1RSSU5HX0FUVFI6CkBAIC0xMTk1LDY2ICs5
MTQsMjQgQEAgR19NQVhVSU5UNjQsIC8qIG1pbiAqLwogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXRUJLSVRfVFlQRV9ET01fVEVTVF9P
QkosIC8qIGdvYmplY3QgdHlwZSAqLwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBXRUJLSVRfUEFSQU1fUkVBRFdSSVRFKSk7CiAgICAg
Z19vYmplY3RfY2xhc3NfaW5zdGFsbF9wcm9wZXJ0eShnb2JqZWN0Q2xhc3MsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBQUk9QX1JFRkxFQ1RFRF9TVFJJTkdfQVRUUiwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdfcGFyYW1fc3BlY19zdHJpbmcoInJl
ZmxlY3RlZC1zdHJpbmctYXR0ciIsIC8qIG5hbWUgKi8KLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRlc3Rfb2JqX3JlZmxlY3RlZC1z
dHJpbmctYXR0ciIsIC8qIHNob3J0IGRlc2NyaXB0aW9uICovCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyZWFkLXdyaXRlICBnY2hh
ciogIFRlc3RPYmoucmVmbGVjdGVkLXN0cmluZy1hdHRyIiwgLyogbG9uZ2VyIC0gY291bGQgZG8g
d2l0aCBzb21lIGV4dHJhIGRvYyBzdHVmZiBoZXJlICovCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIiLCAvKiBkZWZhdWx0ICovCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFdFQktJVF9QQVJBTV9SRUFEV1JJVEUpKTsKLSAgICBnX29iamVjdF9jbGFzc19pbnN0YWxsX3By
b3BlcnR5KGdvYmplY3RDbGFzcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFBST1BfUkVGTEVDVEVEX0lOVEVHUkFMX0FUVFIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBnX3BhcmFtX3NwZWNfbG9uZygicmVmbGVjdGVkLWludGVncmFsLWF0dHIiLCAv
KiBuYW1lICovCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJ0ZXN0X29ial9yZWZsZWN0ZWQtaW50ZWdyYWwtYXR0ciIsIC8qIHNob3J0
IGRlc2NyaXB0aW9uICovCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICJyZWFkLXdyaXRlICBnbG9uZyBUZXN0T2JqLnJlZmxlY3RlZC1p
bnRlZ3JhbC1hdHRyIiwgLyogbG9uZ2VyIC0gY291bGQgZG8gd2l0aCBzb21lIGV4dHJhIGRvYyBz
dHVmZiBoZXJlICovCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQUk9QX0FU
VFJfV0lUSF9FWENFUFRJT04sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBn
X3BhcmFtX3NwZWNfbG9uZygiYXR0ci13aXRoLWV4Y2VwdGlvbiIsIC8qIG5hbWUgKi8KKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRl
c3Rfb2JqX2F0dHItd2l0aC1leGNlcHRpb24iLCAvKiBzaG9ydCBkZXNjcmlwdGlvbiAqLworICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAi
cmVhZC13cml0ZSAgZ2xvbmcgVGVzdE9iai5hdHRyLXdpdGgtZXhjZXB0aW9uIiwgLyogbG9uZ2Vy
IC0gY291bGQgZG8gd2l0aCBzb21lIGV4dHJhIGRvYyBzdHVmZiBoZXJlICovCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdfTUlOTE9O
RywgLyogbWluICovCiBHX01BWExPTkcsIC8qIG1heCAqLwogMCwgLyogZGVmYXVsdCAqLwogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBX
RUJLSVRfUEFSQU1fUkVBRFdSSVRFKSk7CiAgICAgZ19vYmplY3RfY2xhc3NfaW5zdGFsbF9wcm9w
ZXJ0eShnb2JqZWN0Q2xhc3MsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQ
Uk9QX1JFRkxFQ1RFRF9CT09MRUFOX0FUVFIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBnX3BhcmFtX3NwZWNfYm9vbGVhbigicmVmbGVjdGVkLWJvb2xlYW4tYXR0ciIsIC8q
IG5hbWUgKi8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgInRlc3Rfb2JqX3JlZmxlY3RlZC1ib29sZWFuLWF0dHIiLCAvKiBzaG9ydCBk
ZXNjcmlwdGlvbiAqLwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAicmVhZC13cml0ZSAgZ2Jvb2xlYW4gVGVzdE9iai5yZWZsZWN0ZWQt
Ym9vbGVhbi1hdHRyIiwgLyogbG9uZ2VyIC0gY291bGQgZG8gd2l0aCBzb21lIGV4dHJhIGRvYyBz
dHVmZiBoZXJlICovCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIEZBTFNFLCAvKiBkZWZhdWx0ICovCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdFQktJVF9QQVJBTV9SRUFE
V1JJVEUpKTsKLSAgICBnX29iamVjdF9jbGFzc19pbnN0YWxsX3Byb3BlcnR5KGdvYmplY3RDbGFz
cywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBST1BfUkVGTEVDVEVEX1VS
TF9BVFRSLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ19wYXJhbV9zcGVj
X3N0cmluZygicmVmbGVjdGVkLXVybC1hdHRyIiwgLyogbmFtZSAqLwotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGVzdF9vYmpfcmVm
bGVjdGVkLXVybC1hdHRyIiwgLyogc2hvcnQgZGVzY3JpcHRpb24gKi8KLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInJlYWQtd3JpdGUg
IGdjaGFyKiAgVGVzdE9iai5yZWZsZWN0ZWQtdXJsLWF0dHIiLCAvKiBsb25nZXIgLSBjb3VsZCBk
byB3aXRoIHNvbWUgZXh0cmEgZG9jIHN0dWZmIGhlcmUgKi8KLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiIsIC8qIGRlZmF1bHQgKi8K
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgV0VCS0lUX1BBUkFNX1JFQURXUklURSkpOwotICAgIGdfb2JqZWN0X2NsYXNzX2luc3RhbGxf
cHJvcGVydHkoZ29iamVjdENsYXNzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgUFJPUF9SRUZMRUNURURfU1RSSU5HX0FUVFIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBnX3BhcmFtX3NwZWNfc3RyaW5nKCJyZWZsZWN0ZWQtc3RyaW5nLWF0dHIiLCAv
KiBuYW1lICovCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJ0ZXN0X29ial9yZWZsZWN0ZWQtc3RyaW5nLWF0dHIiLCAvKiBzaG9ydCBk
ZXNjcmlwdGlvbiAqLwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAicmVhZC13cml0ZSAgZ2NoYXIqICBUZXN0T2JqLnJlZmxlY3RlZC1z
dHJpbmctYXR0ciIsIC8qIGxvbmdlciAtIGNvdWxkIGRvIHdpdGggc29tZSBleHRyYSBkb2Mgc3R1
ZmYgaGVyZSAqLwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAiIiwgLyogZGVmYXVsdCAqLwotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXRUJLSVRfUEFSQU1fUkVBRFdSSVRF
KSk7Ci0gICAgZ19vYmplY3RfY2xhc3NfaW5zdGFsbF9wcm9wZXJ0eShnb2JqZWN0Q2xhc3MsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQUk9QX1JFRkxFQ1RFRF9DVVNUT01f
SU5URUdSQUxfQVRUUiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdfcGFy
YW1fc3BlY19sb25nKCJyZWZsZWN0ZWQtY3VzdG9tLWludGVncmFsLWF0dHIiLCAvKiBuYW1lICov
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJ0ZXN0X29ial9yZWZsZWN0ZWQtY3VzdG9tLWludGVncmFsLWF0dHIiLCAvKiBzaG9ydCBk
ZXNjcmlwdGlvbiAqLwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAicmVhZC13cml0ZSAgZ2xvbmcgVGVzdE9iai5yZWZsZWN0ZWQtY3Vz
dG9tLWludGVncmFsLWF0dHIiLCAvKiBsb25nZXIgLSBjb3VsZCBkbyB3aXRoIHNvbWUgZXh0cmEg
ZG9jIHN0dWZmIGhlcmUgKi8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBS
T1BfQVRUUl9XSVRIX1NFVFRFUl9FWENFUFRJT04sCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBnX3BhcmFtX3NwZWNfbG9uZygiYXR0ci13aXRoLXNldHRlci1leGNlcHRpb24i
LCAvKiBuYW1lICovCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICJ0ZXN0X29ial9hdHRyLXdpdGgtc2V0dGVyLWV4Y2VwdGlvbiIsIC8q
IHNob3J0IGRlc2NyaXB0aW9uICovCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICJyZWFkLXdyaXRlICBnbG9uZyBUZXN0T2JqLmF0dHIt
d2l0aC1zZXR0ZXItZXhjZXB0aW9uIiwgLyogbG9uZ2VyIC0gY291bGQgZG8gd2l0aCBzb21lIGV4
dHJhIGRvYyBzdHVmZiBoZXJlICovCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIEdfTUlOTE9ORywgLyogbWluICovCiBHX01BWExPTkcs
IC8qIG1heCAqLwogMCwgLyogZGVmYXVsdCAqLwogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXRUJLSVRfUEFSQU1fUkVBRFdSSVRFKSk7
CiAgICAgZ19vYmplY3RfY2xhc3NfaW5zdGFsbF9wcm9wZXJ0eShnb2JqZWN0Q2xhc3MsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQUk9QX1JFRkxFQ1RFRF9DVVNUT01fQk9P
TEVBTl9BVFRSLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ19wYXJhbV9z
cGVjX2Jvb2xlYW4oInJlZmxlY3RlZC1jdXN0b20tYm9vbGVhbi1hdHRyIiwgLyogbmFtZSAqLwot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAidGVzdF9vYmpfcmVmbGVjdGVkLWN1c3RvbS1ib29sZWFuLWF0dHIiLCAvKiBzaG9ydCBkZXNj
cmlwdGlvbiAqLwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAicmVhZC13cml0ZSAgZ2Jvb2xlYW4gVGVzdE9iai5yZWZsZWN0ZWQtY3Vz
dG9tLWJvb2xlYW4tYXR0ciIsIC8qIGxvbmdlciAtIGNvdWxkIGRvIHdpdGggc29tZSBleHRyYSBk
b2Mgc3R1ZmYgaGVyZSAqLwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBGQUxTRSwgLyogZGVmYXVsdCAqLwotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXRUJLSVRfUEFSQU1f
UkVBRFdSSVRFKSk7Ci0gICAgZ19vYmplY3RfY2xhc3NfaW5zdGFsbF9wcm9wZXJ0eShnb2JqZWN0
Q2xhc3MsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQUk9QX1JFRkxFQ1RF
RF9VUkxfQVRUUiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdfcGFyYW1f
c3BlY19zdHJpbmcoInJlZmxlY3RlZC11cmwtYXR0ciIsIC8qIG5hbWUgKi8KLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRlc3Rfb2Jq
X3JlZmxlY3RlZC11cmwtYXR0ciIsIC8qIHNob3J0IGRlc2NyaXB0aW9uICovCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyZWFkLXdy
aXRlICBnY2hhciogIFRlc3RPYmoucmVmbGVjdGVkLXVybC1hdHRyIiwgLyogbG9uZ2VyIC0gY291
bGQgZG8gd2l0aCBzb21lIGV4dHJhIGRvYyBzdHVmZiBoZXJlICovCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIiLCAvKiBkZWZhdWx0
ICovCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFdFQktJVF9QQVJBTV9SRUFEV1JJVEUpKTsKLSAgICBnX29iamVjdF9jbGFzc19pbnN0
YWxsX3Byb3BlcnR5KGdvYmplY3RDbGFzcywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFBST1BfQVRUUl9XSVRIX0dFVFRFUl9FWENFUFRJT04sCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBnX3BhcmFtX3NwZWNfbG9uZygiYXR0ci13aXRoLWdldHRlci1l
eGNlcHRpb24iLCAvKiBuYW1lICovCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICJ0ZXN0X29ial9hdHRyLXdpdGgtZ2V0dGVyLWV4Y2Vw
dGlvbiIsIC8qIHNob3J0IGRlc2NyaXB0aW9uICovCkBAIC0xMjY0LDI5ICs5NDEsNiBAQCBHX01B
WExPTkcsIC8qIG1heCAqLwogMCwgLyogZGVmYXVsdCAqLwogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXRUJLSVRfUEFSQU1fUkVBRFdS
SVRFKSk7CiAgICAgZ19vYmplY3RfY2xhc3NfaW5zdGFsbF9wcm9wZXJ0eShnb2JqZWN0Q2xhc3Ms
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQUk9QX0FUVFJfV0lUSF9TRVRU
RVJfRVhDRVBUSU9OLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ19wYXJh
bV9zcGVjX2xvbmcoImF0dHItd2l0aC1zZXR0ZXItZXhjZXB0aW9uIiwgLyogbmFtZSAqLwotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAi
dGVzdF9vYmpfYXR0ci13aXRoLXNldHRlci1leGNlcHRpb24iLCAvKiBzaG9ydCBkZXNjcmlwdGlv
biAqLwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAicmVhZC13cml0ZSAgZ2xvbmcgVGVzdE9iai5hdHRyLXdpdGgtc2V0dGVyLWV4Y2Vw
dGlvbiIsIC8qIGxvbmdlciAtIGNvdWxkIGRvIHdpdGggc29tZSBleHRyYSBkb2Mgc3R1ZmYgaGVy
ZSAqLwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBHX01JTkxPTkcsIC8qIG1pbiAqLwotR19NQVhMT05HLCAvKiBtYXggKi8KLTAsIC8q
IGRlZmF1bHQgKi8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgV0VCS0lUX1BBUkFNX1JFQURXUklURSkpOwotICAgIGdfb2JqZWN0X2Ns
YXNzX2luc3RhbGxfcHJvcGVydHkoZ29iamVjdENsYXNzLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgUFJPUF9TVFJJTkdfQVRUUl9XSVRIX0dFVFRFUl9FWENFUFRJT04sCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnX3BhcmFtX3NwZWNfc3RyaW5nKCJz
dHJpbmctYXR0ci13aXRoLWdldHRlci1leGNlcHRpb24iLCAvKiBuYW1lICovCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0ZXN0X29i
al9zdHJpbmctYXR0ci13aXRoLWdldHRlci1leGNlcHRpb24iLCAvKiBzaG9ydCBkZXNjcmlwdGlv
biAqLwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAicmVhZC13cml0ZSAgZ2NoYXIqICBUZXN0T2JqLnN0cmluZy1hdHRyLXdpdGgtZ2V0
dGVyLWV4Y2VwdGlvbiIsIC8qIGxvbmdlciAtIGNvdWxkIGRvIHdpdGggc29tZSBleHRyYSBkb2Mg
c3R1ZmYgaGVyZSAqLwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAiIiwgLyogZGVmYXVsdCAqLwotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXRUJLSVRfUEFSQU1fUkVBRFdS
SVRFKSk7Ci0gICAgZ19vYmplY3RfY2xhc3NfaW5zdGFsbF9wcm9wZXJ0eShnb2JqZWN0Q2xhc3Ms
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQUk9QX1NUUklOR19BVFRSX1dJ
VEhfU0VUVEVSX0VYQ0VQVElPTiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGdfcGFyYW1fc3BlY19zdHJpbmcoInN0cmluZy1hdHRyLXdpdGgtc2V0dGVyLWV4Y2VwdGlvbiIs
IC8qIG5hbWUgKi8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgInRlc3Rfb2JqX3N0cmluZy1hdHRyLXdpdGgtc2V0dGVyLWV4Y2VwdGlv
biIsIC8qIHNob3J0IGRlc2NyaXB0aW9uICovCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyZWFkLXdyaXRlICBnY2hhciogIFRlc3RP
Ymouc3RyaW5nLWF0dHItd2l0aC1zZXR0ZXItZXhjZXB0aW9uIiwgLyogbG9uZ2VyIC0gY291bGQg
ZG8gd2l0aCBzb21lIGV4dHJhIGRvYyBzdHVmZiBoZXJlICovCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIiLCAvKiBkZWZhdWx0ICov
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFdFQktJVF9QQVJBTV9SRUFEV1JJVEUpKTsKLSAgICBnX29iamVjdF9jbGFzc19pbnN0YWxs
X3Byb3BlcnR5KGdvYmplY3RDbGFzcywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFBST1BfU0NSSVBUX1NUUklOR19BVFRSLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgZ19wYXJhbV9zcGVjX3N0cmluZygic2NyaXB0LXN0cmluZy1hdHRyIiwgLyogbmFt
ZSAqLwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAidGVzdF9vYmpfc2NyaXB0LXN0cmluZy1hdHRyIiwgLyogc2hvcnQgZGVzY3JpcHRp
b24gKi8KZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3Qv
V2ViS2l0RE9NVGVzdE9iai5oIGIvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVj
dC9XZWJLaXRET01UZXN0T2JqLmgKaW5kZXggOGRjZDhjMzFlMzM2M2JlNzI0OGEzNzViNTk3MmE1
MTY5NzAwYzM5Ny4uMzBmNjQxNGViMTc3Y2UyZGY0ODQxYTIyMGQ3NjkxYWQ4Y2ZkNTA0MSAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01U
ZXN0T2JqLmgKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJL
aXRET01UZXN0T2JqLmgKQEAgLTE2MCw3OCArMTYwLDI0IEBAIHdlYmtpdF9kb21fdGVzdF9vYmpf
Z2V0X3Rlc3Rfb2JqX2F0dHIoV2ViS2l0RE9NVGVzdE9iaiogc2VsZik7CiBXRUJLSVRfQVBJIHZv
aWQKIHdlYmtpdF9kb21fdGVzdF9vYmpfc2V0X3Rlc3Rfb2JqX2F0dHIoV2ViS2l0RE9NVGVzdE9i
aiogc2VsZiwgV2ViS2l0RE9NVGVzdE9iaiogIHZhbHVlKTsKIAotV0VCS0lUX0FQSSBnY2hhciog
Ci13ZWJraXRfZG9tX3Rlc3Rfb2JqX2dldF9yZWZsZWN0ZWRfc3RyaW5nX2F0dHIoV2ViS2l0RE9N
VGVzdE9iaiogc2VsZik7Ci0KLVdFQktJVF9BUEkgdm9pZAotd2Via2l0X2RvbV90ZXN0X29ial9z
ZXRfcmVmbGVjdGVkX3N0cmluZ19hdHRyKFdlYktpdERPTVRlc3RPYmoqIHNlbGYsIGdjaGFyKiAg
dmFsdWUpOwotCiBXRUJLSVRfQVBJIGdsb25nCi13ZWJraXRfZG9tX3Rlc3Rfb2JqX2dldF9yZWZs
ZWN0ZWRfaW50ZWdyYWxfYXR0cihXZWJLaXRET01UZXN0T2JqKiBzZWxmKTsKLQotV0VCS0lUX0FQ
SSB2b2lkCi13ZWJraXRfZG9tX3Rlc3Rfb2JqX3NldF9yZWZsZWN0ZWRfaW50ZWdyYWxfYXR0cihX
ZWJLaXRET01UZXN0T2JqKiBzZWxmLCBnbG9uZyB2YWx1ZSk7Ci0KLVdFQktJVF9BUEkgZ2Jvb2xl
YW4KLXdlYmtpdF9kb21fdGVzdF9vYmpfZ2V0X3JlZmxlY3RlZF9ib29sZWFuX2F0dHIoV2ViS2l0
RE9NVGVzdE9iaiogc2VsZik7Ci0KLVdFQktJVF9BUEkgdm9pZAotd2Via2l0X2RvbV90ZXN0X29i
al9zZXRfcmVmbGVjdGVkX2Jvb2xlYW5fYXR0cihXZWJLaXRET01UZXN0T2JqKiBzZWxmLCBnYm9v
bGVhbiB2YWx1ZSk7Ci0KLVdFQktJVF9BUEkgZ2NoYXIqIAotd2Via2l0X2RvbV90ZXN0X29ial9n
ZXRfcmVmbGVjdGVkX3VybF9hdHRyKFdlYktpdERPTVRlc3RPYmoqIHNlbGYpOword2Via2l0X2Rv
bV90ZXN0X29ial9nZXRfYXR0cl93aXRoX2V4Y2VwdGlvbihXZWJLaXRET01UZXN0T2JqKiBzZWxm
KTsKIAogV0VCS0lUX0FQSSB2b2lkCi13ZWJraXRfZG9tX3Rlc3Rfb2JqX3NldF9yZWZsZWN0ZWRf
dXJsX2F0dHIoV2ViS2l0RE9NVGVzdE9iaiogc2VsZiwgZ2NoYXIqICB2YWx1ZSk7Ci0KLVdFQktJ
VF9BUEkgZ2NoYXIqIAotd2Via2l0X2RvbV90ZXN0X29ial9nZXRfcmVmbGVjdGVkX3N0cmluZ19h
dHRyKFdlYktpdERPTVRlc3RPYmoqIHNlbGYpOwotCi1XRUJLSVRfQVBJIHZvaWQKLXdlYmtpdF9k
b21fdGVzdF9vYmpfc2V0X3JlZmxlY3RlZF9zdHJpbmdfYXR0cihXZWJLaXRET01UZXN0T2JqKiBz
ZWxmLCBnY2hhciogIHZhbHVlKTsKK3dlYmtpdF9kb21fdGVzdF9vYmpfc2V0X2F0dHJfd2l0aF9l
eGNlcHRpb24oV2ViS2l0RE9NVGVzdE9iaiogc2VsZiwgZ2xvbmcgdmFsdWUpOwogCiBXRUJLSVRf
QVBJIGdsb25nCi13ZWJraXRfZG9tX3Rlc3Rfb2JqX2dldF9yZWZsZWN0ZWRfY3VzdG9tX2ludGVn
cmFsX2F0dHIoV2ViS2l0RE9NVGVzdE9iaiogc2VsZik7Ci0KLVdFQktJVF9BUEkgdm9pZAotd2Vi
a2l0X2RvbV90ZXN0X29ial9zZXRfcmVmbGVjdGVkX2N1c3RvbV9pbnRlZ3JhbF9hdHRyKFdlYktp
dERPTVRlc3RPYmoqIHNlbGYsIGdsb25nIHZhbHVlKTsKLQotV0VCS0lUX0FQSSBnYm9vbGVhbgot
d2Via2l0X2RvbV90ZXN0X29ial9nZXRfcmVmbGVjdGVkX2N1c3RvbV9ib29sZWFuX2F0dHIoV2Vi
S2l0RE9NVGVzdE9iaiogc2VsZik7Cit3ZWJraXRfZG9tX3Rlc3Rfb2JqX2dldF9hdHRyX3dpdGhf
c2V0dGVyX2V4Y2VwdGlvbihXZWJLaXRET01UZXN0T2JqKiBzZWxmLCBHRXJyb3IgKiplcnJvcik7
CiAKIFdFQktJVF9BUEkgdm9pZAotd2Via2l0X2RvbV90ZXN0X29ial9zZXRfcmVmbGVjdGVkX2N1
c3RvbV9ib29sZWFuX2F0dHIoV2ViS2l0RE9NVGVzdE9iaiogc2VsZiwgZ2Jvb2xlYW4gdmFsdWUp
OwotCi1XRUJLSVRfQVBJIGdjaGFyKiAKLXdlYmtpdF9kb21fdGVzdF9vYmpfZ2V0X3JlZmxlY3Rl
ZF91cmxfYXR0cihXZWJLaXRET01UZXN0T2JqKiBzZWxmKTsKLQotV0VCS0lUX0FQSSB2b2lkCi13
ZWJraXRfZG9tX3Rlc3Rfb2JqX3NldF9yZWZsZWN0ZWRfdXJsX2F0dHIoV2ViS2l0RE9NVGVzdE9i
aiogc2VsZiwgZ2NoYXIqICB2YWx1ZSk7Cit3ZWJraXRfZG9tX3Rlc3Rfb2JqX3NldF9hdHRyX3dp
dGhfc2V0dGVyX2V4Y2VwdGlvbihXZWJLaXRET01UZXN0T2JqKiBzZWxmLCBnbG9uZyB2YWx1ZSwg
R0Vycm9yICoqZXJyb3IpOwogCiBXRUJLSVRfQVBJIGdsb25nCi13ZWJraXRfZG9tX3Rlc3Rfb2Jq
X2dldF9hdHRyX3dpdGhfZ2V0dGVyX2V4Y2VwdGlvbihXZWJLaXRET01UZXN0T2JqKiBzZWxmLCBH
RXJyb3IgKiplcnJvcik7Cit3ZWJraXRfZG9tX3Rlc3Rfb2JqX2dldF9hdHRyX3dpdGhfZ2V0dGVy
X2V4Y2VwdGlvbihXZWJLaXRET01UZXN0T2JqKiBzZWxmKTsKIAogV0VCS0lUX0FQSSB2b2lkCiB3
ZWJraXRfZG9tX3Rlc3Rfb2JqX3NldF9hdHRyX3dpdGhfZ2V0dGVyX2V4Y2VwdGlvbihXZWJLaXRE
T01UZXN0T2JqKiBzZWxmLCBnbG9uZyB2YWx1ZSwgR0Vycm9yICoqZXJyb3IpOwogCi1XRUJLSVRf
QVBJIGdsb25nCi13ZWJraXRfZG9tX3Rlc3Rfb2JqX2dldF9hdHRyX3dpdGhfc2V0dGVyX2V4Y2Vw
dGlvbihXZWJLaXRET01UZXN0T2JqKiBzZWxmKTsKLQotV0VCS0lUX0FQSSB2b2lkCi13ZWJraXRf
ZG9tX3Rlc3Rfb2JqX3NldF9hdHRyX3dpdGhfc2V0dGVyX2V4Y2VwdGlvbihXZWJLaXRET01UZXN0
T2JqKiBzZWxmLCBnbG9uZyB2YWx1ZSwgR0Vycm9yICoqZXJyb3IpOwotCi1XRUJLSVRfQVBJIGdj
aGFyKiAKLXdlYmtpdF9kb21fdGVzdF9vYmpfZ2V0X3N0cmluZ19hdHRyX3dpdGhfZ2V0dGVyX2V4
Y2VwdGlvbihXZWJLaXRET01UZXN0T2JqKiBzZWxmLCBHRXJyb3IgKiplcnJvcik7Ci0KLVdFQktJ
VF9BUEkgdm9pZAotd2Via2l0X2RvbV90ZXN0X29ial9zZXRfc3RyaW5nX2F0dHJfd2l0aF9nZXR0
ZXJfZXhjZXB0aW9uKFdlYktpdERPTVRlc3RPYmoqIHNlbGYsIGdjaGFyKiAgdmFsdWUsIEdFcnJv
ciAqKmVycm9yKTsKLQotV0VCS0lUX0FQSSBnY2hhciogCi13ZWJraXRfZG9tX3Rlc3Rfb2JqX2dl
dF9zdHJpbmdfYXR0cl93aXRoX3NldHRlcl9leGNlcHRpb24oV2ViS2l0RE9NVGVzdE9iaiogc2Vs
Zik7Ci0KLVdFQktJVF9BUEkgdm9pZAotd2Via2l0X2RvbV90ZXN0X29ial9zZXRfc3RyaW5nX2F0
dHJfd2l0aF9zZXR0ZXJfZXhjZXB0aW9uKFdlYktpdERPTVRlc3RPYmoqIHNlbGYsIGdjaGFyKiAg
dmFsdWUsIEdFcnJvciAqKmVycm9yKTsKLQogV0VCS0lUX0FQSSBnY2hhciogCiB3ZWJraXRfZG9t
X3Rlc3Rfb2JqX2dldF9zY3JpcHRfc3RyaW5nX2F0dHIoV2ViS2l0RE9NVGVzdE9iaiogc2VsZik7
CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9i
ai5jcHAgYi9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwCmlu
ZGV4IDM2MDc4MmQ4NjhmNWFkYjAxMWVjNzMzODA2ZjQyMGExMDNhYTI1ZjUuLjE0ZmI1MWFkZmZj
ZjA5YjUwNTZmMWM2ZjY5YmNkNGY1NjI0NTMzZjIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5jcHAKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcApAQCAtMjEsNyArMjEsNiBAQAogI2luY2x1ZGUg
ImNvbmZpZy5oIgogI2luY2x1ZGUgIkpTVGVzdE9iai5oIgogCi0jaW5jbHVkZSAiSFRNTE5hbWVz
LmgiCiAjaW5jbHVkZSAiSlNFdmVudExpc3RlbmVyLmgiCiAjaW5jbHVkZSAiSlNUZXN0T2JqLmgi
CiAjaW5jbHVkZSAiSlNsb2cuaCIKQEAgLTQ3LDcgKzQ2LDcgQEAgQVNTRVJUX0NMQVNTX0ZJVFNf
SU5fQ0VMTChKU1Rlc3RPYmopOwogI2RlZmluZSBUSFVOS19HRU5FUkFUT1IoZ2VuZXJhdG9yKQog
I2VuZGlmCiAKLXN0YXRpYyBjb25zdCBIYXNoVGFibGVWYWx1ZSBKU1Rlc3RPYmpUYWJsZVZhbHVl
c1szMF0gPQorc3RhdGljIGNvbnN0IEhhc2hUYWJsZVZhbHVlIEpTVGVzdE9ialRhYmxlVmFsdWVz
WzIxXSA9CiB7CiAgICAgeyAicmVhZE9ubHlJbnRBdHRyIiwgRG9udERlbGV0ZSB8IFJlYWRPbmx5
LCAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpzVGVz
dE9ialJlYWRPbmx5SW50QXR0ciksIChpbnRwdHJfdCkwIFRIVU5LX0dFTkVSQVRPUigwKSB9LAog
ICAgIHsgInJlYWRPbmx5U3RyaW5nQXR0ciIsIERvbnREZWxldGUgfCBSZWFkT25seSwgKGludHB0
cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RPYmpSZWFk
T25seVN0cmluZ0F0dHIpLCAoaW50cHRyX3QpMCBUSFVOS19HRU5FUkFUT1IoMCkgfSwKQEAgLTU3
LDE4ICs1Niw5IEBAIHN0YXRpYyBjb25zdCBIYXNoVGFibGVWYWx1ZSBKU1Rlc3RPYmpUYWJsZVZh
bHVlc1szMF0gPQogICAgIHsgInVuc2lnbmVkTG9uZ0xvbmdBdHRyIiwgRG9udERlbGV0ZSwgKGlu
dHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RPYmpV
bnNpZ25lZExvbmdMb25nQXR0ciksIChpbnRwdHJfdClzZXRKU1Rlc3RPYmpVbnNpZ25lZExvbmdM
b25nQXR0ciBUSFVOS19HRU5FUkFUT1IoMCkgfSwKICAgICB7ICJzdHJpbmdBdHRyIiwgRG9udERl
bGV0ZSwgKGludHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihq
c1Rlc3RPYmpTdHJpbmdBdHRyKSwgKGludHB0cl90KXNldEpTVGVzdE9ialN0cmluZ0F0dHIgVEhV
TktfR0VORVJBVE9SKDApIH0sCiAgICAgeyAidGVzdE9iakF0dHIiLCBEb250RGVsZXRlLCAoaW50
cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdE9ialRl
c3RPYmpBdHRyKSwgKGludHB0cl90KXNldEpTVGVzdE9ialRlc3RPYmpBdHRyIFRIVU5LX0dFTkVS
QVRPUigwKSB9LAotICAgIHsgInJlZmxlY3RlZFN0cmluZ0F0dHIiLCBEb250RGVsZXRlLCAoaW50
cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdE9ialJl
ZmxlY3RlZFN0cmluZ0F0dHIpLCAoaW50cHRyX3Qpc2V0SlNUZXN0T2JqUmVmbGVjdGVkU3RyaW5n
QXR0ciBUSFVOS19HRU5FUkFUT1IoMCkgfSwKLSAgICB7ICJyZWZsZWN0ZWRJbnRlZ3JhbEF0dHIi
LCBEb250RGVsZXRlLCAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90OjpHZXRWYWx1
ZUZ1bmM+KGpzVGVzdE9ialJlZmxlY3RlZEludGVncmFsQXR0ciksIChpbnRwdHJfdClzZXRKU1Rl
c3RPYmpSZWZsZWN0ZWRJbnRlZ3JhbEF0dHIgVEhVTktfR0VORVJBVE9SKDApIH0sCi0gICAgeyAi
cmVmbGVjdGVkQm9vbGVhbkF0dHIiLCBEb250RGVsZXRlLCAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8
UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdE9ialJlZmxlY3RlZEJvb2xlYW5BdHRy
KSwgKGludHB0cl90KXNldEpTVGVzdE9ialJlZmxlY3RlZEJvb2xlYW5BdHRyIFRIVU5LX0dFTkVS
QVRPUigwKSB9LAotICAgIHsgInJlZmxlY3RlZFVSTEF0dHIiLCBEb250RGVsZXRlLCAoaW50cHRy
X3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdE9ialJlZmxl
Y3RlZFVSTEF0dHIpLCAoaW50cHRyX3Qpc2V0SlNUZXN0T2JqUmVmbGVjdGVkVVJMQXR0ciBUSFVO
S19HRU5FUkFUT1IoMCkgfSwKLSAgICB7ICJyZWZsZWN0ZWRTdHJpbmdBdHRyIiwgRG9udERlbGV0
ZSwgKGludHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rl
c3RPYmpSZWZsZWN0ZWRTdHJpbmdBdHRyKSwgKGludHB0cl90KXNldEpTVGVzdE9ialJlZmxlY3Rl
ZFN0cmluZ0F0dHIgVEhVTktfR0VORVJBVE9SKDApIH0sCi0gICAgeyAicmVmbGVjdGVkQ3VzdG9t
SW50ZWdyYWxBdHRyIiwgRG9udERlbGV0ZSwgKGludHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5
U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RPYmpSZWZsZWN0ZWRDdXN0b21JbnRlZ3JhbEF0dHIp
LCAoaW50cHRyX3Qpc2V0SlNUZXN0T2JqUmVmbGVjdGVkQ3VzdG9tSW50ZWdyYWxBdHRyIFRIVU5L
X0dFTkVSQVRPUigwKSB9LAotICAgIHsgInJlZmxlY3RlZEN1c3RvbUJvb2xlYW5BdHRyIiwgRG9u
dERlbGV0ZSwgKGludHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5j
Pihqc1Rlc3RPYmpSZWZsZWN0ZWRDdXN0b21Cb29sZWFuQXR0ciksIChpbnRwdHJfdClzZXRKU1Rl
c3RPYmpSZWZsZWN0ZWRDdXN0b21Cb29sZWFuQXR0ciBUSFVOS19HRU5FUkFUT1IoMCkgfSwKLSAg
ICB7ICJyZWZsZWN0ZWRVUkxBdHRyIiwgRG9udERlbGV0ZSwgKGludHB0cl90KXN0YXRpY19jYXN0
PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RPYmpSZWZsZWN0ZWRVUkxBdHRyKSwg
KGludHB0cl90KXNldEpTVGVzdE9ialJlZmxlY3RlZFVSTEF0dHIgVEhVTktfR0VORVJBVE9SKDAp
IH0sCi0gICAgeyAiYXR0cldpdGhHZXR0ZXJFeGNlcHRpb24iLCBEb250RGVsZXRlLCAoaW50cHRy
X3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdE9iakF0dHJX
aXRoR2V0dGVyRXhjZXB0aW9uKSwgKGludHB0cl90KXNldEpTVGVzdE9iakF0dHJXaXRoR2V0dGVy
RXhjZXB0aW9uIFRIVU5LX0dFTkVSQVRPUigwKSB9LAorICAgIHsgImF0dHJXaXRoRXhjZXB0aW9u
IiwgRG9udERlbGV0ZSwgKGludHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFs
dWVGdW5jPihqc1Rlc3RPYmpBdHRyV2l0aEV4Y2VwdGlvbiksIChpbnRwdHJfdClzZXRKU1Rlc3RP
YmpBdHRyV2l0aEV4Y2VwdGlvbiBUSFVOS19HRU5FUkFUT1IoMCkgfSwKICAgICB7ICJhdHRyV2l0
aFNldHRlckV4Y2VwdGlvbiIsIERvbnREZWxldGUsIChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9w
ZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0T2JqQXR0cldpdGhTZXR0ZXJFeGNlcHRpb24p
LCAoaW50cHRyX3Qpc2V0SlNUZXN0T2JqQXR0cldpdGhTZXR0ZXJFeGNlcHRpb24gVEhVTktfR0VO
RVJBVE9SKDApIH0sCi0gICAgeyAic3RyaW5nQXR0cldpdGhHZXR0ZXJFeGNlcHRpb24iLCBEb250
RGVsZXRlLCAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+
KGpzVGVzdE9ialN0cmluZ0F0dHJXaXRoR2V0dGVyRXhjZXB0aW9uKSwgKGludHB0cl90KXNldEpT
VGVzdE9ialN0cmluZ0F0dHJXaXRoR2V0dGVyRXhjZXB0aW9uIFRIVU5LX0dFTkVSQVRPUigwKSB9
LAotICAgIHsgInN0cmluZ0F0dHJXaXRoU2V0dGVyRXhjZXB0aW9uIiwgRG9udERlbGV0ZSwgKGlu
dHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RPYmpT
dHJpbmdBdHRyV2l0aFNldHRlckV4Y2VwdGlvbiksIChpbnRwdHJfdClzZXRKU1Rlc3RPYmpTdHJp
bmdBdHRyV2l0aFNldHRlckV4Y2VwdGlvbiBUSFVOS19HRU5FUkFUT1IoMCkgfSwKKyAgICB7ICJh
dHRyV2l0aEdldHRlckV4Y2VwdGlvbiIsIERvbnREZWxldGUsIChpbnRwdHJfdClzdGF0aWNfY2Fz
dDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0T2JqQXR0cldpdGhHZXR0ZXJFeGNl
cHRpb24pLCAoaW50cHRyX3Qpc2V0SlNUZXN0T2JqQXR0cldpdGhHZXR0ZXJFeGNlcHRpb24gVEhV
TktfR0VORVJBVE9SKDApIH0sCiAgICAgeyAiY3VzdG9tQXR0ciIsIERvbnREZWxldGUsIChpbnRw
dHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0T2JqQ3Vz
dG9tQXR0ciksIChpbnRwdHJfdClzZXRKU1Rlc3RPYmpDdXN0b21BdHRyIFRIVU5LX0dFTkVSQVRP
UigwKSB9LAogICAgIHsgInNjcmlwdFN0cmluZ0F0dHIiLCBEb250RGVsZXRlIHwgUmVhZE9ubHks
IChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0
T2JqU2NyaXB0U3RyaW5nQXR0ciksIChpbnRwdHJfdCkwIFRIVU5LX0dFTkVSQVRPUigwKSB9LAog
I2lmIEVOQUJMRShDb25kaXRpb24xKQpAQCAtODgsNyArNzgsNyBAQCBzdGF0aWMgY29uc3QgSGFz
aFRhYmxlVmFsdWUgSlNUZXN0T2JqVGFibGVWYWx1ZXNbMzBdID0KIH07CiAKICN1bmRlZiBUSFVO
S19HRU5FUkFUT1IKLXN0YXRpYyBKU0NfQ09OU1RfSEFTSFRBQkxFIEhhc2hUYWJsZSBKU1Rlc3RP
YmpUYWJsZSA9IHsgNjksIDYzLCBKU1Rlc3RPYmpUYWJsZVZhbHVlcywgMCB9Oworc3RhdGljIEpT
Q19DT05TVF9IQVNIVEFCTEUgSGFzaFRhYmxlIEpTVGVzdE9ialRhYmxlID0geyA2NiwgNjMsIEpT
VGVzdE9ialRhYmxlVmFsdWVzLCAwIH07CiAvKiBIYXNoIHRhYmxlIGZvciBjb25zdHJ1Y3RvciAq
LwogI2lmIEVOQUJMRShKSVQpCiAjZGVmaW5lIFRIVU5LX0dFTkVSQVRPUihnZW5lcmF0b3IpICwg
Z2VuZXJhdG9yCkBAIC0yOTcsMTEzICsyODcsMzEgQEAgSlNWYWx1ZSBqc1Rlc3RPYmpUZXN0T2Jq
QXR0cihFeGVjU3RhdGUqIGV4ZWMsIEpTVmFsdWUgc2xvdEJhc2UsIGNvbnN0IElkZW50aWZpZXIK
ICAgICByZXR1cm4gcmVzdWx0OwogfQogCi1KU1ZhbHVlIGpzVGVzdE9ialJlZmxlY3RlZFN0cmlu
Z0F0dHIoRXhlY1N0YXRlKiBleGVjLCBKU1ZhbHVlIHNsb3RCYXNlLCBjb25zdCBJZGVudGlmaWVy
JikKLXsKLSAgICBKU1Rlc3RPYmoqIGNhc3RlZFRoaXMgPSBzdGF0aWNfY2FzdDxKU1Rlc3RPYmoq
Pihhc09iamVjdChzbG90QmFzZSkpOwotICAgIFVOVVNFRF9QQVJBTShleGVjKTsKLSAgICBUZXN0
T2JqKiBpbXAgPSBzdGF0aWNfY2FzdDxUZXN0T2JqKj4oY2FzdGVkVGhpcy0+aW1wbCgpKTsKLSAg
ICBKU1ZhbHVlIHJlc3VsdCA9IGpzU3RyaW5nKGV4ZWMsIGltcC0+Z2V0QXR0cmlidXRlKFdlYkNv
cmU6OkhUTUxOYW1lczo6cmVmbGVjdGVkc3RyaW5nYXR0ckF0dHIpKTsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotCi1KU1ZhbHVlIGpzVGVzdE9ialJlZmxlY3RlZEludGVncmFsQXR0cihFeGVjU3Rh
dGUqIGV4ZWMsIEpTVmFsdWUgc2xvdEJhc2UsIGNvbnN0IElkZW50aWZpZXImKQotewotICAgIEpT
VGVzdE9iaiogY2FzdGVkVGhpcyA9IHN0YXRpY19jYXN0PEpTVGVzdE9iaio+KGFzT2JqZWN0KHNs
b3RCYXNlKSk7Ci0gICAgVU5VU0VEX1BBUkFNKGV4ZWMpOwotICAgIFRlc3RPYmoqIGltcCA9IHN0
YXRpY19jYXN0PFRlc3RPYmoqPihjYXN0ZWRUaGlzLT5pbXBsKCkpOwotICAgIEpTVmFsdWUgcmVz
dWx0ID0ganNOdW1iZXIoZXhlYywgaW1wLT5nZXRJbnRlZ3JhbEF0dHJpYnV0ZShXZWJDb3JlOjpI
VE1MTmFtZXM6OnJlZmxlY3RlZGludGVncmFsYXR0ckF0dHIpKTsKLSAgICByZXR1cm4gcmVzdWx0
OwotfQotCi1KU1ZhbHVlIGpzVGVzdE9ialJlZmxlY3RlZEJvb2xlYW5BdHRyKEV4ZWNTdGF0ZSog
ZXhlYywgSlNWYWx1ZSBzbG90QmFzZSwgY29uc3QgSWRlbnRpZmllciYpCitKU1ZhbHVlIGpzVGVz
dE9iakF0dHJXaXRoRXhjZXB0aW9uKEV4ZWNTdGF0ZSogZXhlYywgSlNWYWx1ZSBzbG90QmFzZSwg
Y29uc3QgSWRlbnRpZmllciYpCiB7CiAgICAgSlNUZXN0T2JqKiBjYXN0ZWRUaGlzID0gc3RhdGlj
X2Nhc3Q8SlNUZXN0T2JqKj4oYXNPYmplY3Qoc2xvdEJhc2UpKTsKICAgICBVTlVTRURfUEFSQU0o
ZXhlYyk7CiAgICAgVGVzdE9iaiogaW1wID0gc3RhdGljX2Nhc3Q8VGVzdE9iaio+KGNhc3RlZFRo
aXMtPmltcGwoKSk7Ci0gICAgSlNWYWx1ZSByZXN1bHQgPSBqc0Jvb2xlYW4oaW1wLT5oYXNBdHRy
aWJ1dGUoV2ViQ29yZTo6SFRNTE5hbWVzOjpyZWZsZWN0ZWRib29sZWFuYXR0ckF0dHIpKTsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotCi1KU1ZhbHVlIGpzVGVzdE9ialJlZmxlY3RlZFVSTEF0dHIo
RXhlY1N0YXRlKiBleGVjLCBKU1ZhbHVlIHNsb3RCYXNlLCBjb25zdCBJZGVudGlmaWVyJikKLXsK
LSAgICBKU1Rlc3RPYmoqIGNhc3RlZFRoaXMgPSBzdGF0aWNfY2FzdDxKU1Rlc3RPYmoqPihhc09i
amVjdChzbG90QmFzZSkpOwotICAgIFVOVVNFRF9QQVJBTShleGVjKTsKLSAgICBUZXN0T2JqKiBp
bXAgPSBzdGF0aWNfY2FzdDxUZXN0T2JqKj4oY2FzdGVkVGhpcy0+aW1wbCgpKTsKLSAgICBKU1Zh
bHVlIHJlc3VsdCA9IGpzU3RyaW5nKGV4ZWMsIGltcC0+Z2V0VVJMQXR0cmlidXRlKFdlYkNvcmU6
OkhUTUxOYW1lczo6cmVmbGVjdGVkdXJsYXR0ckF0dHIpKTsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotCi1KU1ZhbHVlIGpzVGVzdE9ialJlZmxlY3RlZFN0cmluZ0F0dHIoRXhlY1N0YXRlKiBleGVj
LCBKU1ZhbHVlIHNsb3RCYXNlLCBjb25zdCBJZGVudGlmaWVyJikKLXsKLSAgICBKU1Rlc3RPYmoq
IGNhc3RlZFRoaXMgPSBzdGF0aWNfY2FzdDxKU1Rlc3RPYmoqPihhc09iamVjdChzbG90QmFzZSkp
OwotICAgIFVOVVNFRF9QQVJBTShleGVjKTsKLSAgICBUZXN0T2JqKiBpbXAgPSBzdGF0aWNfY2Fz
dDxUZXN0T2JqKj4oY2FzdGVkVGhpcy0+aW1wbCgpKTsKLSAgICBKU1ZhbHVlIHJlc3VsdCA9IGpz
U3RyaW5nKGV4ZWMsIGltcC0+Z2V0QXR0cmlidXRlKFdlYkNvcmU6OkhUTUxOYW1lczo6Y3VzdG9t
Q29udGVudFN0cmluZ0F0dHJBdHRyKSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotSlNWYWx1
ZSBqc1Rlc3RPYmpSZWZsZWN0ZWRDdXN0b21JbnRlZ3JhbEF0dHIoRXhlY1N0YXRlKiBleGVjLCBK
U1ZhbHVlIHNsb3RCYXNlLCBjb25zdCBJZGVudGlmaWVyJikKLXsKLSAgICBKU1Rlc3RPYmoqIGNh
c3RlZFRoaXMgPSBzdGF0aWNfY2FzdDxKU1Rlc3RPYmoqPihhc09iamVjdChzbG90QmFzZSkpOwot
ICAgIFVOVVNFRF9QQVJBTShleGVjKTsKLSAgICBUZXN0T2JqKiBpbXAgPSBzdGF0aWNfY2FzdDxU
ZXN0T2JqKj4oY2FzdGVkVGhpcy0+aW1wbCgpKTsKLSAgICBKU1ZhbHVlIHJlc3VsdCA9IGpzTnVt
YmVyKGV4ZWMsIGltcC0+Z2V0SW50ZWdyYWxBdHRyaWJ1dGUoV2ViQ29yZTo6SFRNTE5hbWVzOjpj
dXN0b21Db250ZW50SW50ZWdyYWxBdHRyQXR0cikpOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0K
LUpTVmFsdWUganNUZXN0T2JqUmVmbGVjdGVkQ3VzdG9tQm9vbGVhbkF0dHIoRXhlY1N0YXRlKiBl
eGVjLCBKU1ZhbHVlIHNsb3RCYXNlLCBjb25zdCBJZGVudGlmaWVyJikKLXsKLSAgICBKU1Rlc3RP
YmoqIGNhc3RlZFRoaXMgPSBzdGF0aWNfY2FzdDxKU1Rlc3RPYmoqPihhc09iamVjdChzbG90QmFz
ZSkpOwotICAgIFVOVVNFRF9QQVJBTShleGVjKTsKLSAgICBUZXN0T2JqKiBpbXAgPSBzdGF0aWNf
Y2FzdDxUZXN0T2JqKj4oY2FzdGVkVGhpcy0+aW1wbCgpKTsKLSAgICBKU1ZhbHVlIHJlc3VsdCA9
IGpzQm9vbGVhbihpbXAtPmhhc0F0dHJpYnV0ZShXZWJDb3JlOjpIVE1MTmFtZXM6OmN1c3RvbUNv
bnRlbnRCb29sZWFuQXR0ckF0dHIpKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi1KU1ZhbHVl
IGpzVGVzdE9ialJlZmxlY3RlZFVSTEF0dHIoRXhlY1N0YXRlKiBleGVjLCBKU1ZhbHVlIHNsb3RC
YXNlLCBjb25zdCBJZGVudGlmaWVyJikKLXsKLSAgICBKU1Rlc3RPYmoqIGNhc3RlZFRoaXMgPSBz
dGF0aWNfY2FzdDxKU1Rlc3RPYmoqPihhc09iamVjdChzbG90QmFzZSkpOwotICAgIFVOVVNFRF9Q
QVJBTShleGVjKTsKLSAgICBUZXN0T2JqKiBpbXAgPSBzdGF0aWNfY2FzdDxUZXN0T2JqKj4oY2Fz
dGVkVGhpcy0+aW1wbCgpKTsKLSAgICBKU1ZhbHVlIHJlc3VsdCA9IGpzU3RyaW5nKGV4ZWMsIGlt
cC0+Z2V0VVJMQXR0cmlidXRlKFdlYkNvcmU6OkhUTUxOYW1lczo6Y3VzdG9tQ29udGVudFVSTEF0
dHJBdHRyKSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotSlNWYWx1ZSBqc1Rlc3RPYmpBdHRy
V2l0aEdldHRlckV4Y2VwdGlvbihFeGVjU3RhdGUqIGV4ZWMsIEpTVmFsdWUgc2xvdEJhc2UsIGNv
bnN0IElkZW50aWZpZXImKQotewotICAgIEpTVGVzdE9iaiogY2FzdGVkVGhpcyA9IHN0YXRpY19j
YXN0PEpTVGVzdE9iaio+KGFzT2JqZWN0KHNsb3RCYXNlKSk7Ci0gICAgRXhjZXB0aW9uQ29kZSBl
YyA9IDA7Ci0gICAgVGVzdE9iaiogaW1wID0gc3RhdGljX2Nhc3Q8VGVzdE9iaio+KGNhc3RlZFRo
aXMtPmltcGwoKSk7Ci0gICAgSlNDOjpKU1ZhbHVlIHJlc3VsdCA9IGpzTnVtYmVyKGV4ZWMsIGlt
cC0+YXR0cldpdGhHZXR0ZXJFeGNlcHRpb24oZWMpKTsKLSAgICBzZXRET01FeGNlcHRpb24oZXhl
YywgZWMpOworICAgIEpTVmFsdWUgcmVzdWx0ID0ganNOdW1iZXIoZXhlYywgaW1wLT5hdHRyV2l0
aEV4Y2VwdGlvbigpKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogCiBKU1ZhbHVlIGpzVGVzdE9i
akF0dHJXaXRoU2V0dGVyRXhjZXB0aW9uKEV4ZWNTdGF0ZSogZXhlYywgSlNWYWx1ZSBzbG90QmFz
ZSwgY29uc3QgSWRlbnRpZmllciYpCiB7CiAgICAgSlNUZXN0T2JqKiBjYXN0ZWRUaGlzID0gc3Rh
dGljX2Nhc3Q8SlNUZXN0T2JqKj4oYXNPYmplY3Qoc2xvdEJhc2UpKTsKLSAgICBVTlVTRURfUEFS
QU0oZXhlYyk7Ci0gICAgVGVzdE9iaiogaW1wID0gc3RhdGljX2Nhc3Q8VGVzdE9iaio+KGNhc3Rl
ZFRoaXMtPmltcGwoKSk7Ci0gICAgSlNWYWx1ZSByZXN1bHQgPSBqc051bWJlcihleGVjLCBpbXAt
PmF0dHJXaXRoU2V0dGVyRXhjZXB0aW9uKCkpOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLUpT
VmFsdWUganNUZXN0T2JqU3RyaW5nQXR0cldpdGhHZXR0ZXJFeGNlcHRpb24oRXhlY1N0YXRlKiBl
eGVjLCBKU1ZhbHVlIHNsb3RCYXNlLCBjb25zdCBJZGVudGlmaWVyJikKLXsKLSAgICBKU1Rlc3RP
YmoqIGNhc3RlZFRoaXMgPSBzdGF0aWNfY2FzdDxKU1Rlc3RPYmoqPihhc09iamVjdChzbG90QmFz
ZSkpOwogICAgIEV4Y2VwdGlvbkNvZGUgZWMgPSAwOwogICAgIFRlc3RPYmoqIGltcCA9IHN0YXRp
Y19jYXN0PFRlc3RPYmoqPihjYXN0ZWRUaGlzLT5pbXBsKCkpOwotICAgIEpTQzo6SlNWYWx1ZSBy
ZXN1bHQgPSBqc1N0cmluZyhleGVjLCBpbXAtPnN0cmluZ0F0dHJXaXRoR2V0dGVyRXhjZXB0aW9u
KGVjKSk7CisgICAgSlNDOjpKU1ZhbHVlIHJlc3VsdCA9IGpzTnVtYmVyKGV4ZWMsIGltcC0+YXR0
cldpdGhTZXR0ZXJFeGNlcHRpb24oZWMpKTsKICAgICBzZXRET01FeGNlcHRpb24oZXhlYywgZWMp
OwogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKLUpTVmFsdWUganNUZXN0T2JqU3RyaW5nQXR0cldp
dGhTZXR0ZXJFeGNlcHRpb24oRXhlY1N0YXRlKiBleGVjLCBKU1ZhbHVlIHNsb3RCYXNlLCBjb25z
dCBJZGVudGlmaWVyJikKK0pTVmFsdWUganNUZXN0T2JqQXR0cldpdGhHZXR0ZXJFeGNlcHRpb24o
RXhlY1N0YXRlKiBleGVjLCBKU1ZhbHVlIHNsb3RCYXNlLCBjb25zdCBJZGVudGlmaWVyJikKIHsK
ICAgICBKU1Rlc3RPYmoqIGNhc3RlZFRoaXMgPSBzdGF0aWNfY2FzdDxKU1Rlc3RPYmoqPihhc09i
amVjdChzbG90QmFzZSkpOwogICAgIFVOVVNFRF9QQVJBTShleGVjKTsKICAgICBUZXN0T2JqKiBp
bXAgPSBzdGF0aWNfY2FzdDxUZXN0T2JqKj4oY2FzdGVkVGhpcy0+aW1wbCgpKTsKLSAgICBKU1Zh
bHVlIHJlc3VsdCA9IGpzU3RyaW5nKGV4ZWMsIGltcC0+c3RyaW5nQXR0cldpdGhTZXR0ZXJFeGNl
cHRpb24oKSk7CisgICAgSlNWYWx1ZSByZXN1bHQgPSBqc051bWJlcihleGVjLCBpbXAtPmF0dHJX
aXRoR2V0dGVyRXhjZXB0aW9uKCkpOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKQEAgLTUyNyw2
OSArNDM1LDExIEBAIHZvaWQgc2V0SlNUZXN0T2JqVGVzdE9iakF0dHIoRXhlY1N0YXRlKiBleGVj
LCBKU09iamVjdCogdGhpc09iamVjdCwgSlNWYWx1ZSB2YWx1CiAgICAgaW1wLT5zZXRUZXN0T2Jq
QXR0cih0b1Rlc3RPYmoodmFsdWUpKTsKIH0KIAotdm9pZCBzZXRKU1Rlc3RPYmpSZWZsZWN0ZWRT
dHJpbmdBdHRyKEV4ZWNTdGF0ZSogZXhlYywgSlNPYmplY3QqIHRoaXNPYmplY3QsIEpTVmFsdWUg
dmFsdWUpCi17Ci0gICAgSlNUZXN0T2JqKiBjYXN0ZWRUaGlzID0gc3RhdGljX2Nhc3Q8SlNUZXN0
T2JqKj4odGhpc09iamVjdCk7Ci0gICAgVGVzdE9iaiogaW1wID0gc3RhdGljX2Nhc3Q8VGVzdE9i
aio+KGNhc3RlZFRoaXMtPmltcGwoKSk7Ci0gICAgaW1wLT5zZXRBdHRyaWJ1dGUoV2ViQ29yZTo6
SFRNTE5hbWVzOjpyZWZsZWN0ZWRzdHJpbmdhdHRyQXR0ciwgdmFsdWVUb1N0cmluZ1dpdGhOdWxs
Q2hlY2soZXhlYywgdmFsdWUpKTsKLX0KLQotdm9pZCBzZXRKU1Rlc3RPYmpSZWZsZWN0ZWRJbnRl
Z3JhbEF0dHIoRXhlY1N0YXRlKiBleGVjLCBKU09iamVjdCogdGhpc09iamVjdCwgSlNWYWx1ZSB2
YWx1ZSkKLXsKLSAgICBKU1Rlc3RPYmoqIGNhc3RlZFRoaXMgPSBzdGF0aWNfY2FzdDxKU1Rlc3RP
YmoqPih0aGlzT2JqZWN0KTsKLSAgICBUZXN0T2JqKiBpbXAgPSBzdGF0aWNfY2FzdDxUZXN0T2Jq
Kj4oY2FzdGVkVGhpcy0+aW1wbCgpKTsKLSAgICBpbXAtPnNldEludGVncmFsQXR0cmlidXRlKFdl
YkNvcmU6OkhUTUxOYW1lczo6cmVmbGVjdGVkaW50ZWdyYWxhdHRyQXR0ciwgdmFsdWUudG9JbnQz
MihleGVjKSk7Ci19Ci0KLXZvaWQgc2V0SlNUZXN0T2JqUmVmbGVjdGVkQm9vbGVhbkF0dHIoRXhl
Y1N0YXRlKiBleGVjLCBKU09iamVjdCogdGhpc09iamVjdCwgSlNWYWx1ZSB2YWx1ZSkKLXsKLSAg
ICBKU1Rlc3RPYmoqIGNhc3RlZFRoaXMgPSBzdGF0aWNfY2FzdDxKU1Rlc3RPYmoqPih0aGlzT2Jq
ZWN0KTsKLSAgICBUZXN0T2JqKiBpbXAgPSBzdGF0aWNfY2FzdDxUZXN0T2JqKj4oY2FzdGVkVGhp
cy0+aW1wbCgpKTsKLSAgICBpbXAtPnNldEJvb2xlYW5BdHRyaWJ1dGUoV2ViQ29yZTo6SFRNTE5h
bWVzOjpyZWZsZWN0ZWRib29sZWFuYXR0ckF0dHIsIHZhbHVlLnRvQm9vbGVhbihleGVjKSk7Ci19
Ci0KLXZvaWQgc2V0SlNUZXN0T2JqUmVmbGVjdGVkVVJMQXR0cihFeGVjU3RhdGUqIGV4ZWMsIEpT
T2JqZWN0KiB0aGlzT2JqZWN0LCBKU1ZhbHVlIHZhbHVlKQotewotICAgIEpTVGVzdE9iaiogY2Fz
dGVkVGhpcyA9IHN0YXRpY19jYXN0PEpTVGVzdE9iaio+KHRoaXNPYmplY3QpOwotICAgIFRlc3RP
YmoqIGltcCA9IHN0YXRpY19jYXN0PFRlc3RPYmoqPihjYXN0ZWRUaGlzLT5pbXBsKCkpOwotICAg
IGltcC0+c2V0QXR0cmlidXRlKFdlYkNvcmU6OkhUTUxOYW1lczo6cmVmbGVjdGVkdXJsYXR0ckF0
dHIsIHZhbHVlVG9TdHJpbmdXaXRoTnVsbENoZWNrKGV4ZWMsIHZhbHVlKSk7Ci19Ci0KLXZvaWQg
c2V0SlNUZXN0T2JqUmVmbGVjdGVkU3RyaW5nQXR0cihFeGVjU3RhdGUqIGV4ZWMsIEpTT2JqZWN0
KiB0aGlzT2JqZWN0LCBKU1ZhbHVlIHZhbHVlKQotewotICAgIEpTVGVzdE9iaiogY2FzdGVkVGhp
cyA9IHN0YXRpY19jYXN0PEpTVGVzdE9iaio+KHRoaXNPYmplY3QpOwotICAgIFRlc3RPYmoqIGlt
cCA9IHN0YXRpY19jYXN0PFRlc3RPYmoqPihjYXN0ZWRUaGlzLT5pbXBsKCkpOwotICAgIGltcC0+
c2V0QXR0cmlidXRlKFdlYkNvcmU6OkhUTUxOYW1lczo6Y3VzdG9tQ29udGVudFN0cmluZ0F0dHJB
dHRyLCB2YWx1ZVRvU3RyaW5nV2l0aE51bGxDaGVjayhleGVjLCB2YWx1ZSkpOwotfQotCi12b2lk
IHNldEpTVGVzdE9ialJlZmxlY3RlZEN1c3RvbUludGVncmFsQXR0cihFeGVjU3RhdGUqIGV4ZWMs
IEpTT2JqZWN0KiB0aGlzT2JqZWN0LCBKU1ZhbHVlIHZhbHVlKQotewotICAgIEpTVGVzdE9iaiog
Y2FzdGVkVGhpcyA9IHN0YXRpY19jYXN0PEpTVGVzdE9iaio+KHRoaXNPYmplY3QpOwotICAgIFRl
c3RPYmoqIGltcCA9IHN0YXRpY19jYXN0PFRlc3RPYmoqPihjYXN0ZWRUaGlzLT5pbXBsKCkpOwot
ICAgIGltcC0+c2V0SW50ZWdyYWxBdHRyaWJ1dGUoV2ViQ29yZTo6SFRNTE5hbWVzOjpjdXN0b21D
b250ZW50SW50ZWdyYWxBdHRyQXR0ciwgdmFsdWUudG9JbnQzMihleGVjKSk7Ci19Ci0KLXZvaWQg
c2V0SlNUZXN0T2JqUmVmbGVjdGVkQ3VzdG9tQm9vbGVhbkF0dHIoRXhlY1N0YXRlKiBleGVjLCBK
U09iamVjdCogdGhpc09iamVjdCwgSlNWYWx1ZSB2YWx1ZSkKLXsKLSAgICBKU1Rlc3RPYmoqIGNh
c3RlZFRoaXMgPSBzdGF0aWNfY2FzdDxKU1Rlc3RPYmoqPih0aGlzT2JqZWN0KTsKLSAgICBUZXN0
T2JqKiBpbXAgPSBzdGF0aWNfY2FzdDxUZXN0T2JqKj4oY2FzdGVkVGhpcy0+aW1wbCgpKTsKLSAg
ICBpbXAtPnNldEJvb2xlYW5BdHRyaWJ1dGUoV2ViQ29yZTo6SFRNTE5hbWVzOjpjdXN0b21Db250
ZW50Qm9vbGVhbkF0dHJBdHRyLCB2YWx1ZS50b0Jvb2xlYW4oZXhlYykpOwotfQotCi12b2lkIHNl
dEpTVGVzdE9ialJlZmxlY3RlZFVSTEF0dHIoRXhlY1N0YXRlKiBleGVjLCBKU09iamVjdCogdGhp
c09iamVjdCwgSlNWYWx1ZSB2YWx1ZSkKLXsKLSAgICBKU1Rlc3RPYmoqIGNhc3RlZFRoaXMgPSBz
dGF0aWNfY2FzdDxKU1Rlc3RPYmoqPih0aGlzT2JqZWN0KTsKLSAgICBUZXN0T2JqKiBpbXAgPSBz
dGF0aWNfY2FzdDxUZXN0T2JqKj4oY2FzdGVkVGhpcy0+aW1wbCgpKTsKLSAgICBpbXAtPnNldEF0
dHJpYnV0ZShXZWJDb3JlOjpIVE1MTmFtZXM6OmN1c3RvbUNvbnRlbnRVUkxBdHRyQXR0ciwgdmFs
dWVUb1N0cmluZ1dpdGhOdWxsQ2hlY2soZXhlYywgdmFsdWUpKTsKLX0KLQotdm9pZCBzZXRKU1Rl
c3RPYmpBdHRyV2l0aEdldHRlckV4Y2VwdGlvbihFeGVjU3RhdGUqIGV4ZWMsIEpTT2JqZWN0KiB0
aGlzT2JqZWN0LCBKU1ZhbHVlIHZhbHVlKQordm9pZCBzZXRKU1Rlc3RPYmpBdHRyV2l0aEV4Y2Vw
dGlvbihFeGVjU3RhdGUqIGV4ZWMsIEpTT2JqZWN0KiB0aGlzT2JqZWN0LCBKU1ZhbHVlIHZhbHVl
KQogewogICAgIEpTVGVzdE9iaiogY2FzdGVkVGhpcyA9IHN0YXRpY19jYXN0PEpTVGVzdE9iaio+
KHRoaXNPYmplY3QpOwogICAgIFRlc3RPYmoqIGltcCA9IHN0YXRpY19jYXN0PFRlc3RPYmoqPihj
YXN0ZWRUaGlzLT5pbXBsKCkpOwotICAgIEV4Y2VwdGlvbkNvZGUgZWMgPSAwOwotICAgIGltcC0+
c2V0QXR0cldpdGhHZXR0ZXJFeGNlcHRpb24odmFsdWUudG9JbnQzMihleGVjKSwgZWMpOwotICAg
IHNldERPTUV4Y2VwdGlvbihleGVjLCBlYyk7CisgICAgaW1wLT5zZXRBdHRyV2l0aEV4Y2VwdGlv
bih2YWx1ZS50b0ludDMyKGV4ZWMpKTsKIH0KIAogdm9pZCBzZXRKU1Rlc3RPYmpBdHRyV2l0aFNl
dHRlckV4Y2VwdGlvbihFeGVjU3RhdGUqIGV4ZWMsIEpTT2JqZWN0KiB0aGlzT2JqZWN0LCBKU1Zh
bHVlIHZhbHVlKQpAQCAtNjAxLDIxICs0NTEsMTIgQEAgdm9pZCBzZXRKU1Rlc3RPYmpBdHRyV2l0
aFNldHRlckV4Y2VwdGlvbihFeGVjU3RhdGUqIGV4ZWMsIEpTT2JqZWN0KiB0aGlzT2JqZWN0LAog
ICAgIHNldERPTUV4Y2VwdGlvbihleGVjLCBlYyk7CiB9CiAKLXZvaWQgc2V0SlNUZXN0T2JqU3Ry
aW5nQXR0cldpdGhHZXR0ZXJFeGNlcHRpb24oRXhlY1N0YXRlKiBleGVjLCBKU09iamVjdCogdGhp
c09iamVjdCwgSlNWYWx1ZSB2YWx1ZSkKLXsKLSAgICBKU1Rlc3RPYmoqIGNhc3RlZFRoaXMgPSBz
dGF0aWNfY2FzdDxKU1Rlc3RPYmoqPih0aGlzT2JqZWN0KTsKLSAgICBUZXN0T2JqKiBpbXAgPSBz
dGF0aWNfY2FzdDxUZXN0T2JqKj4oY2FzdGVkVGhpcy0+aW1wbCgpKTsKLSAgICBFeGNlcHRpb25D
b2RlIGVjID0gMDsKLSAgICBpbXAtPnNldFN0cmluZ0F0dHJXaXRoR2V0dGVyRXhjZXB0aW9uKHVz
dHJpbmdUb1N0cmluZyh2YWx1ZS50b1N0cmluZyhleGVjKSksIGVjKTsKLSAgICBzZXRET01FeGNl
cHRpb24oZXhlYywgZWMpOwotfQotCi12b2lkIHNldEpTVGVzdE9ialN0cmluZ0F0dHJXaXRoU2V0
dGVyRXhjZXB0aW9uKEV4ZWNTdGF0ZSogZXhlYywgSlNPYmplY3QqIHRoaXNPYmplY3QsIEpTVmFs
dWUgdmFsdWUpCit2b2lkIHNldEpTVGVzdE9iakF0dHJXaXRoR2V0dGVyRXhjZXB0aW9uKEV4ZWNT
dGF0ZSogZXhlYywgSlNPYmplY3QqIHRoaXNPYmplY3QsIEpTVmFsdWUgdmFsdWUpCiB7CiAgICAg
SlNUZXN0T2JqKiBjYXN0ZWRUaGlzID0gc3RhdGljX2Nhc3Q8SlNUZXN0T2JqKj4odGhpc09iamVj
dCk7CiAgICAgVGVzdE9iaiogaW1wID0gc3RhdGljX2Nhc3Q8VGVzdE9iaio+KGNhc3RlZFRoaXMt
PmltcGwoKSk7CiAgICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7Ci0gICAgaW1wLT5zZXRTdHJpbmdB
dHRyV2l0aFNldHRlckV4Y2VwdGlvbih1c3RyaW5nVG9TdHJpbmcodmFsdWUudG9TdHJpbmcoZXhl
YykpLCBlYyk7CisgICAgaW1wLT5zZXRBdHRyV2l0aEdldHRlckV4Y2VwdGlvbih2YWx1ZS50b0lu
dDMyKGV4ZWMpLCBlYyk7CiAgICAgc2V0RE9NRXhjZXB0aW9uKGV4ZWMsIGVjKTsKIH0KIApAQCAt
MTE3NSw3ICsxMDE2LDcgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBqc1Rlc3RPYmpQ
cm90b3R5cGVGdW5jdGlvbk92ZXJsb2FkZWRNZXRob2QoRXhlY1N0YXQKICAgICAgICAgcmV0dXJu
IGpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uT3ZlcmxvYWRlZE1ldGhvZDMoZXhlYyk7CiAgICAg
aWYgKGV4ZWMtPmFyZ3VtZW50Q291bnQoKSA9PSAxKQogICAgICAgICByZXR1cm4ganNUZXN0T2Jq
UHJvdG90eXBlRnVuY3Rpb25PdmVybG9hZGVkTWV0aG9kNChleGVjKTsKLSAgICByZXR1cm4gdGhy
b3dWTVR5cGVFcnJvcihleGVjKTsKKyAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHRocm93VHlw
ZUVycm9yKGV4ZWMpKTsKIH0KIAogSlNDOjpKU1ZhbHVlIHRvSlMoSlNDOjpFeGVjU3RhdGUqIGV4
ZWMsIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFRlc3RPYmoqIG9iamVjdCkKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5oIGIv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmgKaW5kZXggM2IyMWM4
NTYwMWMwYTM3YjdjZGZmZjFlZTVmYTM2MTQxMjhhNDY3MC4uM2QxOTBlY2E1YjU4MGQyYmJkZDJi
M2RhY2Q0Y2I5NjY0ZTQ2MDk3MSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0T2JqLmgKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0T2JqLmgKQEAgLTEzMCwzMCArMTMwLDEyIEBAIEpTQzo6SlNWYWx1ZSBqc1Rlc3RP
YmpTdHJpbmdBdHRyKEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpKU1ZhbHVlLCBjb25zdCBKU0M6Oklk
ZW50CiB2b2lkIHNldEpTVGVzdE9ialN0cmluZ0F0dHIoSlNDOjpFeGVjU3RhdGUqLCBKU0M6OkpT
T2JqZWN0KiwgSlNDOjpKU1ZhbHVlKTsKIEpTQzo6SlNWYWx1ZSBqc1Rlc3RPYmpUZXN0T2JqQXR0
cihKU0M6OkV4ZWNTdGF0ZSosIEpTQzo6SlNWYWx1ZSwgY29uc3QgSlNDOjpJZGVudGlmaWVyJik7
CiB2b2lkIHNldEpTVGVzdE9ialRlc3RPYmpBdHRyKEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpKU09i
amVjdCosIEpTQzo6SlNWYWx1ZSk7Ci1KU0M6OkpTVmFsdWUganNUZXN0T2JqUmVmbGVjdGVkU3Ry
aW5nQXR0cihKU0M6OkV4ZWNTdGF0ZSosIEpTQzo6SlNWYWx1ZSwgY29uc3QgSlNDOjpJZGVudGlm
aWVyJik7Ci12b2lkIHNldEpTVGVzdE9ialJlZmxlY3RlZFN0cmluZ0F0dHIoSlNDOjpFeGVjU3Rh
dGUqLCBKU0M6OkpTT2JqZWN0KiwgSlNDOjpKU1ZhbHVlKTsKLUpTQzo6SlNWYWx1ZSBqc1Rlc3RP
YmpSZWZsZWN0ZWRJbnRlZ3JhbEF0dHIoSlNDOjpFeGVjU3RhdGUqLCBKU0M6OkpTVmFsdWUsIGNv
bnN0IEpTQzo6SWRlbnRpZmllciYpOwotdm9pZCBzZXRKU1Rlc3RPYmpSZWZsZWN0ZWRJbnRlZ3Jh
bEF0dHIoSlNDOjpFeGVjU3RhdGUqLCBKU0M6OkpTT2JqZWN0KiwgSlNDOjpKU1ZhbHVlKTsKLUpT
Qzo6SlNWYWx1ZSBqc1Rlc3RPYmpSZWZsZWN0ZWRCb29sZWFuQXR0cihKU0M6OkV4ZWNTdGF0ZSos
IEpTQzo6SlNWYWx1ZSwgY29uc3QgSlNDOjpJZGVudGlmaWVyJik7Ci12b2lkIHNldEpTVGVzdE9i
alJlZmxlY3RlZEJvb2xlYW5BdHRyKEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpKU09iamVjdCosIEpT
Qzo6SlNWYWx1ZSk7Ci1KU0M6OkpTVmFsdWUganNUZXN0T2JqUmVmbGVjdGVkVVJMQXR0cihKU0M6
OkV4ZWNTdGF0ZSosIEpTQzo6SlNWYWx1ZSwgY29uc3QgSlNDOjpJZGVudGlmaWVyJik7Ci12b2lk
IHNldEpTVGVzdE9ialJlZmxlY3RlZFVSTEF0dHIoSlNDOjpFeGVjU3RhdGUqLCBKU0M6OkpTT2Jq
ZWN0KiwgSlNDOjpKU1ZhbHVlKTsKLUpTQzo6SlNWYWx1ZSBqc1Rlc3RPYmpSZWZsZWN0ZWRTdHJp
bmdBdHRyKEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpKU1ZhbHVlLCBjb25zdCBKU0M6OklkZW50aWZp
ZXImKTsKLXZvaWQgc2V0SlNUZXN0T2JqUmVmbGVjdGVkU3RyaW5nQXR0cihKU0M6OkV4ZWNTdGF0
ZSosIEpTQzo6SlNPYmplY3QqLCBKU0M6OkpTVmFsdWUpOwotSlNDOjpKU1ZhbHVlIGpzVGVzdE9i
alJlZmxlY3RlZEN1c3RvbUludGVncmFsQXR0cihKU0M6OkV4ZWNTdGF0ZSosIEpTQzo6SlNWYWx1
ZSwgY29uc3QgSlNDOjpJZGVudGlmaWVyJik7Ci12b2lkIHNldEpTVGVzdE9ialJlZmxlY3RlZEN1
c3RvbUludGVncmFsQXR0cihKU0M6OkV4ZWNTdGF0ZSosIEpTQzo6SlNPYmplY3QqLCBKU0M6OkpT
VmFsdWUpOwotSlNDOjpKU1ZhbHVlIGpzVGVzdE9ialJlZmxlY3RlZEN1c3RvbUJvb2xlYW5BdHRy
KEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpKU1ZhbHVlLCBjb25zdCBKU0M6OklkZW50aWZpZXImKTsK
LXZvaWQgc2V0SlNUZXN0T2JqUmVmbGVjdGVkQ3VzdG9tQm9vbGVhbkF0dHIoSlNDOjpFeGVjU3Rh
dGUqLCBKU0M6OkpTT2JqZWN0KiwgSlNDOjpKU1ZhbHVlKTsKLUpTQzo6SlNWYWx1ZSBqc1Rlc3RP
YmpSZWZsZWN0ZWRVUkxBdHRyKEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpKU1ZhbHVlLCBjb25zdCBK
U0M6OklkZW50aWZpZXImKTsKLXZvaWQgc2V0SlNUZXN0T2JqUmVmbGVjdGVkVVJMQXR0cihKU0M6
OkV4ZWNTdGF0ZSosIEpTQzo6SlNPYmplY3QqLCBKU0M6OkpTVmFsdWUpOwotSlNDOjpKU1ZhbHVl
IGpzVGVzdE9iakF0dHJXaXRoR2V0dGVyRXhjZXB0aW9uKEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpK
U1ZhbHVlLCBjb25zdCBKU0M6OklkZW50aWZpZXImKTsKLXZvaWQgc2V0SlNUZXN0T2JqQXR0cldp
dGhHZXR0ZXJFeGNlcHRpb24oSlNDOjpFeGVjU3RhdGUqLCBKU0M6OkpTT2JqZWN0KiwgSlNDOjpK
U1ZhbHVlKTsKK0pTQzo6SlNWYWx1ZSBqc1Rlc3RPYmpBdHRyV2l0aEV4Y2VwdGlvbihKU0M6OkV4
ZWNTdGF0ZSosIEpTQzo6SlNWYWx1ZSwgY29uc3QgSlNDOjpJZGVudGlmaWVyJik7Cit2b2lkIHNl
dEpTVGVzdE9iakF0dHJXaXRoRXhjZXB0aW9uKEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpKU09iamVj
dCosIEpTQzo6SlNWYWx1ZSk7CiBKU0M6OkpTVmFsdWUganNUZXN0T2JqQXR0cldpdGhTZXR0ZXJF
eGNlcHRpb24oSlNDOjpFeGVjU3RhdGUqLCBKU0M6OkpTVmFsdWUsIGNvbnN0IEpTQzo6SWRlbnRp
ZmllciYpOwogdm9pZCBzZXRKU1Rlc3RPYmpBdHRyV2l0aFNldHRlckV4Y2VwdGlvbihKU0M6OkV4
ZWNTdGF0ZSosIEpTQzo6SlNPYmplY3QqLCBKU0M6OkpTVmFsdWUpOwotSlNDOjpKU1ZhbHVlIGpz
VGVzdE9ialN0cmluZ0F0dHJXaXRoR2V0dGVyRXhjZXB0aW9uKEpTQzo6RXhlY1N0YXRlKiwgSlND
OjpKU1ZhbHVlLCBjb25zdCBKU0M6OklkZW50aWZpZXImKTsKLXZvaWQgc2V0SlNUZXN0T2JqU3Ry
aW5nQXR0cldpdGhHZXR0ZXJFeGNlcHRpb24oSlNDOjpFeGVjU3RhdGUqLCBKU0M6OkpTT2JqZWN0
KiwgSlNDOjpKU1ZhbHVlKTsKLUpTQzo6SlNWYWx1ZSBqc1Rlc3RPYmpTdHJpbmdBdHRyV2l0aFNl
dHRlckV4Y2VwdGlvbihKU0M6OkV4ZWNTdGF0ZSosIEpTQzo6SlNWYWx1ZSwgY29uc3QgSlNDOjpJ
ZGVudGlmaWVyJik7Ci12b2lkIHNldEpTVGVzdE9ialN0cmluZ0F0dHJXaXRoU2V0dGVyRXhjZXB0
aW9uKEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpKU09iamVjdCosIEpTQzo6SlNWYWx1ZSk7CitKU0M6
OkpTVmFsdWUganNUZXN0T2JqQXR0cldpdGhHZXR0ZXJFeGNlcHRpb24oSlNDOjpFeGVjU3RhdGUq
LCBKU0M6OkpTVmFsdWUsIGNvbnN0IEpTQzo6SWRlbnRpZmllciYpOwordm9pZCBzZXRKU1Rlc3RP
YmpBdHRyV2l0aEdldHRlckV4Y2VwdGlvbihKU0M6OkV4ZWNTdGF0ZSosIEpTQzo6SlNPYmplY3Qq
LCBKU0M6OkpTVmFsdWUpOwogSlNDOjpKU1ZhbHVlIGpzVGVzdE9iakN1c3RvbUF0dHIoSlNDOjpF
eGVjU3RhdGUqLCBKU0M6OkpTVmFsdWUsIGNvbnN0IEpTQzo6SWRlbnRpZmllciYpOwogdm9pZCBz
ZXRKU1Rlc3RPYmpDdXN0b21BdHRyKEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpKU09iamVjdCosIEpT
Qzo6SlNWYWx1ZSk7CiBKU0M6OkpTVmFsdWUganNUZXN0T2JqU2NyaXB0U3RyaW5nQXR0cihKU0M6
OkV4ZWNTdGF0ZSosIEpTQzo6SlNWYWx1ZSwgY29uc3QgSlNDOjpJZGVudGlmaWVyJik7CmRpZmYg
LS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9PYmpDL0RPTVRlc3RPYmouaCBi
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L09iakMvRE9NVGVzdE9iai5oCmluZGV4IGQ4
ODYyZGExNWVhYzRlODFhMmViMTFhYmVhM2EwNWQzM2ZiMmMxYmIuLjQ1OTdmN2ZkZDkwNzY0OWQ3
NGE4YWM0NDkzZGYxMmNjZWNiYjFjZmEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L09iakMvRE9NVGVzdE9iai5oCisrKyBiL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L09iakMvRE9NVGVzdE9iai5oCkBAIC00NywzMCArNDcsMTIgQEAKIC0gKHZvaWQpc2V0
U3RyaW5nQXR0cjooTlNTdHJpbmcgKiluZXdTdHJpbmdBdHRyOwogLSAoRE9NVGVzdE9iaiAqKXRl
c3RPYmpBdHRyOwogLSAodm9pZClzZXRUZXN0T2JqQXR0cjooRE9NVGVzdE9iaiAqKW5ld1Rlc3RP
YmpBdHRyOwotLSAoTlNTdHJpbmcgKilyZWZsZWN0ZWRTdHJpbmdBdHRyOwotLSAodm9pZClzZXRS
ZWZsZWN0ZWRTdHJpbmdBdHRyOihOU1N0cmluZyAqKW5ld1JlZmxlY3RlZFN0cmluZ0F0dHI7Ci0t
IChpbnQpcmVmbGVjdGVkSW50ZWdyYWxBdHRyOwotLSAodm9pZClzZXRSZWZsZWN0ZWRJbnRlZ3Jh
bEF0dHI6KGludCluZXdSZWZsZWN0ZWRJbnRlZ3JhbEF0dHI7Ci0tIChCT09MKXJlZmxlY3RlZEJv
b2xlYW5BdHRyOwotLSAodm9pZClzZXRSZWZsZWN0ZWRCb29sZWFuQXR0cjooQk9PTCluZXdSZWZs
ZWN0ZWRCb29sZWFuQXR0cjsKLS0gKE5TU3RyaW5nICopcmVmbGVjdGVkVVJMQXR0cjsKLS0gKHZv
aWQpc2V0UmVmbGVjdGVkVVJMQXR0cjooTlNTdHJpbmcgKiluZXdSZWZsZWN0ZWRVUkxBdHRyOwot
LSAoTlNTdHJpbmcgKilyZWZsZWN0ZWRTdHJpbmdBdHRyOwotLSAodm9pZClzZXRSZWZsZWN0ZWRT
dHJpbmdBdHRyOihOU1N0cmluZyAqKW5ld1JlZmxlY3RlZFN0cmluZ0F0dHI7Ci0tIChpbnQpcmVm
bGVjdGVkQ3VzdG9tSW50ZWdyYWxBdHRyOwotLSAodm9pZClzZXRSZWZsZWN0ZWRDdXN0b21JbnRl
Z3JhbEF0dHI6KGludCluZXdSZWZsZWN0ZWRDdXN0b21JbnRlZ3JhbEF0dHI7Ci0tIChCT09MKXJl
ZmxlY3RlZEN1c3RvbUJvb2xlYW5BdHRyOwotLSAodm9pZClzZXRSZWZsZWN0ZWRDdXN0b21Cb29s
ZWFuQXR0cjooQk9PTCluZXdSZWZsZWN0ZWRDdXN0b21Cb29sZWFuQXR0cjsKLS0gKE5TU3RyaW5n
ICopcmVmbGVjdGVkVVJMQXR0cjsKLS0gKHZvaWQpc2V0UmVmbGVjdGVkVVJMQXR0cjooTlNTdHJp
bmcgKiluZXdSZWZsZWN0ZWRVUkxBdHRyOwotLSAoaW50KWF0dHJXaXRoR2V0dGVyRXhjZXB0aW9u
OwotLSAodm9pZClzZXRBdHRyV2l0aEdldHRlckV4Y2VwdGlvbjooaW50KW5ld0F0dHJXaXRoR2V0
dGVyRXhjZXB0aW9uOworLSAoaW50KWF0dHJXaXRoRXhjZXB0aW9uOworLSAodm9pZClzZXRBdHRy
V2l0aEV4Y2VwdGlvbjooaW50KW5ld0F0dHJXaXRoRXhjZXB0aW9uOwogLSAoaW50KWF0dHJXaXRo
U2V0dGVyRXhjZXB0aW9uOwogLSAodm9pZClzZXRBdHRyV2l0aFNldHRlckV4Y2VwdGlvbjooaW50
KW5ld0F0dHJXaXRoU2V0dGVyRXhjZXB0aW9uOwotLSAoTlNTdHJpbmcgKilzdHJpbmdBdHRyV2l0
aEdldHRlckV4Y2VwdGlvbjsKLS0gKHZvaWQpc2V0U3RyaW5nQXR0cldpdGhHZXR0ZXJFeGNlcHRp
b246KE5TU3RyaW5nICopbmV3U3RyaW5nQXR0cldpdGhHZXR0ZXJFeGNlcHRpb247Ci0tIChOU1N0
cmluZyAqKXN0cmluZ0F0dHJXaXRoU2V0dGVyRXhjZXB0aW9uOwotLSAodm9pZClzZXRTdHJpbmdB
dHRyV2l0aFNldHRlckV4Y2VwdGlvbjooTlNTdHJpbmcgKiluZXdTdHJpbmdBdHRyV2l0aFNldHRl
ckV4Y2VwdGlvbjsKKy0gKGludClhdHRyV2l0aEdldHRlckV4Y2VwdGlvbjsKKy0gKHZvaWQpc2V0
QXR0cldpdGhHZXR0ZXJFeGNlcHRpb246KGludCluZXdBdHRyV2l0aEdldHRlckV4Y2VwdGlvbjsK
IC0gKGludCljdXN0b21BdHRyOwogLSAodm9pZClzZXRDdXN0b21BdHRyOihpbnQpbmV3Q3VzdG9t
QXR0cjsKIC0gKE5TU3RyaW5nICopc2NyaXB0U3RyaW5nQXR0cjsKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L09iakMvRE9NVGVzdE9iai5tbSBiL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L09iakMvRE9NVGVzdE9iai5tbQppbmRleCA5YmJiZjE0NGI3ZWU2
OWZiOTZhNDBmNDE0OWQ4MDU5NGNlZjdkZmI4Li44YjIzNWE4ZWJmMzUyZDUyZGI5ZjVmMTNiNjc5
OTI5NDlmZTBkNWU5IDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9P
YmpDL0RPTVRlc3RPYmoubW0KKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvT2Jq
Qy9ET01UZXN0T2JqLm1tCkBAIC0zOSw3ICszOSw2IEBACiAjaW1wb3J0ICJET01sb2dJbnRlcm5h
bC5oIgogI2ltcG9ydCAiRXZlbnRMaXN0ZW5lci5oIgogI2ltcG9ydCAiRXhjZXB0aW9uSGFuZGxl
cnMuaCIKLSNpbXBvcnQgIkhUTUxOYW1lcy5oIgogI2ltcG9ydCAiSlNNYWluVGhyZWFkRXhlY1N0
YXRlLmgiCiAjaW1wb3J0ICJLVVJMLmgiCiAjaW1wb3J0ICJPYmpDRXZlbnRMaXN0ZW5lci5oIgpA
QCAtMTUyLDEyNSArMTUxLDI3IEBACiAgICAgSU1QTC0+c2V0VGVzdE9iakF0dHIoY29yZShuZXdU
ZXN0T2JqQXR0cikpOwogfQogCi0tIChOU1N0cmluZyAqKXJlZmxlY3RlZFN0cmluZ0F0dHIKKy0g
KGludClhdHRyV2l0aEV4Y2VwdGlvbgogewogICAgIFdlYkNvcmU6OkpTTWFpblRocmVhZE51bGxT
dGF0ZSBzdGF0ZTsKLSAgICByZXR1cm4gSU1QTC0+Z2V0QXR0cmlidXRlKFdlYkNvcmU6OkhUTUxO
YW1lczo6cmVmbGVjdGVkc3RyaW5nYXR0ckF0dHIpOworICAgIHJldHVybiBJTVBMLT5hdHRyV2l0
aEV4Y2VwdGlvbigpOwogfQogCi0tICh2b2lkKXNldFJlZmxlY3RlZFN0cmluZ0F0dHI6KE5TU3Ry
aW5nICopbmV3UmVmbGVjdGVkU3RyaW5nQXR0cgorLSAodm9pZClzZXRBdHRyV2l0aEV4Y2VwdGlv
bjooaW50KW5ld0F0dHJXaXRoRXhjZXB0aW9uCiB7CiAgICAgV2ViQ29yZTo6SlNNYWluVGhyZWFk
TnVsbFN0YXRlIHN0YXRlOwotICAgIElNUEwtPnNldEF0dHJpYnV0ZShXZWJDb3JlOjpIVE1MTmFt
ZXM6OnJlZmxlY3RlZHN0cmluZ2F0dHJBdHRyLCBuZXdSZWZsZWN0ZWRTdHJpbmdBdHRyKTsKKyAg
ICBJTVBMLT5zZXRBdHRyV2l0aEV4Y2VwdGlvbihuZXdBdHRyV2l0aEV4Y2VwdGlvbik7CiB9CiAK
LS0gKGludClyZWZsZWN0ZWRJbnRlZ3JhbEF0dHIKLXsKLSAgICBXZWJDb3JlOjpKU01haW5UaHJl
YWROdWxsU3RhdGUgc3RhdGU7Ci0gICAgcmV0dXJuIElNUEwtPmdldEludGVncmFsQXR0cmlidXRl
KFdlYkNvcmU6OkhUTUxOYW1lczo6cmVmbGVjdGVkaW50ZWdyYWxhdHRyQXR0cik7Ci19Ci0KLS0g
KHZvaWQpc2V0UmVmbGVjdGVkSW50ZWdyYWxBdHRyOihpbnQpbmV3UmVmbGVjdGVkSW50ZWdyYWxB
dHRyCi17Ci0gICAgV2ViQ29yZTo6SlNNYWluVGhyZWFkTnVsbFN0YXRlIHN0YXRlOwotICAgIElN
UEwtPnNldEludGVncmFsQXR0cmlidXRlKFdlYkNvcmU6OkhUTUxOYW1lczo6cmVmbGVjdGVkaW50
ZWdyYWxhdHRyQXR0ciwgbmV3UmVmbGVjdGVkSW50ZWdyYWxBdHRyKTsKLX0KLQotLSAoQk9PTCly
ZWZsZWN0ZWRCb29sZWFuQXR0cgotewotICAgIFdlYkNvcmU6OkpTTWFpblRocmVhZE51bGxTdGF0
ZSBzdGF0ZTsKLSAgICByZXR1cm4gSU1QTC0+aGFzQXR0cmlidXRlKFdlYkNvcmU6OkhUTUxOYW1l
czo6cmVmbGVjdGVkYm9vbGVhbmF0dHJBdHRyKTsKLX0KLQotLSAodm9pZClzZXRSZWZsZWN0ZWRC
b29sZWFuQXR0cjooQk9PTCluZXdSZWZsZWN0ZWRCb29sZWFuQXR0cgotewotICAgIFdlYkNvcmU6
OkpTTWFpblRocmVhZE51bGxTdGF0ZSBzdGF0ZTsKLSAgICBJTVBMLT5zZXRCb29sZWFuQXR0cmli
dXRlKFdlYkNvcmU6OkhUTUxOYW1lczo6cmVmbGVjdGVkYm9vbGVhbmF0dHJBdHRyLCBuZXdSZWZs
ZWN0ZWRCb29sZWFuQXR0cik7Ci19Ci0KLS0gKE5TU3RyaW5nICopcmVmbGVjdGVkVVJMQXR0cgot
ewotICAgIFdlYkNvcmU6OkpTTWFpblRocmVhZE51bGxTdGF0ZSBzdGF0ZTsKLSAgICByZXR1cm4g
SU1QTC0+Z2V0VVJMQXR0cmlidXRlKFdlYkNvcmU6OkhUTUxOYW1lczo6cmVmbGVjdGVkdXJsYXR0
ckF0dHIpOwotfQotCi0tICh2b2lkKXNldFJlZmxlY3RlZFVSTEF0dHI6KE5TU3RyaW5nICopbmV3
UmVmbGVjdGVkVVJMQXR0cgotewotICAgIFdlYkNvcmU6OkpTTWFpblRocmVhZE51bGxTdGF0ZSBz
dGF0ZTsKLSAgICBJTVBMLT5zZXRBdHRyaWJ1dGUoV2ViQ29yZTo6SFRNTE5hbWVzOjpyZWZsZWN0
ZWR1cmxhdHRyQXR0ciwgbmV3UmVmbGVjdGVkVVJMQXR0cik7Ci19Ci0KLS0gKE5TU3RyaW5nICop
cmVmbGVjdGVkU3RyaW5nQXR0cgotewotICAgIFdlYkNvcmU6OkpTTWFpblRocmVhZE51bGxTdGF0
ZSBzdGF0ZTsKLSAgICByZXR1cm4gSU1QTC0+Z2V0QXR0cmlidXRlKFdlYkNvcmU6OkhUTUxOYW1l
czo6Y3VzdG9tQ29udGVudFN0cmluZ0F0dHJBdHRyKTsKLX0KLQotLSAodm9pZClzZXRSZWZsZWN0
ZWRTdHJpbmdBdHRyOihOU1N0cmluZyAqKW5ld1JlZmxlY3RlZFN0cmluZ0F0dHIKLXsKLSAgICBX
ZWJDb3JlOjpKU01haW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7Ci0gICAgSU1QTC0+c2V0QXR0cmli
dXRlKFdlYkNvcmU6OkhUTUxOYW1lczo6Y3VzdG9tQ29udGVudFN0cmluZ0F0dHJBdHRyLCBuZXdS
ZWZsZWN0ZWRTdHJpbmdBdHRyKTsKLX0KLQotLSAoaW50KXJlZmxlY3RlZEN1c3RvbUludGVncmFs
QXR0cgotewotICAgIFdlYkNvcmU6OkpTTWFpblRocmVhZE51bGxTdGF0ZSBzdGF0ZTsKLSAgICBy
ZXR1cm4gSU1QTC0+Z2V0SW50ZWdyYWxBdHRyaWJ1dGUoV2ViQ29yZTo6SFRNTE5hbWVzOjpjdXN0
b21Db250ZW50SW50ZWdyYWxBdHRyQXR0cik7Ci19Ci0KLS0gKHZvaWQpc2V0UmVmbGVjdGVkQ3Vz
dG9tSW50ZWdyYWxBdHRyOihpbnQpbmV3UmVmbGVjdGVkQ3VzdG9tSW50ZWdyYWxBdHRyCi17Ci0g
ICAgV2ViQ29yZTo6SlNNYWluVGhyZWFkTnVsbFN0YXRlIHN0YXRlOwotICAgIElNUEwtPnNldElu
dGVncmFsQXR0cmlidXRlKFdlYkNvcmU6OkhUTUxOYW1lczo6Y3VzdG9tQ29udGVudEludGVncmFs
QXR0ckF0dHIsIG5ld1JlZmxlY3RlZEN1c3RvbUludGVncmFsQXR0cik7Ci19Ci0KLS0gKEJPT0wp
cmVmbGVjdGVkQ3VzdG9tQm9vbGVhbkF0dHIKLXsKLSAgICBXZWJDb3JlOjpKU01haW5UaHJlYWRO
dWxsU3RhdGUgc3RhdGU7Ci0gICAgcmV0dXJuIElNUEwtPmhhc0F0dHJpYnV0ZShXZWJDb3JlOjpI
VE1MTmFtZXM6OmN1c3RvbUNvbnRlbnRCb29sZWFuQXR0ckF0dHIpOwotfQotCi0tICh2b2lkKXNl
dFJlZmxlY3RlZEN1c3RvbUJvb2xlYW5BdHRyOihCT09MKW5ld1JlZmxlY3RlZEN1c3RvbUJvb2xl
YW5BdHRyCi17Ci0gICAgV2ViQ29yZTo6SlNNYWluVGhyZWFkTnVsbFN0YXRlIHN0YXRlOwotICAg
IElNUEwtPnNldEJvb2xlYW5BdHRyaWJ1dGUoV2ViQ29yZTo6SFRNTE5hbWVzOjpjdXN0b21Db250
ZW50Qm9vbGVhbkF0dHJBdHRyLCBuZXdSZWZsZWN0ZWRDdXN0b21Cb29sZWFuQXR0cik7Ci19Ci0K
LS0gKE5TU3RyaW5nICopcmVmbGVjdGVkVVJMQXR0cgotewotICAgIFdlYkNvcmU6OkpTTWFpblRo
cmVhZE51bGxTdGF0ZSBzdGF0ZTsKLSAgICByZXR1cm4gSU1QTC0+Z2V0VVJMQXR0cmlidXRlKFdl
YkNvcmU6OkhUTUxOYW1lczo6Y3VzdG9tQ29udGVudFVSTEF0dHJBdHRyKTsKLX0KLQotLSAodm9p
ZClzZXRSZWZsZWN0ZWRVUkxBdHRyOihOU1N0cmluZyAqKW5ld1JlZmxlY3RlZFVSTEF0dHIKLXsK
LSAgICBXZWJDb3JlOjpKU01haW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7Ci0gICAgSU1QTC0+c2V0
QXR0cmlidXRlKFdlYkNvcmU6OkhUTUxOYW1lczo6Y3VzdG9tQ29udGVudFVSTEF0dHJBdHRyLCBu
ZXdSZWZsZWN0ZWRVUkxBdHRyKTsKLX0KLQotLSAoaW50KWF0dHJXaXRoR2V0dGVyRXhjZXB0aW9u
CistIChpbnQpYXR0cldpdGhTZXR0ZXJFeGNlcHRpb24KIHsKICAgICBXZWJDb3JlOjpKU01haW5U
aHJlYWROdWxsU3RhdGUgc3RhdGU7CiAgICAgV2ViQ29yZTo6RXhjZXB0aW9uQ29kZSBlYyA9IDA7
Ci0gICAgaW50IHJlc3VsdCA9IElNUEwtPmF0dHJXaXRoR2V0dGVyRXhjZXB0aW9uKGVjKTsKKyAg
ICBpbnQgcmVzdWx0ID0gSU1QTC0+YXR0cldpdGhTZXR0ZXJFeGNlcHRpb24oZWMpOwogICAgIFdl
YkNvcmU6OnJhaXNlT25ET01FcnJvcihlYyk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAotLSAo
dm9pZClzZXRBdHRyV2l0aEdldHRlckV4Y2VwdGlvbjooaW50KW5ld0F0dHJXaXRoR2V0dGVyRXhj
ZXB0aW9uCi17Ci0gICAgV2ViQ29yZTo6SlNNYWluVGhyZWFkTnVsbFN0YXRlIHN0YXRlOwotICAg
IFdlYkNvcmU6OkV4Y2VwdGlvbkNvZGUgZWMgPSAwOwotICAgIElNUEwtPnNldEF0dHJXaXRoR2V0
dGVyRXhjZXB0aW9uKG5ld0F0dHJXaXRoR2V0dGVyRXhjZXB0aW9uLCBlYyk7Ci0gICAgV2ViQ29y
ZTo6cmFpc2VPbkRPTUVycm9yKGVjKTsKLX0KLQotLSAoaW50KWF0dHJXaXRoU2V0dGVyRXhjZXB0
aW9uCi17Ci0gICAgV2ViQ29yZTo6SlNNYWluVGhyZWFkTnVsbFN0YXRlIHN0YXRlOwotICAgIHJl
dHVybiBJTVBMLT5hdHRyV2l0aFNldHRlckV4Y2VwdGlvbigpOwotfQotCiAtICh2b2lkKXNldEF0
dHJXaXRoU2V0dGVyRXhjZXB0aW9uOihpbnQpbmV3QXR0cldpdGhTZXR0ZXJFeGNlcHRpb24KIHsK
ICAgICBXZWJDb3JlOjpKU01haW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7CkBAIC0yNzksMzQgKzE4
MCwxNyBAQAogICAgIFdlYkNvcmU6OnJhaXNlT25ET01FcnJvcihlYyk7CiB9CiAKLS0gKE5TU3Ry
aW5nICopc3RyaW5nQXR0cldpdGhHZXR0ZXJFeGNlcHRpb24KLXsKLSAgICBXZWJDb3JlOjpKU01h
aW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7Ci0gICAgV2ViQ29yZTo6RXhjZXB0aW9uQ29kZSBlYyA9
IDA7Ci0gICAgTlNTdHJpbmcgKnJlc3VsdCA9IElNUEwtPnN0cmluZ0F0dHJXaXRoR2V0dGVyRXhj
ZXB0aW9uKGVjKTsKLSAgICBXZWJDb3JlOjpyYWlzZU9uRE9NRXJyb3IoZWMpOwotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci0KLS0gKHZvaWQpc2V0U3RyaW5nQXR0cldpdGhHZXR0ZXJFeGNlcHRpb246
KE5TU3RyaW5nICopbmV3U3RyaW5nQXR0cldpdGhHZXR0ZXJFeGNlcHRpb24KLXsKLSAgICBXZWJD
b3JlOjpKU01haW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7Ci0gICAgV2ViQ29yZTo6RXhjZXB0aW9u
Q29kZSBlYyA9IDA7Ci0gICAgSU1QTC0+c2V0U3RyaW5nQXR0cldpdGhHZXR0ZXJFeGNlcHRpb24o
bmV3U3RyaW5nQXR0cldpdGhHZXR0ZXJFeGNlcHRpb24sIGVjKTsKLSAgICBXZWJDb3JlOjpyYWlz
ZU9uRE9NRXJyb3IoZWMpOwotfQotCi0tIChOU1N0cmluZyAqKXN0cmluZ0F0dHJXaXRoU2V0dGVy
RXhjZXB0aW9uCistIChpbnQpYXR0cldpdGhHZXR0ZXJFeGNlcHRpb24KIHsKICAgICBXZWJDb3Jl
OjpKU01haW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7Ci0gICAgcmV0dXJuIElNUEwtPnN0cmluZ0F0
dHJXaXRoU2V0dGVyRXhjZXB0aW9uKCk7CisgICAgcmV0dXJuIElNUEwtPmF0dHJXaXRoR2V0dGVy
RXhjZXB0aW9uKCk7CiB9CiAKLS0gKHZvaWQpc2V0U3RyaW5nQXR0cldpdGhTZXR0ZXJFeGNlcHRp
b246KE5TU3RyaW5nICopbmV3U3RyaW5nQXR0cldpdGhTZXR0ZXJFeGNlcHRpb24KKy0gKHZvaWQp
c2V0QXR0cldpdGhHZXR0ZXJFeGNlcHRpb246KGludCluZXdBdHRyV2l0aEdldHRlckV4Y2VwdGlv
bgogewogICAgIFdlYkNvcmU6OkpTTWFpblRocmVhZE51bGxTdGF0ZSBzdGF0ZTsKICAgICBXZWJD
b3JlOjpFeGNlcHRpb25Db2RlIGVjID0gMDsKLSAgICBJTVBMLT5zZXRTdHJpbmdBdHRyV2l0aFNl
dHRlckV4Y2VwdGlvbihuZXdTdHJpbmdBdHRyV2l0aFNldHRlckV4Y2VwdGlvbiwgZWMpOworICAg
IElNUEwtPnNldEF0dHJXaXRoR2V0dGVyRXhjZXB0aW9uKG5ld0F0dHJXaXRoR2V0dGVyRXhjZXB0
aW9uLCBlYyk7CiAgICAgV2ViQ29yZTo6cmFpc2VPbkRPTUVycm9yKGVjKTsKIH0KIApkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdE9iai5pZGwgYi9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0T2JqLmlkbAppbmRleCBlZjRkYjEwNmYwNzQ2NmY4
NDI1OTQxNGQ4OWQ5ZDA0OWY2OTg0MjIyLi42ZjVkOTZiY2E5MjM4YzBjZWI2NjcyMzRkNDdmMjA5
OTdhNjg0NzcwIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0
T2JqLmlkbAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0T2JqLmlkbApA
QCAtNDAsMTYgKzQwLDYgQEAgbW9kdWxlIHRlc3QgewogICAgICAgICBhdHRyaWJ1dGUgRE9NU3Ry
aW5nICAgICAgICAgICAgICAgIHN0cmluZ0F0dHI7CiAgICAgICAgIGF0dHJpYnV0ZSBUZXN0T2Jq
ICAgICAgICAgICAgICAgICAgdGVzdE9iakF0dHI7CiAKLSAgICAgICAgLy8gUmVmbGVjdGVkIERP
TSBhdHRyaWJ1dGVzCi0gICAgICAgIGF0dHJpYnV0ZSBbUmVmbGVjdF0gRE9NU3RyaW5nIHJlZmxl
Y3RlZFN0cmluZ0F0dHI7Ci0gICAgICAgIGF0dHJpYnV0ZSBbUmVmbGVjdF0gbG9uZyByZWZsZWN0
ZWRJbnRlZ3JhbEF0dHI7Ci0gICAgICAgIGF0dHJpYnV0ZSBbUmVmbGVjdF0gYm9vbGVhbiByZWZs
ZWN0ZWRCb29sZWFuQXR0cjsKLSAgICAgICAgYXR0cmlidXRlIFtSZWZsZWN0VVJMXSBET01TdHJp
bmcgcmVmbGVjdGVkVVJMQXR0cjsKLSAgICAgICAgYXR0cmlidXRlIFtSZWZsZWN0PWN1c3RvbUNv
bnRlbnRTdHJpbmdBdHRyXSBET01TdHJpbmcgcmVmbGVjdGVkU3RyaW5nQXR0cjsKLSAgICAgICAg
YXR0cmlidXRlIFtSZWZsZWN0PWN1c3RvbUNvbnRlbnRJbnRlZ3JhbEF0dHJdIGxvbmcgcmVmbGVj
dGVkQ3VzdG9tSW50ZWdyYWxBdHRyOwotICAgICAgICBhdHRyaWJ1dGUgW1JlZmxlY3Q9Y3VzdG9t
Q29udGVudEJvb2xlYW5BdHRyXSBib29sZWFuIHJlZmxlY3RlZEN1c3RvbUJvb2xlYW5BdHRyOwot
ICAgICAgICBhdHRyaWJ1dGUgW1JlZmxlY3RVUkw9Y3VzdG9tQ29udGVudFVSTEF0dHJdIERPTVN0
cmluZyByZWZsZWN0ZWRVUkxBdHRyOwotCiAgICAgICAgIC8vIE1ldGhvZHMKICAgICAgICAgdm9p
ZCAgICB2b2lkTWV0aG9kKCk7CiAgICAgICAgIHZvaWQgICAgdm9pZE1ldGhvZFdpdGhBcmdzKGlu
IGxvbmcgaW50QXJnLCBpbiBET01TdHJpbmcgc3RyQXJnLCBpbiBUZXN0T2JqIG9iakFyZyk7CkBA
IC02NSwxMSArNTUsMTAgQEAgbW9kdWxlIHRlc3QgewogICAgICAgICB2b2lkIHNlcmlhbGl6ZWRW
YWx1ZShpbiBTZXJpYWxpemVkU2NyaXB0VmFsdWUgc2VyaWFsaXplZEFyZyk7CiAKICAgICAgICAg
Ly8gRXhjZXB0aW9ucwotICAgICAgICB2b2lkIG1ldGhvZFdpdGhFeGNlcHRpb24oKSByYWlzZXMo
RE9NRXhjZXB0aW9uKTsKLSAgICAgICAgYXR0cmlidXRlIGxvbmcgYXR0cldpdGhHZXR0ZXJFeGNl
cHRpb24gZ2V0dGVyIHJhaXNlcyhET01FeGNlcHRpb24pOwotICAgICAgICBhdHRyaWJ1dGUgbG9u
ZyBhdHRyV2l0aFNldHRlckV4Y2VwdGlvbiBzZXR0ZXIgcmFpc2VzKERPTUV4Y2VwdGlvbik7Ci0g
ICAgICAgIGF0dHJpYnV0ZSBET01TdHJpbmcgc3RyaW5nQXR0cldpdGhHZXR0ZXJFeGNlcHRpb24g
Z2V0dGVyIHJhaXNlcyhET01FeGNlcHRpb24pOwotICAgICAgICBhdHRyaWJ1dGUgRE9NU3RyaW5n
IHN0cmluZ0F0dHJXaXRoU2V0dGVyRXhjZXB0aW9uIHNldHRlciByYWlzZXMoRE9NRXhjZXB0aW9u
KTsKKyAgICAgICAgdm9pZCAgICBtZXRob2RXaXRoRXhjZXB0aW9uKCkgcmFpc2VzKERPTUV4Y2Vw
dGlvbik7CisgICAgICAgIGF0dHJpYnV0ZSBsb25nIGF0dHJXaXRoRXhjZXB0aW9uIHJhaXNlcyhE
T01FeGNlcHRpb24pOworICAgICAgICBhdHRyaWJ1dGUgbG9uZyBhdHRyV2l0aFNldHRlckV4Y2Vw
dGlvbiBnZXR0ZXIgcmFpc2VzKERPTUV4Y2VwdGlvbik7CisgICAgICAgIGF0dHJpYnV0ZSBsb25n
IGF0dHJXaXRoR2V0dGVyRXhjZXB0aW9uIHNldHRlciByYWlzZXMoRE9NRXhjZXB0aW9uKTsKIAog
ICAgICAgICAvLyAnQ3VzdG9tJyBleHRlbmRlZCBhdHRyaWJ1dGUKICAgICAgICAgYXR0cmlidXRl
IFtDdXN0b21dIGxvbmcgICAgICAgICAgICBjdXN0b21BdHRyOwpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0T2JqLmNwcCBiL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdE9iai5jcHAKaW5kZXggNGE1NGFlMzQwOTUzNzQwNDli
Y2ExZTIxOTU2YWM4ZDM4ZGViMzE2Zi4uOGNkYjJhNzU3ZWJmMzcxM2U0ZDExZDZjY2UxY2M1Zjky
ZWNhODFmMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhU
ZXN0T2JqLmNwcAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RP
YmouY3BwCkBAIC0yMiw3ICsyMiw2IEBACiAjaW5jbHVkZSAiVjhUZXN0T2JqLmgiCiAKICNpbmNs
dWRlICJFeGNlcHRpb25Db2RlLmgiCi0jaW5jbHVkZSAiSFRNTE5hbWVzLmgiCiAjaW5jbHVkZSAi
UnVudGltZUVuYWJsZWRGZWF0dXJlcy5oIgogI2luY2x1ZGUgIlNjcmlwdENhbGxTdGFjay5oIgog
I2luY2x1ZGUgIlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5oIgpAQCAtMTUyLDE0MCArMTUxLDI4IEBA
IHN0YXRpYyB2b2lkIHRlc3RPYmpBdHRyQXR0clNldHRlcih2ODo6TG9jYWw8djg6OlN0cmluZz4g
bmFtZSwgdjg6OkxvY2FsPHY4OjpWYWx1CiAgICAgcmV0dXJuOwogfQogCi1zdGF0aWMgdjg6Okhh
bmRsZTx2ODo6VmFsdWU+IHJlZmxlY3RlZFN0cmluZ0F0dHJBdHRyR2V0dGVyKHY4OjpMb2NhbDx2
ODo6U3RyaW5nPiBuYW1lLCBjb25zdCB2ODo6QWNjZXNzb3JJbmZvJiBpbmZvKQorc3RhdGljIHY4
OjpIYW5kbGU8djg6OlZhbHVlPiBhdHRyV2l0aEV4Y2VwdGlvbkF0dHJHZXR0ZXIodjg6OkxvY2Fs
PHY4OjpTdHJpbmc+IG5hbWUsIGNvbnN0IHY4OjpBY2Nlc3NvckluZm8mIGluZm8pCiB7Ci0gICAg
SU5DX1NUQVRTKCJET00uVGVzdE9iai5yZWZsZWN0ZWRTdHJpbmdBdHRyLl9nZXQiKTsKKyAgICBJ
TkNfU1RBVFMoIkRPTS5UZXN0T2JqLmF0dHJXaXRoRXhjZXB0aW9uLl9nZXQiKTsKICAgICBUZXN0
T2JqKiBpbXAgPSBWOFRlc3RPYmo6OnRvTmF0aXZlKGluZm8uSG9sZGVyKCkpOwotICAgIHJldHVy
biB2OFN0cmluZyhpbXAtPmdldEF0dHJpYnV0ZShXZWJDb3JlOjpIVE1MTmFtZXM6OnJlZmxlY3Rl
ZHN0cmluZ2F0dHJBdHRyKSk7CisgICAgcmV0dXJuIHY4OjpJbnRlZ2VyOjpOZXcoaW1wLT5hdHRy
V2l0aEV4Y2VwdGlvbigpKTsKIH0KIAotc3RhdGljIHZvaWQgcmVmbGVjdGVkU3RyaW5nQXR0ckF0
dHJTZXR0ZXIodjg6OkxvY2FsPHY4OjpTdHJpbmc+IG5hbWUsIHY4OjpMb2NhbDx2ODo6VmFsdWU+
IHZhbHVlLCBjb25zdCB2ODo6QWNjZXNzb3JJbmZvJiBpbmZvKQorc3RhdGljIHZvaWQgYXR0cldp
dGhFeGNlcHRpb25BdHRyU2V0dGVyKHY4OjpMb2NhbDx2ODo6U3RyaW5nPiBuYW1lLCB2ODo6TG9j
YWw8djg6OlZhbHVlPiB2YWx1ZSwgY29uc3Qgdjg6OkFjY2Vzc29ySW5mbyYgaW5mbykKIHsKLSAg
ICBJTkNfU1RBVFMoIkRPTS5UZXN0T2JqLnJlZmxlY3RlZFN0cmluZ0F0dHIuX3NldCIpOwotICAg
IFRlc3RPYmoqIGltcCA9IFY4VGVzdE9iajo6dG9OYXRpdmUoaW5mby5Ib2xkZXIoKSk7Ci0gICAg
VjhQYXJhbWV0ZXI8V2l0aE51bGxDaGVjaz4gdiA9IHZhbHVlOwotICAgIGltcC0+c2V0QXR0cmli
dXRlKFdlYkNvcmU6OkhUTUxOYW1lczo6cmVmbGVjdGVkc3RyaW5nYXR0ckF0dHIsIHYpOwotICAg
IHJldHVybjsKLX0KLQotc3RhdGljIHY4OjpIYW5kbGU8djg6OlZhbHVlPiByZWZsZWN0ZWRJbnRl
Z3JhbEF0dHJBdHRyR2V0dGVyKHY4OjpMb2NhbDx2ODo6U3RyaW5nPiBuYW1lLCBjb25zdCB2ODo6
QWNjZXNzb3JJbmZvJiBpbmZvKQotewotICAgIElOQ19TVEFUUygiRE9NLlRlc3RPYmoucmVmbGVj
dGVkSW50ZWdyYWxBdHRyLl9nZXQiKTsKLSAgICBUZXN0T2JqKiBpbXAgPSBWOFRlc3RPYmo6OnRv
TmF0aXZlKGluZm8uSG9sZGVyKCkpOwotICAgIHJldHVybiB2ODo6SW50ZWdlcjo6TmV3KGltcC0+
Z2V0SW50ZWdyYWxBdHRyaWJ1dGUoV2ViQ29yZTo6SFRNTE5hbWVzOjpyZWZsZWN0ZWRpbnRlZ3Jh
bGF0dHJBdHRyKSk7Ci19Ci0KLXN0YXRpYyB2b2lkIHJlZmxlY3RlZEludGVncmFsQXR0ckF0dHJT
ZXR0ZXIodjg6OkxvY2FsPHY4OjpTdHJpbmc+IG5hbWUsIHY4OjpMb2NhbDx2ODo6VmFsdWU+IHZh
bHVlLCBjb25zdCB2ODo6QWNjZXNzb3JJbmZvJiBpbmZvKQotewotICAgIElOQ19TVEFUUygiRE9N
LlRlc3RPYmoucmVmbGVjdGVkSW50ZWdyYWxBdHRyLl9zZXQiKTsKLSAgICBUZXN0T2JqKiBpbXAg
PSBWOFRlc3RPYmo6OnRvTmF0aXZlKGluZm8uSG9sZGVyKCkpOwotICAgIGludCB2ID0gdG9JbnQz
Mih2YWx1ZSk7Ci0gICAgaW1wLT5zZXRJbnRlZ3JhbEF0dHJpYnV0ZShXZWJDb3JlOjpIVE1MTmFt
ZXM6OnJlZmxlY3RlZGludGVncmFsYXR0ckF0dHIsIHYpOwotICAgIHJldHVybjsKLX0KLQotc3Rh
dGljIHY4OjpIYW5kbGU8djg6OlZhbHVlPiByZWZsZWN0ZWRCb29sZWFuQXR0ckF0dHJHZXR0ZXIo
djg6OkxvY2FsPHY4OjpTdHJpbmc+IG5hbWUsIGNvbnN0IHY4OjpBY2Nlc3NvckluZm8mIGluZm8p
Ci17Ci0gICAgSU5DX1NUQVRTKCJET00uVGVzdE9iai5yZWZsZWN0ZWRCb29sZWFuQXR0ci5fZ2V0
Iik7Ci0gICAgVGVzdE9iaiogaW1wID0gVjhUZXN0T2JqOjp0b05hdGl2ZShpbmZvLkhvbGRlcigp
KTsKLSAgICByZXR1cm4gdjhCb29sZWFuKGltcC0+aGFzQXR0cmlidXRlKFdlYkNvcmU6OkhUTUxO
YW1lczo6cmVmbGVjdGVkYm9vbGVhbmF0dHJBdHRyKSk7Ci19Ci0KLXN0YXRpYyB2b2lkIHJlZmxl
Y3RlZEJvb2xlYW5BdHRyQXR0clNldHRlcih2ODo6TG9jYWw8djg6OlN0cmluZz4gbmFtZSwgdjg6
OkxvY2FsPHY4OjpWYWx1ZT4gdmFsdWUsIGNvbnN0IHY4OjpBY2Nlc3NvckluZm8mIGluZm8pCi17
Ci0gICAgSU5DX1NUQVRTKCJET00uVGVzdE9iai5yZWZsZWN0ZWRCb29sZWFuQXR0ci5fc2V0Iik7
Ci0gICAgVGVzdE9iaiogaW1wID0gVjhUZXN0T2JqOjp0b05hdGl2ZShpbmZvLkhvbGRlcigpKTsK
LSAgICBib29sIHYgPSB2YWx1ZS0+Qm9vbGVhblZhbHVlKCk7Ci0gICAgaW1wLT5zZXRCb29sZWFu
QXR0cmlidXRlKFdlYkNvcmU6OkhUTUxOYW1lczo6cmVmbGVjdGVkYm9vbGVhbmF0dHJBdHRyLCB2
KTsKLSAgICByZXR1cm47Ci19Ci0KLXN0YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gcmVmbGVj
dGVkVVJMQXR0ckF0dHJHZXR0ZXIodjg6OkxvY2FsPHY4OjpTdHJpbmc+IG5hbWUsIGNvbnN0IHY4
OjpBY2Nlc3NvckluZm8mIGluZm8pCi17Ci0gICAgSU5DX1NUQVRTKCJET00uVGVzdE9iai5yZWZs
ZWN0ZWRVUkxBdHRyLl9nZXQiKTsKLSAgICBUZXN0T2JqKiBpbXAgPSBWOFRlc3RPYmo6OnRvTmF0
aXZlKGluZm8uSG9sZGVyKCkpOwotICAgIHJldHVybiB2OFN0cmluZyhpbXAtPmdldFVSTEF0dHJp
YnV0ZShXZWJDb3JlOjpIVE1MTmFtZXM6OnJlZmxlY3RlZHVybGF0dHJBdHRyKSk7Ci19Ci0KLXN0
YXRpYyB2b2lkIHJlZmxlY3RlZFVSTEF0dHJBdHRyU2V0dGVyKHY4OjpMb2NhbDx2ODo6U3RyaW5n
PiBuYW1lLCB2ODo6TG9jYWw8djg6OlZhbHVlPiB2YWx1ZSwgY29uc3Qgdjg6OkFjY2Vzc29ySW5m
byYgaW5mbykKLXsKLSAgICBJTkNfU1RBVFMoIkRPTS5UZXN0T2JqLnJlZmxlY3RlZFVSTEF0dHIu
X3NldCIpOwotICAgIFRlc3RPYmoqIGltcCA9IFY4VGVzdE9iajo6dG9OYXRpdmUoaW5mby5Ib2xk
ZXIoKSk7Ci0gICAgVjhQYXJhbWV0ZXI8V2l0aE51bGxDaGVjaz4gdiA9IHZhbHVlOwotICAgIGlt
cC0+c2V0QXR0cmlidXRlKFdlYkNvcmU6OkhUTUxOYW1lczo6cmVmbGVjdGVkdXJsYXR0ckF0dHIs
IHYpOwotICAgIHJldHVybjsKLX0KLQotc3RhdGljIHY4OjpIYW5kbGU8djg6OlZhbHVlPiByZWZs
ZWN0ZWRTdHJpbmdBdHRyQXR0ckdldHRlcih2ODo6TG9jYWw8djg6OlN0cmluZz4gbmFtZSwgY29u
c3Qgdjg6OkFjY2Vzc29ySW5mbyYgaW5mbykKLXsKLSAgICBJTkNfU1RBVFMoIkRPTS5UZXN0T2Jq
LnJlZmxlY3RlZFN0cmluZ0F0dHIuX2dldCIpOwotICAgIFRlc3RPYmoqIGltcCA9IFY4VGVzdE9i
ajo6dG9OYXRpdmUoaW5mby5Ib2xkZXIoKSk7Ci0gICAgcmV0dXJuIHY4U3RyaW5nKGltcC0+Z2V0
QXR0cmlidXRlKFdlYkNvcmU6OkhUTUxOYW1lczo6Y3VzdG9tQ29udGVudFN0cmluZ0F0dHJBdHRy
KSk7Ci19Ci0KLXN0YXRpYyB2b2lkIHJlZmxlY3RlZFN0cmluZ0F0dHJBdHRyU2V0dGVyKHY4OjpM
b2NhbDx2ODo6U3RyaW5nPiBuYW1lLCB2ODo6TG9jYWw8djg6OlZhbHVlPiB2YWx1ZSwgY29uc3Qg
djg6OkFjY2Vzc29ySW5mbyYgaW5mbykKLXsKLSAgICBJTkNfU1RBVFMoIkRPTS5UZXN0T2JqLnJl
ZmxlY3RlZFN0cmluZ0F0dHIuX3NldCIpOwotICAgIFRlc3RPYmoqIGltcCA9IFY4VGVzdE9iajo6
dG9OYXRpdmUoaW5mby5Ib2xkZXIoKSk7Ci0gICAgVjhQYXJhbWV0ZXI8V2l0aE51bGxDaGVjaz4g
diA9IHZhbHVlOwotICAgIGltcC0+c2V0QXR0cmlidXRlKFdlYkNvcmU6OkhUTUxOYW1lczo6Y3Vz
dG9tQ29udGVudFN0cmluZ0F0dHJBdHRyLCB2KTsKLSAgICByZXR1cm47Ci19Ci0KLXN0YXRpYyB2
ODo6SGFuZGxlPHY4OjpWYWx1ZT4gcmVmbGVjdGVkQ3VzdG9tSW50ZWdyYWxBdHRyQXR0ckdldHRl
cih2ODo6TG9jYWw8djg6OlN0cmluZz4gbmFtZSwgY29uc3Qgdjg6OkFjY2Vzc29ySW5mbyYgaW5m
bykKLXsKLSAgICBJTkNfU1RBVFMoIkRPTS5UZXN0T2JqLnJlZmxlY3RlZEN1c3RvbUludGVncmFs
QXR0ci5fZ2V0Iik7Ci0gICAgVGVzdE9iaiogaW1wID0gVjhUZXN0T2JqOjp0b05hdGl2ZShpbmZv
LkhvbGRlcigpKTsKLSAgICByZXR1cm4gdjg6OkludGVnZXI6Ok5ldyhpbXAtPmdldEludGVncmFs
QXR0cmlidXRlKFdlYkNvcmU6OkhUTUxOYW1lczo6Y3VzdG9tQ29udGVudEludGVncmFsQXR0ckF0
dHIpKTsKLX0KLQotc3RhdGljIHZvaWQgcmVmbGVjdGVkQ3VzdG9tSW50ZWdyYWxBdHRyQXR0clNl
dHRlcih2ODo6TG9jYWw8djg6OlN0cmluZz4gbmFtZSwgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gdmFs
dWUsIGNvbnN0IHY4OjpBY2Nlc3NvckluZm8mIGluZm8pCi17Ci0gICAgSU5DX1NUQVRTKCJET00u
VGVzdE9iai5yZWZsZWN0ZWRDdXN0b21JbnRlZ3JhbEF0dHIuX3NldCIpOworICAgIElOQ19TVEFU
UygiRE9NLlRlc3RPYmouYXR0cldpdGhFeGNlcHRpb24uX3NldCIpOwogICAgIFRlc3RPYmoqIGlt
cCA9IFY4VGVzdE9iajo6dG9OYXRpdmUoaW5mby5Ib2xkZXIoKSk7CiAgICAgaW50IHYgPSB0b0lu
dDMyKHZhbHVlKTsKLSAgICBpbXAtPnNldEludGVncmFsQXR0cmlidXRlKFdlYkNvcmU6OkhUTUxO
YW1lczo6Y3VzdG9tQ29udGVudEludGVncmFsQXR0ckF0dHIsIHYpOwotICAgIHJldHVybjsKLX0K
LQotc3RhdGljIHY4OjpIYW5kbGU8djg6OlZhbHVlPiByZWZsZWN0ZWRDdXN0b21Cb29sZWFuQXR0
ckF0dHJHZXR0ZXIodjg6OkxvY2FsPHY4OjpTdHJpbmc+IG5hbWUsIGNvbnN0IHY4OjpBY2Nlc3Nv
ckluZm8mIGluZm8pCi17Ci0gICAgSU5DX1NUQVRTKCJET00uVGVzdE9iai5yZWZsZWN0ZWRDdXN0
b21Cb29sZWFuQXR0ci5fZ2V0Iik7Ci0gICAgVGVzdE9iaiogaW1wID0gVjhUZXN0T2JqOjp0b05h
dGl2ZShpbmZvLkhvbGRlcigpKTsKLSAgICByZXR1cm4gdjhCb29sZWFuKGltcC0+aGFzQXR0cmli
dXRlKFdlYkNvcmU6OkhUTUxOYW1lczo6Y3VzdG9tQ29udGVudEJvb2xlYW5BdHRyQXR0cikpOwot
fQotCi1zdGF0aWMgdm9pZCByZWZsZWN0ZWRDdXN0b21Cb29sZWFuQXR0ckF0dHJTZXR0ZXIodjg6
OkxvY2FsPHY4OjpTdHJpbmc+IG5hbWUsIHY4OjpMb2NhbDx2ODo6VmFsdWU+IHZhbHVlLCBjb25z
dCB2ODo6QWNjZXNzb3JJbmZvJiBpbmZvKQotewotICAgIElOQ19TVEFUUygiRE9NLlRlc3RPYmou
cmVmbGVjdGVkQ3VzdG9tQm9vbGVhbkF0dHIuX3NldCIpOwotICAgIFRlc3RPYmoqIGltcCA9IFY4
VGVzdE9iajo6dG9OYXRpdmUoaW5mby5Ib2xkZXIoKSk7Ci0gICAgYm9vbCB2ID0gdmFsdWUtPkJv
b2xlYW5WYWx1ZSgpOwotICAgIGltcC0+c2V0Qm9vbGVhbkF0dHJpYnV0ZShXZWJDb3JlOjpIVE1M
TmFtZXM6OmN1c3RvbUNvbnRlbnRCb29sZWFuQXR0ckF0dHIsIHYpOworICAgIGltcC0+c2V0QXR0
cldpdGhFeGNlcHRpb24odik7CiAgICAgcmV0dXJuOwogfQogCi1zdGF0aWMgdjg6OkhhbmRsZTx2
ODo6VmFsdWU+IHJlZmxlY3RlZFVSTEF0dHJBdHRyR2V0dGVyKHY4OjpMb2NhbDx2ODo6U3RyaW5n
PiBuYW1lLCBjb25zdCB2ODo6QWNjZXNzb3JJbmZvJiBpbmZvKQotewotICAgIElOQ19TVEFUUygi
RE9NLlRlc3RPYmoucmVmbGVjdGVkVVJMQXR0ci5fZ2V0Iik7Ci0gICAgVGVzdE9iaiogaW1wID0g
VjhUZXN0T2JqOjp0b05hdGl2ZShpbmZvLkhvbGRlcigpKTsKLSAgICByZXR1cm4gdjhTdHJpbmco
aW1wLT5nZXRVUkxBdHRyaWJ1dGUoV2ViQ29yZTo6SFRNTE5hbWVzOjpjdXN0b21Db250ZW50VVJM
QXR0ckF0dHIpKTsKLX0KLQotc3RhdGljIHZvaWQgcmVmbGVjdGVkVVJMQXR0ckF0dHJTZXR0ZXIo
djg6OkxvY2FsPHY4OjpTdHJpbmc+IG5hbWUsIHY4OjpMb2NhbDx2ODo6VmFsdWU+IHZhbHVlLCBj
b25zdCB2ODo6QWNjZXNzb3JJbmZvJiBpbmZvKQotewotICAgIElOQ19TVEFUUygiRE9NLlRlc3RP
YmoucmVmbGVjdGVkVVJMQXR0ci5fc2V0Iik7Ci0gICAgVGVzdE9iaiogaW1wID0gVjhUZXN0T2Jq
Ojp0b05hdGl2ZShpbmZvLkhvbGRlcigpKTsKLSAgICBWOFBhcmFtZXRlcjxXaXRoTnVsbENoZWNr
PiB2ID0gdmFsdWU7Ci0gICAgaW1wLT5zZXRBdHRyaWJ1dGUoV2ViQ29yZTo6SFRNTE5hbWVzOjpj
dXN0b21Db250ZW50VVJMQXR0ckF0dHIsIHYpOwotICAgIHJldHVybjsKLX0KLQotc3RhdGljIHY4
OjpIYW5kbGU8djg6OlZhbHVlPiBhdHRyV2l0aEdldHRlckV4Y2VwdGlvbkF0dHJHZXR0ZXIodjg6
OkxvY2FsPHY4OjpTdHJpbmc+IG5hbWUsIGNvbnN0IHY4OjpBY2Nlc3NvckluZm8mIGluZm8pCitz
dGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IGF0dHJXaXRoU2V0dGVyRXhjZXB0aW9uQXR0ckdl
dHRlcih2ODo6TG9jYWw8djg6OlN0cmluZz4gbmFtZSwgY29uc3Qgdjg6OkFjY2Vzc29ySW5mbyYg
aW5mbykKIHsKLSAgICBJTkNfU1RBVFMoIkRPTS5UZXN0T2JqLmF0dHJXaXRoR2V0dGVyRXhjZXB0
aW9uLl9nZXQiKTsKKyAgICBJTkNfU1RBVFMoIkRPTS5UZXN0T2JqLmF0dHJXaXRoU2V0dGVyRXhj
ZXB0aW9uLl9nZXQiKTsKICAgICBUZXN0T2JqKiBpbXAgPSBWOFRlc3RPYmo6OnRvTmF0aXZlKGlu
Zm8uSG9sZGVyKCkpOwogICAgIEV4Y2VwdGlvbkNvZGUgZWMgPSAwOwotICAgIGludCB2ID0gaW1w
LT5hdHRyV2l0aEdldHRlckV4Y2VwdGlvbihlYyk7CisgICAgaW50IHYgPSBpbXAtPmF0dHJXaXRo
U2V0dGVyRXhjZXB0aW9uKGVjKTsKICAgICBpZiAoVU5MSUtFTFkoZWMpKSB7CiAgICAgICAgIFY4
UHJveHk6OnNldERPTUV4Y2VwdGlvbihlYyk7CiAgICAgICAgIHJldHVybiB2ODo6SGFuZGxlPHY4
OjpWYWx1ZT4oKTsKQEAgLTI5MywyNSArMTgwLDYgQEAgc3RhdGljIHY4OjpIYW5kbGU8djg6OlZh
bHVlPiBhdHRyV2l0aEdldHRlckV4Y2VwdGlvbkF0dHJHZXR0ZXIodjg6OkxvY2FsPHY4OjpTdHIK
ICAgICByZXR1cm4gdjg6OkludGVnZXI6Ok5ldyh2KTsKIH0KIAotc3RhdGljIHZvaWQgYXR0cldp
dGhHZXR0ZXJFeGNlcHRpb25BdHRyU2V0dGVyKHY4OjpMb2NhbDx2ODo6U3RyaW5nPiBuYW1lLCB2
ODo6TG9jYWw8djg6OlZhbHVlPiB2YWx1ZSwgY29uc3Qgdjg6OkFjY2Vzc29ySW5mbyYgaW5mbykK
LXsKLSAgICBJTkNfU1RBVFMoIkRPTS5UZXN0T2JqLmF0dHJXaXRoR2V0dGVyRXhjZXB0aW9uLl9z
ZXQiKTsKLSAgICBUZXN0T2JqKiBpbXAgPSBWOFRlc3RPYmo6OnRvTmF0aXZlKGluZm8uSG9sZGVy
KCkpOwotICAgIGludCB2ID0gdG9JbnQzMih2YWx1ZSk7Ci0gICAgRXhjZXB0aW9uQ29kZSBlYyA9
IDA7Ci0gICAgaW1wLT5zZXRBdHRyV2l0aEdldHRlckV4Y2VwdGlvbih2LCBlYyk7Ci0gICAgaWYg
KFVOTElLRUxZKGVjKSkKLSAgICAgICAgVjhQcm94eTo6c2V0RE9NRXhjZXB0aW9uKGVjKTsKLSAg
ICByZXR1cm47Ci19Ci0KLXN0YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gYXR0cldpdGhTZXR0
ZXJFeGNlcHRpb25BdHRyR2V0dGVyKHY4OjpMb2NhbDx2ODo6U3RyaW5nPiBuYW1lLCBjb25zdCB2
ODo6QWNjZXNzb3JJbmZvJiBpbmZvKQotewotICAgIElOQ19TVEFUUygiRE9NLlRlc3RPYmouYXR0
cldpdGhTZXR0ZXJFeGNlcHRpb24uX2dldCIpOwotICAgIFRlc3RPYmoqIGltcCA9IFY4VGVzdE9i
ajo6dG9OYXRpdmUoaW5mby5Ib2xkZXIoKSk7Ci0gICAgcmV0dXJuIHY4OjpJbnRlZ2VyOjpOZXco
aW1wLT5hdHRyV2l0aFNldHRlckV4Y2VwdGlvbigpKTsKLX0KLQogc3RhdGljIHZvaWQgYXR0cldp
dGhTZXR0ZXJFeGNlcHRpb25BdHRyU2V0dGVyKHY4OjpMb2NhbDx2ODo6U3RyaW5nPiBuYW1lLCB2
ODo6TG9jYWw8djg6OlZhbHVlPiB2YWx1ZSwgY29uc3Qgdjg6OkFjY2Vzc29ySW5mbyYgaW5mbykK
IHsKICAgICBJTkNfU1RBVFMoIkRPTS5UZXN0T2JqLmF0dHJXaXRoU2V0dGVyRXhjZXB0aW9uLl9z
ZXQiKTsKQEAgLTMyNCw0NSArMTkyLDIwIEBAIHN0YXRpYyB2b2lkIGF0dHJXaXRoU2V0dGVyRXhj
ZXB0aW9uQXR0clNldHRlcih2ODo6TG9jYWw8djg6OlN0cmluZz4gbmFtZSwgdjg6OkxvCiAgICAg
cmV0dXJuOwogfQogCi1zdGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHN0cmluZ0F0dHJXaXRo
R2V0dGVyRXhjZXB0aW9uQXR0ckdldHRlcih2ODo6TG9jYWw8djg6OlN0cmluZz4gbmFtZSwgY29u
c3Qgdjg6OkFjY2Vzc29ySW5mbyYgaW5mbykKLXsKLSAgICBJTkNfU1RBVFMoIkRPTS5UZXN0T2Jq
LnN0cmluZ0F0dHJXaXRoR2V0dGVyRXhjZXB0aW9uLl9nZXQiKTsKLSAgICBUZXN0T2JqKiBpbXAg
PSBWOFRlc3RPYmo6OnRvTmF0aXZlKGluZm8uSG9sZGVyKCkpOwotICAgIEV4Y2VwdGlvbkNvZGUg
ZWMgPSAwOwotICAgIFN0cmluZyB2ID0gaW1wLT5zdHJpbmdBdHRyV2l0aEdldHRlckV4Y2VwdGlv
bihlYyk7Ci0gICAgaWYgKFVOTElLRUxZKGVjKSkgewotICAgICAgICBWOFByb3h5OjpzZXRET01F
eGNlcHRpb24oZWMpOwotICAgICAgICByZXR1cm4gdjg6OkhhbmRsZTx2ODo6VmFsdWU+KCk7Ci0g
ICAgfQotICAgIHJldHVybiB2OFN0cmluZyh2KTsKLX0KLQotc3RhdGljIHZvaWQgc3RyaW5nQXR0
cldpdGhHZXR0ZXJFeGNlcHRpb25BdHRyU2V0dGVyKHY4OjpMb2NhbDx2ODo6U3RyaW5nPiBuYW1l
LCB2ODo6TG9jYWw8djg6OlZhbHVlPiB2YWx1ZSwgY29uc3Qgdjg6OkFjY2Vzc29ySW5mbyYgaW5m
bykKLXsKLSAgICBJTkNfU1RBVFMoIkRPTS5UZXN0T2JqLnN0cmluZ0F0dHJXaXRoR2V0dGVyRXhj
ZXB0aW9uLl9zZXQiKTsKLSAgICBUZXN0T2JqKiBpbXAgPSBWOFRlc3RPYmo6OnRvTmF0aXZlKGlu
Zm8uSG9sZGVyKCkpOwotICAgIFY4UGFyYW1ldGVyPD4gdiA9IHZhbHVlOwotICAgIEV4Y2VwdGlv
bkNvZGUgZWMgPSAwOwotICAgIGltcC0+c2V0U3RyaW5nQXR0cldpdGhHZXR0ZXJFeGNlcHRpb24o
diwgZWMpOwotICAgIGlmIChVTkxJS0VMWShlYykpCi0gICAgICAgIFY4UHJveHk6OnNldERPTUV4
Y2VwdGlvbihlYyk7Ci0gICAgcmV0dXJuOwotfQotCi1zdGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFs
dWU+IHN0cmluZ0F0dHJXaXRoU2V0dGVyRXhjZXB0aW9uQXR0ckdldHRlcih2ODo6TG9jYWw8djg6
OlN0cmluZz4gbmFtZSwgY29uc3Qgdjg6OkFjY2Vzc29ySW5mbyYgaW5mbykKK3N0YXRpYyB2ODo6
SGFuZGxlPHY4OjpWYWx1ZT4gYXR0cldpdGhHZXR0ZXJFeGNlcHRpb25BdHRyR2V0dGVyKHY4OjpM
b2NhbDx2ODo6U3RyaW5nPiBuYW1lLCBjb25zdCB2ODo6QWNjZXNzb3JJbmZvJiBpbmZvKQogewot
ICAgIElOQ19TVEFUUygiRE9NLlRlc3RPYmouc3RyaW5nQXR0cldpdGhTZXR0ZXJFeGNlcHRpb24u
X2dldCIpOworICAgIElOQ19TVEFUUygiRE9NLlRlc3RPYmouYXR0cldpdGhHZXR0ZXJFeGNlcHRp
b24uX2dldCIpOwogICAgIFRlc3RPYmoqIGltcCA9IFY4VGVzdE9iajo6dG9OYXRpdmUoaW5mby5I
b2xkZXIoKSk7Ci0gICAgcmV0dXJuIHY4U3RyaW5nKGltcC0+c3RyaW5nQXR0cldpdGhTZXR0ZXJF
eGNlcHRpb24oKSk7CisgICAgcmV0dXJuIHY4OjpJbnRlZ2VyOjpOZXcoaW1wLT5hdHRyV2l0aEdl
dHRlckV4Y2VwdGlvbigpKTsKIH0KIAotc3RhdGljIHZvaWQgc3RyaW5nQXR0cldpdGhTZXR0ZXJF
eGNlcHRpb25BdHRyU2V0dGVyKHY4OjpMb2NhbDx2ODo6U3RyaW5nPiBuYW1lLCB2ODo6TG9jYWw8
djg6OlZhbHVlPiB2YWx1ZSwgY29uc3Qgdjg6OkFjY2Vzc29ySW5mbyYgaW5mbykKK3N0YXRpYyB2
b2lkIGF0dHJXaXRoR2V0dGVyRXhjZXB0aW9uQXR0clNldHRlcih2ODo6TG9jYWw8djg6OlN0cmlu
Zz4gbmFtZSwgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gdmFsdWUsIGNvbnN0IHY4OjpBY2Nlc3Nvcklu
Zm8mIGluZm8pCiB7Ci0gICAgSU5DX1NUQVRTKCJET00uVGVzdE9iai5zdHJpbmdBdHRyV2l0aFNl
dHRlckV4Y2VwdGlvbi5fc2V0Iik7CisgICAgSU5DX1NUQVRTKCJET00uVGVzdE9iai5hdHRyV2l0
aEdldHRlckV4Y2VwdGlvbi5fc2V0Iik7CiAgICAgVGVzdE9iaiogaW1wID0gVjhUZXN0T2JqOjp0
b05hdGl2ZShpbmZvLkhvbGRlcigpKTsKLSAgICBWOFBhcmFtZXRlcjw+IHYgPSB2YWx1ZTsKKyAg
ICBpbnQgdiA9IHRvSW50MzIodmFsdWUpOwogICAgIEV4Y2VwdGlvbkNvZGUgZWMgPSAwOwotICAg
IGltcC0+c2V0U3RyaW5nQXR0cldpdGhTZXR0ZXJFeGNlcHRpb24odiwgZWMpOworICAgIGltcC0+
c2V0QXR0cldpdGhHZXR0ZXJFeGNlcHRpb24odiwgZWMpOwogICAgIGlmIChVTkxJS0VMWShlYykp
CiAgICAgICAgIFY4UHJveHk6OnNldERPTUV4Y2VwdGlvbihlYyk7CiAgICAgcmV0dXJuOwpAQCAt
ODcyLDcgKzcxNSw3IEBAIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gb3ZlcmxvYWRlZE1l
dGhvZENhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3MpCiAgICAgICAgIHJldHVybiBv
dmVybG9hZGVkTWV0aG9kM0NhbGxiYWNrKGFyZ3MpOwogICAgIGlmIChhcmdzLkxlbmd0aCgpID09
IDEpCiAgICAgICAgIHJldHVybiBvdmVybG9hZGVkTWV0aG9kNENhbGxiYWNrKGFyZ3MpOwotICAg
IFY4UHJveHk6OnRocm93VHlwZUVycm9yKCk7CisgICAgVjhQcm94eTo6c2V0RE9NRXhjZXB0aW9u
KFNZTlRBWF9FUlIpOwogICAgIHJldHVybiBub3RIYW5kbGVkQnlJbnRlcmNlcHRvcigpOwogfQog
CkBAIC04OTUsMzAgKzczOCwxMiBAQCBzdGF0aWMgY29uc3QgQmF0Y2hlZEF0dHJpYnV0ZSBUZXN0
T2JqQXR0cnNbXSA9IHsKICAgICB7InN0cmluZ0F0dHIiLCBUZXN0T2JqSW50ZXJuYWw6OnN0cmlu
Z0F0dHJBdHRyR2V0dGVyLCBUZXN0T2JqSW50ZXJuYWw6OnN0cmluZ0F0dHJBdHRyU2V0dGVyLCAw
IC8qIG5vIGRhdGEgKi8sIHN0YXRpY19jYXN0PHY4OjpBY2Nlc3NDb250cm9sPih2ODo6REVGQVVM
VCksIHN0YXRpY19jYXN0PHY4OjpQcm9wZXJ0eUF0dHJpYnV0ZT4odjg6Ok5vbmUpLCAwIC8qIG9u
IGluc3RhbmNlICovfSwKICAgICAvLyBBdHRyaWJ1dGUgJ3Rlc3RPYmpBdHRyJyAoVHlwZTogJ2F0
dHJpYnV0ZScgRXh0QXR0cjogJycpCiAgICAgeyJ0ZXN0T2JqQXR0ciIsIFRlc3RPYmpJbnRlcm5h
bDo6dGVzdE9iakF0dHJBdHRyR2V0dGVyLCBUZXN0T2JqSW50ZXJuYWw6OnRlc3RPYmpBdHRyQXR0
clNldHRlciwgMCAvKiBubyBkYXRhICovLCBzdGF0aWNfY2FzdDx2ODo6QWNjZXNzQ29udHJvbD4o
djg6OkRFRkFVTFQpLCBzdGF0aWNfY2FzdDx2ODo6UHJvcGVydHlBdHRyaWJ1dGU+KHY4OjpOb25l
KSwgMCAvKiBvbiBpbnN0YW5jZSAqL30sCi0gICAgLy8gQXR0cmlidXRlICdyZWZsZWN0ZWRTdHJp
bmdBdHRyJyAoVHlwZTogJ2F0dHJpYnV0ZScgRXh0QXR0cjogJ1JlZmxlY3QnKQotICAgIHsicmVm
bGVjdGVkU3RyaW5nQXR0ciIsIFRlc3RPYmpJbnRlcm5hbDo6cmVmbGVjdGVkU3RyaW5nQXR0ckF0
dHJHZXR0ZXIsIFRlc3RPYmpJbnRlcm5hbDo6cmVmbGVjdGVkU3RyaW5nQXR0ckF0dHJTZXR0ZXIs
IDAgLyogbm8gZGF0YSAqLywgc3RhdGljX2Nhc3Q8djg6OkFjY2Vzc0NvbnRyb2w+KHY4OjpERUZB
VUxUKSwgc3RhdGljX2Nhc3Q8djg6OlByb3BlcnR5QXR0cmlidXRlPih2ODo6Tm9uZSksIDAgLyog
b24gaW5zdGFuY2UgKi99LAotICAgIC8vIEF0dHJpYnV0ZSAncmVmbGVjdGVkSW50ZWdyYWxBdHRy
JyAoVHlwZTogJ2F0dHJpYnV0ZScgRXh0QXR0cjogJ1JlZmxlY3QnKQotICAgIHsicmVmbGVjdGVk
SW50ZWdyYWxBdHRyIiwgVGVzdE9iakludGVybmFsOjpyZWZsZWN0ZWRJbnRlZ3JhbEF0dHJBdHRy
R2V0dGVyLCBUZXN0T2JqSW50ZXJuYWw6OnJlZmxlY3RlZEludGVncmFsQXR0ckF0dHJTZXR0ZXIs
IDAgLyogbm8gZGF0YSAqLywgc3RhdGljX2Nhc3Q8djg6OkFjY2Vzc0NvbnRyb2w+KHY4OjpERUZB
VUxUKSwgc3RhdGljX2Nhc3Q8djg6OlByb3BlcnR5QXR0cmlidXRlPih2ODo6Tm9uZSksIDAgLyog
b24gaW5zdGFuY2UgKi99LAotICAgIC8vIEF0dHJpYnV0ZSAncmVmbGVjdGVkQm9vbGVhbkF0dHIn
IChUeXBlOiAnYXR0cmlidXRlJyBFeHRBdHRyOiAnUmVmbGVjdCcpCi0gICAgeyJyZWZsZWN0ZWRC
b29sZWFuQXR0ciIsIFRlc3RPYmpJbnRlcm5hbDo6cmVmbGVjdGVkQm9vbGVhbkF0dHJBdHRyR2V0
dGVyLCBUZXN0T2JqSW50ZXJuYWw6OnJlZmxlY3RlZEJvb2xlYW5BdHRyQXR0clNldHRlciwgMCAv
KiBubyBkYXRhICovLCBzdGF0aWNfY2FzdDx2ODo6QWNjZXNzQ29udHJvbD4odjg6OkRFRkFVTFQp
LCBzdGF0aWNfY2FzdDx2ODo6UHJvcGVydHlBdHRyaWJ1dGU+KHY4OjpOb25lKSwgMCAvKiBvbiBp
bnN0YW5jZSAqL30sCi0gICAgLy8gQXR0cmlidXRlICdyZWZsZWN0ZWRVUkxBdHRyJyAoVHlwZTog
J2F0dHJpYnV0ZScgRXh0QXR0cjogJ1JlZmxlY3RVUkwnKQotICAgIHsicmVmbGVjdGVkVVJMQXR0
ciIsIFRlc3RPYmpJbnRlcm5hbDo6cmVmbGVjdGVkVVJMQXR0ckF0dHJHZXR0ZXIsIFRlc3RPYmpJ
bnRlcm5hbDo6cmVmbGVjdGVkVVJMQXR0ckF0dHJTZXR0ZXIsIDAgLyogbm8gZGF0YSAqLywgc3Rh
dGljX2Nhc3Q8djg6OkFjY2Vzc0NvbnRyb2w+KHY4OjpERUZBVUxUKSwgc3RhdGljX2Nhc3Q8djg6
OlByb3BlcnR5QXR0cmlidXRlPih2ODo6Tm9uZSksIDAgLyogb24gaW5zdGFuY2UgKi99LAotICAg
IC8vIEF0dHJpYnV0ZSAncmVmbGVjdGVkU3RyaW5nQXR0cicgKFR5cGU6ICdhdHRyaWJ1dGUnIEV4
dEF0dHI6ICdSZWZsZWN0JykKLSAgICB7InJlZmxlY3RlZFN0cmluZ0F0dHIiLCBUZXN0T2JqSW50
ZXJuYWw6OnJlZmxlY3RlZFN0cmluZ0F0dHJBdHRyR2V0dGVyLCBUZXN0T2JqSW50ZXJuYWw6OnJl
ZmxlY3RlZFN0cmluZ0F0dHJBdHRyU2V0dGVyLCAwIC8qIG5vIGRhdGEgKi8sIHN0YXRpY19jYXN0
PHY4OjpBY2Nlc3NDb250cm9sPih2ODo6REVGQVVMVCksIHN0YXRpY19jYXN0PHY4OjpQcm9wZXJ0
eUF0dHJpYnV0ZT4odjg6Ok5vbmUpLCAwIC8qIG9uIGluc3RhbmNlICovfSwKLSAgICAvLyBBdHRy
aWJ1dGUgJ3JlZmxlY3RlZEN1c3RvbUludGVncmFsQXR0cicgKFR5cGU6ICdhdHRyaWJ1dGUnIEV4
dEF0dHI6ICdSZWZsZWN0JykKLSAgICB7InJlZmxlY3RlZEN1c3RvbUludGVncmFsQXR0ciIsIFRl
c3RPYmpJbnRlcm5hbDo6cmVmbGVjdGVkQ3VzdG9tSW50ZWdyYWxBdHRyQXR0ckdldHRlciwgVGVz
dE9iakludGVybmFsOjpyZWZsZWN0ZWRDdXN0b21JbnRlZ3JhbEF0dHJBdHRyU2V0dGVyLCAwIC8q
IG5vIGRhdGEgKi8sIHN0YXRpY19jYXN0PHY4OjpBY2Nlc3NDb250cm9sPih2ODo6REVGQVVMVCks
IHN0YXRpY19jYXN0PHY4OjpQcm9wZXJ0eUF0dHJpYnV0ZT4odjg6Ok5vbmUpLCAwIC8qIG9uIGlu
c3RhbmNlICovfSwKLSAgICAvLyBBdHRyaWJ1dGUgJ3JlZmxlY3RlZEN1c3RvbUJvb2xlYW5BdHRy
JyAoVHlwZTogJ2F0dHJpYnV0ZScgRXh0QXR0cjogJ1JlZmxlY3QnKQotICAgIHsicmVmbGVjdGVk
Q3VzdG9tQm9vbGVhbkF0dHIiLCBUZXN0T2JqSW50ZXJuYWw6OnJlZmxlY3RlZEN1c3RvbUJvb2xl
YW5BdHRyQXR0ckdldHRlciwgVGVzdE9iakludGVybmFsOjpyZWZsZWN0ZWRDdXN0b21Cb29sZWFu
QXR0ckF0dHJTZXR0ZXIsIDAgLyogbm8gZGF0YSAqLywgc3RhdGljX2Nhc3Q8djg6OkFjY2Vzc0Nv
bnRyb2w+KHY4OjpERUZBVUxUKSwgc3RhdGljX2Nhc3Q8djg6OlByb3BlcnR5QXR0cmlidXRlPih2
ODo6Tm9uZSksIDAgLyogb24gaW5zdGFuY2UgKi99LAotICAgIC8vIEF0dHJpYnV0ZSAncmVmbGVj
dGVkVVJMQXR0cicgKFR5cGU6ICdhdHRyaWJ1dGUnIEV4dEF0dHI6ICdSZWZsZWN0VVJMJykKLSAg
ICB7InJlZmxlY3RlZFVSTEF0dHIiLCBUZXN0T2JqSW50ZXJuYWw6OnJlZmxlY3RlZFVSTEF0dHJB
dHRyR2V0dGVyLCBUZXN0T2JqSW50ZXJuYWw6OnJlZmxlY3RlZFVSTEF0dHJBdHRyU2V0dGVyLCAw
IC8qIG5vIGRhdGEgKi8sIHN0YXRpY19jYXN0PHY4OjpBY2Nlc3NDb250cm9sPih2ODo6REVGQVVM
VCksIHN0YXRpY19jYXN0PHY4OjpQcm9wZXJ0eUF0dHJpYnV0ZT4odjg6Ok5vbmUpLCAwIC8qIG9u
IGluc3RhbmNlICovfSwKLSAgICAvLyBBdHRyaWJ1dGUgJ2F0dHJXaXRoR2V0dGVyRXhjZXB0aW9u
JyAoVHlwZTogJ2F0dHJpYnV0ZScgRXh0QXR0cjogJycpCi0gICAgeyJhdHRyV2l0aEdldHRlckV4
Y2VwdGlvbiIsIFRlc3RPYmpJbnRlcm5hbDo6YXR0cldpdGhHZXR0ZXJFeGNlcHRpb25BdHRyR2V0
dGVyLCBUZXN0T2JqSW50ZXJuYWw6OmF0dHJXaXRoR2V0dGVyRXhjZXB0aW9uQXR0clNldHRlciwg
MCAvKiBubyBkYXRhICovLCBzdGF0aWNfY2FzdDx2ODo6QWNjZXNzQ29udHJvbD4odjg6OkRFRkFV
TFQpLCBzdGF0aWNfY2FzdDx2ODo6UHJvcGVydHlBdHRyaWJ1dGU+KHY4OjpOb25lKSwgMCAvKiBv
biBpbnN0YW5jZSAqL30sCisgICAgLy8gQXR0cmlidXRlICdhdHRyV2l0aEV4Y2VwdGlvbicgKFR5
cGU6ICdhdHRyaWJ1dGUnIEV4dEF0dHI6ICcnKQorICAgIHsiYXR0cldpdGhFeGNlcHRpb24iLCBU
ZXN0T2JqSW50ZXJuYWw6OmF0dHJXaXRoRXhjZXB0aW9uQXR0ckdldHRlciwgVGVzdE9iakludGVy
bmFsOjphdHRyV2l0aEV4Y2VwdGlvbkF0dHJTZXR0ZXIsIDAgLyogbm8gZGF0YSAqLywgc3RhdGlj
X2Nhc3Q8djg6OkFjY2Vzc0NvbnRyb2w+KHY4OjpERUZBVUxUKSwgc3RhdGljX2Nhc3Q8djg6OlBy
b3BlcnR5QXR0cmlidXRlPih2ODo6Tm9uZSksIDAgLyogb24gaW5zdGFuY2UgKi99LAogICAgIC8v
IEF0dHJpYnV0ZSAnYXR0cldpdGhTZXR0ZXJFeGNlcHRpb24nIChUeXBlOiAnYXR0cmlidXRlJyBF
eHRBdHRyOiAnJykKICAgICB7ImF0dHJXaXRoU2V0dGVyRXhjZXB0aW9uIiwgVGVzdE9iakludGVy
bmFsOjphdHRyV2l0aFNldHRlckV4Y2VwdGlvbkF0dHJHZXR0ZXIsIFRlc3RPYmpJbnRlcm5hbDo6
YXR0cldpdGhTZXR0ZXJFeGNlcHRpb25BdHRyU2V0dGVyLCAwIC8qIG5vIGRhdGEgKi8sIHN0YXRp
Y19jYXN0PHY4OjpBY2Nlc3NDb250cm9sPih2ODo6REVGQVVMVCksIHN0YXRpY19jYXN0PHY4OjpQ
cm9wZXJ0eUF0dHJpYnV0ZT4odjg6Ok5vbmUpLCAwIC8qIG9uIGluc3RhbmNlICovfSwKLSAgICAv
LyBBdHRyaWJ1dGUgJ3N0cmluZ0F0dHJXaXRoR2V0dGVyRXhjZXB0aW9uJyAoVHlwZTogJ2F0dHJp
YnV0ZScgRXh0QXR0cjogJycpCi0gICAgeyJzdHJpbmdBdHRyV2l0aEdldHRlckV4Y2VwdGlvbiIs
IFRlc3RPYmpJbnRlcm5hbDo6c3RyaW5nQXR0cldpdGhHZXR0ZXJFeGNlcHRpb25BdHRyR2V0dGVy
LCBUZXN0T2JqSW50ZXJuYWw6OnN0cmluZ0F0dHJXaXRoR2V0dGVyRXhjZXB0aW9uQXR0clNldHRl
ciwgMCAvKiBubyBkYXRhICovLCBzdGF0aWNfY2FzdDx2ODo6QWNjZXNzQ29udHJvbD4odjg6OkRF
RkFVTFQpLCBzdGF0aWNfY2FzdDx2ODo6UHJvcGVydHlBdHRyaWJ1dGU+KHY4OjpOb25lKSwgMCAv
KiBvbiBpbnN0YW5jZSAqL30sCi0gICAgLy8gQXR0cmlidXRlICdzdHJpbmdBdHRyV2l0aFNldHRl
ckV4Y2VwdGlvbicgKFR5cGU6ICdhdHRyaWJ1dGUnIEV4dEF0dHI6ICcnKQotICAgIHsic3RyaW5n
QXR0cldpdGhTZXR0ZXJFeGNlcHRpb24iLCBUZXN0T2JqSW50ZXJuYWw6OnN0cmluZ0F0dHJXaXRo
U2V0dGVyRXhjZXB0aW9uQXR0ckdldHRlciwgVGVzdE9iakludGVybmFsOjpzdHJpbmdBdHRyV2l0
aFNldHRlckV4Y2VwdGlvbkF0dHJTZXR0ZXIsIDAgLyogbm8gZGF0YSAqLywgc3RhdGljX2Nhc3Q8
djg6OkFjY2Vzc0NvbnRyb2w+KHY4OjpERUZBVUxUKSwgc3RhdGljX2Nhc3Q8djg6OlByb3BlcnR5
QXR0cmlidXRlPih2ODo6Tm9uZSksIDAgLyogb24gaW5zdGFuY2UgKi99LAorICAgIC8vIEF0dHJp
YnV0ZSAnYXR0cldpdGhHZXR0ZXJFeGNlcHRpb24nIChUeXBlOiAnYXR0cmlidXRlJyBFeHRBdHRy
OiAnJykKKyAgICB7ImF0dHJXaXRoR2V0dGVyRXhjZXB0aW9uIiwgVGVzdE9iakludGVybmFsOjph
dHRyV2l0aEdldHRlckV4Y2VwdGlvbkF0dHJHZXR0ZXIsIFRlc3RPYmpJbnRlcm5hbDo6YXR0cldp
dGhHZXR0ZXJFeGNlcHRpb25BdHRyU2V0dGVyLCAwIC8qIG5vIGRhdGEgKi8sIHN0YXRpY19jYXN0
PHY4OjpBY2Nlc3NDb250cm9sPih2ODo6REVGQVVMVCksIHN0YXRpY19jYXN0PHY4OjpQcm9wZXJ0
eUF0dHJpYnV0ZT4odjg6Ok5vbmUpLCAwIC8qIG9uIGluc3RhbmNlICovfSwKICAgICAvLyBBdHRy
aWJ1dGUgJ2N1c3RvbUF0dHInIChUeXBlOiAnYXR0cmlidXRlJyBFeHRBdHRyOiAnQ3VzdG9tJykK
ICAgICB7ImN1c3RvbUF0dHIiLCBWOFRlc3RPYmo6OmN1c3RvbUF0dHJBY2Nlc3NvckdldHRlciwg
VjhUZXN0T2JqOjpjdXN0b21BdHRyQWNjZXNzb3JTZXR0ZXIsIDAgLyogbm8gZGF0YSAqLywgc3Rh
dGljX2Nhc3Q8djg6OkFjY2Vzc0NvbnRyb2w+KHY4OjpERUZBVUxUKSwgc3RhdGljX2Nhc3Q8djg6
OlByb3BlcnR5QXR0cmlidXRlPih2ODo6Tm9uZSksIDAgLyogb24gaW5zdGFuY2UgKi99LAogICAg
IC8vIEF0dHJpYnV0ZSAnc2NyaXB0U3RyaW5nQXR0cicgKFR5cGU6ICdyZWFkb25seSBhdHRyaWJ1
dGUnIEV4dEF0dHI6ICdDb252ZXJ0U2NyaXB0U3RyaW5nJykKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
ZG9tL0VsZW1lbnQuY3BwIGIvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKaW5kZXggNTk4N2FjNzc1
MWZkNmI3MTZiYWFiZDBkYzhiZDQxNDM4ZjliNzFkNS4uZjhlZTk0MjY2YjZiYzBlNTdlZjczMTFj
NDcxZTkzMDZkMDIxN2U1NiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKKysr
IGIvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKQEAgLTQsNyArNCw3IEBACiAgKiAgICAgICAgICAg
KEMpIDIwMDEgUGV0ZXIgS2VsbHkgKHBta0Bwb3N0LmNvbSkKICAqICAgICAgICAgICAoQykgMjAw
MSBEaXJrIE11ZWxsZXIgKG11ZWxsZXJAa2RlLm9yZykKICAqICAgICAgICAgICAoQykgMjAwNyBE
YXZpZCBTbWl0aCAoY2F0ZmlzaC5tYW5AZ21haWwuY29tKQotICogQ29weXJpZ2h0IChDKSAyMDA0
LCAyMDA1LCAyMDA2LCAyMDA3LCAyMDA4LCAyMDA5LCAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSwgMjAwNiwgMjAwNywgMjAw
OCwgMjAwOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiAgICAgICAgICAgKEMp
IDIwMDcgRXJpYyBTZWlkZWwgKGVyaWNAd2Via2l0Lm9yZykKICAqCiAgKiBUaGlzIGxpYnJhcnkg
aXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCkBAIC0xNTMx
LDI4ICsxNTMxLDQgQEAgS1VSTCBFbGVtZW50OjpnZXRVUkxBdHRyaWJ1dGUoY29uc3QgUXVhbGlm
aWVkTmFtZSYgbmFtZSkgY29uc3QKICAgICByZXR1cm4gZG9jdW1lbnQoKS0+Y29tcGxldGVVUkwo
ZGVwcmVjYXRlZFBhcnNlVVJMKGdldEF0dHJpYnV0ZShuYW1lKSkpOwogfQogCi1pbnQgRWxlbWVu
dDo6Z2V0SW50ZWdyYWxBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0cmlidXRlTmFt
ZSkgY29uc3QKLXsKLSAgICByZXR1cm4gZ2V0QXR0cmlidXRlKGF0dHJpYnV0ZU5hbWUpLnN0cmlu
ZygpLnRvSW50KCk7Ci19Ci0KLXZvaWQgRWxlbWVudDo6c2V0SW50ZWdyYWxBdHRyaWJ1dGUoY29u
c3QgUXVhbGlmaWVkTmFtZSYgYXR0cmlidXRlTmFtZSwgaW50IHZhbHVlKQotewotICAgIC8vIEZJ
WE1FOiBOZWVkIGFuIEF0b21pY1N0cmluZyB2ZXJzaW9uIG9mIFN0cmluZzo6bnVtYmVyLgotICAg
IEV4Y2VwdGlvbkNvZGUgZWM7Ci0gICAgc2V0QXR0cmlidXRlKGF0dHJpYnV0ZU5hbWUsIFN0cmlu
Zzo6bnVtYmVyKHZhbHVlKSwgZWMpOwotfQotCi11bnNpZ25lZCBFbGVtZW50OjpnZXRVbnNpZ25l
ZEludGVncmFsQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJpYnV0ZU5hbWUpIGNv
bnN0Ci17Ci0gICAgcmV0dXJuIGdldEF0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lKS5zdHJpbmcoKS50
b1VJbnQoKTsKLX0KLQotdm9pZCBFbGVtZW50OjpzZXRVbnNpZ25lZEludGVncmFsQXR0cmlidXRl
KGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJpYnV0ZU5hbWUsIHVuc2lnbmVkIHZhbHVlKQotewot
ICAgIC8vIEZJWE1FOiBOZWVkIGFuIEF0b21pY1N0cmluZyB2ZXJzaW9uIG9mIFN0cmluZzo6bnVt
YmVyLgotICAgIEV4Y2VwdGlvbkNvZGUgZWM7Ci0gICAgc2V0QXR0cmlidXRlKGF0dHJpYnV0ZU5h
bWUsIFN0cmluZzo6bnVtYmVyKHZhbHVlKSwgZWMpOwotfQotCiB9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9FbGVtZW50LmggYi9XZWJDb3JlL2RvbS9FbGVt
ZW50LmgKaW5kZXggZmM3Mjk4YTczMGRjOGU2ODE3NTMwMGI4YjVmOGZmYjRkMTY4ODdiYi4uYzZl
ZWJjYmYwZThmYTJhZGJjNWM3ZjU5MTI2MTI5NjEwNTA4NjRmNyAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9kb20vRWxlbWVudC5oCisrKyBiL1dlYkNvcmUvZG9tL0VsZW1lbnQuaApAQCAtMTAxLDEyICsx
MDEsNiBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFt
ZSYsIGNvbnN0IEF0b21pY1N0cmluZyYgdmFsdWUsIEV4Y2VwdGlvbkNvZGUmKTsKICAgICB2b2lk
IHJlbW92ZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgRXhjZXB0aW9uQ29kZSYpOwog
Ci0gICAgLy8gVHlwZWQgZ2V0dGVycyBhbmQgc2V0dGVycyBmb3IgbGFuZ3VhZ2UgYmluZGluZ3Mu
Ci0gICAgaW50IGdldEludGVncmFsQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJp
YnV0ZU5hbWUpIGNvbnN0OwotICAgIHZvaWQgc2V0SW50ZWdyYWxBdHRyaWJ1dGUoY29uc3QgUXVh
bGlmaWVkTmFtZSYgYXR0cmlidXRlTmFtZSwgaW50IHZhbHVlKTsKLSAgICB1bnNpZ25lZCBnZXRV
bnNpZ25lZEludGVncmFsQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJpYnV0ZU5h
bWUpIGNvbnN0OwotICAgIHZvaWQgc2V0VW5zaWduZWRJbnRlZ3JhbEF0dHJpYnV0ZShjb25zdCBR
dWFsaWZpZWROYW1lJiBhdHRyaWJ1dGVOYW1lLCB1bnNpZ25lZCB2YWx1ZSk7Ci0KICAgICAvLyBD
YWxsIHRoaXMgdG8gZ2V0IHRoZSB2YWx1ZSBvZiBhbiBhdHRyaWJ1dGUgdGhhdCBpcyBrbm93biBu
b3QgdG8gYmUgdGhlIHN0eWxlCiAgICAgLy8gYXR0cmlidXRlIG9yIG9uZSBvZiB0aGUgU1ZHIGFu
aW1hdGFibGUgYXR0cmlidXRlcy4KICAgICBib29sIGZhc3RIYXNBdHRyaWJ1dGUoY29uc3QgUXVh
bGlmaWVkTmFtZSYpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0hUTUxBbmNob3JF
bGVtZW50LmlkbCBiL1dlYkNvcmUvaHRtbC9IVE1MQW5jaG9yRWxlbWVudC5pZGwKaW5kZXggODQ2
MTYyZjhiNDFhZGE1ZTBhNDY4OTNhZTBhZTE3NzFkZDEzMWIxMS4uMDNiMzk4NjIyYjdkMGQ4OTRh
ZDM4MjljMjZhNDJjNjYzMDdiNDRkZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0hUTUxBbmNo
b3JFbGVtZW50LmlkbAorKysgYi9XZWJDb3JlL2h0bWwvSFRNTEFuY2hvckVsZW1lbnQuaWRsCkBA
IC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAwNiwgMjAwNywgMjAwOSwgMjAx
MCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDYs
IDIwMDcsIDIwMDkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICogQ29weXJpZ2h0
IChDKSAyMDA2IFNhbXVlbCBXZWluaWcgPHNhbS53ZWluaWdAZ21haWwuY29tPgogICoKICAqIFRo
aXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQv
b3IKQEAgLTIxLDE3ICsyMSwxNyBAQAogbW9kdWxlIGh0bWwgewogCiAgICAgaW50ZXJmYWNlIEhU
TUxBbmNob3JFbGVtZW50IDogSFRNTEVsZW1lbnQgewotICAgICAgICBhdHRyaWJ1dGUgW1JlZmxl
Y3RdIERPTVN0cmluZyBhY2Nlc3NLZXk7Ci0gICAgICAgIGF0dHJpYnV0ZSBbUmVmbGVjdF0gRE9N
U3RyaW5nIGNoYXJzZXQ7Ci0gICAgICAgIGF0dHJpYnV0ZSBbUmVmbGVjdF0gRE9NU3RyaW5nIGNv
b3JkczsKLSAgICAgICAgYXR0cmlidXRlIFtSZWZsZWN0VVJMXSBET01TdHJpbmcgaHJlZjsKLSAg
ICAgICAgYXR0cmlidXRlIFtSZWZsZWN0XSBET01TdHJpbmcgaHJlZmxhbmc7Ci0gICAgICAgIGF0
dHJpYnV0ZSBbUmVmbGVjdF0gRE9NU3RyaW5nIG5hbWU7Ci0gICAgICAgIGF0dHJpYnV0ZSBbUmVm
bGVjdF0gRE9NU3RyaW5nIHJlbDsKLSAgICAgICAgYXR0cmlidXRlIFtSZWZsZWN0XSBET01TdHJp
bmcgcmV2OwotICAgICAgICBhdHRyaWJ1dGUgW1JlZmxlY3RdIERPTVN0cmluZyBzaGFwZTsKLSAg
ICAgICAgYXR0cmlidXRlIFtSZWZsZWN0XSBET01TdHJpbmcgdGFyZ2V0OwotICAgICAgICBhdHRy
aWJ1dGUgW1JlZmxlY3RdIERPTVN0cmluZyB0eXBlOworICAgICAgICBhdHRyaWJ1dGUgW0NvbnZl
cnROdWxsVG9OdWxsU3RyaW5nLCBSZWZsZWN0PWFjY2Vzc2tleV0gRE9NU3RyaW5nIGFjY2Vzc0tl
eTsKKyAgICAgICAgYXR0cmlidXRlIFtDb252ZXJ0TnVsbFRvTnVsbFN0cmluZywgUmVmbGVjdF0g
RE9NU3RyaW5nIGNoYXJzZXQ7CisgICAgICAgIGF0dHJpYnV0ZSBbQ29udmVydE51bGxUb051bGxT
dHJpbmcsIFJlZmxlY3RdIERPTVN0cmluZyBjb29yZHM7CisgICAgICAgIGF0dHJpYnV0ZSBbQ29u
dmVydE51bGxUb051bGxTdHJpbmcsIFJlZmxlY3RVUkxdIERPTVN0cmluZyBocmVmOworICAgICAg
ICBhdHRyaWJ1dGUgW0NvbnZlcnROdWxsVG9OdWxsU3RyaW5nLCBSZWZsZWN0XSBET01TdHJpbmcg
aHJlZmxhbmc7CisgICAgICAgIGF0dHJpYnV0ZSBbQ29udmVydE51bGxUb051bGxTdHJpbmcsIFJl
ZmxlY3RdIERPTVN0cmluZyBuYW1lOworICAgICAgICBhdHRyaWJ1dGUgW0NvbnZlcnROdWxsVG9O
dWxsU3RyaW5nLCBSZWZsZWN0XSBET01TdHJpbmcgcmVsOworICAgICAgICBhdHRyaWJ1dGUgW0Nv
bnZlcnROdWxsVG9OdWxsU3RyaW5nLCBSZWZsZWN0XSBET01TdHJpbmcgcmV2OworICAgICAgICBh
dHRyaWJ1dGUgW0NvbnZlcnROdWxsVG9OdWxsU3RyaW5nLCBSZWZsZWN0XSBET01TdHJpbmcgc2hh
cGU7CisgICAgICAgIGF0dHJpYnV0ZSBbQ29udmVydE51bGxUb051bGxTdHJpbmcsIFJlZmxlY3Rd
IERPTVN0cmluZyB0YXJnZXQ7CisgICAgICAgIGF0dHJpYnV0ZSBbQ29udmVydE51bGxUb051bGxT
dHJpbmcsIFJlZmxlY3RdIERPTVN0cmluZyB0eXBlOwogCiAjaWYgZGVmaW5lZChMQU5HVUFHRV9P
QkpFQ1RJVkVfQykgJiYgTEFOR1VBR0VfT0JKRUNUSVZFX0MKICAgICAgICAgcmVhZG9ubHkgYXR0
cmlidXRlIERPTVN0cmluZyBoYXNoOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0hUTUxBcHBs
ZXRFbGVtZW50LmlkbCBiL1dlYkNvcmUvaHRtbC9IVE1MQXBwbGV0RWxlbWVudC5pZGwKaW5kZXgg
Mzg4YjVjYjIzOGMyY2UyYjUxYmRkOTkxNDkwOWFjNTcyMmQzZGI0Yy4uZjU5ODRmMGEwNWJkNWE4
N2NkNjQyYmE1Mjk1MzcyM2Y2OWZkNGIwNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0hUTUxB
cHBsZXRFbGVtZW50LmlkbAorKysgYi9XZWJDb3JlL2h0bWwvSFRNTEFwcGxldEVsZW1lbnQuaWRs
CkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAwNiwgMjAwNywgMjAwOSwg
MjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIw
MDYsIDIwMDcsIDIwMDkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICogQ29weXJp
Z2h0IChDKSAyMDA2IFNhbXVlbCBXZWluaWcgPHNhbS53ZWluaWdAZ21haWwuY29tPgogICoKICAq
IFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBh
bmQvb3IKQEAgLTI1LDI1ICsyNSwyNSBAQCBtb2R1bGUgaHRtbCB7CiAgICAgICAgIERlbGVnYXRp
bmdHZXRPd25Qcm9wZXJ0eVNsb3QsCiAgICAgICAgIEN1c3RvbUNhbGwKICAgICBdIEhUTUxBcHBs
ZXRFbGVtZW50IDogSFRNTEVsZW1lbnQgewotICAgICAgICBhdHRyaWJ1dGUgW1JlZmxlY3RdIERP
TVN0cmluZyBhbGlnbjsKLSAgICAgICAgYXR0cmlidXRlIFtSZWZsZWN0XSBET01TdHJpbmcgYWx0
OwotICAgICAgICBhdHRyaWJ1dGUgW1JlZmxlY3RdIERPTVN0cmluZyBhcmNoaXZlOwotICAgICAg
ICBhdHRyaWJ1dGUgW1JlZmxlY3RdIERPTVN0cmluZyBjb2RlOwotICAgICAgICBhdHRyaWJ1dGUg
W1JlZmxlY3RdIERPTVN0cmluZyBjb2RlQmFzZTsKLSAgICAgICAgYXR0cmlidXRlIFtSZWZsZWN0
XSBET01TdHJpbmcgaGVpZ2h0OworICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgW0NvbnZlcnRO
dWxsVG9OdWxsU3RyaW5nLCBSZWZsZWN0XSBET01TdHJpbmcgYWxpZ247CisgICAgICAgICAgICAg
ICAgIGF0dHJpYnV0ZSBbQ29udmVydE51bGxUb051bGxTdHJpbmcsIFJlZmxlY3RdIERPTVN0cmlu
ZyBhbHQ7CisgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBbQ29udmVydE51bGxUb051bGxTdHJp
bmcsIFJlZmxlY3RdIERPTVN0cmluZyBhcmNoaXZlOworICAgICAgICAgICAgICAgICBhdHRyaWJ1
dGUgW0NvbnZlcnROdWxsVG9OdWxsU3RyaW5nLCBSZWZsZWN0XSBET01TdHJpbmcgY29kZTsKKyAg
ICAgICAgICAgICAgICAgYXR0cmlidXRlIFtDb252ZXJ0TnVsbFRvTnVsbFN0cmluZywgUmVmbGVj
dD1jb2RlYmFzZV0gRE9NU3RyaW5nIGNvZGVCYXNlOworICAgICAgICAgICAgICAgICBhdHRyaWJ1
dGUgW0NvbnZlcnROdWxsVG9OdWxsU3RyaW5nLCBSZWZsZWN0XSBET01TdHJpbmcgaGVpZ2h0Owog
I2lmIGRlZmluZWQoTEFOR1VBR0VfSkFWQVNDUklQVCkgJiYgTEFOR1VBR0VfSkFWQVNDUklQVAot
ICAgICAgICBhdHRyaWJ1dGUgW1JlZmxlY3RdIERPTVN0cmluZyBoc3BhY2U7CisgICAgICAgICAg
ICAgICAgIGF0dHJpYnV0ZSBbQ29udmVydE51bGxUb051bGxTdHJpbmcsIFJlZmxlY3RdIERPTVN0
cmluZyBoc3BhY2U7CiAjZWxzZQotICAgICAgICBhdHRyaWJ1dGUgW1JlZmxlY3RdIGxvbmcgaHNw
YWNlOworICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgW0NvbnZlcnRGcm9tU3RyaW5nXSBsb25n
IGhzcGFjZTsKICNlbmRpZgotICAgICAgICBhdHRyaWJ1dGUgW1JlZmxlY3RdIERPTVN0cmluZyBu
YW1lOwotICAgICAgICBhdHRyaWJ1dGUgW1JlZmxlY3RdIERPTVN0cmluZyBvYmplY3Q7CisgICAg
ICAgICAgICAgICAgIGF0dHJpYnV0ZSBbQ29udmVydE51bGxUb051bGxTdHJpbmcsIFJlZmxlY3Rd
IERPTVN0cmluZyBuYW1lOworICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgW0NvbnZlcnROdWxs
VG9OdWxsU3RyaW5nLCBSZWZsZWN0XSBET01TdHJpbmcgb2JqZWN0OwogI2lmIGRlZmluZWQoTEFO
R1VBR0VfSkFWQVNDUklQVCkgJiYgTEFOR1VBR0VfSkFWQVNDUklQVAotICAgICAgICBhdHRyaWJ1
dGUgW1JlZmxlY3RdIERPTVN0cmluZyB2c3BhY2U7CisgICAgICAgICAgICAgICAgIGF0dHJpYnV0
ZSBbQ29udmVydE51bGxUb051bGxTdHJpbmcsIFJlZmxlY3RdIERPTVN0cmluZyB2c3BhY2U7CiAj
ZWxzZQotICAgICAgICBhdHRyaWJ1dGUgW1JlZmxlY3RdIGxvbmcgdnNwYWNlOworICAgICAgICAg
ICAgICAgICBhdHRyaWJ1dGUgW0NvbnZlcnRGcm9tU3RyaW5nXSBsb25nIHZzcGFjZTsKICNlbmRp
ZgotICAgICAgICBhdHRyaWJ1dGUgW1JlZmxlY3RdIERPTVN0cmluZyB3aWR0aDsKKyAgICAgICAg
ICAgICAgICAgYXR0cmlidXRlIFtDb252ZXJ0TnVsbFRvTnVsbFN0cmluZywgUmVmbGVjdF0gRE9N
U3RyaW5nIHdpZHRoOwogICAgIH07CiAKIH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9IVE1M
QXJlYUVsZW1lbnQuaWRsIGIvV2ViQ29yZS9odG1sL0hUTUxBcmVhRWxlbWVudC5pZGwKaW5kZXgg
MGY2ZmQ3MmZiZjdkNmM2NDY1YzIyYmEwM2U3MjlkYWQzOGUxOWQ1OC4uMjEwZDZlNWRhOGM4Njkz
Y2YzNzY1ZGU2YWZhNjE1OThjMjU3MjM5YSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0hUTUxB
cmVhRWxlbWVudC5pZGwKKysrIGIvV2ViQ29yZS9odG1sL0hUTUxBcmVhRWxlbWVudC5pZGwKQEAg
LTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDA2LCAyMDA5LCAyMDEwIEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwNiwgMjAwOSBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDYgU2Ft
dWVsIFdlaW5pZyA8c2FtLndlaW5pZ0BnbWFpbC5jb20+CiAgKgogICogVGhpcyBsaWJyYXJ5IGlz
IGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgpAQCAtMjEsMTMg
KzIxLDEzIEBACiBtb2R1bGUgaHRtbCB7CiAKICAgICBpbnRlcmZhY2UgSFRNTEFyZWFFbGVtZW50
IDogSFRNTEVsZW1lbnQgewotICAgICAgICBhdHRyaWJ1dGUgW1JlZmxlY3RdIERPTVN0cmluZyBh
Y2Nlc3NLZXk7Ci0gICAgICAgIGF0dHJpYnV0ZSBbUmVmbGVjdF0gRE9NU3RyaW5nIGFsdDsKLSAg
ICAgICAgYXR0cmlidXRlIFtSZWZsZWN0XSBET01TdHJpbmcgY29vcmRzOwotICAgICAgICBhdHRy
aWJ1dGUgW1JlZmxlY3RVUkxdIERPTVN0cmluZyBocmVmOwotICAgICAgICBhdHRyaWJ1dGUgW1Jl
ZmxlY3RdIGJvb2xlYW4gbm9IcmVmOwotICAgICAgICBhdHRyaWJ1dGUgW1JlZmxlY3RdIERPTVN0
cmluZyBzaGFwZTsKLSAgICAgICAgYXR0cmlidXRlIFtSZWZsZWN0XSBET01TdHJpbmcgdGFyZ2V0
OworICAgICAgICBhdHRyaWJ1dGUgW0NvbnZlcnROdWxsVG9OdWxsU3RyaW5nLCBSZWZsZWN0PWFj
Y2Vzc2tleV0gRE9NU3RyaW5nIGFjY2Vzc0tleTsKKyAgICAgICAgYXR0cmlidXRlIFtDb252ZXJ0
TnVsbFRvTnVsbFN0cmluZywgUmVmbGVjdF0gRE9NU3RyaW5nIGFsdDsKKyAgICAgICAgYXR0cmli
dXRlIFtDb252ZXJ0TnVsbFRvTnVsbFN0cmluZywgUmVmbGVjdF0gRE9NU3RyaW5nIGNvb3JkczsK
KyAgICAgICAgYXR0cmlidXRlIFtDb252ZXJ0TnVsbFRvTnVsbFN0cmluZywgUmVmbGVjdFVSTF0g
RE9NU3RyaW5nIGhyZWY7CisgICAgICAgIGF0dHJpYnV0ZSBib29sZWFuIG5vSHJlZjsKKyAgICAg
ICAgYXR0cmlidXRlIFtDb252ZXJ0TnVsbFRvTnVsbFN0cmluZywgUmVmbGVjdF0gRE9NU3RyaW5n
IHNoYXBlOworICAgICAgICBhdHRyaWJ1dGUgW0NvbnZlcnROdWxsVG9OdWxsU3RyaW5nLCBSZWZs
ZWN0XSBET01TdHJpbmcgdGFyZ2V0OwogCiAgICAgICAgIC8vIElFIEV4dGVuc2lvbnMKICAgICAg
ICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBoYXNoOwpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9odG1sL0hUTUxCUkVsZW1lbnQuaWRsIGIvV2ViQ29yZS9odG1sL0hUTUxCUkVsZW1lbnQuaWRs
CmluZGV4IGE2ZDIxNWQ1MzQxMGFmYTg3NDA1MjM2YjhiYWZiMjllODhkMWZhYmEuLjQwNDg5MTFk
ZGE1MWJjNDUyYmNhYWNlMGYxOGZmN2I3OWVmMGIyNmUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRt
bC9IVE1MQlJFbGVtZW50LmlkbAorKysgYi9XZWJDb3JlL2h0bWwvSFRNTEJSRWxlbWVudC5pZGwK
QEAgLTIwLDcgKzIwLDcgQEAKIG1vZHVsZSBodG1sIHsKIAogICAgIGludGVyZmFjZSBIVE1MQlJF
bGVtZW50IDogSFRNTEVsZW1lbnQgewotICAgICAgICBhdHRyaWJ1dGUgW1JlZmxlY3RdIERPTVN0
cmluZyBjbGVhcjsKKyAgICAgICAgYXR0cmlidXRlIFtDb252ZXJ0TnVsbFRvTnVsbFN0cmluZywg
UmVmbGVjdF0gRE9NU3RyaW5nIGNsZWFyOwogICAgIH07CiAKIH0KZGlmZiAtLWdpdCBhL1dlYkNv
cmUvaHRtbC9IVE1MQmFzZUVsZW1lbnQuaWRsIGIvV2ViQ29yZS9odG1sL0hUTUxCYXNlRWxlbWVu
dC5pZGwKaW5kZXggOGJmODJhOWMyODA3OTQxNjY5NmEyMDA1YjQ0MWFiMDE3Njg5MWUxNi4uMDg3
ZmFjYTAyMDJjNjYzMzY1OTllMDZhYzQ2MzczMDg1YTI2NjNjYiAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9odG1sL0hUTUxCYXNlRWxlbWVudC5pZGwKKysrIGIvV2ViQ29yZS9odG1sL0hUTUxCYXNlRWxl
bWVudC5pZGwKQEAgLTIwLDggKzIwLDggQEAKIG1vZHVsZSBodG1sIHsKIAogICAgIGludGVyZmFj
ZSBIVE1MQmFzZUVsZW1lbnQgOiBIVE1MRWxlbWVudCB7Ci0gICAgICAgIGF0dHJpYnV0ZSBbUmVm
bGVjdF0gRE9NU3RyaW5nIGhyZWY7Ci0gICAgICAgIGF0dHJpYnV0ZSBbUmVmbGVjdF0gRE9NU3Ry
aW5nIHRhcmdldDsKKyAgICAgICAgYXR0cmlidXRlIFtDb252ZXJ0TnVsbFRvTnVsbFN0cmluZywg
UmVmbGVjdF0gRE9NU3RyaW5nIGhyZWY7CisgICAgICAgIGF0dHJpYnV0ZSBbQ29udmVydE51bGxU
b051bGxTdHJpbmcsIFJlZmxlY3RdIERPTVN0cmluZyB0YXJnZXQ7CiAgICAgfTsKIAogfQpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9odG1sL0hUTUxCYXNlRm9udEVsZW1lbnQuaWRsIGIvV2ViQ29yZS9o
dG1sL0hUTUxCYXNlRm9udEVsZW1lbnQuaWRsCmluZGV4IGEwYWMxMjc5OTNhMmM5MDk3ODA2Yjcx
OWZhMzRjMzliMGI3NzBlNWYuLmQ1NTY1NGU5OGQ2MWI3NzM5ZjNkYWZiMzhlOTE5Y2U4Yzc2YmQy
YzUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9IVE1MQmFzZUZvbnRFbGVtZW50LmlkbAorKysg
Yi9XZWJDb3JlL2h0bWwvSFRNTEJhc2VGb250RWxlbWVudC5pZGwKQEAgLTEsNSArMSw1IEBACiAv
KgotICogQ29weXJpZ2h0IChDKSAyMDA2LCAyMDA5LCAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwNiwgMjAwOSBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCiAgKgogICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlv
dSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJt
cyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKQEAgLTIwLDEyICsyMCwxMiBAQAog
bW9kdWxlIGh0bWwgewogCiAgICAgaW50ZXJmYWNlIEhUTUxCYXNlRm9udEVsZW1lbnQgOiBIVE1M
RWxlbWVudCB7Ci0gICAgICAgIGF0dHJpYnV0ZSBbUmVmbGVjdF0gRE9NU3RyaW5nIGNvbG9yOwot
ICAgICAgICBhdHRyaWJ1dGUgW1JlZmxlY3RdIERPTVN0cmluZyBmYWNlOworICAgICAgICBhdHRy
aWJ1dGUgW0NvbnZlcnROdWxsVG9OdWxsU3RyaW5nLCBSZWZsZWN0XSBET01TdHJpbmcgY29sb3I7
CisgICAgICAgIGF0dHJpYnV0ZSBbQ29udmVydE51bGxUb051bGxTdHJpbmcsIFJlZmxlY3RdIERP
TVN0cmluZyBmYWNlOwogI2lmIGRlZmluZWQoTEFOR1VBR0VfT0JKRUNUSVZFX0MpICYmIExBTkdV
QUdFX09CSkVDVElWRV9DCiAgICAgICAgIGF0dHJpYnV0ZSBbQ29udmVydFRvU3RyaW5nXSBET01T
dHJpbmcgc2l6ZTsgLy8gdGhpcyBjaGFuZ2VkIHRvIGEgbG9uZywgYnV0IG91ciBleGlzdGluZyBB
UEkgaXMgYSBzdHJpbmcKICNlbHNlCi0gICAgICAgIGF0dHJpYnV0ZSBbUmVmbGVjdF0gbG9uZyBz
aXplOworICAgICAgICBhdHRyaWJ1dGUgbG9uZyBzaXplOwogI2VuZGlmCiAgICAgfTsKIH0KZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9IVE1MQmxvY2txdW90ZUVsZW1lbnQuaWRsIGIvV2ViQ29y
ZS9odG1sL0hUTUxCbG9ja3F1b3RlRWxlbWVudC5pZGwKaW5kZXggZjAwNDVjNzUwODMyY2RkMzI1
Y2VkNDlkZDAzZjA3OTNlMjRmZjA2OC4uYjgxOTIzNmNjNzQ2ODgzN2U0ZDMyMjk0ZDJjZTFmNTJl
NDA2ZDMyNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0hUTUxCbG9ja3F1b3RlRWxlbWVudC5p
ZGwKKysrIGIvV2ViQ29yZS9odG1sL0hUTUxCbG9ja3F1b3RlRWxlbWVudC5pZGwKQEAgLTIwLDcg
KzIwLDcgQEAKIG1vZHVsZSBodG1sIHsKIAogICAgIGludGVyZmFjZSBIVE1MQmxvY2txdW90ZUVs
ZW1lbnQgOiBIVE1MRWxlbWVudCB7Ci0gICAgICAgIGF0dHJpYnV0ZSBbUmVmbGVjdF0gRE9NU3Ry
aW5nIGNpdGU7CisgICAgICAgIGF0dHJpYnV0ZSBbQ29udmVydE51bGxUb051bGxTdHJpbmcsIFJl
ZmxlY3RdIERPTVN0cmluZyBjaXRlOwogICAgIH07CiAKIH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUv
aHRtbC9IVE1MQm9keUVsZW1lbnQuaWRsIGIvV2ViQ29yZS9odG1sL0hUTUxCb2R5RWxlbWVudC5p
ZGwKaW5kZXggNDcwOWUzZmJmMjIzNTJlMmYzZWExMzczMTMyMjkxZjk0MjQ5YmJlNi4uYzkyZGNk
M2ZmZTNjZjRkODQzNmVhZWQ2ZTBmZWE0NjcwOGJkOWU3YSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9o
dG1sL0hUTUxCb2R5RWxlbWVudC5pZGwKKysrIGIvV2ViQ29yZS9odG1sL0hUTUxCb2R5RWxlbWVu
dC5pZGwKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDA2LCAyMDA5LCAy
MDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAw
NiwgMjAwOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKEMp
IDIwMDYgU2FtdWVsIFdlaW5pZyA8c2FtLndlaW5pZ0BnbWFpbC5jb20+CiAgKgogICogVGhpcyBs
aWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgpA
QCAtMjEsMTIgKzIxLDEyIEBACiBtb2R1bGUgaHRtbCB7CiAKICAgICBpbnRlcmZhY2UgSFRNTEJv
ZHlFbGVtZW50IDogSFRNTEVsZW1lbnQgewotICAgICAgICBhdHRyaWJ1dGUgW1JlZmxlY3RdIERP
TVN0cmluZyBhTGluazsKLSAgICAgICAgYXR0cmlidXRlIFtSZWZsZWN0XSBET01TdHJpbmcgYmFj
a2dyb3VuZDsKLSAgICAgICAgYXR0cmlidXRlIFtSZWZsZWN0XSBET01TdHJpbmcgYmdDb2xvcjsK
LSAgICAgICAgYXR0cmlidXRlIFtSZWZsZWN0XSBET01TdHJpbmcgbGluazsKLSAgICAgICAgYXR0
cmlidXRlIFtSZWZsZWN0XSBET01TdHJpbmcgdGV4dDsKLSAgICAgICAgYXR0cmlidXRlIFtSZWZs
ZWN0XSBET01TdHJpbmcgdkxpbms7CisgICAgICAgIGF0dHJpYnV0ZSBbQ29udmVydE51bGxUb051
bGxTdHJpbmcsIFJlZmxlY3Q9YWxpbmtdIERPTVN0cmluZyBhTGluazsKKyAgICAgICAgYXR0cmli
dXRlIFtDb252ZXJ0TnVsbFRvTnVsbFN0cmluZywgUmVmbGVjdF0gRE9NU3RyaW5nIGJhY2tncm91
bmQ7CisgICAgICAgIGF0dHJpYnV0ZSBbQ29udmVydE51bGxUb051bGxTdHJpbmcsIFJlZmxlY3Q9
Ymdjb2xvcl0gRE9NU3RyaW5nIGJnQ29sb3I7CisgICAgICAgIGF0dHJpYnV0ZSBbQ29udmVydE51
bGxUb051bGxTdHJpbmcsIFJlZmxlY3RdIERPTVN0cmluZyBsaW5rOworICAgICAgICBhdHRyaWJ1
dGUgW0NvbnZlcnROdWxsVG9OdWxsU3RyaW5nLCBSZWZsZWN0XSBET01TdHJpbmcgdGV4dDsKKyAg
ICAgICAgYXR0cmlidXRlIFtDb252ZXJ0TnVsbFRvTnVsbFN0cmluZywgUmVmbGVjdD12bGlua10g
RE9NU3RyaW5nIHZMaW5rOwogCiAjaWYgIWRlZmluZWQoTEFOR1VBR0VfT0JKRUNUSVZFX0MpIHx8
ICFMQU5HVUFHRV9PQkpFQ1RJVkVfQwogICAgICAgICAvLyBFdmVudCBoYW5kbGVyIGF0dHJpYnV0
ZXMKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9IVE1MQnV0dG9uRWxlbWVudC5pZGwgYi9XZWJD
b3JlL2h0bWwvSFRNTEJ1dHRvbkVsZW1lbnQuaWRsCmluZGV4IDI3OWU4NTg2Y2VmNTA1NzM2MjVh
MDBkZWY1ODMzNjZjOGJhNzM4MGIuLmNmOWY2NDg1ZjNhNzE0NTNiNTIzOWU3MTJiZDI5YmMxZWMx
NTlmZjQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9IVE1MQnV0dG9uRWxlbWVudC5pZGwKKysr
IGIvV2ViQ29yZS9odG1sL0hUTUxCdXR0b25FbGVtZW50LmlkbApAQCAtMSw1ICsxLDUgQEAKIC8q
Ci0gKiBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA2IEFwcGxlIENvbXB1dGVyLCBJbmMuCiAgKiBDb3B5
cmlnaHQgKEMpIDIwMDYgU2FtdWVsIFdlaW5pZyA8c2FtLndlaW5pZ0BnbWFpbC5jb20+CiAgKgog
ICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0
IGFuZC9vcgpAQCAtMjEsMjYgKzIxLDIxIEBACiBtb2R1bGUgaHRtbCB7CiAKICAgICBpbnRlcmZh
Y2UgSFRNTEJ1dHRvbkVsZW1lbnQgOiBIVE1MRWxlbWVudCB7Ci0gICAgICAgIHJlYWRvbmx5IGF0
dHJpYnV0ZSBIVE1MRm9ybUVsZW1lbnQgZm9ybTsKLQotICAgICAgICBhdHRyaWJ1dGUgW1JlZmxl
Y3RdIGJvb2xlYW4gZm9ybU5vVmFsaWRhdGU7Ci0gICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBW
YWxpZGl0eVN0YXRlIHZhbGlkaXR5OwotCi0gICAgICAgIGF0dHJpYnV0ZSBbUmVmbGVjdF0gRE9N
U3RyaW5nIGFjY2Vzc0tleTsKLSAgICAgICAgYXR0cmlidXRlIFtSZWZsZWN0XSBib29sZWFuIGRp
c2FibGVkOwotICAgICAgICBhdHRyaWJ1dGUgW1JlZmxlY3RdIGJvb2xlYW4gYXV0b2ZvY3VzOwot
ICAgICAgICBhdHRyaWJ1dGUgW1JlZmxlY3RdIERPTVN0cmluZyBuYW1lOwotICAgICAgICByZWFk
b25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHR5cGU7Ci0gICAgICAgIGF0dHJpYnV0ZSBbUmVmbGVj
dF0gRE9NU3RyaW5nIHZhbHVlOwotCi0gICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFu
IHdpbGxWYWxpZGF0ZTsKLSAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyB2YWxp
ZGF0aW9uTWVzc2FnZTsKLSAgICAgICAgYm9vbGVhbiBjaGVja1ZhbGlkaXR5KCk7CisgICAgICAg
IHJlYWRvbmx5IGF0dHJpYnV0ZSAgSFRNTEZvcm1FbGVtZW50ICAgICAgZm9ybTsKKyAgICAgICAg
ICAgICAgICAgYXR0cmlidXRlICBib29sZWFuICAgICAgICAgICAgICBmb3JtTm9WYWxpZGF0ZTsK
KyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlICBWYWxpZGl0eVN0YXRlICAgICAgICB2YWxpZGl0
eTsKKyAgICAgICAgICAgICAgICAgYXR0cmlidXRlICBbQ29udmVydE51bGxUb051bGxTdHJpbmdd
IERPTVN0cmluZyAgICAgICAgICAgIGFjY2Vzc0tleTsKKyAgICAgICAgICAgICAgICAgYXR0cmli
dXRlICBib29sZWFuICAgICAgICAgICAgICBkaXNhYmxlZDsKKyAgICAgICAgICAgICAgICAgYXR0
cmlidXRlICBib29sZWFuICAgICAgICAgICAgICBhdXRvZm9jdXM7CisgICAgICAgICAgICAgICAg
IGF0dHJpYnV0ZSAgW0NvbnZlcnROdWxsVG9OdWxsU3RyaW5nXSBET01TdHJpbmcgICAgICAgICAg
ICBuYW1lOworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgIERPTVN0cmluZyAgICAgICAgICAg
IHR5cGU7CisgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSAgW0NvbnZlcnROdWxsVG9OdWxsU3Ry
aW5nXSBET01TdHJpbmcgICAgICAgICAgICB2YWx1ZTsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmli
dXRlIGJvb2xlYW4gICAgICAgICAgICAgICB3aWxsVmFsaWRhdGU7CisgICAgICAgIHJlYWRvbmx5
IGF0dHJpYnV0ZSBET01TdHJpbmcgICAgICAgICAgICAgdmFsaWRhdGlvbk1lc3NhZ2U7CisgICAg
ICAgIGJvb2xlYW4gIGNoZWNrVmFsaWRpdHkoKTsKICAgICAgICAgdm9pZCBzZXRDdXN0b21WYWxp
ZGl0eShpbiBbQ29udmVydFVuZGVmaW5lZE9yTnVsbFRvTnVsbFN0cmluZ10gRE9NU3RyaW5nIGVy
cm9yKTsKLQogICAgICAgICB2b2lkIGNsaWNrKCk7Ci0KLSAgICAgICAgcmVhZG9ubHkgYXR0cmli
dXRlIE5vZGVMaXN0IGxhYmVsczsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlICBOb2RlTGlz
dCAgICAgICAgICAgICAgbGFiZWxzOwogICAgIH07CiAKIH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUv
aHRtbC9IVE1MRExpc3RFbGVtZW50LmlkbCBiL1dlYkNvcmUvaHRtbC9IVE1MRExpc3RFbGVtZW50
LmlkbAppbmRleCAxYTkzMjZmYmYxMDA2NjlhZWZhOGIxODMyMDFiNTEyMWRiMjhiODIyLi41N2M1
YzU3OTY3MjI5NDgyYjAwY2VmMGM1NDM3ZTVjMWQxMDFkMDc3IDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2h0bWwvSFRNTERMaXN0RWxlbWVudC5pZGwKKysrIGIvV2ViQ29yZS9odG1sL0hUTUxETGlzdEVs
ZW1lbnQuaWRsCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAwNiwgMjAx
MCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDYg
QXBwbGUgQ29tcHV0ZXIsIEluYy4KICAqCiAgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2Fy
ZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAgKiBtb2RpZnkgaXQgdW5kZXIgdGhl
IHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwpAQCAtMjAsNyArMjAsNyBA
QAogbW9kdWxlIGh0bWwgewogCiAgICAgaW50ZXJmYWNlIEhUTUxETGlzdEVsZW1lbnQgOiBIVE1M
RWxlbWVudCB7Ci0gICAgICAgIGF0dHJpYnV0ZSBbUmVmbGVjdF0gYm9vbGVhbiBjb21wYWN0Owor
ICAgICAgICBhdHRyaWJ1dGUgYm9vbGVhbiBjb21wYWN0OwogICAgIH07CiAKIH0KZGlmZiAtLWdp
dCBhL1dlYkNvcmUvaHRtbC9IVE1MRGlyZWN0b3J5RWxlbWVudC5pZGwgYi9XZWJDb3JlL2h0bWwv
SFRNTERpcmVjdG9yeUVsZW1lbnQuaWRsCmluZGV4IGIwOTY5NzQ2YWY0MDQ4YjI3MjZiYjUzZDg3
MmNiMmVhODQ2YjJlNTkuLmM4OGUyZTA1MWM3OGFiMGIyOGZkOWM3NjY4MGJmZTBiYjVlY2U5YTYg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9IVE1MRGlyZWN0b3J5RWxlbWVudC5pZGwKKysrIGIv
V2ViQ29yZS9odG1sL0hUTUxEaXJlY3RvcnlFbGVtZW50LmlkbApAQCAtMSw1ICsxLDUgQEAKIC8q
Ci0gKiBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA2IEFwcGxlIENvbXB1dGVyLCBJbmMuCiAgKgogICog
VGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFu
ZC9vcgogICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2Vu
ZXJhbCBQdWJsaWMKQEAgLTIwLDcgKzIwLDcgQEAKIG1vZHVsZSBodG1sIHsKIAogICAgIGludGVy
ZmFjZSBIVE1MRGlyZWN0b3J5RWxlbWVudCA6IEhUTUxFbGVtZW50IHsKLSAgICAgICAgYXR0cmli
dXRlIFtSZWZsZWN0XSBib29sZWFuIGNvbXBhY3Q7CisgICAgICAgIGF0dHJpYnV0ZSBib29sZWFu
IGNvbXBhY3Q7CiAgICAgfTsKIAogfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0hUTUxEaXZF
bGVtZW50LmlkbCBiL1dlYkNvcmUvaHRtbC9IVE1MRGl2RWxlbWVudC5pZGwKaW5kZXggOTBmYjg0
ZjhmNWRlYjljOGQyZDZjZmIyNDlhNDQ3MDY2Yjk3ODRjYS4uOWYwYjU4MTg1OGYyNTQxMDcxMWQ4
Mjc1MjNiNjBkN2I2ODZhNmVkMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0hUTUxEaXZFbGVt
ZW50LmlkbAorKysgYi9XZWJDb3JlL2h0bWwvSFRNTERpdkVsZW1lbnQuaWRsCkBAIC0xLDUgKzEs
NSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAwNiwgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDYgQXBwbGUgQ29tcHV0ZXIsIEluYy4K
ICAqCiAgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1
dGUgaXQgYW5kL29yCiAgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGli
cmFyeSBHZW5lcmFsIFB1YmxpYwpAQCAtMjAsNyArMjAsNyBAQAogbW9kdWxlIGh0bWwgewogCiAg
ICAgaW50ZXJmYWNlIEhUTUxEaXZFbGVtZW50IDogSFRNTEVsZW1lbnQgewotICAgICAgICBhdHRy
aWJ1dGUgW1JlZmxlY3RdIERPTVN0cmluZyBhbGlnbjsKKyAgICAgICAgYXR0cmlidXRlIFtDb252
ZXJ0TnVsbFRvTnVsbFN0cmluZ10gRE9NU3RyaW5nIGFsaWduOwogICAgIH07CiAKIH0KZGlmZiAt
LWdpdCBhL1dlYkNvcmUvaHRtbC9IVE1MRWxlbWVudC5pZGwgYi9XZWJDb3JlL2h0bWwvSFRNTEVs
ZW1lbnQuaWRsCmluZGV4IDVmZWIxZjhiNTM2MjE4MDgxYzU3NGJhZTljOWQ3YjNhMWMwN2Y4OWIu
LjYyN2RkYTIzM2VlMDZhNzA0NmY4YzBjMDU0ZjIxYjYyNDZiMDQzMzkgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvaHRtbC9IVE1MRWxlbWVudC5pZGwKKysrIGIvV2ViQ29yZS9odG1sL0hUTUxFbGVtZW50
LmlkbApAQCAtMjYsMTEgKzI2LDExIEBAIG1vZHVsZSBodG1sIHsKICAgICBdIEhUTUxFbGVtZW50
IDogRWxlbWVudCB7CiAgICAgICAgICAgICAgICAgIC8vIGlodC5jb20gcmVsaWVzIG9uIGlkIHJl
dHVybmluZyB0aGUgZW1wdHkgc3RyaW5nIHdoZW4gbm8gaWQgaXMgcHJlc2VudC4gCiAgICAgICAg
ICAgICAgICAgIC8vIE90aGVyIGJyb3dzZXJzIGRvIHRoaXMgYXMgd2VsbC4gU28gd2UgZG9uJ3Qg
Y29udmVydCBudWxsIHRvIEpTIG51bGwuCi0gICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBbUmVm
bGVjdF0gRE9NU3RyaW5nIGlkOwotICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgW1JlZmxlY3Rd
IERPTVN0cmluZyB0aXRsZTsKLSAgICAgICAgICAgICAgICAgYXR0cmlidXRlIFtSZWZsZWN0XSBE
T01TdHJpbmcgbGFuZzsKLSAgICAgICAgICAgICAgICAgYXR0cmlidXRlIFtSZWZsZWN0XSBET01T
dHJpbmcgZGlyOwotICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgW1JlZmxlY3Q9Y2xhc3NdIERP
TVN0cmluZyBjbGFzc05hbWU7CisgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBbQ29udmVydE51
bGxUb051bGxTdHJpbmcsIFJlZmxlY3RdIERPTVN0cmluZyBpZDsKKyAgICAgICAgICAgICAgICAg
YXR0cmlidXRlIFtDb252ZXJ0TnVsbFRvTnVsbFN0cmluZywgUmVmbGVjdF0gRE9NU3RyaW5nIHRp
dGxlOworICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgW0NvbnZlcnROdWxsVG9OdWxsU3RyaW5n
LCBSZWZsZWN0XSBET01TdHJpbmcgbGFuZzsKKyAgICAgICAgICAgICAgICAgYXR0cmlidXRlIFtD
b252ZXJ0TnVsbFRvTnVsbFN0cmluZywgUmVmbGVjdF0gRE9NU3RyaW5nIGRpcjsKKyAgICAgICAg
ICAgICAgICAgYXR0cmlidXRlIFtDb252ZXJ0TnVsbFRvTnVsbFN0cmluZywgUmVmbGVjdD1jbGFz
c10gRE9NU3RyaW5nIGNsYXNzTmFtZTsKIAogICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgbG9u
ZyAgICAgICAgICAgIHRhYkluZGV4OwogICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgYm9vbGVh
biAgICAgICAgIGRyYWdnYWJsZTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9IVE1MRW1iZWRF
bGVtZW50LmlkbCBiL1dlYkNvcmUvaHRtbC9IVE1MRW1iZWRFbGVtZW50LmlkbAppbmRleCA0OTk3
MjEwNWZiZmUwMjg4Mjc5ZDVhOTg2YzkzOGMzNTc4NjQyZmRmLi41NzZiY2E5MjFlZGM3YjkwZmIy
YzQxNjI3OTM4NjFkZThiY2ZmMTA2IDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvSFRNTEVtYmVk
RWxlbWVudC5pZGwKKysrIGIvV2ViQ29yZS9odG1sL0hUTUxFbWJlZEVsZW1lbnQuaWRsCkBAIC0x
LDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAwNiwgMjAwNywgMjAxMCBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMDcgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICogQ29weXJpZ2h0IChDKSAyMDA2IFNhbXVl
bCBXZWluaWcgPHNhbS53ZWluaWdAZ21haWwuY29tPgogICoKICAqIFRoaXMgbGlicmFyeSBpcyBm
cmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKQEAgLTI1LDI0ICsy
NSwyNSBAQCBtb2R1bGUgaHRtbCB7CiAgICAgICAgIERlbGVnYXRpbmdHZXRPd25Qcm9wZXJ0eVNs
b3QsCiAgICAgICAgIEN1c3RvbUNhbGwKICAgICBdIEhUTUxFbWJlZEVsZW1lbnQgOiBIVE1MRWxl
bWVudCB7Ci0gICAgYXR0cmlidXRlIFtSZWZsZWN0XSBET01TdHJpbmcgYWxpZ247CisgICAgICAg
ICAgICAgICAgIGF0dHJpYnV0ZSBbQ29udmVydE51bGxUb051bGxTdHJpbmcsIFJlZmxlY3RdIERP
TVN0cmluZyBhbGlnbjsKICNpZiBkZWZpbmVkKExBTkdVQUdFX0pBVkFTQ1JJUFQpICYmIExBTkdV
QUdFX0pBVkFTQ1JJUFQKLSAgICBhdHRyaWJ1dGUgW1JlZmxlY3RdIERPTVN0cmluZyBoZWlnaHQ7
CisgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBbQ29udmVydE51bGxUb051bGxTdHJpbmcsIFJl
ZmxlY3RdIERPTVN0cmluZyBoZWlnaHQ7CiAjZWxzZQotICAgIGF0dHJpYnV0ZSBbUmVmbGVjdF0g
bG9uZyBoZWlnaHQ7CisgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBbQ29udmVydEZyb21TdHJp
bmddIGxvbmcgaGVpZ2h0OwogI2VuZGlmCi0gICAgYXR0cmlidXRlIFtSZWZsZWN0XSBET01TdHJp
bmcgbmFtZTsKLSAgICBhdHRyaWJ1dGUgW1JlZmxlY3RdIERPTVN0cmluZyBzcmM7Ci0gICAgYXR0
cmlidXRlIFtSZWZsZWN0XSBET01TdHJpbmcgdHlwZTsKKyAgICAgICAgICAgICAgICAgYXR0cmli
dXRlIFtDb252ZXJ0TnVsbFRvTnVsbFN0cmluZywgUmVmbGVjdF0gRE9NU3RyaW5nIG5hbWU7Cisg
ICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBbQ29udmVydE51bGxUb051bGxTdHJpbmcsIFJlZmxl
Y3RdIERPTVN0cmluZyBzcmM7CisgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBbQ29udmVydE51
bGxUb051bGxTdHJpbmcsIFJlZmxlY3RdIERPTVN0cmluZyB0eXBlOwogI2lmIGRlZmluZWQoTEFO
R1VBR0VfSkFWQVNDUklQVCkgJiYgTEFOR1VBR0VfSkFWQVNDUklQVAotICAgIGF0dHJpYnV0ZSBb
UmVmbGVjdF0gRE9NU3RyaW5nIHdpZHRoOworICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgW0Nv
bnZlcnROdWxsVG9OdWxsU3RyaW5nLCBSZWZsZWN0XSBET01TdHJpbmcgd2lkdGg7CiAjZWxzZQot
ICAgIGF0dHJpYnV0ZSBbUmVmbGVjdF0gbG9uZyB3aWR0aDsKKyAgICAgICAgICAgICAgICAgYXR0
cmlidXRlIFtDb252ZXJ0RnJvbVN0cmluZ10gbG9uZyB3aWR0aDsKICNlbmRpZgogCiAjaWYgZGVm
aW5lZChFTkFCTEVfU1ZHKSAmJiBFTkFCTEVfU1ZHCiAjaWYgIWRlZmluZWQoTEFOR1VBR0VfT0JK
RUNUSVZFX0MpIHx8ICFMQU5HVUFHRV9PQkpFQ1RJVkVfQyB8fCBkZWZpbmVkKEVOQUJMRV9TVkdf
RE9NX09CSkNfQklORElOR1MpICYmIEVOQUJMRV9TVkdfRE9NX09CSkNfQklORElOR1MKLSAgICBb
U1ZHQ2hlY2tTZWN1cml0eURvY3VtZW50XSBTVkdEb2N1bWVudCBnZXRTVkdEb2N1bWVudCgpIHJh
aXNlcyhET01FeGNlcHRpb24pOworICAgICAgICBbU1ZHQ2hlY2tTZWN1cml0eURvY3VtZW50XSBT
VkdEb2N1bWVudCBnZXRTVkdEb2N1bWVudCgpCisgICAgICAgICAgICByYWlzZXMoRE9NRXhjZXB0
aW9uKTsKICNlbmRpZgogI2VuZGlmCiAgICAgfTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9I
VE1MRm9udEVsZW1lbnQuaWRsIGIvV2ViQ29yZS9odG1sL0hUTUxGb250RWxlbWVudC5pZGwKaW5k
ZXggMTQxODE2ZDFkMmNhMGExMzllMzhkZWY2OWRhODNkMjg4MTU0NzQ2MS4uZmE3ZDkwODNlZWI2
YTRhYjZiMjFlYmQxZjY1ZmUwNjQ0MzQ5ZmY2MyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0hU
TUxGb250RWxlbWVudC5pZGwKKysrIGIvV2ViQ29yZS9odG1sL0hUTUxGb250RWxlbWVudC5pZGwK
QEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDA2LCAyMDEwIEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwNiBBcHBsZSBDb21w
dXRlciwgSW5jLgogICoKICAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2Fu
IHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2Yg
dGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCkBAIC0yMCw5ICsyMCw5IEBACiBtb2R1bGUg
aHRtbCB7CiAKICAgICBpbnRlcmZhY2UgSFRNTEZvbnRFbGVtZW50IDogSFRNTEVsZW1lbnQgewot
ICAgICAgICBhdHRyaWJ1dGUgW1JlZmxlY3RdIERPTVN0cmluZyBjb2xvcjsKLSAgICAgICAgYXR0
cmlidXRlIFtSZWZsZWN0XSBET01TdHJpbmcgZmFjZTsKLSAgICAgICAgYXR0cmlidXRlIFtSZWZs
ZWN0XSBET01TdHJpbmcgc2l6ZTsKKyAgICAgICAgYXR0cmlidXRlIFtDb252ZXJ0TnVsbFRvTnVs
bFN0cmluZ10gRE9NU3RyaW5nIGNvbG9yOworICAgICAgICBhdHRyaWJ1dGUgW0NvbnZlcnROdWxs
VG9OdWxsU3RyaW5nXSBET01TdHJpbmcgZmFjZTsKKyAgICAgICAgYXR0cmlidXRlIFtDb252ZXJ0
TnVsbFRvTnVsbFN0cmluZ10gRE9NU3RyaW5nIHNpemU7CiAgICAgfTsKIAogfQpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9odG1sL0hUTUxGb3JtRWxlbWVudC5pZGwgYi9XZWJDb3JlL2h0bWwvSFRNTEZv
cm1FbGVtZW50LmlkbAppbmRleCBjNTE2MmY5NWNjZDY1YzRkNzc0NDMzZjVjMzMwZjJkMjNjOWU3
ODQwLi4wNjU0YTdkMjI4NTIyOTI1OTdmOWI5MWZhYzJmNWMyNTU2NWI1OWIyIDEwMDY0NAotLS0g
YS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1FbGVtZW50LmlkbAorKysgYi9XZWJDb3JlL2h0bWwvSFRN
TEZvcm1FbGVtZW50LmlkbApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIw
MDYsIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChD
KSAyMDA2IEFwcGxlIENvbXB1dGVyLCBJbmMuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDYgU2FtdWVs
IFdlaW5pZyA8c2FtLndlaW5pZ0BnbWFpbC5jb20+CiAgKgogICogVGhpcyBsaWJyYXJ5IGlzIGZy
ZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgpAQCAtMjQsMjAgKzI0
LDE5IEBAIG1vZHVsZSBodG1sIHsKICAgICAgICAgSGFzSW5kZXhHZXR0ZXIsCiAgICAgICAgIEhh
c092ZXJyaWRpbmdOYW1lR2V0dGVyCiAgICAgXSBIVE1MRm9ybUVsZW1lbnQgOiBIVE1MRWxlbWVu
dCB7Ci0gICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBIVE1MQ29sbGVjdGlvbiBlbGVtZW50czsK
LSAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGxvbmcgbGVuZ3RoOwotCi0gICAgICAgIGF0dHJp
YnV0ZSBbUmVmbGVjdF0gRE9NU3RyaW5nIG5hbWU7Ci0gICAgICAgIGF0dHJpYnV0ZSBbUmVmbGVj
dF0gYm9vbGVhbiBub1ZhbGlkYXRlOwotICAgICAgICBhdHRyaWJ1dGUgW1JlZmxlY3Q9YWNjZXB0
X2NoYXJzZXRdIERPTVN0cmluZyBhY2NlcHRDaGFyc2V0OwotICAgICAgICBhdHRyaWJ1dGUgW1Jl
ZmxlY3RdIERPTVN0cmluZyBhY3Rpb247Ci0gICAgICAgIGF0dHJpYnV0ZSBbQ29udmVydE51bGxU
b051bGxTdHJpbmddIERPTVN0cmluZyBlbmNvZGluZzsgIC8qIE5ldHNjYXBlL0ZpcmVmb3ggbGVn
YWN5IGF0dHJpYnV0ZS4gU2FtZSBhcyBlbmN0eXBlLiAqLwotICAgICAgICBhdHRyaWJ1dGUgW0Nv
bnZlcnROdWxsVG9OdWxsU3RyaW5nXSBET01TdHJpbmcgZW5jdHlwZTsKLSAgICAgICAgYXR0cmli
dXRlIFtSZWZsZWN0XSBET01TdHJpbmcgbWV0aG9kOwotICAgICAgICBhdHRyaWJ1dGUgW1JlZmxl
Y3RdIERPTVN0cmluZyB0YXJnZXQ7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBIVE1MQ29s
bGVjdGlvbiAgZWxlbWVudHM7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBsb25nICAgICAg
ICAgICAgbGVuZ3RoOworICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgW0NvbnZlcnROdWxsVG9O
dWxsU3RyaW5nXSBET01TdHJpbmcgICAgICAgbmFtZTsKKyAgICAgICAgICAgICAgICAgYXR0cmli
dXRlIGJvb2xlYW4gICAgICAgICBub1ZhbGlkYXRlOworICAgICAgICAgICAgICAgICBhdHRyaWJ1
dGUgW0NvbnZlcnROdWxsVG9OdWxsU3RyaW5nXSBET01TdHJpbmcgICAgICAgYWNjZXB0Q2hhcnNl
dDsKKyAgICAgICAgICAgICAgICAgYXR0cmlidXRlIFtDb252ZXJ0TnVsbFRvTnVsbFN0cmluZ10g
RE9NU3RyaW5nICAgICAgIGFjdGlvbjsKKyAgICAgICAgICAgICAgICAgYXR0cmlidXRlIFtDb252
ZXJ0TnVsbFRvTnVsbFN0cmluZ10gRE9NU3RyaW5nICAgICAgIGVuY29kaW5nOyAgLyogTmV0c2Nh
cGUvRmlyZWZveCBsZWdhY3kgYXR0cmlidXRlLiBTYW1lIGFzIGVuY3R5cGUuICovCisgICAgICAg
ICAgICAgICAgIGF0dHJpYnV0ZSBbQ29udmVydE51bGxUb051bGxTdHJpbmddIERPTVN0cmluZyAg
ICAgICBlbmN0eXBlOworICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgW0NvbnZlcnROdWxsVG9O
dWxsU3RyaW5nXSBET01TdHJpbmcgICAgICAgbWV0aG9kOworICAgICAgICAgICAgICAgICBhdHRy
aWJ1dGUgW0NvbnZlcnROdWxsVG9OdWxsU3RyaW5nXSBET01TdHJpbmcgICAgICAgdGFyZ2V0Owog
ICAgICAgICAKICAgICAgICAgW0NhbGxXaXRoPUR5bmFtaWNGcmFtZV0gdm9pZCBzdWJtaXQoKTsK
ICAgICAgICAgdm9pZCByZXNldCgpOwotICAgICAgICBib29sZWFuIGNoZWNrVmFsaWRpdHkoKTsK
KyAgICAgICAgYm9vbGVhbiAgY2hlY2tWYWxpZGl0eSgpOwogICAgIH07CiB9CmRpZmYgLS1naXQg
YS9XZWJDb3JlL2h0bWwvSFRNTEZyYW1lRWxlbWVudC5pZGwgYi9XZWJDb3JlL2h0bWwvSFRNTEZy
YW1lRWxlbWVudC5pZGwKaW5kZXggOGY2MThjNmI4YmY0YTliYzQzNWQxOGJjMTIwYmZjM2UyOGM4
ZWEyMi4uNDUzZGUwYTMxN2MzYTk0MzU1NmQ1Y2QyNGMzNTE5MTE2NmMyMTgxYiAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9odG1sL0hUTUxGcmFtZUVsZW1lbnQuaWRsCisrKyBiL1dlYkNvcmUvaHRtbC9I
VE1MRnJhbWVFbGVtZW50LmlkbApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMp
IDIwMDYsIDIwMDcsIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29w
eXJpZ2h0IChDKSAyMDA2LCAyMDA3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAq
IENvcHlyaWdodCAoQykgMjAwNiBTYW11ZWwgV2VpbmlnIDxzYW0ud2VpbmlnQGdtYWlsLmNvbT4K
ICAqCiAgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1
dGUgaXQgYW5kL29yCkBAIC0yMiwxNyArMjIsMTcgQEAgbW9kdWxlIGh0bWwgewogCiAgICAgaW50
ZXJmYWNlIEhUTUxGcmFtZUVsZW1lbnQgOiBIVE1MRWxlbWVudCB7CiAKLSAgICAgICAgYXR0cmli
dXRlIFtSZWZsZWN0XSBET01TdHJpbmcgZnJhbWVCb3JkZXI7Ci0gICAgICAgIGF0dHJpYnV0ZSBb
UmVmbGVjdF0gRE9NU3RyaW5nIGxvbmdEZXNjOwotICAgICAgICBhdHRyaWJ1dGUgW1JlZmxlY3Rd
IERPTVN0cmluZyBtYXJnaW5IZWlnaHQ7Ci0gICAgICAgIGF0dHJpYnV0ZSBbUmVmbGVjdF0gRE9N
U3RyaW5nIG1hcmdpbldpZHRoOwotICAgICAgICBhdHRyaWJ1dGUgW1JlZmxlY3RdIERPTVN0cmlu
ZyBuYW1lOwotICAgICAgICBhdHRyaWJ1dGUgW1JlZmxlY3RdIGJvb2xlYW4gbm9SZXNpemU7Ci0g
ICAgICAgIGF0dHJpYnV0ZSBbUmVmbGVjdF0gRE9NU3RyaW5nIHNjcm9sbGluZzsKLSAgICAgICAg
YXR0cmlidXRlIFtSZWZsZWN0VVJMLCBDdXN0b21TZXR0ZXJdIERPTVN0cmluZyBzcmM7CisgICAg
ICAgICAgICAgICAgIGF0dHJpYnV0ZSBbQ29udmVydE51bGxUb051bGxTdHJpbmcsIFJlZmxlY3Q9
ZnJhbWVib3JkZXJdIERPTVN0cmluZyAgICAgICBmcmFtZUJvcmRlcjsKKyAgICAgICAgICAgICAg
ICAgYXR0cmlidXRlIFtDb252ZXJ0TnVsbFRvTnVsbFN0cmluZywgUmVmbGVjdD1sb25nZGVzY10g
RE9NU3RyaW5nICAgICAgIGxvbmdEZXNjOworICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgW0Nv
bnZlcnROdWxsVG9OdWxsU3RyaW5nLCBSZWZsZWN0PW1hcmdpbmhlaWdodF0gRE9NU3RyaW5nICAg
ICAgIG1hcmdpbkhlaWdodDsKKyAgICAgICAgICAgICAgICAgYXR0cmlidXRlIFtDb252ZXJ0TnVs
bFRvTnVsbFN0cmluZywgUmVmbGVjdD1tYXJnaW53aWR0aF0gRE9NU3RyaW5nICAgICAgIG1hcmdp
bldpZHRoOworICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgW0NvbnZlcnROdWxsVG9OdWxsU3Ry
aW5nLCBSZWZsZWN0XSBET01TdHJpbmcgICAgICAgbmFtZTsKKyAgICAgICAgICAgICAgICAgYXR0
cmlidXRlIGJvb2xlYW4gICAgICAgICBub1Jlc2l6ZTsKKyAgICAgICAgICAgICAgICAgYXR0cmli
dXRlIFtDb252ZXJ0TnVsbFRvTnVsbFN0cmluZywgUmVmbGVjdF0gRE9NU3RyaW5nICAgICAgIHNj
cm9sbGluZzsKKyAgICAgICAgICAgICAgICAgYXR0cmlidXRlIFtDb252ZXJ0TnVsbFRvTnVsbFN0
cmluZywgQ3VzdG9tU2V0dGVyLCBSZWZsZWN0VVJMXSBET01TdHJpbmcgICAgICAgc3JjOwogCiAg
ICAgICAgIC8vIEludHJvZHVjZWQgaW4gRE9NIExldmVsIDI6Ci0gICAgICAgIHJlYWRvbmx5IGF0
dHJpYnV0ZSBbQ2hlY2tGcmFtZVNlY3VyaXR5XSBEb2N1bWVudCBjb250ZW50RG9jdW1lbnQ7Cisg
ICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBbQ2hlY2tGcmFtZVNlY3VyaXR5XSBEb2N1bWVudCAg
ICAgICAgY29udGVudERvY3VtZW50OwogCiAgICAgICAgIC8vIEV4dGVuc2lvbnMKICAgICAgICAg
cmVhZG9ubHkgYXR0cmlidXRlIERPTVdpbmRvdyBjb250ZW50V2luZG93OwpAQCAtNDQsMTAgKzQ0
LDkgQEAgbW9kdWxlIGh0bWwgewogI2VuZGlmCiAjZW5kaWYKIAotICAgICAgICBhdHRyaWJ1dGUg
W0NvbnZlcnROdWxsVG9OdWxsU3RyaW5nLCBDdXN0b21TZXR0ZXJdIERPTVN0cmluZyBsb2NhdGlv
bjsKLQotICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgbG9uZyB3aWR0aDsKLSAgICAgICAgcmVh
ZG9ubHkgYXR0cmlidXRlIGxvbmcgaGVpZ2h0OworICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUg
W0NvbnZlcnROdWxsVG9OdWxsU3RyaW5nLCBDdXN0b21TZXR0ZXJdIERPTVN0cmluZyAgICAgICBs
b2NhdGlvbjsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGxvbmcgICAgICAgICAgICB3aWR0
aDsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGxvbmcgICAgICAgICAgICBoZWlnaHQ7CiAK
ICAgICB9OwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvSFRNTEZyYW1lU2V0RWxlbWVudC5p
ZGwgYi9XZWJDb3JlL2h0bWwvSFRNTEZyYW1lU2V0RWxlbWVudC5pZGwKaW5kZXggMDZhYWI2YWEy
MzM2MjRmOWUyNDUxODM1MDk5NjhhM2IyZTg1ZjQ4MC4uOTc2MzQ2MGVjZjBjZmJkZTcxMDI0MDU1
N2ZjMjgyZWM0OGE3NWM2MSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0hUTUxGcmFtZVNldEVs
ZW1lbnQuaWRsCisrKyBiL1dlYkNvcmUvaHRtbC9IVE1MRnJhbWVTZXRFbGVtZW50LmlkbApAQCAt
MSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMDcsIDIwMDksIDIwMTAg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmUKKyAqIENvcHlyaWdodCAoQykgMjAwNiwgMjAw
NywgMjAwOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZQogICogQ29weXJpZ2h0IChDKSAy
MDA2IFNhbXVlbCBXZWluaWcgPHNhbS53ZWluaWdAZ21haWwuY29tPgogICoKICAqIFRoaXMgbGli
cmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKQEAg
LTIzLDggKzIzLDggQEAgbW9kdWxlIGh0bWwgewogICAgIGludGVyZmFjZSBbCiAgICAgICAgIEhh
c092ZXJyaWRpbmdOYW1lR2V0dGVyCiAgICAgXSBIVE1MRnJhbWVTZXRFbGVtZW50IDogSFRNTEVs
ZW1lbnQgewotICAgICAgICBhdHRyaWJ1dGUgW1JlZmxlY3RdIERPTVN0cmluZyBjb2xzOwotICAg
ICAgICBhdHRyaWJ1dGUgW1JlZmxlY3RdIERPTVN0cmluZyByb3dzOworICAgICAgICBhdHRyaWJ1
dGUgW0NvbnZlcnROdWxsVG9OdWxsU3RyaW5nXSBET01TdHJpbmcgY29sczsKKyAgICAgICAgYXR0
cmlidXRlIFtDb252ZXJ0TnVsbFRvTnVsbFN0cmluZ10gRE9NU3RyaW5nIHJvd3M7CiAKICNpZiAh
ZGVmaW5lZChMQU5HVUFHRV9PQkpFQ1RJVkVfQykgfHwgIUxBTkdVQUdFX09CSkVDVElWRV9DCiAg
ICAgICAgIC8vIEV2ZW50IGhhbmRsZXIgYXR0cmlidXRlcwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9o
dG1sL0hUTUxIUkVsZW1lbnQuaWRsIGIvV2ViQ29yZS9odG1sL0hUTUxIUkVsZW1lbnQuaWRsCmlu
ZGV4IDIzYTU3ZGExMGQxYmU0YjA2Y2I4NzcwNTE3YWFkMDE4YzA3NjY4ZWQuLmJiMWZkY2ZlMDFj
OThlYTcxZDA2MjcxNzkwZWIzOTM0YjI1ZjEwNzkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9I
VE1MSFJFbGVtZW50LmlkbAorKysgYi9XZWJDb3JlL2h0bWwvSFRNTEhSRWxlbWVudC5pZGwKQEAg
LTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDA2LCAyMDEwIEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwNiBBcHBsZSBDb21wdXRl
ciwgSW5jLgogICoKICAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJl
ZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhl
IEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCkBAIC0yMCwxMCArMjAsMTAgQEAKIG1vZHVsZSBo
dG1sIHsKIAogICAgIGludGVyZmFjZSBIVE1MSFJFbGVtZW50IDogSFRNTEVsZW1lbnQgewotICAg
ICAgICBhdHRyaWJ1dGUgW1JlZmxlY3RdIERPTVN0cmluZyBhbGlnbjsKLSAgICAgICAgYXR0cmli
dXRlIFtSZWZsZWN0XSBib29sZWFuIG5vU2hhZGU7Ci0gICAgICAgIGF0dHJpYnV0ZSBbUmVmbGVj
dF0gRE9NU3RyaW5nIHNpemU7Ci0gICAgICAgIGF0dHJpYnV0ZSBbUmVmbGVjdF0gRE9NU3RyaW5n
IHdpZHRoOworICAgICAgICBhdHRyaWJ1dGUgW0NvbnZlcnROdWxsVG9OdWxsU3RyaW5nXSBET01T
dHJpbmcgYWxpZ247CisgICAgICAgIGF0dHJpYnV0ZSBib29sZWFuIG5vU2hhZGU7CisgICAgICAg
IGF0dHJpYnV0ZSBbQ29udmVydE51bGxUb051bGxTdHJpbmddIERPTVN0cmluZyBzaXplOworICAg
ICAgICBhdHRyaWJ1dGUgW0NvbnZlcnROdWxsVG9OdWxsU3RyaW5nXSBET01TdHJpbmcgd2lkdGg7
CiAgICAgfTsKIAogfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0hUTUxIZWFkRWxlbWVudC5p
ZGwgYi9XZWJDb3JlL2h0bWwvSFRNTEhlYWRFbGVtZW50LmlkbAppbmRleCA1OWJkYmYwZTdlYjk2
ZTRkZjMxMjhkMWYwMjRlZjc4ZTk3ZWY1N2VhLi44NTU5ZGQzYzkzMGQ4MjNlNGExMjg1Nzg2MjJl
N2FjZDczM2E0MDg0IDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvSFRNTEhlYWRFbGVtZW50Lmlk
bAorKysgYi9XZWJDb3JlL2h0bWwvSFRNTEhlYWRFbGVtZW50LmlkbApAQCAtMSw1ICsxLDUgQEAK
IC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA2IEFwcGxlIENvbXB1dGVyLCBJbmMuCiAgKgog
ICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0
IGFuZC9vcgogICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkg
R2VuZXJhbCBQdWJsaWMKQEAgLTIwLDcgKzIwLDcgQEAKIG1vZHVsZSBodG1sIHsKIAogICAgIGlu
dGVyZmFjZSBIVE1MSGVhZEVsZW1lbnQgOiBIVE1MRWxlbWVudCB7Ci0gICAgICAgIGF0dHJpYnV0
ZSBbUmVmbGVjdF0gRE9NU3RyaW5nIHByb2ZpbGU7CisgICAgICAgIGF0dHJpYnV0ZSAgW0NvbnZl
cnROdWxsVG9OdWxsU3RyaW5nXSBET01TdHJpbmcgICAgICAgICAgICBwcm9maWxlOwogICAgIH07
CiAKIH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9IVE1MSGVhZGluZ0VsZW1lbnQuaWRsIGIv
V2ViQ29yZS9odG1sL0hUTUxIZWFkaW5nRWxlbWVudC5pZGwKaW5kZXggZTQxOWMxYzdkYWEwMjk2
ODQ1YmQ3MGU5ZTc3ODVkMzRhOWNmYTE5OC4uNDg2YTViZDY5NTlkY2JlYTk1Yjg3NTcxOWI5NWFh
MjdmMGNhNmRlNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0hUTUxIZWFkaW5nRWxlbWVudC5p
ZGwKKysrIGIvV2ViQ29yZS9odG1sL0hUTUxIZWFkaW5nRWxlbWVudC5pZGwKQEAgLTEsNSArMSw1
IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDA2LCAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwNiBBcHBsZSBDb21wdXRlciwgSW5jLgog
ICoKICAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0
ZSBpdCBhbmQvb3IKICAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJy
YXJ5IEdlbmVyYWwgUHVibGljCkBAIC0yMCw3ICsyMCw3IEBACiBtb2R1bGUgaHRtbCB7CiAKICAg
ICBpbnRlcmZhY2UgSFRNTEhlYWRpbmdFbGVtZW50IDogSFRNTEVsZW1lbnQgewotICAgICAgICBh
dHRyaWJ1dGUgW1JlZmxlY3RdIERPTVN0cmluZyBhbGlnbjsKKyAgICAgICAgYXR0cmlidXRlIFtD
b252ZXJ0TnVsbFRvTnVsbFN0cmluZ10gRE9NU3RyaW5nIGFsaWduOwogICAgIH07CiAKIH0KZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9IVE1MSHRtbEVsZW1lbnQuaWRsIGIvV2ViQ29yZS9odG1s
L0hUTUxIdG1sRWxlbWVudC5pZGwKaW5kZXggNDJiYTg2MTBkNDliN2JkNWViNGU3YTQ5YjU4OWQ5
M2RjOTJlZDgwZi4uOWNlZTAwMGQwNGZmMDUxNDM2NGY0ZTllZDcxZDYzMTdhNzdkNDQ5ZCAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9odG1sL0hUTUxIdG1sRWxlbWVudC5pZGwKKysrIGIvV2ViQ29yZS9o
dG1sL0hUTUxIdG1sRWxlbWVudC5pZGwKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0
IChDKSAyMDA2LCAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHly
aWdodCAoQykgMjAwNiBBcHBsZSBDb21wdXRlciwgSW5jLgogICoKICAqIFRoaXMgbGlicmFyeSBp
cyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICAqIG1vZGlm
eSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCkBA
IC0yMCw3ICsyMCw5IEBACiBtb2R1bGUgaHRtbCB7CiAKICAgICBpbnRlcmZhY2UgSFRNTEh0bWxF
bGVtZW50IDogSFRNTEVsZW1lbnQgewotICAgICAgICBhdHRyaWJ1dGUgW1JlZmxlY3RdIERPTVN0
cmluZyB2ZXJzaW9uOworCisgICAgICAgIGF0dHJpYnV0ZSBbQ29udmVydE51bGxUb051bGxTdHJp
bmddIERPTVN0cmluZyB2ZXJzaW9uOworCiAgICAgfTsKIAogfQpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9odG1sL0hUTUxJRnJhbWVFbGVtZW50LmlkbCBiL1dlYkNvcmUvaHRtbC9IVE1MSUZyYW1lRWxl
bWVudC5pZGwKaW5kZXggODZhYmFmNTdkNGFhM2IxNjE3N2I0OGE1NDg1MDYyYjljYzUwYTY0My4u
ZTFhZWQwMzg3NjQ5ODAwMGYwODk5Y2JmY2Q4NGQ3ZjZkZWIyNzQ4YiAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9odG1sL0hUTUxJRnJhbWVFbGVtZW50LmlkbAorKysgYi9XZWJDb3JlL2h0bWwvSFRNTElG
cmFtZUVsZW1lbnQuaWRsCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAw
NiwgMjAwNywgMjAwOSwgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBD
b3B5cmlnaHQgKEMpIDIwMDYsIDIwMDcsIDIwMDkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgogICogQ29weXJpZ2h0IChDKSAyMDA2IFNhbXVlbCBXZWluaWcgPHNhbS53ZWluaWdAZ21h
aWwuY29tPgogICoKICAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJl
ZGlzdHJpYnV0ZSBpdCBhbmQvb3IKQEAgLTIxLDIwICsyMSwyMSBAQAogbW9kdWxlIGh0bWwgewog
CiAgICAgaW50ZXJmYWNlIEhUTUxJRnJhbWVFbGVtZW50IDogSFRNTEVsZW1lbnQgewotICAgICAg
ICBhdHRyaWJ1dGUgW1JlZmxlY3RdIERPTVN0cmluZyBhbGlnbjsKLSAgICAgICAgYXR0cmlidXRl
IFtSZWZsZWN0XSBET01TdHJpbmcgZnJhbWVCb3JkZXI7Ci0gICAgICAgIGF0dHJpYnV0ZSBbUmVm
bGVjdF0gRE9NU3RyaW5nIGhlaWdodDsKLSAgICAgICAgYXR0cmlidXRlIFtSZWZsZWN0XSBET01T
dHJpbmcgbG9uZ0Rlc2M7Ci0gICAgICAgIGF0dHJpYnV0ZSBbUmVmbGVjdF0gRE9NU3RyaW5nIG1h
cmdpbkhlaWdodDsKLSAgICAgICAgYXR0cmlidXRlIFtSZWZsZWN0XSBET01TdHJpbmcgbWFyZ2lu
V2lkdGg7Ci0gICAgICAgIGF0dHJpYnV0ZSBbUmVmbGVjdF0gRE9NU3RyaW5nIG5hbWU7Ci0gICAg
ICAgIGF0dHJpYnV0ZSBbUmVmbGVjdF0gRE9NU3RyaW5nIHNhbmRib3g7Ci0gICAgICAgIGF0dHJp
YnV0ZSBbUmVmbGVjdF0gRE9NU3RyaW5nIHNjcm9sbGluZzsKLSAgICAgICAgYXR0cmlidXRlIFtD
dXN0b21TZXR0ZXIsIFJlZmxlY3RdIERPTVN0cmluZyBzcmM7Ci0gICAgICAgIGF0dHJpYnV0ZSBb
UmVmbGVjdF0gRE9NU3RyaW5nIHdpZHRoOworCisgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBb
Q29udmVydE51bGxUb051bGxTdHJpbmcsIFJlZmxlY3RdIERPTVN0cmluZyAgICAgICBhbGlnbjsK
KyAgICAgICAgICAgICAgICAgYXR0cmlidXRlIFtDb252ZXJ0TnVsbFRvTnVsbFN0cmluZywgUmVm
bGVjdD1mcmFtZWJvcmRlcl0gRE9NU3RyaW5nICAgICAgIGZyYW1lQm9yZGVyOworICAgICAgICAg
ICAgICAgICBhdHRyaWJ1dGUgW0NvbnZlcnROdWxsVG9OdWxsU3RyaW5nLCBSZWZsZWN0XSBET01T
dHJpbmcgICAgICAgaGVpZ2h0OworICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgW0NvbnZlcnRO
dWxsVG9OdWxsU3RyaW5nLCBSZWZsZWN0PWxvbmdkZXNjXSBET01TdHJpbmcgICAgICAgbG9uZ0Rl
c2M7CisgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBbQ29udmVydE51bGxUb051bGxTdHJpbmcs
IFJlZmxlY3Q9bWFyZ2luaGVpZ2h0XSBET01TdHJpbmcgICAgICAgbWFyZ2luSGVpZ2h0OworICAg
ICAgICAgICAgICAgICBhdHRyaWJ1dGUgW0NvbnZlcnROdWxsVG9OdWxsU3RyaW5nLCBSZWZsZWN0
PW1hcmdpbndpZHRoXSBET01TdHJpbmcgICAgICAgbWFyZ2luV2lkdGg7CisgICAgICAgICAgICAg
ICAgIGF0dHJpYnV0ZSBbQ29udmVydE51bGxUb051bGxTdHJpbmcsIFJlZmxlY3RdIERPTVN0cmlu
ZyAgICAgICBuYW1lOworICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgW0NvbnZlcnROdWxsVG9O
dWxsU3RyaW5nLCBSZWZsZWN0XSBET01TdHJpbmcgICAgICAgc2FuZGJveDsKKyAgICAgICAgICAg
ICAgICAgYXR0cmlidXRlIFtDb252ZXJ0TnVsbFRvTnVsbFN0cmluZywgUmVmbGVjdF0gRE9NU3Ry
aW5nICAgICAgIHNjcm9sbGluZzsKKyAgICAgICAgICAgICAgICAgYXR0cmlidXRlIFtDb252ZXJ0
TnVsbFRvTnVsbFN0cmluZywgQ3VzdG9tU2V0dGVyLCBSZWZsZWN0XSBET01TdHJpbmcgICAgICAg
c3JjOworICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgW0NvbnZlcnROdWxsVG9OdWxsU3RyaW5n
LCBSZWZsZWN0XSBET01TdHJpbmcgICAgICAgd2lkdGg7CiAKICAgICAgICAgLy8gSW50cm9kdWNl
ZCBpbiBET00gTGV2ZWwgMjoKLSAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFtDaGVja0ZyYW1l
U2VjdXJpdHldIERvY3VtZW50IGNvbnRlbnREb2N1bWVudDsKKyAgICAgICAgcmVhZG9ubHkgYXR0
cmlidXRlIFtDaGVja0ZyYW1lU2VjdXJpdHldIERvY3VtZW50ICAgICAgICBjb250ZW50RG9jdW1l
bnQ7CiAKICAgICAgICAgLy8gRXh0ZW5zaW9ucwogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUg
RE9NV2luZG93IGNvbnRlbnRXaW5kb3c7CkBAIC00NSw2ICs0Niw3IEBAIG1vZHVsZSBodG1sIHsK
ICAgICAgICAgICAgIHJhaXNlcyhET01FeGNlcHRpb24pOwogI2VuZGlmCiAjZW5kaWYKKwogICAg
IH07CiAKIH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmlkbCBi
L1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmlkbAppbmRleCBjYjc1MzZlYjVlM2UwYWNk
NjFkNzEyYjI2YjRhOWY4YTg4N2RlYTY4Li5hNWE0NjhlZWM4ZTU5OWYwY2U4OTM5NTk3NjlhNDUw
MzAxYTUzYTNmIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxlbWVudC5pZGwK
KysrIGIvV2ViQ29yZS9odG1sL0hUTUxJbWFnZUVsZW1lbnQuaWRsCkBAIC0xLDUgKzEsNSBAQAog
LyoKLSAqIENvcHlyaWdodCAoQykgMjAwNiwgMjAwOSwgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMDkgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgogICogQ29weXJpZ2h0IChDKSAyMDA2IFNhbXVlbCBXZWluaWcgPHNh
bS53ZWluaWdAZ21haWwuY29tPgogICoKICAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJl
OyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKQEAgLTIzLDIyICsyMywyMiBAQCBtb2R1
bGUgaHRtbCB7CiAgICAgaW50ZXJmYWNlIFsKICAgICAgICAgR2VuZXJhdGVOYXRpdmVDb252ZXJ0
ZXIKICAgICBdIEhUTUxJbWFnZUVsZW1lbnQgOiBIVE1MRWxlbWVudCB7Ci0gICAgICAgIGF0dHJp
YnV0ZSBbUmVmbGVjdF0gRE9NU3RyaW5nIG5hbWU7Ci0gICAgICAgIGF0dHJpYnV0ZSBbUmVmbGVj
dF0gRE9NU3RyaW5nIGFsaWduOwotICAgICAgICBhdHRyaWJ1dGUgW1JlZmxlY3RdIERPTVN0cmlu
ZyBhbHQ7Ci0gICAgICAgIGF0dHJpYnV0ZSBbUmVmbGVjdF0gRE9NU3RyaW5nIGJvcmRlcjsgICAg
ICAgIAotICAgICAgICBhdHRyaWJ1dGUgW1JlZmxlY3RdIGxvbmcgaGVpZ2h0OwotICAgICAgICBh
dHRyaWJ1dGUgW1JlZmxlY3RdIGxvbmcgaHNwYWNlOwotICAgICAgICBhdHRyaWJ1dGUgW1JlZmxl
Y3RdIGJvb2xlYW4gaXNNYXA7Ci0gICAgICAgIGF0dHJpYnV0ZSBbUmVmbGVjdFVSTD1sb25nZGVz
Y10gRE9NU3RyaW5nIGxvbmdEZXNjOwotICAgICAgICBhdHRyaWJ1dGUgW1JlZmxlY3RVUkxdIERP
TVN0cmluZyBzcmM7Ci0gICAgICAgIGF0dHJpYnV0ZSBbUmVmbGVjdF0gRE9NU3RyaW5nIHVzZU1h
cDsKLSAgICAgICAgYXR0cmlidXRlIFtSZWZsZWN0XSBsb25nIHZzcGFjZTsKLSAgICAgICAgYXR0
cmlidXRlIFtSZWZsZWN0XSBsb25nIHdpZHRoOworICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUg
W0NvbnZlcnROdWxsVG9OdWxsU3RyaW5nLCBSZWZsZWN0XSBET01TdHJpbmcgbmFtZTsKKyAgICAg
ICAgICAgICAgICAgYXR0cmlidXRlIFtDb252ZXJ0TnVsbFRvTnVsbFN0cmluZywgUmVmbGVjdF0g
RE9NU3RyaW5nIGFsaWduOworICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgW0NvbnZlcnROdWxs
VG9OdWxsU3RyaW5nLCBSZWZsZWN0XSBET01TdHJpbmcgYWx0OworICAgICAgICAgICAgICAgICBh
dHRyaWJ1dGUgW0NvbnZlcnROdWxsVG9OdWxsU3RyaW5nLCBSZWZsZWN0XSBET01TdHJpbmcgYm9y
ZGVyOyAgICAgICAgCisgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBsb25nIGhlaWdodDsKKyAg
ICAgICAgICAgICAgICAgYXR0cmlidXRlIGxvbmcgaHNwYWNlOworICAgICAgICAgICAgICAgICBh
dHRyaWJ1dGUgYm9vbGVhbiBpc01hcDsKKyAgICAgICAgICAgICAgICAgYXR0cmlidXRlIFtDb252
ZXJ0TnVsbFRvTnVsbFN0cmluZywgUmVmbGVjdFVSTD1sb25nZGVzY10gRE9NU3RyaW5nIGxvbmdE
ZXNjOworICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgW0NvbnZlcnROdWxsVG9OdWxsU3RyaW5n
LCBSZWZsZWN0VVJMXSBET01TdHJpbmcgc3JjOworICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUg
W0NvbnZlcnROdWxsVG9OdWxsU3RyaW5nLCBSZWZsZWN0PXVzZW1hcF0gRE9NU3RyaW5nIHVzZU1h
cDsKKyAgICAgICAgICAgICAgICAgYXR0cmlidXRlIGxvbmcgdnNwYWNlOworICAgICAgICAgICAg
ICAgICBhdHRyaWJ1dGUgbG9uZyB3aWR0aDsKICAgICAgICAgCiAgICAgICAgIC8vIEV4dGVuc2lv
bnMKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gY29tcGxldGU7Ci0gICAgICAg
IGF0dHJpYnV0ZSBbUmVmbGVjdFVSTF0gRE9NU3RyaW5nIGxvd3NyYzsKKyAgICAgICAgICAgICAg
ICAgYXR0cmlidXRlIFtDb252ZXJ0TnVsbFRvTnVsbFN0cmluZywgUmVmbGVjdFVSTF0gRE9NU3Ry
aW5nIGxvd3NyYzsKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGxvbmcgbmF0dXJhbEhlaWdo
dDsKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGxvbmcgbmF0dXJhbFdpZHRoOwogICAgICAg
ICByZWFkb25seSBhdHRyaWJ1dGUgbG9uZyB4OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0hU
TUxJbnB1dEVsZW1lbnQuaWRsIGIvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaWRsCmlu
ZGV4IDliNmJiYmY0NDRjYmUxOGQ1NDFlMTdlNGY5Y2I1NzhjYWI5MTA0YjYuLjIzN2Q0YzNlNGQy
NWZjY2JkNjkxMzI1OTUyOGI0MDAzYmVkNGNjNmQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9I
VE1MSW5wdXRFbGVtZW50LmlkbAorKysgYi9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5p
ZGwKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDA2LCAyMDEwIEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwNiBBcHBsZSBD
b21wdXRlciwgSW5jLgogICogQ29weXJpZ2h0IChDKSAyMDA2IFNhbXVlbCBXZWluaWcgPHNhbS53
ZWluaWdAZ21haWwuY29tPgogICoKICAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5
b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKQEAgLTIxLDgwICsyMSw4MyBAQAogbW9kdWxl
IGh0bWwgewogCiAgICAgaW50ZXJmYWNlIEhUTUxJbnB1dEVsZW1lbnQgOiBIVE1MRWxlbWVudCB7
Ci0gICAgICAgIGF0dHJpYnV0ZSBbQ29udmVydE51bGxUb051bGxTdHJpbmddIERPTVN0cmluZyBk
ZWZhdWx0VmFsdWU7Ci0gICAgICAgIGF0dHJpYnV0ZSBbUmVmbGVjdD1jaGVja2VkXSBib29sZWFu
IGRlZmF1bHRDaGVja2VkOworICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgW0NvbnZlcnROdWxs
VG9OdWxsU3RyaW5nXSBET01TdHJpbmcgZGVmYXVsdFZhbHVlOworICAgICAgICAgICAgICAgICBh
dHRyaWJ1dGUgYm9vbGVhbiAgICAgICAgIGRlZmF1bHRDaGVja2VkOwogICAgICAgICByZWFkb25s
eSBhdHRyaWJ1dGUgSFRNTEZvcm1FbGVtZW50IGZvcm07Ci0gICAgICAgIGF0dHJpYnV0ZSBbUmVm
bGVjdF0gYm9vbGVhbiBmb3JtTm9WYWxpZGF0ZTsKLSAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRl
IFZhbGlkaXR5U3RhdGUgdmFsaWRpdHk7Ci0gICAgICAgIGF0dHJpYnV0ZSBbUmVmbGVjdF0gRE9N
U3RyaW5nIGFjY2VwdDsKLSAgICAgICAgYXR0cmlidXRlIFtSZWZsZWN0XSBET01TdHJpbmcgYWNj
ZXNzS2V5OwotICAgICAgICBhdHRyaWJ1dGUgW1JlZmxlY3RdIERPTVN0cmluZyBhbGlnbjsKLSAg
ICAgICAgYXR0cmlidXRlIFtSZWZsZWN0XSBET01TdHJpbmcgYWx0OwotICAgICAgICBhdHRyaWJ1
dGUgYm9vbGVhbiBjaGVja2VkOwotICAgICAgICBhdHRyaWJ1dGUgW1JlZmxlY3RdIGJvb2xlYW4g
ZGlzYWJsZWQ7Ci0gICAgICAgIGF0dHJpYnV0ZSBbUmVmbGVjdF0gYm9vbGVhbiBhdXRvZm9jdXM7
CisgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBib29sZWFuICAgICAgICAgZm9ybU5vVmFsaWRh
dGU7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBWYWxpZGl0eVN0YXRlICAgdmFsaWRpdHk7
CisgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBbQ29udmVydE51bGxUb051bGxTdHJpbmddIERP
TVN0cmluZyBhY2NlcHQ7CisgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBbQ29udmVydE51bGxU
b051bGxTdHJpbmddIERPTVN0cmluZyBhY2Nlc3NLZXk7CisgICAgICAgICAgICAgICAgIGF0dHJp
YnV0ZSBbQ29udmVydE51bGxUb051bGxTdHJpbmddIERPTVN0cmluZyBhbGlnbjsKKyAgICAgICAg
ICAgICAgICAgYXR0cmlidXRlIFtDb252ZXJ0TnVsbFRvTnVsbFN0cmluZ10gRE9NU3RyaW5nIGFs
dDsKKyAgICAgICAgICAgICAgICAgYXR0cmlidXRlIGJvb2xlYW4gICAgICAgICBjaGVja2VkOwor
ICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgYm9vbGVhbiAgICAgICAgIGRpc2FibGVkOworICAg
ICAgICAgICAgICAgICBhdHRyaWJ1dGUgYm9vbGVhbiAgICAgICAgIGF1dG9mb2N1czsKICNpZiBk
ZWZpbmVkKEVOQUJMRV9EQVRBTElTVCkgJiYgRU5BQkxFX0RBVEFMSVNUCiAgICAgICAgIHJlYWRv
bmx5IGF0dHJpYnV0ZSBIVE1MRWxlbWVudCAgICAgbGlzdDsKICNlbmRpZgotICAgICAgICBhdHRy
aWJ1dGUgW1JlZmxlY3RdIERPTVN0cmluZyBtYXg7Ci0gICAgICAgIGF0dHJpYnV0ZSBsb25nIG1h
eExlbmd0aCBzZXR0ZXIgcmFpc2VzKERPTUV4Y2VwdGlvbik7Ci0gICAgICAgIGF0dHJpYnV0ZSBb
UmVmbGVjdF0gRE9NU3RyaW5nIG1pbjsKLSAgICAgICAgYXR0cmlidXRlIFtSZWZsZWN0XSBib29s
ZWFuIG11bHRpcGxlOwotICAgICAgICBhdHRyaWJ1dGUgW1JlZmxlY3RdIERPTVN0cmluZyBuYW1l
OwotICAgICAgICBhdHRyaWJ1dGUgW1JlZmxlY3RdIERPTVN0cmluZyBwYXR0ZXJuOwotICAgICAg
ICBhdHRyaWJ1dGUgW1JlZmxlY3RdIERPTVN0cmluZyBwbGFjZWhvbGRlcjsKLSAgICAgICAgYXR0
cmlidXRlIFtSZWZsZWN0XSBib29sZWFuIHJlYWRPbmx5OwotICAgICAgICBhdHRyaWJ1dGUgW1Jl
ZmxlY3RdIGJvb2xlYW4gcmVxdWlyZWQ7CisgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBbQ29u
dmVydE51bGxUb051bGxTdHJpbmcsIFJlZmxlY3RdIERPTVN0cmluZyBtYXg7CisgICAgICAgICAg
ICAgICAgIGF0dHJpYnV0ZSBsb25nICAgICAgICAgICAgbWF4TGVuZ3RoCisgICAgICAgICAgICAg
ICAgICAgICBzZXR0ZXIgcmFpc2VzKERPTUV4Y2VwdGlvbik7CisgICAgICAgICAgICAgICAgIGF0
dHJpYnV0ZSBbQ29udmVydE51bGxUb051bGxTdHJpbmcsIFJlZmxlY3RdIERPTVN0cmluZyBtaW47
CisgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBib29sZWFuICAgICAgICAgbXVsdGlwbGU7Cisg
ICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBbQ29udmVydE51bGxUb051bGxTdHJpbmddIERPTVN0
cmluZyBuYW1lOworICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgW0NvbnZlcnROdWxsVG9OdWxs
U3RyaW5nLCBSZWZsZWN0XSBET01TdHJpbmcgcGF0dGVybjsKKyAgICAgICAgICAgICAgICAgYXR0
cmlidXRlIERPTVN0cmluZyAgICAgICBwbGFjZWhvbGRlcjsKKyAgICAgICAgICAgICAgICAgYXR0
cmlidXRlIGJvb2xlYW4gICAgICAgICByZWFkT25seTsKKyAgICAgICAgICAgICAgICAgYXR0cmli
dXRlIGJvb2xlYW4gICAgICAgICByZXF1aXJlZDsKICNpZiBkZWZpbmVkKExBTkdVQUdFX09CSkVD
VElWRV9DKSAmJiBMQU5HVUFHRV9PQkpFQ1RJVkVfQwotICAgICAgICBhdHRyaWJ1dGUgW0NvbnZl
cnRUb1N0cmluZ10gRE9NU3RyaW5nIHNpemU7IC8vIERPTSBsZXZlbCAyIGNoYW5nZWQgdGhpcyB0
byBhIGxvbmcsIGJ1dCBvdXIgZXhpc3RpbmcgQVBJIGlzIGEgc3RyaW5nCisgICAgICAgICAgICAg
ICAgIGF0dHJpYnV0ZSBbQ29udmVydFRvU3RyaW5nXSBET01TdHJpbmcgc2l6ZTsgLy8gRE9NIGxl
dmVsIDIgY2hhbmdlZCB0aGlzIHRvIGEgbG9uZywgYnV0IG91ciBleGlzdGluZyBBUEkgaXMgYSBz
dHJpbmcKICNlbHNlCi0gICAgICAgIC8vIEZJWE1FOiBUaGUgc3BlYyBzYXlzIHRoaXMgc2hvdWxk
IGJlIGEgbG9uZywgbm90IGFuIHVuc2lnbmVkIGxvbmcuCi0gICAgICAgIGF0dHJpYnV0ZSB1bnNp
Z25lZCBsb25nIHNpemU7IC8vIENoYW5nZWQgc3RyaW5nIC0+IGxvbmcgYXMgcGFydCBvZiBET00g
bGV2ZWwgMgorICAgICAgICAgICAgICAgICAvLyBGSVhNRTogdGhlIHNwZWMgc2F5cyB0aGlzIHNo
b3VsZCBiZSBhIGxvbmcsIG5vdCBhbiB1bnNpZ25lZCBsb25nCisgICAgICAgICAgICAgICAgIGF0
dHJpYnV0ZSB1bnNpZ25lZCBsb25nICAgc2l6ZTsgLy8gQ2hhbmdlZCBzdHJpbmcgLT4gbG9uZyBh
cyBwYXJ0IG9mIERPTSBsZXZlbCAyCiAjZW5kaWYKLSAgICAgICAgYXR0cmlidXRlIFtSZWZsZWN0
VVJMXSBET01TdHJpbmcgc3JjOwotICAgICAgICBhdHRyaWJ1dGUgW1JlZmxlY3RdIERPTVN0cmlu
ZyBzdGVwOwotICAgICAgICBhdHRyaWJ1dGUgW0NvbnZlcnROdWxsVG9OdWxsU3RyaW5nLCBKU0ND
dXN0b21HZXR0ZXJdIERPTVN0cmluZyB0eXBlOyAvLyByZWFkb25seSBkcm9wcGVkIGFzIHBhcnQg
b2YgRE9NIGxldmVsIDIKLSAgICAgICAgYXR0cmlidXRlIFtSZWZsZWN0XSBET01TdHJpbmcgdXNl
TWFwOwotICAgICAgICBhdHRyaWJ1dGUgW0NvbnZlcnROdWxsVG9OdWxsU3RyaW5nXSBET01TdHJp
bmcgdmFsdWU7CisgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBbQ29udmVydE51bGxUb051bGxT
dHJpbmddIERPTVN0cmluZyBzcmM7CisgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBbQ29udmVy
dE51bGxUb051bGxTdHJpbmcsIFJlZmxlY3RdIERPTVN0cmluZyBzdGVwOworICAgICAgICAgICAg
ICAgICBhdHRyaWJ1dGUgW0NvbnZlcnROdWxsVG9OdWxsU3RyaW5nLCBKU0NDdXN0b21HZXR0ZXJd
IERPTVN0cmluZyB0eXBlOyAvLyByZWFkb25seSBkcm9wcGVkIGFzIHBhcnQgb2YgRE9NIGxldmVs
IDIKKyAgICAgICAgICAgICAgICAgYXR0cmlidXRlIFtDb252ZXJ0TnVsbFRvTnVsbFN0cmluZ10g
RE9NU3RyaW5nIHVzZU1hcDsKKyAgICAgICAgICAgICAgICAgYXR0cmlidXRlIFtDb252ZXJ0TnVs
bFRvTnVsbFN0cmluZ10gRE9NU3RyaW5nIHZhbHVlOwogI2lmICFkZWZpbmVkKExBTkdVQUdFX0NQ
UCkgfHwgIUxBTkdVQUdFX0NQUAotICAgICAgICBhdHRyaWJ1dGUgRGF0ZSB2YWx1ZUFzRGF0ZSBz
ZXR0ZXIgcmFpc2VzKERPTUV4Y2VwdGlvbik7CisgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBE
YXRlICAgICAgICAgICAgdmFsdWVBc0RhdGUgc2V0dGVyIHJhaXNlcyhET01FeGNlcHRpb24pOwog
I2VuZGlmCi0gICAgICAgIGF0dHJpYnV0ZSBkb3VibGUgdmFsdWVBc051bWJlciBzZXR0ZXIgcmFp
c2VzKERPTUV4Y2VwdGlvbik7CisgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBkb3VibGUgICAg
ICAgICAgdmFsdWVBc051bWJlciBzZXR0ZXIgcmFpc2VzKERPTUV4Y2VwdGlvbik7CiAjaWYgZGVm
aW5lZChFTkFCTEVfREFUQUxJU1QpICYmIEVOQUJMRV9EQVRBTElTVAogICAgICAgICByZWFkb25s
eSBhdHRyaWJ1dGUgSFRNTE9wdGlvbkVsZW1lbnQgc2VsZWN0ZWRPcHRpb247CiAjZW5kaWYKIAot
ICAgICAgICB2b2lkIHN0ZXBVcChpbiBbT3B0aW9uYWxdIGxvbmcgbikgcmFpc2VzKERPTUV4Y2Vw
dGlvbik7Ci0gICAgICAgIHZvaWQgc3RlcERvd24oaW4gW09wdGlvbmFsXSBsb25nIG4pIHJhaXNl
cyhET01FeGNlcHRpb24pOworICAgICAgICB2b2lkICAgICAgICAgICAgICAgc3RlcFVwKGluIFtP
cHRpb25hbF0gbG9uZyBuKQorICAgICAgICAgICAgcmFpc2VzKERPTUV4Y2VwdGlvbik7CisgICAg
ICAgIHZvaWQgICAgICAgICAgICAgICBzdGVwRG93bihpbiBbT3B0aW9uYWxdIGxvbmcgbikKKyAg
ICAgICAgICAgIHJhaXNlcyhET01FeGNlcHRpb24pOwogCi0gICAgICAgIHJlYWRvbmx5IGF0dHJp
YnV0ZSBib29sZWFuIHdpbGxWYWxpZGF0ZTsKLSAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERP
TVN0cmluZyB2YWxpZGF0aW9uTWVzc2FnZTsKLSAgICAgICAgYm9vbGVhbiBjaGVja1ZhbGlkaXR5
KCk7Ci0gICAgICAgIHZvaWQgc2V0Q3VzdG9tVmFsaWRpdHkoaW4gW0NvbnZlcnRVbmRlZmluZWRP
ck51bGxUb051bGxTdHJpbmddIERPTVN0cmluZyBlcnJvcik7Ci0gICAgICAgIHZvaWQgc2VsZWN0
KCk7Ci0gICAgICAgIHZvaWQgY2xpY2soKTsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGJv
b2xlYW4gICAgICAgICB3aWxsVmFsaWRhdGU7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBE
T01TdHJpbmcgICAgICAgdmFsaWRhdGlvbk1lc3NhZ2U7CisgICAgICAgIGJvb2xlYW4gICAgICAg
ICAgICBjaGVja1ZhbGlkaXR5KCk7CisgICAgICAgIHZvaWQgICAgICAgICAgICAgICBzZXRDdXN0
b21WYWxpZGl0eShpbiBbQ29udmVydFVuZGVmaW5lZE9yTnVsbFRvTnVsbFN0cmluZ10gRE9NU3Ry
aW5nIGVycm9yKTsKKyAgICAgICAgdm9pZCAgICAgICAgICAgICAgIHNlbGVjdCgpOworICAgICAg
ICB2b2lkICAgICAgICAgICAgICAgY2xpY2soKTsKIAogI2lmICFkZWZpbmVkKExBTkdVQUdFX0pB
VkFTQ1JJUFQpIHx8ICFMQU5HVUFHRV9KQVZBU0NSSVBUCi0gICAgICAgIHZvaWQgc2V0VmFsdWVG
b3JVc2VyKGluIFtDb252ZXJ0TnVsbFRvTnVsbFN0cmluZ10gRE9NU3RyaW5nIHZhbHVlKTsKKyAg
ICAgICAgdm9pZCAgICAgICAgICAgICAgIHNldFZhbHVlRm9yVXNlcihpbiBbQ29udmVydE51bGxU
b051bGxTdHJpbmddIERPTVN0cmluZyB2YWx1ZSk7CiAjZW5kaWYKIAogICAgICAgICAvLyBXaW5J
RSBleHRlbnNpb246Ci0gICAgICAgIGF0dHJpYnV0ZSBib29sZWFuIGluZGV0ZXJtaW5hdGU7Cisg
ICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBib29sZWFuICAgICAgICAgaW5kZXRlcm1pbmF0ZTsK
IAogICAgICAgICAvLyBXaW5JRSAmIEZpcmVGb3ggZXh0ZW5zaW9uOgogCi0gICAgICAgIGF0dHJp
YnV0ZSBbQ3VzdG9tXSBsb25nIHNlbGVjdGlvblN0YXJ0OwotICAgICAgICBhdHRyaWJ1dGUgW0N1
c3RvbV0gbG9uZyBzZWxlY3Rpb25FbmQ7CisgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBbQ3Vz
dG9tXSBsb25nIHNlbGVjdGlvblN0YXJ0OworICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgW0N1
c3RvbV0gbG9uZyBzZWxlY3Rpb25FbmQ7CiAgICAgICAgIFtDdXN0b21dIHZvaWQgc2V0U2VsZWN0
aW9uUmFuZ2UoaW4gbG9uZyBzdGFydCwgaW4gbG9uZyBlbmQpOwogCiAjaWYgZGVmaW5lZChMQU5H
VUFHRV9PQkpFQ1RJVkVfQykKICAgICAgICAgLy8gT2JqZWN0aXZlLUMgZXh0ZW5zaW9uOgotICAg
ICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGFsdERpc3BsYXlTdHJpbmc7Ci0gICAg
ICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBVUkwgYWJzb2x1dGVJbWFnZVVSTDsKKyAgICAgICAgcmVh
ZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyAgICAgICBhbHREaXNwbGF5U3RyaW5nOworICAgICAg
ICByZWFkb25seSBhdHRyaWJ1dGUgVVJMICAgICAgICAgICAgIGFic29sdXRlSW1hZ2VVUkw7CiAj
ZW5kaWYKIAogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgRmlsZUxpc3QgZmlsZXM7Ci0gICAg
ICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBOb2RlTGlzdCBsYWJlbHM7CisgICAgICAgIHJlYWRvbmx5
IGF0dHJpYnV0ZSAgTm9kZUxpc3QgICAgICAgbGFiZWxzOwogICAgIH07CiAKIH0KZGlmZiAtLWdp
dCBhL1dlYkNvcmUvaHRtbC9IVE1MSXNJbmRleEVsZW1lbnQuaWRsIGIvV2ViQ29yZS9odG1sL0hU
TUxJc0luZGV4RWxlbWVudC5pZGwKaW5kZXggMDI4YTE4MDBhMzkyNGY1OTU2M2YyYmQ3YjUwODc1
MDRjNjFjMDFiYS4uZDk2OGZhNzFhYzYwODQyZDE4ODcxNTBkYTNjYzdhODc2YTJmZDgwMSAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9odG1sL0hUTUxJc0luZGV4RWxlbWVudC5pZGwKKysrIGIvV2ViQ29y
ZS9odG1sL0hUTUxJc0luZGV4RWxlbWVudC5pZGwKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29w
eXJpZ2h0IChDKSAyMDA2LCAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
IENvcHlyaWdodCAoQykgMjAwNiBBcHBsZSBDb21wdXRlciwgSW5jLgogICoKICAqIFRoaXMgbGli
cmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICAq
IG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVi
bGljCkBAIC0yMSw3ICsyMSw3IEBAIG1vZHVsZSBodG1sIHsKIAogICAgIGludGVyZmFjZSBIVE1M
SXNJbmRleEVsZW1lbnQgOiBIVE1MSW5wdXRFbGVtZW50IHsKICAgICAgICAgcmVhZG9ubHkgYXR0
cmlidXRlIEhUTUxGb3JtRWxlbWVudCBmb3JtOwotICAgICAgICBhdHRyaWJ1dGUgW1JlZmxlY3Rd
IERPTVN0cmluZyBwcm9tcHQ7CisgICAgICAgIGF0dHJpYnV0ZSBbQ29udmVydE51bGxUb051bGxT
dHJpbmddIERPTVN0cmluZyBwcm9tcHQ7CiAgICAgfTsKIAogfQpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9odG1sL0hUTUxMSUVsZW1lbnQuaWRsIGIvV2ViQ29yZS9odG1sL0hUTUxMSUVsZW1lbnQuaWRs
CmluZGV4IDJkYzU0MWIxOGIzNDJjNDgxY2Q1NzgyMDg0NTczYWMzZmI2NjhiY2IuLjk0NmVjMTg1
MTlmMzBiNzVjOTIyOGZjZDljNDlkODlhZTBkOGMxZTkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRt
bC9IVE1MTElFbGVtZW50LmlkbAorKysgYi9XZWJDb3JlL2h0bWwvSFRNTExJRWxlbWVudC5pZGwK
QEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDA2LCAyMDEwIEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwNiBBcHBsZSBDb21w
dXRlciwgSW5jLgogICoKICAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2Fu
IHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2Yg
dGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCkBAIC0yMCw4ICsyMCw4IEBACiBtb2R1bGUg
aHRtbCB7CiAKICAgICBpbnRlcmZhY2UgSFRNTExJRWxlbWVudCA6IEhUTUxFbGVtZW50IHsKLSAg
ICAgICAgYXR0cmlidXRlIFtSZWZsZWN0XSBET01TdHJpbmcgdHlwZTsKLSAgICAgICAgYXR0cmli
dXRlIFtSZWZsZWN0XSBsb25nIHZhbHVlOyAgICAKKyAgICAgICAgYXR0cmlidXRlIFtDb252ZXJ0
TnVsbFRvTnVsbFN0cmluZ10gRE9NU3RyaW5nIHR5cGU7CisgICAgICAgIGF0dHJpYnV0ZSBsb25n
IHZhbHVlOyAgICAKICAgICB9OwogCiB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvSFRNTExh
YmVsRWxlbWVudC5pZGwgYi9XZWJDb3JlL2h0bWwvSFRNTExhYmVsRWxlbWVudC5pZGwKaW5kZXgg
Yzk0NmJjNDBlOTYzYWQ4Mzk0ZjA0ZWRmY2IyZTZiZWY3MDI5YjMwMi4uZGRkYzg5YzI4Yjc3MTEy
YzljYmQ2MzcxODU2NjJlNTkxN2M0MzFjNyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0hUTUxM
YWJlbEVsZW1lbnQuaWRsCisrKyBiL1dlYkNvcmUvaHRtbC9IVE1MTGFiZWxFbGVtZW50LmlkbApA
QCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMTAgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA2IEFwcGxlIENvbXB1
dGVyLCBJbmMuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDYgU2FtdWVsIFdlaW5pZyA8c2FtLndlaW5p
Z0BnbWFpbC5jb20+CiAgKgogICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBj
YW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgpAQCAtMjIsOCArMjIsOCBAQCBtb2R1bGUgaHRtbCB7
CiAKICAgICBpbnRlcmZhY2UgSFRNTExhYmVsRWxlbWVudCA6IEhUTUxFbGVtZW50IHsKICAgICAg
ICAgcmVhZG9ubHkgYXR0cmlidXRlIEhUTUxGb3JtRWxlbWVudCBmb3JtOwotICAgICAgICBhdHRy
aWJ1dGUgW1JlZmxlY3RdIERPTVN0cmluZyBhY2Nlc3NLZXk7Ci0gICAgICAgIGF0dHJpYnV0ZSBb
UmVmbGVjdD1mb3JdIERPTVN0cmluZyBodG1sRm9yOworICAgICAgICBhdHRyaWJ1dGUgW0NvbnZl
cnROdWxsVG9OdWxsU3RyaW5nXSBET01TdHJpbmcgYWNjZXNzS2V5OworICAgICAgICBhdHRyaWJ1
dGUgW0NvbnZlcnROdWxsVG9OdWxsU3RyaW5nXSBET01TdHJpbmcgaHRtbEZvcjsKICAgICAgICAg
cmVhZG9ubHkgYXR0cmlidXRlIEhUTUxFbGVtZW50IGNvbnRyb2w7CiAgICAgfTsKIApkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9odG1sL0hUTUxMZWdlbmRFbGVtZW50LmlkbCBiL1dlYkNvcmUvaHRtbC9I
VE1MTGVnZW5kRWxlbWVudC5pZGwKaW5kZXggNzUwZjMyYTRjMWYyYmJhMTMwMWJkZGNlZThkMzZk
OTM5MzFjODNiNC4uZWUyMWU0YzQwMzk1ZDQ3NDA1MGJkMWYxMmFjZTMzZGFiNjA1MGU2ZiAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9odG1sL0hUTUxMZWdlbmRFbGVtZW50LmlkbAorKysgYi9XZWJDb3Jl
L2h0bWwvSFRNTExlZ2VuZEVsZW1lbnQuaWRsCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHly
aWdodCAoQykgMjAwNiwgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBD
b3B5cmlnaHQgKEMpIDIwMDYgQXBwbGUgQ29tcHV0ZXIsIEluYy4KICAqIENvcHlyaWdodCAoQykg
MjAwNiBTYW11ZWwgV2VpbmlnIDxzYW0ud2VpbmlnQGdtYWlsLmNvbT4KICAqCiAgKiBUaGlzIGxp
YnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCkBA
IC0yMiw4ICsyMiw4IEBAIG1vZHVsZSBodG1sIHsKIAogICAgIGludGVyZmFjZSBIVE1MTGVnZW5k
RWxlbWVudCA6IEhUTUxFbGVtZW50IHsKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIEhUTUxG
b3JtRWxlbWVudCBmb3JtOwotICAgICAgICBhdHRyaWJ1dGUgW1JlZmxlY3RdIERPTVN0cmluZyBh
Y2Nlc3NLZXk7Ci0gICAgICAgIGF0dHJpYnV0ZSBbUmVmbGVjdF0gRE9NU3RyaW5nIGFsaWduOwor
ICAgICAgICBhdHRyaWJ1dGUgW0NvbnZlcnROdWxsVG9OdWxsU3RyaW5nXSBET01TdHJpbmcgYWNj
ZXNzS2V5OworICAgICAgICBhdHRyaWJ1dGUgW0NvbnZlcnROdWxsVG9OdWxsU3RyaW5nXSBET01T
dHJpbmcgYWxpZ247CiAgICAgfTsKIAogfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0hUTUxM
aW5rRWxlbWVudC5pZGwgYi9XZWJDb3JlL2h0bWwvSFRNTExpbmtFbGVtZW50LmlkbAppbmRleCBh
N2U3ZDMyOTI5Zjg4NWVhOGViM2Q4ODYzNmE3NGZjYWVhM2NkMmFmLi5kYzcwMGRmZjJiM2UxYzk1
YjJmZWIwY2VjNTQzY2Y4OWY2YjM4NjZjIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvSFRNTExp
bmtFbGVtZW50LmlkbAorKysgYi9XZWJDb3JlL2h0bWwvSFRNTExpbmtFbGVtZW50LmlkbApAQCAt
MSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMTAgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA2IEFwcGxlIENvbXB1dGVy
LCBJbmMuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDYgU2FtdWVsIFdlaW5pZyA8c2FtLndlaW5pZ0Bn
bWFpbC5jb20+CiAgKgogICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4g
cmVkaXN0cmlidXRlIGl0IGFuZC9vcgpAQCAtMjEsMTggKzIxLDE4IEBACiBtb2R1bGUgaHRtbCB7
CiAKICAgICBpbnRlcmZhY2UgSFRNTExpbmtFbGVtZW50IDogSFRNTEVsZW1lbnQgewotICAgICAg
ICBhdHRyaWJ1dGUgW1JlZmxlY3RdIGJvb2xlYW4gZGlzYWJsZWQ7Ci0gICAgICAgIGF0dHJpYnV0
ZSBbUmVmbGVjdF0gRE9NU3RyaW5nIGNoYXJzZXQ7Ci0gICAgICAgIGF0dHJpYnV0ZSBbUmVmbGVj
dFVSTF0gRE9NU3RyaW5nIGhyZWY7Ci0gICAgICAgIGF0dHJpYnV0ZSBbUmVmbGVjdF0gRE9NU3Ry
aW5nIGhyZWZsYW5nOwotICAgICAgICBhdHRyaWJ1dGUgW1JlZmxlY3RdIERPTVN0cmluZyBtZWRp
YTsKLSAgICAgICAgYXR0cmlidXRlIFtSZWZsZWN0XSBET01TdHJpbmcgcmVsOwotICAgICAgICBh
dHRyaWJ1dGUgW1JlZmxlY3RdIERPTVN0cmluZyByZXY7Ci0gICAgICAgIGF0dHJpYnV0ZSBbUmVm
bGVjdF0gRE9NU3RyaW5nIHRhcmdldDsKLSAgICAgICAgYXR0cmlidXRlIFtSZWZsZWN0XSBET01T
dHJpbmcgdHlwZTsKKyAgICAgICAgYXR0cmlidXRlICBib29sZWFuICAgICAgICAgICAgICBkaXNh
YmxlZDsKKyAgICAgICAgYXR0cmlidXRlICBbQ29udmVydE51bGxUb051bGxTdHJpbmddIERPTVN0
cmluZyAgICAgICAgICAgIGNoYXJzZXQ7CisgICAgICAgIGF0dHJpYnV0ZSAgW0NvbnZlcnROdWxs
VG9OdWxsU3RyaW5nXSBET01TdHJpbmcgICAgICAgICAgICBocmVmOworICAgICAgICBhdHRyaWJ1
dGUgIFtDb252ZXJ0TnVsbFRvTnVsbFN0cmluZ10gRE9NU3RyaW5nICAgICAgICAgICAgaHJlZmxh
bmc7CisgICAgICAgIGF0dHJpYnV0ZSAgW0NvbnZlcnROdWxsVG9OdWxsU3RyaW5nXSBET01TdHJp
bmcgICAgICAgICAgICBtZWRpYTsKKyAgICAgICAgYXR0cmlidXRlICBbQ29udmVydE51bGxUb051
bGxTdHJpbmddIERPTVN0cmluZyAgICAgICAgICAgIHJlbDsKKyAgICAgICAgYXR0cmlidXRlICBb
Q29udmVydE51bGxUb051bGxTdHJpbmddIERPTVN0cmluZyAgICAgICAgICAgIHJldjsKKyAgICAg
ICAgYXR0cmlidXRlICBbQ29udmVydE51bGxUb051bGxTdHJpbmddIERPTVN0cmluZyAgICAgICAg
ICAgIHRhcmdldDsKKyAgICAgICAgYXR0cmlidXRlICBbQ29udmVydE51bGxUb051bGxTdHJpbmdd
IERPTVN0cmluZyAgICAgICAgICAgIHR5cGU7CiAKICAgICAgICAgLy8gRE9NIExldmVsIDIgU3R5
bGUKLSAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFN0eWxlU2hlZXQgc2hlZXQ7CisgICAgICAg
IHJlYWRvbmx5IGF0dHJpYnV0ZSBTdHlsZVNoZWV0ICAgc2hlZXQ7CiAKICNpZiBkZWZpbmVkKExB
TkdVQUdFX09CSkVDVElWRV9DKSAmJiBMQU5HVUFHRV9PQkpFQ1RJVkVfQwogICAgICAgICAvLyBP
YmplY3RpdmUtQyBleHRlbnNpb246CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvSFRNTE1hcEVs
ZW1lbnQuaWRsIGIvV2ViQ29yZS9odG1sL0hUTUxNYXBFbGVtZW50LmlkbAppbmRleCA3ODExYzlh
OWZkZjQzOGNiOTIwOWEyNjM3M2U2N2I4ODA2N2E1YjZlLi4xYTc2MGQxMTMxOWNkMjcwMTU2Njkz
ZjJhNjczNzU4NWUxZWM1MDJhIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvSFRNTE1hcEVsZW1l
bnQuaWRsCisrKyBiL1dlYkNvcmUvaHRtbC9IVE1MTWFwRWxlbWVudC5pZGwKQEAgLTEsNSArMSw1
IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDA2LCAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwNiBBcHBsZSBDb21wdXRlciwgSW5jLgog
ICogQ29weXJpZ2h0IChDKSAyMDA2IFNhbXVlbCBXZWluaWcgPHNhbS53ZWluaWdAZ21haWwuY29t
PgogICoKICAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJp
YnV0ZSBpdCBhbmQvb3IKQEAgLTIyLDcgKzIyLDcgQEAgbW9kdWxlIGh0bWwgewogCiAgICAgaW50
ZXJmYWNlIEhUTUxNYXBFbGVtZW50IDogSFRNTEVsZW1lbnQgewogICAgICAgICByZWFkb25seSBh
dHRyaWJ1dGUgSFRNTENvbGxlY3Rpb24gYXJlYXM7Ci0gICAgICAgIGF0dHJpYnV0ZSBbUmVmbGVj
dF0gRE9NU3RyaW5nIG5hbWU7CisgICAgICAgIGF0dHJpYnV0ZSBbQ29udmVydE51bGxUb051bGxT
dHJpbmddIERPTVN0cmluZyBuYW1lOwogICAgIH07CiAKIH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUv
aHRtbC9IVE1MTWVkaWFFbGVtZW50LmlkbCBiL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50
LmlkbAppbmRleCA5MzQzMGI0NDYyMzYyMTU3YjE0ZWUwMGU5ZjJmY2M3ODkwNjMzY2IxLi41Y2Qz
MjkzMGY4N2IyNjJjMjk1NTBkYzIxNGIwMzgyNTcwZDM3Y2Y2IDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2h0bWwvSFRNTE1lZGlhRWxlbWVudC5pZGwKKysrIGIvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVs
ZW1lbnQuaWRsCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAwNywgMjAx
MCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDcg
QXBwbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucwpAQCAtMzAsNyArMzAsNyBAQCBpbnRlcmZhY2UgW0NvbmRpdGlvbmFsPVZJREVPXSBI
VE1MTWVkaWFFbGVtZW50IDogSFRNTEVsZW1lbnQgewogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBN
ZWRpYUVycm9yIGVycm9yOwogCiAgICAgLy8gbmV0d29yayBzdGF0ZQotICAgIGF0dHJpYnV0ZSBb
UmVmbGVjdFVSTF0gRE9NU3RyaW5nIHNyYzsKKyAgICBhdHRyaWJ1dGUgRE9NU3RyaW5nIHNyYzsK
ICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGN1cnJlbnRTcmM7CiAgICAgCiAgICAg
Y29uc3QgdW5zaWduZWQgc2hvcnQgTkVUV09SS19FTVBUWSA9IDA7CkBAIC02Niw4ICs2Niw4IEBA
IGludGVyZmFjZSBbQ29uZGl0aW9uYWw9VklERU9dIEhUTUxNZWRpYUVsZW1lbnQgOiBIVE1MRWxl
bWVudCB7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFRpbWVSYW5nZXMgcGxheWVkOwogICAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSBUaW1lUmFuZ2VzIHNlZWthYmxlOwogICAgIHJlYWRvbmx5IGF0dHJp
YnV0ZSBib29sZWFuIGVuZGVkOwotICAgIGF0dHJpYnV0ZSBbUmVmbGVjdF0gYm9vbGVhbiBhdXRv
cGxheTsKLSAgICBhdHRyaWJ1dGUgW1JlZmxlY3RdIGJvb2xlYW4gbG9vcDsKKyAgICBhdHRyaWJ1
dGUgYm9vbGVhbiBhdXRvcGxheTsKKyAgICBhdHRyaWJ1dGUgYm9vbGVhbiBsb29wOwogICAgIFtO
ZWVkc1VzZXJHZXN0dXJlQ2hlY2tdIHZvaWQgcGxheSgpOwogICAgIFtOZWVkc1VzZXJHZXN0dXJl
Q2hlY2tdIHZvaWQgcGF1c2UoKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0hUTUxNZW51
RWxlbWVudC5pZGwgYi9XZWJDb3JlL2h0bWwvSFRNTE1lbnVFbGVtZW50LmlkbAppbmRleCBmZjE0
NzU0YzAxZTI1Mzc5ZTdmYmZjZTlmMTY5ZTY0Njk1N2IwMzIxLi4yMzgyNjNhMjQ4MmI0NmVmMjMy
ZTdhM2Y2Njk5NjNmMmUwOTZmMTIwIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvSFRNTE1lbnVF
bGVtZW50LmlkbAorKysgYi9XZWJDb3JlL2h0bWwvSFRNTE1lbnVFbGVtZW50LmlkbApAQCAtMSw1
ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMTAgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA2IEFwcGxlIENvbXB1dGVyLCBJ
bmMuCiAgKgogICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0
cmlidXRlIGl0IGFuZC9vcgogICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05V
IExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKQEAgLTIwLDcgKzIwLDcgQEAKIG1vZHVsZSBodG1sIHsK
IAogICAgIGludGVyZmFjZSBIVE1MTWVudUVsZW1lbnQgOiBIVE1MRWxlbWVudCB7Ci0gICAgICAg
IGF0dHJpYnV0ZSBbUmVmbGVjdF0gYm9vbGVhbiBjb21wYWN0OworICAgICAgICBhdHRyaWJ1dGUg
Ym9vbGVhbiBjb21wYWN0OwogICAgIH07CiAKIH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9I
VE1MTWV0YUVsZW1lbnQuaWRsIGIvV2ViQ29yZS9odG1sL0hUTUxNZXRhRWxlbWVudC5pZGwKaW5k
ZXggZjRmZmIyZDQyY2IyNjZmZmEwYjQ1NDMwMDg1YjNkYmM5MWM0YWRkNS4uZWY3ZTRhYjU4NGFk
NGE5NTI4NWViODYzMmJiODYzODdlNDZjN2U2NiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0hU
TUxNZXRhRWxlbWVudC5pZGwKKysrIGIvV2ViQ29yZS9odG1sL0hUTUxNZXRhRWxlbWVudC5pZGwK
QEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDA2LCAyMDEwIEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwNiBBcHBsZSBDb21w
dXRlciwgSW5jLgogICoKICAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2Fu
IHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2Yg
dGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCkBAIC0yMCwxMCArMjAsMTAgQEAKIG1vZHVs
ZSBodG1sIHsKIAogICAgIGludGVyZmFjZSBIVE1MTWV0YUVsZW1lbnQgOiBIVE1MRWxlbWVudCB7
Ci0gICAgICAgIGF0dHJpYnV0ZSBbUmVmbGVjdF0gRE9NU3RyaW5nIGNvbnRlbnQ7Ci0gICAgICAg
IGF0dHJpYnV0ZSBbUmVmbGVjdD1odHRwX2VxdWl2XSBET01TdHJpbmcgaHR0cEVxdWl2OwotICAg
ICAgICBhdHRyaWJ1dGUgW1JlZmxlY3RdIERPTVN0cmluZyBuYW1lOwotICAgICAgICBhdHRyaWJ1
dGUgW1JlZmxlY3RdIERPTVN0cmluZyBzY2hlbWU7CisgICAgICAgIGF0dHJpYnV0ZSAgW0NvbnZl
cnROdWxsVG9OdWxsU3RyaW5nXSBET01TdHJpbmcgICAgY29udGVudDsKKyAgICAgICAgYXR0cmli
dXRlICBbQ29udmVydE51bGxUb051bGxTdHJpbmddIERPTVN0cmluZyAgICBodHRwRXF1aXY7Cisg
ICAgICAgIGF0dHJpYnV0ZSAgW0NvbnZlcnROdWxsVG9OdWxsU3RyaW5nXSBET01TdHJpbmcgICAg
bmFtZTsKKyAgICAgICAgYXR0cmlidXRlICBbQ29udmVydE51bGxUb051bGxTdHJpbmddIERPTVN0
cmluZyAgICBzY2hlbWU7CiAgICAgfTsKIAogfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0hU
TUxNb2RFbGVtZW50LmlkbCBiL1dlYkNvcmUvaHRtbC9IVE1MTW9kRWxlbWVudC5pZGwKaW5kZXgg
ZTllOTk2ZDZlMTdjMzcyMjcyZWIxMWU2NWM3NGI3NWFlYzA1MTJiOS4uYTZlM2EwMmVlMDFkNjY0
ZWY0OTUyY2RmNTZmOWEyNmZjNjM1MmQwMCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0hUTUxN
b2RFbGVtZW50LmlkbAorKysgYi9XZWJDb3JlL2h0bWwvSFRNTE1vZEVsZW1lbnQuaWRsCkBAIC0x
LDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAwNiwgMjAxMCBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDYgQXBwbGUgQ29tcHV0ZXIs
IEluYy4KICAqCiAgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRp
c3RyaWJ1dGUgaXQgYW5kL29yCiAgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBH
TlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwpAQCAtMjAsOCArMjAsOCBAQAogbW9kdWxlIGh0bWwg
ewogCiAgICAgaW50ZXJmYWNlIEhUTUxNb2RFbGVtZW50IDogSFRNTEVsZW1lbnQgewotICAgICAg
ICBhdHRyaWJ1dGUgW1JlZmxlY3RdIERPTVN0cmluZyBjaXRlOwotICAgICAgICBhdHRyaWJ1dGUg
W1JlZmxlY3RdIERPTVN0cmluZyBkYXRlVGltZTsKKyAgICAgICAgYXR0cmlidXRlIFtDb252ZXJ0
TnVsbFRvTnVsbFN0cmluZ10gRE9NU3RyaW5nIGNpdGU7CisgICAgICAgIGF0dHJpYnV0ZSBbQ29u
dmVydE51bGxUb051bGxTdHJpbmddIERPTVN0cmluZyBkYXRlVGltZTsKICAgICB9OwogICAgIAog
fQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0hUTUxPTGlzdEVsZW1lbnQuaWRsIGIvV2ViQ29y
ZS9odG1sL0hUTUxPTGlzdEVsZW1lbnQuaWRsCmluZGV4IDYzZTA2YjJkNDNiMWJjYzMxZjM2Mjhl
NjdjM2FiNzljMjNmN2JjNWIuLjMyZDgxZjJhNTVkYzFjODQxYTUxZDMzMmE0ZTk0NjY3MzM3OTJi
ZmQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9IVE1MT0xpc3RFbGVtZW50LmlkbAorKysgYi9X
ZWJDb3JlL2h0bWwvSFRNTE9MaXN0RWxlbWVudC5pZGwKQEAgLTEsNSArMSw1IEBACiAvKgotICog
Q29weXJpZ2h0IChDKSAyMDA2LCAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqIENvcHlyaWdodCAoQykgMjAwNiBBcHBsZSBDb21wdXRlciwgSW5jLgogICoKICAqIFRoaXMg
bGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IK
ICAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwg
UHVibGljCkBAIC0yMCw5ICsyMCw5IEBACiBtb2R1bGUgaHRtbCB7CiAKICAgICBpbnRlcmZhY2Ug
SFRNTE9MaXN0RWxlbWVudCA6IEhUTUxFbGVtZW50IHsKLSAgICAgICAgYXR0cmlidXRlIFtSZWZs
ZWN0XSBib29sZWFuIGNvbXBhY3Q7CisgICAgICAgIGF0dHJpYnV0ZSBib29sZWFuIGNvbXBhY3Q7
CiAgICAgICAgIGF0dHJpYnV0ZSBsb25nIHN0YXJ0OwotICAgICAgICBhdHRyaWJ1dGUgW1JlZmxl
Y3RdIERPTVN0cmluZyB0eXBlOworICAgICAgICBhdHRyaWJ1dGUgW0NvbnZlcnROdWxsVG9OdWxs
U3RyaW5nXSBET01TdHJpbmcgdHlwZTsKICAgICB9OwogCiB9CmRpZmYgLS1naXQgYS9XZWJDb3Jl
L2h0bWwvSFRNTE9iamVjdEVsZW1lbnQuaWRsIGIvV2ViQ29yZS9odG1sL0hUTUxPYmplY3RFbGVt
ZW50LmlkbAppbmRleCBlZTBmMWM2ZDU3YTc0MzM5YThlMDc3YjdiNmQxNzg0NjVkOTVlNTc0Li5i
ZTkxZGM0NDU0MGM0OGMyZmU2OTE3ZmE4NWZlZmFkM2I4MjRkMTIyIDEwMDY0NAotLS0gYS9XZWJD
b3JlL2h0bWwvSFRNTE9iamVjdEVsZW1lbnQuaWRsCisrKyBiL1dlYkNvcmUvaHRtbC9IVE1MT2Jq
ZWN0RWxlbWVudC5pZGwKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDA2
LCAyMDA3LCAyMDA5LCAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENv
cHlyaWdodCAoQykgMjAwNiwgMjAwNywgMjAwOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDYgU2FtdWVsIFdlaW5pZyA8c2FtLndlaW5pZ0BnbWFp
bC5jb20+CiAgKgogICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVk
aXN0cmlidXRlIGl0IGFuZC9vcgpAQCAtMjYsMzYgKzI2LDM3IEBAIG1vZHVsZSBodG1sIHsKICAg
ICAgICAgQ3VzdG9tQ2FsbAogICAgIF0gSFRNTE9iamVjdEVsZW1lbnQgOiBIVE1MRWxlbWVudCB7
CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBIVE1MRm9ybUVsZW1lbnQgZm9ybTsKLSAgICAg
ICAgYXR0cmlidXRlIFtSZWZsZWN0XSBET01TdHJpbmcgY29kZTsKLSAgICAgICAgYXR0cmlidXRl
IFtSZWZsZWN0XSBET01TdHJpbmcgYWxpZ247Ci0gICAgICAgIGF0dHJpYnV0ZSBbUmVmbGVjdF0g
RE9NU3RyaW5nIGFyY2hpdmU7Ci0gICAgICAgIGF0dHJpYnV0ZSBbUmVmbGVjdF0gRE9NU3RyaW5n
IGJvcmRlcjsKLSAgICAgICAgYXR0cmlidXRlIFtSZWZsZWN0XSBET01TdHJpbmcgY29kZUJhc2U7
Ci0gICAgICAgIGF0dHJpYnV0ZSBbUmVmbGVjdF0gRE9NU3RyaW5nIGNvZGVUeXBlOwotICAgICAg
ICBhdHRyaWJ1dGUgW1JlZmxlY3RVUkxdIERPTVN0cmluZyBkYXRhOwotICAgICAgICBhdHRyaWJ1
dGUgW1JlZmxlY3RdIGJvb2xlYW4gZGVjbGFyZTsKLSAgICAgICAgYXR0cmlidXRlIFtSZWZsZWN0
XSBET01TdHJpbmcgaGVpZ2h0OwotICAgICAgICBhdHRyaWJ1dGUgW1JlZmxlY3RdIGxvbmcgaHNw
YWNlOwotICAgICAgICBhdHRyaWJ1dGUgW1JlZmxlY3RdIERPTVN0cmluZyBuYW1lOwotICAgICAg
ICBhdHRyaWJ1dGUgW1JlZmxlY3RdIERPTVN0cmluZyBzdGFuZGJ5OwotICAgICAgICBhdHRyaWJ1
dGUgW1JlZmxlY3RdIERPTVN0cmluZyB0eXBlOwotICAgICAgICBhdHRyaWJ1dGUgW1JlZmxlY3Rd
IERPTVN0cmluZyB1c2VNYXA7Ci0gICAgICAgIGF0dHJpYnV0ZSBbUmVmbGVjdF0gbG9uZyB2c3Bh
Y2U7Ci0gICAgICAgIGF0dHJpYnV0ZSBbUmVmbGVjdF0gRE9NU3RyaW5nIHdpZHRoOwotICAgICAg
ICByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiB3aWxsVmFsaWRhdGU7CisgICAgICAgICAgICAg
ICAgIGF0dHJpYnV0ZSBbQ29udmVydE51bGxUb051bGxTdHJpbmcsIFJlZmxlY3RdIERPTVN0cmlu
ZyAgICAgICBjb2RlOworICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgW0NvbnZlcnROdWxsVG9O
dWxsU3RyaW5nLCBSZWZsZWN0XSBET01TdHJpbmcgICAgICAgYWxpZ247CisgICAgICAgICAgICAg
ICAgIGF0dHJpYnV0ZSBbQ29udmVydE51bGxUb051bGxTdHJpbmcsIFJlZmxlY3RdIERPTVN0cmlu
ZyAgICAgICBhcmNoaXZlOworICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgW0NvbnZlcnROdWxs
VG9OdWxsU3RyaW5nLCBSZWZsZWN0XSBET01TdHJpbmcgICAgICAgYm9yZGVyOworICAgICAgICAg
ICAgICAgICBhdHRyaWJ1dGUgW0NvbnZlcnROdWxsVG9OdWxsU3RyaW5nLCBSZWZsZWN0PWNvZGVi
YXNlXSBET01TdHJpbmcgICAgICAgY29kZUJhc2U7CisgICAgICAgICAgICAgICAgIGF0dHJpYnV0
ZSBbQ29udmVydE51bGxUb051bGxTdHJpbmcsIFJlZmxlY3Q9Y29kZXR5cGVdIERPTVN0cmluZyAg
ICAgICBjb2RlVHlwZTsKKyAgICAgICAgICAgICAgICAgYXR0cmlidXRlIFtDb252ZXJ0TnVsbFRv
TnVsbFN0cmluZywgUmVmbGVjdFVSTF0gRE9NU3RyaW5nICAgICAgIGRhdGE7CisgICAgICAgICAg
ICAgICAgIGF0dHJpYnV0ZSBib29sZWFuICAgICAgICAgZGVjbGFyZTsKKyAgICAgICAgICAgICAg
ICAgYXR0cmlidXRlIFtDb252ZXJ0TnVsbFRvTnVsbFN0cmluZywgUmVmbGVjdF0gRE9NU3RyaW5n
ICAgICAgIGhlaWdodDsKKyAgICAgICAgICAgICAgICAgYXR0cmlidXRlIGxvbmcgICAgICAgICAg
ICBoc3BhY2U7CisgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBbQ29udmVydE51bGxUb051bGxT
dHJpbmcsIFJlZmxlY3RdIERPTVN0cmluZyAgICAgICBuYW1lOworICAgICAgICAgICAgICAgICBh
dHRyaWJ1dGUgW0NvbnZlcnROdWxsVG9OdWxsU3RyaW5nLCBSZWZsZWN0XSBET01TdHJpbmcgICAg
ICAgc3RhbmRieTsKKyAgICAgICAgICAgICAgICAgYXR0cmlidXRlIFtDb252ZXJ0TnVsbFRvTnVs
bFN0cmluZywgUmVmbGVjdF0gRE9NU3RyaW5nICAgICAgIHR5cGU7CisgICAgICAgICAgICAgICAg
IGF0dHJpYnV0ZSBbQ29udmVydE51bGxUb051bGxTdHJpbmcsIFJlZmxlY3Q9dXNlbWFwXSBET01T
dHJpbmcgICAgICAgdXNlTWFwOworICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgbG9uZyAgICAg
ICAgICAgIHZzcGFjZTsKKyAgICAgICAgICAgICAgICAgYXR0cmlidXRlIFtDb252ZXJ0TnVsbFRv
TnVsbFN0cmluZywgUmVmbGVjdF0gRE9NU3RyaW5nICAgICAgIHdpZHRoOworICAgICAgICByZWFk
b25seSBhdHRyaWJ1dGUgYm9vbGVhbiAgICAgICAgIHdpbGxWYWxpZGF0ZTsKIAogICAgICAgICAv
LyBJbnRyb2R1Y2VkIGluIERPTSBMZXZlbCAyOgotICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUg
W0NoZWNrRnJhbWVTZWN1cml0eV0gRG9jdW1lbnQgY29udGVudERvY3VtZW50OworICAgICAgICBy
ZWFkb25seSBhdHRyaWJ1dGUgW0NoZWNrRnJhbWVTZWN1cml0eV0gRG9jdW1lbnQgICAgICAgIGNv
bnRlbnREb2N1bWVudDsKIAogI2lmIGRlZmluZWQoRU5BQkxFX1NWRykgJiYgRU5BQkxFX1NWRwog
I2lmICFkZWZpbmVkKExBTkdVQUdFX09CSkVDVElWRV9DKSB8fCAhTEFOR1VBR0VfT0JKRUNUSVZF
X0MgfHwgZGVmaW5lZChFTkFCTEVfU1ZHX0RPTV9PQkpDX0JJTkRJTkdTKSAmJiBFTkFCTEVfU1ZH
X0RPTV9PQkpDX0JJTkRJTkdTCi0gICAgICAgIFtTVkdDaGVja1NlY3VyaXR5RG9jdW1lbnRdIFNW
R0RvY3VtZW50IGdldFNWR0RvY3VtZW50KCkgcmFpc2VzKERPTUV4Y2VwdGlvbik7CisgICAgICAg
IFtTVkdDaGVja1NlY3VyaXR5RG9jdW1lbnRdIFNWR0RvY3VtZW50IGdldFNWR0RvY3VtZW50KCkK
KyAgICAgICAgICAgIHJhaXNlcyhET01FeGNlcHRpb24pOwogI2VuZGlmCiAjZW5kaWYKIAogI2lm
IGRlZmluZWQoTEFOR1VBR0VfT0JKRUNUSVZFX0MpICYmIExBTkdVQUdFX09CSkVDVElWRV9DCiAg
ICAgICAgIC8vIE9iamVjdGl2ZS1DIGV4dGVuc2lvbjoKLSAgICAgICAgcmVhZG9ubHkgYXR0cmli
dXRlIFVSTCBhYnNvbHV0ZUltYWdlVVJMOworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgVVJM
ICAgICAgICAgICAgIGFic29sdXRlSW1hZ2VVUkw7CiAjZW5kaWYKICAgICB9OwogCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2h0bWwvSFRNTE9wdEdyb3VwRWxlbWVudC5pZGwgYi9XZWJDb3JlL2h0bWwv
SFRNTE9wdEdyb3VwRWxlbWVudC5pZGwKaW5kZXggNzVjZWFkMGZiZjliMDVkYzU0NGU2MTBjMmVk
MmExYWE5MDZlOTQ4Ny4uNjkxYmQxMzY1ZmRjMjRmMjZiODI5YmY3MTUyMmE3M2M1YTU2ODE0NSAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0hUTUxPcHRHcm91cEVsZW1lbnQuaWRsCisrKyBiL1dl
YkNvcmUvaHRtbC9IVE1MT3B0R3JvdXBFbGVtZW50LmlkbApAQCAtMSw1ICsxLDUgQEAKIC8qCi0g
KiBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICogQ29weXJpZ2h0IChDKSAyMDA2IEFwcGxlIENvbXB1dGVyLCBJbmMuCiAgKgogICogVGhp
cyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9v
cgogICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJh
bCBQdWJsaWMKQEAgLTIwLDggKzIwLDggQEAKIG1vZHVsZSBodG1sIHsKIAogICAgIGludGVyZmFj
ZSBIVE1MT3B0R3JvdXBFbGVtZW50IDogSFRNTEVsZW1lbnQgewotICAgICAgICBhdHRyaWJ1dGUg
W1JlZmxlY3RdIGJvb2xlYW4gZGlzYWJsZWQ7Ci0gICAgICAgIGF0dHJpYnV0ZSBbUmVmbGVjdF0g
RE9NU3RyaW5nIGxhYmVsOworICAgICAgICBhdHRyaWJ1dGUgIGJvb2xlYW4gICAgICAgICAgICAg
IGRpc2FibGVkOworICAgICAgICBhdHRyaWJ1dGUgIFtDb252ZXJ0TnVsbFRvTnVsbFN0cmluZ10g
RE9NU3RyaW5nICAgICAgICAgICAgbGFiZWw7CiAgICAgfTsKIAogfQpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9odG1sL0hUTUxPcHRpb25FbGVtZW50LmlkbCBiL1dlYkNvcmUvaHRtbC9IVE1MT3B0aW9u
RWxlbWVudC5pZGwKaW5kZXggMGRlMDc0ODI2MzdhNmEzN2E4MzViN2ZmNjkwOTE5Yjk3MTMyZGU5
Yi4uYzQzMTMyZTFlMTIxOGFhNWMwNWMxMDIxNTc4ZjQzMjNiNDgyYzMwYSAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9odG1sL0hUTUxPcHRpb25FbGVtZW50LmlkbAorKysgYi9XZWJDb3JlL2h0bWwvSFRN
TE9wdGlvbkVsZW1lbnQuaWRsCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykg
MjAwNiwgMjAwNywgMjAxMCBBcHBsZSwgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29w
eXJpZ2h0IChDKSAyMDA2LCAyMDA3IEFwcGxlLCBJbmMuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDYg
U2FtdWVsIFdlaW5pZyA8c2FtLndlaW5pZ0BnbWFpbC5jb20+CiAgKgogICogVGhpcyBsaWJyYXJ5
IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgpAQCAtMjMs
MTggKzIzLDE5IEBAIG1vZHVsZSBodG1sIHsKICAgICBpbnRlcmZhY2UgWwogICAgICAgICBHZW5l
cmF0ZU5hdGl2ZUNvbnZlcnRlcgogICAgIF0gSFRNTE9wdGlvbkVsZW1lbnQgOiBIVE1MRWxlbWVu
dCB7Ci0gICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBIVE1MRm9ybUVsZW1lbnQgZm9ybTsKLSAg
ICAgICAgYXR0cmlidXRlIFtSZWZsZWN0PXNlbGVjdGVkXSBib29sZWFuIGRlZmF1bHRTZWxlY3Rl
ZDsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlICBIVE1MRm9ybUVsZW1lbnQgICAgICBmb3Jt
OworICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgIGJvb2xlYW4gICAgICAgICAgICAgIGRlZmF1
bHRTZWxlY3RlZDsKICNpZiBkZWZpbmVkKExBTkdVQUdFX0pBVkFTQ1JJUFQpICYmIExBTkdVQUdF
X0pBVkFTQ1JJUFQKLSAgICAgICAgYXR0cmlidXRlIFtDb252ZXJ0TnVsbFRvTnVsbFN0cmluZ10g
RE9NU3RyaW5nIHRleHQgc2V0dGVyIHJhaXNlcyhET01FeGNlcHRpb24pOworICAgICAgICAgICAg
ICAgICBhdHRyaWJ1dGUgIFtDb252ZXJ0TnVsbFRvTnVsbFN0cmluZ10gRE9NU3RyaW5nICAgICAg
ICAgICAgdGV4dAorICAgICAgICAgICAgICAgICAgICAgc2V0dGVyIHJhaXNlcyhET01FeGNlcHRp
b24pOwogI2Vsc2UKLSAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyB0ZXh0Owor
ICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgIERPTVN0cmluZyAgICAgICAgICAgIHRleHQ7CiAj
ZW5kaWYKLSAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGxvbmcgaW5kZXg7Ci0gICAgICAgIGF0
dHJpYnV0ZSBbUmVmbGVjdF0gYm9vbGVhbiBkaXNhYmxlZDsKLSAgICAgICAgYXR0cmlidXRlIFtS
ZWZsZWN0XSBET01TdHJpbmcgbGFiZWw7Ci0gICAgICAgIGF0dHJpYnV0ZSBib29sZWFuIHNlbGVj
dGVkOwotICAgICAgICBhdHRyaWJ1dGUgW1JlZmxlY3RdIERPTVN0cmluZyB2YWx1ZTsKKyAgICAg
ICAgcmVhZG9ubHkgYXR0cmlidXRlICBsb25nICAgICAgICAgICAgICAgICBpbmRleDsKKyAgICAg
ICAgICAgICAgICAgYXR0cmlidXRlICBib29sZWFuICAgICAgICAgICAgICBkaXNhYmxlZDsKKyAg
ICAgICAgICAgICAgICAgYXR0cmlidXRlICBbQ29udmVydE51bGxUb051bGxTdHJpbmddIERPTVN0
cmluZyAgICAgICAgICAgIGxhYmVsOworICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgIGJvb2xl
YW4gICAgICAgICAgICAgIHNlbGVjdGVkOworICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgIFtD
b252ZXJ0TnVsbFRvTnVsbFN0cmluZ10gRE9NU3RyaW5nICAgICAgICAgICAgdmFsdWU7CiAgICAg
fTsKIAogfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0hUTUxQYXJhZ3JhcGhFbGVtZW50Lmlk
bCBiL1dlYkNvcmUvaHRtbC9IVE1MUGFyYWdyYXBoRWxlbWVudC5pZGwKaW5kZXggMjQ2ZTllOTll
ZDA1MDA4ZGRmZmZlMThiNjE0ZWRiOGYxOTlmOTcyMS4uY2QzYjk0MGFmYTY2MTRhMzc2MGY5M2Q2
N2MyY2I4OWNjNDIwNmI2OSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0hUTUxQYXJhZ3JhcGhF
bGVtZW50LmlkbAorKysgYi9XZWJDb3JlL2h0bWwvSFRNTFBhcmFncmFwaEVsZW1lbnQuaWRsCkBA
IC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAwNiwgMjAxMCBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDYgQXBwbGUgQ29tcHV0
ZXIsIEluYy4KICAqCiAgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiBy
ZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRo
ZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwpAQCAtMjAsNyArMjAsNyBAQAogbW9kdWxlIGh0
bWwgewogCiAgICAgaW50ZXJmYWNlIEhUTUxQYXJhZ3JhcGhFbGVtZW50IDogSFRNTEVsZW1lbnQg
ewotICAgICAgICBhdHRyaWJ1dGUgW1JlZmxlY3RdIERPTVN0cmluZyBhbGlnbjsKKyAgICAgICAg
YXR0cmlidXRlIFtDb252ZXJ0TnVsbFRvTnVsbFN0cmluZ10gRE9NU3RyaW5nIGFsaWduOwogICAg
IH07CiAKIH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9IVE1MUGFyYW1FbGVtZW50LmlkbCBi
L1dlYkNvcmUvaHRtbC9IVE1MUGFyYW1FbGVtZW50LmlkbAppbmRleCAxZjBjMGRlZDY0ZjQ3OWY2
Y2JkNDdkMGEyMjU3NjY0Y2Q1M2E4OGJlLi4yNDczMzgxOTkzMmIxOWI2OGI4NzIxNzYwMDJiYzNj
NjQxN2M4YTVlIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvSFRNTFBhcmFtRWxlbWVudC5pZGwK
KysrIGIvV2ViQ29yZS9odG1sL0hUTUxQYXJhbUVsZW1lbnQuaWRsCkBAIC0xLDUgKzEsNSBAQAog
LyoKLSAqIENvcHlyaWdodCAoQykgMjAwNiwgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDYgQXBwbGUgQ29tcHV0ZXIsIEluYy4KICAqCiAg
KiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQg
YW5kL29yCiAgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBH
ZW5lcmFsIFB1YmxpYwpAQCAtMjAsMTAgKzIwLDEwIEBACiBtb2R1bGUgaHRtbCB7CiAKICAgICBp
bnRlcmZhY2UgSFRNTFBhcmFtRWxlbWVudCA6IEhUTUxFbGVtZW50IHsKLSAgICAgICAgYXR0cmli
dXRlIFtSZWZsZWN0XSBET01TdHJpbmcgbmFtZTsKLSAgICAgICAgYXR0cmlidXRlIFtSZWZsZWN0
XSBET01TdHJpbmcgdHlwZTsKLSAgICAgICAgYXR0cmlidXRlIFtSZWZsZWN0XSBET01TdHJpbmcg
dmFsdWU7Ci0gICAgICAgIGF0dHJpYnV0ZSBbUmVmbGVjdF0gRE9NU3RyaW5nIHZhbHVlVHlwZTsK
KyAgICAgICAgYXR0cmlidXRlIFtDb252ZXJ0TnVsbFRvTnVsbFN0cmluZ10gRE9NU3RyaW5nIG5h
bWU7CisgICAgICAgIGF0dHJpYnV0ZSBbQ29udmVydE51bGxUb051bGxTdHJpbmddIERPTVN0cmlu
ZyB0eXBlOworICAgICAgICBhdHRyaWJ1dGUgW0NvbnZlcnROdWxsVG9OdWxsU3RyaW5nXSBET01T
dHJpbmcgdmFsdWU7CisgICAgICAgIGF0dHJpYnV0ZSBbQ29udmVydE51bGxUb051bGxTdHJpbmdd
IERPTVN0cmluZyB2YWx1ZVR5cGU7CiAgICAgfTsKIAogfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9o
dG1sL0hUTUxQcmVFbGVtZW50LmlkbCBiL1dlYkNvcmUvaHRtbC9IVE1MUHJlRWxlbWVudC5pZGwK
aW5kZXggYWUxMzdmMDI0ZjYwN2Y4YmIzOGI2N2U3YmExODljOWEyZjYyYWNkZS4uNWRjMGU5ZWFl
NWRiYTI0YzVhOTNjMDYzYTg2NzUyZWJkZWY2NDZjMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1s
L0hUTUxQcmVFbGVtZW50LmlkbAorKysgYi9XZWJDb3JlL2h0bWwvSFRNTFByZUVsZW1lbnQuaWRs
CkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAwNiwgMjAxMCBBcHBsZSBJ
bmMuIEFsbCByaWdodCByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwNiBBcHBsZSBDb21w
dXRlciwgSW5jLgogICogQ29weXJpZ2h0IChDKSAyMDA2IFNhbXVlbCBXZWluaWcgPHNhbS53ZWlu
aWdAZ21haWwuY29tPgogICoKICAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3Ug
Y2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKQEAgLTIzLDEwICsyMywxMCBAQCBtb2R1bGUgaHRt
bCB7CiAgICAgaW50ZXJmYWNlIEhUTUxQcmVFbGVtZW50IDogSFRNTEVsZW1lbnQgewogICAgICAg
ICAvLyBGSVhNRTogRE9NIHNwZWMgc2F5cyB0aGF0IHdpZHRoIHNob3VsZCBiZSBvZiB0eXBlIERP
TVN0cmluZwogICAgICAgICAvLyBzZWUgaHR0cDovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9ODk5MgotICAgICAgICBhdHRyaWJ1dGUgW1JlZmxlY3RdIGxvbmcgd2lkdGg7CisgICAg
ICAgIGF0dHJpYnV0ZSBsb25nIHdpZHRoOwogICAgICAgICAKICAgICAgICAgLy8gRXh0ZW5zaW9u
cwotICAgICAgICBhdHRyaWJ1dGUgW1JlZmxlY3RdIGJvb2xlYW4gd3JhcDsKKyAgICAgICAgYXR0
cmlidXRlIGJvb2xlYW4gd3JhcDsKICAgICB9OwogCiB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0
bWwvSFRNTFF1b3RlRWxlbWVudC5pZGwgYi9XZWJDb3JlL2h0bWwvSFRNTFF1b3RlRWxlbWVudC5p
ZGwKaW5kZXggYTRlNjAwNTNjMGJlYjI4MjJjZTBjZTg5ZWJkNmExNmNlODZlMWYzNy4uZjk1ZGMy
MDhlODkyYTE3MjhlMmI4OWY4ZDlkMjVmMDBlZWZiYzZiOCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9o
dG1sL0hUTUxRdW90ZUVsZW1lbnQuaWRsCisrKyBiL1dlYkNvcmUvaHRtbC9IVE1MUXVvdGVFbGVt
ZW50LmlkbApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMTAg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA2IEFw
cGxlIENvbXB1dGVyLCBJbmMuCiAgKgogICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7
IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0
ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKQEAgLTIwLDYgKzIwLDYgQEAK
IG1vZHVsZSBodG1sIHsKIAogICAgIGludGVyZmFjZSBIVE1MUXVvdGVFbGVtZW50IDogSFRNTEVs
ZW1lbnQgewotICAgICAgICBhdHRyaWJ1dGUgW1JlZmxlY3RdIERPTVN0cmluZyBjaXRlOworICAg
ICAgICBhdHRyaWJ1dGUgW0NvbnZlcnROdWxsVG9OdWxsU3RyaW5nXSBET01TdHJpbmcgY2l0ZTsK
ICAgICB9OwogfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0hUTUxTY3JpcHRFbGVtZW50Lmlk
bCBiL1dlYkNvcmUvaHRtbC9IVE1MU2NyaXB0RWxlbWVudC5pZGwKaW5kZXggMjlmZjM2NzU4MDFj
Y2QyMTIzNTVkZDQyOGQyYTQ0MTk1MGVmMmJiMy4uODk4NTUxMmIyMWNlYWIxYmVkOTZiNzMxZWQ2
ZGJmZWM1MWIzY2FiNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0hUTUxTY3JpcHRFbGVtZW50
LmlkbAorKysgYi9XZWJDb3JlL2h0bWwvSFRNTFNjcmlwdEVsZW1lbnQuaWRsCkBAIC0xLDUgKzEs
NSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAwNiwgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDYgQXBwbGUgQ29tcHV0ZXIsIEluYy4K
ICAqCiAgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1
dGUgaXQgYW5kL29yCiAgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGli
cmFyeSBHZW5lcmFsIFB1YmxpYwpAQCAtMjEsMTEgKzIxLDExIEBAIG1vZHVsZSBodG1sIHsKIAog
ICAgIGludGVyZmFjZSBIVE1MU2NyaXB0RWxlbWVudCA6IEhUTUxFbGVtZW50IHsKICAgICAgICAg
YXR0cmlidXRlIFtDb252ZXJ0TnVsbFRvTnVsbFN0cmluZ10gRE9NU3RyaW5nIHRleHQ7Ci0gICAg
ICAgIGF0dHJpYnV0ZSBbUmVmbGVjdD1mb3JdIERPTVN0cmluZyBodG1sRm9yOwotICAgICAgICBh
dHRyaWJ1dGUgW1JlZmxlY3RdIERPTVN0cmluZyBldmVudDsKLSAgICAgICAgYXR0cmlidXRlIFtS
ZWZsZWN0XSBET01TdHJpbmcgY2hhcnNldDsKLSAgICAgICAgYXR0cmlidXRlIFtSZWZsZWN0XSBi
b29sZWFuIGRlZmVyOwotICAgICAgICBhdHRyaWJ1dGUgW1JlZmxlY3RVUkxdIERPTVN0cmluZyBz
cmM7Ci0gICAgICAgIGF0dHJpYnV0ZSBbUmVmbGVjdF0gRE9NU3RyaW5nIHR5cGU7CisgICAgICAg
IGF0dHJpYnV0ZSBbQ29udmVydE51bGxUb051bGxTdHJpbmddIERPTVN0cmluZyBodG1sRm9yOwor
ICAgICAgICBhdHRyaWJ1dGUgW0NvbnZlcnROdWxsVG9OdWxsU3RyaW5nXSBET01TdHJpbmcgZXZl
bnQ7CisgICAgICAgIGF0dHJpYnV0ZSBbQ29udmVydE51bGxUb051bGxTdHJpbmddIERPTVN0cmlu
ZyBjaGFyc2V0OworICAgICAgICBhdHRyaWJ1dGUgYm9vbGVhbiBkZWZlcjsKKyAgICAgICAgYXR0
cmlidXRlIFtDb252ZXJ0TnVsbFRvTnVsbFN0cmluZ10gRE9NU3RyaW5nIHNyYzsKKyAgICAgICAg
YXR0cmlidXRlIFtDb252ZXJ0TnVsbFRvTnVsbFN0cmluZ10gRE9NU3RyaW5nIHR5cGU7CiAgICAg
fTsKIH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9IVE1MU3R5bGVFbGVtZW50LmlkbCBiL1dl
YkNvcmUvaHRtbC9IVE1MU3R5bGVFbGVtZW50LmlkbAppbmRleCBjOTg2MjljNjI0NjJkYjAyNDRh
MTZhNTcwMjg4ZjdiNjExZGJlNDYzLi41NjJkMDFiY2EyYjIyMTc4NjNiZmJjN2QxNjMzNDUzZTA2
ZjIxYjRkIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvSFRNTFN0eWxlRWxlbWVudC5pZGwKKysr
IGIvV2ViQ29yZS9odG1sL0hUTUxTdHlsZUVsZW1lbnQuaWRsCkBAIC0xLDUgKzEsNSBAQAogLyoK
LSAqIENvcHlyaWdodCAoQykgMjAwNiwgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDYgQXBwbGUgQ29tcHV0ZXIsIEluYy4KICAqIENvcHly
aWdodCAoQykgMjAwNiBTYW11ZWwgV2VpbmlnIDxzYW0ud2VpbmlnQGdtYWlsLmNvbT4KICAqCiAg
KiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQg
YW5kL29yCkBAIC0yMSw5ICsyMSw5IEBACiBtb2R1bGUgaHRtbCB7CiAKICAgICBpbnRlcmZhY2Ug
SFRNTFN0eWxlRWxlbWVudCA6IEhUTUxFbGVtZW50IHsKLSAgICAgICAgYXR0cmlidXRlIGJvb2xl
YW4gZGlzYWJsZWQ7Ci0gICAgICAgIGF0dHJpYnV0ZSBbUmVmbGVjdF0gRE9NU3RyaW5nIG1lZGlh
OwotICAgICAgICBhdHRyaWJ1dGUgW1JlZmxlY3RdIERPTVN0cmluZyB0eXBlOworICAgICAgICBh
dHRyaWJ1dGUgIGJvb2xlYW4gICAgICAgICAgICAgIGRpc2FibGVkOworICAgICAgICBhdHRyaWJ1
dGUgIFtDb252ZXJ0TnVsbFRvTnVsbFN0cmluZ10gRE9NU3RyaW5nICAgICAgICAgICAgbWVkaWE7
CisgICAgICAgIGF0dHJpYnV0ZSAgW0NvbnZlcnROdWxsVG9OdWxsU3RyaW5nXSBET01TdHJpbmcg
ICAgICAgICAgICB0eXBlOwogCiAgICAgICAgIC8vIERPTSBMZXZlbCAyIFN0eWxlCiAgICAgICAg
IHJlYWRvbmx5IGF0dHJpYnV0ZSBTdHlsZVNoZWV0IHNoZWV0OwpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9odG1sL0hUTUxUYWJsZUNhcHRpb25FbGVtZW50LmlkbCBiL1dlYkNvcmUvaHRtbC9IVE1MVGFi
bGVDYXB0aW9uRWxlbWVudC5pZGwKaW5kZXggYzU2YzQ1NjAwZDllYTMzMzc3YWI1M2E4YTgxMTc5
NTVmOGU1NGFlMy4uODZhMTk3ZmY1NGIwZTI4ZTM0MmI2NTU4ZGFhZjVhMjE1M2VmMzc5OSAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9odG1sL0hUTUxUYWJsZUNhcHRpb25FbGVtZW50LmlkbAorKysgYi9X
ZWJDb3JlL2h0bWwvSFRNTFRhYmxlQ2FwdGlvbkVsZW1lbnQuaWRsCkBAIC0xLDUgKzEsNSBAQAog
LyoKLSAqIENvcHlyaWdodCAoQykgMjAwNiwgMjAwNywgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMDcgQXBwbGUgSW5jLgogICog
Q29weXJpZ2h0IChDKSAyMDA2IFNhbXVlbCBXZWluaWcgPHNhbS53ZWluaWdAZ21haWwuY29tPgog
ICoKICAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0
ZSBpdCBhbmQvb3IKQEAgLTIzLDcgKzIzLDkgQEAgbW9kdWxlIGh0bWwgewogICAgIGludGVyZmFj
ZSBbCiAgICAgICAgIEdlbmVyYXRlTmF0aXZlQ29udmVydGVyCiAgICAgXSBIVE1MVGFibGVDYXB0
aW9uRWxlbWVudCA6IEhUTUxFbGVtZW50IHsKLSAgICAgICAgYXR0cmlidXRlIFtSZWZsZWN0XSBE
T01TdHJpbmcgYWxpZ247CisKKyAgICAgICAgYXR0cmlidXRlIFtDb252ZXJ0TnVsbFRvTnVsbFN0
cmluZ10gRE9NU3RyaW5nICAgICAgIGFsaWduOworCiAgICAgfTsKIAogfQpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9odG1sL0hUTUxUYWJsZUNlbGxFbGVtZW50LmlkbCBiL1dlYkNvcmUvaHRtbC9IVE1M
VGFibGVDZWxsRWxlbWVudC5pZGwKaW5kZXggMDM3NTgxZjllMzc3ZThmNjY5YTA0MjhlZGIyMGM4
OTlhMzExYzAyNi4uYTg5MTQ5ZmFmZjQ2NmNmYTg1NjBkODk2MTYzYjVjYzA4Nzg4YmU1OSAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9odG1sL0hUTUxUYWJsZUNlbGxFbGVtZW50LmlkbAorKysgYi9XZWJD
b3JlL2h0bWwvSFRNTFRhYmxlQ2VsbEVsZW1lbnQuaWRsCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAq
IENvcHlyaWdodCAoQykgMjAwNiwgMjAwNywgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMDcgQXBwbGUgSW5jLgogICogQ29weXJp
Z2h0IChDKSAyMDA2IFNhbXVlbCBXZWluaWcgPHNhbS53ZWluaWdAZ21haWwuY29tPgogICoKICAq
IFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBh
bmQvb3IKQEAgLTIxLDIxICsyMSwyMyBAQAogbW9kdWxlIGh0bWwgewogCiAgICAgaW50ZXJmYWNl
IEhUTUxUYWJsZUNlbGxFbGVtZW50IDogSFRNTEVsZW1lbnQgewotICAgICAgICByZWFkb25seSBh
dHRyaWJ1dGUgbG9uZyBjZWxsSW5kZXg7Ci0gICAgICAgIGF0dHJpYnV0ZSBbUmVmbGVjdF0gRE9N
U3RyaW5nIGFiYnI7Ci0gICAgICAgIGF0dHJpYnV0ZSBbUmVmbGVjdF0gRE9NU3RyaW5nIGFsaWdu
OwotICAgICAgICBhdHRyaWJ1dGUgW1JlZmxlY3RdIERPTVN0cmluZyBheGlzOwotICAgICAgICBh
dHRyaWJ1dGUgW1JlZmxlY3RdIERPTVN0cmluZyBiZ0NvbG9yOwotICAgICAgICBhdHRyaWJ1dGUg
W1JlZmxlY3Q9Y2hhcl0gRE9NU3RyaW5nIGNoOwotICAgICAgICBhdHRyaWJ1dGUgW1JlZmxlY3Q9
Y2hhcm9mZl0gRE9NU3RyaW5nIGNoT2ZmOwotICAgICAgICBhdHRyaWJ1dGUgbG9uZyBjb2xTcGFu
OwotICAgICAgICBhdHRyaWJ1dGUgW1JlZmxlY3RdIERPTVN0cmluZyBoZWFkZXJzOwotICAgICAg
ICBhdHRyaWJ1dGUgW1JlZmxlY3RdIERPTVN0cmluZyBoZWlnaHQ7Ci0gICAgICAgIGF0dHJpYnV0
ZSBib29sZWFuIG5vV3JhcDsKLSAgICAgICAgYXR0cmlidXRlIGxvbmcgcm93U3BhbjsKLSAgICAg
ICAgYXR0cmlidXRlIFtSZWZsZWN0XSBET01TdHJpbmcgc2NvcGU7Ci0gICAgICAgIGF0dHJpYnV0
ZSBbUmVmbGVjdF0gRE9NU3RyaW5nIHZBbGlnbjsKLSAgICAgICAgYXR0cmlidXRlIFtSZWZsZWN0
XSBET01TdHJpbmcgd2lkdGg7CisKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGxvbmcgICAg
ICAgICAgICBjZWxsSW5kZXg7CisgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBbQ29udmVydE51
bGxUb051bGxTdHJpbmddIERPTVN0cmluZyAgICAgICBhYmJyOworICAgICAgICAgICAgICAgICBh
dHRyaWJ1dGUgW0NvbnZlcnROdWxsVG9OdWxsU3RyaW5nXSBET01TdHJpbmcgICAgICAgYWxpZ247
CisgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBbQ29udmVydE51bGxUb051bGxTdHJpbmddIERP
TVN0cmluZyAgICAgICBheGlzOworICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgW0NvbnZlcnRO
dWxsVG9OdWxsU3RyaW5nXSBET01TdHJpbmcgICAgICAgYmdDb2xvcjsKKyAgICAgICAgICAgICAg
ICAgYXR0cmlidXRlIFtDb252ZXJ0TnVsbFRvTnVsbFN0cmluZ10gRE9NU3RyaW5nICAgICAgIGNo
OworICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgW0NvbnZlcnROdWxsVG9OdWxsU3RyaW5nXSBE
T01TdHJpbmcgICAgICAgY2hPZmY7CisgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBsb25nICAg
ICAgICAgICAgY29sU3BhbjsKKyAgICAgICAgICAgICAgICAgYXR0cmlidXRlIFtDb252ZXJ0TnVs
bFRvTnVsbFN0cmluZ10gRE9NU3RyaW5nICAgICAgIGhlYWRlcnM7CisgICAgICAgICAgICAgICAg
IGF0dHJpYnV0ZSBbQ29udmVydE51bGxUb051bGxTdHJpbmddIERPTVN0cmluZyAgICAgICBoZWln
aHQ7CisgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBib29sZWFuICAgICAgICAgbm9XcmFwOwor
ICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgbG9uZyAgICAgICAgICAgIHJvd1NwYW47CisgICAg
ICAgICAgICAgICAgIGF0dHJpYnV0ZSBbQ29udmVydE51bGxUb051bGxTdHJpbmddIERPTVN0cmlu
ZyAgICAgICBzY29wZTsKKyAgICAgICAgICAgICAgICAgYXR0cmlidXRlIFtDb252ZXJ0TnVsbFRv
TnVsbFN0cmluZ10gRE9NU3RyaW5nICAgICAgIHZBbGlnbjsKKyAgICAgICAgICAgICAgICAgYXR0
cmlidXRlIFtDb252ZXJ0TnVsbFRvTnVsbFN0cmluZ10gRE9NU3RyaW5nICAgICAgIHdpZHRoOwor
CiAgICAgfTsKIAogfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0hUTUxUYWJsZUNvbEVsZW1l
bnQuaWRsIGIvV2ViQ29yZS9odG1sL0hUTUxUYWJsZUNvbEVsZW1lbnQuaWRsCmluZGV4IGE2ZTY2
NTQwMTJiNDVjY2QzMzFlNjNhYjY0OTZkY2U5NjVlOTA4MjMuLjQ1M2ZmM2ZkOGYyYTIzMDQ0NzZj
ZGUyNjFiZGE3NWJiMWFiY2QyM2MgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9IVE1MVGFibGVD
b2xFbGVtZW50LmlkbAorKysgYi9XZWJDb3JlL2h0bWwvSFRNTFRhYmxlQ29sRWxlbWVudC5pZGwK
QEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDA2LCAyMDA3LCAyMDEwIEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwNiwgMjAw
NyBBcHBsZSBJbmMuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDYgU2FtdWVsIFdlaW5pZyA8c2FtLndl
aW5pZ0BnbWFpbC5jb20+CiAgKgogICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlv
dSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgpAQCAtMjEsMTIgKzIxLDE0IEBACiBtb2R1bGUg
aHRtbCB7CiAKICAgICBpbnRlcmZhY2UgSFRNTFRhYmxlQ29sRWxlbWVudCA6IEhUTUxFbGVtZW50
IHsKLSAgICAgICAgYXR0cmlidXRlIFtSZWZsZWN0XSBET01TdHJpbmcgYWxpZ247Ci0gICAgICAg
IGF0dHJpYnV0ZSBbUmVmbGVjdD1jaGFyXSBET01TdHJpbmcgY2g7Ci0gICAgICAgIGF0dHJpYnV0
ZSBbUmVmbGVjdD1jaGFyb2ZmXSBET01TdHJpbmcgY2hPZmY7Ci0gICAgICAgIGF0dHJpYnV0ZSBs
b25nIHNwYW47Ci0gICAgICAgIGF0dHJpYnV0ZSBbUmVmbGVjdF0gRE9NU3RyaW5nIHZBbGlnbjsK
LSAgICAgICAgYXR0cmlidXRlIFtSZWZsZWN0XSBET01TdHJpbmcgd2lkdGg7CisKKyAgICAgICAg
YXR0cmlidXRlIFtDb252ZXJ0TnVsbFRvTnVsbFN0cmluZ10gRE9NU3RyaW5nICAgICAgIGFsaWdu
OworICAgICAgICBhdHRyaWJ1dGUgW0NvbnZlcnROdWxsVG9OdWxsU3RyaW5nXSBET01TdHJpbmcg
ICAgICAgY2g7CisgICAgICAgIGF0dHJpYnV0ZSBbQ29udmVydE51bGxUb051bGxTdHJpbmddIERP
TVN0cmluZyAgICAgICBjaE9mZjsKKyAgICAgICAgYXR0cmlidXRlIGxvbmcgICAgICAgICAgICBz
cGFuOworICAgICAgICBhdHRyaWJ1dGUgW0NvbnZlcnROdWxsVG9OdWxsU3RyaW5nXSBET01TdHJp
bmcgICAgICAgdkFsaWduOworICAgICAgICBhdHRyaWJ1dGUgW0NvbnZlcnROdWxsVG9OdWxsU3Ry
aW5nXSBET01TdHJpbmcgICAgICAgd2lkdGg7CisKICAgICB9OwogCiB9CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2h0bWwvSFRNTFRhYmxlRWxlbWVudC5pZGwgYi9XZWJDb3JlL2h0bWwvSFRNTFRhYmxl
RWxlbWVudC5pZGwKaW5kZXggZmRkYjI3YTMwNDE4OGY0MmFkNTJmZGZkMGUzNTEzZDBiZDMxNWJi
Zi4uOWNkNzJiMDVlMDk4ZWI2ZGYwMTBkMDQxYWQ2MmU4NWUyZTBmMjFiNyAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9odG1sL0hUTUxUYWJsZUVsZW1lbnQuaWRsCisrKyBiL1dlYkNvcmUvaHRtbC9IVE1M
VGFibGVFbGVtZW50LmlkbApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIw
MDYsIDIwMDcsIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJp
Z2h0IChDKSAyMDA2LCAyMDA3IEFwcGxlIEluYy4KICAqIENvcHlyaWdodCAoQykgMjAwNiBTYW11
ZWwgV2VpbmlnIDxzYW0ud2VpbmlnQGdtYWlsLmNvbT4KICAqCiAgKiBUaGlzIGxpYnJhcnkgaXMg
ZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCkBAIC0yMSwzMyAr
MjEsNDMgQEAKIG1vZHVsZSBodG1sIHsKIAogICAgIGludGVyZmFjZSBIVE1MVGFibGVFbGVtZW50
IDogSFRNTEVsZW1lbnQgewotICAgICAgICBhdHRyaWJ1dGUgSFRNTFRhYmxlQ2FwdGlvbkVsZW1l
bnQgY2FwdGlvbiBzZXR0ZXIgcmFpc2VzKERPTUV4Y2VwdGlvbik7Ci0gICAgICAgIGF0dHJpYnV0
ZSBIVE1MVGFibGVTZWN0aW9uRWxlbWVudCB0SGVhZCBzZXR0ZXIgcmFpc2VzKERPTUV4Y2VwdGlv
bik7Ci0gICAgICAgIGF0dHJpYnV0ZSBIVE1MVGFibGVTZWN0aW9uRWxlbWVudCB0Rm9vdCBzZXR0
ZXIgcmFpc2VzKERPTUV4Y2VwdGlvbik7CisKKyAgICAgICAgLy8gY291bGQgcmFpc2UgZXhjZXBl
dGlvbnMgb24gc2V0dGluZy4KKyAgICAgICAgICAgICAgICAgYXR0cmlidXRlIEhUTUxUYWJsZUNh
cHRpb25FbGVtZW50IGNhcHRpb24KKyAgICAgICAgICAgICAgICAgICAgIHNldHRlciByYWlzZXMo
RE9NRXhjZXB0aW9uKTsKKyAgICAgICAgICAgICAgICAgYXR0cmlidXRlIEhUTUxUYWJsZVNlY3Rp
b25FbGVtZW50IHRIZWFkCisgICAgICAgICAgICAgICAgICAgICBzZXR0ZXIgcmFpc2VzKERPTUV4
Y2VwdGlvbik7CisgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBIVE1MVGFibGVTZWN0aW9uRWxl
bWVudCB0Rm9vdAorICAgICAgICAgICAgICAgICAgICAgc2V0dGVyIHJhaXNlcyhET01FeGNlcHRp
b24pOwogCiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBIVE1MQ29sbGVjdGlvbiByb3dzOwog
ICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgSFRNTENvbGxlY3Rpb24gdEJvZGllczsKLSAgICAg
ICAgYXR0cmlidXRlIFtSZWZsZWN0XSBET01TdHJpbmcgYWxpZ247Ci0gICAgICAgIGF0dHJpYnV0
ZSBbUmVmbGVjdF0gRE9NU3RyaW5nIGJnQ29sb3I7Ci0gICAgICAgIGF0dHJpYnV0ZSBbUmVmbGVj
dF0gRE9NU3RyaW5nIGJvcmRlcjsKLSAgICAgICAgYXR0cmlidXRlIFtSZWZsZWN0XSBET01TdHJp
bmcgY2VsbFBhZGRpbmc7Ci0gICAgICAgIGF0dHJpYnV0ZSBbUmVmbGVjdF0gRE9NU3RyaW5nIGNl
bGxTcGFjaW5nOworICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgW0NvbnZlcnROdWxsVG9OdWxs
U3RyaW5nXSBET01TdHJpbmcgYWxpZ247CisgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBbQ29u
dmVydE51bGxUb051bGxTdHJpbmddIERPTVN0cmluZyBiZ0NvbG9yOworICAgICAgICAgICAgICAg
ICBhdHRyaWJ1dGUgW0NvbnZlcnROdWxsVG9OdWxsU3RyaW5nXSBET01TdHJpbmcgYm9yZGVyOwor
ICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgW0NvbnZlcnROdWxsVG9OdWxsU3RyaW5nXSBET01T
dHJpbmcgY2VsbFBhZGRpbmc7CisgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBbQ29udmVydE51
bGxUb051bGxTdHJpbmddIERPTVN0cmluZyBjZWxsU3BhY2luZzsKIAotICAgICAgICBhdHRyaWJ1
dGUgW1JlZmxlY3RdIERPTVN0cmluZyBmcmFtZTsKKyAgICAgICAgLy8gRklYTUU6IHRoZSBvYmot
YyBhdHRyaWJ1dGUgaXMgY2FsbGVkIGZyYW1lQm9yZGVycworICAgICAgICAgICAgICAgICBhdHRy
aWJ1dGUgW0NvbnZlcnROdWxsVG9OdWxsU3RyaW5nXSBET01TdHJpbmcgZnJhbWU7CiAKLSAgICAg
ICAgYXR0cmlidXRlIFtSZWZsZWN0XSBET01TdHJpbmcgcnVsZXM7Ci0gICAgICAgIGF0dHJpYnV0
ZSBbUmVmbGVjdF0gRE9NU3RyaW5nIHN1bW1hcnk7Ci0gICAgICAgIGF0dHJpYnV0ZSBbUmVmbGVj
dF0gRE9NU3RyaW5nIHdpZHRoOworICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgW0NvbnZlcnRO
dWxsVG9OdWxsU3RyaW5nXSBET01TdHJpbmcgcnVsZXM7CisgICAgICAgICAgICAgICAgIGF0dHJp
YnV0ZSBbQ29udmVydE51bGxUb051bGxTdHJpbmddIERPTVN0cmluZyBzdW1tYXJ5OworICAgICAg
ICAgICAgICAgICBhdHRyaWJ1dGUgW0NvbnZlcnROdWxsVG9OdWxsU3RyaW5nXSBET01TdHJpbmcg
d2lkdGg7CiAKLSAgICAgICAgSFRNTEVsZW1lbnQgY3JlYXRlVEhlYWQoKTsKLSAgICAgICAgdm9p
ZCBkZWxldGVUSGVhZCgpOworICAgICAgICBIVE1MRWxlbWVudCAgICAgICAgY3JlYXRlVEhlYWQo
KTsKKyAgICAgICAgdm9pZCAgICAgICAgICAgICAgIGRlbGV0ZVRIZWFkKCk7CiAgICAgICAgIEhU
TUxFbGVtZW50ICAgICAgICBjcmVhdGVURm9vdCgpOwotICAgICAgICB2b2lkIGRlbGV0ZVRGb290
KCk7Ci0gICAgICAgIEhUTUxFbGVtZW50IGNyZWF0ZUNhcHRpb24oKTsKLSAgICAgICAgdm9pZCBk
ZWxldGVDYXB0aW9uKCk7CisgICAgICAgIHZvaWQgICAgICAgICAgICAgICBkZWxldGVURm9vdCgp
OworICAgICAgICBIVE1MRWxlbWVudCAgICAgICAgY3JlYXRlQ2FwdGlvbigpOworICAgICAgICB2
b2lkICAgICAgICAgICAgICAgZGVsZXRlQ2FwdGlvbigpOworCisgICAgICAgIEhUTUxFbGVtZW50
IGluc2VydFJvdyhpbiBsb25nIGluZGV4KQorICAgICAgICAgICAgcmFpc2VzKERPTUV4Y2VwdGlv
bik7CisKKyAgICAgICAgdm9pZCBkZWxldGVSb3coaW4gbG9uZyBpbmRleCkKKyAgICAgICAgICAg
IHJhaXNlcyhET01FeGNlcHRpb24pOwogCi0gICAgICAgIEhUTUxFbGVtZW50IGluc2VydFJvdyhp
biBsb25nIGluZGV4KSByYWlzZXMoRE9NRXhjZXB0aW9uKTsKLSAgICAgICAgdm9pZCBkZWxldGVS
b3coaW4gbG9uZyBpbmRleCkgcmFpc2VzKERPTUV4Y2VwdGlvbik7CiAgICAgfTsKIAogfQpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9odG1sL0hUTUxUYWJsZVJvd0VsZW1lbnQuaWRsIGIvV2ViQ29yZS9o
dG1sL0hUTUxUYWJsZVJvd0VsZW1lbnQuaWRsCmluZGV4IDRlYjM0OGUxNTFiNGExMjAzNTcyN2My
ZGYxMDY4ZWNhMWQwNTdjNmUuLjA1MmI1MTZjZjMzOGZkYWVkN2VlYTQ3N2ZhZmVlZTgwYjYyNTJi
ZjUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9IVE1MVGFibGVSb3dFbGVtZW50LmlkbAorKysg
Yi9XZWJDb3JlL2h0bWwvSFRNTFRhYmxlUm93RWxlbWVudC5pZGwKQEAgLTEsNSArMSw1IEBACiAv
KgotICogQ29weXJpZ2h0IChDKSAyMDA2LCAyMDA3LCAyMDEwIEFwcGxlIEluYy4gQUxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwNiwgMjAwNyBBcHBsZSBJbmMuCiAgKiBD
b3B5cmlnaHQgKEMpIDIwMDYgU2FtdWVsIFdlaW5pZyA8c2FtLndlaW5pZ0BnbWFpbC5jb20+CiAg
KgogICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRl
IGl0IGFuZC9vcgpAQCAtMjEsMTYgKzIxLDIxIEBACiBtb2R1bGUgaHRtbCB7CiAKICAgICBpbnRl
cmZhY2UgSFRNTFRhYmxlUm93RWxlbWVudCA6IEhUTUxFbGVtZW50IHsKLSAgICAgICAgcmVhZG9u
bHkgYXR0cmlidXRlIGxvbmcgcm93SW5kZXg7Ci0gICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBs
b25nIHNlY3Rpb25Sb3dJbmRleDsKLSAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIEhUTUxDb2xs
ZWN0aW9uIGNlbGxzOwotICAgICAgICBhdHRyaWJ1dGUgW1JlZmxlY3RdIERPTVN0cmluZyBhbGln
bjsKLSAgICAgICAgYXR0cmlidXRlIFtSZWZsZWN0XSBET01TdHJpbmcgYmdDb2xvcjsKLSAgICAg
ICAgYXR0cmlidXRlIFtSZWZsZWN0PWNoYXJdIERPTVN0cmluZyBjaDsKLSAgICAgICAgYXR0cmli
dXRlIFtSZWZsZWN0PWNoYXJvZmZdIERPTVN0cmluZyBjaE9mZjsKLSAgICAgICAgYXR0cmlidXRl
IFtSZWZsZWN0XSBET01TdHJpbmcgdkFsaWduOwotICAgICAgICBIVE1MRWxlbWVudCBpbnNlcnRD
ZWxsKGluIGxvbmcgaW5kZXgpIHJhaXNlcyhET01FeGNlcHRpb24pOwotICAgICAgICB2b2lkIGRl
bGV0ZUNlbGwoaW4gbG9uZyBpbmRleCkgcmFpc2VzKERPTUV4Y2VwdGlvbik7CisKKyAgICAgICAg
cmVhZG9ubHkgYXR0cmlidXRlIGxvbmcgICAgICAgICAgICByb3dJbmRleDsKKyAgICAgICAgcmVh
ZG9ubHkgYXR0cmlidXRlIGxvbmcgICAgICAgICAgICBzZWN0aW9uUm93SW5kZXg7CisgICAgICAg
IHJlYWRvbmx5IGF0dHJpYnV0ZSBIVE1MQ29sbGVjdGlvbiAgY2VsbHM7CisgICAgICAgICAgICAg
ICAgIGF0dHJpYnV0ZSBbQ29udmVydE51bGxUb051bGxTdHJpbmddIERPTVN0cmluZyAgICAgICBh
bGlnbjsKKyAgICAgICAgICAgICAgICAgYXR0cmlidXRlIFtDb252ZXJ0TnVsbFRvTnVsbFN0cmlu
Z10gRE9NU3RyaW5nICAgICAgIGJnQ29sb3I7CisgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBb
Q29udmVydE51bGxUb051bGxTdHJpbmddIERPTVN0cmluZyAgICAgICBjaDsKKyAgICAgICAgICAg
ICAgICAgYXR0cmlidXRlIFtDb252ZXJ0TnVsbFRvTnVsbFN0cmluZ10gRE9NU3RyaW5nICAgICAg
IGNoT2ZmOworICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgW0NvbnZlcnROdWxsVG9OdWxsU3Ry
aW5nXSBET01TdHJpbmcgICAgICAgdkFsaWduOworCisgICAgICAgIEhUTUxFbGVtZW50ICAgICAg
ICBpbnNlcnRDZWxsKGluIGxvbmcgaW5kZXgpCisgICAgICAgICAgICByYWlzZXMoRE9NRXhjZXB0
aW9uKTsKKyAgICAgICAgdm9pZCAgICAgICAgICAgICAgIGRlbGV0ZUNlbGwoaW4gbG9uZyBpbmRl
eCkKKyAgICAgICAgICAgIHJhaXNlcyhET01FeGNlcHRpb24pOworCiAgICAgfTsKIAogfQpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9odG1sL0hUTUxUYWJsZVNlY3Rpb25FbGVtZW50LmlkbCBiL1dlYkNv
cmUvaHRtbC9IVE1MVGFibGVTZWN0aW9uRWxlbWVudC5pZGwKaW5kZXggMjA2NWQ2ZTFkOWM2NDVm
N2UxM2RmOGZlM2Y5Y2NkYTIyMDJlYWJlZC4uNTdlNDI5MzYxODYxYjQyMjY5MTIwNjE4ODVjZDQ0
YTVkOGFmNjM2MyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0hUTUxUYWJsZVNlY3Rpb25FbGVt
ZW50LmlkbAorKysgYi9XZWJDb3JlL2h0bWwvSFRNTFRhYmxlU2VjdGlvbkVsZW1lbnQuaWRsCkBA
IC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAwNiwgMjAwNywgMjAxMCBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMDcg
QXBwbGUgSW5jLgogICogQ29weXJpZ2h0IChDKSAyMDA2IFNhbXVlbCBXZWluaWcgPHNhbS53ZWlu
aWdAZ21haWwuY29tPgogICoKICAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3Ug
Y2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKQEAgLTIzLDEzICsyMywxOCBAQCBtb2R1bGUgaHRt
bCB7CiAgICAgaW50ZXJmYWNlIFsKICAgICAgICAgR2VuZXJhdGVOYXRpdmVDb252ZXJ0ZXIKICAg
ICBdIEhUTUxUYWJsZVNlY3Rpb25FbGVtZW50IDogSFRNTEVsZW1lbnQgewotICAgICAgICBhdHRy
aWJ1dGUgW1JlZmxlY3RdIERPTVN0cmluZyBhbGlnbjsKLSAgICAgICAgYXR0cmlidXRlIFtSZWZs
ZWN0PWNoYXJdIERPTVN0cmluZyBjaDsKLSAgICAgICAgYXR0cmlidXRlIFtSZWZsZWN0PWNoYXJv
ZmZdIERPTVN0cmluZyBjaE9mZjsKLSAgICAgICAgYXR0cmlidXRlIFtSZWZsZWN0XSBET01TdHJp
bmcgdkFsaWduOwotICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgSFRNTENvbGxlY3Rpb24gcm93
czsKLSAgICAgICAgSFRNTEVsZW1lbnQgaW5zZXJ0Um93KGluIGxvbmcgaW5kZXgpIHJhaXNlcyhE
T01FeGNlcHRpb24pOwotICAgICAgICB2b2lkIGRlbGV0ZVJvdyhpbiBsb25nIGluZGV4KSByYWlz
ZXMoRE9NRXhjZXB0aW9uKTsKKworICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgW0NvbnZlcnRO
dWxsVG9OdWxsU3RyaW5nXSBET01TdHJpbmcgICAgICAgYWxpZ247CisgICAgICAgICAgICAgICAg
IGF0dHJpYnV0ZSBbQ29udmVydE51bGxUb051bGxTdHJpbmddIERPTVN0cmluZyAgICAgICBjaDsK
KyAgICAgICAgICAgICAgICAgYXR0cmlidXRlIFtDb252ZXJ0TnVsbFRvTnVsbFN0cmluZ10gRE9N
U3RyaW5nICAgICAgIGNoT2ZmOworICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgW0NvbnZlcnRO
dWxsVG9OdWxsU3RyaW5nXSBET01TdHJpbmcgICAgICAgdkFsaWduOworICAgICAgICByZWFkb25s
eSBhdHRyaWJ1dGUgSFRNTENvbGxlY3Rpb24gIHJvd3M7CisKKyAgICAgICAgSFRNTEVsZW1lbnQg
ICAgICAgIGluc2VydFJvdyhpbiBsb25nIGluZGV4KQorICAgICAgICAgICAgcmFpc2VzKERPTUV4
Y2VwdGlvbik7CisgICAgICAgIHZvaWQgICAgICAgICAgICAgICBkZWxldGVSb3coaW4gbG9uZyBp
bmRleCkKKyAgICAgICAgICAgIHJhaXNlcyhET01FeGNlcHRpb24pOworCiAgICAgfTsKIAogfQpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0hUTUxUZXh0QXJlYUVsZW1lbnQuaWRsIGIvV2ViQ29y
ZS9odG1sL0hUTUxUZXh0QXJlYUVsZW1lbnQuaWRsCmluZGV4IGQ3OTdmMmNhNjc5OTVkYmMxZTFk
YTcwZTAxMjdkMDg4YzRlNTA2YjkuLmExN2YyZWMxOWQ3OTJhOTdlOTM4MmNlM2Y0OWMyNzIwNjZk
ZjJkMDAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9IVE1MVGV4dEFyZWFFbGVtZW50LmlkbAor
KysgYi9XZWJDb3JlL2h0bWwvSFRNTFRleHRBcmVhRWxlbWVudC5pZGwKQEAgLTEsNSArMSw1IEBA
CiAvKgotICogQ29weXJpZ2h0IChDKSAyMDA2LCAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwNiBBcHBsZSBDb21wdXRlciwgSW5jLgogICog
Q29weXJpZ2h0IChDKSAyMDA2IFNhbXVlbCBXZWluaWcgPHNhbS53ZWluaWdAZ21haWwuY29tPgog
ICoKICAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0
ZSBpdCBhbmQvb3IKQEAgLTIxLDM1ICsyMSwzNiBAQAogbW9kdWxlIGh0bWwgewogCiAgICAgaW50
ZXJmYWNlIEhUTUxUZXh0QXJlYUVsZW1lbnQgOiBIVE1MRWxlbWVudCB7Ci0gICAgICAgIGF0dHJp
YnV0ZSBbQ29udmVydE51bGxUb051bGxTdHJpbmddIERPTVN0cmluZyBkZWZhdWx0VmFsdWU7Ci0g
ICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSAgSFRNTEZvcm1FbGVtZW50IGZvcm07Ci0gICAgICAg
IHJlYWRvbmx5IGF0dHJpYnV0ZSAgVmFsaWRpdHlTdGF0ZSB2YWxpZGl0eTsKLSAgICAgICAgYXR0
cmlidXRlIERPTVN0cmluZyBhY2Nlc3NLZXk7Ci0gICAgICAgIGF0dHJpYnV0ZSBsb25nIGNvbHM7
Ci0gICAgICAgIGF0dHJpYnV0ZSBib29sZWFuIGRpc2FibGVkOwotICAgICAgICBhdHRyaWJ1dGUg
Ym9vbGVhbiBhdXRvZm9jdXM7Ci0gICAgICAgIGF0dHJpYnV0ZSBsb25nIG1heExlbmd0aCBzZXR0
ZXIgcmFpc2VzKERPTUV4Y2VwdGlvbik7Ci0gICAgICAgIGF0dHJpYnV0ZSBbQ29udmVydE51bGxU
b051bGxTdHJpbmddIERPTVN0cmluZyBuYW1lOwotICAgICAgICBhdHRyaWJ1dGUgW1JlZmxlY3Rd
IERPTVN0cmluZyBwbGFjZWhvbGRlcjsKLSAgICAgICAgYXR0cmlidXRlIGJvb2xlYW4gcmVhZE9u
bHk7Ci0gICAgICAgIGF0dHJpYnV0ZSAgYm9vbGVhbiByZXF1aXJlZDsKLSAgICAgICAgYXR0cmli
dXRlIGxvbmcgcm93czsKLSAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlICBET01TdHJpbmcgdHlw
ZTsKLSAgICAgICAgYXR0cmlidXRlIFtDb252ZXJ0TnVsbFRvTnVsbFN0cmluZ10gRE9NU3RyaW5n
IHZhbHVlOwotICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgIHVuc2lnbmVkIGxvbmcgdGV4dExl
bmd0aDsKKyAgICAgICAgICAgICAgICAgYXR0cmlidXRlICBbQ29udmVydE51bGxUb051bGxTdHJp
bmddIERPTVN0cmluZyAgICAgICAgICAgIGRlZmF1bHRWYWx1ZTsKKyAgICAgICAgcmVhZG9ubHkg
YXR0cmlidXRlICBIVE1MRm9ybUVsZW1lbnQgICAgICBmb3JtOworICAgICAgICByZWFkb25seSBh
dHRyaWJ1dGUgIFZhbGlkaXR5U3RhdGUgICAgICAgIHZhbGlkaXR5OworICAgICAgICAgICAgICAg
ICBhdHRyaWJ1dGUgIFtDb252ZXJ0TnVsbFRvTnVsbFN0cmluZ10gRE9NU3RyaW5nICAgICAgICAg
ICAgYWNjZXNzS2V5OworICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgIGxvbmcgICAgICAgICAg
ICAgICAgIGNvbHM7CisgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSAgYm9vbGVhbiAgICAgICAg
ICAgICAgZGlzYWJsZWQ7CisgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSAgYm9vbGVhbiAgICAg
ICAgICAgICAgYXV0b2ZvY3VzOworICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgIGxvbmcgICAg
ICAgICAgICAgICAgIG1heExlbmd0aAorICAgICAgICAgICAgICAgICAgICAgc2V0dGVyIHJhaXNl
cyhET01FeGNlcHRpb24pOworICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgIFtDb252ZXJ0TnVs
bFRvTnVsbFN0cmluZ10gRE9NU3RyaW5nICAgICAgICAgICAgbmFtZTsKKyAgICAgICAgICAgICAg
ICAgYXR0cmlidXRlICBbQ29udmVydE51bGxUb051bGxTdHJpbmcsIFJlZmxlY3RdIERPTVN0cmlu
ZyAgIHBsYWNlaG9sZGVyOworICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgIGJvb2xlYW4gICAg
ICAgICAgICAgIHJlYWRPbmx5OworICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgIGJvb2xlYW4g
ICAgICAgICAgICAgIHJlcXVpcmVkOworICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgIGxvbmcg
ICAgICAgICAgICAgICAgIHJvd3M7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSAgRE9NU3Ry
aW5nICAgICAgICAgICAgdHlwZTsKKyAgICAgICAgICAgICAgICAgYXR0cmlidXRlICBbQ29udmVy
dE51bGxUb051bGxTdHJpbmddIERPTVN0cmluZyAgICAgICAgICAgIHZhbHVlOworICAgICAgICBy
ZWFkb25seSBhdHRyaWJ1dGUgIHVuc2lnbmVkIGxvbmcgICAgICAgIHRleHRMZW5ndGg7CiAgICAg
ICAgIAotICAgICAgICB2b2lkIHNlbGVjdCgpOworICAgICAgICB2b2lkICAgICBzZWxlY3QoKTsK
IAotICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiB3aWxsVmFsaWRhdGU7Ci0gICAg
ICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgdmFsaWRhdGlvbk1lc3NhZ2U7Ci0gICAg
ICAgIGJvb2xlYW4gY2hlY2tWYWxpZGl0eSgpOwotICAgICAgICB2b2lkIHNldEN1c3RvbVZhbGlk
aXR5KGluIFtDb252ZXJ0VW5kZWZpbmVkT3JOdWxsVG9OdWxsU3RyaW5nXSBET01TdHJpbmcgZXJy
b3IpOworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiAgICAgICAgIHdpbGxWYWxp
ZGF0ZTsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyAgICAgICB2YWxpZGF0
aW9uTWVzc2FnZTsKKyAgICAgICAgYm9vbGVhbiAgY2hlY2tWYWxpZGl0eSgpOworICAgICAgICB2
b2lkICAgICBzZXRDdXN0b21WYWxpZGl0eShpbiBbQ29udmVydFVuZGVmaW5lZE9yTnVsbFRvTnVs
bFN0cmluZ10gRE9NU3RyaW5nIGVycm9yKTsKIAogICAgICAgIC8vIFdpbklFICYgRmlyZUZveCBl
eHRlbnNpb246Ci0gICAgICAgIGF0dHJpYnV0ZSBsb25nIHNlbGVjdGlvblN0YXJ0OwotICAgICAg
ICBhdHRyaWJ1dGUgbG9uZyBzZWxlY3Rpb25FbmQ7CisgICAgICAgICAgICAgICAgIGF0dHJpYnV0
ZSBsb25nIHNlbGVjdGlvblN0YXJ0OworICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgbG9uZyBz
ZWxlY3Rpb25FbmQ7CiAgICAgICAgIHZvaWQgc2V0U2VsZWN0aW9uUmFuZ2UoaW4gbG9uZyBzdGFy
dCwgaW4gbG9uZyBlbmQpOwotICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgIE5vZGVMaXN0IGxh
YmVsczsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlICBOb2RlTGlzdCAgICAgICAgICAgICAg
bGFiZWxzOwogICAgIH07CiAKIH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9IVE1MVUxpc3RF
bGVtZW50LmlkbCBiL1dlYkNvcmUvaHRtbC9IVE1MVUxpc3RFbGVtZW50LmlkbAppbmRleCBmNmQz
Yjc4Yzg5ZjMwMGU1OTQ5NzU4NDI4YjFhMjgyNjA3YjA4ODJhLi4zODQzNGYxNDhiZGM0MjY3Mzhl
NGM2MzU3ZDM5OTM1ZmI0YTBhYTEwIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvSFRNTFVMaXN0
RWxlbWVudC5pZGwKKysrIGIvV2ViQ29yZS9odG1sL0hUTUxVTGlzdEVsZW1lbnQuaWRsCkBAIC0x
LDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAwNiwgMjAxMCBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDYgQXBwbGUgQ29tcHV0ZXIs
IEluYy4KICAqCiAgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRp
c3RyaWJ1dGUgaXQgYW5kL29yCiAgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBH
TlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwpAQCAtMjEsNyArMjEsNyBAQCBtb2R1bGUgaHRtbCB7
CiAKICAgICBpbnRlcmZhY2UgSFRNTFVMaXN0RWxlbWVudCA6IEhUTUxFbGVtZW50IHsKICAgICAg
ICAgYXR0cmlidXRlIGJvb2xlYW4gY29tcGFjdDsKLSAgICAgICAgYXR0cmlidXRlIFtSZWZsZWN0
XSBET01TdHJpbmcgdHlwZTsKKyAgICAgICAgYXR0cmlidXRlIFtDb252ZXJ0TnVsbFRvTnVsbFN0
cmluZ10gRE9NU3RyaW5nIHR5cGU7CiAgICAgfTsKIAogfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9o
dG1sL0hUTUxWaWRlb0VsZW1lbnQuaWRsIGIvV2ViQ29yZS9odG1sL0hUTUxWaWRlb0VsZW1lbnQu
aWRsCmluZGV4IGQ3M2Q5MTI0NDhkNjJkNzYyZjc1ZGQ5MTA2NGQ3NDYzMGFlNmIxMzUuLjk1M2U0
NDczNzUyOTJhYjQwMDMwYjlkODdhMzYxNDMzMzZjZmI3NjYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
aHRtbC9IVE1MVmlkZW9FbGVtZW50LmlkbAorKysgYi9XZWJDb3JlL2h0bWwvSFRNTFZpZGVvRWxl
bWVudC5pZGwKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDA3LCAyMDEw
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwNyBB
cHBsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCkBAIC0yOCwxOSArMjgsMjIgQEAgbW9kdWxlIGh0bWwgewogICAgICAgICBDb25kaXRp
b25hbD1WSURFTywKICAgICAgICAgR2VuZXJhdGVOYXRpdmVDb252ZXJ0ZXIKICAgICBdIEhUTUxW
aWRlb0VsZW1lbnQgOiBIVE1MTWVkaWFFbGVtZW50IHsKLSAgICAgICAgYXR0cmlidXRlIFtSZWZs
ZWN0XSB1bnNpZ25lZCBsb25nIHdpZHRoOwotICAgICAgICBhdHRyaWJ1dGUgW1JlZmxlY3RdIHVu
c2lnbmVkIGxvbmcgaGVpZ2h0OworICAgICAgICBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyB3aWR0
aDsKKyAgICAgICAgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgaGVpZ2h0OwogICAgICAgICByZWFk
b25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyB2aWRlb1dpZHRoOwogICAgICAgICByZWFkb25s
eSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyB2aWRlb0hlaWdodDsKLSAgICAgICAgYXR0cmlidXRl
IFtDb252ZXJ0TnVsbFRvTnVsbFN0cmluZ10gRE9NU3RyaW5nIHBvc3RlcjsKKyAgICAgICAgICAg
ICAgICAgYXR0cmlidXRlIFtDb252ZXJ0TnVsbFRvTnVsbFN0cmluZ10gRE9NU3RyaW5nIHBvc3Rl
cjsKIAogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiB3ZWJraXRTdXBwb3J0c0Z1
bGxzY3JlZW47CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuIHdlYmtpdERpc3Bs
YXlpbmdGdWxsc2NyZWVuOwogCi0gICAgICAgIFtOZWVkc1VzZXJHZXN0dXJlQ2hlY2tdIHZvaWQg
d2Via2l0RW50ZXJGdWxsc2NyZWVuKCkgcmFpc2VzIChET01FeGNlcHRpb24pOworICAgICAgICBb
TmVlZHNVc2VyR2VzdHVyZUNoZWNrXSB2b2lkIHdlYmtpdEVudGVyRnVsbHNjcmVlbigpCisgICAg
ICAgICAgICByYWlzZXMgKERPTUV4Y2VwdGlvbik7CiAgICAgICAgIHZvaWQgd2Via2l0RXhpdEZ1
bGxzY3JlZW4oKTsKICAgICAKLSAgICAgICAgW05lZWRzVXNlckdlc3R1cmVDaGVja10gdm9pZCB3
ZWJraXRFbnRlckZ1bGxTY3JlZW4oKSByYWlzZXMgKERPTUV4Y2VwdGlvbik7CisgICAgICAgIFtO
ZWVkc1VzZXJHZXN0dXJlQ2hlY2tdIHZvaWQgd2Via2l0RW50ZXJGdWxsU2NyZWVuKCkKKyAgICAg
ICAgICAgIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKICAgICAgICAgdm9pZCB3ZWJraXRFeGl0RnVs
bFNjcmVlbigpOworCiAgICAgfTsKIH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3ZnL1NWR0VsZW1l
bnQuaWRsIGIvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudC5pZGwKaW5kZXggY2VjYWExOGRkODg3MTg5
NGVhZmU0MWQ3MGZlMTcyYWU0NGNjNjRmNC4uMjdmY2I4ZDFmOTMxZjg3OTQwNGJlNDM1ZWQwYjBm
MzQ2M2RkMmRjMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudC5pZGwKKysrIGIv
V2ViQ29yZS9zdmcvU1ZHRWxlbWVudC5pZGwKQEAgLTIzLDggKzIzLDEwIEBACiBtb2R1bGUgc3Zn
IHsKIAogICAgIGludGVyZmFjZSBbR2VuZXJhdGVOYXRpdmVDb252ZXJ0ZXIsIENvbmRpdGlvbmFs
PVNWR10gU1ZHRWxlbWVudCA6IEVsZW1lbnQgewotICAgICAgICBhdHRyaWJ1dGUgW1JlZmxlY3Rd
IERPTVN0cmluZyBpZCBzZXR0ZXIgcmFpc2VzKERPTUV4Y2VwdGlvbik7Ci0gICAgICAgIGF0dHJp
YnV0ZSBbQ29udmVydE51bGxUb051bGxTdHJpbmddIERPTVN0cmluZyB4bWxiYXNlIHNldHRlciBy
YWlzZXMoRE9NRXhjZXB0aW9uKTsKKyAgICAgICAgICAgICAgICAgYXR0cmlidXRlIFtDb252ZXJ0
TnVsbFRvTnVsbFN0cmluZywgUmVmbGVjdF0gRE9NU3RyaW5nIGlkCisgICAgICAgICAgICAgICAg
ICAgICBzZXR0ZXIgcmFpc2VzKERPTUV4Y2VwdGlvbik7CisgICAgICAgICAgICAgICAgIGF0dHJp
YnV0ZSBbQ29udmVydE51bGxUb051bGxTdHJpbmddIERPTVN0cmluZyB4bWxiYXNlCisgICAgICAg
ICAgICAgICAgICAgICBzZXR0ZXIgcmFpc2VzKERPTUV4Y2VwdGlvbik7CiAgICAgICAgIHJlYWRv
bmx5IGF0dHJpYnV0ZSBTVkdTVkdFbGVtZW50IG93bmVyU1ZHRWxlbWVudDsKICAgICAgICAgcmVh
ZG9ubHkgYXR0cmlidXRlIFNWR0VsZW1lbnQgdmlld3BvcnRFbGVtZW50OwogICAgIH07Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>