function baseRest(func, start) {
	  start = nativeMax$1(start === undefined ? (func.length - 1) : start, 0);
	  return function() {
	    var args = arguments,
	        index = -1,
	        length = nativeMax$1(args.length - start, 0),
	        array = Array(length);

	    while (++index < length) {
	      array[index] = args[start + index];
	    }
	    index = -1;
	    var otherArgs = Array(start + 1);
	    while (++index < start) {
	      otherArgs[index] = args[index];
	    }
	    otherArgs[start] = array;
	    return apply$1(func, this, otherArgs);
	  };
	}
function baseRest(func, start) {
	  start = nativeMax$1(start === undefined ? (func.length - 1) : start, 0);
	  return function() {
	    var args = arguments,
	        index = -1,
	        length = nativeMax$1(args.length - start, 0),
	        array = Array(length);

	    while (++index < length) {
	      array[index] = args[start + index];
	    }
	    index = -1;
	    var otherArgs = Array(start + 1);
	    while (++index < start) {
	      otherArgs[index] = args[index];
	    }
	    otherArgs[start] = array;
	    return apply$1(func, this, otherArgs);
	  };
	}
function baseRest ( func , start ) { start = nativeMax$1 ( start === undefined ? ( func . length - 1 ) : start , 0 ) ; return function ( ) { var args = arguments , index = - 1 , length = nativeMax$1 ( args . length - start , 0 ) , array = Array ( length ) ; while ( ++ index < length ) { array [ index ] = args [ start + index ] ; } index = - 1 ; var otherArgs = Array ( start + 1 ) ; while ( ++ index < start ) { otherArgs [ index ] = args [ index ] ; } otherArgs [ start ] = array ; return apply$1 ( func , this , otherArgs ) ; } ; }
The base implementation of `_.rest` which doesn't validate or coerce arguments.

@private
@param {Function} func The function to apply a rest parameter to.
@param {number} [start=func.length-1] The start position of the rest parameter.
@returns {Function} Returns the new function.
The base implementation of _ . rest which doesn t validate or coerce arguments .