<?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>85477</bug_id>
          
          <creation_ts>2012-05-03 05:06:29 -0700</creation_ts>
          <short_desc>Web Inspector: createRawLocationByURL is too slow if a big number of evals happen.</short_desc>
          <delta_ts>2012-05-04 02:09:25 -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="Ilya Tikhonovsky">loislo</reporter>
          <assigned_to name="Ilya Tikhonovsky">loislo</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>615171</commentid>
    <comment_count>0</comment_count>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2012-05-03 05:06:29 -0700</bug_when>
    <thetext>It iterates through all the _scripts even they have no url.
We can keep a separate map of scripts with url.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>615191</commentid>
    <comment_count>1</comment_count>
      <attachid>139990</attachid>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2012-05-03 05:36:17 -0700</bug_when>
    <thetext>Created attachment 139990
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>615206</commentid>
    <comment_count>2</comment_count>
      <attachid>139990</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2012-05-03 05:46:23 -0700</bug_when>
    <thetext>Comment on attachment 139990
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=139990&amp;action=review

&gt; Source/WebCore/inspector/front-end/DebuggerModel.js:226
&gt; +    _resetScriptsMap: function()

_resetScriptsMap -&gt; _resetScriptMaps ?

&gt; Source/WebCore/inspector/front-end/DebuggerModel.js:338
&gt; +            this._scriptsWithSourceURL[scriptId] = script;

Let&apos;s introduce a multimap from source URL to scripts instead to avoid the linear pass.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>616037</commentid>
    <comment_count>3</comment_count>
      <attachid>140179</attachid>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2012-05-04 01:26:11 -0700</bug_when>
    <thetext>Created attachment 140179
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>616040</commentid>
    <comment_count>4</comment_count>
      <attachid>140179</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2012-05-04 01:43:51 -0700</bug_when>
    <thetext>Comment on attachment 140179
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=140179&amp;action=review

&gt; Source/WebCore/inspector/front-end/DebuggerModel.js:337
&gt; +                scripts = {};

You never get a script by id from this map, why not use an array of scripts instead?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>616042</commentid>
    <comment_count>5</comment_count>
      <attachid>140179</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-05-04 01:47:14 -0700</bug_when>
    <thetext>Comment on attachment 140179
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=140179&amp;action=review

&gt; Source/WebCore/inspector/front-end/DebuggerModel.js:223
&gt; +    _resetScriptsMaps: function()

_reset ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>616049</commentid>
    <comment_count>6</comment_count>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2012-05-04 02:09:25 -0700</bug_when>
    <thetext>Committed r116077: &lt;http://trac.webkit.org/changeset/116077&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>139990</attachid>
            <date>2012-05-03 05:36:17 -0700</date>
            <delta_ts>2012-05-04 01:25:58 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-85477-20120503163615.patch</filename>
            <type>text/plain</type>
            <size>10490</size>
            <attacher name="Ilya Tikhonovsky">loislo</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE1OTQwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjgwMDJjMDQ4OWY3Yjc3
