You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by st...@apache.org on 2016/03/04 00:55:14 UTC

[34/59] [abbrv] [partial] mac commit: CB-10668 added node_modules directory

http://git-wip-us.apache.org/repos/asf/cordova-osx/blob/42cbe9fd/node_modules/lodash-node/modern/objects/isNumber.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/objects/isNumber.js b/node_modules/lodash-node/modern/objects/isNumber.js
new file mode 100644
index 0000000..7188d0d
--- /dev/null
+++ b/node_modules/lodash-node/modern/objects/isNumber.js
@@ -0,0 +1,39 @@
+/**
+ * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
+ * Build: `lodash modularize modern exports="node" -o ./modern/`
+ * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
+ * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
+ * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
+ * Available under MIT license <http://lodash.com/license>
+ */
+
+/** `Object#toString` result shortcuts */
+var numberClass = '[object Number]';
+
+/** Used for native method references */
+var objectProto = Object.prototype;
+
+/** Used to resolve the internal [[Class]] of values */
+var toString = objectProto.toString;
+
+/**
+ * Checks if `value` is a number.
+ *
+ * Note: `NaN` is considered a number. See http://es5.github.io/#x8.5.
+ *
+ * @static
+ * @memberOf _
+ * @category Objects
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if the `value` is a number, else `false`.
+ * @example
+ *
+ * _.isNumber(8.4 * 5);
+ * // => true
+ */
+function isNumber(value) {
+  return typeof value == 'number' ||
+    value && typeof value == 'object' && toString.call(value) == numberClass || false;
+}
+
+module.exports = isNumber;

http://git-wip-us.apache.org/repos/asf/cordova-osx/blob/42cbe9fd/node_modules/lodash-node/modern/objects/isObject.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/objects/isObject.js b/node_modules/lodash-node/modern/objects/isObject.js
new file mode 100644
index 0000000..4a140a6
--- /dev/null
+++ b/node_modules/lodash-node/modern/objects/isObject.js
@@ -0,0 +1,39 @@
+/**
+ * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
+ * Build: `lodash modularize modern exports="node" -o ./modern/`
+ * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
+ * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
+ * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
+ * Available under MIT license <http://lodash.com/license>
+ */
+var objectTypes = require('../internals/objectTypes');
+
+/**
+ * Checks if `value` is the language type of Object.
+ * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)
+ *
+ * @static
+ * @memberOf _
+ * @category Objects
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if the `value` is an object, else `false`.
+ * @example
+ *
+ * _.isObject({});
+ * // => true
+ *
+ * _.isObject([1, 2, 3]);
+ * // => true
+ *
+ * _.isObject(1);
+ * // => false
+ */
+function isObject(value) {
+  // check if the value is the ECMAScript language type of Object
+  // http://es5.github.io/#x8
+  // and avoid a V8 bug
+  // http://code.google.com/p/v8/issues/detail?id=2291
+  return !!(value && objectTypes[typeof value]);
+}
+
+module.exports = isObject;

http://git-wip-us.apache.org/repos/asf/cordova-osx/blob/42cbe9fd/node_modules/lodash-node/modern/objects/isPlainObject.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/objects/isPlainObject.js b/node_modules/lodash-node/modern/objects/isPlainObject.js
new file mode 100644
index 0000000..629a958
--- /dev/null
+++ b/node_modules/lodash-node/modern/objects/isPlainObject.js
@@ -0,0 +1,60 @@
+/**
+ * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
+ * Build: `lodash modularize modern exports="node" -o ./modern/`
+ * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
+ * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
+ * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
+ * Available under MIT license <http://lodash.com/license>
+ */
+var isNative = require('../internals/isNative'),
+    shimIsPlainObject = require('../internals/shimIsPlainObject');
+
+/** `Object#toString` result shortcuts */
+var objectClass = '[object Object]';
+
+/** Used for native method references */
+var objectProto = Object.prototype;
+
+/** Used to resolve the internal [[Class]] of values */
+var toString = objectProto.toString;
+
+/** Native method shortcuts */
+var getPrototypeOf = isNative(getPrototypeOf = Object.getPrototypeOf) && getPrototypeOf;
+
+/**
+ * Checks if `value` is an object created by the `Object` constructor.
+ *
+ * @static
+ * @memberOf _
+ * @category Objects
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.
+ * @example
+ *
+ * function Shape() {
+ *   this.x = 0;
+ *   this.y = 0;
+ * }
+ *
+ * _.isPlainObject(new Shape);
+ * // => false
+ *
+ * _.isPlainObject([1, 2, 3]);
+ * // => false
+ *
+ * _.isPlainObject({ 'x': 0, 'y': 0 });
+ * // => true
+ */
+var isPlainObject = !getPrototypeOf ? shimIsPlainObject : function(value) {
+  if (!(value && toString.call(value) == objectClass)) {
+    return false;
+  }
+  var valueOf = value.valueOf,
+      objProto = isNative(valueOf) && (objProto = getPrototypeOf(valueOf)) && getPrototypeOf(objProto);
+
+  return objProto
+    ? (value == objProto || getPrototypeOf(value) == objProto)
+    : shimIsPlainObject(value);
+};
+
+module.exports = isPlainObject;

http://git-wip-us.apache.org/repos/asf/cordova-osx/blob/42cbe9fd/node_modules/lodash-node/modern/objects/isRegExp.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/objects/isRegExp.js b/node_modules/lodash-node/modern/objects/isRegExp.js
new file mode 100644
index 0000000..6e50c7a
--- /dev/null
+++ b/node_modules/lodash-node/modern/objects/isRegExp.js
@@ -0,0 +1,36 @@
+/**
+ * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
+ * Build: `lodash modularize modern exports="node" -o ./modern/`
+ * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
+ * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
+ * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
+ * Available under MIT license <http://lodash.com/license>
+ */
+
+/** `Object#toString` result shortcuts */
+var regexpClass = '[object RegExp]';
+
+/** Used for native method references */
+var objectProto = Object.prototype;
+
+/** Used to resolve the internal [[Class]] of values */
+var toString = objectProto.toString;
+
+/**
+ * Checks if `value` is a regular expression.
+ *
+ * @static
+ * @memberOf _
+ * @category Objects
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if the `value` is a regular expression, else `false`.
+ * @example
+ *
+ * _.isRegExp(/fred/);
+ * // => true
+ */
+function isRegExp(value) {
+  return value && typeof value == 'object' && toString.call(value) == regexpClass || false;
+}
+
+module.exports = isRegExp;

http://git-wip-us.apache.org/repos/asf/cordova-osx/blob/42cbe9fd/node_modules/lodash-node/modern/objects/isString.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/objects/isString.js b/node_modules/lodash-node/modern/objects/isString.js
new file mode 100644
index 0000000..2c1527a
--- /dev/null
+++ b/node_modules/lodash-node/modern/objects/isString.js
@@ -0,0 +1,37 @@
+/**
+ * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
+ * Build: `lodash modularize modern exports="node" -o ./modern/`
+ * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
+ * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
+ * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
+ * Available under MIT license <http://lodash.com/license>
+ */
+
+/** `Object#toString` result shortcuts */
+var stringClass = '[object String]';
+
+/** Used for native method references */
+var objectProto = Object.prototype;
+
+/** Used to resolve the internal [[Class]] of values */
+var toString = objectProto.toString;
+
+/**
+ * Checks if `value` is a string.
+ *
+ * @static
+ * @memberOf _
+ * @category Objects
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if the `value` is a string, else `false`.
+ * @example
+ *
+ * _.isString('fred');
+ * // => true
+ */
+function isString(value) {
+  return typeof value == 'string' ||
+    value && typeof value == 'object' && toString.call(value) == stringClass || false;
+}
+
+module.exports = isString;

http://git-wip-us.apache.org/repos/asf/cordova-osx/blob/42cbe9fd/node_modules/lodash-node/modern/objects/isUndefined.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/objects/isUndefined.js b/node_modules/lodash-node/modern/objects/isUndefined.js
new file mode 100644
index 0000000..4e75280
--- /dev/null
+++ b/node_modules/lodash-node/modern/objects/isUndefined.js
@@ -0,0 +1,27 @@
+/**
+ * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
+ * Build: `lodash modularize modern exports="node" -o ./modern/`
+ * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
+ * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
+ * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
+ * Available under MIT license <http://lodash.com/license>
+ */
+
+/**
+ * Checks if `value` is `undefined`.
+ *
+ * @static
+ * @memberOf _
+ * @category Objects
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if the `value` is `undefined`, else `false`.
+ * @example
+ *
+ * _.isUndefined(void 0);
+ * // => true
+ */
+function isUndefined(value) {
+  return typeof value == 'undefined';
+}
+
+module.exports = isUndefined;

http://git-wip-us.apache.org/repos/asf/cordova-osx/blob/42cbe9fd/node_modules/lodash-node/modern/objects/keys.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/objects/keys.js b/node_modules/lodash-node/modern/objects/keys.js
new file mode 100644
index 0000000..163e03d
--- /dev/null
+++ b/node_modules/lodash-node/modern/objects/keys.js
@@ -0,0 +1,36 @@
+/**
+ * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
+ * Build: `lodash modularize modern exports="node" -o ./modern/`
+ * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
+ * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
+ * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
+ * Available under MIT license <http://lodash.com/license>
+ */
+var isNative = require('../internals/isNative'),
+    isObject = require('./isObject'),
+    shimKeys = require('../internals/shimKeys');
+
+/* Native method shortcuts for methods with the same name as other `lodash` methods */
+var nativeKeys = isNative(nativeKeys = Object.keys) && nativeKeys;
+
+/**
+ * Creates an array composed of the own enumerable property names of an object.
+ *
+ * @static
+ * @memberOf _
+ * @category Objects
+ * @param {Object} object The object to inspect.
+ * @returns {Array} Returns an array of property names.
+ * @example
+ *
+ * _.keys({ 'one': 1, 'two': 2, 'three': 3 });
+ * // => ['one', 'two', 'three'] (property order is not guaranteed across environments)
+ */
+var keys = !nativeKeys ? shimKeys : function(object) {
+  if (!isObject(object)) {
+    return [];
+  }
+  return nativeKeys(object);
+};
+
+module.exports = keys;

