http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/32b52cb9/modules/webconfig/nodejs/node_modules/jquery/package.json
----------------------------------------------------------------------
diff --git a/modules/webconfig/nodejs/node_modules/jquery/package.json 
b/modules/webconfig/nodejs/node_modules/jquery/package.json
new file mode 100644
index 0000000..a60c007
--- /dev/null
+++ b/modules/webconfig/nodejs/node_modules/jquery/package.json
@@ -0,0 +1,90 @@
+{
+  "name": "jquery",
+  "title": "jQuery",
+  "description": "JavaScript library for DOM operations",
+  "version": "2.1.4",
+  "main": "dist/jquery.js",
+  "homepage": "http://jquery.com";,
+  "author": {
+    "name": "jQuery Foundation and other contributors",
+    "url": "https://github.com/jquery/jquery/blob/2.1.4/AUTHORS.txt";
+  },
+  "repository": {
+    "type": "git",
+    "url": "git+https://github.com/jquery/jquery.git";
+  },
+  "keywords": [
+    "jquery",
+    "javascript",
+    "browser",
+    "library"
+  ],
+  "bugs": {
+    "url": "http://bugs.jquery.com";
+  },
+  "licenses": [
+    {
+      "type": "MIT",
+      "url": "https://github.com/jquery/jquery/blob/2.1.4/MIT-LICENSE.txt";
+    }
+  ],
+  "dependencies": {},
+  "devDependencies": {
+    "commitplease": "2.0.0",
+    "grunt": "0.4.2",
+    "grunt-bowercopy": "0.7.1",
+    "grunt-cli": "0.1.13",
+    "grunt-compare-size": "0.4.0",
+    "grunt-contrib-jshint": "0.8.0",
+    "grunt-contrib-uglify": "0.3.2",
+    "grunt-contrib-watch": "0.5.3",
+    "grunt-git-authors": "1.2.0",
+    "grunt-jscs-checker": "0.4.1",
+    "grunt-jsonlint": "1.0.4",
+    "gzip-js": "0.3.2",
+    "jsdom": "1.5.0",
+    "load-grunt-tasks": "0.3.0",
+    "requirejs": "2.1.10",
+    "testswarm": "1.1.0"
+  },
+  "scripts": {
+    "build": "npm install && grunt",
+    "start": "grunt watch",
+    "test": "grunt"
+  },
+  "gitHead": "7751e69b615c6eca6f783a81e292a55725af6b85",
+  "_id": "[email protected]",
+  "_shasum": "228bde698a0c61431dc2630a6a154f15890d2317",
+  "_from": "[email protected]",
+  "_npmVersion": "2.7.4",
+  "_nodeVersion": "0.12.2",
+  "_npmUser": {
+    "name": "timmywil",
+    "email": "[email protected]"
+  },
+  "maintainers": [
+    {
+      "name": "dmethvin",
+      "email": "[email protected]"
+    },
+    {
+      "name": "scott.gonzalez",
+      "email": "[email protected]"
+    },
+    {
+      "name": "m_gol",
+      "email": "[email protected]"
+    },
+    {
+      "name": "timmywil",
+      "email": "[email protected]"
+    }
+  ],
+  "dist": {
+    "shasum": "228bde698a0c61431dc2630a6a154f15890d2317",
+    "tarball": "http://registry.npmjs.org/jquery/-/jquery-2.1.4.tgz";
+  },
+  "directories": {},
+  "_resolved": "https://registry.npmjs.org/jquery/-/jquery-2.1.4.tgz";,
+  "readme": "ERROR: No README data found!"
+}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/32b52cb9/modules/webconfig/nodejs/node_modules/jquery/src/ajax/load.js
----------------------------------------------------------------------
diff --git a/modules/webconfig/nodejs/node_modules/jquery/src/ajax/load.js 
b/modules/webconfig/nodejs/node_modules/jquery/src/ajax/load.js
new file mode 100644
index 0000000..bff25b1
--- /dev/null
+++ b/modules/webconfig/nodejs/node_modules/jquery/src/ajax/load.js
@@ -0,0 +1,75 @@
+define([
+       "../core",
+       "../core/parseHTML",
+       "../ajax",
+       "../traversing",
+       "../manipulation",
+       "../selector",
+       // Optional event/alias dependency
+       "../event/alias"
+], function( jQuery ) {
+
+// Keep a copy of the old load method
+var _load = jQuery.fn.load;
+
+/**
+ * Load a url into a page
+ */
+jQuery.fn.load = function( url, params, callback ) {
+       if ( typeof url !== "string" && _load ) {
+               return _load.apply( this, arguments );
+       }
+
+       var selector, type, response,
+               self = this,
+               off = url.indexOf(" ");
+
+       if ( off >= 0 ) {
+               selector = jQuery.trim( url.slice( off ) );
+               url = url.slice( 0, off );
+       }
+
+       // If it's a function
+       if ( jQuery.isFunction( params ) ) {
+
+               // We assume that it's the callback
+               callback = params;
+               params = undefined;
+
+       // Otherwise, build a param string
+       } else if ( params && typeof params === "object" ) {
+               type = "POST";
+       }
+
+       // If we have elements to modify, make the request
+       if ( self.length > 0 ) {
+               jQuery.ajax({
+                       url: url,
+
+                       // if "type" variable is undefined, then "GET" method 
will be used
+                       type: type,
+                       dataType: "html",
+                       data: params
+               }).done(function( responseText ) {
+
+                       // Save response for use in complete callback
+                       response = arguments;
+
+                       self.html( selector ?
+
+                               // If a selector was specified, locate the 
right elements in a dummy div
+                               // Exclude scripts to avoid IE 'Permission 
Denied' errors
+                               jQuery("<div>").append( jQuery.parseHTML( 
responseText ) ).find( selector ) :
+
+                               // Otherwise use the full result
+                               responseText );
+
+               }).complete( callback && function( jqXHR, status ) {
+                       self.each( callback, response || [ jqXHR.responseText, 
status, jqXHR ] );
+               });
+       }
+
+       return this;
+};
+
+});

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/32b52cb9/modules/webconfig/nodejs/node_modules/jquery/src/callbacks.js
----------------------------------------------------------------------
diff --git a/modules/webconfig/nodejs/node_modules/jquery/src/callbacks.js 
b/modules/webconfig/nodejs/node_modules/jquery/src/callbacks.js
new file mode 100644
index 0000000..17572bb
--- /dev/null
+++ b/modules/webconfig/nodejs/node_modules/jquery/src/callbacks.js
@@ -0,0 +1,205 @@
+define([
+       "./core",
+       "./var/rnotwhite"
+], function( jQuery, rnotwhite ) {
+
+// String to Object options format cache
+var optionsCache = {};
+
+// Convert String-formatted options into Object-formatted ones and store in 
cache
+function createOptions( options ) {
+       var object = optionsCache[ options ] = {};
+       jQuery.each( options.match( rnotwhite ) || [], function( _, flag ) {
+               object[ flag ] = true;
+       });
+       return object;
+}
+
+/*
+ * Create a callback list using the following parameters:
+ *
+ *     options: an optional list of space-separated options that will change 
how
+ *                     the callback list behaves or a more traditional option 
object
+ *
+ * By default a callback list will act like an event callback list and can be
+ * "fired" multiple times.
+ *
+ * Possible options:
+ *
+ *     once:                   will ensure the callback list can only be fired 
once (like a Deferred)
+ *
+ *     memory:                 will keep track of previous values and will 
call any callback added
+ *                                     after the list has been fired right 
away with the latest "memorized"
+ *                                     values (like a Deferred)
+ *
+ *     unique:                 will ensure a callback can only be added once 
(no duplicate in the list)
+ *
+ *     stopOnFalse:    interrupt callings when a callback returns false
+ *
+ */
+jQuery.Callbacks = function( options ) {
+
+       // Convert options from String-formatted to Object-formatted if needed
+       // (we check in cache first)
+       options = typeof options === "string" ?
+               ( optionsCache[ options ] || createOptions( options ) ) :
+               jQuery.extend( {}, options );
+
+       var // Last fire value (for non-forgettable lists)
+               memory,
+               // Flag to know if list was already fired
+               fired,
+               // Flag to know if list is currently firing
+               firing,
+               // First callback to fire (used internally by add and fireWith)
+               firingStart,
+               // End of the loop when firing
+               firingLength,
+               // Index of currently firing callback (modified by remove if 
needed)
+               firingIndex,
+               // Actual callback list
+               list = [],
+               // Stack of fire calls for repeatable lists
+               stack = !options.once && [],
+               // Fire callbacks
+               fire = function( data ) {
+                       memory = options.memory && data;
+                       fired = true;
+                       firingIndex = firingStart || 0;
+                       firingStart = 0;
+                       firingLength = list.length;
+                       firing = true;
+                       for ( ; list && firingIndex < firingLength; 
firingIndex++ ) {
+                               if ( list[ firingIndex ].apply( data[ 0 ], 
data[ 1 ] ) === false && options.stopOnFalse ) {
+                                       memory = false; // To prevent further 
calls using add
+                                       break;
+                               }
+                       }
+                       firing = false;
+                       if ( list ) {
+                               if ( stack ) {
+                                       if ( stack.length ) {
+                                               fire( stack.shift() );
+                                       }
+                               } else if ( memory ) {
+                                       list = [];
+                               } else {
+                                       self.disable();
+                               }
+                       }
+               },
+               // Actual Callbacks object
+               self = {
+                       // Add a callback or a collection of callbacks to the 
list
+                       add: function() {
+                               if ( list ) {
+                                       // First, we save the current length
+                                       var start = list.length;
+                                       (function add( args ) {
+                                               jQuery.each( args, function( _, 
arg ) {
+                                                       var type = jQuery.type( 
arg );
+                                                       if ( type === 
"function" ) {
+                                                               if ( 
!options.unique || !self.has( arg ) ) {
+                                                                       
list.push( arg );
+                                                               }
+                                                       } else if ( arg && 
arg.length && type !== "string" ) {
+                                                               // Inspect 
recursively
+                                                               add( arg );
+                                                       }
+                                               });
+                                       })( arguments );
+                                       // Do we need to add the callbacks to 
the
+                                       // current firing batch?
+                                       if ( firing ) {
+                                               firingLength = list.length;
+                                       // With memory, if we're not firing then
+                                       // we should call right away
+                                       } else if ( memory ) {
+                                               firingStart = start;
+                                               fire( memory );
+                                       }
+                               }
+                               return this;
+                       },
+                       // Remove a callback from the list
+                       remove: function() {
+                               if ( list ) {
+                                       jQuery.each( arguments, function( _, 
arg ) {
+                                               var index;
+                                               while ( ( index = 
jQuery.inArray( arg, list, index ) ) > -1 ) {
+                                                       list.splice( index, 1 );
+                                                       // Handle firing indexes
+                                                       if ( firing ) {
+                                                               if ( index <= 
firingLength ) {
+                                                                       
firingLength--;
+                                                               }
+                                                               if ( index <= 
firingIndex ) {
+                                                                       
firingIndex--;
+                                                               }
+                                                       }
+                                               }
+                                       });
+                               }
+                               return this;
+                       },
+                       // Check if a given callback is in the list.
+                       // If no argument is given, return whether or not list 
has callbacks attached.
+                       has: function( fn ) {
+                               return fn ? jQuery.inArray( fn, list ) > -1 : 
!!( list && list.length );
+                       },
+                       // Remove all callbacks from the list
+                       empty: function() {
+                               list = [];
+                               firingLength = 0;
+                               return this;
+                       },
+                       // Have the list do nothing anymore
+                       disable: function() {
+                               list = stack = memory = undefined;
+                               return this;
+                       },
+                       // Is it disabled?
+                       disabled: function() {
+                               return !list;
+                       },
+                       // Lock the list in its current state
+                       lock: function() {
+                               stack = undefined;
+                               if ( !memory ) {
+                                       self.disable();
+                               }
+                               return this;
+                       },
+                       // Is it locked?
+                       locked: function() {
+                               return !stack;
+                       },
+                       // Call all callbacks with the given context and 
arguments
+                       fireWith: function( context, args ) {
+                               if ( list && ( !fired || stack ) ) {
+                                       args = args || [];
+                                       args = [ context, args.slice ? 
args.slice() : args ];
+                                       if ( firing ) {
+                                               stack.push( args );
+                                       } else {
+                                               fire( args );
+                                       }
+                               }
+                               return this;
+                       },
+                       // Call all the callbacks with the given arguments
+                       fire: function() {
+                               self.fireWith( this, arguments );
+                               return this;
+                       },
+                       // To know if the callbacks have already been called at 
least once
+                       fired: function() {
+                               return !!fired;
+                       }
+               };
+
+       return self;
+};
+
+return jQuery;
+});

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/32b52cb9/modules/webconfig/nodejs/node_modules/jquery/src/core.js
----------------------------------------------------------------------
diff --git a/modules/webconfig/nodejs/node_modules/jquery/src/core.js 
b/modules/webconfig/nodejs/node_modules/jquery/src/core.js
new file mode 100644
index 0000000..6f471ee
--- /dev/null
+++ b/modules/webconfig/nodejs/node_modules/jquery/src/core.js
@@ -0,0 +1,502 @@
+define([
+       "./var/arr",
+       "./var/slice",
+       "./var/concat",
+       "./var/push",
+       "./var/indexOf",
+       "./var/class2type",
+       "./var/toString",
+       "./var/hasOwn",
+       "./var/support"
+], function( arr, slice, concat, push, indexOf, class2type, toString, hasOwn, 
support ) {
+
+var
+       // Use the correct document accordingly with window argument (sandbox)
+       document = window.document,
+
+       version = "@VERSION",
+
+       // Define a local copy of jQuery
+       jQuery = function( selector, context ) {
+               // The jQuery object is actually just the init constructor 
'enhanced'
+               // Need init if jQuery is called (just allow error to be thrown 
if not included)
+               return new jQuery.fn.init( selector, context );
+       },
+
+       // Support: Android<4.1
+       // Make sure we trim BOM and NBSP
+       rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,
+
+       // Matches dashed string for camelizing
+       rmsPrefix = /^-ms-/,
+       rdashAlpha = /-([\da-z])/gi,
+
+       // Used by jQuery.camelCase as callback to replace()
+       fcamelCase = function( all, letter ) {
+               return letter.toUpperCase();
+       };
+
+jQuery.fn = jQuery.prototype = {
+       // The current version of jQuery being used
+       jquery: version,
+
+       constructor: jQuery,
+
+       // Start with an empty selector
+       selector: "",
+
+       // The default length of a jQuery object is 0
+       length: 0,
+
+       toArray: function() {
+               return slice.call( this );
+       },
+
+       // Get the Nth element in the matched element set OR
+       // Get the whole matched element set as a clean array
+       get: function( num ) {
+               return num != null ?
+
+                       // Return just the one element from the set
+                       ( num < 0 ? this[ num + this.length ] : this[ num ] ) :
+
+                       // Return all the elements in a clean array
+                       slice.call( this );
+       },
+
+       // Take an array of elements and push it onto the stack
+       // (returning the new matched element set)
+       pushStack: function( elems ) {
+
+               // Build a new jQuery matched element set
+               var ret = jQuery.merge( this.constructor(), elems );
+
+               // Add the old object onto the stack (as a reference)
+               ret.prevObject = this;
+               ret.context = this.context;
+
+               // Return the newly-formed element set
+               return ret;
+       },
+
+       // Execute a callback for every element in the matched set.
+       // (You can seed the arguments with an array of args, but this is
+       // only used internally.)
+       each: function( callback, args ) {
+               return jQuery.each( this, callback, args );
+       },
+
+       map: function( callback ) {
+               return this.pushStack( jQuery.map(this, function( elem, i ) {
+                       return callback.call( elem, i, elem );
+               }));
+       },
+
+       slice: function() {
+               return this.pushStack( slice.apply( this, arguments ) );
+       },
+
+       first: function() {
+               return this.eq( 0 );
+       },
+
+       last: function() {
+               return this.eq( -1 );
+       },
+
+       eq: function( i ) {
+               var len = this.length,
+                       j = +i + ( i < 0 ? len : 0 );
+               return this.pushStack( j >= 0 && j < len ? [ this[j] ] : [] );
+       },
+
+       end: function() {
+               return this.prevObject || this.constructor(null);
+       },
+
+       // For internal use only.
+       // Behaves like an Array's method, not like a jQuery method.
+       push: push,
+       sort: arr.sort,
+       splice: arr.splice
+};
+
+jQuery.extend = jQuery.fn.extend = function() {
+       var options, name, src, copy, copyIsArray, clone,
+               target = arguments[0] || {},
+               i = 1,
+               length = arguments.length,
+               deep = false;
+
+       // Handle a deep copy situation
+       if ( typeof target === "boolean" ) {
+               deep = target;
+
+               // Skip the boolean and the target
+               target = arguments[ i ] || {};
+               i++;
+       }
+
+       // Handle case when target is a string or something (possible in deep 
copy)
+       if ( typeof target !== "object" && !jQuery.isFunction(target) ) {
+               target = {};
+       }
+
+       // Extend jQuery itself if only one argument is passed
+       if ( i === length ) {
+               target = this;
+               i--;
+       }
+
+       for ( ; i < length; i++ ) {
+               // Only deal with non-null/undefined values
+               if ( (options = arguments[ i ]) != null ) {
+                       // Extend the base object
+                       for ( name in options ) {
+                               src = target[ name ];
+                               copy = options[ name ];
+
+                               // Prevent never-ending loop
+                               if ( target === copy ) {
+                                       continue;
+                               }
+
+                               // Recurse if we're merging plain objects or 
arrays
+                               if ( deep && copy && ( 
jQuery.isPlainObject(copy) || (copyIsArray = jQuery.isArray(copy)) ) ) {
+                                       if ( copyIsArray ) {
+                                               copyIsArray = false;
+                                               clone = src && 
jQuery.isArray(src) ? src : [];
+
+                                       } else {
+                                               clone = src && 
jQuery.isPlainObject(src) ? src : {};
+                                       }
+
+                                       // Never move original objects, clone 
them
+                                       target[ name ] = jQuery.extend( deep, 
clone, copy );
+
+                               // Don't bring in undefined values
+                               } else if ( copy !== undefined ) {
+                                       target[ name ] = copy;
+                               }
+                       }
+               }
+       }
+
+       // Return the modified object
+       return target;
+};
+
+jQuery.extend({
+       // Unique for each copy of jQuery on the page
+       expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ),
+
+       // Assume jQuery is ready without the ready module
+       isReady: true,
+
+       error: function( msg ) {
+               throw new Error( msg );
+       },
+
+       noop: function() {},
+
+       isFunction: function( obj ) {
+               return jQuery.type(obj) === "function";
+       },
+
+       isArray: Array.isArray,
+
+       isWindow: function( obj ) {
+               return obj != null && obj === obj.window;
+       },
+
+       isNumeric: function( obj ) {
+               // parseFloat NaNs numeric-cast false positives 
(null|true|false|"")
+               // ...but misinterprets leading-number strings, particularly 
hex literals ("0x...")
+               // subtraction forces infinities to NaN
+               // adding 1 corrects loss of precision from parseFloat (#15100)
+               return !jQuery.isArray( obj ) && (obj - parseFloat( obj ) + 1) 
>= 0;
+       },
+
+       isPlainObject: function( obj ) {
+               // Not plain objects:
+               // - Any object or value whose internal [[Class]] property is 
not "[object Object]"
+               // - DOM nodes
+               // - window
+               if ( jQuery.type( obj ) !== "object" || obj.nodeType || 
jQuery.isWindow( obj ) ) {
+                       return false;
+               }
+
+               if ( obj.constructor &&
+                               !hasOwn.call( obj.constructor.prototype, 
"isPrototypeOf" ) ) {
+                       return false;
+               }
+
+               // If the function hasn't returned already, we're confident that
+               // |obj| is a plain object, created by {} or constructed with 
new Object
+               return true;
+       },
+
+       isEmptyObject: function( obj ) {
+               var name;
+               for ( name in obj ) {
+                       return false;
+               }
+               return true;
+       },
+
+       type: function( obj ) {
+               if ( obj == null ) {
+                       return obj + "";
+               }
+               // Support: Android<4.0, iOS<6 (functionish RegExp)
+               return typeof obj === "object" || typeof obj === "function" ?
+                       class2type[ toString.call(obj) ] || "object" :
+                       typeof obj;
+       },
+
+       // Evaluates a script in a global context
+       globalEval: function( code ) {
+               var script,
+                       indirect = eval;
+
+               code = jQuery.trim( code );
+
+               if ( code ) {
+                       // If the code includes a valid, prologue position
+                       // strict mode pragma, execute code by injecting a
+                       // script tag into the document.
+                       if ( code.indexOf("use strict") === 1 ) {
+                               script = document.createElement("script");
+                               script.text = code;
+                               document.head.appendChild( script 
).parentNode.removeChild( script );
+                       } else {
+                       // Otherwise, avoid the DOM node creation, insertion
+                       // and removal by using an indirect global eval
+                               indirect( code );
+                       }
+               }
+       },
+
+       // Convert dashed to camelCase; used by the css and data modules
+       // Support: IE9-11+
+       // Microsoft forgot to hump their vendor prefix (#9572)
+       camelCase: function( string ) {
+               return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, 
fcamelCase );
+       },
+
+       nodeName: function( elem, name ) {
+               return elem.nodeName && elem.nodeName.toLowerCase() === 
name.toLowerCase();
+       },
+
+       // args is for internal usage only
+       each: function( obj, callback, args ) {
+               var value,
+                       i = 0,
+                       length = obj.length,
+                       isArray = isArraylike( obj );
+
+               if ( args ) {
+                       if ( isArray ) {
+                               for ( ; i < length; i++ ) {
+                                       value = callback.apply( obj[ i ], args 
);
+
+                                       if ( value === false ) {
+                                               break;
+                                       }
+                               }
+                       } else {
+                               for ( i in obj ) {
+                                       value = callback.apply( obj[ i ], args 
);
+
+                                       if ( value === false ) {
+                                               break;
+                                       }
+                               }
+                       }
+
+               // A special, fast, case for the most common use of each
+               } else {
+                       if ( isArray ) {
+                               for ( ; i < length; i++ ) {
+                                       value = callback.call( obj[ i ], i, 
obj[ i ] );
+
+                                       if ( value === false ) {
+                                               break;
+                                       }
+                               }
+                       } else {
+                               for ( i in obj ) {
+                                       value = callback.call( obj[ i ], i, 
obj[ i ] );
+
+                                       if ( value === false ) {
+                                               break;
+                                       }
+                               }
+                       }
+               }
+
+               return obj;
+       },
+
+       // Support: Android<4.1
+       trim: function( text ) {
+               return text == null ?
+                       "" :
+                       ( text + "" ).replace( rtrim, "" );
+       },
+
+       // results is for internal usage only
+       makeArray: function( arr, results ) {
+               var ret = results || [];
+
+               if ( arr != null ) {
+                       if ( isArraylike( Object(arr) ) ) {
+                               jQuery.merge( ret,
+                                       typeof arr === "string" ?
+                                       [ arr ] : arr
+                               );
+                       } else {
+                               push.call( ret, arr );
+                       }
+               }
+
+               return ret;
+       },
+
+       inArray: function( elem, arr, i ) {
+               return arr == null ? -1 : indexOf.call( arr, elem, i );
+       },
+
+       merge: function( first, second ) {
+               var len = +second.length,
+                       j = 0,
+                       i = first.length;
+
+               for ( ; j < len; j++ ) {
+                       first[ i++ ] = second[ j ];
+               }
+
+               first.length = i;
+
+               return first;
+       },
+
+       grep: function( elems, callback, invert ) {
+               var callbackInverse,
+                       matches = [],
+                       i = 0,
+                       length = elems.length,
+                       callbackExpect = !invert;
+
+               // Go through the array, only saving the items
+               // that pass the validator function
+               for ( ; i < length; i++ ) {
+                       callbackInverse = !callback( elems[ i ], i );
+                       if ( callbackInverse !== callbackExpect ) {
+                               matches.push( elems[ i ] );
+                       }
+               }
+
+               return matches;
+       },
+
+       // arg is for internal usage only
+       map: function( elems, callback, arg ) {
+               var value,
+                       i = 0,
+                       length = elems.length,
+                       isArray = isArraylike( elems ),
+                       ret = [];
+
+               // Go through the array, translating each of the items to their 
new values
+               if ( isArray ) {
+                       for ( ; i < length; i++ ) {
+                               value = callback( elems[ i ], i, arg );
+
+                               if ( value != null ) {
+                                       ret.push( value );
+                               }
+                       }
+
+               // Go through every key on the object,
+               } else {
+                       for ( i in elems ) {
+                               value = callback( elems[ i ], i, arg );
+
+                               if ( value != null ) {
+                                       ret.push( value );
+                               }
+                       }
+               }
+
+               // Flatten any nested arrays
+               return concat.apply( [], ret );
+       },
+
+       // A global GUID counter for objects
+       guid: 1,
+
+       // Bind a function to a context, optionally partially applying any
+       // arguments.
+       proxy: function( fn, context ) {
+               var tmp, args, proxy;
+
+               if ( typeof context === "string" ) {
+                       tmp = fn[ context ];
+                       context = fn;
+                       fn = tmp;
+               }
+
+               // Quick check to determine if target is callable, in the spec
+               // this throws a TypeError, but we will just return undefined.
+               if ( !jQuery.isFunction( fn ) ) {
+                       return undefined;
+               }
+
+               // Simulated bind
+               args = slice.call( arguments, 2 );
+               proxy = function() {
+                       return fn.apply( context || this, args.concat( 
slice.call( arguments ) ) );
+               };
+
+               // Set the guid of unique handler to the same of original 
handler, so it can be removed
+               proxy.guid = fn.guid = fn.guid || jQuery.guid++;
+
+               return proxy;
+       },
+
+       now: Date.now,
+
+       // jQuery.support is not used in Core but other projects attach their
+       // properties to it so it needs to exist.
+       support: support
+});
+
+// Populate the class2type map
+jQuery.each("Boolean Number String Function Array Date RegExp Object 
Error".split(" "), function(i, name) {
+       class2type[ "[object " + name + "]" ] = name.toLowerCase();
+});
+
+function isArraylike( obj ) {
+
+       // Support: iOS 8.2 (not reproducible in simulator)
+       // `in` check used to prevent JIT error (gh-2145)
+       // hasOwn isn't used here due to false negatives
+       // regarding Nodelist length in IE
+       var length = "length" in obj && obj.length,
+               type = jQuery.type( obj );
+
+       if ( type === "function" || jQuery.isWindow( obj ) ) {
+               return false;
+       }
+
+       if ( obj.nodeType === 1 && length ) {
+               return true;
+       }
+
+       return type === "array" || length === 0 ||
+               typeof length === "number" && length > 0 && ( length - 1 ) in 
obj;
+}
+
+return jQuery;
+});

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/32b52cb9/modules/webconfig/nodejs/node_modules/jquery/src/core/ready.js
----------------------------------------------------------------------
diff --git a/modules/webconfig/nodejs/node_modules/jquery/src/core/ready.js 
b/modules/webconfig/nodejs/node_modules/jquery/src/core/ready.js
new file mode 100644
index 0000000..db1a6e6
--- /dev/null
+++ b/modules/webconfig/nodejs/node_modules/jquery/src/core/ready.js
@@ -0,0 +1,97 @@
+define([
+       "../core",
+       "../core/init",
+       "../deferred"
+], function( jQuery ) {
+
+// The deferred used on DOM ready
+var readyList;
+
+jQuery.fn.ready = function( fn ) {
+       // Add the callback
+       jQuery.ready.promise().done( fn );
+
+       return this;
+};
+
+jQuery.extend({
+       // Is the DOM ready to be used? Set to true once it occurs.
+       isReady: false,
+
+       // A counter to track how many items to wait for before
+       // the ready event fires. See #6781
+       readyWait: 1,
+
+       // Hold (or release) the ready event
+       holdReady: function( hold ) {
+               if ( hold ) {
+                       jQuery.readyWait++;
+               } else {
+                       jQuery.ready( true );
+               }
+       },
+
+       // Handle when the DOM is ready
+       ready: function( wait ) {
+
+               // Abort if there are pending holds or we're already ready
+               if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) {
+                       return;
+               }
+
+               // Remember that the DOM is ready
+               jQuery.isReady = true;
+
+               // If a normal DOM Ready event fired, decrement, and wait if 
need be
+               if ( wait !== true && --jQuery.readyWait > 0 ) {
+                       return;
+               }
+
+               // If there are functions bound, to execute
+               readyList.resolveWith( document, [ jQuery ] );
+
+               // Trigger any bound ready events
+               if ( jQuery.fn.triggerHandler ) {
+                       jQuery( document ).triggerHandler( "ready" );
+                       jQuery( document ).off( "ready" );
+               }
+       }
+});
+
+/**
+ * The ready event handler and self cleanup method
+ */
+function completed() {
+       document.removeEventListener( "DOMContentLoaded", completed, false );
+       window.removeEventListener( "load", completed, false );
+       jQuery.ready();
+}
+
+jQuery.ready.promise = function( obj ) {
+       if ( !readyList ) {
+
+               readyList = jQuery.Deferred();
+
+               // Catch cases where $(document).ready() is called after the 
browser event has already occurred.
+               // We once tried to use readyState "interactive" here, but it 
caused issues like the one
+               // discovered by ChrisS here: 
http://bugs.jquery.com/ticket/12282#comment:15
+               if ( document.readyState === "complete" ) {
+                       // Handle it asynchronously to allow scripts the 
opportunity to delay ready
+                       setTimeout( jQuery.ready );
+
+               } else {
+
+                       // Use the handy event callback
+                       document.addEventListener( "DOMContentLoaded", 
completed, false );
+
+                       // A fallback to window.onload, that will always work
+                       window.addEventListener( "load", completed, false );
+               }
+       }
+       return readyList.promise( obj );
+};
+
+// Kick off the DOM ready check even if the user does not
+jQuery.ready.promise();
+
+});

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/32b52cb9/modules/webconfig/nodejs/node_modules/jquery/src/core/var/rsingleTag.js
----------------------------------------------------------------------
diff --git 
a/modules/webconfig/nodejs/node_modules/jquery/src/core/var/rsingleTag.js 
b/modules/webconfig/nodejs/node_modules/jquery/src/core/var/rsingleTag.js
new file mode 100644
index 0000000..7e7090b
--- /dev/null
+++ b/modules/webconfig/nodejs/node_modules/jquery/src/core/var/rsingleTag.js
@@ -0,0 +1,4 @@
+define(function() {
+       // Match a standalone tag
+       return (/^<(\w+)\s*\/?>(?:<\/\1>|)$/);
+});

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/32b52cb9/modules/webconfig/nodejs/node_modules/jquery/src/css/var/rnumnonpx.js
----------------------------------------------------------------------
diff --git 
a/modules/webconfig/nodejs/node_modules/jquery/src/css/var/rnumnonpx.js 
b/modules/webconfig/nodejs/node_modules/jquery/src/css/var/rnumnonpx.js
new file mode 100644
index 0000000..c93be28
--- /dev/null
+++ b/modules/webconfig/nodejs/node_modules/jquery/src/css/var/rnumnonpx.js
@@ -0,0 +1,5 @@
+define([
+       "../../var/pnum"
+], function( pnum ) {
+       return new RegExp( "^(" + pnum + ")(?!px)[a-z%]+$", "i" );
+});

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/32b52cb9/modules/webconfig/nodejs/node_modules/jquery/src/manipulation/_evalUrl.js
----------------------------------------------------------------------
diff --git 
a/modules/webconfig/nodejs/node_modules/jquery/src/manipulation/_evalUrl.js 
b/modules/webconfig/nodejs/node_modules/jquery/src/manipulation/_evalUrl.js
new file mode 100644
index 0000000..6704749
--- /dev/null
+++ b/modules/webconfig/nodejs/node_modules/jquery/src/manipulation/_evalUrl.js
@@ -0,0 +1,18 @@
+define([
+       "../ajax"
+], function( jQuery ) {
+
+jQuery._evalUrl = function( url ) {
+       return jQuery.ajax({
+               url: url,
+               type: "GET",
+               dataType: "script",
+               async: false,
+               global: false,
+               "throws": true
+       });
+};
+
+return jQuery._evalUrl;
+
+});

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/32b52cb9/modules/webconfig/nodejs/node_modules/jquery/src/manipulation/support.js
----------------------------------------------------------------------
diff --git 
a/modules/webconfig/nodejs/node_modules/jquery/src/manipulation/support.js 
b/modules/webconfig/nodejs/node_modules/jquery/src/manipulation/support.js
new file mode 100644
index 0000000..822a014
--- /dev/null
+++ b/modules/webconfig/nodejs/node_modules/jquery/src/manipulation/support.js
@@ -0,0 +1,32 @@
+define([
+       "../var/support"
+], function( support ) {
+
+(function() {
+       var fragment = document.createDocumentFragment(),
+               div = fragment.appendChild( document.createElement( "div" ) ),
+               input = document.createElement( "input" );
+
+       // Support: Safari<=5.1
+       // Check state lost if the name is set (#11217)
+       // Support: Windows Web Apps (WWA)
+       // `name` and `type` must use .setAttribute for WWA (#14901)
+       input.setAttribute( "type", "radio" );
+       input.setAttribute( "checked", "checked" );
+       input.setAttribute( "name", "t" );
+
+       div.appendChild( input );
+
+       // Support: Safari<=5.1, Android<4.2
+       // Older WebKit doesn't clone checked state correctly in fragments
+       support.checkClone = div.cloneNode( true ).cloneNode( true 
).lastChild.checked;
+
+       // Support: IE<=11+
+       // Make sure textarea (and checkbox) defaultValue is properly cloned
+       div.innerHTML = "<textarea>x</textarea>";
+       support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue;
+})();
+
+return support;
+
+});

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/32b52cb9/modules/webconfig/nodejs/node_modules/jquery/src/manipulation/var/rcheckableType.js
----------------------------------------------------------------------
diff --git 
a/modules/webconfig/nodejs/node_modules/jquery/src/manipulation/var/rcheckableType.js
 
