<?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>188382</bug_id>
          
          <creation_ts>2018-08-07 11:50:19 -0700</creation_ts>
          <short_desc>Array.prototype.sort should throw TypeError if param is a not callable object</short_desc>
          <delta_ts>2018-08-19 13:00:28 -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>JavaScriptCore</component>
          <version>Safari 11</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter>isol2</reporter>
          <assigned_to name="Keith Miller">keith_miller</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fpizlo</cc>
    
    <cc>joepeck</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1448514</commentid>
    <comment_count>0</comment_count>
    <who name="">isol2</who>
    <bug_when>2018-08-07 11:50:19 -0700</bug_when>
    <thetext>Hi everyone,

According to ES specification (https://tc39.github.io/ecma262/#sec-array.prototype.sort) Array.sort param should be a comparefn or undefined value, otherwise 
should throw a TypeError.

steps to reproduce:

var obj = {};
var arr = [];
arr.sort(obj);
arr.sort(obj, obj);

Actual results:
pass without failures

Expected results:
TypeError: The comparison function must be either a function or undefined


V8, Chakra and Spidermonkey works as expected.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1448516</commentid>
    <comment_count>1</comment_count>
    <who name="">isol2</who>
    <bug_when>2018-08-07 11:51:15 -0700</bug_when>
    <thetext>OS: Ubuntu 16.04 x64
jsc version: 234654

cinfuzz</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1448902</commentid>
    <comment_count>2</comment_count>
      <attachid>346811</attachid>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2018-08-08 19:04:47 -0700</bug_when>
    <thetext>Created attachment 346811
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1448917</commentid>
    <comment_count>3</comment_count>
      <attachid>346811</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-08-08 20:13:27 -0700</bug_when>
    <thetext>Comment on attachment 346811
Patch

Clearing flags on attachment: 346811

Committed r234716: &lt;https://trac.webkit.org/changeset/234716&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1448918</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-08-08 20:13:28 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1448919</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-08-08 20:14:18 -0700</bug_when>
    <thetext>&lt;rdar://problem/43077213&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1451468</commentid>
    <comment_count>6</comment_count>
      <attachid>346811</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2018-08-19 13:00:28 -0700</bug_when>
    <thetext>Comment on attachment 346811
Patch

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

&gt; Source/JavaScriptCore/builtins/ArrayPrototype.js:602
&gt; +        @throwTypeError(&quot;Array.prototype.sort requires the comparsion function be a function or undefined&quot;);

Might also want to fix the typo here: both before and after this patch it says &quot;comparsion&quot; rather than &quot;comparison&quot;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>346811</attachid>
            <date>2018-08-08 19:04:47 -0700</date>
            <delta_ts>2018-08-08 20:13:27 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-188382-20180808190446.patch</filename>
            <type>text/plain</type>
            <size>12999</size>
            <attacher name="Keith Miller">keith_miller</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM0NjIwCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBm
OWU2MWQ2MWU2Y2M5MjUwNDRmODYzYmM0ZTIyOGRkNjk1MTU3MGY5Li44YTY3YjVmNjQ4NDc4ODll
YWM0YWIxMDgzNGVkOGQ5OGRlMGIzYTkzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyNyBAQAorMjAxOC0wOC0wOCAgS2VpdGggTWlsbGVyICA8a2VpdGhfbWlsbGVyQGFwcGxl
LmNvbT4KKworICAgICAgICBBcnJheS5wcm90b3R5cGUuc29ydCBzaG91bGQgdGhyb3cgVHlwZUVy
cm9yIGlmIHBhcmFtIGlzIGEgbm90IGNhbGxhYmxlIG9iamVjdAorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg4MzgyCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW1wcm92ZSBzcGVjIGNvbXBhdGFiaWxpdHkg
YnkgY2hlY2tpbmcgaWYgdGhlIEFycmF5LnByb3RvdHlwZS5zb3J0IGNvbXBhcmF0b3IgaXMgYSBm
dW5jdGlvbgorICAgICAgICBiZWZvcmUgZG9pbmcgYW55dGhpbmcgZWxzZS4KKworICAgICAgICBB
bHNvLCByZWZhY3RvciB0aGUgdmFyaW91cyBoZWxwZXIgZnVuY3Rpb25zIHRvIHVzZSBsZXQgaW5z
dGVhZCBvZiB2YXIuCisKKyAgICAgICAgKiBidWlsdGlucy9BcnJheVByb3RvdHlwZS5qczoKKyAg
ICAgICAgKHNvcnQuc3RyaW5nQ29tcGFyYXRvcik6CisgICAgICAgIChzb3J0LmNvbXBhY3RTcGFy
c2UpOgorICAgICAgICAoc29ydC5jb21wYWN0U2xvdyk6CisgICAgICAgIChzb3J0LmNvbXBhY3Qp
OgorICAgICAgICAoc29ydC5tZXJnZSk6CisgICAgICAgIChzb3J0Lm1lcmdlU29ydCk6CisgICAg
ICAgIChzb3J0LmJ1Y2tldFNvcnQpOgorICAgICAgICAoc29ydC5jb21wYXJhdG9yU29ydCk6Cisg
ICAgICAgIChzb3J0LnN0cmluZ1NvcnQpOgorICAgICAgICAoc29ydCk6CisKIDIwMTgtMDgtMDQg
IERhdmlkIEtpbHplciAgPGRka2lsemVyQGFwcGxlLmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9O
IChyMjA4OTUzKTogVGVtcGxhdGVPYmplY3REZXNjcmlwdG9yIGNvbnN0cnVjdG9yIGNhbGN1bGF0
ZXMgbV9oYXNoIG9uIHVzZS1hZnRlci1tb3ZlIHZhcmlhYmxlCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvQXJyYXlQcm90b3R5cGUuanMgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnVpbHRpbnMvQXJyYXlQcm90b3R5cGUuanMKaW5kZXggOGEyOWVkMDI4NzI1N2Zj
NDc3MTVhYzJiNjE0MmQ2OGJjMDc5ZTVhNy4uYTg3OTY1NDBiNDNiOThjODAzNWE0Y2M2NzIzOWU0
ODg1YmQxMjYxOCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0Fy
cmF5UHJvdG90eXBlLmpzCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9BcnJh
eVByb3RvdHlwZS5qcwpAQCAtMzkxLDE2ICszOTEsMTYgQEAgZnVuY3Rpb24gc29ydChjb21wYXJh
dG9yKQogCiAgICAgZnVuY3Rpb24gc3RyaW5nQ29tcGFyYXRvcihhLCBiKQogICAgIHsKLSAgICAg
ICAgdmFyIGFTdHJpbmcgPSBhLnN0cmluZzsKLSAgICAgICAgdmFyIGJTdHJpbmcgPSBiLnN0cmlu
ZzsKKyAgICAgICAgbGV0IGFTdHJpbmcgPSBhLnN0cmluZzsKKyAgICAgICAgbGV0IGJTdHJpbmcg
PSBiLnN0cmluZzsKIAotICAgICAgICB2YXIgYUxlbmd0aCA9IGFTdHJpbmcubGVuZ3RoOwotICAg
ICAgICB2YXIgYkxlbmd0aCA9IGJTdHJpbmcubGVuZ3RoOwotICAgICAgICB2YXIgbGVuZ3RoID0g
bWluKGFMZW5ndGgsIGJMZW5ndGgpOworICAgICAgICBsZXQgYUxlbmd0aCA9IGFTdHJpbmcubGVu
Z3RoOworICAgICAgICBsZXQgYkxlbmd0aCA9IGJTdHJpbmcubGVuZ3RoOworICAgICAgICBsZXQg
bGVuZ3RoID0gbWluKGFMZW5ndGgsIGJMZW5ndGgpOwogCi0gICAgICAgIGZvciAodmFyIGkgPSAw
OyBpIDwgbGVuZ3RoOyArK2kpIHsKLSAgICAgICAgICAgIHZhciBhQ2hhckNvZGUgPSBhU3RyaW5n
LkBjaGFyQ29kZUF0KGkpOwotICAgICAgICAgICAgdmFyIGJDaGFyQ29kZSA9IGJTdHJpbmcuQGNo
YXJDb2RlQXQoaSk7CisgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbGVuZ3RoOyArK2kpIHsK
KyAgICAgICAgICAgIGxldCBhQ2hhckNvZGUgPSBhU3RyaW5nLkBjaGFyQ29kZUF0KGkpOworICAg
ICAgICAgICAgbGV0IGJDaGFyQ29kZSA9IGJTdHJpbmcuQGNoYXJDb2RlQXQoaSk7CiAKICAgICAg
ICAgICAgIGlmIChhQ2hhckNvZGUgPT0gYkNoYXJDb2RlKQogICAgICAgICAgICAgICAgIGNvbnRp
bnVlOwpAQCAtNDE0LDI1ICs0MTQsMjUgQEAgZnVuY3Rpb24gc29ydChjb21wYXJhdG9yKQogICAg
IC8vIE1vdmUgdW5kZWZpbmVkcyBhbmQgaG9sZXMgdG8gdGhlIGVuZCBvZiBhIHNwYXJzZSBhcnJh
eS4gUmVzdWx0IGlzIFt2YWx1ZXMuLi4sIHVuZGVmaW5lZHMuLi4sIGhvbGVzLi4uXS4KICAgICBm
dW5jdGlvbiBjb21wYWN0U3BhcnNlKGFycmF5LCBkc3QsIHNyYywgbGVuZ3RoKQogICAgIHsKLSAg
ICAgICAgdmFyIHZhbHVlcyA9IFsgXTsKLSAgICAgICAgdmFyIHNlZW4gPSB7IH07Ci0gICAgICAg
IHZhciB2YWx1ZUNvdW50ID0gMDsKLSAgICAgICAgdmFyIHVuZGVmaW5lZENvdW50ID0gMDsKKyAg
ICAgICAgbGV0IHZhbHVlcyA9IFsgXTsKKyAgICAgICAgbGV0IHNlZW4gPSB7IH07CisgICAgICAg
IGxldCB2YWx1ZUNvdW50ID0gMDsKKyAgICAgICAgbGV0IHVuZGVmaW5lZENvdW50ID0gMDsKIAog
ICAgICAgICAvLyBDbGVhbiB1cCBhZnRlciB0aGUgaW4tcHJvZ3Jlc3Mgbm9uLXNwYXJzZSBjb21w
YWN0aW9uIHRoYXQgZmFpbGVkLgotICAgICAgICBmb3IgKHZhciBpID0gZHN0OyBpIDwgc3JjOyAr
K2kpCisgICAgICAgIGZvciAobGV0IGkgPSBkc3Q7IGkgPCBzcmM7ICsraSkKICAgICAgICAgICAg
IGRlbGV0ZSBhcnJheVtpXTsKIAotICAgICAgICBmb3IgKHZhciBvYmplY3QgPSBhcnJheTsgb2Jq
ZWN0OyBvYmplY3QgPSBAT2JqZWN0LkBnZXRQcm90b3R5cGVPZihvYmplY3QpKSB7Ci0gICAgICAg
ICAgICB2YXIgcHJvcGVydHlOYW1lcyA9IEBPYmplY3QuQGdldE93blByb3BlcnR5TmFtZXMob2Jq
ZWN0KTsKLSAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcHJvcGVydHlOYW1lcy5sZW5n
dGg7ICsraSkgewotICAgICAgICAgICAgICAgIHZhciBpbmRleCA9IHByb3BlcnR5TmFtZXNbaV07
CisgICAgICAgIGZvciAobGV0IG9iamVjdCA9IGFycmF5OyBvYmplY3Q7IG9iamVjdCA9IEBPYmpl
Y3QuQGdldFByb3RvdHlwZU9mKG9iamVjdCkpIHsKKyAgICAgICAgICAgIGxldCBwcm9wZXJ0eU5h
bWVzID0gQE9iamVjdC5AZ2V0T3duUHJvcGVydHlOYW1lcyhvYmplY3QpOworICAgICAgICAgICAg
Zm9yIChsZXQgaSA9IDA7IGkgPCBwcm9wZXJ0eU5hbWVzLmxlbmd0aDsgKytpKSB7CisgICAgICAg
ICAgICAgICAgbGV0IGluZGV4ID0gcHJvcGVydHlOYW1lc1tpXTsKICAgICAgICAgICAgICAgICBp
ZiAoaW5kZXggPCBsZW5ndGgpIHsgLy8gRXhjbHVkZSBub24tbnVtZXJpYyBwcm9wZXJ0aWVzIGFu
ZCBwcm9wZXJ0aWVzIHBhc3QgbGVuZ3RoLgogICAgICAgICAgICAgICAgICAgICBpZiAoc2Vlbltp
bmRleF0pIC8vIEV4Y2x1ZGUgZHVwbGljYXRlcy4KICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnRpbnVlOwogICAgICAgICAgICAgICAgICAgICBzZWVuW2luZGV4XSA9IDE7CiAKLSAgICAgICAg
ICAgICAgICAgICAgdmFyIHZhbHVlID0gYXJyYXlbaW5kZXhdOworICAgICAgICAgICAgICAgICAg
ICBsZXQgdmFsdWUgPSBhcnJheVtpbmRleF07CiAgICAgICAgICAgICAgICAgICAgIGRlbGV0ZSBh
cnJheVtpbmRleF07CiAKICAgICAgICAgICAgICAgICAgICAgaWYgKHZhbHVlID09PSBAdW5kZWZp
bmVkKSB7CkBAIC00NDUsNyArNDQ1LDcgQEAgZnVuY3Rpb24gc29ydChjb21wYXJhdG9yKQogICAg
ICAgICAgICAgfQogICAgICAgICB9CiAKLSAgICAgICAgZm9yICh2YXIgaSA9IHZhbHVlQ291bnQ7
IGkgPCB2YWx1ZUNvdW50ICsgdW5kZWZpbmVkQ291bnQ7ICsraSkKKyAgICAgICAgZm9yIChsZXQg
aSA9IHZhbHVlQ291bnQ7IGkgPCB2YWx1ZUNvdW50ICsgdW5kZWZpbmVkQ291bnQ7ICsraSkKICAg
ICAgICAgICAgIGFycmF5W2ldID0gQHVuZGVmaW5lZDsKIAogICAgICAgICByZXR1cm4gdmFsdWVD
b3VudDsKQEAgLTQ1Myw5ICs0NTMsMTEgQEAgZnVuY3Rpb24gc29ydChjb21wYXJhdG9yKQogCiAg
ICAgZnVuY3Rpb24gY29tcGFjdFNsb3coYXJyYXksIGxlbmd0aCkKICAgICB7Ci0gICAgICAgIHZh
ciBob2xlQ291bnQgPSAwOworICAgICAgICBsZXQgaG9sZUNvdW50ID0gMDsKIAotICAgICAgICBm
b3IgKHZhciBkc3QgPSAwLCBzcmMgPSAwOyBzcmMgPCBsZW5ndGg7ICsrc3JjKSB7CisgICAgICAg
IGxldCBkc3QgPSAwOworICAgICAgICBsZXQgc3JjID0gMDsKKyAgICAgICAgZm9yICg7IHNyYyA8
IGxlbmd0aDsgKytzcmMpIHsKICAgICAgICAgICAgIGlmICghKHNyYyBpbiBhcnJheSkpIHsKICAg
ICAgICAgICAgICAgICArK2hvbGVDb3VudDsKICAgICAgICAgICAgICAgICBpZiAoaG9sZUNvdW50
IDwgMjU2KQpAQCAtNDYzLDIwICs0NjUsMjAgQEAgZnVuY3Rpb24gc29ydChjb21wYXJhdG9yKQog
ICAgICAgICAgICAgICAgIHJldHVybiBjb21wYWN0U3BhcnNlKGFycmF5LCBkc3QsIHNyYywgbGVu
Z3RoKTsKICAgICAgICAgICAgIH0KIAotICAgICAgICAgICAgdmFyIHZhbHVlID0gYXJyYXlbc3Jj
XTsKKyAgICAgICAgICAgIGxldCB2YWx1ZSA9IGFycmF5W3NyY107CiAgICAgICAgICAgICBpZiAo
dmFsdWUgPT09IEB1bmRlZmluZWQpCiAgICAgICAgICAgICAgICAgY29udGludWU7CiAKICAgICAg
ICAgICAgIGFycmF5W2RzdCsrXSA9IHZhbHVlOwogICAgICAgICB9CiAKLSAgICAgICAgdmFyIHZh
bHVlQ291bnQgPSBkc3Q7Ci0gICAgICAgIHZhciB1bmRlZmluZWRDb3VudCA9IGxlbmd0aCAtIHZh
bHVlQ291bnQgLSBob2xlQ291bnQ7CisgICAgICAgIGxldCB2YWx1ZUNvdW50ID0gZHN0OworICAg
ICAgICBsZXQgdW5kZWZpbmVkQ291bnQgPSBsZW5ndGggLSB2YWx1ZUNvdW50IC0gaG9sZUNvdW50
OwogCi0gICAgICAgIGZvciAodmFyIGkgPSB2YWx1ZUNvdW50OyBpIDwgdmFsdWVDb3VudCArIHVu
ZGVmaW5lZENvdW50OyArK2kpCisgICAgICAgIGZvciAobGV0IGkgPSB2YWx1ZUNvdW50OyBpIDwg
dmFsdWVDb3VudCArIHVuZGVmaW5lZENvdW50OyArK2kpCiAgICAgICAgICAgICBhcnJheVtpXSA9
IEB1bmRlZmluZWQ7CiAKLSAgICAgICAgZm9yICh2YXIgaSA9IHZhbHVlQ291bnQgKyB1bmRlZmlu
ZWRDb3VudDsgaSA8IGxlbmd0aDsgKytpKQorICAgICAgICBmb3IgKGxldCBpID0gdmFsdWVDb3Vu
dCArIHVuZGVmaW5lZENvdW50OyBpIDwgbGVuZ3RoOyArK2kpCiAgICAgICAgICAgICBkZWxldGUg
YXJyYXlbaV07CiAKICAgICAgICAgcmV0dXJuIHZhbHVlQ291bnQ7CkBAIC00ODUsNyArNDg3LDcg
QEAgZnVuY3Rpb24gc29ydChjb21wYXJhdG9yKQogICAgIC8vIE1vdmUgdW5kZWZpbmVkcyBhbmQg
aG9sZXMgdG8gdGhlIGVuZCBvZiBhbiBhcnJheS4gUmVzdWx0IGlzIFt2YWx1ZXMuLi4sIHVuZGVm
aW5lZHMuLi4sIGhvbGVzLi4uXS4KICAgICBmdW5jdGlvbiBjb21wYWN0KGFycmF5LCBsZW5ndGgp
CiAgICAgewotICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGFycmF5Lmxlbmd0aDsgKytpKSB7
CisgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYXJyYXkubGVuZ3RoOyArK2kpIHsKICAgICAg
ICAgICAgIGlmIChhcnJheVtpXSA9PT0gQHVuZGVmaW5lZCkKICAgICAgICAgICAgICAgICByZXR1
cm4gY29tcGFjdFNsb3coYXJyYXksIGxlbmd0aCk7CiAgICAgICAgIH0KQEAgLTQ5NSwxMiArNDk3
LDEyIEBAIGZ1bmN0aW9uIHNvcnQoY29tcGFyYXRvcikKIAogICAgIGZ1bmN0aW9uIG1lcmdlKGRz
dCwgc3JjLCBzcmNJbmRleCwgc3JjRW5kLCB3aWR0aCwgY29tcGFyYXRvcikKICAgICB7Ci0gICAg
ICAgIHZhciBsZWZ0ID0gc3JjSW5kZXg7Ci0gICAgICAgIHZhciBsZWZ0RW5kID0gbWluKGxlZnQg
KyB3aWR0aCwgc3JjRW5kKTsKLSAgICAgICAgdmFyIHJpZ2h0ID0gbGVmdEVuZDsKLSAgICAgICAg
dmFyIHJpZ2h0RW5kID0gbWluKHJpZ2h0ICsgd2lkdGgsIHNyY0VuZCk7CisgICAgICAgIGxldCBs
ZWZ0ID0gc3JjSW5kZXg7CisgICAgICAgIGxldCBsZWZ0RW5kID0gbWluKGxlZnQgKyB3aWR0aCwg
c3JjRW5kKTsKKyAgICAgICAgbGV0IHJpZ2h0ID0gbGVmdEVuZDsKKyAgICAgICAgbGV0IHJpZ2h0
RW5kID0gbWluKHJpZ2h0ICsgd2lkdGgsIHNyY0VuZCk7CiAKLSAgICAgICAgZm9yICh2YXIgZHN0
SW5kZXggPSBsZWZ0OyBkc3RJbmRleCA8IHJpZ2h0RW5kOyArK2RzdEluZGV4KSB7CisgICAgICAg
IGZvciAobGV0IGRzdEluZGV4ID0gbGVmdDsgZHN0SW5kZXggPCByaWdodEVuZDsgKytkc3RJbmRl
eCkgewogICAgICAgICAgICAgaWYgKHJpZ2h0IDwgcmlnaHRFbmQpIHsKICAgICAgICAgICAgICAg
ICBpZiAobGVmdCA+PSBsZWZ0RW5kKSB7CiAgICAgICAgICAgICAgICAgICAgIGRzdFtkc3RJbmRl
eF0gPSBzcmNbcmlnaHQrK107CkBAIC01MjEsMjIgKzUyMywyMiBAQCBmdW5jdGlvbiBzb3J0KGNv
bXBhcmF0b3IpCiAKICAgICBmdW5jdGlvbiBtZXJnZVNvcnQoYXJyYXksIHZhbHVlQ291bnQsIGNv
bXBhcmF0b3IpCiAgICAgewotICAgICAgICB2YXIgYnVmZmVyID0gWyBdOworICAgICAgICBsZXQg
YnVmZmVyID0gWyBdOwogICAgICAgICBidWZmZXIubGVuZ3RoID0gdmFsdWVDb3VudDsKIAotICAg
ICAgICB2YXIgZHN0ID0gYnVmZmVyOwotICAgICAgICB2YXIgc3JjID0gYXJyYXk7Ci0gICAgICAg
IGZvciAodmFyIHdpZHRoID0gMTsgd2lkdGggPCB2YWx1ZUNvdW50OyB3aWR0aCAqPSAyKSB7Ci0g
ICAgICAgICAgICBmb3IgKHZhciBzcmNJbmRleCA9IDA7IHNyY0luZGV4IDwgdmFsdWVDb3VudDsg
c3JjSW5kZXggKz0gMiAqIHdpZHRoKQorICAgICAgICBsZXQgZHN0ID0gYnVmZmVyOworICAgICAg
ICBsZXQgc3JjID0gYXJyYXk7CisgICAgICAgIGZvciAobGV0IHdpZHRoID0gMTsgd2lkdGggPCB2
YWx1ZUNvdW50OyB3aWR0aCAqPSAyKSB7CisgICAgICAgICAgICBmb3IgKGxldCBzcmNJbmRleCA9
IDA7IHNyY0luZGV4IDwgdmFsdWVDb3VudDsgc3JjSW5kZXggKz0gMiAqIHdpZHRoKQogICAgICAg
ICAgICAgICAgIG1lcmdlKGRzdCwgc3JjLCBzcmNJbmRleCwgdmFsdWVDb3VudCwgd2lkdGgsIGNv
bXBhcmF0b3IpOwogCi0gICAgICAgICAgICB2YXIgdG1wID0gc3JjOworICAgICAgICAgICAgbGV0
IHRtcCA9IHNyYzsKICAgICAgICAgICAgIHNyYyA9IGRzdDsKICAgICAgICAgICAgIGRzdCA9IHRt
cDsKICAgICAgICAgfQogCiAgICAgICAgIGlmIChzcmMgIT0gYXJyYXkpIHsKLSAgICAgICAgICAg
IGZvcih2YXIgaSA9IDA7IGkgPCB2YWx1ZUNvdW50OyBpKyspCisgICAgICAgICAgICBmb3IobGV0
IGkgPSAwOyBpIDwgdmFsdWVDb3VudDsgaSsrKQogICAgICAgICAgICAgICAgIGFycmF5W2ldID0g
c3JjW2ldOwogICAgICAgICB9CiAgICAgfQpAQCAtNTQ1LDI3ICs1NDcsMjcgQEAgZnVuY3Rpb24g
c29ydChjb21wYXJhdG9yKQogICAgIHsKICAgICAgICAgaWYgKGJ1Y2tldC5sZW5ndGggPCAzMiB8
fCBkZXB0aCA+IDMyKSB7CiAgICAgICAgICAgICBtZXJnZVNvcnQoYnVja2V0LCBidWNrZXQubGVu
Z3RoLCBzdHJpbmdDb21wYXJhdG9yKTsKLSAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwg
YnVja2V0Lmxlbmd0aDsgKytpKQorICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBidWNr
ZXQubGVuZ3RoOyArK2kpCiAgICAgICAgICAgICAgICAgYXJyYXlbZHN0KytdID0gYnVja2V0W2ld
LnZhbHVlOwogICAgICAgICAgICAgcmV0dXJuIGRzdDsKICAgICAgICAgfQogCi0gICAgICAgIHZh
ciBidWNrZXRzID0gWyBdOwotICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGJ1Y2tldC5sZW5n
dGg7ICsraSkgewotICAgICAgICAgICAgdmFyIGVudHJ5ID0gYnVja2V0W2ldOwotICAgICAgICAg
ICAgdmFyIHN0cmluZyA9IGVudHJ5LnN0cmluZzsKKyAgICAgICAgbGV0IGJ1Y2tldHMgPSBbIF07
CisgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYnVja2V0Lmxlbmd0aDsgKytpKSB7CisgICAg
ICAgICAgICBsZXQgZW50cnkgPSBidWNrZXRbaV07CisgICAgICAgICAgICBsZXQgc3RyaW5nID0g
ZW50cnkuc3RyaW5nOwogICAgICAgICAgICAgaWYgKHN0cmluZy5sZW5ndGggPT0gZGVwdGgpIHsK
ICAgICAgICAgICAgICAgICBhcnJheVtkc3QrK10gPSBlbnRyeS52YWx1ZTsKICAgICAgICAgICAg
ICAgICBjb250aW51ZTsKICAgICAgICAgICAgIH0KIAotICAgICAgICAgICAgdmFyIGMgPSBzdHJp
bmcuQGNoYXJDb2RlQXQoZGVwdGgpOworICAgICAgICAgICAgbGV0IGMgPSBzdHJpbmcuQGNoYXJD
b2RlQXQoZGVwdGgpOwogICAgICAgICAgICAgaWYgKCFidWNrZXRzW2NdKQogICAgICAgICAgICAg
ICAgIGJ1Y2tldHNbY10gPSBbIF07CiAgICAgICAgICAgICBidWNrZXRzW2NdW2J1Y2tldHNbY10u
bGVuZ3RoXSA9IGVudHJ5OwogICAgICAgICB9CiAKLSAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkg
PCBidWNrZXRzLmxlbmd0aDsgKytpKSB7CisgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYnVj
a2V0cy5sZW5ndGg7ICsraSkgewogICAgICAgICAgICAgaWYgKCFidWNrZXRzW2ldKQogICAgICAg
ICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgZHN0ID0gYnVja2V0U29ydChhcnJheSwg
ZHN0LCBidWNrZXRzW2ldLCBkZXB0aCArIDEpOwpAQCAtNTc2LDM3ICs1NzgsMzkgQEAgZnVuY3Rp
b24gc29ydChjb21wYXJhdG9yKQogCiAgICAgZnVuY3Rpb24gY29tcGFyYXRvclNvcnQoYXJyYXks
IGxlbmd0aCwgY29tcGFyYXRvcikKICAgICB7Ci0gICAgICAgIHZhciB2YWx1ZUNvdW50ID0gY29t
cGFjdChhcnJheSwgbGVuZ3RoKTsKKyAgICAgICAgbGV0IHZhbHVlQ291bnQgPSBjb21wYWN0KGFy
cmF5LCBsZW5ndGgpOwogICAgICAgICBtZXJnZVNvcnQoYXJyYXksIHZhbHVlQ291bnQsIGNvbXBh
cmF0b3IpOwogICAgIH0KIAogICAgIGZ1bmN0aW9uIHN0cmluZ1NvcnQoYXJyYXksIGxlbmd0aCkK
ICAgICB7Ci0gICAgICAgIHZhciB2YWx1ZUNvdW50ID0gY29tcGFjdChhcnJheSwgbGVuZ3RoKTsK
KyAgICAgICAgbGV0IHZhbHVlQ291bnQgPSBjb21wYWN0KGFycmF5LCBsZW5ndGgpOwogCi0gICAg
ICAgIHZhciBzdHJpbmdzID0gQG5ld0FycmF5V2l0aFNpemUodmFsdWVDb3VudCk7Ci0gICAgICAg
IGZvciAodmFyIGkgPSAwOyBpIDwgdmFsdWVDb3VudDsgKytpKQorICAgICAgICBsZXQgc3RyaW5n
cyA9IEBuZXdBcnJheVdpdGhTaXplKHZhbHVlQ291bnQpOworICAgICAgICBmb3IgKGxldCBpID0g
MDsgaSA8IHZhbHVlQ291bnQ7ICsraSkKICAgICAgICAgICAgIHN0cmluZ3NbaV0gPSB7IHN0cmlu
ZzogQHRvU3RyaW5nKGFycmF5W2ldKSwgdmFsdWU6IGFycmF5W2ldIH07CiAKICAgICAgICAgYnVj
a2V0U29ydChhcnJheSwgMCwgc3RyaW5ncywgMCk7CiAgICAgfQogCi0gICAgdmFyIGFycmF5ID0g
QHRvT2JqZWN0KHRoaXMsICJBcnJheS5wcm90b3R5cGUuc29ydCByZXF1aXJlcyB0aGF0IHx0aGlz
fCBub3QgYmUgbnVsbCBvciB1bmRlZmluZWQiKTsKKyAgICBsZXQgc29ydEZ1bmN0aW9uOworICAg
IGlmICh0eXBlb2YgY29tcGFyYXRvciA9PSAiZnVuY3Rpb24iKQorICAgICAgICBzb3J0RnVuY3Rp
b24gPSBjb21wYXJhdG9yU29ydDsKKyAgICBlbHNlIGlmIChjb21wYXJhdG9yID09PSBAdW5kZWZp
bmVkKQorICAgICAgICBzb3J0RnVuY3Rpb24gPSBzdHJpbmdTb3J0OworICAgIGVsc2UKKyAgICAg
ICAgQHRocm93VHlwZUVycm9yKCJBcnJheS5wcm90b3R5cGUuc29ydCByZXF1aXJlcyB0aGUgY29t
cGFyc2lvbiBmdW5jdGlvbiBiZSBhIGZ1bmN0aW9uIG9yIHVuZGVmaW5lZCIpOworCisgICAgbGV0
IGFycmF5ID0gQHRvT2JqZWN0KHRoaXMsICJBcnJheS5wcm90b3R5cGUuc29ydCByZXF1aXJlcyB0
aGF0IHx0aGlzfCBub3QgYmUgbnVsbCBvciB1bmRlZmluZWQiKTsKIAotICAgIHZhciBsZW5ndGgg
PSBhcnJheS5sZW5ndGggPj4+IDA7CisgICAgbGV0IGxlbmd0aCA9IGFycmF5Lmxlbmd0aCA+Pj4g
MDsKIAogICAgIC8vIEZvciBjb21wYXRpYmlsaXR5IHdpdGggRmlyZWZveCBhbmQgQ2hyb21lLCBk
byBub3RoaW5nIG9ic2VydmFibGUKICAgICAvLyB0byB0aGUgdGFyZ2V0IGFycmF5IGlmIGl0IGhh
cyAwIG9yIDEgc29ydGFibGUgcHJvcGVydGllcy4KICAgICBpZiAobGVuZ3RoIDwgMikKICAgICAg
ICAgcmV0dXJuIGFycmF5OwogCi0gICAgaWYgKHR5cGVvZiBjb21wYXJhdG9yID09ICJmdW5jdGlv
biIpCi0gICAgICAgIGNvbXBhcmF0b3JTb3J0KGFycmF5LCBsZW5ndGgsIGNvbXBhcmF0b3IpOwot
ICAgIGVsc2UgaWYgKGNvbXBhcmF0b3IgPT09IEB1bmRlZmluZWQpCi0gICAgICAgIHN0cmluZ1Nv
cnQoYXJyYXksIGxlbmd0aCk7Ci0gICAgZWxzZQotICAgICAgICBAdGhyb3dUeXBlRXJyb3IoIkFy
cmF5LnByb3RvdHlwZS5zb3J0IHJlcXVpcmVzIHRoZSBjb21wYXJzaW9uIGZ1bmN0aW9uIGJlIGEg
ZnVuY3Rpb24gb3IgdW5kZWZpbmVkIik7Ci0KKyAgICBzb3J0RnVuY3Rpb24oYXJyYXksIGxlbmd0
aCwgY29tcGFyYXRvcik7CiAgICAgcmV0dXJuIGFycmF5OwogfQogCmRpZmYgLS1naXQgYS9KU1Rl
c3RzL0NoYW5nZUxvZyBiL0pTVGVzdHMvQ2hhbmdlTG9nCmluZGV4IDk1MmVmM2E1ZDQyMTBmNGZk
MjAzNDJiY2IyYzAwNTYxNWEzZmRiMDguLjI2M2YzZmU2MTBlMzVmMTBmNzM0ZDNmYWI4ZWRiM2Vk
NThhMDJjNWMgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvQ2hhbmdlTG9nCisrKyBiL0pTVGVzdHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTgtMDgtMDggIEtlaXRoIE1pbGxlciAgPGtlaXRo
X21pbGxlckBhcHBsZS5jb20+CisKKyAgICAgICAgQXJyYXkucHJvdG90eXBlLnNvcnQgc2hvdWxk
IHRocm93IFR5cGVFcnJvciBpZiBwYXJhbSBpcyBhIG5vdCBjYWxsYWJsZSBvYmplY3QKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4ODM4MgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogdGVzdDI2Mi9leHBl
Y3RhdGlvbnMueWFtbDoKKwogMjAxOC0wOC0wMSAgQW5keSBWYW5XYWdvbmVyICA8YW5keUB2YW53
YWdvbmVyLmZhbWlseT4KIAogICAgICAgICBbSU5UTF0gSW1wbGVtZW50IGhvdXJDeWNsZSBpbiBE
YXRlVGltZUZvcm1hdApkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL2V4cGVjdGF0aW9ucy55
YW1sIGIvSlNUZXN0cy90ZXN0MjYyL2V4cGVjdGF0aW9ucy55YW1sCmluZGV4IDkwOGNlYzAyNWU1
YTRjNmQ5ZDdiNjViZjQ0ZjZlYzAyNTU1NjdkNjYuLjZiOGExMjBhOTFmZWVjN2JlNDA1YjNlNjc4
Y2VmM2Q5NzY3ZWQ3OTEgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi9leHBlY3RhdGlvbnMu
eWFtbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvZXhwZWN0YXRpb25zLnlhbWwKQEAgLTY3Miw5ICs2
NzIsNiBAQCB0ZXN0L2J1aWx0LWlucy9BcnJheS9wcm90b3R5cGUvc2xpY2UvdGFyZ2V0LWFycmF5
LXdpdGgtbm9uLXdyaXRhYmxlLXByb3BlcnR5LmpzOgogdGVzdC9idWlsdC1pbnMvQXJyYXkvcHJv
dG90eXBlL3NvcnQvUzE1LjQuNC4xMV9BNF9UMy5qczoKICAgZGVmYXVsdDogJ1Rlc3QyNjJFcnJv
cjogIzM6IHZhciBvYmogPSB7fTsgb2JqLnNvcnQgPSBBcnJheS5wcm90b3R5cGUuc29ydDsgb2Jq
WzBdID0gInoiOyBvYmpbMV0gPSAieSI7IG9ialsyXSA9ICJ4Ijsgb2JqLmxlbmd0aCA9IC00Mjk0
OTY3Mjk0OyBvYmouc29ydCgpOyBvYmpbMF0gPT09ICJ6Ii4gQWN0dWFsOiB5JwogICBzdHJpY3Qg
bW9kZTogJ1Rlc3QyNjJFcnJvcjogIzM6IHZhciBvYmogPSB7fTsgb2JqLnNvcnQgPSBBcnJheS5w
cm90b3R5cGUuc29ydDsgb2JqWzBdID0gInoiOyBvYmpbMV0gPSAieSI7IG9ialsyXSA9ICJ4Ijsg
b2JqLmxlbmd0aCA9IC00Mjk0OTY3Mjk0OyBvYmouc29ydCgpOyBvYmpbMF0gPT09ICJ6Ii4gQWN0
dWFsOiB5JwotdGVzdC9idWlsdC1pbnMvQXJyYXkvcHJvdG90eXBlL3NvcnQvY29tcGFyZWZuLW5v
bmZ1bmN0aW9uLWNhbGwtdGhyb3dzLmpzOgotICBkZWZhdWx0OiAnVGVzdDI2MkVycm9yOiBzYW1w
bGUuc29ydChudWxsKTsgRXhwZWN0ZWQgYSBUeXBlRXJyb3IgdG8gYmUgdGhyb3duIGJ1dCBubyBl
eGNlcHRpb24gd2FzIHRocm93biBhdCBhbGwnCi0gIHN0cmljdCBtb2RlOiAnVGVzdDI2MkVycm9y
OiBzYW1wbGUuc29ydChudWxsKTsgRXhwZWN0ZWQgYSBUeXBlRXJyb3IgdG8gYmUgdGhyb3duIGJ1
dCBubyBleGNlcHRpb24gd2FzIHRocm93biBhdCBhbGwnCiB0ZXN0L2J1aWx0LWlucy9BcnJheS9w
cm90b3R5cGUvc3BsaWNlL1MxNS40LjQuMTJfQTNfVDEuanM6CiAgIGRlZmF1bHQ6ICdUZXN0MjYy
RXJyb3I6ICMxOiB2YXIgb2JqID0ge307IG9iai5zcGxpY2UgPSBBcnJheS5wcm90b3R5cGUuc3Bs
aWNlOyBvYmpbMF0gPSAieCI7IG9ials0Mjk0OTY3Mjk1XSA9ICJ5Ijsgb2JqLmxlbmd0aCA9IDQy
OTQ5NjcyOTY7IHZhciBhcnIgPSBvYmouc3BsaWNlKDQyOTQ5NjcyOTUsMSk7IGFyci5sZW5ndGgg
PT09IDEuIEFjdHVhbDogMCcKICAgc3RyaWN0IG1vZGU6ICdUZXN0MjYyRXJyb3I6ICMxOiB2YXIg
b2JqID0ge307IG9iai5zcGxpY2UgPSBBcnJheS5wcm90b3R5cGUuc3BsaWNlOyBvYmpbMF0gPSAi
eCI7IG9ials0Mjk0OTY3Mjk1XSA9ICJ5Ijsgb2JqLmxlbmd0aCA9IDQyOTQ5NjcyOTY7IHZhciBh
cnIgPSBvYmouc3BsaWNlKDQyOTQ5NjcyOTUsMSk7IGFyci5sZW5ndGggPT09IDEuIEFjdHVhbDog
MCcK
</data>

          </attachment>
      

    </bug>

</bugzilla>