<?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>297142</bug_id>
          
          <creation_ts>2025-08-08 14:37:00 -0700</creation_ts>
          <short_desc>REGRESSION(296992@main): Relanding for MarkedBlock::sweep improvement</short_desc>
          <delta_ts>2025-08-12 17:05:28 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>295433</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Commit Bot">commit-queue</reporter>
          <assigned_to name="WebKit Commit Bot">commit-queue</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>2135295</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2025-08-08 14:37:00 -0700</bug_when>
    <thetext>https://commits.webkit.org/296992@main introduced a regression:
Relanding for MarkedBlock::sweep improvement

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>2135296</commentid>
    <comment_count>1</comment_count>
      <attachid>476313</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2025-08-08 14:37:04 -0700</bug_when>
    <thetext>Created attachment 476313
REVERT of 296992@main

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

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

  webkit-patch land-attachment ATTACHMENT_ID

where ATTACHMENT_ID is the ID of this attachment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2136059</commentid>
    <comment_count>2</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2025-08-12 17:05:00 -0700</bug_when>
    <thetext>Committed 298594@main (adf3bdfd40db): &lt;https://commits.webkit.org/298594@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 476313.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2136061</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2025-08-12 17:05:28 -0700</bug_when>
    <thetext>&lt;rdar://problem/158176693&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>476313</attachid>
            <date>2025-08-08 14:37:04 -0700</date>
            <delta_ts>2025-08-12 17:05:00 -0700</delta_ts>
            <desc>REVERT of 296992@main</desc>
            <filename>bug-297142-20250808213703.patch</filename>
            <type>text/plain</type>
            <size>18511</size>
            <attacher name="WebKit Commit Bot">commit-queue</attacher>
            
              <data encoding="base64">RnJvbSA2OGIxMDAyZjcyMGI0ZmUwZDNlODc1YTFkZTkyODdhZTVkZjgyOGRhIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBDb21taXQgUXVldWUgPGNvbW1pdC1xdWV1ZUB3ZWJraXQub3Jn
