(function() { var __r__c__ = this; /** Generated by SimQ **/ /** modules **/ // Generated by CoffeeScript 1.6.3 (function() { var SUPPORTED, arrayIndexOf, cache, creating, modules, require, resolve, stats; if (!this.require) { SUPPORTED = ['js', 'json', 'ts', 'coffee', 'eco']; modules = {}; stats = {}; cache = {}; creating = []; require = function(name, parent) { var fullName, m; if (parent == null) { parent = null; } fullName = resolve(name, parent); if (typeof cache[fullName] === 'undefined') { m = { exports: {}, id: fullName, filename: fullName, loaded: false, parent: null, children: null }; if (arrayIndexOf(creating, fullName) === -1) { creating.push(fullName); modules[fullName].apply(window, [m.exports, m]); creating.splice(arrayIndexOf(creating, fullName)); cache[fullName] = m; } m.loaded = true; } else { m = cache[fullName]; } if (typeof stats[fullName] === 'undefined') { stats[fullName] = { atime: null, mtime: null, ctime: null }; } stats[fullName].atime = new Date; return m.exports; }; resolve = function(name, parent) { var ext, num, original, part, parts, prev, result, _i, _j, _k, _len, _len1, _len2; if (parent == null) { parent = null; } original = name; if (parent !== null && name[0] === '.') { num = parent.lastIndexOf('/'); if (num !== -1) { parent = parent.substr(0, num); } name = parent + '/' + name; } parts = name.split('/'); result = []; prev = null; for (_i = 0, _len = parts.length; _i < _len; _i++) { part = parts[_i]; if (part === '.' || part === '') { continue; } else if (part === '..' && prev) { result.pop(); } else { result.push(part); } prev = part; } name = result.join('/'); if ((original[0] === '/') || (parent !== null && parent[0] === '/' && original[0] === '.')) { name = '/' + name; } if (typeof modules[name] !== 'undefined') { return name; } for (_j = 0, _len1 = SUPPORTED.length; _j < _len1; _j++) { ext = SUPPORTED[_j]; if (typeof modules[name + '.' + ext] !== 'undefined') { return name + '.' + ext; } } for (_k = 0, _len2 = SUPPORTED.length; _k < _len2; _k++) { ext = SUPPORTED[_k]; if (typeof modules[name + '/index.' + ext] !== 'undefined') { return name + '/index.' + ext; } } throw new Error("Module " + original + " was not found."); }; arrayIndexOf = function(array, search) { var element, i, _i, _len; if (typeof Array.prototype.indexOf !== 'undefined') { return array.indexOf(search); } if (array.length === 0) { return -1; } for (i = _i = 0, _len = array.length; _i < _len; i = ++_i) { element = array[i]; if (element === search) { return i; } } return -1; }; this.require = function(name, parent) { if (parent == null) { parent = null; } return require(name, parent); }; this.require.simq = true; this.require.version = 1; this.require.resolve = function(name, parent) { if (parent == null) { parent = null; } return resolve(name, parent); }; this.require.define = function(bundleOrName, obj) { var m, name, _results; if (obj == null) { obj = null; } if (typeof bundleOrName === 'string') { return modules[bundleOrName] = obj; } else { _results = []; for (name in bundleOrName) { m = bundleOrName[name]; _results.push(modules[name] = m); } return _results; } }; this.require.release = function() { var name, _results; _results = []; for (name in cache) { _results.push(delete cache[name]); } return _results; }; this.require.getStats = function(name, parent) { var fullName; if (parent == null) { parent = null; } fullName = resolve(name, parent); if (fullName === null) { throw new Error('Module ' + name + ' was not found.'); } if (typeof stats[fullName] === 'undefined') { stats[fullName] = { atime: null, mtime: null, ctime: null }; } return stats[fullName]; }; this.require.__setStats = function(bundle) { var data, name, _results; _results = []; for (name in bundle) { data = bundle[name]; _results.push(stats[name] = { atime: new Date(data.atime), mtime: new Date(data.mtime), ctime: new Date(data.ctime) }); } return _results; }; this.require.cache = cache; } return this.require.define; }).call(this)({ '/lib/Args.js': function(exports, module) { /** node globals **/ var require = function(name) {return __r__c__.require(name, '/lib/Args.js');}; require.resolve = function(name, parent) {if (parent === null) {parent = '/lib/Args.js';} return __r__c__.require.resolve(name, parent);}; require.define = function(bundle) {__r__c__.require.define(bundle);}; require.cache = __r__c__.require.cache; var __filename = '/lib/Args.js'; var __dirname = '/lib'; var process = {cwd: function() {return '/';}, argv: ['node', '/lib/Args.js'], env: {}}; /** code **/ // Generated by CoffeeScript 1.6.3 (function() { var args, count, emptyArgument, expandArguments, exportFunc, fn, isFunction, name, type, types; types = { string: '[object String]', number: '[object Number]', 'boolean': '[object Boolean]', array: '[object Array]', object: '[object Object]', fn: '[object Function]' }; exportFunc = { string: function(d) { return { type: 'string', d: d }; }, number: function(d) { return { type: 'number', d: d }; }, 'boolean': function(d) { return { type: 'boolean', d: d }; }, array: function(d) { return { type: 'array', d: d }; }, object: function(d) { return { type: 'object', d: d }; }, any: function(d) { return { type: 'any', d: d }; }, fn: function(d) { return { type: 'fn', d: d }; }, oneOf: function(list, d) { var i, readable, t, type, _i, _len; if (d == null) { d = null; } readable = []; for (i = _i = 0, _len = list.length; _i < _len; i = ++_i) { type = list[i]; t = type().type; list[i] = types[t]; readable.push(t); } return { type: 'oneOf', d: d, dCalled: arguments.length === 2, types: list, readable: readable }; } }; emptyArgument = {}; type = Object.prototype.toString; isFunction = function(v) { return type.call(v) === '[object Function]'; }; count = function(num) { switch (num) { case 1: return 'st'; case 2: return 'nd'; case 3: return 'rd'; default: return 'th'; } }; expandArguments = function(params, expected) { var actual, e, i, _i, _len; if (params == null) { params = []; } if (expected == null) { expected = []; } for (i = _i = 0, _len = expected.length; _i < _len; i = ++_i) { e = expected[i]; if (isFunction(e)) { e = e(); } actual = type.call(params[i]); if (params[i] !== null && e.type !== 'any' && ((e.type === 'oneOf' && e.types.indexOf(actual) === -1) || (e.type !== 'oneOf' && types[e.type] !== actual))) { params.splice(i, 0, emptyArgument); } } return params; }; args = function(params, expected) { var e, expect, fn, i, last, must, num, param, _i, _len; if (params == null) { params = []; } if (expected == null) { expected = []; } if (type.call(params) === '[object Arguments]') { params = Array.prototype.slice.call(params); } params = expandArguments(params, expected); for (i = _i = 0, _len = params.length; _i < _len; i = ++_i) { param = params[i]; expect = null; e = expected[i]; if (typeof e !== 'undefined') { expect = isFunction(e) ? e().type : e.type; } if (param === emptyArgument) { fn = isFunction(e); if (fn || (!fn && e.type === 'oneOf' && e.dCalled === false)) { if (fn) { must = e().type; } else { if (e.readable.length === 1) { must = e.readable[0]; } else { last = e.readable.pop(); must = e.readable.join(', ') + ' or ' + last; } } num = i + 1; throw new Error(num + count(num) + ' argument must be ' + must); } params[i] = e.d; } } return params; }; for (name in exportFunc) { fn = exportFunc[name]; args[name] = fn; } module.exports = args; }).call(this); }, '/lib/Expand.js': function(exports, module) { /** node globals **/ var require = function(name) {return __r__c__.require(name, '/lib/Expand.js');}; require.resolve = function(name, parent) {if (parent === null) {parent = '/lib/Expand.js';} return __r__c__.require.resolve(name, parent);}; require.define = function(bundle) {__r__c__.require.define(bundle);}; require.cache = __r__c__.require.cache; var __filename = '/lib/Expand.js'; var __dirname = '/lib'; var process = {cwd: function() {return '/';}, argv: ['node', '/lib/Expand.js'], env: {}}; /** code **/ // Generated by CoffeeScript 1.6.3 (function() { window.normalizeArguments = require('/lib/Args.js'); }).call(this); } }); __r__c__.require.version = '5.6.3'; /** run section **/ /** /lib/Expand.js **/ __r__c__.require('/lib/Expand.js'); }).call({});