http://git-wip-us.apache.org/repos/asf/cordova-osx/blob/42cbe9fd/node_modules/lodash-node/modern/objects/mapValues.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/objects/mapValues.js b/node_modules/lodash-node/modern/objects/mapValues.js
new file mode 100644
index 0000000..9e797da
--- /dev/null
+++ b/node_modules/lodash-node/modern/objects/mapValues.js
@@ -0,0 +1,58 @@
+/**
+ * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
+ * Build: `lodash modularize modern exports="node" -o ./modern/`
+ * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
+ * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
+ * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
+ * Available under MIT license <http://lodash.com/license>
+ */
+var createCallback = require('../functions/createCallback'),
+    forOwn = require('./forOwn');
+
+/**
+ * Creates an object with the same keys as `object` and values generated by
+ * running each own enumerable property of `object` through the callback.
+ * The callback is bound to `thisArg` and invoked with three arguments;
+ * (value, key, object).
+ *
+ * If a property name is provided for `callback` the created "_.pluck" style
+ * callback will return the property value of the given element.
+ *
+ * If an object is provided for `callback` the created "_.where" style callback
+ * will return `true` for elements that have the properties of the given object,
+ * else `false`.
+ *
+ * @static
+ * @memberOf _
+ * @category Objects
+ * @param {Object} object The object to iterate over.
+ * @param {Function|Object|string} [callback=identity] The function called
+ *  per iteration. If a property name or object is provided it will be used
+ *  to create a "_.pluck" or "_.where" style callback, respectively.
+ * @param {*} [thisArg] The `this` binding of `callback`.
+ * @returns {Array} Returns a new object with values of the results of each `callback` execution.
+ * @example
+ *
+ * _.mapValues({ 'a': 1, 'b': 2, 'c': 3} , function(num) { return num * 3; });
+ * // => { 'a': 3, 'b': 6, 'c': 9 }
+ *
+ * var characters = {
+ *   'fred': { 'name': 'fred', 'age': 40 },
+ *   'pebbles': { 'name': 'pebbles', 'age': 1 }
+ * };
+ *
+ * // using "_.pluck" callback shorthand
+ * _.mapValues(characters, 'age');
+ * // => { 'fred': 40, 'pebbles': 1 }
+ */
+function mapValues(object, callback, thisArg) {
+  var result = {};
+  callback = createCallback(callback, thisArg, 3);
+
+  forOwn(object, function(value, key, object) {
+    result[key] = callback(value, key, object);
+  });
+  return result;
+}
+
+module.exports = mapValues;

http://git-wip-us.apache.org/repos/asf/cordova-osx/blob/42cbe9fd/node_modules/lodash-node/modern/objects/merge.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/objects/merge.js b/node_modules/lodash-node/modern/objects/merge.js
new file mode 100644
index 0000000..d4bddc3
--- /dev/null
+++ b/node_modules/lodash-node/modern/objects/merge.js
@@ -0,0 +1,97 @@
+/**
+ * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
+ * Build: `lodash modularize modern exports="node" -o ./modern/`
+ * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
+ * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
+ * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
+ * Available under MIT license <http://lodash.com/license>
+ */
+var baseCreateCallback = require('../internals/baseCreateCallback'),
+    baseMerge = require('../internals/baseMerge'),
+    getArray = require('../internals/getArray'),
+    isObject = require('./isObject'),
+    releaseArray = require('../internals/releaseArray'),
+    slice = require('../internals/slice');
+
+/**
+ * Recursively merges own enumerable properties of the source object(s), that
+ * don't resolve to `undefined` into the destination object. Subsequent sources
+ * will overwrite property assignments of previous sources. If a callback is
+ * provided it will be executed to produce the merged values of the destination
+ * and source properties. If the callback returns `undefined` merging will
+ * be handled by the method instead. The callback is bound to `thisArg` and
+ * invoked with two arguments; (objectValue, sourceValue).
+ *
+ * @static
+ * @memberOf _
+ * @category Objects
+ * @param {Object} object The destination object.
+ * @param {...Object} [source] The source objects.
+ * @param {Function} [callback] The function to customize merging properties.
+ * @param {*} [thisArg] The `this` binding of `callback`.
+ * @returns {Object} Returns the destination object.
+ * @example
+ *
+ * var names = {
+ *   'characters': [
+ *     { 'name': 'barney' },
+ *     { 'name': 'fred' }
+ *   ]
+ * };
+ *
+ * var ages = {
+ *   'characters': [
+ *     { 'age': 36 },
+ *     { 'age': 40 }
+ *   ]
+ * };
+ *
+ * _.merge(names, ages);
+ * // => { 'characters': [{ 'name': 'barney', 'age': 36 }, { 'name': 'fred', 'age': 40 }] }
+ *
+ * var food = {
+ *   'fruits': ['apple'],
+ *   'vegetables': ['beet']
+ * };
+ *
+ * var otherFood = {
+ *   'fruits': ['banana'],
+ *   'vegetables': ['carrot']
+ * };
+ *
+ * _.merge(food, otherFood, function(a, b) {
+ *   return _.isArray(a) ? a.concat(b) : undefined;
+ * });
+ * // => { 'fruits': ['apple', 'banana'], 'vegetables': ['beet', 'carrot] }
+ */
+function merge(object) {
+  var args = arguments,
+      length = 2;
+
+  if (!isObject(object)) {
+    return object;
+  }
+  // allows working with `_.reduce` and `_.reduceRight` without using
+  // their `index` and `collection` arguments
+  if (typeof args[2] != 'number') {
+    length = args.length;
+  }
+  if (length > 3 && typeof args[length - 2] == 'function') {
+    var callback = baseCreateCallback(args[--length - 1], args[length--], 2);
+  } else if (length > 2 && typeof args[length - 1] == 'function') {
+    callback = args[--length];
+  }
+  var sources = slice(arguments, 1, length),
+      index = -1,
+      stackA = getArray(),
+      stackB = getArray();
+
+  while (++index < length) {
+    baseMerge(object, sources[index], callback, stackA, stackB);
+  }
+  releaseArray(stackA);
+  releaseArray(stackB);
+  return object;
+}
+
+module.exports = merge;

http://git-wip-us.apache.org/repos/asf/cordova-osx/blob/42cbe9fd/node_modules/lodash-node/modern/objects/omit.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/objects/omit.js b/node_modules/lodash-node/modern/objects/omit.js
new file mode 100644
index 0000000..759798d
--- /dev/null
+++ b/node_modules/lodash-node/modern/objects/omit.js
@@ -0,0 +1,67 @@
+/**
+ * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
+ * Build: `lodash modularize modern exports="node" -o ./modern/`
+ * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
+ * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
+ * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
+ * Available under MIT license <http://lodash.com/license>
+ */
+var baseDifference = require('../internals/baseDifference'),
+    baseFlatten = require('../internals/baseFlatten'),
+    createCallback = require('../functions/createCallback'),
+    forIn = require('./forIn');
+
+/**
+ * Creates a shallow clone of `object` excluding the specified properties.
+ * Property names may be specified as individual arguments or as arrays of
+ * property names. If a callback is provided it will be executed for each
+ * property of `object` omitting the properties the callback returns truey
+ * for. The callback is bound to `thisArg` and invoked with three arguments;
+ * (value, key, object).
+ *
+ * @static
+ * @memberOf _
+ * @category Objects
+ * @param {Object} object The source object.
+ * @param {Function|...string|string[]} [callback] The properties to omit or the
+ *  function called per iteration.
+ * @param {*} [thisArg] The `this` binding of `callback`.
+ * @returns {Object} Returns an object without the omitted properties.
+ * @example
+ *
+ * _.omit({ 'name': 'fred', 'age': 40 }, 'age');
+ * // => { 'name': 'fred' }
+ *
+ * _.omit({ 'name': 'fred', 'age': 40 }, function(value) {
+ *   return typeof value == 'number';
+ * });
+ * // => { 'name': 'fred' }
+ */
+function omit(object, callback, thisArg) {
+  var result = {};
+  if (typeof callback != 'function') {
+    var props = [];
+    forIn(object, function(value, key) {
+      props.push(key);
+    });
+    props = baseDifference(props, baseFlatten(arguments, true, false, 1));
+
+    var index = -1,
+        length = props.length;
+
+    while (++index < length) {
+      var key = props[index];
+      result[key] = object[key];
+    }
+  } else {
+    callback = createCallback(callback, thisArg, 3);
+    forIn(object, function(value, key, object) {
+      if (!callback(value, key, object)) {
+        result[key] = value;
+      }
+    });
+  }
+  return result;
+}
+
+module.exports = omit;

http://git-wip-us.apache.org/repos/asf/cordova-osx/blob/42cbe9fd/node_modules/lodash-node/modern/objects/pairs.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/objects/pairs.js b/node_modules/lodash-node/modern/objects/pairs.js
new file mode 100644
index 0000000..e9e06a6
--- /dev/null
+++ b/node_modules/lodash-node/modern/objects/pairs.js
@@ -0,0 +1,38 @@
+/**
+ * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
+ * Build: `lodash modularize modern exports="node" -o ./modern/`
+ * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
+ * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
+ * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
+ * Available under MIT license <http://lodash.com/license>
+ */
+var keys = require('./keys');
+
+/**
+ * Creates a two dimensional array of an object's key-value pairs,
+ * i.e. `[[key1, value1], [key2, value2]]`.
+ *
+ * @static
+ * @memberOf _
+ * @category Objects
+ * @param {Object} object The object to inspect.
+ * @returns {Array} Returns new array of key-value pairs.
+ * @example
+ *
+ * _.pairs({ 'barney': 36, 'fred': 40 });
+ * // => [['barney', 36], ['fred', 40]] (property order is not guaranteed across environments)
+ */
+function pairs(object) {
+  var index = -1,
+      props = keys(object),
+      length = props.length,
+      result = Array(length);
+
+  while (++index < length) {
+    var key = props[index];
+    result[index] = [key, object[key]];
+  }
+  return result;
+}
+
+module.exports = pairs;

