Repository: cordova-windows
Updated Branches:
  refs/heads/master a4dbb5c30 -> 57df16dd7


CB-10622 Upgrade cordova-common to work with 'target'-defined icons


Project: http://git-wip-us.apache.org/repos/asf/cordova-windows/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-windows/commit/57df16dd
Tree: http://git-wip-us.apache.org/repos/asf/cordova-windows/tree/57df16dd
Diff: http://git-wip-us.apache.org/repos/asf/cordova-windows/diff/57df16dd

Branch: refs/heads/master
Commit: 57df16dd72722590a8181be995914301f0777f46
Parents: a4dbb5c
Author: Vladimir Kotikov <kotikov.vladi...@gmail.com>
Authored: Fri Apr 1 10:00:15 2016 +0300
Committer: Vladimir Kotikov <kotikov.vladi...@gmail.com>
Committed: Fri Apr 1 14:11:38 2016 +0300

----------------------------------------------------------------------
 node_modules/cordova-common/RELEASENOTES.md     |   9 ++
 .../node_modules/big-integer/BigInteger.js      |  10 +-
 .../node_modules/big-integer/BigInteger.min.js  |   2 +-
 .../node_modules/big-integer/LICENSE            |  24 +++++
 .../node_modules/big-integer/package.json       |  18 ++--
 .../plist/node_modules/xmlbuilder/package.json  |   5 +-
 node_modules/cordova-common/package.json        |  54 ++++++++--
 .../src/ConfigParser/ConfigParser.js            |   1 +
 .../cordova-common/src/CordovaLogger.js         |  17 ++++
 .../cordova-common/src/PluginInfo/PluginInfo.js |  16 ++-
 .../cordova-common/src/util/xml-helpers.js      |  27 ++++-
 package.json                                    | 100 +++++++++----------
 12 files changed, 196 insertions(+), 87 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/57df16dd/node_modules/cordova-common/RELEASENOTES.md
----------------------------------------------------------------------
diff --git a/node_modules/cordova-common/RELEASENOTES.md 
b/node_modules/cordova-common/RELEASENOTES.md
index e7db69c..806b6f2 100644
--- a/node_modules/cordova-common/RELEASENOTES.md
+++ b/node_modules/cordova-common/RELEASENOTES.md
@@ -20,6 +20,15 @@
 -->
 # Cordova-common Release Notes
 
+### 1.1.1 (Mar 18, 2016)
+* CB-10694 Update test to reflect merging of CB-9264 fix
+* CB-10694 Platform-specific configuration preferences don't override global 
settings
+* CB-9264 Duplicate entries in `config.xml`
+* CB-10791 Add `adjustLoggerLevel` to `cordova-common.CordovaLogger`
+* CB-10662 Add tests for `ConfigParser.getStaticResources`
+* CB-10622 fix target attribute being ignored for images in `config.xml`.
+* CB-10583 Protect plugin preferences from adding extra Array properties.
+
 ### 1.1.0 (Feb 16, 2016)
 * CB-10482 Remove references to windows8 from cordova-lib/cli
 * CB-10430 Adds forwardEvents method to easily connect two EventEmitters

http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/57df16dd/node_modules/cordova-common/node_modules/bplist-parser/node_modules/big-integer/BigInteger.js
----------------------------------------------------------------------
diff --git 
a/node_modules/cordova-common/node_modules/bplist-parser/node_modules/big-integer/BigInteger.js
 
b/node_modules/cordova-common/node_modules/bplist-parser/node_modules/big-integer/BigInteger.js
index 8c06143..afe987d 100644
--- 
a/node_modules/cordova-common/node_modules/bplist-parser/node_modules/big-integer/BigInteger.js
+++ 
b/node_modules/cordova-common/node_modules/bplist-parser/node_modules/big-integer/BigInteger.js
@@ -345,20 +345,20 @@ var bigInt = (function (undefined) {
         }
         return new BigInteger(multiplyLong(b, smallToArray(a)), sign);
     }