MjRkYTdiYWM0ZDE3MGQwZDNjOWY5NjAwZC4uY2E4ZjZjYTc1Yjc1MmI3NjU0ZmZjMDM1ZDc2ZWQy
MjM2OTdmY2RkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDEyLTA1LTAzICBJbHlh
IFRpa2hvbm92c2t5ICA8bG9pc2xvQGNocm9taXVtLm9yZz4KKworICAgICAgICBXZWIgSW5zcGVj
dG9yOiBjcmVhdGVSYXdMb2NhdGlvbkJ5VVJMIGlzIHRvbyBzbG93IGlmIGEgYmlnIG51bWJlciBv
ZiBldmFscyBoYXBwZW4uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD04NTQ3NworCisgICAgICAgIEl0IGl0ZXJhdGVzIHRocm91Z2ggYWxsIHRoZSBfc2Ny
aXB0cyBldmVuIHRoZXkgaGF2ZSBubyB1cmwuCisgICAgICAgIFdlIGNhbiBrZWVwIGEgc2VwYXJh
dGUgbWFwIG9mIHNjcmlwdHMgd2l0aCB1cmwuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0RlYnVnZ2VyTW9kZWwu
anM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRGVidWdnZXJNb2RlbCk6CisgICAgICAgIChXZWJJ
bnNwZWN0b3IuRGVidWdnZXJNb2RlbC5wcm90b3R5cGUuX2dsb2JhbE9iamVjdENsZWFyZWQpOgor
ICAgICAgICAoV2ViSW5zcGVjdG9yLkRlYnVnZ2VyTW9kZWwucHJvdG90eXBlLl9yZXNldFNjcmlw
dHNNYXApOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkRlYnVnZ2VyTW9kZWwucHJvdG90eXBlLl9w
YXJzZWRTY3JpcHRTb3VyY2UpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkRlYnVnZ2VyTW9kZWwu
cHJvdG90eXBlLmNyZWF0ZVJhd0xvY2F0aW9uQnlVUkwpOgorCiAyMDEyLTA1LTAyICBTaGVyaWZm
IEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KIAogICAgICAgICBVbnJldmlld2Vk
LCByb2xsaW5nIG91dCByMTE1OTA3LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL2Zyb250LWVuZC9EZWJ1Z2dlck1vZGVsLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9EZWJ1Z2dlck1vZGVsLmpzCmluZGV4IDdhNTAwNGZkMTkwMGNlNDNkZWZhZGVh
ZTk5MGM2YzkzZGY4YzcyNjQuLmQ5ZDUzOWY3Y2E0ZWY4MzdkOTUyM2M5ZGQzNmQ1MDBhOGRjYmY2
NGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRGVidWdn
ZXJNb2RlbC5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RlYnVn
Z2VyTW9kZWwuanMKQEAgLTQwLDYgKzQwLDExIEBAIFdlYkluc3BlY3Rvci5EZWJ1Z2dlck1vZGVs
ID0gZnVuY3Rpb24oKQogICAgICAqLwogICAgIHRoaXMuX3NjcmlwdHMgPSB7fTsKIAorICAgIC8q
KgorICAgICAqIEB0eXBlIHtPYmplY3QuPHN0cmluZywgV2ViSW5zcGVjdG9yLlNjcmlwdD59Cisg
ICAgICovCisgICAgdGhpcy5fc2NyaXB0c1dpdGhTb3VyY2VVUkwgPSB7fTsKKwogICAgIHRoaXMu
X2NhblNldFNjcmlwdFNvdXJjZSA9IGZhbHNlOwogICAgIHRoaXMuX2JyZWFrcG9pbnRzQWN0aXZl
ID0gdHJ1ZTsKIApAQCAtMTQ5LDggKzE1NCw4IEBAIFdlYkluc3BlY3Rvci5EZWJ1Z2dlck1vZGVs
LnByb3RvdHlwZSA9IHsKICAgICB7CiAgICAgICAgIC8vIEFkanVzdCBjb2x1bW4gaWYgbmVlZGVk
LgogICAgICAgICB2YXIgbWluQ29sdW1uTnVtYmVyID0gMDsKLSAgICAgICAgZm9yICh2YXIgaWQg
aW4gdGhpcy5fc2NyaXB0cykgewotICAgICAgICAgICAgdmFyIHNjcmlwdCA9IHRoaXMuX3Njcmlw
dHNbaWRdOworICAgICAgICBmb3IgKHZhciBpZCBpbiB0aGlzLl9zY3JpcHRzV2l0aFNvdXJjZVVS
TCkgeworICAgICAgICAgICAgdmFyIHNjcmlwdCA9IHRoaXMuX3NjcmlwdHNXaXRoU291cmNlVVJM
W2lkXTsKICAgICAgICAgICAgIGlmICh1cmwgPT09IHNjcmlwdC5zb3VyY2VVUkwgJiYgbGluZU51
bWJlciA9PT0gc2NyaXB0LmxpbmVPZmZzZXQpCiAgICAgICAgICAgICAgICAgbWluQ29sdW1uTnVt
YmVyID0gbWluQ29sdW1uTnVtYmVyID8gTWF0aC5taW4obWluQ29sdW1uTnVtYmVyLCBzY3JpcHQu
Y29sdW1uT2Zmc2V0KSA6IHNjcmlwdC5jb2x1bW5PZmZzZXQ7CiAgICAgICAgIH0KQEAgLTIxNCwx
MCArMjE5LDE2IEBAIFdlYkluc3BlY3Rvci5EZWJ1Z2dlck1vZGVsLnByb3RvdHlwZSA9IHsKICAg
ICBfZ2xvYmFsT2JqZWN0Q2xlYXJlZDogZnVuY3Rpb24oKQogICAgIHsKICAgICAgICAgdGhpcy5f
c2V0RGVidWdnZXJQYXVzZWREZXRhaWxzKG51bGwpOwotICAgICAgICB0aGlzLl9zY3JpcHRzID0g
e307CisgICAgICAgIHRoaXMuX3Jlc2V0U2NyaXB0c01hcCgpOwogICAgICAgICB0aGlzLmRpc3Bh
dGNoRXZlbnRUb0xpc3RlbmVycyhXZWJJbnNwZWN0b3IuRGVidWdnZXJNb2RlbC5FdmVudHMuR2xv
YmFsT2JqZWN0Q2xlYXJlZCk7CiAgICAgfSwKIAorICAgIF9yZXNldFNjcmlwdHNNYXA6IGZ1bmN0
aW9uKCkKKyAgICB7CisgICAgICAgIHRoaXMuX3NjcmlwdHMgPSB7fTsKKyAgICAgICAgdGhpcy5f
c2NyaXB0c1dpdGhTb3VyY2VVUkwgPSB7fTsKKyAgICB9LAorCiAgICAgLyoqCiAgICAgICogQHJl
dHVybiB7T2JqZWN0LjxzdHJpbmcsIFdlYkluc3BlY3Rvci5TY3JpcHQ+fQogICAgICAqLwpAQCAt
MzIzLDYgKzMzNCw4IEBAIFdlYkluc3BlY3Rvci5EZWJ1Z2dlck1vZGVsLnByb3RvdHlwZSA9IHsK
ICAgICB7CiAgICAgICAgIHZhciBzY3JpcHQgPSBuZXcgV2ViSW5zcGVjdG9yLlNjcmlwdChzY3Jp
cHRJZCwgc291cmNlVVJMLCBzdGFydExpbmUsIHN0YXJ0Q29sdW1uLCBlbmRMaW5lLCBlbmRDb2x1
bW4sIGlzQ29udGVudFNjcmlwdCwgc291cmNlTWFwVVJMKTsKICAgICAgICAgdGhpcy5fc2NyaXB0
c1tzY3JpcHRJZF0gPSBzY3JpcHQ7CisgICAgICAgIGlmIChzb3VyY2VVUkwpCisgICAgICAgICAg
ICB0aGlzLl9zY3JpcHRzV2l0aFNvdXJjZVVSTFtzY3JpcHRJZF0gPSBzY3JpcHQ7CiAgICAgICAg
IHRoaXMuZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJzKFdlYkluc3BlY3Rvci5EZWJ1Z2dlck1vZGVs
LkV2ZW50cy5QYXJzZWRTY3JpcHRTb3VyY2UsIHNjcmlwdCk7CiAgICAgfSwKIApAQCAtMzYxLDgg
KzM3NCw4IEBAIFdlYkluc3BlY3Rvci5EZWJ1Z2dlck1vZGVsLnByb3RvdHlwZSA9IHsKICAgICBj
cmVhdGVSYXdMb2NhdGlvbkJ5VVJMOiBmdW5jdGlvbihzb3VyY2VVUkwsIGxpbmVOdW1iZXIsIGNv
bHVtbk51bWJlcikKICAgICB7CiAgICAgICAgIHZhciBjbG9zZXN0U2NyaXB0ID0gbnVsbDsKLSAg
ICAgICAgZm9yICh2YXIgc2NyaXB0SWQgaW4gdGhpcy5fc2NyaXB0cykgewotICAgICAgICAgICAg
dmFyIHNjcmlwdCA9IHRoaXMuX3NjcmlwdHNbc2NyaXB0SWRdOworICAgICAgICBmb3IgKHZhciBz
Y3JpcHRJZCBpbiB0aGlzLl9zY3JpcHRzV2l0aFNvdXJjZVVSTCkgeworICAgICAgICAgICAgdmFy
IHNjcmlwdCA9IHRoaXMuX3NjcmlwdHNXaXRoU291cmNlVVJMW3NjcmlwdElkXTsKICAgICAgICAg
ICAgIGlmIChzY3JpcHQuc291cmNlVVJMICE9PSBzb3VyY2VVUkwpCiAgICAgICAgICAgICAgICAg
Y29udGludWU7CiAgICAgICAgICAgICBpZiAoIWNsb3Nlc3RTY3JpcHQpCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZTVhMmE4
MGJkYTNjZTg5YzBmNDI0YWVjM2JhYzk1YThiYzhjZWVkYy4uMmQ1ZjU3OTcxMjljNzQ5NGZjMWJm
N2I2Y2I5MmNlN2RhODJiOGNhNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisr
KyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEyLTA1LTAzICBJ
bHlhIFRpa2hvbm92c2t5ICA8bG9pc2xvQGNocm9taXVtLm9yZz4KKworICAgICAgICBXZWIgSW5z
cGVjdG9yOiBjcmVhdGVSYXdMb2NhdGlvbkJ5VVJMIGlzIHRvbyBzbG93IGlmIGEgYmlnIG51bWJl
ciBvZiBldmFscyBoYXBwZW4uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD04NTQ3NworCisgICAgICAgIEl0IGl0ZXJhdGVzIHRocm91Z2ggYWxsIHRoZSBf
c2NyaXB0cyBldmVuIHRoZXkgaGF2ZSBubyB1cmwuCisgICAgICAgIFdlIGNhbiBrZWVwIGEgc2Vw
YXJhdGUgbWFwIG9mIHNjcmlwdHMgd2l0aCB1cmwuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBodHRwL3Rlc3RzL2luc3BlY3Rvci9jb21waWxlci1z
Y3JpcHQtbWFwcGluZy5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvaW5zcGVjdG9yL2RlYnVn
Z2VyLXRlc3QuanM6CisgICAgICAgIChpbml0aWFsaXplX0RlYnVnZ2VyVGVzdCk6CisgICAgICAg
ICogaW5zcGVjdG9yL2RlYnVnZ2VyL3Jhdy1zb3VyY2UtY29kZS5odG1sOgorCiAyMDEyLTA1LTAy
ICBBbmRyZXkgS29zeWFrb3YgIDxjYXNlcUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgVW5yZXZp
ZXdlZCBnYXJkZW5pbmcuIEFkanVzdGVkIGV4cGVjdGF0aW9ucyBmb3Igc2xvdyB0ZXN0cy4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2NvbXBpbGVyLXNjcmlw
dC1tYXBwaW5nLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9jb21waWxl
ci1zY3JpcHQtbWFwcGluZy5odG1sCmluZGV4IDUyNDkxMTY3MjQ3MDEyZWE2MWJlNDk1ZThiNDcw
OTg2N2RlYjA2MzEuLjczZmMyODc0YzIxMzgwNzhjNmQxYWM2OWZkNTUwMTUyMmFhMzJhOGEgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2NvbXBpbGVyLXNjcmlw
dC1tYXBwaW5nLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvY29t
cGlsZXItc2NyaXB0LW1hcHBpbmcuaHRtbApAQCAtMTI0LDcgKzEyNCw3IEBAIGZ1bmN0aW9uIHRl
c3QoKQogCiAgICAgICAgIGZ1bmN0aW9uIHRlc3RDb21waWxlclNjcmlwdE1hcHBpbmcobmV4dCkK
ICAgICAgICAgewotICAgICAgICAgICAgV2ViSW5zcGVjdG9yLmRlYnVnZ2VyTW9kZWwuX3Njcmlw
dHMgPSBbXTsKKyAgICAgICAgICAgIFdlYkluc3BlY3Rvci5kZWJ1Z2dlck1vZGVsLl9yZXNldFNj
cmlwdHNNYXAoKTsKICAgICAgICAgICAgIHZhciBtYXBwaW5nID0gbmV3IFdlYkluc3BlY3Rvci5D
b21waWxlclNjcmlwdE1hcHBpbmcoKTsKICAgICAgICAgICAgIHZhciBzY3JpcHQgPSBJbnNwZWN0
b3JUZXN0LmNyZWF0ZVNjcmlwdE1vY2soImNvbXBpbGVkLmpzIiwgMCwgMCwgdHJ1ZSwgIiIpOwog
ICAgICAgICAgICAgc2NyaXB0LnNvdXJjZU1hcFVSTCA9ICJodHRwOi8vbG9jYWxob3N0OjgwMDAv
aW5zcGVjdG9yL3Jlc291cmNlcy9zb3VyY2UtbWFwLmpzb24iOwpAQCAtMTYwLDcgKzE2MCw3IEBA
IGZ1bmN0aW9uIHRlc3QoKQogCiAgICAgICAgIGZ1bmN0aW9uIHRlc3RJbmxpbmVkU291cmNlTWFw
KG5leHQpCiAgICAgICAgIHsKLSAgICAgICAgICAgIFdlYkluc3BlY3Rvci5kZWJ1Z2dlck1vZGVs
Ll9zY3JpcHRzID0gW107CisgICAgICAgICAgICBXZWJJbnNwZWN0b3IuZGVidWdnZXJNb2RlbC5f
cmVzZXRTY3JpcHRzTWFwKCk7CiAgICAgICAgICAgICB2YXIgbWFwcGluZyA9IG5ldyBXZWJJbnNw
ZWN0b3IuQ29tcGlsZXJTY3JpcHRNYXBwaW5nKCk7CiAgICAgICAgICAgICB2YXIgc2NyaXB0ID0g
SW5zcGVjdG9yVGVzdC5jcmVhdGVTY3JpcHRNb2NrKCJodHRwOi8vZXhhbXBsZS5jb20vY29tcGls
ZWQuanMiLCAwLCAwLCB0cnVlLCAiIik7CiAgICAgICAgICAgICB2YXIgc291cmNlTWFwID0gewpA
QCAtMTkxLDcgKzE5MSw3IEBAIGZ1bmN0aW9uIHRlc3QoKQogICAgICAgICBmdW5jdGlvbiB0ZXN0
U291cmNlTWFwQ291bGROb3RCZUxvYWRlZChuZXh0KQogICAgICAgICB7CiAgICAgICAgICAgICBX
ZWJJbnNwZWN0b3Iuc2V0dGluZ3Muc291cmNlTWFwc0VuYWJsZWQuc2V0KHRydWUpOwotICAgICAg
ICAgICAgV2ViSW5zcGVjdG9yLmRlYnVnZ2VyTW9kZWwuX3NjcmlwdHMgPSBbXTsKKyAgICAgICAg
ICAgIFdlYkluc3BlY3Rvci5kZWJ1Z2dlck1vZGVsLl9yZXNldFNjcmlwdHNNYXAoKTsKICAgICAg
ICAgICAgIHZhciBtYWluU2NyaXB0TWFwcGluZyA9IG5ldyBXZWJJbnNwZWN0b3IuTWFpblNjcmlw
dE1hcHBpbmcoKTsKICAgICAgICAgICAgIG1haW5TY3JpcHRNYXBwaW5nLmFkZEV2ZW50TGlzdGVu
ZXIoV2ViSW5zcGVjdG9yLk1haW5TY3JpcHRNYXBwaW5nLkV2ZW50cy5VSVNvdXJjZUNvZGVMaXN0
Q2hhbmdlZCwgdWlTb3VyY2VDb2RlTGlzdENoYW5nZWQpOwogCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci10ZXN0LmpzIGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9pbnNwZWN0b3IvZGVidWdnZXItdGVzdC5qcwppbmRleCBkZGU2NjkxZWJlN2E2
ZDNkNWMyOGFlZTJmZjU3ZDMxYmE1MjRiYzcxLi5iOWFhMjQyMzIzZjAwNWYyODdhZTUyNWVkNGUx
ZWZmMDkxYzE2ZTgxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rv
ci9kZWJ1Z2dlci10ZXN0LmpzCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9y
L2RlYnVnZ2VyLXRlc3QuanMKQEAgLTI5MSw2ICsyOTEsNyBAQCBJbnNwZWN0b3JUZXN0LmNyZWF0
ZVNjcmlwdE1vY2sgPSBmdW5jdGlvbih1cmwsIHN0YXJ0TGluZSwgc3RhcnRDb2x1bW4sIGlzQ29u
dGVudAogICAgIHZhciBzY3JpcHQgPSBuZXcgV2ViSW5zcGVjdG9yLlNjcmlwdChzY3JpcHRJZCwg
dXJsLCBzdGFydExpbmUsIHN0YXJ0Q29sdW1uLCBlbmRMaW5lLCBlbmRDb2x1bW4sIGlzQ29udGVu
dFNjcmlwdCk7CiAgICAgc2NyaXB0LnJlcXVlc3RTb3VyY2UgPSBmdW5jdGlvbihjYWxsYmFjaykg
eyBjYWxsYmFjayhzb3VyY2UpOyB9OwogICAgIFdlYkluc3BlY3Rvci5kZWJ1Z2dlck1vZGVsLl9z
Y3JpcHRzW3NjcmlwdElkXSA9IHNjcmlwdDsKKyAgICBXZWJJbnNwZWN0b3IuZGVidWdnZXJNb2Rl
bC5fc2NyaXB0c1dpdGhTb3VyY2VVUkxbc2NyaXB0SWRdID0gc2NyaXB0OwogICAgIHJldHVybiBz
Y3JpcHQ7CiB9CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9y
YXctc291cmNlLWNvZGUuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9yYXct
c291cmNlLWNvZGUuaHRtbAppbmRleCBlMzMxOWIzYjA5YmEzZDQ1NjA1M2U0YzgxNDY0ZTI4OWVk
NmFhNTBiLi41ZTUyOGFmOTRlODM2MGU0ZmIyOWJkNjJkZDZlMzkxNDUzYmI0YWY2IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvcmF3LXNvdXJjZS1jb2RlLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyL3Jhdy1zb3VyY2UtY29kZS5odG1s
CkBAIC05Miw3ICs5Miw3IEBAIGZ1bmN0aW9uIHRlc3QoKQogICAgIEluc3BlY3RvclRlc3QucnVu
VGVzdFN1aXRlKFsKICAgICAgICAgZnVuY3Rpb24gdGVzdFNjcmlwdFdpdGhvdXRSZXNvdXJjZShu
ZXh0KQogICAgICAgICB7Ci0gICAgICAgICAgICBXZWJJbnNwZWN0b3IuZGVidWdnZXJNb2RlbC5f
c2NyaXB0cyA9IFtdOworICAgICAgICAgICAgV2ViSW5zcGVjdG9yLmRlYnVnZ2VyTW9kZWwuX3Jl
c2V0U2NyaXB0c01hcCgpOwogICAgICAgICAgICAgdmFyIHNjcmlwdCA9IEluc3BlY3RvclRlc3Qu
Y3JlYXRlU2NyaXB0TW9jaygiZm9vLmpzIiwgMCwgMCwgdHJ1ZSwgIjxzY3JpcHQgc291cmNlPiIp
OwogICAgICAgICAgICAgdmFyIHJhd1NvdXJjZUNvZGUgPSBjcmVhdGVSYXdTb3VyY2VDb2RlKHNj
cmlwdCwgbnVsbCk7CiAKQEAgLTExNCw3ICsxMTQsNyBAQCBmdW5jdGlvbiB0ZXN0KCkKIAogICAg
ICAgICBmdW5jdGlvbiB0ZXN0SFRNTFdpdGhQZW5kaW5nUmVzb3VyY2UobmV4dCkKICAgICAgICAg
ewotICAgICAgICAgICAgV2ViSW5zcGVjdG9yLmRlYnVnZ2VyTW9kZWwuX3NjcmlwdHMgPSBbXTsK
KyAgICAgICAgICAgIFdlYkluc3BlY3Rvci5kZWJ1Z2dlck1vZGVsLl9yZXNldFNjcmlwdHNNYXAo
KTsKICAgICAgICAgICAgIHZhciBzY3JpcHQxID0gSW5zcGVjdG9yVGVzdC5jcmVhdGVTY3JpcHRN
b2NrKCJpbmRleC5odG1sIiwgMCwgMTAsIGZhbHNlLCAiPHNjcmlwdCBzb3VyY2UgMT4iKTsKICAg
ICAgICAgICAgIHZhciBzY3JpcHQyID0gSW5zcGVjdG9yVGVzdC5jcmVhdGVTY3JpcHRNb2NrKCJp
bmRleC5odG1sIiwgMCwgNDUsIGZhbHNlLCAiPHNjcmlwdCBzb3VyY2UgMj4iKTsKICAgICAgICAg
ICAgIHZhciByZXF1ZXN0ID0gY3JlYXRlUGVuZGluZ1JlcXVlc3RNb2NrKCJkb2N1bWVudCIsICI8
cmVzb3VyY2UgY29udGVudD4iKTsKQEAgLTE0OCw3ICsxNDgsNyBAQCBmdW5jdGlvbiB0ZXN0KCkK
IAogICAgICAgICBmdW5jdGlvbiB0ZXN0SFRNTFdpdGhGaW5pc2hlZFJlc291cmNlKG5leHQpCiAg
ICAgICAgIHsKLSAgICAgICAgICAgIFdlYkluc3BlY3Rvci5kZWJ1Z2dlck1vZGVsLl9zY3JpcHRz
ID0gW107CisgICAgICAgICAgICBXZWJJbnNwZWN0b3IuZGVidWdnZXJNb2RlbC5fcmVzZXRTY3Jp
cHRzTWFwKCk7CiAgICAgICAgICAgICB2YXIgc2NyaXB0MSA9IEluc3BlY3RvclRlc3QuY3JlYXRl
U2NyaXB0TW9jaygiaW5kZXguaHRtbCIsIDEsIDEwLCBmYWxzZSwgIjxzY3JpcHQgc291cmNlIDE+
Iik7CiAgICAgICAgICAgICB2YXIgc2NyaXB0MiA9IEluc3BlY3RvclRlc3QuY3JlYXRlU2NyaXB0
TW9jaygiaW5kZXguaHRtbCIsIDUsIDQ1LCBmYWxzZSwgIjxzY3JpcHRcbnNvdXJjZVxuMj4iKTsK
ICAgICAgICAgICAgIHZhciByZXF1ZXN0ID0gY3JlYXRlRmluaXNoZWRSZXF1ZXN0TW9jaygiZG9j
dW1lbnQiLCAiPHJlc291cmNlIGNvbnRlbnQ+Iik7CkBAIC0xNzcsNyArMTc3LDcgQEAgZnVuY3Rp
b24gdGVzdCgpCiAKICAgICAgICAgZnVuY3Rpb24gdGVzdEZvcmNlVXBkYXRlU291cmNlTWFwcGlu
ZyhuZXh0KQogICAgICAgICB7Ci0gICAgICAgICAgICBXZWJJbnNwZWN0b3IuZGVidWdnZXJNb2Rl
bC5fc2NyaXB0cyA9IFtdOworICAgICAgICAgICAgV2ViSW5zcGVjdG9yLmRlYnVnZ2VyTW9kZWwu
X3Jlc2V0U2NyaXB0c01hcCgpOwogICAgICAgICAgICAgdmFyIHNjcmlwdDEgPSBJbnNwZWN0b3JU
ZXN0LmNyZWF0ZVNjcmlwdE1vY2soImluZGV4Lmh0bWwiLCAwLCAxMCwgZmFsc2UsICI8c2NyaXB0
IHNvdXJjZSAxPiIpOwogICAgICAgICAgICAgdmFyIHNjcmlwdDIgPSBJbnNwZWN0b3JUZXN0LmNy
ZWF0ZVNjcmlwdE1vY2soImluZGV4Lmh0bWwiLCAwLCA0NSwgZmFsc2UsICI8c2NyaXB0IHNvdXJj
ZSAyPiIpOwogICAgICAgICAgICAgdmFyIHNjcmlwdDMgPSBJbnNwZWN0b3JUZXN0LmNyZWF0ZVNj
cmlwdE1vY2soImluZGV4Lmh0bWwiLCAxLCAxMCwgZmFsc2UsICI8c2NyaXB0IHNvdXJjZSAzPiIp
OwpAQCAtMjQ0LDcgKzI0NCw3IEBAIGZ1bmN0aW9uIHRlc3QoKQogCiAgICAgICAgIGZ1bmN0aW9u
IHRlc3RGb3JtYXR0aW5nV2l0aEZpbmlzaGVkUmVzb3VyY2UobmV4dCkKICAgICAgICAgewotICAg
ICAgICAgICAgV2ViSW5zcGVjdG9yLmRlYnVnZ2VyTW9kZWwuX3NjcmlwdHMgPSBbXTsKKyAgICAg
ICAgICAgIFdlYkluc3BlY3Rvci5kZWJ1Z2dlck1vZGVsLl9yZXNldFNjcmlwdHNNYXAoKTsKICAg
ICAgICAgICAgIHZhciBzY3JpcHQgPSBJbnNwZWN0b3JUZXN0LmNyZWF0ZVNjcmlwdE1vY2soImZv
by5qcyIsIDAsIDAsIHRydWUsICI8c2NyaXB0IHNvdXJjZT4iKTsKICAgICAgICAgICAgIHZhciBy
ZXF1ZXN0ID0gY3JlYXRlRmluaXNoZWRSZXF1ZXN0TW9jaygic2NyaXB0IiwgIjxyZXNvdXJjZSBj
b250ZW50PiIpOwogICAgICAgICAgICAgdmFyIHJhd1NvdXJjZUNvZGUgPSBjcmVhdGVSYXdTb3Vy
Y2VDb2RlKHNjcmlwdCwgcmVxdWVzdCwgZmFsc2UpOwpAQCAtMzAzLDcgKzMwMyw3IEBAIGZ1bmN0
aW9uIHRlc3QoKQogCiAgICAgICAgIGZ1bmN0aW9uIHRlc3RGb3JtYXR0aW5nV2l0aFBlbmRpbmdS
ZXNvdXJjZShuZXh0KQogICAgICAgICB7Ci0gICAgICAgICAgICBXZWJJbnNwZWN0b3IuZGVidWdn
ZXJNb2RlbC5fc2NyaXB0cyA9IFtdOworICAgICAgICAgICAgV2ViSW5zcGVjdG9yLmRlYnVnZ2Vy
TW9kZWwuX3Jlc2V0U2NyaXB0c01hcCgpOwogICAgICAgICAgICAgdmFyIHNjcmlwdCA9IEluc3Bl
Y3RvclRlc3QuY3JlYXRlU2NyaXB0TW9jaygiZm9vLmpzIiwgMCwgMCwgdHJ1ZSwgIjxzY3JpcHQg
c291cmNlPiIpOwogICAgICAgICAgICAgdmFyIHJlcXVlc3QgPSBjcmVhdGVQZW5kaW5nUmVxdWVz
dE1vY2soInNjcmlwdCIsICI8cmVzb3VyY2UgY29udGVudD4iKTsKICAgICAgICAgICAgIHZhciBy
YXdTb3VyY2VDb2RlID0gY3JlYXRlUmF3U291cmNlQ29kZShzY3JpcHQsIHJlcXVlc3QsIHRydWUp
Owo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>140179</attachid>
            <date>2012-05-04 01:26:11 -0700</date>
            <delta_ts>2012-05-04 01:47:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-85477-20120504122609.patch</filename>
            <type>text/plain</type>
            <size>11126</size>
            <attacher name="Ilya Tikhonovsky">loislo</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE2MDc1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTIyOGNhZTllNGEwNzVm
ODAzZjYwYmQ1OGJkZDZkY2ViMDgzNTYzMS4uMTFjNWU0Y2MxZjJiNzc3YWNmZDE0YTMyNjNkNDUz
MDBlMjFmZjhmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDEyLTA1LTAzICBJbHlh
IFRpa2hvbm92c2t5ICA8bG9pc2xvQGNocm9taXVtLm9yZz4KKworICAgICAgICBXZWIgSW5zcGVj
dG9yOiBjcmVhdGVSYXdMb2NhdGlvbkJ5VVJMIGlzIHRvbyBzbG93IGlmIGEgYmlnIG51bWJlciBv
ZiBldmFscyBoYXBwZW4uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD04NTQ3NworCisgICAgICAgIEl0IGl0ZXJhdGVzIHRocm91Z2ggYWxsIHRoZSBfc2Ny
aXB0cyBldmVuIHRoZXkgaGF2ZSBubyB1cmwuCisgICAgICAgIFdlIGNhbiBrZWVwIGEgc2VwYXJh
dGUgbWFwIG9mIHNjcmlwdHMgd2l0aCB1cmwuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0RlYnVnZ2VyTW9kZWwu
anM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRGVidWdnZXJNb2RlbCk6CisgICAgICAgIChXZWJJ
bnNwZWN0b3IuRGVidWdnZXJNb2RlbC5wcm90b3R5cGUuX2dsb2JhbE9iamVjdENsZWFyZWQpOgor
ICAgICAgICAoV2ViSW5zcGVjdG9yLkRlYnVnZ2VyTW9kZWwucHJvdG90eXBlLl9yZXNldFNjcmlw
dHNNYXApOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkRlYnVnZ2VyTW9kZWwucHJvdG90eXBlLl9w
YXJzZWRTY3JpcHRTb3VyY2UpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkRlYnVnZ2VyTW9kZWwu
cHJvdG90eXBlLmNyZWF0ZVJhd0xvY2F0aW9uQnlVUkwpOgorCiAyMDEyLTA1LTAzICBEYXZpZCBC
YXJyICA8ZGF2aWRiYXJyQGNocm9taXVtLm9yZz4KIAogICAgICAgICBBbnRpYWxpYXMgc2luZ2xl
LWVkZ2Ugc29saWQgYm9yZGVycwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9EZWJ1Z2dlck1vZGVsLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zy
b250LWVuZC9EZWJ1Z2dlck1vZGVsLmpzCmluZGV4IGEyNDBkMDVmNjgxMTAzMmE1MjEwZjczNGIw
NTk3NmU0MTI0NDNlNjEuLjMxMWU0MWVjNjNiMTBhMGI0N2M5YjIzYmEwYTZkZDlkYjQ1MjA1ZmUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRGVidWdnZXJN
b2RlbC5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RlYnVnZ2Vy
TW9kZWwuanMKQEAgLTM5LDYgKzM5LDcgQEAgV2ViSW5zcGVjdG9yLkRlYnVnZ2VyTW9kZWwgPSBm
dW5jdGlvbigpCiAgICAgICogQHR5cGUge09iamVjdC48c3RyaW5nLCBXZWJJbnNwZWN0b3IuU2Ny
aXB0Pn0KICAgICAgKi8KICAgICB0aGlzLl9zY3JpcHRzID0ge307CisgICAgdGhpcy5fc2NyaXB0
c0J5U291cmNlVVJMID0ge307CiAKICAgICB0aGlzLl9jYW5TZXRTY3JpcHRTb3VyY2UgPSBmYWxz
ZTsKICAgICB0aGlzLl9icmVha3BvaW50c0FjdGl2ZSA9IHRydWU7CkBAIC0xNDksOSArMTUwLDEw
IEBAIFdlYkluc3BlY3Rvci5EZWJ1Z2dlck1vZGVsLnByb3RvdHlwZSA9IHsKICAgICB7CiAgICAg
ICAgIC8vIEFkanVzdCBjb2x1bW4gaWYgbmVlZGVkLgogICAgICAgICB2YXIgbWluQ29sdW1uTnVt
YmVyID0gMDsKLSAgICAgICAgZm9yICh2YXIgaWQgaW4gdGhpcy5fc2NyaXB0cykgewotICAgICAg
ICAgICAgdmFyIHNjcmlwdCA9IHRoaXMuX3NjcmlwdHNbaWRdOwotICAgICAgICAgICAgaWYgKHVy
bCA9PT0gc2NyaXB0LnNvdXJjZVVSTCAmJiBsaW5lTnVtYmVyID09PSBzY3JpcHQubGluZU9mZnNl
dCkKKyAgICAgICAgdmFyIHNjcmlwdHMgPSB0aGlzLl9zY3JpcHRzQnlTb3VyY2VVUkxbdXJsXSB8
fCB7fTsKKyAgICAgICAgZm9yICh2YXIgaWQgaW4gc2NyaXB0cykgeworICAgICAgICAgICAgdmFy
IHNjcmlwdCA9IHNjcmlwdHNbaWRdOworICAgICAgICAgICAgaWYgKGxpbmVOdW1iZXIgPT09IHNj
cmlwdC5saW5lT2Zmc2V0KQogICAgICAgICAgICAgICAgIG1pbkNvbHVtbk51bWJlciA9IG1pbkNv
bHVtbk51bWJlciA/IE1hdGgubWluKG1pbkNvbHVtbk51bWJlciwgc2NyaXB0LmNvbHVtbk9mZnNl
dCkgOiBzY3JpcHQuY29sdW1uT2Zmc2V0OwogICAgICAgICB9CiAgICAgICAgIGNvbHVtbk51bWJl
ciA9IE1hdGgubWF4KGNvbHVtbk51bWJlciwgbWluQ29sdW1uTnVtYmVyKTsKQEAgLTIxNCwxMCAr
MjE2LDE2IEBAIFdlYkluc3BlY3Rvci5EZWJ1Z2dlck1vZGVsLnByb3RvdHlwZSA9IHsKICAgICBf
Z2xvYmFsT2JqZWN0Q2xlYXJlZDogZnVuY3Rpb24oKQogICAgIHsKICAgICAgICAgdGhpcy5fc2V0
RGVidWdnZXJQYXVzZWREZXRhaWxzKG51bGwpOwotICAgICAgICB0aGlzLl9zY3JpcHRzID0ge307
CisgICAgICAgIHRoaXMuX3Jlc2V0U2NyaXB0c01hcHMoKTsKICAgICAgICAgdGhpcy5kaXNwYXRj
aEV2ZW50VG9MaXN0ZW5lcnMoV2ViSW5zcGVjdG9yLkRlYnVnZ2VyTW9kZWwuRXZlbnRzLkdsb2Jh
bE9iamVjdENsZWFyZWQpOwogICAgIH0sCiAKKyAgICBfcmVzZXRTY3JpcHRzTWFwczogZnVuY3Rp
b24oKQorICAgIHsKKyAgICAgICAgdGhpcy5fc2NyaXB0cyA9IHt9OworICAgICAgICB0aGlzLl9z
Y3JpcHRzQnlTb3VyY2VVUkwgPSB7fTsKKyAgICB9LAorCiAgICAgLyoqCiAgICAgICogQHJldHVy
biB7T2JqZWN0LjxzdHJpbmcsIFdlYkluc3BlY3Rvci5TY3JpcHQ+fQogICAgICAqLwpAQCAtMzIz
LDYgKzMzMSwxNCBAQCBXZWJJbnNwZWN0b3IuRGVidWdnZXJNb2RlbC5wcm90b3R5cGUgPSB7CiAg
ICAgewogICAgICAgICB2YXIgc2NyaXB0ID0gbmV3IFdlYkluc3BlY3Rvci5TY3JpcHQoc2NyaXB0
SWQsIHNvdXJjZVVSTCwgc3RhcnRMaW5lLCBzdGFydENvbHVtbiwgZW5kTGluZSwgZW5kQ29sdW1u
LCBpc0NvbnRlbnRTY3JpcHQsIHNvdXJjZU1hcFVSTCk7CiAgICAgICAgIHRoaXMuX3NjcmlwdHNb
c2NyaXB0SWRdID0gc2NyaXB0OworICAgICAgICBpZiAoc291cmNlVVJMKSB7CisgICAgICAgICAg
ICB2YXIgc2NyaXB0cyA9IHRoaXMuX3NjcmlwdHNCeVNvdXJjZVVSTFtzb3VyY2VVUkxdOworICAg
ICAgICAgICAgaWYgKCFzY3JpcHRzKSB7CisgICAgICAgICAgICAgICAgc2NyaXB0cyA9IHt9Owor
ICAgICAgICAgICAgICAgIHRoaXMuX3NjcmlwdHNCeVNvdXJjZVVSTFtzb3VyY2VVUkxdID0gc2Ny
aXB0czsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIHNjcmlwdHNbc2NyaXB0SWRdID0gc2Ny
aXB0OworICAgICAgICB9CiAgICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJzKFdl
Ykluc3BlY3Rvci5EZWJ1Z2dlck1vZGVsLkV2ZW50cy5QYXJzZWRTY3JpcHRTb3VyY2UsIHNjcmlw
dCk7CiAgICAgfSwKIApAQCAtMzYxLDEwICszNzcsOSBAQCBXZWJJbnNwZWN0b3IuRGVidWdnZXJN
b2RlbC5wcm90b3R5cGUgPSB7CiAgICAgY3JlYXRlUmF3TG9jYXRpb25CeVVSTDogZnVuY3Rpb24o
c291cmNlVVJMLCBsaW5lTnVtYmVyLCBjb2x1bW5OdW1iZXIpCiAgICAgewogICAgICAgICB2YXIg
Y2xvc2VzdFNjcmlwdCA9IG51bGw7Ci0gICAgICAgIGZvciAodmFyIHNjcmlwdElkIGluIHRoaXMu
X3NjcmlwdHMpIHsKLSAgICAgICAgICAgIHZhciBzY3JpcHQgPSB0aGlzLl9zY3JpcHRzW3Njcmlw
dElkXTsKLSAgICAgICAgICAgIGlmIChzY3JpcHQuc291cmNlVVJMICE9PSBzb3VyY2VVUkwpCi0g
ICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAgIHZhciBzY3JpcHRzID0gdGhpcy5fc2Ny
aXB0c0J5U291cmNlVVJMW3NvdXJjZVVSTF0gfHwge307CisgICAgICAgIGZvciAodmFyIHNjcmlw
dElkIGluIHNjcmlwdHMpIHsKKyAgICAgICAgICAgIHZhciBzY3JpcHQgPSBzY3JpcHRzW3Njcmlw
dElkXTsKICAgICAgICAgICAgIGlmICghY2xvc2VzdFNjcmlwdCkKICAgICAgICAgICAgICAgICBj
bG9zZXN0U2NyaXB0ID0gc2NyaXB0OwogICAgICAgICAgICAgaWYgKHNjcmlwdC5saW5lT2Zmc2V0
ID4gbGluZU51bWJlciB8fCAoc2NyaXB0LmxpbmVPZmZzZXQgPT09IGxpbmVOdW1iZXIgJiYgc2Ny
aXB0LmNvbHVtbk9mZnNldCA+IGNvbHVtbk51bWJlcikpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNjhiN2Q1MTUwMjQ5M2Fi
NzMyNzQ2YzA5Yzk0MDkzYzQ3MmZkMzVhYy4uMzVkYTMxMTg4NGRlNjA0ZjczZjdkMWFiNzhkN2Fh
MTA5YWFiN2E3ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91
dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEyLTA1LTAzICBJbHlhIFRpa2hv
bm92c2t5ICA8bG9pc2xvQGNocm9taXVtLm9yZz4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBj
cmVhdGVSYXdMb2NhdGlvbkJ5VVJMIGlzIHRvbyBzbG93IGlmIGEgYmlnIG51bWJlciBvZiBldmFs
cyBoYXBwZW4uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD04NTQ3NworCisgICAgICAgIEl0IGl0ZXJhdGVzIHRocm91Z2ggYWxsIHRoZSBfc2NyaXB0cyBl
dmVuIHRoZXkgaGF2ZSBubyB1cmwuCisgICAgICAgIFdlIGNhbiBrZWVwIGEgc2VwYXJhdGUgbWFw
IG9mIHNjcmlwdHMgd2l0aCB1cmwuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBodHRwL3Rlc3RzL2luc3BlY3Rvci9jb21waWxlci1zY3JpcHQtbWFw
cGluZy5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyLXRlc3Qu
anM6CisgICAgICAgIChpbml0aWFsaXplX0RlYnVnZ2VyVGVzdCk6CisgICAgICAgICogaW5zcGVj
dG9yL2RlYnVnZ2VyL3Jhdy1zb3VyY2UtY29kZS5odG1sOgorCiAyMDEyLTA1LTA0ICBOb2VsIEdv
cmRvbiAgPG5vZWwuZ29yZG9uQGdtYWlsLmNvbT4KIAogICAgICAgICBBZGQgUE5HIGltYWdlIHBu
Z3N1aXRlIHRlc3QKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9y
L2NvbXBpbGVyLXNjcmlwdC1tYXBwaW5nLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2lu
c3BlY3Rvci9jb21waWxlci1zY3JpcHQtbWFwcGluZy5odG1sCmluZGV4IDUyNDkxMTY3MjQ3MDEy
ZWE2MWJlNDk1ZThiNDcwOTg2N2RlYjA2MzEuLjk3OTk1MzFmYTBmMzRiNzIyNWZkZjcyMWY5ZGM2
NDJkMDlhZDNjMzQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9y
L2NvbXBpbGVyLXNjcmlwdC1tYXBwaW5nLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9pbnNwZWN0b3IvY29tcGlsZXItc2NyaXB0LW1hcHBpbmcuaHRtbApAQCAtMTI0LDcgKzEyNCw3
IEBAIGZ1bmN0aW9uIHRlc3QoKQogCiAgICAgICAgIGZ1bmN0aW9uIHRlc3RDb21waWxlclNjcmlw
dE1hcHBpbmcobmV4dCkKICAgICAgICAgewotICAgICAgICAgICAgV2ViSW5zcGVjdG9yLmRlYnVn
Z2VyTW9kZWwuX3NjcmlwdHMgPSBbXTsKKyAgICAgICAgICAgIFdlYkluc3BlY3Rvci5kZWJ1Z2dl
ck1vZGVsLl9yZXNldFNjcmlwdHNNYXBzKCk7CiAgICAgICAgICAgICB2YXIgbWFwcGluZyA9IG5l
dyBXZWJJbnNwZWN0b3IuQ29tcGlsZXJTY3JpcHRNYXBwaW5nKCk7CiAgICAgICAgICAgICB2YXIg
c2NyaXB0ID0gSW5zcGVjdG9yVGVzdC5jcmVhdGVTY3JpcHRNb2NrKCJjb21waWxlZC5qcyIsIDAs
IDAsIHRydWUsICIiKTsKICAgICAgICAgICAgIHNjcmlwdC5zb3VyY2VNYXBVUkwgPSAiaHR0cDov
L2xvY2FsaG9zdDo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZXMvc291cmNlLW1hcC5qc29uIjsKQEAg
LTE2MCw3ICsxNjAsNyBAQCBmdW5jdGlvbiB0ZXN0KCkKIAogICAgICAgICBmdW5jdGlvbiB0ZXN0
SW5saW5lZFNvdXJjZU1hcChuZXh0KQogICAgICAgICB7Ci0gICAgICAgICAgICBXZWJJbnNwZWN0
b3IuZGVidWdnZXJNb2RlbC5fc2NyaXB0cyA9IFtdOworICAgICAgICAgICAgV2ViSW5zcGVjdG9y
LmRlYnVnZ2VyTW9kZWwuX3Jlc2V0U2NyaXB0c01hcHMoKTsKICAgICAgICAgICAgIHZhciBtYXBw
aW5nID0gbmV3IFdlYkluc3BlY3Rvci5Db21waWxlclNjcmlwdE1hcHBpbmcoKTsKICAgICAgICAg
ICAgIHZhciBzY3JpcHQgPSBJbnNwZWN0b3JUZXN0LmNyZWF0ZVNjcmlwdE1vY2soImh0dHA6Ly9l
eGFtcGxlLmNvbS9jb21waWxlZC5qcyIsIDAsIDAsIHRydWUsICIiKTsKICAgICAgICAgICAgIHZh
ciBzb3VyY2VNYXAgPSB7CkBAIC0xOTEsNyArMTkxLDcgQEAgZnVuY3Rpb24gdGVzdCgpCiAgICAg
ICAgIGZ1bmN0aW9uIHRlc3RTb3VyY2VNYXBDb3VsZE5vdEJlTG9hZGVkKG5leHQpCiAgICAgICAg
IHsKICAgICAgICAgICAgIFdlYkluc3BlY3Rvci5zZXR0aW5ncy5zb3VyY2VNYXBzRW5hYmxlZC5z
ZXQodHJ1ZSk7Ci0gICAgICAgICAgICBXZWJJbnNwZWN0b3IuZGVidWdnZXJNb2RlbC5fc2NyaXB0
cyA9IFtdOworICAgICAgICAgICAgV2ViSW5zcGVjdG9yLmRlYnVnZ2VyTW9kZWwuX3Jlc2V0U2Ny
aXB0c01hcHMoKTsKICAgICAgICAgICAgIHZhciBtYWluU2NyaXB0TWFwcGluZyA9IG5ldyBXZWJJ
bnNwZWN0b3IuTWFpblNjcmlwdE1hcHBpbmcoKTsKICAgICAgICAgICAgIG1haW5TY3JpcHRNYXBw
aW5nLmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLk1haW5TY3JpcHRNYXBwaW5nLkV2ZW50
cy5VSVNvdXJjZUNvZGVMaXN0Q2hhbmdlZCwgdWlTb3VyY2VDb2RlTGlzdENoYW5nZWQpOwogCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci10ZXN0
LmpzIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvZGVidWdnZXItdGVzdC5qcwpp
bmRleCA4NWI4YWQzNzdjNzk0MjIyNzE2OWI0NzE3YjYxODhlZTA1OGRiOTEyLi41ZDIyZjlmZDU5
NzcyNmVhZWJiMzAxODA5NzdjOTM5MzMwYjE4N2E4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci10ZXN0LmpzCisrKyBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyLXRlc3QuanMKQEAgLTI5Miw2ICsyOTIsMTIgQEAg
SW5zcGVjdG9yVGVzdC5jcmVhdGVTY3JpcHRNb2NrID0gZnVuY3Rpb24odXJsLCBzdGFydExpbmUs
IHN0YXJ0Q29sdW1uLCBpc0NvbnRlbnQKICAgICB2YXIgc2NyaXB0ID0gbmV3IFdlYkluc3BlY3Rv
ci5TY3JpcHQoc2NyaXB0SWQsIHVybCwgc3RhcnRMaW5lLCBzdGFydENvbHVtbiwgZW5kTGluZSwg
ZW5kQ29sdW1uLCBpc0NvbnRlbnRTY3JpcHQpOwogICAgIHNjcmlwdC5yZXF1ZXN0Q29udGVudCA9
IGZ1bmN0aW9uKGNhbGxiYWNrKSB7IGNhbGxiYWNrKHNvdXJjZSk7IH07CiAgICAgV2ViSW5zcGVj
dG9yLmRlYnVnZ2VyTW9kZWwuX3NjcmlwdHNbc2NyaXB0SWRdID0gc2NyaXB0OworICAgIHZhciBz
Y3JpcHRzID0gV2ViSW5zcGVjdG9yLmRlYnVnZ2VyTW9kZWwuX3NjcmlwdHNCeVNvdXJjZVVSTFt1
cmxdOworICAgIGlmICghc2NyaXB0cykgeworICAgICAgICBzY3JpcHRzID0ge307CisgICAgICAg
IFdlYkluc3BlY3Rvci5kZWJ1Z2dlck1vZGVsLl9zY3JpcHRzQnlTb3VyY2VVUkxbdXJsXSA9IHNj
cmlwdHM7CisgICAgfQorICAgIHNjcmlwdHNbc2NyaXB0SWRdID0gc2NyaXB0OwogICAgIHJldHVy
biBzY3JpcHQ7CiB9CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dl
ci9yYXctc291cmNlLWNvZGUuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9y
YXctc291cmNlLWNvZGUuaHRtbAppbmRleCA0Nzg3YzBiMGNiZGNkNmM5ZDYzYzVhMGM5NmMwMGEw
ZWFmMzcxNTY3Li4zZjIwZjExOWE3OThiOTQyZjYyY2MxNGEzYTczYmZkZGFkMmY4ZmU0IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvcmF3LXNvdXJjZS1jb2RlLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyL3Jhdy1zb3VyY2UtY29kZS5o
dG1sCkBAIC05Miw3ICs5Miw3IEBAIGZ1bmN0aW9uIHRlc3QoKQogICAgIEluc3BlY3RvclRlc3Qu
cnVuVGVzdFN1aXRlKFsKICAgICAgICAgZnVuY3Rpb24gdGVzdFNjcmlwdFdpdGhvdXRSZXNvdXJj
ZShuZXh0KQogICAgICAgICB7Ci0gICAgICAgICAgICBXZWJJbnNwZWN0b3IuZGVidWdnZXJNb2Rl
bC5fc2NyaXB0cyA9IFtdOworICAgICAgICAgICAgV2ViSW5zcGVjdG9yLmRlYnVnZ2VyTW9kZWwu
X3Jlc2V0U2NyaXB0c01hcHMoKTsKICAgICAgICAgICAgIHZhciBzY3JpcHQgPSBJbnNwZWN0b3JU
ZXN0LmNyZWF0ZVNjcmlwdE1vY2soImZvby5qcyIsIDAsIDAsIHRydWUsICI8c2NyaXB0IHNvdXJj
ZT4iKTsKICAgICAgICAgICAgIHZhciByYXdTb3VyY2VDb2RlID0gY3JlYXRlUmF3U291cmNlQ29k
ZShzY3JpcHQsIG51bGwpOwogCkBAIC0xMTMsNyArMTEzLDcgQEAgZnVuY3Rpb24gdGVzdCgpCiAK
ICAgICAgICAgZnVuY3Rpb24gdGVzdEhUTUxXaXRoUGVuZGluZ1Jlc291cmNlKG5leHQpCiAgICAg
ICAgIHsKLSAgICAgICAgICAgIFdlYkluc3BlY3Rvci5kZWJ1Z2dlck1vZGVsLl9zY3JpcHRzID0g
W107CisgICAgICAgICAgICBXZWJJbnNwZWN0b3IuZGVidWdnZXJNb2RlbC5fcmVzZXRTY3JpcHRz
TWFwcygpOwogICAgICAgICAgICAgdmFyIHNjcmlwdDEgPSBJbnNwZWN0b3JUZXN0LmNyZWF0ZVNj
cmlwdE1vY2soImluZGV4Lmh0bWwiLCAwLCAxMCwgZmFsc2UsICI8c2NyaXB0IHNvdXJjZSAxPiIp
OwogICAgICAgICAgICAgdmFyIHNjcmlwdDIgPSBJbnNwZWN0b3JUZXN0LmNyZWF0ZVNjcmlwdE1v
Y2soImluZGV4Lmh0bWwiLCAwLCA0NSwgZmFsc2UsICI8c2NyaXB0IHNvdXJjZSAyPiIpOwogICAg
ICAgICAgICAgdmFyIHJlcXVlc3QgPSBjcmVhdGVQZW5kaW5nUmVxdWVzdE1vY2soImRvY3VtZW50
IiwgIjxyZXNvdXJjZSBjb250ZW50PiIpOwpAQCAtMTQ3LDcgKzE0Nyw3IEBAIGZ1bmN0aW9uIHRl
c3QoKQogCiAgICAgICAgIGZ1bmN0aW9uIHRlc3RIVE1MV2l0aEZpbmlzaGVkUmVzb3VyY2UobmV4
dCkKICAgICAgICAgewotICAgICAgICAgICAgV2ViSW5zcGVjdG9yLmRlYnVnZ2VyTW9kZWwuX3Nj
cmlwdHMgPSBbXTsKKyAgICAgICAgICAgIFdlYkluc3BlY3Rvci5kZWJ1Z2dlck1vZGVsLl9yZXNl
dFNjcmlwdHNNYXBzKCk7CiAgICAgICAgICAgICB2YXIgc2NyaXB0MSA9IEluc3BlY3RvclRlc3Qu
Y3JlYXRlU2NyaXB0TW9jaygiaW5kZXguaHRtbCIsIDEsIDEwLCBmYWxzZSwgIjxzY3JpcHQgc291
cmNlIDE+Iik7CiAgICAgICAgICAgICB2YXIgc2NyaXB0MiA9IEluc3BlY3RvclRlc3QuY3JlYXRl
U2NyaXB0TW9jaygiaW5kZXguaHRtbCIsIDUsIDQ1LCBmYWxzZSwgIjxzY3JpcHRcbnNvdXJjZVxu
Mj4iKTsKICAgICAgICAgICAgIHZhciByZXF1ZXN0ID0gY3JlYXRlRmluaXNoZWRSZXF1ZXN0TW9j
aygiZG9jdW1lbnQiLCAiPHJlc291cmNlIGNvbnRlbnQ+Iik7CkBAIC0xNzYsNyArMTc2LDcgQEAg
ZnVuY3Rpb24gdGVzdCgpCiAKICAgICAgICAgZnVuY3Rpb24gdGVzdEZvcmNlVXBkYXRlU291cmNl
TWFwcGluZyhuZXh0KQogICAgICAgICB7Ci0gICAgICAgICAgICBXZWJJbnNwZWN0b3IuZGVidWdn
ZXJNb2RlbC5fc2NyaXB0cyA9IFtdOworICAgICAgICAgICAgV2ViSW5zcGVjdG9yLmRlYnVnZ2Vy
TW9kZWwuX3Jlc2V0U2NyaXB0c01hcHMoKTsKICAgICAgICAgICAgIHZhciBzY3JpcHQxID0gSW5z
cGVjdG9yVGVzdC5jcmVhdGVTY3JpcHRNb2NrKCJpbmRleC5odG1sIiwgMCwgMTAsIGZhbHNlLCAi
PHNjcmlwdCBzb3VyY2UgMT4iKTsKICAgICAgICAgICAgIHZhciBzY3JpcHQyID0gSW5zcGVjdG9y
VGVzdC5jcmVhdGVTY3JpcHRNb2NrKCJpbmRleC5odG1sIiwgMCwgNDUsIGZhbHNlLCAiPHNjcmlw
dCBzb3VyY2UgMj4iKTsKICAgICAgICAgICAgIHZhciBzY3JpcHQzID0gSW5zcGVjdG9yVGVzdC5j
cmVhdGVTY3JpcHRNb2NrKCJpbmRleC5odG1sIiwgMSwgMTAsIGZhbHNlLCAiPHNjcmlwdCBzb3Vy
Y2UgMz4iKTsKQEAgLTI0Myw3ICsyNDMsNyBAQCBmdW5jdGlvbiB0ZXN0KCkKIAogICAgICAgICBm
dW5jdGlvbiB0ZXN0Rm9ybWF0dGluZ1dpdGhGaW5pc2hlZFJlc291cmNlKG5leHQpCiAgICAgICAg
IHsKLSAgICAgICAgICAgIFdlYkluc3BlY3Rvci5kZWJ1Z2dlck1vZGVsLl9zY3JpcHRzID0gW107
CisgICAgICAgICAgICBXZWJJbnNwZWN0b3IuZGVidWdnZXJNb2RlbC5fcmVzZXRTY3JpcHRzTWFw
cygpOwogICAgICAgICAgICAgdmFyIHNjcmlwdCA9IEluc3BlY3RvclRlc3QuY3JlYXRlU2NyaXB0
TW9jaygiZm9vLmpzIiwgMCwgMCwgdHJ1ZSwgIjxzY3JpcHQgc291cmNlPiIpOwogICAgICAgICAg
ICAgdmFyIHJlcXVlc3QgPSBjcmVhdGVGaW5pc2hlZFJlcXVlc3RNb2NrKCJzY3JpcHQiLCAiPHJl
c291cmNlIGNvbnRlbnQ+Iik7CiAgICAgICAgICAgICB2YXIgcmF3U291cmNlQ29kZSA9IGNyZWF0
ZVJhd1NvdXJjZUNvZGUoc2NyaXB0LCByZXF1ZXN0LCBmYWxzZSk7CkBAIC0zMDIsNyArMzAyLDcg
QEAgZnVuY3Rpb24gdGVzdCgpCiAKICAgICAgICAgZnVuY3Rpb24gdGVzdEZvcm1hdHRpbmdXaXRo
UGVuZGluZ1Jlc291cmNlKG5leHQpCiAgICAgICAgIHsKLSAgICAgICAgICAgIFdlYkluc3BlY3Rv
ci5kZWJ1Z2dlck1vZGVsLl9zY3JpcHRzID0gW107CisgICAgICAgICAgICBXZWJJbnNwZWN0b3Iu
ZGVidWdnZXJNb2RlbC5fcmVzZXRTY3JpcHRzTWFwcygpOwogICAgICAgICAgICAgdmFyIHNjcmlw
dCA9IEluc3BlY3RvclRlc3QuY3JlYXRlU2NyaXB0TW9jaygiZm9vLmpzIiwgMCwgMCwgdHJ1ZSwg
IjxzY3JpcHQgc291cmNlPiIpOwogICAgICAgICAgICAgdmFyIHJlcXVlc3QgPSBjcmVhdGVQZW5k
aW5nUmVxdWVzdE1vY2soInNjcmlwdCIsICI8cmVzb3VyY2UgY29udGVudD4iKTsKICAgICAgICAg
ICAgIHZhciByYXdTb3VyY2VDb2RlID0gY3JlYXRlUmF3U291cmNlQ29kZShzY3JpcHQsIHJlcXVl
c3QsIHRydWUpOwo=
</data>
<flag name="review"
          id="145972"
          type_id="1"
          status="+"
          setter="yurys"
    />
          </attachment>
      

    </bug>

</bugzilla>