<?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>179857</bug_id>
          
          <creation_ts>2017-11-17 17:55:32 -0800</creation_ts>
          <short_desc>REGRESSION(r225006): broke the build (Requested by smfr on #webkit).</short_desc>
          <delta_ts>2017-11-18 18:07:34 -0800</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>INVALID</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>176943</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Commit Bot">commit-queue</reporter>
          <assigned_to name="WebKit Commit Bot">commit-queue</assigned_to>
          <cc>achristensen</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>wilander</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1373468</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-11-17 17:55:32 -0800</bug_when>
    <thetext>https://trac.webkit.org/changeset/225006 broke the build:
broke the build (Requested by smfr on #webkit).

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>1373470</commentid>
    <comment_count>1</comment_count>
      <attachid>327291</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-11-17 17:56:09 -0800</bug_when>
    <thetext>Created attachment 327291
ROLLOUT of r225006

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

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

  webkit-patch land-attachment ATTACHMENT_ID

where ATTACHMENT_ID is the ID of this attachment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1373474</commentid>
    <comment_count>2</comment_count>
      <attachid>327291</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-11-17 17:58:06 -0800</bug_when>
    <thetext>Comment on attachment 327291
ROLLOUT of r225006

Rejecting attachment 327291 from commit-queue.

Failed to run &quot;[&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=webkit-queues.webkit.org&apos;, &apos;--bot-id=webkit-cq-01&apos;, &apos;land-attachment&apos;, &apos;--force-clean&apos;, &apos;--non-interactive&apos;, &apos;--parent-command=commit-queue&apos;, 327291, &apos;--port=mac&apos;]&quot; exit_code: 2 cwd: /Volumes/Data/EWS/WebKit

Last 500 characters of output:
0ba0bc3ec2aae68637d23e0232a84483a09 0bfaa0aed0fd75a91c9b5332bef9934af9623438 M	Tools
Current branch master is up to date.
ERROR: Not all changes have been committed into SVN, however the committed
ones (if any) seem to be successfully integrated into the working tree.
Please see the above messages for details.


Failed to run &quot;[&apos;git&apos;, &apos;svn&apos;, &apos;dcommit&apos;, &apos;--rmdir&apos;]&quot; exit_code: 1 cwd: /Volumes/Data/EWS/WebKit
Updating OpenSource
Current branch master is up to date.
Total errors found: 0 in 1 files

Full output: http://webkit-queues.webkit.org/results/5284368</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1373618</commentid>
    <comment_count>3</comment_count>
    <who name="John Wilander">wilander</who>
    <bug_when>2017-11-18 18:07:34 -0800</bug_when>
    <thetext>The issue was solved by Chris Dumez in https://trac.webkit.org/changeset/225010/webkit so no rollout is needed.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>327291</attachid>
            <date>2017-11-17 17:56:09 -0800</date>
            <delta_ts>2017-11-17 17:58:06 -0800</delta_ts>
            <desc>ROLLOUT of r225006</desc>
            <filename>bug-179857-20171117205609.patch</filename>
            <type>text/plain</type>
            <size>77205</size>
            <attacher name="WebKit Commit Bot">commit-queue</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI1MDA2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDc2MzgyZjQ4ZTAxYjY1
ZDI2MmY3M2IxN2M0NDY4MjhlN2Q3MTk0OS4uNDNhNWUyOWE3NzE1NjA5MjkyZTgzNTNkNDY3Yjgw
ZTU2OTc5NmM4MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDE3LTExLTE3ICBDb21t
aXQgUXVldWUgIDxjb21taXQtcXVldWVAd2Via2l0Lm9yZz4KKworICAgICAgICBVbnJldmlld2Vk
LCByb2xsaW5nIG91dCByMjI1MDA2LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTc5ODU3CisKKyAgICAgICAgYnJva2UgdGhlIGJ1aWxkIChSZXF1ZXN0
ZWQgYnkgc21mciBvbiAjd2Via2l0KS4KKworICAgICAgICBSZXZlcnRlZCBjaGFuZ2VzZXQ6CisK
KyAgICAgICAgIlN0b3JhZ2UgQWNjZXNzIEFQSTogVUkgcHJvY2VzcyBzaG91bGQgdXBkYXRlIG5l
dHdvcmsgcHJvY2VzcworICAgICAgICBhYm91dCBncmFudGVkIGFjY2VzcyIKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3Njk0MworICAgICAgICBodHRw
czovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvMjI1MDA2CisKIDIwMTctMTEtMTcgIEpvaG4g
V2lsYW5kZXIgIDx3aWxhbmRlckBhcHBsZS5jb20+CiAKICAgICAgICAgU3RvcmFnZSBBY2Nlc3Mg
QVBJOiBVSSBwcm9jZXNzIHNob3VsZCB1cGRhdGUgbmV0d29yayBwcm9jZXNzIGFib3V0IGdyYW50
ZWQgYWNjZXNzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGU0MmY4ZTliM2EzNmJkODYwYzhmMDJjYmY3YmY1YTJiOGE1
ODA4N2QuLjZmMGNiY2NhYzUwYjZjYzVkMDk3ZmY5NmE4ZjMzMTViYzVmNzRlZDkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTcgQEAKKzIwMTctMTEtMTcgIENvbW1pdCBRdWV1ZSAgPGNvbW1pdC1xdWV1
ZUB3ZWJraXQub3JnPgorCisgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIyMjUwMDYu
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzk4NTcK
KworICAgICAgICBicm9rZSB0aGUgYnVpbGQgKFJlcXVlc3RlZCBieSBzbWZyIG9uICN3ZWJraXQp
LgorCisgICAgICAgIFJldmVydGVkIGNoYW5nZXNldDoKKworICAgICAgICAiU3RvcmFnZSBBY2Nl
c3MgQVBJOiBVSSBwcm9jZXNzIHNob3VsZCB1cGRhdGUgbmV0d29yayBwcm9jZXNzCisgICAgICAg
IGFib3V0IGdyYW50ZWQgYWNjZXNzIgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTc2OTQzCisgICAgICAgIGh0dHBzOi8vdHJhYy53ZWJraXQub3JnL2No
YW5nZXNldC8yMjUwMDYKKwogMjAxNy0xMS0xNyAgSm9obiBXaWxhbmRlciAgPHdpbGFuZGVyQGFw
cGxlLmNvbT4KIAogICAgICAgICBTdG9yYWdlIEFjY2VzcyBBUEk6IFVJIHByb2Nlc3Mgc2hvdWxk
IHVwZGF0ZSBuZXR3b3JrIHByb2Nlc3MgYWJvdXQgZ3JhbnRlZCBhY2Nlc3MKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvTmV0d29ya1N0b3JhZ2VTZXNzaW9uLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL05ldHdvcmtTdG9yYWdlU2Vzc2lvbi5o
CmluZGV4IGQzYmM3ZTcwYmJiYjI4YzVhMTg1OWVmMDZjMWQwZTMyMDQ5MzM5ZjguLjNlM2E1MzM2
YzE3MzIyOGIyZGNhNjAxZmE3OWMyODFjNTMzMjQ3OGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvTmV0d29ya1N0b3JhZ2VTZXNzaW9uLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9OZXR3b3JrU3RvcmFnZVNlc3Npb24uaApAQCAtMjgs
NyArMjgsNiBAQAogI2luY2x1ZGUgIkNyZWRlbnRpYWxTdG9yYWdlLmgiCiAjaW5jbHVkZSA8cGFs
L1Nlc3Npb25JRC5oPgogI2luY2x1ZGUgPHd0Zi9GdW5jdGlvbi5oPgotI2luY2x1ZGUgPHd0Zi9I
YXNoTWFwLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9X
VEZTdHJpbmcuaD4KIApAQCAtOTAsNyArODksNiBAQCBwdWJsaWM6CiAgICAgQ0ZVUkxTdG9yYWdl
U2Vzc2lvblJlZiBwbGF0Zm9ybVNlc3Npb24oKSB7IHJldHVybiBtX3BsYXRmb3JtU2Vzc2lvbi5n
ZXQoKTsgfQogICAgIFdFQkNPUkVfRVhQT1JUIFJldGFpblB0cjxDRkhUVFBDb29raWVTdG9yYWdl
UmVmPiBjb29raWVTdG9yYWdlKCkgY29uc3Q7CiAgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIHZv
aWQgc2V0Q29va2llU3RvcmFnZVBhcnRpdGlvbmluZ0VuYWJsZWQoYm9vbCk7Ci0gICAgV0VCQ09S
RV9FWFBPUlQgc3RhdGljIHZvaWQgc2V0U3RvcmFnZUFjY2Vzc0FQSUVuYWJsZWQoYm9vbCk7CiAj
aWYgSEFWRShDRk5FVFdPUktfU1RPUkFHRV9QQVJUSVRJT05JTkcpCiAgICAgV0VCQ09SRV9FWFBP
UlQgU3RyaW5nIGNvb2tpZVN0b3JhZ2VQYXJ0aXRpb24oY29uc3QgUmVzb3VyY2VSZXF1ZXN0Jikg
Y29uc3Q7CiAgICAgV0VCQ09SRV9FWFBPUlQgYm9vbCBzaG91bGRCbG9ja0Nvb2tpZXMoY29uc3Qg
UmVzb3VyY2VSZXF1ZXN0JikgY29uc3Q7CkBAIC05OCw4ICs5Niw2IEBAIHB1YmxpYzoKICAgICBT
dHJpbmcgY29va2llU3RvcmFnZVBhcnRpdGlvbihjb25zdCBVUkwmIGZpcnN0UGFydHlGb3JDb29r
aWVzLCBjb25zdCBVUkwmIHJlc291cmNlKSBjb25zdDsKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lk
IHNldFByZXZhbGVudERvbWFpbnNUb1BhcnRpdGlvbk9yQmxvY2tDb29raWVzKGNvbnN0IFZlY3Rv
cjxTdHJpbmc+JiBkb21haW5zVG9QYXJ0aXRpb24sIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBkb21h
aW5zVG9CbG9jaywgY29uc3QgVmVjdG9yPFN0cmluZz4mIGRvbWFpbnNUb05laXRoZXJQYXJ0aXRp
b25Ob3JCbG9jaywgYm9vbCBjbGVhckZpcnN0KTsKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHJl
bW92ZVByZXZhbGVudERvbWFpbnMoY29uc3QgVmVjdG9yPFN0cmluZz4mIGRvbWFpbnMpOwotICAg
IFdFQkNPUkVfRVhQT1JUIGJvb2wgaXNTdG9yYWdlQWNjZXNzR3JhbnRlZChjb25zdCBTdHJpbmcm
IHJlc291cmNlRG9tYWluLCBjb25zdCBTdHJpbmcmIGZpcnN0UGFydHlEb21haW4pIGNvbnN0Owot
ICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0U3RvcmFnZUFjY2Vzc0dyYW50ZWQoY29uc3QgU3Ry
aW5nJiByZXNvdXJjZURvbWFpbiwgY29uc3QgU3RyaW5nJiBmaXJzdFBhcnR5RG9tYWluLCBib29s
IHZhbHVlKTsKICNlbmRpZgogI2VsaWYgVVNFKFNPVVApCiAgICAgTmV0d29ya1N0b3JhZ2VTZXNz
aW9uKFBBTDo6U2Vzc2lvbklELCBzdGQ6OnVuaXF1ZV9wdHI8U291cE5ldHdvcmtTZXNzaW9uPiYm
KTsKQEAgLTE1OCw3ICsxNTQsNiBAQCBwcml2YXRlOgogICAgIGJvb2wgc2hvdWxkQmxvY2tUaGly
ZFBhcnR5Q29va2llcyhjb25zdCBTdHJpbmcmIHRvcFByaXZhdGVseUNvbnRyb2xsZWREb21haW4p
IGNvbnN0OwogICAgIEhhc2hTZXQ8U3RyaW5nPiBtX3RvcFByaXZhdGVseUNvbnRyb2xsZWREb21h
aW5zVG9QYXJ0aXRpb247CiAgICAgSGFzaFNldDxTdHJpbmc+IG1fdG9wUHJpdmF0ZWx5Q29udHJv
bGxlZERvbWFpbnNUb0Jsb2NrOwotICAgIEhhc2hNYXA8U3RyaW5nLCBIYXNoU2V0PFN0cmluZz4+
IG1fZG9tYWluc0dyYW50ZWRTdG9yYWdlQWNjZXNzOwogI2VuZGlmCiAKICNpZiBQTEFURk9STShD
T0NPQSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvTmV0
d29ya1N0b3JhZ2VTZXNzaW9uQ0ZOZXQuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9jZi9OZXR3b3JrU3RvcmFnZVNlc3Npb25DRk5ldC5jcHAKaW5kZXggOGRmMGVmOTBhZDEz
MzZjYmFlNGM1YzIzYzZmNzA3NzU1YWRjZTg1Mi4uMzllYzRhZjQ0MmE2Nzc4YTA4YjY2ZmU3ZDVm
YTA0NzNhYWU1NTQxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9jZi9OZXR3b3JrU3RvcmFnZVNlc3Npb25DRk5ldC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9jZi9OZXR3b3JrU3RvcmFnZVNlc3Npb25DRk5ldC5jcHAKQEAgLTQw
LDcgKzQwLDYgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogc3RhdGljIGJvb2wgY29va2llU3Rv
cmFnZVBhcnRpdGlvbmluZ0VuYWJsZWQ7Ci1zdGF0aWMgYm9vbCBzdG9yYWdlQWNjZXNzQVBJRW5h
YmxlZDsKIAogc3RhdGljIFJldGFpblB0cjxDRlVSTFN0b3JhZ2VTZXNzaW9uUmVmPiBjcmVhdGVD
RlN0b3JhZ2VTZXNzaW9uRm9ySWRlbnRpZmllcihDRlN0cmluZ1JlZiBpZGVudGlmaWVyKQogewpA
QCAtMTU5LDExICsxNTgsNiBAQCB2b2lkIE5ldHdvcmtTdG9yYWdlU2Vzc2lvbjo6c2V0Q29va2ll
U3RvcmFnZVBhcnRpdGlvbmluZ0VuYWJsZWQoYm9vbCBlbmFibGVkKQogICAgIGNvb2tpZVN0b3Jh
Z2VQYXJ0aXRpb25pbmdFbmFibGVkID0gZW5hYmxlZDsKIH0KIAotdm9pZCBOZXR3b3JrU3RvcmFn
ZVNlc3Npb246OnNldFN0b3JhZ2VBY2Nlc3NBUElFbmFibGVkKGJvb2wgZW5hYmxlZCkKLXsKLSAg
ICBzdG9yYWdlQWNjZXNzQVBJRW5hYmxlZCA9IGVuYWJsZWQ7Ci19Ci0KICNpZiBIQVZFKENGTkVU
V09SS19TVE9SQUdFX1BBUlRJVElPTklORykKIAogU3RyaW5nIE5ldHdvcmtTdG9yYWdlU2Vzc2lv
bjo6Y29va2llU3RvcmFnZVBhcnRpdGlvbihjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3Qp
IGNvbnN0CkBAIC0xOTYsOSArMTkwLDYgQEAgU3RyaW5nIE5ldHdvcmtTdG9yYWdlU2Vzc2lvbjo6
Y29va2llU3RvcmFnZVBhcnRpdGlvbihjb25zdCBVUkwmIGZpcnN0UGFydHlGb3JDb28KICAgICBp
ZiAoZmlyc3RQYXJ0eURvbWFpbiA9PSByZXNvdXJjZURvbWFpbikKICAgICAgICAgcmV0dXJuIGVt
cHR5U3RyaW5nKCk7CiAKLSAgICBpZiAoc3RvcmFnZUFjY2Vzc0FQSUVuYWJsZWQgJiYgaXNTdG9y
YWdlQWNjZXNzR3JhbnRlZChyZXNvdXJjZURvbWFpbiwgZmlyc3RQYXJ0eURvbWFpbikpCi0gICAg
ICAgIHJldHVybiBlbXB0eVN0cmluZygpOwotCiAgICAgcmV0dXJuIGZpcnN0UGFydHlEb21haW47
CiB9CiAKQEAgLTI1MCw3ICsyNDEsNiBAQCB2b2lkIE5ldHdvcmtTdG9yYWdlU2Vzc2lvbjo6c2V0
UHJldmFsZW50RG9tYWluc1RvUGFydGl0aW9uT3JCbG9ja0Nvb2tpZXMoY29uc3QgVgogICAgIGlm
IChjbGVhckZpcnN0KSB7CiAgICAgICAgIG1fdG9wUHJpdmF0ZWx5Q29udHJvbGxlZERvbWFpbnNU
b1BhcnRpdGlvbi5jbGVhcigpOwogICAgICAgICBtX3RvcFByaXZhdGVseUNvbnRyb2xsZWREb21h
aW5zVG9CbG9jay5jbGVhcigpOwotICAgICAgICBtX2RvbWFpbnNHcmFudGVkU3RvcmFnZUFjY2Vz
cy5jbGVhcigpOwogICAgIH0KIAogICAgIGZvciAoYXV0byYgZG9tYWluIDogZG9tYWluc1RvUGFy
dGl0aW9uKSB7CkBAIC0yODMsMzIgKzI3Myw2IEBAIHZvaWQgTmV0d29ya1N0b3JhZ2VTZXNzaW9u
OjpyZW1vdmVQcmV2YWxlbnREb21haW5zKGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBkb21haW5zCiAg
ICAgfQogfQogCi1ib29sIE5ldHdvcmtTdG9yYWdlU2Vzc2lvbjo6aXNTdG9yYWdlQWNjZXNzR3Jh
bnRlZChjb25zdCBTdHJpbmcmIHJlc291cmNlRG9tYWluLCBjb25zdCBTdHJpbmcmIGZpcnN0UGFy
dHlEb21haW4pIGNvbnN0Ci17Ci0gICAgYXV0byBpdCA9IG1fZG9tYWluc0dyYW50ZWRTdG9yYWdl
QWNjZXNzLmZpbmQoZmlyc3RQYXJ0eURvbWFpbik7Ci0gICAgaWYgKGl0ID09IG1fZG9tYWluc0dy
YW50ZWRTdG9yYWdlQWNjZXNzLmVuZCgpKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICBy
ZXR1cm4gaXQtPnZhbHVlLmNvbnRhaW5zKHJlc291cmNlRG9tYWluKTsKLX0KLQotdm9pZCBOZXR3
b3JrU3RvcmFnZVNlc3Npb246OnNldFN0b3JhZ2VBY2Nlc3NHcmFudGVkKGNvbnN0IFN0cmluZyYg
cmVzb3VyY2VEb21haW4sIGNvbnN0IFN0cmluZyYgZmlyc3RQYXJ0eURvbWFpbiwgYm9vbCB2YWx1
ZSkKLXsKLSAgICBhdXRvIGl0ZXJhdG9yID0gbV9kb21haW5zR3JhbnRlZFN0b3JhZ2VBY2Nlc3Mu
ZmluZChmaXJzdFBhcnR5RG9tYWluKTsKLSAgICBpZiAodmFsdWUpIHsKLSAgICAgICAgaWYgKGl0
ZXJhdG9yID09IG1fZG9tYWluc0dyYW50ZWRTdG9yYWdlQWNjZXNzLmVuZCgpKQotICAgICAgICAg
ICAgYXV0byBhY2Nlc3NFbnRyeSA9IG1fZG9tYWluc0dyYW50ZWRTdG9yYWdlQWNjZXNzLmFkZChm
aXJzdFBhcnR5RG9tYWluLCBIYXNoU2V0PFN0cmluZz4oeyByZXNvdXJjZURvbWFpbiB9KSk7Ci0g
ICAgICAgIGVsc2UKLSAgICAgICAgICAgIGl0ZXJhdG9yLT52YWx1ZS5hZGQocmVzb3VyY2VEb21h
aW4pOwotICAgIH0gZWxzZSB7Ci0gICAgICAgIGlmIChpdGVyYXRvciA9PSBtX2RvbWFpbnNHcmFu
dGVkU3RvcmFnZUFjY2Vzcy5lbmQoKSkKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgaXRl
cmF0b3ItPnZhbHVlLnJlbW92ZShyZXNvdXJjZURvbWFpbik7Ci0gICAgICAgIGlmIChpdGVyYXRv
ci0+dmFsdWUuaXNFbXB0eSgpKQotICAgICAgICAgICAgbV9kb21haW5zR3JhbnRlZFN0b3JhZ2VB
Y2Nlc3MucmVtb3ZlKGZpcnN0UGFydHlEb21haW4pOwotICAgIH0KLX0KLQogI2VuZGlmIC8vIEhB
VkUoQ0ZORVRXT1JLX1NUT1JBR0VfUEFSVElUSU9OSU5HKQogCiAjaWYgIVBMQVRGT1JNKENPQ09B
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vz
cy5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmNwcApp
bmRleCBlZGY2OGVjOGI1OWE4MTc1NzAzZGJmMDJiZjRhN2E5YmQyZDJmZjJiLi40YzFjNTE3MGFm
ZTcwMDc0ZjRmZGUyZjZmNGIxYmU0ZmUxNDM2MTk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmNwcApAQCAtMzI5LDE5ICszMjksNiBAQCB2b2lk
IE5ldHdvcmtQcm9jZXNzOjp1cGRhdGVQcmV2YWxlbnREb21haW5zVG9QYXJ0aXRpb25PckJsb2Nr
Q29va2llcyhQQUw6OlNlc3NpbwogICAgICAgICBuZXR3b3JrU3RvcmFnZVNlc3Npb24tPnNldFBy
ZXZhbGVudERvbWFpbnNUb1BhcnRpdGlvbk9yQmxvY2tDb29raWVzKGRvbWFpbnNUb1BhcnRpdGlv
biwgZG9tYWluc1RvQmxvY2ssIGRvbWFpbnNUb05laXRoZXJQYXJ0aXRpb25Ob3JCbG9jaywgc2hv
dWxkQ2xlYXJGaXJzdCk7CiB9CiAKLXZvaWQgTmV0d29ya1Byb2Nlc3M6OnVwZGF0ZVN0b3JhZ2VB
Y2Nlc3NGb3JQcmV2YWxlbnREb21haW5zKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgY29uc3Qg
U3RyaW5nJiByZXNvdXJjZURvbWFpbiwgY29uc3QgU3RyaW5nJiBmaXJzdFBhcnR5RG9tYWluLCBi
b29sIHNob3VsZEdyYW50U3RvcmFnZSwgdWludDY0X3QgY29udGV4dElkKQotewotICAgIGJvb2wg
aXNTdG9yYWdlR3JhbnRlZCA9IGZhbHNlOwotICAgIGlmIChhdXRvKiBuZXR3b3JrU3RvcmFnZVNl
c3Npb24gPSBOZXR3b3JrU3RvcmFnZVNlc3Npb246OnN0b3JhZ2VTZXNzaW9uKHNlc3Npb25JRCkp
IHsKLSAgICAgICAgbmV0d29ya1N0b3JhZ2VTZXNzaW9uLT5zZXRTdG9yYWdlQWNjZXNzR3JhbnRl
ZChyZXNvdXJjZURvbWFpbiwgZmlyc3RQYXJ0eURvbWFpbiwgc2hvdWxkR3JhbnRTdG9yYWdlKTsK
LSAgICAgICAgQVNTRVJUKG5ldHdvcmtTdG9yYWdlU2Vzc2lvbi0+aXNTdG9yYWdlQWNjZXNzR3Jh
bnRlZChyZXNvdXJjZURvbWFpbiwgZmlyc3RQYXJ0eURvbWFpbikgPT0gc2hvdWxkR3JhbnRTdG9y
YWdlKTsKLSAgICAgICAgaXNTdG9yYWdlR3JhbnRlZCA9IHNob3VsZEdyYW50U3RvcmFnZTsKLSAg
ICB9IGVsc2UKLSAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0KLSAgICBwYXJlbnRQcm9j
ZXNzQ29ubmVjdGlvbigpLT5zZW5kKE1lc3NhZ2VzOjpOZXR3b3JrUHJvY2Vzc1Byb3h5OjpTdG9y
YWdlQWNjZXNzUmVxdWVzdFJlc3VsdChpc1N0b3JhZ2VHcmFudGVkLCBjb250ZXh0SWQpLCAwKTsK
LX0KLQogdm9pZCBOZXR3b3JrUHJvY2Vzczo6cmVtb3ZlUHJldmFsZW50RG9tYWlucyhQQUw6OlNl
c3Npb25JRCBzZXNzaW9uSUQsIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBkb21haW5zKQogewogICAg
IGlmIChhdXRvKiBuZXR3b3JrU3RvcmFnZVNlc3Npb24gPSBOZXR3b3JrU3RvcmFnZVNlc3Npb246
OnN0b3JhZ2VTZXNzaW9uKHNlc3Npb25JRCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9j
ZXNzL05ldHdvcmtQcm9jZXNzLmgKaW5kZXggM2U4MzhmZDcyYjFlZDM5MjBiZjVlOTVlMTIwOTk5
N2M4NDUyOGMxMS4uZGU4YmIyY2IyNjA0NzA2OTU1MWFkMDIwZDg0YjZjMTY5NTIxZDkzOSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaApAQCAtMTM4
LDcgKzEzOCw2IEBAIHB1YmxpYzoKIAogI2lmIEhBVkUoQ0ZORVRXT1JLX1NUT1JBR0VfUEFSVElU
SU9OSU5HKQogICAgIHZvaWQgdXBkYXRlUHJldmFsZW50RG9tYWluc1RvUGFydGl0aW9uT3JCbG9j
a0Nvb2tpZXMoUEFMOjpTZXNzaW9uSUQsIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBkb21haW5zVG9Q
YXJ0aXRpb24sIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBkb21haW5zVG9CbG9jaywgY29uc3QgVmVj
dG9yPFN0cmluZz4mIGRvbWFpbnNUb05laXRoZXJQYXJ0aXRpb25Ob3JCbG9jaywgYm9vbCBzaG91
bGRDbGVhckZpcnN0KTsKLSAgICB2b2lkIHVwZGF0ZVN0b3JhZ2VBY2Nlc3NGb3JQcmV2YWxlbnRE
b21haW5zKFBBTDo6U2Vzc2lvbklELCBjb25zdCBTdHJpbmcmIHJlc291cmNlRG9tYWluLCBjb25z
dCBTdHJpbmcmIGZpcnN0UGFydHlEb21haW4sIGJvb2wgdmFsdWUsIHVpbnQ2NF90IGNvbnRleHRJ
ZCk7CiAgICAgdm9pZCByZW1vdmVQcmV2YWxlbnREb21haW5zKFBBTDo6U2Vzc2lvbklELCBjb25z
dCBWZWN0b3I8U3RyaW5nPiYgZG9tYWlucyk7CiAjZW5kaWYKIApAQCAtMjU3LDcgKzI1Niw2IEBA
IHByaXZhdGU6CiAjaWYgUExBVEZPUk0oQ09DT0EpCiAgICAgdm9pZCBwbGF0Zm9ybUluaXRpYWxp
emVOZXR3b3JrUHJvY2Vzc0NvY29hKGNvbnN0IE5ldHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJhbWV0
ZXJzJik7CiAgICAgdm9pZCBzZXRDb29raWVTdG9yYWdlUGFydGl0aW9uaW5nRW5hYmxlZChib29s
KTsKLSAgICB2b2lkIHNldFN0b3JhZ2VBY2Nlc3NBUElFbmFibGVkKGJvb2wpOwogCiAgICAgLy8g
RklYTUU6IFdlJ2QgbGlrZSB0byBiZSBhYmxlIHRvIGRvIHRoaXMgd2l0aG91dCB0aGUgI2lmZGVm
LCBidXQgV29ya1F1ZXVlICsgQmluYXJ5U2VtYXBob3JlIGlzbid0IGdvb2QgZW5vdWdoIHNpbmNl
CiAgICAgLy8gbXVsdGlwbGUgcmVxdWVzdHMgdG8gY2xlYXIgdGhlIGNhY2hlIGNhbiBjb21lIGlu
IGJlZm9yZSBwcmV2aW91cyByZXF1ZXN0cyBjb21wbGV0ZSwgYW5kIHdlIG5lZWQgdG8gd2FpdCBm
b3IgYWxsIG9mIHRoZW0uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L05ldHdvcmtQcm9jZXNzLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vz
cy9OZXR3b3JrUHJvY2Vzcy5tZXNzYWdlcy5pbgppbmRleCBhZGJkMDA3OTM4NDhmZmIyYTgxMTIw
NTE2Yjg1ZTdjMDJiN2ViYTFiLi5iYTU1Y2Y2NjZiMjI4YTg4ZjE1MDkxZjJiMTY4YWE3OGJlZGI1
MTRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9j
ZXNzLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29y
a1Byb2Nlc3MubWVzc2FnZXMuaW4KQEAgLTU4LDcgKzU4LDYgQEAgbWVzc2FnZXMgLT4gTmV0d29y
a1Byb2Nlc3MgTGVnYWN5UmVjZWl2ZXIgewogI2lmIFBMQVRGT1JNKENPQ09BKQogICAgIFNldFFP
UyhpbnQgbGF0ZW5jeVFPUywgaW50IHRocm91Z2hwdXRRT1MpCiAgICAgU2V0Q29va2llU3RvcmFn
ZVBhcnRpdGlvbmluZ0VuYWJsZWQoYm9vbCBlbmFibGVkKQotICAgIFNldFN0b3JhZ2VBY2Nlc3NB
UElFbmFibGVkKGJvb2wgZW5hYmxlZCkKICNlbmRpZgogICAgIFNldEFsbG93c0FueVNTTENlcnRp
ZmljYXRlRm9yV2ViU29ja2V0KGJvb2wgZW5hYmxlZCkgLT4gKCkKIApAQCAtODMsNyArODIsNiBA
QCBtZXNzYWdlcyAtPiBOZXR3b3JrUHJvY2VzcyBMZWdhY3lSZWNlaXZlciB7CiAKICNpZiBIQVZF
KENGTkVUV09SS19TVE9SQUdFX1BBUlRJVElPTklORykKICAgICBVcGRhdGVQcmV2YWxlbnREb21h
aW5zVG9QYXJ0aXRpb25PckJsb2NrQ29va2llcyhQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIFZl
Y3RvcjxTdHJpbmc+IGRvbWFpbnNUb1BhcnRpdGlvbiwgVmVjdG9yPFN0cmluZz4gZG9tYWluc1Rv
QmxvY2ssIFZlY3RvcjxTdHJpbmc+IGRvbWFpbnNUb05laXRoZXJQYXJ0aXRpb25Ob3JCbG9jaywg
Ym9vbCBzaG91bGRDbGVhckZpcnN0KQotICAgIFVwZGF0ZVN0b3JhZ2VBY2Nlc3NGb3JQcmV2YWxl
bnREb21haW5zKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgU3RyaW5nIHJlc291cmNlRG9tYWlu
LCBTdHJpbmcgZmlyc3RQYXJ0eURvbWFpbiwgYm9vbCBzaG91bGRHcmFudEFjY2VzcywgdWludDY0
X3QgY29udGV4dElkKQogICAgIFJlbW92ZVByZXZhbGVudERvbWFpbnMoUEFMOjpTZXNzaW9uSUQg
c2Vzc2lvbklELCBWZWN0b3I8U3RyaW5nPiBkb21haW5zV2l0aEludGVyYWN0aW9uKTsKICNlbmRp
ZgogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJv
Y2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L05ldHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcAppbmRleCAxZjQ3MWVmZWNjMGU4
OWY0Mjc0YTgyNmQxYjQzNDAwODg5MmY4YjNhLi4yOTM0YTU4ZGZmMjQyMDRlNDZhYWViMzdjZGM0
YzU3MWIyOTI5YmI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05l
dHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcApAQCAtODUs
NyArODUsNiBAQCB2b2lkIE5ldHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOjplbmNvZGUo
SVBDOjpFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAogICAgIElQQzo6ZW5jb2RlKGVuY29kZXIsIG5l
dHdvcmtBVFNDb250ZXh0LmdldCgpKTsKICNlbmRpZgogICAgIGVuY29kZXIgPDwgY29va2llU3Rv
cmFnZVBhcnRpdGlvbmluZ0VuYWJsZWQ7Ci0gICAgZW5jb2RlciA8PCBzdG9yYWdlQWNjZXNzQVBJ
RW5hYmxlZDsKICNlbmRpZgogI2lmIFVTRShTT1VQKQogICAgIGVuY29kZXIgPDwgY29va2llUGVy
c2lzdGVudFN0b3JhZ2VQYXRoOwpAQCAtMTg3LDggKzE4Niw2IEBAIGJvb2wgTmV0d29ya1Byb2Nl
c3NDcmVhdGlvblBhcmFtZXRlcnM6OmRlY29kZShJUEM6OkRlY29kZXImIGRlY29kZXIsIE5ldHdv
cmtQcm9jCiAjZW5kaWYKICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHJlc3VsdC5jb29raWVTdG9y
YWdlUGFydGl0aW9uaW5nRW5hYmxlZCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICBpZiAo
IWRlY29kZXIuZGVjb2RlKHJlc3VsdC5zdG9yYWdlQWNjZXNzQVBJRW5hYmxlZCkpCi0gICAgICAg
IHJldHVybiBmYWxzZTsKICNlbmRpZgogCiAjaWYgVVNFKFNPVVApCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJz
LmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzQ3JlYXRpb25Q
YXJhbWV0ZXJzLmgKaW5kZXggMGIzZTg5Mjc1Yzk4ZjFjYzg5ODBlYTA0NTZlMmIzZGFhNmU1YjNk
OC4uYzY5MjMxMzE4ZDMxMzVhZDBiOGIwNWZhODhjNDkxMjYzMWUzMzYwNSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1l
dGVycy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3ND
cmVhdGlvblBhcmFtZXRlcnMuaApAQCAtOTgsNyArOTgsNiBAQCBzdHJ1Y3QgTmV0d29ya1Byb2Nl
c3NDcmVhdGlvblBhcmFtZXRlcnMgewogICAgIFJldGFpblB0cjxDRkRhdGFSZWY+IG5ldHdvcmtB
VFNDb250ZXh0OwogI2VuZGlmCiAgICAgYm9vbCBjb29raWVTdG9yYWdlUGFydGl0aW9uaW5nRW5h
YmxlZDsKLSAgICBib29sIHN0b3JhZ2VBY2Nlc3NBUElFbmFibGVkOwogI2VuZGlmCiAKICNpZiBV
U0UoU09VUCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY29jb2Ev
TmV0d29ya1Byb2Nlc3NDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY29j
b2EvTmV0d29ya1Byb2Nlc3NDb2NvYS5tbQppbmRleCA4NjMyZTU4OGJmN2IwMDYxN2YxNzk2ODAy
ZGU0MDRjOTg2MTFkNTE3Li45ZGMxZGI2MGFmNDIzY2IxZTZmMTUxMTM3NDFmMzc4N2MzNjQzZDE0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtQ
cm9jZXNzQ29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9O
ZXR3b3JrUHJvY2Vzc0NvY29hLm1tCkBAIC05Niw3ICs5Niw2IEBAIHZvaWQgTmV0d29ya1Byb2Nl
c3M6OnBsYXRmb3JtSW5pdGlhbGl6ZU5ldHdvcmtQcm9jZXNzQ29jb2EoY29uc3QgTmV0d29ya1By
b2Nlc3NDCiAjZW5kaWYKIAogICAgIFdlYkNvcmU6Ok5ldHdvcmtTdG9yYWdlU2Vzc2lvbjo6c2V0
Q29va2llU3RvcmFnZVBhcnRpdGlvbmluZ0VuYWJsZWQocGFyYW1ldGVycy5jb29raWVTdG9yYWdl
UGFydGl0aW9uaW5nRW5hYmxlZCk7Ci0gICAgV2ViQ29yZTo6TmV0d29ya1N0b3JhZ2VTZXNzaW9u
OjpzZXRTdG9yYWdlQWNjZXNzQVBJRW5hYmxlZChwYXJhbWV0ZXJzLnN0b3JhZ2VBY2Nlc3NBUElF
bmFibGVkKTsKIAogICAgIC8vIEZJWE1FOiBNb3N0IG9mIHdoYXQgdGhpcyBmdW5jdGlvbiBkb2Vz
IGZvciBjYWNoZSBzaXplIGdldHMgaW1tZWRpYXRlbHkgb3ZlcnJpZGRlbiBieSBzZXRDYWNoZU1v
ZGVsKCkuCiAgICAgLy8gLSBtZW1vcnkgY2FjaGUgc2l6ZSBwYXNzZWQgZnJvbSBVSSBwcm9jZXNz
IGlzIGFsd2F5cyBpZ25vcmVkOwpAQCAtMjEyLDExICsyMTEsNiBAQCB2b2lkIE5ldHdvcmtQcm9j
ZXNzOjpzZXRDb29raWVTdG9yYWdlUGFydGl0aW9uaW5nRW5hYmxlZChib29sIGVuYWJsZWQpCiAg
ICAgV2ViQ29yZTo6TmV0d29ya1N0b3JhZ2VTZXNzaW9uOjpzZXRDb29raWVTdG9yYWdlUGFydGl0
aW9uaW5nRW5hYmxlZChlbmFibGVkKTsKIH0KIAotdm9pZCBOZXR3b3JrUHJvY2Vzczo6c2V0U3Rv
cmFnZUFjY2Vzc0FQSUVuYWJsZWQoYm9vbCBlbmFibGVkKQotewotICAgIFdlYkNvcmU6Ok5ldHdv
cmtTdG9yYWdlU2Vzc2lvbjo6c2V0U3RvcmFnZUFjY2Vzc0FQSUVuYWJsZWQoZW5hYmxlZCk7Ci19
Ci0KIHZvaWQgTmV0d29ya1Byb2Nlc3M6OnN5bmNBbGxDb29raWVzKCkKIHsKICNwcmFnbWEgY2xh
bmcgZGlhZ25vc3RpYyBwdXNoCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvQy9XS0Nvb2tpZU1hbmFnZXIuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0Mv
V0tDb29raWVNYW5hZ2VyLmNwcAppbmRleCA3ODlkMmVjZmE2MjVjOGJkY2U2YjYwOGU3MDZiNDQ2
YTQ0ZDM3YjUzLi5hYTYyZjI2YzdlMjUwN2JjMjVkMDVhNDgwMTkzZGRhYjk4NDA4ZTFkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS0Nvb2tpZU1hbmFnZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLQ29va2llTWFuYWdlci5jcHAK
QEAgLTgwLDExICs4MCw2IEBAIHZvaWQgV0tDb29raWVNYW5hZ2VyU2V0Q29va2llU3RvcmFnZVBh
cnRpdGlvbmluZ0VuYWJsZWQoV0tDb29raWVNYW5hZ2VyUmVmIGNvb2tpCiAgICAgdG9JbXBsKGNv
b2tpZU1hbmFnZXIpLT5zZXRDb29raWVTdG9yYWdlUGFydGl0aW9uaW5nRW5hYmxlZChlbmFibGVk
KTsKIH0KIAotdm9pZCBXS0Nvb2tpZU1hbmFnZXJTZXRTdG9yYWdlQWNjZXNzQVBJRW5hYmxlZChX
S0Nvb2tpZU1hbmFnZXJSZWYgY29va2llTWFuYWdlciwgYm9vbCBlbmFibGVkKQotewotICAgIHRv
SW1wbChjb29raWVNYW5hZ2VyKS0+c2V0U3RvcmFnZUFjY2Vzc0FQSUVuYWJsZWQoZW5hYmxlZCk7
Ci19Ci0KIHZvaWQgV0tDb29raWVNYW5hZ2VyU3RhcnRPYnNlcnZpbmdDb29raWVDaGFuZ2VzKFdL
Q29va2llTWFuYWdlclJlZiBjb29raWVNYW5hZ2VyKQogewogICAgIHRvSW1wbChjb29raWVNYW5h
Z2VyKS0+c3RhcnRPYnNlcnZpbmdDb29raWVDaGFuZ2VzKFBBTDo6U2Vzc2lvbklEOjpkZWZhdWx0
U2Vzc2lvbklEKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0Mv
V0tDb29raWVNYW5hZ2VyLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS0Nvb2tp
ZU1hbmFnZXIuaAppbmRleCAzNGZhODI1ODE4M2RmNDZhMTU1ZWFhOTIxYWVlZGE4ZGExY2IwYzg2
Li4wZThkNzIxNjhjYjlhOTJmNzAxNTUyNWM5M2FiNGQ0N2FiYzZmYmEyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS0Nvb2tpZU1hbmFnZXIuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS0Nvb2tpZU1hbmFnZXIuaApAQCAtNzMsNyArNzMs
NiBAQCB0eXBlZGVmIHZvaWQgKCpXS0Nvb2tpZU1hbmFnZXJHZXRIVFRQQ29va2llQWNjZXB0UG9s
aWN5RnVuY3Rpb24pKFdLSFRUUENvb2tpZUFjYwogV0tfRVhQT1JUIHZvaWQgV0tDb29raWVNYW5h
Z2VyR2V0SFRUUENvb2tpZUFjY2VwdFBvbGljeShXS0Nvb2tpZU1hbmFnZXJSZWYgY29va2llTWFu
YWdlciwgdm9pZCogY29udGV4dCwgV0tDb29raWVNYW5hZ2VyR2V0SFRUUENvb2tpZUFjY2VwdFBv
bGljeUZ1bmN0aW9uIGNhbGxiYWNrKTsKIAogV0tfRVhQT1JUIHZvaWQgV0tDb29raWVNYW5hZ2Vy
U2V0Q29va2llU3RvcmFnZVBhcnRpdGlvbmluZ0VuYWJsZWQoV0tDb29raWVNYW5hZ2VyUmVmIGNv
b2tpZU1hbmFnZXIsIGJvb2wgZW5hYmxlZCk7Ci1XS19FWFBPUlQgdm9pZCBXS0Nvb2tpZU1hbmFn
ZXJTZXRTdG9yYWdlQWNjZXNzQVBJRW5hYmxlZChXS0Nvb2tpZU1hbmFnZXJSZWYgY29va2llTWFu
YWdlciwgYm9vbCBlbmFibGVkKTsKIAogV0tfRVhQT1JUIHZvaWQgV0tDb29raWVNYW5hZ2VyU3Rh
cnRPYnNlcnZpbmdDb29raWVDaGFuZ2VzKFdLQ29va2llTWFuYWdlclJlZiBjb29raWVNYW5hZ2Vy
KTsKIFdLX0VYUE9SVCB2b2lkIFdLQ29va2llTWFuYWdlclN0b3BPYnNlcnZpbmdDb29raWVDaGFu
Z2VzKFdLQ29va2llTWFuYWdlclJlZiBjb29raWVNYW5hZ2VyKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLV2Vic2l0ZURhdGFTdG9yZVJlZi5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1dlYnNpdGVEYXRhU3RvcmVSZWYuY3BwCmluZGV4
IDgyMDg1ZGE2ZGZmOGFjZmQ2MTYzYjNjNmVlZTUwYzQ1YTRkMzE2ODcuLmQwYmE0Mjc0MzAxMDM4
ZDBiZDY5OGIxNzk1YTExYTI1MTQ2Yzc2NWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9DL1dLV2Vic2l0ZURhdGFTdG9yZVJlZi5jcHAKKysrIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQVBJL0MvV0tXZWJzaXRlRGF0YVN0b3JlUmVmLmNwcApAQCAtMTA5LDE1ICsx
MDksNiBAQCB2b2lkIFdLV2Vic2l0ZURhdGFTdG9yZVNldFN0YXRpc3RpY3NIYXNIYWRVc2VySW50
ZXJhY3Rpb24oV0tXZWJzaXRlRGF0YVN0b3JlUmVmCiAgICAgICAgIHN0b3JlLT5jbGVhclVzZXJJ
bnRlcmFjdGlvbihXZWJDb3JlOjpVUkwoV2ViQ29yZTo6VVJMKCksIFdlYktpdDo6dG9JbXBsKGhv
c3QpLT5zdHJpbmcoKSkpOwogfQogCi12b2lkIFdLV2Vic2l0ZURhdGFTdG9yZVNldFN0YXRpc3Rp
Y3NIYXNIYWROb25SZWNlbnRVc2VySW50ZXJhY3Rpb24oV0tXZWJzaXRlRGF0YVN0b3JlUmVmIGRh
dGFTdG9yZVJlZiwgV0tTdHJpbmdSZWYgaG9zdCkKLXsKLSAgICBhdXRvKiBzdG9yZSA9IFdlYktp
dDo6dG9JbXBsKGRhdGFTdG9yZVJlZiktPndlYnNpdGVEYXRhU3RvcmUoKS5yZXNvdXJjZUxvYWRT
dGF0aXN0aWNzKCk7Ci0gICAgaWYgKCFzdG9yZSkKLSAgICAgICAgcmV0dXJuOwotICAgIAotICAg
IHN0b3JlLT5sb2dOb25SZWNlbnRVc2VySW50ZXJhY3Rpb24oV2ViQ29yZTo6VVJMKFdlYkNvcmU6
OlVSTCgpLCBXZWJLaXQ6OnRvSW1wbChob3N0KS0+c3RyaW5nKCkpKTsKLX0KLQogdm9pZCBXS1dl
YnNpdGVEYXRhU3RvcmVJc1N0YXRpc3RpY3NIYXNIYWRVc2VySW50ZXJhY3Rpb24oV0tXZWJzaXRl
RGF0YVN0b3JlUmVmIGRhdGFTdG9yZVJlZiwgV0tTdHJpbmdSZWYgaG9zdCwgdm9pZCogY29udGV4
dCwgV0tXZWJzaXRlRGF0YVN0b3JlSXNTdGF0aXN0aWNzSGFzSGFkVXNlckludGVyYWN0aW9uRnVu
Y3Rpb24gY2FsbGJhY2spCiB7CiAgICAgYXV0byogc3RvcmUgPSBXZWJLaXQ6OnRvSW1wbChkYXRh
U3RvcmVSZWYpLT53ZWJzaXRlRGF0YVN0b3JlKCkucmVzb3VyY2VMb2FkU3RhdGlzdGljcygpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tXZWJzaXRlRGF0YVN0
b3JlUmVmLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1dlYnNpdGVEYXRhU3Rv
cmVSZWYuaAppbmRleCAzMmYwMjBiY2RiNmYyNjU5YWYwNGM5ZGQxNTJkZWQxMzU5ZGMyYWRmLi4w
ZDFjNGU5NDA1NTQ3OGFhZWJhOTU2NDczNDk0MzNlMzY4OTkzOWEyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1dlYnNpdGVEYXRhU3RvcmVSZWYuaAorKysgYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1dlYnNpdGVEYXRhU3RvcmVSZWYuaApAQCAt
NDQsNyArNDQsNiBAQCBXS19FWFBPUlQgdm9pZCBXS1dlYnNpdGVEYXRhU3RvcmVTZXRTdGF0aXN0
aWNzUHJldmFsZW50UmVzb3VyY2UoV0tXZWJzaXRlRGF0YVN0bwogdHlwZWRlZiB2b2lkICgqV0tX
ZWJzaXRlRGF0YVN0b3JlSXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2VGdW5jdGlvbikoYm9v
bCBpc1ByZXZhbGVudFJlc291cmNlLCB2b2lkKiBmdW5jdGlvbkNvbnRleHQpOwogV0tfRVhQT1JU
IHZvaWQgV0tXZWJzaXRlRGF0YVN0b3JlSXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2UoV0tX
ZWJzaXRlRGF0YVN0b3JlUmVmIGRhdGFTdG9yZVJlZiwgV0tTdHJpbmdSZWYgaG9zdCwgdm9pZCog
Y29udGV4dCwgV0tXZWJzaXRlRGF0YVN0b3JlSXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2VG
dW5jdGlvbiBjYWxsYmFjayk7CiBXS19FWFBPUlQgdm9pZCBXS1dlYnNpdGVEYXRhU3RvcmVTZXRT
dGF0aXN0aWNzSGFzSGFkVXNlckludGVyYWN0aW9uKFdLV2Vic2l0ZURhdGFTdG9yZVJlZiBkYXRh
U3RvcmVSZWYsIFdLU3RyaW5nUmVmIGhvc3QsIGJvb2wgdmFsdWUpOwotV0tfRVhQT1JUIHZvaWQg
V0tXZWJzaXRlRGF0YVN0b3JlU2V0U3RhdGlzdGljc0hhc0hhZE5vblJlY2VudFVzZXJJbnRlcmFj
dGlvbihXS1dlYnNpdGVEYXRhU3RvcmVSZWYgZGF0YVN0b3JlUmVmLCBXS1N0cmluZ1JlZiBob3N0
KTsKIHR5cGVkZWYgdm9pZCAoKldLV2Vic2l0ZURhdGFTdG9yZUlzU3RhdGlzdGljc0hhc0hhZFVz
ZXJJbnRlcmFjdGlvbkZ1bmN0aW9uKShib29sIGhhc0hhZFVzZXJJbnRlcmFjdGlvbiwgdm9pZCog
ZnVuY3Rpb25Db250ZXh0KTsKIFdLX0VYUE9SVCB2b2lkIFdLV2Vic2l0ZURhdGFTdG9yZUlzU3Rh
dGlzdGljc0hhc0hhZFVzZXJJbnRlcmFjdGlvbihXS1dlYnNpdGVEYXRhU3RvcmVSZWYgZGF0YVN0
b3JlUmVmLCBXS1N0cmluZ1JlZiBob3N0LCB2b2lkKiBjb250ZXh0LCBXS1dlYnNpdGVEYXRhU3Rv
cmVJc1N0YXRpc3RpY3NIYXNIYWRVc2VySW50ZXJhY3Rpb25GdW5jdGlvbiBjYWxsYmFjayk7CiBX
S19FWFBPUlQgdm9pZCBXS1dlYnNpdGVEYXRhU3RvcmVTZXRTdGF0aXN0aWNzR3JhbmRmYXRoZXJl
ZChXS1dlYnNpdGVEYXRhU3RvcmVSZWYgZGF0YVN0b3JlUmVmLCBXS1N0cmluZ1JlZiBob3N0LCBi
b29sIHZhbHVlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2Nv
YS9XS1Byb2Nlc3NQb29sLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dL
UHJvY2Vzc1Bvb2wubW0KaW5kZXggYjUwZGNiYjMzNzQ1MDNiOTNmZTg4ZWE2YTQwYWJmMDM3Yzc0
NTgyOC4uZWQyNWMyM2ZlMThiZGEyZGM1ZmUyMDgwNzAyMzk5MjkyOTk1ZTdiNyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLUHJvY2Vzc1Bvb2wubW0KKysr
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLUHJvY2Vzc1Bvb2wubW0KQEAg
LTQ0NiwxNiArNDQ2LDYgQEAgc3RhdGljIE5TRGljdGlvbmFyeSAqcG9saWNpZXNIYXNoTWFwVG9E
aWN0aW9uYXJ5KGNvbnN0IEhhc2hNYXA8U3RyaW5nLCBIYXNoTWFwPFMKICAgICBfcHJvY2Vzc1Bv
b2wtPnNldENvb2tpZVN0b3JhZ2VQYXJ0aXRpb25pbmdFbmFibGVkKGVuYWJsZWQpOwogfQogCi0t
IChCT09MKV9pc1N0b3JhZ2VBY2Nlc3NBUElFbmFibGVkCi17Ci0gICAgcmV0dXJuIF9wcm9jZXNz
UG9vbC0+c3RvcmFnZUFjY2Vzc0FQSUVuYWJsZWQoKTsKLX0KLQotLSAodm9pZClfc2V0U3RvcmFn
ZUFjY2Vzc0FQSUVuYWJsZWQ6KEJPT0wpZW5hYmxlZAotewotICAgIF9wcm9jZXNzUG9vbC0+c2V0
U3RvcmFnZUFjY2Vzc0FQSUVuYWJsZWQoZW5hYmxlZCk7Ci19Ci0KIC0gKHZvaWQpX3NldEFsbG93
c0FueVNTTENlcnRpZmljYXRlRm9yU2VydmljZVdvcmtlcjooQk9PTCkgYWxsb3dzCiB7CiAjaWYg
RU5BQkxFKFNFUlZJQ0VfV09SS0VSKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL0NvY29hL1dLUHJvY2Vzc1Bvb2xQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvQ29jb2EvV0tQcm9jZXNzUG9vbFByaXZhdGUuaAppbmRleCAwZGMxMjg2OGNiN2U1
MzA0YmFlNWI2YWE4NTcwNjdkNGU3YjgwYjk1Li5jMDk2MmIwYjgzYjQ1NzhjZTg2OGQ2NWI5ODQz
N2MxMGRmZjA4YmQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29j
b2EvV0tQcm9jZXNzUG9vbFByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvQ29jb2EvV0tQcm9jZXNzUG9vbFByaXZhdGUuaApAQCAtOTMsNyArOTMsNiBAQAogLSAodm9p
ZClfc2V0QWxsb3dzQW55U1NMQ2VydGlmaWNhdGVGb3JTZXJ2aWNlV29ya2VyOihCT09MKWFsbG93
cyBXS19BUElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsK
IAogQHByb3BlcnR5IChub25hdG9taWMsIGdldHRlcj1faXNDb29raWVTdG9yYWdlUGFydGl0aW9u
aW5nRW5hYmxlZCwgc2V0dGVyPV9zZXRDb29raWVTdG9yYWdlUGFydGl0aW9uaW5nRW5hYmxlZDop
IEJPT0wgX2Nvb2tpZVN0b3JhZ2VQYXJ0aXRpb25pbmdFbmFibGVkIFdLX0FQSV9BVkFJTEFCTEUo
bWFjb3N4KDEwLjEyLjMpLCBpb3MoMTAuMykpOwotQHByb3BlcnR5IChub25hdG9taWMsIGdldHRl
cj1faXNTdG9yYWdlQWNjZXNzQVBJRW5hYmxlZCwgc2V0dGVyPV9zZXRTdG9yYWdlQWNjZXNzQVBJ
RW5hYmxlZDopIEJPT0wgX3N0b3JhZ2VBY2Nlc3NBUElFbmFibGVkIFdLX0FQSV9BVkFJTEFCTEUo
bWFjb3N4KFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOwogCiBAZW5kCiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYnNpdGVEYXRhU3RvcmUu
bW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJzaXRlRGF0YVN0b3Jl
Lm1tCmluZGV4IDMxZTk2NWE2OTc1MTMwZjg2ODc0MjQxYjAwYmQzYTE2OWYxYzRmMDUuLjgxNTQ4
NzJmODBhZmI3ZDE5NDIxZGE0ZjMyZTBkNTk1NTQyY2M1NmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYnNpdGVEYXRhU3RvcmUubW0KKysrIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vic2l0ZURhdGFTdG9yZS5tbQpAQCAt
MzQ2LDE1ICszNDYsNiBAQCBzdGF0aWMgVmVjdG9yPFdlYktpdDo6V2Vic2l0ZURhdGFSZWNvcmQ+
IHRvV2Vic2l0ZURhdGFSZWNvcmRzKE5TQXJyYXkgKmRhdGFSZWNvcgogICAgICAgICBzdG9yZS0+
Y2xlYXJVc2VySW50ZXJhY3Rpb24oVVJMKFVSTCgpLCBob3N0KSk7CiB9CiAKLS0gKHZvaWQpX3Jl
c291cmNlTG9hZFN0YXRpc3RpY3NTZXRIYXNIYWROb25SZWNlbnRVc2VySW50ZXJhY3Rpb25Gb3JI
b3N0OihOU1N0cmluZyAqKWhvc3QKLXsKLSAgICBhdXRvKiBzdG9yZSA9IF93ZWJzaXRlRGF0YVN0
b3JlLT53ZWJzaXRlRGF0YVN0b3JlKCkucmVzb3VyY2VMb2FkU3RhdGlzdGljcygpOwotICAgIGlm
ICghc3RvcmUpCi0gICAgICAgIHJldHVybjsKLSAgICAKLSAgICBzdG9yZS0+bG9nTm9uUmVjZW50
VXNlckludGVyYWN0aW9uKFVSTChVUkwoKSwgaG9zdCkpOwotfQotCiAtICh2b2lkKV9yZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzSGFkVXNlckludGVyYWN0aW9uOihOU1N0cmluZyAqKWhvc3QgY29tcGxl
dGlvbkhhbmRsZXI6KHZvaWQgKF4pKEJPT0wpKWNvbXBsZXRpb25IYW5kbGVyCiB7CiAgICAgYXV0
byogc3RvcmUgPSBfd2Vic2l0ZURhdGFTdG9yZS0+d2Vic2l0ZURhdGFTdG9yZSgpLnJlc291cmNl
TG9hZFN0YXRpc3RpY3MoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9Db2NvYS9XS1dlYnNpdGVEYXRhU3RvcmVQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvQ29jb2EvV0tXZWJzaXRlRGF0YVN0b3JlUHJpdmF0ZS5oCmluZGV4IDY2NGYyZDg2
ZjE3OTFiODI5ZjY1N2JjYWZlZGE3M2FlOGRhMDEzNmMuLmU1Y2JjZjM3MmZmZmRkMmViZDQzZDM3
NjBiYjdiOTE3YzE2MzQ5NTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9Db2NvYS9XS1dlYnNpdGVEYXRhU3RvcmVQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vic2l0ZURhdGFTdG9yZVByaXZhdGUuaApAQCAtNTgsNyAr
NTgsNiBAQCB0eXBlZGVmIE5TX09QVElPTlMoTlNVSW50ZWdlciwgX1dLV2Vic2l0ZURhdGFTdG9y
ZUZldGNoT3B0aW9ucykgewogLSAodm9pZClfcmVzb3VyY2VMb2FkU3RhdGlzdGljc0lzUmVnaXN0
ZXJlZEFzU3ViRnJhbWVVbmRlcjooTlNTdHJpbmcgKilzdWJGcmFtZUhvc3QgdG9wRnJhbWVIb3N0
OihOU1N0cmluZyAqKXRvcEZyYW1lSG9zdCBjb21wbGV0aW9uSGFuZGxlcjoodm9pZCAoXikoQk9P
TCkpY29tcGxldGlvbkhhbmRsZXIgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSks
IGlvcyhXS19JT1NfVEJBKSk7CiAtICh2b2lkKV9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzSXNSZWdp
c3RlcmVkQXNSZWRpcmVjdGluZ1RvOihOU1N0cmluZyAqKWhvc3RSZWRpcmVjdGVkRnJvbSBob3N0
UmVkaXJlY3RlZFRvOihOU1N0cmluZyAqKWhvc3RSZWRpcmVjdGVkVG8gY29tcGxldGlvbkhhbmRs
ZXI6KHZvaWQgKF4pKEJPT0wpKWNvbXBsZXRpb25IYW5kbGVyIFdLX0FQSV9BVkFJTEFCTEUobWFj
b3N4KFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOwogLSAodm9pZClfcmVzb3VyY2VMb2Fk
U3RhdGlzdGljc1NldEhhZFVzZXJJbnRlcmFjdGlvbjooQk9PTCl2YWx1ZSBmb3JIb3N0OihOU1N0
cmluZyAqKWhvc3QgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goMTAuMTMpLCBpb3MoMTEuMCkpOwot
LSAodm9pZClfcmVzb3VyY2VMb2FkU3RhdGlzdGljc1NldEhhc0hhZE5vblJlY2VudFVzZXJJbnRl
cmFjdGlvbkZvckhvc3Q6KE5TU3RyaW5nICopaG9zdCBXS19BUElfQVZBSUxBQkxFKG1hY29zeChX
S19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKIC0gKHZvaWQpX3Jlc291cmNlTG9hZFN0YXRp
c3RpY3NIYWRVc2VySW50ZXJhY3Rpb246KE5TU3RyaW5nICopaG9zdCBjb21wbGV0aW9uSGFuZGxl
cjoodm9pZCAoXikoQk9PTCkpY29tcGxldGlvbkhhbmRsZXIgV0tfQVBJX0FWQUlMQUJMRShtYWNv
c3goMTAuMTMpLCBpb3MoMTEuMCkpOwogLSAodm9pZClfcmVzb3VyY2VMb2FkU3RhdGlzdGljc1Nl
dElzR3JhbmRmYXRoZXJlZDooQk9PTCl2YWx1ZSBmb3JIb3N0OihOU1N0cmluZyAqKWhvc3QgV0tf
QVBJX0FWQUlMQUJMRShtYWNvc3goMTAuMTMpLCBpb3MoMTEuMCkpOwogLSAodm9pZClfcmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc0lzR3JhbmRmYXRoZXJlZDooTlNTdHJpbmcgKilob3N0IGNvbXBsZXRp
b25IYW5kbGVyOih2b2lkICheKShCT09MKSljb21wbGV0aW9uSGFuZGxlciBXS19BUElfQVZBSUxB
QkxFKG1hY29zeCgxMC4xMyksIGlvcygxMS4wKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbQppbmRleCAzYjRmNjhmODUwZmRm
NWE0MjFiZTdkMWIyMWIyOGY0MmI4NGEwMjU3Li40YTFlM2IyNDhiMDU2YmQ4NWI3YTZkZDI0YTBi
MjUwMGJlNWRiOWJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9X
ZWJQcm9jZXNzUG9vbENvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29h
L1dlYlByb2Nlc3NQb29sQ29jb2EubW0KQEAgLTI5NSw3ICsyOTUsNiBAQCB2b2lkIFdlYlByb2Nl
c3NQb29sOjpwbGF0Zm9ybUluaXRpYWxpemVOZXR3b3JrUHJvY2VzcyhOZXR3b3JrUHJvY2Vzc0Ny
ZWF0aW9uUGFyYQogI2VuZGlmCiAKICAgICBwYXJhbWV0ZXJzLmNvb2tpZVN0b3JhZ2VQYXJ0aXRp
b25pbmdFbmFibGVkID0gY29va2llU3RvcmFnZVBhcnRpdGlvbmluZ0VuYWJsZWQoKTsKLSAgICBw
YXJhbWV0ZXJzLnN0b3JhZ2VBY2Nlc3NBUElFbmFibGVkID0gc3RvcmFnZUFjY2Vzc0FQSUVuYWJs
ZWQoKTsKIAogI2lmIEVOQUJMRShORVRXT1JLX0NBUFRVUkUpCiAgICAgcGFyYW1ldGVycy5yZWNv
cmRSZXBsYXlNb2RlID0gW2RlZmF1bHRzIHN0cmluZ0ZvcktleTpXZWJLaXRSZWNvcmRSZXBsYXlN
b2RlRGVmYXVsdHNLZXldOwpAQCAtNTg4LDEyICs1ODcsNiBAQCB2b2lkIFdlYlByb2Nlc3NQb29s
OjpzZXRDb29raWVTdG9yYWdlUGFydGl0aW9uaW5nRW5hYmxlZChib29sIGVuYWJsZWQpCiAgICAg
c2VuZFRvTmV0d29ya2luZ1Byb2Nlc3MoTWVzc2FnZXM6Ok5ldHdvcmtQcm9jZXNzOjpTZXRDb29r
aWVTdG9yYWdlUGFydGl0aW9uaW5nRW5hYmxlZChlbmFibGVkKSk7CiB9CiAKLXZvaWQgV2ViUHJv
Y2Vzc1Bvb2w6OnNldFN0b3JhZ2VBY2Nlc3NBUElFbmFibGVkKGJvb2wgZW5hYmxlZCkKLXsKLSAg
ICBtX3N0b3JhZ2VBY2Nlc3NBUElFbmFibGVkID0gZW5hYmxlZDsKLSAgICBzZW5kVG9OZXR3b3Jr
aW5nUHJvY2VzcyhNZXNzYWdlczo6TmV0d29ya1Byb2Nlc3M6OlNldFN0b3JhZ2VBY2Nlc3NBUElF
bmFibGVkKGVuYWJsZWQpKTsKLX0KLQogaW50IG5ldHdvcmtQcm9jZXNzTGF0ZW5jeVFPUygpCiB7
CiAgICAgc3RhdGljIGNvbnN0IGludCBxb3MgPSBbW05TVXNlckRlZmF1bHRzIHN0YW5kYXJkVXNl
ckRlZmF1bHRzXSBpbnRlZ2VyRm9yS2V5OkAiV2ViS2l0TmV0d29ya1Byb2Nlc3NMYXRlbmN5UU9T
Il07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQ
cm9jZXNzUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTmV0d29yay9OZXR3b3Jr
UHJvY2Vzc1Byb3h5LmNwcAppbmRleCA1NDlmMTQ3NmMyOTU2ZTJiNzhjMDJmMWJiMzY4ZTkyY2Y5
YTg0NDYyLi5mZGY5MjUxNzdhMjg3MjI5YjVjMDU1NTU5YTkwNGVhNjU5NTdlNjU4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJveHku
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQ
cm94eS5jcHAKQEAgLTM4LDcgKzM4LDYgQEAKICNpbmNsdWRlICJXZWJQcm9jZXNzTWVzc2FnZXMu
aCIKICNpbmNsdWRlICJXZWJQcm9jZXNzUG9vbC5oIgogI2luY2x1ZGUgIldlYnNpdGVEYXRhLmgi
Ci0jaW5jbHVkZSA8d3RmL0NvbXBsZXRpb25IYW5kbGVyLmg+CiAKICNpZiBFTkFCTEUoU0VDX0lU
RU1fU0hJTSkKICNpbmNsdWRlICJTZWNJdGVtU2hpbVByb3h5LmgiCkBAIC0zOTUsMjggKzM5NCw2
IEBAIHZvaWQgTmV0d29ya1Byb2Nlc3NQcm94eTo6Y2FuQXV0aGVudGljYXRlQWdhaW5zdFByb3Rl
Y3Rpb25TcGFjZSh1aW50NjRfdCBsb2FkZXJJCiB9CiAjZW5kaWYKIAotI2lmIEhBVkUoQ0ZORVRX
T1JLX1NUT1JBR0VfUEFSVElUSU9OSU5HKQotc3RhdGljIHVpbnQ2NF90IG5leHRSZXF1ZXN0U3Rv
cmFnZUFjY2Vzc0NvbnRleHRJZCgpCi17Ci0gICAgc3RhdGljIHVpbnQ2NF90IG5leHRDb250ZXh0
SWQgPSAwOwotICAgIHJldHVybiArK25leHRDb250ZXh0SWQ7Ci19Ci0KLXZvaWQgTmV0d29ya1By
b2Nlc3NQcm94eTo6dXBkYXRlU3RvcmFnZUFjY2Vzc0ZvclByZXZhbGVudERvbWFpbnMoUEFMOjpT
ZXNzaW9uSUQgc2Vzc2lvbklELCBjb25zdCBTdHJpbmcmIHJlc291cmNlRG9tYWluLCBjb25zdCBT
dHJpbmcmIGZpcnN0UGFydHlEb21haW4sIGJvb2wgdmFsdWUsIFdURjo6Q29tcGxldGlvbkhhbmRs
ZXI8dm9pZChib29sKT4mJiBjYWxsYmFjaykKLXsKLSAgICBhdXRvIGNvbnRleHRJZCA9IG5leHRS
ZXF1ZXN0U3RvcmFnZUFjY2Vzc0NvbnRleHRJZCgpOwotICAgIGF1dG8gYWRkUmVzdWx0ID0gbV9z
dG9yYWdlQWNjZXNzUmVzcG9uc2VDYWxsYmFja01hcC5hZGQoY29udGV4dElkLCBXVEZNb3ZlKGNh
bGxiYWNrKSk7Ci0gICAgQVNTRVJUX1VOVVNFRChhZGRSZXN1bHQsIGFkZFJlc3VsdC5pc05ld0Vu
dHJ5KTsKLSAgICBzZW5kKE1lc3NhZ2VzOjpOZXR3b3JrUHJvY2Vzczo6VXBkYXRlU3RvcmFnZUFj
Y2Vzc0ZvclByZXZhbGVudERvbWFpbnMoc2Vzc2lvbklELCByZXNvdXJjZURvbWFpbiwgZmlyc3RQ
YXJ0eURvbWFpbiwgdmFsdWUsIGNvbnRleHRJZCksIDApOwotfQotCi12b2lkIE5ldHdvcmtQcm9j
ZXNzUHJveHk6OnN0b3JhZ2VBY2Nlc3NSZXF1ZXN0UmVzdWx0KGJvb2wgd2FzR3JhbnRlZCwgdWlu
dDY0X3QgY29udGV4dElkKQotewotICAgIGF1dG8gY2FsbGJhY2sgPSBtX3N0b3JhZ2VBY2Nlc3NS
ZXNwb25zZUNhbGxiYWNrTWFwLnRha2UoY29udGV4dElkKTsKLSAgICBjYWxsYmFjayh3YXNHcmFu
dGVkKTsKLX0KLSNlbmRpZgotCiB2b2lkIE5ldHdvcmtQcm9jZXNzUHJveHk6OnNlbmRQcm9jZXNz
V2lsbFN1c3BlbmRJbW1pbmVudGx5KCkKIHsKICAgICBpZiAoIWNhblNlbmRNZXNzYWdlKCkpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNz
UHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQ
cm94eS5oCmluZGV4IDcwNDM5ZmUzNzA0MzNmMTQ1NzYyNWNlMTA2MTEyNTZlNjc1MzE2NDAuLjQw
ZWQ2YjA4YzAxNTU4MTliN2Q1MWIwYmVjNjMyN2NkMTEwZTU3MTMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94eS5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94eS5oCkBAIC03
NSwxMCArNzUsNiBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRQcm9jZXNzU3VwcHJlc3Npb25FbmFi
bGVkKGJvb2wpOwogI2VuZGlmCiAKLSNpZiBIQVZFKENGTkVUV09SS19TVE9SQUdFX1BBUlRJVElP
TklORykKLSAgICB2b2lkIHVwZGF0ZVN0b3JhZ2VBY2Nlc3NGb3JQcmV2YWxlbnREb21haW5zKFBB
TDo6U2Vzc2lvbklELCBjb25zdCBTdHJpbmcmIHJlc291cmNlRG9tYWluLCBjb25zdCBTdHJpbmcm
IGZpcnN0UGFydHlEb21haW4sIGJvb2wgdmFsdWUsIFdURjo6Q29tcGxldGlvbkhhbmRsZXI8dm9p
ZChib29sKT4mJiBjYWxsYmFjayk7Ci0jZW5kaWYKLQogICAgIHZvaWQgcHJvY2Vzc1JlYWR5VG9T
dXNwZW5kKCk7CiAKICAgICB2b2lkIHNldElzSG9sZGluZ0xvY2tlZEZpbGVzKGJvb2wpOwpAQCAt
MTI1LDkgKzEyMSw2IEBAIHByaXZhdGU6CiAjaWYgVVNFKFBST1RFQ1RJT05fU1BBQ0VfQVVUSF9D
QUxMQkFDSykKICAgICB2b2lkIGNhbkF1dGhlbnRpY2F0ZUFnYWluc3RQcm90ZWN0aW9uU3BhY2Uo
dWludDY0X3QgbG9hZGVySUQsIHVpbnQ2NF90IHBhZ2VJRCwgdWludDY0X3QgZnJhbWVJRCwgY29u
c3QgV2ViQ29yZTo6UHJvdGVjdGlvblNwYWNlJik7CiAjZW5kaWYKLSNpZiBIQVZFKENGTkVUV09S
S19TVE9SQUdFX1BBUlRJVElPTklORykKLSAgICB2b2lkIHN0b3JhZ2VBY2Nlc3NSZXF1ZXN0UmVz
dWx0KGJvb2wgd2FzR3JhbnRlZCwgdWludDY0X3QgY29udGV4dElkKTsKLSNlbmRpZgogCiAgICAg
Ly8gUHJvY2Vzc0xhdW5jaGVyOjpDbGllbnQKICAgICB2b2lkIGRpZEZpbmlzaExhdW5jaGluZyhQ
cm9jZXNzTGF1bmNoZXIqLCBJUEM6OkNvbm5lY3Rpb246OklkZW50aWZpZXIpIG92ZXJyaWRlOwpA
QCAtMTQ1LDggKzEzOCw2IEBAIHByaXZhdGU6CiAgICAgTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5h
Z2VyUHJveHkgbV9jdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eTsKICAgICBQcm9jZXNzVGhyb3R0
bGVyIG1fdGhyb3R0bGVyOwogICAgIFByb2Nlc3NUaHJvdHRsZXI6OkJhY2tncm91bmRBY3Rpdml0
eVRva2VuIG1fdG9rZW5Gb3JIb2xkaW5nTG9ja2VkRmlsZXM7Ci0KLSAgICBIYXNoTWFwPHVpbnQ2
NF90LCBXVEY6OkNvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCB3YXNHcmFudGVkKT4+IG1fc3Rv
cmFnZUFjY2Vzc1Jlc3BvbnNlQ2FsbGJhY2tNYXA7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJL
aXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL05ldHdvcmsvTmV0d29ya1By
b2Nlc3NQcm94eS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL05ldHdvcmsv
TmV0d29ya1Byb2Nlc3NQcm94eS5tZXNzYWdlcy5pbgppbmRleCBmYTgxYjQxOTBiOGM3NGVkZTY1
OWNmMGY2NjFmNTQ5NTA1NmQ0OTY1Li4yMDhkODVmYWJlMDU3MmNmZDFiZjFjNDEyNmE1YzIyYTUx
ODA0NTU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9OZXR3b3JrL05ldHdv
cmtQcm9jZXNzUHJveHkubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
TmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5Lm1lc3NhZ2VzLmluCkBAIC00Miw2ICs0Miw0IEBA
IG1lc3NhZ2VzIC0+IE5ldHdvcmtQcm9jZXNzUHJveHkgTGVnYWN5UmVjZWl2ZXIgewogI2lmIFVT
RShQUk9URUNUSU9OX1NQQUNFX0FVVEhfQ0FMTEJBQ0spCiAgICAgQ2FuQXV0aGVudGljYXRlQWdh
aW5zdFByb3RlY3Rpb25TcGFjZSh1aW50NjRfdCBsb2FkZXJJRCwgdWludDY0X3QgcGFnZUlELCB1
aW50NjRfdCBmcmFtZUlELCBXZWJDb3JlOjpQcm90ZWN0aW9uU3BhY2UgcHJvdGVjdGlvblNwYWNl
KQogI2VuZGlmCi0jaWYgSEFWRShDRk5FVFdPUktfU1RPUkFHRV9QQVJUSVRJT05JTkcpCi0gICAg
U3RvcmFnZUFjY2Vzc1JlcXVlc3RSZXN1bHQoYm9vbCB3YXNHcmFudGVkLCB1aW50NjRfdCBjb250
ZXh0SWQpCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJDb29raWVN
YW5hZ2VyUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQ29va2llTWFuYWdl
clByb3h5LmNwcAppbmRleCA1NDcyNDkwOGZiZmExNWU3NTllMDE1MDRlMjllMTMzNjZmZGEzNTNl
Li5lNjVjNGZjOTM2ZmU2YzgyMjMxNjk5YmIyOTVmYzQ0N2JhMmYyZjg5IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJDb29raWVNYW5hZ2VyUHJveHkuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkNvb2tpZU1hbmFnZXJQcm94eS5jcHAKQEAgLTI4Niwx
MyArMjg2LDQgQEAgdm9pZCBXZWJDb29raWVNYW5hZ2VyUHJveHk6OnNldENvb2tpZVN0b3JhZ2VQ
YXJ0aXRpb25pbmdFbmFibGVkKGJvb2wgZW5hYmxlZCkKICNlbmRpZgogfQogCi12b2lkIFdlYkNv
b2tpZU1hbmFnZXJQcm94eTo6c2V0U3RvcmFnZUFjY2Vzc0FQSUVuYWJsZWQoYm9vbCBlbmFibGVk
KQotewotI2lmIFBMQVRGT1JNKENPQ09BKQotICAgIHByb2Nlc3NQb29sKCktPnNlbmRUb05ldHdv
cmtpbmdQcm9jZXNzKE1lc3NhZ2VzOjpOZXR3b3JrUHJvY2Vzczo6U2V0U3RvcmFnZUFjY2Vzc0FQ
SUVuYWJsZWQoZW5hYmxlZCkpOwotI2Vsc2UKLSAgICBVTlVTRURfUEFSQU0oZW5hYmxlZCk7Ci0j
ZW5kaWYKLX0KLQogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJDb29raWVNYW5hZ2VyUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1dlYkNvb2tpZU1hbmFnZXJQcm94eS5oCmluZGV4IGQwYTRhNGU3NzE5NmFlNjUwNjQw
MTdkZWI1NjNiMmI2ZmVmNDYzZmMuLmFhZWE4OTBjYTdmMDJiMjI2NjJkMDhhNDUzM2M0ZjcxNjAz
NDU0NmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkNvb2tpZU1hbmFn
ZXJQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkNvb2tpZU1hbmFnZXJQ
cm94eS5oCkBAIC04MCw3ICs4MCw2IEBAIHB1YmxpYzoKICAgICB2b2lkIGdldEhUVFBDb29raWVB
Y2NlcHRQb2xpY3koUEFMOjpTZXNzaW9uSUQsIEZ1bmN0aW9uPHZvaWQgKEhUVFBDb29raWVBY2Nl
cHRQb2xpY3ksIENhbGxiYWNrQmFzZTo6RXJyb3IpPiYmKTsKIAogICAgIHZvaWQgc2V0Q29va2ll
U3RvcmFnZVBhcnRpdGlvbmluZ0VuYWJsZWQoYm9vbCk7Ci0gICAgdm9pZCBzZXRTdG9yYWdlQWNj
ZXNzQVBJRW5hYmxlZChib29sKTsKIAogICAgIHZvaWQgc3RhcnRPYnNlcnZpbmdDb29raWVDaGFu
Z2VzKFBBTDo6U2Vzc2lvbklEKTsKICAgICB2b2lkIHN0b3BPYnNlcnZpbmdDb29raWVDaGFuZ2Vz
KFBBTDo6U2Vzc2lvbklEKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dl
YlByb2Nlc3NQb29sLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5o
CmluZGV4IDMzYzgyMWQwNDA4Y2NjYTM3NTk3N2YzZmY4YjgxNGZkOWVkMWE5ZGQuLmEwNTQwYzZl
Yzk1OThkOWYyMTVlMGI2MjkzZTUyZTk0YWVlNjg0MjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2ViUHJvY2Vzc1Bvb2wuaApAQCAtNDE1LDggKzQxNSw2IEBAIHB1YmxpYzoKICNpZiBQTEFU
Rk9STShDT0NPQSkKICAgICBib29sIGNvb2tpZVN0b3JhZ2VQYXJ0aXRpb25pbmdFbmFibGVkKCkg
Y29uc3QgeyByZXR1cm4gbV9jb29raWVTdG9yYWdlUGFydGl0aW9uaW5nRW5hYmxlZDsgfQogICAg
IHZvaWQgc2V0Q29va2llU3RvcmFnZVBhcnRpdGlvbmluZ0VuYWJsZWQoYm9vbCk7Ci0gICAgYm9v
bCBzdG9yYWdlQWNjZXNzQVBJRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fc3RvcmFnZUFjY2Vz
c0FQSUVuYWJsZWQ7IH0KLSAgICB2b2lkIHNldFN0b3JhZ2VBY2Nlc3NBUElFbmFibGVkKGJvb2wp
OwogI2VuZGlmCiAKICAgICBzdGF0aWMgdWludDY0X3QgcmVnaXN0ZXJQcm9jZXNzUG9vbENyZWF0
aW9uTGlzdGVuZXIoRnVuY3Rpb248dm9pZChXZWJQcm9jZXNzUG9vbCYpPiYmKTsKQEAgLTYxMyw3
ICs2MTEsNiBAQCBwcml2YXRlOgogCiAjaWYgUExBVEZPUk0oQ09DT0EpCiAgICAgYm9vbCBtX2Nv
b2tpZVN0b3JhZ2VQYXJ0aXRpb25pbmdFbmFibGVkIHsgZmFsc2UgfTsKLSAgICBib29sIG1fc3Rv
cmFnZUFjY2Vzc0FQSUVuYWJsZWQgeyBmYWxzZSB9OwogI2VuZGlmCiAKICAgICBzdHJ1Y3QgUGF0
aHMgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUmVzb3VyY2VMb2Fk
U3RhdGlzdGljc1N0b3JlLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlJlc291cmNl
TG9hZFN0YXRpc3RpY3NTdG9yZS5jcHAKaW5kZXggNDE3YTBhZjk2ZWUzNmMzMzRhYjQ0ODc2MGM1
M2JlZTA5NTYyMzRmMS4uN2RjZjI0YjM5YWJhOGM5YzlmZDdiMjczYjA5ZGIyMjU4Mjc1MTEyNyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUmVzb3VyY2VMb2FkU3RhdGlz
dGljc1N0b3JlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzU3RvcmUuY3BwCkBAIC0xNDUsMTEgKzE0NSwxMCBAQCBzdGF0aWMgVmVjdG9y
PE9wZXJhdGluZ0RhdGU+IG1lcmdlT3BlcmF0aW5nRGF0ZXMoY29uc3QgVmVjdG9yPE9wZXJhdGlu
Z0RhdGU+JiBleAogICAgIHJldHVybiBtZXJnZWREYXRlczsKIH0KIAotV2ViUmVzb3VyY2VMb2Fk
U3RhdGlzdGljc1N0b3JlOjpXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUoY29uc3QgU3Ry
aW5nJiByZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGlyZWN0b3J5LCBGdW5jdGlvbjx2b2lkKGNvbnN0
IFN0cmluZyYpPiYmIHRlc3RpbmdDYWxsYmFjaywgVXBkYXRlUHJldmFsZW50RG9tYWluc1RvUGFy
dGl0aW9uT3JCbG9ja0Nvb2tpZXNIYW5kbGVyJiYgdXBkYXRlUHJldmFsZW50RG9tYWluc1RvUGFy
dGl0aW9uT3JCbG9ja0Nvb2tpZXNIYW5kbGVyLCBVcGRhdGVTdG9yYWdlQWNjZXNzRm9yUHJldmFs
ZW50RG9tYWluc0hhbmRsZXImJiB1cGRhdGVTdG9yYWdlQWNjZXNzRm9yUHJldmFsZW50RG9tYWlu
c0hhbmRsZXIsIFJlbW92ZVByZXZhbGVudERvbWFpbnNIYW5kbGVyJiYgcmVtb3ZlRG9tYWluc0hh
bmRsZXIpCitXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU6OldlYlJlc291cmNlTG9hZFN0
YXRpc3RpY3NTdG9yZShjb25zdCBTdHJpbmcmIHJlc291cmNlTG9hZFN0YXRpc3RpY3NEaXJlY3Rv
cnksIEZ1bmN0aW9uPHZvaWQgKGNvbnN0IFN0cmluZyYpPiYmIHRlc3RpbmdDYWxsYmFjaywgVXBk
YXRlUHJldmFsZW50RG9tYWluc1RvUGFydGl0aW9uT3JCbG9ja0Nvb2tpZXNIYW5kbGVyJiYgdXBk
YXRlUHJldmFsZW50RG9tYWluc1RvUGFydGl0aW9uT3JCbG9ja0Nvb2tpZXNIYW5kbGVyLCBSZW1v
dmVQcmV2YWxlbnREb21haW5zSGFuZGxlciYmIHJlbW92ZURvbWFpbnNIYW5kbGVyKQogICAgIDog
bV9zdGF0aXN0aWNzUXVldWUoV29ya1F1ZXVlOjpjcmVhdGUoIldlYlJlc291cmNlTG9hZFN0YXRp
c3RpY3NTdG9yZSBQcm9jZXNzIERhdGEgUXVldWUiLCBXb3JrUXVldWU6OlR5cGU6OlNlcmlhbCwg
V29ya1F1ZXVlOjpRT1M6OlV0aWxpdHkpKQogICAgICwgbV9wZXJzaXN0ZW50U3RvcmFnZSgqdGhp
cywgcmVzb3VyY2VMb2FkU3RhdGlzdGljc0RpcmVjdG9yeSkKICAgICAsIG1fdXBkYXRlUHJldmFs
ZW50RG9tYWluc1RvUGFydGl0aW9uT3JCbG9ja0Nvb2tpZXNIYW5kbGVyKFdURk1vdmUodXBkYXRl
UHJldmFsZW50RG9tYWluc1RvUGFydGl0aW9uT3JCbG9ja0Nvb2tpZXNIYW5kbGVyKSkKLSAgICAs
IG1fdXBkYXRlU3RvcmFnZUFjY2Vzc0ZvclByZXZhbGVudERvbWFpbnNIYW5kbGVyKFdURk1vdmUo
dXBkYXRlU3RvcmFnZUFjY2Vzc0ZvclByZXZhbGVudERvbWFpbnNIYW5kbGVyKSkKICAgICAsIG1f
cmVtb3ZlRG9tYWluc0hhbmRsZXIoV1RGTW92ZShyZW1vdmVEb21haW5zSGFuZGxlcikpCiAgICAg
LCBtX2RhaWx5VGFza3NUaW1lcihSdW5Mb29wOjptYWluKCksIHRoaXMsICZXZWJSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzU3RvcmU6OnBlcmZvcm1EYWlseVRhc2tzKQogICAgICwgbV9zdGF0aXN0aWNz
VGVzdGluZ0NhbGxiYWNrKFdURk1vdmUodGVzdGluZ0NhbGxiYWNrKSkKQEAgLTI1MCwyNiArMjQ5
LDkgQEAgdm9pZCBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU6OnJlcXVlc3RTdG9yYWdl
QWNjZXNzKFN0cmluZyYmIHN1YkZyYW1lSG9zdCwKICAgICBBU1NFUlQoc3ViRnJhbWVIb3N0ICE9
IHRvcEZyYW1lSG9zdCk7CiAgICAgQVNTRVJUKFJ1bkxvb3A6OmlzTWFpbigpKTsKIAotICAgIG1f
c3RhdGlzdGljc1F1ZXVlLT5kaXNwYXRjaChbdGhpcywgcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWYo
KnRoaXMpLCBzdWJGcmFtZVByaW1hcnlEb21haW4gPSBpc29sYXRlZFByaW1hcnlEb21haW4oc3Vi
RnJhbWVIb3N0KSwgdG9wRnJhbWVQcmltYXJ5RG9tYWluID0gaXNvbGF0ZWRQcmltYXJ5RG9tYWlu
KHRvcEZyYW1lSG9zdCksIGNhbGxiYWNrID0gV1RGTW92ZShjYWxsYmFjayldICgpIG11dGFibGUg
ewotCi0gICAgICAgIGF1dG8mIHRvcEZyYW1lU3RhdGlzdGljID0gZW5zdXJlUmVzb3VyY2VTdGF0
aXN0aWNzRm9yUHJpbWFyeURvbWFpbih0b3BGcmFtZVByaW1hcnlEb21haW4pOwotICAgICAgICBp
ZiAodG9wRnJhbWVTdGF0aXN0aWMuc3RvcmFnZUFjY2Vzc1VuZGVyVG9wRnJhbWVPcmlnaW5zLmNv
bnRhaW5zKHN1YkZyYW1lUHJpbWFyeURvbWFpbikpIHsKLSAgICAgICAgICAgIGNhbGxiYWNrKHRy
dWUpOwotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB9Ci0gICAgICAgIAotICAgICAgICBh
dXRvJiBzdWJGcmFtZVN0YXRpc3RpYyA9IGVuc3VyZVJlc291cmNlU3RhdGlzdGljc0ZvclByaW1h
cnlEb21haW4oc3ViRnJhbWVQcmltYXJ5RG9tYWluKTsKLSAgICAgICAgaWYgKHNob3VsZEJsb2Nr
Q29va2llcyhzdWJGcmFtZVN0YXRpc3RpYykpIHsKLSAgICAgICAgICAgIGNhbGxiYWNrKGZhbHNl
KTsKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgfQotICAgICAgICAKLSAgICAgICAgaWYg
KCFzaG91bGRQYXJ0aXRpb25Db29raWVzKHN1YkZyYW1lU3RhdGlzdGljKSkgewotICAgICAgICAg
ICAgY2FsbGJhY2sodHJ1ZSk7Ci0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIH0KLSAgICAg
ICAgCi0gICAgICAgIG1fdXBkYXRlU3RvcmFnZUFjY2Vzc0ZvclByZXZhbGVudERvbWFpbnNIYW5k
bGVyKHN1YkZyYW1lUHJpbWFyeURvbWFpbiwgdG9wRnJhbWVQcmltYXJ5RG9tYWluLCB0cnVlLCBX
VEZNb3ZlKGNhbGxiYWNrKSk7CisgICAgbV9zdGF0aXN0aWNzUXVldWUtPmRpc3BhdGNoKFt0aGlz
LCBwcm90ZWN0ZWRUaGlzID0gbWFrZVJlZigqdGhpcyksIHN1YkZyYW1lUHJpbWFyeURvbWFpbiA9
IGlzb2xhdGVkUHJpbWFyeURvbWFpbihzdWJGcmFtZUhvc3QpLCBjYWxsYmFjayA9IFdURk1vdmUo
Y2FsbGJhY2spXSAoKSB7CisgICAgICAgIGF1dG8mIHN0YXRpc3RpYyA9IGVuc3VyZVJlc291cmNl
U3RhdGlzdGljc0ZvclByaW1hcnlEb21haW4oc3ViRnJhbWVQcmltYXJ5RG9tYWluKTsKKyAgICAg
ICAgY2FsbGJhY2soIXN0YXRpc3RpYy5pc1ByZXZhbGVudFJlc291cmNlIHx8IHN0YXRpc3RpYy5o
YWRVc2VySW50ZXJhY3Rpb24pOwogICAgIH0pOwogfQogICAgIApAQCAtMzQzLDIwICszMjUsNiBA
QCB2b2lkIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZTo6bG9nVXNlckludGVyYWN0aW9u
KGNvbnN0IFVSTCYgdXJsKQogICAgIH0pOwogfQogCi12b2lkIFdlYlJlc291cmNlTG9hZFN0YXRp
c3RpY3NTdG9yZTo6bG9nTm9uUmVjZW50VXNlckludGVyYWN0aW9uKGNvbnN0IFVSTCYgdXJsKQot
ewotICAgIGlmICh1cmwuaXNCbGFua1VSTCgpIHx8IHVybC5pc0VtcHR5KCkpCi0gICAgICAgIHJl
dHVybjsKLSAgICAKLSAgICBtX3N0YXRpc3RpY3NRdWV1ZS0+ZGlzcGF0Y2goW3RoaXMsIHByb3Rl
Y3RlZFRoaXMgPSBtYWtlUmVmKCp0aGlzKSwgcHJpbWFyeURvbWFpbiA9IGlzb2xhdGVkUHJpbWFy
eURvbWFpbih1cmwpXSB7Ci0gICAgICAgIGF1dG8mIHN0YXRpc3RpY3MgPSBlbnN1cmVSZXNvdXJj
ZVN0YXRpc3RpY3NGb3JQcmltYXJ5RG9tYWluKHByaW1hcnlEb21haW4pOwotICAgICAgICBzdGF0
aXN0aWNzLmhhZFVzZXJJbnRlcmFjdGlvbiA9IHRydWU7Ci0gICAgICAgIHN0YXRpc3RpY3MubW9z
dFJlY2VudFVzZXJJbnRlcmFjdGlvblRpbWUgPSBXYWxsVGltZTo6bm93KCkgLSAobV9wYXJhbWV0
ZXJzLnRpbWVUb0xpdmVDb29raWVQYXJ0aXRpb25GcmVlICsgU2Vjb25kczo6ZnJvbUhvdXJzKDEp
KTsKLQotICAgICAgICB1cGRhdGVDb29raWVQYXJ0aXRpb25pbmdGb3JEb21haW5zKHsgcHJpbWFy
eURvbWFpbiB9LCB7IH0sIHsgfSwgU2hvdWxkQ2xlYXJGaXJzdDo6Tm8pOwotICAgIH0pOwotfQot
CiB2b2lkIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZTo6Y2xlYXJVc2VySW50ZXJhY3Rp
b24oY29uc3QgVVJMJiB1cmwpCiB7CiAgICAgaWYgKHVybC5pc0JsYW5rVVJMKCkgfHwgdXJsLmlz
RW1wdHkoKSkKQEAgLTc1OCw3ICs3MjYsNyBAQCB2b2lkIFdlYlJlc291cmNlTG9hZFN0YXRpc3Rp
Y3NTdG9yZTo6dXBkYXRlQ29va2llUGFydGl0aW9uaW5nKCkKIHZvaWQgV2ViUmVzb3VyY2VMb2Fk
U3RhdGlzdGljc1N0b3JlOjp1cGRhdGVDb29raWVQYXJ0aXRpb25pbmdGb3JEb21haW5zKGNvbnN0
IFZlY3RvcjxTdHJpbmc+JiBkb21haW5zVG9QYXJ0aXRpb24sIGNvbnN0IFZlY3RvcjxTdHJpbmc+
JiBkb21haW5zVG9CbG9jaywgY29uc3QgVmVjdG9yPFN0cmluZz4mIGRvbWFpbnNUb05laXRoZXJQ
YXJ0aXRpb25Ob3JCbG9jaywgU2hvdWxkQ2xlYXJGaXJzdCBzaG91bGRDbGVhckZpcnN0KQogewog
ICAgIEFTU0VSVCghUnVuTG9vcDo6aXNNYWluKCkpOwotICAgIGlmIChkb21haW5zVG9QYXJ0aXRp
b24uaXNFbXB0eSgpICYmIGRvbWFpbnNUb0Jsb2NrLmlzRW1wdHkoKSAmJiBkb21haW5zVG9OZWl0
aGVyUGFydGl0aW9uTm9yQmxvY2suaXNFbXB0eSgpICYmIHNob3VsZENsZWFyRmlyc3QgPT0gU2hv
dWxkQ2xlYXJGaXJzdDo6Tm8pCisgICAgaWYgKGRvbWFpbnNUb1BhcnRpdGlvbi5pc0VtcHR5KCkg
JiYgZG9tYWluc1RvQmxvY2suaXNFbXB0eSgpICYmIGRvbWFpbnNUb05laXRoZXJQYXJ0aXRpb25O
b3JCbG9jay5pc0VtcHR5KCkpCiAgICAgICAgIHJldHVybjsKIAogICAgIFJ1bkxvb3A6Om1haW4o
KS5kaXNwYXRjaChbdGhpcywgc2hvdWxkQ2xlYXJGaXJzdCwgcHJvdGVjdGVkVGhpcyA9IG1ha2VS
ZWYoKnRoaXMpLCBkb21haW5zVG9QYXJ0aXRpb24gPSBjcm9zc1RocmVhZENvcHkoZG9tYWluc1Rv
UGFydGl0aW9uKSwgZG9tYWluc1RvQmxvY2sgPSBjcm9zc1RocmVhZENvcHkoZG9tYWluc1RvQmxv
Y2spLCBkb21haW5zVG9OZWl0aGVyUGFydGl0aW9uTm9yQmxvY2sgPSBjcm9zc1RocmVhZENvcHko
ZG9tYWluc1RvTmVpdGhlclBhcnRpdGlvbk5vckJsb2NrKV0gKCkgewpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLmggYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUuaApp
bmRleCAzZjBhNmRmZWE0ZjFkNGYxYjZkZDM2MDM5ODlhZWVkMWQ4ODJhMDEwLi42YjJhNzYyOWE1
YmNkMGE0OWYyYTk2ODBlNThkZTYxNmQzMGI4OTBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9XZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9XZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUuaApAQCAtNjAs
MTEgKzYwLDEwIEBAIGVudW0gY2xhc3MgU2hvdWxkQ2xlYXJGaXJzdDsKIGNsYXNzIFdlYlJlc291
cmNlTG9hZFN0YXRpc3RpY3NTdG9yZSBmaW5hbCA6IHB1YmxpYyBJUEM6OkNvbm5lY3Rpb246Oldv
cmtRdWV1ZU1lc3NhZ2VSZWNlaXZlciB7CiBwdWJsaWM6CiAgICAgdXNpbmcgVXBkYXRlUHJldmFs
ZW50RG9tYWluc1RvUGFydGl0aW9uT3JCbG9ja0Nvb2tpZXNIYW5kbGVyID0gV1RGOjpGdW5jdGlv
bjx2b2lkKGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBkb21haW5zVG9QYXJ0aXRpb24sIGNvbnN0IFZl
Y3RvcjxTdHJpbmc+JiBkb21haW5zVG9CbG9jaywgY29uc3QgVmVjdG9yPFN0cmluZz4mIGRvbWFp
bnNUb05laXRoZXJQYXJ0aXRpb25Ob3JCbG9jaywgU2hvdWxkQ2xlYXJGaXJzdCk+OwotICAgIHVz
aW5nIFVwZGF0ZVN0b3JhZ2VBY2Nlc3NGb3JQcmV2YWxlbnREb21haW5zSGFuZGxlciA9IFdURjo6
RnVuY3Rpb248dm9pZChjb25zdCBTdHJpbmcmIHJlc291cmNlRG9tYWluLCBjb25zdCBTdHJpbmcm
IGZpcnN0UGFydHlEb21haW4sIGJvb2wgdmFsdWUsIFdURjo6RnVuY3Rpb248dm9pZChib29sIHdh
c0dyYW50ZWQpPiYmIGNhbGxiYWNrKT47CiAgICAgdXNpbmcgUmVtb3ZlUHJldmFsZW50RG9tYWlu
c0hhbmRsZXIgPSBXVEY6OkZ1bmN0aW9uPHZvaWQgKGNvbnN0IFZlY3RvcjxTdHJpbmc+Jik+Owot
ICAgIHN0YXRpYyBSZWY8V2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlPiBjcmVhdGUoY29u
c3QgU3RyaW5nJiByZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGlyZWN0b3J5LCBGdW5jdGlvbjx2b2lk
IChjb25zdCBTdHJpbmcmKT4mJiB0ZXN0aW5nQ2FsbGJhY2ssIFVwZGF0ZVByZXZhbGVudERvbWFp
bnNUb1BhcnRpdGlvbk9yQmxvY2tDb29raWVzSGFuZGxlciYmIHVwZGF0ZVByZXZhbGVudERvbWFp
bnNUb1BhcnRpdGlvbk9yQmxvY2tDb29raWVzSGFuZGxlciA9IFtdKGNvbnN0IFZlY3RvcjxTdHJp
bmc+JiwgY29uc3QgVmVjdG9yPFN0cmluZz4mLCBjb25zdCBWZWN0b3I8U3RyaW5nPiYsIFNob3Vs
ZENsZWFyRmlyc3QpIHsgfSwgVXBkYXRlU3RvcmFnZUFjY2Vzc0ZvclByZXZhbGVudERvbWFpbnNI
YW5kbGVyJiYgdXBkYXRlU3RvcmFnZUFjY2Vzc0ZvclByZXZhbGVudERvbWFpbnNIYW5kbGVyID0g
W10oY29uc3QgU3RyaW5nJiwgY29uc3QgU3RyaW5nJiwgYm9vbCwgV1RGOjpGdW5jdGlvbjx2b2lk
KGJvb2wpPiYmKSB7IH0sIFJlbW92ZVByZXZhbGVudERvbWFpbnNIYW5kbGVyJiYgcmVtb3ZlRG9t
YWluc0hhbmRsZXIgPSBbXSAoY29uc3QgVmVjdG9yPFN0cmluZz4mKSB7IH0pCisgICAgc3RhdGlj
IFJlZjxXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU+IGNyZWF0ZShjb25zdCBTdHJpbmcm
IHJlc291cmNlTG9hZFN0YXRpc3RpY3NEaXJlY3RvcnksIEZ1bmN0aW9uPHZvaWQgKGNvbnN0IFN0
cmluZyYpPiYmIHRlc3RpbmdDYWxsYmFjaywgVXBkYXRlUHJldmFsZW50RG9tYWluc1RvUGFydGl0
aW9uT3JCbG9ja0Nvb2tpZXNIYW5kbGVyJiYgdXBkYXRlUHJldmFsZW50RG9tYWluc1RvUGFydGl0
aW9uT3JCbG9ja0Nvb2tpZXNIYW5kbGVyID0gW10oY29uc3QgVmVjdG9yPFN0cmluZz4mLCBjb25z
dCBWZWN0b3I8U3RyaW5nPiYsIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiwgU2hvdWxkQ2xlYXJGaXJz
dCkgeyB9LCBSZW1vdmVQcmV2YWxlbnREb21haW5zSGFuZGxlciYmIHJlbW92ZURvbWFpbnNIYW5k
bGVyID0gW10gKGNvbnN0IFZlY3RvcjxTdHJpbmc+JikgeyB9KQogICAgIHsKLSAgICAgICAgcmV0
dXJuIGFkb3B0UmVmKCpuZXcgV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlKHJlc291cmNl
TG9hZFN0YXRpc3RpY3NEaXJlY3RvcnksIFdURk1vdmUodGVzdGluZ0NhbGxiYWNrKSwgV1RGTW92
ZSh1cGRhdGVQcmV2YWxlbnREb21haW5zVG9QYXJ0aXRpb25PckJsb2NrQ29va2llc0hhbmRsZXIp
LCBXVEZNb3ZlKHVwZGF0ZVN0b3JhZ2VBY2Nlc3NGb3JQcmV2YWxlbnREb21haW5zSGFuZGxlciks
IFdURk1vdmUocmVtb3ZlRG9tYWluc0hhbmRsZXIpKSk7CisgICAgICAgIHJldHVybiBhZG9wdFJl
ZigqbmV3IFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZShyZXNvdXJjZUxvYWRTdGF0aXN0
aWNzRGlyZWN0b3J5LCBXVEZNb3ZlKHRlc3RpbmdDYWxsYmFjayksIFdURk1vdmUodXBkYXRlUHJl
dmFsZW50RG9tYWluc1RvUGFydGl0aW9uT3JCbG9ja0Nvb2tpZXNIYW5kbGVyKSwgV1RGTW92ZShy
ZW1vdmVEb21haW5zSGFuZGxlcikpKTsKICAgICB9CiAKICAgICB+V2ViUmVzb3VyY2VMb2FkU3Rh
dGlzdGljc1N0b3JlKCk7CkBAIC03OSwxNiArNzgsMTMgQEAgcHVibGljOgogICAgIHZvaWQgc2V0
U2hvdWxkU3VibWl0VGVsZW1ldHJ5KGJvb2wgdmFsdWUpIHsgbV9wYXJhbWV0ZXJzLnNob3VsZFN1
Ym1pdFRlbGVtZXRyeSA9IHZhbHVlOyB9CiAKICAgICB2b2lkIHJlc291cmNlTG9hZFN0YXRpc3Rp
Y3NVcGRhdGVkKFZlY3RvcjxXZWJDb3JlOjpSZXNvdXJjZUxvYWRTdGF0aXN0aWNzPiYmIG9yaWdp
bnMpOwotCiAgICAgdm9pZCByZXF1ZXN0U3RvcmFnZUFjY2VzcyhTdHJpbmcmJiBzdWJGcmFtZUhv
c3QsIFN0cmluZyYmIHRvcEZyYW1lSG9zdCwgV1RGOjpGdW5jdGlvbjx2b2lkIChib29sKT4mJiBj
YWxsYmFjayk7Ci0gICAgdm9pZCByZXF1ZXN0U3RvcmFnZUFjY2Vzc0NhbGxiYWNrKGJvb2wgd2Fz
R3JhbnRlZCwgdWludDY0X3QgY29udGV4dElkKTsKIAogICAgIHZvaWQgcHJvY2Vzc1dpbGxPcGVu
Q29ubmVjdGlvbihXZWJQcm9jZXNzUHJveHkmLCBJUEM6OkNvbm5lY3Rpb24mKTsKICAgICB2b2lk
IHByb2Nlc3NEaWRDbG9zZUNvbm5lY3Rpb24oV2ViUHJvY2Vzc1Byb3h5JiwgSVBDOjpDb25uZWN0
aW9uJik7CiAgICAgdm9pZCBhcHBsaWNhdGlvbldpbGxUZXJtaW5hdGUoKTsKIAogICAgIHZvaWQg
bG9nVXNlckludGVyYWN0aW9uKGNvbnN0IFdlYkNvcmU6OlVSTCYpOwotICAgIHZvaWQgbG9nTm9u
UmVjZW50VXNlckludGVyYWN0aW9uKGNvbnN0IFdlYkNvcmU6OlVSTCYpOwogICAgIHZvaWQgY2xl
YXJVc2VySW50ZXJhY3Rpb24oY29uc3QgV2ViQ29yZTo6VVJMJik7CiAgICAgdm9pZCBoYXNIYWRV
c2VySW50ZXJhY3Rpb24oY29uc3QgV2ViQ29yZTo6VVJMJiwgV1RGOjpGdW5jdGlvbjx2b2lkIChi
b29sKT4mJik7CiAgICAgdm9pZCBzZXRMYXN0U2Vlbihjb25zdCBXZWJDb3JlOjpVUkwmLCBTZWNv
bmRzKTsKQEAgLTEzOSw3ICsxMzUsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBsb2dUZXN0aW5nRXZl
bnQoY29uc3QgU3RyaW5nJik7CiAKIHByaXZhdGU6Ci0gICAgV2ViUmVzb3VyY2VMb2FkU3RhdGlz
dGljc1N0b3JlKGNvbnN0IFN0cmluZyYsIEZ1bmN0aW9uPHZvaWQoY29uc3QgU3RyaW5nJik+JiYg
dGVzdGluZ0NhbGxiYWNrLCBVcGRhdGVQcmV2YWxlbnREb21haW5zVG9QYXJ0aXRpb25PckJsb2Nr
Q29va2llc0hhbmRsZXImJiwgVXBkYXRlU3RvcmFnZUFjY2Vzc0ZvclByZXZhbGVudERvbWFpbnNI
YW5kbGVyJiYsIFJlbW92ZVByZXZhbGVudERvbWFpbnNIYW5kbGVyJiYpOworICAgIFdlYlJlc291
cmNlTG9hZFN0YXRpc3RpY3NTdG9yZShjb25zdCBTdHJpbmcmLCBGdW5jdGlvbjx2b2lkIChjb25z
dCBTdHJpbmcmKT4mJiB0ZXN0aW5nQ2FsbGJhY2ssIFVwZGF0ZVByZXZhbGVudERvbWFpbnNUb1Bh
cnRpdGlvbk9yQmxvY2tDb29raWVzSGFuZGxlciYmLCBSZW1vdmVQcmV2YWxlbnREb21haW5zSGFu
ZGxlciYmKTsKIAogICAgIHZvaWQgcmVtb3ZlRGF0YVJlY29yZHMoKTsKIApAQCAtMTkyLDcgKzE4
OCw2IEBAIHByaXZhdGU6CiAgICAgVmVjdG9yPE9wZXJhdGluZ0RhdGU+IG1fb3BlcmF0aW5nRGF0
ZXM7CiAKICAgICBVcGRhdGVQcmV2YWxlbnREb21haW5zVG9QYXJ0aXRpb25PckJsb2NrQ29va2ll
c0hhbmRsZXIgbV91cGRhdGVQcmV2YWxlbnREb21haW5zVG9QYXJ0aXRpb25PckJsb2NrQ29va2ll
c0hhbmRsZXI7Ci0gICAgVXBkYXRlU3RvcmFnZUFjY2Vzc0ZvclByZXZhbGVudERvbWFpbnNIYW5k
bGVyIG1fdXBkYXRlU3RvcmFnZUFjY2Vzc0ZvclByZXZhbGVudERvbWFpbnNIYW5kbGVyOwogICAg
IFJlbW92ZVByZXZhbGVudERvbWFpbnNIYW5kbGVyIG1fcmVtb3ZlRG9tYWluc0hhbmRsZXI7CiAK
ICAgICBXYWxsVGltZSBtX2VuZE9mR3JhbmRmYXRoZXJpbmdUaW1lc3RhbXA7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlLmNw
cCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmUu
Y3BwCmluZGV4IDU4M2RlYzkwNTcxZDgyNjg0ZDQ0OTk2NDBkMzBjYzg3OWRjYWI3MGEuLmU1OTE2
MWU0NjdhN2E0NTlkYjZkODU3Yjg1MGY5YmMzZDAwNGI4ODAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmUuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmUuY3BwCkBA
IC00NSw3ICs0NSw2IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9PcmlnaW5Mb2NrLmg+CiAjaW5jbHVk
ZSA8V2ViQ29yZS9TZWN1cml0eU9yaWdpbi5oPgogI2luY2x1ZGUgPFdlYkNvcmUvU2VjdXJpdHlP
cmlnaW5EYXRhLmg+Ci0jaW5jbHVkZSA8d3RmL0NvbXBsZXRpb25IYW5kbGVyLmg+CiAjaW5jbHVk
ZSA8d3RmL0Nyb3NzVGhyZWFkQ29waWVyLmg+CiAjaW5jbHVkZSA8d3RmL1J1bkxvb3AuaD4KIApA
QCAtMTE0MiwxMiArMTE0MSw2IEBAIHZvaWQgV2Vic2l0ZURhdGFTdG9yZTo6dXBkYXRlUHJldmFs
ZW50RG9tYWluc1RvUGFydGl0aW9uT3JCbG9ja0Nvb2tpZXMoY29uc3QgVmVjCiAgICAgICAgIHBy
b2Nlc3NQb29sLT5zZW5kVG9OZXR3b3JraW5nUHJvY2VzcyhNZXNzYWdlczo6TmV0d29ya1Byb2Nl
c3M6OlVwZGF0ZVByZXZhbGVudERvbWFpbnNUb1BhcnRpdGlvbk9yQmxvY2tDb29raWVzKG1fc2Vz
c2lvbklELCBkb21haW5zVG9QYXJ0aXRpb24sIGRvbWFpbnNUb0Jsb2NrLCBkb21haW5zVG9OZWl0
aGVyUGFydGl0aW9uTm9yQmxvY2ssIHNob3VsZENsZWFyRmlyc3QgPT0gU2hvdWxkQ2xlYXJGaXJz
dDo6WWVzKSk7CiB9CiAKLXZvaWQgV2Vic2l0ZURhdGFTdG9yZTo6dXBkYXRlU3RvcmFnZUFjY2Vz
c0ZvclByZXZhbGVudERvbWFpbnNIYW5kbGVyKGNvbnN0IFN0cmluZyYgcmVzb3VyY2VEb21haW4s
IGNvbnN0IFN0cmluZyYgZmlyc3RQYXJ0eURvbWFpbiwgYm9vbCB2YWx1ZSwgV1RGOjpDb21wbGV0
aW9uSGFuZGxlcjx2b2lkKGJvb2wgd2FzR3JhbnRlZCk+JiYgY2FsbGJhY2spCi17Ci0gICAgZm9y
IChhdXRvJiBwcm9jZXNzUG9vbCA6IHByb2Nlc3NQb29scygpKQotICAgICAgICBwcm9jZXNzUG9v
bC0+bmV0d29ya1Byb2Nlc3MoKS0+dXBkYXRlU3RvcmFnZUFjY2Vzc0ZvclByZXZhbGVudERvbWFp
bnMobV9zZXNzaW9uSUQsIHJlc291cmNlRG9tYWluLCBmaXJzdFBhcnR5RG9tYWluLCB2YWx1ZSwg
V1RGTW92ZShjYWxsYmFjaykpOwotfQotCiB2b2lkIFdlYnNpdGVEYXRhU3RvcmU6OnJlbW92ZVBy
ZXZhbGVudERvbWFpbnMoY29uc3QgVmVjdG9yPFN0cmluZz4mIGRvbWFpbnMpCiB7CiAgICAgZm9y
IChhdXRvJiBwcm9jZXNzUG9vbCA6IHByb2Nlc3NQb29scygpKQpAQCAtMTM0MSw5ICsxMzM0LDcg
QEAgdm9pZCBXZWJzaXRlRGF0YVN0b3JlOjplbmFibGVSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQW5k
U2V0VGVzdGluZ0NhbGxiYWNrKEZ1bmN0aW8KICNpZiBIQVZFKENGTkVUV09SS19TVE9SQUdFX1BB
UlRJVElPTklORykKICAgICBtX3Jlc291cmNlTG9hZFN0YXRpc3RpY3MgPSBXZWJSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzU3RvcmU6OmNyZWF0ZShtX2NvbmZpZ3VyYXRpb24ucmVzb3VyY2VMb2FkU3Rh
dGlzdGljc0RpcmVjdG9yeSwgV1RGTW92ZShjYWxsYmFjayksIFt0aGlzXSAoY29uc3QgVmVjdG9y
PFN0cmluZz4mIGRvbWFpbnNUb1BhcnRpdGlvbiwgY29uc3QgVmVjdG9yPFN0cmluZz4mIGRvbWFp
bnNUb0Jsb2NrLCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgZG9tYWluc1RvTmVpdGhlclBhcnRpdGlv
bk5vckJsb2NrLCBTaG91bGRDbGVhckZpcnN0IHNob3VsZENsZWFyRmlyc3QpIHsKICAgICAgICAg
dXBkYXRlUHJldmFsZW50RG9tYWluc1RvUGFydGl0aW9uT3JCbG9ja0Nvb2tpZXMoZG9tYWluc1Rv
UGFydGl0aW9uLCBkb21haW5zVG9CbG9jaywgZG9tYWluc1RvTmVpdGhlclBhcnRpdGlvbk5vckJs
b2NrLCBzaG91bGRDbGVhckZpcnN0KTsKLSAgICB9LCBbdGhpcywgcHJvdGVjdGVkVGhpcyA9IG1h
a2VSZWYoKnRoaXMpXSAoY29uc3QgU3RyaW5nJiByZXNvdXJjZURvbWFpbiwgY29uc3QgU3RyaW5n
JiBmaXJzdFBhcnR5RG9tYWluLCBib29sIHZhbHVlLCBXVEY6OkZ1bmN0aW9uPHZvaWQoYm9vbCB3
YXNHcmFudGVkKT4mJiBjYWxsYmFjaykgewotICAgICAgICB1cGRhdGVTdG9yYWdlQWNjZXNzRm9y
UHJldmFsZW50RG9tYWluc0hhbmRsZXIocmVzb3VyY2VEb21haW4sIGZpcnN0UGFydHlEb21haW4s
IHZhbHVlLCBXVEZNb3ZlKGNhbGxiYWNrKSk7Ci0gICAgfSwgW3RoaXMsIHByb3RlY3RlZFRoaXMg
PSBtYWtlUmVmKCp0aGlzKV0gKGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBkb21haW5zVG9SZW1vdmUp
IHsKKyAgICB9LCBbdGhpc10gKGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBkb21haW5zVG9SZW1vdmUp
IHsKICAgICAgICAgcmVtb3ZlUHJldmFsZW50RG9tYWlucyhkb21haW5zVG9SZW1vdmUpOwogICAg
IH0pOwogI2Vsc2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVE
YXRhL1dlYnNpdGVEYXRhU3RvcmUuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVE
YXRhL1dlYnNpdGVEYXRhU3RvcmUuaAppbmRleCA0NjNmN2M2NThhMTE4ODFjOWNmNjgyOGQ5MDIx
ZjZmZDNkZGQ4YjE3Li5mZTZlODMzOWUzNmRiODcwYzRjMDg0OWI2NGI2YTUwZTRjMWNmZjY0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0
YVN0b3JlLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0
ZURhdGFTdG9yZS5oCkBAIC0xMTUsNyArMTE1LDYgQEAgcHVibGljOgogCiAjaWYgSEFWRShDRk5F
VFdPUktfU1RPUkFHRV9QQVJUSVRJT05JTkcpCiAgICAgdm9pZCB1cGRhdGVQcmV2YWxlbnREb21h
aW5zVG9QYXJ0aXRpb25PckJsb2NrQ29va2llcyhjb25zdCBWZWN0b3I8U3RyaW5nPiYgZG9tYWlu
c1RvUGFydGl0aW9uLCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgZG9tYWluc1RvQmxvY2ssIGNvbnN0
IFZlY3RvcjxTdHJpbmc+JiBkb21haW5zVG9OZWl0aGVyUGFydGl0aW9uTm9yQmxvY2ssIFNob3Vs
ZENsZWFyRmlyc3QpOwotICAgIHZvaWQgdXBkYXRlU3RvcmFnZUFjY2Vzc0ZvclByZXZhbGVudERv
bWFpbnNIYW5kbGVyKGNvbnN0IFN0cmluZyYgcmVzb3VyY2VEb21haW4sIGNvbnN0IFN0cmluZyYg
Zmlyc3RQYXJ0eURvbWFpbiwgYm9vbCB2YWx1ZSwgV1RGOjpDb21wbGV0aW9uSGFuZGxlcjx2b2lk
KGJvb2wgd2FzR3JhbnRlZCk+JiYgY2FsbGJhY2spOwogICAgIHZvaWQgcmVtb3ZlUHJldmFsZW50
RG9tYWlucyhjb25zdCBWZWN0b3I8U3RyaW5nPiYgZG9tYWlucyk7CiAjZW5kaWYKICAgICB2b2lk
IG5ldHdvcmtQcm9jZXNzRGlkQ3Jhc2goKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBi
L1Rvb2xzL0NoYW5nZUxvZwppbmRleCBjM2Y3MDdhM2UzOGUzYWUxZTM5NGExMTExNmI1ZGRjZDQ1
MGU3YTgwLi42ZTgxNTAzYjViOGIyNDUyZjExMTdjZTE4N2JkMGE2NzE4MDlhZTIyIDEwMDY0NAot
LS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcg
QEAKKzIwMTctMTEtMTcgIENvbW1pdCBRdWV1ZSAgPGNvbW1pdC1xdWV1ZUB3ZWJraXQub3JnPgor
CisgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIyMjUwMDYuCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzk4NTcKKworICAgICAgICBicm9r
ZSB0aGUgYnVpbGQgKFJlcXVlc3RlZCBieSBzbWZyIG9uICN3ZWJraXQpLgorCisgICAgICAgIFJl
dmVydGVkIGNoYW5nZXNldDoKKworICAgICAgICAiU3RvcmFnZSBBY2Nlc3MgQVBJOiBVSSBwcm9j
ZXNzIHNob3VsZCB1cGRhdGUgbmV0d29yayBwcm9jZXNzCisgICAgICAgIGFib3V0IGdyYW50ZWQg
YWNjZXNzIgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTc2OTQzCisgICAgICAgIGh0dHBzOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC8yMjUwMDYK
KwogMjAxNy0xMS0xNyAgSm9obiBXaWxhbmRlciAgPHdpbGFuZGVyQGFwcGxlLmNvbT4KIAogICAg
ICAgICBTdG9yYWdlIEFjY2VzcyBBUEk6IFVJIHByb2Nlc3Mgc2hvdWxkIHVwZGF0ZSBuZXR3b3Jr
IHByb2Nlc3MgYWJvdXQgZ3JhbnRlZCBhY2Nlc3MKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRl
c3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvVGVzdFJ1bm5lci5pZGwgYi9Ub29scy9X
ZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL1Rlc3RSdW5uZXIuaWRsCmlu
ZGV4IDMzMmZlMjYxYzZlODMyNDhhOGI4ZmU5MGRmNDcxNGUyMzg0OTUxNTcuLjJkZGMwYmUyOThl
NmRjYjA2NjM1MGE0ZDdmODJjZjM1YmEyZWM0ODcgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRl
c3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvVGVzdFJ1bm5lci5pZGwKKysrIGIvVG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9UZXN0UnVubmVyLmlk
bApAQCAtMTc2LDcgKzE3Niw2IEBAIGludGVyZmFjZSBUZXN0UnVubmVyIHsKICAgICAvLyBDb29r
aWVzIHRlc3RpbmcKICAgICB2b2lkIHNldEFsd2F5c0FjY2VwdENvb2tpZXMoYm9vbGVhbiBhY2Nl
cHQpOwogICAgIHZvaWQgc2V0Q29va2llU3RvcmFnZVBhcnRpdGlvbmluZ0VuYWJsZWQoYm9vbGVh
biBlbmFibGVkKTsKLSAgICB2b2lkIHNldFN0b3JhZ2VBY2Nlc3NBUElFbmFibGVkKGJvb2xlYW4g
ZW5hYmxlZCk7CiAKICAgICB2b2lkIG92ZXJyaWRlUHJlZmVyZW5jZShET01TdHJpbmcgcHJlZmVy
ZW5jZSwgRE9NU3RyaW5nIHZhbHVlKTsKIApAQCAtMjcyLDcgKzI3MSw2IEBAIGludGVyZmFjZSBU
ZXN0UnVubmVyIHsKICAgICBib29sZWFuIGlzU3RhdGlzdGljc1JlZ2lzdGVyZWRBc1N1YkZyYW1l
VW5kZXIoRE9NU3RyaW5nIHN1YkZyYW1lSG9zdCwgRE9NU3RyaW5nIHRvcEZyYW1lSG9zdCk7CiAg
ICAgYm9vbGVhbiBpc1N0YXRpc3RpY3NSZWdpc3RlcmVkQXNSZWRpcmVjdGluZ1RvKERPTVN0cmlu
ZyBob3N0UmVkaXJlY3RlZEZyb20sIERPTVN0cmluZyBob3N0UmVkaXJlY3RlZFRvKTsKICAgICB2
b2lkIHNldFN0YXRpc3RpY3NIYXNIYWRVc2VySW50ZXJhY3Rpb24oRE9NU3RyaW5nIGhvc3ROYW1l
LCBib29sZWFuIHZhbHVlKTsKLSAgICB2b2lkIHNldFN0YXRpc3RpY3NIYXNIYWROb25SZWNlbnRV
c2VySW50ZXJhY3Rpb24oRE9NU3RyaW5nIGhvc3ROYW1lKTsKICAgICBib29sZWFuIGlzU3RhdGlz
dGljc0hhc0hhZFVzZXJJbnRlcmFjdGlvbihET01TdHJpbmcgaG9zdE5hbWUpOwogICAgIHZvaWQg
c2V0U3RhdGlzdGljc0dyYW5kZmF0aGVyZWQoRE9NU3RyaW5nIGhvc3ROYW1lLCBib29sZWFuIHZh
bHVlKTsKICAgICBib29sZWFuIGlzU3RhdGlzdGljc0dyYW5kZmF0aGVyZWQoRE9NU3RyaW5nIGhv
c3ROYW1lKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5k
bGUvVGVzdFJ1bm5lci5jcHAgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxl
L1Rlc3RSdW5uZXIuY3BwCmluZGV4IGNiNTY3MGJlOTFkZDczMWFkMjA0MzFlZWZiYTM1NTZkZTgy
ZmZmZmQuLjAyOGY4MmU5ZTQ1ZDM0OTRjZDJkNjJmYWY4NDNjNjdlMzBmNzE2M2UgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5jcHAK
KysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmNw
cApAQCAtNzgzLDE1ICs3ODMsNiBAQCB2b2lkIFRlc3RSdW5uZXI6OnNldENvb2tpZVN0b3JhZ2VQ
YXJ0aXRpb25pbmdFbmFibGVkKGJvb2wgZW5hYmxlZCkKICAgICBXS0J1bmRsZVBvc3RTeW5jaHJv
bm91c01lc3NhZ2UoSW5qZWN0ZWRCdW5kbGU6OnNpbmdsZXRvbigpLmJ1bmRsZSgpLCBtZXNzYWdl
TmFtZS5nZXQoKSwgbWVzc2FnZUJvZHkuZ2V0KCksIG51bGxwdHIpOwogfQogCi12b2lkIFRlc3RS
dW5uZXI6OnNldFN0b3JhZ2VBY2Nlc3NBUElFbmFibGVkKGJvb2wgZW5hYmxlZCkKLXsKLSAgICBX
S1JldGFpblB0cjxXS1N0cmluZ1JlZj4gbWVzc2FnZU5hbWUoQWRvcHRXSywgV0tTdHJpbmdDcmVh
dGVXaXRoVVRGOENTdHJpbmcoIlNldFN0b3JhZ2VBY2Nlc3NBUElFbmFibGVkIikpOwotICAgIAot
ICAgIFdLUmV0YWluUHRyPFdLQm9vbGVhblJlZj4gbWVzc2FnZUJvZHkoQWRvcHRXSywgV0tCb29s
ZWFuQ3JlYXRlKGVuYWJsZWQpKTsKLSAgICAKLSAgICBXS0J1bmRsZVBvc3RTeW5jaHJvbm91c01l
c3NhZ2UoSW5qZWN0ZWRCdW5kbGU6OnNpbmdsZXRvbigpLmJ1bmRsZSgpLCBtZXNzYWdlTmFtZS5n
ZXQoKSwgbWVzc2FnZUJvZHkuZ2V0KCksIG51bGxwdHIpOwotfQotICAgIAogZG91YmxlIFRlc3RS
dW5uZXI6OnByZWNpc2VUaW1lKCkKIHsKICAgICByZXR1cm4gY3VycmVudFRpbWUoKTsKQEAgLTEz
NTMsMTMgKzEzNDQsNiBAQCB2b2lkIFRlc3RSdW5uZXI6OnNldFN0YXRpc3RpY3NIYXNIYWRVc2Vy
SW50ZXJhY3Rpb24oSlNTdHJpbmdSZWYgaG9zdE5hbWUsIGJvb2wgdgogICAgIFdLQnVuZGxlUG9z
dFN5bmNocm9ub3VzTWVzc2FnZShJbmplY3RlZEJ1bmRsZTo6c2luZ2xldG9uKCkuYnVuZGxlKCks
IG1lc3NhZ2VOYW1lLmdldCgpLCBtZXNzYWdlQm9keS5nZXQoKSwgbnVsbHB0cik7CiB9CiAKLXZv
aWQgVGVzdFJ1bm5lcjo6c2V0U3RhdGlzdGljc0hhc0hhZE5vblJlY2VudFVzZXJJbnRlcmFjdGlv
bihKU1N0cmluZ1JlZiBob3N0TmFtZSkKLXsKLSAgICBXS1JldGFpblB0cjxXS1N0cmluZ1JlZj4g
bWVzc2FnZU5hbWUoQWRvcHRXSywgV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIlNldFN0
YXRpc3RpY3NIYXNIYWROb25SZWNlbnRVc2VySW50ZXJhY3Rpb24iKSk7Ci0gICAgV0tSZXRhaW5Q
dHI8V0tTdHJpbmdSZWY+IG1lc3NhZ2VCb2R5KEFkb3B0V0ssIFdLU3RyaW5nQ3JlYXRlV2l0aEpT
U3RyaW5nKGhvc3ROYW1lKSk7Ci0gICAgV0tCdW5kbGVQb3N0U3luY2hyb25vdXNNZXNzYWdlKElu
amVjdGVkQnVuZGxlOjpzaW5nbGV0b24oKS5idW5kbGUoKSwgbWVzc2FnZU5hbWUuZ2V0KCksIG1l
c3NhZ2VCb2R5LmdldCgpLCBudWxscHRyKTsKLX0KLQogYm9vbCBUZXN0UnVubmVyOjppc1N0YXRp
c3RpY3NIYXNIYWRVc2VySW50ZXJhY3Rpb24oSlNTdHJpbmdSZWYgaG9zdE5hbWUpCiB7CiAgICAg
V0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+IG1lc3NhZ2VOYW1lKEFkb3B0V0ssIFdLU3RyaW5nQ3Jl
YXRlV2l0aFVURjhDU3RyaW5nKCJJc1N0YXRpc3RpY3NIYXNIYWRVc2VySW50ZXJhY3Rpb24iKSk7
CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RS
dW5uZXIuaCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5l
ci5oCmluZGV4IGQzNjkxMGQwMzFlNDRiOWExNmQzZDg0ZmYyYmNiMzUwMjc3MDIxYTguLjU2YTEw
OTcyMWQyMmNiMDVmMjdjNGEwOTdkODA3ZTAwNzNjZDU4ZWUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dl
YktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5oCisrKyBiL1Rvb2xzL1dl
YktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5oCkBAIC0yODAsNyArMjgw
LDYgQEAgcHVibGljOgogICAgIC8vIENvb2tpZXMgdGVzdGluZwogICAgIHZvaWQgc2V0QWx3YXlz
QWNjZXB0Q29va2llcyhib29sKTsKICAgICB2b2lkIHNldENvb2tpZVN0b3JhZ2VQYXJ0aXRpb25p
bmdFbmFibGVkKGJvb2wpOwotICAgIHZvaWQgc2V0U3RvcmFnZUFjY2Vzc0FQSUVuYWJsZWQoYm9v
bCk7CiAKICAgICAvLyBDdXN0b20gZnVsbCBzY3JlZW4gYmVoYXZpb3IuCiAgICAgdm9pZCBzZXRI
YXNDdXN0b21GdWxsU2NyZWVuQmVoYXZpb3IoYm9vbCB2YWx1ZSkgeyBtX2N1c3RvbUZ1bGxTY3Jl
ZW5CZWhhdmlvciA9IHZhbHVlOyB9CkBAIC0zNzYsNyArMzc1LDYgQEAgcHVibGljOgogICAgIGJv
b2wgaXNTdGF0aXN0aWNzUmVnaXN0ZXJlZEFzU3ViRnJhbWVVbmRlcihKU1N0cmluZ1JlZiBzdWJG
cmFtZUhvc3QsIEpTU3RyaW5nUmVmIHRvcEZyYW1lSG9zdCk7CiAgICAgYm9vbCBpc1N0YXRpc3Rp
Y3NSZWdpc3RlcmVkQXNSZWRpcmVjdGluZ1RvKEpTU3RyaW5nUmVmIGhvc3RSZWRpcmVjdGVkRnJv
bSwgSlNTdHJpbmdSZWYgaG9zdFJlZGlyZWN0ZWRUbyk7CiAgICAgdm9pZCBzZXRTdGF0aXN0aWNz
SGFzSGFkVXNlckludGVyYWN0aW9uKEpTU3RyaW5nUmVmIGhvc3ROYW1lLCBib29sIHZhbHVlKTsK
LSAgICB2b2lkIHNldFN0YXRpc3RpY3NIYXNIYWROb25SZWNlbnRVc2VySW50ZXJhY3Rpb24oSlNT
dHJpbmdSZWYgaG9zdE5hbWUpOwogICAgIGJvb2wgaXNTdGF0aXN0aWNzSGFzSGFkVXNlckludGVy
YWN0aW9uKEpTU3RyaW5nUmVmIGhvc3ROYW1lKTsKICAgICB2b2lkIHNldFN0YXRpc3RpY3NHcmFu
ZGZhdGhlcmVkKEpTU3RyaW5nUmVmIGhvc3ROYW1lLCBib29sIHZhbHVlKTsKICAgICBib29sIGlz
U3RhdGlzdGljc0dyYW5kZmF0aGVyZWQoSlNTdHJpbmdSZWYgaG9zdE5hbWUpOwpkaWZmIC0tZ2l0
IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAgYi9Ub29scy9XZWJL
aXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcAppbmRleCAyNzAwMDQ1MzM5YmViZDExNWJm
YzAxYWU4ZDk2ZTA4NzM0YTJiMTM3Li5iYjkzYjZkNjJlMWZkM2M1ZGM5NDg4MjJmZDUyOWFhMTI3
NTQ3MDc5IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVy
LmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcApAQCAt
MjQ4NCwxMiArMjQ4NCw2IEBAIHZvaWQgVGVzdENvbnRyb2xsZXI6OnNldFN0YXRpc3RpY3NIYXNI
YWRVc2VySW50ZXJhY3Rpb24oV0tTdHJpbmdSZWYgaG9zdCwgYm9vbCB2CiAgICAgV0tXZWJzaXRl
RGF0YVN0b3JlU2V0U3RhdGlzdGljc0hhc0hhZFVzZXJJbnRlcmFjdGlvbihkYXRhU3RvcmUsIGhv
c3QsIHZhbHVlKTsKIH0KIAotdm9pZCBUZXN0Q29udHJvbGxlcjo6c2V0U3RhdGlzdGljc0hhc0hh
ZE5vblJlY2VudFVzZXJJbnRlcmFjdGlvbihXS1N0cmluZ1JlZiBob3N0KQotewotICAgIGF1dG8q
IGRhdGFTdG9yZSA9IFdLQ29udGV4dEdldFdlYnNpdGVEYXRhU3RvcmUocGxhdGZvcm1Db250ZXh0
KCkpOwotICAgIFdLV2Vic2l0ZURhdGFTdG9yZVNldFN0YXRpc3RpY3NIYXNIYWROb25SZWNlbnRV
c2VySW50ZXJhY3Rpb24oZGF0YVN0b3JlLCBob3N0KTsKLX0KLQogYm9vbCBUZXN0Q29udHJvbGxl
cjo6aXNTdGF0aXN0aWNzSGFzSGFkVXNlckludGVyYWN0aW9uKFdLU3RyaW5nUmVmIGhvc3QpCiB7
CiAgICAgYXV0byogZGF0YVN0b3JlID0gV0tDb250ZXh0R2V0V2Vic2l0ZURhdGFTdG9yZShwbGF0
Zm9ybUNvbnRleHQoKSk7CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RD
b250cm9sbGVyLmggYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmgKaW5k
ZXggYjFhYzRmNzI1MGE4ZjAxY2U4MWFmMDVhNzAwZTY5MGM1YWJlOTNjOS4uYjE4MTdkN2E0YjUz
ODFhOWUzNDg1ODIyZWI2YWRjYmU4OWMxYWQ3YiAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVz
dFJ1bm5lci9UZXN0Q29udHJvbGxlci5oCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVz
dENvbnRyb2xsZXIuaApAQCAtMTU5LDcgKzE1OSw2IEBAIHB1YmxpYzoKICAgICBib29sIGlzU3Rh
dGlzdGljc1JlZ2lzdGVyZWRBc1N1YkZyYW1lVW5kZXIoV0tTdHJpbmdSZWYgc3ViRnJhbWVIb3N0
LCBXS1N0cmluZ1JlZiB0b3BGcmFtZUhvc3QpOwogICAgIGJvb2wgaXNTdGF0aXN0aWNzUmVnaXN0
ZXJlZEFzUmVkaXJlY3RpbmdUbyhXS1N0cmluZ1JlZiBob3N0UmVkaXJlY3RlZEZyb20sIFdLU3Ry
aW5nUmVmIGhvc3RSZWRpcmVjdGVkVG8pOwogICAgIHZvaWQgc2V0U3RhdGlzdGljc0hhc0hhZFVz
ZXJJbnRlcmFjdGlvbihXS1N0cmluZ1JlZiBob3N0TmFtZSwgYm9vbCB2YWx1ZSk7Ci0gICAgdm9p
ZCBzZXRTdGF0aXN0aWNzSGFzSGFkTm9uUmVjZW50VXNlckludGVyYWN0aW9uKFdLU3RyaW5nUmVm
IGhvc3ROYW1lKTsKICAgICBib29sIGlzU3RhdGlzdGljc0hhc0hhZFVzZXJJbnRlcmFjdGlvbihX
S1N0cmluZ1JlZiBob3N0TmFtZSk7CiAgICAgdm9pZCBzZXRTdGF0aXN0aWNzR3JhbmRmYXRoZXJl
ZChXS1N0cmluZ1JlZiBob3N0TmFtZSwgYm9vbCB2YWx1ZSk7CiAgICAgYm9vbCBpc1N0YXRpc3Rp
Y3NHcmFuZGZhdGhlcmVkKFdLU3RyaW5nUmVmIGhvc3ROYW1lKTsKZGlmZiAtLWdpdCBhL1Rvb2xz
L1dlYktpdFRlc3RSdW5uZXIvVGVzdEludm9jYXRpb24uY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9UZXN0SW52b2NhdGlvbi5jcHAKaW5kZXggYzg4YmIxODU1OWUxNTBkYzhjYzYyYTJmOTcy
ZWJhMmYzMzUyMzc3My4uZDEwMDBkY2Y3MDE3NWZmZDFjYjk4MTk3NzcwNzhjYWUwNjkyYWJkZiAx
MDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5jcHAKKysr
IGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5jcHAKQEAgLTgyNCwxMiAr
ODI0LDYgQEAgV0tSZXRhaW5QdHI8V0tUeXBlUmVmPiBUZXN0SW52b2NhdGlvbjo6ZGlkUmVjZWl2
ZVN5bmNocm9ub3VzTWVzc2FnZUZyb21JbmplY3RlZEIKICAgICAgICAgcmV0dXJuIG51bGxwdHI7
CiAgICAgfQogCi0gICAgaWYgKFdLU3RyaW5nSXNFcXVhbFRvVVRGOENTdHJpbmcobWVzc2FnZU5h
bWUsICJTZXRTdG9yYWdlQWNjZXNzQVBJRW5hYmxlZCIpKSB7Ci0gICAgICAgIFdLQm9vbGVhblJl
ZiBhY2NlcHQgPSBzdGF0aWNfY2FzdDxXS0Jvb2xlYW5SZWY+KG1lc3NhZ2VCb2R5KTsKLSAgICAg
ICAgV0tDb29raWVNYW5hZ2VyU2V0U3RvcmFnZUFjY2Vzc0FQSUVuYWJsZWQoV0tDb250ZXh0R2V0
Q29va2llTWFuYWdlcihUZXN0Q29udHJvbGxlcjo6c2luZ2xldG9uKCkuY29udGV4dCgpKSwgV0tC
b29sZWFuR2V0VmFsdWUoYWNjZXB0KSk7Ci0gICAgICAgIHJldHVybiBudWxscHRyOwotICAgIH0K
LSAgICAKICAgICBpZiAoV0tTdHJpbmdJc0VxdWFsVG9VVEY4Q1N0cmluZyhtZXNzYWdlTmFtZSwg
IlNldEFsbG93c0FueVNTTENlcnRpZmljYXRlIikpIHsKICAgICAgICAgVGVzdENvbnRyb2xsZXI6
OnNpbmdsZXRvbigpLnNldEFsbG93c0FueVNTTENlcnRpZmljYXRlKFdLQm9vbGVhbkdldFZhbHVl
KHN0YXRpY19jYXN0PFdLQm9vbGVhblJlZj4obWVzc2FnZUJvZHkpKSk7CiAgICAgICAgIHJldHVy
biBudWxscHRyOwpAQCAtMTAxNSwxMyArMTAwOSw2IEBAIFdLUmV0YWluUHRyPFdLVHlwZVJlZj4g
VGVzdEludm9jYXRpb246OmRpZFJlY2VpdmVTeW5jaHJvbm91c01lc3NhZ2VGcm9tSW5qZWN0ZWRC
CiAgICAgICAgIHJldHVybiBudWxscHRyOwogICAgIH0KIAotICAgIGlmIChXS1N0cmluZ0lzRXF1
YWxUb1VURjhDU3RyaW5nKG1lc3NhZ2VOYW1lLCAiU2V0U3RhdGlzdGljc0hhc0hhZE5vblJlY2Vu
dFVzZXJJbnRlcmFjdGlvbiIpKSB7Ci0gICAgICAgIEFTU0VSVChXS0dldFR5cGVJRChtZXNzYWdl
Qm9keSkgPT0gV0tTdHJpbmdHZXRUeXBlSUQoKSk7Ci0gICAgICAgIFdLU3RyaW5nUmVmIGhvc3RO
YW1lID0gc3RhdGljX2Nhc3Q8V0tTdHJpbmdSZWY+KG1lc3NhZ2VCb2R5KTsKLSAgICAgICAgVGVz
dENvbnRyb2xsZXI6OnNpbmdsZXRvbigpLnNldFN0YXRpc3RpY3NIYXNIYWROb25SZWNlbnRVc2Vy
SW50ZXJhY3Rpb24oaG9zdE5hbWUpOwotICAgICAgICByZXR1cm4gbnVsbHB0cjsKLSAgICB9Ci0K
ICAgICBpZiAoV0tTdHJpbmdJc0VxdWFsVG9VVEY4Q1N0cmluZyhtZXNzYWdlTmFtZSwgIklzU3Rh
dGlzdGljc0hhc0hhZFVzZXJJbnRlcmFjdGlvbiIpKSB7CiAgICAgICAgIEFTU0VSVChXS0dldFR5
cGVJRChtZXNzYWdlQm9keSkgPT0gV0tTdHJpbmdHZXRUeXBlSUQoKSk7CiAgICAgICAgIApkaWZm
IC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9jb2NvYS9UZXN0Q29udHJvbGxlckNvY29h
Lm1tIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9jb2NvYS9UZXN0Q29udHJvbGxlckNvY29hLm1t
CmluZGV4IGQ4YzZjMDk2NWFmMTE5MTk5NmQ2YzYzOTA2Mjk0MjY1NjEwZDc2YjguLmEwNDMxZThh
ZTc2NjkxYzBjMjkxMGU3Zjc3Zjc4MzEyY2Q0ZTcwMGEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktp
dFRlc3RSdW5uZXIvY29jb2EvVGVzdENvbnRyb2xsZXJDb2NvYS5tbQorKysgYi9Ub29scy9XZWJL
aXRUZXN0UnVubmVyL2NvY29hL1Rlc3RDb250cm9sbGVyQ29jb2EubW0KQEAgLTc3LDcgKzc3LDYg
QEAgdm9pZCBpbml0aWFsaXplV2ViVmlld0NvbmZpZ3VyYXRpb24oY29uc3QgY2hhciogbGlicmFy
eVBhdGgsIFdLU3RyaW5nUmVmIGluamVjdGUKIAogI2lmIChQTEFURk9STShNQUMpICYmIF9fTUFD
X09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMzAwKSB8fCBQTEFURk9STShJT1MpCiAg
ICAgV0tDb29raWVNYW5hZ2VyU2V0Q29va2llU3RvcmFnZVBhcnRpdGlvbmluZ0VuYWJsZWQoV0tD
b250ZXh0R2V0Q29va2llTWFuYWdlcihjb250ZXh0KSwgdHJ1ZSk7Ci0gICAgV0tDb29raWVNYW5h
Z2VyU2V0U3RvcmFnZUFjY2Vzc0FQSUVuYWJsZWQoV0tDb250ZXh0R2V0Q29va2llTWFuYWdlcihj
b250ZXh0KSwgdHJ1ZSk7CiAjZW5kaWYKIAogICAgIFdLV2Vic2l0ZURhdGFTdG9yZSogcG9vbFdl
YnNpdGVEYXRhU3RvcmUgPSAoV0tXZWJzaXRlRGF0YVN0b3JlICopV0tDb250ZXh0R2V0V2Vic2l0
ZURhdGFTdG9yZSgoV0tDb250ZXh0UmVmKWdsb2JhbFdlYlZpZXdDb25maWd1cmF0aW9uLnByb2Nl
c3NQb29sKTsKQEAgLTMwNCwxMSArMzAzLDYgQEAgdm9pZCBUZXN0Q29udHJvbGxlcjo6c2V0U3Rh
dGlzdGljc0hhc0hhZFVzZXJJbnRlcmFjdGlvbihXS1N0cmluZ1JlZiBob3N0TmFtZSwgYm8KICAg
ICBbZ2xvYmFsV2ViVmlld0NvbmZpZ3VyYXRpb24ud2Vic2l0ZURhdGFTdG9yZSBfcmVzb3VyY2VM
b2FkU3RhdGlzdGljc1NldEhhZFVzZXJJbnRlcmFjdGlvbjp2YWx1ZSBmb3JIb3N0OnRvTlNTdHJp
bmcoaG9zdE5hbWUpXTsKIH0KIAotdm9pZCBUZXN0Q29udHJvbGxlcjo6c2V0U3RhdGlzdGljc0hh
c0hhZE5vblJlY2VudFVzZXJJbnRlcmFjdGlvbihXS1N0cmluZ1JlZiBob3N0TmFtZSkKLXsKLSAg
ICBbZ2xvYmFsV2ViVmlld0NvbmZpZ3VyYXRpb24ud2Vic2l0ZURhdGFTdG9yZSBfcmVzb3VyY2VM
b2FkU3RhdGlzdGljc1NldEhhc0hhZE5vblJlY2VudFVzZXJJbnRlcmFjdGlvbkZvckhvc3Q6dG9O
U1N0cmluZyhob3N0TmFtZSldOwotfQotCiBib29sIFRlc3RDb250cm9sbGVyOjppc1N0YXRpc3Rp
Y3NIYXNIYWRVc2VySW50ZXJhY3Rpb24oV0tTdHJpbmdSZWYgaG9zdE5hbWUpCiB7CiAgICAgX19i
bG9jayBib29sIGlzRGF0YVJlYWR5ID0gZmFsc2U7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYWQ4NDYwMTc0ZjhhZTU1MzYw
NWY2MWQ2OTkxYzFlNjI1NmY2YzI5NS4uNTE3ZGE3MjNkNmUyYjIyNGY0MjU1ZGNhNzM2OWM0OGQ4
MTQ4YjFlZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDE3LTExLTE3ICBDb21taXQgUXVldWUg
IDxjb21taXQtcXVldWVAd2Via2l0Lm9yZz4KKworICAgICAgICBVbnJldmlld2VkLCByb2xsaW5n
IG91dCByMjI1MDA2LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTc5ODU3CisKKyAgICAgICAgYnJva2UgdGhlIGJ1aWxkIChSZXF1ZXN0ZWQgYnkgc21m
ciBvbiAjd2Via2l0KS4KKworICAgICAgICBSZXZlcnRlZCBjaGFuZ2VzZXQ6CisKKyAgICAgICAg
IlN0b3JhZ2UgQWNjZXNzIEFQSTogVUkgcHJvY2VzcyBzaG91bGQgdXBkYXRlIG5ldHdvcmsgcHJv
Y2VzcworICAgICAgICBhYm91dCBncmFudGVkIGFjY2VzcyIKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3Njk0MworICAgICAgICBodHRwczovL3RyYWMu
d2Via2l0Lm9yZy9jaGFuZ2VzZXQvMjI1MDA2CisKIDIwMTctMTEtMTcgIEpvaG4gV2lsYW5kZXIg
IDx3aWxhbmRlckBhcHBsZS5jb20+CiAKICAgICAgICAgU3RvcmFnZSBBY2Nlc3MgQVBJOiBVSSBw
cm9jZXNzIHNob3VsZCB1cGRhdGUgbmV0d29yayBwcm9jZXNzIGFib3V0IGdyYW50ZWQgYWNjZXNz
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvcmVxdWVz
dC1hbmQtZ3JhbnQtc3RvcmFnZS1hY2Nlc3MtY3Jvc3Mtb3JpZ2luLXNhbmRib3hlZC1pZnJhbWUt
ZnJvbS1wcmV2YWxlbnQtZG9tYWluLXdpdGgtbm9uLXJlY2VudC11c2VyLWludGVyYWN0aW9uLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9yZXF1ZXN0
LWFuZC1ncmFudC1zdG9yYWdlLWFjY2Vzcy1jcm9zcy1vcmlnaW4tc2FuZGJveGVkLWlmcmFtZS1m
cm9tLXByZXZhbGVudC1kb21haW4td2l0aC1ub24tcmVjZW50LXVzZXItaW50ZXJhY3Rpb24tZXhw
ZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlNmVjMzM3Y2ViYzA3OTJi
M2M4ZjIyN2JkYTJjMzk2OGU0ODcxY2I5Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9yZXF1
ZXN0LWFuZC1ncmFudC1zdG9yYWdlLWFjY2Vzcy1jcm9zcy1vcmlnaW4tc2FuZGJveGVkLWlmcmFt
ZS1mcm9tLXByZXZhbGVudC1kb21haW4td2l0aC1ub24tcmVjZW50LXVzZXItaW50ZXJhY3Rpb24t
ZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNTQgKzAsMCBAQAotQ09ORklSTTogRG8g
eW91IHdhbnQgdG8gdXNlIHlvdXIgbG9jYWxob3N0IElEIG9uIDEyNy4wLjAuMT8KLVRlc3RzIHRo
YXQgY3Jvc3Mtb3JpZ2luIGlmcmFtZSBzdG9yYWdlIGFjY2VzcyBpcyBncmFudGVkIGlmIHRoZSBp
ZnJhbWUgaXMgc2FuZGJveGVkLCBoYXMgdGhlIGFsbG93IHRva2VuLCB0aGUgaWZyYW1lIG9yaWdp
biBpcyBhIHByZXZhbGVudCByZXNvdXJjZSwgdGhlIGlmcmFtZSBvcmlnaW4gaGFzIGhhZCB1c2Vy
IGludGVyYWN0aW9uLCBhbmQgdGhlIHVzZXIgb3B0cyBpbi4KLQotT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgotCi0KLVBBU1MgZG9jdW1lbnQuaGFzU3RvcmFnZUFjY2VzcyB3YXMgZ3JhbnRlZC4K
LVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotICAKLQot
LS0tLS0tLS0KLUZyYW1lOiAndGhlSWZyYW1lJwotLS0tLS0tLS0KLQotCi0tLS0tLS0tLQotRnJh
bWU6ICc8IS0tZnJhbWVQYXRoIC8vPCEtLWZyYW1lMS0tPi0tPicKLS0tLS0tLS0tCi1TaG91bGQg
cmVjZWl2ZSBmaXJzdC1wYXJ0eSBjb29raWUuCi1SZWNlaXZlZCBjb29raWUgbmFtZWQgJ2ZpcnN0
UGFydHlDb29raWUnLgotRGlkIG5vdCByZWNlaXZlIGNvb2tpZSBuYW1lZCAncGFydGl0aW9uZWRD
b29raWUnLgotQ2xpZW50LXNpZGUgZG9jdW1lbnQuY29va2llOiBmaXJzdFBhcnR5Q29va2llPXZh
bHVlCi0KLS0tLS0tLS0tCi1GcmFtZTogJzwhLS1mcmFtZVBhdGggLy88IS0tZnJhbWUyLS0+LS0+
JwotLS0tLS0tLS0KLVNob3VsZCBub3QgcmVjZWl2ZSBjb29raWVzLgotRGlkIG5vdCByZWNlaXZl
IGNvb2tpZSBuYW1lZCAnZmlyc3RQYXJ0eUNvb2tpZScuCi1EaWQgbm90IHJlY2VpdmUgY29va2ll
IG5hbWVkICdwYXJ0aXRpb25lZENvb2tpZScuCi1DbGllbnQtc2lkZSBkb2N1bWVudC5jb29raWU6
Ci0KLS0tLS0tLS0tCi1GcmFtZTogJzwhLS1mcmFtZVBhdGggLy88IS0tZnJhbWUzLS0+LS0+Jwot
LS0tLS0tLS0KLQotCi0KLS0tLS0tLS0tCi1GcmFtZTogJzwhLS1mcmFtZVBhdGggLy88IS0tZnJh
bWU0LS0+LS0+JwotLS0tLS0tLS0KLVNob3VsZCByZWNlaXZlIHBhcnRpdGlvbmVkIGNvb2tpZS4K
LURpZCBub3QgcmVjZWl2ZSBjb29raWUgbmFtZWQgJ2ZpcnN0UGFydHlDb29raWUnLgotUmVjZWl2
ZWQgY29va2llIG5hbWVkICdwYXJ0aXRpb25lZENvb2tpZScuCi1DbGllbnQtc2lkZSBkb2N1bWVu
dC5jb29raWU6IHBhcnRpdGlvbmVkQ29va2llPXZhbHVlCi0KLS0tLS0tLS0tCi1GcmFtZTogJzwh
LS1mcmFtZVBhdGggLy88IS0tZnJhbWU1LS0+LS0+JwotLS0tLS0tLS0KLVNob3VsZCByZWNlaXZl
IGZpcnN0LXBhcnR5IGNvb2tpZS4KLVJlY2VpdmVkIGNvb2tpZSBuYW1lZCAnZmlyc3RQYXJ0eUNv
b2tpZScuCi1EaWQgbm90IHJlY2VpdmUgY29va2llIG5hbWVkICdwYXJ0aXRpb25lZENvb2tpZScu
Ci1DbGllbnQtc2lkZSBkb2N1bWVudC5jb29raWU6IGZpcnN0UGFydHlDb29raWU9dmFsdWUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9yZXF1ZXN0LWFu
ZC1ncmFudC1zdG9yYWdlLWFjY2Vzcy1jcm9zcy1vcmlnaW4tc2FuZGJveGVkLWlmcmFtZS1mcm9t
LXByZXZhbGVudC1kb21haW4td2l0aC1ub24tcmVjZW50LXVzZXItaW50ZXJhY3Rpb24uaHRtbCBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9yZXF1ZXN0LWFuZC1ncmFudC1z
dG9yYWdlLWFjY2Vzcy1jcm9zcy1vcmlnaW4tc2FuZGJveGVkLWlmcmFtZS1mcm9tLXByZXZhbGVu
dC1kb21haW4td2l0aC1ub24tcmVjZW50LXVzZXItaW50ZXJhY3Rpb24uaHRtbApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMTM3M2QzZDFjYzlmZmI2YzE0NmUzOTExN2QwZjc3N2Y1NDQ5
NTU3OS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvcmVxdWVzdC1hbmQtZ3JhbnQtc3RvcmFn
ZS1hY2Nlc3MtY3Jvc3Mtb3JpZ2luLXNhbmRib3hlZC1pZnJhbWUtZnJvbS1wcmV2YWxlbnQtZG9t
YWluLXdpdGgtbm9uLXJlY2VudC11c2VyLWludGVyYWN0aW9uLmh0bWwKKysrIC9kZXYvbnVsbApA
QCAtMSwxNDAgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotICAgIDxz
Y3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci0gICAg
PHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0Pgot
ICAgIDxzY3JpcHQ+Ci0gICAgICAgIGRlc2NyaXB0aW9uKCJUZXN0cyB0aGF0IGNyb3NzLW9yaWdp
biBpZnJhbWUgc3RvcmFnZSBhY2Nlc3MgaXMgZ3JhbnRlZCBpZiB0aGUgaWZyYW1lIGlzIHNhbmRi
b3hlZCwgaGFzIHRoZSBhbGxvdyB0b2tlbiwgdGhlIGlmcmFtZSBvcmlnaW4gaXMgYSBwcmV2YWxl
bnQgcmVzb3VyY2UsIHRoZSBpZnJhbWUgb3JpZ2luIGhhcyBoYWQgdXNlciBpbnRlcmFjdGlvbiwg
YW5kIHRoZSB1c2VyIG9wdHMgaW4uIik7Ci0gICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwot
Ci0gICAgICAgIGNvbnN0IGhvc3RVbmRlclRlc3QgPSAibG9jYWxob3N0OjgwMDAiOwotICAgICAg
ICBjb25zdCBzdGF0aXN0aWNzVXJsID0gImh0dHA6Ly8iICsgaG9zdFVuZGVyVGVzdCArICIvdGVt
cCI7Ci0KLSAgICAgICAgY29uc3QgcGFydGl0aW9uSG9zdCA9ICIxMjcuMC4wLjE6ODAwMCI7Ci0g
ICAgICAgIGNvbnN0IHRoaXJkUGFydHlPcmlnaW4gPSAiaHR0cDovL2xvY2FsaG9zdDo4MDAwIjsK
LSAgICAgICAgY29uc3QgcmVzb3VyY2VQYXRoID0gIi9zdG9yYWdlQWNjZXNzL3Jlc291cmNlcyI7
Ci0gICAgICAgIGNvbnN0IHRoaXJkUGFydHlCYXNlVXJsID0gdGhpcmRQYXJ0eU9yaWdpbiArIHJl
c291cmNlUGF0aDsKLSAgICAgICAgY29uc3QgZmlyc3RQYXJ0eUNvb2tpZU5hbWUgPSAiZmlyc3RQ
YXJ0eUNvb2tpZSI7Ci0gICAgICAgIGNvbnN0IHN1YlBhdGhUb1NldEZpcnN0UGFydHlDb29raWUg
PSAiL3NldC1jb29raWUucGhwP25hbWU9IiArIGZpcnN0UGFydHlDb29raWVOYW1lICsgIiZ2YWx1
ZT12YWx1ZSI7Ci0gICAgICAgIGNvbnN0IHBhcnRpdGlvbmVkQ29va2llTmFtZSA9ICJwYXJ0aXRp
b25lZENvb2tpZSI7Ci0gICAgICAgIGNvbnN0IHN1YlBhdGhUb1NldFBhcnRpdGlvbmVkQ29va2ll
ID0gIi9zZXQtY29va2llLnBocD9uYW1lPSIgKyBwYXJ0aXRpb25lZENvb2tpZU5hbWUgKyAiJnZh
bHVlPXZhbHVlIjsKLSAgICAgICAgY29uc3QgcmV0dXJuVXJsID0gImh0dHA6Ly8iICsgcGFydGl0
aW9uSG9zdCArICIvc3RvcmFnZUFjY2Vzcy9yZXF1ZXN0LWFuZC1ncmFudC1zdG9yYWdlLWFjY2Vz
cy1jcm9zcy1vcmlnaW4tc2FuZGJveGVkLWlmcmFtZS1mcm9tLXByZXZhbGVudC1kb21haW4td2l0
aC1ub24tcmVjZW50LXVzZXItaW50ZXJhY3Rpb24uaHRtbCI7Ci0gICAgICAgIGNvbnN0IHN1YlBh
dGhUb0dldENvb2tpZXMgPSAiL2dldC1jb29raWVzLnBocD9uYW1lMT0iICsgZmlyc3RQYXJ0eUNv
b2tpZU5hbWUgKyAiJm5hbWUyPSIgKyBwYXJ0aXRpb25lZENvb2tpZU5hbWU7Ci0KLSAgICAgICAg
ZnVuY3Rpb24gc2V0RW5hYmxlRmVhdHVyZShlbmFibGUpIHsKLSAgICAgICAgICAgIGlmICghZW5h
YmxlKQotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc1Jlc2V0VG9Db25zaXN0
ZW50U3RhdGUoKTsKLSAgICAgICAgICAgIGludGVybmFscy5zZXRSZXNvdXJjZUxvYWRTdGF0aXN0
aWNzRW5hYmxlZChlbmFibGUpOwotICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRDb29raWVTdG9y
YWdlUGFydGl0aW9uaW5nRW5hYmxlZChlbmFibGUpOwotICAgICAgICAgICAgdGVzdFJ1bm5lci5z
ZXRTdG9yYWdlQWNjZXNzQVBJRW5hYmxlZChlbmFibGUpOwotICAgICAgICB9Ci0KLSAgICAgICAg
ZnVuY3Rpb24gb3BlbklmcmFtZSh1cmwsIG9uTG9hZEhhbmRsZXIpIHsKLSAgICAgICAgICAgIGNv
bnN0IGVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKTsKLSAgICAgICAg
ICAgIGVsZW1lbnQuc3JjID0gdXJsOwotICAgICAgICAgICAgaWYgKG9uTG9hZEhhbmRsZXIpIHsK
LSAgICAgICAgICAgICAgICBlbGVtZW50Lm9ubG9hZCA9IG9uTG9hZEhhbmRsZXI7Ci0gICAgICAg
ICAgICB9Ci0gICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGVsZW1lbnQpOwot
ICAgICAgICB9Ci0KLSAgICAgICAgZnVuY3Rpb24gcmVjZWl2ZU1lc3NhZ2UoZXZlbnQpIHsKLSAg
ICAgICAgICAgIGlmIChldmVudC5vcmlnaW4gPT09ICJodHRwOi8vbG9jYWxob3N0OjgwMDAiKSB7
Ci0gICAgICAgICAgICAgICAgaWYgKGV2ZW50LmRhdGEuaW5kZXhPZigiUEFTUyIpICE9PSAtMSkK
LSAgICAgICAgICAgICAgICAgICAgdGVzdFBhc3NlZChldmVudC5kYXRhLnJlcGxhY2UoIlBBU1Mg
IiwgIiIpKTsKLSAgICAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgICAgIHRlc3RG
YWlsZWQoZXZlbnQuZGF0YSk7Ci0gICAgICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgICAgICB0
ZXN0RmFpbGVkKCJSZWNlaXZlZCBhIG1lc3NhZ2UgZnJvbSBhbiB1bmV4cGVjdGVkIG9yaWdpbjog
IiArIGV2ZW50Lm9yaWdpbik7Ci0gICAgICAgICAgICBydW5UZXN0KCk7Ci0gICAgICAgIH0KLQot
ICAgICAgICBmdW5jdGlvbiBhY3RpdmF0ZUVsZW1lbnQoZWxlbWVudElkKSB7Ci0gICAgICAgICAg
ICB2YXIgZWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGVsZW1lbnRJZCk7Ci0gICAg
ICAgICAgICB2YXIgY2VudGVyWCA9IGVsZW1lbnQub2Zmc2V0TGVmdCArIGVsZW1lbnQub2Zmc2V0
V2lkdGggLyAyOwotICAgICAgICAgICAgdmFyIGNlbnRlclkgPSBlbGVtZW50Lm9mZnNldFRvcCAr
IGVsZW1lbnQub2Zmc2V0SGVpZ2h0IC8gMjsKLSAgICAgICAgICAgIFVJSGVscGVyLmFjdGl2YXRl
QXQoY2VudGVyWCwgY2VudGVyWSkudGhlbigKLSAgICAgICAgICAgICAgICBmdW5jdGlvbiAoKSB7
Ci0gICAgICAgICAgICAgICAgICAgIGlmICh3aW5kb3cuZXZlbnRTZW5kZXIpCi0gICAgICAgICAg
ICAgICAgICAgICAgICBldmVudFNlbmRlci5rZXlEb3duKCJlc2NhcGUiKTsKLSAgICAgICAgICAg
ICAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJObyBl
dmVudFNlbmRlci4iKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOwot
ICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAg
ICBmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIlByb21pc2Ug
cmVqZWN0ZWQuIik7Ci0gICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOwotICAgICAg
ICAgICAgICAgIH0KLSAgICAgICAgICAgICk7Ci0gICAgICAgIH0KLQotICAgICAgICBmdW5jdGlv
biBydW5UZXN0KCkgewotICAgICAgICAgICAgc3dpdGNoIChkb2N1bWVudC5sb2NhdGlvbi5oYXNo
KSB7Ci0gICAgICAgICAgICAgICAgY2FzZSAiI3N0ZXAxIjoKLSAgICAgICAgICAgICAgICAgICAg
Ly8gU2V0IGxvY2FsaG9zdCBhcyBwcmV2YWxlbnQuCi0gICAgICAgICAgICAgICAgICAgIGlmICh0
ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwpKQot
ICAgICAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBwcmVtYXR1cmVseSBzZXQg
YXMgcHJldmFsZW50IHJlc291cmNlLiIpOwotICAgICAgICAgICAgICAgICAgICAvLyBTZXQgZmly
c3QtcGFydHkgY29va2llIGZvciBsb2NhbGhvc3QuCi0gICAgICAgICAgICAgICAgICAgIGRvY3Vt
ZW50LmxvY2F0aW9uLmhyZWYgPSB0aGlyZFBhcnR5QmFzZVVybCArIHN1YlBhdGhUb1NldEZpcnN0
UGFydHlDb29raWUgKyAiIyIgKyByZXR1cm5VcmwgKyAiI3N0ZXAyIjsKLSAgICAgICAgICAgICAg
ICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgY2FzZSAiI3N0ZXAyIjoKLSAgICAgICAgICAg
ICAgICAgICAgZG9jdW1lbnQubG9jYXRpb24uaGFzaCA9ICJzdGVwMyI7Ci0gICAgICAgICAgICAg
ICAgICAgIC8vIENoZWNrIHRoYXQgdGhlIGZpcnN0LXBhcnR5IGNvb2tpZSBkb2VzIGdldCBzZW50
IGZvciBsb2NhbGhvc3QgdW5kZXIgMTI3LjAuMC4xLgotICAgICAgICAgICAgICAgICAgICBvcGVu
SWZyYW1lKHRoaXJkUGFydHlCYXNlVXJsICsgc3ViUGF0aFRvR2V0Q29va2llcyArICImbWVzc2Fn
ZT1TaG91bGQgcmVjZWl2ZSBmaXJzdC1wYXJ0eSBjb29raWUuIiwgcnVuVGVzdCk7Ci0gICAgICAg
ICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgICAgIGNhc2UgIiNzdGVwMyI6Ci0gICAg
ICAgICAgICAgICAgICAgIGRvY3VtZW50LmxvY2F0aW9uLmhhc2ggPSAic3RlcDQiOwotICAgICAg
ICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShz
dGF0aXN0aWNzVXJsLCB0cnVlKTsKLSAgICAgICAgICAgICAgICAgICAgaWYgKCF0ZXN0UnVubmVy
LmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwpKQotICAgICAgICAg
ICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBkaWQgbm90IGdldCBzZXQgYXMgcHJldmFs
ZW50IHJlc291cmNlLiIpOwotICAgICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRp
c3RpY3NIYXNIYWROb25SZWNlbnRVc2VySW50ZXJhY3Rpb24oc3RhdGlzdGljc1VybCk7Ci0gICAg
ICAgICAgICAgICAgICAgIGlmICghdGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NIYXNIYWRVc2VySW50
ZXJhY3Rpb24oc3RhdGlzdGljc1VybCkpCi0gICAgICAgICAgICAgICAgICAgICAgICB0ZXN0RmFp
bGVkKCJIb3N0IGRpZCBub3QgZ2V0IGxvZ2dlZCBmb3IgdXNlciBpbnRlcmFjdGlvbi4iKTsKLSAg
ICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzVXBkYXRlQ29va2llUGFydGl0
aW9uaW5nKCk7Ci0gICAgICAgICAgICAgICAgICAgIC8vIENoZWNrIHRoYXQgdGhlIGZpcnN0LXBh
cnR5IGNvb2tpZSBkb2VzIG5vdCBnZXQgc2VudCBmb3IgbG9jYWxob3N0IHVuZGVyIDEyNy4wLjAu
MS4KLSAgICAgICAgICAgICAgICAgICAgb3BlbklmcmFtZSh0aGlyZFBhcnR5QmFzZVVybCArIHN1
YlBhdGhUb0dldENvb2tpZXMgKyAiJm1lc3NhZ2U9U2hvdWxkIG5vdCByZWNlaXZlIGNvb2tpZXMu
IiwgcnVuVGVzdCk7Ci0gICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgICAg
IGNhc2UgIiNzdGVwNCI6Ci0gICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmxvY2F0aW9uLmhh
c2ggPSAic3RlcDUiOwotICAgICAgICAgICAgICAgICAgICAvLyBTZXQgcGFydGl0aW9uZWQgY29v
a2llIGZvciBsb2NhbGhvc3QuCi0gICAgICAgICAgICAgICAgICAgIG9wZW5JZnJhbWUodGhpcmRQ
YXJ0eUJhc2VVcmwgKyBzdWJQYXRoVG9TZXRQYXJ0aXRpb25lZENvb2tpZSwgcnVuVGVzdCk7Ci0g
ICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgICAgIGNhc2UgIiNzdGVwNSI6
Ci0gICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmxvY2F0aW9uLmhhc2ggPSAic3RlcDYiOwot
ICAgICAgICAgICAgICAgICAgICAvLyBDaGVjayB0aGF0IHRoZSBwYXJ0aXRpb25lZCBjb29raWUg
ZG9lcyBnZXQgc2VudCBmb3IgbG9jYWxob3N0IHVuZGVyIDEyNy4wLjAuMS4KLSAgICAgICAgICAg
ICAgICAgICAgb3BlbklmcmFtZSh0aGlyZFBhcnR5QmFzZVVybCArIHN1YlBhdGhUb0dldENvb2tp
ZXMgKyAiJm1lc3NhZ2U9U2hvdWxkIHJlY2VpdmUgcGFydGl0aW9uZWQgY29va2llLiIsIHJ1blRl
c3QpOwotICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgICAgICBjYXNlICIj
c3RlcDYiOgotICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5sb2NhdGlvbi5oYXNoID0gInN0
ZXA3IjsKLSAgICAgICAgICAgICAgICAgICAgYWN0aXZhdGVFbGVtZW50KCJ0aGVJZnJhbWUiKTsK
LSAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgY2FzZSAiI3N0ZXA3
IjoKLSAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQubG9jYXRpb24uaGFzaCA9ICJzdGVwOCI7
Ci0gICAgICAgICAgICAgICAgICAgIC8vIENoZWNrIHRoYXQgbm90IHRoZSBwYXJ0aXRpb25lZCBi
dXQgdGhlIGZpcnN0LXBhcnR5IGNvb2tpZSBnZXRzIHNlbnQgZm9yIGxvY2FsaG9zdCB1bmRlciAx
MjcuMC4wLjEuCi0gICAgICAgICAgICAgICAgICAgIG9wZW5JZnJhbWUodGhpcmRQYXJ0eUJhc2VV
cmwgKyBzdWJQYXRoVG9HZXRDb29raWVzICsgIiZtZXNzYWdlPVNob3VsZCByZWNlaXZlIGZpcnN0
LXBhcnR5IGNvb2tpZS4iLCBydW5UZXN0KTsKLSAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0g
ICAgICAgICAgICAgICAgY2FzZSAiI3N0ZXA4IjoKLSAgICAgICAgICAgICAgICAgICAgc2V0RW5h
YmxlRmVhdHVyZShmYWxzZSk7Ci0gICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOwot
ICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQotCi0g
ICAgICAgIGlmIChkb2N1bWVudC5sb2NhdGlvbi5oYXNoID09PSAiIikgewotICAgICAgICAgICAg
c2V0RW5hYmxlRmVhdHVyZSh0cnVlKTsKLSAgICAgICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3Rh
dGlzdGljc1ByZXZhbGVudFJlc291cmNlKHRoaXJkUGFydHlCYXNlVXJsKSkKLSAgICAgICAgICAg
ICAgICB0ZXN0RmFpbGVkKCJMb2NhbGhvc3Qgd2FzIGNsYXNzaWZpZWQgYXMgcHJldmFsZW50IHJl
c291cmNlIGJlZm9yZSB0aGUgdGVzdCBzdGFydHMuIik7Ci0gICAgICAgICAgICAvLyBNYWtlIHN1
cmUgdGhlIG5ldHdvcmsgcHJvY2VzcyBpcyB1cC10by1kYXRlLgotICAgICAgICAgICAgdGVzdFJ1
bm5lci5zdGF0aXN0aWNzU2V0U2hvdWxkUGFydGl0aW9uQ29va2llc0Zvckhvc3QoImxvY2FsaG9z
dCIsIGZhbHNlKTsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcENoaWxkRnJhbWVzQXNUZXh0
KCk7Ci0gICAgICAgICAgICBkb2N1bWVudC5sb2NhdGlvbi5oYXNoID0gInN0ZXAxIjsKLSAgICAg
ICAgfQotCi0gICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIiwgcmVjZWl2
ZU1lc3NhZ2UsIGZhbHNlKTsKLSAgICA8L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotICAgIDxp
ZnJhbWUgc2FuZGJveD0iYWxsb3ctc3RvcmFnZS1hY2Nlc3MtYnktdXNlci1hY3RpdmF0aW9uIGFs
bG93LXNjcmlwdHMgYWxsb3ctc2FtZS1vcmlnaW4gYWxsb3ctbW9kYWxzIiBvbmxvYWQ9InJ1blRl
c3QoKSIgaWQ9InRoZUlmcmFtZSIgc3JjPSJodHRwOi8vbG9jYWxob3N0OjgwMDAvc3RvcmFnZUFj
Y2Vzcy9yZXNvdXJjZXMvcmVxdWVzdC1zdG9yYWdlLWFjY2Vzcy1pZnJhbWUuaHRtbCN1c2VyU2hv
dWxkR3JhbnRBY2Nlc3MsdXNlclNob3VsZEJlQ29uc3VsdGVkLHBvbGljeVNob3VsZEdyYW50QWNj
ZXNzLGlzTm90U2FtZU9yaWdpbklmcmFtZSI+PC9pZnJhbWU+Ci08L2JvZHk+Ci08L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9zdG9yYWdlQWNjZXNzL3JlcXVlc3QtYW5kLWdyYW50LXN0b3JhZ2UtYWNjZXNzLWNyb3Nz
LW9yaWdpbi1zYW5kYm94ZWQtaWZyYW1lLWZyb20tcHJldmFsZW50LWRvbWFpbi13aXRoLXJlY2Vu
dC11c2VyLWludGVyYWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
c3RvcmFnZUFjY2Vzcy9yZXF1ZXN0LWFuZC1ncmFudC1zdG9yYWdlLWFjY2Vzcy1jcm9zcy1vcmln
aW4tc2FuZGJveGVkLWlmcmFtZS1mcm9tLXByZXZhbGVudC1kb21haW4td2l0aC1yZWNlbnQtdXNl
ci1pbnRlcmFjdGlvbi1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IGY4ZWQ4ZGRmNzIwYmEzZjcwY2NiNmNiNTEzNmMyM2IzYjVkM2UxN2MuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9z
dG9yYWdlQWNjZXNzL3JlcXVlc3QtYW5kLWdyYW50LXN0b3JhZ2UtYWNjZXNzLWNyb3NzLW9yaWdp
bi1zYW5kYm94ZWQtaWZyYW1lLWZyb20tcHJldmFsZW50LWRvbWFpbi13aXRoLXJlY2VudC11c2Vy
LWludGVyYWN0aW9uLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDExICswLDAgQEAK
LUNPTkZJUk06IERvIHlvdSB3YW50IHRvIHVzZSB5b3VyIGxvY2FsaG9zdCBJRCBvbiAxMjcuMC4w
LjE/Ci1UZXN0cyB0aGF0IGNyb3NzLW9yaWdpbiBpZnJhbWUgc3RvcmFnZSBhY2Nlc3MgaXMgZ3Jh
bnRlZCBpZiB0aGUgaWZyYW1lIGlzIHNhbmRib3hlZCwgaGFzIHRoZSBhbGxvdyB0b2tlbiwgdGhl
IGlmcmFtZSBvcmlnaW4gaXMgYSBwcmV2YWxlbnQgcmVzb3VyY2UsIHRoZSBpZnJhbWUgb3JpZ2lu
IGhhcyBoYWQgcmVjZW50IHVzZXIgaW50ZXJhY3Rpb24sIGFuZCB0aGUgdXNlciBvcHRzIGluLgot
Ci1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotUEFTUyBkb2N1bWVudC5oYXNTdG9yYWdl
QWNjZXNzIHdhcyBncmFudGVkLgotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1U
RVNUIENPTVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFn
ZUFjY2Vzcy9yZXF1ZXN0LWFuZC1ncmFudC1zdG9yYWdlLWFjY2Vzcy1jcm9zcy1vcmlnaW4tc2Fu
ZGJveGVkLWlmcmFtZS1mcm9tLXByZXZhbGVudC1kb21haW4td2l0aC1yZWNlbnQtdXNlci1pbnRl
cmFjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL3JlcXVl
c3QtYW5kLWdyYW50LXN0b3JhZ2UtYWNjZXNzLWNyb3NzLW9yaWdpbi1zYW5kYm94ZWQtaWZyYW1l
LWZyb20tcHJldmFsZW50LWRvbWFpbi13aXRoLXJlY2VudC11c2VyLWludGVyYWN0aW9uLmh0bWwK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDBkMGM5MzIzNmMyMmQwOThhZTdiMjY5ZThh
YjMwZDU0NmVhM2I4MTAuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL3JlcXVlc3QtYW5kLWdy
YW50LXN0b3JhZ2UtYWNjZXNzLWNyb3NzLW9yaWdpbi1zYW5kYm94ZWQtaWZyYW1lLWZyb20tcHJl
dmFsZW50LWRvbWFpbi13aXRoLXJlY2VudC11c2VyLWludGVyYWN0aW9uLmh0bWwKKysrIC9kZXYv
bnVsbApAQCAtMSw2MCArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci0g
ICAgPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4K
LSAgICA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+Ci0gICAgPHNjcmlwdD4KLSAgICAgICAgZGVzY3JpcHRpb24oIlRlc3RzIHRoYXQgY3Jvc3Mt
b3JpZ2luIGlmcmFtZSBzdG9yYWdlIGFjY2VzcyBpcyBncmFudGVkIGlmIHRoZSBpZnJhbWUgaXMg
c2FuZGJveGVkLCBoYXMgdGhlIGFsbG93IHRva2VuLCB0aGUgaWZyYW1lIG9yaWdpbiBpcyBhIHBy
ZXZhbGVudCByZXNvdXJjZSwgdGhlIGlmcmFtZSBvcmlnaW4gaGFzIGhhZCByZWNlbnQgdXNlciBp
bnRlcmFjdGlvbiwgYW5kIHRoZSB1c2VyIG9wdHMgaW4uIik7Ci0gICAgICAgIGpzVGVzdElzQXN5
bmMgPSB0cnVlOwotCi0gICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIiwg
cmVjZWl2ZU1lc3NhZ2UsIGZhbHNlKTsKLQotICAgICAgICBmdW5jdGlvbiByZWNlaXZlTWVzc2Fn
ZShldmVudCkgewotICAgICAgICAgICAgaWYgKGV2ZW50Lm9yaWdpbiA9PT0gImh0dHA6Ly9sb2Nh
bGhvc3Q6ODAwMCIpIHsKLSAgICAgICAgICAgICAgICBpZiAoZXZlbnQuZGF0YS5pbmRleE9mKCJQ
QVNTIikgIT09IC0xKQotICAgICAgICAgICAgICAgICAgICB0ZXN0UGFzc2VkKGV2ZW50LmRhdGEu
cmVwbGFjZSgiUEFTUyAiLCAiIikpOwotICAgICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAg
ICAgICAgICAgdGVzdEZhaWxlZChldmVudC5kYXRhKTsKLSAgICAgICAgICAgIH0gZWxzZQotICAg
ICAgICAgICAgICAgIHRlc3RGYWlsZWQoIlJlY2VpdmVkIGEgbWVzc2FnZSBmcm9tIGFuIHVuZXhw
ZWN0ZWQgb3JpZ2luOiAiICsgZXZlbnQub3JpZ2luKTsKLSAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOwotICAgICAgICB9Ci0KLSAgICAgICAgZnVuY3Rpb24gYWN0aXZhdGVFbGVtZW50KGVsZW1l
bnRJZCkgewotICAgICAgICAgICAgdmFyIGVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZChlbGVtZW50SWQpOwotICAgICAgICAgICAgdmFyIGNlbnRlclggPSBlbGVtZW50Lm9mZnNldExl
ZnQgKyBlbGVtZW50Lm9mZnNldFdpZHRoIC8gMjsKLSAgICAgICAgICAgIHZhciBjZW50ZXJZID0g
ZWxlbWVudC5vZmZzZXRUb3AgKyBlbGVtZW50Lm9mZnNldEhlaWdodCAvIDI7Ci0gICAgICAgICAg
ICBVSUhlbHBlci5hY3RpdmF0ZUF0KGNlbnRlclgsIGNlbnRlclkpLnRoZW4oCi0gICAgICAgICAg
ICAgICAgZnVuY3Rpb24gKCkgewotICAgICAgICAgICAgICAgICAgICBpZiAod2luZG93LmV2ZW50
U2VuZGVyKQotICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnRTZW5kZXIua2V5RG93bigiZXNj
YXBlIik7Ci0gICAgICAgICAgICAgICAgICAgIGVsc2UgewotICAgICAgICAgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZCgiTm8gZXZlbnRTZW5kZXIuIik7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAg
IH0sCi0gICAgICAgICAgICAgICAgZnVuY3Rpb24gKCkgewotICAgICAgICAgICAgICAgICAgICB0
ZXN0RmFpbGVkKCJQcm9taXNlIHJlamVjdGVkLiIpOwotICAgICAgICAgICAgICAgICAgICBmaW5p
c2hKU1Rlc3QoKTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICApOwotICAgICAgICB9
Ci0KLSAgICAgICAgZnVuY3Rpb24gcnVuVGVzdCgpIHsKLSAgICAgICAgICAgIGFjdGl2YXRlRWxl
bWVudCgidGhlSWZyYW1lIik7Ci0gICAgICAgIH0KLQotICAgICAgICBjb25zdCBob3N0VW5kZXJU
ZXN0ID0gImxvY2FsaG9zdDo4MDAwIjsKLSAgICAgICAgY29uc3Qgc3RhdGlzdGljc1VybCA9ICJo
dHRwOi8vIiArIGhvc3RVbmRlclRlc3QgKyAiL3RlbXAiOwotICAgICAgICB0ZXN0UnVubmVyLnNl
dFN0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsLCB0cnVlKTsKLSAgICAg
ICAgaWYgKCF0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3Rp
Y3NVcmwpKQotICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBkaWQgbm90IGdldCBzZXQgYXMg
cHJldmFsZW50IHJlc291cmNlLiIpOwotICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NI
YXNIYWRVc2VySW50ZXJhY3Rpb24oc3RhdGlzdGljc1VybCwgdHJ1ZSk7Ci0gICAgICAgIGlmICgh
dGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NIYXNIYWRVc2VySW50ZXJhY3Rpb24oc3RhdGlzdGljc1Vy
bCkpCi0gICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0IGxvZ2dlZCBmb3Ig
dXNlciBpbnRlcmFjdGlvbi4iKTsKLSAgICA8L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotICAg
IDxpZnJhbWUgc2FuZGJveD0iYWxsb3ctc3RvcmFnZS1hY2Nlc3MtYnktdXNlci1hY3RpdmF0aW9u
IGFsbG93LXNjcmlwdHMgYWxsb3ctc2FtZS1vcmlnaW4gYWxsb3ctbW9kYWxzIiBvbmxvYWQ9InJ1
blRlc3QoKSIgaWQ9InRoZUlmcmFtZSIgc3JjPSJodHRwOi8vbG9jYWxob3N0OjgwMDAvc3RvcmFn
ZUFjY2Vzcy9yZXNvdXJjZXMvcmVxdWVzdC1zdG9yYWdlLWFjY2Vzcy1pZnJhbWUuaHRtbCN1c2Vy
U2hvdWxkR3JhbnRBY2Nlc3MsdXNlclNob3VsZEJlQ29uc3VsdGVkLHBvbGljeVNob3VsZEdyYW50
QWNjZXNzLGlzTm90U2FtZU9yaWdpbklmcmFtZSI+PC9pZnJhbWU+Ci08L2JvZHk+Ci08L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9zdG9yYWdlQWNjZXNzL3JlcXVlc3QtYW5kLWdyYW50LXN0b3JhZ2UtYWNjZXNzLWNy
b3NzLW9yaWdpbi1zYW5kYm94ZWQtaWZyYW1lLWZyb20tcHJldmFsZW50LWRvbWFpbi13aXRoLXVz
ZXItaW50ZXJhY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9y
YWdlQWNjZXNzL3JlcXVlc3QtYW5kLWdyYW50LXN0b3JhZ2UtYWNjZXNzLWNyb3NzLW9yaWdpbi1z
YW5kYm94ZWQtaWZyYW1lLWZyb20tcHJldmFsZW50LWRvbWFpbi13aXRoLXVzZXItaW50ZXJhY3Rp
b24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjMwMDRmYTNhYzQ2NzBhMTlhMzFiNWJlMTEwMTQz
ZWQ1MDk2N2Q2MzMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3N0
b3JhZ2VBY2Nlc3MvcmVxdWVzdC1hbmQtZ3JhbnQtc3RvcmFnZS1hY2Nlc3MtY3Jvc3Mtb3JpZ2lu
LXNhbmRib3hlZC1pZnJhbWUtZnJvbS1wcmV2YWxlbnQtZG9tYWluLXdpdGgtdXNlci1pbnRlcmFj
dGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMSBAQAorQ09ORklSTTogRG8geW91IHdhbnQg
dG8gdXNlIHlvdXIgbG9jYWxob3N0IElEIG9uIDEyNy4wLjAuMT8KK1Rlc3RzIHRoYXQgY3Jvc3Mt
b3JpZ2luIGlmcmFtZSBzdG9yYWdlIGFjY2VzcyBpcyBncmFudGVkIGlmIHRoZSBpZnJhbWUgaXMg
c2FuZGJveGVkLCBoYXMgdGhlIGFsbG93IHRva2VuLCB0aGUgaWZyYW1lIG9yaWdpbiBpcyBhIHBy
ZXZhbGVudCByZXNvdXJjZSwgdGhlIGlmcmFtZSBvcmlnaW4gaGFzIGhhZCB1c2VyIGludGVyYWN0
aW9uLCBhbmQgdGhlIHVzZXIgb3B0cyBpbi4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CisKK1BBU1MgZG9jdW1lbnQuaGFzU3RvcmFnZUFjY2VzcyB3YXMgZ3JhbnRlZC4KK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvcmVxdWVzdC1hbmQtZ3JhbnQtc3Rv
cmFnZS1hY2Nlc3MtY3Jvc3Mtb3JpZ2luLXNhbmRib3hlZC1pZnJhbWUtZnJvbS1wcmV2YWxlbnQt
ZG9tYWluLXdpdGgtdXNlci1pbnRlcmFjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9zdG9yYWdlQWNjZXNzL3JlcXVlc3QtYW5kLWdyYW50LXN0b3JhZ2UtYWNjZXNzLWNyb3NzLW9y
aWdpbi1zYW5kYm94ZWQtaWZyYW1lLWZyb20tcHJldmFsZW50LWRvbWFpbi13aXRoLXVzZXItaW50
ZXJhY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yZjFlM2UzODZjMmEzMTM4M2E4YWI2NGYyYmViMjQ0
YmE0ODY1MWNhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zdG9y
YWdlQWNjZXNzL3JlcXVlc3QtYW5kLWdyYW50LXN0b3JhZ2UtYWNjZXNzLWNyb3NzLW9yaWdpbi1z
YW5kYm94ZWQtaWZyYW1lLWZyb20tcHJldmFsZW50LWRvbWFpbi13aXRoLXVzZXItaW50ZXJhY3Rp
b24uaHRtbApAQCAtMCwwICsxLDYwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+
CisgICAgPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LmpzIj48L3Njcmlw
dD4KKyAgICA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAgZGVzY3JpcHRpb24oIlRlc3RzIHRoYXQgY3Jv
c3Mtb3JpZ2luIGlmcmFtZSBzdG9yYWdlIGFjY2VzcyBpcyBncmFudGVkIGlmIHRoZSBpZnJhbWUg
aXMgc2FuZGJveGVkLCBoYXMgdGhlIGFsbG93IHRva2VuLCB0aGUgaWZyYW1lIG9yaWdpbiBpcyBh
IHByZXZhbGVudCByZXNvdXJjZSwgdGhlIGlmcmFtZSBvcmlnaW4gaGFzIGhhZCB1c2VyIGludGVy
YWN0aW9uLCBhbmQgdGhlIHVzZXIgb3B0cyBpbi4iKTsKKyAgICAgICAganNUZXN0SXNBc3luYyA9
IHRydWU7CisKKyAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLCByZWNl
aXZlTWVzc2FnZSwgZmFsc2UpOworCisgICAgICAgIGZ1bmN0aW9uIHJlY2VpdmVNZXNzYWdlKGV2
ZW50KSB7CisgICAgICAgICAgICBpZiAoZXZlbnQub3JpZ2luID09PSAiaHR0cDovL2xvY2FsaG9z
dDo4MDAwIikgeworICAgICAgICAgICAgICAgIGlmIChldmVudC5kYXRhLmluZGV4T2YoIlBBU1Mi
KSAhPT0gLTEpCisgICAgICAgICAgICAgICAgICAgIHRlc3RQYXNzZWQoZXZlbnQuZGF0YS5yZXBs
YWNlKCJQQVNTICIsICIiKSk7CisgICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAg
ICAgICB0ZXN0RmFpbGVkKGV2ZW50LmRhdGEpOworICAgICAgICAgICAgfSBlbHNlCisgICAgICAg
ICAgICAgICAgdGVzdEZhaWxlZCgiUmVjZWl2ZWQgYSBtZXNzYWdlIGZyb20gYW4gdW5leHBlY3Rl
ZCBvcmlnaW46ICIgKyBldmVudC5vcmlnaW4pOworICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7
CisgICAgICAgIH0KKworICAgICAgICBmdW5jdGlvbiBhY3RpdmF0ZUVsZW1lbnQoZWxlbWVudElk
KSB7CisgICAgICAgICAgICB2YXIgZWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGVs
ZW1lbnRJZCk7CisgICAgICAgICAgICB2YXIgY2VudGVyWCA9IGVsZW1lbnQub2Zmc2V0TGVmdCAr
IGVsZW1lbnQub2Zmc2V0V2lkdGggLyAyOworICAgICAgICAgICAgdmFyIGNlbnRlclkgPSBlbGVt
ZW50Lm9mZnNldFRvcCArIGVsZW1lbnQub2Zmc2V0SGVpZ2h0IC8gMjsKKyAgICAgICAgICAgIFVJ
SGVscGVyLmFjdGl2YXRlQXQoY2VudGVyWCwgY2VudGVyWSkudGhlbigKKyAgICAgICAgICAgICAg
ICBmdW5jdGlvbiAoKSB7CisgICAgICAgICAgICAgICAgICAgIGlmICh3aW5kb3cuZXZlbnRTZW5k
ZXIpCisgICAgICAgICAgICAgICAgICAgICAgICBldmVudFNlbmRlci5rZXlEb3duKCJlc2NhcGUi
KTsKKyAgICAgICAgICAgICAgICAgICAgZWxzZSB7CisgICAgICAgICAgICAgICAgICAgICAgICB0
ZXN0RmFpbGVkKCJObyBldmVudFNlbmRlci4iKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGZp
bmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfSwK
KyAgICAgICAgICAgICAgICBmdW5jdGlvbiAoKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RG
YWlsZWQoIlByb21pc2UgcmVqZWN0ZWQuIik7CisgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpT
VGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICk7CisgICAgICAgIH0KKwor
ICAgICAgICBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICAgICAgYWN0aXZhdGVFbGVtZW50
KCJ0aGVJZnJhbWUiKTsKKyAgICAgICAgfQorCisgICAgICAgIGNvbnN0IGhvc3RVbmRlclRlc3Qg
PSAibG9jYWxob3N0OjgwMDAiOworICAgICAgICBjb25zdCBzdGF0aXN0aWNzVXJsID0gImh0dHA6
Ly8iICsgaG9zdFVuZGVyVGVzdCArICIvdGVtcCI7CisgICAgICAgIHRlc3RSdW5uZXIuc2V0U3Rh
dGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwsIHRydWUpOworICAgICAgICBp
ZiAoIXRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1Vy
bCkpCisgICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0IHNldCBhcyBwcmV2
YWxlbnQgcmVzb3VyY2UuIik7CisgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc0hhc0hh
ZFVzZXJJbnRlcmFjdGlvbihzdGF0aXN0aWNzVXJsLCB0cnVlKTsKKyAgICAgICAgaWYgKCF0ZXN0
UnVubmVyLmlzU3RhdGlzdGljc0hhc0hhZFVzZXJJbnRlcmFjdGlvbihzdGF0aXN0aWNzVXJsKSkK
KyAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgZGlkIG5vdCBnZXQgbG9nZ2VkIGZvciB1c2Vy
IGludGVyYWN0aW9uLiIpOworICAgIDwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+CisgICAgPGlm
cmFtZSBzYW5kYm94PSJhbGxvdy1zdG9yYWdlLWFjY2Vzcy1ieS11c2VyLWFjdGl2YXRpb24gYWxs
b3ctc2NyaXB0cyBhbGxvdy1zYW1lLW9yaWdpbiBhbGxvdy1tb2RhbHMiIG9ubG9hZD0icnVuVGVz
dCgpIiBpZD0idGhlSWZyYW1lIiBzcmM9Imh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9zdG9yYWdlQWNj
ZXNzL3Jlc291cmNlcy9yZXF1ZXN0LXN0b3JhZ2UtYWNjZXNzLWlmcmFtZS5odG1sI3VzZXJTaG91
bGRHcmFudEFjY2Vzcyx1c2VyU2hvdWxkQmVDb25zdWx0ZWQscG9saWN5U2hvdWxkR3JhbnRBY2Nl
c3MsaXNOb3RTYW1lT3JpZ2luSWZyYW1lIj48L2lmcmFtZT4KKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3N0b3JhZ2VBY2Nlc3MvcmVzb3VyY2VzL2dldC1jb29raWVzLnBocCBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9yZXNvdXJjZXMvZ2V0LWNvb2tpZXMucGhwCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkYWQ4YjVhNDI3ZTAzNmFjZjExYWViZTYxMjg2NTQ3
ZDA2YmVhNjczLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9yZXNvdXJjZXMvZ2V0LWNvb2tp
ZXMucGhwCisrKyAvZGV2L251bGwKQEAgLTEsMjQgKzAsMCBAQAotPD9waHAKLWVjaG8gJF9HRVRb
Im1lc3NhZ2UiXSAuICI8YnI+IjsKLWlmKCFpc3NldCgkX0NPT0tJRVskX0dFVFsibmFtZTEiXV0p
KSB7Ci0gICAgZWNobyAiRGlkIG5vdCByZWNlaXZlIGNvb2tpZSBuYW1lZCAnIiAuICRfR0VUWyJu
YW1lMSJdIC4gIicuPGJyPiI7Ci19IGVsc2UgewotICAgIGVjaG8gIlJlY2VpdmVkIGNvb2tpZSBu
YW1lZCAnIiAuICRfR0VUWyJuYW1lMSJdIC4gIicuPGJyPiI7Ci19Ci1pZighaXNzZXQoJF9DT09L
SUVbJF9HRVRbIm5hbWUyIl1dKSkgewotICAgIGVjaG8gIkRpZCBub3QgcmVjZWl2ZSBjb29raWUg
bmFtZWQgJyIgLiAkX0dFVFsibmFtZTIiXSAuICInLjxicj4iOwotfSBlbHNlIHsKLSAgICBlY2hv
ICJSZWNlaXZlZCBjb29raWUgbmFtZWQgJyIgLiAkX0dFVFsibmFtZTIiXSAuICInLjxicj4iOwot
fQotaWYoIWVtcHR5KCRfR0VUWyJuYW1lMyJdKSkgewotICAgIGlmKCFpc3NldCgkX0NPT0tJRVsk
X0dFVFsibmFtZTMiXV0pKSB7Ci0gICAgICAgIGVjaG8gIkRpZCBub3QgcmVjZWl2ZSBjb29raWUg
bmFtZWQgJyIgLiAkX0dFVFsibmFtZTMiXSAuICInLjxicj4iOwotICAgIH0gZWxzZSB7Ci0gICAg
ICAgIGVjaG8gIlJlY2VpdmVkIGNvb2tpZSBuYW1lZCAnIiAuICRfR0VUWyJuYW1lMyJdIC4gIicu
PGJyPiI7Ci0gICAgfQotfQotPz4KLTxwIGlkPSJvdXRwdXQiPjwvcD4KLTxzY3JpcHQ+Ci0gICAg
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm91dHB1dCIpLnRleHRDb250ZW50ID0gIkNsaWVudC1z
aWRlIGRvY3VtZW50LmNvb2tpZTogIiArIGRvY3VtZW50LmNvb2tpZTsKLTwvc2NyaXB0PgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvc3RvcmFnZUFjY2Vzcy9yZXNvdXJjZXMvc2V0LWNvb2tpZS5waHAgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvcmVzb3VyY2VzL3NldC1jb29raWUucGhwCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzMzM5ZTliMDk1YWYxMTY3N2E3NmI3NWU2NDgyZGQ5ZjJh
MTc4M2QxLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9yZXNvdXJjZXMvc2V0LWNvb2tpZS5w
aHAKKysrIC9kZXYvbnVsbApAQCAtMSw5ICswLDAgQEAKLTw/cGhwCi1zZXRjb29raWUoJF9HRVRb
Im5hbWUiXSwgJF9HRVRbInZhbHVlIl0sICh0aW1lKCkrNjAqNjAqMjQqMzApLCAiLyIpOwotZWNo
byAkX0dFVFsibWVzc2FnZSJdIC4gIjxicj4iOwotPz4KLTxzY3JpcHQ+Ci1pZiAoZG9jdW1lbnQu
bG9jYXRpb24uaGFzaCkgewotICAgIHNldFRpbWVvdXQoImRvY3VtZW50LmxvY2F0aW9uLmhyZWYg
PSBkb2N1bWVudC5sb2NhdGlvbi5oYXNoLnN1YnN0cmluZygxKSIsIDEwKTsKLX0KLTwvc2NyaXB0
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy13azIvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy13azIvVGVzdEV4cGVjdGF0aW9ucwppbmRleCBhMzVlMWI3ZGNiZDBiNjhjMmJlNzQyY2U2OTU1
OWU5YTM3NzJhNzk4Li41NTRjMDFmNmQ3MGY4NDlkMjQ1ZGYzZTNkMDNiMWM2NmE1NWJkYTkwIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnMK
KysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9UZXN0RXhwZWN0YXRpb25zCkBAIC03
NTUsOCArNzU1LDcgQEAgaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL3JlcXVlc3Qtc3RvcmFnZS1h
Y2Nlc3Mtc2FtZS1vcmlnaW4taWZyYW1lLmh0bWwgWyBQYXNzIF0KIGh0dHAvdGVzdHMvc3RvcmFn
ZUFjY2Vzcy9yZXF1ZXN0LXN0b3JhZ2UtYWNjZXNzLXNhbWUtb3JpZ2luLXNhbmRib3hlZC1pZnJh
bWUtd2l0aG91dC1hbGxvdy10b2tlbi5odG1sIFsgUGFzcyBdCiBodHRwL3Rlc3RzL3N0b3JhZ2VB
Y2Nlc3MvcmVxdWVzdC1zdG9yYWdlLWFjY2Vzcy1zYW1lLW9yaWdpbi1zYW5kYm94ZWQtaWZyYW1l
Lmh0bWwgWyBQYXNzIF0KIGh0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9yZXF1ZXN0LWFuZC1ncmFu
dC1zdG9yYWdlLWFjY2Vzcy1jcm9zcy1vcmlnaW4tc2FuZGJveGVkLW5lc3RlZC1pZnJhbWUuaHRt
bCBbIFBhc3MgXQotaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL3JlcXVlc3QtYW5kLWdyYW50LXN0
b3JhZ2UtYWNjZXNzLWNyb3NzLW9yaWdpbi1zYW5kYm94ZWQtaWZyYW1lLWZyb20tcHJldmFsZW50
LWRvbWFpbi13aXRoLXJlY2VudC11c2VyLWludGVyYWN0aW9uLmh0bWwgWyBQYXNzIF0KLVsgSGln
aFNpZXJyYSsgXSBodHRwL3Rlc3RzL3N0b3JhZ2VBY2Nlc3MvcmVxdWVzdC1hbmQtZ3JhbnQtc3Rv
cmFnZS1hY2Nlc3MtY3Jvc3Mtb3JpZ2luLXNhbmRib3hlZC1pZnJhbWUtZnJvbS1wcmV2YWxlbnQt
ZG9tYWluLXdpdGgtbm9uLXJlY2VudC11c2VyLWludGVyYWN0aW9uLmh0bWwgWyBQYXNzIF0KK2h0
dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9yZXF1ZXN0LWFuZC1ncmFudC1zdG9yYWdlLWFjY2Vzcy1j
cm9zcy1vcmlnaW4tc2FuZGJveGVkLWlmcmFtZS1mcm9tLXByZXZhbGVudC1kb21haW4td2l0aC11
c2VyLWludGVyYWN0aW9uLmh0bWwgWyBQYXNzIF0KIGh0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9y
ZXF1ZXN0LWFuZC1ncmFudC1zdG9yYWdlLWFjY2Vzcy1jcm9zcy1vcmlnaW4tc2FuZGJveGVkLWlm
cmFtZS1mcm9tLXByZXZhbGVudC1kb21haW4td2l0aG91dC11c2VyLWludGVyYWN0aW9uLmh0bWwg
WyBQYXNzIF0KIGh0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9yZXF1ZXN0LXN0b3JhZ2UtYWNjZXNz
LXRvcC1mcmFtZS5odG1sIFsgUGFzcyBdCiAK
</data>
<flag name="commit-queue"
          id="346521"
          type_id="3"
          status="-"
          setter="commit-queue"
    />
          </attachment>
      

    </bug>

</bugzilla>