http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/26cca47e/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/modern/utilities/unescape.js
----------------------------------------------------------------------
diff --git 
a/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/modern/utilities/unescape.js
 
b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/modern/utilities/unescape.js
new file mode 100644
index 0000000..57403f4
--- /dev/null
+++ 
b/bin/node_modules/plist/node_modules/xmlbuilder/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-ios/blob/26cca47e/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/modern/utilities/uniqueId.js
----------------------------------------------------------------------
diff --git 
a/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/modern/utilities/uniqueId.js
 
b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/modern/utilities/uniqueId.js
new file mode 100644
index 0000000..cb4fd02
--- /dev/null
+++ 
b/bin/node_modules/plist/node_modules/xmlbuilder/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-ios/blob/26cca47e/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/package.json
----------------------------------------------------------------------
diff --git 
a/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/package.json
 
b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/package.json
new file mode 100644
index 0000000..bd7e51b
--- /dev/null
+++ 
b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/package.json
@@ -0,0 +1,83 @@
+{
+  "name": "lodash-node",
+  "version": "2.4.1",
+  "description": "A collection of Lo-Dash methods as Node.js modules generated 
by lodash-cli.",
+  "homepage": "http://lodash.com/custom-builds";,
+  "license": "MIT",
+  "main": "modern/index.js",
+  "keywords": [
+    "customize",
+    "functional",
+    "lodash",
+    "modules",
+    "server",
+    "util"
+  ],
+  "author": {
+    "name": "John-David Dalton",
+    "email": "[email protected]",
+    "url": "http://allyoucanleet.com/";
+  },
+  "contributors": [
+    {
+      "name": "John-David Dalton",
+      "email": "[email protected]",
+      "url": "http://allyoucanleet.com/";
+    },
+    {
+      "name": "Blaine Bublitz",
+      "email": "[email protected]",
+      "url": "http://www.iceddev.com/";
+    },
+    {
+      "name": "Kit Cambridge",
+      "email": "[email protected]",
+      "url": "http://kitcambridge.be/";
+    },
+    {
+      "name": "Mathias Bynens",
+      "email": "[email protected]",
+      "url": "http://mathiasbynens.be/";
+    }
+  ],
+  "bugs": {
+    "url": "https://github.com/lodash/lodash-cli/issues";
+  },
+  "repository": {
+    "type": "git",
+    "url": "https://github.com/lodash/lodash-node.git";
+  },
+  "_id": "[email protected]",
+  "dist": {
+    "shasum": "ea82f7b100c733d1a42af76801e506105e2a80ec",
+    "tarball": "http://registry.npmjs.org/lodash-node/-/lodash-node-2.4.1.tgz";
+  },
+  "_from": "lodash-node@~2.4.1",
+  "_npmVersion": "1.3.14",
+  "_npmUser": {
+    "name": "jdalton",
+    "email": "[email protected]"
+  },
+  "maintainers": [
+    {
+      "name": "jdalton",
+      "email": "[email protected]"
+    },
+    {
+      "name": "kitcambridge",
+      "email": "[email protected]"
+    },
+    {
+      "name": "mathias",
+      "email": "[email protected]"
+    },
+    {
+      "name": "phated",
+      "email": "[email protected]"
+    }
+  ],
+  "directories": {},
+  "_shasum": "ea82f7b100c733d1a42af76801e506105e2a80ec",
+  "_resolved": 
"https://registry.npmjs.org/lodash-node/-/lodash-node-2.4.1.tgz";,
+  "readme": "ERROR: No README data found!"
+}

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/26cca47e/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/arrays.js
----------------------------------------------------------------------
diff --git 
a/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/arrays.js
 
b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/arrays.js
new file mode 100644
index 0000000..4290b26
--- /dev/null
+++ 
b/bin/node_modules/plist/node_modules/xmlbuilder/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-ios/blob/26cca47e/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/arrays/compact.js
----------------------------------------------------------------------
diff --git 
a/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/arrays/compact.js
 
b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/arrays/compact.js
new file mode 100644
index 0000000..f82622b
--- /dev/null
+++ 
b/bin/node_modules/plist/node_modules/xmlbuilder/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-ios/blob/26cca47e/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/arrays/difference.js
----------------------------------------------------------------------
diff --git 
a/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/arrays/difference.js
 
b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/arrays/difference.js
new file mode 100644
index 0000000..c5d16e4
--- /dev/null
+++ 
b/bin/node_modules/plist/node_modules/xmlbuilder/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-ios/blob/26cca47e/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/arrays/first.js
----------------------------------------------------------------------
diff --git 
a/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/arrays/first.js
 
b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/arrays/first.js
new file mode 100644
index 0000000..1afd4fd
--- /dev/null
+++ 
b/bin/node_modules/plist/node_modules/xmlbuilder/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-ios/blob/26cca47e/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/arrays/flatten.js
----------------------------------------------------------------------
diff --git 
a/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/arrays/flatten.js
 
b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/arrays/flatten.js
new file mode 100644
index 0000000..03108f0
--- /dev/null
+++ 
b/bin/node_modules/plist/node_modules/xmlbuilder/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-ios/blob/26cca47e/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/arrays/indexOf.js
----------------------------------------------------------------------
diff --git 
a/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/arrays/indexOf.js
 
b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/arrays/indexOf.js
new file mode 100644
index 0000000..8a8948d
--- /dev/null
+++ 
b/bin/node_modules/plist/node_modules/xmlbuilder/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-ios/blob/26cca47e/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/arrays/initial.js
----------------------------------------------------------------------
diff --git 
a/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/arrays/initial.js
 
b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/arrays/initial.js
new file mode 100644
index 0000000..f36f4c1
--- /dev/null
+++ 
b/bin/node_modules/plist/node_modules/xmlbuilder/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;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/26cca47e/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/arrays/intersection.js
----------------------------------------------------------------------
diff --git 
a/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/arrays/intersection.js
 
