You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@apex.apache.org by da...@apache.org on 2015/11/30 22:06:40 UTC

[34/98] [abbrv] [partial] incubator-apex-malhar git commit: Removing all web demos

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/e1a45507/web/demos/package/node_modules/express/node_modules/commander/index.js
----------------------------------------------------------------------
diff --git a/web/demos/package/node_modules/express/node_modules/commander/index.js b/web/demos/package/node_modules/express/node_modules/commander/index.js
deleted file mode 100644
index 0ceaf18..0000000
--- a/web/demos/package/node_modules/express/node_modules/commander/index.js
+++ /dev/null
@@ -1,1152 +0,0 @@
-/*!
- * commander
- * Copyright(c) 2011 TJ Holowaychuk <tj...@vision-media.ca>
- * MIT Licensed
- */
-
-/**
- * Module dependencies.
- */
-
-var EventEmitter = require('events').EventEmitter
-  , spawn = require('child_process').spawn
-  , keypress = require('keypress')
-  , fs = require('fs')
-  , exists = fs.existsSync
-  , path = require('path')
-  , tty = require('tty')
-  , dirname = path.dirname
-  , basename = path.basename;
-
-/**
- * Expose the root command.
- */
-
-exports = module.exports = new Command;
-
-/**
- * Expose `Command`.
- */
-
-exports.Command = Command;
-
-/**
- * Expose `Option`.
- */
-
-exports.Option = Option;
-
-/**
- * Initialize a new `Option` with the given `flags` and `description`.
- *
- * @param {String} flags
- * @param {String} description
- * @api public
- */
-
-function Option(flags, description) {
-  this.flags = flags;
-  this.required = ~flags.indexOf('<');
-  this.optional = ~flags.indexOf('[');
-  this.bool = !~flags.indexOf('-no-');
-  flags = flags.split(/[ ,|]+/);
-  if (flags.length > 1 && !/^[[<]/.test(flags[1])) this.short = flags.shift();
-  this.long = flags.shift();
-  this.description = description || '';
-}
-
-/**
- * Return option name.
- *
- * @return {String}
- * @api private
- */
-
-Option.prototype.name = function(){
-  return this.long
-    .replace('--', '')
-    .replace('no-', '');
-};
-
-/**
- * Check if `arg` matches the short or long flag.
- *
- * @param {String} arg
- * @return {Boolean}
- * @api private
- */
-
-Option.prototype.is = function(arg){
-  return arg == this.short
-    || arg == this.long;
-};
-
-/**
- * Initialize a new `Command`.
- *
- * @param {String} name
- * @api public
- */
-
-function Command(name) {
-  this.commands = [];
-  this.options = [];
-  this._args = [];
-  this._name = name;
-}
-
-/**
- * Inherit from `EventEmitter.prototype`.
- */
-
-Command.prototype.__proto__ = EventEmitter.prototype;
-
-/**
- * Add command `name`.
- *
- * The `.action()` callback is invoked when the
- * command `name` is specified via __ARGV__,
- * and the remaining arguments are applied to the
- * function for access.
- *
- * When the `name` is "*" an un-matched command
- * will be passed as the first arg, followed by
- * the rest of __ARGV__ remaining.
- *
- * Examples:
- *
- *      program
- *        .version('0.0.1')
- *        .option('-C, --chdir <path>', 'change the working directory')
- *        .option('-c, --config <path>', 'set config path. defaults to ./deploy.conf')
- *        .option('-T, --no-tests', 'ignore test hook')
- *     
- *      program
- *        .command('setup')
- *        .description('run remote setup commands')
- *        .action(function(){
- *          console.log('setup');
- *        });
- *     
- *      program
- *        .command('exec <cmd>')
- *        .description('run the given remote command')
- *        .action(function(cmd){
- *          console.log('exec "%s"', cmd);
- *        });
- *     
- *      program
- *        .command('*')
- *        .description('deploy the given env')
- *        .action(function(env){
- *          console.log('deploying "%s"', env);
- *        });
- *     
- *      program.parse(process.argv);
-  *
- * @param {String} name
- * @param {String} [desc]
- * @return {Command} the new command
- * @api public
- */
-
-Command.prototype.command = function(name, desc){
-  var args = name.split(/ +/);
-  var cmd = new Command(args.shift());
-  if (desc) cmd.description(desc);
-  if (desc) this.executables = true;
-  this.commands.push(cmd);
-  cmd.parseExpectedArgs(args);
-  cmd.parent = this;
-  if (desc) return this;
-  return cmd;
-};
-
-/**
- * Add an implicit `help [cmd]` subcommand
- * which invokes `--help` for the given command.
- *
- * @api private
- */
-
-Command.prototype.addImplicitHelpCommand = function() {
-  this.command('help [cmd]', 'display help for [cmd]');
-};
-
-/**
- * Parse expected `args`.
- *
- * For example `["[type]"]` becomes `[{ required: false, name: 'type' }]`.
- *
- * @param {Array} args
- * @return {Command} for chaining
- * @api public
- */
-
-Command.prototype.parseExpectedArgs = function(args){
-  if (!args.length) return;
-  var self = this;
-  args.forEach(function(arg){
-    switch (arg[0]) {
-      case '<':
-        self._args.push({ required: true, name: arg.slice(1, -1) });
-        break;
-      case '[':
-        self._args.push({ required: false, name: arg.slice(1, -1) });
-        break;
-    }
-  });
-  return this;
-};
-
-/**
- * Register callback `fn` for the command.
- *
- * Examples:
- *
- *      program
- *        .command('help')
- *        .description('display verbose help')
- *        .action(function(){
- *           // output help here
- *        });
- *
- * @param {Function} fn
- * @return {Command} for chaining
- * @api public
- */
-
-Command.prototype.action = function(fn){
-  var self = this;
-  this.parent.on(this._name, function(args, unknown){    
-    // Parse any so-far unknown options
-    unknown = unknown || [];
-    var parsed = self.parseOptions(unknown);
-    
-    // Output help if necessary
-    outputHelpIfNecessary(self, parsed.unknown);
-    
-    // If there are still any unknown options, then we simply 
-    // die, unless someone asked for help, in which case we give it
-    // to them, and then we die.
-    if (parsed.unknown.length > 0) {      
-      self.unknownOption(parsed.unknown[0]);
-    }
-    
-    // Leftover arguments need to be pushed back. Fixes issue #56
-    if (parsed.args.length) args = parsed.args.concat(args);
-    
-    self._args.forEach(function(arg, i){
-      if (arg.required && null == args[i]) {
-        self.missingArgument(arg.name);
-      }
-    });
-    
-    // Always append ourselves to the end of the arguments,
-    // to make sure we match the number of arguments the user
-    // expects
-    if (self._args.length) {
-      args[self._args.length] = self;
-    } else {
-      args.push(self);
-    }
-    
-    fn.apply(this, args);
-  });
-  return this;
-};
-
-/**
- * Define option with `flags`, `description` and optional
- * coercion `fn`. 
- *
- * The `flags` string should contain both the short and long flags,
- * separated by comma, a pipe or space. The following are all valid
- * all will output this way when `--help` is used.
- *
- *    "-p, --pepper"
- *    "-p|--pepper"
- *    "-p --pepper"
- *
- * Examples:
- *
- *     // simple boolean defaulting to false
- *     program.option('-p, --pepper', 'add pepper');
- *
- *     --pepper
- *     program.pepper
- *     // => Boolean
- *
- *     // simple boolean defaulting to false
- *     program.option('-C, --no-cheese', 'remove cheese');
- *
- *     program.cheese
- *     // => true
- *
- *     --no-cheese
- *     program.cheese
- *     // => true
- *
- *     // required argument
- *     program.option('-C, --chdir <path>', 'change the working directory');
- *
- *     --chdir /tmp
- *     program.chdir
- *     // => "/tmp"
- *
- *     // optional argument
- *     program.option('-c, --cheese [type]', 'add cheese [marble]');
- *
- * @param {String} flags
- * @param {String} description
- * @param {Function|Mixed} fn or default
- * @param {Mixed} defaultValue
- * @return {Command} for chaining
- * @api public
- */
-
-Command.prototype.option = function(flags, description, fn, defaultValue){
-  var self = this
-    , option = new Option(flags, description)
-    , oname = option.name()
-    , name = camelcase(oname);
-
-  // default as 3rd arg
-  if ('function' != typeof fn) defaultValue = fn, fn = null;
-
-  // preassign default value only for --no-*, [optional], or <required>
-  if (false == option.bool || option.optional || option.required) {
-    // when --no-* we make sure default is true
-    if (false == option.bool) defaultValue = true;
-    // preassign only if we have a default
-    if (undefined !== defaultValue) self[name] = defaultValue;
-  }
-
-  // register the option
-  this.options.push(option);
-
-  // when it's passed assign the value
-  // and conditionally invoke the callback
-  this.on(oname, function(val){
-    // coercion
-    if (null != val && fn) val = fn(val);
-
-    // unassigned or bool
-    if ('boolean' == typeof self[name] || 'undefined' == typeof self[name]) {
-      // if no value, bool true, and we have a default, then use it!
-      if (null == val) {
-        self[name] = option.bool
-          ? defaultValue || true
-          : false;
-      } else {
-        self[name] = val;
-      }
-    } else if (null !== val) {
-      // reassign
-      self[name] = val;
-    }
-  });
-
-  return this;
-};
-
-/**
- * Parse `argv`, settings options and invoking commands when defined.
- *
- * @param {Array} argv
- * @return {Command} for chaining
- * @api public
- */
-
-Command.prototype.parse = function(argv){
-  // implicit help
-  if (this.executables) this.addImplicitHelpCommand();
-
-  // store raw args
-  this.rawArgs = argv;
-
-  // guess name
-  this._name = this._name || basename(argv[1]);
-
-  // process argv
-  var parsed = this.parseOptions(this.normalize(argv.slice(2)));
-  var args = this.args = parsed.args;
- 
-  // executable sub-commands, skip .parseArgs()
-  if (this.executables) return this.executeSubCommand(argv, args, parsed.unknown);
-
-  return this.parseArgs(this.args, parsed.unknown);
-};
-
-/**
- * Execute a sub-command executable.
- *
- * @param {Array} argv
- * @param {Array} args
- * @param {Array} unknown
- * @api private
- */
-
-Command.prototype.executeSubCommand = function(argv, args, unknown) {
-  args = args.concat(unknown);
-
-  if (!args.length) this.help();
-  if ('help' == args[0] && 1 == args.length) this.help();
-
-  // <cmd> --help
-  if ('help' == args[0]) {
-    args[0] = args[1];
-    args[1] = '--help';
-  }
-
-  // executable
-  var dir = dirname(argv[1]);
-  var bin = basename(argv[1]) + '-' + args[0];
-
-  // check for ./<bin> first
-  var local = path.join(dir, bin);
-  if (exists(local)) bin = local;
-
-  // run it
-  args = args.slice(1);
-  var proc = spawn(bin, args, { stdio: 'inherit', customFds: [0, 1, 2] });
-  proc.on('exit', function(code){
-    if (code == 127) {
-      console.error('\n  %s(1) does not exist\n', bin);
-    }
-  });
-};
-
-/**
- * Normalize `args`, splitting joined short flags. For example
- * the arg "-abc" is equivalent to "-a -b -c".
- * This also normalizes equal sign and splits "--abc=def" into "--abc def".
- *
- * @param {Array} args
- * @return {Array}
- * @api private
- */
-
-Command.prototype.normalize = function(args){
-  var ret = []
-    , arg
-    , index;
-
-  for (var i = 0, len = args.length; i < len; ++i) {
-    arg = args[i];
-    if (arg.length > 1 && '-' == arg[0] && '-' != arg[1]) {
-      arg.slice(1).split('').forEach(function(c){
-        ret.push('-' + c);
-      });
-    } else if (/^--/.test(arg) && ~(index = arg.indexOf('='))) {
-      ret.push(arg.slice(0, index), arg.slice(index + 1));
-    } else {
-      ret.push(arg);
-    }
-  }
-
-  return ret;
-};
-
-/**
- * Parse command `args`.
- *
- * When listener(s) are available those
- * callbacks are invoked, otherwise the "*"
- * event is emitted and those actions are invoked.
- *
- * @param {Array} args
- * @return {Command} for chaining
- * @api private
- */
-
-Command.prototype.parseArgs = function(args, unknown){
-  var cmds = this.commands
-    , len = cmds.length
-    , name;
-
-  if (args.length) {
-    name = args[0];
-    if (this.listeners(name).length) {
-      this.emit(args.shift(), args, unknown);
-    } else {
-      this.emit('*', args);
-    }
-  } else {
-    outputHelpIfNecessary(this, unknown);
-    
-    // If there were no args and we have unknown options,
-    // then they are extraneous and we need to error.
-    if (unknown.length > 0) {      
-      this.unknownOption(unknown[0]);
-    }
-  }
-
-  return this;
-};
-
-/**
- * Return an option matching `arg` if any.
- *
- * @param {String} arg
- * @return {Option}
- * @api private
- */
-
-Command.prototype.optionFor = function(arg){
-  for (var i = 0, len = this.options.length; i < len; ++i) {
-    if (this.options[i].is(arg)) {
-      return this.options[i];
-    }
-  }
-};
-
-/**
- * Parse options from `argv` returning `argv`
- * void of these options.
- *
- * @param {Array} argv
- * @return {Array}
- * @api public
- */
-
-Command.prototype.parseOptions = function(argv){
-  var args = []
-    , len = argv.length
-    , literal
-    , option
-    , arg;
-
-  var unknownOptions = [];
-
-  // parse options
-  for (var i = 0; i < len; ++i) {
-    arg = argv[i];
-
-    // literal args after --
-    if ('--' == arg) {
-      literal = true;
-      continue;
-    }
-
-    if (literal) {
-      args.push(arg);
-      continue;
-    }
-
-    // find matching Option
-    option = this.optionFor(arg);
-
-    // option is defined
-    if (option) {
-      // requires arg
-      if (option.required) {
-        arg = argv[++i];
-        if (null == arg) return this.optionMissingArgument(option);
-        if ('-' == arg[0] && '-' != arg) return this.optionMissingArgument(option, arg);
-        this.emit(option.name(), arg);
-      // optional arg
-      } else if (option.optional) {
-        arg = argv[i+1];
-        if (null == arg || ('-' == arg[0] && '-' != arg)) {
-          arg = null;
-        } else {
-          ++i;
-        }
-        this.emit(option.name(), arg);
-      // bool
-      } else {
-        this.emit(option.name());
-      }
-      continue;
-    }
-    
-    // looks like an option
-    if (arg.length > 1 && '-' == arg[0]) {
-      unknownOptions.push(arg);
-      
-      // If the next argument looks like it might be
-      // an argument for this option, we pass it on.
-      // If it isn't, then it'll simply be ignored
-      if (argv[i+1] && '-' != argv[i+1][0]) {
-        unknownOptions.push(argv[++i]);
-      }
-      continue;
-    }
-    
-    // arg
-    args.push(arg);
-  }
-  
-  return { args: args, unknown: unknownOptions };
-};
-
-/**
- * Argument `name` is missing.
- *
- * @param {String} name
- * @api private
- */
-
-Command.prototype.missingArgument = function(name){
-  console.error();
-  console.error("  error: missing required argument `%s'", name);
-  console.error();
-  process.exit(1);
-};
-
-/**
- * `Option` is missing an argument, but received `flag` or nothing.
- *
- * @param {String} option
- * @param {String} flag
- * @api private
- */
-
-Command.prototype.optionMissingArgument = function(option, flag){
-  console.error();
-  if (flag) {
-    console.error("  error: option `%s' argument missing, got `%s'", option.flags, flag);
-  } else {
-    console.error("  error: option `%s' argument missing", option.flags);
-  }
-  console.error();
-  process.exit(1);
-};
-
-/**
- * Unknown option `flag`.
- *
- * @param {String} flag
- * @api private
- */
-
-Command.prototype.unknownOption = function(flag){
-  console.error();
-  console.error("  error: unknown option `%s'", flag);
-  console.error();
-  process.exit(1);
-};
-
-
-/**
- * Set the program version to `str`.
- *
- * This method auto-registers the "-V, --version" flag
- * which will print the version number when passed.
- *
- * @param {String} str
- * @param {String} flags
- * @return {Command} for chaining
- * @api public
- */
-
-Command.prototype.version = function(str, flags){
-  if (0 == arguments.length) return this._version;
-  this._version = str;
-  flags = flags || '-V, --version';
-  this.option(flags, 'output the version number');
-  this.on('version', function(){
-    console.log(str);
-    process.exit(0);
-  });
-  return this;
-};
-
-/**
- * Set the description `str`.
- *
- * @param {String} str
- * @return {String|Command}
- * @api public
- */
-
-Command.prototype.description = function(str){
-  if (0 == arguments.length) return this._description;
-  this._description = str;
-  return this;
-};
-
-/**
- * Set / get the command usage `str`.
- *
- * @param {String} str
- * @return {String|Command}
- * @api public
- */
-
-Command.prototype.usage = function(str){
-  var args = this._args.map(function(arg){
-    return arg.required
-      ? '<' + arg.name + '>'
-      : '[' + arg.name + ']';
-  });
-
-  var usage = '[options'
-    + (this.commands.length ? '] [command' : '')
-    + ']'
-    + (this._args.length ? ' ' + args : '');
-
-  if (0 == arguments.length) return this._usage || usage;
-  this._usage = str;
-
-  return this;
-};
-
-/**
- * Return the largest option length.
- *
- * @return {Number}
- * @api private
- */
-
-Command.prototype.largestOptionLength = function(){
-  return this.options.reduce(function(max, option){
-    return Math.max(max, option.flags.length);
-  }, 0);
-};
-
-/**
- * Return help for options.
- *
- * @return {String}
- * @api private
- */
-
-Command.prototype.optionHelp = function(){
-  var width = this.largestOptionLength();
-  
-  // Prepend the help information
-  return [pad('-h, --help', width) + '  ' + 'output usage information']
-    .concat(this.options.map(function(option){
-      return pad(option.flags, width)
-        + '  ' + option.description;
-      }))
-    .join('\n');
-};
-
-/**
- * Return command help documentation.
- *
- * @return {String}
- * @api private
- */
-
-Command.prototype.commandHelp = function(){
-  if (!this.commands.length) return '';
-  return [
-      ''
-    , '  Commands:'
-    , ''
-    , this.commands.map(function(cmd){
-      var args = cmd._args.map(function(arg){
-        return arg.required
-          ? '<' + arg.name + '>'
-          : '[' + arg.name + ']';
-      }).join(' ');
-
-      return pad(cmd._name
-        + (cmd.options.length 
-          ? ' [options]'
-          : '') + ' ' + args, 22)
-        + (cmd.description()
-          ? ' ' + cmd.description()
-          : '');
-    }).join('\n').replace(/^/gm, '    ')
-    , ''
-  ].join('\n');
-};
-
-/**
- * Return program help documentation.
- *
- * @return {String}
- * @api private
- */
-
-Command.prototype.helpInformation = function(){
-  return [
-      ''
-    , '  Usage: ' + this._name + ' ' + this.usage()
-    , '' + this.commandHelp()
-    , '  Options:'
-    , ''
-    , '' + this.optionHelp().replace(/^/gm, '    ')
-    , ''
-    , ''
-  ].join('\n');
-};
-
-/**
- * Prompt for a `Number`.
- *
- * @param {String} str
- * @param {Function} fn
- * @api private
- */
-
-Command.prototype.promptForNumber = function(str, fn){
-  var self = this;
-  this.promptSingleLine(str, function parseNumber(val){
-    val = Number(val);
-    if (isNaN(val)) return self.promptSingleLine(str + '(must be a number) ', parseNumber);
-    fn(val);
-  });
-};
-
-/**
- * Prompt for a `Date`.
- *
- * @param {String} str
- * @param {Function} fn
- * @api private
- */
-
-Command.prototype.promptForDate = function(str, fn){
-  var self = this;
-  this.promptSingleLine(str, function parseDate(val){
-    val = new Date(val);
-    if (isNaN(val.getTime())) return self.promptSingleLine(str + '(must be a date) ', parseDate);
-    fn(val);
-  });
-};
-
-
-/**
- * Prompt for a `Regular Expression`.
- *
- * @param {String} str
- * @param {Object} pattern regular expression object to test
- * @param {Function} fn
- * @api private
- */
-
-Command.prototype.promptForRegexp = function(str, pattern, fn){
-  var self = this;
-  this.promptSingleLine(str, function parseRegexp(val){
-    if(!pattern.test(val)) return self.promptSingleLine(str + '(regular expression mismatch) ', parseRegexp);
-    fn(val);
-  });
-};
-
-
-/**
- * Single-line prompt.
- *
- * @param {String} str
- * @param {Function} fn
- * @api private
- */
-
-Command.prototype.promptSingleLine = function(str, fn){
-  // determine if the 2nd argument is a regular expression
-  if (arguments[1].global !== undefined && arguments[1].multiline !== undefined) {
-    return this.promptForRegexp(str, arguments[1], arguments[2]);
-  } else if ('function' == typeof arguments[2]) {
-    return this['promptFor' + (fn.name || fn)](str, arguments[2]);
-  }
-
-  process.stdout.write(str);
-  process.stdin.setEncoding('utf8');
-  process.stdin.once('data', function(val){
-    fn(val.trim());
-  }).resume();
-};
-
-/**
- * Multi-line prompt.
- *
- * @param {String} str
- * @param {Function} fn
- * @api private
- */
-
-Command.prototype.promptMultiLine = function(str, fn){
-  var buf = [];
-  console.log(str);
-  process.stdin.setEncoding('utf8');
-  process.stdin.on('data', function(val){
-    if ('\n' == val || '\r\n' == val) {
-      process.stdin.removeAllListeners('data');
-      fn(buf.join('\n'));
-    } else {
-      buf.push(val.trimRight());
-    }
-  }).resume();
-};
-
-/**
- * Prompt `str` and callback `fn(val)`
- *
- * Commander supports single-line and multi-line prompts.
- * To issue a single-line prompt simply add white-space
- * to the end of `str`, something like "name: ", whereas
- * for a multi-line prompt omit this "description:".
- *
- *
- * Examples:
- *
- *     program.prompt('Username: ', function(name){
- *       console.log('hi %s', name);
- *     });
- *     
- *     program.prompt('Description:', function(desc){
- *       console.log('description was "%s"', desc.trim());
- *     });
- *
- * @param {String|Object} str
- * @param {Function} fn
- * @api public
- */
-
-Command.prototype.prompt = function(str, fn){
-  var self = this;
-  if ('string' == typeof str) {
-    if (/ $/.test(str)) return this.promptSingleLine.apply(this, arguments);
-    this.promptMultiLine(str, fn);
-  } else {
-    var keys = Object.keys(str)
-      , obj = {};
-
-    function next() {
-      var key = keys.shift()
-        , label = str[key];
-
-      if (!key) return fn(obj);
-      self.prompt(label, function(val){
-        obj[key] = val;
-        next();
-      });
-    }
-
-    next();
-  }
-};
-
-/**
- * Prompt for password with `str`, `mask` char and callback `fn(val)`.
- *
- * The mask string defaults to '', aka no output is
- * written while typing, you may want to use "*" etc.
- *
- * Examples:
- *
- *     program.password('Password: ', function(pass){
- *       console.log('got "%s"', pass);
- *       process.stdin.destroy();
- *     });
- *
- *     program.password('Password: ', '*', function(pass){
- *       console.log('got "%s"', pass);
- *       process.stdin.destroy();
- *     });
- *
- * @param {String} str
- * @param {String} mask
- * @param {Function} fn
- * @api public
- */
-
-Command.prototype.password = function(str, mask, fn){
-  var self = this
-    , buf = '';
-
-  // default mask
-  if ('function' == typeof mask) {
-    fn = mask;
-    mask = '';
-  }
-
-  keypress(process.stdin);
-
-  function setRawMode(mode) {
-    if (process.stdin.setRawMode) {
-      process.stdin.setRawMode(mode);
-    } else {
-      tty.setRawMode(mode);
-    }
-  };
-  setRawMode(true);
-  process.stdout.write(str);
-
-  // keypress
-  process.stdin.on('keypress', function(c, key){
-    if (key && 'enter' == key.name) {
-      console.log();
-      process.stdin.pause();
-      process.stdin.removeAllListeners('keypress');
-      setRawMode(false);
-      if (!buf.trim().length) return self.password(str, mask, fn);
-      fn(buf);
-      return;
-    }
-
-    if (key && key.ctrl && 'c' == key.name) {
-      console.log('%s', buf);
-      process.exit();
-    }
-
-    process.stdout.write(mask);
-    buf += c;
-  }).resume();
-};
-
-/**
- * Confirmation prompt with `str` and callback `fn(bool)`
- *
- * Examples:
- *
- *      program.confirm('continue? ', function(ok){
- *        console.log(' got %j', ok);
- *        process.stdin.destroy();
- *      });
- *
- * @param {String} str
- * @param {Function} fn
- * @api public
- */
-
-
-Command.prototype.confirm = function(str, fn, verbose){
-  var self = this;
-  this.prompt(str, function(ok){
-    if (!ok.trim()) {
-      if (!verbose) str += '(yes or no) ';
-      return self.confirm(str, fn, true);
-    }
-    fn(parseBool(ok));
-  });
-};
-
-/**
- * Choice prompt with `list` of items and callback `fn(index, item)`
- *
- * Examples:
- *
- *      var list = ['tobi', 'loki', 'jane', 'manny', 'luna'];
- *      
- *      console.log('Choose the coolest pet:');
- *      program.choose(list, function(i){
- *        console.log('you chose %d "%s"', i, list[i]);
- *        process.stdin.destroy();
- *      });
- *
- * @param {Array} list
- * @param {Number|Function} index or fn
- * @param {Function} fn
- * @api public
- */
-
-Command.prototype.choose = function(list, index, fn){
-  var self = this
-    , hasDefault = 'number' == typeof index;
-
-  if (!hasDefault) {
-    fn = index;
-    index = null;
-  }
-
-  list.forEach(function(item, i){
-    if (hasDefault && i == index) {
-      console.log('* %d) %s', i + 1, item);
-    } else {
-      console.log('  %d) %s', i + 1, item);
-    }
-  });
-
-  function again() {
-    self.prompt('  : ', function(val){
-      val = parseInt(val, 10) - 1;
-      if (hasDefault && isNaN(val)) val = index;
-
-      if (null == list[val]) {
-        again();
-      } else {
-        fn(val, list[val]);
-      }
-    });
-  }
-
-  again();
-};
-
-
-/**
- * Output help information for this command
- *
- * @api public
- */
-
-Command.prototype.outputHelp = function(){
-  process.stdout.write(this.helpInformation());
-  this.emit('--help');
-};
-
-/**
- * Output help information and exit.
- *
- * @api public
- */
-
-Command.prototype.help = function(){
-  this.outputHelp();
-  process.exit();
-};
-
-/**
- * Camel-case the given `flag`
- *
- * @param {String} flag
- * @return {String}
- * @api private
- */
-
-function camelcase(flag) {
-  return flag.split('-').reduce(function(str, word){
-    return str + word[0].toUpperCase() + word.slice(1);
-  });
-}
-
-/**
- * Parse a boolean `str`.
- *
- * @param {String} str
- * @return {Boolean}
- * @api private
- */
-
-function parseBool(str) {
-  return /^y|yes|ok|true$/i.test(str);
-}
-
-/**
- * Pad `str` to `width`.
- *
- * @param {String} str
- * @param {Number} width
- * @return {String}
- * @api private
- */
-
-function pad(str, width) {
-  var len = Math.max(0, width - str.length);
-  return str + Array(len + 1).join(' ');
-}
-
-/**
- * Output help information if necessary
- *
- * @param {Command} command to output help for
- * @param {Array} array of options to search for -h or --help
- * @api private
- */
-
-function outputHelpIfNecessary(cmd, options) {
-  options = options || [];
-  for (var i = 0; i < options.length; i++) {
-    if (options[i] == '--help' || options[i] == '-h') {
-      cmd.outputHelp();
-      process.exit(0);
-    }
-  }
-}

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/e1a45507/web/demos/package/node_modules/express/node_modules/commander/node_modules/keypress/README.md
----------------------------------------------------------------------
diff --git a/web/demos/package/node_modules/express/node_modules/commander/node_modules/keypress/README.md b/web/demos/package/node_modules/express/node_modules/commander/node_modules/keypress/README.md
deleted file mode 100644
index a768e8f..0000000
--- a/web/demos/package/node_modules/express/node_modules/commander/node_modules/keypress/README.md
+++ /dev/null
@@ -1,101 +0,0 @@
-keypress
-========
-### Make any Node ReadableStream emit "keypress" events
-
-
-Previous to Node `v0.8.x`, there was an undocumented `"keypress"` event that
-`process.stdin` would emit when it was a TTY. Some people discovered this hidden
-gem, and started using it in their own code.
-
-Now in Node `v0.8.x`, this `"keypress"` event does not get emitted by default,
-but rather only when it is being used in conjuction with the `readline` (or by
-extension, the `repl`) module.
-
-This module is the exact logic from the node `v0.8.x` releases ripped out into its
-own module.
-
-__Bonus:__ Now with mouse support!
-
-Installation
-------------
-
-Install with `npm`:
-
-``` bash
-$ npm install keypress
-```
-
-Or add it to the `"dependencies"` section of your _package.json_ file.
-
-
-Example
--------
-
-#### Listening for "keypress" events
-
-``` js
-var keypress = require('keypress');
-
-// make `process.stdin` begin emitting "keypress" events
-keypress(process.stdin);
-
-// listen for the "keypress" event
-process.stdin.on('keypress', function (ch, key) {
-  console.log('got "keypress"', key);
-  if (key && key.ctrl && key.name == 'c') {
-    process.stdin.pause();
-  }
-});
-
-process.stdin.setRawMode(true);
-process.stdin.resume();
-```
-
-#### Listening for "mousepress" events
-
-``` js
-var keypress = require('keypress');
-
-// make `process.stdin` begin emitting "mousepress" (and "keypress") events
-keypress(process.stdin);
-
-// you must enable the mouse events before they will begin firing
-keypress.enableMouse(process.stdout);
-
-process.stdin.on('mousepress', function (info) {
-  console.log('got "mousepress" event at %d x %d', info.x, info.y);
-});
-
-process.on('exit', function () {
-  // disable mouse on exit, so that the state
-  // is back to normal for the terminal
-  keypress.disableMouse(process.stdout);
-});
-```
-
-
-License
--------
-
-(The MIT License)
-
-Copyright (c) 2012 Nathan Rajlich &lt;nathan@tootallnate.net&gt;
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-'Software'), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/e1a45507/web/demos/package/node_modules/express/node_modules/commander/node_modules/keypress/index.js
----------------------------------------------------------------------
diff --git a/web/demos/package/node_modules/express/node_modules/commander/node_modules/keypress/index.js b/web/demos/package/node_modules/express/node_modules/commander/node_modules/keypress/index.js
deleted file mode 100644
index c2ba488..0000000
--- a/web/demos/package/node_modules/express/node_modules/commander/node_modules/keypress/index.js
+++ /dev/null
@@ -1,346 +0,0 @@
-
-/**
- * This module offers the internal "keypress" functionality from node-core's
- * `readline` module, for your own programs and modules to use.
- *
- * Usage:
- *
- *   require('keypress')(process.stdin);
- *
- *   process.stdin.on('keypress', function (ch, key) {
- *     console.log(ch, key);
- *     if (key.ctrl && key.name == 'c') {
- *       process.stdin.pause();
- *     }
- *   });
- *   proces.stdin.resume();
- */
-var exports = module.exports = keypress;
-
-exports.enableMouse = function (stream) {
-  stream.write('\x1b' +'[?1000h')
-}
-
-exports.disableMouse = function (stream) {
-  stream.write('\x1b' +'[?1000l')
-}
-
-
-/**
- * accepts a readable Stream instance and makes it emit "keypress" events
- */
-
-function keypress(stream) {
-  if (isEmittingKeypress(stream)) return;
-  stream._emitKeypress = true;
-
-  function onData(b) {
-    if (stream.listeners('keypress').length > 0) {
-      emitKey(stream, b);
-    } else {
-      // Nobody's watching anyway
-      stream.removeListener('data', onData);
-      stream.on('newListener', onNewListener);
-    }
-  }
-
-  function onNewListener(event) {
-    if (event == 'keypress') {
-      stream.on('data', onData);
-      stream.removeListener('newListener', onNewListener);
-    }
-  }
-
-  if (stream.listeners('keypress').length > 0) {
-    stream.on('data', onData);
-  } else {
-    stream.on('newListener', onNewListener);
-  }
-}
-
-/**
- * Returns `true` if the stream is already emitting "keypress" events.
- * `false` otherwise.
- */
-
-function isEmittingKeypress(stream) {
-  var rtn = stream._emitKeypress;
-  if (!rtn) {
-    // hack: check for the v0.6.x "data" event
-    stream.listeners('data').forEach(function (l) {
-      if (l.name == 'onData' && /emitKey/.test(l.toString())) {
-        rtn = true;
-        stream._emitKeypress = true;
-      }
-    });
-  }
-  if (!rtn) {
-    // hack: check for the v0.6.x "newListener" event
-    stream.listeners('newListener').forEach(function (l) {
-      if (l.name == 'onNewListener' && /keypress/.test(l.toString())) {
-        rtn = true;
-        stream._emitKeypress = true;
-      }
-    });
-  }
-  return rtn;
-}
-
-
-/*
-  Some patterns seen in terminal key escape codes, derived from combos seen
-  at http://www.midnight-commander.org/browser/lib/tty/key.c
-
-  ESC letter
-  ESC [ letter
-  ESC [ modifier letter
-  ESC [ 1 ; modifier letter
-  ESC [ num char
-  ESC [ num ; modifier char
-  ESC O letter
-  ESC O modifier letter
-  ESC O 1 ; modifier letter
-  ESC N letter
-  ESC [ [ num ; modifier char
-  ESC [ [ 1 ; modifier letter
-  ESC ESC [ num char
-  ESC ESC O letter
-
-  - char is usually ~ but $ and ^ also happen with rxvt
-  - modifier is 1 +
-                (shift     * 1) +
-                (left_alt  * 2) +
-                (ctrl      * 4) +
-                (right_alt * 8)
-  - two leading ESCs apparently mean the same as one leading ESC
-*/
-
-// Regexes used for ansi escape code splitting
-var metaKeyCodeRe = /^(?:\x1b)([a-zA-Z0-9])$/;
-var functionKeyCodeRe =
-    /^(?:\x1b+)(O|N|\[|\[\[)(?:(\d+)(?:;(\d+))?([~^$])|(?:1;)?(\d+)?([a-zA-Z]))/;
-
-function emitKey(stream, s) {
-  var ch,
-      key = {
-        name: undefined,
-        ctrl: false,
-        meta: false,
-        shift: false
-      },
-      parts;
-
-  if (Buffer.isBuffer(s)) {
-    if (s[0] > 127 && s[1] === undefined) {
-      s[0] -= 128;
-      s = '\x1b' + s.toString(stream.encoding || 'utf-8');
-    } else {
-      s = s.toString(stream.encoding || 'utf-8');
-    }
-  }
-
-  key.sequence = s;
-
-  if (s === '\r' || s === '\n') {
-    // enter
-    key.name = 'enter';
-
-  } else if (s === '\t') {
-    // tab
-    key.name = 'tab';
-
-  } else if (s === '\b' || s === '\x7f' ||
-             s === '\x1b\x7f' || s === '\x1b\b') {
-    // backspace or ctrl+h
-    key.name = 'backspace';
-    key.meta = (s.charAt(0) === '\x1b');
-
-  } else if (s === '\x1b' || s === '\x1b\x1b') {
-    // escape key
-    key.name = 'escape';
-    key.meta = (s.length === 2);
-
-  } else if (s === ' ' || s === '\x1b ') {
-    key.name = 'space';
-    key.meta = (s.length === 2);
-
-  } else if (s <= '\x1a') {
-    // ctrl+letter
-    key.name = String.fromCharCode(s.charCodeAt(0) + 'a'.charCodeAt(0) - 1);
-    key.ctrl = true;
-
-  } else if (s.length === 1 && s >= 'a' && s <= 'z') {
-    // lowercase letter
-    key.name = s;
-
-  } else if (s.length === 1 && s >= 'A' && s <= 'Z') {
-    // shift+letter
-    key.name = s.toLowerCase();
-    key.shift = true;
-
-  } else if (parts = metaKeyCodeRe.exec(s)) {
-    // meta+character key
-    key.name = parts[1].toLowerCase();
-    key.meta = true;
-    key.shift = /^[A-Z]$/.test(parts[1]);
-
-  } else if (parts = functionKeyCodeRe.exec(s)) {
-    // ansi escape sequence
-
-    // reassemble the key code leaving out leading \x1b's,
-    // the modifier key bitflag and any meaningless "1;" sequence
-    var code = (parts[1] || '') + (parts[2] || '') +
-               (parts[4] || '') + (parts[6] || ''),
-        modifier = (parts[3] || parts[5] || 1) - 1;
-
-    // Parse the key modifier
-    key.ctrl = !!(modifier & 4);
-    key.meta = !!(modifier & 10);
-    key.shift = !!(modifier & 1);
-    key.code = code;
-
-    // Parse the key itself
-    switch (code) {
-      /* xterm/gnome ESC O letter */
-      case 'OP': key.name = 'f1'; break;
-      case 'OQ': key.name = 'f2'; break;
-      case 'OR': key.name = 'f3'; break;
-      case 'OS': key.name = 'f4'; break;
-
-      /* xterm/rxvt ESC [ number ~ */
-      case '[11~': key.name = 'f1'; break;
-      case '[12~': key.name = 'f2'; break;
-      case '[13~': key.name = 'f3'; break;
-      case '[14~': key.name = 'f4'; break;
-
-      /* from Cygwin and used in libuv */
-      case '[[A': key.name = 'f1'; break;
-      case '[[B': key.name = 'f2'; break;
-      case '[[C': key.name = 'f3'; break;
-      case '[[D': key.name = 'f4'; break;
-      case '[[E': key.name = 'f5'; break;
-
-      /* common */
-      case '[15~': key.name = 'f5'; break;
-      case '[17~': key.name = 'f6'; break;
-      case '[18~': key.name = 'f7'; break;
-      case '[19~': key.name = 'f8'; break;
-      case '[20~': key.name = 'f9'; break;
-      case '[21~': key.name = 'f10'; break;
-      case '[23~': key.name = 'f11'; break;
-      case '[24~': key.name = 'f12'; break;
-
-      /* xterm ESC [ letter */
-      case '[A': key.name = 'up'; break;
-      case '[B': key.name = 'down'; break;
-      case '[C': key.name = 'right'; break;
-      case '[D': key.name = 'left'; break;
-      case '[E': key.name = 'clear'; break;
-      case '[F': key.name = 'end'; break;
-      case '[H': key.name = 'home'; break;
-
-      /* xterm/gnome ESC O letter */
-      case 'OA': key.name = 'up'; break;
-      case 'OB': key.name = 'down'; break;
-      case 'OC': key.name = 'right'; break;
-      case 'OD': key.name = 'left'; break;
-      case 'OE': key.name = 'clear'; break;
-      case 'OF': key.name = 'end'; break;
-      case 'OH': key.name = 'home'; break;
-
-      /* xterm/rxvt ESC [ number ~ */
-      case '[1~': key.name = 'home'; break;
-      case '[2~': key.name = 'insert'; break;
-      case '[3~': key.name = 'delete'; break;
-      case '[4~': key.name = 'end'; break;
-      case '[5~': key.name = 'pageup'; break;
-      case '[6~': key.name = 'pagedown'; break;
-
-      /* putty */
-      case '[[5~': key.name = 'pageup'; break;
-      case '[[6~': key.name = 'pagedown'; break;
-
-      /* rxvt */
-      case '[7~': key.name = 'home'; break;
-      case '[8~': key.name = 'end'; break;
-
-      /* rxvt keys with modifiers */
-      case '[a': key.name = 'up'; key.shift = true; break;
-      case '[b': key.name = 'down'; key.shift = true; break;
-      case '[c': key.name = 'right'; key.shift = true; break;
-      case '[d': key.name = 'left'; key.shift = true; break;
-      case '[e': key.name = 'clear'; key.shift = true; break;
-
-      case '[2$': key.name = 'insert'; key.shift = true; break;
-      case '[3$': key.name = 'delete'; key.shift = true; break;
-      case '[5$': key.name = 'pageup'; key.shift = true; break;
-      case '[6$': key.name = 'pagedown'; key.shift = true; break;
-      case '[7$': key.name = 'home'; key.shift = true; break;
-      case '[8$': key.name = 'end'; key.shift = true; break;
-
-      case 'Oa': key.name = 'up'; key.ctrl = true; break;
-      case 'Ob': key.name = 'down'; key.ctrl = true; break;
-      case 'Oc': key.name = 'right'; key.ctrl = true; break;
-      case 'Od': key.name = 'left'; key.ctrl = true; break;
-      case 'Oe': key.name = 'clear'; key.ctrl = true; break;
-
-      case '[2^': key.name = 'insert'; key.ctrl = true; break;
-      case '[3^': key.name = 'delete'; key.ctrl = true; break;
-      case '[5^': key.name = 'pageup'; key.ctrl = true; break;
-      case '[6^': key.name = 'pagedown'; key.ctrl = true; break;
-      case '[7^': key.name = 'home'; key.ctrl = true; break;
-      case '[8^': key.name = 'end'; key.ctrl = true; break;
-
-      /* misc. */
-      case '[Z': key.name = 'tab'; key.shift = true; break;
-      default: key.name = 'undefined'; break;
-
-    }
-  } else if (s.length > 1 && s[0] !== '\x1b') {
-    // Got a longer-than-one string of characters.
-    // Probably a paste, since it wasn't a control sequence.
-    Array.prototype.forEach.call(s, function(c) {
-      emitKey(stream, c);
-    });
-    return;
-  }
-
-  if (key.code == '[M') {
-    key.name = 'mouse';
-    var s = key.sequence;
-    var b = s.charCodeAt(3);
-    key.x = s.charCodeAt(4) - 040;
-    key.y = s.charCodeAt(5) - 040;
-
-    key.scroll = 0;
-
-    key.ctrl  = !!(1<<4 & b);
-    key.meta  = !!(1<<3 & b);
-    key.shift = !!(1<<2 & b);
-
-    key.release = (3 & b) === 3;
-
-    if (1<<6 & b) { //scroll
-      key.scroll = 1 & b ? 1 : -1;
-    }
-
-    if (!key.release && !key.scroll) {
-      key.button = b & 3;
-    }
-  }
-
-  // Don't emit a key if no name was found
-  if (key.name === undefined) {
-    key = undefined;
-  }
-
-  if (s.length === 1) {
-    ch = s;
-  }
-
-  if (key && key.name == 'mouse') {
-    stream.emit('mousepress', key)
-  } else if (key || ch) {
-    stream.emit('keypress', ch, key);
-  }
-}

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/e1a45507/web/demos/package/node_modules/express/node_modules/commander/node_modules/keypress/package.json
----------------------------------------------------------------------
diff --git a/web/demos/package/node_modules/express/node_modules/commander/node_modules/keypress/package.json b/web/demos/package/node_modules/express/node_modules/commander/node_modules/keypress/package.json
deleted file mode 100644
index c546205..0000000
--- a/web/demos/package/node_modules/express/node_modules/commander/node_modules/keypress/package.json
+++ /dev/null
@@ -1,32 +0,0 @@
-{
-  "name": "keypress",
-  "version": "0.1.0",
-  "description": "Make any Node ReadableStream emit \"keypress\" events",
-  "author": {
-    "name": "Nathan Rajlich",
-    "email": "nathan@tootallnate.net",
-    "url": "http://tootallnate.net"
-  },
-  "main": "index.js",
-  "scripts": {
-    "test": "echo \"Error: no test specified\" && exit 1"
-  },
-  "repository": {
-    "type": "git",
-    "url": "git://github.com/TooTallNate/keypress.git"
-  },
-  "keywords": [
-    "keypress",
-    "readline",
-    "core"
-  ],
-  "license": "MIT",
-  "readme": "keypress\n========\n### Make any Node ReadableStream emit \"keypress\" events\n\n\nPrevious to Node `v0.8.x`, there was an undocumented `\"keypress\"` event that\n`process.stdin` would emit when it was a TTY. Some people discovered this hidden\ngem, and started using it in their own code.\n\nNow in Node `v0.8.x`, this `\"keypress\"` event does not get emitted by default,\nbut rather only when it is being used in conjuction with the `readline` (or by\nextension, the `repl`) module.\n\nThis module is the exact logic from the node `v0.8.x` releases ripped out into its\nown module.\n\n__Bonus:__ Now with mouse support!\n\nInstallation\n------------\n\nInstall with `npm`:\n\n``` bash\n$ npm install keypress\n```\n\nOr add it to the `\"dependencies\"` section of your _package.json_ file.\n\n\nExample\n-------\n\n#### Listening for \"keypress\" events\n\n``` js\nvar keypress = require('keypress');\n\n// make `process.stdin` begin emitting \"keypress\" events\nkeypress(process.
 stdin);\n\n// listen for the \"keypress\" event\nprocess.stdin.on('keypress', function (ch, key) {\n  console.log('got \"keypress\"', key);\n  if (key && key.ctrl && key.name == 'c') {\n    process.stdin.pause();\n  }\n});\n\nprocess.stdin.setRawMode(true);\nprocess.stdin.resume();\n```\n\n#### Listening for \"mousepress\" events\n\n``` js\nvar keypress = require('keypress');\n\n// make `process.stdin` begin emitting \"mousepress\" (and \"keypress\") events\nkeypress(process.stdin);\n\n// you must enable the mouse events before they will begin firing\nkeypress.enableMouse(process.stdout);\n\nprocess.stdin.on('mousepress', function (info) {\n  console.log('got \"mousepress\" event at %d x %d', info.x, info.y);\n});\n\nprocess.on('exit', function () {\n  // disable mouse on exit, so that the state\n  // is back to normal for the terminal\n  keypress.disableMouse(process.stdout);\n});\n```\n\n\nLicense\n-------\n\n(The MIT License)\n\nCopyright (c) 2012 Nathan Rajlich &lt;nathan@tootal
 lnate.net&gt;\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n'Software'), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH 
 THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n",
-  "readmeFilename": "README.md",
-  "bugs": {
-    "url": "https://github.com/TooTallNate/keypress/issues"
-  },
-  "homepage": "https://github.com/TooTallNate/keypress",
-  "_id": "keypress@0.1.0",
-  "_from": "keypress@0.1.x"
-}

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/e1a45507/web/demos/package/node_modules/express/node_modules/commander/node_modules/keypress/test.js
----------------------------------------------------------------------
diff --git a/web/demos/package/node_modules/express/node_modules/commander/node_modules/keypress/test.js b/web/demos/package/node_modules/express/node_modules/commander/node_modules/keypress/test.js
deleted file mode 100644
index c3f61d7..0000000
--- a/web/demos/package/node_modules/express/node_modules/commander/node_modules/keypress/test.js
+++ /dev/null
@@ -1,28 +0,0 @@
-
-var keypress = require('./')
-keypress(process.stdin)
-
-if (process.stdin.setRawMode)
-  process.stdin.setRawMode(true)
-else
-  require('tty').setRawMode(true)
-
-process.stdin.on('keypress', function (c, key) {
-  console.log(0, c, key)
-  if (key && key.ctrl && key.name == 'c') {
-    process.stdin.pause()
-  }
-})
-process.stdin.on('mousepress', function (mouse) {
-  console.log(mouse)
-})
-
-keypress.enableMouse(process.stdout)
-process.on('exit', function () {
-  //disable mouse on exit, so that the state is back to normal
-  //for the terminal.
-  keypress.disableMouse(process.stdout)
-})
-
-process.stdin.resume()
-

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/e1a45507/web/demos/package/node_modules/express/node_modules/commander/package.json
----------------------------------------------------------------------
diff --git a/web/demos/package/node_modules/express/node_modules/commander/package.json b/web/demos/package/node_modules/express/node_modules/commander/package.json
deleted file mode 100644
index ffec062..0000000
--- a/web/demos/package/node_modules/express/node_modules/commander/package.json
+++ /dev/null
@@ -1,41 +0,0 @@
-{
-  "name": "commander",
-  "version": "1.2.0",
-  "description": "the complete solution for node.js command-line programs",
-  "keywords": [
-    "command",
-    "option",
-    "parser",
-    "prompt",
-    "stdin"
-  ],
-  "author": {
-    "name": "TJ Holowaychuk",
-    "email": "tj@vision-media.ca"
-  },
-  "repository": {
-    "type": "git",
-    "url": "https://github.com/visionmedia/commander.js.git"
-  },
-  "dependencies": {
-    "keypress": "0.1.x"
-  },
-  "devDependencies": {
-    "should": ">= 0.0.1"
-  },
-  "scripts": {
-    "test": "make test"
-  },
-  "main": "index",
-  "engines": {
-    "node": ">= 0.6.x"
-  },
-  "readme": "# Commander.js\n\n  The complete solution for [node.js](http://nodejs.org) command-line interfaces, inspired by Ruby's [commander](https://github.com/visionmedia/commander).\n\n [![Build Status](https://secure.travis-ci.org/visionmedia/commander.js.png)](http://travis-ci.org/visionmedia/commander.js)\n\n## Installation\n\n    $ npm install commander\n\n## Option parsing\n\n Options with commander are defined with the `.option()` method, also serving as documentation for the options. The example below parses args and options from `process.argv`, leaving remaining args as the `program.args` array which were not consumed by options.\n\n```js\n#!/usr/bin/env node\n\n/**\n * Module dependencies.\n */\n\nvar program = require('commander');\n\nprogram\n  .version('0.0.1')\n  .option('-p, --peppers', 'Add peppers')\n  .option('-P, --pineapple', 'Add pineapple')\n  .option('-b, --bbq', 'Add bbq sauce')\n  .option('-c, --cheese [type]', 'Add the specified type of cheese [marble]'
 , 'marble')\n  .parse(process.argv);\n\nconsole.log('you ordered a pizza with:');\nif (program.peppers) console.log('  - peppers');\nif (program.pineapple) console.log('  - pineappe');\nif (program.bbq) console.log('  - bbq');\nconsole.log('  - %s cheese', program.cheese);\n```\n\n Short flags may be passed as a single arg, for example `-abc` is equivalent to `-a -b -c`. Multi-word options such as \"--template-engine\" are camel-cased, becoming `program.templateEngine` etc.\n\n## Automated --help\n\n The help information is auto-generated based on the information commander already knows about your program, so the following `--help` info is for free:\n\n```  \n $ ./examples/pizza --help\n\n   Usage: pizza [options]\n\n   Options:\n\n     -V, --version        output the version number\n     -p, --peppers        Add peppers\n     -P, --pineapple      Add pineappe\n     -b, --bbq            Add bbq sauce\n     -c, --cheese <type>  Add the specified type of cheese [marble]\n     -h, --he
 lp           output usage information\n\n```\n\n## Coercion\n\n```js\nfunction range(val) {\n  return val.split('..').map(Number);\n}\n\nfunction list(val) {\n  return val.split(',');\n}\n\nprogram\n  .version('0.0.1')\n  .usage('[options] <file ...>')\n  .option('-i, --integer <n>', 'An integer argument', parseInt)\n  .option('-f, --float <n>', 'A float argument', parseFloat)\n  .option('-r, --range <a>..<b>', 'A range', range)\n  .option('-l, --list <items>', 'A list', list)\n  .option('-o, --optional [value]', 'An optional value')\n  .parse(process.argv);\n\nconsole.log(' int: %j', program.integer);\nconsole.log(' float: %j', program.float);\nconsole.log(' optional: %j', program.optional);\nprogram.range = program.range || [];\nconsole.log(' range: %j..%j', program.range[0], program.range[1]);\nconsole.log(' list: %j', program.list);\nconsole.log(' args: %j', program.args);\n```\n\n## Custom help\n\n You can display arbitrary `-h, --help` information\n by listening for \"--help\"
 . Commander will automatically\n exit once you are done so that the remainder of your program\n does not execute causing undesired behaviours, for example\n in the following executable \"stuff\" will not output when\n `--help` is used.\n\n```js\n#!/usr/bin/env node\n\n/**\n * Module dependencies.\n */\n\nvar program = require('../');\n\nfunction list(val) {\n  return val.split(',').map(Number);\n}\n\nprogram\n  .version('0.0.1')\n  .option('-f, --foo', 'enable some foo')\n  .option('-b, --bar', 'enable some bar')\n  .option('-B, --baz', 'enable some baz');\n\n// must be before .parse() since\n// node's emit() is immediate\n\nprogram.on('--help', function(){\n  console.log('  Examples:');\n  console.log('');\n  console.log('    $ custom-help --help');\n  console.log('    $ custom-help -h');\n  console.log('');\n});\n\nprogram.parse(process.argv);\n\nconsole.log('stuff');\n```\n\nyielding the following help output:\n\n```\n\nUsage: custom-help [options]\n\nOptions:\n\n  -h, --help    
  output usage information\n  -V, --version  output the version number\n  -f, --foo      enable some foo\n  -b, --bar      enable some bar\n  -B, --baz      enable some baz\n\nExamples:\n\n  $ custom-help --help\n  $ custom-help -h\n\n```\n\n## .prompt(msg, fn)\n\n Single-line prompt:\n\n```js\nprogram.prompt('name: ', function(name){\n  console.log('hi %s', name);\n});\n```\n\n Multi-line prompt:\n\n```js\nprogram.prompt('description:', function(name){\n  console.log('hi %s', name);\n});\n```\n\n Coercion:\n\n```js\nprogram.prompt('Age: ', Number, function(age){\n  console.log('age: %j', age);\n});\n```\n\n```js\nprogram.prompt('Birthdate: ', Date, function(date){\n  console.log('date: %s', date);\n});\n```\n\n```js\nprogram.prompt('Email: ', /^.+@.+\\..+$/, function(email){\n  console.log('email: %j', email);\n});\n```\n\n## .password(msg[, mask], fn)\n\nPrompt for password without echoing:\n\n```js\nprogram.password('Password: ', function(pass){\n  console.log('got \"%s\"', pass);
 \n  process.stdin.destroy();\n});\n```\n\nPrompt for password with mask char \"*\":\n\n```js\nprogram.password('Password: ', '*', function(pass){\n  console.log('got \"%s\"', pass);\n  process.stdin.destroy();\n});\n```\n\n## .confirm(msg, fn)\n\n Confirm with the given `msg`:\n\n```js\nprogram.confirm('continue? ', function(ok){\n  console.log(' got %j', ok);\n});\n```\n\n## .choose(list, fn)\n\n Let the user choose from a `list`:\n\n```js\nvar list = ['tobi', 'loki', 'jane', 'manny', 'luna'];\n\nconsole.log('Choose the coolest pet:');\nprogram.choose(list, function(i){\n  console.log('you chose %d \"%s\"', i, list[i]);\n});\n```\n\n## .outputHelp()\n\n  Output help information without exiting.\n\n## .help()\n\n  Output help information and exit immediately.\n\n## Links\n\n - [API documentation](http://visionmedia.github.com/commander.js/)\n - [ascii tables](https://github.com/LearnBoost/cli-table)\n - [progress bars](https://github.com/visionmedia/node-progress)\n - [more progress
  bars](https://github.com/substack/node-multimeter)\n - [examples](https://github.com/visionmedia/commander.js/tree/master/examples)\n\n## License \n\n(The MIT License)\n\nCopyright (c) 2011 TJ Holowaychuk &lt;tj@vision-media.ca&gt;\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n'Software'), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND N
 ONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.",
-  "readmeFilename": "Readme.md",
-  "bugs": {
-    "url": "https://github.com/visionmedia/commander.js/issues"
-  },
-  "homepage": "https://github.com/visionmedia/commander.js",
-  "_id": "commander@1.2.0",
-  "_from": "commander@1.2.0"
-}

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/e1a45507/web/demos/package/node_modules/express/node_modules/connect/.npmignore
----------------------------------------------------------------------
diff --git a/web/demos/package/node_modules/express/node_modules/connect/.npmignore b/web/demos/package/node_modules/express/node_modules/connect/.npmignore
deleted file mode 100644
index 9046dde..0000000
--- a/web/demos/package/node_modules/express/node_modules/connect/.npmignore
+++ /dev/null
@@ -1,12 +0,0 @@
-*.markdown
-*.md
-.git*
-Makefile
-benchmarks/
-docs/
-examples/
-install.sh
-support/
-test/
-.DS_Store
-coverage.html

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/e1a45507/web/demos/package/node_modules/express/node_modules/connect/.travis.yml
----------------------------------------------------------------------
diff --git a/web/demos/package/node_modules/express/node_modules/connect/.travis.yml b/web/demos/package/node_modules/express/node_modules/connect/.travis.yml
deleted file mode 100644
index a12e3f0..0000000
--- a/web/demos/package/node_modules/express/node_modules/connect/.travis.yml
+++ /dev/null
@@ -1,4 +0,0 @@
-language: node_js
-node_js:
-  - "0.8"
-  - "0.10"
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/e1a45507/web/demos/package/node_modules/express/node_modules/connect/LICENSE
----------------------------------------------------------------------
diff --git a/web/demos/package/node_modules/express/node_modules/connect/LICENSE b/web/demos/package/node_modules/express/node_modules/connect/LICENSE
deleted file mode 100644
index 0c5d22d..0000000
--- a/web/demos/package/node_modules/express/node_modules/connect/LICENSE
+++ /dev/null
@@ -1,24 +0,0 @@
-(The MIT License)
-
-Copyright (c) 2010 Sencha Inc.
-Copyright (c) 2011 LearnBoost
-Copyright (c) 2011 TJ Holowaychuk
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-'Software'), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/e1a45507/web/demos/package/node_modules/express/node_modules/connect/Readme.md
----------------------------------------------------------------------
diff --git a/web/demos/package/node_modules/express/node_modules/connect/Readme.md b/web/demos/package/node_modules/express/node_modules/connect/Readme.md
deleted file mode 100644
index 7d65f9c..0000000
--- a/web/demos/package/node_modules/express/node_modules/connect/Readme.md
+++ /dev/null
@@ -1,133 +0,0 @@
-[![build status](https://secure.travis-ci.org/senchalabs/connect.png)](http://travis-ci.org/senchalabs/connect)
-# Connect
-
-  Connect is an extensible HTTP server framework for [node](http://nodejs.org), providing high performance "plugins" known as _middleware_.
-
- Connect is bundled with over _20_ commonly used middleware, including
- a logger, session support, cookie parser, and [more](http://senchalabs.github.com/connect). Be sure to view the 2.x [documentation](http://senchalabs.github.com/connect/).
-
-```js
-var connect = require('connect')
-  , http = require('http');
-
-var app = connect()
-  .use(connect.favicon())
-  .use(connect.logger('dev'))
-  .use(connect.static('public'))
-  .use(connect.directory('public'))
-  .use(connect.cookieParser())
-  .use(connect.session({ secret: 'my secret here' }))
-  .use(function(req, res){
-    res.end('Hello from Connect!\n');
-  });
-
-http.createServer(app).listen(3000);
-```
-
-## Middleware
-
-  - [csrf](http://www.senchalabs.org/connect/csrf.html)
-  - [basicAuth](http://www.senchalabs.org/connect/basicAuth.html)
-  - [bodyParser](http://www.senchalabs.org/connect/bodyParser.html)
-  - [json](http://www.senchalabs.org/connect/json.html)
-  - [multipart](http://www.senchalabs.org/connect/multipart.html)
-  - [urlencoded](http://www.senchalabs.org/connect/urlencoded.html)
-  - [cookieParser](http://www.senchalabs.org/connect/cookieParser.html)
-  - [directory](http://www.senchalabs.org/connect/directory.html)
-  - [compress](http://www.senchalabs.org/connect/compress.html)
-  - [errorHandler](http://www.senchalabs.org/connect/errorHandler.html)
-  - [favicon](http://www.senchalabs.org/connect/favicon.html)
-  - [limit](http://www.senchalabs.org/connect/limit.html)
-  - [logger](http://www.senchalabs.org/connect/logger.html)
-  - [methodOverride](http://www.senchalabs.org/connect/methodOverride.html)
-  - [query](http://www.senchalabs.org/connect/query.html)
-  - [responseTime](http://www.senchalabs.org/connect/responseTime.html)
-  - [session](http://www.senchalabs.org/connect/session.html)
-  - [static](http://www.senchalabs.org/connect/static.html)
-  - [staticCache](http://www.senchalabs.org/connect/staticCache.html)
-  - [vhost](http://www.senchalabs.org/connect/vhost.html)
-  - [subdomains](http://www.senchalabs.org/connect/subdomains.html)
-  - [cookieSession](http://www.senchalabs.org/connect/cookieSession.html)
-
-## Running Tests
-
-first:
-
-    $ npm install -d
-
-then:
-
-    $ make test
-
-## Authors
-
- Below is the output from [git-summary](http://github.com/visionmedia/git-extras).
-
-
-     project: connect
-     commits: 2033
-     active : 301 days
-     files  : 171
-     authors: 
-      1414	Tj Holowaychuk          69.6%
-       298	visionmedia             14.7%
-       191	Tim Caswell             9.4%
-        51	TJ Holowaychuk          2.5%
-        10	Ryan Olds               0.5%
-         8	Astro                   0.4%
-         5	Nathan Rajlich          0.2%
-         5	Jakub Nešetřil          0.2%
-         3	Daniel Dickison         0.1%
-         3	David Rio Deiros        0.1%
-         3	Alexander Simmerl       0.1%
-         3	Andreas Lind Petersen   0.1%
-         2	Aaron Heckmann          0.1%
-         2	Jacques Crocker         0.1%
-         2	Fabian Jakobs           0.1%
-         2	Brian J Brennan         0.1%
-         2	Adam Malcontenti-Wilson 0.1%
-         2	Glen Mailer             0.1%
-         2	James Campos            0.1%
-         1	Trent Mick              0.0%
-         1	Troy Kruthoff           0.0%
-         1	Wei Zhu                 0.0%
-         1	comerc                  0.0%
-         1	darobin                 0.0%
-         1	nateps                  0.0%
-         1	Marco Sanson            0.0%
-         1	Arthur Taylor           0.0%
-         1	Aseem Kishore           0.0%
-         1	Bart Teeuwisse          0.0%
-         1	Cameron Howey           0.0%
-         1	Chad Weider             0.0%
-         1	Craig Barnes            0.0%
-         1	Eran Hammer-Lahav       0.0%
-         1	Gregory McWhirter       0.0%
-         1	Guillermo Rauch         0.0%
-         1	Jae Kwon                0.0%
-         1	Jakub Nesetril          0.0%
-         1	Joshua Peek             0.0%
-         1	Jxck                    0.0%
-         1	AJ ONeal                0.0%
-         1	Michael Hemesath        0.0%
-         1	Morten Siebuhr          0.0%
-         1	Samori Gorse            0.0%
-         1	Tom Jensen              0.0%
-
-## Node Compatibility
-
-  Connect `< 1.x` is compatible with node 0.2.x
-
-
-  Connect `1.x` is compatible with node 0.4.x
-
-
-  Connect (_master_) `2.x` is compatible with node 0.6.x
-
-## CLA
-
- [http://sencha.com/cla](http://sencha.com/cla)
-
-## License
-
-View the [LICENSE](https://github.com/senchalabs/connect/blob/master/LICENSE) file. The [Silk](http://www.famfamfam.com/lab/icons/silk/) icons used by the `directory` middleware created by/copyright of [FAMFAMFAM](http://www.famfamfam.com/).

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/e1a45507/web/demos/package/node_modules/express/node_modules/connect/index.js
----------------------------------------------------------------------
diff --git a/web/demos/package/node_modules/express/node_modules/connect/index.js b/web/demos/package/node_modules/express/node_modules/connect/index.js
deleted file mode 100644
index 23240ee..0000000
--- a/web/demos/package/node_modules/express/node_modules/connect/index.js
+++ /dev/null
@@ -1,4 +0,0 @@
-
-module.exports = process.env.CONNECT_COV
-  ? require('./lib-cov/connect')
-  : require('./lib/connect');
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/e1a45507/web/demos/package/node_modules/express/node_modules/connect/lib/cache.js
----------------------------------------------------------------------
diff --git a/web/demos/package/node_modules/express/node_modules/connect/lib/cache.js b/web/demos/package/node_modules/express/node_modules/connect/lib/cache.js
deleted file mode 100644
index 052fcdb..0000000
--- a/web/demos/package/node_modules/express/node_modules/connect/lib/cache.js
+++ /dev/null
@@ -1,81 +0,0 @@
-
-/*!
- * Connect - Cache
- * Copyright(c) 2011 Sencha Inc.
- * MIT Licensed
- */
-
-/**
- * Expose `Cache`.
- */
-
-module.exports = Cache;
-
-/**
- * LRU cache store.
- *
- * @param {Number} limit
- * @api private
- */
-
-function Cache(limit) {
-  this.store = {};
-  this.keys = [];
-  this.limit = limit;
-}
-
-/**
- * Touch `key`, promoting the object.
- *
- * @param {String} key
- * @param {Number} i
- * @api private
- */
-
-Cache.prototype.touch = function(key, i){
-  this.keys.splice(i,1);
-  this.keys.push(key);
-};
-
-/**
- * Remove `key`.
- *
- * @param {String} key
- * @api private
- */
-
-Cache.prototype.remove = function(key){
-  delete this.store[key];
-};
-
-/**
- * Get the object stored for `key`.
- *
- * @param {String} key
- * @return {Array}
- * @api private
- */
-
-Cache.prototype.get = function(key){
-  return this.store[key];
-};
-
-/**
- * Add a cache `key`.
- *
- * @param {String} key
- * @return {Array}
- * @api private
- */
-
-Cache.prototype.add = function(key){
-  // initialize store
-  var len = this.keys.push(key);
-
-  // limit reached, invalidate LRU
-  if (len > this.limit) this.remove(this.keys.shift());
-
-  var arr = this.store[key] = [];
-  arr.createdAt = new Date;
-  return arr;
-};

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/e1a45507/web/demos/package/node_modules/express/node_modules/connect/lib/connect.js
----------------------------------------------------------------------
diff --git a/web/demos/package/node_modules/express/node_modules/connect/lib/connect.js b/web/demos/package/node_modules/express/node_modules/connect/lib/connect.js
deleted file mode 100644
index 72961dc..0000000
--- a/web/demos/package/node_modules/express/node_modules/connect/lib/connect.js
+++ /dev/null
@@ -1,92 +0,0 @@
-/*!
- * Connect
- * Copyright(c) 2010 Sencha Inc.
- * Copyright(c) 2011 TJ Holowaychuk
- * MIT Licensed
- */
-
-/**
- * Module dependencies.
- */
-
-var EventEmitter = require('events').EventEmitter
-  , proto = require('./proto')
-  , utils = require('./utils')
-  , path = require('path')
-  , basename = path.basename
-  , fs = require('fs');
-
-// node patches
-
-require('./patch');
-
-// expose createServer() as the module
-
-exports = module.exports = createServer;
-
-/**
- * Framework version.
- */
-
-exports.version = '2.7.11';
-
-/**
- * Expose mime module.
- */
-
-exports.mime = require('./middleware/static').mime;
-
-/**
- * Expose the prototype.
- */
-
-exports.proto = proto;
-
-/**
- * Auto-load middleware getters.
- */
-
-exports.middleware = {};
-
-/**
- * Expose utilities.
- */
-
-exports.utils = utils;
-
-/**
- * Create a new connect server.
- *
- * @return {Function}
- * @api public
- */
-
-function createServer() {
-  function app(req, res, next){ app.handle(req, res, next); }
-  utils.merge(app, proto);
-  utils.merge(app, EventEmitter.prototype);
-  app.route = '/';
-  app.stack = [];
-  for (var i = 0; i < arguments.length; ++i) {
-    app.use(arguments[i]);
-  }
-  return app;
-};
-
-/**
- * Support old `.createServer()` method.
- */
-
-createServer.createServer = createServer;
-
-/**
- * Auto-load bundled middleware with getters.
- */
-
-fs.readdirSync(__dirname + '/middleware').forEach(function(filename){
-  if (!/\.js$/.test(filename)) return;
-  var name = basename(filename, '.js');
-  function load(){ return require('./middleware/' + name); }
-  exports.middleware.__defineGetter__(name, load);
-  exports.__defineGetter__(name, load);
-});

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/e1a45507/web/demos/package/node_modules/express/node_modules/connect/lib/index.js
----------------------------------------------------------------------
diff --git a/web/demos/package/node_modules/express/node_modules/connect/lib/index.js b/web/demos/package/node_modules/express/node_modules/connect/lib/index.js
deleted file mode 100644
index 2618ddc..0000000
--- a/web/demos/package/node_modules/express/node_modules/connect/lib/index.js
+++ /dev/null
@@ -1,50 +0,0 @@
-
-/**
- * Connect is a middleware framework for node,
- * shipping with over 18 bundled middleware and a rich selection of
- * 3rd-party middleware.
- *
- *     var app = connect()
- *       .use(connect.logger('dev'))
- *       .use(connect.static('public'))
- *       .use(function(req, res){
- *         res.end('hello world\n');
- *       })
- *      .listen(3000);
- *     
- * Installation:
- * 
- *     $ npm install connect
- *
- * Middleware:
- *
- *  - [logger](logger.html) request logger with custom format support
- *  - [csrf](csrf.html) Cross-site request forgery protection
- *  - [compress](compress.html) Gzip compression middleware
- *  - [basicAuth](basicAuth.html) basic http authentication
- *  - [bodyParser](bodyParser.html) extensible request body parser
- *  - [json](json.html) application/json parser
- *  - [urlencoded](urlencoded.html) application/x-www-form-urlencoded parser
- *  - [multipart](multipart.html) multipart/form-data parser
- *  - [timeout](timeout.html) request timeouts
- *  - [cookieParser](cookieParser.html) cookie parser
- *  - [session](session.html) session management support with bundled MemoryStore
- *  - [cookieSession](cookieSession.html) cookie-based session support
- *  - [methodOverride](methodOverride.html) faux HTTP method support
- *  - [responseTime](responseTime.html) calculates response-time and exposes via X-Response-Time
- *  - [staticCache](staticCache.html) memory cache layer for the static() middleware
- *  - [static](static.html) streaming static file server supporting `Range` and more
- *  - [directory](directory.html) directory listing middleware
- *  - [vhost](vhost.html) virtual host sub-domain mapping middleware
- *  - [favicon](favicon.html) efficient favicon server (with default icon)
- *  - [limit](limit.html) limit the bytesize of request bodies
- *  - [query](query.html) automatic querystring parser, populating `req.query`
- *  - [errorHandler](errorHandler.html) flexible error handler
- *
- * Links:
- * 
- *   - list of [3rd-party](https://github.com/senchalabs/connect/wiki) middleware
- *   - GitHub [repository](http://github.com/senchalabs/connect)
- *   - [test documentation](https://github.com/senchalabs/connect/blob/gh-pages/tests.md)
- * 
- */
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/e1a45507/web/demos/package/node_modules/express/node_modules/connect/lib/middleware/basicAuth.js
----------------------------------------------------------------------
diff --git a/web/demos/package/node_modules/express/node_modules/connect/lib/middleware/basicAuth.js b/web/demos/package/node_modules/express/node_modules/connect/lib/middleware/basicAuth.js
deleted file mode 100644
index bc7ec97..0000000
--- a/web/demos/package/node_modules/express/node_modules/connect/lib/middleware/basicAuth.js
+++ /dev/null
@@ -1,103 +0,0 @@
-
-/*!
- * Connect - basicAuth
- * Copyright(c) 2010 Sencha Inc.
- * Copyright(c) 2011 TJ Holowaychuk
- * MIT Licensed
- */
-
-/**
- * Module dependencies.
- */
-
-var utils = require('../utils')
-  , unauthorized = utils.unauthorized;
-
-/**
- * Basic Auth:
- *
- * Enfore basic authentication by providing a `callback(user, pass)`,
- * which must return `true` in order to gain access. Alternatively an async
- * method is provided as well, invoking `callback(user, pass, callback)`. Populates
- * `req.user`. The final alternative is simply passing username / password
- * strings.
- *
- *  Simple username and password
- *
- *     connect(connect.basicAuth('username', 'password'));
- *
- *  Callback verification
- *
- *     connect()
- *       .use(connect.basicAuth(function(user, pass){
- *         return 'tj' == user & 'wahoo' == pass;
- *       }))
- *
- *  Async callback verification, accepting `fn(err, user)`.
- *
- *     connect()
- *       .use(connect.basicAuth(function(user, pass, fn){
- *         User.authenticate({ user: user, pass: pass }, fn);
- *       }))
- *
- * @param {Function|String} callback or username
- * @param {String} realm
- * @api public
- */
-
-module.exports = function basicAuth(callback, realm) {
-  var username, password;
-
-  // user / pass strings
-  if ('string' == typeof callback) {
-    username = callback;
-    password = realm;
-    if ('string' != typeof password) throw new Error('password argument required');
-    realm = arguments[2];
-    callback = function(user, pass){
-      return user == username && pass == password;
-    }
-  }
-
-  realm = realm || 'Authorization Required';
-
-  return function(req, res, next) {
-    var authorization = req.headers.authorization;
-
-    if (req.user) return next();
-    if (!authorization) return unauthorized(res, realm);
-
-    var parts = authorization.split(' ');
-
-    if (parts.length !== 2) return next(utils.error(400));
-
-    var scheme = parts[0]
-      , credentials = new Buffer(parts[1], 'base64').toString()
-      , index = credentials.indexOf(':');
-
-    if ('Basic' != scheme || index < 0) return next(utils.error(400));
-    
-    var user = credentials.slice(0, index)
-      , pass = credentials.slice(index + 1);
-
-    // async
-    if (callback.length >= 3) {
-      var pause = utils.pause(req);
-      callback(user, pass, function(err, user){
-        if (err || !user)  return unauthorized(res, realm);
-        req.user = req.remoteUser = user;
-        next();
-        pause.resume();
-      });
-    // sync
-    } else {
-      if (callback(user, pass)) {
-        req.user = req.remoteUser = user;
-        next();
-      } else {
-        unauthorized(res, realm);
-      }
-    }
-  }
-};
-

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/e1a45507/web/demos/package/node_modules/express/node_modules/connect/lib/middleware/bodyParser.js
----------------------------------------------------------------------
diff --git a/web/demos/package/node_modules/express/node_modules/connect/lib/middleware/bodyParser.js b/web/demos/package/node_modules/express/node_modules/connect/lib/middleware/bodyParser.js
deleted file mode 100644
index 9f692cd..0000000
--- a/web/demos/package/node_modules/express/node_modules/connect/lib/middleware/bodyParser.js
+++ /dev/null
@@ -1,61 +0,0 @@
-
-/*!
- * Connect - bodyParser
- * Copyright(c) 2010 Sencha Inc.
- * Copyright(c) 2011 TJ Holowaychuk
- * MIT Licensed
- */
-
-/**
- * Module dependencies.
- */
-
-var multipart = require('./multipart')
-  , urlencoded = require('./urlencoded')
-  , json = require('./json');
-
-/**
- * Body parser:
- * 
- *   Parse request bodies, supports _application/json_,
- *   _application/x-www-form-urlencoded_, and _multipart/form-data_.
- *
- *   This is equivalent to: 
- *
- *     app.use(connect.json());
- *     app.use(connect.urlencoded());
- *     app.use(connect.multipart());
- *
- * Examples:
- *
- *      connect()
- *        .use(connect.bodyParser())
- *        .use(function(req, res) {
- *          res.end('viewing user ' + req.body.user.name);
- *        });
- *
- *      $ curl -d 'user[name]=tj' http://local/
- *      $ curl -d '{"user":{"name":"tj"}}' -H "Content-Type: application/json" http://local/
- *
- *  View [json](json.html), [urlencoded](urlencoded.html), and [multipart](multipart.html) for more info.
- *
- * @param {Object} options
- * @return {Function}
- * @api public
- */
-
-exports = module.exports = function bodyParser(options){
-  var _urlencoded = urlencoded(options)
-    , _multipart = multipart(options)
-    , _json = json(options);
-
-  return function bodyParser(req, res, next) {
-    _json(req, res, function(err){
-      if (err) return next(err);
-      _urlencoded(req, res, function(err){
-        if (err) return next(err);
-        _multipart(req, res, next);
-      });
-    });
-  }
-};
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/e1a45507/web/demos/package/node_modules/express/node_modules/connect/lib/middleware/compress.js
----------------------------------------------------------------------
diff --git a/web/demos/package/node_modules/express/node_modules/connect/lib/middleware/compress.js b/web/demos/package/node_modules/express/node_modules/connect/lib/middleware/compress.js
deleted file mode 100644
index 550e457..0000000
--- a/web/demos/package/node_modules/express/node_modules/connect/lib/middleware/compress.js
+++ /dev/null
@@ -1,189 +0,0 @@
-/*!
- * Connect - compress
- * Copyright(c) 2010 Sencha Inc.
- * Copyright(c) 2011 TJ Holowaychuk
- * MIT Licensed
- */
-
-/**
- * Module dependencies.
- */
-
-var zlib = require('zlib');
-var utils = require('../utils');
-
-/**
- * Supported content-encoding methods.
- */
-
-exports.methods = {
-    gzip: zlib.createGzip
-  , deflate: zlib.createDeflate
-};
-
-/**
- * Default filter function.
- */
-
-exports.filter = function(req, res){
-  return /json|text|javascript|dart/.test(res.getHeader('Content-Type'));
-};
-
-/**
- * Compress:
- *
- * Compress response data with gzip/deflate.
- *
- * Filter:
- *
- *  A `filter` callback function may be passed to
- *  replace the default logic of:
- *
- *     exports.filter = function(req, res){
- *       return /json|text|javascript/.test(res.getHeader('Content-Type'));
- *     };
- *
- * Threshold:
- *
- *  Only compress the response if the byte size is at or above a threshold.
- *  Always compress while streaming.
- *
- *   - `threshold` - string representation of size or bytes as an integer.
- *
- * Options:
- *
- *  All remaining options are passed to the gzip/deflate
- *  creation functions. Consult node's docs for additional details.
- *
- *   - `chunkSize` (default: 16*1024)
- *   - `windowBits`
- *   - `level`: 0-9 where 0 is no compression, and 9 is slow but best compression
- *   - `memLevel`: 1-9 low is slower but uses less memory, high is fast but uses more
- *   - `strategy`: compression strategy
- *
- * @param {Object} options
- * @return {Function}
- * @api public
- */
-
-module.exports = function compress(options) {
-  options = options || {};
-  var names = Object.keys(exports.methods)
-    , filter = options.filter || exports.filter
-    , threshold;
-
-  if (false === options.threshold || 0 === options.threshold) {
-    threshold = 0
-  } else if ('string' === typeof options.threshold) {
-    threshold = utils.parseBytes(options.threshold)
-  } else {
-    threshold = options.threshold || 1024
-  }
-
-  return function compress(req, res, next){
-    var accept = req.headers['accept-encoding']
-      , vary = res.getHeader('Vary')
-      , write = res.write
-      , end = res.end
-      , compress = true
-      , stream
-      , method;
-
-    // vary
-    if (!vary) {
-      res.setHeader('Vary', 'Accept-Encoding');
-    } else if (!~vary.indexOf('Accept-Encoding')) {
-      res.setHeader('Vary', vary + ', Accept-Encoding');
-    }
-
-    // see #724
-    req.on('close', function(){
-      res.write = res.end = function(){};
-    });
-
-    // proxy
-
-    res.write = function(chunk, encoding){
-      if (!this.headerSent) this._implicitHeader();
-      return stream
-        ? stream.write(new Buffer(chunk, encoding))
-        : write.call(res, chunk, encoding);
-    };
-
-    res.end = function(chunk, encoding){
-      if (chunk) {
-        if (!this.headerSent && getSize(chunk) < threshold) compress = false;
-        this.write(chunk, encoding);
-      } else if (!this.headerSent) {
-        // response size === 0
-        compress = false;
-      }
-      return stream
-        ? stream.end()
-        : end.call(res);
-    };
-
-    res.on('header', function(){
-      if (!compress) return;
-
-      var encoding = res.getHeader('Content-Encoding') || 'identity';
-
-      // already encoded
-      if ('identity' != encoding) return;
-
-      // default request filter
-      if (!filter(req, res)) return;
-
-      // SHOULD use identity
-      if (!accept) return;
-
-      // head
-      if ('HEAD' == req.method) return;
-
-      // default to gzip
-      if ('*' == accept.trim()) method = 'gzip';
-
-      // compression method
-      if (!method) {
-        for (var i = 0, len = names.length; i < len; ++i) {
-          if (~accept.indexOf(names[i])) {
-            method = names[i];
-            break;
-          }
-        }
-      }
-
-      // compression method
-      if (!method) return;
-
-      // compression stream
-      stream = exports.methods[method](options);
-
-      // header fields
-      res.setHeader('Content-Encoding', method);
-      res.removeHeader('Content-Length');
-
-      // compression
-
-      stream.on('data', function(chunk){
-        write.call(res, chunk);
-      });
-
-      stream.on('end', function(){
-        end.call(res);
-      });
-
-      stream.on('drain', function() {
-        res.emit('drain');
-      });
-    });
-
-    next();
-  };
-};
-
-function getSize(chunk) {
-  return Buffer.isBuffer(chunk)
-    ? chunk.length
-    : Buffer.byteLength(chunk);
-}

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/e1a45507/web/demos/package/node_modules/express/node_modules/connect/lib/middleware/cookieParser.js
----------------------------------------------------------------------
diff --git a/web/demos/package/node_modules/express/node_modules/connect/lib/middleware/cookieParser.js b/web/demos/package/node_modules/express/node_modules/connect/lib/middleware/cookieParser.js
deleted file mode 100644
index 5da23f2..0000000
--- a/web/demos/package/node_modules/express/node_modules/connect/lib/middleware/cookieParser.js
+++ /dev/null
@@ -1,62 +0,0 @@
-
-/*!
- * Connect - cookieParser
- * Copyright(c) 2010 Sencha Inc.
- * Copyright(c) 2011 TJ Holowaychuk
- * MIT Licensed
- */
-
-/**
- * Module dependencies.
- */
-
-var utils = require('./../utils')
-  , cookie = require('cookie');
-
-/**
- * Cookie parser:
- *
- * Parse _Cookie_ header and populate `req.cookies`
- * with an object keyed by the cookie names. Optionally
- * you may enabled signed cookie support by passing
- * a `secret` string, which assigns `req.secret` so
- * it may be used by other middleware.
- *
- * Examples:
- *
- *     connect()
- *       .use(connect.cookieParser('optional secret string'))
- *       .use(function(req, res, next){
- *         res.end(JSON.stringify(req.cookies));
- *       })
- *
- * @param {String} secret
- * @return {Function}
- * @api public
- */
-
-module.exports = function cookieParser(secret){
-  return function cookieParser(req, res, next) {
-    if (req.cookies) return next();
-    var cookies = req.headers.cookie;
-
-    req.secret = secret;
-    req.cookies = {};
-    req.signedCookies = {};
-
-    if (cookies) {
-      try {
-        req.cookies = cookie.parse(cookies);
-        if (secret) {
-          req.signedCookies = utils.parseSignedCookies(req.cookies, secret);
-          req.signedCookies = utils.parseJSONCookies(req.signedCookies);
-        }
-        req.cookies = utils.parseJSONCookies(req.cookies);
-      } catch (err) {
-        err.status = 400;
-        return next(err);
-      }
-    }
-    next();
-  };
-};

http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/e1a45507/web/demos/package/node_modules/express/node_modules/connect/lib/middleware/cookieSession.js
----------------------------------------------------------------------
diff --git a/web/demos/package/node_modules/express/node_modules/connect/lib/middleware/cookieSession.js b/web/demos/package/node_modules/express/node_modules/connect/lib/middleware/cookieSession.js
deleted file mode 100644
index 21011b8..0000000
--- a/web/demos/package/node_modules/express/node_modules/connect/lib/middleware/cookieSession.js
+++ /dev/null
@@ -1,115 +0,0 @@
-/*!
- * Connect - cookieSession
- * Copyright(c) 2011 Sencha Inc.
- * MIT Licensed
- */
-
-/**
- * Module dependencies.
- */
-
-var utils = require('./../utils')
-  , Cookie = require('./session/cookie')
-  , debug = require('debug')('connect:cookieSession')
-  , signature = require('cookie-signature')
-  , crc32 = require('buffer-crc32');
-
-/**
- * Cookie Session:
- *
- *   Cookie session middleware.
- *
- *      var app = connect();
- *      app.use(connect.cookieParser());
- *      app.use(connect.cookieSession({ secret: 'tobo!', cookie: { maxAge: 60 * 60 * 1000 }}));
- *
- * Options:
- *
- *   - `key` cookie name defaulting to `connect.sess`
- *   - `secret` prevents cookie tampering
- *   - `cookie` session cookie settings, defaulting to `{ path: '/', httpOnly: true, maxAge: null }`
- *   - `proxy` trust the reverse proxy when setting secure cookies (via "x-forwarded-proto")
- *
- * Clearing sessions:
- *
- *  To clear the session simply set its value to `null`,
- *  `cookieSession()` will then respond with a 1970 Set-Cookie.
- *
- *     req.session = null;
- *
- * @param {Object} options
- * @return {Function}
- * @api public
- */
-
-module.exports = function cookieSession(options){
-  // TODO: utilize Session/Cookie to unify API
-  options = options || {};
-  var key = options.key || 'connect.sess'
-    , trustProxy = options.proxy;
-
-  return function cookieSession(req, res, next) {
-
-    // req.secret is for backwards compatibility
-    var secret = options.secret || req.secret;
-    if (!secret) throw new Error('`secret` option required for cookie sessions');
-
-    // default session
-    req.session = {};
-    var cookie = req.session.cookie = new Cookie(options.cookie);
-
-    // pathname mismatch
-    if (0 != req.originalUrl.indexOf(cookie.path)) return next();
-
-    // cookieParser secret
-    if (!options.secret && req.secret) {
-      req.session = req.signedCookies[key] || {};
-      req.session.cookie = cookie;
-    } else {
-      // TODO: refactor
-      var rawCookie = req.cookies[key];
-      if (rawCookie) {
-        var unsigned = utils.parseSignedCookie(rawCookie, secret);
-        if (unsigned) {
-          var originalHash = crc32.signed(unsigned);
-          req.session = utils.parseJSONCookie(unsigned) || {};
-          req.session.cookie = cookie;
-        }
-      }
-    }
-
-    res.on('header', function(){
-      // removed
-      if (!req.session) {
-        debug('clear session');
-        cookie.expires = new Date(0);
-        res.setHeader('Set-Cookie', cookie.serialize(key, ''));
-        return;
-      }
-
-      delete req.session.cookie;
-
-      // check security
-      var proto = (req.headers['x-forwarded-proto'] || '').toLowerCase()
-        , tls = req.connection.encrypted || (trustProxy && 'https' == proto.split(/\s*,\s*/)[0]);
-
-      // only send secure cookies via https
-      if (cookie.secure && !tls) return debug('not secured');
-
-      // serialize
-      debug('serializing %j', req.session);
-      var val = 'j:' + JSON.stringify(req.session);
-
-      // compare hashes, no need to set-cookie if unchanged
-      if (originalHash == crc32.signed(val)) return debug('unmodified session');
-
-      // set-cookie
-      val = 's:' + signature.sign(val, secret);
-      val = cookie.serialize(key, val);
-      debug('set-cookie %j', cookie);
-      res.setHeader('Set-Cookie', val);
-    });
-
-    next();
-  };
-};