<?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>160116</bug_id>
          
          <creation_ts>2016-07-23 02:51:43 -0700</creation_ts>
          <short_desc>REGRESSION(r203641): It broke make-based builds (Requested by youenn on #webkit).</short_desc>
          <delta_ts>2016-07-23 02:59:21 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>159672</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Commit Bot">commit-queue</reporter>
          <assigned_to name="WebKit Commit Bot">commit-queue</assigned_to>
          <cc>sam</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1213889</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-07-23 02:51:43 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/203641 broke the build:
It broke make-based builds (Requested by youenn on #webkit).

This is an automatic bug report generated by webkitbot. If this bug
report was created because of a flaky test, please file a bug for the flaky
test (if we don&apos;t already have one on file) and dup this bug against that bug
so that we can track how often these flaky tests fail.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1213891</commentid>
    <comment_count>1</comment_count>
      <attachid>284409</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-07-23 02:52:26 -0700</bug_when>
    <thetext>Created attachment 284409
ROLLOUT of r203641

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>1213893</commentid>
    <comment_count>2</comment_count>
      <attachid>284409</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-07-23 02:59:17 -0700</bug_when>
    <thetext>Comment on attachment 284409
ROLLOUT of r203641

Clearing flags on attachment: 284409

Committed r203642: &lt;http://trac.webkit.org/changeset/203642&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1213894</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-07-23 02:59:21 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>284409</attachid>
            <date>2016-07-23 02:52:26 -0700</date>
            <delta_ts>2016-07-23 02:59:17 -0700</delta_ts>
            <desc>ROLLOUT of r203641</desc>
            <filename>bug-160116-20160723025124.patch</filename>
            <type>text/plain</type>
            <size>44780</size>
            <attacher name="WebKit Commit Bot">commit-queue</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAzNjQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBh
YjY5NTA5ZTVmZGZhOTcxODZhNjU3M2E4ZmM1Zjc3MmM4NjZhYmI0Li45Mjg3MGUwNDllMDdiNTA5
ZTNmYmU0OGRkOTljMzMyYzc4NGMzYjJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNyBAQAorMjAxNi0wNy0yMyAgQ29tbWl0IFF1ZXVlICA8Y29tbWl0LXF1ZXVlQHdlYmtp
dC5vcmc+CisKKyAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjIwMzY0MS4KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2MDExNgorCisgICAg
ICAgIEl0IGJyb2tlIG1ha2UtYmFzZWQgYnVpbGRzIChSZXF1ZXN0ZWQgYnkgeW91ZW5uIG9uICN3
ZWJraXQpLgorCisgICAgICAgIFJldmVydGVkIGNoYW5nZXNldDoKKworICAgICAgICAiW0ZldGNo
IEFQSV0gUmVxdWVzdCBzaG91bGQgYmUgY3JlYXRlZCB3aXRoIGFueSBIZWFkZXJzSW5pdAorICAg
ICAgICBkYXRhIgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTU5NjcyCisgICAgICAgIGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0LzIwMzY0
MQorCiAyMDE2LTA3LTIzICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAg
ICAgICBbRmV0Y2ggQVBJXSBSZXF1ZXN0IHNob3VsZCBiZSBjcmVhdGVkIHdpdGggYW55IEhlYWRl
cnNJbml0IGRhdGEKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBmYTNhOWMzNmI1NDZiNTg3NjdjNjg0Y2E2MWYyOWQ1
YWY1MGE3MWUyLi42NzUxYTUyN2E2MGVhNzQ1YzRkYzBhOWMxNTcwYWNkNDhhODg4ZDQxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTYtMDctMjMgIENvbW1pdCBRdWV1ZSAgPGNvbW1p
dC1xdWV1ZUB3ZWJraXQub3JnPgorCisgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIy
MDM2NDEuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NjAxMTYKKworICAgICAgICBJdCBicm9rZSBtYWtlLWJhc2VkIGJ1aWxkcyAoUmVxdWVzdGVkIGJ5
IHlvdWVubiBvbiAjd2Via2l0KS4KKworICAgICAgICBSZXZlcnRlZCBjaGFuZ2VzZXQ6CisKKyAg
ICAgICAgIltGZXRjaCBBUEldIFJlcXVlc3Qgc2hvdWxkIGJlIGNyZWF0ZWQgd2l0aCBhbnkgSGVh
ZGVyc0luaXQKKyAgICAgICAgZGF0YSIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE1OTY3MgorICAgICAgICBodHRwOi8vdHJhYy53ZWJraXQub3JnL2No
YW5nZXNldC8yMDM2NDEKKwogMjAxNi0wNy0yMyAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBs
ZS5jb20+CiAKICAgICAgICAgW0ZldGNoIEFQSV0gUmVxdWVzdCBzaG91bGQgYmUgY3JlYXRlZCB3
aXRoIGFueSBIZWFkZXJzSW5pdCBkYXRhCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvU2NyaXB0cy9idWlsdGlucy9idWlsdGluc19nZW5lcmF0b3IucHkgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvU2NyaXB0cy9idWlsdGlucy9idWlsdGluc19nZW5lcmF0b3IucHkKaW5kZXggNDk1
MDExM2NhNjZmOTE5YWZjYTkxNWRjMjgzYjY0Zjg5YjdhOTI4ZC4uMTA5YmM0NzRiMWY1MzdlZTk2
ZTcwNzg0ZTQyMDU5NzYxNDAxYjliYyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L1NjcmlwdHMvYnVpbHRpbnMvYnVpbHRpbnNfZ2VuZXJhdG9yLnB5CisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9TY3JpcHRzL2J1aWx0aW5zL2J1aWx0aW5zX2dlbmVyYXRvci5weQpAQCAtMzgs
NyArMzgsNyBAQCBsb2cgPSBsb2dnaW5nLmdldExvZ2dlcignZ2xvYmFsJykKICMgVGhlc2UgbWF0
Y2ggV0tfbGNmaXJzdCBhbmQgV0tfdWNmaXJzdCBkZWZpbmVkIGluIENvZGVHZW5lcmF0b3IucG0u
CiBkZWYgV0tfbGNmaXJzdChzdHIpOgogICAgIHN0ciA9IHN0cls6MV0ubG93ZXIoKSArIHN0clsx
Ol0KLSAgICBzdHIgPSBzdHIucmVwbGFjZSgnZE9NJywgJ2RvbScpCisgICAgc3RyID0gc3RyLnJl
cGxhY2UoJ2hUTUwnLCAnaHRtbCcpCiAgICAgc3RyID0gc3RyLnJlcGxhY2UoJ3VSTCcsICd1cmwn
KQogICAgIHN0ciA9IHN0ci5yZXBsYWNlKCdqUycsICdqcycpCiAgICAgc3RyID0gc3RyLnJlcGxh
Y2UoJ3hNTCcsICd4bWwnKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50
eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCBhNTU4M2NhYWU4OWI1ZGI2
ZTEwYTRkYjY3NWZhM2IxYjU0ZTliMjVhLi5jM2JkMTRiMDdhMGVjM2IyYTc5NzkyZTdhMTY2NDA4
ZTcxZTdjNGI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMzcxMCwxMiArMzcxMCw5IEBAIEdF
TkVSQVRFX0JJTkRJTkdTKFdlYkNvcmVUZXN0U3VwcG9ydF9TT1VSQ0VTCiAjIFdlYkNvcmUgSlMg
QnVpbHRpbnMKIAogc2V0KFdlYkNvcmVfQlVJTFRJTlNfU09VUkNFUwotICAgICR7V0VCQ09SRV9E
SVJ9L01vZHVsZXMvZmV0Y2gvRE9NV2luZG93RmV0Y2guanMKICAgICAke1dFQkNPUkVfRElSfS9N
b2R1bGVzL2ZldGNoL0ZldGNoSGVhZGVycy5qcwogICAgICR7V0VCQ09SRV9ESVJ9L01vZHVsZXMv
ZmV0Y2gvRmV0Y2hJbnRlcm5hbHMuanMKLSAgICAke1dFQkNPUkVfRElSfS9Nb2R1bGVzL2ZldGNo
L0ZldGNoUmVxdWVzdC5qcwogICAgICR7V0VCQ09SRV9ESVJ9L01vZHVsZXMvZmV0Y2gvRmV0Y2hS
ZXNwb25zZS5qcwotICAgICR7V0VCQ09SRV9ESVJ9L01vZHVsZXMvZmV0Y2gvV29ya2VyR2xvYmFs
U2NvcGVGZXRjaC5qcwogICAgICR7V0VCQ09SRV9ESVJ9L01vZHVsZXMvbWVkaWFzdHJlYW0vTWVk
aWFEZXZpY2VzLmpzCiAgICAgJHtXRUJDT1JFX0RJUn0vTW9kdWxlcy9tZWRpYXN0cmVhbS9OYXZp
Z2F0b3JVc2VyTWVkaWEuanMKICAgICAke1dFQkNPUkVfRElSfS9Nb2R1bGVzL21lZGlhc3RyZWFt
L1JUQ1BlZXJDb25uZWN0aW9uLmpzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVk
U291cmNlcy5tYWtlIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCA3
MTYxYjEyNmQ0MzJkMTNmZTNkMjFhM2RlODZhYzA5Y2FhMDM5OWE3Li40MjIzNWViMTM0NzA3NjZm
ZmI3NjgzODBlYWY0YTM3Y2RlNmVjZGFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJp
dmVkU291cmNlcy5tYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UK
QEAgLTEyODMsMTIgKzEyODMsOSBAQCBXZWJSZXBsYXlJbnB1dHMuaCA6ICQoSU5QVVRfR0VORVJB
VE9SX1NQRUNJRklDQVRJT05TKSAkKElOUFVUX0dFTkVSQVRPUl9TQ1JJUFRTKQogIyBXZWJDb3Jl
IEpTIEJ1aWx0aW5zCiAKIFdlYkNvcmVfQlVJTFRJTlNfU09VUkNFUyA9IFwKLSAgICAke1dlYkNv
cmV9L01vZHVsZXMvZmV0Y2gvRE9NV2luZG93RmV0Y2guanMgXAogICAgICQoV2ViQ29yZSkvTW9k
dWxlcy9mZXRjaC9GZXRjaEhlYWRlcnMuanMgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9mZXRj
aC9GZXRjaEludGVybmFscy5qcyBcCi0gICAgJChXZWJDb3JlKS9Nb2R1bGVzL2ZldGNoL0ZldGNo
UmVxdWVzdC5qcyBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2Uu
anMgXAotICAgICR7V2ViQ29yZX0vTW9kdWxlcy9mZXRjaC9Xb3JrZXJHbG9iYWxTY29wZUZldGNo
LmpzIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFEZXZpY2VzLmpz
IFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvbWVkaWFzdHJlYW0vTmF2aWdhdG9yVXNlck1lZGlh
LmpzIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rp
b24uanMgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9ET01XaW5k
b3dGZXRjaC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0RPTVdpbmRvd0ZldGNo
LmNwcAppbmRleCA1MzU5MDc4MTgzZjdkZDA3YWFiYmM4MDMwOGMyMDYyMzFlZDdjMDlhLi41MWEz
ODc2NDc2MzliOTg1ZWMyYzVmODUyMjAwYjIzOTRjNjIwNDk0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0RPTVdpbmRvd0ZldGNoLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2ZldGNoL0RPTVdpbmRvd0ZldGNoLmNwcApAQCAtMzcsMTEgKzM3LDE4IEBA
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotdm9pZCBET01XaW5kb3dGZXRjaDo6ZmV0Y2goRE9N
V2luZG93JiB3aW5kb3csIEZldGNoUmVxdWVzdCYgcmVxdWVzdCwgRGVmZXJyZWRXcmFwcGVyJiYg
cHJvbWlzZSkKK3ZvaWQgRE9NV2luZG93RmV0Y2g6OmZldGNoKERPTVdpbmRvdyYgd2luZG93LCBG
ZXRjaFJlcXVlc3QmIGlucHV0LCBjb25zdCBEaWN0aW9uYXJ5JiBkaWN0aW9uYXJ5LCBEZWZlcnJl
ZFdyYXBwZXImJiBwcm9taXNlKQogewogICAgIGlmICghd2luZG93LnNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQoKSkKICAgICAgICAgcmV0dXJuOwotICAgIEZldGNoUmVzcG9uc2U6OmZldGNoKCp3aW5k
b3cuc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLCByZXF1ZXN0LCBXVEZNb3ZlKHByb21pc2UpKTsK
KyAgICBGZXRjaFJlc3BvbnNlOjpmZXRjaCgqd2luZG93LnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQo
KSwgaW5wdXQsIGRpY3Rpb25hcnksIFdURk1vdmUocHJvbWlzZSkpOworfQorCit2b2lkIERPTVdp
bmRvd0ZldGNoOjpmZXRjaChET01XaW5kb3cmIHdpbmRvdywgY29uc3QgU3RyaW5nJiB1cmwsIGNv
bnN0IERpY3Rpb25hcnkmIGRpY3Rpb25hcnksIERlZmVycmVkV3JhcHBlciYmIHByb21pc2UpCit7
CisgICAgaWYgKCF3aW5kb3cuc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKQorICAgICAgICByZXR1
cm47CisgICAgRmV0Y2hSZXNwb25zZTo6ZmV0Y2goKndpbmRvdy5zY3JpcHRFeGVjdXRpb25Db250
ZXh0KCksIHVybCwgZGljdGlvbmFyeSwgV1RGTW92ZShwcm9taXNlKSk7CiB9CiAKIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gv
RE9NV2luZG93RmV0Y2guaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRE9NV2luZG93
RmV0Y2guaAppbmRleCBlNjU1N2I2NThmNjgyM2I5ZDUxODJjMDNjNTA4NTZiMGNhNzA5Mjg5Li4w
MTNlYmM0YzI5YjljNzc1OTIyY2YxODZiYzQ2YmEyNTMyMTgxZDczIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0RPTVdpbmRvd0ZldGNoLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9mZXRjaC9ET01XaW5kb3dGZXRjaC5oCkBAIC0yNSw4ICsyNSw4IEBACiAg
KiBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQogICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICAqLwotCi0jcHJhZ21hIG9u
Y2UKKyNpZm5kZWYgRE9NV2luZG93RmV0Y2hfaAorI2RlZmluZSBET01XaW5kb3dGZXRjaF9oCiAK
ICNpZiBFTkFCTEUoRkVUQ0hfQVBJKQogCkBAIC00MSw5ICs0MSwxMiBAQCBjbGFzcyBGZXRjaFJl
cXVlc3Q7CiAKIGNsYXNzIERPTVdpbmRvd0ZldGNoIHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgdm9p
ZCBmZXRjaChET01XaW5kb3cmLCBGZXRjaFJlcXVlc3QmLCBEZWZlcnJlZFdyYXBwZXImJik7Cisg
ICAgc3RhdGljIHZvaWQgZmV0Y2goRE9NV2luZG93JiwgRmV0Y2hSZXF1ZXN0JiwgY29uc3QgRGlj
dGlvbmFyeSYsIERlZmVycmVkV3JhcHBlciYmKTsKKyAgICBzdGF0aWMgdm9pZCBmZXRjaChET01X
aW5kb3cmLCBjb25zdCBTdHJpbmcmLCBjb25zdCBEaWN0aW9uYXJ5JiwgRGVmZXJyZWRXcmFwcGVy
JiYpOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gRU5BQkxFKEZF
VENIX0FQSSkKKworI2VuZGlmIC8vIERPTVdpbmRvd0ZldGNoX2gKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRE9NV2luZG93RmV0Y2guaWRsIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9mZXRjaC9ET01XaW5kb3dGZXRjaC5pZGwKaW5kZXggOWMwNDM4MjdmNjllYzUw
NTI2MjFjZjE4MDhhZDdhYjNjNTRlOTFiOS4uZGY4OGU0Mzk2ZWE3MzNhY2JhZTRjODhmYWE2ODll
ZGE2ZGJlZjBlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9ET01X
aW5kb3dGZXRjaC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9ET01XaW5k
b3dGZXRjaC5pZGwKQEAgLTMwLDcgKzMwLDYgQEAKICAgICBDb25kaXRpb25hbD1GRVRDSF9BUEks
CiAgICAgRW5hYmxlZEF0UnVudGltZT1GZXRjaEFQSSwKIF0gcGFydGlhbCBpbnRlcmZhY2UgRE9N
V2luZG93IHsKLSAgICBbSlNCdWlsdGluXSBQcm9taXNlIGZldGNoKGFueSBpbnB1dCwgb3B0aW9u
YWwgRGljdGlvbmFyeSBpbml0KTsKLQotICAgIFtQcml2YXRlSWRlbnRpZmllciwgSW1wbGVtZW50
ZWRBcz1mZXRjaF0gUHJvbWlzZSBmZXRjaFJlcXVlc3QoRmV0Y2hSZXF1ZXN0IHJlcXVlc3QpOwor
ICAgIFByb21pc2UgZmV0Y2goRmV0Y2hSZXF1ZXN0IGlucHV0LCBvcHRpb25hbCBEaWN0aW9uYXJ5
IGluaXQpOworICAgIFByb21pc2UgZmV0Y2goRE9NU3RyaW5nIGlucHV0LCBvcHRpb25hbCBEaWN0
aW9uYXJ5IGluaXQpOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0
Y2gvRE9NV2luZG93RmV0Y2guanMgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0RPTVdp
bmRvd0ZldGNoLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhY2QyZWZiNjJkMGE0
YjBhY2FhZGNlNzZjYmZkMjI1NWQ1NjIxNzcxLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRE9NV2luZG93
RmV0Y2guanMKKysrIC9kZXYvbnVsbApAQCAtMSwzNyArMCwwIEBACi0vKgotICogQ29weXJpZ2h0
IChDKSAyMDE2IEFwcGxlIEluYy4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICog
YXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
Ci0gKi8KLQotLy8gQGNvbmRpdGlvbmFsPUVOQUJMRShGRVRDSF9BUEkpCi0KLWZ1bmN0aW9uIGZl
dGNoKGlucHV0LCBpbml0KQotewotICAgICJ1c2Ugc3RyaWN0IjsKLQotICAgIHRyeSB7Ci0gICAg
ICAgIHJldHVybiBAZmV0Y2hSZXF1ZXN0KG5ldyBAUmVxdWVzdChpbnB1dCwgaW5pdCkpOwotICAg
IH0gY2F0Y2goZSkgewotICAgICAgICByZXR1cm4gQFByb21pc2UuQHJlamVjdChlKTsKLSAgICB9
Ci19CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoSGVhZGVy
cy5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaEhlYWRlcnMuaAppbmRleCBi
M2QyMDg5ZmE3YjQyZTViODI1NDAwNjg2MTlmYTFhNGVhY2MyYzZlLi42Y2RmZTcwYjA2ODlkNDdh
M2U2OGQxOTc4ZGQ4NjBhN2VmNGY5NGVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2ZldGNoL0ZldGNoSGVhZGVycy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0
Y2gvRmV0Y2hIZWFkZXJzLmgKQEAgLTI2LDcgKzI2LDggQEAKICAqIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8K
IAotI3ByYWdtYSBvbmNlCisjaWZuZGVmIEZldGNoSGVhZGVyc19oCisjZGVmaW5lIEZldGNoSGVh
ZGVyc19oCiAKICNpZiBFTkFCTEUoRkVUQ0hfQVBJKQogCkBAIC03OCw4ICs3OSw2IEBAIHB1Ymxp
YzoKIAogICAgIGNvbnN0IEhUVFBIZWFkZXJNYXAmIGludGVybmFsSGVhZGVycygpIGNvbnN0IHsg
cmV0dXJuIG1faGVhZGVyczsgfQogCi0gICAgdm9pZCBzZXRHdWFyZChHdWFyZCk7Ci0KIHByaXZh
dGU6CiAgICAgRmV0Y2hIZWFkZXJzKEd1YXJkIGd1YXJkKSA6IG1fZ3VhcmQoZ3VhcmQpIHsgfQog
ICAgIEZldGNoSGVhZGVycyhHdWFyZCBndWFyZCwgY29uc3QgSFRUUEhlYWRlck1hcCYgaGVhZGVy
cykgOiBtX2d1YXJkKGd1YXJkKSwgbV9oZWFkZXJzKGhlYWRlcnMpIHsgfQpAQCAtODgsMTIgKzg3
LDggQEAgcHJpdmF0ZToKICAgICBIVFRQSGVhZGVyTWFwIG1faGVhZGVyczsKIH07CiAKLWlubGlu
ZSB2b2lkIEZldGNoSGVhZGVyczo6c2V0R3VhcmQoR3VhcmQgZ3VhcmQpCi17Ci0gICAgQVNTRVJU
KCFtX2hlYWRlcnMuc2l6ZSgpKTsKLSAgICBtX2d1YXJkID0gZ3VhcmQ7Ci19Ci0KIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIEVOQUJMRShGRVRDSF9BUEkpCisKKyNlbmRpZiAv
LyBGZXRjaEhlYWRlcnNfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRj
aC9GZXRjaFJlcXVlc3QuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJl
cXVlc3QuY3BwCmluZGV4IDFlNGE5MzY4ODRmODk0M2ZiYzc5NjUwNzZlZmJmY2MzM2I2NmJjZWYu
Ljg3NjMyM2NlNGE4ODI0ZTQ0ZTNhZGFhZDgwMDVjMGJlZjRhMTliYzYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXF1ZXN0LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVxdWVzdC5jcHAKQEAgLTE5Myw2ICsxOTMsNDAg
QEAgc3RhdGljIGJvb2wgYnVpbGRPcHRpb25zKEZldGNoUmVxdWVzdDo6SW50ZXJuYWxSZXF1ZXN0
JiByZXF1ZXN0LCBTY3JpcHRFeGVjdXRpb24KICAgICByZXR1cm4gdHJ1ZTsKIH0KIAorc3RhdGlj
IFJlZlB0cjxGZXRjaEhlYWRlcnM+IGJ1aWxkSGVhZGVycyhjb25zdCBEaWN0aW9uYXJ5JiBpbml0
LCBjb25zdCBGZXRjaFJlcXVlc3Q6OkludGVybmFsUmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgRmV0
Y2hIZWFkZXJzKiBpbnB1dEhlYWRlcnMgPSBudWxscHRyKQoreworICAgIEZldGNoSGVhZGVyczo6
R3VhcmQgZ3VhcmQgPSBGZXRjaEhlYWRlcnM6Okd1YXJkOjpSZXF1ZXN0OworICAgIGlmIChyZXF1
ZXN0Lm9wdGlvbnMubW9kZSA9PSBGZXRjaE9wdGlvbnM6Ok1vZGU6Ok5vQ29ycykgeworICAgICAg
ICBjb25zdCBTdHJpbmcmIG1ldGhvZCA9IHJlcXVlc3QucmVxdWVzdC5odHRwTWV0aG9kKCk7Cisg
ICAgICAgIGlmIChtZXRob2QgIT0gIkdFVCIgJiYgbWV0aG9kICE9ICJQT1NUIiAmJiBtZXRob2Qg
IT0gIkhFQUQiKQorICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgICAgIGlmICghcmVx
dWVzdC5pbnRlZ3JpdHkuaXNFbXB0eSgpKQorICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7Cisg
ICAgICAgIGd1YXJkID0gRmV0Y2hIZWFkZXJzOjpHdWFyZDo6UmVxdWVzdE5vQ29yczsKKyAgICB9
CisKKyAgICBSZWZQdHI8RmV0Y2hIZWFkZXJzPiBpbml0aWFsSGVhZGVyczsKKyAgICBSZWZQdHI8
RmV0Y2hIZWFkZXJzPiBoZWFkZXJzID0gRmV0Y2hIZWFkZXJzOjpjcmVhdGUoZ3VhcmQpOworICAg
IGhlYWRlcnMtPmZpbGwoaW5pdC5nZXQoImhlYWRlcnMiLCBpbml0aWFsSGVhZGVycykgPyBpbml0
aWFsSGVhZGVycy5nZXQoKSA6IGlucHV0SGVhZGVycyk7CisKKyAgICByZXR1cm4gaGVhZGVyczsK
K30KKworc3RhdGljIEZldGNoQm9keSBidWlsZEJvZHkoY29uc3QgRGljdGlvbmFyeSYgaW5pdCwg
RmV0Y2hIZWFkZXJzJiBoZWFkZXJzLCBGZXRjaEJvZHkqIGlucHV0Qm9keSA9IG51bGxwdHIpCit7
CisgICAgSlNDOjpKU1ZhbHVlIHZhbHVlOworICAgIGJvb2wgaGFzSW5pdEJvZHkgPSBpbml0Lmdl
dCgiYm9keSIsIHZhbHVlKTsKKyAgICBGZXRjaEJvZHkgYm9keSA9IGhhc0luaXRCb2R5ID8gRmV0
Y2hCb2R5OjpleHRyYWN0KCppbml0LmV4ZWNTdGF0ZSgpLCB2YWx1ZSkgOiBGZXRjaEJvZHk6OmV4
dHJhY3RGcm9tQm9keShpbnB1dEJvZHkpOworCisgICAgU3RyaW5nIHR5cGUgPSBoZWFkZXJzLmZh
c3RHZXQoSFRUUEhlYWRlck5hbWU6OkNvbnRlbnRUeXBlKTsKKyAgICBpZiAoaGFzSW5pdEJvZHkg
JiYgdHlwZS5pc0VtcHR5KCkgJiYgIWJvZHkubWltZVR5cGUoKS5pc0VtcHR5KCkpIHsKKyAgICAg
ICAgdHlwZSA9IGJvZHkubWltZVR5cGUoKTsKKyAgICAgICAgaGVhZGVycy5mYXN0U2V0KEhUVFBI
ZWFkZXJOYW1lOjpDb250ZW50VHlwZSwgdHlwZSk7CisgICAgfQorICAgIGJvZHkuc2V0TWltZVR5
cGUodHlwZSk7CisgICAgcmV0dXJuIGJvZHk7Cit9CisKIHN0YXRpYyBib29sIHZhbGlkYXRlQm9k
eUFuZE1ldGhvZChjb25zdCBGZXRjaEJvZHkmIGJvZHksIGNvbnN0IEZldGNoUmVxdWVzdDo6SW50
ZXJuYWxSZXF1ZXN0JiBpbnRlcm5hbFJlcXVlc3QpCiB7CiAgICAgaWYgKGJvZHkuaXNFbXB0eSgp
KQpAQCAtMjAwLDc3ICsyMzQsNzEgQEAgc3RhdGljIGJvb2wgdmFsaWRhdGVCb2R5QW5kTWV0aG9k
KGNvbnN0IEZldGNoQm9keSYgYm9keSwgY29uc3QgRmV0Y2hSZXF1ZXN0OjpJbnQKICAgICByZXR1
cm4gaW50ZXJuYWxSZXF1ZXN0LnJlcXVlc3QuaHR0cE1ldGhvZCgpICE9ICJHRVQiICYmIGludGVy
bmFsUmVxdWVzdC5yZXF1ZXN0Lmh0dHBNZXRob2QoKSAhPSAiSEVBRCI7CiB9CiAKLXZvaWQgRmV0
Y2hSZXF1ZXN0Ojppbml0aWFsaXplT3B0aW9ucyhjb25zdCBEaWN0aW9uYXJ5JiBpbml0LCBFeGNl
cHRpb25Db2RlJiBlYykKK1JlZlB0cjxGZXRjaFJlcXVlc3Q+IEZldGNoUmVxdWVzdDo6Y3JlYXRl
KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIGNvbnN0IFN0cmluZyYgdXJsLCBjb25z
dCBEaWN0aW9uYXJ5JiBpbml0LCBFeGNlcHRpb25Db2RlJiBlYykKIHsKLSAgICBBU1NFUlQoc2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCgpKTsKLSAgICBpZiAoIWJ1aWxkT3B0aW9ucyhtX2ludGVybmFs
UmVxdWVzdCwgKnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSwgaW5pdCkpIHsKKyAgICAvLyBGSVhN
RTogVGlnaHRlbiB0aGUgVVJMIHBhcnNpbmcgYWxnb3JpdGhtIGFjY29yZGluZyBodHRwczovL3Vy
bC5zcGVjLndoYXR3Zy5vcmcvI2NvbmNlcHQtdXJsLXBhcnNlci4KKyAgICBVUkwgcmVxdWVzdFVS
TCA9IGNvbnRleHQuY29tcGxldGVVUkwodXJsKTsKKyAgICBpZiAoIXJlcXVlc3RVUkwuaXNWYWxp
ZCgpIHx8ICFyZXF1ZXN0VVJMLnVzZXIoKS5pc0VtcHR5KCkgfHwgIXJlcXVlc3RVUkwucGFzcygp
LmlzRW1wdHkoKSkgewogICAgICAgICBlYyA9IFR5cGVFcnJvcjsKLSAgICAgICAgcmV0dXJuOwor
ICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICB9CiAKLSAgICBpZiAobV9pbnRlcm5hbFJlcXVl
c3Qub3B0aW9ucy5tb2RlID09IEZldGNoT3B0aW9uczo6TW9kZTo6Tm9Db3JzKSB7Ci0gICAgICAg
IGNvbnN0IFN0cmluZyYgbWV0aG9kID0gbV9pbnRlcm5hbFJlcXVlc3QucmVxdWVzdC5odHRwTWV0
aG9kKCk7Ci0gICAgICAgIGlmIChtZXRob2QgIT0gIkdFVCIgJiYgbWV0aG9kICE9ICJQT1NUIiAm
JiBtZXRob2QgIT0gIkhFQUQiKSB7Ci0gICAgICAgICAgICBlYyA9IFR5cGVFcnJvcjsKLSAgICAg
ICAgICAgIHJldHVybjsKLSAgICAgICAgfQotICAgICAgICBpZiAoIW1faW50ZXJuYWxSZXF1ZXN0
LmludGVncml0eS5pc0VtcHR5KCkpIHsKLSAgICAgICAgICAgIGVjID0gVHlwZUVycm9yOwotICAg
ICAgICAgICAgcmV0dXJuOwotICAgICAgICB9Ci0gICAgICAgIG1faGVhZGVycy0+c2V0R3VhcmQo
RmV0Y2hIZWFkZXJzOjpHdWFyZDo6UmVxdWVzdE5vQ29ycyk7CisgICAgRmV0Y2hSZXF1ZXN0OjpJ
bnRlcm5hbFJlcXVlc3QgaW50ZXJuYWxSZXF1ZXN0OworICAgIGludGVybmFsUmVxdWVzdC5vcHRp
b25zLm1vZGUgPSBNb2RlOjpDb3JzOworICAgIGludGVybmFsUmVxdWVzdC5vcHRpb25zLmNyZWRl
bnRpYWxzID0gQ3JlZGVudGlhbHM6Ok9taXQ7CisgICAgaW50ZXJuYWxSZXF1ZXN0LnJlZmVycmVy
ID0gQVNDSUlMaXRlcmFsKCJjbGllbnQiKTsKKyAgICBpbnRlcm5hbFJlcXVlc3QucmVxdWVzdC5z
ZXRVUkwocmVxdWVzdFVSTCk7CisKKyAgICBpZiAoIWJ1aWxkT3B0aW9ucyhpbnRlcm5hbFJlcXVl
c3QsIGNvbnRleHQsIGluaXQpKSB7CisgICAgICAgIGVjID0gVHlwZUVycm9yOworICAgICAgICBy
ZXR1cm4gbnVsbHB0cjsKICAgICB9Ci19CiAKLUZldGNoSGVhZGVycyogRmV0Y2hSZXF1ZXN0Ojpp
bml0aWFsaXplV2l0aChjb25zdCBTdHJpbmcmIHVybCwgY29uc3QgRGljdGlvbmFyeSYgaW5pdCwg
RXhjZXB0aW9uQ29kZSYgZWMpCi17Ci0gICAgQVNTRVJUKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQo
KSk7Ci0gICAgLy8gRklYTUU6IFRpZ2h0ZW4gdGhlIFVSTCBwYXJzaW5nIGFsZ29yaXRobSBhY2Nv
cmRpbmcgaHR0cHM6Ly91cmwuc3BlYy53aGF0d2cub3JnLyNjb25jZXB0LXVybC1wYXJzZXIuCi0g
ICAgVVJMIHJlcXVlc3RVUkwgPSBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPmNvbXBsZXRlVVJM
KHVybCk7Ci0gICAgaWYgKCFyZXF1ZXN0VVJMLmlzVmFsaWQoKSB8fCAhcmVxdWVzdFVSTC51c2Vy
KCkuaXNFbXB0eSgpIHx8ICFyZXF1ZXN0VVJMLnBhc3MoKS5pc0VtcHR5KCkpIHsKKyAgICBSZWZQ
dHI8RmV0Y2hIZWFkZXJzPiBoZWFkZXJzID0gYnVpbGRIZWFkZXJzKGluaXQsIGludGVybmFsUmVx
dWVzdCk7CisgICAgaWYgKCFoZWFkZXJzKSB7CiAgICAgICAgIGVjID0gVHlwZUVycm9yOwogICAg
ICAgICByZXR1cm4gbnVsbHB0cjsKICAgICB9CiAKLSAgICBtX2ludGVybmFsUmVxdWVzdC5vcHRp
b25zLm1vZGUgPSBNb2RlOjpDb3JzOwotICAgIG1faW50ZXJuYWxSZXF1ZXN0Lm9wdGlvbnMuY3Jl
ZGVudGlhbHMgPSBDcmVkZW50aWFsczo6T21pdDsKLSAgICBtX2ludGVybmFsUmVxdWVzdC5yZWZl
cnJlciA9IEFTQ0lJTGl0ZXJhbCgiY2xpZW50Iik7Ci0gICAgbV9pbnRlcm5hbFJlcXVlc3QucmVx
dWVzdC5zZXRVUkwocmVxdWVzdFVSTCk7CisgICAgRmV0Y2hCb2R5IGJvZHkgPSBidWlsZEJvZHko
aW5pdCwgKmhlYWRlcnMpOworICAgIGlmICghdmFsaWRhdGVCb2R5QW5kTWV0aG9kKGJvZHksIGlu
dGVybmFsUmVxdWVzdCkpIHsKKyAgICAgICAgZWMgPSBUeXBlRXJyb3I7CisgICAgICAgIHJldHVy
biBudWxscHRyOworICAgIH0KIAotICAgIGluaXRpYWxpemVPcHRpb25zKGluaXQsIGVjKTsKLSAg
ICByZXR1cm4gbV9oZWFkZXJzLnB0cigpOworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IEZldGNo
UmVxdWVzdChjb250ZXh0LCBXVEZNb3ZlKGJvZHkpLCBoZWFkZXJzLnJlbGVhc2VOb25OdWxsKCks
IFdURk1vdmUoaW50ZXJuYWxSZXF1ZXN0KSkpOwogfQogCi1GZXRjaEhlYWRlcnMqIEZldGNoUmVx
dWVzdDo6aW5pdGlhbGl6ZVdpdGgoRmV0Y2hSZXF1ZXN0JiBpbnB1dCwgY29uc3QgRGljdGlvbmFy
eSYgaW5pdCwgRXhjZXB0aW9uQ29kZSYgZWMpCitSZWZQdHI8RmV0Y2hSZXF1ZXN0PiBGZXRjaFJl
cXVlc3Q6OmNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBGZXRjaFJlcXVl
c3QmIGlucHV0LCBjb25zdCBEaWN0aW9uYXJ5JiBpbml0LCBFeGNlcHRpb25Db2RlJiBlYykKIHsK
ICAgICBpZiAoaW5wdXQuaXNEaXN0dXJiZWQoKSkgewogICAgICAgICBlYyA9IFR5cGVFcnJvcjsK
ICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgfQogCi0gICAgbV9pbnRlcm5hbFJlcXVlc3Qg
PSBpbnB1dC5tX2ludGVybmFsUmVxdWVzdDsKKyAgICBGZXRjaFJlcXVlc3Q6OkludGVybmFsUmVx
dWVzdCBpbnRlcm5hbFJlcXVlc3QoaW5wdXQubV9pbnRlcm5hbFJlcXVlc3QpOwogCi0gICAgaW5p
dGlhbGl6ZU9wdGlvbnMoaW5pdCwgZWMpOwotICAgIHJldHVybiBtX2hlYWRlcnMucHRyKCk7Ci19
Ci0KLXZvaWQgRmV0Y2hSZXF1ZXN0OjpzZXRCb2R5KEpTQzo6RXhlY1N0YXRlJiBleGVjU3RhdGUs
IEpTQzo6SlNWYWx1ZSBib2R5LCBGZXRjaFJlcXVlc3QqIHJlcXVlc3QsIEV4Y2VwdGlvbkNvZGUm
IGVjKQotewotICAgIGlmICghYm9keS5pc051bGwoKSkKLSAgICAgICAgbV9ib2R5ID0gRmV0Y2hC
b2R5OjpleHRyYWN0KGV4ZWNTdGF0ZSwgYm9keSk7Ci0gICAgZWxzZSBpZiAocmVxdWVzdCAmJiAh
cmVxdWVzdC0+bV9ib2R5LmlzRW1wdHkoKSkgewotICAgICAgICBtX2JvZHkgPSBGZXRjaEJvZHk6
OmV4dHJhY3RGcm9tQm9keSgmcmVxdWVzdC0+bV9ib2R5KTsKLSAgICAgICAgcmVxdWVzdC0+c2V0
RGlzdHVyYmVkKCk7CisgICAgaWYgKCFidWlsZE9wdGlvbnMoaW50ZXJuYWxSZXF1ZXN0LCBjb250
ZXh0LCBpbml0KSkgeworICAgICAgICBlYyA9IFR5cGVFcnJvcjsKKyAgICAgICAgcmV0dXJuIG51
bGxwdHI7CiAgICAgfQogCi0gICAgU3RyaW5nIHR5cGUgPSBtX2hlYWRlcnMtPmZhc3RHZXQoSFRU
UEhlYWRlck5hbWU6OkNvbnRlbnRUeXBlKTsKLSAgICBpZiAoIWJvZHkuaXNVbmRlZmluZWQoKSAm
JiB0eXBlLmlzRW1wdHkoKSAmJiAhbV9ib2R5Lm1pbWVUeXBlKCkuaXNFbXB0eSgpKSB7Ci0gICAg
ICAgIHR5cGUgPSBtX2JvZHkubWltZVR5cGUoKTsKLSAgICAgICAgbV9oZWFkZXJzLT5mYXN0U2V0
KEhUVFBIZWFkZXJOYW1lOjpDb250ZW50VHlwZSwgdHlwZSk7CisgICAgUmVmUHRyPEZldGNoSGVh
ZGVycz4gaGVhZGVycyA9IGJ1aWxkSGVhZGVycyhpbml0LCBpbnRlcm5hbFJlcXVlc3QsIGlucHV0
Lm1faGVhZGVycy5wdHIoKSk7CisgICAgaWYgKCFoZWFkZXJzKSB7CisgICAgICAgIGVjID0gVHlw
ZUVycm9yOworICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICB9Ci0gICAgbV9ib2R5LnNldE1p
bWVUeXBlKHR5cGUpOwotICAgIGlmICghdmFsaWRhdGVCb2R5QW5kTWV0aG9kKG1fYm9keSwgbV9p
bnRlcm5hbFJlcXVlc3QpKQorCisgICAgRmV0Y2hCb2R5IGJvZHkgPSBidWlsZEJvZHkoaW5pdCwg
KmhlYWRlcnMsICZpbnB1dC5tX2JvZHkpOworICAgIGlmICghdmFsaWRhdGVCb2R5QW5kTWV0aG9k
KGJvZHksIGludGVybmFsUmVxdWVzdCkpIHsKICAgICAgICAgZWMgPSBUeXBlRXJyb3I7CisgICAg
ICAgIHJldHVybiBudWxscHRyOworICAgIH0KKworICAgIGlmICghaW5wdXQubV9ib2R5LmlzRW1w
dHkoKSkKKyAgICAgICAgaW5wdXQuc2V0RGlzdHVyYmVkKCk7CisKKyAgICByZXR1cm4gYWRvcHRS
ZWYoKm5ldyBGZXRjaFJlcXVlc3QoY29udGV4dCwgV1RGTW92ZShib2R5KSwgaGVhZGVycy5yZWxl
YXNlTm9uTnVsbCgpLCBXVEZNb3ZlKGludGVybmFsUmVxdWVzdCkpKTsKIH0KIAogU3RyaW5nIEZl
dGNoUmVxdWVzdDo6cmVmZXJyZXIoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9mZXRjaC9GZXRjaFJlcXVlc3QuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0
Y2gvRmV0Y2hSZXF1ZXN0LmgKaW5kZXggOTE3ZDlkZjg5ZGJjNDBmZThhYWFkOGQwNGNhZTBiODdi
MDk4ODA2My4uZmU5NjE5NjcwOTNhMzNiNzY1ZTI2ZjBhNTE1Y2I0NjBiMDM5MTBhZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlcXVlc3QuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVxdWVzdC5oCkBAIC00NSwxMSArNDUs
OCBAQCB0eXBlZGVmIGludCBFeGNlcHRpb25Db2RlOwogCiBjbGFzcyBGZXRjaFJlcXVlc3QgZmlu
YWwgOiBwdWJsaWMgRmV0Y2hCb2R5T3duZXIgewogcHVibGljOgotICAgIHN0YXRpYyBSZWY8RmV0
Y2hSZXF1ZXN0PiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCkgeyByZXR1
cm4gYWRvcHRSZWYoKm5ldyBGZXRjaFJlcXVlc3QoY29udGV4dCwgeyB9LCBGZXRjaEhlYWRlcnM6
OmNyZWF0ZShGZXRjaEhlYWRlcnM6Okd1YXJkOjpSZXF1ZXN0KSwgeyB9KSk7IH0KLQotICAgIEZl
dGNoSGVhZGVycyogaW5pdGlhbGl6ZVdpdGgoRmV0Y2hSZXF1ZXN0JiwgY29uc3QgRGljdGlvbmFy
eSYsIEV4Y2VwdGlvbkNvZGUmKTsKLSAgICBGZXRjaEhlYWRlcnMqIGluaXRpYWxpemVXaXRoKGNv
bnN0IFN0cmluZyYsIGNvbnN0IERpY3Rpb25hcnkmLCBFeGNlcHRpb25Db2RlJik7Ci0gICAgdm9p
ZCBzZXRCb2R5KEpTQzo6RXhlY1N0YXRlJiwgSlNDOjpKU1ZhbHVlLCBGZXRjaFJlcXVlc3QqLCBF
eGNlcHRpb25Db2RlJik7CisgICAgc3RhdGljIFJlZlB0cjxGZXRjaFJlcXVlc3Q+IGNyZWF0ZShT
Y3JpcHRFeGVjdXRpb25Db250ZXh0JiwgRmV0Y2hSZXF1ZXN0JiwgY29uc3QgRGljdGlvbmFyeSYs
IEV4Y2VwdGlvbkNvZGUmKTsKKyAgICBzdGF0aWMgUmVmUHRyPEZldGNoUmVxdWVzdD4gY3JlYXRl
KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBjb25zdCBTdHJpbmcmLCBjb25zdCBEaWN0aW9uYXJ5
JiwgRXhjZXB0aW9uQ29kZSYpOwogCiAgICAgY29uc3QgU3RyaW5nJiBtZXRob2QoKSBjb25zdCB7
IHJldHVybiBtX2ludGVybmFsUmVxdWVzdC5yZXF1ZXN0Lmh0dHBNZXRob2QoKTsgfQogICAgIGNv
bnN0IFN0cmluZyYgdXJsKCkgY29uc3Q7CkBAIC05NSw4ICs5Miw2IEBAIHB1YmxpYzoKIHByaXZh
dGU6CiAgICAgRmV0Y2hSZXF1ZXN0KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBGZXRjaEJvZHkm
JiwgUmVmPEZldGNoSGVhZGVycz4mJiwgSW50ZXJuYWxSZXF1ZXN0JiYpOwogCi0gICAgdm9pZCBp
bml0aWFsaXplT3B0aW9ucyhjb25zdCBEaWN0aW9uYXJ5JiwgRXhjZXB0aW9uQ29kZSYpOwotCiAg
ICAgLy8gQWN0aXZlRE9NT2JqZWN0IEFQSS4KICAgICBjb25zdCBjaGFyKiBhY3RpdmVET01PYmpl
Y3ROYW1lKCkgY29uc3QgZmluYWw7CiAgICAgYm9vbCBjYW5TdXNwZW5kRm9yRG9jdW1lbnRTdXNw
ZW5zaW9uKCkgY29uc3QgZmluYWw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2ZldGNoL0ZldGNoUmVxdWVzdC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0Zl
dGNoUmVxdWVzdC5pZGwKaW5kZXggZTc5ZTE3N2VkZmIwYzM1MGNkNTg4YjU4ZjI3ZTExZTM0ODQ2
MTM4Mi4uMzU5ZjA5OTE0NGQ2YjA0ODJmMDExNmEwYjdjY2FjNzFhMGIzMjJjZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlcXVlc3QuaWRsCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXF1ZXN0LmlkbApAQCAtMzcsMTMgKzM3
LDEzIEBAIGVudW0gUmVmZXJyZXJQb2xpY3kgeyAiIiwgIm5vLXJlZmVycmVyIiwgICJuby1yZWZl
cnJlci13aGVuLWRvd25ncmFkZSIsICJvcmlnaW4iCiBbCiAgICAgQWN0aXZlRE9NT2JqZWN0LAog
ICAgIENvbmRpdGlvbmFsPUZFVENIX0FQSSwKLSAgICBDb25zdHJ1Y3RvcihhbnkgaW5wdXQsIG9w
dGlvbmFsIERpY3Rpb25hcnkgaW5pdCksCiAgICAgRW5hYmxlZEF0UnVudGltZT1GZXRjaEFQSSwK
KyAgICBDb25zdHJ1Y3RvckNhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHQsCisgICAgQ29u
c3RydWN0b3JSYWlzZXNFeGNlcHRpb24sCisgICAgQ29uc3RydWN0b3IoRmV0Y2hSZXF1ZXN0IGlu
cHV0LCBvcHRpb25hbCBEaWN0aW9uYXJ5IGluaXQpLAorICAgIENvbnN0cnVjdG9yKERPTVN0cmlu
ZyBpbnB1dCwgb3B0aW9uYWwgRGljdGlvbmFyeSBpbml0KSwKICAgICBFeHBvc2VkPShXaW5kb3cs
V29ya2VyKSwKLSAgICBJbnRlcmZhY2VOYW1lPVJlcXVlc3QsCi0gICAgSlNCdWlsdGluQ29uc3Ry
dWN0b3IsCi0gICAgUHJpdmF0ZUlkZW50aWZpZXIsCi0gICAgUHVibGljSWRlbnRpZmllciwKKyAg
ICBJbnRlcmZhY2VOYW1lPVJlcXVlc3QKIF0KIGludGVyZmFjZSBGZXRjaFJlcXVlc3QgewogICAg
IHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgbWV0aG9kOwpAQCAtNjEsOSArNjEsNSBAQCBp
bnRlcmZhY2UgRmV0Y2hSZXF1ZXN0IHsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5n
IGludGVncml0eTsKIAogICAgIFtOZXdPYmplY3QsIENhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQsIFJhaXNlc0V4Y2VwdGlvbl0gRmV0Y2hSZXF1ZXN0IGNsb25lKCk7Ci0KLSAgICBbUHJp
dmF0ZUlkZW50aWZpZXIsIFJhaXNlc0V4Y2VwdGlvbl0gRmV0Y2hIZWFkZXJzIGluaXRpYWxpemVX
aXRoKEZldGNoUmVxdWVzdCBpbnB1dCwgRGljdGlvbmFyeSBpbml0KTsKLSAgICBbUHJpdmF0ZUlk
ZW50aWZpZXIsIFJhaXNlc0V4Y2VwdGlvbl0gRmV0Y2hIZWFkZXJzIGluaXRpYWxpemVXaXRoKERP
TVN0cmluZyBpbnB1dCwgRGljdGlvbmFyeSBpbml0KTsKLSAgICBbUHJpdmF0ZUlkZW50aWZpZXIs
IFJhaXNlc0V4Y2VwdGlvbiwgQ2FsbFdpdGg9U2NyaXB0U3RhdGVdIHZvaWQgc2V0Qm9keShhbnkg
Ym9keSwgRmV0Y2hSZXF1ZXN0PyByZXF1ZXN0KTsKIH07CiBGZXRjaFJlcXVlc3QgaW1wbGVtZW50
cyBGZXRjaEJvZHk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0Zl
dGNoUmVxdWVzdC5qcyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXF1ZXN0
LmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1YjQxNDFkMzRiN2UzODI0NWQyNGFh
MTc0YzE1OTlkZjM2ZmY2ZGRiLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXF1ZXN0LmpzCisr
KyAvZGV2L251bGwKQEAgLTEsNTAgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNiBB
cHBsZSBJbmMuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0g
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
LSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0g
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBP
UgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLS8v
IEBjb25kaXRpb25hbD1FTkFCTEUoRkVUQ0hfQVBJKQotCi1mdW5jdGlvbiBpbml0aWFsaXplRmV0
Y2hSZXF1ZXN0KGlucHV0LCBpbml0KQotewotICAgICJ1c2Ugc3RyaWN0IjsKLQotICAgIGlmIChp
bml0ID09PSBAdW5kZWZpbmVkKQotICAgICAgICBpbml0ID0geyB9OwotICAgIGVsc2UgaWYgKCFA
aXNPYmplY3QoaW5pdCkpCi0gICAgICAgIHRocm93IG5ldyBAVHlwZUVycm9yKCJSZXF1ZXN0IGlu
aXQgbXVzdCBiZSBhbiBvYmplY3QiKTsKLQotICAgIGxldCBoZWFkZXJzID0gdGhpcy5AaW5pdGlh
bGl6ZVdpdGgoaW5wdXQsIGluaXQpOwotICAgIEBhc3NlcnQoaGVhZGVycyBpbnN0YW5jZW9mIEBI
ZWFkZXJzKTsKLQotICAgIGxldCBpbnB1dElzUmVxdWVzdCA9IGlucHV0IGluc3RhbmNlb2YgQFJl
cXVlc3Q7Ci0gICAgaWYgKCJoZWFkZXJzIiBpbiBpbml0KQotICAgICAgICBAZmlsbEZldGNoSGVh
ZGVycyhoZWFkZXJzLCBpbml0LmhlYWRlcnMpCi0gICAgZWxzZSBpZiAoaW5wdXRJc1JlcXVlc3Qp
Ci0gICAgICAgIEBmaWxsRmV0Y2hIZWFkZXJzKGhlYWRlcnMsIGlucHV0LmhlYWRlcnMpCi0KLSAg
ICBsZXQgaGFzSW5pdEJvZHkgPSBpbml0LmJvZHkgIT09IEB1bmRlZmluZWQgJiYgaW5pdC5ib2R5
ICE9PSBudWxsOwotICAgIHRoaXMuQHNldEJvZHkoaGFzSW5pdEJvZHkgPyBpbml0LmJvZHkgOiBu
dWxsLCBpbnB1dElzUmVxdWVzdCA/IGlucHV0IDogbnVsbCk7Ci0KLSAgICByZXR1cm4gdGhpczsK
LX0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXNwb25z
ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2UuY3BwCmlu
ZGV4IGMyZThhYmFhYjExYTIwMTU0MGQ4YmQxMjg1MGU1MWU3MGIyZWEzMDEuLjYxNzg4MjZmOGU1
NjJjZWU4MjA4ZmYyZGM1ZDVmOTc3MzliMjdlMzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXNwb25zZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9mZXRjaC9GZXRjaFJlc3BvbnNlLmNwcApAQCAtMTAyLDcgKzEwMiw3IEBAIFJlZlB0cjxG
ZXRjaFJlc3BvbnNlPiBGZXRjaFJlc3BvbnNlOjpjbG9uZShTY3JpcHRFeGVjdXRpb25Db250ZXh0
JiBjb250ZXh0LCBFeGNlCiAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgRmV0Y2hSZXNwb25zZShj
b250ZXh0LCBGZXRjaEJvZHkobV9ib2R5KSwgRmV0Y2hIZWFkZXJzOjpjcmVhdGUoaGVhZGVycygp
KSwgUmVzb3VyY2VSZXNwb25zZShtX3Jlc3BvbnNlKSkpOwogfQogCi12b2lkIEZldGNoUmVzcG9u
c2U6OmZldGNoKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIEZldGNoUmVxdWVzdCYg
cmVxdWVzdCwgRmV0Y2hQcm9taXNlJiYgcHJvbWlzZSkKK3ZvaWQgRmV0Y2hSZXNwb25zZTo6c3Rh
cnRGZXRjaGluZyhTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBjb25zdCBGZXRjaFJl
cXVlc3QmIHJlcXVlc3QsIEZldGNoUHJvbWlzZSYmIHByb21pc2UpCiB7CiAgICAgYXV0byByZXNw
b25zZSA9IGFkb3B0UmVmKCpuZXcgRmV0Y2hSZXNwb25zZShjb250ZXh0LCBGZXRjaEJvZHk6Omxv
YWRpbmdCb2R5KCksIEZldGNoSGVhZGVyczo6Y3JlYXRlKEZldGNoSGVhZGVyczo6R3VhcmQ6Oklt
bXV0YWJsZSksIHsgfSkpOwogCkBAIC0xMTQsNiArMTE0LDE4IEBAIHZvaWQgRmV0Y2hSZXNwb25z
ZTo6ZmV0Y2goU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgRmV0Y2hSZXF1ZXN0JiBy
ZXF1ZXN0CiAgICAgICAgIHJlc3BvbnNlLT5tX2JvZHlMb2FkZXIgPSBOdWxsb3B0OwogfQogCit2
b2lkIEZldGNoUmVzcG9uc2U6OmZldGNoKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQs
IEZldGNoUmVxdWVzdCYgaW5wdXQsIGNvbnN0IERpY3Rpb25hcnkmIGRpY3Rpb25hcnksIEZldGNo
UHJvbWlzZSYmIHByb21pc2UpCit7CisgICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7CisgICAgUmVm
UHRyPEZldGNoUmVxdWVzdD4gZmV0Y2hSZXF1ZXN0ID0gRmV0Y2hSZXF1ZXN0OjpjcmVhdGUoY29u
dGV4dCwgaW5wdXQsIGRpY3Rpb25hcnksIGVjKTsKKyAgICBpZiAoZWMpIHsKKyAgICAgICAgcHJv
bWlzZS5yZWplY3QoZWMpOworICAgICAgICByZXR1cm47CisgICAgfQorICAgIEFTU0VSVChmZXRj
aFJlcXVlc3QpOworICAgIHN0YXJ0RmV0Y2hpbmcoY29udGV4dCwgKmZldGNoUmVxdWVzdCwgV1RG
TW92ZShwcm9taXNlKSk7Cit9CisKIGNvbnN0IFN0cmluZyYgRmV0Y2hSZXNwb25zZTo6dXJsKCkg
Y29uc3QKIHsKICAgICBpZiAobV9yZXNwb25zZVVSTC5pc051bGwoKSkKQEAgLTEyMSw2ICsxMzMs
MTggQEAgY29uc3QgU3RyaW5nJiBGZXRjaFJlc3BvbnNlOjp1cmwoKSBjb25zdAogICAgIHJldHVy
biBtX3Jlc3BvbnNlVVJMOwogfQogCit2b2lkIEZldGNoUmVzcG9uc2U6OmZldGNoKFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIGNvbnN0IFN0cmluZyYgdXJsLCBjb25zdCBEaWN0aW9u
YXJ5JiBkaWN0aW9uYXJ5LCBGZXRjaFByb21pc2UmJiBwcm9taXNlKQoreworICAgIEV4Y2VwdGlv
bkNvZGUgZWMgPSAwOworICAgIFJlZlB0cjxGZXRjaFJlcXVlc3Q+IGZldGNoUmVxdWVzdCA9IEZl
dGNoUmVxdWVzdDo6Y3JlYXRlKGNvbnRleHQsIHVybCwgZGljdGlvbmFyeSwgZWMpOworICAgIGlm
IChlYykgeworICAgICAgICBwcm9taXNlLnJlamVjdChlYyk7CisgICAgICAgIHJldHVybjsKKyAg
ICB9CisgICAgQVNTRVJUKGZldGNoUmVxdWVzdCk7CisgICAgc3RhcnRGZXRjaGluZyhjb250ZXh0
LCAqZmV0Y2hSZXF1ZXN0LCBXVEZNb3ZlKHByb21pc2UpKTsKK30KKwogdm9pZCBGZXRjaFJlc3Bv
bnNlOjpCb2R5TG9hZGVyOjpkaWRTdWNjZWVkKCkKIHsKICAgICBBU1NFUlQobV9yZXNwb25zZS5o
YXNQZW5kaW5nQWN0aXZpdHkoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2ZldGNoL0ZldGNoUmVzcG9uc2UuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0
Y2hSZXNwb25zZS5oCmluZGV4IDU3M2MyNzA4ZDhkYzk0ZGRhODEwNWI0Yzk2MGM1MTU5Njg1NDIw
NGYuLmZjNjI3MWQzOGNmYjU1OTI0ZmMzNDU1OGM0OWE3ZjA0NWUzMzkyMGMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXNwb25zZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXNwb25zZS5oCkBAIC01Nyw3ICs1Nyw5IEBA
IHB1YmxpYzoKICAgICBzdGF0aWMgUmVmUHRyPEZldGNoUmVzcG9uc2U+IHJlZGlyZWN0KFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQmLCBjb25zdCBTdHJpbmcmLCBpbnQsIEV4Y2VwdGlvbkNvZGUmKTsK
IAogICAgIHVzaW5nIEZldGNoUHJvbWlzZSA9IERPTVByb21pc2U8RmV0Y2hSZXNwb25zZT47Ci0g
ICAgc3RhdGljIHZvaWQgZmV0Y2goU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIEZldGNoUmVxdWVz
dCYsIEZldGNoUHJvbWlzZSYmKTsKKyAgICBzdGF0aWMgdm9pZCBmZXRjaChTY3JpcHRFeGVjdXRp
b25Db250ZXh0JiwgRmV0Y2hSZXF1ZXN0JiwgY29uc3QgRGljdGlvbmFyeSYsIEZldGNoUHJvbWlz
ZSYmKTsKKyAgICBzdGF0aWMgdm9pZCBmZXRjaChTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgY29u
c3QgU3RyaW5nJiwgY29uc3QgRGljdGlvbmFyeSYsIEZldGNoUHJvbWlzZSYmKTsKKwogCiAgICAg
dm9pZCBzZXRTdGF0dXMoaW50LCBjb25zdCBTdHJpbmcmLCBFeGNlcHRpb25Db2RlJik7CiAgICAg
dm9pZCBpbml0aWFsaXplV2l0aChKU0M6OkV4ZWNTdGF0ZSYsIEpTQzo6SlNWYWx1ZSk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL1dvcmtlckdsb2JhbFNjb3BlRmV0
Y2guY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9Xb3JrZXJHbG9iYWxTY29wZUZl
dGNoLmNwcAppbmRleCBlM2NhNTMwN2UyMGI4M2UyZjllMTNmYzNjNDQ3MDFjYmE0Mjg2ZjRhLi5m
YmNjZDFkOWRlZWE1MGIxZDZmZTUyOTllNTIzOTA3MzM5MTIzYWM5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL1dvcmtlckdsb2JhbFNjb3BlRmV0Y2guY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvV29ya2VyR2xvYmFsU2NvcGVGZXRjaC5jcHAK
QEAgLTM2LDExICszNiwxOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXZvaWQgV29ya2Vy
R2xvYmFsU2NvcGVGZXRjaDo6ZmV0Y2goV29ya2VyR2xvYmFsU2NvcGUmIHNjb3BlLCBGZXRjaFJl
cXVlc3QmIHJlcXVlc3QsIERlZmVycmVkV3JhcHBlciYmIHByb21pc2UpCit2b2lkIFdvcmtlckds
b2JhbFNjb3BlRmV0Y2g6OmZldGNoKFdvcmtlckdsb2JhbFNjb3BlJiBzY29wZSwgRmV0Y2hSZXF1
ZXN0JiBpbnB1dCwgY29uc3QgRGljdGlvbmFyeSYgZGljdGlvbmFyeSwgRGVmZXJyZWRXcmFwcGVy
JiYgcHJvbWlzZSkKIHsKICAgICBpZiAoIXNjb3BlLnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSkK
ICAgICAgICAgcmV0dXJuOwotICAgIEZldGNoUmVzcG9uc2U6OmZldGNoKCpzY29wZS5zY3JpcHRF
eGVjdXRpb25Db250ZXh0KCksIHJlcXVlc3QsIFdURk1vdmUocHJvbWlzZSkpOworICAgIEZldGNo
UmVzcG9uc2U6OmZldGNoKCpzY29wZS5zY3JpcHRFeGVjdXRpb25Db250ZXh0KCksIGlucHV0LCBk
aWN0aW9uYXJ5LCBXVEZNb3ZlKHByb21pc2UpKTsKK30KKwordm9pZCBXb3JrZXJHbG9iYWxTY29w
ZUZldGNoOjpmZXRjaChXb3JrZXJHbG9iYWxTY29wZSYgc2NvcGUsIGNvbnN0IFN0cmluZyYgdXJs
LCBjb25zdCBEaWN0aW9uYXJ5JiBkaWN0aW9uYXJ5LCBEZWZlcnJlZFdyYXBwZXImJiBwcm9taXNl
KQoreworICAgIGlmICghc2NvcGUuc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKQorICAgICAgICBy
ZXR1cm47CisgICAgRmV0Y2hSZXNwb25zZTo6ZmV0Y2goKnNjb3BlLnNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQoKSwgdXJsLCBkaWN0aW9uYXJ5LCBXVEZNb3ZlKHByb21pc2UpKTsKIH0KIAogfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRj
aC9Xb3JrZXJHbG9iYWxTY29wZUZldGNoLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNo
L1dvcmtlckdsb2JhbFNjb3BlRmV0Y2guaAppbmRleCBhNWY1NzY3ZjY5NGE2Nzc5NjYyMjBjODdh
OTQ4ZTU2YjM5ZmM2ZjY4Li4yYmI3OTEzMGVmYzljMjQwNTkzNjQwYTQzYzE3OWYzNTMxOTI0NzEx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL1dvcmtlckdsb2JhbFNj
b3BlRmV0Y2guaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL1dvcmtlckdsb2Jh
bFNjb3BlRmV0Y2guaApAQCAtMjUsOCArMjUsOCBAQAogICogT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UK
ICAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCiAgKi8KLQotI3ByYWdtYSBvbmNlCisjaWZuZGVmIFdvcmtlckdsb2Jh
bFNjb3BlRmV0Y2hfaAorI2RlZmluZSBXb3JrZXJHbG9iYWxTY29wZUZldGNoX2gKIAogI2lmIEVO
QUJMRShGRVRDSF9BUEkpCiAKQEAgLTM3LDEzICszNywxNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKIGNsYXNzIFdvcmtlckdsb2JhbFNjb3BlOwogY2xhc3MgRGVmZXJyZWRXcmFwcGVyOworY2xh
c3MgRGljdGlvbmFyeTsKIGNsYXNzIEZldGNoUmVxdWVzdDsKIAogY2xhc3MgV29ya2VyR2xvYmFs
U2NvcGVGZXRjaCB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIHZvaWQgZmV0Y2goV29ya2VyR2xvYmFs
U2NvcGUmLCBGZXRjaFJlcXVlc3QmLCBEZWZlcnJlZFdyYXBwZXImJik7CisgICAgc3RhdGljIHZv
aWQgZmV0Y2goV29ya2VyR2xvYmFsU2NvcGUmLCBGZXRjaFJlcXVlc3QmLCBjb25zdCBEaWN0aW9u
YXJ5JiwgRGVmZXJyZWRXcmFwcGVyJiYpOworICAgIHN0YXRpYyB2b2lkIGZldGNoKFdvcmtlckds
b2JhbFNjb3BlJiwgY29uc3QgU3RyaW5nJiwgY29uc3QgRGljdGlvbmFyeSYsIERlZmVycmVkV3Jh
cHBlciYmKTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIEVOQUJM
RShGRVRDSF9BUEkpCisKKyNlbmRpZiAvLyBXb3JrZXJHbG9iYWxTY29wZUZldGNoX2gKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvV29ya2VyR2xvYmFsU2NvcGVGZXRj
aC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL1dvcmtlckdsb2JhbFNjb3BlRmV0
Y2guaWRsCmluZGV4IDA3NTQ4YjFlYWU0Mzg5NWJkZGU4YWIxZWYwNDMwOWI2Yzc0MjYxMTEuLjgy
NjM3MWJjMGRlYTZkZWYyOGQ3NzAzMjU1MjdkNjRkNjNkODg1ZjAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvV29ya2VyR2xvYmFsU2NvcGVGZXRjaC5pZGwKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9Xb3JrZXJHbG9iYWxTY29wZUZldGNoLmlkbApA
QCAtMzAsNyArMzAsNiBAQAogICAgIENvbmRpdGlvbmFsPUZFVENIX0FQSSwKICAgICBFbmFibGVk
QXRSdW50aW1lPUZldGNoQVBJLAogXSBwYXJ0aWFsIGludGVyZmFjZSBXb3JrZXJHbG9iYWxTY29w
ZSB7Ci0gICAgW0pTQnVpbHRpbl0gUHJvbWlzZSBmZXRjaChhbnkgaW5wdXQsIG9wdGlvbmFsIERp
Y3Rpb25hcnkgaW5pdCk7Ci0KLSAgICBbUHJpdmF0ZUlkZW50aWZpZXIsIEltcGxlbWVudGVkQXM9
ZmV0Y2hdIFByb21pc2UgZmV0Y2hSZXF1ZXN0KEZldGNoUmVxdWVzdCByZXF1ZXN0KTsKKyAgICBQ
cm9taXNlIGZldGNoKERPTVN0cmluZyBpbnB1dCwgb3B0aW9uYWwgRGljdGlvbmFyeSBpbml0KTsK
KyAgICBQcm9taXNlIGZldGNoKEZldGNoUmVxdWVzdCBpbnB1dCwgb3B0aW9uYWwgRGljdGlvbmFy
eSBpbml0KTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL1dv
cmtlckdsb2JhbFNjb3BlRmV0Y2guanMgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL1dv
cmtlckdsb2JhbFNjb3BlRmV0Y2guanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGFj
ZDJlZmI2MmQwYTRiMGFjYWFkY2U3NmNiZmQyMjU1ZDU2MjE3NzEuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRj
aC9Xb3JrZXJHbG9iYWxTY29wZUZldGNoLmpzCisrKyAvZGV2L251bGwKQEAgLTEsMzcgKzAsMCBA
QAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNiBBcHBsZSBJbmMuCi0gKgotICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5Z
Ci0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAg
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLS8vIEBjb25kaXRpb25hbD1FTkFCTEUoRkVUQ0hf
QVBJKQotCi1mdW5jdGlvbiBmZXRjaChpbnB1dCwgaW5pdCkKLXsKLSAgICAidXNlIHN0cmljdCI7
Ci0KLSAgICB0cnkgewotICAgICAgICByZXR1cm4gQGZldGNoUmVxdWVzdChuZXcgQFJlcXVlc3Qo
aW5wdXQsIGluaXQpKTsKLSAgICB9IGNhdGNoKGUpIHsKLSAgICAgICAgcmV0dXJuIEBQcm9taXNl
LkByZWplY3QoZSk7Ci0gICAgfQotfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
V2ViQ29yZUJ1aWx0aW5OYW1lcy5oCmluZGV4IGE1YWRkOTRiMjA5YTI2OTNiZWMzNTFjOThmZmM1
Y2UyOGE3NjFiZTIuLjM4MWViYTM2NDg2OWViZjUyMjEyMThkMDQxM2U0N2Y3YjZjNWRmMTMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmgK
QEAgLTQxLDcgKzQxLDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIG1hY3JvKGNvbnRyb2xs
ZXIpIFwKICAgICBtYWNybyhjcmVhdGVSZWFkYWJsZVN0cmVhbVNvdXJjZSkgXAogICAgIG1hY3Jv
KGRpc3R1cmJlZCkgXAotICAgIG1hY3JvKGZldGNoUmVxdWVzdCkgXAogICAgIG1hY3JvKGZpbGxG
cm9tSlMpIFwKICAgICBtYWNybyhmaXJzdFJlYWRDYWxsYmFjaykgXAogICAgIG1hY3JvKGdldFVz
ZXJNZWRpYUZyb21KUykgXApAQCAtNjksNyArNjgsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAg
ICAgbWFjcm8ocmVzcG9uc2VDYWNoZUlzVmFsaWQpIFwKICAgICBtYWNybyhyZXRyaWV2ZVJlc3Bv
bnNlKSBcCiAgICAgbWFjcm8ocmVzcG9uc2UpIFwKLSAgICBtYWNybyhzZXRCb2R5KSBcCiAgICAg
bWFjcm8oc2V0U3RhdHVzKSBcCiAgICAgbWFjcm8oc3RhdGUpIFwKICAgICBtYWNybyhzdGFydGVk
KSBcCkBAIC05MSw3ICs4OSw2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBtYWNybyhSZWFk
YWJsZVN0cmVhbSkgXAogICAgIG1hY3JvKFJlYWRhYmxlU3RyZWFtUmVhZGVyKSBcCiAgICAgbWFj
cm8oUmVhZGFibGVTdHJlYW1Db250cm9sbGVyKSBcCi0gICAgbWFjcm8oUmVxdWVzdCkgXAogICAg
IG1hY3JvKFJlc3BvbnNlKSBcCiAgICAgbWFjcm8oUlRDSWNlQ2FuZGlkYXRlKSBcCiAgICAgbWFj
cm8oUlRDU2Vzc2lvbkRlc2NyaXB0aW9uKSBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3IucG0gYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL0NvZGVHZW5lcmF0b3IucG0KaW5kZXggZjhmYmExOWY1ODVkYmE1MmE3N2FlMzQ1
YjY1NTU3MTA4NzgwNjg0MS4uNWZhZDYwZDQzNDk2MDVmZGE3NzFmMTQxYzRlYTUwOTIzNjQzMjky
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJh
dG9yLnBtCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRv
ci5wbQpAQCAtNTU5LDcgKzU1OSw2IEBAIHN1YiBXS19sY2ZpcnN0CiB7CiAgICAgbXkgKCRvYmpl
Y3QsICRwYXJhbSkgPSBAXzsKICAgICBteSAkcmV0ID0gbGNmaXJzdCgkcGFyYW0pOwotICAgICRy
ZXQgPX4gcy9kT00vZG9tLyBpZiAkcmV0ID1+IC9eZE9NLzsKICAgICAkcmV0ID1+IHMvaFRNTC9o
dG1sLyBpZiAkcmV0ID1+IC9eaFRNTC87CiAgICAgJHJldCA9fiBzL3VSTC91cmwvIGlmICRyZXQg
PX4gL151UkwvOwogICAgICRyZXQgPX4gcy9qUy9qcy8gaWYgJHJldCA9fiAvXmpTLzsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBt
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KaW5k
ZXggZmYxNTkxNDBjNDI2NzM4NWVlZWRmZGEyOGQwNjM4OGMxZjg4ZTc1Yy4uZTBlMDgyYmMyY2Rj
ZDZiMmVmZmM4ZTU0MjAzZmJkZGYwODY4MzVlMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KKysrIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KQEAgLTI0MTksMjEgKzI0MTksMTIg
QEAgc3ViIEdlbmVyYXRlSW1wbGVtZW50YXRpb24KICAgICAgICAgICAgIG15ICRmdW5jdGlvbkxl
bmd0aCA9IEdldEZ1bmN0aW9uTGVuZ3RoKCRmdW5jdGlvbik7CiAgICAgICAgICAgICBteSAkanNB
dHRyaWJ1dGVzID0gQ29tcHV0ZUZ1bmN0aW9uU3BlY2lhbCgkaW50ZXJmYWNlLCAkZnVuY3Rpb24p
OwogICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgaWYgKCR7ZW5hYmxlX2Z1bmN0
aW9ufSgpKVxuIik7Ci0KLSAgICAgICAgICAgIG15ICRwcm9wZXJ0eU5hbWUgPSAidm0ucHJvcGVy
dHlOYW1lcy0+JGZ1bmN0aW9uTmFtZSI7Ci0gICAgICAgICAgICBpZiAoJGZ1bmN0aW9uLT5zaWdu
YXR1cmUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJQcml2YXRlSWRlbnRpZmllciJ9KSB7Ci0gICAg
ICAgICAgICAgICAgJHByb3BlcnR5TmFtZSA9ICJzdGF0aWNfY2FzdDxKU1ZNQ2xpZW50RGF0YSo+
KHZtLmNsaWVudERhdGEpLT5idWlsdGluTmFtZXMoKS4iIC4gJGZ1bmN0aW9uTmFtZSAuICJQcml2
YXRlTmFtZSgpIjsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGlmIChJc0pTQnVpbHRpbigk
aW50ZXJmYWNlLCAkZnVuY3Rpb24pKSB7Ci0gICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRl
bnQsICIgICAgICAgIHB1dERpcmVjdEJ1aWx0aW5GdW5jdGlvbih2bSwgdGhpcywgJHByb3BlcnR5
TmFtZSwgJGltcGxlbWVudGF0aW9uRnVuY3Rpb24odm0pLCBhdHRyaWJ1dGVzRm9yU3RydWN0dXJl
KCRqc0F0dHJpYnV0ZXMpKTtcbiIpOwotICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAg
ICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICAgICAgcHV0RGlyZWN0TmF0aXZlRnVuY3Rpb24o
dm0sIHRoaXMsICRwcm9wZXJ0eU5hbWUsICRmdW5jdGlvbkxlbmd0aCwgJGltcGxlbWVudGF0aW9u
RnVuY3Rpb24sIE5vSW50cmluc2ljLCBhdHRyaWJ1dGVzRm9yU3RydWN0dXJlKCRqc0F0dHJpYnV0
ZXMpKTtcbiIpOwotICAgICAgICAgICAgfQorICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQs
ICIgICAgICAgIHB1dERpcmVjdE5hdGl2ZUZ1bmN0aW9uKHZtLCB0aGlzLCB2bS5wcm9wZXJ0eU5h
bWVzLT4kZnVuY3Rpb25OYW1lLCAkZnVuY3Rpb25MZW5ndGgsICRpbXBsZW1lbnRhdGlvbkZ1bmN0
aW9uLCBOb0ludHJpbnNpYywgYXR0cmlidXRlc0ZvclN0cnVjdHVyZSgkanNBdHRyaWJ1dGVzKSk7
XG4iKTsKICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiI2VuZGlmXG4iKSBpZiAkY29u
ZGl0aW9uYWxTdHJpbmc7CiAgICAgICAgIH0KICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICJ9
XG5cbiIpOwogICAgIH0KLQorICAgIAogICAgIHVubGVzcyAoU2hvdWxkVXNlR2xvYmFsT2JqZWN0
UHJvdG90eXBlKCRpbnRlcmZhY2UpKSB7CiAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiSlNP
YmplY3QqICR7Y2xhc3NOYW1lfTo6Y3JlYXRlUHJvdG90eXBlKFZNJiB2bSwgSlNHbG9iYWxPYmpl
Y3QqIGdsb2JhbE9iamVjdClcbiIpOwogICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIntcbiIp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdEdsb2JhbE9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNUZXN0R2xvYmFsT2JqZWN0LmNwcAppbmRleCA0OTJhNmY1MmE3MzUxOGE2NmU4ZTAw
Yzc2MTZmOWQ0ZTg3MmRjY2U0Li4yNzdhMmJkMzM0Yjk2ZTQzNmMzYTEwNjg0N2Q4ZTcyNmE4NGM2
YjI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNUZXN0R2xvYmFsT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0R2xvYmFsT2JqZWN0LmNwcApAQCAtMzMsMTAgKzMzLDYgQEAKICNp
bmNsdWRlIDxydW50aW1lL0pTU3RyaW5nLmg+CiAjaW5jbHVkZSA8d3RmL0dldFB0ci5oPgogCi0j
aWYgRU5BQkxFKFRFU1RfRkVBVFVSRSkKLSNpbmNsdWRlICJUZXN0R2xvYmFsT2JqZWN0QnVpbHRp
bnMuaCIKLSNlbmRpZgotCiB1c2luZyBuYW1lc3BhY2UgSlNDOwogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CkBAIC00Nyw5ICs0Myw2IEBAIEpTQzo6RW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBq
c1Rlc3RHbG9iYWxPYmplY3RJbnN0YW5jZUZ1bmN0aW9uUmVndWxhck9wZXJhCiAjaWYgRU5BQkxF
KFRFU1RfRkVBVFVSRSkKIEpTQzo6RW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBqc1Rlc3RH
bG9iYWxPYmplY3RJbnN0YW5jZUZ1bmN0aW9uRW5hYmxlZEF0UnVudGltZU9wZXJhdGlvbihKU0M6
OkV4ZWNTdGF0ZSopOwogI2VuZGlmCi0jaWYgRU5BQkxFKFRFU1RfRkVBVFVSRSkKLUpTQzo6RW5j
b2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBqc1Rlc3RHbG9iYWxPYmplY3RJbnN0YW5jZUZ1bmN0
aW9uVGVzdFByaXZhdGVGdW5jdGlvbihKU0M6OkV4ZWNTdGF0ZSopOwotI2VuZGlmCiAKIC8vIEF0
dHJpYnV0ZXMKIApAQCAtMTYxLDE0ICsxNTQsNiBAQCB2b2lkIEpTVGVzdEdsb2JhbE9iamVjdDo6
ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBKU1Byb3h5KiBwcm94eSkKICAgICBpZiAoUnVudGltZUVu
YWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS50ZXN0RmVhdHVyZUVuYWJsZWQoKSkKICAg
ICAgICAgcHV0RGlyZWN0TmF0aXZlRnVuY3Rpb24odm0sIHRoaXMsIHZtLnByb3BlcnR5TmFtZXMt
PmVuYWJsZWRBdFJ1bnRpbWVPcGVyYXRpb24sIDEsIGpzVGVzdEdsb2JhbE9iamVjdEluc3RhbmNl
RnVuY3Rpb25FbmFibGVkQXRSdW50aW1lT3BlcmF0aW9uLCBOb0ludHJpbnNpYywgYXR0cmlidXRl
c0ZvclN0cnVjdHVyZShKU0M6OkZ1bmN0aW9uKSk7CiAjZW5kaWYKLSNpZiBFTkFCTEUoVEVTVF9G
RUFUVVJFKQotICAgIGlmIChSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygp
LnRlc3RGZWF0dXJlRW5hYmxlZCgpKQotICAgICAgICBwdXREaXJlY3ROYXRpdmVGdW5jdGlvbih2
bSwgdGhpcywgc3RhdGljX2Nhc3Q8SlNWTUNsaWVudERhdGEqPih2bS5jbGllbnREYXRhKS0+YnVp
bHRpbk5hbWVzKCkudGVzdFByaXZhdGVGdW5jdGlvblByaXZhdGVOYW1lKCksIDAsIGpzVGVzdEds
b2JhbE9iamVjdEluc3RhbmNlRnVuY3Rpb25UZXN0UHJpdmF0ZUZ1bmN0aW9uLCBOb0ludHJpbnNp
YywgYXR0cmlidXRlc0ZvclN0cnVjdHVyZShKU0M6OkZ1bmN0aW9uKSk7Ci0jZW5kaWYKLSNpZiBF
TkFCTEUoVEVTVF9GRUFUVVJFKQotICAgIGlmIChSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFy
ZWRGZWF0dXJlcygpLnRlc3RGZWF0dXJlRW5hYmxlZCgpKQotICAgICAgICBwdXREaXJlY3RCdWls
dGluRnVuY3Rpb24odm0sIHRoaXMsIHZtLnByb3BlcnR5TmFtZXMtPnRlc3RKU0J1aWx0aW5GdW5j
dGlvbiwgdGVzdEdsb2JhbE9iamVjdFRlc3RKU0J1aWx0aW5GdW5jdGlvbkNvZGVHZW5lcmF0b3Io
dm0pLCBhdHRyaWJ1dGVzRm9yU3RydWN0dXJlKEpTQzo6QnVpbHRpbikpOwotI2VuZGlmCiB9CiAK
IHZvaWQgSlNUZXN0R2xvYmFsT2JqZWN0OjpkZXN0cm95KEpTQzo6SlNDZWxsKiBjZWxsKQpAQCAt
NDEzLDIxICszOTgsNiBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpzVGVzdEdsb2Jh
bE9iamVjdEluc3RhbmNlRnVuY3Rpb25FbmFibGVkQXRSdW50aW1lTwogICAgIHJldHVybiB0aHJv
d1ZNVHlwZUVycm9yKHN0YXRlKTsKIH0KIAotI2lmIEVOQUJMRShURVNUX0ZFQVRVUkUpCi1FbmNv
ZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpzVGVzdEdsb2JhbE9iamVjdEluc3RhbmNlRnVuY3Rp
b25UZXN0UHJpdmF0ZUZ1bmN0aW9uKEV4ZWNTdGF0ZSogc3RhdGUpCi17Ci0gICAgSlNWYWx1ZSB0
aGlzVmFsdWUgPSBzdGF0ZS0+dGhpc1ZhbHVlKCk7Ci0gICAgYXV0byBjYXN0ZWRUaGlzID0ganNE
eW5hbWljQ2FzdDxKU1Rlc3RHbG9iYWxPYmplY3QqPih0aGlzVmFsdWUpOwotICAgIGlmIChVTkxJ
S0VMWSghY2FzdGVkVGhpcykpCi0gICAgICAgIHJldHVybiB0aHJvd1RoaXNUeXBlRXJyb3IoKnN0
YXRlLCAiVGVzdEdsb2JhbE9iamVjdCIsICJ0ZXN0UHJpdmF0ZUZ1bmN0aW9uIik7Ci0gICAgQVNT
RVJUX0dDX09CSkVDVF9JTkhFUklUUyhjYXN0ZWRUaGlzLCBKU1Rlc3RHbG9iYWxPYmplY3Q6Omlu
Zm8oKSk7Ci0gICAgYXV0byYgaW1wbCA9IGNhc3RlZFRoaXMtPndyYXBwZWQoKTsKLSAgICBpbXBs
LnRlc3RQcml2YXRlRnVuY3Rpb24oKTsKLSAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5k
ZWZpbmVkKCkpOwotfQotCi0jZW5kaWYKLQogYm9vbCBKU1Rlc3RHbG9iYWxPYmplY3RPd25lcjo6
aXNSZWFjaGFibGVGcm9tT3BhcXVlUm9vdHMoSlNDOjpIYW5kbGU8SlNDOjpVbmtub3duPiBoYW5k
bGUsIHZvaWQqLCBTbG90VmlzaXRvciYgdmlzaXRvcikKIHsKICAgICBVTlVTRURfUEFSQU0oaGFu
ZGxlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9P
YmpDL0RPTVRlc3RHbG9iYWxPYmplY3QubW0gYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvT2JqQy9ET01UZXN0R2xvYmFsT2JqZWN0Lm1tCmluZGV4IGNkZjk0ZjU2NWQ2OWEz
ZjA4MzYzY2U2NjQ1ZWIzNWE3MmE5YzdjYTkuLjM0N2QwM2YxN2RkMzg0N2EyMzJmOTdmZjE1Y2Rl
NzYzMTE2NzNmMzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9PYmpDL0RPTVRlc3RHbG9iYWxPYmplY3QubW0KKysrIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L09iakMvRE9NVGVzdEdsb2JhbE9iamVjdC5tbQpAQCAtMTMyLDE2
ICsxMzIsNiBAQAogCiAjZW5kaWYKIAotCi0jaWYgRU5BQkxFKFRFU1RfRkVBVFVSRSkKLS0gKHZv
aWQpdGVzdEpTQnVpbHRpbkZ1bmN0aW9uCi17Ci0gICAgV2ViQ29yZTo6SlNNYWluVGhyZWFkTnVs
bFN0YXRlIHN0YXRlOwotICAgIElNUEwtPnRlc3RKU0J1aWx0aW5GdW5jdGlvbigpOwotfQotCi0j
ZW5kaWYKLQogQGVuZAogCiBXZWJDb3JlOjpUZXN0R2xvYmFsT2JqZWN0KiBjb3JlKERPTVRlc3RH
bG9iYWxPYmplY3QgKndyYXBwZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvVGVzdEdsb2JhbE9iamVjdC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvVGVzdEdsb2JhbE9iamVjdC5pZGwKaW5kZXggMDE1NTBjMjUyYjNj
ODc5N2JiYWM4NzNjOGM1OWQwODM3MmI2NWQxYy4uNWRjMmM2YjU1OGIwYjZjY2FkZTZhOWVlMzRi
ZmE4MzA1ZTBjNTdjNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L1Rlc3RHbG9iYWxPYmplY3QuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9UZXN0R2xvYmFsT2JqZWN0LmlkbApAQCAtMzIsNyArMzIsNCBAQCBpbnRl
cmZhY2UgVGVzdEdsb2JhbE9iamVjdCB7CiAgICAgdm9pZCByZWd1bGFyT3BlcmF0aW9uKERPTVN0
cmluZyB0ZXN0UGFyYW0pOwogICAgIFtDb25kaXRpb25hbD1URVNUX0ZFQVRVUkUsIEVuYWJsZWRB
dFJ1bnRpbWU9VGVzdEZlYXR1cmVdIHZvaWQgZW5hYmxlZEF0UnVudGltZU9wZXJhdGlvbihET01T
dHJpbmcgdGVzdFBhcmFtKTsKICAgICBbQ29uZGl0aW9uYWw9VEVTVF9GRUFUVVJFLCBFbmFibGVk
QXRSdW50aW1lPVRlc3RGZWF0dXJlXSB2b2lkIGVuYWJsZWRBdFJ1bnRpbWVPcGVyYXRpb24obG9u
ZyB0ZXN0UGFyYW0pOwotCi0gICAgW1ByaXZhdGVJZGVudGlmaWVyLCBDb25kaXRpb25hbD1URVNU
X0ZFQVRVUkUsIEVuYWJsZWRBdFJ1bnRpbWU9VGVzdEZlYXR1cmVdIHZvaWQgdGVzdFByaXZhdGVG
dW5jdGlvbigpOwotICAgIFtKU0J1aWx0aW4sIENvbmRpdGlvbmFsPVRFU1RfRkVBVFVSRSwgRW5h
YmxlZEF0UnVudGltZT1UZXN0RmVhdHVyZV0gdm9pZCB0ZXN0SlNCdWlsdGluRnVuY3Rpb24oKTsK
IH07CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKaW5kZXggYTFkN2YzZTBmZTliYWNkNTgxNDg2NzQ0ZDVhZjEwYjY0ZWFjMjg0MS4uNzlj
NjMyYzk1OWE0N2Y5NDkyYjRlY2ZmN2VlMDE0NGM5MzljMTFmMiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3
IEBACisyMDE2LTA3LTIzICBDb21taXQgUXVldWUgIDxjb21taXQtcXVldWVAd2Via2l0Lm9yZz4K
KworICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMjAzNjQxLgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYwMTE2CisKKyAgICAgICAgSXQg
YnJva2UgbWFrZS1iYXNlZCBidWlsZHMgKFJlcXVlc3RlZCBieSB5b3Vlbm4gb24gI3dlYmtpdCku
CisKKyAgICAgICAgUmV2ZXJ0ZWQgY2hhbmdlc2V0OgorCisgICAgICAgICJbRmV0Y2ggQVBJXSBS
ZXF1ZXN0IHNob3VsZCBiZSBjcmVhdGVkIHdpdGggYW55IEhlYWRlcnNJbml0CisgICAgICAgIGRh
dGEiCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTk2
NzIKKyAgICAgICAgaHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvMjAzNjQxCisKIDIw
MTYtMDctMjMgIEZyZWRlcmljIFdhbmcgIDxmd2FuZ0BpZ2FsaWEuY29tPgogCiAgICAgICAgIFJl
c2V0IGZvbnQtc3R5bGUgb24gdGhlIDxtYXRoPiBlbGVtZW50CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0No
YW5nZUxvZwppbmRleCBlODZmNTMxMGEyYTAzNWViZTgxOTg5YWE5MDM1YzkxMGU2M2E3YmQ2Li5j
NTdlMTJmZDEyZjdkOWVlYzgyMzZjZmY2ZDY3YzBlNmQ4MGQxNjEyIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxNi0wNy0yMyAgQ29tbWl0IFF1ZXVl
ICA8Y29tbWl0LXF1ZXVlQHdlYmtpdC5vcmc+CisKKyAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGlu
ZyBvdXQgcjIwMzY0MS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE2MDExNgorCisgICAgICAgIEl0IGJyb2tlIG1ha2UtYmFzZWQgYnVpbGRzIChSZXF1
ZXN0ZWQgYnkgeW91ZW5uIG9uICN3ZWJraXQpLgorCisgICAgICAgIFJldmVydGVkIGNoYW5nZXNl
dDoKKworICAgICAgICAiW0ZldGNoIEFQSV0gUmVxdWVzdCBzaG91bGQgYmUgY3JlYXRlZCB3aXRo
IGFueSBIZWFkZXJzSW5pdAorICAgICAgICBkYXRhIgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU5NjcyCisgICAgICAgIGh0dHA6Ly90cmFjLndlYmtp
dC5vcmcvY2hhbmdlc2V0LzIwMzY0MQorCiAyMDE2LTA3LTIzICBZb3Vlbm4gRmFibGV0ICA8eW91
ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBbRmV0Y2ggQVBJXSBSZXF1ZXN0IHNob3VsZCBiZSBj
cmVhdGVkIHdpdGggYW55IEhlYWRlcnNJbml0IGRhdGEKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvYXBpL2NyZWRlbnRpYWxzL2F1
dGhlbnRpY2F0aW9uLWJhc2ljLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvYXBpL2NyZWRlbnRpYWxzL2F1dGhlbnRpY2F0aW9u
LWJhc2ljLWV4cGVjdGVkLnR4dAppbmRleCA1M2ZhMDY1ZGRiMTRiMTc4MTVkOGQxODY5OTQ2YTA3
MjkxOTAxODhmLi4xMzdmNzkwYWZhYTIyMTgwYzBhYjVmMTY0NmU0ZDhiODI1ZmM3MTA5IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNo
L2FwaS9jcmVkZW50aWFscy9hdXRoZW50aWNhdGlvbi1iYXNpYy1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkvY3Jl
ZGVudGlhbHMvYXV0aGVudGljYXRpb24tYmFzaWMtZXhwZWN0ZWQudHh0CkBAIC0xLDUgKzEsOCBA
QAorbG9jYWxob3N0Ojg4MDAgLSBkaWRSZWNlaXZlQXV0aGVudGljYXRpb25DaGFsbGVuZ2UgLSBT
aW11bGF0aW5nIGNhbmNlbGxlZCBhdXRoZW50aWNhdGlvbiBzaGVldAorbG9jYWxob3N0Ojg4MDAg
LSBkaWRSZWNlaXZlQXV0aGVudGljYXRpb25DaGFsbGVuZ2UgLSBTaW11bGF0aW5nIGNhbmNlbGxl
ZCBhdXRoZW50aWNhdGlvbiBzaGVldAorbG9jYWxob3N0Ojg4MDAgLSBkaWRSZWNlaXZlQXV0aGVu
dGljYXRpb25DaGFsbGVuZ2UgLSBTaW11bGF0aW5nIGNhbmNlbGxlZCBhdXRoZW50aWNhdGlvbiBz
aGVldAogCi1QQVNTIFVzZXItYWRkZWQgQXV0aG9yaXphdGlvbiBoZWFkZXIgd2l0aCBpbmNsdWRl
IG1vZGUgCi1QQVNTIFVzZXItYWRkZWQgQXV0aG9yaXphdGlvbiBoZWFkZXIgd2l0aCBzYW1lLW9y
aWdpbiBtb2RlIAotUEFTUyBVc2VyLWFkZGVkIEF1dGhvcml6YXRpb24gaGVhZGVyIHdpdGggb21p
dCBtb2RlIAorRkFJTCBVc2VyLWFkZGVkIEF1dGhvcml6YXRpb24gaGVhZGVyIHdpdGggaW5jbHVk
ZSBtb2RlIGFzc2VydF9lcXVhbHM6IEhUVFAgc3RhdHVzIGlzIDIwMCBleHBlY3RlZCAyMDAgYnV0
IGdvdCA0MDEKK0ZBSUwgVXNlci1hZGRlZCBBdXRob3JpemF0aW9uIGhlYWRlciB3aXRoIHNhbWUt
b3JpZ2luIG1vZGUgYXNzZXJ0X2VxdWFsczogSFRUUCBzdGF0dXMgaXMgMjAwIGV4cGVjdGVkIDIw
MCBidXQgZ290IDQwMQorRkFJTCBVc2VyLWFkZGVkIEF1dGhvcml6YXRpb24gaGVhZGVyIHdpdGgg
b21pdCBtb2RlIGFzc2VydF9lcXVhbHM6IEhUVFAgc3RhdHVzIGlzIDIwMCBleHBlY3RlZCAyMDAg
YnV0IGdvdCA0MDEKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkvcmVxdWVzdC9yZXF1ZXN0LWhlYWRlcnMtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9h
cGkvcmVxdWVzdC9yZXF1ZXN0LWhlYWRlcnMtZXhwZWN0ZWQudHh0CmluZGV4IDkzOGUzNGIwZTQ4
NDU5ZTc3ODQ1ZTBlYzRhMzAwYTgzN2QwNzM1ZmUuLmUyMWRjNGU3MzIxZGUyNmM3ZmY5MWEwZDZl
NDJlMmM5YmVkNjAxYzEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvZmV0Y2gvYXBpL3JlcXVlc3QvcmVxdWVzdC1oZWFkZXJzLWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Zl
dGNoL2FwaS9yZXF1ZXN0L3JlcXVlc3QtaGVhZGVycy1leHBlY3RlZC50eHQKQEAgLTUzLDUgKzUz
LDQgQEAgUEFTUyBSZXF1ZXN0IHNob3VsZCBnZXQgaXRzIGNvbnRlbnQtdHlwZSBmcm9tIHRoZSBp
bml0IHJlcXVlc3QKIFBBU1MgUmVxdWVzdCBzaG91bGQgbm90IGdldCBpdHMgY29udGVudC10eXBl
IGZyb20gdGhlIGluaXQgcmVxdWVzdCBpZiBpbml0IGhlYWRlcnMgYXJlIHByb3ZpZGVkIAogUEFT
UyBSZXF1ZXN0IHNob3VsZCBnZXQgaXRzIGNvbnRlbnQtdHlwZSBmcm9tIHRoZSBib2R5IGlmIG5v
bmUgaXMgcHJvdmlkZWQgCiBQQVNTIFJlcXVlc3Qgc2hvdWxkIGdldCBpdHMgY29udGVudC10eXBl
IGZyb20gaW5pdCBoZWFkZXJzIGlmIG9uZSBpcyBwcm92aWRlZCAKLVBBU1MgVGVzdGluZyByZXF1
ZXN0IGhlYWRlciBjcmVhdGlvbnMgd2l0aCB2YXJpb3VzIG9iamVjdHMgCiAKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvYXBpL3Jl
cXVlc3QvcmVxdWVzdC1oZWFkZXJzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9yZXF1ZXN0L3JlcXVlc3QtaGVhZGVycy5odG1sCmlu
ZGV4IDljNGYzNjc0YjU1YWJiZTEzOWQ4ZGYxNjZkMmVlYjk5MzM5ZTY3NjAuLjViZGQ2MDFjYzQ2
NmFmMDkyY2QzMGY1ZDFjYzIxMDlhOGZhOTNmNDIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvYXBpL3JlcXVlc3QvcmVxdWVzdC1o
ZWFkZXJzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9mZXRjaC9hcGkvcmVxdWVzdC9yZXF1ZXN0LWhlYWRlcnMuaHRtbApAQCAtMTQ1LDIyICsx
NDUsNiBAQAogICAgICAgICBhc3NlcnRfZXF1YWxzKHJlcXVlc3QuaGVhZGVycy5nZXQoIkNvbnRl
bnQtVHlwZSIpLCAicG90YXRvIik7CiAgICAgICB9LCAiUmVxdWVzdCBzaG91bGQgZ2V0IGl0cyBj
b250ZW50LXR5cGUgZnJvbSBpbml0IGhlYWRlcnMgaWYgb25lIGlzIHByb3ZpZGVkIik7CiAKLSAg
ICAgIHRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHZhciBhcnJheSA9IFtbImhlbGxvIiwgIndv
cmxkQUhIIl1dOwotICAgICAgICB2YXIgb2JqZWN0ID0geyJoZWxsbyI6ICd3b3JsZE9PSCd9Owot
ICAgICAgICB2YXIgaGVhZGVycyA9IG5ldyBIZWFkZXJzKGFycmF5KTsKLQotICAgICAgICBhc3Nl
cnRfZXF1YWxzKGhlYWRlcnMuZ2V0KCJoZWxsbyIpLCAid29ybGRBSEgiKTsKLQotICAgICAgICB2
YXIgcmVxdWVzdDEgPSBuZXcgUmVxdWVzdCgiIiwgeyJoZWFkZXJzIjogaGVhZGVyc30pOwotICAg
ICAgICB2YXIgcmVxdWVzdDIgPSBuZXcgUmVxdWVzdCgiIiwgeyJoZWFkZXJzIjogYXJyYXl9KTsK
LSAgICAgICAgdmFyIHJlcXVlc3QzID0gbmV3IFJlcXVlc3QoIiIsIHsiaGVhZGVycyI6IG9iamVj
dH0pOwotCi0gICAgICAgIGFzc2VydF9lcXVhbHMocmVxdWVzdDEuaGVhZGVycy5nZXQoImhlbGxv
IiksICJ3b3JsZEFISCIpOwotICAgICAgICBhc3NlcnRfZXF1YWxzKHJlcXVlc3QyLmhlYWRlcnMu
Z2V0KCJoZWxsbyIpLCAid29ybGRBSEgiKTsKLSAgICAgICAgYXNzZXJ0X2VxdWFscyhyZXF1ZXN0
My5oZWFkZXJzLmdldCgiaGVsbG8iKSwgIndvcmxkT09IIik7Ci0gICAgICB9LCAiVGVzdGluZyBy
ZXF1ZXN0IGhlYWRlciBjcmVhdGlvbnMgd2l0aCB2YXJpb3VzIG9iamVjdHMiKTsKLQogICAgIDwv
c2NyaXB0PgogICA8L2JvZHk+CiA8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMtd2sxL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvYXBpL2Ny
ZWRlbnRpYWxzL2F1dGhlbnRpY2F0aW9uLWJhc2ljLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy13azEvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9h
cGkvY3JlZGVudGlhbHMvYXV0aGVudGljYXRpb24tYmFzaWMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjc0YTFkNDQzMDliZTEyZGE5MDJhYTI1YjkwNDQ2YzRlZDM1OWVkMTQKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvZmV0Y2gvYXBpL2NyZWRlbnRpYWxzL2F1dGhlbnRpY2F0aW9uLWJhc2ljLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDggQEAKK2h0dHA6Ly9sb2NhbGhvc3Q6ODgwMC9mZXRjaC9h
cGkvcmVzb3VyY2VzL2F1dGhlbnRpY2F0aW9uLnB5P3JlYWxtPXRlc3QgLSBkaWRSZWNlaXZlQXV0
aGVudGljYXRpb25DaGFsbGVuZ2UgLSBTaW11bGF0aW5nIGNhbmNlbGxlZCBhdXRoZW50aWNhdGlv
biBzaGVldAoraHR0cDovL2xvY2FsaG9zdDo4ODAwL2ZldGNoL2FwaS9yZXNvdXJjZXMvYXV0aGVu
dGljYXRpb24ucHk/cmVhbG09dGVzdCAtIGRpZFJlY2VpdmVBdXRoZW50aWNhdGlvbkNoYWxsZW5n
ZSAtIFNpbXVsYXRpbmcgY2FuY2VsbGVkIGF1dGhlbnRpY2F0aW9uIHNoZWV0CitodHRwOi8vbG9j
YWxob3N0Ojg4MDAvZmV0Y2gvYXBpL3Jlc291cmNlcy9hdXRoZW50aWNhdGlvbi5weT9yZWFsbT10
ZXN0IC0gZGlkUmVjZWl2ZUF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlIC0gU2ltdWxhdGluZyBjYW5j
ZWxsZWQgYXV0aGVudGljYXRpb24gc2hlZXQKKworRkFJTCBVc2VyLWFkZGVkIEF1dGhvcml6YXRp
b24gaGVhZGVyIHdpdGggaW5jbHVkZSBtb2RlIGFzc2VydF9lcXVhbHM6IEhUVFAgc3RhdHVzIGlz
IDIwMCBleHBlY3RlZCAyMDAgYnV0IGdvdCA0MDEKK0ZBSUwgVXNlci1hZGRlZCBBdXRob3JpemF0
aW9uIGhlYWRlciB3aXRoIHNhbWUtb3JpZ2luIG1vZGUgYXNzZXJ0X2VxdWFsczogSFRUUCBzdGF0
dXMgaXMgMjAwIGV4cGVjdGVkIDIwMCBidXQgZ290IDQwMQorRkFJTCBVc2VyLWFkZGVkIEF1dGhv
cml6YXRpb24gaGVhZGVyIHdpdGggb21pdCBtb2RlIGFzc2VydF9lcXVhbHM6IEhUVFAgc3RhdHVz
IGlzIDIwMCBleHBlY3RlZCAyMDAgYnV0IGdvdCA0MDEKKwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>