PgpEYXRlOiBGcmksIDggQXVnIDIwMjUgMjE6Mzc6MDEgKzAwMDAKU3ViamVjdDogW1BBVENIXSBV
bnJldmlld2VkLCByZXZlcnRpbmcgMjk2OTkyQG1haW4uCiBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9Mjk3MTQyCgpSZWxhbmRpbmcgZm9yIE1hcmtlZEJsb2NrOjpzd2Vl
cCBpbXByb3ZlbWVudAoKUmV2ZXJ0ZWQgY2hhbmdlc2V0OgoKIlVucmV2aWV3ZWQsIHJldmVydGlu
ZyAyOTY4MTZAbWFpbi4iCmh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
OTU0MzMKaHR0cHM6Ly9jb21taXRzLndlYmtpdC5vcmcvMjk2OTkyQG1haW4KLS0tCiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaGVhcC9NYXJrZWRCbG9jay5jcHAgICAgfCAgIDUgKy0KIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9oZWFwL01hcmtlZEJsb2NrLmggICAgICB8ICAgMiArLQogLi4uL0phdmFT
Y3JpcHRDb3JlL2hlYXAvTWFya2VkQmxvY2tJbmxpbmVzLmggIHwgMjIwICsrKysrKystLS0tLS0t
LS0tLQogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3B0aW9uc0xpc3QuaCAgIHwgICAx
IC0KIDQgZmlsZXMgY2hhbmdlZCwgOTMgaW5zZXJ0aW9ucygrKSwgMTM1IGRlbGV0aW9ucygtKQoK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL01hcmtlZEJsb2NrLmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL01hcmtlZEJsb2NrLmNwcAppbmRleCA5ZDQyZTA4
Mzg2MDAuLmY4MjgxYjYwMjQ4ZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2hl
YXAvTWFya2VkQmxvY2suY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL01hcmtl
ZEJsb2NrLmNwcApAQCAtMTcwLDYgKzE3MCw3IEBAIHZvaWQgTWFya2VkQmxvY2s6OkhhbmRsZTo6
bGFzdENoYW5jZVRvRmluYWxpemUoKQogICAgIG1fZGlyZWN0b3J5LT5hc3NlcnRTd2VlcGVySXNT
dXNwZW5kZWQoKTsKICAgICBtX2RpcmVjdG9yeS0+c2V0SXNBbGxvY2F0ZWQodGhpcywgZmFsc2Up
OwogICAgIG1fZGlyZWN0b3J5LT5zZXRJc0Rlc3RydWN0aWJsZSh0aGlzLCB0cnVlKTsKKyAgICBt
X2RpcmVjdG9yeS0+c2V0SXNVbnN3ZXB0KHRoaXMsIHRydWUpOwogICAgIGJsb2NrSGVhZGVyKCku
bV9tYXJrcy5jbGVhckFsbCgpOwogICAgIGJsb2NrKCkuY2xlYXJIYXNBbnlNYXJrZWQoKTsKICAg
ICBibG9ja0hlYWRlcigpLm1fbWFya2luZ1ZlcnNpb24gPSBoZWFwKCktPm9iamVjdFNwYWNlKCku
bWFya2luZ1ZlcnNpb24oKTsKQEAgLTQ4MywxMiArNDg0LDEyIEBAIHZvaWQgTWFya2VkQmxvY2s6
OkhhbmRsZTo6c3dlZXAoRnJlZUxpc3QqIGZyZWVMaXN0KQogICAgICAgICByZXR1cm47CiAgICAg
fQogCi0gICAgaWYgKG1faXNGcmVlTGlzdGVkKSB7CisgICAgaWYgKG1faXNGcmVlTGlzdGVkKSBb
W3VubGlrZWx5XV0gewogICAgICAgICBkYXRhTG9nKCJGQVRBTDogIiwgUmF3UG9pbnRlcih0aGlz
KSwgIi0+c3dlZXA6IGJsb2NrIGlzIGZyZWUtbGlzdGVkLlxuIik7CiAgICAgICAgIFJFTEVBU0Vf
QVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgfQogICAgIAotICAgIGlmIChpc0FsbG9jYXRlZCgp
KSB7CisgICAgaWYgKGlzQWxsb2NhdGVkKCkpIFtbdW5saWtlbHldXSB7CiAgICAgICAgIGRhdGFM
b2coIkZBVEFMOiAiLCBSYXdQb2ludGVyKHRoaXMpLCAiLT5zd2VlcDogYmxvY2sgaXMgYWxsb2Nh
dGVkLlxuIik7CiAgICAgICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgfQpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvTWFya2VkQmxvY2suaCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL01hcmtlZEJsb2NrLmgKaW5kZXggZDk4ODhmNGQ3ZmZm
Li5iZTkwOGFhMWY5ZjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL01h
cmtlZEJsb2NrLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvTWFya2VkQmxvY2su
aApAQCAtMjIwLDcgKzIyMCw3IEBAIHB1YmxpYzoKICAgICBwcml2YXRlOgogICAgICAgICBIYW5k
bGUoSGVhcCYsIEFsaWduZWRNZW1vcnlBbGxvY2F0b3IqLCB2b2lkKik7CiAgICAgICAgIAotICAg
ICAgICBlbnVtIFN3ZWVwRGVzdHJ1Y3Rpb25Nb2RlIHsgQmxvY2tIYXNOb0Rlc3RydWN0b3JzLCBC
bG9ja0hhc0Rlc3RydWN0b3JzLCBCbG9ja0hhc0Rlc3RydWN0b3JzQW5kQ29sbGVjdG9ySXNSdW5u
aW5nIH07CisgICAgICAgIGVudW0gU3dlZXBEZXN0cnVjdGlvbk1vZGUgeyBCbG9ja0hhc05vRGVz
dHJ1Y3RvcnMsIEJsb2NrSGFzRGVzdHJ1Y3RvcnMgfTsKICAgICAgICAgZW51bSBTY3JpYmJsZU1v
ZGUgeyBEb250U2NyaWJibGUsIFNjcmliYmxlIH07CiAgICAgICAgIGVudW0gRW1wdHlNb2RlIHsg
SXNFbXB0eSwgTm90RW1wdHkgfTsKICAgICAgICAgZW51bSBOZXdseUFsbG9jYXRlZE1vZGUgeyBI
YXNOZXdseUFsbG9jYXRlZCwgRG9lc05vdEhhdmVOZXdseUFsbG9jYXRlZCB9OwpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvTWFya2VkQmxvY2tJbmxpbmVzLmggYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaGVhcC9NYXJrZWRCbG9ja0lubGluZXMuaAppbmRleCA0ZTBiYjJk
ZDZkMDguLjlmNzhmMzljNzdkOCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2hl
YXAvTWFya2VkQmxvY2tJbmxpbmVzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAv
TWFya2VkQmxvY2tJbmxpbmVzLmgKQEAgLTIxNyw3ICsyMTcsNiBAQCBpbmxpbmUgYm9vbCBNYXJr
ZWRCbG9jazo6SGFuZGxlOjphcmVNYXJrc1N0YWxlRm9yU3dlZXAoKQogLy8gc3dlZXBNb2RlID09
IFN3ZWVwVG9GcmVlTGlzdAogLy8gc2NyaWJibGVNb2RlID09IERvbnRTY3JpYmJsZQogLy8gbmV3
bHlBbGxvY2F0ZWRNb2RlID09IERvZXNOb3RIYXZlTmV3bHlBbGxvY2F0ZWQKLS8vIGRlc3RydWN0
aW9uTW9kZSAhPSBCbG9ja0hhc0Rlc3RydWN0b3JzQW5kQ29sbGVjdG9ySXNSdW5uaW5nCiAvLwog
Ly8gZW1wdHlNb2RlID0gSXNFbXB0eQogLy8gICAgIGRlc3RydWN0aW9uTW9kZSA9IERvZXNOb3RO
ZWVkRGVzdHJ1Y3Rpb24KQEAgLTIzMywzMCArMjMyLDEwIEBAIGlubGluZSBib29sIE1hcmtlZEJs
b2NrOjpIYW5kbGU6OmFyZU1hcmtzU3RhbGVGb3JTd2VlcCgpCiAvLwogLy8gT25seSB0aGUgRG9l
c05vdE5lZWREZXN0cnVjdGlvbiBvbmUgc2hvdWxkIGJlIHNwZWNpYWxpemVkIGJ5IE1hcmtlZEJs
b2NrLgogCi10ZW1wbGF0ZTxzaXplX3Qgc3RvcmFnZVNpemUsIGJvb2wgYWx3YXlzRml0c09uU3Rh
Y2s+Ci1jbGFzcyBEZWFkQ2VsbFN0b3JhZ2UgewotcHVibGljOgotICAgIERlYWRDZWxsU3RvcmFn
ZSgpID0gZGVmYXVsdDsKLSAgICB2b2lkIGFwcGVuZChNYXJrZWRCbG9jazo6QXRvbU51bWJlclR5
cGUgY2VsbCkgeyByZXR1cm4gbV9kZWFkQ2VsbHMuYXBwZW5kKGNlbGwpOyB9Ci0gICAgc3RkOjpz
cGFuPGNvbnN0IE1hcmtlZEJsb2NrOjpBdG9tTnVtYmVyVHlwZT4gc3BhbigpIGNvbnN0IExJRkVU
SU1FX0JPVU5EIHsgcmV0dXJuIG1fZGVhZENlbGxzLnNwYW4oKTsgfQotcHJpdmF0ZToKLSAgICBW
ZWN0b3I8TWFya2VkQmxvY2s6OkF0b21OdW1iZXJUeXBlLCBzdG9yYWdlU2l6ZT4gbV9kZWFkQ2Vs
bHM7Ci19OwotCi10ZW1wbGF0ZTxzaXplX3Qgc3RvcmFnZVNpemU+Ci1jbGFzcyBEZWFkQ2VsbFN0
b3JhZ2U8c3RvcmFnZVNpemUsIHRydWU+IHsKLXB1YmxpYzoKLSAgICBEZWFkQ2VsbFN0b3JhZ2Uo
KSA9IGRlZmF1bHQ7Ci0gICAgdm9pZCBhcHBlbmQoTWFya2VkQmxvY2s6OkF0b21OdW1iZXJUeXBl
IGNlbGwpIHsgbV9kZWFkQ2VsbHNbbV9zaXplKytdID0gY2VsbDsgfQotICAgIHN0ZDo6c3Bhbjxj
b25zdCBNYXJrZWRCbG9jazo6QXRvbU51bWJlclR5cGU+IHNwYW4oKSBjb25zdCB7IHJldHVybiB7
IG1fZGVhZENlbGxzLmRhdGEoKSwgbV9zaXplIH07IH0KLXByaXZhdGU6Ci0gICAgc3RkOjphcnJh
eTxNYXJrZWRCbG9jazo6QXRvbU51bWJlclR5cGUsIHN0b3JhZ2VTaXplPiBtX2RlYWRDZWxsczsK
LSAgICBzaXplX3QgbV9zaXplIHsgMCB9OwotfTsKLQogdGVtcGxhdGU8Ym9vbCBzcGVjaWFsaXpl
LCBNYXJrZWRCbG9jazo6SGFuZGxlOjpFbXB0eU1vZGUgc3BlY2lhbGl6ZWRFbXB0eU1vZGUsIE1h
cmtlZEJsb2NrOjpIYW5kbGU6OlN3ZWVwTW9kZSBzcGVjaWFsaXplZFN3ZWVwTW9kZSwgTWFya2Vk
QmxvY2s6OkhhbmRsZTo6U3dlZXBEZXN0cnVjdGlvbk1vZGUgc3BlY2lhbGl6ZWREZXN0cnVjdGlv
bk1vZGUsIE1hcmtlZEJsb2NrOjpIYW5kbGU6OlNjcmliYmxlTW9kZSBzcGVjaWFsaXplZFNjcmli
YmxlTW9kZSwgTWFya2VkQmxvY2s6OkhhbmRsZTo6TmV3bHlBbGxvY2F0ZWRNb2RlIHNwZWNpYWxp
emVkTmV3bHlBbGxvY2F0ZWRNb2RlLCBNYXJrZWRCbG9jazo6SGFuZGxlOjpNYXJrc01vZGUgc3Bl
Y2lhbGl6ZWRNYXJrc01vZGUsIHR5cGVuYW1lIERlc3Ryb3lGdW5jPgogdm9pZCBNYXJrZWRCbG9j
azo6SGFuZGxlOjpzcGVjaWFsaXplZFN3ZWVwKEZyZWVMaXN0KiBmcmVlTGlzdCwgTWFya2VkQmxv
Y2s6OkhhbmRsZTo6RW1wdHlNb2RlIGVtcHR5TW9kZSwgTWFya2VkQmxvY2s6OkhhbmRsZTo6U3dl
ZXBNb2RlIHN3ZWVwTW9kZSwgTWFya2VkQmxvY2s6OkhhbmRsZTo6U3dlZXBEZXN0cnVjdGlvbk1v
ZGUgZGVzdHJ1Y3Rpb25Nb2RlLCBNYXJrZWRCbG9jazo6SGFuZGxlOjpTY3JpYmJsZU1vZGUgc2Ny
aWJibGVNb2RlLCBNYXJrZWRCbG9jazo6SGFuZGxlOjpOZXdseUFsbG9jYXRlZE1vZGUgbmV3bHlB
bGxvY2F0ZWRNb2RlLCBNYXJrZWRCbG9jazo6SGFuZGxlOjpNYXJrc01vZGUgbWFya3NNb2RlLCBj
b25zdCBEZXN0cm95RnVuYyYgZGVzdHJveUZ1bmMpCiB7CisgICAgY29uc3RleHByIGJvb2wgdmVy
Ym9zZSA9IGZhbHNlOwogICAgIGlmIChzcGVjaWFsaXplKSB7CiAgICAgICAgIGVtcHR5TW9kZSA9
IHNwZWNpYWxpemVkRW1wdHlNb2RlOwogICAgICAgICBzd2VlcE1vZGUgPSBzcGVjaWFsaXplZFN3
ZWVwTW9kZTsKQEAgLTI3MywxMyArMjUyLDE3IEBAIHZvaWQgTWFya2VkQmxvY2s6OkhhbmRsZTo6
c3BlY2lhbGl6ZWRTd2VlcChGcmVlTGlzdCogZnJlZUxpc3QsIE1hcmtlZEJsb2NrOjpIYW5kCiAg
ICAgTWFya2VkQmxvY2smIGJsb2NrID0gdGhpcy0+YmxvY2soKTsKICAgICBNYXJrZWRCbG9jazo6
SGVhZGVyJiBoZWFkZXIgPSBibG9jay5oZWFkZXIoKTsKIAotICAgIGlmIChmYWxzZSkKLSAgICAg
ICAgZGF0YUxvZyhSYXdQb2ludGVyKHRoaXMpLCAiLyIsIFJhd1BvaW50ZXIoJmJsb2NrKSwgIjog
TWFya2VkQmxvY2s6OkhhbmRsZTo6c3BlY2lhbGl6ZWRTd2VlcCFcbiIpOworICAgIGRhdGFMb2dM
bklmKHZlcmJvc2UsIFJhd1BvaW50ZXIodGhpcyksICIvIiwgUmF3UG9pbnRlcigmYmxvY2spLCAi
OiBNYXJrZWRCbG9jazo6SGFuZGxlOjpzcGVjaWFsaXplZFN3ZWVwISIpOwogCiAgICAgdW5zaWdu
ZWQgY2VsbFNpemUgPSB0aGlzLT5jZWxsU2l6ZSgpOworICAgIGNoYXIqIHBheWxvYWRFbmQgPSBz
dGQ6OmJpdF9jYXN0PGNoYXIqPihibG9jay5hdG9tcygpICsgbnVtYmVyT2ZBdG9tcyk7CisgICAg
Y2hhciogcGF5bG9hZEJlZ2luID0gc3RkOjpiaXRfY2FzdDxjaGFyKj4oYmxvY2suYXRvbXMoKSAr
IG1fc3RhcnRBdG9tKTsKKyAgICBSRUxFQVNFX0FTU0VSVChzdGF0aWNfY2FzdDxzaXplX3Q+KHBh
eWxvYWRFbmQgLSBwYXlsb2FkQmVnaW4pIDw9IHBheWxvYWRTaXplLCBwYXlsb2FkQmVnaW4sIHBh
eWxvYWRFbmQsICZibG9jaywgY2VsbFNpemUsIG1fc3RhcnRBdG9tKTsKIAogICAgIFZNJiB2bSA9
IHRoaXMtPnZtKCk7CisgICAgYm9vbCBpc01hcmtpbmcgPSBzcGFjZSgpLT5pc01hcmtpbmcoKTsK
ICAgICB1aW50NjRfdCBzZWNyZXQgPSB2bS5oZWFwUmFuZG9tKCkuZ2V0VWludDY0KCk7CisKICAg
ICBhdXRvIGRlc3Ryb3kgPSBbJl0gKHZvaWQqIGNlbGwpIHsKICAgICAgICAgSlNDZWxsKiBqc0Nl
bGwgPSBzdGF0aWNfY2FzdDxKU0NlbGwqPihjZWxsKTsKICAgICAgICAgaWYgKCFqc0NlbGwtPmlz
WmFwcGVkKCkpIHsKQEAgLTI5MCw2ICsyNzMsNyBAQCB2b2lkIE1hcmtlZEJsb2NrOjpIYW5kbGU6
OnNwZWNpYWxpemVkU3dlZXAoRnJlZUxpc3QqIGZyZWVMaXN0LCBNYXJrZWRCbG9jazo6SGFuZAog
CiAgICAgYXV0byBzZXRCaXRzID0gWyZdIChib29sIGlzRW1wdHkpIEFMV0FZU19JTkxJTkVfTEFN
QkRBIHsKICAgICAgICAgTG9ja2VyIGxvY2tlciB7IG1fZGlyZWN0b3J5LT5iaXR2ZWN0b3JMb2Nr
KCkgfTsKKyAgICAgICAgYm9vbCB3YXNVbnN3ZXB0ID0gbV9kaXJlY3RvcnktPmlzVW5zd2VwdCh0
aGlzKTsKICAgICAgICAgbV9kaXJlY3RvcnktPnNldElzVW5zd2VwdCh0aGlzLCBmYWxzZSk7CiAg
ICAgICAgIG1fZGlyZWN0b3J5LT5zZXRJc0Rlc3RydWN0aWJsZSh0aGlzLCBtX2F0dHJpYnV0ZXMu
ZGVzdHJ1Y3Rpb24gPT0gRGVzdHJ1Y3Rpb25Nb2RlOjpNYXlOZWVkRGVzdHJ1Y3Rpb24gJiYgZGVz
dHJ1Y3Rpb25Nb2RlICE9IEJsb2NrSGFzTm9EZXN0cnVjdG9ycyAmJiAhaXNFbXB0eSAmJiBtX2Rp
cmVjdG9yeS0+aXNEZXN0cnVjdGlibGUodGhpcykpOwogICAgICAgICBtX2RpcmVjdG9yeS0+c2V0
SXNFbXB0eSh0aGlzLCBmYWxzZSk7CkBAIC0yOTcsMTUgKzI4MSwxMiBAQCB2b2lkIE1hcmtlZEJs
b2NrOjpIYW5kbGU6OnNwZWNpYWxpemVkU3dlZXAoRnJlZUxpc3QqIGZyZWVMaXN0LCBNYXJrZWRC
bG9jazo6SGFuZAogICAgICAgICAgICAgbV9pc0ZyZWVMaXN0ZWQgPSB0cnVlOwogICAgICAgICBl
bHNlIGlmIChpc0VtcHR5KQogICAgICAgICAgICAgbV9kaXJlY3RvcnktPnNldElzRW1wdHkodGhp
cywgdHJ1ZSk7CisgICAgICAgIHJldHVybiB3YXNVbnN3ZXB0OwogICAgIH07Ci0gICAgVU5VU0VE
X1BBUkFNKHNldEJpdHMpOwotCi0gICAgaWYgKE9wdGlvbnM6OnVzZUJ1bXBBbGxvY2F0b3IoKQot
ICAgICAgICAmJiBlbXB0eU1vZGUgPT0gSXNFbXB0eQotICAgICAgICAmJiBuZXdseUFsbG9jYXRl
ZE1vZGUgPT0gRG9lc05vdEhhdmVOZXdseUFsbG9jYXRlZCkgewogCisgICAgaWYgKGVtcHR5TW9k
ZSA9PSBJc0VtcHR5IHx8IChtYXJrc01vZGUgIT0gTWFya3NOb3RTdGFsZSAmJiBuZXdseUFsbG9j
YXRlZE1vZGUgIT0gSGFzTmV3bHlBbGxvY2F0ZWQpKSB7CiAgICAgICAgIC8vIFRoaXMgaXMgYW4g
aW5jcmVkaWJseSBwb3dlcmZ1bCBhc3NlcnRpb24gdGhhdCBjaGVja3MgdGhlIHNhbml0eSBvZiBv
dXIgYmxvY2sgYml0cy4KLSAgICAgICAgaWYgKG1hcmtzTW9kZSA9PSBNYXJrc05vdFN0YWxlICYm
ICFoZWFkZXIubV9tYXJrcy5pc0VtcHR5KCkpIHsKKyAgICAgICAgaWYgKG1hcmtzTW9kZSA9PSBN
YXJrc05vdFN0YWxlICYmICFoZWFkZXIubV9tYXJrcy5pc0VtcHR5KCkpIFtbdW5saWtlbHldXSB7
CiAgICAgICAgICAgICBXVEY6OmRhdGFGaWxlKCkuYXRvbWljYWxseSgKICAgICAgICAgICAgICAg
ICBbJl0gKFByaW50U3RyZWFtJiBvdXQpIHsKICAgICAgICAgICAgICAgICAgICAgb3V0LnByaW50
KCJCbG9jayAiLCBSYXdQb2ludGVyKCZibG9jayksICI6IG1hcmtzIG5vdCBlbXB0eSFcbiIpOwpA
QCAtMzE2LDE2ICsyOTcsMTkgQEAgdm9pZCBNYXJrZWRCbG9jazo6SGFuZGxlOjpzcGVjaWFsaXpl
ZFN3ZWVwKEZyZWVMaXN0KiBmcmVlTGlzdCwgTWFya2VkQmxvY2s6OkhhbmQKICAgICAgICAgICAg
ICAgICB9KTsKICAgICAgICAgfQogCi0gICAgICAgIGNoYXIqIHBheWxvYWRFbmQgPSBzdGQ6OmJp
dF9jYXN0PGNoYXIqPihibG9jay5hdG9tcygpICsgbnVtYmVyT2ZBdG9tcyk7Ci0gICAgICAgIGNo
YXIqIHBheWxvYWRCZWdpbiA9IHN0ZDo6Yml0X2Nhc3Q8Y2hhcio+KGJsb2NrLmF0b21zKCkgKyBt
X3N0YXJ0QXRvbSk7Ci0gICAgICAgIFJFTEVBU0VfQVNTRVJUKHN0YXRpY19jYXN0PHNpemVfdD4o
cGF5bG9hZEVuZCAtIHBheWxvYWRCZWdpbikgPD0gcGF5bG9hZFNpemUsIHBheWxvYWRCZWdpbiwg
cGF5bG9hZEVuZCwgJmJsb2NrLCBjZWxsU2l6ZSwgbV9zdGFydEF0b20pOworICAgICAgICAvLyBX
ZSBvbmx5IHdhbnQgdG8gZGlzY2FyZCB0aGUgbmV3bHlBbGxvY2F0ZWQgYml0cyBpZiB3ZSdyZSBj
cmVhdGluZyBhIEZyZWVMaXN0LAorICAgICAgICAvLyBvdGhlcndpc2Ugd2Ugd291bGQgbG9zZSBp
bmZvcm1hdGlvbiBvbiB3aGF0J3MgY3VycmVudGx5IGFsaXZlLgorICAgICAgICBpZiAoc3dlZXBN
b2RlID09IFN3ZWVwVG9GcmVlTGlzdCAmJiBuZXdseUFsbG9jYXRlZE1vZGUgPT0gSGFzTmV3bHlB
bGxvY2F0ZWQpCisgICAgICAgICAgICBoZWFkZXIubV9uZXdseUFsbG9jYXRlZFZlcnNpb24gPSBN
YXJrZWRTcGFjZTo6bnVsbFZlcnNpb247CiAKLSAgICAgICAgc2V0Qml0cyh0cnVlKTsKLSAgICAg
ICAgaWYgKHNwYWNlKCktPmlzTWFya2luZygpKQorICAgICAgICBib29sIHdhc1Vuc3dlcHQgPSBz
ZXRCaXRzKHRydWUpOworICAgICAgICBpZiAoaXNNYXJraW5nKQogICAgICAgICAgICAgaGVhZGVy
Lm1fbG9jay51bmxvY2soKTsKLSAgICAgICAgaWYgKGRlc3RydWN0aW9uTW9kZSAhPSBCbG9ja0hh
c05vRGVzdHJ1Y3RvcnMpIHsKLSAgICAgICAgICAgIGZvciAoY2hhciogY2VsbCA9IHBheWxvYWRC
ZWdpbjsgY2VsbCA8IHBheWxvYWRFbmQ7IGNlbGwgKz0gY2VsbFNpemUpCi0gICAgICAgICAgICAg
ICAgZGVzdHJveShjZWxsKTsKKyAgICAgICAgaWYgKGRlc3RydWN0aW9uTW9kZSA9PSBCbG9ja0hh
c0Rlc3RydWN0b3JzKSB7CisgICAgICAgICAgICBpZiAod2FzVW5zd2VwdCkgeworICAgICAgICAg
ICAgICAgIGZvciAoY2hhciogY2VsbCA9IHBheWxvYWRCZWdpbjsgY2VsbCA8IHBheWxvYWRFbmQ7
IGNlbGwgKz0gY2VsbFNpemUpCisgICAgICAgICAgICAgICAgICAgIGRlc3Ryb3koY2VsbCk7Cisg
ICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICAgICAgaWYgKHN3ZWVwTW9kZSA9PSBTd2VlcFRv
RnJlZUxpc3QpIHsKICAgICAgICAgICAgIGlmIChzY3JpYmJsZU1vZGUgPT0gU2NyaWJibGUpIFtb
dW5saWtlbHldXQpAQCAtMzM0LDEwOCArMzE4LDg1IEBAIHZvaWQgTWFya2VkQmxvY2s6OkhhbmRs
ZTo6c3BlY2lhbGl6ZWRTd2VlcChGcmVlTGlzdCogZnJlZUxpc3QsIE1hcmtlZEJsb2NrOjpIYW5k
CiAgICAgICAgICAgICBpbnRlcnZhbC0+bWFrZUxhc3QocGF5bG9hZEVuZCAtIHBheWxvYWRCZWdp
biwgc2VjcmV0KTsKICAgICAgICAgICAgIGZyZWVMaXN0LT5pbml0aWFsaXplKGludGVydmFsLCBz
ZWNyZXQsIHBheWxvYWRFbmQgLSBwYXlsb2FkQmVnaW4pOwogICAgICAgICB9Ci0gICAgICAgIGlm
IChmYWxzZSkKLSAgICAgICAgICAgIGRhdGFMb2coIlF1aWNrbHkgc3dlcHQgYmxvY2sgIiwgUmF3
UG9pbnRlcih0aGlzKSwgIiB3aXRoIGNlbGwgc2l6ZSAiLCBjZWxsU2l6ZSwgIiBhbmQgYXR0cmli
dXRlcyAiLCBtX2F0dHJpYnV0ZXMsICI6ICIsIHBvaW50ZXJEdW1wKGZyZWVMaXN0KSwgIlxuIik7
CisgICAgICAgIGRhdGFMb2dMbklmKHZlcmJvc2UsICJRdWlja2x5IHN3ZXB0IGJsb2NrICIsIFJh
d1BvaW50ZXIodGhpcyksICIgd2l0aCBjZWxsIHNpemUgIiwgY2VsbFNpemUsICIgYW5kIGF0dHJp
YnV0ZXMgIiwgbV9hdHRyaWJ1dGVzLCAiOiAiLCBwb2ludGVyRHVtcChmcmVlTGlzdCksICIgaXNN
YXJraW5nOiAiLCBpc01hcmtpbmcsICIgc3dlZXBNb2RlOiAiLCBzd2VlcE1vZGUpOwogICAgICAg
ICByZXR1cm47CiAgICAgfQogCi0gICAgLy8gVGhpcyBwcm9kdWNlcyBhIGZyZWUgbGlzdCB0aGF0
IGlzIG9yZGVyZWQgaW4gcmV2ZXJzZSB0aHJvdWdoIHRoZSBibG9jay4KLSAgICAvLyBUaGlzIGlz
IGZpbmUsIHNpbmNlIHRoZSBhbGxvY2F0aW9uIGNvZGUgbWFrZXMgbm8gYXNzdW1wdGlvbnMgYWJv
dXQgdGhlCi0gICAgLy8gb3JkZXIgb2YgdGhlIGZyZWUgbGlzdC4KLSAgICBzaXplX3QgZnJlZWRC
eXRlcyA9IDA7Ci0gICAgYm9vbCBpc0VtcHR5ID0gdHJ1ZTsKLSAgICBGcmVlQ2VsbCogaGVhZCA9
IG51bGxwdHI7Ci0gICAgc2l6ZV90IGN1cnJlbnRJbnRlcnZhbCA9IDA7Ci0gICAgc2l6ZV90IHBy
ZXZpb3VzRGVhZENlbGwgPSAwOwotCi0gICAgLy8gV2UgdHJ5IHRvIGFsbG9jYXRlIHRoZSBkZWFk
Q2VsbHMgdmVjdG9yIGVudGlyZWx5IG9uIHRoZSBzdGFjayBpZiBwb3NzaWJsZS4KLSAgICAvLyBP
dGhlcndpc2UsIHdlIHVzZSB0aGUgbWF4aW11bSBwZXJtaXR0ZWQgc3BhY2UgKGN1cnJlbnRseSA4
a0IpIHRvIHN0b3JlIGFzCi0gICAgLy8gbWFueSBlbGVtZW50cyBhcyBwb3NzaWJsZS4gSWYgd2Ug
a25vdyB0aGF0IGFsbCB0aGUgYXRvbXMgaW4gdGhlIGJsb2NrIHdpbGwKLSAgICAvLyBmaXQgaW4g
dGhlIHN0YWNrIGJ1ZmZlciwgaG93ZXZlciwgd2UgY2FuIHVzZSB1bmNoZWNrZWQgYXBwZW5kIGlu
c3RlYWQgb2YKLSAgICAvLyBjaGVja2VkLgotICAgIGNvbnN0ZXhwciBzaXplX3QgbWF4RGVhZENl
bGxCdWZmZXJCeXRlcyA9IDggKiBLQjsgLy8gQXJiaXRyYXJ5IGxpbWl0IG9mIDhrQiBmb3Igc3Rh
Y2sgYnVmZmVyLgotICAgIGNvbnN0ZXhwciBzaXplX3QgZGVhZENlbGxCdWZmZXJCeXRlcyA9IHN0
ZDo6bWluKGF0b21zUGVyQmxvY2sgKiBzaXplb2YoQXRvbU51bWJlclR5cGUpLCBtYXhEZWFkQ2Vs
bEJ1ZmZlckJ5dGVzKTsKLSAgICBzdGF0aWNfYXNzZXJ0KGRlYWRDZWxsQnVmZmVyQnl0ZXMgPD0g
bWF4RGVhZENlbGxCdWZmZXJCeXRlcyk7Ci0gICAgY29uc3RleHByIGJvb2wgZGVhZENlbGxzQWx3
YXlzRml0c09uU3RhY2sgPSAoZGVhZENlbGxCdWZmZXJCeXRlcyAvIHNpemVvZihBdG9tTnVtYmVy
VHlwZSkpIDw9IGF0b21zUGVyQmxvY2s7Ci0gICAgRGVhZENlbGxTdG9yYWdlPGRlYWRDZWxsQnVm
ZmVyQnl0ZXMgLyBzaXplb2YoQXRvbU51bWJlclR5cGUpLCBkZWFkQ2VsbHNBbHdheXNGaXRzT25T
dGFjaz4gZGVhZENlbGxzOwotCi0gICAgYXV0byBoYW5kbGVEZWFkQ2VsbCA9IFsmXSAoc2l6ZV90
IGkpIHsKLSAgICAgICAgSGVhcENlbGwqIGNlbGwgPSByZWludGVycHJldF9jYXN0X3B0cjxIZWFw
Q2VsbCo+KCZibG9jay5hdG9tcygpW2ldKTsKLSAgICAgICAgaWYgKGRlc3RydWN0aW9uTW9kZSAh
PSBCbG9ja0hhc05vRGVzdHJ1Y3RvcnMpCi0gICAgICAgICAgICBkZXN0cm95KGNlbGwpOwotICAg
ICAgICBpZiAoc3dlZXBNb2RlID09IFN3ZWVwVG9GcmVlTGlzdCkgewotICAgICAgICAgICAgaWYg
KHNjcmliYmxlTW9kZSA9PSBTY3JpYmJsZSkgW1t1bmxpa2VseV1dCi0gICAgICAgICAgICAgICAg
c2NyaWJibGUoY2VsbCwgY2VsbFNpemUpOwotCi0gICAgICAgICAgICAvLyBUaGUgZm9sbG93aW5n
IGNoZWNrIHBhc3NpbmcgaW1wbGllcyB0aGVyZSB3YXMgYXQgbGVhc3Qgb25lIGxpdmUgY2VsbAot
ICAgICAgICAgICAgLy8gYmV0d2VlbiB1cyBhbmQgdGhlIGxhc3QgZGVhZCBjZWxsLCBtZWFuaW5n
IHRoYXQgdGhlIHByZXZpb3VzIGRlYWQKLSAgICAgICAgICAgIC8vIGNlbGwgaXMgdGhlIHN0YXJ0
IG9mIGl0cyBpbnRlcnZhbC4KLSAgICAgICAgICAgIGlmIChpICsgbV9hdG9tc1BlckNlbGwgPCBw
cmV2aW91c0RlYWRDZWxsKSB7Ci0gICAgICAgICAgICAgICAgc2l6ZV90IGludGVydmFsTGVuZ3Ro
ID0gY3VycmVudEludGVydmFsICogYXRvbVNpemU7Ci0gICAgICAgICAgICAgICAgRnJlZUNlbGwq
IGNlbGwgPSByZWludGVycHJldF9jYXN0X3B0cjxGcmVlQ2VsbCo+KCZibG9jay5hdG9tcygpW3By
ZXZpb3VzRGVhZENlbGxdKTsKLSAgICAgICAgICAgICAgICBpZiAoaGVhZCkgW1tsaWtlbHldXQot
ICAgICAgICAgICAgICAgICAgICBjZWxsLT5zZXROZXh0KGhlYWQsIGludGVydmFsTGVuZ3RoLCBz
ZWNyZXQpOwotICAgICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICAgICAgY2VsbC0+
bWFrZUxhc3QoaW50ZXJ2YWxMZW5ndGgsIHNlY3JldCk7Ci0gICAgICAgICAgICAgICAgZnJlZWRC
eXRlcyArPSBpbnRlcnZhbExlbmd0aDsKLSAgICAgICAgICAgICAgICBoZWFkID0gY2VsbDsKLSAg
ICAgICAgICAgICAgICBjdXJyZW50SW50ZXJ2YWwgPSAwOwotICAgICAgICAgICAgfQotICAgICAg
ICAgICAgY3VycmVudEludGVydmFsICs9IG1fYXRvbXNQZXJDZWxsOwotICAgICAgICAgICAgcHJl
dmlvdXNEZWFkQ2VsbCA9IGk7Ci0gICAgICAgIH0KLSAgICB9OwotCi0gICAgYXV0byBjaGVja0Zv
ckZpbmFsSW50ZXJ2YWwgPSBbJl0gKCkgewotICAgICAgICBpZiAoc3dlZXBNb2RlID09IFN3ZWVw
VG9GcmVlTGlzdCAmJiBjdXJyZW50SW50ZXJ2YWwpIHsKLSAgICAgICAgICAgIHNpemVfdCBpbnRl
cnZhbExlbmd0aCA9IGN1cnJlbnRJbnRlcnZhbCAqIGF0b21TaXplOwotICAgICAgICAgICAgRnJl
ZUNlbGwqIGNlbGwgPSByZWludGVycHJldF9jYXN0X3B0cjxGcmVlQ2VsbCo+KCZibG9jay5hdG9t
cygpW3ByZXZpb3VzRGVhZENlbGxdKTsKLQotICAgICAgICAgICAgaWYgKGhlYWQpIFtbbGlrZWx5
XV0KLSAgICAgICAgICAgICAgICBjZWxsLT5zZXROZXh0KGhlYWQsIGludGVydmFsTGVuZ3RoLCBz
ZWNyZXQpOwotICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgIGNlbGwtPm1ha2VMYXN0
KGludGVydmFsTGVuZ3RoLCBzZWNyZXQpOwotICAgICAgICAgICAgZnJlZWRCeXRlcyArPSBpbnRl
cnZhbExlbmd0aDsKLSAgICAgICAgICAgIGhlYWQgPSBjZWxsOwotICAgICAgICB9Ci0gICAgfTsK
LQotICAgIGZvciAoaW50IGkgPSBlbmRBdG9tIC0gbV9hdG9tc1BlckNlbGw7IGkgPj0gc3RhdGlj
X2Nhc3Q8aW50PihtX3N0YXJ0QXRvbSk7IGkgLT0gbV9hdG9tc1BlckNlbGwpIHsKLSAgICAgICAg
aWYgKGVtcHR5TW9kZSA9PSBOb3RFbXB0eQotICAgICAgICAgICAgJiYgKChtYXJrc01vZGUgPT0g
TWFya3NOb3RTdGFsZSAmJiBoZWFkZXIubV9tYXJrcy5nZXQoaSkpCi0gICAgICAgICAgICAgICAg
fHwgKG5ld2x5QWxsb2NhdGVkTW9kZSA9PSBIYXNOZXdseUFsbG9jYXRlZCAmJiBoZWFkZXIubV9u
ZXdseUFsbG9jYXRlZC5nZXQoaSkpKSkgewotICAgICAgICAgICAgaXNFbXB0eSA9IGZhbHNlOwot
ICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgIH0KLQotICAgICAgICBpZiAoZGVzdHJ1Y3Rp
b25Nb2RlID09IEJsb2NrSGFzRGVzdHJ1Y3RvcnNBbmRDb2xsZWN0b3JJc1J1bm5pbmcpCi0gICAg
ICAgICAgICBkZWFkQ2VsbHMuYXBwZW5kKGkpOwotICAgICAgICBlbHNlCi0gICAgICAgICAgICBo
YW5kbGVEZWFkQ2VsbChpKTsKLSAgICB9Ci0gICAgaWYgKGRlc3RydWN0aW9uTW9kZSAhPSBCbG9j
a0hhc0Rlc3RydWN0b3JzQW5kQ29sbGVjdG9ySXNSdW5uaW5nKQotICAgICAgICBjaGVja0ZvckZp
bmFsSW50ZXJ2YWwoKTsgLy8gV2UgbmVlZCB0aGlzIHRvIGhhbmRsZSB0aGUgZmlyc3QgaW50ZXJ2
YWwgaW4gdGhlIGJsb2NrLCBzaW5jZSBpdCBoYXMgbm8gZGVhZCBjZWxscyBiZWZvcmUgaXQuCisg
ICAgV1RGOjpCaXRTZXQ8YXRvbXNQZXJCbG9jaz4gbGl2ZTsKKyAgICBpZiAobWFya3NNb2RlID09
IE1hcmtzTm90U3RhbGUgJiYgbmV3bHlBbGxvY2F0ZWRNb2RlID09IEhhc05ld2x5QWxsb2NhdGVk
KSB7CisgICAgICAgIGxpdmUgPSBoZWFkZXIubV9tYXJrczsKKyAgICAgICAgbGl2ZS5tZXJnZSho
ZWFkZXIubV9uZXdseUFsbG9jYXRlZCk7CisgICAgfSBlbHNlIGlmIChtYXJrc01vZGUgPT0gTWFy
a3NOb3RTdGFsZSkKKyAgICAgICAgbGl2ZSA9IGhlYWRlci5tX21hcmtzOworICAgIGVsc2UKKyAg
ICAgICAgbGl2ZSA9IGhlYWRlci5tX25ld2x5QWxsb2NhdGVkOwogCiAgICAgLy8gV2Ugb25seSB3
YW50IHRvIGRpc2NhcmQgdGhlIG5ld2x5QWxsb2NhdGVkIGJpdHMgaWYgd2UncmUgY3JlYXRpbmcg
YSBGcmVlTGlzdCwKICAgICAvLyBvdGhlcndpc2Ugd2Ugd291bGQgbG9zZSBpbmZvcm1hdGlvbiBv
biB3aGF0J3MgY3VycmVudGx5IGFsaXZlLgogICAgIGlmIChzd2VlcE1vZGUgPT0gU3dlZXBUb0Zy
ZWVMaXN0ICYmIG5ld2x5QWxsb2NhdGVkTW9kZSA9PSBIYXNOZXdseUFsbG9jYXRlZCkKICAgICAg
ICAgaGVhZGVyLm1fbmV3bHlBbGxvY2F0ZWRWZXJzaW9uID0gTWFya2VkU3BhY2U6Om51bGxWZXJz
aW9uOwogCi0gICAgaWYgKHNwYWNlKCktPmlzTWFya2luZygpKQorICAgIGJvb2wgd2FzVW5zd2Vw
dCA9IHNldEJpdHMoZmFsc2UpOworCisgICAgLy8gV2UgY2FwdHVyZWQgYSBzbmFwc2hvdCBvZiBs
aXZlbmVzcyBpbmZvcm1hdGlvbiwgc28gd2Ugbm8gbG9uZ2VyIG5lZWQgdG8gaG9sZCBhIGxvY2sh
CisgICAgLy8gT25seSB0aGluZyB3ZSBuZWVkIGF0IHRoaXMgcG9pbnQgaXMganVzdCB8bGl2ZXwg
Qml0U2V0LgorICAgIGlmIChpc01hcmtpbmcpCiAgICAgICAgIGhlYWRlci5tX2xvY2sudW5sb2Nr
KCk7CiAKLSAgICBpZiAoZGVzdHJ1Y3Rpb25Nb2RlID09IEJsb2NrSGFzRGVzdHJ1Y3RvcnNBbmRD
b2xsZWN0b3JJc1J1bm5pbmcpIHsKLSAgICAgICAgZm9yIChzaXplX3QgaSA6IGRlYWRDZWxscy5z
cGFuKCkpCi0gICAgICAgICAgICBoYW5kbGVEZWFkQ2VsbChpKTsKLSAgICAgICAgY2hlY2tGb3JG
aW5hbEludGVydmFsKCk7Ci0gICAgfQorICAgIGF1dG8gc3dlZXBCbG9jayA9IFsmXTxib29sIG5l
ZWRzRGVzdHJ1Y3Rpb24+KCkgQUxXQVlTX0lOTElORV9MQU1CREEgeworICAgICAgICBzaXplX3Qg
ZnJlZWRCeXRlcyA9IDA7CisgICAgICAgIEZyZWVDZWxsKiBoZWFkID0gbnVsbHB0cjsKKyAgICAg
ICAgRnJlZUNlbGwqIGN1cnNvciA9IG51bGxwdHI7CisgICAgICAgIHNpemVfdCBjdXJzb3JJbnRl
cnZhbEJ5dGVzID0gMDsKKyAgICAgICAgYXV0byBwdXNoSW50ZXJ2YWwgPSBbJl0oRnJlZUNlbGwq
IGNlbGwsIHNpemVfdCBpbnRlcnZhbEJ5dGVzKSB7CisgICAgICAgICAgICBpZiBjb25zdGV4cHIg
KG5lZWRzRGVzdHJ1Y3Rpb24pIHsKKyAgICAgICAgICAgICAgICBmb3IgKGNoYXIqIHRhcmdldCA9
IHN0ZDo6Yml0X2Nhc3Q8Y2hhcio+KGNlbGwpOyB0YXJnZXQgPCAoc3RkOjpiaXRfY2FzdDxjaGFy
Kj4oY2VsbCkgKyBpbnRlcnZhbEJ5dGVzKTsgdGFyZ2V0ICs9IGNlbGxTaXplKQorICAgICAgICAg
ICAgICAgICAgICBkZXN0cm95KHRhcmdldCk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAg
IGlmIChzd2VlcE1vZGUgPT0gU3dlZXBUb0ZyZWVMaXN0KSB7CisgICAgICAgICAgICAgICAgaWYg
KHNjcmliYmxlTW9kZSA9PSBTY3JpYmJsZSkgW1t1bmxpa2VseV1dCisgICAgICAgICAgICAgICAg
ICAgIHNjcmliYmxlKGNlbGwsIGludGVydmFsQnl0ZXMpOworCisgICAgICAgICAgICAgICAgaWYg
KCFoZWFkKQorICAgICAgICAgICAgICAgICAgICBoZWFkID0gY2VsbDsKKworICAgICAgICAgICAg
ICAgIGlmIChjdXJzb3IpIFtbbGlrZWx5XV0KKyAgICAgICAgICAgICAgICAgICAgY3Vyc29yLT5z
ZXROZXh0KGNlbGwsIGN1cnNvckludGVydmFsQnl0ZXMsIHNlY3JldCk7CiAKLSAgICBpZiAoc3dl
ZXBNb2RlID09IFN3ZWVwVG9GcmVlTGlzdCkKLSAgICAgICAgZnJlZUxpc3QtPmluaXRpYWxpemUo
aGVhZCwgc2VjcmV0LCBmcmVlZEJ5dGVzKTsKLSAgICBzZXRCaXRzKGlzRW1wdHkpOworICAgICAg
ICAgICAgICAgIGN1cnNvciA9IGNlbGw7CisgICAgICAgICAgICAgICAgY3Vyc29ySW50ZXJ2YWxC
eXRlcyA9IGludGVydmFsQnl0ZXM7CisgICAgICAgICAgICAgICAgZnJlZWRCeXRlcyArPSBpbnRl
cnZhbEJ5dGVzOworICAgICAgICAgICAgfQorICAgICAgICB9OworCisgICAgICAgIHVuc2lnbmVk
IHBvdGVudGlhbGx5RnJlZUNlbGwgPSBtX3N0YXJ0QXRvbTsKKyAgICAgICAgYXV0byBoYW5kbGVM
aXZlQ2VsbCA9IFsmXSh1bnNpZ25lZCBpbmRleCkgeworICAgICAgICAgICAgQVNTRVJUKCEoKGlu
ZGV4IC0gbV9zdGFydEF0b20pICUgbV9hdG9tc1BlckNlbGwpKTsKKyAgICAgICAgICAgIGlmIChw
b3RlbnRpYWxseUZyZWVDZWxsICE9IGluZGV4KSB7CisgICAgICAgICAgICAgICAgRnJlZUNlbGwq
IGNlbGwgPSBzdGQ6OmJpdF9jYXN0PEZyZWVDZWxsKj4oJmJsb2NrLmF0b21zKClbcG90ZW50aWFs
bHlGcmVlQ2VsbF0pOworICAgICAgICAgICAgICAgIHB1c2hJbnRlcnZhbChjZWxsLCAoaW5kZXgg
LSBwb3RlbnRpYWxseUZyZWVDZWxsKSAqIGF0b21TaXplKTsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIHBvdGVudGlhbGx5RnJlZUNlbGwgPSBpbmRleCArIG1fYXRvbXNQZXJDZWxsOworICAg
ICAgICB9OworICAgICAgICBsaXZlLmZvckVhY2hTZXRCaXQoWyZdKHVuc2lnbmVkIGluZGV4KSB7
CisgICAgICAgICAgICBoYW5kbGVMaXZlQ2VsbChpbmRleCk7CisgICAgICAgIH0pOworICAgICAg
ICBoYW5kbGVMaXZlQ2VsbChlbmRBdG9tKTsKKworICAgICAgICBpZiAoc3dlZXBNb2RlID09IFN3
ZWVwVG9GcmVlTGlzdCkgeworICAgICAgICAgICAgaWYgKGN1cnNvcikKKyAgICAgICAgICAgICAg
ICBjdXJzb3ItPm1ha2VMYXN0KGN1cnNvckludGVydmFsQnl0ZXMsIHNlY3JldCk7CisgICAgICAg
ICAgICBmcmVlTGlzdC0+aW5pdGlhbGl6ZShoZWFkLCBzZWNyZXQsIGZyZWVkQnl0ZXMpOworICAg
ICAgICB9CisgICAgfTsKIAotICAgIGlmIChmYWxzZSkKLSAgICAgICAgZGF0YUxvZygiU2xvd2x5
IHN3ZXB0IGJsb2NrICIsIFJhd1BvaW50ZXIoJmJsb2NrKSwgIiB3aXRoIGNlbGwgc2l6ZSAiLCBj
ZWxsU2l6ZSwgIiBhbmQgYXR0cmlidXRlcyAiLCBtX2F0dHJpYnV0ZXMsICI6ICIsIHBvaW50ZXJE
dW1wKGZyZWVMaXN0KSwgIlxuIik7CisgICAgaWYgKGRlc3RydWN0aW9uTW9kZSA9PSBCbG9ja0hh
c05vRGVzdHJ1Y3RvcnMgfHwgIXdhc1Vuc3dlcHQpCisgICAgICAgIHN3ZWVwQmxvY2sudGVtcGxh
dGUgb3BlcmF0b3IoKTwvKiBuZWVkc0Rlc3RydWN0aW9uICovIGZhbHNlPigpOworICAgIGVsc2UK
KyAgICAgICAgc3dlZXBCbG9jay50ZW1wbGF0ZSBvcGVyYXRvcigpPC8qIG5lZWRzRGVzdHJ1Y3Rp
b24gKi8gdHJ1ZT4oKTsKKworICAgIGRhdGFMb2dMbklmKHZlcmJvc2UsICJTbG93bHkgc3dlcHQg
YmxvY2sgIiwgUmF3UG9pbnRlcigmYmxvY2spLCAiIHdpdGggY2VsbCBzaXplICIsIGNlbGxTaXpl
LCAiIGFuZCBhdHRyaWJ1dGVzICIsIG1fYXR0cmlidXRlcywgIjogIiwgcG9pbnRlckR1bXAoZnJl
ZUxpc3QpLCAiIGlzTWFya2luZzogIiwgaXNNYXJraW5nLCAiIHN3ZWVwTW9kZTogIiwgc3dlZXBN
b2RlKTsKIH0KIAogdGVtcGxhdGU8dHlwZW5hbWUgRGVzdHJveUZ1bmM+CkBAIC01MTYsMTEgKzQ3
Nyw4IEBAIHZvaWQgTWFya2VkQmxvY2s6OkhhbmRsZTo6ZmluaXNoU3dlZXBLbm93aW5nSGVhcENl
bGxUeXBlKEZyZWVMaXN0KiBmcmVlTGlzdCwgY29uCiAKIGlubGluZSBNYXJrZWRCbG9jazo6SGFu
ZGxlOjpTd2VlcERlc3RydWN0aW9uTW9kZSBNYXJrZWRCbG9jazo6SGFuZGxlOjpzd2VlcERlc3Ry
dWN0aW9uTW9kZSgpCiB7Ci0gICAgaWYgKG1fYXR0cmlidXRlcy5kZXN0cnVjdGlvbiAhPSBEb2Vz
Tm90TmVlZERlc3RydWN0aW9uKSB7Ci0gICAgICAgIGlmIChzcGFjZSgpLT5pc01hcmtpbmcoKSkK
LSAgICAgICAgICAgIHJldHVybiBCbG9ja0hhc0Rlc3RydWN0b3JzQW5kQ29sbGVjdG9ySXNSdW5u
aW5nOworICAgIGlmIChtX2F0dHJpYnV0ZXMuZGVzdHJ1Y3Rpb24gIT0gRG9lc05vdE5lZWREZXN0
cnVjdGlvbikKICAgICAgICAgcmV0dXJuIEJsb2NrSGFzRGVzdHJ1Y3RvcnM7Ci0gICAgfQogICAg
IHJldHVybiBCbG9ja0hhc05vRGVzdHJ1Y3RvcnM7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL09wdGlvbnNMaXN0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9PcHRpb25zTGlzdC5oCmluZGV4IDQ4YjM0NTJiNTkyYi4uMWM5NzlhZjljMTNj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PcHRpb25zTGlzdC5o
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09wdGlvbnNMaXN0LmgKQEAgLTIz
Niw3ICsyMzYsNiBAQCBib29sIGhhc0NhcGFjaXR5VG9Vc2VMYXJnZUdpZ2FjYWdlKCk7CiAgICAg
dihEb3VibGUsIHNpemVDbGFzc1Byb2dyZXNzaW9uLCAxLjQsIE5vcm1hbCwgbnVsbHB0cikgXAog
ICAgIHYoVW5zaWduZWQsIHByZWNpc2VBbGxvY2F0aW9uQ3V0b2ZmLCAxMDAwMDAsIE5vcm1hbCwg
bnVsbHB0cikgXAogICAgIHYoQm9vbCwgZHVtcFNpemVDbGFzc2VzLCBmYWxzZSwgTm9ybWFsLCBu
dWxscHRyKSBcCi0gICAgdihCb29sLCB1c2VCdW1wQWxsb2NhdG9yLCB0cnVlLCBOb3JtYWwsIG51
bGxwdHIpIFwKICAgICB2KEJvb2wsIHN0ZWFsRW1wdHlCbG9ja3NGcm9tT3RoZXJBbGxvY2F0b3Jz
LCB0cnVlLCBOb3JtYWwsIG51bGxwdHIpIFwKICAgICB2KEJvb2wsIGVhZ2VybHlVcGRhdGVUb3BD
YWxsRnJhbWUsIGZhbHNlLCBOb3JtYWwsIG51bGxwdHIpIFwKICAgICB2KEJvb2wsIGR1bXBaYXBw
ZWRDZWxsQ3Jhc2hEYXRhLCBmYWxzZSwgTm9ybWFsLCBudWxscHRyKSBcCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>