(function(){function e(t,n,r){var i=e.resolve(t),s=e.modules[i];if(null==i)throw r=r||t,n=n||"root",new Error('failed to require "'+r+'" from "'+n+'"');return s.exports||(s.exports={},s.client=s.component=!0,s.call(this,s,s.exports,e.relative(i))),s.exports}e.modules={},e.aliases={},e.resolve=function(t){var n=t,r=t+".js",i=t+".json",s=t+"/index.js",o=t+"/index.json";return e.modules[r]&&r||e.modules[i]&&i||e.modules[s]&&s||e.modules[o]&&o||e.modules[n]&&n||e.aliases[s]},e.normalize=function(e,t){var n=[];if("."!=t.charAt(0))return t;e=e.split("/"),t=t.split("/");for(var r=0;r=t},t.length=function(e,t){return e!=null&&e.length&&e.length===t},t.minlength=function(e,t){return e!=null&&e.length!=null&&e.length>=t},t.maxlength=function(e,t){return e!=null&&e.length!=null&&e.length<=t},t.range=function(e,t){return e!=null&&t.from<=e&&e<=t.to},t.in=function(e,t){return i(t,e)>-1}}),e.register("ok/index.js",function(e,t,n){var r=n("./lib/errors"),i=n("validates"),s=n("each");e.exports=function(e,t){return errors=new r,s(t,function(n){var r=e[n];if(t[n].required===!0&&r==null)return errors.add(n,"required");s(t[n],function(s){var o=t[n][s],u=i[s],a=!1;if(typeof o=="function"&&o.call(this,r,e)===!1)return errors.add(n,s);if(!u)return;o===!0||o===!1?a=u(r)===o:a=u(r,o),a===!1&&errors.add(n,s)})}),errors}}),e.register("ok/lib/errors.js",function(e,t,n){function i(){this.errors={},this.length=0}var r=n("each");i.prototype.add=function(e,t){this.errors[e]=this.errors[e]||[];var n=!1;return r(this.errors[e],function(e){e===t&&(n=!0)}),n===!1&&(this.length+=1,this.errors[e].push(t)),this.errors},i.prototype.isValid=function(e){return this.errors[e]==null},i.prototype.get=function(e){return this.errors[e]||!1},i.prototype.invalid=function(e){return this.errors[e]?this.errors[e]:!1},i.prototype.each=function(e,t){r(this.errors[e],t,this)},i.prototype.keys=function(e){r(this.errors,e)},i.prototype.toJSON=function(){return this.errors},e.exports=i}),e.alias("component-each/index.js","ok/deps/each/index.js"),e.alias("component-type/index.js","component-each/deps/type/index.js"),e.alias("anthonyshort-validates/index.js","ok/deps/validates/index.js"),e.alias("component-each/index.js","anthonyshort-validates/deps/each/index.js"),e.alias("component-type/index.js","component-each/deps/type/index.js"),e.alias("component-indexof/index.js","anthonyshort-validates/deps/indexof/index.js"),"undefined"==typeof module?window.ok=e("ok"):module.exports=e("ok")})();