b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/arrays/intersection.js
new file mode 100644
index 0000000..71a01d1
--- /dev/null
+++ 
b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/arrays/intersection.js
@@ -0,0 +1,60 @@
+/**
+ * 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'),
+    isArguments = require('../objects/isArguments'),
+    isArray = require('../objects/isArray');
+
+/**
+ * Creates an array of unique values present in all provided arrays using
+ * strict equality for comparisons, i.e. `===`.
+ *
+ * @static
+ * @memberOf _
+ * @category Arrays
+ * @param {...Array} [array] The arrays to inspect.
+ * @returns {Array} Returns an array of shared values.
+ * @example
+ *
+ * _.intersection([1, 2, 3], [5, 2, 1, 4], [2, 1]);
+ * // => [1, 2]
+ */
+function intersection() {
+  var args = [],
+      argsIndex = -1,
+      argsLength = arguments.length;
+
+  while (++argsIndex < argsLength) {
+    var value = arguments[argsIndex];
+     if (isArray(value) || isArguments(value)) {
+       args.push(value);
+     }
+  }
+  var array = args[0],
+      index = -1,
+      indexOf = baseIndexOf,
+      length = array ? array.length : 0,
+      result = [];
+
+  outer:
+  while (++index < length) {
+    value = array[index];
+    if (indexOf(result, value) < 0) {
+      var argsIndex = argsLength;
+      while (--argsIndex) {
+        if (indexOf(args[argsIndex], value) < 0) {
+          continue outer;
+        }
+      }
+      result.push(value);
+    }
+  }
+  return result;
+}
+
+module.exports = intersection;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/26cca47e/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/arrays/last.js
----------------------------------------------------------------------
diff --git 
a/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/arrays/last.js
 
b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/arrays/last.js
new file mode 100644
index 0000000..ba418b7
--- /dev/null
+++ 
b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/arrays/last.js
@@ -0,0 +1,84 @@
+/**
+ * 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;
+
+/**
+ * Gets the last element or last `n` elements of an array. If a callback is
+ * provided elements at the end 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 _
+ * @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 last element(s) of `array`.
+ * @example
+ *
+ * _.last([1, 2, 3]);
+ * // => 3
+ *
+ * _.last([1, 2, 3], 2);
+ * // => [2, 3]
+ *
+ * _.last([1, 2, 3], function(num) {
+ *   return num > 1;
+ * });
+ * // => [2, 3]
+ *
+ * var characters = [
+ *   { 'name': 'barney',  'blocked': false, 'employer': 'slate' },
+ *   { 'name': 'fred',    'blocked': true,  'employer': 'slate' },
+ *   { 'name': 'pebbles', 'blocked': true,  'employer': 'na' }
+ * ];
+ *
+ * // using "_.pluck" callback shorthand
+ * _.pluck(_.last(characters, 'blocked'), 'name');
+ * // => ['fred', 'pebbles']
+ *
+ * // using "_.where" callback shorthand
+ * _.last(characters, { 'employer': 'na' });
+ * // => [{ 'name': 'pebbles', 'blocked': true, 'employer': 'na' }]
+ */
+function last(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;
+    if (n == null || thisArg) {
+      return array ? array[length - 1] : undefined;
+    }
+  }
+  return slice(array, nativeMax(0, length - n));
+}
+
+module.exports = last;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/26cca47e/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/arrays/lastIndexOf.js
----------------------------------------------------------------------
diff --git 
a/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/arrays/lastIndexOf.js
 
b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/arrays/lastIndexOf.js
new file mode 100644
index 0000000..e791147
--- /dev/null
+++ 
b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/arrays/lastIndexOf.js
@@ -0,0 +1,54 @@
+/**
+ * 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>
+ */
+
+/* Native method shortcuts for methods with the same name as other `lodash` 
methods */
+var nativeMax = Math.max,
+    nativeMin = Math.min;
+
+/**
+ * Gets the index at which the last occurrence of `value` is found using strict
+ * equality for comparisons, i.e. `===`. If `fromIndex` is negative, it is used
+ * as the offset from the end of the collection.
+ *
+ * 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 search.
+ * @param {*} value The value to search for.
+ * @param {number} [fromIndex=array.length-1] The index to search from.
+ * @returns {number} Returns the index of the matched value or `-1`.
+ * @example
+ *
+ * _.lastIndexOf([1, 2, 3, 1, 2, 3], 2);
+ * // => 4
+ *
+ * _.lastIndexOf([1, 2, 3, 1, 2, 3], 2, 3);
+ * // => 1
+ */
+function lastIndexOf(array, value, fromIndex) {
+  var index = array ? array.length : 0;
+  if (typeof fromIndex == 'number') {
+    index = (fromIndex < 0 ? nativeMax(0, index + fromIndex) : 
nativeMin(fromIndex, index - 1)) + 1;
+  }
+  while (index--) {
+    if (array[index] === value) {
+      return index;
+    }
+  }
+  return -1;
+}
+
+module.exports = lastIndexOf;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/26cca47e/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/arrays/range.js
----------------------------------------------------------------------
diff --git 
a/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/arrays/range.js
 
