<?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>56312</bug_id>
          
          <creation_ts>2011-03-14 08:17:55 -0700</creation_ts>
          <short_desc>Web Inspector: Factor out binary search algo from the insertionIndexForObjectInListSortedByFunction function</short_desc>
          <delta_ts>2011-03-24 06:04:30 -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>1</everconfirmed>
          <reporter name="Mikhail Naganov">mnaganov</reporter>
          <assigned_to name="Mikhail Naganov">mnaganov</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>366992</commentid>
    <comment_count>0</comment_count>
    <who name="Mikhail Naganov">mnaganov</who>
    <bug_when>2011-03-14 08:17:55 -0700</bug_when>
    <thetext>I was looking for binary search implementation in Inspector, and found this funny-named function. It actually does more than binary search, so I factored out BS out from it.
I added &apos;binaryIndexOf(value, comparator)&apos; function to Array prototype.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>366993</commentid>
    <comment_count>1</comment_count>
      <attachid>85676</attachid>
    <who name="Mikhail Naganov">mnaganov</who>
    <bug_when>2011-03-14 08:21:19 -0700</bug_when>
    <thetext>Created attachment 85676
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>366995</commentid>
    <comment_count>2</comment_count>
      <attachid>85676</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-03-14 08:25:30 -0700</bug_when>
    <thetext>Comment on attachment 85676
patch

Looks good except for the test. We don&apos;t use initialize_ prefix in the tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>366999</commentid>
    <comment_count>3</comment_count>
      <attachid>85679</attachid>
    <who name="Mikhail Naganov">mnaganov</who>
    <bug_when>2011-03-14 08:33:48 -0700</bug_when>
    <thetext>Created attachment 85679
changed test</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>367004</commentid>
    <comment_count>4</comment_count>
      <attachid>85679</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-03-14 08:46:54 -0700</bug_when>
    <thetext>Comment on attachment 85679
changed test

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

&gt; LayoutTests/inspector/utilities.html:8
&gt; +    function BinaryIndexOfTest()

start with lowerCase.

&gt; LayoutTests/inspector/utilities.html:19
&gt; +        function TestArray(array)

lowerCase.

&gt; LayoutTests/inspector/utilities.html:21
&gt; +            function Comparator(a, b)

lowerCase

&gt; LayoutTests/inspector/utilities.html:49
&gt; +    BinaryIndexOfTest();

