/* automatically generated by JSCoverage - do not edit */
if (typeof _$jscoverage === 'undefined') _$jscoverage = {};
if (! _$jscoverage['coffee-script/command.js']) {
  _$jscoverage['coffee-script/command.js'] = [];
  _$jscoverage['coffee-script/command.js'][2] = 0;
  _$jscoverage['coffee-script/command.js'][3] = 0;
  _$jscoverage['coffee-script/command.js'][5] = 0;
  _$jscoverage['coffee-script/command.js'][7] = 0;
  _$jscoverage['coffee-script/command.js'][9] = 0;
  _$jscoverage['coffee-script/command.js'][11] = 0;
  _$jscoverage['coffee-script/command.js'][13] = 0;
  _$jscoverage['coffee-script/command.js'][15] = 0;
  _$jscoverage['coffee-script/command.js'][17] = 0;
  _$jscoverage['coffee-script/command.js'][19] = 0;
  _$jscoverage['coffee-script/command.js'][21] = 0;
  _$jscoverage['coffee-script/command.js'][23] = 0;
  _$jscoverage['coffee-script/command.js'][24] = 0;
  _$jscoverage['coffee-script/command.js'][27] = 0;
  _$jscoverage['coffee-script/command.js'][28] = 0;
  _$jscoverage['coffee-script/command.js'][31] = 0;
  _$jscoverage['coffee-script/command.js'][32] = 0;
  _$jscoverage['coffee-script/command.js'][35] = 0;
  _$jscoverage['coffee-script/command.js'][37] = 0;
  _$jscoverage['coffee-script/command.js'][39] = 0;
  _$jscoverage['coffee-script/command.js'][41] = 0;
  _$jscoverage['coffee-script/command.js'][43] = 0;
  _$jscoverage['coffee-script/command.js'][45] = 0;
  _$jscoverage['coffee-script/command.js'][47] = 0;
  _$jscoverage['coffee-script/command.js'][49] = 0;
  _$jscoverage['coffee-script/command.js'][51] = 0;
  _$jscoverage['coffee-script/command.js'][52] = 0;
  _$jscoverage['coffee-script/command.js'][53] = 0;
  _$jscoverage['coffee-script/command.js'][54] = 0;
  _$jscoverage['coffee-script/command.js'][55] = 0;
  _$jscoverage['coffee-script/command.js'][57] = 0;
  _$jscoverage['coffee-script/command.js'][58] = 0;
  _$jscoverage['coffee-script/command.js'][60] = 0;
  _$jscoverage['coffee-script/command.js'][61] = 0;
  _$jscoverage['coffee-script/command.js'][63] = 0;
  _$jscoverage['coffee-script/command.js'][64] = 0;
  _$jscoverage['coffee-script/command.js'][66] = 0;
  _$jscoverage['coffee-script/command.js'][67] = 0;
  _$jscoverage['coffee-script/command.js'][69] = 0;
  _$jscoverage['coffee-script/command.js'][70] = 0;
  _$jscoverage['coffee-script/command.js'][72] = 0;
  _$jscoverage['coffee-script/command.js'][73] = 0;
  _$jscoverage['coffee-script/command.js'][75] = 0;
  _$jscoverage['coffee-script/command.js'][76] = 0;
  _$jscoverage['coffee-script/command.js'][78] = 0;
  _$jscoverage['coffee-script/command.js'][79] = 0;
  _$jscoverage['coffee-script/command.js'][81] = 0;
  _$jscoverage['coffee-script/command.js'][82] = 0;
  _$jscoverage['coffee-script/command.js'][83] = 0;
  _$jscoverage['coffee-script/command.js'][84] = 0;
  _$jscoverage['coffee-script/command.js'][85] = 0;
  _$jscoverage['coffee-script/command.js'][86] = 0;
  _$jscoverage['coffee-script/command.js'][87] = 0;
  _$jscoverage['coffee-script/command.js'][88] = 0;
  _$jscoverage['coffee-script/command.js'][90] = 0;
  _$jscoverage['coffee-script/command.js'][93] = 0;
  _$jscoverage['coffee-script/command.js'][94] = 0;
  _$jscoverage['coffee-script/command.js'][95] = 0;
  _$jscoverage['coffee-script/command.js'][96] = 0;
  _$jscoverage['coffee-script/command.js'][98] = 0;
  _$jscoverage['coffee-script/command.js'][99] = 0;
  _$jscoverage['coffee-script/command.js'][100] = 0;
  _$jscoverage['coffee-script/command.js'][101] = 0;
  _$jscoverage['coffee-script/command.js'][103] = 0;
  _$jscoverage['coffee-script/command.js'][104] = 0;
  _$jscoverage['coffee-script/command.js'][105] = 0;
  _$jscoverage['coffee-script/command.js'][107] = 0;
  _$jscoverage['coffee-script/command.js'][109] = 0;
  _$jscoverage['coffee-script/command.js'][110] = 0;
  _$jscoverage['coffee-script/command.js'][111] = 0;
  _$jscoverage['coffee-script/command.js'][113] = 0;
  _$jscoverage['coffee-script/command.js'][114] = 0;
  _$jscoverage['coffee-script/command.js'][115] = 0;
  _$jscoverage['coffee-script/command.js'][116] = 0;
  _$jscoverage['coffee-script/command.js'][118] = 0;
  _$jscoverage['coffee-script/command.js'][119] = 0;
  _$jscoverage['coffee-script/command.js'][121] = 0;
  _$jscoverage['coffee-script/command.js'][122] = 0;
  _$jscoverage['coffee-script/command.js'][123] = 0;
  _$jscoverage['coffee-script/command.js'][125] = 0;
  _$jscoverage['coffee-script/command.js'][126] = 0;
  _$jscoverage['coffee-script/command.js'][127] = 0;
  _$jscoverage['coffee-script/command.js'][128] = 0;
  _$jscoverage['coffee-script/command.js'][129] = 0;
  _$jscoverage['coffee-script/command.js'][130] = 0;
  _$jscoverage['coffee-script/command.js'][132] = 0;
  _$jscoverage['coffee-script/command.js'][134] = 0;
  _$jscoverage['coffee-script/command.js'][135] = 0;
  _$jscoverage['coffee-script/command.js'][137] = 0;
  _$jscoverage['coffee-script/command.js'][138] = 0;
  _$jscoverage['coffee-script/command.js'][141] = 0;
  _$jscoverage['coffee-script/command.js'][142] = 0;
  _$jscoverage['coffee-script/command.js'][143] = 0;
  _$jscoverage['coffee-script/command.js'][145] = 0;
  _$jscoverage['coffee-script/command.js'][146] = 0;
  _$jscoverage['coffee-script/command.js'][147] = 0;
  _$jscoverage['coffee-script/command.js'][149] = 0;
  _$jscoverage['coffee-script/command.js'][150] = 0;
  _$jscoverage['coffee-script/command.js'][152] = 0;
  _$jscoverage['coffee-script/command.js'][155] = 0;
  _$jscoverage['coffee-script/command.js'][156] = 0;
  _$jscoverage['coffee-script/command.js'][161] = 0;
  _$jscoverage['coffee-script/command.js'][162] = 0;
  _$jscoverage['coffee-script/command.js'][163] = 0;
  _$jscoverage['coffee-script/command.js'][164] = 0;
  _$jscoverage['coffee-script/command.js'][165] = 0;
  _$jscoverage['coffee-script/command.js'][166] = 0;
  _$jscoverage['coffee-script/command.js'][171] = 0;
  _$jscoverage['coffee-script/command.js'][172] = 0;
  _$jscoverage['coffee-script/command.js'][173] = 0;
  _$jscoverage['coffee-script/command.js'][174] = 0;
  _$jscoverage['coffee-script/command.js'][175] = 0;
  _$jscoverage['coffee-script/command.js'][176] = 0;
  _$jscoverage['coffee-script/command.js'][177] = 0;
  _$jscoverage['coffee-script/command.js'][178] = 0;
  _$jscoverage['coffee-script/command.js'][179] = 0;
  _$jscoverage['coffee-script/command.js'][180] = 0;
  _$jscoverage['coffee-script/command.js'][182] = 0;
  _$jscoverage['coffee-script/command.js'][183] = 0;
  _$jscoverage['coffee-script/command.js'][184] = 0;
  _$jscoverage['coffee-script/command.js'][185] = 0;
  _$jscoverage['coffee-script/command.js'][186] = 0;
  _$jscoverage['coffee-script/command.js'][187] = 0;
  _$jscoverage['coffee-script/command.js'][188] = 0;
  _$jscoverage['coffee-script/command.js'][189] = 0;
  _$jscoverage['coffee-script/command.js'][193] = 0;
  _$jscoverage['coffee-script/command.js'][194] = 0;
  _$jscoverage['coffee-script/command.js'][195] = 0;
  _$jscoverage['coffee-script/command.js'][197] = 0;
  _$jscoverage['coffee-script/command.js'][198] = 0;
  _$jscoverage['coffee-script/command.js'][200] = 0;
  _$jscoverage['coffee-script/command.js'][201] = 0;
  _$jscoverage['coffee-script/command.js'][205] = 0;
  _$jscoverage['coffee-script/command.js'][206] = 0;
  _$jscoverage['coffee-script/command.js'][207] = 0;
  _$jscoverage['coffee-script/command.js'][208] = 0;
  _$jscoverage['coffee-script/command.js'][209] = 0;
  _$jscoverage['coffee-script/command.js'][210] = 0;
  _$jscoverage['coffee-script/command.js'][211] = 0;
  _$jscoverage['coffee-script/command.js'][214] = 0;
  _$jscoverage['coffee-script/command.js'][215] = 0;
  _$jscoverage['coffee-script/command.js'][219] = 0;
  _$jscoverage['coffee-script/command.js'][221] = 0;
  _$jscoverage['coffee-script/command.js'][222] = 0;
  _$jscoverage['coffee-script/command.js'][223] = 0;
  _$jscoverage['coffee-script/command.js'][225] = 0;
  _$jscoverage['coffee-script/command.js'][226] = 0;
  _$jscoverage['coffee-script/command.js'][228] = 0;
  _$jscoverage['coffee-script/command.js'][229] = 0;
  _$jscoverage['coffee-script/command.js'][230] = 0;
  _$jscoverage['coffee-script/command.js'][235] = 0;
  _$jscoverage['coffee-script/command.js'][236] = 0;
  _$jscoverage['coffee-script/command.js'][237] = 0;
  _$jscoverage['coffee-script/command.js'][238] = 0;
  _$jscoverage['coffee-script/command.js'][239] = 0;
  _$jscoverage['coffee-script/command.js'][240] = 0;
  _$jscoverage['coffee-script/command.js'][241] = 0;
  _$jscoverage['coffee-script/command.js'][242] = 0;
  _$jscoverage['coffee-script/command.js'][244] = 0;
  _$jscoverage['coffee-script/command.js'][247] = 0;
  _$jscoverage['coffee-script/command.js'][248] = 0;
  _$jscoverage['coffee-script/command.js'][249] = 0;
  _$jscoverage['coffee-script/command.js'][250] = 0;
  _$jscoverage['coffee-script/command.js'][251] = 0;
  _$jscoverage['coffee-script/command.js'][252] = 0;
  _$jscoverage['coffee-script/command.js'][253] = 0;
  _$jscoverage['coffee-script/command.js'][254] = 0;
  _$jscoverage['coffee-script/command.js'][256] = 0;
  _$jscoverage['coffee-script/command.js'][257] = 0;
  _$jscoverage['coffee-script/command.js'][258] = 0;
  _$jscoverage['coffee-script/command.js'][260] = 0;
  _$jscoverage['coffee-script/command.js'][261] = 0;
  _$jscoverage['coffee-script/command.js'][264] = 0;
  _$jscoverage['coffee-script/command.js'][267] = 0;
  _$jscoverage['coffee-script/command.js'][268] = 0;
  _$jscoverage['coffee-script/command.js'][269] = 0;
  _$jscoverage['coffee-script/command.js'][270] = 0;
  _$jscoverage['coffee-script/command.js'][271] = 0;
  _$jscoverage['coffee-script/command.js'][272] = 0;
  _$jscoverage['coffee-script/command.js'][274] = 0;
  _$jscoverage['coffee-script/command.js'][275] = 0;
  _$jscoverage['coffee-script/command.js'][277] = 0;
  _$jscoverage['coffee-script/command.js'][278] = 0;
  _$jscoverage['coffee-script/command.js'][279] = 0;
  _$jscoverage['coffee-script/command.js'][280] = 0;
  _$jscoverage['coffee-script/command.js'][282] = 0;
  _$jscoverage['coffee-script/command.js'][283] = 0;
  _$jscoverage['coffee-script/command.js'][288] = 0;
  _$jscoverage['coffee-script/command.js'][289] = 0;
  _$jscoverage['coffee-script/command.js'][291] = 0;
  _$jscoverage['coffee-script/command.js'][293] = 0;
  _$jscoverage['coffee-script/command.js'][294] = 0;
  _$jscoverage['coffee-script/command.js'][295] = 0;
  _$jscoverage['coffee-script/command.js'][297] = 0;
  _$jscoverage['coffee-script/command.js'][301] = 0;
  _$jscoverage['coffee-script/command.js'][302] = 0;
  _$jscoverage['coffee-script/command.js'][303] = 0;
  _$jscoverage['coffee-script/command.js'][304] = 0;
  _$jscoverage['coffee-script/command.js'][305] = 0;
  _$jscoverage['coffee-script/command.js'][306] = 0;
  _$jscoverage['coffee-script/command.js'][307] = 0;
  _$jscoverage['coffee-script/command.js'][308] = 0;
  _$jscoverage['coffee-script/command.js'][309] = 0;
  _$jscoverage['coffee-script/command.js'][310] = 0;
  _$jscoverage['coffee-script/command.js'][311] = 0;
  _$jscoverage['coffee-script/command.js'][312] = 0;
  _$jscoverage['coffee-script/command.js'][314] = 0;
  _$jscoverage['coffee-script/command.js'][315] = 0;
  _$jscoverage['coffee-script/command.js'][317] = 0;
  _$jscoverage['coffee-script/command.js'][318] = 0;
  _$jscoverage['coffee-script/command.js'][319] = 0;
  _$jscoverage['coffee-script/command.js'][320] = 0;
  _$jscoverage['coffee-script/command.js'][321] = 0;
  _$jscoverage['coffee-script/command.js'][323] = 0;
  _$jscoverage['coffee-script/command.js'][324] = 0;
  _$jscoverage['coffee-script/command.js'][325] = 0;
  _$jscoverage['coffee-script/command.js'][327] = 0;
  _$jscoverage['coffee-script/command.js'][329] = 0;
  _$jscoverage['coffee-script/command.js'][330] = 0;
  _$jscoverage['coffee-script/command.js'][331] = 0;
  _$jscoverage['coffee-script/command.js'][333] = 0;
  _$jscoverage['coffee-script/command.js'][338] = 0;
  _$jscoverage['coffee-script/command.js'][339] = 0;
  _$jscoverage['coffee-script/command.js'][344] = 0;
  _$jscoverage['coffee-script/command.js'][345] = 0;
  _$jscoverage['coffee-script/command.js'][346] = 0;
  _$jscoverage['coffee-script/command.js'][347] = 0;
  _$jscoverage['coffee-script/command.js'][348] = 0;
  _$jscoverage['coffee-script/command.js'][349] = 0;
  _$jscoverage['coffee-script/command.js'][350] = 0;
  _$jscoverage['coffee-script/command.js'][351] = 0;
  _$jscoverage['coffee-script/command.js'][352] = 0;
  _$jscoverage['coffee-script/command.js'][353] = 0;
  _$jscoverage['coffee-script/command.js'][356] = 0;
  _$jscoverage['coffee-script/command.js'][358] = 0;
  _$jscoverage['coffee-script/command.js'][359] = 0;
  _$jscoverage['coffee-script/command.js'][360] = 0;
  _$jscoverage['coffee-script/command.js'][362] = 0;
  _$jscoverage['coffee-script/command.js'][363] = 0;
  _$jscoverage['coffee-script/command.js'][365] = 0;
  _$jscoverage['coffee-script/command.js'][367] = 0;
  _$jscoverage['coffee-script/command.js'][370] = 0;
  _$jscoverage['coffee-script/command.js'][371] = 0;
  _$jscoverage['coffee-script/command.js'][372] = 0;
  _$jscoverage['coffee-script/command.js'][373] = 0;
  _$jscoverage['coffee-script/command.js'][374] = 0;
  _$jscoverage['coffee-script/command.js'][375] = 0;
  _$jscoverage['coffee-script/command.js'][376] = 0;
  _$jscoverage['coffee-script/command.js'][377] = 0;
  _$jscoverage['coffee-script/command.js'][378] = 0;
  _$jscoverage['coffee-script/command.js'][379] = 0;
  _$jscoverage['coffee-script/command.js'][380] = 0;
  _$jscoverage['coffee-script/command.js'][381] = 0;
  _$jscoverage['coffee-script/command.js'][383] = 0;
  _$jscoverage['coffee-script/command.js'][390] = 0;
  _$jscoverage['coffee-script/command.js'][391] = 0;
  _$jscoverage['coffee-script/command.js'][392] = 0;
  _$jscoverage['coffee-script/command.js'][393] = 0;
  _$jscoverage['coffee-script/command.js'][394] = 0;
  _$jscoverage['coffee-script/command.js'][395] = 0;
  _$jscoverage['coffee-script/command.js'][396] = 0;
  _$jscoverage['coffee-script/command.js'][399] = 0;
  _$jscoverage['coffee-script/command.js'][400] = 0;
  _$jscoverage['coffee-script/command.js'][401] = 0;
  _$jscoverage['coffee-script/command.js'][402] = 0;
  _$jscoverage['coffee-script/command.js'][403] = 0;
  _$jscoverage['coffee-script/command.js'][404] = 0;
  _$jscoverage['coffee-script/command.js'][405] = 0;
  _$jscoverage['coffee-script/command.js'][407] = 0;
  _$jscoverage['coffee-script/command.js'][408] = 0;
  _$jscoverage['coffee-script/command.js'][409] = 0;
  _$jscoverage['coffee-script/command.js'][410] = 0;
  _$jscoverage['coffee-script/command.js'][411] = 0;
  _$jscoverage['coffee-script/command.js'][415] = 0;
  _$jscoverage['coffee-script/command.js'][416] = 0;
  _$jscoverage['coffee-script/command.js'][417] = 0;
  _$jscoverage['coffee-script/command.js'][419] = 0;
  _$jscoverage['coffee-script/command.js'][424] = 0;
  _$jscoverage['coffee-script/command.js'][425] = 0;
  _$jscoverage['coffee-script/command.js'][428] = 0;
  _$jscoverage['coffee-script/command.js'][429] = 0;
  _$jscoverage['coffee-script/command.js'][432] = 0;
  _$jscoverage['coffee-script/command.js'][433] = 0;
  _$jscoverage['coffee-script/command.js'][434] = 0;
  _$jscoverage['coffee-script/command.js'][435] = 0;
  _$jscoverage['coffee-script/command.js'][437] = 0;
  _$jscoverage['coffee-script/command.js'][438] = 0;
  _$jscoverage['coffee-script/command.js'][439] = 0;
  _$jscoverage['coffee-script/command.js'][440] = 0;
  _$jscoverage['coffee-script/command.js'][441] = 0;
  _$jscoverage['coffee-script/command.js'][442] = 0;
  _$jscoverage['coffee-script/command.js'][445] = 0;
  _$jscoverage['coffee-script/command.js'][446] = 0;
  _$jscoverage['coffee-script/command.js'][447] = 0;
  _$jscoverage['coffee-script/command.js'][448] = 0;
  _$jscoverage['coffee-script/command.js'][449] = 0;
  _$jscoverage['coffee-script/command.js'][450] = 0;
  _$jscoverage['coffee-script/command.js'][451] = 0;
  _$jscoverage['coffee-script/command.js'][452] = 0;
  _$jscoverage['coffee-script/command.js'][453] = 0;
  _$jscoverage['coffee-script/command.js'][455] = 0;
  _$jscoverage['coffee-script/command.js'][457] = 0;
  _$jscoverage['coffee-script/command.js'][460] = 0;
  _$jscoverage['coffee-script/command.js'][461] = 0;
  _$jscoverage['coffee-script/command.js'][462] = 0;
  _$jscoverage['coffee-script/command.js'][463] = 0;
  _$jscoverage['coffee-script/command.js'][464] = 0;
  _$jscoverage['coffee-script/command.js'][465] = 0;
  _$jscoverage['coffee-script/command.js'][466] = 0;
  _$jscoverage['coffee-script/command.js'][467] = 0;
  _$jscoverage['coffee-script/command.js'][468] = 0;
  _$jscoverage['coffee-script/command.js'][469] = 0;
  _$jscoverage['coffee-script/command.js'][470] = 0;
  _$jscoverage['coffee-script/command.js'][474] = 0;
  _$jscoverage['coffee-script/command.js'][475] = 0;
  _$jscoverage['coffee-script/command.js'][482] = 0;
  _$jscoverage['coffee-script/command.js'][483] = 0;
  _$jscoverage['coffee-script/command.js'][484] = 0;
  _$jscoverage['coffee-script/command.js'][485] = 0;
  _$jscoverage['coffee-script/command.js'][486] = 0;
  _$jscoverage['coffee-script/command.js'][487] = 0;
  _$jscoverage['coffee-script/command.js'][494] = 0;
  _$jscoverage['coffee-script/command.js'][495] = 0;
  _$jscoverage['coffee-script/command.js'][498] = 0;
  _$jscoverage['coffee-script/command.js'][499] = 0;
}
_$jscoverage['coffee-script/command.js'][2]++;
(function () {
  _$jscoverage['coffee-script/command.js'][3]++;
  var BANNER, CoffeeScript, EventEmitter, SWITCHES, compileJoin, compileOptions, compilePath, compileScript, compileStdio, exec, exists, forkNode, fs, helpers, hidden, joinTimeout, lint, loadRequires, notSources, optionParser, optparse, opts, outputPath, parseOptions, path, printLine, printTokens, printWarn, removeSource, sourceCode, sources, spawn, timeLog, unwatchDir, usage, version, wait, watch, watchDir, watchers, writeJs, _ref;
  _$jscoverage['coffee-script/command.js'][5]++;
  fs = require("fs");
  _$jscoverage['coffee-script/command.js'][7]++;
  path = require("path");
  _$jscoverage['coffee-script/command.js'][9]++;
  helpers = require("./helpers");
  _$jscoverage['coffee-script/command.js'][11]++;
  optparse = require("./optparse");
  _$jscoverage['coffee-script/command.js'][13]++;
  CoffeeScript = require("./coffee-script");
  _$jscoverage['coffee-script/command.js'][15]++;
  _ref = require("child_process"), spawn = _ref.spawn, exec = _ref.exec;
  _$jscoverage['coffee-script/command.js'][17]++;
  EventEmitter = require("events").EventEmitter;
  _$jscoverage['coffee-script/command.js'][19]++;
  exists = fs.exists || path.exists;
  _$jscoverage['coffee-script/command.js'][21]++;
  helpers.extend(CoffeeScript, new EventEmitter());
  _$jscoverage['coffee-script/command.js'][23]++;
  printLine = (function (line) {
  _$jscoverage['coffee-script/command.js'][24]++;
  return process.stdout.write(line + "\n");
});
  _$jscoverage['coffee-script/command.js'][27]++;
  printWarn = (function (line) {
  _$jscoverage['coffee-script/command.js'][28]++;
  return process.stderr.write(line + "\n");
});
  _$jscoverage['coffee-script/command.js'][31]++;
  hidden = (function (file) {
  _$jscoverage['coffee-script/command.js'][32]++;
  return /^\.|~$/.test(file);
});
  _$jscoverage['coffee-script/command.js'][35]++;
  BANNER = "Usage: coffee [options] path/to/script.coffee -- [args]\n\nIf called without options, `coffee` will run your script.";
  _$jscoverage['coffee-script/command.js'][37]++;
  SWITCHES = [["-b", "--bare", "compile without a top-level function wrapper"], ["-c", "--compile", "compile to JavaScript and save as .js files"], ["-e", "--eval", "pass a string from the command line as input"], ["-h", "--help", "display this help message"], ["-i", "--interactive", "run an interactive CoffeeScript REPL"], ["-j", "--join [FILE]", "concatenate the source CoffeeScript before compiling"], ["-l", "--lint", "pipe the compiled JavaScript through JavaScript Lint"], ["-n", "--nodes", "print out the parse tree that the parser produces"], ["--nodejs [ARGS]", "pass options directly to the \"node\" binary"], ["-o", "--output [DIR]", "set the output directory for compiled JavaScript"], ["-p", "--print", "print out the compiled JavaScript"], ["-r", "--require [FILE*]", "require a library before executing your script"], ["-s", "--stdio", "listen for and compile scripts over stdio"], ["-t", "--tokens", "print out the tokens that the lexer/rewriter produce"], ["-v", "--version", "display the version number"], ["-w", "--watch", "watch scripts for changes and rerun commands"]];
  _$jscoverage['coffee-script/command.js'][39]++;
  opts = {};
  _$jscoverage['coffee-script/command.js'][41]++;
  sources = [];
  _$jscoverage['coffee-script/command.js'][43]++;
  sourceCode = [];
  _$jscoverage['coffee-script/command.js'][45]++;
  notSources = {};
  _$jscoverage['coffee-script/command.js'][47]++;
  watchers = {};
  _$jscoverage['coffee-script/command.js'][49]++;
  optionParser = null;
  _$jscoverage['coffee-script/command.js'][51]++;
  exports.run = (function () {
  _$jscoverage['coffee-script/command.js'][52]++;
  var literals, source, _i, _len, _results;
  _$jscoverage['coffee-script/command.js'][53]++;
  parseOptions();
  _$jscoverage['coffee-script/command.js'][54]++;
  if (opts.nodejs) {
    _$jscoverage['coffee-script/command.js'][55]++;
    return forkNode();
  }
  _$jscoverage['coffee-script/command.js'][57]++;
  if (opts.help) {
    _$jscoverage['coffee-script/command.js'][58]++;
    return usage();
  }
  _$jscoverage['coffee-script/command.js'][60]++;
  if (opts.version) {
    _$jscoverage['coffee-script/command.js'][61]++;
    return version();
  }
  _$jscoverage['coffee-script/command.js'][63]++;
  if (opts.require) {
    _$jscoverage['coffee-script/command.js'][64]++;
    loadRequires();
  }
  _$jscoverage['coffee-script/command.js'][66]++;
  if (opts.interactive) {
    _$jscoverage['coffee-script/command.js'][67]++;
    return require("./repl");
  }
  _$jscoverage['coffee-script/command.js'][69]++;
  if (opts.watch && ! fs.watch) {
    _$jscoverage['coffee-script/command.js'][70]++;
    return printWarn("The --watch feature depends on Node v0.6.0+. You are running " + process.version + ".");
  }
  _$jscoverage['coffee-script/command.js'][72]++;
  if (opts.stdio) {
    _$jscoverage['coffee-script/command.js'][73]++;
    return compileStdio();
  }
  _$jscoverage['coffee-script/command.js'][75]++;
  if (opts.eval) {
    _$jscoverage['coffee-script/command.js'][76]++;
    return compileScript(null, sources[0]);
  }
  _$jscoverage['coffee-script/command.js'][78]++;
  if (! sources.length) {
    _$jscoverage['coffee-script/command.js'][79]++;
    return require("./repl");
  }
  _$jscoverage['coffee-script/command.js'][81]++;
  literals = opts.run? sources.splice(1): [];
  _$jscoverage['coffee-script/command.js'][82]++;
  process.argv = process.argv.slice(0, 2).concat(literals);
  _$jscoverage['coffee-script/command.js'][83]++;
  process.argv[0] = "coffee";
  _$jscoverage['coffee-script/command.js'][84]++;
  process.execPath = require.main.filename;
  _$jscoverage['coffee-script/command.js'][85]++;
  _results = [];
  _$jscoverage['coffee-script/command.js'][86]++;
  for (_i = 0, _len = sources.length; _i < _len; _i++) {
    _$jscoverage['coffee-script/command.js'][87]++;
    source = sources[_i];
    _$jscoverage['coffee-script/command.js'][88]++;
    _results.push(compilePath(source, true, path.normalize(source)));
}
  _$jscoverage['coffee-script/command.js'][90]++;
  return _results;
});
  _$jscoverage['coffee-script/command.js'][93]++;
  compilePath = (function (source, topLevel, base) {
  _$jscoverage['coffee-script/command.js'][94]++;
  return fs.stat(source, (function (err, stats) {
  _$jscoverage['coffee-script/command.js'][95]++;
  if (err && err.code !== "ENOENT") {
    _$jscoverage['coffee-script/command.js'][96]++;
    throw err;
  }
  _$jscoverage['coffee-script/command.js'][98]++;
  if ((err != null? err.code: void 0) === "ENOENT") {
    _$jscoverage['coffee-script/command.js'][99]++;
    if (topLevel && source.slice(-7) !== ".coffee") {
      _$jscoverage['coffee-script/command.js'][100]++;
      source = sources[sources.indexOf(source)] = "" + source + ".coffee";
      _$jscoverage['coffee-script/command.js'][101]++;
      return compilePath(source, topLevel, base);
    }
    _$jscoverage['coffee-script/command.js'][103]++;
    if (topLevel) {
      _$jscoverage['coffee-script/command.js'][104]++;
      console.error("File not found: " + source);
      _$jscoverage['coffee-script/command.js'][105]++;
      process.exit(1);
    }
    _$jscoverage['coffee-script/command.js'][107]++;
    return;
  }
  _$jscoverage['coffee-script/command.js'][109]++;
  if (stats.isDirectory()) {
    _$jscoverage['coffee-script/command.js'][110]++;
    if (opts.watch) {
      _$jscoverage['coffee-script/command.js'][111]++;
      watchDir(source, base);
    }
    _$jscoverage['coffee-script/command.js'][113]++;
    return fs.readdir(source, (function (err, files) {
  _$jscoverage['coffee-script/command.js'][114]++;
  var file, index, _ref1, _ref2;
  _$jscoverage['coffee-script/command.js'][115]++;
  if (err && err.code !== "ENOENT") {
    _$jscoverage['coffee-script/command.js'][116]++;
    throw err;
  }
  _$jscoverage['coffee-script/command.js'][118]++;
  if ((err != null? err.code: void 0) === "ENOENT") {
    _$jscoverage['coffee-script/command.js'][119]++;
    return;
  }
  _$jscoverage['coffee-script/command.js'][121]++;
  index = sources.indexOf(source);
  _$jscoverage['coffee-script/command.js'][122]++;
  files = files.filter((function (file) {
  _$jscoverage['coffee-script/command.js'][123]++;
  return ! hidden(file);
}));
  _$jscoverage['coffee-script/command.js'][125]++;
  [].splice.apply(sources, [index, index - index + 1].concat(_ref1 = (function () {
  _$jscoverage['coffee-script/command.js'][126]++;
  var _i, _len, _results;
  _$jscoverage['coffee-script/command.js'][127]++;
  _results = [];
  _$jscoverage['coffee-script/command.js'][128]++;
  for (_i = 0, _len = files.length; _i < _len; _i++) {
    _$jscoverage['coffee-script/command.js'][129]++;
    file = files[_i];
    _$jscoverage['coffee-script/command.js'][130]++;
    _results.push(path.join(source, file));
}
  _$jscoverage['coffee-script/command.js'][132]++;
  return _results;
})())), _ref1;
  _$jscoverage['coffee-script/command.js'][134]++;
  [].splice.apply(sourceCode, [index, index - index + 1].concat(_ref2 = files.map((function () {
  _$jscoverage['coffee-script/command.js'][135]++;
  return null;
})))), _ref2;
  _$jscoverage['coffee-script/command.js'][137]++;
  return files.forEach((function (file) {
  _$jscoverage['coffee-script/command.js'][138]++;
  return compilePath(path.join(source, file), false, base);
}));
}));
  }
  else {
    _$jscoverage['coffee-script/command.js'][141]++;
    if (topLevel || path.extname(source) === ".coffee") {
      _$jscoverage['coffee-script/command.js'][142]++;
      if (opts.watch) {
        _$jscoverage['coffee-script/command.js'][143]++;
        watch(source, base);
      }
      _$jscoverage['coffee-script/command.js'][145]++;
      return fs.readFile(source, (function (err, code) {
  _$jscoverage['coffee-script/command.js'][146]++;
  if (err && err.code !== "ENOENT") {
    _$jscoverage['coffee-script/command.js'][147]++;
    throw err;
  }
  _$jscoverage['coffee-script/command.js'][149]++;
  if ((err != null? err.code: void 0) === "ENOENT") {
    _$jscoverage['coffee-script/command.js'][150]++;
    return;
  }
  _$jscoverage['coffee-script/command.js'][152]++;
  return compileScript(source, code.toString(), base);
}));
    }
    else {
      _$jscoverage['coffee-script/command.js'][155]++;
      notSources[source] = true;
      _$jscoverage['coffee-script/command.js'][156]++;
      return removeSource(source, base);
    }
  }
}));
});
  _$jscoverage['coffee-script/command.js'][161]++;
  compileScript = (function (file, input, base) {
  _$jscoverage['coffee-script/command.js'][162]++;
  var o, options, t, task;
  _$jscoverage['coffee-script/command.js'][163]++;
  o = opts;
  _$jscoverage['coffee-script/command.js'][164]++;
  options = compileOptions(file);
  _$jscoverage['coffee-script/command.js'][165]++;
  try {
    _$jscoverage['coffee-script/command.js'][166]++;
    t = task = {file: file, input: input, options: options};
    _$jscoverage['coffee-script/command.js'][171]++;
    CoffeeScript.emit("compile", task);
    _$jscoverage['coffee-script/command.js'][172]++;
    if (o.tokens) {
      _$jscoverage['coffee-script/command.js'][173]++;
      return printTokens(CoffeeScript.tokens(t.input));
    }
    else {
      _$jscoverage['coffee-script/command.js'][174]++;
      if (o.nodes) {
        _$jscoverage['coffee-script/command.js'][175]++;
        return printLine(CoffeeScript.nodes(t.input).toString().trim());
      }
      else {
        _$jscoverage['coffee-script/command.js'][176]++;
        if (o.run) {
          _$jscoverage['coffee-script/command.js'][177]++;
          return CoffeeScript.run(t.input, t.options);
        }
        else {
          _$jscoverage['coffee-script/command.js'][178]++;
          if (o.join && t.file !== o.join) {
            _$jscoverage['coffee-script/command.js'][179]++;
            sourceCode[sources.indexOf(t.file)] = t.input;
            _$jscoverage['coffee-script/command.js'][180]++;
            return compileJoin();
          }
          else {
            _$jscoverage['coffee-script/command.js'][182]++;
            t.output = CoffeeScript.compile(t.input, t.options);
            _$jscoverage['coffee-script/command.js'][183]++;
            CoffeeScript.emit("success", task);
            _$jscoverage['coffee-script/command.js'][184]++;
            if (o.print) {
              _$jscoverage['coffee-script/command.js'][185]++;
              return printLine(t.output.trim());
            }
            else {
              _$jscoverage['coffee-script/command.js'][186]++;
              if (o.compile) {
                _$jscoverage['coffee-script/command.js'][187]++;
                return writeJs(t.file, t.output, base);
              }
              else {
                _$jscoverage['coffee-script/command.js'][188]++;
                if (o.lint) {
                  _$jscoverage['coffee-script/command.js'][189]++;
                  return lint(t.file, t.output);
                }
              }
            }
          }
        }
      }
    }
  }
  catch (err) {
    _$jscoverage['coffee-script/command.js'][193]++;
    CoffeeScript.emit("failure", err, task);
    _$jscoverage['coffee-script/command.js'][194]++;
    if (CoffeeScript.listeners("failure").length) {
      _$jscoverage['coffee-script/command.js'][195]++;
      return;
    }
    _$jscoverage['coffee-script/command.js'][197]++;
    if (o.watch) {
      _$jscoverage['coffee-script/command.js'][198]++;
      return printLine(err.message + "\u0007");
    }
    _$jscoverage['coffee-script/command.js'][200]++;
    printWarn(err instanceof Error && err.stack || ("ERROR: " + err));
    _$jscoverage['coffee-script/command.js'][201]++;
    return process.exit(1);
  }
});
  _$jscoverage['coffee-script/command.js'][205]++;
  compileStdio = (function () {
  _$jscoverage['coffee-script/command.js'][206]++;
  var code, stdin;
  _$jscoverage['coffee-script/command.js'][207]++;
  code = "";
  _$jscoverage['coffee-script/command.js'][208]++;
  stdin = process.openStdin();
  _$jscoverage['coffee-script/command.js'][209]++;
  stdin.on("data", (function (buffer) {
  _$jscoverage['coffee-script/command.js'][210]++;
  if (buffer) {
    _$jscoverage['coffee-script/command.js'][211]++;
    return code += buffer.toString();
  }
}));
  _$jscoverage['coffee-script/command.js'][214]++;
  return stdin.on("end", (function () {
  _$jscoverage['coffee-script/command.js'][215]++;
  return compileScript(null, code);
}));
});
  _$jscoverage['coffee-script/command.js'][219]++;
  joinTimeout = null;
  _$jscoverage['coffee-script/command.js'][221]++;
  compileJoin = (function () {
  _$jscoverage['coffee-script/command.js'][222]++;
  if (! opts.join) {
    _$jscoverage['coffee-script/command.js'][223]++;
    return;
  }
  _$jscoverage['coffee-script/command.js'][225]++;
  if (! sourceCode.some((function (code) {
  _$jscoverage['coffee-script/command.js'][226]++;
  return code === null;
}))) {
    _$jscoverage['coffee-script/command.js'][228]++;
    clearTimeout(joinTimeout);
    _$jscoverage['coffee-script/command.js'][229]++;
    return joinTimeout = wait(100, (function () {
  _$jscoverage['coffee-script/command.js'][230]++;
  return compileScript(opts.join, sourceCode.join("\n"), opts.join);
}));
  }
});
  _$jscoverage['coffee-script/command.js'][235]++;
  loadRequires = (function () {
  _$jscoverage['coffee-script/command.js'][236]++;
  var realFilename, req, _i, _len, _ref1;
  _$jscoverage['coffee-script/command.js'][237]++;
  realFilename = module.filename;
  _$jscoverage['coffee-script/command.js'][238]++;
  module.filename = ".";
  _$jscoverage['coffee-script/command.js'][239]++;
  _ref1 = opts.require;
  _$jscoverage['coffee-script/command.js'][240]++;
  for (_i = 0, _len = _ref1.length; _i < _len; _i++) {
    _$jscoverage['coffee-script/command.js'][241]++;
    req = _ref1[_i];
    _$jscoverage['coffee-script/command.js'][242]++;
    require(req);
}
  _$jscoverage['coffee-script/command.js'][244]++;
  return module.filename = realFilename;
});
  _$jscoverage['coffee-script/command.js'][247]++;
  watch = (function (source, base) {
  _$jscoverage['coffee-script/command.js'][248]++;
  var compile, compileTimeout, prevStats, rewatch, watchErr, watcher;
  _$jscoverage['coffee-script/command.js'][249]++;
  prevStats = null;
  _$jscoverage['coffee-script/command.js'][250]++;
  compileTimeout = null;
  _$jscoverage['coffee-script/command.js'][251]++;
  watchErr = (function (e) {
  _$jscoverage['coffee-script/command.js'][252]++;
  if (e.code === "ENOENT") {
    _$jscoverage['coffee-script/command.js'][253]++;
    if (sources.indexOf(source) === -1) {
      _$jscoverage['coffee-script/command.js'][254]++;
      return;
    }
    _$jscoverage['coffee-script/command.js'][256]++;
    try {
      _$jscoverage['coffee-script/command.js'][257]++;
      rewatch();
      _$jscoverage['coffee-script/command.js'][258]++;
      return compile();
    }
    catch (e) {
      _$jscoverage['coffee-script/command.js'][260]++;
      removeSource(source, base, true);
      _$jscoverage['coffee-script/command.js'][261]++;
      return compileJoin();
    }
  }
  else {
    _$jscoverage['coffee-script/command.js'][264]++;
    throw e;
  }
});
  _$jscoverage['coffee-script/command.js'][267]++;
  compile = (function () {
  _$jscoverage['coffee-script/command.js'][268]++;
  clearTimeout(compileTimeout);
  _$jscoverage['coffee-script/command.js'][269]++;
  return compileTimeout = wait(25, (function () {
  _$jscoverage['coffee-script/command.js'][270]++;
  return fs.stat(source, (function (err, stats) {
  _$jscoverage['coffee-script/command.js'][271]++;
  if (err) {
    _$jscoverage['coffee-script/command.js'][272]++;
    return watchErr(err);
  }
  _$jscoverage['coffee-script/command.js'][274]++;
  if (prevStats && stats.size === prevStats.size && stats.mtime.getTime() === prevStats.mtime.getTime()) {
    _$jscoverage['coffee-script/command.js'][275]++;
    return rewatch();
  }
  _$jscoverage['coffee-script/command.js'][277]++;
  prevStats = stats;
  _$jscoverage['coffee-script/command.js'][278]++;
  return fs.readFile(source, (function (err, code) {
  _$jscoverage['coffee-script/command.js'][279]++;
  if (err) {
    _$jscoverage['coffee-script/command.js'][280]++;
    return watchErr(err);
  }
  _$jscoverage['coffee-script/command.js'][282]++;
  compileScript(source, code.toString(), base);
  _$jscoverage['coffee-script/command.js'][283]++;
  return rewatch();
}));
}));
}));
});
  _$jscoverage['coffee-script/command.js'][288]++;
  try {
    _$jscoverage['coffee-script/command.js'][289]++;
    watcher = fs.watch(source, compile);
  }
  catch (e) {
    _$jscoverage['coffee-script/command.js'][291]++;
    watchErr(e);
  }
  _$jscoverage['coffee-script/command.js'][293]++;
  return rewatch = (function () {
  _$jscoverage['coffee-script/command.js'][294]++;
  if (watcher != null) {
    _$jscoverage['coffee-script/command.js'][295]++;
    watcher.close();
  }
  _$jscoverage['coffee-script/command.js'][297]++;
  return watcher = fs.watch(source, compile);
});
});
  _$jscoverage['coffee-script/command.js'][301]++;
  watchDir = (function (source, base) {
  _$jscoverage['coffee-script/command.js'][302]++;
  var readdirTimeout, watcher;
  _$jscoverage['coffee-script/command.js'][303]++;
  readdirTimeout = null;
  _$jscoverage['coffee-script/command.js'][304]++;
  try {
    _$jscoverage['coffee-script/command.js'][305]++;
    return watcher = fs.watch(source, (function () {
  _$jscoverage['coffee-script/command.js'][306]++;
  clearTimeout(readdirTimeout);
  _$jscoverage['coffee-script/command.js'][307]++;
  return readdirTimeout = wait(25, (function () {
  _$jscoverage['coffee-script/command.js'][308]++;
  return fs.readdir(source, (function (err, files) {
  _$jscoverage['coffee-script/command.js'][309]++;
  var file, _i, _len, _results;
  _$jscoverage['coffee-script/command.js'][310]++;
  if (err) {
    _$jscoverage['coffee-script/command.js'][311]++;
    if (err.code !== "ENOENT") {
      _$jscoverage['coffee-script/command.js'][312]++;
      throw err;
    }
    _$jscoverage['coffee-script/command.js'][314]++;
    watcher.close();
    _$jscoverage['coffee-script/command.js'][315]++;
    return unwatchDir(source, base);
  }
  _$jscoverage['coffee-script/command.js'][317]++;
  _results = [];
  _$jscoverage['coffee-script/command.js'][318]++;
  for (_i = 0, _len = files.length; _i < _len; _i++) {
    _$jscoverage['coffee-script/command.js'][319]++;
    file = files[_i];
    _$jscoverage['coffee-script/command.js'][320]++;
    if (! (! hidden(file) && ! notSources[file])) {
      _$jscoverage['coffee-script/command.js'][321]++;
      continue;
    }
    _$jscoverage['coffee-script/command.js'][323]++;
    file = path.join(source, file);
    _$jscoverage['coffee-script/command.js'][324]++;
    if (sources.some((function (s) {
  _$jscoverage['coffee-script/command.js'][325]++;
  return s.indexOf(file) >= 0;
}))) {
      _$jscoverage['coffee-script/command.js'][327]++;
      continue;
    }
    _$jscoverage['coffee-script/command.js'][329]++;
    sources.push(file);
    _$jscoverage['coffee-script/command.js'][330]++;
    sourceCode.push(null);
    _$jscoverage['coffee-script/command.js'][331]++;
    _results.push(compilePath(file, false, base));
}
  _$jscoverage['coffee-script/command.js'][333]++;
  return _results;
}));
}));
}));
  }
  catch (e) {
    _$jscoverage['coffee-script/command.js'][338]++;
    if (e.code !== "ENOENT") {
      _$jscoverage['coffee-script/command.js'][339]++;
      throw e;
    }
  }
});
  _$jscoverage['coffee-script/command.js'][344]++;
  unwatchDir = (function (source, base) {
  _$jscoverage['coffee-script/command.js'][345]++;
  var file, prevSources, toRemove, _i, _len;
  _$jscoverage['coffee-script/command.js'][346]++;
  prevSources = sources.slice(0);
  _$jscoverage['coffee-script/command.js'][347]++;
  toRemove = (function () {
  _$jscoverage['coffee-script/command.js'][348]++;
  var _i, _len, _results;
  _$jscoverage['coffee-script/command.js'][349]++;
  _results = [];
  _$jscoverage['coffee-script/command.js'][350]++;
  for (_i = 0, _len = sources.length; _i < _len; _i++) {
    _$jscoverage['coffee-script/command.js'][351]++;
    file = sources[_i];
    _$jscoverage['coffee-script/command.js'][352]++;
    if (file.indexOf(source) >= 0) {
      _$jscoverage['coffee-script/command.js'][353]++;
      _results.push(file);
    }
}
  _$jscoverage['coffee-script/command.js'][356]++;
  return _results;
})();
  _$jscoverage['coffee-script/command.js'][358]++;
  for (_i = 0, _len = toRemove.length; _i < _len; _i++) {
    _$jscoverage['coffee-script/command.js'][359]++;
    file = toRemove[_i];
    _$jscoverage['coffee-script/command.js'][360]++;
    removeSource(file, base, true);
}
  _$jscoverage['coffee-script/command.js'][362]++;
  if (! sources.some((function (s, i) {
  _$jscoverage['coffee-script/command.js'][363]++;
  return prevSources[i] !== s;
}))) {
    _$jscoverage['coffee-script/command.js'][365]++;
    return;
  }
  _$jscoverage['coffee-script/command.js'][367]++;
  return compileJoin();
});
  _$jscoverage['coffee-script/command.js'][370]++;
  removeSource = (function (source, base, removeJs) {
  _$jscoverage['coffee-script/command.js'][371]++;
  var index, jsPath;
  _$jscoverage['coffee-script/command.js'][372]++;
  index = sources.indexOf(source);
  _$jscoverage['coffee-script/command.js'][373]++;
  sources.splice(index, 1);
  _$jscoverage['coffee-script/command.js'][374]++;
  sourceCode.splice(index, 1);
  _$jscoverage['coffee-script/command.js'][375]++;
  if (removeJs && ! opts.join) {
    _$jscoverage['coffee-script/command.js'][376]++;
    jsPath = outputPath(source, base);
    _$jscoverage['coffee-script/command.js'][377]++;
    return exists(jsPath, (function (itExists) {
  _$jscoverage['coffee-script/command.js'][378]++;
  if (itExists) {
    _$jscoverage['coffee-script/command.js'][379]++;
    return fs.unlink(jsPath, (function (err) {
  _$jscoverage['coffee-script/command.js'][380]++;
  if (err && err.code !== "ENOENT") {
    _$jscoverage['coffee-script/command.js'][381]++;
    throw err;
  }
  _$jscoverage['coffee-script/command.js'][383]++;
  return timeLog("removed " + source);
}));
  }
}));
  }
});
  _$jscoverage['coffee-script/command.js'][390]++;
  outputPath = (function (source, base) {
  _$jscoverage['coffee-script/command.js'][391]++;
  var baseDir, dir, filename, srcDir;
  _$jscoverage['coffee-script/command.js'][392]++;
  filename = path.basename(source, path.extname(source)) + ".js";
  _$jscoverage['coffee-script/command.js'][393]++;
  srcDir = path.dirname(source);
  _$jscoverage['coffee-script/command.js'][394]++;
  baseDir = base === "."? srcDir: srcDir.substring(base.length);
  _$jscoverage['coffee-script/command.js'][395]++;
  dir = opts.output? path.join(opts.output, baseDir): srcDir;
  _$jscoverage['coffee-script/command.js'][396]++;
  return path.join(dir, filename);
});
  _$jscoverage['coffee-script/command.js'][399]++;
  writeJs = (function (source, js, base) {
  _$jscoverage['coffee-script/command.js'][400]++;
  var compile, jsDir, jsPath;
  _$jscoverage['coffee-script/command.js'][401]++;
  jsPath = outputPath(source, base);
  _$jscoverage['coffee-script/command.js'][402]++;
  jsDir = path.dirname(jsPath);
  _$jscoverage['coffee-script/command.js'][403]++;
  compile = (function () {
  _$jscoverage['coffee-script/command.js'][404]++;
  if (js.length <= 0) {
    _$jscoverage['coffee-script/command.js'][405]++;
    js = " ";
  }
  _$jscoverage['coffee-script/command.js'][407]++;
  return fs.writeFile(jsPath, js, (function (err) {
  _$jscoverage['coffee-script/command.js'][408]++;
  if (err) {
    _$jscoverage['coffee-script/command.js'][409]++;
    return printLine(err.message);
  }
  else {
    _$jscoverage['coffee-script/command.js'][410]++;
    if (opts.compile && opts.watch) {
      _$jscoverage['coffee-script/command.js'][411]++;
      return timeLog("compiled " + source);
    }
  }
}));
});
  _$jscoverage['coffee-script/command.js'][415]++;
  return exists(jsDir, (function (itExists) {
  _$jscoverage['coffee-script/command.js'][416]++;
  if (itExists) {
    _$jscoverage['coffee-script/command.js'][417]++;
    return compile();
  }
  else {
    _$jscoverage['coffee-script/command.js'][419]++;
    return exec("mkdir -p " + jsDir, compile);
  }
}));
});
  _$jscoverage['coffee-script/command.js'][424]++;
  wait = (function (milliseconds, func) {
  _$jscoverage['coffee-script/command.js'][425]++;
  return setTimeout(func, milliseconds);
});
  _$jscoverage['coffee-script/command.js'][428]++;
  timeLog = (function (message) {
  _$jscoverage['coffee-script/command.js'][429]++;
  return console.log("" + (new Date()).toLocaleTimeString() + " - " + message);
});
  _$jscoverage['coffee-script/command.js'][432]++;
  lint = (function (file, js) {
  _$jscoverage['coffee-script/command.js'][433]++;
  var conf, jsl, printIt;
  _$jscoverage['coffee-script/command.js'][434]++;
  printIt = (function (buffer) {
  _$jscoverage['coffee-script/command.js'][435]++;
  return printLine(file + ":\t" + buffer.toString().trim());
});
  _$jscoverage['coffee-script/command.js'][437]++;
  conf = __dirname + "/../../extras/jsl.conf";
  _$jscoverage['coffee-script/command.js'][438]++;
  jsl = spawn("jsl", ["-nologo", "-stdin", "-conf", conf]);
  _$jscoverage['coffee-script/command.js'][439]++;
  jsl.stdout.on("data", printIt);
  _$jscoverage['coffee-script/command.js'][440]++;
  jsl.stderr.on("data", printIt);
  _$jscoverage['coffee-script/command.js'][441]++;
  jsl.stdin.write(js);
  _$jscoverage['coffee-script/command.js'][442]++;
  return jsl.stdin.end();
});
  _$jscoverage['coffee-script/command.js'][445]++;
  printTokens = (function (tokens) {
  _$jscoverage['coffee-script/command.js'][446]++;
  var strings, tag, token, value;
  _$jscoverage['coffee-script/command.js'][447]++;
  strings = (function () {
  _$jscoverage['coffee-script/command.js'][448]++;
  var _i, _len, _ref1, _results;
  _$jscoverage['coffee-script/command.js'][449]++;
  _results = [];
  _$jscoverage['coffee-script/command.js'][450]++;
  for (_i = 0, _len = tokens.length; _i < _len; _i++) {
    _$jscoverage['coffee-script/command.js'][451]++;
    token = tokens[_i];
    _$jscoverage['coffee-script/command.js'][452]++;
    _ref1 = [token[0], token[1].toString().replace(/\n/, "\\n")], tag = _ref1[0], value = _ref1[1];
    _$jscoverage['coffee-script/command.js'][453]++;
    _results.push("[" + tag + " " + value + "]");
}
  _$jscoverage['coffee-script/command.js'][455]++;
  return _results;
})();
  _$jscoverage['coffee-script/command.js'][457]++;
  return printLine(strings.join(" "));
});
  _$jscoverage['coffee-script/command.js'][460]++;
  parseOptions = (function () {
  _$jscoverage['coffee-script/command.js'][461]++;
  var i, o, source, _i, _len;
  _$jscoverage['coffee-script/command.js'][462]++;
  optionParser = new optparse.OptionParser(SWITCHES, BANNER);
  _$jscoverage['coffee-script/command.js'][463]++;
  o = opts = optionParser.parse(process.argv.slice(2));
  _$jscoverage['coffee-script/command.js'][464]++;
  o.compile || (o.compile = ! ! o.output);
  _$jscoverage['coffee-script/command.js'][465]++;
  o.run = ! (o.compile || o.print || o.lint);
  _$jscoverage['coffee-script/command.js'][466]++;
  o.print = ! ! (o.print || (o.eval || o.stdio && o.compile));
  _$jscoverage['coffee-script/command.js'][467]++;
  sources = o.arguments;
  _$jscoverage['coffee-script/command.js'][468]++;
  for (i = _i = 0, _len = sources.length; _i < _len; i = ++_i) {
    _$jscoverage['coffee-script/command.js'][469]++;
    source = sources[i];
    _$jscoverage['coffee-script/command.js'][470]++;
    sourceCode[i] = null;
}
});
  _$jscoverage['coffee-script/command.js'][474]++;
  compileOptions = (function (filename) {
  _$jscoverage['coffee-script/command.js'][475]++;
  return ({filename: filename, bare: opts.bare, header: opts.compile});
});
  _$jscoverage['coffee-script/command.js'][482]++;
  forkNode = (function () {
  _$jscoverage['coffee-script/command.js'][483]++;
  var args, nodeArgs;
  _$jscoverage['coffee-script/command.js'][484]++;
  nodeArgs = opts.nodejs.split(/\s+/);
  _$jscoverage['coffee-script/command.js'][485]++;
  args = process.argv.slice(1);
  _$jscoverage['coffee-script/command.js'][486]++;
  args.splice(args.indexOf("--nodejs"), 2);
  _$jscoverage['coffee-script/command.js'][487]++;
  return spawn(process.execPath, nodeArgs.concat(args), {cwd: process.cwd(), env: process.env, customFds: [0, 1, 2]});
});
  _$jscoverage['coffee-script/command.js'][494]++;
  usage = (function () {
  _$jscoverage['coffee-script/command.js'][495]++;
  return printLine((new optparse.OptionParser(SWITCHES, BANNER)).help());
});
  _$jscoverage['coffee-script/command.js'][498]++;
  version = (function () {
  _$jscoverage['coffee-script/command.js'][499]++;
  return printLine("CoffeeScript version " + CoffeeScript.VERSION);
});
}).call(this);
_$jscoverage['coffee-script/command.js'].source = ["// Generated by CoffeeScript 1.4.0","(function() {","  var BANNER, CoffeeScript, EventEmitter, SWITCHES, compileJoin, compileOptions, compilePath, compileScript, compileStdio, exec, exists, forkNode, fs, helpers, hidden, joinTimeout, lint, loadRequires, notSources, optionParser, optparse, opts, outputPath, parseOptions, path, printLine, printTokens, printWarn, removeSource, sourceCode, sources, spawn, timeLog, unwatchDir, usage, version, wait, watch, watchDir, watchers, writeJs, _ref;","","  fs = require('fs');","","  path = require('path');","","  helpers = require('./helpers');","","  optparse = require('./optparse');","","  CoffeeScript = require('./coffee-script');","","  _ref = require('child_process'), spawn = _ref.spawn, exec = _ref.exec;","","  EventEmitter = require('events').EventEmitter;","","  exists = fs.exists || path.exists;","","  helpers.extend(CoffeeScript, new EventEmitter);","","  printLine = function(line) {","    return process.stdout.write(line + '\\n');","  };","","  printWarn = function(line) {","    return process.stderr.write(line + '\\n');","  };","","  hidden = function(file) {","    return /^\\.|~$/.test(file);","  };","","  BANNER = 'Usage: coffee [options] path/to/script.coffee -- [args]\\n\\nIf called without options, `coffee` will run your script.';","","  SWITCHES = [['-b', '--bare', 'compile without a top-level function wrapper'], ['-c', '--compile', 'compile to JavaScript and save as .js files'], ['-e', '--eval', 'pass a string from the command line as input'], ['-h', '--help', 'display this help message'], ['-i', '--interactive', 'run an interactive CoffeeScript REPL'], ['-j', '--join [FILE]', 'concatenate the source CoffeeScript before compiling'], ['-l', '--lint', 'pipe the compiled JavaScript through JavaScript Lint'], ['-n', '--nodes', 'print out the parse tree that the parser produces'], ['--nodejs [ARGS]', 'pass options directly to the \"node\" binary'], ['-o', '--output [DIR]', 'set the output directory for compiled JavaScript'], ['-p', '--print', 'print out the compiled JavaScript'], ['-r', '--require [FILE*]', 'require a library before executing your script'], ['-s', '--stdio', 'listen for and compile scripts over stdio'], ['-t', '--tokens', 'print out the tokens that the lexer/rewriter produce'], ['-v', '--version', 'display the version number'], ['-w', '--watch', 'watch scripts for changes and rerun commands']];","","  opts = {};","","  sources = [];","","  sourceCode = [];","","  notSources = {};","","  watchers = {};","","  optionParser = null;","","  exports.run = function() {","    var literals, source, _i, _len, _results;","    parseOptions();","    if (opts.nodejs) {","      return forkNode();","    }","    if (opts.help) {","      return usage();","    }","    if (opts.version) {","      return version();","    }","    if (opts.require) {","      loadRequires();","    }","    if (opts.interactive) {","      return require('./repl');","    }","    if (opts.watch &amp;&amp; !fs.watch) {","      return printWarn(\"The --watch feature depends on Node v0.6.0+. You are running \" + process.version + \".\");","    }","    if (opts.stdio) {","      return compileStdio();","    }","    if (opts[\"eval\"]) {","      return compileScript(null, sources[0]);","    }","    if (!sources.length) {","      return require('./repl');","    }","    literals = opts.run ? sources.splice(1) : [];","    process.argv = process.argv.slice(0, 2).concat(literals);","    process.argv[0] = 'coffee';","    process.execPath = require.main.filename;","    _results = [];","    for (_i = 0, _len = sources.length; _i &lt; _len; _i++) {","      source = sources[_i];","      _results.push(compilePath(source, true, path.normalize(source)));","    }","    return _results;","  };","","  compilePath = function(source, topLevel, base) {","    return fs.stat(source, function(err, stats) {","      if (err &amp;&amp; err.code !== 'ENOENT') {","        throw err;","      }","      if ((err != null ? err.code : void 0) === 'ENOENT') {","        if (topLevel &amp;&amp; source.slice(-7) !== '.coffee') {","          source = sources[sources.indexOf(source)] = \"\" + source + \".coffee\";","          return compilePath(source, topLevel, base);","        }","        if (topLevel) {","          console.error(\"File not found: \" + source);","          process.exit(1);","        }","        return;","      }","      if (stats.isDirectory()) {","        if (opts.watch) {","          watchDir(source, base);","        }","        return fs.readdir(source, function(err, files) {","          var file, index, _ref1, _ref2;","          if (err &amp;&amp; err.code !== 'ENOENT') {","            throw err;","          }","          if ((err != null ? err.code : void 0) === 'ENOENT') {","            return;","          }","          index = sources.indexOf(source);","          files = files.filter(function(file) {","            return !hidden(file);","          });","          [].splice.apply(sources, [index, index - index + 1].concat(_ref1 = (function() {","            var _i, _len, _results;","            _results = [];","            for (_i = 0, _len = files.length; _i &lt; _len; _i++) {","              file = files[_i];","              _results.push(path.join(source, file));","            }","            return _results;","          })())), _ref1;","          [].splice.apply(sourceCode, [index, index - index + 1].concat(_ref2 = files.map(function() {","            return null;","          }))), _ref2;","          return files.forEach(function(file) {","            return compilePath(path.join(source, file), false, base);","          });","        });","      } else if (topLevel || path.extname(source) === '.coffee') {","        if (opts.watch) {","          watch(source, base);","        }","        return fs.readFile(source, function(err, code) {","          if (err &amp;&amp; err.code !== 'ENOENT') {","            throw err;","          }","          if ((err != null ? err.code : void 0) === 'ENOENT') {","            return;","          }","          return compileScript(source, code.toString(), base);","        });","      } else {","        notSources[source] = true;","        return removeSource(source, base);","      }","    });","  };","","  compileScript = function(file, input, base) {","    var o, options, t, task;","    o = opts;","    options = compileOptions(file);","    try {","      t = task = {","        file: file,","        input: input,","        options: options","      };","      CoffeeScript.emit('compile', task);","      if (o.tokens) {","        return printTokens(CoffeeScript.tokens(t.input));","      } else if (o.nodes) {","        return printLine(CoffeeScript.nodes(t.input).toString().trim());","      } else if (o.run) {","        return CoffeeScript.run(t.input, t.options);","      } else if (o.join &amp;&amp; t.file !== o.join) {","        sourceCode[sources.indexOf(t.file)] = t.input;","        return compileJoin();","      } else {","        t.output = CoffeeScript.compile(t.input, t.options);","        CoffeeScript.emit('success', task);","        if (o.print) {","          return printLine(t.output.trim());","        } else if (o.compile) {","          return writeJs(t.file, t.output, base);","        } else if (o.lint) {","          return lint(t.file, t.output);","        }","      }","    } catch (err) {","      CoffeeScript.emit('failure', err, task);","      if (CoffeeScript.listeners('failure').length) {","        return;","      }","      if (o.watch) {","        return printLine(err.message + '\\x07');","      }","      printWarn(err instanceof Error &amp;&amp; err.stack || (\"ERROR: \" + err));","      return process.exit(1);","    }","  };","","  compileStdio = function() {","    var code, stdin;","    code = '';","    stdin = process.openStdin();","    stdin.on('data', function(buffer) {","      if (buffer) {","        return code += buffer.toString();","      }","    });","    return stdin.on('end', function() {","      return compileScript(null, code);","    });","  };","","  joinTimeout = null;","","  compileJoin = function() {","    if (!opts.join) {","      return;","    }","    if (!sourceCode.some(function(code) {","      return code === null;","    })) {","      clearTimeout(joinTimeout);","      return joinTimeout = wait(100, function() {","        return compileScript(opts.join, sourceCode.join('\\n'), opts.join);","      });","    }","  };","","  loadRequires = function() {","    var realFilename, req, _i, _len, _ref1;","    realFilename = module.filename;","    module.filename = '.';","    _ref1 = opts.require;","    for (_i = 0, _len = _ref1.length; _i &lt; _len; _i++) {","      req = _ref1[_i];","      require(req);","    }","    return module.filename = realFilename;","  };","","  watch = function(source, base) {","    var compile, compileTimeout, prevStats, rewatch, watchErr, watcher;","    prevStats = null;","    compileTimeout = null;","    watchErr = function(e) {","      if (e.code === 'ENOENT') {","        if (sources.indexOf(source) === -1) {","          return;","        }","        try {","          rewatch();","          return compile();","        } catch (e) {","          removeSource(source, base, true);","          return compileJoin();","        }","      } else {","        throw e;","      }","    };","    compile = function() {","      clearTimeout(compileTimeout);","      return compileTimeout = wait(25, function() {","        return fs.stat(source, function(err, stats) {","          if (err) {","            return watchErr(err);","          }","          if (prevStats &amp;&amp; stats.size === prevStats.size &amp;&amp; stats.mtime.getTime() === prevStats.mtime.getTime()) {","            return rewatch();","          }","          prevStats = stats;","          return fs.readFile(source, function(err, code) {","            if (err) {","              return watchErr(err);","            }","            compileScript(source, code.toString(), base);","            return rewatch();","          });","        });","      });","    };","    try {","      watcher = fs.watch(source, compile);","    } catch (e) {","      watchErr(e);","    }","    return rewatch = function() {","      if (watcher != null) {","        watcher.close();","      }","      return watcher = fs.watch(source, compile);","    };","  };","","  watchDir = function(source, base) {","    var readdirTimeout, watcher;","    readdirTimeout = null;","    try {","      return watcher = fs.watch(source, function() {","        clearTimeout(readdirTimeout);","        return readdirTimeout = wait(25, function() {","          return fs.readdir(source, function(err, files) {","            var file, _i, _len, _results;","            if (err) {","              if (err.code !== 'ENOENT') {","                throw err;","              }","              watcher.close();","              return unwatchDir(source, base);","            }","            _results = [];","            for (_i = 0, _len = files.length; _i &lt; _len; _i++) {","              file = files[_i];","              if (!(!hidden(file) &amp;&amp; !notSources[file])) {","                continue;","              }","              file = path.join(source, file);","              if (sources.some(function(s) {","                return s.indexOf(file) &gt;= 0;","              })) {","                continue;","              }","              sources.push(file);","              sourceCode.push(null);","              _results.push(compilePath(file, false, base));","            }","            return _results;","          });","        });","      });","    } catch (e) {","      if (e.code !== 'ENOENT') {","        throw e;","      }","    }","  };","","  unwatchDir = function(source, base) {","    var file, prevSources, toRemove, _i, _len;","    prevSources = sources.slice(0);","    toRemove = (function() {","      var _i, _len, _results;","      _results = [];","      for (_i = 0, _len = sources.length; _i &lt; _len; _i++) {","        file = sources[_i];","        if (file.indexOf(source) &gt;= 0) {","          _results.push(file);","        }","      }","      return _results;","    })();","    for (_i = 0, _len = toRemove.length; _i &lt; _len; _i++) {","      file = toRemove[_i];","      removeSource(file, base, true);","    }","    if (!sources.some(function(s, i) {","      return prevSources[i] !== s;","    })) {","      return;","    }","    return compileJoin();","  };","","  removeSource = function(source, base, removeJs) {","    var index, jsPath;","    index = sources.indexOf(source);","    sources.splice(index, 1);","    sourceCode.splice(index, 1);","    if (removeJs &amp;&amp; !opts.join) {","      jsPath = outputPath(source, base);","      return exists(jsPath, function(itExists) {","        if (itExists) {","          return fs.unlink(jsPath, function(err) {","            if (err &amp;&amp; err.code !== 'ENOENT') {","              throw err;","            }","            return timeLog(\"removed \" + source);","          });","        }","      });","    }","  };","","  outputPath = function(source, base) {","    var baseDir, dir, filename, srcDir;","    filename = path.basename(source, path.extname(source)) + '.js';","    srcDir = path.dirname(source);","    baseDir = base === '.' ? srcDir : srcDir.substring(base.length);","    dir = opts.output ? path.join(opts.output, baseDir) : srcDir;","    return path.join(dir, filename);","  };","","  writeJs = function(source, js, base) {","    var compile, jsDir, jsPath;","    jsPath = outputPath(source, base);","    jsDir = path.dirname(jsPath);","    compile = function() {","      if (js.length &lt;= 0) {","        js = ' ';","      }","      return fs.writeFile(jsPath, js, function(err) {","        if (err) {","          return printLine(err.message);","        } else if (opts.compile &amp;&amp; opts.watch) {","          return timeLog(\"compiled \" + source);","        }","      });","    };","    return exists(jsDir, function(itExists) {","      if (itExists) {","        return compile();","      } else {","        return exec(\"mkdir -p \" + jsDir, compile);","      }","    });","  };","","  wait = function(milliseconds, func) {","    return setTimeout(func, milliseconds);","  };","","  timeLog = function(message) {","    return console.log(\"\" + ((new Date).toLocaleTimeString()) + \" - \" + message);","  };","","  lint = function(file, js) {","    var conf, jsl, printIt;","    printIt = function(buffer) {","      return printLine(file + ':\\t' + buffer.toString().trim());","    };","    conf = __dirname + '/../../extras/jsl.conf';","    jsl = spawn('jsl', ['-nologo', '-stdin', '-conf', conf]);","    jsl.stdout.on('data', printIt);","    jsl.stderr.on('data', printIt);","    jsl.stdin.write(js);","    return jsl.stdin.end();","  };","","  printTokens = function(tokens) {","    var strings, tag, token, value;","    strings = (function() {","      var _i, _len, _ref1, _results;","      _results = [];","      for (_i = 0, _len = tokens.length; _i &lt; _len; _i++) {","        token = tokens[_i];","        _ref1 = [token[0], token[1].toString().replace(/\\n/, '\\\\n')], tag = _ref1[0], value = _ref1[1];","        _results.push(\"[\" + tag + \" \" + value + \"]\");","      }","      return _results;","    })();","    return printLine(strings.join(' '));","  };","","  parseOptions = function() {","    var i, o, source, _i, _len;","    optionParser = new optparse.OptionParser(SWITCHES, BANNER);","    o = opts = optionParser.parse(process.argv.slice(2));","    o.compile || (o.compile = !!o.output);","    o.run = !(o.compile || o.print || o.lint);","    o.print = !!(o.print || (o[\"eval\"] || o.stdio &amp;&amp; o.compile));","    sources = o[\"arguments\"];","    for (i = _i = 0, _len = sources.length; _i &lt; _len; i = ++_i) {","      source = sources[i];","      sourceCode[i] = null;","    }","  };","","  compileOptions = function(filename) {","    return {","      filename: filename,","      bare: opts.bare,","      header: opts.compile","    };","  };","","  forkNode = function() {","    var args, nodeArgs;","    nodeArgs = opts.nodejs.split(/\\s+/);","    args = process.argv.slice(1);","    args.splice(args.indexOf('--nodejs'), 2);","    return spawn(process.execPath, nodeArgs.concat(args), {","      cwd: process.cwd(),","      env: process.env,","      customFds: [0, 1, 2]","    });","  };","","  usage = function() {","    return printLine((new optparse.OptionParser(SWITCHES, BANNER)).help());","  };","","  version = function() {","    return printLine(\"CoffeeScript version \" + CoffeeScript.VERSION);","  };","","}).call(this);"];
