/* automatically generated by JSCoverage - do not edit */
if (typeof _$jscoverage === 'undefined') _$jscoverage = {};
if (! _$jscoverage['coffee-script/cake.js']) {
  _$jscoverage['coffee-script/cake.js'] = [];
  _$jscoverage['coffee-script/cake.js'][2] = 0;
  _$jscoverage['coffee-script/cake.js'][3] = 0;
  _$jscoverage['coffee-script/cake.js'][5] = 0;
  _$jscoverage['coffee-script/cake.js'][7] = 0;
  _$jscoverage['coffee-script/cake.js'][9] = 0;
  _$jscoverage['coffee-script/cake.js'][11] = 0;
  _$jscoverage['coffee-script/cake.js'][13] = 0;
  _$jscoverage['coffee-script/cake.js'][15] = 0;
  _$jscoverage['coffee-script/cake.js'][17] = 0;
  _$jscoverage['coffee-script/cake.js'][19] = 0;
  _$jscoverage['coffee-script/cake.js'][21] = 0;
  _$jscoverage['coffee-script/cake.js'][23] = 0;
  _$jscoverage['coffee-script/cake.js'][25] = 0;
  _$jscoverage['coffee-script/cake.js'][27] = 0;
  _$jscoverage['coffee-script/cake.js'][28] = 0;
  _$jscoverage['coffee-script/cake.js'][29] = 0;
  _$jscoverage['coffee-script/cake.js'][31] = 0;
  _$jscoverage['coffee-script/cake.js'][38] = 0;
  _$jscoverage['coffee-script/cake.js'][41] = 0;
  _$jscoverage['coffee-script/cake.js'][42] = 0;
  _$jscoverage['coffee-script/cake.js'][44] = 0;
  _$jscoverage['coffee-script/cake.js'][48] = 0;
  _$jscoverage['coffee-script/cake.js'][49] = 0;
  _$jscoverage['coffee-script/cake.js'][50] = 0;
  _$jscoverage['coffee-script/cake.js'][51] = 0;
  _$jscoverage['coffee-script/cake.js'][52] = 0;
  _$jscoverage['coffee-script/cake.js'][53] = 0;
  _$jscoverage['coffee-script/cake.js'][56] = 0;
  _$jscoverage['coffee-script/cake.js'][57] = 0;
  _$jscoverage['coffee-script/cake.js'][58] = 0;
  _$jscoverage['coffee-script/cake.js'][60] = 0;
  _$jscoverage['coffee-script/cake.js'][61] = 0;
  _$jscoverage['coffee-script/cake.js'][63] = 0;
  _$jscoverage['coffee-script/cake.js'][65] = 0;
  _$jscoverage['coffee-script/cake.js'][66] = 0;
  _$jscoverage['coffee-script/cake.js'][67] = 0;
  _$jscoverage['coffee-script/cake.js'][68] = 0;
  _$jscoverage['coffee-script/cake.js'][69] = 0;
  _$jscoverage['coffee-script/cake.js'][71] = 0;
  _$jscoverage['coffee-script/cake.js'][74] = 0;
  _$jscoverage['coffee-script/cake.js'][75] = 0;
  _$jscoverage['coffee-script/cake.js'][76] = 0;
  _$jscoverage['coffee-script/cake.js'][77] = 0;
  _$jscoverage['coffee-script/cake.js'][78] = 0;
  _$jscoverage['coffee-script/cake.js'][79] = 0;
  _$jscoverage['coffee-script/cake.js'][80] = 0;
  _$jscoverage['coffee-script/cake.js'][81] = 0;
  _$jscoverage['coffee-script/cake.js'][82] = 0;
  _$jscoverage['coffee-script/cake.js'][83] = 0;
  _$jscoverage['coffee-script/cake.js'][84] = 0;
  _$jscoverage['coffee-script/cake.js'][86] = 0;
  _$jscoverage['coffee-script/cake.js'][87] = 0;
  _$jscoverage['coffee-script/cake.js'][91] = 0;
  _$jscoverage['coffee-script/cake.js'][92] = 0;
  _$jscoverage['coffee-script/cake.js'][93] = 0;
  _$jscoverage['coffee-script/cake.js'][94] = 0;
  _$jscoverage['coffee-script/cake.js'][97] = 0;
  _$jscoverage['coffee-script/cake.js'][98] = 0;
  _$jscoverage['coffee-script/cake.js'][101] = 0;
  _$jscoverage['coffee-script/cake.js'][102] = 0;
  _$jscoverage['coffee-script/cake.js'][103] = 0;
  _$jscoverage['coffee-script/cake.js'][104] = 0;
  _$jscoverage['coffee-script/cake.js'][106] = 0;
  _$jscoverage['coffee-script/cake.js'][107] = 0;
  _$jscoverage['coffee-script/cake.js'][108] = 0;
  _$jscoverage['coffee-script/cake.js'][110] = 0;
}
_$jscoverage['coffee-script/cake.js'][2]++;
(function () {
  _$jscoverage['coffee-script/cake.js'][3]++;
  var CoffeeScript, cakefileDirectory, existsSync, fatalError, fs, helpers, missingTask, oparse, options, optparse, path, printTasks, switches, tasks;
  _$jscoverage['coffee-script/cake.js'][5]++;
  fs = require("fs");
  _$jscoverage['coffee-script/cake.js'][7]++;
  path = require("path");
  _$jscoverage['coffee-script/cake.js'][9]++;
  helpers = require("./helpers");
  _$jscoverage['coffee-script/cake.js'][11]++;
  optparse = require("./optparse");
  _$jscoverage['coffee-script/cake.js'][13]++;
  CoffeeScript = require("./coffee-script");
  _$jscoverage['coffee-script/cake.js'][15]++;
  existsSync = fs.existsSync || path.existsSync;
  _$jscoverage['coffee-script/cake.js'][17]++;
  tasks = {};
  _$jscoverage['coffee-script/cake.js'][19]++;
  options = {};
  _$jscoverage['coffee-script/cake.js'][21]++;
  switches = [];
  _$jscoverage['coffee-script/cake.js'][23]++;
  oparse = null;
  _$jscoverage['coffee-script/cake.js'][25]++;
  helpers.extend(global, {task: (function (name, description, action) {
  _$jscoverage['coffee-script/cake.js'][27]++;
  var _ref;
  _$jscoverage['coffee-script/cake.js'][28]++;
  if (! action) {
    _$jscoverage['coffee-script/cake.js'][29]++;
    _ref = [description, action], action = _ref[0], description = _ref[1];
  }
  _$jscoverage['coffee-script/cake.js'][31]++;
  return tasks[name] = {name: name, description: description, action: action};
}), option: (function (letter, flag, description) {
  _$jscoverage['coffee-script/cake.js'][38]++;
  return switches.push([letter, flag, description]);
}), invoke: (function (name) {
  _$jscoverage['coffee-script/cake.js'][41]++;
  if (! tasks[name]) {
    _$jscoverage['coffee-script/cake.js'][42]++;
    missingTask(name);
  }
  _$jscoverage['coffee-script/cake.js'][44]++;
  return tasks[name].action(options);
})});
  _$jscoverage['coffee-script/cake.js'][48]++;
  exports.run = (function () {
  _$jscoverage['coffee-script/cake.js'][49]++;
  var arg, args, _i, _len, _ref, _results;
  _$jscoverage['coffee-script/cake.js'][50]++;
  global.__originalDirname = fs.realpathSync(".");
  _$jscoverage['coffee-script/cake.js'][51]++;
  process.chdir(cakefileDirectory(__originalDirname));
  _$jscoverage['coffee-script/cake.js'][52]++;
  args = process.argv.slice(2);
  _$jscoverage['coffee-script/cake.js'][53]++;
  CoffeeScript.run(fs.readFileSync("Cakefile").toString(), {filename: "Cakefile"});
  _$jscoverage['coffee-script/cake.js'][56]++;
  oparse = new optparse.OptionParser(switches);
  _$jscoverage['coffee-script/cake.js'][57]++;
  if (! args.length) {
    _$jscoverage['coffee-script/cake.js'][58]++;
    return printTasks();
  }
  _$jscoverage['coffee-script/cake.js'][60]++;
  try {
    _$jscoverage['coffee-script/cake.js'][61]++;
    options = oparse.parse(args);
  }
  catch (e) {
    _$jscoverage['coffee-script/cake.js'][63]++;
    return fatalError("" + e);
  }
  _$jscoverage['coffee-script/cake.js'][65]++;
  _ref = options.arguments;
  _$jscoverage['coffee-script/cake.js'][66]++;
  _results = [];
  _$jscoverage['coffee-script/cake.js'][67]++;
  for (_i = 0, _len = _ref.length; _i < _len; _i++) {
    _$jscoverage['coffee-script/cake.js'][68]++;
    arg = _ref[_i];
    _$jscoverage['coffee-script/cake.js'][69]++;
    _results.push(invoke(arg));
}
  _$jscoverage['coffee-script/cake.js'][71]++;
  return _results;
});
  _$jscoverage['coffee-script/cake.js'][74]++;
  printTasks = (function () {
  _$jscoverage['coffee-script/cake.js'][75]++;
  var cakefilePath, desc, name, relative, spaces, task;
  _$jscoverage['coffee-script/cake.js'][76]++;
  relative = path.relative || path.resolve;
  _$jscoverage['coffee-script/cake.js'][77]++;
  cakefilePath = path.join(relative(__originalDirname, process.cwd()), "Cakefile");
  _$jscoverage['coffee-script/cake.js'][78]++;
  console.log("" + cakefilePath + " defines the following tasks:\n");
  _$jscoverage['coffee-script/cake.js'][79]++;
  for (name in tasks) {
    _$jscoverage['coffee-script/cake.js'][80]++;
    task = tasks[name];
    _$jscoverage['coffee-script/cake.js'][81]++;
    spaces = 20 - name.length;
    _$jscoverage['coffee-script/cake.js'][82]++;
    spaces = spaces > 0? Array(spaces + 1).join(" "): "";
    _$jscoverage['coffee-script/cake.js'][83]++;
    desc = task.description? "# " + task.description: "";
    _$jscoverage['coffee-script/cake.js'][84]++;
    console.log("cake " + name + spaces + " " + desc);
}
  _$jscoverage['coffee-script/cake.js'][86]++;
  if (switches.length) {
    _$jscoverage['coffee-script/cake.js'][87]++;
    return console.log(oparse.help());
  }
});
  _$jscoverage['coffee-script/cake.js'][91]++;
  fatalError = (function (message) {
  _$jscoverage['coffee-script/cake.js'][92]++;
  console.error(message + "\n");
  _$jscoverage['coffee-script/cake.js'][93]++;
  console.log("To see a list of all tasks/options, run \"cake\"");
  _$jscoverage['coffee-script/cake.js'][94]++;
  return process.exit(1);
});
  _$jscoverage['coffee-script/cake.js'][97]++;
  missingTask = (function (task) {
  _$jscoverage['coffee-script/cake.js'][98]++;
  return fatalError("No such task: " + task);
});
  _$jscoverage['coffee-script/cake.js'][101]++;
  cakefileDirectory = (function (dir) {
  _$jscoverage['coffee-script/cake.js'][102]++;
  var parent;
  _$jscoverage['coffee-script/cake.js'][103]++;
  if (existsSync(path.join(dir, "Cakefile"))) {
    _$jscoverage['coffee-script/cake.js'][104]++;
    return dir;
  }
  _$jscoverage['coffee-script/cake.js'][106]++;
  parent = path.normalize(path.join(dir, ".."));
  _$jscoverage['coffee-script/cake.js'][107]++;
  if (parent !== dir) {
    _$jscoverage['coffee-script/cake.js'][108]++;
    return cakefileDirectory(parent);
  }
  _$jscoverage['coffee-script/cake.js'][110]++;
  throw new Error("Cakefile not found in " + process.cwd());
});
}).call(this);
_$jscoverage['coffee-script/cake.js'].source = ["// Generated by CoffeeScript 1.4.0","(function() {","  var CoffeeScript, cakefileDirectory, existsSync, fatalError, fs, helpers, missingTask, oparse, options, optparse, path, printTasks, switches, tasks;","","  fs = require('fs');","","  path = require('path');","","  helpers = require('./helpers');","","  optparse = require('./optparse');","","  CoffeeScript = require('./coffee-script');","","  existsSync = fs.existsSync || path.existsSync;","","  tasks = {};","","  options = {};","","  switches = [];","","  oparse = null;","","  helpers.extend(global, {","    task: function(name, description, action) {","      var _ref;","      if (!action) {","        _ref = [description, action], action = _ref[0], description = _ref[1];","      }","      return tasks[name] = {","        name: name,","        description: description,","        action: action","      };","    },","    option: function(letter, flag, description) {","      return switches.push([letter, flag, description]);","    },","    invoke: function(name) {","      if (!tasks[name]) {","        missingTask(name);","      }","      return tasks[name].action(options);","    }","  });","","  exports.run = function() {","    var arg, args, _i, _len, _ref, _results;","    global.__originalDirname = fs.realpathSync('.');","    process.chdir(cakefileDirectory(__originalDirname));","    args = process.argv.slice(2);","    CoffeeScript.run(fs.readFileSync('Cakefile').toString(), {","      filename: 'Cakefile'","    });","    oparse = new optparse.OptionParser(switches);","    if (!args.length) {","      return printTasks();","    }","    try {","      options = oparse.parse(args);","    } catch (e) {","      return fatalError(\"\" + e);","    }","    _ref = options[\"arguments\"];","    _results = [];","    for (_i = 0, _len = _ref.length; _i &lt; _len; _i++) {","      arg = _ref[_i];","      _results.push(invoke(arg));","    }","    return _results;","  };","","  printTasks = function() {","    var cakefilePath, desc, name, relative, spaces, task;","    relative = path.relative || path.resolve;","    cakefilePath = path.join(relative(__originalDirname, process.cwd()), 'Cakefile');","    console.log(\"\" + cakefilePath + \" defines the following tasks:\\n\");","    for (name in tasks) {","      task = tasks[name];","      spaces = 20 - name.length;","      spaces = spaces &gt; 0 ? Array(spaces + 1).join(' ') : '';","      desc = task.description ? \"# \" + task.description : '';","      console.log(\"cake \" + name + spaces + \" \" + desc);","    }","    if (switches.length) {","      return console.log(oparse.help());","    }","  };","","  fatalError = function(message) {","    console.error(message + '\\n');","    console.log('To see a list of all tasks/options, run \"cake\"');","    return process.exit(1);","  };","","  missingTask = function(task) {","    return fatalError(\"No such task: \" + task);","  };","","  cakefileDirectory = function(dir) {","    var parent;","    if (existsSync(path.join(dir, 'Cakefile'))) {","      return dir;","    }","    parent = path.normalize(path.join(dir, '..'));","    if (parent !== dir) {","      return cakefileDirectory(parent);","    }","    throw new Error(\"Cakefile not found in \" + (process.cwd()));","  };","","}).call(this);"];