-    SmallInteger.prototype["_multiplyBySmall"] = function (a) {
+    SmallInteger.prototype._multiplyBySmall = function (a) {
             if (isPrecise(a.value * this.value)) {
                 return new SmallInteger(a.value * this.value);
             }
             return multiplySmallAndArray(Math.abs(a.value), 
smallToArray(Math.abs(this.value)), this.sign !== a.sign);
     };
-    BigInteger.prototype["_multiplyBySmall"] = function (a) {
+    BigInteger.prototype._multiplyBySmall = function (a) {
             if (a.value === 0) return CACHE[0];
             if (a.value === 1) return this;
             if (a.value === -1) return this.negate();
             return multiplySmallAndArray(Math.abs(a.value), this.value, 
this.sign !== a.sign);
     };
     SmallInteger.prototype.multiply = function (v) {
-        return parseValue(v)["_multiplyBySmall"](this);
+        return parseValue(v)._multiplyBySmall(this);
     };
     SmallInteger.prototype.times = SmallInteger.prototype.multiply;
 
@@ -776,7 +776,7 @@ var bigInt = (function (undefined) {
         if (n.isEven() || n.isDivisibleBy(3) || n.isDivisibleBy(5)) return 
false;
         if (n.lesser(25)) return true;
         // we don't know if it's prime: let the other functions figure it out
-    };
+    }
 
     BigInteger.prototype.isPrime = function () {
         var isPrime = isBasicPrime(this);
@@ -1117,7 +1117,7 @@ var bigInt = (function (undefined) {
             var sign = v[0] === "-";
             if (sign) v = v.slice(1);
             var split = v.split(/e/i);
-            if (split.length > 2) throw new Error("Invalid integer: " + 
text.join("e"));
+            if (split.length > 2) throw new Error("Invalid integer: " + 
split.join("e"));
             if (split.length === 2) {
                 var exp = split[1];
                 if (exp[0] === "+") exp = exp.slice(1);

http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/57df16dd/node_modules/cordova-common/node_modules/bplist-parser/node_modules/big-integer/BigInteger.min.js
----------------------------------------------------------------------
diff --git 
a/node_modules/cordova-common/node_modules/bplist-parser/node_modules/big-integer/BigInteger.min.js
 
b/node_modules/cordova-common/node_modules/bplist-parser/node_modules/big-integer/BigInteger.min.js
index 53480ea..ee3d343 100644
--- 
a/node_modules/cordova-common/node_modules/bplist-parser/node_modules/big-integer/BigInteger.min.js
+++ 
b/node_modules/cordova-common/node_modules/bplist-parser/node_modules/big-integer/BigInteger.min.js
@@ -1 +1 @@
-var bigInt=function(e){"use strict";function 
o(e,t){this.value=e,this.sign=t,this.isSmall=!1}function 
u(e){this.value=e,this.sign=e<0,this.isSmall=!0}function 
a(e){return-r<e&&e<r}function f(e){return 
e<1e7?[e]:e<1e14?[e%1e7,Math.floor(e/1e7)]:[e%1e7,Math.floor(e/1e7)%1e7,Math.floor(e/1e14)]}function
 l(e){c(e);var n=e.length;if(n<4&&M(e,i)<0)switch(n){case 0:return 0;case 
1:return e[0];case 2:return e[0]+e[1]*t;default:return 
e[0]+(e[1]+e[2]*t)*t}return e}function c(e){var 
t=e.length;while(e[--t]===0);e.length=t+1}function h(e){var t=new 
Array(e),n=-1;while(++n<e)t[n]=0;return t}function p(e){return 
e>0?Math.floor(e):Math.ceil(e)}function d(e,n){var r=e.length,i=n.length,s=new 
Array(r),o=0,u=t,a,f;for(f=0;f<i;f++)a=e[f]+n[f]+o,o=a>=u?1:0,s[f]=a-o*u;while(f<r)a=e[f]+o,o=a===u?1:0,s[f++]=a-o*u;return
 o>0&&s.push(o),s}function v(e,t){return 
e.length>=t.length?d(e,t):d(t,e)}function m(e,n){var r=e.length,i=new 
Array(r),s=t,o,u;for(u=0;u<r;u++)o=e[u]-s+n,n=Math.floor(o/s),i[u]=o-n*s,n+=1
 ;while(n>0)i[u++]=n%s,n=Math.floor(n/s);return i}function g(e,n){var 
r=e.length,i=n.length,s=new 
Array(r),o=0,u=t,a,f;for(a=0;a<i;a++)f=e[a]-o-n[a],f<0?(f+=u,o=1):o=0,s[a]=f;for(a=i;a<r;a++){f=e[a]-o;if(!(f<0)){s[a++]=f;break}f+=u,s[a]=f}for(;a<r;a++)s[a]=e[a];return
 c(s),s}function y(e,t,n){var r,i;return 
M(e,t)>=0?r=g(e,t):(r=g(t,e),n=!n),r=l(r),typeof r=="number"?(n&&(r=-r),new 
u(r)):new o(r,n)}function b(e,n,r){var i=e.length,s=new 
Array(i),a=-n,f=t,c,h;for(c=0;c<i;c++)h=e[c]+a,a=Math.floor(h/f),h%=f,s[c]=h<0?h+f:h;return
 s=l(s),typeof s=="number"?(r&&(s=-s),new u(s)):new o(s,r)}function w(e,n){var 
r=e.length,i=n.length,s=r+i,o=h(s),u=t,a,f,l,p,d;for(l=0;l<r;++l){p=e[l];for(var
 
v=0;v<i;++v)d=n[v],a=p*d+o[l+v],f=Math.floor(a/u),o[l+v]=a-f*u,o[l+v+1]+=f}return
 c(o),o}function E(e,n){var r=e.length,i=new 
Array(r),s=t,o=0,u,a;for(a=0;a<r;a++)u=e[a]*n+o,o=Math.floor(u/s),i[a]=u-o*s;while(o>0)i[a++]=o%s,o=Math.floor(o/s);return
 i}function S(e,t){var n=[];while(t-->0)n.push(0);return n
 .concat(e)}function x(e,t){var n=Math.max(e.length,t.length);if(n<=30)return 
w(e,t);n=Math.ceil(n/2);var 
r=e.slice(n),i=e.slice(0,n),s=t.slice(n),o=t.slice(0,n),u=x(i,o),a=x(r,s),f=x(v(i,r),v(o,s)),l=v(v(u,S(g(g(f,u),a),n)),S(a,2*n));return
 c(l),l}function T(e,t){return-0.012*e-.012*t+15e-6*e*t>0}function 
N(e,n,r){return e<t?new o(E(n,e),r):new o(w(n,f(e)),r)}function C(e){var 
n=e.length,r=h(n+n),i=t,s,o,u,a,f;for(u=0;u<n;u++){a=e[u];for(var 
l=0;l<n;l++)f=e[l],s=a*f+r[u+l],o=Math.floor(s/i),r[u+l]=s-o*i,r[u+l+1]+=o}return
 c(r),r}function k(e,n){var 
r=e.length,i=n.length,s=t,o=h(n.length),u=n[i-1],a=Math.ceil(s/(2*u)),f=E(e,a),c=E(n,a),p,d,v,m,g,y,b;f.length<=r&&f.push(0),c.push(0),u=c[i-1];for(d=r-i;d>=0;d--){p=s-1,f[d+i]!==u&&(p=Math.floor((f[d+i]*s+f[d+i-1])/u)),v=0,m=0,y=c.length;for(g=0;g<y;g++)v+=p*c[g],b=Math.floor(v/s),m+=f[d+g]-(v-b*s),v=b,m<0?(f[d+g]=m+s,m=-1):(f[d+g]=m,m=0);while(m!==0){p-=1,v=0;for(g=0;g<y;g++)v+=f[d+g]-s+c[g],v<0?(f[d+g]=v+s,v=0):(f[d+g]=v,v=1);m+=v}o[d]
 =p}return f=A(f,a)[0],[l(o),l(f)]}function L(e,n){var 
r=e.length,i=n.length,s=[],o=[],u=t,a,f,c,h,p;while(r){o.unshift(e[--r]);if(M(o,n)<0){s.push(0);continue}f=o.length,c=o[f-1]*u+o[f-2],h=n[i-1]*u+n[i-2],f>i&&(c=(c+1)*u),a=Math.ceil(c/h);do{p=E(n,a);if(M(p,o)<=0)break;a--}while(a);s.push(a),o=g(o,p)}return
 s.reverse(),[l(s),l(o)]}function A(e,n){var 
r=e.length,i=h(r),s=t,o,u,a,f;a=0;for(o=r-1;o>=0;--o)f=a*s+e[o],u=p(f/n),a=f-u*n,i[o]=u|0;return[i,a|0]}function
 O(e,n){var r,i=G(n),s=e.value,a=i.value,c;if(a===0)throw new Error("Cannot 
divide by zero");if(e.isSmall)return i.isSmall?[new u(p(s/a)),new 
u(s%a)]:[Y[0],e];if(i.isSmall){if(a===1)return[e,Y[0]];if(a==-1)return[e.negate(),Y[0]];var
 h=Math.abs(a);if(h<t){r=A(s,h),c=l(r[0]);var d=r[1];return 
e.sign&&(d=-d),typeof c=="number"?(e.sign!==i.sign&&(c=-c),[new u(c),new 
u(d)]):[new o(c,e.sign!==i.sign),new u(d)]}a=f(h)}var 
v=M(s,a);if(v===-1)return[Y[0],e];if(v===0)return[Y[e.sign===i.sign?1:-1],Y[0]];s.length+a.length<=200?r=k(s,a)
 :r=L(s,a),c=r[0];var m=e.sign!==i.sign,g=r[1],y=e.sign;return typeof 
c=="number"?(m&&(c=-c),c=new u(c)):c=new o(c,m),typeof 
g=="number"?(y&&(g=-g),g=new u(g)):g=new o(g,y),[c,g]}function 
M(e,t){if(e.length!==t.length)return e.length>t.length?1:-1;for(var 
n=e.length-1;n>=0;n--)if(e[n]!==t[n])return e[n]>t[n]?1:-1;return 0}function 
_(e){var 
t=e.abs();if(t.isUnit())return!1;if(t.equals(2)||t.equals(3)||t.equals(5))return!0;if(t.isEven()||t.isDivisibleBy(3)||t.isDivisibleBy(5))return!1;if(t.lesser(25))return!0}function
 B(e){return(typeof e=="number"||typeof e=="string")&&+Math.abs(e)<=t||e 
instanceof o&&e.value.length<=1}function j(e,t,n){t=G(t);var 
r=e.isNegative(),i=t.isNegative(),s=r?e.not():e,o=i?t.not():t,u=[],a=[],f=!1,l=!1;while(!f||!l)s.isZero()?(f=!0,u.push(r?1:0)):r?u.push(s.isEven()?1:0):u.push(s.isEven()?0:1),o.isZero()?(l=!0,a.push(i?1:0)):i?a.push(o.isEven()?1:0):a.push(o.isEven()?0:1),s=s.over(2),o=o.over(2);var
 c=[];for(var h=0;h<u.length;h++)c.push(n(u[h],a[h]));var p=b
 
igInt(c.pop()).negate().times(bigInt(2).pow(c.length));while(c.length)p=p.add(bigInt(c.pop()).times(bigInt(2).pow(c.length)));return
 p}function q(e){var n=e.value,r=typeof n=="number"?n|F:n[0]+n[1]*t|I;return 
r&-r}function R(e,t){return e=G(e),t=G(t),e.greater(t)?e:t}function 
U(e,t){return e=G(e),t=G(t),e.lesser(t)?e:t}function 
z(e,t){e=G(e).abs(),t=G(t).abs();if(e.equals(t))return e;if(e.isZero())return 
t;if(t.isZero())return e;var 
n=Y[1],r,i;while(e.isEven()&&t.isEven())r=Math.min(q(e),q(t)),e=e.divide(r),t=t.divide(r),n=n.multiply(r);while(e.isEven())e=e.divide(q(e));do{while(t.isEven())t=t.divide(q(t));e.greater(t)&&(i=t,t=e,e=i),t=t.subtract(e)}while(!t.isZero());return
 n.isUnit()?e:e.multiply(n)}function W(e,t){return 
e=G(e).abs(),t=G(t).abs(),e.divide(z(e,t)).multiply(t)}function 
X(e,n){e=G(e),n=G(n);var r=U(e,n),i=R(e,n),s=i.subtract(r);if(s.isSmall)return 
r.add(Math.round(Math.random()*s));var a=s.value.length-1,f=[],c=!0;for(var 
h=a;h>=0;h--){var d=c?s.value[h]:t,v=p(Math.
 random()*d);f.unshift(v),v<d&&(c=!1)}return f=l(f),r.add(typeof 
f=="number"?new u(f):new o(f,!1))}function $(e){var t=e.value;return typeof 
t=="number"&&(t=[t]),t.length===1&&t[0]<=35?"0123456789abcdefghijklmnopqrstuvwxyz".charAt(t[0]):"<"+t+">"}function
 J(e,t){t=bigInt(t);if(t.isZero()){if(e.isZero())return"0";throw new 
Error("Cannot convert nonzero numbers to base 0.")}if(t.equals(-1))return 
e.isZero()?"0":e.isNegative()?(new Array(1-e)).join("10"):"1"+(new 
Array(+e)).join("01");var 
n="";e.isNegative()&&t.isPositive()&&(n="-",e=e.abs());if(t.equals(1))return 
e.isZero()?"0":n+(new Array(+e+1)).join(1);var 
r=[],i=e,s;while(i.isNegative()||i.compareAbs(t)>=0){s=i.divmod(t),i=s.quotient;var
 
o=s.remainder;o.isNegative()&&(o=t.minus(o).abs(),i=i.next()),r.push($(o))}return
 r.push($(i)),n+r.reverse().join("")}function K(e){if(a(+e)){var 
t=+e;if(t===p(t))return new u(t);throw"Invalid integer: "+e}var 
r=e[0]==="-";r&&(e=e.slice(1));var i=e.split(/e/i);if(i.length>2)throw new 
Error("Invalid
  integer: "+f.join("e"));if(i.length===2){var 
s=i[1];s[0]==="+"&&(s=s.slice(1)),s=+s;if(s!==p(s)||!a(s))throw new 
Error("Invalid integer: "+s+" is not a valid exponent.");var 
f=i[0],l=f.indexOf(".");l>=0&&(s-=f.length-l-1,f=f.slice(0,l)+f.slice(l+1));if(s<0)throw
 new Error("Cannot include negative exponent part for integers");f+=(new 
Array(s+1)).join("0"),e=f}var h=/^([0-9][0-9]*)$/.test(e);if(!h)throw new 
Error("Invalid integer: "+e);var 
d=[],v=e.length,m=n,g=v-m;while(v>0)d.push(+e.slice(g,v)),g-=m,g<0&&(g=0),v-=m;return
 c(d),new o(d,r)}function Q(e){return a(e)?new u(e):K(e.toString())}function 
G(e){return typeof e=="number"?Q(e):typeof e=="string"?K(e):e}var 
t=1e7,n=7,r=9007199254740992,i=f(r),s=Math.log(r);o.prototype.add=function(e){var
 t,n=G(e);if(this.sign!==n.sign)return this.subtract(n.negate());var 
r=this.value,i=n.value;return n.isSmall?new o(m(r,Math.abs(i)),this.sign):new 
o(v(r,i),this.sign)},o.prototype.plus=o.prototype.add,u.prototype.add=function(e){var
 t=G(e),n=thi
 s.value;if(n<0!==t.sign)return this.subtract(t.negate());var 
r=t.value;if(t.isSmall){if(a(n+r))return new u(n+r);r=f(Math.abs(r))}return new 
o(m(r,Math.abs(n)),n<0)},u.prototype.plus=u.prototype.add,o.prototype.subtract=function(e){var
 t=G(e);if(this.sign!==t.sign)return this.add(t.negate());var 
n=this.value,r=t.value;return 
t.isSmall?b(n,Math.abs(r),this.sign):y(n,r,this.sign)},o.prototype.minus=o.prototype.subtract,u.prototype.subtract=function(e){var
 t=G(e),n=this.value;if(n<0!==t.sign)return this.add(t.negate());var 
r=t.value;return t.isSmall?new 
u(n-r):b(r,Math.abs(n),n>=0)},u.prototype.minus=u.prototype.subtract,o.prototype.negate=function(){return
 new o(this.value,!this.sign)},u.prototype.negate=function(){var 
e=this.sign,t=new u(-this.value);return 
t.sign=!e,t},o.prototype.abs=function(){return new 
o(this.value,!1)},u.prototype.abs=function(){return new 
u(Math.abs(this.value))},o.prototype.multiply=function(e){var 
n,r=G(e),i=this.value,s=r.value,u=this.sign!==r.sign,a;if(r.i
 sSmall){if(s===0)return Y[0];if(s===1)return this;if(s===-1)return 
this.negate();a=Math.abs(s);if(a<t)return new o(E(i,a),u);s=f(a)}return 
T(i.length,s.length)?new o(x(i,s),u):new 
o(w(i,s),u)},o.prototype.times=o.prototype.multiply,u.prototype._multiplyBySmall=function(e){return
 a(e.value*this.value)?new 
u(e.value*this.value):N(Math.abs(e.value),f(Math.abs(this.value)),this.sign!==e.sign)},o.prototype._multiplyBySmall=function(e){return
 
e.value===0?Y[0]:e.value===1?this:e.value===-1?this.negate():N(Math.abs(e.value),this.value,this.sign!==e.sign)},u.prototype.multiply=function(e){return
 
G(e)._multiplyBySmall(this)},u.prototype.times=u.prototype.multiply,o.prototype.square=function(){return
 new o(C(this.value),!1)},u.prototype.square=function(){var 
e=this.value*this.value;return a(e)?new u(e):new 
o(C(f(Math.abs(this.value))),!1)},o.prototype.divmod=function(e){var 
t=O(this,e);return{quotient:t[0],remainder:t[1]}},u.prototype.divmod=o.prototype.divmod,o.prototype.divide=function(e){re
 turn 
O(this,e)[0]},u.prototype.over=u.prototype.divide=o.prototype.over=o.prototype.divide,o.prototype.mod=function(e){return
 
O(this,e)[1]},u.prototype.remainder=u.prototype.mod=o.prototype.remainder=o.prototype.mod,o.prototype.pow=function(e){var
 t=G(e),n=this.value,r=t.value,i,s,o;if(r===0)return Y[1];if(n===0)return 
Y[0];if(n===1)return Y[1];if(n===-1)return 
t.isEven()?Y[1]:Y[-1];if(t.sign)return Y[0];if(!t.isSmall)throw new Error("The 
exponent "+t.toString()+" is too 
large.");if(this.isSmall&&a(i=Math.pow(n,r)))return new 
u(p(i));s=this,o=Y[1];for(;;){r&!0&&(o=o.times(s),--r);if(r===0)break;r/=2,s=s.square()}return
 
o},u.prototype.pow=o.prototype.pow,o.prototype.modPow=function(e,t){e=G(e),t=G(t);if(t.isZero())throw
 new Error("Cannot take modPow with modulus 0");var 
n=Y[1],r=this.mod(t);while(e.isPositive()){if(r.isZero())return 
Y[0];e.isOdd()&&(n=n.multiply(r).mod(t)),e=e.divide(2),r=r.square().mod(t)}return
 n},u.prototype.modPow=o.prototype.modPow,o.prototype.compareAbs=functio
 n(e){var t=G(e),n=this.value,r=t.value;return 
t.isSmall?1:M(n,r)},u.prototype.compareAbs=function(e){var 
t=G(e),n=Math.abs(this.value),r=t.value;return 
t.isSmall?(r=Math.abs(r),n===r?0:n>r?1:-1):-1},o.prototype.compare=function(e){if(e===Infinity)return-1;if(e===-Infinity)return
 1;var t=G(e),n=this.value,r=t.value;return 
this.sign!==t.sign?t.sign?1:-1:t.isSmall?this.sign?-1:1:M(n,r)*(this.sign?-1:1)},o.prototype.compareTo=o.prototype.compare,u.prototype.compare=function(e){if(e===Infinity)return-1;if(e===-Infinity)return
 1;var t=G(e),n=this.value,r=t.value;return 
t.isSmall?n==r?0:n>r?1:-1:n<0!==t.sign?n<0?-1:1:n<0?1:-1},u.prototype.compareTo=u.prototype.compare,o.prototype.equals=function(e){return
 
this.compare(e)===0},u.prototype.eq=u.prototype.equals=o.prototype.eq=o.prototype.equals,o.prototype.notEquals=function(e){return
 
this.compare(e)!==0},u.prototype.neq=u.prototype.notEquals=o.prototype.neq=o.prototype.notEquals,o.prototype.greater=function(e){return
 this.compare(e)>0},u.pr
 
ototype.gt=u.prototype.greater=o.prototype.gt=o.prototype.greater,o.prototype.lesser=function(e){return
 
this.compare(e)<0},u.prototype.lt=u.prototype.lesser=o.prototype.lt=o.prototype.lesser,o.prototype.greaterOrEquals=function(e){return
 
this.compare(e)>=0},u.prototype.geq=u.prototype.greaterOrEquals=o.prototype.geq=o.prototype.greaterOrEquals,o.prototype.lesserOrEquals=function(e){return
 
this.compare(e)<=0},u.prototype.leq=u.prototype.lesserOrEquals=o.prototype.leq=o.prototype.lesserOrEquals,o.prototype.isEven=function(){return(this.value[0]&1)===0},u.prototype.isEven=function(){return(this.value&1)===0},o.prototype.isOdd=function(){return(this.value[0]&1)===1},u.prototype.isOdd=function(){return(this.value&1)===1},o.prototype.isPositive=function(){return!this.sign},u.prototype.isPositive=function(){return
 this.value>0},o.prototype.isNegative=function(){return 
this.sign},u.prototype.isNegative=function(){return 
this.value<0},o.prototype.isUnit=function(){return!1},u.prototype.isUni
 t=function(){return 
Math.abs(this.value)===1},o.prototype.isZero=function(){return!1},u.prototype.isZero=function(){return
 this.value===0},o.prototype.isDivisibleBy=function(e){var 
t=G(e),n=t.value;return 
n===0?!1:n===1?!0:n===2?this.isEven():this.mod(t).equals(Y[0])},u.prototype.isDivisibleBy=o.prototype.isDivisibleBy,o.prototype.isPrime=function(){var
 t=_(this);if(t!==e)return t;var 
n=this.abs(),r=n.prev(),i=[2,3,5,7,11,13,17,19],s=r,o,u,a,f;while(s.isEven())s=s.divide(2);for(a=0;a<i.length;a++){f=bigInt(i[a]).modPow(s,n);if(f.equals(Y[1])||f.equals(r))continue;for(u=!0,o=s;u&&o.lesser(r);o=o.multiply(2))f=f.square().mod(n),f.equals(r)&&(u=!1);if(u)return!1}return!0},u.prototype.isPrime=o.prototype.isPrime,o.prototype.isProbablePrime=function(t){var
 n=_(this);if(n!==e)return n;var r=this.abs(),i=t===e?5:t;for(var 
s=0;s<i;s++){var 
o=bigInt.randBetween(2,r.minus(2));if(!o.modPow(r.prev(),r).isUnit())return!1}return!0},u.prototype.isProbablePrime=o.prototype.isProbablePrime,o.prototy
 pe.next=function(){var e=this.value;return this.sign?b(e,1,this.sign):new 
o(m(e,1),this.sign)},u.prototype.next=function(){var e=this.value;return 
e+1<r?new u(e+1):new o(i,!1)},o.prototype.prev=function(){var 
e=this.value;return this.sign?new 
o(m(e,1),!0):b(e,1,this.sign)},u.prototype.prev=function(){var 
e=this.value;return e-1>-r?new u(e-1):new o(i,!0)};var 
D=[1];while(D[D.length-1]<=t)D.push(2*D[D.length-1]);var 
P=D.length,H=D[P-1];o.prototype.shiftLeft=function(e){if(!B(e))throw new 
Error(String(e)+" is too large for shifting.");e=+e;if(e<0)return 
this.shiftRight(-e);var t=this;while(e>=P)t=t.multiply(H),e-=P-1;return 
t.multiply(D[e])},u.prototype.shiftLeft=o.prototype.shiftLeft,o.prototype.shiftRight=function(e){var
 t;if(!B(e))throw new Error(String(e)+" is too large for 
shifting.");e=+e;if(e<0)return this.shiftLeft(-e);var 
n=this;while(e>=P){if(n.isZero())return 
n;t=O(n,H),n=t[1].isNegative()?t[0].prev():t[0],e-=P-1}return 
t=O(n,D[e]),t[1].isNegative()?t[0].prev():t[0]},u.proto
 type.shiftRight=o.prototype.shiftRight,o.prototype.not=function(){return 
this.negate().prev()},u.prototype.not=o.prototype.not,o.prototype.and=function(e){return
 j(this,e,function(e,t){return 
e&t})},u.prototype.and=o.prototype.and,o.prototype.or=function(e){return 
j(this,e,function(e,t){return 
e|t})},u.prototype.or=o.prototype.or,o.prototype.xor=function(e){return 
j(this,e,function(e,t){return e^t})},u.prototype.xor=o.prototype.xor;var 
F=1<<30,I=(t&-t)*(t&-t)|F,V=function(e,t){var 
n=Y[0],r=Y[1],i=e.length;if(2<=t&&t<=36&&i<=s/Math.log(t))return new 
u(parseInt(e,t));t=G(t);var o=[],a,f=e[0]==="-";for(a=f?1:0;a<e.length;a++){var 
l=e[a].toLowerCase(),c=l.charCodeAt(0);if(48<=c&&c<=57)o.push(G(l));else 
if(97<=c&&c<=122)o.push(G(l.charCodeAt(0)-87));else{if(l!=="<")throw new 
Error(l+" is not a valid character");var h=a;do 
a++;while(e[a]!==">");o.push(G(e.slice(h+1,a)))}}o.reverse();for(a=0;a<o.length;a++)n=n.add(o[a].times(r)),r=r.times(t);return
 f?n.negate():n};o.prototype.toString=func
 tion(t){t===e&&(t=10);if(t!==10)return J(this,t);var 
n=this.value,r=n.length,i=String(n[--r]),s="0000000",o;while(--r>=0)o=String(n[r]),i+=s.slice(o.length)+o;var
 u=this.sign?"-":"";return u+i},u.prototype.toString=function(t){return 
t===e&&(t=10),t!=10?J(this,t):String(this.value)},o.prototype.valueOf=function(){return+this.toString()},o.prototype.toJSNumber=o.prototype.valueOf,u.prototype.valueOf=function(){return
 this.value},u.prototype.toJSNumber=u.prototype.valueOf;var 
Y=function(e,t){return typeof e=="undefined"?Y[0]:typeof 
t!="undefined"?+t===10?G(e):V(e,t):G(e)};for(var Z=0;Z<1e3;Z++)Y[Z]=new 
u(Z),Z>0&&(Y[-Z]=new u(-Z));return 
Y.one=Y[1],Y.zero=Y[0],Y.minusOne=Y[-1],Y.max=R,Y.min=U,Y.gcd=z,Y.lcm=W,Y.isInstance=function(e){return
 e instanceof o||e instanceof u},Y.randBetween=X,Y}();typeof 
module!="undefined"&&module.hasOwnProperty("exports")&&(module.exports=bigInt);
\ No newline at end of file
+var bigInt=function(e){"use strict";function 
o(e,t){this.value=e,this.sign=t,this.isSmall=!1}function 
u(e){this.value=e,this.sign=e<0,this.isSmall=!0}function 
a(e){return-r<e&&e<r}function f(e){return 
e<1e7?[e]:e<1e14?[e%1e7,Math.floor(e/1e7)]:[e%1e7,Math.floor(e/1e7)%1e7,Math.floor(e/1e14)]}function
 l(e){c(e);var n=e.length;if(n<4&&M(e,i)<0)switch(n){case 0:return 0;case 
1:return e[0];case 2:return e[0]+e[1]*t;default:return 
e[0]+(e[1]+e[2]*t)*t}return e}function c(e){var 
t=e.length;while(e[--t]===0);e.length=t+1}function h(e){var t=new 
Array(e),n=-1;while(++n<e)t[n]=0;return t}function p(e){return 
e>0?Math.floor(e):Math.ceil(e)}function d(e,n){var r=e.length,i=n.length,s=new 
Array(r),o=0,u=t,a,f;for(f=0;f<i;f++)a=e[f]+n[f]+o,o=a>=u?1:0,s[f]=a-o*u;while(f<r)a=e[f]+o,o=a===u?1:0,s[f++]=a-o*u;return
 o>0&&s.push(o),s}function v(e,t){return 
e.length>=t.length?d(e,t):d(t,e)}function m(e,n){var r=e.length,i=new 
Array(r),s=t,o,u;for(u=0;u<r;u++)o=e[u]-s+n,n=Math.floor(o/s),i[u]=o-n*s,n+=1
 ;while(n>0)i[u++]=n%s,n=Math.floor(n/s);return i}function g(e,n){var 
r=e.length,i=n.length,s=new 
Array(r),o=0,u=t,a,f;for(a=0;a<i;a++)f=e[a]-o-n[a],f<0?(f+=u,o=1):o=0,s[a]=f;for(a=i;a<r;a++){f=e[a]-o;if(!(f<0)){s[a++]=f;break}f+=u,s[a]=f}for(;a<r;a++)s[a]=e[a];return
 c(s),s}function y(e,t,n){var r,i;return 
M(e,t)>=0?r=g(e,t):(r=g(t,e),n=!n),r=l(r),typeof r=="number"?(n&&(r=-r),new 
u(r)):new o(r,n)}function b(e,n,r){var i=e.length,s=new 
Array(i),a=-n,f=t,c,h;for(c=0;c<i;c++)h=e[c]+a,a=Math.floor(h/f),h%=f,s[c]=h<0?h+f:h;return
 s=l(s),typeof s=="number"?(r&&(s=-s),new u(s)):new o(s,r)}function w(e,n){var 
r=e.length,i=n.length,s=r+i,o=h(s),u=t,a,f,l,p,d;for(l=0;l<r;++l){p=e[l];for(var
 
v=0;v<i;++v)d=n[v],a=p*d+o[l+v],f=Math.floor(a/u),o[l+v]=a-f*u,o[l+v+1]+=f}return
 c(o),o}function E(e,n){var r=e.length,i=new 
Array(r),s=t,o=0,u,a;for(a=0;a<r;a++)u=e[a]*n+o,o=Math.floor(u/s),i[a]=u-o*s;while(o>0)i[a++]=o%s,o=Math.floor(o/s);return
 i}function S(e,t){var n=[];while(t-->0)n.push(0);return n
 .concat(e)}function x(e,t){var n=Math.max(e.length,t.length);if(n<=30)return 
w(e,t);n=Math.ceil(n/2);var 
r=e.slice(n),i=e.slice(0,n),s=t.slice(n),o=t.slice(0,n),u=x(i,o),a=x(r,s),f=x(v(i,r),v(o,s)),l=v(v(u,S(g(g(f,u),a),n)),S(a,2*n));return
 c(l),l}function T(e,t){return-0.012*e-.012*t+15e-6*e*t>0}function 
N(e,n,r){return e<t?new o(E(n,e),r):new o(w(n,f(e)),r)}function C(e){var 
n=e.length,r=h(n+n),i=t,s,o,u,a,f;for(u=0;u<n;u++){a=e[u];for(var 
l=0;l<n;l++)f=e[l],s=a*f+r[u+l],o=Math.floor(s/i),r[u+l]=s-o*i,r[u+l+1]+=o}return
 c(r),r}function k(e,n){var 
r=e.length,i=n.length,s=t,o=h(n.length),u=n[i-1],a=Math.ceil(s/(2*u)),f=E(e,a),c=E(n,a),p,d,v,m,g,y,b;f.length<=r&&f.push(0),c.push(0),u=c[i-1];for(d=r-i;d>=0;d--){p=s-1,f[d+i]!==u&&(p=Math.floor((f[d+i]*s+f[d+i-1])/u)),v=0,m=0,y=c.length;for(g=0;g<y;g++)v+=p*c[g],b=Math.floor(v/s),m+=f[d+g]-(v-b*s),v=b,m<0?(f[d+g]=m+s,m=-1):(f[d+g]=m,m=0);while(m!==0){p-=1,v=0;for(g=0;g<y;g++)v+=f[d+g]-s+c[g],v<0?(f[d+g]=v+s,v=0):(f[d+g]=v,v=1);m+=v}o[d]
 =p}return f=A(f,a)[0],[l(o),l(f)]}function L(e,n){var 
r=e.length,i=n.length,s=[],o=[],u=t,a,f,c,h,p;while(r){o.unshift(e[--r]);if(M(o,n)<0){s.push(0);continue}f=o.length,c=o[f-1]*u+o[f-2],h=n[i-1]*u+n[i-2],f>i&&(c=(c+1)*u),a=Math.ceil(c/h);do{p=E(n,a);if(M(p,o)<=0)break;a--}while(a);s.push(a),o=g(o,p)}return
 s.reverse(),[l(s),l(o)]}function A(e,n){var 
r=e.length,i=h(r),s=t,o,u,a,f;a=0;for(o=r-1;o>=0;--o)f=a*s+e[o],u=p(f/n),a=f-u*n,i[o]=u|0;return[i,a|0]}function
 O(e,n){var r,i=G(n),s=e.value,a=i.value,c;if(a===0)throw new Error("Cannot 
divide by zero");if(e.isSmall)return i.isSmall?[new u(p(s/a)),new 
u(s%a)]:[Y[0],e];if(i.isSmall){if(a===1)return[e,Y[0]];if(a==-1)return[e.negate(),Y[0]];var
 h=Math.abs(a);if(h<t){r=A(s,h),c=l(r[0]);var d=r[1];return 
e.sign&&(d=-d),typeof c=="number"?(e.sign!==i.sign&&(c=-c),[new u(c),new 
u(d)]):[new o(c,e.sign!==i.sign),new u(d)]}a=f(h)}var 
v=M(s,a);if(v===-1)return[Y[0],e];if(v===0)return[Y[e.sign===i.sign?1:-1],Y[0]];s.length+a.length<=200?r=k(s,a)
 :r=L(s,a),c=r[0];var m=e.sign!==i.sign,g=r[1],y=e.sign;return typeof 
c=="number"?(m&&(c=-c),c=new u(c)):c=new o(c,m),typeof 
g=="number"?(y&&(g=-g),g=new u(g)):g=new o(g,y),[c,g]}function 
M(e,t){if(e.length!==t.length)return e.length>t.length?1:-1;for(var 
n=e.length-1;n>=0;n--)if(e[n]!==t[n])return e[n]>t[n]?1:-1;return 0}function 
_(e){var 
t=e.abs();if(t.isUnit())return!1;if(t.equals(2)||t.equals(3)||t.equals(5))return!0;if(t.isEven()||t.isDivisibleBy(3)||t.isDivisibleBy(5))return!1;if(t.lesser(25))return!0}function
 B(e){return(typeof e=="number"||typeof e=="string")&&+Math.abs(e)<=t||e 
instanceof o&&e.value.length<=1}function j(e,t,n){t=G(t);var 
r=e.isNegative(),i=t.isNegative(),s=r?e.not():e,o=i?t.not():t,u=[],a=[],f=!1,l=!1;while(!f||!l)s.isZero()?(f=!0,u.push(r?1:0)):r?u.push(s.isEven()?1:0):u.push(s.isEven()?0:1),o.isZero()?(l=!0,a.push(i?1:0)):i?a.push(o.isEven()?1:0):a.push(o.isEven()?0:1),s=s.over(2),o=o.over(2);var
 c=[];for(var h=0;h<u.length;h++)c.push(n(u[h],a[h]));var p=b
 
igInt(c.pop()).negate().times(bigInt(2).pow(c.length));while(c.length)p=p.add(bigInt(c.pop()).times(bigInt(2).pow(c.length)));return
 p}function q(e){var n=e.value,r=typeof n=="number"?n|F:n[0]+n[1]*t|I;return 
r&-r}function R(e,t){return e=G(e),t=G(t),e.greater(t)?e:t}function 
U(e,t){return e=G(e),t=G(t),e.lesser(t)?e:t}function 
z(e,t){e=G(e).abs(),t=G(t).abs();if(e.equals(t))return e;if(e.isZero())return 
t;if(t.isZero())return e;var 
n=Y[1],r,i;while(e.isEven()&&t.isEven())r=Math.min(q(e),q(t)),e=e.divide(r),t=t.divide(r),n=n.multiply(r);while(e.isEven())e=e.divide(q(e));do{while(t.isEven())t=t.divide(q(t));e.greater(t)&&(i=t,t=e,e=i),t=t.subtract(e)}while(!t.isZero());return
 n.isUnit()?e:e.multiply(n)}function W(e,t){return 
e=G(e).abs(),t=G(t).abs(),e.divide(z(e,t)).multiply(t)}function 
X(e,n){e=G(e),n=G(n);var r=U(e,n),i=R(e,n),s=i.subtract(r);if(s.isSmall)return 
r.add(Math.round(Math.random()*s));var a=s.value.length-1,f=[],c=!0;for(var 
h=a;h>=0;h--){var d=c?s.value[h]:t,v=p(Math.
 random()*d);f.unshift(v),v<d&&(c=!1)}return f=l(f),r.add(typeof 
f=="number"?new u(f):new o(f,!1))}function $(e){var t=e.value;return typeof 
t=="number"&&(t=[t]),t.length===1&&t[0]<=35?"0123456789abcdefghijklmnopqrstuvwxyz".charAt(t[0]):"<"+t+">"}function
 J(e,t){t=bigInt(t);if(t.isZero()){if(e.isZero())return"0";throw new 
Error("Cannot convert nonzero numbers to base 0.")}if(t.equals(-1))return 
e.isZero()?"0":e.isNegative()?(new Array(1-e)).join("10"):"1"+(new 
Array(+e)).join("01");var 
n="";e.isNegative()&&t.isPositive()&&(n="-",e=e.abs());if(t.equals(1))return 
e.isZero()?"0":n+(new Array(+e+1)).join(1);var 
r=[],i=e,s;while(i.isNegative()||i.compareAbs(t)>=0){s=i.divmod(t),i=s.quotient;var
 
o=s.remainder;o.isNegative()&&(o=t.minus(o).abs(),i=i.next()),r.push($(o))}return
 r.push($(i)),n+r.reverse().join("")}function K(e){if(a(+e)){var 
t=+e;if(t===p(t))return new u(t);throw"Invalid integer: "+e}var 
r=e[0]==="-";r&&(e=e.slice(1));var i=e.split(/e/i);if(i.length>2)throw new 
Error("Invalid
  integer: "+i.join("e"));if(i.length===2){var 
s=i[1];s[0]==="+"&&(s=s.slice(1)),s=+s;if(s!==p(s)||!a(s))throw new 
Error("Invalid integer: "+s+" is not a valid exponent.");var 
f=i[0],l=f.indexOf(".");l>=0&&(s-=f.length-l-1,f=f.slice(0,l)+f.slice(l+1));if(s<0)throw
 new Error("Cannot include negative exponent part for integers");f+=(new 
Array(s+1)).join("0"),e=f}var h=/^([0-9][0-9]*)$/.test(e);if(!h)throw new 
Error("Invalid integer: "+e);var 
d=[],v=e.length,m=n,g=v-m;while(v>0)d.push(+e.slice(g,v)),g-=m,g<0&&(g=0),v-=m;return
 c(d),new o(d,r)}function Q(e){return a(e)?new u(e):K(e.toString())}function 
G(e){return typeof e=="number"?Q(e):typeof e=="string"?K(e):e}var 
t=1e7,n=7,r=9007199254740992,i=f(r),s=Math.log(r);o.prototype.add=function(e){var
 t,n=G(e);if(this.sign!==n.sign)return this.subtract(n.negate());var 
r=this.value,i=n.value;return n.isSmall?new o(m(r,Math.abs(i)),this.sign):new 
o(v(r,i),this.sign)},o.prototype.plus=o.prototype.add,u.prototype.add=function(e){var
 t=G(e),n=thi
 s.value;if(n<0!==t.sign)return this.subtract(t.negate());var 
r=t.value;if(t.isSmall){if(a(n+r))return new u(n+r);r=f(Math.abs(r))}return new 
o(m(r,Math.abs(n)),n<0)},u.prototype.plus=u.prototype.add,o.prototype.subtract=function(e){var
 t=G(e);if(this.sign!==t.sign)return this.add(t.negate());var 
n=this.value,r=t.value;return 
t.isSmall?b(n,Math.abs(r),this.sign):y(n,r,this.sign)},o.prototype.minus=o.prototype.subtract,u.prototype.subtract=function(e){var
 t=G(e),n=this.value;if(n<0!==t.sign)return this.add(t.negate());var 
r=t.value;return t.isSmall?new 
u(n-r):b(r,Math.abs(n),n>=0)},u.prototype.minus=u.prototype.subtract,o.prototype.negate=function(){return
 new o(this.value,!this.sign)},u.prototype.negate=function(){var 
e=this.sign,t=new u(-this.value);return 
t.sign=!e,t},o.prototype.abs=function(){return new 
o(this.value,!1)},u.prototype.abs=function(){return new 
u(Math.abs(this.value))},o.prototype.multiply=function(e){var 
n,r=G(e),i=this.value,s=r.value,u=this.sign!==r.sign,a;if(r.i
 sSmall){if(s===0)return Y[0];if(s===1)return this;if(s===-1)return 
this.negate();a=Math.abs(s);if(a<t)return new o(E(i,a),u);s=f(a)}return 
T(i.length,s.length)?new o(x(i,s),u):new 
o(w(i,s),u)},o.prototype.times=o.prototype.multiply,u.prototype._multiplyBySmall=function(e){return
 a(e.value*this.value)?new 
u(e.value*this.value):N(Math.abs(e.value),f(Math.abs(this.value)),this.sign!==e.sign)},o.prototype._multiplyBySmall=function(e){return
 
e.value===0?Y[0]:e.value===1?this:e.value===-1?this.negate():N(Math.abs(e.value),this.value,this.sign!==e.sign)},u.prototype.multiply=function(e){return
 
G(e)._multiplyBySmall(this)},u.prototype.times=u.prototype.multiply,o.prototype.square=function(){return
 new o(C(this.value),!1)},u.prototype.square=function(){var 
e=this.value*this.value;return a(e)?new u(e):new 
o(C(f(Math.abs(this.value))),!1)},o.prototype.divmod=function(e){var 
t=O(this,e);return{quotient:t[0],remainder:t[1]}},u.prototype.divmod=o.prototype.divmod,o.prototype.divide=function(e){re
 turn 
O(this,e)[0]},u.prototype.over=u.prototype.divide=o.prototype.over=o.prototype.divide,o.prototype.mod=function(e){return
 
O(this,e)[1]},u.prototype.remainder=u.prototype.mod=o.prototype.remainder=o.prototype.mod,o.prototype.pow=function(e){var
 t=G(e),n=this.value,r=t.value,i,s,o;if(r===0)return Y[1];if(n===0)return 
Y[0];if(n===1)return Y[1];if(n===-1)return 
t.isEven()?Y[1]:Y[-1];if(t.sign)return Y[0];if(!t.isSmall)throw new Error("The 
exponent "+t.toString()+" is too 
large.");if(this.isSmall&&a(i=Math.pow(n,r)))return new 
u(p(i));s=this,o=Y[1];for(;;){r&!0&&(o=o.times(s),--r);if(r===0)break;r/=2,s=s.square()}return
 
o},u.prototype.pow=o.prototype.pow,o.prototype.modPow=function(e,t){e=G(e),t=G(t);if(t.isZero())throw
 new Error("Cannot take modPow with modulus 0");var 
n=Y[1],r=this.mod(t);while(e.isPositive()){if(r.isZero())return 
Y[0];e.isOdd()&&(n=n.multiply(r).mod(t)),e=e.divide(2),r=r.square().mod(t)}return
 n},u.prototype.modPow=o.prototype.modPow,o.prototype.compareAbs=functio
 n(e){var t=G(e),n=this.value,r=t.value;return 
t.isSmall?1:M(n,r)},u.prototype.compareAbs=function(e){var 
t=G(e),n=Math.abs(this.value),r=t.value;return 
t.isSmall?(r=Math.abs(r),n===r?0:n>r?1:-1):-1},o.prototype.compare=function(e){if(e===Infinity)return-1;if(e===-Infinity)return
 1;var t=G(e),n=this.value,r=t.value;return 
this.sign!==t.sign?t.sign?1:-1:t.isSmall?this.sign?-1:1:M(n,r)*(this.sign?-1:1)},o.prototype.compareTo=o.prototype.compare,u.prototype.compare=function(e){if(e===Infinity)return-1;if(e===-Infinity)return
 1;var t=G(e),n=this.value,r=t.value;return 
t.isSmall?n==r?0:n>r?1:-1:n<0!==t.sign?n<0?-1:1:n<0?1:-1},u.prototype.compareTo=u.prototype.compare,o.prototype.equals=function(e){return
 
this.compare(e)===0},u.prototype.eq=u.prototype.equals=o.prototype.eq=o.prototype.equals,o.prototype.notEquals=function(e){return
 
this.compare(e)!==0},u.prototype.neq=u.prototype.notEquals=o.prototype.neq=o.prototype.notEquals,o.prototype.greater=function(e){return
 this.compare(e)>0},u.pr
 
ototype.gt=u.prototype.greater=o.prototype.gt=o.prototype.greater,o.prototype.lesser=function(e){return
 
this.compare(e)<0},u.prototype.lt=u.prototype.lesser=o.prototype.lt=o.prototype.lesser,o.prototype.greaterOrEquals=function(e){return
 
this.compare(e)>=0},u.prototype.geq=u.prototype.greaterOrEquals=o.prototype.geq=o.prototype.greaterOrEquals,o.prototype.lesserOrEquals=function(e){return
 
this.compare(e)<=0},u.prototype.leq=u.prototype.lesserOrEquals=o.prototype.leq=o.prototype.lesserOrEquals,o.prototype.isEven=function(){return(this.value[0]&1)===0},u.prototype.isEven=function(){return(this.value&1)===0},o.prototype.isOdd=function(){return(this.value[0]&1)===1},u.prototype.isOdd=function(){return(this.value&1)===1},o.prototype.isPositive=function(){return!this.sign},u.prototype.isPositive=function(){return
 this.value>0},o.prototype.isNegative=function(){return 
this.sign},u.prototype.isNegative=function(){return 
this.value<0},o.prototype.isUnit=function(){return!1},u.prototype.isUni
 t=function(){return 
Math.abs(this.value)===1},o.prototype.isZero=function(){return!1},u.prototype.isZero=function(){return
 this.value===0},o.prototype.isDivisibleBy=function(e){var 
t=G(e),n=t.value;return 
n===0?!1:n===1?!0:n===2?this.isEven():this.mod(t).equals(Y[0])},u.prototype.isDivisibleBy=o.prototype.isDivisibleBy,o.prototype.isPrime=function(){var
 t=_(this);if(t!==e)return t;var 
n=this.abs(),r=n.prev(),i=[2,3,5,7,11,13,17,19],s=r,o,u,a,f;while(s.isEven())s=s.divide(2);for(a=0;a<i.length;a++){f=bigInt(i[a]).modPow(s,n);if(f.equals(Y[1])||f.equals(r))continue;for(u=!0,o=s;u&&o.lesser(r);o=o.multiply(2))f=f.square().mod(n),f.equals(r)&&(u=!1);if(u)return!1}return!0},u.prototype.isPrime=o.prototype.isPrime,o.prototype.isProbablePrime=function(t){var
 n=_(this);if(n!==e)return n;var r=this.abs(),i=t===e?5:t;for(var 
s=0;s<i;s++){var 
o=bigInt.randBetween(2,r.minus(2));if(!o.modPow(r.prev(),r).isUnit())return!1}return!0},u.prototype.isProbablePrime=o.prototype.isProbablePrime,o.prototy
 pe.next=function(){var e=this.value;return this.sign?b(e,1,this.sign):new 
o(m(e,1),this.sign)},u.prototype.next=function(){var e=this.value;return 
e+1<r?new u(e+1):new o(i,!1)},o.prototype.prev=function(){var 
e=this.value;return this.sign?new 
o(m(e,1),!0):b(e,1,this.sign)},u.prototype.prev=function(){var 
e=this.value;return e-1>-r?new u(e-1):new o(i,!0)};var 
D=[1];while(D[D.length-1]<=t)D.push(2*D[D.length-1]);var 
P=D.length,H=D[P-1];o.prototype.shiftLeft=function(e){if(!B(e))throw new 
Error(String(e)+" is too large for shifting.");e=+e;if(e<0)return 
this.shiftRight(-e);var t=this;while(e>=P)t=t.multiply(H),e-=P-1;return 
t.multiply(D[e])},u.prototype.shiftLeft=o.prototype.shiftLeft,o.prototype.shiftRight=function(e){var
 t;if(!B(e))throw new Error(String(e)+" is too large for 
shifting.");e=+e;if(e<0)return this.shiftLeft(-e);var 
n=this;while(e>=P){if(n.isZero())return 
n;t=O(n,H),n=t[1].isNegative()?t[0].prev():t[0],e-=P-1}return 
t=O(n,D[e]),t[1].isNegative()?t[0].prev():t[0]},u.proto
 type.shiftRight=o.prototype.shiftRight,o.prototype.not=function(){return 
this.negate().prev()},u.prototype.not=o.prototype.not,o.prototype.and=function(e){return
 j(this,e,function(e,t){return 
e&t})},u.prototype.and=o.prototype.and,o.prototype.or=function(e){return 
j(this,e,function(e,t){return 
e|t})},u.prototype.or=o.prototype.or,o.prototype.xor=function(e){return 
j(this,e,function(e,t){return e^t})},u.prototype.xor=o.prototype.xor;var 
F=1<<30,I=(t&-t)*(t&-t)|F,V=function(e,t){var 
n=Y[0],r=Y[1],i=e.length;if(2<=t&&t<=36&&i<=s/Math.log(t))return new 
u(parseInt(e,t));t=G(t);var o=[],a,f=e[0]==="-";for(a=f?1:0;a<e.length;a++){var 
l=e[a].toLowerCase(),c=l.charCodeAt(0);if(48<=c&&c<=57)o.push(G(l));else 
if(97<=c&&c<=122)o.push(G(l.charCodeAt(0)-87));else{if(l!=="<")throw new 
Error(l+" is not a valid character");var h=a;do 
a++;while(e[a]!==">");o.push(G(e.slice(h+1,a)))}}o.reverse();for(a=0;a<o.length;a++)n=n.add(o[a].times(r)),r=r.times(t);return
 f?n.negate():n};o.prototype.toString=func
 tion(t){t===e&&(t=10);if(t!==10)return J(this,t);var 
n=this.value,r=n.length,i=String(n[--r]),s="0000000",o;while(--r>=0)o=String(n[r]),i+=s.slice(o.length)+o;var
 u=this.sign?"-":"";return u+i},u.prototype.toString=function(t){return 
t===e&&(t=10),t!=10?J(this,t):String(this.value)},o.prototype.valueOf=function(){return+this.toString()},o.prototype.toJSNumber=o.prototype.valueOf,u.prototype.valueOf=function(){return
 this.value},u.prototype.toJSNumber=u.prototype.valueOf;var 
Y=function(e,t){return typeof e=="undefined"?Y[0]:typeof 
t!="undefined"?+t===10?G(e):V(e,t):G(e)};for(var Z=0;Z<1e3;Z++)Y[Z]=new 
u(Z),Z>0&&(Y[-Z]=new u(-Z));return 
Y.one=Y[1],Y.zero=Y[0],Y.minusOne=Y[-1],Y.max=R,Y.min=U,Y.gcd=z,Y.lcm=W,Y.isInstance=function(e){return
 e instanceof o||e instanceof u},Y.randBetween=X,Y}();typeof 
module!="undefined"&&module.hasOwnProperty("exports")&&(module.exports=bigInt);
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/57df16dd/node_modules/cordova-common/node_modules/bplist-parser/node_modules/big-integer/LICENSE
----------------------------------------------------------------------
diff --git 
a/node_modules/cordova-common/node_modules/bplist-parser/node_modules/big-integer/LICENSE
 
b/node_modules/cordova-common/node_modules/bplist-parser/node_modules/big-integer/LICENSE
new file mode 100644
index 0000000..cf1ab25
--- /dev/null
+++ 
b/node_modules/cordova-common/node_modules/bplist-parser/node_modules/big-integer/LICENSE
@@ -0,0 +1,24 @@
+This is free and unencumbered software released into the public domain.
+
+Anyone is free to copy, modify, publish, use, compile, sell, or
+distribute this software, either in source code form or as a compiled
+binary, for any purpose, commercial or non-commercial, and by any
+means.
+
+In jurisdictions that recognize copyright laws, the author or authors
+of this software dedicate any and all copyright interest in the
+software to the public domain. We make this dedication for the benefit
+of the public at large and to the detriment of our heirs and
+successors. We intend this dedication to be an overt act of
+relinquishment in perpetuity of all present and future rights to this
+software under copyright law.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
+OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
+
+For more information, please refer to <http://unlicense.org>

http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/57df16dd/node_modules/cordova-common/node_modules/bplist-parser/node_modules/big-integer/package.json
----------------------------------------------------------------------
diff --git 
a/node_modules/cordova-common/node_modules/bplist-parser/node_modules/big-integer/package.json
 
b/node_modules/cordova-common/node_modules/bplist-parser/node_modules/big-integer/package.json
index e0b86f8..3e7d873 100644
--- 
a/node_modules/cordova-common/node_modules/bplist-parser/node_modules/big-integer/package.json
+++ 
b/node_modules/cordova-common/node_modules/bplist-parser/node_modules/big-integer/package.json
@@ -1,6 +1,6 @@
 {
   "name": "big-integer",
-  "version": "1.6.12",
+  "version": "1.6.13",
   "author": {
     "name": "Peter Olson",
     "email": "peter.e.c.olson+...@gmail.com"
@@ -40,13 +40,13 @@
   "engines": {
     "node": ">=0.6"
   },
-  "gitHead": "56f449108e31542f939e701f1fe562a46e6c1fab",
+  "gitHead": "e642ff89337dc922dd5a5eec01358c5b9a0de8c2",
   "bugs": {
     "url": "https://github.com/peterolson/BigInteger.js/issues";
   },
   "homepage": "https://github.com/peterolson/BigInteger.js#readme";,
-  "_id": "big-integer@1.6.12",
-  "_shasum": "39afcddafcd5c4480864efb757337d508938bb26",
+  "_id": "big-integer@1.6.13",
+  "_shasum": "1d207ff8ccc6c79d3dd555bc447ec1ef7778e8d5",
   "_from": "big-integer@>=1.6.7 <2.0.0",
   "_npmVersion": "2.9.1",
   "_nodeVersion": "0.12.3",
@@ -61,14 +61,14 @@
     }
   ],
   "dist": {
-    "shasum": "39afcddafcd5c4480864efb757337d508938bb26",
-    "tarball": "http://registry.npmjs.org/big-integer/-/big-integer-1.6.12.tgz";
+    "shasum": "1d207ff8ccc6c79d3dd555bc447ec1ef7778e8d5",
+    "tarball": "http://registry.npmjs.org/big-integer/-/big-integer-1.6.13.tgz";
   },
   "_npmOperationalInternal": {
-    "host": "packages-6-west.internal.npmjs.com",
-    "tmp": "tmp/big-integer-1.6.12.tgz_1455702804335_0.11810904298909009"
+    "host": "packages-12-west.internal.npmjs.com",
+    "tmp": "tmp/big-integer-1.6.13.tgz_1459301238165_0.4259801849257201"
   },
   "directories": {},
-  "_resolved": 
"https://registry.npmjs.org/big-integer/-/big-integer-1.6.12.tgz";,
+  "_resolved": 
"https://registry.npmjs.org/big-integer/-/big-integer-1.6.13.tgz";,
   "readme": "ERROR: No README data found!"
 }

http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/57df16dd/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/package.json
----------------------------------------------------------------------
diff --git 
a/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/package.json
 
b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/package.json
index a3001a3..6f712ae 100644
--- 
a/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/package.json
+++ 
b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/package.json
@@ -56,9 +56,8 @@
   ],
   "dist": {
     "shasum": "98b8f651ca30aa624036f127d11cc66dc7b907a3",
-    "tarball": "http://registry.npmjs.org/xmlbuilder/-/xmlbuilder-4.0.0.tgz";
+    "tarball": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-4.0.0.tgz";
   },
   "directories": {},
-  "_resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-4.0.0.tgz";,
-  "readme": "ERROR: No README data found!"
+  "_resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-4.0.0.tgz";
 }

http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/57df16dd/node_modules/cordova-common/package.json
----------------------------------------------------------------------
diff --git a/node_modules/cordova-common/package.json 
b/node_modules/cordova-common/package.json
index 10c4b71..f113d23 100644
--- a/node_modules/cordova-common/package.json
+++ b/node_modules/cordova-common/package.json
@@ -5,7 +5,7 @@
   "name": "cordova-common",
   "description": "Apache Cordova tools and platforms shared routines",
   "license": "Apache-2.0",
-  "version": "1.1.0",
+  "version": "1.1.1",
   "repository": {
     "type": "git",
     "url": "git://git-wip-us.apache.org/repos/asf/cordova-common.git"
@@ -45,10 +45,50 @@
     "jshint": "^2.8.0"
   },
   "contributors": [],
-  "readme": "<!--\n#\n# Licensed to the Apache Software Foundation (ASF) under 
one\n# or more contributor license agreements.  See the NOTICE file\n# 
distributed with this work for additional information\n# regarding copyright 
ownership.  The ASF licenses this file\n# to you under the Apache License, 
Version 2.0 (the\n# \"License\"); you may not use this file except in 
compliance\n# with the License.  You may obtain a copy of the License at\n#\n# 
http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable 
law or agreed to in writing,\n# software distributed under the License is 
distributed on an\n# \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 
ANY\n#  KIND, either express or implied.  See the License for the\n# specific 
language governing permissions and limitations\n# under the 
License.\n#\n-->\n\n# cordova-common\nExpoeses shared functionality used by 
[cordova-lib](https://github.com/apache/cordova-lib/) and Cordova 
platforms.\n## Exposed APIs\n\n### `eve
 nts`\n  \nRepresents special instance of NodeJS EventEmitter which is intended 
to be used to post events to cordova-lib and cordova-cli\n\nUsage:\n```\nvar 
events = require('cordova-common').events;\nevents.emit('warn', 'Some warning 
message')\n```\n\nThere are the following events supported by cordova-cli: 
`verbose`, `log`, `info`, `warn`, `error`.\n\n### `CordovaError`\n\nAn error 
class used by Cordova to throw cordova-specific errors. The CordovaError class 
is inherited from Error, so CordovaError instances is also valid Error 
instances (`instanceof` check succeeds).\n\nUsage:\n\n```\nvar CordovaError = 
require('cordova-common').CordovaError;\nthrow new CordovaError('Some error 
message', SOME_ERR_CODE);\n```\n\nSee 
[CordovaError](src/CordovaError/CordovaError.js) for supported error 
codes.\n\n### `ConfigParser`\n\nExposes functionality to deal with cordova 
project `config.xml` files. For ConfigParser API reference check [ConfigParser 
Readme](src/ConfigParser/README.md).\n\nUsage:
 \n```\nvar ConfigParser = require('cordova-common').ConfigParser;\nvar 
appConfig = new 
ConfigParser('path/to/cordova-app/config.xml');\nconsole.log(appconfig.name() + 
':' + appConfig.version());\n```\n\n### `PluginInfoProvider` and 
`PluginInfo`\n\n`PluginInfo` is a wrapper for cordova plugins' `plugin.xml` 
files. This class may be instantiated directly or via `PluginInfoProvider`. The 
difference is that `PluginInfoProvider` caches `PluginInfo` instances based on 
plugin source directory.\n\nUsage:\n```\nvar PluginInfo: 
require('cordova-common').PluginInfo;\nvar PluginInfoProvider: 
require('cordova-common').PluginInfoProvider;\n\n// The following instances are 
equal\nvar plugin1 = new PluginInfo('path/to/plugin_directory');\nvar plugin2 = 
new PluginInfoProvider().get('path/to/plugin_directory');\n\nconsole.log('The 
plugin ' + plugin1.id + ' has version ' + plugin1.version)\n```\n\n### 
`ActionStack`\n\nUtility module for dealing with sequential tasks. Provides a 
set of tasks that are n
 eeded to be done and reverts all tasks that are already completed if one of 
those tasks fail to complete. Used internally by cordova-lib and platform's 
plugin installation routines.\n\nUsage:\n```\nvar ActionStack = 
require('cordova-common').ActionStack;\nvar stack = new ActionStack()\n\nvar 
action1 = stack.createAction(task1, [<task parameters>], task1_reverter, 
[<reverter_parameters>]);\nvar action2 = stack.createAction(task2, [<task 
parameters>], task2_reverter, 
[<reverter_parameters>]);\n\nstack.push(action1);\nstack.push(action2);\n\nstack.process()\n.then(function()
 {\n    // all actions succeded\n})\n.catch(function(error){\n    // One of 
actions failed with error\n})\n```\n\n### `superspawn`\n\nModule for spawning 
child processes with some advanced logic.\n\nUsage:\n```\nvar superspawn = 
require('cordova-common').superspawn;\nsuperspawn.spawn('adb', 
['devices'])\n.progress(function(data){\n    if (data.stderr)\n        
console.error('\"adb devices\" raised an error: ' + data
 .stderr);\n})\n.then(function(devices){\n    // Do 
something...\n})\n```\n\n### `xmlHelpers`\n\nA set of utility methods for 
dealing with xml files.\n\nUsage:\n```\nvar xml = 
require('cordova-common').xmlHelpers;\n\nvar xmlDoc1 = 
xml.parseElementtreeSync('some/xml/file');\nvar xmlDoc2 = 
xml.parseElementtreeSync('another/xml/file');\n\nxml.mergeXml(doc1, doc2); // 
doc2 now contains all the nodes from doc1\n```\n\n### Other APIs\n\nThe APIs 
listed below are also exposed but are intended to be only used internally by 
cordova plugin installation 
routines.\n\n```\nPlatformJson\nConfigChanges\nConfigKeeper\nConfigFile\nmungeUtil\n```\n\n##
 Setup\n* Clone this repository onto your local machine\n    `git clone 
https://git-wip-us.apache.org/repos/asf/cordova-lib.git`\n* In terminal, 
navigate to the inner cordova-common directory\n    `cd 
cordova-lib/cordova-common`\n* Install dependencies and npm-link\n    `npm 
install && npm link`\n* Navigate to cordova-lib directory and link cordova-commo
 n\n    `cd ../cordova-lib && npm link cordova-common && npm install`\n",
-  "readmeFilename": "README.md",
-  "_id": "cordova-common@1.1.0",
-  "_shasum": "8682721466ee354747ec6241f34f412b7e0ef636",
-  "_resolved": "file:cordova-dist\\tools\\cordova-common-1.1.0.tgz",
-  "_from": "cordova-common@*"
+  "_id": "cordova-common@1.1.1",
+  "_shasum": "4f74e182fe706b7a0ad626b0b3d303910af21d25",
+  "_resolved": 
"https://registry.npmjs.org/cordova-common/-/cordova-common-1.1.1.tgz";,
+  "_from": "cordova-common@1.1.1",
+  "_npmVersion": "3.5.3",
+  "_nodeVersion": "5.4.1",
+  "_npmUser": {
+    "name": "stevegill",
+    "email": "stevengil...@gmail.com"
+  },
+  "dist": {
+    "shasum": "4f74e182fe706b7a0ad626b0b3d303910af21d25",
+    "tarball": 
"http://registry.npmjs.org/cordova-common/-/cordova-common-1.1.1.tgz";
+  },
+  "maintainers": [
+    {
+      "name": "bowserj",
+      "email": "bows...@apache.org"
+    },
+    {
+      "name": "kotikov.vladimir",
+      "email": "kotikov.vladi...@gmail.com"
+    },
+    {
+      "name": "purplecabbage",
+      "email": "purplecabb...@gmail.com"
+    },
+    {
+      "name": "shazron",
+      "email": "shaz...@gmail.com"
+    },
+    {
+      "name": "stevegill",
+      "email": "stevengil...@gmail.com"
+    },
+    {
+      "name": "timbarham",
+      "email": "np...@barhams.info"
+    }
+  ],
+  "_npmOperationalInternal": {
+    "host": "packages-12-west.internal.npmjs.com",
+    "tmp": "tmp/cordova-common-1.1.1.tgz_1458760117765_0.2676008273847401"
+  },
+  "directories": {},
+  "readme": "ERROR: No README data found!"
 }

http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/57df16dd/node_modules/cordova-common/src/ConfigParser/ConfigParser.js
----------------------------------------------------------------------
diff --git a/node_modules/cordova-common/src/ConfigParser/ConfigParser.js 
b/node_modules/cordova-common/src/ConfigParser/ConfigParser.js
index 7abddf6..aae59db 100644
--- a/node_modules/cordova-common/src/ConfigParser/ConfigParser.js
+++ b/node_modules/cordova-common/src/ConfigParser/ConfigParser.js
@@ -186,6 +186,7 @@ ConfigParser.prototype = {
         staticResources.forEach(function (elt) {
             var res = {};
             res.src = elt.attrib.src;
+            res.target = elt.attrib.target || undefined;
             res.density = elt.attrib['density'] || 
elt.attrib[that.cdvNamespacePrefix+':density'] || elt.attrib['gap:density'];
             res.platform = elt.platform || null; // null means icon represents 
default icon (shared between platforms)
             res.width = +elt.attrib.width || undefined;

http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/57df16dd/node_modules/cordova-common/src/CordovaLogger.js
----------------------------------------------------------------------
diff --git a/node_modules/cordova-common/src/CordovaLogger.js 
b/node_modules/cordova-common/src/CordovaLogger.js
index 06dbcf3..852d298 100644
--- a/node_modules/cordova-common/src/CordovaLogger.js
+++ b/node_modules/cordova-common/src/CordovaLogger.js
@@ -153,6 +153,23 @@ CordovaLogger.prototype.setLevel = function (logLevel) {
 };
 
 /**
+ * Adjusts the current logger level according to the passed options.
+ *
+ * @param   {Object|Array}  opts  An object or args array with options
+ *
+ * @return  {CordovaLogger}     Current instance, to allow calls chaining.
+ */
+CordovaLogger.prototype.adjustLevel = function (opts) {
+    if (opts.verbose || (Array.isArray(opts) && opts.indexOf('--verbose') !== 
-1)) {
+        this.setLevel('verbose');
+    } else if (opts.silent || (Array.isArray(opts) && opts.indexOf('--silent') 
!== -1)) {
+        this.setLevel('error');
+    }
+
+    return this;
+};
+
+/**
  * Attaches logger to EventEmitter instance provided.
  *
  * @param   {EventEmitter}  eventEmitter  An EventEmitter instance to attach

http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/57df16dd/node_modules/cordova-common/src/PluginInfo/PluginInfo.js
----------------------------------------------------------------------
diff --git a/node_modules/cordova-common/src/PluginInfo/PluginInfo.js 
b/node_modules/cordova-common/src/PluginInfo/PluginInfo.js
index 2554a3c..e1a1b31 100644
--- a/node_modules/cordova-common/src/PluginInfo/PluginInfo.js
+++ b/node_modules/cordova-common/src/PluginInfo/PluginInfo.js
@@ -43,18 +43,14 @@ function PluginInfo(dirname) {
     // <preference> tag
     // Example: <preference name="API_KEY" />
     // Used to require a variable to be specified via --variable when 
installing the plugin.
+    // returns { key : default | null}
     self.getPreferences = getPreferences;
     function getPreferences(platform) {
-        var arprefs = _getTags(self._et, 'preference', platform, 
_parsePreference);
-
-        var prefs= {};
-        for(var i in arprefs)
-        {
-            var pref=arprefs[i];
-            prefs[pref.preference]=pref.default;
-        }
-        // returns { key : default | null}
-        return prefs;
+        return _getTags(self._et, 'preference', platform, _parsePreference)
+        .reduce(function (preferences, pref) {
+            preferences[pref.preference] = pref.default;
+            return preferences;
+        }, {});
     }
 
     function _parsePreference(prefTag) {

http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/57df16dd/node_modules/cordova-common/src/util/xml-helpers.js
----------------------------------------------------------------------
diff --git a/node_modules/cordova-common/src/util/xml-helpers.js 
b/node_modules/cordova-common/src/util/xml-helpers.js
index 8b02989..fc84128 100644
--- a/node_modules/cordova-common/src/util/xml-helpers.js
+++ b/node_modules/cordova-common/src/util/xml-helpers.js
@@ -209,6 +209,9 @@ function mergeXml(src, dest, platform, clobber) {
     if (src.text && (clobber || !dest.text)) {
         dest.text = src.text;
     }
+    //Handle children
+    src.getchildren().forEach(mergeChild);
+
     //Handle platform
     if (platform) {
         src.findall('platform[@name="' + platform + '"]').forEach(function 
(platformElement) {
@@ -216,8 +219,8 @@ function mergeXml(src, dest, platform, clobber) {
         });
     }
 
-    //Handle children
-    src.getchildren().forEach(mergeChild);
+    //Handle duplicate preference tags (by name attribute)
+    removeDuplicatePreferences(dest);
 
     function mergeChild (srcChild) {
         var srcTag = srcChild.tag,
@@ -254,6 +257,26 @@ function mergeXml(src, dest, platform, clobber) {
             dest.append(destChild);
         }
     }
+    
+    function removeDuplicatePreferences(xml) {
+        // reduce preference tags to a hashtable to remove dupes
+        var prefHash = 
xml.findall('preference[@name][@value]').reduce(function(previousValue, 
currentValue) {
+            previousValue[ currentValue.attrib.name ] = 
currentValue.attrib.value;
+            return previousValue;
+        }, {});
+        
+        // remove all preferences
+        xml.findall('preference[@name][@value]').forEach(function(pref) {
+            xml.remove(pref);
+        });
+        
+        // write new preferences
+        Object.keys(prefHash).forEach(function(key, index) {
+            var element = et.SubElement(xml, 'preference');
+            element.set('name', key);
+            element.set('value', this[key]);
+        }, prefHash);
+    }
 }
 
 // Expose for testing.

http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/57df16dd/package.json
----------------------------------------------------------------------
diff --git a/package.json b/package.json
index 9cefc8b..9ac1c7b 100644
--- a/package.json
+++ b/package.json
@@ -1,51 +1,51 @@
 {
-    "name": "cordova-windows",
-    "version": "4.4.0-dev",
-    "description": "cordova-windows release",
-    "bin": "bin/create",
-    "main": "template/cordova/Api.js",
-    "repository": {
-        "type": "git",
-        "url": "https://github.com/apache/cordova-windows";
-    },
-    "keywords": [
-        "windows",
-        "cordova",
-        "apache"
-    ],
-    "scripts": {
-        "test": "npm run jshint && npm run test-unit && npm run test-e2e",
-        "test-unit": "jasmine-node --captureExceptions spec/unit",
-        "test-e2e": "jasmine-node --captureExceptions spec/e2e",
-        "cover": "istanbul cover --root template --print detail 
node_modules/jasmine-node/bin/jasmine-node -- spec/unit",
-        "jshint": "jshint bin && jshint template && jshint spec"
-    },
-    "dependencies": {
-        "cordova-common": "^1.1.0",
-        "elementtree": "^0.1.6",
-        "node-uuid": "^1.4.3",
-        "nopt": "^3.0.4",
-        "q": "^1.4.1",
-        "semver": "^5.0.3",
-        "shelljs": "^0.5.3",
-        "winjs": "^4.4.0"
-    },
-    "devDependencies": {
-        "istanbul": "^0.4.0",
-        "jasmine-node": "1.14.5",
-        "jshint": "^2.8.0",
-        "rewire": "^2.5.1"
-    },
-    "bundledDependencies": [
-        "cordova-common",
-        "elementtree",
-        "node-uuid",
-        "nopt",
-        "q",
-        "semver",
-        "shelljs",
-        "winjs"
-    ],
-    "author": "Apache Software Foundation",
-    "license": "Apache-2.0"
-}
\ No newline at end of file
+  "name": "cordova-windows",
+  "version": "4.4.0-dev",
+  "description": "cordova-windows release",
+  "bin": "bin/create",
+  "main": "template/cordova/Api.js",
+  "repository": {
+    "type": "git",
+    "url": "https://github.com/apache/cordova-windows";
+  },
+  "keywords": [
+    "windows",
+    "cordova",
+    "apache"
+  ],
+  "scripts": {
+    "test": "npm run jshint && npm run test-unit && npm run test-e2e",
+    "test-unit": "jasmine-node --captureExceptions spec/unit",
+    "test-e2e": "jasmine-node --captureExceptions spec/e2e",
+    "cover": "istanbul cover --root template --print detail 
node_modules/jasmine-node/bin/jasmine-node -- spec/unit",
+    "jshint": "jshint bin && jshint template && jshint spec"
+  },
+  "dependencies": {
+    "cordova-common": "^1.1.1",
+    "elementtree": "^0.1.6",
+    "node-uuid": "^1.4.3",
+    "nopt": "^3.0.4",
+    "q": "^1.4.1",
+    "semver": "^5.0.3",
+    "shelljs": "^0.5.3",
+    "winjs": "^4.4.0"
+  },
+  "devDependencies": {
+    "istanbul": "^0.4.0",
+    "jasmine-node": "1.14.5",
+    "jshint": "^2.8.0",
+    "rewire": "^2.5.1"
+  },
+  "bundledDependencies": [
+    "cordova-common",
+    "elementtree",
+    "node-uuid",
+    "nopt",
+    "q",
+    "semver",
+    "shelljs",
+    "winjs"
+  ],
+  "author": "Apache Software Foundation",
+  "license": "Apache-2.0"
+}


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

Reply via email to