http://git-wip-us.apache.org/repos/asf/cordova-osx/blob/42cbe9fd/node_modules/lodash-node/modern/objects/pick.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/objects/pick.js b/node_modules/lodash-node/modern/objects/pick.js
new file mode 100644
index 0000000..718a4b5
--- /dev/null
+++ b/node_modules/lodash-node/modern/objects/pick.js
@@ -0,0 +1,65 @@
+/**
+ * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
+ * Build: `lodash modularize modern exports="node" -o ./modern/`
+ * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
+ * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
+ * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
+ * Available under MIT license <http://lodash.com/license>
+ */
+var baseFlatten = require('../internals/baseFlatten'),
+    createCallback = require('../functions/createCallback'),
+    forIn = require('./forIn'),
+    isObject = require('./isObject');
+
+/**
+ * Creates a shallow clone of `object` composed of the specified properties.
+ * Property names may be specified as individual arguments or as arrays of
+ * property names. If a callback is provided it will be executed for each
+ * property of `object` picking the properties the callback returns truey
+ * for. The callback is bound to `thisArg` and invoked with three arguments;
+ * (value, key, object).
+ *
+ * @static
+ * @memberOf _
+ * @category Objects
+ * @param {Object} object The source object.
+ * @param {Function|...string|string[]} [callback] The function called per
+ *  iteration or property names to pick, specified as individual property
+ *  names or arrays of property names.
+ * @param {*} [thisArg] The `this` binding of `callback`.
+ * @returns {Object} Returns an object composed of the picked properties.
+ * @example
+ *
+ * _.pick({ 'name': 'fred', '_userid': 'fred1' }, 'name');
+ * // => { 'name': 'fred' }
+ *
+ * _.pick({ 'name': 'fred', '_userid': 'fred1' }, function(value, key) {
+ *   return key.charAt(0) != '_';
+ * });
+ * // => { 'name': 'fred' }
+ */
+function pick(object, callback, thisArg) {
+  var result = {};
+  if (typeof callback != 'function') {
+    var index = -1,
+        props = baseFlatten(arguments, true, false, 1),
+        length = isObject(object) ? props.length : 0;
+
+    while (++index < length) {
+      var key = props[index];
+      if (key in object) {
+        result[key] = object[key];
+      }
+    }
+  } else {
+    callback = createCallback(callback, thisArg, 3);
+    forIn(object, function(value, key, object) {
+      if (callback(value, key, object)) {
+        result[key] = value;
+      }
+    });
+  }
+  return result;
+}
+
+module.exports = pick;

http://git-wip-us.apache.org/repos/asf/cordova-osx/blob/42cbe9fd/node_modules/lodash-node/modern/objects/transform.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/objects/transform.js b/node_modules/lodash-node/modern/objects/transform.js
new file mode 100644
index 0000000..7c59ded
--- /dev/null
+++ b/node_modules/lodash-node/modern/objects/transform.js
@@ -0,0 +1,67 @@
+/**
+ * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
+ * Build: `lodash modularize modern exports="node" -o ./modern/`
+ * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
+ * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
+ * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
+ * Available under MIT license <http://lodash.com/license>
+ */
+var baseCreate = require('../internals/baseCreate'),
+    createCallback = require('../functions/createCallback'),
+    forEach = require('../collections/forEach'),
+    forOwn = require('./forOwn'),
+    isArray = require('./isArray');
+
+/**
+ * An alternative to `_.reduce` this method transforms `object` to a new
+ * `accumulator` object which is the result of running each of its own
+ * enumerable properties through a callback, with each callback execution
+ * potentially mutating the `accumulator` object. The callback is bound to
+ * `thisArg` and invoked with four arguments; (accumulator, value, key, object).
+ * Callbacks may exit iteration early by explicitly returning `false`.
+ *
+ * @static
+ * @memberOf _
+ * @category Objects
+ * @param {Array|Object} object The object to iterate over.
+ * @param {Function} [callback=identity] The function called per iteration.
+ * @param {*} [accumulator] The custom accumulator value.
+ * @param {*} [thisArg] The `this` binding of `callback`.
+ * @returns {*} Returns the accumulated value.
+ * @example
+ *
+ * var squares = _.transform([1, 2, 3, 4, 5, 6, 7, 8, 9, 10], function(result, num) {
+ *   num *= num;
+ *   if (num % 2) {
+ *     return result.push(num) < 3;
+ *   }
+ * });
+ * // => [1, 9, 25]
+ *
+ * var mapped = _.transform({ 'a': 1, 'b': 2, 'c': 3 }, function(result, num, key) {
+ *   result[key] = num * 3;
+ * });
+ * // => { 'a': 3, 'b': 6, 'c': 9 }
+ */
+function transform(object, callback, accumulator, thisArg) {
+  var isArr = isArray(object);
+  if (accumulator == null) {
+    if (isArr) {
+      accumulator = [];
+    } else {
+      var ctor = object && object.constructor,
+          proto = ctor && ctor.prototype;
+
+      accumulator = baseCreate(proto);
+    }
+  }
+  if (callback) {
+    callback = createCallback(callback, thisArg, 4);
+    (isArr ? forEach : forOwn)(object, function(value, index, object) {
+      return callback(accumulator, value, index, object);
+    });
+  }
+  return accumulator;
+}
+
+module.exports = transform;

http://git-wip-us.apache.org/repos/asf/cordova-osx/blob/42cbe9fd/node_modules/lodash-node/modern/objects/values.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/objects/values.js b/node_modules/lodash-node/modern/objects/values.js
new file mode 100644
index 0000000..ac9c3c1
--- /dev/null
+++ b/node_modules/lodash-node/modern/objects/values.js
@@ -0,0 +1,36 @@
+/**
+ * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
+ * Build: `lodash modularize modern exports="node" -o ./modern/`
+ * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
+ * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
+ * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
+ * Available under MIT license <http://lodash.com/license>
+ */
+var keys = require('./keys');
+
+/**
+ * Creates an array composed of the own enumerable property values of `object`.
+ *
+ * @static
+ * @memberOf _
+ * @category Objects
+ * @param {Object} object The object to inspect.
+ * @returns {Array} Returns an array of property values.
+ * @example
+ *
+ * _.values({ 'one': 1, 'two': 2, 'three': 3 });
+ * // => [1, 2, 3] (property order is not guaranteed across environments)
+ */
+function values(object) {
+  var index = -1,
+      props = keys(object),
+      length = props.length,
+      result = Array(length);
+
+  while (++index < length) {
+    result[index] = object[props[index]];
+  }
+  return result;
+}
+
+module.exports = values;

http://git-wip-us.apache.org/repos/asf/cordova-osx/blob/42cbe9fd/node_modules/lodash-node/modern/support.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/support.js b/node_modules/lodash-node/modern/support.js
new file mode 100644
index 0000000..646a9ab
--- /dev/null
+++ b/node_modules/lodash-node/modern/support.js
@@ -0,0 +1,40 @@
+/**
+ * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
+ * Build: `lodash modularize modern exports="node" -o ./modern/`
+ * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
+ * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
+ * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
+ * Available under MIT license <http://lodash.com/license>
+ */
+var isNative = require('./internals/isNative');
+
+/** Used to detect functions containing a `this` reference */
+var reThis = /\bthis\b/;
+
+/**
+ * An object used to flag environments features.
+ *
+ * @static
+ * @memberOf _
+ * @type Object
+ */
+var support = {};
+
+/**
+ * Detect if functions can be decompiled by `Function#toString`
+ * (all but PS3 and older Opera mobile browsers & avoided in Windows 8 apps).
+ *
+ * @memberOf _.support
+ * @type boolean
+ */
+support.funcDecomp = !isNative(global.WinRTError) && reThis.test(function() { return this; });
+
+/**
+ * Detect if `Function#name` is supported (all but IE).
+ *
+ * @memberOf _.support
+ * @type boolean
+ */
+support.funcNames = typeof Function.name == 'string';
+
+module.exports = support;

http://git-wip-us.apache.org/repos/asf/cordova-osx/blob/42cbe9fd/node_modules/lodash-node/modern/utilities.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/utilities.js b/node_modules/lodash-node/modern/utilities.js
new file mode 100644
index 0000000..b686eee
--- /dev/null
+++ b/node_modules/lodash-node/modern/utilities.js
@@ -0,0 +1,28 @@
+/**
+ * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
+ * Build: `lodash modularize modern exports="node" -o ./modern/`
+ * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
+ * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
+ * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
+ * Available under MIT license <http://lodash.com/license>
+ */
+
+module.exports = {
+  'constant': require('./utilities/constant'),
+  'createCallback': require('./functions/createCallback'),
+  'escape': require('./utilities/escape'),
+  'identity': require('./utilities/identity'),
+  'mixin': require('./utilities/mixin'),
+  'noConflict': require('./utilities/noConflict'),
+  'noop': require('./utilities/noop'),
+  'now': require('./utilities/now'),
+  'parseInt': require('./utilities/parseInt'),
+  'property': require('./utilities/property'),
+  'random': require('./utilities/random'),
+  'result': require('./utilities/result'),
+  'template': require('./utilities/template'),
+  'templateSettings': require('./utilities/templateSettings'),
+  'times': require('./utilities/times'),
+  'unescape': require('./utilities/unescape'),
+  'uniqueId': require('./utilities/uniqueId')
+};

http://git-wip-us.apache.org/repos/asf/cordova-osx/blob/42cbe9fd/node_modules/lodash-node/modern/utilities/constant.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/utilities/constant.js b/node_modules/lodash-node/modern/utilities/constant.js
new file mode 100644
index 0000000..8e45e85
--- /dev/null
+++ b/node_modules/lodash-node/modern/utilities/constant.js
@@ -0,0 +1,31 @@
+/**
+ * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
+ * Build: `lodash modularize modern exports="node" -o ./modern/`
+ * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
+ * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
+ * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
+ * Available under MIT license <http://lodash.com/license>
+ */
+
+/**
+ * Creates a function that returns `value`.
+ *
+ * @static
+ * @memberOf _
+ * @category Utilities
+ * @param {*} value The value to return from the new function.
+ * @returns {Function} Returns the new function.
+ * @example
+ *
+ * var object = { 'name': 'fred' };
+ * var getter = _.constant(object);
+ * getter() === object;
+ * // => true
+ */
+function constant(value) {
+  return function() {
+    return value;
+  };
+}
+
+module.exports = constant;

