-// BH adjusted to have only one sort method.\r
-// BH -- added Java 6 copyOfRange\r
-\r
-Clazz.load(["java.util.AbstractList","$.RandomAccess"],"java.util.Arrays",["java.lang.ArrayIndexOutOfBoundsException","$.IllegalArgumentException","$.NullPointerException"],function(){\r
-c$=Clazz.declareType(java.util,"Arrays");\r
-\r
-c$.copyOfRange = Clazz.defineMethod (c$, "copyOfRange", \r
-function (original, from, to) {\r
-to = Math.min(original.length, to);\r
-var newLength = to - from;\r
-if (newLength < 0) throw new IllegalArgumentException (from + " > " + to);\r
-if (original.slice)\r
- return original.slice(from, to);\r
- // MSIE and Chrome do not have Int32Array.slice()\r
-var c = Clazz.newIntArray(newLength, 0);\r
-for (var i = 0; i < newLength; i++)\r
- c[i] = original[from++];\r
-return c; \r
-}, "~A,~N,~N");\r
-\r
-c$.sort=Clazz.overrideMethod(c$,"sort",\r
-function(a,c,d,e){\r
- switch (arguments.length) {\r
- case 1:\r
- var aux=a.sort(function(o1,o2){\r
- if(typeof o1=="string"||o1 instanceof Comparable){\r
- return o1.compareTo(o2);\r
- }\r
- return o1-o2;\r
- });\r
- for(var i=0;i<a.length;i++){\r
- a[i]=aux[i];\r
- }\r
- return;\r
- case 2:\r
- var aux=a.sort(function(o1,o2){\r
- if(c!=null){\r
- return c.compare(o1,o2);\r
- }else if(typeof o1=="string"||o1 instanceof Comparable){\r
- return o1.compareTo(o2);\r
- }\r
- return o1-o2;\r
- });\r
- for(var i=0;i<a.length;i++){\r
- a[i]=aux[i];\r
- }\r
- return;\r
- case 3:\r
- var fromIndex = c;\r
- var toIndex = d;\r
- this.rangeCheck(a.length,fromIndex,toIndex);\r
- var aux=new Array();\r
- for(var i=fromIndex;i<toIndex;i++){\r
- aux[i-fromIndex]=a[i];\r
- }\r
- aux=aux.sort(function(o1,o2){\r
- if(typeof o1=="string"||o1 instanceof Comparable){\r
- return o1.compareTo(o2);\r
- }\r
- return o1-o2;\r
- });\r
- for(var i=fromIndex;i<toIndex;i++){\r
- a[i]=aux[i-fromIndex];\r
- }\r
- return;\r
- case 4: \r
- var fromIndex = c;\r
- var toIndex = d;\r
- c = e;\r
- this.rangeCheck(a.length,fromIndex,toIndex);\r
- var aux=new Array();\r
- for(var i=fromIndex;i<toIndex;i++){\r
- aux[i-fromIndex]=a[i];\r
- }\r
- aux=aux.sort(function(o1,o2){\r
- if(c!=null){\r
- return c.compare(o1,o2);\r
- }else if(typeof o1=="string"||o1 instanceof Comparable){\r
- return o1.compareTo(o2);\r
- }\r
- return o1-o2;\r
- });\r
- for(var i=fromIndex;i<toIndex;i++){\r
- a[i]=aux[i-fromIndex];\r
- }\r
- }\r
-});\r
-\r
-c$.rangeCheck=Clazz.defineMethod(c$,"rangeCheck",\r
-($fz=function(arrayLen,fromIndex,toIndex){\r
-if(fromIndex>toIndex)throw new IllegalArgumentException("fromIndex("+fromIndex+") > toIndex("+toIndex+")");\r
-if(fromIndex<0)throw new ArrayIndexOutOfBoundsException(fromIndex);\r
-if(toIndex>arrayLen)throw new ArrayIndexOutOfBoundsException(toIndex);\r
-},$fz.isPrivate=true,$fz),"~N,~N,~N");\r
-c$.binarySearch=Clazz.defineMethod(c$,"binarySearch",\r
-function(a,key){\r
-var low=0;\r
-var high=a.length-1;\r
-while(low<=high){\r
-var mid=(low+high)>>1;\r
-var midVal=a[mid];\r
-if(midVal<key)low=mid+1;\r
-else if(midVal>key)high=mid-1;\r
-else return mid;\r
-}\r
-return-(low+1);\r
-},"~A,~N");\r
-c$.binarySearch=Clazz.defineMethod(c$,"binarySearch",\r
-function(a,key){\r
-var low=0;\r
-var high=a.length-1;\r
-while(low<=high){\r
-var mid=(low+high)>>1;\r
-var midVal=a[mid];\r
-var cmp=(midVal).compareTo(key);\r
-if(cmp<0)low=mid+1;\r
-else if(cmp>0)high=mid-1;\r
-else return mid;\r
-}\r
-return-(low+1);\r
-},"~A,~O");\r
-c$.binarySearch=Clazz.defineMethod(c$,"binarySearch",\r
-function(a,key,c){\r
-if(c==null)return java.util.Arrays.binarySearch(a,key);\r
-var low=0;\r
-var high=a.length-1;\r
-while(low<=high){\r
-var mid=(low+high)>>1;\r
-var midVal=a[mid];\r
-var cmp=c.compare(midVal,key);\r
-if(cmp<0)low=mid+1;\r
-else if(cmp>0)high=mid-1;\r
-else return mid;\r
-}\r
-return-(low+1);\r
-},"~A,~O,java.util.Comparator");\r
-c$.equals=Clazz.defineMethod(c$,"equals",\r
-function(a,a2){\r
-if(a===a2)return true;\r
-if(a==null||a2==null)return false;\r
-var length=a.length;\r
-if(a2.length!=length)return false;\r
-for(var i=0;i<length;i++){\r
-var o1=a[i];\r
-var o2=a2[i];\r
-{\r
-if(!(o1==null?o2==null:(o1.equals==null?o1==o2:o1.equals(o2))))return false;\r
-}}\r
-return true;\r
-},"~A,~A");\r
-\r
-c$.fill=Clazz.overrideMethod(c$,"fill",\r
-function(a,fromIndex,toIndex,val){\r
-if (arguments.length == 2) {\r
- val = fromIndex;\r
- fromIndex = 0;\r
- toIndex = a.length;\r
- } \r
- java.util.Arrays.rangeCheck(a.length,fromIndex,toIndex);\r
- for(var i=fromIndex;i<toIndex;i++)a[i]=val;\r
-});\r
-\r
-c$.asList=Clazz.defineMethod(c$,"asList",\r
-function(a){\r
-return new java.util.Arrays.ArrayList(arguments.length == 1 && Clazz.getClassName(a) == "Array" ? a : arguments); // BH must be T...\r
-},"~A");\r
-Clazz.pu$h(self.c$);\r
-c$=Clazz.decorateAsClass(function(){\r
-this.a=null;\r
-Clazz.instantialize(this,arguments);\r
-},java.util.Arrays,"ArrayList",java.util.AbstractList,[java.util.RandomAccess,java.io.Serializable]);\r
-Clazz.makeConstructor(c$,\r
-function(a){\r
-Clazz.superConstructor(this,java.util.Arrays.ArrayList,[]);\r
-if(a==null)throw new NullPointerException();\r
-this.a=a;\r
-},"~A");\r
-Clazz.overrideMethod(c$,"size",\r
-function(){\r
-return this.a.length;\r
-});\r
-Clazz.defineMethod(c$,"toArray",\r
-function(){\r
-return this.a.clone();\r
-});\r
-Clazz.overrideMethod(c$,"get",\r
-function(a){\r
-return this.a[a];\r
-},"~N");\r
-Clazz.overrideMethod(c$,"set",\r
-function(a,b){\r
-var c=this.a[a];\r
-this.a[a]=b;\r
-return c;\r
-},"~N,~O");\r
-Clazz.overrideMethod(c$,"indexOf",\r
-function(a){\r
-if(a==null){\r
-for(var b=0;b<this.a.length;b++)if(this.a[b]==null)return b;\r
-\r
-}else{\r
-for(var b=0;b<this.a.length;b++)if(a.equals(this.a[b]))return b;\r
-\r
-}return-1;\r
-},"~O");\r
-Clazz.overrideMethod(c$,"contains",\r
-function(a){\r
-return this.indexOf(a)!=-1;\r
-},"~O");\r
-c$=Clazz.p0p();\r
-Clazz.defineStatics(c$,\r
-"INSERTIONSORT_THRESHOLD",7);\r
-});\r
+// BH adjusted to have only one sort method.
+// BH -- added Java 6 copyOfRange
+
+Clazz.load(["java.util.AbstractList","$.RandomAccess"],"java.util.Arrays",["java.lang.ArrayIndexOutOfBoundsException","$.IllegalArgumentException","$.NullPointerException"],function(){
+c$=Clazz.declareType(java.util,"Arrays");
+
+c$.copyOfRange = Clazz.defineMethod (c$, "copyOfRange",
+function (original, from, to) {
+to = Math.min(original.length, to);
+var newLength = to - from;
+if (newLength < 0) throw new IllegalArgumentException (from + " > " + to);
+if (original.slice)
+ return original.slice(from, to);
+ // MSIE and Chrome do not have Int32Array.slice()
+var c = Clazz.newIntArray(newLength, 0);
+for (var i = 0; i < newLength; i++)
+ c[i] = original[from++];
+return c;
+}, "~A,~N,~N");
+
+c$.sort=Clazz.overrideMethod(c$,"sort",
+function(a,c,d,e){
+ switch (arguments.length) {
+ case 1:
+ var aux=a.sort(function(o1,o2){
+ if(typeof o1=="string"||o1 instanceof Comparable){
+ return o1.compareTo(o2);
+ }
+ return o1-o2;
+ });
+ for(var i=0;i<a.length;i++){
+ a[i]=aux[i];
+ }
+ return;
+ case 2:
+ var aux=a.sort(function(o1,o2){
+ if(c!=null){
+ return c.compare(o1,o2);
+ }else if(typeof o1=="string"||o1 instanceof Comparable){
+ return o1.compareTo(o2);
+ }
+ return o1-o2;
+ });
+ for(var i=0;i<a.length;i++){
+ a[i]=aux[i];
+ }
+ return;
+ case 3:
+ var fromIndex = c;
+ var toIndex = d;
+ this.rangeCheck(a.length,fromIndex,toIndex);
+ var aux=new Array();
+ for(var i=fromIndex;i<toIndex;i++){
+ aux[i-fromIndex]=a[i];
+ }
+ aux=aux.sort(function(o1,o2){
+ if(typeof o1=="string"||o1 instanceof Comparable){
+ return o1.compareTo(o2);
+ }
+ return o1-o2;
+ });
+ for(var i=fromIndex;i<toIndex;i++){
+ a[i]=aux[i-fromIndex];
+ }
+ return;
+ case 4:
+ var fromIndex = c;
+ var toIndex = d;
+ c = e;
+ this.rangeCheck(a.length,fromIndex,toIndex);
+ var aux=new Array();
+ for(var i=fromIndex;i<toIndex;i++){
+ aux[i-fromIndex]=a[i];
+ }
+ aux=aux.sort(function(o1,o2){
+ if(c!=null){
+ return c.compare(o1,o2);
+ }else if(typeof o1=="string"||o1 instanceof Comparable){
+ return o1.compareTo(o2);
+ }
+ return o1-o2;
+ });
+ for(var i=fromIndex;i<toIndex;i++){
+ a[i]=aux[i-fromIndex];
+ }
+ }
+});
+
+c$.rangeCheck=Clazz.defineMethod(c$,"rangeCheck",
+($fz=function(arrayLen,fromIndex,toIndex){
+if(fromIndex>toIndex)throw new IllegalArgumentException("fromIndex("+fromIndex+") > toIndex("+toIndex+")");
+if(fromIndex<0)throw new ArrayIndexOutOfBoundsException(fromIndex);
+if(toIndex>arrayLen)throw new ArrayIndexOutOfBoundsException(toIndex);
+},$fz.isPrivate=true,$fz),"~N,~N,~N");
+c$.binarySearch=Clazz.defineMethod(c$,"binarySearch",
+function(a,key){
+var low=0;
+var high=a.length-1;
+while(low<=high){
+var mid=(low+high)>>1;
+var midVal=a[mid];
+if(midVal<key)low=mid+1;
+else if(midVal>key)high=mid-1;
+else return mid;
+}
+return-(low+1);
+},"~A,~N");
+c$.binarySearch=Clazz.defineMethod(c$,"binarySearch",
+function(a,key){
+var low=0;
+var high=a.length-1;
+while(low<=high){
+var mid=(low+high)>>1;
+var midVal=a[mid];
+var cmp=(midVal).compareTo(key);
+if(cmp<0)low=mid+1;
+else if(cmp>0)high=mid-1;
+else return mid;
+}
+return-(low+1);
+},"~A,~O");
+c$.binarySearch=Clazz.defineMethod(c$,"binarySearch",
+function(a,key,c){
+if(c==null)return java.util.Arrays.binarySearch(a,key);
+var low=0;
+var high=a.length-1;
+while(low<=high){
+var mid=(low+high)>>1;
+var midVal=a[mid];
+var cmp=c.compare(midVal,key);
+if(cmp<0)low=mid+1;
+else if(cmp>0)high=mid-1;
+else return mid;
+}
+return-(low+1);
+},"~A,~O,java.util.Comparator");
+c$.equals=Clazz.defineMethod(c$,"equals",
+function(a,a2){
+if(a===a2)return true;
+if(a==null||a2==null)return false;
+var length=a.length;
+if(a2.length!=length)return false;
+for(var i=0;i<length;i++){
+var o1=a[i];
+var o2=a2[i];
+{
+if(!(o1==null?o2==null:(o1.equals==null?o1==o2:o1.equals(o2))))return false;
+}}
+return true;
+},"~A,~A");
+
+c$.fill=Clazz.overrideMethod(c$,"fill",
+function(a,fromIndex,toIndex,val){
+if (arguments.length == 2) {
+ val = fromIndex;
+ fromIndex = 0;
+ toIndex = a.length;
+ }
+ java.util.Arrays.rangeCheck(a.length,fromIndex,toIndex);
+ for(var i=fromIndex;i<toIndex;i++)a[i]=val;
+});
+
+c$.asList=Clazz.defineMethod(c$,"asList",
+function(a){
+return new java.util.Arrays.ArrayList(arguments.length == 1 && Clazz.getClassName(a) == "Array" ? a : arguments); // BH must be T...
+},"~A");
+Clazz.pu$h(self.c$);
+c$=Clazz.decorateAsClass(function(){
+this.a=null;
+Clazz.instantialize(this,arguments);
+},java.util.Arrays,"ArrayList",java.util.AbstractList,[java.util.RandomAccess,java.io.Serializable]);
+Clazz.makeConstructor(c$,
+function(a){
+Clazz.superConstructor(this,java.util.Arrays.ArrayList,[]);
+if(a==null)throw new NullPointerException();
+this.a=a;
+},"~A");
+Clazz.overrideMethod(c$,"size",
+function(){
+return this.a.length;
+});
+Clazz.defineMethod(c$,"toArray",
+function(){
+return this.a.clone();
+});
+Clazz.overrideMethod(c$,"get",
+function(a){
+return this.a[a];
+},"~N");
+Clazz.overrideMethod(c$,"set",
+function(a,b){
+var c=this.a[a];
+this.a[a]=b;
+return c;
+},"~N,~O");
+Clazz.overrideMethod(c$,"indexOf",
+function(a){
+if(a==null){
+for(var b=0;b<this.a.length;b++)if(this.a[b]==null)return b;
+
+}else{
+for(var b=0;b<this.a.length;b++)if(a.equals(this.a[b]))return b;
+
+}return-1;
+},"~O");
+Clazz.overrideMethod(c$,"contains",
+function(a){
+return this.indexOf(a)!=-1;
+},"~O");
+c$=Clazz.p0p();
+Clazz.defineStatics(c$,
+"INSERTIONSORT_THRESHOLD",7);
+});