b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/arrays/range.js
new file mode 100644
index 0000000..0075159
--- /dev/null
+++ 
b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/arrays/range.js
@@ -0,0 +1,69 @@
+/**
+ * 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>
+ */
+
+/** Native method shortcuts */
+var ceil = Math.ceil;
+
+/* Native method shortcuts for methods with the same name as other `lodash` 
methods */
+var nativeMax = Math.max;
+
+/**
+ * Creates an array of numbers (positive and/or negative) progressing from
+ * `start` up to but not including `end`. If `start` is less than `stop` a
+ * zero-length range is created unless a negative `step` is specified.
+ *
+ * @static
+ * @memberOf _
+ * @category Arrays
+ * @param {number} [start=0] The start of the range.
+ * @param {number} end The end of the range.
+ * @param {number} [step=1] The value to increment or decrement by.
+ * @returns {Array} Returns a new range array.
+ * @example
+ *
+ * _.range(4);
+ * // => [0, 1, 2, 3]
+ *
+ * _.range(1, 5);
+ * // => [1, 2, 3, 4]
+ *
+ * _.range(0, 20, 5);
+ * // => [0, 5, 10, 15]
+ *
+ * _.range(0, -4, -1);
+ * // => [0, -1, -2, -3]
+ *
+ * _.range(1, 4, 0);
+ * // => [1, 1, 1]
+ *
+ * _.range(0);
+ * // => []
+ */
+function range(start, end, step) {
+  start = +start || 0;
+  step =  (+step || 1);
+
+  if (end == null) {
+    end = start;
+    start = 0;
+  }
+  // use `Array(length)` so engines like Chakra and V8 avoid slower modes
+  // http://youtu.be/XAqIpGU8ZZk#t=17m25s
+  var index = -1,
+      length = nativeMax(0, ceil((end - start) / step)),
+      result = Array(length);
+
+  while (++index < length) {
+    result[index] = start;
+    start += step;
+  }
+  return result;
+}
+
+module.exports = range;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/26cca47e/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/arrays/rest.js
----------------------------------------------------------------------
diff --git 
a/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/arrays/rest.js
 
b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/arrays/rest.js
new file mode 100644
index 0000000..284608c
--- /dev/null
+++ 
b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/arrays/rest.js
@@ -0,0 +1,83 @@
+/**
+ * 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;
+
+/**
+ * The opposite of `_.initial` this method gets all but the first element or
+ * first `n` elements of an array. If a callback function is provided elements
+ * at the beginning 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 _
+ * @alias drop, tail
+ * @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
+ *
+ * _.rest([1, 2, 3]);
+ * // => [2, 3]
+ *
+ * _.rest([1, 2, 3], 2);
+ * // => [3]
+ *
+ * _.rest([1, 2, 3], function(num) {
+ *   return num < 3;
+ * });
+ * // => [3]
+ *
+ * var characters = [
+ *   { 'name': 'barney',  'blocked': true,  'employer': 'slate' },
+ *   { 'name': 'fred',    'blocked': false,  'employer': 'slate' },
+ *   { 'name': 'pebbles', 'blocked': true, 'employer': 'na' }
+ * ];
+ *
+ * // using "_.pluck" callback shorthand
+ * _.pluck(_.rest(characters, 'blocked'), 'name');
+ * // => ['fred', 'pebbles']
+ *
+ * // using "_.where" callback shorthand
+ * _.rest(characters, { 'employer': 'slate' });
+ * // => [{ 'name': 'pebbles', 'blocked': true, 'employer': 'na' }]
+ */
+function rest(array, callback, thisArg) {
+  if (typeof callback != 'number' && callback != null) {
+    var n = 0,
+        index = -1,
+        length = array ? array.length : 0;
+
+    callback = createCallback(callback, thisArg, 3);
+    while (++index < length && callback(array[index], index, array)) {
+      n++;
+    }
+  } else {
+    n = (callback == null || thisArg) ? 1 : nativeMax(0, callback);
+  }
+  return slice(array, n);
+}
+
+module.exports = rest;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/26cca47e/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/arrays/sortedIndex.js
----------------------------------------------------------------------
diff --git 
a/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/arrays/sortedIndex.js
 
b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/arrays/sortedIndex.js
new file mode 100644
index 0000000..2358d08
--- /dev/null
+++ 
b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/arrays/sortedIndex.js
@@ -0,0 +1,77 @@
+/**
+ * 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'),
+    identity = require('../utilities/identity');
+
+/**
+ * Uses a binary search to determine the smallest index at which a value
+ * should be inserted into a given sorted array in order to maintain the sort
+ * order of the array. If a callback is provided it will be executed for
+ * `value` and each element of `array` to compute their sort ranking. The
+ * callback is bound to `thisArg` and invoked with one argument; (value).
+ *
+ * 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 inspect.
+ * @param {*} value The value to evaluate.
+ * @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 {number} Returns the index at which `value` should be inserted
+ *  into `array`.
+ * @example
+ *
+ * _.sortedIndex([20, 30, 50], 40);
+ * // => 2
+ *
+ * // using "_.pluck" callback shorthand
+ * _.sortedIndex([{ 'x': 20 }, { 'x': 30 }, { 'x': 50 }], { 'x': 40 }, 'x');
+ * // => 2
+ *
+ * var dict = {
+ *   'wordToNumber': { 'twenty': 20, 'thirty': 30, 'fourty': 40, 'fifty': 50 }
+ * };
+ *
+ * _.sortedIndex(['twenty', 'thirty', 'fifty'], 'fourty', function(word) {
+ *   return dict.wordToNumber[word];
+ * });
+ * // => 2
+ *
+ * _.sortedIndex(['twenty', 'thirty', 'fifty'], 'fourty', function(word) {
+ *   return this.wordToNumber[word];
+ * }, dict);
+ * // => 2
+ */
+function sortedIndex(array, value, callback, thisArg) {
+  var low = 0,
+      high = array ? array.length : low;
+
+  // explicitly reference `identity` for better inlining in Firefox
+  callback = callback ? createCallback(callback, thisArg, 1) : identity;
+  value = callback(value);
+
+  while (low < high) {
+    var mid = (low + high) >>> 1;
+    (callback(array[mid]) < value)
+      ? low = mid + 1
+      : high = mid;
+  }
+  return low;
+}
+
+module.exports = sortedIndex;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/26cca47e/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/arrays/union.js
----------------------------------------------------------------------
diff --git 
a/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/arrays/union.js
 
