text: "use strict";var dmf=function(){var a={startup:null};return{config:{},data:{},factories:null,fn:null,events:{},modules:{},settings:{},activate:function(b){return dmf.settings=dmf.fn.extend({},a,b),b.startup?dmf.startModule(b.startup):!1},registerModule:function(a,b){dmf.modules[a]={create:b,config:dmf.config[a],instance:null}},createModule:function(){announce("log",{mgs:["createModule is deprecated, use registerModule"],severity:2})},startModule:function(a){var b=dmf.modules[a];if(!b)return!1;var c=b.create(dmf,b.config);return b.instance=dmf.factories.module(c),b=b.instance,b.start&&b.start(),b.listeners&&dmf.registerEvents(b.listeners,a),announce("module-started",a),b},startModules:function(a){a.forEach(dmf.startModule)},stopModule:function(a){var b=dmf.modules[a];return b&&b.instance?(b=b.instance,b.listeners&&dmf.deregisterEvents(b.listeners,a),b.stop&&b.stop(),delete dmf.modules[a].instance,announce("module-stopped",a),!0):!1},stopModules:function(a){a.forEach(dmf.stopModule,dmf)},registerEvents:function(a,b){for(var c in a)dmf.events[c]||(dmf.events[c]={}),dmf.events[c][b]=a[c]},deregisterEvents:function(a,b){for(var c in a)delete dmf.events[c][b]},announce:function(a){2===arguments.length?a={type:arguments[0],data:arguments[1]}:"string"==typeof a&&(a={type:a,data:{}});var b=dmf.events[a.type];if(b){var c;for(c in b)b[c](a.data)}},notify:function(a){announce(a),announce("log",{mgs:["Notify is deprecated, use announce"],severity:2})}}}();!function(){dmf.fn={is:function(a){return{}.toString.call(collection)===a},extend:function(){for(var a=1;a<arguments.length;a++)for(var b in arguments[a])arguments[a].hasOwnProperty(b)&&(arguments[0][b]=arguments[a][b]);return arguments[0]}}}(),function(a){a.factories={module:function(b){var c={start:!1,stop:!1,listeners:!1};return a.fn.extend({},c,b)}}}(dmf);