<?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>81100</bug_id>
          
          <creation_ts>2012-03-14 06:20:48 -0700</creation_ts>
          <short_desc>Web Inspector: use class name indexes instead of class names when evaluating aggregates</short_desc>
          <delta_ts>2012-03-14 09:20:53 -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>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>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Yury Semikhatsky">yurys</reporter>
          <assigned_to name="Yury Semikhatsky">yurys</assigned_to>
          <cc>apavlov</cc>
    
    <cc>bweinstein</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>rik</cc>
    
    <cc>timothy</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>578343</commentid>
    <comment_count>0</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2012-03-14 06:20:48 -0700</bug_when>
    <thetext>Use class name indexes instead of class names when evaluating aggregates. Class name lookup followed by string comparison takes significantly longer time then comparison of the class name indexes. For node type comparison it is also much faster to compare its integer value instead of strings.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>578349</commentid>
    <comment_count>1</comment_count>
      <attachid>131835</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2012-03-14 06:25:06 -0700</bug_when>
    <thetext>Created attachment 131835
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>578355</commentid>
    <comment_count>2</comment_count>
      <attachid>131835</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2012-03-14 06:56:10 -0700</bug_when>
    <thetext>Comment on attachment 131835
Patch

Please ignore this patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>578444</commentid>
    <comment_count>3</comment_count>
      <attachid>131863</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2012-03-14 08:50:58 -0700</bug_when>
    <thetext>Created attachment 131863
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>578446</commentid>
    <comment_count>4</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2012-03-14 08:52:25 -0700</bug_when>
    <thetext>This patch makes _buildAggregates ~ 35% faster.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>578450</commentid>
    <comment_count>5</comment_count>
      <attachid>131863</attachid>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2012-03-14 08:58:16 -0700</bug_when>
    <thetext>Comment on attachment 131863
Patch

lgtm</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>578476</commentid>
    <comment_count>6</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2012-03-14 09:20:53 -0700</bug_when>
    <thetext>Committed r110707: &lt;http://trac.webkit.org/changeset/110707&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>131835</attachid>
            <date>2012-03-14 06:25:06 -0700</date>
            <delta_ts>2012-03-14 06:56:10 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-81100-20120314172504.patch</filename>
            <type>text/plain</type>
            <size>5808</size>
            <attacher name="Yury Semikhatsky">yurys</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEwNTU2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTg0NTBlNDkwZWE3YmU1