b/modules/webconfig/nodejs/node_modules/jquery/src/manipulation/var/rcheckableType.js
new file mode 100644
index 0000000..c27a15d
--- /dev/null
+++ 
b/modules/webconfig/nodejs/node_modules/jquery/src/manipulation/var/rcheckableType.js
@@ -0,0 +1,3 @@
+define(function() {
+       return (/^(?:checkbox|radio)$/i);
+});

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/32b52cb9/modules/webconfig/nodejs/node_modules/jquery/src/offset.js
----------------------------------------------------------------------
diff --git a/modules/webconfig/nodejs/node_modules/jquery/src/offset.js 
b/modules/webconfig/nodejs/node_modules/jquery/src/offset.js
new file mode 100644
index 0000000..4c34fd0
--- /dev/null
+++ b/modules/webconfig/nodejs/node_modules/jquery/src/offset.js
@@ -0,0 +1,207 @@
+define([
+       "./core",
+       "./var/strundefined",
+       "./core/access",
+       "./css/var/rnumnonpx",
+       "./css/curCSS",
+       "./css/addGetHookIf",
+       "./css/support",
+
+       "./core/init",
+       "./css",
+       "./selector" // contains
+], function( jQuery, strundefined, access, rnumnonpx, curCSS, addGetHookIf, 
support ) {
+
+var docElem = window.document.documentElement;
+
+/**
+ * Gets a window from an element
+ */
+function getWindow( elem ) {
+       return jQuery.isWindow( elem ) ? elem : elem.nodeType === 9 && 
elem.defaultView;
+}
+
+jQuery.offset = {
+       setOffset: function( elem, options, i ) {
+               var curPosition, curLeft, curCSSTop, curTop, curOffset, 
curCSSLeft, calculatePosition,
+                       position = jQuery.css( elem, "position" ),
+                       curElem = jQuery( elem ),
+                       props = {};
+
+               // Set position first, in-case top/left are set even on static 
elem
+               if ( position === "static" ) {
+                       elem.style.position = "relative";
+               }
+
+               curOffset = curElem.offset();
+               curCSSTop = jQuery.css( elem, "top" );
+               curCSSLeft = jQuery.css( elem, "left" );
+               calculatePosition = ( position === "absolute" || position === 
"fixed" ) &&
+                       ( curCSSTop + curCSSLeft ).indexOf("auto") > -1;
+
+               // Need to be able to calculate position if either
+               // top or left is auto and position is either absolute or fixed
+               if ( calculatePosition ) {
+                       curPosition = curElem.position();
+                       curTop = curPosition.top;
+                       curLeft = curPosition.left;
+
+               } else {
+                       curTop = parseFloat( curCSSTop ) || 0;
+                       curLeft = parseFloat( curCSSLeft ) || 0;
+               }
+
+               if ( jQuery.isFunction( options ) ) {
+                       options = options.call( elem, i, curOffset );
+               }
+
+               if ( options.top != null ) {
+                       props.top = ( options.top - curOffset.top ) + curTop;
+               }
+               if ( options.left != null ) {
+                       props.left = ( options.left - curOffset.left ) + 
curLeft;
+               }
+
+               if ( "using" in options ) {
+                       options.using.call( elem, props );
+
+               } else {
+                       curElem.css( props );
+               }
+       }
+};
+
+jQuery.fn.extend({
+       offset: function( options ) {
+               if ( arguments.length ) {
+                       return options === undefined ?
+                               this :
+                               this.each(function( i ) {
+                                       jQuery.offset.setOffset( this, options, 
i );
+                               });
+               }
+
+               var docElem, win,
+                       elem = this[ 0 ],
+                       box = { top: 0, left: 0 },
+                       doc = elem && elem.ownerDocument;
+
+               if ( !doc ) {
+                       return;
+               }
+
+               docElem = doc.documentElement;
+
+               // Make sure it's not a disconnected DOM node
+               if ( !jQuery.contains( docElem, elem ) ) {
+                       return box;
+               }
+
+               // Support: BlackBerry 5, iOS 3 (original iPhone)
+               // If we don't have gBCR, just use 0,0 rather than error
+               if ( typeof elem.getBoundingClientRect !== strundefined ) {
+                       box = elem.getBoundingClientRect();
+               }
+               win = getWindow( doc );
+               return {
+                       top: box.top + win.pageYOffset - docElem.clientTop,
+                       left: box.left + win.pageXOffset - docElem.clientLeft
+               };
+       },
+
+       position: function() {
+               if ( !this[ 0 ] ) {
+                       return;
+               }
+
+               var offsetParent, offset,
+                       elem = this[ 0 ],
+                       parentOffset = { top: 0, left: 0 };
+
+               // Fixed elements are offset from window (parentOffset = 
{top:0, left: 0}, because it is its only offset parent
+               if ( jQuery.css( elem, "position" ) === "fixed" ) {
+                       // Assume getBoundingClientRect is there when computed 
position is fixed
+                       offset = elem.getBoundingClientRect();
+
+               } else {
+                       // Get *real* offsetParent
+                       offsetParent = this.offsetParent();
+
+                       // Get correct offsets
+                       offset = this.offset();
+                       if ( !jQuery.nodeName( offsetParent[ 0 ], "html" ) ) {
+                               parentOffset = offsetParent.offset();
+                       }
+
+                       // Add offsetParent borders
+                       parentOffset.top += jQuery.css( offsetParent[ 0 ], 
"borderTopWidth", true );
+                       parentOffset.left += jQuery.css( offsetParent[ 0 ], 
"borderLeftWidth", true );
+               }
+
+               // Subtract parent offsets and element margins
+               return {
+                       top: offset.top - parentOffset.top - jQuery.css( elem, 
"marginTop", true ),
+                       left: offset.left - parentOffset.left - jQuery.css( 
elem, "marginLeft", true )
+               };
+       },
+
+       offsetParent: function() {
+               return this.map(function() {
+                       var offsetParent = this.offsetParent || docElem;
+
+                       while ( offsetParent && ( !jQuery.nodeName( 
offsetParent, "html" ) && jQuery.css( offsetParent, "position" ) === "static" ) 
) {
+                               offsetParent = offsetParent.offsetParent;
+                       }
+
+                       return offsetParent || docElem;
+               });
+       }
+});
+
+// Create scrollLeft and scrollTop methods
+jQuery.each( { scrollLeft: "pageXOffset", scrollTop: "pageYOffset" }, 
function( method, prop ) {
+       var top = "pageYOffset" === prop;
+
+       jQuery.fn[ method ] = function( val ) {
+               return access( this, function( elem, method, val ) {
+                       var win = getWindow( elem );
+
+                       if ( val === undefined ) {
+                               return win ? win[ prop ] : elem[ method ];
+                       }
+
+                       if ( win ) {
+                               win.scrollTo(
+                                       !top ? val : window.pageXOffset,
+                                       top ? val : window.pageYOffset
+                               );
+
+                       } else {
+                               elem[ method ] = val;
+                       }
+               }, method, val, arguments.length, null );
+       };
+});
+
+// Support: Safari<7+, Chrome<37+
+// Add the top/left cssHooks using jQuery.fn.position
+// Webkit bug: https://bugs.webkit.org/show_bug.cgi?id=29084
+// Blink bug: https://code.google.com/p/chromium/issues/detail?id=229280
+// getComputedStyle returns percent when specified for top/left/bottom/right;
+// rather than make the css module depend on the offset module, just check for 
it here
+jQuery.each( [ "top", "left" ], function( i, prop ) {
+       jQuery.cssHooks[ prop ] = addGetHookIf( support.pixelPosition,
+               function( elem, computed ) {
+                       if ( computed ) {
+                               computed = curCSS( elem, prop );
+                               // If curCSS returns percentage, fallback to 
offset
+                               return rnumnonpx.test( computed ) ?
+                                       jQuery( elem ).position()[ prop ] + 
"px" :
+                                       computed;
+                       }
+               }
+       );
+});
+
+return jQuery;
+});

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/32b52cb9/modules/webconfig/nodejs/node_modules/jquery/src/outro.js
----------------------------------------------------------------------
diff --git a/modules/webconfig/nodejs/node_modules/jquery/src/outro.js 
b/modules/webconfig/nodejs/node_modules/jquery/src/outro.js
new file mode 100644
index 0000000..be4600a
--- /dev/null
+++ b/modules/webconfig/nodejs/node_modules/jquery/src/outro.js
@@ -0,0 +1 @@
+}));

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/32b52cb9/modules/webconfig/nodejs/node_modules/jquery/src/queue/delay.js
----------------------------------------------------------------------
diff --git a/modules/webconfig/nodejs/node_modules/jquery/src/queue/delay.js 
b/modules/webconfig/nodejs/node_modules/jquery/src/queue/delay.js
new file mode 100644
index 0000000..4b4498c
--- /dev/null
+++ b/modules/webconfig/nodejs/node_modules/jquery/src/queue/delay.js
@@ -0,0 +1,22 @@
+define([
+       "../core",
+       "../queue",
+       "../effects" // Delay is optional because of this dependency
+], function( jQuery ) {
+
+// Based off of the plugin by Clint Helfers, with permission.
+// http://blindsignals.com/index.php/2009/07/jquery-delay/
+jQuery.fn.delay = function( time, type ) {
+       time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time;
+       type = type || "fx";
+
+       return this.queue( type, function( next, hooks ) {
+               var timeout = setTimeout( next, time );
+               hooks.stop = function() {
+                       clearTimeout( timeout );
+               };
+       });
+};
+
+return jQuery.fn.delay;
+});

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/32b52cb9/modules/webconfig/nodejs/node_modules/jquery/src/selector.js
----------------------------------------------------------------------
diff --git a/modules/webconfig/nodejs/node_modules/jquery/src/selector.js 
b/modules/webconfig/nodejs/node_modules/jquery/src/selector.js
new file mode 100644
index 0000000..01e9733
--- /dev/null
+++ b/modules/webconfig/nodejs/node_modules/jquery/src/selector.js
@@ -0,0 +1 @@
+define([ "./selector-sizzle" ]);

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/32b52cb9/modules/webconfig/nodejs/node_modules/jquery/src/sizzle/dist/sizzle.min.js
----------------------------------------------------------------------
diff --git 
a/modules/webconfig/nodejs/node_modules/jquery/src/sizzle/dist/sizzle.min.js 
b/modules/webconfig/nodejs/node_modules/jquery/src/sizzle/dist/sizzle.min.js
new file mode 100644
index 0000000..cf4d1a6
--- /dev/null
+++ b/modules/webconfig/nodejs/node_modules/jquery/src/sizzle/dist/sizzle.min.js
@@ -0,0 +1,3 @@
+/*! Sizzle v2.2.0-pre | (c) 2008, 2014 jQuery Foundation, Inc. | 
jquery.org/license */
+!function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new 
Date,v=a.document,w=0,x=0,y=hb(),z=hb(),A=hb(),B=function(a,b){return 
a===b&&(l=!0),0},C=1<<31,D={}.hasOwnProperty,E=[],F=E.pop,G=E.push,H=E.push,I=E.slice,J=function(a,b){for(var
 c=0,d=a.length;d>c;c++)if(a[c]===b)return 
c;return-1},K="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",L="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",N=M.replace("w","w#"),O="\\["+L+"*("+M+")(?:"+L+"*([*^$|!~]?=)"+L+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+N+"))|)"+L+"*\\]",P=":("+M+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+O+")*)|.*)\\)|)",Q=new
 RegExp(L+"+","g"),R=new 