http://git-wip-us.apache.org/repos/asf/cordova-osx/blob/42cbe9fd/node_modules/lodash-node/modern/utilities/escape.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/utilities/escape.js b/node_modules/lodash-node/modern/utilities/escape.js
new file mode 100644
index 0000000..7f76531
--- /dev/null
+++ b/node_modules/lodash-node/modern/utilities/escape.js
@@ -0,0 +1,31 @@
+/**
+ * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
+ * Build: `lodash modularize modern exports="node" -o ./modern/`
+ * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
+ * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
+ * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
+ * Available under MIT license <http://lodash.com/license>
+ */
+var escapeHtmlChar = require('../internals/escapeHtmlChar'),
+    keys = require('../objects/keys'),
+    reUnescapedHtml = require('../internals/reUnescapedHtml');
+
+/**
+ * Converts the characters `&`, `<`, `>`, `"`, and `'` in `string` to their
+ * corresponding HTML entities.
+ *
+ * @static
+ * @memberOf _
+ * @category Utilities
+ * @param {string} string The string to escape.
+ * @returns {string} Returns the escaped string.
+ * @example
+ *
+ * _.escape('Fred, Wilma, & Pebbles');
+ * // => 'Fred, Wilma, &amp; Pebbles'
+ */
+function escape(string) {
+  return string == null ? '' : String(string).replace(reUnescapedHtml, escapeHtmlChar);
+}
+
+module.exports = escape;

http://git-wip-us.apache.org/repos/asf/cordova-osx/blob/42cbe9fd/node_modules/lodash-node/modern/utilities/identity.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/utilities/identity.js b/node_modules/lodash-node/modern/utilities/identity.js
new file mode 100644
index 0000000..0af8ec0
--- /dev/null
+++ b/node_modules/lodash-node/modern/utilities/identity.js
@@ -0,0 +1,28 @@
+/**
+ * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
+ * Build: `lodash modularize modern exports="node" -o ./modern/`
+ * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
+ * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
+ * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
+ * Available under MIT license <http://lodash.com/license>
+ */
+
+/**
+ * This method returns the first argument provided to it.
+ *
+ * @static
+ * @memberOf _
+ * @category Utilities
+ * @param {*} value Any value.
+ * @returns {*} Returns `value`.
+ * @example
+ *
+ * var object = { 'name': 'fred' };
+ * _.identity(object) === object;
+ * // => true
+ */
+function identity(value) {
+  return value;
+}
+
+module.exports = identity;

http://git-wip-us.apache.org/repos/asf/cordova-osx/blob/42cbe9fd/node_modules/lodash-node/modern/utilities/mixin.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/utilities/mixin.js b/node_modules/lodash-node/modern/utilities/mixin.js
new file mode 100644
index 0000000..dd08b7d
--- /dev/null
+++ b/node_modules/lodash-node/modern/utilities/mixin.js
@@ -0,0 +1,88 @@
+/**
+ * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
+ * Build: `lodash modularize modern exports="node" -o ./modern/`
+ * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
+ * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
+ * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
+ * Available under MIT license <http://lodash.com/license>
+ */
+var forEach = require('../collections/forEach'),
+    functions = require('../objects/functions'),
+    isFunction = require('../objects/isFunction'),
+    isObject = require('../objects/isObject');
+
+/**
+ * Used for `Array` method references.
+ *
+ * Normally `Array.prototype` would suffice, however, using an array literal
+ * avoids issues in Narwhal.
+ */
+var arrayRef = [];
+
+/** Native method shortcuts */
+var push = arrayRef.push;
+
+/**
+ * Adds function properties of a source object to the destination object.
+ * If `object` is a function methods will be added to its prototype as well.
+ *
+ * @static
+ * @memberOf _
+ * @category Utilities
+ * @param {Function|Object} [object=lodash] object The destination object.
+ * @param {Object} source The object of functions to add.
+ * @param {Object} [options] The options object.
+ * @param {boolean} [options.chain=true] Specify whether the functions added are chainable.
+ * @example
+ *
+ * function capitalize(string) {
+ *   return string.charAt(0).toUpperCase() + string.slice(1).toLowerCase();
+ * }
+ *
+ * _.mixin({ 'capitalize': capitalize });
+ * _.capitalize('fred');
+ * // => 'Fred'
+ *
+ * _('fred').capitalize().value();
+ * // => 'Fred'
+ *
+ * _.mixin({ 'capitalize': capitalize }, { 'chain': false });
+ * _('fred').capitalize();
+ * // => 'Fred'
+ */
+function mixin(object, source, options) {
+  var chain = true,
+      methodNames = source && functions(source);
+
+  if (options === false) {
+    chain = false;
+  } else if (isObject(options) && 'chain' in options) {
+    chain = options.chain;
+  }
+  var ctor = object,
+      isFunc = isFunction(ctor);
+
+  forEach(methodNames, function(methodName) {
+    var func = object[methodName] = source[methodName];
+    if (isFunc) {
+      ctor.prototype[methodName] = function() {
+        var chainAll = this.__chain__,
+            value = this.__wrapped__,
+            args = [value];
+
+        push.apply(args, arguments);
+        var result = func.apply(object, args);
+        if (chain || chainAll) {
+          if (value === result && isObject(result)) {
+            return this;
+          }
+          result = new ctor(result);
+          result.__chain__ = chainAll;
+        }
+        return result;
+      };
+    }
+  });
+}
+
+module.exports = mixin;

http://git-wip-us.apache.org/repos/asf/cordova-osx/blob/42cbe9fd/node_modules/lodash-node/modern/utilities/noConflict.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/utilities/noConflict.js b/node_modules/lodash-node/modern/utilities/noConflict.js
new file mode 100644
index 0000000..306ee81
--- /dev/null
+++ b/node_modules/lodash-node/modern/utilities/noConflict.js
@@ -0,0 +1,30 @@
+/**
+ * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
+ * Build: `lodash modularize modern exports="node" -o ./modern/`
+ * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
+ * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
+ * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
+ * Available under MIT license <http://lodash.com/license>
+ */
+
+/** Used to restore the original `_` reference in `noConflict` */
+var oldDash = global._;
+
+/**
+ * Reverts the '_' variable to its previous value and returns a reference to
+ * the `lodash` function.
+ *
+ * @static
+ * @memberOf _
+ * @category Utilities
+ * @returns {Function} Returns the `lodash` function.
+ * @example
+ *
+ * var lodash = _.noConflict();
+ */
+function noConflict() {
+  global._ = oldDash;
+  return this;
+}
+
+module.exports = noConflict;

http://git-wip-us.apache.org/repos/asf/cordova-osx/blob/42cbe9fd/node_modules/lodash-node/modern/utilities/noop.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/utilities/noop.js b/node_modules/lodash-node/modern/utilities/noop.js
new file mode 100644
index 0000000..f6a7a7a
--- /dev/null
+++ b/node_modules/lodash-node/modern/utilities/noop.js
@@ -0,0 +1,26 @@
+/**
+ * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
+ * Build: `lodash modularize modern exports="node" -o ./modern/`
+ * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
+ * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
+ * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
+ * Available under MIT license <http://lodash.com/license>
+ */
+
+/**
+ * A no-operation function.
+ *
+ * @static
+ * @memberOf _
+ * @category Utilities
+ * @example
+ *
+ * var object = { 'name': 'fred' };
+ * _.noop(object) === undefined;
+ * // => true
+ */
+function noop() {
+  // no operation performed
+}
+
+module.exports = noop;

http://git-wip-us.apache.org/repos/asf/cordova-osx/blob/42cbe9fd/node_modules/lodash-node/modern/utilities/now.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/utilities/now.js b/node_modules/lodash-node/modern/utilities/now.js
new file mode 100644
index 0000000..09a9928
--- /dev/null
+++ b/node_modules/lodash-node/modern/utilities/now.js
@@ -0,0 +1,28 @@
+/**
+ * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
+ * Build: `lodash modularize modern exports="node" -o ./modern/`
+ * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
+ * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
+ * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
+ * Available under MIT license <http://lodash.com/license>
+ */
+var isNative = require('../internals/isNative');
+
+/**
+ * Gets the number of milliseconds that have elapsed since the Unix epoch
+ * (1 January 1970 00:00:00 UTC).
+ *
+ * @static
+ * @memberOf _
+ * @category Utilities
+ * @example
+ *
+ * var stamp = _.now();
+ * _.defer(function() { console.log(_.now() - stamp); });
+ * // => logs the number of milliseconds it took for the deferred function to be called
+ */
+var now = isNative(now = Date.now) && now || function() {
+  return new Date().getTime();
+};
+
+module.exports = now;

http://git-wip-us.apache.org/repos/asf/cordova-osx/blob/42cbe9fd/node_modules/lodash-node/modern/utilities/parseInt.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/utilities/parseInt.js b/node_modules/lodash-node/modern/utilities/parseInt.js
new file mode 100644
index 0000000..6462865
--- /dev/null
+++ b/node_modules/lodash-node/modern/utilities/parseInt.js
@@ -0,0 +1,53 @@
+/**
+ * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
+ * Build: `lodash modularize modern exports="node" -o ./modern/`
+ * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
+ * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
+ * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
+ * Available under MIT license <http://lodash.com/license>
+ */
+var isString = require('../objects/isString');
+
+/** Used to detect and test whitespace */
+var whitespace = (
+  // whitespace
+  ' \t\x0B\f\xA0\ufeff' +
+
+  // line terminators
+  '\n\r\u2028\u2029' +
+
+  // unicode category "Zs" space separators
+  '\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000'
+);
+
+/** Used to match leading whitespace and zeros to be removed */
+var reLeadingSpacesAndZeros = RegExp('^[' + whitespace + ']*0+(?=.$)');
+
+/* Native method shortcuts for methods with the same name as other `lodash` methods */
+var nativeParseInt = global.parseInt;
+
+/**
+ * Converts the given value into an integer of the specified radix.
+ * If `radix` is `undefined` or `0` a `radix` of `10` is used unless the
+ * `value` is a hexadecimal, in which case a `radix` of `16` is used.
+ *
+ * Note: This method avoids differences in native ES3 and ES5 `parseInt`
+ * implementations. See http://es5.github.io/#E.
+ *
+ * @static
+ * @memberOf _
+ * @category Utilities
+ * @param {string} value The value to parse.
+ * @param {number} [radix] The radix used to interpret the value to parse.
+ * @returns {number} Returns the new integer value.
+ * @example
+ *
+ * _.parseInt('08');
+ * // => 8
+ */
+var parseInt = nativeParseInt(whitespace + '08') == 8 ? nativeParseInt : function(value, radix) {
+  // Firefox < 21 and Opera < 15 follow the ES3 specified implementation of `parseInt`
+  return nativeParseInt(isString(value) ? value.replace(reLeadingSpacesAndZeros, '') : value, radix || 0);
+};
+
+module.exports = parseInt;