MTc1YTE0ZjE3OTY2NzNlNzdiMTYxNGU2ZS4uOWM0OTExM2Y5YjY0ZDZiZGZiYzVjNzk3YmUwNTVk
YzU1NWFhZmIzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDEyLTAzLTE0ICBZdXJ5
IFNlbWlraGF0c2t5ICA8eXVyeXNAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0
b3I6IHVzZSBjbGFzcyBuYW1lIGluZGV4ZXMgaW5zdGVhZCBvZiBjbGFzcyBuYW1lcyB3aGVuIGV2
YWx1YXRpbmcgYWdncmVnYXRlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9ODExMDAKKworICAgICAgICBDbGFzcyBuYW1lIGFuZCB0eXBlIG5hbWUgaW5k
ZXhlcyBhcmUgbm93IHVzZWQgd2hlbiBjYWxjdWxhdGluZyBjbGFzcyBhZ2dyZWdhdGVzCisgICAg
ICAgIGluIGhlYXAgc25hcHNob3RzIGluc3RlYWQgb2Ygc3RyaW5nIGxvb2t1cCBmb2xsb3dlZCBi
eSBhIHN0cmluZyBjb21wYXJpc29uLgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9IZWFwU25hcHNob3QuanM6Cisg
ICAgICAgIChXZWJJbnNwZWN0b3IuSGVhcFNuYXBzaG90Tm9kZS5wcm90b3R5cGUuZ2V0IGNsYXNz
TmFtZUluZGV4KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5IZWFwU25hcHNob3ROb2RlLnByb3Rv
dHlwZS5oYXNUeXBlKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5IZWFwU25hcHNob3QucHJvdG90
eXBlLl9pbml0KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5IZWFwU25hcHNob3QucHJvdG90eXBl
Ll9idWlsZEFnZ3JlZ2F0ZXMpOgorCiAyMDEyLTAzLTEzICBWc2V2b2xvZCBWbGFzb3YgIDx2c2V2
aWtAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQgaW5zcGVjdG9yIGNvbXBpbGF0
aW9uIG1vZHVsZSBuYW1lIGZpeCBhZnRlciByMTEwNTUwLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9IZWFwU25hcHNob3QuanMgYi9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0hlYXBTbmFwc2hvdC5qcwppbmRleCAwNTRmNDZlYjJiMjQ1
NjZlNDU2MGY2MTZjODRmZGU0MTQzYWY2MGJmLi44NmQxYmMzNWQ3MmI5Nzc1Y2FmZDg5NzIxZjli
Njg3OWZmOThlMDUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQt
ZW5kL0hlYXBTbmFwc2hvdC5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQt
ZW5kL0hlYXBTbmFwc2hvdC5qcwpAQCAtNTc3LDYgKzU3NywxOCBAQCBXZWJJbnNwZWN0b3IuSGVh
cFNuYXBzaG90Tm9kZS5wcm90b3R5cGUgPSB7CiAgICAgICAgIH0KICAgICB9LAogCisgICAgZ2V0
IGNsYXNzTmFtZUluZGV4KCkKKyAgICB7CisgICAgICAgIHZhciB0eXBlID0gdGhpcy5fdHlwZSgp
OworICAgICAgICBzd2l0Y2ggKHR5cGUpIHsKKyAgICAgICAgY2FzZSB0aGlzLl9zbmFwc2hvdC5f
bm9kZU9iamVjdFR5cGU6CisgICAgICAgIGNhc2UgdGhpcy5fc25hcHNob3QuX25vZGVOYXRpdmVU
eXBlOgorICAgICAgICAgICAgcmV0dXJuIHRoaXMuX25hbWUoKTsKKyAgICAgICAgZGVmYXVsdDoK
KyAgICAgICAgICAgIHJldHVybiAtMSAtIHR5cGU7CisgICAgICAgIH0KKyAgICB9LAorCiAgICAg
Z2V0IGRvbWluYXRvckluZGV4KCkKICAgICB7CiAgICAgICAgIHJldHVybiB0aGlzLl9ub2Rlc1t0
aGlzLm5vZGVJbmRleCArIHRoaXMuX3NuYXBzaG90Ll9kb21pbmF0b3JPZmZzZXRdOwpAQCAtNjEy
LDYgKzYyNCwxMiBAQCBXZWJJbnNwZWN0b3IuSGVhcFNuYXBzaG90Tm9kZS5wcm90b3R5cGUgPSB7
CiAgICAgICAgIHJldHVybiB0aGlzLl90eXBlKCkgPT09IHRoaXMuX3NuYXBzaG90Ll9ub2RlSGlk
ZGVuVHlwZTsKICAgICB9LAogCisgICAgaGFzVHlwZTogZnVuY3Rpb24odHlwZTEsIHR5cGUyKQor
ICAgIHsKKyAgICAgICAgdmFyIHQgPSB0aGlzLl90eXBlKCk7CisgICAgICAgIHJldHVybiB0ID09
PSB0eXBlMSB8fCB0ID09PSB0eXBlMjsKKyAgICB9LAorCiAgICAgZ2V0IGlzU3ludGhldGljKCkK
ICAgICB7CiAgICAgICAgIHJldHVybiB0aGlzLl90eXBlKCkgPT09IHRoaXMuX3NuYXBzaG90Ll9u
b2RlU3ludGhldGljVHlwZTsKQEAgLTc1Nyw2ICs3NzUsOSBAQCBXZWJJbnNwZWN0b3IuSGVhcFNu
YXBzaG90LnByb3RvdHlwZSA9IHsKICAgICAgICAgdGhpcy5fZmlyc3RFZGdlT2Zmc2V0ID0gbWV0
YS5maWVsZHMuaW5kZXhPZigiY2hpbGRyZW4iKTsKICAgICAgICAgdGhpcy5fbm9kZVR5cGVzID0g
bWV0YS50eXBlc1t0aGlzLl9ub2RlVHlwZU9mZnNldF07CiAgICAgICAgIHRoaXMuX25vZGVIaWRk
ZW5UeXBlID0gdGhpcy5fbm9kZVR5cGVzLmluZGV4T2YoImhpZGRlbiIpOworICAgICAgICB0aGlz
Ll9ub2RlT2JqZWN0VHlwZSA9IHRoaXMuX25vZGVUeXBlcy5pbmRleE9mKCJvYmplY3QiKTsKKyAg
ICAgICAgdGhpcy5fbm9kZU5hdGl2ZVR5cGUgPSB0aGlzLl9ub2RlVHlwZXMuaW5kZXhPZigibmF0
aXZlIik7CisgICAgICAgIHRoaXMuX25vZGVDb2RlVHlwZSA9IHRoaXMuX25vZGVUeXBlcy5pbmRl
eE9mKCJjb2RlIik7CiAgICAgICAgIHRoaXMuX25vZGVTeW50aGV0aWNUeXBlID0gdGhpcy5fbm9k
ZVR5cGVzLmluZGV4T2YoInN5bnRoZXRpYyIpOwogICAgICAgICB2YXIgZWRnZXNNZXRhID0gbWV0
YS50eXBlc1t0aGlzLl9maXJzdEVkZ2VPZmZzZXRdOwogICAgICAgICB0aGlzLl9lZGdlRmllbGRz
Q291bnQgPSBlZGdlc01ldGEuZmllbGRzLmxlbmd0aDsKQEAgLTEwMTEsMzAgKzEwMzIsMzcgQEAg
V2ViSW5zcGVjdG9yLkhlYXBTbmFwc2hvdC5wcm90b3R5cGUgPSB7CiAKICAgICBfYnVpbGRBZ2dy
ZWdhdGVzOiBmdW5jdGlvbihmaWx0ZXIpCiAgICAgewotICAgICAgICBmdW5jdGlvbiBzaG91bGRT
a2lwKG5vZGUpCisgICAgICAgIGZ1bmN0aW9uIHNob3VsZFNraXAobm9kZSwgY2xhc3NOYW1lSW5k
ZXgpCiAgICAgICAgIHsKICAgICAgICAgICAgIGlmIChmaWx0ZXIgJiYgIWZpbHRlcihub2RlKSkK
ICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgICAgICAgIGlmIChub2RlLnR5cGUg
IT09ICJuYXRpdmUiICYmIG5vZGUuc2VsZlNpemUgPT09IDApCisgICAgICAgICAgICBpZiAobm9k
ZS5pc05hdGl2ZSAmJiBub2RlLnNlbGZTaXplID09PSAwKQogICAgICAgICAgICAgICAgIHJldHVy
biB0cnVlOwotICAgICAgICAgICAgdmFyIGNsYXNzTmFtZSA9IG5vZGUuY2xhc3NOYW1lOwotICAg
ICAgICAgICAgaWYgKGNsYXNzTmFtZSA9PT0gIkRvY3VtZW50IERPTSB0cmVlIikKKyAgICAgICAg
ICAgIGlmIChjbGFzc05hbWVJbmRleCA9PT0gZG9jdW1lbnREb21UcmVlSW5kZXgpCiAgICAgICAg
ICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgICAgICAgICBpZiAoY2xhc3NOYW1lID09PSAiRGV0
YWNoZWQgRE9NIHRyZWUiKQorICAgICAgICAgICAgaWYgKGNsYXNzTmFtZUluZGV4ID09PSBkZXRh
Y2hlZERvbVRyZWVJbmRleCkKICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAg
ICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgfQogCiAgICAgICAgIHZhciBhZ2dyZWdhdGVzID0g
e307CisgICAgICAgIHZhciBhZ2dyZWdhdGVzQnlDbGFzc05hbWUgPSB7fTsKKyAgICAgICAgdmFy
IG9iamVjdFR5cGUgPSB0aGlzLl9ub2RlT2JqZWN0VHlwZTsKKyAgICAgICAgdmFyIG5hdGl2ZVR5
cGUgPSB0aGlzLl9ub2RlTmF0aXZlVHlwZTsKKyAgICAgICAgdmFyIGRvY3VtZW50RG9tVHJlZUlu
ZGV4ID0gdGhpcy5fc3RyaW5ncy5pbmRleE9mKCJEb2N1bWVudCBET00gdHJlZSIpOworICAgICAg
ICB2YXIgZGV0YWNoZWREb21UcmVlSW5kZXggPSB0aGlzLl9zdHJpbmdzLmluZGV4T2YoIkRldGFj
aGVkIERPTSB0cmVlIik7CiAgICAgICAgIGZvciAodmFyIGl0ZXIgPSB0aGlzLl9hbGxOb2Rlczsg
aXRlci5oYXNOZXh0KCk7IGl0ZXIubmV4dCgpKSB7CiAgICAgICAgICAgICB2YXIgbm9kZSA9IGl0
ZXIubm9kZTsKLSAgICAgICAgICAgIGlmIChzaG91bGRTa2lwKG5vZGUpKQorICAgICAgICAgICAg
dmFyIGNsYXNzTmFtZUluZGV4ID0gbm9kZS5jbGFzc05hbWVJbmRleDsKKyAgICAgICAgICAgIGlm
IChzaG91bGRTa2lwKG5vZGUsIGNsYXNzTmFtZUluZGV4KSkKICAgICAgICAgICAgICAgICBjb250
aW51ZTsKLSAgICAgICAgICAgIHZhciBjbGFzc05hbWUgPSBub2RlLmNsYXNzTmFtZTsKLSAgICAg
ICAgICAgIHZhciBuYW1lTWF0dGVycyA9IG5vZGUudHlwZSA9PT0gIm9iamVjdCIgfHwgbm9kZS50
eXBlID09PSAibmF0aXZlIjsKLSAgICAgICAgICAgIGlmICghYWdncmVnYXRlcy5oYXNPd25Qcm9w
ZXJ0eShjbGFzc05hbWUpKQotICAgICAgICAgICAgICAgIGFnZ3JlZ2F0ZXNbY2xhc3NOYW1lXSA9
IHsgY291bnQ6IDAsIHNlbGY6IDAsIG1heFJldDogMCwgdHlwZTogbm9kZS50eXBlLCBuYW1lOiBu
YW1lTWF0dGVycyA/IG5vZGUubmFtZSA6IG51bGwsIGlkeHM6IFtdIH07Ci0gICAgICAgICAgICB2
YXIgY2xzcyA9IGFnZ3JlZ2F0ZXNbY2xhc3NOYW1lXTsKKyAgICAgICAgICAgIGlmICghKGNsYXNz
TmFtZUluZGV4IGluIGFnZ3JlZ2F0ZXMpKSB7CisgICAgICAgICAgICAgICAgdmFyIG5hbWVNYXR0
ZXJzID0gbm9kZS5oYXNUeXBlKG9iamVjdFR5cGUsIG5hdGl2ZVR5cGUpOworICAgICAgICAgICAg
ICAgIHZhciB2YWx1ZSA9IHsgY291bnQ6IDAsIHNlbGY6IDAsIG1heFJldDogMCwgdHlwZTogbm9k
ZS50eXBlLCBuYW1lOiBuYW1lTWF0dGVycyA/IG5vZGUubmFtZSA6IG51bGwsIGlkeHM6IFtdIH07
CisgICAgICAgICAgICAgICAgYWdncmVnYXRlc1tjbGFzc05hbWVJbmRleF0gPSB2YWx1ZTsKKyAg
ICAgICAgICAgICAgICBhZ2dyZWdhdGVzQnlDbGFzc05hbWVbbm9kZS5jbGFzc05hbWVdID0gdmFs
dWU7CisgICAgICAgICAgICB9CisgICAgICAgICAgICB2YXIgY2xzcyA9IGFnZ3JlZ2F0ZXNbY2xh
c3NOYW1lSW5kZXhdOwogICAgICAgICAgICAgKytjbHNzLmNvdW50OwogICAgICAgICAgICAgY2xz
cy5zZWxmICs9IG5vZGUuc2VsZlNpemU7CiAgICAgICAgICAgICBjbHNzLmlkeHMucHVzaChub2Rl
Lm5vZGVJbmRleCk7CkBAIC0xMDYyLDkgKzEwOTAsOSBAQCBXZWJJbnNwZWN0b3IuSGVhcFNuYXBz
aG90LnByb3RvdHlwZSA9IHsKICAgICAgICAgZm9yRG9taW5hdGVkTm9kZXModGhpcy5fcm9vdE5v
ZGVJbmRleCk7CiAKICAgICAgICAgLy8gU2hhdmUgb2ZmIHByb3Zpc2lvbmFsbHkgYWxsb2NhdGVk
IHNwYWNlLgotICAgICAgICBmb3IgKHZhciBjbGFzc05hbWUgaW4gYWdncmVnYXRlcykKLSAgICAg
ICAgICAgIGFnZ3JlZ2F0ZXNbY2xhc3NOYW1lXS5pZHhzID0gYWdncmVnYXRlc1tjbGFzc05hbWVd
LmlkeHMuc2xpY2UoMCk7Ci0gICAgICAgIHJldHVybiBhZ2dyZWdhdGVzOworICAgICAgICBmb3Ig
KHZhciBjbGFzc05hbWVJbmRleCBpbiBhZ2dyZWdhdGVzKQorICAgICAgICAgICAgYWdncmVnYXRl
c1tjbGFzc05hbWVJbmRleF0uaWR4cyA9IGFnZ3JlZ2F0ZXNbY2xhc3NOYW1lSW5kZXhdLmlkeHMu
c2xpY2UoMCk7CisgICAgICAgIHJldHVybiBhZ2dyZWdhdGVzQnlDbGFzc05hbWU7CiAgICAgfSwK
IAogICAgIF9zb3J0QWdncmVnYXRlSW5kZXhlczogZnVuY3Rpb24oYWdncmVnYXRlcykK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>131863</attachid>
            <date>2012-03-14 08:50:58 -0700</date>
            <delta_ts>2012-03-14 09:17:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-81100-20120314195056.patch</filename>
            <type>text/plain</type>
            <size>7605</size>
            <attacher name="Yury Semikhatsky">yurys</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEwNTU2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTg0NTBlNDkwZWE3YmU1