No need to declare and run - simply inline.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>367010</commentid>
    <comment_count>5</comment_count>
    <who name="Mikhail Naganov">mnaganov</who>
    <bug_when>2011-03-14 09:01:40 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; (From update of attachment 85679 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=85679&amp;action=review
&gt; 
&gt; &gt; LayoutTests/inspector/utilities.html:8
&gt; &gt; +    function BinaryIndexOfTest()
&gt; 
&gt; start with lowerCase.
&gt; 

Done.

&gt; &gt; LayoutTests/inspector/utilities.html:19
&gt; &gt; +        function TestArray(array)
&gt; 
&gt; lowerCase.
&gt; 

Done.

&gt; &gt; LayoutTests/inspector/utilities.html:21
&gt; &gt; +            function Comparator(a, b)
&gt; 
&gt; lowerCase
&gt; 

Done.

&gt; &gt; LayoutTests/inspector/utilities.html:49
&gt; &gt; +    BinaryIndexOfTest();
&gt; 
&gt; No need to declare and run - simply inline.


Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>372764</commentid>
    <comment_count>6</comment_count>
    <who name="Mikhail Naganov">mnaganov</who>
    <bug_when>2011-03-24 06:04:30 -0700</bug_when>
    <thetext>Committed manually http://trac.webkit.org/changeset/81029

Web Inspector: Factor out binary search algo from the insertionIndexForObjectInListSortedByFunction function.
https://bugs.webkit.org/show_bug.cgi?id=56312

Test: inspector/utilities.html
inspector/front-end/utilities.js:
inspector/utilities-expected.txt: Added.
inspector/utilities.html: Added.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>85676</attachid>
            <date>2011-03-14 08:21:19 -0700</date>
            <delta_ts>2011-03-14 08:33:48 -0700</delta_ts>
            <desc>patch</desc>
            <filename>patch-56312</filename>
            <type>text/plain</type>
            <size>5407</size>
            <attacher name="Mikhail Naganov">mnaganov</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBlYjgwMjNjLi4xOTdlNjA2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTEtMDMt
MTQgIE1pa2hhaWwgTmFnYW5vdiAgPG1uYWdhbm92QGNocm9taXVtLm9yZz4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBGYWN0
b3Igb3V0IGJpbmFyeSBzZWFyY2ggYWxnbyBmcm9tIHRoZSBpbnNlcnRpb25JbmRleEZvck9iamVj
dEluTGlzdFNvcnRlZEJ5RnVuY3Rpb24gZnVuY3Rpb24uCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NjMxMgorCisgICAgICAgICogaW5zcGVjdG9yL3V0
aWxpdGllcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGluc3BlY3Rvci91dGlsaXRp
ZXMuaHRtbDogQWRkZWQuCisKIDIwMTEtMDMtMTQgIEpvaG4gS25vdHRlbmJlbHQgIDxqa25vdHRl
bkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgU3RldmUgQmxvY2suCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdXRpbGl0aWVzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2luc3BlY3Rvci91dGlsaXRpZXMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNhMzAxMWQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3IvdXRpbGl0aWVzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgV2ViIEluc3BlY3RvciB1dGlsaXRpZXMuCisKK1BBU1M6IGJpbmFyeUlu
ZGV4T2YKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3V0aWxpdGllcy5odG1s
IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3V0aWxpdGllcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NzU1CmluZGV4IDAwMDAwMDAuLmFiMDM4ZGYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9pbnNwZWN0b3IvdXRpbGl0aWVzLmh0bWwKQEAgLTAsMCArMSw2NCBAQAorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorCitmdW5jdGlvbiBpbml0aWFsaXplX1V0aWxpdGllc1Rl
c3RzKCkKK3sKKyAgICBXZWJJbnNwZWN0b3IuYmluYXJ5SW5kZXhPZlRlc3QgPSBmdW5jdGlvbigp
CisgICAgeworICAgICAgICB2YXIgdGVzdEFycmF5cyA9IFsKKyAgICAgICAgICAgIFtdLAorICAg
ICAgICAgICAgWzFdLAorICAgICAgICAgICAgWzEsIDEwXSwKKyAgICAgICAgICAgIFsxLCAxMCwg
MTEsIDEyLCAxMywgMTQsIDEwMF0sCisgICAgICAgICAgICBbLTEwMCwgLTUwLCAwLCA1MCwgMTAw
XSwKKyAgICAgICAgICAgIFstMTAwLCAtMTQsIC0xMywgLTEyLCAtMTEsIC0xMCwgLTFdCisgICAg
ICAgIF07CisKKyAgICAgICAgZnVuY3Rpb24gVGVzdEFycmF5KGFycmF5KQorICAgICAgICB7Cisg
ICAgICAgICAgICBmdW5jdGlvbiBDb21wYXJhdG9yKGEsIGIpCisgICAgICAgICAgICB7CisgICAg
ICAgICAgICAgICAgcmV0dXJuIGEgPCBiID8gLTEgOiAoYSA+IGIgPyAxIDogMCk7CisgICAgICAg
ICAgICB9CisKKyAgICAgICAgICAgIGZvciAodmFyIGkgPSAtMTAwOyBpIDw9IDEwMDsgKytpKSB7
CisgICAgICAgICAgICAgICAgdmFyIHJlZmVyZW5jZSA9IGFycmF5LmluZGV4T2YoaSk7CisgICAg
ICAgICAgICAgICAgdmFyIGFjdHVhbCA9IGFycmF5LmJpbmFyeUluZGV4T2YoaSwgQ29tcGFyYXRv
cik7CisgICAgICAgICAgICAgICAgaWYgKHJlZmVyZW5jZSAhPT0gYWN0dWFsKSB7CisgICAgICAg
ICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KFN0cmluZy52c3ByaW50ZigiRkFJ
TDogYmluYXJ5SW5kZXhPZjogZXhwZWN0ZWQgJWQsIGFjdHVhbCAlZCBmb3IgJWQgb24gJXMiLCBb
ZXhwZWN0ZWQsIGFjdHVhbCwgaSwgYXJyYXkuam9pbigiLCIpXSkpOworICAgICAgICAgICAgICAg
ICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAg
ICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgIH0KKworICAgICAgICB2YXIgcGFzc2VkID0g
dHJ1ZTsKKyAgICAgICAgZm9yICh2YXIgaSA9IDAsIGwgPSB0ZXN0QXJyYXlzLmxlbmd0aDsgaSA8
IGw7ICsraSkgeworICAgICAgICAgICAgaWYgKCFUZXN0QXJyYXkodGVzdEFycmF5c1tpXSkpIHsK
KyAgICAgICAgICAgICAgICBwYXNzZWQgPSBmYWxzZTsKKyAgICAgICAgICAgICAgICBicmVhazsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICBpZiAocGFzc2VkKQorICAgICAgICAg
ICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIlBBU1M6IGJpbmFyeUluZGV4T2YiKTsKKyAgICAg
ICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKKyAgICB9Cit9CisKK2Z1bmN0aW9uIHRl
c3QoKQoreworICAgIFdlYkluc3BlY3Rvci5iaW5hcnlJbmRleE9mVGVzdCgpOworfQorCis8L3Nj
cmlwdD4KKzwvaGVhZD4KKworPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgorPHA+CitUaGlzIHRl
c3QgY2hlY2tzIFdlYiBJbnNwZWN0b3IgdXRpbGl0aWVzLgorPC9wPgorCis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKaW5kZXggMDkwNjI3Yy4uNmY5MjZiMCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE0IEBACisyMDExLTAzLTE0ICBNaWtoYWlsIE5hZ2Fub3YgIDxtbmFnYW5vdkBjaHJvbWl1bS5v
cmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2Vi
IEluc3BlY3RvcjogRmFjdG9yIG91dCBiaW5hcnkgc2VhcmNoIGFsZ28gZnJvbSB0aGUgaW5zZXJ0
aW9uSW5kZXhGb3JPYmplY3RJbkxpc3RTb3J0ZWRCeUZ1bmN0aW9uIGZ1bmN0aW9uLgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTYzMTIKKworICAgICAg
ICBUZXN0OiBpbnNwZWN0b3IvdXRpbGl0aWVzLmh0bWwKKworICAgICAgICAqIGluc3BlY3Rvci9m
cm9udC1lbmQvdXRpbGl0aWVzLmpzOgorCiAyMDExLTAzLTE0ICBQYXZlbCBGZWxkbWFuICA8cGZl
bGRtYW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFl1cnkgU2VtaWtoYXRz
a3kuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL3V0aWxp
dGllcy5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvdXRpbGl0aWVzLmpz
CmluZGV4IDJkOTYwZDguLmZiZmRmYmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvdXRpbGl0aWVzLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9mcm9udC1lbmQvdXRpbGl0aWVzLmpzCkBAIC03ODUsMzEgKzc4NSw0NCBAQCBBcnJheS5jb252
ZXJ0ID0gZnVuY3Rpb24obGlzdCkKICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnNsaWNlLmNh
bGwobGlzdCk7CiB9CiAKLWZ1bmN0aW9uIGluc2VydGlvbkluZGV4Rm9yT2JqZWN0SW5MaXN0U29y
dGVkQnlGdW5jdGlvbihhbk9iamVjdCwgYUxpc3QsIGFGdW5jdGlvbikKK2Z1bmN0aW9uIGJpbmFy
eVNlYXJjaChvYmplY3QsIGFycmF5LCBjb21wYXJhdG9yKQogewogICAgIHZhciBmaXJzdCA9IDA7
Ci0gICAgdmFyIGxhc3QgPSBhTGlzdC5sZW5ndGggLSAxOwotICAgIHZhciBmbG9vciA9IE1hdGgu
Zmxvb3I7Ci0gICAgdmFyIG1pZCwgYzsKKyAgICB2YXIgbGFzdCA9IGFycmF5Lmxlbmd0aCAtIDE7
CiAKICAgICB3aGlsZSAoZmlyc3QgPD0gbGFzdCkgewotICAgICAgICBtaWQgPSBmbG9vcigoZmly
c3QgKyBsYXN0KSAvIDIpOwotICAgICAgICBjID0gYUZ1bmN0aW9uKGFuT2JqZWN0LCBhTGlzdFtt
aWRdKTsKLQorICAgICAgICB2YXIgbWlkID0gKGZpcnN0ICsgbGFzdCkgPj4gMTsKKyAgICAgICAg
dmFyIGMgPSBjb21wYXJhdG9yKG9iamVjdCwgYXJyYXlbbWlkXSk7CiAgICAgICAgIGlmIChjID4g
MCkKICAgICAgICAgICAgIGZpcnN0ID0gbWlkICsgMTsKICAgICAgICAgZWxzZSBpZiAoYyA8IDAp
CiAgICAgICAgICAgICBsYXN0ID0gbWlkIC0gMTsKLSAgICAgICAgZWxzZSB7Ci0gICAgICAgICAg
ICAvLyBSZXR1cm4gdGhlIGZpcnN0IG9jY3VyYW5jZSBvZiBhbiBpdGVtIGluIHRoZSBsaXN0Lgot
ICAgICAgICAgICAgd2hpbGUgKG1pZCA+IDAgJiYgYUZ1bmN0aW9uKGFuT2JqZWN0LCBhTGlzdFtt
aWQgLSAxXSkgPT09IDApCi0gICAgICAgICAgICAgICAgbWlkLS07Ci0gICAgICAgICAgICBmaXJz
dCA9IG1pZDsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9CisgICAgICAgIGVsc2UKKyAg
ICAgICAgICAgIHJldHVybiBtaWQ7CiAgICAgfQogCi0gICAgcmV0dXJuIGZpcnN0OworICAgIC8v
IFJldHVybiB0aGUgbmVhcmVzdCBsZXNzZXIgaW5kZXgsICItMSIgbWVhbnMgIjAsICItMiIgbWVh
bnMgIjEiLCBldGMuCisgICAgcmV0dXJuIC0oZmlyc3QgKyAxKTsKK30KKworT2JqZWN0LmRlZmlu
ZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgImJpbmFyeUluZGV4T2YiLCB7IHZhbHVlOiBmdW5j
dGlvbih2YWx1ZSwgY29tcGFyYXRvcikKK3sKKyAgICB2YXIgcmVzdWx0ID0gYmluYXJ5U2VhcmNo
KHZhbHVlLCB0aGlzLCBjb21wYXJhdG9yKTsKKyAgICByZXR1cm4gcmVzdWx0ID49IDAgPyByZXN1
bHQgOiAtMTsKK319KTsKKworZnVuY3Rpb24gaW5zZXJ0aW9uSW5kZXhGb3JPYmplY3RJbkxpc3RT
b3J0ZWRCeUZ1bmN0aW9uKGFuT2JqZWN0LCBhTGlzdCwgYUZ1bmN0aW9uKQoreworICAgIHZhciBp
bmRleCA9IGJpbmFyeVNlYXJjaChhbk9iamVjdCwgYUxpc3QsIGFGdW5jdGlvbik7CisgICAgaWYg
KGluZGV4IDwgMCkKKyAgICAgICAgLy8gU2VlIGJpbmFyeVNlYXJjaCBpbXBsZW1lbnRhdGlvbi4K
KyAgICAgICAgcmV0dXJuIC1pbmRleCAtIDE7CisgICAgZWxzZSB7CisgICAgICAgIC8vIFJldHVy
biB0aGUgZmlyc3Qgb2NjdXJhbmNlIG9mIGFuIGl0ZW0gaW4gdGhlIGxpc3QuCisgICAgICAgIHdo
aWxlIChpbmRleCA+IDAgJiYgYUZ1bmN0aW9uKGFuT2JqZWN0LCBhTGlzdFtpbmRleCAtIDFdKSA9
PT0gMCkKKyAgICAgICAgICAgIGluZGV4LS07CisgICAgICAgIHJldHVybiBpbmRleDsgICAgICAg
IAorICAgIH0KIH0KIAogU3RyaW5nLnNwcmludGYgPSBmdW5jdGlvbihmb3JtYXQpCg==
</data>
<flag name="review"
          id="77833"
          type_id="1"
          status="-"
          setter="pfeldman"
    />
    <flag name="commit-queue"
          id="77834"
          type_id="3"
          status="-"
          setter="mnaganov"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>85679</attachid>
            <date>2011-03-14 08:33:48 -0700</date>
            <delta_ts>2011-03-14 08:46:54 -0700</delta_ts>
            <desc>changed test</desc>
            <filename>patch-56312</filename>
            <type>text/plain</type>
            <size>5335</size>
            <attacher name="Mikhail Naganov">mnaganov</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBlYjgwMjNjLi4xOTdlNjA2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTEtMDMt
MTQgIE1pa2hhaWwgTmFnYW5vdiAgPG1uYWdhbm92QGNocm9taXVtLm9yZz4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBGYWN0
b3Igb3V0IGJpbmFyeSBzZWFyY2ggYWxnbyBmcm9tIHRoZSBpbnNlcnRpb25JbmRleEZvck9iamVj
dEluTGlzdFNvcnRlZEJ5RnVuY3Rpb24gZnVuY3Rpb24uCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NjMxMgorCisgICAgICAgICogaW5zcGVjdG9yL3V0
aWxpdGllcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGluc3BlY3Rvci91dGlsaXRp
ZXMuaHRtbDogQWRkZWQuCisKIDIwMTEtMDMtMTQgIEpvaG4gS25vdHRlbmJlbHQgIDxqa25vdHRl
bkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgU3RldmUgQmxvY2suCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdXRpbGl0aWVzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2luc3BlY3Rvci91dGlsaXRpZXMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNhMzAxMWQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3IvdXRpbGl0aWVzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQgQEAKK1Ro
aXMgdGVzdCBjaGVja3MgV2ViIEluc3BlY3RvciB1dGlsaXRpZXMuCisKK1BBU1M6IGJpbmFyeUlu
ZGV4T2YKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3V0aWxpdGllcy5odG1s
IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3V0aWxpdGllcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NzU1CmluZGV4IDAwMDAwMDAuLmM3NDA2ZjMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9pbnNwZWN0b3IvdXRpbGl0aWVzLmh0bWwKQEAgLTAsMCArMSw2MSBAQAorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorCitmdW5jdGlvbiB0ZXN0KCkKK3sKKyAgICBmdW5jdGlv
biBCaW5hcnlJbmRleE9mVGVzdCgpCisgICAgeworICAgICAgICB2YXIgdGVzdEFycmF5cyA9IFsK
KyAgICAgICAgICAgIFtdLAorICAgICAgICAgICAgWzFdLAorICAgICAgICAgICAgWzEsIDEwXSwK
KyAgICAgICAgICAgIFsxLCAxMCwgMTEsIDEyLCAxMywgMTQsIDEwMF0sCisgICAgICAgICAgICBb
LTEwMCwgLTUwLCAwLCA1MCwgMTAwXSwKKyAgICAgICAgICAgIFstMTAwLCAtMTQsIC0xMywgLTEy
LCAtMTEsIC0xMCwgLTFdCisgICAgICAgIF07CisKKyAgICAgICAgZnVuY3Rpb24gVGVzdEFycmF5
KGFycmF5KQorICAgICAgICB7CisgICAgICAgICAgICBmdW5jdGlvbiBDb21wYXJhdG9yKGEsIGIp
CisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgcmV0dXJuIGEgPCBiID8gLTEgOiAoYSA+
IGIgPyAxIDogMCk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGZvciAodmFyIGkgPSAt
MTAwOyBpIDw9IDEwMDsgKytpKSB7CisgICAgICAgICAgICAgICAgdmFyIHJlZmVyZW5jZSA9IGFy
cmF5LmluZGV4T2YoaSk7CisgICAgICAgICAgICAgICAgdmFyIGFjdHVhbCA9IGFycmF5LmJpbmFy
eUluZGV4T2YoaSwgQ29tcGFyYXRvcik7CisgICAgICAgICAgICAgICAgaWYgKHJlZmVyZW5jZSAh
PT0gYWN0dWFsKSB7CisgICAgICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0
KFN0cmluZy52c3ByaW50ZigiRkFJTDogYmluYXJ5SW5kZXhPZjogZXhwZWN0ZWQgJWQsIGFjdHVh
bCAlZCBmb3IgJWQgb24gJXMiLCBbZXhwZWN0ZWQsIGFjdHVhbCwgaSwgYXJyYXkuam9pbigiLCIp
XSkpOworICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgfQorICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgIH0KKwor
ICAgICAgICB2YXIgcGFzc2VkID0gdHJ1ZTsKKyAgICAgICAgZm9yICh2YXIgaSA9IDAsIGwgPSB0
ZXN0QXJyYXlzLmxlbmd0aDsgaSA8IGw7ICsraSkgeworICAgICAgICAgICAgaWYgKCFUZXN0QXJy
YXkodGVzdEFycmF5c1tpXSkpIHsKKyAgICAgICAgICAgICAgICBwYXNzZWQgPSBmYWxzZTsKKyAg
ICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICBp
ZiAocGFzc2VkKQorICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIlBBU1M6IGJp
bmFyeUluZGV4T2YiKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKKyAg
ICB9CisKKyAgICBCaW5hcnlJbmRleE9mVGVzdCgpOworfQorCis8L3NjcmlwdD4KKzwvaGVhZD4K
KworPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgorPHA+CitUaGlzIHRlc3QgY2hlY2tzIFdlYiBJ
bnNwZWN0b3IgdXRpbGl0aWVzLgorPC9wPgorCis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5k
ZXggMDkwNjI3Yy4uNmY5MjZiMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDExLTAz
LTE0ICBNaWtoYWlsIE5hZ2Fub3YgIDxtbmFnYW5vdkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogRmFj
dG9yIG91dCBiaW5hcnkgc2VhcmNoIGFsZ28gZnJvbSB0aGUgaW5zZXJ0aW9uSW5kZXhGb3JPYmpl
Y3RJbkxpc3RTb3J0ZWRCeUZ1bmN0aW9uIGZ1bmN0aW9uLgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTYzMTIKKworICAgICAgICBUZXN0OiBpbnNwZWN0
b3IvdXRpbGl0aWVzLmh0bWwKKworICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvdXRpbGl0
aWVzLmpzOgorCiAyMDExLTAzLTE0ICBQYXZlbCBGZWxkbWFuICA8cGZlbGRtYW5AY2hyb21pdW0u
b3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFl1cnkgU2VtaWtoYXRza3kuCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL3V0aWxpdGllcy5qcyBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvdXRpbGl0aWVzLmpzCmluZGV4IDJkOTYwZDgu
LmZiZmRmYmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
dXRpbGl0aWVzLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvdXRp
bGl0aWVzLmpzCkBAIC03ODUsMzEgKzc4NSw0NCBAQCBBcnJheS5jb252ZXJ0ID0gZnVuY3Rpb24o
bGlzdCkKICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwobGlzdCk7CiB9CiAK
LWZ1bmN0aW9uIGluc2VydGlvbkluZGV4Rm9yT2JqZWN0SW5MaXN0U29ydGVkQnlGdW5jdGlvbihh
bk9iamVjdCwgYUxpc3QsIGFGdW5jdGlvbikKK2Z1bmN0aW9uIGJpbmFyeVNlYXJjaChvYmplY3Qs
IGFycmF5LCBjb21wYXJhdG9yKQogewogICAgIHZhciBmaXJzdCA9IDA7Ci0gICAgdmFyIGxhc3Qg
PSBhTGlzdC5sZW5ndGggLSAxOwotICAgIHZhciBmbG9vciA9IE1hdGguZmxvb3I7Ci0gICAgdmFy
IG1pZCwgYzsKKyAgICB2YXIgbGFzdCA9IGFycmF5Lmxlbmd0aCAtIDE7CiAKICAgICB3aGlsZSAo
Zmlyc3QgPD0gbGFzdCkgewotICAgICAgICBtaWQgPSBmbG9vcigoZmlyc3QgKyBsYXN0KSAvIDIp
OwotICAgICAgICBjID0gYUZ1bmN0aW9uKGFuT2JqZWN0LCBhTGlzdFttaWRdKTsKLQorICAgICAg
ICB2YXIgbWlkID0gKGZpcnN0ICsgbGFzdCkgPj4gMTsKKyAgICAgICAgdmFyIGMgPSBjb21wYXJh
dG9yKG9iamVjdCwgYXJyYXlbbWlkXSk7CiAgICAgICAgIGlmIChjID4gMCkKICAgICAgICAgICAg
IGZpcnN0ID0gbWlkICsgMTsKICAgICAgICAgZWxzZSBpZiAoYyA8IDApCiAgICAgICAgICAgICBs
YXN0ID0gbWlkIC0gMTsKLSAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICAvLyBSZXR1cm4gdGhl
IGZpcnN0IG9jY3VyYW5jZSBvZiBhbiBpdGVtIGluIHRoZSBsaXN0LgotICAgICAgICAgICAgd2hp
bGUgKG1pZCA+IDAgJiYgYUZ1bmN0aW9uKGFuT2JqZWN0LCBhTGlzdFttaWQgLSAxXSkgPT09IDAp
Ci0gICAgICAgICAgICAgICAgbWlkLS07Ci0gICAgICAgICAgICBmaXJzdCA9IG1pZDsKLSAgICAg
ICAgICAgIGJyZWFrOwotICAgICAgICB9CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHJldHVy
biBtaWQ7CiAgICAgfQogCi0gICAgcmV0dXJuIGZpcnN0OworICAgIC8vIFJldHVybiB0aGUgbmVh
cmVzdCBsZXNzZXIgaW5kZXgsICItMSIgbWVhbnMgIjAsICItMiIgbWVhbnMgIjEiLCBldGMuCisg
ICAgcmV0dXJuIC0oZmlyc3QgKyAxKTsKK30KKworT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5
LnByb3RvdHlwZSwgImJpbmFyeUluZGV4T2YiLCB7IHZhbHVlOiBmdW5jdGlvbih2YWx1ZSwgY29t
cGFyYXRvcikKK3sKKyAgICB2YXIgcmVzdWx0ID0gYmluYXJ5U2VhcmNoKHZhbHVlLCB0aGlzLCBj
b21wYXJhdG9yKTsKKyAgICByZXR1cm4gcmVzdWx0ID49IDAgPyByZXN1bHQgOiAtMTsKK319KTsK
KworZnVuY3Rpb24gaW5zZXJ0aW9uSW5kZXhGb3JPYmplY3RJbkxpc3RTb3J0ZWRCeUZ1bmN0aW9u
KGFuT2JqZWN0LCBhTGlzdCwgYUZ1bmN0aW9uKQoreworICAgIHZhciBpbmRleCA9IGJpbmFyeVNl
YXJjaChhbk9iamVjdCwgYUxpc3QsIGFGdW5jdGlvbik7CisgICAgaWYgKGluZGV4IDwgMCkKKyAg
ICAgICAgLy8gU2VlIGJpbmFyeVNlYXJjaCBpbXBsZW1lbnRhdGlvbi4KKyAgICAgICAgcmV0dXJu
IC1pbmRleCAtIDE7CisgICAgZWxzZSB7CisgICAgICAgIC8vIFJldHVybiB0aGUgZmlyc3Qgb2Nj
dXJhbmNlIG9mIGFuIGl0ZW0gaW4gdGhlIGxpc3QuCisgICAgICAgIHdoaWxlIChpbmRleCA+IDAg
JiYgYUZ1bmN0aW9uKGFuT2JqZWN0LCBhTGlzdFtpbmRleCAtIDFdKSA9PT0gMCkKKyAgICAgICAg
ICAgIGluZGV4LS07CisgICAgICAgIHJldHVybiBpbmRleDsgICAgICAgIAorICAgIH0KIH0KIAog
U3RyaW5nLnNwcmludGYgPSBmdW5jdGlvbihmb3JtYXQpCg==
</data>
<flag name="review"
          id="77838"
          type_id="1"
          status="+"
          setter="pfeldman"
    />
    <flag name="commit-queue"
          id="77839"
          type_id="3"
          status="-"
          setter="mnaganov"
    />
          </attachment>
      

    </bug>

</bugzilla>