http://git-wip-us.apache.org/repos/asf/cordova-osx/blob/42cbe9fd/node_modules/lodash-node/modern/utilities/property.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/utilities/property.js b/node_modules/lodash-node/modern/utilities/property.js
new file mode 100644
index 0000000..c9a735c
--- /dev/null
+++ b/node_modules/lodash-node/modern/utilities/property.js
@@ -0,0 +1,40 @@
+/**
+ * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
+ * Build: `lodash modularize modern exports="node" -o ./modern/`
+ * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
+ * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
+ * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
+ * Available under MIT license <http://lodash.com/license>
+ */
+
+/**
+ * Creates a "_.pluck" style function, which returns the `key` value of a
+ * given object.
+ *
+ * @static
+ * @memberOf _
+ * @category Utilities
+ * @param {string} key The name of the property to retrieve.
+ * @returns {Function} Returns the new function.
+ * @example
+ *
+ * var characters = [
+ *   { 'name': 'fred',   'age': 40 },
+ *   { 'name': 'barney', 'age': 36 }
+ * ];
+ *
+ * var getName = _.property('name');
+ *
+ * _.map(characters, getName);
+ * // => ['barney', 'fred']
+ *
+ * _.sortBy(characters, getName);
+ * // => [{ 'name': 'barney', 'age': 36 }, { 'name': 'fred',   'age': 40 }]
+ */
+function property(key) {
+  return function(object) {
+    return object[key];
+  };
+}
+
+module.exports = property;

http://git-wip-us.apache.org/repos/asf/cordova-osx/blob/42cbe9fd/node_modules/lodash-node/modern/utilities/random.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/utilities/random.js b/node_modules/lodash-node/modern/utilities/random.js
new file mode 100644
index 0000000..cbf8ef2
--- /dev/null
+++ b/node_modules/lodash-node/modern/utilities/random.js
@@ -0,0 +1,73 @@
+/**
+ * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
+ * Build: `lodash modularize modern exports="node" -o ./modern/`
+ * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
+ * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
+ * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
+ * Available under MIT license <http://lodash.com/license>
+ */
+var baseRandom = require('../internals/baseRandom');
+
+/* Native method shortcuts for methods with the same name as other `lodash` methods */
+var nativeMin = Math.min,
+    nativeRandom = Math.random;
+
+/**
+ * Produces a random number between `min` and `max` (inclusive). If only one
+ * argument is provided a number between `0` and the given number will be
+ * returned. If `floating` is truey or either `min` or `max` are floats a
+ * floating-point number will be returned instead of an integer.
+ *
+ * @static
+ * @memberOf _
+ * @category Utilities
+ * @param {number} [min=0] The minimum possible value.
+ * @param {number} [max=1] The maximum possible value.
+ * @param {boolean} [floating=false] Specify returning a floating-point number.
+ * @returns {number} Returns a random number.
+ * @example
+ *
+ * _.random(0, 5);
+ * // => an integer between 0 and 5
+ *
+ * _.random(5);
+ * // => also an integer between 0 and 5
+ *
+ * _.random(5, true);
+ * // => a floating-point number between 0 and 5
+ *
+ * _.random(1.2, 5.2);
+ * // => a floating-point number between 1.2 and 5.2
+ */
+function random(min, max, floating) {
+  var noMin = min == null,
+      noMax = max == null;
+
+  if (floating == null) {
+    if (typeof min == 'boolean' && noMax) {
+      floating = min;
+      min = 1;
+    }
+    else if (!noMax && typeof max == 'boolean') {
+      floating = max;
+      noMax = true;
+    }
+  }
+  if (noMin && noMax) {
+    max = 1;
+  }
+  min = +min || 0;
+  if (noMax) {
+    max = min;
+    min = 0;
+  } else {
+    max = +max || 0;
+  }
+  if (floating || min % 1 || max % 1) {
+    var rand = nativeRandom();
+    return nativeMin(min + (rand * (max - min + parseFloat('1e-' + ((rand +'').length - 1)))), max);
+  }
+  return baseRandom(min, max);
+}
+
+module.exports = random;

http://git-wip-us.apache.org/repos/asf/cordova-osx/blob/42cbe9fd/node_modules/lodash-node/modern/utilities/result.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/utilities/result.js b/node_modules/lodash-node/modern/utilities/result.js
new file mode 100644
index 0000000..cffcb50
--- /dev/null
+++ b/node_modules/lodash-node/modern/utilities/result.js
@@ -0,0 +1,45 @@
+/**
+ * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
+ * Build: `lodash modularize modern exports="node" -o ./modern/`
+ * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
+ * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
+ * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
+ * Available under MIT license <http://lodash.com/license>
+ */
+var isFunction = require('../objects/isFunction');
+
+/**
+ * Resolves the value of property `key` on `object`. If `key` is a function
+ * it will be invoked with the `this` binding of `object` and its result returned,
+ * else the property value is returned. If `object` is falsey then `undefined`
+ * is returned.
+ *
+ * @static
+ * @memberOf _
+ * @category Utilities
+ * @param {Object} object The object to inspect.
+ * @param {string} key The name of the property to resolve.
+ * @returns {*} Returns the resolved value.
+ * @example
+ *
+ * var object = {
+ *   'cheese': 'crumpets',
+ *   'stuff': function() {
+ *     return 'nonsense';
+ *   }
+ * };
+ *
+ * _.result(object, 'cheese');
+ * // => 'crumpets'
+ *
+ * _.result(object, 'stuff');
+ * // => 'nonsense'
+ */
+function result(object, key) {
+  if (object) {
+    var value = object[key];
+    return isFunction(value) ? object[key]() : value;
+  }
+}
+
+module.exports = result;