MTc1YTE0ZjE3OTY2NzNlNzdiMTYxNGU2ZS4uOWM0OTExM2Y5YjY0ZDZiZGZiYzVjNzk3YmUwNTVk
YzU1NWFhZmIzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDEyLTAzLTE0ICBZdXJ5
IFNlbWlraGF0c2t5ICA8eXVyeXNAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0
b3I6IHVzZSBjbGFzcyBuYW1lIGluZGV4ZXMgaW5zdGVhZCBvZiBjbGFzcyBuYW1lcyB3aGVuIGV2
YWx1YXRpbmcgYWdncmVnYXRlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9ODExMDAKKworICAgICAgICBDbGFzcyBuYW1lIGFuZCB0eXBlIG5hbWUgaW5k
ZXhlcyBhcmUgbm93IHVzZWQgd2hlbiBjYWxjdWxhdGluZyBjbGFzcyBhZ2dyZWdhdGVzCisgICAg
ICAgIGluIGhlYXAgc25hcHNob3RzIGluc3RlYWQgb2Ygc3RyaW5nIGxvb2t1cCBmb2xsb3dlZCBi
eSBhIHN0cmluZyBjb21wYXJpc29uLgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9IZWFwU25hcHNob3QuanM6Cisg
ICAgICAgIChXZWJJbnNwZWN0b3IuSGVhcFNuYXBzaG90Tm9kZS5wcm90b3R5cGUuZ2V0IGNsYXNz
TmFtZUluZGV4KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5IZWFwU25hcHNob3ROb2RlLnByb3Rv
dHlwZS5oYXNUeXBlKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5IZWFwU25hcHNob3QucHJvdG90
eXBlLl9pbml0KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5IZWFwU25hcHNob3QucHJvdG90eXBl
Ll9idWlsZEFnZ3JlZ2F0ZXMpOgorCiAyMDEyLTAzLTEzICBWc2V2b2xvZCBWbGFzb3YgIDx2c2V2
aWtAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQgaW5zcGVjdG9yIGNvbXBpbGF0
aW9uIG1vZHVsZSBuYW1lIGZpeCBhZnRlciByMTEwNTUwLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9IZWFwU25hcHNob3QuanMgYi9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0hlYXBTbmFwc2hvdC5qcwppbmRleCAwNTRmNDZlYjJiMjQ1
NjZlNDU2MGY2MTZjODRmZGU0MTQzYWY2MGJmLi5kNjc5ZTM3NzMyOTkyM2E4YTE2ZWI4NGRkMTdm
Y2M4OGJkYWQyZmI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQt
ZW5kL0hlYXBTbmFwc2hvdC5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQt
ZW5kL0hlYXBTbmFwc2hvdC5qcwpAQCAtNTYyLDE0ICs1NjIsOSBAQCBXZWJJbnNwZWN0b3IuSGVh
cFNuYXBzaG90Tm9kZS5wcm90b3R5cGUgPSB7CiAgICAgICAgIHN3aXRjaCAodGhpcy50eXBlKSB7
CiAgICAgICAgIGNhc2UgImhpZGRlbiI6CiAgICAgICAgICAgICByZXR1cm4gV2ViSW5zcGVjdG9y
LlVJU3RyaW5nKCIoc3lzdGVtKSIpOwotICAgICAgICBjYXNlICJvYmplY3QiOiB7Ci0gICAgICAg
ICAgICB2YXIgY29tbWVudFBvcyA9IHRoaXMubmFtZS5pbmRleE9mKCIvIik7Ci0gICAgICAgICAg
ICByZXR1cm4gY29tbWVudFBvcyAhPT0gLTEgPyB0aGlzLm5hbWUuc3Vic3RyaW5nKDAsIGNvbW1l
bnRQb3MpLnRyaW1SaWdodCgpIDogdGhpcy5uYW1lOwotICAgICAgICB9Ci0gICAgICAgIGNhc2Ug
Im5hdGl2ZSI6IHsKLSAgICAgICAgICAgIHZhciBlbnRpdGllc0NvdW50UG9zID0gdGhpcy5uYW1l
LmluZGV4T2YoIi8iKTsKLSAgICAgICAgICAgIHJldHVybiBlbnRpdGllc0NvdW50UG9zICE9PSAt
MSA/IHRoaXMubmFtZS5zdWJzdHJpbmcoMCwgZW50aXRpZXNDb3VudFBvcykudHJpbVJpZ2h0KCkg
OiB0aGlzLm5hbWU7Ci0gICAgICAgIH0KKyAgICAgICAgY2FzZSAib2JqZWN0IjoKKyAgICAgICAg
Y2FzZSAibmF0aXZlIjoKKyAgICAgICAgICAgIHJldHVybiB0aGlzLm5hbWU7CiAgICAgICAgIGNh
c2UgImNvZGUiOgogICAgICAgICAgICAgcmV0dXJuIFdlYkluc3BlY3Rvci5VSVN0cmluZygiKGNv
bXBpbGVkIGNvZGUpIik7CiAgICAgICAgIGRlZmF1bHQ6CkBAIC01NzcsNiArNTcyLDE4IEBAIFdl
Ykluc3BlY3Rvci5IZWFwU25hcHNob3ROb2RlLnByb3RvdHlwZSA9IHsKICAgICAgICAgfQogICAg
IH0sCiAKKyAgICBnZXQgY2xhc3NJbmRleCgpCisgICAgeworICAgICAgICB2YXIgdHlwZSA9IHRo
aXMuX3R5cGUoKTsKKyAgICAgICAgc3dpdGNoICh0eXBlKSB7CisgICAgICAgIGNhc2UgdGhpcy5f
c25hcHNob3QuX25vZGVPYmplY3RUeXBlOgorICAgICAgICBjYXNlIHRoaXMuX3NuYXBzaG90Ll9u
b2RlTmF0aXZlVHlwZToKKyAgICAgICAgICAgIHJldHVybiB0aGlzLl9uYW1lKCk7CisgICAgICAg
IGRlZmF1bHQ6CisgICAgICAgICAgICByZXR1cm4gLTEgLSB0eXBlOworICAgICAgICB9CisgICAg
fSwKKwogICAgIGdldCBkb21pbmF0b3JJbmRleCgpCiAgICAgewogICAgICAgICByZXR1cm4gdGhp
cy5fbm9kZXNbdGhpcy5ub2RlSW5kZXggKyB0aGlzLl9zbmFwc2hvdC5fZG9taW5hdG9yT2Zmc2V0
XTsKQEAgLTYxMiw2ICs2MTksMTEgQEAgV2ViSW5zcGVjdG9yLkhlYXBTbmFwc2hvdE5vZGUucHJv
dG90eXBlID0gewogICAgICAgICByZXR1cm4gdGhpcy5fdHlwZSgpID09PSB0aGlzLl9zbmFwc2hv
dC5fbm9kZUhpZGRlblR5cGU7CiAgICAgfSwKIAorICAgIGdldCBpc05hdGl2ZSgpCisgICAgewor
ICAgICAgICByZXR1cm4gdGhpcy5fdHlwZSgpID09PSB0aGlzLl9zbmFwc2hvdC5fbm9kZU5hdGl2
ZVR5cGU7CisgICAgfSwKKwogICAgIGdldCBpc1N5bnRoZXRpYygpCiAgICAgewogICAgICAgICBy
ZXR1cm4gdGhpcy5fdHlwZSgpID09PSB0aGlzLl9zbmFwc2hvdC5fbm9kZVN5bnRoZXRpY1R5cGU7
CkBAIC03NTcsNiArNzY5LDkgQEAgV2ViSW5zcGVjdG9yLkhlYXBTbmFwc2hvdC5wcm90b3R5cGUg
PSB7CiAgICAgICAgIHRoaXMuX2ZpcnN0RWRnZU9mZnNldCA9IG1ldGEuZmllbGRzLmluZGV4T2Yo
ImNoaWxkcmVuIik7CiAgICAgICAgIHRoaXMuX25vZGVUeXBlcyA9IG1ldGEudHlwZXNbdGhpcy5f
bm9kZVR5cGVPZmZzZXRdOwogICAgICAgICB0aGlzLl9ub2RlSGlkZGVuVHlwZSA9IHRoaXMuX25v
ZGVUeXBlcy5pbmRleE9mKCJoaWRkZW4iKTsKKyAgICAgICAgdGhpcy5fbm9kZU9iamVjdFR5cGUg
PSB0aGlzLl9ub2RlVHlwZXMuaW5kZXhPZigib2JqZWN0Iik7CisgICAgICAgIHRoaXMuX25vZGVO
YXRpdmVUeXBlID0gdGhpcy5fbm9kZVR5cGVzLmluZGV4T2YoIm5hdGl2ZSIpOworICAgICAgICB0
aGlzLl9ub2RlQ29kZVR5cGUgPSB0aGlzLl9ub2RlVHlwZXMuaW5kZXhPZigiY29kZSIpOwogICAg
ICAgICB0aGlzLl9ub2RlU3ludGhldGljVHlwZSA9IHRoaXMuX25vZGVUeXBlcy5pbmRleE9mKCJz
eW50aGV0aWMiKTsKICAgICAgICAgdmFyIGVkZ2VzTWV0YSA9IG1ldGEudHlwZXNbdGhpcy5fZmly
c3RFZGdlT2Zmc2V0XTsKICAgICAgICAgdGhpcy5fZWRnZUZpZWxkc0NvdW50ID0gZWRnZXNNZXRh
LmZpZWxkcy5sZW5ndGg7CkBAIC0xMDExLDMwICsxMDI2LDMyIEBAIFdlYkluc3BlY3Rvci5IZWFw
U25hcHNob3QucHJvdG90eXBlID0gewogCiAgICAgX2J1aWxkQWdncmVnYXRlczogZnVuY3Rpb24o
ZmlsdGVyKQogICAgIHsKLSAgICAgICAgZnVuY3Rpb24gc2hvdWxkU2tpcChub2RlKQorICAgICAg
ICBmdW5jdGlvbiBzaG91bGRTa2lwKG5vZGUsIGNsYXNzSW5kZXgpCiAgICAgICAgIHsKICAgICAg
ICAgICAgIGlmIChmaWx0ZXIgJiYgIWZpbHRlcihub2RlKSkKICAgICAgICAgICAgICAgICByZXR1
cm4gdHJ1ZTsKLSAgICAgICAgICAgIGlmIChub2RlLnR5cGUgIT09ICJuYXRpdmUiICYmIG5vZGUu
c2VsZlNpemUgPT09IDApCi0gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgICAgICAg
ICB2YXIgY2xhc3NOYW1lID0gbm9kZS5jbGFzc05hbWU7Ci0gICAgICAgICAgICBpZiAoY2xhc3NO
YW1lID09PSAiRG9jdW1lbnQgRE9NIHRyZWUiKQotICAgICAgICAgICAgICAgIHJldHVybiB0cnVl
OwotICAgICAgICAgICAgaWYgKGNsYXNzTmFtZSA9PT0gIkRldGFjaGVkIERPTSB0cmVlIikKKyAg
ICAgICAgICAgIGlmICghbm9kZS5pc05hdGl2ZSAmJiBub2RlLnNlbGZTaXplID09PSAwKQogICAg
ICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAg
ICAgICB9CiAKICAgICAgICAgdmFyIGFnZ3JlZ2F0ZXMgPSB7fTsKKyAgICAgICAgdmFyIGFnZ3Jl
Z2F0ZXNCeUNsYXNzTmFtZSA9IHt9OworICAgICAgICB2YXIgb2JqZWN0VHlwZSA9IHRoaXMuX25v
ZGVPYmplY3RUeXBlOworICAgICAgICB2YXIgbmF0aXZlVHlwZSA9IHRoaXMuX25vZGVOYXRpdmVU
eXBlOwogICAgICAgICBmb3IgKHZhciBpdGVyID0gdGhpcy5fYWxsTm9kZXM7IGl0ZXIuaGFzTmV4
dCgpOyBpdGVyLm5leHQoKSkgewogICAgICAgICAgICAgdmFyIG5vZGUgPSBpdGVyLm5vZGU7Ci0g
ICAgICAgICAgICBpZiAoc2hvdWxkU2tpcChub2RlKSkKKyAgICAgICAgICAgIHZhciBjbGFzc0lu
ZGV4ID0gbm9kZS5jbGFzc0luZGV4OworICAgICAgICAgICAgaWYgKHNob3VsZFNraXAobm9kZSwg
Y2xhc3NJbmRleCkpCiAgICAgICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgICAgICB2YXIg
Y2xhc3NOYW1lID0gbm9kZS5jbGFzc05hbWU7Ci0gICAgICAgICAgICB2YXIgbmFtZU1hdHRlcnMg
PSBub2RlLnR5cGUgPT09ICJvYmplY3QiIHx8IG5vZGUudHlwZSA9PT0gIm5hdGl2ZSI7Ci0gICAg
ICAgICAgICBpZiAoIWFnZ3JlZ2F0ZXMuaGFzT3duUHJvcGVydHkoY2xhc3NOYW1lKSkKLSAgICAg
ICAgICAgICAgICBhZ2dyZWdhdGVzW2NsYXNzTmFtZV0gPSB7IGNvdW50OiAwLCBzZWxmOiAwLCBt
YXhSZXQ6IDAsIHR5cGU6IG5vZGUudHlwZSwgbmFtZTogbmFtZU1hdHRlcnMgPyBub2RlLm5hbWUg
OiBudWxsLCBpZHhzOiBbXSB9OwotICAgICAgICAgICAgdmFyIGNsc3MgPSBhZ2dyZWdhdGVzW2Ns
YXNzTmFtZV07CisgICAgICAgICAgICBpZiAoIShjbGFzc0luZGV4IGluIGFnZ3JlZ2F0ZXMpKSB7
CisgICAgICAgICAgICAgICAgdmFyIG5vZGVUeXBlID0gbm9kZS50eXBlOworICAgICAgICAgICAg
ICAgIHZhciBuYW1lTWF0dGVycyA9IG5vZGVUeXBlID09PSAib2JqZWN0IiB8fCBub2RlVHlwZSA9
PT0gIm5hdGl2ZSI7CisgICAgICAgICAgICAgICAgdmFyIHZhbHVlID0geyBjb3VudDogMCwgc2Vs
ZjogMCwgbWF4UmV0OiAwLCB0eXBlOiBub2RlVHlwZSwgbmFtZTogbmFtZU1hdHRlcnMgPyBub2Rl
Lm5hbWUgOiBudWxsLCBpZHhzOiBbXSB9OworICAgICAgICAgICAgICAgIGFnZ3JlZ2F0ZXNbY2xh
c3NJbmRleF0gPSB2YWx1ZTsKKyAgICAgICAgICAgICAgICBhZ2dyZWdhdGVzQnlDbGFzc05hbWVb
bm9kZS5jbGFzc05hbWVdID0gdmFsdWU7CisgICAgICAgICAgICB9CisgICAgICAgICAgICB2YXIg
Y2xzcyA9IGFnZ3JlZ2F0ZXNbY2xhc3NJbmRleF07CiAgICAgICAgICAgICArK2Nsc3MuY291bnQ7
CiAgICAgICAgICAgICBjbHNzLnNlbGYgKz0gbm9kZS5zZWxmU2l6ZTsKICAgICAgICAgICAgIGNs
c3MuaWR4cy5wdXNoKG5vZGUubm9kZUluZGV4KTsKQEAgLTEwNDMsMjggKzEwNjAsMjggQEAgV2Vi
SW5zcGVjdG9yLkhlYXBTbmFwc2hvdC5wcm90b3R5cGUgPSB7CiAgICAgICAgIC8vIFJlY3Vyc2l2
ZWx5IHZpc2l0IGRvbWluYXRvcnMgdHJlZSBhbmQgc3VtIHVwIHJldGFpbmVkIHNpemVzCiAgICAg
ICAgIC8vIG9mIHRvcG1vc3Qgb2JqZWN0cyBpbiBlYWNoIGNsYXNzLgogICAgICAgICAvLyBUaGlz
IGdpdmVzIHVzIHJldGFpbmVkIHNpemVzIGZvciBjbGFzc2VzLgotICAgICAgICB2YXIgc2VlbkNs
YXNzZXMgPSB7fTsKKyAgICAgICAgdmFyIHNlZW5DbGFzc05hbWVJbmRleGVzID0ge307CiAgICAg
ICAgIHZhciBzbmFwc2hvdCA9IHRoaXM7CiAgICAgICAgIGZ1bmN0aW9uIGZvckRvbWluYXRlZE5v
ZGVzKG5vZGVJbmRleCkKICAgICAgICAgewogICAgICAgICAgICAgdmFyIG5vZGUgPSBuZXcgV2Vi
SW5zcGVjdG9yLkhlYXBTbmFwc2hvdE5vZGUoc25hcHNob3QsIG5vZGVJbmRleCk7Ci0gICAgICAg
ICAgICB2YXIgY2xhc3NOYW1lID0gbm9kZS5jbGFzc05hbWU7Ci0gICAgICAgICAgICB2YXIgc2Vl
biA9ICEhc2VlbkNsYXNzZXNbY2xhc3NOYW1lXTsKLSAgICAgICAgICAgIGlmICghc2VlbiAmJiBj
bGFzc05hbWUgaW4gYWdncmVnYXRlcyAmJiAhc2hvdWxkU2tpcChub2RlKSkgewotICAgICAgICAg
ICAgICAgIGFnZ3JlZ2F0ZXNbY2xhc3NOYW1lXS5tYXhSZXQgKz0gbm9kZS5yZXRhaW5lZFNpemU7
Ci0gICAgICAgICAgICAgICAgc2VlbkNsYXNzZXNbY2xhc3NOYW1lXSA9IHRydWU7CisgICAgICAg
ICAgICB2YXIgY2xhc3NJbmRleCA9IG5vZGUuY2xhc3NJbmRleDsKKyAgICAgICAgICAgIHZhciBz
ZWVuID0gISFzZWVuQ2xhc3NOYW1lSW5kZXhlc1tjbGFzc0luZGV4XTsKKyAgICAgICAgICAgIGlm
ICghc2VlbiAmJiBjbGFzc0luZGV4IGluIGFnZ3JlZ2F0ZXMgJiYgIXNob3VsZFNraXAobm9kZSwg
Y2xhc3NJbmRleCkpIHsKKyAgICAgICAgICAgICAgICBhZ2dyZWdhdGVzW2NsYXNzSW5kZXhdLm1h
eFJldCArPSBub2RlLnJldGFpbmVkU2l6ZTsKKyAgICAgICAgICAgICAgICBzZWVuQ2xhc3NOYW1l
SW5kZXhlc1tjbGFzc0luZGV4XSA9IHRydWU7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICB2
YXIgZG9taW5hdGVkTm9kZXMgPSBzbmFwc2hvdC5fZG9taW5hdGVkTm9kZXNPZk5vZGUobm9kZSk7
CiAgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGRvbWluYXRlZE5vZGVzLmxlbmd0aDsg
aSsrKQogICAgICAgICAgICAgICAgIGZvckRvbWluYXRlZE5vZGVzKGRvbWluYXRlZE5vZGVzLml0
ZW0oaSkpOwotICAgICAgICAgICAgc2VlbkNsYXNzZXNbY2xhc3NOYW1lXSA9IHNlZW47CisgICAg
ICAgICAgICBzZWVuQ2xhc3NOYW1lSW5kZXhlc1tjbGFzc0luZGV4XSA9IHNlZW47CiAgICAgICAg
IH0KICAgICAgICAgZm9yRG9taW5hdGVkTm9kZXModGhpcy5fcm9vdE5vZGVJbmRleCk7CiAKICAg
ICAgICAgLy8gU2hhdmUgb2ZmIHByb3Zpc2lvbmFsbHkgYWxsb2NhdGVkIHNwYWNlLgotICAgICAg
ICBmb3IgKHZhciBjbGFzc05hbWUgaW4gYWdncmVnYXRlcykKLSAgICAgICAgICAgIGFnZ3JlZ2F0
ZXNbY2xhc3NOYW1lXS5pZHhzID0gYWdncmVnYXRlc1tjbGFzc05hbWVdLmlkeHMuc2xpY2UoMCk7
Ci0gICAgICAgIHJldHVybiBhZ2dyZWdhdGVzOworICAgICAgICBmb3IgKHZhciBjbGFzc0luZGV4
IGluIGFnZ3JlZ2F0ZXMpCisgICAgICAgICAgICBhZ2dyZWdhdGVzW2NsYXNzSW5kZXhdLmlkeHMg
PSBhZ2dyZWdhdGVzW2NsYXNzSW5kZXhdLmlkeHMuc2xpY2UoMCk7CisgICAgICAgIHJldHVybiBh
Z2dyZWdhdGVzQnlDbGFzc05hbWU7CiAgICAgfSwKIAogICAgIF9zb3J0QWdncmVnYXRlSW5kZXhl
czogZnVuY3Rpb24oYWdncmVnYXRlcykK
</data>
<flag name="review"
          id="135308"
          type_id="1"
          status="+"
          setter="pfeldman"
    />
          </attachment>
      

    </bug>

</bugzilla>