You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cmda.apache.org by xi...@apache.org on 2015/10/17 01:11:41 UTC

[07/51] [partial] incubator-cmda git commit: Update ApacheCMDA_1.0

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a9a83675/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/ansi/README.md
----------------------------------------------------------------------
diff --git a/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/ansi/README.md b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/ansi/README.md
new file mode 100644
index 0000000..2f9bb14
--- /dev/null
+++ b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/ansi/README.md
@@ -0,0 +1,91 @@
+ansi.js
+=========
+### Advanced ANSI formatting tool for Node.js
+
+`ansi.js` is a module for Node.js that provides an easy-to-use API for
+writing ANSI escape codes to `Stream` instances. ANSI escape codes are used to do
+fancy things in a terminal window, like render text in colors, delete characters,
+lines, the entire window, or hide and show the cursor, and lots more!
+
+The code for the example in the screenshot above can be found in the
+`examples/imgcat` directory.
+
+#### Features:
+
+ * 256 color support for the terminal!
+ * Make a beep sound from your terminal!
+ * Works with *any* writable `Stream` instance.
+ * Allows you to move the cursor anywhere on the terminal window.
+ * Allows you to delete existing contents from the terminal window.
+ * Allows you to hide and show the cursor.
+ * Converts CSS color codes and RGB values into ANSI escape codes.
+ * Low-level; you are in control of when escape codes are used, it's not abstracted.
+
+
+Installation
+------------
+
+Install with `npm`:
+
+``` bash
+$ npm install ansi
+```
+
+
+Example
+-------
+
+``` js
+var ansi = require('ansi')
+  , cursor = ansi(process.stdout)
+
+// You can chain your calls forever:
+cursor
+  .red()                 // Set font color to red
+  .bg.grey()             // Set background color to grey
+  .write('Hello World!') // Write 'Hello World!' to stdout
+  .bg.reset()            // Reset the bgcolor before writing the trailing \n,
+                         //      to avoid Terminal glitches
+  .write('\n')           // And a final \n to wrap things up
+
+// Rendering modes are persistent:
+cursor.hex('#660000').bold().underline()
+
+// You can use the regular logging functions, text will be green
+console.log('This is blood red, bold text')
+
+// To reset just the foreground color:
+cursor.fg.reset()
+
+console.log('This will still be bold')
+
+// Clean up after yourself!
+cursor.reset()
+```
+
+
+License
+-------
+
+(The MIT License)
+
+Copyright (c) 2012 Nathan Rajlich <nathan@tootallnate.net>
+
+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-cmda/blob/a9a83675/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/ansi/color-spaces.pl
----------------------------------------------------------------------
diff --git a/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/ansi/color-spaces.pl b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/ansi/color-spaces.pl
new file mode 100644
index 0000000..8774c04
--- /dev/null
+++ b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/ansi/color-spaces.pl
@@ -0,0 +1,67 @@
+#!/usr/bin/perl
+# Author: Todd Larason <jt...@molehill.org>
+# $XFree86: xc/programs/xterm/vttests/256colors2.pl,v 1.1 1999/07/11 08:49:54 dawes Exp $
+
+print "256 color mode\n\n";
+
+# display back ground colors
+
+for ($fgbg = 38; $fgbg <= 48; $fgbg +=10) {
+
+# first the system ones:
+print "System colors:\n";
+for ($color = 0; $color < 8; $color++) {
+    print "\x1b[${fgbg};5;${color}m::";
+}
+print "\x1b[0m\n";
+for ($color = 8; $color < 16; $color++) {
+    print "\x1b[${fgbg};5;${color}m::";
+}
+print "\x1b[0m\n\n";
+
+# now the color cube
+print "Color cube, 6x6x6:\n";
+for ($green = 0; $green < 6; $green++) {
+    for ($red = 0; $red < 6; $red++) {
+	for ($blue = 0; $blue < 6; $blue++) {
+	    $color = 16 + ($red * 36) + ($green * 6) + $blue;
+	    print "\x1b[${fgbg};5;${color}m::";
+	}
+	print "\x1b[0m ";
+    }
+    print "\n";
+}
+
+# now the grayscale ramp
+print "Grayscale ramp:\n";
+for ($color = 232; $color < 256; $color++) {
+    print "\x1b[${fgbg};5;${color}m::";
+}
+print "\x1b[0m\n\n";
+
+}
+
+print "Examples for the 3-byte color mode\n\n";
+
+for ($fgbg = 38; $fgbg <= 48; $fgbg +=10) {
+
+# now the color cube
+print "Color cube\n";
+for ($green = 0; $green < 256; $green+=51) {
+    for ($red = 0; $red < 256; $red+=51) {
+	for ($blue = 0; $blue < 256; $blue+=51) {
+            print "\x1b[${fgbg};2;${red};${green};${blue}m::";
+	}
+	print "\x1b[0m ";
+    }
+    print "\n";
+}
+
+# now the grayscale ramp
+print "Grayscale ramp:\n";
+for ($gray = 8; $gray < 256; $gray+=10) {
+    print "\x1b[${fgbg};2;${gray};${gray};${gray}m::";
+}
+print "\x1b[0m\n\n";
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a9a83675/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/ansi/examples/beep/index.js
----------------------------------------------------------------------
diff --git a/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/ansi/examples/beep/index.js b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/ansi/examples/beep/index.js
new file mode 100644
index 0000000..c1ec929
--- /dev/null
+++ b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/ansi/examples/beep/index.js
@@ -0,0 +1,16 @@
+#!/usr/bin/env node
+
+/**
+ * Invokes the terminal "beep" sound once per second on every exact second.
+ */
+
+process.title = 'beep'
+
+var cursor = require('../../')(process.stdout)
+
+function beep () {
+  cursor.beep()
+  setTimeout(beep, 1000 - (new Date()).getMilliseconds())
+}
+
+setTimeout(beep, 1000 - (new Date()).getMilliseconds())

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a9a83675/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/ansi/examples/clear/index.js
----------------------------------------------------------------------
diff --git a/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/ansi/examples/clear/index.js b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/ansi/examples/clear/index.js
new file mode 100644
index 0000000..6ac21ff
--- /dev/null
+++ b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/ansi/examples/clear/index.js
@@ -0,0 +1,15 @@
+#!/usr/bin/env node
+
+/**
+ * Like GNU ncurses "clear" command.
+ * https://github.com/mscdex/node-ncurses/blob/master/deps/ncurses/progs/clear.c
+ */
+
+process.title = 'clear'
+
+function lf () { return '\n' }
+
+require('../../')(process.stdout)
+  .write(Array.apply(null, Array(process.stdout.getWindowSize()[1])).map(lf).join(''))
+  .eraseData(2)
+  .goto(1, 1)

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a9a83675/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/ansi/examples/cursorPosition.js
----------------------------------------------------------------------
diff --git a/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/ansi/examples/cursorPosition.js b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/ansi/examples/cursorPosition.js
new file mode 100644
index 0000000..50f9644
--- /dev/null
+++ b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/ansi/examples/cursorPosition.js
@@ -0,0 +1,32 @@
+#!/usr/bin/env node
+
+var tty = require('tty')
+var cursor = require('../')(process.stdout)
+
+// listen for the queryPosition report on stdin
+process.stdin.resume()
+raw(true)
+
+process.stdin.once('data', function (b) {
+  var match = /\[(\d+)\;(\d+)R$/.exec(b.toString())
+  if (match) {
+    var xy = match.slice(1, 3).reverse().map(Number)
+    console.error(xy)
+  }
+
+  // cleanup and close stdin
+  raw(false)
+  process.stdin.pause()
+})
+
+
+// send the query position request code to stdout
+cursor.queryPosition()
+
+function raw (mode) {
+  if (process.stdin.setRawMode) {
+    process.stdin.setRawMode(mode)
+  } else {
+    tty.setRawMode(mode)
+  }
+}

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a9a83675/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/ansi/examples/progress/index.js
----------------------------------------------------------------------
diff --git a/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/ansi/examples/progress/index.js b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/ansi/examples/progress/index.js
new file mode 100644
index 0000000..d28dbda
--- /dev/null
+++ b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/ansi/examples/progress/index.js
@@ -0,0 +1,87 @@
+#!/usr/bin/env node
+
+var assert = require('assert')
+  , ansi = require('../../')
+
+function Progress (stream, width) {
+  this.cursor = ansi(stream)
+  this.delta = this.cursor.newlines
+  this.width = width | 0 || 10
+  this.open = '['
+  this.close = ']'
+  this.complete = '█'
+  this.incomplete = '_'
+
+  // initial render
+  this.progress = 0
+}
+
+Object.defineProperty(Progress.prototype, 'progress', {
+    get: get
+  , set: set
+  , configurable: true
+  , enumerable: true
+})
+
+function get () {
+  return this._progress
+}
+
+function set (v) {
+  this._progress = Math.max(0, Math.min(v, 100))
+
+  var w = this.width - this.complete.length - this.incomplete.length
+    , n = w * (this._progress / 100) | 0
+    , i = w - n
+    , com = c(this.complete, n)
+    , inc = c(this.incomplete, i)
+    , delta = this.cursor.newlines - this.delta
+
+  assert.equal(com.length + inc.length, w)
+
+  if (delta > 0) {
+    this.cursor.up(delta)
+    this.delta = this.cursor.newlines
+  }
+
+  this.cursor
+    .horizontalAbsolute(0)
+    .eraseLine(2)
+    .fg.white()
+    .write(this.open)
+    .fg.grey()
+    .bold()
+    .write(com)
+    .resetBold()
+    .write(inc)
+    .fg.white()
+    .write(this.close)
+    .fg.reset()
+    .write('\n')
+}
+
+function c (char, length) {
+  return Array.apply(null, Array(length)).map(function () {
+    return char
+  }).join('')
+}
+
+
+
+
+// Usage
+var width = parseInt(process.argv[2], 10) || process.stdout.getWindowSize()[0] / 2
+  , p = new Progress(process.stdout, width)
+
+;(function tick () {
+  p.progress += Math.random() * 5
+  p.cursor
+    .eraseLine(2)
+    .write('Progress: ')
+    .bold().write(p.progress.toFixed(2))
+    .write('%')
+    .resetBold()
+    .write('\n')
+  if (p.progress < 100)
+    setTimeout(tick, 100)
+})()

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a9a83675/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/ansi/examples/starwars.js
----------------------------------------------------------------------
diff --git a/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/ansi/examples/starwars.js b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/ansi/examples/starwars.js
new file mode 100644
index 0000000..06f8ba8
--- /dev/null
+++ b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/ansi/examples/starwars.js
@@ -0,0 +1,46 @@
+#!/usr/bin/env node
+
+/**
+ * A little script to play the ASCII Star Wars, but with a hidden cursor,
+ * since over `telnet(1)` the cursor remains visible which is annoying.
+ */
+
+process.title = 'starwars'
+
+var net = require('net')
+  , cursor = require('../')(process.stdout)
+  , color = process.argv[2]
+
+// enable "raw mode" so that keystrokes aren't visible
+process.stdin.resume()
+if (process.stdin.setRawMode) {
+  process.stdin.setRawMode(true)
+} else {
+  require('tty').setRawMode(true)
+}
+
+// connect to the ASCII Star Wars server
+var socket = net.connect(23, 'towel.blinkenlights.nl')
+
+socket.on('connect', function () {
+  if (color in cursor.fg) {
+    cursor.fg[color]()
+  }
+  cursor.hide()
+  socket.pipe(process.stdout)
+})
+
+process.stdin.on('data', function (data) {
+  if (data.toString() === '\u0003') {
+    // Ctrl+C; a.k.a SIGINT
+    socket.destroy()
+    process.stdin.pause()
+  }
+})
+
+process.on('exit', function () {
+  cursor
+    .show()
+    .fg.reset()
+    .write('\n')
+})

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a9a83675/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/ansi/lib/ansi.js
----------------------------------------------------------------------
diff --git a/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/ansi/lib/ansi.js b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/ansi/lib/ansi.js
new file mode 100644
index 0000000..52fc8ec
--- /dev/null
+++ b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/ansi/lib/ansi.js
@@ -0,0 +1,405 @@
+
+/**
+ * References:
+ *
+ *   - http://en.wikipedia.org/wiki/ANSI_escape_code
+ *   - http://www.termsys.demon.co.uk/vtansi.htm
+ *
+ */
+
+/**
+ * Module dependencies.
+ */
+
+var emitNewlineEvents = require('./newlines')
+  , prefix = '\x1b[' // For all escape codes
+  , suffix = 'm'     // Only for color codes
+
+/**
+ * The ANSI escape sequences.
+ */
+
+var codes = {
+    up: 'A'
+  , down: 'B'
+  , forward: 'C'
+  , back: 'D'
+  , nextLine: 'E'
+  , previousLine: 'F'
+  , horizontalAbsolute: 'G'
+  , eraseData: 'J'
+  , eraseLine: 'K'
+  , scrollUp: 'S'
+  , scrollDown: 'T'
+  , savePosition: 's'
+  , restorePosition: 'u'
+  , queryPosition: '6n'
+  , hide: '?25l'
+  , show: '?25h'
+}
+
+/**
+ * Rendering ANSI codes.
+ */
+
+var styles = {
+    bold: 1
+  , italic: 3
+  , underline: 4
+  , inverse: 7
+}
+
+/**
+ * The negating ANSI code for the rendering modes.
+ */
+
+var reset = {
+    bold: 22
+  , italic: 23
+  , underline: 24
+  , inverse: 27
+}
+
+/**
+ * The standard, styleable ANSI colors.
+ */
+
+var colors = {
+    white: 37
+  , black: 30
+  , blue: 34
+  , cyan: 36
+  , green: 32
+  , magenta: 35
+  , red: 31
+  , yellow: 33
+  , grey: 90
+  , brightBlack: 90
+  , brightRed: 91
+  , brightGreen: 92
+  , brightYellow: 93
+  , brightBlue: 94
+  , brightMagenta: 95
+  , brightCyan: 96
+  , brightWhite: 97
+}
+
+
+/**
+ * Creates a Cursor instance based off the given `writable stream` instance.
+ */
+
+function ansi (stream, options) {
+  if (stream._ansicursor) {
+    return stream._ansicursor
+  } else {
+    return stream._ansicursor = new Cursor(stream, options)
+  }
+}
+module.exports = exports = ansi
+
+/**
+ * The `Cursor` class.
+ */
+
+function Cursor (stream, options) {
+  if (!(this instanceof Cursor)) {
+    return new Cursor(stream, options)
+  }
+  if (typeof stream != 'object' || typeof stream.write != 'function') {
+    throw new Error('a valid Stream instance must be passed in')
+  }
+
+  // the stream to use
+  this.stream = stream
+
+  // when 'enabled' is false then all the functions are no-ops except for write()
+  this.enabled = options && options.enabled
+  if (typeof this.enabled === 'undefined') {
+    this.enabled = stream.isTTY
+  }
+  this.enabled = !!this.enabled
+
+  // then `buffering` is true, then `write()` calls are buffered in
+  // memory until `flush()` is invoked
+  this.buffering = !!(options && options.buffering)
+  this._buffer = []
+
+  // controls the foreground and background colors
+  this.fg = this.foreground = new Colorer(this, 0)
+  this.bg = this.background = new Colorer(this, 10)
+
+  // defaults
+  this.Bold = false
+  this.Italic = false
+  this.Underline = false
+  this.Inverse = false
+
+  // keep track of the number of "newlines" that get encountered
+  this.newlines = 0
+  emitNewlineEvents(stream)
+  stream.on('newline', function () {
+    this.newlines++
+  }.bind(this))
+}
+exports.Cursor = Cursor
+
+/**
+ * Helper function that calls `write()` on the underlying Stream.
+ * Returns `this` instead of the write() return value to keep
+ * the chaining going.
+ */
+
+Cursor.prototype.write = function (data) {
+  if (this.buffering) {
+    this._buffer.push(arguments)
+  } else {
+    this.stream.write.apply(this.stream, arguments)
+  }
+  return this
+}
+
+/**
+ * Buffer `write()` calls into memory.
+ *
+ * @api public
+ */
+
+Cursor.prototype.buffer = function () {
+  this.buffering = true
+  return this
+}
+
+/**
+ * Write out the in-memory buffer.
+ *
+ * @api public
+ */
+
+Cursor.prototype.flush = function () {
+  this.buffering = false
+  var str = this._buffer.map(function (args) {
+    if (args.length != 1) throw new Error('unexpected args length! ' + args.length);
+    return args[0];
+  }).join('');
+  this._buffer.splice(0); // empty
+  this.write(str);
+  return this
+}
+
+
+/**
+ * The `Colorer` class manages both the background and foreground colors.
+ */
+
+function Colorer (cursor, base) {
+  this.current = null
+  this.cursor = cursor
+  this.base = base
+}
+exports.Colorer = Colorer
+
+/**
+ * Write an ANSI color code, ensuring that the same code doesn't get rewritten.
+ */
+
+Colorer.prototype._setColorCode = function setColorCode (code) {
+  var c = String(code)
+  if (this.current === c) return
+  this.cursor.enabled && this.cursor.write(prefix + c + suffix)
+  this.current = c
+  return this
+}
+
+
+/**
+ * Set up the positional ANSI codes.
+ */
+
+Object.keys(codes).forEach(function (name) {
+  var code = String(codes[name])
+  Cursor.prototype[name] = function () {
+    var c = code
+    if (arguments.length > 0) {
+      c = toArray(arguments).map(Math.round).join(';') + code
+    }
+    this.enabled && this.write(prefix + c)
+    return this
+  }
+})
+
+/**
+ * Set up the functions for the rendering ANSI codes.
+ */
+
+Object.keys(styles).forEach(function (style) {
+  var name = style[0].toUpperCase() + style.substring(1)
+    , c = styles[style]
+    , r = reset[style]
+
+  Cursor.prototype[style] = function () {
+    if (this[name]) return
+    this.enabled && this.write(prefix + c + suffix)
+    this[name] = true
+    return this
+  }
+
+  Cursor.prototype['reset' + name] = function () {
+    if (!this[name]) return
+    this.enabled && this.write(prefix + r + suffix)
+    this[name] = false
+    return this
+  }
+})
+
+/**
+ * Setup the functions for the standard colors.
+ */
+
+Object.keys(colors).forEach(function (color) {
+  var code = colors[color]
+
+  Colorer.prototype[color] = function () {
+    this._setColorCode(this.base + code)
+    return this.cursor
+  }
+
+  Cursor.prototype[color] = function () {
+    return this.foreground[color]()
+  }
+})
+
+/**
+ * Makes a beep sound!
+ */
+
+Cursor.prototype.beep = function () {
+  this.enabled && this.write('\x07')
+  return this
+}
+
+/**
+ * Moves cursor to specific position
+ */
+
+Cursor.prototype.goto = function (x, y) {
+  x = x | 0
+  y = y | 0
+  this.enabled && this.write(prefix + y + ';' + x + 'H')
+  return this
+}
+
+/**
+ * Resets the color.
+ */
+
+Colorer.prototype.reset = function () {
+  this._setColorCode(this.base + 39)
+  return this.cursor
+}
+
+/**
+ * Resets all ANSI formatting on the stream.
+ */
+
+Cursor.prototype.reset = function () {
+  this.enabled && this.write(prefix + '0' + suffix)
+  this.Bold = false
+  this.Italic = false
+  this.Underline = false
+  this.Inverse = false
+  this.foreground.current = null
+  this.background.current = null
+  return this
+}
+
+/**
+ * Sets the foreground color with the given RGB values.
+ * The closest match out of the 216 colors is picked.
+ */
+
+Colorer.prototype.rgb = function (r, g, b) {
+  var base = this.base + 38
+    , code = rgb(r, g, b)
+  this._setColorCode(base + ';5;' + code)
+  return this.cursor
+}
+
+/**
+ * Same as `cursor.fg.rgb(r, g, b)`.
+ */
+
+Cursor.prototype.rgb = function (r, g, b) {
+  return this.foreground.rgb(r, g, b)
+}
+
+/**
+ * Accepts CSS color codes for use with ANSI escape codes.
+ * For example: `#FF000` would be bright red.
+ */
+
+Colorer.prototype.hex = function (color) {
+  return this.rgb.apply(this, hex(color))
+}
+
+/**
+ * Same as `cursor.fg.hex(color)`.
+ */
+
+Cursor.prototype.hex = function (color) {
+  return this.foreground.hex(color)
+}
+
+
+// UTIL FUNCTIONS //
+
+/**
+ * Translates a 255 RGB value to a 0-5 ANSI RGV value,
+ * then returns the single ANSI color code to use.
+ */
+
+function rgb (r, g, b) {
+  var red = r / 255 * 5
+    , green = g / 255 * 5
+    , blue = b / 255 * 5
+  return rgb5(red, green, blue)
+}
+
+/**
+ * Turns rgb 0-5 values into a single ANSI color code to use.
+ */
+
+function rgb5 (r, g, b) {
+  var red = Math.round(r)
+    , green = Math.round(g)
+    , blue = Math.round(b)
+  return 16 + (red*36) + (green*6) + blue
+}
+
+/**
+ * Accepts a hex CSS color code string (# is optional) and
+ * translates it into an Array of 3 RGB 0-255 values, which
+ * can then be used with rgb().
+ */
+
+function hex (color) {
+  var c = color[0] === '#' ? color.substring(1) : color
+    , r = c.substring(0, 2)
+    , g = c.substring(2, 4)
+    , b = c.substring(4, 6)
+  return [parseInt(r, 16), parseInt(g, 16), parseInt(b, 16)]
+}
+
+/**
+ * Turns an array-like object into a real array.
+ */
+
+function toArray (a) {
+  var i = 0
+    , l = a.length
+    , rtn = []
+  for (; i<l; i++) {
+    rtn.push(a[i])
+  }
+  return rtn
+}

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a9a83675/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/ansi/lib/newlines.js
----------------------------------------------------------------------
diff --git a/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/ansi/lib/newlines.js b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/ansi/lib/newlines.js
new file mode 100644
index 0000000..4e37a0a
--- /dev/null
+++ b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/ansi/lib/newlines.js
@@ -0,0 +1,71 @@
+
+/**
+ * Accepts any node Stream instance and hijacks its "write()" function,
+ * so that it can count any newlines that get written to the output.
+ *
+ * When a '\n' byte is encountered, then a "newline" event will be emitted
+ * on the stream, with no arguments. It is up to the listeners to determine
+ * any necessary deltas required for their use-case.
+ *
+ * Ex:
+ *
+ *   var cursor = ansi(process.stdout)
+ *     , ln = 0
+ *   process.stdout.on('newline', function () {
+ *    ln++
+ *   })
+ */
+
+/**
+ * Module dependencies.
+ */
+
+var assert = require('assert')
+var NEWLINE = '\n'.charCodeAt(0)
+
+function emitNewlineEvents (stream) {
+  if (stream._emittingNewlines) {
+    // already emitting newline events
+    return
+  }
+
+  var write = stream.write
+
+  stream.write = function (data) {
+    // first write the data
+    var rtn = write.apply(stream, arguments)
+
+    if (stream.listeners('newline').length > 0) {
+      var len = data.length
+        , i = 0
+      // now try to calculate any deltas
+      if (typeof data == 'string') {
+        for (; i<len; i++) {
+          processByte(stream, data.charCodeAt(i))
+        }
+      } else {
+        // buffer
+        for (; i<len; i++) {
+          processByte(stream, data[i])
+        }
+      }
+    }
+
+    return rtn
+  }
+
+  stream._emittingNewlines = true
+}
+module.exports = emitNewlineEvents
+
+
+/**
+ * Processes an individual byte being written to a stream
+ */
+
+function processByte (stream, b) {
+  assert.equal(typeof b, 'number')
+  if (b === NEWLINE) {
+    stream.emit('newline')
+  }
+}

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a9a83675/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/ansi/package.json
----------------------------------------------------------------------
diff --git a/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/ansi/package.json b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/ansi/package.json
new file mode 100644
index 0000000..e7cde26
--- /dev/null
+++ b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/ansi/package.json
@@ -0,0 +1,50 @@
+{
+  "name": "ansi",
+  "description": "Advanced ANSI formatting tool for Node.js",
+  "keywords": [
+    "ansi",
+    "formatting",
+    "cursor",
+    "color",
+    "terminal",
+    "rgb",
+    "256",
+    "stream"
+  ],
+  "version": "0.2.1",
+  "author": {
+    "name": "Nathan Rajlich",
+    "email": "nathan@tootallnate.net",
+    "url": "http://tootallnate.net"
+  },
+  "repository": {
+    "type": "git",
+    "url": "git://github.com/TooTallNate/ansi.js.git"
+  },
+  "main": "./lib/ansi.js",
+  "bin": {
+    "beep": "./examples/beep/index.js",
+    "clear": "./examples/clear/index.js",
+    "starwars": "./examples/starwars.js"
+  },
+  "scripts": {
+    "test": "mocha --reporter spec"
+  },
+  "devDependencies": {
+    "mocha": "*"
+  },
+  "engines": {
+    "node": "*"
+  },
+  "readme": "ansi.js\n=========\n### Advanced ANSI formatting tool for Node.js\n\n`ansi.js` is a module for Node.js that provides an easy-to-use API for\nwriting ANSI escape codes to `Stream` instances. ANSI escape codes are used to do\nfancy things in a terminal window, like render text in colors, delete characters,\nlines, the entire window, or hide and show the cursor, and lots more!\n\nThe code for the example in the screenshot above can be found in the\n`examples/imgcat` directory.\n\n#### Features:\n\n * 256 color support for the terminal!\n * Make a beep sound from your terminal!\n * Works with *any* writable `Stream` instance.\n * Allows you to move the cursor anywhere on the terminal window.\n * Allows you to delete existing contents from the terminal window.\n * Allows you to hide and show the cursor.\n * Converts CSS color codes and RGB values into ANSI escape codes.\n * Low-level; you are in control of when escape codes are used, it's not abstracted.\n\n\nInstallation\n-
 -----------\n\nInstall with `npm`:\n\n``` bash\n$ npm install ansi\n```\n\n\nExample\n-------\n\n``` js\nvar ansi = require('ansi')\n  , cursor = ansi(process.stdout)\n\n// You can chain your calls forever:\ncursor\n  .red()                 // Set font color to red\n  .bg.grey()             // Set background color to grey\n  .write('Hello World!') // Write 'Hello World!' to stdout\n  .bg.reset()            // Reset the bgcolor before writing the trailing \\n,\n                         //      to avoid Terminal glitches\n  .write('\\n')           // And a final \\n to wrap things up\n\n// Rendering modes are persistent:\ncursor.hex('#660000').bold().underline()\n\n// You can use the regular logging functions, text will be green\nconsole.log('This is blood red, bold text')\n\n// To reset just the foreground color:\ncursor.fg.reset()\n\nconsole.log('This will still be bold')\n\n// Clean up after yourself!\ncursor.reset()\n```\n\n\nLicense\n-------\n\n(The MIT License)\n\nCopyright (c) 
 2012 Nathan Rajlich &lt;nathan@tootallnate.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, ARISIN
 G 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/ansi.js/issues"
+  },
+  "_id": "ansi@0.2.1",
+  "dist": {
+    "shasum": "76961682ac06d5ea0729af53295ea8f953a0cb21"
+  },
+  "_from": "ansi@latest",
+  "_resolved": "https://registry.npmjs.org/ansi/-/ansi-0.2.1.tgz"
+}

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a9a83675/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/ansicolors/LICENSE
----------------------------------------------------------------------
diff --git a/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/ansicolors/LICENSE b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/ansicolors/LICENSE
new file mode 100644
index 0000000..41702c5
--- /dev/null
+++ b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/ansicolors/LICENSE
@@ -0,0 +1,23 @@
+Copyright 2013 Thorsten Lorenz. 
+All rights reserved.
+
+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-cmda/blob/a9a83675/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/ansicolors/README.md
----------------------------------------------------------------------
diff --git a/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/ansicolors/README.md b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/ansicolors/README.md
new file mode 100644
index 0000000..f3e9d07
--- /dev/null
+++ b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/ansicolors/README.md
@@ -0,0 +1,62 @@
+# ansicolors [![build status](https://secure.travis-ci.org/thlorenz/ansicolors.png)](http://next.travis-ci.org/thlorenz/ansicolors)
+
+Functions that surround a string with ansicolor codes so it prints in color.
+
+In case you need styles, like `bold`, have a look at [ansistyles](https://github.com/thlorenz/ansistyles).
+
+## Installation
+
+    npm install ansicolors
+
+## Usage
+
+```js
+var colors = require('ansicolors');
+
+// foreground colors
+var redHerring = colors.red('herring');
+var blueMoon = colors.blue('moon');
+var brighBlueMoon = colors.brightBlue('moon');
+
+console.log(redHerring);      // this will print 'herring' in red
+console.log(blueMoon);        // this 'moon' in blue
+console.log(brightBlueMoon);  // I think you got the idea
+
+// background colors
+console.log(colors.bgYellow('printed on yellow background'));
+console.log(colors.bgBrightBlue('printed on bright blue background'));
+
+// mixing background and foreground colors
+// below two lines have same result (order in which bg and fg are combined doesn't matter)
+console.log(colors.bgYellow(colors.blue('printed on yellow background in blue')));
+console.log(colors.blue(colors.bgYellow('printed on yellow background in blue')));
+```
+
+## Advanced API
+
+**ansicolors** allows you to access opening and closing escape sequences separately.
+
+```js
+var colors = require('ansicolors');
+
+function inspect(obj, depth) {
+  return require('util').inspect(obj, false, depth || 5, true);
+}
+
+console.log('open blue', inspect(colors.open.blue));
+console.log('close bgBlack', inspect(colors.close.bgBlack));
+
+// => open blue '\u001b[34m'
+//    close bgBlack '\u001b[49m'
+```
+
+## Tests
+
+Look at the [tests](https://github.com/thlorenz/ansicolors/blob/master/test/ansicolors.js) to see more examples and/or run them via: 
+
+    npm explore ansicolors && npm test
+
+## Alternatives
+
+**ansicolors** tries to meet simple use cases with a very simple API. However, if you need a more powerful ansi formatting tool, 
+I'd suggest to look at the [features](https://github.com/TooTallNate/ansi.js#features) of the [ansi module](https://github.com/TooTallNate/ansi.js).

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a9a83675/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/ansicolors/ansicolors.js
----------------------------------------------------------------------
diff --git a/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/ansicolors/ansicolors.js b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/ansicolors/ansicolors.js
new file mode 100644
index 0000000..16b2586
--- /dev/null
+++ b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/ansicolors/ansicolors.js
@@ -0,0 +1,65 @@
+// ColorCodes explained: http://www.termsys.demon.co.uk/vtansi.htm
+'use strict';
+
+var colorNums = {
+      white         :  37
+    , black         :  30
+    , blue          :  34
+    , cyan          :  36
+    , green         :  32
+    , magenta       :  35
+    , red           :  31
+    , yellow        :  33
+    , brightBlack   :  90
+    , brightRed     :  91
+    , brightGreen   :  92
+    , brightYellow  :  93
+    , brightBlue    :  94
+    , brightMagenta :  95
+    , brightCyan    :  96
+    , brightWhite   :  97
+    }
+  , backgroundColorNums = {
+      bgBlack         :  40
+    , bgRed           :  41
+    , bgGreen         :  42
+    , bgYellow        :  43
+    , bgBlue          :  44
+    , bgMagenta       :  45
+    , bgCyan          :  46
+    , bgWhite         :  47
+    , bgBrightBlack   :  100
+    , bgBrightRed     :  101
+    , bgBrightGreen   :  102
+    , bgBrightYellow  :  103
+    , bgBrightBlue    :  104
+    , bgBrightMagenta :  105
+    , bgBrightCyan    :  106
+    , bgBrightWhite   :  107
+    } 
+  , open   =  {}
+  , close  =  {}
+  , colors =  {}
+  ;
+
+Object.keys(colorNums).forEach(function (k) {
+  var o =  open[k]  =  '\u001b[' + colorNums[k] + 'm';
+  var c =  close[k] =  '\u001b[39m';
+
+  colors[k] = function (s) { 
+    return o + s + c;
+  };
+});
+
+Object.keys(backgroundColorNums).forEach(function (k) {
+  var o =  open[k]  =  '\u001b[' + backgroundColorNums[k] + 'm';
+  var c =  close[k] =  '\u001b[49m';
+
+  colors[k] = function (s) { 
+    return o + s + c;
+  };
+});
+
+module.exports =  colors;
+colors.open    =  open;
+colors.close   =  close;

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a9a83675/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/ansicolors/package.json
----------------------------------------------------------------------
diff --git a/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/ansicolors/package.json b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/ansicolors/package.json
new file mode 100644
index 0000000..bca06da
--- /dev/null
+++ b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/ansicolors/package.json
@@ -0,0 +1,34 @@
+{
+  "name": "ansicolors",
+  "version": "0.3.2",
+  "description": "Functions that surround a string with ansicolor codes so it prints in color.",
+  "main": "ansicolors.js",
+  "scripts": {
+    "test": "node test/*.js"
+  },
+  "repository": {
+    "type": "git",
+    "url": "git://github.com/thlorenz/ansicolors.git"
+  },
+  "keywords": [
+    "ansi",
+    "colors",
+    "highlight",
+    "string"
+  ],
+  "author": {
+    "name": "Thorsten Lorenz",
+    "email": "thlorenz@gmx.de",
+    "url": "thlorenz.com"
+  },
+  "license": "MIT",
+  "readmeFilename": "README.md",
+  "gitHead": "858847ca28e8b360d9b70eee0592700fa2ab087d",
+  "readme": "# ansicolors [![build status](https://secure.travis-ci.org/thlorenz/ansicolors.png)](http://next.travis-ci.org/thlorenz/ansicolors)\n\nFunctions that surround a string with ansicolor codes so it prints in color.\n\nIn case you need styles, like `bold`, have a look at [ansistyles](https://github.com/thlorenz/ansistyles).\n\n## Installation\n\n    npm install ansicolors\n\n## Usage\n\n```js\nvar colors = require('ansicolors');\n\n// foreground colors\nvar redHerring = colors.red('herring');\nvar blueMoon = colors.blue('moon');\nvar brighBlueMoon = colors.brightBlue('moon');\n\nconsole.log(redHerring);      // this will print 'herring' in red\nconsole.log(blueMoon);        // this 'moon' in blue\nconsole.log(brightBlueMoon);  // I think you got the idea\n\n// background colors\nconsole.log(colors.bgYellow('printed on yellow background'));\nconsole.log(colors.bgBrightBlue('printed on bright blue background'));\n\n// mixing background and foreground colors\n// below two line
 s have same result (order in which bg and fg are combined doesn't matter)\nconsole.log(colors.bgYellow(colors.blue('printed on yellow background in blue')));\nconsole.log(colors.blue(colors.bgYellow('printed on yellow background in blue')));\n```\n\n## Advanced API\n\n**ansicolors** allows you to access opening and closing escape sequences separately.\n\n```js\nvar colors = require('ansicolors');\n\nfunction inspect(obj, depth) {\n  return require('util').inspect(obj, false, depth || 5, true);\n}\n\nconsole.log('open blue', inspect(colors.open.blue));\nconsole.log('close bgBlack', inspect(colors.close.bgBlack));\n\n// => open blue '\\u001b[34m'\n//    close bgBlack '\\u001b[49m'\n```\n\n## Tests\n\nLook at the [tests](https://github.com/thlorenz/ansicolors/blob/master/test/ansicolors.js) to see more examples and/or run them via: \n\n    npm explore ansicolors && npm test\n\n## Alternatives\n\n**ansicolors** tries to meet simple use cases with a very simple API. However, if you need 
 a more powerful ansi formatting tool, \nI'd suggest to look at the [features](https://github.com/TooTallNate/ansi.js#features) of the [ansi module](https://github.com/TooTallNate/ansi.js).\n",
+  "bugs": {
+    "url": "https://github.com/thlorenz/ansicolors/issues"
+  },
+  "homepage": "https://github.com/thlorenz/ansicolors",
+  "_id": "ansicolors@0.3.2",
+  "_from": "ansicolors@latest"
+}

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a9a83675/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/ansicolors/test/ansicolors.js
----------------------------------------------------------------------
diff --git a/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/ansicolors/test/ansicolors.js b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/ansicolors/test/ansicolors.js
new file mode 100644
index 0000000..4945393
--- /dev/null
+++ b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/ansicolors/test/ansicolors.js
@@ -0,0 +1,71 @@
+'use strict';
+
+var assert = require('assert')
+  , colors = require('..')
+  , open = colors.open
+  , close = colors.close
+
+console.log('Foreground colors ..');
+
+assert.equal(colors.white('printed in white'), '\u001b[37mprinted in white\u001b[39m');
+
+assert.equal(colors.black('printed in black'), '\u001b[30mprinted in black\u001b[39m');
+assert.equal(colors.brightBlack('printed in bright black'), '\u001b[90mprinted in bright black\u001b[39m');
+
+assert.equal(colors.green('printed in green'), '\u001b[32mprinted in green\u001b[39m');
+assert.equal(colors.brightGreen('printed in bright green'), '\u001b[92mprinted in bright green\u001b[39m');
+
+assert.equal(colors.red('printed in red'), '\u001b[31mprinted in red\u001b[39m');
+assert.equal(colors.brightRed('printed in bright red'), '\u001b[91mprinted in bright red\u001b[39m');
+
+console.log('OK');
+
+console.log('Background colors ..');
+
+assert.equal(
+    colors.bgBlack('printed with black background')
+  , '\u001b[40mprinted with black background\u001b[49m'
+);
+
+assert.equal(
+    colors.bgYellow('printed with yellow background')
+  , '\u001b[43mprinted with yellow background\u001b[49m'
+);
+assert.equal(
+    colors.bgBrightYellow('printed with bright yellow background')
+  , '\u001b[103mprinted with bright yellow background\u001b[49m'
+);
+
+assert.equal(
+    colors.bgWhite('printed with white background')
+  , '\u001b[47mprinted with white background\u001b[49m'
+);
+
+console.log('OK');
+
+console.log('Mixing background and foreground colors ..');
+
+assert.equal(
+    colors.blue(colors.bgYellow('printed in blue with yellow background'))
+  , '\u001b[34m\u001b[43mprinted in blue with yellow background\u001b[49m\u001b[39m'
+);
+assert.equal(
+    colors.bgYellow(colors.blue('printed in blue with yellow background again'))
+  , '\u001b[43m\u001b[34mprinted in blue with yellow background again\u001b[39m\u001b[49m'
+);
+
+console.log('OK');
+
+console.log('Open ...');
+
+assert.equal(open.black, '\u001b[30m');
+assert.equal(open.bgYellow, '\u001b[43m');
+
+console.log('OK');
+
+console.log('Close ...');
+
+assert.equal(close.black, '\u001b[39m');
+assert.equal(close.bgYellow, '\u001b[49m');
+
+console.log('OK');

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a9a83675/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/ansistyles/LICENSE
----------------------------------------------------------------------
diff --git a/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/ansistyles/LICENSE b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/ansistyles/LICENSE
new file mode 100644
index 0000000..41702c5
--- /dev/null
+++ b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/ansistyles/LICENSE
@@ -0,0 +1,23 @@
+Copyright 2013 Thorsten Lorenz. 
+All rights reserved.
+
+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-cmda/blob/a9a83675/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/ansistyles/README.md
----------------------------------------------------------------------
diff --git a/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/ansistyles/README.md b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/ansistyles/README.md
new file mode 100644
index 0000000..e39b8df
--- /dev/null
+++ b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/ansistyles/README.md
@@ -0,0 +1,71 @@
+# ansistyles [![build status](https://secure.travis-ci.org/thlorenz/ansistyles.png)](http://next.travis-ci.org/thlorenz/ansistyles)
+
+Functions that surround a string with ansistyle codes so it prints in style.
+
+In case you need colors, like `red`, have a look at [ansicolors](https://github.com/thlorenz/ansicolors).
+
+## Installation
+
+    npm install ansistyles
+
+## Usage
+
+```js
+var styles = require('ansistyles');
+
+console.log(styles.bright('hello world'));    // prints hello world in 'bright' white
+console.log(styles.underline('hello world')); // prints hello world underlined
+console.log(styles.inverse('hello world'));   // prints hello world black on white
+```
+
+## Combining with ansicolors
+
+Get the ansicolors module:
+
+    npm install ansicolors
+
+```js
+var styles = require('ansistyles')
+  , colors = require('ansicolors');
+
+  console.log(
+    // prints hello world underlined in blue on a green background
+    colors.bgGreen(colors.blue(styles.underline('hello world'))) 
+  );
+```
+
+## Tests
+
+Look at the [tests](https://github.com/thlorenz/ansistyles/blob/master/test/ansistyles.js) to see more examples and/or run them via: 
+
+    npm explore ansistyles && npm test
+
+## More Styles
+
+As you can see from [here](https://github.com/thlorenz/ansistyles/blob/master/ansistyles.js#L4-L15), more styles are available,
+but didn't have any effect on the terminals that I tested on Mac Lion and Ubuntu Linux.
+
+I included them for completeness, but didn't show them in the examples because they seem to have no effect.
+
+### reset
+
+A style reset function is also included, please note however that this is not nestable.
+
+Therefore the below only underlines `hell` only, but not `world`.
+
+```js
+console.log(styles.underline('hell' + styles.reset('o') + ' world'));
+```
+
+It is essentially the same as:
+
+```js
+console.log(styles.underline('hell') + styles.reset('') + 'o world');
+```
+
+
+
+## Alternatives
+
+**ansistyles** tries to meet simple use cases with a very simple API. However, if you need a more powerful ansi formatting tool, 
+I'd suggest to look at the [features](https://github.com/TooTallNate/ansi.js#features) of the [ansi module](https://github.com/TooTallNate/ansi.js).

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a9a83675/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/ansistyles/ansistyles.js
----------------------------------------------------------------------
diff --git a/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/ansistyles/ansistyles.js b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/ansistyles/ansistyles.js
new file mode 100644
index 0000000..5b8788c
--- /dev/null
+++ b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/ansistyles/ansistyles.js
@@ -0,0 +1,38 @@
+'use strict';
+
+/*
+ * Info: http://www.termsys.demon.co.uk/vtansi.htm#colors 
+ * Following caveats
+ * bright    - brightens the color (bold-blue is same as brigthtBlue)
+ * dim       - nothing on Mac or Linux
+ * italic    - nothing on Mac or Linux
+ * underline - underlines string
+ * blink     - nothing on Mac or linux
+ * inverse   - background becomes foreground and vice versa
+ *
+ * In summary, the only styles that work are:
+ *  - bright, underline and inverse
+ *  - the others are only included for completeness
+ */
+
+var styleNums = {
+    reset     :  [0, 22]
+  , bright    :  [1, 22]
+  , dim       :  [2, 22]
+  , italic    :  [3, 23]
+  , underline :  [4, 24]
+  , blink     :  [5, 25]
+  , inverse   :  [7, 27]
+  }
+  , styles = {}
+  ;
+
+Object.keys(styleNums).forEach(function (k) {
+  styles[k] = function (s) { 
+    var open = styleNums[k][0]
+      , close = styleNums[k][1];
+    return '\u001b[' + open + 'm' + s + '\u001b[' + close + 'm';
+  };
+});
+
+module.exports = styles;

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a9a83675/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/ansistyles/package.json
----------------------------------------------------------------------
diff --git a/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/ansistyles/package.json b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/ansistyles/package.json
new file mode 100644
index 0000000..dec9cd9
--- /dev/null
+++ b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/ansistyles/package.json
@@ -0,0 +1,38 @@
+{
+  "name": "ansistyles",
+  "version": "0.1.3",
+  "description": "Functions that surround a string with ansistyle codes so it prints in style.",
+  "main": "ansistyles.js",
+  "scripts": {
+    "test": "node test/ansistyles.js"
+  },
+  "repository": {
+    "type": "git",
+    "url": "git://github.com/thlorenz/ansistyles.git"
+  },
+  "keywords": [
+    "ansi",
+    "style",
+    "terminal",
+    "console"
+  ],
+  "author": {
+    "name": "Thorsten Lorenz",
+    "email": "thlorenz@gmx.de",
+    "url": "thlorenz.com"
+  },
+  "license": "MIT",
+  "readmeFilename": "README.md",
+  "gitHead": "27bf1bc65231bcc7fd109bf13b13601b51f8cd04",
+  "readme": "# ansistyles [![build status](https://secure.travis-ci.org/thlorenz/ansistyles.png)](http://next.travis-ci.org/thlorenz/ansistyles)\n\nFunctions that surround a string with ansistyle codes so it prints in style.\n\nIn case you need colors, like `red`, have a look at [ansicolors](https://github.com/thlorenz/ansicolors).\n\n## Installation\n\n    npm install ansistyles\n\n## Usage\n\n```js\nvar styles = require('ansistyles');\n\nconsole.log(styles.bright('hello world'));    // prints hello world in 'bright' white\nconsole.log(styles.underline('hello world')); // prints hello world underlined\nconsole.log(styles.inverse('hello world'));   // prints hello world black on white\n```\n\n## Combining with ansicolors\n\nGet the ansicolors module:\n\n    npm install ansicolors\n\n```js\nvar styles = require('ansistyles')\n  , colors = require('ansicolors');\n\n  console.log(\n    // prints hello world underlined in blue on a green background\n    colors.bgGreen(colors.blue(styles
 .underline('hello world'))) \n  );\n```\n\n## Tests\n\nLook at the [tests](https://github.com/thlorenz/ansistyles/blob/master/test/ansistyles.js) to see more examples and/or run them via: \n\n    npm explore ansistyles && npm test\n\n## More Styles\n\nAs you can see from [here](https://github.com/thlorenz/ansistyles/blob/master/ansistyles.js#L4-L15), more styles are available,\nbut didn't have any effect on the terminals that I tested on Mac Lion and Ubuntu Linux.\n\nI included them for completeness, but didn't show them in the examples because they seem to have no effect.\n\n### reset\n\nA style reset function is also included, please note however that this is not nestable.\n\nTherefore the below only underlines `hell` only, but not `world`.\n\n```js\nconsole.log(styles.underline('hell' + styles.reset('o') + ' world'));\n```\n\nIt is essentially the same as:\n\n```js\nconsole.log(styles.underline('hell') + styles.reset('') + 'o world');\n```\n\n\n\n## Alternatives\n\n**ansistyles**
  tries to meet simple use cases with a very simple API. However, if you need a more powerful ansi formatting tool, \nI'd suggest to look at the [features](https://github.com/TooTallNate/ansi.js#features) of the [ansi module](https://github.com/TooTallNate/ansi.js).\n",
+  "bugs": {
+    "url": "https://github.com/thlorenz/ansistyles/issues"
+  },
+  "homepage": "https://github.com/thlorenz/ansistyles",
+  "_id": "ansistyles@0.1.3",
+  "dist": {
+    "shasum": "b14f315fe763a2b3a88df9d3261a517e666c4615"
+  },
+  "_from": "ansistyles@0.1.3",
+  "_resolved": "https://registry.npmjs.org/ansistyles/-/ansistyles-0.1.3.tgz"
+}

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a9a83675/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/ansistyles/test/ansistyles.js
----------------------------------------------------------------------
diff --git a/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/ansistyles/test/ansistyles.js b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/ansistyles/test/ansistyles.js
new file mode 100644
index 0000000..f769bf8
--- /dev/null
+++ b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/ansistyles/test/ansistyles.js
@@ -0,0 +1,15 @@
+'use strict';
+/*jshint asi: true */
+var assert = require('assert')
+  , styles = require('../')
+
+function inspect(obj, depth) {
+  console.log(require('util').inspect(obj, false, depth || 5, true));
+}
+
+assert.equal(styles.reset('reset'), '\u001b[0mreset\u001b[22m', 'reset')
+assert.equal(styles.underline('underlined'), '\u001b[4munderlined\u001b[24m', 'underline')
+assert.equal(styles.bright('bright'), '\u001b[1mbright\u001b[22m', 'bright')
+assert.equal(styles.inverse('inversed'), '\u001b[7minversed\u001b[27m', 'inverse')
+
+console.log('OK');

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a9a83675/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/archy/README.markdown
----------------------------------------------------------------------
diff --git a/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/archy/README.markdown b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/archy/README.markdown
new file mode 100644
index 0000000..deaba0f
--- /dev/null
+++ b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/archy/README.markdown
@@ -0,0 +1,92 @@
+archy
+=====
+
+Render nested hierarchies `npm ls` style with unicode pipes.
+
+[![build status](https://secure.travis-ci.org/substack/node-archy.png)](http://travis-ci.org/substack/node-archy)
+
+example
+=======
+
+``` js
+var archy = require('archy');
+var s = archy({
+  label : 'beep',
+  nodes : [
+    'ity',
+    {
+      label : 'boop',
+      nodes : [
+        {
+          label : 'o_O',
+          nodes : [
+            {
+              label : 'oh',
+              nodes : [ 'hello', 'puny' ]
+            },
+            'human'
+          ]
+        },
+        'party\ntime!'
+      ]
+    }
+  ]
+});
+console.log(s);
+```
+
+output
+
+```
+beep
+├── ity
+└─┬ boop
+  ├─┬ o_O
+  │ ├─┬ oh
+  │ │ ├── hello
+  │ │ └── puny
+  │ └── human
+  └── party
+      time!
+```
+
+methods
+=======
+
+var archy = require('archy')
+
+archy(obj, prefix='', opts={})
+------------------------------
+
+Return a string representation of `obj` with unicode pipe characters like how
+`npm ls` looks.
+
+`obj` should be a tree of nested objects with `'label'` and `'nodes'` fields.
+`'label'` is a string of text to display at a node level and `'nodes'` is an
+array of the descendents of the current node.
+
+If a node is a string, that string will be used as the `'label'` and an empty
+array of `'nodes'` will be used.
+
+`prefix` gets prepended to all the lines and is used by the algorithm to
+recursively update.
+
+If `'label'` has newlines they will be indented at the present indentation level
+with the current prefix.
+
+To disable unicode results in favor of all-ansi output set `opts.unicode` to
+`false`.
+
+install
+=======
+
+With [npm](http://npmjs.org) do:
+
+```
+npm install archy
+```
+
+license
+=======
+
+MIT/X11

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a9a83675/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/archy/index.js
----------------------------------------------------------------------
diff --git a/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/archy/index.js b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/archy/index.js
new file mode 100644
index 0000000..869d64e
--- /dev/null
+++ b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/archy/index.js
@@ -0,0 +1,35 @@
+module.exports = function archy (obj, prefix, opts) {
+    if (prefix === undefined) prefix = '';
+    if (!opts) opts = {};
+    var chr = function (s) {
+        var chars = {
+            '│' : '|',
+            '└' : '`',
+            '├' : '+',
+            '─' : '-',
+            '┬' : '-'
+        };
+        return opts.unicode === false ? chars[s] : s;
+    };
+    
+    if (typeof obj === 'string') obj = { label : obj };
+    
+    var nodes = obj.nodes || [];
+    var lines = (obj.label || '').split('\n');
+    var splitter = '\n' + prefix + (nodes.length ? chr('│') : ' ') + ' ';
+    
+    return prefix
+        + lines.join(splitter) + '\n'
+        + nodes.map(function (node, ix) {
+            var last = ix === nodes.length - 1;
+            var more = node.nodes && node.nodes.length;
+            var prefix_ = prefix + (last ? ' ' : chr('│')) + ' ';
+            
+            return prefix
+                + (last ? chr('└') : chr('├')) + chr('─')
+                + (more ? chr('┬') : chr('─')) + ' '
+                + archy(node, prefix_, opts).slice(prefix.length + 2)
+            ;
+        }).join('')
+    ;
+};

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a9a83675/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/archy/package.json
----------------------------------------------------------------------
diff --git a/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/archy/package.json b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/archy/package.json
new file mode 100644
index 0000000..81c3e26
--- /dev/null
+++ b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/archy/package.json
@@ -0,0 +1,52 @@
+{
+  "name": "archy",
+  "version": "0.0.2",
+  "description": "render nested hierarchies `npm ls` style with unicode pipes",
+  "main": "index.js",
+  "directories": {
+    "lib": ".",
+    "example": "example",
+    "test": "test"
+  },
+  "devDependencies": {
+    "tap": "~0.2.3"
+  },
+  "scripts": {
+    "test": "tap test"
+  },
+  "repository": {
+    "type": "git",
+    "url": "git://github.com/substack/node-archy.git"
+  },
+  "keywords": [
+    "hierarchy",
+    "npm ls",
+    "unicode",
+    "pretty",
+    "print"
+  ],
+  "author": {
+    "name": "James Halliday",
+    "email": "mail@substack.net",
+    "url": "http://substack.net"
+  },
+  "license": "MIT/X11",
+  "engine": {
+    "node": ">=0.4"
+  },
+  "_npmUser": {
+    "name": "isaacs",
+    "email": "i@izs.me"
+  },
+  "_id": "archy@0.0.2",
+  "dependencies": {},
+  "optionalDependencies": {},
+  "engines": {
+    "node": "*"
+  },
+  "_engineSupported": true,
+  "_npmVersion": "1.1.13",
+  "_nodeVersion": "v0.7.7-pre",
+  "_defaultsLoaded": true,
+  "_from": "archy@0.0.2"
+}

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a9a83675/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/block-stream/LICENCE
----------------------------------------------------------------------
diff --git a/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/block-stream/LICENCE b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/block-stream/LICENCE
new file mode 100644
index 0000000..74489e2
--- /dev/null
+++ b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/block-stream/LICENCE
@@ -0,0 +1,25 @@
+Copyright (c) Isaac Z. Schlueter
+All rights reserved.
+
+The BSD License
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+1. Redistributions of source code must retain the above copyright
+   notice, this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright
+   notice, this list of conditions and the following disclaimer in the
+   documentation and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE.

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a9a83675/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/block-stream/README.md
----------------------------------------------------------------------
diff --git a/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/block-stream/README.md b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/block-stream/README.md
new file mode 100644
index 0000000..c16e9c4
--- /dev/null
+++ b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/block-stream/README.md
@@ -0,0 +1,14 @@
+# block-stream
+
+A stream of blocks.
+
+Write data into it, and it'll output data in buffer blocks the size you
+specify, padding with zeroes if necessary.
+
+```javascript
+var block = new BlockStream(512)
+fs.createReadStream("some-file").pipe(block)
+block.pipe(fs.createWriteStream("block-file"))
+```
+
+When `.end()` or `.flush()` is called, it'll pad the block with zeroes.

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a9a83675/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/block-stream/bench/block-stream-pause.js
----------------------------------------------------------------------
diff --git a/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/block-stream/bench/block-stream-pause.js b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/block-stream/bench/block-stream-pause.js
new file mode 100644
index 0000000..9328844
--- /dev/null
+++ b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/block-stream/bench/block-stream-pause.js
@@ -0,0 +1,70 @@
+var BlockStream = require("../block-stream.js")
+
+var blockSizes = [16, 25, 1024]
+  , writeSizes = [4, 8, 15, 16, 17, 64, 100]
+  , writeCounts = [1, 10, 100]
+  , tap = require("tap")
+
+writeCounts.forEach(function (writeCount) {
+blockSizes.forEach(function (blockSize) {
+writeSizes.forEach(function (writeSize) {
+  tap.test("writeSize=" + writeSize +
+           " blockSize="+blockSize +
+           " writeCount="+writeCount, function (t) {
+    var f = new BlockStream(blockSize, {nopad: true })
+
+    var actualChunks = 0
+    var actualBytes = 0
+    var timeouts = 0
+
+    f.on("data", function (c) {
+      timeouts ++
+
+      actualChunks ++
+      actualBytes += c.length
+
+      // make sure that no data gets corrupted, and basic sanity
+      var before = c.toString()
+      // simulate a slow write operation
+      f.pause()
+      setTimeout(function () {
+        timeouts --
+
+        var after = c.toString()
+        t.equal(after, before, "should not change data")
+
+        // now corrupt it, to find leaks.
+        for (var i = 0; i < c.length; i ++) {
+          c[i] = "x".charCodeAt(0)
+        }
+        f.resume()
+      }, 100)
+    })
+
+    f.on("end", function () {
+      // round up to the nearest block size
+      var expectChunks = Math.ceil(writeSize * writeCount  * 2 / blockSize)
+      var expectBytes = writeSize * writeCount * 2
+      t.equal(actualBytes, expectBytes,
+              "bytes=" + expectBytes + " writeSize=" + writeSize)
+      t.equal(actualChunks, expectChunks,
+              "chunks=" + expectChunks + " writeSize=" + writeSize)
+
+      // wait for all the timeout checks to finish, then end the test
+      setTimeout(function WAIT () {
+        if (timeouts > 0) return setTimeout(WAIT)
+        t.end()
+      }, 100)
+    })
+
+    for (var i = 0; i < writeCount; i ++) {
+      var a = new Buffer(writeSize);
+      for (var j = 0; j < writeSize; j ++) a[j] = "a".charCodeAt(0)
+      var b = new Buffer(writeSize);
+      for (var j = 0; j < writeSize; j ++) b[j] = "b".charCodeAt(0)
+      f.write(a)
+      f.write(b)
+    }
+    f.end()
+  })
+}) }) })

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a9a83675/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/block-stream/bench/block-stream.js
----------------------------------------------------------------------
diff --git a/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/block-stream/bench/block-stream.js b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/block-stream/bench/block-stream.js
new file mode 100644
index 0000000..1141f3a
--- /dev/null
+++ b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/block-stream/bench/block-stream.js
@@ -0,0 +1,68 @@
+var BlockStream = require("../block-stream.js")
+
+var blockSizes = [16, 25, 1024]
+  , writeSizes = [4, 8, 15, 16, 17, 64, 100]
+  , writeCounts = [1, 10, 100]
+  , tap = require("tap")
+
+writeCounts.forEach(function (writeCount) {
+blockSizes.forEach(function (blockSize) {
+writeSizes.forEach(function (writeSize) {
+  tap.test("writeSize=" + writeSize +
+           " blockSize="+blockSize +
+           " writeCount="+writeCount, function (t) {
+    var f = new BlockStream(blockSize, {nopad: true })
+
+    var actualChunks = 0
+    var actualBytes = 0
+    var timeouts = 0
+
+    f.on("data", function (c) {
+      timeouts ++
+
+      actualChunks ++
+      actualBytes += c.length
+
+      // make sure that no data gets corrupted, and basic sanity
+      var before = c.toString()
+      // simulate a slow write operation
+      setTimeout(function () {
+        timeouts --
+
+        var after = c.toString()
+        t.equal(after, before, "should not change data")
+
+        // now corrupt it, to find leaks.
+        for (var i = 0; i < c.length; i ++) {
+          c[i] = "x".charCodeAt(0)
+        }
+      }, 100)
+    })
+
+    f.on("end", function () {
+      // round up to the nearest block size
+      var expectChunks = Math.ceil(writeSize * writeCount  * 2 / blockSize)
+      var expectBytes = writeSize * writeCount * 2
+      t.equal(actualBytes, expectBytes,
+              "bytes=" + expectBytes + " writeSize=" + writeSize)
+      t.equal(actualChunks, expectChunks,
+              "chunks=" + expectChunks + " writeSize=" + writeSize)
+
+      // wait for all the timeout checks to finish, then end the test
+      setTimeout(function WAIT () {
+        if (timeouts > 0) return setTimeout(WAIT)
+        t.end()
+      }, 100)
+    })
+
+    for (var i = 0; i < writeCount; i ++) {
+      var a = new Buffer(writeSize);
+      for (var j = 0; j < writeSize; j ++) a[j] = "a".charCodeAt(0)
+      var b = new Buffer(writeSize);
+      for (var j = 0; j < writeSize; j ++) b[j] = "b".charCodeAt(0)
+      f.write(a)
+      f.write(b)
+    }
+    f.end()
+  })
+}) }) })

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a9a83675/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/block-stream/bench/dropper-pause.js
----------------------------------------------------------------------
diff --git a/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/block-stream/bench/dropper-pause.js b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/block-stream/bench/dropper-pause.js
new file mode 100644
index 0000000..93e4068
--- /dev/null
+++ b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/block-stream/bench/dropper-pause.js
@@ -0,0 +1,70 @@
+var BlockStream = require("dropper")
+
+var blockSizes = [16, 25, 1024]
+  , writeSizes = [4, 8, 15, 16, 17, 64, 100]
+  , writeCounts = [1, 10, 100]
+  , tap = require("tap")
+
+writeCounts.forEach(function (writeCount) {
+blockSizes.forEach(function (blockSize) {
+writeSizes.forEach(function (writeSize) {
+  tap.test("writeSize=" + writeSize +
+           " blockSize="+blockSize +
+           " writeCount="+writeCount, function (t) {
+    var f = new BlockStream(blockSize, {nopad: true })
+
+    var actualChunks = 0
+    var actualBytes = 0
+    var timeouts = 0
+
+    f.on("data", function (c) {
+      timeouts ++
+
+      actualChunks ++
+      actualBytes += c.length
+
+      // make sure that no data gets corrupted, and basic sanity
+      var before = c.toString()
+      // simulate a slow write operation
+      f.pause()
+      setTimeout(function () {
+        timeouts --
+
+        var after = c.toString()
+        t.equal(after, before, "should not change data")
+
+        // now corrupt it, to find leaks.
+        for (var i = 0; i < c.length; i ++) {
+          c[i] = "x".charCodeAt(0)
+        }
+        f.resume()
+      }, 100)
+    })
+
+    f.on("end", function () {
+      // round up to the nearest block size
+      var expectChunks = Math.ceil(writeSize * writeCount  * 2 / blockSize)
+      var expectBytes = writeSize * writeCount * 2
+      t.equal(actualBytes, expectBytes,
+              "bytes=" + expectBytes + " writeSize=" + writeSize)
+      t.equal(actualChunks, expectChunks,
+              "chunks=" + expectChunks + " writeSize=" + writeSize)
+
+      // wait for all the timeout checks to finish, then end the test
+      setTimeout(function WAIT () {
+        if (timeouts > 0) return setTimeout(WAIT)
+        t.end()
+      }, 100)
+    })
+
+    for (var i = 0; i < writeCount; i ++) {
+      var a = new Buffer(writeSize);
+      for (var j = 0; j < writeSize; j ++) a[j] = "a".charCodeAt(0)
+      var b = new Buffer(writeSize);
+      for (var j = 0; j < writeSize; j ++) b[j] = "b".charCodeAt(0)
+      f.write(a)
+      f.write(b)
+    }
+    f.end()
+  })
+}) }) })

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a9a83675/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/block-stream/bench/dropper.js
----------------------------------------------------------------------
diff --git a/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/block-stream/bench/dropper.js b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/block-stream/bench/dropper.js
new file mode 100644
index 0000000..55fa133
--- /dev/null
+++ b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/block-stream/bench/dropper.js
@@ -0,0 +1,68 @@
+var BlockStream = require("dropper")
+
+var blockSizes = [16, 25, 1024]
+  , writeSizes = [4, 8, 15, 16, 17, 64, 100]
+  , writeCounts = [1, 10, 100]
+  , tap = require("tap")
+
+writeCounts.forEach(function (writeCount) {
+blockSizes.forEach(function (blockSize) {
+writeSizes.forEach(function (writeSize) {
+  tap.test("writeSize=" + writeSize +
+           " blockSize="+blockSize +
+           " writeCount="+writeCount, function (t) {
+    var f = new BlockStream(blockSize, {nopad: true })
+
+    var actualChunks = 0
+    var actualBytes = 0
+    var timeouts = 0
+
+    f.on("data", function (c) {
+      timeouts ++
+
+      actualChunks ++
+      actualBytes += c.length
+
+      // make sure that no data gets corrupted, and basic sanity
+      var before = c.toString()
+      // simulate a slow write operation
+      setTimeout(function () {
+        timeouts --
+
+        var after = c.toString()
+        t.equal(after, before, "should not change data")
+
+        // now corrupt it, to find leaks.
+        for (var i = 0; i < c.length; i ++) {
+          c[i] = "x".charCodeAt(0)
+        }
+      }, 100)
+    })
+
+    f.on("end", function () {
+      // round up to the nearest block size
+      var expectChunks = Math.ceil(writeSize * writeCount  * 2 / blockSize)
+      var expectBytes = writeSize * writeCount * 2
+      t.equal(actualBytes, expectBytes,
+              "bytes=" + expectBytes + " writeSize=" + writeSize)
+      t.equal(actualChunks, expectChunks,
+              "chunks=" + expectChunks + " writeSize=" + writeSize)
+
+      // wait for all the timeout checks to finish, then end the test
+      setTimeout(function WAIT () {
+        if (timeouts > 0) return setTimeout(WAIT)
+        t.end()
+      }, 100)
+    })
+
+    for (var i = 0; i < writeCount; i ++) {
+      var a = new Buffer(writeSize);
+      for (var j = 0; j < writeSize; j ++) a[j] = "a".charCodeAt(0)
+      var b = new Buffer(writeSize);
+      for (var j = 0; j < writeSize; j ++) b[j] = "b".charCodeAt(0)
+      f.write(a)
+      f.write(b)
+    }
+    f.end()
+  })
+}) }) })

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a9a83675/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/block-stream/block-stream.js
----------------------------------------------------------------------
diff --git a/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/block-stream/block-stream.js b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/block-stream/block-stream.js
new file mode 100644
index 0000000..008de03
--- /dev/null
+++ b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/block-stream/block-stream.js
@@ -0,0 +1,209 @@
+// write data to it, and it'll emit data in 512 byte blocks.
+// if you .end() or .flush(), it'll emit whatever it's got,
+// padded with nulls to 512 bytes.
+
+module.exports = BlockStream
+
+var Stream = require("stream").Stream
+  , inherits = require("inherits")
+  , assert = require("assert").ok
+  , debug = process.env.DEBUG ? console.error : function () {}
+
+function BlockStream (size, opt) {
+  this.writable = this.readable = true
+  this._opt = opt || {}
+  this._chunkSize = size || 512
+  this._offset = 0
+  this._buffer = []
+  this._bufferLength = 0
+  if (this._opt.nopad) this._zeroes = false
+  else {
+    this._zeroes = new Buffer(this._chunkSize)
+    for (var i = 0; i < this._chunkSize; i ++) {
+      this._zeroes[i] = 0
+    }
+  }
+}
+
+inherits(BlockStream, Stream)
+
+BlockStream.prototype.write = function (c) {
+  // debug("   BS write", c)
+  if (this._ended) throw new Error("BlockStream: write after end")
+  if (c && !Buffer.isBuffer(c)) c = new Buffer(c + "")
+  if (c.length) {
+    this._buffer.push(c)
+    this._bufferLength += c.length
+  }
+  // debug("pushed onto buffer", this._bufferLength)
+  if (this._bufferLength >= this._chunkSize) {
+    if (this._paused) {
+      // debug("   BS paused, return false, need drain")
+      this._needDrain = true
+      return false
+    }
+    this._emitChunk()
+  }
+  return true
+}
+
+BlockStream.prototype.pause = function () {
+  // debug("   BS pausing")
+  this._paused = true
+}
+
+BlockStream.prototype.resume = function () {
+  // debug("   BS resume")
+  this._paused = false
+  return this._emitChunk()
+}
+
+BlockStream.prototype.end = function (chunk) {
+  // debug("end", chunk)
+  if (typeof chunk === "function") cb = chunk, chunk = null
+  if (chunk) this.write(chunk)
+  this._ended = true
+  this.flush()
+}
+
+BlockStream.prototype.flush = function () {
+  this._emitChunk(true)
+}
+
+BlockStream.prototype._emitChunk = function (flush) {
+  // debug("emitChunk flush=%j emitting=%j paused=%j", flush, this._emitting, this._paused)
+
+  // emit a <chunkSize> chunk
+  if (flush && this._zeroes) {
+    // debug("    BS push zeroes", this._bufferLength)
+    // push a chunk of zeroes
+    var padBytes = (this._bufferLength % this._chunkSize)
+    if (padBytes !== 0) padBytes = this._chunkSize - padBytes
+    if (padBytes > 0) {
+      // debug("padBytes", padBytes, this._zeroes.slice(0, padBytes))
+      this._buffer.push(this._zeroes.slice(0, padBytes))
+      this._bufferLength += padBytes
+      // debug(this._buffer[this._buffer.length - 1].length, this._bufferLength)
+    }
+  }
+
+  if (this._emitting || this._paused) return
+  this._emitting = true
+
+  // debug("    BS entering loops")
+  var bufferIndex = 0
+  while (this._bufferLength >= this._chunkSize &&
+         (flush || !this._paused)) {
+    // debug("     BS data emission loop", this._bufferLength)
+
+    var out
+      , outOffset = 0
+      , outHas = this._chunkSize
+
+    while (outHas > 0 && (flush || !this._paused) ) {
+      // debug("    BS data inner emit loop", this._bufferLength)
+      var cur = this._buffer[bufferIndex]
+        , curHas = cur.length - this._offset
+      // debug("cur=", cur)
+      // debug("curHas=%j", curHas)
+      // If it's not big enough to fill the whole thing, then we'll need
+      // to copy multiple buffers into one.  However, if it is big enough,
+      // then just slice out the part we want, to save unnecessary copying.
+      // Also, need to copy if we've already done some copying, since buffers
+      // can't be joined like cons strings.
+      if (out || curHas < outHas) {
+        out = out || new Buffer(this._chunkSize)
+        cur.copy(out, outOffset,
+                 this._offset, this._offset + Math.min(curHas, outHas))
+      } else if (cur.length === outHas && this._offset === 0) {
+        // shortcut -- cur is exactly long enough, and no offset.
+        out = cur
+      } else {
+        // slice out the piece of cur that we need.
+        out = cur.slice(this._offset, this._offset + outHas)
+      }
+
+      if (curHas > outHas) {
+        // means that the current buffer couldn't be completely output
+        // update this._offset to reflect how much WAS written
+        this._offset += outHas
+        outHas = 0
+      } else {
+        // output the entire current chunk.
+        // toss it away
+        outHas -= curHas
+        outOffset += curHas
+        bufferIndex ++
+        this._offset = 0
+      }
+    }
+
+    this._bufferLength -= this._chunkSize
+    assert(out.length === this._chunkSize)
+    // debug("emitting data", out)
+    // debug("   BS emitting, paused=%j", this._paused, this._bufferLength)
+    this.emit("data", out)
+    out = null
+  }
+  // debug("    BS out of loops", this._bufferLength)
+
+  // whatever is left, it's not enough to fill up a block, or we're paused
+  this._buffer = this._buffer.slice(bufferIndex)
+  if (this._paused) {
+    // debug("    BS paused, leaving", this._bufferLength)
+    this._needsDrain = true
+    this._emitting = false
+    return
+  }
+
+  // if flushing, and not using null-padding, then need to emit the last
+  // chunk(s) sitting in the queue.  We know that it's not enough to
+  // fill up a whole block, because otherwise it would have been emitted
+  // above, but there may be some offset.
+  var l = this._buffer.length
+  if (flush && !this._zeroes && l) {
+    if (l === 1) {
+      if (this._offset) {
+        this.emit("data", this._buffer[0].slice(this._offset))
+      } else {
+        this.emit("data", this._buffer[0])
+      }
+    } else {
+      var outHas = this._bufferLength
+        , out = new Buffer(outHas)
+        , outOffset = 0
+      for (var i = 0; i < l; i ++) {
+        var cur = this._buffer[i]
+          , curHas = cur.length - this._offset
+        cur.copy(out, outOffset, this._offset)
+        this._offset = 0
+        outOffset += curHas
+        this._bufferLength -= curHas
+      }
+      this.emit("data", out)
+    }
+    // truncate
+    this._buffer.length = 0
+    this._bufferLength = 0
+    this._offset = 0
+  }
+
+  // now either drained or ended
+  // debug("either draining, or ended", this._bufferLength, this._ended)
+  // means that we've flushed out all that we can so far.
+  if (this._needDrain) {
+    // debug("emitting drain", this._bufferLength)
+    this._needDrain = false
+    this.emit("drain")
+  }
+
+  if ((this._bufferLength === 0) && this._ended && !this._endEmitted) {
+    // debug("emitting end", this._bufferLength)
+    this._endEmitted = true
+    this.emit("end")
+  }
+
+  this._emitting = false
+
+  // debug("    BS no longer emitting", flush, this._paused, this._emitting, this._bufferLength, this._chunkSize)
+}

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a9a83675/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/block-stream/package.json
----------------------------------------------------------------------
diff --git a/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/block-stream/package.json b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/block-stream/package.json
new file mode 100644
index 0000000..ef01167
--- /dev/null
+++ b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/block-stream/package.json
@@ -0,0 +1,35 @@
+{
+  "author": {
+    "name": "Isaac Z. Schlueter",
+    "email": "i@izs.me",
+    "url": "http://blog.izs.me/"
+  },
+  "name": "block-stream",
+  "description": "a stream of blocks",
+  "version": "0.0.7",
+  "repository": {
+    "type": "git",
+    "url": "git://github.com/isaacs/block-stream.git"
+  },
+  "engines": {
+    "node": "0.4 || >=0.5.8"
+  },
+  "main": "block-stream.js",
+  "dependencies": {
+    "inherits": "~2.0.0"
+  },
+  "devDependencies": {
+    "tap": "0.x"
+  },
+  "scripts": {
+    "test": "tap test/"
+  },
+  "license": "BSD",
+  "readme": "# block-stream\n\nA stream of blocks.\n\nWrite data into it, and it'll output data in buffer blocks the size you\nspecify, padding with zeroes if necessary.\n\n```javascript\nvar block = new BlockStream(512)\nfs.createReadStream(\"some-file\").pipe(block)\nblock.pipe(fs.createWriteStream(\"block-file\"))\n```\n\nWhen `.end()` or `.flush()` is called, it'll pad the block with zeroes.\n",
+  "readmeFilename": "README.md",
+  "bugs": {
+    "url": "https://github.com/isaacs/block-stream/issues"
+  },
+  "_id": "block-stream@0.0.7",
+  "_from": "block-stream@latest"
+}

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a9a83675/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/block-stream/test/basic.js
----------------------------------------------------------------------
diff --git a/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/block-stream/test/basic.js b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/block-stream/test/basic.js
new file mode 100644
index 0000000..b4b9305
--- /dev/null
+++ b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/block-stream/test/basic.js
@@ -0,0 +1,27 @@
+var tap = require("tap")
+  , BlockStream = require("../block-stream.js")
+
+tap.test("basic test", function (t) {
+  var b = new BlockStream(16)
+  var fs = require("fs")
+  var fstr = fs.createReadStream(__filename, {encoding: "utf8"})
+  fstr.pipe(b)
+
+  var stat
+  t.doesNotThrow(function () {
+    stat = fs.statSync(__filename)
+  }, "stat should not throw")
+
+  var totalBytes = 0
+  b.on("data", function (c) {
+    t.equal(c.length, 16, "chunks should be 16 bytes long")
+    t.type(c, Buffer, "chunks should be buffer objects")
+    totalBytes += c.length
+  })
+  b.on("end", function () {
+    var expectedBytes = stat.size + (16 - stat.size % 16)
+    t.equal(totalBytes, expectedBytes, "Should be multiple of 16")
+    t.end()
+  })
+
+})

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a9a83675/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/block-stream/test/nopad-thorough.js
----------------------------------------------------------------------
diff --git a/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/block-stream/test/nopad-thorough.js b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/block-stream/test/nopad-thorough.js
new file mode 100644
index 0000000..7a8de88
--- /dev/null
+++ b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/block-stream/test/nopad-thorough.js
@@ -0,0 +1,68 @@
+var BlockStream = require("../block-stream.js")
+
+var blockSizes = [16]//, 25]//, 1024]
+  , writeSizes = [4, 15, 16, 17, 64 ]//, 64, 100]
+  , writeCounts = [1, 10]//, 100]
+  , tap = require("tap")
+
+writeCounts.forEach(function (writeCount) {
+blockSizes.forEach(function (blockSize) {
+writeSizes.forEach(function (writeSize) {
+  tap.test("writeSize=" + writeSize +
+           " blockSize="+blockSize +
+           " writeCount="+writeCount, function (t) {
+    var f = new BlockStream(blockSize, {nopad: true })
+
+    var actualChunks = 0
+    var actualBytes = 0
+    var timeouts = 0
+
+    f.on("data", function (c) {
+      timeouts ++
+
+      actualChunks ++
+      actualBytes += c.length
+
+      // make sure that no data gets corrupted, and basic sanity
+      var before = c.toString()
+      // simulate a slow write operation
+      setTimeout(function () {
+        timeouts --
+
+        var after = c.toString()
+        t.equal(after, before, "should not change data")
+
+        // now corrupt it, to find leaks.
+        for (var i = 0; i < c.length; i ++) {
+          c[i] = "x".charCodeAt(0)
+        }
+      }, 100)
+    })
+
+    f.on("end", function () {
+      // round up to the nearest block size
+      var expectChunks = Math.ceil(writeSize * writeCount  * 2 / blockSize)
+      var expectBytes = writeSize * writeCount * 2
+      t.equal(actualBytes, expectBytes,
+              "bytes=" + expectBytes + " writeSize=" + writeSize)
+      t.equal(actualChunks, expectChunks,
+              "chunks=" + expectChunks + " writeSize=" + writeSize)
+
+      // wait for all the timeout checks to finish, then end the test
+      setTimeout(function WAIT () {
+        if (timeouts > 0) return setTimeout(WAIT)
+        t.end()
+      }, 100)
+    })
+
+    for (var i = 0; i < writeCount; i ++) {
+      var a = new Buffer(writeSize);
+      for (var j = 0; j < writeSize; j ++) a[j] = "a".charCodeAt(0)
+      var b = new Buffer(writeSize);
+      for (var j = 0; j < writeSize; j ++) b[j] = "b".charCodeAt(0)
+      f.write(a)
+      f.write(b)
+    }
+    f.end()
+  })
+}) }) })

http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a9a83675/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/block-stream/test/nopad.js
----------------------------------------------------------------------
diff --git a/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/block-stream/test/nopad.js b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/block-stream/test/nopad.js
new file mode 100644
index 0000000..6d38429
--- /dev/null
+++ b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/node_modules/block-stream/test/nopad.js
@@ -0,0 +1,57 @@
+var BlockStream = require("../")
+var tap = require("tap")
+
+
+tap.test("don't pad, small writes", function (t) {
+  var f = new BlockStream(16, { nopad: true })
+  t.plan(1)
+
+  f.on("data", function (c) {
+    t.equal(c.toString(), "abc", "should get 'abc'")
+  })
+
+  f.on("end", function () { t.end() })
+
+  f.write(new Buffer("a"))
+  f.write(new Buffer("b"))
+  f.write(new Buffer("c"))
+  f.end()
+})
+
+tap.test("don't pad, exact write", function (t) {
+  var f = new BlockStream(16, { nopad: true })
+  t.plan(1)
+
+  var first = true
+  f.on("data", function (c) {
+    if (first) {
+      first = false
+      t.equal(c.toString(), "abcdefghijklmnop", "first chunk")
+    } else {
+      t.fail("should only get one")
+    }
+  })
+
+  f.on("end", function () { t.end() })
+
+  f.end(new Buffer("abcdefghijklmnop"))
+})
+
+tap.test("don't pad, big write", function (t) {
+  var f = new BlockStream(16, { nopad: true })
+  t.plan(2)
+
+  var first = true
+  f.on("data", function (c) {
+    if (first) {
+      first = false
+      t.equal(c.toString(), "abcdefghijklmnop", "first chunk")
+    } else {
+      t.equal(c.toString(), "q")
+    }
+  })
+
+  f.on("end", function () { t.end() })
+
+  f.end(new Buffer("abcdefghijklmnopq"))
+})