<?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>245151</bug_id>
          
          <creation_ts>2022-09-13 10:56:02 -0700</creation_ts>
          <short_desc>REGRESSION(254036@main): Caused GC crash</short_desc>
          <delta_ts>2022-09-13 11:00:24 -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>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>234538</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Commit Bot">commit-queue</reporter>
          <assigned_to name="WebKit Commit Bot">commit-queue</assigned_to>
          <cc>ashvayka</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1898286</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2022-09-13 10:56:02 -0700</bug_when>
    <thetext>https://commits.webkit.org/254036@main introduced a regression:
Caused GC crash

This is an automatic bug report generated by webkitbot. 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 fail.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1898288</commentid>
    <comment_count>1</comment_count>
      <attachid>462323</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2022-09-13 10:56:08 -0700</bug_when>
    <thetext>Created attachment 462323
REVERT of 254036@main

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 revert will be successful.  This process takes approximately 15 minutes.

If you would like to land the revert 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>1898290</commentid>
    <comment_count>2</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-09-13 10:59:26 -0700</bug_when>
    <thetext>Committed 254448@main (83af76f15dbe): &lt;https://commits.webkit.org/254448@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 462323.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1898291</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-09-13 11:00:24 -0700</bug_when>
    <thetext>&lt;rdar://problem/99879639&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>462323</attachid>
            <date>2022-09-13 10:56:08 -0700</date>
            <delta_ts>2022-09-13 10:59:27 -0700</delta_ts>
            <desc>REVERT of 254036@main</desc>
            <filename>bug-245151-20220913105608.patch</filename>
            <type>text/plain</type>
            <size>311675</size>
            <attacher name="WebKit Commit Bot">commit-queue</attacher>
            
              <data encoding="base64">RnJvbSA2ZDg1MmEzYTMyMzZiNDQ0MDE0OTcyZjUzZWFlOGFhYTQyZmMzY2U0IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBDb21taXQgUXVldWUgPGNvbW1pdC1xdWV1ZUB3ZWJraXQub3Jn
PgpEYXRlOiBUdWUsIDEzIFNlcCAyMDIyIDEwOjU2OjA2IC0wNzAwClN1YmplY3Q6IFtQQVRDSF0g
VW5yZXZpZXdlZCwgcmV2ZXJ0aW5nIHIyNTQwMzZAbWFpbi4KIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yNDUxNTEKCkNhdXNlZCBHQyBjcmFzaAoKUmV2ZXJ0ZWQgY2hh
bmdlc2V0OgoKIltXZWJJRExdIEVhZ2VybHkgYWxsb2NhdGUgZWxlbWVudCB3cmFwcGVycyBvbnRv
IGEgYnV0dGVyZmx5IHN0b3JhZ2Ugb2YgYSBzdGF0aWMgTm9kZUxpc3QiCmh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzQ1MzgKaHR0cHM6Ly9jb21taXRzLndlYmtpdC5v
cmcvMjU0MDM2QG1haW4KLS0tCiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQg
ICAgICAgICAgfCAgIDIgLQogLi4uL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2ogIHwgICA0ICstCiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQWNjZXNzQ2Fz
ZS5jcHAgfCAgMTUgLS0KIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9BY2Nlc3NDYXNl
LmggICB8ICAgMSAtCiAuLi5pdmVJbmZlcnJlZFByb3BlcnR5VmFsdWVXYXRjaHBvaW50QmFzZS5j
cHAgfCAgIDIgLQogLi4ucHRpdmVJbmZlcnJlZFByb3BlcnR5VmFsdWVXYXRjaHBvaW50QmFzZS5o
IHwgICA0ICstCiAuLi4vSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQXJyYXlQcm9maWxlLmNwcCAg
fCAgIDUgKy0KIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9BcnJheVByb2ZpbGUuaCB8
ICAgNiAtCiAuLi4vYnl0ZWNvZGUvUG9seW1vcnBoaWNBY2Nlc3MuY3BwICAgICAgICAgICAgfCAg
IDMgLQogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1JlcGF0Y2guY3BwICAgIHwgICAz
IC0KIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9XYXRjaHBvaW50LmNwcCB8ICAgMiAt
CiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvV2F0Y2hwb2ludC5oICAgfCAgIDggKy0K
IC4uLi9kZmcvREZHQWJzdHJhY3RJbnRlcnByZXRlcklubGluZXMuaCAgICAgICB8ICAgNSAtCiBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0FycmF5TW9kZS5jcHAgICAgfCAgNTAgKystLS0K
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQXJyYXlNb2RlLmggICAgICB8ICAyMiArLS0K
IC4uLi9kZmcvREZHQXJyYXlpZnlTbG93UGF0aEdlbmVyYXRvci5oICAgICAgICB8ICAgMiAtCiAu
Li4vSmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcCAgfCAgNTYgKystLS0t
CiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Nsb2JiZXJpemUuaCAgICAgfCAgIDcgKy0K
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRml4dXBQaGFzZS5jcHAgICB8ICA0MSArLS0t
CiAuLi4vSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcCAgfCAgMTQgKy0K
IC4uLi9kZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHAgICAgICAgICAgICB8ICAgMyArLQog
Li4uL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcCAgICAgICAgICAgICAgIHwgICA1ICstCiAu
Li4vZnRsL0ZUTEFic3RyYWN0SGVhcFJlcG9zaXRvcnkuaCAgICAgICAgICAgfCAgIDEgLQogU291
cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvQjMuY3BwIHwgIDI2ICstLQogU291
cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvSGVhcENlbGwuaCAgICAgICAgIHwgICAyICstCiAuLi4v
SmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMuY3BwICAgfCAgIDcgLQogLi4uL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtICAgICAgICAgICAgIHwgIDIyICstLQogLi4uL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIzMl82NC5hc20gICAgICAgIHwgICA0ICstCiAuLi4vbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbSAgICAgICAgICAgfCAgIDQgKy0KIC4uLi9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0FycmF5UHJvdG90eXBlLmNwcCB8ICAyNCArKy0KIC4uLi9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0luZGV4aW5nVHlwZS5jcHAgICB8ICAgMyAtCiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9JbmRleGluZ1R5cGUuaCAgfCAgNjkgKysrLS0tLQogU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheS5jcHAgICAgIHwgICA4ICstCiAuLi4vSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAgfCAgMTAgLQogLi4uL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaCAgIHwgIDE2IC0tCiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5jcHAgICAgfCAgMzYgKystLQogU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuaCAgICAgIHwgIDExICstCiAuLi4vSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU09iamVjdElubGluZXMuaCAgfCAgMTUgLS0KIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTVHlwZUluZm8uaCAgICB8ICAgMiAtCiAuLi4vT2JqZWN0UHJv
cGVydHlDaGFuZ2VBZGFwdGl2ZVdhdGNocG9pbnQuaCAgfCAgIDIgKy0KIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5oICAgICB8ICAgMiArLQogLi4uL3J1bnRpbWUvU3Ry
dWN0dXJlVHJhbnNpdGlvblRhYmxlLmggICAgICAgIHwgICAyICstCiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvdG9vbHMvSlNEb2xsYXJWTS5jcHAgICAgfCAxNzYgLS0tLS0tLS0tLS0tLS0tLS0tCiAu
Li4vV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogfCAgIDIgKy0KIC4u
Li9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93QmFzZS5jcHAgICB8ICAzMiAtLS0tCiBT
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2UuaCAgfCAgIDYgLQogU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XcmFwcGVyLmNwcCAgIHwgICA1ICstCiBTb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdyYXBwZXIuaCAgICAgfCAgIDYgKy0KIC4uLi9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTTm9kZUxpc3RDdXN0b20uY3BwICB8ICA5NiAtLS0tLS0tLS0t
CiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU05vZGVMaXN0Q3VzdG9tLmggfCAgMzEgLS0t
CiAuLi4vYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0gICAgICAgfCAgIDYgKy0K
IC4uLi9zY3JpcHRzL3Rlc3QvSlMvSlNFeHBvc2VkU3Rhci5jcHAgICAgICAgICB8ICAgNCArLQog
Li4uL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU0V4cG9zZWRTdGFyLmggIHwgICAyICstCiAu
Li4vdGVzdC9KUy9KU0V4cG9zZWRUb1dvcmtlckFuZFdpbmRvdy5jcHAgICAgfCAgIDQgKy0KIC4u
Li90ZXN0L0pTL0pTRXhwb3NlZFRvV29ya2VyQW5kV2luZG93LmggICAgICB8ICAgMiArLQogLi4u
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDRVJlYWN0aW9ucy5jcHAgICAgIHwgICA0ICstCiAuLi4v
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdENFUmVhY3Rpb25zLmggICAgICAgfCAgIDIgKy0KIC4uLi90
ZXN0L0pTL0pTVGVzdENFUmVhY3Rpb25zU3RyaW5naWZpZXIuY3BwICB8ICAgNCArLQogLi4uL3Rl
c3QvSlMvSlNUZXN0Q0VSZWFjdGlvbnNTdHJpbmdpZmllci5oICAgIHwgICAyICstCiAuLi4vc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdENhbGxUcmFjZXIuY3BwICAgICAgfCAgIDQgKy0KIC4uLi9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0Q2FsbFRyYWNlci5oICAgICAgICB8ICAgMiArLQogLi4uL0pTVGVz
dENsYXNzV2l0aEpTQnVpbHRpbkNvbnN0cnVjdG9yLmNwcCAgIHwgICA0ICstCiAuLi4vSlMvSlNU
ZXN0Q2xhc3NXaXRoSlNCdWlsdGluQ29uc3RydWN0b3IuaCAgfCAgIDIgKy0KIC4uLi90ZXN0L0pT
L0pTVGVzdENvbmRpdGlvbmFsSW5jbHVkZXMuY3BwICAgICB8ICAgNCArLQogLi4uL3Rlc3QvSlMv
SlNUZXN0Q29uZGl0aW9uYWxJbmNsdWRlcy5oICAgICAgIHwgICAyICstCiAuLi4vdGVzdC9KUy9K
U1Rlc3RDb25kaXRpb25hbGx5UmVhZFdyaXRlLmNwcCAgfCAgIDQgKy0KIC4uLi90ZXN0L0pTL0pT
VGVzdENvbmRpdGlvbmFsbHlSZWFkV3JpdGUuaCAgICB8ICAgMiArLQogLi4uL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3RET01KSVQuY3BwIHwgICA0ICstCiAuLi4vYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdERPTUpJVC5oICAgfCAgIDIgKy0KIC4uLi9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0RGVmYXVsdFRvSlNPTi5jcHAgICB8ICAgNCArLQogLi4uL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3REZWZhdWx0VG9KU09OLmggICAgIHwgICAyICstCiAuLi4vSlNUZXN0RGVmYXVsdFRv
SlNPTkZpbHRlcmVkQnlFeHBvc2VkLmNwcCAgfCAgIDQgKy0KIC4uLi9KUy9KU1Rlc3REZWZhdWx0
VG9KU09ORmlsdGVyZWRCeUV4cG9zZWQuaCB8ICAgMiArLQogLi4uSlNUZXN0RGVmYXVsdFRvSlNP
TkluZGlyZWN0SW5oZXJpdGFuY2UuY3BwIHwgICA0ICstCiAuLi4vSlNUZXN0RGVmYXVsdFRvSlNP
TkluZGlyZWN0SW5oZXJpdGFuY2UuaCAgfCAgIDIgKy0KIC4uLi90ZXN0L0pTL0pTVGVzdERlZmF1
bHRUb0pTT05Jbmhlcml0LmNwcCAgICB8ICAgNCArLQogLi4uL3Rlc3QvSlMvSlNUZXN0RGVmYXVs
dFRvSlNPTkluaGVyaXQuaCAgICAgIHwgICAyICstCiAuLi4vSlMvSlNUZXN0RGVmYXVsdFRvSlNP
TkluaGVyaXRGaW5hbC5jcHAgICAgfCAgIDQgKy0KIC4uLi90ZXN0L0pTL0pTVGVzdERlZmF1bHRU
b0pTT05Jbmhlcml0RmluYWwuaCB8ICAgMiArLQogLi4uVGVzdERlbGVnYXRlVG9TaGFyZWRTeW50
aGV0aWNBdHRyaWJ1dGUuY3BwIHwgICA0ICstCiAuLi5KU1Rlc3REZWxlZ2F0ZVRvU2hhcmVkU3lu
dGhldGljQXR0cmlidXRlLmggfCAgIDIgKy0KIC4uLi9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RG9t
YWluU2VjdXJpdHkuY3BwICB8ICAgNCArLQogLi4uL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3REb21h
aW5TZWN1cml0eS5oICAgIHwgICAyICstCiAuLi4vdGVzdC9KUy9KU1Rlc3RFbmFibGVkQnlTZXR0
aW5nLmNwcCAgICAgICAgfCAgIDQgKy0KIC4uLi9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RW5hYmxl
ZEJ5U2V0dGluZy5oICB8ICAgMiArLQogLi4uL3Rlc3QvSlMvSlNUZXN0RW5hYmxlZEZvckNvbnRl
eHQuY3BwICAgICAgIHwgICA0ICstCiAuLi4vc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEVuYWJsZWRG
b3JDb250ZXh0LmggfCAgIDIgKy0KIC4uLi90ZXN0L0pTL0pTVGVzdEV2ZW50Q29uc3RydWN0b3Iu
Y3BwICAgICAgICB8ICAgNCArLQogLi4uL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFdmVudENvbnN0
cnVjdG9yLmggIHwgICAyICstCiAuLi4vc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEV2ZW50VGFyZ2V0
LmNwcCAgICAgfCAgIDQgKy0KIC4uLi9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXZlbnRUYXJnZXQu
aCAgICAgICB8ICAgMiArLQogLi4uL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFeGNlcHRpb24uY3Bw
ICAgICAgIHwgICA0ICstCiAuLi4vc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEV4Y2VwdGlvbi5oICAg
ICAgICAgfCAgIDIgKy0KIC4uLi90ZXN0L0pTL0pTVGVzdEdlbmVyYXRlQWRkT3BhcXVlUm9vdC5j
cHAgICB8ICAgNCArLQogLi4uL3Rlc3QvSlMvSlNUZXN0R2VuZXJhdGVBZGRPcGFxdWVSb290Lmgg
ICAgIHwgICAyICstCiAuLi4vdGVzdC9KUy9KU1Rlc3RHZW5lcmF0ZUlzUmVhY2hhYmxlLmNwcCAg
ICAgfCAgIDQgKy0KIC4uLi90ZXN0L0pTL0pTVGVzdEdlbmVyYXRlSXNSZWFjaGFibGUuaCAgICAg
ICB8ICAgMiArLQogLi4uL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RHbG9iYWxPYmplY3QuY3BwICAg
IHwgICA0ICstCiAuLi4vc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEdsb2JhbE9iamVjdC5oICAgICAg
fCAgIDIgKy0KIC4uLi9KUy9KU1Rlc3RJbmRleGVkU2V0dGVyTm9JZGVudGlmaWVyLmNwcCAgICB8
ICAgNCArLQogLi4uL3Rlc3QvSlMvSlNUZXN0SW5kZXhlZFNldHRlck5vSWRlbnRpZmllci5oIHwg
ICAyICstCiAuLi4vSlNUZXN0SW5kZXhlZFNldHRlclRocm93aW5nRXhjZXB0aW9uLmNwcCAgfCAg
IDQgKy0KIC4uLi9KUy9KU1Rlc3RJbmRleGVkU2V0dGVyVGhyb3dpbmdFeGNlcHRpb24uaCB8ICAg
MiArLQogLi4uL0pTL0pTVGVzdEluZGV4ZWRTZXR0ZXJXaXRoSWRlbnRpZmllci5jcHAgIHwgICA0
ICstCiAuLi4vSlMvSlNUZXN0SW5kZXhlZFNldHRlcldpdGhJZGVudGlmaWVyLmggICAgfCAgIDIg
Ky0KIC4uLi9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW50ZXJmYWNlLmNwcCAgICAgICB8ICAgNCAr
LQogLi4uL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJbnRlcmZhY2UuaCAgICAgICAgIHwgICAyICst
CiAuLi4vSlMvSlNUZXN0SW50ZXJmYWNlTGVhZGluZ1VuZGVyc2NvcmUuY3BwICAgfCAgIDQgKy0K
IC4uLi9KUy9KU1Rlc3RJbnRlcmZhY2VMZWFkaW5nVW5kZXJzY29yZS5oICAgICB8ICAgMiArLQog
Li4uL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJdGVyYWJsZS5jcHAgICAgICAgIHwgICA0ICstCiAu
Li4vYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEl0ZXJhYmxlLmggfCAgIDIgKy0KIC4u
Li90ZXN0L0pTL0pTVGVzdExlZ2FjeUZhY3RvcnlGdW5jdGlvbi5jcHAgICB8ICAgNCArLQogLi4u
L3Rlc3QvSlMvSlNUZXN0TGVnYWN5RmFjdG9yeUZ1bmN0aW9uLmggICAgIHwgICAyICstCiAuLi4v
dGVzdC9KUy9KU1Rlc3RMZWdhY3lOb0ludGVyZmFjZU9iamVjdC5jcHAgfCAgIDQgKy0KIC4uLi90
ZXN0L0pTL0pTVGVzdExlZ2FjeU5vSW50ZXJmYWNlT2JqZWN0LmggICB8ICAgMiArLQogLi4uL3Rl
c3QvSlMvSlNUZXN0TGVnYWN5T3ZlcnJpZGVCdWlsdElucy5jcHAgIHwgICA0ICstCiAuLi4vdGVz
dC9KUy9KU1Rlc3RMZWdhY3lPdmVycmlkZUJ1aWx0SW5zLmggICAgfCAgIDIgKy0KIC4uLi9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0TWFwTGlrZS5jcHAgICAgICAgICB8ICAgNCArLQogLi4uL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RNYXBMaWtlLmggIHwgICAyICstCiAuLi4vSlNUZXN0
TWFwTGlrZVdpdGhPdmVycmlkZGVuT3BlcmF0aW9ucy5jcHAgfCAgIDQgKy0KIC4uLi9KU1Rlc3RN
YXBMaWtlV2l0aE92ZXJyaWRkZW5PcGVyYXRpb25zLmggICB8ICAgMiArLQogLi4uU1Rlc3ROYW1l
ZEFuZEluZGV4ZWRTZXR0ZXJOb0lkZW50aWZpZXIuY3BwIHwgICA0ICstCiAuLi4vSlNUZXN0TmFt
ZWRBbmRJbmRleGVkU2V0dGVyTm9JZGVudGlmaWVyLmggfCAgIDIgKy0KIC4uLk5hbWVkQW5kSW5k
ZXhlZFNldHRlclRocm93aW5nRXhjZXB0aW9uLmNwcCB8ICAgNCArLQogLi4uc3ROYW1lZEFuZElu
ZGV4ZWRTZXR0ZXJUaHJvd2luZ0V4Y2VwdGlvbi5oIHwgICAyICstCiAuLi5lc3ROYW1lZEFuZElu
ZGV4ZWRTZXR0ZXJXaXRoSWRlbnRpZmllci5jcHAgfCAgIDQgKy0KIC4uLlNUZXN0TmFtZWRBbmRJ
bmRleGVkU2V0dGVyV2l0aElkZW50aWZpZXIuaCB8ICAgMiArLQogLi4uL0pTL0pTVGVzdE5hbWVk
RGVsZXRlck5vSWRlbnRpZmllci5jcHAgICAgIHwgICA0ICstCiAuLi4vdGVzdC9KUy9KU1Rlc3RO
YW1lZERlbGV0ZXJOb0lkZW50aWZpZXIuaCAgfCAgIDIgKy0KIC4uLi9KU1Rlc3ROYW1lZERlbGV0
ZXJUaHJvd2luZ0V4Y2VwdGlvbi5jcHAgICB8ICAgNCArLQogLi4uL0pTL0pTVGVzdE5hbWVkRGVs
ZXRlclRocm93aW5nRXhjZXB0aW9uLmggIHwgICAyICstCiAuLi4vSlMvSlNUZXN0TmFtZWREZWxl
dGVyV2l0aElkZW50aWZpZXIuY3BwICAgfCAgIDQgKy0KIC4uLi9KUy9KU1Rlc3ROYW1lZERlbGV0
ZXJXaXRoSWRlbnRpZmllci5oICAgICB8ICAgMiArLQogLi4uL0pTVGVzdE5hbWVkRGVsZXRlcldp
dGhJbmRleGVkR2V0dGVyLmNwcCAgIHwgICA0ICstCiAuLi4vSlMvSlNUZXN0TmFtZWREZWxldGVy
V2l0aEluZGV4ZWRHZXR0ZXIuaCAgfCAgIDIgKy0KIC4uLi90ZXN0L0pTL0pTVGVzdE5hbWVkR2V0
dGVyQ2FsbFdpdGguY3BwICAgICB8ICAgNCArLQogLi4uL3Rlc3QvSlMvSlNUZXN0TmFtZWRHZXR0
ZXJDYWxsV2l0aC5oICAgICAgIHwgICAyICstCiAuLi4vdGVzdC9KUy9KU1Rlc3ROYW1lZEdldHRl
ck5vSWRlbnRpZmllci5jcHAgfCAgIDQgKy0KIC4uLi90ZXN0L0pTL0pTVGVzdE5hbWVkR2V0dGVy
Tm9JZGVudGlmaWVyLmggICB8ICAgMiArLQogLi4uL0pTL0pTVGVzdE5hbWVkR2V0dGVyV2l0aElk
ZW50aWZpZXIuY3BwICAgIHwgICA0ICstCiAuLi4vdGVzdC9KUy9KU1Rlc3ROYW1lZEdldHRlcldp
dGhJZGVudGlmaWVyLmggfCAgIDIgKy0KIC4uLi90ZXN0L0pTL0pTVGVzdE5hbWVkU2V0dGVyTm9J
ZGVudGlmaWVyLmNwcCB8ICAgNCArLQogLi4uL3Rlc3QvSlMvSlNUZXN0TmFtZWRTZXR0ZXJOb0lk
ZW50aWZpZXIuaCAgIHwgICAyICstCiAuLi4vSlMvSlNUZXN0TmFtZWRTZXR0ZXJUaHJvd2luZ0V4
Y2VwdGlvbi5jcHAgfCAgIDQgKy0KIC4uLi9KUy9KU1Rlc3ROYW1lZFNldHRlclRocm93aW5nRXhj
ZXB0aW9uLmggICB8ICAgMiArLQogLi4uL0pTL0pTVGVzdE5hbWVkU2V0dGVyV2l0aElkZW50aWZp
ZXIuY3BwICAgIHwgICA0ICstCiAuLi4vdGVzdC9KUy9KU1Rlc3ROYW1lZFNldHRlcldpdGhJZGVu
dGlmaWVyLmggfCAgIDIgKy0KIC4uLi9KUy9KU1Rlc3ROYW1lZFNldHRlcldpdGhJbmRleGVkR2V0
dGVyLmNwcCB8ICAgNCArLQogLi4uL0pTL0pTVGVzdE5hbWVkU2V0dGVyV2l0aEluZGV4ZWRHZXR0
ZXIuaCAgIHwgICAyICstCiAuLi50TmFtZWRTZXR0ZXJXaXRoSW5kZXhlZEdldHRlckFuZFNldHRl
ci5jcHAgfCAgIDQgKy0KIC4uLmVzdE5hbWVkU2V0dGVyV2l0aEluZGV4ZWRHZXR0ZXJBbmRTZXR0
ZXIuaCB8ICAgMiArLQogLi4udE5hbWVkU2V0dGVyV2l0aExlZ2FjeU92ZXJyaWRlQnVpbHRJbnMu
Y3BwIHwgICA0ICstCiAuLi5lc3ROYW1lZFNldHRlcldpdGhMZWdhY3lPdmVycmlkZUJ1aWx0SW5z
LmggfCAgIDIgKy0KIC4uLmRTZXR0ZXJXaXRoTGVnYWN5VW5mb3JnZWFibGVQcm9wZXJ0aWVzLmNw
cCB8ICAgNCArLQogLi4ubWVkU2V0dGVyV2l0aExlZ2FjeVVuZm9yZ2VhYmxlUHJvcGVydGllcy5o
IHwgICAyICstCiAuLi5ibGVQcm9wZXJ0aWVzQW5kTGVnYWN5T3ZlcnJpZGVCdWlsdElucy5jcHAg
fCAgIDQgKy0KIC4uLmVhYmxlUHJvcGVydGllc0FuZExlZ2FjeU92ZXJyaWRlQnVpbHRJbnMuaCB8
ICAgMiArLQogLi4uL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROb2RlLmNwcCAgIHwg
ICA0ICstCiAuLi4vYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5vZGUuaCAgICAgfCAg
IDIgKy0KIC4uLi9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcCAgICB8ICAg
NCArLQogLi4uL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouaCAgICAgIHwgICAy
ICstCiAuLi4vdGVzdC9KUy9KU1Rlc3RPcGVyYXRpb25Db25kaXRpb25hbC5jcHAgICAgfCAgIDQg
Ky0KIC4uLi90ZXN0L0pTL0pTVGVzdE9wZXJhdGlvbkNvbmRpdGlvbmFsLmggICAgICB8ICAgMiAr
LQogLi4uL3Rlc3QvSlMvSlNUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9ycy5jcHAgIHwgICA0ICst
CiAuLi4vdGVzdC9KUy9KU1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzLmggICAgfCAgIDIgKy0K
IC4uLlRlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzV2l0aFNlcXVlbmNlLmNwcCB8ICAgNCArLQog
Li4uSlNUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9yc1dpdGhTZXF1ZW5jZS5oIHwgICAyICstCiAu
Li4vc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFBsdWdpbkludGVyZmFjZS5jcHAgfCAgIDQgKy0KIC4u
Li9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0UGx1Z2luSW50ZXJmYWNlLmggICB8ICAgMiArLQogLi4u
L3Rlc3QvSlMvSlNUZXN0UHJvbWlzZVJlamVjdGlvbkV2ZW50LmNwcCAgIHwgICA0ICstCiAuLi4v
dGVzdC9KUy9KU1Rlc3RQcm9taXNlUmVqZWN0aW9uRXZlbnQuaCAgICAgfCAgIDIgKy0KIC4uLi9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0UmVhZE9ubHlNYXBMaWtlLmNwcCB8ICAgNCArLQogLi4uL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3RSZWFkT25seU1hcExpa2UuaCAgIHwgICAyICstCiAuLi4vc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdFJlYWRPbmx5U2V0TGlrZS5jcHAgfCAgIDQgKy0KIC4uLi9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0UmVhZE9ubHlTZXRMaWtlLmggICB8ICAgMiArLQogLi4uL3Rlc3Qv
SlMvSlNUZXN0UmVwb3J0RXh0cmFNZW1vcnlDb3N0LmNwcCAgIHwgICA0ICstCiAuLi4vdGVzdC9K
Uy9KU1Rlc3RSZXBvcnRFeHRyYU1lbW9yeUNvc3QuaCAgICAgfCAgIDIgKy0KIC4uLi9KU1Rlc3RT
ZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UuY3BwICB8ICAgNCArLQogLi4uL0pTL0pTVGVz
dFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZS5oIHwgICAyICstCiAuLi4vc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdFNldExpa2UuY3BwICAgICAgICAgfCAgIDQgKy0KIC4uLi9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0U2V0TGlrZS5oICB8ICAgMiArLQogLi4uL0pTVGVzdFNldExp
a2VXaXRoT3ZlcnJpZGRlbk9wZXJhdGlvbnMuY3BwIHwgICA0ICstCiAuLi4vSlNUZXN0U2V0TGlr
ZVdpdGhPdmVycmlkZGVuT3BlcmF0aW9ucy5oICAgfCAgIDIgKy0KIC4uLi9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0U3RyaW5naWZpZXIuY3BwICAgICB8ICAgNCArLQogLi4uL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3RTdHJpbmdpZmllci5oICAgICAgIHwgICAyICstCiAuLi4vSlNUZXN0U3RyaW5naWZp
ZXJBbm9ueW1vdXNPcGVyYXRpb24uY3BwICAgfCAgIDQgKy0KIC4uLi9KUy9KU1Rlc3RTdHJpbmdp
ZmllckFub255bW91c09wZXJhdGlvbi5oICB8ICAgMiArLQogLi4uL0pTL0pTVGVzdFN0cmluZ2lm
aWVyTmFtZWRPcGVyYXRpb24uY3BwICAgIHwgICA0ICstCiAuLi4vdGVzdC9KUy9KU1Rlc3RTdHJp
bmdpZmllck5hbWVkT3BlcmF0aW9uLmggfCAgIDIgKy0KIC4uLlNUZXN0U3RyaW5naWZpZXJPcGVy
YXRpb25JbXBsZW1lbnRlZEFzLmNwcCB8ICAgNCArLQogLi4uL0pTVGVzdFN0cmluZ2lmaWVyT3Bl
cmF0aW9uSW1wbGVtZW50ZWRBcy5oIHwgICAyICstCiAuLi5TVGVzdFN0cmluZ2lmaWVyT3BlcmF0
aW9uTmFtZWRUb1N0cmluZy5jcHAgfCAgIDQgKy0KIC4uLi9KU1Rlc3RTdHJpbmdpZmllck9wZXJh
dGlvbk5hbWVkVG9TdHJpbmcuaCB8ICAgMiArLQogLi4uL0pTL0pTVGVzdFN0cmluZ2lmaWVyUmVh
ZE9ubHlBdHRyaWJ1dGUuY3BwIHwgICA0ICstCiAuLi4vSlMvSlNUZXN0U3RyaW5naWZpZXJSZWFk
T25seUF0dHJpYnV0ZS5oICAgfCAgIDIgKy0KIC4uLi9KU1Rlc3RTdHJpbmdpZmllclJlYWRXcml0
ZUF0dHJpYnV0ZS5jcHAgICB8ICAgNCArLQogLi4uL0pTL0pTVGVzdFN0cmluZ2lmaWVyUmVhZFdy
aXRlQXR0cmlidXRlLmggIHwgICAyICstCiAuLi4vc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFRhZ2dl
ZFdyYXBwZXIuY3BwICAgfCAgIDQgKy0KIC4uLi9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0VGFnZ2Vk
V3JhcHBlci5oICAgICB8ICAgMiArLQogLi4uL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RUeXBlZGVm
cy5jcHAgICAgICAgIHwgICA0ICstCiAuLi4vYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVz
dFR5cGVkZWZzLmggfCAgIDIgKy0KIFNvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlTGlzdC5oICAgICAg
ICAgICAgICAgICB8ICAgMSAtCiBTb3VyY2UvV2ViQ29yZS9kb20vU3RhdGljTm9kZUxpc3QuY3Bw
ICAgICAgICAgfCAgMTAgLQogU291cmNlL1dlYkNvcmUvZG9tL1N0YXRpY05vZGVMaXN0LmggICAg
ICAgICAgIHwgICA0IC0KIC4uLmxpc3Qtc3RhdGljLWhhdmluZy1hLWJhZC10aW1lLWV4cGVjdGVk
LnR4dCB8ICAxMCAtCiAuLi4vbm9kZWxpc3Qtc3RhdGljLWhhdmluZy1hLWJhZC10aW1lLmh0bWwg
ICAgfCAgMjMgLS0tCiAuLi5hdGljLWxlbmd0aC1nZXR0ZXItdGFtcGVyZWQtMS1leHBlY3RlZC50
eHQgfCAgIDMgLQogLi4uZUxpc3Qtc3RhdGljLWxlbmd0aC1nZXR0ZXItdGFtcGVyZWQtMS5odG1s
IHwgIDIxIC0tLQogLi4uYXRpYy1sZW5ndGgtZ2V0dGVyLXRhbXBlcmVkLTItZXhwZWN0ZWQudHh0
IHwgICAzIC0KIC4uLmVMaXN0LXN0YXRpYy1sZW5ndGgtZ2V0dGVyLXRhbXBlcmVkLTIuaHRtbCB8
ICAyMSAtLS0KIC4uLmF0aWMtbGVuZ3RoLWdldHRlci10YW1wZXJlZC0zLWV4cGVjdGVkLnR4dCB8
ICAgMyAtCiAuLi5lTGlzdC1zdGF0aWMtbGVuZ3RoLWdldHRlci10YW1wZXJlZC0zLmh0bWwgfCAg
MjEgLS0tCiAuLi5ndGgtZ2V0dGVyLXRhbXBlcmVkLWluZGV4T2YtMS1leHBlY3RlZC50eHQgfCAg
IDMgLQogLi4uYXRpYy1sZW5ndGgtZ2V0dGVyLXRhbXBlcmVkLWluZGV4T2YtMS5odG1sIHwgIDIx
IC0tLQogLi4uZ3RoLWdldHRlci10YW1wZXJlZC1pbmRleE9mLTItZXhwZWN0ZWQudHh0IHwgICAz
IC0KIC4uLmF0aWMtbGVuZ3RoLWdldHRlci10YW1wZXJlZC1pbmRleE9mLTIuaHRtbCB8ICAyMSAt
LS0KIC4uLmd0aC1nZXR0ZXItdGFtcGVyZWQtaW5kZXhPZi0zLWV4cGVjdGVkLnR4dCB8ICAgMyAt
CiAuLi5hdGljLWxlbmd0aC1nZXR0ZXItdGFtcGVyZWQtaW5kZXhPZi0zLmh0bWwgfCAgMjEgLS0t
CiAuLi4vTm9kZUxpc3Qtc3RhdGljLWxlbmd0aC10YW1wZXJlZC5qcyAgICAgICAgfCAgNDYgLS0t
LS0KIC5naXRpZ25vcmUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMiAt
CiAuLi50eXBlLWluZGV4T2YtY29udGlndW91cy1hbHdheXMtc2xvdy1wdXQuanMgfCAgMTUgLS0K
IC4uLi9hcnJheS1wcm90b3R5cGUtaW5kZXhPZi1jb250aWd1b3VzLmpzICAgICB8ICAxNSAtLQog
Li4udG90eXBlLXNsaWNlLWNvbnRpZ3VvdXMtYWx3YXlzLXNsb3ctcHV0LmpzIHwgIDE2IC0tCiAu
Li4vYXJyYXktcHJvdG90eXBlLXNsaWNlLWNvbnRpZ3VvdXMuanMgICAgICAgfCAgMTYgLS0KIC4u
Li9nZXQtYnktdmFsLWNvbnRpZ3VvdXMtYWx3YXlzLXNsb3ctcHV0LmpzICB8ICAxNyAtLQogLi4u
L21pY3JvYmVuY2htYXJrcy9nZXQtYnktdmFsLWNvbnRpZ3VvdXMuanMgIHwgIDE3IC0tCiAuLi4t
c2xvdy1wdXQtY29udGlndW91cy10by1hcnJheS1zdG9yYWdlLTEuanMgfCAgMjUgLS0tCiAuLi4t
c2xvdy1wdXQtY29udGlndW91cy10by1hcnJheS1zdG9yYWdlLTIuanMgfCAgMjUgLS0tCiAuLi4t
c2xvdy1wdXQtY29udGlndW91cy10by1hcnJheS1zdG9yYWdlLTMuanMgfCAgMjUgLS0tCiAuLi4t
c2xvdy1wdXQtY29udGlndW91cy10by1hcnJheS1zdG9yYWdlLTQuanMgfCAgMjUgLS0tCiAuLi5y
cmF5LXJldmVyc2UtY29udGlndW91cy1hbHdheXMtc2xvdy1wdXQuanMgfCAgIDkgLQogLi4ueS12
YWwtYWx3YXlzLXNsb3ctcHV0LWNvbnRpZ3VvdXMtdHJpY2t5LmpzIHwgIDIxIC0tLQogLi4uL2Zv
ci1pbi1hbHdheXMtc2xvdy1wdXQtY29udGlndW91cy5qcyAgICAgIHwgIDE1IC0tCiAuLi55LXZh
bC1hbHdheXMtc2xvdy1wdXQtY29udGlndW91cy10cmlja3kuanMgfCAgMTkgLS0KIC4uLnktdmFs
LWFsd2F5cy1zbG93LXB1dC1jb250aWd1b3VzLXRyaWNreS5qcyB8ICAyMSAtLS0KIDIzNSBmaWxl
cyBjaGFuZ2VkLCAzNzcgaW5zZXJ0aW9ucygrKSwgMTQ4MCBkZWxldGlvbnMoLSkKIGRlbGV0ZSBt
b2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9mYXN0L2RvbS9Ob2RlTGlzdC9ub2RlbGlzdC1zdGF0aWMt
aGF2aW5nLWEtYmFkLXRpbWUtZXhwZWN0ZWQudHh0CiBkZWxldGUgbW9kZSAxMDA2NDQgTGF5b3V0
VGVzdHMvZmFzdC9kb20vTm9kZUxpc3Qvbm9kZWxpc3Qtc3RhdGljLWhhdmluZy1hLWJhZC10aW1l
Lmh0bWwKIGRlbGV0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2RvbS9ub2Rlcy9Ob2RlTGlzdC1zdGF0aWMtbGVuZ3RoLWdldHRlci10YW1w
ZXJlZC0xLWV4cGVjdGVkLnR4dAogZGVsZXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL25vZGVzL05vZGVMaXN0LXN0YXRpYy1sZW5n
dGgtZ2V0dGVyLXRhbXBlcmVkLTEuaHRtbAogZGVsZXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL25vZGVzL05vZGVMaXN0LXN0YXRp
Yy1sZW5ndGgtZ2V0dGVyLXRhbXBlcmVkLTItZXhwZWN0ZWQudHh0CiBkZWxldGUgbW9kZSAxMDA2
NDQgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vbm9kZXMv
Tm9kZUxpc3Qtc3RhdGljLWxlbmd0aC1nZXR0ZXItdGFtcGVyZWQtMi5odG1sCiBkZWxldGUgbW9k
ZSAxMDA2NDQgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20v
bm9kZXMvTm9kZUxpc3Qtc3RhdGljLWxlbmd0aC1nZXR0ZXItdGFtcGVyZWQtMy1leHBlY3RlZC50
eHQKIGRlbGV0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2RvbS9ub2Rlcy9Ob2RlTGlzdC1zdGF0aWMtbGVuZ3RoLWdldHRlci10YW1wZXJl
ZC0zLmh0bWwKIGRlbGV0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2RvbS9ub2Rlcy9Ob2RlTGlzdC1zdGF0aWMtbGVuZ3RoLWdldHRlci10
YW1wZXJlZC1pbmRleE9mLTEtZXhwZWN0ZWQudHh0CiBkZWxldGUgbW9kZSAxMDA2NDQgTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vbm9kZXMvTm9kZUxpc3Qt
c3RhdGljLWxlbmd0aC1nZXR0ZXItdGFtcGVyZWQtaW5kZXhPZi0xLmh0bWwKIGRlbGV0ZSBtb2Rl
IDEwMDY0NCBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9u
b2Rlcy9Ob2RlTGlzdC1zdGF0aWMtbGVuZ3RoLWdldHRlci10YW1wZXJlZC1pbmRleE9mLTItZXhw
ZWN0ZWQudHh0CiBkZWxldGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9kb20vbm9kZXMvTm9kZUxpc3Qtc3RhdGljLWxlbmd0aC1nZXR0ZXIt
dGFtcGVyZWQtaW5kZXhPZi0yLmh0bWwKIGRlbGV0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ub2Rlcy9Ob2RlTGlzdC1zdGF0aWMt
bGVuZ3RoLWdldHRlci10YW1wZXJlZC1pbmRleE9mLTMtZXhwZWN0ZWQudHh0CiBkZWxldGUgbW9k
ZSAxMDA2NDQgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20v
bm9kZXMvTm9kZUxpc3Qtc3RhdGljLWxlbmd0aC1nZXR0ZXItdGFtcGVyZWQtaW5kZXhPZi0zLmh0
bWwKIGRlbGV0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2RvbS9ub2Rlcy9zdXBwb3J0L05vZGVMaXN0LXN0YXRpYy1sZW5ndGgtdGFtcGVy
ZWQuanMKIGRlbGV0ZSBtb2RlIDEwMDY0NCBKU1Rlc3RzL21pY3JvYmVuY2htYXJrcy9hcnJheS1w
cm90b3R5cGUtaW5kZXhPZi1jb250aWd1b3VzLWFsd2F5cy1zbG93LXB1dC5qcwogZGVsZXRlIG1v
ZGUgMTAwNjQ0IEpTVGVzdHMvbWljcm9iZW5jaG1hcmtzL2FycmF5LXByb3RvdHlwZS1pbmRleE9m
LWNvbnRpZ3VvdXMuanMKIGRlbGV0ZSBtb2RlIDEwMDY0NCBKU1Rlc3RzL21pY3JvYmVuY2htYXJr
cy9hcnJheS1wcm90b3R5cGUtc2xpY2UtY29udGlndW91cy1hbHdheXMtc2xvdy1wdXQuanMKIGRl
bGV0ZSBtb2RlIDEwMDY0NCBKU1Rlc3RzL21pY3JvYmVuY2htYXJrcy9hcnJheS1wcm90b3R5cGUt
c2xpY2UtY29udGlndW91cy5qcwogZGVsZXRlIG1vZGUgMTAwNjQ0IEpTVGVzdHMvbWljcm9iZW5j
aG1hcmtzL2dldC1ieS12YWwtY29udGlndW91cy1hbHdheXMtc2xvdy1wdXQuanMKIGRlbGV0ZSBt
b2RlIDEwMDY0NCBKU1Rlc3RzL21pY3JvYmVuY2htYXJrcy9nZXQtYnktdmFsLWNvbnRpZ3VvdXMu
anMKIGRlbGV0ZSBtb2RlIDEwMDY0NCBKU1Rlc3RzL3N0cmVzcy9hbHdheXMtc2xvdy1wdXQtY29u
dGlndW91cy10by1hcnJheS1zdG9yYWdlLTEuanMKIGRlbGV0ZSBtb2RlIDEwMDY0NCBKU1Rlc3Rz
L3N0cmVzcy9hbHdheXMtc2xvdy1wdXQtY29udGlndW91cy10by1hcnJheS1zdG9yYWdlLTIuanMK
IGRlbGV0ZSBtb2RlIDEwMDY0NCBKU1Rlc3RzL3N0cmVzcy9hbHdheXMtc2xvdy1wdXQtY29udGln
dW91cy10by1hcnJheS1zdG9yYWdlLTMuanMKIGRlbGV0ZSBtb2RlIDEwMDY0NCBKU1Rlc3RzL3N0
cmVzcy9hbHdheXMtc2xvdy1wdXQtY29udGlndW91cy10by1hcnJheS1zdG9yYWdlLTQuanMKIGRl
bGV0ZSBtb2RlIDEwMDY0NCBKU1Rlc3RzL3N0cmVzcy9hcnJheS1yZXZlcnNlLWNvbnRpZ3VvdXMt
YWx3YXlzLXNsb3ctcHV0LmpzCiBkZWxldGUgbW9kZSAxMDA2NDQgSlNUZXN0cy9zdHJlc3MvZGVs
ZXRlLWJ5LXZhbC1hbHdheXMtc2xvdy1wdXQtY29udGlndW91cy10cmlja3kuanMKIGRlbGV0ZSBt
b2RlIDEwMDY0NCBKU1Rlc3RzL3N0cmVzcy9mb3ItaW4tYWx3YXlzLXNsb3ctcHV0LWNvbnRpZ3Vv
dXMuanMKIGRlbGV0ZSBtb2RlIDEwMDY0NCBKU1Rlc3RzL3N0cmVzcy9nZXQtYnktdmFsLWFsd2F5
cy1zbG93LXB1dC1jb250aWd1b3VzLXRyaWNreS5qcwogZGVsZXRlIG1vZGUgMTAwNjQ0IEpTVGVz
dHMvc3RyZXNzL3B1dC1ieS12YWwtYWx3YXlzLXNsb3ctcHV0LWNvbnRpZ3VvdXMtdHJpY2t5Lmpz
CgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IGY0OTE5ZTZlODUyMy4uN2Vl
NDZkNTFmYTRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50
eHQKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC02MTksNyAr
NjE5LDYgQEAgc2V0KEphdmFTY3JpcHRDb3JlX1BSSVZBVEVfRlJBTUVXT1JLX0hFQURFUlMKICAg
ICBidWlsdGlucy9CdWlsdGluTmFtZXMuaAogICAgIGJ1aWx0aW5zL0J1aWx0aW5VdGlscy5oCiAK
LSAgICBieXRlY29kZS9BZGFwdGl2ZUluZmVycmVkUHJvcGVydHlWYWx1ZVdhdGNocG9pbnRCYXNl
LmgKICAgICBieXRlY29kZS9Bcml0aFByb2ZpbGUuaAogICAgIGJ5dGVjb2RlL0FycmF5QWxsb2Nh
dGlvblByb2ZpbGUuaAogICAgIGJ5dGVjb2RlL0FycmF5UHJvZmlsZS5oCkBAIC0xMTM0LDcgKzEx
MzMsNiBAQCBzZXQoSmF2YVNjcmlwdENvcmVfUFJJVkFURV9GUkFNRVdPUktfSEVBREVSUwogICAg
IHJ1bnRpbWUvTnVtZXJpY1N0cmluZ3MuaAogICAgIHJ1bnRpbWUvT2JqZWN0Q29uc3RydWN0b3Iu
aAogICAgIHJ1bnRpbWUvT2JqZWN0SW5pdGlhbGl6YXRpb25TY29wZS5oCi0gICAgcnVudGltZS9P
YmplY3RQcm9wZXJ0eUNoYW5nZUFkYXB0aXZlV2F0Y2hwb2ludC5oCiAgICAgcnVudGltZS9PYmpl
Y3RQcm90b3R5cGUuaAogICAgIHJ1bnRpbWUvT3BlcmF0aW9ucy5oCiAgICAgcnVudGltZS9PcHRp
b25zLmgKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3Jp
cHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggZGUyMjlkNzY2ODY1Li43OGY1
ZmI0MTIyMDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9K
YXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xMDkwLDcgKzEwOTAs
NyBAQAogCQk1MzZCMzE5QzFGNzM1RTdEMDAzN0ZDMzMgLyogVW5pZmllZFNvdXJjZTEzNC5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MzZCMzE5NzFG
NzM1RTVCMDAzN0ZDMzMgLyogVW5pZmllZFNvdXJjZTEzNC5jcHAgKi87IH07CiAJCTUzNkIzMTlE
MUY3MzVFN0QwMDM3RkMzMyAvKiBVbmlmaWVkU291cmNlMTM1LmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUzNkIzMTk5MUY3MzVFNUQwMDM3RkMzMyAv
KiBVbmlmaWVkU291cmNlMTM1LmNwcCAqLzsgfTsKIAkJNTM3MDgwNkIxRkUyMzJERjAwMjk5RTQ0
IC8qIEpTQXJyYXlCdWZmZXJWaWV3LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAwRjJCNjZCQjE3QjZCNUFCMDBBN0FFM0YgLyogSlNBcnJheUJ1ZmZlclZp
ZXcuaCAqLzsgfTsKLQkJNTM3MEI0RjYxQkYyNjIwNTAwNUM0MEZDIC8qIEFkYXB0aXZlSW5mZXJy
ZWRQcm9wZXJ0eVZhbHVlV2F0Y2hwb2ludEJhc2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUzNzBCNEY0MUJGMjVFQTIwMDVDNDBGQyAvKiBBZGFwdGl2
ZUluZmVycmVkUHJvcGVydHlWYWx1ZVdhdGNocG9pbnRCYXNlLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJNTM3MEI0RjYxQkYyNjIwNTAwNUM0MEZD
IC8qIEFkYXB0aXZlSW5mZXJyZWRQcm9wZXJ0eVZhbHVlV2F0Y2hwb2ludEJhc2UuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUzNzBCNEY0MUJGMjVFQTIw
MDVDNDBGQyAvKiBBZGFwdGl2ZUluZmVycmVkUHJvcGVydHlWYWx1ZVdhdGNocG9pbnRCYXNlLmgg
Ki87IH07CiAJCTUzN0ZFRUM5Mjc0MkJEQTMwMEM5RUZFRSAvKiBTdHJ1Y3R1cmVJRC5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTM3RkVFQzgyNzQyQkRB
MzAwQzlFRkVFIC8qIFN0cnVjdHVyZUlELmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKIAkJNTM3RkVFRDAyNzQyQkRFMTAwQzlFRkVFIC8qIFN0cnVjdHVy
ZUFsaWduZWRNZW1vcnlBbGxvY2F0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDUzN0ZFRUNDMjc0MkJERTAwMEM5RUZFRSAvKiBTdHJ1Y3R1cmVBbGln
bmVkTWVtb3J5QWxsb2NhdG9yLmggKi87IH07CiAJCTUzODFCOTM5MUU2MEU5N0QwMDkwRjc5NCAv
KiBXYXNtRmF1bHRTaWduYWxIYW5kbGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA1MzgxQjkzODFFNjBFOTdEMDA5MEY3OTQgLyogV2FzbUZhdWx0U2ln
bmFsSGFuZGxlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CkBAIC0yMDEyLDcgKzIwMTIsNyBAQAogCQlFM0JGM0M1MzIzOTBEMjA1MDA4QkM3NTIgLyog
V2ViQXNzZW1ibHlHbG9iYWxDb25zdHJ1Y3Rvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gRTNCRjNDNTEyMzkwRDFGQzAwOEJDNzUyIC8qIFdlYkFzc2Vt
Ymx5R2xvYmFsQ29uc3RydWN0b3IuaCAqLzsgfTsKIAkJRTNCRkE1RDAyMUU4NTNBMTAwOUMwRUJB
IC8qIERGR0Rlc2lyZWRHbG9iYWxQcm9wZXJ0eS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gRTNCRkE1Q0QyMUU4NTNBMTAwOUMwRUJBIC8qIERGR0Rlc2ly
ZWRHbG9iYWxQcm9wZXJ0eS5oICovOyB9OwogCQlFM0JGRDBCQzFEQUY4MDhFMDA2NURFQTIgLyog
QWNjZXNzQ2FzZVNuaXBwZXRQYXJhbXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEUzQkZEMEJBMURBRjgwN0MwMDY1REVBMiAvKiBBY2Nlc3NDYXNlU25p
cHBldFBhcmFtcy5oICovOyB9OwotCQlFM0MyOTVERDFFRDJDQkRBMDBEMzAxNkYgLyogT2JqZWN0
UHJvcGVydHlDaGFuZ2VBZGFwdGl2ZVdhdGNocG9pbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzQzI5NURDMUVEMkNCQUEwMEQzMDE2RiAvKiBPYmpl
Y3RQcm9wZXJ0eUNoYW5nZUFkYXB0aXZlV2F0Y2hwb2ludC5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUUzQzI5NUREMUVEMkNCREEwMEQzMDE2RiAv
KiBPYmplY3RQcm9wZXJ0eUNoYW5nZUFkYXB0aXZlV2F0Y2hwb2ludC5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTNDMjk1REMxRUQyQ0JBQTAwRDMwMTZG
IC8qIE9iamVjdFByb3BlcnR5Q2hhbmdlQWRhcHRpdmVXYXRjaHBvaW50LmggKi87IH07CiAJCUUz
QzQxMzFEMjg5RTA4RUEwMDExNTBGOCAvKiBTeW50aGV0aWNNb2R1bGVSZWNvcmQuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzQzQxMzFDMjg5RTA4RTUw
MDExNTBGOCAvKiBTeW50aGV0aWNNb2R1bGVSZWNvcmQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlFM0M2OTRCMzIzMDI2ODc3MDA2RkJFNDIgLyog
V2FzbU9TUkVudHJ5RGF0YS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gRTNDNjk0QjEyMzAyNjg3MzAwNkZCRTQyIC8qIFdhc21PU1JFbnRyeURhdGEuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlFM0M3M0E5
MTI1QkZBNzNCMDBFRkUzMDMgLyogV2FzbVN0cmVhbWluZ1BsYW4uaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzQzczQTkwMjVCRkE3MzQwMEVGRTMwMyAv
KiBXYXNtU3RyZWFtaW5nUGxhbi5oICovOyB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2J5dGVjb2RlL0FjY2Vzc0Nhc2UuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5
dGVjb2RlL0FjY2Vzc0Nhc2UuY3BwCmluZGV4IDZlZDg0ODUyNzRkZC4uYTMxOTA0YjhlM2M5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQWNjZXNzQ2FzZS5jcHAK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0FjY2Vzc0Nhc2UuY3BwCkBAIC04
OCw3ICs4OCw2IEBAIFJlZjxBY2Nlc3NDYXNlPiBBY2Nlc3NDYXNlOjpjcmVhdGUoVk0mIHZtLCBK
U0NlbGwqIG93bmVyLCBBY2Nlc3NUeXBlIHR5cGUsIENhY2hlCiAgICAgY2FzZSBJbmRleGVkSW50
MzJMb2FkOgogICAgIGNhc2UgSW5kZXhlZERvdWJsZUxvYWQ6CiAgICAgY2FzZSBJbmRleGVkQ29u
dGlndW91c0xvYWQ6Ci0gICAgY2FzZSBJbmRleGVkQWx3YXlzU2xvd1B1dENvbnRpZ3VvdXNMb2Fk
OgogICAgIGNhc2UgSW5kZXhlZEFycmF5U3RvcmFnZUxvYWQ6CiAgICAgY2FzZSBJbmRleGVkU2Nv
cGVkQXJndW1lbnRzTG9hZDoKICAgICBjYXNlIEluZGV4ZWREaXJlY3RBcmd1bWVudHNMb2FkOgpA
QCAtMzE0LDcgKzMxMyw2IEBAIGJvb2wgQWNjZXNzQ2FzZTo6Z3VhcmRlZEJ5U3RydWN0dXJlQ2hl
Y2tTa2lwcGluZ0NvbnN0YW50SWRlbnRpZmllckNoZWNrKCkgY29uc3QKICAgICBjYXNlIEluZGV4
ZWRJbnQzMkxvYWQ6CiAgICAgY2FzZSBJbmRleGVkRG91YmxlTG9hZDoKICAgICBjYXNlIEluZGV4
ZWRDb250aWd1b3VzTG9hZDoKLSAgICBjYXNlIEluZGV4ZWRBbHdheXNTbG93UHV0Q29udGlndW91
c0xvYWQ6CiAgICAgY2FzZSBJbmRleGVkQXJyYXlTdG9yYWdlTG9hZDoKICAgICBjYXNlIEluZGV4
ZWRTY29wZWRBcmd1bWVudHNMb2FkOgogICAgIGNhc2UgSW5kZXhlZERpcmVjdEFyZ3VtZW50c0xv
YWQ6CkBAIC0zODQsNyArMzgyLDYgQEAgYm9vbCBBY2Nlc3NDYXNlOjpyZXF1aXJlc0lkZW50aWZp
ZXJOYW1lTWF0Y2goKSBjb25zdAogICAgIGNhc2UgSW5kZXhlZEludDMyTG9hZDoKICAgICBjYXNl
IEluZGV4ZWREb3VibGVMb2FkOgogICAgIGNhc2UgSW5kZXhlZENvbnRpZ3VvdXNMb2FkOgotICAg
IGNhc2UgSW5kZXhlZEFsd2F5c1Nsb3dQdXRDb250aWd1b3VzTG9hZDoKICAgICBjYXNlIEluZGV4
ZWRBcnJheVN0b3JhZ2VMb2FkOgogICAgIGNhc2UgSW5kZXhlZFNjb3BlZEFyZ3VtZW50c0xvYWQ6
CiAgICAgY2FzZSBJbmRleGVkRGlyZWN0QXJndW1lbnRzTG9hZDoKQEAgLTQ1Miw3ICs0NDksNiBA
QCBib29sIEFjY2Vzc0Nhc2U6OnJlcXVpcmVzSW50MzJQcm9wZXJ0eUNoZWNrKCkgY29uc3QKICAg
ICBjYXNlIEluZGV4ZWRJbnQzMkxvYWQ6CiAgICAgY2FzZSBJbmRleGVkRG91YmxlTG9hZDoKICAg
ICBjYXNlIEluZGV4ZWRDb250aWd1b3VzTG9hZDoKLSAgICBjYXNlIEluZGV4ZWRBbHdheXNTbG93
UHV0Q29udGlndW91c0xvYWQ6CiAgICAgY2FzZSBJbmRleGVkQXJyYXlTdG9yYWdlTG9hZDoKICAg
ICBjYXNlIEluZGV4ZWRTY29wZWRBcmd1bWVudHNMb2FkOgogICAgIGNhc2UgSW5kZXhlZERpcmVj
dEFyZ3VtZW50c0xvYWQ6CkBAIC01MTcsNyArNTEzLDYgQEAgYm9vbCBBY2Nlc3NDYXNlOjpuZWVk
c1NjcmF0Y2hGUFIoKSBjb25zdAogICAgIGNhc2UgSW5zdGFuY2VPZkdlbmVyaWM6CiAgICAgY2Fz
ZSBJbmRleGVkSW50MzJMb2FkOgogICAgIGNhc2UgSW5kZXhlZENvbnRpZ3VvdXNMb2FkOgotICAg
IGNhc2UgSW5kZXhlZEFsd2F5c1Nsb3dQdXRDb250aWd1b3VzTG9hZDoKICAgICBjYXNlIEluZGV4
ZWRBcnJheVN0b3JhZ2VMb2FkOgogICAgIGNhc2UgSW5kZXhlZFNjb3BlZEFyZ3VtZW50c0xvYWQ6
CiAgICAgY2FzZSBJbmRleGVkRGlyZWN0QXJndW1lbnRzTG9hZDoKQEAgLTYyNyw3ICs2MjIsNiBA
QCB2b2lkIEFjY2Vzc0Nhc2U6OmZvckVhY2hEZXBlbmRlbnRDZWxsKFZNJiwgY29uc3QgRnVuY3Rv
ciYgZnVuY3RvcikgY29uc3QKICAgICBjYXNlIEluZGV4ZWRJbnQzMkxvYWQ6CiAgICAgY2FzZSBJ
bmRleGVkRG91YmxlTG9hZDoKICAgICBjYXNlIEluZGV4ZWRDb250aWd1b3VzTG9hZDoKLSAgICBj
YXNlIEluZGV4ZWRBbHdheXNTbG93UHV0Q29udGlndW91c0xvYWQ6CiAgICAgY2FzZSBJbmRleGVk
QXJyYXlTdG9yYWdlTG9hZDoKICAgICBjYXNlIEluZGV4ZWRTY29wZWRBcmd1bWVudHNMb2FkOgog
ICAgIGNhc2UgSW5kZXhlZERpcmVjdEFyZ3VtZW50c0xvYWQ6CkBAIC02OTcsNyArNjkxLDYgQEAg
Ym9vbCBBY2Nlc3NDYXNlOjpkb2VzQ2FsbHMoVk0mIHZtLCBWZWN0b3I8SlNDZWxsKj4qIGNlbGxz
VG9NYXJrSWZEb2VzQ2FsbHMpIGNvbnMKICAgICBjYXNlIEluZGV4ZWRJbnQzMkxvYWQ6CiAgICAg
Y2FzZSBJbmRleGVkRG91YmxlTG9hZDoKICAgICBjYXNlIEluZGV4ZWRDb250aWd1b3VzTG9hZDoK
LSAgICBjYXNlIEluZGV4ZWRBbHdheXNTbG93UHV0Q29udGlndW91c0xvYWQ6CiAgICAgY2FzZSBJ
bmRleGVkQXJyYXlTdG9yYWdlTG9hZDoKICAgICBjYXNlIEluZGV4ZWRTY29wZWRBcmd1bWVudHNM
b2FkOgogICAgIGNhc2UgSW5kZXhlZERpcmVjdEFyZ3VtZW50c0xvYWQ6CkBAIC03ODksNyArNzgy
LDYgQEAgYm9vbCBBY2Nlc3NDYXNlOjpjYW5SZXBsYWNlKGNvbnN0IEFjY2Vzc0Nhc2UmIG90aGVy
KSBjb25zdAogICAgIGNhc2UgSW5kZXhlZEludDMyTG9hZDoKICAgICBjYXNlIEluZGV4ZWREb3Vi
bGVMb2FkOgogICAgIGNhc2UgSW5kZXhlZENvbnRpZ3VvdXNMb2FkOgotICAgIGNhc2UgSW5kZXhl
ZEFsd2F5c1Nsb3dQdXRDb250aWd1b3VzTG9hZDoKICAgICBjYXNlIEluZGV4ZWRBcnJheVN0b3Jh
Z2VMb2FkOgogICAgIGNhc2UgQXJyYXlMZW5ndGg6CiAgICAgY2FzZSBTdHJpbmdMZW5ndGg6CkBA
IC0xMzczLDcgKzEzNjUsNiBAQCB2b2lkIEFjY2Vzc0Nhc2U6OmdlbmVyYXRlV2l0aEd1YXJkKAog
ICAgIGNhc2UgSW5kZXhlZEludDMyTG9hZDoKICAgICBjYXNlIEluZGV4ZWREb3VibGVMb2FkOgog
ICAgIGNhc2UgSW5kZXhlZENvbnRpZ3VvdXNMb2FkOgotICAgIGNhc2UgSW5kZXhlZEFsd2F5c1Ns
b3dQdXRDb250aWd1b3VzTG9hZDoKICAgICBjYXNlIEluZGV4ZWRBcnJheVN0b3JhZ2VMb2FkOiB7
CiAgICAgICAgIEFTU0VSVCghdmlhUHJveHkoKSk7CiAgICAgICAgIC8vIFRoaXMgY29kZSBpcyB3
cml0dGVuIHN1Y2ggdGhhdCB0aGUgcmVzdWx0IGNvdWxkIGFsaWFzIHdpdGggdGhlIGJhc2Ugb3Ig
dGhlIHByb3BlcnR5LgpAQCAtMTQyOCw5ICsxNDE5LDYgQEAgdm9pZCBBY2Nlc3NDYXNlOjpnZW5l
cmF0ZVdpdGhHdWFyZCgKICAgICAgICAgICAgIGNhc2UgSW5kZXhlZENvbnRpZ3VvdXNMb2FkOgog
ICAgICAgICAgICAgICAgIGV4cGVjdGVkU2hhcGUgPSBDb250aWd1b3VzU2hhcGU7CiAgICAgICAg
ICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICBjYXNlIEluZGV4ZWRBbHdheXNTbG93UHV0Q29u
dGlndW91c0xvYWQ6Ci0gICAgICAgICAgICAgICAgZXhwZWN0ZWRTaGFwZSA9IEFsd2F5c1Nsb3dQ
dXRDb250aWd1b3VzU2hhcGU7Ci0gICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICBk
ZWZhdWx0OgogICAgICAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAg
ICAgICAgICAgICAgICAgYnJlYWs7CkBAIC0yNTc1LDcgKzI1NjMsNiBAQCB2b2lkIEFjY2Vzc0Nh
c2U6OmdlbmVyYXRlSW1wbChBY2Nlc3NHZW5lcmF0aW9uU3RhdGUmIHN0YXRlKQogICAgIGNhc2Ug
SW5kZXhlZEludDMyTG9hZDoKICAgICBjYXNlIEluZGV4ZWREb3VibGVMb2FkOgogICAgIGNhc2Ug
SW5kZXhlZENvbnRpZ3VvdXNMb2FkOgotICAgIGNhc2UgSW5kZXhlZEFsd2F5c1Nsb3dQdXRDb250
aWd1b3VzTG9hZDoKICAgICBjYXNlIEluZGV4ZWRBcnJheVN0b3JhZ2VMb2FkOgogICAgIGNhc2Ug
SW5kZXhlZFNjb3BlZEFyZ3VtZW50c0xvYWQ6CiAgICAgY2FzZSBJbmRleGVkRGlyZWN0QXJndW1l
bnRzTG9hZDoKQEAgLTI2ODIsNyArMjY2OSw2IEBAIGlubGluZSB2b2lkIEFjY2Vzc0Nhc2U6OnJ1
bldpdGhEb3duY2FzdChjb25zdCBGdW5jJiBmdW5jKQogICAgIGNhc2UgSW5kZXhlZEludDMyU3Rv
cmU6CiAgICAgY2FzZSBJbmRleGVkRG91YmxlU3RvcmU6CiAgICAgY2FzZSBJbmRleGVkQ29udGln
dW91c1N0b3JlOgotICAgIGNhc2UgSW5kZXhlZEFsd2F5c1Nsb3dQdXRDb250aWd1b3VzTG9hZDoK
ICAgICBjYXNlIEluZGV4ZWRBcnJheVN0b3JhZ2VTdG9yZToKICAgICBjYXNlIEluZGV4ZWRUeXBl
ZEFycmF5SW50OFN0b3JlOgogICAgIGNhc2UgSW5kZXhlZFR5cGVkQXJyYXlVaW50OFN0b3JlOgpA
QCAtMjc4Nyw3ICsyNzczLDYgQEAgYm9vbCBBY2Nlc3NDYXNlOjpjYW5CZVNoYXJlZChjb25zdCBB
Y2Nlc3NDYXNlJiBsaHMsIGNvbnN0IEFjY2Vzc0Nhc2UmIHJocykKICAgICBjYXNlIEluZGV4ZWRJ
bnQzMkxvYWQ6CiAgICAgY2FzZSBJbmRleGVkRG91YmxlTG9hZDoKICAgICBjYXNlIEluZGV4ZWRD
b250aWd1b3VzTG9hZDoKLSAgICBjYXNlIEluZGV4ZWRBbHdheXNTbG93UHV0Q29udGlndW91c0xv
YWQ6CiAgICAgY2FzZSBJbmRleGVkQXJyYXlTdG9yYWdlTG9hZDoKICAgICBjYXNlIEluZGV4ZWRT
Y29wZWRBcmd1bWVudHNMb2FkOgogICAgIGNhc2UgSW5kZXhlZERpcmVjdEFyZ3VtZW50c0xvYWQ6
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQWNjZXNzQ2FzZS5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0FjY2Vzc0Nhc2UuaAppbmRleCA3YWRi
MmM1ZTk5MGQuLjJkYWIzMWEyMWZjZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb2RlL0FjY2Vzc0Nhc2UuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNv
ZGUvQWNjZXNzQ2FzZS5oCkBAIC0xMjMsNyArMTIzLDYgQEAgcHVibGljOgogICAgICAgICBJbmRl
eGVkSW50MzJMb2FkLAogICAgICAgICBJbmRleGVkRG91YmxlTG9hZCwKICAgICAgICAgSW5kZXhl
ZENvbnRpZ3VvdXNMb2FkLAotICAgICAgICBJbmRleGVkQWx3YXlzU2xvd1B1dENvbnRpZ3VvdXNM
b2FkLAogICAgICAgICBJbmRleGVkQXJyYXlTdG9yYWdlTG9hZCwKICAgICAgICAgSW5kZXhlZFNj
b3BlZEFyZ3VtZW50c0xvYWQsCiAgICAgICAgIEluZGV4ZWREaXJlY3RBcmd1bWVudHNMb2FkLApk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0FkYXB0aXZlSW5mZXJy
ZWRQcm9wZXJ0eVZhbHVlV2F0Y2hwb2ludEJhc2UuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb2RlL0FkYXB0aXZlSW5mZXJyZWRQcm9wZXJ0eVZhbHVlV2F0Y2hwb2ludEJhc2UuY3Bw
CmluZGV4IGI0NTA5ZDM1NTgwMS4uYjUzZWRmYjE3OGVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvZGUvQWRhcHRpdmVJbmZlcnJlZFByb3BlcnR5VmFsdWVXYXRjaHBv
aW50QmFzZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0FkYXB0aXZl
SW5mZXJyZWRQcm9wZXJ0eVZhbHVlV2F0Y2hwb2ludEJhc2UuY3BwCkBAIC0zNiw4ICszNiw2IEBA
IEFkYXB0aXZlSW5mZXJyZWRQcm9wZXJ0eVZhbHVlV2F0Y2hwb2ludEJhc2U6OkFkYXB0aXZlSW5m
ZXJyZWRQcm9wZXJ0eVZhbHVlV2F0Y2hwCiAgICAgUkVMRUFTRV9BU1NFUlQoa2V5LmtpbmQoKSA9
PSBQcm9wZXJ0eUNvbmRpdGlvbjo6RXF1aXZhbGVuY2UpOwogfQogCi1BZGFwdGl2ZUluZmVycmVk
UHJvcGVydHlWYWx1ZVdhdGNocG9pbnRCYXNlOjp+QWRhcHRpdmVJbmZlcnJlZFByb3BlcnR5VmFs
dWVXYXRjaHBvaW50QmFzZSgpID0gZGVmYXVsdDsKLQogdm9pZCBBZGFwdGl2ZUluZmVycmVkUHJv
cGVydHlWYWx1ZVdhdGNocG9pbnRCYXNlOjppbml0aWFsaXplKGNvbnN0IE9iamVjdFByb3BlcnR5
Q29uZGl0aW9uJiBrZXkpCiB7CiAgICAgbV9rZXkgPSBrZXk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQWRhcHRpdmVJbmZlcnJlZFByb3BlcnR5VmFsdWVXYXRj
aHBvaW50QmFzZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0FkYXB0aXZlSW5m
ZXJyZWRQcm9wZXJ0eVZhbHVlV2F0Y2hwb2ludEJhc2UuaAppbmRleCAzNGVhMzIwNjUzMDYuLjBh
OWViYWQ4ZDk2NCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0Fk
YXB0aXZlSW5mZXJyZWRQcm9wZXJ0eVZhbHVlV2F0Y2hwb2ludEJhc2UuaAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQWRhcHRpdmVJbmZlcnJlZFByb3BlcnR5VmFsdWVXYXRj
aHBvaW50QmFzZS5oCkBAIC0zNCw3ICszNCw3IEBAIG5hbWVzcGFjZSBKU0MgewogCiAvLyBGSVhN
RTogVGhpcyBpc24ndCBhY3R1YWxseSBhIFdhdGNocG9pbnQuIFdlIHNob3VsZCBwcm9iYWJseSBo
YXZlIGEgbmFtZSB3aGljaCBiZXR0ZXIgcmVmbGVjdHMgdGhhdDoKIC8vIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDIzODEKLWNsYXNzIEpTX0VYUE9SVF9QUklWQVRF
IEFkYXB0aXZlSW5mZXJyZWRQcm9wZXJ0eVZhbHVlV2F0Y2hwb2ludEJhc2UgeworY2xhc3MgQWRh
cHRpdmVJbmZlcnJlZFByb3BlcnR5VmFsdWVXYXRjaHBvaW50QmFzZSB7CiAgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoQWRhcHRpdmVJbmZlcnJlZFByb3BlcnR5VmFsdWVXYXRjaHBvaW50QmFzZSk7
CiAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAKQEAgLTQ3LDcgKzQ3LDcgQEAgcHVibGlj
OgogICAgIHZvaWQgaW5pdGlhbGl6ZShjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvbiYpOwog
ICAgIHZvaWQgaW5zdGFsbChWTSYpOwogCi0gICAgdmlydHVhbCB+QWRhcHRpdmVJbmZlcnJlZFBy
b3BlcnR5VmFsdWVXYXRjaHBvaW50QmFzZSgpOworICAgIHZpcnR1YWwgfkFkYXB0aXZlSW5mZXJy
ZWRQcm9wZXJ0eVZhbHVlV2F0Y2hwb2ludEJhc2UoKSA9IGRlZmF1bHQ7CiAKICAgICBjbGFzcyBT
dHJ1Y3R1cmVXYXRjaHBvaW50IGZpbmFsIDogcHVibGljIFdhdGNocG9pbnQgewogICAgIHB1Ymxp
YzoKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9BcnJheVByb2Zp
bGUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0FycmF5UHJvZmlsZS5jcHAK
aW5kZXggOGM3ZGRiMzUxOTU0Li41M2UxYzA2Yjc5MGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ieXRlY29kZS9BcnJheVByb2ZpbGUuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9BcnJheVByb2ZpbGUuY3BwCkBAIC02OSw4ICs2OSw2IEBAIHZvaWQg
ZHVtcEFycmF5TW9kZXMoUHJpbnRTdHJlYW0mIG91dCwgQXJyYXlNb2RlcyBhcnJheU1vZGVzKQog
ICAgICAgICBvdXQucHJpbnQoY29tbWEsICJOb25BcnJheVdpdGhEb3VibGUiKTsKICAgICBpZiAo
YXJyYXlNb2RlcyAmIGFzQXJyYXlNb2Rlc0lnbm9yaW5nVHlwZWRBcnJheXMoTm9uQXJyYXlXaXRo
Q29udGlndW91cykpCiAgICAgICAgIG91dC5wcmludChjb21tYSwgIk5vbkFycmF5V2l0aENvbnRp
Z3VvdXMiKTsKLSAgICBpZiAoYXJyYXlNb2RlcyAmIGFzQXJyYXlNb2Rlc0lnbm9yaW5nVHlwZWRB
cnJheXMoTm9uQXJyYXlXaXRoQWx3YXlzU2xvd1B1dENvbnRpZ3VvdXMpKQotICAgICAgICBvdXQu
cHJpbnQoY29tbWEsICJOb25BcnJheVdpdGhBbHdheXNTbG93UHV0Q29udGlndW91cyIpOwogICAg
IGlmIChhcnJheU1vZGVzICYgYXNBcnJheU1vZGVzSWdub3JpbmdUeXBlZEFycmF5cyhOb25BcnJh
eVdpdGhBcnJheVN0b3JhZ2UpKQogICAgICAgICBvdXQucHJpbnQoY29tbWEsICJOb25BcnJheVdp
dGhBcnJheVN0b3JhZ2UiKTsKICAgICBpZiAoYXJyYXlNb2RlcyAmIGFzQXJyYXlNb2Rlc0lnbm9y
aW5nVHlwZWRBcnJheXMoTm9uQXJyYXlXaXRoU2xvd1B1dEFycmF5U3RvcmFnZSkpCkBAIC0xNDQs
OCArMTQyLDcgQEAgdm9pZCBBcnJheVByb2ZpbGU6OmNvbXB1dGVVcGRhdGVkUHJlZGljdGlvbihj
b25zdCBDb25jdXJyZW50SlNMb2NrZXImLCBDb2RlQmxvY2sKICAgICAgICAgbGFzdFNlZW5TdHJ1
Y3R1cmUtPnR5cGVJbmZvKCkuaW50ZXJjZXB0c0dldE93blByb3BlcnR5U2xvdEJ5SW5kZXhFdmVu
V2hlbkxlbmd0aElzTm90WmVybygpOwogICAgIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3Qg
PSBjb2RlQmxvY2stPmdsb2JhbE9iamVjdCgpOwogICAgIGlmICghZ2xvYmFsT2JqZWN0LT5pc09y
aWdpbmFsQXJyYXlTdHJ1Y3R1cmUobGFzdFNlZW5TdHJ1Y3R1cmUpCi0gICAgICAgICYmICFnbG9i
YWxPYmplY3QtPmlzT3JpZ2luYWxUeXBlZEFycmF5U3RydWN0dXJlKGxhc3RTZWVuU3RydWN0dXJl
KQotICAgICAgICAmJiAhKGhhc0Fsd2F5c1Nsb3dQdXRDb250aWd1b3VzKGxhc3RTZWVuU3RydWN0
dXJlLT5pbmRleGluZ01vZGUoKSkgJiYgZ2xvYmFsT2JqZWN0LT5pc09yaWdpbmFsU2xvd1B1dENv
bnRpZ2lvdXNTdHJ1Y3R1cmUobGFzdFNlZW5TdHJ1Y3R1cmUpKSkKKyAgICAgICAgJiYgIWdsb2Jh
bE9iamVjdC0+aXNPcmlnaW5hbFR5cGVkQXJyYXlTdHJ1Y3R1cmUobGFzdFNlZW5TdHJ1Y3R1cmUp
KQogICAgICAgICBtX3VzZXNPcmlnaW5hbEFycmF5U3RydWN0dXJlcyA9IGZhbHNlOwogfQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQXJyYXlQcm9maWxlLmgg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQXJyYXlQcm9maWxlLmgKaW5kZXggYzY0
MjJhZjMyMmM2Li5hNTU2YzIyZjM3OWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29kZS9BcnJheVByb2ZpbGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0
ZWNvZGUvQXJyYXlQcm9maWxlLmgKQEAgLTg2LDcgKzg2LDYgQEAgY29uc3RleHByIEFycmF5TW9k
ZXMgYXNBcnJheU1vZGVzSWdub3JpbmdUeXBlZEFycmF5cyhJbmRleGluZ1R5cGUgaW5kZXhpbmdN
b2RlKQogICAgIHwgYXNBcnJheU1vZGVzSWdub3JpbmdUeXBlZEFycmF5cyhOb25BcnJheVdpdGhJ
bnQzMikgICAgICAgICAgICAgICAgICAgXAogICAgIHwgYXNBcnJheU1vZGVzSWdub3JpbmdUeXBl
ZEFycmF5cyhOb25BcnJheVdpdGhEb3VibGUpICAgICAgICAgICAgICAgICAgXAogICAgIHwgYXNB
cnJheU1vZGVzSWdub3JpbmdUeXBlZEFycmF5cyhOb25BcnJheVdpdGhDb250aWd1b3VzKSAgICAg
ICAgICAgICAgXAotICAgIHwgYXNBcnJheU1vZGVzSWdub3JpbmdUeXBlZEFycmF5cyhOb25BcnJh
eVdpdGhBbHdheXNTbG93UHV0Q29udGlndW91cykgXAogICAgIHwgYXNBcnJheU1vZGVzSWdub3Jp
bmdUeXBlZEFycmF5cyhOb25BcnJheVdpdGhBcnJheVN0b3JhZ2UpICAgICAgICAgICAgXAogICAg
IHwgYXNBcnJheU1vZGVzSWdub3JpbmdUeXBlZEFycmF5cyhOb25BcnJheVdpdGhTbG93UHV0QXJy
YXlTdG9yYWdlKSAgICAgXAogICAgIHwgQUxMX1RZUEVEX0FSUkFZX01PREVTKQpAQCAtMTY1LDEx
ICsxNjQsNiBAQCBpbmxpbmUgYm9vbCBzaG91bGRVc2VDb250aWd1b3VzKEFycmF5TW9kZXMgYXJy
YXlNb2RlcykKICAgICByZXR1cm4gYXJyYXlNb2Rlc0luY2x1ZGVJZ25vcmluZ1R5cGVkQXJyYXlz
KGFycmF5TW9kZXMsIENvbnRpZ3VvdXNTaGFwZSk7CiB9CiAKLWlubGluZSBib29sIHNob3VsZFVz
ZUFsd2F5c1Nsb3dQdXRDb250aWd1b3VzKEFycmF5TW9kZXMgYXJyYXlNb2RlcykKLXsKLSAgICBy
ZXR1cm4gYXJyYXlNb2Rlc0luY2x1ZGVJZ25vcmluZ1R5cGVkQXJyYXlzKGFycmF5TW9kZXMsIEFs
d2F5c1Nsb3dQdXRDb250aWd1b3VzU2hhcGUpOwotfQotCiBpbmxpbmUgYm9vbCBzaG91bGRVc2VE
b3VibGUoQXJyYXlNb2RlcyBhcnJheU1vZGVzKQogewogICAgIHJldHVybiBhcnJheU1vZGVzSW5j
bHVkZUlnbm9yaW5nVHlwZWRBcnJheXMoYXJyYXlNb2RlcywgRG91YmxlU2hhcGUpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1BvbHltb3JwaGljQWNjZXNzLmNw
cCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qb2x5bW9ycGhpY0FjY2Vzcy5jcHAK
aW5kZXggY2ZlM2QwNThjNDk3Li4zMDgzNGI0NWM1MzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ieXRlY29kZS9Qb2x5bW9ycGhpY0FjY2Vzcy5jcHAKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb2RlL1BvbHltb3JwaGljQWNjZXNzLmNwcApAQCAtOTg3LDkgKzk4
Nyw2IEBAIHZvaWQgcHJpbnRJbnRlcm5hbChQcmludFN0cmVhbSYgb3V0LCBBY2Nlc3NDYXNlOjpB
Y2Nlc3NUeXBlIHR5cGUpCiAgICAgY2FzZSBBY2Nlc3NDYXNlOjpJbmRleGVkQ29udGlndW91c0xv
YWQ6CiAgICAgICAgIG91dC5wcmludCgiSW5kZXhlZENvbnRpZ3VvdXNMb2FkIik7CiAgICAgICAg
IHJldHVybjsKLSAgICBjYXNlIEFjY2Vzc0Nhc2U6OkluZGV4ZWRBbHdheXNTbG93UHV0Q29udGln
dW91c0xvYWQ6Ci0gICAgICAgIG91dC5wcmludCgiSW5kZXhlZEFsd2F5c1Nsb3dQdXRDb250aWd1
b3VzTG9hZCIpOwotICAgICAgICByZXR1cm47CiAgICAgY2FzZSBBY2Nlc3NDYXNlOjpJbmRleGVk
QXJyYXlTdG9yYWdlTG9hZDoKICAgICAgICAgb3V0LnByaW50KCJJbmRleGVkQXJyYXlTdG9yYWdl
TG9hZCIpOwogICAgICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnl0ZWNvZGUvUmVwYXRjaC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUv
UmVwYXRjaC5jcHAKaW5kZXggNDE2YjMxMGVjMDY5Li4zYzMxMzkwMjVlZGQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9SZXBhdGNoLmNwcAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUmVwYXRjaC5jcHAKQEAgLTY4MSw5ICs2ODEsNiBAQCBz
dGF0aWMgSW5saW5lQ2FjaGVBY3Rpb24gdHJ5Q2FjaGVBcnJheUdldEJ5VmFsKEpTR2xvYmFsT2Jq
ZWN0KiBnbG9iYWxPYmplY3QsIENvZAogICAgICAgICAgICAgY2FzZSBDb250aWd1b3VzU2hhcGU6
CiAgICAgICAgICAgICAgICAgYWNjZXNzVHlwZSA9IEFjY2Vzc0Nhc2U6OkluZGV4ZWRDb250aWd1
b3VzTG9hZDsKICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIGNhc2UgQWx3YXlz
U2xvd1B1dENvbnRpZ3VvdXNTaGFwZToKLSAgICAgICAgICAgICAgICBhY2Nlc3NUeXBlID0gQWNj
ZXNzQ2FzZTo6SW5kZXhlZEFsd2F5c1Nsb3dQdXRDb250aWd1b3VzTG9hZDsKLSAgICAgICAgICAg
ICAgICBicmVhazsKICAgICAgICAgICAgIGNhc2UgQXJyYXlTdG9yYWdlU2hhcGU6CiAgICAgICAg
ICAgICAgICAgYWNjZXNzVHlwZSA9IEFjY2Vzc0Nhc2U6OkluZGV4ZWRBcnJheVN0b3JhZ2VMb2Fk
OwogICAgICAgICAgICAgICAgIGJyZWFrOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2J5dGVjb2RlL1dhdGNocG9pbnQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVj
b2RlL1dhdGNocG9pbnQuY3BwCmluZGV4IDkyOGUwN2Y2MWExMi4uNDlmMzE1NDcwNDI0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvV2F0Y2hwb2ludC5jcHAKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1dhdGNocG9pbnQuY3BwCkBAIC00Myw4
ICs0Myw2IEBAIG5hbWVzcGFjZSBKU0MgewogREVGSU5FX0FMTE9DQVRPUl9XSVRIX0hFQVBfSURF
TlRJRklFUihXYXRjaHBvaW50KTsKIERFRklORV9BTExPQ0FUT1JfV0lUSF9IRUFQX0lERU5USUZJ
RVIoV2F0Y2hwb2ludFNldCk7CiAKLUZpcmVEZXRhaWw6On5GaXJlRGV0YWlsKCkgPSBkZWZhdWx0
OwotCiB2b2lkIFN0cmluZ0ZpcmVEZXRhaWw6OmR1bXAoUHJpbnRTdHJlYW0mIG91dCkgY29uc3QK
IHsKICAgICBvdXQucHJpbnQobV9zdHJpbmcpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2J5dGVjb2RlL1dhdGNocG9pbnQuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29kZS9XYXRjaHBvaW50LmgKaW5kZXggMDZhODUxOWYyZDJhLi42YjQyZGRiYmI0MDQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9XYXRjaHBvaW50LmgKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1dhdGNocG9pbnQuaApAQCAtNDIsMTYgKzQy
LDE2IEBAIHN0cnVjdCBBcnJheUJ1ZmZlclZpZXdXYXRjaHBvaW50QWRhcHRvcjsKIAogY2xhc3Mg
Vk07CiAKLWNsYXNzIEpTX0VYUE9SVF9QUklWQVRFIEZpcmVEZXRhaWwgeworY2xhc3MgRmlyZURl
dGFpbCB7CiAgICAgdm9pZCogb3BlcmF0b3IgbmV3KHNpemVfdCkgPSBkZWxldGU7CiAgICAgCiBw
dWJsaWM6CiAgICAgRmlyZURldGFpbCgpID0gZGVmYXVsdDsKLSAgICB2aXJ0dWFsIH5GaXJlRGV0
YWlsKCk7CisgICAgdmlydHVhbCB+RmlyZURldGFpbCgpID0gZGVmYXVsdDsKICAgICB2aXJ0dWFs
IHZvaWQgZHVtcChQcmludFN0cmVhbSYpIGNvbnN0ID0gMDsKIH07CiAKLWNsYXNzIEpTX0VYUE9S
VF9QUklWQVRFIFN0cmluZ0ZpcmVEZXRhaWwgZmluYWwgOiBwdWJsaWMgRmlyZURldGFpbCB7Citj
bGFzcyBTdHJpbmdGaXJlRGV0YWlsIGZpbmFsIDogcHVibGljIEZpcmVEZXRhaWwgewogcHVibGlj
OgogICAgIFN0cmluZ0ZpcmVEZXRhaWwoY29uc3QgY2hhciogc3RyaW5nKQogICAgICAgICA6IG1f
c3RyaW5nKHN0cmluZykKQEAgLTEzNyw3ICsxMzcsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBvcGVy
YXRvciBkZWxldGUoV2F0Y2hwb2ludCosIHN0ZDo6ZGVzdHJveWluZ19kZWxldGVfdCk7CiAKIHBy
b3RlY3RlZDoKLSAgICBKU19FWFBPUlRfUFJJVkFURSB+V2F0Y2hwb2ludCgpOworICAgIH5XYXRj
aHBvaW50KCk7CiAKIHByaXZhdGU6CiAgICAgZnJpZW5kIGNsYXNzIFdhdGNocG9pbnRTZXQ7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Fic3RyYWN0SW50ZXJwcmV0
ZXJJbmxpbmVzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Fic3RyYWN0SW50ZXJw
cmV0ZXJJbmxpbmVzLmgKaW5kZXggYmUwZTZhMzg0N2VjLi4xMDA1MDg0NTEyY2MgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQWJzdHJhY3RJbnRlcnByZXRlcklubGlu
ZXMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Fic3RyYWN0SW50ZXJwcmV0
ZXJJbmxpbmVzLmgKQEAgLTIzMTYsNyArMjMxNiw2IEBAIGJvb2wgQWJzdHJhY3RJbnRlcnByZXRl
cjxBYnN0cmFjdFN0YXRlVHlwZT46OmV4ZWN1dGVFZmZlY3RzKHVuc2lnbmVkIGNsb2JiZXJMaW1p
CiAgICAgICAgICAgICBjYXNlIEFycmF5OjpJbnQzMjoKICAgICAgICAgICAgIGNhc2UgQXJyYXk6
OkRvdWJsZToKICAgICAgICAgICAgIGNhc2UgQXJyYXk6OkNvbnRpZ3VvdXM6Ci0gICAgICAgICAg
ICBjYXNlIEFycmF5OjpBbHdheXNTbG93UHV0Q29udGlndW91czoKICAgICAgICAgICAgIGNhc2Ug
QXJyYXk6OkFycmF5U3RvcmFnZToKICAgICAgICAgICAgIGNhc2UgQXJyYXk6OlNsb3dQdXRBcnJh
eVN0b3JhZ2U6CiAgICAgICAgICAgICAgICAgaWYgKGZvbGRHZXRCeVZhbE9uQ29uc3RhbnRQcm9w
ZXJ0eShtX2dyYXBoLmNoaWxkKG5vZGUsIDApLCBtX2dyYXBoLmNoaWxkKG5vZGUsIDEpKSkgewpA
QCAtMjQ0Niw3ICsyNDQ1LDYgQEAgYm9vbCBBYnN0cmFjdEludGVycHJldGVyPEFic3RyYWN0U3Rh
dGVUeXBlPjo6ZXhlY3V0ZUVmZmVjdHModW5zaWduZWQgY2xvYmJlckxpbWkKICAgICAgICAgICAg
ICAgICBzZXROb25DZWxsVHlwZUZvck5vZGUobm9kZSwgU3BlY0RvdWJsZVJlYWwpOwogICAgICAg
ICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgQXJyYXk6OkNvbnRpZ3VvdXM6Ci0gICAgICAgIGNh
c2UgQXJyYXk6OkFsd2F5c1Nsb3dQdXRDb250aWd1b3VzOgogICAgICAgICBjYXNlIEFycmF5OjpB
cnJheVN0b3JhZ2U6CiAgICAgICAgIGNhc2UgQXJyYXk6OlNsb3dQdXRBcnJheVN0b3JhZ2U6CiAg
ICAgICAgICAgICBpZiAobm9kZS0+YXJyYXlNb2RlKCkuaXNFZmZlY3RmdWxPdXRPZkJvdW5kcygp
KQpAQCAtMzcwMiw3ICszNzAwLDYgQEAgYm9vbCBBYnN0cmFjdEludGVycHJldGVyPEFic3RyYWN0
U3RhdGVUeXBlPjo6ZXhlY3V0ZUVmZmVjdHModW5zaWduZWQgY2xvYmJlckxpbWkKICAgICAgICAg
Y2FzZSBBcnJheTo6SW50MzI6CiAgICAgICAgIGNhc2UgQXJyYXk6OkRvdWJsZToKICAgICAgICAg
Y2FzZSBBcnJheTo6Q29udGlndW91czoKLSAgICAgICAgY2FzZSBBcnJheTo6QWx3YXlzU2xvd1B1
dENvbnRpZ3VvdXM6CiAgICAgICAgIGNhc2UgQXJyYXk6OlVuZGVjaWRlZDoKICAgICAgICAgY2Fz
ZSBBcnJheTo6QXJyYXlTdG9yYWdlOgogICAgICAgICBjYXNlIEFycmF5OjpTbG93UHV0QXJyYXlT
dG9yYWdlOgpAQCAtNDMwMiw3ICs0Mjk5LDYgQEAgYm9vbCBBYnN0cmFjdEludGVycHJldGVyPEFi
c3RyYWN0U3RhdGVUeXBlPjo6ZXhlY3V0ZUVmZmVjdHModW5zaWduZWQgY2xvYmJlckxpbWkKICAg
ICAgICAgY2FzZSBBcnJheTo6SW50MzI6CiAgICAgICAgIGNhc2UgQXJyYXk6OkRvdWJsZToKICAg
ICAgICAgY2FzZSBBcnJheTo6Q29udGlndW91czoKLSAgICAgICAgY2FzZSBBcnJheTo6QWx3YXlz
U2xvd1B1dENvbnRpZ3VvdXM6CiAgICAgICAgIGNhc2UgQXJyYXk6OkFycmF5U3RvcmFnZTogewog
ICAgICAgICAgICAgaWYgKG1vZGUuaXNJbkJvdW5kcygpKQogICAgICAgICAgICAgICAgIGJyZWFr
OwpAQCAtNDMzNCw3ICs0MzMwLDYgQEAgYm9vbCBBYnN0cmFjdEludGVycHJldGVyPEFic3RyYWN0
U3RhdGVUeXBlPjo6ZXhlY3V0ZUVmZmVjdHModW5zaWduZWQgY2xvYmJlckxpbWkKICAgICAgICAg
ICAgIGNhc2UgQXJyYXk6OkludDMyOgogICAgICAgICAgICAgY2FzZSBBcnJheTo6RG91YmxlOgog
ICAgICAgICAgICAgY2FzZSBBcnJheTo6Q29udGlndW91czoKLSAgICAgICAgICAgIGNhc2UgQXJy
YXk6OkFsd2F5c1Nsb3dQdXRDb250aWd1b3VzOgogICAgICAgICAgICAgY2FzZSBBcnJheTo6QXJy
YXlTdG9yYWdlOiB7CiAgICAgICAgICAgICAgICAgaWYgKGFycmF5TW9kZS5pc0luQm91bmRzKCkp
CiAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdBcnJheU1vZGUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdBcnJheU1vZGUuY3BwCmluZGV4IDMzOTE3YTYzYjkxOC4uOTYxY2E0NDQ2ZTBhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0FycmF5TW9kZS5jcHAKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBcnJheU1vZGUuY3BwCkBAIC0xMTIsOSArMTEyLDYg
QEAgQXJyYXlNb2RlIEFycmF5TW9kZTo6ZnJvbU9ic2VydmVkKGNvbnN0IENvbmN1cnJlbnRKU0xv
Y2tlciYgbG9ja2VyLCBBcnJheVByb2ZpbGUKICAgICBjYXNlIGFzQXJyYXlNb2Rlc0lnbm9yaW5n
VHlwZWRBcnJheXMoTm9uQXJyYXlXaXRoQ29udGlndW91cykgfCBhc0FycmF5TW9kZXNJZ25vcmlu
Z1R5cGVkQXJyYXlzKEFycmF5V2l0aENvbnRpZ3VvdXMpIHwgYXNBcnJheU1vZGVzSWdub3JpbmdU
eXBlZEFycmF5cyhDb3B5T25Xcml0ZUFycmF5V2l0aENvbnRpZ3VvdXMpOgogICAgICAgICByZXR1
cm4gaGFuZGxlQ29udGlndW91c01vZGVzKEFycmF5OjpDb250aWd1b3VzLCBvYnNlcnZlZCk7CiAK
LSAgICBjYXNlIGFzQXJyYXlNb2Rlc0lnbm9yaW5nVHlwZWRBcnJheXMoTm9uQXJyYXlXaXRoQWx3
YXlzU2xvd1B1dENvbnRpZ3VvdXMpOgotICAgICAgICByZXR1cm4gaGFuZGxlQ29udGlndW91c01v
ZGVzKEFycmF5OjpBbHdheXNTbG93UHV0Q29udGlndW91cywgb2JzZXJ2ZWQpOwotCiAgICAgY2Fz
ZSBhc0FycmF5TW9kZXNJZ25vcmluZ1R5cGVkQXJyYXlzKE5vbkFycmF5V2l0aEFycmF5U3RvcmFn
ZSk6CiAgICAgICAgIHJldHVybiBBcnJheU1vZGUoQXJyYXk6OkFycmF5U3RvcmFnZSwgbm9uQXJy
YXksIEFycmF5OjpBc0lzLCBhY3Rpb24pLndpdGhQcm9maWxlKGxvY2tlciwgcHJvZmlsZSwgbWFr
ZVNhZmUpOwogICAgIGNhc2UgYXNBcnJheU1vZGVzSWdub3JpbmdUeXBlZEFycmF5cyhOb25BcnJh
eVdpdGhTbG93UHV0QXJyYXlTdG9yYWdlKToKQEAgLTE3NCw4ICsxNzEsNiBAQCBBcnJheU1vZGUg
QXJyYXlNb2RlOjpmcm9tT2JzZXJ2ZWQoY29uc3QgQ29uY3VycmVudEpTTG9ja2VyJiBsb2NrZXIs
IEFycmF5UHJvZmlsZQogICAgICAgICAgICAgdHlwZSA9IEFycmF5OjpEb3VibGU7CiAgICAgICAg
IGVsc2UgaWYgKHNob3VsZFVzZUludDMyKG9ic2VydmVkKSkKICAgICAgICAgICAgIHR5cGUgPSBB
cnJheTo6SW50MzI7Ci0gICAgICAgIGVsc2UgaWYgKHNob3VsZFVzZUFsd2F5c1Nsb3dQdXRDb250
aWd1b3VzKG9ic2VydmVkKSkKLSAgICAgICAgICAgIHR5cGUgPSBBcnJheTo6QWx3YXlzU2xvd1B1
dENvbnRpZ3VvdXM7CiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIHR5cGUgPSBBcnJheTo6U2Vs
ZWN0VXNpbmdBcmd1bWVudHM7CiAgICAgICAgIApAQCAtMzg0LDcgKzM3OSw3IEBAIEFycmF5TW9k
ZSBBcnJheU1vZGU6OnJlZmluZSgKICAgICB9CiB9CiAKLVN0cnVjdHVyZVNldCBBcnJheU1vZGU6
Om9yaWdpbmFsQXJyYXlTdHJ1Y3R1cmVTZXQoR3JhcGgmIGdyYXBoLCBjb25zdCBDb2RlT3JpZ2lu
JiBjb2RlT3JpZ2luKSBjb25zdAorU3RydWN0dXJlKiBBcnJheU1vZGU6Om9yaWdpbmFsQXJyYXlT
dHJ1Y3R1cmUoR3JhcGgmIGdyYXBoLCBjb25zdCBDb2RlT3JpZ2luJiBjb2RlT3JpZ2luKSBjb25z
dAogewogICAgIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QgPSBncmFwaC5nbG9iYWxPYmpl
Y3RGb3IoY29kZU9yaWdpbik7CiAgICAgCkBAIC00MDAsNyArMzk1LDcgQEAgU3RydWN0dXJlU2V0
IEFycmF5TW9kZTo6b3JpZ2luYWxBcnJheVN0cnVjdHVyZVNldChHcmFwaCYgZ3JhcGgsIGNvbnN0
IENvZGVPcmlnaW4KICAgICAgICAgICAgICAgICByZXR1cm4gZ2xvYmFsT2JqZWN0LT5vcmlnaW5h
bEFycmF5U3RydWN0dXJlRm9ySW5kZXhpbmdUeXBlKENvcHlPbldyaXRlQXJyYXlXaXRoQ29udGln
dW91cyk7CiAgICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgICAgIENSQVNIKCk7Ci0g
ICAgICAgICAgICAgICAgcmV0dXJuIHsgfTsKKyAgICAgICAgICAgICAgICByZXR1cm4gbnVsbHB0
cjsKICAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgICAgICBGQUxMVEhST1VHSDsKQEAgLTQy
MCwzMCArNDE1LDI2IEBAIFN0cnVjdHVyZVNldCBBcnJheU1vZGU6Om9yaWdpbmFsQXJyYXlTdHJ1
Y3R1cmVTZXQoR3JhcGgmIGdyYXBoLCBjb25zdCBDb2RlT3JpZ2luCiAgICAgICAgICAgICByZXR1
cm4gZ2xvYmFsT2JqZWN0LT5vcmlnaW5hbEFycmF5U3RydWN0dXJlRm9ySW5kZXhpbmdUeXBlKEFy
cmF5V2l0aEFycmF5U3RvcmFnZSk7CiAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICBDUkFT
SCgpOwotICAgICAgICAgICAgcmV0dXJuIHsgfTsKKyAgICAgICAgICAgIHJldHVybiBudWxscHRy
OwogICAgICAgICB9CiAgICAgfQogICAgICAgICAKICAgICBjYXNlIEFycmF5OjpPcmlnaW5hbE5v
bkFycmF5OiB7CiAgICAgICAgIFR5cGVkQXJyYXlUeXBlIHR5cGUgPSB0eXBlZEFycmF5VHlwZSgp
OwotICAgICAgICBpZiAodHlwZSA9PSBOb3RUeXBlZEFycmF5KSB7Ci0gICAgICAgICAgICBpZiAo
dGhpcy0+dHlwZSgpID09IEFycmF5OjpBbHdheXNTbG93UHV0Q29udGlndW91cykKLSAgICAgICAg
ICAgICAgICByZXR1cm4gZ2xvYmFsT2JqZWN0LT5vcmlnaW5hbEFsd2F5c1Nsb3dQdXRDb250aWd1
b3VzU3RydWN0dXJlU2V0KCk7Ci0KLSAgICAgICAgICAgIHJldHVybiB7IH07Ci0gICAgICAgIH0K
KyAgICAgICAgaWYgKHR5cGUgPT0gTm90VHlwZWRBcnJheSkKKyAgICAgICAgICAgIHJldHVybiBu
dWxscHRyOwogICAgICAgICAKICAgICAgICAgcmV0dXJuIGdsb2JhbE9iamVjdC0+dHlwZWRBcnJh
eVN0cnVjdHVyZUNvbmN1cnJlbnRseSh0eXBlKTsKICAgICB9CiAgICAgICAgIAogICAgIGRlZmF1
bHQ6Ci0gICAgICAgIHJldHVybiB7IH07CisgICAgICAgIHJldHVybiBudWxscHRyOwogICAgIH0K
IH0KIAotU3RydWN0dXJlU2V0IEFycmF5TW9kZTo6b3JpZ2luYWxBcnJheVN0cnVjdHVyZVNldChH
cmFwaCYgZ3JhcGgsIE5vZGUqIG5vZGUpIGNvbnN0CitTdHJ1Y3R1cmUqIEFycmF5TW9kZTo6b3Jp
Z2luYWxBcnJheVN0cnVjdHVyZShHcmFwaCYgZ3JhcGgsIE5vZGUqIG5vZGUpIGNvbnN0CiB7Ci0g
ICAgcmV0dXJuIG9yaWdpbmFsQXJyYXlTdHJ1Y3R1cmVTZXQoZ3JhcGgsIG5vZGUtPm9yaWdpbi5z
ZW1hbnRpYyk7CisgICAgcmV0dXJuIG9yaWdpbmFsQXJyYXlTdHJ1Y3R1cmUoZ3JhcGgsIG5vZGUt
Pm9yaWdpbi5zZW1hbnRpYyk7CiB9CiAKIGJvb2wgQXJyYXlNb2RlOjphbHJlYWR5Q2hlY2tlZChH
cmFwaCYgZ3JhcGgsIE5vZGUqIG5vZGUsIGNvbnN0IEFic3RyYWN0VmFsdWUmIHZhbHVlLCBJbmRl
eGluZ1R5cGUgc2hhcGUpIGNvbnN0CkBAIC00NzAsMTcgKzQ2MSw3IEBAIGJvb2wgQXJyYXlNb2Rl
OjphbHJlYWR5Q2hlY2tlZChHcmFwaCYgZ3JhcGgsIE5vZGUqIG5vZGUsIGNvbnN0IEFic3RyYWN0
VmFsdWUmIHZhCiAKICAgICAvLyBBcnJheTo6T3JpZ2luYWxOb25BcnJheSBjYW4gYmUgc2hvd24g
d2hlbiB0aGUgdmFsdWUgaXMgYSBUeXBlZEFycmF5IHdpdGggb3JpZ2luYWwgc3RydWN0dXJlLgog
ICAgIC8vIEJ1dCBoZXJlLCB3ZSBhbHJlYWR5IGZpbHRlcmVkIFR5cGVkQXJyYXlzLiBTbywganVz
dCBoYW5kbGUgaXQgbGlrZSBhIE5vbkFycmF5LgotICAgIGNhc2UgQXJyYXk6Ok9yaWdpbmFsTm9u
QXJyYXk6IHsKLSAgICAgICAgaWYgKHR5cGUoKSA9PSBBcnJheTo6QWx3YXlzU2xvd1B1dENvbnRp
Z3VvdXMpIHsKLSAgICAgICAgICAgIGlmICghdmFsdWUubV9zdHJ1Y3R1cmUuaXNGaW5pdGUoKSkK
LSAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgICAgICBKU0dsb2JhbE9iamVj
dCogZ2xvYmFsT2JqZWN0ID0gZ3JhcGguZ2xvYmFsT2JqZWN0Rm9yKG5vZGUtPm9yaWdpbi5zZW1h
bnRpYyk7Ci0gICAgICAgICAgICByZXR1cm4gdmFsdWUubV9zdHJ1Y3R1cmUudG9TdHJ1Y3R1cmVT
ZXQoKS5pc1N1YnNldE9mKGdsb2JhbE9iamVjdC0+b3JpZ2luYWxBbHdheXNTbG93UHV0Q29udGln
dW91c1N0cnVjdHVyZVNldCgpKTsKLSAgICAgICAgfQotCi0gICAgICAgIEZBTExUSFJPVUdIOwot
ICAgIH0KLQorICAgIGNhc2UgQXJyYXk6Ok9yaWdpbmFsTm9uQXJyYXk6CiAgICAgY2FzZSBBcnJh
eTo6Tm9uQXJyYXk6IHsKICAgICAgICAgaWYgKGFycmF5TW9kZXNBbHJlYWR5Q2hlY2tlZCh2YWx1
ZS5tX2FycmF5TW9kZXMsIGFzQXJyYXlNb2Rlc0lnbm9yaW5nVHlwZWRBcnJheXMoc2hhcGUpKSkK
ICAgICAgICAgICAgIHJldHVybiB0cnVlOwpAQCAtNTEzLDcgKzQ5NCwxMCBAQCBib29sIEFycmF5
TW9kZTo6YWxyZWFkeUNoZWNrZWQoR3JhcGgmIGdyYXBoLCBOb2RlKiBub2RlLCBjb25zdCBBYnN0
cmFjdFZhbHVlJiB2YQogICAgIGNhc2UgQXJyYXk6Ok9yaWdpbmFsQ29weU9uV3JpdGVBcnJheTog
ewogICAgICAgICBpZiAoIXZhbHVlLm1fc3RydWN0dXJlLmlzRmluaXRlKCkpCiAgICAgICAgICAg
ICByZXR1cm4gZmFsc2U7Ci0gICAgICAgIHJldHVybiB2YWx1ZS5tX3N0cnVjdHVyZS50b1N0cnVj
dHVyZVNldCgpLmlzU3Vic2V0T2Yob3JpZ2luYWxBcnJheVN0cnVjdHVyZVNldChncmFwaCwgbm9k
ZSkpOworICAgICAgICBTdHJ1Y3R1cmUqIG9yaWdpbmFsU3RydWN0dXJlID0gb3JpZ2luYWxBcnJh
eVN0cnVjdHVyZShncmFwaCwgbm9kZSk7CisgICAgICAgIGlmICh2YWx1ZS5tX3N0cnVjdHVyZS5z
aXplKCkgIT0gMSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgcmV0dXJuIHZh
bHVlLm1fc3RydWN0dXJlLm9ubHlTdHJ1Y3R1cmUoKS5nZXQoKSA9PSBvcmlnaW5hbFN0cnVjdHVy
ZTsKICAgICB9CiAgICAgfQogICAgIHJldHVybiBmYWxzZTsKQEAgLTUzOSw5ICs1MjMsNiBAQCBi
b29sIEFycmF5TW9kZTo6YWxyZWFkeUNoZWNrZWQoR3JhcGgmIGdyYXBoLCBOb2RlKiBub2RlLCBj
b25zdCBBYnN0cmFjdFZhbHVlJiB2YQogICAgICAgICAKICAgICBjYXNlIEFycmF5OjpDb250aWd1
b3VzOgogICAgICAgICByZXR1cm4gYWxyZWFkeUNoZWNrZWQoZ3JhcGgsIG5vZGUsIHZhbHVlLCBD
b250aWd1b3VzU2hhcGUpOwotCi0gICAgY2FzZSBBcnJheTo6QWx3YXlzU2xvd1B1dENvbnRpZ3Vv
dXM6Ci0gICAgICAgIHJldHVybiBhbHJlYWR5Q2hlY2tlZChncmFwaCwgbm9kZSwgdmFsdWUsIEFs
d2F5c1Nsb3dQdXRDb250aWd1b3VzU2hhcGUpOwogICAgICAgICAKICAgICBjYXNlIEFycmF5OjpB
cnJheVN0b3JhZ2U6CiAgICAgICAgIHJldHVybiBhbHJlYWR5Q2hlY2tlZChncmFwaCwgbm9kZSwg
dmFsdWUsIEFycmF5U3RvcmFnZVNoYXBlKTsKQEAgLTY5Myw4ICs2NzQsNiBAQCBjb25zdCBjaGFy
KiBhcnJheVR5cGVUb1N0cmluZyhBcnJheTo6VHlwZSB0eXBlKQogICAgICAgICByZXR1cm4gIkRv
dWJsZSI7CiAgICAgY2FzZSBBcnJheTo6Q29udGlndW91czoKICAgICAgICAgcmV0dXJuICJDb250
aWd1b3VzIjsKLSAgICBjYXNlIEFycmF5OjpBbHdheXNTbG93UHV0Q29udGlndW91czoKLSAgICAg
ICAgcmV0dXJuICJBbHdheXNTbG93UHV0Q29udGlndW91cyI7CiAgICAgY2FzZSBBcnJheTo6QXJy
YXlTdG9yYWdlOgogICAgICAgICByZXR1cm4gIkFycmF5U3RvcmFnZSI7CiAgICAgY2FzZSBBcnJh
eTo6U2xvd1B1dEFycmF5U3RvcmFnZToKQEAgLTc5NSw4ICs3NzQsNiBAQCBJbmRleGluZ1R5cGUg
dG9JbmRleGluZ1NoYXBlKEFycmF5OjpUeXBlIHR5cGUpCiAgICAgICAgIHJldHVybiBEb3VibGVT
aGFwZTsKICAgICBjYXNlIEFycmF5OjpDb250aWd1b3VzOgogICAgICAgICByZXR1cm4gQ29udGln
dW91c1NoYXBlOwotICAgIGNhc2UgQXJyYXk6OkFsd2F5c1Nsb3dQdXRDb250aWd1b3VzOgotICAg
ICAgICByZXR1cm4gQWx3YXlzU2xvd1B1dENvbnRpZ3VvdXNTaGFwZTsKICAgICBjYXNlIEFycmF5
OjpVbmRlY2lkZWQ6CiAgICAgICAgIHJldHVybiBVbmRlY2lkZWRTaGFwZTsKICAgICBjYXNlIEFy
cmF5OjpBcnJheVN0b3JhZ2U6CkBAIC04OTAsNyArODY3LDYgQEAgYm9vbCBwZXJtaXRzQm91bmRz
Q2hlY2tMb3dlcmluZyhBcnJheTo6VHlwZSB0eXBlKQogICAgIGNhc2UgQXJyYXk6OkludDMyOgog
ICAgIGNhc2UgQXJyYXk6OkRvdWJsZToKICAgICBjYXNlIEFycmF5OjpDb250aWd1b3VzOgotICAg
IGNhc2UgQXJyYXk6OkFsd2F5c1Nsb3dQdXRDb250aWd1b3VzOgogICAgIGNhc2UgQXJyYXk6OkFy
cmF5U3RvcmFnZToKICAgICBjYXNlIEFycmF5OjpTbG93UHV0QXJyYXlTdG9yYWdlOgogICAgIGNh
c2UgQXJyYXk6OkludDhBcnJheToKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHQXJyYXlNb2RlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0FycmF5TW9k
ZS5oCmluZGV4IDlhZjJkZjZiY2M3NS4uZGY3NWM3ODkwZDY0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR0FycmF5TW9kZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHQXJyYXlNb2RlLmgKQEAgLTI5LDcgKzI5LDYgQEAKIAogI2luY2x1ZGUgIkFy
cmF5UHJvZmlsZS5oIgogI2luY2x1ZGUgIlNwZWN1bGF0ZWRUeXBlLmgiCi0jaW5jbHVkZSAiU3Ry
dWN0dXJlU2V0LmgiCiAKIG5hbWVzcGFjZSBKU0MgewogCkBAIC02Miw3ICs2MSw2IEBAIGVudW0g
VHlwZSA6IHVpbnQ4X3QgewogICAgIEludDMyLAogICAgIERvdWJsZSwKICAgICBDb250aWd1b3Vz
LAotICAgIEFsd2F5c1Nsb3dQdXRDb250aWd1b3VzLAogICAgIEFycmF5U3RvcmFnZSwKICAgICBT
bG93UHV0QXJyYXlTdG9yYWdlLAogICAgIApAQCAtMjY2LDcgKzI2NCw2IEBAIHB1YmxpYzoKICAg
ICAgICAgY2FzZSBBcnJheTo6SW50MzI6CiAgICAgICAgIGNhc2UgQXJyYXk6OkRvdWJsZToKICAg
ICAgICAgY2FzZSBBcnJheTo6Q29udGlndW91czoKLSAgICAgICAgY2FzZSBBcnJheTo6QWx3YXlz
U2xvd1B1dENvbnRpZ3VvdXM6CiAgICAgICAgIGNhc2UgQXJyYXk6OkFycmF5U3RvcmFnZToKICAg
ICAgICAgY2FzZSBBcnJheTo6U2xvd1B1dEFycmF5U3RvcmFnZToKICAgICAgICAgICAgIHJldHVy
biB0cnVlOwpAQCAtMzM1LDEyICszMzIsNyBAQCBwdWJsaWM6CiAgICAgCiAgICAgYm9vbCBpc1Ns
b3dQdXQoKSBjb25zdAogICAgIHsKLSAgICAgICAgcmV0dXJuIHR5cGUoKSA9PSBBcnJheTo6U2xv
d1B1dEFycmF5U3RvcmFnZSB8fCB0eXBlKCkgPT0gQXJyYXk6OkFsd2F5c1Nsb3dQdXRDb250aWd1
b3VzOwotICAgIH0KLQotICAgIGJvb2wgaXNBbnlLaW5kT2ZDb250aWd1b3VzKCkgY29uc3QKLSAg
ICB7Ci0gICAgICAgIHJldHVybiB0eXBlKCkgPT0gQXJyYXk6OkNvbnRpZ3VvdXMgfHwgdHlwZSgp
ID09IEFycmF5OjpBbHdheXNTbG93UHV0Q29udGlndW91czsKKyAgICAgICAgcmV0dXJuIHR5cGUo
KSA9PSBBcnJheTo6U2xvd1B1dEFycmF5U3RvcmFnZTsKICAgICB9CiAKICAgICBib29sIGNhbkNT
RVN0b3JhZ2UoKSBjb25zdApAQCAtMzY3LDcgKzM1OSw2IEBAIHB1YmxpYzoKICAgICAgICAgY2Fz
ZSBBcnJheTo6SW50MzI6CiAgICAgICAgIGNhc2UgQXJyYXk6OkRvdWJsZToKICAgICAgICAgY2Fz
ZSBBcnJheTo6Q29udGlndW91czoKLSAgICAgICAgY2FzZSBBcnJheTo6QWx3YXlzU2xvd1B1dENv
bnRpZ3VvdXM6CiAgICAgICAgIGNhc2UgQXJyYXk6OkFycmF5U3RvcmFnZToKICAgICAgICAgY2Fz
ZSBBcnJheTo6U2xvd1B1dEFycmF5U3RvcmFnZToKICAgICAgICAgICAgIHJldHVybiB0cnVlOwpA
QCAtMzgyLDcgKzM3Myw2IEBAIHB1YmxpYzoKICAgICAgICAgY2FzZSBBcnJheTo6U3RyaW5nOgog
ICAgICAgICBjYXNlIEFycmF5OjpEaXJlY3RBcmd1bWVudHM6CiAgICAgICAgIGNhc2UgQXJyYXk6
OlNjb3BlZEFyZ3VtZW50czoKLSAgICAgICAgY2FzZSBBcnJheTo6QWx3YXlzU2xvd1B1dENvbnRp
Z3VvdXM6CiAgICAgICAgICAgICByZXR1cm4gQXJyYXlNb2RlKEFycmF5OjpHZW5lcmljKTsKICAg
ICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgIHJldHVybiAqdGhpczsKQEAgLTQxMCw3ICs0MDAs
NiBAQCBwdWJsaWM6CiAgICAgICAgIGNhc2UgQXJyYXk6OlVucHJvZmlsZWQ6CiAgICAgICAgIGNh
c2UgQXJyYXk6OkZvcmNlRXhpdDoKICAgICAgICAgY2FzZSBBcnJheTo6R2VuZXJpYzoKLSAgICAg
ICAgY2FzZSBBcnJheTo6QWx3YXlzU2xvd1B1dENvbnRpZ3VvdXM6CiAgICAgICAgIC8vIFR5cGVk
QXJyYXlzIGRvIG5vdCBoYXZlIGEgc2VsZiBsZW5ndGggcHJvcGVydHkgYXMgb2YgRVM2LgogICAg
ICAgICBjYXNlIEFycmF5OjpJbnQ4QXJyYXk6CiAgICAgICAgIGNhc2UgQXJyYXk6OkludDE2QXJy
YXk6CkBAIC00NTEsOSArNDQwLDkgQEAgcHVibGljOgogICAgICAgICB9CiAgICAgfQogICAgIAot
ICAgIC8vIFJldHVybnMgZW1wdHkgc2V0IGlmIHRoaXMgaXMgbm90IG9yaWdpbmFsIGFycmF5Lgot
ICAgIFN0cnVjdHVyZVNldCBvcmlnaW5hbEFycmF5U3RydWN0dXJlU2V0KEdyYXBoJiwgY29uc3Qg
Q29kZU9yaWdpbiYpIGNvbnN0OwotICAgIFN0cnVjdHVyZVNldCBvcmlnaW5hbEFycmF5U3RydWN0
dXJlU2V0KEdyYXBoJiwgTm9kZSopIGNvbnN0OworICAgIC8vIFJldHVybnMgMCBpZiB0aGlzIGlz
IG5vdCBPcmlnaW5hbEFycmF5LgorICAgIFN0cnVjdHVyZSogb3JpZ2luYWxBcnJheVN0cnVjdHVy
ZShHcmFwaCYsIGNvbnN0IENvZGVPcmlnaW4mKSBjb25zdDsKKyAgICBTdHJ1Y3R1cmUqIG9yaWdp
bmFsQXJyYXlTdHJ1Y3R1cmUoR3JhcGgmLCBOb2RlKikgY29uc3Q7CiAgICAgCiAgICAgYm9vbCBk
b2VzQ29udmVyc2lvbigpIGNvbnN0CiAgICAgewpAQCAtNDgyLDkgKzQ3MSw2IEBAIHB1YmxpYzoK
ICAgICAgICAgY2FzZSBBcnJheTo6Q29udGlndW91czoKICAgICAgICAgICAgIHJlc3VsdCA9IGFy
cmF5TW9kZXNXaXRoSW5kZXhpbmdTaGFwZXMoQ29udGlndW91c1NoYXBlKTsKICAgICAgICAgICAg
IGJyZWFrOwotICAgICAgICBjYXNlIEFycmF5OjpBbHdheXNTbG93UHV0Q29udGlndW91czoKLSAg
ICAgICAgICAgIHJlc3VsdCA9IGFycmF5TW9kZXNXaXRoSW5kZXhpbmdTaGFwZXMoQWx3YXlzU2xv
d1B1dENvbnRpZ3VvdXNTaGFwZSk7Ci0gICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBB
cnJheTo6QXJyYXlTdG9yYWdlOgogICAgICAgICAgICAgcmV0dXJuIGFycmF5TW9kZXNXaXRoSW5k
ZXhpbmdTaGFwZXMoQXJyYXlTdG9yYWdlU2hhcGUpOwogICAgICAgICBjYXNlIEFycmF5OjpTbG93
UHV0QXJyYXlTdG9yYWdlOgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdBcnJheWlmeVNsb3dQYXRoR2VuZXJhdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR0FycmF5aWZ5U2xvd1BhdGhHZW5lcmF0b3IuaAppbmRleCBhMWY1YWQ5ODcwNWMuLjYwZjM5
MGIxNDA0OSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBcnJheWlm
eVNsb3dQYXRoR2VuZXJhdG9yLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdB
cnJheWlmeVNsb3dQYXRoR2VuZXJhdG9yLmgKQEAgLTgwLDcgKzgwLDYgQEAgcHJpdmF0ZToKICAg
ICAgICAgICAgIGNhc2UgQXJyYXk6OkludDMyOgogICAgICAgICAgICAgY2FzZSBBcnJheTo6RG91
YmxlOgogICAgICAgICAgICAgY2FzZSBBcnJheTo6Q29udGlndW91czoKLSAgICAgICAgICAgIGNh
c2UgQXJyYXk6OkFsd2F5c1Nsb3dQdXRDb250aWd1b3VzOgogICAgICAgICAgICAgICAgIG1fYmFk
UHJvcGVydHlKdW1wLmZpbGwoaml0LCBqaXQtPm1faml0LmJyYW5jaDMyKAogICAgICAgICAgICAg
ICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6QWJvdmVPckVxdWFsLCBtX3Byb3BlcnR5R1BSLAogICAg
ICAgICAgICAgICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6VHJ1c3RlZEltbTMyKE1JTl9TUEFSU0Vf
QVJSQVlfSU5ERVgpKSk7CkBAIC0xMDEsNyArMTAwLDYgQEAgcHJpdmF0ZToKICAgICAgICAgICAg
IGppdC0+Y2FsbE9wZXJhdGlvbihvcGVyYXRpb25FbnN1cmVEb3VibGUsIG1fdGVtcEdQUiwgU3Bl
Y3VsYXRpdmVKSVQ6OlRydXN0ZWRJbW1QdHIoJnZtKSwgbV9iYXNlR1BSKTsKICAgICAgICAgICAg
IGJyZWFrOwogICAgICAgICBjYXNlIEFycmF5OjpDb250aWd1b3VzOgotICAgICAgICBjYXNlIEFy
cmF5OjpBbHdheXNTbG93UHV0Q29udGlndW91czoKICAgICAgICAgICAgIGppdC0+Y2FsbE9wZXJh
dGlvbihvcGVyYXRpb25FbnN1cmVDb250aWd1b3VzLCBtX3RlbXBHUFIsIFNwZWN1bGF0aXZlSklU
OjpUcnVzdGVkSW1tUHRyKCZ2bSksIG1fYmFzZUdQUik7CiAgICAgICAgICAgICBicmVhazsKICAg
ICAgICAgY2FzZSBBcnJheTo6QXJyYXlTdG9yYWdlOgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcAppbmRleCAyYzE1Mzg0ZTUxNjYuLjIyNGU4NTJj
M2NhMyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdCeXRlQ29kZVBh
cnNlci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdCeXRlQ29kZVBhcnNl
ci5jcHAKQEAgLTI1MTksNiArMjUxOSw5IEBAIGJvb2wgQnl0ZUNvZGVQYXJzZXI6OmhhbmRsZUlu
dHJpbnNpY0NhbGwoTm9kZSogY2FsbGVlLCBPcGVyYW5kIHJlc3VsdCwgSW50cmluc2ljCiAgICAg
ICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgICAgICAgICBBcnJheU1vZGUgYXJyYXlN
b2RlID0gZ2V0QXJyYXlNb2RlKEFycmF5OjpSZWFkKTsKKyAgICAgICAgICAgIGlmICghYXJyYXlN
b2RlLmlzSlNBcnJheSgpKQorICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKwogICAgICAg
ICAgICAgaWYgKCFhcnJheU1vZGUuaXNKU0FycmF5V2l0aE9yaWdpbmFsU3RydWN0dXJlKCkpCiAg
ICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogCkBAIC0yNjA1LDMyICsyNjA4LDIxIEBAIGJv
b2wgQnl0ZUNvZGVQYXJzZXI6OmhhbmRsZUludHJpbnNpY0NhbGwoTm9kZSogY2FsbGVlLCBPcGVy
YW5kIHJlc3VsdCwgSW50cmluc2ljCiAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAg
ICAgICAgICAgICBBcnJheU1vZGUgYXJyYXlNb2RlID0gZ2V0QXJyYXlNb2RlKEFycmF5OjpSZWFk
KTsKLSAgICAgICAgICAgIC8vIFdlIGRvIG5vdCB3YW50IHRvIGNvbnZlcnQgYXJyYXlzIGludG8g
b25lIHR5cGUganVzdCB0byBwZXJmb3JtIGluZGV4T2YuCi0gICAgICAgICAgICBpZiAoYXJyYXlN
b2RlLmRvZXNDb252ZXJzaW9uKCkpCisgICAgICAgICAgICBpZiAoIWFycmF5TW9kZS5pc0pTQXJy
YXkoKSkKICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICAgICAgICAgIGF1dG8g
YWRkVG9HcmFwaEFuZFNldFJlc3VsdCA9IFsmXSB7Ci0gICAgICAgICAgICAgICAgaW5zZXJ0Q2hl
Y2tzKCk7Ci0KLSAgICAgICAgICAgICAgICBOb2RlKiBhcnJheSA9IGdldCh2aXJ0dWFsUmVnaXN0
ZXJGb3JBcmd1bWVudEluY2x1ZGluZ1RoaXMoMCwgcmVnaXN0ZXJPZmZzZXQpKTsKLSAgICAgICAg
ICAgICAgICBhZGRWYXJBcmdDaGlsZChhcnJheSk7Ci0gICAgICAgICAgICAgICAgYWRkVmFyQXJn
Q2hpbGQoZ2V0KHZpcnR1YWxSZWdpc3RlckZvckFyZ3VtZW50SW5jbHVkaW5nVGhpcygxLCByZWdp
c3Rlck9mZnNldCkpKTsgLy8gU2VhcmNoIGVsZW1lbnQuCi0gICAgICAgICAgICAgICAgaWYgKGFy
Z3VtZW50Q291bnRJbmNsdWRpbmdUaGlzID49IDMpCi0gICAgICAgICAgICAgICAgICAgIGFkZFZh
ckFyZ0NoaWxkKGdldCh2aXJ0dWFsUmVnaXN0ZXJGb3JBcmd1bWVudEluY2x1ZGluZ1RoaXMoMiwg
cmVnaXN0ZXJPZmZzZXQpKSk7IC8vIFN0YXJ0IGluZGV4LgotICAgICAgICAgICAgICAgIGFkZFZh
ckFyZ0NoaWxkKG51bGxwdHIpOwotCi0gICAgICAgICAgICAgICAgTm9kZSogbm9kZSA9IGFkZFRv
R3JhcGgoTm9kZTo6VmFyQXJnLCBBcnJheUluZGV4T2YsIE9wSW5mbyhhcnJheU1vZGUuYXNXb3Jk
KCkpLCBPcEluZm8oKSk7Ci0gICAgICAgICAgICAgICAgc2V0UmVzdWx0KG5vZGUpOwotICAgICAg
ICAgICAgfTsKKyAgICAgICAgICAgIGlmICghYXJyYXlNb2RlLmlzSlNBcnJheVdpdGhPcmlnaW5h
bFN0cnVjdHVyZSgpKQorICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgICAgICAg
ICAgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCA9IG1fZ3JhcGguZ2xvYmFsT2JqZWN0Rm9y
KGN1cnJlbnROb2RlT3JpZ2luKCkuc2VtYW50aWMpOworICAgICAgICAgICAgLy8gV2UgZG8gbm90
IHdhbnQgdG8gY29udmVydCBhcnJheXMgaW50byBvbmUgdHlwZSBqdXN0IHRvIHBlcmZvcm0gaW5k
ZXhPZi4KKyAgICAgICAgICAgIGlmIChhcnJheU1vZGUuZG9lc0NvbnZlcnNpb24oKSkKKyAgICAg
ICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICAgICAgICAgIHN3aXRjaCAoYXJyYXlNb2Rl
LnR5cGUoKSkgewogICAgICAgICAgICAgY2FzZSBBcnJheTo6RG91YmxlOgogICAgICAgICAgICAg
Y2FzZSBBcnJheTo6SW50MzI6CiAgICAgICAgICAgICBjYXNlIEFycmF5OjpDb250aWd1b3VzOiB7
Ci0gICAgICAgICAgICAgICAgaWYgKCFhcnJheU1vZGUuaXNKU0FycmF5V2l0aE9yaWdpbmFsU3Ry
dWN0dXJlKCkpCi0gICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgICAg
ICAgICBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0ID0gbV9ncmFwaC5nbG9iYWxPYmplY3RG
b3IoY3VycmVudE5vZGVPcmlnaW4oKS5zZW1hbnRpYyk7CiAKICAgICAgICAgICAgICAgICBTdHJ1
Y3R1cmUqIGFycmF5UHJvdG90eXBlU3RydWN0dXJlID0gZ2xvYmFsT2JqZWN0LT5hcnJheVByb3Rv
dHlwZSgpLT5zdHJ1Y3R1cmUoKTsKICAgICAgICAgICAgICAgICBTdHJ1Y3R1cmUqIG9iamVjdFBy
b3RvdHlwZVN0cnVjdHVyZSA9IGdsb2JhbE9iamVjdC0+b2JqZWN0UHJvdG90eXBlKCktPnN0cnVj
dHVyZSgpOwpAQCAtMjY0NCwyNyArMjYzNiwxNyBAQCBib29sIEJ5dGVDb2RlUGFyc2VyOjpoYW5k
bGVJbnRyaW5zaWNDYWxsKE5vZGUqIGNhbGxlZSwgT3BlcmFuZCByZXN1bHQsIEludHJpbnNpYwog
ICAgICAgICAgICAgICAgICAgICBtX2dyYXBoLnJlZ2lzdGVyQW5kV2F0Y2hTdHJ1Y3R1cmVUcmFu
c2l0aW9uKGFycmF5UHJvdG90eXBlU3RydWN0dXJlKTsKICAgICAgICAgICAgICAgICAgICAgbV9n
cmFwaC5yZWdpc3RlckFuZFdhdGNoU3RydWN0dXJlVHJhbnNpdGlvbihvYmplY3RQcm90b3R5cGVT
dHJ1Y3R1cmUpOwogCi0gICAgICAgICAgICAgICAgICAgIGFkZFRvR3JhcGhBbmRTZXRSZXN1bHQo
KTsKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgICAgICAgICAgICAgfQot
Ci0gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICAgICAgfQotCi0gICAgICAg
ICAgICBjYXNlIEFycmF5OjpBbHdheXNTbG93UHV0Q29udGlndW91czogewotICAgICAgICAgICAg
ICAgIGlmIChhcnJheU1vZGUuYXJyYXlDbGFzcygpICE9IEFycmF5OjpPcmlnaW5hbE5vbkFycmF5
KQotICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICAgICAgICAgICAgICBT
dHJ1Y3R1cmUqIG9iamVjdFByb3RvdHlwZVN0cnVjdHVyZSA9IGdsb2JhbE9iamVjdC0+b2JqZWN0
UHJvdG90eXBlKCktPnN0cnVjdHVyZSgpOwotCi0gICAgICAgICAgICAgICAgaWYgKGdsb2JhbE9i
amVjdC0+YWx3YXlzU2xvd1B1dENvbnRpZ3VvdXNQcm90b3R5cGVzQXJlU2FuZVdhdGNocG9pbnRT
ZXQoKS5pc1N0aWxsVmFsaWQoKQotICAgICAgICAgICAgICAgICAgICAmJiBvYmplY3RQcm90b3R5
cGVTdHJ1Y3R1cmUtPnRyYW5zaXRpb25XYXRjaHBvaW50U2V0SXNTdGlsbFZhbGlkKCkKLSAgICAg
ICAgICAgICAgICAgICAgJiYgZ2xvYmFsT2JqZWN0LT5vYmplY3RQcm90b3R5cGVJc1NhbmVDb25j
dXJyZW50bHkob2JqZWN0UHJvdG90eXBlU3RydWN0dXJlKSkgeworICAgICAgICAgICAgICAgICAg
ICBpbnNlcnRDaGVja3MoKTsKIAotICAgICAgICAgICAgICAgICAgICBtX2dyYXBoLndhdGNocG9p
bnRzKCkuYWRkTGF6aWx5KGdsb2JhbE9iamVjdC0+YWx3YXlzU2xvd1B1dENvbnRpZ3VvdXNQcm90
b3R5cGVzQXJlU2FuZVdhdGNocG9pbnRTZXQoKSk7Ci0gICAgICAgICAgICAgICAgICAgIG1fZ3Jh
cGgucmVnaXN0ZXJBbmRXYXRjaFN0cnVjdHVyZVRyYW5zaXRpb24ob2JqZWN0UHJvdG90eXBlU3Ry
dWN0dXJlKTsKKyAgICAgICAgICAgICAgICAgICAgTm9kZSogYXJyYXkgPSBnZXQodmlydHVhbFJl
Z2lzdGVyRm9yQXJndW1lbnRJbmNsdWRpbmdUaGlzKDAsIHJlZ2lzdGVyT2Zmc2V0KSk7CisgICAg
ICAgICAgICAgICAgICAgIGFkZFZhckFyZ0NoaWxkKGFycmF5KTsKKyAgICAgICAgICAgICAgICAg
ICAgYWRkVmFyQXJnQ2hpbGQoZ2V0KHZpcnR1YWxSZWdpc3RlckZvckFyZ3VtZW50SW5jbHVkaW5n
VGhpcygxLCByZWdpc3Rlck9mZnNldCkpKTsgLy8gU2VhcmNoIGVsZW1lbnQuCisgICAgICAgICAg
ICAgICAgICAgIGlmIChhcmd1bWVudENvdW50SW5jbHVkaW5nVGhpcyA+PSAzKQorICAgICAgICAg
ICAgICAgICAgICAgICAgYWRkVmFyQXJnQ2hpbGQoZ2V0KHZpcnR1YWxSZWdpc3RlckZvckFyZ3Vt
ZW50SW5jbHVkaW5nVGhpcygyLCByZWdpc3Rlck9mZnNldCkpKTsgLy8gU3RhcnQgaW5kZXguCisg
ICAgICAgICAgICAgICAgICAgIGFkZFZhckFyZ0NoaWxkKG51bGxwdHIpOwogCi0gICAgICAgICAg
ICAgICAgICAgIGFkZFRvR3JhcGhBbmRTZXRSZXN1bHQoKTsKKyAgICAgICAgICAgICAgICAgICAg
Tm9kZSogbm9kZSA9IGFkZFRvR3JhcGgoTm9kZTo6VmFyQXJnLCBBcnJheUluZGV4T2YsIE9wSW5m
byhhcnJheU1vZGUuYXNXb3JkKCkpLCBPcEluZm8oKSk7CisgICAgICAgICAgICAgICAgICAgIHNl
dFJlc3VsdChub2RlKTsKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAg
ICAgICAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Ns
b2JiZXJpemUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2xvYmJlcml6ZS5oCmlu
ZGV4IGY5OGQwZGVhMDJkNi4uODU4NWJmODgwNWQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR0Nsb2JiZXJpemUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR0Nsb2JiZXJpemUuaApAQCAtMzk2LDggKzM5Niw3IEBAIHZvaWQgY2xvYmJlcml6ZShH
cmFwaCYgZ3JhcGgsIE5vZGUqIG5vZGUsIGNvbnN0IFJlYWRGdW5jdG9yJiByZWFkLCBjb25zdCBX
cml0ZUZ1CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogICAgICAgICAgICAgCi0gICAg
ICAgIGNhc2UgQXJyYXk6OkNvbnRpZ3VvdXM6Ci0gICAgICAgIGNhc2UgQXJyYXk6OkFsd2F5c1Ns
b3dQdXRDb250aWd1b3VzOiB7CisgICAgICAgIGNhc2UgQXJyYXk6OkNvbnRpZ3VvdXM6IHsKICAg
ICAgICAgICAgIGlmIChtb2RlLmlzSW5Cb3VuZHMoKSkgewogICAgICAgICAgICAgICAgIHJlYWQo
QnV0dGVyZmx5X3B1YmxpY0xlbmd0aCk7CiAgICAgICAgICAgICAgICAgcmVhZChJbmRleGVkQ29u
dGlndW91c1Byb3BlcnRpZXMpOwpAQCAtNjY4LDcgKzY2Nyw2IEBAIHZvaWQgY2xvYmJlcml6ZShH
cmFwaCYgZ3JhcGgsIE5vZGUqIG5vZGUsIGNvbnN0IFJlYWRGdW5jdG9yJiByZWFkLCBjb25zdCBX
cml0ZUZ1CiAgICAgICAgICAgICByZWFkKEluZGV4ZWRJbnQzMlByb3BlcnRpZXMpOwogICAgICAg
ICAgICAgcmV0dXJuOwogICAgICAgICBjYXNlIEFycmF5OjpDb250aWd1b3VzOgotICAgICAgICBj
YXNlIEFycmF5OjpBbHdheXNTbG93UHV0Q29udGlndW91czoKICAgICAgICAgICAgIHJlYWQoSW5k
ZXhlZENvbnRpZ3VvdXNQcm9wZXJ0aWVzKTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAg
ZGVmYXVsdDoKQEAgLTEwMTIsNyArMTAxMCw2IEBAIHZvaWQgY2xvYmJlcml6ZShHcmFwaCYgZ3Jh
cGgsIE5vZGUqIG5vZGUsIGNvbnN0IFJlYWRGdW5jdG9yJiByZWFkLCBjb25zdCBXcml0ZUZ1CiAg
ICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICAKICAgICAgICAgY2FzZSBBcnJheTo6Q29u
dGlndW91czoKLSAgICAgICAgY2FzZSBBcnJheTo6QWx3YXlzU2xvd1B1dENvbnRpZ3VvdXM6CiAg
ICAgICAgICAgICBpZiAobW9kZS5pc0luQm91bmRzKCkgfHwgbW9kZS5pc091dE9mQm91bmRzU2Fu
ZUNoYWluKCkpIHsKICAgICAgICAgICAgICAgICByZWFkKEJ1dHRlcmZseV9wdWJsaWNMZW5ndGgp
OwogICAgICAgICAgICAgICAgIHJlYWQoSW5kZXhlZENvbnRpZ3VvdXNQcm9wZXJ0aWVzKTsKQEAg
LTExODMsNyArMTE4MCw2IEBAIHZvaWQgY2xvYmJlcml6ZShHcmFwaCYgZ3JhcGgsIE5vZGUqIG5v
ZGUsIGNvbnN0IFJlYWRGdW5jdG9yJiByZWFkLCBjb25zdCBXcml0ZUZ1CiAgICAgICAgIGNhc2Ug
QXJyYXk6OlN0cmluZzoKICAgICAgICAgY2FzZSBBcnJheTo6RGlyZWN0QXJndW1lbnRzOgogICAg
ICAgICBjYXNlIEFycmF5OjpTY29wZWRBcmd1bWVudHM6Ci0gICAgICAgIGNhc2UgQXJyYXk6OkFs
d2F5c1Nsb3dQdXRDb250aWd1b3VzOgogICAgICAgICAgICAgREZHX0NSQVNIKGdyYXBoLCBub2Rl
LCAiaW1wb3NzaWJsZSBhcnJheSBtb2RlIGZvciBwdXQiKTsKICAgICAgICAgICAgIHJldHVybjsK
ICAgICAgICAgfQpAQCAtMTQzMSw3ICsxNDI3LDYgQEAgdm9pZCBjbG9iYmVyaXplKEdyYXBoJiBn
cmFwaCwgTm9kZSogbm9kZSwgY29uc3QgUmVhZEZ1bmN0b3ImIHJlYWQsIGNvbnN0IFdyaXRlRnUK
ICAgICAgICAgY2FzZSBBcnJheTo6SW50MzI6CiAgICAgICAgIGNhc2UgQXJyYXk6OkRvdWJsZToK
ICAgICAgICAgY2FzZSBBcnJheTo6Q29udGlndW91czoKLSAgICAgICAgY2FzZSBBcnJheTo6QWx3
YXlzU2xvd1B1dENvbnRpZ3VvdXM6CiAgICAgICAgIGNhc2UgQXJyYXk6OkFycmF5U3RvcmFnZToK
ICAgICAgICAgY2FzZSBBcnJheTo6U2xvd1B1dEFycmF5U3RvcmFnZToKICAgICAgICAgICAgIHJl
YWQoQnV0dGVyZmx5X3B1YmxpY0xlbmd0aCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR0ZpeHVwUGhhc2UuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdGaXh1cFBoYXNlLmNwcAppbmRleCBjZjdmMDM1MjgxNGQuLjcwNGIwMDU2ZGVmOSAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdGaXh1cFBoYXNlLmNwcAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0ZpeHVwUGhhc2UuY3BwCkBAIC0zNjk1LDI1ICsz
Njk1LDI1IEBAIHByaXZhdGU6CiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAvLyBOb3Rl
IHRoYXQgd2Ugb25seSBuZWVkIHRvIGJlIHVzaW5nIGEgc3RydWN0dXJlIGNoZWNrIGlmIHdlIG9w
dCBmb3IgSW5Cb3VuZHNTYW5lQ2hhaW4sIHNpbmNlCiAgICAgICAgICAgICAvLyB0aGF0IG5lZWRz
IHRvIHByb3RlY3QgYWdhaW5zdCBKU0FycmF5J3MgX19wcm90b19fIGJlaW5nIGNoYW5nZWQuCi0g
ICAgICAgICAgICBTdHJ1Y3R1cmVTZXQgc3RydWN0dXJlU2V0ID0gYXJyYXlNb2RlLm9yaWdpbmFs
QXJyYXlTdHJ1Y3R1cmVTZXQobV9ncmFwaCwgb3JpZ2luLnNlbWFudGljKTsKKyAgICAgICAgICAg
IFN0cnVjdHVyZSogc3RydWN0dXJlID0gYXJyYXlNb2RlLm9yaWdpbmFsQXJyYXlTdHJ1Y3R1cmUo
bV9ncmFwaCwgb3JpZ2luLnNlbWFudGljKTsKICAgICAgICAgCiAgICAgICAgICAgICBFZGdlIGlu
ZGV4RWRnZSA9IGluZGV4ID8gRWRnZShpbmRleCwgSW50MzJVc2UpIDogRWRnZSgpOwogICAgICAg
ICAgICAgCiAgICAgICAgICAgICBpZiAoYXJyYXlNb2RlLmRvZXNDb252ZXJzaW9uKCkpIHsKLSAg
ICAgICAgICAgICAgICBpZiAoIXN0cnVjdHVyZVNldC5pc0VtcHR5KCkpIHsKKyAgICAgICAgICAg
ICAgICBpZiAoc3RydWN0dXJlKSB7CiAgICAgICAgICAgICAgICAgICAgIG1faW5zZXJ0aW9uU2V0
Lmluc2VydE5vZGUoCiAgICAgICAgICAgICAgICAgICAgICAgICBtX2luZGV4SW5CbG9jaywgU3Bl
Y05vbmUsIEFycmF5aWZ5VG9TdHJ1Y3R1cmUsIG9yaWdpbiwKLSAgICAgICAgICAgICAgICAgICAg
ICAgIE9wSW5mbyhtX2dyYXBoLnJlZ2lzdGVyU3RydWN0dXJlKHN0cnVjdHVyZVNldC5vbmx5U3Ry
dWN0dXJlKCkpKSwgT3BJbmZvKGFycmF5TW9kZS5hc1dvcmQoKSksIEVkZ2UoYXJyYXksIENlbGxV
c2UpLCBpbmRleEVkZ2UpOworICAgICAgICAgICAgICAgICAgICAgICAgT3BJbmZvKG1fZ3JhcGgu
cmVnaXN0ZXJTdHJ1Y3R1cmUoc3RydWN0dXJlKSksIE9wSW5mbyhhcnJheU1vZGUuYXNXb3JkKCkp
LCBFZGdlKGFycmF5LCBDZWxsVXNlKSwgaW5kZXhFZGdlKTsKICAgICAgICAgICAgICAgICB9IGVs
c2UgewogICAgICAgICAgICAgICAgICAgICBtX2luc2VydGlvblNldC5pbnNlcnROb2RlKAogICAg
ICAgICAgICAgICAgICAgICAgICAgbV9pbmRleEluQmxvY2ssIFNwZWNOb25lLCBBcnJheWlmeSwg
b3JpZ2luLAogICAgICAgICAgICAgICAgICAgICAgICAgT3BJbmZvKGFycmF5TW9kZS5hc1dvcmQo
KSksIEVkZ2UoYXJyYXksIENlbGxVc2UpLCBpbmRleEVkZ2UpOwogICAgICAgICAgICAgICAgIH0K
ICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgaWYgKCFzdHJ1Y3R1cmVTZXQu
aXNFbXB0eSgpKSB7CisgICAgICAgICAgICAgICAgaWYgKHN0cnVjdHVyZSkgewogICAgICAgICAg
ICAgICAgICAgICBtX2luc2VydGlvblNldC5pbnNlcnROb2RlKAogICAgICAgICAgICAgICAgICAg
ICAgICAgbV9pbmRleEluQmxvY2ssIFNwZWNOb25lLCBDaGVja1N0cnVjdHVyZSwgb3JpZ2luLAot
ICAgICAgICAgICAgICAgICAgICAgICAgT3BJbmZvKG1fZ3JhcGguYWRkU3RydWN0dXJlU2V0KHN0
cnVjdHVyZVNldCkpLCBFZGdlKGFycmF5LCBDZWxsVXNlKSk7CisgICAgICAgICAgICAgICAgICAg
ICAgICBPcEluZm8obV9ncmFwaC5hZGRTdHJ1Y3R1cmVTZXQoc3RydWN0dXJlKSksIEVkZ2UoYXJy
YXksIENlbGxVc2UpKTsKICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAg
ICAgICBtX2luc2VydGlvblNldC5pbnNlcnROb2RlKAogICAgICAgICAgICAgICAgICAgICAgICAg
bV9pbmRleEluQmxvY2ssIFNwZWNOb25lLCBDaGVja0FycmF5LCBvcmlnaW4sCkBAIC00MTM1LDM5
ICs0MTM1LDEzIEBAIHByaXZhdGU6CiAgICAgICAgICAgICAgICAgYXR0ZW1wdFRvRm9yY2VTdHJp
bmdBcnJheU1vZGVCeVRvU3RyaW5nQ29udmVyc2lvbjxTdHJpbmdPclN0cmluZ09iamVjdFVzZT4o
YXJyYXlNb2RlLCBub2RlKTsKICAgICAgICAgfQogICAgICAgICAgICAgCi0gICAgICAgIGlmICgh
YXJyYXlNb2RlLnN1cHBvcnRzU2VsZkxlbmd0aCgpKSB7Ci0gICAgICAgICAgICBpZiAoYXJyYXlN
b2RlLnR5cGUoKSA9PSBBcnJheTo6QWx3YXlzU2xvd1B1dENvbnRpZ3VvdXMpCi0gICAgICAgICAg
ICAgICAgcmV0dXJuIGF0dGVtcHRUb01ha2VHZXRBcnJheUxlbmd0aEZvckFsd2F5c1Nsb3dQdXRD
b250aWd1b3VzKG5vZGUsIGFycmF5TW9kZSk7Ci0KKyAgICAgICAgaWYgKCFhcnJheU1vZGUuc3Vw
cG9ydHNTZWxmTGVuZ3RoKCkpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgIH0K
ICAgICAgICAgCiAgICAgICAgIGNvbnZlcnRUb0dldEFycmF5TGVuZ3RoKG5vZGUsIGFycmF5TW9k
ZSk7CiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KIAotICAgIGJvb2wgYXR0ZW1wdFRvTWFr
ZUdldEFycmF5TGVuZ3RoRm9yQWx3YXlzU2xvd1B1dENvbnRpZ3VvdXMoTm9kZSogbm9kZSwgQXJy
YXlNb2RlIGFycmF5TW9kZSkKLSAgICB7Ci0gICAgICAgIGlmIChhcnJheU1vZGUuYXJyYXlDbGFz
cygpICE9IEFycmF5OjpPcmlnaW5hbE5vbkFycmF5KQotICAgICAgICAgICAgcmV0dXJuIGZhbHNl
OwotCi0gICAgICAgIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QgPSBtX2dyYXBoLmdsb2Jh
bE9iamVjdEZvcihub2RlLT5vcmlnaW4uc2VtYW50aWMpOwotICAgICAgICBTdHJ1Y3R1cmUqIG9i
amVjdFByb3RvdHlwZVN0cnVjdHVyZSA9IGdsb2JhbE9iamVjdC0+b2JqZWN0UHJvdG90eXBlKCkt
PnN0cnVjdHVyZSgpOwotCi0gICAgICAgIGlmIChnbG9iYWxPYmplY3QtPmFsd2F5c1Nsb3dQdXRD
b250aWd1b3VzUHJvdG90eXBlc0FyZVNhbmVXYXRjaHBvaW50U2V0KCkuaXNTdGlsbFZhbGlkKCkK
LSAgICAgICAgICAgICYmIG9iamVjdFByb3RvdHlwZVN0cnVjdHVyZS0+dHJhbnNpdGlvbldhdGNo
cG9pbnRTZXRJc1N0aWxsVmFsaWQoKQotICAgICAgICAgICAgJiYgZ2xvYmFsT2JqZWN0LT5vYmpl
Y3RQcm90b3R5cGVJc1NhbmVDb25jdXJyZW50bHkob2JqZWN0UHJvdG90eXBlU3RydWN0dXJlKSkg
ewotCi0gICAgICAgICAgICBtX2dyYXBoLndhdGNocG9pbnRzKCkuYWRkTGF6aWx5KGdsb2JhbE9i
amVjdC0+YWx3YXlzU2xvd1B1dENvbnRpZ3VvdXNQcm90b3R5cGVzQXJlU2FuZVdhdGNocG9pbnRT
ZXQoKSk7Ci0gICAgICAgICAgICBtX2dyYXBoLnJlZ2lzdGVyQW5kV2F0Y2hTdHJ1Y3R1cmVUcmFu
c2l0aW9uKG9iamVjdFByb3RvdHlwZVN0cnVjdHVyZSk7Ci0KLSAgICAgICAgICAgIGNvbnZlcnRU
b0dldEFycmF5TGVuZ3RoKG5vZGUsIGFycmF5TW9kZSk7Ci0gICAgICAgICAgICByZXR1cm4gdHJ1
ZTsKLSAgICAgICAgfQotCi0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICB9Ci0KICAgICB2b2lk
IGNvbnZlcnRUb0dldEFycmF5TGVuZ3RoKE5vZGUqIG5vZGUsIEFycmF5TW9kZSBhcnJheU1vZGUp
CiAgICAgewogICAgICAgICBub2RlLT5zZXRPcChHZXRBcnJheUxlbmd0aCk7CkBAIC00Mzk3LDgg
KzQzNzEsNyBAQCBwcml2YXRlOgogICAgICAgICAgICAgICAgIGZpeEVkZ2U8SW50MzJVc2U+KHNl
YXJjaEVsZW1lbnQpOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9Ci0gICAgICAgIGNh
c2UgQXJyYXk6OkNvbnRpZ3VvdXM6Ci0gICAgICAgIGNhc2UgQXJyYXk6OkFsd2F5c1Nsb3dQdXRD
b250aWd1b3VzOiB7CisgICAgICAgIGNhc2UgQXJyYXk6OkNvbnRpZ3VvdXM6IHsKICAgICAgICAg
ICAgIGlmIChzZWFyY2hFbGVtZW50LT5zaG91bGRTcGVjdWxhdGVTdHJpbmcoKSkKICAgICAgICAg
ICAgICAgICBmaXhFZGdlPFN0cmluZ1VzZT4oc2VhcmNoRWxlbWVudCk7CiAgICAgICAgICAgICBl
bHNlIGlmIChzZWFyY2hFbGVtZW50LT5zaG91bGRTcGVjdWxhdGVTeW1ib2woKSkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAKaW5kZXggZWZiZTI1
NjhiNzdiLi5mNzhmMDAwZjcwN2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHU3BlY3VsYXRpdmVKSVQuY3BwCkBAIC03ODAsNyArNzgwLDYgQEAgSklUQ29tcGlsZXI6Okp1
bXBMaXN0IFNwZWN1bGF0aXZlSklUOjpqdW1wU2xvd0ZvclVud2FudGVkQXJyYXlNb2RlKEdQUlJl
ZyB0ZW1wR1AKICAgICBjYXNlIEFycmF5OjpJbnQzMjoKICAgICBjYXNlIEFycmF5OjpEb3VibGU6
CiAgICAgY2FzZSBBcnJheTo6Q29udGlndW91czoKLSAgICBjYXNlIEFycmF5OjpBbHdheXNTbG93
UHV0Q29udGlndW91czoKICAgICBjYXNlIEFycmF5OjpVbmRlY2lkZWQ6CiAgICAgY2FzZSBBcnJh
eTo6QXJyYXlTdG9yYWdlOiB7CiAgICAgICAgIEluZGV4aW5nVHlwZSBzaGFwZSA9IGFycmF5TW9k
ZS5zaGFwZU1hc2soKTsKQEAgLTg3OSw3ICs4NzgsNiBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpj
aGVja0FycmF5KE5vZGUqIG5vZGUpCiAgICAgY2FzZSBBcnJheTo6SW50MzI6CiAgICAgY2FzZSBB
cnJheTo6RG91YmxlOgogICAgIGNhc2UgQXJyYXk6OkNvbnRpZ3VvdXM6Ci0gICAgY2FzZSBBcnJh
eTo6QWx3YXlzU2xvd1B1dENvbnRpZ3VvdXM6CiAgICAgY2FzZSBBcnJheTo6VW5kZWNpZGVkOgog
ICAgIGNhc2UgQXJyYXk6OkFycmF5U3RvcmFnZToKICAgICBjYXNlIEFycmF5OjpTbG93UHV0QXJy
YXlTdG9yYWdlOiB7CkBAIC05MDcsMTEgKzkwNSw5IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNo
ZWNrQXJyYXkoTm9kZSogbm9kZSkKICAgICBjYXNlIEFycmF5OjpJbnQzMjoKICAgICBjYXNlIEFy
cmF5OjpEb3VibGU6CiAgICAgY2FzZSBBcnJheTo6Q29udGlndW91czoKLSAgICBjYXNlIEFycmF5
OjpBbHdheXNTbG93UHV0Q29udGlndW91czoKICAgICBjYXNlIEFycmF5OjpVbmRlY2lkZWQ6CiAg
ICAgY2FzZSBBcnJheTo6QXJyYXlTdG9yYWdlOgogICAgIGNhc2UgQXJyYXk6OlNsb3dQdXRBcnJh
eVN0b3JhZ2U6IHsKLSAgICAgICAgQVNTRVJUKHRlbXBHUFIuaGFzX3ZhbHVlKCkpOwogICAgICAg
ICBtX2ppdC5sb2FkOChNYWNyb0Fzc2VtYmxlcjo6QWRkcmVzcyhiYXNlUmVnLCBKU0NlbGw6Omlu
ZGV4aW5nVHlwZUFuZE1pc2NPZmZzZXQoKSksIHRlbXBHUFIudmFsdWUoKSk7CiAgICAgICAgIHNw
ZWN1bGF0aW9uQ2hlY2soCiAgICAgICAgICAgICBCYWRJbmRleGluZ1R5cGUsIEpTVmFsdWVTb3Vy
Y2U6OnVuYm94ZWRDZWxsKGJhc2VSZWcpLCBudWxscHRyLApAQCAtMjY4MSw3ICsyNjc3LDYgQEAg
dm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZVB1dEJ5VmFsKE5vZGUqIG5vZGUpCiAgICAgY2Fz
ZSBBcnJheTo6U3RyaW5nOgogICAgIGNhc2UgQXJyYXk6OkRpcmVjdEFyZ3VtZW50czoKICAgICBj
YXNlIEFycmF5OjpTY29wZWRBcmd1bWVudHM6Ci0gICAgY2FzZSBBcnJheTo6QWx3YXlzU2xvd1B1
dENvbnRpZ3VvdXM6CiAgICAgY2FzZSBBcnJheTo6VW5kZWNpZGVkOgogI2lmIFVTRShKU1ZBTFVF
MzJfNjQpCiAgICAgY2FzZSBBcnJheTo6QmlnSW50NjRBcnJheToKQEAgLTg2MzEsOCArODYyNiw3
IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVHZXRBcnJheUxlbmd0aChOb2RlKiBub2Rl
KQogICAgIGNhc2UgQXJyYXk6OlVuZGVjaWRlZDoKICAgICBjYXNlIEFycmF5OjpJbnQzMjoKICAg
ICBjYXNlIEFycmF5OjpEb3VibGU6Ci0gICAgY2FzZSBBcnJheTo6Q29udGlndW91czoKLSAgICBj
YXNlIEFycmF5OjpBbHdheXNTbG93UHV0Q29udGlndW91czogeworICAgIGNhc2UgQXJyYXk6OkNv
bnRpZ3VvdXM6IHsKICAgICAgICAgU3RvcmFnZU9wZXJhbmQgc3RvcmFnZSh0aGlzLCBub2RlLT5j
aGlsZDIoKSk7CiAgICAgICAgIEdQUlRlbXBvcmFyeSByZXN1bHQodGhpcywgUmV1c2UsIHN0b3Jh
Z2UpOwogICAgICAgICBHUFJSZWcgc3RvcmFnZVJlZyA9IHN0b3JhZ2UuZ3ByKCk7CkBAIC0xMDEz
Nyw3ICsxMDEzMSw3IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVBcnJheUluZGV4T2Yo
Tm9kZSogbm9kZSkKICAgICAgICAgfQogCiAgICAgICAgIGlmIChzZWFyY2hFbGVtZW50RWRnZS51
c2VLaW5kKCkgPT0gT3RoZXJVc2UpIHsKLSAgICAgICAgICAgIEFTU0VSVChub2RlLT5hcnJheU1v
ZGUoKS5pc0FueUtpbmRPZkNvbnRpZ3VvdXMoKSk7CisgICAgICAgICAgICBBU1NFUlQobm9kZS0+
YXJyYXlNb2RlKCkudHlwZSgpID09IEFycmF5OjpDb250aWd1b3VzKTsKICAgICAgICAgICAgIEpT
VmFsdWVPcGVyYW5kIHNlYXJjaEVsZW1lbnQodGhpcywgc2VhcmNoRWxlbWVudEVkZ2UsIE1hbnVh
bE9wZXJhbmRTcGVjdWxhdGlvbik7CiAgICAgICAgICAgICBHUFJUZW1wb3JhcnkgdGVtcCh0aGlz
KTsKIApAQCAtMTAxNTcsNyArMTAxNTEsNyBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxl
QXJyYXlJbmRleE9mKE5vZGUqIG5vZGUpCiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0K
IAotICAgICAgICBBU1NFUlQobm9kZS0+YXJyYXlNb2RlKCkuaXNBbnlLaW5kT2ZDb250aWd1b3Vz
KCkpOworICAgICAgICBBU1NFUlQobm9kZS0+YXJyYXlNb2RlKCkudHlwZSgpID09IEFycmF5OjpD
b250aWd1b3VzKTsKICAgICAgICAgU3BlY3VsYXRlQ2VsbE9wZXJhbmQgc2VhcmNoRWxlbWVudCh0
aGlzLCBzZWFyY2hFbGVtZW50RWRnZSk7CiAgICAgICAgIEdQUlJlZyBzZWFyY2hFbGVtZW50R1BS
ID0gc2VhcmNoRWxlbWVudC5ncHIoKTsKIApAQCAtMTAyMTcsNyArMTAyMTEsNyBAQCB2b2lkIFNw
ZWN1bGF0aXZlSklUOjpjb21waWxlQXJyYXlJbmRleE9mKE5vZGUqIG5vZGUpCiAgICAgfQogCiAg
ICAgY2FzZSBTdHJpbmdVc2U6IHsKLSAgICAgICAgQVNTRVJUKG5vZGUtPmFycmF5TW9kZSgpLmlz
QW55S2luZE9mQ29udGlndW91cygpKTsKKyAgICAgICAgQVNTRVJUKG5vZGUtPmFycmF5TW9kZSgp
LnR5cGUoKSA9PSBBcnJheTo6Q29udGlndW91cyk7CiAgICAgICAgIFNwZWN1bGF0ZUNlbGxPcGVy
YW5kIHNlYXJjaEVsZW1lbnQodGhpcywgc2VhcmNoRWxlbWVudEVkZ2UpOwogCiAgICAgICAgIEdQ
UlJlZyBzZWFyY2hFbGVtZW50R1BSID0gc2VhcmNoRWxlbWVudC5ncHIoKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHAgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwCmluZGV4
IDBhNjI3ZjczMTMzMi4uMzYyZTBlMmRlNWU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHAKQEAgLTE4OTIsOCArMTg5Miw3
IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVHZXRCeVZhbChOb2RlKiBub2RlLCBjb25z
dCBTY29wZWRMYW1iZGE8c3RkOjp0dXBsZTxKCiAgICAgICAgIGJyZWFrOwogICAgIH0KICAgICBj
YXNlIEFycmF5OjpJbnQzMjoKLSAgICBjYXNlIEFycmF5OjpDb250aWd1b3VzOgotICAgIGNhc2Ug
QXJyYXk6OkFsd2F5c1Nsb3dQdXRDb250aWd1b3VzOiB7CisgICAgY2FzZSBBcnJheTo6Q29udGln
dW91czogewogICAgICAgICBpZiAobm9kZS0+YXJyYXlNb2RlKCkuaXNJbkJvdW5kcygpKSB7CiAg
ICAgICAgICAgICBTcGVjdWxhdGVTdHJpY3RJbnQzMk9wZXJhbmQgcHJvcGVydHkodGhpcywgbV9n
cmFwaC52YXJBcmdDaGlsZChub2RlLCAxKSk7CiAgICAgICAgICAgICBTdG9yYWdlT3BlcmFuZCBz
dG9yYWdlKHRoaXMsIG1fZ3JhcGgudmFyQXJnQ2hpbGQobm9kZSwgMikpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHAKaW5kZXggYjMyYzQ5
NmQ3NmI0Li4zNTJlZjY3OWY0YzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcApAQCAtMjUzMSw4ICsyNTMxLDcgQEAgdm9pZCBTcGVj
dWxhdGl2ZUpJVDo6Y29tcGlsZUdldEJ5VmFsKE5vZGUqIG5vZGUsIGNvbnN0IFNjb3BlZExhbWJk
YTxzdGQ6OnR1cGxlPEoKICAgICAgICAgYnJlYWs7CiAgICAgfQogICAgIGNhc2UgQXJyYXk6Oklu
dDMyOgotICAgIGNhc2UgQXJyYXk6OkNvbnRpZ3VvdXM6Ci0gICAgY2FzZSBBcnJheTo6QWx3YXlz
U2xvd1B1dENvbnRpZ3VvdXM6IHsKKyAgICBjYXNlIEFycmF5OjpDb250aWd1b3VzOiB7CiAgICAg
ICAgIGlmIChub2RlLT5hcnJheU1vZGUoKS5pc0luQm91bmRzKCkpIHsKICAgICAgICAgICAgIFNw
ZWN1bGF0ZVN0cmljdEludDMyT3BlcmFuZCBwcm9wZXJ0eSh0aGlzLCBtX2dyYXBoLnZhckFyZ0No
aWxkKG5vZGUsIDEpKTsKICAgICAgICAgICAgIFN0b3JhZ2VPcGVyYW5kIHN0b3JhZ2UodGhpcywg
bV9ncmFwaC52YXJBcmdDaGlsZChub2RlLCAyKSk7CkBAIC0yNTUyLDcgKzI1NTEsNyBAQCB2b2lk
IFNwZWN1bGF0aXZlSklUOjpjb21waWxlR2V0QnlWYWwoTm9kZSogbm9kZSwgY29uc3QgU2NvcGVk
TGFtYmRhPHN0ZDo6dHVwbGU8SgogCiAgICAgICAgICAgICBtX2ppdC5sb2FkNjQoTWFjcm9Bc3Nl
bWJsZXI6OkJhc2VJbmRleChzdG9yYWdlUmVnLCBwcm9wZXJ0eVJlZywgTWFjcm9Bc3NlbWJsZXI6
OlRpbWVzRWlnaHQpLCByZXN1bHQpOwogICAgICAgICAgICAgaWYgKG5vZGUtPmFycmF5TW9kZSgp
LmlzSW5Cb3VuZHNTYW5lQ2hhaW4oKSkgewotICAgICAgICAgICAgICAgIEFTU0VSVChub2RlLT5h
cnJheU1vZGUoKS5pc0FueUtpbmRPZkNvbnRpZ3VvdXMoKSk7CisgICAgICAgICAgICAgICAgQVNT
RVJUKG5vZGUtPmFycmF5TW9kZSgpLnR5cGUoKSA9PSBBcnJheTo6Q29udGlndW91cyk7CiAgICAg
ICAgICAgICAgICAgSklUQ29tcGlsZXI6Okp1bXAgbm90SG9sZSA9IG1faml0LmJyYW5jaElmTm90
RW1wdHkocmVzdWx0KTsKICAgICAgICAgICAgICAgICBtX2ppdC5tb3ZlKFRydXN0ZWRJbW02NChK
U1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSkpLCByZXN1bHQpOwogICAgICAgICAgICAgICAg
IG5vdEhvbGUubGluaygmbV9qaXQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2Z0bC9GVExBYnN0cmFjdEhlYXBSZXBvc2l0b3J5LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZnRsL0ZUTEFic3RyYWN0SGVhcFJlcG9zaXRvcnkuaAppbmRleCA0Njk4MmNhYzY0NjguLmIyOGRl
NjIyYjIzMyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExBYnN0cmFj
dEhlYXBSZXBvc2l0b3J5LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExBYnN0
cmFjdEhlYXBSZXBvc2l0b3J5LmgKQEAgLTI1NCw3ICsyNTQsNiBAQCBwdWJsaWM6CiAgICAgICAg
IGNhc2UgREZHOjpBcnJheTo6RG91YmxlOgogICAgICAgICAgICAgcmV0dXJuIGluZGV4ZWREb3Vi
bGVQcm9wZXJ0aWVzOwogICAgICAgICBjYXNlIERGRzo6QXJyYXk6OkNvbnRpZ3VvdXM6Ci0gICAg
ICAgIGNhc2UgREZHOjpBcnJheTo6QWx3YXlzU2xvd1B1dENvbnRpZ3VvdXM6CiAgICAgICAgICAg
ICByZXR1cm4gaW5kZXhlZENvbnRpZ3VvdXNQcm9wZXJ0aWVzOwogICAgICAgICBjYXNlIERGRzo6
QXJyYXk6OkFycmF5U3RvcmFnZToKICAgICAgICAgY2FzZSBERkc6OkFycmF5OjpTbG93UHV0QXJy
YXlTdG9yYWdlOgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dl
ckRGR1RvQjMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvQjMu
Y3BwCmluZGV4IGFiNDQwYmE1NjQ0OC4uNDQ1YjA3YTcyMzM3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9CMy5jcHAKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvQjMuY3BwCkBAIC0zODU4LDcgKzM4NTgsNiBAQCBw
cml2YXRlOgogICAgICAgICAgICAgY2FzZSBBcnJheTo6SW50MzI6CiAgICAgICAgICAgICBjYXNl
IEFycmF5OjpEb3VibGU6CiAgICAgICAgICAgICBjYXNlIEFycmF5OjpDb250aWd1b3VzOgotICAg
ICAgICAgICAgY2FzZSBBcnJheTo6QWx3YXlzU2xvd1B1dENvbnRpZ3VvdXM6CiAgICAgICAgICAg
ICAgICAgc3BlY3VsYXRlKAogICAgICAgICAgICAgICAgICAgICBVbmNvdW50YWJsZSwgbm9WYWx1
ZSgpLCBudWxscHRyLAogICAgICAgICAgICAgICAgICAgICBtX291dC5hYm92ZU9yRXF1YWwocHJv
cGVydHksIG1fb3V0LmNvbnN0SW50MzIoTUlOX1NQQVJTRV9BUlJBWV9JTkRFWCkpKTsKQEAgLTM4
NzYsNyArMzg3NSw2IEBAIHByaXZhdGU6CiAgICAgICAgICAgICB2bUNhbGwoVm9pZCwgb3BlcmF0
aW9uRW5zdXJlRG91YmxlLCBtX3ZtVmFsdWUsIGNlbGwpOwogICAgICAgICAgICAgYnJlYWs7CiAg
ICAgICAgIGNhc2UgQXJyYXk6OkNvbnRpZ3VvdXM6Ci0gICAgICAgIGNhc2UgQXJyYXk6OkFsd2F5
c1Nsb3dQdXRDb250aWd1b3VzOgogICAgICAgICAgICAgdm1DYWxsKFZvaWQsIG9wZXJhdGlvbkVu
c3VyZUNvbnRpZ3VvdXMsIG1fdm1WYWx1ZSwgY2VsbCk7CiAgICAgICAgICAgICBicmVhazsKICAg
ICAgICAgY2FzZSBBcnJheTo6QXJyYXlTdG9yYWdlOgpAQCAtNTE1Myw4ICs1MTUxLDcgQEAgSUdO
T1JFX0NMQU5HX1dBUk5JTkdTX0VORAogICAgICAgICBjYXNlIEFycmF5OjpVbmRlY2lkZWQ6CiAg
ICAgICAgIGNhc2UgQXJyYXk6OkludDMyOgogICAgICAgICBjYXNlIEFycmF5OjpEb3VibGU6Ci0g
ICAgICAgIGNhc2UgQXJyYXk6OkNvbnRpZ3VvdXM6Ci0gICAgICAgIGNhc2UgQXJyYXk6OkFsd2F5
c1Nsb3dQdXRDb250aWd1b3VzOiB7CisgICAgICAgIGNhc2UgQXJyYXk6OkNvbnRpZ3VvdXM6IHsK
ICAgICAgICAgICAgIHNldEludDMyKG1fb3V0LmxvYWQzMk5vbk5lZ2F0aXZlKGxvd1N0b3JhZ2Uo
bV9ub2RlLT5jaGlsZDIoKSksIG1faGVhcHMuQnV0dGVyZmx5X3B1YmxpY0xlbmd0aCkpOwogICAg
ICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CkBAIC01MzAwLDggKzUyOTcsNyBAQCBJR05PUkVf
Q0xBTkdfV0FSTklOR1NfRU5ECiAgICAgICAgIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3Qg
PSBtX2dyYXBoLmdsb2JhbE9iamVjdEZvcihtX29yaWdpbi5zZW1hbnRpYyk7CiAgICAgICAgIHN3
aXRjaCAobV9ub2RlLT5hcnJheU1vZGUoKS50eXBlKCkpIHsKICAgICAgICAgY2FzZSBBcnJheTo6
SW50MzI6Ci0gICAgICAgIGNhc2UgQXJyYXk6OkNvbnRpZ3VvdXM6Ci0gICAgICAgIGNhc2UgQXJy
YXk6OkFsd2F5c1Nsb3dQdXRDb250aWd1b3VzOiB7CisgICAgICAgIGNhc2UgQXJyYXk6OkNvbnRp
Z3VvdXM6IHsKICAgICAgICAgICAgIExWYWx1ZSBpbmRleCA9IGxvd0ludDMyKG1fZ3JhcGgudmFy
QXJnQ2hpbGQobV9ub2RlLCAxKSk7CiAgICAgICAgICAgICBMVmFsdWUgc3RvcmFnZSA9IGxvd1N0
b3JhZ2UobV9ncmFwaC52YXJBcmdDaGlsZChtX25vZGUsIDIpKTsKICAgICAgICAgICAgIApAQCAt
NTMxNSwxMyArNTMxMSwxMyBAQCBJR05PUkVfQ0xBTkdfV0FSTklOR1NfRU5ECiAgICAgICAgICAg
ICAgICAgTFZhbHVlIGlzSG9sZSA9IG1fb3V0LmlzWmVybzY0KHJlc3VsdCk7CiAgICAgICAgICAg
ICAgICAgaWYgKG1fbm9kZS0+YXJyYXlNb2RlKCkuaXNJbkJvdW5kc1NhbmVDaGFpbigpKSB7CiAg
ICAgICAgICAgICAgICAgICAgIERGR19BU1NFUlQoCi0gICAgICAgICAgICAgICAgICAgICAgICBt
X2dyYXBoLCBtX25vZGUsIG1fbm9kZS0+YXJyYXlNb2RlKCkuaXNBbnlLaW5kT2ZDb250aWd1b3Vz
KCksIG1fbm9kZS0+YXJyYXlNb2RlKCkudHlwZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgICAg
IG1fZ3JhcGgsIG1fbm9kZSwgbV9ub2RlLT5hcnJheU1vZGUoKS50eXBlKCkgPT0gQXJyYXk6OkNv
bnRpZ3VvdXMsIG1fbm9kZS0+YXJyYXlNb2RlKCkudHlwZSgpKTsKICAgICAgICAgICAgICAgICAg
ICAgcmVzdWx0ID0gbV9vdXQuc2VsZWN0KAogICAgICAgICAgICAgICAgICAgICAgICAgaXNIb2xl
LCBtX291dC5jb25zdEludDY0KEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKSksIHJlc3Vs
dCk7CiAgICAgICAgICAgICAgICAgfSBlbHNlCiAgICAgICAgICAgICAgICAgICAgIHNwZWN1bGF0
ZShMb2FkRnJvbUhvbGUsIG5vVmFsdWUoKSwgbnVsbHB0ciwgaXNIb2xlKTsKICAgICAgICAgICAg
ICAgICAvLyBXZSBoYXZlIHRvIGtlZXAgYmFzZSBhbGl2ZSB0byBrZWVwIGNvbnRlbnQgaW4gc3Rv
cmFnZSBhbGl2ZS4KLSAgICAgICAgICAgICAgICBpZiAobV9ub2RlLT5hcnJheU1vZGUoKS5pc0Fu
eUtpbmRPZkNvbnRpZ3VvdXMoKSkKKyAgICAgICAgICAgICAgICBpZiAobV9ub2RlLT5hcnJheU1v
ZGUoKS50eXBlKCkgPT0gQXJyYXk6OkNvbnRpZ3VvdXMpCiAgICAgICAgICAgICAgICAgICAgIGVu
c3VyZVN0aWxsQWxpdmVIZXJlKGJhc2UpOwogICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQ7
CiAgICAgICAgICAgICB9CkBAIC01MzUzLDcgKzUzNDksNyBAQCBJR05PUkVfQ0xBTkdfV0FSTklO
R1NfRU5ECiAgICAgICAgICAgICAKICAgICAgICAgICAgIG1fb3V0LmFwcGVuZFRvKGNvbnRpbnVh
dGlvbiwgbGFzdE5leHQpOwogICAgICAgICAgICAgLy8gV2UgaGF2ZSB0byBrZWVwIGJhc2UgYWxp
dmUgdG8ga2VlcCBjb250ZW50IGluIHN0b3JhZ2UgYWxpdmUuCi0gICAgICAgICAgICBpZiAobV9u
b2RlLT5hcnJheU1vZGUoKS5pc0FueUtpbmRPZkNvbnRpZ3VvdXMoKSkKKyAgICAgICAgICAgIGlm
IChtX25vZGUtPmFycmF5TW9kZSgpLnR5cGUoKSA9PSBBcnJheTo6Q29udGlndW91cykKICAgICAg
ICAgICAgICAgICBlbnN1cmVTdGlsbEFsaXZlSGVyZShiYXNlKTsKICAgICAgICAgICAgIHJldHVy
biBtX291dC5waGkoSW50NjQsIGZhc3RSZXN1bHQsIHNsb3dSZXN1bHQpOwogICAgICAgICB9CkBA
IC02MjMzLDcgKzYyMjksNiBAQCBJR05PUkVfQ0xBTkdfV0FSTklOR1NfRU5ECiAgICAgICAgIGNh
c2UgQXJyYXk6OkZvcmNlRXhpdDoKICAgICAgICAgY2FzZSBBcnJheTo6R2VuZXJpYzoKICAgICAg
ICAgY2FzZSBBcnJheTo6U2NvcGVkQXJndW1lbnRzOgotICAgICAgICBjYXNlIEFycmF5OjpBbHdh
eXNTbG93UHV0Q29udGlndW91czoKICAgICAgICAgY2FzZSBBcnJheTo6U2VsZWN0VXNpbmdBcmd1
bWVudHM6CiAgICAgICAgIGNhc2UgQXJyYXk6OlNlbGVjdFVzaW5nUHJlZGljdGlvbnM6CiAgICAg
ICAgIGNhc2UgQXJyYXk6OlVuZGVjaWRlZDoKQEAgLTY4MjUsMTUgKzY4MjAsMTUgQEAgSUdOT1JF
X0NMQU5HX1dBUk5JTkdTX0VORAogICAgICAgICAgICAgICAgIHNlYXJjaEVsZW1lbnQgPSBsb3dK
U1ZhbHVlKHNlYXJjaEVsZW1lbnRFZGdlLCBNYW51YWxPcGVyYW5kU3BlY3VsYXRpb24pOwogICAg
ICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgY2FzZSBPYmplY3RVc2U6Ci0gICAgICAg
ICAgICAgICAgQVNTRVJUKG1fbm9kZS0+YXJyYXlNb2RlKCkuaXNBbnlLaW5kT2ZDb250aWd1b3Vz
KCkpOworICAgICAgICAgICAgICAgIEFTU0VSVChtX25vZGUtPmFycmF5TW9kZSgpLnR5cGUoKSA9
PSBBcnJheTo6Q29udGlndW91cyk7CiAgICAgICAgICAgICAgICAgc2VhcmNoRWxlbWVudCA9IGxv
d09iamVjdChzZWFyY2hFbGVtZW50RWRnZSk7CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAg
ICAgICAgICBjYXNlIFN5bWJvbFVzZToKLSAgICAgICAgICAgICAgICBBU1NFUlQobV9ub2RlLT5h
cnJheU1vZGUoKS5pc0FueUtpbmRPZkNvbnRpZ3VvdXMoKSk7CisgICAgICAgICAgICAgICAgQVNT
RVJUKG1fbm9kZS0+YXJyYXlNb2RlKCkudHlwZSgpID09IEFycmF5OjpDb250aWd1b3VzKTsKICAg
ICAgICAgICAgICAgICBzZWFyY2hFbGVtZW50ID0gbG93U3ltYm9sKHNlYXJjaEVsZW1lbnRFZGdl
KTsKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIGNhc2UgT3RoZXJVc2U6Ci0g
ICAgICAgICAgICAgICAgQVNTRVJUKG1fbm9kZS0+YXJyYXlNb2RlKCkuaXNBbnlLaW5kT2ZDb250
aWd1b3VzKCkpOworICAgICAgICAgICAgICAgIEFTU0VSVChtX25vZGUtPmFycmF5TW9kZSgpLnR5
cGUoKSA9PSBBcnJheTo6Q29udGlndW91cyk7CiAgICAgICAgICAgICAgICAgc3BlY3VsYXRlKHNl
YXJjaEVsZW1lbnRFZGdlKTsKICAgICAgICAgICAgICAgICBzZWFyY2hFbGVtZW50ID0gbG93SlNW
YWx1ZShzZWFyY2hFbGVtZW50RWRnZSwgTWFudWFsT3BlcmFuZFNwZWN1bGF0aW9uKTsKICAgICAg
ICAgICAgICAgICBicmVhazsKQEAgLTY5MDEsNyArNjg5Niw3IEBAIElHTk9SRV9DTEFOR19XQVJO
SU5HU19FTkQKICAgICAgICAgfQogCiAgICAgICAgIGNhc2UgU3RyaW5nVXNlOgotICAgICAgICAg
ICAgQVNTRVJUKG1fbm9kZS0+YXJyYXlNb2RlKCkuaXNBbnlLaW5kT2ZDb250aWd1b3VzKCkpOwor
ICAgICAgICAgICAgQVNTRVJUKG1fbm9kZS0+YXJyYXlNb2RlKCkudHlwZSgpID09IEFycmF5OjpD
b250aWd1b3VzKTsKICAgICAgICAgICAgIC8vIFdlIGhhdmUgdG8ga2VlcCBiYXNlIGFsaXZlIHNp
bmNlIHRoYXQga2VlcHMgc3RvcmFnZSBhbGl2ZS4KICAgICAgICAgICAgIGVuc3VyZVN0aWxsQWxp
dmVIZXJlKGJhc2UpOwogICAgICAgICAgICAgc2V0SW50MzIobV9vdXQuY2FzdFRvSW50MzIodm1D
YWxsKEludDY0LCBvcGVyYXRpb25BcnJheUluZGV4T2ZTdHJpbmcsIHdlYWtQb2ludGVyKGdsb2Jh
bE9iamVjdCksIHN0b3JhZ2UsIGxvd1N0cmluZyhzZWFyY2hFbGVtZW50RWRnZSksIHN0YXJ0SW5k
ZXgpKSk7CkBAIC02OTEzLDcgKzY5MDgsNiBAQCBJR05PUkVfQ0xBTkdfV0FSTklOR1NfRU5ECiAg
ICAgICAgICAgICAgICAgc2V0SW50MzIobV9vdXQuY2FzdFRvSW50MzIodm1DYWxsKEludDY0LCBv
cGVyYXRpb25BcnJheUluZGV4T2ZWYWx1ZURvdWJsZSwgd2Vha1BvaW50ZXIoZ2xvYmFsT2JqZWN0
KSwgc3RvcmFnZSwgbG93SlNWYWx1ZShzZWFyY2hFbGVtZW50RWRnZSksIHN0YXJ0SW5kZXgpKSk7
CiAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgY2FzZSBBcnJheTo6Q29udGln
dW91czoKLSAgICAgICAgICAgIGNhc2UgQXJyYXk6OkFsd2F5c1Nsb3dQdXRDb250aWd1b3VzOgog
ICAgICAgICAgICAgICAgIC8vIFdlIGhhdmUgdG8ga2VlcCBiYXNlIGFsaXZlIHNpbmNlIHRoYXQg
a2VlcHMgY29udGVudCBvZiBzdG9yYWdlIGFsaXZlLgogICAgICAgICAgICAgICAgIGVuc3VyZVN0
aWxsQWxpdmVIZXJlKGJhc2UpOwogICAgICAgICAgICAgICAgIEZBTExUSFJPVUdIOwpAQCAtMTk5
MTEsNyArMTk5MDUsNiBAQCBJR05PUkVfQ0xBTkdfV0FSTklOR1NfRU5ECiAgICAgICAgIGNhc2Ug
QXJyYXk6OkludDMyOgogICAgICAgICBjYXNlIEFycmF5OjpEb3VibGU6CiAgICAgICAgIGNhc2Ug
QXJyYXk6OkNvbnRpZ3VvdXM6Ci0gICAgICAgIGNhc2UgQXJyYXk6OkFsd2F5c1Nsb3dQdXRDb250
aWd1b3VzOgogICAgICAgICBjYXNlIEFycmF5OjpVbmRlY2lkZWQ6CiAgICAgICAgIGNhc2UgQXJy
YXk6OkFycmF5U3RvcmFnZTogewogICAgICAgICAgICAgSW5kZXhpbmdUeXBlIGluZGV4aW5nTW9k
ZU1hc2sgPSBJc0FycmF5IHwgSW5kZXhpbmdTaGFwZU1hc2s7CkBAIC0yMDAwNyw3ICsyMDAwMCw2
IEBAIElHTk9SRV9DTEFOR19XQVJOSU5HU19FTkQKICAgICAgICAgY2FzZSBBcnJheTo6SW50MzI6
CiAgICAgICAgIGNhc2UgQXJyYXk6OkRvdWJsZToKICAgICAgICAgY2FzZSBBcnJheTo6Q29udGln
dW91czoKLSAgICAgICAgY2FzZSBBcnJheTo6QWx3YXlzU2xvd1B1dENvbnRpZ3VvdXM6CiAgICAg
ICAgIGNhc2UgQXJyYXk6OlVuZGVjaWRlZDoKICAgICAgICAgY2FzZSBBcnJheTo6QXJyYXlTdG9y
YWdlOgogICAgICAgICBjYXNlIEFycmF5OjpTbG93UHV0QXJyYXlTdG9yYWdlOgpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvSGVhcENlbGwuaCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9oZWFwL0hlYXBDZWxsLmgKaW5kZXggY2VmODcyZmE0MmZiLi5iMjY3MzY2ODZjOWEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0hlYXBDZWxsLmgKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvSGVhcENlbGwuaApAQCAtNjAsNyArNjAsNyBAQCBw
dWJsaWM6CiAgICAgfQogICAgIGJvb2wgaXNaYXBwZWQoKSBjb25zdCB7IHJldHVybiAhKmJpdHdp
c2VfY2FzdDxjb25zdCB1aW50MzJfdCo+KHRoaXMpOyB9CiAKLSAgICBKU19FWFBPUlRfUFJJVkFU
RSBib29sIGlzTGl2ZSgpOworICAgIGJvb2wgaXNMaXZlKCk7CiAKICAgICBib29sIGlzUHJlY2lz
ZUFsbG9jYXRpb24oKSBjb25zdDsKICAgICBDZWxsQ29udGFpbmVyIGNlbGxDb250YWluZXIoKSBj
b25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQ
YXRocy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMuY3Bw
CmluZGV4IDljMDYyMjBiYjhkNi4uZmEwNjg4MWZmYzUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5jcHAKQEAgLTg2MywxMyArODYzLDYgQEAgc3Rh
dGljIEpTVmFsdWUgcGVyZm9ybUxMSW50R2V0QnlJRChCeXRlY29kZUluZGV4IGJ5dGVjb2RlSW5k
ZXgsIENvZGVCbG9jayogY29kZUIKIAogICAgICAgICAgICAgaWYgKCEoLS1tZXRhZGF0YS5oaXRD
b3VudEZvckxMSW50Q2FjaGluZykpCiAgICAgICAgICAgICAgICAgc2V0dXBHZXRCeUlkUHJvdG90
eXBlQ2FjaGUoZ2xvYmFsT2JqZWN0LCB2bSwgY29kZUJsb2NrLCBieXRlY29kZUluZGV4LCBtZXRh
ZGF0YSwgYmFzZUNlbGwsIHNsb3QsIGlkZW50KTsKLSAgICAgICAgfSBlbHNlIGlmIChoYXNBbHdh
eXNTbG93UHV0Q29udGlndW91cyhiYXNlQ2VsbC0+aW5kZXhpbmdNb2RlKCkpICYmIGlkZW50ID09
IHZtLnByb3BlcnR5TmFtZXMtPmxlbmd0aCkgewotICAgICAgICAgICAgewotICAgICAgICAgICAg
ICAgIENvbmN1cnJlbnRKU0xvY2tlciBsb2NrZXIoY29kZUJsb2NrLT5tX2xvY2spOwotICAgICAg
ICAgICAgICAgIG1ldGFkYXRhLnNldEFycmF5TGVuZ3RoTW9kZSgpOwotICAgICAgICAgICAgICAg
IG1ldGFkYXRhLmFycmF5TGVuZ3RoTW9kZS5hcnJheVByb2ZpbGUub2JzZXJ2ZVN0cnVjdHVyZShz
dHJ1Y3R1cmUpOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgdm0ud3JpdGVCYXJyaWVyKGNv
ZGVCbG9jayk7CiAgICAgICAgIH0KICAgICB9IGVsc2UgaWYgKE9wdGlvbnM6OnVzZUxMSW50SUNz
KCkgJiYgaXNKU0FycmF5KGJhc2VWYWx1ZSkgJiYgaWRlbnQgPT0gdm0ucHJvcGVydHlOYW1lcy0+
bGVuZ3RoKSB7CiAgICAgICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbSBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbQppbmRleCA5YTA1YjlhNmMxODYuLmI4MWJiYjRmMGI0
OCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbQpAQCAtNTUyLDE3ICs1NTIsMTcgQEAgY29uc3QgVGFnT2Zmc2V0ID0gY29uc3Rl
eHByIFRhZ09mZnNldAogY29uc3QgUGF5bG9hZE9mZnNldCA9IGNvbnN0ZXhwciBQYXlsb2FkT2Zm
c2V0CiAKICMgQ29uc3RhbnQgZm9yIHJlYXNvbmluZyBhYm91dCBidXR0ZXJmbGllcy4KLWNvbnN0
IElzQXJyYXkgICAgICAgICAgICAgICAgICAgICAgPSBjb25zdGV4cHIgSXNBcnJheQotY29uc3Qg
SW5kZXhpbmdTaGFwZU1hc2sgICAgICAgICAgICA9IGNvbnN0ZXhwciBJbmRleGluZ1NoYXBlTWFz
awotY29uc3QgSW5kZXhpbmdUeXBlTWFzayAgICAgICAgICAgICA9IGNvbnN0ZXhwciBJbmRleGlu
Z1R5cGVNYXNrCi1jb25zdCBOb0luZGV4aW5nU2hhcGUgICAgICAgICAgICAgID0gY29uc3RleHBy
IE5vSW5kZXhpbmdTaGFwZQotY29uc3QgSW50MzJTaGFwZSAgICAgICAgICAgICAgICAgICA9IGNv
bnN0ZXhwciBJbnQzMlNoYXBlCi1jb25zdCBEb3VibGVTaGFwZSAgICAgICAgICAgICAgICAgID0g
Y29uc3RleHByIERvdWJsZVNoYXBlCi1jb25zdCBDb250aWd1b3VzU2hhcGUgICAgICAgICAgICAg
ID0gY29uc3RleHByIENvbnRpZ3VvdXNTaGFwZQotY29uc3QgQWx3YXlzU2xvd1B1dENvbnRpZ3Vv
dXNTaGFwZSA9IGNvbnN0ZXhwciBBbHdheXNTbG93UHV0Q29udGlndW91c1NoYXBlCi1jb25zdCBB
cnJheVN0b3JhZ2VTaGFwZSAgICAgICAgICAgID0gY29uc3RleHByIEFycmF5U3RvcmFnZVNoYXBl
Ci1jb25zdCBDb3B5T25Xcml0ZSAgICAgICAgICAgICAgICAgID0gY29uc3RleHByIENvcHlPbldy
aXRlCi1jb25zdCBBcnJheVdpdGhVbmRlY2lkZWQgICAgICAgICAgID0gY29uc3RleHByIEFycmF5
V2l0aFVuZGVjaWRlZAorY29uc3QgSXNBcnJheSAgICAgICAgICAgICAgICAgID0gY29uc3RleHBy
IElzQXJyYXkKK2NvbnN0IEluZGV4aW5nU2hhcGVNYXNrICAgICAgICA9IGNvbnN0ZXhwciBJbmRl
eGluZ1NoYXBlTWFzaworY29uc3QgSW5kZXhpbmdUeXBlTWFzayAgICAgICAgID0gY29uc3RleHBy
IEluZGV4aW5nVHlwZU1hc2sKK2NvbnN0IE5vSW5kZXhpbmdTaGFwZSAgICAgICAgICA9IGNvbnN0
ZXhwciBOb0luZGV4aW5nU2hhcGUKK2NvbnN0IEludDMyU2hhcGUgICAgICAgICAgICAgICA9IGNv
bnN0ZXhwciBJbnQzMlNoYXBlCitjb25zdCBEb3VibGVTaGFwZSAgICAgICAgICAgICAgPSBjb25z
dGV4cHIgRG91YmxlU2hhcGUKK2NvbnN0IENvbnRpZ3VvdXNTaGFwZSAgICAgICAgICA9IGNvbnN0
ZXhwciBDb250aWd1b3VzU2hhcGUKK2NvbnN0IEFycmF5U3RvcmFnZVNoYXBlICAgICAgICA9IGNv
bnN0ZXhwciBBcnJheVN0b3JhZ2VTaGFwZQorY29uc3QgU2xvd1B1dEFycmF5U3RvcmFnZVNoYXBl
ID0gY29uc3RleHByIFNsb3dQdXRBcnJheVN0b3JhZ2VTaGFwZQorY29uc3QgQ29weU9uV3JpdGUg
ICAgICAgICAgICAgID0gY29uc3RleHByIENvcHlPbldyaXRlCitjb25zdCBBcnJheVdpdGhVbmRl
Y2lkZWQgICAgICAgPSBjb25zdGV4cHIgQXJyYXlXaXRoVW5kZWNpZGVkCiAKICMgVHlwZSBjb25z
dGFudHMuCiBjb25zdCBTdHJ1Y3R1cmVUeXBlID0gY29uc3RleHByIFN0cnVjdHVyZVR5cGUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
MzJfNjQuYXNtIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIzMl82NC5hc20KaW5kZXggYWI1OTNmYzM3YzlkLi41MmRkZDM4YTVmYjQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyMzJfNjQuYXNt
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyMzJf
NjQuYXNtCkBAIC0xNzcxLDggKzE3NzEsOCBAQCBsbGludE9wV2l0aE1ldGFkYXRhKG9wX2dldF9i
eV92YWwsIE9wR2V0QnlWYWwsIG1hY3JvIChzaXplLCBnZXQsIGRpc3BhdGNoLCBtZXRhZAogICAg
IGptcCAub3BHZXRCeVZhbE5vdEVtcHR5CiAKIC5vcEdldEJ5VmFsTm90RG91YmxlOgotICAgIGJp
ZXEgdDIsIEFsd2F5c1Nsb3dQdXRDb250aWd1b3VzU2hhcGUsIC5vcEdldEJ5VmFsSXNDb250aWd1
b3VzCi0gICAgYmlsdCB0MiwgQXJyYXlTdG9yYWdlU2hhcGUsIC5vcEdldEJ5VmFsTm90SW5kZXhl
ZFN0b3JhZ2UKKyAgICBzdWJpIEFycmF5U3RvcmFnZVNoYXBlLCB0MgorICAgIGJpYSB0MiwgU2xv
d1B1dEFycmF5U3RvcmFnZVNoYXBlIC0gQXJyYXlTdG9yYWdlU2hhcGUsIC5vcEdldEJ5VmFsTm90
SW5kZXhlZFN0b3JhZ2UKICAgICBiaWFlcSB0MSwgLXNpemVvZiBJbmRleGluZ0hlYWRlciArIElu
ZGV4aW5nSGVhZGVyOjp1Lmxlbmd0aHMudmVjdG9yTGVuZ3RoW3QzXSwgLm9wR2V0QnlWYWxTbG93
CiAgICAgbG9hZGkgQXJyYXlTdG9yYWdlOjptX3ZlY3RvciArIFRhZ09mZnNldFt0MywgdDEsIDhd
LCB0MgogICAgIGxvYWRpIEFycmF5U3RvcmFnZTo6bV92ZWN0b3IgKyBQYXlsb2FkT2Zmc2V0W3Qz
LCB0MSwgOF0sIHQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbSBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtCmluZGV4IGFhYTJiOTg2MzMzYi4uNTY0ZDhlMzQ5ZTY5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbQorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbQpAQCAtMTkxMCw4ICsxOTEwLDggQEAgbGxpbnRPcFdpdGhNZXRhZGF0YShvcF9n
ZXRfYnlfdmFsLCBPcEdldEJ5VmFsLCBtYWNybyAoc2l6ZSwgZ2V0LCBkaXNwYXRjaCwgbWV0YWQK
ICAgICBqbXAgLm9wR2V0QnlWYWxEb25lCiAgICAgCiAub3BHZXRCeVZhbE5vdERvdWJsZToKLSAg
ICBiaWVxIHQyLCBBbHdheXNTbG93UHV0Q29udGlndW91c1NoYXBlLCAub3BHZXRCeVZhbElzQ29u
dGlndW91cwotICAgIGJpbHQgdDIsIEFycmF5U3RvcmFnZVNoYXBlLCAub3BHZXRCeVZhbE5vdElu
ZGV4ZWRTdG9yYWdlCisgICAgc3ViaSBBcnJheVN0b3JhZ2VTaGFwZSwgdDIKKyAgICBiaWEgdDIs
IFNsb3dQdXRBcnJheVN0b3JhZ2VTaGFwZSAtIEFycmF5U3RvcmFnZVNoYXBlLCAub3BHZXRCeVZh
bE5vdEluZGV4ZWRTdG9yYWdlCiAgICAgYmlhZXEgdDEsIC1zaXplb2YgSW5kZXhpbmdIZWFkZXIg
KyBJbmRleGluZ0hlYWRlcjo6dS5sZW5ndGhzLnZlY3Rvckxlbmd0aFt0M10sIC5vcEdldEJ5VmFs
U2xvdwogICAgIGdldChtX2RzdCwgdDApCiAgICAgbG9hZHEgQXJyYXlTdG9yYWdlOjptX3ZlY3Rv
clt0MywgdDEsIDhdLCB0MgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvQXJyYXlQcm90b3R5cGUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJy
YXlQcm90b3R5cGUuY3BwCmluZGV4IGYxNGFiN2JhMjgxOS4uZTYzZTM0Mzg2NTEzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheVByb3RvdHlwZS5jcHAKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlQcm90b3R5cGUuY3BwCkBAIC0x
MDEyLDcgKzEwMTIsNyBAQCBKU0NfREVGSU5FX0hPU1RfRlVOQ1RJT04oYXJyYXlQcm90b0Z1bmNS
ZXZlcnNlLCAoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgQwogICAgIHRoaXNPYmplY3Qt
PmVuc3VyZVdyaXRhYmxlKHZtKTsKIAogICAgIHN3aXRjaCAodGhpc09iamVjdC0+aW5kZXhpbmdU
eXBlKCkpIHsKLSAgICBjYXNlIEFMTF9GQVNUX1BVVF9DT05USUdVT1VTX0lOREVYSU5HX1RZUEVT
OgorICAgIGNhc2UgQUxMX0NPTlRJR1VPVVNfSU5ERVhJTkdfVFlQRVM6CiAgICAgY2FzZSBBTExf
SU5UMzJfSU5ERVhJTkdfVFlQRVM6IHsKICAgICAgICAgYXV0byYgYnV0dGVyZmx5ID0gKnRoaXNP
YmplY3QtPmJ1dHRlcmZseSgpOwogICAgICAgICBpZiAobGVuZ3RoID4gYnV0dGVyZmx5LnB1Ymxp
Y0xlbmd0aCgpKQpAQCAtMTMyMiw3ICsxMzIyLDcgQEAgSlNDX0RFRklORV9IT1NUX0ZVTkNUSU9O
KGFycmF5UHJvdG9GdW5jVW5TaGlmdCwgKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEMK
IAogZW51bSBjbGFzcyBJbmRleE9mRGlyZWN0aW9uIHsgRm9yd2FyZCwgQmFja3dhcmQgfTsKIHRl
bXBsYXRlPEluZGV4T2ZEaXJlY3Rpb24gZGlyZWN0aW9uPgotQUxXQVlTX0lOTElORSBKU1ZhbHVl
IHRyeUZhc3RJbmRleE9mKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFZNJiB2bSwgSlNP
YmplY3QqIGFycmF5LCB1aW50NjRfdCBsZW5ndGg2NCwgSlNWYWx1ZSBzZWFyY2hFbGVtZW50LCB1
aW50NjRfdCBpbmRleDY0KQorQUxXQVlTX0lOTElORSBKU1ZhbHVlIGZhc3RJbmRleE9mKEpTR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFZNJiB2bSwgSlNBcnJheSogYXJyYXksIHVpbnQ2NF90
IGxlbmd0aDY0LCBKU1ZhbHVlIHNlYXJjaEVsZW1lbnQsIHVpbnQ2NF90IGluZGV4NjQpCiB7CiAg
ICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwogCkBAIC0xNDQ0LDEwICsx
NDQ0LDEyIEBAIEpTQ19ERUZJTkVfSE9TVF9GVU5DVElPTihhcnJheVByb3RvRnVuY0luZGV4T2Ys
IChKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBDCiAgICAgUkVUVVJOX0lGX0VYQ0VQVElP
TihzY29wZSwgeyB9KTsKICAgICBKU1ZhbHVlIHNlYXJjaEVsZW1lbnQgPSBjYWxsRnJhbWUtPmFy
Z3VtZW50KDApOwogCi0gICAgSlNWYWx1ZSByZXN1bHQgPSB0cnlGYXN0SW5kZXhPZjxJbmRleE9m
RGlyZWN0aW9uOjpGb3J3YXJkPihnbG9iYWxPYmplY3QsIHZtLCB0aGlzT2JqZWN0LCBsZW5ndGgs
IHNlYXJjaEVsZW1lbnQsIGluZGV4KTsKLSAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB7
IH0pOwotICAgIGlmIChyZXN1bHQpCi0gICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUocmVz
dWx0KTsKKyAgICBpZiAoaXNKU0FycmF5KHRoaXNPYmplY3QpKSB7CisgICAgICAgIEpTVmFsdWUg
cmVzdWx0ID0gZmFzdEluZGV4T2Y8SW5kZXhPZkRpcmVjdGlvbjo6Rm9yd2FyZD4oZ2xvYmFsT2Jq
ZWN0LCB2bSwgYXNBcnJheSh0aGlzT2JqZWN0KSwgbGVuZ3RoLCBzZWFyY2hFbGVtZW50LCBpbmRl
eCk7CisgICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIHsgfSk7CisgICAgICAgIGlm
IChyZXN1bHQpCisgICAgICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHJlc3VsdCk7Cisg
ICAgfQogCiAgICAgZm9yICg7IGluZGV4IDwgbGVuZ3RoOyArK2luZGV4KSB7CiAgICAgICAgIEpT
VmFsdWUgZSA9IGdldFByb3BlcnR5KGdsb2JhbE9iamVjdCwgdGhpc09iamVjdCwgaW5kZXgpOwpA
QCAtMTQ5NCwxMCArMTQ5NiwxMiBAQCBKU0NfREVGSU5FX0hPU1RfRlVOQ1RJT04oYXJyYXlQcm90
b0Z1bmNMYXN0SW5kZXhPZiwgKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplYwogCiAgICAgSlNW
YWx1ZSBzZWFyY2hFbGVtZW50ID0gY2FsbEZyYW1lLT5hcmd1bWVudCgwKTsKIAotICAgIEpTVmFs
dWUgcmVzdWx0ID0gdHJ5RmFzdEluZGV4T2Y8SW5kZXhPZkRpcmVjdGlvbjo6QmFja3dhcmQ+KGds
b2JhbE9iamVjdCwgdm0sIHRoaXNPYmplY3QsIGxlbmd0aCwgc2VhcmNoRWxlbWVudCwgaW5kZXgp
OwotICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIHsgfSk7Ci0gICAgaWYgKHJlc3VsdCkK
LSAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShyZXN1bHQpOworICAgIGlmIChpc0pTQXJy
YXkodGhpc09iamVjdCkpIHsKKyAgICAgICAgSlNWYWx1ZSByZXN1bHQgPSBmYXN0SW5kZXhPZjxJ
bmRleE9mRGlyZWN0aW9uOjpCYWNrd2FyZD4oZ2xvYmFsT2JqZWN0LCB2bSwgYXNBcnJheSh0aGlz
T2JqZWN0KSwgbGVuZ3RoLCBzZWFyY2hFbGVtZW50LCBpbmRleCk7CisgICAgICAgIFJFVFVSTl9J
Rl9FWENFUFRJT04oc2NvcGUsIHsgfSk7CisgICAgICAgIGlmIChyZXN1bHQpCisgICAgICAgICAg
ICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHJlc3VsdCk7CisgICAgfQogCiAgICAgZG8gewogICAg
ICAgICBBU1NFUlQoaW5kZXggPCBsZW5ndGgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSW5kZXhpbmdUeXBlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0luZGV4aW5nVHlwZS5jcHAKaW5kZXggZmY1Mjg5M2RlNmI5Li42NGZjZDgxZDZkY2Ug
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0luZGV4aW5nVHlwZS5j
cHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW5kZXhpbmdUeXBlLmNwcApA
QCAtODgsOSArODgsNiBAQCB2b2lkIGR1bXBJbmRleGluZ1R5cGUoUHJpbnRTdHJlYW0mIG91dCwg
SW5kZXhpbmdUeXBlIGluZGV4aW5nVHlwZSkKICAgICBjYXNlIE5vbkFycmF5V2l0aENvbnRpZ3Vv
dXM6CiAgICAgICAgIGJhc2ljTmFtZSA9ICJOb25BcnJheVdpdGhDb250aWd1b3VzIjsKICAgICAg
ICAgYnJlYWs7Ci0gICAgY2FzZSBOb25BcnJheVdpdGhBbHdheXNTbG93UHV0Q29udGlndW91czoK
LSAgICAgICAgYmFzaWNOYW1lID0gIk5vbkFycmF5V2l0aEFsd2F5c1Nsb3dQdXRDb250aWd1b3Vz
IjsKLSAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBOb25BcnJheVdpdGhBcnJheVN0b3JhZ2U6CiAg
ICAgICAgIGJhc2ljTmFtZSA9ICJOb25BcnJheVdpdGhBcnJheVN0b3JhZ2UiOwogICAgICAgICBi
cmVhazsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0luZGV4aW5n
VHlwZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW5kZXhpbmdUeXBlLmgKaW5k
ZXggYTVlYTM3ZjQ4ZWNlLi4wZGU0NTBjOTBjNDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0luZGV4aW5nVHlwZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0luZGV4aW5nVHlwZS5oCkBAIC02OCwxMyArNjgsMTIgQEAgc3RhdGljIGNvbnN0
IEluZGV4aW5nVHlwZSBVbmRlY2lkZWRTaGFwZSAgICAgICAgICAgICAgICAgID0gMHgwMjsgLy8g
T25seSB1c2VmdWwKIHN0YXRpYyBjb25zdCBJbmRleGluZ1R5cGUgSW50MzJTaGFwZSAgICAgICAg
ICAgICAgICAgICAgICA9IDB4MDQ7CiBzdGF0aWMgY29uc3QgSW5kZXhpbmdUeXBlIERvdWJsZVNo
YXBlICAgICAgICAgICAgICAgICAgICAgPSAweDA2Owogc3RhdGljIGNvbnN0IEluZGV4aW5nVHlw
ZSBDb250aWd1b3VzU2hhcGUgICAgICAgICAgICAgICAgID0gMHgwODsKLXN0YXRpYyBjb25zdCBJ
bmRleGluZ1R5cGUgQWx3YXlzU2xvd1B1dENvbnRpZ3VvdXNTaGFwZSAgICA9IDB4MEE7Ci1zdGF0
aWMgY29uc3QgSW5kZXhpbmdUeXBlIEFycmF5U3RvcmFnZVNoYXBlICAgICAgICAgICAgICAgPSAw
eDBDOwotc3RhdGljIGNvbnN0IEluZGV4aW5nVHlwZSBTbG93UHV0QXJyYXlTdG9yYWdlU2hhcGUg
ICAgICAgID0gMHgwRTsKK3N0YXRpYyBjb25zdCBJbmRleGluZ1R5cGUgQXJyYXlTdG9yYWdlU2hh
cGUgICAgICAgICAgICAgICA9IDB4MEE7CitzdGF0aWMgY29uc3QgSW5kZXhpbmdUeXBlIFNsb3dQ
dXRBcnJheVN0b3JhZ2VTaGFwZSAgICAgICAgPSAweDBDOwogCiBzdGF0aWMgY29uc3QgSW5kZXhp
bmdUeXBlIEluZGV4aW5nU2hhcGVNYXNrICAgICAgICAgICAgICAgPSAweDBFOwogc3RhdGljIGNv
bnN0IEluZGV4aW5nVHlwZSBJbmRleGluZ1NoYXBlU2hpZnQgICAgICAgICAgICAgID0gMTsKLXN0
YXRpYyBjb25zdCBJbmRleGluZ1R5cGUgTnVtYmVyT2ZJbmRleGluZ1NoYXBlcyAgICAgICAgICA9
IDg7CitzdGF0aWMgY29uc3QgSW5kZXhpbmdUeXBlIE51bWJlck9mSW5kZXhpbmdTaGFwZXMgICAg
ICAgICAgPSA3Owogc3RhdGljIGNvbnN0IEluZGV4aW5nVHlwZSBJbmRleGluZ1R5cGVNYXNrICAg
ICAgICAgICAgICAgID0gSW5kZXhpbmdTaGFwZU1hc2sgfCBJc0FycmF5OwogCiAvLyBXaGV0aGVy
IG9yIG5vdCB0aGUgYnV0dGVyZmx5IGlzIGNvcHkgb24gd3JpdGUuIElmIGl0IGlzIGNvcHkgb24g
d3JpdGUgdGhlbiB0aGUgYnV0dGVyZmx5IGlzIGFjdHVhbGx5IGEgSlNJbW11dGFibGVCdXR0ZXJm
bHkuIFRoaXMgc2hvdWxkIG9ubHkgZXZlciBiZSBzZXQgaWYgdGhlcmUgYXJlIG5vIG5hbWVkIHBy
b3BlcnRpZXMuCkBAIC05NiwyMyArOTUsMjIgQEAgc3RhdGljIGNvbnN0IEluZGV4aW5nVHlwZSBJ
bmRleGluZ1R5cGVMb2NrSXNIZWxkICAgICAgICAgID0gMHg0MDsKIHN0YXRpYyBjb25zdCBJbmRl
eGluZ1R5cGUgSW5kZXhpbmdUeXBlTG9ja0hhc1BhcmtlZCAgICAgICA9IDB4ODA7CiAKIC8vIExp
c3Qgb2YgYWNjZXB0YWJsZSBhcnJheSB0eXBlcy4KLXN0YXRpYyBjb25zdCBJbmRleGluZ1R5cGUg
Tm9uQXJyYXkgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAweDA7Ci1zdGF0aWMgY29uc3Qg
SW5kZXhpbmdUeXBlIE5vbkFycmF5V2l0aEludDMyICAgICAgICAgICAgICAgICAgID0gSW50MzJT
aGFwZTsKLXN0YXRpYyBjb25zdCBJbmRleGluZ1R5cGUgTm9uQXJyYXlXaXRoRG91YmxlICAgICAg
ICAgICAgICAgICAgPSBEb3VibGVTaGFwZTsKLXN0YXRpYyBjb25zdCBJbmRleGluZ1R5cGUgTm9u
QXJyYXlXaXRoQ29udGlndW91cyAgICAgICAgICAgICAgPSBDb250aWd1b3VzU2hhcGU7Ci1zdGF0
aWMgY29uc3QgSW5kZXhpbmdUeXBlIE5vbkFycmF5V2l0aEFsd2F5c1Nsb3dQdXRDb250aWd1b3Vz
ID0gQWx3YXlzU2xvd1B1dENvbnRpZ3VvdXNTaGFwZTsKLXN0YXRpYyBjb25zdCBJbmRleGluZ1R5
cGUgTm9uQXJyYXlXaXRoQXJyYXlTdG9yYWdlICAgICAgICAgICAgPSBBcnJheVN0b3JhZ2VTaGFw
ZTsKLXN0YXRpYyBjb25zdCBJbmRleGluZ1R5cGUgTm9uQXJyYXlXaXRoU2xvd1B1dEFycmF5U3Rv
cmFnZSAgICAgPSBTbG93UHV0QXJyYXlTdG9yYWdlU2hhcGU7Ci1zdGF0aWMgY29uc3QgSW5kZXhp
bmdUeXBlIEFycmF5Q2xhc3MgICAgICAgICAgICAgICAgICAgICAgICAgID0gSXNBcnJheTsgLy8g
SSdkIHdhbnQgdG8gY2FsbCB0aGlzICJBcnJheSIgYnV0IHRoaXMgd291bGQgbGVhZCB0byBkaXNh
c3Ryb3VzIG5hbWVzcGFjZSBwb2xsdXRpb24uCi1zdGF0aWMgY29uc3QgSW5kZXhpbmdUeXBlIEFy
cmF5V2l0aFVuZGVjaWRlZCAgICAgICAgICAgICAgICAgID0gSXNBcnJheSB8IFVuZGVjaWRlZFNo
YXBlOwotc3RhdGljIGNvbnN0IEluZGV4aW5nVHlwZSBBcnJheVdpdGhJbnQzMiAgICAgICAgICAg
ICAgICAgICAgICA9IElzQXJyYXkgfCBJbnQzMlNoYXBlOwotc3RhdGljIGNvbnN0IEluZGV4aW5n
VHlwZSBBcnJheVdpdGhEb3VibGUgICAgICAgICAgICAgICAgICAgICA9IElzQXJyYXkgfCBEb3Vi
bGVTaGFwZTsKLXN0YXRpYyBjb25zdCBJbmRleGluZ1R5cGUgQXJyYXlXaXRoQ29udGlndW91cyAg
ICAgICAgICAgICAgICAgPSBJc0FycmF5IHwgQ29udGlndW91c1NoYXBlOwotc3RhdGljIGNvbnN0
IEluZGV4aW5nVHlwZSBBcnJheVdpdGhBcnJheVN0b3JhZ2UgICAgICAgICAgICAgICA9IElzQXJy
YXkgfCBBcnJheVN0b3JhZ2VTaGFwZTsKLXN0YXRpYyBjb25zdCBJbmRleGluZ1R5cGUgQXJyYXlX
aXRoU2xvd1B1dEFycmF5U3RvcmFnZSAgICAgICAgPSBJc0FycmF5IHwgU2xvd1B1dEFycmF5U3Rv
cmFnZVNoYXBlOwotc3RhdGljIGNvbnN0IEluZGV4aW5nVHlwZSBDb3B5T25Xcml0ZUFycmF5V2l0
aEludDMyICAgICAgICAgICA9IElzQXJyYXkgfCBJbnQzMlNoYXBlIHwgQ29weU9uV3JpdGU7Ci1z
dGF0aWMgY29uc3QgSW5kZXhpbmdUeXBlIENvcHlPbldyaXRlQXJyYXlXaXRoRG91YmxlICAgICAg
ICAgID0gSXNBcnJheSB8IERvdWJsZVNoYXBlIHwgQ29weU9uV3JpdGU7Ci1zdGF0aWMgY29uc3Qg
SW5kZXhpbmdUeXBlIENvcHlPbldyaXRlQXJyYXlXaXRoQ29udGlndW91cyAgICAgID0gSXNBcnJh
eSB8IENvbnRpZ3VvdXNTaGFwZSB8IENvcHlPbldyaXRlOworc3RhdGljIGNvbnN0IEluZGV4aW5n
VHlwZSBOb25BcnJheSAgICAgICAgICAgICAgICAgICAgICAgID0gMHgwOworc3RhdGljIGNvbnN0
IEluZGV4aW5nVHlwZSBOb25BcnJheVdpdGhJbnQzMiAgICAgICAgICAgICAgID0gSW50MzJTaGFw
ZTsKK3N0YXRpYyBjb25zdCBJbmRleGluZ1R5cGUgTm9uQXJyYXlXaXRoRG91YmxlICAgICAgICAg
ICAgICA9IERvdWJsZVNoYXBlOworc3RhdGljIGNvbnN0IEluZGV4aW5nVHlwZSBOb25BcnJheVdp
dGhDb250aWd1b3VzICAgICAgICAgID0gQ29udGlndW91c1NoYXBlOworc3RhdGljIGNvbnN0IElu
ZGV4aW5nVHlwZSBOb25BcnJheVdpdGhBcnJheVN0b3JhZ2UgICAgICAgID0gQXJyYXlTdG9yYWdl
U2hhcGU7CitzdGF0aWMgY29uc3QgSW5kZXhpbmdUeXBlIE5vbkFycmF5V2l0aFNsb3dQdXRBcnJh
eVN0b3JhZ2UgPSBTbG93UHV0QXJyYXlTdG9yYWdlU2hhcGU7CitzdGF0aWMgY29uc3QgSW5kZXhp
bmdUeXBlIEFycmF5Q2xhc3MgICAgICAgICAgICAgICAgICAgICAgPSBJc0FycmF5OyAvLyBJJ2Qg
d2FudCB0byBjYWxsIHRoaXMgIkFycmF5IiBidXQgdGhpcyB3b3VsZCBsZWFkIHRvIGRpc2FzdHJv
dXMgbmFtZXNwYWNlIHBvbGx1dGlvbi4KK3N0YXRpYyBjb25zdCBJbmRleGluZ1R5cGUgQXJyYXlX
aXRoVW5kZWNpZGVkICAgICAgICAgICAgICA9IElzQXJyYXkgfCBVbmRlY2lkZWRTaGFwZTsKK3N0
YXRpYyBjb25zdCBJbmRleGluZ1R5cGUgQXJyYXlXaXRoSW50MzIgICAgICAgICAgICAgICAgICA9
IElzQXJyYXkgfCBJbnQzMlNoYXBlOworc3RhdGljIGNvbnN0IEluZGV4aW5nVHlwZSBBcnJheVdp
dGhEb3VibGUgICAgICAgICAgICAgICAgID0gSXNBcnJheSB8IERvdWJsZVNoYXBlOworc3RhdGlj
IGNvbnN0IEluZGV4aW5nVHlwZSBBcnJheVdpdGhDb250aWd1b3VzICAgICAgICAgICAgID0gSXNB
cnJheSB8IENvbnRpZ3VvdXNTaGFwZTsKK3N0YXRpYyBjb25zdCBJbmRleGluZ1R5cGUgQXJyYXlX
aXRoQXJyYXlTdG9yYWdlICAgICAgICAgICA9IElzQXJyYXkgfCBBcnJheVN0b3JhZ2VTaGFwZTsK
K3N0YXRpYyBjb25zdCBJbmRleGluZ1R5cGUgQXJyYXlXaXRoU2xvd1B1dEFycmF5U3RvcmFnZSAg
ICA9IElzQXJyYXkgfCBTbG93UHV0QXJyYXlTdG9yYWdlU2hhcGU7CitzdGF0aWMgY29uc3QgSW5k
ZXhpbmdUeXBlIENvcHlPbldyaXRlQXJyYXlXaXRoSW50MzIgICAgICAgPSBJc0FycmF5IHwgSW50
MzJTaGFwZSB8IENvcHlPbldyaXRlOworc3RhdGljIGNvbnN0IEluZGV4aW5nVHlwZSBDb3B5T25X
cml0ZUFycmF5V2l0aERvdWJsZSAgICAgID0gSXNBcnJheSB8IERvdWJsZVNoYXBlIHwgQ29weU9u
V3JpdGU7CitzdGF0aWMgY29uc3QgSW5kZXhpbmdUeXBlIENvcHlPbldyaXRlQXJyYXlXaXRoQ29u
dGlndW91cyAgPSBJc0FycmF5IHwgQ29udGlndW91c1NoYXBlIHwgQ29weU9uV3JpdGU7CiAKICNk
ZWZpbmUgQUxMX0JMQU5LX0lOREVYSU5HX1RZUEVTIFwKICAgICBOb25BcnJheTogICAgICAgICAg
ICAgICAgICAgIFwKQEAgLTEzNywyMiArMTM1LDE0IEBAIHN0YXRpYyBjb25zdCBJbmRleGluZ1R5
cGUgQ29weU9uV3JpdGVBcnJheVdpdGhDb250aWd1b3VzICAgICAgPSBJc0FycmF5IHwgQ29udGln
CiAgICAgQUxMX1dSSVRBQkxFX0RPVUJMRV9JTkRFWElOR19UWVBFUzogXAogICAgIGNhc2UgQ29w
eU9uV3JpdGVBcnJheVdpdGhEb3VibGUKIAotI2RlZmluZSBBTExfV1JJVEFCTEVfRkFTVF9QVVRf
Q09OVElHVU9VU19JTkRFWElOR19UWVBFUyBcCisjZGVmaW5lIEFMTF9XUklUQUJMRV9DT05USUdV
T1VTX0lOREVYSU5HX1RZUEVTICAgIFwKICAgICBOb25BcnJheVdpdGhDb250aWd1b3VzOiAgICAg
ICAgICAgICAgICAgICAgICAgXAogICAgIGNhc2UgQXJyYXlXaXRoQ29udGlndW91cyAgICAgICAg
ICAgICAgICAgICAgICBcCiAKLSNkZWZpbmUgQUxMX1dSSVRBQkxFX0NPTlRJR1VPVVNfSU5ERVhJ
TkdfVFlQRVMgICAgICAgXAotICAgIEFMTF9XUklUQUJMRV9GQVNUX1BVVF9DT05USUdVT1VTX0lO
REVYSU5HX1RZUEVTOiBcCi0gICAgY2FzZSBOb25BcnJheVdpdGhBbHdheXNTbG93UHV0Q29udGln
dW91cwotCi0jZGVmaW5lIEFMTF9GQVNUX1BVVF9DT05USUdVT1VTX0lOREVYSU5HX1RZUEVTICAg
ICAgICBcCi0gICAgQUxMX1dSSVRBQkxFX0ZBU1RfUFVUX0NPTlRJR1VPVVNfSU5ERVhJTkdfVFlQ
RVM6ICBcCisjZGVmaW5lIEFMTF9DT05USUdVT1VTX0lOREVYSU5HX1RZUEVTICAgICAgICBcCisg
ICAgQUxMX1dSSVRBQkxFX0NPTlRJR1VPVVNfSU5ERVhJTkdfVFlQRVM6ICBcCiAgICAgY2FzZSBD
b3B5T25Xcml0ZUFycmF5V2l0aENvbnRpZ3VvdXMKIAotI2RlZmluZSBBTExfQ09OVElHVU9VU19J
TkRFWElOR19UWVBFUyAgICAgICAgIFwKLSAgICBBTExfRkFTVF9QVVRfQ09OVElHVU9VU19JTkRF
WElOR19UWVBFUzogICBcCi0gICAgY2FzZSBOb25BcnJheVdpdGhBbHdheXNTbG93UHV0Q29udGln
dW91cwotCiAjZGVmaW5lIEFSUkFZX1dJVEhfQVJSQVlfU1RPUkFHRV9JTkRFWElOR19UWVBFUyBc
CiAgICAgQXJyYXlXaXRoQXJyYXlTdG9yYWdlOiAgICAgICAgICAgICAgICAgICAgICBcCiAgICAg
Y2FzZSBBcnJheVdpdGhTbG93UHV0QXJyYXlTdG9yYWdlCkBAIC0xODcsMTYgKzE3Nyw2IEBAIGlu
bGluZSBib29sIGhhc0NvbnRpZ3VvdXMoSW5kZXhpbmdUeXBlIGluZGV4aW5nVHlwZSkKICAgICBy
ZXR1cm4gKGluZGV4aW5nVHlwZSAmIEluZGV4aW5nU2hhcGVNYXNrKSA9PSBDb250aWd1b3VzU2hh
cGU7CiB9CiAKLWlubGluZSBib29sIGhhc0Fsd2F5c1Nsb3dQdXRDb250aWd1b3VzKEluZGV4aW5n
VHlwZSBpbmRleGluZ1R5cGUpCi17Ci0gICAgcmV0dXJuIChpbmRleGluZ1R5cGUgJiBJbmRleGlu
Z1NoYXBlTWFzaykgPT0gQWx3YXlzU2xvd1B1dENvbnRpZ3VvdXNTaGFwZTsKLX0KLQotaW5saW5l
IGJvb2wgaGFzQW55Q29udGlndW91cyhJbmRleGluZ1R5cGUgaW5kZXhpbmdUeXBlKQotewotICAg
IHJldHVybiBoYXNDb250aWd1b3VzKGluZGV4aW5nVHlwZSkgfHwgaGFzQWx3YXlzU2xvd1B1dENv
bnRpZ3VvdXMoaW5kZXhpbmdUeXBlKTsKLX0KLQogaW5saW5lIGJvb2wgaGFzQXJyYXlTdG9yYWdl
KEluZGV4aW5nVHlwZSBpbmRleGluZ1R5cGUpCiB7CiAgICAgcmV0dXJuIChpbmRleGluZ1R5cGUg
JiBJbmRleGluZ1NoYXBlTWFzaykgPT0gQXJyYXlTdG9yYWdlU2hhcGU7CkBAIC0yMTIsMTEgKzE5
Miw2IEBAIGlubGluZSBib29sIGhhc1Nsb3dQdXRBcnJheVN0b3JhZ2UoSW5kZXhpbmdUeXBlIGlu
ZGV4aW5nVHlwZSkKICAgICByZXR1cm4gKGluZGV4aW5nVHlwZSAmIEluZGV4aW5nU2hhcGVNYXNr
KSA9PSBTbG93UHV0QXJyYXlTdG9yYWdlU2hhcGU7CiB9CiAKLWlubGluZSBib29sIGhhc0FueVNs
b3dQdXRJbmRleGluZ1R5cGUoSW5kZXhpbmdUeXBlIGluZGV4aW5nVHlwZSkKLXsKLSAgICByZXR1
cm4gaGFzQWx3YXlzU2xvd1B1dENvbnRpZ3VvdXMoaW5kZXhpbmdUeXBlKSB8fCBoYXNTbG93UHV0
QXJyYXlTdG9yYWdlKGluZGV4aW5nVHlwZSk7Ci19Ci0KIGlubGluZSBib29sIHNob3VsZFVzZVNs
b3dQdXQoSW5kZXhpbmdUeXBlIGluZGV4aW5nVHlwZSkKIHsKICAgICByZXR1cm4gaGFzU2xvd1B1
dEFycmF5U3RvcmFnZShpbmRleGluZ1R5cGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNBcnJheS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU0FycmF5LmNwcAppbmRleCA3YjA3YTU3YTA1ZjguLjU4MDNlMjU2NGJlNCAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheS5jcHAKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheS5jcHAKQEAgLTczMCwxNiArNzMwLDE2IEBA
IEpTQXJyYXkqIEpTQXJyYXk6OmZhc3RTbGljZShKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0
LCBKU09iamVjdCogc291cmNlLCB1aW50CiB7CiAgICAgVk0mIHZtID0gZ2xvYmFsT2JqZWN0LT52
bSgpOwogCi0gICAgaWYgKCFzb3VyY2UtPmNhbkRvRmFzdEluZGV4ZWRBY2Nlc3MoKSkKKyAgICBT
dHJ1Y3R1cmUqIHNvdXJjZVN0cnVjdHVyZSA9IHNvdXJjZS0+c3RydWN0dXJlKCk7CisgICAgaWYg
KHNvdXJjZVN0cnVjdHVyZS0+dHlwZUluZm8oKS5pbnRlcmNlcHRzR2V0T3duUHJvcGVydHlTbG90
QnlJbmRleEV2ZW5XaGVuTGVuZ3RoSXNOb3RaZXJvKCkpCiAgICAgICAgIHJldHVybiBudWxscHRy
OwogCi0gICAgYXV0byBzb3VyY2VJbmRleGluZ1R5cGUgPSBzb3VyY2UtPmluZGV4aW5nVHlwZSgp
OwotICAgIGF1dG8gYXJyYXlUeXBlID0gc291cmNlSW5kZXhpbmdUeXBlID09IE5vbkFycmF5V2l0
aEFsd2F5c1Nsb3dQdXRDb250aWd1b3VzID8gQXJyYXlXaXRoQ29udGlndW91cyA6IHNvdXJjZUlu
ZGV4aW5nVHlwZSB8IElzQXJyYXk7CisgICAgYXV0byBhcnJheVR5cGUgPSBzb3VyY2UtPmluZGV4
aW5nVHlwZSgpIHwgSXNBcnJheTsKICAgICBzd2l0Y2ggKGFycmF5VHlwZSkgewogICAgIGNhc2Ug
QXJyYXlXaXRoRG91YmxlOgogICAgIGNhc2UgQXJyYXlXaXRoSW50MzI6CiAgICAgY2FzZSBBcnJh
eVdpdGhDb250aWd1b3VzOiB7Ci0gICAgICAgIGlmIChjb3VudCA+PSBNSU5fU1BBUlNFX0FSUkFZ
X0lOREVYKQorICAgICAgICBpZiAoY291bnQgPj0gTUlOX1NQQVJTRV9BUlJBWV9JTkRFWCB8fCBz
b3VyY2VTdHJ1Y3R1cmUtPmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZShzb3VyY2UpKQogICAg
ICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKICAgICAgICAgaWYgKHN0YXJ0SW5kZXggKyBjb3Vu
dCA+IHNvdXJjZS0+YnV0dGVyZmx5KCktPnZlY3Rvckxlbmd0aCgpKQpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwCmluZGV4IDg2ZTQzYzg5NTE4
Ni4uMTU5MmVmNTBkNWFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU0dsb2JhbE9iamVjdC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNHbG9iYWxPYmplY3QuY3BwCkBAIC05ODIsNyArOTgyLDYgQEAgdm9pZCBKU0dsb2JhbE9iamVj
dDo6aW5pdChWTSYgdm0pCiAgICAgbV9vcmlnaW5hbEFycmF5U3RydWN0dXJlRm9ySW5kZXhpbmdT
aGFwZVthcnJheUluZGV4RnJvbUluZGV4aW5nVHlwZShJbnQzMlNoYXBlKV0uc2V0KHZtLCB0aGlz
LCBKU0FycmF5OjpjcmVhdGVTdHJ1Y3R1cmUodm0sIHRoaXMsIG1fYXJyYXlQcm90b3R5cGUuZ2V0
KCksIEFycmF5V2l0aEludDMyKSk7CiAgICAgbV9vcmlnaW5hbEFycmF5U3RydWN0dXJlRm9ySW5k
ZXhpbmdTaGFwZVthcnJheUluZGV4RnJvbUluZGV4aW5nVHlwZShEb3VibGVTaGFwZSldLnNldCh2
bSwgdGhpcywgSlNBcnJheTo6Y3JlYXRlU3RydWN0dXJlKHZtLCB0aGlzLCBtX2FycmF5UHJvdG90
eXBlLmdldCgpLCBBcnJheVdpdGhEb3VibGUpKTsKICAgICBtX29yaWdpbmFsQXJyYXlTdHJ1Y3R1
cmVGb3JJbmRleGluZ1NoYXBlW2FycmF5SW5kZXhGcm9tSW5kZXhpbmdUeXBlKENvbnRpZ3VvdXNT
aGFwZSldLnNldCh2bSwgdGhpcywgSlNBcnJheTo6Y3JlYXRlU3RydWN0dXJlKHZtLCB0aGlzLCBt
X2FycmF5UHJvdG90eXBlLmdldCgpLCBBcnJheVdpdGhDb250aWd1b3VzKSk7Ci0gICAgbV9vcmln
aW5hbEFycmF5U3RydWN0dXJlRm9ySW5kZXhpbmdTaGFwZVthcnJheUluZGV4RnJvbUluZGV4aW5n
VHlwZShBbHdheXNTbG93UHV0Q29udGlndW91c1NoYXBlKV0uc2V0TWF5QmVOdWxsKHZtLCB0aGlz
LCBudWxscHRyKTsKICAgICBtX29yaWdpbmFsQXJyYXlTdHJ1Y3R1cmVGb3JJbmRleGluZ1NoYXBl
W2FycmF5SW5kZXhGcm9tSW5kZXhpbmdUeXBlKEFycmF5U3RvcmFnZVNoYXBlKV0uc2V0KHZtLCB0
aGlzLCBKU0FycmF5OjpjcmVhdGVTdHJ1Y3R1cmUodm0sIHRoaXMsIG1fYXJyYXlQcm90b3R5cGUu
Z2V0KCksIEFycmF5V2l0aEFycmF5U3RvcmFnZSkpOwogICAgIG1fb3JpZ2luYWxBcnJheVN0cnVj
dHVyZUZvckluZGV4aW5nU2hhcGVbYXJyYXlJbmRleEZyb21JbmRleGluZ1R5cGUoU2xvd1B1dEFy
cmF5U3RvcmFnZVNoYXBlKV0uc2V0KHZtLCB0aGlzLCBKU0FycmF5OjpjcmVhdGVTdHJ1Y3R1cmUo
dm0sIHRoaXMsIG1fYXJyYXlQcm90b3R5cGUuZ2V0KCksIEFycmF5V2l0aFNsb3dQdXRBcnJheVN0
b3JhZ2UpKTsKICAgICBtX29yaWdpbmFsQXJyYXlTdHJ1Y3R1cmVGb3JJbmRleGluZ1NoYXBlW2Fy
cmF5SW5kZXhGcm9tSW5kZXhpbmdUeXBlKENvcHlPbldyaXRlQXJyYXlXaXRoSW50MzIpXS5zZXQo
dm0sIHRoaXMsIEpTQXJyYXk6OmNyZWF0ZVN0cnVjdHVyZSh2bSwgdGhpcywgbV9hcnJheVByb3Rv
dHlwZS5nZXQoKSwgQ29weU9uV3JpdGVBcnJheVdpdGhJbnQzMikpOwpAQCAtMjQ4NCw5ICsyNDgz
LDYgQEAgdm9pZCBKU0dsb2JhbE9iamVjdDo6dmlzaXRDaGlsZHJlbkltcGwoSlNDZWxsKiBjZWxs
LCBWaXNpdG9yJiB2aXNpdG9yKQogICAgIHRoaXNPYmplY3QtPm1fdHlwZWRBcnJheVByb3RvLnZp
c2l0KHZpc2l0b3IpOwogICAgIHRoaXNPYmplY3QtPm1fdHlwZWRBcnJheVN1cGVyQ29uc3RydWN0
b3IudmlzaXQodmlzaXRvcik7CiAgICAgdGhpc09iamVjdC0+bV9yZWdFeHBHbG9iYWxEYXRhLnZp
c2l0QWdncmVnYXRlKHZpc2l0b3IpOwotCi0gICAgZm9yIChTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA6
IHRoaXNPYmplY3QtPm1fb3JpZ2luYWxBbHdheXNTbG93UHV0Q29udGlndW91c1N0cnVjdHVyZVNl
dCkKLSAgICAgICAgdmlzaXRvci5hcHBlbmRVbmJhcnJpZXJlZChzdHJ1Y3R1cmUpOwogfQogCiBE
RUZJTkVfVklTSVRfQ0hJTERSRU5fV0lUSF9NT0RJRklFUihKU19FWFBPUlRfUFJJVkFURSwgSlNH
bG9iYWxPYmplY3QpOwpAQCAtMjg5MCwxMiArMjg4Niw2IEBAIEpTR2xvYmFsT2JqZWN0KiBKU0ds
b2JhbE9iamVjdDo6Y3JlYXRlV2l0aEN1c3RvbU1ldGhvZFRhYmxlKFZNJiB2bSwgU3RydWN0dXJl
KiBzCiAgICAgcmV0dXJuIGdsb2JhbE9iamVjdDsKIH0KIAotdm9pZCBKU0dsb2JhbE9iamVjdDo6
cmVjb3JkT3JpZ2luYWxBbHdheXNTbG93UHV0Q29udGlndW91c1N0cnVjdHVyZShTdHJ1Y3R1cmUq
IHN0cnVjdHVyZSkKLXsKLSAgICBBU1NFUlQoc3RydWN0dXJlLT5nbG9iYWxPYmplY3QoKSA9PSB0
aGlzKTsKLSAgICBtX29yaWdpbmFsQWx3YXlzU2xvd1B1dENvbnRpZ3VvdXNTdHJ1Y3R1cmVTZXQu
YWRkKHN0cnVjdHVyZSk7Ci19Ci0KIHZvaWQgSlNHbG9iYWxPYmplY3Q6OmZpbmlzaENyZWF0aW9u
KFZNJiB2bSkKIHsKICAgICBEZWZlclRlcm1pbmF0aW9uIGRlZmVyVGVybWluYXRpb24odm0pOwpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3Qu
aCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmgKaW5kZXgg
NGNiOGFlNDBmMDVhLi40NDQ1MWQzYjE4NTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaApAQCAtNTM2LDkgKzUzNiw2IEBAIHB1YmxpYzoKICAg
ICBJbmxpbmVXYXRjaHBvaW50U2V0IG1fc2hhcmVkQXJyYXlCdWZmZXJTcGVjaWVzV2F0Y2hwb2lu
dFNldCB7IENsZWFyV2F0Y2hwb2ludCB9OwogICAgIElubGluZVdhdGNocG9pbnRTZXQgbV90eXBl
ZEFycmF5Q29uc3RydWN0b3JTcGVjaWVzV2F0Y2hwb2ludFNldCB7IElzV2F0Y2hlZCB9OwogICAg
IElubGluZVdhdGNocG9pbnRTZXQgbV90eXBlZEFycmF5UHJvdG90eXBlSXRlcmF0b3JQcm90b2Nv
bFdhdGNocG9pbnRTZXQgeyBJc1dhdGNoZWQgfTsKLQotICAgIC8vIEN1cnJlbnQgdGhpcyBpcyBi
ZWluZyBzZXQgdXAgaW4gSlNET01XaW5kb3dCYXNlIGFuZCB3YXRjaGVzIG9ubHkgTm9kZUxpc3Qu
cHJvdG90eXBlLmxlbmd0aCBnZXR0ZXIgdG8gYmUgb3JpZ2luYWwuCi0gICAgSW5saW5lV2F0Y2hw
b2ludFNldCBtX2Fsd2F5c1Nsb3dQdXRDb250aWd1b3VzUHJvdG90eXBlc0FyZVNhbmVXYXRjaHBv
aW50U2V0IHsgQ2xlYXJXYXRjaHBvaW50IH07CiAjZGVmaW5lIERFQ0xBUkVfVFlQRURfQVJSQVlf
VFlQRV9TUEVDSUVTX1dBVENIUE9JTlRfU0VUKG5hbWUpIFwKICAgICBJbmxpbmVXYXRjaHBvaW50
U2V0IG1fdHlwZWRBcnJheSAjIyBuYW1lICMjIFNwZWNpZXNXYXRjaHBvaW50U2V0IHsgQ2xlYXJX
YXRjaHBvaW50IH07IFwKICAgICBJbmxpbmVXYXRjaHBvaW50U2V0IG1fdHlwZWRBcnJheSAjIyBu
YW1lICMjIEl0ZXJhdG9yUHJvdG9jb2xXYXRjaHBvaW50U2V0IHsgQ2xlYXJXYXRjaHBvaW50IH07
CkBAIC02NzcsNyArNjc0LDYgQEAgcHVibGljOgogICAgIH0KICAgICBJbmxpbmVXYXRjaHBvaW50
U2V0JiB0eXBlZEFycmF5Q29uc3RydWN0b3JTcGVjaWVzV2F0Y2hwb2ludFNldCgpIHsgcmV0dXJu
IG1fdHlwZWRBcnJheUNvbnN0cnVjdG9yU3BlY2llc1dhdGNocG9pbnRTZXQ7IH0KICAgICBJbmxp
bmVXYXRjaHBvaW50U2V0JiB0eXBlZEFycmF5UHJvdG90eXBlSXRlcmF0b3JQcm90b2NvbFdhdGNo
cG9pbnRTZXQoKSB7IHJldHVybiBtX3R5cGVkQXJyYXlQcm90b3R5cGVJdGVyYXRvclByb3RvY29s
V2F0Y2hwb2ludFNldDsgfQotICAgIElubGluZVdhdGNocG9pbnRTZXQmIGFsd2F5c1Nsb3dQdXRD
b250aWd1b3VzUHJvdG90eXBlc0FyZVNhbmVXYXRjaHBvaW50U2V0KCkgeyByZXR1cm4gbV9hbHdh
eXNTbG93UHV0Q29udGlndW91c1Byb3RvdHlwZXNBcmVTYW5lV2F0Y2hwb2ludFNldDsgfQogCiAg
ICAgYm9vbCBpc0FycmF5UHJvdG90eXBlSXRlcmF0b3JQcm90b2NvbEZhc3RBbmROb25PYnNlcnZh
YmxlKCk7CiAgICAgYm9vbCBpc1R5cGVkQXJyYXlQcm90b3R5cGVJdGVyYXRvclByb3RvY29sRmFz
dEFuZE5vbk9ic2VydmFibGUoVHlwZWRBcnJheVR5cGUpOwpAQCAtODk4LDE0ICs4OTQsNiBAQCBw
dWJsaWM6CiAgICAgewogICAgICAgICByZXR1cm4gb3JpZ2luYWxBcnJheVN0cnVjdHVyZUZvcklu
ZGV4aW5nVHlwZShzdHJ1Y3R1cmUtPmluZGV4aW5nTW9kZSgpIHwgSXNBcnJheSkgPT0gc3RydWN0
dXJlOwogICAgIH0KLQotICAgIGJvb2wgaXNPcmlnaW5hbFNsb3dQdXRDb250aWdpb3VzU3RydWN0
dXJlKFN0cnVjdHVyZSogc3RydWN0dXJlKQotICAgIHsKLSAgICAgICAgQVNTRVJUKGhhc0Fsd2F5
c1Nsb3dQdXRDb250aWd1b3VzKHN0cnVjdHVyZS0+aW5kZXhpbmdNb2RlKCkpKTsKLSAgICAgICAg
cmV0dXJuIG1fb3JpZ2luYWxBbHdheXNTbG93UHV0Q29udGlndW91c1N0cnVjdHVyZVNldC5jb250
YWlucyhzdHJ1Y3R1cmUpOwotICAgIH0KLQotICAgIGNvbnN0IFN0cnVjdHVyZVNldCYgb3JpZ2lu
YWxBbHdheXNTbG93UHV0Q29udGlndW91c1N0cnVjdHVyZVNldCgpIGNvbnN0IHsgcmV0dXJuIG1f
b3JpZ2luYWxBbHdheXNTbG93UHV0Q29udGlndW91c1N0cnVjdHVyZVNldDsgfQogICAgICAgICAK
ICAgICBTdHJ1Y3R1cmUqIGJvb2xlYW5PYmplY3RTdHJ1Y3R1cmUoKSBjb25zdCB7IHJldHVybiBt
X2Jvb2xlYW5PYmplY3RTdHJ1Y3R1cmUuZ2V0KHRoaXMpOyB9CiAgICAgU3RydWN0dXJlKiBjYWxs
YmFja0NvbnN0cnVjdG9yU3RydWN0dXJlKCkgY29uc3QgeyByZXR1cm4gbV9jYWxsYmFja0NvbnN0
cnVjdG9yU3RydWN0dXJlLmdldCh0aGlzKTsgfQpAQCAtMTM0Miw4ICsxMzMwLDYgQEAgcHJvdGVj
dGVkOgogCiAgICAgdm9pZCBzZXROZWVkc1NpdGVTcGVjaWZpY1F1aXJrcyhib29sIG5lZWRRdWly
a3MpIHsgbV9uZWVkc1NpdGVTcGVjaWZpY1F1aXJrcyA9IG5lZWRRdWlya3M7IH0KIAotICAgIEpT
X0VYUE9SVF9QUklWQVRFIHZvaWQgcmVjb3JkT3JpZ2luYWxBbHdheXNTbG93UHV0Q29udGlndW91
c1N0cnVjdHVyZShTdHJ1Y3R1cmUqKTsKLQogcHJpdmF0ZToKICAgICBmcmllbmQgY2xhc3MgTExJ
bnRPZmZzZXRzRXh0cmFjdG9yOwogCkBAIC0xMzY3LDggKzEzNTMsNiBAQCBwcml2YXRlOgogI2lm
ZGVmIEpTQ19HTElCX0FQSV9FTkFCTEVECiAgICAgc3RkOjp1bmlxdWVfcHRyPFdyYXBwZXJNYXA+
IG1fd3JhcHBlck1hcDsKICNlbmRpZgotCi0gICAgU3RydWN0dXJlU2V0IG1fb3JpZ2luYWxBbHdh
eXNTbG93UHV0Q29udGlndW91c1N0cnVjdHVyZVNldDsKIH07CiAKIGlubGluZSBKU0FycmF5KiBj
b25zdHJ1Y3RFbXB0eUFycmF5KEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEFycmF5QWxs
b2NhdGlvblByb2ZpbGUqIHByb2ZpbGUsIHVuc2lnbmVkIGluaXRpYWxMZW5ndGggPSAwLCBKU1Zh
bHVlIG5ld1RhcmdldCA9IEpTVmFsdWUoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTT2JqZWN0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTT2JqZWN0LmNwcAppbmRleCA0ZjI1YzBlZGVlMGYuLjI0MTVkNTk3NDgzZCAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuY3BwCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmNwcApAQCAtNTcyLDggKzU3Miw2IEBA
IGJvb2wgSlNPYmplY3Q6OmdldE93blByb3BlcnR5U2xvdEJ5SW5kZXgoSlNPYmplY3QqIHRoaXNP
YmplY3QsIEpTR2xvYmFsT2JqZWN0KiBnCiAgICAgCiAgICAgaWYgKGkgPiBNQVhfQVJSQVlfSU5E
RVgpCiAgICAgICAgIHJldHVybiB0aGlzT2JqZWN0LT5tZXRob2RUYWJsZSgpLT5nZXRPd25Qcm9w
ZXJ0eVNsb3QodGhpc09iamVjdCwgZ2xvYmFsT2JqZWN0LCBJZGVudGlmaWVyOjpmcm9tKHZtLCBp
KSwgc2xvdCk7Ci0KLSAgICB1bnNpZ25lZCBhdHRyaWJ1dGVzID0gaGFzQW55U2xvd1B1dEluZGV4
aW5nVHlwZSh0aGlzT2JqZWN0LT5pbmRleGluZ1R5cGUoKSkgJiYgdGhpc09iamVjdC0+c3RydWN0
dXJlKCktPnR5cGVJbmZvKCkuc2xvd1B1dEFycmF5U3RvcmFnZVZlY3RvclByb3BlcnRpZXNBcmVS
ZWFkT25seSgpID8gc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KFByb3BlcnR5QXR0cmlidXRlOjpSZWFk
T25seSkgOiBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oUHJvcGVydHlBdHRyaWJ1dGU6Ok5vbmUpOwog
ICAgIAogICAgIHN3aXRjaCAodGhpc09iamVjdC0+aW5kZXhpbmdUeXBlKCkpIHsKICAgICBjYXNl
IEFMTF9CTEFOS19JTkRFWElOR19UWVBFUzoKQEAgLTU4OCw3ICs1ODYsNyBAQCBib29sIEpTT2Jq
ZWN0OjpnZXRPd25Qcm9wZXJ0eVNsb3RCeUluZGV4KEpTT2JqZWN0KiB0aGlzT2JqZWN0LCBKU0ds
b2JhbE9iamVjdCogZwogICAgICAgICAKICAgICAgICAgSlNWYWx1ZSB2YWx1ZSA9IGJ1dHRlcmZs
eS0+Y29udGlndW91cygpLmF0KHRoaXNPYmplY3QsIGkpLmdldCgpOwogICAgICAgICBpZiAodmFs
dWUpIHsKLSAgICAgICAgICAgIHNsb3Quc2V0VmFsdWUodGhpc09iamVjdCwgYXR0cmlidXRlcywg
dmFsdWUpOworICAgICAgICAgICAgc2xvdC5zZXRWYWx1ZSh0aGlzT2JqZWN0LCBzdGF0aWNfY2Fz
dDx1bnNpZ25lZD4oUHJvcGVydHlBdHRyaWJ1dGU6Ok5vbmUpLCB2YWx1ZSk7CiAgICAgICAgICAg
ICByZXR1cm4gdHJ1ZTsKICAgICAgICAgfQogICAgICAgICAKQEAgLTYwMiw3ICs2MDAsNyBAQCBi
b29sIEpTT2JqZWN0OjpnZXRPd25Qcm9wZXJ0eVNsb3RCeUluZGV4KEpTT2JqZWN0KiB0aGlzT2Jq
ZWN0LCBKU0dsb2JhbE9iamVjdCogZwogICAgICAgICAKICAgICAgICAgZG91YmxlIHZhbHVlID0g
YnV0dGVyZmx5LT5jb250aWd1b3VzRG91YmxlKCkuYXQodGhpc09iamVjdCwgaSk7CiAgICAgICAg
IGlmICh2YWx1ZSA9PSB2YWx1ZSkgewotICAgICAgICAgICAgc2xvdC5zZXRWYWx1ZSh0aGlzT2Jq
ZWN0LCBhdHRyaWJ1dGVzLCBKU1ZhbHVlKEpTVmFsdWU6OkVuY29kZUFzRG91YmxlLCB2YWx1ZSkp
OworICAgICAgICAgICAgc2xvdC5zZXRWYWx1ZSh0aGlzT2JqZWN0LCBzdGF0aWNfY2FzdDx1bnNp
Z25lZD4oUHJvcGVydHlBdHRyaWJ1dGU6Ok5vbmUpLCBKU1ZhbHVlKEpTVmFsdWU6OkVuY29kZUFz
RG91YmxlLCB2YWx1ZSkpOwogICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgIH0KICAg
ICAgICAgCkBAIC02MTcsNyArNjE1LDcgQEAgYm9vbCBKU09iamVjdDo6Z2V0T3duUHJvcGVydHlT
bG90QnlJbmRleChKU09iamVjdCogdGhpc09iamVjdCwgSlNHbG9iYWxPYmplY3QqIGcKICAgICAg
ICAgaWYgKGkgPCBzdG9yYWdlLT52ZWN0b3JMZW5ndGgoKSkgewogICAgICAgICAgICAgSlNWYWx1
ZSB2YWx1ZSA9IHN0b3JhZ2UtPm1fdmVjdG9yW2ldLmdldCgpOwogICAgICAgICAgICAgaWYgKHZh
bHVlKSB7Ci0gICAgICAgICAgICAgICAgc2xvdC5zZXRWYWx1ZSh0aGlzT2JqZWN0LCBhdHRyaWJ1
dGVzLCB2YWx1ZSk7CisgICAgICAgICAgICAgICAgc2xvdC5zZXRWYWx1ZSh0aGlzT2JqZWN0LCBz
dGF0aWNfY2FzdDx1bnNpZ25lZD4oUHJvcGVydHlBdHRyaWJ1dGU6Ok5vbmUpLCB2YWx1ZSk7CiAg
ICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0gZWxz
ZSBpZiAoU3BhcnNlQXJyYXlWYWx1ZU1hcCogbWFwID0gc3RvcmFnZS0+bV9zcGFyc2VNYXAuZ2V0
KCkpIHsKQEAgLTE0NjAsNyArMTQ1OCw3IEBAIEFycmF5U3RvcmFnZSogSlNPYmplY3Q6OmNvbnZl
cnREb3VibGVUb0FycmF5U3RvcmFnZShWTSYgdm0pCiBBcnJheVN0b3JhZ2UqIEpTT2JqZWN0Ojpj
b252ZXJ0Q29udGlndW91c1RvQXJyYXlTdG9yYWdlKFZNJiB2bSwgVHJhbnNpdGlvbktpbmQgdHJh
bnNpdGlvbikKIHsKICAgICBEZWZlckdDIGRlZmVyR0Modm0pOwotICAgIEFTU0VSVChoYXNBbnlD
b250aWd1b3VzKGluZGV4aW5nVHlwZSgpKSk7CisgICAgQVNTRVJUKGhhc0NvbnRpZ3VvdXMoaW5k
ZXhpbmdUeXBlKCkpKTsKIAogICAgIHVuc2lnbmVkIHZlY3Rvckxlbmd0aCA9IG1fYnV0dGVyZmx5
LT52ZWN0b3JMZW5ndGgoKTsKICAgICBBcnJheVN0b3JhZ2UqIG5ld1N0b3JhZ2UgPSBjb25zdHJ1
Y3RDb252ZXJ0ZWRBcnJheVN0b3JhZ2VXaXRob3V0Q29weWluZ0VsZW1lbnRzKHZtLCB2ZWN0b3JM
ZW5ndGgpOwpAQCAtMTc1MCw3ICsxNzQ4LDYgQEAgQ29udGlndW91c0pTVmFsdWVzIEpTT2JqZWN0
Ojp0cnlNYWtlV3JpdGFibGVDb250aWd1b3VzU2xvdyhWTSYgdm0pCiAgICAgICAgIHJldHVybiBj
b252ZXJ0RG91YmxlVG9Db250aWd1b3VzKHZtKTsKICAgICAgICAgCiAgICAgY2FzZSBBTExfQVJS
QVlfU1RPUkFHRV9JTkRFWElOR19UWVBFUzoKLSAgICBjYXNlIE5vbkFycmF5V2l0aEFsd2F5c1Ns
b3dQdXRDb250aWd1b3VzOgogICAgICAgICByZXR1cm4gQ29udGlndW91c0pTVmFsdWVzKCk7CiAg
ICAgICAgIAogICAgIGRlZmF1bHQ6CkBAIC0xNzg5LDEyICsxNzg2LDkgQEAgQXJyYXlTdG9yYWdl
KiBKU09iamVjdDo6ZW5zdXJlQXJyYXlTdG9yYWdlU2xvdyhWTSYgdm0pCiAgICAgICAgIEFTU0VS
VCghbmVlZHNTbG93UHV0SW5kZXhpbmcoKSk7CiAgICAgICAgIHJldHVybiBjb252ZXJ0RG91Ymxl
VG9BcnJheVN0b3JhZ2Uodm0pOwogICAgICAgICAKLSAgICBjYXNlIEFMTF9GQVNUX1BVVF9DT05U
SUdVT1VTX0lOREVYSU5HX1RZUEVTOgorICAgIGNhc2UgQUxMX0NPTlRJR1VPVVNfSU5ERVhJTkdf
VFlQRVM6CiAgICAgICAgIEFTU0VSVCghaW5kZXhpbmdTaG91bGRCZVNwYXJzZSgpKTsKICAgICAg
ICAgQVNTRVJUKCFuZWVkc1Nsb3dQdXRJbmRleGluZygpKTsKLSAgICAgICAgRkFMTFRIUk9VR0g7
Ci0KLSAgICBjYXNlIE5vbkFycmF5V2l0aEFsd2F5c1Nsb3dQdXRDb250aWd1b3VzOgogICAgICAg
ICByZXR1cm4gY29udmVydENvbnRpZ3VvdXNUb0FycmF5U3RvcmFnZSh2bSk7CiAgICAgICAgIAog
ICAgIGRlZmF1bHQ6CkBAIC0xODI0LDE0ICsxODE4LDExIEBAIEFycmF5U3RvcmFnZSogSlNPYmpl
Y3Q6OmVuc3VyZUFycmF5U3RvcmFnZUV4aXN0c0FuZEVudGVyRGljdGlvbmFyeUluZGV4aW5nTW9k
ZShWCiAgICAgY2FzZSBBTExfRE9VQkxFX0lOREVYSU5HX1RZUEVTOgogICAgICAgICByZXR1cm4g
ZW50ZXJEaWN0aW9uYXJ5SW5kZXhpbmdNb2RlV2hlbkFycmF5U3RvcmFnZUFscmVhZHlFeGlzdHMo
dm0sIGNvbnZlcnREb3VibGVUb0FycmF5U3RvcmFnZSh2bSkpOwogICAgICAgICAKLSAgICBjYXNl
IEFMTF9GQVNUX1BVVF9DT05USUdVT1VTX0lOREVYSU5HX1RZUEVTOgorICAgIGNhc2UgQUxMX0NP
TlRJR1VPVVNfSU5ERVhJTkdfVFlQRVM6CiAgICAgICAgIHJldHVybiBlbnRlckRpY3Rpb25hcnlJ
bmRleGluZ01vZGVXaGVuQXJyYXlTdG9yYWdlQWxyZWFkeUV4aXN0cyh2bSwgY29udmVydENvbnRp
Z3VvdXNUb0FycmF5U3RvcmFnZSh2bSkpOwogICAgICAgICAKICAgICBjYXNlIEFMTF9BUlJBWV9T
VE9SQUdFX0lOREVYSU5HX1RZUEVTOgogICAgICAgICByZXR1cm4gZW50ZXJEaWN0aW9uYXJ5SW5k
ZXhpbmdNb2RlV2hlbkFycmF5U3RvcmFnZUFscmVhZHlFeGlzdHModm0sIG1fYnV0dGVyZmx5LT5h
cnJheVN0b3JhZ2UoKSk7Ci0KLSAgICBjYXNlIE5vbkFycmF5V2l0aEFsd2F5c1Nsb3dQdXRDb250
aWd1b3VzOgotICAgICAgICByZXR1cm4gZW50ZXJEaWN0aW9uYXJ5SW5kZXhpbmdNb2RlV2hlbkFy
cmF5U3RvcmFnZUFscmVhZHlFeGlzdHModm0sIGNvbnZlcnRDb250aWd1b3VzVG9BcnJheVN0b3Jh
Z2Uodm0sIFRyYW5zaXRpb25LaW5kOjpBbGxvY2F0ZVNsb3dQdXRBcnJheVN0b3JhZ2UpKTsKICAg
ICAgICAgCiAgICAgZGVmYXVsdDoKICAgICAgICAgQ1JBU0goKTsKQEAgLTE4NjQsMTMgKzE4NTUs
OSBAQCB2b2lkIEpTT2JqZWN0Ojpzd2l0Y2hUb1Nsb3dQdXRBcnJheVN0b3JhZ2UoVk0mIHZtKQog
ICAgICAgICBjb252ZXJ0RG91YmxlVG9BcnJheVN0b3JhZ2Uodm0sIFRyYW5zaXRpb25LaW5kOjpB
bGxvY2F0ZVNsb3dQdXRBcnJheVN0b3JhZ2UpOwogICAgICAgICBicmVhazsKICAgICAgICAgCi0g
ICAgY2FzZSBBTExfRkFTVF9QVVRfQ09OVElHVU9VU19JTkRFWElOR19UWVBFUzoKKyAgICBjYXNl
IEFMTF9DT05USUdVT1VTX0lOREVYSU5HX1RZUEVTOgogICAgICAgICBjb252ZXJ0Q29udGlndW91
c1RvQXJyYXlTdG9yYWdlKHZtLCBUcmFuc2l0aW9uS2luZDo6QWxsb2NhdGVTbG93UHV0QXJyYXlT
dG9yYWdlKTsKICAgICAgICAgYnJlYWs7Ci0KLSAgICBjYXNlIE5vbkFycmF5V2l0aEFsd2F5c1Ns
b3dQdXRDb250aWd1b3VzOgotICAgICAgICBlbnRlckRpY3Rpb25hcnlJbmRleGluZ01vZGUodm0p
OwotICAgICAgICBicmVhazsKICAgICAgICAgCiAgICAgY2FzZSBOb25BcnJheVdpdGhBcnJheVN0
b3JhZ2U6CiAgICAgY2FzZSBBcnJheVdpdGhBcnJheVN0b3JhZ2U6IHsKQEAgLTI5NjgsNyArMjk1
NSw3IEBAIGJvb2wgSlNPYmplY3Q6OnB1dEJ5SW5kZXhCZXlvbmRWZWN0b3JMZW5ndGhXaXRob3V0
QXR0cmlidXRlcyhKU0dsb2JhbE9iamVjdCogZ2xvCiAgICAgYXV0byBzY29wZSA9IERFQ0xBUkVf
VEhST1dfU0NPUEUodm0pOwogCiAgICAgUkVMRUFTRV9BU1NFUlRfV0lUSF9TRUNVUklUWV9JTVBM
SUNBVElPTighaXNDb3B5T25Xcml0ZShpbmRleGluZ01vZGUoKSkpOwotICAgIEFTU0VSVCgoaW5k
ZXhpbmdUeXBlKCkgJiBJbmRleGluZ1NoYXBlTWFzaykgPT0gaW5kZXhpbmdTaGFwZSB8fCBoYXNB
bHdheXNTbG93UHV0Q29udGlndW91cyhpbmRleGluZ1R5cGUoKSkpOworICAgIEFTU0VSVCgoaW5k
ZXhpbmdUeXBlKCkgJiBJbmRleGluZ1NoYXBlTWFzaykgPT0gaW5kZXhpbmdTaGFwZSk7CiAgICAg
QVNTRVJUKCFpbmRleGluZ1Nob3VsZEJlU3BhcnNlKCkpOwogCiAgICAgQnV0dGVyZmx5KiBidXR0
ZXJmbHkgPSBtX2J1dHRlcmZseS5nZXQoKTsKQEAgLTI5ODEsOSArMjk2OCw4IEBAIGJvb2wgSlNP
YmplY3Q6OnB1dEJ5SW5kZXhCZXlvbmRWZWN0b3JMZW5ndGhXaXRob3V0QXR0cmlidXRlcyhKU0ds
b2JhbE9iamVjdCogZ2xvCiAgICAgICAgIHx8IChpID49IE1JTl9TUEFSU0VfQVJSQVlfSU5ERVgg
JiYgIWlzRGVuc2VFbm91Z2hGb3JWZWN0b3IoaSwgY291bnRFbGVtZW50czxpbmRleGluZ1NoYXBl
PihidXR0ZXJmbHkpKSkKICAgICAgICAgfHwgaW5kZXhJc1N1ZmZpY2llbnRseUJleW9uZExlbmd0
aEZvclNwYXJzZU1hcChpLCBidXR0ZXJmbHktPnZlY3Rvckxlbmd0aCgpKSkgewogICAgICAgICBB
U1NFUlQoaSA8PSBNQVhfQVJSQVlfSU5ERVgpOwotICAgICAgICBib29sIG5lZWRzRGljdGlvbmFy
eUluZGV4aW5nTW9kZSA9IGhhc0Fsd2F5c1Nsb3dQdXRDb250aWd1b3VzKGluZGV4aW5nVHlwZSgp
KTsKLSAgICAgICAgQXJyYXlTdG9yYWdlKiBzdG9yYWdlID0gZW5zdXJlQXJyYXlTdG9yYWdlU2xv
dyh2bSk7Ci0gICAgICAgIFNwYXJzZUFycmF5VmFsdWVNYXAqIG1hcCA9IG5lZWRzRGljdGlvbmFy
eUluZGV4aW5nTW9kZSA/IGVudGVyRGljdGlvbmFyeUluZGV4aW5nTW9kZVdoZW5BcnJheVN0b3Jh
Z2VBbHJlYWR5RXhpc3RzKHZtLCBzdG9yYWdlKS0+bV9zcGFyc2VNYXAuZ2V0KCkgOiBhbGxvY2F0
ZVNwYXJzZUluZGV4TWFwKHZtKTsKKyAgICAgICAgZW5zdXJlQXJyYXlTdG9yYWdlU2xvdyh2bSk7
CisgICAgICAgIFNwYXJzZUFycmF5VmFsdWVNYXAqIG1hcCA9IGFsbG9jYXRlU3BhcnNlSW5kZXhN
YXAodm0pOwogICAgICAgICBib29sIHJlc3VsdCA9IG1hcC0+cHV0RW50cnkoZ2xvYmFsT2JqZWN0
LCB0aGlzLCBpLCB2YWx1ZSwgZmFsc2UpOwogICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNj
b3BlLCBmYWxzZSk7CiAgICAgICAgIEFTU0VSVChpID49IGFycmF5U3RvcmFnZSgpLT5sZW5ndGgo
KSk7CkBAIC00MDA5LDcgKzM5OTUsNyBAQCBib29sIEpTT2JqZWN0OjpuZWVkc1Nsb3dQdXRJbmRl
eGluZygpIGNvbnN0CiAKIFRyYW5zaXRpb25LaW5kIEpTT2JqZWN0OjpzdWdnZXN0ZWRBcnJheVN0
b3JhZ2VUcmFuc2l0aW9uKCkgY29uc3QKIHsKLSAgICBpZiAobmVlZHNTbG93UHV0SW5kZXhpbmco
KSB8fCBoYXNBbHdheXNTbG93UHV0Q29udGlndW91cyhpbmRleGluZ1R5cGUoKSkpCisgICAgaWYg
KG5lZWRzU2xvd1B1dEluZGV4aW5nKCkpCiAgICAgICAgIHJldHVybiBUcmFuc2l0aW9uS2luZDo6
QWxsb2NhdGVTbG93UHV0QXJyYXlTdG9yYWdlOwogICAgIAogICAgIHJldHVybiBUcmFuc2l0aW9u
S2luZDo6QWxsb2NhdGVBcnJheVN0b3JhZ2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU09iamVjdC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNPYmplY3QuaAppbmRleCA5YjRhZGJhMmIzMWYuLjZmZmVlNDhiM2UwMSAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuaAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5oCkBAIC00MzYsNyArNDM2LDcgQEAgcHVibGlj
OgogICAgICAgICAgICAgfQogICAgICAgICAgICAgRkFMTFRIUk9VR0g7CiAgICAgICAgIH0KLSAg
ICAgICAgY2FzZSBBTExfV1JJVEFCTEVfRkFTVF9QVVRfQ09OVElHVU9VU19JTkRFWElOR19UWVBF
UzogeworICAgICAgICBjYXNlIEFMTF9XUklUQUJMRV9DT05USUdVT1VTX0lOREVYSU5HX1RZUEVT
OiB7CiAgICAgICAgICAgICBpZiAoaSA+PSBidXR0ZXJmbHktPnZlY3Rvckxlbmd0aCgpKQogICAg
ICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgIGJ1dHRlcmZseS0+Y29udGln
dW91cygpLmF0KHRoaXMsIGkpLnNldFdpdGhvdXRXcml0ZUJhcnJpZXIodik7CkBAIC00NzQsOCAr
NDc0LDYgQEAgcHVibGljOgogICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAg
ICAgIHNldEluZGV4UXVpY2tseUZvckFycmF5U3RvcmFnZUluZGV4aW5nVHlwZSh2bSwgaSwgdik7
CiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgICAgY2FzZSBOb25BcnJheVdpdGhBbHdh
eXNTbG93UHV0Q29udGlndW91czoKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAg
ZGVmYXVsdDoKICAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUKGlzQ29weU9uV3JpdGUoaW5kZXhp
bmdNb2RlKCkpKTsKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKQEAgLTQ5NSw3ICs0OTMsNyBA
QCBwdWJsaWM6CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBGQUxMVEhST1VHSDsKICAgICAg
ICAgfQotICAgICAgICBjYXNlIEFMTF9GQVNUX1BVVF9DT05USUdVT1VTX0lOREVYSU5HX1RZUEVT
OiB7CisgICAgICAgIGNhc2UgQUxMX0NPTlRJR1VPVVNfSU5ERVhJTkdfVFlQRVM6IHsKICAgICAg
ICAgICAgIEFTU0VSVChpIDwgYnV0dGVyZmx5LT52ZWN0b3JMZW5ndGgoKSk7CiAgICAgICAgICAg
ICBidXR0ZXJmbHktPmNvbnRpZ3VvdXMoKS5hdCh0aGlzLCBpKS5zZXRXaXRob3V0V3JpdGVCYXJy
aWVyKHYpOwogICAgICAgICAgICAgaWYgKGkgPj0gYnV0dGVyZmx5LT5wdWJsaWNMZW5ndGgoKSkK
QEAgLTg2Miw3ICs4NjAsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc0Zyb3plbihWTSYgdm0pIHsg
cmV0dXJuIHN0cnVjdHVyZSgpLT5pc0Zyb3plbih2bSk7IH0KIAogICAgIEpTX0VYUE9SVF9QUklW
QVRFIGJvb2wgYW55T2JqZWN0SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpIGNv
bnN0OwotICAgIEpTX0VYUE9SVF9QUklWQVRFIGJvb2wgbmVlZHNTbG93UHV0SW5kZXhpbmcoKSBj
b25zdDsKKyAgICBib29sIG5lZWRzU2xvd1B1dEluZGV4aW5nKCkgY29uc3Q7CiAKIHByaXZhdGU6
CiAgICAgVHJhbnNpdGlvbktpbmQgc3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlvbigpIGNv
bnN0OwpAQCAtOTg5LDcgKzk4Nyw2IEBAIHB1YmxpYzoKIAogICAgIEpTX0VYUE9SVF9QUklWQVRF
IEpTVmFsdWUgZ2V0TWV0aG9kKEpTR2xvYmFsT2JqZWN0KiwgQ2FsbERhdGEmLCBjb25zdCBJZGVu
dGlmaWVyJiwgY29uc3QgU3RyaW5nJiBlcnJvck1lc3NhZ2UpOwogCi0gICAgYm9vbCBjYW5Eb0Zh
c3RJbmRleGVkQWNjZXNzKCk7CiAgICAgYm9vbCBjYW5QZXJmb3JtRmFzdFB1dElubGluZShWTSYs
IFByb3BlcnR5TmFtZSk7CiAgICAgYm9vbCBjYW5QZXJmb3JtRmFzdFB1dElubGluZUV4Y2x1ZGlu
Z1Byb3RvKCk7CiAKQEAgLTEwODQsNyArMTA4MSw3IEBAIHByb3RlY3RlZDoKICAgICBBcnJheVN0
b3JhZ2UqIGNvbnZlcnRDb250aWd1b3VzVG9BcnJheVN0b3JhZ2UoVk0mKTsKIAogICAgICAgICAK
LSAgICBKU19FWFBPUlRfUFJJVkFURSBBcnJheVN0b3JhZ2UqIGVuc3VyZUFycmF5U3RvcmFnZUV4
aXN0c0FuZEVudGVyRGljdGlvbmFyeUluZGV4aW5nTW9kZShWTSYpOworICAgIEFycmF5U3RvcmFn
ZSogZW5zdXJlQXJyYXlTdG9yYWdlRXhpc3RzQW5kRW50ZXJEaWN0aW9uYXJ5SW5kZXhpbmdNb2Rl
KFZNJik7CiAgICAgICAgIAogICAgIGJvb2wgZGVmaW5lT3duTm9uSW5kZXhQcm9wZXJ0eShKU0ds
b2JhbE9iamVjdCosIFByb3BlcnR5TmFtZSwgY29uc3QgUHJvcGVydHlEZXNjcmlwdG9yJiwgYm9v
bCB0aHJvd0V4Y2VwdGlvbik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTT2JqZWN0SW5saW5lcy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNPYmplY3RJbmxpbmVzLmgKaW5kZXggOGIwNjNlZjZiZGI2Li41Yzg2MTAyZmM3YTggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0SW5saW5lcy5oCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0SW5saW5lcy5oCkBAIC00
ODcsMjEgKzQ4Nyw2IEBAIGlubGluZSBib29sIEpTT2JqZWN0OjpjYW5HZXRJbmRleFF1aWNrbHlG
b3JUeXBlZEFycmF5KHVuc2lnbmVkIGkpIGNvbnN0CiAgICAgfQogfQogCi1pbmxpbmUgYm9vbCBK
U09iamVjdDo6Y2FuRG9GYXN0SW5kZXhlZEFjY2VzcygpCi17Ci0gICAgaWYgKExJS0VMWShpc0pT
QXJyYXkodGhpcykpKQotICAgICAgICByZXR1cm4gYXNBcnJheSh0aGlzKS0+Y2FuRG9GYXN0SW5k
ZXhlZEFjY2VzcygpOwotCi0gICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSB0aGlzLT5zdHJ1Y3R1
cmUoKTsKLSAgICBpZiAoc3RydWN0dXJlLT50eXBlSW5mbygpLmludGVyY2VwdHNHZXRPd25Qcm9w
ZXJ0eVNsb3RCeUluZGV4RXZlbldoZW5MZW5ndGhJc05vdFplcm8oKSkKLSAgICAgICAgcmV0dXJu
IGZhbHNlOwotCi0gICAgaWYgKHN0cnVjdHVyZS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBl
KHRoaXMpKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICByZXR1cm4gdHJ1ZTsKLX0KLQog
aW5saW5lIEpTVmFsdWUgSlNPYmplY3Q6OmdldEluZGV4UXVpY2tseUZvclR5cGVkQXJyYXkodW5z
aWduZWQgaSwgQXJyYXlQcm9maWxlKiBhcnJheVByb2ZpbGUpIGNvbnN0CiB7CiAjaWYgVVNFKExB
UkdFX1RZUEVEX0FSUkFZUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTVHlwZUluZm8uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTVHlwZUlu
Zm8uaAppbmRleCA1NDdjMTA3MzlmY2EuLmE3N2Q3YzUxMzIyNCAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNUeXBlSW5mby5oCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTVHlwZUluZm8uaApAQCAtNjAsNyArNjAsNiBAQCBzdGF0aWMgY29u
c3RleHByIHVuc2lnbmVkIFN0cnVjdHVyZUlzSW1tb3J0YWwgPSAxIDw8IDE3Owogc3RhdGljIGNv
bnN0ZXhwciB1bnNpZ25lZCBPdmVycmlkZXNQdXQgPSAxIDw8IDE4Owogc3RhdGljIGNvbnN0ZXhw
ciB1bnNpZ25lZCBPdmVycmlkZXNHZXRQcm90b3R5cGUgPSAxIDw8IDE5Owogc3RhdGljIGNvbnN0
ZXhwciB1bnNpZ25lZCBHZXRPd25Qcm9wZXJ0eVNsb3RNYXlCZVdyb25nQWJvdXREb250RW51bSA9
IDEgPDwgMjA7Ci1zdGF0aWMgY29uc3RleHByIHVuc2lnbmVkIFNsb3dQdXRBcnJheVN0b3JhZ2VW
ZWN0b3JQcm9wZXJ0aWVzQXJlUmVhZE9ubHkgPSAxIDw8IDIxOwogCiBzdGF0aWMgY29uc3RleHBy
IHVuc2lnbmVkIG51bWJlck9mSW5saW5lQml0cyA9IDg7CiBzdGF0aWMgY29uc3RleHByIHVuc2ln
bmVkIE92ZXJyaWRlc0dldFByb3RvdHlwZU91dE9mTGluZSA9IE92ZXJyaWRlc0dldFByb3RvdHlw
ZSA+PiBudW1iZXJPZklubGluZUJpdHM7CkBAIC0xMTAsNyArMTA5LDYgQEAgcHVibGljOgogICAg
IGJvb2wgZ2V0T3duUHJvcGVydHlTbG90SXNJbXB1cmUoKSBjb25zdCB7IHJldHVybiBpc1NldE9u
RmxhZ3MyPEdldE93blByb3BlcnR5U2xvdElzSW1wdXJlPigpOyB9CiAgICAgYm9vbCBnZXRPd25Q
cm9wZXJ0eVNsb3RJc0ltcHVyZUZvclByb3BlcnR5QWJzZW5jZSgpIGNvbnN0IHsgcmV0dXJuIGlz
U2V0T25GbGFnczI8R2V0T3duUHJvcGVydHlTbG90SXNJbXB1cmVGb3JQcm9wZXJ0eUFic2VuY2U+
KCk7IH0KICAgICBib29sIGdldE93blByb3BlcnR5U2xvdE1heUJlV3JvbmdBYm91dERvbnRFbnVt
KCkgY29uc3QgeyByZXR1cm4gaXNTZXRPbkZsYWdzMjxHZXRPd25Qcm9wZXJ0eVNsb3RNYXlCZVdy
b25nQWJvdXREb250RW51bT4oKTsgfQotICAgIGJvb2wgc2xvd1B1dEFycmF5U3RvcmFnZVZlY3Rv
clByb3BlcnRpZXNBcmVSZWFkT25seSgpIGNvbnN0IHsgcmV0dXJuIGlzU2V0T25GbGFnczI8U2xv
d1B1dEFycmF5U3RvcmFnZVZlY3RvclByb3BlcnRpZXNBcmVSZWFkT25seT4oKTsgfQogICAgIGJv
b2wgbmV3SW1wdXJlUHJvcGVydHlGaXJlc1dhdGNocG9pbnRzKCkgY29uc3QgeyByZXR1cm4gaXNT
ZXRPbkZsYWdzMjxOZXdJbXB1cmVQcm9wZXJ0eUZpcmVzV2F0Y2hwb2ludHM+KCk7IH0KICAgICBi
b29sIGlzSW1tdXRhYmxlUHJvdG90eXBlRXhvdGljT2JqZWN0KCkgY29uc3QgeyByZXR1cm4gaXNT
ZXRPbkZsYWdzMjxJc0ltbXV0YWJsZVByb3RvdHlwZUV4b3RpY09iamVjdD4oKTsgfQogICAgIGJv
b2wgaW50ZXJjZXB0c0dldE93blByb3BlcnR5U2xvdEJ5SW5kZXhFdmVuV2hlbkxlbmd0aElzTm90
WmVybygpIGNvbnN0IHsgcmV0dXJuIGlzU2V0T25GbGFnczI8SW50ZXJjZXB0c0dldE93blByb3Bl
cnR5U2xvdEJ5SW5kZXhFdmVuV2hlbkxlbmd0aElzTm90WmVybz4oKTsgfQpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT2JqZWN0UHJvcGVydHlDaGFuZ2VBZGFwdGl2
ZVdhdGNocG9pbnQuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09iamVjdFByb3Bl
cnR5Q2hhbmdlQWRhcHRpdmVXYXRjaHBvaW50LmgKaW5kZXggZDFhODNlMTYzOGM3Li45MDcxNTEw
N2UzODYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09iamVjdFBy
b3BlcnR5Q2hhbmdlQWRhcHRpdmVXYXRjaHBvaW50LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvT2JqZWN0UHJvcGVydHlDaGFuZ2VBZGFwdGl2ZVdhdGNocG9pbnQuaApAQCAt
MzAsNyArMzAsNyBAQAogbmFtZXNwYWNlIEpTQyB7CiAKIHRlbXBsYXRlPHR5cGVuYW1lIFdhdGNo
cG9pbnRTZXQ+Ci1jbGFzcyBKU19FWFBPUlRfUFJJVkFURSBPYmplY3RQcm9wZXJ0eUNoYW5nZUFk
YXB0aXZlV2F0Y2hwb2ludCBmaW5hbCA6IHB1YmxpYyBBZGFwdGl2ZUluZmVycmVkUHJvcGVydHlW
YWx1ZVdhdGNocG9pbnRCYXNlIHsKK2NsYXNzIE9iamVjdFByb3BlcnR5Q2hhbmdlQWRhcHRpdmVX
YXRjaHBvaW50IGZpbmFsIDogcHVibGljIEFkYXB0aXZlSW5mZXJyZWRQcm9wZXJ0eVZhbHVlV2F0
Y2hwb2ludEJhc2UgewogcHVibGljOgogICAgIHVzaW5nIEJhc2UgPSBBZGFwdGl2ZUluZmVycmVk
UHJvcGVydHlWYWx1ZVdhdGNocG9pbnRCYXNlOwogICAgIE9iamVjdFByb3BlcnR5Q2hhbmdlQWRh
cHRpdmVXYXRjaHBvaW50KEpTQ2VsbCogb3duZXIsIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0
aW9uJiBjb25kaXRpb24sIFdhdGNocG9pbnRTZXQmIHdhdGNocG9pbnRTZXQpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmUuaCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5oCmluZGV4IDVmN2I4YmFlYTFjOC4uMjYwYzY4
ODQ1MjRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1
cmUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmUuaApAQCAt
NzUwLDcgKzc1MCw3IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIG1fdHJhbnNpdGlvbldhdGNo
cG9pbnRTZXQ7CiAgICAgfQogICAgIAotICAgIEpTX0VYUE9SVF9QUklWQVRFIFdhdGNocG9pbnRT
ZXQqIGVuc3VyZVByb3BlcnR5UmVwbGFjZW1lbnRXYXRjaHBvaW50U2V0KFZNJiwgUHJvcGVydHlP
ZmZzZXQpOworICAgIFdhdGNocG9pbnRTZXQqIGVuc3VyZVByb3BlcnR5UmVwbGFjZW1lbnRXYXRj
aHBvaW50U2V0KFZNJiwgUHJvcGVydHlPZmZzZXQpOwogICAgIHZvaWQgc3RhcnRXYXRjaGluZ1By
b3BlcnR5Rm9yUmVwbGFjZW1lbnRzKFZNJiB2bSwgUHJvcGVydHlPZmZzZXQgb2Zmc2V0KQogICAg
IHsKICAgICAgICAgZW5zdXJlUHJvcGVydHlSZXBsYWNlbWVudFdhdGNocG9pbnRTZXQodm0sIG9m
ZnNldCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1
cmVUcmFuc2l0aW9uVGFibGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVj
dHVyZVRyYW5zaXRpb25UYWJsZS5oCmluZGV4IDk0MjJmOTJjNmVjOC4uODA2MmMyYzc4N2MzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVUcmFuc2l0
aW9uVGFibGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVU
cmFuc2l0aW9uVGFibGUuaApAQCAtOTksNyArOTksNyBAQCBpbmxpbmUgSW5kZXhpbmdUeXBlIG5l
d0luZGV4aW5nVHlwZShJbmRleGluZ1R5cGUgb2xkVHlwZSwgVHJhbnNpdGlvbktpbmQgdHJhbnNp
dAogICAgICAgICBBU1NFUlQoIWhhc0luZGV4ZWRQcm9wZXJ0aWVzKG9sZFR5cGUpIHx8IGhhc1Vu
ZGVjaWRlZChvbGRUeXBlKSB8fCBoYXNJbnQzMihvbGRUeXBlKSB8fCBoYXNEb3VibGUob2xkVHlw
ZSkgfHwgaGFzQ29udGlndW91cyhvbGRUeXBlKSk7CiAgICAgICAgIHJldHVybiAob2xkVHlwZSAm
IH5JbmRleGluZ1NoYXBlQW5kV3JpdGFiaWxpdHlNYXNrKSB8IEFycmF5U3RvcmFnZVNoYXBlOwog
ICAgIGNhc2UgVHJhbnNpdGlvbktpbmQ6OkFsbG9jYXRlU2xvd1B1dEFycmF5U3RvcmFnZToKLSAg
ICAgICAgQVNTRVJUKCFoYXNJbmRleGVkUHJvcGVydGllcyhvbGRUeXBlKSB8fCBoYXNVbmRlY2lk
ZWQob2xkVHlwZSkgfHwgaGFzSW50MzIob2xkVHlwZSkgfHwgaGFzRG91YmxlKG9sZFR5cGUpIHx8
IGhhc0FueUNvbnRpZ3VvdXMob2xkVHlwZSkpOworICAgICAgICBBU1NFUlQoIWhhc0luZGV4ZWRQ
cm9wZXJ0aWVzKG9sZFR5cGUpIHx8IGhhc1VuZGVjaWRlZChvbGRUeXBlKSB8fCBoYXNJbnQzMihv
bGRUeXBlKSB8fCBoYXNEb3VibGUob2xkVHlwZSkgfHwgaGFzQ29udGlndW91cyhvbGRUeXBlKSk7
CiAgICAgICAgIHJldHVybiAob2xkVHlwZSAmIH5JbmRleGluZ1NoYXBlQW5kV3JpdGFiaWxpdHlN
YXNrKSB8IFNsb3dQdXRBcnJheVN0b3JhZ2VTaGFwZTsKICAgICBjYXNlIFRyYW5zaXRpb25LaW5k
OjpTd2l0Y2hUb1Nsb3dQdXRBcnJheVN0b3JhZ2U6CiAgICAgICAgIEFTU0VSVChoYXNBcnJheVN0
b3JhZ2Uob2xkVHlwZSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rvb2xz
L0pTRG9sbGFyVk0uY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rvb2xzL0pTRG9sbGFyVk0u
Y3BwCmluZGV4IGFkMTE0NzUzNTM3My4uODZlMjk1ZTY1ODFkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvdG9vbHMvSlNEb2xsYXJWTS5jcHAKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3Rvb2xzL0pTRG9sbGFyVk0uY3BwCkBAIC05OTYsMTI2ICs5OTYsNiBAQCBwdWJsaWM6
CiAgICAgfQogfTsKIAotY2xhc3MgQWx3YXlzU2xvd1B1dENvbnRpZ3VvdXNPYmplY3QgOiBwdWJs
aWMgSlNEZXN0cnVjdGlibGVPYmplY3QgewotcHVibGljOgotICAgIHVzaW5nIEJhc2UgPSBKU0Rl
c3RydWN0aWJsZU9iamVjdDsKLSAgICBzdGF0aWMgY29uc3RleHByIHVuc2lnbmVkIFN0cnVjdHVy
ZUZsYWdzID0gQmFzZTo6U3RydWN0dXJlRmxhZ3M7Ci0KLSAgICBBbHdheXNTbG93UHV0Q29udGln
dW91c09iamVjdChWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlLCBCdXR0ZXJmbHkqIGJ1dHRl
cmZseSkKLSAgICAgICAgOiBCYXNlKHZtLCBzdHJ1Y3R1cmUsIGJ1dHRlcmZseSkKLSAgICB7Ci0g
ICAgICAgIERvbGxhclZNQXNzZXJ0U2NvcGUgYXNzZXJ0U2NvcGU7Ci0gICAgfQotCi0gICAgdGVt
cGxhdGU8dHlwZW5hbWUgQ2VsbFR5cGUsIFN1YnNwYWNlQWNjZXNzPgotICAgIHN0YXRpYyBDb21w
bGV0ZVN1YnNwYWNlKiBzdWJzcGFjZUZvcihWTSYgdm0pCi0gICAgewotICAgICAgICByZXR1cm4g
JnZtLmNlbGxTcGFjZSgpOwotICAgIH0KLQotICAgIERFQ0xBUkVfSU5GTzsKLQotICAgIHN0YXRp
YyBTdHJ1Y3R1cmUqIGNyZWF0ZVN0cnVjdHVyZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9i
YWxPYmplY3QpCi0gICAgewotICAgICAgICBEb2xsYXJWTUFzc2VydFNjb3BlIGFzc2VydFNjb3Bl
OwotICAgICAgICByZXR1cm4gU3RydWN0dXJlOjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdCwgZ2xv
YmFsT2JqZWN0LT5vYmplY3RQcm90b3R5cGUoKSwgVHlwZUluZm8oT2JqZWN0VHlwZSwgU3RydWN0
dXJlRmxhZ3MpLCBpbmZvKCksIE5vbkFycmF5V2l0aEFsd2F5c1Nsb3dQdXRDb250aWd1b3VzKTsK
LSAgICB9Ci0KLSAgICBzdGF0aWMgQWx3YXlzU2xvd1B1dENvbnRpZ3VvdXNPYmplY3QqIGNyZWF0
ZShWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlLCBCdXR0ZXJmbHkqIGJ1dHRlcmZseSkKLSAg
ICB7Ci0gICAgICAgIERvbGxhclZNQXNzZXJ0U2NvcGUgYXNzZXJ0U2NvcGU7Ci0gICAgICAgIEFs
d2F5c1Nsb3dQdXRDb250aWd1b3VzT2JqZWN0KiByZXN1bHQgPSBuZXcgKE5vdE51bGwsIGFsbG9j
YXRlQ2VsbDxBbHdheXNTbG93UHV0Q29udGlndW91c09iamVjdD4odm0pKSBBbHdheXNTbG93UHV0
Q29udGlndW91c09iamVjdCh2bSwgc3RydWN0dXJlLCBidXR0ZXJmbHkpOwotICAgICAgICByZXN1
bHQtPmZpbmlzaENyZWF0aW9uKHZtKTsKLSAgICAgICAgcmV0dXJuIHJlc3VsdDsKLSAgICB9Ci19
OwotCi1jbGFzcyBBbHdheXNTbG93UHV0Q29udGlndW91c09iamVjdFdpdGhPdmVycmlkZXMgOiBw
dWJsaWMgSlNEZXN0cnVjdGlibGVPYmplY3QgewotcHVibGljOgotICAgIHVzaW5nIEJhc2UgPSBK
U0Rlc3RydWN0aWJsZU9iamVjdDsKLSAgICBzdGF0aWMgY29uc3RleHByIHVuc2lnbmVkIFN0cnVj
dHVyZUZsYWdzID0gQmFzZTo6U3RydWN0dXJlRmxhZ3MgfCBPdmVycmlkZXNQdXQ7Ci0KLSAgICBB
bHdheXNTbG93UHV0Q29udGlndW91c09iamVjdFdpdGhPdmVycmlkZXMoVk0mIHZtLCBTdHJ1Y3R1
cmUqIHN0cnVjdHVyZSwgQnV0dGVyZmx5KiBidXR0ZXJmbHkpCi0gICAgICAgIDogQmFzZSh2bSwg
c3RydWN0dXJlLCBidXR0ZXJmbHkpCi0gICAgewotICAgICAgICBEb2xsYXJWTUFzc2VydFNjb3Bl
IGFzc2VydFNjb3BlOwotICAgIH0KLQotICAgIHRlbXBsYXRlPHR5cGVuYW1lIENlbGxUeXBlLCBT
dWJzcGFjZUFjY2Vzcz4KLSAgICBzdGF0aWMgQ29tcGxldGVTdWJzcGFjZSogc3Vic3BhY2VGb3Io
Vk0mIHZtKQotICAgIHsKLSAgICAgICAgcmV0dXJuICZ2bS5jZWxsU3BhY2UoKTsKLSAgICB9Ci0K
LSAgICBERUNMQVJFX0lORk87Ci0KLSAgICBzdGF0aWMgU3RydWN0dXJlKiBjcmVhdGVTdHJ1Y3R1
cmUoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQotICAgIHsKLSAgICAgICAg
RG9sbGFyVk1Bc3NlcnRTY29wZSBhc3NlcnRTY29wZTsKLSAgICAgICAgcmV0dXJuIFN0cnVjdHVy
ZTo6Y3JlYXRlKHZtLCBnbG9iYWxPYmplY3QsIGdsb2JhbE9iamVjdC0+b2JqZWN0UHJvdG90eXBl
KCksIFR5cGVJbmZvKE9iamVjdFR5cGUsIFN0cnVjdHVyZUZsYWdzKSwgaW5mbygpLCBOb25BcnJh
eVdpdGhBbHdheXNTbG93UHV0Q29udGlndW91cyB8IE1heUhhdmVJbmRleGVkQWNjZXNzb3JzKTsK
LSAgICB9Ci0KLSAgICBzdGF0aWMgQWx3YXlzU2xvd1B1dENvbnRpZ3VvdXNPYmplY3RXaXRoT3Zl
cnJpZGVzKiBjcmVhdGUoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgQnV0dGVyZmx5KiBi
dXR0ZXJmbHkpCi0gICAgewotICAgICAgICBEb2xsYXJWTUFzc2VydFNjb3BlIGFzc2VydFNjb3Bl
OwotICAgICAgICBBbHdheXNTbG93UHV0Q29udGlndW91c09iamVjdFdpdGhPdmVycmlkZXMqIHJl
c3VsdCA9IG5ldyAoTm90TnVsbCwgYWxsb2NhdGVDZWxsPEFsd2F5c1Nsb3dQdXRDb250aWd1b3Vz
T2JqZWN0V2l0aE92ZXJyaWRlcz4odm0pKSBBbHdheXNTbG93UHV0Q29udGlndW91c09iamVjdFdp
dGhPdmVycmlkZXModm0sIHN0cnVjdHVyZSwgYnV0dGVyZmx5KTsKLSAgICAgICAgcmVzdWx0LT5m
aW5pc2hDcmVhdGlvbih2bSk7Ci0gICAgICAgIHJldHVybiByZXN1bHQ7Ci0gICAgfQotCi0gICAg
c3RhdGljIGJvb2wgcHV0KEpTQ2VsbCogY2VsbCwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVj
dCwgUHJvcGVydHlOYW1lIHByb3BlcnR5TmFtZSwgSlNWYWx1ZSB2YWx1ZSwgUHV0UHJvcGVydHlT
bG90JiBzbG90KQotICAgIHsKLSAgICAgICAgRG9sbGFyVk1Bc3NlcnRTY29wZSBhc3NlcnRTY29w
ZTsKLSAgICAgICAgYXV0byogdGhpc09iamVjdCA9IGpzQ2FzdDxBbHdheXNTbG93UHV0Q29udGln
dW91c09iamVjdFdpdGhPdmVycmlkZXMqPihjZWxsKTsKLSAgICAgICAgaWYgKHN0ZDo6b3B0aW9u
YWw8dWludDMyX3Q+IGluZGV4ID0gcGFyc2VJbmRleChwcm9wZXJ0eU5hbWUpKQotICAgICAgICAg
ICAgcmV0dXJuIHRoaXNPYmplY3QtPm1ldGhvZFRhYmxlKCktPnB1dEJ5SW5kZXgodGhpc09iamVj
dCwgZ2xvYmFsT2JqZWN0LCBpbmRleC52YWx1ZSgpLCB2YWx1ZSwgc2xvdC5pc1N0cmljdE1vZGUo
KSk7Ci0KLSAgICAgICAgcmV0dXJuIEJhc2U6OnB1dChjZWxsLCBnbG9iYWxPYmplY3QsIHByb3Bl
cnR5TmFtZSwgdmFsdWUsIHNsb3QpOwotICAgIH0KLQotICAgIHN0YXRpYyBib29sIHB1dEJ5SW5k
ZXgoSlNDZWxsKiBjZWxsLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCB1bnNpZ25lZCBw
cm9wZXJ0eU5hbWUsIEpTVmFsdWUgdmFsdWUsIGJvb2wgc2hvdWxkVGhyb3cpCi0gICAgewotICAg
ICAgICBEb2xsYXJWTUFzc2VydFNjb3BlIGFzc2VydFNjb3BlOwotICAgICAgICBWTSYgdm0gPSBn
bG9iYWxPYmplY3QtPnZtKCk7Ci0gICAgICAgIGF1dG8qIHRoaXNPYmplY3QgPSBqc0Nhc3Q8QWx3
YXlzU2xvd1B1dENvbnRpZ3VvdXNPYmplY3RXaXRoT3ZlcnJpZGVzKj4oY2VsbCk7Ci0gICAgICAg
IHRoaXNPYmplY3QtPmluY3JlbWVudCh2bSwgSWRlbnRpZmllcjo6ZnJvbVN0cmluZyh2bSwgInB1
dEJ5SW5kZXhDYWxscyJfcykpOwotICAgICAgICByZXR1cm4gQmFzZTo6cHV0QnlJbmRleChjZWxs
LCBnbG9iYWxPYmplY3QsIHByb3BlcnR5TmFtZSwgdmFsdWUsIHNob3VsZFRocm93KTsKLSAgICB9
Ci0KLSAgICBzdGF0aWMgYm9vbCBkZWxldGVQcm9wZXJ0eShKU0NlbGwqIGNlbGwsIEpTR2xvYmFs
T2JqZWN0KiBnbG9iYWxPYmplY3QsIFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5hbWUsIERlbGV0ZVBy
b3BlcnR5U2xvdCYgc2xvdCkKLSAgICB7Ci0gICAgICAgIERvbGxhclZNQXNzZXJ0U2NvcGUgYXNz
ZXJ0U2NvcGU7Ci0gICAgICAgIGF1dG8qIHRoaXNPYmplY3QgPSBqc0Nhc3Q8QWx3YXlzU2xvd1B1
dENvbnRpZ3VvdXNPYmplY3RXaXRoT3ZlcnJpZGVzKj4oY2VsbCk7Ci0gICAgICAgIGlmIChzdGQ6
Om9wdGlvbmFsPHVpbnQzMl90PiBpbmRleCA9IHBhcnNlSW5kZXgocHJvcGVydHlOYW1lKSkKLSAg
ICAgICAgICAgIHJldHVybiB0aGlzT2JqZWN0LT5tZXRob2RUYWJsZSgpLT5kZWxldGVQcm9wZXJ0
eUJ5SW5kZXgodGhpc09iamVjdCwgZ2xvYmFsT2JqZWN0LCBpbmRleC52YWx1ZSgpKTsKLSAgICAg
ICAgcmV0dXJuIEJhc2U6OmRlbGV0ZVByb3BlcnR5KGNlbGwsIGdsb2JhbE9iamVjdCwgcHJvcGVy
dHlOYW1lLCBzbG90KTsKLSAgICB9Ci0KLSAgICBzdGF0aWMgYm9vbCBkZWxldGVQcm9wZXJ0eUJ5
SW5kZXgoSlNDZWxsKiBjZWxsLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCB1bnNpZ25l
ZCBwcm9wZXJ0eU5hbWUpCi0gICAgewotICAgICAgICBEb2xsYXJWTUFzc2VydFNjb3BlIGFzc2Vy
dFNjb3BlOwotICAgICAgICBWTSYgdm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7Ci0gICAgICAgIGF1
dG8qIHRoaXNPYmplY3QgPSBqc0Nhc3Q8QWx3YXlzU2xvd1B1dENvbnRpZ3VvdXNPYmplY3RXaXRo
T3ZlcnJpZGVzKj4oY2VsbCk7Ci0gICAgICAgIHRoaXNPYmplY3QtPmluY3JlbWVudCh2bSwgSWRl
bnRpZmllcjo6ZnJvbVN0cmluZyh2bSwgImRlbGV0ZUJ5SW5kZXhDYWxscyJfcykpOwotICAgICAg
ICByZXR1cm4gQmFzZTo6ZGVsZXRlUHJvcGVydHlCeUluZGV4KGNlbGwsIGdsb2JhbE9iamVjdCwg
cHJvcGVydHlOYW1lKTsKLSAgICB9Ci0KLSAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiB2bSkK
LSAgICB7Ci0gICAgICAgIERvbGxhclZNQXNzZXJ0U2NvcGUgYXNzZXJ0U2NvcGU7Ci0gICAgICAg
IEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtKTsKLSAgICAgICAgcHV0RGlyZWN0KHZtLCBJZGVudGlm
aWVyOjpmcm9tU3RyaW5nKHZtLCAicHV0QnlJbmRleENhbGxzIl9zKSwganNOdW1iZXIoMCksIHN0
YXRpY19jYXN0PHVuc2lnbmVkPihQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pKTsKLSAgICAg
ICAgcHV0RGlyZWN0KHZtLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKHZtLCAiZGVsZXRlQnlJbmRl
eENhbGxzIl9zKSwganNOdW1iZXIoMCksIHN0YXRpY19jYXN0PHVuc2lnbmVkPihQcm9wZXJ0eUF0
dHJpYnV0ZTo6RG9udEVudW0pKTsKLSAgICB9Ci0KLSAgICB2b2lkIGluY3JlbWVudChWTSYgdm0s
IGNvbnN0IElkZW50aWZpZXImIGlkZW50aWZpZXIpCi0gICAgewotICAgICAgICBEb2xsYXJWTUFz
c2VydFNjb3BlIGFzc2VydFNjb3BlOwotICAgICAgICB1aW50MzJfdCBjYWxscyA9IGdldERpcmVj
dCh2bSwgaWRlbnRpZmllcikuYXNVSW50MzIoKTsKLSAgICAgICAgcHV0RGlyZWN0KHZtLCBpZGVu
dGlmaWVyLCBqc051bWJlcihjYWxscyArIDEpLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oUHJvcGVy
dHlBdHRyaWJ1dGU6OkRvbnRFbnVtKSk7Ci0gICAgfQotfTsKLQogY2xhc3MgRE9NSklUTm9kZSA6
IHB1YmxpYyBKU05vbkZpbmFsT2JqZWN0IHsKIHB1YmxpYzoKICAgICBET01KSVROb2RlKFZNJiB2
bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCkBAIC0xOTkxLDggKzE4NzEsNiBAQCBjb25zdCBDbGFz
c0luZm8gU3RhdGljQ3VzdG9tQWNjZXNzb3I6OnNfaW5mbyA9IHsgIlN0YXRpY0N1c3RvbUFjY2Vz
c29yIl9zLCAmQmFzZQogY29uc3QgQ2xhc3NJbmZvIFN0YXRpY0N1c3RvbVZhbHVlOjpzX2luZm8g
PSB7ICJTdGF0aWNDdXN0b21WYWx1ZSJfcywgJkJhc2U6OnNfaW5mbywgJnN0YXRpY0N1c3RvbVZh
bHVlVGFibGUsIG51bGxwdHIsIENSRUFURV9NRVRIT0RfVEFCTEUoU3RhdGljQ3VzdG9tVmFsdWUp
IH07CiBjb25zdCBDbGFzc0luZm8gU3RhdGljRG9udERlbGV0ZURvbnRFbnVtOjpzX2luZm8gPSB7
ICJTdGF0aWNEb250RGVsZXRlRG9udEVudW0iX3MsICZCYXNlOjpzX2luZm8sICZzdGF0aWNEb250
RGVsZXRlRG9udEVudW1UYWJsZSwgbnVsbHB0ciwgQ1JFQVRFX01FVEhPRF9UQUJMRShTdGF0aWNE
b250RGVsZXRlRG9udEVudW0pIH07CiBjb25zdCBDbGFzc0luZm8gT2JqZWN0RG9pbmdTaWRlRWZm
ZWN0UHV0V2l0aG91dENvcnJlY3RTbG90U3RhdHVzOjpzX2luZm8gPSB7ICJPYmplY3REb2luZ1Np
ZGVFZmZlY3RQdXRXaXRob3V0Q29ycmVjdFNsb3RTdGF0dXMiX3MsICZCYXNlOjpzX2luZm8sICZz
dGF0aWNDdXN0b21BY2Nlc3NvclRhYmxlLCBudWxscHRyLCBDUkVBVEVfTUVUSE9EX1RBQkxFKE9i
amVjdERvaW5nU2lkZUVmZmVjdFB1dFdpdGhvdXRDb3JyZWN0U2xvdFN0YXR1cykgfTsKLWNvbnN0
IENsYXNzSW5mbyBBbHdheXNTbG93UHV0Q29udGlndW91c09iamVjdDo6c19pbmZvID0geyAiQWx3
YXlzU2xvd1B1dENvbnRpZ3VvdXNPYmplY3QiX3MsICZCYXNlOjpzX2luZm8sIG51bGxwdHIsIG51
bGxwdHIsIENSRUFURV9NRVRIT0RfVEFCTEUoQWx3YXlzU2xvd1B1dENvbnRpZ3VvdXNPYmplY3Qp
IH07Ci1jb25zdCBDbGFzc0luZm8gQWx3YXlzU2xvd1B1dENvbnRpZ3VvdXNPYmplY3RXaXRoT3Zl
cnJpZGVzOjpzX2luZm8gPSB7ICJBbHdheXNTbG93UHV0Q29udGlndW91c09iamVjdFdpdGhPdmVy
cmlkZXMiX3MsICZCYXNlOjpzX2luZm8sIG51bGxwdHIsIG51bGxwdHIsIENSRUFURV9NRVRIT0Rf
VEFCTEUoQWx3YXlzU2xvd1B1dENvbnRpZ3VvdXNPYmplY3RXaXRoT3ZlcnJpZGVzKSB9OwogCiBF
bGVtZW50SGFuZGxlT3duZXIqIEVsZW1lbnQ6OmhhbmRsZU93bmVyKCkKIHsKQEAgLTIyNzAsOCAr
MjE0OCw2IEBAIHN0YXRpYyBKU0NfREVDTEFSRV9IT1NUX0ZVTkNUSU9OKGZ1bmN0aW9uQ3JlYXRl
U3RhdGljQ3VzdG9tQWNjZXNzb3IpOwogc3RhdGljIEpTQ19ERUNMQVJFX0hPU1RfRlVOQ1RJT04o
ZnVuY3Rpb25DcmVhdGVTdGF0aWNDdXN0b21WYWx1ZSk7CiBzdGF0aWMgSlNDX0RFQ0xBUkVfSE9T
VF9GVU5DVElPTihmdW5jdGlvbkNyZWF0ZVN0YXRpY0RvbnREZWxldGVEb250RW51bSk7CiBzdGF0
aWMgSlNDX0RFQ0xBUkVfSE9TVF9GVU5DVElPTihmdW5jdGlvbkNyZWF0ZU9iamVjdERvaW5nU2lk
ZUVmZmVjdFB1dFdpdGhvdXRDb3JyZWN0U2xvdFN0YXR1cyk7Ci1zdGF0aWMgSlNDX0RFQ0xBUkVf
SE9TVF9GVU5DVElPTihmdW5jdGlvbkNyZWF0ZUFsd2F5c1Nsb3dQdXRDb250aWd1b3VzT2JqZWN0
KTsKLXN0YXRpYyBKU0NfREVDTEFSRV9IT1NUX0ZVTkNUSU9OKGZ1bmN0aW9uQ3JlYXRlQWx3YXlz
U2xvd1B1dENvbnRpZ3VvdXNPYmplY3RXaXRoT3ZlcnJpZGVzKTsKIHN0YXRpYyBKU0NfREVDTEFS
RV9IT1NUX0ZVTkNUSU9OKGZ1bmN0aW9uQ3JlYXRlRW1wdHlGdW5jdGlvbldpdGhOYW1lKTsKIHN0
YXRpYyBKU0NfREVDTEFSRV9IT1NUX0ZVTkNUSU9OKGZ1bmN0aW9uU2V0SW1wdXJlR2V0dGVyRGVs
ZWdhdGUpOwogc3RhdGljIEpTQ19ERUNMQVJFX0hPU1RfRlVOQ1RJT04oZnVuY3Rpb25DcmVhdGVC
dWlsdGluKTsKQEAgLTIzMzIsNyArMjIwOCw2IEBAIHN0YXRpYyBKU0NfREVDTEFSRV9IT1NUX0ZV
TkNUSU9OKGZ1bmN0aW9uUmVzZXRKSVRTaXplU3RhdGlzdGljcyk7CiAjZW5kaWYKIAogc3RhdGlj
IEpTQ19ERUNMQVJFX0hPU1RfRlVOQ1RJT04oZnVuY3Rpb25FbnN1cmVBcnJheVN0b3JhZ2UpOwot
c3RhdGljIEpTQ19ERUNMQVJFX0hPU1RfRlVOQ1RJT04oZnVuY3Rpb25IYXNTcGFyc2VNb2RlQXJy
YXlTdG9yYWdlKTsKICNpZiBQTEFURk9STShDT0NPQSkKIHN0YXRpYyBKU0NfREVDTEFSRV9IT1NU
X0ZVTkNUSU9OKGZ1bmN0aW9uU2V0Q3Jhc2hMb2dNZXNzYWdlKTs7CiAjZW5kaWYKQEAgLTMzMDAs
NDMgKzMxNzUsNiBAQCBKU0NfREVGSU5FX0hPU1RfRlVOQ1RJT04oZnVuY3Rpb25DcmVhdGVPYmpl
Y3REb2luZ1NpZGVFZmZlY3RQdXRXaXRob3V0Q29ycmVjdFNsbwogICAgIHJldHVybiBKU1ZhbHVl
OjplbmNvZGUocmVzdWx0KTsKIH0KIAotdGVtcGxhdGU8dHlwZW5hbWUgVD4KLXN0YXRpYyBKU1Zh
bHVlIGNyZWF0ZUFsd2F5c1Nsb3dQdXRDb250aWd1b3VzT2JqZWN0KEpTR2xvYmFsT2JqZWN0KiBn
bG9iYWxPYmplY3QsIENhbGxGcmFtZSogY2FsbEZyYW1lKQotewotICAgIFZNJiB2bSA9IGdsb2Jh
bE9iamVjdC0+dm0oKTsKLSAgICBKU0xvY2tIb2xkZXIgbG9jayh2bSk7Ci0KLSAgICB1aW50MzJf
dCBsZW5ndGggPSBjYWxsRnJhbWUtPmFyZ3VtZW50KDApLmFzVUludDMyKCk7Ci0KLSAgICBTdHJ1
Y3R1cmUqIHN0cnVjdHVyZSA9IFQ6OmNyZWF0ZVN0cnVjdHVyZSh2bSwgZ2xvYmFsT2JqZWN0KTsK
LQotICAgIEluZGV4aW5nSGVhZGVyIGluZGV4aW5nSGVhZGVyOwotICAgIGluZGV4aW5nSGVhZGVy
LnNldFZlY3Rvckxlbmd0aChsZW5ndGgpOwotICAgIGluZGV4aW5nSGVhZGVyLnNldFB1YmxpY0xl
bmd0aChsZW5ndGgpOwotICAgIEJ1dHRlcmZseSogYnV0dGVyZmx5ID0gQnV0dGVyZmx5Ojp0cnlD
cmVhdGUodm0sIG51bGxwdHIsIDAsIHN0cnVjdHVyZS0+b3V0T2ZMaW5lQ2FwYWNpdHkoKSwgdHJ1
ZSwgaW5kZXhpbmdIZWFkZXIsIGxlbmd0aCAqIHNpemVvZihFbmNvZGVkSlNWYWx1ZSkpOwotICAg
IGlmICghYnV0dGVyZmx5KQotICAgICAgICByZXR1cm4ganNVbmRlZmluZWQoKTsKLQotICAgIGZv
ciAodWludDMyX3QgaSA9IGxlbmd0aDsgaS0tOykKLSAgICAgICAgYnV0dGVyZmx5LT5jb250aWd1
b3VzKCkuYXRVbnNhZmUoaSkuY2xlYXIoKTsKLQotICAgIFQqIHJlc3VsdCA9IFQ6OmNyZWF0ZSh2
bSwgc3RydWN0dXJlLCBidXR0ZXJmbHkpOwotICAgIHJlc3VsdC0+cHV0RGlyZWN0KHZtLCB2bS5w
cm9wZXJ0eU5hbWVzLT5sZW5ndGgsIGpzTnVtYmVyKGxlbmd0aCksIHN0YXRpY19jYXN0PHVuc2ln
bmVkPihQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pKTsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotCi1KU0NfREVGSU5FX0hPU1RfRlVOQ1RJT04oZnVuY3Rpb25DcmVhdGVBbHdheXNTbG93UHV0
Q29udGlndW91c09iamVjdCwgKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIENhbGxGcmFt
ZSogY2FsbEZyYW1lKSkKLXsKLSAgICBEb2xsYXJWTUFzc2VydFNjb3BlIGFzc2VydFNjb3BlOwot
ICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoY3JlYXRlQWx3YXlzU2xvd1B1dENvbnRpZ3VvdXNP
YmplY3Q8QWx3YXlzU2xvd1B1dENvbnRpZ3VvdXNPYmplY3Q+KGdsb2JhbE9iamVjdCwgY2FsbEZy
YW1lKSk7Ci19Ci0KLUpTQ19ERUZJTkVfSE9TVF9GVU5DVElPTihmdW5jdGlvbkNyZWF0ZUFsd2F5
c1Nsb3dQdXRDb250aWd1b3VzT2JqZWN0V2l0aE92ZXJyaWRlcywgKEpTR2xvYmFsT2JqZWN0KiBn
bG9iYWxPYmplY3QsIENhbGxGcmFtZSogY2FsbEZyYW1lKSkKLXsKLSAgICBEb2xsYXJWTUFzc2Vy
dFNjb3BlIGFzc2VydFNjb3BlOwotICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoY3JlYXRlQWx3
YXlzU2xvd1B1dENvbnRpZ3VvdXNPYmplY3Q8QWx3YXlzU2xvd1B1dENvbnRpZ3VvdXNPYmplY3RX
aXRoT3ZlcnJpZGVzPihnbG9iYWxPYmplY3QsIGNhbGxGcmFtZSkpOwotfQotCiBKU0NfREVGSU5F
X0hPU1RfRlVOQ1RJT04oZnVuY3Rpb25DcmVhdGVFbXB0eUZ1bmN0aW9uV2l0aE5hbWUsIChKU0ds
b2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBDYWxsRnJhbWUqIGNhbGxGcmFtZSkpCiB7CiAgICAg
RG9sbGFyVk1Bc3NlcnRTY29wZSBhc3NlcnRTY29wZTsKQEAgLTQwODgsMTcgKzM5MjYsNiBAQCBK
U0NfREVGSU5FX0hPU1RfRlVOQ1RJT04oZnVuY3Rpb25FbnN1cmVBcnJheVN0b3JhZ2UsIChKU0ds
b2JhbE9iamVjdCogZ2xvYmFsT2JqZQogICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRl
ZmluZWQoKSk7CiB9CiAKLUpTQ19ERUZJTkVfSE9TVF9GVU5DVElPTihmdW5jdGlvbkhhc1NwYXJz
ZU1vZGVBcnJheVN0b3JhZ2UsIChKU0dsb2JhbE9iamVjdCosIENhbGxGcmFtZSogY2FsbEZyYW1l
KSkKLXsKLSAgICBEb2xsYXJWTUFzc2VydFNjb3BlIGFzc2VydFNjb3BlOwotCi0gICAgaWYgKEpT
T2JqZWN0KiBvYmplY3QgPSBjYWxsRnJhbWUtPmFyZ3VtZW50KDApLmdldE9iamVjdCgpKSB7Ci0g
ICAgICAgIGlmIChoYXNBbnlBcnJheVN0b3JhZ2Uob2JqZWN0LT5pbmRleGluZ01vZGUoKSkpCi0g
ICAgICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzQm9vbGVhbihvYmplY3QtPmJ1dHRl
cmZseSgpLT5hcnJheVN0b3JhZ2UoKS0+aW5TcGFyc2VNb2RlKCkpKTsKLSAgICB9Ci0KLSAgICBy
ZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzQm9vbGVhbihmYWxzZSkpOwotfQogCiAjaWYgUExBVEZP
Uk0oQ09DT0EpCiBKU0NfREVGSU5FX0hPU1RfRlVOQ1RJT04oZnVuY3Rpb25TZXRDcmFzaExvZ01l
c3NhZ2UsIChKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBDYWxsRnJhbWUqIGNhbGxGcmFt
ZSkpCkBAIC00MjA3LDggKzQwMzQsNiBAQCB2b2lkIEpTRG9sbGFyVk06OmZpbmlzaENyZWF0aW9u
KFZNJiB2bSkKICAgICBhZGRGdW5jdGlvbih2bSwgImNyZWF0ZVN0YXRpY0N1c3RvbVZhbHVlIl9z
LCBmdW5jdGlvbkNyZWF0ZVN0YXRpY0N1c3RvbVZhbHVlLCAwKTsKICAgICBhZGRGdW5jdGlvbih2
bSwgImNyZWF0ZVN0YXRpY0RvbnREZWxldGVEb250RW51bSJfcywgZnVuY3Rpb25DcmVhdGVTdGF0
aWNEb250RGVsZXRlRG9udEVudW0sIDApOwogICAgIGFkZEZ1bmN0aW9uKHZtLCAiY3JlYXRlT2Jq
ZWN0RG9pbmdTaWRlRWZmZWN0UHV0V2l0aG91dENvcnJlY3RTbG90U3RhdHVzIl9zLCBmdW5jdGlv
bkNyZWF0ZU9iamVjdERvaW5nU2lkZUVmZmVjdFB1dFdpdGhvdXRDb3JyZWN0U2xvdFN0YXR1cywg
MCk7Ci0gICAgYWRkRnVuY3Rpb24odm0sICJjcmVhdGVBbHdheXNTbG93UHV0Q29udGlndW91c09i
amVjdCJfcywgZnVuY3Rpb25DcmVhdGVBbHdheXNTbG93UHV0Q29udGlndW91c09iamVjdCwgMCk7
Ci0gICAgYWRkRnVuY3Rpb24odm0sICJjcmVhdGVBbHdheXNTbG93UHV0Q29udGlndW91c09iamVj
dFdpdGhPdmVycmlkZXMiX3MsIGZ1bmN0aW9uQ3JlYXRlQWx3YXlzU2xvd1B1dENvbnRpZ3VvdXNP
YmplY3RXaXRoT3ZlcnJpZGVzLCAwKTsKICAgICBhZGRGdW5jdGlvbih2bSwgImNyZWF0ZUVtcHR5
RnVuY3Rpb25XaXRoTmFtZSJfcywgZnVuY3Rpb25DcmVhdGVFbXB0eUZ1bmN0aW9uV2l0aE5hbWUs
IDEpOwogICAgIGFkZEZ1bmN0aW9uKHZtLCAiZ2V0UHJpdmF0ZVByb3BlcnR5Il9zLCBmdW5jdGlv
bkdldFByaXZhdGVQcm9wZXJ0eSwgMik7CiAgICAgYWRkRnVuY3Rpb24odm0sICJzZXRJbXB1cmVH
ZXR0ZXJEZWxlZ2F0ZSJfcywgZnVuY3Rpb25TZXRJbXB1cmVHZXR0ZXJEZWxlZ2F0ZSwgMik7CkBA
IC00MjkyLDcgKzQxMTcsNiBAQCB2b2lkIEpTRG9sbGFyVk06OmZpbmlzaENyZWF0aW9uKFZNJiB2
bSkKICNlbmRpZgogCiAgICAgYWRkRnVuY3Rpb24odm0sICJlbnN1cmVBcnJheVN0b3JhZ2UiX3Ms
IGZ1bmN0aW9uRW5zdXJlQXJyYXlTdG9yYWdlLCAxKTsKLSAgICBhZGRGdW5jdGlvbih2bSwgImhh
c1NwYXJzZU1vZGVBcnJheVN0b3JhZ2UiX3MsIGZ1bmN0aW9uSGFzU3BhcnNlTW9kZUFycmF5U3Rv
cmFnZSwgMSk7CiAKICNpZiBQTEFURk9STShDT0NPQSkKICAgICBhZGRGdW5jdGlvbih2bSwgInNl
dENyYXNoTG9nTWVzc2FnZSJfcywgZnVuY3Rpb25TZXRDcmFzaExvZ01lc3NhZ2UsIDEpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
IGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4
IGI1MTc3NTMwNzE2MC4uMjMxNWNmYTdiMWNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC00MzI0LDcgKzQzMjQsNyBAQAogCQlC
Qzc3OUUxNzFCQjIyN0NBMDBDQUE4QkYgLyogU3R5bGVDdXN0b21Qcm9wZXJ0eURhdGEuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDNzc5RTE1MUJCMjI2
QTIwMENBQThCRiAvKiBTdHlsZUN1c3RvbVByb3BlcnR5RGF0YS5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUJDN0Y0NEE4MEI5RTMyNEUwMEE5RDA4
MSAvKiBJbWFnZU9ic2VydmVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBCQzdGNDRBNzBCOUUzMjRFMDBBOUQwODEgLyogSW1hZ2VPYnNlcnZlci5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUJDN0ZBNjIx
MEQxRjBDQkQwMERCMjJBOSAvKiBMaXZlTm9kZUxpc3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDN0ZBNjFGMEQxRjBDQkQwMERCMjJBOSAvKiBMaXZl
Tm9kZUxpc3QuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwotCQlCQzdGQTYyRDBEMUYwRUZGMDBEQjIyQTkgLyogU3RhdGljTm9kZUxpc3QuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDN0ZBNjJCMEQxRjBFRkYw
MERCMjJBOSAvKiBTdGF0aWNOb2RlTGlzdC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CisJCUJDN0ZBNjJEMEQxRjBFRkYwMERCMjJBOSAvKiBTdGF0aWNO
b2RlTGlzdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QkM3RkE2MkIwRDFGMEVGRjAwREIyMkE5IC8qIFN0YXRpY05vZGVMaXN0LmggKi87IH07CiAJCUJD
ODBDOTg4MENEMjk0RUUwMEEwQjdCMyAvKiBDU1NUaW1pbmdGdW5jdGlvblZhbHVlLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzgwQzk4NjBDRDI5NEVF
MDBBMEI3QjMgLyogQ1NTVGltaW5nRnVuY3Rpb25WYWx1ZS5oICovOyB9OwogCQlCQzgyNDMyOTBE
MENFOEEyMDA0NjBDOEYgLyogSlNTUUxFcnJvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQkM4MjQzMjUwRDBDRThBMjAwNDYwQzhGIC8qIEpTU1FMRXJy
b3IuaCAqLzsgfTsKIAkJQkM4MjQzMkEwRDBDRThBMjAwNDYwQzhGIC8qIEpTU1FMVHJhbnNhY3Rp
b24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDODI0
MzI2MEQwQ0U4QTIwMDQ2MEM4RiAvKiBKU1NRTFRyYW5zYWN0aW9uLmggKi87IH07CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2UuY3BwIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dCYXNlLmNwcAppbmRleCA4OGQxNzdi
ZmJkZmMuLjAwZTU5NTcxMjMzNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvSlNET01XaW5kb3dCYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U0RPTVdpbmRvd0Jhc2UuY3BwCkBAIC00Miw3ICs0Miw2IEBACiAjaW5jbHVkZSAiSlNGZXRjaFJl
c3BvbnNlLmgiCiAjaW5jbHVkZSAiSlNNaWNyb3Rhc2tDYWxsYmFjay5oIgogI2luY2x1ZGUgIkpT
Tm9kZS5oIgotI2luY2x1ZGUgIkpTTm9kZUxpc3QuaCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCiAj
aW5jbHVkZSAiUGFnZS5oIgogI2luY2x1ZGUgIlJlamVjdGVkUHJvbWlzZVRyYWNrZXIuaCIKQEAg
LTEzNiwzNyArMTM1LDYgQEAgdm9pZCBKU0RPTVdpbmRvd0Jhc2U6OmZpbmlzaENyZWF0aW9uKFZN
JiB2bSwgSlNXaW5kb3dQcm94eSogcHJveHkpCiAKICAgICBpZiAobV93cmFwcGVkICYmIG1fd3Jh
cHBlZC0+ZnJhbWUoKSAmJiBtX3dyYXBwZWQtPmZyYW1lKCktPnNldHRpbmdzKCkuc2hvd01vZGFs
RGlhbG9nRW5hYmxlZCgpKQogICAgICAgICBwdXREaXJlY3RDdXN0b21BY2Nlc3Nvcih2bSwgYnVp
bHRpbk5hbWVzKHZtKS5zaG93TW9kYWxEaWFsb2dQdWJsaWNOYW1lKCksIEN1c3RvbUdldHRlclNl
dHRlcjo6Y3JlYXRlKHZtLCBzaG93TW9kYWxEaWFsb2dHZXR0ZXIsIG51bGxwdHIpLCBzdGF0aWNf
Y2FzdDx1bnNpZ25lZD4oUHJvcGVydHlBdHRyaWJ1dGU6OkN1c3RvbVZhbHVlKSk7Ci0KLSAgICBp
bnN0YWxsQWx3YXlzU2xvd1B1dENvbnRpZ3VvdXNQcm90b3R5cGVzQXJlU2FuZVdhdGNocG9pbnQo
dm0pOwotfQotCi12b2lkIEpTRE9NV2luZG93QmFzZTo6aW5zdGFsbEFsd2F5c1Nsb3dQdXRDb250
aWd1b3VzUHJvdG90eXBlc0FyZVNhbmVXYXRjaHBvaW50KFZNJiB2bSkKLXsKLSAgICBEZWZlclRl
cm1pbmF0aW9uRm9yQVdoaWxlIGRlZmVyU2NvcGUodm0pOwotCi0gICAgYXV0byogc3RhdGljTm9k
ZUxpc3RTdHJ1Y3R1cmUgPSBnZXRET01TdHJ1Y3R1cmU8SlNTdGF0aWNOb2RlTGlzdD4odm0sICp0
aGlzKTsKLSAgICBBU1NFUlQoIXN0YXRpY05vZGVMaXN0U3RydWN0dXJlLT5pc0RpY3Rpb25hcnko
KSk7Ci0KLSAgICBhdXRvKiBzdGF0aWNOb2RlTGlzdFByb3RvdHlwZSA9IHN0YXRpY05vZGVMaXN0
U3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGVPYmplY3QoKTsKLSAgICBhdXRvKiBzdGF0aWNOb2Rl
TGlzdFByb3RvdHlwZVN0cnVjdHVyZSA9IHN0YXRpY05vZGVMaXN0UHJvdG90eXBlLT5zdHJ1Y3R1
cmUoKTsKLQotICAgIGlmIChzdGF0aWNOb2RlTGlzdFByb3RvdHlwZVN0cnVjdHVyZS0+aXNEaWN0
aW9uYXJ5KCkpCi0gICAgICAgIHN0YXRpY05vZGVMaXN0UHJvdG90eXBlU3RydWN0dXJlID0gc3Rh
dGljTm9kZUxpc3RQcm90b3R5cGVTdHJ1Y3R1cmUtPmZsYXR0ZW5EaWN0aW9uYXJ5U3RydWN0dXJl
KHZtLCBzdGF0aWNOb2RlTGlzdFByb3RvdHlwZSk7Ci0KLSAgICBQcm9wZXJ0eU9mZnNldCBsZW5n
dGhPZmZzZXQgPSBzdGF0aWNOb2RlTGlzdFByb3RvdHlwZS0+Z2V0RGlyZWN0T2Zmc2V0KHZtLCB2
bS5wcm9wZXJ0eU5hbWVzLT5sZW5ndGgpOwotICAgIEpTVmFsdWUgbGVuZ3RoQWNjZXNzb3IgPSBz
dGF0aWNOb2RlTGlzdFByb3RvdHlwZS0+Z2V0RGlyZWN0KGxlbmd0aE9mZnNldCk7Ci0gICAgQVNT
RVJUKGxlbmd0aEFjY2Vzc29yLmlzQ3VzdG9tR2V0dGVyU2V0dGVyKCkpOwotCi0gICAgc3RhdGlj
Tm9kZUxpc3RQcm90b3R5cGVTdHJ1Y3R1cmUtPnN0YXJ0V2F0Y2hpbmdQcm9wZXJ0eUZvclJlcGxh
Y2VtZW50cyh2bSwgbGVuZ3RoT2Zmc2V0KTsKLQotICAgIG1fYWx3YXlzU2xvd1B1dENvbnRpZ3Vv
dXNQcm90b3R5cGVzQXJlU2FuZVdhdGNocG9pbnRTZXQuc3RhcnRXYXRjaGluZygpOwotCi0gICAg
T2JqZWN0UHJvcGVydHlDb25kaXRpb24gcHJvdG90eXBlTGVuZ3RoQ29uZGl0aW9uID0gT2JqZWN0
UHJvcGVydHlDb25kaXRpb246OmVxdWl2YWxlbmNlKHZtLCBzdGF0aWNOb2RlTGlzdFByb3RvdHlw
ZSwgc3RhdGljTm9kZUxpc3RQcm90b3R5cGUsIHZtLnByb3BlcnR5TmFtZXMtPmxlbmd0aC5pbXBs
KCksIGxlbmd0aEFjY2Vzc29yKTsKLQotICAgIG1fc3RhdGljTm9kZUxpc3RQcm90b3R5cGVMZW5n
dGhXYXRjaHBvaW50ID0gbWFrZVVuaXF1ZTxPYmplY3RQcm9wZXJ0eUNoYW5nZUFkYXB0aXZlV2F0
Y2hwb2ludDxJbmxpbmVXYXRjaHBvaW50U2V0Pj4odGhpcywgcHJvdG90eXBlTGVuZ3RoQ29uZGl0
aW9uLCBtX2Fsd2F5c1Nsb3dQdXRDb250aWd1b3VzUHJvdG90eXBlc0FyZVNhbmVXYXRjaHBvaW50
U2V0KTsKLSAgICBtX3N0YXRpY05vZGVMaXN0UHJvdG90eXBlTGVuZ3RoV2F0Y2hwb2ludC0+aW5z
dGFsbCh2bSk7Ci0KLSAgICByZWNvcmRPcmlnaW5hbEFsd2F5c1Nsb3dQdXRDb250aWd1b3VzU3Ry
dWN0dXJlKHN0YXRpY05vZGVMaXN0U3RydWN0dXJlKTsKIH0KIAogdm9pZCBKU0RPTVdpbmRvd0Jh
c2U6OmRlc3Ryb3koSlNDZWxsKiBjZWxsKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvSlNET01XaW5kb3dCYXNlLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U0RPTVdpbmRvd0Jhc2UuaAppbmRleCBhMDVmZjNiNGIwNDcuLjBkOGUyODE3NjQ5YyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dCYXNlLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dCYXNlLmgKQEAgLTMwLDEwICsz
MCw4IEBACiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSlNPYmplY3RJbmxpbmVzLmg+CiAjaW5j
bHVkZSA8SmF2YVNjcmlwdENvcmUvTG9va3VwLmg+CiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUv
T2JqZWN0Q29uc3RydWN0b3IuaD4KLSNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9PYmplY3RQcm9w
ZXJ0eUNoYW5nZUFkYXB0aXZlV2F0Y2hwb2ludC5oPgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3Jl
L1Nsb3RWaXNpdG9ySW5saW5lcy5oPgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL1N0cnVjdHVy
ZUlubGluZXMuaD4KLSNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9XYXRjaHBvaW50Lmg+CiAjaW5j
bHVkZSA8SmF2YVNjcmlwdENvcmUvV3JpdGVCYXJyaWVyLmg+CiAjaW5jbHVkZSA8Y3N0ZGRlZj4K
ICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgpAQCAtMTA2LDEwICsxMDQsNiBAQCBwcml2YXRlOgog
CiAgICAgUmVmUHRyPERPTVdpbmRvdz4gbV93cmFwcGVkOwogICAgIFJlZlB0cjxFdmVudD4gbV9j
dXJyZW50RXZlbnQ7Ci0KLSAgICB2b2lkIGluc3RhbGxBbHdheXNTbG93UHV0Q29udGlndW91c1By
b3RvdHlwZXNBcmVTYW5lV2F0Y2hwb2ludChKU0M6OlZNJik7Ci0KLSAgICBzdGQ6OnVuaXF1ZV9w
dHI8SlNDOjpPYmplY3RQcm9wZXJ0eUNoYW5nZUFkYXB0aXZlV2F0Y2hwb2ludDxKU0M6OklubGlu
ZVdhdGNocG9pbnRTZXQ+PiBtX3N0YXRpY05vZGVMaXN0UHJvdG90eXBlTGVuZ3RoV2F0Y2hwb2lu
dDsKIH07CiAKIFdFQkNPUkVfRVhQT1JUIEpTQzo6SlNWYWx1ZSB0b0pTKEpTQzo6SlNHbG9iYWxP
YmplY3QqLCBET01XaW5kb3cmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTRE9NV3JhcHBlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdy
YXBwZXIuY3BwCmluZGV4IGI3YzQxNjEyNjAyYi4uYmYzMzJmYjlmODk5IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdyYXBwZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV3JhcHBlci5jcHAKQEAgLTMyLDE1ICszMiwxNCBAQAog
I2luY2x1ZGUgIkpTUmVtb3RlRE9NV2luZG93LmgiCiAjaW5jbHVkZSAiU2VyaWFsaXplZFNjcmlw
dFZhbHVlLmgiCiAjaW5jbHVkZSAiV2ViQ29yZUpTQ2xpZW50RGF0YS5oIgotI2luY2x1ZGUgPEph
dmFTY3JpcHRDb3JlL0J1dHRlcmZseS5oPgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0Vycm9y
Lmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogU1RBVElDX0FTU0VSVF9JU19UUklWSUFMTFlf
REVTVFJVQ1RJQkxFKEpTRE9NT2JqZWN0KTsKIAotSlNET01PYmplY3Q6OkpTRE9NT2JqZWN0KEpT
Qzo6U3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEpTQzo6SlNHbG9iYWxPYmplY3QmIGdsb2JhbE9iamVj
dCwgSlNDOjpCdXR0ZXJmbHkqIGJ1dHRlcmZseSkKLSAgICA6IEJhc2UoZ2xvYmFsT2JqZWN0LnZt
KCksIHN0cnVjdHVyZSwgYnV0dGVyZmx5KQorSlNET01PYmplY3Q6OkpTRE9NT2JqZWN0KEpTQzo6
U3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEpTQzo6SlNHbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCkK
KyAgICA6IEJhc2UoZ2xvYmFsT2JqZWN0LnZtKCksIHN0cnVjdHVyZSkKIHsKICAgICBBU1NFUlQo
c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpIHx8IGdsb2JhbE9iamVjdC5jbGFzc0luZm8oKSA9PSBK
U1JlbW90ZURPTVdpbmRvdzo6aW5mbygpKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0pTRE9NV3JhcHBlci5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
SlNET01XcmFwcGVyLmgKaW5kZXggMWFhYzE5NGVjYTczLi41MTA4ODM5YTIxMWYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV3JhcHBlci5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV3JhcHBlci5oCkBAIC02Niw3ICs2Niw3IEBAIHB1
YmxpYzoKICAgICBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBzY3JpcHRFeGVjdXRpb25Db250ZXh0
KCkgY29uc3QgeyByZXR1cm4gZ2xvYmFsT2JqZWN0KCktPnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQo
KTsgfQogCiBwcm90ZWN0ZWQ6Ci0gICAgV0VCQ09SRV9FWFBPUlQgSlNET01PYmplY3QoSlNDOjpT
dHJ1Y3R1cmUqLCBKU0M6OkpTR2xvYmFsT2JqZWN0JiwgSlNDOjpCdXR0ZXJmbHkqID0gbnVsbHB0
cik7CisgICAgV0VCQ09SRV9FWFBPUlQgSlNET01PYmplY3QoSlNDOjpTdHJ1Y3R1cmUqLCBKU0M6
OkpTR2xvYmFsT2JqZWN0Jik7CiB9OwogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBJbXBsZW1lbnRhdGlv
bkNsYXNzLCB0eXBlbmFtZSBQdHJUcmFpdHMgPSBSYXdQdHJUcmFpdHM8SW1wbGVtZW50YXRpb25D
bGFzcz4+CkBAIC04MCw4ICs4MCw4IEBAIHB1YmxpYzoKICAgICBjb25zdGV4cHIgc3RhdGljIGJv
b2wgaGFzQ3VzdG9tUHRyVHJhaXRzKCkgeyByZXR1cm4gIXN0ZDo6aXNfc2FtZV92PFB0clRyYWl0
cywgUmF3UHRyVHJhaXRzPEltcGxlbWVudGF0aW9uQ2xhc3M+PjsgfTsKICAgICAKIHByb3RlY3Rl
ZDoKLSAgICBKU0RPTVdyYXBwZXIoSlNDOjpTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgSlNDOjpKU0ds
b2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0LCBSZWY8SW1wbGVtZW50YXRpb25DbGFzcz4mJiBpbXBs
LCBKU0M6OkJ1dHRlcmZseSogYnV0dGVyZmx5ID0gbnVsbHB0cikKLSAgICAgICAgOiBCYXNlKHN0
cnVjdHVyZSwgZ2xvYmFsT2JqZWN0LCBidXR0ZXJmbHkpCisgICAgSlNET01XcmFwcGVyKEpTQzo6
U3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEpTQzo6SlNHbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCwg
UmVmPEltcGxlbWVudGF0aW9uQ2xhc3M+JiYgaW1wbCkKKyAgICAgICAgOiBCYXNlKHN0cnVjdHVy
ZSwgZ2xvYmFsT2JqZWN0KQogICAgICAgICAsIG1fd3JhcHBlZChXVEZNb3ZlKGltcGwpKSB7IH0K
IAogcHJpdmF0ZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTm9k
ZUxpc3RDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNOb2RlTGlzdEN1
c3RvbS5jcHAKaW5kZXggN2NjZWVmNGQwMDYxLi4xODcwM2VjZDE4NDUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTm9kZUxpc3RDdXN0b20uY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTm9kZUxpc3RDdXN0b20uY3BwCkBAIC0zNyw3MyArMzcs
NiBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogdXNpbmcgbmFtZXNwYWNlIEpTQzsKIAotLy8gRklY
TUU6IEluc3RlYWQgb2YgaGFuZHBpY2tpbmcgbWV0aG9kcyBmcm9tIEpTTm9kZUxpc3QgLyBKU09i
amVjdCwgZXh0cmFjdCBKU05vZGVMaXN0QmFzZSBhbmQgbWFrZQotLy8gSlNTdGF0aWNOb2RlTGlz
dCAvIEpTTGl2ZU5vZGVMaXN0IGV4dGVuZCBpdCAod2hpY2ggd291bGQgcmVxdWlyZSBtYXNzaXZl
IGNoYW5nZXMgdG8gQ29kZUdlbmVyYXRvckpTLnBtIHRob3VnaCkuCi1jb25zdCBDbGFzc0luZm8g
SlNTdGF0aWNOb2RlTGlzdDo6c19pbmZvID0gewotICAgICJOb2RlTGlzdCJfcywKLSAgICAmQmFz
ZTo6c19pbmZvLAotICAgIG51bGxwdHIsCi0gICAgbnVsbHB0ciwKLSAgICBzdGQ6Om51bGxvcHQs
IHsKLSAgICAgICAgJkpTU3RhdGljTm9kZUxpc3Q6OmRlc3Ryb3ksCi0gICAgICAgICZKU1N0YXRp
Y05vZGVMaXN0OjpnZXRDYWxsRGF0YSwKLSAgICAgICAgJkpTU3RhdGljTm9kZUxpc3Q6OmdldENv
bnN0cnVjdERhdGEsCi0gICAgICAgICZKU1N0YXRpY05vZGVMaXN0OjpwdXQsCi0gICAgICAgICZK
U1N0YXRpY05vZGVMaXN0OjpwdXRCeUluZGV4LAotICAgICAgICAmSlNTdGF0aWNOb2RlTGlzdDo6
ZGVsZXRlUHJvcGVydHksCi0gICAgICAgICZKU1N0YXRpY05vZGVMaXN0OjpkZWxldGVQcm9wZXJ0
eUJ5SW5kZXgsCi0gICAgICAgICZCYXNlOjpCYXNlOjpnZXRPd25Qcm9wZXJ0eVNsb3QsCi0gICAg
ICAgICZCYXNlOjpCYXNlOjpnZXRPd25Qcm9wZXJ0eVNsb3RCeUluZGV4LAotICAgICAgICAmSlNT
dGF0aWNOb2RlTGlzdDo6dG9UaGlzLAotICAgICAgICAmQmFzZTo6QmFzZTo6Z2V0T3duUHJvcGVy
dHlOYW1lcywKLSAgICAgICAgJkJhc2U6OkJhc2U6OmdldE93blNwZWNpYWxQcm9wZXJ0eU5hbWVz
LAotICAgICAgICAmSlNTdGF0aWNOb2RlTGlzdDo6Y3VzdG9tSGFzSW5zdGFuY2UsCi0gICAgICAg
ICZKU1N0YXRpY05vZGVMaXN0OjpkZWZpbmVPd25Qcm9wZXJ0eSwKLSAgICAgICAgJkpTU3RhdGlj
Tm9kZUxpc3Q6OnByZXZlbnRFeHRlbnNpb25zLAotICAgICAgICAmSlNTdGF0aWNOb2RlTGlzdDo6
aXNFeHRlbnNpYmxlLAotICAgICAgICAmSlNTdGF0aWNOb2RlTGlzdDo6c2V0UHJvdG90eXBlLAot
ICAgICAgICAmSlNTdGF0aWNOb2RlTGlzdDo6Z2V0UHJvdG90eXBlLAotICAgICAgICAmSlNTdGF0
aWNOb2RlTGlzdDo6ZHVtcFRvU3RyZWFtLAotICAgICAgICAmSlNTdGF0aWNOb2RlTGlzdDo6YW5h
bHl6ZUhlYXAsCi0gICAgICAgICZKU1N0YXRpY05vZGVMaXN0Ojplc3RpbWF0ZWRTaXplLAotICAg
ICAgICAmSlNTdGF0aWNOb2RlTGlzdDo6dmlzaXRDaGlsZHJlbiwKLSAgICAgICAgJkpTU3RhdGlj
Tm9kZUxpc3Q6OnZpc2l0Q2hpbGRyZW4sCi0gICAgICAgICZKU1N0YXRpY05vZGVMaXN0Ojp2aXNp
dE91dHB1dENvbnN0cmFpbnRzLAotICAgICAgICAmSlNTdGF0aWNOb2RlTGlzdDo6dmlzaXRPdXRw
dXRDb25zdHJhaW50cywKLSAgICB9LAotICAgIHNpemVvZihKU1N0YXRpY05vZGVMaXN0KSwKLX07
Ci0KLUpTT2JqZWN0KiBKU1N0YXRpY05vZGVMaXN0OjpjcmVhdGVQcm90b3R5cGUoVk0mIHZtLCBK
U0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0KQotewotICAgIHJldHVybiBCYXNlOjpwcm90
b3R5cGUodm0sIGdsb2JhbE9iamVjdCk7Ci19Ci0KLUpTU3RhdGljTm9kZUxpc3Q6OkpTU3RhdGlj
Tm9kZUxpc3QoU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxP
YmplY3QsIFJlZjxTdGF0aWNOb2RlTGlzdD4mJiBpbXBsLCBKU0M6OkJ1dHRlcmZseSogYnV0dGVy
Zmx5KQotICAgIDogQmFzZShzdHJ1Y3R1cmUsIGdsb2JhbE9iamVjdCwgV1RGTW92ZShpbXBsKSwg
YnV0dGVyZmx5KQotewotICAgIEFTU0VSVChidXR0ZXJmbHkpOwotfQotCi12b2lkIEpTU3RhdGlj
Tm9kZUxpc3Q6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSkKLXsKLSAgICBCYXNlOjpmaW5pc2hDcmVh
dGlvbih2bSk7Ci0KLSAgICBhdXRvJiBzdGF0aWNOb2RlTGlzdCA9IHdyYXBwZWQoKTsKLSAgICB1
bnNpZ25lZCBsZW5ndGggPSBzdGF0aWNOb2RlTGlzdC5sZW5ndGgoKTsKLQotICAgIGF1dG8qIGds
b2JhbE9iamVjdCA9IHRoaXMtPmdsb2JhbE9iamVjdCgpOwotICAgIGF1dG8gY29udGlndW91c1Zh
bHVlcyA9IGJ1dHRlcmZseSgpLT5jb250aWd1b3VzKCk7Ci0KLSAgICBmb3IgKHVuc2lnbmVkIGkg
PSAwOyBpIDwgbGVuZ3RoOyArK2kpIHsKLSAgICAgICAgYXV0byBqc05vZGUgPSB0b0pTKGdsb2Jh
bE9iamVjdCwgZ2xvYmFsT2JqZWN0LCAqc3RhdGljTm9kZUxpc3QuaXRlbShpKSk7Ci0gICAgICAg
IGNvbnRpZ3VvdXNWYWx1ZXMuYXRVbnNhZmUoaSkuc2V0KHZtLCB0aGlzLCBqc05vZGUpOwotICAg
IH0KLQotICAgIGlmIChVTkxJS0VMWShuZWVkc1Nsb3dQdXRJbmRleGluZygpKSkKLSAgICAgICAg
ZW5zdXJlQXJyYXlTdG9yYWdlRXhpc3RzQW5kRW50ZXJEaWN0aW9uYXJ5SW5kZXhpbmdNb2RlKHZt
KTsKLX0KLQogYm9vbCBKU05vZGVMaXN0T3duZXI6OmlzUmVhY2hhYmxlRnJvbU9wYXF1ZVJvb3Rz
KEpTQzo6SGFuZGxlPEpTQzo6VW5rbm93bj4gaGFuZGxlLCB2b2lkKiwgQWJzdHJhY3RTbG90Vmlz
aXRvciYgdmlzaXRvciwgY29uc3QgY2hhcioqIHJlYXNvbikKIHsKICAgICBKU05vZGVMaXN0KiBq
c05vZGVMaXN0ID0ganNDYXN0PEpTTm9kZUxpc3QqPihoYW5kbGUuc2xvdCgpLT5hc0NlbGwoKSk7
CkBAIC0xMzMsMzcgKzY2LDggQEAgYm9vbCBKU05vZGVMaXN0T3duZXI6OmlzUmVhY2hhYmxlRnJv
bU9wYXF1ZVJvb3RzKEpTQzo6SGFuZGxlPEpTQzo6VW5rbm93bj4gaGFuZGwKICAgICByZXR1cm4g
ZmFsc2U7CiB9CiAKLXN0YXRpYyBKU1N0YXRpY05vZGVMaXN0KiBjcmVhdGVTdGF0aWNOb2RlTGlz
dFdyYXBwZXIoSlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCwgUmVmPFN0YXRpY05vZGVM
aXN0PiYmIHN0YXRpY05vZGVMaXN0KQotewotICAgIEFTU0VSVCghZ2V0Q2FjaGVkV3JhcHBlcihn
bG9iYWxPYmplY3Qud29ybGQoKSwgc3RhdGljTm9kZUxpc3QpKTsKLQotICAgIGF1dG8mIHZtID0g
Z2xvYmFsT2JqZWN0LnZtKCk7Ci0gICAgYXV0byogc3RydWN0dXJlID0gZ2V0RE9NU3RydWN0dXJl
PEpTU3RhdGljTm9kZUxpc3Q+KHZtLCBnbG9iYWxPYmplY3QpOwotCi0gICAgdW5zaWduZWQgbGVu
Z3RoID0gc3RhdGljTm9kZUxpc3QtPmxlbmd0aCgpOwotCi0gICAgSW5kZXhpbmdIZWFkZXIgaW5k
ZXhpbmdIZWFkZXI7Ci0gICAgaW5kZXhpbmdIZWFkZXIuc2V0VmVjdG9yTGVuZ3RoKGxlbmd0aCk7
Ci0gICAgaW5kZXhpbmdIZWFkZXIuc2V0UHVibGljTGVuZ3RoKGxlbmd0aCk7Ci0gICAgYXV0byog
YnV0dGVyZmx5ID0gQnV0dGVyZmx5Ojp0cnlDcmVhdGUodm0sIG51bGxwdHIsIDAsIHN0cnVjdHVy
ZS0+b3V0T2ZMaW5lQ2FwYWNpdHkoKSwgdHJ1ZSwgaW5kZXhpbmdIZWFkZXIsIHNpemVvZihFbmNv
ZGVkSlNWYWx1ZSkgKiBsZW5ndGgpOwotICAgIGlmIChVTkxJS0VMWSghYnV0dGVyZmx5KSkKLSAg
ICAgICAgcmV0dXJuIG51bGxwdHI7Ci0KLSAgICBhdXRvIGNvbnRpZ3VvdXNWYWx1ZXMgPSBidXR0
ZXJmbHktPmNvbnRpZ3VvdXMoKTsKLSAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbGVuZ3Ro
OyArK2kpCi0gICAgICAgIGNvbnRpZ3VvdXNWYWx1ZXMuYXRVbnNhZmUoaSkuY2xlYXIoKTsKLQot
ICAgIGF1dG8qIHN0YXRpY05vZGVMaXN0UHRyID0gc3RhdGljTm9kZUxpc3QucHRyKCk7Ci0gICAg
YXV0byogd3JhcHBlciA9IEpTU3RhdGljTm9kZUxpc3Q6OmNyZWF0ZShzdHJ1Y3R1cmUsICZnbG9i
YWxPYmplY3QsIFdURk1vdmUoc3RhdGljTm9kZUxpc3QpLCBidXR0ZXJmbHkpOwotCi0gICAgY2Fj
aGVXcmFwcGVyKGdsb2JhbE9iamVjdC53b3JsZCgpLCBzdGF0aWNOb2RlTGlzdFB0ciwgd3JhcHBl
cik7Ci0gICAgcmV0dXJuIHdyYXBwZXI7Ci19Ci0KIEpTQzo6SlNWYWx1ZSBjcmVhdGVXcmFwcGVy
KEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QsIFJlZjxOb2RlTGlzdD4mJiBub2RlTGlz
dCkKIHsKLSAgICBpZiAobm9kZUxpc3QtPmlzU3RhdGljTm9kZUxpc3QoKSkKLSAgICAgICAgcmV0
dXJuIGNyZWF0ZVN0YXRpY05vZGVMaXN0V3JhcHBlcihnbG9iYWxPYmplY3QsIHN0YXRpY19yZWZl
cmVuY2VfY2FzdDxTdGF0aWNOb2RlTGlzdD4oV1RGTW92ZShub2RlTGlzdCkpKTsKICAgICAvLyBG
SVhNRTogQWRvcHQgcmVwb3J0RXh0cmFNZW1vcnlWaXNpdGVkLCBhbmQgc3dpdGNoIHRvIHJlcG9y
dEV4dHJhTWVtb3J5QWxsb2NhdGVkLgogICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xNDI1OTUKICAgICBnbG9iYWxPYmplY3Qudm0oKS5oZWFwLmRlcHJlY2F0
ZWRSZXBvcnRFeHRyYU1lbW9yeShub2RlTGlzdC0+bWVtb3J5Q29zdCgpKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTm9kZUxpc3RDdXN0b20uaCBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTTm9kZUxpc3RDdXN0b20uaAppbmRleCBmMTVjM2JjM2UxNjQu
LjU5NTRlNWM3NTQxNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNO
b2RlTGlzdEN1c3RvbS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTm9kZUxp
c3RDdXN0b20uaApAQCAtMjYsNDAgKzI2LDkgQEAKICNwcmFnbWEgb25jZQogCiAjaW5jbHVkZSAi
SlNET01CaW5kaW5nLmgiCi0jaW5jbHVkZSAiSlNOb2RlTGlzdC5oIgotI2luY2x1ZGUgIlN0YXRp
Y05vZGVMaXN0LmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgSlNTdGF0aWNOb2Rl
TGlzdCBmaW5hbCA6IHB1YmxpYyBKU05vZGVMaXN0IHsKLXB1YmxpYzoKLSAgICB1c2luZyBCYXNl
ID0gSlNOb2RlTGlzdDsKLSAgICBzdGF0aWMgY29uc3RleHByIHVuc2lnbmVkIFN0cnVjdHVyZUZs
YWdzID0gQmFzZTo6QmFzZTo6U3RydWN0dXJlRmxhZ3MgfCBKU0M6OlNsb3dQdXRBcnJheVN0b3Jh
Z2VWZWN0b3JQcm9wZXJ0aWVzQXJlUmVhZE9ubHk7Ci0gICAgc3RhdGljIEpTU3RhdGljTm9kZUxp
c3QqIGNyZWF0ZShKU0M6OlN0cnVjdHVyZSogc3RydWN0dXJlLCBKU0RPTUdsb2JhbE9iamVjdCog
Z2xvYmFsT2JqZWN0LCBSZWY8U3RhdGljTm9kZUxpc3Q+JiYgaW1wbCwgSlNDOjpCdXR0ZXJmbHkq
IGJ1dHRlcmZseSkKLSAgICB7Ci0gICAgICAgIEpTU3RhdGljTm9kZUxpc3QqIHB0ciA9IG5ldyAo
Tm90TnVsbCwgSlNDOjphbGxvY2F0ZUNlbGw8SlNTdGF0aWNOb2RlTGlzdD4oZ2xvYmFsT2JqZWN0
LT52bSgpKSkgSlNTdGF0aWNOb2RlTGlzdChzdHJ1Y3R1cmUsICpnbG9iYWxPYmplY3QsIFdURk1v
dmUoaW1wbCksIGJ1dHRlcmZseSk7Ci0gICAgICAgIHB0ci0+ZmluaXNoQ3JlYXRpb24oZ2xvYmFs
T2JqZWN0LT52bSgpKTsKLSAgICAgICAgcmV0dXJuIHB0cjsKLSAgICB9Ci0KLSAgICBERUNMQVJF
X0lORk87Ci0KLSAgICBzdGF0aWMgSlNDOjpKU09iamVjdCogY3JlYXRlUHJvdG90eXBlKEpTQzo6
Vk0mLCBKU0RPTUdsb2JhbE9iamVjdCYpOwotICAgIHN0YXRpYyBKU0M6OlN0cnVjdHVyZSogY3Jl
YXRlU3RydWN0dXJlKEpTQzo6Vk0mIHZtLCBKU0M6OkpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmpl
Y3QsIEpTQzo6SlNWYWx1ZSBwcm90b3R5cGUpCi0gICAgewotICAgICAgICByZXR1cm4gSlNDOjpT
dHJ1Y3R1cmU6OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIEpTQzo6VHlwZUlu
Zm8oSlNDOjpPYmplY3RUeXBlLCBTdHJ1Y3R1cmVGbGFncyksIGluZm8oKSwgSlNDOjpOb25BcnJh
eVdpdGhBbHdheXNTbG93UHV0Q29udGlndW91cyk7Ci0gICAgfQotcHJvdGVjdGVkOgotICAgIEpT
U3RhdGljTm9kZUxpc3QoSlNDOjpTdHJ1Y3R1cmUqLCBKU0RPTUdsb2JhbE9iamVjdCYsIFJlZjxT
dGF0aWNOb2RlTGlzdD4mJiwgSlNDOjpCdXR0ZXJmbHkqKTsKLQotICAgIHZvaWQgZmluaXNoQ3Jl
YXRpb24oSlNDOjpWTSYpOwotfTsKLQotdGVtcGxhdGU8PiBzdHJ1Y3QgSlNET01XcmFwcGVyQ29u
dmVydGVyVHJhaXRzPFN0YXRpY05vZGVMaXN0PiB7Ci0gICAgdXNpbmcgV3JhcHBlckNsYXNzID0g
SlNTdGF0aWNOb2RlTGlzdDsKLSAgICB1c2luZyBUb1dyYXBwZWRSZXR1cm5UeXBlID0gU3RhdGlj
Tm9kZUxpc3QqOwotfTsKLQogV0VCQ09SRV9FWFBPUlQgSlNDOjpKU1ZhbHVlIGNyZWF0ZVdyYXBw
ZXIoSlNET01HbG9iYWxPYmplY3QmLCBSZWY8Tm9kZUxpc3Q+JiYpOwogCiBBTFdBWVNfSU5MSU5F
IEpTQzo6SlNWYWx1ZSB0b0pTKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0RPTUdsb2JhbE9iamVj
dCogZ2xvYmFsT2JqZWN0LCBOb2RlTGlzdCYgbm9kZUxpc3QpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbSBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCmluZGV4IGNkZjdkNmE2Yzkw
Yy4uNzk5YTA0NWMwOTI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL0NvZGVHZW5lcmF0b3JKUy5wbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL0NvZGVHZW5lcmF0b3JKUy5wbQpAQCAtMzIzMyw3ICszMjMzLDcgQEAgc3ViIEdlbmVyYXRl
SGVhZGVyCiAgICAgfSBlbHNpZiAoIU5lZWRzSW1wbGVtZW50YXRpb25DbGFzcygkaW50ZXJmYWNl
KSkgewogICAgICAgICBwdXNoKEBoZWFkZXJDb250ZW50LCAiICAgICRjbGFzc05hbWUoSlNDOjpT
dHJ1Y3R1cmUqLCBKU0RPTUdsb2JhbE9iamVjdCYpO1xuXG4iKTsKICAgICAgfSBlbHNlIHsKLSAg
ICAgICAgcHVzaChAaGVhZGVyQ29udGVudCwgIiAgICAkY2xhc3NOYW1lKEpTQzo6U3RydWN0dXJl
KiwgSlNET01HbG9iYWxPYmplY3QmLCBSZWY8JGltcGxUeXBlPiYmLCBKU0M6OkJ1dHRlcmZseSog
PSBudWxscHRyKTtcblxuIik7CisgICAgICAgIHB1c2goQGhlYWRlckNvbnRlbnQsICIgICAgJGNs
YXNzTmFtZShKU0M6OlN0cnVjdHVyZSosIEpTRE9NR2xvYmFsT2JqZWN0JiwgUmVmPCRpbXBsVHlw
ZT4mJik7XG5cbiIpOwogICAgIH0KIAogICAgIGlmICgkaW50ZXJmYWNlTmFtZSBlcSAiRE9NV2lu
ZG93IiB8fCAkaW50ZXJmYWNlTmFtZSBlcSAiUmVtb3RlRE9NV2luZG93IikgewpAQCAtNDcxMyw4
ICs0NzEzLDggQEAgc3ViIEdlbmVyYXRlSW1wbGVtZW50YXRpb24KICAgICAgICAgcHVzaChAaW1w
bENvbnRlbnQsICIke2NsYXNzTmFtZX06OiRjbGFzc05hbWUoU3RydWN0dXJlKiBzdHJ1Y3R1cmUs
IEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QpXG4iKTsKICAgICAgICAgcHVzaChAaW1w
bENvbnRlbnQsICIgICAgOiAkcGFyZW50Q2xhc3NOYW1lKHN0cnVjdHVyZSwgZ2xvYmFsT2JqZWN0
KSB7IH1cblxuIik7CiAgICAgfSBlbHNlIHsKLSAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIk
e2NsYXNzTmFtZX06OiRjbGFzc05hbWUoU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEpTRE9NR2xvYmFs
T2JqZWN0JiBnbG9iYWxPYmplY3QsIFJlZjwkaW1wbFR5cGU+JiYgaW1wbCwgSlNDOjpCdXR0ZXJm
bHkqIGJ1dHRlcmZseSlcbiIpOwotICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICA6ICRw
YXJlbnRDbGFzc05hbWUoc3RydWN0dXJlLCBnbG9iYWxPYmplY3QsIFdURk1vdmUoaW1wbCksIGJ1
dHRlcmZseSlcbiIpOworICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiR7Y2xhc3NOYW1lfTo6
JGNsYXNzTmFtZShTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgSlNET01HbG9iYWxPYmplY3QmIGdsb2Jh
bE9iamVjdCwgUmVmPCRpbXBsVHlwZT4mJiBpbXBsKVxuIik7CisgICAgICAgIHB1c2goQGltcGxD
b250ZW50LCAiICAgIDogJHBhcmVudENsYXNzTmFtZShzdHJ1Y3R1cmUsIGdsb2JhbE9iamVjdCwg
V1RGTW92ZShpbXBsKSlcbiIpOwogICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIntcbiIpOwog
ICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIn1cblxuIik7CiAgICAgfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTRXhwb3NlZFN0YXIuY3Bw
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTRXhwb3NlZFN0YXIu
Y3BwCmluZGV4IDUwMzUwM2VhZDEwNC4uMTdmNjAxMTRkOTdmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNFeHBvc2VkU3Rhci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTRXhwb3NlZFN0YXIuY3Bw
CkBAIC0xNDcsOCArMTQ3LDggQEAgdm9pZCBKU0V4cG9zZWRTdGFyUHJvdG90eXBlOjpmaW5pc2hD
cmVhdGlvbihWTSYgdm0pCiAKIGNvbnN0IENsYXNzSW5mbyBKU0V4cG9zZWRTdGFyOjpzX2luZm8g
PSB7ICJFeHBvc2VkU3RhciJfcywgJkJhc2U6OnNfaW5mbywgbnVsbHB0ciwgbnVsbHB0ciwgQ1JF
QVRFX01FVEhPRF9UQUJMRShKU0V4cG9zZWRTdGFyKSB9OwogCi1KU0V4cG9zZWRTdGFyOjpKU0V4
cG9zZWRTdGFyKFN0cnVjdHVyZSogc3RydWN0dXJlLCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFs
T2JqZWN0LCBSZWY8RXhwb3NlZFN0YXI+JiYgaW1wbCwgSlNDOjpCdXR0ZXJmbHkqIGJ1dHRlcmZs
eSkKLSAgICA6IEpTRXZlbnRUYXJnZXQoc3RydWN0dXJlLCBnbG9iYWxPYmplY3QsIFdURk1vdmUo
aW1wbCksIGJ1dHRlcmZseSkKK0pTRXhwb3NlZFN0YXI6OkpTRXhwb3NlZFN0YXIoU3RydWN0dXJl
KiBzdHJ1Y3R1cmUsIEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QsIFJlZjxFeHBvc2Vk
U3Rhcj4mJiBpbXBsKQorICAgIDogSlNFdmVudFRhcmdldChzdHJ1Y3R1cmUsIGdsb2JhbE9iamVj
dCwgV1RGTW92ZShpbXBsKSkKIHsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTRXhwb3NlZFN0YXIuaCBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU0V4cG9zZWRTdGFyLmgKaW5kZXggZDE4MDk0MGNlNGRl
Li42ZmQzMTVmMjRkMmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU0V4cG9zZWRTdGFyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTRXhwb3NlZFN0YXIuaApAQCAtNjIsNyArNjIsNyBAQCBwdWJsaWM6
CiAgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxFeHBvc2VkU3RhciY+KEJhc2U6OndyYXBwZWQo
KSk7CiAgICAgfQogcHJvdGVjdGVkOgotICAgIEpTRXhwb3NlZFN0YXIoSlNDOjpTdHJ1Y3R1cmUq
LCBKU0RPTUdsb2JhbE9iamVjdCYsIFJlZjxFeHBvc2VkU3Rhcj4mJiwgSlNDOjpCdXR0ZXJmbHkq
ID0gbnVsbHB0cik7CisgICAgSlNFeHBvc2VkU3RhcihKU0M6OlN0cnVjdHVyZSosIEpTRE9NR2xv
YmFsT2JqZWN0JiwgUmVmPEV4cG9zZWRTdGFyPiYmKTsKIAogICAgIHZvaWQgZmluaXNoQ3JlYXRp
b24oSlNDOjpWTSYpOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU0V4cG9zZWRUb1dvcmtlckFuZFdpbmRvdy5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNFeHBvc2VkVG9Xb3JrZXJBbmRXaW5kb3cu
Y3BwCmluZGV4IGFmNGI4ZGUzN2ViZC4uMmM3NmVhNWYzZGE1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNFeHBvc2VkVG9Xb3JrZXJBbmRXaW5k
b3cuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU0V4
cG9zZWRUb1dvcmtlckFuZFdpbmRvdy5jcHAKQEAgLTE4Nyw4ICsxODcsOCBAQCB2b2lkIEpTRXhw
b3NlZFRvV29ya2VyQW5kV2luZG93UHJvdG90eXBlOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0pCiAK
IGNvbnN0IENsYXNzSW5mbyBKU0V4cG9zZWRUb1dvcmtlckFuZFdpbmRvdzo6c19pbmZvID0geyAi
RXhwb3NlZFRvV29ya2VyQW5kV2luZG93Il9zLCAmQmFzZTo6c19pbmZvLCBudWxscHRyLCBudWxs
cHRyLCBDUkVBVEVfTUVUSE9EX1RBQkxFKEpTRXhwb3NlZFRvV29ya2VyQW5kV2luZG93KSB9Owog
Ci1KU0V4cG9zZWRUb1dvcmtlckFuZFdpbmRvdzo6SlNFeHBvc2VkVG9Xb3JrZXJBbmRXaW5kb3co
U3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QsIFJl
ZjxFeHBvc2VkVG9Xb3JrZXJBbmRXaW5kb3c+JiYgaW1wbCwgSlNDOjpCdXR0ZXJmbHkqIGJ1dHRl
cmZseSkKLSAgICA6IEpTRE9NV3JhcHBlcjxFeHBvc2VkVG9Xb3JrZXJBbmRXaW5kb3c+KHN0cnVj
dHVyZSwgZ2xvYmFsT2JqZWN0LCBXVEZNb3ZlKGltcGwpLCBidXR0ZXJmbHkpCitKU0V4cG9zZWRU
b1dvcmtlckFuZFdpbmRvdzo6SlNFeHBvc2VkVG9Xb3JrZXJBbmRXaW5kb3coU3RydWN0dXJlKiBz
dHJ1Y3R1cmUsIEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QsIFJlZjxFeHBvc2VkVG9X
b3JrZXJBbmRXaW5kb3c+JiYgaW1wbCkKKyAgICA6IEpTRE9NV3JhcHBlcjxFeHBvc2VkVG9Xb3Jr
ZXJBbmRXaW5kb3c+KHN0cnVjdHVyZSwgZ2xvYmFsT2JqZWN0LCBXVEZNb3ZlKGltcGwpKQogewog
fQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNFeHBvc2VkVG9Xb3JrZXJBbmRXaW5kb3cuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU0V4cG9zZWRUb1dvcmtlckFuZFdpbmRvdy5oCmluZGV4IDRlYWU1YTY0
ZTVlZC4uM2ViMTUyZDVlODdkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNFeHBvc2VkVG9Xb3JrZXJBbmRXaW5kb3cuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNFeHBvc2VkVG9Xb3JrZXJBbmRXaW5k
b3cuaApAQCAtNTksNyArNTksNyBAQCBwdWJsaWM6CiAgICAgc3RhdGljIEpTQzo6R0NDbGllbnQ6
Oklzb1N1YnNwYWNlKiBzdWJzcGFjZUZvckltcGwoSlNDOjpWTSYgdm0pOwogICAgIHN0YXRpYyB2
b2lkIGFuYWx5emVIZWFwKEpTQ2VsbCosIEpTQzo6SGVhcEFuYWx5emVyJik7CiBwcm90ZWN0ZWQ6
Ci0gICAgSlNFeHBvc2VkVG9Xb3JrZXJBbmRXaW5kb3coSlNDOjpTdHJ1Y3R1cmUqLCBKU0RPTUds
b2JhbE9iamVjdCYsIFJlZjxFeHBvc2VkVG9Xb3JrZXJBbmRXaW5kb3c+JiYsIEpTQzo6QnV0dGVy
Zmx5KiA9IG51bGxwdHIpOworICAgIEpTRXhwb3NlZFRvV29ya2VyQW5kV2luZG93KEpTQzo6U3Ry
dWN0dXJlKiwgSlNET01HbG9iYWxPYmplY3QmLCBSZWY8RXhwb3NlZFRvV29ya2VyQW5kV2luZG93
PiYmKTsKIAogICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oSlNDOjpWTSYpOwogfTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDRVJlYWN0
aW9ucy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0
Q0VSZWFjdGlvbnMuY3BwCmluZGV4IGFhNDZjOGI3ZDlhNy4uMGJjZmZjNjMxNzNlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q0VSZWFj
dGlvbnMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3RDRVJlYWN0aW9ucy5jcHAKQEAgLTE1NCw4ICsxNTQsOCBAQCB2b2lkIEpTVGVzdENFUmVh
Y3Rpb25zUHJvdG90eXBlOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0pCiAKIGNvbnN0IENsYXNzSW5m
byBKU1Rlc3RDRVJlYWN0aW9uczo6c19pbmZvID0geyAiVGVzdENFUmVhY3Rpb25zIl9zLCAmQmFz
ZTo6c19pbmZvLCBudWxscHRyLCBudWxscHRyLCBDUkVBVEVfTUVUSE9EX1RBQkxFKEpTVGVzdENF
UmVhY3Rpb25zKSB9OwogCi1KU1Rlc3RDRVJlYWN0aW9uczo6SlNUZXN0Q0VSZWFjdGlvbnMoU3Ry
dWN0dXJlKiBzdHJ1Y3R1cmUsIEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QsIFJlZjxU
ZXN0Q0VSZWFjdGlvbnM+JiYgaW1wbCwgSlNDOjpCdXR0ZXJmbHkqIGJ1dHRlcmZseSkKLSAgICA6
IEpTRE9NV3JhcHBlcjxUZXN0Q0VSZWFjdGlvbnM+KHN0cnVjdHVyZSwgZ2xvYmFsT2JqZWN0LCBX
VEZNb3ZlKGltcGwpLCBidXR0ZXJmbHkpCitKU1Rlc3RDRVJlYWN0aW9uczo6SlNUZXN0Q0VSZWFj
dGlvbnMoU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmpl
Y3QsIFJlZjxUZXN0Q0VSZWFjdGlvbnM+JiYgaW1wbCkKKyAgICA6IEpTRE9NV3JhcHBlcjxUZXN0
Q0VSZWFjdGlvbnM+KHN0cnVjdHVyZSwgZ2xvYmFsT2JqZWN0LCBXVEZNb3ZlKGltcGwpKQogewog
fQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNUZXN0Q0VSZWFjdGlvbnMuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU1Rlc3RDRVJlYWN0aW9ucy5oCmluZGV4IDdhNTAzNjNmMjRkMC4uYjQyNDBmMDc1M2Y1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNU
ZXN0Q0VSZWFjdGlvbnMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNUZXN0Q0VSZWFjdGlvbnMuaApAQCAtNTgsNyArNTgsNyBAQCBwdWJsaWM6CiAgICAg
c3RhdGljIEpTQzo6R0NDbGllbnQ6Oklzb1N1YnNwYWNlKiBzdWJzcGFjZUZvckltcGwoSlNDOjpW
TSYgdm0pOwogICAgIHN0YXRpYyB2b2lkIGFuYWx5emVIZWFwKEpTQ2VsbCosIEpTQzo6SGVhcEFu
YWx5emVyJik7CiBwcm90ZWN0ZWQ6Ci0gICAgSlNUZXN0Q0VSZWFjdGlvbnMoSlNDOjpTdHJ1Y3R1
cmUqLCBKU0RPTUdsb2JhbE9iamVjdCYsIFJlZjxUZXN0Q0VSZWFjdGlvbnM+JiYsIEpTQzo6QnV0
dGVyZmx5KiA9IG51bGxwdHIpOworICAgIEpTVGVzdENFUmVhY3Rpb25zKEpTQzo6U3RydWN0dXJl
KiwgSlNET01HbG9iYWxPYmplY3QmLCBSZWY8VGVzdENFUmVhY3Rpb25zPiYmKTsKIAogICAgIHZv
aWQgZmluaXNoQ3JlYXRpb24oSlNDOjpWTSYpOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDRVJlYWN0aW9uc1N0cmluZ2lmaWVy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDRVJl
YWN0aW9uc1N0cmluZ2lmaWVyLmNwcAppbmRleCBkNzA4OGRiOThiNWIuLjk3NDA3ZmM3ZTdlNSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVz
dENFUmVhY3Rpb25zU3RyaW5naWZpZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDRVJlYWN0aW9uc1N0cmluZ2lmaWVyLmNwcApAQCAtMTMz
LDggKzEzMyw4IEBAIHZvaWQgSlNUZXN0Q0VSZWFjdGlvbnNTdHJpbmdpZmllclByb3RvdHlwZTo6
ZmluaXNoQ3JlYXRpb24oVk0mIHZtKQogCiBjb25zdCBDbGFzc0luZm8gSlNUZXN0Q0VSZWFjdGlv
bnNTdHJpbmdpZmllcjo6c19pbmZvID0geyAiVGVzdENFUmVhY3Rpb25zU3RyaW5naWZpZXIiX3Ms
ICZCYXNlOjpzX2luZm8sIG51bGxwdHIsIG51bGxwdHIsIENSRUFURV9NRVRIT0RfVEFCTEUoSlNU
ZXN0Q0VSZWFjdGlvbnNTdHJpbmdpZmllcikgfTsKIAotSlNUZXN0Q0VSZWFjdGlvbnNTdHJpbmdp
Zmllcjo6SlNUZXN0Q0VSZWFjdGlvbnNTdHJpbmdpZmllcihTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwg
SlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCwgUmVmPFRlc3RDRVJlYWN0aW9uc1N0cmlu
Z2lmaWVyPiYmIGltcGwsIEpTQzo6QnV0dGVyZmx5KiBidXR0ZXJmbHkpCi0gICAgOiBKU0RPTVdy
YXBwZXI8VGVzdENFUmVhY3Rpb25zU3RyaW5naWZpZXI+KHN0cnVjdHVyZSwgZ2xvYmFsT2JqZWN0
LCBXVEZNb3ZlKGltcGwpLCBidXR0ZXJmbHkpCitKU1Rlc3RDRVJlYWN0aW9uc1N0cmluZ2lmaWVy
OjpKU1Rlc3RDRVJlYWN0aW9uc1N0cmluZ2lmaWVyKFN0cnVjdHVyZSogc3RydWN0dXJlLCBKU0RP
TUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0LCBSZWY8VGVzdENFUmVhY3Rpb25zU3RyaW5naWZp
ZXI+JiYgaW1wbCkKKyAgICA6IEpTRE9NV3JhcHBlcjxUZXN0Q0VSZWFjdGlvbnNTdHJpbmdpZmll
cj4oc3RydWN0dXJlLCBnbG9iYWxPYmplY3QsIFdURk1vdmUoaW1wbCkpCiB7CiB9CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDRVJl
YWN0aW9uc1N0cmluZ2lmaWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNUZXN0Q0VSZWFjdGlvbnNTdHJpbmdpZmllci5oCmluZGV4IDhlMzgzNTYzOWRjOC4u
MDljNGRlM2RkMWZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0Q0VSZWFjdGlvbnNTdHJpbmdpZmllci5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDRVJlYWN0aW9uc1N0cmluZ2lmaWVy
LmgKQEAgLTU4LDcgKzU4LDcgQEAgcHVibGljOgogICAgIHN0YXRpYyBKU0M6OkdDQ2xpZW50OjpJ
c29TdWJzcGFjZSogc3Vic3BhY2VGb3JJbXBsKEpTQzo6Vk0mIHZtKTsKICAgICBzdGF0aWMgdm9p
ZCBhbmFseXplSGVhcChKU0NlbGwqLCBKU0M6OkhlYXBBbmFseXplciYpOwogcHJvdGVjdGVkOgot
ICAgIEpTVGVzdENFUmVhY3Rpb25zU3RyaW5naWZpZXIoSlNDOjpTdHJ1Y3R1cmUqLCBKU0RPTUds
b2JhbE9iamVjdCYsIFJlZjxUZXN0Q0VSZWFjdGlvbnNTdHJpbmdpZmllcj4mJiwgSlNDOjpCdXR0
ZXJmbHkqID0gbnVsbHB0cik7CisgICAgSlNUZXN0Q0VSZWFjdGlvbnNTdHJpbmdpZmllcihKU0M6
OlN0cnVjdHVyZSosIEpTRE9NR2xvYmFsT2JqZWN0JiwgUmVmPFRlc3RDRVJlYWN0aW9uc1N0cmlu
Z2lmaWVyPiYmKTsKIAogICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oSlNDOjpWTSYpOwogfTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RD
YWxsVHJhY2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3RDYWxsVHJhY2VyLmNwcAppbmRleCBhNGY5OWY5OGZkN2MuLjE1YTFhOWFlMjA4MyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdENh
bGxUcmFjZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3RDYWxsVHJhY2VyLmNwcApAQCAtMTc1LDggKzE3NSw4IEBAIHZvaWQgSlNUZXN0Q2Fs
bFRyYWNlclByb3RvdHlwZTo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtKQogCiBjb25zdCBDbGFzc0lu
Zm8gSlNUZXN0Q2FsbFRyYWNlcjo6c19pbmZvID0geyAiVGVzdENhbGxUcmFjZXIiX3MsICZCYXNl
OjpzX2luZm8sIG51bGxwdHIsIG51bGxwdHIsIENSRUFURV9NRVRIT0RfVEFCTEUoSlNUZXN0Q2Fs
bFRyYWNlcikgfTsKIAotSlNUZXN0Q2FsbFRyYWNlcjo6SlNUZXN0Q2FsbFRyYWNlcihTdHJ1Y3R1
cmUqIHN0cnVjdHVyZSwgSlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCwgUmVmPFRlc3RD
YWxsVHJhY2VyPiYmIGltcGwsIEpTQzo6QnV0dGVyZmx5KiBidXR0ZXJmbHkpCi0gICAgOiBKU0RP
TVdyYXBwZXI8VGVzdENhbGxUcmFjZXI+KHN0cnVjdHVyZSwgZ2xvYmFsT2JqZWN0LCBXVEZNb3Zl
KGltcGwpLCBidXR0ZXJmbHkpCitKU1Rlc3RDYWxsVHJhY2VyOjpKU1Rlc3RDYWxsVHJhY2VyKFN0
cnVjdHVyZSogc3RydWN0dXJlLCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0LCBSZWY8
VGVzdENhbGxUcmFjZXI+JiYgaW1wbCkKKyAgICA6IEpTRE9NV3JhcHBlcjxUZXN0Q2FsbFRyYWNl
cj4oc3RydWN0dXJlLCBnbG9iYWxPYmplY3QsIFdURk1vdmUoaW1wbCkpCiB7CiB9CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDYWxs
VHJhY2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0
Q2FsbFRyYWNlci5oCmluZGV4IDI0ZGZkNWY0NDA5YS4uZTMwNjExODZiNjViIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q2FsbFRyYWNl
ci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RD
YWxsVHJhY2VyLmgKQEAgLTU4LDcgKzU4LDcgQEAgcHVibGljOgogICAgIHN0YXRpYyBKU0M6OkdD
Q2xpZW50OjpJc29TdWJzcGFjZSogc3Vic3BhY2VGb3JJbXBsKEpTQzo6Vk0mIHZtKTsKICAgICBz
dGF0aWMgdm9pZCBhbmFseXplSGVhcChKU0NlbGwqLCBKU0M6OkhlYXBBbmFseXplciYpOwogcHJv
dGVjdGVkOgotICAgIEpTVGVzdENhbGxUcmFjZXIoSlNDOjpTdHJ1Y3R1cmUqLCBKU0RPTUdsb2Jh
bE9iamVjdCYsIFJlZjxUZXN0Q2FsbFRyYWNlcj4mJiwgSlNDOjpCdXR0ZXJmbHkqID0gbnVsbHB0
cik7CisgICAgSlNUZXN0Q2FsbFRyYWNlcihKU0M6OlN0cnVjdHVyZSosIEpTRE9NR2xvYmFsT2Jq
ZWN0JiwgUmVmPFRlc3RDYWxsVHJhY2VyPiYmKTsKIAogICAgIHZvaWQgZmluaXNoQ3JlYXRpb24o
SlNDOjpWTSYpOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RDbGFzc1dpdGhKU0J1aWx0aW5Db25zdHJ1Y3Rvci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q2xhc3NXaXRoSlNCdWls
dGluQ29uc3RydWN0b3IuY3BwCmluZGV4IGQ4ODliMGQ4YzY0My4uNzRiNTFiNmQxMWZhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q2xh
c3NXaXRoSlNCdWlsdGluQ29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDbGFzc1dpdGhKU0J1aWx0aW5Db25zdHJ1Y3Rvci5j
cHAKQEAgLTEyNCw4ICsxMjQsOCBAQCB2b2lkIEpTVGVzdENsYXNzV2l0aEpTQnVpbHRpbkNvbnN0
cnVjdG9yUHJvdG90eXBlOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0pCiAKIGNvbnN0IENsYXNzSW5m
byBKU1Rlc3RDbGFzc1dpdGhKU0J1aWx0aW5Db25zdHJ1Y3Rvcjo6c19pbmZvID0geyAiVGVzdENs
YXNzV2l0aEpTQnVpbHRpbkNvbnN0cnVjdG9yIl9zLCAmQmFzZTo6c19pbmZvLCBudWxscHRyLCBu
dWxscHRyLCBDUkVBVEVfTUVUSE9EX1RBQkxFKEpTVGVzdENsYXNzV2l0aEpTQnVpbHRpbkNvbnN0
cnVjdG9yKSB9OwogCi1KU1Rlc3RDbGFzc1dpdGhKU0J1aWx0aW5Db25zdHJ1Y3Rvcjo6SlNUZXN0
Q2xhc3NXaXRoSlNCdWlsdGluQ29uc3RydWN0b3IoU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEpTRE9N
R2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QsIFJlZjxUZXN0Q2xhc3NXaXRoSlNCdWlsdGluQ29u
c3RydWN0b3I+JiYgaW1wbCwgSlNDOjpCdXR0ZXJmbHkqIGJ1dHRlcmZseSkKLSAgICA6IEpTRE9N
V3JhcHBlcjxUZXN0Q2xhc3NXaXRoSlNCdWlsdGluQ29uc3RydWN0b3I+KHN0cnVjdHVyZSwgZ2xv
YmFsT2JqZWN0LCBXVEZNb3ZlKGltcGwpLCBidXR0ZXJmbHkpCitKU1Rlc3RDbGFzc1dpdGhKU0J1
aWx0aW5Db25zdHJ1Y3Rvcjo6SlNUZXN0Q2xhc3NXaXRoSlNCdWlsdGluQ29uc3RydWN0b3IoU3Ry
dWN0dXJlKiBzdHJ1Y3R1cmUsIEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QsIFJlZjxU
ZXN0Q2xhc3NXaXRoSlNCdWlsdGluQ29uc3RydWN0b3I+JiYgaW1wbCkKKyAgICA6IEpTRE9NV3Jh
cHBlcjxUZXN0Q2xhc3NXaXRoSlNCdWlsdGluQ29uc3RydWN0b3I+KHN0cnVjdHVyZSwgZ2xvYmFs
T2JqZWN0LCBXVEZNb3ZlKGltcGwpKQogewogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q2xhc3NXaXRoSlNCdWlsdGluQ29uc3Ry
dWN0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RD
bGFzc1dpdGhKU0J1aWx0aW5Db25zdHJ1Y3Rvci5oCmluZGV4IGY2NTUyZjBkOWNiNy4uZjNmYzA0
Y2QwNWJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0Q2xhc3NXaXRoSlNCdWlsdGluQ29uc3RydWN0b3IuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q2xhc3NXaXRoSlNCdWlsdGluQ29u
c3RydWN0b3IuaApAQCAtNTgsNyArNTgsNyBAQCBwdWJsaWM6CiAgICAgc3RhdGljIEpTQzo6R0ND
bGllbnQ6Oklzb1N1YnNwYWNlKiBzdWJzcGFjZUZvckltcGwoSlNDOjpWTSYgdm0pOwogICAgIHN0
YXRpYyB2b2lkIGFuYWx5emVIZWFwKEpTQ2VsbCosIEpTQzo6SGVhcEFuYWx5emVyJik7CiBwcm90
ZWN0ZWQ6Ci0gICAgSlNUZXN0Q2xhc3NXaXRoSlNCdWlsdGluQ29uc3RydWN0b3IoSlNDOjpTdHJ1
Y3R1cmUqLCBKU0RPTUdsb2JhbE9iamVjdCYsIFJlZjxUZXN0Q2xhc3NXaXRoSlNCdWlsdGluQ29u
c3RydWN0b3I+JiYsIEpTQzo6QnV0dGVyZmx5KiA9IG51bGxwdHIpOworICAgIEpTVGVzdENsYXNz
V2l0aEpTQnVpbHRpbkNvbnN0cnVjdG9yKEpTQzo6U3RydWN0dXJlKiwgSlNET01HbG9iYWxPYmpl
Y3QmLCBSZWY8VGVzdENsYXNzV2l0aEpTQnVpbHRpbkNvbnN0cnVjdG9yPiYmKTsKIAogICAgIHZv
aWQgZmluaXNoQ3JlYXRpb24oSlNDOjpWTSYpOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDb25kaXRpb25hbEluY2x1ZGVzLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDb25kaXRp
b25hbEluY2x1ZGVzLmNwcAppbmRleCA0Nzg0ZDNlNTQ0NWIuLjNjZTQ5ZjExMDZjZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdENvbmRp
dGlvbmFsSW5jbHVkZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3RDb25kaXRpb25hbEluY2x1ZGVzLmNwcApAQCAtNDUyLDggKzQ1Miw4IEBA
IHZvaWQgSlNUZXN0Q29uZGl0aW9uYWxJbmNsdWRlc1Byb3RvdHlwZTo6ZmluaXNoQ3JlYXRpb24o
Vk0mIHZtKQogCiBjb25zdCBDbGFzc0luZm8gSlNUZXN0Q29uZGl0aW9uYWxJbmNsdWRlczo6c19p
bmZvID0geyAiVGVzdENvbmRpdGlvbmFsSW5jbHVkZXMiX3MsICZCYXNlOjpzX2luZm8sIG51bGxw
dHIsIG51bGxwdHIsIENSRUFURV9NRVRIT0RfVEFCTEUoSlNUZXN0Q29uZGl0aW9uYWxJbmNsdWRl
cykgfTsKIAotSlNUZXN0Q29uZGl0aW9uYWxJbmNsdWRlczo6SlNUZXN0Q29uZGl0aW9uYWxJbmNs
dWRlcyhTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgSlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVj
dCwgUmVmPFRlc3RDb25kaXRpb25hbEluY2x1ZGVzPiYmIGltcGwsIEpTQzo6QnV0dGVyZmx5KiBi
dXR0ZXJmbHkpCi0gICAgOiBKU0RPTVdyYXBwZXI8VGVzdENvbmRpdGlvbmFsSW5jbHVkZXM+KHN0
cnVjdHVyZSwgZ2xvYmFsT2JqZWN0LCBXVEZNb3ZlKGltcGwpLCBidXR0ZXJmbHkpCitKU1Rlc3RD
b25kaXRpb25hbEluY2x1ZGVzOjpKU1Rlc3RDb25kaXRpb25hbEluY2x1ZGVzKFN0cnVjdHVyZSog
c3RydWN0dXJlLCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0LCBSZWY8VGVzdENvbmRp
dGlvbmFsSW5jbHVkZXM+JiYgaW1wbCkKKyAgICA6IEpTRE9NV3JhcHBlcjxUZXN0Q29uZGl0aW9u
YWxJbmNsdWRlcz4oc3RydWN0dXJlLCBnbG9iYWxPYmplY3QsIFdURk1vdmUoaW1wbCkpCiB7CiB9
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3RDb25kaXRpb25hbEluY2x1ZGVzLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0Q29uZGl0aW9uYWxJbmNsdWRlcy5oCmluZGV4IDI3MjEzZjNhYjQ2
ZS4uMGExNWU2NzdlYzJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0Q29uZGl0aW9uYWxJbmNsdWRlcy5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDb25kaXRpb25hbEluY2x1ZGVzLmgK
QEAgLTcxLDcgKzcxLDcgQEAgcHVibGljOgogICAgIEpTQzo6SlNWYWx1ZSBtaXhpbkN1c3RvbU9w
ZXJhdGlvbihKU0M6OkpTR2xvYmFsT2JqZWN0JiwgSlNDOjpDYWxsRnJhbWUmKTsKICNlbmRpZgog
cHJvdGVjdGVkOgotICAgIEpTVGVzdENvbmRpdGlvbmFsSW5jbHVkZXMoSlNDOjpTdHJ1Y3R1cmUq
LCBKU0RPTUdsb2JhbE9iamVjdCYsIFJlZjxUZXN0Q29uZGl0aW9uYWxJbmNsdWRlcz4mJiwgSlND
OjpCdXR0ZXJmbHkqID0gbnVsbHB0cik7CisgICAgSlNUZXN0Q29uZGl0aW9uYWxJbmNsdWRlcyhK
U0M6OlN0cnVjdHVyZSosIEpTRE9NR2xvYmFsT2JqZWN0JiwgUmVmPFRlc3RDb25kaXRpb25hbElu
Y2x1ZGVzPiYmKTsKIAogICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oSlNDOjpWTSYpOwogfTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RD
b25kaXRpb25hbGx5UmVhZFdyaXRlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RDb25kaXRpb25hbGx5UmVhZFdyaXRlLmNwcAppbmRleCAxMTk1OTU1
MWE4YjcuLjBkZWY5Y2JkNjc1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdENvbmRpdGlvbmFsbHlSZWFkV3JpdGUuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDb25kaXRpb25hbGx5
UmVhZFdyaXRlLmNwcApAQCAtMjM1LDggKzIzNSw4IEBAIHZvaWQgSlNUZXN0Q29uZGl0aW9uYWxs
eVJlYWRXcml0ZVByb3RvdHlwZTo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtKQogCiBjb25zdCBDbGFz
c0luZm8gSlNUZXN0Q29uZGl0aW9uYWxseVJlYWRXcml0ZTo6c19pbmZvID0geyAiVGVzdENvbmRp
dGlvbmFsbHlSZWFkV3JpdGUiX3MsICZCYXNlOjpzX2luZm8sICZKU1Rlc3RDb25kaXRpb25hbGx5
UmVhZFdyaXRlVGFibGUsIG51bGxwdHIsIENSRUFURV9NRVRIT0RfVEFCTEUoSlNUZXN0Q29uZGl0
aW9uYWxseVJlYWRXcml0ZSkgfTsKIAotSlNUZXN0Q29uZGl0aW9uYWxseVJlYWRXcml0ZTo6SlNU
ZXN0Q29uZGl0aW9uYWxseVJlYWRXcml0ZShTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgSlNET01HbG9i
YWxPYmplY3QmIGdsb2JhbE9iamVjdCwgUmVmPFRlc3RDb25kaXRpb25hbGx5UmVhZFdyaXRlPiYm
IGltcGwsIEpTQzo6QnV0dGVyZmx5KiBidXR0ZXJmbHkpCi0gICAgOiBKU0RPTVdyYXBwZXI8VGVz
dENvbmRpdGlvbmFsbHlSZWFkV3JpdGU+KHN0cnVjdHVyZSwgZ2xvYmFsT2JqZWN0LCBXVEZNb3Zl
KGltcGwpLCBidXR0ZXJmbHkpCitKU1Rlc3RDb25kaXRpb25hbGx5UmVhZFdyaXRlOjpKU1Rlc3RD
b25kaXRpb25hbGx5UmVhZFdyaXRlKFN0cnVjdHVyZSogc3RydWN0dXJlLCBKU0RPTUdsb2JhbE9i
amVjdCYgZ2xvYmFsT2JqZWN0LCBSZWY8VGVzdENvbmRpdGlvbmFsbHlSZWFkV3JpdGU+JiYgaW1w
bCkKKyAgICA6IEpTRE9NV3JhcHBlcjxUZXN0Q29uZGl0aW9uYWxseVJlYWRXcml0ZT4oc3RydWN0
dXJlLCBnbG9iYWxPYmplY3QsIFdURk1vdmUoaW1wbCkpCiB7CiB9CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDb25kaXRpb25hbGx5
UmVhZFdyaXRlLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNU
ZXN0Q29uZGl0aW9uYWxseVJlYWRXcml0ZS5oCmluZGV4IDQ4OTk2MDZmYzNkNi4uYzFjODNhOTkw
ODUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNUZXN0Q29uZGl0aW9uYWxseVJlYWRXcml0ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDb25kaXRpb25hbGx5UmVhZFdyaXRlLmgKQEAgLTYw
LDcgKzYwLDcgQEAgcHVibGljOgogcHVibGljOgogICAgIHN0YXRpYyBjb25zdGV4cHIgdW5zaWdu
ZWQgU3RydWN0dXJlRmxhZ3MgPSBCYXNlOjpTdHJ1Y3R1cmVGbGFncyB8IEpTQzo6SGFzU3RhdGlj
UHJvcGVydHlUYWJsZTsKIHByb3RlY3RlZDoKLSAgICBKU1Rlc3RDb25kaXRpb25hbGx5UmVhZFdy
aXRlKEpTQzo6U3RydWN0dXJlKiwgSlNET01HbG9iYWxPYmplY3QmLCBSZWY8VGVzdENvbmRpdGlv
bmFsbHlSZWFkV3JpdGU+JiYsIEpTQzo6QnV0dGVyZmx5KiA9IG51bGxwdHIpOworICAgIEpTVGVz
dENvbmRpdGlvbmFsbHlSZWFkV3JpdGUoSlNDOjpTdHJ1Y3R1cmUqLCBKU0RPTUdsb2JhbE9iamVj
dCYsIFJlZjxUZXN0Q29uZGl0aW9uYWxseVJlYWRXcml0ZT4mJik7CiAKICAgICB2b2lkIGZpbmlz
aENyZWF0aW9uKEpTQzo6Vk0mKTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RE9NSklULmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RET01KSVQuY3BwCmluZGV4IDU2OTE5YWQzMDAx
MS4uNTgyNjMwNTU4ODg3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0RE9NSklULmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RE9NSklULmNwcApAQCAtNTc1LDggKzU3NSw4IEBAIHZv
aWQgSlNUZXN0RE9NSklUUHJvdG90eXBlOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0pCiAKIGNvbnN0
IENsYXNzSW5mbyBKU1Rlc3RET01KSVQ6OnNfaW5mbyA9IHsgIlRlc3RET01KSVQiX3MsICZCYXNl
OjpzX2luZm8sIG51bGxwdHIsIG51bGxwdHIsIENSRUFURV9NRVRIT0RfVEFCTEUoSlNUZXN0RE9N
SklUKSB9OwogCi1KU1Rlc3RET01KSVQ6OkpTVGVzdERPTUpJVChTdHJ1Y3R1cmUqIHN0cnVjdHVy
ZSwgSlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCwgUmVmPFRlc3RET01KSVQ+JiYgaW1w
bCwgSlNDOjpCdXR0ZXJmbHkqIGJ1dHRlcmZseSkKLSAgICA6IEpTTm9kZShzdHJ1Y3R1cmUsIGds
b2JhbE9iamVjdCwgV1RGTW92ZShpbXBsKSwgYnV0dGVyZmx5KQorSlNUZXN0RE9NSklUOjpKU1Rl
c3RET01KSVQoU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxP
YmplY3QsIFJlZjxUZXN0RE9NSklUPiYmIGltcGwpCisgICAgOiBKU05vZGUoc3RydWN0dXJlLCBn
bG9iYWxPYmplY3QsIFdURk1vdmUoaW1wbCkpCiB7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RET01KSVQuaCBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RET01KSVQuaAppbmRleCAzY2I4
OGQ0N2NmYTIuLjBlZGI4NGJmN2VhMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdERPTUpJVC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RET01KSVQuaApAQCAtNjIsNyArNjIsNyBAQCBw
dWJsaWM6CiAgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxUZXN0RE9NSklUJj4oQmFzZTo6d3Jh
cHBlZCgpKTsKICAgICB9CiBwcm90ZWN0ZWQ6Ci0gICAgSlNUZXN0RE9NSklUKEpTQzo6U3RydWN0
dXJlKiwgSlNET01HbG9iYWxPYmplY3QmLCBSZWY8VGVzdERPTUpJVD4mJiwgSlNDOjpCdXR0ZXJm
bHkqID0gbnVsbHB0cik7CisgICAgSlNUZXN0RE9NSklUKEpTQzo6U3RydWN0dXJlKiwgSlNET01H
bG9iYWxPYmplY3QmLCBSZWY8VGVzdERPTUpJVD4mJik7CiAKICAgICB2b2lkIGZpbmlzaENyZWF0
aW9uKEpTQzo6Vk0mKTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0RGVmYXVsdFRvSlNPTi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RGVmYXVsdFRvSlNPTi5jcHAKaW5kZXggYmUz
ODA2NmJmMzMyLi4wNDNhZGIyOTNkODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3REZWZhdWx0VG9KU09OLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RGVmYXVsdFRvSlNPTi5jcHAK
QEAgLTIxOCw4ICsyMTgsOCBAQCB2b2lkIEpTVGVzdERlZmF1bHRUb0pTT05Qcm90b3R5cGU6OmZp
bmlzaENyZWF0aW9uKFZNJiB2bSkKIAogY29uc3QgQ2xhc3NJbmZvIEpTVGVzdERlZmF1bHRUb0pT
T046OnNfaW5mbyA9IHsgIlRlc3REZWZhdWx0VG9KU09OIl9zLCAmQmFzZTo6c19pbmZvLCBudWxs
cHRyLCBudWxscHRyLCBDUkVBVEVfTUVUSE9EX1RBQkxFKEpTVGVzdERlZmF1bHRUb0pTT04pIH07
CiAKLUpTVGVzdERlZmF1bHRUb0pTT046OkpTVGVzdERlZmF1bHRUb0pTT04oU3RydWN0dXJlKiBz
dHJ1Y3R1cmUsIEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QsIFJlZjxUZXN0RGVmYXVs
dFRvSlNPTj4mJiBpbXBsLCBKU0M6OkJ1dHRlcmZseSogYnV0dGVyZmx5KQotICAgIDogSlNET01X
cmFwcGVyPFRlc3REZWZhdWx0VG9KU09OPihzdHJ1Y3R1cmUsIGdsb2JhbE9iamVjdCwgV1RGTW92
ZShpbXBsKSwgYnV0dGVyZmx5KQorSlNUZXN0RGVmYXVsdFRvSlNPTjo6SlNUZXN0RGVmYXVsdFRv
SlNPTihTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgSlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVj
dCwgUmVmPFRlc3REZWZhdWx0VG9KU09OPiYmIGltcGwpCisgICAgOiBKU0RPTVdyYXBwZXI8VGVz
dERlZmF1bHRUb0pTT04+KHN0cnVjdHVyZSwgZ2xvYmFsT2JqZWN0LCBXVEZNb3ZlKGltcGwpKQog
ewogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0RGVmYXVsdFRvSlNPTi5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTVGVzdERlZmF1bHRUb0pTT04uaAppbmRleCAzMzg5NjhhOTI5N2EuLmY0N2Q2
YzgwOTY4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdERlZmF1bHRUb0pTT04uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0RGVmYXVsdFRvSlNPTi5oCkBAIC01OCw3ICs1OCw3IEBAIHB1
YmxpYzoKICAgICBzdGF0aWMgSlNDOjpHQ0NsaWVudDo6SXNvU3Vic3BhY2UqIHN1YnNwYWNlRm9y
SW1wbChKU0M6OlZNJiB2bSk7CiAgICAgc3RhdGljIHZvaWQgYW5hbHl6ZUhlYXAoSlNDZWxsKiwg
SlNDOjpIZWFwQW5hbHl6ZXImKTsKIHByb3RlY3RlZDoKLSAgICBKU1Rlc3REZWZhdWx0VG9KU09O
KEpTQzo6U3RydWN0dXJlKiwgSlNET01HbG9iYWxPYmplY3QmLCBSZWY8VGVzdERlZmF1bHRUb0pT
T04+JiYsIEpTQzo6QnV0dGVyZmx5KiA9IG51bGxwdHIpOworICAgIEpTVGVzdERlZmF1bHRUb0pT
T04oSlNDOjpTdHJ1Y3R1cmUqLCBKU0RPTUdsb2JhbE9iamVjdCYsIFJlZjxUZXN0RGVmYXVsdFRv
SlNPTj4mJik7CiAKICAgICB2b2lkIGZpbmlzaENyZWF0aW9uKEpTQzo6Vk0mKTsKIH07CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RGVm
YXVsdFRvSlNPTkZpbHRlcmVkQnlFeHBvc2VkLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3REZWZhdWx0VG9KU09ORmlsdGVyZWRCeUV4cG9zZWQuY3Bw
CmluZGV4IGE3ZjgwZDJmNmMzYS4uOWJiYjg3YmE4ZGE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RGVmYXVsdFRvSlNPTkZpbHRlcmVk
QnlFeHBvc2VkLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0RGVmYXVsdFRvSlNPTkZpbHRlcmVkQnlFeHBvc2VkLmNwcApAQCAtMTUzLDggKzE1
Myw4IEBAIHZvaWQgSlNUZXN0RGVmYXVsdFRvSlNPTkZpbHRlcmVkQnlFeHBvc2VkUHJvdG90eXBl
OjpmaW5pc2hDcmVhdGlvbihWTSYgdm0pCiAKIGNvbnN0IENsYXNzSW5mbyBKU1Rlc3REZWZhdWx0
VG9KU09ORmlsdGVyZWRCeUV4cG9zZWQ6OnNfaW5mbyA9IHsgIlRlc3REZWZhdWx0VG9KU09ORmls
dGVyZWRCeUV4cG9zZWQiX3MsICZCYXNlOjpzX2luZm8sIG51bGxwdHIsIG51bGxwdHIsIENSRUFU
RV9NRVRIT0RfVEFCTEUoSlNUZXN0RGVmYXVsdFRvSlNPTkZpbHRlcmVkQnlFeHBvc2VkKSB9Owog
Ci1KU1Rlc3REZWZhdWx0VG9KU09ORmlsdGVyZWRCeUV4cG9zZWQ6OkpTVGVzdERlZmF1bHRUb0pT
T05GaWx0ZXJlZEJ5RXhwb3NlZChTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgSlNET01HbG9iYWxPYmpl
Y3QmIGdsb2JhbE9iamVjdCwgUmVmPFRlc3REZWZhdWx0VG9KU09ORmlsdGVyZWRCeUV4cG9zZWQ+
JiYgaW1wbCwgSlNDOjpCdXR0ZXJmbHkqIGJ1dHRlcmZseSkKLSAgICA6IEpTRE9NV3JhcHBlcjxU
ZXN0RGVmYXVsdFRvSlNPTkZpbHRlcmVkQnlFeHBvc2VkPihzdHJ1Y3R1cmUsIGdsb2JhbE9iamVj
dCwgV1RGTW92ZShpbXBsKSwgYnV0dGVyZmx5KQorSlNUZXN0RGVmYXVsdFRvSlNPTkZpbHRlcmVk
QnlFeHBvc2VkOjpKU1Rlc3REZWZhdWx0VG9KU09ORmlsdGVyZWRCeUV4cG9zZWQoU3RydWN0dXJl
KiBzdHJ1Y3R1cmUsIEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QsIFJlZjxUZXN0RGVm
YXVsdFRvSlNPTkZpbHRlcmVkQnlFeHBvc2VkPiYmIGltcGwpCisgICAgOiBKU0RPTVdyYXBwZXI8
VGVzdERlZmF1bHRUb0pTT05GaWx0ZXJlZEJ5RXhwb3NlZD4oc3RydWN0dXJlLCBnbG9iYWxPYmpl
Y3QsIFdURk1vdmUoaW1wbCkpCiB7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3REZWZhdWx0VG9KU09ORmlsdGVyZWRCeUV4cG9z
ZWQuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3REZWZh
dWx0VG9KU09ORmlsdGVyZWRCeUV4cG9zZWQuaAppbmRleCBhNWZmNTFhZTdlNWMuLjI4MTdjOTc5
ODdkYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdERlZmF1bHRUb0pTT05GaWx0ZXJlZEJ5RXhwb3NlZC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3REZWZhdWx0VG9KU09ORmlsdGVyZWRC
eUV4cG9zZWQuaApAQCAtNTgsNyArNTgsNyBAQCBwdWJsaWM6CiAgICAgc3RhdGljIEpTQzo6R0ND
bGllbnQ6Oklzb1N1YnNwYWNlKiBzdWJzcGFjZUZvckltcGwoSlNDOjpWTSYgdm0pOwogICAgIHN0
YXRpYyB2b2lkIGFuYWx5emVIZWFwKEpTQ2VsbCosIEpTQzo6SGVhcEFuYWx5emVyJik7CiBwcm90
ZWN0ZWQ6Ci0gICAgSlNUZXN0RGVmYXVsdFRvSlNPTkZpbHRlcmVkQnlFeHBvc2VkKEpTQzo6U3Ry
dWN0dXJlKiwgSlNET01HbG9iYWxPYmplY3QmLCBSZWY8VGVzdERlZmF1bHRUb0pTT05GaWx0ZXJl
ZEJ5RXhwb3NlZD4mJiwgSlNDOjpCdXR0ZXJmbHkqID0gbnVsbHB0cik7CisgICAgSlNUZXN0RGVm
YXVsdFRvSlNPTkZpbHRlcmVkQnlFeHBvc2VkKEpTQzo6U3RydWN0dXJlKiwgSlNET01HbG9iYWxP
YmplY3QmLCBSZWY8VGVzdERlZmF1bHRUb0pTT05GaWx0ZXJlZEJ5RXhwb3NlZD4mJik7CiAKICAg
ICB2b2lkIGZpbmlzaENyZWF0aW9uKEpTQzo6Vk0mKTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RGVmYXVsdFRvSlNPTkluZGly
ZWN0SW5oZXJpdGFuY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdERlZmF1bHRUb0pTT05JbmRpcmVjdEluaGVyaXRhbmNlLmNwcAppbmRleCBlY2Fl
NmQyNzAwNmMuLjNmYWIxY2IzY2I1NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdERlZmF1bHRUb0pTT05JbmRpcmVjdEluaGVyaXRhbmNl
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0
RGVmYXVsdFRvSlNPTkluZGlyZWN0SW5oZXJpdGFuY2UuY3BwCkBAIC0xMTYsOCArMTE2LDggQEAg
dm9pZCBKU1Rlc3REZWZhdWx0VG9KU09OSW5kaXJlY3RJbmhlcml0YW5jZVByb3RvdHlwZTo6Zmlu
aXNoQ3JlYXRpb24oVk0mIHZtKQogCiBjb25zdCBDbGFzc0luZm8gSlNUZXN0RGVmYXVsdFRvSlNP
TkluZGlyZWN0SW5oZXJpdGFuY2U6OnNfaW5mbyA9IHsgIlRlc3REZWZhdWx0VG9KU09OSW5kaXJl
Y3RJbmhlcml0YW5jZSJfcywgJkJhc2U6OnNfaW5mbywgbnVsbHB0ciwgbnVsbHB0ciwgQ1JFQVRF
X01FVEhPRF9UQUJMRShKU1Rlc3REZWZhdWx0VG9KU09OSW5kaXJlY3RJbmhlcml0YW5jZSkgfTsK
IAotSlNUZXN0RGVmYXVsdFRvSlNPTkluZGlyZWN0SW5oZXJpdGFuY2U6OkpTVGVzdERlZmF1bHRU
b0pTT05JbmRpcmVjdEluaGVyaXRhbmNlKFN0cnVjdHVyZSogc3RydWN0dXJlLCBKU0RPTUdsb2Jh
bE9iamVjdCYgZ2xvYmFsT2JqZWN0LCBSZWY8VGVzdERlZmF1bHRUb0pTT05JbmRpcmVjdEluaGVy
aXRhbmNlPiYmIGltcGwsIEpTQzo6QnV0dGVyZmx5KiBidXR0ZXJmbHkpCi0gICAgOiBKU1Rlc3RE
ZWZhdWx0VG9KU09OSW5oZXJpdChzdHJ1Y3R1cmUsIGdsb2JhbE9iamVjdCwgV1RGTW92ZShpbXBs
KSwgYnV0dGVyZmx5KQorSlNUZXN0RGVmYXVsdFRvSlNPTkluZGlyZWN0SW5oZXJpdGFuY2U6OkpT
VGVzdERlZmF1bHRUb0pTT05JbmRpcmVjdEluaGVyaXRhbmNlKFN0cnVjdHVyZSogc3RydWN0dXJl
LCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0LCBSZWY8VGVzdERlZmF1bHRUb0pTT05J
bmRpcmVjdEluaGVyaXRhbmNlPiYmIGltcGwpCisgICAgOiBKU1Rlc3REZWZhdWx0VG9KU09OSW5o
ZXJpdChzdHJ1Y3R1cmUsIGdsb2JhbE9iamVjdCwgV1RGTW92ZShpbXBsKSkKIHsKIH0KIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdERl
ZmF1bHRUb0pTT05JbmRpcmVjdEluaGVyaXRhbmNlLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RGVmYXVsdFRvSlNPTkluZGlyZWN0SW5oZXJpdGFuY2Uu
aAppbmRleCBmZTVjYWNiNWFlZmMuLjg2NzNjNTEzM2I0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdERlZmF1bHRUb0pTT05JbmRpcmVj
dEluaGVyaXRhbmNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdERlZmF1bHRUb0pTT05JbmRpcmVjdEluaGVyaXRhbmNlLmgKQEAgLTYxLDcgKzYx
LDcgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8VGVzdERlZmF1bHRUb0pT
T05JbmRpcmVjdEluaGVyaXRhbmNlJj4oQmFzZTo6d3JhcHBlZCgpKTsKICAgICB9CiBwcm90ZWN0
ZWQ6Ci0gICAgSlNUZXN0RGVmYXVsdFRvSlNPTkluZGlyZWN0SW5oZXJpdGFuY2UoSlNDOjpTdHJ1
Y3R1cmUqLCBKU0RPTUdsb2JhbE9iamVjdCYsIFJlZjxUZXN0RGVmYXVsdFRvSlNPTkluZGlyZWN0
SW5oZXJpdGFuY2U+JiYsIEpTQzo6QnV0dGVyZmx5KiA9IG51bGxwdHIpOworICAgIEpTVGVzdERl
ZmF1bHRUb0pTT05JbmRpcmVjdEluaGVyaXRhbmNlKEpTQzo6U3RydWN0dXJlKiwgSlNET01HbG9i
YWxPYmplY3QmLCBSZWY8VGVzdERlZmF1bHRUb0pTT05JbmRpcmVjdEluaGVyaXRhbmNlPiYmKTsK
IAogICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oSlNDOjpWTSYpOwogfTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3REZWZhdWx0VG9KU09O
SW5oZXJpdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNU
ZXN0RGVmYXVsdFRvSlNPTkluaGVyaXQuY3BwCmluZGV4IDM0M2ZlMjA2NDgyZS4uMzNmMjhlNjQ3
NjMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNUZXN0RGVmYXVsdFRvSlNPTkluaGVyaXQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3REZWZhdWx0VG9KU09OSW5oZXJpdC5jcHAKQEAgLTE0
NSw4ICsxNDUsOCBAQCB2b2lkIEpTVGVzdERlZmF1bHRUb0pTT05Jbmhlcml0UHJvdG90eXBlOjpm
aW5pc2hDcmVhdGlvbihWTSYgdm0pCiAKIGNvbnN0IENsYXNzSW5mbyBKU1Rlc3REZWZhdWx0VG9K
U09OSW5oZXJpdDo6c19pbmZvID0geyAiVGVzdERlZmF1bHRUb0pTT05Jbmhlcml0Il9zLCAmQmFz
ZTo6c19pbmZvLCBudWxscHRyLCBudWxscHRyLCBDUkVBVEVfTUVUSE9EX1RBQkxFKEpTVGVzdERl
ZmF1bHRUb0pTT05Jbmhlcml0KSB9OwogCi1KU1Rlc3REZWZhdWx0VG9KU09OSW5oZXJpdDo6SlNU
ZXN0RGVmYXVsdFRvSlNPTkluaGVyaXQoU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEpTRE9NR2xvYmFs
T2JqZWN0JiBnbG9iYWxPYmplY3QsIFJlZjxUZXN0RGVmYXVsdFRvSlNPTkluaGVyaXQ+JiYgaW1w
bCwgSlNDOjpCdXR0ZXJmbHkqIGJ1dHRlcmZseSkKLSAgICA6IEpTVGVzdERlZmF1bHRUb0pTT04o
c3RydWN0dXJlLCBnbG9iYWxPYmplY3QsIFdURk1vdmUoaW1wbCksIGJ1dHRlcmZseSkKK0pTVGVz
dERlZmF1bHRUb0pTT05Jbmhlcml0OjpKU1Rlc3REZWZhdWx0VG9KU09OSW5oZXJpdChTdHJ1Y3R1
cmUqIHN0cnVjdHVyZSwgSlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCwgUmVmPFRlc3RE
ZWZhdWx0VG9KU09OSW5oZXJpdD4mJiBpbXBsKQorICAgIDogSlNUZXN0RGVmYXVsdFRvSlNPTihz
dHJ1Y3R1cmUsIGdsb2JhbE9iamVjdCwgV1RGTW92ZShpbXBsKSkKIHsKIH0KIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdERlZmF1bHRU
b0pTT05Jbmhlcml0LmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNUZXN0RGVmYXVsdFRvSlNPTkluaGVyaXQuaAppbmRleCA4YzY1YTg0YjI0NGIuLjI0NDkzYWM2
MzA5YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdERlZmF1bHRUb0pTT05Jbmhlcml0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdERlZmF1bHRUb0pTT05Jbmhlcml0LmgKQEAgLTYxLDcg
KzYxLDcgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8VGVzdERlZmF1bHRU
b0pTT05Jbmhlcml0Jj4oQmFzZTo6d3JhcHBlZCgpKTsKICAgICB9CiBwcm90ZWN0ZWQ6Ci0gICAg
SlNUZXN0RGVmYXVsdFRvSlNPTkluaGVyaXQoSlNDOjpTdHJ1Y3R1cmUqLCBKU0RPTUdsb2JhbE9i
amVjdCYsIFJlZjxUZXN0RGVmYXVsdFRvSlNPTkluaGVyaXQ+JiYsIEpTQzo6QnV0dGVyZmx5KiA9
IG51bGxwdHIpOworICAgIEpTVGVzdERlZmF1bHRUb0pTT05Jbmhlcml0KEpTQzo6U3RydWN0dXJl
KiwgSlNET01HbG9iYWxPYmplY3QmLCBSZWY8VGVzdERlZmF1bHRUb0pTT05Jbmhlcml0PiYmKTsK
IAogICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oSlNDOjpWTSYpOwogfTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3REZWZhdWx0VG9KU09O
SW5oZXJpdEZpbmFsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3REZWZhdWx0VG9KU09OSW5oZXJpdEZpbmFsLmNwcAppbmRleCA1YWVjNDRiZmIxY2Mu
LjA4MzUwN2RlOTk4MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTVGVzdERlZmF1bHRUb0pTT05Jbmhlcml0RmluYWwuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3REZWZhdWx0VG9KU09OSW5o
ZXJpdEZpbmFsLmNwcApAQCAtMTQ4LDggKzE0OCw4IEBAIHZvaWQgSlNUZXN0RGVmYXVsdFRvSlNP
TkluaGVyaXRGaW5hbFByb3RvdHlwZTo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtKQogCiBjb25zdCBD
bGFzc0luZm8gSlNUZXN0RGVmYXVsdFRvSlNPTkluaGVyaXRGaW5hbDo6c19pbmZvID0geyAiVGVz
dERlZmF1bHRUb0pTT05Jbmhlcml0RmluYWwiX3MsICZCYXNlOjpzX2luZm8sIG51bGxwdHIsIG51
bGxwdHIsIENSRUFURV9NRVRIT0RfVEFCTEUoSlNUZXN0RGVmYXVsdFRvSlNPTkluaGVyaXRGaW5h
bCkgfTsKIAotSlNUZXN0RGVmYXVsdFRvSlNPTkluaGVyaXRGaW5hbDo6SlNUZXN0RGVmYXVsdFRv
SlNPTkluaGVyaXRGaW5hbChTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgSlNET01HbG9iYWxPYmplY3Qm
IGdsb2JhbE9iamVjdCwgUmVmPFRlc3REZWZhdWx0VG9KU09OSW5oZXJpdEZpbmFsPiYmIGltcGws
IEpTQzo6QnV0dGVyZmx5KiBidXR0ZXJmbHkpCi0gICAgOiBKU1Rlc3REZWZhdWx0VG9KU09OSW5o
ZXJpdChzdHJ1Y3R1cmUsIGdsb2JhbE9iamVjdCwgV1RGTW92ZShpbXBsKSwgYnV0dGVyZmx5KQor
SlNUZXN0RGVmYXVsdFRvSlNPTkluaGVyaXRGaW5hbDo6SlNUZXN0RGVmYXVsdFRvSlNPTkluaGVy
aXRGaW5hbChTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgSlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9i
amVjdCwgUmVmPFRlc3REZWZhdWx0VG9KU09OSW5oZXJpdEZpbmFsPiYmIGltcGwpCisgICAgOiBK
U1Rlc3REZWZhdWx0VG9KU09OSW5oZXJpdChzdHJ1Y3R1cmUsIGdsb2JhbE9iamVjdCwgV1RGTW92
ZShpbXBsKSkKIHsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdERlZmF1bHRUb0pTT05Jbmhlcml0RmluYWwuaCBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3REZWZhdWx0VG9KU09OSW5oZXJp
dEZpbmFsLmgKaW5kZXggZGNhMGNmYTM2OWM5Li4xMGQ2MDI0NTkzNzAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3REZWZhdWx0VG9KU09O
SW5oZXJpdEZpbmFsLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdERlZmF1bHRUb0pTT05Jbmhlcml0RmluYWwuaApAQCAtNjEsNyArNjEsNyBAQCBw
dWJsaWM6CiAgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxUZXN0RGVmYXVsdFRvSlNPTkluaGVy
aXRGaW5hbCY+KEJhc2U6OndyYXBwZWQoKSk7CiAgICAgfQogcHJvdGVjdGVkOgotICAgIEpTVGVz
dERlZmF1bHRUb0pTT05Jbmhlcml0RmluYWwoSlNDOjpTdHJ1Y3R1cmUqLCBKU0RPTUdsb2JhbE9i
amVjdCYsIFJlZjxUZXN0RGVmYXVsdFRvSlNPTkluaGVyaXRGaW5hbD4mJiwgSlNDOjpCdXR0ZXJm
bHkqID0gbnVsbHB0cik7CisgICAgSlNUZXN0RGVmYXVsdFRvSlNPTkluaGVyaXRGaW5hbChKU0M6
OlN0cnVjdHVyZSosIEpTRE9NR2xvYmFsT2JqZWN0JiwgUmVmPFRlc3REZWZhdWx0VG9KU09OSW5o
ZXJpdEZpbmFsPiYmKTsKIAogICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oSlNDOjpWTSYpOwogfTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rl
c3REZWxlZ2F0ZVRvU2hhcmVkU3ludGhldGljQXR0cmlidXRlLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3REZWxlZ2F0ZVRvU2hhcmVkU3ludGhldGlj
QXR0cmlidXRlLmNwcAppbmRleCA5MDg1YTYxNWY2MzguLjNjY2MxYzIzZTczYyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdERlbGVnYXRl
VG9TaGFyZWRTeW50aGV0aWNBdHRyaWJ1dGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3REZWxlZ2F0ZVRvU2hhcmVkU3ludGhldGljQXR0cmli
dXRlLmNwcApAQCAtMTMwLDggKzEzMCw4IEBAIHZvaWQgSlNUZXN0RGVsZWdhdGVUb1NoYXJlZFN5
bnRoZXRpY0F0dHJpYnV0ZVByb3RvdHlwZTo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtKQogCiBjb25z
dCBDbGFzc0luZm8gSlNUZXN0RGVsZWdhdGVUb1NoYXJlZFN5bnRoZXRpY0F0dHJpYnV0ZTo6c19p
bmZvID0geyAiVGVzdERlbGVnYXRlVG9TaGFyZWRTeW50aGV0aWNBdHRyaWJ1dGUiX3MsICZCYXNl
OjpzX2luZm8sIG51bGxwdHIsIG51bGxwdHIsIENSRUFURV9NRVRIT0RfVEFCTEUoSlNUZXN0RGVs
ZWdhdGVUb1NoYXJlZFN5bnRoZXRpY0F0dHJpYnV0ZSkgfTsKIAotSlNUZXN0RGVsZWdhdGVUb1No
YXJlZFN5bnRoZXRpY0F0dHJpYnV0ZTo6SlNUZXN0RGVsZWdhdGVUb1NoYXJlZFN5bnRoZXRpY0F0
dHJpYnV0ZShTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgSlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9i
amVjdCwgUmVmPFRlc3REZWxlZ2F0ZVRvU2hhcmVkU3ludGhldGljQXR0cmlidXRlPiYmIGltcGws
IEpTQzo6QnV0dGVyZmx5KiBidXR0ZXJmbHkpCi0gICAgOiBKU0RPTVdyYXBwZXI8VGVzdERlbGVn
YXRlVG9TaGFyZWRTeW50aGV0aWNBdHRyaWJ1dGU+KHN0cnVjdHVyZSwgZ2xvYmFsT2JqZWN0LCBX
VEZNb3ZlKGltcGwpLCBidXR0ZXJmbHkpCitKU1Rlc3REZWxlZ2F0ZVRvU2hhcmVkU3ludGhldGlj
QXR0cmlidXRlOjpKU1Rlc3REZWxlZ2F0ZVRvU2hhcmVkU3ludGhldGljQXR0cmlidXRlKFN0cnVj
dHVyZSogc3RydWN0dXJlLCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0LCBSZWY8VGVz
dERlbGVnYXRlVG9TaGFyZWRTeW50aGV0aWNBdHRyaWJ1dGU+JiYgaW1wbCkKKyAgICA6IEpTRE9N
V3JhcHBlcjxUZXN0RGVsZWdhdGVUb1NoYXJlZFN5bnRoZXRpY0F0dHJpYnV0ZT4oc3RydWN0dXJl
LCBnbG9iYWxPYmplY3QsIFdURk1vdmUoaW1wbCkpCiB7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3REZWxlZ2F0ZVRvU2hhcmVk
U3ludGhldGljQXR0cmlidXRlLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNUZXN0RGVsZWdhdGVUb1NoYXJlZFN5bnRoZXRpY0F0dHJpYnV0ZS5oCmluZGV4IDli
YWE4ODQ1NzE1NC4uZDBlZmFkZTU1YzU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RGVsZWdhdGVUb1NoYXJlZFN5bnRoZXRpY0F0dHJp
YnV0ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rl
c3REZWxlZ2F0ZVRvU2hhcmVkU3ludGhldGljQXR0cmlidXRlLmgKQEAgLTU4LDcgKzU4LDcgQEAg
cHVibGljOgogICAgIHN0YXRpYyBKU0M6OkdDQ2xpZW50OjpJc29TdWJzcGFjZSogc3Vic3BhY2VG
b3JJbXBsKEpTQzo6Vk0mIHZtKTsKICAgICBzdGF0aWMgdm9pZCBhbmFseXplSGVhcChKU0NlbGwq
LCBKU0M6OkhlYXBBbmFseXplciYpOwogcHJvdGVjdGVkOgotICAgIEpTVGVzdERlbGVnYXRlVG9T
aGFyZWRTeW50aGV0aWNBdHRyaWJ1dGUoSlNDOjpTdHJ1Y3R1cmUqLCBKU0RPTUdsb2JhbE9iamVj
dCYsIFJlZjxUZXN0RGVsZWdhdGVUb1NoYXJlZFN5bnRoZXRpY0F0dHJpYnV0ZT4mJiwgSlNDOjpC
dXR0ZXJmbHkqID0gbnVsbHB0cik7CisgICAgSlNUZXN0RGVsZWdhdGVUb1NoYXJlZFN5bnRoZXRp
Y0F0dHJpYnV0ZShKU0M6OlN0cnVjdHVyZSosIEpTRE9NR2xvYmFsT2JqZWN0JiwgUmVmPFRlc3RE
ZWxlZ2F0ZVRvU2hhcmVkU3ludGhldGljQXR0cmlidXRlPiYmKTsKIAogICAgIHZvaWQgZmluaXNo
Q3JlYXRpb24oSlNDOjpWTSYpOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3REb21haW5TZWN1cml0eS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RG9tYWluU2VjdXJpdHkuY3BwCmlu
ZGV4IGE0ZjY3Y2M3Nzg3NS4uNDE0ODNhNDBjNDEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RG9tYWluU2VjdXJpdHkuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3REb21haW5TZWN1
cml0eS5jcHAKQEAgLTE1Miw4ICsxNTIsOCBAQCB2b2lkIEpTVGVzdERvbWFpblNlY3VyaXR5UHJv
dG90eXBlOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0pCiAKIGNvbnN0IENsYXNzSW5mbyBKU1Rlc3RE
b21haW5TZWN1cml0eTo6c19pbmZvID0geyAiVGVzdERvbWFpblNlY3VyaXR5Il9zLCAmQmFzZTo6
c19pbmZvLCAmSlNUZXN0RG9tYWluU2VjdXJpdHlUYWJsZSwgbnVsbHB0ciwgQ1JFQVRFX01FVEhP
RF9UQUJMRShKU1Rlc3REb21haW5TZWN1cml0eSkgfTsKIAotSlNUZXN0RG9tYWluU2VjdXJpdHk6
OkpTVGVzdERvbWFpblNlY3VyaXR5KFN0cnVjdHVyZSogc3RydWN0dXJlLCBKU0RPTUdsb2JhbE9i
amVjdCYgZ2xvYmFsT2JqZWN0LCBSZWY8VGVzdERvbWFpblNlY3VyaXR5PiYmIGltcGwsIEpTQzo6
QnV0dGVyZmx5KiBidXR0ZXJmbHkpCi0gICAgOiBKU0RPTVdyYXBwZXI8VGVzdERvbWFpblNlY3Vy
aXR5PihzdHJ1Y3R1cmUsIGdsb2JhbE9iamVjdCwgV1RGTW92ZShpbXBsKSwgYnV0dGVyZmx5KQor
SlNUZXN0RG9tYWluU2VjdXJpdHk6OkpTVGVzdERvbWFpblNlY3VyaXR5KFN0cnVjdHVyZSogc3Ry
dWN0dXJlLCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0LCBSZWY8VGVzdERvbWFpblNl
Y3VyaXR5PiYmIGltcGwpCisgICAgOiBKU0RPTVdyYXBwZXI8VGVzdERvbWFpblNlY3VyaXR5Pihz
dHJ1Y3R1cmUsIGdsb2JhbE9iamVjdCwgV1RGTW92ZShpbXBsKSkKIHsKIH0KIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdERvbWFpblNl
Y3VyaXR5LmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0
RG9tYWluU2VjdXJpdHkuaAppbmRleCA4ZjM5ZDZhNDgzZjguLjhiMzk4NDc0N2MyOCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdERvbWFp
blNlY3VyaXR5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdERvbWFpblNlY3VyaXR5LmgKQEAgLTYwLDcgKzYwLDcgQEAgcHVibGljOgogcHVibGlj
OgogICAgIHN0YXRpYyBjb25zdGV4cHIgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3MgPSBCYXNlOjpT
dHJ1Y3R1cmVGbGFncyB8IEpTQzo6SGFzU3RhdGljUHJvcGVydHlUYWJsZTsKIHByb3RlY3RlZDoK
LSAgICBKU1Rlc3REb21haW5TZWN1cml0eShKU0M6OlN0cnVjdHVyZSosIEpTRE9NR2xvYmFsT2Jq
ZWN0JiwgUmVmPFRlc3REb21haW5TZWN1cml0eT4mJiwgSlNDOjpCdXR0ZXJmbHkqID0gbnVsbHB0
cik7CisgICAgSlNUZXN0RG9tYWluU2VjdXJpdHkoSlNDOjpTdHJ1Y3R1cmUqLCBKU0RPTUdsb2Jh
bE9iamVjdCYsIFJlZjxUZXN0RG9tYWluU2VjdXJpdHk+JiYpOwogCiAgICAgdm9pZCBmaW5pc2hD
cmVhdGlvbihKU0M6OlZNJik7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEVuYWJsZWRCeVNldHRpbmcuY3BwIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEVuYWJsZWRCeVNldHRpbmcuY3Bw
CmluZGV4IGNhNDE1Zjk0NjBmMS4uNGNkODQ0NTQ5MTViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RW5hYmxlZEJ5U2V0dGluZy5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEVuYWJs
ZWRCeVNldHRpbmcuY3BwCkBAIC0yMzgsOCArMjM4LDggQEAgdm9pZCBKU1Rlc3RFbmFibGVkQnlT
ZXR0aW5nUHJvdG90eXBlOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0pCiAKIGNvbnN0IENsYXNzSW5m
byBKU1Rlc3RFbmFibGVkQnlTZXR0aW5nOjpzX2luZm8gPSB7ICJUZXN0RW5hYmxlZEJ5U2V0dGlu
ZyJfcywgJkJhc2U6OnNfaW5mbywgJkpTVGVzdEVuYWJsZWRCeVNldHRpbmdUYWJsZSwgbnVsbHB0
ciwgQ1JFQVRFX01FVEhPRF9UQUJMRShKU1Rlc3RFbmFibGVkQnlTZXR0aW5nKSB9OwogCi1KU1Rl
c3RFbmFibGVkQnlTZXR0aW5nOjpKU1Rlc3RFbmFibGVkQnlTZXR0aW5nKFN0cnVjdHVyZSogc3Ry
dWN0dXJlLCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0LCBSZWY8VGVzdEVuYWJsZWRC
eVNldHRpbmc+JiYgaW1wbCwgSlNDOjpCdXR0ZXJmbHkqIGJ1dHRlcmZseSkKLSAgICA6IEpTRE9N
V3JhcHBlcjxUZXN0RW5hYmxlZEJ5U2V0dGluZz4oc3RydWN0dXJlLCBnbG9iYWxPYmplY3QsIFdU
Rk1vdmUoaW1wbCksIGJ1dHRlcmZseSkKK0pTVGVzdEVuYWJsZWRCeVNldHRpbmc6OkpTVGVzdEVu
YWJsZWRCeVNldHRpbmcoU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEpTRE9NR2xvYmFsT2JqZWN0JiBn
bG9iYWxPYmplY3QsIFJlZjxUZXN0RW5hYmxlZEJ5U2V0dGluZz4mJiBpbXBsKQorICAgIDogSlNE
T01XcmFwcGVyPFRlc3RFbmFibGVkQnlTZXR0aW5nPihzdHJ1Y3R1cmUsIGdsb2JhbE9iamVjdCwg
V1RGTW92ZShpbXBsKSkKIHsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEVuYWJsZWRCeVNldHRpbmcuaCBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFbmFibGVkQnlTZXR0aW5nLmgKaW5k
ZXggZGM5NDZiODgxNWIyLi5jNzY4YTZhZGRiOWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFbmFibGVkQnlTZXR0aW5nLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEVuYWJsZWRCeVNl
dHRpbmcuaApAQCAtNjAsNyArNjAsNyBAQCBwdWJsaWM6CiBwdWJsaWM6CiAgICAgc3RhdGljIGNv
bnN0ZXhwciB1bnNpZ25lZCBTdHJ1Y3R1cmVGbGFncyA9IEJhc2U6OlN0cnVjdHVyZUZsYWdzIHwg
SlNDOjpIYXNTdGF0aWNQcm9wZXJ0eVRhYmxlOwogcHJvdGVjdGVkOgotICAgIEpTVGVzdEVuYWJs
ZWRCeVNldHRpbmcoSlNDOjpTdHJ1Y3R1cmUqLCBKU0RPTUdsb2JhbE9iamVjdCYsIFJlZjxUZXN0
RW5hYmxlZEJ5U2V0dGluZz4mJiwgSlNDOjpCdXR0ZXJmbHkqID0gbnVsbHB0cik7CisgICAgSlNU
ZXN0RW5hYmxlZEJ5U2V0dGluZyhKU0M6OlN0cnVjdHVyZSosIEpTRE9NR2xvYmFsT2JqZWN0Jiwg
UmVmPFRlc3RFbmFibGVkQnlTZXR0aW5nPiYmKTsKIAogICAgIHZvaWQgZmluaXNoQ3JlYXRpb24o
SlNDOjpWTSYpOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RFbmFibGVkRm9yQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RW5hYmxlZEZvckNvbnRleHQuY3BwCmluZGV4
IDk5ZDEyOGYyOGU5Yy4uNTg2OTQzNWUxNDM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RW5hYmxlZEZvckNvbnRleHQuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFbmFibGVkRm9y
Q29udGV4dC5jcHAKQEAgLTEyMSw4ICsxMjEsOCBAQCB2b2lkIEpTVGVzdEVuYWJsZWRGb3JDb250
ZXh0UHJvdG90eXBlOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0pCiAKIGNvbnN0IENsYXNzSW5mbyBK
U1Rlc3RFbmFibGVkRm9yQ29udGV4dDo6c19pbmZvID0geyAiVGVzdEVuYWJsZWRGb3JDb250ZXh0
Il9zLCAmQmFzZTo6c19pbmZvLCBudWxscHRyLCBudWxscHRyLCBDUkVBVEVfTUVUSE9EX1RBQkxF
KEpTVGVzdEVuYWJsZWRGb3JDb250ZXh0KSB9OwogCi1KU1Rlc3RFbmFibGVkRm9yQ29udGV4dDo6
SlNUZXN0RW5hYmxlZEZvckNvbnRleHQoU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEpTRE9NR2xvYmFs
T2JqZWN0JiBnbG9iYWxPYmplY3QsIFJlZjxUZXN0RW5hYmxlZEZvckNvbnRleHQ+JiYgaW1wbCwg
SlNDOjpCdXR0ZXJmbHkqIGJ1dHRlcmZseSkKLSAgICA6IEpTRE9NV3JhcHBlcjxUZXN0RW5hYmxl
ZEZvckNvbnRleHQ+KHN0cnVjdHVyZSwgZ2xvYmFsT2JqZWN0LCBXVEZNb3ZlKGltcGwpLCBidXR0
ZXJmbHkpCitKU1Rlc3RFbmFibGVkRm9yQ29udGV4dDo6SlNUZXN0RW5hYmxlZEZvckNvbnRleHQo
U3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QsIFJl
ZjxUZXN0RW5hYmxlZEZvckNvbnRleHQ+JiYgaW1wbCkKKyAgICA6IEpTRE9NV3JhcHBlcjxUZXN0
RW5hYmxlZEZvckNvbnRleHQ+KHN0cnVjdHVyZSwgZ2xvYmFsT2JqZWN0LCBXVEZNb3ZlKGltcGwp
KQogewogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNUZXN0RW5hYmxlZEZvckNvbnRleHQuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFbmFibGVkRm9yQ29udGV4dC5oCmluZGV4IGFlNDQ5ZDY5
NWFjOC4uNjBlZjQ3YzllYTk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0RW5hYmxlZEZvckNvbnRleHQuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RW5hYmxlZEZvckNvbnRleHQuaApA
QCAtNjAsNyArNjAsNyBAQCBwdWJsaWM6CiBwdWJsaWM6CiAgICAgc3RhdGljIGNvbnN0ZXhwciB1
bnNpZ25lZCBTdHJ1Y3R1cmVGbGFncyA9IEJhc2U6OlN0cnVjdHVyZUZsYWdzIHwgSlNDOjpIYXNT
dGF0aWNQcm9wZXJ0eVRhYmxlOwogcHJvdGVjdGVkOgotICAgIEpTVGVzdEVuYWJsZWRGb3JDb250
ZXh0KEpTQzo6U3RydWN0dXJlKiwgSlNET01HbG9iYWxPYmplY3QmLCBSZWY8VGVzdEVuYWJsZWRG
b3JDb250ZXh0PiYmLCBKU0M6OkJ1dHRlcmZseSogPSBudWxscHRyKTsKKyAgICBKU1Rlc3RFbmFi
bGVkRm9yQ29udGV4dChKU0M6OlN0cnVjdHVyZSosIEpTRE9NR2xvYmFsT2JqZWN0JiwgUmVmPFRl
c3RFbmFibGVkRm9yQ29udGV4dD4mJik7CiAKICAgICB2b2lkIGZpbmlzaENyZWF0aW9uKEpTQzo6
Vk0mKTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNUZXN0RXZlbnRDb25zdHJ1Y3Rvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXZlbnRDb25zdHJ1Y3Rvci5jcHAKaW5kZXggMDQ0MGZm
ZmQ4OTU2Li5mZmQwOTU4ODkyM2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFdmVudENvbnN0cnVjdG9yLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXZlbnRDb25zdHJ1Y3Rvci5j
cHAKQEAgLTIzNSw4ICsyMzUsOCBAQCB2b2lkIEpTVGVzdEV2ZW50Q29uc3RydWN0b3JQcm90b3R5
cGU6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSkKIAogY29uc3QgQ2xhc3NJbmZvIEpTVGVzdEV2ZW50
Q29uc3RydWN0b3I6OnNfaW5mbyA9IHsgIlRlc3RFdmVudENvbnN0cnVjdG9yIl9zLCAmQmFzZTo6
c19pbmZvLCBudWxscHRyLCBudWxscHRyLCBDUkVBVEVfTUVUSE9EX1RBQkxFKEpTVGVzdEV2ZW50
Q29uc3RydWN0b3IpIH07CiAKLUpTVGVzdEV2ZW50Q29uc3RydWN0b3I6OkpTVGVzdEV2ZW50Q29u
c3RydWN0b3IoU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxP
YmplY3QsIFJlZjxUZXN0RXZlbnRDb25zdHJ1Y3Rvcj4mJiBpbXBsLCBKU0M6OkJ1dHRlcmZseSog
YnV0dGVyZmx5KQotICAgIDogSlNFdmVudChzdHJ1Y3R1cmUsIGdsb2JhbE9iamVjdCwgV1RGTW92
ZShpbXBsKSwgYnV0dGVyZmx5KQorSlNUZXN0RXZlbnRDb25zdHJ1Y3Rvcjo6SlNUZXN0RXZlbnRD
b25zdHJ1Y3RvcihTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgSlNET01HbG9iYWxPYmplY3QmIGdsb2Jh
bE9iamVjdCwgUmVmPFRlc3RFdmVudENvbnN0cnVjdG9yPiYmIGltcGwpCisgICAgOiBKU0V2ZW50
KHN0cnVjdHVyZSwgZ2xvYmFsT2JqZWN0LCBXVEZNb3ZlKGltcGwpKQogewogfQogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXZlbnRD
b25zdHJ1Y3Rvci5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdEV2ZW50Q29uc3RydWN0b3IuaAppbmRleCAwNThjZWY0ZTc5YWMuLjVlNDY2NDU3NzcwMiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVz
dEV2ZW50Q29uc3RydWN0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0RXZlbnRDb25zdHJ1Y3Rvci5oCkBAIC02Miw3ICs2Miw3IEBAIHB1Ymxp
YzoKICAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PFRlc3RFdmVudENvbnN0cnVjdG9yJj4oQmFz
ZTo6d3JhcHBlZCgpKTsKICAgICB9CiBwcm90ZWN0ZWQ6Ci0gICAgSlNUZXN0RXZlbnRDb25zdHJ1
Y3RvcihKU0M6OlN0cnVjdHVyZSosIEpTRE9NR2xvYmFsT2JqZWN0JiwgUmVmPFRlc3RFdmVudENv
bnN0cnVjdG9yPiYmLCBKU0M6OkJ1dHRlcmZseSogPSBudWxscHRyKTsKKyAgICBKU1Rlc3RFdmVu
dENvbnN0cnVjdG9yKEpTQzo6U3RydWN0dXJlKiwgSlNET01HbG9iYWxPYmplY3QmLCBSZWY8VGVz
dEV2ZW50Q29uc3RydWN0b3I+JiYpOwogCiAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihKU0M6OlZN
Jik7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdEV2ZW50VGFyZ2V0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RFdmVudFRhcmdldC5jcHAKaW5kZXggMThmMDVlNmI2OGFmLi5lNWUx
MmQ0OWFiYmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU1Rlc3RFdmVudFRhcmdldC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdEV2ZW50VGFyZ2V0LmNwcApAQCAtMTI4LDggKzEyOCw4IEBA
IHZvaWQgSlNUZXN0RXZlbnRUYXJnZXRQcm90b3R5cGU6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSkK
IAogY29uc3QgQ2xhc3NJbmZvIEpTVGVzdEV2ZW50VGFyZ2V0OjpzX2luZm8gPSB7ICJUZXN0RXZl
bnRUYXJnZXQiX3MsICZCYXNlOjpzX2luZm8sIG51bGxwdHIsIG51bGxwdHIsIENSRUFURV9NRVRI
T0RfVEFCTEUoSlNUZXN0RXZlbnRUYXJnZXQpIH07CiAKLUpTVGVzdEV2ZW50VGFyZ2V0OjpKU1Rl
c3RFdmVudFRhcmdldChTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgSlNET01HbG9iYWxPYmplY3QmIGds
b2JhbE9iamVjdCwgUmVmPFRlc3RFdmVudFRhcmdldD4mJiBpbXBsLCBKU0M6OkJ1dHRlcmZseSog
YnV0dGVyZmx5KQotICAgIDogSlNFdmVudFRhcmdldChzdHJ1Y3R1cmUsIGdsb2JhbE9iamVjdCwg
V1RGTW92ZShpbXBsKSwgYnV0dGVyZmx5KQorSlNUZXN0RXZlbnRUYXJnZXQ6OkpTVGVzdEV2ZW50
VGFyZ2V0KFN0cnVjdHVyZSogc3RydWN0dXJlLCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsT2Jq
ZWN0LCBSZWY8VGVzdEV2ZW50VGFyZ2V0PiYmIGltcGwpCisgICAgOiBKU0V2ZW50VGFyZ2V0KHN0
cnVjdHVyZSwgZ2xvYmFsT2JqZWN0LCBXVEZNb3ZlKGltcGwpKQogewogfQogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXZlbnRUYXJn
ZXQuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFdmVu
dFRhcmdldC5oCmluZGV4IDI5ZDg5N2VjNDVkYS4uOTM5MWQyYTAxYTQ4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXZlbnRUYXJnZXQu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXZl
bnRUYXJnZXQuaApAQCAtNjgsNyArNjgsNyBAQCBwdWJsaWM6CiBwdWJsaWM6CiAgICAgc3RhdGlj
IGNvbnN0ZXhwciB1bnNpZ25lZCBTdHJ1Y3R1cmVGbGFncyA9IEJhc2U6OlN0cnVjdHVyZUZsYWdz
IHwgSlNDOjpHZXRPd25Qcm9wZXJ0eVNsb3RJc0ltcHVyZUZvclByb3BlcnR5QWJzZW5jZSB8IEpT
Qzo6SW50ZXJjZXB0c0dldE93blByb3BlcnR5U2xvdEJ5SW5kZXhFdmVuV2hlbkxlbmd0aElzTm90
WmVybyB8IEpTQzo6TWFzcXVlcmFkZXNBc1VuZGVmaW5lZCB8IEpTQzo6T3ZlcnJpZGVzR2V0T3du
UHJvcGVydHlOYW1lcyB8IEpTQzo6T3ZlcnJpZGVzR2V0T3duUHJvcGVydHlTbG90OwogcHJvdGVj
dGVkOgotICAgIEpTVGVzdEV2ZW50VGFyZ2V0KEpTQzo6U3RydWN0dXJlKiwgSlNET01HbG9iYWxP
YmplY3QmLCBSZWY8VGVzdEV2ZW50VGFyZ2V0PiYmLCBKU0M6OkJ1dHRlcmZseSogPSBudWxscHRy
KTsKKyAgICBKU1Rlc3RFdmVudFRhcmdldChKU0M6OlN0cnVjdHVyZSosIEpTRE9NR2xvYmFsT2Jq
ZWN0JiwgUmVmPFRlc3RFdmVudFRhcmdldD4mJik7CiAKICAgICB2b2lkIGZpbmlzaENyZWF0aW9u
KEpTQzo6Vk0mKTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0RXhjZXB0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFeGNlcHRpb24uY3BwCmluZGV4IDQ1YTJiNTQ5OGU0OS4u
NThkZTQ3M2E4YzAzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0RXhjZXB0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXhjZXB0aW9uLmNwcApAQCAtMTIyLDggKzEyMiw4IEBA
IHZvaWQgSlNUZXN0RXhjZXB0aW9uUHJvdG90eXBlOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0pCiAK
IGNvbnN0IENsYXNzSW5mbyBKU1Rlc3RFeGNlcHRpb246OnNfaW5mbyA9IHsgIlRlc3RFeGNlcHRp
b24iX3MsICZCYXNlOjpzX2luZm8sIG51bGxwdHIsIG51bGxwdHIsIENSRUFURV9NRVRIT0RfVEFC
TEUoSlNUZXN0RXhjZXB0aW9uKSB9OwogCi1KU1Rlc3RFeGNlcHRpb246OkpTVGVzdEV4Y2VwdGlv
bihTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgSlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCwg
UmVmPFRlc3RFeGNlcHRpb24+JiYgaW1wbCwgSlNDOjpCdXR0ZXJmbHkqIGJ1dHRlcmZseSkKLSAg
ICA6IEpTRE9NV3JhcHBlcjxUZXN0RXhjZXB0aW9uPihzdHJ1Y3R1cmUsIGdsb2JhbE9iamVjdCwg
V1RGTW92ZShpbXBsKSwgYnV0dGVyZmx5KQorSlNUZXN0RXhjZXB0aW9uOjpKU1Rlc3RFeGNlcHRp
b24oU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3Qs
IFJlZjxUZXN0RXhjZXB0aW9uPiYmIGltcGwpCisgICAgOiBKU0RPTVdyYXBwZXI8VGVzdEV4Y2Vw
dGlvbj4oc3RydWN0dXJlLCBnbG9iYWxPYmplY3QsIFdURk1vdmUoaW1wbCkpCiB7CiB9CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RF
eGNlcHRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rl
c3RFeGNlcHRpb24uaAppbmRleCAwYjVjN2Q4YWM3YjkuLjRkZmY5NjBiODJhZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEV4Y2VwdGlv
bi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RF
eGNlcHRpb24uaApAQCAtNTksNyArNTksNyBAQCBwdWJsaWM6CiAgICAgc3RhdGljIEpTQzo6R0ND
bGllbnQ6Oklzb1N1YnNwYWNlKiBzdWJzcGFjZUZvckltcGwoSlNDOjpWTSYgdm0pOwogICAgIHN0
YXRpYyB2b2lkIGFuYWx5emVIZWFwKEpTQ2VsbCosIEpTQzo6SGVhcEFuYWx5emVyJik7CiBwcm90
ZWN0ZWQ6Ci0gICAgSlNUZXN0RXhjZXB0aW9uKEpTQzo6U3RydWN0dXJlKiwgSlNET01HbG9iYWxP
YmplY3QmLCBSZWY8VGVzdEV4Y2VwdGlvbj4mJiwgSlNDOjpCdXR0ZXJmbHkqID0gbnVsbHB0cik7
CisgICAgSlNUZXN0RXhjZXB0aW9uKEpTQzo6U3RydWN0dXJlKiwgSlNET01HbG9iYWxPYmplY3Qm
LCBSZWY8VGVzdEV4Y2VwdGlvbj4mJik7CiAKICAgICB2b2lkIGZpbmlzaENyZWF0aW9uKEpTQzo6
Vk0mKTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNUZXN0R2VuZXJhdGVBZGRPcGFxdWVSb290LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RHZW5lcmF0ZUFkZE9wYXF1ZVJvb3QuY3BwCmlu
ZGV4IDBlNzEzNWJkMTRiZC4uYTNmOTIyZWM1MWUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0R2VuZXJhdGVBZGRPcGFxdWVSb290LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0R2Vu
ZXJhdGVBZGRPcGFxdWVSb290LmNwcApAQCAtMTIzLDggKzEyMyw4IEBAIHZvaWQgSlNUZXN0R2Vu
ZXJhdGVBZGRPcGFxdWVSb290UHJvdG90eXBlOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0pCiAKIGNv
bnN0IENsYXNzSW5mbyBKU1Rlc3RHZW5lcmF0ZUFkZE9wYXF1ZVJvb3Q6OnNfaW5mbyA9IHsgIlRl
c3RHZW5lcmF0ZUFkZE9wYXF1ZVJvb3QiX3MsICZCYXNlOjpzX2luZm8sIG51bGxwdHIsIG51bGxw
dHIsIENSRUFURV9NRVRIT0RfVEFCTEUoSlNUZXN0R2VuZXJhdGVBZGRPcGFxdWVSb290KSB9Owog
Ci1KU1Rlc3RHZW5lcmF0ZUFkZE9wYXF1ZVJvb3Q6OkpTVGVzdEdlbmVyYXRlQWRkT3BhcXVlUm9v
dChTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgSlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCwg
UmVmPFRlc3RHZW5lcmF0ZUFkZE9wYXF1ZVJvb3Q+JiYgaW1wbCwgSlNDOjpCdXR0ZXJmbHkqIGJ1
dHRlcmZseSkKLSAgICA6IEpTRE9NV3JhcHBlcjxUZXN0R2VuZXJhdGVBZGRPcGFxdWVSb290Pihz
dHJ1Y3R1cmUsIGdsb2JhbE9iamVjdCwgV1RGTW92ZShpbXBsKSwgYnV0dGVyZmx5KQorSlNUZXN0
R2VuZXJhdGVBZGRPcGFxdWVSb290OjpKU1Rlc3RHZW5lcmF0ZUFkZE9wYXF1ZVJvb3QoU3RydWN0
dXJlKiBzdHJ1Y3R1cmUsIEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QsIFJlZjxUZXN0
R2VuZXJhdGVBZGRPcGFxdWVSb290PiYmIGltcGwpCisgICAgOiBKU0RPTVdyYXBwZXI8VGVzdEdl
bmVyYXRlQWRkT3BhcXVlUm9vdD4oc3RydWN0dXJlLCBnbG9iYWxPYmplY3QsIFdURk1vdmUoaW1w
bCkpCiB7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3RHZW5lcmF0ZUFkZE9wYXF1ZVJvb3QuaCBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RHZW5lcmF0ZUFkZE9wYXF1ZVJvb3QuaAppbmRl
eCBhNWIyMDAzNjBjYWUuLmU0NTU5YmI4NTEwNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEdlbmVyYXRlQWRkT3BhcXVlUm9vdC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RHZW5lcmF0
ZUFkZE9wYXF1ZVJvb3QuaApAQCAtNjAsNyArNjAsNyBAQCBwdWJsaWM6CiAKICAgICBzdGF0aWMg
dm9pZCBhbmFseXplSGVhcChKU0NlbGwqLCBKU0M6OkhlYXBBbmFseXplciYpOwogcHJvdGVjdGVk
OgotICAgIEpTVGVzdEdlbmVyYXRlQWRkT3BhcXVlUm9vdChKU0M6OlN0cnVjdHVyZSosIEpTRE9N
R2xvYmFsT2JqZWN0JiwgUmVmPFRlc3RHZW5lcmF0ZUFkZE9wYXF1ZVJvb3Q+JiYsIEpTQzo6QnV0
dGVyZmx5KiA9IG51bGxwdHIpOworICAgIEpTVGVzdEdlbmVyYXRlQWRkT3BhcXVlUm9vdChKU0M6
OlN0cnVjdHVyZSosIEpTRE9NR2xvYmFsT2JqZWN0JiwgUmVmPFRlc3RHZW5lcmF0ZUFkZE9wYXF1
ZVJvb3Q+JiYpOwogCiAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihKU0M6OlZNJik7CiB9OwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEdl
bmVyYXRlSXNSZWFjaGFibGUuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdEdlbmVyYXRlSXNSZWFjaGFibGUuY3BwCmluZGV4IDJmODJhMmRhZmE1Ny4u
NjMyNTQwNGEwZjdkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0R2VuZXJhdGVJc1JlYWNoYWJsZS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEdlbmVyYXRlSXNSZWFjaGFibGUuY3Bw
CkBAIC0xMzMsOCArMTMzLDggQEAgdm9pZCBKU1Rlc3RHZW5lcmF0ZUlzUmVhY2hhYmxlUHJvdG90
eXBlOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0pCiAKIGNvbnN0IENsYXNzSW5mbyBKU1Rlc3RHZW5l
cmF0ZUlzUmVhY2hhYmxlOjpzX2luZm8gPSB7ICJUZXN0R2VuZXJhdGVJc1JlYWNoYWJsZSJfcywg
JkJhc2U6OnNfaW5mbywgbnVsbHB0ciwgbnVsbHB0ciwgQ1JFQVRFX01FVEhPRF9UQUJMRShKU1Rl
c3RHZW5lcmF0ZUlzUmVhY2hhYmxlKSB9OwogCi1KU1Rlc3RHZW5lcmF0ZUlzUmVhY2hhYmxlOjpK
U1Rlc3RHZW5lcmF0ZUlzUmVhY2hhYmxlKFN0cnVjdHVyZSogc3RydWN0dXJlLCBKU0RPTUdsb2Jh
bE9iamVjdCYgZ2xvYmFsT2JqZWN0LCBSZWY8VGVzdEdlbmVyYXRlSXNSZWFjaGFibGU+JiYgaW1w
bCwgSlNDOjpCdXR0ZXJmbHkqIGJ1dHRlcmZseSkKLSAgICA6IEpTRE9NV3JhcHBlcjxUZXN0R2Vu
ZXJhdGVJc1JlYWNoYWJsZT4oc3RydWN0dXJlLCBnbG9iYWxPYmplY3QsIFdURk1vdmUoaW1wbCks
IGJ1dHRlcmZseSkKK0pTVGVzdEdlbmVyYXRlSXNSZWFjaGFibGU6OkpTVGVzdEdlbmVyYXRlSXNS
ZWFjaGFibGUoU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxP
YmplY3QsIFJlZjxUZXN0R2VuZXJhdGVJc1JlYWNoYWJsZT4mJiBpbXBsKQorICAgIDogSlNET01X
cmFwcGVyPFRlc3RHZW5lcmF0ZUlzUmVhY2hhYmxlPihzdHJ1Y3R1cmUsIGdsb2JhbE9iamVjdCwg
V1RGTW92ZShpbXBsKSkKIHsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEdlbmVyYXRlSXNSZWFjaGFibGUuaCBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RHZW5lcmF0ZUlzUmVhY2hhYmxl
LmgKaW5kZXggMGJkNDVhYzU4M2Q5Li5jMWY3OTA5MWRjNzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RHZW5lcmF0ZUlzUmVhY2hhYmxl
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEdl
bmVyYXRlSXNSZWFjaGFibGUuaApAQCAtNTgsNyArNTgsNyBAQCBwdWJsaWM6CiAgICAgc3RhdGlj
IEpTQzo6R0NDbGllbnQ6Oklzb1N1YnNwYWNlKiBzdWJzcGFjZUZvckltcGwoSlNDOjpWTSYgdm0p
OwogICAgIHN0YXRpYyB2b2lkIGFuYWx5emVIZWFwKEpTQ2VsbCosIEpTQzo6SGVhcEFuYWx5emVy
Jik7CiBwcm90ZWN0ZWQ6Ci0gICAgSlNUZXN0R2VuZXJhdGVJc1JlYWNoYWJsZShKU0M6OlN0cnVj
dHVyZSosIEpTRE9NR2xvYmFsT2JqZWN0JiwgUmVmPFRlc3RHZW5lcmF0ZUlzUmVhY2hhYmxlPiYm
LCBKU0M6OkJ1dHRlcmZseSogPSBudWxscHRyKTsKKyAgICBKU1Rlc3RHZW5lcmF0ZUlzUmVhY2hh
YmxlKEpTQzo6U3RydWN0dXJlKiwgSlNET01HbG9iYWxPYmplY3QmLCBSZWY8VGVzdEdlbmVyYXRl
SXNSZWFjaGFibGU+JiYpOwogCiAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihKU0M6OlZNJik7CiB9
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdEdsb2JhbE9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNUZXN0R2xvYmFsT2JqZWN0LmNwcAppbmRleCA3N2FlZmM0NDdjMWYuLjNmMmY3OWZk
YmRmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdEdsb2JhbE9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdEdsb2JhbE9iamVjdC5jcHAKQEAgLTY2Myw4ICs2NjMsOCBAQCB2
b2lkIEpTVGVzdEdsb2JhbE9iamVjdFByb3RvdHlwZTo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtKQog
CiBjb25zdCBDbGFzc0luZm8gSlNUZXN0R2xvYmFsT2JqZWN0OjpzX2luZm8gPSB7ICJUZXN0R2xv
YmFsT2JqZWN0Il9zLCAmQmFzZTo6c19pbmZvLCAmSlNUZXN0R2xvYmFsT2JqZWN0VGFibGUsIG51
bGxwdHIsIENSRUFURV9NRVRIT0RfVEFCTEUoSlNUZXN0R2xvYmFsT2JqZWN0KSB9OwogCi1KU1Rl
c3RHbG9iYWxPYmplY3Q6OkpTVGVzdEdsb2JhbE9iamVjdChTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwg
SlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCwgUmVmPFRlc3RHbG9iYWxPYmplY3Q+JiYg
aW1wbCwgSlNDOjpCdXR0ZXJmbHkqIGJ1dHRlcmZseSkKLSAgICA6IEpTRE9NV3JhcHBlcjxUZXN0
R2xvYmFsT2JqZWN0PihzdHJ1Y3R1cmUsIGdsb2JhbE9iamVjdCwgV1RGTW92ZShpbXBsKSwgYnV0
dGVyZmx5KQorSlNUZXN0R2xvYmFsT2JqZWN0OjpKU1Rlc3RHbG9iYWxPYmplY3QoU3RydWN0dXJl
KiBzdHJ1Y3R1cmUsIEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QsIFJlZjxUZXN0R2xv
YmFsT2JqZWN0PiYmIGltcGwpCisgICAgOiBKU0RPTVdyYXBwZXI8VGVzdEdsb2JhbE9iamVjdD4o
c3RydWN0dXJlLCBnbG9iYWxPYmplY3QsIFdURk1vdmUoaW1wbCkpCiB7CiB9CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RHbG9iYWxP
YmplY3QuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RH
bG9iYWxPYmplY3QuaAppbmRleCA1ZDVhNzM2ZWVhMTguLjliMDhjMDkxZDE1MCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEdsb2JhbE9i
amVjdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rl
c3RHbG9iYWxPYmplY3QuaApAQCAtNjAsNyArNjAsNyBAQCBwdWJsaWM6CiBwdWJsaWM6CiAgICAg
c3RhdGljIGNvbnN0ZXhwciB1bnNpZ25lZCBTdHJ1Y3R1cmVGbGFncyA9IEJhc2U6OlN0cnVjdHVy
ZUZsYWdzIHwgSlNDOjpIYXNTdGF0aWNQcm9wZXJ0eVRhYmxlOwogcHJvdGVjdGVkOgotICAgIEpT
VGVzdEdsb2JhbE9iamVjdChKU0M6OlN0cnVjdHVyZSosIEpTRE9NR2xvYmFsT2JqZWN0JiwgUmVm
PFRlc3RHbG9iYWxPYmplY3Q+JiYsIEpTQzo6QnV0dGVyZmx5KiA9IG51bGxwdHIpOworICAgIEpT
VGVzdEdsb2JhbE9iamVjdChKU0M6OlN0cnVjdHVyZSosIEpTRE9NR2xvYmFsT2JqZWN0JiwgUmVm
PFRlc3RHbG9iYWxPYmplY3Q+JiYpOwogCiAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihKU0M6OlZN
Jik7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdEluZGV4ZWRTZXR0ZXJOb0lkZW50aWZpZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEluZGV4ZWRTZXR0ZXJOb0lkZW50aWZpZXIu
Y3BwCmluZGV4IDk4YjhiOGQxMGEwYS4uZTk5OTY3YTcxYTcxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW5kZXhlZFNldHRlck5vSWRl
bnRpZmllci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdEluZGV4ZWRTZXR0ZXJOb0lkZW50aWZpZXIuY3BwCkBAIC0xMjAsOCArMTIwLDggQEAg
dm9pZCBKU1Rlc3RJbmRleGVkU2V0dGVyTm9JZGVudGlmaWVyUHJvdG90eXBlOjpmaW5pc2hDcmVh
dGlvbihWTSYgdm0pCiAKIGNvbnN0IENsYXNzSW5mbyBKU1Rlc3RJbmRleGVkU2V0dGVyTm9JZGVu
dGlmaWVyOjpzX2luZm8gPSB7ICJUZXN0SW5kZXhlZFNldHRlck5vSWRlbnRpZmllciJfcywgJkJh
c2U6OnNfaW5mbywgbnVsbHB0ciwgbnVsbHB0ciwgQ1JFQVRFX01FVEhPRF9UQUJMRShKU1Rlc3RJ
bmRleGVkU2V0dGVyTm9JZGVudGlmaWVyKSB9OwogCi1KU1Rlc3RJbmRleGVkU2V0dGVyTm9JZGVu
dGlmaWVyOjpKU1Rlc3RJbmRleGVkU2V0dGVyTm9JZGVudGlmaWVyKFN0cnVjdHVyZSogc3RydWN0
dXJlLCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0LCBSZWY8VGVzdEluZGV4ZWRTZXR0
ZXJOb0lkZW50aWZpZXI+JiYgaW1wbCwgSlNDOjpCdXR0ZXJmbHkqIGJ1dHRlcmZseSkKLSAgICA6
IEpTRE9NV3JhcHBlcjxUZXN0SW5kZXhlZFNldHRlck5vSWRlbnRpZmllcj4oc3RydWN0dXJlLCBn
bG9iYWxPYmplY3QsIFdURk1vdmUoaW1wbCksIGJ1dHRlcmZseSkKK0pTVGVzdEluZGV4ZWRTZXR0
ZXJOb0lkZW50aWZpZXI6OkpTVGVzdEluZGV4ZWRTZXR0ZXJOb0lkZW50aWZpZXIoU3RydWN0dXJl
KiBzdHJ1Y3R1cmUsIEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QsIFJlZjxUZXN0SW5k
ZXhlZFNldHRlck5vSWRlbnRpZmllcj4mJiBpbXBsKQorICAgIDogSlNET01XcmFwcGVyPFRlc3RJ
bmRleGVkU2V0dGVyTm9JZGVudGlmaWVyPihzdHJ1Y3R1cmUsIGdsb2JhbE9iamVjdCwgV1RGTW92
ZShpbXBsKSkKIHsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdEluZGV4ZWRTZXR0ZXJOb0lkZW50aWZpZXIuaCBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJbmRleGVkU2V0dGVyTm9JZGVu
dGlmaWVyLmgKaW5kZXggNDIzMjNiZGZiZWFiLi5jNDZjM2VkNzg1YmYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJbmRleGVkU2V0dGVy
Tm9JZGVudGlmaWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdEluZGV4ZWRTZXR0ZXJOb0lkZW50aWZpZXIuaApAQCAtNjYsNyArNjYsNyBAQCBw
dWJsaWM6CiBwdWJsaWM6CiAgICAgc3RhdGljIGNvbnN0ZXhwciB1bnNpZ25lZCBTdHJ1Y3R1cmVG
bGFncyA9IEJhc2U6OlN0cnVjdHVyZUZsYWdzIHwgSlNDOjpJbnRlcmNlcHRzR2V0T3duUHJvcGVy
dHlTbG90QnlJbmRleEV2ZW5XaGVuTGVuZ3RoSXNOb3RaZXJvIHwgSlNDOjpPdmVycmlkZXNHZXRP
d25Qcm9wZXJ0eU5hbWVzIHwgSlNDOjpPdmVycmlkZXNHZXRPd25Qcm9wZXJ0eVNsb3QgfCBKU0M6
Ok92ZXJyaWRlc1B1dDsKIHByb3RlY3RlZDoKLSAgICBKU1Rlc3RJbmRleGVkU2V0dGVyTm9JZGVu
dGlmaWVyKEpTQzo6U3RydWN0dXJlKiwgSlNET01HbG9iYWxPYmplY3QmLCBSZWY8VGVzdEluZGV4
ZWRTZXR0ZXJOb0lkZW50aWZpZXI+JiYsIEpTQzo6QnV0dGVyZmx5KiA9IG51bGxwdHIpOworICAg
IEpTVGVzdEluZGV4ZWRTZXR0ZXJOb0lkZW50aWZpZXIoSlNDOjpTdHJ1Y3R1cmUqLCBKU0RPTUds
b2JhbE9iamVjdCYsIFJlZjxUZXN0SW5kZXhlZFNldHRlck5vSWRlbnRpZmllcj4mJik7CiAKICAg
ICB2b2lkIGZpbmlzaENyZWF0aW9uKEpTQzo6Vk0mKTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW5kZXhlZFNldHRlclRocm93
aW5nRXhjZXB0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3RJbmRleGVkU2V0dGVyVGhyb3dpbmdFeGNlcHRpb24uY3BwCmluZGV4IGY1MDE4NjAz
MTIyNi4uYjg2OWFkZmYzMGRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW5kZXhlZFNldHRlclRocm93aW5nRXhjZXB0aW9uLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW5kZXhl
ZFNldHRlclRocm93aW5nRXhjZXB0aW9uLmNwcApAQCAtMTIwLDggKzEyMCw4IEBAIHZvaWQgSlNU
ZXN0SW5kZXhlZFNldHRlclRocm93aW5nRXhjZXB0aW9uUHJvdG90eXBlOjpmaW5pc2hDcmVhdGlv
bihWTSYgdm0pCiAKIGNvbnN0IENsYXNzSW5mbyBKU1Rlc3RJbmRleGVkU2V0dGVyVGhyb3dpbmdF
eGNlcHRpb246OnNfaW5mbyA9IHsgIlRlc3RJbmRleGVkU2V0dGVyVGhyb3dpbmdFeGNlcHRpb24i
X3MsICZCYXNlOjpzX2luZm8sIG51bGxwdHIsIG51bGxwdHIsIENSRUFURV9NRVRIT0RfVEFCTEUo
SlNUZXN0SW5kZXhlZFNldHRlclRocm93aW5nRXhjZXB0aW9uKSB9OwogCi1KU1Rlc3RJbmRleGVk
U2V0dGVyVGhyb3dpbmdFeGNlcHRpb246OkpTVGVzdEluZGV4ZWRTZXR0ZXJUaHJvd2luZ0V4Y2Vw
dGlvbihTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgSlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVj
dCwgUmVmPFRlc3RJbmRleGVkU2V0dGVyVGhyb3dpbmdFeGNlcHRpb24+JiYgaW1wbCwgSlNDOjpC
dXR0ZXJmbHkqIGJ1dHRlcmZseSkKLSAgICA6IEpTRE9NV3JhcHBlcjxUZXN0SW5kZXhlZFNldHRl
clRocm93aW5nRXhjZXB0aW9uPihzdHJ1Y3R1cmUsIGdsb2JhbE9iamVjdCwgV1RGTW92ZShpbXBs
KSwgYnV0dGVyZmx5KQorSlNUZXN0SW5kZXhlZFNldHRlclRocm93aW5nRXhjZXB0aW9uOjpKU1Rl
c3RJbmRleGVkU2V0dGVyVGhyb3dpbmdFeGNlcHRpb24oU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEpT
RE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QsIFJlZjxUZXN0SW5kZXhlZFNldHRlclRocm93
aW5nRXhjZXB0aW9uPiYmIGltcGwpCisgICAgOiBKU0RPTVdyYXBwZXI8VGVzdEluZGV4ZWRTZXR0
ZXJUaHJvd2luZ0V4Y2VwdGlvbj4oc3RydWN0dXJlLCBnbG9iYWxPYmplY3QsIFdURk1vdmUoaW1w
bCkpCiB7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3RJbmRleGVkU2V0dGVyVGhyb3dpbmdFeGNlcHRpb24uaCBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJbmRleGVkU2V0dGVyVGhyb3dp
bmdFeGNlcHRpb24uaAppbmRleCA5NTE3N2MwYTA2OGMuLmJlZDA0ODA3YmJiNyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEluZGV4ZWRT
ZXR0ZXJUaHJvd2luZ0V4Y2VwdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3RJbmRleGVkU2V0dGVyVGhyb3dpbmdFeGNlcHRpb24uaApAQCAt
NjYsNyArNjYsNyBAQCBwdWJsaWM6CiBwdWJsaWM6CiAgICAgc3RhdGljIGNvbnN0ZXhwciB1bnNp
Z25lZCBTdHJ1Y3R1cmVGbGFncyA9IEJhc2U6OlN0cnVjdHVyZUZsYWdzIHwgSlNDOjpJbnRlcmNl
cHRzR2V0T3duUHJvcGVydHlTbG90QnlJbmRleEV2ZW5XaGVuTGVuZ3RoSXNOb3RaZXJvIHwgSlND
OjpPdmVycmlkZXNHZXRPd25Qcm9wZXJ0eU5hbWVzIHwgSlNDOjpPdmVycmlkZXNHZXRPd25Qcm9w
ZXJ0eVNsb3QgfCBKU0M6Ok92ZXJyaWRlc1B1dDsKIHByb3RlY3RlZDoKLSAgICBKU1Rlc3RJbmRl
eGVkU2V0dGVyVGhyb3dpbmdFeGNlcHRpb24oSlNDOjpTdHJ1Y3R1cmUqLCBKU0RPTUdsb2JhbE9i
amVjdCYsIFJlZjxUZXN0SW5kZXhlZFNldHRlclRocm93aW5nRXhjZXB0aW9uPiYmLCBKU0M6OkJ1
dHRlcmZseSogPSBudWxscHRyKTsKKyAgICBKU1Rlc3RJbmRleGVkU2V0dGVyVGhyb3dpbmdFeGNl
cHRpb24oSlNDOjpTdHJ1Y3R1cmUqLCBKU0RPTUdsb2JhbE9iamVjdCYsIFJlZjxUZXN0SW5kZXhl
ZFNldHRlclRocm93aW5nRXhjZXB0aW9uPiYmKTsKIAogICAgIHZvaWQgZmluaXNoQ3JlYXRpb24o
SlNDOjpWTSYpOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RJbmRleGVkU2V0dGVyV2l0aElkZW50aWZpZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEluZGV4ZWRTZXR0ZXJXaXRo
SWRlbnRpZmllci5jcHAKaW5kZXggYTJmMzQ2NTY5NTNkLi42OTBlZWFkZWMxODMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJbmRleGVk
U2V0dGVyV2l0aElkZW50aWZpZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3RJbmRleGVkU2V0dGVyV2l0aElkZW50aWZpZXIuY3BwCkBAIC0x
MjksOCArMTI5LDggQEAgdm9pZCBKU1Rlc3RJbmRleGVkU2V0dGVyV2l0aElkZW50aWZpZXJQcm90
b3R5cGU6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSkKIAogY29uc3QgQ2xhc3NJbmZvIEpTVGVzdElu
ZGV4ZWRTZXR0ZXJXaXRoSWRlbnRpZmllcjo6c19pbmZvID0geyAiVGVzdEluZGV4ZWRTZXR0ZXJX
aXRoSWRlbnRpZmllciJfcywgJkJhc2U6OnNfaW5mbywgbnVsbHB0ciwgbnVsbHB0ciwgQ1JFQVRF
X01FVEhPRF9UQUJMRShKU1Rlc3RJbmRleGVkU2V0dGVyV2l0aElkZW50aWZpZXIpIH07CiAKLUpT
VGVzdEluZGV4ZWRTZXR0ZXJXaXRoSWRlbnRpZmllcjo6SlNUZXN0SW5kZXhlZFNldHRlcldpdGhJ
ZGVudGlmaWVyKFN0cnVjdHVyZSogc3RydWN0dXJlLCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFs
T2JqZWN0LCBSZWY8VGVzdEluZGV4ZWRTZXR0ZXJXaXRoSWRlbnRpZmllcj4mJiBpbXBsLCBKU0M6
OkJ1dHRlcmZseSogYnV0dGVyZmx5KQotICAgIDogSlNET01XcmFwcGVyPFRlc3RJbmRleGVkU2V0
dGVyV2l0aElkZW50aWZpZXI+KHN0cnVjdHVyZSwgZ2xvYmFsT2JqZWN0LCBXVEZNb3ZlKGltcGwp
LCBidXR0ZXJmbHkpCitKU1Rlc3RJbmRleGVkU2V0dGVyV2l0aElkZW50aWZpZXI6OkpTVGVzdElu
ZGV4ZWRTZXR0ZXJXaXRoSWRlbnRpZmllcihTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgSlNET01HbG9i
YWxPYmplY3QmIGdsb2JhbE9iamVjdCwgUmVmPFRlc3RJbmRleGVkU2V0dGVyV2l0aElkZW50aWZp
ZXI+JiYgaW1wbCkKKyAgICA6IEpTRE9NV3JhcHBlcjxUZXN0SW5kZXhlZFNldHRlcldpdGhJZGVu
dGlmaWVyPihzdHJ1Y3R1cmUsIGdsb2JhbE9iamVjdCwgV1RGTW92ZShpbXBsKSkKIHsKIH0KIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVz
dEluZGV4ZWRTZXR0ZXJXaXRoSWRlbnRpZmllci5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdEluZGV4ZWRTZXR0ZXJXaXRoSWRlbnRpZmllci5oCmluZGV4
IDM2ZGQ5MjE1NjExNS4uMGNiZWMyYjRjNTEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW5kZXhlZFNldHRlcldpdGhJZGVudGlmaWVy
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdElu
ZGV4ZWRTZXR0ZXJXaXRoSWRlbnRpZmllci5oCkBAIC02Niw3ICs2Niw3IEBAIHB1YmxpYzoKIHB1
YmxpYzoKICAgICBzdGF0aWMgY29uc3RleHByIHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gQmFz
ZTo6U3RydWN0dXJlRmxhZ3MgfCBKU0M6OkludGVyY2VwdHNHZXRPd25Qcm9wZXJ0eVNsb3RCeUlu
ZGV4RXZlbldoZW5MZW5ndGhJc05vdFplcm8gfCBKU0M6Ok92ZXJyaWRlc0dldE93blByb3BlcnR5
TmFtZXMgfCBKU0M6Ok92ZXJyaWRlc0dldE93blByb3BlcnR5U2xvdCB8IEpTQzo6T3ZlcnJpZGVz
UHV0OwogcHJvdGVjdGVkOgotICAgIEpTVGVzdEluZGV4ZWRTZXR0ZXJXaXRoSWRlbnRpZmllcihK
U0M6OlN0cnVjdHVyZSosIEpTRE9NR2xvYmFsT2JqZWN0JiwgUmVmPFRlc3RJbmRleGVkU2V0dGVy
V2l0aElkZW50aWZpZXI+JiYsIEpTQzo6QnV0dGVyZmx5KiA9IG51bGxwdHIpOworICAgIEpTVGVz
dEluZGV4ZWRTZXR0ZXJXaXRoSWRlbnRpZmllcihKU0M6OlN0cnVjdHVyZSosIEpTRE9NR2xvYmFs
T2JqZWN0JiwgUmVmPFRlc3RJbmRleGVkU2V0dGVyV2l0aElkZW50aWZpZXI+JiYpOwogCiAgICAg
dm9pZCBmaW5pc2hDcmVhdGlvbihKU0M6OlZNJik7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEludGVyZmFjZS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW50ZXJmYWNlLmNwcApp
bmRleCA2OWJiNGUwOTVkODcuLjk4M2VmNzBkMzhhMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEludGVyZmFjZS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEludGVyZmFjZS5jcHAK
QEAgLTQ4MSw4ICs0ODEsOCBAQCB2b2lkIEpTVGVzdEludGVyZmFjZVByb3RvdHlwZTo6ZmluaXNo
Q3JlYXRpb24oVk0mIHZtKQogCiBjb25zdCBDbGFzc0luZm8gSlNUZXN0SW50ZXJmYWNlOjpzX2lu
Zm8gPSB7ICJUZXN0SW50ZXJmYWNlIl9zLCAmQmFzZTo6c19pbmZvLCBudWxscHRyLCBudWxscHRy
LCBDUkVBVEVfTUVUSE9EX1RBQkxFKEpTVGVzdEludGVyZmFjZSkgfTsKIAotSlNUZXN0SW50ZXJm
YWNlOjpKU1Rlc3RJbnRlcmZhY2UoU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEpTRE9NR2xvYmFsT2Jq
ZWN0JiBnbG9iYWxPYmplY3QsIFJlZjxUZXN0SW50ZXJmYWNlPiYmIGltcGwsIEpTQzo6QnV0dGVy
Zmx5KiBidXR0ZXJmbHkpCi0gICAgOiBKU0RPTVdyYXBwZXI8VGVzdEludGVyZmFjZT4oc3RydWN0
dXJlLCBnbG9iYWxPYmplY3QsIFdURk1vdmUoaW1wbCksIGJ1dHRlcmZseSkKK0pTVGVzdEludGVy
ZmFjZTo6SlNUZXN0SW50ZXJmYWNlKFN0cnVjdHVyZSogc3RydWN0dXJlLCBKU0RPTUdsb2JhbE9i
amVjdCYgZ2xvYmFsT2JqZWN0LCBSZWY8VGVzdEludGVyZmFjZT4mJiBpbXBsKQorICAgIDogSlNE
T01XcmFwcGVyPFRlc3RJbnRlcmZhY2U+KHN0cnVjdHVyZSwgZ2xvYmFsT2JqZWN0LCBXVEZNb3Zl
KGltcGwpKQogewogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0SW50ZXJmYWNlLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW50ZXJmYWNlLmgKaW5kZXggNjkwMzU4MWRkNTQwLi43Njlm
MmRlOTI0MWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU1Rlc3RJbnRlcmZhY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0SW50ZXJmYWNlLmgKQEAgLTg2LDcgKzg2LDcgQEAgcHVibGljOgog
cHVibGljOgogICAgIHN0YXRpYyBjb25zdGV4cHIgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3MgPSBC
YXNlOjpTdHJ1Y3R1cmVGbGFncyB8IEpTQzo6T3ZlcnJpZGVzUHV0OwogcHJvdGVjdGVkOgotICAg
IEpTVGVzdEludGVyZmFjZShKU0M6OlN0cnVjdHVyZSosIEpTRE9NR2xvYmFsT2JqZWN0JiwgUmVm
PFRlc3RJbnRlcmZhY2U+JiYsIEpTQzo6QnV0dGVyZmx5KiA9IG51bGxwdHIpOworICAgIEpTVGVz
dEludGVyZmFjZShKU0M6OlN0cnVjdHVyZSosIEpTRE9NR2xvYmFsT2JqZWN0JiwgUmVmPFRlc3RJ
bnRlcmZhY2U+JiYpOwogCiAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihKU0M6OlZNJik7CiB9Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVz
dEludGVyZmFjZUxlYWRpbmdVbmRlcnNjb3JlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJbnRlcmZhY2VMZWFkaW5nVW5kZXJzY29yZS5jcHAKaW5k
ZXggM2QxNTQ5NDdlMTEyLi4yYmMxY2VlYWU5YmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJbnRlcmZhY2VMZWFkaW5nVW5kZXJzY29y
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVz
dEludGVyZmFjZUxlYWRpbmdVbmRlcnNjb3JlLmNwcApAQCAtMTIyLDggKzEyMiw4IEBAIHZvaWQg
SlNUZXN0SW50ZXJmYWNlTGVhZGluZ1VuZGVyc2NvcmVQcm90b3R5cGU6OmZpbmlzaENyZWF0aW9u
KFZNJiB2bSkKIAogY29uc3QgQ2xhc3NJbmZvIEpTVGVzdEludGVyZmFjZUxlYWRpbmdVbmRlcnNj
b3JlOjpzX2luZm8gPSB7ICJUZXN0SW50ZXJmYWNlTGVhZGluZ1VuZGVyc2NvcmUiX3MsICZCYXNl
OjpzX2luZm8sIG51bGxwdHIsIG51bGxwdHIsIENSRUFURV9NRVRIT0RfVEFCTEUoSlNUZXN0SW50
ZXJmYWNlTGVhZGluZ1VuZGVyc2NvcmUpIH07CiAKLUpTVGVzdEludGVyZmFjZUxlYWRpbmdVbmRl
cnNjb3JlOjpKU1Rlc3RJbnRlcmZhY2VMZWFkaW5nVW5kZXJzY29yZShTdHJ1Y3R1cmUqIHN0cnVj
dHVyZSwgSlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCwgUmVmPFRlc3RJbnRlcmZhY2VM
ZWFkaW5nVW5kZXJzY29yZT4mJiBpbXBsLCBKU0M6OkJ1dHRlcmZseSogYnV0dGVyZmx5KQotICAg
IDogSlNET01XcmFwcGVyPFRlc3RJbnRlcmZhY2VMZWFkaW5nVW5kZXJzY29yZT4oc3RydWN0dXJl
LCBnbG9iYWxPYmplY3QsIFdURk1vdmUoaW1wbCksIGJ1dHRlcmZseSkKK0pTVGVzdEludGVyZmFj
ZUxlYWRpbmdVbmRlcnNjb3JlOjpKU1Rlc3RJbnRlcmZhY2VMZWFkaW5nVW5kZXJzY29yZShTdHJ1
Y3R1cmUqIHN0cnVjdHVyZSwgSlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCwgUmVmPFRl
c3RJbnRlcmZhY2VMZWFkaW5nVW5kZXJzY29yZT4mJiBpbXBsKQorICAgIDogSlNET01XcmFwcGVy
PFRlc3RJbnRlcmZhY2VMZWFkaW5nVW5kZXJzY29yZT4oc3RydWN0dXJlLCBnbG9iYWxPYmplY3Qs
IFdURk1vdmUoaW1wbCkpCiB7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJbnRlcmZhY2VMZWFkaW5nVW5kZXJzY29yZS5oIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEludGVyZmFjZUxl
YWRpbmdVbmRlcnNjb3JlLmgKaW5kZXggZDljNjkwNTEwMGIwLi44NjQ4Y2VhNTUyMWUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJbnRl
cmZhY2VMZWFkaW5nVW5kZXJzY29yZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3RJbnRlcmZhY2VMZWFkaW5nVW5kZXJzY29yZS5oCkBAIC01OCw3
ICs1OCw3IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgSlNDOjpHQ0NsaWVudDo6SXNvU3Vic3BhY2Uq
IHN1YnNwYWNlRm9ySW1wbChKU0M6OlZNJiB2bSk7CiAgICAgc3RhdGljIHZvaWQgYW5hbHl6ZUhl
YXAoSlNDZWxsKiwgSlNDOjpIZWFwQW5hbHl6ZXImKTsKIHByb3RlY3RlZDoKLSAgICBKU1Rlc3RJ
bnRlcmZhY2VMZWFkaW5nVW5kZXJzY29yZShKU0M6OlN0cnVjdHVyZSosIEpTRE9NR2xvYmFsT2Jq
ZWN0JiwgUmVmPFRlc3RJbnRlcmZhY2VMZWFkaW5nVW5kZXJzY29yZT4mJiwgSlNDOjpCdXR0ZXJm
bHkqID0gbnVsbHB0cik7CisgICAgSlNUZXN0SW50ZXJmYWNlTGVhZGluZ1VuZGVyc2NvcmUoSlND
OjpTdHJ1Y3R1cmUqLCBKU0RPTUdsb2JhbE9iamVjdCYsIFJlZjxUZXN0SW50ZXJmYWNlTGVhZGlu
Z1VuZGVyc2NvcmU+JiYpOwogCiAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihKU0M6OlZNJik7CiB9
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdEl0ZXJhYmxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3RJdGVyYWJsZS5jcHAKaW5kZXggMzMzZjM4ZWJjZWRmLi5hZDUyOGM5NTY0ZjYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJ
dGVyYWJsZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdEl0ZXJhYmxlLmNwcApAQCAtMTM1LDggKzEzNSw4IEBAIHZvaWQgSlNUZXN0SXRlcmFi
bGVQcm90b3R5cGU6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSkKIAogY29uc3QgQ2xhc3NJbmZvIEpT
VGVzdEl0ZXJhYmxlOjpzX2luZm8gPSB7ICJUZXN0SXRlcmFibGUiX3MsICZCYXNlOjpzX2luZm8s
IG51bGxwdHIsIG51bGxwdHIsIENSRUFURV9NRVRIT0RfVEFCTEUoSlNUZXN0SXRlcmFibGUpIH07
CiAKLUpTVGVzdEl0ZXJhYmxlOjpKU1Rlc3RJdGVyYWJsZShTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwg
SlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCwgUmVmPFRlc3RJdGVyYWJsZT4mJiBpbXBs
LCBKU0M6OkJ1dHRlcmZseSogYnV0dGVyZmx5KQotICAgIDogSlNET01XcmFwcGVyPFRlc3RJdGVy
YWJsZT4oc3RydWN0dXJlLCBnbG9iYWxPYmplY3QsIFdURk1vdmUoaW1wbCksIGJ1dHRlcmZseSkK
K0pTVGVzdEl0ZXJhYmxlOjpKU1Rlc3RJdGVyYWJsZShTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgSlNE
T01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCwgUmVmPFRlc3RJdGVyYWJsZT4mJiBpbXBsKQor
ICAgIDogSlNET01XcmFwcGVyPFRlc3RJdGVyYWJsZT4oc3RydWN0dXJlLCBnbG9iYWxPYmplY3Qs
IFdURk1vdmUoaW1wbCkpCiB7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJdGVyYWJsZS5oIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEl0ZXJhYmxlLmgKaW5kZXggZWM5NDg4Y2NhN2Qy
Li4xNjM5MTk3ZDZiYTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RJdGVyYWJsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJdGVyYWJsZS5oCkBAIC01OCw3ICs1OCw3IEBAIHB1Ymxp
YzoKICAgICBzdGF0aWMgSlNDOjpHQ0NsaWVudDo6SXNvU3Vic3BhY2UqIHN1YnNwYWNlRm9ySW1w
bChKU0M6OlZNJiB2bSk7CiAgICAgc3RhdGljIHZvaWQgYW5hbHl6ZUhlYXAoSlNDZWxsKiwgSlND
OjpIZWFwQW5hbHl6ZXImKTsKIHByb3RlY3RlZDoKLSAgICBKU1Rlc3RJdGVyYWJsZShKU0M6OlN0
cnVjdHVyZSosIEpTRE9NR2xvYmFsT2JqZWN0JiwgUmVmPFRlc3RJdGVyYWJsZT4mJiwgSlNDOjpC
dXR0ZXJmbHkqID0gbnVsbHB0cik7CisgICAgSlNUZXN0SXRlcmFibGUoSlNDOjpTdHJ1Y3R1cmUq
LCBKU0RPTUdsb2JhbE9iamVjdCYsIFJlZjxUZXN0SXRlcmFibGU+JiYpOwogCiAgICAgdm9pZCBm
aW5pc2hDcmVhdGlvbihKU0M6OlZNJik7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdExlZ2FjeUZhY3RvcnlGdW5jdGlvbi5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TGVnYWN5RmFj
dG9yeUZ1bmN0aW9uLmNwcAppbmRleCBiMGYwZGJiNWJkZDcuLjNlODE5ODg3YWVlYiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdExlZ2Fj
eUZhY3RvcnlGdW5jdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTVGVzdExlZ2FjeUZhY3RvcnlGdW5jdGlvbi5jcHAKQEAgLTE3NSw4ICsxNzUs
OCBAQCB2b2lkIEpTVGVzdExlZ2FjeUZhY3RvcnlGdW5jdGlvblByb3RvdHlwZTo6ZmluaXNoQ3Jl
YXRpb24oVk0mIHZtKQogCiBjb25zdCBDbGFzc0luZm8gSlNUZXN0TGVnYWN5RmFjdG9yeUZ1bmN0
aW9uOjpzX2luZm8gPSB7ICJUZXN0TGVnYWN5RmFjdG9yeUZ1bmN0aW9uIl9zLCAmQmFzZTo6c19p
bmZvLCBudWxscHRyLCBudWxscHRyLCBDUkVBVEVfTUVUSE9EX1RBQkxFKEpTVGVzdExlZ2FjeUZh
Y3RvcnlGdW5jdGlvbikgfTsKIAotSlNUZXN0TGVnYWN5RmFjdG9yeUZ1bmN0aW9uOjpKU1Rlc3RM
ZWdhY3lGYWN0b3J5RnVuY3Rpb24oU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEpTRE9NR2xvYmFsT2Jq
ZWN0JiBnbG9iYWxPYmplY3QsIFJlZjxUZXN0TGVnYWN5RmFjdG9yeUZ1bmN0aW9uPiYmIGltcGws
IEpTQzo6QnV0dGVyZmx5KiBidXR0ZXJmbHkpCi0gICAgOiBKU0RPTVdyYXBwZXI8VGVzdExlZ2Fj
eUZhY3RvcnlGdW5jdGlvbj4oc3RydWN0dXJlLCBnbG9iYWxPYmplY3QsIFdURk1vdmUoaW1wbCks
IGJ1dHRlcmZseSkKK0pTVGVzdExlZ2FjeUZhY3RvcnlGdW5jdGlvbjo6SlNUZXN0TGVnYWN5RmFj
dG9yeUZ1bmN0aW9uKFN0cnVjdHVyZSogc3RydWN0dXJlLCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xv
YmFsT2JqZWN0LCBSZWY8VGVzdExlZ2FjeUZhY3RvcnlGdW5jdGlvbj4mJiBpbXBsKQorICAgIDog
SlNET01XcmFwcGVyPFRlc3RMZWdhY3lGYWN0b3J5RnVuY3Rpb24+KHN0cnVjdHVyZSwgZ2xvYmFs
T2JqZWN0LCBXVEZNb3ZlKGltcGwpKQogewogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TGVnYWN5RmFjdG9yeUZ1bmN0aW9uLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TGVnYWN5RmFj
dG9yeUZ1bmN0aW9uLmgKaW5kZXggNjk5NmNlZWE5OWUzLi43ZGFjOGU1ZmUyZmUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RMZWdhY3lG
YWN0b3J5RnVuY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNUZXN0TGVnYWN5RmFjdG9yeUZ1bmN0aW9uLmgKQEAgLTU5LDcgKzU5LDcgQEAgcHVi
bGljOgogICAgIHN0YXRpYyBKU0M6OkdDQ2xpZW50OjpJc29TdWJzcGFjZSogc3Vic3BhY2VGb3JJ
bXBsKEpTQzo6Vk0mIHZtKTsKICAgICBzdGF0aWMgdm9pZCBhbmFseXplSGVhcChKU0NlbGwqLCBK
U0M6OkhlYXBBbmFseXplciYpOwogcHJvdGVjdGVkOgotICAgIEpTVGVzdExlZ2FjeUZhY3RvcnlG
dW5jdGlvbihKU0M6OlN0cnVjdHVyZSosIEpTRE9NR2xvYmFsT2JqZWN0JiwgUmVmPFRlc3RMZWdh
Y3lGYWN0b3J5RnVuY3Rpb24+JiYsIEpTQzo6QnV0dGVyZmx5KiA9IG51bGxwdHIpOworICAgIEpT
VGVzdExlZ2FjeUZhY3RvcnlGdW5jdGlvbihKU0M6OlN0cnVjdHVyZSosIEpTRE9NR2xvYmFsT2Jq
ZWN0JiwgUmVmPFRlc3RMZWdhY3lGYWN0b3J5RnVuY3Rpb24+JiYpOwogCiAgICAgdm9pZCBmaW5p
c2hDcmVhdGlvbihKU0M6OlZNJik7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdExlZ2FjeU5vSW50ZXJmYWNlT2JqZWN0LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RMZWdhY3lOb0lu
dGVyZmFjZU9iamVjdC5jcHAKaW5kZXggMDYxNTMwNGY5MTNhLi44ZDIwYTBlZGQzZTYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RMZWdh
Y3lOb0ludGVyZmFjZU9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdExlZ2FjeU5vSW50ZXJmYWNlT2JqZWN0LmNwcApAQCAtMTI4LDgg
KzEyOCw4IEBAIHZvaWQgSlNUZXN0TGVnYWN5Tm9JbnRlcmZhY2VPYmplY3RQcm90b3R5cGU6OmZp
bmlzaENyZWF0aW9uKFZNJiB2bSkKIAogY29uc3QgQ2xhc3NJbmZvIEpTVGVzdExlZ2FjeU5vSW50
ZXJmYWNlT2JqZWN0OjpzX2luZm8gPSB7ICJUZXN0TGVnYWN5Tm9JbnRlcmZhY2VPYmplY3QiX3Ms
ICZCYXNlOjpzX2luZm8sIG51bGxwdHIsIG51bGxwdHIsIENSRUFURV9NRVRIT0RfVEFCTEUoSlNU
ZXN0TGVnYWN5Tm9JbnRlcmZhY2VPYmplY3QpIH07CiAKLUpTVGVzdExlZ2FjeU5vSW50ZXJmYWNl
T2JqZWN0OjpKU1Rlc3RMZWdhY3lOb0ludGVyZmFjZU9iamVjdChTdHJ1Y3R1cmUqIHN0cnVjdHVy
ZSwgSlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCwgUmVmPFRlc3RMZWdhY3lOb0ludGVy
ZmFjZU9iamVjdD4mJiBpbXBsLCBKU0M6OkJ1dHRlcmZseSogYnV0dGVyZmx5KQotICAgIDogSlNE
T01XcmFwcGVyPFRlc3RMZWdhY3lOb0ludGVyZmFjZU9iamVjdD4oc3RydWN0dXJlLCBnbG9iYWxP
YmplY3QsIFdURk1vdmUoaW1wbCksIGJ1dHRlcmZseSkKK0pTVGVzdExlZ2FjeU5vSW50ZXJmYWNl
T2JqZWN0OjpKU1Rlc3RMZWdhY3lOb0ludGVyZmFjZU9iamVjdChTdHJ1Y3R1cmUqIHN0cnVjdHVy
ZSwgSlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCwgUmVmPFRlc3RMZWdhY3lOb0ludGVy
ZmFjZU9iamVjdD4mJiBpbXBsKQorICAgIDogSlNET01XcmFwcGVyPFRlc3RMZWdhY3lOb0ludGVy
ZmFjZU9iamVjdD4oc3RydWN0dXJlLCBnbG9iYWxPYmplY3QsIFdURk1vdmUoaW1wbCkpCiB7CiB9
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3RMZWdhY3lOb0ludGVyZmFjZU9iamVjdC5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdExlZ2FjeU5vSW50ZXJmYWNlT2JqZWN0LmgKaW5kZXggMWMz
YjE2ODJhYjY5Li4xMjY0Yjk4OGJkZTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RMZWdhY3lOb0ludGVyZmFjZU9iamVjdC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RMZWdhY3lOb0lu
dGVyZmFjZU9iamVjdC5oCkBAIC02Niw3ICs2Niw3IEBAIHB1YmxpYzoKICAgICAvLyBDdXN0b20g
ZnVuY3Rpb25zCiAgICAgSlNDOjpKU1ZhbHVlIGN1c3RvbU9wZXJhdGlvbihKU0M6OkpTR2xvYmFs
T2JqZWN0JiwgSlNDOjpDYWxsRnJhbWUmKTsKIHByb3RlY3RlZDoKLSAgICBKU1Rlc3RMZWdhY3lO
b0ludGVyZmFjZU9iamVjdChKU0M6OlN0cnVjdHVyZSosIEpTRE9NR2xvYmFsT2JqZWN0JiwgUmVm
PFRlc3RMZWdhY3lOb0ludGVyZmFjZU9iamVjdD4mJiwgSlNDOjpCdXR0ZXJmbHkqID0gbnVsbHB0
cik7CisgICAgSlNUZXN0TGVnYWN5Tm9JbnRlcmZhY2VPYmplY3QoSlNDOjpTdHJ1Y3R1cmUqLCBK
U0RPTUdsb2JhbE9iamVjdCYsIFJlZjxUZXN0TGVnYWN5Tm9JbnRlcmZhY2VPYmplY3Q+JiYpOwog
CiAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihKU0M6OlZNJik7CiB9OwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdExlZ2FjeU92ZXJyaWRl
QnVpbHRJbnMuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdExlZ2FjeU92ZXJyaWRlQnVpbHRJbnMuY3BwCmluZGV4IDkyZjJjYTY4YTFhZC4uZDA5MWZm
NzRmMmViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0TGVnYWN5T3ZlcnJpZGVCdWlsdElucy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdExlZ2FjeU92ZXJyaWRlQnVpbHRJbnMuY3Bw
CkBAIC0xMjksOCArMTI5LDggQEAgdm9pZCBKU1Rlc3RMZWdhY3lPdmVycmlkZUJ1aWx0SW5zUHJv
dG90eXBlOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0pCiAKIGNvbnN0IENsYXNzSW5mbyBKU1Rlc3RM
ZWdhY3lPdmVycmlkZUJ1aWx0SW5zOjpzX2luZm8gPSB7ICJUZXN0TGVnYWN5T3ZlcnJpZGVCdWls
dElucyJfcywgJkJhc2U6OnNfaW5mbywgbnVsbHB0ciwgbnVsbHB0ciwgQ1JFQVRFX01FVEhPRF9U
QUJMRShKU1Rlc3RMZWdhY3lPdmVycmlkZUJ1aWx0SW5zKSB9OwogCi1KU1Rlc3RMZWdhY3lPdmVy
cmlkZUJ1aWx0SW5zOjpKU1Rlc3RMZWdhY3lPdmVycmlkZUJ1aWx0SW5zKFN0cnVjdHVyZSogc3Ry
dWN0dXJlLCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0LCBSZWY8VGVzdExlZ2FjeU92
ZXJyaWRlQnVpbHRJbnM+JiYgaW1wbCwgSlNDOjpCdXR0ZXJmbHkqIGJ1dHRlcmZseSkKLSAgICA6
IEpTRE9NV3JhcHBlcjxUZXN0TGVnYWN5T3ZlcnJpZGVCdWlsdElucz4oc3RydWN0dXJlLCBnbG9i
YWxPYmplY3QsIFdURk1vdmUoaW1wbCksIGJ1dHRlcmZseSkKK0pTVGVzdExlZ2FjeU92ZXJyaWRl
QnVpbHRJbnM6OkpTVGVzdExlZ2FjeU92ZXJyaWRlQnVpbHRJbnMoU3RydWN0dXJlKiBzdHJ1Y3R1
cmUsIEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QsIFJlZjxUZXN0TGVnYWN5T3ZlcnJp
ZGVCdWlsdElucz4mJiBpbXBsKQorICAgIDogSlNET01XcmFwcGVyPFRlc3RMZWdhY3lPdmVycmlk
ZUJ1aWx0SW5zPihzdHJ1Y3R1cmUsIGdsb2JhbE9iamVjdCwgV1RGTW92ZShpbXBsKSkKIHsKIH0K
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdExlZ2FjeU92ZXJyaWRlQnVpbHRJbnMuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3RMZWdhY3lPdmVycmlkZUJ1aWx0SW5zLmgKaW5kZXggM2NlZDI4
MWE3ZjczLi5lOWJkMjk4NDdlNTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RMZWdhY3lPdmVycmlkZUJ1aWx0SW5zLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdExlZ2FjeU92ZXJyaWRl
QnVpbHRJbnMuaApAQCAtNjMsNyArNjMsNyBAQCBwdWJsaWM6CiBwdWJsaWM6CiAgICAgc3RhdGlj
IGNvbnN0ZXhwciB1bnNpZ25lZCBTdHJ1Y3R1cmVGbGFncyA9IEJhc2U6OlN0cnVjdHVyZUZsYWdz
IHwgSlNDOjpHZXRPd25Qcm9wZXJ0eVNsb3RJc0ltcHVyZSB8IEpTQzo6SW50ZXJjZXB0c0dldE93
blByb3BlcnR5U2xvdEJ5SW5kZXhFdmVuV2hlbkxlbmd0aElzTm90WmVybyB8IEpTQzo6T3ZlcnJp
ZGVzR2V0T3duUHJvcGVydHlOYW1lcyB8IEpTQzo6T3ZlcnJpZGVzR2V0T3duUHJvcGVydHlTbG90
OwogcHJvdGVjdGVkOgotICAgIEpTVGVzdExlZ2FjeU92ZXJyaWRlQnVpbHRJbnMoSlNDOjpTdHJ1
Y3R1cmUqLCBKU0RPTUdsb2JhbE9iamVjdCYsIFJlZjxUZXN0TGVnYWN5T3ZlcnJpZGVCdWlsdElu
cz4mJiwgSlNDOjpCdXR0ZXJmbHkqID0gbnVsbHB0cik7CisgICAgSlNUZXN0TGVnYWN5T3ZlcnJp
ZGVCdWlsdElucyhKU0M6OlN0cnVjdHVyZSosIEpTRE9NR2xvYmFsT2JqZWN0JiwgUmVmPFRlc3RM
ZWdhY3lPdmVycmlkZUJ1aWx0SW5zPiYmKTsKIAogICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oSlND
OjpWTSYpOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3RNYXBMaWtlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RNYXBMaWtlLmNwcAppbmRleCA2ZjM4M2VkZTg4ODIuLjcwYzE5NmE5
YTBiMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdE1hcExpa2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3RNYXBMaWtlLmNwcApAQCAtMTQ4LDggKzE0OCw4IEBAIHZvaWQgSlNUZXN0
TWFwTGlrZVByb3RvdHlwZTo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtKQogCiBjb25zdCBDbGFzc0lu
Zm8gSlNUZXN0TWFwTGlrZTo6c19pbmZvID0geyAiVGVzdE1hcExpa2UiX3MsICZCYXNlOjpzX2lu
Zm8sIG51bGxwdHIsIG51bGxwdHIsIENSRUFURV9NRVRIT0RfVEFCTEUoSlNUZXN0TWFwTGlrZSkg
fTsKIAotSlNUZXN0TWFwTGlrZTo6SlNUZXN0TWFwTGlrZShTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwg
SlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCwgUmVmPFRlc3RNYXBMaWtlPiYmIGltcGws
IEpTQzo6QnV0dGVyZmx5KiBidXR0ZXJmbHkpCi0gICAgOiBKU0RPTVdyYXBwZXI8VGVzdE1hcExp
a2U+KHN0cnVjdHVyZSwgZ2xvYmFsT2JqZWN0LCBXVEZNb3ZlKGltcGwpLCBidXR0ZXJmbHkpCitK
U1Rlc3RNYXBMaWtlOjpKU1Rlc3RNYXBMaWtlKFN0cnVjdHVyZSogc3RydWN0dXJlLCBKU0RPTUds
b2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0LCBSZWY8VGVzdE1hcExpa2U+JiYgaW1wbCkKKyAgICA6
IEpTRE9NV3JhcHBlcjxUZXN0TWFwTGlrZT4oc3RydWN0dXJlLCBnbG9iYWxPYmplY3QsIFdURk1v
dmUoaW1wbCkpCiB7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3RNYXBMaWtlLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0TWFwTGlrZS5oCmluZGV4IDkwNzE1NzA2MTg4OS4uNmJkMWFj
MjIyZWI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0TWFwTGlrZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3RNYXBMaWtlLmgKQEAgLTU4LDcgKzU4LDcgQEAgcHVibGljOgogICAgIHN0
YXRpYyBKU0M6OkdDQ2xpZW50OjpJc29TdWJzcGFjZSogc3Vic3BhY2VGb3JJbXBsKEpTQzo6Vk0m
IHZtKTsKICAgICBzdGF0aWMgdm9pZCBhbmFseXplSGVhcChKU0NlbGwqLCBKU0M6OkhlYXBBbmFs
eXplciYpOwogcHJvdGVjdGVkOgotICAgIEpTVGVzdE1hcExpa2UoSlNDOjpTdHJ1Y3R1cmUqLCBK
U0RPTUdsb2JhbE9iamVjdCYsIFJlZjxUZXN0TWFwTGlrZT4mJiwgSlNDOjpCdXR0ZXJmbHkqID0g
bnVsbHB0cik7CisgICAgSlNUZXN0TWFwTGlrZShKU0M6OlN0cnVjdHVyZSosIEpTRE9NR2xvYmFs
T2JqZWN0JiwgUmVmPFRlc3RNYXBMaWtlPiYmKTsKIAogICAgIHZvaWQgZmluaXNoQ3JlYXRpb24o
SlNDOjpWTSYpOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RNYXBMaWtlV2l0aE92ZXJyaWRkZW5PcGVyYXRpb25zLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RNYXBMaWtlV2l0aE92
ZXJyaWRkZW5PcGVyYXRpb25zLmNwcAppbmRleCAzYTk2OWI0MjFkMTAuLjIyNjQ5Njc4ZGU5NyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVz
dE1hcExpa2VXaXRoT3ZlcnJpZGRlbk9wZXJhdGlvbnMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RNYXBMaWtlV2l0aE92ZXJyaWRkZW5PcGVy
YXRpb25zLmNwcApAQCAtMTUyLDggKzE1Miw4IEBAIHZvaWQgSlNUZXN0TWFwTGlrZVdpdGhPdmVy
cmlkZGVuT3BlcmF0aW9uc1Byb3RvdHlwZTo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtKQogCiBjb25z
dCBDbGFzc0luZm8gSlNUZXN0TWFwTGlrZVdpdGhPdmVycmlkZGVuT3BlcmF0aW9uczo6c19pbmZv
ID0geyAiVGVzdE1hcExpa2VXaXRoT3ZlcnJpZGRlbk9wZXJhdGlvbnMiX3MsICZCYXNlOjpzX2lu
Zm8sIG51bGxwdHIsIG51bGxwdHIsIENSRUFURV9NRVRIT0RfVEFCTEUoSlNUZXN0TWFwTGlrZVdp
dGhPdmVycmlkZGVuT3BlcmF0aW9ucykgfTsKIAotSlNUZXN0TWFwTGlrZVdpdGhPdmVycmlkZGVu
T3BlcmF0aW9uczo6SlNUZXN0TWFwTGlrZVdpdGhPdmVycmlkZGVuT3BlcmF0aW9ucyhTdHJ1Y3R1
cmUqIHN0cnVjdHVyZSwgSlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCwgUmVmPFRlc3RN
YXBMaWtlV2l0aE92ZXJyaWRkZW5PcGVyYXRpb25zPiYmIGltcGwsIEpTQzo6QnV0dGVyZmx5KiBi
dXR0ZXJmbHkpCi0gICAgOiBKU0RPTVdyYXBwZXI8VGVzdE1hcExpa2VXaXRoT3ZlcnJpZGRlbk9w
ZXJhdGlvbnM+KHN0cnVjdHVyZSwgZ2xvYmFsT2JqZWN0LCBXVEZNb3ZlKGltcGwpLCBidXR0ZXJm
bHkpCitKU1Rlc3RNYXBMaWtlV2l0aE92ZXJyaWRkZW5PcGVyYXRpb25zOjpKU1Rlc3RNYXBMaWtl
V2l0aE92ZXJyaWRkZW5PcGVyYXRpb25zKFN0cnVjdHVyZSogc3RydWN0dXJlLCBKU0RPTUdsb2Jh
bE9iamVjdCYgZ2xvYmFsT2JqZWN0LCBSZWY8VGVzdE1hcExpa2VXaXRoT3ZlcnJpZGRlbk9wZXJh
dGlvbnM+JiYgaW1wbCkKKyAgICA6IEpTRE9NV3JhcHBlcjxUZXN0TWFwTGlrZVdpdGhPdmVycmlk
ZGVuT3BlcmF0aW9ucz4oc3RydWN0dXJlLCBnbG9iYWxPYmplY3QsIFdURk1vdmUoaW1wbCkpCiB7
CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3RNYXBMaWtlV2l0aE92ZXJyaWRkZW5PcGVyYXRpb25zLmggYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TWFwTGlrZVdpdGhPdmVycmlkZGVuT3Bl
cmF0aW9ucy5oCmluZGV4IDU1Y2FkY2YxMDA3OC4uYjkxYWJmMTBjNTNlIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TWFwTGlrZVdpdGhP
dmVycmlkZGVuT3BlcmF0aW9ucy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RNYXBMaWtlV2l0aE92ZXJyaWRkZW5PcGVyYXRpb25zLmgKQEAgLTU4
LDcgKzU4LDcgQEAgcHVibGljOgogICAgIHN0YXRpYyBKU0M6OkdDQ2xpZW50OjpJc29TdWJzcGFj
ZSogc3Vic3BhY2VGb3JJbXBsKEpTQzo6Vk0mIHZtKTsKICAgICBzdGF0aWMgdm9pZCBhbmFseXpl
SGVhcChKU0NlbGwqLCBKU0M6OkhlYXBBbmFseXplciYpOwogcHJvdGVjdGVkOgotICAgIEpTVGVz
dE1hcExpa2VXaXRoT3ZlcnJpZGRlbk9wZXJhdGlvbnMoSlNDOjpTdHJ1Y3R1cmUqLCBKU0RPTUds
b2JhbE9iamVjdCYsIFJlZjxUZXN0TWFwTGlrZVdpdGhPdmVycmlkZGVuT3BlcmF0aW9ucz4mJiwg
SlNDOjpCdXR0ZXJmbHkqID0gbnVsbHB0cik7CisgICAgSlNUZXN0TWFwTGlrZVdpdGhPdmVycmlk
ZGVuT3BlcmF0aW9ucyhKU0M6OlN0cnVjdHVyZSosIEpTRE9NR2xvYmFsT2JqZWN0JiwgUmVmPFRl
c3RNYXBMaWtlV2l0aE92ZXJyaWRkZW5PcGVyYXRpb25zPiYmKTsKIAogICAgIHZvaWQgZmluaXNo
Q3JlYXRpb24oSlNDOjpWTSYpOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJOb0lkZW50aWZp
ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5h
bWVkQW5kSW5kZXhlZFNldHRlck5vSWRlbnRpZmllci5jcHAKaW5kZXggMTdiMWNkNmZmM2Q4Li40
YjlmNDAxNjIzNDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJOb0lkZW50aWZpZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZEFuZElu
ZGV4ZWRTZXR0ZXJOb0lkZW50aWZpZXIuY3BwCkBAIC0xMjEsOCArMTIxLDggQEAgdm9pZCBKU1Rl
c3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJOb0lkZW50aWZpZXJQcm90b3R5cGU6OmZpbmlzaENyZWF0
aW9uKFZNJiB2bSkKIAogY29uc3QgQ2xhc3NJbmZvIEpTVGVzdE5hbWVkQW5kSW5kZXhlZFNldHRl
ck5vSWRlbnRpZmllcjo6c19pbmZvID0geyAiVGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlck5vSWRl
bnRpZmllciJfcywgJkJhc2U6OnNfaW5mbywgbnVsbHB0ciwgbnVsbHB0ciwgQ1JFQVRFX01FVEhP
RF9UQUJMRShKU1Rlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJOb0lkZW50aWZpZXIpIH07CiAKLUpT
VGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlck5vSWRlbnRpZmllcjo6SlNUZXN0TmFtZWRBbmRJbmRl
eGVkU2V0dGVyTm9JZGVudGlmaWVyKFN0cnVjdHVyZSogc3RydWN0dXJlLCBKU0RPTUdsb2JhbE9i
amVjdCYgZ2xvYmFsT2JqZWN0LCBSZWY8VGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlck5vSWRlbnRp
Zmllcj4mJiBpbXBsLCBKU0M6OkJ1dHRlcmZseSogYnV0dGVyZmx5KQotICAgIDogSlNET01XcmFw
cGVyPFRlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJOb0lkZW50aWZpZXI+KHN0cnVjdHVyZSwgZ2xv
YmFsT2JqZWN0LCBXVEZNb3ZlKGltcGwpLCBidXR0ZXJmbHkpCitKU1Rlc3ROYW1lZEFuZEluZGV4
ZWRTZXR0ZXJOb0lkZW50aWZpZXI6OkpTVGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlck5vSWRlbnRp
ZmllcihTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgSlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVj
dCwgUmVmPFRlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJOb0lkZW50aWZpZXI+JiYgaW1wbCkKKyAg
ICA6IEpTRE9NV3JhcHBlcjxUZXN0TmFtZWRBbmRJbmRleGVkU2V0dGVyTm9JZGVudGlmaWVyPihz
dHJ1Y3R1cmUsIGdsb2JhbE9iamVjdCwgV1RGTW92ZShpbXBsKSkKIHsKIH0KIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkQW5k
SW5kZXhlZFNldHRlck5vSWRlbnRpZmllci5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlck5vSWRlbnRpZmllci5oCmlu
ZGV4IDE5NGMzMzZhZTg3NC4uZWIzNGIzYWJiMmFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRBbmRJbmRleGVkU2V0dGVyTm9J
ZGVudGlmaWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlck5vSWRlbnRpZmllci5oCkBAIC02Niw3ICs2Niw3
IEBAIHB1YmxpYzoKIHB1YmxpYzoKICAgICBzdGF0aWMgY29uc3RleHByIHVuc2lnbmVkIFN0cnVj
dHVyZUZsYWdzID0gQmFzZTo6U3RydWN0dXJlRmxhZ3MgfCBKU0M6OkdldE93blByb3BlcnR5U2xv
dElzSW1wdXJlRm9yUHJvcGVydHlBYnNlbmNlIHwgSlNDOjpJbnRlcmNlcHRzR2V0T3duUHJvcGVy
dHlTbG90QnlJbmRleEV2ZW5XaGVuTGVuZ3RoSXNOb3RaZXJvIHwgSlNDOjpPdmVycmlkZXNHZXRP
d25Qcm9wZXJ0eU5hbWVzIHwgSlNDOjpPdmVycmlkZXNHZXRPd25Qcm9wZXJ0eVNsb3QgfCBKU0M6
Ok92ZXJyaWRlc1B1dCB8IEpTQzo6UHJvaGliaXRzUHJvcGVydHlDYWNoaW5nOwogcHJvdGVjdGVk
OgotICAgIEpTVGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlck5vSWRlbnRpZmllcihKU0M6OlN0cnVj
dHVyZSosIEpTRE9NR2xvYmFsT2JqZWN0JiwgUmVmPFRlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJO
b0lkZW50aWZpZXI+JiYsIEpTQzo6QnV0dGVyZmx5KiA9IG51bGxwdHIpOworICAgIEpTVGVzdE5h
bWVkQW5kSW5kZXhlZFNldHRlck5vSWRlbnRpZmllcihKU0M6OlN0cnVjdHVyZSosIEpTRE9NR2xv
YmFsT2JqZWN0JiwgUmVmPFRlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJOb0lkZW50aWZpZXI+JiYp
OwogCiAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihKU0M6OlZNJik7CiB9OwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkQW5kSW5k
ZXhlZFNldHRlclRocm93aW5nRXhjZXB0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJUaHJvd2luZ0V4Y2Vw
dGlvbi5jcHAKaW5kZXggM2FkYjdhZDQ3YjQ4Li4wMWU5YWM0N2YwNWEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZEFuZEluZGV4
ZWRTZXR0ZXJUaHJvd2luZ0V4Y2VwdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlclRocm93aW5nRXhj
ZXB0aW9uLmNwcApAQCAtMTIxLDggKzEyMSw4IEBAIHZvaWQgSlNUZXN0TmFtZWRBbmRJbmRleGVk
U2V0dGVyVGhyb3dpbmdFeGNlcHRpb25Qcm90b3R5cGU6OmZpbmlzaENyZWF0aW9uKFZNJiB2CiAK
IGNvbnN0IENsYXNzSW5mbyBKU1Rlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJUaHJvd2luZ0V4Y2Vw
dGlvbjo6c19pbmZvID0geyAiVGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlclRocm93aW5nRXhjZXB0
aW9uIl9zLCAmQmFzZTo6c19pbmZvLCBudWxscHRyLCBudWxscHRyLCBDUkVBVEVfTUVUSE9EX1RB
QkxFKEpTVGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlclRocm93aW5nRXhjZXB0aW9uKSB9OwogCi1K
U1Rlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJUaHJvd2luZ0V4Y2VwdGlvbjo6SlNUZXN0TmFtZWRB
bmRJbmRleGVkU2V0dGVyVGhyb3dpbmdFeGNlcHRpb24oU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEpT
RE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QsIFJlZjxUZXN0TmFtZWRBbmRJbmRleGVkU2V0
dGVyVGhyb3dpbmdFeGNlcHRpb24+JiYgaW1wbCwgSlNDOjpCdXR0ZXJmbHkqIGJ1dHRlcmZseSkK
LSAgICA6IEpTRE9NV3JhcHBlcjxUZXN0TmFtZWRBbmRJbmRleGVkU2V0dGVyVGhyb3dpbmdFeGNl
cHRpb24+KHN0cnVjdHVyZSwgZ2xvYmFsT2JqZWN0LCBXVEZNb3ZlKGltcGwpLCBidXR0ZXJmbHkp
CitKU1Rlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJUaHJvd2luZ0V4Y2VwdGlvbjo6SlNUZXN0TmFt
ZWRBbmRJbmRleGVkU2V0dGVyVGhyb3dpbmdFeGNlcHRpb24oU3RydWN0dXJlKiBzdHJ1Y3R1cmUs
IEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QsIFJlZjxUZXN0TmFtZWRBbmRJbmRleGVk
U2V0dGVyVGhyb3dpbmdFeGNlcHRpb24+JiYgaW1wbCkKKyAgICA6IEpTRE9NV3JhcHBlcjxUZXN0
TmFtZWRBbmRJbmRleGVkU2V0dGVyVGhyb3dpbmdFeGNlcHRpb24+KHN0cnVjdHVyZSwgZ2xvYmFs
T2JqZWN0LCBXVEZNb3ZlKGltcGwpKQogewogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRBbmRJbmRleGVkU2V0dGVyVGhy
b3dpbmdFeGNlcHRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJUaHJvd2luZ0V4Y2VwdGlvbi5oCmluZGV4IDBh
MTkzMzhmMTRlMS4uMTYxYzVjMmRlYjQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRBbmRJbmRleGVkU2V0dGVyVGhyb3dpbmdF
eGNlcHRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNUZXN0TmFtZWRBbmRJbmRleGVkU2V0dGVyVGhyb3dpbmdFeGNlcHRpb24uaApAQCAtNjYsNyAr
NjYsNyBAQCBwdWJsaWM6CiBwdWJsaWM6CiAgICAgc3RhdGljIGNvbnN0ZXhwciB1bnNpZ25lZCBT
dHJ1Y3R1cmVGbGFncyA9IEJhc2U6OlN0cnVjdHVyZUZsYWdzIHwgSlNDOjpHZXRPd25Qcm9wZXJ0
eVNsb3RJc0ltcHVyZUZvclByb3BlcnR5QWJzZW5jZSB8IEpTQzo6SW50ZXJjZXB0c0dldE93blBy
b3BlcnR5U2xvdEJ5SW5kZXhFdmVuV2hlbkxlbmd0aElzTm90WmVybyB8IEpTQzo6T3ZlcnJpZGVz
R2V0T3duUHJvcGVydHlOYW1lcyB8IEpTQzo6T3ZlcnJpZGVzR2V0T3duUHJvcGVydHlTbG90IHwg
SlNDOjpPdmVycmlkZXNQdXQgfCBKU0M6OlByb2hpYml0c1Byb3BlcnR5Q2FjaGluZzsKIHByb3Rl
Y3RlZDoKLSAgICBKU1Rlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJUaHJvd2luZ0V4Y2VwdGlvbihK
U0M6OlN0cnVjdHVyZSosIEpTRE9NR2xvYmFsT2JqZWN0JiwgUmVmPFRlc3ROYW1lZEFuZEluZGV4
ZWRTZXR0ZXJUaHJvd2luZ0V4Y2VwdGlvbj4mJiwgSlNDOjpCdXR0ZXJmbHkqID0gbnVsbHB0cik7
CisgICAgSlNUZXN0TmFtZWRBbmRJbmRleGVkU2V0dGVyVGhyb3dpbmdFeGNlcHRpb24oSlNDOjpT
dHJ1Y3R1cmUqLCBKU0RPTUdsb2JhbE9iamVjdCYsIFJlZjxUZXN0TmFtZWRBbmRJbmRleGVkU2V0
dGVyVGhyb3dpbmdFeGNlcHRpb24+JiYpOwogCiAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihKU0M6
OlZNJik7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlcldpdGhJZGVudGlmaWVyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZEFuZEluZGV4
ZWRTZXR0ZXJXaXRoSWRlbnRpZmllci5jcHAKaW5kZXggZDAyY2MzZjdhNzQ4Li5lOTAwZjcyMDky
N2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJXaXRoSWRlbnRpZmllci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkQW5kSW5kZXhlZFNl
dHRlcldpdGhJZGVudGlmaWVyLmNwcApAQCAtMTMyLDggKzEzMiw4IEBAIHZvaWQgSlNUZXN0TmFt
ZWRBbmRJbmRleGVkU2V0dGVyV2l0aElkZW50aWZpZXJQcm90b3R5cGU6OmZpbmlzaENyZWF0aW9u
KFZNJiB2bSkKIAogY29uc3QgQ2xhc3NJbmZvIEpTVGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlcldp
dGhJZGVudGlmaWVyOjpzX2luZm8gPSB7ICJUZXN0TmFtZWRBbmRJbmRleGVkU2V0dGVyV2l0aElk
ZW50aWZpZXIiX3MsICZCYXNlOjpzX2luZm8sIG51bGxwdHIsIG51bGxwdHIsIENSRUFURV9NRVRI
T0RfVEFCTEUoSlNUZXN0TmFtZWRBbmRJbmRleGVkU2V0dGVyV2l0aElkZW50aWZpZXIpIH07CiAK
LUpTVGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlcldpdGhJZGVudGlmaWVyOjpKU1Rlc3ROYW1lZEFu
ZEluZGV4ZWRTZXR0ZXJXaXRoSWRlbnRpZmllcihTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgSlNET01H
bG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCwgUmVmPFRlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJX
aXRoSWRlbnRpZmllcj4mJiBpbXBsLCBKU0M6OkJ1dHRlcmZseSogYnV0dGVyZmx5KQotICAgIDog
SlNET01XcmFwcGVyPFRlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJXaXRoSWRlbnRpZmllcj4oc3Ry
dWN0dXJlLCBnbG9iYWxPYmplY3QsIFdURk1vdmUoaW1wbCksIGJ1dHRlcmZseSkKK0pTVGVzdE5h
bWVkQW5kSW5kZXhlZFNldHRlcldpdGhJZGVudGlmaWVyOjpKU1Rlc3ROYW1lZEFuZEluZGV4ZWRT
ZXR0ZXJXaXRoSWRlbnRpZmllcihTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgSlNET01HbG9iYWxPYmpl
Y3QmIGdsb2JhbE9iamVjdCwgUmVmPFRlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJXaXRoSWRlbnRp
Zmllcj4mJiBpbXBsKQorICAgIDogSlNET01XcmFwcGVyPFRlc3ROYW1lZEFuZEluZGV4ZWRTZXR0
ZXJXaXRoSWRlbnRpZmllcj4oc3RydWN0dXJlLCBnbG9iYWxPYmplY3QsIFdURk1vdmUoaW1wbCkp
CiB7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU1Rlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJXaXRoSWRlbnRpZmllci5oIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkQW5kSW5kZXhlZFNl
dHRlcldpdGhJZGVudGlmaWVyLmgKaW5kZXggMzIxMzFhMjlmYjllLi5lODMwZmVmZTQ2YWUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RO
YW1lZEFuZEluZGV4ZWRTZXR0ZXJXaXRoSWRlbnRpZmllci5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJXaXRo
SWRlbnRpZmllci5oCkBAIC02Niw3ICs2Niw3IEBAIHB1YmxpYzoKIHB1YmxpYzoKICAgICBzdGF0
aWMgY29uc3RleHByIHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gQmFzZTo6U3RydWN0dXJlRmxh
Z3MgfCBKU0M6OkdldE93blByb3BlcnR5U2xvdElzSW1wdXJlRm9yUHJvcGVydHlBYnNlbmNlIHwg
SlNDOjpJbnRlcmNlcHRzR2V0T3duUHJvcGVydHlTbG90QnlJbmRleEV2ZW5XaGVuTGVuZ3RoSXNO
b3RaZXJvIHwgSlNDOjpPdmVycmlkZXNHZXRPd25Qcm9wZXJ0eU5hbWVzIHwgSlNDOjpPdmVycmlk
ZXNHZXRPd25Qcm9wZXJ0eVNsb3QgfCBKU0M6Ok92ZXJyaWRlc1B1dCB8IEpTQzo6UHJvaGliaXRz
UHJvcGVydHlDYWNoaW5nOwogcHJvdGVjdGVkOgotICAgIEpTVGVzdE5hbWVkQW5kSW5kZXhlZFNl
dHRlcldpdGhJZGVudGlmaWVyKEpTQzo6U3RydWN0dXJlKiwgSlNET01HbG9iYWxPYmplY3QmLCBS
ZWY8VGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlcldpdGhJZGVudGlmaWVyPiYmLCBKU0M6OkJ1dHRl
cmZseSogPSBudWxscHRyKTsKKyAgICBKU1Rlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJXaXRoSWRl
bnRpZmllcihKU0M6OlN0cnVjdHVyZSosIEpTRE9NR2xvYmFsT2JqZWN0JiwgUmVmPFRlc3ROYW1l
ZEFuZEluZGV4ZWRTZXR0ZXJXaXRoSWRlbnRpZmllcj4mJik7CiAKICAgICB2b2lkIGZpbmlzaENy
ZWF0aW9uKEpTQzo6Vk0mKTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWREZWxldGVyTm9JZGVudGlmaWVyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZERlbGV0ZXJO
b0lkZW50aWZpZXIuY3BwCmluZGV4IGQxNWVkZDY4NWI2ZC4uMjQxNWNhMzU4MjhkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRE
ZWxldGVyTm9JZGVudGlmaWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWREZWxldGVyTm9JZGVudGlmaWVyLmNwcApAQCAtMTIwLDgg
KzEyMCw4IEBAIHZvaWQgSlNUZXN0TmFtZWREZWxldGVyTm9JZGVudGlmaWVyUHJvdG90eXBlOjpm
aW5pc2hDcmVhdGlvbihWTSYgdm0pCiAKIGNvbnN0IENsYXNzSW5mbyBKU1Rlc3ROYW1lZERlbGV0
ZXJOb0lkZW50aWZpZXI6OnNfaW5mbyA9IHsgIlRlc3ROYW1lZERlbGV0ZXJOb0lkZW50aWZpZXIi
X3MsICZCYXNlOjpzX2luZm8sIG51bGxwdHIsIG51bGxwdHIsIENSRUFURV9NRVRIT0RfVEFCTEUo
SlNUZXN0TmFtZWREZWxldGVyTm9JZGVudGlmaWVyKSB9OwogCi1KU1Rlc3ROYW1lZERlbGV0ZXJO
b0lkZW50aWZpZXI6OkpTVGVzdE5hbWVkRGVsZXRlck5vSWRlbnRpZmllcihTdHJ1Y3R1cmUqIHN0
cnVjdHVyZSwgSlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCwgUmVmPFRlc3ROYW1lZERl
bGV0ZXJOb0lkZW50aWZpZXI+JiYgaW1wbCwgSlNDOjpCdXR0ZXJmbHkqIGJ1dHRlcmZseSkKLSAg
ICA6IEpTRE9NV3JhcHBlcjxUZXN0TmFtZWREZWxldGVyTm9JZGVudGlmaWVyPihzdHJ1Y3R1cmUs
IGdsb2JhbE9iamVjdCwgV1RGTW92ZShpbXBsKSwgYnV0dGVyZmx5KQorSlNUZXN0TmFtZWREZWxl
dGVyTm9JZGVudGlmaWVyOjpKU1Rlc3ROYW1lZERlbGV0ZXJOb0lkZW50aWZpZXIoU3RydWN0dXJl
KiBzdHJ1Y3R1cmUsIEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QsIFJlZjxUZXN0TmFt
ZWREZWxldGVyTm9JZGVudGlmaWVyPiYmIGltcGwpCisgICAgOiBKU0RPTVdyYXBwZXI8VGVzdE5h
bWVkRGVsZXRlck5vSWRlbnRpZmllcj4oc3RydWN0dXJlLCBnbG9iYWxPYmplY3QsIFdURk1vdmUo
aW1wbCkpCiB7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3ROYW1lZERlbGV0ZXJOb0lkZW50aWZpZXIuaCBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZERlbGV0ZXJOb0lkZW50aWZp
ZXIuaAppbmRleCAyNzFhZmI3YjUwYTQuLjgwNGM2OTg4NTk1NCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkRGVsZXRlck5vSWRl
bnRpZmllci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3ROYW1lZERlbGV0ZXJOb0lkZW50aWZpZXIuaApAQCAtNjUsNyArNjUsNyBAQCBwdWJsaWM6
CiBwdWJsaWM6CiAgICAgc3RhdGljIGNvbnN0ZXhwciB1bnNpZ25lZCBTdHJ1Y3R1cmVGbGFncyA9
IEJhc2U6OlN0cnVjdHVyZUZsYWdzIHwgSlNDOjpHZXRPd25Qcm9wZXJ0eVNsb3RJc0ltcHVyZUZv
clByb3BlcnR5QWJzZW5jZSB8IEpTQzo6SW50ZXJjZXB0c0dldE93blByb3BlcnR5U2xvdEJ5SW5k
ZXhFdmVuV2hlbkxlbmd0aElzTm90WmVybyB8IEpTQzo6T3ZlcnJpZGVzR2V0T3duUHJvcGVydHlO
YW1lcyB8IEpTQzo6T3ZlcnJpZGVzR2V0T3duUHJvcGVydHlTbG90OwogcHJvdGVjdGVkOgotICAg
IEpTVGVzdE5hbWVkRGVsZXRlck5vSWRlbnRpZmllcihKU0M6OlN0cnVjdHVyZSosIEpTRE9NR2xv
YmFsT2JqZWN0JiwgUmVmPFRlc3ROYW1lZERlbGV0ZXJOb0lkZW50aWZpZXI+JiYsIEpTQzo6QnV0
dGVyZmx5KiA9IG51bGxwdHIpOworICAgIEpTVGVzdE5hbWVkRGVsZXRlck5vSWRlbnRpZmllcihK
U0M6OlN0cnVjdHVyZSosIEpTRE9NR2xvYmFsT2JqZWN0JiwgUmVmPFRlc3ROYW1lZERlbGV0ZXJO
b0lkZW50aWZpZXI+JiYpOwogCiAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihKU0M6OlZNJik7CiB9
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdE5hbWVkRGVsZXRlclRocm93aW5nRXhjZXB0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZERlbGV0ZXJUaHJvd2luZ0V4Y2VwdGlv
bi5jcHAKaW5kZXggMmU3NTFmOWNlOTdkLi5mYjExYWQzNzU5NTAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZERlbGV0ZXJUaHJv
d2luZ0V4Y2VwdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdE5hbWVkRGVsZXRlclRocm93aW5nRXhjZXB0aW9uLmNwcApAQCAtMTIwLDgg
KzEyMCw4IEBAIHZvaWQgSlNUZXN0TmFtZWREZWxldGVyVGhyb3dpbmdFeGNlcHRpb25Qcm90b3R5
cGU6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSkKIAogY29uc3QgQ2xhc3NJbmZvIEpTVGVzdE5hbWVk
RGVsZXRlclRocm93aW5nRXhjZXB0aW9uOjpzX2luZm8gPSB7ICJUZXN0TmFtZWREZWxldGVyVGhy
b3dpbmdFeGNlcHRpb24iX3MsICZCYXNlOjpzX2luZm8sIG51bGxwdHIsIG51bGxwdHIsIENSRUFU
RV9NRVRIT0RfVEFCTEUoSlNUZXN0TmFtZWREZWxldGVyVGhyb3dpbmdFeGNlcHRpb24pIH07CiAK
LUpTVGVzdE5hbWVkRGVsZXRlclRocm93aW5nRXhjZXB0aW9uOjpKU1Rlc3ROYW1lZERlbGV0ZXJU
aHJvd2luZ0V4Y2VwdGlvbihTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgSlNET01HbG9iYWxPYmplY3Qm
IGdsb2JhbE9iamVjdCwgUmVmPFRlc3ROYW1lZERlbGV0ZXJUaHJvd2luZ0V4Y2VwdGlvbj4mJiBp
bXBsLCBKU0M6OkJ1dHRlcmZseSogYnV0dGVyZmx5KQotICAgIDogSlNET01XcmFwcGVyPFRlc3RO
YW1lZERlbGV0ZXJUaHJvd2luZ0V4Y2VwdGlvbj4oc3RydWN0dXJlLCBnbG9iYWxPYmplY3QsIFdU
Rk1vdmUoaW1wbCksIGJ1dHRlcmZseSkKK0pTVGVzdE5hbWVkRGVsZXRlclRocm93aW5nRXhjZXB0
aW9uOjpKU1Rlc3ROYW1lZERlbGV0ZXJUaHJvd2luZ0V4Y2VwdGlvbihTdHJ1Y3R1cmUqIHN0cnVj
dHVyZSwgSlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCwgUmVmPFRlc3ROYW1lZERlbGV0
ZXJUaHJvd2luZ0V4Y2VwdGlvbj4mJiBpbXBsKQorICAgIDogSlNET01XcmFwcGVyPFRlc3ROYW1l
ZERlbGV0ZXJUaHJvd2luZ0V4Y2VwdGlvbj4oc3RydWN0dXJlLCBnbG9iYWxPYmplY3QsIFdURk1v
dmUoaW1wbCkpCiB7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZERlbGV0ZXJUaHJvd2luZ0V4Y2VwdGlvbi5oIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkRGVsZXRlclRo
cm93aW5nRXhjZXB0aW9uLmgKaW5kZXggZDk4OWExZjcwODM1Li4yZmRmODE3Y2FiYWIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1l
ZERlbGV0ZXJUaHJvd2luZ0V4Y2VwdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZERlbGV0ZXJUaHJvd2luZ0V4Y2VwdGlvbi5oCkBA
IC02NSw3ICs2NSw3IEBAIHB1YmxpYzoKIHB1YmxpYzoKICAgICBzdGF0aWMgY29uc3RleHByIHVu
c2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gQmFzZTo6U3RydWN0dXJlRmxhZ3MgfCBKU0M6OkdldE93
blByb3BlcnR5U2xvdElzSW1wdXJlRm9yUHJvcGVydHlBYnNlbmNlIHwgSlNDOjpJbnRlcmNlcHRz
R2V0T3duUHJvcGVydHlTbG90QnlJbmRleEV2ZW5XaGVuTGVuZ3RoSXNOb3RaZXJvIHwgSlNDOjpP
dmVycmlkZXNHZXRPd25Qcm9wZXJ0eU5hbWVzIHwgSlNDOjpPdmVycmlkZXNHZXRPd25Qcm9wZXJ0
eVNsb3Q7CiBwcm90ZWN0ZWQ6Ci0gICAgSlNUZXN0TmFtZWREZWxldGVyVGhyb3dpbmdFeGNlcHRp
b24oSlNDOjpTdHJ1Y3R1cmUqLCBKU0RPTUdsb2JhbE9iamVjdCYsIFJlZjxUZXN0TmFtZWREZWxl
dGVyVGhyb3dpbmdFeGNlcHRpb24+JiYsIEpTQzo6QnV0dGVyZmx5KiA9IG51bGxwdHIpOworICAg
IEpTVGVzdE5hbWVkRGVsZXRlclRocm93aW5nRXhjZXB0aW9uKEpTQzo6U3RydWN0dXJlKiwgSlNE
T01HbG9iYWxPYmplY3QmLCBSZWY8VGVzdE5hbWVkRGVsZXRlclRocm93aW5nRXhjZXB0aW9uPiYm
KTsKIAogICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oSlNDOjpWTSYpOwogfTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZERlbGV0
ZXJXaXRoSWRlbnRpZmllci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNUZXN0TmFtZWREZWxldGVyV2l0aElkZW50aWZpZXIuY3BwCmluZGV4IGNiMTg2ODY4
NTQ5Ni4uNDM5NzgxMjc3ZmEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWREZWxldGVyV2l0aElkZW50aWZpZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZERlbGV0
ZXJXaXRoSWRlbnRpZmllci5jcHAKQEAgLTEyOCw4ICsxMjgsOCBAQCB2b2lkIEpTVGVzdE5hbWVk
RGVsZXRlcldpdGhJZGVudGlmaWVyUHJvdG90eXBlOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0pCiAK
IGNvbnN0IENsYXNzSW5mbyBKU1Rlc3ROYW1lZERlbGV0ZXJXaXRoSWRlbnRpZmllcjo6c19pbmZv
ID0geyAiVGVzdE5hbWVkRGVsZXRlcldpdGhJZGVudGlmaWVyIl9zLCAmQmFzZTo6c19pbmZvLCBu
dWxscHRyLCBudWxscHRyLCBDUkVBVEVfTUVUSE9EX1RBQkxFKEpTVGVzdE5hbWVkRGVsZXRlcldp
dGhJZGVudGlmaWVyKSB9OwogCi1KU1Rlc3ROYW1lZERlbGV0ZXJXaXRoSWRlbnRpZmllcjo6SlNU
ZXN0TmFtZWREZWxldGVyV2l0aElkZW50aWZpZXIoU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEpTRE9N
R2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QsIFJlZjxUZXN0TmFtZWREZWxldGVyV2l0aElkZW50
aWZpZXI+JiYgaW1wbCwgSlNDOjpCdXR0ZXJmbHkqIGJ1dHRlcmZseSkKLSAgICA6IEpTRE9NV3Jh
cHBlcjxUZXN0TmFtZWREZWxldGVyV2l0aElkZW50aWZpZXI+KHN0cnVjdHVyZSwgZ2xvYmFsT2Jq
ZWN0LCBXVEZNb3ZlKGltcGwpLCBidXR0ZXJmbHkpCitKU1Rlc3ROYW1lZERlbGV0ZXJXaXRoSWRl
bnRpZmllcjo6SlNUZXN0TmFtZWREZWxldGVyV2l0aElkZW50aWZpZXIoU3RydWN0dXJlKiBzdHJ1
Y3R1cmUsIEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QsIFJlZjxUZXN0TmFtZWREZWxl
dGVyV2l0aElkZW50aWZpZXI+JiYgaW1wbCkKKyAgICA6IEpTRE9NV3JhcHBlcjxUZXN0TmFtZWRE
ZWxldGVyV2l0aElkZW50aWZpZXI+KHN0cnVjdHVyZSwgZ2xvYmFsT2JqZWN0LCBXVEZNb3ZlKGlt
cGwpKQogewogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0TmFtZWREZWxldGVyV2l0aElkZW50aWZpZXIuaCBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZERlbGV0ZXJXaXRoSWRlbnRp
Zmllci5oCmluZGV4IDZhMGE4OTVlOWFiMS4uNzE5OGE0ODNmNjRiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWREZWxldGVyV2l0
aElkZW50aWZpZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0TmFtZWREZWxldGVyV2l0aElkZW50aWZpZXIuaApAQCAtNjUsNyArNjUsNyBAQCBw
dWJsaWM6CiBwdWJsaWM6CiAgICAgc3RhdGljIGNvbnN0ZXhwciB1bnNpZ25lZCBTdHJ1Y3R1cmVG
bGFncyA9IEJhc2U6OlN0cnVjdHVyZUZsYWdzIHwgSlNDOjpHZXRPd25Qcm9wZXJ0eVNsb3RJc0lt
cHVyZUZvclByb3BlcnR5QWJzZW5jZSB8IEpTQzo6SW50ZXJjZXB0c0dldE93blByb3BlcnR5U2xv
dEJ5SW5kZXhFdmVuV2hlbkxlbmd0aElzTm90WmVybyB8IEpTQzo6T3ZlcnJpZGVzR2V0T3duUHJv
cGVydHlOYW1lcyB8IEpTQzo6T3ZlcnJpZGVzR2V0T3duUHJvcGVydHlTbG90OwogcHJvdGVjdGVk
OgotICAgIEpTVGVzdE5hbWVkRGVsZXRlcldpdGhJZGVudGlmaWVyKEpTQzo6U3RydWN0dXJlKiwg
SlNET01HbG9iYWxPYmplY3QmLCBSZWY8VGVzdE5hbWVkRGVsZXRlcldpdGhJZGVudGlmaWVyPiYm
LCBKU0M6OkJ1dHRlcmZseSogPSBudWxscHRyKTsKKyAgICBKU1Rlc3ROYW1lZERlbGV0ZXJXaXRo
SWRlbnRpZmllcihKU0M6OlN0cnVjdHVyZSosIEpTRE9NR2xvYmFsT2JqZWN0JiwgUmVmPFRlc3RO
YW1lZERlbGV0ZXJXaXRoSWRlbnRpZmllcj4mJik7CiAKICAgICB2b2lkIGZpbmlzaENyZWF0aW9u
KEpTQzo6Vk0mKTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWREZWxldGVyV2l0aEluZGV4ZWRHZXR0ZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkRGVsZXRlcldp
dGhJbmRleGVkR2V0dGVyLmNwcAppbmRleCBiNDljNTYyMjNjNzMuLjNmMTY1ZWRiMTY5MiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5h
bWVkRGVsZXRlcldpdGhJbmRleGVkR2V0dGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWREZWxldGVyV2l0aEluZGV4ZWRHZXR0ZXIu
Y3BwCkBAIC0xMjEsOCArMTIxLDggQEAgdm9pZCBKU1Rlc3ROYW1lZERlbGV0ZXJXaXRoSW5kZXhl
ZEdldHRlclByb3RvdHlwZTo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtKQogCiBjb25zdCBDbGFzc0lu
Zm8gSlNUZXN0TmFtZWREZWxldGVyV2l0aEluZGV4ZWRHZXR0ZXI6OnNfaW5mbyA9IHsgIlRlc3RO
YW1lZERlbGV0ZXJXaXRoSW5kZXhlZEdldHRlciJfcywgJkJhc2U6OnNfaW5mbywgbnVsbHB0ciwg
bnVsbHB0ciwgQ1JFQVRFX01FVEhPRF9UQUJMRShKU1Rlc3ROYW1lZERlbGV0ZXJXaXRoSW5kZXhl
ZEdldHRlcikgfTsKIAotSlNUZXN0TmFtZWREZWxldGVyV2l0aEluZGV4ZWRHZXR0ZXI6OkpTVGVz
dE5hbWVkRGVsZXRlcldpdGhJbmRleGVkR2V0dGVyKFN0cnVjdHVyZSogc3RydWN0dXJlLCBKU0RP
TUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0LCBSZWY8VGVzdE5hbWVkRGVsZXRlcldpdGhJbmRl
eGVkR2V0dGVyPiYmIGltcGwsIEpTQzo6QnV0dGVyZmx5KiBidXR0ZXJmbHkpCi0gICAgOiBKU0RP
TVdyYXBwZXI8VGVzdE5hbWVkRGVsZXRlcldpdGhJbmRleGVkR2V0dGVyPihzdHJ1Y3R1cmUsIGds
b2JhbE9iamVjdCwgV1RGTW92ZShpbXBsKSwgYnV0dGVyZmx5KQorSlNUZXN0TmFtZWREZWxldGVy
V2l0aEluZGV4ZWRHZXR0ZXI6OkpTVGVzdE5hbWVkRGVsZXRlcldpdGhJbmRleGVkR2V0dGVyKFN0
cnVjdHVyZSogc3RydWN0dXJlLCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0LCBSZWY8
VGVzdE5hbWVkRGVsZXRlcldpdGhJbmRleGVkR2V0dGVyPiYmIGltcGwpCisgICAgOiBKU0RPTVdy
YXBwZXI8VGVzdE5hbWVkRGVsZXRlcldpdGhJbmRleGVkR2V0dGVyPihzdHJ1Y3R1cmUsIGdsb2Jh
bE9iamVjdCwgV1RGTW92ZShpbXBsKSkKIHsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkRGVsZXRlcldpdGhJbmRleGVk
R2V0dGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0
TmFtZWREZWxldGVyV2l0aEluZGV4ZWRHZXR0ZXIuaAppbmRleCA1NzU2YTZkNDFjMWQuLjE5MjUw
ZDg4ZThjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdE5hbWVkRGVsZXRlcldpdGhJbmRleGVkR2V0dGVyLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkRGVsZXRlcldpdGhJbmRl
eGVkR2V0dGVyLmgKQEAgLTY1LDcgKzY1LDcgQEAgcHVibGljOgogcHVibGljOgogICAgIHN0YXRp
YyBjb25zdGV4cHIgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3MgPSBCYXNlOjpTdHJ1Y3R1cmVGbGFn
cyB8IEpTQzo6R2V0T3duUHJvcGVydHlTbG90SXNJbXB1cmVGb3JQcm9wZXJ0eUFic2VuY2UgfCBK
U0M6OkludGVyY2VwdHNHZXRPd25Qcm9wZXJ0eVNsb3RCeUluZGV4RXZlbldoZW5MZW5ndGhJc05v
dFplcm8gfCBKU0M6Ok92ZXJyaWRlc0dldE93blByb3BlcnR5TmFtZXMgfCBKU0M6Ok92ZXJyaWRl
c0dldE93blByb3BlcnR5U2xvdDsKIHByb3RlY3RlZDoKLSAgICBKU1Rlc3ROYW1lZERlbGV0ZXJX
aXRoSW5kZXhlZEdldHRlcihKU0M6OlN0cnVjdHVyZSosIEpTRE9NR2xvYmFsT2JqZWN0JiwgUmVm
PFRlc3ROYW1lZERlbGV0ZXJXaXRoSW5kZXhlZEdldHRlcj4mJiwgSlNDOjpCdXR0ZXJmbHkqID0g
bnVsbHB0cik7CisgICAgSlNUZXN0TmFtZWREZWxldGVyV2l0aEluZGV4ZWRHZXR0ZXIoSlNDOjpT
dHJ1Y3R1cmUqLCBKU0RPTUdsb2JhbE9iamVjdCYsIFJlZjxUZXN0TmFtZWREZWxldGVyV2l0aElu
ZGV4ZWRHZXR0ZXI+JiYpOwogCiAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihKU0M6OlZNJik7CiB9
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdE5hbWVkR2V0dGVyQ2FsbFdpdGguY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkR2V0dGVyQ2FsbFdpdGguY3BwCmluZGV4IGIxZjMxYjkw
YjY0Ny4uMTY2YjYyN2EzYmM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRHZXR0ZXJDYWxsV2l0aC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkR2V0dGVyQ2FsbFdp
dGguY3BwCkBAIC0xMjAsOCArMTIwLDggQEAgdm9pZCBKU1Rlc3ROYW1lZEdldHRlckNhbGxXaXRo
UHJvdG90eXBlOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0pCiAKIGNvbnN0IENsYXNzSW5mbyBKU1Rl
c3ROYW1lZEdldHRlckNhbGxXaXRoOjpzX2luZm8gPSB7ICJUZXN0TmFtZWRHZXR0ZXJDYWxsV2l0
aCJfcywgJkJhc2U6OnNfaW5mbywgbnVsbHB0ciwgbnVsbHB0ciwgQ1JFQVRFX01FVEhPRF9UQUJM
RShKU1Rlc3ROYW1lZEdldHRlckNhbGxXaXRoKSB9OwogCi1KU1Rlc3ROYW1lZEdldHRlckNhbGxX
aXRoOjpKU1Rlc3ROYW1lZEdldHRlckNhbGxXaXRoKFN0cnVjdHVyZSogc3RydWN0dXJlLCBKU0RP
TUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0LCBSZWY8VGVzdE5hbWVkR2V0dGVyQ2FsbFdpdGg+
JiYgaW1wbCwgSlNDOjpCdXR0ZXJmbHkqIGJ1dHRlcmZseSkKLSAgICA6IEpTRE9NV3JhcHBlcjxU
ZXN0TmFtZWRHZXR0ZXJDYWxsV2l0aD4oc3RydWN0dXJlLCBnbG9iYWxPYmplY3QsIFdURk1vdmUo
aW1wbCksIGJ1dHRlcmZseSkKK0pTVGVzdE5hbWVkR2V0dGVyQ2FsbFdpdGg6OkpTVGVzdE5hbWVk
R2V0dGVyQ2FsbFdpdGgoU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEpTRE9NR2xvYmFsT2JqZWN0JiBn
bG9iYWxPYmplY3QsIFJlZjxUZXN0TmFtZWRHZXR0ZXJDYWxsV2l0aD4mJiBpbXBsKQorICAgIDog
SlNET01XcmFwcGVyPFRlc3ROYW1lZEdldHRlckNhbGxXaXRoPihzdHJ1Y3R1cmUsIGdsb2JhbE9i
amVjdCwgV1RGTW92ZShpbXBsKSkKIHsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkR2V0dGVyQ2FsbFdpdGguaCBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZEdldHRlckNh
bGxXaXRoLmgKaW5kZXggY2UxMmU5OTE2YmQ5Li5iMmQ0YTU0M2Q3MTQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZEdldHRlckNh
bGxXaXRoLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdE5hbWVkR2V0dGVyQ2FsbFdpdGguaApAQCAtNjMsNyArNjMsNyBAQCBwdWJsaWM6CiBwdWJs
aWM6CiAgICAgc3RhdGljIGNvbnN0ZXhwciB1bnNpZ25lZCBTdHJ1Y3R1cmVGbGFncyA9IEJhc2U6
OlN0cnVjdHVyZUZsYWdzIHwgSlNDOjpHZXRPd25Qcm9wZXJ0eVNsb3RJc0ltcHVyZUZvclByb3Bl
cnR5QWJzZW5jZSB8IEpTQzo6SW50ZXJjZXB0c0dldE93blByb3BlcnR5U2xvdEJ5SW5kZXhFdmVu
V2hlbkxlbmd0aElzTm90WmVybyB8IEpTQzo6T3ZlcnJpZGVzR2V0T3duUHJvcGVydHlOYW1lcyB8
IEpTQzo6T3ZlcnJpZGVzR2V0T3duUHJvcGVydHlTbG90OwogcHJvdGVjdGVkOgotICAgIEpTVGVz
dE5hbWVkR2V0dGVyQ2FsbFdpdGgoSlNDOjpTdHJ1Y3R1cmUqLCBKU0RPTUdsb2JhbE9iamVjdCYs
IFJlZjxUZXN0TmFtZWRHZXR0ZXJDYWxsV2l0aD4mJiwgSlNDOjpCdXR0ZXJmbHkqID0gbnVsbHB0
cik7CisgICAgSlNUZXN0TmFtZWRHZXR0ZXJDYWxsV2l0aChKU0M6OlN0cnVjdHVyZSosIEpTRE9N
R2xvYmFsT2JqZWN0JiwgUmVmPFRlc3ROYW1lZEdldHRlckNhbGxXaXRoPiYmKTsKIAogICAgIHZv
aWQgZmluaXNoQ3JlYXRpb24oSlNDOjpWTSYpOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZEdldHRlck5vSWRlbnRpZmll
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFt
ZWRHZXR0ZXJOb0lkZW50aWZpZXIuY3BwCmluZGV4IDcyNzgyYjBmN2NjZC4uMWI4MWFhZjg4Mjg3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNU
ZXN0TmFtZWRHZXR0ZXJOb0lkZW50aWZpZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZEdldHRlck5vSWRlbnRpZmllci5jcHAKQEAg
LTEyMCw4ICsxMjAsOCBAQCB2b2lkIEpTVGVzdE5hbWVkR2V0dGVyTm9JZGVudGlmaWVyUHJvdG90
eXBlOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0pCiAKIGNvbnN0IENsYXNzSW5mbyBKU1Rlc3ROYW1l
ZEdldHRlck5vSWRlbnRpZmllcjo6c19pbmZvID0geyAiVGVzdE5hbWVkR2V0dGVyTm9JZGVudGlm
aWVyIl9zLCAmQmFzZTo6c19pbmZvLCBudWxscHRyLCBudWxscHRyLCBDUkVBVEVfTUVUSE9EX1RB
QkxFKEpTVGVzdE5hbWVkR2V0dGVyTm9JZGVudGlmaWVyKSB9OwogCi1KU1Rlc3ROYW1lZEdldHRl
ck5vSWRlbnRpZmllcjo6SlNUZXN0TmFtZWRHZXR0ZXJOb0lkZW50aWZpZXIoU3RydWN0dXJlKiBz
dHJ1Y3R1cmUsIEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QsIFJlZjxUZXN0TmFtZWRH
ZXR0ZXJOb0lkZW50aWZpZXI+JiYgaW1wbCwgSlNDOjpCdXR0ZXJmbHkqIGJ1dHRlcmZseSkKLSAg
ICA6IEpTRE9NV3JhcHBlcjxUZXN0TmFtZWRHZXR0ZXJOb0lkZW50aWZpZXI+KHN0cnVjdHVyZSwg
Z2xvYmFsT2JqZWN0LCBXVEZNb3ZlKGltcGwpLCBidXR0ZXJmbHkpCitKU1Rlc3ROYW1lZEdldHRl
ck5vSWRlbnRpZmllcjo6SlNUZXN0TmFtZWRHZXR0ZXJOb0lkZW50aWZpZXIoU3RydWN0dXJlKiBz
dHJ1Y3R1cmUsIEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QsIFJlZjxUZXN0TmFtZWRH
ZXR0ZXJOb0lkZW50aWZpZXI+JiYgaW1wbCkKKyAgICA6IEpTRE9NV3JhcHBlcjxUZXN0TmFtZWRH
ZXR0ZXJOb0lkZW50aWZpZXI+KHN0cnVjdHVyZSwgZ2xvYmFsT2JqZWN0LCBXVEZNb3ZlKGltcGwp
KQogewogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNUZXN0TmFtZWRHZXR0ZXJOb0lkZW50aWZpZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZEdldHRlck5vSWRlbnRpZmllci5oCmlu
ZGV4IDNhYzkyZTcwNDRmMi4uMWNhYTcyMDhhNjFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRHZXR0ZXJOb0lkZW50aWZpZXIu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFt
ZWRHZXR0ZXJOb0lkZW50aWZpZXIuaApAQCAtNjMsNyArNjMsNyBAQCBwdWJsaWM6CiBwdWJsaWM6
CiAgICAgc3RhdGljIGNvbnN0ZXhwciB1bnNpZ25lZCBTdHJ1Y3R1cmVGbGFncyA9IEJhc2U6OlN0
cnVjdHVyZUZsYWdzIHwgSlNDOjpHZXRPd25Qcm9wZXJ0eVNsb3RJc0ltcHVyZUZvclByb3BlcnR5
QWJzZW5jZSB8IEpTQzo6SW50ZXJjZXB0c0dldE93blByb3BlcnR5U2xvdEJ5SW5kZXhFdmVuV2hl
bkxlbmd0aElzTm90WmVybyB8IEpTQzo6T3ZlcnJpZGVzR2V0T3duUHJvcGVydHlOYW1lcyB8IEpT
Qzo6T3ZlcnJpZGVzR2V0T3duUHJvcGVydHlTbG90OwogcHJvdGVjdGVkOgotICAgIEpTVGVzdE5h
bWVkR2V0dGVyTm9JZGVudGlmaWVyKEpTQzo6U3RydWN0dXJlKiwgSlNET01HbG9iYWxPYmplY3Qm
LCBSZWY8VGVzdE5hbWVkR2V0dGVyTm9JZGVudGlmaWVyPiYmLCBKU0M6OkJ1dHRlcmZseSogPSBu
dWxscHRyKTsKKyAgICBKU1Rlc3ROYW1lZEdldHRlck5vSWRlbnRpZmllcihKU0M6OlN0cnVjdHVy
ZSosIEpTRE9NR2xvYmFsT2JqZWN0JiwgUmVmPFRlc3ROYW1lZEdldHRlck5vSWRlbnRpZmllcj4m
Jik7CiAKICAgICB2b2lkIGZpbmlzaENyZWF0aW9uKEpTQzo6Vk0mKTsKIH07CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRHZXR0
ZXJXaXRoSWRlbnRpZmllci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNUZXN0TmFtZWRHZXR0ZXJXaXRoSWRlbnRpZmllci5jcHAKaW5kZXggZWQ1MjJkMzI0
MjhlLi45NDJjOGFkYThlZmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZEdldHRlcldpdGhJZGVudGlmaWVyLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRHZXR0ZXJX
aXRoSWRlbnRpZmllci5jcHAKQEAgLTEyNiw4ICsxMjYsOCBAQCB2b2lkIEpTVGVzdE5hbWVkR2V0
dGVyV2l0aElkZW50aWZpZXJQcm90b3R5cGU6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSkKIAogY29u
c3QgQ2xhc3NJbmZvIEpTVGVzdE5hbWVkR2V0dGVyV2l0aElkZW50aWZpZXI6OnNfaW5mbyA9IHsg
IlRlc3ROYW1lZEdldHRlcldpdGhJZGVudGlmaWVyIl9zLCAmQmFzZTo6c19pbmZvLCBudWxscHRy
LCBudWxscHRyLCBDUkVBVEVfTUVUSE9EX1RBQkxFKEpTVGVzdE5hbWVkR2V0dGVyV2l0aElkZW50
aWZpZXIpIH07CiAKLUpTVGVzdE5hbWVkR2V0dGVyV2l0aElkZW50aWZpZXI6OkpTVGVzdE5hbWVk
R2V0dGVyV2l0aElkZW50aWZpZXIoU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEpTRE9NR2xvYmFsT2Jq
ZWN0JiBnbG9iYWxPYmplY3QsIFJlZjxUZXN0TmFtZWRHZXR0ZXJXaXRoSWRlbnRpZmllcj4mJiBp
bXBsLCBKU0M6OkJ1dHRlcmZseSogYnV0dGVyZmx5KQotICAgIDogSlNET01XcmFwcGVyPFRlc3RO
YW1lZEdldHRlcldpdGhJZGVudGlmaWVyPihzdHJ1Y3R1cmUsIGdsb2JhbE9iamVjdCwgV1RGTW92
ZShpbXBsKSwgYnV0dGVyZmx5KQorSlNUZXN0TmFtZWRHZXR0ZXJXaXRoSWRlbnRpZmllcjo6SlNU
ZXN0TmFtZWRHZXR0ZXJXaXRoSWRlbnRpZmllcihTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgSlNET01H
bG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCwgUmVmPFRlc3ROYW1lZEdldHRlcldpdGhJZGVudGlm
aWVyPiYmIGltcGwpCisgICAgOiBKU0RPTVdyYXBwZXI8VGVzdE5hbWVkR2V0dGVyV2l0aElkZW50
aWZpZXI+KHN0cnVjdHVyZSwgZ2xvYmFsT2JqZWN0LCBXVEZNb3ZlKGltcGwpKQogewogfQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0
TmFtZWRHZXR0ZXJXaXRoSWRlbnRpZmllci5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkR2V0dGVyV2l0aElkZW50aWZpZXIuaAppbmRleCBiYzFh
NzIwM2YwMTUuLjVhNGQwNzU3YzkxNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkR2V0dGVyV2l0aElkZW50aWZpZXIuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRHZXR0
ZXJXaXRoSWRlbnRpZmllci5oCkBAIC02Myw3ICs2Myw3IEBAIHB1YmxpYzoKIHB1YmxpYzoKICAg
ICBzdGF0aWMgY29uc3RleHByIHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gQmFzZTo6U3RydWN0
dXJlRmxhZ3MgfCBKU0M6OkdldE93blByb3BlcnR5U2xvdElzSW1wdXJlRm9yUHJvcGVydHlBYnNl
bmNlIHwgSlNDOjpJbnRlcmNlcHRzR2V0T3duUHJvcGVydHlTbG90QnlJbmRleEV2ZW5XaGVuTGVu
Z3RoSXNOb3RaZXJvIHwgSlNDOjpPdmVycmlkZXNHZXRPd25Qcm9wZXJ0eU5hbWVzIHwgSlNDOjpP
dmVycmlkZXNHZXRPd25Qcm9wZXJ0eVNsb3Q7CiBwcm90ZWN0ZWQ6Ci0gICAgSlNUZXN0TmFtZWRH
ZXR0ZXJXaXRoSWRlbnRpZmllcihKU0M6OlN0cnVjdHVyZSosIEpTRE9NR2xvYmFsT2JqZWN0Jiwg
UmVmPFRlc3ROYW1lZEdldHRlcldpdGhJZGVudGlmaWVyPiYmLCBKU0M6OkJ1dHRlcmZseSogPSBu
dWxscHRyKTsKKyAgICBKU1Rlc3ROYW1lZEdldHRlcldpdGhJZGVudGlmaWVyKEpTQzo6U3RydWN0
dXJlKiwgSlNET01HbG9iYWxPYmplY3QmLCBSZWY8VGVzdE5hbWVkR2V0dGVyV2l0aElkZW50aWZp
ZXI+JiYpOwogCiAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihKU0M6OlZNJik7CiB9OwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVk
U2V0dGVyTm9JZGVudGlmaWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3ROYW1lZFNldHRlck5vSWRlbnRpZmllci5jcHAKaW5kZXggYWE1NGI1Nzgz
ZjI0Li45MjFlY2QxMDNmMjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZFNldHRlck5vSWRlbnRpZmllci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkU2V0dGVyTm9J
ZGVudGlmaWVyLmNwcApAQCAtMTIwLDggKzEyMCw4IEBAIHZvaWQgSlNUZXN0TmFtZWRTZXR0ZXJO
b0lkZW50aWZpZXJQcm90b3R5cGU6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSkKIAogY29uc3QgQ2xh
c3NJbmZvIEpTVGVzdE5hbWVkU2V0dGVyTm9JZGVudGlmaWVyOjpzX2luZm8gPSB7ICJUZXN0TmFt
ZWRTZXR0ZXJOb0lkZW50aWZpZXIiX3MsICZCYXNlOjpzX2luZm8sIG51bGxwdHIsIG51bGxwdHIs
IENSRUFURV9NRVRIT0RfVEFCTEUoSlNUZXN0TmFtZWRTZXR0ZXJOb0lkZW50aWZpZXIpIH07CiAK
LUpTVGVzdE5hbWVkU2V0dGVyTm9JZGVudGlmaWVyOjpKU1Rlc3ROYW1lZFNldHRlck5vSWRlbnRp
ZmllcihTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgSlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVj
dCwgUmVmPFRlc3ROYW1lZFNldHRlck5vSWRlbnRpZmllcj4mJiBpbXBsLCBKU0M6OkJ1dHRlcmZs
eSogYnV0dGVyZmx5KQotICAgIDogSlNET01XcmFwcGVyPFRlc3ROYW1lZFNldHRlck5vSWRlbnRp
Zmllcj4oc3RydWN0dXJlLCBnbG9iYWxPYmplY3QsIFdURk1vdmUoaW1wbCksIGJ1dHRlcmZseSkK
K0pTVGVzdE5hbWVkU2V0dGVyTm9JZGVudGlmaWVyOjpKU1Rlc3ROYW1lZFNldHRlck5vSWRlbnRp
ZmllcihTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgSlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVj
dCwgUmVmPFRlc3ROYW1lZFNldHRlck5vSWRlbnRpZmllcj4mJiBpbXBsKQorICAgIDogSlNET01X
cmFwcGVyPFRlc3ROYW1lZFNldHRlck5vSWRlbnRpZmllcj4oc3RydWN0dXJlLCBnbG9iYWxPYmpl
Y3QsIFdURk1vdmUoaW1wbCkpCiB7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZFNldHRlck5vSWRlbnRpZmllci5oIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkU2V0dGVy
Tm9JZGVudGlmaWVyLmgKaW5kZXggOTAwNjMyNzkyYzk3Li4yNTk4OTNmZmJmMjggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZFNl
dHRlck5vSWRlbnRpZmllci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3ROYW1lZFNldHRlck5vSWRlbnRpZmllci5oCkBAIC02Niw3ICs2Niw3IEBA
IHB1YmxpYzoKIHB1YmxpYzoKICAgICBzdGF0aWMgY29uc3RleHByIHVuc2lnbmVkIFN0cnVjdHVy
ZUZsYWdzID0gQmFzZTo6U3RydWN0dXJlRmxhZ3MgfCBKU0M6OkdldE93blByb3BlcnR5U2xvdElz
SW1wdXJlRm9yUHJvcGVydHlBYnNlbmNlIHwgSlNDOjpJbnRlcmNlcHRzR2V0T3duUHJvcGVydHlT
bG90QnlJbmRleEV2ZW5XaGVuTGVuZ3RoSXNOb3RaZXJvIHwgSlNDOjpPdmVycmlkZXNHZXRPd25Q
cm9wZXJ0eU5hbWVzIHwgSlNDOjpPdmVycmlkZXNHZXRPd25Qcm9wZXJ0eVNsb3QgfCBKU0M6Ok92
ZXJyaWRlc1B1dCB8IEpTQzo6UHJvaGliaXRzUHJvcGVydHlDYWNoaW5nOwogcHJvdGVjdGVkOgot
ICAgIEpTVGVzdE5hbWVkU2V0dGVyTm9JZGVudGlmaWVyKEpTQzo6U3RydWN0dXJlKiwgSlNET01H
bG9iYWxPYmplY3QmLCBSZWY8VGVzdE5hbWVkU2V0dGVyTm9JZGVudGlmaWVyPiYmLCBKU0M6OkJ1
dHRlcmZseSogPSBudWxscHRyKTsKKyAgICBKU1Rlc3ROYW1lZFNldHRlck5vSWRlbnRpZmllcihK
U0M6OlN0cnVjdHVyZSosIEpTRE9NR2xvYmFsT2JqZWN0JiwgUmVmPFRlc3ROYW1lZFNldHRlck5v
SWRlbnRpZmllcj4mJik7CiAKICAgICB2b2lkIGZpbmlzaENyZWF0aW9uKEpTQzo6Vk0mKTsKIH07
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNU
ZXN0TmFtZWRTZXR0ZXJUaHJvd2luZ0V4Y2VwdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRTZXR0ZXJUaHJvd2luZ0V4Y2VwdGlvbi5j
cHAKaW5kZXggMjYwNDBmZmUzYjRjLi5hYTdmZDY0NzI0ZTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZFNldHRlclRocm93aW5n
RXhjZXB0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0TmFtZWRTZXR0ZXJUaHJvd2luZ0V4Y2VwdGlvbi5jcHAKQEAgLTEyMCw4ICsxMjAs
OCBAQCB2b2lkIEpTVGVzdE5hbWVkU2V0dGVyVGhyb3dpbmdFeGNlcHRpb25Qcm90b3R5cGU6OmZp
bmlzaENyZWF0aW9uKFZNJiB2bSkKIAogY29uc3QgQ2xhc3NJbmZvIEpTVGVzdE5hbWVkU2V0dGVy
VGhyb3dpbmdFeGNlcHRpb246OnNfaW5mbyA9IHsgIlRlc3ROYW1lZFNldHRlclRocm93aW5nRXhj
ZXB0aW9uIl9zLCAmQmFzZTo6c19pbmZvLCBudWxscHRyLCBudWxscHRyLCBDUkVBVEVfTUVUSE9E
X1RBQkxFKEpTVGVzdE5hbWVkU2V0dGVyVGhyb3dpbmdFeGNlcHRpb24pIH07CiAKLUpTVGVzdE5h
bWVkU2V0dGVyVGhyb3dpbmdFeGNlcHRpb246OkpTVGVzdE5hbWVkU2V0dGVyVGhyb3dpbmdFeGNl
cHRpb24oU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmpl
Y3QsIFJlZjxUZXN0TmFtZWRTZXR0ZXJUaHJvd2luZ0V4Y2VwdGlvbj4mJiBpbXBsLCBKU0M6OkJ1
dHRlcmZseSogYnV0dGVyZmx5KQotICAgIDogSlNET01XcmFwcGVyPFRlc3ROYW1lZFNldHRlclRo
cm93aW5nRXhjZXB0aW9uPihzdHJ1Y3R1cmUsIGdsb2JhbE9iamVjdCwgV1RGTW92ZShpbXBsKSwg
YnV0dGVyZmx5KQorSlNUZXN0TmFtZWRTZXR0ZXJUaHJvd2luZ0V4Y2VwdGlvbjo6SlNUZXN0TmFt
ZWRTZXR0ZXJUaHJvd2luZ0V4Y2VwdGlvbihTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgSlNET01HbG9i
YWxPYmplY3QmIGdsb2JhbE9iamVjdCwgUmVmPFRlc3ROYW1lZFNldHRlclRocm93aW5nRXhjZXB0
aW9uPiYmIGltcGwpCisgICAgOiBKU0RPTVdyYXBwZXI8VGVzdE5hbWVkU2V0dGVyVGhyb3dpbmdF
eGNlcHRpb24+KHN0cnVjdHVyZSwgZ2xvYmFsT2JqZWN0LCBXVEZNb3ZlKGltcGwpKQogewogfQog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNU
ZXN0TmFtZWRTZXR0ZXJUaHJvd2luZ0V4Y2VwdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkU2V0dGVyVGhyb3dpbmdFeGNlcHRpb24uaApp
bmRleCA0YzgyNTcwOWZhZGIuLjc4MjQzYTlhMTY0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkU2V0dGVyVGhyb3dpbmdFeGNl
cHRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNU
ZXN0TmFtZWRTZXR0ZXJUaHJvd2luZ0V4Y2VwdGlvbi5oCkBAIC02Niw3ICs2Niw3IEBAIHB1Ymxp
YzoKIHB1YmxpYzoKICAgICBzdGF0aWMgY29uc3RleHByIHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdz
ID0gQmFzZTo6U3RydWN0dXJlRmxhZ3MgfCBKU0M6OkdldE93blByb3BlcnR5U2xvdElzSW1wdXJl
Rm9yUHJvcGVydHlBYnNlbmNlIHwgSlNDOjpJbnRlcmNlcHRzR2V0T3duUHJvcGVydHlTbG90QnlJ
bmRleEV2ZW5XaGVuTGVuZ3RoSXNOb3RaZXJvIHwgSlNDOjpPdmVycmlkZXNHZXRPd25Qcm9wZXJ0
eU5hbWVzIHwgSlNDOjpPdmVycmlkZXNHZXRPd25Qcm9wZXJ0eVNsb3QgfCBKU0M6Ok92ZXJyaWRl
c1B1dCB8IEpTQzo6UHJvaGliaXRzUHJvcGVydHlDYWNoaW5nOwogcHJvdGVjdGVkOgotICAgIEpT
VGVzdE5hbWVkU2V0dGVyVGhyb3dpbmdFeGNlcHRpb24oSlNDOjpTdHJ1Y3R1cmUqLCBKU0RPTUds
b2JhbE9iamVjdCYsIFJlZjxUZXN0TmFtZWRTZXR0ZXJUaHJvd2luZ0V4Y2VwdGlvbj4mJiwgSlND
OjpCdXR0ZXJmbHkqID0gbnVsbHB0cik7CisgICAgSlNUZXN0TmFtZWRTZXR0ZXJUaHJvd2luZ0V4
Y2VwdGlvbihKU0M6OlN0cnVjdHVyZSosIEpTRE9NR2xvYmFsT2JqZWN0JiwgUmVmPFRlc3ROYW1l
ZFNldHRlclRocm93aW5nRXhjZXB0aW9uPiYmKTsKIAogICAgIHZvaWQgZmluaXNoQ3JlYXRpb24o
SlNDOjpWTSYpOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3ROYW1lZFNldHRlcldpdGhJZGVudGlmaWVyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZFNldHRlcldpdGhJZGVu
dGlmaWVyLmNwcAppbmRleCAzMDUyMWUyZGVmZWEuLmQ4ZTViZGEwOWFmOSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkU2V0dGVy
V2l0aElkZW50aWZpZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3ROYW1lZFNldHRlcldpdGhJZGVudGlmaWVyLmNwcApAQCAtMTI4LDggKzEy
OCw4IEBAIHZvaWQgSlNUZXN0TmFtZWRTZXR0ZXJXaXRoSWRlbnRpZmllclByb3RvdHlwZTo6Zmlu
aXNoQ3JlYXRpb24oVk0mIHZtKQogCiBjb25zdCBDbGFzc0luZm8gSlNUZXN0TmFtZWRTZXR0ZXJX
aXRoSWRlbnRpZmllcjo6c19pbmZvID0geyAiVGVzdE5hbWVkU2V0dGVyV2l0aElkZW50aWZpZXIi
X3MsICZCYXNlOjpzX2luZm8sIG51bGxwdHIsIG51bGxwdHIsIENSRUFURV9NRVRIT0RfVEFCTEUo
SlNUZXN0TmFtZWRTZXR0ZXJXaXRoSWRlbnRpZmllcikgfTsKIAotSlNUZXN0TmFtZWRTZXR0ZXJX
aXRoSWRlbnRpZmllcjo6SlNUZXN0TmFtZWRTZXR0ZXJXaXRoSWRlbnRpZmllcihTdHJ1Y3R1cmUq
IHN0cnVjdHVyZSwgSlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCwgUmVmPFRlc3ROYW1l
ZFNldHRlcldpdGhJZGVudGlmaWVyPiYmIGltcGwsIEpTQzo6QnV0dGVyZmx5KiBidXR0ZXJmbHkp
Ci0gICAgOiBKU0RPTVdyYXBwZXI8VGVzdE5hbWVkU2V0dGVyV2l0aElkZW50aWZpZXI+KHN0cnVj
dHVyZSwgZ2xvYmFsT2JqZWN0LCBXVEZNb3ZlKGltcGwpLCBidXR0ZXJmbHkpCitKU1Rlc3ROYW1l
ZFNldHRlcldpdGhJZGVudGlmaWVyOjpKU1Rlc3ROYW1lZFNldHRlcldpdGhJZGVudGlmaWVyKFN0
cnVjdHVyZSogc3RydWN0dXJlLCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0LCBSZWY8
VGVzdE5hbWVkU2V0dGVyV2l0aElkZW50aWZpZXI+JiYgaW1wbCkKKyAgICA6IEpTRE9NV3JhcHBl
cjxUZXN0TmFtZWRTZXR0ZXJXaXRoSWRlbnRpZmllcj4oc3RydWN0dXJlLCBnbG9iYWxPYmplY3Qs
IFdURk1vdmUoaW1wbCkpCiB7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZFNldHRlcldpdGhJZGVudGlmaWVyLmggYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRTZXR0ZXJX
aXRoSWRlbnRpZmllci5oCmluZGV4IGQ5ODk2YWE1YjQ0MC4uOGM4NGFhNDNhYjJiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRT
ZXR0ZXJXaXRoSWRlbnRpZmllci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3ROYW1lZFNldHRlcldpdGhJZGVudGlmaWVyLmgKQEAgLTY2LDcgKzY2
LDcgQEAgcHVibGljOgogcHVibGljOgogICAgIHN0YXRpYyBjb25zdGV4cHIgdW5zaWduZWQgU3Ry
dWN0dXJlRmxhZ3MgPSBCYXNlOjpTdHJ1Y3R1cmVGbGFncyB8IEpTQzo6R2V0T3duUHJvcGVydHlT
bG90SXNJbXB1cmVGb3JQcm9wZXJ0eUFic2VuY2UgfCBKU0M6OkludGVyY2VwdHNHZXRPd25Qcm9w
ZXJ0eVNsb3RCeUluZGV4RXZlbldoZW5MZW5ndGhJc05vdFplcm8gfCBKU0M6Ok92ZXJyaWRlc0dl
dE93blByb3BlcnR5TmFtZXMgfCBKU0M6Ok92ZXJyaWRlc0dldE93blByb3BlcnR5U2xvdCB8IEpT
Qzo6T3ZlcnJpZGVzUHV0IHwgSlNDOjpQcm9oaWJpdHNQcm9wZXJ0eUNhY2hpbmc7CiBwcm90ZWN0
ZWQ6Ci0gICAgSlNUZXN0TmFtZWRTZXR0ZXJXaXRoSWRlbnRpZmllcihKU0M6OlN0cnVjdHVyZSos
IEpTRE9NR2xvYmFsT2JqZWN0JiwgUmVmPFRlc3ROYW1lZFNldHRlcldpdGhJZGVudGlmaWVyPiYm
LCBKU0M6OkJ1dHRlcmZseSogPSBudWxscHRyKTsKKyAgICBKU1Rlc3ROYW1lZFNldHRlcldpdGhJ
ZGVudGlmaWVyKEpTQzo6U3RydWN0dXJlKiwgSlNET01HbG9iYWxPYmplY3QmLCBSZWY8VGVzdE5h
bWVkU2V0dGVyV2l0aElkZW50aWZpZXI+JiYpOwogCiAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihK
U0M6OlZNJik7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTVGVzdE5hbWVkU2V0dGVyV2l0aEluZGV4ZWRHZXR0ZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkU2V0dGVyV2l0aElu
ZGV4ZWRHZXR0ZXIuY3BwCmluZGV4IDUzY2ZmZGI2MmE0Ni4uZGRlYzIzZjM5ZDk1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRT
ZXR0ZXJXaXRoSW5kZXhlZEdldHRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkU2V0dGVyV2l0aEluZGV4ZWRHZXR0ZXIuY3BwCkBA
IC0xMzIsOCArMTMyLDggQEAgdm9pZCBKU1Rlc3ROYW1lZFNldHRlcldpdGhJbmRleGVkR2V0dGVy
UHJvdG90eXBlOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0pCiAKIGNvbnN0IENsYXNzSW5mbyBKU1Rl
c3ROYW1lZFNldHRlcldpdGhJbmRleGVkR2V0dGVyOjpzX2luZm8gPSB7ICJUZXN0TmFtZWRTZXR0
ZXJXaXRoSW5kZXhlZEdldHRlciJfcywgJkJhc2U6OnNfaW5mbywgbnVsbHB0ciwgbnVsbHB0ciwg
Q1JFQVRFX01FVEhPRF9UQUJMRShKU1Rlc3ROYW1lZFNldHRlcldpdGhJbmRleGVkR2V0dGVyKSB9
OwogCi1KU1Rlc3ROYW1lZFNldHRlcldpdGhJbmRleGVkR2V0dGVyOjpKU1Rlc3ROYW1lZFNldHRl
cldpdGhJbmRleGVkR2V0dGVyKFN0cnVjdHVyZSogc3RydWN0dXJlLCBKU0RPTUdsb2JhbE9iamVj
dCYgZ2xvYmFsT2JqZWN0LCBSZWY8VGVzdE5hbWVkU2V0dGVyV2l0aEluZGV4ZWRHZXR0ZXI+JiYg
aW1wbCwgSlNDOjpCdXR0ZXJmbHkqIGJ1dHRlcmZseSkKLSAgICA6IEpTRE9NV3JhcHBlcjxUZXN0
TmFtZWRTZXR0ZXJXaXRoSW5kZXhlZEdldHRlcj4oc3RydWN0dXJlLCBnbG9iYWxPYmplY3QsIFdU
Rk1vdmUoaW1wbCksIGJ1dHRlcmZseSkKK0pTVGVzdE5hbWVkU2V0dGVyV2l0aEluZGV4ZWRHZXR0
ZXI6OkpTVGVzdE5hbWVkU2V0dGVyV2l0aEluZGV4ZWRHZXR0ZXIoU3RydWN0dXJlKiBzdHJ1Y3R1
cmUsIEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QsIFJlZjxUZXN0TmFtZWRTZXR0ZXJX
aXRoSW5kZXhlZEdldHRlcj4mJiBpbXBsKQorICAgIDogSlNET01XcmFwcGVyPFRlc3ROYW1lZFNl
dHRlcldpdGhJbmRleGVkR2V0dGVyPihzdHJ1Y3R1cmUsIGdsb2JhbE9iamVjdCwgV1RGTW92ZShp
bXBsKSkKIHsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTVGVzdE5hbWVkU2V0dGVyV2l0aEluZGV4ZWRHZXR0ZXIuaCBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZFNldHRlcldpdGhJbmRl
eGVkR2V0dGVyLmgKaW5kZXggNTY5NzRiYjFiMGQ2Li42OGUzOWYyOWE4YWMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZFNldHRl
cldpdGhJbmRleGVkR2V0dGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTVGVzdE5hbWVkU2V0dGVyV2l0aEluZGV4ZWRHZXR0ZXIuaApAQCAtNjYsNyAr
NjYsNyBAQCBwdWJsaWM6CiBwdWJsaWM6CiAgICAgc3RhdGljIGNvbnN0ZXhwciB1bnNpZ25lZCBT
dHJ1Y3R1cmVGbGFncyA9IEJhc2U6OlN0cnVjdHVyZUZsYWdzIHwgSlNDOjpHZXRPd25Qcm9wZXJ0
eVNsb3RJc0ltcHVyZUZvclByb3BlcnR5QWJzZW5jZSB8IEpTQzo6SW50ZXJjZXB0c0dldE93blBy
b3BlcnR5U2xvdEJ5SW5kZXhFdmVuV2hlbkxlbmd0aElzTm90WmVybyB8IEpTQzo6T3ZlcnJpZGVz
R2V0T3duUHJvcGVydHlOYW1lcyB8IEpTQzo6T3ZlcnJpZGVzR2V0T3duUHJvcGVydHlTbG90IHwg
SlNDOjpPdmVycmlkZXNQdXQgfCBKU0M6OlByb2hpYml0c1Byb3BlcnR5Q2FjaGluZzsKIHByb3Rl
Y3RlZDoKLSAgICBKU1Rlc3ROYW1lZFNldHRlcldpdGhJbmRleGVkR2V0dGVyKEpTQzo6U3RydWN0
dXJlKiwgSlNET01HbG9iYWxPYmplY3QmLCBSZWY8VGVzdE5hbWVkU2V0dGVyV2l0aEluZGV4ZWRH
ZXR0ZXI+JiYsIEpTQzo6QnV0dGVyZmx5KiA9IG51bGxwdHIpOworICAgIEpTVGVzdE5hbWVkU2V0
dGVyV2l0aEluZGV4ZWRHZXR0ZXIoSlNDOjpTdHJ1Y3R1cmUqLCBKU0RPTUdsb2JhbE9iamVjdCYs
IFJlZjxUZXN0TmFtZWRTZXR0ZXJXaXRoSW5kZXhlZEdldHRlcj4mJik7CiAKICAgICB2b2lkIGZp
bmlzaENyZWF0aW9uKEpTQzo6Vk0mKTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRTZXR0ZXJXaXRoSW5kZXhlZEdldHRl
ckFuZFNldHRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNUZXN0TmFtZWRTZXR0ZXJXaXRoSW5kZXhlZEdldHRlckFuZFNldHRlci5jcHAKaW5kZXggMjA2
MjE4MDIxZWNjLi4zOGNmNTcwNTU1MTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZFNldHRlcldpdGhJbmRleGVkR2V0dGVyQW5k
U2V0dGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNUZXN0TmFtZWRTZXR0ZXJXaXRoSW5kZXhlZEdldHRlckFuZFNldHRlci5jcHAKQEAgLTEzMiw4
ICsxMzIsOCBAQCB2b2lkIEpTVGVzdE5hbWVkU2V0dGVyV2l0aEluZGV4ZWRHZXR0ZXJBbmRTZXR0
ZXJQcm90b3R5cGU6OmZpbmlzaENyZWF0aW9uKFZNJiB2bQogCiBjb25zdCBDbGFzc0luZm8gSlNU
ZXN0TmFtZWRTZXR0ZXJXaXRoSW5kZXhlZEdldHRlckFuZFNldHRlcjo6c19pbmZvID0geyAiVGVz
dE5hbWVkU2V0dGVyV2l0aEluZGV4ZWRHZXR0ZXJBbmRTZXR0ZXIiX3MsICZCYXNlOjpzX2luZm8s
IG51bGxwdHIsIG51bGxwdHIsIENSRUFURV9NRVRIT0RfVEFCTEUoSlNUZXN0TmFtZWRTZXR0ZXJX
aXRoSW5kZXhlZEdldHRlckFuZFNldHRlcikgfTsKIAotSlNUZXN0TmFtZWRTZXR0ZXJXaXRoSW5k
ZXhlZEdldHRlckFuZFNldHRlcjo6SlNUZXN0TmFtZWRTZXR0ZXJXaXRoSW5kZXhlZEdldHRlckFu
ZFNldHRlcihTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgSlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9i
amVjdCwgUmVmPFRlc3ROYW1lZFNldHRlcldpdGhJbmRleGVkR2V0dGVyQW5kU2V0dGVyPiYmIGlt
cGwsIEpTQzo6QnV0dGVyZmx5KiBidXR0ZXJmbHkpCi0gICAgOiBKU0RPTVdyYXBwZXI8VGVzdE5h
bWVkU2V0dGVyV2l0aEluZGV4ZWRHZXR0ZXJBbmRTZXR0ZXI+KHN0cnVjdHVyZSwgZ2xvYmFsT2Jq
ZWN0LCBXVEZNb3ZlKGltcGwpLCBidXR0ZXJmbHkpCitKU1Rlc3ROYW1lZFNldHRlcldpdGhJbmRl
eGVkR2V0dGVyQW5kU2V0dGVyOjpKU1Rlc3ROYW1lZFNldHRlcldpdGhJbmRleGVkR2V0dGVyQW5k
U2V0dGVyKFN0cnVjdHVyZSogc3RydWN0dXJlLCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsT2Jq
ZWN0LCBSZWY8VGVzdE5hbWVkU2V0dGVyV2l0aEluZGV4ZWRHZXR0ZXJBbmRTZXR0ZXI+JiYgaW1w
bCkKKyAgICA6IEpTRE9NV3JhcHBlcjxUZXN0TmFtZWRTZXR0ZXJXaXRoSW5kZXhlZEdldHRlckFu
ZFNldHRlcj4oc3RydWN0dXJlLCBnbG9iYWxPYmplY3QsIFdURk1vdmUoaW1wbCkpCiB7CiB9CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rl
c3ROYW1lZFNldHRlcldpdGhJbmRleGVkR2V0dGVyQW5kU2V0dGVyLmggYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRTZXR0ZXJXaXRoSW5kZXhlZEdl
dHRlckFuZFNldHRlci5oCmluZGV4IDY0ZDUyOWI1OWFhNC4uZDA2YTA1YmI5NjExIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRT
ZXR0ZXJXaXRoSW5kZXhlZEdldHRlckFuZFNldHRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZFNldHRlcldpdGhJbmRleGVkR2V0dGVy
QW5kU2V0dGVyLmgKQEAgLTY2LDcgKzY2LDcgQEAgcHVibGljOgogcHVibGljOgogICAgIHN0YXRp
YyBjb25zdGV4cHIgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3MgPSBCYXNlOjpTdHJ1Y3R1cmVGbGFn
cyB8IEpTQzo6R2V0T3duUHJvcGVydHlTbG90SXNJbXB1cmVGb3JQcm9wZXJ0eUFic2VuY2UgfCBK
U0M6OkludGVyY2VwdHNHZXRPd25Qcm9wZXJ0eVNsb3RCeUluZGV4RXZlbldoZW5MZW5ndGhJc05v
dFplcm8gfCBKU0M6Ok92ZXJyaWRlc0dldE93blByb3BlcnR5TmFtZXMgfCBKU0M6Ok92ZXJyaWRl
c0dldE93blByb3BlcnR5U2xvdCB8IEpTQzo6T3ZlcnJpZGVzUHV0IHwgSlNDOjpQcm9oaWJpdHNQ
cm9wZXJ0eUNhY2hpbmc7CiBwcm90ZWN0ZWQ6Ci0gICAgSlNUZXN0TmFtZWRTZXR0ZXJXaXRoSW5k
ZXhlZEdldHRlckFuZFNldHRlcihKU0M6OlN0cnVjdHVyZSosIEpTRE9NR2xvYmFsT2JqZWN0Jiwg
UmVmPFRlc3ROYW1lZFNldHRlcldpdGhJbmRleGVkR2V0dGVyQW5kU2V0dGVyPiYmLCBKU0M6OkJ1
dHRlcmZseSogPSBudWxscHRyKTsKKyAgICBKU1Rlc3ROYW1lZFNldHRlcldpdGhJbmRleGVkR2V0
dGVyQW5kU2V0dGVyKEpTQzo6U3RydWN0dXJlKiwgSlNET01HbG9iYWxPYmplY3QmLCBSZWY8VGVz
dE5hbWVkU2V0dGVyV2l0aEluZGV4ZWRHZXR0ZXJBbmRTZXR0ZXI+JiYpOwogCiAgICAgdm9pZCBm
aW5pc2hDcmVhdGlvbihKU0M6OlZNJik7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkU2V0dGVyV2l0aExlZ2FjeU92ZXJy
aWRlQnVpbHRJbnMuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdE5hbWVkU2V0dGVyV2l0aExlZ2FjeU92ZXJyaWRlQnVpbHRJbnMuY3BwCmluZGV4IGJk
N2MwYjA0ZjM5Yy4uZWVkNjAyNzVmYmUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRTZXR0ZXJXaXRoTGVnYWN5T3ZlcnJpZGVC
dWlsdElucy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdE5hbWVkU2V0dGVyV2l0aExlZ2FjeU92ZXJyaWRlQnVpbHRJbnMuY3BwCkBAIC0xMjAs
OCArMTIwLDggQEAgdm9pZCBKU1Rlc3ROYW1lZFNldHRlcldpdGhMZWdhY3lPdmVycmlkZUJ1aWx0
SW5zUHJvdG90eXBlOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0KIAogY29uc3QgQ2xhc3NJbmZvIEpT
VGVzdE5hbWVkU2V0dGVyV2l0aExlZ2FjeU92ZXJyaWRlQnVpbHRJbnM6OnNfaW5mbyA9IHsgIlRl
c3ROYW1lZFNldHRlcldpdGhMZWdhY3lPdmVycmlkZUJ1aWx0SW5zIl9zLCAmQmFzZTo6c19pbmZv
LCBudWxscHRyLCBudWxscHRyLCBDUkVBVEVfTUVUSE9EX1RBQkxFKEpTVGVzdE5hbWVkU2V0dGVy
V2l0aExlZ2FjeU92ZXJyaWRlQnVpbHRJbnMpIH07CiAKLUpTVGVzdE5hbWVkU2V0dGVyV2l0aExl
Z2FjeU92ZXJyaWRlQnVpbHRJbnM6OkpTVGVzdE5hbWVkU2V0dGVyV2l0aExlZ2FjeU92ZXJyaWRl
QnVpbHRJbnMoU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxP
YmplY3QsIFJlZjxUZXN0TmFtZWRTZXR0ZXJXaXRoTGVnYWN5T3ZlcnJpZGVCdWlsdElucz4mJiBp
bXBsLCBKU0M6OkJ1dHRlcmZseSogYnV0dGVyZmx5KQotICAgIDogSlNET01XcmFwcGVyPFRlc3RO
YW1lZFNldHRlcldpdGhMZWdhY3lPdmVycmlkZUJ1aWx0SW5zPihzdHJ1Y3R1cmUsIGdsb2JhbE9i
amVjdCwgV1RGTW92ZShpbXBsKSwgYnV0dGVyZmx5KQorSlNUZXN0TmFtZWRTZXR0ZXJXaXRoTGVn
YWN5T3ZlcnJpZGVCdWlsdEluczo6SlNUZXN0TmFtZWRTZXR0ZXJXaXRoTGVnYWN5T3ZlcnJpZGVC
dWlsdElucyhTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgSlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9i
amVjdCwgUmVmPFRlc3ROYW1lZFNldHRlcldpdGhMZWdhY3lPdmVycmlkZUJ1aWx0SW5zPiYmIGlt
cGwpCisgICAgOiBKU0RPTVdyYXBwZXI8VGVzdE5hbWVkU2V0dGVyV2l0aExlZ2FjeU92ZXJyaWRl
QnVpbHRJbnM+KHN0cnVjdHVyZSwgZ2xvYmFsT2JqZWN0LCBXVEZNb3ZlKGltcGwpKQogewogfQog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNU
ZXN0TmFtZWRTZXR0ZXJXaXRoTGVnYWN5T3ZlcnJpZGVCdWlsdElucy5oIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkU2V0dGVyV2l0aExlZ2FjeU92
ZXJyaWRlQnVpbHRJbnMuaAppbmRleCBlYTk5ZjE2ZWQ0M2UuLmViNTJlMmNkOTI2OCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVk
U2V0dGVyV2l0aExlZ2FjeU92ZXJyaWRlQnVpbHRJbnMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRTZXR0ZXJXaXRoTGVnYWN5T3ZlcnJp
ZGVCdWlsdElucy5oCkBAIC02Niw3ICs2Niw3IEBAIHB1YmxpYzoKIHB1YmxpYzoKICAgICBzdGF0
aWMgY29uc3RleHByIHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gQmFzZTo6U3RydWN0dXJlRmxh
Z3MgfCBKU0M6OkdldE93blByb3BlcnR5U2xvdElzSW1wdXJlIHwgSlNDOjpJbnRlcmNlcHRzR2V0
T3duUHJvcGVydHlTbG90QnlJbmRleEV2ZW5XaGVuTGVuZ3RoSXNOb3RaZXJvIHwgSlNDOjpPdmVy
cmlkZXNHZXRPd25Qcm9wZXJ0eU5hbWVzIHwgSlNDOjpPdmVycmlkZXNHZXRPd25Qcm9wZXJ0eVNs
b3QgfCBKU0M6Ok92ZXJyaWRlc1B1dCB8IEpTQzo6UHJvaGliaXRzUHJvcGVydHlDYWNoaW5nOwog
cHJvdGVjdGVkOgotICAgIEpTVGVzdE5hbWVkU2V0dGVyV2l0aExlZ2FjeU92ZXJyaWRlQnVpbHRJ
bnMoSlNDOjpTdHJ1Y3R1cmUqLCBKU0RPTUdsb2JhbE9iamVjdCYsIFJlZjxUZXN0TmFtZWRTZXR0
ZXJXaXRoTGVnYWN5T3ZlcnJpZGVCdWlsdElucz4mJiwgSlNDOjpCdXR0ZXJmbHkqID0gbnVsbHB0
cik7CisgICAgSlNUZXN0TmFtZWRTZXR0ZXJXaXRoTGVnYWN5T3ZlcnJpZGVCdWlsdElucyhKU0M6
OlN0cnVjdHVyZSosIEpTRE9NR2xvYmFsT2JqZWN0JiwgUmVmPFRlc3ROYW1lZFNldHRlcldpdGhM
ZWdhY3lPdmVycmlkZUJ1aWx0SW5zPiYmKTsKIAogICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oSlND
OjpWTSYpOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3ROYW1lZFNldHRlcldpdGhMZWdhY3lVbmZvcmdlYWJsZVByb3BlcnRpZXMu
Y3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVk
U2V0dGVyV2l0aExlZ2FjeVVuZm9yZ2VhYmxlUHJvcGVydGllcy5jcHAKaW5kZXggZWY4OTRhMTJm
MGQ4Li5iMWYyNDM5NzYxZTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZFNldHRlcldpdGhMZWdhY3lVbmZvcmdlYWJsZVByb3Bl
cnRpZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3ROYW1lZFNldHRlcldpdGhMZWdhY3lVbmZvcmdlYWJsZVByb3BlcnRpZXMuY3BwCkBAIC0x
NDYsOCArMTQ2LDggQEAgdm9pZCBKU1Rlc3ROYW1lZFNldHRlcldpdGhMZWdhY3lVbmZvcmdlYWJs
ZVByb3BlcnRpZXNQcm90b3R5cGU6OmZpbmlzaENyZWF0aW9uKFYKIAogY29uc3QgQ2xhc3NJbmZv
IEpTVGVzdE5hbWVkU2V0dGVyV2l0aExlZ2FjeVVuZm9yZ2VhYmxlUHJvcGVydGllczo6c19pbmZv
ID0geyAiVGVzdE5hbWVkU2V0dGVyV2l0aExlZ2FjeVVuZm9yZ2VhYmxlUHJvcGVydGllcyJfcywg
JkJhc2U6OnNfaW5mbywgJkpTVGVzdE5hbWVkU2V0dGVyV2l0aExlZ2FjeVVuZm9yZ2VhYmxlUHJv
cGVydGllc1RhYmxlLCBudWxscHRyLCBDUkVBVEVfTUVUSE9EX1RBQkxFKEpTVGVzdE5hbWVkU2V0
dGVyV2l0aExlZ2FjeVVuZm9yZ2VhYmxlUHJvcGVydGllcykgfTsKIAotSlNUZXN0TmFtZWRTZXR0
ZXJXaXRoTGVnYWN5VW5mb3JnZWFibGVQcm9wZXJ0aWVzOjpKU1Rlc3ROYW1lZFNldHRlcldpdGhM
ZWdhY3lVbmZvcmdlYWJsZVByb3BlcnRpZXMoU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEpTRE9NR2xv
YmFsT2JqZWN0JiBnbG9iYWxPYmplY3QsIFJlZjxUZXN0TmFtZWRTZXR0ZXJXaXRoTGVnYWN5VW5m
b3JnZWFibGVQcm9wZXJ0aWVzPiYmIGltcGwsIEpTQzo6QnV0dGVyZmx5KiBidXR0ZXJmbHkpCi0g
ICAgOiBKU0RPTVdyYXBwZXI8VGVzdE5hbWVkU2V0dGVyV2l0aExlZ2FjeVVuZm9yZ2VhYmxlUHJv
cGVydGllcz4oc3RydWN0dXJlLCBnbG9iYWxPYmplY3QsIFdURk1vdmUoaW1wbCksIGJ1dHRlcmZs
eSkKK0pTVGVzdE5hbWVkU2V0dGVyV2l0aExlZ2FjeVVuZm9yZ2VhYmxlUHJvcGVydGllczo6SlNU
ZXN0TmFtZWRTZXR0ZXJXaXRoTGVnYWN5VW5mb3JnZWFibGVQcm9wZXJ0aWVzKFN0cnVjdHVyZSog
c3RydWN0dXJlLCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0LCBSZWY8VGVzdE5hbWVk
U2V0dGVyV2l0aExlZ2FjeVVuZm9yZ2VhYmxlUHJvcGVydGllcz4mJiBpbXBsKQorICAgIDogSlNE
T01XcmFwcGVyPFRlc3ROYW1lZFNldHRlcldpdGhMZWdhY3lVbmZvcmdlYWJsZVByb3BlcnRpZXM+
KHN0cnVjdHVyZSwgZ2xvYmFsT2JqZWN0LCBXVEZNb3ZlKGltcGwpKQogewogfQogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRT
ZXR0ZXJXaXRoTGVnYWN5VW5mb3JnZWFibGVQcm9wZXJ0aWVzLmggYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRTZXR0ZXJXaXRoTGVnYWN5VW5mb3Jn
ZWFibGVQcm9wZXJ0aWVzLmgKaW5kZXggNjRlZDI5NDQ5YjliLi4wNWE2ZTU4MzJjOGEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1l
ZFNldHRlcldpdGhMZWdhY3lVbmZvcmdlYWJsZVByb3BlcnRpZXMuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRTZXR0ZXJXaXRoTGVnYWN5
VW5mb3JnZWFibGVQcm9wZXJ0aWVzLmgKQEAgLTY2LDcgKzY2LDcgQEAgcHVibGljOgogcHVibGlj
OgogICAgIHN0YXRpYyBjb25zdGV4cHIgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3MgPSBCYXNlOjpT
dHJ1Y3R1cmVGbGFncyB8IEpTQzo6R2V0T3duUHJvcGVydHlTbG90SXNJbXB1cmVGb3JQcm9wZXJ0
eUFic2VuY2UgfCBKU0M6Okhhc1N0YXRpY1Byb3BlcnR5VGFibGUgfCBKU0M6OkludGVyY2VwdHNH
ZXRPd25Qcm9wZXJ0eVNsb3RCeUluZGV4RXZlbldoZW5MZW5ndGhJc05vdFplcm8gfCBKU0M6Ok92
ZXJyaWRlc0dldE93blByb3BlcnR5TmFtZXMgfCBKU0M6Ok92ZXJyaWRlc0dldE93blByb3BlcnR5
U2xvdCB8IEpTQzo6T3ZlcnJpZGVzUHV0IHwgSlNDOjpQcm9oaWJpdHNQcm9wZXJ0eUNhY2hpbmc7
CiBwcm90ZWN0ZWQ6Ci0gICAgSlNUZXN0TmFtZWRTZXR0ZXJXaXRoTGVnYWN5VW5mb3JnZWFibGVQ
cm9wZXJ0aWVzKEpTQzo6U3RydWN0dXJlKiwgSlNET01HbG9iYWxPYmplY3QmLCBSZWY8VGVzdE5h
bWVkU2V0dGVyV2l0aExlZ2FjeVVuZm9yZ2VhYmxlUHJvcGVydGllcz4mJiwgSlNDOjpCdXR0ZXJm
bHkqID0gbnVsbHB0cik7CisgICAgSlNUZXN0TmFtZWRTZXR0ZXJXaXRoTGVnYWN5VW5mb3JnZWFi
bGVQcm9wZXJ0aWVzKEpTQzo6U3RydWN0dXJlKiwgSlNET01HbG9iYWxPYmplY3QmLCBSZWY8VGVz
dE5hbWVkU2V0dGVyV2l0aExlZ2FjeVVuZm9yZ2VhYmxlUHJvcGVydGllcz4mJik7CiAKICAgICB2
b2lkIGZpbmlzaENyZWF0aW9uKEpTQzo6Vk0mKTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRTZXR0ZXJXaXRoTGVnYWN5
VW5mb3JnZWFibGVQcm9wZXJ0aWVzQW5kTGVnYWN5T3ZlcnJpZGVCdWlsdElucy5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRTZXR0ZXJXaXRo
TGVnYWN5VW5mb3JnZWFibGVQcm9wZXJ0aWVzQW5kTGVnYWN5T3ZlcnJpZGVCdWlsdElucy5jcHAK
aW5kZXggMzA4ZDY4ZWIyYjcyLi5jZTM2YjlmMzFhMTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZFNldHRlcldpdGhMZWdhY3lV
bmZvcmdlYWJsZVByb3BlcnRpZXNBbmRMZWdhY3lPdmVycmlkZUJ1aWx0SW5zLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRTZXR0ZXJX
aXRoTGVnYWN5VW5mb3JnZWFibGVQcm9wZXJ0aWVzQW5kTGVnYWN5T3ZlcnJpZGVCdWlsdElucy5j
cHAKQEAgLTE0Niw4ICsxNDYsOCBAQCB2b2lkIEpTVGVzdE5hbWVkU2V0dGVyV2l0aExlZ2FjeVVu
Zm9yZ2VhYmxlUHJvcGVydGllc0FuZExlZ2FjeU92ZXJyaWRlQnVpbHRJbnNQcgogCiBjb25zdCBD
bGFzc0luZm8gSlNUZXN0TmFtZWRTZXR0ZXJXaXRoTGVnYWN5VW5mb3JnZWFibGVQcm9wZXJ0aWVz
QW5kTGVnYWN5T3ZlcnJpZGVCdWlsdEluczo6c19pbmZvID0geyAiVGVzdE5hbWVkU2V0dGVyV2l0
aExlZ2FjeVVuZm9yZ2VhYmxlUHJvcGVydGllc0FuZExlZ2FjeU92ZXJyaWRlQnVpbHRJbnMiX3Ms
ICZCYXNlOjpzX2luZm8sICZKU1Rlc3ROYW1lZFNldHRlcldpdGhMZWdhY3lVbmZvcmdlYWJsZVBy
b3BlcnRpZXNBbmRMZWdhY3lPdmVycmlkZUJ1aWx0SW5zVGFibGUsIG51bGxwdHIsIENSRUFURV9N
RVRIT0RfVEFCTEUoSlNUZXN0TmFtZWRTZXR0ZXJXaXRoTGVnYWN5VW5mb3JnZWFibGVQcm9wZXJ0
aWVzQW5kTGVnYWN5T3ZlcnJpZGVCdWlsdElucykgfTsKIAotSlNUZXN0TmFtZWRTZXR0ZXJXaXRo
TGVnYWN5VW5mb3JnZWFibGVQcm9wZXJ0aWVzQW5kTGVnYWN5T3ZlcnJpZGVCdWlsdEluczo6SlNU
ZXN0TmFtZWRTZXR0ZXJXaXRoTGVnYWN5VW5mb3JnZWFibGVQcm9wZXJ0aWVzQW5kTGVnYWN5T3Zl
cnJpZGVCdWlsdElucyhTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgSlNET01HbG9iYWxPYmplY3QmIGds
b2JhbE9iamVjdCwgUmVmPFRlc3ROYW1lZFNldHRlcldpdGhMZWdhY3lVbmZvcmdlYWJsZVByb3Bl
cnRpZXNBbmRMZWdhY3lPdmVycmlkZUJ1aWx0SW5zPiYmIGltcGwsIEpTQzo6QnV0dGVyZmx5KiBi
dXR0ZXJmbHkpCi0gICAgOiBKU0RPTVdyYXBwZXI8VGVzdE5hbWVkU2V0dGVyV2l0aExlZ2FjeVVu
Zm9yZ2VhYmxlUHJvcGVydGllc0FuZExlZ2FjeU92ZXJyaWRlQnVpbHRJbnM+KHN0cnVjdHVyZSwg
Z2xvYmFsT2JqZWN0LCBXVEZNb3ZlKGltcGwpLCBidXR0ZXJmbHkpCitKU1Rlc3ROYW1lZFNldHRl
cldpdGhMZWdhY3lVbmZvcmdlYWJsZVByb3BlcnRpZXNBbmRMZWdhY3lPdmVycmlkZUJ1aWx0SW5z
OjpKU1Rlc3ROYW1lZFNldHRlcldpdGhMZWdhY3lVbmZvcmdlYWJsZVByb3BlcnRpZXNBbmRMZWdh
Y3lPdmVycmlkZUJ1aWx0SW5zKFN0cnVjdHVyZSogc3RydWN0dXJlLCBKU0RPTUdsb2JhbE9iamVj
dCYgZ2xvYmFsT2JqZWN0LCBSZWY8VGVzdE5hbWVkU2V0dGVyV2l0aExlZ2FjeVVuZm9yZ2VhYmxl
UHJvcGVydGllc0FuZExlZ2FjeU92ZXJyaWRlQnVpbHRJbnM+JiYgaW1wbCkKKyAgICA6IEpTRE9N
V3JhcHBlcjxUZXN0TmFtZWRTZXR0ZXJXaXRoTGVnYWN5VW5mb3JnZWFibGVQcm9wZXJ0aWVzQW5k
TGVnYWN5T3ZlcnJpZGVCdWlsdElucz4oc3RydWN0dXJlLCBnbG9iYWxPYmplY3QsIFdURk1vdmUo
aW1wbCkpCiB7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3ROYW1lZFNldHRlcldpdGhMZWdhY3lVbmZvcmdlYWJsZVByb3BlcnRp
ZXNBbmRMZWdhY3lPdmVycmlkZUJ1aWx0SW5zLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRTZXR0ZXJXaXRoTGVnYWN5VW5mb3JnZWFibGVQcm9w
ZXJ0aWVzQW5kTGVnYWN5T3ZlcnJpZGVCdWlsdElucy5oCmluZGV4IDkyODc4NjI3MTFlNi4uOGEw
ZjdiM2M1MWFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNUZXN0TmFtZWRTZXR0ZXJXaXRoTGVnYWN5VW5mb3JnZWFibGVQcm9wZXJ0aWVzQW5k
TGVnYWN5T3ZlcnJpZGVCdWlsdElucy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3ROYW1lZFNldHRlcldpdGhMZWdhY3lVbmZvcmdlYWJsZVByb3Bl
cnRpZXNBbmRMZWdhY3lPdmVycmlkZUJ1aWx0SW5zLmgKQEAgLTY2LDcgKzY2LDcgQEAgcHVibGlj
OgogcHVibGljOgogICAgIHN0YXRpYyBjb25zdGV4cHIgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3Mg
PSBCYXNlOjpTdHJ1Y3R1cmVGbGFncyB8IEpTQzo6R2V0T3duUHJvcGVydHlTbG90SXNJbXB1cmUg
fCBKU0M6Okhhc1N0YXRpY1Byb3BlcnR5VGFibGUgfCBKU0M6OkludGVyY2VwdHNHZXRPd25Qcm9w
ZXJ0eVNsb3RCeUluZGV4RXZlbldoZW5MZW5ndGhJc05vdFplcm8gfCBKU0M6Ok92ZXJyaWRlc0dl
dE93blByb3BlcnR5TmFtZXMgfCBKU0M6Ok92ZXJyaWRlc0dldE93blByb3BlcnR5U2xvdCB8IEpT
Qzo6T3ZlcnJpZGVzUHV0IHwgSlNDOjpQcm9oaWJpdHNQcm9wZXJ0eUNhY2hpbmc7CiBwcm90ZWN0
ZWQ6Ci0gICAgSlNUZXN0TmFtZWRTZXR0ZXJXaXRoTGVnYWN5VW5mb3JnZWFibGVQcm9wZXJ0aWVz
QW5kTGVnYWN5T3ZlcnJpZGVCdWlsdElucyhKU0M6OlN0cnVjdHVyZSosIEpTRE9NR2xvYmFsT2Jq
ZWN0JiwgUmVmPFRlc3ROYW1lZFNldHRlcldpdGhMZWdhY3lVbmZvcmdlYWJsZVByb3BlcnRpZXNB
bmRMZWdhY3lPdmVycmlkZUJ1aWx0SW5zPiYmLCBKU0M6OkJ1dHRlcmZseSogPSBudWxscHRyKTsK
KyAgICBKU1Rlc3ROYW1lZFNldHRlcldpdGhMZWdhY3lVbmZvcmdlYWJsZVByb3BlcnRpZXNBbmRM
ZWdhY3lPdmVycmlkZUJ1aWx0SW5zKEpTQzo6U3RydWN0dXJlKiwgSlNET01HbG9iYWxPYmplY3Qm
LCBSZWY8VGVzdE5hbWVkU2V0dGVyV2l0aExlZ2FjeVVuZm9yZ2VhYmxlUHJvcGVydGllc0FuZExl
Z2FjeU92ZXJyaWRlQnVpbHRJbnM+JiYpOwogCiAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihKU0M6
OlZNJik7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdE5vZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdE5vZGUuY3BwCmluZGV4IGNkMWRkMmFlYjE2Yy4uNTUzNzI5NTk1NTQ5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0
Tm9kZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdE5vZGUuY3BwCkBAIC0yMzcsOCArMjM3LDggQEAgdm9pZCBKU1Rlc3ROb2RlUHJvdG90eXBl
OjpmaW5pc2hDcmVhdGlvbihWTSYgdm0pCiAKIGNvbnN0IENsYXNzSW5mbyBKU1Rlc3ROb2RlOjpz
X2luZm8gPSB7ICJUZXN0Tm9kZSJfcywgJkJhc2U6OnNfaW5mbywgbnVsbHB0ciwgbnVsbHB0ciwg
Q1JFQVRFX01FVEhPRF9UQUJMRShKU1Rlc3ROb2RlKSB9OwogCi1KU1Rlc3ROb2RlOjpKU1Rlc3RO
b2RlKFN0cnVjdHVyZSogc3RydWN0dXJlLCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0
LCBSZWY8VGVzdE5vZGU+JiYgaW1wbCwgSlNDOjpCdXR0ZXJmbHkqIGJ1dHRlcmZseSkKLSAgICA6
IEpTTm9kZShzdHJ1Y3R1cmUsIGdsb2JhbE9iamVjdCwgV1RGTW92ZShpbXBsKSwgYnV0dGVyZmx5
KQorSlNUZXN0Tm9kZTo6SlNUZXN0Tm9kZShTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgSlNET01HbG9i
YWxPYmplY3QmIGdsb2JhbE9iamVjdCwgUmVmPFRlc3ROb2RlPiYmIGltcGwpCisgICAgOiBKU05v
ZGUoc3RydWN0dXJlLCBnbG9iYWxPYmplY3QsIFdURk1vdmUoaW1wbCkpCiB7CiB9CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROb2Rl
LmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Tm9kZS5o
CmluZGV4IGU2ZWEyNzJhNjUyMC4uMGU5NjJiZmY5N2QxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Tm9kZS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROb2RlLmgKQEAgLTYxLDcgKzYx
LDcgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8VGVzdE5vZGUmPihCYXNl
Ojp3cmFwcGVkKCkpOwogICAgIH0KIHByb3RlY3RlZDoKLSAgICBKU1Rlc3ROb2RlKEpTQzo6U3Ry
dWN0dXJlKiwgSlNET01HbG9iYWxPYmplY3QmLCBSZWY8VGVzdE5vZGU+JiYsIEpTQzo6QnV0dGVy
Zmx5KiA9IG51bGxwdHIpOworICAgIEpTVGVzdE5vZGUoSlNDOjpTdHJ1Y3R1cmUqLCBKU0RPTUds
b2JhbE9iamVjdCYsIFJlZjxUZXN0Tm9kZT4mJik7CiAKICAgICB2b2lkIGZpbmlzaENyZWF0aW9u
KEpTQzo6Vk0mKTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwCmluZGV4IGVjMjJjZjMzNGI4OC4uMWZlMTdmNmQ0Y2E5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNU
ZXN0T2JqLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNUZXN0T2JqLmNwcApAQCAtMjYwMSw4ICsyNjAxLDggQEAgdm9pZCBKU1Rlc3RPYmpQcm90b3R5
cGU6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSkKIAogY29uc3QgQ2xhc3NJbmZvIEpTVGVzdE9iajo6
c19pbmZvID0geyAiVGVzdE9iamVjdCJfcywgJkJhc2U6OnNfaW5mbywgJkpTVGVzdE9ialRhYmxl
LCBudWxscHRyLCBDUkVBVEVfTUVUSE9EX1RBQkxFKEpTVGVzdE9iaikgfTsKIAotSlNUZXN0T2Jq
OjpKU1Rlc3RPYmooU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9i
YWxPYmplY3QsIFJlZjxUZXN0T2JqPiYmIGltcGwsIEpTQzo6QnV0dGVyZmx5KiBidXR0ZXJmbHkp
Ci0gICAgOiBKU0RPTVdyYXBwZXI8VGVzdE9iaj4oc3RydWN0dXJlLCBnbG9iYWxPYmplY3QsIFdU
Rk1vdmUoaW1wbCksIGJ1dHRlcmZseSkKK0pTVGVzdE9iajo6SlNUZXN0T2JqKFN0cnVjdHVyZSog
c3RydWN0dXJlLCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0LCBSZWY8VGVzdE9iaj4m
JiBpbXBsKQorICAgIDogSlNET01XcmFwcGVyPFRlc3RPYmo+KHN0cnVjdHVyZSwgZ2xvYmFsT2Jq
ZWN0LCBXVEZNb3ZlKGltcGwpKQogewogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmgKaW5kZXggMDA4ZmE3NDAwM2ZkLi4zMjQy
ZWZiYzY5MzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU1Rlc3RPYmouaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNUZXN0T2JqLmgKQEAgLTg0LDcgKzg0LDcgQEAgcHVibGljOgogcHVibGljOgogICAg
IHN0YXRpYyBjb25zdGV4cHIgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3MgPSBCYXNlOjpTdHJ1Y3R1
cmVGbGFncyB8IEpTQzo6SGFzU3RhdGljUHJvcGVydHlUYWJsZSB8IEpTQzo6SW50ZXJjZXB0c0dl
dE93blByb3BlcnR5U2xvdEJ5SW5kZXhFdmVuV2hlbkxlbmd0aElzTm90WmVybyB8IEpTQzo6T3Zl
cnJpZGVzR2V0T3duUHJvcGVydHlOYW1lcyB8IEpTQzo6T3ZlcnJpZGVzR2V0T3duUHJvcGVydHlT
bG90OwogcHJvdGVjdGVkOgotICAgIEpTVGVzdE9iaihKU0M6OlN0cnVjdHVyZSosIEpTRE9NR2xv
YmFsT2JqZWN0JiwgUmVmPFRlc3RPYmo+JiYsIEpTQzo6QnV0dGVyZmx5KiA9IG51bGxwdHIpOwor
ICAgIEpTVGVzdE9iaihKU0M6OlN0cnVjdHVyZSosIEpTRE9NR2xvYmFsT2JqZWN0JiwgUmVmPFRl
c3RPYmo+JiYpOwogCiAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihKU0M6OlZNJik7CiB9OwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9w
ZXJhdGlvbkNvbmRpdGlvbmFsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3RPcGVyYXRpb25Db25kaXRpb25hbC5jcHAKaW5kZXggMmM5YjA3MjU4MzY5
Li45OGQyMjg5OWQxNzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RPcGVyYXRpb25Db25kaXRpb25hbC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9wZXJhdGlvbkNvbmRpdGlvbmFs
LmNwcApAQCAtMTQ2LDggKzE0Niw4IEBAIHZvaWQgSlNUZXN0T3BlcmF0aW9uQ29uZGl0aW9uYWxQ
cm90b3R5cGU6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSkKIAogY29uc3QgQ2xhc3NJbmZvIEpTVGVz
dE9wZXJhdGlvbkNvbmRpdGlvbmFsOjpzX2luZm8gPSB7ICJUZXN0T3BlcmF0aW9uQ29uZGl0aW9u
YWwiX3MsICZCYXNlOjpzX2luZm8sIG51bGxwdHIsIG51bGxwdHIsIENSRUFURV9NRVRIT0RfVEFC
TEUoSlNUZXN0T3BlcmF0aW9uQ29uZGl0aW9uYWwpIH07CiAKLUpTVGVzdE9wZXJhdGlvbkNvbmRp
dGlvbmFsOjpKU1Rlc3RPcGVyYXRpb25Db25kaXRpb25hbChTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwg
SlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCwgUmVmPFRlc3RPcGVyYXRpb25Db25kaXRp
b25hbD4mJiBpbXBsLCBKU0M6OkJ1dHRlcmZseSogYnV0dGVyZmx5KQotICAgIDogSlNET01XcmFw
cGVyPFRlc3RPcGVyYXRpb25Db25kaXRpb25hbD4oc3RydWN0dXJlLCBnbG9iYWxPYmplY3QsIFdU
Rk1vdmUoaW1wbCksIGJ1dHRlcmZseSkKK0pTVGVzdE9wZXJhdGlvbkNvbmRpdGlvbmFsOjpKU1Rl
c3RPcGVyYXRpb25Db25kaXRpb25hbChTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgSlNET01HbG9iYWxP
YmplY3QmIGdsb2JhbE9iamVjdCwgUmVmPFRlc3RPcGVyYXRpb25Db25kaXRpb25hbD4mJiBpbXBs
KQorICAgIDogSlNET01XcmFwcGVyPFRlc3RPcGVyYXRpb25Db25kaXRpb25hbD4oc3RydWN0dXJl
LCBnbG9iYWxPYmplY3QsIFdURk1vdmUoaW1wbCkpCiB7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPcGVyYXRpb25Db25kaXRp
b25hbC5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9w
ZXJhdGlvbkNvbmRpdGlvbmFsLmgKaW5kZXggMzEwNjdhYjQxYTVlLi4wYzdiODIwNDE5N2MgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RP
cGVyYXRpb25Db25kaXRpb25hbC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RPcGVyYXRpb25Db25kaXRpb25hbC5oCkBAIC02MCw3ICs2MCw3IEBA
IHB1YmxpYzoKICAgICBzdGF0aWMgSlNDOjpHQ0NsaWVudDo6SXNvU3Vic3BhY2UqIHN1YnNwYWNl
Rm9ySW1wbChKU0M6OlZNJiB2bSk7CiAgICAgc3RhdGljIHZvaWQgYW5hbHl6ZUhlYXAoSlNDZWxs
KiwgSlNDOjpIZWFwQW5hbHl6ZXImKTsKIHByb3RlY3RlZDoKLSAgICBKU1Rlc3RPcGVyYXRpb25D
b25kaXRpb25hbChKU0M6OlN0cnVjdHVyZSosIEpTRE9NR2xvYmFsT2JqZWN0JiwgUmVmPFRlc3RP
cGVyYXRpb25Db25kaXRpb25hbD4mJiwgSlNDOjpCdXR0ZXJmbHkqID0gbnVsbHB0cik7CisgICAg
SlNUZXN0T3BlcmF0aW9uQ29uZGl0aW9uYWwoSlNDOjpTdHJ1Y3R1cmUqLCBKU0RPTUdsb2JhbE9i
amVjdCYsIFJlZjxUZXN0T3BlcmF0aW9uQ29uZGl0aW9uYWw+JiYpOwogCiAgICAgdm9pZCBmaW5p
c2hDcmVhdGlvbihKU0M6OlZNJik7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnMuY3BwIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE92ZXJsb2FkZWRD
b25zdHJ1Y3RvcnMuY3BwCmluZGV4IDUxYmJmODNkNTZlMi4uNmYxODZkOWU2ZWZhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T3Zlcmxv
YWRlZENvbnN0cnVjdG9ycy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnMuY3BwCkBAIC0yNTMsOCArMjUz
LDggQEAgdm9pZCBKU1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzUHJvdG90eXBlOjpmaW5pc2hD
cmVhdGlvbihWTSYgdm0pCiAKIGNvbnN0IENsYXNzSW5mbyBKU1Rlc3RPdmVybG9hZGVkQ29uc3Ry
dWN0b3JzOjpzX2luZm8gPSB7ICJUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9ycyJfcywgJkJhc2U6
OnNfaW5mbywgbnVsbHB0ciwgbnVsbHB0ciwgQ1JFQVRFX01FVEhPRF9UQUJMRShKU1Rlc3RPdmVy
bG9hZGVkQ29uc3RydWN0b3JzKSB9OwogCi1KU1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzOjpK
U1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzKFN0cnVjdHVyZSogc3RydWN0dXJlLCBKU0RPTUds
b2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0LCBSZWY8VGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnM+
JiYgaW1wbCwgSlNDOjpCdXR0ZXJmbHkqIGJ1dHRlcmZseSkKLSAgICA6IEpTRE9NV3JhcHBlcjxU
ZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9ycz4oc3RydWN0dXJlLCBnbG9iYWxPYmplY3QsIFdURk1v
dmUoaW1wbCksIGJ1dHRlcmZseSkKK0pTVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnM6OkpTVGVz
dE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnMoU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEpTRE9NR2xvYmFs
T2JqZWN0JiBnbG9iYWxPYmplY3QsIFJlZjxUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9ycz4mJiBp
bXBsKQorICAgIDogSlNET01XcmFwcGVyPFRlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzPihzdHJ1
Y3R1cmUsIGdsb2JhbE9iamVjdCwgV1RGTW92ZShpbXBsKSkKIHsKIH0KIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE92ZXJsb2FkZWRD
b25zdHJ1Y3RvcnMuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzLmgKaW5kZXggNGVkYjUwMzVhNTA2Li4wMWFlYjZk
N2FiZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnMuaApAQCAt
NTgsNyArNTgsNyBAQCBwdWJsaWM6CiAgICAgc3RhdGljIEpTQzo6R0NDbGllbnQ6Oklzb1N1YnNw
YWNlKiBzdWJzcGFjZUZvckltcGwoSlNDOjpWTSYgdm0pOwogICAgIHN0YXRpYyB2b2lkIGFuYWx5
emVIZWFwKEpTQ2VsbCosIEpTQzo6SGVhcEFuYWx5emVyJik7CiBwcm90ZWN0ZWQ6Ci0gICAgSlNU
ZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9ycyhKU0M6OlN0cnVjdHVyZSosIEpTRE9NR2xvYmFsT2Jq
ZWN0JiwgUmVmPFRlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzPiYmLCBKU0M6OkJ1dHRlcmZseSog
PSBudWxscHRyKTsKKyAgICBKU1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzKEpTQzo6U3RydWN0
dXJlKiwgSlNET01HbG9iYWxPYmplY3QmLCBSZWY8VGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnM+
JiYpOwogCiAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihKU0M6OlZNJik7CiB9OwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE92ZXJsb2Fk
ZWRDb25zdHJ1Y3RvcnNXaXRoU2VxdWVuY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnNXaXRoU2VxdWVuY2Uu
Y3BwCmluZGV4IGU2YzI2MmU4NzAyZS4uNDY2ZDVlMzI4ZmE2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T3ZlcmxvYWRlZENvbnN0cnVj
dG9yc1dpdGhTZXF1ZW5jZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnNXaXRoU2VxdWVuY2UuY3BwCkBA
IC0xOTAsOCArMTkwLDggQEAgdm9pZCBKU1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzV2l0aFNl
cXVlbmNlUHJvdG90eXBlOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0pCiAKIGNvbnN0IENsYXNzSW5m
byBKU1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzV2l0aFNlcXVlbmNlOjpzX2luZm8gPSB7ICJU
ZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9yc1dpdGhTZXF1ZW5jZSJfcywgJkJhc2U6OnNfaW5mbywg
bnVsbHB0ciwgbnVsbHB0ciwgQ1JFQVRFX01FVEhPRF9UQUJMRShKU1Rlc3RPdmVybG9hZGVkQ29u
c3RydWN0b3JzV2l0aFNlcXVlbmNlKSB9OwogCi1KU1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3Jz
V2l0aFNlcXVlbmNlOjpKU1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzV2l0aFNlcXVlbmNlKFN0
cnVjdHVyZSogc3RydWN0dXJlLCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0LCBSZWY8
VGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnNXaXRoU2VxdWVuY2U+JiYgaW1wbCwgSlNDOjpCdXR0
ZXJmbHkqIGJ1dHRlcmZseSkKLSAgICA6IEpTRE9NV3JhcHBlcjxUZXN0T3ZlcmxvYWRlZENvbnN0
cnVjdG9yc1dpdGhTZXF1ZW5jZT4oc3RydWN0dXJlLCBnbG9iYWxPYmplY3QsIFdURk1vdmUoaW1w
bCksIGJ1dHRlcmZseSkKK0pTVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnNXaXRoU2VxdWVuY2U6
OkpTVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnNXaXRoU2VxdWVuY2UoU3RydWN0dXJlKiBzdHJ1
Y3R1cmUsIEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QsIFJlZjxUZXN0T3ZlcmxvYWRl
ZENvbnN0cnVjdG9yc1dpdGhTZXF1ZW5jZT4mJiBpbXBsKQorICAgIDogSlNET01XcmFwcGVyPFRl
c3RPdmVybG9hZGVkQ29uc3RydWN0b3JzV2l0aFNlcXVlbmNlPihzdHJ1Y3R1cmUsIGdsb2JhbE9i
amVjdCwgV1RGTW92ZShpbXBsKSkKIHsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnNXaXRo
U2VxdWVuY2UuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rl
c3RPdmVybG9hZGVkQ29uc3RydWN0b3JzV2l0aFNlcXVlbmNlLmgKaW5kZXggOGE1ZGVjODFkMTg5
Li44ODgxZDFmZjhiZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzV2l0aFNlcXVlbmNlLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE92ZXJsb2Fk
ZWRDb25zdHJ1Y3RvcnNXaXRoU2VxdWVuY2UuaApAQCAtNTgsNyArNTgsNyBAQCBwdWJsaWM6CiAg
ICAgc3RhdGljIEpTQzo6R0NDbGllbnQ6Oklzb1N1YnNwYWNlKiBzdWJzcGFjZUZvckltcGwoSlND
OjpWTSYgdm0pOwogICAgIHN0YXRpYyB2b2lkIGFuYWx5emVIZWFwKEpTQ2VsbCosIEpTQzo6SGVh
cEFuYWx5emVyJik7CiBwcm90ZWN0ZWQ6Ci0gICAgSlNUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9y
c1dpdGhTZXF1ZW5jZShKU0M6OlN0cnVjdHVyZSosIEpTRE9NR2xvYmFsT2JqZWN0JiwgUmVmPFRl
c3RPdmVybG9hZGVkQ29uc3RydWN0b3JzV2l0aFNlcXVlbmNlPiYmLCBKU0M6OkJ1dHRlcmZseSog
PSBudWxscHRyKTsKKyAgICBKU1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzV2l0aFNlcXVlbmNl
KEpTQzo6U3RydWN0dXJlKiwgSlNET01HbG9iYWxPYmplY3QmLCBSZWY8VGVzdE92ZXJsb2FkZWRD
b25zdHJ1Y3RvcnNXaXRoU2VxdWVuY2U+JiYpOwogCiAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihK
U0M6OlZNJik7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTVGVzdFBsdWdpbkludGVyZmFjZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0UGx1Z2luSW50ZXJmYWNlLmNwcAppbmRleCA5YWI0
MWQ1ZjY1NmMuLjRmZTllNTA2MmJkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFBsdWdpbkludGVyZmFjZS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFBsdWdpbkludGVyZmFjZS5j
cHAKQEAgLTExOSw4ICsxMTksOCBAQCB2b2lkIEpTVGVzdFBsdWdpbkludGVyZmFjZVByb3RvdHlw
ZTo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtKQogCiBjb25zdCBDbGFzc0luZm8gSlNUZXN0UGx1Z2lu
SW50ZXJmYWNlOjpzX2luZm8gPSB7ICJUZXN0UGx1Z2luSW50ZXJmYWNlIl9zLCAmQmFzZTo6c19p
bmZvLCBudWxscHRyLCBudWxscHRyLCBDUkVBVEVfTUVUSE9EX1RBQkxFKEpTVGVzdFBsdWdpbklu
dGVyZmFjZSkgfTsKIAotSlNUZXN0UGx1Z2luSW50ZXJmYWNlOjpKU1Rlc3RQbHVnaW5JbnRlcmZh
Y2UoU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3Qs
IFJlZjxUZXN0UGx1Z2luSW50ZXJmYWNlPiYmIGltcGwsIEpTQzo6QnV0dGVyZmx5KiBidXR0ZXJm
bHkpCi0gICAgOiBKU0RPTVdyYXBwZXI8VGVzdFBsdWdpbkludGVyZmFjZT4oc3RydWN0dXJlLCBn
bG9iYWxPYmplY3QsIFdURk1vdmUoaW1wbCksIGJ1dHRlcmZseSkKK0pTVGVzdFBsdWdpbkludGVy
ZmFjZTo6SlNUZXN0UGx1Z2luSW50ZXJmYWNlKFN0cnVjdHVyZSogc3RydWN0dXJlLCBKU0RPTUds
b2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0LCBSZWY8VGVzdFBsdWdpbkludGVyZmFjZT4mJiBpbXBs
KQorICAgIDogSlNET01XcmFwcGVyPFRlc3RQbHVnaW5JbnRlcmZhY2U+KHN0cnVjdHVyZSwgZ2xv
YmFsT2JqZWN0LCBXVEZNb3ZlKGltcGwpKQogewogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0UGx1Z2luSW50ZXJmYWNlLmggYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0UGx1Z2luSW50ZXJm
YWNlLmgKaW5kZXggNmIxZWMxNTZiMDFhLi4wODhiZmU1M2Q0OWUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RQbHVnaW5JbnRlcmZhY2Uu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0UGx1
Z2luSW50ZXJmYWNlLmgKQEAgLTY5LDcgKzY5LDcgQEAgcHVibGljOgogcHVibGljOgogICAgIHN0
YXRpYyBjb25zdGV4cHIgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3MgPSBCYXNlOjpTdHJ1Y3R1cmVG
bGFncyB8IEpTQzo6SW50ZXJjZXB0c0dldE93blByb3BlcnR5U2xvdEJ5SW5kZXhFdmVuV2hlbkxl
bmd0aElzTm90WmVybyB8IEpTQzo6T3ZlcnJpZGVzR2V0Q2FsbERhdGEgfCBKU0M6Ok92ZXJyaWRl
c0dldE93blByb3BlcnR5U2xvdCB8IEpTQzo6T3ZlcnJpZGVzUHV0IHwgSlNDOjpQcm9oaWJpdHNQ
cm9wZXJ0eUNhY2hpbmc7CiBwcm90ZWN0ZWQ6Ci0gICAgSlNUZXN0UGx1Z2luSW50ZXJmYWNlKEpT
Qzo6U3RydWN0dXJlKiwgSlNET01HbG9iYWxPYmplY3QmLCBSZWY8VGVzdFBsdWdpbkludGVyZmFj
ZT4mJiwgSlNDOjpCdXR0ZXJmbHkqID0gbnVsbHB0cik7CisgICAgSlNUZXN0UGx1Z2luSW50ZXJm
YWNlKEpTQzo6U3RydWN0dXJlKiwgSlNET01HbG9iYWxPYmplY3QmLCBSZWY8VGVzdFBsdWdpbklu
dGVyZmFjZT4mJik7CiAKICAgICB2b2lkIGZpbmlzaENyZWF0aW9uKEpTQzo6Vk0mKTsKIH07CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0
UHJvbWlzZVJlamVjdGlvbkV2ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RQcm9taXNlUmVqZWN0aW9uRXZlbnQuY3BwCmluZGV4IDYwZDQ4OGJh
NWY2NC4uODIyODg3OTJmYzRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0UHJvbWlzZVJlamVjdGlvbkV2ZW50LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0UHJvbWlzZVJlamVjdGlv
bkV2ZW50LmNwcApAQCAtMjMxLDggKzIzMSw4IEBAIHZvaWQgSlNUZXN0UHJvbWlzZVJlamVjdGlv
bkV2ZW50UHJvdG90eXBlOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0pCiAKIGNvbnN0IENsYXNzSW5m
byBKU1Rlc3RQcm9taXNlUmVqZWN0aW9uRXZlbnQ6OnNfaW5mbyA9IHsgIlRlc3RQcm9taXNlUmVq
ZWN0aW9uRXZlbnQiX3MsICZCYXNlOjpzX2luZm8sIG51bGxwdHIsIG51bGxwdHIsIENSRUFURV9N
RVRIT0RfVEFCTEUoSlNUZXN0UHJvbWlzZVJlamVjdGlvbkV2ZW50KSB9OwogCi1KU1Rlc3RQcm9t
aXNlUmVqZWN0aW9uRXZlbnQ6OkpTVGVzdFByb21pc2VSZWplY3Rpb25FdmVudChTdHJ1Y3R1cmUq
IHN0cnVjdHVyZSwgSlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCwgUmVmPFRlc3RQcm9t
aXNlUmVqZWN0aW9uRXZlbnQ+JiYgaW1wbCwgSlNDOjpCdXR0ZXJmbHkqIGJ1dHRlcmZseSkKLSAg
ICA6IEpTRXZlbnQoc3RydWN0dXJlLCBnbG9iYWxPYmplY3QsIFdURk1vdmUoaW1wbCksIGJ1dHRl
cmZseSkKK0pTVGVzdFByb21pc2VSZWplY3Rpb25FdmVudDo6SlNUZXN0UHJvbWlzZVJlamVjdGlv
bkV2ZW50KFN0cnVjdHVyZSogc3RydWN0dXJlLCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsT2Jq
ZWN0LCBSZWY8VGVzdFByb21pc2VSZWplY3Rpb25FdmVudD4mJiBpbXBsKQorICAgIDogSlNFdmVu
dChzdHJ1Y3R1cmUsIGdsb2JhbE9iamVjdCwgV1RGTW92ZShpbXBsKSkKIHsKIH0KIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFByb21p
c2VSZWplY3Rpb25FdmVudC5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdFByb21pc2VSZWplY3Rpb25FdmVudC5oCmluZGV4IGI0Y2JjNDg2MDNkOC4uNzI5
MDhiM2I0N2IwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNUZXN0UHJvbWlzZVJlamVjdGlvbkV2ZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFByb21pc2VSZWplY3Rpb25FdmVudC5oCkBA
IC02Miw3ICs2Miw3IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PFRlc3RQ
cm9taXNlUmVqZWN0aW9uRXZlbnQmPihCYXNlOjp3cmFwcGVkKCkpOwogICAgIH0KIHByb3RlY3Rl
ZDoKLSAgICBKU1Rlc3RQcm9taXNlUmVqZWN0aW9uRXZlbnQoSlNDOjpTdHJ1Y3R1cmUqLCBKU0RP
TUdsb2JhbE9iamVjdCYsIFJlZjxUZXN0UHJvbWlzZVJlamVjdGlvbkV2ZW50PiYmLCBKU0M6OkJ1
dHRlcmZseSogPSBudWxscHRyKTsKKyAgICBKU1Rlc3RQcm9taXNlUmVqZWN0aW9uRXZlbnQoSlND
OjpTdHJ1Y3R1cmUqLCBKU0RPTUdsb2JhbE9iamVjdCYsIFJlZjxUZXN0UHJvbWlzZVJlamVjdGlv
bkV2ZW50PiYmKTsKIAogICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oSlNDOjpWTSYpOwogfTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RS
ZWFkT25seU1hcExpa2UuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdFJlYWRPbmx5TWFwTGlrZS5jcHAKaW5kZXggOGZhOTliZGQ2YzFjLi44ZWUyOWI2
ZWRlYzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3RSZWFkT25seU1hcExpa2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RSZWFkT25seU1hcExpa2UuY3BwCkBAIC0xNDIsOCArMTQy
LDggQEAgdm9pZCBKU1Rlc3RSZWFkT25seU1hcExpa2VQcm90b3R5cGU6OmZpbmlzaENyZWF0aW9u
KFZNJiB2bSkKIAogY29uc3QgQ2xhc3NJbmZvIEpTVGVzdFJlYWRPbmx5TWFwTGlrZTo6c19pbmZv
ID0geyAiVGVzdFJlYWRPbmx5TWFwTGlrZSJfcywgJkJhc2U6OnNfaW5mbywgbnVsbHB0ciwgbnVs
bHB0ciwgQ1JFQVRFX01FVEhPRF9UQUJMRShKU1Rlc3RSZWFkT25seU1hcExpa2UpIH07CiAKLUpT
VGVzdFJlYWRPbmx5TWFwTGlrZTo6SlNUZXN0UmVhZE9ubHlNYXBMaWtlKFN0cnVjdHVyZSogc3Ry
dWN0dXJlLCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0LCBSZWY8VGVzdFJlYWRPbmx5
TWFwTGlrZT4mJiBpbXBsLCBKU0M6OkJ1dHRlcmZseSogYnV0dGVyZmx5KQotICAgIDogSlNET01X
cmFwcGVyPFRlc3RSZWFkT25seU1hcExpa2U+KHN0cnVjdHVyZSwgZ2xvYmFsT2JqZWN0LCBXVEZN
b3ZlKGltcGwpLCBidXR0ZXJmbHkpCitKU1Rlc3RSZWFkT25seU1hcExpa2U6OkpTVGVzdFJlYWRP
bmx5TWFwTGlrZShTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgSlNET01HbG9iYWxPYmplY3QmIGdsb2Jh
bE9iamVjdCwgUmVmPFRlc3RSZWFkT25seU1hcExpa2U+JiYgaW1wbCkKKyAgICA6IEpTRE9NV3Jh
cHBlcjxUZXN0UmVhZE9ubHlNYXBMaWtlPihzdHJ1Y3R1cmUsIGdsb2JhbE9iamVjdCwgV1RGTW92
ZShpbXBsKSkKIHsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdFJlYWRPbmx5TWFwTGlrZS5oIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFJlYWRPbmx5TWFwTGlrZS5oCmluZGV4IDQ3MmYy
YzMzZDc5Yy4uYjIyN2IwZTMwMWJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0UmVhZE9ubHlNYXBMaWtlLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFJlYWRPbmx5TWFwTGlrZS5oCkBA
IC01OCw3ICs1OCw3IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgSlNDOjpHQ0NsaWVudDo6SXNvU3Vi
c3BhY2UqIHN1YnNwYWNlRm9ySW1wbChKU0M6OlZNJiB2bSk7CiAgICAgc3RhdGljIHZvaWQgYW5h
bHl6ZUhlYXAoSlNDZWxsKiwgSlNDOjpIZWFwQW5hbHl6ZXImKTsKIHByb3RlY3RlZDoKLSAgICBK
U1Rlc3RSZWFkT25seU1hcExpa2UoSlNDOjpTdHJ1Y3R1cmUqLCBKU0RPTUdsb2JhbE9iamVjdCYs
IFJlZjxUZXN0UmVhZE9ubHlNYXBMaWtlPiYmLCBKU0M6OkJ1dHRlcmZseSogPSBudWxscHRyKTsK
KyAgICBKU1Rlc3RSZWFkT25seU1hcExpa2UoSlNDOjpTdHJ1Y3R1cmUqLCBKU0RPTUdsb2JhbE9i
amVjdCYsIFJlZjxUZXN0UmVhZE9ubHlNYXBMaWtlPiYmKTsKIAogICAgIHZvaWQgZmluaXNoQ3Jl
YXRpb24oSlNDOjpWTSYpOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RSZWFkT25seVNldExpa2UuY3BwIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFJlYWRPbmx5U2V0TGlrZS5jcHAKaW5k
ZXggNjFiMDE2MjM5MmI3Li44MmUwNzNkMzI4NWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RSZWFkT25seVNldExpa2UuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RSZWFkT25seVNl
dExpa2UuY3BwCkBAIC0xNDAsOCArMTQwLDggQEAgdm9pZCBKU1Rlc3RSZWFkT25seVNldExpa2VQ
cm90b3R5cGU6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSkKIAogY29uc3QgQ2xhc3NJbmZvIEpTVGVz
dFJlYWRPbmx5U2V0TGlrZTo6c19pbmZvID0geyAiVGVzdFJlYWRPbmx5U2V0TGlrZSJfcywgJkJh
c2U6OnNfaW5mbywgbnVsbHB0ciwgbnVsbHB0ciwgQ1JFQVRFX01FVEhPRF9UQUJMRShKU1Rlc3RS
ZWFkT25seVNldExpa2UpIH07CiAKLUpTVGVzdFJlYWRPbmx5U2V0TGlrZTo6SlNUZXN0UmVhZE9u
bHlTZXRMaWtlKFN0cnVjdHVyZSogc3RydWN0dXJlLCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFs
T2JqZWN0LCBSZWY8VGVzdFJlYWRPbmx5U2V0TGlrZT4mJiBpbXBsLCBKU0M6OkJ1dHRlcmZseSog
YnV0dGVyZmx5KQotICAgIDogSlNET01XcmFwcGVyPFRlc3RSZWFkT25seVNldExpa2U+KHN0cnVj
dHVyZSwgZ2xvYmFsT2JqZWN0LCBXVEZNb3ZlKGltcGwpLCBidXR0ZXJmbHkpCitKU1Rlc3RSZWFk
T25seVNldExpa2U6OkpTVGVzdFJlYWRPbmx5U2V0TGlrZShTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwg
SlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCwgUmVmPFRlc3RSZWFkT25seVNldExpa2U+
JiYgaW1wbCkKKyAgICA6IEpTRE9NV3JhcHBlcjxUZXN0UmVhZE9ubHlTZXRMaWtlPihzdHJ1Y3R1
cmUsIGdsb2JhbE9iamVjdCwgV1RGTW92ZShpbXBsKSkKIHsKIH0KIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFJlYWRPbmx5U2V0TGlr
ZS5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFJlYWRP
bmx5U2V0TGlrZS5oCmluZGV4IDg1N2UxMDUzNWEzYi4uZmUwZjdhOTdkM2Q0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0UmVhZE9ubHlT
ZXRMaWtlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdFJlYWRPbmx5U2V0TGlrZS5oCkBAIC01OCw3ICs1OCw3IEBAIHB1YmxpYzoKICAgICBzdGF0
aWMgSlNDOjpHQ0NsaWVudDo6SXNvU3Vic3BhY2UqIHN1YnNwYWNlRm9ySW1wbChKU0M6OlZNJiB2
bSk7CiAgICAgc3RhdGljIHZvaWQgYW5hbHl6ZUhlYXAoSlNDZWxsKiwgSlNDOjpIZWFwQW5hbHl6
ZXImKTsKIHByb3RlY3RlZDoKLSAgICBKU1Rlc3RSZWFkT25seVNldExpa2UoSlNDOjpTdHJ1Y3R1
cmUqLCBKU0RPTUdsb2JhbE9iamVjdCYsIFJlZjxUZXN0UmVhZE9ubHlTZXRMaWtlPiYmLCBKU0M6
OkJ1dHRlcmZseSogPSBudWxscHRyKTsKKyAgICBKU1Rlc3RSZWFkT25seVNldExpa2UoSlNDOjpT
dHJ1Y3R1cmUqLCBKU0RPTUdsb2JhbE9iamVjdCYsIFJlZjxUZXN0UmVhZE9ubHlTZXRMaWtlPiYm
KTsKIAogICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oSlNDOjpWTSYpOwogfTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RSZXBvcnRFeHRy
YU1lbW9yeUNvc3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdFJlcG9ydEV4dHJhTWVtb3J5Q29zdC5jcHAKaW5kZXggNzVmYzljMmU5MWFhLi43ZThj
ZGRhODVhMWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU1Rlc3RSZXBvcnRFeHRyYU1lbW9yeUNvc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RSZXBvcnRFeHRyYU1lbW9yeUNvc3QuY3Bw
CkBAIC0xMTgsOCArMTE4LDggQEAgdm9pZCBKU1Rlc3RSZXBvcnRFeHRyYU1lbW9yeUNvc3RQcm90
b3R5cGU6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSkKIAogY29uc3QgQ2xhc3NJbmZvIEpTVGVzdFJl
cG9ydEV4dHJhTWVtb3J5Q29zdDo6c19pbmZvID0geyAiVGVzdFJlcG9ydEV4dHJhTWVtb3J5Q29z
dCJfcywgJkJhc2U6OnNfaW5mbywgbnVsbHB0ciwgbnVsbHB0ciwgQ1JFQVRFX01FVEhPRF9UQUJM
RShKU1Rlc3RSZXBvcnRFeHRyYU1lbW9yeUNvc3QpIH07CiAKLUpTVGVzdFJlcG9ydEV4dHJhTWVt
b3J5Q29zdDo6SlNUZXN0UmVwb3J0RXh0cmFNZW1vcnlDb3N0KFN0cnVjdHVyZSogc3RydWN0dXJl
LCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0LCBSZWY8VGVzdFJlcG9ydEV4dHJhTWVt
b3J5Q29zdD4mJiBpbXBsLCBKU0M6OkJ1dHRlcmZseSogYnV0dGVyZmx5KQotICAgIDogSlNET01X
cmFwcGVyPFRlc3RSZXBvcnRFeHRyYU1lbW9yeUNvc3Q+KHN0cnVjdHVyZSwgZ2xvYmFsT2JqZWN0
LCBXVEZNb3ZlKGltcGwpLCBidXR0ZXJmbHkpCitKU1Rlc3RSZXBvcnRFeHRyYU1lbW9yeUNvc3Q6
OkpTVGVzdFJlcG9ydEV4dHJhTWVtb3J5Q29zdChTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgSlNET01H
bG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCwgUmVmPFRlc3RSZXBvcnRFeHRyYU1lbW9yeUNvc3Q+
JiYgaW1wbCkKKyAgICA6IEpTRE9NV3JhcHBlcjxUZXN0UmVwb3J0RXh0cmFNZW1vcnlDb3N0Pihz
dHJ1Y3R1cmUsIGdsb2JhbE9iamVjdCwgV1RGTW92ZShpbXBsKSkKIHsKIH0KIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFJlcG9ydEV4
dHJhTWVtb3J5Q29zdC5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdFJlcG9ydEV4dHJhTWVtb3J5Q29zdC5oCmluZGV4IDRkY2I2MjgwMTJlOS4uNjM0Njgw
M2VmYTQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0UmVwb3J0RXh0cmFNZW1vcnlDb3N0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFJlcG9ydEV4dHJhTWVtb3J5Q29zdC5oCkBAIC02
MSw3ICs2MSw3IEBAIHB1YmxpYzoKIAogICAgIHN0YXRpYyB2b2lkIGFuYWx5emVIZWFwKEpTQ2Vs
bCosIEpTQzo6SGVhcEFuYWx5emVyJik7CiBwcm90ZWN0ZWQ6Ci0gICAgSlNUZXN0UmVwb3J0RXh0
cmFNZW1vcnlDb3N0KEpTQzo6U3RydWN0dXJlKiwgSlNET01HbG9iYWxPYmplY3QmLCBSZWY8VGVz
dFJlcG9ydEV4dHJhTWVtb3J5Q29zdD4mJiwgSlNDOjpCdXR0ZXJmbHkqID0gbnVsbHB0cik7Cisg
ICAgSlNUZXN0UmVwb3J0RXh0cmFNZW1vcnlDb3N0KEpTQzo6U3RydWN0dXJlKiwgSlNET01HbG9i
YWxPYmplY3QmLCBSZWY8VGVzdFJlcG9ydEV4dHJhTWVtb3J5Q29zdD4mJik7CiAKICAgICB2b2lk
IGZpbmlzaENyZWF0aW9uKEpTQzo6Vk0mKTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50
ZXJmYWNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rl
c3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UuY3BwCmluZGV4IDVjMTQ2ZmJkOTEwOC4u
ODI4ZTg4Nzc3MTAzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U2VyaWFsaXplZFNj
cmlwdFZhbHVlSW50ZXJmYWNlLmNwcApAQCAtMTUxLDggKzE1MSw4IEBAIHZvaWQgSlNUZXN0U2Vy
aWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlUHJvdG90eXBlOjpmaW5pc2hDcmVhdGlvbihWTSYg
dm0pCiAKIGNvbnN0IENsYXNzSW5mbyBKU1Rlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZh
Y2U6OnNfaW5mbyA9IHsgIlRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UiX3MsICZC
YXNlOjpzX2luZm8sIG51bGxwdHIsIG51bGxwdHIsIENSRUFURV9NRVRIT0RfVEFCTEUoSlNUZXN0
U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlKSB9OwogCi1KU1Rlc3RTZXJpYWxpemVkU2Ny
aXB0VmFsdWVJbnRlcmZhY2U6OkpTVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZShT
dHJ1Y3R1cmUqIHN0cnVjdHVyZSwgSlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCwgUmVm
PFRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2U+JiYgaW1wbCwgSlNDOjpCdXR0ZXJm
bHkqIGJ1dHRlcmZseSkKLSAgICA6IEpTRE9NV3JhcHBlcjxUZXN0U2VyaWFsaXplZFNjcmlwdFZh
bHVlSW50ZXJmYWNlPihzdHJ1Y3R1cmUsIGdsb2JhbE9iamVjdCwgV1RGTW92ZShpbXBsKSwgYnV0
dGVyZmx5KQorSlNUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlOjpKU1Rlc3RTZXJp
YWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UoU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEpTRE9NR2xv
YmFsT2JqZWN0JiBnbG9iYWxPYmplY3QsIFJlZjxUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50
ZXJmYWNlPiYmIGltcGwpCisgICAgOiBKU0RPTVdyYXBwZXI8VGVzdFNlcmlhbGl6ZWRTY3JpcHRW
YWx1ZUludGVyZmFjZT4oc3RydWN0dXJlLCBnbG9iYWxPYmplY3QsIFdURk1vdmUoaW1wbCkpCiB7
CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UuaCBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRl
cmZhY2UuaAppbmRleCA0MmRiNWFiY2VmOTIuLjVmZDcyMTI2NWVmNSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFNlcmlhbGl6ZWRTY3Jp
cHRWYWx1ZUludGVyZmFjZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UuaApAQCAtNjQsNyAr
NjQsNyBAQCBwdWJsaWM6CiAKICAgICBzdGF0aWMgdm9pZCBhbmFseXplSGVhcChKU0NlbGwqLCBK
U0M6OkhlYXBBbmFseXplciYpOwogcHJvdGVjdGVkOgotICAgIEpTVGVzdFNlcmlhbGl6ZWRTY3Jp
cHRWYWx1ZUludGVyZmFjZShKU0M6OlN0cnVjdHVyZSosIEpTRE9NR2xvYmFsT2JqZWN0JiwgUmVm
PFRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2U+JiYsIEpTQzo6QnV0dGVyZmx5KiA9
IG51bGxwdHIpOworICAgIEpTVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZShKU0M6
OlN0cnVjdHVyZSosIEpTRE9NR2xvYmFsT2JqZWN0JiwgUmVmPFRlc3RTZXJpYWxpemVkU2NyaXB0
VmFsdWVJbnRlcmZhY2U+JiYpOwogCiAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihKU0M6OlZNJik7
CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdFNldExpa2UuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdFNldExpa2UuY3BwCmluZGV4IDM2Y2ZhNmZhZWY4MS4uN2I3NjY5OGZmMGE5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0
U2V0TGlrZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdFNldExpa2UuY3BwCkBAIC0xNDYsOCArMTQ2LDggQEAgdm9pZCBKU1Rlc3RTZXRMaWtl
UHJvdG90eXBlOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0pCiAKIGNvbnN0IENsYXNzSW5mbyBKU1Rl
c3RTZXRMaWtlOjpzX2luZm8gPSB7ICJUZXN0U2V0TGlrZSJfcywgJkJhc2U6OnNfaW5mbywgbnVs
bHB0ciwgbnVsbHB0ciwgQ1JFQVRFX01FVEhPRF9UQUJMRShKU1Rlc3RTZXRMaWtlKSB9OwogCi1K
U1Rlc3RTZXRMaWtlOjpKU1Rlc3RTZXRMaWtlKFN0cnVjdHVyZSogc3RydWN0dXJlLCBKU0RPTUds
b2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0LCBSZWY8VGVzdFNldExpa2U+JiYgaW1wbCwgSlNDOjpC
dXR0ZXJmbHkqIGJ1dHRlcmZseSkKLSAgICA6IEpTRE9NV3JhcHBlcjxUZXN0U2V0TGlrZT4oc3Ry
dWN0dXJlLCBnbG9iYWxPYmplY3QsIFdURk1vdmUoaW1wbCksIGJ1dHRlcmZseSkKK0pTVGVzdFNl
dExpa2U6OkpTVGVzdFNldExpa2UoU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEpTRE9NR2xvYmFsT2Jq
ZWN0JiBnbG9iYWxPYmplY3QsIFJlZjxUZXN0U2V0TGlrZT4mJiBpbXBsKQorICAgIDogSlNET01X
cmFwcGVyPFRlc3RTZXRMaWtlPihzdHJ1Y3R1cmUsIGdsb2JhbE9iamVjdCwgV1RGTW92ZShpbXBs
KSkKIHsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdFNldExpa2UuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3RTZXRMaWtlLmgKaW5kZXggNzUxZmU0ZjY2MTI3Li43NGVkMjY2MTNmODYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rl
c3RTZXRMaWtlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdFNldExpa2UuaApAQCAtNTgsNyArNTgsNyBAQCBwdWJsaWM6CiAgICAgc3RhdGljIEpT
Qzo6R0NDbGllbnQ6Oklzb1N1YnNwYWNlKiBzdWJzcGFjZUZvckltcGwoSlNDOjpWTSYgdm0pOwog
ICAgIHN0YXRpYyB2b2lkIGFuYWx5emVIZWFwKEpTQ2VsbCosIEpTQzo6SGVhcEFuYWx5emVyJik7
CiBwcm90ZWN0ZWQ6Ci0gICAgSlNUZXN0U2V0TGlrZShKU0M6OlN0cnVjdHVyZSosIEpTRE9NR2xv
YmFsT2JqZWN0JiwgUmVmPFRlc3RTZXRMaWtlPiYmLCBKU0M6OkJ1dHRlcmZseSogPSBudWxscHRy
KTsKKyAgICBKU1Rlc3RTZXRMaWtlKEpTQzo6U3RydWN0dXJlKiwgSlNET01HbG9iYWxPYmplY3Qm
LCBSZWY8VGVzdFNldExpa2U+JiYpOwogCiAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihKU0M6OlZN
Jik7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdFNldExpa2VXaXRoT3ZlcnJpZGRlbk9wZXJhdGlvbnMuY3BwIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFNldExpa2VXaXRoT3ZlcnJpZGRl
bk9wZXJhdGlvbnMuY3BwCmluZGV4IDhmNTg5Mjg1MmNhNS4uMjQwZTExMDhjYjAyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U2V0TGlr
ZVdpdGhPdmVycmlkZGVuT3BlcmF0aW9ucy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFNldExpa2VXaXRoT3ZlcnJpZGRlbk9wZXJhdGlvbnMu
Y3BwCkBAIC0xNTAsOCArMTUwLDggQEAgdm9pZCBKU1Rlc3RTZXRMaWtlV2l0aE92ZXJyaWRkZW5P
cGVyYXRpb25zUHJvdG90eXBlOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0pCiAKIGNvbnN0IENsYXNz
SW5mbyBKU1Rlc3RTZXRMaWtlV2l0aE92ZXJyaWRkZW5PcGVyYXRpb25zOjpzX2luZm8gPSB7ICJU
ZXN0U2V0TGlrZVdpdGhPdmVycmlkZGVuT3BlcmF0aW9ucyJfcywgJkJhc2U6OnNfaW5mbywgbnVs
bHB0ciwgbnVsbHB0ciwgQ1JFQVRFX01FVEhPRF9UQUJMRShKU1Rlc3RTZXRMaWtlV2l0aE92ZXJy
aWRkZW5PcGVyYXRpb25zKSB9OwogCi1KU1Rlc3RTZXRMaWtlV2l0aE92ZXJyaWRkZW5PcGVyYXRp
b25zOjpKU1Rlc3RTZXRMaWtlV2l0aE92ZXJyaWRkZW5PcGVyYXRpb25zKFN0cnVjdHVyZSogc3Ry
dWN0dXJlLCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0LCBSZWY8VGVzdFNldExpa2VX
aXRoT3ZlcnJpZGRlbk9wZXJhdGlvbnM+JiYgaW1wbCwgSlNDOjpCdXR0ZXJmbHkqIGJ1dHRlcmZs
eSkKLSAgICA6IEpTRE9NV3JhcHBlcjxUZXN0U2V0TGlrZVdpdGhPdmVycmlkZGVuT3BlcmF0aW9u
cz4oc3RydWN0dXJlLCBnbG9iYWxPYmplY3QsIFdURk1vdmUoaW1wbCksIGJ1dHRlcmZseSkKK0pT
VGVzdFNldExpa2VXaXRoT3ZlcnJpZGRlbk9wZXJhdGlvbnM6OkpTVGVzdFNldExpa2VXaXRoT3Zl
cnJpZGRlbk9wZXJhdGlvbnMoU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEpTRE9NR2xvYmFsT2JqZWN0
JiBnbG9iYWxPYmplY3QsIFJlZjxUZXN0U2V0TGlrZVdpdGhPdmVycmlkZGVuT3BlcmF0aW9ucz4m
JiBpbXBsKQorICAgIDogSlNET01XcmFwcGVyPFRlc3RTZXRMaWtlV2l0aE92ZXJyaWRkZW5PcGVy
YXRpb25zPihzdHJ1Y3R1cmUsIGdsb2JhbE9iamVjdCwgV1RGTW92ZShpbXBsKSkKIHsKIH0KIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVz
dFNldExpa2VXaXRoT3ZlcnJpZGRlbk9wZXJhdGlvbnMuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTZXRMaWtlV2l0aE92ZXJyaWRkZW5PcGVyYXRpb25z
LmgKaW5kZXggNzllOWZiNGY4YWYyLi4xZWIxODA5YjgxZDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTZXRMaWtlV2l0aE92ZXJyaWRk
ZW5PcGVyYXRpb25zLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdFNldExpa2VXaXRoT3ZlcnJpZGRlbk9wZXJhdGlvbnMuaApAQCAtNTgsNyArNTgs
NyBAQCBwdWJsaWM6CiAgICAgc3RhdGljIEpTQzo6R0NDbGllbnQ6Oklzb1N1YnNwYWNlKiBzdWJz
cGFjZUZvckltcGwoSlNDOjpWTSYgdm0pOwogICAgIHN0YXRpYyB2b2lkIGFuYWx5emVIZWFwKEpT
Q2VsbCosIEpTQzo6SGVhcEFuYWx5emVyJik7CiBwcm90ZWN0ZWQ6Ci0gICAgSlNUZXN0U2V0TGlr
ZVdpdGhPdmVycmlkZGVuT3BlcmF0aW9ucyhKU0M6OlN0cnVjdHVyZSosIEpTRE9NR2xvYmFsT2Jq
ZWN0JiwgUmVmPFRlc3RTZXRMaWtlV2l0aE92ZXJyaWRkZW5PcGVyYXRpb25zPiYmLCBKU0M6OkJ1
dHRlcmZseSogPSBudWxscHRyKTsKKyAgICBKU1Rlc3RTZXRMaWtlV2l0aE92ZXJyaWRkZW5PcGVy
YXRpb25zKEpTQzo6U3RydWN0dXJlKiwgSlNET01HbG9iYWxPYmplY3QmLCBSZWY8VGVzdFNldExp
a2VXaXRoT3ZlcnJpZGRlbk9wZXJhdGlvbnM+JiYpOwogCiAgICAgdm9pZCBmaW5pc2hDcmVhdGlv
bihKU0M6OlZNJik7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdFN0cmluZ2lmaWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTdHJpbmdpZmllci5jcHAKaW5kZXggYWFhNmIxNDY2
ZjRiLi5lMWFlMzdlZGRlMDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3RTdHJpbmdpZmllci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFN0cmluZ2lmaWVyLmNwcApAQCAtMTI1LDgg
KzEyNSw4IEBAIHZvaWQgSlNUZXN0U3RyaW5naWZpZXJQcm90b3R5cGU6OmZpbmlzaENyZWF0aW9u
KFZNJiB2bSkKIAogY29uc3QgQ2xhc3NJbmZvIEpTVGVzdFN0cmluZ2lmaWVyOjpzX2luZm8gPSB7
ICJUZXN0U3RyaW5naWZpZXIiX3MsICZCYXNlOjpzX2luZm8sIG51bGxwdHIsIG51bGxwdHIsIENS
RUFURV9NRVRIT0RfVEFCTEUoSlNUZXN0U3RyaW5naWZpZXIpIH07CiAKLUpTVGVzdFN0cmluZ2lm
aWVyOjpKU1Rlc3RTdHJpbmdpZmllcihTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgSlNET01HbG9iYWxP
YmplY3QmIGdsb2JhbE9iamVjdCwgUmVmPFRlc3RTdHJpbmdpZmllcj4mJiBpbXBsLCBKU0M6OkJ1
dHRlcmZseSogYnV0dGVyZmx5KQotICAgIDogSlNET01XcmFwcGVyPFRlc3RTdHJpbmdpZmllcj4o
c3RydWN0dXJlLCBnbG9iYWxPYmplY3QsIFdURk1vdmUoaW1wbCksIGJ1dHRlcmZseSkKK0pTVGVz
dFN0cmluZ2lmaWVyOjpKU1Rlc3RTdHJpbmdpZmllcihTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgSlNE
T01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCwgUmVmPFRlc3RTdHJpbmdpZmllcj4mJiBpbXBs
KQorICAgIDogSlNET01XcmFwcGVyPFRlc3RTdHJpbmdpZmllcj4oc3RydWN0dXJlLCBnbG9iYWxP
YmplY3QsIFdURk1vdmUoaW1wbCkpCiB7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTdHJpbmdpZmllci5oIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFN0cmluZ2lmaWVyLmgKaW5kZXgg
MmYwNzM4YWY5NmJjLi42ZjhiOTg5OGY0YTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTdHJpbmdpZmllci5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTdHJpbmdpZmllci5oCkBAIC01
OCw3ICs1OCw3IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgSlNDOjpHQ0NsaWVudDo6SXNvU3Vic3Bh
Y2UqIHN1YnNwYWNlRm9ySW1wbChKU0M6OlZNJiB2bSk7CiAgICAgc3RhdGljIHZvaWQgYW5hbHl6
ZUhlYXAoSlNDZWxsKiwgSlNDOjpIZWFwQW5hbHl6ZXImKTsKIHByb3RlY3RlZDoKLSAgICBKU1Rl
c3RTdHJpbmdpZmllcihKU0M6OlN0cnVjdHVyZSosIEpTRE9NR2xvYmFsT2JqZWN0JiwgUmVmPFRl
c3RTdHJpbmdpZmllcj4mJiwgSlNDOjpCdXR0ZXJmbHkqID0gbnVsbHB0cik7CisgICAgSlNUZXN0
U3RyaW5naWZpZXIoSlNDOjpTdHJ1Y3R1cmUqLCBKU0RPTUdsb2JhbE9iamVjdCYsIFJlZjxUZXN0
U3RyaW5naWZpZXI+JiYpOwogCiAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihKU0M6OlZNJik7CiB9
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdFN0cmluZ2lmaWVyQW5vbnltb3VzT3BlcmF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTdHJpbmdpZmllckFub255bW91c09wZXJhdGlv
bi5jcHAKaW5kZXggMGU1YWI1MGY5OWVlLi5lMTc4ZjUyNDg1ZjUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTdHJpbmdpZmllckFub255
bW91c09wZXJhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdFN0cmluZ2lmaWVyQW5vbnltb3VzT3BlcmF0aW9uLmNwcApAQCAtMTI1LDgg
KzEyNSw4IEBAIHZvaWQgSlNUZXN0U3RyaW5naWZpZXJBbm9ueW1vdXNPcGVyYXRpb25Qcm90b3R5
cGU6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSkKIAogY29uc3QgQ2xhc3NJbmZvIEpTVGVzdFN0cmlu
Z2lmaWVyQW5vbnltb3VzT3BlcmF0aW9uOjpzX2luZm8gPSB7ICJUZXN0U3RyaW5naWZpZXJBbm9u
eW1vdXNPcGVyYXRpb24iX3MsICZCYXNlOjpzX2luZm8sIG51bGxwdHIsIG51bGxwdHIsIENSRUFU
RV9NRVRIT0RfVEFCTEUoSlNUZXN0U3RyaW5naWZpZXJBbm9ueW1vdXNPcGVyYXRpb24pIH07CiAK
LUpTVGVzdFN0cmluZ2lmaWVyQW5vbnltb3VzT3BlcmF0aW9uOjpKU1Rlc3RTdHJpbmdpZmllckFu
b255bW91c09wZXJhdGlvbihTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgSlNET01HbG9iYWxPYmplY3Qm
IGdsb2JhbE9iamVjdCwgUmVmPFRlc3RTdHJpbmdpZmllckFub255bW91c09wZXJhdGlvbj4mJiBp
bXBsLCBKU0M6OkJ1dHRlcmZseSogYnV0dGVyZmx5KQotICAgIDogSlNET01XcmFwcGVyPFRlc3RT
dHJpbmdpZmllckFub255bW91c09wZXJhdGlvbj4oc3RydWN0dXJlLCBnbG9iYWxPYmplY3QsIFdU
Rk1vdmUoaW1wbCksIGJ1dHRlcmZseSkKK0pTVGVzdFN0cmluZ2lmaWVyQW5vbnltb3VzT3BlcmF0
aW9uOjpKU1Rlc3RTdHJpbmdpZmllckFub255bW91c09wZXJhdGlvbihTdHJ1Y3R1cmUqIHN0cnVj
dHVyZSwgSlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCwgUmVmPFRlc3RTdHJpbmdpZmll
ckFub255bW91c09wZXJhdGlvbj4mJiBpbXBsKQorICAgIDogSlNET01XcmFwcGVyPFRlc3RTdHJp
bmdpZmllckFub255bW91c09wZXJhdGlvbj4oc3RydWN0dXJlLCBnbG9iYWxPYmplY3QsIFdURk1v
dmUoaW1wbCkpCiB7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3RTdHJpbmdpZmllckFub255bW91c09wZXJhdGlvbi5oIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFN0cmluZ2lmaWVyQW5v
bnltb3VzT3BlcmF0aW9uLmgKaW5kZXggMGQwNTA5ZGQ2NmNmLi5jYjNmZDM3YjAzNzAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTdHJp
bmdpZmllckFub255bW91c09wZXJhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTdHJpbmdpZmllckFub255bW91c09wZXJhdGlvbi5oCkBA
IC01OCw3ICs1OCw3IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgSlNDOjpHQ0NsaWVudDo6SXNvU3Vi
c3BhY2UqIHN1YnNwYWNlRm9ySW1wbChKU0M6OlZNJiB2bSk7CiAgICAgc3RhdGljIHZvaWQgYW5h
bHl6ZUhlYXAoSlNDZWxsKiwgSlNDOjpIZWFwQW5hbHl6ZXImKTsKIHByb3RlY3RlZDoKLSAgICBK
U1Rlc3RTdHJpbmdpZmllckFub255bW91c09wZXJhdGlvbihKU0M6OlN0cnVjdHVyZSosIEpTRE9N
R2xvYmFsT2JqZWN0JiwgUmVmPFRlc3RTdHJpbmdpZmllckFub255bW91c09wZXJhdGlvbj4mJiwg
SlNDOjpCdXR0ZXJmbHkqID0gbnVsbHB0cik7CisgICAgSlNUZXN0U3RyaW5naWZpZXJBbm9ueW1v
dXNPcGVyYXRpb24oSlNDOjpTdHJ1Y3R1cmUqLCBKU0RPTUdsb2JhbE9iamVjdCYsIFJlZjxUZXN0
U3RyaW5naWZpZXJBbm9ueW1vdXNPcGVyYXRpb24+JiYpOwogCiAgICAgdm9pZCBmaW5pc2hDcmVh
dGlvbihKU0M6OlZNJik7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdFN0cmluZ2lmaWVyTmFtZWRPcGVyYXRpb24uY3BwIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFN0cmluZ2lmaWVyTmFt
ZWRPcGVyYXRpb24uY3BwCmluZGV4IGU3ZjRjZjQyNzkyOC4uOTgzMTg0ZWVkYTVmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U3RyaW5n
aWZpZXJOYW1lZE9wZXJhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdFN0cmluZ2lmaWVyTmFtZWRPcGVyYXRpb24uY3BwCkBAIC0xMjcs
OCArMTI3LDggQEAgdm9pZCBKU1Rlc3RTdHJpbmdpZmllck5hbWVkT3BlcmF0aW9uUHJvdG90eXBl
OjpmaW5pc2hDcmVhdGlvbihWTSYgdm0pCiAKIGNvbnN0IENsYXNzSW5mbyBKU1Rlc3RTdHJpbmdp
Zmllck5hbWVkT3BlcmF0aW9uOjpzX2luZm8gPSB7ICJUZXN0U3RyaW5naWZpZXJOYW1lZE9wZXJh
dGlvbiJfcywgJkJhc2U6OnNfaW5mbywgbnVsbHB0ciwgbnVsbHB0ciwgQ1JFQVRFX01FVEhPRF9U
QUJMRShKU1Rlc3RTdHJpbmdpZmllck5hbWVkT3BlcmF0aW9uKSB9OwogCi1KU1Rlc3RTdHJpbmdp
Zmllck5hbWVkT3BlcmF0aW9uOjpKU1Rlc3RTdHJpbmdpZmllck5hbWVkT3BlcmF0aW9uKFN0cnVj
dHVyZSogc3RydWN0dXJlLCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0LCBSZWY8VGVz
dFN0cmluZ2lmaWVyTmFtZWRPcGVyYXRpb24+JiYgaW1wbCwgSlNDOjpCdXR0ZXJmbHkqIGJ1dHRl
cmZseSkKLSAgICA6IEpTRE9NV3JhcHBlcjxUZXN0U3RyaW5naWZpZXJOYW1lZE9wZXJhdGlvbj4o
c3RydWN0dXJlLCBnbG9iYWxPYmplY3QsIFdURk1vdmUoaW1wbCksIGJ1dHRlcmZseSkKK0pTVGVz
dFN0cmluZ2lmaWVyTmFtZWRPcGVyYXRpb246OkpTVGVzdFN0cmluZ2lmaWVyTmFtZWRPcGVyYXRp
b24oU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3Qs
IFJlZjxUZXN0U3RyaW5naWZpZXJOYW1lZE9wZXJhdGlvbj4mJiBpbXBsKQorICAgIDogSlNET01X
cmFwcGVyPFRlc3RTdHJpbmdpZmllck5hbWVkT3BlcmF0aW9uPihzdHJ1Y3R1cmUsIGdsb2JhbE9i
amVjdCwgV1RGTW92ZShpbXBsKSkKIHsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFN0cmluZ2lmaWVyTmFtZWRPcGVyYXRpb24u
aCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTdHJpbmdp
Zmllck5hbWVkT3BlcmF0aW9uLmgKaW5kZXggN2Y3YTgzMzNjNTFmLi4yMWQxYmYyNjYzYmUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RT
dHJpbmdpZmllck5hbWVkT3BlcmF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdFN0cmluZ2lmaWVyTmFtZWRPcGVyYXRpb24uaApAQCAtNTgs
NyArNTgsNyBAQCBwdWJsaWM6CiAgICAgc3RhdGljIEpTQzo6R0NDbGllbnQ6Oklzb1N1YnNwYWNl
KiBzdWJzcGFjZUZvckltcGwoSlNDOjpWTSYgdm0pOwogICAgIHN0YXRpYyB2b2lkIGFuYWx5emVI
ZWFwKEpTQ2VsbCosIEpTQzo6SGVhcEFuYWx5emVyJik7CiBwcm90ZWN0ZWQ6Ci0gICAgSlNUZXN0
U3RyaW5naWZpZXJOYW1lZE9wZXJhdGlvbihKU0M6OlN0cnVjdHVyZSosIEpTRE9NR2xvYmFsT2Jq
ZWN0JiwgUmVmPFRlc3RTdHJpbmdpZmllck5hbWVkT3BlcmF0aW9uPiYmLCBKU0M6OkJ1dHRlcmZs
eSogPSBudWxscHRyKTsKKyAgICBKU1Rlc3RTdHJpbmdpZmllck5hbWVkT3BlcmF0aW9uKEpTQzo6
U3RydWN0dXJlKiwgSlNET01HbG9iYWxPYmplY3QmLCBSZWY8VGVzdFN0cmluZ2lmaWVyTmFtZWRP
cGVyYXRpb24+JiYpOwogCiAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihKU0M6OlZNJik7CiB9Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVz
dFN0cmluZ2lmaWVyT3BlcmF0aW9uSW1wbGVtZW50ZWRBcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U3RyaW5naWZpZXJPcGVyYXRpb25JbXBsZW1l
bnRlZEFzLmNwcAppbmRleCBiMmIzYzkzYTY3ZjcuLjIxY2ZhYjdjM2M0NSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFN0cmluZ2lmaWVy
T3BlcmF0aW9uSW1wbGVtZW50ZWRBcy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdFN0cmluZ2lmaWVyT3BlcmF0aW9uSW1wbGVtZW50ZWRBcy5j
cHAKQEAgLTEyNyw4ICsxMjcsOCBAQCB2b2lkIEpTVGVzdFN0cmluZ2lmaWVyT3BlcmF0aW9uSW1w
bGVtZW50ZWRBc1Byb3RvdHlwZTo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtKQogCiBjb25zdCBDbGFz
c0luZm8gSlNUZXN0U3RyaW5naWZpZXJPcGVyYXRpb25JbXBsZW1lbnRlZEFzOjpzX2luZm8gPSB7
ICJUZXN0U3RyaW5naWZpZXJPcGVyYXRpb25JbXBsZW1lbnRlZEFzIl9zLCAmQmFzZTo6c19pbmZv
LCBudWxscHRyLCBudWxscHRyLCBDUkVBVEVfTUVUSE9EX1RBQkxFKEpTVGVzdFN0cmluZ2lmaWVy
T3BlcmF0aW9uSW1wbGVtZW50ZWRBcykgfTsKIAotSlNUZXN0U3RyaW5naWZpZXJPcGVyYXRpb25J
bXBsZW1lbnRlZEFzOjpKU1Rlc3RTdHJpbmdpZmllck9wZXJhdGlvbkltcGxlbWVudGVkQXMoU3Ry
dWN0dXJlKiBzdHJ1Y3R1cmUsIEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QsIFJlZjxU
ZXN0U3RyaW5naWZpZXJPcGVyYXRpb25JbXBsZW1lbnRlZEFzPiYmIGltcGwsIEpTQzo6QnV0dGVy
Zmx5KiBidXR0ZXJmbHkpCi0gICAgOiBKU0RPTVdyYXBwZXI8VGVzdFN0cmluZ2lmaWVyT3BlcmF0
aW9uSW1wbGVtZW50ZWRBcz4oc3RydWN0dXJlLCBnbG9iYWxPYmplY3QsIFdURk1vdmUoaW1wbCks
IGJ1dHRlcmZseSkKK0pTVGVzdFN0cmluZ2lmaWVyT3BlcmF0aW9uSW1wbGVtZW50ZWRBczo6SlNU
ZXN0U3RyaW5naWZpZXJPcGVyYXRpb25JbXBsZW1lbnRlZEFzKFN0cnVjdHVyZSogc3RydWN0dXJl
LCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0LCBSZWY8VGVzdFN0cmluZ2lmaWVyT3Bl
cmF0aW9uSW1wbGVtZW50ZWRBcz4mJiBpbXBsKQorICAgIDogSlNET01XcmFwcGVyPFRlc3RTdHJp
bmdpZmllck9wZXJhdGlvbkltcGxlbWVudGVkQXM+KHN0cnVjdHVyZSwgZ2xvYmFsT2JqZWN0LCBX
VEZNb3ZlKGltcGwpKQogewogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U3RyaW5naWZpZXJPcGVyYXRpb25JbXBsZW1lbnRlZEFz
LmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U3RyaW5n
aWZpZXJPcGVyYXRpb25JbXBsZW1lbnRlZEFzLmgKaW5kZXggYzIwNzM1YjU2M2RiLi45YzFlNDcy
MGVjZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3RTdHJpbmdpZmllck9wZXJhdGlvbkltcGxlbWVudGVkQXMuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U3RyaW5naWZpZXJPcGVyYXRp
b25JbXBsZW1lbnRlZEFzLmgKQEAgLTU4LDcgKzU4LDcgQEAgcHVibGljOgogICAgIHN0YXRpYyBK
U0M6OkdDQ2xpZW50OjpJc29TdWJzcGFjZSogc3Vic3BhY2VGb3JJbXBsKEpTQzo6Vk0mIHZtKTsK
ICAgICBzdGF0aWMgdm9pZCBhbmFseXplSGVhcChKU0NlbGwqLCBKU0M6OkhlYXBBbmFseXplciYp
OwogcHJvdGVjdGVkOgotICAgIEpTVGVzdFN0cmluZ2lmaWVyT3BlcmF0aW9uSW1wbGVtZW50ZWRB
cyhKU0M6OlN0cnVjdHVyZSosIEpTRE9NR2xvYmFsT2JqZWN0JiwgUmVmPFRlc3RTdHJpbmdpZmll
ck9wZXJhdGlvbkltcGxlbWVudGVkQXM+JiYsIEpTQzo6QnV0dGVyZmx5KiA9IG51bGxwdHIpOwor
ICAgIEpTVGVzdFN0cmluZ2lmaWVyT3BlcmF0aW9uSW1wbGVtZW50ZWRBcyhKU0M6OlN0cnVjdHVy
ZSosIEpTRE9NR2xvYmFsT2JqZWN0JiwgUmVmPFRlc3RTdHJpbmdpZmllck9wZXJhdGlvbkltcGxl
bWVudGVkQXM+JiYpOwogCiAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihKU0M6OlZNJik7CiB9Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVz
dFN0cmluZ2lmaWVyT3BlcmF0aW9uTmFtZWRUb1N0cmluZy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U3RyaW5naWZpZXJPcGVyYXRpb25OYW1lZFRv
U3RyaW5nLmNwcAppbmRleCAyOThkYTQ2YzQ4YzkuLjllYWQ0OWQ3NGVhZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFN0cmluZ2lmaWVy
T3BlcmF0aW9uTmFtZWRUb1N0cmluZy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdFN0cmluZ2lmaWVyT3BlcmF0aW9uTmFtZWRUb1N0cmluZy5j
cHAKQEAgLTEyNSw4ICsxMjUsOCBAQCB2b2lkIEpTVGVzdFN0cmluZ2lmaWVyT3BlcmF0aW9uTmFt
ZWRUb1N0cmluZ1Byb3RvdHlwZTo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtKQogCiBjb25zdCBDbGFz
c0luZm8gSlNUZXN0U3RyaW5naWZpZXJPcGVyYXRpb25OYW1lZFRvU3RyaW5nOjpzX2luZm8gPSB7
ICJUZXN0U3RyaW5naWZpZXJPcGVyYXRpb25OYW1lZFRvU3RyaW5nIl9zLCAmQmFzZTo6c19pbmZv
LCBudWxscHRyLCBudWxscHRyLCBDUkVBVEVfTUVUSE9EX1RBQkxFKEpTVGVzdFN0cmluZ2lmaWVy
T3BlcmF0aW9uTmFtZWRUb1N0cmluZykgfTsKIAotSlNUZXN0U3RyaW5naWZpZXJPcGVyYXRpb25O
YW1lZFRvU3RyaW5nOjpKU1Rlc3RTdHJpbmdpZmllck9wZXJhdGlvbk5hbWVkVG9TdHJpbmcoU3Ry
dWN0dXJlKiBzdHJ1Y3R1cmUsIEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QsIFJlZjxU
ZXN0U3RyaW5naWZpZXJPcGVyYXRpb25OYW1lZFRvU3RyaW5nPiYmIGltcGwsIEpTQzo6QnV0dGVy
Zmx5KiBidXR0ZXJmbHkpCi0gICAgOiBKU0RPTVdyYXBwZXI8VGVzdFN0cmluZ2lmaWVyT3BlcmF0
aW9uTmFtZWRUb1N0cmluZz4oc3RydWN0dXJlLCBnbG9iYWxPYmplY3QsIFdURk1vdmUoaW1wbCks
IGJ1dHRlcmZseSkKK0pTVGVzdFN0cmluZ2lmaWVyT3BlcmF0aW9uTmFtZWRUb1N0cmluZzo6SlNU
ZXN0U3RyaW5naWZpZXJPcGVyYXRpb25OYW1lZFRvU3RyaW5nKFN0cnVjdHVyZSogc3RydWN0dXJl
LCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0LCBSZWY8VGVzdFN0cmluZ2lmaWVyT3Bl
cmF0aW9uTmFtZWRUb1N0cmluZz4mJiBpbXBsKQorICAgIDogSlNET01XcmFwcGVyPFRlc3RTdHJp
bmdpZmllck9wZXJhdGlvbk5hbWVkVG9TdHJpbmc+KHN0cnVjdHVyZSwgZ2xvYmFsT2JqZWN0LCBX
VEZNb3ZlKGltcGwpKQogewogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U3RyaW5naWZpZXJPcGVyYXRpb25OYW1lZFRvU3RyaW5n
LmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U3RyaW5n
aWZpZXJPcGVyYXRpb25OYW1lZFRvU3RyaW5nLmgKaW5kZXggOGMyZTc1ODhkODliLi5iMDc4Mjg3
MmMyYTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3RTdHJpbmdpZmllck9wZXJhdGlvbk5hbWVkVG9TdHJpbmcuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U3RyaW5naWZpZXJPcGVyYXRp
b25OYW1lZFRvU3RyaW5nLmgKQEAgLTU4LDcgKzU4LDcgQEAgcHVibGljOgogICAgIHN0YXRpYyBK
U0M6OkdDQ2xpZW50OjpJc29TdWJzcGFjZSogc3Vic3BhY2VGb3JJbXBsKEpTQzo6Vk0mIHZtKTsK
ICAgICBzdGF0aWMgdm9pZCBhbmFseXplSGVhcChKU0NlbGwqLCBKU0M6OkhlYXBBbmFseXplciYp
OwogcHJvdGVjdGVkOgotICAgIEpTVGVzdFN0cmluZ2lmaWVyT3BlcmF0aW9uTmFtZWRUb1N0cmlu
ZyhKU0M6OlN0cnVjdHVyZSosIEpTRE9NR2xvYmFsT2JqZWN0JiwgUmVmPFRlc3RTdHJpbmdpZmll
ck9wZXJhdGlvbk5hbWVkVG9TdHJpbmc+JiYsIEpTQzo6QnV0dGVyZmx5KiA9IG51bGxwdHIpOwor
ICAgIEpTVGVzdFN0cmluZ2lmaWVyT3BlcmF0aW9uTmFtZWRUb1N0cmluZyhKU0M6OlN0cnVjdHVy
ZSosIEpTRE9NR2xvYmFsT2JqZWN0JiwgUmVmPFRlc3RTdHJpbmdpZmllck9wZXJhdGlvbk5hbWVk
VG9TdHJpbmc+JiYpOwogCiAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihKU0M6OlZNJik7CiB9Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVz
dFN0cmluZ2lmaWVyUmVhZE9ubHlBdHRyaWJ1dGUuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFN0cmluZ2lmaWVyUmVhZE9ubHlBdHRyaWJ1dGUuY3Bw
CmluZGV4IDVmNDYwNmZjMTdjNC4uMWZhMGFiNmNiZDllIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U3RyaW5naWZpZXJSZWFkT25seUF0
dHJpYnV0ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdFN0cmluZ2lmaWVyUmVhZE9ubHlBdHRyaWJ1dGUuY3BwCkBAIC0xMjgsOCArMTI4LDgg
QEAgdm9pZCBKU1Rlc3RTdHJpbmdpZmllclJlYWRPbmx5QXR0cmlidXRlUHJvdG90eXBlOjpmaW5p
c2hDcmVhdGlvbihWTSYgdm0pCiAKIGNvbnN0IENsYXNzSW5mbyBKU1Rlc3RTdHJpbmdpZmllclJl
YWRPbmx5QXR0cmlidXRlOjpzX2luZm8gPSB7ICJUZXN0U3RyaW5naWZpZXJSZWFkT25seUF0dHJp
YnV0ZSJfcywgJkJhc2U6OnNfaW5mbywgbnVsbHB0ciwgbnVsbHB0ciwgQ1JFQVRFX01FVEhPRF9U
QUJMRShKU1Rlc3RTdHJpbmdpZmllclJlYWRPbmx5QXR0cmlidXRlKSB9OwogCi1KU1Rlc3RTdHJp
bmdpZmllclJlYWRPbmx5QXR0cmlidXRlOjpKU1Rlc3RTdHJpbmdpZmllclJlYWRPbmx5QXR0cmli
dXRlKFN0cnVjdHVyZSogc3RydWN0dXJlLCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0
LCBSZWY8VGVzdFN0cmluZ2lmaWVyUmVhZE9ubHlBdHRyaWJ1dGU+JiYgaW1wbCwgSlNDOjpCdXR0
ZXJmbHkqIGJ1dHRlcmZseSkKLSAgICA6IEpTRE9NV3JhcHBlcjxUZXN0U3RyaW5naWZpZXJSZWFk
T25seUF0dHJpYnV0ZT4oc3RydWN0dXJlLCBnbG9iYWxPYmplY3QsIFdURk1vdmUoaW1wbCksIGJ1
dHRlcmZseSkKK0pTVGVzdFN0cmluZ2lmaWVyUmVhZE9ubHlBdHRyaWJ1dGU6OkpTVGVzdFN0cmlu
Z2lmaWVyUmVhZE9ubHlBdHRyaWJ1dGUoU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEpTRE9NR2xvYmFs
T2JqZWN0JiBnbG9iYWxPYmplY3QsIFJlZjxUZXN0U3RyaW5naWZpZXJSZWFkT25seUF0dHJpYnV0
ZT4mJiBpbXBsKQorICAgIDogSlNET01XcmFwcGVyPFRlc3RTdHJpbmdpZmllclJlYWRPbmx5QXR0
cmlidXRlPihzdHJ1Y3R1cmUsIGdsb2JhbE9iamVjdCwgV1RGTW92ZShpbXBsKSkKIHsKIH0KIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVz
dFN0cmluZ2lmaWVyUmVhZE9ubHlBdHRyaWJ1dGUuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTdHJpbmdpZmllclJlYWRPbmx5QXR0cmlidXRlLmgKaW5k
ZXggZmVjNGJiZDgyNzdiLi42NzkzMTNlZGY3YTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTdHJpbmdpZmllclJlYWRPbmx5QXR0cmli
dXRlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVz
dFN0cmluZ2lmaWVyUmVhZE9ubHlBdHRyaWJ1dGUuaApAQCAtNTgsNyArNTgsNyBAQCBwdWJsaWM6
CiAgICAgc3RhdGljIEpTQzo6R0NDbGllbnQ6Oklzb1N1YnNwYWNlKiBzdWJzcGFjZUZvckltcGwo
SlNDOjpWTSYgdm0pOwogICAgIHN0YXRpYyB2b2lkIGFuYWx5emVIZWFwKEpTQ2VsbCosIEpTQzo6
SGVhcEFuYWx5emVyJik7CiBwcm90ZWN0ZWQ6Ci0gICAgSlNUZXN0U3RyaW5naWZpZXJSZWFkT25s
eUF0dHJpYnV0ZShKU0M6OlN0cnVjdHVyZSosIEpTRE9NR2xvYmFsT2JqZWN0JiwgUmVmPFRlc3RT
dHJpbmdpZmllclJlYWRPbmx5QXR0cmlidXRlPiYmLCBKU0M6OkJ1dHRlcmZseSogPSBudWxscHRy
KTsKKyAgICBKU1Rlc3RTdHJpbmdpZmllclJlYWRPbmx5QXR0cmlidXRlKEpTQzo6U3RydWN0dXJl
KiwgSlNET01HbG9iYWxPYmplY3QmLCBSZWY8VGVzdFN0cmluZ2lmaWVyUmVhZE9ubHlBdHRyaWJ1
dGU+JiYpOwogCiAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihKU0M6OlZNJik7CiB9OwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFN0cmlu
Z2lmaWVyUmVhZFdyaXRlQXR0cmlidXRlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3RTdHJpbmdpZmllclJlYWRXcml0ZUF0dHJpYnV0ZS5jcHAKaW5k
ZXggMzA2NDcwNjUxYzhhLi4wYjU1MDdiZTdkM2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTdHJpbmdpZmllclJlYWRXcml0ZUF0dHJp
YnV0ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdFN0cmluZ2lmaWVyUmVhZFdyaXRlQXR0cmlidXRlLmNwcApAQCAtMTI5LDggKzEyOSw4IEBA
IHZvaWQgSlNUZXN0U3RyaW5naWZpZXJSZWFkV3JpdGVBdHRyaWJ1dGVQcm90b3R5cGU6OmZpbmlz
aENyZWF0aW9uKFZNJiB2bSkKIAogY29uc3QgQ2xhc3NJbmZvIEpTVGVzdFN0cmluZ2lmaWVyUmVh
ZFdyaXRlQXR0cmlidXRlOjpzX2luZm8gPSB7ICJUZXN0U3RyaW5naWZpZXJSZWFkV3JpdGVBdHRy
aWJ1dGUiX3MsICZCYXNlOjpzX2luZm8sIG51bGxwdHIsIG51bGxwdHIsIENSRUFURV9NRVRIT0Rf
VEFCTEUoSlNUZXN0U3RyaW5naWZpZXJSZWFkV3JpdGVBdHRyaWJ1dGUpIH07CiAKLUpTVGVzdFN0
cmluZ2lmaWVyUmVhZFdyaXRlQXR0cmlidXRlOjpKU1Rlc3RTdHJpbmdpZmllclJlYWRXcml0ZUF0
dHJpYnV0ZShTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgSlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9i
amVjdCwgUmVmPFRlc3RTdHJpbmdpZmllclJlYWRXcml0ZUF0dHJpYnV0ZT4mJiBpbXBsLCBKU0M6
OkJ1dHRlcmZseSogYnV0dGVyZmx5KQotICAgIDogSlNET01XcmFwcGVyPFRlc3RTdHJpbmdpZmll
clJlYWRXcml0ZUF0dHJpYnV0ZT4oc3RydWN0dXJlLCBnbG9iYWxPYmplY3QsIFdURk1vdmUoaW1w
bCksIGJ1dHRlcmZseSkKK0pTVGVzdFN0cmluZ2lmaWVyUmVhZFdyaXRlQXR0cmlidXRlOjpKU1Rl
c3RTdHJpbmdpZmllclJlYWRXcml0ZUF0dHJpYnV0ZShTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgSlNE
T01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCwgUmVmPFRlc3RTdHJpbmdpZmllclJlYWRXcml0
ZUF0dHJpYnV0ZT4mJiBpbXBsKQorICAgIDogSlNET01XcmFwcGVyPFRlc3RTdHJpbmdpZmllclJl
YWRXcml0ZUF0dHJpYnV0ZT4oc3RydWN0dXJlLCBnbG9iYWxPYmplY3QsIFdURk1vdmUoaW1wbCkp
CiB7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU1Rlc3RTdHJpbmdpZmllclJlYWRXcml0ZUF0dHJpYnV0ZS5oIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFN0cmluZ2lmaWVyUmVhZFdyaXRlQXR0
cmlidXRlLmgKaW5kZXggNzhkYjBkZjQwYTUxLi4xMjEzNzRlNDNkODAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTdHJpbmdpZmllclJl
YWRXcml0ZUF0dHJpYnV0ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3RTdHJpbmdpZmllclJlYWRXcml0ZUF0dHJpYnV0ZS5oCkBAIC01OCw3ICs1
OCw3IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgSlNDOjpHQ0NsaWVudDo6SXNvU3Vic3BhY2UqIHN1
YnNwYWNlRm9ySW1wbChKU0M6OlZNJiB2bSk7CiAgICAgc3RhdGljIHZvaWQgYW5hbHl6ZUhlYXAo
SlNDZWxsKiwgSlNDOjpIZWFwQW5hbHl6ZXImKTsKIHByb3RlY3RlZDoKLSAgICBKU1Rlc3RTdHJp
bmdpZmllclJlYWRXcml0ZUF0dHJpYnV0ZShKU0M6OlN0cnVjdHVyZSosIEpTRE9NR2xvYmFsT2Jq
ZWN0JiwgUmVmPFRlc3RTdHJpbmdpZmllclJlYWRXcml0ZUF0dHJpYnV0ZT4mJiwgSlNDOjpCdXR0
ZXJmbHkqID0gbnVsbHB0cik7CisgICAgSlNUZXN0U3RyaW5naWZpZXJSZWFkV3JpdGVBdHRyaWJ1
dGUoSlNDOjpTdHJ1Y3R1cmUqLCBKU0RPTUdsb2JhbE9iamVjdCYsIFJlZjxUZXN0U3RyaW5naWZp
ZXJSZWFkV3JpdGVBdHRyaWJ1dGU+JiYpOwogCiAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihKU0M6
OlZNJik7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdFRhZ2dlZFdyYXBwZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdFRhZ2dlZFdyYXBwZXIuY3BwCmluZGV4IDJlYjQ5NjVjN2I2
Ny4uMDU5ODczZTM5YjFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0VGFnZ2VkV3JhcHBlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFRhZ2dlZFdyYXBwZXIuY3BwCkBAIC0xMTgs
OCArMTE4LDggQEAgdm9pZCBKU1Rlc3RUYWdnZWRXcmFwcGVyUHJvdG90eXBlOjpmaW5pc2hDcmVh
dGlvbihWTSYgdm0pCiAKIGNvbnN0IENsYXNzSW5mbyBKU1Rlc3RUYWdnZWRXcmFwcGVyOjpzX2lu
Zm8gPSB7ICJUZXN0VGFnZ2VkV3JhcHBlciJfcywgJkJhc2U6OnNfaW5mbywgbnVsbHB0ciwgbnVs
bHB0ciwgQ1JFQVRFX01FVEhPRF9UQUJMRShKU1Rlc3RUYWdnZWRXcmFwcGVyKSB9OwogCi1KU1Rl
c3RUYWdnZWRXcmFwcGVyOjpKU1Rlc3RUYWdnZWRXcmFwcGVyKFN0cnVjdHVyZSogc3RydWN0dXJl
LCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0LCBSZWY8VGVzdFRhZ2dlZFdyYXBwZXI+
JiYgaW1wbCwgSlNDOjpCdXR0ZXJmbHkqIGJ1dHRlcmZseSkKLSAgICA6IEpTRE9NV3JhcHBlcjxU
ZXN0VGFnZ2VkV3JhcHBlciwgU2lnbmVkUHRyVHJhaXRzPFRlc3RUYWdnZWRXcmFwcGVyLCBUZXN0
VGFnZ2VkV3JhcHBlclB0clRhZz4+KHN0cnVjdHVyZSwgZ2xvYmFsT2JqZWN0LCBXVEZNb3ZlKGlt
cGwpLCBidXR0ZXJmbHkpCitKU1Rlc3RUYWdnZWRXcmFwcGVyOjpKU1Rlc3RUYWdnZWRXcmFwcGVy
KFN0cnVjdHVyZSogc3RydWN0dXJlLCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0LCBS
ZWY8VGVzdFRhZ2dlZFdyYXBwZXI+JiYgaW1wbCkKKyAgICA6IEpTRE9NV3JhcHBlcjxUZXN0VGFn
Z2VkV3JhcHBlciwgU2lnbmVkUHRyVHJhaXRzPFRlc3RUYWdnZWRXcmFwcGVyLCBUZXN0VGFnZ2Vk
V3JhcHBlclB0clRhZz4+KHN0cnVjdHVyZSwgZ2xvYmFsT2JqZWN0LCBXVEZNb3ZlKGltcGwpKQog
ewogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0VGFnZ2VkV3JhcHBlci5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTVGVzdFRhZ2dlZFdyYXBwZXIuaAppbmRleCA3OTRmYTlhYmViM2QuLmIxZTE4
OWZiOGM4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdFRhZ2dlZFdyYXBwZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0VGFnZ2VkV3JhcHBlci5oCkBAIC01OSw3ICs1OSw3IEBAIHB1
YmxpYzoKICAgICBzdGF0aWMgSlNDOjpHQ0NsaWVudDo6SXNvU3Vic3BhY2UqIHN1YnNwYWNlRm9y
SW1wbChKU0M6OlZNJiB2bSk7CiAgICAgc3RhdGljIHZvaWQgYW5hbHl6ZUhlYXAoSlNDZWxsKiwg
SlNDOjpIZWFwQW5hbHl6ZXImKTsKIHByb3RlY3RlZDoKLSAgICBKU1Rlc3RUYWdnZWRXcmFwcGVy
KEpTQzo6U3RydWN0dXJlKiwgSlNET01HbG9iYWxPYmplY3QmLCBSZWY8VGVzdFRhZ2dlZFdyYXBw
ZXI+JiYsIEpTQzo6QnV0dGVyZmx5KiA9IG51bGxwdHIpOworICAgIEpTVGVzdFRhZ2dlZFdyYXBw
ZXIoSlNDOjpTdHJ1Y3R1cmUqLCBKU0RPTUdsb2JhbE9iamVjdCYsIFJlZjxUZXN0VGFnZ2VkV3Jh
cHBlcj4mJik7CiAKICAgICB2b2lkIGZpbmlzaENyZWF0aW9uKEpTQzo6Vk0mKTsKIH07CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0VHlw
ZWRlZnMuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVz
dFR5cGVkZWZzLmNwcAppbmRleCA0NWI0NmIzZGEwM2IuLjUxNWY5MmE1NmYxMiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFR5cGVkZWZz
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0
VHlwZWRlZnMuY3BwCkBAIC0yNDMsOCArMjQzLDggQEAgdm9pZCBKU1Rlc3RUeXBlZGVmc1Byb3Rv
dHlwZTo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtKQogCiBjb25zdCBDbGFzc0luZm8gSlNUZXN0VHlw
ZWRlZnM6OnNfaW5mbyA9IHsgIlRlc3RUeXBlZGVmcyJfcywgJkJhc2U6OnNfaW5mbywgJkpTVGVz
dFR5cGVkZWZzVGFibGUsIG51bGxwdHIsIENSRUFURV9NRVRIT0RfVEFCTEUoSlNUZXN0VHlwZWRl
ZnMpIH07CiAKLUpTVGVzdFR5cGVkZWZzOjpKU1Rlc3RUeXBlZGVmcyhTdHJ1Y3R1cmUqIHN0cnVj
dHVyZSwgSlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCwgUmVmPFRlc3RUeXBlZGVmcz4m
JiBpbXBsLCBKU0M6OkJ1dHRlcmZseSogYnV0dGVyZmx5KQotICAgIDogSlNET01XcmFwcGVyPFRl
c3RUeXBlZGVmcz4oc3RydWN0dXJlLCBnbG9iYWxPYmplY3QsIFdURk1vdmUoaW1wbCksIGJ1dHRl
cmZseSkKK0pTVGVzdFR5cGVkZWZzOjpKU1Rlc3RUeXBlZGVmcyhTdHJ1Y3R1cmUqIHN0cnVjdHVy
ZSwgSlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCwgUmVmPFRlc3RUeXBlZGVmcz4mJiBp
bXBsKQorICAgIDogSlNET01XcmFwcGVyPFRlc3RUeXBlZGVmcz4oc3RydWN0dXJlLCBnbG9iYWxP
YmplY3QsIFdURk1vdmUoaW1wbCkpCiB7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RUeXBlZGVmcy5oIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFR5cGVkZWZzLmgKaW5kZXggZTY1MTlj
OTVmMjUyLi42Y2YyM2E3ZjcwOTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RUeXBlZGVmcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RUeXBlZGVmcy5oCkBAIC02MCw3ICs2MCw3IEBA
IHB1YmxpYzoKIHB1YmxpYzoKICAgICBzdGF0aWMgY29uc3RleHByIHVuc2lnbmVkIFN0cnVjdHVy
ZUZsYWdzID0gQmFzZTo6U3RydWN0dXJlRmxhZ3MgfCBKU0M6Okhhc1N0YXRpY1Byb3BlcnR5VGFi
bGU7CiBwcm90ZWN0ZWQ6Ci0gICAgSlNUZXN0VHlwZWRlZnMoSlNDOjpTdHJ1Y3R1cmUqLCBKU0RP
TUdsb2JhbE9iamVjdCYsIFJlZjxUZXN0VHlwZWRlZnM+JiYsIEpTQzo6QnV0dGVyZmx5KiA9IG51
bGxwdHIpOworICAgIEpTVGVzdFR5cGVkZWZzKEpTQzo6U3RydWN0dXJlKiwgSlNET01HbG9iYWxP
YmplY3QmLCBSZWY8VGVzdFR5cGVkZWZzPiYmKTsKIAogICAgIHZvaWQgZmluaXNoQ3JlYXRpb24o
SlNDOjpWTSYpOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlTGlzdC5o
IGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGVMaXN0LmgKaW5kZXggZGE1YmZhM2Q2OWY3Li40Y2Fm
ZGJiZDRkOGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlTGlzdC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlTGlzdC5oCkBAIC01Niw3ICs1Niw2IEBAIHB1YmxpYzoK
ICAgICB2aXJ0dWFsIGJvb2wgaXNMaXZlTm9kZUxpc3QoKSBjb25zdCB7IHJldHVybiBmYWxzZTsg
fQogICAgIHZpcnR1YWwgYm9vbCBpc0NoaWxkTm9kZUxpc3QoKSBjb25zdCB7IHJldHVybiBmYWxz
ZTsgfQogICAgIHZpcnR1YWwgYm9vbCBpc0VtcHR5Tm9kZUxpc3QoKSBjb25zdCB7IHJldHVybiBm
YWxzZTsgfQotICAgIHZpcnR1YWwgYm9vbCBpc1N0YXRpY05vZGVMaXN0KCkgY29uc3QgeyByZXR1
cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIHNpemVfdCBtZW1vcnlDb3N0KCkgY29uc3QgeyByZXR1
cm4gMDsgfQogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1N0YXRpY05vZGVM
aXN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TdGF0aWNOb2RlTGlzdC5jcHAKaW5kZXggMmMy
ZjAyMTA3ZTA3Li5mN2Y1MjNkYjU0ZjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9T
dGF0aWNOb2RlTGlzdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1N0YXRpY05vZGVMaXN0
LmNwcApAQCAtMzYsMTEgKzM2LDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogV1RGX01BS0VfSVNP
X0FMTE9DQVRFRF9JTVBMKFN0YXRpY05vZGVMaXN0KTsKIFdURl9NQUtFX0lTT19BTExPQ0FURURf
SU1QTChTdGF0aWNFbGVtZW50TGlzdCk7CiAKLWJvb2wgU3RhdGljTm9kZUxpc3Q6OmlzU3RhdGlj
Tm9kZUxpc3QoKSBjb25zdAotewotICAgIHJldHVybiB0cnVlOwotfQotCiB1bnNpZ25lZCBTdGF0
aWNOb2RlTGlzdDo6bGVuZ3RoKCkgY29uc3QKIHsKICAgICByZXR1cm4gbV9ub2Rlcy5zaXplKCk7
CkBAIC01MywxMSArNDgsNiBAQCBOb2RlKiBTdGF0aWNOb2RlTGlzdDo6aXRlbSh1bnNpZ25lZCBp
bmRleCkgY29uc3QKICAgICByZXR1cm4gbnVsbHB0cjsKIH0KIAotYm9vbCBTdGF0aWNFbGVtZW50
TGlzdDo6aXNTdGF0aWNOb2RlTGlzdCgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIHRydWU7Ci19Ci0K
IHVuc2lnbmVkIFN0YXRpY0VsZW1lbnRMaXN0OjpsZW5ndGgoKSBjb25zdAogewogICAgIHJldHVy
biBtX2VsZW1lbnRzLnNpemUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TdGF0
aWNOb2RlTGlzdC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL1N0YXRpY05vZGVMaXN0LmgKaW5kZXgg
YTRhMjZjZWQwYjdiLi5kOTgzYWU1MDE0ZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9TdGF0aWNOb2RlTGlzdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TdGF0aWNOb2RlTGlz
dC5oCkBAIC00NSw4ICs0NSw2IEBAIHB1YmxpYzoKICAgICB1bnNpZ25lZCBsZW5ndGgoKSBjb25z
dCBvdmVycmlkZTsKICAgICBOb2RlKiBpdGVtKHVuc2lnbmVkIGluZGV4KSBjb25zdCBvdmVycmlk
ZTsKIAotICAgIGJvb2wgaXNTdGF0aWNOb2RlTGlzdCgpIGNvbnN0IGZpbmFsOwotCiBwcml2YXRl
OgogICAgIFN0YXRpY05vZGVMaXN0KFZlY3RvcjxSZWY8Tm9kZT4+JiYgbm9kZXMpCiAgICAgICAg
IDogbV9ub2RlcyhXVEZNb3ZlKG5vZGVzKSkKQEAgLTY2LDggKzY0LDYgQEAgcHVibGljOgogICAg
IHVuc2lnbmVkIGxlbmd0aCgpIGNvbnN0IG92ZXJyaWRlOwogICAgIEVsZW1lbnQqIGl0ZW0odW5z
aWduZWQgaW5kZXgpIGNvbnN0IG92ZXJyaWRlOwogCi0gICAgYm9vbCBpc1N0YXRpY05vZGVMaXN0
KCkgY29uc3QgZmluYWw7Ci0KIHByaXZhdGU6CiAgICAgU3RhdGljRWxlbWVudExpc3QoVmVjdG9y
PFJlZjxFbGVtZW50Pj4mJiBlbGVtZW50cykKICAgICAgICAgOiBtX2VsZW1lbnRzKFdURk1vdmUo
ZWxlbWVudHMpKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vTm9kZUxpc3Qvbm9k
ZWxpc3Qtc3RhdGljLWhhdmluZy1hLWJhZC10aW1lLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL05vZGVMaXN0L25vZGVsaXN0LXN0YXRpYy1oYXZpbmctYS1iYWQtdGltZS1leHBl
Y3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDk0YTk4MjIxMWI4Ni4uMDAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL05vZGVMaXN0L25vZGVsaXN0LXN0
YXRpYy1oYXZpbmctYS1iYWQtdGltZS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwx
MCArMCwwIEBACi1UaGlzIHRlc3RzIHRoYXQgc3RhdGljIE5vZGVMaXN0IGlzIGNyZWF0ZWQgd2l0
aCBhcHByb3ByaWF0ZSBpbmRleGluZyB0eXBlIHdoZW4gZ2xvYmFsIG9iamVjdCBpcyBoYXZpbmcg
YSBiYWQgdGltZS4KLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVBBU1Mgc2V0dGVy
Q2FsbHMgaXMgMQotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBM
RVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL05vZGVMaXN0L25vZGVsaXN0
LXN0YXRpYy1oYXZpbmctYS1iYWQtdGltZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vTm9k
ZUxpc3Qvbm9kZWxpc3Qtc3RhdGljLWhhdmluZy1hLWJhZC10aW1lLmh0bWwKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDQxZWE1YTE5ZGY2ZC4uMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL2Zhc3QvZG9tL05vZGVMaXN0L25vZGVsaXN0LXN0YXRpYy1oYXZpbmctYS1iYWQtdGlt
ZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMjMgKzAsMCBAQAotPCFET0NUWVBFIEhUTUwiPgot
PHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Ci0KLTxib2R5PgotPHNwYW4+PC9zcGFuPgotPHNwYW4+PC9zcGFuPgotPHNwYW4+PC9zcGFuPgot
PHNjcmlwdD4KLWRlc2NyaXB0aW9uKCdUaGlzIHRlc3RzIHRoYXQgc3RhdGljIE5vZGVMaXN0IGlz
IGNyZWF0ZWQgd2l0aCBhcHByb3ByaWF0ZSBpbmRleGluZyB0eXBlIHdoZW4gZ2xvYmFsIG9iamVj
dCBpcyBoYXZpbmcgYSBiYWQgdGltZS4nKTsKLQotdmFyIHNldHRlckNhbGxzID0gMDsKLQotT2Jq
ZWN0LmRlZmluZVByb3BlcnR5KE9iamVjdC5wcm90b3R5cGUsIDQyLCB7Ci0gICAgc2V0KCkgeyBz
ZXR0ZXJDYWxscysrOyB9LAotfSk7Ci0KLXZhciBub2RlTGlzdCA9IGRvY3VtZW50LnF1ZXJ5U2Vs
ZWN0b3JBbGwoInNwYW4iKTsKLW5vZGVMaXN0WzQyXSA9IDEKLQotc2hvdWxkQmUoInNldHRlckNh
bGxzIiwgIjEiKTsKLQotPC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ub2Rlcy9Ob2RlTGlzdC1zdGF0aWMtbGVu
Z3RoLWdldHRlci10YW1wZXJlZC0xLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL25vZGVzL05vZGVMaXN0LXN0YXRpYy1sZW5ndGgt
Z2V0dGVyLXRhbXBlcmVkLTEtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCBkOWYyNGEyNWRiNzAuLjAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ub2Rlcy9Ob2RlTGlzdC1zdGF0aWMtbGVuZ3Ro
LWdldHRlci10YW1wZXJlZC0xLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDMgKzAs
MCBAQAotCi1QQVNTIE5vZGVMaXN0IChzdGF0aWMgY29sbGVjdGlvbikgImxlbmd0aCIgZ2V0dGVy
IHRhbXBlcmVkCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvZG9tL25vZGVzL05vZGVMaXN0LXN0YXRpYy1sZW5ndGgtZ2V0dGVyLXRhbXBl
cmVkLTEuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
ZG9tL25vZGVzL05vZGVMaXN0LXN0YXRpYy1sZW5ndGgtZ2V0dGVyLXRhbXBlcmVkLTEuaHRtbApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTQ3YzQwOTQ1YWFhLi4wMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vbm9k
ZXMvTm9kZUxpc3Qtc3RhdGljLWxlbmd0aC1nZXR0ZXItdGFtcGVyZWQtMS5odG1sCisrKyAvZGV2
L251bGwKQEAgLTEsMjEgKzAsMCBAQAotPCFkb2N0eXBlIGh0bWw+Ci08bWV0YSBjaGFyc2V0PSJ1
dGYtOCI+Ci08dGl0bGU+Tm9kZUxpc3QgKHN0YXRpYyBjb2xsZWN0aW9uKSAibGVuZ3RoIiBnZXR0
ZXIgdGFtcGVyZWQ8L3RpdGxlPgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0PgotCi08Ym9keT4KLQotPHNjcmlwdCBzcmM9InN1cHBvcnQvTm9kZUxpc3Qt
c3RhdGljLWxlbmd0aC10YW1wZXJlZC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotdGVzdCgoKSA9
PiB7Ci0gICAgY29uc3Qgbm9kZUxpc3QgPSBtYWtlU3RhdGljTm9kZUxpc3QoMTAwKTsKLQotICAg
IGZvciAodmFyIGkgPSAwOyBpIDwgNTA7IGkrKykgewotICAgICAgICBpZiAoaSA9PT0gMjUpCi0g
ICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobm9kZUxpc3QsICJsZW5ndGgiLCB7IGdl
dCgpIHsgcmV0dXJuIDEwOyB9IH0pOwotCi0gICAgICAgIGFzc2VydF9lcXVhbHMoaW5kZXhPZk5v
ZGVMaXN0KG5vZGVMaXN0KSwgaSA+PSAyNSA/IC0xIDogNTApOwotICAgIH0KLX0pOwotPC9zY3Jp
cHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2RvbS9ub2Rlcy9Ob2RlTGlzdC1zdGF0aWMtbGVuZ3RoLWdldHRlci10YW1wZXJlZC0yLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
ZG9tL25vZGVzL05vZGVMaXN0LXN0YXRpYy1sZW5ndGgtZ2V0dGVyLXRhbXBlcmVkLTItZXhwZWN0
ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkOWYyNGEyNWRiNzAuLjAwMDAw
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2RvbS9ub2Rlcy9Ob2RlTGlzdC1zdGF0aWMtbGVuZ3RoLWdldHRlci10YW1wZXJlZC0yLWV4cGVj
dGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDMgKzAsMCBAQAotCi1QQVNTIE5vZGVMaXN0IChz
dGF0aWMgY29sbGVjdGlvbikgImxlbmd0aCIgZ2V0dGVyIHRhbXBlcmVkCi0KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL25vZGVzL05v
ZGVMaXN0LXN0YXRpYy1sZW5ndGgtZ2V0dGVyLXRhbXBlcmVkLTIuaHRtbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL25vZGVzL05vZGVMaXN0LXN0YXRp
Yy1sZW5ndGgtZ2V0dGVyLXRhbXBlcmVkLTIuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggODE5MzFhMzA0YzM0Li4wMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vbm9kZXMvTm9kZUxpc3Qtc3RhdGljLWxlbmd0
aC1nZXR0ZXItdGFtcGVyZWQtMi5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMjEgKzAsMCBAQAot
PCFkb2N0eXBlIGh0bWw+Ci08bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Ci08dGl0bGU+Tm9kZUxpc3Qg
KHN0YXRpYyBjb2xsZWN0aW9uKSAibGVuZ3RoIiBnZXR0ZXIgdGFtcGVyZWQ8L3RpdGxlPgotPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotCi08Ym9keT4K
LQotPHNjcmlwdCBzcmM9InN1cHBvcnQvTm9kZUxpc3Qtc3RhdGljLWxlbmd0aC10YW1wZXJlZC5q
cyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotdGVzdCgoKSA9PiB7Ci0gICAgY29uc3Qgbm9kZUxpc3Qg
PSBtYWtlU3RhdGljTm9kZUxpc3QoMTAwKTsKLQotICAgIGZvciAodmFyIGkgPSAwOyBpIDwgNTA7
IGkrKykgewotICAgICAgICBpZiAoaSA9PT0gMjUpCi0gICAgICAgICAgICBPYmplY3Quc2V0UHJv
dG90eXBlT2Yobm9kZUxpc3QsIHsgZ2V0IGxlbmd0aCgpIHsgcmV0dXJuIDEwOyB9IH0pOwotCi0g
ICAgICAgIGFzc2VydF9lcXVhbHMoaW5kZXhPZk5vZGVMaXN0KG5vZGVMaXN0KSwgaSA+PSAyNSA/
IC0xIDogNTApOwotICAgIH0KLX0pOwotPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ub2Rlcy9Ob2RlTGlzdC1zdGF0
aWMtbGVuZ3RoLWdldHRlci10YW1wZXJlZC0zLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL25vZGVzL05vZGVMaXN0LXN0YXRpYy1s
ZW5ndGgtZ2V0dGVyLXRhbXBlcmVkLTMtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCBkOWYyNGEyNWRiNzAuLjAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ub2Rlcy9Ob2RlTGlzdC1zdGF0aWMt
bGVuZ3RoLWdldHRlci10YW1wZXJlZC0zLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0x
LDMgKzAsMCBAQAotCi1QQVNTIE5vZGVMaXN0IChzdGF0aWMgY29sbGVjdGlvbikgImxlbmd0aCIg
Z2V0dGVyIHRhbXBlcmVkCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvZG9tL25vZGVzL05vZGVMaXN0LXN0YXRpYy1sZW5ndGgtZ2V0dGVy
LXRhbXBlcmVkLTMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvZG9tL25vZGVzL05vZGVMaXN0LXN0YXRpYy1sZW5ndGgtZ2V0dGVyLXRhbXBlcmVkLTMu
aHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzg0MDc0MTljN2JmLi4wMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9k
b20vbm9kZXMvTm9kZUxpc3Qtc3RhdGljLWxlbmd0aC1nZXR0ZXItdGFtcGVyZWQtMy5odG1sCisr
KyAvZGV2L251bGwKQEAgLTEsMjEgKzAsMCBAQAotPCFkb2N0eXBlIGh0bWw+Ci08bWV0YSBjaGFy
c2V0PSJ1dGYtOCI+Ci08dGl0bGU+Tm9kZUxpc3QgKHN0YXRpYyBjb2xsZWN0aW9uKSAibGVuZ3Ro
IiBnZXR0ZXIgdGFtcGVyZWQ8L3RpdGxlPgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgotCi08Ym9keT4KLQotPHNjcmlwdCBzcmM9InN1cHBvcnQvTm9k
ZUxpc3Qtc3RhdGljLWxlbmd0aC10YW1wZXJlZC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotdGVz
dCgoKSA9PiB7Ci0gICAgY29uc3Qgbm9kZUxpc3QgPSBtYWtlU3RhdGljTm9kZUxpc3QoMTAwKTsK
LQotICAgIGZvciAodmFyIGkgPSAwOyBpIDwgNTA7IGkrKykgewotICAgICAgICBpZiAoaSA9PT0g
MjUpCi0gICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoTm9kZUxpc3QucHJvdG90eXBl
LCAibGVuZ3RoIiwgeyBnZXQoKSB7IHJldHVybiAxMDsgfSB9KTsKLQotICAgICAgICBhc3NlcnRf
ZXF1YWxzKGluZGV4T2ZOb2RlTGlzdChub2RlTGlzdCksIGkgPj0gMjUgPyAtMSA6IDUwKTsKLSAg
ICB9Ci19KTsKLTwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vbm9kZXMvTm9kZUxpc3Qtc3RhdGljLWxlbmd0aC1nZXR0
ZXItdGFtcGVyZWQtaW5kZXhPZi0xLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL25vZGVzL05vZGVMaXN0LXN0YXRpYy1sZW5ndGgt
Z2V0dGVyLXRhbXBlcmVkLWluZGV4T2YtMS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDA4NWFhNzk3YjE4MS4uMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL25vZGVzL05vZGVMaXN0LXN0YXRp
Yy1sZW5ndGgtZ2V0dGVyLXRhbXBlcmVkLWluZGV4T2YtMS1leHBlY3RlZC50eHQKKysrIC9kZXYv
bnVsbApAQCAtMSwzICswLDAgQEAKLQotUEFTUyBOb2RlTGlzdCAoc3RhdGljIGNvbGxlY3Rpb24p
ICJsZW5ndGgiIGdldHRlciB0YW1wZXJlZCAoQXJyYXkucHJvdG90eXBlLmluZGV4T2YpCi0KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9t
L25vZGVzL05vZGVMaXN0LXN0YXRpYy1sZW5ndGgtZ2V0dGVyLXRhbXBlcmVkLWluZGV4T2YtMS5o
dG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vbm9k
ZXMvTm9kZUxpc3Qtc3RhdGljLWxlbmd0aC1nZXR0ZXItdGFtcGVyZWQtaW5kZXhPZi0xLmh0bWwK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGZiNTA2N2I3OWQ0Yy4uMDAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL25v
ZGVzL05vZGVMaXN0LXN0YXRpYy1sZW5ndGgtZ2V0dGVyLXRhbXBlcmVkLWluZGV4T2YtMS5odG1s
CisrKyAvZGV2L251bGwKQEAgLTEsMjEgKzAsMCBAQAotPCFkb2N0eXBlIGh0bWw+Ci08bWV0YSBj
aGFyc2V0PSJ1dGYtOCI+Ci08dGl0bGU+Tm9kZUxpc3QgKHN0YXRpYyBjb2xsZWN0aW9uKSAibGVu
Z3RoIiBnZXR0ZXIgdGFtcGVyZWQgKEFycmF5LnByb3RvdHlwZS5pbmRleE9mKTwvdGl0bGU+Ci08
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci0KLTxib2R5
PgotCi08c2NyaXB0IHNyYz0ic3VwcG9ydC9Ob2RlTGlzdC1zdGF0aWMtbGVuZ3RoLXRhbXBlcmVk
LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci10ZXN0KCgpID0+IHsKLSAgICBjb25zdCBub2RlTGlz
dCA9IG1ha2VTdGF0aWNOb2RlTGlzdCgxMDApOwotCi0gICAgZm9yICh2YXIgaSA9IDA7IGkgPCA1
MDsgaSsrKSB7Ci0gICAgICAgIGlmIChpID09PSAyNSkKLSAgICAgICAgICAgIE9iamVjdC5kZWZp
bmVQcm9wZXJ0eShub2RlTGlzdCwgImxlbmd0aCIsIHsgZ2V0KCkgeyByZXR1cm4gMTA7IH0gfSk7
Ci0KLSAgICAgICAgYXNzZXJ0X2VxdWFscyhhcnJheUluZGV4T2ZOb2RlTGlzdChub2RlTGlzdCks
IGkgPj0gMjUgPyAtMSA6IDUwKTsKLSAgICB9Ci19KTsKLTwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vbm9kZXMvTm9k
ZUxpc3Qtc3RhdGljLWxlbmd0aC1nZXR0ZXItdGFtcGVyZWQtaW5kZXhPZi0yLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL25vZGVz
L05vZGVMaXN0LXN0YXRpYy1sZW5ndGgtZ2V0dGVyLXRhbXBlcmVkLWluZGV4T2YtMi1leHBlY3Rl
ZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDA4NWFhNzk3YjE4MS4uMDAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
ZG9tL25vZGVzL05vZGVMaXN0LXN0YXRpYy1sZW5ndGgtZ2V0dGVyLXRhbXBlcmVkLWluZGV4T2Yt
Mi1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwzICswLDAgQEAKLQotUEFTUyBOb2Rl
TGlzdCAoc3RhdGljIGNvbGxlY3Rpb24pICJsZW5ndGgiIGdldHRlciB0YW1wZXJlZCAoQXJyYXku
cHJvdG90eXBlLmluZGV4T2YpCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL25vZGVzL05vZGVMaXN0LXN0YXRpYy1sZW5ndGgtZ2V0
dGVyLXRhbXBlcmVkLWluZGV4T2YtMi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9kb20vbm9kZXMvTm9kZUxpc3Qtc3RhdGljLWxlbmd0aC1nZXR0ZXIt
dGFtcGVyZWQtaW5kZXhPZi0yLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDM4
ZjZmOWJlMzBkOS4uMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvZG9tL25vZGVzL05vZGVMaXN0LXN0YXRpYy1sZW5ndGgtZ2V0dGVy
LXRhbXBlcmVkLWluZGV4T2YtMi5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMjEgKzAsMCBAQAot
PCFkb2N0eXBlIGh0bWw+Ci08bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Ci08dGl0bGU+Tm9kZUxpc3Qg
KHN0YXRpYyBjb2xsZWN0aW9uKSAibGVuZ3RoIiBnZXR0ZXIgdGFtcGVyZWQgKEFycmF5LnByb3Rv
dHlwZS5pbmRleE9mKTwvdGl0bGU+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcyI+PC9zY3JpcHQ+Ci0KLTxib2R5PgotCi08c2NyaXB0IHNyYz0ic3VwcG9ydC9Ob2RlTGlz
dC1zdGF0aWMtbGVuZ3RoLXRhbXBlcmVkLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci10ZXN0KCgp
ID0+IHsKLSAgICBjb25zdCBub2RlTGlzdCA9IG1ha2VTdGF0aWNOb2RlTGlzdCgxMDApOwotCi0g
ICAgZm9yICh2YXIgaSA9IDA7IGkgPCA1MDsgaSsrKSB7Ci0gICAgICAgIGlmIChpID09PSAyNSkK
LSAgICAgICAgICAgIE9iamVjdC5zZXRQcm90b3R5cGVPZihub2RlTGlzdCwgeyBnZXQgbGVuZ3Ro
KCkgeyByZXR1cm4gMTA7IH0gfSk7Ci0KLSAgICAgICAgYXNzZXJ0X2VxdWFscyhhcnJheUluZGV4
T2ZOb2RlTGlzdChub2RlTGlzdCksIGkgPj0gMjUgPyAtMSA6IDUwKTsKLSAgICB9Ci19KTsKLTwv
c2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9kb20vbm9kZXMvTm9kZUxpc3Qtc3RhdGljLWxlbmd0aC1nZXR0ZXItdGFtcGVyZWQt
aW5kZXhPZi0zLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvZG9tL25vZGVzL05vZGVMaXN0LXN0YXRpYy1sZW5ndGgtZ2V0dGVyLXRhbXBl
cmVkLWluZGV4T2YtMy1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDA4NWFhNzk3YjE4MS4uMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL25vZGVzL05vZGVMaXN0LXN0YXRpYy1sZW5ndGgtZ2V0
dGVyLXRhbXBlcmVkLWluZGV4T2YtMy1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwz
ICswLDAgQEAKLQotUEFTUyBOb2RlTGlzdCAoc3RhdGljIGNvbGxlY3Rpb24pICJsZW5ndGgiIGdl
dHRlciB0YW1wZXJlZCAoQXJyYXkucHJvdG90eXBlLmluZGV4T2YpCi0KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL25vZGVzL05vZGVM
aXN0LXN0YXRpYy1sZW5ndGgtZ2V0dGVyLXRhbXBlcmVkLWluZGV4T2YtMy5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vbm9kZXMvTm9kZUxpc3Qt
c3RhdGljLWxlbmd0aC1nZXR0ZXItdGFtcGVyZWQtaW5kZXhPZi0zLmh0bWwKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IGY0NWQ5MDNhNjY1ZC4uMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL25vZGVzL05vZGVMaXN0
LXN0YXRpYy1sZW5ndGgtZ2V0dGVyLXRhbXBlcmVkLWluZGV4T2YtMy5odG1sCisrKyAvZGV2L251
bGwKQEAgLTEsMjEgKzAsMCBAQAotPCFkb2N0eXBlIGh0bWw+Ci08bWV0YSBjaGFyc2V0PSJ1dGYt
OCI+Ci08dGl0bGU+Tm9kZUxpc3QgKHN0YXRpYyBjb2xsZWN0aW9uKSAibGVuZ3RoIiBnZXR0ZXIg
dGFtcGVyZWQgKEFycmF5LnByb3RvdHlwZS5pbmRleE9mKTwvdGl0bGU+Ci08c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci0KLTxib2R5PgotCi08c2NyaXB0
IHNyYz0ic3VwcG9ydC9Ob2RlTGlzdC1zdGF0aWMtbGVuZ3RoLXRhbXBlcmVkLmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQ+Ci10ZXN0KCgpID0+IHsKLSAgICBjb25zdCBub2RlTGlzdCA9IG1ha2VTdGF0
aWNOb2RlTGlzdCgxMDApOwotCi0gICAgZm9yICh2YXIgaSA9IDA7IGkgPCA1MDsgaSsrKSB7Ci0g
ICAgICAgIGlmIChpID09PSAyNSkKLSAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShO
b2RlTGlzdC5wcm90b3R5cGUsICJsZW5ndGgiLCB7IGdldCgpIHsgcmV0dXJuIDEwOyB9IH0pOwot
Ci0gICAgICAgIGFzc2VydF9lcXVhbHMoYXJyYXlJbmRleE9mTm9kZUxpc3Qobm9kZUxpc3QpLCBp
ID49IDI1ID8gLTEgOiA1MCk7Ci0gICAgfQotfSk7Ci08L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL25vZGVzL3N1cHBv
cnQvTm9kZUxpc3Qtc3RhdGljLWxlbmd0aC10YW1wZXJlZC5qcyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL25vZGVzL3N1cHBvcnQvTm9kZUxpc3Qtc3Rh
dGljLWxlbmd0aC10YW1wZXJlZC5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTEx
NjdlMmRkY2M5Li4wMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9kb20vbm9kZXMvc3VwcG9ydC9Ob2RlTGlzdC1zdGF0aWMtbGVuZ3Ro
LXRhbXBlcmVkLmpzCisrKyAvZGV2L251bGwKQEAgLTEsNDYgKzAsMCBAQAotInVzZSBzdHJpY3Qi
OwotCi1mdW5jdGlvbiBtYWtlU3RhdGljTm9kZUxpc3QobGVuZ3RoKSB7Ci0gICAgY29uc3QgZm9v
Um9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwotCi0gICAgZm9yICh2YXIgaSA9
IDA7IGkgPCBsZW5ndGg7IGkrKykgewotICAgICAgICBjb25zdCBlbCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInNwYW4iKTsKLSAgICAgICAgZWwuY2xhc3NOYW1lID0gImZvbyI7Ci0gICAgICAg
IGZvb1Jvb3QuYXBwZW5kKGVsKTsKLSAgICB9Ci0KLSAgICBkb2N1bWVudC5ib2R5LmFwcGVuZChm
b29Sb290KTsKLSAgICByZXR1cm4gZm9vUm9vdC5xdWVyeVNlbGVjdG9yQWxsKCIuZm9vIik7Ci19
Ci0KLWNvbnN0IGluZGV4T2ZOb2RlTGlzdCA9IG5ldyBGdW5jdGlvbigibm9kZUxpc3QiLCBgCi0g
ICAgY29uc3QgX19jYWNoZUJ1c3QgPSAke01hdGgucmFuZG9tKCl9OwotCi0gICAgY29uc3QgZWwg
PSBub2RlTGlzdFs1MF07Ci0KLSAgICBsZXQgaW5kZXggPSAtMTsKLQotICAgIGZvciAodmFyIGkg
PSAwOyBpIDwgMWU1IC8gMjsgaSsrKSB7Ci0gICAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgbm9k
ZUxpc3QubGVuZ3RoOyBqKyspIHsKLSAgICAgICAgICAgIGlmIChub2RlTGlzdFtqXSA9PT0gZWwp
IHsKLSAgICAgICAgICAgICAgICBpbmRleCA9IGo7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0g
ICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgICByZXR1cm4gaW5kZXg7Ci1gKTsK
LQotY29uc3QgYXJyYXlJbmRleE9mTm9kZUxpc3QgPSBuZXcgRnVuY3Rpb24oIm5vZGVMaXN0Iiwg
YAotICAgIGNvbnN0IF9fY2FjaGVCdXN0ID0gJHtNYXRoLnJhbmRvbSgpfTsKLQotICAgIGNvbnN0
IGVsID0gbm9kZUxpc3RbNTBdOwotICAgIGNvbnN0IHtpbmRleE9mfSA9IEFycmF5LnByb3RvdHlw
ZTsKLQotICAgIGZvciAodmFyIGkgPSAwOyBpIDwgMWU1OyBpKyspIHsKLSAgICAgICAgdmFyIGlu
ZGV4ID0gaW5kZXhPZi5jYWxsKG5vZGVMaXN0LCBlbCk7Ci0gICAgfQotCi0gICAgcmV0dXJuIGlu
ZGV4OwotYCk7CmRpZmYgLS1naXQgYS8uZ2l0aWdub3JlIGIvLmdpdGlnbm9yZQppbmRleCA2MzFl
ODliYzNmZDYuLmQ0YTA2OGI3NjA2ZCAxMDA2NDQKLS0tIGEvLmdpdGlnbm9yZQorKysgYi8uZ2l0
aWdub3JlCkBAIC02Niw1ICs2NiwzIEBAIF9fY21ha2Vfc3lzdGVtaW5mb3JtYXRpb24vCiAKICMg
TG9jYWwgb3ZlcnJpZGVzIGNvbmZpZ3VyYXRpb24gZmlsZXMKIExvY2FsT3ZlcnJpZGVzLnhjY29u
ZmlnCi0KLS9CZW5jaG1hcmtUZW1wCmRpZmYgLS1naXQgYS9KU1Rlc3RzL21pY3JvYmVuY2htYXJr
cy9hcnJheS1wcm90b3R5cGUtaW5kZXhPZi1jb250aWd1b3VzLWFsd2F5cy1zbG93LXB1dC5qcyBi
L0pTVGVzdHMvbWljcm9iZW5jaG1hcmtzL2FycmF5LXByb3RvdHlwZS1pbmRleE9mLWNvbnRpZ3Vv
dXMtYWx3YXlzLXNsb3ctcHV0LmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5YmI2
ZDA3ODg4MTYuLjAwMDAwMDAwMDAwMAotLS0gYS9KU1Rlc3RzL21pY3JvYmVuY2htYXJrcy9hcnJh
eS1wcm90b3R5cGUtaW5kZXhPZi1jb250aWd1b3VzLWFsd2F5cy1zbG93LXB1dC5qcworKysgL2Rl
di9udWxsCkBAIC0xLDE1ICswLDAgQEAKLWNvbnN0IGxlbmd0aCA9IDEwMDsKLQotdmFyIHRhcmdl
dCA9ICR2bS5jcmVhdGVBbHdheXNTbG93UHV0Q29udGlndW91c09iamVjdFdpdGhPdmVycmlkZXMo
bGVuZ3RoKTsKLWZvciAodmFyIGkgPSAwOyBpIDwgbGVuZ3RoOyBpKyspCi0gICAgdGFyZ2V0W2ld
ID0ge2luZGV4OiBpfTsKLQotKGZ1bmN0aW9uKCkgewotICAgIHZhciB7aW5kZXhPZn0gPSBBcnJh
eS5wcm90b3R5cGU7Ci0gICAgdmFyIHNlYXJjaEVsZW1lbnQgPSB0YXJnZXRbNTBdOwotCi0gICAg
Zm9yICh2YXIgaiA9IDA7IGogPCAxZTY7IGorKykgewotICAgICAgICBpZiAoaW5kZXhPZi5jYWxs
KHRhcmdldCwgc2VhcmNoRWxlbWVudCkgIT09IDUwKQotICAgICAgICAgICAgdGhyb3cgbmV3IEVy
cm9yKGBCYWQgYXNzZXJ0OiAke2p9IWApOwotICAgIH0KLX0pKCk7CmRpZmYgLS1naXQgYS9KU1Rl
c3RzL21pY3JvYmVuY2htYXJrcy9hcnJheS1wcm90b3R5cGUtaW5kZXhPZi1jb250aWd1b3VzLmpz
IGIvSlNUZXN0cy9taWNyb2JlbmNobWFya3MvYXJyYXktcHJvdG90eXBlLWluZGV4T2YtY29udGln
dW91cy5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjFkNjAyZTYyZmUzLi4wMDAw
MDAwMDAwMDAKLS0tIGEvSlNUZXN0cy9taWNyb2JlbmNobWFya3MvYXJyYXktcHJvdG90eXBlLWlu
ZGV4T2YtY29udGlndW91cy5qcworKysgL2Rldi9udWxsCkBAIC0xLDE1ICswLDAgQEAKLWNvbnN0
IGxlbmd0aCA9IDEwMDsKLQotdmFyIHRhcmdldCA9IG5ldyBBcnJheSgxMDApOwotZm9yICh2YXIg
aSA9IDA7IGkgPCBsZW5ndGg7IGkrKykKLSAgICB0YXJnZXRbaV0gPSB7aW5kZXg6IGl9OwotCi0o
ZnVuY3Rpb24oKSB7Ci0gICAgdmFyIHtpbmRleE9mfSA9IEFycmF5LnByb3RvdHlwZTsKLSAgICB2
YXIgc2VhcmNoRWxlbWVudCA9IHRhcmdldFs1MF07Ci0KLSAgICBmb3IgKHZhciBqID0gMDsgaiA8
IDFlNjsgaisrKSB7Ci0gICAgICAgIGlmIChpbmRleE9mLmNhbGwodGFyZ2V0LCBzZWFyY2hFbGVt
ZW50KSAhPT0gNTApCi0gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEJhZCBhc3NlcnQ6ICR7
an0hYCk7Ci0gICAgfQotfSkoKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvbWljcm9iZW5jaG1hcmtz
L2FycmF5LXByb3RvdHlwZS1zbGljZS1jb250aWd1b3VzLWFsd2F5cy1zbG93LXB1dC5qcyBiL0pT
VGVzdHMvbWljcm9iZW5jaG1hcmtzL2FycmF5LXByb3RvdHlwZS1zbGljZS1jb250aWd1b3VzLWFs
d2F5cy1zbG93LXB1dC5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZGJhMDU3NzVh
NDEyLi4wMDAwMDAwMDAwMDAKLS0tIGEvSlNUZXN0cy9taWNyb2JlbmNobWFya3MvYXJyYXktcHJv
dG90eXBlLXNsaWNlLWNvbnRpZ3VvdXMtYWx3YXlzLXNsb3ctcHV0LmpzCisrKyAvZGV2L251bGwK
QEAgLTEsMTYgKzAsMCBAQAotY29uc3QgbGVuZ3RoID0gMTAwOwotCi12YXIgdGFyZ2V0ID0gJHZt
LmNyZWF0ZUFsd2F5c1Nsb3dQdXRDb250aWd1b3VzT2JqZWN0V2l0aE92ZXJyaWRlcyhsZW5ndGgp
OwotZm9yICh2YXIgaSA9IDA7IGkgPCBsZW5ndGg7IGkrKykKLSAgICB0YXJnZXRbaV0gPSB7aW5k
ZXg6IGl9OwotCi0oZnVuY3Rpb24oKSB7Ci0gICAgdmFyIHtzbGljZX0gPSBBcnJheS5wcm90b3R5
cGU7Ci0gICAgdmFyIGxhc3RTbGljZTsKLQotICAgIGZvciAodmFyIGogPSAwOyBqIDwgMWU2OyBq
KyspCi0gICAgICAgIGxhc3RTbGljZSA9IHNsaWNlLmNhbGwodGFyZ2V0KTsKLQotICAgIGlmIChs
YXN0U2xpY2UucG9wKCkuaW5kZXggIT09IDk5KQotICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEJh
ZCBhc3NlcnQhYCk7Ci19KSgpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy9taWNyb2JlbmNobWFya3Mv
YXJyYXktcHJvdG90eXBlLXNsaWNlLWNvbnRpZ3VvdXMuanMgYi9KU1Rlc3RzL21pY3JvYmVuY2ht
YXJrcy9hcnJheS1wcm90b3R5cGUtc2xpY2UtY29udGlndW91cy5qcwpkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggZDEyNzYzMjQ1YjUxLi4wMDAwMDAwMDAwMDAKLS0tIGEvSlNUZXN0cy9t
aWNyb2JlbmNobWFya3MvYXJyYXktcHJvdG90eXBlLXNsaWNlLWNvbnRpZ3VvdXMuanMKKysrIC9k
ZXYvbnVsbApAQCAtMSwxNiArMCwwIEBACi1jb25zdCBsZW5ndGggPSAxMDA7Ci0KLXZhciB0YXJn
ZXQgPSBuZXcgQXJyYXkobGVuZ3RoKTsKLWZvciAodmFyIGkgPSAwOyBpIDwgbGVuZ3RoOyBpKysp
Ci0gICAgdGFyZ2V0W2ldID0ge2luZGV4OiBpfTsKLQotKGZ1bmN0aW9uKCkgewotICAgIHZhciB7
c2xpY2V9ID0gQXJyYXkucHJvdG90eXBlOwotICAgIHZhciBsYXN0U2xpY2U7Ci0KLSAgICBmb3Ig
KHZhciBqID0gMDsgaiA8IDFlNjsgaisrKQotICAgICAgICBsYXN0U2xpY2UgPSBzbGljZS5jYWxs
KHRhcmdldCk7Ci0KLSAgICBpZiAobGFzdFNsaWNlLnBvcCgpLmluZGV4ICE9PSA5OSkKLSAgICAg
ICAgdGhyb3cgbmV3IEVycm9yKGBCYWQgYXNzZXJ0IWApOwotfSkoKTsKZGlmZiAtLWdpdCBhL0pT
VGVzdHMvbWljcm9iZW5jaG1hcmtzL2dldC1ieS12YWwtY29udGlndW91cy1hbHdheXMtc2xvdy1w
dXQuanMgYi9KU1Rlc3RzL21pY3JvYmVuY2htYXJrcy9nZXQtYnktdmFsLWNvbnRpZ3VvdXMtYWx3
YXlzLXNsb3ctcHV0LmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlN2Q4ZmM0MTIw
MTMuLjAwMDAwMDAwMDAwMAotLS0gYS9KU1Rlc3RzL21pY3JvYmVuY2htYXJrcy9nZXQtYnktdmFs
LWNvbnRpZ3VvdXMtYWx3YXlzLXNsb3ctcHV0LmpzCisrKyAvZGV2L251bGwKQEAgLTEsMTcgKzAs
MCBAQAotY29uc3QgbGVuZ3RoID0gMTAwOwotCi12YXIgdGFyZ2V0ID0gJHZtLmNyZWF0ZUFsd2F5
c1Nsb3dQdXRDb250aWd1b3VzT2JqZWN0V2l0aE92ZXJyaWRlcyhsZW5ndGgpOwotZm9yICh2YXIg
aSA9IDA7IGkgPCBsZW5ndGg7IGkrKykKLSAgICB0YXJnZXRbaV0gPSB7aW5kZXg6IGl9OwotCi0o
ZnVuY3Rpb24oKSB7Ci0gICAgdmFyIGVsOwotCi0gICAgZm9yICh2YXIgaiA9IDA7IGogPCAxZTY7
IGorKykgewotICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGxlbmd0aCAvIDI7IGkrKykKLSAg
ICAgICAgICAgIGVsID0gdGFyZ2V0W2ldOwotICAgIH0KLQotICAgIGlmIChlbC5pbmRleCArIDEg
IT09IGxlbmd0aCAvIDIpCi0gICAgICAgIHRocm93IG5ldyBFcnJvcihgQmFkIGFzc2VydCFgKTsK
LX0pKCk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL21pY3JvYmVuY2htYXJrcy9nZXQtYnktdmFsLWNv
bnRpZ3VvdXMuanMgYi9KU1Rlc3RzL21pY3JvYmVuY2htYXJrcy9nZXQtYnktdmFsLWNvbnRpZ3Vv
dXMuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGU1YmEwYjkyMDhlYi4uMDAwMDAw
MDAwMDAwCi0tLSBhL0pTVGVzdHMvbWljcm9iZW5jaG1hcmtzL2dldC1ieS12YWwtY29udGlndW91
cy5qcworKysgL2Rldi9udWxsCkBAIC0xLDE3ICswLDAgQEAKLWNvbnN0IGxlbmd0aCA9IDEwMDsK
LQotdmFyIHRhcmdldCA9IG5ldyBBcnJheSgxMDApOwotZm9yICh2YXIgaSA9IDA7IGkgPCBsZW5n
dGg7IGkrKykKLSAgICB0YXJnZXRbaV0gPSB7aW5kZXg6IGl9OwotCi0oZnVuY3Rpb24oKSB7Ci0g
ICAgdmFyIGVsOwotCi0gICAgZm9yICh2YXIgaiA9IDA7IGogPCAxZTY7IGorKykgewotICAgICAg
ICBmb3IgKHZhciBpID0gMDsgaSA8IGxlbmd0aCAvIDI7IGkrKykKLSAgICAgICAgICAgIGVsID0g
dGFyZ2V0W2ldOwotICAgIH0KLQotICAgIGlmIChlbC5pbmRleCArIDEgIT09IGxlbmd0aCAvIDIp
Ci0gICAgICAgIHRocm93IG5ldyBFcnJvcihgQmFkIGFzc2VydCFgKTsKLX0pKCk7CmRpZmYgLS1n
aXQgYS9KU1Rlc3RzL3N0cmVzcy9hbHdheXMtc2xvdy1wdXQtY29udGlndW91cy10by1hcnJheS1z
dG9yYWdlLTEuanMgYi9KU1Rlc3RzL3N0cmVzcy9hbHdheXMtc2xvdy1wdXQtY29udGlndW91cy10
by1hcnJheS1zdG9yYWdlLTEuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI5NmZi
NDc2OGUwNC4uMDAwMDAwMDAwMDAwCi0tLSBhL0pTVGVzdHMvc3RyZXNzL2Fsd2F5cy1zbG93LXB1
dC1jb250aWd1b3VzLXRvLWFycmF5LXN0b3JhZ2UtMS5qcworKysgL2Rldi9udWxsCkBAIC0xLDI1
ICswLDAgQEAKLWZ1bmN0aW9uIGFzc2VydCh4KSB7IGlmICgheCkgdGhyb3cgbmV3IEVycm9yKGBC
YWQgYXNzZXJ0aW9uOiAke3h9IWApOyB9Ci0KLWZ1bmN0aW9uIHB1dEJ5VmFsKHRhcmdldCwgaW5k
ZXgpIHsgInVzZSBzdHJpY3QiOyB0YXJnZXRbaW5kZXhdID0ge2luZGV4fTsgfQotbm9JbmxpbmUo
cHV0QnlWYWwpOwotCi1jb25zdCBydW5zID0gMWU1OwotY29uc3QgbGVuZ3RoID0gMTAwOwotCi12
YXIgdGFyZ2V0ID0gJHZtLmNyZWF0ZUFsd2F5c1Nsb3dQdXRDb250aWd1b3VzT2JqZWN0V2l0aE92
ZXJyaWRlcyhsZW5ndGgpOwotZm9yICh2YXIgaSA9IDA7IGkgPCBsZW5ndGg7IGkrKykKLSAgICB0
YXJnZXRbaV0gPSB7aW5kZXg6IGl9OwotCi0oZnVuY3Rpb24oKSB7Ci0gICAgZm9yICh2YXIgaSA9
IDA7IGkgPCBydW5zOyBpKyspIHsKLSAgICAgICAgaWYgKGkgPT09IHJ1bnMgLSAxKQotICAgICAg
ICAgICAgdGFyZ2V0WzEwMDAwMDAxXSA9IDE7Ci0KLSAgICAgICAgZm9yICh2YXIgaiA9IDA7IGog
PCBsZW5ndGg7IGorKykKLSAgICAgICAgICAgIHB1dEJ5VmFsKHRhcmdldCwgaik7Ci0gICAgfQot
Ci0gICAgYXNzZXJ0KHRhcmdldC5wdXRCeUluZGV4Q2FsbHMgPT09IGxlbmd0aCArIChsZW5ndGgg
KiBydW5zKSArIDEpOwotICAgIGFzc2VydCgkdm0uaW5kZXhpbmdNb2RlKHRhcmdldCkgPT09ICJO
b25BcnJheVdpdGhTbG93UHV0QXJyYXlTdG9yYWdlIik7Ci0gICAgYXNzZXJ0KCR2bS5oYXNTcGFy
c2VNb2RlQXJyYXlTdG9yYWdlKHRhcmdldCkpOwotfSkoKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMv
c3RyZXNzL2Fsd2F5cy1zbG93LXB1dC1jb250aWd1b3VzLXRvLWFycmF5LXN0b3JhZ2UtMi5qcyBi
L0pTVGVzdHMvc3RyZXNzL2Fsd2F5cy1zbG93LXB1dC1jb250aWd1b3VzLXRvLWFycmF5LXN0b3Jh
Z2UtMi5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOWY2MTI1NzZhYWJkLi4wMDAw
MDAwMDAwMDAKLS0tIGEvSlNUZXN0cy9zdHJlc3MvYWx3YXlzLXNsb3ctcHV0LWNvbnRpZ3VvdXMt
dG8tYXJyYXktc3RvcmFnZS0yLmpzCisrKyAvZGV2L251bGwKQEAgLTEsMjUgKzAsMCBAQAotZnVu
Y3Rpb24gYXNzZXJ0KHgpIHsgaWYgKCF4KSB0aHJvdyBuZXcgRXJyb3IoYEJhZCBhc3NlcnRpb246
ICR7eH0hYCk7IH0KLQotZnVuY3Rpb24gcHV0QnlWYWwodGFyZ2V0LCBpbmRleCkgeyAidXNlIHN0
cmljdCI7IHRhcmdldFtpbmRleF0gPSB7aW5kZXh9OyB9Ci1ub0lubGluZShwdXRCeVZhbCk7Ci0K
LWNvbnN0IHJ1bnMgPSAxZTU7Ci1jb25zdCBsZW5ndGggPSAxMDA7Ci0KLXZhciB0YXJnZXQgPSAk
dm0uY3JlYXRlQWx3YXlzU2xvd1B1dENvbnRpZ3VvdXNPYmplY3RXaXRoT3ZlcnJpZGVzKGxlbmd0
aCk7Ci1mb3IgKHZhciBpID0gMDsgaSA8IGxlbmd0aDsgaSsrKQotICAgIHRhcmdldFtpXSA9IHtp
bmRleDogaX07Ci0KLShmdW5jdGlvbigpIHsKLSAgICBmb3IgKHZhciBpID0gMDsgaSA8IHJ1bnM7
IGkrKykgewotICAgICAgICBpZiAoaSA9PT0gcnVucyAtIDEpCi0gICAgICAgICAgICBPYmplY3Qu
c2V0UHJvdG90eXBlT2YodGFyZ2V0LCB7IGdldCA0MigpIHt9LCBzZXQgNDIoX3YpIHt9IH0pOwot
Ci0gICAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgbGVuZ3RoOyBqKyspCi0gICAgICAgICAgICBw
dXRCeVZhbCh0YXJnZXQsIGopOwotICAgIH0KLQotICAgIGFzc2VydCh0YXJnZXQucHV0QnlJbmRl
eENhbGxzID09PSBsZW5ndGggKyAobGVuZ3RoICogcnVucykpOwotICAgIGFzc2VydCgkdm0uaW5k
ZXhpbmdNb2RlKHRhcmdldCkgPT09ICJOb25BcnJheVdpdGhTbG93UHV0QXJyYXlTdG9yYWdlIik7
Ci0gICAgYXNzZXJ0KCR2bS5oYXNTcGFyc2VNb2RlQXJyYXlTdG9yYWdlKHRhcmdldCkpOwotfSko
KTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvc3RyZXNzL2Fsd2F5cy1zbG93LXB1dC1jb250aWd1b3Vz
LXRvLWFycmF5LXN0b3JhZ2UtMy5qcyBiL0pTVGVzdHMvc3RyZXNzL2Fsd2F5cy1zbG93LXB1dC1j
b250aWd1b3VzLXRvLWFycmF5LXN0b3JhZ2UtMy5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMTliZDk1ZjA0OTFlLi4wMDAwMDAwMDAwMDAKLS0tIGEvSlNUZXN0cy9zdHJlc3MvYWx3
YXlzLXNsb3ctcHV0LWNvbnRpZ3VvdXMtdG8tYXJyYXktc3RvcmFnZS0zLmpzCisrKyAvZGV2L251
bGwKQEAgLTEsMjUgKzAsMCBAQAotZnVuY3Rpb24gYXNzZXJ0KHgpIHsgaWYgKCF4KSB0aHJvdyBu
ZXcgRXJyb3IoYEJhZCBhc3NlcnRpb246ICR7eH0hYCk7IH0KLQotZnVuY3Rpb24gcHV0QnlWYWwo
dGFyZ2V0LCBpbmRleCkgeyAidXNlIHN0cmljdCI7IHRhcmdldFtpbmRleF0gPSB7aW5kZXh9OyB9
Ci1ub0lubGluZShwdXRCeVZhbCk7Ci0KLWNvbnN0IHJ1bnMgPSAxZTU7Ci1jb25zdCBsZW5ndGgg
PSAxMDA7Ci0KLXZhciB0YXJnZXQgPSAkdm0uY3JlYXRlQWx3YXlzU2xvd1B1dENvbnRpZ3VvdXNP
YmplY3RXaXRoT3ZlcnJpZGVzKGxlbmd0aCk7Ci1mb3IgKHZhciBpID0gMDsgaSA8IGxlbmd0aDsg
aSsrKQotICAgIHRhcmdldFtpXSA9IHtpbmRleDogaX07Ci0KLShmdW5jdGlvbigpIHsKLSAgICBm
b3IgKHZhciBpID0gMDsgaSA8IHJ1bnM7IGkrKykgewotICAgICAgICBpZiAoaSA9PT0gcnVucyAt
IDEpCi0gICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCAxMDAwMDAwMSwg
eyBnZXQoKSB7fSwgc2V0KCkge30gfSk7Ci0KLSAgICAgICAgZm9yICh2YXIgaiA9IDA7IGogPCBs
ZW5ndGg7IGorKykKLSAgICAgICAgICAgIHB1dEJ5VmFsKHRhcmdldCwgaik7Ci0gICAgfQotCi0g
ICAgYXNzZXJ0KHRhcmdldC5wdXRCeUluZGV4Q2FsbHMgPT09IGxlbmd0aCArIChsZW5ndGggKiBy
dW5zKSk7Ci0gICAgYXNzZXJ0KCR2bS5pbmRleGluZ01vZGUodGFyZ2V0KSA9PT0gIk5vbkFycmF5
V2l0aFNsb3dQdXRBcnJheVN0b3JhZ2UiKTsKLSAgICBhc3NlcnQoJHZtLmhhc1NwYXJzZU1vZGVB
cnJheVN0b3JhZ2UodGFyZ2V0KSk7Ci19KSgpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy9zdHJlc3Mv
YWx3YXlzLXNsb3ctcHV0LWNvbnRpZ3VvdXMtdG8tYXJyYXktc3RvcmFnZS00LmpzIGIvSlNUZXN0
cy9zdHJlc3MvYWx3YXlzLXNsb3ctcHV0LWNvbnRpZ3VvdXMtdG8tYXJyYXktc3RvcmFnZS00Lmpz
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5YTYyNmIxYWE2YTYuLjAwMDAwMDAwMDAw
MAotLS0gYS9KU1Rlc3RzL3N0cmVzcy9hbHdheXMtc2xvdy1wdXQtY29udGlndW91cy10by1hcnJh
eS1zdG9yYWdlLTQuanMKKysrIC9kZXYvbnVsbApAQCAtMSwyNSArMCwwIEBACi1mdW5jdGlvbiBh
c3NlcnQoeCkgeyBpZiAoIXgpIHRocm93IG5ldyBFcnJvcihgQmFkIGFzc2VydGlvbjogJHt4fSFg
KTsgfQotCi1mdW5jdGlvbiBwdXRCeVZhbCh0YXJnZXQsIGluZGV4KSB7ICJ1c2Ugc3RyaWN0Ijsg
dGFyZ2V0W2luZGV4XSA9IHtpbmRleH07IH0KLW5vSW5saW5lKHB1dEJ5VmFsKTsKLQotY29uc3Qg
cnVucyA9IDFlNTsKLWNvbnN0IGxlbmd0aCA9IDEwMDsKLQotdmFyIHRhcmdldCA9ICR2bS5jcmVh
dGVBbHdheXNTbG93UHV0Q29udGlndW91c09iamVjdFdpdGhPdmVycmlkZXMobGVuZ3RoKTsKLWZv
ciAodmFyIGkgPSAwOyBpIDwgbGVuZ3RoOyBpKyspCi0gICAgdGFyZ2V0W2ldID0ge2luZGV4OiBp
fTsKLQotKGZ1bmN0aW9uKCkgewotICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcnVuczsgaSsrKSB7
Ci0gICAgICAgIGlmIChpID09PSBydW5zIC0gMSkKLSAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQ
cm9wZXJ0eShPYmplY3QucHJvdG90eXBlLCAxMDAwMDAwMSwgeyBnZXQoKSB7fSwgc2V0KCkge30g
fSk7Ci0KLSAgICAgICAgZm9yICh2YXIgaiA9IDA7IGogPCBsZW5ndGg7IGorKykKLSAgICAgICAg
ICAgIHB1dEJ5VmFsKHRhcmdldCwgaik7Ci0gICAgfQotCi0gICAgYXNzZXJ0KHRhcmdldC5wdXRC
eUluZGV4Q2FsbHMgPT09IGxlbmd0aCArIChsZW5ndGggKiBydW5zKSk7Ci0gICAgYXNzZXJ0KCR2
bS5pbmRleGluZ01vZGUodGFyZ2V0KSA9PT0gIk5vbkFycmF5V2l0aFNsb3dQdXRBcnJheVN0b3Jh
Z2UiKTsKLSAgICBhc3NlcnQoJHZtLmhhc1NwYXJzZU1vZGVBcnJheVN0b3JhZ2UodGFyZ2V0KSk7
Ci19KSgpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy9zdHJlc3MvYXJyYXktcmV2ZXJzZS1jb250aWd1
b3VzLWFsd2F5cy1zbG93LXB1dC5qcyBiL0pTVGVzdHMvc3RyZXNzL2FycmF5LXJldmVyc2UtY29u
dGlndW91cy1hbHdheXMtc2xvdy1wdXQuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IGU3MTU2YTMzODI5MC4uMDAwMDAwMDAwMDAwCi0tLSBhL0pTVGVzdHMvc3RyZXNzL2FycmF5LXJl
dmVyc2UtY29udGlndW91cy1hbHdheXMtc2xvdy1wdXQuanMKKysrIC9kZXYvbnVsbApAQCAtMSw5
ICswLDAgQEAKLWNvbnN0IGxlbmd0aCA9IDEwMDsKLQotdmFyIHRhcmdldCA9ICR2bS5jcmVhdGVB
bHdheXNTbG93UHV0Q29udGlndW91c09iamVjdFdpdGhPdmVycmlkZXMobGVuZ3RoKTsKLWZvciAo
dmFyIGkgPSAwOyBpIDwgbGVuZ3RoOyBpKyspCi0gICAgdGFyZ2V0W2ldID0ge2luZGV4OiBpfTsK
LQotdmFyIHJldmVyc2VkID0gQXJyYXkucHJvdG90eXBlLnJldmVyc2UuY2FsbCh0YXJnZXQpOwot
aWYgKHJldmVyc2VkLnB1dEJ5SW5kZXhDYWxscyAhPT0gbGVuZ3RoICogMikKLSAgICB0aHJvdyBu
ZXcgRXJyb3IoYEJhZCB2YWx1ZTogJHtyZXZlcnNlZC5wdXRCeUluZGV4Q2FsbHN9IWApOwpkaWZm
IC0tZ2l0IGEvSlNUZXN0cy9zdHJlc3MvZGVsZXRlLWJ5LXZhbC1hbHdheXMtc2xvdy1wdXQtY29u
dGlndW91cy10cmlja3kuanMgYi9KU1Rlc3RzL3N0cmVzcy9kZWxldGUtYnktdmFsLWFsd2F5cy1z
bG93LXB1dC1jb250aWd1b3VzLXRyaWNreS5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggZmEzMGY5Y2RlMzdjLi4wMDAwMDAwMDAwMDAKLS0tIGEvSlNUZXN0cy9zdHJlc3MvZGVsZXRl
LWJ5LXZhbC1hbHdheXMtc2xvdy1wdXQtY29udGlndW91cy10cmlja3kuanMKKysrIC9kZXYvbnVs
bApAQCAtMSwyMSArMCwwIEBACi1mdW5jdGlvbiBhc3NlcnQoeCkgeyBpZiAoIXgpIHRocm93IG5l
dyBFcnJvcihgQmFkIGFzc2VydGlvbjogJHt4fSFgKTsgfQotCi1mdW5jdGlvbiBkZWxldGVCeVZh
bCh0YXJnZXQsIGluZGV4KSB7ICJ1c2Ugc3RyaWN0IjsgZGVsZXRlIHRhcmdldFtpbmRleF07IH0K
LW5vSW5saW5lKGRlbGV0ZUJ5VmFsKTsKLQotY29uc3QgcnVucyA9IDFlNjsKLWNvbnN0IGxlbmd0
aCA9IDEwMDsKLQotdmFyIGpzQXJyYXlDb250aWd1b3VzID0gbmV3IEFycmF5KGxlbmd0aCk7Ci12
YXIgYWx3YXlzU2xvd1B1dENvbnRpZ3VvdXMgPSAkdm0uY3JlYXRlQWx3YXlzU2xvd1B1dENvbnRp
Z3VvdXNPYmplY3RXaXRoT3ZlcnJpZGVzKGxlbmd0aCk7Ci1mb3IgKHZhciBpID0gMDsgaSA8IGxl
bmd0aDsgaSsrKQotICAgIGpzQXJyYXlDb250aWd1b3VzW2ldID0gYWx3YXlzU2xvd1B1dENvbnRp
Z3VvdXNbaV0gPSB7aW5kZXg6IGl9OwotCi0oZnVuY3Rpb24oKSB7Ci0gICAgZm9yICh2YXIgaSA9
IDA7IGkgPCBydW5zOyBpKyspIHsKLSAgICAgICAgZm9yICh2YXIgaiA9IDA7IGogPCBsZW5ndGg7
IGorKykKLSAgICAgICAgICAgIGRlbGV0ZUJ5VmFsKGkgPT09IHJ1bnMgLSAxMDAgPyBhbHdheXNT
bG93UHV0Q29udGlndW91cyA6IGpzQXJyYXlDb250aWd1b3VzLCBqKTsKLSAgICB9Ci0KLSAgICBh
c3NlcnQoYWx3YXlzU2xvd1B1dENvbnRpZ3VvdXMuZGVsZXRlQnlJbmRleENhbGxzID09PSBsZW5n
dGgpOwotfSkoKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvc3RyZXNzL2Zvci1pbi1hbHdheXMtc2xv
dy1wdXQtY29udGlndW91cy5qcyBiL0pTVGVzdHMvc3RyZXNzL2Zvci1pbi1hbHdheXMtc2xvdy1w
dXQtY29udGlndW91cy5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDg1MjhmODA5
YjMwLi4wMDAwMDAwMDAwMDAKLS0tIGEvSlNUZXN0cy9zdHJlc3MvZm9yLWluLWFsd2F5cy1zbG93
LXB1dC1jb250aWd1b3VzLmpzCisrKyAvZGV2L251bGwKQEAgLTEsMTUgKzAsMCBAQAotZnVuY3Rp
b24gYXNzZXJ0KHgpIHsgaWYgKCF4KSB0aHJvdyBuZXcgRXJyb3IoYEJhZCBhc3NlcnRpb246ICR7
eH0hYCk7IH0KLQotY29uc3QgcnVucyA9IDFlNTsKLWNvbnN0IGxlbmd0aCA9IDEwMDsKLQotdmFy
IGFsd2F5c1Nsb3dQdXRDb250aWd1b3VzID0gJHZtLmNyZWF0ZUFsd2F5c1Nsb3dQdXRDb250aWd1
b3VzT2JqZWN0V2l0aE92ZXJyaWRlcyhsZW5ndGgpOwotZm9yICh2YXIgaSA9IDA7IGkgPCBsZW5n
dGg7IGkrKykKLSAgICBhbHdheXNTbG93UHV0Q29udGlndW91c1tpXSA9IHtpbmRleDogaX07Ci0K
LShmdW5jdGlvbigpIHsKLSAgICBmb3IgKHZhciBpID0gMDsgaSA8IHJ1bnM7IGkrKykgewotICAg
ICAgICBmb3IgKHZhciBqIGluIGFsd2F5c1Nsb3dQdXRDb250aWd1b3VzKQotICAgICAgICAgICAg
YXNzZXJ0KGFsd2F5c1Nsb3dQdXRDb250aWd1b3VzW2pdLmluZGV4ID09PSAraik7Ci0gICAgfQot
fSkoKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvc3RyZXNzL2dldC1ieS12YWwtYWx3YXlzLXNsb3ct
cHV0LWNvbnRpZ3VvdXMtdHJpY2t5LmpzIGIvSlNUZXN0cy9zdHJlc3MvZ2V0LWJ5LXZhbC1hbHdh
eXMtc2xvdy1wdXQtY29udGlndW91cy10cmlja3kuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDllNjQ2ZDNlZjViZC4uMDAwMDAwMDAwMDAwCi0tLSBhL0pTVGVzdHMvc3RyZXNzL2dl
dC1ieS12YWwtYWx3YXlzLXNsb3ctcHV0LWNvbnRpZ3VvdXMtdHJpY2t5LmpzCisrKyAvZGV2L251
bGwKQEAgLTEsMTkgKzAsMCBAQAotZnVuY3Rpb24gYXNzZXJ0KHgpIHsgaWYgKCF4KSB0aHJvdyBu
ZXcgRXJyb3IoYEJhZCBhc3NlcnRpb246ICR7eH0hYCk7IH0KLQotZnVuY3Rpb24gZ2V0QnlWYWwo
dGFyZ2V0LCBpbmRleCkgeyByZXR1cm4gdGFyZ2V0W2luZGV4XTsgfQotbm9JbmxpbmUoZ2V0QnlW
YWwpOwotCi1jb25zdCBydW5zID0gMWU2OwotY29uc3QgbGVuZ3RoID0gMTAwOwotCi12YXIganNB
cnJheUNvbnRpZ3VvdXMgPSBuZXcgQXJyYXkobGVuZ3RoKTsKLXZhciBhbHdheXNTbG93UHV0Q29u
dGlndW91cyA9ICR2bS5jcmVhdGVBbHdheXNTbG93UHV0Q29udGlndW91c09iamVjdFdpdGhPdmVy
cmlkZXMobGVuZ3RoKTsKLWZvciAodmFyIGkgPSAwOyBpIDwgbGVuZ3RoOyBpKyspCi0gICAganNB
cnJheUNvbnRpZ3VvdXNbaV0gPSBhbHdheXNTbG93UHV0Q29udGlndW91c1tpXSA9IHtpbmRleDog
aX07Ci0KLShmdW5jdGlvbigpIHsKLSAgICBmb3IgKHZhciBpID0gMDsgaSA8IHJ1bnM7IGkrKykg
ewotICAgICAgICBmb3IgKHZhciBqID0gMDsgaiA8IGxlbmd0aDsgaisrKQotICAgICAgICAgICAg
YXNzZXJ0KGdldEJ5VmFsKGkgPT09IHJ1bnMgLSAxMDAgPyBhbHdheXNTbG93UHV0Q29udGlndW91
cyA6IGpzQXJyYXlDb250aWd1b3VzLCBqKS5pbmRleCA9PT0gaik7Ci0gICAgfQotfSkoKTsKZGlm
ZiAtLWdpdCBhL0pTVGVzdHMvc3RyZXNzL3B1dC1ieS12YWwtYWx3YXlzLXNsb3ctcHV0LWNvbnRp
Z3VvdXMtdHJpY2t5LmpzIGIvSlNUZXN0cy9zdHJlc3MvcHV0LWJ5LXZhbC1hbHdheXMtc2xvdy1w
dXQtY29udGlndW91cy10cmlja3kuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQ1
N2Q5Yjk2MjlhNC4uMDAwMDAwMDAwMDAwCi0tLSBhL0pTVGVzdHMvc3RyZXNzL3B1dC1ieS12YWwt
YWx3YXlzLXNsb3ctcHV0LWNvbnRpZ3VvdXMtdHJpY2t5LmpzCisrKyAvZGV2L251bGwKQEAgLTEs
MjEgKzAsMCBAQAotZnVuY3Rpb24gYXNzZXJ0KHgpIHsgaWYgKCF4KSB0aHJvdyBuZXcgRXJyb3Io
YEJhZCBhc3NlcnRpb246ICR7eH0hYCk7IH0KLQotZnVuY3Rpb24gcHV0QnlWYWwodGFyZ2V0LCBp
bmRleCkgeyAidXNlIHN0cmljdCI7IHRhcmdldFtpbmRleF0gPSB7aW5kZXh9OyB9Ci1ub0lubGlu
ZShwdXRCeVZhbCk7Ci0KLWNvbnN0IHJ1bnMgPSAxZTY7Ci1jb25zdCBsZW5ndGggPSAxMDA7Ci0K
LXZhciBqc0FycmF5Q29udGlndW91cyA9IG5ldyBBcnJheShsZW5ndGgpOwotdmFyIGFsd2F5c1Ns
b3dQdXRDb250aWd1b3VzID0gJHZtLmNyZWF0ZUFsd2F5c1Nsb3dQdXRDb250aWd1b3VzT2JqZWN0
V2l0aE92ZXJyaWRlcyhsZW5ndGgpOwotZm9yICh2YXIgaSA9IDA7IGkgPCBsZW5ndGg7IGkrKykK
LSAgICBqc0FycmF5Q29udGlndW91c1tpXSA9IGFsd2F5c1Nsb3dQdXRDb250aWd1b3VzW2ldID0g
e2luZGV4OiBpfTsKLQotKGZ1bmN0aW9uKCkgewotICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcnVu
czsgaSsrKSB7Ci0gICAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgbGVuZ3RoOyBqKyspCi0gICAg
ICAgICAgICBwdXRCeVZhbChpID09PSBydW5zIC0gMTAwID8gYWx3YXlzU2xvd1B1dENvbnRpZ3Vv
dXMgOiBqc0FycmF5Q29udGlndW91cywgaik7Ci0gICAgfQotCi0gICAgYXNzZXJ0KGFsd2F5c1Ns
b3dQdXRDb250aWd1b3VzLnB1dEJ5SW5kZXhDYWxscyA9PT0gMiAqIGxlbmd0aCk7Ci19KSgpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>