{"version":3,"sources":["jsdelivr-header.js","/npm/includejs-loader@0.5.3/lib/include.node.js"],"names":[],"mappings":"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","file":"/npm/includejs-loader@0.5.3/lib/include.node.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/includejs-loader@0.5.3/lib/include.node.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","\r\nvar __eval = function(source, include) {\r\n\t\"use strict\";\r\n\t\r\n\tvar iparams = include && include.route.params;\r\n\t\r\n\ttry {\r\n\t\treturn eval(source);\r\n\t} catch (error) {\r\n\t\terror.url = include && include.url;\r\n\t\t//Helper.reportError(error);\r\n\t\tconsole.error(error);\r\n\t}\r\n\t\r\n};\r\n\r\n;(function(global, document) {\r\n\r\n\t\"use strict\";\r\n\t\r\n\t\r\n\r\n\r\n/**\r\n *\t.cfg\r\n *\t\t: path :=\troot path. @default current working path, im browser window.location;\r\n *\t\t: eval := in node.js this conf. is forced\r\n *\t\t: lockedToFolder := makes current url as root path\r\n *\t\t\tExample \"/script/main.js\" within this window.location \"{domain}/apps/1.html\"\r\n *\t\t\twill become \"{domain}/apps/script/main.js\" instead of \"{domain}/script/main.js\"\r\n */\r\n\r\nvar bin = {},\r\n\tisWeb = !! (global.location && global.location.protocol && /^https?:/.test(global.location.protocol)),\r\n\tcfg = {\r\n\t\teval: document == null\r\n\t},\t\r\n\thandler = {},\r\n\thasOwnProp = {}.hasOwnProperty,\r\n\t//-currentParent = null,\r\n\tXMLHttpRequest = global.XMLHttpRequest;\r\n\t\r\nvar Helper = { /** TODO: improve url handling*/\r\n\turi: {\r\n\t\tgetDir: function(url) {\r\n\t\t\tvar index = url.lastIndexOf('/');\r\n\t\t\treturn index == -1 ? '' : url.substring(index + 1, -index);\r\n\t\t},\r\n\t\t/** @obsolete */\r\n\t\tresolveCurrent: function() {\r\n\t\t\tvar scripts = document.getElementsByTagName('script');\r\n\t\t\treturn scripts[scripts.length - 1].getAttribute('src');\r\n\t\t},\r\n\t\tresolveUrl: function(url, parent) {\r\n\t\t\tif (cfg.path && url[0] == '/') {\r\n\t\t\t\turl = cfg.path + url.substring(1);\r\n\t\t\t}\r\n\t\t\tif (url[0] == '/') {\r\n\t\t\t\tif (isWeb === false || cfg.lockedToFolder === true) {\r\n\t\t\t\t\treturn url.substring(1);\r\n\t\t\t\t}\r\n\t\t\t\treturn url;\r\n\t\t\t}\r\n\t\t\tswitch (url.substring(0, 5)) {\r\n\t\t\tcase 'file:':\r\n\t\t\tcase 'http:':\r\n\t\t\t\treturn url;\r\n\t\t\t}\r\n\r\n\t\t\tif (parent != null && parent.location != null) {\r\n\t\t\t\treturn parent.location + url;\r\n\t\t\t}\r\n\t\t\treturn url;\r\n\t\t}\r\n\t},\r\n\textend: function(target) {\r\n\t\tfor (var i = 1; i < arguments.length; i++) {\r\n\t\t\tvar source = arguments[i];\r\n\t\t\tif (typeof source === 'function') {\r\n\t\t\t\tsource = source.prototype;\r\n\t\t\t}\r\n\t\t\tfor (var key in source) {\r\n\t\t\t\ttarget[key] = source[key];\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn target;\r\n\t},\r\n\tinvokeEach: function(arr, args) {\r\n\t\tif (arr == null) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tif (arr instanceof Array) {\r\n\t\t\tfor (var i = 0, x, length = arr.length; i < length; i++) {\r\n\t\t\t\tx = arr[i];\r\n\t\t\t\tif (typeof x === 'function') {\r\n\t\t\t\t\t(args != null ? x.apply(this, args) : x());\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\tdoNothing: function(fn) {\r\n\t\ttypeof fn == 'function' && fn();\r\n\t},\r\n\treportError: function(e) {\r\n\t\tconsole.error('IncludeJS Error:', e, e.message, e.url);\r\n\t\ttypeof handler.onerror == 'function' && handler.onerror(e);\r\n\t},\r\n\tensureArray: function(obj, xpath) {\r\n\t\tif (!xpath) {\r\n\t\t\treturn obj;\r\n\t\t}\r\n\t\tvar arr = xpath.split('.');\r\n\t\twhile (arr.length - 1) {\r\n\t\t\tvar key = arr.shift();\r\n\t\t\tobj = obj[key] || (obj[key] = {});\r\n\t\t}\r\n\t\treturn (obj[arr.shift()] = []);\r\n\t}\r\n},\r\n\r\n\tXHR = function(resource, callback) {\r\n\t\tvar xhr = new XMLHttpRequest(),\r\n\t\t\ts = Date.now();\r\n\t\txhr.onreadystatechange = function() {\r\n\t\t\txhr.readyState == 4 && callback && callback(resource, xhr.responseText);\r\n\t\t};\r\n\r\n\t\txhr.open('GET', typeof resource === 'object' ? resource.url : resource, true);\r\n\t\txhr.send();\r\n\t};\r\nvar RoutesLib = function() {\r\n\r\n\tvar routes = {},\r\n\t\tregexpAlias = /([^\\\\\\/]+)\\.\\w+$/;\r\n\r\n\treturn {\r\n\t\t/**\r\n\t\t *\t@param route {String} = Example: '.reference/libjs/{0}/{1}.js'\r\n\t\t */\r\n\t\tregister: function(namespace, route) {\r\n\r\n\t\t\troutes[namespace] = route instanceof Array ? route : route.split(/[\\{\\}]/g);\r\n\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t *\t@param {String} template = Example: 'scroller/scroller.min?ui=black'\r\n\t\t */\r\n\t\tresolve: function(namespace, template) {\r\n\t\t\tvar questionMark = template.indexOf('?'),\r\n\t\t\t\taliasIndex = template.indexOf('::'),\r\n\t\t\t\talias, path, params, route, i, x, length;\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\tif (~aliasIndex){\r\n\t\t\t\talias = template.substring(aliasIndex + 2);\r\n\t\t\t\ttemplate = template.substring(0, aliasIndex);\r\n\t\t\t}\r\n\t\t\t\r\n\t\t\tif (~questionMark) {\r\n\t\t\t\tvar arr = template.substring(questionMark + 1).split('&');\r\n\r\n\t\t\t\tparams = {};\r\n\t\t\t\tfor (i = 0, length = arr.length; i < length; i++) {\r\n\t\t\t\t\tx = arr[i].split('=');\r\n\t\t\t\t\tparams[x[0]] = x[1];\r\n\t\t\t\t}\r\n\r\n\t\t\t\ttemplate = template.substring(0, questionMark);\r\n\t\t\t}\r\n\r\n\t\t\ttemplate = template.split('/');\r\n\t\t\troute = routes[namespace];\r\n\t\t\t\r\n\t\t\tif (route == null){\r\n\t\t\t\treturn {\r\n\t\t\t\t\tpath: template.join('/'),\r\n\t\t\t\t\tparams: params,\r\n\t\t\t\t\talias: alias\r\n\t\t\t\t};\r\n\t\t\t}\r\n\t\t\t\r\n\t\t\tpath = route[0];\r\n\t\t\t\r\n\t\t\tfor (i = 1; i < route.length; i++) {\r\n\t\t\t\tif (i % 2 === 0) {\r\n\t\t\t\t\tpath += route[i];\r\n\t\t\t\t} else {\r\n\t\t\t\t\t/** if template provides less \"breadcrumbs\" than needed -\r\n\t\t\t\t\t * take always the last one for failed peaces */\r\n\t\t\t\t\t\r\n\t\t\t\t\tvar index = route[i] << 0;\r\n\t\t\t\t\tif (index > template.length - 1) {\r\n\t\t\t\t\t\tindex = template.length - 1;\r\n\t\t\t\t\t}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\tpath += template[index];\r\n\t\t\t\t\t\r\n\t\t\t\t\tif (i == route.length - 2){\r\n\t\t\t\t\t\tfor(index++;index < template.length; index++){\r\n\t\t\t\t\t\t\tpath += '/' + template[index];\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\treturn {\r\n\t\t\t\tpath: path,\r\n\t\t\t\tparams: params,\r\n\t\t\t\talias: alias\r\n\t\t\t};\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t *\t@arg includeData :\r\n\t\t *\t1. string - URL to resource\r\n\t\t *\t2. array - URLs to resources\r\n\t\t *\t3. object - {route: x} - route defines the route template to resource,\r\n\t\t *\t\tit must be set before in include.cfg.\r\n\t\t *\t\texample:\r\n\t\t *\t\t\tinclude.cfg('net','scripts/net/{name}.js')\r\n\t\t *\t\t\tinclude.js({net: 'downloader'}) // -> will load scipts/net/downloader.js\r\n\t\t *\t@arg namespace - route in case of resource url template, or namespace in case of LazyModule\r\n\t\t *\r\n\t\t *\t@arg fn - callback function, which receives namespace|route, url to resource and ?id in case of not relative url\r\n\t\t *\t@arg xpath - xpath string of a lazy object 'object.sub.and.othersub';\r\n\t\t */\r\n\t\teach: function(type, includeData, fn, namespace, xpath) {\r\n\t\t\tvar key;\r\n\r\n\t\t\tif (includeData == null) {\r\n\t\t\t\tconsole.error('Include Item has no Data', type, namespace);\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tif (type == 'lazy' && xpath == null) {\r\n\t\t\t\tfor (key in includeData) {\r\n\t\t\t\t\tthis.each(type, includeData[key], fn, null, key);\r\n\t\t\t\t}\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tif (includeData instanceof Array) {\r\n\t\t\t\tfor (var i = 0; i < includeData.length; i++) {\r\n\t\t\t\t\tthis.each(type, includeData[i], fn, namespace, xpath);\r\n\t\t\t\t}\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tif (typeof includeData === 'object') {\r\n\t\t\t\tfor (key in includeData) {\r\n\t\t\t\t\tif (hasOwnProp.call(includeData, key)) {\r\n\t\t\t\t\t\tthis.each(type, includeData[key], fn, key, xpath);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tif (typeof includeData === 'string') {\r\n\t\t\t\tvar x = this.resolve(namespace, includeData);\r\n\t\t\t\tif (namespace){\r\n\t\t\t\t\tnamespace += '.' + includeData;\r\n\t\t\t\t}\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\tfn(namespace, x, xpath);\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tconsole.error('Include Package is invalid', arguments);\r\n\t\t},\r\n\r\n\t\tgetRoutes: function(){\r\n\t\t\treturn routes;\r\n\t\t},\r\n\t\t\r\n\t\tparseAlias: function(route){\r\n\t\t\tvar path = route.path,\r\n\t\t\t\tresult = regexpAlias.exec(path);\r\n\t\t\t\r\n\t\t\treturn result && result[1];\t\t\t\r\n\t\t}\r\n\t};\r\n\t\r\n};\r\n\r\nvar Routes = RoutesLib();\r\n\r\n\r\n/*{test}\r\n\r\nconsole.log(JSON.stringify(Routes.resolve(null,'scroller.js::Scroller')));\r\n\r\nRoutes.register('lib', '.reference/libjs/{0}/lib/{1}.js');\r\nconsole.log(JSON.stringify(Routes.resolve('lib','scroller::Scroller')));\r\nconsole.log(JSON.stringify(Routes.resolve('lib','scroller/scroller.mobile?ui=black')));\r\n\r\nRoutes.register('framework', '.reference/libjs/framework/{0}.js');\r\nconsole.log(JSON.stringify(Routes.resolve('framework','dom/jquery')));\r\n\r\n\r\n*/\r\nvar Events = (function(document) {\r\n\tif (document == null) {\r\n\t\treturn {\r\n\t\t\tready: Helper.doNothing,\r\n\t\t\tload: Helper.doNothing\r\n\t\t};\r\n\t}\r\n\tvar readycollection = [],\r\n\t\tloadcollection = null,\r\n\t\ttimer = Date.now();\r\n\r\n\tdocument.onreadystatechange = function() {\r\n\t\tif (/complete|interactive/g.test(document.readyState) === false) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tif (timer) {\r\n\t\t\tconsole.log('DOMContentLoader', document.readyState, Date.now() - timer, 'ms');\r\n\t\t}\r\n\t\tEvents.ready = Helper.doNothing;\r\n\r\n\t\tHelper.invokeEach(readycollection);\r\n\t\treadycollection = null;\r\n\t\t\r\n\r\n\t\tif (document.readyState == 'complete') {\r\n\t\t\tEvents.load = Helper.doNothing;\r\n\t\t\tHelper.invokeEach(loadcollection);\r\n\t\t\tloadcollection = null;\r\n\t\t}\r\n\t};\r\n\r\n\treturn {\r\n\t\tready: function(callback) {\r\n\t\t\treadycollection.unshift(callback);\r\n\t\t},\r\n\t\tload: function(callback) {\r\n\t\t\t(loadcollection || (loadcollection = [])).unshift(callback);\r\n\t\t}\r\n\t};\r\n})(document);\r\nvar IncludeDeferred = function() {\r\n\tthis.callbacks = [];\r\n\tthis.state = 0;\r\n};\r\n\r\nIncludeDeferred.prototype = { /**\tstate observer */\r\n\r\n\ton: function(state, callback) {\r\n\t\tstate <= this.state ? callback(this) : this.callbacks.unshift({\r\n\t\t\tstate: state,\r\n\t\t\tcallback: callback\r\n\t\t});\r\n\t\treturn this;\r\n\t},\r\n\treadystatechanged: function(state) {\r\n\r\n\t\tvar i, length, x, currentInclude;\r\n\r\n\t\tif (state > this.state) {\r\n\t\t\tthis.state = state;\r\n\r\n\t\t\tif (this.state === 3) {\r\n\t\t\t\tvar includes = this.includes;\r\n\r\n\t\t\t\tif (includes != null && includes.length) {\r\n\t\t\t\t\tfor (i = 0; i < includes.length; i++) {\r\n\t\t\t\t\t\tif (includes[i].resource.state != 4) {\r\n\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\tthis.state = 4;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\ti = 0;\r\n\t\tlength = this.callbacks.length;\r\n\t\t\r\n\t\tif (length === 0){\r\n\t\t\treturn;\r\n\t\t}\r\n\t\t\r\n\t\t//do not set asset resource to global\r\n\t\tif (this.type === 'js' && this.state === 4) {\r\n\t\t\tcurrentInclude = global.include;\r\n\t\t\tglobal.include = this;\r\n\t\t}\r\n\r\n\t\tfor (; i < length; i++) {\r\n\t\t\tx = this.callbacks[i];\r\n\t\t\tif (x.state > this.state) {\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\t\t\t\r\n\t\t\tthis.callbacks.splice(i,1);\r\n\t\t\tlength--;\r\n\t\t\ti--;\r\n\t\t\t\r\n\t\t\ttry {\r\n\t\t\t\tx.callback(this);\r\n\t\t\t} catch(error){\r\n\t\t\t\tconsole.error(error.toString(), 'file:', this.url);\r\n\t\t\t}\r\n\t\t\t\r\n\t\t\tif (this.state < 4){\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t}\r\n\t\t\r\n\t\tif (currentInclude != null){\r\n\t\t\tglobal.include = currentInclude;\r\n\t\t}\r\n\t},\r\n\r\n\t/** idefer */\r\n\r\n\tready: function(callback) {\r\n\t\treturn this.on(4, function() {\r\n\t\t\tEvents.ready(this.resolve.bind(this, callback));\r\n\t\t}.bind(this));\r\n\t},\r\n\t/** assest loaded and window is loaded */\r\n\tloaded: function(callback) {\r\n\t\treturn this.on(4, function() {\r\n\t\t\tEvents.load(callback);\r\n\t\t});\r\n\t},\r\n\t/** assets loaded */\r\n\tdone: function(callback) {\r\n\t\treturn this.on(4, this.resolve.bind(this, callback));\r\n\t},\r\n\tresolve: function(callback) {\r\n\t\tif (this.includes.length > 0 && this.response == null){\r\n\t\t\tthis.response = {};\r\n\t\t\t\r\n\t\t\tvar resource, route;\r\n\t\t\t\r\n\t\t\tfor(var i = 0, x, length = this.includes.length; i<length; i++){\r\n\t\t\t\tx = this.includes[i];\r\n\t\t\t\tresource = x.resource;\r\n\t\t\t\troute = x.route;\r\n\t\t\t\t\r\n\t\t\t\tif (!resource.exports){\r\n\t\t\t\t\tcontinue;\r\n\t\t\t\t}\r\n\t\t\t\t\r\n\t\t\t\tvar type = resource.type;\r\n\t\t\t\tswitch (type) {\r\n\t\t\t\tcase 'js':\r\n\t\t\t\tcase 'load':\r\n\t\t\t\tcase 'ajax':\r\n\r\n\t\t\t\t\tvar alias = route.alias || Routes.parseAlias(route),\r\n\t\t\t\t\t\tobj = type == 'js' ? this.response : (this.response[type] || (this.response[type] = {}));\r\n\t\t\t\t\t\r\n\t\t\t\t\tif (alias) {\r\n\t\t\t\t\t\tobj[alias] = resource.exports;\t\t\t\t\t\t\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tconsole.warn('Resource Alias is Not defined', resource);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t\t\r\n\t\t\t}\t\r\n\t\t}\r\n\t\tcallback(this.response);\r\n\t}\r\n};\r\nvar Include = (function() {\r\n\r\n\tfunction embedPlugin(source) {\r\n\t\teval(source);\r\n\t}\r\n\r\n\tfunction enableModules() {\r\n\t\tObject.defineProperty(global, 'module', {\r\n\t\t\tget: function() {\r\n\t\t\t\treturn global.include;\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tObject.defineProperty(global, 'exports', {\r\n\t\t\tget: function() {\r\n\t\t\t\tvar current = global.include;\r\n\t\t\t\treturn (current.exports || (current.export = {}));\r\n\t\t\t},\r\n\t\t\tset: function(exports) {\r\n\t\t\t\tglobal.include.exports = exports;\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tvar Include = function() {};\r\n\tInclude.prototype = {\r\n\t\tsetCurrent: function(data) {\r\n\r\n\t\t\tvar resource = new Resource('js', {\r\n\t\t\t\tpath: data.id\r\n\t\t\t}, data.namespace, null, null, data.id);\r\n\r\n\t\t\tif (resource.state != 4) {\r\n\t\t\t\tconsole.error(\"Current Resource should be loaded\");\r\n\t\t\t}\r\n\r\n\t\t\tresource.state = 2;\r\n\t\t\tglobal.include = resource;\r\n\r\n\t\t},\r\n\t\tincl: function(type, pckg) {\r\n\r\n\t\t\tif (this instanceof Resource) {\r\n\t\t\t\treturn this.include(type, pckg);\r\n\t\t\t}\r\n\t\t\tvar r = new Resource();\r\n\r\n\t\t\tr.type = 'js';\r\n\r\n\t\t\treturn r.include(type, pckg);\r\n\t\t},\r\n\t\tjs: function(pckg) {\r\n\t\t\treturn this.incl('js', pckg);\r\n\t\t},\r\n\t\tcss: function(pckg) {\r\n\t\t\treturn this.incl('css', pckg);\r\n\t\t},\r\n\t\tload: function(pckg) {\r\n\t\t\treturn this.incl('load', pckg);\r\n\t\t},\r\n\t\tajax: function(pckg) {\r\n\t\t\treturn this.incl('ajax', pckg);\r\n\t\t},\r\n\t\tembed: function(pckg) {\r\n\t\t\treturn this.incl('embed', pckg);\r\n\t\t},\r\n\t\tlazy: function(pckg) {\r\n\t\t\treturn this.incl('lazy', pckg);\r\n\t\t},\r\n\r\n\t\tcfg: function(arg) {\r\n\t\t\tswitch (typeof arg) {\r\n\t\t\tcase 'object':\r\n\t\t\t\tfor (var key in arg) {\r\n\t\t\t\t\tcfg[key] = arg[key];\r\n\r\n\t\t\t\t\tif (key == 'modules' && arg[key] === true) {\r\n\t\t\t\t\t\tenableModules();\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tbreak;\r\n\t\t\tcase 'string':\r\n\t\t\t\tif (arguments.length == 1) {\r\n\t\t\t\t\treturn cfg[arg];\r\n\t\t\t\t}\r\n\t\t\t\tif (arguments.length == 2) {\r\n\t\t\t\t\tcfg[arg] = arguments[1];\r\n\t\t\t\t}\r\n\t\t\t\tbreak;\r\n\t\t\tcase 'undefined':\r\n\t\t\t\treturn cfg;\r\n\t\t\t}\r\n\t\t\treturn this;\r\n\t\t},\r\n\t\troutes: function(arg) {\r\n\t\t\tif (arg == null) {\r\n\t\t\t\treturn Routes.getRoutes();\r\n\t\t\t}\r\n\t\t\tfor (var key in arg) {\r\n\t\t\t\tRoutes.register(key, arg[key]);\r\n\t\t\t}\r\n\t\t\treturn this;\r\n\t\t},\r\n\t\tpromise: function(namespace) {\r\n\t\t\tvar arr = namespace.split('.'),\r\n\t\t\t\tobj = global;\r\n\t\t\twhile (arr.length) {\r\n\t\t\t\tvar key = arr.shift();\r\n\t\t\t\tobj = obj[key] || (obj[key] = {});\r\n\t\t\t}\r\n\t\t\treturn obj;\r\n\t\t},\r\n\t\tregister: function(_bin) {\r\n\t\t\tfor (var key in _bin) {\r\n\t\t\t\tfor (var i = 0; i < _bin[key].length; i++) {\r\n\t\t\t\t\tvar id = _bin[key][i].id,\r\n\t\t\t\t\t\turl = _bin[key][i].url,\r\n\t\t\t\t\t\tnamespace = _bin[key][i].namespace,\r\n\t\t\t\t\t\tresource = new Resource();\r\n\r\n\t\t\t\t\tresource.state = 4;\r\n\t\t\t\t\tresource.namespace = namespace;\r\n\t\t\t\t\tresource.type = key;\r\n\r\n\t\t\t\t\tif (url) {\r\n\t\t\t\t\t\tif (url[0] == '/') {\r\n\t\t\t\t\t\t\turl = url.substring(1);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tresource.location = Helper.uri.getDir(url);\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tswitch (key) {\r\n\t\t\t\t\tcase 'load':\r\n\t\t\t\t\tcase 'lazy':\r\n\t\t\t\t\t\tvar container = document.querySelector('#includejs-' + id.replace(/\\W/g, ''));\r\n\t\t\t\t\t\tif (container == null) {\r\n\t\t\t\t\t\t\tconsole.error('\"%s\" Data was not embedded into html', id);\r\n\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tresource.exports = container.innerHTML;\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t}(bin[key] || (bin[key] = {}))[id] = resource;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t},\r\n\t\t/**\r\n\t\t *\tCreate new Resource Instance,\r\n\t\t *\tas sometimes it is necessary to call include. on new empty context\r\n\t\t */\r\n\t\tinstance: function() {\r\n\t\t\treturn new Resource();\r\n\t\t},\r\n\r\n\t\tgetResource: function(url) {\r\n\t\t\tvar id = (url[0] == '/' ? '' : '/') + url;\r\n\r\n\t\t\tfor (var key in bin) {\r\n\t\t\t\tif (bin[key].hasOwnProperty(id)) {\r\n\t\t\t\t\treturn bin[key][id];\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn null;\r\n\t\t},\r\n\r\n\t\tplugin: function(pckg, callback) {\r\n\r\n\t\t\tvar urls = [],\r\n\t\t\t\tlength = 0,\r\n\t\t\t\tj = 0,\r\n\t\t\t\ti = 0,\r\n\t\t\t\tonload = function(url, response) {\r\n\t\t\t\t\tj++;\r\n\r\n\t\t\t\t\tembedPlugin(response);\r\n\r\n\t\t\t\t\tif (j == length - 1 && callback) {\r\n\t\t\t\t\t\tcallback();\r\n\t\t\t\t\t\tcallback = null;\r\n\t\t\t\t\t}\r\n\t\t\t\t};\r\n\t\t\tRoutes.each('', pckg, function(namespace, route) {\r\n\t\t\t\turls.push(route.path[0] == '/' ? route.path.substring(1) : route.path);\r\n\t\t\t});\r\n\r\n\t\t\tlength = urls.length;\r\n\r\n\t\t\tfor (; i < length; i++) {\r\n\t\t\t\tXHR(urls[i], onload);\r\n\t\t\t}\r\n\t\t\treturn this;\r\n\t\t}\r\n\t};\r\n\r\n\treturn Include;\r\n}());\r\n/** @TODO Refactor loadBy* {combine logic} */\r\n\r\nvar ScriptStack = (function() {\r\n\r\n\tvar head, currentResource, stack = [],\r\n\t\tloadScript = function(url, callback) {\r\n\t\t\t//console.log('load script', url);\r\n\t\t\tvar tag = document.createElement('script');\r\n\t\t\ttag.type = 'text/javascript';\r\n\t\t\ttag.src = url;\r\n\r\n\t\t\tif ('onreadystatechange' in tag) {\r\n\t\t\t\ttag.onreadystatechange = function() {\r\n\t\t\t\t\t(this.readyState == 'complete' || this.readyState == 'loaded') && callback();\r\n\t\t\t\t};\r\n\t\t\t} else {\r\n\t\t\t\ttag.onload = tag.onerror = callback;\r\n\t\t\t}(head || (head = document.getElementsByTagName('head')[0])).appendChild(tag);\r\n\t\t},\r\n\r\n\t\tloadByEmbedding = function() {\r\n\t\t\tif (stack.length === 0) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tif (currentResource != null) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tvar resource = (currentResource = stack[0]);\r\n\r\n\t\t\tif (resource.state === 1) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tresource.state = 1;\r\n\r\n\t\t\tglobal.include = resource;\r\n\t\t\tglobal.iparams = resource.route.params;\r\n\r\n\r\n\t\t\tfunction resourceLoaded(e) {\r\n\r\n\r\n\t\t\t\tif (e && e.type == 'error') {\r\n\t\t\t\t\tconsole.log('Script Loaded Error', resource.url);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tvar i = 0,\r\n\t\t\t\t\tlength = stack.length;\r\n\r\n\t\t\t\tfor (; i < length; i++) {\r\n\t\t\t\t\tif (stack[i] === resource) {\r\n\t\t\t\t\t\tstack.splice(i, 1);\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (i == length) {\r\n\t\t\t\t\tconsole.error('Loaded Resource not found in stack', resource);\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tresource.readystatechanged(3);\r\n\r\n\t\t\t\tcurrentResource = null;\r\n\t\t\t\tloadByEmbedding();\r\n\t\t\t}\r\n\r\n\t\t\tif (resource.source) {\r\n\t\t\t\t__eval(resource.source, resource);\r\n\r\n\t\t\t\tresourceLoaded();\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tloadScript(resource.url, resourceLoaded);\r\n\t\t},\r\n\t\tprocessByEval = function() {\r\n\t\t\tif (stack.length === 0) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tif (currentResource != null) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tvar resource = stack[0];\r\n\r\n\t\t\tif (resource.state < 2) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tcurrentResource = resource;\r\n\r\n\t\t\tresource.state = 1;\r\n\t\t\tglobal.include = resource;\r\n\r\n\t\t\t//console.log('evaling', resource.url, stack.length);\t\t\t\r\n\t\t\t__eval(resource.source, resource);\r\n\r\n\t\t\tfor (var i = 0, x, length = stack.length; i < length; i++) {\r\n\t\t\t\tx = stack[i];\r\n\t\t\t\tif (x == resource) {\r\n\t\t\t\t\tstack.splice(i, 1);\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tresource.readystatechanged(3);\r\n\t\t\tcurrentResource = null;\r\n\t\t\tprocessByEval();\r\n\r\n\t\t};\r\n\r\n\r\n\treturn {\r\n\t\tload: function(resource, parent, forceEmbed) {\r\n\r\n\t\t\t//console.log('LOAD', resource.url, 'parent:',parent ? parent.url : '');\r\n\r\n\t\t\tvar added = false;\r\n\t\t\tif (parent) {\r\n\t\t\t\tfor (var i = 0, length = stack.length; i < length; i++) {\r\n\t\t\t\t\tif (stack[i] === parent) {\r\n\t\t\t\t\t\tstack.splice(i, 0, resource);\r\n\t\t\t\t\t\tadded = true;\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif (!added) {\r\n\t\t\t\tstack.push(resource);\r\n\t\t\t}\r\n\r\n\t\t\t// was already loaded, with custom loader for example\r\n\r\n\t\t\tif (!cfg.eval || forceEmbed) {\r\n\t\t\t\tloadByEmbedding();\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\r\n\t\t\tif (resource.source) {\r\n\t\t\t\tresource.state = 2;\r\n\t\t\t\tprocessByEval();\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tXHR(resource, function(resource, response) {\r\n\t\t\t\tif (!response) {\r\n\t\t\t\t\tconsole.error('Not Loaded:', resource.url);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tresource.source = response;\r\n\t\t\t\tresource.state = 2;\r\n\r\n\t\t\t\tprocessByEval();\r\n\t\t\t});\r\n\t\t},\r\n\t\t/** Move resource in stack close to parent */\r\n\t\tmoveToParent: function(resource, parent) {\r\n\t\t\tvar i, length, x, tasks = 2;\r\n\r\n\t\t\tfor (i = 0, x, length = stack.length; i < length && tasks; i++) {\r\n\t\t\t\tx = stack[i];\r\n\r\n\t\t\t\tif (x === resource) {\r\n\t\t\t\t\tstack.splice(i, 1);\r\n\t\t\t\t\tlength--;\r\n\t\t\t\t\ti--;\r\n\t\t\t\t\ttasks--;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (x === parent) {\r\n\t\t\t\t\tstack.splice(i, 0, resource);\r\n\t\t\t\t\tlength++;\r\n\t\t\t\t\ti++;\r\n\t\t\t\t\ttasks--;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif (parent == null) {\r\n\t\t\t\tstack.unshift(resource);\r\n\t\t\t}\r\n\r\n\t\t}\r\n\t};\r\n})();\r\nvar CustomLoader = (function() {\r\n\r\n\tvar _loaders = {};\r\n\r\n\r\n\tfunction createLoader(url) {\r\n\t\tvar extension = url.substring(url.lastIndexOf('.') + 1);\r\n\r\n\t\tif (_loaders.hasOwnProperty(extension)) {\r\n\t\t\treturn _loaders[extension];\r\n\t\t}\r\n\r\n\t\tvar loaderRoute = cfg.loader[extension],\r\n\t\t\tpath, namespace;\r\n\r\n\t\tif (typeof loaderRoute === 'object') {\r\n\t\t\tfor (var key in loaderRoute) {\r\n\t\t\t\tnamespace = key;\r\n\t\t\t\tpath = loaderRoute[key];\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn (_loaders[extension] = new Resource('js', Routes.resolve(namespace, path), namespace));\r\n\t}\r\n\r\n\treturn {\r\n\t\tload: function(resource, callback) {\r\n\r\n\t\t\tvar loader = createLoader(resource.url);\r\n\t\t\tloader.done(function() {\t\t\t\t\r\n\t\t\t\tXHR(resource, function(resource, response) {\r\n\t\t\t\t\tcallback(resource, loader.exports.process(response, resource));\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\t},\r\n\t\texists: function(resource) {\r\n\t\t\tif (!(resource.url && cfg.loader)) {\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\r\n\t\t\tvar url = resource.url,\r\n\t\t\t\textension = url.substring(url.lastIndexOf('.') + 1);\r\n\r\n\t\t\treturn cfg.loader.hasOwnProperty(extension);\r\n\t\t}\r\n\t};\r\n}());\r\nvar LazyModule = {\r\n\tcreate: function(xpath, code) {\r\n\t\tvar arr = xpath.split('.'),\r\n\t\t\tobj = global,\r\n\t\t\tmodule = arr[arr.length - 1];\r\n\t\twhile (arr.length > 1) {\r\n\t\t\tvar prop = arr.shift();\r\n\t\t\tobj = obj[prop] || (obj[prop] = {});\r\n\t\t}\r\n\t\tarr = null;\r\n\r\n\t\tObject.defineProperty(obj, module, {\r\n\t\t\tget: function() {\r\n\r\n\t\t\t\tdelete obj[module];\r\n\t\t\t\ttry {\r\n\t\t\t\t\tvar r = __eval(code, global.include);\r\n\t\t\t\t\tif (!(r == null || r instanceof Resource)){\r\n\t\t\t\t\t\tobj[module] = r;\r\n\t\t\t\t\t}\r\n\t\t\t\t} catch (error) {\r\n\t\t\t\t\terror.xpath = xpath;\r\n\t\t\t\t\tHelper.reportError(error);\r\n\t\t\t\t} finally {\r\n\t\t\t\t\tcode = null;\r\n\t\t\t\t\txpath = null;\r\n\t\t\t\t\treturn obj[module];\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n};\r\nvar Resource = (function(Include, IncludeDeferred, Routes, ScriptStack, CustomLoader) {\r\n\r\n\tfunction process(resource, loader) {\r\n\t\tvar type = resource.type,\r\n\t\t\tparent = resource.parent,\r\n\t\t\turl = resource.url;\r\n\r\n\t\tif (CustomLoader.exists(resource) === false) {\r\n\t\t\tswitch (type) {\r\n\t\t\tcase 'js':\r\n\t\t\tcase 'embed':\r\n\t\t\t\tScriptStack.load(resource, parent, type == 'embed');\r\n\t\t\t\tbreak;\r\n\t\t\tcase 'ajax':\r\n\t\t\tcase 'load':\r\n\t\t\tcase 'lazy':\r\n\t\t\t\tXHR(resource, onXHRCompleted);\r\n\t\t\t\tbreak;\r\n\t\t\tcase 'css':\r\n\t\t\t\tresource.state = 4;\r\n\r\n\t\t\t\tvar tag = document.createElement('link');\r\n\t\t\t\ttag.href = url;\r\n\t\t\t\ttag.rel = \"stylesheet\";\r\n\t\t\t\ttag.type = \"text/css\";\r\n\t\t\t\tdocument.getElementsByTagName('head')[0].appendChild(tag);\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tCustomLoader.load(resource, onXHRCompleted);\r\n\t\t}\r\n\r\n\t\treturn resource;\r\n\t}\r\n\r\n\tfunction onXHRCompleted(resource, response) {\r\n\t\tif (!response) {\r\n\t\t\tconsole.warn('Resource cannt be loaded', resource.url);\r\n\t\t\tresource.readystatechanged(4);\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tswitch (resource.type) {\r\n\t\tcase 'js':\r\n\t\tcase 'embed':\r\n\t\t\tresource.source = response;\r\n\t\t\tScriptStack.load(resource, resource.parent, resource.type == 'embed');\r\n\t\t\treturn;\r\n\t\tcase 'load':\r\n\t\tcase 'ajax':\r\n\t\t\tresource.exports = response;\r\n\t\t\tbreak;\r\n\t\tcase 'lazy':\r\n\t\t\tLazyModule.create(resource.xpath, response);\r\n\t\t\tbreak;\r\n\t\tcase 'css':\r\n\t\t\tvar tag = document.createElement('style');\r\n\t\t\ttag.type = \"text/css\";\r\n\t\t\ttag.innerHTML = response;\r\n\t\t\tdocument.getElementsByTagName('head')[0].appendChild(tag);\r\n\t\t\tbreak;\r\n\t\t}\r\n\r\n\t\tresource.readystatechanged(4);\r\n\t}\r\n\r\n\tfunction childLoaded(resource, child) {\r\n\t\tvar includes = resource.includes;\r\n\t\tif (includes && includes.length) {\r\n\t\t\tif (resource.state < 3 /* && resource.url != null */ ) {\r\n\t\t\t\t// resource still loading/include is in process, but one of sub resources are already done\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tfor (var i = 0; i < includes.length; i++) {\r\n\t\t\t\tif (includes[i].resource.state != 4) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\tresource.readystatechanged(4);\r\n\t}\r\n\r\n\tvar Resource = function(type, route, namespace, xpath, parent, id) {\r\n\t\tInclude.call(this);\r\n\t\tIncludeDeferred.call(this);\r\n\r\n\t\tvar url = route && route.path;\r\n\r\n\t\tif (url != null) {\r\n\t\t\tthis.url = url = Helper.uri.resolveUrl(url, parent);\r\n\t\t}\r\n\r\n\t\tthis.route = route;\r\n\t\tthis.namespace = namespace;\r\n\t\tthis.type = type;\r\n\t\tthis.xpath = xpath;\r\n\r\n\t\tthis.parent = parent;\r\n\r\n\t\tif (id == null && url) {\r\n\t\t\tid = (url[0] == '/' ? '' : '/') + url;\r\n\t\t}\r\n\r\n\r\n\t\tvar resource = bin[type] && bin[type][id];\r\n\t\tif (resource) {\r\n\r\n\t\t\tif (resource.state === 0 && type == 'js') {\r\n\t\t\t\tScriptStack.moveToParent(resource, parent);\r\n\t\t\t}\r\n\r\n\t\t\t//// @done - @remove - @TODO - [fix] - multiple routes by one resource for multiple parents\r\n\t\t\t////resource.route = route;\r\n\t\t\treturn resource;\r\n\t\t}\r\n\r\n\t\tif (url == null) {\r\n\t\t\tthis.state = 3;\r\n\t\t\treturn this;\r\n\t\t}\r\n\r\n\r\n\t\tthis.location = Helper.uri.getDir(url);\r\n\r\n\r\n\r\n\t\t(bin[type] || (bin[type] = {}))[id] = this;\r\n\r\n\t\tif (cfg.version){\r\n\t\t\tthis.url += (!~this.url.indexOf('?') ? '?' : '&' ) + 'v=' + cfg.version;\r\n\t\t}\r\n\r\n\t\treturn process(this);\r\n\r\n\t};\r\n\r\n\tResource.prototype = Helper.extend({}, IncludeDeferred, Include, {\r\n\t\tinclude: function(type, pckg) {\r\n\t\t\tthis.state = this.state >= 3 ? 3 : 1;\r\n\r\n\t\t\tif (this.includes == null) {\r\n\t\t\t\tthis.includes = [];\r\n\t\t\t}\r\n\t\t\tif (this.childLoaded == null){\r\n\t\t\t\tthis.childLoaded = childLoaded.bind(this, this);\r\n\t\t\t}\r\n\r\n\t\t\tthis.response = null;\r\n\r\n\t\t\tvar _childLoaded = childLoaded.bind(this);\r\n\r\n\t\t\tRoutes.each(type, pckg, function(namespace, route, xpath) {\r\n\r\n\t\t\t\tvar resource = new Resource(type, route, namespace, xpath, this);\r\n\r\n\t\t\t\tthis.includes.push({\r\n\t\t\t\t\tresource: resource,\r\n\t\t\t\t\troute: route\r\n\t\t\t\t});\r\n\t\t\t\tresource.on(4, this.childLoaded);\r\n\t\t\t}.bind(this));\r\n\r\n\t\t\treturn this;\r\n\t\t}\r\n\t});\r\n\r\n\treturn Resource;\r\n\r\n}(Include, IncludeDeferred, Routes, ScriptStack, CustomLoader));\r\n\r\n\r\nglobal.include = new Include();\r\n\r\nglobal.includeLib = {\r\n\tHelper: Helper,\r\n\tRoutes: RoutesLib,\r\n\tResource: Resource,\r\n\tScriptStack: ScriptStack,\r\n\tregisterLoader: CustomLoader.register\r\n};\r\nvar fs = require('fs');\r\n \t\r\nXMLHttpRequest = function(){};\r\nXMLHttpRequest.prototype = {\r\n\topen: function(method, url){\r\n\t\tthis.url = url;\r\n\t},\r\n\tsend: function(){\r\n\t\t\r\n\t\tif (this.url.indexOf('file:///') > -1){\r\n\t\t\tthis.url = this.url.replace('file:///','');\r\n\t\t}\r\n\t\t\r\n\t\tvar that = this;\r\n\t\tfs.readFile(this.url, 'utf-8', function(err, data){\r\n\t\t\tif (err) {\r\n\t\t\t\tconsole.error('>>', err.code, err.path);\r\n\t\t\t\tdata = '';\t\t\r\n\t\t\t}\r\n\r\n\t\t\tthat.readyState = 4;\r\n\t\t\tthat.responseText = data;\r\n\t\t\tthat.onreadystatechange();\t\t\t\r\n\t\t});\r\n\t}\r\n};\r\n\r\n\r\n})(typeof window === 'undefined' ? global : window, typeof document == 'undefined' ? null : document);"]}