<?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>108821</bug_id>
          
          <creation_ts>2013-02-04 06:38:29 -0800</creation_ts>
          <short_desc>Web Inspector: simplify Memory.getDOMNodeCount implementation</short_desc>
          <delta_ts>2013-02-08 08:06:09 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Inspector (Deprecated)</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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>
          <dependson>108822</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Yury Semikhatsky">yurys</reporter>
          <assigned_to name="Yury Semikhatsky">yurys</assigned_to>
          <cc>apavlov</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>vsevik</cc>
    
    <cc>web-inspector-bugs</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>824313</commentid>
    <comment_count>0</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2013-02-04 06:38:29 -0800</bug_when>
    <thetext>This method is used for automatic tests in Chromium and the test only uses total number of nodes and event listeners. These values can be retrieved from InspectorCounters while at the moment the code traverses DOM node wrappers and DOM trees to collect the information.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>824328</commentid>
    <comment_count>1</comment_count>
      <attachid>186369</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2013-02-04 07:02:41 -0800</bug_when>
    <thetext>Created attachment 186369
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>824445</commentid>
    <comment_count>2</comment_count>
      <attachid>186369</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-02-04 09:30:44 -0800</bug_when>
    <thetext>Comment on attachment 186369
Patch

Attachment 186369 did not pass win-ews (win):
Output: http://queues.webkit.org/results/16378156</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>828582</commentid>
    <comment_count>3</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2013-02-08 08:06:09 -0800</bug_when>
    <thetext>Committed r142281: &lt;http://trac.webkit.org/changeset/142281&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>186369</attachid>
            <date>2013-02-04 07:02:41 -0800</date>
            <delta_ts>2013-02-08 07:52:14 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-108821-20130204185920.patch</filename>
            <type>text/plain</type>
            <size>14358</size>
            <attacher name="Yury Semikhatsky">yurys</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQxNzYyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjhiODg0MGI3MjI4NDM0