b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/arrays/union.js
new file mode 100644
index 0000000..5fe15c6
--- /dev/null
+++ 
b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/arrays/union.js
@@ -0,0 +1,30 @@
+/**
+ * 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'),
+    baseUniq = require('../internals/baseUniq');
+
+/**
+ * Creates an array of unique values, in order, of the provided arrays using
+ * strict equality for comparisons, i.e. `===`.
+ *
+ * @static
+ * @memberOf _
+ * @category Arrays
+ * @param {...Array} [array] The arrays to inspect.
+ * @returns {Array} Returns an array of combined values.
+ * @example
+ *
+ * _.union([1, 2, 3], [5, 2, 1, 4], [2, 1]);
+ * // => [1, 2, 3, 5, 4]
+ */
+function union() {
+  return baseUniq(baseFlatten(arguments, true, true));
+}
+
+module.exports = union;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/26cca47e/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/arrays/uniq.js
----------------------------------------------------------------------
diff --git 
a/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/arrays/uniq.js
 
b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/arrays/uniq.js
new file mode 100644
index 0000000..e403ea1
--- /dev/null
+++ 
b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/arrays/uniq.js
@@ -0,0 +1,69 @@
+/**
+ * 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 baseUniq = require('../internals/baseUniq'),
+    createCallback = require('../functions/createCallback');
+
+/**
+ * Creates a duplicate-value-free version of an array using strict equality
+ * for comparisons, i.e. `===`. If the array is sorted, providing
+ * `true` for `isSorted` will use a faster algorithm. If a callback is provided
+ * each element of `array` is passed through the callback before uniqueness
+ * is computed. 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 unique
+ * @category Arrays
+ * @param {Array} array The array to process.
+ * @param {boolean} [isSorted=false] A flag to indicate that `array` is sorted.
+ * @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 duplicate-value-free array.
+ * @example
+ *
+ * _.uniq([1, 2, 1, 3, 1]);
+ * // => [1, 2, 3]
+ *
+ * _.uniq([1, 1, 2, 2, 3], true);
+ * // => [1, 2, 3]
+ *
+ * _.uniq(['A', 'b', 'C', 'a', 'B', 'c'], function(letter) { return 
letter.toLowerCase(); });
+ * // => ['A', 'b', 'C']
+ *
+ * _.uniq([1, 2.5, 3, 1.5, 2, 3.5], function(num) { return this.floor(num); }, 
Math);
+ * // => [1, 2.5, 3]
+ *
+ * // using "_.pluck" callback shorthand
+ * _.uniq([{ 'x': 1 }, { 'x': 2 }, { 'x': 1 }], 'x');
+ * // => [{ 'x': 1 }, { 'x': 2 }]
+ */
+function uniq(array, isSorted, callback, thisArg) {
+  // juggle arguments
+  if (typeof isSorted != 'boolean' && isSorted != null) {
+    thisArg = callback;
+    callback = (typeof isSorted != 'function' && thisArg && thisArg[isSorted] 
=== array) ? null : isSorted;
+    isSorted = false;
+  }
+  if (callback != null) {
+    callback = createCallback(callback, thisArg, 3);
+  }
+  return baseUniq(array, isSorted, callback);
+}
+
+module.exports = uniq;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/26cca47e/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/arrays/without.js
----------------------------------------------------------------------
diff --git 
a/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/arrays/without.js
 
b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/arrays/without.js
new file mode 100644
index 0000000..b42b19d
--- /dev/null
+++ 
b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/arrays/without.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'),
+    slice = require('../internals/slice');
+
+/**
+ * Creates an array excluding all provided values using strict equality for
+ * comparisons, i.e. `===`.
+ *
+ * @static
+ * @memberOf _
+ * @category Arrays
+ * @param {Array} array The array to filter.
+ * @param {...*} [value] The values to exclude.
+ * @returns {Array} Returns a new array of filtered values.
+ * @example
+ *
+ * _.without([1, 2, 1, 0, 3, 1, 4], 0, 1);
+ * // => [2, 3, 4]
+ */
+function without(array) {
+  return baseDifference(array, slice(arguments, 1));
+}
+
+module.exports = without;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/26cca47e/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/arrays/zip.js
----------------------------------------------------------------------
diff --git 
a/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/arrays/zip.js
 
b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/arrays/zip.js
new file mode 100644
index 0000000..080e7b6
--- /dev/null
+++ 
b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/arrays/zip.js
@@ -0,0 +1,39 @@
+/**
+ * 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 max = require('../collections/max'),
+    pluck = require('../collections/pluck');
+
+/**
+ * Creates an array of grouped elements, the first of which contains the first
+ * elements of the given arrays, the second of which contains the second
+ * elements of the given arrays, and so on.
+ *
+ * @static
+ * @memberOf _
+ * @alias unzip
+ * @category Arrays
+ * @param {...Array} [array] Arrays to process.
+ * @returns {Array} Returns a new array of grouped elements.
+ * @example
+ *
+ * _.zip(['fred', 'barney'], [30, 40], [true, false]);
+ * // => [['fred', 30, true], ['barney', 40, false]]
+ */
+function zip() {
+  var index = -1,
+      length = max(pluck(arguments, 'length')),
+      result = Array(length < 0 ? 0 : length);
+
+  while (++index < length) {
+    result[index] = pluck(arguments, index);
+  }
+  return result;
+}
+
+module.exports = zip;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/26cca47e/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/arrays/zipObject.js
----------------------------------------------------------------------
diff --git 
a/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/arrays/zipObject.js
 
