<?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>113017</bug_id>
          
          <creation_ts>2013-03-22 01:01:27 -0700</creation_ts>
          <short_desc>REGRESSION(r146534): &quot;r146534 caused perf regression on Chromium Linux x64&quot; (Requested by yurys on #webkit).</short_desc>
          <delta_ts>2013-03-22 01:14:34 -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>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>112430</blocked>
    
    <blocked>112538</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>esprehn</cc>
    
    <cc>jochen</cc>
    
    <cc>marja</cc>
    
    <cc>morrita</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>861187</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-22 01:01:27 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/146534 broke the build:
&quot;r146534 caused perf regression on Chromium Linux x64&quot; (Requested by yurys 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>861189</commentid>
    <comment_count>1</comment_count>
      <attachid>194462</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-22 01:02:03 -0700</bug_when>
    <thetext>Created attachment 194462
ROLLOUT of r146534

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

where ATTACHMENT_ID is the ID of this attachment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>861195</commentid>
    <comment_count>2</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2013-03-22 01:06:08 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/146534 has likely caused Chromium Linux x64 perf regression:
http://build.chromium.org/p/chromium/builders/Linux%20x64/builds/47214

WebKit changes rolled in https://src.chromium.org/viewvc/chrome?view=rev&amp;revision=189758 are:
http://trac.webkit.org/log/?rev=146554&amp;stop_rev=146526&amp;verbose=o


146565 depends on changes in 146534 so I&apos;m reverting both of them even though 146565 has nothing to do with the regression.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>861201</commentid>
    <comment_count>3</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2013-03-22 01:08:29 -0700</bug_when>
    <thetext>*** Bug 113013 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>861208</commentid>
    <comment_count>4</comment_count>
      <attachid>194462</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-22 01:14:30 -0700</bug_when>
    <thetext>Comment on attachment 194462
ROLLOUT of r146534

Clearing flags on attachment: 194462

Committed r146572: &lt;http://trac.webkit.org/changeset/146572&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>861209</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-22 01:14:34 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>194462</attachid>
            <date>2013-03-22 01:02:03 -0700</date>
            <delta_ts>2013-03-22 01:14:30 -0700</delta_ts>
            <desc>ROLLOUT of r146534</desc>
            <filename>bug-113017-20130322075750.patch</filename>
            <type>text/plain</type>
            <size>99081</size>
            <attacher name="WebKit Review Bot">webkit.review.bot</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ2NTcwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGFmOWQ1OGE5MTE0MjE0ZDEwY2E4OGFl
NDhiZjk1NWY0ZDViYWJkOGIuLjk4M2Y2ZWJmMDc1OTVjYjBkMzM2YTQzMDlhNzgzNGRiZGRlMzYw
MjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTMtMDMtMjIgIFNoZXJpZmYgQm90ICA8d2Via2l0
LnJldmlldy5ib3RAZ21haWwuY29tPgorCisgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0
IHIxNDY1MzQgYW5kIHIxNDY1NjUuCisgICAgICAgIGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvY2hh
bmdlc2V0LzE0NjUzNAorICAgICAgICBodHRwOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC8x
NDY1NjUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEx
MzAxNworCisgICAgICAgICJyMTQ2NTM0IGNhdXNlZCBwZXJmIHJlZ3Jlc3Npb24gb24gQ2hyb21p
dW0gTGludXggeDY0IgorICAgICAgICAoUmVxdWVzdGVkIGJ5IHl1cnlzIG9uICN3ZWJraXQpLgor
CisgICAgICAgICogd3RmL0hhc2hTZXQuaDoKKyAgICAgICAgKFdURik6CisgICAgICAgIChXVEY6
OmNvcHlUb1ZlY3Rvcik6CisKIDIwMTMtMDMtMjEgIEhhamltZSBNb3JyaXRhICA8bW9ycml0YUBn
b29nbGUuY29tPgogCiAgICAgICAgIEN1c3RvbSBFbGVtZW50czogInJlYWR5Q2FsbGJhY2siIGxp
ZmVjeWNsZSBjYWxsYmFjayBzaG91bGQgYmUgY2FsbGVkLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGU1M2M4NTg0
YTQ0NzEzMTcwMTlkOGFjOGIwYjdiN2Q3OGRjNWEzZTguLjEyZDkzNDQ3YmNkZDYzNDg3M2VjOTEz
ZmUzZmIxYzgzNTllN2Q4ZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw3OCBAQAorMjAxMy0wMy0y
MiAgU2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5jb20+CisKKyAgICAgICAg
VW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjE0NjUzNCBhbmQgcjE0NjU2NS4KKyAgICAgICAgaHR0
cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvMTQ2NTM0CisgICAgICAgIGh0dHA6Ly90cmFj
LndlYmtpdC5vcmcvY2hhbmdlc2V0LzE0NjU2NQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEzMDE3CisKKyAgICAgICAgInIxNDY1MzQgY2F1c2VkIHBl
cmYgcmVncmVzc2lvbiBvbiBDaHJvbWl1bSBMaW51eCB4NjQiCisgICAgICAgIChSZXF1ZXN0ZWQg
YnkgeXVyeXMgb24gI3dlYmtpdCkuCisKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVH
ZW5lcmF0b3JWOC5wbToKKyAgICAgICAgKEdlbmVyYXRlTm9ybWFsQXR0clNldHRlcik6CisgICAg
ICAgIChHZW5lcmF0ZU92ZXJsb2FkZWRGdW5jdGlvbik6CisgICAgICAgIChHZW5lcmF0ZUZ1bmN0
aW9uQ2FsbGJhY2spOgorICAgICAgICAoR2VuZXJhdGVGdW5jdGlvbik6CisgICAgICAgIChHZW5l
cmF0ZVBhcmFtZXRlcnNDaGVjayk6CisgICAgICAgIChHZW5lcmF0ZVNpbmdsZUNvbnN0cnVjdG9y
Q2FsbGJhY2spOgorICAgICAgICAoR2VuZXJhdGVOb25TdGFuZGFyZEZ1bmN0aW9uKToKKyAgICAg
ICAgKEdlbmVyYXRlSW1wbGVtZW50YXRpb24pOgorICAgICAgICAoR2VuZXJhdGVGdW5jdGlvbkNh
bGxTdHJpbmcpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvSURMQXR0cmlidXRlcy50eHQ6
CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4RmxvYXQ2NEFycmF5LmNwcDoK
KyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9W
OFRlc3RDdXN0b21OYW1lZEdldHRlci5jcHA6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAg
KiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0RXZlbnRUYXJnZXQuY3BwOgorICAgICAg
ICAoV2ViQ29yZSk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdElu
dGVyZmFjZS5jcHA6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvVjgvVjhUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5jcHA6CisgICAgICAgIChX
ZWJDb3JlKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0T2JqLmNw
cDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9W
OC9WOFRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UuY3BwOgorICAgICAgICAoV2Vi
Q29yZSk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdFR5cGVkZWZz
LmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L0N1c3RvbUVs
ZW1lbnRIZWxwZXJzLmNwcDoKKyAgICAgICAgKiBiaW5kaW5ncy92OC9DdXN0b21FbGVtZW50SGVs
cGVycy5oOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChDdXN0b21FbGVtZW50SGVscGVy
cyk6CisgICAgICAgICogYmluZGluZ3MvdjgvVjhET01Db25maWd1cmF0aW9uLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlY4RE9NQ29uZmlndXJhdGlvbjo6YmF0Y2hDb25maWd1cmVDYWxsYmFja3Mp
OgorICAgICAgICAoV2ViQ29yZTo6VjhET01Db25maWd1cmF0aW9uOjpjb25maWd1cmVUZW1wbGF0
ZSk6CisgICAgICAgICogYmluZGluZ3MvdjgvVjhET01Db25maWd1cmF0aW9uLmg6CisgICAgICAg
IChCYXRjaGVkTWV0aG9kKToKKyAgICAgICAgKFY4RE9NQ29uZmlndXJhdGlvbik6CisgICAgICAg
ICogYmluZGluZ3MvdjgvVjhSZWN1cnNpb25TY29wZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpW
OFJlY3Vyc2lvblNjb3BlOjpkaWRMZWF2ZVNjcmlwdENvbnRleHQpOgorICAgICAgICAqIGRvbS9D
dXN0b21FbGVtZW50Q29uc3RydWN0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q3VzdG9tRWxl
bWVudENvbnN0cnVjdG9yOjpjcmVhdGVFbGVtZW50KToKKyAgICAgICAgKiBkb20vQ3VzdG9tRWxl
bWVudENvbnN0cnVjdG9yLmg6CisgICAgICAgIChDdXN0b21FbGVtZW50Q29uc3RydWN0b3IpOgor
ICAgICAgICAqIGRvbS9DdXN0b21FbGVtZW50UmVnaXN0cnkuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6Q3VzdG9tRWxlbWVudFJlZ2lzdHJ5Ojp+Q3VzdG9tRWxlbWVudFJlZ2lzdHJ5KToKKyAgICAg
ICAgKiBkb20vQ3VzdG9tRWxlbWVudFJlZ2lzdHJ5Lmg6CisgICAgICAgIChXZWJDb3JlKToKKyAg
ICAgICAgKEN1c3RvbUVsZW1lbnRSZWdpc3RyeSk6CisgICAgICAgICogZG9tL0RvY3VtZW50LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpjcmVhdGVFbGVtZW50KToKKyAgICAgICAg
KFdlYkNvcmU6OkRvY3VtZW50OjpyZWdpc3RlckVsZW1lbnQpOgorICAgICAgICAqIGRvbS9Eb2N1
bWVudC5oOgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5pZGw6CisgICAgICAgICogZG9tL0VsZW1l
bnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6cGFyc2VyU2V0QXR0cmlidXRlcyk6
CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50OjpjbG9uZUF0dHJpYnV0ZXNGcm9tRWxlbWVudCk6
CisgICAgICAgICogZG9tL0VsZW1lbnQuaDoKKyAgICAgICAgKiBkb20vRWxlbWVudC5pZGw6Cisg
ICAgICAgICogZG9tL05vZGUuaWRsOgorICAgICAgICAqIGRvbS9TaGFkb3dSb290LmlkbDoKKyAg
ICAgICAgKiBodG1sL0hUTUxFbGVtZW50LmlkbDoKKyAgICAgICAgKiBodG1sL3BhcnNlci9IVE1M
U2NyaXB0UnVubmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxTY3JpcHRSdW5uZXI6OmV4
ZWN1dGVQZW5kaW5nU2NyaXB0QW5kRGlzcGF0Y2hFdmVudCk6CisgICAgICAgIChXZWJDb3JlOjpI
VE1MU2NyaXB0UnVubmVyOjpydW5TY3JpcHQpOgorCiAyMDEzLTAzLTIyICBTdGV2ZSBCbG9jayAg
PHN0ZXZlYmxvY2tAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIE1vdmUgcGFnZS9Db29yZGluYXRl
cy5baHxpZGxdIHRvIE1vZHVsZXMvZ2VvbG9jYXRpb24vCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9n
CmluZGV4IGVkNjgyMGRiNjA2ODIwN2EyZWNlMWRkOWJiYjBhMGFiMGJhZGFjZWYuLjc0ZmI4ZjE2
YmE0YmExZmFjNjY3NDJjNTU3MTYwNWM3NmQ4ZTczZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTMtMDMtMjIgIFNoZXJpZmYgQm90ICA8d2Via2l0LnJl
dmlldy5ib3RAZ21haWwuY29tPgorCisgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIx
NDY1MzQgYW5kIHIxNDY1NjUuCisgICAgICAgIGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdl
c2V0LzE0NjUzNAorICAgICAgICBodHRwOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC8xNDY1
NjUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExMzAx
NworCisgICAgICAgICJyMTQ2NTM0IGNhdXNlZCBwZXJmIHJlZ3Jlc3Npb24gb24gQ2hyb21pdW0g
TGludXggeDY0IgorICAgICAgICAoUmVxdWVzdGVkIGJ5IHl1cnlzIG9uICN3ZWJraXQpLgorCisg
ICAgICAgICogc3JjL1dlYktpdC5jcHA6CisKIDIwMTMtMDMtMjEgIEhhamltZSBNb3JyaXRhICA8
bW9ycml0YUBnb29nbGUuY29tPgogCiAgICAgICAgIEN1c3RvbSBFbGVtZW50czogInJlYWR5Q2Fs
bGJhY2siIGxpZmVjeWNsZSBjYWxsYmFjayBzaG91bGQgYmUgY2FsbGVkLgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dURi93dGYvSGFzaFNldC5oIGIvU291cmNlL1dURi93dGYvSGFzaFNldC5oCmluZGV4
IDY1YjY0MmExMjhiYzI5YzAwODk1MjJmMDhkN2UzYzVjZTI3YmJlMzYuLmU0NWQwMjhiNWY0YmE2
YTY4ZjU4OTViODBiZDlkNzIyODg2MWM3MjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL0hh
c2hTZXQuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9IYXNoU2V0LmgKQEAgLTI0MywxMCArMjQzLDEw
IEBAIG5hbWVzcGFjZSBXVEYgewogICAgICAgICBkZWxldGVBbGxWYWx1ZXM8dHlwZW5hbWUgSGFz
aFNldDxULCBVLCBWPjo6VmFsdWVUeXBlPihjb2xsZWN0aW9uLm1faW1wbCk7CiAgICAgfQogCi0g
ICAgdGVtcGxhdGU8dHlwZW5hbWUgQywgdHlwZW5hbWUgVz4KLSAgICBpbmxpbmUgdm9pZCBjb3B5
VG9WZWN0b3IoY29uc3QgQyYgY29sbGVjdGlvbiwgVyYgdmVjdG9yKQorICAgIHRlbXBsYXRlPHR5
cGVuYW1lIFQsIHR5cGVuYW1lIFUsIHR5cGVuYW1lIFYsIHR5cGVuYW1lIFc+CisgICAgaW5saW5l
IHZvaWQgY29weVRvVmVjdG9yKGNvbnN0IEhhc2hTZXQ8VCwgVSwgVj4mIGNvbGxlY3Rpb24sIFcm
IHZlY3RvcikKICAgICB7Ci0gICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgQzo6Y29uc3RfaXRlcmF0
b3IgaXRlcmF0b3I7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgSGFzaFNldDxULCBVLCBWPjo6
Y29uc3RfaXRlcmF0b3IgaXRlcmF0b3I7CiAgICAgICAgIAogICAgICAgICB2ZWN0b3IucmVzaXpl
KGNvbGxlY3Rpb24uc2l6ZSgpKTsKICAgICAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5wbSBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvclY4LnBtCmluZGV4IDEzYzBhNWY5MWFjODU3YzYw
ZWI3MWJjOThmZWM3ODVlOTE2ZGFkNjYuLjA3MTdmNGNmMmM5YzQ2Yjg0ZWVkNTgzYTZlMWFkZWZl
NDM2MWFkOGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29k
ZUdlbmVyYXRvclY4LnBtCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29k
ZUdlbmVyYXRvclY4LnBtCkBAIC0xMjU2LDI1ICsxMjU2LDYgQEAgRU5ECiBFTkQKIH0KIAotc3Vi
IEdlbmVyYXRlQ3VzdG9tRWxlbWVudEludm9jYXRpb25TY29wZUlmTmVlZGVkCi17Ci0gICAgbXkg
JG91dCA9IHNoaWZ0OwotICAgIG15ICRleHQgPSBzaGlmdDsKLQotICAgIGlmICgkZXh0LT57IlY4
RGVsaXZlckN1c3RvbUVsZW1lbnRDYWxsYmFja3MifSkgewotICAgICAgICBpZiAoJGV4dC0+eyJS
ZWZsZWN0In0pIHsKLSAgICAgICAgICAgIGRpZSAiSURMIGVycm9yOiBSZWZsZWN0IGFuZCBWOERl
bGl2ZXJDdXN0b21FbGVtZW50Q2FsbGJhY2tzIGNhbm5vdCBjb2V4aXN0IHlldCI7Ci0gICAgICAg
IH0KLQotICAgICAgICBBZGRUb0ltcGxJbmNsdWRlcygiQ3VzdG9tRWxlbWVudFJlZ2lzdHJ5Lmgi
LCAiQ1VTVE9NX0VMRU1FTlRTIik7Ci0gICAgICAgIHB1c2goQCRvdXQsIDw8RU5EKTsKLSNpZiBF
TkFCTEUoQ1VTVE9NX0VMRU1FTlRTKQotICAgIEN1c3RvbUVsZW1lbnRSZWdpc3RyeTo6Q2FsbGJh
Y2tEZWxpdmVyeVNjb3BlIGRlbGl2ZXJ5U2NvcGU7Ci0jZW5kaWYKLUVORAotICAgIH0KLX0KLQog
c3ViIEdlbmVyYXRlTm9ybWFsQXR0clNldHRlckNhbGxiYWNrCiB7CiAgICAgbXkgJGF0dHJpYnV0
ZSA9IHNoaWZ0OwpAQCAtMTQyMyw4ICsxNDA0LDYgQEAgRU5ECiAgICAgICAgICRyZXN1bHQgPSAi
V1RGOjpnZXRQdHIoIiAuICRyZXN1bHQgLiAiKSI7CiAgICAgfQogCi0gICAgR2VuZXJhdGVDdXN0
b21FbGVtZW50SW52b2NhdGlvblNjb3BlSWZOZWVkZWQoXEBpbXBsQ29udGVudEludGVybmFscywg
JGF0dHJpYnV0ZS0+c2lnbmF0dXJlLT5leHRlbmRlZEF0dHJpYnV0ZXMpOwotCiAgICAgbXkgJHVz
ZUV4Y2VwdGlvbnMgPSAxIGlmIEB7JGF0dHJpYnV0ZS0+c2V0dGVyRXhjZXB0aW9uc307CiAKICAg
ICBpZiAoJHVzZUV4Y2VwdGlvbnMpIHsKQEAgLTE1NzcsNyArMTU1Niw2IEBAIHN1YiBHZW5lcmF0
ZU92ZXJsb2FkZWRGdW5jdGlvbgogewogICAgIG15ICRmdW5jdGlvbiA9IHNoaWZ0OwogICAgIG15
ICRpbnRlcmZhY2UgPSBzaGlmdDsKLSAgICBteSAkZm9yTWFpbldvcmxkU3VmZml4ID0gc2hpZnQ7
CiAgICAgbXkgJGludGVyZmFjZU5hbWUgPSAkaW50ZXJmYWNlLT5uYW1lOwogCiAgICAgIyBHZW5l
cmF0ZSBjb2RlIGZvciBjaG9vc2luZyB0aGUgY29ycmVjdCBvdmVybG9hZCB0byBjYWxsLiBPdmVy
bG9hZHMgYXJlCkBAIC0xNTkxLDcgKzE1NjksNyBAQCBzdWIgR2VuZXJhdGVPdmVybG9hZGVkRnVu
Y3Rpb24KICAgICBteSAkbGVhc3ROdW1NYW5kYXRvcnlQYXJhbXMgPSAyNTU7CiAgICAgcHVzaChA
aW1wbENvbnRlbnRJbnRlcm5hbHMsICIjaWYgJHtjb25kaXRpb25hbFN0cmluZ31cblxuIikgaWYg
JGNvbmRpdGlvbmFsU3RyaW5nOwogICAgIHB1c2goQGltcGxDb250ZW50SW50ZXJuYWxzLCA8PEVO
RCk7Ci1zdGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+ICR7bmFtZX1NZXRob2Qke2Zvck1haW5X
b3JsZFN1ZmZpeH0oY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJncykKK3N0YXRpYyB2ODo6SGFuZGxl
PHY4OjpWYWx1ZT4gJHtuYW1lfU1ldGhvZChjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzKQogewog
RU5ECiAgICAgcHVzaChAaW1wbENvbnRlbnRJbnRlcm5hbHMsIEdlbmVyYXRlRmVhdHVyZU9ic2Vy
dmF0aW9uKCRmdW5jdGlvbi0+c2lnbmF0dXJlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiVjhNZWFz
dXJlQXMifSkpOwpAQCAtMTYwMSw3ICsxNTc5LDcgQEAgRU5ECiAgICAgICAgICRsZWFzdE51bU1h
bmRhdG9yeVBhcmFtcyA9ICRudW1NYW5kYXRvcnlQYXJhbXMgaWYgKCRudW1NYW5kYXRvcnlQYXJh
bXMgPCAkbGVhc3ROdW1NYW5kYXRvcnlQYXJhbXMpOwogICAgICAgICBwdXNoKEBpbXBsQ29udGVu
dEludGVybmFscywgIiAgICBpZiAoJHBhcmFtZXRlcnNDaGVjaylcbiIpOwogICAgICAgICBteSAk
b3ZlcmxvYWRlZEluZGV4U3RyaW5nID0gJG92ZXJsb2FkLT57b3ZlcmxvYWRJbmRleH07Ci0gICAg
ICAgIHB1c2goQGltcGxDb250ZW50SW50ZXJuYWxzLCAiICAgICAgICByZXR1cm4gJHtuYW1lfSR7
b3ZlcmxvYWRlZEluZGV4U3RyaW5nfU1ldGhvZCR7Zm9yTWFpbldvcmxkU3VmZml4fShhcmdzKTtc
biIpOworICAgICAgICBwdXNoKEBpbXBsQ29udGVudEludGVybmFscywgIiAgICAgICAgcmV0dXJu
ICR7bmFtZX0ke292ZXJsb2FkZWRJbmRleFN0cmluZ31NZXRob2QoYXJncyk7XG4iKTsKICAgICB9
CiAgICAgaWYgKCRsZWFzdE51bU1hbmRhdG9yeVBhcmFtcyA+PSAxKSB7CiAgICAgICAgIHB1c2go
QGltcGxDb250ZW50SW50ZXJuYWxzLCAiICAgIGlmIChhcmdzLkxlbmd0aCgpIDwgJGxlYXN0TnVt
TWFuZGF0b3J5UGFyYW1zKVxuIik7CkBAIC0xNjE4LDcgKzE1OTYsNiBAQCBzdWIgR2VuZXJhdGVG
dW5jdGlvbkNhbGxiYWNrCiB7CiAgICAgbXkgJGZ1bmN0aW9uID0gc2hpZnQ7CiAgICAgbXkgJGlu
dGVyZmFjZSA9IHNoaWZ0OwotICAgIG15ICRmb3JNYWluV29ybGRTdWZmaXggPSBzaGlmdDsKIAog
ICAgIG15ICRpbnRlcmZhY2VOYW1lID0gJGludGVyZmFjZS0+bmFtZTsKICAgICBteSAkdjhJbnRl
cmZhY2VOYW1lID0gIlY4JGludGVyZmFjZU5hbWUiOwpAQCAtMTYyNywxNCArMTYwNCwxNCBAQCBz
dWIgR2VuZXJhdGVGdW5jdGlvbkNhbGxiYWNrCiAgICAgbXkgJGNvbmRpdGlvbmFsU3RyaW5nID0g
JGNvZGVHZW5lcmF0b3ItPkdlbmVyYXRlQ29uZGl0aW9uYWxTdHJpbmcoJGZ1bmN0aW9uLT5zaWdu
YXR1cmUpOwogICAgIHB1c2goQGltcGxDb250ZW50SW50ZXJuYWxzLCAiI2lmICR7Y29uZGl0aW9u
YWxTdHJpbmd9XG5cbiIpIGlmICRjb25kaXRpb25hbFN0cmluZzsKICAgICBwdXNoKEBpbXBsQ29u
dGVudEludGVybmFscywgPDxFTkQpOwotc3RhdGljIHY4OjpIYW5kbGU8djg6OlZhbHVlPiAke25h
bWV9TWV0aG9kQ2FsbGJhY2ske2Zvck1haW5Xb3JsZFN1ZmZpeH0oY29uc3Qgdjg6OkFyZ3VtZW50
cyYgYXJncykKK3N0YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gJHtuYW1lfU1ldGhvZENhbGxi
YWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3MpCiB7CiBFTkQKICAgICBwdXNoKEBpbXBsQ29u
dGVudEludGVybmFscywgR2VuZXJhdGVGZWF0dXJlT2JzZXJ2YXRpb24oJGZ1bmN0aW9uLT5zaWdu
YXR1cmUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJWOE1lYXN1cmVBcyJ9KSk7CiAgICAgaWYgKEhh
c0N1c3RvbU1ldGhvZCgkZnVuY3Rpb24tPnNpZ25hdHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzKSkg
ewogICAgICAgICBwdXNoKEBpbXBsQ29udGVudEludGVybmFscywgIiAgICByZXR1cm4gJHt2OElu
dGVyZmFjZU5hbWV9Ojoke25hbWV9TWV0aG9kQ3VzdG9tKGFyZ3MpO1xuIik7CiAgICAgfSBlbHNl
IHsKLSAgICAgICAgcHVzaChAaW1wbENvbnRlbnRJbnRlcm5hbHMsICIgICAgcmV0dXJuICR7aW50
ZXJmYWNlTmFtZX1WOEludGVybmFsOjoke25hbWV9TWV0aG9kJHtmb3JNYWluV29ybGRTdWZmaXh9
KGFyZ3MpO1xuIik7CisgICAgICAgIHB1c2goQGltcGxDb250ZW50SW50ZXJuYWxzLCAiICAgIHJl
dHVybiAke2ludGVyZmFjZU5hbWV9VjhJbnRlcm5hbDo6JHtuYW1lfU1ldGhvZChhcmdzKTtcbiIp
OwogICAgIH0KICAgICBwdXNoKEBpbXBsQ29udGVudEludGVybmFscywgIn1cblxuIik7CiAgICAg
cHVzaChAaW1wbENvbnRlbnRJbnRlcm5hbHMsICIjZW5kaWYgLy8gJHtjb25kaXRpb25hbFN0cmlu
Z31cblxuIikgaWYgJGNvbmRpdGlvbmFsU3RyaW5nOwpAQCAtMTY0NCw3ICsxNjIxLDYgQEAgc3Vi
IEdlbmVyYXRlRnVuY3Rpb24KIHsKICAgICBteSAkZnVuY3Rpb24gPSBzaGlmdDsKICAgICBteSAk
aW50ZXJmYWNlID0gc2hpZnQ7Ci0gICAgbXkgJGZvck1haW5Xb3JsZFN1ZmZpeCA9IHNoaWZ0Owog
CiAgICAgbXkgJGludGVyZmFjZU5hbWUgPSAkaW50ZXJmYWNlLT5uYW1lOwogICAgIG15ICR2OElu
dGVyZmFjZU5hbWUgPSAiVjgkaW50ZXJmYWNlTmFtZSI7CkBAIC0xNjYyLDcgKzE2MzgsNyBAQCBz
dWIgR2VuZXJhdGVGdW5jdGlvbgogCiAgICAgbXkgJGNvbmRpdGlvbmFsU3RyaW5nID0gJGNvZGVH
ZW5lcmF0b3ItPkdlbmVyYXRlQ29uZGl0aW9uYWxTdHJpbmcoJGZ1bmN0aW9uLT5zaWduYXR1cmUp
OwogICAgIHB1c2goQGltcGxDb250ZW50SW50ZXJuYWxzLCAiI2lmICR7Y29uZGl0aW9uYWxTdHJp
bmd9XG5cbiIpIGlmICRjb25kaXRpb25hbFN0cmluZzsKLSAgICBwdXNoKEBpbXBsQ29udGVudElu
dGVybmFscywgInN0YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gJHtuYW1lfU1ldGhvZCR7Zm9y
TWFpbldvcmxkU3VmZml4fShjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzKVxuIik7CisgICAgcHVz
aChAaW1wbENvbnRlbnRJbnRlcm5hbHMsICJzdGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+ICR7
bmFtZX1NZXRob2QoY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJncylcbiIpOwogICAgIHB1c2goQGlt
cGxDb250ZW50SW50ZXJuYWxzLCAie1xuIik7CiAKICAgICBpZiAoJG5hbWUgZXEgImFkZEV2ZW50
TGlzdGVuZXIiIHx8ICRuYW1lIGVxICJyZW1vdmVFdmVudExpc3RlbmVyIikgewpAQCAtMTcyNSw4
ICsxNzAxLDYgQEAgRU5ECiBFTkQKICAgICB9CiAKLSAgICBHZW5lcmF0ZUN1c3RvbUVsZW1lbnRJ
bnZvY2F0aW9uU2NvcGVJZk5lZWRlZChcQGltcGxDb250ZW50SW50ZXJuYWxzLCAkZnVuY0V4dCk7
Ci0KICAgICAjIENoZWNrIGRvbWFpbiBzZWN1cml0eSBpZiBuZWVkZWQKICAgICBpZiAoJGludGVy
ZmFjZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkNoZWNrU2VjdXJpdHkifSAmJiAhJGZ1bmN0aW9u
LT5zaWduYXR1cmUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJEb05vdENoZWNrU2VjdXJpdHkifSkg
ewogICAgICAgICAjIFdlIGhhdmUgbm90IGZpbmQgcmVhbCB1c2UgY2FzZXMgeWV0LgpAQCAtMTc2
MSwxMSArMTczNSwxMSBAQCBFTkQKIEVORAogICAgIH0KIAotICAgIG15ICgkcGFyYW1ldGVyQ2hl
Y2tTdHJpbmcsICRwYXJhbUluZGV4LCAlcmVwbGFjZW1lbnRzKSA9IEdlbmVyYXRlUGFyYW1ldGVy
c0NoZWNrKCRmdW5jdGlvbiwgJGludGVyZmFjZU5hbWUsICRmb3JNYWluV29ybGRTdWZmaXgpOwor
ICAgIG15ICgkcGFyYW1ldGVyQ2hlY2tTdHJpbmcsICRwYXJhbUluZGV4LCAlcmVwbGFjZW1lbnRz
KSA9IEdlbmVyYXRlUGFyYW1ldGVyc0NoZWNrKCRmdW5jdGlvbiwgJGludGVyZmFjZU5hbWUpOwog
ICAgIHB1c2goQGltcGxDb250ZW50SW50ZXJuYWxzLCAkcGFyYW1ldGVyQ2hlY2tTdHJpbmcpOwog
CiAgICAgIyBCdWlsZCB0aGUgZnVuY3Rpb24gY2FsbCBzdHJpbmcuCi0gICAgcHVzaChAaW1wbENv
bnRlbnRJbnRlcm5hbHMsIEdlbmVyYXRlRnVuY3Rpb25DYWxsU3RyaW5nKCRmdW5jdGlvbiwgJHBh
cmFtSW5kZXgsICIgICAgIiwgJGludGVyZmFjZU5hbWUsICRmb3JNYWluV29ybGRTdWZmaXgsICVy
ZXBsYWNlbWVudHMpKTsKKyAgICBwdXNoKEBpbXBsQ29udGVudEludGVybmFscywgR2VuZXJhdGVG
dW5jdGlvbkNhbGxTdHJpbmcoJGZ1bmN0aW9uLCAkcGFyYW1JbmRleCwgIiAgICAiLCAkaW50ZXJm
YWNlTmFtZSwgJXJlcGxhY2VtZW50cykpOwogCiAgICAgaWYgKCRyYWlzZXNFeGNlcHRpb25zKSB7
CiAgICAgICAgIHB1c2goQGltcGxDb250ZW50SW50ZXJuYWxzLCAiICAgIH1cbiIpOwpAQCAtMTg0
OSw3ICsxODIzLDYgQEAgc3ViIEdlbmVyYXRlUGFyYW1ldGVyc0NoZWNrCiB7CiAgICAgbXkgJGZ1
bmN0aW9uID0gc2hpZnQ7CiAgICAgbXkgJGludGVyZmFjZU5hbWUgPSBzaGlmdDsKLSAgICBteSAk
Zm9yTWFpbldvcmxkU3VmZml4ID0gc2hpZnQ7CiAKICAgICBteSAkcGFyYW1ldGVyQ2hlY2tTdHJp
bmcgPSAiIjsKICAgICBteSAkcGFyYW1JbmRleCA9IDA7CkBAIC0xODY1LDcgKzE4MzgsNyBAQCBz
dWIgR2VuZXJhdGVQYXJhbWV0ZXJzQ2hlY2sKICAgICAgICAgbXkgJG9wdGlvbmFsID0gJHBhcmFt
ZXRlci0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57Ik9wdGlvbmFsIn07CiAgICAgICAgIGlmICgkb3B0
aW9uYWwgJiYgJG9wdGlvbmFsIG5lICJEZWZhdWx0SXNVbmRlZmluZWQiICYmICRvcHRpb25hbCBu
ZSAiRGVmYXVsdElzTnVsbFN0cmluZyIgJiYgJG5hdGl2ZVR5cGUgbmUgIkRpY3Rpb25hcnkiICYm
ICEkcGFyYW1ldGVyLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiQ2FsbGJhY2sifSkgewogICAgICAg
ICAgICAgJHBhcmFtZXRlckNoZWNrU3RyaW5nIC49ICIgICAgaWYgKGFyZ3MuTGVuZ3RoKCkgPD0g
JHBhcmFtSW5kZXgpIHtcbiI7Ci0gICAgICAgICAgICBteSAkZnVuY3Rpb25DYWxsID0gR2VuZXJh
dGVGdW5jdGlvbkNhbGxTdHJpbmcoJGZ1bmN0aW9uLCAkcGFyYW1JbmRleCwgIiAgICAiIHggMiwg
JGludGVyZmFjZU5hbWUsICRmb3JNYWluV29ybGRTdWZmaXgsICVyZXBsYWNlbWVudHMpOworICAg
ICAgICAgICAgbXkgJGZ1bmN0aW9uQ2FsbCA9IEdlbmVyYXRlRnVuY3Rpb25DYWxsU3RyaW5nKCRm
dW5jdGlvbiwgJHBhcmFtSW5kZXgsICIgICAgIiB4IDIsICRpbnRlcmZhY2VOYW1lLCAlcmVwbGFj
ZW1lbnRzKTsKICAgICAgICAgICAgICRwYXJhbWV0ZXJDaGVja1N0cmluZyAuPSAkZnVuY3Rpb25D
YWxsOwogICAgICAgICAgICAgJHBhcmFtZXRlckNoZWNrU3RyaW5nIC49ICIgICAgfVxuIjsKICAg
ICAgICAgfQpAQCAtMjA4OCw3ICsyMDYxLDcgQEAgRU5ECiAKICAgICAjIEZJWE1FOiBDdXJyZW50
bHkgW0NvbnN0cnVjdG9yKC4uLildIGRvZXMgbm90IHlldCBzdXBwb3J0IFtPcHRpb25hbF0gYXJn
dW1lbnRzLgogICAgICMgSXQganVzdCBzdXBwb3J0cyBbT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZp
bmVkXSBvciBbT3B0aW9uYWw9RGVmYXVsdElzTnVsbFN0cmluZ10uCi0gICAgbXkgKCRwYXJhbWV0
ZXJDaGVja1N0cmluZywgJHBhcmFtSW5kZXgsICVyZXBsYWNlbWVudHMpID0gR2VuZXJhdGVQYXJh
bWV0ZXJzQ2hlY2soJGZ1bmN0aW9uLCAkaW50ZXJmYWNlTmFtZSwgIiIpOworICAgIG15ICgkcGFy
YW1ldGVyQ2hlY2tTdHJpbmcsICRwYXJhbUluZGV4LCAlcmVwbGFjZW1lbnRzKSA9IEdlbmVyYXRl
UGFyYW1ldGVyc0NoZWNrKCRmdW5jdGlvbiwgJGludGVyZmFjZU5hbWUpOwogICAgIHB1c2goQGlt
cGxDb250ZW50SW50ZXJuYWxzLCAkcGFyYW1ldGVyQ2hlY2tTdHJpbmcpOwogCiAgICAgaWYgKCRp
bnRlcmZhY2UtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJDYWxsV2l0aCJ9ICYmICRpbnRlcmZhY2Ut
PmV4dGVuZGVkQXR0cmlidXRlcy0+eyJDYWxsV2l0aCJ9IGVxICJTY3JpcHRFeGVjdXRpb25Db250
ZXh0IikgewpAQCAtMjU5NCwxNSArMjU2Nyw3IEBAIEVORAogCiAgICAgbXkgJGNvbmRpdGlvbmFs
U3RyaW5nID0gJGNvZGVHZW5lcmF0b3ItPkdlbmVyYXRlQ29uZGl0aW9uYWxTdHJpbmcoJGZ1bmN0
aW9uLT5zaWduYXR1cmUpOwogICAgIHB1c2goQGltcGxDb250ZW50LCAiI2lmICR7Y29uZGl0aW9u
YWxTdHJpbmd9XG4iKSBpZiAkY29uZGl0aW9uYWxTdHJpbmc7Ci0gICAgaWYgKCRmdW5jdGlvbi0+
c2lnbmF0dXJlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiVjhQZXJXb3JsZEJpbmRpbmdzIn0pIHsK
LSAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgaWYgKGN1cnJlbnRXb3JsZFR5cGUgPT0g
TWFpbldvcmxkKSB7XG4iKTsKLSAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgICAgICR7
Y29uZGl0aW9uYWx9JHRlbXBsYXRlLT5TZXQodjg6OlN0cmluZzo6TmV3U3ltYm9sKFwiJG5hbWVc
IiksIHY4OjpGdW5jdGlvblRlbXBsYXRlOjpOZXcoJHtpbnRlcmZhY2VOYW1lfVY4SW50ZXJuYWw6
OiR7bmFtZX1NZXRob2RDYWxsYmFja0Zvck1haW5Xb3JsZCwgdjhVbmRlZmluZWQoKSwgJHtzaWdu
YXR1cmV9KSRwcm9wZXJ0eV9hdHRyaWJ1dGVzKTtcbiIpOwotICAgICAgICBwdXNoKEBpbXBsQ29u
dGVudCwgIiAgICB9IGVsc2Uge1xuIik7Ci0gICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAg
ICAgICAke2NvbmRpdGlvbmFsfSR0ZW1wbGF0ZS0+U2V0KHY4OjpTdHJpbmc6Ok5ld1N5bWJvbChc
IiRuYW1lXCIpLCB2ODo6RnVuY3Rpb25UZW1wbGF0ZTo6TmV3KCR7aW50ZXJmYWNlTmFtZX1WOElu
dGVybmFsOjoke25hbWV9TWV0aG9kQ2FsbGJhY2ssIHY4VW5kZWZpbmVkKCksICR7c2lnbmF0dXJl
fSkkcHJvcGVydHlfYXR0cmlidXRlcyk7XG4iKTsKLSAgICAgICAgcHVzaChAaW1wbENvbnRlbnQs
ICIgICAgfVxuIik7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIg
ICAgJHtjb25kaXRpb25hbH0kdGVtcGxhdGUtPlNldCh2ODo6U3RyaW5nOjpOZXdTeW1ib2woXCIk
bmFtZVwiKSwgdjg6OkZ1bmN0aW9uVGVtcGxhdGU6Ok5ldygke2ludGVyZmFjZU5hbWV9VjhJbnRl
cm5hbDo6JHtuYW1lfU1ldGhvZENhbGxiYWNrLCB2OFVuZGVmaW5lZCgpLCAke3NpZ25hdHVyZX0p
JHByb3BlcnR5X2F0dHJpYnV0ZXMpO1xuIik7Ci0gICAgfQorICAgIHB1c2goQGltcGxDb250ZW50
LCAiICAgICR7Y29uZGl0aW9uYWx9JHRlbXBsYXRlLT5TZXQodjg6OlN0cmluZzo6TmV3U3ltYm9s
KFwiJG5hbWVcIiksIHY4OjpGdW5jdGlvblRlbXBsYXRlOjpOZXcoJHtpbnRlcmZhY2VOYW1lfVY4
SW50ZXJuYWw6OiR7bmFtZX1NZXRob2RDYWxsYmFjaywgdjhVbmRlZmluZWQoKSwgJHtzaWduYXR1
cmV9KSRwcm9wZXJ0eV9hdHRyaWJ1dGVzKTtcbiIpOwogICAgIHB1c2goQGltcGxDb250ZW50LCAi
I2VuZGlmIC8vICR7Y29uZGl0aW9uYWxTdHJpbmd9XG4iKSBpZiAkY29uZGl0aW9uYWxTdHJpbmc7
CiB9CiAKQEAgLTI5NDcsMjIgKzI5MTIsMTIgQEAgRU5ECiAgICAgbXkgJG5lZWRzRG9tYWluU2Fm
ZUZ1bmN0aW9uU2V0dGVyID0gMDsKICAgICAjIEdlbmVyYXRlIG1ldGhvZHMgZm9yIGZ1bmN0aW9u
cy4KICAgICBmb3JlYWNoIG15ICRmdW5jdGlvbiAoQHskaW50ZXJmYWNlLT5mdW5jdGlvbnN9KSB7
Ci0gICAgICAgIEdlbmVyYXRlRnVuY3Rpb24oJGZ1bmN0aW9uLCAkaW50ZXJmYWNlLCAiIik7Ci0g
ICAgICAgIGlmICgkZnVuY3Rpb24tPnNpZ25hdHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IlY4
UGVyV29ybGRCaW5kaW5ncyJ9KSB7Ci0gICAgICAgICAgICBHZW5lcmF0ZUZ1bmN0aW9uKCRmdW5j
dGlvbiwgJGludGVyZmFjZSwgIkZvck1haW5Xb3JsZCIpOwotICAgICAgICB9Ci0KKyAgICAgICAg
R2VuZXJhdGVGdW5jdGlvbigkZnVuY3Rpb24sICRpbnRlcmZhY2UpOwogICAgICAgICBpZiAoJGZ1
bmN0aW9uLT57b3ZlcmxvYWRJbmRleH0gPT0gQHskZnVuY3Rpb24tPntvdmVybG9hZHN9fSkgewog
ICAgICAgICAgICAgaWYgKCRmdW5jdGlvbi0+e292ZXJsb2FkSW5kZXh9ID4gMSkgewotICAgICAg
ICAgICAgICAgIEdlbmVyYXRlT3ZlcmxvYWRlZEZ1bmN0aW9uKCRmdW5jdGlvbiwgJGludGVyZmFj
ZSwgIiIpOwotICAgICAgICAgICAgICAgIGlmICgkZnVuY3Rpb24tPnNpZ25hdHVyZS0+ZXh0ZW5k
ZWRBdHRyaWJ1dGVzLT57IlY4UGVyV29ybGRCaW5kaW5ncyJ9KSB7Ci0gICAgICAgICAgICAgICAg
ICAgIEdlbmVyYXRlT3ZlcmxvYWRlZEZ1bmN0aW9uKCRmdW5jdGlvbiwgJGludGVyZmFjZSwgIkZv
ck1haW5Xb3JsZCIpOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0KLSAgICAgICAg
ICAgIEdlbmVyYXRlRnVuY3Rpb25DYWxsYmFjaygkZnVuY3Rpb24sICRpbnRlcmZhY2UsICIiKTsK
LSAgICAgICAgICAgIGlmICgkZnVuY3Rpb24tPnNpZ25hdHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVz
LT57IlY4UGVyV29ybGRCaW5kaW5ncyJ9KSB7Ci0gICAgICAgICAgICAgICAgR2VuZXJhdGVGdW5j
dGlvbkNhbGxiYWNrKCRmdW5jdGlvbiwgJGludGVyZmFjZSwgIkZvck1haW5Xb3JsZCIpOworICAg
ICAgICAgICAgICAgIEdlbmVyYXRlT3ZlcmxvYWRlZEZ1bmN0aW9uKCRmdW5jdGlvbiwgJGludGVy
ZmFjZSk7CiAgICAgICAgICAgICB9CisgICAgICAgICAgICBHZW5lcmF0ZUZ1bmN0aW9uQ2FsbGJh
Y2soJGZ1bmN0aW9uLCAkaW50ZXJmYWNlKTsKICAgICAgICAgfQogCiAgICAgICAgIGlmICgkZnVu
Y3Rpb24tPnNpZ25hdHVyZS0+bmFtZSBlcSAiaXRlbSIpIHsKQEAgLTMwNTAsMTQgKzMwMDUsMTAg
QEAgRU5ECiAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgInN0YXRpYyBjb25zdCBWOERP
TUNvbmZpZ3VyYXRpb246OkJhdGNoZWRNZXRob2QgJHt2OEludGVyZmFjZU5hbWV9TWV0aG9kc1td
ID0ge1xuIik7CiAgICAgICAgIH0KICAgICAgICAgbXkgJG5hbWUgPSAkZnVuY3Rpb24tPnNpZ25h
dHVyZS0+bmFtZTsKLSAgICAgICAgbXkgJG1ldGhvZEZvck1haW5Xb3JsZCA9ICIwIjsKLSAgICAg
ICAgaWYgKCRmdW5jdGlvbi0+c2lnbmF0dXJlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiVjhQZXJX
b3JsZEJpbmRpbmdzIn0pIHsKLSAgICAgICAgICAgICRtZXRob2RGb3JNYWluV29ybGQgPSAiJHtp
bnRlcmZhY2VOYW1lfVY4SW50ZXJuYWw6OiR7bmFtZX1NZXRob2RDYWxsYmFja0Zvck1haW5Xb3Js
ZCI7Ci0gICAgICAgIH0KICAgICAgICAgbXkgJGNvbmRpdGlvbmFsU3RyaW5nID0gJGNvZGVHZW5l
cmF0b3ItPkdlbmVyYXRlQ29uZGl0aW9uYWxTdHJpbmcoJGZ1bmN0aW9uLT5zaWduYXR1cmUpOwog
ICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiNpZiAke2NvbmRpdGlvbmFsU3RyaW5nfVxuIikg
aWYgJGNvbmRpdGlvbmFsU3RyaW5nOwogICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgPDxFTkQp
OwotICAgIHsiJG5hbWUiLCAke2ludGVyZmFjZU5hbWV9VjhJbnRlcm5hbDo6JHtuYW1lfU1ldGhv
ZENhbGxiYWNrLCAke21ldGhvZEZvck1haW5Xb3JsZH19LAorICAgIHsiJG5hbWUiLCAke2ludGVy
ZmFjZU5hbWV9VjhJbnRlcm5hbDo6JHtuYW1lfU1ldGhvZENhbGxiYWNrfSwKIEVORAogICAgICAg
ICBwdXNoKEBpbXBsQ29udGVudCwgIiNlbmRpZlxuIikgaWYgJGNvbmRpdGlvbmFsU3RyaW5nOwog
ICAgICAgICAkbnVtX2NhbGxiYWNrcysrOwpAQCAtMzg5Nyw3ICszODQ4LDYgQEAgc3ViIEdlbmVy
YXRlRnVuY3Rpb25DYWxsU3RyaW5nCiAgICAgbXkgJG51bWJlck9mUGFyYW1ldGVycyA9IHNoaWZ0
OwogICAgIG15ICRpbmRlbnQgPSBzaGlmdDsKICAgICBteSAkaW50ZXJmYWNlTmFtZSA9IHNoaWZ0
OwotICAgIG15ICRmb3JNYWluV29ybGRTdWZmaXggPSBzaGlmdDsKICAgICBteSAlcmVwbGFjZW1l
bnRzID0gQF87CiAKICAgICBteSAkbmFtZSA9ICRmdW5jdGlvbi0+c2lnbmF0dXJlLT5uYW1lOwpA
QCAtNDAwMCw5ICszOTUwLDkgQEAgc3ViIEdlbmVyYXRlRnVuY3Rpb25DYWxsU3RyaW5nCiAgICAg
ICAgIG15ICRzdmdOYXRpdmVUeXBlID0gJGNvZGVHZW5lcmF0b3ItPkdldFNWR1R5cGVOZWVkaW5n
VGVhck9mZigkcmV0dXJuVHlwZSk7CiAgICAgICAgICMgRklYTUU6IFVwZGF0ZSBmb3IgYWxsIFNj
cmlwdFdyYXBwYWJsZXMuCiAgICAgICAgIGlmIChJc0RPTU5vZGVUeXBlKCRpbnRlcmZhY2VOYW1l
KSkgewotICAgICAgICAgICAgJHJlc3VsdCAuPSAkaW5kZW50IC4gInJldHVybiB0b1Y4RmFzdCR7
Zm9yTWFpbldvcmxkU3VmZml4fShXVEY6OmdldFB0cigke3N2Z05hdGl2ZVR5cGV9OjpjcmVhdGUo
JHJldHVybikpLCBhcmdzLCBpbXApO1xuIjsKKyAgICAgICAgICAgICRyZXN1bHQgLj0gJGluZGVu
dCAuICJyZXR1cm4gdG9WOEZhc3QoV1RGOjpnZXRQdHIoJHtzdmdOYXRpdmVUeXBlfTo6Y3JlYXRl
KCRyZXR1cm4pKSwgYXJncywgaW1wKTtcbiI7CiAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAg
ICAkcmVzdWx0IC49ICRpbmRlbnQgLiAicmV0dXJuIHRvVjgke2Zvck1haW5Xb3JsZFN1ZmZpeH0o
V1RGOjpnZXRQdHIoJHtzdmdOYXRpdmVUeXBlfTo6Y3JlYXRlKCRyZXR1cm4pKSwgYXJncy5Ib2xk
ZXIoKSwgYXJncy5HZXRJc29sYXRlKCkpO1xuIjsKKyAgICAgICAgICAgICRyZXN1bHQgLj0gJGlu
ZGVudCAuICJyZXR1cm4gdG9WOChXVEY6OmdldFB0cigke3N2Z05hdGl2ZVR5cGV9OjpjcmVhdGUo
JHJldHVybikpLCBhcmdzLkhvbGRlcigpLCBhcmdzLkdldElzb2xhdGUoKSk7XG4iOwogICAgICAg
ICB9CiAgICAgICAgIHJldHVybiAkcmVzdWx0OwogICAgIH0KQEAgLTQwMTcsOSArMzk2Nyw5IEBA
IHN1YiBHZW5lcmF0ZUZ1bmN0aW9uQ2FsbFN0cmluZwogICAgIG15ICRuYXRpdmVWYWx1ZTsKICAg
ICAjIEZJWE1FOiBVcGRhdGUgZm9yIGFsbCBTY3JpcHRXcmFwcGFibGVzLgogICAgIGlmIChJc0RP
TU5vZGVUeXBlKCRpbnRlcmZhY2VOYW1lKSkgewotICAgICAgICAkbmF0aXZlVmFsdWUgPSBOYXRp
dmVUb0pTVmFsdWUoJGZ1bmN0aW9uLT5zaWduYXR1cmUsICRyZXR1cm4sICJhcmdzLkhvbGRlcigp
IiwgImFyZ3MuR2V0SXNvbGF0ZSgpIiwgImFyZ3MiLCAiaW1wIiwgIlJldHVyblVuc2FmZUhhbmRs
ZSIsICRmb3JNYWluV29ybGRTdWZmaXgpOworICAgICAgICAkbmF0aXZlVmFsdWUgPSBOYXRpdmVU
b0pTVmFsdWUoJGZ1bmN0aW9uLT5zaWduYXR1cmUsICRyZXR1cm4sICJhcmdzLkhvbGRlcigpIiwg
ImFyZ3MuR2V0SXNvbGF0ZSgpIiwgImFyZ3MiLCAiaW1wIiwgIlJldHVyblVuc2FmZUhhbmRsZSIs
ICIiKTsKICAgICB9IGVsc2UgewotICAgICAgICAkbmF0aXZlVmFsdWUgPSBOYXRpdmVUb0pTVmFs
dWUoJGZ1bmN0aW9uLT5zaWduYXR1cmUsICRyZXR1cm4sICJhcmdzLkhvbGRlcigpIiwgImFyZ3Mu
R2V0SXNvbGF0ZSgpIiwgMCwgMCwgIlJldHVyblVuc2FmZUhhbmRsZSIsICRmb3JNYWluV29ybGRT
dWZmaXgpOworICAgICAgICAkbmF0aXZlVmFsdWUgPSBOYXRpdmVUb0pTVmFsdWUoJGZ1bmN0aW9u
LT5zaWduYXR1cmUsICRyZXR1cm4sICJhcmdzLkhvbGRlcigpIiwgImFyZ3MuR2V0SXNvbGF0ZSgp
IiwgMCwgMCwgIlJldHVyblVuc2FmZUhhbmRsZSIsICIiKTsKICAgICB9CiAKICAgICAkcmVzdWx0
IC49ICRpbmRlbnQgLiAicmV0dXJuICIgLiAkbmF0aXZlVmFsdWUgLiAiO1xuIjsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvSURMQXR0cmlidXRlcy50eHQgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0lETEF0dHJpYnV0ZXMudHh0CmluZGV4IDU5
YzliMDVmMjE4MmI3NTFiMmRmYzAwNTk3ODBhZTgxZDBkODJiNzIuLjY2OTI4ZTc5MjEzNzE5ZWE5
NzBjNjMyY2RjZWEzNjVmYTVjNjA0ZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvSURMQXR0cmlidXRlcy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy9JRExBdHRyaWJ1dGVzLnR4dApAQCAtMTMzLDQgKzEzMywzIEBAIFY4UmVhZE9u
bHkKIFY4U2tpcFZUYWJsZVZhbGlkYXRpb24KIFY4VW5mb3JnZWFibGUKIFY4V3JhcEFzRnVuY3Rp
b24KLVY4RGVsaXZlckN1c3RvbUVsZW1lbnRDYWxsYmFja3MKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOEZsb2F0NjRBcnJheS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhGbG9hdDY0QXJyYXkuY3BwCmlu
ZGV4IDA0YzdhYTZiNWE3ZDM2NmU2NjEwNzZiM2YxNWFlOTUzNGFmYmU2NDguLmFhMDJmOTA2OTY3
ZTJjNmIyMDAwMzc4MTg4MDU0NGNmMzU1YThkMDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOEZsb2F0NjRBcnJheS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4RmxvYXQ2NEFycmF5LmNwcApAQCAt
MTIxLDcgKzEyMSw3IEBAIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gd3JhcChGbG9hdDY0QXJyYXkq
IGltcGwsIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gY3JlYXRpb25DCiB9CiAKIHN0YXRpYyBjb25z
dCBWOERPTUNvbmZpZ3VyYXRpb246OkJhdGNoZWRNZXRob2QgVjhGbG9hdDY0QXJyYXlNZXRob2Rz
W10gPSB7Ci0gICAgeyJzZXQiLCBGbG9hdDY0QXJyYXlWOEludGVybmFsOjpzZXRNZXRob2RDYWxs
YmFjaywgMH0sCisgICAgeyJzZXQiLCBGbG9hdDY0QXJyYXlWOEludGVybmFsOjpzZXRNZXRob2RD
YWxsYmFja30sCiB9OwogCiB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhGbG9hdDY0QXJyYXk6OmNv
bnN0cnVjdG9yQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJncykKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RDdXN0b21OYW1l
ZEdldHRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhU
ZXN0Q3VzdG9tTmFtZWRHZXR0ZXIuY3BwCmluZGV4IGU5OWVkYTY1MGE3Yjc1MzM4ZTAwNGQ1M2Iw
NTdiY2Y2ZjQ0NjFlYmEuLjQ0N2RmYWZhODg1NWRiNDY3NTg5ZWQxMDhiMGIwNDRlNmMxZDEzYTMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRl
c3RDdXN0b21OYW1lZEdldHRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L1Y4L1Y4VGVzdEN1c3RvbU5hbWVkR2V0dGVyLmNwcApAQCAtODgsNyArODgsNyBA
QCBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IGFub3RoZXJGdW5jdGlvbk1ldGhvZENhbGxi
YWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmCiB9IC8vIG5hbWVzcGFjZSBUZXN0Q3VzdG9tTmFtZWRH
ZXR0ZXJWOEludGVybmFsCiAKIHN0YXRpYyBjb25zdCBWOERPTUNvbmZpZ3VyYXRpb246OkJhdGNo
ZWRNZXRob2QgVjhUZXN0Q3VzdG9tTmFtZWRHZXR0ZXJNZXRob2RzW10gPSB7Ci0gICAgeyJhbm90
aGVyRnVuY3Rpb24iLCBUZXN0Q3VzdG9tTmFtZWRHZXR0ZXJWOEludGVybmFsOjphbm90aGVyRnVu
Y3Rpb25NZXRob2RDYWxsYmFjaywgMH0sCisgICAgeyJhbm90aGVyRnVuY3Rpb24iLCBUZXN0Q3Vz
dG9tTmFtZWRHZXR0ZXJWOEludGVybmFsOjphbm90aGVyRnVuY3Rpb25NZXRob2RDYWxsYmFja30s
CiB9OwogCiBzdGF0aWMgdjg6OlBlcnNpc3RlbnQ8djg6OkZ1bmN0aW9uVGVtcGxhdGU+IENvbmZp
Z3VyZVY4VGVzdEN1c3RvbU5hbWVkR2V0dGVyVGVtcGxhdGUodjg6OlBlcnNpc3RlbnQ8djg6OkZ1
bmN0aW9uVGVtcGxhdGU+IGRlc2MsIHY4OjpJc29sYXRlKiBpc29sYXRlLCBXcmFwcGVyV29ybGRU
eXBlIGN1cnJlbnRXb3JsZFR5cGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0RXZlbnRUYXJnZXQuY3BwIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEV2ZW50VGFyZ2V0LmNwcAppbmRleCA2Yzc1
OTE1NDE4Zjc0ZjM3ODI2NDY2MjFmYTM5OTk3NzVlOWRhNWJjLi4wYzhlYTFhZThmZWM1NWY0MmQ1
OWFmOTkzMDE0MjRlYzhkZjdmYjBjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0RXZlbnRUYXJnZXQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RFdmVudFRhcmdldC5jcHAKQEAgLTE1
NCw5ICsxNTQsOSBAQCBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IGRpc3BhdGNoRXZlbnRN
ZXRob2RDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJiBhcgogfSAvLyBuYW1lc3BhY2UgVGVz
dEV2ZW50VGFyZ2V0VjhJbnRlcm5hbAogCiBzdGF0aWMgY29uc3QgVjhET01Db25maWd1cmF0aW9u
OjpCYXRjaGVkTWV0aG9kIFY4VGVzdEV2ZW50VGFyZ2V0TWV0aG9kc1tdID0gewotICAgIHsiaXRl
bSIsIFRlc3RFdmVudFRhcmdldFY4SW50ZXJuYWw6Oml0ZW1NZXRob2RDYWxsYmFjaywgMH0sCi0g
ICAgeyJhZGRFdmVudExpc3RlbmVyIiwgVGVzdEV2ZW50VGFyZ2V0VjhJbnRlcm5hbDo6YWRkRXZl
bnRMaXN0ZW5lck1ldGhvZENhbGxiYWNrLCAwfSwKLSAgICB7InJlbW92ZUV2ZW50TGlzdGVuZXIi
LCBUZXN0RXZlbnRUYXJnZXRWOEludGVybmFsOjpyZW1vdmVFdmVudExpc3RlbmVyTWV0aG9kQ2Fs
bGJhY2ssIDB9LAorICAgIHsiaXRlbSIsIFRlc3RFdmVudFRhcmdldFY4SW50ZXJuYWw6Oml0ZW1N
ZXRob2RDYWxsYmFja30sCisgICAgeyJhZGRFdmVudExpc3RlbmVyIiwgVGVzdEV2ZW50VGFyZ2V0
VjhJbnRlcm5hbDo6YWRkRXZlbnRMaXN0ZW5lck1ldGhvZENhbGxiYWNrfSwKKyAgICB7InJlbW92
ZUV2ZW50TGlzdGVuZXIiLCBUZXN0RXZlbnRUYXJnZXRWOEludGVybmFsOjpyZW1vdmVFdmVudExp
c3RlbmVyTWV0aG9kQ2FsbGJhY2t9LAogfTsKIAogc3RhdGljIHY4OjpQZXJzaXN0ZW50PHY4OjpG
dW5jdGlvblRlbXBsYXRlPiBDb25maWd1cmVWOFRlc3RFdmVudFRhcmdldFRlbXBsYXRlKHY4OjpQ
ZXJzaXN0ZW50PHY4OjpGdW5jdGlvblRlbXBsYXRlPiBkZXNjLCB2ODo6SXNvbGF0ZSogaXNvbGF0
ZSwgV3JhcHBlcldvcmxkVHlwZSBjdXJyZW50V29ybGRUeXBlKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEludGVyZmFjZS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0SW50ZXJmYWNlLmNw
cAppbmRleCAzNzY0ZGY4YzJmMTA4ZjcwNTczYWM5MzEwZWZmZGE2ZThjNzMyMzNkLi43ZGFlNThh
NzE2OWYxYzQxMGIzYmY4MzZiMzgyYWE3MWZkOTI2NWM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0SW50ZXJmYWNlLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0SW50ZXJmYWNlLmNw
cApAQCAtMzgzLDEwICszODMsMTAgQEAgc3RhdGljIGNvbnN0IFY4RE9NQ29uZmlndXJhdGlvbjo6
QmF0Y2hlZEF0dHJpYnV0ZSBWOFRlc3RJbnRlcmZhY2VBdHRyc1tdID0gewogCiBzdGF0aWMgY29u
c3QgVjhET01Db25maWd1cmF0aW9uOjpCYXRjaGVkTWV0aG9kIFY4VGVzdEludGVyZmFjZU1ldGhv
ZHNbXSA9IHsKICNpZiBFTkFCTEUoQ29uZGl0aW9uMTEpIHx8IEVOQUJMRShDb25kaXRpb24xMikK
LSAgICB7InN1cHBsZW1lbnRhbE1ldGhvZDEiLCBUZXN0SW50ZXJmYWNlVjhJbnRlcm5hbDo6c3Vw
cGxlbWVudGFsTWV0aG9kMU1ldGhvZENhbGxiYWNrLCAwfSwKKyAgICB7InN1cHBsZW1lbnRhbE1l
dGhvZDEiLCBUZXN0SW50ZXJmYWNlVjhJbnRlcm5hbDo6c3VwcGxlbWVudGFsTWV0aG9kMU1ldGhv
ZENhbGxiYWNrfSwKICNlbmRpZgogI2lmIEVOQUJMRShDb25kaXRpb24xMSkgfHwgRU5BQkxFKENv
bmRpdGlvbjEyKQotICAgIHsic3VwcGxlbWVudGFsTWV0aG9kMyIsIFRlc3RJbnRlcmZhY2VWOElu
dGVybmFsOjpzdXBwbGVtZW50YWxNZXRob2QzTWV0aG9kQ2FsbGJhY2ssIDB9LAorICAgIHsic3Vw
cGxlbWVudGFsTWV0aG9kMyIsIFRlc3RJbnRlcmZhY2VWOEludGVybmFsOjpzdXBwbGVtZW50YWxN
ZXRob2QzTWV0aG9kQ2FsbGJhY2t9LAogI2VuZGlmCiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0TWVkaWFRdWVyeUxpc3RMaXN0
ZW5lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0
TWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5jcHAKaW5kZXggNTA2MjAxNzlkN2JjZjEyZmY0NzcxOTdm
ZDlhMDFkNTMzMTU4ZmMxMS4uYjFmZjIzY2M0OGUwYjRhMzk5MjI4Y2IwMTBmNGQ2YWM5ZWE4OTg1
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4
VGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmNwcApAQCAt
ODksNyArODksNyBAQCBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IG1ldGhvZE1ldGhvZENh
bGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3MpCiB9IC8vIG5hbWVzcGFjZSBUZXN0TWVk
aWFRdWVyeUxpc3RMaXN0ZW5lclY4SW50ZXJuYWwKIAogc3RhdGljIGNvbnN0IFY4RE9NQ29uZmln
dXJhdGlvbjo6QmF0Y2hlZE1ldGhvZCBWOFRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyTWV0aG9k
c1tdID0gewotICAgIHsibWV0aG9kIiwgVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXJWOEludGVy
bmFsOjptZXRob2RNZXRob2RDYWxsYmFjaywgMH0sCisgICAgeyJtZXRob2QiLCBUZXN0TWVkaWFR
dWVyeUxpc3RMaXN0ZW5lclY4SW50ZXJuYWw6Om1ldGhvZE1ldGhvZENhbGxiYWNrfSwKIH07CiAK
IHN0YXRpYyB2ODo6UGVyc2lzdGVudDx2ODo6RnVuY3Rpb25UZW1wbGF0ZT4gQ29uZmlndXJlVjhU
ZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lclRlbXBsYXRlKHY4OjpQZXJzaXN0ZW50PHY4OjpGdW5j
dGlvblRlbXBsYXRlPiBkZXNjLCB2ODo6SXNvbGF0ZSogaXNvbGF0ZSwgV3JhcHBlcldvcmxkVHlw
ZSBjdXJyZW50V29ybGRUeXBlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdE9iai5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvVjgvVjhUZXN0T2JqLmNwcAppbmRleCA5OTg2ZmVlODJkYmVlZTM4OTVjMDBh
ZDJjMDFhMjc4YTM4MjQ2ODM5Li5hZjdhMTAyYjVhYmVkZTMwOTIyNWFhYTkxYjdhNWFhNDEwYmM5
NzVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgv
VjhUZXN0T2JqLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
VjgvVjhUZXN0T2JqLmNwcApAQCAtMzI1MSw1NyArMzI1MSw1NyBAQCBzdGF0aWMgY29uc3QgVjhE
T01Db25maWd1cmF0aW9uOjpCYXRjaGVkQXR0cmlidXRlIFY4VGVzdE9iakF0dHJzW10gPSB7CiB9
OwogCiBzdGF0aWMgY29uc3QgVjhET01Db25maWd1cmF0aW9uOjpCYXRjaGVkTWV0aG9kIFY4VGVz
dE9iak1ldGhvZHNbXSA9IHsKLSAgICB7InZvaWRNZXRob2QiLCBUZXN0T2JqVjhJbnRlcm5hbDo6
dm9pZE1ldGhvZE1ldGhvZENhbGxiYWNrLCAwfSwKLSAgICB7ImxvbmdNZXRob2QiLCBUZXN0T2Jq
VjhJbnRlcm5hbDo6bG9uZ01ldGhvZE1ldGhvZENhbGxiYWNrLCAwfSwKLSAgICB7Im9iak1ldGhv
ZCIsIFRlc3RPYmpWOEludGVybmFsOjpvYmpNZXRob2RNZXRob2RDYWxsYmFjaywgMH0sCi0gICAg
eyJtZXRob2RSZXR1cm5pbmdTZXF1ZW5jZSIsIFRlc3RPYmpWOEludGVybmFsOjptZXRob2RSZXR1
cm5pbmdTZXF1ZW5jZU1ldGhvZENhbGxiYWNrLCAwfSwKLSAgICB7InNlcmlhbGl6ZWRWYWx1ZSIs
IFRlc3RPYmpWOEludGVybmFsOjpzZXJpYWxpemVkVmFsdWVNZXRob2RDYWxsYmFjaywgMH0sCi0g
ICAgeyJvcHRpb25zT2JqZWN0IiwgVGVzdE9ialY4SW50ZXJuYWw6Om9wdGlvbnNPYmplY3RNZXRo
b2RDYWxsYmFjaywgMH0sCi0gICAgeyJtZXRob2RXaXRoRXhjZXB0aW9uIiwgVGVzdE9ialY4SW50
ZXJuYWw6Om1ldGhvZFdpdGhFeGNlcHRpb25NZXRob2RDYWxsYmFjaywgMH0sCi0gICAgeyJjdXN0
b21NZXRob2QiLCBUZXN0T2JqVjhJbnRlcm5hbDo6Y3VzdG9tTWV0aG9kTWV0aG9kQ2FsbGJhY2ss
IDB9LAotICAgIHsiY3VzdG9tTWV0aG9kV2l0aEFyZ3MiLCBUZXN0T2JqVjhJbnRlcm5hbDo6Y3Vz
dG9tTWV0aG9kV2l0aEFyZ3NNZXRob2RDYWxsYmFjaywgMH0sCi0gICAgeyJhZGRFdmVudExpc3Rl
bmVyIiwgVGVzdE9ialY4SW50ZXJuYWw6OmFkZEV2ZW50TGlzdGVuZXJNZXRob2RDYWxsYmFjaywg
MH0sCi0gICAgeyJyZW1vdmVFdmVudExpc3RlbmVyIiwgVGVzdE9ialY4SW50ZXJuYWw6OnJlbW92
ZUV2ZW50TGlzdGVuZXJNZXRob2RDYWxsYmFjaywgMH0sCi0gICAgeyJ3aXRoU2NyaXB0U3RhdGVW
b2lkIiwgVGVzdE9ialY4SW50ZXJuYWw6OndpdGhTY3JpcHRTdGF0ZVZvaWRNZXRob2RDYWxsYmFj
aywgMH0sCi0gICAgeyJ3aXRoU2NyaXB0U3RhdGVPYmoiLCBUZXN0T2JqVjhJbnRlcm5hbDo6d2l0
aFNjcmlwdFN0YXRlT2JqTWV0aG9kQ2FsbGJhY2ssIDB9LAotICAgIHsid2l0aFNjcmlwdFN0YXRl
Vm9pZEV4Y2VwdGlvbiIsIFRlc3RPYmpWOEludGVybmFsOjp3aXRoU2NyaXB0U3RhdGVWb2lkRXhj
ZXB0aW9uTWV0aG9kQ2FsbGJhY2ssIDB9LAotICAgIHsid2l0aFNjcmlwdFN0YXRlT2JqRXhjZXB0
aW9uIiwgVGVzdE9ialY4SW50ZXJuYWw6OndpdGhTY3JpcHRTdGF0ZU9iakV4Y2VwdGlvbk1ldGhv
ZENhbGxiYWNrLCAwfSwKLSAgICB7IndpdGhTY3JpcHRFeGVjdXRpb25Db250ZXh0IiwgVGVzdE9i
alY4SW50ZXJuYWw6OndpdGhTY3JpcHRFeGVjdXRpb25Db250ZXh0TWV0aG9kQ2FsbGJhY2ssIDB9
LAotICAgIHsid2l0aFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRBbmRTY3JpcHRTdGF0ZSIsIFRlc3RP
YmpWOEludGVybmFsOjp3aXRoU2NyaXB0RXhlY3V0aW9uQ29udGV4dEFuZFNjcmlwdFN0YXRlTWV0
aG9kQ2FsbGJhY2ssIDB9LAotICAgIHsid2l0aFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRBbmRTY3Jp
cHRTdGF0ZU9iakV4Y2VwdGlvbiIsIFRlc3RPYmpWOEludGVybmFsOjp3aXRoU2NyaXB0RXhlY3V0
aW9uQ29udGV4dEFuZFNjcmlwdFN0YXRlT2JqRXhjZXB0aW9uTWV0aG9kQ2FsbGJhY2ssIDB9LAot
ICAgIHsid2l0aFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRBbmRTY3JpcHRTdGF0ZVdpdGhTcGFjZXMi
LCBUZXN0T2JqVjhJbnRlcm5hbDo6d2l0aFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRBbmRTY3JpcHRT
dGF0ZVdpdGhTcGFjZXNNZXRob2RDYWxsYmFjaywgMH0sCi0gICAgeyJ3aXRoU2NyaXB0QXJndW1l
bnRzQW5kQ2FsbFN0YWNrIiwgVGVzdE9ialY4SW50ZXJuYWw6OndpdGhTY3JpcHRBcmd1bWVudHNB
bmRDYWxsU3RhY2tNZXRob2RDYWxsYmFjaywgMH0sCi0gICAgeyJtZXRob2RXaXRoT3B0aW9uYWxB
cmciLCBUZXN0T2JqVjhJbnRlcm5hbDo6bWV0aG9kV2l0aE9wdGlvbmFsQXJnTWV0aG9kQ2FsbGJh
Y2ssIDB9LAotICAgIHsibWV0aG9kV2l0aE5vbk9wdGlvbmFsQXJnQW5kT3B0aW9uYWxBcmciLCBU
ZXN0T2JqVjhJbnRlcm5hbDo6bWV0aG9kV2l0aE5vbk9wdGlvbmFsQXJnQW5kT3B0aW9uYWxBcmdN
ZXRob2RDYWxsYmFjaywgMH0sCi0gICAgeyJtZXRob2RXaXRoTm9uT3B0aW9uYWxBcmdBbmRUd29P
cHRpb25hbEFyZ3MiLCBUZXN0T2JqVjhJbnRlcm5hbDo6bWV0aG9kV2l0aE5vbk9wdGlvbmFsQXJn
QW5kVHdvT3B0aW9uYWxBcmdzTWV0aG9kQ2FsbGJhY2ssIDB9LAotICAgIHsibWV0aG9kV2l0aE9w
dGlvbmFsU3RyaW5nIiwgVGVzdE9ialY4SW50ZXJuYWw6Om1ldGhvZFdpdGhPcHRpb25hbFN0cmlu
Z01ldGhvZENhbGxiYWNrLCAwfSwKLSAgICB7Im1ldGhvZFdpdGhPcHRpb25hbFN0cmluZ0lzVW5k
ZWZpbmVkIiwgVGVzdE9ialY4SW50ZXJuYWw6Om1ldGhvZFdpdGhPcHRpb25hbFN0cmluZ0lzVW5k
ZWZpbmVkTWV0aG9kQ2FsbGJhY2ssIDB9LAotICAgIHsibWV0aG9kV2l0aE9wdGlvbmFsU3RyaW5n
SXNOdWxsU3RyaW5nIiwgVGVzdE9ialY4SW50ZXJuYWw6Om1ldGhvZFdpdGhPcHRpb25hbFN0cmlu
Z0lzTnVsbFN0cmluZ01ldGhvZENhbGxiYWNrLCAwfSwKLSAgICB7Im1ldGhvZFdpdGhDYWxsYmFj
a0FyZyIsIFRlc3RPYmpWOEludGVybmFsOjptZXRob2RXaXRoQ2FsbGJhY2tBcmdNZXRob2RDYWxs
YmFjaywgMH0sCi0gICAgeyJtZXRob2RXaXRoTm9uQ2FsbGJhY2tBcmdBbmRDYWxsYmFja0FyZyIs
IFRlc3RPYmpWOEludGVybmFsOjptZXRob2RXaXRoTm9uQ2FsbGJhY2tBcmdBbmRDYWxsYmFja0Fy
Z01ldGhvZENhbGxiYWNrLCAwfSwKLSAgICB7Im1ldGhvZFdpdGhDYWxsYmFja0FuZE9wdGlvbmFs
QXJnIiwgVGVzdE9ialY4SW50ZXJuYWw6Om1ldGhvZFdpdGhDYWxsYmFja0FuZE9wdGlvbmFsQXJn
TWV0aG9kQ2FsbGJhY2ssIDB9LAotICAgIHsibWV0aG9kV2l0aEVuZm9yY2VSYW5nZUludDMyIiwg
VGVzdE9ialY4SW50ZXJuYWw6Om1ldGhvZFdpdGhFbmZvcmNlUmFuZ2VJbnQzMk1ldGhvZENhbGxi
YWNrLCAwfSwKLSAgICB7Im1ldGhvZFdpdGhFbmZvcmNlUmFuZ2VVSW50MzIiLCBUZXN0T2JqVjhJ
bnRlcm5hbDo6bWV0aG9kV2l0aEVuZm9yY2VSYW5nZVVJbnQzMk1ldGhvZENhbGxiYWNrLCAwfSwK
LSAgICB7Im1ldGhvZFdpdGhFbmZvcmNlUmFuZ2VJbnQ2NCIsIFRlc3RPYmpWOEludGVybmFsOjpt
ZXRob2RXaXRoRW5mb3JjZVJhbmdlSW50NjRNZXRob2RDYWxsYmFjaywgMH0sCi0gICAgeyJtZXRo
b2RXaXRoRW5mb3JjZVJhbmdlVUludDY0IiwgVGVzdE9ialY4SW50ZXJuYWw6Om1ldGhvZFdpdGhF
bmZvcmNlUmFuZ2VVSW50NjRNZXRob2RDYWxsYmFjaywgMH0sCisgICAgeyJ2b2lkTWV0aG9kIiwg
VGVzdE9ialY4SW50ZXJuYWw6OnZvaWRNZXRob2RNZXRob2RDYWxsYmFja30sCisgICAgeyJsb25n
TWV0aG9kIiwgVGVzdE9ialY4SW50ZXJuYWw6OmxvbmdNZXRob2RNZXRob2RDYWxsYmFja30sCisg
ICAgeyJvYmpNZXRob2QiLCBUZXN0T2JqVjhJbnRlcm5hbDo6b2JqTWV0aG9kTWV0aG9kQ2FsbGJh
Y2t9LAorICAgIHsibWV0aG9kUmV0dXJuaW5nU2VxdWVuY2UiLCBUZXN0T2JqVjhJbnRlcm5hbDo6
bWV0aG9kUmV0dXJuaW5nU2VxdWVuY2VNZXRob2RDYWxsYmFja30sCisgICAgeyJzZXJpYWxpemVk
VmFsdWUiLCBUZXN0T2JqVjhJbnRlcm5hbDo6c2VyaWFsaXplZFZhbHVlTWV0aG9kQ2FsbGJhY2t9
LAorICAgIHsib3B0aW9uc09iamVjdCIsIFRlc3RPYmpWOEludGVybmFsOjpvcHRpb25zT2JqZWN0
TWV0aG9kQ2FsbGJhY2t9LAorICAgIHsibWV0aG9kV2l0aEV4Y2VwdGlvbiIsIFRlc3RPYmpWOElu
dGVybmFsOjptZXRob2RXaXRoRXhjZXB0aW9uTWV0aG9kQ2FsbGJhY2t9LAorICAgIHsiY3VzdG9t
TWV0aG9kIiwgVGVzdE9ialY4SW50ZXJuYWw6OmN1c3RvbU1ldGhvZE1ldGhvZENhbGxiYWNrfSwK
KyAgICB7ImN1c3RvbU1ldGhvZFdpdGhBcmdzIiwgVGVzdE9ialY4SW50ZXJuYWw6OmN1c3RvbU1l
dGhvZFdpdGhBcmdzTWV0aG9kQ2FsbGJhY2t9LAorICAgIHsiYWRkRXZlbnRMaXN0ZW5lciIsIFRl
c3RPYmpWOEludGVybmFsOjphZGRFdmVudExpc3RlbmVyTWV0aG9kQ2FsbGJhY2t9LAorICAgIHsi
cmVtb3ZlRXZlbnRMaXN0ZW5lciIsIFRlc3RPYmpWOEludGVybmFsOjpyZW1vdmVFdmVudExpc3Rl
bmVyTWV0aG9kQ2FsbGJhY2t9LAorICAgIHsid2l0aFNjcmlwdFN0YXRlVm9pZCIsIFRlc3RPYmpW
OEludGVybmFsOjp3aXRoU2NyaXB0U3RhdGVWb2lkTWV0aG9kQ2FsbGJhY2t9LAorICAgIHsid2l0
aFNjcmlwdFN0YXRlT2JqIiwgVGVzdE9ialY4SW50ZXJuYWw6OndpdGhTY3JpcHRTdGF0ZU9iak1l
dGhvZENhbGxiYWNrfSwKKyAgICB7IndpdGhTY3JpcHRTdGF0ZVZvaWRFeGNlcHRpb24iLCBUZXN0
T2JqVjhJbnRlcm5hbDo6d2l0aFNjcmlwdFN0YXRlVm9pZEV4Y2VwdGlvbk1ldGhvZENhbGxiYWNr
fSwKKyAgICB7IndpdGhTY3JpcHRTdGF0ZU9iakV4Y2VwdGlvbiIsIFRlc3RPYmpWOEludGVybmFs
Ojp3aXRoU2NyaXB0U3RhdGVPYmpFeGNlcHRpb25NZXRob2RDYWxsYmFja30sCisgICAgeyJ3aXRo
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCIsIFRlc3RPYmpWOEludGVybmFsOjp3aXRoU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dE1ldGhvZENhbGxiYWNrfSwKKyAgICB7IndpdGhTY3JpcHRFeGVjdXRpb25D
b250ZXh0QW5kU2NyaXB0U3RhdGUiLCBUZXN0T2JqVjhJbnRlcm5hbDo6d2l0aFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHRBbmRTY3JpcHRTdGF0ZU1ldGhvZENhbGxiYWNrfSwKKyAgICB7IndpdGhTY3Jp
cHRFeGVjdXRpb25Db250ZXh0QW5kU2NyaXB0U3RhdGVPYmpFeGNlcHRpb24iLCBUZXN0T2JqVjhJ
bnRlcm5hbDo6d2l0aFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRBbmRTY3JpcHRTdGF0ZU9iakV4Y2Vw
dGlvbk1ldGhvZENhbGxiYWNrfSwKKyAgICB7IndpdGhTY3JpcHRFeGVjdXRpb25Db250ZXh0QW5k
U2NyaXB0U3RhdGVXaXRoU3BhY2VzIiwgVGVzdE9ialY4SW50ZXJuYWw6OndpdGhTY3JpcHRFeGVj
dXRpb25Db250ZXh0QW5kU2NyaXB0U3RhdGVXaXRoU3BhY2VzTWV0aG9kQ2FsbGJhY2t9LAorICAg
IHsid2l0aFNjcmlwdEFyZ3VtZW50c0FuZENhbGxTdGFjayIsIFRlc3RPYmpWOEludGVybmFsOjp3
aXRoU2NyaXB0QXJndW1lbnRzQW5kQ2FsbFN0YWNrTWV0aG9kQ2FsbGJhY2t9LAorICAgIHsibWV0
aG9kV2l0aE9wdGlvbmFsQXJnIiwgVGVzdE9ialY4SW50ZXJuYWw6Om1ldGhvZFdpdGhPcHRpb25h
bEFyZ01ldGhvZENhbGxiYWNrfSwKKyAgICB7Im1ldGhvZFdpdGhOb25PcHRpb25hbEFyZ0FuZE9w
dGlvbmFsQXJnIiwgVGVzdE9ialY4SW50ZXJuYWw6Om1ldGhvZFdpdGhOb25PcHRpb25hbEFyZ0Fu
ZE9wdGlvbmFsQXJnTWV0aG9kQ2FsbGJhY2t9LAorICAgIHsibWV0aG9kV2l0aE5vbk9wdGlvbmFs
QXJnQW5kVHdvT3B0aW9uYWxBcmdzIiwgVGVzdE9ialY4SW50ZXJuYWw6Om1ldGhvZFdpdGhOb25P
cHRpb25hbEFyZ0FuZFR3b09wdGlvbmFsQXJnc01ldGhvZENhbGxiYWNrfSwKKyAgICB7Im1ldGhv
ZFdpdGhPcHRpb25hbFN0cmluZyIsIFRlc3RPYmpWOEludGVybmFsOjptZXRob2RXaXRoT3B0aW9u
YWxTdHJpbmdNZXRob2RDYWxsYmFja30sCisgICAgeyJtZXRob2RXaXRoT3B0aW9uYWxTdHJpbmdJ
c1VuZGVmaW5lZCIsIFRlc3RPYmpWOEludGVybmFsOjptZXRob2RXaXRoT3B0aW9uYWxTdHJpbmdJ
c1VuZGVmaW5lZE1ldGhvZENhbGxiYWNrfSwKKyAgICB7Im1ldGhvZFdpdGhPcHRpb25hbFN0cmlu
Z0lzTnVsbFN0cmluZyIsIFRlc3RPYmpWOEludGVybmFsOjptZXRob2RXaXRoT3B0aW9uYWxTdHJp
bmdJc051bGxTdHJpbmdNZXRob2RDYWxsYmFja30sCisgICAgeyJtZXRob2RXaXRoQ2FsbGJhY2tB
cmciLCBUZXN0T2JqVjhJbnRlcm5hbDo6bWV0aG9kV2l0aENhbGxiYWNrQXJnTWV0aG9kQ2FsbGJh
Y2t9LAorICAgIHsibWV0aG9kV2l0aE5vbkNhbGxiYWNrQXJnQW5kQ2FsbGJhY2tBcmciLCBUZXN0
T2JqVjhJbnRlcm5hbDo6bWV0aG9kV2l0aE5vbkNhbGxiYWNrQXJnQW5kQ2FsbGJhY2tBcmdNZXRo
b2RDYWxsYmFja30sCisgICAgeyJtZXRob2RXaXRoQ2FsbGJhY2tBbmRPcHRpb25hbEFyZyIsIFRl
c3RPYmpWOEludGVybmFsOjptZXRob2RXaXRoQ2FsbGJhY2tBbmRPcHRpb25hbEFyZ01ldGhvZENh
bGxiYWNrfSwKKyAgICB7Im1ldGhvZFdpdGhFbmZvcmNlUmFuZ2VJbnQzMiIsIFRlc3RPYmpWOElu
dGVybmFsOjptZXRob2RXaXRoRW5mb3JjZVJhbmdlSW50MzJNZXRob2RDYWxsYmFja30sCisgICAg
eyJtZXRob2RXaXRoRW5mb3JjZVJhbmdlVUludDMyIiwgVGVzdE9ialY4SW50ZXJuYWw6Om1ldGhv
ZFdpdGhFbmZvcmNlUmFuZ2VVSW50MzJNZXRob2RDYWxsYmFja30sCisgICAgeyJtZXRob2RXaXRo
RW5mb3JjZVJhbmdlSW50NjQiLCBUZXN0T2JqVjhJbnRlcm5hbDo6bWV0aG9kV2l0aEVuZm9yY2VS
YW5nZUludDY0TWV0aG9kQ2FsbGJhY2t9LAorICAgIHsibWV0aG9kV2l0aEVuZm9yY2VSYW5nZVVJ
bnQ2NCIsIFRlc3RPYmpWOEludGVybmFsOjptZXRob2RXaXRoRW5mb3JjZVJhbmdlVUludDY0TWV0
aG9kQ2FsbGJhY2t9LAogI2lmIEVOQUJMRShDb25kaXRpb24xKQotICAgIHsiY29uZGl0aW9uYWxN
ZXRob2QxIiwgVGVzdE9ialY4SW50ZXJuYWw6OmNvbmRpdGlvbmFsTWV0aG9kMU1ldGhvZENhbGxi
YWNrLCAwfSwKKyAgICB7ImNvbmRpdGlvbmFsTWV0aG9kMSIsIFRlc3RPYmpWOEludGVybmFsOjpj
b25kaXRpb25hbE1ldGhvZDFNZXRob2RDYWxsYmFja30sCiAjZW5kaWYKICNpZiBFTkFCTEUoQ29u
ZGl0aW9uMSkgJiYgRU5BQkxFKENvbmRpdGlvbjIpCi0gICAgeyJjb25kaXRpb25hbE1ldGhvZDIi
LCBUZXN0T2JqVjhJbnRlcm5hbDo6Y29uZGl0aW9uYWxNZXRob2QyTWV0aG9kQ2FsbGJhY2ssIDB9
LAorICAgIHsiY29uZGl0aW9uYWxNZXRob2QyIiwgVGVzdE9ialY4SW50ZXJuYWw6OmNvbmRpdGlv
bmFsTWV0aG9kMk1ldGhvZENhbGxiYWNrfSwKICNlbmRpZgogI2lmIEVOQUJMRShDb25kaXRpb24x
KSB8fCBFTkFCTEUoQ29uZGl0aW9uMikKLSAgICB7ImNvbmRpdGlvbmFsTWV0aG9kMyIsIFRlc3RP
YmpWOEludGVybmFsOjpjb25kaXRpb25hbE1ldGhvZDNNZXRob2RDYWxsYmFjaywgMH0sCisgICAg
eyJjb25kaXRpb25hbE1ldGhvZDMiLCBUZXN0T2JqVjhJbnRlcm5hbDo6Y29uZGl0aW9uYWxNZXRo
b2QzTWV0aG9kQ2FsbGJhY2t9LAogI2VuZGlmCi0gICAgeyJvdmVybG9hZGVkTWV0aG9kIiwgVGVz
dE9ialY4SW50ZXJuYWw6Om92ZXJsb2FkZWRNZXRob2RNZXRob2RDYWxsYmFjaywgMH0sCi0gICAg
eyJjbGFzc01ldGhvZFdpdGhDbGFtcCIsIFRlc3RPYmpWOEludGVybmFsOjpjbGFzc01ldGhvZFdp
dGhDbGFtcE1ldGhvZENhbGxiYWNrLCAwfSwKLSAgICB7ImdldFNWR0RvY3VtZW50IiwgVGVzdE9i
alY4SW50ZXJuYWw6OmdldFNWR0RvY3VtZW50TWV0aG9kQ2FsbGJhY2ssIDB9LAotICAgIHsibXV0
YWJsZVBvaW50RnVuY3Rpb24iLCBUZXN0T2JqVjhJbnRlcm5hbDo6bXV0YWJsZVBvaW50RnVuY3Rp
b25NZXRob2RDYWxsYmFjaywgMH0sCi0gICAgeyJpbW11dGFibGVQb2ludEZ1bmN0aW9uIiwgVGVz
dE9ialY4SW50ZXJuYWw6OmltbXV0YWJsZVBvaW50RnVuY3Rpb25NZXRob2RDYWxsYmFjaywgMH0s
Ci0gICAgeyJvcmFuZ2UiLCBUZXN0T2JqVjhJbnRlcm5hbDo6b3JhbmdlTWV0aG9kQ2FsbGJhY2ss
IDB9LAotICAgIHsic3RyaWN0RnVuY3Rpb24iLCBUZXN0T2JqVjhJbnRlcm5hbDo6c3RyaWN0RnVu
Y3Rpb25NZXRob2RDYWxsYmFjaywgMH0sCi0gICAgeyJ2YXJpYWRpY1N0cmluZ01ldGhvZCIsIFRl
c3RPYmpWOEludGVybmFsOjp2YXJpYWRpY1N0cmluZ01ldGhvZE1ldGhvZENhbGxiYWNrLCAwfSwK
LSAgICB7InZhcmlhZGljRG91YmxlTWV0aG9kIiwgVGVzdE9ialY4SW50ZXJuYWw6OnZhcmlhZGlj
RG91YmxlTWV0aG9kTWV0aG9kQ2FsbGJhY2ssIDB9LAorICAgIHsib3ZlcmxvYWRlZE1ldGhvZCIs
IFRlc3RPYmpWOEludGVybmFsOjpvdmVybG9hZGVkTWV0aG9kTWV0aG9kQ2FsbGJhY2t9LAorICAg
IHsiY2xhc3NNZXRob2RXaXRoQ2xhbXAiLCBUZXN0T2JqVjhJbnRlcm5hbDo6Y2xhc3NNZXRob2RX
aXRoQ2xhbXBNZXRob2RDYWxsYmFja30sCisgICAgeyJnZXRTVkdEb2N1bWVudCIsIFRlc3RPYmpW
OEludGVybmFsOjpnZXRTVkdEb2N1bWVudE1ldGhvZENhbGxiYWNrfSwKKyAgICB7Im11dGFibGVQ
b2ludEZ1bmN0aW9uIiwgVGVzdE9ialY4SW50ZXJuYWw6Om11dGFibGVQb2ludEZ1bmN0aW9uTWV0
aG9kQ2FsbGJhY2t9LAorICAgIHsiaW1tdXRhYmxlUG9pbnRGdW5jdGlvbiIsIFRlc3RPYmpWOElu
dGVybmFsOjppbW11dGFibGVQb2ludEZ1bmN0aW9uTWV0aG9kQ2FsbGJhY2t9LAorICAgIHsib3Jh
bmdlIiwgVGVzdE9ialY4SW50ZXJuYWw6Om9yYW5nZU1ldGhvZENhbGxiYWNrfSwKKyAgICB7InN0
cmljdEZ1bmN0aW9uIiwgVGVzdE9ialY4SW50ZXJuYWw6OnN0cmljdEZ1bmN0aW9uTWV0aG9kQ2Fs
bGJhY2t9LAorICAgIHsidmFyaWFkaWNTdHJpbmdNZXRob2QiLCBUZXN0T2JqVjhJbnRlcm5hbDo6
dmFyaWFkaWNTdHJpbmdNZXRob2RNZXRob2RDYWxsYmFja30sCisgICAgeyJ2YXJpYWRpY0RvdWJs
ZU1ldGhvZCIsIFRlc3RPYmpWOEludGVybmFsOjp2YXJpYWRpY0RvdWJsZU1ldGhvZE1ldGhvZENh
bGxiYWNrfSwKIH07CiAKIHN0YXRpYyBjb25zdCBWOERPTUNvbmZpZ3VyYXRpb246OkJhdGNoZWRD
b25zdGFudCBWOFRlc3RPYmpDb25zdHNbXSA9IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRl
cmZhY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVz
dFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZS5jcHAKaW5kZXggMjEzMDY3OTFmZjU0ZTc0
NWU5YzY1NzZmZDc3MGI0ODRiMzZhMjBmMS4uMDNkMDA4MTA5MDY2MDMzMTYxMjNiMDQzOGMyMzEz
OGFkYjJhMjBmNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L1Y4L1Y4VGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdFNlcmlhbGl6ZWRTY3Jp
cHRWYWx1ZUludGVyZmFjZS5jcHAKQEAgLTI5Myw4ICsyOTMsOCBAQCBzdGF0aWMgY29uc3QgVjhE
T01Db25maWd1cmF0aW9uOjpCYXRjaGVkQXR0cmlidXRlIFY4VGVzdFNlcmlhbGl6ZWRTY3JpcHRW
YWx1ZUludAogfTsKIAogc3RhdGljIGNvbnN0IFY4RE9NQ29uZmlndXJhdGlvbjo6QmF0Y2hlZE1l
dGhvZCBWOFRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2VNZXRob2RzW10gPSB7Ci0g
ICAgeyJhY2NlcHRUcmFuc2Zlckxpc3QiLCBUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJm
YWNlVjhJbnRlcm5hbDo6YWNjZXB0VHJhbnNmZXJMaXN0TWV0aG9kQ2FsbGJhY2ssIDB9LAotICAg
IHsibXVsdGlUcmFuc2Zlckxpc3QiLCBUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNl
VjhJbnRlcm5hbDo6bXVsdGlUcmFuc2Zlckxpc3RNZXRob2RDYWxsYmFjaywgMH0sCisgICAgeyJh
Y2NlcHRUcmFuc2Zlckxpc3QiLCBUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlVjhJ
bnRlcm5hbDo6YWNjZXB0VHJhbnNmZXJMaXN0TWV0aG9kQ2FsbGJhY2t9LAorICAgIHsibXVsdGlU
cmFuc2Zlckxpc3QiLCBUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlVjhJbnRlcm5h
bDo6bXVsdGlUcmFuc2Zlckxpc3RNZXRob2RDYWxsYmFja30sCiB9OwogCiB2ODo6SGFuZGxlPHY4
OjpWYWx1ZT4gVjhUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlOjpjb25zdHJ1Y3Rv
ckNhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3MpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0VHlwZWRlZnMuY3BwIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdFR5cGVkZWZzLmNwcApp
bmRleCBhY2E5ZTdmNDFkMmYxZjgzMTJhYTU0MTI4YTQ5ZDhhNWI1ODcwZThkLi41ZjY1MGI4MGRh
NDBhZjI1NmE5ZmY5NWRmYTY0ZTQ3YTVjMzNjZGE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0VHlwZWRlZnMuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RUeXBlZGVmcy5jcHAKQEAg
LTUxNCwxMiArNTE0LDEyIEBAIHN0YXRpYyBjb25zdCBWOERPTUNvbmZpZ3VyYXRpb246OkJhdGNo
ZWRBdHRyaWJ1dGUgVjhUZXN0VHlwZWRlZnNBdHRyc1tdID0gewogfTsKIAogc3RhdGljIGNvbnN0
IFY4RE9NQ29uZmlndXJhdGlvbjo6QmF0Y2hlZE1ldGhvZCBWOFRlc3RUeXBlZGVmc01ldGhvZHNb
XSA9IHsKLSAgICB7ImZ1bmMiLCBUZXN0VHlwZWRlZnNWOEludGVybmFsOjpmdW5jTWV0aG9kQ2Fs
bGJhY2ssIDB9LAotICAgIHsibXVsdGlUcmFuc2Zlckxpc3QiLCBUZXN0VHlwZWRlZnNWOEludGVy
bmFsOjptdWx0aVRyYW5zZmVyTGlzdE1ldGhvZENhbGxiYWNrLCAwfSwKLSAgICB7InNldFNoYWRv
dyIsIFRlc3RUeXBlZGVmc1Y4SW50ZXJuYWw6OnNldFNoYWRvd01ldGhvZENhbGxiYWNrLCAwfSwK
LSAgICB7ImZ1bmNXaXRoQ2xhbXAiLCBUZXN0VHlwZWRlZnNWOEludGVybmFsOjpmdW5jV2l0aENs
YW1wTWV0aG9kQ2FsbGJhY2ssIDB9LAotICAgIHsiaW1tdXRhYmxlUG9pbnRGdW5jdGlvbiIsIFRl
c3RUeXBlZGVmc1Y4SW50ZXJuYWw6OmltbXV0YWJsZVBvaW50RnVuY3Rpb25NZXRob2RDYWxsYmFj
aywgMH0sCi0gICAgeyJtZXRob2RXaXRoRXhjZXB0aW9uIiwgVGVzdFR5cGVkZWZzVjhJbnRlcm5h
bDo6bWV0aG9kV2l0aEV4Y2VwdGlvbk1ldGhvZENhbGxiYWNrLCAwfSwKKyAgICB7ImZ1bmMiLCBU
ZXN0VHlwZWRlZnNWOEludGVybmFsOjpmdW5jTWV0aG9kQ2FsbGJhY2t9LAorICAgIHsibXVsdGlU
cmFuc2Zlckxpc3QiLCBUZXN0VHlwZWRlZnNWOEludGVybmFsOjptdWx0aVRyYW5zZmVyTGlzdE1l
dGhvZENhbGxiYWNrfSwKKyAgICB7InNldFNoYWRvdyIsIFRlc3RUeXBlZGVmc1Y4SW50ZXJuYWw6
OnNldFNoYWRvd01ldGhvZENhbGxiYWNrfSwKKyAgICB7ImZ1bmNXaXRoQ2xhbXAiLCBUZXN0VHlw
ZWRlZnNWOEludGVybmFsOjpmdW5jV2l0aENsYW1wTWV0aG9kQ2FsbGJhY2t9LAorICAgIHsiaW1t
dXRhYmxlUG9pbnRGdW5jdGlvbiIsIFRlc3RUeXBlZGVmc1Y4SW50ZXJuYWw6OmltbXV0YWJsZVBv
aW50RnVuY3Rpb25NZXRob2RDYWxsYmFja30sCisgICAgeyJtZXRob2RXaXRoRXhjZXB0aW9uIiwg
VGVzdFR5cGVkZWZzVjhJbnRlcm5hbDo6bWV0aG9kV2l0aEV4Y2VwdGlvbk1ldGhvZENhbGxiYWNr
fSwKIH07CiAKIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOFRlc3RUeXBlZGVmczo6Y29uc3RydWN0
b3JDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvdjgvQ3VzdG9tRWxlbWVudEhlbHBlcnMuY3BwIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvdjgvQ3VzdG9tRWxlbWVudEhlbHBlcnMuY3BwCmluZGV4IDYxODM4OWZk
MzdjMzk3MWFhMzI1MGI0YzlhM2RhMjY1MWU1MGI1YjEuLjJjZDVjYTQwMWU3YTRjMzczNjk2MTky
OWUwZjgxMThhMjAxMzU4ZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4
L0N1c3RvbUVsZW1lbnRIZWxwZXJzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92
OC9DdXN0b21FbGVtZW50SGVscGVycy5jcHAKQEAgLTMxLDkgKzMxLDcgQEAKICNpbmNsdWRlICJj
b25maWcuaCIKICNpbmNsdWRlICJDdXN0b21FbGVtZW50SGVscGVycy5oIgogCi0jaW5jbHVkZSAi
Q3VzdG9tRWxlbWVudFJlZ2lzdHJ5LmgiCiAjaW5jbHVkZSAiRE9NV3JhcHBlcldvcmxkLmgiCi0j
aW5jbHVkZSAiU2NyaXB0Q29udHJvbGxlci5oIgogI2luY2x1ZGUgIlY4Q3VzdG9tRWxlbWVudENv
bnN0cnVjdG9yLmgiCiAjaW5jbHVkZSAiVjhIVE1MRWxlbWVudFdyYXBwZXJGYWN0b3J5LmgiCiAj
aW5jbHVkZSAiVjhIVE1MUGFyYWdyYXBoRWxlbWVudC5oIgpAQCAtMTQwLDQ0ICsxMzgsNiBAQCBj
b25zdCBRdWFsaWZpZWROYW1lKiBDdXN0b21FbGVtZW50SGVscGVyczo6ZmluZExvY2FsTmFtZSh2
ODo6SGFuZGxlPHY4OjpPYmplY3Q+CiAgICAgcmV0dXJuIGZpbmRIVE1MVGFnTmFtZU9mVjhUeXBl
KHR5cGUpOwogfQogCi12b2lkIEN1c3RvbUVsZW1lbnRIZWxwZXJzOjppbnZva2VSZWFkeUNhbGxi
YWNrSWZOZWVkZWQoRWxlbWVudCogZWxlbWVudCwgdjg6OkhhbmRsZTx2ODo6Q29udGV4dD4gY29u
dGV4dCkKLXsKLSAgICB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gd3JhcHBlclZhbHVlID0gdG9WOChl
bGVtZW50LCBjb250ZXh0LT5HbG9iYWwoKSwgY29udGV4dC0+R2V0SXNvbGF0ZSgpKTsKLSAgICBp
ZiAod3JhcHBlclZhbHVlLklzRW1wdHkoKSB8fCAhd3JhcHBlclZhbHVlLT5Jc09iamVjdCgpKQot
ICAgICAgICByZXR1cm47Ci0gICAgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiB3cmFwcGVyID0gdjg6
OkhhbmRsZTx2ODo6T2JqZWN0Pjo6Q2FzdCh3cmFwcGVyVmFsdWUpOwotICAgIHY4OjpIYW5kbGU8
djg6OlZhbHVlPiBwcm90b3R5cGVWYWx1ZSA9IHdyYXBwZXItPkdldFByb3RvdHlwZSgpOwotICAg
IGlmIChwcm90b3R5cGVWYWx1ZS5Jc0VtcHR5KCkgfHwgIXByb3RvdHlwZVZhbHVlLT5Jc09iamVj
dCgpKQotICAgICAgICByZXR1cm47Ci0gICAgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiBwcm90b3R5
cGUgPSB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+OjpDYXN0KHByb3RvdHlwZVZhbHVlKTsKLSAgICB2
ODo6SGFuZGxlPHY4OjpWYWx1ZT4gZnVuY3Rpb25WYWx1ZSA9IHByb3RvdHlwZS0+R2V0KHY4OjpT
dHJpbmc6Ok5ld1N5bWJvbCgicmVhZHlDYWxsYmFjayIpKTsKLSAgICBpZiAoZnVuY3Rpb25WYWx1
ZS5Jc0VtcHR5KCkgfHwgIWZ1bmN0aW9uVmFsdWUtPklzRnVuY3Rpb24oKSkKLSAgICAgICAgcmV0
dXJuOwotCi0gICAgdjg6OkhhbmRsZTx2ODo6RnVuY3Rpb24+IGZ1bmN0aW9uID0gdjg6OkhhbmRs
ZTx2ODo6RnVuY3Rpb24+OjpDYXN0KGZ1bmN0aW9uVmFsdWUpOwotICAgIHY4OjpUcnlDYXRjaCBl
eGNlcHRpb25DYXRjaGVyOwotICAgIGV4Y2VwdGlvbkNhdGNoZXIuU2V0VmVyYm9zZSh0cnVlKTsK
LSAgICB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gYXJnc1tdID0geyB9OwotICAgIFNjcmlwdENvbnRy
b2xsZXI6OmNhbGxGdW5jdGlvbldpdGhJbnN0cnVtZW50YXRpb24oZWxlbWVudC0+ZG9jdW1lbnQo
KSwgZnVuY3Rpb24sIHdyYXBwZXIsIDAsIGFyZ3MpOwotfQotCi0KLXZvaWQgQ3VzdG9tRWxlbWVu
dEhlbHBlcnM6Omludm9rZVJlYWR5Q2FsbGJhY2tzSWZOZWVkZWQoU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCogZXhlY3V0aW9uQ29udGV4dCwgY29uc3QgVmVjdG9yPEN1c3RvbUVsZW1lbnRJbnZvY2F0
aW9uPiYgaW52b2NhdGlvbnMpCi17Ci0gICAgQVNTRVJUKCFpbnZvY2F0aW9ucy5pc0VtcHR5KCkp
OwotCi0gICAgdjg6OkhhbmRsZVNjb3BlIGhhbmRsZVNjb3BlOwotICAgIHY4OjpIYW5kbGU8djg6
OkNvbnRleHQ+IGNvbnRleHQgPSB0b1Y4Q29udGV4dChleGVjdXRpb25Db250ZXh0LCBtYWluVGhy
ZWFkTm9ybWFsV29ybGQoKSk7Ci0gICAgaWYgKGNvbnRleHQuSXNFbXB0eSgpKQotICAgICAgICBy
ZXR1cm47Ci0gICAgdjg6OkNvbnRleHQ6OlNjb3BlIHNjb3BlKGNvbnRleHQpOwotCi0gICAgZm9y
IChzaXplX3QgaSA9IDA7IGkgPCBpbnZvY2F0aW9ucy5zaXplKCk7ICsraSkgewotICAgICAgICBB
U1NFUlQoZXhlY3V0aW9uQ29udGV4dCA9PSBpbnZvY2F0aW9uc1tpXS5lbGVtZW50KCktPmRvY3Vt
ZW50KCkpOwotICAgICAgICBpbnZva2VSZWFkeUNhbGxiYWNrSWZOZWVkZWQoaW52b2NhdGlvbnNb
aV0uZWxlbWVudCgpLCBjb250ZXh0KTsKLSAgICB9Ci19Ci0KICNlbmRpZiAvLyBFTkFCTEUoQ1VT
VE9NX0VMRU1FTlRTKQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy92OC9DdXN0b21FbGVtZW50SGVscGVycy5oIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvdjgvQ3VzdG9tRWxlbWVudEhlbHBlcnMuaAppbmRleCA4NjExODE5ZTg3
NWY2MmZkNzRmZjNjOTg5NTJhYzg4MTFjNmU3NGFmLi5mMjkwZjU0ODgwZDA5NzQyNTcyYTlkZDRm
ODQyOTcwZWMwYmI1MTA4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9D
dXN0b21FbGVtZW50SGVscGVycy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L0N1
c3RvbUVsZW1lbnRIZWxwZXJzLmgKQEAgLTMzLDE1ICszMywxMiBAQAogCiAjaW5jbHVkZSAiRXhj
ZXB0aW9uQ29kZS5oIgogI2luY2x1ZGUgIlNjcmlwdFZhbHVlLmgiCi0jaW5jbHVkZSA8d3RmL0Zv
cndhcmQuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAjaWYgRU5BQkxFKENVU1RPTV9FTEVN
RU5UUykKIAogY2xhc3MgQ3VzdG9tRWxlbWVudENvbnN0cnVjdG9yOwotY2xhc3MgQ3VzdG9tRWxl
bWVudEludm9jYXRpb247Ci1jbGFzcyBFbGVtZW50OwogY2xhc3MgUXVhbGlmaWVkTmFtZTsKIGNs
YXNzIFNjcmlwdFN0YXRlOwogCkBAIC01NSwxMSArNTIsNiBAQCBwdWJsaWM6CiAgICAgc3RhdGlj
IGJvb2wgaXNGZWF0dXJlQWxsb3dlZCh2ODo6SGFuZGxlPHY4OjpDb250ZXh0Pik7CiAgICAgc3Rh
dGljIFdyYXBwZXJUeXBlSW5mbyogZmluZFdyYXBwZXJUeXBlKHY4OjpIYW5kbGU8djg6OlZhbHVl
PiBjaGFpbik7CiAgICAgc3RhdGljIGNvbnN0IFF1YWxpZmllZE5hbWUqIGZpbmRMb2NhbE5hbWUo
djg6OkhhbmRsZTx2ODo6T2JqZWN0PiBjaGFpbik7Ci0KLSAgICBzdGF0aWMgdm9pZCBpbnZva2VS
ZWFkeUNhbGxiYWNrc0lmTmVlZGVkKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBjb25zdCBWZWN0
b3I8Q3VzdG9tRWxlbWVudEludm9jYXRpb24+Jik7Ci0KLXByaXZhdGU6Ci0gICAgc3RhdGljIHZv
aWQgaW52b2tlUmVhZHlDYWxsYmFja0lmTmVlZGVkKEVsZW1lbnQqLCB2ODo6SGFuZGxlPHY4OjpD
b250ZXh0Pik7CiB9OwogCiAjZW5kaWYgLy8gRU5BQkxFKENVU1RPTV9FTEVNRU5UUykKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4RE9NQ29uZmlndXJhdGlvbi5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOERPTUNvbmZpZ3VyYXRpb24uY3BwCmluZGV4
IDY1NGY4MjVkZjU4MzM2ZTU5NWY0MThlZWJjZWU2ZTQ5NTQ1NTRhMTAuLjU2MWNhYmQ4MmI0Y2Iz
NDYzNGUxMjAxYzU4ZGFlNTBlZGZlNDlhNDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3Y4L1Y4RE9NQ29uZmlndXJhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvdjgvVjhET01Db25maWd1cmF0aW9uLmNwcApAQCAtNDgsMTQgKzQ4LDEwIEBAIHZvaWQg
VjhET01Db25maWd1cmF0aW9uOjpiYXRjaENvbmZpZ3VyZUNvbnN0YW50cyh2ODo6SGFuZGxlPHY4
OjpGdW5jdGlvblRlbXBsYXRlCiAgICAgfQogfQogCi12b2lkIFY4RE9NQ29uZmlndXJhdGlvbjo6
YmF0Y2hDb25maWd1cmVDYWxsYmFja3Modjg6OkhhbmRsZTx2ODo6T2JqZWN0VGVtcGxhdGU+IHBy
b3RvdHlwZSwgdjg6OkhhbmRsZTx2ODo6U2lnbmF0dXJlPiBzaWduYXR1cmUsIHY4OjpQcm9wZXJ0
eUF0dHJpYnV0ZSBhdHRyaWJ1dGVzLCBjb25zdCBCYXRjaGVkTWV0aG9kKiBjYWxsYmFja3MsIHNp
emVfdCBjYWxsYmFja0NvdW50LCB2ODo6SXNvbGF0ZSosIFdyYXBwZXJXb3JsZFR5cGUgY3VycmVu
dFdvcmxkVHlwZSkKK3ZvaWQgVjhET01Db25maWd1cmF0aW9uOjpiYXRjaENvbmZpZ3VyZUNhbGxi
YWNrcyh2ODo6SGFuZGxlPHY4OjpPYmplY3RUZW1wbGF0ZT4gcHJvdG90eXBlLCB2ODo6SGFuZGxl
PHY4OjpTaWduYXR1cmU+IHNpZ25hdHVyZSwgdjg6OlByb3BlcnR5QXR0cmlidXRlIGF0dHJpYnV0
ZXMsIGNvbnN0IEJhdGNoZWRNZXRob2QqIGNhbGxiYWNrcywgc2l6ZV90IGNhbGxiYWNrQ291bnQs
IHY4OjpJc29sYXRlKikKIHsKLSAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGNhbGxiYWNrQ291
bnQ7ICsraSkgewotICAgICAgICB2ODo6SW52b2NhdGlvbkNhbGxiYWNrIGNhbGxiYWNrID0gY2Fs
bGJhY2tzW2ldLmNhbGxiYWNrOwotICAgICAgICBpZiAoY3VycmVudFdvcmxkVHlwZSA9PSBNYWlu
V29ybGQgJiYgY2FsbGJhY2tzW2ldLmNhbGxiYWNrRm9yTWFpbldvcmxkKQotICAgICAgICAgICAg
Y2FsbGJhY2sgPSBjYWxsYmFja3NbaV0uY2FsbGJhY2tGb3JNYWluV29ybGQ7Ci0gICAgICAgIHBy
b3RvdHlwZS0+U2V0KHY4OjpTdHJpbmc6Ok5ld1N5bWJvbChjYWxsYmFja3NbaV0ubmFtZSksIHY4
OjpGdW5jdGlvblRlbXBsYXRlOjpOZXcoY2FsbGJhY2ssIHY4VW5kZWZpbmVkKCksIHNpZ25hdHVy
ZSksIGF0dHJpYnV0ZXMpOwotICAgIH0KKyAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGNhbGxi
YWNrQ291bnQ7ICsraSkKKyAgICAgICAgcHJvdG90eXBlLT5TZXQodjg6OlN0cmluZzo6TmV3U3lt
Ym9sKGNhbGxiYWNrc1tpXS5uYW1lKSwgdjg6OkZ1bmN0aW9uVGVtcGxhdGU6Ok5ldyhjYWxsYmFj
a3NbaV0uY2FsbGJhY2ssIHY4VW5kZWZpbmVkKCksIHNpZ25hdHVyZSksIGF0dHJpYnV0ZXMpOwog
fQogCiB2ODo6TG9jYWw8djg6OlNpZ25hdHVyZT4gVjhET01Db25maWd1cmF0aW9uOjpjb25maWd1
cmVUZW1wbGF0ZSh2ODo6UGVyc2lzdGVudDx2ODo6RnVuY3Rpb25UZW1wbGF0ZT4gZnVuY3Rpb25E
ZXNjcmlwdG9yLCBjb25zdCBjaGFyKiBpbnRlcmZhY2VOYW1lLCB2ODo6UGVyc2lzdGVudDx2ODo6
RnVuY3Rpb25UZW1wbGF0ZT4gcGFyZW50Q2xhc3MsCkBAIC03Nyw3ICs3Myw3IEBAIHY4OjpMb2Nh
bDx2ODo6U2lnbmF0dXJlPiBWOERPTUNvbmZpZ3VyYXRpb246OmNvbmZpZ3VyZVRlbXBsYXRlKHY4
OjpQZXJzaXN0ZW50PHY4CiAgICAgICAgIGJhdGNoQ29uZmlndXJlQXR0cmlidXRlcyhpbnN0YW5j
ZSwgZnVuY3Rpb25EZXNjcmlwdG9yLT5Qcm90b3R5cGVUZW1wbGF0ZSgpLCBhdHRyaWJ1dGVzLCBh
dHRyaWJ1dGVDb3VudCwgaXNvbGF0ZSwgY3VycmVudFdvcmxkVHlwZSk7CiAgICAgdjg6OkxvY2Fs
PHY4OjpTaWduYXR1cmU+IGRlZmF1bHRTaWduYXR1cmUgPSB2ODo6U2lnbmF0dXJlOjpOZXcoZnVu
Y3Rpb25EZXNjcmlwdG9yKTsKICAgICBpZiAoY2FsbGJhY2tDb3VudCkKLSAgICAgICAgYmF0Y2hD
b25maWd1cmVDYWxsYmFja3MoZnVuY3Rpb25EZXNjcmlwdG9yLT5Qcm90b3R5cGVUZW1wbGF0ZSgp
LCBkZWZhdWx0U2lnbmF0dXJlLCBzdGF0aWNfY2FzdDx2ODo6UHJvcGVydHlBdHRyaWJ1dGU+KHY4
OjpEb250RGVsZXRlKSwgY2FsbGJhY2tzLCBjYWxsYmFja0NvdW50LCBpc29sYXRlLCBjdXJyZW50
V29ybGRUeXBlKTsKKyAgICAgICAgYmF0Y2hDb25maWd1cmVDYWxsYmFja3MoZnVuY3Rpb25EZXNj
cmlwdG9yLT5Qcm90b3R5cGVUZW1wbGF0ZSgpLCBkZWZhdWx0U2lnbmF0dXJlLCBzdGF0aWNfY2Fz
dDx2ODo6UHJvcGVydHlBdHRyaWJ1dGU+KHY4OjpEb250RGVsZXRlKSwgY2FsbGJhY2tzLCBjYWxs
YmFja0NvdW50LCBpc29sYXRlKTsKICAgICByZXR1cm4gZGVmYXVsdFNpZ25hdHVyZTsKIH0KIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhET01Db25maWd1cmF0aW9u
LmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOERPTUNvbmZpZ3VyYXRpb24uaAppbmRl
eCA4MmZhY2U5MzVlYTRlMzU1ZmY5M2Q2ZjhiNjQ4Y2NjOTcwYmI5ZTRmLi5lOTViMTU4NmM0NjUz
ZjM3MjhiNTJjMDhiZjIxZTk1YzVkNzY1ZmFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy92OC9WOERPTUNvbmZpZ3VyYXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy92OC9WOERPTUNvbmZpZ3VyYXRpb24uaApAQCAtMTAxLDEwICsxMDEsOSBAQCBwdWJsaWM6
CiAgICAgc3RydWN0IEJhdGNoZWRNZXRob2QgewogICAgICAgICBjb25zdCBjaGFyKiBjb25zdCBu
YW1lOwogICAgICAgICB2ODo6SW52b2NhdGlvbkNhbGxiYWNrIGNhbGxiYWNrOwotICAgICAgICB2
ODo6SW52b2NhdGlvbkNhbGxiYWNrIGNhbGxiYWNrRm9yTWFpbldvcmxkOwogICAgIH07CiAKLSAg
ICBzdGF0aWMgdm9pZCBiYXRjaENvbmZpZ3VyZUNhbGxiYWNrcyh2ODo6SGFuZGxlPHY4OjpPYmpl
Y3RUZW1wbGF0ZT4sIHY4OjpIYW5kbGU8djg6OlNpZ25hdHVyZT4sIHY4OjpQcm9wZXJ0eUF0dHJp
YnV0ZSwgY29uc3QgQmF0Y2hlZE1ldGhvZCosIHNpemVfdCBjYWxsYmFja0NvdW50LCB2ODo6SXNv
bGF0ZSosIFdyYXBwZXJXb3JsZFR5cGUpOworICAgIHN0YXRpYyB2b2lkIGJhdGNoQ29uZmlndXJl
Q2FsbGJhY2tzKHY4OjpIYW5kbGU8djg6Ok9iamVjdFRlbXBsYXRlPiwgdjg6OkhhbmRsZTx2ODo6
U2lnbmF0dXJlPiwgdjg6OlByb3BlcnR5QXR0cmlidXRlLCBjb25zdCBCYXRjaGVkTWV0aG9kKiwg
c2l6ZV90IGNhbGxiYWNrQ291bnQsIHY4OjpJc29sYXRlKik7CiAKICAgICBzdGF0aWMgdjg6Okxv
Y2FsPHY4OjpTaWduYXR1cmU+IGNvbmZpZ3VyZVRlbXBsYXRlKHY4OjpQZXJzaXN0ZW50PHY4OjpG
dW5jdGlvblRlbXBsYXRlPiwgY29uc3QgY2hhciogaW50ZXJmYWNlTmFtZSwgdjg6OlBlcnNpc3Rl
bnQ8djg6OkZ1bmN0aW9uVGVtcGxhdGU+IHBhcmVudENsYXNzLCBzaXplX3QgZmllbGRDb3VudCwg
Y29uc3QgQmF0Y2hlZEF0dHJpYnV0ZSosIHNpemVfdCBhdHRyaWJ1dGVDb3VudCwgY29uc3QgQmF0
Y2hlZE1ldGhvZCosIHNpemVfdCBjYWxsYmFja0NvdW50LCB2ODo6SXNvbGF0ZSosIFdyYXBwZXJX
b3JsZFR5cGUpOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4
UmVjdXJzaW9uU2NvcGUuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhSZWN1cnNp
b25TY29wZS5jcHAKaW5kZXggMmMyZjk1NTJmNmFjYzNmZTJmNTY2MGI4MTM4YzNlMWE4YWQ4ZmZh
NS4uYmQ5MjQ4MTUyOTJkOWYwYWJmZjJkZDRiYjA2Nzc2MDAxYTFiNzY3YyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhSZWN1cnNpb25TY29wZS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhSZWN1cnNpb25TY29wZS5jcHAKQEAgLTMxLDcgKzMx
LDYgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJWOFJlY3Vyc2lvblNjb3BlLmgi
CiAKLSNpbmNsdWRlICJDdXN0b21FbGVtZW50UmVnaXN0cnkuaCIKICNpbmNsdWRlICJJREJQZW5k
aW5nVHJhbnNhY3Rpb25Nb25pdG9yLmgiCiAjaW5jbHVkZSAiTXV0YXRpb25PYnNlcnZlci5oIgog
CkBAIC00NywxMiArNDYsOCBAQCB2b2lkIFY4UmVjdXJzaW9uU2NvcGU6OmRpZExlYXZlU2NyaXB0
Q29udGV4dCgpCiAgICAgSURCUGVuZGluZ1RyYW5zYWN0aW9uTW9uaXRvcjo6ZGVhY3RpdmF0ZU5l
d1RyYW5zYWN0aW9ucygpOwogI2VuZGlmCiAKLSAgICBpZiAobV9pc0RvY3VtZW50Q29udGV4dCkg
eworICAgIGlmIChtX2lzRG9jdW1lbnRDb250ZXh0KQogICAgICAgICBNdXRhdGlvbk9ic2VydmVy
OjpkZWxpdmVyQWxsTXV0YXRpb25zKCk7Ci0jaWYgRU5BQkxFKENVU1RPTV9FTEVNRU5UUykKLSAg
ICAgICAgQ3VzdG9tRWxlbWVudFJlZ2lzdHJ5OjpkZWxpdmVyQWxsTGlmZWN5Y2xlQ2FsbGJhY2tz
KCk7Ci0jZW5kaWYKLSAgICB9CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9DdXN0b21FbGVtZW50Q29uc3RydWN0b3IuY3BwIGIvU291
cmNlL1dlYkNvcmUvZG9tL0N1c3RvbUVsZW1lbnRDb25zdHJ1Y3Rvci5jcHAKaW5kZXggZjM5YTJl
ZDU0YzBlODQ3MTQxYTRhNWQ3MGQ2YjE3N2UyMmY4OTkzYi4uMzQzMTk3MThlN2FjNDlmMGY1OGE3
ZmZjOTNmZWFkOTU2YzVlMDNiYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0N1c3Rv
bUVsZW1lbnRDb25zdHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0N1c3RvbUVs
ZW1lbnRDb25zdHJ1Y3Rvci5jcHAKQEAgLTYzLDE1ICs2Myw3IEBAIEN1c3RvbUVsZW1lbnRDb25z
dHJ1Y3Rvcjo6fkN1c3RvbUVsZW1lbnRDb25zdHJ1Y3RvcigpCiB7CiB9CiAKLVBhc3NSZWZQdHI8
RWxlbWVudD4gQ3VzdG9tRWxlbWVudENvbnN0cnVjdG9yOjpjcmVhdGVFbGVtZW50KCkKLXsKLSAg
ICBSZWZQdHI8RWxlbWVudD4gZWxlbWVudCA9IGNyZWF0ZUVsZW1lbnRJbnRlcm5hbCgpOwotICAg
IGlmIChlbGVtZW50KQotICAgICAgICBkb2N1bWVudCgpLT5kaWRDcmVhdGVDdXN0b21FbGVtZW50
KGVsZW1lbnQuZ2V0KCksIHRoaXMpOwotICAgIHJldHVybiBlbGVtZW50LnJlbGVhc2UoKTsKLX0K
LQotUGFzc1JlZlB0cjxFbGVtZW50PiBDdXN0b21FbGVtZW50Q29uc3RydWN0b3I6OmNyZWF0ZUVs
ZW1lbnRJbnRlcm5hbCgpCitQYXNzUmVmUHRyPEVsZW1lbnQ+IEN1c3RvbUVsZW1lbnRDb25zdHJ1
Y3Rvcjo6Y3JlYXRlRWxlbWVudCgpIGNvbnN0CiB7CiAgICAgaWYgKCFkb2N1bWVudCgpKQogICAg
ICAgICByZXR1cm4gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9DdXN0b21FbGVt
ZW50Q29uc3RydWN0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9DdXN0b21FbGVtZW50Q29uc3Ry
dWN0b3IuaAppbmRleCA5YWNjY2Q3ZDdlNWRiOGIxODJlMjAyNjYyZTA4ZGM5YjQzYmRkNWNlLi4w
ZWVkNzlhZTU4MzliM2M4ZDNkNDZjMmUxMWMyODhlMmZmYTg4OGI0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vQ3VzdG9tRWxlbWVudENvbnN0cnVjdG9yLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvZG9tL0N1c3RvbUVsZW1lbnRDb25zdHJ1Y3Rvci5oCkBAIC01OSwxNSArNTksMTIgQEAg
cHVibGljOgogICAgIERvY3VtZW50KiBkb2N1bWVudCgpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19j
YXN0PERvY3VtZW50Kj4obV9zY3JpcHRFeGVjdXRpb25Db250ZXh0KTsgfQogICAgIGNvbnN0IFF1
YWxpZmllZE5hbWUmIHR5cGVOYW1lKCkgY29uc3QgeyByZXR1cm4gbV90eXBlTmFtZTsgfQogICAg
IGNvbnN0IFF1YWxpZmllZE5hbWUmIGxvY2FsTmFtZSgpIGNvbnN0IHsgcmV0dXJuIG1fbG9jYWxO
YW1lOyB9Ci0gICAgYm9vbCBpc0V4dGVuZGVkKCkgY29uc3QgeyByZXR1cm4gbV90eXBlTmFtZSAh
PSBtX2xvY2FsTmFtZTsgfQogCi0gICAgUGFzc1JlZlB0cjxFbGVtZW50PiBjcmVhdGVFbGVtZW50
KCk7CisgICAgUGFzc1JlZlB0cjxFbGVtZW50PiBjcmVhdGVFbGVtZW50KCkgY29uc3Q7CiAKIHBy
aXZhdGU6CiAgICAgQ3VzdG9tRWxlbWVudENvbnN0cnVjdG9yKERvY3VtZW50KiwgY29uc3QgUXVh
bGlmaWVkTmFtZSYgdHlwZU5hbWUsIGNvbnN0IFF1YWxpZmllZE5hbWUmIGxvY2FsTmFtZSk7CiAK
LSAgICBQYXNzUmVmUHRyPEVsZW1lbnQ+IGNyZWF0ZUVsZW1lbnRJbnRlcm5hbCgpOwotCiAgICAg
UXVhbGlmaWVkTmFtZSBtX3R5cGVOYW1lOwogICAgIFF1YWxpZmllZE5hbWUgbV9sb2NhbE5hbWU7
CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0N1c3RvbUVsZW1lbnRSZWdpc3Ry
eS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vQ3VzdG9tRWxlbWVudFJlZ2lzdHJ5LmNwcAppbmRl
eCA2YTdmMmQ1MTgyYzdkM2JlOTFhNTlkNWViY2EyODUwODQ3ZjNkMjE4Li42YzI4ZjI4MTkyM2I4
YmZmNzM0ZDJjMjc2ODA5M2U5MWUyMzMxOGY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9k
b20vQ3VzdG9tRWxlbWVudFJlZ2lzdHJ5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vQ3Vz
dG9tRWxlbWVudFJlZ2lzdHJ5LmNwcApAQCAtNDMsNyArNDMsNiBAQAogI2luY2x1ZGUgIkhUTUxV
bmtub3duRWxlbWVudC5oIgogI2luY2x1ZGUgIlJ1bnRpbWVFbmFibGVkRmVhdHVyZXMuaCIKICNp
bmNsdWRlIDx3dGYvQVNDSUlDVHlwZS5oPgotI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+CiAKICNp
ZiBFTkFCTEUoU1ZHKQogI2luY2x1ZGUgIlNWR05hbWVzLmgiCkBAIC01NSwxNSArNTQsNiBAQAog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLUN1c3RvbUVsZW1lbnRJbnZvY2F0aW9uOjpDdXN0b21F
bGVtZW50SW52b2NhdGlvbihQYXNzUmVmUHRyPEVsZW1lbnQ+IGVsZW1lbnQpCi0gICAgOiBtX2Vs
ZW1lbnQoZWxlbWVudCkKLXsKLX0KLQotQ3VzdG9tRWxlbWVudEludm9jYXRpb246On5DdXN0b21F
bGVtZW50SW52b2NhdGlvbigpCi17Ci19Ci0KIEN1c3RvbUVsZW1lbnRSZWdpc3RyeTo6Q3VzdG9t
RWxlbWVudFJlZ2lzdHJ5KERvY3VtZW50KiBkb2N1bWVudCkKICAgICA6IENvbnRleHREZXN0cnVj
dGlvbk9ic2VydmVyKGRvY3VtZW50KQogewpAQCAtNzEsNyArNjEsNiBAQCBDdXN0b21FbGVtZW50
UmVnaXN0cnk6OkN1c3RvbUVsZW1lbnRSZWdpc3RyeShEb2N1bWVudCogZG9jdW1lbnQpCiAKIEN1
c3RvbUVsZW1lbnRSZWdpc3RyeTo6fkN1c3RvbUVsZW1lbnRSZWdpc3RyeSgpCiB7Ci0gICAgZGVh
Y3RpdmF0ZSgpOwogfQogCiBzdGF0aWMgaW5saW5lIGJvb2wgbmFtZUluY2x1ZGVzSHlwaGVuKGNv
bnN0IEF0b21pY1N0cmluZyYgbmFtZSkKQEAgLTIwNCw2NCArMTkzLDExIEBAIFBhc3NSZWZQdHI8
RWxlbWVudD4gQ3VzdG9tRWxlbWVudFJlZ2lzdHJ5OjpjcmVhdGVFbGVtZW50KGNvbnN0IFF1YWxp
ZmllZE5hbWUmIGxvCiAgICAgcmV0dXJuIDA7CiB9CiAKLXZvaWQgQ3VzdG9tRWxlbWVudFJlZ2lz
dHJ5OjpkaWRHaXZlVHlwZUV4dGVuc2lvbihFbGVtZW50KiBlbGVtZW50KQotewotICAgIFJlZlB0
cjxDdXN0b21FbGVtZW50Q29uc3RydWN0b3I+IGNvbnN0cnVjdG9yID0gZmluZEZvcihlbGVtZW50
KTsKLSAgICBpZiAoIWNvbnN0cnVjdG9yIHx8ICFjb25zdHJ1Y3Rvci0+aXNFeHRlbmRlZCgpKQot
ICAgICAgICByZXR1cm47Ci0gICAgYWN0aXZhdGUoQ3VzdG9tRWxlbWVudEludm9jYXRpb24oZWxl
bWVudCkpOwotfQotCi12b2lkIEN1c3RvbUVsZW1lbnRSZWdpc3RyeTo6ZGlkQ3JlYXRlRWxlbWVu
dChFbGVtZW50KiBlbGVtZW50KQotewotICAgIGFjdGl2YXRlKEN1c3RvbUVsZW1lbnRJbnZvY2F0
aW9uKGVsZW1lbnQpKTsKLX0KLQotdm9pZCBDdXN0b21FbGVtZW50UmVnaXN0cnk6OmFjdGl2YXRl
KGNvbnN0IEN1c3RvbUVsZW1lbnRJbnZvY2F0aW9uJiBpbnZvY2F0aW9uKQotewotICAgIGJvb2wg
d2FzSW5hY3RpdmUgPSBtX2ludm9jYXRpb25zLmlzRW1wdHkoKTsKLSAgICBtX2ludm9jYXRpb25z
LmFwcGVuZChpbnZvY2F0aW9uKTsKLSAgICBpZiAod2FzSW5hY3RpdmUpCi0gICAgICAgIGFjdGl2
ZUN1c3RvbUVsZW1lbnRSZWdpc3RyaWVzKCkuYWRkKHRoaXMpOwotfQotCi12b2lkIEN1c3RvbUVs
ZW1lbnRSZWdpc3RyeTo6ZGVhY3RpdmF0ZSgpCi17Ci0gICAgQVNTRVJUKG1faW52b2NhdGlvbnMu
aXNFbXB0eSgpKTsKLSAgICBpZiAoYWN0aXZlQ3VzdG9tRWxlbWVudFJlZ2lzdHJpZXMoKS5jb250
YWlucyh0aGlzKSkKLSAgICAgICAgYWN0aXZlQ3VzdG9tRWxlbWVudFJlZ2lzdHJpZXMoKS5yZW1v
dmUodGhpcyk7Ci19Ci0KIGlubGluZSBEb2N1bWVudCogQ3VzdG9tRWxlbWVudFJlZ2lzdHJ5Ojpk
b2N1bWVudCgpIGNvbnN0CiB7CiAgICAgcmV0dXJuIHRvRG9jdW1lbnQobV9zY3JpcHRFeGVjdXRp
b25Db250ZXh0KTsKIH0KIAotdm9pZCBDdXN0b21FbGVtZW50UmVnaXN0cnk6OmRlbGl2ZXJMaWZl
Y3ljbGVDYWxsYmFja3MoKQotewotICAgIEFTU0VSVCghbV9pbnZvY2F0aW9ucy5pc0VtcHR5KCkp
OwotCi0gICAgaWYgKCFtX2ludm9jYXRpb25zLmlzRW1wdHkoKSkgewotICAgICAgICBWZWN0b3I8
Q3VzdG9tRWxlbWVudEludm9jYXRpb24+IGludm9jYXRpb25zOwotICAgICAgICBtX2ludm9jYXRp
b25zLnN3YXAoaW52b2NhdGlvbnMpOwotICAgICAgICBDdXN0b21FbGVtZW50SGVscGVyczo6aW52
b2tlUmVhZHlDYWxsYmFja3NJZk5lZWRlZChtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQsIGludm9j
YXRpb25zKTsKLSAgICB9Ci0KLSAgICBBU1NFUlQobV9pbnZvY2F0aW9ucy5pc0VtcHR5KCkpOwot
ICAgIGRlYWN0aXZhdGUoKTsKLX0KLQotdm9pZCBDdXN0b21FbGVtZW50UmVnaXN0cnk6OmRlbGl2
ZXJBbGxMaWZlY3ljbGVDYWxsYmFja3MoKQotewotICAgIHdoaWxlICghYWN0aXZlQ3VzdG9tRWxl
bWVudFJlZ2lzdHJpZXMoKS5pc0VtcHR5KCkpIHsKLSAgICAgICAgVmVjdG9yPFJlZlB0cjxDdXN0
b21FbGVtZW50UmVnaXN0cnk+ID4gcmVnaXN0cmllczsKLSAgICAgICAgY29weVRvVmVjdG9yKGFj
dGl2ZUN1c3RvbUVsZW1lbnRSZWdpc3RyaWVzKCksIHJlZ2lzdHJpZXMpOwotICAgICAgICBhY3Rp
dmVDdXN0b21FbGVtZW50UmVnaXN0cmllcygpLmNsZWFyKCk7Ci0gICAgICAgIGZvciAoc2l6ZV90
IGkgPSAwOyBpIDwgcmVnaXN0cmllcy5zaXplKCk7ICsraSkKLSAgICAgICAgICAgIHJlZ2lzdHJp
ZXNbaV0tPmRlbGl2ZXJMaWZlY3ljbGVDYWxsYmFja3MoKTsKLSAgICB9Ci19Ci0KIH0KIAogI2Vu
ZGlmIC8vIEVOQUJMRShDVVNUT01fRUxFTUVOVFMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vQ3VzdG9tRWxlbWVudFJlZ2lzdHJ5LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vQ3VzdG9t
RWxlbWVudFJlZ2lzdHJ5LmgKaW5kZXggODI4OWIxOWQyNWZlNWM1YjI4ZGRhYzY2MGE0MDY5Njhm
OGJmNTNiOC4uMTAyYWEzZGUzOGMyMTE2OGUwYzdiNzBjNjUyOGEyYTFhOTFkZTRlNCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0N1c3RvbUVsZW1lbnRSZWdpc3RyeS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9DdXN0b21FbGVtZW50UmVnaXN0cnkuaApAQCAtNDAsMTEgKzQwLDkg
QEAKICNpbmNsdWRlICJTdXBwbGVtZW50YWJsZS5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+
CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYvTGlzdEhhc2hTZXQuaD4K
ICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+
CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgotI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCkBAIC01NSwyNiArNTMsOSBAQCBjbGFzcyBFbGVtZW50OwogY2xh
c3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKIGNsYXNzIFF1YWxpZmllZE5hbWU7CiAKLWNsYXNz
IEN1c3RvbUVsZW1lbnRJbnZvY2F0aW9uIHsKLXB1YmxpYzoKLSAgICBleHBsaWNpdCBDdXN0b21F
bGVtZW50SW52b2NhdGlvbihQYXNzUmVmUHRyPEVsZW1lbnQ+KTsKLSAgICB+Q3VzdG9tRWxlbWVu
dEludm9jYXRpb24oKTsKLQotICAgIEVsZW1lbnQqIGVsZW1lbnQoKSBjb25zdCB7IHJldHVybiBt
X2VsZW1lbnQuZ2V0KCk7IH0KLQotcHJpdmF0ZToKLSAgICBSZWZQdHI8RWxlbWVudD4gbV9lbGVt
ZW50OwotfTsKLQogY2xhc3MgQ3VzdG9tRWxlbWVudFJlZ2lzdHJ5IDogcHVibGljIFJlZkNvdW50
ZWQ8Q3VzdG9tRWxlbWVudFJlZ2lzdHJ5PiAsIHB1YmxpYyBDb250ZXh0RGVzdHJ1Y3Rpb25PYnNl
cnZlciB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ3VzdG9tRWxlbWVudFJlZ2lzdHJ5KTsg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6Ci0gICAgY2xhc3MgQ2FsbGJhY2tEZWxp
dmVyeVNjb3BlIHsKLSAgICBwdWJsaWM6Ci0gICAgICAgIENhbGxiYWNrRGVsaXZlcnlTY29wZSgp
IHsgfQotICAgICAgICB+Q2FsbGJhY2tEZWxpdmVyeVNjb3BlKCkgeyBDdXN0b21FbGVtZW50UmVn
aXN0cnk6OmRlbGl2ZXJBbGxMaWZlY3ljbGVDYWxsYmFja3NJZk5lZWRlZCgpOyB9Ci0gICAgfTsK
LQogICAgIGV4cGxpY2l0IEN1c3RvbUVsZW1lbnRSZWdpc3RyeShEb2N1bWVudCopOwogICAgIH5D
dXN0b21FbGVtZW50UmVnaXN0cnkoKTsKIApAQCAtODUsNDMgKzY2LDE2IEBAIHB1YmxpYzoKIAog
ICAgIERvY3VtZW50KiBkb2N1bWVudCgpIGNvbnN0OwogCi0gICAgdm9pZCBkaWRHaXZlVHlwZUV4
dGVuc2lvbihFbGVtZW50Kik7Ci0gICAgdm9pZCBkaWRDcmVhdGVFbGVtZW50KEVsZW1lbnQqKTsK
LQotICAgIHN0YXRpYyB2b2lkIGRlbGl2ZXJBbGxMaWZlY3ljbGVDYWxsYmFja3MoKTsKLSAgICBz
dGF0aWMgdm9pZCBkZWxpdmVyQWxsTGlmZWN5Y2xlQ2FsbGJhY2tzSWZOZWVkZWQoKTsKLQogcHJp
dmF0ZToKLSAgICB0eXBlZGVmIEhhc2hNYXA8c3RkOjpwYWlyPFF1YWxpZmllZE5hbWUsIFF1YWxp
ZmllZE5hbWU+LCBSZWZQdHI8Q3VzdG9tRWxlbWVudENvbnN0cnVjdG9yPiA+IENvbnN0cnVjdG9y
TWFwOwotICAgIHR5cGVkZWYgSGFzaFNldDxRdWFsaWZpZWROYW1lPiBOYW1lU2V0OwotICAgIHR5
cGVkZWYgTGlzdEhhc2hTZXQ8Q3VzdG9tRWxlbWVudFJlZ2lzdHJ5Kj4gSW5zdGFuY2VTZXQ7Ci0K
ICAgICBzdGF0aWMgYm9vbCBpc1ZhbGlkTmFtZShjb25zdCBBdG9taWNTdHJpbmcmKTsKLSAgICBz
dGF0aWMgSW5zdGFuY2VTZXQmIGFjdGl2ZUN1c3RvbUVsZW1lbnRSZWdpc3RyaWVzKCk7CiAKLSAg
ICB2b2lkIGFjdGl2YXRlKGNvbnN0IEN1c3RvbUVsZW1lbnRJbnZvY2F0aW9uJik7Ci0gICAgdm9p
ZCBkZWFjdGl2YXRlKCk7Ci0gICAgdm9pZCBkZWxpdmVyTGlmZWN5Y2xlQ2FsbGJhY2tzKCk7Cisg
ICAgdHlwZWRlZiBIYXNoTWFwPHN0ZDo6cGFpcjxRdWFsaWZpZWROYW1lLCBRdWFsaWZpZWROYW1l
PiwgUmVmUHRyPEN1c3RvbUVsZW1lbnRDb25zdHJ1Y3Rvcj4gPiBDb25zdHJ1Y3Rvck1hcDsKKyAg
ICB0eXBlZGVmIEhhc2hTZXQ8UXVhbGlmaWVkTmFtZT4gTmFtZVNldDsKIAogICAgIENvbnN0cnVj
dG9yTWFwIG1fY29uc3RydWN0b3JzOwogICAgIE5hbWVTZXQgbV9uYW1lczsKLSAgICBWZWN0b3I8
Q3VzdG9tRWxlbWVudEludm9jYXRpb24+IG1faW52b2NhdGlvbnM7CiB9OwogCi1pbmxpbmUgdm9p
ZCBDdXN0b21FbGVtZW50UmVnaXN0cnk6OmRlbGl2ZXJBbGxMaWZlY3ljbGVDYWxsYmFja3NJZk5l
ZWRlZCgpCi17Ci0gICAgaWYgKCFhY3RpdmVDdXN0b21FbGVtZW50UmVnaXN0cmllcygpLmlzRW1w
dHkoKSkKLSAgICAgICAgZGVsaXZlckFsbExpZmVjeWNsZUNhbGxiYWNrcygpOwotICAgIEFTU0VS
VChhY3RpdmVDdXN0b21FbGVtZW50UmVnaXN0cmllcygpLmlzRW1wdHkoKSk7Ci19Ci0KLWlubGlu
ZSBDdXN0b21FbGVtZW50UmVnaXN0cnk6Okluc3RhbmNlU2V0JiBDdXN0b21FbGVtZW50UmVnaXN0
cnk6OmFjdGl2ZUN1c3RvbUVsZW1lbnRSZWdpc3RyaWVzKCkKLXsKLSAgICBERUZJTkVfU1RBVElD
X0xPQ0FMKEluc3RhbmNlU2V0LCBhY3RpdmVJbnN0YW5jZXMsICgpKTsKLSAgICByZXR1cm4gYWN0
aXZlSW5zdGFuY2VzOwotfQotCi0KIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8v
IEVOQUJMRShDVVNUT01fRUxFTUVOVFMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20v
RG9jdW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAppbmRleCA2NWI5
NGU4NGZiMzVjZDJhNzU0ZjU2NjA3MmQxMTYxMTljYjJmYzAxLi5kNDhjOTE3MDMwNjIwZDE4Zjcw
NjdmMDJmMWU1NGIwN2FhOGNkZGRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9j
dW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKQEAgLTg1NCw3
ICs4NTQsNyBAQCBQYXNzUmVmUHRyPEVsZW1lbnQ+IERvY3VtZW50OjpjcmVhdGVFbGVtZW50KGNv
bnN0IEF0b21pY1N0cmluZyYgbG9jYWxOYW1lLCBjb25zdAogICAgICAgICAgICAgcmV0dXJuIGNy
ZWF0ZWQ7CiAgICAgfQogCi0gICAgcmV0dXJuIHNldFR5cGVFeHRlbnNpb24oY3JlYXRlRWxlbWVu
dChsb2NhbE5hbWUsIGVjKSwgdHlwZUV4dGVuc2lvbik7CisgICAgcmV0dXJuIHNldFR5cGVFeHRl
bnNpb24oY3JlYXRlRWxlbWVudChsb2NhbE5hbWUsIGVjKSwgdHlwZUV4dGVuc2lvbik7IC8vICBG
SVhNRTogdGFrZSBjYXJlIG9mIEBpcwogfQogCiBQYXNzUmVmUHRyPEVsZW1lbnQ+IERvY3VtZW50
OjpjcmVhdGVFbGVtZW50TlMoY29uc3QgQXRvbWljU3RyaW5nJiBuYW1lc3BhY2VVUkksIGNvbnN0
IFN0cmluZyYgcXVhbGlmaWVkTmFtZSwgY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlRXh0ZW5zaW9u
LCBFeGNlcHRpb25Db2RlJiBlYykKQEAgLTg5MywxMyArODkzLDYgQEAgUGFzc1JlZlB0cjxDdXN0
b21FbGVtZW50Q29uc3RydWN0b3I+IERvY3VtZW50OjpyZWdpc3RlckVsZW1lbnQoV2ViQ29yZTo6
U2NyaXB0U3QKICAgICAgICAgbV9yZWdpc3RyeSA9IGFkb3B0UmVmKG5ldyBDdXN0b21FbGVtZW50
UmVnaXN0cnkodGhpcykpOwogICAgIHJldHVybiBtX3JlZ2lzdHJ5LT5yZWdpc3RlckVsZW1lbnQo
c3RhdGUsIG5hbWUsIG9wdGlvbnMsIGVjKTsKIH0KLQotdm9pZCBEb2N1bWVudDo6ZGlkQ3JlYXRl
Q3VzdG9tRWxlbWVudChFbGVtZW50KiBlbGVtZW50LCBDdXN0b21FbGVtZW50Q29uc3RydWN0b3Iq
IGNvbnN0cnVjdG9yKQotewotICAgIC8vIG1fcmVnaXN0cnkgaXMgY2xlYXJlZCBEb2N1bWVudDo6
ZGlzcG9zZSgpIGFuZCBjYW4gYmUgbnVsbCBoZXJlLgotICAgIGlmIChtX3JlZ2lzdHJ5KQotICAg
ICAgICBtX3JlZ2lzdHJ5LT5kaWRDcmVhdGVFbGVtZW50KGVsZW1lbnQpOwotfQogI2VuZGlmIC8v
IEVOQUJMRShDVVNUT01fRUxFTUVOVFMpCiAKIFBhc3NSZWZQdHI8RG9jdW1lbnRGcmFnbWVudD4g
RG9jdW1lbnQ6OmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvZG9tL0RvY3VtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAppbmRl
eCAxZDVhYTQ2NDI2MDMyNzliMDUwM2ZjM2JlMTdlNWE2ZTNhZjAyODg5Li4zMDJkZWIxYWMzMGM3
ZDRlY2M4ZTM0M2JjOWI4NGU0YWM0NmE3NTNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9k
b20vRG9jdW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaApAQCAtMTE2
OCw3ICsxMTY4LDYgQEAgcHVibGljOgogICAgIFBhc3NSZWZQdHI8Q3VzdG9tRWxlbWVudENvbnN0
cnVjdG9yPiByZWdpc3RlckVsZW1lbnQoV2ViQ29yZTo6U2NyaXB0U3RhdGUqLCBjb25zdCBBdG9t
aWNTdHJpbmcmIG5hbWUsIEV4Y2VwdGlvbkNvZGUmKTsKICAgICBQYXNzUmVmUHRyPEN1c3RvbUVs
ZW1lbnRDb25zdHJ1Y3Rvcj4gcmVnaXN0ZXJFbGVtZW50KFdlYkNvcmU6OlNjcmlwdFN0YXRlKiwg
Y29uc3QgQXRvbWljU3RyaW5nJiBuYW1lLCBjb25zdCBEaWN0aW9uYXJ5JiBvcHRpb25zLCBFeGNl
cHRpb25Db2RlJik7CiAgICAgQ3VzdG9tRWxlbWVudFJlZ2lzdHJ5KiByZWdpc3RyeSgpIGNvbnN0
IHsgcmV0dXJuIG1fcmVnaXN0cnkuZ2V0KCk7IH0KLSAgICB2b2lkIGRpZENyZWF0ZUN1c3RvbUVs
ZW1lbnQoRWxlbWVudCosIEN1c3RvbUVsZW1lbnRDb25zdHJ1Y3RvciopOwogI2VuZGlmCiAKICAg
ICB2b2lkIGFkanVzdEZsb2F0UXVhZHNGb3JTY3JvbGxBbmRBYnNvbHV0ZVpvb21BbmRGcmFtZVNj
YWxlKFZlY3RvcjxGbG9hdFF1YWQ+JiwgUmVuZGVyT2JqZWN0Kik7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaWRsIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50
LmlkbAppbmRleCA4ZTljODQ1Nzg3MjM3NTVmNzU2N2IyNTRmMTdmZDVhNjljMmRmYzQwLi5jOWRm
Mzc0MDE5NWQyMTI0OGViN2RlMGYyMjMzZWRhNjA5OWI2N2JhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vRG9jdW1lbnQuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVu
dC5pZGwKQEAgLTI5LDM3ICsyOSwzNiBAQAogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01JbXBs
ZW1lbnRhdGlvbiBpbXBsZW1lbnRhdGlvbjsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgRWxlbWVu
dCBkb2N1bWVudEVsZW1lbnQ7CiAKLSAgICBbUmV0dXJuTmV3T2JqZWN0LCBWOFBlcldvcmxkQmlu
ZGluZ3MsIFY4RGVsaXZlckN1c3RvbUVsZW1lbnRDYWxsYmFja3NdCi0gICAgRWxlbWVudCBjcmVh
dGVFbGVtZW50KGluIFtUcmVhdE51bGxBcz1OdWxsU3RyaW5nLE9wdGlvbmFsPURlZmF1bHRJc1Vu
ZGVmaW5lZF0gRE9NU3RyaW5nIHRhZ05hbWUpIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKLSAgICBb
VjhQZXJXb3JsZEJpbmRpbmdzXSBEb2N1bWVudEZyYWdtZW50ICAgY3JlYXRlRG9jdW1lbnRGcmFn
bWVudCgpOwotICAgIFtSZXR1cm5OZXdPYmplY3QsIFY4UGVyV29ybGRCaW5kaW5nc10gVGV4dCBj
cmVhdGVUZXh0Tm9kZShpbiBbT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSBET01TdHJpbmcg
ZGF0YSk7Ci0gICAgW1JldHVybk5ld09iamVjdCwgVjhQZXJXb3JsZEJpbmRpbmdzXSBDb21tZW50
IGNyZWF0ZUNvbW1lbnQoaW4gW09wdGlvbmFsPURlZmF1bHRJc1VuZGVmaW5lZF0gRE9NU3RyaW5n
IGRhdGEpOwotICAgIFtSZXR1cm5OZXdPYmplY3QsIFY4UGVyV29ybGRCaW5kaW5nc10gQ0RBVEFT
ZWN0aW9uIGNyZWF0ZUNEQVRBU2VjdGlvbihpbiBbT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVk
XSBET01TdHJpbmcgZGF0YSkKKyAgICBbUmV0dXJuTmV3T2JqZWN0XSBFbGVtZW50IGNyZWF0ZUVs
ZW1lbnQoaW4gW1RyZWF0TnVsbEFzPU51bGxTdHJpbmcsT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZp
bmVkXSBET01TdHJpbmcgdGFnTmFtZSkKKyAgICAgICAgcmFpc2VzIChET01FeGNlcHRpb24pOwor
ICAgIERvY3VtZW50RnJhZ21lbnQgICBjcmVhdGVEb2N1bWVudEZyYWdtZW50KCk7CisgICAgW1Jl
dHVybk5ld09iamVjdF0gVGV4dCBjcmVhdGVUZXh0Tm9kZShpbiBbT3B0aW9uYWw9RGVmYXVsdElz
VW5kZWZpbmVkXSBET01TdHJpbmcgZGF0YSk7CisgICAgW1JldHVybk5ld09iamVjdF0gQ29tbWVu
dCBjcmVhdGVDb21tZW50KGluIFtPcHRpb25hbD1EZWZhdWx0SXNVbmRlZmluZWRdIERPTVN0cmlu
ZyBkYXRhKTsKKyAgICBbUmV0dXJuTmV3T2JqZWN0XSBDREFUQVNlY3Rpb24gY3JlYXRlQ0RBVEFT
ZWN0aW9uKGluIFtPcHRpb25hbD1EZWZhdWx0SXNVbmRlZmluZWRdIERPTVN0cmluZyBkYXRhKQog
ICAgICAgICByYWlzZXMoRE9NRXhjZXB0aW9uKTsKLSAgICBbT2JqQ0xlZ2FjeVVubmFtZWRQYXJh
bWV0ZXJzLCBSZXR1cm5OZXdPYmplY3QsIFY4UGVyV29ybGRCaW5kaW5nc10gUHJvY2Vzc2luZ0lu
c3RydWN0aW9uIGNyZWF0ZVByb2Nlc3NpbmdJbnN0cnVjdGlvbihpbiBbT3B0aW9uYWw9RGVmYXVs
dElzVW5kZWZpbmVkXSBET01TdHJpbmcgdGFyZ2V0LAorICAgIFtPYmpDTGVnYWN5VW5uYW1lZFBh
cmFtZXRlcnMsIFJldHVybk5ld09iamVjdF0gUHJvY2Vzc2luZ0luc3RydWN0aW9uIGNyZWF0ZVBy
b2Nlc3NpbmdJbnN0cnVjdGlvbihpbiBbT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSBET01T
dHJpbmcgdGFyZ2V0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gW09wdGlvbmFsPURlZmF1
bHRJc1VuZGVmaW5lZF0gRE9NU3RyaW5nIGRhdGEpCiAgICAgICAgIHJhaXNlcyAoRE9NRXhjZXB0
aW9uKTsKLSAgICBbUmV0dXJuTmV3T2JqZWN0LCBWOFBlcldvcmxkQmluZGluZ3NdIEF0dHIgY3Jl
YXRlQXR0cmlidXRlKGluIFtPcHRpb25hbD1EZWZhdWx0SXNVbmRlZmluZWRdIERPTVN0cmluZyBu
YW1lKQorICAgIFtSZXR1cm5OZXdPYmplY3RdIEF0dHIgY3JlYXRlQXR0cmlidXRlKGluIFtPcHRp
b25hbD1EZWZhdWx0SXNVbmRlZmluZWRdIERPTVN0cmluZyBuYW1lKQogICAgICAgICByYWlzZXMg
KERPTUV4Y2VwdGlvbik7Ci0gICAgW1JldHVybk5ld09iamVjdCwgVjhQZXJXb3JsZEJpbmRpbmdz
XSBFbnRpdHlSZWZlcmVuY2UgY3JlYXRlRW50aXR5UmVmZXJlbmNlKGluIFtPcHRpb25hbD1EZWZh
dWx0SXNVbmRlZmluZWRdIERPTVN0cmluZyBuYW1lKQorICAgIFtSZXR1cm5OZXdPYmplY3RdIEVu
dGl0eVJlZmVyZW5jZSBjcmVhdGVFbnRpdHlSZWZlcmVuY2UoaW4gW09wdGlvbmFsPURlZmF1bHRJ
c1VuZGVmaW5lZF0gRE9NU3RyaW5nIG5hbWUpCiAgICAgICAgIHJhaXNlcyhET01FeGNlcHRpb24p
OwotICAgIFtWOFBlcldvcmxkQmluZGluZ3NdIE5vZGVMaXN0IGdldEVsZW1lbnRzQnlUYWdOYW1l
KGluIFtPcHRpb25hbD1EZWZhdWx0SXNVbmRlZmluZWRdIERPTVN0cmluZyB0YWduYW1lKTsKKyAg
ICBOb2RlTGlzdCAgICAgICAgICAgZ2V0RWxlbWVudHNCeVRhZ05hbWUoaW4gW09wdGlvbmFsPURl
ZmF1bHRJc1VuZGVmaW5lZF0gRE9NU3RyaW5nIHRhZ25hbWUpOwogCiAgICAgLy8gSW50cm9kdWNl
ZCBpbiBET00gTGV2ZWwgMjoKIAotCi0gICAgW09iakNMZWdhY3lVbm5hbWVkUGFyYW1ldGVycywg
UmV0dXJuTmV3T2JqZWN0LCBWOFBlcldvcmxkQmluZGluZ3MsIFY4RGVsaXZlckN1c3RvbUVsZW1l
bnRDYWxsYmFja3NdCi0gICAgTm9kZSBpbXBvcnROb2RlKGluIFtPcHRpb25hbD1EZWZhdWx0SXNV
bmRlZmluZWRdIE5vZGUgaW1wb3J0ZWROb2RlLAotICAgICAgICAgICAgICAgICAgICBpbiBbT3B0
aW9uYWxdIGJvb2xlYW4gZGVlcCkgcmFpc2VzIChET01FeGNlcHRpb24pOwotICAgIFtPYmpDTGVn
YWN5VW5uYW1lZFBhcmFtZXRlcnMsIFJldHVybk5ld09iamVjdCwgVjhQZXJXb3JsZEJpbmRpbmdz
LCBWOERlbGl2ZXJDdXN0b21FbGVtZW50Q2FsbGJhY2tzXQotICAgIEVsZW1lbnQgY3JlYXRlRWxl
bWVudE5TKGluIFtUcmVhdE51bGxBcz1OdWxsU3RyaW5nLE9wdGlvbmFsPURlZmF1bHRJc1VuZGVm
aW5lZF0gRE9NU3RyaW5nIG5hbWVzcGFjZVVSSSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbiBbVHJlYXROdWxsQXM9TnVsbFN0cmluZyxPcHRpb25hbD1EZWZhdWx0SXNVbmRlZmluZWRd
IERPTVN0cmluZyBxdWFsaWZpZWROYW1lKSByYWlzZXMgKERPTUV4Y2VwdGlvbik7Ci0gICAgW09i
akNMZWdhY3lVbm5hbWVkUGFyYW1ldGVycywgUmV0dXJuTmV3T2JqZWN0LCBWOFBlcldvcmxkQmlu
ZGluZ3NdIEF0dHIgY3JlYXRlQXR0cmlidXRlTlMoaW4gW1RyZWF0TnVsbEFzPU51bGxTdHJpbmcs
T3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSBET01TdHJpbmcgbmFtZXNwYWNlVVJJLAorICAg
IFtPYmpDTGVnYWN5VW5uYW1lZFBhcmFtZXRlcnMsIFJldHVybk5ld09iamVjdF0gTm9kZSBpbXBv
cnROb2RlKGluIFtPcHRpb25hbD1EZWZhdWx0SXNVbmRlZmluZWRdIE5vZGUgaW1wb3J0ZWROb2Rl
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBbT3B0
aW9uYWxdIGJvb2xlYW4gZGVlcCkKKyAgICAgICAgcmFpc2VzIChET01FeGNlcHRpb24pOworICAg
IFtPYmpDTGVnYWN5VW5uYW1lZFBhcmFtZXRlcnMsIFJldHVybk5ld09iamVjdF0gRWxlbWVudCBj
cmVhdGVFbGVtZW50TlMoaW4gW1RyZWF0TnVsbEFzPU51bGxTdHJpbmcsT3B0aW9uYWw9RGVmYXVs
dElzVW5kZWZpbmVkXSBET01TdHJpbmcgbmFtZXNwYWNlVVJJLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIFtUcmVhdE51bGxBcz1OdWxs
U3RyaW5nLE9wdGlvbmFsPURlZmF1bHRJc1VuZGVmaW5lZF0gRE9NU3RyaW5nIHF1YWxpZmllZE5h
bWUpCisgICAgICAgIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKKyAgICBbT2JqQ0xlZ2FjeVVubmFt
ZWRQYXJhbWV0ZXJzLCBSZXR1cm5OZXdPYmplY3RdIEF0dHIgY3JlYXRlQXR0cmlidXRlTlMoaW4g
W1RyZWF0TnVsbEFzPU51bGxTdHJpbmcsT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSBET01T
dHJpbmcgbmFtZXNwYWNlVVJJLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW4gW1RyZWF0TnVsbEFzPU51bGxTdHJpbmcsT3B0aW9uYWw9RGVm
YXVsdElzVW5kZWZpbmVkXSBET01TdHJpbmcgcXVhbGlmaWVkTmFtZSkKICAgICAgICAgcmFpc2Vz
IChET01FeGNlcHRpb24pOwotICAgIFtPYmpDTGVnYWN5VW5uYW1lZFBhcmFtZXRlcnMsIFY4UGVy
V29ybGRCaW5kaW5nc10gTm9kZUxpc3QgZ2V0RWxlbWVudHNCeVRhZ05hbWVOUyhpbiBbVHJlYXRO
dWxsQXM9TnVsbFN0cmluZyxPcHRpb25hbD1EZWZhdWx0SXNVbmRlZmluZWRdIERPTVN0cmluZyBu
YW1lc3BhY2VVUkksCisgICAgW09iakNMZWdhY3lVbm5hbWVkUGFyYW1ldGVyc10gTm9kZUxpc3Qg
Z2V0RWxlbWVudHNCeVRhZ05hbWVOUyhpbiBbVHJlYXROdWxsQXM9TnVsbFN0cmluZyxPcHRpb25h
bD1EZWZhdWx0SXNVbmRlZmluZWRdIERPTVN0cmluZyBuYW1lc3BhY2VVUkksCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBbT3B0aW9uYWw9RGVm
YXVsdElzVW5kZWZpbmVkXSBET01TdHJpbmcgbG9jYWxOYW1lKTsKLSAgICBbVjhQZXJXb3JsZEJp
bmRpbmdzXSBFbGVtZW50ICAgICAgICAgICAgZ2V0RWxlbWVudEJ5SWQoaW4gW09wdGlvbmFsPURl
ZmF1bHRJc1VuZGVmaW5lZF0gRE9NU3RyaW5nIGVsZW1lbnRJZCk7CisgICAgRWxlbWVudCAgICAg
ICAgICAgIGdldEVsZW1lbnRCeUlkKGluIFtPcHRpb25hbD1EZWZhdWx0SXNVbmRlZmluZWRdIERP
TVN0cmluZyBlbGVtZW50SWQpOwogCiAgICAgLy8gRE9NIExldmVsIDMgQ29yZQogCkBAIC03MSw3
ICs3MCw3IEBACiAgICAgICAgICAgICAgYXR0cmlidXRlIGJvb2xlYW4geG1sU3RhbmRhbG9uZQog
ICAgICAgICAgICAgICAgIHNldHRlciByYWlzZXMgKERPTUV4Y2VwdGlvbik7CiAKLSAgICBbVjhQ
ZXJXb3JsZEJpbmRpbmdzXSBOb2RlIGFkb3B0Tm9kZShpbiBbT3B0aW9uYWw9RGVmYXVsdElzVW5k
ZWZpbmVkXSBOb2RlIHNvdXJjZSkKKyAgICBOb2RlICAgICAgICAgICAgICAgYWRvcHROb2RlKGlu
IFtPcHRpb25hbD1EZWZhdWx0SXNVbmRlZmluZWRdIE5vZGUgc291cmNlKQogICAgICAgICByYWlz
ZXMgKERPTUV4Y2VwdGlvbik7CiAKICNpZiBkZWZpbmVkKExBTkdVQUdFX09CSkVDVElWRV9DKSAm
JiBMQU5HVUFHRV9PQkpFQ1RJVkVfQyB8fCBkZWZpbmVkKExBTkdVQUdFX0dPQkpFQ1QpICYmIExB
TkdVQUdFX0dPQkpFQ1QKQEAgLTg2LDIxICs4NSwyMSBAQAogCiAgICAgLy8gRE9NIExldmVsIDIg
RXZlbnRzIChEb2N1bWVudEV2ZW50cyBpbnRlcmZhY2UpCiAKLSAgICBbVjhQZXJXb3JsZEJpbmRp
bmdzXSBFdmVudCAgICAgICAgICAgICAgY3JlYXRlRXZlbnQoaW4gW09wdGlvbmFsPURlZmF1bHRJ
c1VuZGVmaW5lZF0gRE9NU3RyaW5nIGV2ZW50VHlwZSkKKyAgICBFdmVudCAgICAgICAgICAgICAg
Y3JlYXRlRXZlbnQoaW4gW09wdGlvbmFsPURlZmF1bHRJc1VuZGVmaW5lZF0gRE9NU3RyaW5nIGV2
ZW50VHlwZSkKICAgICAgICAgcmFpc2VzKERPTUV4Y2VwdGlvbik7CiAKICAgICAvLyBET00gTGV2
ZWwgMiBUcmFudmVyc2FsIGFuZCBSYW5nZSAoRG9jdW1lbnRSYW5nZSBpbnRlcmZhY2UpCiAKLSAg
ICBbVjhQZXJXb3JsZEJpbmRpbmdzXSBSYW5nZSAgICAgICAgICAgICAgY3JlYXRlUmFuZ2UoKTsK
KyAgICBSYW5nZSAgICAgICAgICAgICAgY3JlYXRlUmFuZ2UoKTsKIAogICAgIC8vIERPTSBMZXZl
bCAyIFRyYW52ZXJzYWwgYW5kIFJhbmdlIChEb2N1bWVudFRyYXZlcnNhbCBpbnRlcmZhY2UpCiAK
LSAgICBbT2JqQ0xlZ2FjeVVubmFtZWRQYXJhbWV0ZXJzLCBWOFBlcldvcmxkQmluZGluZ3NdIE5v
ZGVJdGVyYXRvciBjcmVhdGVOb2RlSXRlcmF0b3IoaW4gW09wdGlvbmFsPURlZmF1bHRJc1VuZGVm
aW5lZF0gTm9kZSByb290LAorICAgIFtPYmpDTGVnYWN5VW5uYW1lZFBhcmFtZXRlcnNdIE5vZGVJ
dGVyYXRvciBjcmVhdGVOb2RlSXRlcmF0b3IoaW4gW09wdGlvbmFsPURlZmF1bHRJc1VuZGVmaW5l
ZF0gTm9kZSByb290LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW4gW09wdGlvbmFsPURlZmF1bHRJc1VuZGVmaW5lZF0gdW5zaWduZWQgbG9uZyB3
aGF0VG9TaG93LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW4gW09wdGlvbmFsPURlZmF1bHRJc1VuZGVmaW5lZF0gTm9kZUZpbHRlciBmaWx0ZXIs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBb
T3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSBib29sZWFuIGV4cGFuZEVudGl0eVJlZmVyZW5j
ZXMpCiAgICAgICAgIHJhaXNlcyhET01FeGNlcHRpb24pOwotICAgIFtPYmpDTGVnYWN5VW5uYW1l
ZFBhcmFtZXRlcnMsIFY4UGVyV29ybGRCaW5kaW5nc10gVHJlZVdhbGtlciBjcmVhdGVUcmVlV2Fs
a2VyKGluIFtPcHRpb25hbD1EZWZhdWx0SXNVbmRlZmluZWRdIE5vZGUgcm9vdCwKKyAgICBbT2Jq
Q0xlZ2FjeVVubmFtZWRQYXJhbWV0ZXJzXSBUcmVlV2Fsa2VyIGNyZWF0ZVRyZWVXYWxrZXIoaW4g
W09wdGlvbmFsPURlZmF1bHRJc1VuZGVmaW5lZF0gTm9kZSByb290LAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBbT3B0aW9uYWw9RGVmYXVsdElzVW5k
ZWZpbmVkXSB1bnNpZ25lZCBsb25nIHdoYXRUb1Nob3csCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGluIFtPcHRpb25hbD1EZWZhdWx0SXNVbmRlZmluZWRd
IE5vZGVGaWx0ZXIgZmlsdGVyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbiBbT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSBib29sZWFuIGV4cGFu
ZEVudGl0eVJlZmVyZW5jZXMpCkBAIC0xMTYsMTUgKzExNSwxNSBAQAogCiAgICAgLy8gRE9NIExl
dmVsIDIgU3R5bGUgKERvY3VtZW50Q1NTIGludGVyZmFjZSkKIAotICAgIFtPYmpDTGVnYWN5VW5u
YW1lZFBhcmFtZXRlcnMsIFY4UGVyV29ybGRCaW5kaW5nc10gQ1NTU3R5bGVEZWNsYXJhdGlvbiBn
ZXRPdmVycmlkZVN0eWxlKGluIFtPcHRpb25hbD1EZWZhdWx0SXNVbmRlZmluZWRdIEVsZW1lbnQg
ZWxlbWVudCwKKyAgICBbT2JqQ0xlZ2FjeVVubmFtZWRQYXJhbWV0ZXJzXSBDU1NTdHlsZURlY2xh
cmF0aW9uIGdldE92ZXJyaWRlU3R5bGUoaW4gW09wdGlvbmFsPURlZmF1bHRJc1VuZGVmaW5lZF0g
RWxlbWVudCBlbGVtZW50LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbiBbT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSBET01TdHJp
bmcgcHNldWRvRWxlbWVudCk7CiAKICAgICAvLyBET00gTGV2ZWwgMyBYUGF0aCAoWFBhdGhFdmFs
dWF0b3IgaW50ZXJmYWNlKQotICAgIFtPYmpDTGVnYWN5VW5uYW1lZFBhcmFtZXRlcnMsIFY4UGVy
V29ybGRCaW5kaW5nc10gWFBhdGhFeHByZXNzaW9uIGNyZWF0ZUV4cHJlc3Npb24oaW4gW09wdGlv
bmFsPURlZmF1bHRJc1VuZGVmaW5lZF0gRE9NU3RyaW5nIGV4cHJlc3Npb24sCisgICAgW09iakNM
ZWdhY3lVbm5hbWVkUGFyYW1ldGVyc10gWFBhdGhFeHByZXNzaW9uIGNyZWF0ZUV4cHJlc3Npb24o
aW4gW09wdGlvbmFsPURlZmF1bHRJc1VuZGVmaW5lZF0gRE9NU3RyaW5nIGV4cHJlc3Npb24sCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gW09w
dGlvbmFsPURlZmF1bHRJc1VuZGVmaW5lZF0gWFBhdGhOU1Jlc29sdmVyIHJlc29sdmVyKQogICAg
ICAgICByYWlzZXMoRE9NRXhjZXB0aW9uKTsKLSAgICBbVjhQZXJXb3JsZEJpbmRpbmdzXSBYUGF0
aE5TUmVzb2x2ZXIgICAgY3JlYXRlTlNSZXNvbHZlcihpbiBOb2RlIG5vZGVSZXNvbHZlcik7Ci0g
ICAgW09iakNMZWdhY3lVbm5hbWVkUGFyYW1ldGVycywgVjhDdXN0b20sIFY4UGVyV29ybGRCaW5k
aW5nc10gWFBhdGhSZXN1bHQgZXZhbHVhdGUoaW4gW09wdGlvbmFsPURlZmF1bHRJc1VuZGVmaW5l
ZF0gRE9NU3RyaW5nIGV4cHJlc3Npb24sCisgICAgWFBhdGhOU1Jlc29sdmVyICAgIGNyZWF0ZU5T
UmVzb2x2ZXIoaW4gTm9kZSBub2RlUmVzb2x2ZXIpOworICAgIFtPYmpDTGVnYWN5VW5uYW1lZFBh
cmFtZXRlcnMsIFY4Q3VzdG9tXSBYUGF0aFJlc3VsdCBldmFsdWF0ZShpbiBbT3B0aW9uYWw9RGVm
YXVsdElzVW5kZWZpbmVkXSBET01TdHJpbmcgZXhwcmVzc2lvbiwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gW09wdGlvbmFsPURlZmF1bHRJc1Vu
ZGVmaW5lZF0gTm9kZSBjb250ZXh0Tm9kZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW4gW09wdGlvbmFsPURlZmF1bHRJc1VuZGVmaW5lZF0gWFBh
dGhOU1Jlc29sdmVyIHJlc29sdmVyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbiBbT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSB1bnNpZ25l
ZCBzaG9ydCB0eXBlLApAQCAtMTMyLDcgKzEzMSw3IEBACiAgICAgICAgIHJhaXNlcyhET01FeGNl
cHRpb24pOwogCiAgICAgLy8gQ29tbW9uIGV4dGVuc2lvbnMKLSAgICBbVjhEZWxpdmVyQ3VzdG9t
RWxlbWVudENhbGxiYWNrc10KKwogICAgIGJvb2xlYW4gICAgICAgICAgICBleGVjQ29tbWFuZChp
biBbT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSBET01TdHJpbmcgY29tbWFuZCwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gW09wdGlvbmFsPURlZmF1bHRJc1VuZGVm
aW5lZF0gYm9vbGVhbiB1c2VySW50ZXJmYWNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbiBbVHJlYXROdWxsQXM9TnVsbFN0cmluZywgVHJlYXRVbmRlZmluZWRBcz1OdWxs
U3RyaW5nLE9wdGlvbmFsPURlZmF1bHRJc1VuZGVmaW5lZF0gRE9NU3RyaW5nIHZhbHVlKTsKQEAg
LTE0OCw3ICsxNDcsNyBAQAogICAgIGJvb2xlYW4gICAgICAgICAgICBxdWVyeUNvbW1hbmRJbmRl
dGVybShpbiBbT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSBET01TdHJpbmcgY29tbWFuZCk7
CiAgICAgYm9vbGVhbiAgICAgICAgICAgIHF1ZXJ5Q29tbWFuZFN0YXRlKGluIFtPcHRpb25hbD1E
ZWZhdWx0SXNVbmRlZmluZWRdIERPTVN0cmluZyBjb21tYW5kKTsKICAgICBib29sZWFuICAgICAg
ICAgICAgcXVlcnlDb21tYW5kU3VwcG9ydGVkKGluIFtPcHRpb25hbD1EZWZhdWx0SXNVbmRlZmlu
ZWRdIERPTVN0cmluZyBjb21tYW5kKTsKLSAgICBbVjhQZXJXb3JsZEJpbmRpbmdzXSBET01TdHJp
bmcgcXVlcnlDb21tYW5kVmFsdWUoaW4gW09wdGlvbmFsPURlZmF1bHRJc1VuZGVmaW5lZF0gRE9N
U3RyaW5nIGNvbW1hbmQpOworICAgIERPTVN0cmluZyAgICAgICAgICBxdWVyeUNvbW1hbmRWYWx1
ZShpbiBbT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSBET01TdHJpbmcgY29tbWFuZCk7CiAK
ICAgICAvLyBNb3ZlZCBkb3duIGZyb20gSFRNTERvY3VtZW50CiAKQEAgLTE3NywxMCArMTc2LDEw
IEBACiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIEhUTUxDb2xsZWN0aW9uIGFuY2hvcnM7CiAgICAg
cmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBsYXN0TW9kaWZpZWQ7CiAKLSAgICBbVjhQZXJX
b3JsZEJpbmRpbmdzXSBOb2RlTGlzdCBnZXRFbGVtZW50c0J5TmFtZShpbiBbT3B0aW9uYWw9RGVm
YXVsdElzVW5kZWZpbmVkXSBET01TdHJpbmcgZWxlbWVudE5hbWUpOworICAgIE5vZGVMaXN0IGdl
dEVsZW1lbnRzQnlOYW1lKGluIFtPcHRpb25hbD1EZWZhdWx0SXNVbmRlZmluZWRdIERPTVN0cmlu
ZyBlbGVtZW50TmFtZSk7CiAKICNpZiBkZWZpbmVkKEVOQUJMRV9NSUNST0RBVEEpICYmIEVOQUJM
RV9NSUNST0RBVEEKLSAgICBbVjhQZXJXb3JsZEJpbmRpbmdzXSBOb2RlTGlzdCBnZXRJdGVtcyhp
biBbVHJlYXROdWxsQXM9TnVsbFN0cmluZywgVHJlYXRVbmRlZmluZWRBcz1OdWxsU3RyaW5nLCBP
cHRpb25hbD1EZWZhdWx0SXNVbmRlZmluZWRdIERPTVN0cmluZyB0eXBlTmFtZXMpOworICAgIE5v
ZGVMaXN0IGdldEl0ZW1zKGluIFtUcmVhdE51bGxBcz1OdWxsU3RyaW5nLCBUcmVhdFVuZGVmaW5l
ZEFzPU51bGxTdHJpbmcsIE9wdGlvbmFsPURlZmF1bHRJc1VuZGVmaW5lZF0gRE9NU3RyaW5nIHR5
cGVOYW1lcyk7CiAjZW5kaWYKIAogI2lmIGRlZmluZWQoTEFOR1VBR0VfSkFWQVNDUklQVCkgJiYg
TEFOR1VBR0VfSkFWQVNDUklQVApAQCAtMTkzLDE0ICsxOTIsMTQgQEAKICAgICBbVHJlYXRSZXR1
cm5lZE51bGxTdHJpbmdBcz1VbmRlZmluZWRdIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcg
ZGVmYXVsdENoYXJzZXQ7CiAgICAgW1RyZWF0UmV0dXJuZWROdWxsU3RyaW5nQXM9VW5kZWZpbmVk
XSByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHJlYWR5U3RhdGU7CiAKLSAgICBbVjhQZXJX
b3JsZEJpbmRpbmdzXSBFbGVtZW50IGVsZW1lbnRGcm9tUG9pbnQoaW4gW09wdGlvbmFsPURlZmF1
bHRJc1VuZGVmaW5lZF0gbG9uZyB4LCAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW4gW09wdGlvbmFsPURlZmF1bHRJc1VuZGVmaW5lZF0gbG9uZyB5
KTsKLSAgICBbVjhQZXJXb3JsZEJpbmRpbmdzXSBSYW5nZSBjYXJldFJhbmdlRnJvbVBvaW50KGlu
IFtPcHRpb25hbD1EZWZhdWx0SXNVbmRlZmluZWRdIGxvbmcgeCwgCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBbT3B0aW9uYWw9RGVmYXVsdElz
VW5kZWZpbmVkXSBsb25nIHkpOworICAgIEVsZW1lbnQgICAgICAgICAgICBlbGVtZW50RnJvbVBv
aW50KGluIFtPcHRpb25hbD1EZWZhdWx0SXNVbmRlZmluZWRdIGxvbmcgeCwgCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gW09wdGlvbmFsPURlZmF1bHRJc1VuZGVm
aW5lZF0gbG9uZyB5KTsKKyAgICBSYW5nZSAgICAgICAgICAgICAgY2FyZXRSYW5nZUZyb21Qb2lu
dChpbiBbT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSBsb25nIHgsIAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIFtPcHRpb25hbD1EZWZhdWx0SXNVbmRl
ZmluZWRdIGxvbmcgeSk7CiAKICAgICAvLyBNb3ppbGxhIGV4dGVuc2lvbnMKICNpZiBkZWZpbmVk
KExBTkdVQUdFX0pBVkFTQ1JJUFQpICYmIExBTkdVQUdFX0pBVkFTQ1JJUFQKLSAgICBbVjhQZXJX
b3JsZEJpbmRpbmdzXSBET01TZWxlY3Rpb24gZ2V0U2VsZWN0aW9uKCk7CisgICAgRE9NU2VsZWN0
aW9uICAgICAgIGdldFNlbGVjdGlvbigpOwogI2VuZGlmCiAgICAgW1RyZWF0UmV0dXJuZWROdWxs
U3RyaW5nQXM9TnVsbF0gcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBjaGFyYWN0ZXJTZXQ7
CiAKQEAgLTIzNSwxNCArMjM0LDE0IEBACiAjZW5kaWYKIAogICAgIC8vIEhUTUwgNQotICAgIFtW
OFBlcldvcmxkQmluZGluZ3NdIE5vZGVMaXN0IGdldEVsZW1lbnRzQnlDbGFzc05hbWUoaW4gW09w
dGlvbmFsPURlZmF1bHRJc1VuZGVmaW5lZF0gRE9NU3RyaW5nIHRhZ25hbWUpOworICAgIE5vZGVM
aXN0IGdldEVsZW1lbnRzQnlDbGFzc05hbWUoaW4gW09wdGlvbmFsPURlZmF1bHRJc1VuZGVmaW5l
ZF0gRE9NU3RyaW5nIHRhZ25hbWUpOwogCiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmlu
ZyBjb21wYXRNb2RlOwogCiAgICAgLy8gTm9kZVNlbGVjdG9yIC0gU2VsZWN0b3IgQVBJCi0gICAg
W1Y4UGVyV29ybGRCaW5kaW5nc10gRWxlbWVudCBxdWVyeVNlbGVjdG9yKGluIERPTVN0cmluZyBz
ZWxlY3RvcnMpCisgICAgRWxlbWVudCBxdWVyeVNlbGVjdG9yKGluIERPTVN0cmluZyBzZWxlY3Rv
cnMpCiAgICAgICAgIHJhaXNlcyhET01FeGNlcHRpb24pOwotICAgIFtWOFBlcldvcmxkQmluZGlu
Z3NdIE5vZGVMaXN0IHF1ZXJ5U2VsZWN0b3JBbGwoaW4gRE9NU3RyaW5nIHNlbGVjdG9ycykKKyAg
ICBOb2RlTGlzdCBxdWVyeVNlbGVjdG9yQWxsKGluIERPTVN0cmluZyBzZWxlY3RvcnMpCiAgICAg
ICAgIHJhaXNlcyhET01FeGNlcHRpb24pOwogCiAjaWYgZGVmaW5lZChFTkFCTEVfRlVMTFNDUkVF
Tl9BUEkpICYmIEVOQUJMRV9GVUxMU0NSRUVOX0FQSQpAQCAtMzQ2LDcgKzM0NSw3IEBACiAjZW5k
aWYKIAogI2lmIGRlZmluZWQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJiYgRU5BQkxFX1RPVUNIX0VW
RU5UUwotICAgIFtSZXR1cm5OZXdPYmplY3QsIFY4RW5hYmxlZEF0UnVudGltZT10b3VjaCwgVjhQ
ZXJXb3JsZEJpbmRpbmdzXSBUb3VjaCBjcmVhdGVUb3VjaChpbiBbT3B0aW9uYWw9RGVmYXVsdElz
VW5kZWZpbmVkXSBET01XaW5kb3cgd2luZG93LAorICAgIFtSZXR1cm5OZXdPYmplY3QsIFY4RW5h
YmxlZEF0UnVudGltZT10b3VjaF0gVG91Y2ggY3JlYXRlVG91Y2goaW4gW09wdGlvbmFsPURlZmF1
bHRJc1VuZGVmaW5lZF0gRE9NV2luZG93IHdpbmRvdywKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gW09wdGlvbmFsPURlZmF1bHRJc1VuZGVm
aW5lZF0gRXZlbnRUYXJnZXQgdGFyZ2V0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbiBbT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSBs
b25nIGlkZW50aWZpZXIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGluIFtPcHRpb25hbD1EZWZhdWx0SXNVbmRlZmluZWRdIGxvbmcgcGFnZVgs
CkBAIC0zNjMsMTMgKzM2MiwxMSBAQAogI2VuZGlmCiAKICNpZiBkZWZpbmVkKEVOQUJMRV9DVVNU
T01fRUxFTUVOVFMpICYmIEVOQUJMRV9DVVNUT01fRUxFTUVOVFMKLSAgICBbVjhFbmFibGVkQXRS
dW50aW1lPWN1c3RvbURPTUVsZW1lbnRzLCBDb25kaXRpb25hbD1DVVNUT01fRUxFTUVOVFMsIElt
cGxlbWVudGVkQXM9cmVnaXN0ZXJFbGVtZW50LCBDYWxsV2l0aD1TY3JpcHRTdGF0ZSwgVjhQZXJX
b3JsZEJpbmRpbmdzLCBWOERlbGl2ZXJDdXN0b21FbGVtZW50Q2FsbGJhY2tzXQorICAgIFtWOEVu
YWJsZWRBdFJ1bnRpbWU9Y3VzdG9tRE9NRWxlbWVudHMsIENvbmRpdGlvbmFsPUNVU1RPTV9FTEVN
RU5UUywgSW1wbGVtZW50ZWRBcz1yZWdpc3RlckVsZW1lbnQsIENhbGxXaXRoPVNjcmlwdFN0YXRl
XQogICAgIEN1c3RvbUVsZW1lbnRDb25zdHJ1Y3RvciB3ZWJraXRSZWdpc3RlcihpbiBET01TdHJp
bmcgbmFtZSwgaW4gW09wdGlvbmFsXSBEaWN0aW9uYXJ5IG9wdGlvbnMpIHJhaXNlcyhET01FeGNl
cHRpb24pOwotICAgIFtSZXR1cm5OZXdPYmplY3QsIFY4UGVyV29ybGRCaW5kaW5ncywgVjhEZWxp
dmVyQ3VzdG9tRWxlbWVudENhbGxiYWNrc10KLSAgICBFbGVtZW50IGNyZWF0ZUVsZW1lbnQoaW4g
RE9NU3RyaW5nIGxvY2FsTmFtZSwgaW4gW1RyZWF0TnVsbEFzPU51bGxTdHJpbmddIERPTVN0cmlu
ZyB0eXBlRXh0ZW5zaW9uKSByYWlzZXMgKERPTUV4Y2VwdGlvbik7Ci0gICAgW1JldHVybk5ld09i
amVjdCwgVjhQZXJXb3JsZEJpbmRpbmdzLCBWOERlbGl2ZXJDdXN0b21FbGVtZW50Q2FsbGJhY2tz
XQotICAgIEVsZW1lbnQgY3JlYXRlRWxlbWVudE5TKGluIFtUcmVhdE51bGxBcz1OdWxsU3RyaW5n
XSBET01TdHJpbmcgbmFtZXNwYWNlVVJJLCBpbiBET01TdHJpbmcgcXVhbGlmaWVkTmFtZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBbVHJlYXROdWxsQXM9TnVsbFN0cmluZ10gRE9N
U3RyaW5nIHR5cGVFeHRlbnNpb24pIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKKyAgICBbUmV0dXJu
TmV3T2JqZWN0XSBFbGVtZW50IGNyZWF0ZUVsZW1lbnQoaW4gRE9NU3RyaW5nIGxvY2FsTmFtZSwg
aW4gW1RyZWF0TnVsbEFzPU51bGxTdHJpbmddIERPTVN0cmluZyB0eXBlRXh0ZW5zaW9uKSByYWlz
ZXMgKERPTUV4Y2VwdGlvbik7CisgICAgW1JldHVybk5ld09iamVjdF0gRWxlbWVudCBjcmVhdGVF
bGVtZW50TlMoaW4gW1RyZWF0TnVsbEFzPU51bGxTdHJpbmddIERPTVN0cmluZyBuYW1lc3BhY2VV
UkksIGluIERPTVN0cmluZyBxdWFsaWZpZWROYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGluIFtUcmVhdE51bGxBcz1OdWxsU3RyaW5nXSBET01TdHJp
bmcgdHlwZUV4dGVuc2lvbikgcmFpc2VzIChET01FeGNlcHRpb24pOwogI2VuZGlmCiAKICNpZiBk
ZWZpbmVkKExBTkdVQUdFX0NQUCkgJiYgTEFOR1VBR0VfQ1BQCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAK
aW5kZXggMzI1NGVjNTQ3ZTFlODZmYjg0NGM0ZWRhZTBkOGY3ZDBlMTJmZGQxYi4uYWE3ZjUyZDEy
MGM4ZDY4ZmQyYzM0ZThiMzM5Y2U2NWJmNjAyZmM0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvZG9tL0VsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcApA
QCAtMzMsNyArMzMsNiBAQAogI2luY2x1ZGUgIkNsYXNzTGlzdC5oIgogI2luY2x1ZGUgIkNsaWVu
dFJlY3QuaCIKICNpbmNsdWRlICJDbGllbnRSZWN0TGlzdC5oIgotI2luY2x1ZGUgIkN1c3RvbUVs
ZW1lbnRSZWdpc3RyeS5oIgogI2luY2x1ZGUgIkRPTVRva2VuTGlzdC5oIgogI2luY2x1ZGUgIkRh
dGFzZXRET01TdHJpbmdNYXAuaCIKICNpbmNsdWRlICJEb2N1bWVudC5oIgpAQCAtODg4LDE3ICs4
ODcsNiBAQCB2b2lkIEVsZW1lbnQ6OmF0dHJpYnV0ZUNoYW5nZWQoY29uc3QgUXVhbGlmaWVkTmFt
ZSYgbmFtZSwgY29uc3QgQXRvbWljU3RyaW5nJiBuZQogICAgICAgICBkb2N1bWVudCgpLT5heE9i
amVjdENhY2hlKCktPmhhbmRsZUF0dHJpYnV0ZUNoYW5nZWQobmFtZSwgdGhpcyk7CiB9CiAKLWlu
bGluZSB2b2lkIEVsZW1lbnQ6OmF0dHJpYnV0ZUNoYW5nZWRGcm9tUGFyc2VyT3JCeUNsb25pbmco
Y29uc3QgUXVhbGlmaWVkTmFtZSYgbmFtZSwgY29uc3QgQXRvbWljU3RyaW5nJiBuZXdWYWx1ZSkK
LXsKLSNpZiBFTkFCTEUoQ1VTVE9NX0VMRU1FTlRTKQotICAgIGlmIChuYW1lID09IGlzQXR0cikg
ewotICAgICAgICBpZiAoQ3VzdG9tRWxlbWVudFJlZ2lzdHJ5KiByZWdpc3RyeSA9IGRvY3VtZW50
KCktPnJlZ2lzdHJ5KCkpCi0gICAgICAgICAgICByZWdpc3RyeS0+ZGlkR2l2ZVR5cGVFeHRlbnNp
b24odGhpcyk7Ci0gICAgfQotI2VuZGlmCi0gICAgYXR0cmlidXRlQ2hhbmdlZChuYW1lLCBuZXdW
YWx1ZSk7Ci19Ci0KIHRlbXBsYXRlIDx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBlPgogc3RhdGljIGlu
bGluZSBib29sIGNsYXNzU3RyaW5nSGFzQ2xhc3NOYW1lKGNvbnN0IENoYXJhY3RlclR5cGUqIGNo
YXJhY3RlcnMsIHVuc2lnbmVkIGxlbmd0aCkKIHsKQEAgLTEwODUsNyArMTA3Myw3IEBAIHZvaWQg
RWxlbWVudDo6cGFyc2VyU2V0QXR0cmlidXRlcyhjb25zdCBWZWN0b3I8QXR0cmlidXRlPiYgYXR0
cmlidXRlVmVjdG9yKQogCiAgICAgLy8gVXNlIGF0dHJpYnV0ZVZlY3RvciBpbnN0ZWFkIG9mIG1f
ZWxlbWVudERhdGEgYmVjYXVzZSBhdHRyaWJ1dGVDaGFuZ2VkIG1pZ2h0IG1vZGlmeSBtX2VsZW1l
bnREYXRhLgogICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBhdHRyaWJ1dGVWZWN0b3Iuc2l6
ZSgpOyArK2kpCi0gICAgICAgIGF0dHJpYnV0ZUNoYW5nZWRGcm9tUGFyc2VyT3JCeUNsb25pbmco
YXR0cmlidXRlVmVjdG9yW2ldLm5hbWUoKSwgYXR0cmlidXRlVmVjdG9yW2ldLnZhbHVlKCkpOwor
ICAgICAgICBhdHRyaWJ1dGVDaGFuZ2VkKGF0dHJpYnV0ZVZlY3RvcltpXS5uYW1lKCksIGF0dHJp
YnV0ZVZlY3RvcltpXS52YWx1ZSgpKTsKIH0KIAogYm9vbCBFbGVtZW50OjpoYXNBdHRyaWJ1dGVz
KCkgY29uc3QKQEAgLTI4NjksNyArMjg1Nyw3IEBAIHZvaWQgRWxlbWVudDo6Y2xvbmVBdHRyaWJ1
dGVzRnJvbUVsZW1lbnQoY29uc3QgRWxlbWVudCYgb3RoZXIpCiAKICAgICBmb3IgKHVuc2lnbmVk
IGkgPSAwOyBpIDwgbV9lbGVtZW50RGF0YS0+bGVuZ3RoKCk7ICsraSkgewogICAgICAgICBjb25z
dCBBdHRyaWJ1dGUqIGF0dHJpYnV0ZSA9IGNvbnN0X2Nhc3Q8Y29uc3QgRWxlbWVudERhdGEqPiht
X2VsZW1lbnREYXRhLmdldCgpKS0+YXR0cmlidXRlSXRlbShpKTsKLSAgICAgICAgYXR0cmlidXRl
Q2hhbmdlZEZyb21QYXJzZXJPckJ5Q2xvbmluZyhhdHRyaWJ1dGUtPm5hbWUoKSwgYXR0cmlidXRl
LT52YWx1ZSgpKTsKKyAgICAgICAgYXR0cmlidXRlQ2hhbmdlZChhdHRyaWJ1dGUtPm5hbWUoKSwg
YXR0cmlidXRlLT52YWx1ZSgpKTsKICAgICB9CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9FbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oCmluZGV4IGQw
N2M5NTE1M2Q4NTI2NmZlMjYyYTc0MTljNWNjODI3ODAwNzc1NTUuLmJhYTlkNDI1MzQzOTAzNjM0
NTJmYjU5NGQ0Y2VhZDA4ZjU1MTUyZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9F
bGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaApAQCAtNjcyLDcgKzY3
Miw2IEBAIHByaXZhdGU6CiAgICAgdm9pZCBzZXRBdHRyaWJ1dGVJbnRlcm5hbChzaXplX3QgaW5k
ZXgsIGNvbnN0IFF1YWxpZmllZE5hbWUmLCBjb25zdCBBdG9taWNTdHJpbmcmIHZhbHVlLCBTeW5j
aHJvbml6YXRpb25PZkxhenlBdHRyaWJ1dGUpOwogICAgIHZvaWQgYWRkQXR0cmlidXRlSW50ZXJu
YWwoY29uc3QgUXVhbGlmaWVkTmFtZSYsIGNvbnN0IEF0b21pY1N0cmluZyYgdmFsdWUsIFN5bmNo
cm9uaXphdGlvbk9mTGF6eUF0dHJpYnV0ZSk7CiAgICAgdm9pZCByZW1vdmVBdHRyaWJ1dGVJbnRl
cm5hbChzaXplX3QgaW5kZXgsIFN5bmNocm9uaXphdGlvbk9mTGF6eUF0dHJpYnV0ZSk7Ci0gICAg
dm9pZCBhdHRyaWJ1dGVDaGFuZ2VkRnJvbVBhcnNlck9yQnlDbG9uaW5nKGNvbnN0IFF1YWxpZmll
ZE5hbWUmLCBjb25zdCBBdG9taWNTdHJpbmcmKTsKIAogI2lmbmRlZiBOREVCVUcKICAgICB2aXJ0
dWFsIHZvaWQgZm9ybWF0Rm9yRGVidWdnZXIoY2hhciogYnVmZmVyLCB1bnNpZ25lZCBsZW5ndGgp
IGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaWRsIGIvU291
cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaWRsCmluZGV4IDlhMmQxNWZlNmU2YmRjYTQ2MzYzZTJk
OTA1ZDUwODA0ZjZiY2U3NmQuLjZlMGM4ODVjZjIwZTI2YTBlNDRjYTJiNGE5MWZhN2IwMTQxNTc1
MTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmlkbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRWxlbWVudC5pZGwKQEAgLTM0LDEyICszNCwxMiBAQAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIFtPcHRpb25hbD1EZWZhdWx0SXNVbmRlZmlu
ZWRdIERPTVN0cmluZyB2YWx1ZSkKICAgICAgICAgcmFpc2VzKERPTUV4Y2VwdGlvbik7CiAgICAg
dm9pZCByZW1vdmVBdHRyaWJ1dGUoaW4gW09wdGlvbmFsPURlZmF1bHRJc1VuZGVmaW5lZF0gRE9N
U3RyaW5nIG5hbWUpOwotICAgIFtWOFBlcldvcmxkQmluZGluZ3NdIEF0dHIgZ2V0QXR0cmlidXRl
Tm9kZShpbiBbT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSBET01TdHJpbmcgbmFtZSk7Ci0g
ICAgW1Y4UGVyV29ybGRCaW5kaW5nc10gQXR0ciBzZXRBdHRyaWJ1dGVOb2RlKGluIFtPcHRpb25h
bD1EZWZhdWx0SXNVbmRlZmluZWRdIEF0dHIgbmV3QXR0cikKKyAgICBBdHRyIGdldEF0dHJpYnV0
ZU5vZGUoaW4gW09wdGlvbmFsPURlZmF1bHRJc1VuZGVmaW5lZF0gRE9NU3RyaW5nIG5hbWUpOwor
ICAgIEF0dHIgc2V0QXR0cmlidXRlTm9kZShpbiBbT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVk
XSBBdHRyIG5ld0F0dHIpCiAgICAgICAgIHJhaXNlcyhET01FeGNlcHRpb24pOwotICAgIFtWOFBl
cldvcmxkQmluZGluZ3NdIEF0dHIgcmVtb3ZlQXR0cmlidXRlTm9kZShpbiBbT3B0aW9uYWw9RGVm
YXVsdElzVW5kZWZpbmVkXSBBdHRyIG9sZEF0dHIpCisgICAgQXR0ciByZW1vdmVBdHRyaWJ1dGVO
b2RlKGluIFtPcHRpb25hbD1EZWZhdWx0SXNVbmRlZmluZWRdIEF0dHIgb2xkQXR0cikKICAgICAg
ICAgcmFpc2VzKERPTUV4Y2VwdGlvbik7Ci0gICAgW1Y4UGVyV29ybGRCaW5kaW5nc10gTm9kZUxp
c3QgZ2V0RWxlbWVudHNCeVRhZ05hbWUoaW4gW09wdGlvbmFsPURlZmF1bHRJc1VuZGVmaW5lZF0g
RE9NU3RyaW5nIG5hbWUpOworICAgIE5vZGVMaXN0IGdldEVsZW1lbnRzQnlUYWdOYW1lKGluIFtP
cHRpb25hbD1EZWZhdWx0SXNVbmRlZmluZWRdIERPTVN0cmluZyBuYW1lKTsKIAogI2lmICFkZWZp
bmVkKExBTkdVQUdFX09CSkVDVElWRV9DKQogICAgIC8vIEZvciBPYmpDIHRoaXMgaXMgZGVmaW5l
ZCBvbiBOb2RlIGZvciBsZWdhY3kgc3VwcG9ydC4KQEAgLTU3LDExICs1NywxMSBAQAogICAgICAg
ICByYWlzZXMoRE9NRXhjZXB0aW9uKTsKICAgICBbT2JqQ0xlZ2FjeVVubmFtZWRQYXJhbWV0ZXJz
XSB2b2lkIHJlbW92ZUF0dHJpYnV0ZU5TKGluIFtUcmVhdE51bGxBcz1OdWxsU3RyaW5nXSBET01T
dHJpbmcgbmFtZXNwYWNlVVJJLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW4gRE9NU3RyaW5nIGxvY2FsTmFtZSk7Ci0gICAgW09iakNMZWdhY3lVbm5hbWVkUGFy
YW1ldGVycywgVjhQZXJXb3JsZEJpbmRpbmdzXSBOb2RlTGlzdCBnZXRFbGVtZW50c0J5VGFnTmFt
ZU5TKGluIFtUcmVhdE51bGxBcz1OdWxsU3RyaW5nLE9wdGlvbmFsPURlZmF1bHRJc1VuZGVmaW5l
ZF0gRE9NU3RyaW5nIG5hbWVzcGFjZVVSSSwKKyAgICBbT2JqQ0xlZ2FjeVVubmFtZWRQYXJhbWV0
ZXJzXSBOb2RlTGlzdCBnZXRFbGVtZW50c0J5VGFnTmFtZU5TKGluIFtUcmVhdE51bGxBcz1OdWxs
U3RyaW5nLE9wdGlvbmFsPURlZmF1bHRJc1VuZGVmaW5lZF0gRE9NU3RyaW5nIG5hbWVzcGFjZVVS
SSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
IFtPcHRpb25hbD1EZWZhdWx0SXNVbmRlZmluZWRdIERPTVN0cmluZyBsb2NhbE5hbWUpOwotICAg
IFtPYmpDTGVnYWN5VW5uYW1lZFBhcmFtZXRlcnMsIFY4UGVyV29ybGRCaW5kaW5nc10gQXR0ciBn
ZXRBdHRyaWJ1dGVOb2RlTlMoaW4gW1RyZWF0TnVsbEFzPU51bGxTdHJpbmcsT3B0aW9uYWw9RGVm
YXVsdElzVW5kZWZpbmVkXSBET01TdHJpbmcgbmFtZXNwYWNlVVJJLAorICAgIFtPYmpDTGVnYWN5
VW5uYW1lZFBhcmFtZXRlcnNdIEF0dHIgZ2V0QXR0cmlidXRlTm9kZU5TKGluIFtUcmVhdE51bGxB
cz1OdWxsU3RyaW5nLE9wdGlvbmFsPURlZmF1bHRJc1VuZGVmaW5lZF0gRE9NU3RyaW5nIG5hbWVz
cGFjZVVSSSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBb
T3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSBET01TdHJpbmcgbG9jYWxOYW1lKTsKLSAgICBb
VjhQZXJXb3JsZEJpbmRpbmdzXSBBdHRyIHNldEF0dHJpYnV0ZU5vZGVOUyhpbiBbT3B0aW9uYWw9
RGVmYXVsdElzVW5kZWZpbmVkXSBBdHRyIG5ld0F0dHIpCisgICAgQXR0ciBzZXRBdHRyaWJ1dGVO
b2RlTlMoaW4gW09wdGlvbmFsPURlZmF1bHRJc1VuZGVmaW5lZF0gQXR0ciBuZXdBdHRyKQogICAg
ICAgICByYWlzZXMoRE9NRXhjZXB0aW9uKTsKICAgICBib29sZWFuIGhhc0F0dHJpYnV0ZShpbiBE
T01TdHJpbmcgbmFtZSk7CiAgICAgW09iakNMZWdhY3lVbm5hbWVkUGFyYW1ldGVyc10gYm9vbGVh
biBoYXNBdHRyaWJ1dGVOUyhpbiBbVHJlYXROdWxsQXM9TnVsbFN0cmluZyxPcHRpb25hbD1EZWZh
dWx0SXNVbmRlZmluZWRdIERPTVN0cmluZyBuYW1lc3BhY2VVUkksCkBAIC05Niw3ICs5Niw3IEBA
CiAgICAgdm9pZCBzY3JvbGxCeVBhZ2VzKGluIFtPcHRpb25hbD1EZWZhdWx0SXNVbmRlZmluZWRd
IGxvbmcgcGFnZXMpOwogCiAgICAgLy8gSFRNTCA1Ci0gICAgW1Y4UGVyV29ybGRCaW5kaW5nc10g
Tm9kZUxpc3QgZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShpbiBbT3B0aW9uYWw9RGVmYXVsdElzVW5k
ZWZpbmVkXSBET01TdHJpbmcgbmFtZSk7CisgICAgTm9kZUxpc3QgZ2V0RWxlbWVudHNCeUNsYXNz
TmFtZShpbiBbT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSBET01TdHJpbmcgbmFtZSk7CiAK
ICAgICBbUmVmbGVjdD1jbGFzcywgVjhQZXJXb3JsZEJpbmRpbmdzXSBhdHRyaWJ1dGUgRE9NU3Ry
aW5nIGNsYXNzTmFtZTsKICAgICBbVjhQZXJXb3JsZEJpbmRpbmdzXSByZWFkb25seSBhdHRyaWJ1
dGUgRE9NVG9rZW5MaXN0IGNsYXNzTGlzdDsKQEAgLTEwNiw5ICsxMDYsOSBAQAogI2VuZGlmCiAK
ICAgICAvLyBOb2RlU2VsZWN0b3IgLSBTZWxlY3RvciBBUEkKLSAgICBbVjhQZXJXb3JsZEJpbmRp
bmdzXSBFbGVtZW50IHF1ZXJ5U2VsZWN0b3IoaW4gRE9NU3RyaW5nIHNlbGVjdG9ycykKKyAgICBF
bGVtZW50IHF1ZXJ5U2VsZWN0b3IoaW4gRE9NU3RyaW5nIHNlbGVjdG9ycykKICAgICAgICAgcmFp
c2VzKERPTUV4Y2VwdGlvbik7Ci0gICAgW1Y4UGVyV29ybGRCaW5kaW5nc10gTm9kZUxpc3QgcXVl
cnlTZWxlY3RvckFsbChpbiBET01TdHJpbmcgc2VsZWN0b3JzKQorICAgIE5vZGVMaXN0IHF1ZXJ5
U2VsZWN0b3JBbGwoaW4gRE9NU3RyaW5nIHNlbGVjdG9ycykKICAgICAgICAgcmFpc2VzKERPTUV4
Y2VwdGlvbik7CiAKICAgICAvLyBXZWJLaXQgZXh0ZW5zaW9uLCBwZW5kaW5nIHNwZWNpZmljYXRp
b24uCkBAIC0xMjUsNyArMTI1LDcgQEAKICAgICAvLyBTaGFkb3dBd2FyZSBBUEkKICNpZiBkZWZp
bmVkKEVOQUJMRV9TSEFET1dfRE9NKSAmJiBFTkFCTEVfU0hBRE9XX0RPTSAmJiBkZWZpbmVkKExB
TkdVQUdFX0pBVkFTQ1JJUFQpICYmIExBTkdVQUdFX0pBVkFTQ1JJUFQKICAgICBbUmVmbGVjdD1w
c2V1ZG8sIFY4RW5hYmxlZEF0UnVudGltZT1zaGFkb3dET00sIEltcGxlbWVudGVkQXM9cHNldWRv
LCBWOFBlcldvcmxkQmluZGluZ3NdIGF0dHJpYnV0ZSBET01TdHJpbmcgd2Via2l0UHNldWRvOwot
ICAgIFtWOEVuYWJsZWRBdFJ1bnRpbWU9c2hhZG93RE9NLCBJbXBsZW1lbnRlZEFzPWNyZWF0ZVNo
YWRvd1Jvb3QsIFY4UGVyV29ybGRCaW5kaW5nc10gU2hhZG93Um9vdCB3ZWJraXRDcmVhdGVTaGFk
b3dSb290KCkgcmFpc2VzKERPTUV4Y2VwdGlvbik7CisgICAgW1Y4RW5hYmxlZEF0UnVudGltZT1z
aGFkb3dET00sIEltcGxlbWVudGVkQXM9Y3JlYXRlU2hhZG93Um9vdF0gU2hhZG93Um9vdCB3ZWJr
aXRDcmVhdGVTaGFkb3dSb290KCkgcmFpc2VzKERPTUV4Y2VwdGlvbik7CiAgICAgW1Y4RW5hYmxl
ZEF0UnVudGltZT1zaGFkb3dET00sIEltcGxlbWVudGVkQXM9c2hhZG93Um9vdCwgVjhQZXJXb3Js
ZEJpbmRpbmdzXSByZWFkb25seSBhdHRyaWJ1dGUgU2hhZG93Um9vdCB3ZWJraXRTaGFkb3dSb290
OwogICAgIFtWOEVuYWJsZWRBdFJ1bnRpbWU9c2hhZG93RE9NLCBJbXBsZW1lbnRlZEFzPWluc2Vy
dGlvblBhcmVudEZvckJpbmRpbmcsIFY4UGVyV29ybGRCaW5kaW5nc10gcmVhZG9ubHkgYXR0cmli
dXRlIE5vZGUgd2Via2l0SW5zZXJ0aW9uUGFyZW50OwogI2VuZGlmCkBAIC0xMzYsOCArMTM2LDgg
QEAKIAogI2lmIGRlZmluZWQoTEFOR1VBR0VfSkFWQVNDUklQVCkgJiYgTEFOR1VBR0VfSkFWQVND
UklQVAogICAgIC8vIENTU09NIFZpZXcgTW9kdWxlIEFQSQotICAgIFtWOFBlcldvcmxkQmluZGlu
Z3NdIENsaWVudFJlY3RMaXN0IGdldENsaWVudFJlY3RzKCk7Ci0gICAgW1Y4UGVyV29ybGRCaW5k
aW5nc10gQ2xpZW50UmVjdCBnZXRCb3VuZGluZ0NsaWVudFJlY3QoKTsKKyAgICBDbGllbnRSZWN0
TGlzdCBnZXRDbGllbnRSZWN0cygpOworICAgIENsaWVudFJlY3QgZ2V0Qm91bmRpbmdDbGllbnRS
ZWN0KCk7CiAjZW5kaWYKIAogI2lmIGRlZmluZWQoTEFOR1VBR0VfT0JKRUNUSVZFX0MpICYmIExB
TkdVQUdFX09CSkVDVElWRV9DCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5p
ZGwgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5pZGwKaW5kZXggNmY2ZDY4ZGNjODJkYmMzMWNl
ZGNiOTBmYzg1YTdjYWY1MjAzNWQxNy4uNmI1ZDQ5M2U3YmQ5YjUzMTdkYjdkYjUwZTU4NzEyNzEw
ZDNjMGU0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuaWRsCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmlkbApAQCAtNzYsNyArNzYsNiBAQAogICAgICAgICByYWlz
ZXMoRE9NRXhjZXB0aW9uKTsKIAogICAgIGJvb2xlYW4gICAgICAgICAgICBoYXNDaGlsZE5vZGVz
KCk7Ci0gICAgW1Y4UGVyV29ybGRCaW5kaW5ncywgVjhEZWxpdmVyQ3VzdG9tRWxlbWVudENhbGxi
YWNrc10KICAgICBOb2RlICAgICAgICAgICAgICAgY2xvbmVOb2RlKGluIFtPcHRpb25hbD1EZWZh
dWx0SXNVbmRlZmluZWRdIGJvb2xlYW4gZGVlcCk7CiAgICAgdm9pZCAgICAgICAgICAgICAgIG5v
cm1hbGl6ZSgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2hhZG93Um9vdC5p
ZGwgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2hhZG93Um9vdC5pZGwKaW5kZXggNWIzNWU5ZmVkZWQy
OTgzNGY5ZjZlZDc3OTk5MjYzZWY0OGFkNDYwMi4uYTM5Y2E5MmE1M2I5ODZjZjg4ZjExOTMxYzEx
OWExMTAyOGY1YzhhZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1NoYWRvd1Jvb3Qu
aWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TaGFkb3dSb290LmlkbApAQCAtMzIsOCArMzIs
OCBAQAogICAgIGF0dHJpYnV0ZSBib29sZWFuIGFwcGx5QXV0aG9yU3R5bGVzOwogICAgIGF0dHJp
YnV0ZSBib29sZWFuIHJlc2V0U3R5bGVJbmhlcml0YW5jZTsKIAotICAgIFtUcmVhdE51bGxBcz1O
dWxsU3RyaW5nLCBWOERlbGl2ZXJDdXN0b21FbGVtZW50Q2FsbGJhY2tzXQotICAgIGF0dHJpYnV0
ZSBET01TdHJpbmcgaW5uZXJIVE1MIHNldHRlciByYWlzZXMoRE9NRXhjZXB0aW9uKTsKKyAgICBb
VHJlYXROdWxsQXM9TnVsbFN0cmluZ10gYXR0cmlidXRlIERPTVN0cmluZyBpbm5lckhUTUwKKyAg
ICAgICAgc2V0dGVyIHJhaXNlcyhET01FeGNlcHRpb24pOwogCiAjaWYgZGVmaW5lZChMQU5HVUFH
RV9KQVZBU0NSSVBUKSAmJiBMQU5HVUFHRV9KQVZBU0NSSVBUCiAgICAgTm9kZSBjbG9uZU5vZGUo
aW4gW09wdGlvbmFsPURlZmF1bHRJc1VuZGVmaW5lZF0gYm9vbGVhbiBkZWVwKSByYWlzZXMoRE9N
RXhjZXB0aW9uKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEVsZW1lbnQu
aWRsIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRWxlbWVudC5pZGwKaW5kZXggOGNhMzkwODYy
OWI4ZjMxZDk5NmU4NGJkZDgyYWUxMDU4MTYzOWZhNC4uYmM2MzliOGU0MWJiMDQ0YTkxOTEwZTg2
YjRiZDA0OWZiNDExYmQ0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRWxl
bWVudC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRWxlbWVudC5pZGwKQEAgLTM5
LDcgKzM5LDcgQEAKICAgICAgICAgICAgICBbUmVmbGVjdF0gYXR0cmlidXRlIERPTVN0cmluZyBh
Y2Nlc3NLZXk7CiAKICAgICAvLyBFeHRlbnNpb25zCi0gICAgICAgICAgICAgW1RyZWF0TnVsbEFz
PU51bGxTdHJpbmcsIFY4RGVsaXZlckN1c3RvbUVsZW1lbnRDYWxsYmFja3NdIGF0dHJpYnV0ZSBE
T01TdHJpbmcgaW5uZXJIVE1MCisgICAgICAgICAgICAgW1RyZWF0TnVsbEFzPU51bGxTdHJpbmdd
IGF0dHJpYnV0ZSBET01TdHJpbmcgaW5uZXJIVE1MCiAgICAgICAgICAgICAgICAgIHNldHRlciBy
YWlzZXMoRE9NRXhjZXB0aW9uKTsKICAgICAgICAgICAgICBbVHJlYXROdWxsQXM9TnVsbFN0cmlu
Z10gYXR0cmlidXRlIERPTVN0cmluZyBpbm5lclRleHQKICAgICAgICAgICAgICAgICAgc2V0dGVy
IHJhaXNlcyhET01FeGNlcHRpb24pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9w
YXJzZXIvSFRNTFNjcmlwdFJ1bm5lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9I
VE1MU2NyaXB0UnVubmVyLmNwcAppbmRleCA1M2YzZDI5ZmZiMTA1ZmVhNDNmYjk1MWFkZjViY2E5
YzVmYjIwNzE4Li40Njg5ZDEzZTQyYTM1ZWVhMjE0YTAyODdhYTdiN2RlMjg5ZDUxMDNhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MU2NyaXB0UnVubmVyLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MU2NyaXB0UnVubmVyLmNwcApAQCAt
MjksNyArMjksNiBAQAogI2luY2x1ZGUgIkF0dHJpYnV0ZS5oIgogI2luY2x1ZGUgIkNhY2hlZFNj
cmlwdC5oIgogI2luY2x1ZGUgIkNhY2hlZFJlc291cmNlTG9hZGVyLmgiCi0jaW5jbHVkZSAiQ3Vz
dG9tRWxlbWVudFJlZ2lzdHJ5LmgiCiAjaW5jbHVkZSAiRWxlbWVudC5oIgogI2luY2x1ZGUgIkV2
ZW50LmgiCiAjaW5jbHVkZSAiRnJhbWUuaCIKQEAgLTEyOSwxMiArMTI4LDggQEAgdm9pZCBIVE1M
U2NyaXB0UnVubmVyOjpleGVjdXRlUGVuZGluZ1NjcmlwdEFuZERpc3BhdGNoRXZlbnQoUGVuZGlu
Z1NjcmlwdCYgcGVuZGkKICAgICBpZiAocGVuZGluZ1NjcmlwdC5jYWNoZWRTY3JpcHQoKSAmJiBw
ZW5kaW5nU2NyaXB0LndhdGNoaW5nRm9yTG9hZCgpKQogICAgICAgICBzdG9wV2F0Y2hpbmdGb3JM
b2FkKHBlbmRpbmdTY3JpcHQpOwogCi0gICAgaWYgKCFpc0V4ZWN1dGluZ1NjcmlwdCgpKSB7Ci0j
aWYgRU5BQkxFKENVU1RPTV9FTEVNRU5UUykKLSAgICAgICAgQ3VzdG9tRWxlbWVudFJlZ2lzdHJ5
OjpkZWxpdmVyQWxsTGlmZWN5Y2xlQ2FsbGJhY2tzKCk7Ci0jZW5kaWYKKyAgICBpZiAoIWlzRXhl
Y3V0aW5nU2NyaXB0KCkpCiAgICAgICAgIE11dGF0aW9uT2JzZXJ2ZXI6OmRlbGl2ZXJBbGxNdXRh
dGlvbnMoKTsKLSAgICB9CiAKICAgICAvLyBDbGVhciB0aGUgcGVuZGluZyBzY3JpcHQgYmVmb3Jl
IHBvc3NpYmxlIHJlbnRyYW5jeSBmcm9tIGV4ZWN1dGVTY3JpcHQoKQogICAgIFJlZlB0cjxFbGVt
ZW50PiBlbGVtZW50ID0gcGVuZGluZ1NjcmlwdC5yZWxlYXNlRWxlbWVudEFuZENsZWFyKCk7CkBA
IC0yOTcsMTIgKzI5Miw4IEBAIHZvaWQgSFRNTFNjcmlwdFJ1bm5lcjo6cnVuU2NyaXB0KEVsZW1l
bnQqIHNjcmlwdCwgY29uc3QgVGV4dFBvc2l0aW9uJiBzY3JpcHRTdGFyCiAgICAgICAgIC8vIGV2
ZXJ5IHNjcmlwdCBlbGVtZW50LCBldmVuIGlmIGl0J3Mgbm90IHJlYWR5IHRvIGV4ZWN1dGUgeWV0
LiBUaGVyZSdzCiAgICAgICAgIC8vIHVuZm9ydHVhbnRlbHkgbm8gb2J2aW91cyB3YXkgdG8gdGVs
bCBpZiBwcmVwYXJlU2NyaXB0IGlzIGdvaW5nIHRvCiAgICAgICAgIC8vIGV4ZWN1dGUgdGhlIHNj
cmlwdCBmcm9tIG91dCBoZXJlLgotICAgICAgICBpZiAoIWlzRXhlY3V0aW5nU2NyaXB0KCkpIHsK
LSNpZiBFTkFCTEUoQ1VTVE9NX0VMRU1FTlRTKQotICAgICAgICAgICAgQ3VzdG9tRWxlbWVudFJl
Z2lzdHJ5OjpkZWxpdmVyQWxsTGlmZWN5Y2xlQ2FsbGJhY2tzKCk7Ci0jZW5kaWYKKyAgICAgICAg
aWYgKCFpc0V4ZWN1dGluZ1NjcmlwdCgpKQogICAgICAgICAgICAgTXV0YXRpb25PYnNlcnZlcjo6
ZGVsaXZlckFsbE11dGF0aW9ucygpOwotICAgICAgICB9CiAKICAgICAgICAgSW5zZXJ0aW9uUG9p
bnRSZWNvcmQgaW5zZXJ0aW9uUG9pbnRSZWNvcmQobV9ob3N0LT5pbnB1dFN0cmVhbSgpKTsKICAg
ICAgICAgTmVzdGluZ0xldmVsSW5jcmVtZW50ZXIgbmVzdGluZ0xldmVsSW5jcmVtZW50ZXIobV9z
Y3JpcHROZXN0aW5nTGV2ZWwpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9z
cmMvV2ViS2l0LmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYktpdC5jcHAKaW5k
ZXggMGRmYjA4NmI3ODk2Y2RiZTk2YmNmNjliNjlhY2UwOWJmZjhmNTFhZC4uZTI2ZmI4ZWY5ZDVl
YjY2MmQ2NjQ4MDI3ODU3ZGE3ZGIxN2IwNGJkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9zcmMvV2ViS2l0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9X
ZWJLaXQuY3BwCkBAIC0zMSw3ICszMSw2IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVk
ZSAiV2ViS2l0LmgiCiAKLSNpbmNsdWRlICJDdXN0b21FbGVtZW50UmVnaXN0cnkuaCIKICNpbmNs
dWRlICJFdmVudFRyYWNlci5oIgogI2luY2x1ZGUgIkltYWdlRGVjb2RpbmdTdG9yZS5oIgogI2lu
Y2x1ZGUgIkxheW91dFRlc3RTdXBwb3J0LmgiCkBAIC04MSw5ICs4MCw2IEBAIHB1YmxpYzoKICAg
ICB2aXJ0dWFsIHZvaWQgd2lsbFByb2Nlc3NUYXNrKCkgeyB9CiAgICAgdmlydHVhbCB2b2lkIGRp
ZFByb2Nlc3NUYXNrKCkKICAgICB7Ci0jaWYgRU5BQkxFKENVU1RPTV9FTEVNRU5UUykKLSAgICAg
ICAgV2ViQ29yZTo6Q3VzdG9tRWxlbWVudFJlZ2lzdHJ5OjpkZWxpdmVyQWxsTGlmZWN5Y2xlQ2Fs
bGJhY2tzKCk7Ci0jZW5kaWYKICAgICAgICAgV2ViQ29yZTo6TXV0YXRpb25PYnNlcnZlcjo6ZGVs
aXZlckFsbE11dGF0aW9ucygpOwogICAgIH0KIH07CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZGYxNGVkOTFiZmM1ODNjNGQz
MDI0YzZlNTcwYTU1N2U5ZmI4ZDYzNC4uMmFkNTE0NGVkZjcwYzU1Zjc3YzVhMGQ5MTU1ZDU0YTM0
MGZjYzM1YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDEzLTAzLTIyICBTaGVyaWZmIEJvdCAg
PHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KKworICAgICAgICBVbnJldmlld2VkLCByb2xs
aW5nIG91dCByMTQ2NTM0IGFuZCByMTQ2NTY1LgorICAgICAgICBodHRwOi8vdHJhYy53ZWJraXQu
b3JnL2NoYW5nZXNldC8xNDY1MzQKKyAgICAgICAgaHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFu
Z2VzZXQvMTQ2NTY1CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMTMwMTcKKworICAgICAgICAicjE0NjUzNCBjYXVzZWQgcGVyZiByZWdyZXNzaW9uIG9u
IENocm9taXVtIExpbnV4IHg2NCIKKyAgICAgICAgKFJlcXVlc3RlZCBieSB5dXJ5cyBvbiAjd2Vi
a2l0KS4KKworICAgICAgICAqIGZhc3QvZG9tL2N1c3RvbS9saWZlY3ljbGUtcmVhZHktY3JlYXRl
RWxlbWVudC1yZWN1cnNpb24tZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGZhc3Qv
ZG9tL2N1c3RvbS9saWZlY3ljbGUtcmVhZHktY3JlYXRlRWxlbWVudC1yZWN1cnNpb24uaHRtbDog
UmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9jdXN0b20vbGlmZWN5Y2xlLXJlYWR5LWNyZWF0
ZUVsZW1lbnQtcmVlbnRyYW5jeS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogZmFz
dC9kb20vY3VzdG9tL2xpZmVjeWNsZS1yZWFkeS1jcmVhdGVFbGVtZW50LXJlZW50cmFuY3kuaHRt
bDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9jdXN0b20vbGlmZWN5Y2xlLXJlYWR5LWNy
ZWF0aW9uLWFwaS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9kb20vY3Vz
dG9tL2xpZmVjeWNsZS1yZWFkeS1jcmVhdGlvbi1hcGkuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAg
KiBmYXN0L2RvbS9jdXN0b20vbGlmZWN5Y2xlLXJlYWR5LWlubmVySFRNTC1leHBlY3RlZC50eHQ6
IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9kb20vY3VzdG9tL2xpZmVjeWNsZS1yZWFkeS1pbm5l
ckhUTUwuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9jdXN0b20vbGlmZWN5Y2xl
LXJlYWR5LXBhcnNlci1vbmx5LWV4cGVjdGVkLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFz
dC9kb20vY3VzdG9tL2xpZmVjeWNsZS1yZWFkeS1wYXJzZXItb25seS5odG1sOiBSZW1vdmVkLgor
ICAgICAgICAqIGZhc3QvZG9tL2N1c3RvbS9saWZlY3ljbGUtcmVhZHktcGFyc2VyLXNjcmlwdC1l
eHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9kb20vY3VzdG9tL2xpZmVjeWNs
ZS1yZWFkeS1wYXJzZXItc2NyaXB0Lmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9kb20v
Y3VzdG9tL2xpZmVjeWNsZS1yZWFkeS1wYXN0ZS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAg
ICAgICogZmFzdC9kb20vY3VzdG9tL2xpZmVjeWNsZS1yZWFkeS1wYXN0ZS5odG1sOiBSZW1vdmVk
LgorCiAyMDEzLTAzLTIyICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgogCiAgICAg
ICAgIEFkZCBhIGZsYWt5IHRlc3QgZmFpbHVyZSBleHBlY3RhdGlvbiBwZXIgYnVnIDExMzAxMi4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL2N1c3RvbS9saWZlY3ljbGUtcmVhZHkt
Y3JlYXRlRWxlbWVudC1yZWN1cnNpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9k
b20vY3VzdG9tL2xpZmVjeWNsZS1yZWFkeS1jcmVhdGVFbGVtZW50LXJlY3Vyc2lvbi1leHBlY3Rl
ZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDUzODIzYTgzMmE3YTA4MzAyOGFm
Nzg3Njg2MzkyZGRkYWU1MjYzZjMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vY3VzdG9tL2xpZmVjeWNsZS1yZWFkeS1j
cmVhdGVFbGVtZW50LXJlY3Vyc2lvbi1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw2
ICswLDAgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSA5OiBVbmNhdWdodCBSYW5nZUVycm9yOiBN
YXhpbXVtIGNhbGwgc3RhY2sgc2l6ZSBleGNlZWRlZC4KLVBBU1MgdW5sZXNzIGNyYXNoCi1QQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vY3VzdG9tL2xpZmVjeWNsZS1yZWFkeS1jcmVhdGVFbGVt
ZW50LXJlY3Vyc2lvbi5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vY3VzdG9tL2xpZmVjeWNs
ZS1yZWFkeS1jcmVhdGVFbGVtZW50LXJlY3Vyc2lvbi5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCA0MWQzOWU3NDE4ZjgyNmNjMmQ2MDcwM2VhY2VmYTA5OTMyMDVjOTY5Li4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zh
c3QvZG9tL2N1c3RvbS9saWZlY3ljbGUtcmVhZHktY3JlYXRlRWxlbWVudC1yZWN1cnNpb24uaHRt
bAorKysgL2Rldi9udWxsCkBAIC0xLDE3ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+
Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08c2NyaXB0PgotZG9jdW1lbnQucmVnaXN0ZXIg
PSBkb2N1bWVudC5yZWdpc3RlciB8fCBkb2N1bWVudC53ZWJraXRSZWdpc3RlcjsKLWRvY3VtZW50
LnJlZ2lzdGVyKCJ4LWZvbyIsIHsgcHJvdG90eXBlOiBPYmplY3QuY3JlYXRlKEhUTUxFbGVtZW50
LnByb3RvdHlwZSwgeyByZWFkeUNhbGxiYWNrOiB7IHZhbHVlOiBmdW5jdGlvbiAoKSB7IHRoaXMu
aW5uZXJIVE1MID0gIjx4LWZvbz5IZWxsbzwveC1mb28+IjsgfSB9IH0pIH0pOwotaWYgKHdpbmRv
dy50ZXN0UnVubmVyKQotICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgieC1mb28iKTsKLWRlYnVnKCJQQVNTIHVubGVzcyBjcmFzaCIpOwotPC9zY3Jp
cHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9jdXN0b20vbGlmZWN5Y2xlLXJlYWR5LWNyZWF0ZUVsZW1lbnQtcmVlbnRyYW5jeS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9jdXN0b20vbGlmZWN5Y2xlLXJlYWR5LWNyZWF0
ZUVsZW1lbnQtcmVlbnRyYW5jeS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDdlZGNjMTgzN2MyNTZiNjg5NmIxYmUzOWY5MGMwZjFlNGQ1YzM0MWEuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9k
b20vY3VzdG9tL2xpZmVjeWNsZS1yZWFkeS1jcmVhdGVFbGVtZW50LXJlZW50cmFuY3ktZXhwZWN0
ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTMgKzAsMCBAQAotVGhpcyB0ZXN0IGVuc3VyZXMg
dGhhdCB0aGUgbGlmZWN5Y2xlIGNhbGxiYWNrIG9mIGEgcGFyc2VyLW1hZGUgZWxlbWVudCBpcyB2
aXNpYmxlIGluIGZvbGxvd2luZyBzY3JpcHQgYmxvY2suCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxs
IHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBM
RVRFIi4KLQotCi1QQVNTIHdpbmRvdy5jYWxsYmFja3NDYWxsZWQgaXMgW10KLVBBU1Mgd2luZG93
LmNhbGxiYWNrc0NhbGxlZCBpcyBbJ1gtRk9PJ10KLVBBU1Mgd2luZG93LmNhbGxiYWNrc0NhbGxl
ZCBpcyBbJ1gtRk9PJywgJ1gtQkFSJ10KLVBBU1Mgd2luZG93LmNhbGxiYWNrc0NhbGxlZCBpcyBb
J1gtRk9PJywgJ1gtQkFSJ10KLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVT
VCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9jdXN0b20vbGlm
ZWN5Y2xlLXJlYWR5LWNyZWF0ZUVsZW1lbnQtcmVlbnRyYW5jeS5odG1sIGIvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vY3VzdG9tL2xpZmVjeWNsZS1yZWFkeS1jcmVhdGVFbGVtZW50LXJlZW50cmFuY3ku
aHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTlkODQ4NzUxYmYyNWM0MzkzNjA3
ZWJkNGNiYjllYzQ2ZmI5ODhhMC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9jdXN0b20vbGlmZWN5Y2xlLXJlYWR5LWNy
ZWF0ZUVsZW1lbnQtcmVlbnRyYW5jeS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMzQgKzAsMCBA
QAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pz
L3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotZGVzY3JpcHRp
b24oIlRoaXMgdGVzdCBlbnN1cmVzIHRoYXQgdGhlIGxpZmVjeWNsZSBjYWxsYmFjayBvZiBhIHBh
cnNlci1tYWRlIGVsZW1lbnQgaXMgdmlzaWJsZSBpbiBmb2xsb3dpbmcgc2NyaXB0IGJsb2NrLiIp
Ci1kb2N1bWVudC5yZWdpc3RlciA9IGRvY3VtZW50LnJlZ2lzdGVyIHx8IGRvY3VtZW50LndlYmtp
dFJlZ2lzdGVyOwotCi13aW5kb3cuY2FsbGJhY2tzQ2FsbGVkID0gW107Ci0KLWZ1bmN0aW9uIGZv
b0NyZWF0ZWRGdW5jdGlvbigpIHsKLSAgc2hvdWxkQmUoIndpbmRvdy5jYWxsYmFja3NDYWxsZWQi
LCAiW10iKTsKLSAgd2luZG93LmNhbGxiYWNrc0NhbGxlZC5wdXNoKHRoaXMudGFnTmFtZSk7Ci0g
IHRoaXMuaW5uZXJIVE1MID0gIjx4LWJhcj48L3gtYmFyPiI7Ci0gIHNob3VsZEJlKCJ3aW5kb3cu
Y2FsbGJhY2tzQ2FsbGVkIiwgIlsnWC1GT08nLCAnWC1CQVInXSIpOwotfQotCi1mdW5jdGlvbiBi
YXJDcmVhdGVkRnVuY3Rpb24oKSB7Ci0gIHNob3VsZEJlKCJ3aW5kb3cuY2FsbGJhY2tzQ2FsbGVk
IiwgIlsnWC1GT08nXSIpOwotICB3aW5kb3cuY2FsbGJhY2tzQ2FsbGVkLnB1c2godGhpcy50YWdO
YW1lKTsKLX0KLQotZG9jdW1lbnQucmVnaXN0ZXIoIngtZm9vIiwgeyBwcm90b3R5cGU6IE9iamVj
dC5jcmVhdGUoSFRNTEVsZW1lbnQucHJvdG90eXBlLCB7IHJlYWR5Q2FsbGJhY2s6IHsgdmFsdWU6
IGZvb0NyZWF0ZWRGdW5jdGlvbiB9IH0pIH0pOwotZG9jdW1lbnQucmVnaXN0ZXIoIngtYmFyIiwg
eyBwcm90b3R5cGU6IE9iamVjdC5jcmVhdGUoSFRNTEVsZW1lbnQucHJvdG90eXBlLCB7IHJlYWR5
Q2FsbGJhY2s6IHsgdmFsdWU6IGJhckNyZWF0ZWRGdW5jdGlvbiB9IH0pIH0pOwotPC9zY3JpcHQ+
Ci08L2hlYWQ+Ci08Ym9keT4KLTxzY3JpcHQ+Ci1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ4LWZv
byIpOwotc2hvdWxkQmUoIndpbmRvdy5jYWxsYmFja3NDYWxsZWQiLCAiWydYLUZPTycsICdYLUJB
UiddIik7Ci08L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVz
dC1wb3N0LmpzIj48L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvZG9tL2N1c3RvbS9saWZlY3ljbGUtcmVhZHktY3JlYXRpb24tYXBpLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL2N1c3RvbS9saWZlY3ljbGUtcmVhZHktY3Jl
YXRpb24tYXBpLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTkz
YzljZjFmYWI1ODM4MGQ4MzVhMGUzNjIzYWM0MDliNDQzOGVkYy4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9jdXN0b20v
bGlmZWN5Y2xlLXJlYWR5LWNyZWF0aW9uLWFwaS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApA
QCAtMSwyNSArMCwwIEBACi1UaGlzIHRlc3QgZW5zdXJlcyB0aGF0IHRoZSBsaWZlY3ljbGUgY2Fs
bGJhY2tzIG9mIEFQSS1vcmlnaW5hdGVkIGVsZW1lbnRzIGFyZSB2aXNpYmxlIGluIGZvbGxvd2lu
ZyBzY3JpcHQgYmxvY2suCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1QQVNTIGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3gtZm9vJykuY2FsbGJhY2tzQ2FsbGVkIGlzIHRydWUKLVBB
U1MgZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2JywgJ3gtYmFyJykuY2FsbGJhY2tzQ2FsbGVk
IGlzIHRydWUKLVBBU1MgZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKCdodHRwOi8vd3d3LnczLm9y
Zy8xOTk5L3hodG1sJywgJ3gtZm9vJykuY2FsbGJhY2tzQ2FsbGVkIGlzIHRydWUKLVBBU1MgZG9j
dW1lbnQuY3JlYXRlRWxlbWVudE5TKCdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sJywgJ2Rp
dicsICd4LWJhcicpLmNhbGxiYWNrc0NhbGxlZCBpcyB0cnVlCi1QQVNTIGZvby5jbG9uZU5vZGUo
KS5jYWxsYmFja3NDYWxsZWQgaXMgdHJ1ZQotUEFTUyBmb28uY2xvbmVOb2RlKHRydWUpLmZpcnN0
Q2hpbGQuY2FsbGJhY2tzQ2FsbGVkIGlzIHRydWUKLVBBU1MgYmFyLmNsb25lTm9kZSgpLmNhbGxi
YWNrc0NhbGxlZCBpcyB0cnVlCi1QQVNTIGJhci5jbG9uZU5vZGUodHJ1ZSkuZmlyc3RDaGlsZC5j
YWxsYmFja3NDYWxsZWQgaXMgdHJ1ZQotUEFTUyBmb3JlaWduRm9vLmNhbGxiYWNrc0NhbGxlZCBp
cyB1bmRlZmluZWQuCi1QQVNTIGZvcmVpZ25Gb28uZmlyc3RDaGlsZC5jYWxsYmFja3NDYWxsZWQg
aXMgdW5kZWZpbmVkLgotUEFTUyBpbXBvcnRlZEZvby5jYWxsYmFja3NDYWxsZWQgaXMgdHJ1ZQot
UEFTUyBpbXBvcnRlZEZvby5maXJzdENoaWxkLmNhbGxiYWNrc0NhbGxlZCBpcyB0cnVlCi1QQVNT
IHdpbmRvdy5jYWxsYmFja3NDYWxsZWQgaXMgW10KLVBBU1MgaW1wb3J0ZWRCYXIuY2FsbGJhY2tz
Q2FsbGVkIGlzIHRydWUKLVBBU1MgaW1wb3J0ZWRCYXIuZmlyc3RDaGlsZC5jYWxsYmFja3NDYWxs
ZWQgaXMgdHJ1ZQotUEFTUyB3aW5kb3cuY2FsbGJhY2tzQ2FsbGVkIGlzIFsnRElWJywgJ1gtRk9P
J10KLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9jdXN0b20vbGlmZWN5Y2xlLXJlYWR5LWNy
ZWF0aW9uLWFwaS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vY3VzdG9tL2xpZmVjeWNsZS1y
ZWFkeS1jcmVhdGlvbi1hcGkuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZWM2
ZGNhZTgwNzE4ZmYyN2IxYjEzNzBlNTJjMjE1NGQ0NTIxNjg3Yy4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9jdXN0b20v
bGlmZWN5Y2xlLXJlYWR5LWNyZWF0aW9uLWFwaS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNjIg
KzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4u
Ly4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCBlbnN1cmVzIHRoYXQgdGhlIGxpZmVjeWNsZSBjYWxsYmFja3Mg
b2YgQVBJLW9yaWdpbmF0ZWQgZWxlbWVudHMgYXJlIHZpc2libGUgaW4gZm9sbG93aW5nIHNjcmlw
dCBibG9jay4iKQotd2luZG93LmNhbGxiYWNrc0NhbGxlZCA9IFtdOwotZnVuY3Rpb24gbWFya2lu
Z1JlYWR5Q2FsbGJhY2soKSB7Ci0gICAgd2luZG93LmNhbGxiYWNrc0NhbGxlZC5wdXNoKHRoaXMu
dGFnTmFtZSk7Ci0gICAgdGhpcy5jYWxsYmFja3NDYWxsZWQgPSB0cnVlOwotfQotCi1kb2N1bWVu
dC5yZWdpc3RlciA9IGRvY3VtZW50LnJlZ2lzdGVyIHx8IGRvY3VtZW50LndlYmtpdFJlZ2lzdGVy
OwotZG9jdW1lbnQucmVnaXN0ZXIoIngtZm9vIiwgeyBwcm90b3R5cGU6IE9iamVjdC5jcmVhdGUo
SFRNTEVsZW1lbnQucHJvdG90eXBlLCB7IHJlYWR5Q2FsbGJhY2s6IHsgdmFsdWU6IG1hcmtpbmdS
ZWFkeUNhbGxiYWNrIH0gfSkgfSk7Ci1kb2N1bWVudC5yZWdpc3RlcigieC1iYXIiLCB7IHByb3Rv
dHlwZTogT2JqZWN0LmNyZWF0ZShIVE1MRGl2RWxlbWVudC5wcm90b3R5cGUsIHsgcmVhZHlDYWxs
YmFjazogeyB2YWx1ZTogbWFya2luZ1JlYWR5Q2FsbGJhY2sgfSB9KSB9KTsKLTwvc2NyaXB0Pgot
PC9oZWFkPgotPGJvZHk+Ci08ZGl2IGlkPSJjb250YWluZXIiPjwvZGl2PgotPGRpdiBpZD0iaG9z
dCI+PC9kaXY+Ci0KLTxzY3JpcHQ+Ci0KLXNob3VsZEJlVHJ1ZSgiZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgneC1mb28nKS5jYWxsYmFja3NDYWxsZWQiKTsKLXNob3VsZEJlVHJ1ZSgiZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgnZGl2JywgJ3gtYmFyJykuY2FsbGJhY2tzQ2FsbGVkIik7Ci0KLXNob3Vs
ZEJlVHJ1ZSgiZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKCdodHRwOi8vd3d3LnczLm9yZy8xOTk5
L3hodG1sJywgJ3gtZm9vJykuY2FsbGJhY2tzQ2FsbGVkIik7Ci1zaG91bGRCZVRydWUoImRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnROUygnaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCcsICdkaXYn
LCAneC1iYXInKS5jYWxsYmFja3NDYWxsZWQiKTsKLQotdmFyIGZvbyA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoJ3gtZm9vJyk7Ci1mb28uYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgnZGl2JywgJ3gtYmFyJykpOwotc2hvdWxkQmVUcnVlKCJmb28uY2xvbmVOb2RlKCkuY2FsbGJh
Y2tzQ2FsbGVkIik7Ci1zaG91bGRCZVRydWUoImZvby5jbG9uZU5vZGUodHJ1ZSkuZmlyc3RDaGls
ZC5jYWxsYmFja3NDYWxsZWQiKTsKLQotdmFyIGJhciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
J2RpdicsICd4LWJhcicpOwotYmFyLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
J3gtZm9vJykpOwotc2hvdWxkQmVUcnVlKCJiYXIuY2xvbmVOb2RlKCkuY2FsbGJhY2tzQ2FsbGVk
Iik7Ci1zaG91bGRCZVRydWUoImJhci5jbG9uZU5vZGUodHJ1ZSkuZmlyc3RDaGlsZC5jYWxsYmFj
a3NDYWxsZWQiKTsKLQotdmFyIGZvcmVpZ25Eb2MgPSBkb2N1bWVudC5pbXBsZW1lbnRhdGlvbi5j
cmVhdGVEb2N1bWVudCgnaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCcsICdodG1sJywgbnVs
bCk7Ci0KLXZhciBmb3JlaWduRm9vID0gZm9yZWlnbkRvYy5jcmVhdGVFbGVtZW50KCd4LWZvbycp
OwotZm9yZWlnbkZvby5hcHBlbmRDaGlsZChmb3JlaWduRG9jLmNyZWF0ZUVsZW1lbnQoJ2Rpdics
ICd4LWJhcicpKTsKLXNob3VsZEJlVW5kZWZpbmVkKCJmb3JlaWduRm9vLmNhbGxiYWNrc0NhbGxl
ZCIpOwotc2hvdWxkQmVVbmRlZmluZWQoImZvcmVpZ25Gb28uZmlyc3RDaGlsZC5jYWxsYmFja3ND
YWxsZWQiKTsKLWltcG9ydGVkRm9vID0gZG9jdW1lbnQuaW1wb3J0Tm9kZShmb3JlaWduRm9vKQot
c2hvdWxkQmVUcnVlKCJpbXBvcnRlZEZvby5jYWxsYmFja3NDYWxsZWQiKTsKLXNob3VsZEJlVHJ1
ZSgiaW1wb3J0ZWRGb28uZmlyc3RDaGlsZC5jYWxsYmFja3NDYWxsZWQiKTsKLQotd2luZG93LmNh
bGxiYWNrc0NhbGxlZCA9IFtdOwotdmFyIGZvcmVpZ25CYXIgPSBmb3JlaWduRG9jLmNyZWF0ZUVs
ZW1lbnQoJ2RpdicsICd4LWJhcicpOwotZm9yZWlnbkJhci5hcHBlbmRDaGlsZChmb3JlaWduRG9j
LmNyZWF0ZUVsZW1lbnQoJ3gtZm9vJykpOwotc2hvdWxkQmUoIndpbmRvdy5jYWxsYmFja3NDYWxs
ZWQiLCAiW10iKTsKLWltcG9ydGVkQmFyID0gZG9jdW1lbnQuaW1wb3J0Tm9kZShmb3JlaWduQmFy
KTsKLXNob3VsZEJlVHJ1ZSgiaW1wb3J0ZWRCYXIuY2FsbGJhY2tzQ2FsbGVkIik7Ci1zaG91bGRC
ZVRydWUoImltcG9ydGVkQmFyLmZpcnN0Q2hpbGQuY2FsbGJhY2tzQ2FsbGVkIik7Ci1zaG91bGRC
ZSgid2luZG93LmNhbGxiYWNrc0NhbGxlZCIsICJbJ0RJVicsICdYLUZPTyddIik7Ci0KLTwvc2Ny
aXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9k
b20vY3VzdG9tL2xpZmVjeWNsZS1yZWFkeS1pbm5lckhUTUwtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZmFzdC9kb20vY3VzdG9tL2xpZmVjeWNsZS1yZWFkeS1pbm5lckhUTUwtZXhwZWN0ZWQu
dHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlZDUxNmYzMTdhMjk0NzMxNjNkMTVi
OTMxMDA0MDY2OTc1MzgyNDYzLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL2N1c3RvbS9saWZlY3ljbGUtcmVhZHktaW5u
ZXJIVE1MLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDExICswLDAgQEAKLVRoaXMg
dGVzdCBlbnN1cmVzIHRoYXQgdGhlIGxpZmVjeWNsZSBjYWxsYmFjayBvZiBhIHBhcnNlci1tYWRl
IGVsZW1lbnQgaXMgdmlzaWJsZSBpbiBmb2xsb3dpbmcgc2NyaXB0IGJsb2NrLgotCi1PbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCi0KLQotUEFTUyB3aW5kb3cuY2FsbGJhY2tzQ2FsbGVkIGlzIFsn
YScsICdiJywgJ2MnXQotUEFTUyB3aW5kb3cuY2FsbGJhY2tzQ2FsbGVkIGlzIFsnYScsICdiJywg
J2MnXQotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL2N1c3RvbS9saWZlY3ljbGUtcmVhZHkt
aW5uZXJIVE1MLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9jdXN0b20vbGlmZWN5Y2xlLXJl
YWR5LWlubmVySFRNTC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhZjAyOGVk
YzlkZTIzODNjMDlmMGZjM2E0YTliMjMyZDA5OWI3YmZmLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL2N1c3RvbS9saWZl
Y3ljbGUtcmVhZHktaW5uZXJIVE1MLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwzNiArMCwwIEBA
Ci08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMv
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci1kZXNjcmlwdGlv
bigiVGhpcyB0ZXN0IGVuc3VyZXMgdGhhdCB0aGUgbGlmZWN5Y2xlIGNhbGxiYWNrIG9mIGEgcGFy
c2VyLW1hZGUgZWxlbWVudCBpcyB2aXNpYmxlIGluIGZvbGxvd2luZyBzY3JpcHQgYmxvY2suIikK
LWRvY3VtZW50LnJlZ2lzdGVyID0gZG9jdW1lbnQucmVnaXN0ZXIgfHwgZG9jdW1lbnQud2Via2l0
UmVnaXN0ZXI7Ci0KLXdpbmRvdy5jYWxsYmFja3NDYWxsZWQgPSBbXTsKLQotZnVuY3Rpb24gdHJh
Y2tpbmdSZWFkeUNhbGxiYWNrKCkKLXsKLSAgICB3aW5kb3cuY2FsbGJhY2tzQ2FsbGVkLnB1c2go
dGhpcy5pZCk7Ci19Ci0KLWRvY3VtZW50LnJlZ2lzdGVyKCJ4LWZvbyIsIHsgcHJvdG90eXBlOiBP
YmplY3QuY3JlYXRlKEhUTUxFbGVtZW50LnByb3RvdHlwZSwgeyByZWFkeUNhbGxiYWNrOiB7IHZh
bHVlOiB0cmFja2luZ1JlYWR5Q2FsbGJhY2sgfSB9KSB9KTsKLWRvY3VtZW50LnJlZ2lzdGVyKCJ4
LWJhciIsIHsgcHJvdG90eXBlOiBPYmplY3QuY3JlYXRlKEhUTUxEaXZFbGVtZW50LnByb3RvdHlw
ZSwgeyByZWFkeUNhbGxiYWNrOiB7IHZhbHVlOiB0cmFja2luZ1JlYWR5Q2FsbGJhY2sgfSB9KSB9
KTsKLWRvY3VtZW50LnJlZ2lzdGVyKCJ4LWJheiIsIHsgcHJvdG90eXBlOiBPYmplY3QuY3JlYXRl
KEhUTUxFbGVtZW50LnByb3RvdHlwZSwgeyByZWFkeUNhbGxiYWNrOiB7IHZhbHVlOiB0cmFja2lu
Z1JlYWR5Q2FsbGJhY2sgfSB9KSB9KTsKLTwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08ZGl2
IGlkPSJjb250YWluZXIiPgotPHNjcmlwdD4KLS8vIFRlc3RpbmcgZWxlbWVudCBzaWJsaW5ncwot
d2luZG93LmNhbGxiYWNrc0NhbGxlZCA9IFtdOwotY29udGFpbmVyLmlubmVySFRNTCA9ICI8eC1m
b28gaWQ9J2EnPjwveC1mb28+PGRpdiBpZD0nYicgaXM9J3gtYmFyJz48L2Rpdj48eC1iYXogaWQ9
J2MnPjwveC1iYXo+IjsKLXNob3VsZEJlKCJ3aW5kb3cuY2FsbGJhY2tzQ2FsbGVkIiwgIlsnYScs
ICdiJywgJ2MnXSIpOwotCi0vLyBUZXN0aW5nIG5lc3RlZCBlbGVtZW50cwotd2luZG93LmNhbGxi
YWNrc0NhbGxlZCA9IFtdOwotY29udGFpbmVyLmlubmVySFRNTCA9ICI8eC1mb28gaWQ9J2EnPjxk
aXYgaWQ9J2InIGlzPSd4LWJhcic+PHgtYmF6IGlkPSdjJz48L3gtYmF6PjwvZGl2PjwveC1mb28+
IjsKLXNob3VsZEJlKCJ3aW5kb3cuY2FsbGJhY2tzQ2FsbGVkIiwgIlsnYScsICdiJywgJ2MnXSIp
OwotPC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9jdXN0b20vbGlmZWN5Y2xlLXJlYWR5LXBhcnNlci1vbmx5LWV4cGVjdGVkLmh0
bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9jdXN0b20vbGlmZWN5Y2xlLXJlYWR5LXBhcnNlci1v
bmx5LWV4cGVjdGVkLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDk2ZmQ4MDc0
NWIwZWYwNWYxNzU0OTFkMjM4MTFiMTViOWNmMzhiNGQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vY3VzdG9tL2xpZmVj
eWNsZS1yZWFkeS1wYXJzZXItb25seS1leHBlY3RlZC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEs
NiArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGJvZHk+Ci08c3Bhbj5IZWxsbzwv
c3Bhbj4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9t
L2N1c3RvbS9saWZlY3ljbGUtcmVhZHktcGFyc2VyLW9ubHkuaHRtbCBiL0xheW91dFRlc3RzL2Zh
c3QvZG9tL2N1c3RvbS9saWZlY3ljbGUtcmVhZHktcGFyc2VyLW9ubHkuaHRtbApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggZGM4MTE1ZTE3MjBmZDYyYzBkMTFiYjAxZWNhZTk2MzQ2MDhh
YTM5NC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9jdXN0b20vbGlmZWN5Y2xlLXJlYWR5LXBhcnNlci1vbmx5Lmh0bWwK
KysrIC9kZXYvbnVsbApAQCAtMSwxMyArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgot
PGhlYWQ+Ci08c2NyaXB0PgotZG9jdW1lbnQucmVnaXN0ZXIgPSBkb2N1bWVudC5yZWdpc3RlciB8
fCBkb2N1bWVudC53ZWJraXRSZWdpc3RlcjsKLXByb3RvID0gT2JqZWN0LmNyZWF0ZShIVE1MRWxl
bWVudC5wcm90b3R5cGUsIHsgcmVhZHlDYWxsYmFjazogeyB2YWx1ZTogZnVuY3Rpb24oKSB7IHRo
aXMuaW5uZXJIVE1MID0gIkhlbGxvIjsgfSB9IH0pOwotZG9jdW1lbnQucmVnaXN0ZXIoIngtZm9v
IiwgeyBwcm90b3R5cGU6IHByb3RvIH0pOwotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTx4
LWZvbz48L3gtZm9vPgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vY3VzdG9tL2xpZmVjeWNsZS1yZWFkeS1wYXJzZXItc2NyaXB0LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL2N1c3RvbS9saWZlY3ljbGUtcmVhZHktcGFyc2VyLXNj
cmlwdC1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDM0YzdlZjdi
N2Q1MzBiOTY0Y2JjZmY3OGFjNzkyZjA0MTE4NzJjN2QuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vY3VzdG9tL2xpZmVj
eWNsZS1yZWFkeS1wYXJzZXItc2NyaXB0LWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0x
LDEwICswLDAgQEAKLVRoaXMgdGVzdCBlbnN1cmVzIHRoYXQgdGhlIGxpZmVjeWNsZSBjYWxsYmFj
ayBvZiBhIHBhcnNlci1tYWRlIGVsZW1lbnQgaXMgdmlzaWJsZSBpbiBmb2xsb3dpbmcgc2NyaXB0
IGJsb2NrLgotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotUEFTUyB3aW5kb3cuY2Fs
bGJhY2tzQ2FsbGVkIGlzIHRydWUKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQot
VEVTVCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9jdXN0b20v
bGlmZWN5Y2xlLXJlYWR5LXBhcnNlci1zY3JpcHQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9t
L2N1c3RvbS9saWZlY3ljbGUtcmVhZHktcGFyc2VyLXNjcmlwdC5odG1sCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCA5YjViZWI2NzQ4YTI4NTNhMWE5MDNkMTE4MzZiNmViYWM2ZWVlY2Ex
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2Zhc3QvZG9tL2N1c3RvbS9saWZlY3ljbGUtcmVhZHktcGFyc2VyLXNjcmlwdC5odG1sCisr
KyAvZGV2L251bGwKQEAgLTEsMTkgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxo
ZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0PgotZGVzY3JpcHRpb24oIlRoaXMgdGVzdCBlbnN1cmVzIHRoYXQgdGhl
IGxpZmVjeWNsZSBjYWxsYmFjayBvZiBhIHBhcnNlci1tYWRlIGVsZW1lbnQgaXMgdmlzaWJsZSBp
biBmb2xsb3dpbmcgc2NyaXB0IGJsb2NrLiIpCi1kb2N1bWVudC5yZWdpc3RlciA9IGRvY3VtZW50
LnJlZ2lzdGVyIHx8IGRvY3VtZW50LndlYmtpdFJlZ2lzdGVyOwotcHJvdG8gPSBPYmplY3QuY3Jl
YXRlKEhUTUxFbGVtZW50LnByb3RvdHlwZSwgeyByZWFkeUNhbGxiYWNrOiB7IHZhbHVlOiBmdW5j
dGlvbigpIHsgd2luZG93LmNhbGxiYWNrc0NhbGxlZCA9IHRydWU7IH0gfSB9KTsKLWRvY3VtZW50
LnJlZ2lzdGVyKCJ4LWZvbyIsIHsgcHJvdG90eXBlOiBwcm90byB9KTsKLTwvc2NyaXB0PgotPC9o
ZWFkPgotPGJvZHk+Ci08eC1mb28+PC94LWZvbz4KLTxzY3JpcHQ+Ci1zaG91bGRCZVRydWUoIndp
bmRvdy5jYWxsYmFja3NDYWxsZWQiKTsKLTwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pz
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vY3VzdG9tL2xpZmVjeWNsZS1yZWFkeS1w
YXN0ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9jdXN0b20vbGlmZWN5Y2xl
LXJlYWR5LXBhc3RlLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
NDNmYjNkZTY5OWUwY2M0YWRiODczNDZhN2VkZmQ4NzNkMjc1YjIzMy4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9jdXN0
b20vbGlmZWN5Y2xlLXJlYWR5LXBhc3RlLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0x
LDExICswLDAgQEAKLVRoaXMgdGVzdCBlbnN1cmVzIHRoYXQgdGhlIGxpZmVjeWNsZSBjYWxsYmFj
a3Mgb2YgZWRpdGluZy1vcmlnaW5hdGVkIGVsZW1lbnRzIGFyZSB2aXNpYmxlIGluIGZvbGxvd2lu
ZyBzY3JpcHQgYmxvY2suCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1QQVNTIHdp
bmRvdy5jYWxsYmFja3NDYWxsZWQgaXMgWydYLUZPTycsICdESVYnXQotUEFTUyB3aW5kb3cuY2Fs
bGJhY2tzQ2FsbGVkIGlzIFsnWC1GT08nLCAnRElWJywgJ1gtRk9PJywgJ0RJViddCi1QQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9kb20vY3VzdG9tL2xpZmVjeWNsZS1yZWFkeS1wYXN0ZS5odG1sIGIv
TGF5b3V0VGVzdHMvZmFzdC9kb20vY3VzdG9tL2xpZmVjeWNsZS1yZWFkeS1wYXN0ZS5odG1sCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4ZmE0YjdjYmU3ZjAzNGJjZDlkZjFkNDhjMmE2
NzI4OGZlNTlmY2RlLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL2N1c3RvbS9saWZlY3ljbGUtcmVhZHktcGFzdGUuaHRt
bAorKysgL2Rldi9udWxsCkBAIC0xLDMwICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+
Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgotPHNjcmlwdD4KLWRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgZW5zdXJlcyB0aGF0
IHRoZSBsaWZlY3ljbGUgY2FsbGJhY2tzIG9mIGVkaXRpbmctb3JpZ2luYXRlZCBlbGVtZW50cyBh
cmUgdmlzaWJsZSBpbiBmb2xsb3dpbmcgc2NyaXB0IGJsb2NrLiIpCi1kb2N1bWVudC5yZWdpc3Rl
ciA9IGRvY3VtZW50LnJlZ2lzdGVyIHx8IGRvY3VtZW50LndlYmtpdFJlZ2lzdGVyOwotd2luZG93
LmNhbGxiYWNrc0NhbGxlZCA9IFtdOwotZG9jdW1lbnQucmVnaXN0ZXIoIngtZm9vIiwgeyBwcm90
b3R5cGU6IE9iamVjdC5jcmVhdGUoSFRNTEVsZW1lbnQucHJvdG90eXBlLCB7IHJlYWR5Q2FsbGJh
Y2s6IHsgdmFsdWU6IGZ1bmN0aW9uKCkgeyB3aW5kb3cuY2FsbGJhY2tzQ2FsbGVkLnB1c2godGhp
cy50YWdOYW1lKTsgfSB9IH0pIH0pOwotZG9jdW1lbnQucmVnaXN0ZXIoIngtYmFyIiwgeyBwcm90
b3R5cGU6IE9iamVjdC5jcmVhdGUoSFRNTERpdkVsZW1lbnQucHJvdG90eXBlLCB7IHJlYWR5Q2Fs
bGJhY2s6IHsgdmFsdWU6IGZ1bmN0aW9uKCkgeyB3aW5kb3cuY2FsbGJhY2tzQ2FsbGVkLnB1c2go
dGhpcy50YWdOYW1lKTsgfSB9IH0pIH0pOwotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxk
aXYgaWQ9ImNvbnRhaW5lciIgY29udGVudGVkaXRhYmxlPls8eC1mb28+Rm9vPC94LWZvbz48ZGl2
IGlzPSd4LWJhcic+QmFyPC9kaXY+XTwvZGl2PgotPHNjcmlwdD4KLXZhciBzZWxlY3Rpb24gPSB3
aW5kb3cuZ2V0U2VsZWN0aW9uKCk7Ci0KLXNlbGVjdGlvbi5zZWxlY3RBbGxDaGlsZHJlbihjb250
YWluZXIpOwotZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiKTsKLQotc2hvdWxkQmUoIndpbmRv
dy5jYWxsYmFja3NDYWxsZWQiLCAiWydYLUZPTycsICdESVYnXSIpOwotc2VsZWN0aW9uLmNvbGxh
cHNlVG9FbmQoKTsKLWRvY3VtZW50LmV4ZWNDb21tYW5kKCJQYXN0ZSIpOwotc2hvdWxkQmUoIndp
bmRvdy5jYWxsYmFja3NDYWxsZWQiLCAiWydYLUZPTycsICdESVYnLCAnWC1GT08nLCAnRElWJ10i
KTsKLQotY29udGFpbmVyLnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7Ci08L3NjcmlwdD4KLTxzY3Jp
cHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KLTwv
Ym9keT4KLTwvaHRtbD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>