<?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>239613</bug_id>
          
          <creation_ts>2022-04-21 10:30:56 -0700</creation_ts>
          <short_desc>REGRESSION(r293146): Broke JSC tests. Looks like EWS was blocked by  label &lt;https://bugs.webkit.org/show_bug.cgi?id=239411&gt;</short_desc>
          <delta_ts>2022-04-21 15:40:54 -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>
          <dependson>239411</dependson>
          <blocked>239578</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Commit Bot">commit-queue</reporter>
          <assigned_to name="WebKit Commit Bot">commit-queue</assigned_to>
          <cc>mark.lam</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1863336</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2022-04-21 10:30:56 -0700</bug_when>
    <thetext>https://commits.webkit.org/r293146 introduced a regression:
Broke JSC tests. Looks like EWS was blocked by  label &lt;https://bugs.webkit.org/show_bug.cgi?id=239411&gt;

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>1863338</commentid>
    <comment_count>1</comment_count>
      <attachid>458074</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2022-04-21 10:31:03 -0700</bug_when>
    <thetext>Created attachment 458074
REVERT of r293146

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>1863339</commentid>
    <comment_count>2</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-04-21 10:34:11 -0700</bug_when>
    <thetext>Committed r293176 (249858@main): &lt;https://commits.webkit.org/249858@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 458074.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1863436</commentid>
    <comment_count>3</comment_count>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2022-04-21 15:40:54 -0700</bug_when>
    <thetext>rdar://92105543</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>458074</attachid>
            <date>2022-04-21 10:31:03 -0700</date>
            <delta_ts>2022-04-21 10:34:13 -0700</delta_ts>
            <desc>REVERT of r293146</desc>
            <filename>bug-239613-20220421103102.patch</filename>
            <type>text/plain</type>
            <size>24330</size>
            <attacher name="WebKit Commit Bot">commit-queue</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkzMTc1CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBi
NDYyN2Q0MGRjYTA0MzBiZjNkMGQyYzlkYzNkMmY5OWE2ZTlmN2ZlLi43NTgxNTQ5NDExOGY1ODZh
NDYwMjkzNWY1NDVjMjFkYmVkNDgyYThlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNyBAQAorMjAyMi0wNC0yMSAgQ29tbWl0IFF1ZXVlICA8Y29tbWl0LXF1ZXVlQHdlYmtp
dC5vcmc+CisKKyAgICAgICAgVW5yZXZpZXdlZCwgcmV2ZXJ0aW5nIHIyOTMxNDYuCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzk2MTMKKworICAgICAg
ICBCcm9rZSBKU0MgdGVzdHMuIExvb2tzIGxpa2UgRVdTIHdhcyBibG9ja2VkIGJ5ICBsYWJlbAor
ICAgICAgICA8aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzOTQxMT4K
KworICAgICAgICBSZXZlcnRlZCBjaGFuZ2VzZXQ6CisKKyAgICAgICAgIltKU0NdIFJlbW92ZSBU
ZW1wUmVnaXN0ZXJTZXQiCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMzk1NzgKKyAgICAgICAgaHR0cHM6Ly9jb21taXRzLndlYmtpdC5vcmcvcjI5MzE0
NgorCiAyMDIyLTA0LTIwICBZdXN1a2UgU3V6dWtpICA8eXN1enVraUBhcHBsZS5jb20+CiAKICAg
ICAgICAgW0pTQ10gUmVtb3ZlIFRlbXBSZWdpc3RlclNldApkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtl
TGlzdHMudHh0CmluZGV4IGMwYTllMmE3ZTgwMmRiOTQ4NTc2NzRmMjliODc5NzZkOWM1NmUyMGQu
LjIzYzRhNzRmODg2ODYzYTFlZmNlMGIzY2EzNmJmMTY2MTNlZjQ5NTQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTg2NywxMyArODY3LDEzIEBAIHNldChKYXZhU2NyaXB0
Q29yZV9QUklWQVRFX0ZSQU1FV09SS19IRUFERVJTCiAgICAgaml0L1JlZ2lzdGVyQXRPZmZzZXRM
aXN0LmgKICAgICBqaXQvUmVnaXN0ZXJNYXAuaAogICAgIGppdC9SZWdpc3RlclNldC5oCi0gICAg
aml0L1NjcmF0Y2hSZWdpc3RlckFsbG9jYXRvci5oCiAgICAgaml0L1NuaXBwZXQuaAogICAgIGpp
dC9TbmlwcGV0UGFyYW1zLmgKICAgICBqaXQvU25pcHBldFJlZy5oCiAgICAgaml0L1NuaXBwZXRT
bG93UGF0aENhbGxzLmgKICAgICBqaXQvU3BpbGxSZWdpc3RlcnNNb2RlLmgKICAgICBqaXQvVGFn
UmVnaXN0ZXJzTW9kZS5oCisgICAgaml0L1RlbXBSZWdpc3RlclNldC5oCiAgICAgaml0L1RodW5r
R2VuZXJhdG9yLmgKIAogICAgIGxsaW50L0xMSW50T3Bjb2RlLmgKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKaW5kZXggNzljOGRjZGIxZWU5NjgzNGE3MDk2YWQ2MzIwOTAyODAxMjAyMDBlNS4u
NzZmMzQxNGQ1MTY1Zjk3N2M1OGVjNmM4YWEzNzkwZGViYTQ0NWIxOCAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKQEAgLTE4Niw2ICsxODYsNyBAQAogCQkwRjI0RTU0MzE3RUE5RjU5MDBB
QkIyMTcgLyogRlBSSW5mby5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMEYyNEU1M0UxN0VBOUY1OTAwQUJCMjE3IC8qIEZQUkluZm8uaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkwRjI0RTU0NDE3RUE5RjU5
MDBBQkIyMTcgLyogR1BSSW5mby5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMEYyNEU1M0YxN0VBOUY1OTAwQUJCMjE3IC8qIEdQUkluZm8uaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkwRjI0RTU0RDE3RUUy
NzQ5MDBBQkIyMTcgLyogSklUT3BlcmF0aW9ucy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMEYyNEU1NDYxN0VFMjc0OTAwQUJCMjE3IC8qIEpJVE9wZXJh
dGlvbnMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owor
CQkwRjI0RTU0RjE3RUUyNzQ5MDBBQkIyMTcgLyogVGVtcFJlZ2lzdGVyU2V0LmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjI0RTU0ODE3RUUyNzQ5MDBB
QkIyMTcgLyogVGVtcFJlZ2lzdGVyU2V0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKIAkJMEYyNEU1NTIxN0VFMjc0OTAwQUJCMjE3IC8qIFNjcmF0Y2hS
ZWdpc3RlckFsbG9jYXRvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMEYyNEU1NEIxN0VFMjc0OTAwQUJCMjE3IC8qIFNjcmF0Y2hSZWdpc3RlckFsbG9j
YXRvci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJ
CTBGMjRFNTU2MTdGMEI3MUMwMEFCQjIxNyAvKiBJbmxpbmVDYWxsRnJhbWVTZXQuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGMjRFNTU0MTdGMEI3MUMw
MEFCQjIxNyAvKiBJbmxpbmVDYWxsRnJhbWVTZXQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkwRjI1NkMzNjE2MjdCMEFEMDA3RjI3ODMgLyogREZH
Q2FsbEFycmF5QWxsb2NhdG9yU2xvd1BhdGhHZW5lcmF0b3IuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGMjU2QzM0MTYyN0IwQUEwMDdGMjc4MyAvKiBE
RkdDYWxsQXJyYXlBbGxvY2F0b3JTbG93UGF0aEdlbmVyYXRvci5oICovOyB9OwpAQCAtMjYwMSw2
ICsyNjAyLDcgQEAKIAkJMEYyNEU1M0YxN0VBOUY1OTAwQUJCMjE3IC8qIEdQUkluZm8uaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gR1BSSW5mby5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQkwRjI0RTU0NTE3RUUyNzQ5MDBBQkIyMTcgLyogSklUT3BlcmF0aW9ucy5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKSVRPcGVyYXRpb25zLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEYyNEU1NDYxN0VFMjc0OTAwQUJCMjE3
IC8qIEpJVE9wZXJhdGlvbnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSklU
T3BlcmF0aW9ucy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjI0RTU0ODE3RUUy
NzQ5MDBBQkIyMTcgLyogVGVtcFJlZ2lzdGVyU2V0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IFRlbXBSZWdpc3RlclNldC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQkwRjI0RTU0QjE3RUUyNzQ5MDBBQkIyMTcgLyogU2NyYXRjaFJlZ2lzdGVyQWxsb2NhdG9yLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNjcmF0Y2hSZWdpc3RlckFsbG9jYXRv
ci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwRjI0RTU1MzE3RjBCNzFDMDBBQkIy
MTcgLyogSW5saW5lQ2FsbEZyYW1lU2V0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IElubGluZUNhbGxGcmFtZVNldC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTBGMjRFNTU0MTdGMEI3MUMwMEFCQjIxNyAvKiBJbmxpbmVDYWxsRnJhbWVTZXQuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW5saW5lQ2FsbEZyYW1lU2V0Lmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0zMTg5LDYgKzMxOTEsNyBAQAogCQkwRkMyMENC
NzE4NTU2QTM1MDBDOUU5NTQgLyogREZHU1NBTG93ZXJpbmdQaGFzZS5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBERkdTU0FMb3dlcmluZ1BoYXNlLmNwcDsgcGF0aCA9
IGRmZy9ERkdTU0FMb3dlcmluZ1BoYXNlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJMEZDMjBDQjgxODU1NkEzNTAwQzlFOTU0IC8qIERGR1NTQUxvd2VyaW5nUGhhc2UuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gREZHU1NBTG93ZXJpbmdQaGFzZS5oOyBwYXRo
ID0gZGZnL0RGR1NTQUxvd2VyaW5nUGhhc2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJMEZDMzE0MTAxODE0NTU5MTAwMDMzMjMyIC8qIFJlZ2lzdGVyU2V0LmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlZ2lzdGVyU2V0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTBGQzMxNDExMTgxNDU1OTEwMDAzMzIzMiAvKiBUZW1wUmVnaXN0ZXJTZXQuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gVGVtcFJlZ2lzdGVyU2V0LmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEZDMzE0MTQxODE0NkQ3MDAwMDMzMjMy
IC8qIFJlZ2lzdGVyU2V0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IFJlZ2lzdGVyU2V0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEZDM0NDRjUx
OUFEQTQxMDAwNkFDNzJBIC8qIERGR0Jsb2NrTWFwLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgbmFtZSA9IERGR0Jsb2NrTWFwLmg7IHBhdGggPSBkZmcvREZHQmxvY2tNYXAuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEZDM0NDRjYxOUFEQTQxMDAwNkFDNzJBIC8qIERGR0Js
b2NrTWFwSW5saW5lcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBERkdCbG9j
a01hcElubGluZXMuaDsgcGF0aCA9IGRmZy9ERkdCbG9ja01hcElubGluZXMuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTY2NjksNiArNjY3Miw4IEBACiAJCQkJQTdGRjY0N0ExOEM1
MkU4NTAwQjU1MzA3IC8qIFNwaWxsUmVnaXN0ZXJzTW9kZS5oICovLAogCQkJCURDNzk5NzgxMUNE
RTlGOUUwMDRENEEwOSAvKiBUYWdSZWdpc3RlcnNNb2RlLmNwcCAqLywKIAkJCQlEQzc5OTc4MjFD
REU5RjlFMDA0RDRBMDkgLyogVGFnUmVnaXN0ZXJzTW9kZS5oICovLAorCQkJCTBGQzMxNDExMTgx
NDU1OTEwMDAzMzIzMiAvKiBUZW1wUmVnaXN0ZXJTZXQuY3BwICovLAorCQkJCTBGMjRFNTQ4MTdF
RTI3NDkwMEFCQjIxNyAvKiBUZW1wUmVnaXN0ZXJTZXQuaCAqLywKIAkJCQkwRjU3MkQ0RDE2ODc5
RkRCMDBFNTdGQkQgLyogVGh1bmtHZW5lcmF0b3IuaCAqLywKIAkJCQlBNzM4NjU1MjExODY5N0I0
MDA1NDAyNzkgLyogVGh1bmtHZW5lcmF0b3JzLmNwcCAqLywKIAkJCQlBNzM4NjU1MzExODY5N0I0
MDA1NDAyNzkgLyogVGh1bmtHZW5lcmF0b3JzLmggKi8sCkBAIC0xMTE1Nyw2ICsxMTE2Miw3IEBA
CiAJCQkJRTMwRThBNTYyNkRFMkU0ODAwREE0OTE1IC8qIFRlbXBvcmFsVGltZVpvbmUuaCBpbiBI
ZWFkZXJzICovLAogCQkJCUUzMEU4QTU3MjZERTJFNDgwMERBNDkxNSAvKiBUZW1wb3JhbFRpbWVa
b25lQ29uc3RydWN0b3IuaCBpbiBIZWFkZXJzICovLAogCQkJCUUzMEU4QTU0MjZERTJFNDgwMERB
NDkxNSAvKiBUZW1wb3JhbFRpbWVab25lUHJvdG90eXBlLmggaW4gSGVhZGVycyAqLywKKwkJCQkw
RjI0RTU0RjE3RUUyNzQ5MDBBQkIyMTcgLyogVGVtcFJlZ2lzdGVyU2V0LmggaW4gSGVhZGVycyAq
LywKIAkJCQkwRjQ0QTdCNDIwQkY2OEQ5MDAyMkIxNzEgLyogVGVybWluYXRlZENvZGVPcmlnaW4u
aCBpbiBIZWFkZXJzICovLAogCQkJCTBGQTJDMTdDMTdEN0NGODQwMDlEMDE1RiAvKiBUZXN0UnVu
bmVyVXRpbHMuaCBpbiBIZWFkZXJzICovLAogCQkJCUZFMzQyMjEyMUQ2QjgxQzMwMDMyQkU4OCAv
KiBUaHJvd1Njb3BlLmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9Tb3VyY2VzLnR4dCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Tb3VyY2VzLnR4dApp
bmRleCA3MTNlNzYzMzRhMTdkMGZkN2RjYmNjZWQ5MzQ0YWExMTE3NGI0NTI5Li4zMzQ1Mjg5MTcy
ODM0MTRkZDQzOTNjYzc2ODM3ZmU0Mjk1OGVhNTNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvU291cmNlcy50eHQKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL1NvdXJjZXMu
dHh0CkBAIC02NzQsNiArNjc0LDcgQEAgaml0L1NjcmF0Y2hSZWdpc3RlckFsbG9jYXRvci5jcHAK
IGppdC9TZXR1cFZhcmFyZ3NGcmFtZS5jcHAKIGppdC9TbG93UGF0aENhbGwuY3BwCiBqaXQvVGFn
UmVnaXN0ZXJzTW9kZS5jcHAKK2ppdC9UZW1wUmVnaXN0ZXJTZXQuY3BwCiBqaXQvVGh1bmtHZW5l
cmF0b3JzLmNwcAogCiBsbGludC9MTEludENMb29wLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ppdC9Bc3NlbWJseUhlbHBlcnMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2ppdC9Bc3NlbWJseUhlbHBlcnMuY3BwCmluZGV4IGVhZjU0M2Q2MWI5ZGMxYzk3M2Y5ZGM4
NWFjNzVkNGY5ZTI5NDExYWEuLmM3MDIxODA3ZTE1MzQyNGZkNzg4NTU2Yzk3ZjIyNDdkMDdmYzhk
MjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvQXNzZW1ibHlIZWxwZXJz
LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0Fzc2VtYmx5SGVscGVycy5jcHAK
QEAgLTEyOTYsMTcgKzEyOTYsMTUgQEAgdm9pZCBBc3NlbWJseUhlbHBlcnM6OmVtaXRSZXN0b3Jl
Q2FsbGVlU2F2ZXNGb3IoY29uc3QgUmVnaXN0ZXJBdE9mZnNldExpc3QqIGNhbGwKICAgICBzcG9v
bGVyLmZpbmFsaXplRlBSKCk7CiB9CiAKLXZvaWQgQXNzZW1ibHlIZWxwZXJzOjpjb3B5TExJbnRC
YXNlbGluZUNhbGxlZVNhdmVzRnJvbUZyYW1lT3JSZWdpc3RlclRvRW50cnlGcmFtZUNhbGxlZVNh
dmVzQnVmZmVyKEVudHJ5RnJhbWUqJiB0b3BFbnRyeUZyYW1lLCBjb25zdCBSZWdpc3RlclNldCYg
dXNlZFJlZ2lzdGVycykKK3ZvaWQgQXNzZW1ibHlIZWxwZXJzOjpjb3B5TExJbnRCYXNlbGluZUNh
bGxlZVNhdmVzRnJvbUZyYW1lT3JSZWdpc3RlclRvRW50cnlGcmFtZUNhbGxlZVNhdmVzQnVmZmVy
KEVudHJ5RnJhbWUqJiB0b3BFbnRyeUZyYW1lLCBjb25zdCBUZW1wUmVnaXN0ZXJTZXQmIHVzZWRS
ZWdpc3RlcnMpCiB7CiAjaWYgTlVNQkVSX09GX0NBTExFRV9TQVZFU19SRUdJU1RFUlMgPiAwCiAg
ICAgLy8gQ29weSBzYXZlZCBjYWxsZWVTYXZlcyBvbiBzdGFjayBvciB1bnNhdmVkIGNhbGxlZVNh
dmVzIGluIHJlZ2lzdGVyIHRvIHZtIGNhbGxlZVNhdmUgYnVmZmVyCi0gICAgU2NyYXRjaFJlZ2lz
dGVyQWxsb2NhdG9yIGFsbG9jYXRvcih1c2VkUmVnaXN0ZXJzKTsKLSAgICBHUFJSZWcgZGVzdEJ1
ZmZlckdQUiA9IGFsbG9jYXRvci5hbGxvY2F0ZVNjcmF0Y2hHUFIoKTsKLSAgICBHUFJSZWcgdGVt
cDEgPSBhbGxvY2F0b3IuYWxsb2NhdGVTY3JhdGNoR1BSKCk7Ci0gICAgRlBSUmVnIGZwVGVtcDEg
PSBhbGxvY2F0b3IuYWxsb2NhdGVTY3JhdGNoRlBSKCk7Ci0gICAgR1BSUmVnIHRlbXAyID0gYWxs
b2NhdG9yLmFsbG9jYXRlU2NyYXRjaEdQUigpOwotICAgIEZQUlJlZyBmcFRlbXAyID0gYWxsb2Nh
dG9yLmFsbG9jYXRlU2NyYXRjaEZQUigpOwotICAgIFJFTEVBU0VfQVNTRVJUKCFhbGxvY2F0b3Iu
ZGlkUmV1c2VSZWdpc3RlcnMoKSk7CisgICAgR1BSUmVnIGRlc3RCdWZmZXJHUFIgPSB1c2VkUmVn
aXN0ZXJzLmdldEZyZWVHUFIoMCk7CisgICAgR1BSUmVnIHRlbXAxID0gdXNlZFJlZ2lzdGVycy5n
ZXRGcmVlR1BSKDEpOworICAgIEZQUlJlZyBmcFRlbXAxID0gdXNlZFJlZ2lzdGVycy5nZXRGcmVl
RlBSKDApOworICAgIEdQUlJlZyB0ZW1wMiA9IHVzZWRSZWdpc3RlcnMuZ2V0RnJlZUdQUigyKTsK
KyAgICBGUFJSZWcgZnBUZW1wMiA9IHVzZWRSZWdpc3RlcnMuZ2V0RnJlZUZQUigxKTsKIAogICAg
IGxvYWRQdHIoJnRvcEVudHJ5RnJhbWUsIGRlc3RCdWZmZXJHUFIpOwogICAgIGFkZFB0cihUcnVz
dGVkSW1tMzIoRW50cnlGcmFtZTo6Y2FsbGVlU2F2ZVJlZ2lzdGVyc0J1ZmZlck9mZnNldCgpKSwg
ZGVzdEJ1ZmZlckdQUik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0Fz
c2VtYmx5SGVscGVycy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9Bc3NlbWJseUhlbHBl
cnMuaAppbmRleCA0Y2E2NWE0NzExOTNiNmVlMWQ3N2YyZTNiNzgxZjdjYWVlNGExYjYxLi5mNDUx
YTc1YzUxZWZiMDhiMjFiYWJiZDU4ZjgxMDIyZTI3NzQyZGYyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaml0L0Fzc2VtYmx5SGVscGVycy5oCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9qaXQvQXNzZW1ibHlIZWxwZXJzLmgKQEAgLTQwLDcgKzQwLDYgQEAKICNpbmNsdWRl
ICJNYXJrZWRTcGFjZS5oIgogI2luY2x1ZGUgIlJlZ2lzdGVyQXRPZmZzZXRMaXN0LmgiCiAjaW5j
bHVkZSAiUmVnaXN0ZXJTZXQuaCIKLSNpbmNsdWRlICJTY3JhdGNoUmVnaXN0ZXJBbGxvY2F0b3Iu
aCIKICNpbmNsdWRlICJTdGFja0FsaWdubWVudC5oIgogI2luY2x1ZGUgIlRhZ1JlZ2lzdGVyc01v
ZGUuaCIKICNpbmNsdWRlICJUeXBlb2ZUeXBlLmgiCkBAIC0zOTcsOSArMzk2LDggQEAgcHVibGlj
OgogICAgIHZvaWQgY29weUNhbGxlZVNhdmVzVG9FbnRyeUZyYW1lQ2FsbGVlU2F2ZXNCdWZmZXIo
RW50cnlGcmFtZSomIHRvcEVudHJ5RnJhbWUpCiAgICAgewogI2lmIE5VTUJFUl9PRl9DQUxMRUVf
U0FWRVNfUkVHSVNURVJTID4gMAotICAgICAgICBTY3JhdGNoUmVnaXN0ZXJBbGxvY2F0b3IgYWxs
b2NhdG9yKFJlZ2lzdGVyU2V0OjpzdHViVW5hdmFpbGFibGVSZWdpc3RlcnMoKSk7Ci0gICAgICAg
IEdQUlJlZyB0ZW1wMSA9IGFsbG9jYXRvci5hbGxvY2F0ZVNjcmF0Y2hHUFIoKTsKLSAgICAgICAg
UkVMRUFTRV9BU1NFUlQoIWFsbG9jYXRvci5kaWRSZXVzZVJlZ2lzdGVycygpKTsKKyAgICAgICAg
Y29uc3QgVGVtcFJlZ2lzdGVyU2V0JiB1c2VkUmVnaXN0ZXJzID0geyBSZWdpc3RlclNldDo6c3R1
YlVuYXZhaWxhYmxlUmVnaXN0ZXJzKCkgfTsKKyAgICAgICAgR1BSUmVnIHRlbXAxID0gdXNlZFJl
Z2lzdGVycy5nZXRGcmVlR1BSKDApOwogICAgICAgICBjb3B5Q2FsbGVlU2F2ZXNUb0VudHJ5RnJh
bWVDYWxsZWVTYXZlc0J1ZmZlcih0b3BFbnRyeUZyYW1lLCB0ZW1wMSk7CiAjZWxzZQogICAgICAg
ICBVTlVTRURfUEFSQU0odG9wRW50cnlGcmFtZSk7CkBAIC00MjAsNyArNDE4LDcgQEAgcHVibGlj
OgogICAgIHZvaWQgcmVzdG9yZUNhbGxlZVNhdmVzRnJvbVZNRW50cnlGcmFtZUNhbGxlZVNhdmVz
QnVmZmVyKEdQUlJlZyB2bUdQUiwgR1BSUmVnIHNjcmF0Y2hHUFIpOwogICAgIHZvaWQgcmVzdG9y
ZUNhbGxlZVNhdmVzRnJvbVZNRW50cnlGcmFtZUNhbGxlZVNhdmVzQnVmZmVySW1wbChHUFJSZWcg
ZW50cnlGcmFtZSwgY29uc3QgUmVnaXN0ZXJTZXQmIHNraXBMaXN0KTsKIAotICAgIHZvaWQgY29w
eUxMSW50QmFzZWxpbmVDYWxsZWVTYXZlc0Zyb21GcmFtZU9yUmVnaXN0ZXJUb0VudHJ5RnJhbWVD
YWxsZWVTYXZlc0J1ZmZlcihFbnRyeUZyYW1lKiYsIGNvbnN0IFJlZ2lzdGVyU2V0JiB1c2VkUmVn
aXN0ZXJzID0gUmVnaXN0ZXJTZXQ6OnN0dWJVbmF2YWlsYWJsZVJlZ2lzdGVycygpKTsKKyAgICB2
b2lkIGNvcHlMTEludEJhc2VsaW5lQ2FsbGVlU2F2ZXNGcm9tRnJhbWVPclJlZ2lzdGVyVG9FbnRy
eUZyYW1lQ2FsbGVlU2F2ZXNCdWZmZXIoRW50cnlGcmFtZSomLCBjb25zdCBUZW1wUmVnaXN0ZXJT
ZXQmIHVzZWRSZWdpc3RlcnMgPSB7IFJlZ2lzdGVyU2V0OjpzdHViVW5hdmFpbGFibGVSZWdpc3Rl
cnMoKSB9KTsKIAogICAgIHZvaWQgZW1pdE1hdGVyaWFsaXplVGFnQ2hlY2tSZWdpc3RlcnMoKQog
ICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVnaXN0ZXJTZXQu
aCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVnaXN0ZXJTZXQuaAppbmRleCBjYTZjNWY5
NjUxZmViYjAzMTdmNzhlNjg4MDFhNThjODY3ZjJkOWNmLi5kNTA2ZjA2NDUyMDEzZmEyNzIzYzEz
Y2EyZDIwY2JiMzM3OWZmNDFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0
L1JlZ2lzdGVyU2V0LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9SZWdpc3RlclNl
dC5oCkBAIC0zMCw2ICszMCw3IEBACiAjaW5jbHVkZSAiR1BSSW5mby5oIgogI2luY2x1ZGUgIk1h
Y3JvQXNzZW1ibGVyLmgiCiAjaW5jbHVkZSAiUmVnLmgiCisjaW5jbHVkZSAiVGVtcFJlZ2lzdGVy
U2V0LmgiCiAjaW5jbHVkZSA8d3RmL0JpdG1hcC5oPgogCiBuYW1lc3BhY2UgSlNDIHsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvU2NyYXRjaFJlZ2lzdGVyQWxsb2NhdG9y
LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvU2NyYXRjaFJlZ2lzdGVyQWxsb2NhdG9y
LmNwcAppbmRleCAxODBkZTU5NTBjMjhiNzZjZjJmZDcyYjExNzJjNTBkMjRkZjExOGFjLi4yMjRl
MjUzNDkzNGI4ZjM2NWYyOThmZjg4OWU2NzZhZWM4MmYzNThjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaml0L1NjcmF0Y2hSZWdpc3RlckFsbG9jYXRvci5jcHAKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9TY3JhdGNoUmVnaXN0ZXJBbGxvY2F0b3IuY3BwCkBAIC00
NiwxNCArNDYsMjAgQEAgdm9pZCBTY3JhdGNoUmVnaXN0ZXJBbGxvY2F0b3I6OmxvY2soR1BSUmVn
IHJlZykKIHsKICAgICBpZiAocmVnID09IEludmFsaWRHUFJSZWcpCiAgICAgICAgIHJldHVybjsK
LSAgICBtX2xvY2tlZFJlZ2lzdGVycy5zZXQocmVnKTsKKyAgICB1bnNpZ25lZCBpbmRleCA9IEdQ
UkluZm86OnRvSW5kZXgocmVnKTsKKyAgICBpZiAoaW5kZXggPT0gR1BSSW5mbzo6SW52YWxpZElu
ZGV4KQorICAgICAgICByZXR1cm47CisgICAgbV9sb2NrZWRSZWdpc3RlcnMuc2V0R1BSQnlJbmRl
eChpbmRleCk7CiB9CiAKIHZvaWQgU2NyYXRjaFJlZ2lzdGVyQWxsb2NhdG9yOjpsb2NrKEZQUlJl
ZyByZWcpCiB7CiAgICAgaWYgKHJlZyA9PSBJbnZhbGlkRlBSUmVnKQogICAgICAgICByZXR1cm47
Ci0gICAgbV9sb2NrZWRSZWdpc3RlcnMuc2V0KHJlZyk7CisgICAgdW5zaWduZWQgaW5kZXggPSBG
UFJJbmZvOjp0b0luZGV4KHJlZyk7CisgICAgaWYgKGluZGV4ID09IEZQUkluZm86OkludmFsaWRJ
bmRleCkKKyAgICAgICAgcmV0dXJuOworICAgIG1fbG9ja2VkUmVnaXN0ZXJzLnNldEZQUkJ5SW5k
ZXgoaW5kZXgpOwogfQogCiB2b2lkIFNjcmF0Y2hSZWdpc3RlckFsbG9jYXRvcjo6bG9jayhKU1Zh
bHVlUmVncyByZWdzKQpAQCAtNjcsNyArNzMsNyBAQCB0eXBlbmFtZSBCYW5rSW5mbzo6UmVnaXN0
ZXJUeXBlIFNjcmF0Y2hSZWdpc3RlckFsbG9jYXRvcjo6YWxsb2NhdGVTY3JhdGNoKCkKIHsKICAg
ICAvLyBGaXJzdCB0cnkgdG8gYWxsb2NhdGUgYSByZWdpc3RlciB0aGF0IGlzIHRvdGFsbHkgZnJl
ZS4KICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgQmFua0luZm86Om51bWJlck9mUmVnaXN0
ZXJzOyArK2kpIHsKLSAgICAgICAgYXV0byByZWcgPSBCYW5rSW5mbzo6dG9SZWdpc3RlcihpKTsK
KyAgICAgICAgdHlwZW5hbWUgQmFua0luZm86OlJlZ2lzdGVyVHlwZSByZWcgPSBCYW5rSW5mbzo6
dG9SZWdpc3RlcihpKTsKICAgICAgICAgaWYgKCFtX2xvY2tlZFJlZ2lzdGVycy5nZXQocmVnKQog
ICAgICAgICAgICAgJiYgIW1fdXNlZFJlZ2lzdGVycy5nZXQocmVnKQogICAgICAgICAgICAgJiYg
IW1fc2NyYXRjaFJlZ2lzdGVycy5nZXQocmVnKSkgewpAQCAtNzksNyArODUsNyBAQCB0eXBlbmFt
ZSBCYW5rSW5mbzo6UmVnaXN0ZXJUeXBlIFNjcmF0Y2hSZWdpc3RlckFsbG9jYXRvcjo6YWxsb2Nh
dGVTY3JhdGNoKCkKICAgICAvLyBTaW5jZSB0aGF0IGZhaWxlZCwgdHJ5IHRvIGFsbG9jYXRlIGEg
cmVnaXN0ZXIgdGhhdCBpcyBub3QgeWV0CiAgICAgLy8gbG9ja2VkIG9yIHVzZWQgZm9yIHNjcmF0
Y2guCiAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IEJhbmtJbmZvOjpudW1iZXJPZlJlZ2lz
dGVyczsgKytpKSB7Ci0gICAgICAgIGF1dG8gcmVnID0gQmFua0luZm86OnRvUmVnaXN0ZXIoaSk7
CisgICAgICAgIHR5cGVuYW1lIEJhbmtJbmZvOjpSZWdpc3RlclR5cGUgcmVnID0gQmFua0luZm86
OnRvUmVnaXN0ZXIoaSk7CiAgICAgICAgIGlmICghbV9sb2NrZWRSZWdpc3RlcnMuZ2V0KHJlZykg
JiYgIW1fc2NyYXRjaFJlZ2lzdGVycy5nZXQocmVnKSkgewogICAgICAgICAgICAgbV9zY3JhdGNo
UmVnaXN0ZXJzLnNldChyZWcpOwogICAgICAgICAgICAgbV9udW1iZXJPZlJldXNlZFJlZ2lzdGVy
cysrOwpAQCAtMTA0LDE0ICsxMTAsMTIgQEAgU2NyYXRjaFJlZ2lzdGVyQWxsb2NhdG9yOjpQcmVz
ZXJ2ZWRTdGF0ZSBTY3JhdGNoUmVnaXN0ZXJBbGxvY2F0b3I6OnByZXNlcnZlUmV1c2UKICAgICBS
ZWdpc3RlclNldCByZWdpc3RlcnNUb1NwaWxsOwogICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkg
PCBGUFJJbmZvOjpudW1iZXJPZlJlZ2lzdGVyczsgKytpKSB7CiAgICAgICAgIEZQUlJlZyByZWcg
PSBGUFJJbmZvOjp0b1JlZ2lzdGVyKGkpOwotICAgICAgICBBU1NFUlQocmVnICE9IEludmFsaWRG
UFJSZWcpOwotICAgICAgICBpZiAobV9zY3JhdGNoUmVnaXN0ZXJzLmdldChyZWcpICYmIG1fdXNl
ZFJlZ2lzdGVycy5nZXQocmVnKSkKKyAgICAgICAgaWYgKG1fc2NyYXRjaFJlZ2lzdGVycy5nZXRG
UFJCeUluZGV4KGkpICYmIG1fdXNlZFJlZ2lzdGVycy5nZXQocmVnKSkKICAgICAgICAgICAgIHJl
Z2lzdGVyc1RvU3BpbGwuc2V0KHJlZyk7CiAgICAgfQogICAgIGZvciAodW5zaWduZWQgaSA9IDA7
IGkgPCBHUFJJbmZvOjpudW1iZXJPZlJlZ2lzdGVyczsgKytpKSB7CiAgICAgICAgIEdQUlJlZyBy
ZWcgPSBHUFJJbmZvOjp0b1JlZ2lzdGVyKGkpOwotICAgICAgICBBU1NFUlQocmVnICE9IEludmFs
aWRHUFJSZWcpOwotICAgICAgICBpZiAobV9zY3JhdGNoUmVnaXN0ZXJzLmdldChyZWcpICYmIG1f
dXNlZFJlZ2lzdGVycy5nZXQocmVnKSkKKyAgICAgICAgaWYgKG1fc2NyYXRjaFJlZ2lzdGVycy5n
ZXRHUFJCeUluZGV4KGkpICYmIG1fdXNlZFJlZ2lzdGVycy5nZXQocmVnKSkKICAgICAgICAgICAg
IHJlZ2lzdGVyc1RvU3BpbGwuc2V0KHJlZyk7CiAgICAgfQogCkBAIC0xMzAsMTQgKzEzNCwxMiBA
QCB2b2lkIFNjcmF0Y2hSZWdpc3RlckFsbG9jYXRvcjo6cmVzdG9yZVJldXNlZFJlZ2lzdGVyc0J5
UG9wcGluZyhBc3NlbWJseUhlbHBlcnMmCiAgICAgUmVnaXN0ZXJTZXQgcmVnaXN0ZXJzVG9GaWxs
OwogICAgIGZvciAodW5zaWduZWQgaSA9IEdQUkluZm86Om51bWJlck9mUmVnaXN0ZXJzOyBpLS07
KSB7CiAgICAgICAgIEdQUlJlZyByZWcgPSBHUFJJbmZvOjp0b1JlZ2lzdGVyKGkpOwotICAgICAg
ICBBU1NFUlQocmVnICE9IEludmFsaWRHUFJSZWcpOwotICAgICAgICBpZiAobV9zY3JhdGNoUmVn
aXN0ZXJzLmdldChyZWcpICYmIG1fdXNlZFJlZ2lzdGVycy5nZXQocmVnKSkKKyAgICAgICAgaWYg
KG1fc2NyYXRjaFJlZ2lzdGVycy5nZXRHUFJCeUluZGV4KGkpICYmIG1fdXNlZFJlZ2lzdGVycy5n
ZXQocmVnKSkKICAgICAgICAgICAgIHJlZ2lzdGVyc1RvRmlsbC5zZXQocmVnKTsKICAgICB9CiAg
ICAgZm9yICh1bnNpZ25lZCBpID0gRlBSSW5mbzo6bnVtYmVyT2ZSZWdpc3RlcnM7IGktLTspIHsK
ICAgICAgICAgRlBSUmVnIHJlZyA9IEZQUkluZm86OnRvUmVnaXN0ZXIoaSk7Ci0gICAgICAgIEFT
U0VSVChyZWcgIT0gSW52YWxpZEZQUlJlZyk7Ci0gICAgICAgIGlmIChtX3NjcmF0Y2hSZWdpc3Rl
cnMuZ2V0KHJlZykgJiYgbV91c2VkUmVnaXN0ZXJzLmdldChyZWcpKQorICAgICAgICBpZiAobV9z
Y3JhdGNoUmVnaXN0ZXJzLmdldEZQUkJ5SW5kZXgoaSkgJiYgbV91c2VkUmVnaXN0ZXJzLmdldChy
ZWcpKQogICAgICAgICAgICAgcmVnaXN0ZXJzVG9GaWxsLnNldChyZWcpOwogICAgIH0KIApkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9TY3JhdGNoUmVnaXN0ZXJBbGxvY2F0
b3IuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvU2NyYXRjaFJlZ2lzdGVyQWxsb2NhdG9y
LmgKaW5kZXggY2VlNjgxZDZlM2VhZDUxMDdmZmIxMGUxOTE4YzVlYmEyZGNiMGYzYS4uMWVkMTdi
MGUzZjJiOGRlMzM0NzdmNDFkMGQ2MWRmNjVjYjVmZWZjNyAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ppdC9TY3JhdGNoUmVnaXN0ZXJBbGxvY2F0b3IuaAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaml0L1NjcmF0Y2hSZWdpc3RlckFsbG9jYXRvci5oCkBAIC0yOCw2ICsy
OCw3IEBACiAjaWYgRU5BQkxFKEpJVCkKIAogI2luY2x1ZGUgIlJlZ2lzdGVyU2V0LmgiCisjaW5j
bHVkZSAiVGVtcFJlZ2lzdGVyU2V0LmgiCiAKIG5hbWVzcGFjZSBKU0MgewogCkBAIC05NSw4ICs5
Niw4IEBAIHB1YmxpYzoKIAogcHJpdmF0ZToKICAgICBSZWdpc3RlclNldCBtX3VzZWRSZWdpc3Rl
cnM7Ci0gICAgUmVnaXN0ZXJTZXQgbV9sb2NrZWRSZWdpc3RlcnM7Ci0gICAgUmVnaXN0ZXJTZXQg
bV9zY3JhdGNoUmVnaXN0ZXJzOworICAgIFRlbXBSZWdpc3RlclNldCBtX2xvY2tlZFJlZ2lzdGVy
czsKKyAgICBUZW1wUmVnaXN0ZXJTZXQgbV9zY3JhdGNoUmVnaXN0ZXJzOwogICAgIHVuc2lnbmVk
IG1fbnVtYmVyT2ZSZXVzZWRSZWdpc3RlcnM7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaml0L1RlbXBSZWdpc3RlclNldC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaml0L1RlbXBSZWdpc3RlclNldC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2YzNTIxZWEyNjE1NmE3ZDBj
MWI0YzJmY2M1YmMwYmFmZjM0MDZmZgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9qaXQvVGVtcFJlZ2lzdGVyU2V0LmNwcApAQCAtMCwwICsxLDUzIEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJ
UycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRP
UlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisg
KiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpbmNsdWRlICJjb25maWcu
aCIKKyNpbmNsdWRlICJUZW1wUmVnaXN0ZXJTZXQuaCIKKworI2lmIEVOQUJMRShBU1NFTUJMRVIp
CisKKyNpbmNsdWRlICJSZWdpc3RlclNldC5oIgorCituYW1lc3BhY2UgSlNDIHsKKworVGVtcFJl
Z2lzdGVyU2V0OjpUZW1wUmVnaXN0ZXJTZXQoY29uc3QgUmVnaXN0ZXJTZXQmIG90aGVyKQorewor
ICAgIGNsZWFyQWxsKCk7CisKKyAgICBmb3IgKHVuc2lnbmVkIGkgPSBHUFJJbmZvOjpudW1iZXJP
ZlJlZ2lzdGVyczsgaS0tOykgeworICAgICAgICBHUFJSZWcgcmVnID0gR1BSSW5mbzo6dG9SZWdp
c3RlcihpKTsKKyAgICAgICAgaWYgKG90aGVyLmdldChyZWcpKQorICAgICAgICAgICAgc2V0KHJl
Zyk7CisgICAgfQorICAgIGZvciAodW5zaWduZWQgaSA9IEZQUkluZm86Om51bWJlck9mUmVnaXN0
ZXJzOyBpLS07KSB7CisgICAgICAgIEZQUlJlZyByZWcgPSBGUFJJbmZvOjp0b1JlZ2lzdGVyKGkp
OworICAgICAgICBpZiAob3RoZXIuZ2V0KHJlZykpCisgICAgICAgICAgICBzZXQocmVnKTsKKyAg
ICB9Cit9CisKK30gLy8gbmFtZXNwYWNlIEpTQworCisjZW5kaWYgLy8gRU5BQkxFKEFTU0VNQkxF
UikKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvVGVtcFJlZ2lzdGVyU2V0
LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1RlbXBSZWdpc3RlclNldC5oCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjc5NzE5ZmMxNzdhNTljMGI2MzY4NDRiYmMyOTYxODE3MjQwMDI3ZTkKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1RlbXBSZWdpc3RlclNldC5oCkBAIC0w
LDAgKzEsMjE5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyLCAyMDEzIEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
IAorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxFKEFTU0VNQkxFUikKKworI2luY2x1
ZGUgIkZQUkluZm8uaCIKKyNpbmNsdWRlICJHUFJJbmZvLmgiCisKK25hbWVzcGFjZSBKU0Mgewor
CitjbGFzcyBSZWdpc3RlclNldDsKKworY2xhc3MgVGVtcFJlZ2lzdGVyU2V0IHsKK3B1YmxpYzoK
KyAgICBUZW1wUmVnaXN0ZXJTZXQoKQorICAgIHsKKyAgICAgICAgY2xlYXJBbGwoKTsKKyAgICB9
CisgICAgCisgICAgVGVtcFJlZ2lzdGVyU2V0KGNvbnN0IFJlZ2lzdGVyU2V0Jik7CisgICAgCisg
ICAgdm9pZCBzZXQoR1BSUmVnIHJlZykKKyAgICB7CisgICAgICAgIHNldEJpdChHUFJJbmZvOjp0
b0luZGV4KHJlZykpOworICAgIH0KKyAgICAKKyAgICB2b2lkIHNldChKU1ZhbHVlUmVncyByZWdz
KQorICAgIHsKKyAgICAgICAgaWYgKHJlZ3MudGFnR1BSKCkgIT0gSW52YWxpZEdQUlJlZykKKyAg
ICAgICAgICAgIHNldChyZWdzLnRhZ0dQUigpKTsKKyAgICAgICAgc2V0KHJlZ3MucGF5bG9hZEdQ
UigpKTsKKyAgICB9CisgICAgCisgICAgdm9pZCBzZXRHUFJCeUluZGV4KHVuc2lnbmVkIGluZGV4
KQorICAgIHsKKyAgICAgICAgQVNTRVJUKGluZGV4IDwgR1BSSW5mbzo6bnVtYmVyT2ZSZWdpc3Rl
cnMpOworICAgICAgICBzZXRCaXQoaW5kZXgpOworICAgIH0KKyAgICAKKyAgICB2b2lkIGNsZWFy
KEdQUlJlZyByZWcpCisgICAgeworICAgICAgICBjbGVhckJpdChHUFJJbmZvOjp0b0luZGV4KHJl
ZykpOworICAgIH0KKyAgICAKKyAgICBib29sIGdldChHUFJSZWcgcmVnKSBjb25zdAorICAgIHsK
KyAgICAgICAgcmV0dXJuIGdldEJpdChHUFJJbmZvOjp0b0luZGV4KHJlZykpOworICAgIH0KKyAg
ICAKKyAgICBib29sIGdldEdQUkJ5SW5kZXgodW5zaWduZWQgaW5kZXgpIGNvbnN0CisgICAgewor
ICAgICAgICBBU1NFUlQoaW5kZXggPCBHUFJJbmZvOjpudW1iZXJPZlJlZ2lzdGVycyk7CisgICAg
ICAgIHJldHVybiBnZXRCaXQoaW5kZXgpOworICAgIH0KKyAgICAKKyAgICAvLyBSZXR1cm4gdGhl
IGluZGV4J3RoIGZyZWUgR1BSLgorICAgIEdQUlJlZyBnZXRGcmVlR1BSKHVuc2lnbmVkIGluZGV4
ID0gMCkgY29uc3QKKyAgICB7CisgICAgICAgIGZvciAodW5zaWduZWQgaSA9IEdQUkluZm86Om51
bWJlck9mUmVnaXN0ZXJzOyBpLS07KSB7CisgICAgICAgICAgICBpZiAoIWdldEdQUkJ5SW5kZXgo
aSkgJiYgIWluZGV4LS0pCisgICAgICAgICAgICAgICAgcmV0dXJuIEdQUkluZm86OnRvUmVnaXN0
ZXIoaSk7CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJuIEludmFsaWRHUFJSZWc7CisgICAgfQor
ICAgIAorICAgIHZvaWQgc2V0KEZQUlJlZyByZWcpCisgICAgeworICAgICAgICBzZXRCaXQoR1BS
SW5mbzo6bnVtYmVyT2ZSZWdpc3RlcnMgKyBGUFJJbmZvOjp0b0luZGV4KHJlZykpOworICAgIH0K
KyAgICAKKyAgICB2b2lkIHNldEZQUkJ5SW5kZXgodW5zaWduZWQgaW5kZXgpCisgICAgeworICAg
ICAgICBBU1NFUlQoaW5kZXggPCBGUFJJbmZvOjpudW1iZXJPZlJlZ2lzdGVycyk7CisgICAgICAg
IHNldEJpdChHUFJJbmZvOjpudW1iZXJPZlJlZ2lzdGVycyArIGluZGV4KTsKKyAgICB9CisgICAg
CisgICAgdm9pZCBjbGVhcihGUFJSZWcgcmVnKQorICAgIHsKKyAgICAgICAgY2xlYXJCaXQoR1BS
SW5mbzo6bnVtYmVyT2ZSZWdpc3RlcnMgKyBGUFJJbmZvOjp0b0luZGV4KHJlZykpOworICAgIH0K
KyAgICAKKyAgICBib29sIGdldChGUFJSZWcgcmVnKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0
dXJuIGdldEJpdChHUFJJbmZvOjpudW1iZXJPZlJlZ2lzdGVycyArIEZQUkluZm86OnRvSW5kZXgo
cmVnKSk7CisgICAgfQorICAgIAorICAgIGJvb2wgZ2V0RlBSQnlJbmRleCh1bnNpZ25lZCBpbmRl
eCkgY29uc3QKKyAgICB7CisgICAgICAgIEFTU0VSVChpbmRleCA8IEZQUkluZm86Om51bWJlck9m
UmVnaXN0ZXJzKTsKKyAgICAgICAgcmV0dXJuIGdldEJpdChHUFJJbmZvOjpudW1iZXJPZlJlZ2lz
dGVycyArIGluZGV4KTsKKyAgICB9CisgICAgCisgICAgLy8gUmV0dXJuIHRoZSBpbmRleCd0aCBm
cmVlIEZQUi4KKyAgICBGUFJSZWcgZ2V0RnJlZUZQUih1bnNpZ25lZCBpbmRleCA9IDApIGNvbnN0
CisgICAgeworICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSBGUFJJbmZvOjpudW1iZXJPZlJlZ2lz
dGVyczsgaS0tOykgeworICAgICAgICAgICAgaWYgKCFnZXRGUFJCeUluZGV4KGkpICYmICFpbmRl
eC0tKQorICAgICAgICAgICAgICAgIHJldHVybiBGUFJJbmZvOjp0b1JlZ2lzdGVyKGkpOworICAg
ICAgICB9CisgICAgICAgIHJldHVybiBJbnZhbGlkRlBSUmVnOworICAgIH0KKworICAgIHRlbXBs
YXRlPHR5cGVuYW1lIEJhbmtJbmZvPgorICAgIHZvaWQgc2V0QnlJbmRleCh1bnNpZ25lZCBpbmRl
eCkKKyAgICB7CisgICAgICAgIHNldChCYW5rSW5mbzo6dG9SZWdpc3RlcihpbmRleCkpOworICAg
IH0KKyAgICAKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBCYW5rSW5mbz4KKyAgICBib29sIGdldEJ5
SW5kZXgodW5zaWduZWQgaW5kZXgpCisgICAgeworICAgICAgICByZXR1cm4gZ2V0KEJhbmtJbmZv
Ojp0b1JlZ2lzdGVyKGluZGV4KSk7CisgICAgfQorICAgIAorICAgIHVuc2lnbmVkIG51bWJlck9m
U2V0R1BScygpIGNvbnN0CisgICAgeworICAgICAgICB1bnNpZ25lZCByZXN1bHQgPSAwOworICAg
ICAgICBmb3IgKHVuc2lnbmVkIGkgPSBHUFJJbmZvOjpudW1iZXJPZlJlZ2lzdGVyczsgaS0tOykg
eworICAgICAgICAgICAgaWYgKCFnZXRCaXQoaSkpCisgICAgICAgICAgICAgICAgY29udGludWU7
CisgICAgICAgICAgICByZXN1bHQrKzsKKyAgICAgICAgfQorICAgICAgICByZXR1cm4gcmVzdWx0
OworICAgIH0KKyAgICAKKyAgICB1bnNpZ25lZCBudW1iZXJPZlNldEZQUnMoKSBjb25zdAorICAg
IHsKKyAgICAgICAgdW5zaWduZWQgcmVzdWx0ID0gMDsKKyAgICAgICAgZm9yICh1bnNpZ25lZCBp
ID0gRlBSSW5mbzo6bnVtYmVyT2ZSZWdpc3RlcnM7IGktLTspIHsKKyAgICAgICAgICAgIGlmICgh
Z2V0Qml0KEdQUkluZm86Om51bWJlck9mUmVnaXN0ZXJzICsgaSkpCisgICAgICAgICAgICAgICAg
Y29udGludWU7CisgICAgICAgICAgICByZXN1bHQrKzsKKyAgICAgICAgfQorICAgICAgICByZXR1
cm4gcmVzdWx0OworICAgIH0KKyAgICAKKyAgICB1bnNpZ25lZCBudW1iZXJPZlNldFJlZ2lzdGVy
cygpIGNvbnN0CisgICAgeworICAgICAgICB1bnNpZ25lZCByZXN1bHQgPSAwOworICAgICAgICBm
b3IgKHVuc2lnbmVkIGkgPSB0b3RhbE51bWJlck9mUmVnaXN0ZXJzOyBpLS07KSB7CisgICAgICAg
ICAgICBpZiAoIWdldEJpdChpKSkKKyAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAg
ICAgIHJlc3VsdCsrOworICAgICAgICB9CisgICAgICAgIHJldHVybiByZXN1bHQ7CisgICAgfQor
ICAgIAorcHJpdmF0ZToKKyAgICB2b2lkIGNsZWFyQWxsKCkKKyAgICB7CisgICAgICAgIGZvciAo
dW5zaWduZWQgaSA9IG51bWJlck9mQnl0ZXNJblRlbXBSZWdpc3RlclNldDsgaS0tOykKKyAgICAg
ICAgICAgIG1fc2V0W2ldID0gMDsKKyAgICB9CisKKyAgICB2b2lkIHNldEJpdCh1bnNpZ25lZCBp
KQorICAgIHsKKyAgICAgICAgQVNTRVJUKGkgPCB0b3RhbE51bWJlck9mUmVnaXN0ZXJzKTsKKyAg
ICAgICAgbV9zZXRbaSA+PiAzXSB8PSAoMSA8PCAoaSAmIDcpKTsKKyAgICB9CisgICAgCisgICAg
dm9pZCBjbGVhckJpdCh1bnNpZ25lZCBpKQorICAgIHsKKyAgICAgICAgQVNTRVJUKGkgPCB0b3Rh
bE51bWJlck9mUmVnaXN0ZXJzKTsKKyAgICAgICAgbV9zZXRbaSA+PiAzXSAmPSB+KDEgPDwgKGkg
JiA3KSk7CisgICAgfQorICAgIAorICAgIGJvb2wgZ2V0Qml0KHVuc2lnbmVkIGkpIGNvbnN0Cisg
ICAgeworICAgICAgICBBU1NFUlQoaSA8IHRvdGFsTnVtYmVyT2ZSZWdpc3RlcnMpOworICAgICAg
ICByZXR1cm4gISEobV9zZXRbaSA+PiAzXSAmICgxIDw8IChpICYgNykpKTsKKyAgICB9CisgICAg
CisgICAgc3RhdGljIGNvbnN0ZXhwciB1bnNpZ25lZCB0b3RhbE51bWJlck9mUmVnaXN0ZXJzID0K
KyAgICAgICAgR1BSSW5mbzo6bnVtYmVyT2ZSZWdpc3RlcnMgKyBGUFJJbmZvOjpudW1iZXJPZlJl
Z2lzdGVyczsKKyAgICAKKyAgICBzdGF0aWMgY29uc3RleHByIHVuc2lnbmVkIG51bWJlck9mQnl0
ZXNJblRlbXBSZWdpc3RlclNldCA9CisgICAgICAgICh0b3RhbE51bWJlck9mUmVnaXN0ZXJzICsg
NykgPj4gMzsKKworICAgIHVpbnQ4X3QgbV9zZXRbbnVtYmVyT2ZCeXRlc0luVGVtcFJlZ2lzdGVy
U2V0XTsKK307CisKK30gLy8gbmFtZXNwYWNlIEpTQworCisjZWxzZSAvLyBFTkFCTEUoQVNTRU1C
TEVSKSAtPiBzbyBpZiBKSVQgaXMgZGlzYWJsZWQKKworbmFtZXNwYWNlIEpTQyB7CisKKy8vIERl
ZmluZSBUZW1wUmVnaXN0ZXJTZXQgdG8gc29tZXRoaW5nLCB0byBtYWtlIGl0IGVhc2llciB0byBy
ZWZlciB0byB0aGlzIHR5cGUgaW4gY29kZSB0aGF0CisvLyBtYWtlIGJlIGNvbXBpbGVkIHdoZW4g
dGhlIEpJVCBpcyBkaXNhYmxlZC4KKworc3RydWN0IFRlbXBSZWdpc3RlclNldCB7IH07CisKK30g
Ly8gbmFtZXNwYWNlIEpTQworCisjZW5kaWYgLy8gRU5BQkxFKEFTU0VNQkxFUikK
</data>

          </attachment>
      

    </bug>

</bugzilla>