text: (function(){var a,b,c,d,e;a=void 0,b=void 0,c=void 0,d=void 0,e=void 0,d={flip:function(a){return function(b,c){return 2===arguments.length?a.call(c,b):function(c){return a.call(c,b)}}},extend:function(a,b){var c;c=void 0;for(c in b)b.hasOwnProperty(c)&&(a[c]=b[c]);return a},include:function(a,b){var c;c=void 0;for(c in b)b.hasOwnProperty(c)&&(a.prototype[c]=b[c]);return a}},a=function(){var a,b,c,e,f,g;if(a=void 0,b=void 0,c=void 0,e=void 0,f=void 0,g=void 0,0===arguments.length)throw new Error("arguments null");return 1===arguments.length?(c=null,g=arguments[0]):(c=arguments[0],g=arguments[1]),g.hasOwnProperty("attributes")&&(e=g.attributes,delete g.attributes),a=function(){void 0!==e&&"object"==typeof e&&d.extend(this,e),a.surrogate&&a.surrogate.hasOwnProperty("initialize")&&a.surrogate.initialize.apply(this,arguments),a.prototype.hasOwnProperty("initialize")&&a.prototype.initialize.apply(this,arguments)},a.extendClass=function(b){return d.extend(a,b)},a.include=function(b){return d.include(a,b)},c=c||Object,b=function(){},b.prototype=c.prototype,a.prototype=new b,a.surrogate=c.prototype,a.prototype.$constructor=a,a.prototype.$extend=function(a){return d.extend(this,a)},a.prototype.$watch=function(a,b){var c,d,e,f;return c=void 0,d=void 0,e=void 0,f=void 0,e=this[a],d=e,c=function(){return d},f=function(c){return e=d,d=b.call(this,a,e,c)},delete this[a]&&Object.defineProperty(this,a,{get:c,set:f,enumerable:!0,configurable:!0}),this},a.prototype.$unwatch=function(a){var b;return b=void 0,b=this[a],delete this[a],this[a]=b,this},a.prototype.$getAttributes=function(){var a,b,c;a=void 0,b=void 0,c=void 0,a=[];for(b in this)"function"!=typeof this[b]&&(c={},c[b]=this[b],a.push(c));return a},d.include(a,g)},b=function(a){return function(b){var c,e,f,g;c=void 0,e=void 0,f=void 0,g=void 0,c=function(){var a;return a=void 0,a=this instanceof c?this:new c,b.apply(a,arguments)},g=void 0,f=new b,e=new c;for(g in f)e.hasOwnProperty(g)&&delete f[g];return c.prototype=d.extend(f,a),c}},c={after:function(a){return function(b){return function(){var c;return c=void 0,c=b.apply(this,arguments),a.call(this,c),c}}},before:function(a){return function(b){return function(){return a.apply(this,arguments),b.apply(this,arguments)}}}},e="undefined"!=typeof exports&&null!==exports?exports:window,e.$Class=a,e.$Decorator=b,e.$Policies=c,e.$fn=d}).call(this);