b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/arrays/zipObject.js
new file mode 100644
index 0000000..6fbcdef
--- /dev/null
+++ 
b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/arrays/zipObject.js
@@ -0,0 +1,48 @@
+/**
+ * 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 isArray = require('../objects/isArray');
+
+/**
+ * Creates an object composed from arrays of `keys` and `values`. Provide
+ * either a single two dimensional array, i.e. `[[key1, value1], [key2, 
value2]]`
+ * or two arrays, one of `keys` and one of corresponding `values`.
+ *
+ * @static
+ * @memberOf _
+ * @alias object
+ * @category Arrays
+ * @param {Array} keys The array of keys.
+ * @param {Array} [values=[]] The array of values.
+ * @returns {Object} Returns an object composed of the given keys and
+ *  corresponding values.
+ * @example
+ *
+ * _.zipObject(['fred', 'barney'], [30, 40]);
+ * // => { 'fred': 30, 'barney': 40 }
+ */
+function zipObject(keys, values) {
+  var index = -1,
+      length = keys ? keys.length : 0,
+      result = {};
+
+  if (!values && length && !isArray(keys[0])) {
+    values = [];
+  }
+  while (++index < length) {
+    var key = keys[index];
+    if (values) {
+      result[key] = values[index];
+    } else if (key) {
+      result[key[0]] = key[1];
+    }
+  }
+  return result;
+}
+
+module.exports = zipObject;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/26cca47e/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/chaining.js
----------------------------------------------------------------------
diff --git 
a/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/chaining.js
 
b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/chaining.js
new file mode 100644
index 0000000..00bb0d7
--- /dev/null
+++ 
b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/chaining.js
@@ -0,0 +1,16 @@
+/**
+ * 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 = {
+  'chain': require('./chaining/chain'),
+  'tap': require('./chaining/tap'),
+  'value': require('./chaining/wrapperValueOf'),
+  'wrapperChain': require('./chaining/wrapperChain'),
+  'wrapperValueOf': require('./chaining/wrapperValueOf')
+};

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/26cca47e/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/chaining/chain.js
----------------------------------------------------------------------
diff --git 
a/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/chaining/chain.js
 
b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/chaining/chain.js
new file mode 100644
index 0000000..bce59d9
--- /dev/null
+++ 
b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/chaining/chain.js
@@ -0,0 +1,41 @@
+/**
+ * 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 lodashWrapper = require('../internals/lodashWrapper');
+
+/**
+ * Creates a `lodash` object that wraps the given value with explicit
+ * method chaining enabled.
+ *
+ * @static
+ * @memberOf _
+ * @category Chaining
+ * @param {*} value The value to wrap.
+ * @returns {Object} Returns the wrapper object.
+ * @example
+ *
+ * var characters = [
+ *   { 'name': 'barney',  'age': 36 },
+ *   { 'name': 'fred',    'age': 40 },
+ *   { 'name': 'pebbles', 'age': 1 }
+ * ];
+ *
+ * var youngest = _.chain(characters)
+ *     .sortBy('age')
+ *     .map(function(chr) { return chr.name + ' is ' + chr.age; })
+ *     .first()
+ *     .value();
+ * // => 'pebbles is 1'
+ */
+function chain(value) {
+  value = new lodashWrapper(value);
+  value.__chain__ = true;
+  return value;
+}
+
+module.exports = chain;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/26cca47e/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/chaining/tap.js
----------------------------------------------------------------------
diff --git 
a/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/chaining/tap.js
 
b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/chaining/tap.js
new file mode 100644
index 0000000..4f46c86
--- /dev/null
+++ 
b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/chaining/tap.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>
+ */
+
+/**
+ * Invokes `interceptor` with the `value` as the first argument and then
+ * returns `value`. The purpose of this method is to "tap into" a method
+ * chain in order to perform operations on intermediate results within
+ * the chain.
+ *
+ * @static
+ * @memberOf _
+ * @category Chaining
+ * @param {*} value The value to provide to `interceptor`.
+ * @param {Function} interceptor The function to invoke.
+ * @returns {*} Returns `value`.
+ * @example
+ *
+ * _([1, 2, 3, 4])
+ *  .tap(function(array) { array.pop(); })
+ *  .reverse()
+ *  .value();
+ * // => [3, 2, 1]
+ */
+function tap(value, interceptor) {
+  interceptor(value);
+  return value;
+}
+
+module.exports = tap;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/26cca47e/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/chaining/wrapperChain.js
----------------------------------------------------------------------
diff --git 
a/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/chaining/wrapperChain.js
 
b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/chaining/wrapperChain.js
new file mode 100644
index 0000000..7a88080
--- /dev/null
+++ 
b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/chaining/wrapperChain.js
@@ -0,0 +1,40 @@
+/**
+ * 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>
+ */
+
+/**
+ * Enables explicit method chaining on the wrapper object.
+ *
+ * @name chain
+ * @memberOf _
+ * @category Chaining
+ * @returns {*} Returns the wrapper object.
+ * @example
+ *
+ * var characters = [
+ *   { 'name': 'barney', 'age': 36 },
+ *   { 'name': 'fred',   'age': 40 }
+ * ];
+ *
+ * // without explicit chaining
+ * _(characters).first();
+ * // => { 'name': 'barney', 'age': 36 }
+ *
+ * // with explicit chaining
+ * _(characters).chain()
+ *   .first()
+ *   .pick('age')
+ *   .value();
+ * // => { 'age': 36 }
+ */
+function wrapperChain() {
+  this.__chain__ = true;
+  return this;
+}
+
+module.exports = wrapperChain;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/26cca47e/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/chaining/wrapperValueOf.js
----------------------------------------------------------------------
diff --git 
a/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/chaining/wrapperValueOf.js
 
