<?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>80908</bug_id>
          
          <creation_ts>2012-03-12 17:04:43 -0700</creation_ts>
          <short_desc>REGRESSION(r110501): Broke the Apple-Win build (Requested by abarth on #webkit).</short_desc>
          <delta_ts>2012-03-12 17:23:00 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>80625</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Review Bot">webkit.review.bot</reporter>
          <assigned_to name="WebKit Review Bot">webkit.review.bot</assigned_to>
          <cc>abarth</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>576751</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-12 17:04:43 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/110501 broke the build:
Broke the Apple-Win build (Requested by abarth on #webkit).

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

&quot;Only you can prevent forest fires.&quot; -- Smokey the Bear</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>576753</commentid>
    <comment_count>1</comment_count>
      <attachid>131461</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-12 17:05:30 -0700</bug_when>
    <thetext>Created attachment 131461
ROLLOUT of r110501

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>576771</commentid>
    <comment_count>2</comment_count>
      <attachid>131461</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-12 17:22:55 -0700</bug_when>
    <thetext>Comment on attachment 131461
ROLLOUT of r110501

Clearing flags on attachment: 131461

Committed r110511: &lt;http://trac.webkit.org/changeset/110511&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>576772</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-12 17:23:00 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>131461</attachid>
            <date>2012-03-12 17:05:30 -0700</date>
            <delta_ts>2012-03-12 17:22:55 -0700</delta_ts>
            <desc>ROLLOUT of r110501</desc>
            <filename>bug-80908-20120313000756.patch</filename>
            <type>text/plain</type>
            <size>104419</size>
            <attacher name="WebKit Review Bot">webkit.review.bot</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEwNTA1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjY3OWY1ZjI3MjNmNzlh
NmVkYWQ0YTc5NmY2ZTc5ZmUwMjY0M2U3My4uMmI1ZjYyMDJjYzFmNWVjYmYzMDQyNGE3NTYwZmYx
ZTVlYzY3MGQ3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDczIEBACisyMDEyLTAzLTEyICBTaGVy
aWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KKworICAgICAgICBVbnJldmll
d2VkLCByb2xsaW5nIG91dCByMTEwNTAxLgorICAgICAgICBodHRwOi8vdHJhYy53ZWJraXQub3Jn
L2NoYW5nZXNldC8xMTA1MDEKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTgwOTA4CisKKyAgICAgICAgQnJva2UgdGhlIEFwcGxlLVdpbiBidWlsZCAoUmVx
dWVzdGVkIGJ5IGFiYXJ0aCBvbiAjd2Via2l0KS4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0
OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogRGVyaXZlZFNvdXJj
ZXMucHJpOgorICAgICAgICAqIEdOVW1ha2VmaWxlLmFtOgorICAgICAgICAqIEdOVW1ha2VmaWxl
Lmxpc3QuYW06CisgICAgICAgICogVGFyZ2V0LnByaToKKyAgICAgICAgKiBXZWJDb3JlLmd5cC9X
ZWJDb3JlLmd5cDoKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogV2ViQ29yZS5w
cmk6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAg
ICAqIGZpbGVhcGkvRGlyZWN0b3J5RW50cnkuY3BwOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9maWxlc3lzdGVtL0RpcmVjdG9yeUVudHJ5LmNwcC4KKyAgICAgICAgKFdlYkNv
cmUpOgorICAgICAgICAoV2ViQ29yZTo6RGlyZWN0b3J5RW50cnk6OkRpcmVjdG9yeUVudHJ5KToK
KyAgICAgICAgKFdlYkNvcmU6OkRpcmVjdG9yeUVudHJ5OjpjcmVhdGVSZWFkZXIpOgorICAgICAg
ICAoV2ViQ29yZTo6RGlyZWN0b3J5RW50cnk6OmdldEZpbGUpOgorICAgICAgICAoV2ViQ29yZTo6
RGlyZWN0b3J5RW50cnk6OmdldERpcmVjdG9yeSk6CisgICAgICAgIChXZWJDb3JlOjpEaXJlY3Rv
cnlFbnRyeTo6cmVtb3ZlUmVjdXJzaXZlbHkpOgorICAgICAgICAqIGZpbGVhcGkvRGlyZWN0b3J5
RW50cnkuaDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmlsZXN5c3RlbS9E
aXJlY3RvcnlFbnRyeS5oLgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChEaXJlY3RvcnlF
bnRyeSk6CisgICAgICAgIChXZWJDb3JlOjpEaXJlY3RvcnlFbnRyeTo6Y3JlYXRlKToKKyAgICAg
ICAgKFdlYkNvcmU6OkRpcmVjdG9yeUVudHJ5Ojppc0RpcmVjdG9yeSk6CisgICAgICAgICogZmls
ZWFwaS9EaXJlY3RvcnlFbnRyeS5pZGw6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2ZpbGVzeXN0ZW0vRGlyZWN0b3J5RW50cnkuaWRsLgorICAgICAgICAqIGZpbGVhcGkvRGly
ZWN0b3J5RW50cnlTeW5jLmNwcDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMv
ZmlsZXN5c3RlbS9EaXJlY3RvcnlFbnRyeVN5bmMuY3BwLgorICAgICAgICAoV2ViQ29yZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpEaXJlY3RvcnlFbnRyeVN5bmM6OkRpcmVjdG9yeUVudHJ5U3luYyk6
CisgICAgICAgIChXZWJDb3JlOjpEaXJlY3RvcnlFbnRyeVN5bmM6OmNyZWF0ZVJlYWRlcik6Cisg
ICAgICAgIChXZWJDb3JlOjpEaXJlY3RvcnlFbnRyeVN5bmM6OmdldEZpbGUpOgorICAgICAgICAo
V2ViQ29yZTo6RGlyZWN0b3J5RW50cnlTeW5jOjpnZXREaXJlY3RvcnkpOgorICAgICAgICAoV2Vi
Q29yZTo6RGlyZWN0b3J5RW50cnlTeW5jOjpyZW1vdmVSZWN1cnNpdmVseSk6CisgICAgICAgICog
ZmlsZWFwaS9EaXJlY3RvcnlFbnRyeVN5bmMuaDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvZmlsZXN5c3RlbS9EaXJlY3RvcnlFbnRyeVN5bmMuaC4KKyAgICAgICAgKFdlYkNv
cmUpOgorICAgICAgICAoRGlyZWN0b3J5RW50cnlTeW5jKToKKyAgICAgICAgKFdlYkNvcmU6OkRp
cmVjdG9yeUVudHJ5U3luYzo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkRpcmVjdG9yeUVu
dHJ5U3luYzo6aXNEaXJlY3RvcnkpOgorICAgICAgICAqIGZpbGVhcGkvRGlyZWN0b3J5RW50cnlT
eW5jLmlkbDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmlsZXN5c3RlbS9E
aXJlY3RvcnlFbnRyeVN5bmMuaWRsLgorICAgICAgICAqIGZpbGVhcGkvRGlyZWN0b3J5UmVhZGVy
LmNwcDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmlsZXN5c3RlbS9EaXJl
Y3RvcnlSZWFkZXIuY3BwLgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpE
aXJlY3RvcnlSZWFkZXI6OkRpcmVjdG9yeVJlYWRlcik6CisgICAgICAgIChXZWJDb3JlOjpEaXJl
Y3RvcnlSZWFkZXI6OnJlYWRFbnRyaWVzKToKKyAgICAgICAgKiBmaWxlYXBpL0RpcmVjdG9yeVJl
YWRlci5oOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9maWxlc3lzdGVtL0Rp
cmVjdG9yeVJlYWRlci5oLgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChEaXJlY3RvcnlS
ZWFkZXIpOgorICAgICAgICAoV2ViQ29yZTo6RGlyZWN0b3J5UmVhZGVyOjpjcmVhdGUpOgorICAg
ICAgICAoV2ViQ29yZTo6RGlyZWN0b3J5UmVhZGVyOjpmaWxlc3lzdGVtKToKKyAgICAgICAgKiBm
aWxlYXBpL0RpcmVjdG9yeVJlYWRlci5pZGw6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2ZpbGVzeXN0ZW0vRGlyZWN0b3J5UmVhZGVyLmlkbC4KKyAgICAgICAgKiBmaWxlYXBp
L0RpcmVjdG9yeVJlYWRlckJhc2UuaDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvZmlsZXN5c3RlbS9EaXJlY3RvcnlSZWFkZXJCYXNlLmguCisgICAgICAgIChXZWJDb3JlKToK
KyAgICAgICAgKERpcmVjdG9yeVJlYWRlckJhc2UpOgorICAgICAgICAoV2ViQ29yZTo6RGlyZWN0
b3J5UmVhZGVyQmFzZTo6ZmlsZXN5c3RlbSk6CisgICAgICAgIChXZWJDb3JlOjpEaXJlY3RvcnlS
ZWFkZXJCYXNlOjpzZXRIYXNNb3JlRW50cmllcyk6CisgICAgICAgIChXZWJDb3JlOjpEaXJlY3Rv
cnlSZWFkZXJCYXNlOjpEaXJlY3RvcnlSZWFkZXJCYXNlKToKKyAgICAgICAgKiBmaWxlYXBpL0Rp
cmVjdG9yeVJlYWRlclN5bmMuY3BwOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9maWxlc3lzdGVtL0RpcmVjdG9yeVJlYWRlclN5bmMuY3BwLgorICAgICAgICAoV2ViQ29yZSk6
CisgICAgICAgIChXZWJDb3JlOjpEaXJlY3RvcnlSZWFkZXJTeW5jOjpEaXJlY3RvcnlSZWFkZXJT
eW5jKToKKyAgICAgICAgKFdlYkNvcmU6OkRpcmVjdG9yeVJlYWRlclN5bmM6OnJlYWRFbnRyaWVz
KToKKyAgICAgICAgKiBmaWxlYXBpL0RpcmVjdG9yeVJlYWRlclN5bmMuaDogUmVuYW1lZCBmcm9t
IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmlsZXN5c3RlbS9EaXJlY3RvcnlSZWFkZXJTeW5jLmgu
CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKERpcmVjdG9yeVJlYWRlclN5bmMpOgorICAg
ICAgICAoV2ViQ29yZTo6RGlyZWN0b3J5UmVhZGVyU3luYzo6Y3JlYXRlKToKKyAgICAgICAgKiBm
aWxlYXBpL0RpcmVjdG9yeVJlYWRlclN5bmMuaWRsOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9maWxlc3lzdGVtL0RpcmVjdG9yeVJlYWRlclN5bmMuaWRsLgorCiAyMDEyLTAz
LTEyICBFbWlsIEEgRWtsdW5kICA8ZWFlQGNocm9taXVtLm9yZz4KIAogICAgICAgICBGaXggcm91
bmRpbmcgaW4gc2Nyb2xsYmFyIHJlY3QgY2FsY3VsYXRpb25zCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0Cmlu
ZGV4IGQ0YjU0ZGU0ODViYWE5ZGI0MzAzMzZlZDcyNTIyMGYyZjMxNTMwYWMuLjJmY2MyNjU1NzMz
MjYzOTVjYTQ0MDI0NDRjZDAwYThlOGNjYWMyMjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC0x
LDYgKzEsNSBAQAogU0VUKFdlYkNvcmVfSU5DTFVERV9ESVJFQ1RPUklFUwogICAgICIke1dFQkNP
UkVfRElSfSIKLSAgICAiJHtXRUJDT1JFX0RJUn0vTW9kdWxlcy9maWxlc3lzdGVtIgogICAgICIk
e1dFQkNPUkVfRElSfS9Nb2R1bGVzL2dlb2xvY2F0aW9uIgogICAgICIke1dFQkNPUkVfRElSfS9N
b2R1bGVzL2luZGV4ZWRkYiIKICAgICAiJHtXRUJDT1JFX0RJUn0vTW9kdWxlcy93ZWJkYXRhYmFz
ZSIKQEAgLTkzLDcgKzkyLDYgQEAgU0VUKFdlYkNvcmVfSU5DTFVERV9ESVJFQ1RPUklFUwogKQog
CiBTRVQoV2ViQ29yZV9JRExfSU5DTFVERVMKLSAgICBNb2R1bGVzL2ZpbGVzeXN0ZW0KICAgICBN
b2R1bGVzL2dlb2xvY2F0aW9uCiAgICAgTW9kdWxlcy9pbmRleGVkZGIKICAgICBNb2R1bGVzL3dl
YmRhdGFiYXNlCkBAIC0xNjM4LDEwICsxNjM2LDEwIEBAIEVORElGICgpCiAKIGlmIChFTkFCTEVf
RklMRV9TWVNURU0pCiAgICAgTElTVChBUFBFTkQgV2ViQ29yZV9TT1VSQ0VTCi0gICAgICAgIE1v
ZHVsZXMvZmlsZXN5c3RlbS9EaXJlY3RvcnlFbnRyeS5jcHAKLSAgICAgICAgTW9kdWxlcy9maWxl
c3lzdGVtL0RpcmVjdG9yeUVudHJ5U3luYy5jcHAKLSAgICAgICAgTW9kdWxlcy9maWxlc3lzdGVt
L0RpcmVjdG9yeVJlYWRlci5jcHAKLSAgICAgICAgTW9kdWxlcy9maWxlc3lzdGVtL0RpcmVjdG9y
eVJlYWRlclN5bmMuY3BwCisgICAgICAgIGZpbGVhcGkvRGlyZWN0b3J5RW50cnkuY3BwCisgICAg
ICAgIGZpbGVhcGkvRGlyZWN0b3J5RW50cnlTeW5jLmNwcAorICAgICAgICBmaWxlYXBpL0RpcmVj
dG9yeVJlYWRlci5jcHAKKyAgICAgICAgZmlsZWFwaS9EaXJlY3RvcnlSZWFkZXJTeW5jLmNwcAog
ICAgICAgICBmaWxlYXBpL0RPTUZpbGVQYXRoLmNwcAogICAgICAgICBmaWxlYXBpL0RPTUZpbGVT
eXN0ZW0uY3BwCiAgICAgICAgIGZpbGVhcGkvRE9NRmlsZVN5c3RlbUJhc2UuY3BwCkBAIC0xNjYz
LDEwICsxNjYxLDEwIEBAIGlmIChFTkFCTEVfRklMRV9TWVNURU0pCiAgICAgICAgIHBsYXRmb3Jt
L0FzeW5jRmlsZVN5c3RlbS5jcHAKICAgICApCiAgICAgTElTVChBUFBFTkQgV2ViQ29yZV9JRExf
RklMRVMKLSAgICAgICAgTW9kdWxlcy9maWxlc3lzdGVtL0RpcmVjdG9yeUVudHJ5LmlkbAotICAg
ICAgICBNb2R1bGVzL2ZpbGVzeXN0ZW0vRGlyZWN0b3J5RW50cnlTeW5jLmlkbAotICAgICAgICBN
b2R1bGVzL2ZpbGVzeXN0ZW0vRGlyZWN0b3J5UmVhZGVyLmlkbAotICAgICAgICBNb2R1bGVzL2Zp
bGVzeXN0ZW0vRGlyZWN0b3J5UmVhZGVyU3luYy5pZGwKKyAgICAgICAgZmlsZWFwaS9EaXJlY3Rv
cnlFbnRyeS5pZGwKKyAgICAgICAgZmlsZWFwaS9EaXJlY3RvcnlFbnRyeVN5bmMuaWRsCisgICAg
ICAgIGZpbGVhcGkvRGlyZWN0b3J5UmVhZGVyLmlkbAorICAgICAgICBmaWxlYXBpL0RpcmVjdG9y
eVJlYWRlclN5bmMuaWRsCiAgICAgICAgIGZpbGVhcGkvRE9NRmlsZVN5c3RlbS5pZGwKICAgICAg
ICAgZmlsZWFwaS9ET01GaWxlU3lzdGVtU3luYy5pZGwKICAgICAgICAgZmlsZWFwaS9ET01XaW5k
b3dGaWxlU3lzdGVtLmlkbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJj
ZXMubWFrZSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggNTdhNDhj
ZmM0YjljOGZlMzU4ZTcwNzhjNmE4ZmUyZWQzYWVlMDJhYS4uMjQ2MDY4MzNhNTc2ZDhkN2ZiNTgx
YzFiMzY1YWY2ZDYwOGQyMWM2NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNv
dXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC0y
OCw3ICsyOCw2IEBACiAKIFZQQVRIID0gXAogICAgICQoV2ViQ29yZSkgXAotICAgICQoV2ViQ29y
ZSkvTW9kdWxlcy9maWxlc3lzdGVtIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvZ2VvbG9jYXRp
b24gXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9pbmRleGVkZGIgXAogICAgICQoV2ViQ29yZSkv
TW9kdWxlcy93ZWJkYXRhYmFzZSBcCkBAIC0xOTYsMTAgKzE5NSwxMCBAQCBCSU5ESU5HX0lETFMg
PSBcCiAgICAgJChXZWJDb3JlKS9maWxlYXBpL0RPTUZpbGVTeXN0ZW0uaWRsIFwKICAgICAkKFdl
YkNvcmUpL2ZpbGVhcGkvRE9NRmlsZVN5c3RlbVN5bmMuaWRsIFwKICAgICAkKFdlYkNvcmUpL2Zp
bGVhcGkvRE9NV2luZG93RmlsZVN5c3RlbS5pZGwgXAotICAgICQoV2ViQ29yZSkvTW9kdWxlcy9m
aWxlc3lzdGVtL0RpcmVjdG9yeUVudHJ5LmlkbCBcCi0gICAgJChXZWJDb3JlKS9Nb2R1bGVzL2Zp
bGVzeXN0ZW0vRGlyZWN0b3J5RW50cnlTeW5jLmlkbCBcCi0gICAgJChXZWJDb3JlKS9Nb2R1bGVz
L2ZpbGVzeXN0ZW0vRGlyZWN0b3J5UmVhZGVyLmlkbCBcCi0gICAgJChXZWJDb3JlKS9Nb2R1bGVz
L2ZpbGVzeXN0ZW0vRGlyZWN0b3J5UmVhZGVyU3luYy5pZGwgXAorICAgICQoV2ViQ29yZSkvZmls
ZWFwaS9EaXJlY3RvcnlFbnRyeS5pZGwgXAorICAgICQoV2ViQ29yZSkvZmlsZWFwaS9EaXJlY3Rv
cnlFbnRyeVN5bmMuaWRsIFwKKyAgICAkKFdlYkNvcmUpL2ZpbGVhcGkvRGlyZWN0b3J5UmVhZGVy
LmlkbCBcCisgICAgJChXZWJDb3JlKS9maWxlYXBpL0RpcmVjdG9yeVJlYWRlclN5bmMuaWRsIFwK
ICAgICAkKFdlYkNvcmUpL2ZpbGVhcGkvRW50cmllc0NhbGxiYWNrLmlkbCBcCiAgICAgJChXZWJD
b3JlKS9maWxlYXBpL0VudHJ5LmlkbCBcCiAgICAgJChXZWJDb3JlKS9maWxlYXBpL0VudHJ5QXJy
YXkuaWRsIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLnByaSBi
L1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLnByaQppbmRleCBmMjQ3MzllYTcxZjk3YWZk
OTlmOTM1MGFmZDllNjEyNmQxMGExOTkyLi5hZjRmNWI1MGI4NTdmMjJmMTBiNGM1N2IzZGFkOGUx
ZDI4ODM1YWQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5wcmkK
KysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMucHJpCkBAIC0yMTYsMTAgKzIxNiwx
MCBAQCBJRExfQklORElOR1MgKz0gXAogICAgICQkUFdEL2RvbS9XZWJLaXRUcmFuc2l0aW9uRXZl
bnQuaWRsIFwKICAgICAkJFBXRC9kb20vV2hlZWxFdmVudC5pZGwgXAogICAgICQkUFdEL2ZpbGVh
cGkvQmxvYi5pZGwgXAotICAgICQkUFdEL01vZHVsZXMvZmlsZXN5c3RlbS9EaXJlY3RvcnlFbnRy
eS5pZGwgXAotICAgICQkUFdEL01vZHVsZXMvZmlsZXN5c3RlbS9EaXJlY3RvcnlFbnRyeVN5bmMu
aWRsIFwKLSAgICAkJFBXRC9Nb2R1bGVzL2ZpbGVzeXN0ZW0vRGlyZWN0b3J5UmVhZGVyLmlkbCBc
Ci0gICAgJCRQV0QvTW9kdWxlcy9maWxlc3lzdGVtL0RpcmVjdG9yeVJlYWRlclN5bmMuaWRsIFwK
KyAgICAkJFBXRC9maWxlYXBpL0RpcmVjdG9yeUVudHJ5LmlkbCBcCisgICAgJCRQV0QvZmlsZWFw
aS9EaXJlY3RvcnlFbnRyeVN5bmMuaWRsIFwKKyAgICAkJFBXRC9maWxlYXBpL0RpcmVjdG9yeVJl
YWRlci5pZGwgXAorICAgICQkUFdEL2ZpbGVhcGkvRGlyZWN0b3J5UmVhZGVyU3luYy5pZGwgXAog
ICAgICQkUFdEL2ZpbGVhcGkvRE9NRmlsZVN5c3RlbS5pZGwgXAogICAgICQkUFdEL2ZpbGVhcGkv
RE9NRmlsZVN5c3RlbVN5bmMuaWRsIFwKICAgICAkJFBXRC9maWxlYXBpL0RPTVdpbmRvd0ZpbGVT
eXN0ZW0uaWRsIFwKQEAgLTY5Niw3ICs2OTYsNiBAQCBlbHNlOiBnZW5lcmF0b3IgPSBKUwogZ2Vu
ZXJhdGVCaW5kaW5ncy5jb21tYW5kcyA9IHBlcmwgLUkkJFBXRC9iaW5kaW5ncy9zY3JpcHRzICQk
Z2VuZXJhdGVCaW5kaW5ncy5zY3JpcHQgXAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0t
ZGVmaW5lcyBcIiQke0ZFQVRVUkVfREVGSU5FU19KQVZBU0NSSVBUfVwiIFwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAtLWdlbmVyYXRvciAkJGdlbmVyYXRvciBcCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLS1pbmNsdWRlICQkUFdEL01vZHVsZXMvZmlsZXN5c3RlbSBcCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLS1pbmNsdWRlICQkUFdEL01vZHVsZXMvZ2VvbG9jYXRp
b24gXAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0taW5jbHVkZSAkJFBXRC9Nb2R1bGVz
L2luZGV4ZWRkYiBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS1pbmNsdWRlICQkUFdE
L01vZHVsZXMvd2ViZGF0YWJhc2UgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvR05VbWFr
ZWZpbGUuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQppbmRleCBiMWZlZmVmMTcz
NGM4YWY3NTg0ZWY1MGFiNmM0N2YwYTIwOWE1NmEzLi5lYmRjYzhmY2M0MDBmYmYwNTRiYTFmNzYw
N2QyYjU0YTFiOWE3Mzk1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5h
bQorKysgYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQpAQCAtMTEsNyArMTEsNiBAQCB3
ZWJjb3JlX2NwcGZsYWdzICs9IFwKIAktSSQoc3JjZGlyKS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdM
RS9pbmNsdWRlIFwKIAktSSQoc3JjZGlyKS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9pbmNsdWRl
L0dMU0xBTkcgXAogCS1JJChzcmNkaXIpL1NvdXJjZS9XZWJDb3JlIFwKLQktSSQoc3JjZGlyKS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZpbGVzeXN0ZW0gXAogCS1JJChzcmNkaXIpL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvZ2VvbG9jYXRpb24gXAogCS1JJChzcmNkaXIpL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvaW5kZXhlZGRiIFwKIAktSSQoc3JjZGlyKS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc3RyZWFtIFwKQEAgLTQ3NCw3ICs0NzMsNyBAQCBGRUFUVVJFX0RFRklORVMgKz0gRU5B
QkxFX01BVEhNTD0xCiB3ZWJjb3JlX2NwcGZsYWdzICs9IC1ERU5BQkxFX01BVEhNTD0xCiBlbmRp
ZiAjIEVORCBFTkFCTEVfTUFUSE1MCiAKLSMgTWF0aE1MIHRhZyBhbmQgYXR0cmlidXRlIG5hbWVz
LCBhbmQgZWxlbWVudCBmYWN0b3J5CisjIE1hdGhNTCB0YWcgYW5kIGF0dHJpYnV0ZSBuYW1lcywg
YW5kIGVsZW1lbnQgZmFjdG9yeSAKIERlcml2ZWRTb3VyY2VzL1dlYkNvcmUvTWF0aE1MRWxlbWVu
dEZhY3RvcnkuaDogRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9NYXRoTUxFbGVtZW50RmFjdG9yeS5j
cHAKIERlcml2ZWRTb3VyY2VzL1dlYkNvcmUvTWF0aE1MTmFtZXMuaDogRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9NYXRoTUxOYW1lcy5jcHAKIERlcml2ZWRTb3VyY2VzL1dlYkNvcmUvTWF0aE1MRWxl
bWVudEZhY3RvcnkuY3BwIERlcml2ZWRTb3VyY2VzL1dlYkNvcmUvTWF0aE1MTmFtZXMuY3BwOiAk
KFdlYkNvcmUpL2RvbS9tYWtlX25hbWVzLnBsICQoV2ViQ29yZSkvbWF0aG1sL21hdGh0YWdzLmlu
ICQoV2ViQ29yZSkvbWF0aG1sL21hdGhhdHRycy5pbgpAQCAtNDk2LDcgKzQ5NSw3IEBAIGVuZGlm
ICMgRU5EIEVOQUJMRV9OT1RJRklDQVRJT05TCiBpZiBFTkFCTEVfU1ZHCiBGRUFUVVJFX0RFRklO
RVMgKz0gRU5BQkxFX1NWRz0xCiB3ZWJjb3JlX2NwcGZsYWdzICs9IC1ERU5BQkxFX1NWRz0xCi1X
RUJDT1JFX0NTU19QUk9QRVJUWV9OQU1FUyArPSAkKFdlYkNvcmUpL2Nzcy9TVkdDU1NQcm9wZXJ0
eU5hbWVzLmluCitXRUJDT1JFX0NTU19QUk9QRVJUWV9OQU1FUyArPSAkKFdlYkNvcmUpL2Nzcy9T
VkdDU1NQcm9wZXJ0eU5hbWVzLmluIAogV0VCQ09SRV9DU1NfVkFMVUVfS0VZV09SRFMgKz0gJChX
ZWJDb3JlKS9jc3MvU1ZHQ1NTVmFsdWVLZXl3b3Jkcy5pbgogCiAjIFNWRyBGZWF0dXJlcwpAQCAt
Nzc5LDcgKzc3OCw2IEBAIERlcml2ZWRTb3VyY2VzL0FOR0xFL2dsc2xhbmdfdGFiLmNwcDogU291
cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2NvbXBpbGVyL2dsc2xhCiBEZXJpdmVkU291cmNlcy9B
TkdMRS9nbHNsYW5nX3RhYi5oOiBEZXJpdmVkU291cmNlcy9BTkdMRS9nbHNsYW5nX3RhYi5jcHAK
IAogSURMX1BBVEggOj0gXAotICAgICQoV2ViQ29yZSkvTW9kdWxlcy9maWxlc3lzdGVtIFwKICAg
ICAkKFdlYkNvcmUpL01vZHVsZXMvZ2VvbG9jYXRpb24gXAogICAgICQoV2ViQ29yZSkvTW9kdWxl
cy9pbmRleGVkZGIgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tZWRpYXN0cmVhbSBcCkBAIC04
MjksNyArODI3LDcgQEAgRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KUyUuaDogJS5pZGwgJChTQ1JJ
UFRTX0ZPUl9HRU5FUkFURV9CSU5ESU5HUykgJChXZWJDb3JlKS8KIAkkKEFNX1ZfR0VOKSQoUEVS
TCkgLUkkKFdlYkNvcmUpL2JpbmRpbmdzL3NjcmlwdHMgJChXZWJDb3JlKS9iaW5kaW5ncy9zY3Jp
cHRzL2dlbmVyYXRlLWJpbmRpbmdzLnBsICQoSURMX1BBVEg6JT0tLWluY2x1ZGUgIiUiKSAtLW91
dHB1dERpciAiJChHRU5TT1VSQ0VTX1dFQkNPUkUpIiAtLWRlZmluZXMgIkxBTkdVQUdFX0pBVkFT
Q1JJUFQ9MSAkKEZFQVRVUkVfREVGSU5FUykiIC0tZ2VuZXJhdG9yIEpTIC0tc3VwcGxlbWVudGFs
RGVwZW5kZW5jeUZpbGUgJChzdXBwbGVtZW50YWxfZGVwZW5kZW5jeV9maWxlKSAkPAogCiAjIFNl
ZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYzODgKLSMgV2UgbmVl
ZCB0byBpbnRyb2R1Y2UgYSBtYW51YWwgZGVwZW5kZW5jeSB0byBwcmV2ZW50IG5vbi1nZW5lcmF0
ZWQgc291cmNlcyBmcm9tCisjIFdlIG5lZWQgdG8gaW50cm9kdWNlIGEgbWFudWFsIGRlcGVuZGVu
Y3kgdG8gcHJldmVudCBub24tZ2VuZXJhdGVkIHNvdXJjZXMgZnJvbSAKICMgdHJ5aW5nIHRvIGJ1
aWxkIGJlZm9yZSB0aGUgZ2VuZXJhdGVkIG9uZXMuIFRoaXMgY2FuIGhhcHBlbiBpZiB0aGUgc3Vw
cGxlbWVudGFsCiAjIElETCBnZW5lcmF0aW9uIHRha2VzIGEgbG9uZyB0aW1lLiBUaGUgcGlwZSBy
ZXByZXNlbnRzIGFuIG9yZGVyLW9ubHkgZGVwZW5kZW5jeSwKICMgd2hpY2ggbWVhbnMgdGhhdCBH
TlVtYWtlIHdpbGwgb25seSB0cnkgdG8gYnVpbGQgdGhlIGRlcGVuZGVuY2llcyBmaXJzdCwgYnV0
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtIGIvU291cmNl
L1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQppbmRleCA4OGUxYmNiY2EwMjlkY2UxMzdmN2Y3
ZmZmNmJmNDRhOThkMzQ1NzkyLi5hMzQ0NDM2OTU5N2ViYWQ1ZDc0YTBiZWI3NDFkNTgzN2IwM2U0
MDkyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCisrKyBi
L1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KQEAgLTIwMzksMTQgKzIwMzksMTQg
QEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9maWxlYXBpL0Jsb2IuaCBc
CiAJU291cmNlL1dlYkNvcmUvZmlsZWFwaS9CbG9iVVJMLmNwcCBcCiAJU291cmNlL1dlYkNvcmUv
ZmlsZWFwaS9CbG9iVVJMLmggXAotCVNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmlsZXN5c3RlbS9E
aXJlY3RvcnlFbnRyeS5jcHAgXAotCVNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmlsZXN5c3RlbS9E
aXJlY3RvcnlFbnRyeS5oIFwKLQlTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZpbGVzeXN0ZW0vRGly
ZWN0b3J5RW50cnlTeW5jLmNwcCBcCi0JU291cmNlL1dlYkNvcmUvTW9kdWxlcy9maWxlc3lzdGVt
L0RpcmVjdG9yeUVudHJ5U3luYy5oIFwKLQlTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZpbGVzeXN0
ZW0vRGlyZWN0b3J5UmVhZGVyLmNwcCBcCi0JU291cmNlL1dlYkNvcmUvTW9kdWxlcy9maWxlc3lz
dGVtL0RpcmVjdG9yeVJlYWRlci5oIFwKLQlTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZpbGVzeXN0
ZW0vRGlyZWN0b3J5UmVhZGVyU3luYy5jcHAgXAotCVNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmls
ZXN5c3RlbS9EaXJlY3RvcnlSZWFkZXJTeW5jLmggXAorCVNvdXJjZS9XZWJDb3JlL2ZpbGVhcGkv
RGlyZWN0b3J5RW50cnkuY3BwIFwKKwlTb3VyY2UvV2ViQ29yZS9maWxlYXBpL0RpcmVjdG9yeUVu
dHJ5LmggXAorCVNvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRGlyZWN0b3J5RW50cnlTeW5jLmNwcCBc
CisJU291cmNlL1dlYkNvcmUvZmlsZWFwaS9EaXJlY3RvcnlFbnRyeVN5bmMuaCBcCisJU291cmNl
L1dlYkNvcmUvZmlsZWFwaS9EaXJlY3RvcnlSZWFkZXIuY3BwIFwKKwlTb3VyY2UvV2ViQ29yZS9m
aWxlYXBpL0RpcmVjdG9yeVJlYWRlci5oIFwKKwlTb3VyY2UvV2ViQ29yZS9maWxlYXBpL0RpcmVj
dG9yeVJlYWRlclN5bmMuY3BwIFwKKwlTb3VyY2UvV2ViQ29yZS9maWxlYXBpL0RpcmVjdG9yeVJl
YWRlclN5bmMuaCBcCiAJU291cmNlL1dlYkNvcmUvZmlsZWFwaS9ET01GaWxlUGF0aC5jcHAgXAog
CVNvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRE9NRmlsZVBhdGguaCBcCiAJU291cmNlL1dlYkNvcmUv
ZmlsZWFwaS9ET01GaWxlU3lzdGVtLmNwcCBcCkBAIC00ODczLDEwICs0ODczLDEwIEBAIGRvbV9i
aW5kaW5nX2lkbHMgKz0gXAogCSQoV2ViQ29yZSkvZmlsZWFwaS9ET01GaWxlU3lzdGVtLmlkbCBc
CiAJJChXZWJDb3JlKS9maWxlYXBpL0RPTUZpbGVTeXN0ZW1TeW5jLmlkbCBcCiAJJChXZWJDb3Jl
KS9maWxlYXBpL0RPTVdpbmRvd0ZpbGVTeXN0ZW0uaWRsIFwKLQkkKFdlYkNvcmUpL01vZHVsZXMv
ZmlsZXN5c3RlbS9EaXJlY3RvcnlFbnRyeS5pZGwgXAotCSQoV2ViQ29yZSkvTW9kdWxlcy9maWxl
c3lzdGVtL0RpcmVjdG9yeUVudHJ5U3luYy5pZGwgXAotCSQoV2ViQ29yZSkvTW9kdWxlcy9maWxl
c3lzdGVtL0RpcmVjdG9yeVJlYWRlci5pZGwgXAotCSQoV2ViQ29yZSkvTW9kdWxlcy9maWxlc3lz
dGVtL0RpcmVjdG9yeVJlYWRlclN5bmMuaWRsIFwKKwkkKFdlYkNvcmUpL2ZpbGVhcGkvRGlyZWN0
b3J5RW50cnkuaWRsIFwKKwkkKFdlYkNvcmUpL2ZpbGVhcGkvRGlyZWN0b3J5RW50cnlTeW5jLmlk
bCBcCisJJChXZWJDb3JlKS9maWxlYXBpL0RpcmVjdG9yeVJlYWRlci5pZGwgXAorCSQoV2ViQ29y
ZSkvZmlsZWFwaS9EaXJlY3RvcnlSZWFkZXJTeW5jLmlkbCBcCiAJJChXZWJDb3JlKS9maWxlYXBp
L0VudHJpZXNDYWxsYmFjay5pZGwgXAogCSQoV2ViQ29yZSkvZmlsZWFwaS9FbnRyeS5pZGwgXAog
CSQoV2ViQ29yZSkvZmlsZWFwaS9FbnRyeUFycmF5LmlkbCBcCkBAIC01ODI0LDcgKzU4MjQsNyBA
QCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3RleG1hcC9UZXh0dXJlTWFwcGVySW1hZ2VCdWZmZXIuaCBcCiAJU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJMYXllci5jcHAgXAogCVNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyTGF5ZXIuaCBcCi0J
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJQbGF0
Zm9ybUxheWVyLmgKKwlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4
dHVyZU1hcHBlclBsYXRmb3JtTGF5ZXIuaCAKIHdlYmNvcmVndGtfc291cmNlcyArPSBcCiAJU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vVGV4dHVyZU1hcHBlckNhaXJvLmNw
cCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vVGV4dHVyZU1hcHBl
ckNhaXJvLmgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmlsZXN5c3RlbS9E
aXJlY3RvcnlFbnRyeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZpbGVzeXN0ZW0vRGly
ZWN0b3J5RW50cnkuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwZjZlNDlmNDQy
M2EwNDhlNTViM2RhYWIyODA4MGFlMzkzM2U2MWRhLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmlsZXN5c3RlbS9E
aXJlY3RvcnlFbnRyeS5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSw3NyArMCwwIEBACi0vKgotICog
Q29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgot
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCi0gKiBtZXQ6Ci0gKgotICogICAgICogUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKLSAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KLSAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUKLSAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKLSAqIGluIHRoZSBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKLSAqIGRpc3Ry
aWJ1dGlvbi4KLSAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRo
ZSBuYW1lcyBvZiBpdHMKLSAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9y
IHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCi0gKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQg
c3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKLSAq
ICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UCi0gKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKLSAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCi0gKiBPV05FUiBPUiBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwKLSAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAotICogREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCi0gKiBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUg
ImNvbmZpZy5oIgotI2luY2x1ZGUgIkRpcmVjdG9yeUVudHJ5LmgiCi0KLSNpZiBFTkFCTEUoRklM
RV9TWVNURU0pCi0KLSNpbmNsdWRlICJEaXJlY3RvcnlSZWFkZXIuaCIKLSNpbmNsdWRlICJFbnRy
eUNhbGxiYWNrLmgiCi0jaW5jbHVkZSAiRXJyb3JDYWxsYmFjay5oIgotI2luY2x1ZGUgIkZpbGVF
cnJvci5oIgotI2luY2x1ZGUgIlZvaWRDYWxsYmFjay5oIgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7
Ci0KLURpcmVjdG9yeUVudHJ5OjpEaXJlY3RvcnlFbnRyeShQYXNzUmVmUHRyPERPTUZpbGVTeXN0
ZW1CYXNlPiBmaWxlU3lzdGVtLCBjb25zdCBTdHJpbmcmIGZ1bGxQYXRoKQotICAgIDogRW50cnko
ZmlsZVN5c3RlbSwgZnVsbFBhdGgpCi17Ci19Ci0KLVBhc3NSZWZQdHI8RGlyZWN0b3J5UmVhZGVy
PiBEaXJlY3RvcnlFbnRyeTo6Y3JlYXRlUmVhZGVyKCkKLXsKLSAgICByZXR1cm4gRGlyZWN0b3J5
UmVhZGVyOjpjcmVhdGUobV9maWxlU3lzdGVtLCBtX2Z1bGxQYXRoKTsKLX0KLQotdm9pZCBEaXJl
Y3RvcnlFbnRyeTo6Z2V0RmlsZShjb25zdCBTdHJpbmcmIHBhdGgsIFBhc3NSZWZQdHI8V2ViS2l0
RmxhZ3M+IGZsYWdzLCBQYXNzUmVmUHRyPEVudHJ5Q2FsbGJhY2s+IHN1Y2Nlc3NDYWxsYmFjaywg
UGFzc1JlZlB0cjxFcnJvckNhbGxiYWNrPiBlcnJvckNhbGxiYWNrUmVmKQotewotICAgIFJlZlB0
cjxFcnJvckNhbGxiYWNrPiBlcnJvckNhbGxiYWNrKGVycm9yQ2FsbGJhY2tSZWYpOwotICAgIGlm
ICghbV9maWxlU3lzdGVtLT5nZXRGaWxlKHRoaXMsIHBhdGgsIGZsYWdzLCBzdWNjZXNzQ2FsbGJh
Y2ssIGVycm9yQ2FsbGJhY2spKQotICAgICAgICBmaWxlc3lzdGVtKCktPnNjaGVkdWxlQ2FsbGJh
Y2soZXJyb3JDYWxsYmFjay5yZWxlYXNlKCksIEZpbGVFcnJvcjo6Y3JlYXRlKEZpbGVFcnJvcjo6
SU5WQUxJRF9NT0RJRklDQVRJT05fRVJSKSk7Ci19Ci0KLXZvaWQgRGlyZWN0b3J5RW50cnk6Omdl
dERpcmVjdG9yeShjb25zdCBTdHJpbmcmIHBhdGgsIFBhc3NSZWZQdHI8V2ViS2l0RmxhZ3M+IGZs
YWdzLCBQYXNzUmVmUHRyPEVudHJ5Q2FsbGJhY2s+IHN1Y2Nlc3NDYWxsYmFjaywgUGFzc1JlZlB0
cjxFcnJvckNhbGxiYWNrPiBlcnJvckNhbGxiYWNrUmVmKQotewotICAgIFJlZlB0cjxFcnJvckNh
bGxiYWNrPiBlcnJvckNhbGxiYWNrKGVycm9yQ2FsbGJhY2tSZWYpOwotICAgIGlmICghbV9maWxl
U3lzdGVtLT5nZXREaXJlY3RvcnkodGhpcywgcGF0aCwgZmxhZ3MsIHN1Y2Nlc3NDYWxsYmFjaywg
ZXJyb3JDYWxsYmFjaykpCi0gICAgICAgIGZpbGVzeXN0ZW0oKS0+c2NoZWR1bGVDYWxsYmFjayhl
cnJvckNhbGxiYWNrLnJlbGVhc2UoKSwgRmlsZUVycm9yOjpjcmVhdGUoRmlsZUVycm9yOjpJTlZB
TElEX01PRElGSUNBVElPTl9FUlIpKTsKLX0KLQotdm9pZCBEaXJlY3RvcnlFbnRyeTo6cmVtb3Zl
UmVjdXJzaXZlbHkoUGFzc1JlZlB0cjxWb2lkQ2FsbGJhY2s+IHN1Y2Nlc3NDYWxsYmFjaywgUGFz
c1JlZlB0cjxFcnJvckNhbGxiYWNrPiBlcnJvckNhbGxiYWNrUmVmKSBjb25zdAotewotICAgIFJl
ZlB0cjxFcnJvckNhbGxiYWNrPiBlcnJvckNhbGxiYWNrKGVycm9yQ2FsbGJhY2tSZWYpOwotICAg
IGlmICghbV9maWxlU3lzdGVtLT5yZW1vdmVSZWN1cnNpdmVseSh0aGlzLCBzdWNjZXNzQ2FsbGJh
Y2ssIGVycm9yQ2FsbGJhY2spKQotICAgICAgICBmaWxlc3lzdGVtKCktPnNjaGVkdWxlQ2FsbGJh
Y2soZXJyb3JDYWxsYmFjay5yZWxlYXNlKCksIEZpbGVFcnJvcjo6Y3JlYXRlKEZpbGVFcnJvcjo6
SU5WQUxJRF9NT0RJRklDQVRJT05fRVJSKSk7Ci19Ci0KLX0KLQotI2VuZGlmIC8vIEVOQUJMRShG
SUxFX1NZU1RFTSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmlsZXN5c3Rl
bS9EaXJlY3RvcnlFbnRyeS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9maWxlc3lzdGVtL0Rp
cmVjdG9yeUVudHJ5LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDgyMjcwNDcxM2Vi
YmQ4MmEyZjM0YTBkM2FkOGQ2ZmRlNjU2MmMxYWMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9maWxlc3lzdGVtL0Rp
cmVjdG9yeUVudHJ5LmgKKysrIC9kZXYvbnVsbApAQCAtMSw3MSArMCwwIEBACi0vKgotICogQ29w
eXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCi0gKiBtZXQ6Ci0gKgotICogICAgICogUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
LSAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KLSAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUKLSAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKLSAqIGluIHRoZSBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKLSAqIGRpc3RyaWJ1
dGlvbi4KLSAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBu
YW1lcyBvZiBpdHMKLSAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHBy
b21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCi0gKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3Bl
Y2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKLSAqICJB
UyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UCi0gKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IKLSAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCi0gKiBPV05FUiBPUiBDT05U
UklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwK
LSAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QKLSAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAotICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCi0gKiBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2lmbmRlZiBEaXJl
Y3RvcnlFbnRyeV9oCi0jZGVmaW5lIERpcmVjdG9yeUVudHJ5X2gKLQotI2lmIEVOQUJMRShGSUxF
X1NZU1RFTSkKLQotI2luY2x1ZGUgIkVudHJ5LmgiCi0jaW5jbHVkZSAiV2ViS2l0RmxhZ3MuaCIK
LSNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgotI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+
Ci0jaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1j
bGFzcyBET01GaWxlU3lzdGVtQmFzZTsKLWNsYXNzIERpcmVjdG9yeVJlYWRlcjsKLWNsYXNzIEVu
dHJ5Q2FsbGJhY2s7Ci1jbGFzcyBFcnJvckNhbGxiYWNrOwotY2xhc3MgVm9pZENhbGxiYWNrOwot
Ci1jbGFzcyBEaXJlY3RvcnlFbnRyeSA6IHB1YmxpYyBFbnRyeSB7Ci1wdWJsaWM6Ci0gICAgc3Rh
dGljIFBhc3NSZWZQdHI8RGlyZWN0b3J5RW50cnk+IGNyZWF0ZShQYXNzUmVmUHRyPERPTUZpbGVT
eXN0ZW1CYXNlPiBmaWxlU3lzdGVtLCBjb25zdCBTdHJpbmcmIGZ1bGxQYXRoKQotICAgIHsKLSAg
ICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBEaXJlY3RvcnlFbnRyeShmaWxlU3lzdGVtLCBmdWxs
UGF0aCkpOwotICAgIH0KLSAgICB2aXJ0dWFsIGJvb2wgaXNEaXJlY3RvcnkoKSBjb25zdCB7IHJl
dHVybiB0cnVlOyB9Ci0KLSAgICBQYXNzUmVmUHRyPERpcmVjdG9yeVJlYWRlcj4gY3JlYXRlUmVh
ZGVyKCk7Ci0gICAgdm9pZCBnZXRGaWxlKGNvbnN0IFN0cmluZyYgcGF0aCwgUGFzc1JlZlB0cjxX
ZWJLaXRGbGFncz4gPSAwLCBQYXNzUmVmUHRyPEVudHJ5Q2FsbGJhY2s+ID0gMCwgUGFzc1JlZlB0
cjxFcnJvckNhbGxiYWNrPiA9IDApOwotICAgIHZvaWQgZ2V0RGlyZWN0b3J5KGNvbnN0IFN0cmlu
ZyYgcGF0aCwgUGFzc1JlZlB0cjxXZWJLaXRGbGFncz4gPSAwLCBQYXNzUmVmUHRyPEVudHJ5Q2Fs
bGJhY2s+ID0gMCwgUGFzc1JlZlB0cjxFcnJvckNhbGxiYWNrPiA9IDApOwotICAgIHZvaWQgcmVt
b3ZlUmVjdXJzaXZlbHkoUGFzc1JlZlB0cjxWb2lkQ2FsbGJhY2s+IHN1Y2Nlc3NDYWxsYmFjayA9
IDAsIFBhc3NSZWZQdHI8RXJyb3JDYWxsYmFjaz4gPSAwKSBjb25zdDsKLQotcHJpdmF0ZToKLSAg
ICBEaXJlY3RvcnlFbnRyeShQYXNzUmVmUHRyPERPTUZpbGVTeXN0ZW1CYXNlPiwgY29uc3QgU3Ry
aW5nJiBmdWxsUGF0aCk7Ci19OwotCi19IC8vIG5hbWVzcGFjZQotCi0jZW5kaWYgLy8gRU5BQkxF
KEZJTEVfU1lTVEVNKQotCi0jZW5kaWYgLy8gRGlyZWN0b3J5RW50cnlfaApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9maWxlc3lzdGVtL0RpcmVjdG9yeUVudHJ5LmlkbCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvZmlsZXN5c3RlbS9EaXJlY3RvcnlFbnRyeS5pZGwKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGM2YzlhZTliYjE4YzRjN2M2YTM2ZWQ4YmEzN2JjNWQz
MDQyNzYyMDguLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9maWxlc3lzdGVtL0RpcmVjdG9yeUVudHJ5LmlkbAorKysg
L2Rldi9udWxsCkBAIC0xLDQzICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29v
Z2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucyBhcmUKLSAqIG1ldDoKLSAqCi0gKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogICAgICog
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQot
ICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lcgotICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQotICogZGlzdHJpYnV0aW9uLgotICogICAgICogTmVp
dGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwotICogY29u
dHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJp
dmVkIGZyb20KLSAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVu
IHBlcm1pc3Npb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09Q
WVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwotICogIkFTIElTIiBBTkQgQU5ZIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQg
VE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUgotICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIFRIRSBDT1BZUklHSFQKLSAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAotICogU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAotICogTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsCi0gKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKLSAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi1tb2R1bGUgc3RvcmFnZSB7Ci0gICAgaW50ZXJmYWNl
IFsKLSAgICAgICAgQ29uZGl0aW9uYWw9RklMRV9TWVNURU0sCi0gICAgICAgIEpTR2VuZXJhdGVU
b05hdGl2ZU9iamVjdCwKLSAgICAgICAgSlNHZW5lcmF0ZVRvSlNPYmplY3QsCi0gICAgICAgIEpT
Tm9TdGF0aWNUYWJsZXMKLSAgICBdIERpcmVjdG9yeUVudHJ5IDogRW50cnkgewotICAgICAgICBE
aXJlY3RvcnlSZWFkZXIgY3JlYXRlUmVhZGVyKCk7Ci0gICAgICAgIFtDdXN0b21dIHZvaWQgZ2V0
RmlsZShpbiBbVHJlYXROdWxsQXM9TnVsbFN0cmluZywgVHJlYXRVbmRlZmluZWRBcz1OdWxsU3Ry
aW5nXSBET01TdHJpbmcgcGF0aCwgaW4gW09wdGlvbmFsXSBXZWJLaXRGbGFncyBmbGFncywgaW4g
W09wdGlvbmFsLCBDYWxsYmFja10gRW50cnlDYWxsYmFjayBzdWNjZXNzQ2FsbGJhY2ssIGluIFtP
cHRpb25hbCwgQ2FsbGJhY2tdIEVycm9yQ2FsbGJhY2sgZXJyb3JDYWxsYmFjayk7Ci0gICAgICAg
IFtDdXN0b21dIHZvaWQgZ2V0RGlyZWN0b3J5KGluIFtUcmVhdE51bGxBcz1OdWxsU3RyaW5nLCBU
cmVhdFVuZGVmaW5lZEFzPU51bGxTdHJpbmddIERPTVN0cmluZyBwYXRoLCBpbiBbT3B0aW9uYWxd
IFdlYktpdEZsYWdzIGZsYWdzLCBpbiBbT3B0aW9uYWwsIENhbGxiYWNrXSBFbnRyeUNhbGxiYWNr
IHN1Y2Nlc3NDYWxsYmFjaywgaW4gW09wdGlvbmFsLCBDYWxsYmFja10gRXJyb3JDYWxsYmFjayBl
cnJvckNhbGxiYWNrKTsKLSAgICAgICAgdm9pZCByZW1vdmVSZWN1cnNpdmVseShpbiBbQ2FsbGJh
Y2tdIFZvaWRDYWxsYmFjayBzdWNjZXNzQ2FsbGJhY2ssIGluIFtPcHRpb25hbCwgQ2FsbGJhY2td
IEVycm9yQ2FsbGJhY2sgZXJyb3JDYWxsYmFjayk7Ci0gICAgfTsKLX0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvZmlsZXN5c3RlbS9EaXJlY3RvcnlFbnRyeVN5bmMuY3BwIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9maWxlc3lzdGVtL0RpcmVjdG9yeUVudHJ5U3luYy5jcHAK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDEwZGVhY2ViMDk2OWI3YmEwMTE2ZDJjZmYw
Mzc3OTg0YjQ4ZGYxYTAuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9maWxlc3lzdGVtL0RpcmVjdG9yeUVudHJ5U3lu
Yy5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSw4OSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChD
KSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMgYXJlCi0gKiBtZXQ6Ci0gKgotICogICAgICogUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
LSAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUKLSAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKLSAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKLSAqIGRpc3RyaWJ1dGlvbi4KLSAq
ICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBp
dHMKLSAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJv
ZHVjdHMgZGVyaXZlZCBmcm9tCi0gKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJp
b3Igd3JpdHRlbiBwZXJtaXNzaW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKLSAqICJBUyBJUyIgQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCi0g
KiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IKLSAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCi0gKiBPV05FUiBPUiBDT05UUklCVVRPUlMg
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKLSAqIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QKLSAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLAotICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCi0gKiBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgot
I2luY2x1ZGUgIkRpcmVjdG9yeUVudHJ5U3luYy5oIgotCi0jaWYgRU5BQkxFKEZJTEVfU1lTVEVN
KQotCi0jaW5jbHVkZSAiRGlyZWN0b3J5UmVhZGVyU3luYy5oIgotI2luY2x1ZGUgIkVudHJ5U3lu
Yy5oIgotI2luY2x1ZGUgIkZpbGVFbnRyeVN5bmMuaCIKLSNpbmNsdWRlICJGaWxlRXhjZXB0aW9u
LmgiCi0jaW5jbHVkZSAiU3luY0NhbGxiYWNrSGVscGVyLmgiCi0KLW5hbWVzcGFjZSBXZWJDb3Jl
IHsKLQotRGlyZWN0b3J5RW50cnlTeW5jOjpEaXJlY3RvcnlFbnRyeVN5bmMoUGFzc1JlZlB0cjxE
T01GaWxlU3lzdGVtQmFzZT4gZmlsZVN5c3RlbSwgY29uc3QgU3RyaW5nJiBmdWxsUGF0aCkKLSAg
ICA6IEVudHJ5U3luYyhmaWxlU3lzdGVtLCBmdWxsUGF0aCkKLXsKLX0KLQotUGFzc1JlZlB0cjxE
aXJlY3RvcnlSZWFkZXJTeW5jPiBEaXJlY3RvcnlFbnRyeVN5bmM6OmNyZWF0ZVJlYWRlcihFeGNl
cHRpb25Db2RlJikKLXsKLSAgICByZXR1cm4gRGlyZWN0b3J5UmVhZGVyU3luYzo6Y3JlYXRlKG1f
ZmlsZVN5c3RlbSwgbV9mdWxsUGF0aCk7Ci19Ci0KLVBhc3NSZWZQdHI8RmlsZUVudHJ5U3luYz4g
RGlyZWN0b3J5RW50cnlTeW5jOjpnZXRGaWxlKGNvbnN0IFN0cmluZyYgcGF0aCwgUGFzc1JlZlB0
cjxXZWJLaXRGbGFncz4gZmxhZ3MsIEV4Y2VwdGlvbkNvZGUmIGVjKQotewotICAgIGVjID0gMDsK
LSAgICBFbnRyeVN5bmNDYWxsYmFja0hlbHBlciBoZWxwZXIobV9maWxlU3lzdGVtLT5hc3luY0Zp
bGVTeXN0ZW0oKSk7Ci0gICAgaWYgKCFtX2ZpbGVTeXN0ZW0tPmdldEZpbGUodGhpcywgcGF0aCwg
ZmxhZ3MsIGhlbHBlci5zdWNjZXNzQ2FsbGJhY2soKSwgaGVscGVyLmVycm9yQ2FsbGJhY2soKSkp
IHsKLSAgICAgICAgZWMgPSBGaWxlRXhjZXB0aW9uOjpJTlZBTElEX01PRElGSUNBVElPTl9FUlI7
Ci0gICAgICAgIHJldHVybiAwOwotICAgIH0KLSAgICByZXR1cm4gc3RhdGljX3BvaW50ZXJfY2Fz
dDxGaWxlRW50cnlTeW5jPihoZWxwZXIuZ2V0UmVzdWx0KGVjKSk7Ci19Ci0KLVBhc3NSZWZQdHI8
RGlyZWN0b3J5RW50cnlTeW5jPiBEaXJlY3RvcnlFbnRyeVN5bmM6OmdldERpcmVjdG9yeShjb25z
dCBTdHJpbmcmIHBhdGgsIFBhc3NSZWZQdHI8V2ViS2l0RmxhZ3M+IGZsYWdzLCBFeGNlcHRpb25D
b2RlJiBlYykKLXsKLSAgICBlYyA9IDA7Ci0gICAgRW50cnlTeW5jQ2FsbGJhY2tIZWxwZXIgaGVs
cGVyKG1fZmlsZVN5c3RlbS0+YXN5bmNGaWxlU3lzdGVtKCkpOwotICAgIGlmICghbV9maWxlU3lz
dGVtLT5nZXREaXJlY3RvcnkodGhpcywgcGF0aCwgZmxhZ3MsIGhlbHBlci5zdWNjZXNzQ2FsbGJh
Y2soKSwgaGVscGVyLmVycm9yQ2FsbGJhY2soKSkpIHsKLSAgICAgICAgZWMgPSBGaWxlRXhjZXB0
aW9uOjpJTlZBTElEX01PRElGSUNBVElPTl9FUlI7Ci0gICAgICAgIHJldHVybiAwOwotICAgIH0K
LSAgICByZXR1cm4gc3RhdGljX3BvaW50ZXJfY2FzdDxEaXJlY3RvcnlFbnRyeVN5bmM+KGhlbHBl
ci5nZXRSZXN1bHQoZWMpKTsKLX0KLQotdm9pZCBEaXJlY3RvcnlFbnRyeVN5bmM6OnJlbW92ZVJl
Y3Vyc2l2ZWx5KEV4Y2VwdGlvbkNvZGUmIGVjKQotewotICAgIGVjID0gMDsKLSAgICBWb2lkU3lu
Y0NhbGxiYWNrSGVscGVyIGhlbHBlcihtX2ZpbGVTeXN0ZW0tPmFzeW5jRmlsZVN5c3RlbSgpKTsK
LSAgICBpZiAoIW1fZmlsZVN5c3RlbS0+cmVtb3ZlUmVjdXJzaXZlbHkodGhpcywgaGVscGVyLnN1
Y2Nlc3NDYWxsYmFjaygpLCBoZWxwZXIuZXJyb3JDYWxsYmFjaygpKSkgewotICAgICAgICBlYyA9
IEZpbGVFeGNlcHRpb246OklOVkFMSURfTU9ESUZJQ0FUSU9OX0VSUjsKLSAgICAgICAgcmV0dXJu
OwotICAgIH0KLSAgICBoZWxwZXIuZ2V0UmVzdWx0KGVjKTsKLX0KLQotfQotCi0jZW5kaWYgLy8g
RU5BQkxFKEZJTEVfU1lTVEVNKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9m
aWxlc3lzdGVtL0RpcmVjdG9yeUVudHJ5U3luYy5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9m
aWxlc3lzdGVtL0RpcmVjdG9yeUVudHJ5U3luYy5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCA2MmI0ODFhODc2ZmYxYzk3MWEwMzk5Njc1NzAyNGM4Y2U2NDFhODA2Li4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvZmlsZXN5c3RlbS9EaXJlY3RvcnlFbnRyeVN5bmMuaAorKysgL2Rldi9udWxsCkBAIC0xLDY5
ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKLSAqIG1ldDoK
LSAqCi0gKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAotICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogICAgICogUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQotICogY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgot
ICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZQotICogZGlzdHJpYnV0aW9uLgotICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBH
b29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwotICogY29udHJpYnV0b3JzIG1heSBiZSB1
c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KLSAqIHRoaXMg
c29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCi0gKgot
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5E
IENPTlRSSUJVVE9SUwotICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgotICogQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklH
SFQKLSAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLAotICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAotICogTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCi0gKiBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkKLSAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
LSAqLwotCi0jaWZuZGVmIERpcmVjdG9yeUVudHJ5U3luY19oCi0jZGVmaW5lIERpcmVjdG9yeUVu
dHJ5U3luY19oCi0KLSNpZiBFTkFCTEUoRklMRV9TWVNURU0pCi0KLSNpbmNsdWRlICJFbnRyeVN5
bmMuaCIKLSNpbmNsdWRlICJXZWJLaXRGbGFncy5oIgotI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5n
LmgiCi0jaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KLSNpbmNsdWRlIDx3dGYvUmVmQ291bnRl
ZC5oPgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWNsYXNzIERpcmVjdG9yeVJlYWRlclN5bmM7
Ci1jbGFzcyBGaWxlRW50cnlTeW5jOwotCi1jbGFzcyBEaXJlY3RvcnlFbnRyeVN5bmMgOiBwdWJs
aWMgRW50cnlTeW5jIHsKLXB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxEaXJlY3RvcnlF
bnRyeVN5bmM+IGNyZWF0ZShQYXNzUmVmUHRyPERPTUZpbGVTeXN0ZW1CYXNlPiBmaWxlU3lzdGVt
LCBjb25zdCBTdHJpbmcmIGZ1bGxQYXRoKQotICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVm
KG5ldyBEaXJlY3RvcnlFbnRyeVN5bmMoZmlsZVN5c3RlbSwgZnVsbFBhdGgpKTsKLSAgICB9Ci0g
ICAgdmlydHVhbCBib29sIGlzRGlyZWN0b3J5KCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQotCi0g
ICAgUGFzc1JlZlB0cjxEaXJlY3RvcnlSZWFkZXJTeW5jPiBjcmVhdGVSZWFkZXIoRXhjZXB0aW9u
Q29kZSYpOwotICAgIFBhc3NSZWZQdHI8RmlsZUVudHJ5U3luYz4gZ2V0RmlsZShjb25zdCBTdHJp
bmcmIHBhdGgsIFBhc3NSZWZQdHI8V2ViS2l0RmxhZ3M+LCBFeGNlcHRpb25Db2RlJik7Ci0gICAg
UGFzc1JlZlB0cjxEaXJlY3RvcnlFbnRyeVN5bmM+IGdldERpcmVjdG9yeShjb25zdCBTdHJpbmcm
IHBhdGgsIFBhc3NSZWZQdHI8V2ViS2l0RmxhZ3M+LCBFeGNlcHRpb25Db2RlJik7Ci0gICAgdm9p
ZCByZW1vdmVSZWN1cnNpdmVseShFeGNlcHRpb25Db2RlJik7Ci0KLXByaXZhdGU6Ci0gICAgZnJp
ZW5kIGNsYXNzIEVudHJ5U3luYzsKLSAgICBEaXJlY3RvcnlFbnRyeVN5bmMoUGFzc1JlZlB0cjxE
T01GaWxlU3lzdGVtQmFzZT4sIGNvbnN0IFN0cmluZyYgZnVsbFBhdGgpOwotfTsKLQotfQotCi0j
ZW5kaWYgLy8gRU5BQkxFKEZJTEVfU1lTVEVNKQotCi0jZW5kaWYgLy8gRGlyZWN0b3J5RW50cnlT
eW5jX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmlsZXN5c3RlbS9EaXJl
Y3RvcnlFbnRyeVN5bmMuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9maWxlc3lzdGVtL0Rp
cmVjdG9yeUVudHJ5U3luYy5pZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY2YzI4
OGZiYmM1YTJjZWEyYzgzYTVhNTEzMzY3ZDYzNjlkODc0MDUuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9maWxlc3lz
dGVtL0RpcmVjdG9yeUVudHJ5U3luYy5pZGwKKysrIC9kZXYvbnVsbApAQCAtMSw0MyArMCwwIEBA
Ci0vKgotICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCi0gKiBtZXQ6Ci0gKgotICog
ICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKLSAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKLSAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKLSAqIGluIHRo
ZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUK
LSAqIGRpc3RyaWJ1dGlvbi4KLSAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIElu
Yy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKLSAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBl
bmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCi0gKiB0aGlzIHNvZnR3YXJl
IHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgotICoKLSAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklC
VVRPUlMKLSAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UCi0gKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKLSAqIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCi0gKiBP
V05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwKLSAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAotICogREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
Ci0gKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQot
bW9kdWxlIHN0b3JhZ2UgewotICAgIGludGVyZmFjZSBbCi0gICAgICAgIENvbmRpdGlvbmFsPUZJ
TEVfU1lTVEVNLAotICAgICAgICBKU0dlbmVyYXRlVG9OYXRpdmVPYmplY3QsCi0gICAgICAgIEpT
R2VuZXJhdGVUb0pTT2JqZWN0LAotICAgICAgICBKU05vU3RhdGljVGFibGVzCi0gICAgXSBEaXJl
Y3RvcnlFbnRyeVN5bmMgOiBFbnRyeVN5bmMgewotICAgICAgICBEaXJlY3RvcnlSZWFkZXJTeW5j
IGNyZWF0ZVJlYWRlcigpIHJhaXNlcyAoRmlsZUV4Y2VwdGlvbik7Ci0gICAgICAgIFtDdXN0b21d
IEZpbGVFbnRyeVN5bmMgZ2V0RmlsZShpbiBbVHJlYXROdWxsQXM9TnVsbFN0cmluZywgVHJlYXRV
bmRlZmluZWRBcz1OdWxsU3RyaW5nXSBET01TdHJpbmcgcGF0aCwgaW4gV2ViS2l0RmxhZ3MgZmxh
Z3MpIHJhaXNlcyAoRmlsZUV4Y2VwdGlvbik7Ci0gICAgICAgIFtDdXN0b21dIERpcmVjdG9yeUVu
dHJ5U3luYyBnZXREaXJlY3RvcnkoaW4gW1RyZWF0TnVsbEFzPU51bGxTdHJpbmcsIFRyZWF0VW5k
ZWZpbmVkQXM9TnVsbFN0cmluZ10gRE9NU3RyaW5nIHBhdGgsIGluIFdlYktpdEZsYWdzIGZsYWdz
KSByYWlzZXMgKEZpbGVFeGNlcHRpb24pOwotICAgICAgICB2b2lkIHJlbW92ZVJlY3Vyc2l2ZWx5
KCkgcmFpc2VzIChGaWxlRXhjZXB0aW9uKTsKLSAgICB9OwotfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9maWxlc3lzdGVtL0RpcmVjdG9yeVJlYWRlci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2ZpbGVzeXN0ZW0vRGlyZWN0b3J5UmVhZGVyLmNwcApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggZmUyZDk5ZjQ0Y2EwMjgxMmY2M2ZhN2YwOTNhOGU2MzA2ZjM0
NmQzOC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2ZpbGVzeXN0ZW0vRGlyZWN0b3J5UmVhZGVyLmNwcAorKysgL2Rl
di9udWxsCkBAIC0xLDU5ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cyBhcmUKLSAqIG1ldDoKLSAqCi0gKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogICAgICogUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQotICog
Y29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lcgotICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZQotICogZGlzdHJpYnV0aW9uLgotICogICAgICogTmVpdGhl
ciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwotICogY29udHJp
YnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVk
IGZyb20KLSAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBl
cm1pc3Npb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJ
R0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwotICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQgVE8s
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UgotICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBDT1BZUklHSFQKLSAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAotICogU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAotICogTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsCi0gKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKLSAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQot
ICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiRGly
ZWN0b3J5UmVhZGVyLmgiCi0KLSNpZiBFTkFCTEUoRklMRV9TWVNURU0pCi0KLSNpbmNsdWRlICJF
bnRyaWVzQ2FsbGJhY2suaCIKLSNpbmNsdWRlICJFbnRyeUFycmF5LmgiCi0jaW5jbHVkZSAiRXJy
b3JDYWxsYmFjay5oIgotI2luY2x1ZGUgIkZpbGVFcnJvci5oIgotCi1uYW1lc3BhY2UgV2ViQ29y
ZSB7Ci0KLURpcmVjdG9yeVJlYWRlcjo6RGlyZWN0b3J5UmVhZGVyKFBhc3NSZWZQdHI8RE9NRmls
ZVN5c3RlbUJhc2U+IGZpbGVTeXN0ZW0sIGNvbnN0IFN0cmluZyYgZnVsbFBhdGgpCi0gICAgOiBE
aXJlY3RvcnlSZWFkZXJCYXNlKGZpbGVTeXN0ZW0sIGZ1bGxQYXRoKQotewotfQotCi12b2lkIERp
cmVjdG9yeVJlYWRlcjo6cmVhZEVudHJpZXMoUGFzc1JlZlB0cjxFbnRyaWVzQ2FsbGJhY2s+IGVu
dHJpZXNDYWxsYmFjaywgUGFzc1JlZlB0cjxFcnJvckNhbGxiYWNrPiBlcnJvckNhbGxiYWNrKQot
ewotICAgIGlmICghbV9oYXNNb3JlRW50cmllcykgewotICAgICAgICBmaWxlc3lzdGVtKCktPnNj
aGVkdWxlQ2FsbGJhY2soZW50cmllc0NhbGxiYWNrLCBFbnRyeUFycmF5OjpjcmVhdGUoKSk7Ci0g
ICAgICAgIHJldHVybjsKLSAgICB9Ci0gICAgZmlsZXN5c3RlbSgpLT5yZWFkRGlyZWN0b3J5KHRo
aXMsIG1fZnVsbFBhdGgsIGVudHJpZXNDYWxsYmFjaywgZXJyb3JDYWxsYmFjayk7Ci19Ci0KLX0K
LQotI2VuZGlmIC8vIEVOQUJMRShGSUxFX1NZU1RFTSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvZmlsZXN5c3RlbS9EaXJlY3RvcnlSZWFkZXIuaCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvZmlsZXN5c3RlbS9EaXJlY3RvcnlSZWFkZXIuaApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggYmM4OTg1ODk0ZTk5NzViMzhhYjRlMzY2Y2ZjZGQwNzAxNjUzNzhmOC4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2ZpbGVzeXN0ZW0vRGlyZWN0b3J5UmVhZGVyLmgKKysrIC9kZXYvbnVsbApAQCAt
MSw2NyArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCi0gKiBt
ZXQ6Ci0gKgotICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqICAgICAqIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKLSAqIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIKLSAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUKLSAqIGRpc3RyaWJ1dGlvbi4KLSAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUg
b2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKLSAqIGNvbnRyaWJ1dG9ycyBtYXkg
YmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCi0gKiB0
aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgot
ICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJT
IEFORCBDT05UUklCVVRPUlMKLSAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCi0gKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKLSAqIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09Q
WVJJR0hUCi0gKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKLSAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAotICog
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZCi0gKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCi0gKi8KLQotI2lmbmRlZiBEaXJlY3RvcnlSZWFkZXJfaAotI2RlZmluZSBEaXJlY3RvcnlS
ZWFkZXJfaAotCi0jaWYgRU5BQkxFKEZJTEVfU1lTVEVNKQotCi0jaW5jbHVkZSAiRE9NRmlsZVN5
c3RlbS5oIgotI2luY2x1ZGUgIkRpcmVjdG9yeVJlYWRlckJhc2UuaCIKLSNpbmNsdWRlICJQbGF0
Zm9ybVN0cmluZy5oIgotI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+Ci0jaW5jbHVkZSA8d3Rm
L1JlZkNvdW50ZWQuaD4KLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1jbGFzcyBFbnRyaWVzQ2Fs
bGJhY2s7Ci1jbGFzcyBFbnRyaWVzQ2FsbGJhY2tzOwotY2xhc3MgRXJyb3JDYWxsYmFjazsKLQot
Y2xhc3MgRGlyZWN0b3J5UmVhZGVyIDogcHVibGljIERpcmVjdG9yeVJlYWRlckJhc2UgewotcHVi
bGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPERpcmVjdG9yeVJlYWRlcj4gY3JlYXRlKFBhc3NS
ZWZQdHI8RE9NRmlsZVN5c3RlbUJhc2U+IGZpbGVTeXN0ZW0sIGNvbnN0IFN0cmluZyYgZnVsbFBh
dGgpCi0gICAgewotICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IERpcmVjdG9yeVJlYWRlcihm
aWxlU3lzdGVtLCBmdWxsUGF0aCkpOwotICAgIH0KLQotICAgIHZvaWQgcmVhZEVudHJpZXMoUGFz
c1JlZlB0cjxFbnRyaWVzQ2FsbGJhY2s+LCBQYXNzUmVmUHRyPEVycm9yQ2FsbGJhY2s+ID0gMCk7
Ci0KLSAgICBET01GaWxlU3lzdGVtKiBmaWxlc3lzdGVtKCkgY29uc3QgeyByZXR1cm4gc3RhdGlj
X2Nhc3Q8RE9NRmlsZVN5c3RlbSo+KG1fZmlsZVN5c3RlbS5nZXQoKSk7IH0KLQotcHJpdmF0ZToK
LSAgICBEaXJlY3RvcnlSZWFkZXIoUGFzc1JlZlB0cjxET01GaWxlU3lzdGVtQmFzZT4sIGNvbnN0
IFN0cmluZyYgZnVsbFBhdGgpOwotfTsKLQotfQotCi0jZW5kaWYgLy8gRU5BQkxFKEZJTEVfU1lT
VEVNKQotCi0jZW5kaWYgLy8gRGlyZWN0b3J5UmVhZGVyX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvZmlsZXN5c3RlbS9EaXJlY3RvcnlSZWFkZXIuaWRsIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9maWxlc3lzdGVtL0RpcmVjdG9yeVJlYWRlci5pZGwKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDg3Y2U4NTIxZGU4NTNjZTVkNTA0N2ZjN2QzZjY1MzJkYzdmYjQ4
OGUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9maWxlc3lzdGVtL0RpcmVjdG9yeVJlYWRlci5pZGwKKysrIC9kZXYv
bnVsbApAQCAtMSwzOCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMg
YXJlCi0gKiBtZXQ6Ci0gKgotICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqICAgICAqIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKLSAqIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIKLSAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUKLSAqIGRpc3RyaWJ1dGlvbi4KLSAqICAgICAqIE5laXRoZXIg
dGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKLSAqIGNvbnRyaWJ1
dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBm
cm9tCi0gKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJt
aXNzaW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdI
VCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKLSAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCi0gKiBMSU1JVEVEIFRPLCBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IK
LSAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBUSEUgQ09QWVJJR0hUCi0gKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKLSAqIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLAotICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZCi0gKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAq
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCi0gKi8KLQotbW9kdWxlIHN0b3JhZ2UgewotICAgIGludGVyZmFjZSBbCi0g
ICAgICAgIENvbmRpdGlvbmFsPUZJTEVfU1lTVEVNLAotICAgICAgICBKU05vU3RhdGljVGFibGVz
Ci0gICAgXSBEaXJlY3RvcnlSZWFkZXIgewotICAgICAgICB2b2lkIHJlYWRFbnRyaWVzKGluIFtD
YWxsYmFja10gRW50cmllc0NhbGxiYWNrIHN1Y2Nlc3NDYWxsYmFjaywgaW4gW09wdGlvbmFsLCBD
YWxsYmFja10gRXJyb3JDYWxsYmFjayBlcnJvckNhbGxiYWNrKTsKLSAgICB9OwotfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9maWxlc3lzdGVtL0RpcmVjdG9yeVJlYWRlckJh
c2UuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmlsZXN5c3RlbS9EaXJlY3RvcnlSZWFkZXJC
YXNlLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQwOTZmZThhMjA4ZTMxNWFhMjA3
NDA3Y2ViZDE0MWZkMjI2NWI2YmIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9maWxlc3lzdGVtL0RpcmVjdG9yeVJl
YWRlckJhc2UuaAorKysgL2Rldi9udWxsCkBAIC0xLDY4ICswLDAgQEAKLS8qCi0gKiBDb3B5cmln
aHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKLSAqIG1ldDoKLSAqCi0gKiAgICAgKiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICog
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgotICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZQotICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgotICogaW4gdGhlIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQotICogZGlzdHJpYnV0aW9u
LgotICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVz
IG9mIGl0cwotICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90
ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KLSAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZp
YyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwotICogIkFTIElT
IiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QKLSAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUgotICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKLSAqIE9XTkVSIE9SIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAotICog
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVAotICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCi0gKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKLSAqIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQK
LSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaWZuZGVmIERpcmVjdG9y
eVJlYWRlckJhc2VfaAotI2RlZmluZSBEaXJlY3RvcnlSZWFkZXJCYXNlX2gKLQotI2lmIEVOQUJM
RShGSUxFX1NZU1RFTSkKLQotI2luY2x1ZGUgIkRPTUZpbGVTeXN0ZW1CYXNlLmgiCi0jaW5jbHVk
ZSAiUGxhdGZvcm1TdHJpbmcuaCIKLSNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgotI2luY2x1
ZGUgPHd0Zi9SZWZDb3VudGVkLmg+Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotY2xhc3MgRGly
ZWN0b3J5UmVhZGVyQmFzZSA6IHB1YmxpYyBSZWZDb3VudGVkPERpcmVjdG9yeVJlYWRlckJhc2U+
IHsKLXB1YmxpYzoKLSAgICBET01GaWxlU3lzdGVtQmFzZSogZmlsZXN5c3RlbSgpIGNvbnN0IHsg
cmV0dXJuIG1fZmlsZVN5c3RlbS5nZXQoKTsgfQotICAgIHZvaWQgc2V0SGFzTW9yZUVudHJpZXMo
Ym9vbCBoYXNNb3JlRW50cmllcykgeyBtX2hhc01vcmVFbnRyaWVzID0gaGFzTW9yZUVudHJpZXM7
IH0KLQotcHJvdGVjdGVkOgotICAgIERpcmVjdG9yeVJlYWRlckJhc2UoUGFzc1JlZlB0cjxET01G
aWxlU3lzdGVtQmFzZT4gZmlsZVN5c3RlbSwgY29uc3QgU3RyaW5nJiBmdWxsUGF0aCkKLSAgICAg
ICAgOiBtX2ZpbGVTeXN0ZW0oZmlsZVN5c3RlbSkKLSAgICAgICAgLCBtX2Z1bGxQYXRoKGZ1bGxQ
YXRoKQotICAgICAgICAsIG1faGFzTW9yZUVudHJpZXModHJ1ZSkKLSAgICB7Ci0gICAgfQotCi0g
ICAgUmVmUHRyPERPTUZpbGVTeXN0ZW1CYXNlPiBtX2ZpbGVTeXN0ZW07Ci0KLSAgICAvLyBUaGlz
IGlzIGEgdmlydHVhbCBwYXRoLgotICAgIFN0cmluZyBtX2Z1bGxQYXRoOwotCi0gICAgYm9vbCBt
X2hhc01vcmVFbnRyaWVzOwotfTsKLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYg
Ly8gRU5BQkxFKEZJTEVfU1lTVEVNKQotCi0jZW5kaWYgLy8gRGlyZWN0b3J5UmVhZGVyQmFzZV9o
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZpbGVzeXN0ZW0vRGlyZWN0b3J5
UmVhZGVyU3luYy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZpbGVzeXN0ZW0vRGlyZWN0
b3J5UmVhZGVyU3luYy5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAxNDQ3OGU3
YjViMGFjMDNlMjZmNmQzNzJmNTA4ZTc3YjgxYzFiMWQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9maWxlc3lzdGVt
L0RpcmVjdG9yeVJlYWRlclN5bmMuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsNjggKzAsMCBAQAot
LyoKLSAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQotICogbWV0OgotICoKLSAqICAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0Ci0gKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCi0gKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCi0gKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCi0gKiBpbiB0aGUg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCi0g
KiBkaXN0cmlidXRpb24uCi0gKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMu
IG5vciB0aGUgbmFtZXMgb2YgaXRzCi0gKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5k
b3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQotICogdGhpcyBzb2Z0d2FyZSB3
aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KLSAqCi0gKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVU
T1JTCi0gKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVAotICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCi0gKiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAotICogT1dO
RVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsCi0gKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UCi0gKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKLSAqIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQot
ICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNp
bmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJEaXJlY3RvcnlSZWFkZXJTeW5jLmgiCi0KLSNp
ZiBFTkFCTEUoRklMRV9TWVNURU0pCi0KLSNpbmNsdWRlICJEaXJlY3RvcnlFbnRyeS5oIgotI2lu
Y2x1ZGUgIkRpcmVjdG9yeUVudHJ5U3luYy5oIgotI2luY2x1ZGUgIkVudHJ5QXJyYXlTeW5jLmgi
Ci0jaW5jbHVkZSAiRW50cnlTeW5jLmgiCi0jaW5jbHVkZSAiRmlsZUVudHJ5U3luYy5oIgotI2lu
Y2x1ZGUgIkZpbGVFeGNlcHRpb24uaCIKLSNpbmNsdWRlICJTeW5jQ2FsbGJhY2tIZWxwZXIuaCIK
LQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1EaXJlY3RvcnlSZWFkZXJTeW5jOjpEaXJlY3RvcnlS
ZWFkZXJTeW5jKFBhc3NSZWZQdHI8RE9NRmlsZVN5c3RlbUJhc2U+IGZpbGVTeXN0ZW0sIGNvbnN0
IFN0cmluZyYgZnVsbFBhdGgpCi0gICAgOiBEaXJlY3RvcnlSZWFkZXJCYXNlKGZpbGVTeXN0ZW0s
IGZ1bGxQYXRoKQotewotfQotCi1QYXNzUmVmUHRyPEVudHJ5QXJyYXlTeW5jPiBEaXJlY3RvcnlS
ZWFkZXJTeW5jOjpyZWFkRW50cmllcyhFeGNlcHRpb25Db2RlJiBlYykKLXsKLSAgICBlYyA9IDA7
Ci0gICAgaWYgKCFtX2hhc01vcmVFbnRyaWVzKQotICAgICAgICByZXR1cm4gRW50cnlBcnJheVN5
bmM6OmNyZWF0ZSgpOwotCi0gICAgRW50cmllc1N5bmNDYWxsYmFja0hlbHBlciBoZWxwZXIobV9m
aWxlU3lzdGVtLT5hc3luY0ZpbGVTeXN0ZW0oKSk7Ci0gICAgaWYgKCFtX2ZpbGVTeXN0ZW0tPnJl
YWREaXJlY3RvcnkodGhpcywgbV9mdWxsUGF0aCwgaGVscGVyLnN1Y2Nlc3NDYWxsYmFjaygpLCBo
ZWxwZXIuZXJyb3JDYWxsYmFjaygpKSkgewotICAgICAgICBlYyA9IEZpbGVFeGNlcHRpb246OklO
VkFMSURfTU9ESUZJQ0FUSU9OX0VSUjsKLSAgICAgICAgc2V0SGFzTW9yZUVudHJpZXMoZmFsc2Up
OwotICAgICAgICByZXR1cm4gMDsKLSAgICB9Ci0gICAgcmV0dXJuIGhlbHBlci5nZXRSZXN1bHQo
ZWMpOwotfQotCi19IC8vIG5hbWVzcGFjZQotCi0jZW5kaWYgLy8gRU5BQkxFKEZJTEVfU1lTVEVN
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9maWxlc3lzdGVtL0RpcmVjdG9y
eVJlYWRlclN5bmMuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmlsZXN5c3RlbS9EaXJlY3Rv
cnlSZWFkZXJTeW5jLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGIxZDEyODJjMjMz
ZDFkMDg2YzQ0N2Y1N2YyMGEyZTNlYTkzODU1NWQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9maWxlc3lzdGVtL0Rp
cmVjdG9yeVJlYWRlclN5bmMuaAorKysgL2Rldi9udWxsCkBAIC0xLDY0ICswLDAgQEAKLS8qCi0g
KiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAq
Ci0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKLSAqIG1ldDoKLSAqCi0gKiAgICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAotICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgotICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQotICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgotICogaW4gdGhlIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQotICogZGlz
dHJpYnV0aW9uLgotICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3Ig
dGhlIG5hbWVzIG9mIGl0cwotICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ug
b3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KLSAqIHRoaXMgc29mdHdhcmUgd2l0aG91
dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCi0gKgotICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwot
ICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QKLSAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgotICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKLSAqIE9XTkVSIE9S
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLAotICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVAotICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCi0gKiBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKLSAqIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaWZuZGVm
IERpcmVjdG9yeVJlYWRlclN5bmNfaAotI2RlZmluZSBEaXJlY3RvcnlSZWFkZXJTeW5jX2gKLQot
I2lmIEVOQUJMRShGSUxFX1NZU1RFTSkKLQotI2luY2x1ZGUgIkRpcmVjdG9yeVJlYWRlckJhc2Uu
aCIKLSNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgotI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRy
Lmg+Ci0jaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KLQotbmFtZXNwYWNlIFdlYkNvcmUgewot
Ci1jbGFzcyBFbnRyeUFycmF5U3luYzsKLQotdHlwZWRlZiBpbnQgRXhjZXB0aW9uQ29kZTsKLQot
Y2xhc3MgRGlyZWN0b3J5UmVhZGVyU3luYyA6IHB1YmxpYyBEaXJlY3RvcnlSZWFkZXJCYXNlIHsK
LXB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxEaXJlY3RvcnlSZWFkZXJTeW5jPiBjcmVh
dGUoUGFzc1JlZlB0cjxET01GaWxlU3lzdGVtQmFzZT4gZmlsZVN5c3RlbSwgY29uc3QgU3RyaW5n
JiBmdWxsUGF0aCkKLSAgICB7Ci0gICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgRGlyZWN0b3J5
UmVhZGVyU3luYyhmaWxlU3lzdGVtLCBmdWxsUGF0aCkpOwotICAgIH0KLQotICAgIFBhc3NSZWZQ
dHI8RW50cnlBcnJheVN5bmM+IHJlYWRFbnRyaWVzKEV4Y2VwdGlvbkNvZGUmKTsKLQotcHJpdmF0
ZToKLSAgICBEaXJlY3RvcnlSZWFkZXJTeW5jKFBhc3NSZWZQdHI8RE9NRmlsZVN5c3RlbUJhc2U+
LCBjb25zdCBTdHJpbmcmIGZ1bGxQYXRoKTsKLX07Ci0KLX0gLy8gbmFtZXNwYWNlCi0KLSNlbmRp
ZiAvLyBFTkFCTEUoRklMRV9TWVNURU0pCi0KLSNlbmRpZiAvLyBEaXJlY3RvcnlSZWFkZXJTeW5j
X2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmlsZXN5c3RlbS9EaXJlY3Rv
cnlSZWFkZXJTeW5jLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmlsZXN5c3RlbS9EaXJl
Y3RvcnlSZWFkZXJTeW5jLmlkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYThmZjY4
NWNlZTU4M2U5ZmUyN2ZjMmViNzE2MGY2MWJlOTAyODYyMS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZpbGVzeXN0
ZW0vRGlyZWN0b3J5UmVhZGVyU3luYy5pZGwKKysrIC9kZXYvbnVsbApAQCAtMSwzOCArMCwwIEBA
Ci0vKgotICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCi0gKiBtZXQ6Ci0gKgotICog
ICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKLSAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKLSAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKLSAqIGluIHRo
ZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUK
LSAqIGRpc3RyaWJ1dGlvbi4KLSAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIElu
Yy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKLSAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBl
bmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCi0gKiB0aGlzIHNvZnR3YXJl
IHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgotICoKLSAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklC
VVRPUlMKLSAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UCi0gKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKLSAqIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCi0gKiBP
V05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwKLSAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAotICogREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
Ci0gKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQot
bW9kdWxlIHN0b3JhZ2UgewotICAgIGludGVyZmFjZSBbCi0gICAgICAgIENvbmRpdGlvbmFsPUZJ
TEVfU1lTVEVNLAotICAgICAgICBKU05vU3RhdGljVGFibGVzCi0gICAgXSBEaXJlY3RvcnlSZWFk
ZXJTeW5jIHsKLSAgICAgICAgRW50cnlBcnJheVN5bmMgcmVhZEVudHJpZXMoKSByYWlzZXMgKEZp
bGVFeGNlcHRpb24pOwotICAgIH07Ci19CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9UYXJn
ZXQucHJpIGIvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQppbmRleCBmYzY3ZmRlNmU0MDRkYWQ5
ZDg4MGI1ZTY4MDllMWFlZjJlNTFhODY3Li43NDM0M2YwMTVhOTZiYjMwODEwYjgyZjdjOTg1NGVm
ODlmYWVmZTA1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKQEAgLTY2OSwxMCArNjY5LDEwIEBAIFNPVVJDRVMgKz0g
XAogICAgIGZpbGVhcGkvRE9NRmlsZVN5c3RlbUJhc2UuY3BwIFwKICAgICBmaWxlYXBpL0RPTUZp
bGVTeXN0ZW1TeW5jLmNwcCBcCiAgICAgZmlsZWFwaS9ET01XaW5kb3dGaWxlU3lzdGVtLmNwcCBc
Ci0gICAgTW9kdWxlcy9maWxlc3lzdGVtL0RpcmVjdG9yeUVudHJ5LmNwcCBcCi0gICAgTW9kdWxl
cy9maWxlc3lzdGVtL0RpcmVjdG9yeUVudHJ5U3luYy5jcHAgXAotICAgIE1vZHVsZXMvZmlsZXN5
c3RlbS9EaXJlY3RvcnlSZWFkZXIuY3BwIFwKLSAgICBNb2R1bGVzL2ZpbGVzeXN0ZW0vRGlyZWN0
b3J5UmVhZGVyU3luYy5jcHAgXAorICAgIGZpbGVhcGkvRGlyZWN0b3J5RW50cnkuY3BwIFwKKyAg
ICBmaWxlYXBpL0RpcmVjdG9yeUVudHJ5U3luYy5jcHAgXAorICAgIGZpbGVhcGkvRGlyZWN0b3J5
UmVhZGVyLmNwcCBcCisgICAgZmlsZWFwaS9EaXJlY3RvcnlSZWFkZXJTeW5jLmNwcCBcCiAgICAg
ZmlsZWFwaS9FbnRyeS5jcHAgXAogICAgIGZpbGVhcGkvRW50cnlBcnJheS5jcHAgXAogICAgIGZp
bGVhcGkvRW50cnlBcnJheVN5bmMuY3BwIFwKQEAgLTMwNjAsMTEgKzMwNjAsMTEgQEAgY29udGFp
bnMoREVGSU5FUywgRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVM9MSkgewogY29udGFpbnMoREVG
SU5FUywgRU5BQkxFX0ZJTEVfU1lTVEVNPTEpIHsKICAgICBIRUFERVJTICs9IFwKICAgICAgICAg
ZmlsZWFwaS9Bc3luY0ZpbGVXcml0ZXIuaCBcCi0gICAgICAgIE1vZHVsZXMvZmlsZXN5c3RlbS9E
aXJlY3RvcnlFbnRyeS5oIFwKLSAgICAgICAgTW9kdWxlcy9maWxlc3lzdGVtL0RpcmVjdG9yeUVu
dHJ5U3luYy5oIFwKLSAgICAgICAgTW9kdWxlcy9maWxlc3lzdGVtL0RpcmVjdG9yeVJlYWRlci5o
IFwKLSAgICAgICAgTW9kdWxlcy9maWxlc3lzdGVtL0RpcmVjdG9yeVJlYWRlckJhc2UuaCBcCi0g
ICAgICAgIE1vZHVsZXMvZmlsZXN5c3RlbS9EaXJlY3RvcnlSZWFkZXJTeW5jLmggXAorICAgICAg
ICBmaWxlYXBpL0RpcmVjdG9yeUVudHJ5LmggXAorICAgICAgICBmaWxlYXBpL0RpcmVjdG9yeUVu
dHJ5U3luYy5oIFwKKyAgICAgICAgZmlsZWFwaS9EaXJlY3RvcnlSZWFkZXIuaCBcCisgICAgICAg
IGZpbGVhcGkvRGlyZWN0b3J5UmVhZGVyQmFzZS5oIFwKKyAgICAgICAgZmlsZWFwaS9EaXJlY3Rv
cnlSZWFkZXJTeW5jLmggXAogICAgICAgICBmaWxlYXBpL0RPTUZpbGVQYXRoLmggXAogICAgICAg
ICBmaWxlYXBpL0RPTUZpbGVTeXN0ZW0uaCBcCiAgICAgICAgIGZpbGVhcGkvRE9NRmlsZVN5c3Rl
bUJhc2UuaCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cC9XZWJDb3Jl
Lmd5cCBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwCmluZGV4IDAyMTYz
NTNmZmVhNzYwYWRhYWMzNzI5Mjk5ZjVkMzVmMDdiMzAyZDYuLmFlYjcxNTQyNzRkOTFkZjUyODli
MTZhMzhjZWY4MWViYzAwNmQyNTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
Z3lwL1dlYkNvcmUuZ3lwCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwL1dlYkNvcmUu
Z3lwCkBAIC01MSw3ICs1MSw2IEBACiAgICAgJ3dlYmNvcmVfaW5jbHVkZV9kaXJzJzogWwogICAg
ICAgJy4uLycsCiAgICAgICAnLi4vLi4nLAotICAgICAgJy4uL01vZHVsZXMvZmlsZXN5c3RlbScs
CiAgICAgICAnLi4vTW9kdWxlcy9nYW1lcGFkJywKICAgICAgICcuLi9Nb2R1bGVzL2dlb2xvY2F0
aW9uJywKICAgICAgICcuLi9Nb2R1bGVzL2ludGVudHMnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS5neXBpIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IDUx
ZjljNWM5MDcxNzhhZTdkMjM2MDE3NTYyMjQxYzNiMzQ5MTU1YTEuLmI4MTcxZWM2ODQ1NGM3Y2Nh
MjRhMzIxZmEzZTRhY2ZmZGExYzQzMjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUuZ3lwaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTg4NiwxMCArODg2
LDEwIEBACiAgICAgICAgICAgICAnZG9tL1dlYktpdFRyYW5zaXRpb25FdmVudC5pZGwnLAogICAg
ICAgICAgICAgJ2RvbS9XaGVlbEV2ZW50LmlkbCcsCiAgICAgICAgICAgICAnZmlsZWFwaS9CbG9i
LmlkbCcsCi0gICAgICAgICAgICAnTW9kdWxlcy9maWxlc3lzdGVtL0RpcmVjdG9yeUVudHJ5Lmlk
bCcsCi0gICAgICAgICAgICAnTW9kdWxlcy9maWxlc3lzdGVtL0RpcmVjdG9yeUVudHJ5U3luYy5p
ZGwnLAotICAgICAgICAgICAgJ01vZHVsZXMvZmlsZXN5c3RlbS9EaXJlY3RvcnlSZWFkZXIuaWRs
JywKLSAgICAgICAgICAgICdNb2R1bGVzL2ZpbGVzeXN0ZW0vRGlyZWN0b3J5UmVhZGVyU3luYy5p
ZGwnLAorICAgICAgICAgICAgJ2ZpbGVhcGkvRGlyZWN0b3J5RW50cnkuaWRsJywKKyAgICAgICAg
ICAgICdmaWxlYXBpL0RpcmVjdG9yeUVudHJ5U3luYy5pZGwnLAorICAgICAgICAgICAgJ2ZpbGVh
cGkvRGlyZWN0b3J5UmVhZGVyLmlkbCcsCisgICAgICAgICAgICAnZmlsZWFwaS9EaXJlY3RvcnlS
ZWFkZXJTeW5jLmlkbCcsCiAgICAgICAgICAgICAnZmlsZWFwaS9ET01GaWxlU3lzdGVtLmlkbCcs
CiAgICAgICAgICAgICAnZmlsZWFwaS9ET01GaWxlU3lzdGVtU3luYy5pZGwnLAogICAgICAgICAg
ICAgJ2ZpbGVhcGkvRE9NV2luZG93RmlsZVN5c3RlbS5pZGwnLApAQCAtMjQ0MSwxNSArMjQ0MSwx
NSBAQAogICAgICAgICAgICAgJ2ZpbGVhcGkvRE9NRmlsZVN5c3RlbVN5bmMuaCcsCiAgICAgICAg
ICAgICAnZmlsZWFwaS9ET01XaW5kb3dGaWxlU3lzdGVtLmNwcCcsCiAgICAgICAgICAgICAnZmls
ZWFwaS9ET01XaW5kb3dGaWxlU3lzdGVtLmgnLAotICAgICAgICAgICAgJ01vZHVsZXMvZmlsZXN5
c3RlbS9EaXJlY3RvcnlFbnRyeS5jcHAnLAotICAgICAgICAgICAgJ01vZHVsZXMvZmlsZXN5c3Rl
bS9EaXJlY3RvcnlFbnRyeS5oJywKLSAgICAgICAgICAgICdNb2R1bGVzL2ZpbGVzeXN0ZW0vRGly
ZWN0b3J5RW50cnlTeW5jLmNwcCcsCi0gICAgICAgICAgICAnTW9kdWxlcy9maWxlc3lzdGVtL0Rp
cmVjdG9yeUVudHJ5U3luYy5oJywKLSAgICAgICAgICAgICdNb2R1bGVzL2ZpbGVzeXN0ZW0vRGly
ZWN0b3J5UmVhZGVyLmNwcCcsCi0gICAgICAgICAgICAnTW9kdWxlcy9maWxlc3lzdGVtL0RpcmVj
dG9yeVJlYWRlci5oJywKLSAgICAgICAgICAgICdNb2R1bGVzL2ZpbGVzeXN0ZW0vRGlyZWN0b3J5
UmVhZGVyQmFzZS5oJywKLSAgICAgICAgICAgICdNb2R1bGVzL2ZpbGVzeXN0ZW0vRGlyZWN0b3J5
UmVhZGVyU3luYy5jcHAnLAotICAgICAgICAgICAgJ01vZHVsZXMvZmlsZXN5c3RlbS9EaXJlY3Rv
cnlSZWFkZXJTeW5jLmgnLAorICAgICAgICAgICAgJ2ZpbGVhcGkvRGlyZWN0b3J5RW50cnkuY3Bw
JywKKyAgICAgICAgICAgICdmaWxlYXBpL0RpcmVjdG9yeUVudHJ5LmgnLAorICAgICAgICAgICAg
J2ZpbGVhcGkvRGlyZWN0b3J5RW50cnlTeW5jLmNwcCcsCisgICAgICAgICAgICAnZmlsZWFwaS9E
aXJlY3RvcnlFbnRyeVN5bmMuaCcsCisgICAgICAgICAgICAnZmlsZWFwaS9EaXJlY3RvcnlSZWFk
ZXIuY3BwJywKKyAgICAgICAgICAgICdmaWxlYXBpL0RpcmVjdG9yeVJlYWRlci5oJywKKyAgICAg
ICAgICAgICdmaWxlYXBpL0RpcmVjdG9yeVJlYWRlckJhc2UuaCcsCisgICAgICAgICAgICAnZmls
ZWFwaS9EaXJlY3RvcnlSZWFkZXJTeW5jLmNwcCcsCisgICAgICAgICAgICAnZmlsZWFwaS9EaXJl
Y3RvcnlSZWFkZXJTeW5jLmgnLAogICAgICAgICAgICAgJ2ZpbGVhcGkvRW50cmllc0NhbGxiYWNr
LmgnLAogICAgICAgICAgICAgJ2ZpbGVhcGkvRW50cnkuY3BwJywKICAgICAgICAgICAgICdmaWxl
YXBpL0VudHJ5LmgnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5wcmkgYi9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnByaQppbmRleCA3MzdjOTA3YTViMTBlMmQwMDcyZjI2NDUz
ZWQ2MWE1ZTEwYTVkZWJlLi5iZGNkMTA3ODBkZWJlNDNmOWUzZTc1ODUwY2NlMGFjOGY3MWZkN2Vj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnByaQorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnByaQpAQCAtMTgsNyArMTgsNiBAQCBXRUJDT1JFX0dFTkVSQVRFRF9TT1VS
Q0VTX0RJUiA9ICQke1JPT1RfQlVJTERfRElSfS9Tb3VyY2UvV2ViQ29yZS8kJHtHRU5FUkFURURf
UwogCiBJTkNMVURFUEFUSCArPSBcCiAgICAgJCRTT1VSQ0VfRElSIFwKLSAgICAkJFNPVVJDRV9E
SVIvTW9kdWxlcy9maWxlc3lzdGVtIFwKICAgICAkJFNPVVJDRV9ESVIvTW9kdWxlcy9nZW9sb2Nh
dGlvbiBcCiAgICAgJCRTT1VSQ0VfRElSL01vZHVsZXMvaW5kZXhlZGRiIFwKICAgICAkJFNPVVJD
RV9ESVIvTW9kdWxlcy93ZWJkYXRhYmFzZSBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggYzIxYjA5OGQ4ZThmNmIxNzUzYzY4Nzc2
ZTFjN2I4NzkzNzc3ODIzZi4uMmU5MDU5ZWIzNzNlOTFiOTg2ZWJjNzkxNjQ1MjRlZjI2MzQ5ZjM4
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagpAQCAtOTc2NCw3ICs5NzY0LDcgQEAKIAkJODYxQzJFQTUxM0ZCNEZGRjAwMDYyQUJCIC8q
IFJlc291cmNlTG9hZFRpbWluZy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBSZXNvdXJjZUxvYWRUaW1pbmcuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk4NjI0M0QwMDExQkMzMUY3MDBDQzAwNkEgLyogSlNBcnJheUJ1ZmZlclZpZXdIZWxwZXIuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNBcnJheUJ1ZmZlclZpZXdIZWxwZXIu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODZEOTgyRjYxMjVDMTU0MDAwQUQ5RTNE
IC8qIERvY3VtZW50VGltaW5nLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERv
Y3VtZW50VGltaW5nLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTg5MEFFMEUwMTI1
NkEwNzkwMEY1OTY4QyAvKiBEaXJlY3RvcnlSZWFkZXJCYXNlLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgbmFtZSA9IERpcmVjdG9yeVJlYWRlckJhc2UuaDsgcGF0aCA9IE1vZHVsZXMvZmls
ZXN5c3RlbS9EaXJlY3RvcnlSZWFkZXJCYXNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTg5MEFFMEUwMTI1NkEwNzkwMEY1OTY4QyAvKiBEaXJlY3RvcnlSZWFkZXJCYXNlLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IERpcmVjdG9yeVJlYWRlckJhc2UuaDsgcGF0
aCA9IGZpbGVhcGkvRGlyZWN0b3J5UmVhZGVyQmFzZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk4OTJDRjE4RDEzNEM2MjBEMDBBQUVEQTEgLyogU3RvcmFnZUluZm9FcnJvckNhbGxi
YWNrLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFN0b3JhZ2VJbmZvRXJyb3JD
YWxsYmFjay5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4OTJDRjE4RTEzNEM2MjBE
MDBBQUVEQTEgLyogU3RvcmFnZUluZm9RdW90YUNhbGxiYWNrLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFN0b3JhZ2VJbmZvUXVvdGFDYWxsYmFjay5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk4OTJDRjE4RjEzNEM2MjBEMDBBQUVEQTEgLyogU3RvcmFnZUluZm9V
c2FnZUNhbGxiYWNrLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFN0b3JhZ2VJ
bmZvVXNhZ2VDYWxsYmFjay5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtOTc4NSwx
MCArOTc4NSwxMCBAQAogCQk4OTNDNDdCQTEyMzhBMEE5MDAyQjNEODYgLyogSlNGaWxlV3JpdGVy
Q2FsbGJhY2suaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNGaWxlV3JpdGVy
Q2FsbGJhY2suaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODkzQzQ3Q0ExMjNFRUJB
MjAwMkIzRDg2IC8qIEpTRW50cnlDdXN0b20uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gSlNFbnRyeUN1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTg5M0M0N0RFMTIzRUY0QTkwMDJCM0Q4NiAvKiBKU0RpcmVjdG9yeUVudHJ5Q3VzdG9tLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTRGlyZWN0b3J5RW50cnlD
dXN0b20uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk4OTNDNDdGMDEyNDhCRDM5
MDAyQjNEODYgLyogRGlyZWN0b3J5RW50cnlTeW5jLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgbmFtZSA9IERpcmVjdG9yeUVudHJ5U3luYy5jcHA7IHBhdGggPSBNb2R1bGVzL2Zp
bGVzeXN0ZW0vRGlyZWN0b3J5RW50cnlTeW5jLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKLQkJODkzQzQ3RjExMjQ4QkQzOTAwMkIzRDg2IC8qIERpcmVjdG9yeUVudHJ5U3luYy5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBEaXJlY3RvcnlFbnRyeVN5bmMuaDsgcGF0
aCA9IE1vZHVsZXMvZmlsZXN5c3RlbS9EaXJlY3RvcnlFbnRyeVN5bmMuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKLQkJODkzQzQ3RjIxMjQ4QkQzOTAwMkIzRDg2IC8qIERpcmVjdG9yeVJl
YWRlclN5bmMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gRGlyZWN0
b3J5UmVhZGVyU3luYy5jcHA7IHBhdGggPSBNb2R1bGVzL2ZpbGVzeXN0ZW0vRGlyZWN0b3J5UmVh
ZGVyU3luYy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTg5M0M0N0YzMTI0OEJE
MzkwMDJCM0Q4NiAvKiBEaXJlY3RvcnlSZWFkZXJTeW5jLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgbmFtZSA9IERpcmVjdG9yeVJlYWRlclN5bmMuaDsgcGF0aCA9IE1vZHVsZXMvZmlsZXN5
c3RlbS9EaXJlY3RvcnlSZWFkZXJTeW5jLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTg5M0M0N0YwMTI0OEJEMzkwMDJCM0Q4NiAvKiBEaXJlY3RvcnlFbnRyeVN5bmMuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gRGlyZWN0b3J5RW50cnlTeW5jLmNwcDsg
cGF0aCA9IGZpbGVhcGkvRGlyZWN0b3J5RW50cnlTeW5jLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJODkzQzQ3RjExMjQ4QkQzOTAwMkIzRDg2IC8qIERpcmVjdG9yeUVudHJ5U3lu
Yy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBEaXJlY3RvcnlFbnRyeVN5bmMu
aDsgcGF0aCA9IGZpbGVhcGkvRGlyZWN0b3J5RW50cnlTeW5jLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTg5M0M0N0YyMTI0OEJEMzkwMDJCM0Q4NiAvKiBEaXJlY3RvcnlSZWFkZXJT
eW5jLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IERpcmVjdG9yeVJl
YWRlclN5bmMuY3BwOyBwYXRoID0gZmlsZWFwaS9EaXJlY3RvcnlSZWFkZXJTeW5jLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODkzQzQ3RjMxMjQ4QkQzOTAwMkIzRDg2IC8qIERp
cmVjdG9yeVJlYWRlclN5bmMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gRGly
ZWN0b3J5UmVhZGVyU3luYy5oOyBwYXRoID0gZmlsZWFwaS9EaXJlY3RvcnlSZWFkZXJTeW5jLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg5M0M0N0Y0MTI0OEJEMzkwMDJCM0Q4NiAv
KiBET01GaWxlU3lzdGVtQmFzZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5h
bWUgPSBET01GaWxlU3lzdGVtQmFzZS5jcHA7IHBhdGggPSBmaWxlYXBpL0RPTUZpbGVTeXN0ZW1C
YXNlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODkzQzQ3RjUxMjQ4QkQzOTAw
MkIzRDg2IC8qIERPTUZpbGVTeXN0ZW1CYXNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
bmFtZSA9IERPTUZpbGVTeXN0ZW1CYXNlLmg7IHBhdGggPSBmaWxlYXBpL0RPTUZpbGVTeXN0ZW1C
YXNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg5M0M0N0Y2MTI0OEJEMzkwMDJC
M0Q4NiAvKiBET01GaWxlU3lzdGVtU3luYy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IG5hbWUgPSBET01GaWxlU3lzdGVtU3luYy5jcHA7IHBhdGggPSBmaWxlYXBpL0RPTUZpbGVT
eXN0ZW1TeW5jLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTk4MTQsMTAgKzk4
MTQsMTAgQEAKIAkJODkzQzQ4MzAxMjQ5NTQ3MjAwMkIzRDg2IC8qIEpTRmlsZUVudHJ5U3luYy5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0ZpbGVFbnRyeVN5bmMu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4OTNDNDgzMTEyNDk1NDcyMDAyQjNE
ODYgLyogSlNGaWxlRW50cnlTeW5jLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IEpTRmlsZUVudHJ5U3luYy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4OTNDNDg1
MjEyNDk5QjA2MDAyQjNEODYgLyogSlNFbnRyeVN5bmNDdXN0b20uY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNFbnRyeVN5bmNDdXN0b20uY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwotCQk4OTg3ODUzOTEyMkNBMDY0MDAzQUFCREEgLyogRGlyZWN0b3J5
RW50cnkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gRGlyZWN0b3J5
RW50cnkuY3BwOyBwYXRoID0gTW9kdWxlcy9maWxlc3lzdGVtL0RpcmVjdG9yeUVudHJ5LmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJODk4Nzg1M0ExMjJDQTA2NDAwM0FBQkRBIC8q
IERpcmVjdG9yeUVudHJ5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IERpcmVj
dG9yeUVudHJ5Lmg7IHBhdGggPSBNb2R1bGVzL2ZpbGVzeXN0ZW0vRGlyZWN0b3J5RW50cnkuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJODk4Nzg1M0IxMjJDQTA2NDAwM0FBQkRBIC8q
IERpcmVjdG9yeVJlYWRlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUg
PSBEaXJlY3RvcnlSZWFkZXIuY3BwOyBwYXRoID0gTW9kdWxlcy9maWxlc3lzdGVtL0RpcmVjdG9y
eVJlYWRlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTg5ODc4NTNDMTIyQ0Ew
NjQwMDNBQUJEQSAvKiBEaXJlY3RvcnlSZWFkZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBuYW1lID0gRGlyZWN0b3J5UmVhZGVyLmg7IHBhdGggPSBNb2R1bGVzL2ZpbGVzeXN0ZW0vRGly
ZWN0b3J5UmVhZGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg5ODc4NTM5MTIy
Q0EwNjQwMDNBQUJEQSAvKiBEaXJlY3RvcnlFbnRyeS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IG5hbWUgPSBEaXJlY3RvcnlFbnRyeS5jcHA7IHBhdGggPSBmaWxlYXBpL0RpcmVj
dG9yeUVudHJ5LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODk4Nzg1M0ExMjJD
QTA2NDAwM0FBQkRBIC8qIERpcmVjdG9yeUVudHJ5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgbmFtZSA9IERpcmVjdG9yeUVudHJ5Lmg7IHBhdGggPSBmaWxlYXBpL0RpcmVjdG9yeUVudHJ5
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg5ODc4NTNCMTIyQ0EwNjQwMDNBQUJE
QSAvKiBEaXJlY3RvcnlSZWFkZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBu
YW1lID0gRGlyZWN0b3J5UmVhZGVyLmNwcDsgcGF0aCA9IGZpbGVhcGkvRGlyZWN0b3J5UmVhZGVy
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODk4Nzg1M0MxMjJDQTA2NDAwM0FB
QkRBIC8qIERpcmVjdG9yeVJlYWRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUg
PSBEaXJlY3RvcnlSZWFkZXIuaDsgcGF0aCA9IGZpbGVhcGkvRGlyZWN0b3J5UmVhZGVyLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg5ODc4NTNEMTIyQ0EwNjQwMDNBQUJEQSAvKiBE
T01GaWxlUGF0aC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBET01G
aWxlUGF0aC5jcHA7IHBhdGggPSBmaWxlYXBpL0RPTUZpbGVQYXRoLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJODk4Nzg1M0UxMjJDQTA2NDAwM0FBQkRBIC8qIERPTUZpbGVQYXRo
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IERPTUZpbGVQYXRoLmg7IHBhdGgg
PSBmaWxlYXBpL0RPTUZpbGVQYXRoLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg5
ODc4NTNGMTIyQ0EwNjQwMDNBQUJEQSAvKiBET01GaWxlU3lzdGVtLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IERPTUZpbGVTeXN0ZW0uY3BwOyBwYXRoID0gZmlsZWFw
aS9ET01GaWxlU3lzdGVtLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEyODk3
LDEwICsxMjg5NywxMCBAQAogCQlFMUE2NDNGMTBFQzA5NzI1MDA3Nzk2NjggLyogV29ya2VyU2Ny
aXB0Q29udHJvbGxlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXb3JrZXJT
Y3JpcHRDb250cm9sbGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUxQTY0M0ZD
MEVDMDk3QTAwMDc3OTY2OCAvKiBXb3JrZXJTY3JpcHRDb250cm9sbGVyLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdvcmtlclNjcmlwdENvbnRyb2xsZXIuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMUFCMUVBODE0RTlFMjdEMDA0NDlFMTMgLyog
RmlsZUxpc3QuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgbmFtZSA9IEZpbGVMaXN0LmlkbDsgcGF0aCA9
IGZpbGVhcGkvRmlsZUxpc3QuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlFMUFC
MUVBQjE0RTlFMkVGMDA0NDlFMTMgLyogRGlyZWN0b3J5RW50cnkuaWRsICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgbmFtZSA9IERpcmVjdG9y
eUVudHJ5LmlkbDsgcGF0aCA9IE1vZHVsZXMvZmlsZXN5c3RlbS9EaXJlY3RvcnlFbnRyeS5pZGw7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUUxQUIxRUFDMTRFOUUyRjgwMDQ0OUUxMyAv
KiBEaXJlY3RvcnlFbnRyeVN5bmMuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gdGV4dDsgbmFtZSA9IERpcmVjdG9yeUVudHJ5U3luYy5pZGw7IHBh
dGggPSBNb2R1bGVzL2ZpbGVzeXN0ZW0vRGlyZWN0b3J5RW50cnlTeW5jLmlkbDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKLQkJRTFBQjFFQUQxNEU5RTMwNTAwNDQ5RTEzIC8qIERpcmVjdG9y
eVJlYWRlci5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSB0ZXh0OyBuYW1lID0gRGlyZWN0b3J5UmVhZGVyLmlkbDsgcGF0aCA9IE1vZHVsZXMvZmls
ZXN5c3RlbS9EaXJlY3RvcnlSZWFkZXIuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owot
CQlFMUFCMUVBRTE0RTlFMzBCMDA0NDlFMTMgLyogRGlyZWN0b3J5UmVhZGVyU3luYy5pZGwgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBuYW1l
ID0gRGlyZWN0b3J5UmVhZGVyU3luYy5pZGw7IHBhdGggPSBNb2R1bGVzL2ZpbGVzeXN0ZW0vRGly
ZWN0b3J5UmVhZGVyU3luYy5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUUxQUIx
RUFCMTRFOUUyRUYwMDQ0OUUxMyAvKiBEaXJlY3RvcnlFbnRyeS5pZGwgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBuYW1lID0gRGlyZWN0b3J5
RW50cnkuaWRsOyBwYXRoID0gZmlsZWFwaS9EaXJlY3RvcnlFbnRyeS5pZGw7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCUUxQUIxRUFDMTRFOUUyRjgwMDQ0OUUxMyAvKiBEaXJlY3RvcnlF
bnRyeVN5bmMuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gdGV4dDsgbmFtZSA9IERpcmVjdG9yeUVudHJ5U3luYy5pZGw7IHBhdGggPSBmaWxlYXBp
L0RpcmVjdG9yeUVudHJ5U3luYy5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUUx
QUIxRUFEMTRFOUUzMDUwMDQ0OUUxMyAvKiBEaXJlY3RvcnlSZWFkZXIuaWRsICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgbmFtZSA9IERpcmVj
dG9yeVJlYWRlci5pZGw7IHBhdGggPSBmaWxlYXBpL0RpcmVjdG9yeVJlYWRlci5pZGw7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUUxQUIxRUFFMTRFOUUzMEIwMDQ0OUUxMyAvKiBEaXJl
Y3RvcnlSZWFkZXJTeW5jLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHRleHQ7IG5hbWUgPSBEaXJlY3RvcnlSZWFkZXJTeW5jLmlkbDsgcGF0aCA9
IGZpbGVhcGkvRGlyZWN0b3J5UmVhZGVyU3luYy5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCUUxQUIxRUFGMTRFOUUzMTcwMDQ0OUUxMyAvKiBET01GaWxlU3lzdGVtU3luYy5pZGwg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBu
YW1lID0gRE9NRmlsZVN5c3RlbVN5bmMuaWRsOyBwYXRoID0gZmlsZWFwaS9ET01GaWxlU3lzdGVt
U3luYy5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUxQUIxRUIwMTRFOUUzMjMw
MDQ0OUUxMyAvKiBFbnRyaWVzQ2FsbGJhY2suaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgbmFtZSA9IEVudHJpZXNDYWxsYmFjay5pZGw7
IHBhdGggPSBmaWxlYXBpL0VudHJpZXNDYWxsYmFjay5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCUUxQUIxRUIxMTRFOUUzMkEwMDQ0OUUxMyAvKiBFbnRyeS5pZGwgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBuYW1lID0gRW50
cnkuaWRsOyBwYXRoID0gZmlsZWFwaS9FbnRyeS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL0RpcmVjdG9yeUVudHJ5LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRGlyZWN0b3J5RW50cnkuY3BwCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjBmNmU0OWY0NDIzYTA0OGU1NWIzZGFhYjI4MDgwYWUzOTMzZTYxZGEKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL0RpcmVjdG9yeUVudHJ5LmNwcApAQCAtMCwwICsx
LDc3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6Cisg
KgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAq
IGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29v
Z2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNl
ZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNv
ZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBD
T05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxB
UiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hU
CisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkRpcmVjdG9yeUVudHJ5LmgiCisK
KyNpZiBFTkFCTEUoRklMRV9TWVNURU0pCisKKyNpbmNsdWRlICJEaXJlY3RvcnlSZWFkZXIuaCIK
KyNpbmNsdWRlICJFbnRyeUNhbGxiYWNrLmgiCisjaW5jbHVkZSAiRXJyb3JDYWxsYmFjay5oIgor
I2luY2x1ZGUgIkZpbGVFcnJvci5oIgorI2luY2x1ZGUgIlZvaWRDYWxsYmFjay5oIgorCituYW1l
c3BhY2UgV2ViQ29yZSB7CisKK0RpcmVjdG9yeUVudHJ5OjpEaXJlY3RvcnlFbnRyeShQYXNzUmVm
UHRyPERPTUZpbGVTeXN0ZW1CYXNlPiBmaWxlU3lzdGVtLCBjb25zdCBTdHJpbmcmIGZ1bGxQYXRo
KQorICAgIDogRW50cnkoZmlsZVN5c3RlbSwgZnVsbFBhdGgpCit7Cit9CisKK1Bhc3NSZWZQdHI8
RGlyZWN0b3J5UmVhZGVyPiBEaXJlY3RvcnlFbnRyeTo6Y3JlYXRlUmVhZGVyKCkKK3sKKyAgICBy
ZXR1cm4gRGlyZWN0b3J5UmVhZGVyOjpjcmVhdGUobV9maWxlU3lzdGVtLCBtX2Z1bGxQYXRoKTsK
K30KKwordm9pZCBEaXJlY3RvcnlFbnRyeTo6Z2V0RmlsZShjb25zdCBTdHJpbmcmIHBhdGgsIFBh
c3NSZWZQdHI8V2ViS2l0RmxhZ3M+IGZsYWdzLCBQYXNzUmVmUHRyPEVudHJ5Q2FsbGJhY2s+IHN1
Y2Nlc3NDYWxsYmFjaywgUGFzc1JlZlB0cjxFcnJvckNhbGxiYWNrPiBlcnJvckNhbGxiYWNrUmVm
KQoreworICAgIFJlZlB0cjxFcnJvckNhbGxiYWNrPiBlcnJvckNhbGxiYWNrKGVycm9yQ2FsbGJh
Y2tSZWYpOworICAgIGlmICghbV9maWxlU3lzdGVtLT5nZXRGaWxlKHRoaXMsIHBhdGgsIGZsYWdz
LCBzdWNjZXNzQ2FsbGJhY2ssIGVycm9yQ2FsbGJhY2spKQorICAgICAgICBmaWxlc3lzdGVtKCkt
PnNjaGVkdWxlQ2FsbGJhY2soZXJyb3JDYWxsYmFjay5yZWxlYXNlKCksIEZpbGVFcnJvcjo6Y3Jl
YXRlKEZpbGVFcnJvcjo6SU5WQUxJRF9NT0RJRklDQVRJT05fRVJSKSk7Cit9CisKK3ZvaWQgRGly
ZWN0b3J5RW50cnk6OmdldERpcmVjdG9yeShjb25zdCBTdHJpbmcmIHBhdGgsIFBhc3NSZWZQdHI8
V2ViS2l0RmxhZ3M+IGZsYWdzLCBQYXNzUmVmUHRyPEVudHJ5Q2FsbGJhY2s+IHN1Y2Nlc3NDYWxs
YmFjaywgUGFzc1JlZlB0cjxFcnJvckNhbGxiYWNrPiBlcnJvckNhbGxiYWNrUmVmKQoreworICAg
IFJlZlB0cjxFcnJvckNhbGxiYWNrPiBlcnJvckNhbGxiYWNrKGVycm9yQ2FsbGJhY2tSZWYpOwor
ICAgIGlmICghbV9maWxlU3lzdGVtLT5nZXREaXJlY3RvcnkodGhpcywgcGF0aCwgZmxhZ3MsIHN1
Y2Nlc3NDYWxsYmFjaywgZXJyb3JDYWxsYmFjaykpCisgICAgICAgIGZpbGVzeXN0ZW0oKS0+c2No
ZWR1bGVDYWxsYmFjayhlcnJvckNhbGxiYWNrLnJlbGVhc2UoKSwgRmlsZUVycm9yOjpjcmVhdGUo
RmlsZUVycm9yOjpJTlZBTElEX01PRElGSUNBVElPTl9FUlIpKTsKK30KKwordm9pZCBEaXJlY3Rv
cnlFbnRyeTo6cmVtb3ZlUmVjdXJzaXZlbHkoUGFzc1JlZlB0cjxWb2lkQ2FsbGJhY2s+IHN1Y2Nl
c3NDYWxsYmFjaywgUGFzc1JlZlB0cjxFcnJvckNhbGxiYWNrPiBlcnJvckNhbGxiYWNrUmVmKSBj
b25zdAoreworICAgIFJlZlB0cjxFcnJvckNhbGxiYWNrPiBlcnJvckNhbGxiYWNrKGVycm9yQ2Fs
bGJhY2tSZWYpOworICAgIGlmICghbV9maWxlU3lzdGVtLT5yZW1vdmVSZWN1cnNpdmVseSh0aGlz
LCBzdWNjZXNzQ2FsbGJhY2ssIGVycm9yQ2FsbGJhY2spKQorICAgICAgICBmaWxlc3lzdGVtKCkt
PnNjaGVkdWxlQ2FsbGJhY2soZXJyb3JDYWxsYmFjay5yZWxlYXNlKCksIEZpbGVFcnJvcjo6Y3Jl
YXRlKEZpbGVFcnJvcjo6SU5WQUxJRF9NT0RJRklDQVRJT05fRVJSKSk7Cit9CisKK30KKworI2Vu
ZGlmIC8vIEVOQUJMRShGSUxFX1NZU1RFTSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Zp
bGVhcGkvRGlyZWN0b3J5RW50cnkuaCBiL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRGlyZWN0b3J5
RW50cnkuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjI3MDQ3MTNlYmJkODJhMmYzNGEwZDNhZDhkNmZkZTY1NjJj
MWFjCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9EaXJlY3RvcnlF
bnRyeS5oCkBAIC0wLDAgKzEsNzEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICog
Y29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhl
ciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJp
YnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVk
IGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBl
cm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJ
R0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8s
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQor
ICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIERpcmVjdG9yeUVudHJ5X2gKKyNkZWZpbmUg
RGlyZWN0b3J5RW50cnlfaAorCisjaWYgRU5BQkxFKEZJTEVfU1lTVEVNKQorCisjaW5jbHVkZSAi
RW50cnkuaCIKKyNpbmNsdWRlICJXZWJLaXRGbGFncy5oIgorI2luY2x1ZGUgIlBsYXRmb3JtU3Ry
aW5nLmgiCisjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYvUmVmQ291
bnRlZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIERPTUZpbGVTeXN0ZW1CYXNl
OworY2xhc3MgRGlyZWN0b3J5UmVhZGVyOworY2xhc3MgRW50cnlDYWxsYmFjazsKK2NsYXNzIEVy
cm9yQ2FsbGJhY2s7CitjbGFzcyBWb2lkQ2FsbGJhY2s7CisKK2NsYXNzIERpcmVjdG9yeUVudHJ5
IDogcHVibGljIEVudHJ5IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxEaXJlY3Rv
cnlFbnRyeT4gY3JlYXRlKFBhc3NSZWZQdHI8RE9NRmlsZVN5c3RlbUJhc2U+IGZpbGVTeXN0ZW0s
IGNvbnN0IFN0cmluZyYgZnVsbFBhdGgpCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYo
bmV3IERpcmVjdG9yeUVudHJ5KGZpbGVTeXN0ZW0sIGZ1bGxQYXRoKSk7CisgICAgfQorICAgIHZp
cnR1YWwgYm9vbCBpc0RpcmVjdG9yeSgpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KKworICAgIFBh
c3NSZWZQdHI8RGlyZWN0b3J5UmVhZGVyPiBjcmVhdGVSZWFkZXIoKTsKKyAgICB2b2lkIGdldEZp
bGUoY29uc3QgU3RyaW5nJiBwYXRoLCBQYXNzUmVmUHRyPFdlYktpdEZsYWdzPiA9IDAsIFBhc3NS
ZWZQdHI8RW50cnlDYWxsYmFjaz4gPSAwLCBQYXNzUmVmUHRyPEVycm9yQ2FsbGJhY2s+ID0gMCk7
CisgICAgdm9pZCBnZXREaXJlY3RvcnkoY29uc3QgU3RyaW5nJiBwYXRoLCBQYXNzUmVmUHRyPFdl
YktpdEZsYWdzPiA9IDAsIFBhc3NSZWZQdHI8RW50cnlDYWxsYmFjaz4gPSAwLCBQYXNzUmVmUHRy
PEVycm9yQ2FsbGJhY2s+ID0gMCk7CisgICAgdm9pZCByZW1vdmVSZWN1cnNpdmVseShQYXNzUmVm
UHRyPFZvaWRDYWxsYmFjaz4gc3VjY2Vzc0NhbGxiYWNrID0gMCwgUGFzc1JlZlB0cjxFcnJvckNh
bGxiYWNrPiA9IDApIGNvbnN0OworCitwcml2YXRlOgorICAgIERpcmVjdG9yeUVudHJ5KFBhc3NS
ZWZQdHI8RE9NRmlsZVN5c3RlbUJhc2U+LCBjb25zdCBTdHJpbmcmIGZ1bGxQYXRoKTsKK307CisK
K30gLy8gbmFtZXNwYWNlCisKKyNlbmRpZiAvLyBFTkFCTEUoRklMRV9TWVNURU0pCisKKyNlbmRp
ZiAvLyBEaXJlY3RvcnlFbnRyeV9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9maWxlYXBp
L0RpcmVjdG9yeUVudHJ5LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRGlyZWN0b3J5RW50
cnkuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmM2YzlhZTliYjE4YzRjN2M2YTM2ZWQ4YmEzN2JjNWQzMDQyNzYy
MDgKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL0RpcmVjdG9yeUVu
dHJ5LmlkbApAQCAtMCwwICsxLDQzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2ds
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAq
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRo
ZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRy
aWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZl
ZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBw
ZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlS
SUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRP
LCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UK
KyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworbW9kdWxlIHN0b3JhZ2UgeworICAgIGludGVyZmFjZSBb
CisgICAgICAgIENvbmRpdGlvbmFsPUZJTEVfU1lTVEVNLAorICAgICAgICBKU0dlbmVyYXRlVG9O
YXRpdmVPYmplY3QsCisgICAgICAgIEpTR2VuZXJhdGVUb0pTT2JqZWN0LAorICAgICAgICBKU05v
U3RhdGljVGFibGVzCisgICAgXSBEaXJlY3RvcnlFbnRyeSA6IEVudHJ5IHsKKyAgICAgICAgRGly
ZWN0b3J5UmVhZGVyIGNyZWF0ZVJlYWRlcigpOworICAgICAgICBbQ3VzdG9tXSB2b2lkIGdldEZp
bGUoaW4gW1RyZWF0TnVsbEFzPU51bGxTdHJpbmcsIFRyZWF0VW5kZWZpbmVkQXM9TnVsbFN0cmlu
Z10gRE9NU3RyaW5nIHBhdGgsIGluIFtPcHRpb25hbF0gV2ViS2l0RmxhZ3MgZmxhZ3MsIGluIFtP
cHRpb25hbCwgQ2FsbGJhY2tdIEVudHJ5Q2FsbGJhY2sgc3VjY2Vzc0NhbGxiYWNrLCBpbiBbT3B0
aW9uYWwsIENhbGxiYWNrXSBFcnJvckNhbGxiYWNrIGVycm9yQ2FsbGJhY2spOworICAgICAgICBb
Q3VzdG9tXSB2b2lkIGdldERpcmVjdG9yeShpbiBbVHJlYXROdWxsQXM9TnVsbFN0cmluZywgVHJl
YXRVbmRlZmluZWRBcz1OdWxsU3RyaW5nXSBET01TdHJpbmcgcGF0aCwgaW4gW09wdGlvbmFsXSBX
ZWJLaXRGbGFncyBmbGFncywgaW4gW09wdGlvbmFsLCBDYWxsYmFja10gRW50cnlDYWxsYmFjayBz
dWNjZXNzQ2FsbGJhY2ssIGluIFtPcHRpb25hbCwgQ2FsbGJhY2tdIEVycm9yQ2FsbGJhY2sgZXJy
b3JDYWxsYmFjayk7CisgICAgICAgIHZvaWQgcmVtb3ZlUmVjdXJzaXZlbHkoaW4gW0NhbGxiYWNr
XSBWb2lkQ2FsbGJhY2sgc3VjY2Vzc0NhbGxiYWNrLCBpbiBbT3B0aW9uYWwsIENhbGxiYWNrXSBF
cnJvckNhbGxiYWNrIGVycm9yQ2FsbGJhY2spOworICAgIH07Cit9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9maWxlYXBpL0RpcmVjdG9yeUVudHJ5U3luYy5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9maWxlYXBpL0RpcmVjdG9yeUVudHJ5U3luYy5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTBkZWFjZWIwOTY5
YjdiYTAxMTZkMmNmZjAzNzc5ODRiNDhkZjFhMAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2ZpbGVhcGkvRGlyZWN0b3J5RW50cnlTeW5jLmNwcApAQCAtMCwwICsxLDg5IEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAg
ICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAq
IGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4g
bm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRv
cnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdp
dGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRP
UlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05F
UiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisg
KiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lu
Y2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkRpcmVjdG9yeUVudHJ5U3luYy5oIgorCisjaWYg
RU5BQkxFKEZJTEVfU1lTVEVNKQorCisjaW5jbHVkZSAiRGlyZWN0b3J5UmVhZGVyU3luYy5oIgor
I2luY2x1ZGUgIkVudHJ5U3luYy5oIgorI2luY2x1ZGUgIkZpbGVFbnRyeVN5bmMuaCIKKyNpbmNs
dWRlICJGaWxlRXhjZXB0aW9uLmgiCisjaW5jbHVkZSAiU3luY0NhbGxiYWNrSGVscGVyLmgiCisK
K25hbWVzcGFjZSBXZWJDb3JlIHsKKworRGlyZWN0b3J5RW50cnlTeW5jOjpEaXJlY3RvcnlFbnRy
eVN5bmMoUGFzc1JlZlB0cjxET01GaWxlU3lzdGVtQmFzZT4gZmlsZVN5c3RlbSwgY29uc3QgU3Ry
aW5nJiBmdWxsUGF0aCkKKyAgICA6IEVudHJ5U3luYyhmaWxlU3lzdGVtLCBmdWxsUGF0aCkKK3sK
K30KKworUGFzc1JlZlB0cjxEaXJlY3RvcnlSZWFkZXJTeW5jPiBEaXJlY3RvcnlFbnRyeVN5bmM6
OmNyZWF0ZVJlYWRlcihFeGNlcHRpb25Db2RlJikKK3sKKyAgICByZXR1cm4gRGlyZWN0b3J5UmVh
ZGVyU3luYzo6Y3JlYXRlKG1fZmlsZVN5c3RlbSwgbV9mdWxsUGF0aCk7Cit9CisKK1Bhc3NSZWZQ
dHI8RmlsZUVudHJ5U3luYz4gRGlyZWN0b3J5RW50cnlTeW5jOjpnZXRGaWxlKGNvbnN0IFN0cmlu
ZyYgcGF0aCwgUGFzc1JlZlB0cjxXZWJLaXRGbGFncz4gZmxhZ3MsIEV4Y2VwdGlvbkNvZGUmIGVj
KQoreworICAgIGVjID0gMDsKKyAgICBFbnRyeVN5bmNDYWxsYmFja0hlbHBlciBoZWxwZXIobV9m
aWxlU3lzdGVtLT5hc3luY0ZpbGVTeXN0ZW0oKSk7CisgICAgaWYgKCFtX2ZpbGVTeXN0ZW0tPmdl
dEZpbGUodGhpcywgcGF0aCwgZmxhZ3MsIGhlbHBlci5zdWNjZXNzQ2FsbGJhY2soKSwgaGVscGVy
LmVycm9yQ2FsbGJhY2soKSkpIHsKKyAgICAgICAgZWMgPSBGaWxlRXhjZXB0aW9uOjpJTlZBTElE
X01PRElGSUNBVElPTl9FUlI7CisgICAgICAgIHJldHVybiAwOworICAgIH0KKyAgICByZXR1cm4g
c3RhdGljX3BvaW50ZXJfY2FzdDxGaWxlRW50cnlTeW5jPihoZWxwZXIuZ2V0UmVzdWx0KGVjKSk7
Cit9CisKK1Bhc3NSZWZQdHI8RGlyZWN0b3J5RW50cnlTeW5jPiBEaXJlY3RvcnlFbnRyeVN5bmM6
OmdldERpcmVjdG9yeShjb25zdCBTdHJpbmcmIHBhdGgsIFBhc3NSZWZQdHI8V2ViS2l0RmxhZ3M+
IGZsYWdzLCBFeGNlcHRpb25Db2RlJiBlYykKK3sKKyAgICBlYyA9IDA7CisgICAgRW50cnlTeW5j
Q2FsbGJhY2tIZWxwZXIgaGVscGVyKG1fZmlsZVN5c3RlbS0+YXN5bmNGaWxlU3lzdGVtKCkpOwor
ICAgIGlmICghbV9maWxlU3lzdGVtLT5nZXREaXJlY3RvcnkodGhpcywgcGF0aCwgZmxhZ3MsIGhl
bHBlci5zdWNjZXNzQ2FsbGJhY2soKSwgaGVscGVyLmVycm9yQ2FsbGJhY2soKSkpIHsKKyAgICAg
ICAgZWMgPSBGaWxlRXhjZXB0aW9uOjpJTlZBTElEX01PRElGSUNBVElPTl9FUlI7CisgICAgICAg
IHJldHVybiAwOworICAgIH0KKyAgICByZXR1cm4gc3RhdGljX3BvaW50ZXJfY2FzdDxEaXJlY3Rv
cnlFbnRyeVN5bmM+KGhlbHBlci5nZXRSZXN1bHQoZWMpKTsKK30KKwordm9pZCBEaXJlY3RvcnlF
bnRyeVN5bmM6OnJlbW92ZVJlY3Vyc2l2ZWx5KEV4Y2VwdGlvbkNvZGUmIGVjKQoreworICAgIGVj
ID0gMDsKKyAgICBWb2lkU3luY0NhbGxiYWNrSGVscGVyIGhlbHBlcihtX2ZpbGVTeXN0ZW0tPmFz
eW5jRmlsZVN5c3RlbSgpKTsKKyAgICBpZiAoIW1fZmlsZVN5c3RlbS0+cmVtb3ZlUmVjdXJzaXZl
bHkodGhpcywgaGVscGVyLnN1Y2Nlc3NDYWxsYmFjaygpLCBoZWxwZXIuZXJyb3JDYWxsYmFjaygp
KSkgeworICAgICAgICBlYyA9IEZpbGVFeGNlcHRpb246OklOVkFMSURfTU9ESUZJQ0FUSU9OX0VS
UjsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICBoZWxwZXIuZ2V0UmVzdWx0KGVjKTsKK30K
KworfQorCisjZW5kaWYgLy8gRU5BQkxFKEZJTEVfU1lTVEVNKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvZmlsZWFwaS9EaXJlY3RvcnlFbnRyeVN5bmMuaCBiL1NvdXJjZS9XZWJDb3JlL2Zp
bGVhcGkvRGlyZWN0b3J5RW50cnlTeW5jLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjJiNDgxYTg3NmZmMWM5NzFh
MDM5OTY3NTcwMjRjOGNlNjQxYTgwNgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2ZpbGVhcGkvRGlyZWN0b3J5RW50cnlTeW5jLmgKQEAgLTAsMCArMSw2OSBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmli
dXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUg
bmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBw
cm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNw
ZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAi
QVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09O
VFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
CisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgRGly
ZWN0b3J5RW50cnlTeW5jX2gKKyNkZWZpbmUgRGlyZWN0b3J5RW50cnlTeW5jX2gKKworI2lmIEVO
QUJMRShGSUxFX1NZU1RFTSkKKworI2luY2x1ZGUgIkVudHJ5U3luYy5oIgorI2luY2x1ZGUgIldl
YktpdEZsYWdzLmgiCisjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKKyNpbmNsdWRlIDx3dGYv
UGFzc1JlZlB0ci5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisKK25hbWVzcGFjZSBX
ZWJDb3JlIHsKKworY2xhc3MgRGlyZWN0b3J5UmVhZGVyU3luYzsKK2NsYXNzIEZpbGVFbnRyeVN5
bmM7CisKK2NsYXNzIERpcmVjdG9yeUVudHJ5U3luYyA6IHB1YmxpYyBFbnRyeVN5bmMgeworcHVi
bGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPERpcmVjdG9yeUVudHJ5U3luYz4gY3JlYXRlKFBh
c3NSZWZQdHI8RE9NRmlsZVN5c3RlbUJhc2U+IGZpbGVTeXN0ZW0sIGNvbnN0IFN0cmluZyYgZnVs
bFBhdGgpCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IERpcmVjdG9yeUVudHJ5
U3luYyhmaWxlU3lzdGVtLCBmdWxsUGF0aCkpOworICAgIH0KKyAgICB2aXJ0dWFsIGJvb2wgaXNE
aXJlY3RvcnkoKSBjb25zdCB7IHJldHVybiB0cnVlOyB9CisKKyAgICBQYXNzUmVmUHRyPERpcmVj
dG9yeVJlYWRlclN5bmM+IGNyZWF0ZVJlYWRlcihFeGNlcHRpb25Db2RlJik7CisgICAgUGFzc1Jl
ZlB0cjxGaWxlRW50cnlTeW5jPiBnZXRGaWxlKGNvbnN0IFN0cmluZyYgcGF0aCwgUGFzc1JlZlB0
cjxXZWJLaXRGbGFncz4sIEV4Y2VwdGlvbkNvZGUmKTsKKyAgICBQYXNzUmVmUHRyPERpcmVjdG9y
eUVudHJ5U3luYz4gZ2V0RGlyZWN0b3J5KGNvbnN0IFN0cmluZyYgcGF0aCwgUGFzc1JlZlB0cjxX
ZWJLaXRGbGFncz4sIEV4Y2VwdGlvbkNvZGUmKTsKKyAgICB2b2lkIHJlbW92ZVJlY3Vyc2l2ZWx5
KEV4Y2VwdGlvbkNvZGUmKTsKKworcHJpdmF0ZToKKyAgICBmcmllbmQgY2xhc3MgRW50cnlTeW5j
OworICAgIERpcmVjdG9yeUVudHJ5U3luYyhQYXNzUmVmUHRyPERPTUZpbGVTeXN0ZW1CYXNlPiwg
Y29uc3QgU3RyaW5nJiBmdWxsUGF0aCk7Cit9OworCit9CisKKyNlbmRpZiAvLyBFTkFCTEUoRklM
RV9TWVNURU0pCisKKyNlbmRpZiAvLyBEaXJlY3RvcnlFbnRyeVN5bmNfaApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvZmlsZWFwaS9EaXJlY3RvcnlFbnRyeVN5bmMuaWRsIGIvU291cmNlL1dl
YkNvcmUvZmlsZWFwaS9EaXJlY3RvcnlFbnRyeVN5bmMuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY2YzI4OGZi
YmM1YTJjZWEyYzgzYTVhNTEzMzY3ZDYzNjlkODc0MDUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9maWxlYXBpL0RpcmVjdG9yeUVudHJ5U3luYy5pZGwKQEAgLTAsMCArMSw0MyBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAq
ICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0
aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
CisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJ
bmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8g
ZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2Fy
ZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJ
QlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICog
T1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
K21vZHVsZSBzdG9yYWdlIHsKKyAgICBpbnRlcmZhY2UgWworICAgICAgICBDb25kaXRpb25hbD1G
SUxFX1NZU1RFTSwKKyAgICAgICAgSlNHZW5lcmF0ZVRvTmF0aXZlT2JqZWN0LAorICAgICAgICBK
U0dlbmVyYXRlVG9KU09iamVjdCwKKyAgICAgICAgSlNOb1N0YXRpY1RhYmxlcworICAgIF0gRGly
ZWN0b3J5RW50cnlTeW5jIDogRW50cnlTeW5jIHsKKyAgICAgICAgRGlyZWN0b3J5UmVhZGVyU3lu
YyBjcmVhdGVSZWFkZXIoKSByYWlzZXMgKEZpbGVFeGNlcHRpb24pOworICAgICAgICBbQ3VzdG9t
XSBGaWxlRW50cnlTeW5jIGdldEZpbGUoaW4gW1RyZWF0TnVsbEFzPU51bGxTdHJpbmcsIFRyZWF0
VW5kZWZpbmVkQXM9TnVsbFN0cmluZ10gRE9NU3RyaW5nIHBhdGgsIGluIFdlYktpdEZsYWdzIGZs
YWdzKSByYWlzZXMgKEZpbGVFeGNlcHRpb24pOworICAgICAgICBbQ3VzdG9tXSBEaXJlY3RvcnlF
bnRyeVN5bmMgZ2V0RGlyZWN0b3J5KGluIFtUcmVhdE51bGxBcz1OdWxsU3RyaW5nLCBUcmVhdFVu
ZGVmaW5lZEFzPU51bGxTdHJpbmddIERPTVN0cmluZyBwYXRoLCBpbiBXZWJLaXRGbGFncyBmbGFn
cykgcmFpc2VzIChGaWxlRXhjZXB0aW9uKTsKKyAgICAgICAgdm9pZCByZW1vdmVSZWN1cnNpdmVs
eSgpIHJhaXNlcyAoRmlsZUV4Y2VwdGlvbik7CisgICAgfTsKK30KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2ZpbGVhcGkvRGlyZWN0b3J5UmVhZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Zp
bGVhcGkvRGlyZWN0b3J5UmVhZGVyLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mZTJkOTlmNDRjYTAyODEyZjYz
ZmE3ZjA5M2E4ZTYzMDZmMzQ2ZDM4Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUv
ZmlsZWFwaS9EaXJlY3RvcnlSZWFkZXIuY3BwCkBAIC0wLDAgKzEsNTkgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0
aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5h
bWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJv
bW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVj
aWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFT
IElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAor
ICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29u
ZmlnLmgiCisjaW5jbHVkZSAiRGlyZWN0b3J5UmVhZGVyLmgiCisKKyNpZiBFTkFCTEUoRklMRV9T
WVNURU0pCisKKyNpbmNsdWRlICJFbnRyaWVzQ2FsbGJhY2suaCIKKyNpbmNsdWRlICJFbnRyeUFy
cmF5LmgiCisjaW5jbHVkZSAiRXJyb3JDYWxsYmFjay5oIgorI2luY2x1ZGUgIkZpbGVFcnJvci5o
IgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK0RpcmVjdG9yeVJlYWRlcjo6RGlyZWN0b3J5UmVh
ZGVyKFBhc3NSZWZQdHI8RE9NRmlsZVN5c3RlbUJhc2U+IGZpbGVTeXN0ZW0sIGNvbnN0IFN0cmlu
ZyYgZnVsbFBhdGgpCisgICAgOiBEaXJlY3RvcnlSZWFkZXJCYXNlKGZpbGVTeXN0ZW0sIGZ1bGxQ
YXRoKQoreworfQorCit2b2lkIERpcmVjdG9yeVJlYWRlcjo6cmVhZEVudHJpZXMoUGFzc1JlZlB0
cjxFbnRyaWVzQ2FsbGJhY2s+IGVudHJpZXNDYWxsYmFjaywgUGFzc1JlZlB0cjxFcnJvckNhbGxi
YWNrPiBlcnJvckNhbGxiYWNrKQoreworICAgIGlmICghbV9oYXNNb3JlRW50cmllcykgeworICAg
ICAgICBmaWxlc3lzdGVtKCktPnNjaGVkdWxlQ2FsbGJhY2soZW50cmllc0NhbGxiYWNrLCBFbnRy
eUFycmF5OjpjcmVhdGUoKSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgZmlsZXN5c3Rl
bSgpLT5yZWFkRGlyZWN0b3J5KHRoaXMsIG1fZnVsbFBhdGgsIGVudHJpZXNDYWxsYmFjaywgZXJy
b3JDYWxsYmFjayk7Cit9CisKK30KKworI2VuZGlmIC8vIEVOQUJMRShGSUxFX1NZU1RFTSkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRGlyZWN0b3J5UmVhZGVyLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9maWxlYXBpL0RpcmVjdG9yeVJlYWRlci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmJjODk4NTg5
NGU5OTc1YjM4YWI0ZTM2NmNmY2RkMDcwMTY1Mzc4ZjgKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9maWxlYXBpL0RpcmVjdG9yeVJlYWRlci5oCkBAIC0wLDAgKzEsNjcgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAg
KiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICog
ZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBu
b3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9y
c2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0
aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9S
UworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVS
IE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAq
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZu
ZGVmIERpcmVjdG9yeVJlYWRlcl9oCisjZGVmaW5lIERpcmVjdG9yeVJlYWRlcl9oCisKKyNpZiBF
TkFCTEUoRklMRV9TWVNURU0pCisKKyNpbmNsdWRlICJET01GaWxlU3lzdGVtLmgiCisjaW5jbHVk
ZSAiRGlyZWN0b3J5UmVhZGVyQmFzZS5oIgorI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCisj
aW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgor
CituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIEVudHJpZXNDYWxsYmFjazsKK2NsYXNzIEVu
dHJpZXNDYWxsYmFja3M7CitjbGFzcyBFcnJvckNhbGxiYWNrOworCitjbGFzcyBEaXJlY3RvcnlS
ZWFkZXIgOiBwdWJsaWMgRGlyZWN0b3J5UmVhZGVyQmFzZSB7CitwdWJsaWM6CisgICAgc3RhdGlj
IFBhc3NSZWZQdHI8RGlyZWN0b3J5UmVhZGVyPiBjcmVhdGUoUGFzc1JlZlB0cjxET01GaWxlU3lz
dGVtQmFzZT4gZmlsZVN5c3RlbSwgY29uc3QgU3RyaW5nJiBmdWxsUGF0aCkKKyAgICB7CisgICAg
ICAgIHJldHVybiBhZG9wdFJlZihuZXcgRGlyZWN0b3J5UmVhZGVyKGZpbGVTeXN0ZW0sIGZ1bGxQ
YXRoKSk7CisgICAgfQorCisgICAgdm9pZCByZWFkRW50cmllcyhQYXNzUmVmUHRyPEVudHJpZXND
YWxsYmFjaz4sIFBhc3NSZWZQdHI8RXJyb3JDYWxsYmFjaz4gPSAwKTsKKworICAgIERPTUZpbGVT
eXN0ZW0qIGZpbGVzeXN0ZW0oKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxET01GaWxlU3lz
dGVtKj4obV9maWxlU3lzdGVtLmdldCgpKTsgfQorCitwcml2YXRlOgorICAgIERpcmVjdG9yeVJl
YWRlcihQYXNzUmVmUHRyPERPTUZpbGVTeXN0ZW1CYXNlPiwgY29uc3QgU3RyaW5nJiBmdWxsUGF0
aCk7Cit9OworCit9CisKKyNlbmRpZiAvLyBFTkFCTEUoRklMRV9TWVNURU0pCisKKyNlbmRpZiAv
LyBEaXJlY3RvcnlSZWFkZXJfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9E
aXJlY3RvcnlSZWFkZXIuaWRsIGIvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9EaXJlY3RvcnlSZWFk
ZXIuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjg3Y2U4NTIxZGU4NTNjZTVkNTA0N2ZjN2QzZjY1MzJkYzdmYjQ4
OGUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL0RpcmVjdG9yeVJl
YWRlci5pZGwKQEAgLTAsMCArMSwzOCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29n
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisg
KiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0
aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250
cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2
ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4g
cGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZ
UklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBU
TywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
CisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKK21vZHVsZSBzdG9yYWdlIHsKKyAgICBpbnRlcmZhY2Ug
WworICAgICAgICBDb25kaXRpb25hbD1GSUxFX1NZU1RFTSwKKyAgICAgICAgSlNOb1N0YXRpY1Rh
YmxlcworICAgIF0gRGlyZWN0b3J5UmVhZGVyIHsKKyAgICAgICAgdm9pZCByZWFkRW50cmllcyhp
biBbQ2FsbGJhY2tdIEVudHJpZXNDYWxsYmFjayBzdWNjZXNzQ2FsbGJhY2ssIGluIFtPcHRpb25h
bCwgQ2FsbGJhY2tdIEVycm9yQ2FsbGJhY2sgZXJyb3JDYWxsYmFjayk7CisgICAgfTsKK30KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRGlyZWN0b3J5UmVhZGVyQmFzZS5oIGIv
U291cmNlL1dlYkNvcmUvZmlsZWFwaS9EaXJlY3RvcnlSZWFkZXJCYXNlLmgKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NDA5NmZlOGEyMDhlMzE1YWEyMDc0MDdjZWJkMTQxZmQyMjY1YjZiYgotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRGlyZWN0b3J5UmVhZGVyQmFzZS5oCkBAIC0wLDAg
KzEsNjggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoK
KyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgor
ICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBH
b29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1
c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMg
c29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5E
IENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklH
SFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCisjaWZuZGVmIERpcmVjdG9yeVJlYWRlckJhc2VfaAorI2RlZmluZSBEaXJlY3RvcnlS
ZWFkZXJCYXNlX2gKKworI2lmIEVOQUJMRShGSUxFX1NZU1RFTSkKKworI2luY2x1ZGUgIkRPTUZp
bGVTeXN0ZW1CYXNlLmgiCisjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKKyNpbmNsdWRlIDx3
dGYvUGFzc1JlZlB0ci5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisKK25hbWVzcGFj
ZSBXZWJDb3JlIHsKKworY2xhc3MgRGlyZWN0b3J5UmVhZGVyQmFzZSA6IHB1YmxpYyBSZWZDb3Vu
dGVkPERpcmVjdG9yeVJlYWRlckJhc2U+IHsKK3B1YmxpYzoKKyAgICBET01GaWxlU3lzdGVtQmFz
ZSogZmlsZXN5c3RlbSgpIGNvbnN0IHsgcmV0dXJuIG1fZmlsZVN5c3RlbS5nZXQoKTsgfQorICAg
IHZvaWQgc2V0SGFzTW9yZUVudHJpZXMoYm9vbCBoYXNNb3JlRW50cmllcykgeyBtX2hhc01vcmVF
bnRyaWVzID0gaGFzTW9yZUVudHJpZXM7IH0KKworcHJvdGVjdGVkOgorICAgIERpcmVjdG9yeVJl
YWRlckJhc2UoUGFzc1JlZlB0cjxET01GaWxlU3lzdGVtQmFzZT4gZmlsZVN5c3RlbSwgY29uc3Qg
U3RyaW5nJiBmdWxsUGF0aCkKKyAgICAgICAgOiBtX2ZpbGVTeXN0ZW0oZmlsZVN5c3RlbSkKKyAg
ICAgICAgLCBtX2Z1bGxQYXRoKGZ1bGxQYXRoKQorICAgICAgICAsIG1faGFzTW9yZUVudHJpZXMo
dHJ1ZSkKKyAgICB7CisgICAgfQorCisgICAgUmVmUHRyPERPTUZpbGVTeXN0ZW1CYXNlPiBtX2Zp
bGVTeXN0ZW07CisKKyAgICAvLyBUaGlzIGlzIGEgdmlydHVhbCBwYXRoLgorICAgIFN0cmluZyBt
X2Z1bGxQYXRoOworCisgICAgYm9vbCBtX2hhc01vcmVFbnRyaWVzOworfTsKKworfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKEZJTEVfU1lTVEVNKQorCisjZW5kaWYg
Ly8gRGlyZWN0b3J5UmVhZGVyQmFzZV9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9maWxl
YXBpL0RpcmVjdG9yeVJlYWRlclN5bmMuY3BwIGIvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9EaXJl
Y3RvcnlSZWFkZXJTeW5jLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wMTQ0NzhlN2I1YjBhYzAzZTI2ZjZkMzcy
ZjUwOGU3N2I4MWMxYjFkCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvZmlsZWFw
aS9EaXJlY3RvcnlSZWFkZXJTeW5jLmNwcApAQCAtMCwwICsxLDY4IEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlv
bi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1l
cyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21v
dGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lm
aWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJ
UyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAq
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
CisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZp
Zy5oIgorI2luY2x1ZGUgIkRpcmVjdG9yeVJlYWRlclN5bmMuaCIKKworI2lmIEVOQUJMRShGSUxF
X1NZU1RFTSkKKworI2luY2x1ZGUgIkRpcmVjdG9yeUVudHJ5LmgiCisjaW5jbHVkZSAiRGlyZWN0
b3J5RW50cnlTeW5jLmgiCisjaW5jbHVkZSAiRW50cnlBcnJheVN5bmMuaCIKKyNpbmNsdWRlICJF
bnRyeVN5bmMuaCIKKyNpbmNsdWRlICJGaWxlRW50cnlTeW5jLmgiCisjaW5jbHVkZSAiRmlsZUV4
Y2VwdGlvbi5oIgorI2luY2x1ZGUgIlN5bmNDYWxsYmFja0hlbHBlci5oIgorCituYW1lc3BhY2Ug
V2ViQ29yZSB7CisKK0RpcmVjdG9yeVJlYWRlclN5bmM6OkRpcmVjdG9yeVJlYWRlclN5bmMoUGFz
c1JlZlB0cjxET01GaWxlU3lzdGVtQmFzZT4gZmlsZVN5c3RlbSwgY29uc3QgU3RyaW5nJiBmdWxs
UGF0aCkKKyAgICA6IERpcmVjdG9yeVJlYWRlckJhc2UoZmlsZVN5c3RlbSwgZnVsbFBhdGgpCit7
Cit9CisKK1Bhc3NSZWZQdHI8RW50cnlBcnJheVN5bmM+IERpcmVjdG9yeVJlYWRlclN5bmM6OnJl
YWRFbnRyaWVzKEV4Y2VwdGlvbkNvZGUmIGVjKQoreworICAgIGVjID0gMDsKKyAgICBpZiAoIW1f
aGFzTW9yZUVudHJpZXMpCisgICAgICAgIHJldHVybiBFbnRyeUFycmF5U3luYzo6Y3JlYXRlKCk7
CisKKyAgICBFbnRyaWVzU3luY0NhbGxiYWNrSGVscGVyIGhlbHBlcihtX2ZpbGVTeXN0ZW0tPmFz
eW5jRmlsZVN5c3RlbSgpKTsKKyAgICBpZiAoIW1fZmlsZVN5c3RlbS0+cmVhZERpcmVjdG9yeSh0
aGlzLCBtX2Z1bGxQYXRoLCBoZWxwZXIuc3VjY2Vzc0NhbGxiYWNrKCksIGhlbHBlci5lcnJvckNh
bGxiYWNrKCkpKSB7CisgICAgICAgIGVjID0gRmlsZUV4Y2VwdGlvbjo6SU5WQUxJRF9NT0RJRklD
QVRJT05fRVJSOworICAgICAgICBzZXRIYXNNb3JlRW50cmllcyhmYWxzZSk7CisgICAgICAgIHJl
dHVybiAwOworICAgIH0KKyAgICByZXR1cm4gaGVscGVyLmdldFJlc3VsdChlYyk7Cit9CisKK30g
Ly8gbmFtZXNwYWNlCisKKyNlbmRpZiAvLyBFTkFCTEUoRklMRV9TWVNURU0pCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL0RpcmVjdG9yeVJlYWRlclN5bmMuaCBiL1NvdXJjZS9X
ZWJDb3JlL2ZpbGVhcGkvRGlyZWN0b3J5UmVhZGVyU3luYy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmIxZDEyODJj
MjMzZDFkMDg2YzQ0N2Y1N2YyMGEyZTNlYTkzODU1NWQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9maWxlYXBpL0RpcmVjdG9yeVJlYWRlclN5bmMuaApAQCAtMCwwICsxLDY0IEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICog
ICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRo
ZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUK
KyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIElu
Yy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBl
bmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJl
IHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklC
VVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBP
V05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
CisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
I2lmbmRlZiBEaXJlY3RvcnlSZWFkZXJTeW5jX2gKKyNkZWZpbmUgRGlyZWN0b3J5UmVhZGVyU3lu
Y19oCisKKyNpZiBFTkFCTEUoRklMRV9TWVNURU0pCisKKyNpbmNsdWRlICJEaXJlY3RvcnlSZWFk
ZXJCYXNlLmgiCisjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKKyNpbmNsdWRlIDx3dGYvUGFz
c1JlZlB0ci5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisKK25hbWVzcGFjZSBXZWJD
b3JlIHsKKworY2xhc3MgRW50cnlBcnJheVN5bmM7CisKK3R5cGVkZWYgaW50IEV4Y2VwdGlvbkNv
ZGU7CisKK2NsYXNzIERpcmVjdG9yeVJlYWRlclN5bmMgOiBwdWJsaWMgRGlyZWN0b3J5UmVhZGVy
QmFzZSB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NSZWZQdHI8RGlyZWN0b3J5UmVhZGVyU3lu
Yz4gY3JlYXRlKFBhc3NSZWZQdHI8RE9NRmlsZVN5c3RlbUJhc2U+IGZpbGVTeXN0ZW0sIGNvbnN0
IFN0cmluZyYgZnVsbFBhdGgpCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IERp
cmVjdG9yeVJlYWRlclN5bmMoZmlsZVN5c3RlbSwgZnVsbFBhdGgpKTsKKyAgICB9CisKKyAgICBQ
YXNzUmVmUHRyPEVudHJ5QXJyYXlTeW5jPiByZWFkRW50cmllcyhFeGNlcHRpb25Db2RlJik7CisK
K3ByaXZhdGU6CisgICAgRGlyZWN0b3J5UmVhZGVyU3luYyhQYXNzUmVmUHRyPERPTUZpbGVTeXN0
ZW1CYXNlPiwgY29uc3QgU3RyaW5nJiBmdWxsUGF0aCk7Cit9OworCit9IC8vIG5hbWVzcGFjZQor
CisjZW5kaWYgLy8gRU5BQkxFKEZJTEVfU1lTVEVNKQorCisjZW5kaWYgLy8gRGlyZWN0b3J5UmVh
ZGVyU3luY19oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL0RpcmVjdG9yeVJl
YWRlclN5bmMuaWRsIGIvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9EaXJlY3RvcnlSZWFkZXJTeW5j
LmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5hOGZmNjg1Y2VlNTgzZTlmZTI3ZmMyZWI3MTYwZjYxYmU5MDI4NjIx
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9EaXJlY3RvcnlSZWFk
ZXJTeW5jLmlkbApAQCAtMCwwICsxLDM4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdv
b2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAq
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUK
KyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5l
aXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNv
bnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVy
aXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRl
biBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENP
UFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVE
IFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworbW9kdWxlIHN0b3JhZ2UgeworICAgIGludGVyZmFj
ZSBbCisgICAgICAgIENvbmRpdGlvbmFsPUZJTEVfU1lTVEVNLAorICAgICAgICBKU05vU3RhdGlj
VGFibGVzCisgICAgXSBEaXJlY3RvcnlSZWFkZXJTeW5jIHsKKyAgICAgICAgRW50cnlBcnJheVN5
bmMgcmVhZEVudHJpZXMoKSByYWlzZXMgKEZpbGVFeGNlcHRpb24pOworICAgIH07Cit9Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>