RegExp("^"+L+"+|((?:^|[^\\\\])(?:\\\\.)*)"+L+"+$","g"),S=new 
RegExp("^"+L+"*,"+L+"*"),T=new RegExp("^"+L+"*([>+~]|"+L+")"+L+"*"),U=new 
RegExp("="+L+"*([^\\]'\"]*?)"+L+"*\\]","g"),V=new RegExp(P),W=new 
RegExp("^"+N+"$
 "),X={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),TAG:new 
RegExp("^("+M.replace("w","w*")+")"),ATTR:new RegExp("^"+O),PSEUDO:new 
RegExp("^"+P),CHILD:new 
RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+L+"*(even|odd|(([+-]|)(\\d*)n|)"+L+"*(?:([+-]|)"+L+"*(\\d+)|))"+L+"*\\)|)","i"),bool:new
 RegExp("^(?:"+K+")$","i"),needsContext:new 
RegExp("^"+L+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+L+"*((?:-\\d)?\\d*)"+L+"*\\)|)(?=[^-]|$)","i")},Y=/^(?:input|select|textarea|button)$/i,Z=/^h\d$/i,$=/^[^{]+\{\s*\[native
 \w/,_=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ab=/[+~]/,bb=/'|\\/g,cb=new 
RegExp("\\\\([\\da-f]{1,6}"+L+"?|("+L+")|.)","ig"),db=function(a,b,c){var 
d="0x"+b-65536;return 
d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},eb=function(){m()};try{H.apply(E=I.call(v.childNodes),v.childNodes),E[v.childNodes.length].nodeType}catch(fb){H={apply:E.length?function(a,b){G.apply(a,I.call(b))}:function(a,b){var
 c=a.lengt
 h,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function gb(a,b,d,e){var 
f,h,j,k,l,o,r,s,w,x;if((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,d=d||[],k=b.nodeType,"string"!=typeof
 a||!a||1!==k&&9!==k&&11!==k)return 
d;if(!e&&p){if(11!==k&&(f=_.exec(a)))if(j=f[1]){if(9===k){if(h=b.getElementById(j),!h||!h.parentNode)return
 d;if(h.id===j)return d.push(h),d}else 
if(b.ownerDocument&&(h=b.ownerDocument.getElementById(j))&&t(b,h)&&h.id===j)return
 d.push(h),d}else{if(f[2])return 
H.apply(d,b.getElementsByTagName(a)),d;if((j=f[3])&&c.getElementsByClassName)return
 
H.apply(d,b.getElementsByClassName(j)),d}if(c.qsa&&(!q||!q.test(a))){if(s=r=u,w=b,x=1!==k&&a,1===k&&"object"!==b.nodeName.toLowerCase()){o=g(a),(r=b.getAttribute("id"))?s=r.replace(bb,"\\$&"):b.setAttribute("id",s),s="[id='"+s+"']
 
",l=o.length;while(l--)o[l]=s+rb(o[l]);w=ab.test(a)&&pb(b.parentNode)||b,x=o.join(",")}if(x)try{return
 
H.apply(d,w.querySelectorAll(x)),d}catch(y){}finally{r||b.removeAttribute("id")}}}return
 i(a.replace(R,"$1"),b,d,
 e)}function hb(){var a=[];function b(c,e){return a.push(c+" 
")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ib(a){return 
a[u]=!0,a}function jb(a){var 
b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function
 kb(a,b){var c=a.split("|"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function 
lb(a,b){var 
c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||C)-(~a.sourceIndex||C);if(d)return
 d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function 
mb(a){return function(b){var 
c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function nb(a){return 
function(b){var 
c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function
 ob(a){return ib(function(b){return b=+b,ib(function(c,d){var 
e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function
 pb(a){return a&&"undefined"!=typeof 
a.getElementsByTagName&&a}c=gb.support={},f=gb.isXML=f
 unction(a){var b=a&&(a.ownerDocument||a).documentElement;return 
b?"HTML"!==b.nodeName:!1},m=gb.setDocument=function(a){var 
b,e,g=a?a.ownerDocument||a:v;return 
g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=g.documentElement,e=g.defaultView,e&&e!==e.top&&(e.addEventListener?e.addEventListener("unload",eb,!1):e.attachEvent&&e.attachEvent("onunload",eb)),p=!f(g),c.attributes=jb(function(a){return
 
a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=jb(function(a){return
 
a.appendChild(g.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=$.test(g.getElementsByClassName),c.getById=jb(function(a){return
 
o.appendChild(a).id=u,!g.getElementsByName||!g.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if("undefined"!=typeof
 b.getElementById&&p){var c=b.getElementById(a);return 
c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(cb,db);return 
function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID
 =function(a){var b=a.replace(cb,db);return function(a){var 
c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return 
c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof
 
b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void
 0}:function(a,b){var 
c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return
 d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return 
p?b.getElementsByClassName(a):void 
0},r=[],q=[],(c.qsa=$.test(g.querySelectorAll))&&(jb(function(a){o.appendChild(a).innerHTML="<a
 id='"+u+"'></a><select id='"+u+"-\f]' msallowcapture=''><option 
selected=''></option></select>",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+L+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+L+"*(?:value|"+K+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checke
 
d"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),jb(function(a){var
 
b=g.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+L+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=$.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&jb(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",P)}),q=q.length&&new
 RegExp(q.join("|")),r=r.length&&new 
RegExp(r.join("|")),b=$.test(o.compareDocumentPosition),t=b||$.test(o.contains)?function(a,b){var
 c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return 
a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?functi
 on(a,b){if(a===b)return l=!0,0;var 
d=!a.compareDocumentPosition-!b.compareDocumentPosition;return 
d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===g||a.ownerDocument===v&&t(v,a)?-1:b===g||b.ownerDocument===v&&t(v,b)?1:k?J(k,a)-J(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return
 l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,h=[a],i=[b];if(!e||!f)return 
a===g?-1:b===g?1:e?-1:f?1:k?J(k,a)-J(k,b):0;if(e===f)return 
lb(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)i.unshift(c);while(h[d]===i[d])d++;return
 
d?lb(h[d],i[d]):h[d]===v?-1:i[d]===v?1:0},g):n},gb.matches=function(a,b){return 
gb(a,null,null,b)},gb.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(U,"='$1']"),!(!c.matchesSelector||!p||r&&r.test(b)||q&&q.test(b)))try{var
 
d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return
 d}catch(e){}return gb(b,n,null,[a]).length
 >0},gb.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},gb.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var
 > 
 >e=d.attrHandle[b.toLowerCase()],f=e&&D.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void
 > 0;return void 
 >0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},gb.error=function(a){throw
 > new Error("Syntax error, unrecognized expression: 
 >"+a)},gb.uniqueSort=function(a){var 
 >b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return
 > k=null,a},e=gb.getText=function(a){var 
 >b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof 
 >a.textContent)return 
 >a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else 
 >if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return 
 >c},d=gb.selectors={cacheLength:50,createPseudo:ib,match:X,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0},"
 > ":{dir
 
:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return
 
a[1]=a[1].replace(cb,db),a[3]=(a[3]||a[4]||a[5]||"").replace(cb,db),"~="===a[2]&&(a[3]="
 "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return 
a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||gb.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&gb.error(a[0]),a},PSEUDO:function(a){var
 b,c=!a[6]&&a[2];return 
X.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&V.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var
 
b=a.replace(cb,db).toLowerCase();return"*"===a?function(){return!0}:function(a){return
 a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" 
"];return b||(b=new RegExp("(^|"+L+")"+a+"("+L+"|$)"))&&y(a,function(a){return 
b.test("string"==typeof a.className&&a.className||"undefined"!=type
 of a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return 
function(d){var e=gb.attr(d,a);return 
null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?("
 "+e.replace(Q," ")+" 
").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var
 f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 
1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var 
j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){k=q[u]||(q[u]={}),j=k[a]||[],n=j[0]===w&&j[1],m=j[0]===w&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[w,n,m];break}}els
 e if(s&&(j=(b[u]||(b[u]={}))[a])&&j[0]===w)m=j[1];else 
while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(s&&((l[u]||(l[u]={}))[a]=[w,m]),l===b))break;return
 m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var 
c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||gb.error("unsupported pseudo: 
"+a);return 
e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ib(function(a,c){var
 
d,f=e(a,b),g=f.length;while(g--)d=J(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return
 e(a,0,c)}):e}},pseudos:{not:ib(function(a){var 
b=[],c=[],d=h(a.replace(R,"$1"));return d[u]?ib(function(a,b,c,e){var 
f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return
 b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ib(function(a){return 
function(b){return gb(a,b).length>0}}),contains:ib(function(a){return 
a=a.replace(cb,db),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ib(function(a){retur
 n W.test(a||"")||gb.error("unsupported lang: 
"+a),a=a.replace(cb,db).toLowerCase(),function(b){var c;do 
if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return 
c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var
 c=a.location&&a.location.hash;return 
c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return 
a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return
 a.disabled===!1},disabled:function(a){return 
a.disabled===!0},checked:function(a){var 
b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return
 
a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return
 Z.test(a.nodeName)},input:function(a){return Y.test(a.
 nodeName)},button:function(a){var 
b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var
 
b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:ob(function(){return[0]}),last:ob(function(a,b){return[b-1]}),eq:ob(function(a,b,c){return[0>c?c+b:c]}),even:ob(function(a,b){for(var
 c=0;b>c;c+=2)a.push(c);return a}),odd:ob(function(a,b){for(var 
c=1;b>c;c+=2)a.push(c);return a}),lt:ob(function(a,b,c){for(var 
d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:ob(function(a,b,c){for(var 
d=0>c?c+b:c;++d<b;)a.push(d);return a})}},d.pseudos.nth=d.pseudos.eq;for(b 
in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})d.pseudos[b]=mb(b);for(b 
in{submit:!0,reset:!0})d.pseudos[b]=nb(b);function 
qb(){}qb.prototype=d.filters=d.pseudos,d.setFilters=new 
qb,g=gb.tokenize=function(a,b){var c,e,f,g,h,i,j,k=z[a+" "];if(k)return 
b?0:k.slice(0);h=a,i=[],j=d.preFilter;while(h){(!c||(e=S.exec(h)))&&(
 
e&&(h=h.slice(e[0].length)||h),i.push(f=[])),c=!1,(e=T.exec(h))&&(c=e.shift(),f.push({value:c,type:e[0].replace(R,"
 ")}),h=h.slice(c.length));for(g in 
d.filter)!(e=X[g].exec(h))||j[g]&&!(e=j[g](e))||(c=e.shift(),f.push({value:c,type:g,matches:e}),h=h.slice(c.length));if(!c)break}return
 b?h.length:h?gb.error(a):z(a,i).slice(0)};function rb(a){for(var 
b=0,c=a.length,d="";c>b;b++)d+=a[b].value;return d}function sb(a,b,c){var 
d=b.dir,e=c&&"parentNode"===d,f=x++;return 
b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return 
a(b,c,f)}:function(b,c,g){var 
h,i,j=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else 
while(b=b[d])if(1===b.nodeType||e){if(i=b[u]||(b[u]={}),(h=i[d])&&h[0]===w&&h[1]===f)return
 j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function tb(a){return 
a.length>1?function(b,c,d){var 
e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function 
ub(a,b,c){for(var d=0,e=b.length;e>d;d++)gb(a,b[d],c);return c}function 
vb(a,b,c,d,e){for(var f
 
,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return
 g}function wb(a,b,c,d,e,f){return 
d&&!d[u]&&(d=wb(d)),e&&!e[u]&&(e=wb(e,f)),ib(function(f,g,h,i){var 
j,k,l,m=[],n=[],o=g.length,p=f||ub(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:vb(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=vb(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?J(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else
 r=vb(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):H.apply(g,r)})}function 
xb(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" 
"],i=g?1:0,k=sb(function(a){return a===b},h,!0),l=sb(function(a){return 
J(b,a)>-1},h,!0),m=[function(a,c,d){var 
e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return 
b=null,e}];f>i;i++)if(c=d.relative[a[i].type])m=[sb(tb(m),c)];else{if(c=d.filter[a[i].type].apply(null
 ,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return 
wb(i>1&&tb(m),i>1&&rb(a.slice(0,i-1).concat({value:" 
"===a[i-2].type?"*":""})).replace(R,"$1"),c,e>i&&xb(a.slice(i,e)),f>e&&xb(a=a.slice(e)),f>e&&rb(a))}m.push(c)}return
 tb(m)}function yb(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var 
l,m,o,p=0,q="0",r=f&&[],s=[],t=j,u=f||e&&d.find.TAG("*",k),v=w+=null==t?1:Math.random()||.1,x=u.length;for(k&&(j=g!==n&&g);q!==x&&null!=(l=u[q]);q++){if(e&&l){m=0;while(o=a[m++])if(o(l,g,h)){i.push(l);break}k&&(w=v)}c&&((l=!o&&l)&&p--,f&&r.push(l))}if(p+=q,c&&q!==p){m=0;while(o=b[m++])o(r,s,g,h);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=F.call(i));s=vb(s)}H.apply(i,s),k&&!f&&s.length>0&&p+b.length>1&&gb.uniqueSort(i)}return
 k&&(w=v,j=t),r};return c?ib(f):f}h=gb.compile=function(a,b){var 
c,d=[],e=[],f=A[a+" 
"];if(!f){b||(b=g(a)),c=b.length;while(c--)f=xb(b[c]),f[u]?d.push(f):e.push(f);f=A(a,yb(e,d)),f.selector=a}return
 f},i=gb.select=function(a,b,e,f){var i,j,k,l,m
 ,n="function"==typeof 
a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(cb,db),b)||[])[0],!b)return
 
e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=X.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(cb,db),ab.test(j[0].type)&&pb(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&rb(j),!a)return
 
H.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,ab.test(a)&&pb(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=jb(function(a){return
 1&a.compareDocumentPosition(n.createElement("div"))}),jb(function(a){return 
a.innerHTML="<a 
href='#'></a>","#"===a.firstChild.getAttribute("href")})||kb("type|href|height|width",function(a,b,c){return
 c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attribut
 es&&jb(function(a){return 
a.innerHTML="<input/>",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||kb("value",function(a,b,c){return
 c||"input"!==a.nodeName.toLowerCase()?void 
0:a.defaultValue}),jb(function(a){return 
null==a.getAttribute("disabled")})||kb(K,function(a,b,c){var d;return c?void 
0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),"function"==typeof
 define&&define.amd?define(function(){return gb}):"undefined"!=typeof 
module&&module.exports?module.exports=gb:a.Sizzle=gb}(window);
+//# sourceMappingURL=sizzle.min.map
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/32b52cb9/modules/webconfig/nodejs/node_modules/jquery/src/sizzle/test/data/mixed_sort.html
----------------------------------------------------------------------
diff --git 
a/modules/webconfig/nodejs/node_modules/jquery/src/sizzle/test/data/mixed_sort.html
 
b/modules/webconfig/nodejs/node_modules/jquery/src/sizzle/test/data/mixed_sort.html
new file mode 100644
index 0000000..162e355
--- /dev/null
+++ 
b/modules/webconfig/nodejs/node_modules/jquery/src/sizzle/test/data/mixed_sort.html
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+       <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+       <script>var QUnit = parent.QUnit</script>
+       <script src="testinit.js"></script>
+       <script src="../../dist/sizzle.js"></script>
+</head>
+<body>
+       <script>
+               var doc = parent.document,
+                       unframed = [ doc.getElementById( "qunit-fixture" ), 
doc.body, doc.documentElement ],
+                       framed = Sizzle( "*" );
+
+               window.parent.iframeCallback(
+                       Sizzle.uniqueSort( unframed.concat( framed ) ),
+                       framed.concat( unframed.reverse() ),
+                       "Mixed array was sorted correctly"
+               );
+       </script>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/32b52cb9/modules/webconfig/nodejs/node_modules/jquery/src/sizzle/test/unit/extending.js
----------------------------------------------------------------------
diff --git 
a/modules/webconfig/nodejs/node_modules/jquery/src/sizzle/test/unit/extending.js
 
b/modules/webconfig/nodejs/node_modules/jquery/src/sizzle/test/unit/extending.js
new file mode 100644
index 0000000..4b4c6e8
--- /dev/null
+++ 
b/modules/webconfig/nodejs/node_modules/jquery/src/sizzle/test/unit/extending.js
@@ -0,0 +1,95 @@
+module("extending", { teardown: moduleTeardown });
+
+test("custom pseudos", function() {
+       expect( 6 );
+
+       Sizzle.selectors.filters.foundation = Sizzle.selectors.filters.root;
+       deepEqual( Sizzle(":foundation"), [ document.documentElement ], "Copy 
element filter with new name" );
+       delete Sizzle.selectors.filters.foundation;
+
+       Sizzle.selectors.setFilters.primary = Sizzle.selectors.setFilters.first;
+       t( "Copy set filter with new name", "div:primary", ["qunit"] );
+       delete Sizzle.selectors.setFilters.primary;
+
+       Sizzle.selectors.filters.aristotlean = 
Sizzle.selectors.createPseudo(function() {
+               return function( elem ) {
+                       return !!elem.id;
+               };
+       });
+       t( "Custom element filter", "#foo :aristotlean", [ "sndp", "en", 
"yahoo", "sap", "anchor2", "simon" ] );
+       delete Sizzle.selectors.filters.aristotlean;
+
+       Sizzle.selectors.filters.endswith = 
Sizzle.selectors.createPseudo(function( text ) {
+               return function( elem ) {
+                       return Sizzle.getText( elem ).slice( -text.length ) === 
text;
+               };
+       });
+       t( "Custom element filter with argument", "a:endswith(ogle)", 
["google"] );
+       delete Sizzle.selectors.filters.endswith;
+
+       Sizzle.selectors.setFilters.second = 
Sizzle.selectors.createPseudo(function() {
+               return Sizzle.selectors.createPseudo(function( seed, matches ) {
+                       if ( seed[1] ) {
+                               matches[1] = seed[1];
+                               seed[1] = false;
+                       }
+               });
+       });
+       t( "Custom set filter", "#qunit-fixture p:second", ["ap"] );
+       delete Sizzle.selectors.filters.second;
+
+       Sizzle.selectors.setFilters.slice = 
Sizzle.selectors.createPseudo(function( argument ) {
+               var bounds = argument.split(":");
+               return Sizzle.selectors.createPseudo(function( seed, matches ) {
+                       var i = bounds[1];
+
+                       // Match elements found at the specified indexes
+                       while ( --i >= bounds[0] ) {
+                               if ( seed[i] ) {
+                                       matches[i] = seed[i];
+                                       seed[i] = false;
+                               }
+                       }
+               });
+       });
+       t( "Custom set filter with argument", "#qunit-fixture p:slice(1:3)", [ 
"ap", "sndp" ] );
+       delete Sizzle.selectors.filters.slice;
+});
+
+test("backwards-compatible custom pseudos", function() {
+       expect( 3 );
+
+       Sizzle.selectors.filters.icontains = function( elem, i, match ) {
+               return Sizzle.getText( elem ).toLowerCase().indexOf( (match[3] 
|| "").toLowerCase() ) > -1;
+       };
+       t( "Custom element filter with argument", "a:icontains(THIS BLOG 
ENTRY)", ["simon1"] );
+       delete Sizzle.selectors.filters.icontains;
+
+       Sizzle.selectors.setFilters.podium = function( elements, argument ) {
+               var count = argument == null || argument === "" ? 3 : +argument;
+               return elements.slice( 0, count );
+       };
+       // Using TAG as the first token here forces this setMatcher into a fail 
state
+       // Where the descendent combinator was lost
+       t( "Custom setFilter", "form#form :PODIUM", ["label-for", "text1", 
"text2"] );
+       t( "Custom setFilter with argument", "#form input:Podium(1)", ["text1"] 
);
+       delete Sizzle.selectors.setFilters.podium;
+});
+
+test("custom attribute getters", function() {
+       expect( 2 );
+
+       var original = Sizzle.selectors.attrHandle.hreflang,
+               selector = 
"a:contains('mark')[hreflang='http://diveintomark.org/en']";
+
+       Sizzle.selectors.attrHandle.hreflang = function( elem, name ) {
+               var href = elem.getAttribute("href"),
+                       lang = elem.getAttribute( name );
+               return lang && ( href + lang );
+       };
+
+       deepEqual( Sizzle(selector, createWithFriesXML()), [], "Custom 
attrHandle (preferred document)" );
+       t( "Custom attrHandle (preferred document)", selector, ["mark"] );
+
+       Sizzle.selectors.attrHandle.hreflang = original;
+});

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/32b52cb9/modules/webconfig/nodejs/node_modules/jquery/src/var/class2type.js
----------------------------------------------------------------------
diff --git a/modules/webconfig/nodejs/node_modules/jquery/src/var/class2type.js 
b/modules/webconfig/nodejs/node_modules/jquery/src/var/class2type.js
new file mode 100644
index 0000000..e674c3b
--- /dev/null
+++ b/modules/webconfig/nodejs/node_modules/jquery/src/var/class2type.js
@@ -0,0 +1,4 @@
+define(function() {
+       // [[Class]] -> type pairs
+       return {};
+});

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/32b52cb9/modules/webconfig/nodejs/node_modules/jquery/src/var/hasOwn.js
----------------------------------------------------------------------
diff --git a/modules/webconfig/nodejs/node_modules/jquery/src/var/hasOwn.js 
b/modules/webconfig/nodejs/node_modules/jquery/src/var/hasOwn.js
new file mode 100644
index 0000000..32c002a
--- /dev/null
+++ b/modules/webconfig/nodejs/node_modules/jquery/src/var/hasOwn.js
@@ -0,0 +1,5 @@
+define([
+       "./class2type"
+], function( class2type ) {
+       return class2type.hasOwnProperty;
+});

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/32b52cb9/modules/webconfig/nodejs/node_modules/jquery/src/var/slice.js
----------------------------------------------------------------------
diff --git a/modules/webconfig/nodejs/node_modules/jquery/src/var/slice.js 
b/modules/webconfig/nodejs/node_modules/jquery/src/var/slice.js
new file mode 100644
index 0000000..614d46c
--- /dev/null
+++ b/modules/webconfig/nodejs/node_modules/jquery/src/var/slice.js
@@ -0,0 +1,5 @@
+define([
+       "./arr"
+], function( arr ) {
+       return arr.slice;
+});

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/32b52cb9/modules/webconfig/nodejs/node_modules/jquery/src/var/strundefined.js
----------------------------------------------------------------------
diff --git 
a/modules/webconfig/nodejs/node_modules/jquery/src/var/strundefined.js 
b/modules/webconfig/nodejs/node_modules/jquery/src/var/strundefined.js
new file mode 100644
index 0000000..04e16b0
--- /dev/null
+++ b/modules/webconfig/nodejs/node_modules/jquery/src/var/strundefined.js
@@ -0,0 +1,3 @@
+define(function() {
+       return typeof undefined;
+});

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/32b52cb9/modules/webconfig/nodejs/node_modules/jquery/src/var/support.js
----------------------------------------------------------------------
diff --git a/modules/webconfig/nodejs/node_modules/jquery/src/var/support.js 
b/modules/webconfig/nodejs/node_modules/jquery/src/var/support.js
new file mode 100644
index 0000000..b25dbc7
--- /dev/null
+++ b/modules/webconfig/nodejs/node_modules/jquery/src/var/support.js
@@ -0,0 +1,4 @@
+define(function() {
+       // All support tests are defined in their respective modules.
+       return {};
+});

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/32b52cb9/modules/webconfig/nodejs/node_modules/morgan/HISTORY.md
----------------------------------------------------------------------
diff --git a/modules/webconfig/nodejs/node_modules/morgan/HISTORY.md 
b/modules/webconfig/nodejs/node_modules/morgan/HISTORY.md
index 059c726..512a88c 100644
--- a/modules/webconfig/nodejs/node_modules/morgan/HISTORY.md
+++ b/modules/webconfig/nodejs/node_modules/morgan/HISTORY.md
@@ -1,3 +1,13 @@
+1.5.3 / 2015-05-10
+==================
+
+  * deps: basic-auth@~1.0.1
+  * deps: debug@~2.2.0
+    - deps: [email protected]
+  * deps: depd@~1.0.1
+  * deps: on-finished@~2.2.1
+    - Fix `isFinished(req)` when data buffered
+
 1.5.2 / 2015-03-15
 ==================
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/32b52cb9/modules/webconfig/nodejs/node_modules/morgan/node_modules/basic-auth/package.json
----------------------------------------------------------------------
diff --git 
a/modules/webconfig/nodejs/node_modules/morgan/node_modules/basic-auth/package.json
 
b/modules/webconfig/nodejs/node_modules/morgan/node_modules/basic-auth/package.json
index abc4dc0..12d9248 100644
--- 
a/modules/webconfig/nodejs/node_modules/morgan/node_modules/basic-auth/package.json
+++ 
b/modules/webconfig/nodejs/node_modules/morgan/node_modules/basic-auth/package.json
@@ -1,41 +1,53 @@
 {
   "name": "basic-auth",
-  "version": "1.0.0",
-  "repository": {
-    "type": "git",
-    "url": "git+https://github.com/visionmedia/node-basic-auth.git";
-  },
-  "description": "generic basic auth parser",
+  "description": "node.js basic auth parser",
+  "version": "1.0.1",
+  "license": "MIT",
   "keywords": [
     "basic",
     "auth",
     "authorization",
     "basicauth"
   ],
-  "devDependencies": {
-    "mocha": "*",
-    "should": "*"
+  "repository": {
+    "type": "git",
+    "url": "git+https://github.com/jshttp/basic-auth.git";
   },
-  "scripts": {
-    "test": "make test"
+  "devDependencies": {
+    "istanbul": "0.3.13",
+    "mocha": "~2.2.4"
   },
   "files": [
+    "HISTORY.md",
+    "LICENSE",
     "index.js"
   ],
-  "license": "MIT",
-  "gitHead": "099e8c703ea3994d72240492aba9b115517cf45e",
+  "engines": {
+    "node": ">= 0.8"
+  },
+  "scripts": {
+    "test": "mocha --check-leaks --reporter spec --bail",
+    "test-cov": "istanbul cover node_modules/mocha/bin/_mocha -- --reporter 
dot --check-leaks test/",
+    "test-travis": "istanbul cover node_modules/mocha/bin/_mocha --report 
lcovonly -- --reporter spec --check-leaks test/"
+  },
+  "gitHead": "0eea397ee77a5170c196d031d0038c2506301f27",
   "bugs": {
-    "url": "https://github.com/visionmedia/node-basic-auth/issues";
+    "url": "https://github.com/jshttp/basic-auth/issues";
   },
-  "homepage": "https://github.com/visionmedia/node-basic-auth";,
-  "_id": "[email protected]",
-  "_shasum": "111b2d9ff8e4e6d136b8c84ea5e096cb87351637",
-  "_from": "[email protected]",
-  "_npmVersion": "1.4.16",
+  "homepage": "https://github.com/jshttp/basic-auth#readme";,
+  "_id": "[email protected]",
+  "_shasum": "4bae1dbfbf0aec4dc5dc47a8d3675b50140f3bf8",
+  "_from": "basic-auth@>=1.0.1 <1.1.0",
+  "_npmVersion": "2.9.0",
+  "_nodeVersion": "2.0.0",
   "_npmUser": {
-    "name": "jonathanong",
+    "name": "jongleberry",
     "email": "[email protected]"
   },
+  "dist": {
+    "shasum": "4bae1dbfbf0aec4dc5dc47a8d3675b50140f3bf8",
+    "tarball": "http://registry.npmjs.org/basic-auth/-/basic-auth-1.0.1.tgz";
+  },
   "maintainers": [
     {
       "name": "tjholowaychuk",
@@ -44,13 +56,16 @@
     {
       "name": "jonathanong",
       "email": "[email protected]"
+    },
+    {
+      "name": "dougwilson",
+      "email": "[email protected]"
+    },
+    {
+      "name": "jongleberry",
+      "email": "[email protected]"
     }
   ],
-  "dist": {
-    "shasum": "111b2d9ff8e4e6d136b8c84ea5e096cb87351637",
-    "tarball": "http://registry.npmjs.org/basic-auth/-/basic-auth-1.0.0.tgz";
-  },
   "directories": {},
-  "_resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-1.0.0.tgz";,
-  "readme": "ERROR: No README data found!"
+  "_resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-1.0.1.tgz";
 }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/32b52cb9/modules/webconfig/nodejs/node_modules/morgan/node_modules/debug/.npmignore
----------------------------------------------------------------------
diff --git 
a/modules/webconfig/nodejs/node_modules/morgan/node_modules/debug/.npmignore 
b/modules/webconfig/nodejs/node_modules/morgan/node_modules/debug/.npmignore
new file mode 100644
index 0000000..7e6163d
--- /dev/null
+++ b/modules/webconfig/nodejs/node_modules/morgan/node_modules/debug/.npmignore
@@ -0,0 +1,6 @@
+support
+test
+examples
+example
+*.sock
+dist

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/32b52cb9/modules/webconfig/nodejs/node_modules/morgan/node_modules/debug/Makefile
----------------------------------------------------------------------
diff --git 
a/modules/webconfig/nodejs/node_modules/morgan/node_modules/debug/Makefile 
b/modules/webconfig/nodejs/node_modules/morgan/node_modules/debug/Makefile
new file mode 100644
index 0000000..5cf4a59
--- /dev/null
+++ b/modules/webconfig/nodejs/node_modules/morgan/node_modules/debug/Makefile
@@ -0,0 +1,36 @@
+
+# get Makefile directory name: http://stackoverflow.com/a/5982798/376773
+THIS_MAKEFILE_PATH:=$(word $(words $(MAKEFILE_LIST)),$(MAKEFILE_LIST))
+THIS_DIR:=$(shell cd $(dir $(THIS_MAKEFILE_PATH));pwd)
+
+# BIN directory
+BIN := $(THIS_DIR)/node_modules/.bin
+
+# applications
+NODE ?= $(shell which node)
+NPM ?= $(NODE) $(shell which npm)
+BROWSERIFY ?= $(NODE) $(BIN)/browserify
+
+all: dist/debug.js
+
+install: node_modules
+
+clean:
+       @rm -rf dist
+
+dist:
+       @mkdir -p $@
+
+dist/debug.js: node_modules browser.js debug.js dist
+       @$(BROWSERIFY) \
+               --standalone debug \
+               . > $@
+
+distclean: clean
+       @rm -rf node_modules
+
+node_modules: package.json
+       @NODE_ENV= $(NPM) install
+       @touch node_modules
+
+.PHONY: all install clean distclean

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/32b52cb9/modules/webconfig/nodejs/node_modules/morgan/node_modules/debug/bower.json
----------------------------------------------------------------------
diff --git 
a/modules/webconfig/nodejs/node_modules/morgan/node_modules/debug/bower.json 
b/modules/webconfig/nodejs/node_modules/morgan/node_modules/debug/bower.json
new file mode 100644
index 0000000..6af573f
--- /dev/null
+++ b/modules/webconfig/nodejs/node_modules/morgan/node_modules/debug/bower.json
@@ -0,0 +1,28 @@
+{
+  "name": "visionmedia-debug",
+  "main": "dist/debug.js",
+  "version": "2.2.0",
+  "homepage": "https://github.com/visionmedia/debug";,
+  "authors": [
+    "TJ Holowaychuk <[email protected]>"
+  ],
+  "description": "visionmedia-debug",
+  "moduleType": [
+    "amd",
+    "es6",
+    "globals",
+    "node"
+  ],
+  "keywords": [
+    "visionmedia",
+    "debug"
+  ],
+  "license": "MIT",
+  "ignore": [
+    "**/.*",
+    "node_modules",
+    "bower_components",
+    "test",
+    "tests"
+  ]
+}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/32b52cb9/modules/webconfig/nodejs/node_modules/morgan/node_modules/debug/browser.js
----------------------------------------------------------------------
diff --git 
a/modules/webconfig/nodejs/node_modules/morgan/node_modules/debug/browser.js 
b/modules/webconfig/nodejs/node_modules/morgan/node_modules/debug/browser.js
new file mode 100644
index 0000000..7c76452
--- /dev/null
+++ b/modules/webconfig/nodejs/node_modules/morgan/node_modules/debug/browser.js
@@ -0,0 +1,168 @@
+
+/**
+ * This is the web browser implementation of `debug()`.
+ *
+ * Expose `debug()` as the module.
+ */
+
+exports = module.exports = require('./debug');
+exports.log = log;
+exports.formatArgs = formatArgs;
+exports.save = save;
+exports.load = load;
+exports.useColors = useColors;
+exports.storage = 'undefined' != typeof chrome
+               && 'undefined' != typeof chrome.storage
+                  ? chrome.storage.local
+                  : localstorage();
+
+/**
+ * Colors.
+ */
+
+exports.colors = [
+  'lightseagreen',
+  'forestgreen',
+  'goldenrod',
+  'dodgerblue',
+  'darkorchid',
+  'crimson'
+];
+
+/**
+ * Currently only WebKit-based Web Inspectors, Firefox >= v31,
+ * and the Firebug extension (any Firefox version) are known
+ * to support "%c" CSS customizations.
+ *
+ * TODO: add a `localStorage` variable to explicitly enable/disable colors
+ */
+
+function useColors() {
+  // is webkit? http://stackoverflow.com/a/16459606/376773
+  return ('WebkitAppearance' in document.documentElement.style) ||
+    // is firebug? http://stackoverflow.com/a/398120/376773
+    (window.console && (console.firebug || (console.exception && 
console.table))) ||
+    // is firefox >= v31?
+    // 
https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages
+    (navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/) && 
parseInt(RegExp.$1, 10) >= 31);
+}
+
+/**
+ * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default.
+ */
+
+exports.formatters.j = function(v) {
+  return JSON.stringify(v);
+};
+
+
+/**
+ * Colorize log arguments if enabled.
+ *
+ * @api public
+ */
+
+function formatArgs() {
+  var args = arguments;
+  var useColors = this.useColors;
+
+  args[0] = (useColors ? '%c' : '')
+    + this.namespace
+    + (useColors ? ' %c' : ' ')
+    + args[0]
+    + (useColors ? '%c ' : ' ')
+    + '+' + exports.humanize(this.diff);
+
+  if (!useColors) return args;
+
+  var c = 'color: ' + this.color;
+  args = [args[0], c, 'color: 
inherit'].concat(Array.prototype.slice.call(args, 1));
+
+  // the final "%c" is somewhat tricky, because there could be other
+  // arguments passed either before or after the %c, so we need to
+  // figure out the correct index to insert the CSS into
+  var index = 0;
+  var lastC = 0;
+  args[0].replace(/%[a-z%]/g, function(match) {
+    if ('%%' === match) return;
+    index++;
+    if ('%c' === match) {
+      // we only are interested in the *last* %c
+      // (the user may have provided their own)
+      lastC = index;
+    }
+  });
+
+  args.splice(lastC, 0, c);
+  return args;
+}
+
+/**
+ * Invokes `console.log()` when available.
+ * No-op when `console.log` is not a "function".
+ *
+ * @api public
+ */
+
+function log() {
+  // this hackery is required for IE8/9, where
+  // the `console.log` function doesn't have 'apply'
+  return 'object' === typeof console
+    && console.log
+    && Function.prototype.apply.call(console.log, console, arguments);
+}
+
+/**
+ * Save `namespaces`.
+ *
+ * @param {String} namespaces
+ * @api private
+ */
+
+function save(namespaces) {
+  try {
+    if (null == namespaces) {
+      exports.storage.removeItem('debug');
+    } else {
+      exports.storage.debug = namespaces;
+    }
+  } catch(e) {}
+}
+
+/**
+ * Load `namespaces`.
+ *
+ * @return {String} returns the previously persisted debug modes
+ * @api private
+ */
+
+function load() {
+  var r;
+  try {
+    r = exports.storage.debug;
+  } catch(e) {}
+  return r;
+}
+
+/**
+ * Enable namespaces listed in `localStorage.debug` initially.
+ */
+
+exports.enable(load());
+
+/**
+ * Localstorage attempts to return the localstorage.
+ *
+ * This is necessary because safari throws
+ * when a user disables cookies/localstorage
+ * and you attempt to access it.
+ *
+ * @return {LocalStorage}
+ * @api private
+ */
+
+function localstorage(){
+  try {
+    return window.localStorage;
+  } catch (e) {}
+}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/32b52cb9/modules/webconfig/nodejs/node_modules/morgan/node_modules/debug/debug.js
----------------------------------------------------------------------
diff --git 
a/modules/webconfig/nodejs/node_modules/morgan/node_modules/debug/debug.js 
b/modules/webconfig/nodejs/node_modules/morgan/node_modules/debug/debug.js
new file mode 100644
index 0000000..7571a86
--- /dev/null
+++ b/modules/webconfig/nodejs/node_modules/morgan/node_modules/debug/debug.js
@@ -0,0 +1,197 @@
+
+/**
+ * This is the common logic for both the Node.js and web browser
+ * implementations of `debug()`.
+ *
+ * Expose `debug()` as the module.
+ */
+
+exports = module.exports = debug;
+exports.coerce = coerce;
+exports.disable = disable;
+exports.enable = enable;
+exports.enabled = enabled;
+exports.humanize = require('ms');
+
+/**
+ * The currently active debug mode names, and names to skip.
+ */
+
+exports.names = [];
+exports.skips = [];
+
+/**
+ * Map of special "%n" handling functions, for the debug "format" argument.
+ *
+ * Valid key names are a single, lowercased letter, i.e. "n".
+ */
+
+exports.formatters = {};
+
+/**
+ * Previously assigned color.
+ */
+
+var prevColor = 0;
+
+/**
+ * Previous log timestamp.
+ */
+
+var prevTime;
+
+/**
+ * Select a color.
+ *
+ * @return {Number}
+ * @api private
+ */
+
+function selectColor() {
+  return exports.colors[prevColor++ % exports.colors.length];
+}
+
+/**
+ * Create a debugger with the given `namespace`.
+ *
+ * @param {String} namespace
+ * @return {Function}
+ * @api public
+ */
+
+function debug(namespace) {
+
+  // define the `disabled` version
+  function disabled() {
+  }
+  disabled.enabled = false;
+
+  // define the `enabled` version
+  function enabled() {
+
+    var self = enabled;
+
+    // set `diff` timestamp
+    var curr = +new Date();
+    var ms = curr - (prevTime || curr);
+    self.diff = ms;
+    self.prev = prevTime;
+    self.curr = curr;
+    prevTime = curr;
+
+    // add the `color` if not set
+    if (null == self.useColors) self.useColors = exports.useColors();
+    if (null == self.color && self.useColors) self.color = selectColor();
+
+    var args = Array.prototype.slice.call(arguments);
+
+    args[0] = exports.coerce(args[0]);
+
+    if ('string' !== typeof args[0]) {
+      // anything else let's inspect with %o
+      args = ['%o'].concat(args);
+    }
+
+    // apply any `formatters` transformations
+    var index = 0;
+    args[0] = args[0].replace(/%([a-z%])/g, function(match, format) {
+      // if we encounter an escaped % then don't increase the array index
+      if (match === '%%') return match;
+      index++;
+      var formatter = exports.formatters[format];
+      if ('function' === typeof formatter) {
+        var val = args[index];
+        match = formatter.call(self, val);
+
+        // now we need to remove `args[index]` since it's inlined in the 
`format`
+        args.splice(index, 1);
+        index--;
+      }
+      return match;
+    });
+
+    if ('function' === typeof exports.formatArgs) {
+      args = exports.formatArgs.apply(self, args);
+    }
+    var logFn = enabled.log || exports.log || console.log.bind(console);
+    logFn.apply(self, args);
+  }
+  enabled.enabled = true;
+
+  var fn = exports.enabled(namespace) ? enabled : disabled;
+
+  fn.namespace = namespace;
+
+  return fn;
+}
+
+/**
+ * Enables a debug mode by namespaces. This can include modes
+ * separated by a colon and wildcards.
+ *
+ * @param {String} namespaces
+ * @api public
+ */
+
+function enable(namespaces) {
+  exports.save(namespaces);
+
+  var split = (namespaces || '').split(/[\s,]+/);
+  var len = split.length;
+
+  for (var i = 0; i < len; i++) {
+    if (!split[i]) continue; // ignore empty strings
+    namespaces = split[i].replace(/\*/g, '.*?');
+    if (namespaces[0] === '-') {
+      exports.skips.push(new RegExp('^' + namespaces.substr(1) + '$'));
+    } else {
+      exports.names.push(new RegExp('^' + namespaces + '$'));
+    }
+  }
+}
+
+/**
+ * Disable debug output.
+ *
+ * @api public
+ */
+
+function disable() {
+  exports.enable('');
+}
+
+/**
+ * Returns true if the given mode name is enabled, false otherwise.
+ *
+ * @param {String} name
+ * @return {Boolean}
+ * @api public
+ */
+
+function enabled(name) {
+  var i, len;
+  for (i = 0, len = exports.skips.length; i < len; i++) {
+    if (exports.skips[i].test(name)) {
+      return false;
+    }
+  }
+  for (i = 0, len = exports.names.length; i < len; i++) {
+    if (exports.names[i].test(name)) {
+      return true;
+    }
+  }
+  return false;
+}
+
+/**
+ * Coerce `val`.
+ *
+ * @param {Mixed} val
+ * @return {Mixed}
+ * @api private
+ */
+
+function coerce(val) {
+  if (val instanceof Error) return val.stack || val.message;
+  return val;
+}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/32b52cb9/modules/webconfig/nodejs/node_modules/morgan/node_modules/debug/node_modules/ms/README.md
----------------------------------------------------------------------
diff --git 
a/modules/webconfig/nodejs/node_modules/morgan/node_modules/debug/node_modules/ms/README.md
 
b/modules/webconfig/nodejs/node_modules/morgan/node_modules/debug/node_modules/ms/README.md
new file mode 100644
index 0000000..9b4fd03
--- /dev/null
+++ 
b/modules/webconfig/nodejs/node_modules/morgan/node_modules/debug/node_modules/ms/README.md
@@ -0,0 +1,35 @@
+# ms.js: miliseconds conversion utility
+
+```js
+ms('2 days')  // 172800000
+ms('1d')      // 86400000
+ms('10h')     // 36000000
+ms('2.5 hrs') // 9000000
+ms('2h')      // 7200000
+ms('1m')      // 60000
+ms('5s')      // 5000
+ms('100')     // 100
+```
+
+```js
+ms(60000)             // "1m"
+ms(2 * 60000)         // "2m"
+ms(ms('10 hours'))    // "10h"
+```
+
+```js
+ms(60000, { long: true })             // "1 minute"
+ms(2 * 60000, { long: true })         // "2 minutes"
+ms(ms('10 hours'), { long: true })    // "10 hours"
+```
+
+- Node/Browser compatible. Published as 
[`ms`](https://www.npmjs.org/package/ms) in [NPM](http://nodejs.org/download).
+- If a number is supplied to `ms`, a string with a unit is returned.
+- If a string that contains the number is supplied, it returns it as
+a number (e.g: it returns `100` for `'100'`).
+- If you pass a string with a number and a valid unit, the number of
+equivalent ms is returned.
+
+## License
+
+MIT

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/32b52cb9/modules/webconfig/nodejs/node_modules/morgan/node_modules/debug/node_modules/ms/package.json
----------------------------------------------------------------------
diff --git 
a/modules/webconfig/nodejs/node_modules/morgan/node_modules/debug/node_modules/ms/package.json
 
b/modules/webconfig/nodejs/node_modules/morgan/node_modules/debug/node_modules/ms/package.json
new file mode 100644
index 0000000..b12c4a0
--- /dev/null
+++ 
b/modules/webconfig/nodejs/node_modules/morgan/node_modules/debug/node_modules/ms/package.json
@@ -0,0 +1,47 @@
+{
+  "name": "ms",
+  "version": "0.7.1",
+  "description": "Tiny ms conversion utility",
+  "repository": {
+    "type": "git",
+    "url": "git://github.com/guille/ms.js.git"
+  },
+  "main": "./index",
+  "devDependencies": {
+    "mocha": "*",
+    "expect.js": "*",
+    "serve": "*"
+  },
+  "component": {
+    "scripts": {
+      "ms/index.js": "index.js"
+    }
+  },
+  "gitHead": "713dcf26d9e6fd9dbc95affe7eff9783b7f1b909",
+  "bugs": {
+    "url": "https://github.com/guille/ms.js/issues";
+  },
+  "homepage": "https://github.com/guille/ms.js";,
+  "_id": "[email protected]",
+  "scripts": {},
+  "_shasum": "9cd13c03adbff25b65effde7ce864ee952017098",
+  "_from": "[email protected]",
+  "_npmVersion": "2.7.5",
+  "_nodeVersion": "0.12.2",
+  "_npmUser": {
+    "name": "rauchg",
+    "email": "[email protected]"
+  },
+  "maintainers": [
+    {
+      "name": "rauchg",
+      "email": "[email protected]"
+    }
+  ],
+  "dist": {
+    "shasum": "9cd13c03adbff25b65effde7ce864ee952017098",
+    "tarball": "http://registry.npmjs.org/ms/-/ms-0.7.1.tgz";
+  },
+  "directories": {},
+  "_resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz";
+}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/32b52cb9/modules/webconfig/nodejs/node_modules/morgan/node_modules/on-finished/package.json
----------------------------------------------------------------------
diff --git 
a/modules/webconfig/nodejs/node_modules/morgan/node_modules/on-finished/package.json
 
b/modules/webconfig/nodejs/node_modules/morgan/node_modules/on-finished/package.json
index e30a702..2d62db5 100644
--- 
a/modules/webconfig/nodejs/node_modules/morgan/node_modules/on-finished/package.json
+++ 
b/modules/webconfig/nodejs/node_modules/morgan/node_modules/on-finished/package.json
@@ -45,7 +45,7 @@
   "homepage": "https://github.com/jshttp/on-finished";,
   "_id": "[email protected]",
   "_shasum": "5c85c1cc36299f78029653f667f27b6b99ebc029",
-  "_from": "on-finished@>=2.2.0 <2.3.0",
+  "_from": "on-finished@>=2.2.1 <2.3.0",
   "_npmVersion": "1.4.28",
   "_npmUser": {
     "name": "dougwilson",

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/32b52cb9/modules/webconfig/nodejs/public/javascripts/AdminLTE.js
----------------------------------------------------------------------
diff --git a/modules/webconfig/nodejs/public/javascripts/AdminLTE.js 
b/modules/webconfig/nodejs/public/javascripts/AdminLTE.js
index 0f1f542..e44da57 100644
--- a/modules/webconfig/nodejs/public/javascripts/AdminLTE.js
+++ b/modules/webconfig/nodejs/public/javascripts/AdminLTE.js
@@ -50,7 +50,7 @@ $.AdminLTE.options = {
   //BoxRefresh Plugin
   enableBoxRefresh: true,
   //Bootstrap.js tooltip
-  enableBSToppltip: true,
+  enableBSToppltip: false,
   BSTooltipSelector: "[data-toggle='tooltip']",
   //Enable Fast Click. Fastclick.js creates a more
   //native touch experience with touch devices. If you


Reply via email to