YjA3ODUxNTQ3YjQ3YzM3MDc3NjEwOTIxMC4uOGVlZjRhNTY3ZDdjNDRhMjMxYjQ4NjNjMjI2MzYw
MzFkN2QxNWY4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEzLTAyLTA0ICBZdXJ5
IFNlbWlraGF0c2t5ICA8eXVyeXNAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0
b3I6IHNpbXBsaWZ5IE1lbW9yeS5nZXRET01Ob2RlQ291bnQgaW1wbGVtZW50YXRpb24KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwODgyMQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbW92ZWQgTWVtb3J5
LmdldERPTU5vZGVDb3VudCBjb21tYW5kIGZyb20gdGhlIHByb3RvY29sLiBNZW1vcnkuZ2V0RE9N
Q291bnRlcnMKKyAgICAgICAgc2hvdWxkIGJlIHVzZWQgaW5zdGVhZC4KKworICAgICAgICAqIGlu
c3BlY3Rvci9JbnNwZWN0b3IuanNvbjoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yTWVt
b3J5QWdlbnQuY3BwOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JNZW1vcnlBZ2VudC5o
OgorICAgICAgICAoSW5zcGVjdG9yTWVtb3J5QWdlbnQpOgorCiAyMDEzLTAyLTA0ICBEYXZpZCBL
aWx6ZXIgIDxkZGtpbHplckBhcHBsZS5jb20+CiAKICAgICAgICAgUmVtb3ZlIGR1cGxpY2F0ZSBl
bnRyeSBmcm9tIFdlYkNvcmUgWGNvZGUgcHJvamVjdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3Rvci5qc29uIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3Rvci5qc29uCmluZGV4IDZlMjRhYjc3MTQxMDVmOTNhNWE1YmM4OTI3NDU1NTQ1OTU3NzRi
YjkuLmMwM2JkOGM0NWYzNTliZTI1ZjExOGRlOTc2ZWMwNGU3YmU3NjhhNTcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuanNvbgorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmpzb24KQEAgLTQzLDQ1ICs0Myw2IEBACiAgICAgICAg
ICJoaWRkZW4iOiB0cnVlLAogICAgICAgICAidHlwZXMiOiBbCiAgICAgICAgICAgICB7Ci0gICAg
ICAgICAgICAgICAgImlkIjogIk5vZGVDb3VudCIsCi0gICAgICAgICAgICAgICAgInR5cGUiOiAi
b2JqZWN0IiwKLSAgICAgICAgICAgICAgICAicHJvcGVydGllcyI6IFsKLSAgICAgICAgICAgICAg
ICAgICAgeyAibmFtZSI6ICJub2RlTmFtZSIsICJ0eXBlIjogInN0cmluZyIgfSwKLSAgICAgICAg
ICAgICAgICAgICAgeyAibmFtZSI6ICJjb3VudCIsICJ0eXBlIjogImludGVnZXIiIH0KLSAgICAg
ICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJOdW1iZXIgb2Yg
bm9kZXMgd2l0aCBnaXZlbiBuYW1lLiIKLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0g
ICAgICAgICAgICAgICAgImlkIjogIkxpc3RlbmVyQ291bnQiLAotICAgICAgICAgICAgICAgICJ0
eXBlIjogIm9iamVjdCIsCi0gICAgICAgICAgICAgICAgInByb3BlcnRpZXMiOiBbCi0gICAgICAg
ICAgICAgICAgICAgIHsgIm5hbWUiOiAidHlwZSIsICJ0eXBlIjogInN0cmluZyIgfSwKLSAgICAg
ICAgICAgICAgICAgICAgeyAibmFtZSI6ICJjb3VudCIsICJ0eXBlIjogImludGVnZXIiIH0KLSAg
ICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJOdW1iZXIg
b2YgSlMgZXZlbnQgbGlzdGVuZXJzIGJ5IGV2ZW50IHR5cGUuIgotICAgICAgICAgICAgfSwKLSAg
ICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAiaWQiOiAiU3RyaW5nU3RhdGlzdGljcyIsCi0g
ICAgICAgICAgICAgICAgInR5cGUiOiAib2JqZWN0IiwKLSAgICAgICAgICAgICAgICAicHJvcGVy
dGllcyI6IFsKLSAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJkb20iLCAidHlwZSI6ICJp
bnRlZ2VyIiB9LAotICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogImpzIiwgInR5cGUiOiAi
aW50ZWdlciIgfSwKLSAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJzaGFyZWQiLCAidHlw
ZSI6ICJpbnRlZ2VyIiB9Ci0gICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICAiZGVz
Y3JpcHRpb24iOiAiQ2hhcmFjdGVyIGRhdGEgc3RhdGlzdGljcyBmb3IgdGhlIHBhZ2UuIgotICAg
ICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAiaWQiOiAiRE9NR3Jv
dXAiLAotICAgICAgICAgICAgICAgICJ0eXBlIjogIm9iamVjdCIsCi0gICAgICAgICAgICAgICAg
InByb3BlcnRpZXMiOiBbCi0gICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAic2l6ZSIsICJ0
eXBlIjogImludGVnZXIiIH0sCi0gICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAidGl0bGUi
LCAidHlwZSI6ICJzdHJpbmciIH0sCi0gICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAiZG9j
dW1lbnRVUkkiLCAidHlwZSI6ICJzdHJpbmciLCAib3B0aW9uYWwiOiB0cnVlIH0sCi0gICAgICAg
ICAgICAgICAgICAgIHsgIm5hbWUiOiAibm9kZUNvdW50IiwgInR5cGUiOiAiYXJyYXkiLCAiaXRl
bXMiOiB7ICIkcmVmIjogIk5vZGVDb3VudCIgfX0sCi0gICAgICAgICAgICAgICAgICAgIHsgIm5h
bWUiOiAibGlzdGVuZXJDb3VudCIsICJ0eXBlIjogImFycmF5IiwgIml0ZW1zIjogeyAiJHJlZiI6
ICJMaXN0ZW5lckNvdW50IiB9fQotICAgICAgICAgICAgICAgIF0KLSAgICAgICAgICAgIH0sCi0g
ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgImlkIjogIk1lbW9yeUJsb2NrIiwKICAgICAg
ICAgICAgICAgICAidHlwZSI6ICJvYmplY3QiLAogICAgICAgICAgICAgICAgICJwcm9wZXJ0aWVz
IjogWwpAQCAtOTMsMTMgKzU0LDYgQEAKICAgICAgICAgXSwKICAgICAgICAgImNvbW1hbmRzIjog
WwogICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJuYW1lIjogImdldERPTU5vZGVDb3Vu
dCIsCi0gICAgICAgICAgICAgICAgInJldHVybnMiOiBbCi0gICAgICAgICAgICAgICAgICAgIHsg
Im5hbWUiOiAiZG9tR3JvdXBzIiwgInR5cGUiOiAiYXJyYXkiLCAiaXRlbXMiOiB7ICIkcmVmIjog
IkRPTUdyb3VwIiB9fSwKLSAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJzdHJpbmdzIiwg
IiRyZWYiOiAiU3RyaW5nU3RhdGlzdGljcyIgfQotICAgICAgICAgICAgICAgIF0KLSAgICAgICAg
ICAgIH0sCi0gICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgIm5hbWUiOiAiZ2V0UHJvY2Vz
c01lbW9yeURpc3RyaWJ1dGlvbiIsCiAgICAgICAgICAgICAgICAgInBhcmFtZXRlcnMiOiBbCiAg
ICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAicmVwb3J0R3JhcGgiLCAidHlwZSI6ICJib29s
ZWFuIiwgIm9wdGlvbmFsIjogdHJ1ZSwgImRlc2NyaXB0aW9uIjogIldoZXRoZXIgbmF0aXZlIG1l
bW9yeSBncmFwaCBzaG91bGQgYmUgcmVwb3J0ZWQgaW4gYWRkaXRpb24gdG8gYWdncmVnYXRlZCBz
dGF0aXN0aWNzLiIgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3Rvck1lbW9yeUFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JN
ZW1vcnlBZ2VudC5jcHAKaW5kZXggMDk5ZTA2ZjY5NjhlZGNjOTJhZDU5MzY1MjFhYzczMmM4ZGMx
NDdjZS4uYTAxOWY1MWUxODgwYjRkMDQzMzk5ZTVlNTUxODM5MmEyYzNkYzI3ZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvck1lbW9yeUFnZW50LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yTWVtb3J5QWdlbnQuY3BwCkBAIC02
NiwxMSArNjYsNiBAQAogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0ltcGwuaD4KICNpbmNsdWRl
IDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAotdXNpbmcgV2ViQ29yZTo6VHlwZUJ1aWxkZXI6Ok1l
bW9yeTo6RE9NR3JvdXA7Ci11c2luZyBXZWJDb3JlOjpUeXBlQnVpbGRlcjo6TWVtb3J5OjpMaXN0
ZW5lckNvdW50OwotdXNpbmcgV2ViQ29yZTo6VHlwZUJ1aWxkZXI6Ok1lbW9yeTo6Tm9kZUNvdW50
OwotdXNpbmcgV2ViQ29yZTo6VHlwZUJ1aWxkZXI6Ok1lbW9yeTo6U3RyaW5nU3RhdGlzdGljczsK
LQogLy8gVXNlIGEgdHlwZSBhbGlhcyBpbnN0ZWFkIG9mICd1c2luZycgaGVyZSB3aGljaCB3b3Vs
ZCBjYXVzZSBhIGNvbmZsaWN0IG9uIE1hYy4KIHR5cGVkZWYgV2ViQ29yZTo6VHlwZUJ1aWxkZXI6
Ok1lbW9yeTo6TWVtb3J5QmxvY2sgSW5zcGVjdG9yTWVtb3J5QmxvY2s7CiB0eXBlZGVmIFdlYkNv
cmU6OlR5cGVCdWlsZGVyOjpBcnJheTxJbnNwZWN0b3JNZW1vcnlCbG9jaz4gSW5zcGVjdG9yTWVt
b3J5QmxvY2tzOwpAQCAtMTQ5LDIxOSArMTQ0LDYgQEAgcHJpdmF0ZToKICAgICBUeXBlTmFtZVRv
U2l6ZU1hcCBtX3NpemVzTWFwOwogfTsKIAotU3RyaW5nIG5vZGVOYW1lKE5vZGUqIG5vZGUpCi17
Ci0gICAgaWYgKG5vZGUtPmRvY3VtZW50KCktPmlzWEhUTUxEb2N1bWVudCgpKQotICAgICAgICAg
cmV0dXJuIG5vZGUtPm5vZGVOYW1lKCk7Ci0gICAgcmV0dXJuIG5vZGUtPm5vZGVOYW1lKCkubG93
ZXIoKTsKLX0KLQotdHlwZWRlZiBIYXNoU2V0PFN0cmluZ0ltcGwqLCBQdHJIYXNoPFN0cmluZ0lt
cGwqPiA+IFN0cmluZ0ltcGxJZGVudGl0eVNldDsKLQotY2xhc3MgQ2hhcmFjdGVyRGF0YVN0YXRp
c3RpY3MgewotICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENoYXJhY3RlckRhdGFTdGF0aXN0aWNz
KTsKLXB1YmxpYzoKLSAgICBDaGFyYWN0ZXJEYXRhU3RhdGlzdGljcygpIDogbV9jaGFyYWN0ZXJE
YXRhU2l6ZSgwKSB7IH0KLQotICAgIHZvaWQgY29sbGVjdENoYXJhY3RlckRhdGEoTm9kZSogbm9k
ZSkKLSAgICB7Ci0gICAgICAgIGlmICghbm9kZS0+aXNDaGFyYWN0ZXJEYXRhTm9kZSgpKQotICAg
ICAgICAgICAgcmV0dXJuOwotCi0gICAgICAgIENoYXJhY3RlckRhdGEqIGNoYXJhY3RlckRhdGEg
PSBzdGF0aWNfY2FzdDxDaGFyYWN0ZXJEYXRhKj4obm9kZSk7Ci0gICAgICAgIFN0cmluZ0ltcGwq
IGRhdGFJbXBsID0gY2hhcmFjdGVyRGF0YS0+ZGF0YUltcGwoKTsKLSAgICAgICAgaWYgKG1fZG9t
U3RyaW5nSW1wbFNldC5jb250YWlucyhkYXRhSW1wbCkpCi0gICAgICAgICAgICByZXR1cm47Ci0g
ICAgICAgIG1fZG9tU3RyaW5nSW1wbFNldC5hZGQoZGF0YUltcGwpOwotCi0gICAgICAgIG1fY2hh
cmFjdGVyRGF0YVNpemUgKz0gZGF0YUltcGwtPnNpemVJbkJ5dGVzKCk7Ci0gICAgfQotCi0gICAg
Ym9vbCBjb250YWlucyhTdHJpbmdJbXBsKiBzKSB7IHJldHVybiBtX2RvbVN0cmluZ0ltcGxTZXQu
Y29udGFpbnMocyk7IH0KLQotICAgIGludCBjaGFyYWN0ZXJEYXRhU2l6ZSgpIHsgcmV0dXJuIG1f
Y2hhcmFjdGVyRGF0YVNpemU7IH0KLQotcHJpdmF0ZToKLSAgICBTdHJpbmdJbXBsSWRlbnRpdHlT
ZXQgbV9kb21TdHJpbmdJbXBsU2V0OwotICAgIGludCBtX2NoYXJhY3RlckRhdGFTaXplOwotfTsK
LQotY2xhc3MgRE9NVHJlZVN0YXRpc3RpY3MgewotICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERP
TVRyZWVTdGF0aXN0aWNzKTsKLXB1YmxpYzoKLSAgICBET01UcmVlU3RhdGlzdGljcyhOb2RlKiBy
b290Tm9kZSwgQ2hhcmFjdGVyRGF0YVN0YXRpc3RpY3MmIGNoYXJhY3RlckRhdGFTdGF0aXN0aWNz
KQotICAgICAgICA6IG1fdG90YWxOb2RlQ291bnQoMCkKLSAgICAgICAgLCBtX2NoYXJhY3RlckRh
dGFTdGF0aXN0aWNzKGNoYXJhY3RlckRhdGFTdGF0aXN0aWNzKQotICAgIHsKLSAgICAgICAgY29s
bGVjdFRyZWVTdGF0aXN0aWNzKHJvb3ROb2RlKTsKLSAgICB9Ci0KLSAgICBpbnQgdG90YWxOb2Rl
Q291bnQoKSB7IHJldHVybiBtX3RvdGFsTm9kZUNvdW50OyB9Ci0KLSAgICBQYXNzUmVmUHRyPFR5
cGVCdWlsZGVyOjpBcnJheTxUeXBlQnVpbGRlcjo6TWVtb3J5OjpOb2RlQ291bnQ+ID4gbm9kZUNv
dW50KCkKLSAgICB7Ci0gICAgICAgIFJlZlB0cjxUeXBlQnVpbGRlcjo6QXJyYXk8VHlwZUJ1aWxk
ZXI6Ok1lbW9yeTo6Tm9kZUNvdW50PiA+IGNoaWxkcmVuU3RhdHMgPSBUeXBlQnVpbGRlcjo6QXJy
YXk8VHlwZUJ1aWxkZXI6Ok1lbW9yeTo6Tm9kZUNvdW50Pjo6Y3JlYXRlKCk7Ci0gICAgICAgIGZv
ciAoSGFzaE1hcDxTdHJpbmcsIGludD46Oml0ZXJhdG9yIGl0ID0gbV9ub2RlTmFtZVRvQ291bnQu
YmVnaW4oKTsgaXQgIT0gbV9ub2RlTmFtZVRvQ291bnQuZW5kKCk7ICsraXQpIHsKLSAgICAgICAg
ICAgIFJlZlB0cjxOb2RlQ291bnQ+IG5vZGVDb3VudCA9IE5vZGVDb3VudDo6Y3JlYXRlKCkuc2V0
Tm9kZU5hbWUoaXQtPmtleSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAuc2V0Q291bnQoaXQtPnZhbHVlKTsKLSAgICAgICAgICAg
IGNoaWxkcmVuU3RhdHMtPmFkZEl0ZW0obm9kZUNvdW50KTsKLSAgICAgICAgfQotICAgICAgICBy
ZXR1cm4gY2hpbGRyZW5TdGF0cy5yZWxlYXNlKCk7Ci0gICAgfQotCi0gICAgUGFzc1JlZlB0cjxU
eXBlQnVpbGRlcjo6QXJyYXk8VHlwZUJ1aWxkZXI6Ok1lbW9yeTo6TGlzdGVuZXJDb3VudD4gPiBs
aXN0ZW5lckNvdW50KCkKLSAgICB7Ci0gICAgICAgIFJlZlB0cjxUeXBlQnVpbGRlcjo6QXJyYXk8
VHlwZUJ1aWxkZXI6Ok1lbW9yeTo6TGlzdGVuZXJDb3VudD4gPiBsaXN0ZW5lclN0YXRzID0gVHlw
ZUJ1aWxkZXI6OkFycmF5PFR5cGVCdWlsZGVyOjpNZW1vcnk6Okxpc3RlbmVyQ291bnQ+OjpjcmVh
dGUoKTsKLSAgICAgICAgZm9yIChIYXNoTWFwPEF0b21pY1N0cmluZywgaW50Pjo6aXRlcmF0b3Ig
aXQgPSBtX2V2ZW50VHlwZVRvQ291bnQuYmVnaW4oKTsgaXQgIT0gbV9ldmVudFR5cGVUb0NvdW50
LmVuZCgpOyArK2l0KSB7Ci0gICAgICAgICAgICBSZWZQdHI8TGlzdGVuZXJDb3VudD4gbGlzdGVu
ZXJDb3VudCA9IExpc3RlbmVyQ291bnQ6OmNyZWF0ZSgpLnNldFR5cGUoaXQtPmtleSkKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAuc2V0Q291bnQoaXQtPnZhbHVlKTsKLSAgICAgICAgICAgIGxpc3RlbmVyU3Rh
dHMtPmFkZEl0ZW0obGlzdGVuZXJDb3VudCk7Ci0gICAgICAgIH0KLSAgICAgICAgcmV0dXJuIGxp
c3RlbmVyU3RhdHMucmVsZWFzZSgpOwotICAgIH0KLQotcHJpdmF0ZToKLSAgICB2b2lkIGNvbGxl
Y3RUcmVlU3RhdGlzdGljcyhOb2RlKiByb290Tm9kZSkKLSAgICB7Ci0gICAgICAgIE5vZGUqIGN1
cnJlbnROb2RlID0gcm9vdE5vZGU7Ci0gICAgICAgIGNvbGxlY3RMaXN0ZW5lcnNJbmZvKHJvb3RO
b2RlKTsKLSAgICAgICAgd2hpbGUgKChjdXJyZW50Tm9kZSA9IE5vZGVUcmF2ZXJzYWw6Om5leHQo
Y3VycmVudE5vZGUsIHJvb3ROb2RlKSkpIHsKLSAgICAgICAgICAgICsrbV90b3RhbE5vZGVDb3Vu
dDsKLSAgICAgICAgICAgIGNvbGxlY3ROb2RlU3RhdGlzdGljcyhjdXJyZW50Tm9kZSk7Ci0gICAg
ICAgIH0KLSAgICB9Ci0gICAgdm9pZCBjb2xsZWN0Tm9kZVN0YXRpc3RpY3MoTm9kZSogbm9kZSkK
LSAgICB7Ci0gICAgICAgIG1fY2hhcmFjdGVyRGF0YVN0YXRpc3RpY3MuY29sbGVjdENoYXJhY3Rl
ckRhdGEobm9kZSk7Ci0gICAgICAgIGNvbGxlY3ROb2RlTmFtZUluZm8obm9kZSk7Ci0gICAgICAg
IGNvbGxlY3RMaXN0ZW5lcnNJbmZvKG5vZGUpOwotICAgIH0KLQotICAgIHZvaWQgY29sbGVjdE5v
ZGVOYW1lSW5mbyhOb2RlKiBub2RlKQotICAgIHsKLSAgICAgICAgU3RyaW5nIG5hbWUgPSBub2Rl
TmFtZShub2RlKTsKLSAgICAgICAgaW50IGN1cnJlbnRDb3VudCA9IG1fbm9kZU5hbWVUb0NvdW50
LmdldChuYW1lKTsKLSAgICAgICAgbV9ub2RlTmFtZVRvQ291bnQuc2V0KG5hbWUsIGN1cnJlbnRD
b3VudCArIDEpOwotICAgIH0KLQotICAgIHZvaWQgY29sbGVjdExpc3RlbmVyc0luZm8oTm9kZSog
bm9kZSkKLSAgICB7Ci0gICAgICAgIEV2ZW50VGFyZ2V0RGF0YSogZCA9IG5vZGUtPmV2ZW50VGFy
Z2V0RGF0YSgpOwotICAgICAgICBpZiAoIWQpCi0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAg
IEV2ZW50TGlzdGVuZXJNYXAmIGV2ZW50TGlzdGVuZXJNYXAgPSBkLT5ldmVudExpc3RlbmVyTWFw
OwotICAgICAgICBpZiAoZXZlbnRMaXN0ZW5lck1hcC5pc0VtcHR5KCkpCi0gICAgICAgICAgICBy
ZXR1cm47Ci0gICAgICAgIFZlY3RvcjxBdG9taWNTdHJpbmc+IGV2ZW50TmFtZXMgPSBldmVudExp
c3RlbmVyTWFwLmV2ZW50VHlwZXMoKTsKLSAgICAgICAgZm9yIChWZWN0b3I8QXRvbWljU3RyaW5n
Pjo6aXRlcmF0b3IgaXQgPSBldmVudE5hbWVzLmJlZ2luKCk7IGl0ICE9IGV2ZW50TmFtZXMuZW5k
KCk7ICsraXQpIHsKLSAgICAgICAgICAgIEF0b21pY1N0cmluZyBuYW1lID0gKml0OwotICAgICAg
ICAgICAgRXZlbnRMaXN0ZW5lclZlY3RvciogbGlzdGVuZXJzID0gZXZlbnRMaXN0ZW5lck1hcC5m
aW5kKG5hbWUpOwotICAgICAgICAgICAgaW50IGNvdW50ID0gMDsKLSAgICAgICAgICAgIGZvciAo
RXZlbnRMaXN0ZW5lclZlY3Rvcjo6aXRlcmF0b3IgaiA9IGxpc3RlbmVycy0+YmVnaW4oKTsgaiAh
PSBsaXN0ZW5lcnMtPmVuZCgpOyArK2opIHsKLSAgICAgICAgICAgICAgICBpZiAoai0+bGlzdGVu
ZXItPnR5cGUoKSA9PSBFdmVudExpc3RlbmVyOjpKU0V2ZW50TGlzdGVuZXJUeXBlKQotICAgICAg
ICAgICAgICAgICAgICArK2NvdW50OwotICAgICAgICAgICAgfQotICAgICAgICAgICAgaWYgKGNv
dW50KQotICAgICAgICAgICAgICAgIG1fZXZlbnRUeXBlVG9Db3VudC5zZXQobmFtZSwgbV9ldmVu
dFR5cGVUb0NvdW50LmdldChuYW1lKSArIGNvdW50KTsKLSAgICAgICAgfQotICAgIH0KLQotICAg
IGludCBtX3RvdGFsTm9kZUNvdW50OwotICAgIEhhc2hNYXA8QXRvbWljU3RyaW5nLCBpbnQ+IG1f
ZXZlbnRUeXBlVG9Db3VudDsKLSAgICBIYXNoTWFwPFN0cmluZywgaW50PiBtX25vZGVOYW1lVG9D
b3VudDsKLSAgICBDaGFyYWN0ZXJEYXRhU3RhdGlzdGljcyYgbV9jaGFyYWN0ZXJEYXRhU3RhdGlz
dGljczsKLX07Ci0KLWNsYXNzIENvdW50ZXJWaXNpdG9yIDogcHVibGljIFdyYXBwZWROb2RlVmlz
aXRvciwgcHVibGljIEV4dGVybmFsU3RyaW5nVmlzaXRvciB7Ci1wdWJsaWM6Ci0gICAgQ291bnRl
clZpc2l0b3IoUGFnZSogcGFnZSkKLSAgICAgICAgOiBtX3BhZ2UocGFnZSkKLSAgICAgICAgLCBt
X2RvbUdyb3VwcyhUeXBlQnVpbGRlcjo6QXJyYXk8VHlwZUJ1aWxkZXI6Ok1lbW9yeTo6RE9NR3Jv
dXA+OjpjcmVhdGUoKSkKLSAgICAgICAgLCBtX2pzRXh0ZXJuYWxTdHJpbmdTaXplKDApCi0gICAg
ICAgICwgbV9zaGFyZWRTdHJpbmdTaXplKDApIHsgfQotCi0gICAgVHlwZUJ1aWxkZXI6OkFycmF5
PFR5cGVCdWlsZGVyOjpNZW1vcnk6OkRPTUdyb3VwPiogZG9tR3JvdXBzKCkgeyByZXR1cm4gbV9k
b21Hcm91cHMuZ2V0KCk7IH0KLQotICAgIFBhc3NSZWZQdHI8U3RyaW5nU3RhdGlzdGljcz4gc3Ry
aW5ncygpCi0gICAgewotICAgICAgICBSZWZQdHI8U3RyaW5nU3RhdGlzdGljcz4gc3RyaW5nU3Rh
dGlzdGljcyA9IFN0cmluZ1N0YXRpc3RpY3M6OmNyZWF0ZSgpCi0gICAgICAgICAgICAuc2V0RG9t
KG1fY2hhcmFjdGVyRGF0YVN0YXRpc3RpY3MuY2hhcmFjdGVyRGF0YVNpemUoKSkKLSAgICAgICAg
ICAgIC5zZXRKcyhtX2pzRXh0ZXJuYWxTdHJpbmdTaXplKQotICAgICAgICAgICAgLnNldFNoYXJl
ZChtX3NoYXJlZFN0cmluZ1NpemUpOwotICAgICAgICByZXR1cm4gc3RyaW5nU3RhdGlzdGljcy5y
ZWxlYXNlKCk7Ci0gICAgfQotCi0gICAgdmlydHVhbCB2b2lkIHZpc2l0Tm9kZShOb2RlKiBub2Rl
KQotICAgIHsKLSAgICAgICAgaWYgKG5vZGUtPmRvY3VtZW50KCktPmZyYW1lKCkgJiYgbV9wYWdl
ICE9IG5vZGUtPmRvY3VtZW50KCktPmZyYW1lKCktPnBhZ2UoKSkKLSAgICAgICAgICAgIHJldHVy
bjsKLQotICAgICAgICBOb2RlKiByb290Tm9kZSA9IG5vZGU7Ci0gICAgICAgIHdoaWxlIChyb290
Tm9kZS0+cGFyZW50Tm9kZSgpKQotICAgICAgICAgICAgcm9vdE5vZGUgPSByb290Tm9kZS0+cGFy
ZW50Tm9kZSgpOwotCi0gICAgICAgIGlmIChtX3Jvb3RzLmNvbnRhaW5zKHJvb3ROb2RlKSkKLSAg
ICAgICAgICAgIHJldHVybjsKLSAgICAgICAgbV9yb290cy5hZGQocm9vdE5vZGUpOwotCi0gICAg
ICAgIERPTVRyZWVTdGF0aXN0aWNzIGRvbVRyZWVTdGF0cyhyb290Tm9kZSwgbV9jaGFyYWN0ZXJE
YXRhU3RhdGlzdGljcyk7Ci0KLSAgICAgICAgUmVmUHRyPERPTUdyb3VwPiBkb21Hcm91cCA9IERP
TUdyb3VwOjpjcmVhdGUoKQotICAgICAgICAgICAgLnNldFNpemUoZG9tVHJlZVN0YXRzLnRvdGFs
Tm9kZUNvdW50KCkpCi0gICAgICAgICAgICAuc2V0VGl0bGUocm9vdE5vZGUtPm5vZGVUeXBlKCkg
PT0gTm9kZTo6RUxFTUVOVF9OT0RFID8gZWxlbWVudFRpdGxlKHN0YXRpY19jYXN0PEVsZW1lbnQq
Pihyb290Tm9kZSkpIDogcm9vdE5vZGUtPm5vZGVOYW1lKCkpCi0gICAgICAgICAgICAuc2V0Tm9k
ZUNvdW50KGRvbVRyZWVTdGF0cy5ub2RlQ291bnQoKSkKLSAgICAgICAgICAgIC5zZXRMaXN0ZW5l
ckNvdW50KGRvbVRyZWVTdGF0cy5saXN0ZW5lckNvdW50KCkpOwotICAgICAgICBpZiAocm9vdE5v
ZGUtPm5vZGVUeXBlKCkgPT0gTm9kZTo6RE9DVU1FTlRfTk9ERSkKLSAgICAgICAgICAgIGRvbUdy
b3VwLT5zZXREb2N1bWVudFVSSShzdGF0aWNfY2FzdDxEb2N1bWVudCo+KHJvb3ROb2RlKS0+ZG9j
dW1lbnRVUkkoKSk7Ci0KLSAgICAgICAgbV9kb21Hcm91cHMtPmFkZEl0ZW0oZG9tR3JvdXApOwot
ICAgIH0KLQotICAgIHZpcnR1YWwgdm9pZCB2aXNpdEpTRXh0ZXJuYWxTdHJpbmcoU3RyaW5nSW1w
bCogc3RyaW5nKQotICAgIHsKLSAgICAgICAgaW50IHNpemUgPSBzdHJpbmctPnNpemVJbkJ5dGVz
KCk7Ci0gICAgICAgIG1fanNFeHRlcm5hbFN0cmluZ1NpemUgKz0gc2l6ZTsKLSAgICAgICAgaWYg
KG1fY2hhcmFjdGVyRGF0YVN0YXRpc3RpY3MuY29udGFpbnMoc3RyaW5nKSkKLSAgICAgICAgICAg
IG1fc2hhcmVkU3RyaW5nU2l6ZSArPSBzaXplOwotICAgIH0KLQotcHJpdmF0ZToKLSAgICBTdHJp
bmcgZWxlbWVudFRpdGxlKEVsZW1lbnQqIGVsZW1lbnQpCi0gICAgewotICAgICAgICBTdHJpbmdC
dWlsZGVyIHJlc3VsdDsKLSAgICAgICAgcmVzdWx0LmFwcGVuZChub2RlTmFtZShlbGVtZW50KSk7
Ci0KLSAgICAgICAgY29uc3QgQXRvbWljU3RyaW5nJiBpZFZhbHVlID0gZWxlbWVudC0+Z2V0SWRB
dHRyaWJ1dGUoKTsKLSAgICAgICAgU3RyaW5nIGlkU3RyaW5nOwotICAgICAgICBpZiAoIWlkVmFs
dWUuaXNOdWxsKCkgJiYgIWlkVmFsdWUuaXNFbXB0eSgpKSB7Ci0gICAgICAgICAgICByZXN1bHQu
YXBwZW5kKCIjIik7Ci0gICAgICAgICAgICByZXN1bHQuYXBwZW5kKGlkVmFsdWUpOwotICAgICAg
ICB9Ci0KLSAgICAgICAgSGFzaFNldDxBdG9taWNTdHJpbmc+IHVzZWRDbGFzc05hbWVzOwotICAg
ICAgICBpZiAoZWxlbWVudC0+aGFzQ2xhc3MoKSAmJiBlbGVtZW50LT5pc1N0eWxlZEVsZW1lbnQo
KSkgewotICAgICAgICAgICAgY29uc3QgU3BhY2VTcGxpdFN0cmluZyYgY2xhc3NOYW1lc1N0cmlu
ZyA9IHN0YXRpY19jYXN0PFN0eWxlZEVsZW1lbnQqPihlbGVtZW50KS0+Y2xhc3NOYW1lcygpOwot
ICAgICAgICAgICAgc2l6ZV90IGNsYXNzTmFtZUNvdW50ID0gY2xhc3NOYW1lc1N0cmluZy5zaXpl
KCk7Ci0gICAgICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGNsYXNzTmFtZUNvdW50OyAr
K2kpIHsKLSAgICAgICAgICAgICAgICBjb25zdCBBdG9taWNTdHJpbmcmIGNsYXNzTmFtZSA9IGNs
YXNzTmFtZXNTdHJpbmdbaV07Ci0gICAgICAgICAgICAgICAgaWYgKHVzZWRDbGFzc05hbWVzLmNv
bnRhaW5zKGNsYXNzTmFtZSkpCi0gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAg
ICAgICAgICAgIHVzZWRDbGFzc05hbWVzLmFkZChjbGFzc05hbWUpOwotICAgICAgICAgICAgICAg
IHJlc3VsdC5hcHBlbmQoIi4iKTsKLSAgICAgICAgICAgICAgICByZXN1bHQuYXBwZW5kKGNsYXNz
TmFtZSk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICAgICAgcmV0dXJuIHJlc3VsdC50
b1N0cmluZygpOwotICAgIH0KLQotICAgIEhhc2hTZXQ8Tm9kZSo+IG1fcm9vdHM7Ci0gICAgUGFn
ZSogbV9wYWdlOwotICAgIFJlZlB0cjxUeXBlQnVpbGRlcjo6QXJyYXk8VHlwZUJ1aWxkZXI6Ok1l
bW9yeTo6RE9NR3JvdXA+ID4gbV9kb21Hcm91cHM7Ci0gICAgQ2hhcmFjdGVyRGF0YVN0YXRpc3Rp
Y3MgbV9jaGFyYWN0ZXJEYXRhU3RhdGlzdGljczsKLSAgICBpbnQgbV9qc0V4dGVybmFsU3RyaW5n
U2l6ZTsKLSAgICBpbnQgbV9zaGFyZWRTdHJpbmdTaXplOwotfTsKLQogY2xhc3MgRXh0ZXJuYWxT
dHJpbmdzUm9vdCA6IHB1YmxpYyBFeHRlcm5hbFN0cmluZ1Zpc2l0b3IgewogcHVibGljOgogICAg
IEV4dGVybmFsU3RyaW5nc1Jvb3QoKSA6IG1fbWVtb3J5Q2xhc3NJbmZvKDApIHsgfQpAQCAtNDEy
LDIzICsxOTQsNiBAQCBJbnNwZWN0b3JNZW1vcnlBZ2VudDo6fkluc3BlY3Rvck1lbW9yeUFnZW50
KCkKIHsKIH0KIAotdm9pZCBJbnNwZWN0b3JNZW1vcnlBZ2VudDo6Z2V0RE9NTm9kZUNvdW50KEVy
cm9yU3RyaW5nKiwgUmVmUHRyPFR5cGVCdWlsZGVyOjpBcnJheTxUeXBlQnVpbGRlcjo6TWVtb3J5
OjpET01Hcm91cD4gPiYgZG9tR3JvdXBzLCBSZWZQdHI8VHlwZUJ1aWxkZXI6Ok1lbW9yeTo6U3Ry
aW5nU3RhdGlzdGljcz4mIHN0cmluZ3MpCi17Ci0gICAgQ291bnRlclZpc2l0b3IgY291bnRlclZp
c2l0b3IobV9wYWdlKTsKLSAgICBTY3JpcHRQcm9maWxlcjo6dmlzaXROb2RlV3JhcHBlcnMoJmNv
dW50ZXJWaXNpdG9yKTsKLQotICAgIC8vIE1ha2Ugc3VyZSBhbGwgZG9jdW1lbnRzIHJlYWNoYWJs
ZSBmcm9tIHRoZSBtYWluIGZyYW1lIGFyZSBhY2NvdW50ZWQuCi0gICAgZm9yIChGcmFtZSogZnJh
bWUgPSBtX3BhZ2UtPm1haW5GcmFtZSgpOyBmcmFtZTsgZnJhbWUgPSBmcmFtZS0+dHJlZSgpLT50
cmF2ZXJzZU5leHQoKSkgewotICAgICAgICBpZiAoRG9jdW1lbnQqIGRvYyA9IGZyYW1lLT5kb2N1
bWVudCgpKQotICAgICAgICAgICAgY291bnRlclZpc2l0b3IudmlzaXROb2RlKGRvYyk7Ci0gICAg
fQotCi0gICAgU2NyaXB0UHJvZmlsZXI6OnZpc2l0RXh0ZXJuYWxTdHJpbmdzKCZjb3VudGVyVmlz
aXRvcik7Ci0KLSAgICBkb21Hcm91cHMgPSBjb3VudGVyVmlzaXRvci5kb21Hcm91cHMoKTsKLSAg
ICBzdHJpbmdzID0gY291bnRlclZpc2l0b3Iuc3RyaW5ncygpOwotfQotCiBzdGF0aWMgdm9pZCBy
ZXBvcnRKU0hlYXBJbmZvKFdURjo6TWVtb3J5SW5zdHJ1bWVudGF0aW9uQ2xpZW50JiBtZW1vcnlJ
bnN0cnVtZW50YXRpb25DbGllbnQpCiB7CiAgICAgSGVhcEluZm8gaW5mbzsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JNZW1vcnlBZ2VudC5oIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvck1lbW9yeUFnZW50LmgKaW5kZXggZWM1OWM3ODUy
Nzc1MTk5ZDg5MTYxYjc0NGM2OTgyM2JjNzE2NjU2Yy4uNTEzM2Q5MjI1MTYzZjE5MGUxYTFmMzll
ZjIyMzMxZGNiNmYyN2FhYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3Rvck1lbW9yeUFnZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3Rvck1lbW9yeUFnZW50LmgKQEAgLTU4LDcgKzU4LDYgQEAgcHVibGljOgogICAgIH0KICAgICB2
aXJ0dWFsIH5JbnNwZWN0b3JNZW1vcnlBZ2VudCgpOwogCi0gICAgdmlydHVhbCB2b2lkIGdldERP
TU5vZGVDb3VudChFcnJvclN0cmluZyosIFJlZlB0cjxUeXBlQnVpbGRlcjo6QXJyYXk8VHlwZUJ1
aWxkZXI6Ok1lbW9yeTo6RE9NR3JvdXA+ID4mIGRvbUdyb3VwcywgUmVmUHRyPFR5cGVCdWlsZGVy
OjpNZW1vcnk6OlN0cmluZ1N0YXRpc3RpY3M+JiBzdHJpbmdzKTsKICAgICB2aXJ0dWFsIHZvaWQg
Z2V0UHJvY2Vzc01lbW9yeURpc3RyaWJ1dGlvbihFcnJvclN0cmluZyosIGNvbnN0IGJvb2wqIHJl
cG9ydEdyYXBoLCBSZWZQdHI8VHlwZUJ1aWxkZXI6Ok1lbW9yeTo6TWVtb3J5QmxvY2s+JiBwcm9j
ZXNzTWVtb3J5LCBSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiYgZ3JhcGgpOwogCiAgICAgdmlydHVh
bCB2b2lkIHJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qKSBjb25zdDsK
</data>
<flag name="review"
          id="205790"
          type_id="1"
          status="+"
          setter="apavlov"
    />
    <flag name="commit-queue"
          id="205826"
          type_id="3"
          status="-"
          setter="buildbot"
    />
          </attachment>
      

    </bug>

</bugzilla>