http://git-wip-us.apache.org/repos/asf/cordova-osx/blob/42cbe9fd/node_modules/lodash-node/modern/utilities/template.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/utilities/template.js b/node_modules/lodash-node/modern/utilities/template.js
new file mode 100644
index 0000000..85ab79d
--- /dev/null
+++ b/node_modules/lodash-node/modern/utilities/template.js
@@ -0,0 +1,216 @@
+/**
+ * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
+ * Build: `lodash modularize modern exports="node" -o ./modern/`
+ * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
+ * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
+ * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
+ * Available under MIT license <http://lodash.com/license>
+ */
+var defaults = require('../objects/defaults'),
+    escape = require('./escape'),
+    escapeStringChar = require('../internals/escapeStringChar'),
+    keys = require('../objects/keys'),
+    reInterpolate = require('../internals/reInterpolate'),
+    templateSettings = require('./templateSettings'),
+    values = require('../objects/values');
+
+/** Used to match empty string literals in compiled template source */
+var reEmptyStringLeading = /\b__p \+= '';/g,
+    reEmptyStringMiddle = /\b(__p \+=) '' \+/g,
+    reEmptyStringTrailing = /(__e\(.*?\)|\b__t\)) \+\n'';/g;
+
+/**
+ * Used to match ES6 template delimiters
+ * http://people.mozilla.org/~jorendorff/es6-draft.html#sec-literals-string-literals
+ */
+var reEsTemplate = /\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g;
+
+/** Used to ensure capturing order of template delimiters */
+var reNoMatch = /($^)/;
+
+/** Used to match unescaped characters in compiled string literals */
+var reUnescapedString = /['\n\r\t\u2028\u2029\\]/g;
+
+/**
+ * A micro-templating method that handles arbitrary delimiters, preserves
+ * whitespace, and correctly escapes quotes within interpolated code.
+ *
+ * Note: In the development build, `_.template` utilizes sourceURLs for easier
+ * debugging. See http://www.html5rocks.com/en/tutorials/developertools/sourcemaps/#toc-sourceurl
+ *
+ * For more information on precompiling templates see:
+ * http://lodash.com/custom-builds
+ *
+ * For more information on Chrome extension sandboxes see:
+ * http://developer.chrome.com/stable/extensions/sandboxingEval.html
+ *
+ * @static
+ * @memberOf _
+ * @category Utilities
+ * @param {string} text The template text.
+ * @param {Object} data The data object used to populate the text.
+ * @param {Object} [options] The options object.
+ * @param {RegExp} [options.escape] The "escape" delimiter.
+ * @param {RegExp} [options.evaluate] The "evaluate" delimiter.
+ * @param {Object} [options.imports] An object to import into the template as local variables.
+ * @param {RegExp} [options.interpolate] The "interpolate" delimiter.
+ * @param {string} [sourceURL] The sourceURL of the template's compiled source.
+ * @param {string} [variable] The data object variable name.
+ * @returns {Function|string} Returns a compiled function when no `data` object
+ *  is given, else it returns the interpolated text.
+ * @example
+ *
+ * // using the "interpolate" delimiter to create a compiled template
+ * var compiled = _.template('hello <%= name %>');
+ * compiled({ 'name': 'fred' });
+ * // => 'hello fred'
+ *
+ * // using the "escape" delimiter to escape HTML in data property values
+ * _.template('<b><%- value %></b>', { 'value': '<script>' });
+ * // => '<b>&lt;script&gt;</b>'
+ *
+ * // using the "evaluate" delimiter to generate HTML
+ * var list = '<% _.forEach(people, function(name) { %><li><%- name %></li><% }); %>';
+ * _.template(list, { 'people': ['fred', 'barney'] });
+ * // => '<li>fred</li><li>barney</li>'
+ *
+ * // using the ES6 delimiter as an alternative to the default "interpolate" delimiter
+ * _.template('hello ${ name }', { 'name': 'pebbles' });
+ * // => 'hello pebbles'
+ *
+ * // using the internal `print` function in "evaluate" delimiters
+ * _.template('<% print("hello " + name); %>!', { 'name': 'barney' });
+ * // => 'hello barney!'
+ *
+ * // using a custom template delimiters
+ * _.templateSettings = {
+ *   'interpolate': /{{([\s\S]+?)}}/g
+ * };
+ *
+ * _.template('hello {{ name }}!', { 'name': 'mustache' });
+ * // => 'hello mustache!'
+ *
+ * // using the `imports` option to import jQuery
+ * var list = '<% jq.each(people, function(name) { %><li><%- name %></li><% }); %>';
+ * _.template(list, { 'people': ['fred', 'barney'] }, { 'imports': { 'jq': jQuery } });
+ * // => '<li>fred</li><li>barney</li>'
+ *
+ * // using the `sourceURL` option to specify a custom sourceURL for the template
+ * var compiled = _.template('hello <%= name %>', null, { 'sourceURL': '/basic/greeting.jst' });
+ * compiled(data);
+ * // => find the source of "greeting.jst" under the Sources tab or Resources panel of the web inspector
+ *
+ * // using the `variable` option to ensure a with-statement isn't used in the compiled template
+ * var compiled = _.template('hi <%= data.name %>!', null, { 'variable': 'data' });
+ * compiled.source;
+ * // => function(data) {
+ *   var __t, __p = '', __e = _.escape;
+ *   __p += 'hi ' + ((__t = ( data.name )) == null ? '' : __t) + '!';
+ *   return __p;
+ * }
+ *
+ * // using the `source` property to inline compiled templates for meaningful
+ * // line numbers in error messages and a stack trace
+ * fs.writeFileSync(path.join(cwd, 'jst.js'), '\
+ *   var JST = {\
+ *     "main": ' + _.template(mainText).source + '\
+ *   };\
+ * ');
+ */
+function template(text, data, options) {
+  // based on John Resig's `tmpl` implementation
+  // http://ejohn.org/blog/javascript-micro-templating/
+  // and Laura Doktorova's doT.js
+  // https://github.com/olado/doT
+  var settings = templateSettings.imports._.templateSettings || templateSettings;
+  text = String(text || '');
+
+  // avoid missing dependencies when `iteratorTemplate` is not defined
+  options = defaults({}, options, settings);
+
+  var imports = defaults({}, options.imports, settings.imports),
+      importsKeys = keys(imports),
+      importsValues = values(imports);
+
+  var isEvaluating,
+      index = 0,
+      interpolate = options.interpolate || reNoMatch,
+      source = "__p += '";
+
+  // compile the regexp to match each delimiter
+  var reDelimiters = RegExp(
+    (options.escape || reNoMatch).source + '|' +
+    interpolate.source + '|' +
+    (interpolate === reInterpolate ? reEsTemplate : reNoMatch).source + '|' +
+    (options.evaluate || reNoMatch).source + '|$'
+  , 'g');
+
+  text.replace(reDelimiters, function(match, escapeValue, interpolateValue, esTemplateValue, evaluateValue, offset) {
+    interpolateValue || (interpolateValue = esTemplateValue);
+
+    // escape characters that cannot be included in string literals
+    source += text.slice(index, offset).replace(reUnescapedString, escapeStringChar);
+
+    // replace delimiters with snippets
+    if (escapeValue) {
+      source += "' +\n__e(" + escapeValue + ") +\n'";
+    }
+    if (evaluateValue) {
+      isEvaluating = true;
+      source += "';\n" + evaluateValue + ";\n__p += '";
+    }
+    if (interpolateValue) {
+      source += "' +\n((__t = (" + interpolateValue + ")) == null ? '' : __t) +\n'";
+    }
+    index = offset + match.length;
+
+    // the JS engine embedded in Adobe products requires returning the `match`
+    // string in order to produce the correct `offset` value
+    return match;
+  });
+
+  source += "';\n";
+
+  // if `variable` is not specified, wrap a with-statement around the generated
+  // code to add the data object to the top of the scope chain
+  var variable = options.variable,
+      hasVariable = variable;
+
+  if (!hasVariable) {
+    variable = 'obj';
+    source = 'with (' + variable + ') {\n' + source + '\n}\n';
+  }
+  // cleanup code by stripping empty strings
+  source = (isEvaluating ? source.replace(reEmptyStringLeading, '') : source)
+    .replace(reEmptyStringMiddle, '$1')
+    .replace(reEmptyStringTrailing, '$1;');
+
+  // frame code as the function body
+  source = 'function(' + variable + ') {\n' +
+    (hasVariable ? '' : variable + ' || (' + variable + ' = {});\n') +
+    "var __t, __p = '', __e = _.escape" +
+    (isEvaluating
+      ? ', __j = Array.prototype.join;\n' +
+        "function print() { __p += __j.call(arguments, '') }\n"
+      : ';\n'
+    ) +
+    source +
+    'return __p\n}';
+
+  try {
+    var result = Function(importsKeys, 'return ' + source ).apply(undefined, importsValues);
+  } catch(e) {
+    e.source = source;
+    throw e;
+  }
+  if (data) {
+    return result(data);
+  }
+  // provide the compiled function's source by its `toString` method, in
+  // supported environments, or the `source` property as a convenience for
+  // inlining compiled templates during the build process
+  result.source = source;
+  return result;
+}
+
+module.exports = template;

http://git-wip-us.apache.org/repos/asf/cordova-osx/blob/42cbe9fd/node_modules/lodash-node/modern/utilities/templateSettings.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/utilities/templateSettings.js b/node_modules/lodash-node/modern/utilities/templateSettings.js
new file mode 100644
index 0000000..c4bbb05
--- /dev/null
+++ b/node_modules/lodash-node/modern/utilities/templateSettings.js
@@ -0,0 +1,73 @@
+/**
+ * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
+ * Build: `lodash modularize modern exports="node" -o ./modern/`
+ * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
+ * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
+ * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
+ * Available under MIT license <http://lodash.com/license>
+ */
+var escape = require('./escape'),
+    reInterpolate = require('../internals/reInterpolate');
+
+/**
+ * By default, the template delimiters used by Lo-Dash are similar to those in
+ * embedded Ruby (ERB). Change the following template settings to use alternative
+ * delimiters.
+ *
+ * @static
+ * @memberOf _
+ * @type Object
+ */
+var templateSettings = {
+
+  /**
+   * Used to detect `data` property values to be HTML-escaped.
+   *
+   * @memberOf _.templateSettings
+   * @type RegExp
+   */
+  'escape': /<%-([\s\S]+?)%>/g,
+
+  /**
+   * Used to detect code to be evaluated.
+   *
+   * @memberOf _.templateSettings
+   * @type RegExp
+   */
+  'evaluate': /<%([\s\S]+?)%>/g,
+
+  /**
+   * Used to detect `data` property values to inject.
+   *
+   * @memberOf _.templateSettings
+   * @type RegExp
+   */
+  'interpolate': reInterpolate,
+
+  /**
+   * Used to reference the data object in the template text.
+   *
+   * @memberOf _.templateSettings
+   * @type string
+   */
+  'variable': '',
+
+  /**
+   * Used to import variables into the compiled template.
+   *
+   * @memberOf _.templateSettings
+   * @type Object
+   */
+  'imports': {
+
+    /**
+     * A reference to the `lodash` function.
+     *
+     * @memberOf _.templateSettings.imports
+     * @type Function
+     */
+    '_': { 'escape': escape }
+  }
+};
+
+module.exports = templateSettings;

http://git-wip-us.apache.org/repos/asf/cordova-osx/blob/42cbe9fd/node_modules/lodash-node/modern/utilities/times.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/utilities/times.js b/node_modules/lodash-node/modern/utilities/times.js
new file mode 100644
index 0000000..8ac64ff
--- /dev/null
+++ b/node_modules/lodash-node/modern/utilities/times.js
@@ -0,0 +1,46 @@
+/**
+ * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
+ * Build: `lodash modularize modern exports="node" -o ./modern/`
+ * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
+ * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
+ * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
+ * Available under MIT license <http://lodash.com/license>
+ */
+var baseCreateCallback = require('../internals/baseCreateCallback');
+
+/**
+ * Executes the callback `n` times, returning an array of the results
+ * of each callback execution. The callback is bound to `thisArg` and invoked
+ * with one argument; (index).
+ *
+ * @static
+ * @memberOf _
+ * @category Utilities
+ * @param {number} n The number of times to execute the callback.
+ * @param {Function} callback The function called per iteration.
+ * @param {*} [thisArg] The `this` binding of `callback`.
+ * @returns {Array} Returns an array of the results of each `callback` execution.
+ * @example
+ *
+ * var diceRolls = _.times(3, _.partial(_.random, 1, 6));
+ * // => [3, 6, 4]
+ *
+ * _.times(3, function(n) { mage.castSpell(n); });
+ * // => calls `mage.castSpell(n)` three times, passing `n` of `0`, `1`, and `2` respectively
+ *
+ * _.times(3, function(n) { this.cast(n); }, mage);
+ * // => also calls `mage.castSpell(n)` three times
+ */
+function times(n, callback, thisArg) {
+  n = (n = +n) > -1 ? n : 0;
+  var index = -1,
+      result = Array(n);
+
+  callback = baseCreateCallback(callback, thisArg, 1);
+  while (++index < n) {
+    result[index] = callback(index);
+  }
+  return result;
+}
+
+module.exports = times;

http://git-wip-us.apache.org/repos/asf/cordova-osx/blob/42cbe9fd/node_modules/lodash-node/modern/utilities/unescape.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/utilities/unescape.js b/node_modules/lodash-node/modern/utilities/unescape.js
new file mode 100644
index 0000000..57403f4
--- /dev/null
+++ b/node_modules/lodash-node/modern/utilities/unescape.js
@@ -0,0 +1,32 @@
+/**
+ * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
+ * Build: `lodash modularize modern exports="node" -o ./modern/`
+ * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
+ * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
+ * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
+ * Available under MIT license <http://lodash.com/license>
+ */
+var keys = require('../objects/keys'),
+    reEscapedHtml = require('../internals/reEscapedHtml'),
+    unescapeHtmlChar = require('../internals/unescapeHtmlChar');
+
+/**
+ * The inverse of `_.escape` this method converts the HTML entities
+ * `&amp;`, `&lt;`, `&gt;`, `&quot;`, and `&#39;` in `string` to their
+ * corresponding characters.
+ *
+ * @static
+ * @memberOf _
+ * @category Utilities
+ * @param {string} string The string to unescape.
+ * @returns {string} Returns the unescaped string.
+ * @example
+ *
+ * _.unescape('Fred, Barney &amp; Pebbles');
+ * // => 'Fred, Barney & Pebbles'
+ */
+function unescape(string) {
+  return string == null ? '' : String(string).replace(reEscapedHtml, unescapeHtmlChar);
+}
+
+module.exports = unescape;

http://git-wip-us.apache.org/repos/asf/cordova-osx/blob/42cbe9fd/node_modules/lodash-node/modern/utilities/uniqueId.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/modern/utilities/uniqueId.js b/node_modules/lodash-node/modern/utilities/uniqueId.js
new file mode 100644
index 0000000..cb4fd02
--- /dev/null
+++ b/node_modules/lodash-node/modern/utilities/uniqueId.js
@@ -0,0 +1,34 @@
+/**
+ * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
+ * Build: `lodash modularize modern exports="node" -o ./modern/`
+ * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
+ * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
+ * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
+ * Available under MIT license <http://lodash.com/license>
+ */
+
+/** Used to generate unique IDs */
+var idCounter = 0;
+
+/**
+ * Generates a unique ID. If `prefix` is provided the ID will be appended to it.
+ *
+ * @static
+ * @memberOf _
+ * @category Utilities
+ * @param {string} [prefix] The value to prefix the ID with.
+ * @returns {string} Returns the unique ID.
+ * @example
+ *
+ * _.uniqueId('contact_');
+ * // => 'contact_104'
+ *
+ * _.uniqueId();
+ * // => '105'
+ */
+function uniqueId(prefix) {
+  var id = ++idCounter;
+  return String(prefix == null ? '' : prefix) + id;
+}
+
+module.exports = uniqueId;

http://git-wip-us.apache.org/repos/asf/cordova-osx/blob/42cbe9fd/node_modules/lodash-node/package.json
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/package.json b/node_modules/lodash-node/package.json
new file mode 100644
index 0000000..6492b60
--- /dev/null
+++ b/node_modules/lodash-node/package.json
@@ -0,0 +1,111 @@
+{
+  "_args": [
+    [
+      "lodash-node@~2.4.1",
+      "/Users/steveng/repo/cordova/cordova-osx/node_modules/simple-plist/node_modules/xmlbuilder"
+    ]
+  ],
+  "_from": "lodash-node@>=2.4.1 <2.5.0",
+  "_id": "lodash-node@2.4.1",
+  "_inCache": true,
+  "_installable": true,
+  "_location": "/lodash-node",
+  "_npmUser": {
+    "email": "john.david.dalton@gmail.com",
+    "name": "jdalton"
+  },
+  "_npmVersion": "1.3.14",
+  "_phantomChildren": {},
+  "_requested": {
+    "name": "lodash-node",
+    "raw": "lodash-node@~2.4.1",
+    "rawSpec": "~2.4.1",
+    "scope": null,
+    "spec": ">=2.4.1 <2.5.0",
+    "type": "range"
+  },
+  "_requiredBy": [
+    "/simple-plist/xmlbuilder"
+  ],
+  "_resolved": "http://registry.npmjs.org/lodash-node/-/lodash-node-2.4.1.tgz",
+  "_shasum": "ea82f7b100c733d1a42af76801e506105e2a80ec",
+  "_shrinkwrap": null,
+  "_spec": "lodash-node@~2.4.1",
+  "_where": "/Users/steveng/repo/cordova/cordova-osx/node_modules/simple-plist/node_modules/xmlbuilder",
+  "author": {
+    "email": "john.david.dalton@gmail.com",
+    "name": "John-David Dalton",
+    "url": "http://allyoucanleet.com/"
+  },
+  "bugs": {
+    "url": "https://github.com/lodash/lodash-cli/issues"
+  },
+  "contributors": [
+    {
+      "name": "John-David Dalton",
+      "email": "john.david.dalton@gmail.com",
+      "url": "http://allyoucanleet.com/"
+    },
+    {
+      "name": "Blaine Bublitz",
+      "email": "blaine@iceddev.com",
+      "url": "http://www.iceddev.com/"
+    },
+    {
+      "name": "Kit Cambridge",
+      "email": "github@kitcambridge.be",
+      "url": "http://kitcambridge.be/"
+    },
+    {
+      "name": "Mathias Bynens",
+      "email": "mathias@qiwi.be",
+      "url": "http://mathiasbynens.be/"
+    }
+  ],
+  "dependencies": {},
+  "deprecated": "This package has been discontinued in favor of lodash@^4.0.0.",
+  "description": "A collection of Lo-Dash methods as Node.js modules generated by lodash-cli.",
+  "devDependencies": {},
+  "directories": {},
+  "dist": {
+    "shasum": "ea82f7b100c733d1a42af76801e506105e2a80ec",
+    "tarball": "http://registry.npmjs.org/lodash-node/-/lodash-node-2.4.1.tgz"
+  },
+  "homepage": "http://lodash.com/custom-builds",
+  "keywords": [
+    "customize",
+    "functional",
+    "lodash",
+    "modules",
+    "server",
+    "util"
+  ],
+  "license": "MIT",
+  "main": "modern/index.js",
+  "maintainers": [
+    {
+      "name": "jdalton",
+      "email": "john.david.dalton@gmail.com"
+    },
+    {
+      "name": "kitcambridge",
+      "email": "github@kitcambridge.be"
+    },
+    {
+      "name": "mathias",
+      "email": "mathias@qiwi.be"
+    },
+    {
+      "name": "phated",
+      "email": "blaine@iceddev.com"
+    }
+  ],
+  "name": "lodash-node",
+  "optionalDependencies": {},
+  "readme": "ERROR: No README data found!",
+  "repository": {
+    "type": "git",
+    "url": "git+https://github.com/lodash/lodash-node.git"
+  },
+  "version": "2.4.1"
+}

http://git-wip-us.apache.org/repos/asf/cordova-osx/blob/42cbe9fd/node_modules/lodash-node/underscore/arrays.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/arrays.js b/node_modules/lodash-node/underscore/arrays.js
new file mode 100644
index 0000000..4290b26
--- /dev/null
+++ b/node_modules/lodash-node/underscore/arrays.js
@@ -0,0 +1,35 @@
+/**
+ * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
+ * Build: `lodash modularize underscore exports="node" -o ./underscore/`
+ * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
+ * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
+ * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
+ * Available under MIT license <http://lodash.com/license>
+ */
+
+module.exports = {
+  'compact': require('./arrays/compact'),
+  'difference': require('./arrays/difference'),
+  'drop': require('./arrays/rest'),
+  'first': require('./arrays/first'),
+  'flatten': require('./arrays/flatten'),
+  'head': require('./arrays/first'),
+  'indexOf': require('./arrays/indexOf'),
+  'initial': require('./arrays/initial'),
+  'intersection': require('./arrays/intersection'),
+  'last': require('./arrays/last'),
+  'lastIndexOf': require('./arrays/lastIndexOf'),
+  'object': require('./arrays/zipObject'),
+  'range': require('./arrays/range'),
+  'rest': require('./arrays/rest'),
+  'sortedIndex': require('./arrays/sortedIndex'),
+  'tail': require('./arrays/rest'),
+  'take': require('./arrays/first'),
+  'union': require('./arrays/union'),
+  'uniq': require('./arrays/uniq'),
+  'unique': require('./arrays/uniq'),
+  'unzip': require('./arrays/zip'),
+  'without': require('./arrays/without'),
+  'zip': require('./arrays/zip'),
+  'zipObject': require('./arrays/zipObject')
+};

http://git-wip-us.apache.org/repos/asf/cordova-osx/blob/42cbe9fd/node_modules/lodash-node/underscore/arrays/compact.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/arrays/compact.js b/node_modules/lodash-node/underscore/arrays/compact.js
new file mode 100644
index 0000000..f82622b
--- /dev/null
+++ b/node_modules/lodash-node/underscore/arrays/compact.js
@@ -0,0 +1,38 @@
+/**
+ * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
+ * Build: `lodash modularize underscore exports="node" -o ./underscore/`
+ * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
+ * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
+ * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
+ * Available under MIT license <http://lodash.com/license>
+ */
+
+/**
+ * Creates an array with all falsey values removed. The values `false`, `null`,
+ * `0`, `""`, `undefined`, and `NaN` are all falsey.
+ *
+ * @static
+ * @memberOf _
+ * @category Arrays
+ * @param {Array} array The array to compact.
+ * @returns {Array} Returns a new array of filtered values.
+ * @example
+ *
+ * _.compact([0, 1, false, 2, '', 3]);
+ * // => [1, 2, 3]
+ */
+function compact(array) {
+  var index = -1,
+      length = array ? array.length : 0,
+      result = [];
+
+  while (++index < length) {
+    var value = array[index];
+    if (value) {
+      result.push(value);
+    }
+  }
+  return result;
+}
+
+module.exports = compact;

http://git-wip-us.apache.org/repos/asf/cordova-osx/blob/42cbe9fd/node_modules/lodash-node/underscore/arrays/difference.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/arrays/difference.js b/node_modules/lodash-node/underscore/arrays/difference.js
new file mode 100644
index 0000000..c5d16e4
--- /dev/null
+++ b/node_modules/lodash-node/underscore/arrays/difference.js
@@ -0,0 +1,31 @@
+/**
+ * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
+ * Build: `lodash modularize underscore exports="node" -o ./underscore/`
+ * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
+ * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
+ * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
+ * Available under MIT license <http://lodash.com/license>
+ */
+var baseDifference = require('../internals/baseDifference'),
+    baseFlatten = require('../internals/baseFlatten');
+
+/**
+ * Creates an array excluding all values of the provided arrays using strict
+ * equality for comparisons, i.e. `===`.
+ *
+ * @static
+ * @memberOf _
+ * @category Arrays
+ * @param {Array} array The array to process.
+ * @param {...Array} [values] The arrays of values to exclude.
+ * @returns {Array} Returns a new array of filtered values.
+ * @example
+ *
+ * _.difference([1, 2, 3, 4, 5], [5, 2, 10]);
+ * // => [1, 3, 4]
+ */
+function difference(array) {
+  return baseDifference(array, baseFlatten(arguments, true, true, 1));
+}
+
+module.exports = difference;

http://git-wip-us.apache.org/repos/asf/cordova-osx/blob/42cbe9fd/node_modules/lodash-node/underscore/arrays/first.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/arrays/first.js b/node_modules/lodash-node/underscore/arrays/first.js
new file mode 100644
index 0000000..1afd4fd
--- /dev/null
+++ b/node_modules/lodash-node/underscore/arrays/first.js
@@ -0,0 +1,86 @@
+/**
+ * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
+ * Build: `lodash modularize underscore exports="node" -o ./underscore/`
+ * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
+ * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
+ * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
+ * Available under MIT license <http://lodash.com/license>
+ */
+var createCallback = require('../functions/createCallback'),
+    slice = require('../internals/slice');
+
+/* Native method shortcuts for methods with the same name as other `lodash` methods */
+var nativeMax = Math.max,
+    nativeMin = Math.min;
+
+/**
+ * Gets the first element or first `n` elements of an array. If a callback
+ * is provided elements at the beginning of the array are returned as long
+ * as the callback returns truey. The callback is bound to `thisArg` and
+ * invoked with three arguments; (value, index, array).
+ *
+ * If a property name is provided for `callback` the created "_.pluck" style
+ * callback will return the property value of the given element.
+ *
+ * If an object is provided for `callback` the created "_.where" style callback
+ * will return `true` for elements that have the properties of the given object,
+ * else `false`.
+ *
+ * @static
+ * @memberOf _
+ * @alias head, take
+ * @category Arrays
+ * @param {Array} array The array to query.
+ * @param {Function|Object|number|string} [callback] The function called
+ *  per element or the number of elements to return. If a property name or
+ *  object is provided it will be used to create a "_.pluck" or "_.where"
+ *  style callback, respectively.
+ * @param {*} [thisArg] The `this` binding of `callback`.
+ * @returns {*} Returns the first element(s) of `array`.
+ * @example
+ *
+ * _.first([1, 2, 3]);
+ * // => 1
+ *
+ * _.first([1, 2, 3], 2);
+ * // => [1, 2]
+ *
+ * _.first([1, 2, 3], function(num) {
+ *   return num < 3;
+ * });
+ * // => [1, 2]
+ *
+ * var characters = [
+ *   { 'name': 'barney',  'blocked': true,  'employer': 'slate' },
+ *   { 'name': 'fred',    'blocked': false, 'employer': 'slate' },
+ *   { 'name': 'pebbles', 'blocked': true,  'employer': 'na' }
+ * ];
+ *
+ * // using "_.pluck" callback shorthand
+ * _.first(characters, 'blocked');
+ * // => [{ 'name': 'barney', 'blocked': true, 'employer': 'slate' }]
+ *
+ * // using "_.where" callback shorthand
+ * _.pluck(_.first(characters, { 'employer': 'slate' }), 'name');
+ * // => ['barney', 'fred']
+ */
+function first(array, callback, thisArg) {
+  var n = 0,
+      length = array ? array.length : 0;
+
+  if (typeof callback != 'number' && callback != null) {
+    var index = -1;
+    callback = createCallback(callback, thisArg, 3);
+    while (++index < length && callback(array[index], index, array)) {
+      n++;
+    }
+  } else {
+    n = callback;
+    if (n == null || thisArg) {
+      return array ? array[0] : undefined;
+    }
+  }
+  return slice(array, 0, nativeMin(nativeMax(0, n), length));
+}
+
+module.exports = first;

http://git-wip-us.apache.org/repos/asf/cordova-osx/blob/42cbe9fd/node_modules/lodash-node/underscore/arrays/flatten.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/arrays/flatten.js b/node_modules/lodash-node/underscore/arrays/flatten.js
new file mode 100644
index 0000000..03108f0
--- /dev/null
+++ b/node_modules/lodash-node/underscore/arrays/flatten.js
@@ -0,0 +1,56 @@
+/**
+ * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
+ * Build: `lodash modularize underscore exports="node" -o ./underscore/`
+ * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
+ * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
+ * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
+ * Available under MIT license <http://lodash.com/license>
+ */
+var baseFlatten = require('../internals/baseFlatten');
+
+/**
+ * Flattens a nested array (the nesting can be to any depth). If `isShallow`
+ * is truey, the array will only be flattened a single level. If a callback
+ * is provided each element of the array is passed through the callback before
+ * flattening. The callback is bound to `thisArg` and invoked with three
+ * arguments; (value, index, array).
+ *
+ * If a property name is provided for `callback` the created "_.pluck" style
+ * callback will return the property value of the given element.
+ *
+ * If an object is provided for `callback` the created "_.where" style callback
+ * will return `true` for elements that have the properties of the given object,
+ * else `false`.
+ *
+ * @static
+ * @memberOf _
+ * @category Arrays
+ * @param {Array} array The array to flatten.
+ * @param {boolean} [isShallow=false] A flag to restrict flattening to a single level.
+ * @param {Function|Object|string} [callback=identity] The function called
+ *  per iteration. If a property name or object is provided it will be used
+ *  to create a "_.pluck" or "_.where" style callback, respectively.
+ * @param {*} [thisArg] The `this` binding of `callback`.
+ * @returns {Array} Returns a new flattened array.
+ * @example
+ *
+ * _.flatten([1, [2], [3, [[4]]]]);
+ * // => [1, 2, 3, 4];
+ *
+ * _.flatten([1, [2], [3, [[4]]]], true);
+ * // => [1, 2, 3, [[4]]];
+ *
+ * var characters = [
+ *   { 'name': 'barney', 'age': 30, 'pets': ['hoppy'] },
+ *   { 'name': 'fred',   'age': 40, 'pets': ['baby puss', 'dino'] }
+ * ];
+ *
+ * // using "_.pluck" callback shorthand
+ * _.flatten(characters, 'pets');
+ * // => ['hoppy', 'baby puss', 'dino']
+ */
+function flatten(array, isShallow) {
+  return baseFlatten(array, isShallow);
+}
+
+module.exports = flatten;

http://git-wip-us.apache.org/repos/asf/cordova-osx/blob/42cbe9fd/node_modules/lodash-node/underscore/arrays/indexOf.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/arrays/indexOf.js b/node_modules/lodash-node/underscore/arrays/indexOf.js
new file mode 100644
index 0000000..8a8948d
--- /dev/null
+++ b/node_modules/lodash-node/underscore/arrays/indexOf.js
@@ -0,0 +1,50 @@
+/**
+ * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
+ * Build: `lodash modularize underscore exports="node" -o ./underscore/`
+ * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
+ * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
+ * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
+ * Available under MIT license <http://lodash.com/license>
+ */
+var baseIndexOf = require('../internals/baseIndexOf'),
+    sortedIndex = require('./sortedIndex');
+
+/* Native method shortcuts for methods with the same name as other `lodash` methods */
+var nativeMax = Math.max;
+
+/**
+ * Gets the index at which the first occurrence of `value` is found using
+ * strict equality for comparisons, i.e. `===`. If the array is already sorted
+ * providing `true` for `fromIndex` will run a faster binary search.
+ *
+ * @static
+ * @memberOf _
+ * @category Arrays
+ * @param {Array} array The array to search.
+ * @param {*} value The value to search for.
+ * @param {boolean|number} [fromIndex=0] The index to search from or `true`
+ *  to perform a binary search on a sorted array.
+ * @returns {number} Returns the index of the matched value or `-1`.
+ * @example
+ *
+ * _.indexOf([1, 2, 3, 1, 2, 3], 2);
+ * // => 1
+ *
+ * _.indexOf([1, 2, 3, 1, 2, 3], 2, 3);
+ * // => 4
+ *
+ * _.indexOf([1, 1, 2, 2, 3, 3], 2, true);
+ * // => 2
+ */
+function indexOf(array, value, fromIndex) {
+  if (typeof fromIndex == 'number') {
+    var length = array ? array.length : 0;
+    fromIndex = (fromIndex < 0 ? nativeMax(0, length + fromIndex) : fromIndex || 0);
+  } else if (fromIndex) {
+    var index = sortedIndex(array, value);
+    return array[index] === value ? index : -1;
+  }
+  return baseIndexOf(array, value, fromIndex);
+}
+
+module.exports = indexOf;

http://git-wip-us.apache.org/repos/asf/cordova-osx/blob/42cbe9fd/node_modules/lodash-node/underscore/arrays/initial.js
----------------------------------------------------------------------
diff --git a/node_modules/lodash-node/underscore/arrays/initial.js b/node_modules/lodash-node/underscore/arrays/initial.js
new file mode 100644
index 0000000..f36f4c1
--- /dev/null
+++ b/node_modules/lodash-node/underscore/arrays/initial.js
@@ -0,0 +1,82 @@
+/**
+ * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
+ * Build: `lodash modularize underscore exports="node" -o ./underscore/`
+ * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
+ * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
+ * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
+ * Available under MIT license <http://lodash.com/license>
+ */
+var createCallback = require('../functions/createCallback'),
+    slice = require('../internals/slice');
+
+/* Native method shortcuts for methods with the same name as other `lodash` methods */
+var nativeMax = Math.max,
+    nativeMin = Math.min;
+
+/**
+ * Gets all but the last element or last `n` elements of an array. If a
+ * callback is provided elements at the end of the array are excluded from
+ * the result as long as the callback returns truey. The callback is bound
+ * to `thisArg` and invoked with three arguments; (value, index, array).
+ *
+ * If a property name is provided for `callback` the created "_.pluck" style
+ * callback will return the property value of the given element.
+ *
+ * If an object is provided for `callback` the created "_.where" style callback
+ * will return `true` for elements that have the properties of the given object,
+ * else `false`.
+ *
+ * @static
+ * @memberOf _
+ * @category Arrays
+ * @param {Array} array The array to query.
+ * @param {Function|Object|number|string} [callback=1] The function called
+ *  per element or the number of elements to exclude. If a property name or
+ *  object is provided it will be used to create a "_.pluck" or "_.where"
+ *  style callback, respectively.
+ * @param {*} [thisArg] The `this` binding of `callback`.
+ * @returns {Array} Returns a slice of `array`.
+ * @example
+ *
+ * _.initial([1, 2, 3]);
+ * // => [1, 2]
+ *
+ * _.initial([1, 2, 3], 2);
+ * // => [1]
+ *
+ * _.initial([1, 2, 3], function(num) {
+ *   return num > 1;
+ * });
+ * // => [1]
+ *
+ * var characters = [
+ *   { 'name': 'barney',  'blocked': false, 'employer': 'slate' },
+ *   { 'name': 'fred',    'blocked': true,  'employer': 'slate' },
+ *   { 'name': 'pebbles', 'blocked': true,  'employer': 'na' }
+ * ];
+ *
+ * // using "_.pluck" callback shorthand
+ * _.initial(characters, 'blocked');
+ * // => [{ 'name': 'barney',  'blocked': false, 'employer': 'slate' }]
+ *
+ * // using "_.where" callback shorthand
+ * _.pluck(_.initial(characters, { 'employer': 'na' }), 'name');
+ * // => ['barney', 'fred']
+ */
+function initial(array, callback, thisArg) {
+  var n = 0,
+      length = array ? array.length : 0;
+
+  if (typeof callback != 'number' && callback != null) {
+    var index = length;
+    callback = createCallback(callback, thisArg, 3);
+    while (index-- && callback(array[index], index, array)) {
+      n++;
+    }
+  } else {
+    n = (callback == null || thisArg) ? 1 : callback || n;
+  }
+  return slice(array, 0, nativeMin(nativeMax(0, length - n), length));
+}
+
+module.exports = initial;


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cordova.apache.org
For additional commands, e-mail: commits-help@cordova.apache.org