b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/chaining/wrapperValueOf.js
new file mode 100644
index 0000000..541a489
--- /dev/null
+++ 
b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/chaining/wrapperValueOf.js
@@ -0,0 +1,29 @@
+/**
+ * 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 forEach = require('../collections/forEach'),
+    support = require('../support');
+
+/**
+ * Extracts the wrapped value.
+ *
+ * @name valueOf
+ * @memberOf _
+ * @alias value
+ * @category Chaining
+ * @returns {*} Returns the wrapped value.
+ * @example
+ *
+ * _([1, 2, 3]).valueOf();
+ * // => [1, 2, 3]
+ */
+function wrapperValueOf() {
+  return this.__wrapped__;
+}
+
+module.exports = wrapperValueOf;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/26cca47e/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/collections.js
----------------------------------------------------------------------
diff --git 
a/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/collections.js
 
b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/collections.js
new file mode 100644
index 0000000..83220bc
--- /dev/null
+++ 
b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/collections.js
@@ -0,0 +1,47 @@
+/**
+ * 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 = {
+  'all': require('./collections/every'),
+  'any': require('./collections/some'),
+  'collect': require('./collections/map'),
+  'contains': require('./collections/contains'),
+  'countBy': require('./collections/countBy'),
+  'detect': require('./collections/find'),
+  'each': require('./collections/forEach'),
+  'eachRight': require('./collections/forEachRight'),
+  'every': require('./collections/every'),
+  'filter': require('./collections/filter'),
+  'find': require('./collections/find'),
+  'findWhere': require('./collections/findWhere'),
+  'foldl': require('./collections/reduce'),
+  'foldr': require('./collections/reduceRight'),
+  'forEach': require('./collections/forEach'),
+  'forEachRight': require('./collections/forEachRight'),
+  'groupBy': require('./collections/groupBy'),
+  'include': require('./collections/contains'),
+  'indexBy': require('./collections/indexBy'),
+  'inject': require('./collections/reduce'),
+  'invoke': require('./collections/invoke'),
+  'map': require('./collections/map'),
+  'max': require('./collections/max'),
+  'min': require('./collections/min'),
+  'pluck': require('./collections/pluck'),
+  'reduce': require('./collections/reduce'),
+  'reduceRight': require('./collections/reduceRight'),
+  'reject': require('./collections/reject'),
+  'sample': require('./collections/sample'),
+  'select': require('./collections/filter'),
+  'shuffle': require('./collections/shuffle'),
+  'size': require('./collections/size'),
+  'some': require('./collections/some'),
+  'sortBy': require('./collections/sortBy'),
+  'toArray': require('./collections/toArray'),
+  'where': require('./collections/where')
+};

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/26cca47e/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/collections/contains.js
----------------------------------------------------------------------
diff --git 
a/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/collections/contains.js
 
b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/collections/contains.js
new file mode 100644
index 0000000..72a78b6
--- /dev/null
+++ 
b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/collections/contains.js
@@ -0,0 +1,54 @@
+/**
+ * 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'),
+    forOwn = require('../objects/forOwn'),
+    indicatorObject = require('../internals/indicatorObject');
+
+/**
+ * Checks if a given value is present in a collection using strict equality
+ * for comparisons, i.e. `===`. If `fromIndex` is negative, it is used as the
+ * offset from the end of the collection.
+ *
+ * @static
+ * @memberOf _
+ * @alias include
+ * @category Collections
+ * @param {Array|Object|string} collection The collection to iterate over.
+ * @param {*} target The value to check for.
+ * @param {number} [fromIndex=0] The index to search from.
+ * @returns {boolean} Returns `true` if the `target` element is found, else 
`false`.
+ * @example
+ *
+ * _.contains([1, 2, 3], 1);
+ * // => true
+ *
+ * _.contains([1, 2, 3], 1, 2);
+ * // => false
+ *
+ * _.contains({ 'name': 'fred', 'age': 40 }, 'fred');
+ * // => true
+ *
+ * _.contains('pebbles', 'eb');
+ * // => true
+ */
+function contains(collection, target) {
+  var indexOf = baseIndexOf,
+      length = collection ? collection.length : 0,
+      result = false;
+  if (length && typeof length == 'number') {
+    result = indexOf(collection, target) > -1;
+  } else {
+    forOwn(collection, function(value) {
+      return (result = value === target) && indicatorObject;
+    });
+  }
+  return result;
+}
+
+module.exports = contains;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/26cca47e/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/collections/countBy.js
----------------------------------------------------------------------
diff --git 
a/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/collections/countBy.js
 
b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/collections/countBy.js
new file mode 100644
index 0000000..6791bd2
--- /dev/null
+++ 
b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/collections/countBy.js
@@ -0,0 +1,55 @@
+/**
+ * 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 createAggregator = require('../internals/createAggregator');
+
+/** Used for native method references */
+var objectProto = Object.prototype;
+
+/** Native method shortcuts */
+var hasOwnProperty = objectProto.hasOwnProperty;
+
+/**
+ * Creates an object composed of keys generated from the results of running
+ * each element of `collection` through the callback. The corresponding value
+ * of each key is the number of times the key was returned by the callback.
+ * The callback is bound to `thisArg` and invoked with three arguments;
+ * (value, index|key, collection).
+ *
+ * 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 Collections
+ * @param {Array|Object|string} collection The collection 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 {Object} Returns the composed aggregate object.
+ * @example
+ *
+ * _.countBy([4.3, 6.1, 6.4], function(num) { return Math.floor(num); });
+ * // => { '4': 1, '6': 2 }
+ *
+ * _.countBy([4.3, 6.1, 6.4], function(num) { return this.floor(num); }, Math);
+ * // => { '4': 1, '6': 2 }
+ *
+ * _.countBy(['one', 'two', 'three'], 'length');
+ * // => { '3': 2, '5': 1 }
+ */
+var countBy = createAggregator(function(result, value, key) {
+  (hasOwnProperty.call(result, key) ? result[key]++ : result[key] = 1);
+});
+
+module.exports = countBy;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/26cca47e/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/collections/every.js
----------------------------------------------------------------------
diff --git 
a/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/collections/every.js
 
