| 1234567891011121314151617181920212223242526272829303132333435363738394041 | 
							- /*
 
-  * exit
 
-  * https://github.com/cowboy/node-exit
 
-  *
 
-  * Copyright (c) 2013 "Cowboy" Ben Alman
 
-  * Licensed under the MIT license.
 
-  */
 
- 'use strict';
 
- module.exports = function exit(exitCode, streams) {
 
-   if (!streams) { streams = [process.stdout, process.stderr]; }
 
-   var drainCount = 0;
 
-   // Actually exit if all streams are drained.
 
-   function tryToExit() {
 
-     if (drainCount === streams.length) {
 
-       process.exit(exitCode);
 
-     }
 
-   }
 
-   streams.forEach(function(stream) {
 
-     // Count drained streams now, but monitor non-drained streams.
 
-     if (stream.bufferSize === 0) {
 
-       drainCount++;
 
-     } else {
 
-       stream.write('', 'utf-8', function() {
 
-         drainCount++;
 
-         tryToExit();
 
-       });
 
-     }
 
-     // Prevent further writing.
 
-     stream.write = function() {};
 
-   });
 
-   // If all streams were already drained, exit now.
 
-   tryToExit();
 
-   // In Windows, when run as a Node.js child process, a script utilizing
 
-   // this library might just exit with a 0 exit code, regardless. This code,
 
-   // despite the fact that it looks a bit crazy, appears to fix that.
 
-   process.on('exit', function() {
 
-     process.exit(exitCode);
 
-   });
 
- };
 
 
  |