text: !function(e,r,t){if("function"==typeof require&&"object"==typeof exports&&"object"==typeof module)module.exports=t();else if("function"==typeof define&&"object"==typeof define.amd)define(function(){return t()});else{var n=r[e];r[e]=t(),r[e].noConflict=function(){return r[e]=n,this}}}("__",this,function(){var i,doc,isArray=Array.isArray||function(e){return"[object Array]"==toString.call(e)},__=function(e,r){var t,n,o,i,a,s,l,u,f,p,c,_,g,y,m,h,d;if(!__.belongs(e,Object))throw Error("parameter 'signature' waiting for Object argument but received "+__.typeof(e));if(void 0!==r&&!__.belongs(r,Array)&&!__.belongs(r,"Arguments"))throw Error("parameter 'upperArguments' waiting for Array or Arguments argument but received "+__.typeof(r));try{t=r||arguments.callee.caller.arguments}catch(b){throw Error("It is not possible to infer arguments in strict mode. See http://github.com/zvictor/ArgueJs#propagating-arguments for alternatives.")}t=Array.prototype.slice.call(t),n=0;for(o in e)n++;if(t.length>n)throw Error("Too many arguments");i=[t],a=-1;for(o in e){if(!isNaN(parseFloat(o))&&isFinite(o))throw Error("NameError: a parameter name can not be numeric");if(a++,s=isArray(e[o]),l=s?e[o][0]:e[o],void 0===l)throw new TypeError("unsupported parameter type "+l);for(u=i.slice(0),f=0;f<u.length;f++){if(p=u[f],c=p[a],null!==l&&!__.belongs(c,l)&&(i.splice(i.indexOf(p),1),!s&&!i.length))throw Error("parameter '"+o+"' waiting for "+(l.name||l)+" argument but received "+__.typeof(c));p=u[f].slice(0),void 0!==c&&p.splice(a,0,void 0),s&&p.length<=n&&i.push(p)}}if(!i.length){_=[];for(g in e)__.belongs(e[g],Array)?_.push("["+e[g][0].name+"]"):_.push(e[g].name);for(y=[],f=0;f<t.length;f++)y.push(__.typeof(t[f]));throw Error("Incompatible type signature. Expecting ( "+_.join(", ")+" ), given ( "+y.join(", ")+" ).")}t=i[i.length-1],m={doc:doc},h=0;for(o in e)c=t[h],d=e[o],s=isArray(d),l=s?d[0]:d,s&&!__.belongs(c,l)&&(c=d[1]),h++,m[o]=c;return m},specialTypes=[function(){throw Error("It is not possible to create a new Arguments instance")},function(){return Function("return this")()}];for(__.type={},i=0;i<specialTypes.length;i++)__.type[specialTypes[i].name]=specialTypes[i];return __.getType=function(obj){if(void 0===obj||null===obj)return obj;if(obj===__.type.global())return __.type.global;var name={}.toString.call(obj).match(/\s([a-z|A-Z]+)/)[1];return-1!=["Arguments"].indexOf(name)?__.type[name]:eval(name)},__.typeof=function(e){var r=__.getType(e),t={}.toString.call(r).match(/\s([a-z|A-Z]+)/)[1];return void 0===r?"Undefined":null===r?"Null":r&&r.hasOwnProperty("name")?r.name:t},__.belongs=function(e,r){var t=!1;if(null===r||void 0===r)return e===r;if(r==Function&&"function"!=typeof/./)t="function"==typeof e;else if(r==Boolean)t=e===!0||e===!1||__.getType(e)==Boolean;else if(r==Array)t=isArray(e);else if(r in __.type)t=__.typeof(e)===r;else if(r&&r.hasOwnProperty("name")&&-1!=["Arguments","Function","String","Number","Date","RegExp","Object"].indexOf(r.name))t=__.getType(e)===r;else try{t=e instanceof r}catch(n){throw new TypeError("unsupported type "+r)}return t},__.noConflict=function(){throw Error("noConflit is not implemented for module loaders")},doc=function(){throw Error("Not implemented yet")},__});