b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/collections/every.js
new file mode 100644
index 0000000..aa09512
--- /dev/null
+++ 
b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/collections/every.js
@@ -0,0 +1,75 @@
+/**
+ * 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'),
+    forOwn = require('../objects/forOwn'),
+    indicatorObject = require('../internals/indicatorObject');
+
+/**
+ * Checks if the given callback returns truey value for **all** elements of
+ * a collection. The callback is bound to `thisArg` and invoked with three
+ * arguments; (value, index|key, collection).
+ *
+ * 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 all
+ * @category Collections
+ * @param {Array|Object|string} collection The collection 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 {boolean} Returns `true` if all elements passed the callback check,
+ *  else `false`.
+ * @example
+ *
+ * _.every([true, 1, null, 'yes']);
+ * // => false
+ *
+ * var characters = [
+ *   { 'name': 'barney', 'age': 36 },
+ *   { 'name': 'fred',   'age': 40 }
+ * ];
+ *
+ * // using "_.pluck" callback shorthand
+ * _.every(characters, 'age');
+ * // => true
+ *
+ * // using "_.where" callback shorthand
+ * _.every(characters, { 'age': 36 });
+ * // => false
+ */
+function every(collection, callback, thisArg) {
+  var result = true;
+  callback = createCallback(callback, thisArg, 3);
+
+  var index = -1,
+      length = collection ? collection.length : 0;
+
+  if (typeof length == 'number') {
+    while (++index < length) {
+      if (!(result = !!callback(collection[index], index, collection))) {
+        break;
+      }
+    }
+  } else {
+    forOwn(collection, function(value, index, collection) {
+      return !(result = !!callback(value, index, collection)) && 
indicatorObject;
+    });
+  }
+  return result;
+}
+
+module.exports = every;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/26cca47e/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/collections/filter.js
----------------------------------------------------------------------
diff --git 
a/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/collections/filter.js
 
b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/collections/filter.js
new file mode 100644
index 0000000..5b96f19
--- /dev/null
+++ 
b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/collections/filter.js
@@ -0,0 +1,76 @@
+/**
+ * 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'),
+    forOwn = require('../objects/forOwn');
+
+/**
+ * Iterates over elements of a collection, returning an array of all elements
+ * the callback returns truey for. The callback is bound to `thisArg` and
+ * invoked with three arguments; (value, index|key, collection).
+ *
+ * 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 select
+ * @category Collections
+ * @param {Array|Object|string} collection The collection 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 array of elements that passed the callback 
check.
+ * @example
+ *
+ * var evens = _.filter([1, 2, 3, 4, 5, 6], function(num) { return num % 2 == 
0; });
+ * // => [2, 4, 6]
+ *
+ * var characters = [
+ *   { 'name': 'barney', 'age': 36, 'blocked': false },
+ *   { 'name': 'fred',   'age': 40, 'blocked': true }
+ * ];
+ *
+ * // using "_.pluck" callback shorthand
+ * _.filter(characters, 'blocked');
+ * // => [{ 'name': 'fred', 'age': 40, 'blocked': true }]
+ *
+ * // using "_.where" callback shorthand
+ * _.filter(characters, { 'age': 36 });
+ * // => [{ 'name': 'barney', 'age': 36, 'blocked': false }]
+ */
+function filter(collection, callback, thisArg) {
+  var result = [];
+  callback = createCallback(callback, thisArg, 3);
+
+  var index = -1,
+      length = collection ? collection.length : 0;
+
+  if (typeof length == 'number') {
+    while (++index < length) {
+      var value = collection[index];
+      if (callback(value, index, collection)) {
+        result.push(value);
+      }
+    }
+  } else {
+    forOwn(collection, function(value, index, collection) {
+      if (callback(value, index, collection)) {
+        result.push(value);
+      }
+    });
+  }
+  return result;
+}
+
+module.exports = filter;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/26cca47e/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/collections/find.js
----------------------------------------------------------------------
diff --git 
a/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/collections/find.js
 
b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/collections/find.js
new file mode 100644
index 0000000..beae5be
--- /dev/null
+++ 
b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/collections/find.js
@@ -0,0 +1,81 @@
+/**
+ * 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'),
+    forOwn = require('../objects/forOwn'),
+    indicatorObject = require('../internals/indicatorObject');
+
+/**
+ * Iterates over elements of a collection, returning the first element that
+ * the callback returns truey for. The callback is bound to `thisArg` and
+ * invoked with three arguments; (value, index|key, collection).
+ *
+ * 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 detect, findWhere
+ * @category Collections
+ * @param {Array|Object|string} collection The collection 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 {*} Returns the found element, else `undefined`.
+ * @example
+ *
+ * var characters = [
+ *   { 'name': 'barney',  'age': 36, 'blocked': false },
+ *   { 'name': 'fred',    'age': 40, 'blocked': true },
+ *   { 'name': 'pebbles', 'age': 1,  'blocked': false }
+ * ];
+ *
+ * _.find(characters, function(chr) {
+ *   return chr.age < 40;
+ * });
+ * // => { 'name': 'barney', 'age': 36, 'blocked': false }
+ *
+ * // using "_.where" callback shorthand
+ * _.find(characters, { 'age': 1 });
+ * // =>  { 'name': 'pebbles', 'age': 1, 'blocked': false }
+ *
+ * // using "_.pluck" callback shorthand
+ * _.find(characters, 'blocked');
+ * // => { 'name': 'fred', 'age': 40, 'blocked': true }
+ */
+function find(collection, callback, thisArg) {
+  callback = createCallback(callback, thisArg, 3);
+
+  var index = -1,
+      length = collection ? collection.length : 0;
+
+  if (typeof length == 'number') {
+    while (++index < length) {
+      var value = collection[index];
+      if (callback(value, index, collection)) {
+        return value;
+      }
+    }
+  } else {
+    var result;
+    forOwn(collection, function(value, index, collection) {
+      if (callback(value, index, collection)) {
+        result = value;
+        return indicatorObject;
+      }
+    });
+    return result;
+  }
+}
+
+module.exports = find;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/26cca47e/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/collections/findWhere.js
----------------------------------------------------------------------
diff --git 
a/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/collections/findWhere.js
 
b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/collections/findWhere.js
new file mode 100644
index 0000000..5ef75f6
--- /dev/null
+++ 
b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/collections/findWhere.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>
+ */
+var where = require('./where');
+
+/**
+ * Examines each element in a `collection`, returning the first that
+ * has the given properties. When checking `properties`, this method
+ * performs a deep comparison between values to determine if they are
+ * equivalent to each other.
+ *
+ * @static
+ * @memberOf _
+ * @category Collections
+ * @param {Array|Object|string} collection The collection to iterate over.
+ * @param {Object} properties The object of property values to filter by.
+ * @returns {*} Returns the found element, else `undefined`.
+ * @example
+ *
+ * var food = [
+ *   { 'name': 'apple',  'organic': false, 'type': 'fruit' },
+ *   { 'name': 'banana', 'organic': true,  'type': 'fruit' },
+ *   { 'name': 'beet',   'organic': false, 'type': 'vegetable' }
+ * ];
+ *
+ * _.findWhere(food, { 'type': 'vegetable' });
+ * // => { 'name': 'beet', 'organic': false, 'type': 'vegetable' }
+ */
+function findWhere(object, properties) {
+  return where(object, properties, true);
+}
+
+module.exports = findWhere;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/26cca47e/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/collections/forEach.js
----------------------------------------------------------------------
diff --git 
a/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/collections/forEach.js
 
b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/collections/forEach.js
new file mode 100644
index 0000000..8e1e2be
--- /dev/null
+++ 
b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/collections/forEach.js
@@ -0,0 +1,55 @@
+/**
+ * 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 baseCreateCallback = require('../internals/baseCreateCallback'),
+    forOwn = require('../objects/forOwn'),
+    indicatorObject = require('../internals/indicatorObject');
+
+/**
+ * Iterates over elements of a collection, executing the callback for each
+ * element. The callback is bound to `thisArg` and invoked with three 
arguments;
+ * (value, index|key, collection). Callbacks may exit iteration early by
+ * explicitly returning `false`.
+ *
+ * Note: As with other "Collections" methods, objects with a `length` property
+ * are iterated like arrays. To avoid this behavior `_.forIn` or `_.forOwn`
+ * may be used for object iteration.
+ *
+ * @static
+ * @memberOf _
+ * @alias each
+ * @category Collections
+ * @param {Array|Object|string} collection The collection to iterate over.
+ * @param {Function} [callback=identity] The function called per iteration.
+ * @param {*} [thisArg] The `this` binding of `callback`.
+ * @returns {Array|Object|string} Returns `collection`.
+ * @example
+ *
+ * _([1, 2, 3]).forEach(function(num) { console.log(num); }).join(',');
+ * // => logs each number and returns '1,2,3'
+ *
+ * _.forEach({ 'one': 1, 'two': 2, 'three': 3 }, function(num) { 
console.log(num); });
+ * // => logs each number and returns the object (property order is not 
guaranteed across environments)
+ */
+function forEach(collection, callback, thisArg) {
+  var index = -1,
+      length = collection ? collection.length : 0;
+
+  callback = callback && typeof thisArg == 'undefined' ? callback : 
baseCreateCallback(callback, thisArg, 3);
+  if (typeof length == 'number') {
+    while (++index < length) {
+      if (callback(collection[index], index, collection) === indicatorObject) {
+        break;
+      }
+    }
+  } else {
+    forOwn(collection, callback);
+  }
+}
+
+module.exports = forEach;

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/26cca47e/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/collections/forEachRight.js
----------------------------------------------------------------------
diff --git 
a/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/collections/forEachRight.js
 
b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/collections/forEachRight.js
new file mode 100644
index 0000000..1cf6173
--- /dev/null
+++ 
b/bin/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/underscore/collections/forEachRight.js
@@ -0,0 +1,51 @@
+/**
+ * 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 baseCreateCallback = require('../internals/baseCreateCallback'),
+    forOwn = require('../objects/forOwn'),
+    indicatorObject = require('../internals/indicatorObject'),
+    isArray = require('../objects/isArray'),
+    isString = require('../objects/isString'),
+    keys = require('../objects/keys');
+
+/**
+ * This method is like `_.forEach` except that it iterates over elements
+ * of a `collection` from right to left.
+ *
+ * @static
+ * @memberOf _
+ * @alias eachRight
+ * @category Collections
+ * @param {Array|Object|string} collection The collection to iterate over.
+ * @param {Function} [callback=identity] The function called per iteration.
+ * @param {*} [thisArg] The `this` binding of `callback`.
+ * @returns {Array|Object|string} Returns `collection`.
+ * @example
+ *
+ * _([1, 2, 3]).forEachRight(function(num) { console.log(num); }).join(',');
+ * // => logs each number from right to left and returns '3,2,1'
+ */
+function forEachRight(collection, callback) {
+  var length = collection ? collection.length : 0;
+  if (typeof length == 'number') {
+    while (length--) {
+      if (callback(collection[length], length, collection) === false) {
+        break;
+      }
+    }
+  } else {
+    var props = keys(collection);
+    length = props.length;
+    forOwn(collection, function(value, key, collection) {
+      key = props ? props[--length] : --length;
+      return callback(collection[key], key, collection) === false && 
indicatorObject;
+    });
+  }
+}
+
+module.exports = forEachRight;


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to