diff --git a/bower.json b/bower.json index 4c06f63..72d0a89 100644 --- a/bower.json +++ b/bower.json @@ -1,6 +1,6 @@ { "name": "qoopido.demand", - "version": "4.1.8", + "version": "4.1.9", "homepage": "https://github.com/dlueth/qoopido.demand", "authors": [ "Dirk Lueth " diff --git a/demo/index.html b/demo/index.html index b298f25..19080fe 100644 --- a/demo/index.html +++ b/demo/index.html @@ -33,7 +33,7 @@ target.parentNode.insertBefore(script, target); }(window, document, 'script')) - }('../dist/demand.js', 'app/js/main', { base: './', version: '4.1.8', cache: false })); + }('../dist/demand.js', 'app/js/main', { base: './', version: '4.1.9', cache: false })); \ No newline at end of file diff --git a/dist/cache/dispose.js b/dist/cache/dispose.js index 7a334d2..8e4d1cf 100644 --- a/dist/cache/dispose.js +++ b/dist/cache/dispose.js @@ -1,3 +1,3 @@ -/**! Qoopido.demand 4.1.8 | https://github.com/dlueth/qoopido.demand | (c) 2017 Dirk Lueth */ +/**! Qoopido.demand 4.1.9 | https://github.com/dlueth/qoopido.demand | (c) 2017 Dirk Lueth */ !function(t){"use strict";function n(n){function r(n){var r,e=t.getItem(n);if(e&&(r=e.match(d)))return Array.prototype.slice.call(r,1)}function e(t){return"["+i+"]["+t+"]["+o+"]"}function a(t){var n,a=t.match(u);a&&(n=r(e(a[1])),n[5]=a[1],this.push(n))}function c(t,n){return t[4]n[4]?1:0}var i="demand",o="state",u=new RegExp("^\\["+i+"\\]\\[(.+?)\\]\\["+o+"\\]$"),d=/^(.+?),(\d+),(\d*),(.+?),(\d+)$/;return n(t,function(t){var n,a=t.match(u);a&&(n=r(e(a[1])),n[4]||demand.clear.path(a[1]))}),function(r){var e,i=[];for(n(t,a,i),i.sort(c);r>0&&i.length;)e=i.shift(),r-=e[1],demand.clear.path(e[5])}}provide(["/demand/function/iterate"],n)}(localStorage); //# sourceMappingURL=dispose.js.map diff --git a/dist/demand.js b/dist/demand.js index 66c65c1..df45f5a 100644 --- a/dist/demand.js +++ b/dist/demand.js @@ -1,3 +1,3 @@ -/**! Qoopido.demand 4.1.8 | https://github.com/dlueth/qoopido.demand | (c) 2017 Dirk Lueth */ -!function(e,t,n,r,i){"use strict";function o(e,t,n,r){return{__proto__:Y,value:e,enumerable:!!r,configurable:!!n,writable:!!t}}function u(e,t){return typeof e===t}function a(e){return e&&u(e,oe)}function c(e){return u(e,ae)&&isFinite(e)&&Math.floor(e)===e&&e>=0}function s(e,t){return e instanceof t}function f(e,t,n){for(var r,i=$.keys(e),o=0;(r=i[o])!==Z&&t.call(n,r,e[r])!==ee;o++);return n}function d(e,t,n){return M.call(e,t,n)}function l(){return+new Date}function h(e){return X.href=e,X.href}function p(e,t){var n=e.replace(ze,"");return Ue.test(n)||Fe.test(n)||(n="/"+h((t&&h(t+"/../")||"/")+n).replace(Ge,"")),n}function v(e,t){var n=e.match(ze);return(n&&n[1]?"mock:":"")+(n&&n[3]||C.handler)+"!"+p(e,t)}function m(){return u(this.uuid,ne)&&I(this,"uuid",new o(Ne())),this}function g(){this.parent.constructor.call(this),S[this.uuid]={}}function y(e,t,n){this.message=e,t&&(this.module=t),n&&(this.stack=d(n))}function w(e){function n(t,n){n&&e.handler.validate&&!e.handler.validate(n)?e.dfd.reject(new y($e+" (content-type)",e.id)):(e.source=t,_e.emit(Pe,e.type,e))}function r(t){e.dfd.reject(new y($e+(t?" (status)":""),e.id))}function i(u){u=u||0,e.url=t.createElement("a"),e.url.href=o?h(o.process(e.path,u)):e.path,_e.emit(ke,e.type,e),new Ye(e.url).then(n,o?function(){u++,o.location[u]?i(u):r()}:r)}var o;Fe.test(e.path)||f(C.pattern,function(t,n){n.matches(e.path)&&(!o||o.weight>>0}function j(){this.parent.constructor.call(this),S[this.uuid]=[]}function q(e){var t=this.parent.constructor.call(this),n=S[t.uuid]={queue:e,current:Y};demand.on(Me+":"+e.uuid,function(){!n.current&&t.process()})}function R(e,t){for(var n,r;n=Be.exec(t);)X.href=e,Fe.test(n[2])?r=X.protocol+"//"+X.host+n[3]:(X.pathname+="/../"+n[3],r=X.protocol+"//"+X.host+X.pathname),t=t.replace(n[0],n[1]+" "+n[2]+"="+r+".map"+(n[4]?" "+n[4]:""));return t}function y(e,t,n){this.message=e,t&&(this.module=t),n&&(this.stack=d(n))}function k(e,t){provide(e,function(){return t})}var P,E,C={version:"1.0.0",cache:{},timeout:8e3,pattern:{},modules:{},handler:"module"},S={},O=Array.prototype,M=O.slice,A=O.concat,$=Object,T=$.prototype,D=T.toString,H=$.create,I=$.defineProperty,N=$.getOwnPropertyNames,L=$.getOwnPropertyDescriptor,_=Function.prototype,X=t.createElement("a"),F="demand",U="provide",B="path",G="/"+F+"/",J=G+"abstract/",z=G+"handler/",K=G+"plugin/",Q=G+"function/",V=G+"validator/",W="mock:",Y=null,Z=void 0,ee=!1,te=!0,ne="undefined",re="string",ie="boolean",oe="object",ue="function",ae="number",ce=function(){},se="pre",fe="post",de="Configure",le=se+de,he=fe+de,pe="cache",ve=pe+"Miss",me=pe+"Hit",ge=pe+"Clear",ye=pe+"Exceed",we=se+"Cache",xe=fe+"Cache",be="Resolve",je=se+be,qe=fe+be,Re="Request",ke=se+Re,Pe=fe+Re,Ee="Process",Ce=se+Ee,Se=fe+Ee,Oe="queue",Me=Oe+"Enqueue",Ae=Oe+"Dequeue",$e="error loading",Te="error providing",De="error resolving",He="unspecified anonymous provide";!function(){function e(e){var t,n=this,r=n.prototype,i={},u=N(r),a=0;for(e=e.prototype||e;t=u[a];a++)i[t]=L(r,t);return i.constructor=new o(n),i.parent=new o(e),n.prototype=H(e,i),n}I(_,"extends",new o(e))}();var Ie=function(){function e(e,t){var n,r=this[e];t!==Z&&(a(t)?(n=a(r),r=t.length!==Z?n&&r.length!==Z?r:[]:n&&r.length===Z?r:{},this[e]=Ie(r,t)):this[e]=t)}return function(){for(var t,n=arguments[0],r=1;(t=arguments[r])!==Z;r++)f(t,e,n);return n}}(),Ne=function(){function e(e){var t=16*Math.random()|0;return("x"===e?t:3&t|8).toString(16)}var t=new RegExp("[xy]","g"),n={};return function(){var r;do r="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(t,e);while(n[r]);return n[r]=1,r}}(),Le=function(){var n,i,o="setImmediate"in e;return"MutationObserver"in e?function(e){n=t.createElement("div"),new MutationObserver(function(){e()}).observe(n,{attributes:te}),n.setAttribute("i","1")}:!o&&"postMessage"in e&&!("importScripts"in e)&&"addEventListener"in e?function(){function t(t){t.source===e&&t.data&&S[t.data]&&(S[t.data](),delete S[t.data])}return e.addEventListener("message",t,ee),function(t){var n=Ne();S[n]=t,e.postMessage(n,"*")}}():!o&&"onreadystatechange"in(n=t.createElement("script"))?function(e){n.onreadystatechange=function(){n.onreadystatechange=Y,n.parentNode.removeChild(n),e()},t.body.appendChild(n)}:(i=o?setImmediate:r,function(e){i(e)})}(),_e=function(){function e(e,t,r){var a,c;if(u(t,re)&&u(r,ue))for(t=t.split(" ");a=t.shift();)a=a.split(":"),i.test(a[0])&&((o[a[0]]||(o[a[0]]={on:[],after:[]}))[e].push({callback:r,filter:a[1]}),e===n&&a[0]===he&&(c=C.modules[a[1]])&&r(c))}function t(){}var n="on",r="after",i=/^cache(Miss|Hit|Clear|Exceed)|queue(En|De)queue|(pre|post)(Resolve|Configure|Request|Process|Cache)$/,o={};return t.prototype={emit:function(e,t){var i,u,a,c=o[e];if(c){for(i=d(arguments,2),u=0;a=c[n][u];u++)a.filter&&a.filter!==t||a.callback.apply(Y,i);for(u=0;a=c[r][u];u++)a.filter&&a.filter!==t||a.callback.apply(Y,i)}return this},on:function(t,r){return e(n,t,r),this},after:function(t,n){return e(r,t,n),this}},new t}(),Xe=function(){var e=/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g;return function(t){return t.replace(e,"\\$&")}}(),Fe=/^(http(s?):)?\/\//i,Ue=/^\//,Be=/((?:\/\/|\/\*)#)\s*(sourceMappingURL)\s*=\s*(?!(?:http[s]?:)?\/\/)(.+?)\.map(?:\s+)?(\*\/)?/g,Ge=new RegExp("^"+Xe(h("/"))),Je=new RegExp("^"+F+"|"+U+"|"+B+"$"),ze=/^(mock:)?([+-])?((?:[-\w]+\/?)+)?(?:@(.+?))?(?:#(\d+))?!/,Ke=function(){function t(e){var t;return e.cache!==Y?e.cache:(f(C.cache,function(n,r){0===e.path.indexOf(n)&&(!t||r.weight>t.weight)&&(t=r)}),t?t.state:ee)}function n(e){return w.getItem(e)}function r(e,t){w[t?"setItem":"removeItem"](e,t)}function i(e){var t,r=n(e);if(r&&(t=r.match(g)))return d(t,1)}function o(e,t){t[4]=l(),r(e,t.join(","))}function u(e,t,n){_e.emit(e,t.id,t,n)}function a(){Le(this.clear.expired.bind(this.clear))}var c,s="["+F+"]",h="[state]",p="[value]",m=new RegExp("^"+Xe(s)+"\\[(.+?)\\]"+Xe(h)+"$"),g=/^(.+?),(\d+),(\d*),(.+?),(\d+)$/,y=function(){try{return"localStorage"in e&&e.localStorage}catch(e){return ee}}(),w=y?e.localStorage:Y,x=y&&"remainingSpace"in w,b={};return _e.on(ve,function(e){Le(function(){c.clear.path(e.id)})}).on(ye,function(e){demand("-!/"+F+"/cache/dispose").then(function(t){Le(function(){t(e.source.length),c.set(e)})})}).on(Pe,function(e){e.source&&t(e)&&(b[e.id]=te)}).after(Se,function(e){b[e.id]&&Le(function(){c.set(e)})}),a.prototype={get:y?function(e){var r,u;if(t(e)&&(r=s+"["+e.id+"]",u=i(r+h),u&&u[0]===e.version&&(!u[2]&&!e.lifetime||u[2]>l())))return e.source=n(r+p),Le(function(){o(r+h,u)}),te}:ce,resolve:y?function(e){var t=this;t.get(e)?u(me,e):u(ve,e)}:function(e){u(ve,e)},set:y?function(e){var n,i,a;if(t(e)){n=[e.version,e.source.length,e.lifetime?l()+e.lifetime:Y,demand.version],i=s+"["+e.id+"]",u(we,e,n);try{if(a=x?w.remainingSpace:Y,r(i+p,e.source),o(i+h,n),a!==Y&&w.remainingSpace===a)throw new Error;u(xe,e,n)}catch(t){u(ye,e)}}}:ce,clear:{path:y?function(e){var t=v(e),i=s+"["+t+"]";n(i+h)&&(r(i+h),r(i+p),u(ge,Ve.get(t)||new Ve(t,Y,ee)))}:ce,all:y?function(){var e;f(w,function(t){e=t.match(m),e&&this.path(e[1])},this)}:ce,expired:y?function(){var e,t,n=this;f(w,function(r){e=r.match(m),e&&(t=i(s+"["+e[1]+"]"+h),t&&t[2]>0&&t[2]<=l()&&n.path(e[1]))},this)}:ce}},c=new a}(),Qe=function(){function e(){s[this.uuid].handle(a,arguments)}function t(){s[this.uuid].handle(c,arguments)}function n(e,t){var n,r,i=s[this.uuid];for(i.state===u&&(i.state=e,i.value=t);n=i[i.state].shift();)r=n.handler.apply(Y,i.value),r&&"function"==typeof r.then?r.then(n.dfd.resolve,n.dfd.reject):n.dfd[i.state===a?"resolve":"reject"].apply(Y,i.value);i[a].length=0,i[c].length=0}function r(e,t,n){e.then(function(){n.resolved[t]=d(arguments),n.count++,i(n)},function(){n.rejected.push(d(arguments)),i(n)})}function i(e){e.count===e.total?e.dfd.resolve.apply(Y,A.apply([],e.resolved)):e.rejected.length+e.count===e.total&&e.dfd.reject.apply(Y,A.apply([],e.rejected))}function o(r){var i=this.parent.constructor.call(this);s[i.uuid]={state:u,handle:n.bind(i),value:Y,resolved:[],rejected:[],count:0},r(e.bind(i),t.bind(i))}var u="pending",a="resolved",c="rejected",s={};return o.prototype={catch:function(e){return this.then(ce,e)},always:function(e){return this.then(e,e)},then:function(e,t){var n=s[this.uuid],r=o.defer();return e&&n[a].push({handler:e,dfd:r}),t&&n[c].push({handler:t,dfd:r}),n.state!==u&&Le(n.handle),r.pledge},isPending:function(){return s[this.uuid].state===u},isResolved:function(){return s[this.uuid].state===a},isRejected:function(){return s[this.uuid].state===c}},o.defer=function(){var e={};return e.pledge=new o(function(t,n){e.resolve=t,e.reject=n}),e},o.all=function(e){var t,n,i=o.defer(),u=0;if(e.length)for(t=s[Ne()]={dfd:i,resolved:[],rejected:[],total:e.length,count:0};n=e[u];u++)r(n,u,t);else i.resolve();return i.pledge},o.race=function(e){for(var t,n=o.defer(),r=0;t=e[r];r++)t.then(n.resolve,n.reject);return e.length||n.resolve(),n.pledge},o.extends(m)}();g.prototype={get:function(e){return e?S[this.uuid][e]:S[this.uuid]},set:function(e,t){S[this.uuid][e]=t},remove:function(e){delete S[this.uuid][e]}},g.extends(m),y.prototype={toString:function(){var e=this,t=F+": "+e.message+" "+(e.module?'"'+e.module+'"':"");return e.stack&&(t=y.traverse(e.stack,t,1)),t}},y.traverse=function(e,t,n){for(var r,i=new Array(n+1).join(" "),o=0;r=e[o];o++)t+="\n"+i+"> "+r.message+" "+(r.module?'"'+r.module+'"':""),r.stack&&(t=y.traverse(r.stack,t,n+1));return t};var Ve=function(){function e(e,t){this[e]=t}function n(e,t){t.pledge.isPending()&&this.push(e)}function r(e,t){t.pledge.isResolved()&&this.push(e)}function i(e,t){t.pledge.isRejected()&&this.push(e)}function o(e,t,n){var r=this,i=e.match(ze)||s;return r.path=p(e,t),r.mock=i[1]?te:ee,r.cache=i[2]?"+"===i[1]:Y,r.type=i[3]||C.handler,r.version=i[4]||C.version,r.lifetime=i[5]&&1e3*i[5]||C.lifetime,r.id=(r.mock?W:"")+r.type+"!"+r.path,r.uri=(r.mock?W:"")+r.type+"@"+r.version+(c(r.lifetime)&&r.lifetime>0?"#"+r.lifetime:"")+"!"+r.path,r.dfd=Qe.defer(),r.pledge=r.dfd.pledge,r.pledge.then(function(){r.value=d(arguments)}),n!==ee&&a.set(r.id,r),r}var u="internal!",a=new g,s=[];return o.prototype={enqueue:!0},o.get=function(e,t){return a.get(v(e,t))},o.resolve=function(t,n){var r,i=n&&Je.test(t),a=i?this.get(u+n+"/"+t):this.get(t,n);if(!a)if(i){switch(a=new o(u+n+"/"+t),t){case F:r=function(){return f(demand,e,demand.bind(n))}();break;case U:r=provide.bind(n);break;case B:r=n}a.dfd.resolve(r)}else a=new o(t,n),demand(z+a.type).then(function(e){a.handler=e,a.mock?a.dfd.resolve(e):Ke.resolve(a)},function(){a.dfd.reject(new y($e+" (handler)",self.id))});return a},o.remove=function(e,n,r){var i=v(e,n),o=t.querySelector("["+F+'-id="'+i+'"]');a.remove(i),a.remove(W+i),o&&o.parentNode.removeChild(o),r!==ee&&Ke.clear.path(i)},o.list={all:function(){return $.keys(a.get())},pending:function(){return f(a.get(),n,[])},resolved:function(){return f(a.get(),r,[])},rejected:function(){return f(a.get(),i,[])}},o}(),We=function(){function e(e,t){this[e]={url:h(t).replace(n,"$1"),match:new RegExp("^"+Xe(t))}}function t(t,n){var r=this;r.weight=t.length,r.match=new RegExp("^"+Xe(t)),r.location=[].concat(n),f(r.location,e,r.location)}var n=/(.+)\/$/;return t.prototype={matches:function(e){return this.match.test(e)},process:function(e,t){var n=this.location[t];if(n)return e.replace(this.match,n.url)}},t}(),Ye=function(t){function n(){this.readyState<4&&this.abort()}var o="XDomainRequest"in e&&e.XDomainRequest||t;return function(e){var u,a=Qe.defer(),c=Ge.test(e)?new t:new o,s=n.bind(c),f=C.timeout;return c.ontimeout=c.onerror=c.onabort=function(){a.reject(c.status)},c.onprogress=c.onreadystatechange=function(){i(u),u=r(s,f)},c.onload=function(){u=i(u),"status"in c&&200!==c.status?a.reject(c.status):a.resolve(c.responseText,c.getResponseHeader&&c.getResponseHeader("content-type"))},c.open("GET",e,te),c.send(),u=r(s,f),a.pledge}}(XMLHttpRequest);e.demand=function(){function t(e,t){this[e]={weight:e.length,state:t}}function n(e,t){"base"!==e&&(this[e]=new We(e,t))}function r(e,t){var n=this[e]=this[e]||{};_e.emit(le,e,n),Ie(n,t),_e.emit(he,e,n)}function i(){var t,n,r,i=d(arguments),o=this!==e?this:Y,a=0;for(_e.emit(je,Y,i,o);t=i[a];a++)u(t,re)?i[a]=Ve.resolve(t,o).pledge:(i[a]=(n=Qe.defer()).pledge,n.resolve(t));return r=i.length>1?Qe.all(i):i[0],r.always(function(){_e.emit(qe,Y,i,o)})}return i.configure=function(e){var o=e.cache,s=e.version,d=e.timeout,l=e.lifetime,h=e.base,p=e.pattern,v=e.modules,m=C.modules;return u(o,ie)?C.cache[""]={weight:0,state:o}:a(o)&&f(o,t,C.cache),u(s,re)&&(C.version=s),c(d)&&(C.timeout=1e3*Math.min(Math.max(d,2),12)),c(l)&&l>0&&(C.lifetime=1e3*l),u(h,re)&&""!==h&&(C.pattern.base=new We("",h)),a(p)&&f(p,n,C.pattern),a(v)&&f(v,r,m),i},i.version="4.1.8",i.on=_e.on.bind(i),i.get=function(e,t){var n=Ve.get(e,t);return n&&n.value},i.remove=Ve.remove,i.list=Ve.list,i.clear=Ke.clear,_e.after(ve,function(e){new w(e)}).after(me+" "+Pe,function(e){_e.emit(Ce,e.id,e)}).after(ke,function(e){var t=e.handler.onPreRequest;t&&t(e)}).after(Pe,function(e){var t=e.handler.onPostRequest;t&&t(e)}).after(Ce,function(e){var t=e.handler.onPreProcess;t&&t(e),e.pledge.then(function(){_e.emit(Se,e.id,e)}),e.enqueue===!0?P.enqueue(e):s(e.enqueue,Qe)&&e.enqueue.then(function(){P.enqueue(e)})}),i}(),e.provide=function(){var t,n,r=u(arguments[0],re)?arguments[0]:Y,i=this!==e?this:Y,o=x(arguments[r?1:0])?arguments[r?1:0]:Y,a=o?arguments[r?2:1]:arguments[r?1:0];!r&&E.current&&(t=E.current,r=t.uri,E.process()),r?(t=t||new Ve(r,i),n=u(a,ue),o?demand.apply(t.path,o).then(function(){t.dfd.resolve(n?a.apply(Y,arguments):a)},function(){t.dfd.reject(new y(Te,t.id,arguments))}):t.dfd.resolve(n?a():a)):!u(console,ne)&&console.error(new y(He))},demand.configure({cache:te,base:"/",pattern:{"/demand":h((n&&n.url||location.href)+"/../").slice(0,-1)}}),n&&n.settings&&demand.configure(n.settings),j.prototype={enqueue:function(){S[this.uuid]=S[this.uuid].concat(d(arguments)),_e.emit(Me,this.uuid)},dequeue:function(){return _e.emit(Ae,this.uuid),S[this.uuid].shift()},get current(){return S[this.uuid][0]},get length(){return S[this.uuid].length}},j.extends(m),q.prototype={process:function(){var e,t=S[this.uuid];t.queue.length?(e=t.current=t.queue.dequeue(),e.handler.process&&e.handler.process(e)):t.current=Y},get current(){return S[this.uuid].current}},q.extends(m);var Ze=function(){function e(){}return e.prototype={validate:Y,onPreRequest:Y,onPostRequest:Y,onPreProcess:Y,process:Y},new e}(),et=function(){function e(){}var n=".js",r=t.getElementsByTagName("head")[0],i=/^(application|text)\/(x-)?javascript/;return e.prototype={validate:function(e){return i.test(e)},onPreRequest:function(e){var t=e.url.pathname;e.url.pathname=t.slice(-n.length)!==n?t+n:t},onPostRequest:function(e){e.source=R(e.url,e.source)},process:function(e){var n;e.source&&(n=t.createElement("script"),n.async=te,n.text=e.source,n.setAttribute(F+"-id",e.id),r.appendChild(n))}},new(e.extends(Ze))}();y.prototype={toString:function(){var e=this,t=F+": "+e.message+" "+(e.module?'"'+e.module+'"':"");return e.stack&&(t=y.traverse(e.stack,t,1)),t}},y.traverse=function(e,t,n){for(var r,i=new Array(n+1).join(" "),o=0;r=e[o];o++)t+="\n"+i+"> "+r.message+" "+(r.module?'"'+r.module+'"':""),r.stack&&(t=y.traverse(r.stack,t,n+1));return t};var tt=function(){function e(e,t){var n,r;for(n=0;r=t[n];n++)u(r,re)&&(t[n]=v(r))}function t(e){for(var t,n,r=0;n=e[r];r++)if(n=n.match(ze),n=n&&n[3]||i.handler,t){if(n!==t)return ee}else t=n;return t}function n(){}var r=z+"bundle",i={};return demand.on(he+":"+r,function(t){a(t)&&(i=t,f(i,e))}),n.prototype={validate:et.validate,onPreProcess:function(e){function n(){f.reject(new y(De,e.id,arguments))}var r,o,u,a,c,s=e.source,f=e.dfd,d=i[e.path];if(e.enqueue=ee,d&&(r=t(d))){for(;o=Be.exec(s);)s=s.replace(o[0],"");for(e.source=s,u=[],c=0;a=d[c];c++)u.push(Ve.resolve(W+a).pledge);Qe.all(u).then(function(){for(u.length=0,c=0;a=d[c];c++)a=d[c]=Ve.get(a)||new Ve(a),a.handler=arguments[c],u.push(a.pledge);"module"===r?(P.enqueue.apply(P,d),et.process(e)):(et.process(e),P.enqueue.apply(P,d)),Qe.all(u).then(f.resolve,n)},n)}else n()}},new(n.extends(Ze))}(),nt=function(){function e(){}var n=".html",r=/^text\/.+$/;return e.prototype={validate:function(e){return r.test(e)},onPreRequest:function(e){var t=e.url.pathname;e.url.pathname=t.slice(-n.length)!==n?t+n:t},onPostRequest:function(e){e.source=R(e.url,e.source)},onPreProcess:function(e){function n(){c.reject(new y(De,e.id,arguments))}var r,i,o,u,a=e.path,c=e.dfd,s=t.createElement("body"),f=[],d=[];for(e.enqueue=ee,s.innerHTML=e.source;r=s.firstElementChild;)(i=r.getAttribute("type"))&&(o=r.getAttribute("path"),u=i+"!"+a+(o?"/"+o:""),r.parentNode.removeChild(r),f.push({source:r.textContent,uri:u}),d.push(Ve.resolve("mock:"+u).pledge));Qe.all(d).then(function(){var e,t,r=0;for(d.length=0;e=f[r];r++)t=Ve.get(e.uri)||new Ve(e.uri),t.source=e.source,t.handler=arguments[r],d.push(t.pledge),P.enqueue(t);Qe.all(d).then(c.resolve,n)},n)}},new(e.extends(Ze))}(),rt=function(){function e(e){for(var t,n,r=0;t=s[r];r++)0===e.indexOf(t.prefix)&&(!n||t.weight>n.weight)&&(n=t);return n}function t(e){var t,n,r=e.matches,i={pattern:{},modules:{"/demand/handler/bundle":{}}},o=0;for(i.pattern[e.id]=e.fn(r),i.modules[z+"bundle"][e.id]=t=[];n=r[o];o++)t.push(n.path);return i}function n(){for(var e,t=0;e=this[t];t++)e.dfd.resolve(arguments[t])}function r(){for(var e,t=0;e=this[t];t++)e.dfd.reject(new y(De,e.id))}function i(e,t){s.push({prefix:e,weight:e.length,fn:t})}function o(e,i){var o,u=i.matches,a=0;if(u.length>1){for(i.id=c+"/"+b(JSON.stringify(i.matches));o=u[a];a++)u[a]=new Ve(o.uri);demand.configure(t(i)),demand("bundle!"+i.id).then(n.bind(u),r.bind(u))}}var c=K+"genie",s=[];return demand.on(he+":"+c,function(e){a(e)&&(s.length=0,f(e,i))}).on(je,function(t,n){for(var r,i,a={},c=0;r=t[c];c++)!u(r,re)||Je.test(r)||Ve.get(r,n)||(r=new Ve(r,n,ee),"module"===r.type&&(i=e(r.path))&&!Ke.get(r)&&(a[i.prefix]||(a[i.prefix]={fn:i.fn,matches:[]})).matches.push(r));f(a,o)}),te}();if(P=new j,E=new q(P),k(J+"uuid",m),k(J+"handler",Ze),k(z+"module",et),k(z+"bundle",tt),k(z+"component",nt),k(K+"genie",rt),k(V+"isTypeOf",u),k(V+"isArray",x),k(V+"isObject",a),k(V+"isInstanceOf",s),k(Q+"resolveUrl",h),k(Q+"resolveSourcemaps",R),k(Q+"merge",Ie),k(Q+"iterate",f),k(Q+"hash",b),k(Q+"defer",Le),k(G+"descriptor",o),k(G+"pledge",Qe),k(G+"queue",j),k(G+"xhr",Ye),k(G+"failure",y),n&&n.main)switch(typeof n.main){case re:demand(n.main);break;case ue:provide("main",n.main())}}(this,document,"demand"in this&&demand,setTimeout,clearTimeout); +/**! Qoopido.demand 4.1.9 | https://github.com/dlueth/qoopido.demand | (c) 2017 Dirk Lueth */ +!function(e,t,n,r,i){"use strict";function o(e,t,n,r){return{__proto__:Y,value:e,enumerable:!!r,configurable:!!n,writable:!!t}}function u(e,t){return typeof e===t}function a(e){return e&&u(e,oe)}function c(e){return u(e,ae)&&isFinite(e)&&Math.floor(e)===e&&e>=0}function s(e,t){return e instanceof t}function f(e,t,n){for(var r,i=$.keys(e),o=0;(r=i[o])!==Z&&t.call(n,r,e[r])!==ee;o++);return n}function d(e,t,n){return M.call(e,t,n)}function l(){return+new Date}function h(e){return X.href=e,X.href}function p(e,t){var n=e.replace(ze,"");return Ue.test(n)||Fe.test(n)||(n="/"+h((t&&h(t+"/../")||"/")+n).replace(Ge,"")),n}function v(e,t){var n=e.match(ze);return(n&&n[1]?"mock:":"")+(n&&n[3]||C.handler)+"!"+p(e,t)}function m(){return u(this.uuid,ne)&&I(this,"uuid",new o(Ne())),this}function g(){this.parent.constructor.call(this),S[this.uuid]={}}function y(e,t,n){this.message=e,t&&(this.module=t),n&&(this.stack=d(n))}function w(e){function n(t,n){n&&e.handler.validate&&!e.handler.validate(n)?e.dfd.reject(new y($e+" (content-type)",e.id)):(e.source=t,_e.emit(Pe,e.type,e))}function r(t){e.dfd.reject(new y($e+(t?" (status)":""),e.id))}function i(u){u=u||0,e.url=t.createElement("a"),e.url.href=o?h(o.process(e.path,u)):e.path,_e.emit(ke,e.type,e),new Ye(e.url).then(n,o?function(){u++,o.location[u]?i(u):r()}:r)}var o;Fe.test(e.path)||f(C.pattern,function(t,n){n.matches(e.path)&&(!o||o.weight>>0}function j(){this.parent.constructor.call(this),S[this.uuid]=[]}function q(e){var t=this.parent.constructor.call(this),n=S[t.uuid]={queue:e,current:Y};demand.on(Me+":"+e.uuid,function(){!n.current&&t.process()})}function R(e,t){for(var n,r;n=Be.exec(t);)X.href=e,Fe.test(n[2])?r=X.protocol+"//"+X.host+n[3]:(X.pathname+="/../"+n[3],r=X.protocol+"//"+X.host+X.pathname),t=t.replace(n[0],n[1]+" "+n[2]+"="+r+".map"+(n[4]?" "+n[4]:""));return t}function y(e,t,n){this.message=e,t&&(this.module=t),n&&(this.stack=d(n))}function k(e,t){provide(e,function(){return t})}var P,E,C={version:"1.0.0",cache:{},timeout:8e3,pattern:{},modules:{},handler:"module"},S={},O=Array.prototype,M=O.slice,A=O.concat,$=Object,T=$.prototype,D=T.toString,H=$.create,I=$.defineProperty,N=$.getOwnPropertyNames,L=$.getOwnPropertyDescriptor,_=Function.prototype,X=t.createElement("a"),F="demand",U="provide",B="path",G="/"+F+"/",J=G+"abstract/",z=G+"handler/",K=G+"plugin/",Q=G+"function/",V=G+"validator/",W="mock:",Y=null,Z=void 0,ee=!1,te=!0,ne="undefined",re="string",ie="boolean",oe="object",ue="function",ae="number",ce=function(){},se="pre",fe="post",de="Configure",le=se+de,he=fe+de,pe="cache",ve=pe+"Miss",me=pe+"Hit",ge=pe+"Clear",ye=pe+"Exceed",we=se+"Cache",xe=fe+"Cache",be="Resolve",je=se+be,qe=fe+be,Re="Request",ke=se+Re,Pe=fe+Re,Ee="Process",Ce=se+Ee,Se=fe+Ee,Oe="queue",Me=Oe+"Enqueue",Ae=Oe+"Dequeue",$e="error loading",Te="error providing",De="error resolving",He="unspecified anonymous provide";!function(){function e(e){var t,n=this,r=n.prototype,i={},u=N(r),a=0;for(e=e.prototype||e;t=u[a];a++)i[t]=L(r,t);return i.constructor=new o(n),i.parent=new o(e),n.prototype=H(e,i),n}I(_,"extends",new o(e))}();var Ie=function(){function e(e,t){var n,r=this[e];t!==Z&&(a(t)?(n=a(r),r=t.length!==Z?n&&r.length!==Z?r:[]:n&&r.length===Z?r:{},this[e]=Ie(r,t)):this[e]=t)}return function(){for(var t,n=arguments[0],r=1;(t=arguments[r])!==Z;r++)f(t,e,n);return n}}(),Ne=function(){function e(e){var t=16*Math.random()|0;return("x"===e?t:3&t|8).toString(16)}var t=new RegExp("[xy]","g"),n={};return function(){var r;do r="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(t,e);while(n[r]);return n[r]=1,r}}(),Le=function(){var n,i,o="setImmediate"in e;return"MutationObserver"in e?function(e){n=t.createElement("div"),new MutationObserver(function(){e()}).observe(n,{attributes:te}),n.setAttribute("i","1")}:!o&&"postMessage"in e&&!("importScripts"in e)&&"addEventListener"in e?function(){function t(t){t.source===e&&t.data&&S[t.data]&&(S[t.data](),delete S[t.data])}return e.addEventListener("message",t,ee),function(t){var n=Ne();S[n]=t,e.postMessage(n,"*")}}():!o&&"onreadystatechange"in(n=t.createElement("script"))?function(e){n.onreadystatechange=function(){n.onreadystatechange=Y,n.parentNode.removeChild(n),e()},t.body.appendChild(n)}:(i=o?setImmediate:r,function(e){i(e)})}(),_e=function(){function e(e,t,r){var a,c;if(u(t,re)&&u(r,ue))for(t=t.split(" ");a=t.shift();)a=a.split(":"),i.test(a[0])&&((o[a[0]]||(o[a[0]]={on:[],after:[]}))[e].push({callback:r,filter:a[1]}),e===n&&a[0]===he&&(c=C.modules[a[1]])&&r(c))}function t(){}var n="on",r="after",i=/^cache(Miss|Hit|Clear|Exceed)|queue(En|De)queue|(pre|post)(Resolve|Configure|Request|Process|Cache)$/,o={};return t.prototype={emit:function(e,t){var i,u,a,c=o[e];if(c){for(i=d(arguments,2),u=0;a=c[n][u];u++)a.filter&&a.filter!==t||a.callback.apply(Y,i);for(u=0;a=c[r][u];u++)a.filter&&a.filter!==t||a.callback.apply(Y,i)}return this},on:function(t,r){return e(n,t,r),this},after:function(t,n){return e(r,t,n),this}},new t}(),Xe=function(){var e=/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g;return function(t){return t.replace(e,"\\$&")}}(),Fe=/^(http(s?):)?\/\//i,Ue=/^\//,Be=/((?:\/\/|\/\*)#)\s*(sourceMappingURL)\s*=\s*(?!(?:http[s]?:)?\/\/)(.+?)\.map(?:\s+)?(\*\/)?/g,Ge=new RegExp("^"+Xe(h("/"))),Je=new RegExp("^"+F+"|"+U+"|"+B+"$"),ze=/^(mock:)?([+-])?((?:[-\w]+\/?)+)?(?:@(.+?))?(?:#(\d+))?!/,Ke=function(){function t(e){var t;return e.cache!==Y?e.cache:(f(C.cache,function(n,r){0===e.path.indexOf(n)&&(!t||r.weight>t.weight)&&(t=r)}),t?t.state:ee)}function n(e){return w.getItem(e)}function r(e,t){w[t?"setItem":"removeItem"](e,t)}function i(e){var t,r=n(e);if(r&&(t=r.match(g)))return d(t,1)}function o(e,t){t[4]=l(),r(e,t.join(","))}function u(e,t,n){_e.emit(e,t.id,t,n)}function a(){Le(this.clear.expired.bind(this.clear))}var c,s="["+F+"]",h="[state]",p="[value]",m=new RegExp("^"+Xe(s)+"\\[(.+?)\\]"+Xe(h)+"$"),g=/^(.+?),(\d+),(\d*),(.+?),(\d+)$/,y=function(){try{return"localStorage"in e&&e.localStorage}catch(e){return ee}}(),w=y?e.localStorage:Y,x=y&&"remainingSpace"in w,b={};return _e.on(ve,function(e){Le(function(){c.clear.path(e.id)})}).on(ye,function(e){demand("-!/"+F+"/cache/dispose").then(function(t){Le(function(){t(e.source.length),c.set(e)})})}).on(Pe,function(e){e.source&&t(e)&&(b[e.id]=te)}).after(Se,function(e){b[e.id]&&Le(function(){c.set(e)})}),a.prototype={get:y?function(e){var r,u;if(t(e)&&(r=s+"["+e.id+"]",u=i(r+h),u&&u[0]===e.version&&(!u[2]&&!e.lifetime||u[2]>l())))return e.source=n(r+p),Le(function(){o(r+h,u)}),te}:ce,resolve:y?function(e){var t=this;t.get(e)?u(me,e):u(ve,e)}:function(e){u(ve,e)},set:y?function(e){var n,i,a;if(t(e)){n=[e.version,e.source.length,e.lifetime?l()+e.lifetime:Y,demand.version],i=s+"["+e.id+"]",u(we,e,n);try{if(a=x?w.remainingSpace:Y,r(i+p,e.source),o(i+h,n),a!==Y&&w.remainingSpace===a)throw new Error;u(xe,e,n)}catch(t){u(ye,e)}}}:ce,clear:{path:y?function(e){var t=v(e),i=s+"["+t+"]";n(i+h)&&(r(i+h),r(i+p),u(ge,Ve.get(t)||new Ve(t,Y,ee)))}:ce,all:y?function(){var e;f(w,function(t){e=t.match(m),e&&this.path(e[1])},this)}:ce,expired:y?function(){var e,t,n=this;f(w,function(r){e=r.match(m),e&&(t=i(s+"["+e[1]+"]"+h),t&&t[2]>0&&t[2]<=l()&&n.path(e[1]))},this)}:ce}},c=new a}(),Qe=function(){function e(){s[this.uuid].handle(a,arguments)}function t(){s[this.uuid].handle(c,arguments)}function n(e,t){var n,r,i=s[this.uuid];for(i.state===u&&(i.state=e,i.value=t);n=i[i.state].shift();)r=n.handler.apply(Y,i.value),r&&"function"==typeof r.then?r.then(n.dfd.resolve,n.dfd.reject):n.dfd[i.state===a?"resolve":"reject"].apply(Y,i.value);i[a].length=0,i[c].length=0}function r(e,t,n){e.then(function(){n.resolved[t]=d(arguments),n.count++,i(n)},function(){n.rejected.push(d(arguments)),i(n)})}function i(e){e.count===e.total?e.dfd.resolve.apply(Y,A.apply([],e.resolved)):e.rejected.length+e.count===e.total&&e.dfd.reject.apply(Y,A.apply([],e.rejected))}function o(r){var i=this.parent.constructor.call(this);s[i.uuid]={state:u,handle:n.bind(i),value:Y,resolved:[],rejected:[],count:0},r(e.bind(i),t.bind(i))}var u="pending",a="resolved",c="rejected",s={};return o.prototype={catch:function(e){return this.then(ce,e)},always:function(e){return this.then(e,e)},then:function(e,t){var n=s[this.uuid],r=o.defer();return e&&n[a].push({handler:e,dfd:r}),t&&n[c].push({handler:t,dfd:r}),n.state!==u&&Le(n.handle),r.pledge},isPending:function(){return s[this.uuid].state===u},isResolved:function(){return s[this.uuid].state===a},isRejected:function(){return s[this.uuid].state===c}},o.defer=function(){var e={};return e.pledge=new o(function(t,n){e.resolve=t,e.reject=n}),e},o.all=function(e){var t,n,i=o.defer(),u=0;if(e.length)for(t=s[Ne()]={dfd:i,resolved:[],rejected:[],total:e.length,count:0};n=e[u];u++)r(n,u,t);else i.resolve();return i.pledge},o.race=function(e){for(var t,n=o.defer(),r=0;t=e[r];r++)t.then(n.resolve,n.reject);return e.length||n.resolve(),n.pledge},o.extends(m)}();g.prototype={get:function(e){return e?S[this.uuid][e]:S[this.uuid]},set:function(e,t){S[this.uuid][e]=t},remove:function(e){delete S[this.uuid][e]}},g.extends(m),y.prototype={toString:function(){var e=this,t=F+": "+e.message+" "+(e.module?'"'+e.module+'"':"");return e.stack&&(t=y.traverse(e.stack,t,1)),t}},y.traverse=function(e,t,n){for(var r,i=new Array(n+1).join(" "),o=0;r=e[o];o++)t+="\n"+i+"> "+r.message+" "+(r.module?'"'+r.module+'"':""),r.stack&&(t=y.traverse(r.stack,t,n+1));return t};var Ve=function(){function e(e,t){this[e]=t}function n(e,t){t.pledge.isPending()&&this.push(e)}function r(e,t){t.pledge.isResolved()&&this.push(e)}function i(e,t){t.pledge.isRejected()&&this.push(e)}function o(e,t,n){var r=this,i=e.match(ze)||s;return r.path=p(e,t),r.mock=i[1]?te:ee,r.cache=i[2]?"+"===i[1]:Y,r.type=i[3]||C.handler,r.version=i[4]||C.version,r.lifetime=i[5]&&1e3*i[5]||C.lifetime,r.id=(r.mock?W:"")+r.type+"!"+r.path,r.uri=(r.mock?W:"")+r.type+"@"+r.version+(c(r.lifetime)&&r.lifetime>0?"#"+r.lifetime:"")+"!"+r.path,r.dfd=Qe.defer(),r.pledge=r.dfd.pledge,r.pledge.then(function(){r.value=d(arguments)}),n!==ee&&a.set(r.id,r),r}var u="internal!",a=new g,s=[];return o.prototype={enqueue:!0},o.get=function(e,t){return a.get(v(e,t))},o.resolve=function(t,n){var r,i=n&&Je.test(t),a=i?this.get(u+n+"/"+t):this.get(t,n);if(!a)if(i){switch(a=new o(u+n+"/"+t),t){case F:r=function(){return f(demand,e,demand.bind(n))}();break;case U:r=provide.bind(n);break;case B:r=n}a.dfd.resolve(r)}else a=new o(t,n),demand(z+a.type).then(function(e){a.handler=e,a.mock?a.dfd.resolve(e):Ke.resolve(a)},function(){a.dfd.reject(new y($e+" (handler)",self.id))});return a},o.remove=function(e,n,r){var i=v(e,n),o=t.querySelector("["+F+'-id="'+i+'"]');a.remove(i),a.remove(W+i),o&&o.parentNode.removeChild(o),r!==ee&&Ke.clear.path(i)},o.list={all:function(){return $.keys(a.get())},pending:function(){return f(a.get(),n,[])},resolved:function(){return f(a.get(),r,[])},rejected:function(){return f(a.get(),i,[])}},o}(),We=function(){function e(e,t){this[e]={url:h(t).replace(n,"$1"),match:new RegExp("^"+Xe(t))}}function t(t,n){var r=this;r.weight=t.length,r.match=new RegExp("^"+Xe(t)),r.location=[].concat(n),f(r.location,e,r.location)}var n=/(.+)\/$/;return t.prototype={matches:function(e){return this.match.test(e)},process:function(e,t){var n=this.location[t];if(n)return e.replace(this.match,n.url)}},t}(),Ye=function(t){function n(){this.readyState<4&&this.abort()}var o="XDomainRequest"in e&&e.XDomainRequest||t;return function(e){var u,a=Qe.defer(),c=Ge.test(e)?new t:new o,s=n.bind(c),f=C.timeout;return c.ontimeout=c.onerror=c.onabort=function(){a.reject(c.status)},c.onprogress=c.onreadystatechange=function(){i(u),u=r(s,f)},c.onload=function(){u=i(u),"status"in c&&200!==c.status?a.reject(c.status):a.resolve(c.responseText,c.getResponseHeader&&c.getResponseHeader("content-type"))},c.open("GET",e,te),c.send(),u=r(s,f),a.pledge}}(XMLHttpRequest);e.demand=function(){function t(e,t){this[e]={weight:e.length,state:t}}function n(e,t){"base"!==e&&(this[e]=new We(e,t))}function r(e,t){var n=this[e]=this[e]||{};_e.emit(le,e,n),Ie(n,t),_e.emit(he,e,n)}function i(){var t,n,r,i=d(arguments),o=this!==e?this:Y,a=0;for(_e.emit(je,Y,i,o);t=i[a];a++)u(t,re)?i[a]=Ve.resolve(t,o).pledge:(i[a]=(n=Qe.defer()).pledge,n.resolve(t));return r=i.length>1?Qe.all(i):i[0],r.always(function(){_e.emit(qe,Y,i,o)})}return i.configure=function(e){var o=e.cache,s=e.version,d=e.timeout,l=e.lifetime,h=e.base,p=e.pattern,v=e.modules,m=C.modules;return u(o,ie)?C.cache[""]={weight:0,state:o}:a(o)&&f(o,t,C.cache),u(s,re)&&(C.version=s),c(d)&&(C.timeout=1e3*Math.min(Math.max(d,2),12)),c(l)&&l>0&&(C.lifetime=1e3*l),u(h,re)&&""!==h&&(C.pattern.base=new We("",h)),a(p)&&f(p,n,C.pattern),a(v)&&f(v,r,m),i},i.version="4.1.9",i.on=_e.on.bind(i),i.get=function(e,t){var n=Ve.get(e,t);return n&&n.value},i.remove=Ve.remove,i.list=Ve.list,i.clear=Ke.clear,_e.after(ve,function(e){new w(e)}).after(me+" "+Pe,function(e){_e.emit(Ce,e.id,e)}).after(ke,function(e){var t=e.handler.onPreRequest;t&&t(e)}).after(Pe,function(e){var t=e.handler.onPostRequest;t&&t(e)}).after(Ce,function(e){var t=e.handler.onPreProcess;t&&t(e),e.pledge.then(function(){_e.emit(Se,e.id,e)}),e.enqueue===!0?P.enqueue(e):s(e.enqueue,Qe)&&e.enqueue.then(function(){P.enqueue(e)})}),i}(),e.provide=function(){var t,n,r=u(arguments[0],re)?arguments[0]:Y,i=this!==e?this:Y,o=x(arguments[r?1:0])?arguments[r?1:0]:Y,a=o?arguments[r?2:1]:arguments[r?1:0];!r&&E.current&&(t=E.current,r=t.uri,E.process()),r?(t=t||new Ve(r,i),n=u(a,ue),o?demand.apply(t.path,o).then(function(){t.dfd.resolve(n?a.apply(Y,arguments):a)},function(){t.dfd.reject(new y(Te,t.id,arguments))}):t.dfd.resolve(n?a():a)):!u(console,ne)&&console.error(new y(He))},demand.configure({cache:te,base:"/",pattern:{"/demand":h((n&&n.url||location.href)+"/../").slice(0,-1)}}),n&&n.settings&&demand.configure(n.settings),j.prototype={enqueue:function(){S[this.uuid]=S[this.uuid].concat(d(arguments)),_e.emit(Me,this.uuid)},dequeue:function(){return _e.emit(Ae,this.uuid),S[this.uuid].shift()},get current(){return S[this.uuid][0]},get length(){return S[this.uuid].length}},j.extends(m),q.prototype={process:function(){var e,t=S[this.uuid];t.queue.length?(e=t.current=t.queue.dequeue(),e.handler.process&&e.handler.process(e)):t.current=Y},get current(){return S[this.uuid].current}},q.extends(m);var Ze=function(){function e(){}return e.prototype={validate:Y,onPreRequest:Y,onPostRequest:Y,onPreProcess:Y,process:Y},new e}(),et=function(){function e(){}var n=".js",r=t.getElementsByTagName("head")[0],i=/^(application|text)\/(x-)?javascript/;return e.prototype={validate:function(e){return i.test(e)},onPreRequest:function(e){var t=e.url.pathname;e.url.pathname=t.slice(-n.length)!==n?t+n:t},onPostRequest:function(e){e.source=R(e.url,e.source)},process:function(e){var n;e.source&&(n=t.createElement("script"),n.async=te,n.text=e.source,n.setAttribute(F+"-id",e.id),r.appendChild(n))}},new(e.extends(Ze))}();y.prototype={toString:function(){var e=this,t=F+": "+e.message+" "+(e.module?'"'+e.module+'"':"");return e.stack&&(t=y.traverse(e.stack,t,1)),t}},y.traverse=function(e,t,n){for(var r,i=new Array(n+1).join(" "),o=0;r=e[o];o++)t+="\n"+i+"> "+r.message+" "+(r.module?'"'+r.module+'"':""),r.stack&&(t=y.traverse(r.stack,t,n+1));return t};var tt=function(){function e(e,t){var n,r;for(n=0;r=t[n];n++)u(r,re)&&(t[n]=v(r))}function t(e){for(var t,n,r=0;n=e[r];r++)if(n=n.match(ze),n=n&&n[3]||i.handler,t){if(n!==t)return ee}else t=n;return t}function n(){}var r=z+"bundle",i={};return demand.on(he+":"+r,function(t){a(t)&&(i=t,f(i,e))}),n.prototype={validate:et.validate,onPreProcess:function(e){function n(){f.reject(new y(De,e.id,arguments))}var r,o,u,a,c,s=e.source,f=e.dfd,d=i[e.path];if(e.enqueue=ee,d&&(r=t(d))){for(;o=Be.exec(s);)s=s.replace(o[0],"");for(e.source=s,u=[],c=0;a=d[c];c++)u.push(Ve.resolve(W+a).pledge);Qe.all(u).then(function(){for(u.length=0,c=0;a=d[c];c++)a=d[c]=Ve.get(a)||new Ve(a),a.handler=arguments[c],u.push(a.pledge);"module"===r?(P.enqueue.apply(P,d),et.process(e)):(et.process(e),P.enqueue.apply(P,d)),Qe.all(u).then(f.resolve,n)},n)}else n()}},new(n.extends(Ze))}(),nt=function(){function e(){}var n=".html",r=/^text\/.+$/;return e.prototype={validate:function(e){return r.test(e)},onPreRequest:function(e){var t=e.url.pathname;e.url.pathname=t.slice(-n.length)!==n?t+n:t},onPostRequest:function(e){e.source=R(e.url,e.source)},onPreProcess:function(e){function n(){c.reject(new y(De,e.id,arguments))}var r,i,o,u,a=e.path,c=e.dfd,s=t.createElement("body"),f=[],d=[];for(e.enqueue=ee,s.innerHTML=e.source;r=s.firstElementChild;)(i=r.getAttribute("type"))&&(o=r.getAttribute("path"),u=i+"!"+a+(o?"/"+o:""),r.parentNode.removeChild(r),f.push({source:r.textContent,uri:u}),d.push(Ve.resolve("mock:"+u).pledge));Qe.all(d).then(function(){var e,t,r=0;for(d.length=0;e=f[r];r++)t=Ve.get(e.uri)||new Ve(e.uri),t.source=R(t.url,e.source),t.handler=arguments[r],d.push(t.pledge),P.enqueue(t);Qe.all(d).then(c.resolve,n)},n)}},new(e.extends(Ze))}(),rt=function(){function e(e){for(var t,n,r=0;t=s[r];r++)0===e.indexOf(t.prefix)&&(!n||t.weight>n.weight)&&(n=t);return n}function t(e){var t,n,r=e.matches,i={pattern:{},modules:{"/demand/handler/bundle":{}}},o=0;for(i.pattern[e.id]=e.fn(r),i.modules[z+"bundle"][e.id]=t=[];n=r[o];o++)t.push(n.path);return i}function n(){for(var e,t=0;e=this[t];t++)e.dfd.resolve(arguments[t])}function r(){for(var e,t=0;e=this[t];t++)e.dfd.reject(new y(De,e.id))}function i(e,t){s.push({prefix:e,weight:e.length,fn:t})}function o(e,i){var o,u=i.matches,a=0;if(u.length>1){for(i.id=c+"/"+b(JSON.stringify(i.matches));o=u[a];a++)u[a]=new Ve(o.uri);demand.configure(t(i)),demand("bundle!"+i.id).then(n.bind(u),r.bind(u))}}var c=K+"genie",s=[];return demand.on(he+":"+c,function(e){a(e)&&(s.length=0,f(e,i))}).on(je,function(t,n){for(var r,i,a={},c=0;r=t[c];c++)!u(r,re)||Je.test(r)||Ve.get(r,n)||(r=new Ve(r,n,ee),"module"===r.type&&(i=e(r.path))&&!Ke.get(r)&&(a[i.prefix]||(a[i.prefix]={fn:i.fn,matches:[]})).matches.push(r));f(a,o)}),te}();if(P=new j,E=new q(P),k(J+"uuid",m),k(J+"handler",Ze),k(z+"module",et),k(z+"bundle",tt),k(z+"component",nt),k(K+"genie",rt),k(V+"isTypeOf",u),k(V+"isArray",x),k(V+"isObject",a),k(V+"isInstanceOf",s),k(Q+"resolveUrl",h),k(Q+"resolveSourcemaps",R),k(Q+"merge",Ie),k(Q+"iterate",f),k(Q+"hash",b),k(Q+"defer",Le),k(G+"descriptor",o),k(G+"pledge",Qe),k(G+"queue",j),k(G+"xhr",Ye),k(G+"failure",y),n&&n.main)switch(typeof n.main){case re:demand(n.main);break;case ue:provide("main",n.main())}}(this,document,"demand"in this&&demand,setTimeout,clearTimeout); //# sourceMappingURL=demand.js.map diff --git a/dist/demand.js.map b/dist/demand.js.map index 525f48a..6eb17a5 100644 --- a/dist/demand.js.map +++ b/dist/demand.js.map @@ -1 +1 @@ -{"version":3,"sources":["demand.js","class/descriptor.js","validator/isTypeOf.js","validator/isObject.js","validator/isPositive.js","validator/isInstanceOf.js","function/iterate.js","function/toArray.js","function/getTimestamp.js","function/resolveUrl.js","function/resolvePath.js","function/resolveId.js","abstract/uuid.js","class/registry.js","class/failure.js","class/loader.js","validator/isArray.js","function/hash.js","class/queue.js","class/processor.js","function/resolveSourcemaps.js","class/Failure.js","shortcuts.js","constants.js","inheritance.js","function/merge.js","function/uuid.js","function/defer.js","singleton/event.js","function/escapeRegex.js","variables.js","singleton/cache.js","class/pledge.js","class/dependency.js","class/pattern.js","class/xhr.js","function/demand.js","function/provide.js","abstract/handler.js","handler/module.js","handler/bundle.js","handler/component.js","plugin/genie.js"],"names":["global","document","options","setTimeout","clearTimeout","ClassDescriptor","value","writable","configurable","enumerable","__proto__","NULL","validatorIsTypeOf","object","type","validatorIsObject","STRING_OBJECT","validatorIsPositive","STRING_NUMBER","isFinite","Math","floor","validatorIsInstanceOf","module","functionIterate","source","callback","context","property","properties","keys","i","UNDEFINED","call","FALSE","functionToArray","arrayLikeObject","start","end","arrayPrototypeSlice","functionGetTimestamp","Date","functionResolveUrl","url","linkElement","href","functionResolvePath","uri","path","replace","regexMatchParameter","regexIsAbsolutePath","test","regexIsAbsoluteUri","regexMatchBaseUrl","functionResolveId","parameter","match","settings","handler","AbstractUuid","this","uuid","STRING_UNDEFINED","objectDefineProperty","functionUuid","ClassRegistry","parent","constructor","storage","ClassFailure","message","stack","ClassLoader","dependency","resolve","response","validate","dfd","reject","ERROR_LOAD","id","singletonEvent","emit","EVENT_POST_REQUEST","status","load","location","createElement","pattern","process","EVENT_PRE_REQUEST","ClassXhr","then","matches","weight","validatorIsArray","objectPrototypeToString","functionHash","input","length","charCodeAt","ClassQueue","ClassProcessor","queue","self","pointer","current","demand","on","EVENT_QUEUE_ENQUEUE","functionResolveSourcemaps","replacement","regexMatchSourcemap","exec","protocol","host","pathname","assignModule","provide","processor","version","cache","timeout","modules","arrayPrototype","Array","prototype","slice","arrayPrototypeConcat","concat","Object","objectPrototype","toString","objectCreate","create","defineProperty","objectGetOwnPropertyNames","getOwnPropertyNames","objectGetOwnPropertyDescriptor","getOwnPropertyDescriptor","functionPrototype","Function","DEMAND_ID","PROVIDE_ID","PATH_ID","MODULE_PREFIX","MODULE_PREFIX_ABSTRACT","MODULE_PREFIX_HANDLER","MODULE_PREFIX_PLUGIN","MODULE_PREFIX_FUNCTION","MODULE_PREFIX_VALIDATOR","MOCK_PREFIX","undefined","TRUE","STRING_STRING","STRING_BOOLEAN","STRING_FUNCTION","FUNCTION_EMPTY","EVENT_PREFIX","EVENT_POSTFIX","EVENT_CONFIGURE","EVENT_PRE_CONFIGURE","EVENT_POST_CONFIGURE","EVENT_CACHE","EVENT_CACHE_MISS","EVENT_CACHE_HIT","EVENT_CACHE_CLEAR","EVENT_CACHE_EXCEED","EVENT_PRE_CACHE","EVENT_POST_CACHE","EVENT_RESOLVE","EVENT_PRE_RESOLVE","EVENT_POST_RESOLVE","EVENT_REQUEST","EVENT_PROCESS","EVENT_PRE_PROCESS","EVENT_POST_PROCESS","EVENT_QUEUE","EVENT_QUEUE_DEQUEUE","ERROR_PROVIDE","ERROR_RESOLVE","ERROR_PROVIDE_ANONYMOUS","extend","names","functionMerge","mergeProperties","targetPropertyIsObject","targetProperty","target","arguments","randomize","character","r","random","regex","RegExp","functionDefer","element","fallback","hasSetImmediate","fn","MutationObserver","observe","attributes","setAttribute","onMessage","event","data","addEventListener","postMessage","onreadystatechange","parentNode","removeChild","body","appendChild","setImmediate","addListener","events","split","shift","regexMatchEvent","listener","after","push","filter","TYPE_ON","Event","TYPE_AFTER","item","apply","functionEscapeRegex","regexMatchRegex","regexMatchInternal","singletonCache","enabled","indexOf","state","getKey","key","localStorage","getItem","setKey","getState","regexMatchProperties","setState","join","Cache","clear","expired","bind","STORAGE_PREFIX","STORAGE_SUFFIX_STATE","STORAGE_SUFFIX_VALUE","regexMatchState","supportsLocalStorage","exception","supportsRemainingSpace","cacheDispose","set","get","lifetime","spaceBefore","remainingSpace","Error","error","ClassDependency","all","ClassPledge","handle","PLEDGE_RESOLVED","PLEDGE_REJECTED","result","PLEDGE_PENDING","pledge","index","resolved","count","check","rejected","total","executor","catch","always","alwaysListener","resolveListener","rejectListener","defer","isPending","isResolved","isRejected","pledges","race","extends","remove","traverse","depth","indention","setProperty","addPending","addResolved","addRejected","register","placeholder","mock","registry","PREFIX_INTERNAL","enqueue","isInternal","node","querySelector","list","pending","ClassPattern","regexMatchTrailingSlash","XMLHttpRequest","checkState","readyState","abort","XDomainRequest","xhr","boundCheckState","ontimeout","onerror","onabort","onprogress","onload","responseText","getResponseHeader","open","send","updateCacheSettings","updatePatternSettings","updateModuleSettings","temp","dependencies","configure","base","min","max","onPreRequest","onPostRequest","onPreProcess","isFunction","definition","console","/demand","dequeue","abstractHandler","AbstractHandler","handlerModule","HandlerModule","suffix","getElementsByTagName","regexMatchType","script","async","text","handlerBundle","updateDependencies","getType","HandlerBundle","handlerComponent","HandlerComponent","container","innerHTML","firstElementChild","getAttribute","textContent","pluginGenie","matchPattern","prefix","generateConfiguration","bundle","configuration","/demand/handler/bundle","resolveDependencies","rejectDependencies","addPattern","resolveBundles","JSON","stringify","bundles","main"],"mappings":"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","file":"demand.js","sourcesContent":["/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tMODULE_PREFIX, MODULE_PREFIX_HANDLER, MODULE_PREFIX_VALIDATOR, MODULE_PREFIX_PLUGIN, MODULE_PREFIX_FUNCTION, MODULE_PREFIX_ABSTRACT, STRING_STRING, STRING_FUNCTION, TRUE,\n\tvalidatorIsTypeOf, validatorIsArray, validatorIsObject, validatorIsInstanceOf,\n\tfunctionResolveUrl, functionResolveSourcemaps, functionMerge, functionIterate, functionDefer, functionHash, functionUuid,\n\tAbstractUuid, abstractHandler,\n\tClassDependency, ClassQueue, ClassProcessor, ClassPledge, ClassXhr, ClassFailure, ClassDescriptor,\n\thandlerModule, handlerBundle, handlerComponent,\n \tpluginGenie\n*/\n\n/*eslint no-unused-vars: [2, { \"vars\": \"local\", \"args\": \"none\" }]*/\n(function(global, document, options, setTimeout, clearTimeout) {\n\t'use strict';\n\n\t/* eslint-disable no-unused-vars */\n\tvar settings = { version: '1.0.0', cache: {}, timeout: 8000, pattern: {}, modules: {}, handler: 'module' },\n\t\tstorage = {},\n\t\tqueue, processor;\n\t/* eslint-enable no-unused-vars */\n\n\t// include inheritance\n\t\t//=require inheritance.js\n\n\t// include main components\n\t\t//=require function/demand.js\n\t\t//=require function/provide.js\n\n\t// process initial configuration\n\t\tdemand.configure({ cache: TRUE, base: '/', pattern: { '/demand': functionResolveUrl(((options && options.url) || location.href) + '/../').slice(0, -1)} });\n\t\toptions && options.settings && demand.configure(options.settings);\n\n\t// include additional components\n\t\t//=require function/hash.js\n\t\t//=require class/queue.js\n\t\t//=require class/processor.js\n\t\t//=require handler/module.js\n\t\t//=require handler/bundle.js\n\t\t//=require handler/component.js\n\t\t//=require plugin/genie.js\n\n\t// initialize\n\t\tqueue = new ClassQueue();\n\t\tprocessor = new ClassProcessor(queue);\n\n\t\tfunction assignModule(id, module) {\n\t\t\tprovide(id, function() { return module; });\n\t\t}\n\n\t\tassignModule(MODULE_PREFIX_ABSTRACT + 'uuid', AbstractUuid);\n\t\tassignModule(MODULE_PREFIX_ABSTRACT + 'handler', abstractHandler);\n\t\tassignModule(MODULE_PREFIX_HANDLER + 'module', handlerModule);\n\t\tassignModule(MODULE_PREFIX_HANDLER + 'bundle', handlerBundle);\n\t\tassignModule(MODULE_PREFIX_HANDLER + 'component', handlerComponent);\n\t\tassignModule(MODULE_PREFIX_PLUGIN + 'genie', pluginGenie);\n\t\tassignModule(MODULE_PREFIX_VALIDATOR + 'isTypeOf', validatorIsTypeOf);\n\t\tassignModule(MODULE_PREFIX_VALIDATOR + 'isArray', validatorIsArray);\n\t\tassignModule(MODULE_PREFIX_VALIDATOR + 'isObject', validatorIsObject);\n\t\tassignModule(MODULE_PREFIX_VALIDATOR + 'isInstanceOf', validatorIsInstanceOf);\n\t\tassignModule(MODULE_PREFIX_FUNCTION + 'resolveUrl', functionResolveUrl);\n\t\tassignModule(MODULE_PREFIX_FUNCTION + 'resolveSourcemaps', functionResolveSourcemaps);\n\t\tassignModule(MODULE_PREFIX_FUNCTION + 'merge', functionMerge);\n\t\tassignModule(MODULE_PREFIX_FUNCTION + 'iterate', functionIterate);\n\t\tassignModule(MODULE_PREFIX_FUNCTION + 'hash', functionHash);\n\t\tassignModule(MODULE_PREFIX_FUNCTION + 'defer', functionDefer);\n\t\tassignModule(MODULE_PREFIX + 'descriptor', ClassDescriptor);\n\t\tassignModule(MODULE_PREFIX + 'pledge', ClassPledge);\n\t\tassignModule(MODULE_PREFIX + 'queue', ClassQueue);\n\t\tassignModule(MODULE_PREFIX + 'xhr', ClassXhr);\n\t\tassignModule(MODULE_PREFIX + 'failure', ClassFailure);\n\n\t\tif(options && options.main) {\n\t\t\tswitch(typeof options.main) {\n\t\t\t\tcase STRING_STRING:\n\t\t\t\t\tdemand(options.main);\n\n\t\t\t\t\tbreak;\n\t\t\t\tcase STRING_FUNCTION:\n\t\t\t\t\tprovide('main', options.main());\n\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n}(this, document, 'demand' in this && demand, setTimeout, clearTimeout));","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tNULL\n*/\n\n//=require constants.js\n\nfunction ClassDescriptor(value, writable, configurable, enumerable) {\n\treturn {\n\t\t__proto__: NULL,\n\t\tvalue: value,\n\t\tenumerable: !!enumerable,\n\t\tconfigurable: !!configurable,\n\t\twritable: !!writable\n\t};\n}","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage\n*/\n\n/**\n * isTypeOf\n *\n * Check whether a given object is of specified type\n *\n * @param object\n * @param {string} type\n *\n * @return {boolean}\n */\n\nfunction validatorIsTypeOf(object, type) {\n\treturn typeof object === type;\n}","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tSTRING_OBJECT,\n\tvalidatorIsTypeOf\n*/\n\n//=require constants.js\n//=require validator/isTypeOf.js\n\n/**\n * isObject\n *\n * Check whether a given object is of type object\n *\n * @param object\n *\n * @return {boolean}\n */\n\nfunction validatorIsObject(object) {\n\treturn object && validatorIsTypeOf(object, STRING_OBJECT);\n}","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tSTRING_NUMBER,\n\tvalidatorIsTypeOf\n*/\n\n//=require constants.js\n//=require validator/isTypeOf.js\n\n/**\n * isPositive\n *\n * Check whether a given value is a positive integer\n *\n * @param value\n *\n * @return {boolean}\n */\n\nfunction validatorIsPositive(value) {\n\treturn validatorIsTypeOf(value, STRING_NUMBER) && isFinite(value) && Math.floor(value) === value && value >= 0;\n}","/**\n * isInstanceOf\n *\n * Check whether a given object is an instance of specified type\n *\n * @param object\n * @param module\n *\n * @return {boolean}\n */\nfunction validatorIsInstanceOf(object, module) {\n\treturn object instanceof module;\n}","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tUNDEFINED, FALSE,\n\tobject\n*/\n\n//=require constants.js\n//=require shortcuts.js\n\n/**\n * iterate\n *\n * Iterate over enumerable & own properties of a given\n * object and pass current property as well as its value\n * to a callback function\n *\n * @param {object} object\n * @param {function} callback\n * @param context\n *\n * @return mixed\n */\n\nfunction functionIterate(source, callback, context) {\n\tvar properties = object.keys(source),\n\t\ti = 0, property;\n\n\tfor(; (property = properties[i]) !== UNDEFINED; i++) {\n\t\tif(callback.call(context, property, source[property]) === FALSE) {\n\t\t\tbreak;\n\t\t}\n\t}\n\n\treturn context;\n}","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tarrayPrototypeSlice\n*/\n\n//=require shortcuts.js\n\nfunction functionToArray(arrayLikeObject, start, end) {\n\treturn arrayPrototypeSlice.call(arrayLikeObject, start, end);\n}","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage\n*/\n\nfunction functionGetTimestamp() {\n\treturn +new Date();\n}\n","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tlinkElement\n*/\n\n//=require shortcuts.js\n\nfunction functionResolveUrl(url) {\n\tlinkElement.href = url;\n\n\treturn linkElement.href;\n}","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tregexMatchParameter, regexMatchBaseUrl, regexIsAbsolutePath, regexIsAbsoluteUri,\n\tfunctionResolveUrl\n*/\n\n//=require variables.js\n//=require function/resolveUrl.js\n\nfunction functionResolvePath(uri, context) {\n\tvar path = uri.replace(regexMatchParameter, '');\n\n\tif(!regexIsAbsolutePath.test(path) && !regexIsAbsoluteUri.test(path)) {\n\t\tpath = '/' + functionResolveUrl(((context && functionResolveUrl(context + '/../')) || '/') + path).replace(regexMatchBaseUrl, '');\n\t}\n\n\treturn path;\n}","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tregexMatchParameter,\n\tfunctionResolvePath\n*/\n\n//=require variables.js\n//=require function/resolvePath.js\n\nfunction functionResolveId(uri, context) {\n\tvar parameter = uri.match(regexMatchParameter);\n\n\treturn ((parameter && parameter[1]) ? 'mock:' : '') + ((parameter && parameter[3]) || settings.handler) + '!' + functionResolvePath(uri, context);\n}","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tSTRING_UNDEFINED,\n\tobjectDefineProperty,\n\tvalidatorIsTypeOf,\n\tfunctionUuid,\n\tClassDescriptor\n*/\n\n//=require constants.js\n//=require shortcuts.js\n//=require validator/isTypeOf.js\n//=require function/uuid.js\n//=require class/descriptor.js\n\nfunction AbstractUuid() {\n\tif(validatorIsTypeOf(this.uuid, STRING_UNDEFINED)) {\n\t\tobjectDefineProperty(this, 'uuid', new ClassDescriptor(functionUuid()));\n\t}\n\n\treturn this;\n}\n","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tAbstractUuid\n*/\n\n//=require abstract/uuid.js\n\nfunction ClassRegistry() {\n\tthis.parent.constructor.call(this);\n\n\tstorage[this.uuid] = {};\n}\n\nClassRegistry.prototype = {\n\tget: function(key) {\n\t\treturn key ? storage[this.uuid][key] : storage[this.uuid];\n\t},\n\tset: function(key, value) {\n\t\tstorage[this.uuid][key] = value;\n\t},\n\tremove: function(key) {\n\t\tdelete storage[this.uuid][key];\n\t}\n};\n\nClassRegistry.extends(AbstractUuid);","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tDEMAND_ID,\n\tfunctionToArray\n*/\n\n//=require constants.js\n//=require function/toArray.js\n\nfunction ClassFailure(message, module, stack) {\n\tthis.message = message;\n\t\t\n\tmodule && (this.module = module);\n\tstack && (this.stack = functionToArray(stack));\n}\n\t\nClassFailure.prototype = {\n\t/* only for reference\n\t message: NULL,\n\t module: NULL,\n\t stack: NULL,\n\t */\n\ttoString: function() {\n\t\tvar self = this,\n\t\t\tresult = DEMAND_ID + ': ' + self.message + ' ' + (self.module ? '\"' + self.module + '\"' : '');\n\n\t\tif(self.stack) {\n\t\t\tresult = ClassFailure.traverse(self.stack, result, 1);\n\t\t}\n\t\t\t\n\t\treturn result;\n\t}\n};\n\t\nClassFailure.traverse = function(stack, value, depth) {\n\tvar indention = new Array(depth + 1).join(' '),\n\t\ti = 0, item;\n\t\t\n\tfor(; item = stack[i]; i++) {\n\t\tvalue += '\\n' + indention + '> ' + item.message + ' ' + (item.module ? '\"' + item.module + '\"' : '');\n\t\t\t\n\t\tif(item.stack) {\n\t\t\tvalue = ClassFailure.traverse(item.stack, value, depth + 1);\n\t\t}\n\t}\n\t\t\n\treturn value;\n};","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tDEMAND_ID, EVENT_PRE_REQUEST, EVENT_POST_REQUEST, ERROR_LOAD,\n\tregexIsAbsoluteUri,\n\tlinkElement,\n\tfunctionIterate, functionResolveUrl,\n\tClassXhr, ClassFailure,\n\tsingletonEvent\n*/\n\n//=require constants.js\n//=require variables.js\n//=require shortcuts.js\n//=require function/resolveUrl.js\n//=require function/iterate.js\n//=require singleton/event.js\n//=require class/xhr.js\n//=require class/failure.js\n\nfunction ClassLoader(dependency) {\n\tvar pattern;\n\n\tfunction resolve(response, type) {\n\t\tif(!type || !dependency.handler.validate || dependency.handler.validate(type)) {\n\t\t\tdependency.source = response;\n\n\t\t\tsingletonEvent.emit(EVENT_POST_REQUEST, dependency.type, dependency);\n\t\t} else {\n\t\t\tdependency.dfd.reject(new ClassFailure(ERROR_LOAD + ' (content-type)', dependency.id));\n\t\t}\n\t}\n\n\tfunction reject(status) {\n\t\tdependency.dfd.reject(new ClassFailure(ERROR_LOAD + (status ? ' (status)' : ''), dependency.id));\n\t}\n\n\tfunction load(location) {\n\t\tlocation = location || 0;\n\t\tdependency.url = document.createElement('a');\n\t\t\n\t\tdependency.url.href = pattern ? functionResolveUrl(pattern.process(dependency.path, location)) : dependency.path;\n\n\t\tsingletonEvent.emit(EVENT_PRE_REQUEST, dependency.type, dependency);\n\n\t\tnew ClassXhr(dependency.url).then(\n\t\t\tresolve,\n\t\t\t(\n\t\t\t\tpattern ?\n\t\t\t\tfunction() {\n\t\t\t\t\tlocation++;\n\n\t\t\t\t\tif(pattern.location[location]) {\n\t\t\t\t\t\tload(location);\n\t\t\t\t\t} else {\n\t\t\t\t\t\treject();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t:\n\t\t\t\treject\n\t\t\t)\n\t\t);\n\t}\n\n\tif(!regexIsAbsoluteUri.test(dependency.path)) {\n\t\tfunctionIterate(settings.pattern, function(property, value) {\n\t\t\tvalue.matches(dependency.path) && (!pattern || pattern.weight < value.weight) && (pattern = value);\n\t\t});\n\t}\n\n\tload();\n}","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tobjectPrototypeToString\n*/\n\n//=require shortcuts.js\n\n/**\n * isArray\n *\n * Check whether a given value is of type array\n *\n * @param value\n *\n * @return {boolean}\n */\n\nfunction validatorIsArray(value) {\n\treturn objectPrototypeToString.call(value) === '[object Array]';\n}","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage\n*/\n\n/**\n * hash\n *\n * Generate a hash for a given string\n *\n * @param {string} input\n *\n * @return {number}\n */\nfunction functionHash(input){\n\tvar value = 5381,\n\t\ti = input.length;\n\n\twhile(i) {\n\t\tvalue = (value * 33) ^ input.charCodeAt(--i);\n\t}\n\n\treturn value >>> 0;\n}","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tEVENT_QUEUE_ENQUEUE, EVENT_QUEUE_DEQUEUE,\n\tfunctionToArray,\n\tsingletonEvent,\n\tAbstractUuid\n*/\n\n//=require constants.js\n//=require function/toArray.js\n//=require singleton/event.js\n//=require abstract/uuid.js\n\nfunction ClassQueue() {\n\tthis.parent.constructor.call(this);\n\n\tstorage[this.uuid] = [];\n}\n\t\nClassQueue.prototype = {\n\tenqueue: function() {\n\t\tstorage[this.uuid] = storage[this.uuid].concat(functionToArray(arguments));\n\n\t\tsingletonEvent.emit(EVENT_QUEUE_ENQUEUE, this.uuid);\n\t},\n\tdequeue: function() {\n\t\tsingletonEvent.emit(EVENT_QUEUE_DEQUEUE, this.uuid);\n\n\t\treturn storage[this.uuid].shift();\n\t},\n\tget current() {\n\t\treturn storage[this.uuid][0];\n\t},\n\tget length() {\n\t\treturn storage[this.uuid].length;\n\t}\n};\n\t\nClassQueue.extends(AbstractUuid);","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tEVENT_QUEUE_ENQUEUE, NULL,\n\tsingletonEvent,\n\tAbstractUuid\n*/\n\n//=require constants.js\n//=require abstract/uuid.js\n\nfunction ClassProcessor(queue) {\n\tvar self = this.parent.constructor.call(this),\n\t\tpointer = storage[self.uuid] = { queue: queue, current: NULL };\n\n\tdemand\n\t\t.on(EVENT_QUEUE_ENQUEUE + ':' + queue.uuid, function() {\n\t\t\t!pointer.current && self.process();\n\t\t});\n}\n\nClassProcessor.prototype = {\n\tprocess: function() {\n\t\tvar pointer = storage[this.uuid],\n\t\t\tcurrent;\n\n\t\tif(pointer.queue.length) {\n\t\t\tcurrent = pointer.current = pointer.queue.dequeue();\n\n\t\t\tcurrent.handler.process && current.handler.process(current);\n\t\t} else {\n\t\t\tpointer.current = NULL;\n\t\t}\n\t},\n\tget current() {\n\t\treturn storage[this.uuid].current;\n\t}\n};\n\t\nClassProcessor.extends(AbstractUuid);","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tregexMatchSourcemap, regexIsAbsoluteUri\n\tlinkElement\n*/\n\n//=require variables.js\n//=require shortcuts.js\n\nfunction functionResolveSourcemaps(url, source) {\n\tvar match, replacement;\n\t\n\twhile(match = regexMatchSourcemap.exec(source)) {\n\t\tlinkElement.href = url;\n\t\t\n\t\tif(regexIsAbsoluteUri.test(match[2])) {\n\t\t\treplacement = linkElement.protocol + '//' + linkElement.host + match[3];\n\t\t} else {\n\t\t\tlinkElement.pathname += '/../' + match[3];\n\t\t\t\n\t\t\treplacement = linkElement.protocol + '//' + linkElement.host + linkElement.pathname;\n\t\t}\n\t\t\n\t\tsource = source.replace(match[0], match[1] + ' ' + match[2] + '=' + replacement + '.map' + (match[4] ? ' ' + match[4] : ''));\n\t}\n\t\n\treturn source;\n}","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tDEMAND_ID,\n\tfunctionToArray\n*/\n\n//=require constants.js\n//=require function/toArray.js\n\nfunction ClassFailure(message, module, stack) {\n\tthis.message = message;\n\t\t\n\tmodule && (this.module = module);\n\tstack && (this.stack = functionToArray(stack));\n}\n\t\nClassFailure.prototype = {\n\t/* only for reference\n\t message: NULL,\n\t module: NULL,\n\t stack: NULL,\n\t */\n\ttoString: function() {\n\t\tvar self = this,\n\t\t\tresult = DEMAND_ID + ': ' + self.message + ' ' + (self.module ? '\"' + self.module + '\"' : '');\n\n\t\tif(self.stack) {\n\t\t\tresult = ClassFailure.traverse(self.stack, result, 1);\n\t\t}\n\t\t\t\n\t\treturn result;\n\t}\n};\n\t\nClassFailure.traverse = function(stack, value, depth) {\n\tvar indention = new Array(depth + 1).join(' '),\n\t\ti = 0, item;\n\t\t\n\tfor(; item = stack[i]; i++) {\n\t\tvalue += '\\n' + indention + '> ' + item.message + ' ' + (item.module ? '\"' + item.module + '\"' : '');\n\t\t\t\n\t\tif(item.stack) {\n\t\t\tvalue = ClassFailure.traverse(item.stack, value, depth + 1);\n\t\t}\n\t}\n\t\t\n\treturn value;\n};","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage\n*/\n\nvar arrayPrototype = Array.prototype,\n\tarrayPrototypeSlice = arrayPrototype.slice,\n\tarrayPrototypeConcat = arrayPrototype.concat,\n\tobject = Object,\n\tobjectPrototype = object.prototype,\n\tobjectPrototypeToString = objectPrototype.toString,\n\tobjectCreate = object.create,\n\tobjectDefineProperty = object.defineProperty,\n\tobjectGetOwnPropertyNames = object.getOwnPropertyNames,\n\tobjectGetOwnPropertyDescriptor = object.getOwnPropertyDescriptor,\n\tfunctionPrototype = Function.prototype,\n\tlinkElement = document.createElement('a');","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage\n*/\n\nvar DEMAND_ID = 'demand',\n\tPROVIDE_ID = 'provide',\n\tPATH_ID = 'path',\n\tMODULE_PREFIX = '/' + DEMAND_ID + '/',\n\tMODULE_PREFIX_ABSTRACT = MODULE_PREFIX + 'abstract/',\n\tMODULE_PREFIX_HANDLER = MODULE_PREFIX + 'handler/',\n\tMODULE_PREFIX_PLUGIN = MODULE_PREFIX + 'plugin/',\n\tMODULE_PREFIX_FUNCTION = MODULE_PREFIX + 'function/',\n\tMODULE_PREFIX_VALIDATOR = MODULE_PREFIX + 'validator/',\n\tMOCK_PREFIX = 'mock:',\n\tNULL = null,\n\tUNDEFINED = undefined,\n\tFALSE = false,\n\tTRUE = true,\n\tSTRING_UNDEFINED = 'undefined',\n\tSTRING_STRING = 'string',\n\tSTRING_BOOLEAN = 'boolean',\n\tSTRING_OBJECT = 'object',\n\tSTRING_FUNCTION = 'function',\n\tSTRING_NUMBER = 'number',\n\tFUNCTION_EMPTY = function() {},\n\tEVENT_PREFIX = 'pre',\n\tEVENT_POSTFIX = 'post',\n\tEVENT_CONFIGURE = 'Configure',\n\tEVENT_PRE_CONFIGURE = EVENT_PREFIX + EVENT_CONFIGURE,\n\tEVENT_POST_CONFIGURE = EVENT_POSTFIX + EVENT_CONFIGURE,\n\tEVENT_CACHE = 'cache',\n\tEVENT_CACHE_MISS = EVENT_CACHE + 'Miss',\n\tEVENT_CACHE_HIT = EVENT_CACHE + 'Hit',\n\tEVENT_CACHE_CLEAR = EVENT_CACHE + 'Clear',\n\tEVENT_CACHE_EXCEED = EVENT_CACHE + 'Exceed',\n\tEVENT_PRE_CACHE = EVENT_PREFIX + 'Cache',\n\tEVENT_POST_CACHE = EVENT_POSTFIX + 'Cache',\n\tEVENT_RESOLVE = 'Resolve',\n\tEVENT_PRE_RESOLVE = EVENT_PREFIX + EVENT_RESOLVE,\n\tEVENT_POST_RESOLVE = EVENT_POSTFIX + EVENT_RESOLVE,\n\tEVENT_REQUEST = 'Request',\n\tEVENT_PRE_REQUEST = EVENT_PREFIX + EVENT_REQUEST,\n\tEVENT_POST_REQUEST = EVENT_POSTFIX + EVENT_REQUEST,\n\tEVENT_PROCESS = 'Process',\n\tEVENT_PRE_PROCESS = EVENT_PREFIX + EVENT_PROCESS,\n\tEVENT_POST_PROCESS = EVENT_POSTFIX + EVENT_PROCESS,\n\tEVENT_QUEUE = 'queue',\n\tEVENT_QUEUE_ENQUEUE = EVENT_QUEUE + 'Enqueue',\n\tEVENT_QUEUE_DEQUEUE = EVENT_QUEUE + 'Dequeue',\n\tERROR_LOAD = 'error loading',\n\tERROR_PROVIDE = 'error providing',\n\tERROR_RESOLVE = 'error resolving',\n\tERROR_PROVIDE_ANONYMOUS = 'unspecified anonymous provide';","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tobjectCreate, objectDefineProperty, objectGetOwnPropertyNames, objectGetOwnPropertyDescriptor, functionPrototype,\n\tClassDescriptor\n*/\n\n//=require shortcuts.js\n//=require class/descriptor.js\n\n(function() {\n\tfunction extend(parent) {\n\t\tvar self = this,\n\t\t\tprototype = self.prototype,\n\t\t\tproperties = {},\n\t\t\tnames = objectGetOwnPropertyNames(prototype),\n\t\t\ti = 0, property;\n\n\t\tparent = parent.prototype || parent;\n\n\t\tfor(; (property = names[i]); i++) {\n\t\t\tproperties[property] = objectGetOwnPropertyDescriptor(prototype, property);\n\t\t}\n\n\t\tproperties.constructor = new ClassDescriptor(self);\n\t\tproperties.parent = new ClassDescriptor(parent);\n\n\t\tself.prototype = objectCreate(parent, properties);\n\n\t\treturn self;\n\t}\n\n\tobjectDefineProperty(functionPrototype, 'extends', new ClassDescriptor(extend));\n}());","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tUNDEFINED,\n\tvalidatorIsObject,\n\tfunctionIterate\n*/\n\n//=require constants.js\n//=require validator/isObject.js\n//=require function/iterate.js\n\n/**\n * merge\n *\n * Merge two or more objects into the first one passed in\n *\n * @param {...object} object\n *\n * @return {object}\n */\nvar functionMerge = (function() {\n\tfunction mergeProperties(property, value) {\n\t\tvar targetProperty = this[property],\n\t\t\ttargetPropertyIsObject;\n\n\t\tif(value !== UNDEFINED) {\n\t\t\tif(validatorIsObject(value)) {\n\t\t\t\ttargetPropertyIsObject = validatorIsObject(targetProperty);\n\n\t\t\t\tif(value.length !== UNDEFINED) {\n\t\t\t\t\ttargetProperty = (targetPropertyIsObject && targetProperty.length !== UNDEFINED) ? targetProperty : [];\n\t\t\t\t} else {\n\t\t\t\t\ttargetProperty = (targetPropertyIsObject && targetProperty.length === UNDEFINED) ? targetProperty : {};\n\t\t\t\t}\n\n\t\t\t\tthis[property] = functionMerge(targetProperty, value);\n\t\t\t} else {\n\t\t\t\tthis[property] = value;\n\t\t\t}\n\t\t}\n\t}\n\n\treturn function functionMerge() {\n\t\tvar target = arguments[0],\n\t\t\ti = 1, properties;\n\n\t\tfor(; (properties = arguments[i]) !== UNDEFINED; i++) {\n\t\t\tfunctionIterate(properties, mergeProperties, target);\n\t\t}\n\n\t\treturn target;\n\t};\n}());","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage\n*/\n\nvar functionUuid = (function() {\n\tvar regex = new RegExp('[xy]', 'g'),\n\t\tstorage = {};\n\n\tfunction randomize(character) {\n\t\tvar r = Math.random() * 16 | 0;\n\n\t\treturn ((character === 'x') ? r : (r & 0x3 | 0x8)).toString(16);\n\t}\n\n\treturn function functionUuid() {\n\t\tvar uuid;\n\n\t\tdo {\n\t\t\tuuid = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(regex, randomize);\n\t\t} while(storage[uuid]);\n\n\t\tstorage[uuid] = 1;\n\n\t\treturn uuid;\n\t};\n}());","/**\n * Based on setAsap:\n * Repo: https://github.com/taylorhakes/setAsap\n * License: https://github.com/taylorhakes/setAsap/blob/master/LICENSE\n */\n\n/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tNULL, TRUE, FALSE,\n\tfunctionUuid\n*/\n\n//=require constants.js\n//=require shortcuts.js\n//=require function/uuid.js\n\n/**\n * defer\n *\n * delay function execution like setImmediate does\n *\n * @param {function} function\n */\nvar functionDefer = (function() {\n\tvar hasSetImmediate = 'setImmediate' in global,\n\t\telement, fallback;\n\n\tif('MutationObserver' in global) {\n\t\treturn function functionDefer(fn) {\n\t\t\telement = document.createElement('div');\n\n\t\t\tnew MutationObserver(function() { fn(); })\n\t\t\t\t.observe(element, { attributes: TRUE });\n\n\t\t\telement.setAttribute('i', '1');\n\t\t};\n\t}\n\n\tif(!hasSetImmediate && 'postMessage' in global && !('importScripts' in global) && 'addEventListener' in global) {\n\t\treturn (function() {\n\t\t\tfunction onMessage(event) {\n\t\t\t\tif(event.source === global && event.data && storage[event.data]) {\n\t\t\t\t\tstorage[event.data]();\n\n\t\t\t\t\tdelete storage[event.data];\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tglobal.addEventListener('message', onMessage, FALSE);\n\n\t\t\treturn function functionDefer(fn) {\n\t\t\t\tvar uuid = functionUuid();\n\n\t\t\t\tstorage[uuid] = fn;\n\n\t\t\t\tglobal.postMessage(uuid, '*');\n\t\t\t};\n\t\t}());\n\t}\n\n\tif(!hasSetImmediate && 'onreadystatechange' in (element = document.createElement('script'))) {\n\t\treturn function functionDefer(fn) {\n\t\t\telement.onreadystatechange = function onreadystatechange() {\n\t\t\t\telement.onreadystatechange = NULL;\n\t\t\t\telement.parentNode.removeChild(element);\n\n\t\t\t\tfn();\n\t\t\t};\n\n\t\t\tdocument.body.appendChild(element);\n\t\t};\n\t}\n\n\t/* eslint-disable no-undef */\n\tfallback = hasSetImmediate ? setImmediate : setTimeout;\n\t/* eslint-enable no-undef */\n\n\treturn function functionDefer(fn) {\n\t\tfallback(fn);\n\t};\n}());","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tNULL, STRING_STRING, STRING_FUNCTION, EVENT_POST_CONFIGURE,\n\tvalidatorIsTypeOf,\n\tfunctionToArray\n*/\n\n//=require constants.js\n//=require validator/isTypeOf.js\n//=require function/toArray.js\n\nvar singletonEvent = (function() {\n\tvar TYPE_ON = 'on',\n\t\tTYPE_AFTER = 'after',\n\t\tregexMatchEvent = /^cache(Miss|Hit|Clear|Exceed)|queue(En|De)queue|(pre|post)(Resolve|Configure|Request|Process|Cache)$/,\n\t\tlistener = {};\n\n\tfunction addListener(type, events, callback) {\n\t\tvar event, pointer;\n\n\t\tif(validatorIsTypeOf(events, STRING_STRING) && validatorIsTypeOf(callback, STRING_FUNCTION)) {\n\t\t\tevents = events.split(' ');\n\n\t\t\twhile(event = events.shift()) {\n\t\t\t\tevent = event.split(':');\n\n\t\t\t\tif(regexMatchEvent.test(event[0])) {\n\t\t\t\t\t(listener[event[0]] || (listener[event[0]] = { on: [], after: [] }))[type].push({ callback: callback, filter: event[1] });\n\n\t\t\t\t\tif(type === TYPE_ON && event[0] === EVENT_POST_CONFIGURE && (pointer = settings.modules[event[1]])) {\n\t\t\t\t\t\tcallback(pointer);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction Event() {}\n\n\tEvent.prototype = {\n\t\temit: function (event, filter) {\n\t\t\tvar pointer = listener[event],\n\t\t\t\tparameter, i, item;\n\n\t\t\tif(pointer) {\n\t\t\t\tparameter = functionToArray(arguments, 2);\n\n\t\t\t\tfor(i = 0; (item = pointer[TYPE_ON][i]); i++) {\n\t\t\t\t\tif(!item.filter || item.filter === filter) {\n\t\t\t\t\t\titem.callback.apply(NULL, parameter);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tfor(i = 0; (item = pointer[TYPE_AFTER][i]); i++) {\n\t\t\t\t\tif(!item.filter || item.filter === filter) {\n\t\t\t\t\t\titem.callback.apply(NULL, parameter);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn this;\n\t\t},\n\t\ton: function(events, callback) {\n\t\t\taddListener(TYPE_ON, events,callback);\n\n\t\t\treturn this;\n\t\t},\n\t\tafter: function(events, callback) {\n\t\t\taddListener(TYPE_AFTER, events,callback);\n\n\t\t\treturn this;\n\t\t}\n\t};\n\n\treturn new Event();\n}());\n","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage\n*/\n\nvar functionEscapeRegex = (function() {\n\tvar regexMatchRegex = /[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g;\n\n\treturn function functionEscapeRegex(value) {\n\t\treturn value.replace(regexMatchRegex, '\\\\$&');\n\t};\n}());","/* global \n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tDEMAND_ID, PROVIDE_ID, PATH_ID,\n\tfunctionEscapeRegex, functionResolveUrl\n*/\n\n//=require constants.js\n//=require function/escapeRegex.js\n//=require function/resolveUrl.js\n\nvar regexIsAbsoluteUri = /^(http(s?):)?\\/\\//i,\n\tregexIsAbsolutePath = /^\\//,\n\tregexMatchSourcemap = /((?:\\/\\/|\\/\\*)#)\\s*(sourceMappingURL)\\s*=\\s*(?!(?:http[s]?:)?\\/\\/)(.+?)\\.map(?:\\s+)?(\\*\\/)?/g,\n\tregexMatchBaseUrl = new RegExp('^' + functionEscapeRegex(functionResolveUrl('/'))),\n\tregexMatchInternal = new RegExp('^' + DEMAND_ID + '|' + PROVIDE_ID + '|' + PATH_ID + '$'),\n\tregexMatchParameter = /^(mock:)?([+-])?((?:[-\\w]+\\/?)+)?(?:@(.+?))?(?:#(\\d+))?!/;","/* global \n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tDEMAND_ID, FUNCTION_EMPTY, EVENT_POST_REQUEST, EVENT_POST_PROCESS, EVENT_CACHE_HIT, EVENT_CACHE_MISS, EVENT_CACHE_EXCEED, EVENT_CACHE_CLEAR, EVENT_PRE_CACHE, EVENT_PRE_CACHE, EVENT_POST_CACHE, STRING_STRING, NULL, FALSE, TRUE,\n\tvalidatorIsTypeOf,\n\tfunctionGetTimestamp, functionEscapeRegex, functionIterate, functionDefer, functionResolveId, functionToArray,\n\tClassDependency,\n\tsingletonEvent\n*/\n\n//=require constants.js\n//=require validator/isTypeOf.js\n//=require function/getTimestamp.js\n//=require function/escapeRegex.js\n//=require function/iterate.js\n//=require function/defer.js\n//=require function/resolveId.js\n//=require function/toArray.js\n//=require singleton/event.js\n\nvar singletonCache = (function() {\n\tvar STORAGE_PREFIX = '[' + DEMAND_ID + ']',\n\t\tSTORAGE_SUFFIX_STATE = '[state]',\n\t\tSTORAGE_SUFFIX_VALUE = '[value]',\n\t\tregexMatchState = new RegExp('^' + functionEscapeRegex(STORAGE_PREFIX) + '\\\\[(.+?)\\\\]' + functionEscapeRegex(STORAGE_SUFFIX_STATE) + '$'),\n\t\tregexMatchProperties = /^(.+?),(\\d+),(\\d*),(.+?),(\\d+)$/,\n\t\tsupportsLocalStorage = (function() { try { return 'localStorage' in global && global.localStorage; } catch(exception) { return FALSE; } }()),\n\t\tlocalStorage = supportsLocalStorage ? global.localStorage : NULL,\n\t\tsupportsRemainingSpace = supportsLocalStorage && 'remainingSpace' in localStorage,\n\t\tstorage = {},\n\t\tcache;\n\n\tsingletonEvent\n\t\t.on(EVENT_CACHE_MISS, function(dependency) {\n\t\t\tfunctionDefer(function() {\n\t\t\t\tcache.clear.path(dependency.id);\n\t\t\t});\n\t\t})\n\t\t.on(EVENT_CACHE_EXCEED, function(dependency) {\n\t\t\tdemand('-!/' + DEMAND_ID + '/cache/dispose').then(function(cacheDispose) {\n\t\t\t\tfunctionDefer(function() {\n\t\t\t\t\tcacheDispose(dependency.source.length);\n\n\t\t\t\t\tcache.set(dependency);\n\t\t\t\t});\n\t\t\t});\n\t\t})\n\t\t.on(EVENT_POST_REQUEST, function(dependency) {\n\t\t\tif(dependency.source && enabled(dependency)) {\n\t\t\t\tstorage[dependency.id] = TRUE;\n\t\t\t}\n\t\t})\n\t\t.after(EVENT_POST_PROCESS, function(dependency) {\n\t\t\tif(storage[dependency.id]) {\n\t\t\t\tfunctionDefer(function() {\n\t\t\t\t\tcache.set(dependency);\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\n\tfunction enabled(dependency) {\n\t\tvar match;\n\n\t\tif(dependency.cache !== NULL) {\n\t\t\treturn dependency.cache;\n\t\t}\n\n\t\tfunctionIterate(settings.cache, function(property, value) {\n\t\t\tif(dependency.path.indexOf(property) === 0 && (!match || value.weight > match.weight)) {\n\t\t\t\tmatch = value;\n\t\t\t}\n\t\t});\n\n\t\treturn match ? match.state : FALSE;\n\t}\n\t\n\tfunction getKey(key) {\n\t\treturn localStorage.getItem(key);\n\t}\n\t\n\tfunction setKey(key, value) {\n\t\tlocalStorage[value ? 'setItem' : 'removeItem'](key, value);\n\t}\n\t\n\tfunction getState(key) {\n\t\tvar state = getKey(key),\n\t\t\tmatches;\n\n\t\tif(state && (matches = state.match(regexMatchProperties))) {\n\t\t\treturn functionToArray(matches, 1);\n\t\t}\n\t}\n\t\n\tfunction setState(key, state) {\n\t\tstate[4] = functionGetTimestamp();\n\n\t\tsetKey(key, state.join(','));\n\t}\n\n\tfunction emit(event, dependency, state) {\n\t\tsingletonEvent.emit(event, dependency.id, dependency, state);\n\t}\n\n\tfunction Cache() {\n\t\tfunctionDefer(this.clear.expired.bind(this.clear));\n\t}\n\n\tCache.prototype = {\n\t\tget: supportsLocalStorage ? function(dependency) {\n\t\t\t\t\t\t\t\t\t\t\tvar id, state;\n\n\t\t\t\t\t\t\t\t\t\t\tif(enabled(dependency)) {\n\t\t\t\t\t\t\t\t\t\t\t\tid = STORAGE_PREFIX + '[' + dependency.id + ']';\n\t\t\t\t\t\t\t\t\t\t\t\tstate = getState(id + STORAGE_SUFFIX_STATE);\n\n\t\t\t\t\t\t\t\t\t\t\t\tif(state && state[0] === dependency.version && ((!state[2] && !dependency.lifetime) || state[2] > functionGetTimestamp())) {\n\t\t\t\t\t\t\t\t\t\t\t\t\tdependency.source = getKey(id + STORAGE_SUFFIX_VALUE);\n\n\t\t\t\t\t\t\t\t\t\t\t\t\tfunctionDefer(function() {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetState(id + STORAGE_SUFFIX_STATE, state);\n\t\t\t\t\t\t\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\t\t\t\t\t\t\treturn TRUE;\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t} : FUNCTION_EMPTY,\n\t\tresolve: supportsLocalStorage ? function(dependency) {\n\t\t\t\t\t\t\t\t\t\t\tvar self = this;\n\n\t\t\t\t\t\t\t\t\t\t\tif(self.get(dependency)) {\n\t\t\t\t\t\t\t\t\t\t\t\temit(EVENT_CACHE_HIT, dependency);\n\t\t\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t\t\temit(EVENT_CACHE_MISS, dependency);\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t} : function(dependency) { emit(EVENT_CACHE_MISS, dependency); },\n\t\tset: supportsLocalStorage ? function(dependency) {\n\t\t\t\t\t\t\t\t\t\t\tvar state, id, spaceBefore;\n\n\t\t\t\t\t\t\t\t\t\t\tif(enabled(dependency)) {\n\t\t\t\t\t\t\t\t\t\t\t\tstate = [ dependency.version, dependency.source.length, dependency.lifetime ? functionGetTimestamp() + dependency.lifetime : NULL, demand.version ];\n\t\t\t\t\t\t\t\t\t\t\t\tid = STORAGE_PREFIX + '[' + dependency.id + ']';\n\n\t\t\t\t\t\t\t\t\t\t\t\temit(EVENT_PRE_CACHE, dependency, state);\n\n\t\t\t\t\t\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\t\t\t\t\t\tspaceBefore = supportsRemainingSpace ? localStorage.remainingSpace : NULL;\n\n\t\t\t\t\t\t\t\t\t\t\t\t\tsetKey(id + STORAGE_SUFFIX_VALUE, dependency.source);\n\t\t\t\t\t\t\t\t\t\t\t\t\tsetState(id + STORAGE_SUFFIX_STATE, state);\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t// strict equality check with \"===\" is required due to spaceBefore might be \"0\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tif(spaceBefore !== NULL && localStorage.remainingSpace === spaceBefore) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tthrow new Error();\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\t\t\t\temit(EVENT_POST_CACHE, dependency, state);\n\t\t\t\t\t\t\t\t\t\t\t\t} catch(error) {\n\t\t\t\t\t\t\t\t\t\t\t\t\temit(EVENT_CACHE_EXCEED, dependency);\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t} : FUNCTION_EMPTY,\n\t\tclear: {\n\t\t\tpath: supportsLocalStorage ? function(path) {\n\t\t\t\t\t\t\t\t\t\t\t\tvar id = functionResolveId(path),\n\t\t\t\t\t\t\t\t\t\t\t\t\tkey = STORAGE_PREFIX + '[' + id + ']';\n\n\t\t\t\t\t\t\t\t\t\t\t\tif(getKey(key + STORAGE_SUFFIX_STATE)) {\n\t\t\t\t\t\t\t\t\t\t\t\t\tsetKey(key + STORAGE_SUFFIX_STATE);\n\t\t\t\t\t\t\t\t\t\t\t\t\tsetKey(key + STORAGE_SUFFIX_VALUE);\n\n\t\t\t\t\t\t\t\t\t\t\t\t\temit(EVENT_CACHE_CLEAR, ClassDependency.get(id) || new ClassDependency(id, NULL, FALSE));\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t} : FUNCTION_EMPTY,\n\t\t\tall: supportsLocalStorage ? function() {\n\t\t\t\t\t\t\t\t\t\t\t\tvar match;\n\n\t\t\t\t\t\t\t\t\t\t\t\tfunctionIterate(localStorage, function(property) {\n\t\t\t\t\t\t\t\t\t\t\t\t\tmatch = property.match(regexMatchState);\n\n\t\t\t\t\t\t\t\t\t\t\t\t\tmatch && this.path(match[1]);\n\t\t\t\t\t\t\t\t\t\t\t\t}, this);\n\t\t\t\t\t\t\t\t\t\t\t} : FUNCTION_EMPTY,\n\t\t\texpired: supportsLocalStorage ? function() {\n\t\t\t\t\t\t\t\t\t\t\t\tvar self = this,\n\t\t\t\t\t\t\t\t\t\t\t\t\tmatch, state;\n\n\t\t\t\t\t\t\t\t\t\t\t\tfunctionIterate(localStorage, function(property) {\n\t\t\t\t\t\t\t\t\t\t\t\t\tmatch = property.match(regexMatchState);\n\n\t\t\t\t\t\t\t\t\t\t\t\t\tif(match) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tstate = getState(STORAGE_PREFIX + '[' + match[1] + ']' + STORAGE_SUFFIX_STATE);\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tif(state && state[2] > 0 && state[2] <= functionGetTimestamp()) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tself.path(match[1]);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t}, this);\n\t\t\t\t\t\t\t\t\t\t\t} : FUNCTION_EMPTY\n\t\t}\n\t};\n\n\treturn (cache = new Cache());\n}());","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n \tFUNCTION_EMPTY, NULL,\n\tarrayPrototypeConcat,\n\tfunctionDefer, functionUuid, functionToArray,\n\tAbstractUuid\n*/\n\n//=require constants.js\n//=require shortcuts.js\n//=require function/defer.js\n//=require function/uuid.js\n//=require function/toArray.js\n//=require abstract/uuid.js\n\nvar ClassPledge = (function() {\n\tvar PLEDGE_PENDING = 'pending',\n\t\tPLEDGE_RESOLVED = 'resolved',\n\t\tPLEDGE_REJECTED = 'rejected',\n\t\tstorage = {};\n\n\tfunction resolve() {\n\t\tstorage[this.uuid].handle(PLEDGE_RESOLVED, arguments);\n\t}\n\n\tfunction reject() {\n\t\tstorage[this.uuid].handle(PLEDGE_REJECTED, arguments);\n\t}\n\n\tfunction handle(state, parameter) {\n\t\tvar properties = storage[this.uuid],\n\t\t\tpointer, result;\n\n\t\tif(properties.state === PLEDGE_PENDING) {\n\t\t\tproperties.state = state;\n\t\t\tproperties.value = parameter;\n\t\t}\n\n\t\twhile(pointer = properties[properties.state].shift()) {\n\t\t\tresult = pointer.handler.apply(NULL, properties.value);\n\n\t\t\tif(result && typeof result.then === 'function') {\n\t\t\t\tresult.then(pointer.dfd.resolve, pointer.dfd.reject);\n\t\t\t} else {\n\t\t\t\tpointer.dfd[properties.state === PLEDGE_RESOLVED ? 'resolve' : 'reject'].apply(NULL, properties.value);\n\t\t\t}\n\t\t}\n\n\t\tproperties[PLEDGE_RESOLVED].length = 0;\n\t\tproperties[PLEDGE_REJECTED].length = 0;\n\t}\n\n\tfunction observe(pledge, index, properties) {\n\t\tpledge.then(\n\t\t\tfunction() {\n\t\t\t\tproperties.resolved[index] = functionToArray(arguments);\n\n\t\t\t\tproperties.count++;\n\n\t\t\t\tcheck(properties);\n\t\t\t},\n\t\t\tfunction() {\n\t\t\t\tproperties.rejected.push(functionToArray(arguments));\n\n\t\t\t\tcheck(properties);\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction check(properties) {\n\t\tif(properties.count === properties.total) {\n\t\t\tproperties.dfd.resolve.apply(NULL, arrayPrototypeConcat.apply([], properties.resolved));\n\t\t} else if(properties.rejected.length + properties.count === properties.total) {\n\t\t\tproperties.dfd.reject.apply(NULL, arrayPrototypeConcat.apply([], properties.rejected));\n\t\t}\n\t}\n\n\tfunction ClassPledge(executor) {\n\t\tvar self = this.parent.constructor.call(this);\n\n\t\tstorage[self.uuid] = { state: PLEDGE_PENDING, handle: handle.bind(self), value: NULL, resolved: [], rejected: [], count: 0 };\n\n\t\texecutor(resolve.bind(self), reject.bind(self));\n\t}\n\n\tClassPledge.prototype = {\n\t\t'catch': function(listener) {\n\t\t\treturn this.then(FUNCTION_EMPTY, listener);\n\t\t},\n\t\talways: function(alwaysListener) {\n\t\t\treturn this.then(alwaysListener, alwaysListener);\n\t\t},\n\t\tthen: function(resolveListener, rejectListener) {\n\t\t\tvar properties = storage[this.uuid],\n\t\t\t\tdfd = ClassPledge.defer();\n\n\t\t\tresolveListener && properties[PLEDGE_RESOLVED].push({ handler: resolveListener, dfd: dfd });\n\t\t\trejectListener && properties[PLEDGE_REJECTED].push({ handler: rejectListener, dfd: dfd });\n\n\t\t\tif(properties.state !== PLEDGE_PENDING) {\n\t\t\t\tfunctionDefer(properties.handle);\n\t\t\t}\n\n\t\t\treturn dfd.pledge;\n\t\t},\n\t\tisPending: function() {\n\t\t\treturn storage[this.uuid].state === PLEDGE_PENDING;\n\t\t},\n\t\tisResolved: function() {\n\t\t\treturn storage[this.uuid].state === PLEDGE_RESOLVED;\n\t\t},\n\t\tisRejected: function() {\n\t\t\treturn storage[this.uuid].state === PLEDGE_REJECTED;\n\t\t}\n\t};\n\n\tClassPledge.defer = function() {\n\t\tvar self = {};\n\n\t\tself.pledge = new ClassPledge(function(resolveListener, rejectListener) {\n\t\t\tself.resolve = resolveListener;\n\t\t\tself.reject = rejectListener;\n\t\t});\n\n\t\treturn self;\n\t};\n\n\tClassPledge.all = function(pledges) {\n\t\tvar dfd = ClassPledge.defer(),\n\t\t\tproperties, i = 0, pledge;\n\t\t\n\t\tif(pledges.length) {\n\t\t\tproperties = (storage[functionUuid()] = { dfd: dfd, resolved: [], rejected: [], total: pledges.length, count: 0 })\n\t\t\t\n\t\t\tfor(; pledge = pledges[i]; i++) {\n\t\t\t\tobserve(pledge, i, properties)\n\t\t\t}\n\t\t} else {\n\t\t\tdfd.resolve();\n\t\t}\n\n\t\treturn dfd.pledge;\n\t};\n\n\tClassPledge.race = function(pledges) {\n\t\tvar dfd = ClassPledge.defer(),\n\t\t\ti = 0, pledge;\n\n\t\tfor(; pledge = pledges[i]; i++) {\n\t\t\tpledge.then(dfd.resolve, dfd.reject);\n\t\t}\n\t\t\n\t\tif(!pledges.length) {\n\t\t\tdfd.resolve();\n\t\t}\n\n\t\treturn dfd.pledge;\n\t};\n\n\treturn ClassPledge.extends(AbstractUuid);\n}());","/* global \n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tDEMAND_ID, MODULE_PREFIX_HANDLER, ERROR_LOAD, DEMAND_ID, PROVIDE_ID, PATH_ID, MOCK_PREFIX, NULL, TRUE, FALSE,\n\tobject,\n\tregexMatchInternal, regexMatchParameter,\n\tvalidatorIsPositive,\n\tfunctionResolvePath, functionResolveId, functionResolveUrl, functionIterate, functionToArray,\n\tClassRegistry, ClassPledge, ClassFailure,\n\tsingletonCache\n*/\n\n//=require constants.js\n//=require shortcuts.js\n//=require variables.js\n//=require validator/isPositive.js\n//=require function/resolvePath.js\n//=require function/resolveId.js\n//=require function/resolveUrl.js\n//=require function/iterate.js\n//=require function/toArray.js\n//=require class/registry.js\n//=require class/pledge.js\n//=require class/failure.js\n//=require singleton/cache.js\n\nvar ClassDependency = (function() {\n\tvar PREFIX_INTERNAL = 'internal!',\n\t\tregistry = new ClassRegistry(),\n\t\tplaceholder = [];\n\n\tfunction setProperty(property, value) {\n\t\tthis[property] = value;\n\t}\n\n\tfunction addPending(id, dependency) {\n\t\tif(dependency.pledge.isPending()) {\n\t\t\tthis.push(id);\n\t\t}\n\t}\n\n\tfunction addResolved(id, dependency) {\n\t\tif(dependency.pledge.isResolved()) {\n\t\t\tthis.push(id);\n\t\t}\n\t}\n\n\tfunction addRejected(id, dependency) {\n\t\tif(dependency.pledge.isRejected()) {\n\t\t\tthis.push(id);\n\t\t}\n\t}\n\n\tfunction ClassDependency(uri, context, register) {\n\t\tvar self = this,\n\t\t\tparameter = uri.match(regexMatchParameter) || placeholder;\n\n\t\tself.path = functionResolvePath(uri, context);\n\t\tself.mock = parameter[1] ? TRUE : FALSE;\n\t\tself.cache = parameter[2] ? parameter[1] === '+' : NULL;\n\t\tself.type = parameter[3] || settings.handler;\n\t\tself.version = parameter[4] || settings.version;\n\t\tself.lifetime = (parameter[5] && parameter[5] * 1000) || settings.lifetime;\n\t\tself.id = (self.mock ? MOCK_PREFIX : '' ) + self.type + '!' + self.path;\n\t\tself.uri = (self.mock ? MOCK_PREFIX : '' ) + self.type + '@' + self.version + (validatorIsPositive(self.lifetime) && self.lifetime > 0 ? '#' + self.lifetime : '' ) + '!' + self.path;\n\t\tself.dfd = ClassPledge.defer();\n\t\tself.pledge = self.dfd.pledge;\n\t\t\n\t\tself.pledge.then(function() {\n\t\t\tself.value = functionToArray(arguments);\n\t\t});\n\n\t\t(register !== FALSE) && registry.set(self.id, self);\n\n\t\treturn self;\n\t}\n\n\tClassDependency.prototype = {\n\t\tenqueue: true // handled by handler\n\t\t/* only for reference\n\t \tpath: NULL,\n\t \tmock: NULL,\n\t\tcache: NULL,\n\t\ttype: NULL,\n\t\tversion: NULL,\n\t\tlifetime: NULL,\n\t \tid: NULL,\n\t \turi: NULL,\n\t\tdfd: NULL,\n\t\tpledge: NULL,\n\t\tvalue: NULL,\n\t\thandler: NULL, // set by Dependency.resolve\n\t \tsource: NULL, // set by Cache or Loader\n\t \turl: NULL // optional, set by Loader\n\t\t*/\n\t};\n\n\tClassDependency.get = function(uri, context) {\n\t\treturn registry.get(functionResolveId(uri, context));\n\t};\n\n\tClassDependency.resolve = function(uri, context) {\n\t\tvar isInternal = context && regexMatchInternal.test(uri),\n\t\t\tdependency = isInternal ? this.get(PREFIX_INTERNAL + context + '/' + uri) : this.get(uri, context),\n\t\t\tvalue;\n\n\t\tif(!dependency) {\n\t\t\tif(isInternal) {\n\t\t\t\tdependency = new ClassDependency(PREFIX_INTERNAL + context + '/' + uri);\n\n\t\t\t\tswitch(uri) {\n\t\t\t\t\tcase DEMAND_ID:\n\t\t\t\t\t\tvalue = (function() {\n\t\t\t\t\t\t\treturn functionIterate(demand, setProperty, demand.bind(context));\n\t\t\t\t\t\t}());\n\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase PROVIDE_ID:\n\t\t\t\t\t\tvalue = provide.bind(context);\n\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase PATH_ID:\n\t\t\t\t\t\tvalue = context;\n\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tdependency.dfd.resolve(value);\n\t\t\t} else {\n\t\t\t\tdependency = new ClassDependency(uri, context);\n\n\t\t\t\tdemand(MODULE_PREFIX_HANDLER + dependency.type)\n\t\t\t\t\t.then(\n\t\t\t\t\t\tfunction(handler) {\n\t\t\t\t\t\t\tdependency.handler = handler;\n\n\t\t\t\t\t\t\tif(dependency.mock) {\n\t\t\t\t\t\t\t\tdependency.dfd.resolve(handler);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tsingletonCache.resolve(dependency);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\tfunction() {\n\t\t\t\t\t\t\tdependency.dfd.reject(new ClassFailure(ERROR_LOAD + ' (handler)', self.id));\n\t\t\t\t\t\t}\n\t\t\t\t\t)\n\t\t\t}\n\t\t}\n\n\t\treturn dependency;\n\t};\n\n\tClassDependency.remove = function(uri, context, cache) {\n\t\tvar id = functionResolveId(uri, context),\n\t\t\tnode = document.querySelector('[' + DEMAND_ID + '-id=\"' + id + '\"]');\n\n\t\tregistry.remove(id);\n\t\tregistry.remove(MOCK_PREFIX + id);\n\n\t\tnode && node.parentNode.removeChild(node);\n\n\t\t(cache !== FALSE) && singletonCache.clear.path(id);\n\t};\n\n\tClassDependency.list = {\n\t\tall: function() {\n\t\t\treturn object.keys(registry.get());\n\t\t},\n\t\tpending: function() {\n\t\t\treturn functionIterate(registry.get(), addPending, []);\n\t\t},\n\t\tresolved: function() {\n\t\t\treturn functionIterate(registry.get(), addResolved, []);\n\t\t},\n\t\trejected: function() {\n\t\t\treturn functionIterate(registry.get(), addRejected, []);\n\t\t}\n\t};\n\n\treturn ClassDependency;\n}());","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tfunctionResolveUrl, functionEscapeRegex, functionIterate\n*/\n\n//=require function/resolveUrl.js\n//=require function/escapeRegex.js\n//=require function/iterate.js\n\nvar ClassPattern = (function() {\n\tvar regexMatchTrailingSlash = /(.+)\\/$/;\n\n\tfunction setProperty(property, value) {\n\t\tthis[property] = {\n\t\t\turl: functionResolveUrl(value).replace(regexMatchTrailingSlash, '$1'),\n\t\t\tmatch: new RegExp('^' + functionEscapeRegex(value))\n\t\t};\n\t}\n\n\tfunction ClassPattern(pattern, url) {\n\t\tvar self = this;\n\n\t\tself.weight = pattern.length;\n\t\tself.match = new RegExp('^' + functionEscapeRegex(pattern));\n\t\tself.location = [].concat(url);\n\n\t\tfunctionIterate(self.location, setProperty, self.location);\n\t}\n\n\tClassPattern.prototype = {\n\t\t/* only for reference\n\t\t weight: 0,\n\t\t match: NULL,\n\t\t location: NULL,\n\t\t */\n\t\tmatches: function(path) {\n\t\t\treturn this.match.test(path);\n\t\t},\n\t\tprocess: function(path, index) {\n\t\t\tvar current = this.location[index];\n\n\t\t\tif(current) {\n\t\t\t\treturn path.replace(this.match, current.url);\n\t\t\t}\n\t\t}\n\t};\n\n\treturn ClassPattern;\n}());","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tTRUE,\n\tregexMatchBaseUrl,\n\tClassPledge\n*/\n\n//=require constants.js\n//=require shortcuts.js\n//=require variables.js\n//=require class/pledge.js\n\nvar ClassXhr = (function(XMLHttpRequest) {\n\tvar XDomainRequest = 'XDomainRequest' in global && global.XDomainRequest || XMLHttpRequest;\n\t\n\tfunction checkState() {\n\t\tif(this.readyState < 4) {\n\t\t\tthis.abort();\n\t\t}\n\t}\n\t\n\treturn function ClassXhr(url) {\n\t\tvar dfd = ClassPledge.defer(),\n\t\t\txhr = regexMatchBaseUrl.test(url) ? new XMLHttpRequest() : new XDomainRequest(),\n\t\t\tboundCheckState = checkState.bind(xhr),\n\t\t\ttimeout = settings.timeout,\n\t\t\tpointer;\n\n\t\txhr.ontimeout = xhr.onerror = xhr.onabort = function() {\n\t\t\tdfd.reject(xhr.status);\n\t\t};\n\t\txhr.onprogress = xhr.onreadystatechange = function() {\n\t\t\tclearTimeout(pointer);\n\n\t\t\tpointer = setTimeout(boundCheckState, timeout);\n\t\t};\n\t\txhr.onload = function() {\n\t\t\tpointer = clearTimeout(pointer);\n\n\t\t\tif(!('status' in xhr) || xhr.status === 200) {\n\t\t\t\tdfd.resolve(xhr.responseText, xhr.getResponseHeader && xhr.getResponseHeader('content-type'));\n\t\t\t} else {\n\t\t\t\tdfd.reject(xhr.status);\n\t\t\t}\n\t\t};\n\n\t\txhr.open('GET', url, TRUE);\n\t\txhr.send();\n\t\t\n\t\tpointer = setTimeout(boundCheckState, timeout);\n\t\t\n\t\treturn dfd.pledge;\n\t};\n}(XMLHttpRequest));","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tSTRING_BOOLEAN, STRING_STRING, EVENT_PRE_RESOLVE, EVENT_POST_RESOLVE, EVENT_PRE_CONFIGURE, EVENT_POST_CONFIGURE, EVENT_CACHE_MISS, EVENT_CACHE_HIT, EVENT_PRE_REQUEST, EVENT_POST_REQUEST, EVENT_PRE_PROCESS, EVENT_POST_PROCESS, NULL, FALSE,\n\tvalidatorIsTypeOf, validatorIsObject, validatorIsPositive, validatorIsInstanceOf,\n\tfunctionIterate, functionMerge, functionDefer, functionToArray,\n\tClassPledge, ClassDependency, ClassPattern, ClassLoader, \n\tsingletonEvent, singletonCache\n*/\n\n//=require constants.js\n//=require validator/isTypeOf.js\n//=require validator/isObject.js\n//=require validator/isPositive.js\n//=require validator/isInstanceOf.js\n//=require function/iterate.js\n//=require function/merge.js\n//=require function/defer.js\n//=require function/toArray.js\n//=require singleton/event.js\n//=require singleton/cache.js\n//=require class/pledge.js\n//=require class/dependency.js\n//=require class/pattern.js\n//=require class/loader.js\n\nglobal.demand = (function() {\n\tfunction updateCacheSettings(property, value) {\n\t\tthis[property] = { weight: property.length, state: value };\n\t}\n\n\tfunction updatePatternSettings(property, value) {\n\t\tproperty !== 'base' && (this[property] = new ClassPattern(property, value));\n\t}\n\n\tfunction updateModuleSettings(property, value) {\n\t\tvar temp = this[property] = this[property] || {};\n\n\t\tsingletonEvent.emit(EVENT_PRE_CONFIGURE, property, temp);\n\n\t\tfunctionMerge(temp, value);\n\n\t\tsingletonEvent.emit(EVENT_POST_CONFIGURE, property, temp);\n\t}\n\n\tfunction demand() {\n\t\tvar dependencies = functionToArray(arguments),\n\t\t\tcontext = this !== global ? this : NULL,\n\t\t\ti = 0, uri, dfd, result;\n\t\t\n\t\tsingletonEvent.emit(EVENT_PRE_RESOLVE, NULL, dependencies, context);\n\t\t\n\t\tfor(; (uri = dependencies[i]); i++) {\n\t\t\tif(validatorIsTypeOf(uri, STRING_STRING)) {\n\t\t\t\tdependencies[i] = ClassDependency.resolve(uri, context).pledge;\n\t\t\t} else {\n\t\t\t\tdependencies[i] = (dfd = ClassPledge.defer()).pledge;\n\n\t\t\t\tdfd.resolve(uri);\n\t\t\t}\n\t\t}\n\t\t\n\t\tif(dependencies.length > 1) {\n\t\t\tresult = ClassPledge.all(dependencies);\n\t\t} else {\n\t\t\tresult = dependencies[0];\n\t\t}\n\t\t\n\t\treturn result.always(function() {\n\t\t\tsingletonEvent.emit(EVENT_POST_RESOLVE, NULL, dependencies, context);\n\t\t});\n\t}\n\n\tdemand.configure = function(options) {\n\t\tvar cache = options.cache,\n\t\t\tversion = options.version,\n\t\t\ttimeout = options.timeout,\n\t\t\tlifetime = options.lifetime,\n\t\t\tbase = options.base,\n\t\t\tpattern = options.pattern,\n\t\t\tmodules = options.modules,\n\t\t\tpointer = settings.modules;\n\n\t\tif(validatorIsTypeOf(cache, STRING_BOOLEAN)) {\n\t\t\tsettings.cache[''] = { weight: 0, state: cache };\n\t\t} else if(validatorIsObject(cache)) {\n\t\t\tfunctionIterate(cache, updateCacheSettings, settings.cache);\n\t\t}\n\n\t\tif(validatorIsTypeOf(version, STRING_STRING)) {\n\t\t\tsettings.version = version;\n\t\t}\n\n\t\tif(validatorIsPositive(timeout)) {\n\t\t\tsettings.timeout = Math.min(Math.max(timeout, 2), 12) * 1000;\n\t\t}\n\n\t\tif(validatorIsPositive(lifetime) && lifetime > 0) {\n\t\t\tsettings.lifetime = lifetime * 1000;\n\t\t}\n\n\t\tif(validatorIsTypeOf(base, STRING_STRING) && base !== '') {\n\t\t\tsettings.pattern.base = new ClassPattern('', base);\n\t\t}\n\n\t\tif(validatorIsObject(pattern)) {\n\t\t\tfunctionIterate(pattern, updatePatternSettings, settings.pattern);\n\t\t}\n\n\t\tif(validatorIsObject(modules)) {\n\t\t\tfunctionIterate(modules, updateModuleSettings, pointer);\n\t\t}\n\n\t\treturn demand;\n\t};\n\n\tdemand.version = '{{gulp:package.version}}';\n\tdemand.on = singletonEvent.on.bind(demand);\n\tdemand.get = function(uri, context) { var dependency = ClassDependency.get(uri, context); return dependency && dependency.value; };\n\tdemand.remove = ClassDependency.remove;\n\tdemand.list = ClassDependency.list;\n\tdemand.clear = singletonCache.clear;\n\n\tsingletonEvent\n\t\t.after(EVENT_CACHE_MISS, function(dependency) {\n\t\t\tnew ClassLoader(dependency);\n\t\t})\n\t\t.after(EVENT_CACHE_HIT + ' ' + EVENT_POST_REQUEST, function(dependency) {\n\t\t\tsingletonEvent.emit(EVENT_PRE_PROCESS, dependency.id, dependency);\n\t\t})\n\t\t.after(EVENT_PRE_REQUEST, function(dependency) {\n\t\t\tvar pointer = dependency.handler.onPreRequest;\n\t\n\t\t\tpointer && pointer(dependency);\n\t\t})\n\t\t.after(EVENT_POST_REQUEST, function(dependency) {\n\t\t\tvar pointer = dependency.handler.onPostRequest;\n\t\n\t\t\tpointer && pointer(dependency);\n\t\t})\n\t\t.after(EVENT_PRE_PROCESS, function(dependency) {\n\t\t\tvar pointer = dependency.handler.onPreProcess;\n\t\t\t\n\t\t\tpointer && pointer(dependency);\n\t\t\t\n\t\t\tdependency.pledge.then(function() {\n\t\t\t\tsingletonEvent.emit(EVENT_POST_PROCESS, dependency.id, dependency);\n\t\t\t});\n\n\t\t\tif(dependency.enqueue === true) {\n\t\t\t\tqueue.enqueue(dependency);\n\t\t\t} else if(validatorIsInstanceOf(dependency.enqueue, ClassPledge)) {\n\t\t\t\tdependency.enqueue.then(function() { queue.enqueue(dependency); });\n\t\t\t}\n\t\t});\n\n\treturn demand;\n}());","/* global \n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tSTRING_STRING, STRING_UNDEFINED, STRING_FUNCTION, ERROR_PROVIDE, ERROR_PROVIDE_ANONYMOUS, NULL,\n\tvalidatorIsTypeOf, validatorIsArray,\n\tClassDependency, ClassFailure\n*/\n\n//=require constants.js\n//=require validator/isTypeOf.js\n//=require validator/isArray.js\n//=require class/dependency.js\n//=require class/failure.js\n\nglobal.provide = function provide() {\n\tvar uri = validatorIsTypeOf(arguments[0], STRING_STRING) ? arguments[0] : NULL,\n\t\tcontext = this !== global ? this : NULL,\n\t\tdependencies = validatorIsArray(arguments[uri ? 1 : 0]) ? arguments[uri ? 1 : 0] : NULL,\n\t\tdefinition = dependencies ? arguments[uri ? 2 : 1] : arguments[uri ? 1 : 0],\n\t\tmodule, isFunction;\n\n\tif(!uri && processor.current) {\n\t\tmodule = processor.current;\n\t\turi = module.uri;\n\n\t\tprocessor.process();\n\t}\n\t\n\tif(uri) {\n\t\tmodule = module || new ClassDependency(uri, context);\n\t\tisFunction = validatorIsTypeOf(definition, STRING_FUNCTION);\n\n\t\tif(dependencies) {\n\t\t\tdemand\n\t\t\t\t.apply(module.path, dependencies)\n\t\t\t\t.then(\n\t\t\t\t\tfunction() { module.dfd.resolve(isFunction ? definition.apply(NULL, arguments) : definition); },\n\t\t\t\t\tfunction() { module.dfd.reject(new ClassFailure(ERROR_PROVIDE, module.id, arguments)); }\n\t\t\t\t);\n\t\t} else {\n\t\t\tmodule.dfd.resolve(isFunction ? definition() : definition);\n\t\t}\n\t} else {\n\t\t/* eslint-disable no-console */\n\t\t!validatorIsTypeOf(console, STRING_UNDEFINED) && console.error(new ClassFailure(ERROR_PROVIDE_ANONYMOUS));\n\t\t/* eslint-enable no-console */\n\t}\n};","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tNULL\n*/\n\n//=require constants.js\n\nvar abstractHandler = (function() {\n\tfunction AbstractHandler() {\n\n\t}\n\n\tAbstractHandler.prototype = {\n\t\tvalidate: NULL,\n\t\tonPreRequest: NULL,\n\t\tonPostRequest: NULL,\n\t\tonPreProcess: NULL,\n\t\tprocess: NULL\n\t};\n\n\treturn new AbstractHandler();\n}());","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tDEMAND_ID, EVENT_PRE_REQUEST, EVENT_POST_REQUEST, TRUE,\n\tfunctionResolveSourcemaps,\n\tabstractHandler\n*/\n\n//=require constants.js\n//=require function/resolveSourcemaps.js\n//=require abstract/handler.js\n\nvar handlerModule = (function() {\n\tvar suffix = '.js',\n\t\ttarget = document.getElementsByTagName('head')[0],\n\t\tregexMatchType = /^(application|text)\\/(x-)?javascript/;\n\n\tfunction HandlerModule() {}\n\n\tHandlerModule.prototype = {\n\t\tvalidate: function(type) {\n\t\t\treturn regexMatchType.test(type);\n\t\t},\n\t\tonPreRequest: function(dependency) {\n\t\t\tvar pathname = dependency.url.pathname;\n\t\t\t\n\t\t\tdependency.url.pathname = pathname.slice(-suffix.length) !== suffix ? pathname + suffix : pathname;\n\t\t},\n\t\tonPostRequest: function(dependency) {\n\t\t\tdependency.source = functionResolveSourcemaps(dependency.url, dependency.source);\n\t\t},\n\t\tprocess: function(dependency) {\n\t\t\tvar script;\n\n\t\t\tif(dependency.source) {\n\t\t\t\tscript = document.createElement('script');\n\t\t\t\tscript.async = TRUE;\n\t\t\t\tscript.text = dependency.source;\n\n\t\t\t\tscript.setAttribute(DEMAND_ID + '-id', dependency.id);\n\n\t\t\t\ttarget.appendChild(script);\n\t\t\t}\n\t\t}\n\t};\n\n\treturn new (HandlerModule.extends(abstractHandler));\n}());","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tMODULE_PREFIX_HANDLER, EVENT_POST_CONFIGURE, ERROR_RESOLVE, MOCK_PREFIX, STRING_STRING, FALSE, TRUE,\n\tregexMatchParameter, regexMatchSourcemap,\n\tvalidatorIsTypeOf, validatorIsObject,\n\tfunctionIterate, functionResolveId,\n\tabstractHandler,\n\tClassDependency, ClassPledge, ClassFailure,\n\thandlerModule\n*/\n\n//=require constants.js\n//=require variables.js\n//=require validator/isTypeOf.js\n//=require validator/isObject.js\n//=require function/iterate.js\n//=require function/resolveId.js\n//=require abstract/handler.js\n//=require class/dependency.js\n//=require class/pledge.js\n//=require class/Failure.js\n//=require handler/module.js\n\nvar handlerBundle = (function() {\n\tvar path = MODULE_PREFIX_HANDLER + 'bundle',\n\t\tsettings = {};\n\n\tdemand\n\t\t.on(EVENT_POST_CONFIGURE + ':' + path, function(options) {\n\t\t\tif(validatorIsObject(options)) {\n\t\t\t\tsettings = options;\n\n\t\t\t\tfunctionIterate(settings, updateDependencies);\n\t\t\t}\n\t\t});\n\n\tfunction updateDependencies(uri, dependencies) {\n\t\tvar i, dependency;\n\n\t\tfor(i = 0; (dependency = dependencies[i]); i++) {\n\t\t\tif(validatorIsTypeOf(dependency, STRING_STRING)) {\n\t\t\t\tdependencies[i] = functionResolveId(dependency);\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction getType(dependencies) {\n\t\tvar type, i = 0, temp;\n\n\t\tfor(; (temp = dependencies[i]); i++) {\n\t\t\ttemp = temp.match(regexMatchParameter);\n\t\t\ttemp = (temp && temp[3]) || settings.handler;\n\n\t\t\tif(type) {\n\t\t\t\tif(temp !== type) {\n\t\t\t\t\treturn FALSE;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\ttype = temp;\n\t\t\t}\n\t\t}\n\n\t\treturn type;\n\t}\n\n\tfunction HandlerBundle() {}\n\n\tHandlerBundle.prototype = {\n\t\tvalidate: handlerModule.validate,\n\t\tonPreProcess: function(dependency) {\n\t\t\tvar source = dependency.source,\n\t\t\t\tdfd = dependency.dfd,\n\t\t\t\tdependencies = settings[dependency.path],\n\t\t\t\ttype, match, pledges, temp, i;\n\n\t\t\tdependency.enqueue = FALSE;\n\n\t\t\tfunction reject() {\n\t\t\t\tdfd.reject(new ClassFailure(ERROR_RESOLVE, dependency.id, arguments));\n\t\t\t}\n\n\t\t\tif(dependencies && (type = getType(dependencies))) {\n\t\t\t\twhile(match = regexMatchSourcemap.exec(source)) {\n\t\t\t\t\tsource = source.replace(match[0], '');\n\t\t\t\t}\n\n\t\t\t\tdependency.source = source;\n\t\t\t\tpledges = [];\n\n\t\t\t\tfor(i = 0; (temp = dependencies[i]); i++) {\n\t\t\t\t\tpledges.push(ClassDependency.resolve(MOCK_PREFIX + temp).pledge);\n\t\t\t\t}\n\n\t\t\t\tClassPledge.all(pledges).then(\n\t\t\t\t\tfunction() {\n\t\t\t\t\t\tpledges.length = 0;\n\n\t\t\t\t\t\tfor(i = 0; (temp = dependencies[i]); i++) {\n\t\t\t\t\t\t\ttemp = dependencies[i] = ClassDependency.get(temp) || new ClassDependency(temp);\n\t\t\t\t\t\t\ttemp.handler = arguments[i];\n\n\t\t\t\t\t\t\tpledges.push(temp.pledge);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif(type === 'module') {\n\t\t\t\t\t\t\tqueue.enqueue.apply(queue, dependencies);\n\t\t\t\t\t\t\thandlerModule.process(dependency);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\thandlerModule.process(dependency);\n\t\t\t\t\t\t\tqueue.enqueue.apply(queue, dependencies);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tClassPledge.all(pledges).then(dfd.resolve, reject);\n\t\t\t\t\t},\n\t\t\t\t\treject\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\treject();\n\t\t\t}\n\t\t}\n\t};\n\n\treturn new (HandlerBundle.extends(abstractHandler));\n}());","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tFALSE, EVENT_POST_REQUEST, ERROR_RESOLVE,\n\tfunctionResolveSourcemaps,\n\tabstractHandler,\n\tClassDependency, ClassPledge, ClassFailure\n*/\n\n//=require constants.js\n//=require function/resolveSourcemaps.js\n//=require abstract/handler.js\n//=require class/dependency.js\n//=require class/pledge.js\n//=require class/Failure.js\n\nvar handlerComponent = (function() {\n\tvar suffix = '.html',\n\t\tregexMatchType = /^text\\/.+$/;\n\n\tfunction HandlerComponent() {}\n\n\tHandlerComponent.prototype = {\n\t\tvalidate: function(type) {\n\t\t\treturn regexMatchType.test(type);\n\t\t},\n\t\tonPreRequest: function(dependency) {\n\t\t\tvar pathname = dependency.url.pathname;\n\t\t\t\n\t\t\tdependency.url.pathname = pathname.slice(-suffix.length) !== suffix ? pathname + suffix : pathname;\n\t\t},\n\t\tonPostRequest: function(dependency) {\n\t\t\tdependency.source = functionResolveSourcemaps(dependency.url, dependency.source);\n\t\t},\n\t\tonPreProcess: function(dependency) {\n\t\t\tvar context = dependency.path,\n\t\t\t\tdfd = dependency.dfd,\n\t\t\t\tcontainer = document.createElement('body'),\n\t\t\t\tmodules = [],\n\t\t\t\tpledges = [],\n\t\t\t\tnode, handler, path, uri;\n\n\t\t\tdependency.enqueue = FALSE;\n\t\t\tcontainer.innerHTML = dependency.source;\n\n\t\t\tfunction reject() {\n\t\t\t\tdfd.reject(new ClassFailure(ERROR_RESOLVE, dependency.id, arguments));\n\t\t\t}\n\n\t\t\twhile(node = container.firstElementChild) {\n\t\t\t\tif(handler = node.getAttribute('type')) {\n\t\t\t\t\tpath = node.getAttribute('path');\n\t\t\t\t\turi = handler + '!' + context + (path ? '/' + path : '');\n\n\t\t\t\t\tnode.parentNode.removeChild(node);\n\t\t\t\t\tmodules.push({ source: node.textContent, uri: uri });\n\t\t\t\t\tpledges.push(ClassDependency.resolve('mock:' + uri).pledge);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tClassPledge.all(pledges).then(\n\t\t\t\tfunction() {\n\t\t\t\t\tvar i = 0, module, dependency;\n\n\t\t\t\t\tpledges.length = 0;\n\n\t\t\t\t\tfor(; (module = modules[i]); i++) {\n\t\t\t\t\t\tdependency = ClassDependency.get(module.uri) || new ClassDependency(module.uri);\n\t\t\t\t\t\tdependency.source = module.source;\n\t\t\t\t\t\tdependency.handler = arguments[i];\n\n\t\t\t\t\t\tpledges.push(dependency.pledge);\n\n\t\t\t\t\t\tqueue.enqueue(dependency);\n\t\t\t\t\t}\n\n\t\t\t\t\tClassPledge.all(pledges).then(dfd.resolve, reject);\n\t\t\t\t},\n\t\t\t\treject\n\t\t\t);\n\t\t}\n\t};\n\n\treturn new (HandlerComponent.extends(abstractHandler));\n}());","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tMODULE_PREFIX_PLUGIN, MODULE_PREFIX_HANDLER, EVENT_POST_CONFIGURE, EVENT_PRE_RESOLVE, STRING_STRING, ERROR_RESOLVE, FALSE, TRUE,\n\tregexMatchInternal,\n\tvalidatorIsObject, validatorIsTypeOf,\n\tfunctionIterate, functionHash,\n\tClassDependency, ClassFailure,\n\tsingletonCache\n*/\n\n//=require constants.js\n//=require variables.js\n//=require validator/isTypeOf.js\n//=require validator/isObject.js\n//=require function/iterate.js\n//=require function/hash.js\n//=require class/dependency.js\n//=require class/failure.js\n//=require singleton/cache.js\n\nvar pluginGenie = (function() {\n\tvar path = MODULE_PREFIX_PLUGIN + 'genie',\n\t\tpattern = [];\n\n\tfunction matchPattern(path) {\n\t\tvar i = 0, pointer, match;\n\n\t\tfor(; (pointer = pattern[i]); i++) {\n\t\t\tif(path.indexOf(pointer.prefix) === 0 && (!match || pointer.weight > match.weight)) {\n\t\t\t\tmatch = pointer;\n\t\t\t}\n\t\t}\n\n\t\treturn match;\n\t}\n\n\tfunction generateConfiguration(bundle) {\n\t\tvar matches = bundle.matches,\n\t\t\tconfiguration = { pattern: {}, modules: { '/demand/handler/bundle': {} } },\n\t\t\ti = 0, pointer, dependency;\n\n\t\tconfiguration.pattern[bundle.id] = bundle.fn(matches);\n\t\tconfiguration.modules[MODULE_PREFIX_HANDLER + 'bundle'][bundle.id] = pointer = [];\n\n\t\tfor(; (dependency = matches[i]); i++) {\n\t\t\tpointer.push(dependency.path);\n\t\t}\n\n\t\treturn configuration;\n\t}\n\n\tfunction resolveDependencies() {\n\t\tvar i = 0, dependency;\n\n\t\tfor(; (dependency = this[i]); i++) {\n\t\t\tdependency.dfd.resolve(arguments[i]);\n\t\t}\n\t}\n\n\tfunction rejectDependencies() {\n\t\tvar i = 0, dependency;\n\n\t\tfor(; (dependency = this[i]); i++) {\n\t\t\tdependency.dfd.reject(new ClassFailure(ERROR_RESOLVE, dependency.id));\n\t\t}\n\t}\n\n\tfunction addPattern(property, value) {\n\t\tpattern.push({ prefix: property, weight: property.length, fn: value });\n\t}\n\n\tfunction resolveBundles(property, value) {\n\t\tvar matches = value.matches,\n\t\t\ti = 0, dependency;\n\n\t\tif(matches.length > 1) {\n\t\t\tvalue.id = path + '/' + functionHash(JSON.stringify(value.matches));\n\n\t\t\tfor(; (dependency = matches[i]); i++) {\n\t\t\t\tmatches[i] = new ClassDependency(dependency.uri);\n\t\t\t}\n\n\t\t\tdemand.configure(generateConfiguration(value));\n\t\t\tdemand('bundle!' + value.id)\n\t\t\t\t.then(\n\t\t\t\t\tresolveDependencies.bind(matches),\n\t\t\t\t\trejectDependencies.bind(matches)\n\t\t\t\t);\n\t\t}\n\t}\n\n\tdemand\n\t\t.on(EVENT_POST_CONFIGURE + ':' + path, function(options) {\n\t\t\tif(validatorIsObject(options)) {\n\t\t\t\tpattern.length = 0;\n\n\t\t\t\tfunctionIterate(options, addPattern);\n\t\t\t}\n\t\t})\n\t\t.on(EVENT_PRE_RESOLVE, function(dependencies, context) {\n\t\t\tvar bundles = {},\n\t\t\t\ti = 0, dependency, pattern;\n\n\t\t\tfor(; (dependency = dependencies[i]); i++) {\n\t\t\t\tif(validatorIsTypeOf(dependency, STRING_STRING) && !regexMatchInternal.test(dependency) && !ClassDependency.get(dependency, context)) {\n\t\t\t\t\tdependency = new ClassDependency(dependency, context, FALSE);\n\n\t\t\t\t\tif(dependency.type === 'module' && (pattern = matchPattern(dependency.path)) && !singletonCache.get(dependency)) {\n\t\t\t\t\t\t(bundles[pattern.prefix] || (bundles[pattern.prefix] = { fn: pattern.fn, matches: [] })).matches.push(dependency);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfunctionIterate(bundles, resolveBundles);\n\t\t});\n\n\treturn TRUE;\n}());"]} \ No newline at end of file +{"version":3,"sources":["demand.js","class/descriptor.js","validator/isTypeOf.js","validator/isObject.js","validator/isPositive.js","validator/isInstanceOf.js","function/iterate.js","function/toArray.js","function/getTimestamp.js","function/resolveUrl.js","function/resolvePath.js","function/resolveId.js","abstract/uuid.js","class/registry.js","class/failure.js","class/loader.js","validator/isArray.js","function/hash.js","class/queue.js","class/processor.js","function/resolveSourcemaps.js","class/Failure.js","shortcuts.js","constants.js","inheritance.js","function/merge.js","function/uuid.js","function/defer.js","singleton/event.js","function/escapeRegex.js","variables.js","singleton/cache.js","class/pledge.js","class/dependency.js","class/pattern.js","class/xhr.js","function/demand.js","function/provide.js","abstract/handler.js","handler/module.js","handler/bundle.js","handler/component.js","plugin/genie.js"],"names":["global","document","options","setTimeout","clearTimeout","ClassDescriptor","value","writable","configurable","enumerable","__proto__","NULL","validatorIsTypeOf","object","type","validatorIsObject","STRING_OBJECT","validatorIsPositive","STRING_NUMBER","isFinite","Math","floor","validatorIsInstanceOf","module","functionIterate","source","callback","context","property","properties","keys","i","UNDEFINED","call","FALSE","functionToArray","arrayLikeObject","start","end","arrayPrototypeSlice","functionGetTimestamp","Date","functionResolveUrl","url","linkElement","href","functionResolvePath","uri","path","replace","regexMatchParameter","regexIsAbsolutePath","test","regexIsAbsoluteUri","regexMatchBaseUrl","functionResolveId","parameter","match","settings","handler","AbstractUuid","this","uuid","STRING_UNDEFINED","objectDefineProperty","functionUuid","ClassRegistry","parent","constructor","storage","ClassFailure","message","stack","ClassLoader","dependency","resolve","response","validate","dfd","reject","ERROR_LOAD","id","singletonEvent","emit","EVENT_POST_REQUEST","status","load","location","createElement","pattern","process","EVENT_PRE_REQUEST","ClassXhr","then","matches","weight","validatorIsArray","objectPrototypeToString","functionHash","input","length","charCodeAt","ClassQueue","ClassProcessor","queue","self","pointer","current","demand","on","EVENT_QUEUE_ENQUEUE","functionResolveSourcemaps","replacement","regexMatchSourcemap","exec","protocol","host","pathname","assignModule","provide","processor","version","cache","timeout","modules","arrayPrototype","Array","prototype","slice","arrayPrototypeConcat","concat","Object","objectPrototype","toString","objectCreate","create","defineProperty","objectGetOwnPropertyNames","getOwnPropertyNames","objectGetOwnPropertyDescriptor","getOwnPropertyDescriptor","functionPrototype","Function","DEMAND_ID","PROVIDE_ID","PATH_ID","MODULE_PREFIX","MODULE_PREFIX_ABSTRACT","MODULE_PREFIX_HANDLER","MODULE_PREFIX_PLUGIN","MODULE_PREFIX_FUNCTION","MODULE_PREFIX_VALIDATOR","MOCK_PREFIX","undefined","TRUE","STRING_STRING","STRING_BOOLEAN","STRING_FUNCTION","FUNCTION_EMPTY","EVENT_PREFIX","EVENT_POSTFIX","EVENT_CONFIGURE","EVENT_PRE_CONFIGURE","EVENT_POST_CONFIGURE","EVENT_CACHE","EVENT_CACHE_MISS","EVENT_CACHE_HIT","EVENT_CACHE_CLEAR","EVENT_CACHE_EXCEED","EVENT_PRE_CACHE","EVENT_POST_CACHE","EVENT_RESOLVE","EVENT_PRE_RESOLVE","EVENT_POST_RESOLVE","EVENT_REQUEST","EVENT_PROCESS","EVENT_PRE_PROCESS","EVENT_POST_PROCESS","EVENT_QUEUE","EVENT_QUEUE_DEQUEUE","ERROR_PROVIDE","ERROR_RESOLVE","ERROR_PROVIDE_ANONYMOUS","extend","names","functionMerge","mergeProperties","targetPropertyIsObject","targetProperty","target","arguments","randomize","character","r","random","regex","RegExp","functionDefer","element","fallback","hasSetImmediate","fn","MutationObserver","observe","attributes","setAttribute","onMessage","event","data","addEventListener","postMessage","onreadystatechange","parentNode","removeChild","body","appendChild","setImmediate","addListener","events","split","shift","regexMatchEvent","listener","after","push","filter","TYPE_ON","Event","TYPE_AFTER","item","apply","functionEscapeRegex","regexMatchRegex","regexMatchInternal","singletonCache","enabled","indexOf","state","getKey","key","localStorage","getItem","setKey","getState","regexMatchProperties","setState","join","Cache","clear","expired","bind","STORAGE_PREFIX","STORAGE_SUFFIX_STATE","STORAGE_SUFFIX_VALUE","regexMatchState","supportsLocalStorage","exception","supportsRemainingSpace","cacheDispose","set","get","lifetime","spaceBefore","remainingSpace","Error","error","ClassDependency","all","ClassPledge","handle","PLEDGE_RESOLVED","PLEDGE_REJECTED","result","PLEDGE_PENDING","pledge","index","resolved","count","check","rejected","total","executor","catch","always","alwaysListener","resolveListener","rejectListener","defer","isPending","isResolved","isRejected","pledges","race","extends","remove","traverse","depth","indention","setProperty","addPending","addResolved","addRejected","register","placeholder","mock","registry","PREFIX_INTERNAL","enqueue","isInternal","node","querySelector","list","pending","ClassPattern","regexMatchTrailingSlash","XMLHttpRequest","checkState","readyState","abort","XDomainRequest","xhr","boundCheckState","ontimeout","onerror","onabort","onprogress","onload","responseText","getResponseHeader","open","send","updateCacheSettings","updatePatternSettings","updateModuleSettings","temp","dependencies","configure","base","min","max","onPreRequest","onPostRequest","onPreProcess","isFunction","definition","console","/demand","dequeue","abstractHandler","AbstractHandler","handlerModule","HandlerModule","suffix","getElementsByTagName","regexMatchType","script","async","text","handlerBundle","updateDependencies","getType","HandlerBundle","handlerComponent","HandlerComponent","container","innerHTML","firstElementChild","getAttribute","textContent","pluginGenie","matchPattern","prefix","generateConfiguration","bundle","configuration","/demand/handler/bundle","resolveDependencies","rejectDependencies","addPattern","resolveBundles","JSON","stringify","bundles","main"],"mappings":"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","file":"demand.js","sourcesContent":["/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tMODULE_PREFIX, MODULE_PREFIX_HANDLER, MODULE_PREFIX_VALIDATOR, MODULE_PREFIX_PLUGIN, MODULE_PREFIX_FUNCTION, MODULE_PREFIX_ABSTRACT, STRING_STRING, STRING_FUNCTION, TRUE,\n\tvalidatorIsTypeOf, validatorIsArray, validatorIsObject, validatorIsInstanceOf,\n\tfunctionResolveUrl, functionResolveSourcemaps, functionMerge, functionIterate, functionDefer, functionHash, functionUuid,\n\tAbstractUuid, abstractHandler,\n\tClassDependency, ClassQueue, ClassProcessor, ClassPledge, ClassXhr, ClassFailure, ClassDescriptor,\n\thandlerModule, handlerBundle, handlerComponent,\n \tpluginGenie\n*/\n\n/*eslint no-unused-vars: [2, { \"vars\": \"local\", \"args\": \"none\" }]*/\n(function(global, document, options, setTimeout, clearTimeout) {\n\t'use strict';\n\n\t/* eslint-disable no-unused-vars */\n\tvar settings = { version: '1.0.0', cache: {}, timeout: 8000, pattern: {}, modules: {}, handler: 'module' },\n\t\tstorage = {},\n\t\tqueue, processor;\n\t/* eslint-enable no-unused-vars */\n\n\t// include inheritance\n\t\t//=require inheritance.js\n\n\t// include main components\n\t\t//=require function/demand.js\n\t\t//=require function/provide.js\n\n\t// process initial configuration\n\t\tdemand.configure({ cache: TRUE, base: '/', pattern: { '/demand': functionResolveUrl(((options && options.url) || location.href) + '/../').slice(0, -1)} });\n\t\toptions && options.settings && demand.configure(options.settings);\n\n\t// include additional components\n\t\t//=require function/hash.js\n\t\t//=require class/queue.js\n\t\t//=require class/processor.js\n\t\t//=require handler/module.js\n\t\t//=require handler/bundle.js\n\t\t//=require handler/component.js\n\t\t//=require plugin/genie.js\n\n\t// initialize\n\t\tqueue = new ClassQueue();\n\t\tprocessor = new ClassProcessor(queue);\n\n\t\tfunction assignModule(id, module) {\n\t\t\tprovide(id, function() { return module; });\n\t\t}\n\n\t\tassignModule(MODULE_PREFIX_ABSTRACT + 'uuid', AbstractUuid);\n\t\tassignModule(MODULE_PREFIX_ABSTRACT + 'handler', abstractHandler);\n\t\tassignModule(MODULE_PREFIX_HANDLER + 'module', handlerModule);\n\t\tassignModule(MODULE_PREFIX_HANDLER + 'bundle', handlerBundle);\n\t\tassignModule(MODULE_PREFIX_HANDLER + 'component', handlerComponent);\n\t\tassignModule(MODULE_PREFIX_PLUGIN + 'genie', pluginGenie);\n\t\tassignModule(MODULE_PREFIX_VALIDATOR + 'isTypeOf', validatorIsTypeOf);\n\t\tassignModule(MODULE_PREFIX_VALIDATOR + 'isArray', validatorIsArray);\n\t\tassignModule(MODULE_PREFIX_VALIDATOR + 'isObject', validatorIsObject);\n\t\tassignModule(MODULE_PREFIX_VALIDATOR + 'isInstanceOf', validatorIsInstanceOf);\n\t\tassignModule(MODULE_PREFIX_FUNCTION + 'resolveUrl', functionResolveUrl);\n\t\tassignModule(MODULE_PREFIX_FUNCTION + 'resolveSourcemaps', functionResolveSourcemaps);\n\t\tassignModule(MODULE_PREFIX_FUNCTION + 'merge', functionMerge);\n\t\tassignModule(MODULE_PREFIX_FUNCTION + 'iterate', functionIterate);\n\t\tassignModule(MODULE_PREFIX_FUNCTION + 'hash', functionHash);\n\t\tassignModule(MODULE_PREFIX_FUNCTION + 'defer', functionDefer);\n\t\tassignModule(MODULE_PREFIX + 'descriptor', ClassDescriptor);\n\t\tassignModule(MODULE_PREFIX + 'pledge', ClassPledge);\n\t\tassignModule(MODULE_PREFIX + 'queue', ClassQueue);\n\t\tassignModule(MODULE_PREFIX + 'xhr', ClassXhr);\n\t\tassignModule(MODULE_PREFIX + 'failure', ClassFailure);\n\n\t\tif(options && options.main) {\n\t\t\tswitch(typeof options.main) {\n\t\t\t\tcase STRING_STRING:\n\t\t\t\t\tdemand(options.main);\n\n\t\t\t\t\tbreak;\n\t\t\t\tcase STRING_FUNCTION:\n\t\t\t\t\tprovide('main', options.main());\n\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n}(this, document, 'demand' in this && demand, setTimeout, clearTimeout));","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tNULL\n*/\n\n//=require constants.js\n\nfunction ClassDescriptor(value, writable, configurable, enumerable) {\n\treturn {\n\t\t__proto__: NULL,\n\t\tvalue: value,\n\t\tenumerable: !!enumerable,\n\t\tconfigurable: !!configurable,\n\t\twritable: !!writable\n\t};\n}","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage\n*/\n\n/**\n * isTypeOf\n *\n * Check whether a given object is of specified type\n *\n * @param object\n * @param {string} type\n *\n * @return {boolean}\n */\n\nfunction validatorIsTypeOf(object, type) {\n\treturn typeof object === type;\n}","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tSTRING_OBJECT,\n\tvalidatorIsTypeOf\n*/\n\n//=require constants.js\n//=require validator/isTypeOf.js\n\n/**\n * isObject\n *\n * Check whether a given object is of type object\n *\n * @param object\n *\n * @return {boolean}\n */\n\nfunction validatorIsObject(object) {\n\treturn object && validatorIsTypeOf(object, STRING_OBJECT);\n}","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tSTRING_NUMBER,\n\tvalidatorIsTypeOf\n*/\n\n//=require constants.js\n//=require validator/isTypeOf.js\n\n/**\n * isPositive\n *\n * Check whether a given value is a positive integer\n *\n * @param value\n *\n * @return {boolean}\n */\n\nfunction validatorIsPositive(value) {\n\treturn validatorIsTypeOf(value, STRING_NUMBER) && isFinite(value) && Math.floor(value) === value && value >= 0;\n}","/**\n * isInstanceOf\n *\n * Check whether a given object is an instance of specified type\n *\n * @param object\n * @param module\n *\n * @return {boolean}\n */\nfunction validatorIsInstanceOf(object, module) {\n\treturn object instanceof module;\n}","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tUNDEFINED, FALSE,\n\tobject\n*/\n\n//=require constants.js\n//=require shortcuts.js\n\n/**\n * iterate\n *\n * Iterate over enumerable & own properties of a given\n * object and pass current property as well as its value\n * to a callback function\n *\n * @param {object} object\n * @param {function} callback\n * @param context\n *\n * @return mixed\n */\n\nfunction functionIterate(source, callback, context) {\n\tvar properties = object.keys(source),\n\t\ti = 0, property;\n\n\tfor(; (property = properties[i]) !== UNDEFINED; i++) {\n\t\tif(callback.call(context, property, source[property]) === FALSE) {\n\t\t\tbreak;\n\t\t}\n\t}\n\n\treturn context;\n}","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tarrayPrototypeSlice\n*/\n\n//=require shortcuts.js\n\nfunction functionToArray(arrayLikeObject, start, end) {\n\treturn arrayPrototypeSlice.call(arrayLikeObject, start, end);\n}","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage\n*/\n\nfunction functionGetTimestamp() {\n\treturn +new Date();\n}\n","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tlinkElement\n*/\n\n//=require shortcuts.js\n\nfunction functionResolveUrl(url) {\n\tlinkElement.href = url;\n\n\treturn linkElement.href;\n}","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tregexMatchParameter, regexMatchBaseUrl, regexIsAbsolutePath, regexIsAbsoluteUri,\n\tfunctionResolveUrl\n*/\n\n//=require variables.js\n//=require function/resolveUrl.js\n\nfunction functionResolvePath(uri, context) {\n\tvar path = uri.replace(regexMatchParameter, '');\n\n\tif(!regexIsAbsolutePath.test(path) && !regexIsAbsoluteUri.test(path)) {\n\t\tpath = '/' + functionResolveUrl(((context && functionResolveUrl(context + '/../')) || '/') + path).replace(regexMatchBaseUrl, '');\n\t}\n\n\treturn path;\n}","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tregexMatchParameter,\n\tfunctionResolvePath\n*/\n\n//=require variables.js\n//=require function/resolvePath.js\n\nfunction functionResolveId(uri, context) {\n\tvar parameter = uri.match(regexMatchParameter);\n\n\treturn ((parameter && parameter[1]) ? 'mock:' : '') + ((parameter && parameter[3]) || settings.handler) + '!' + functionResolvePath(uri, context);\n}","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tSTRING_UNDEFINED,\n\tobjectDefineProperty,\n\tvalidatorIsTypeOf,\n\tfunctionUuid,\n\tClassDescriptor\n*/\n\n//=require constants.js\n//=require shortcuts.js\n//=require validator/isTypeOf.js\n//=require function/uuid.js\n//=require class/descriptor.js\n\nfunction AbstractUuid() {\n\tif(validatorIsTypeOf(this.uuid, STRING_UNDEFINED)) {\n\t\tobjectDefineProperty(this, 'uuid', new ClassDescriptor(functionUuid()));\n\t}\n\n\treturn this;\n}\n","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tAbstractUuid\n*/\n\n//=require abstract/uuid.js\n\nfunction ClassRegistry() {\n\tthis.parent.constructor.call(this);\n\n\tstorage[this.uuid] = {};\n}\n\nClassRegistry.prototype = {\n\tget: function(key) {\n\t\treturn key ? storage[this.uuid][key] : storage[this.uuid];\n\t},\n\tset: function(key, value) {\n\t\tstorage[this.uuid][key] = value;\n\t},\n\tremove: function(key) {\n\t\tdelete storage[this.uuid][key];\n\t}\n};\n\nClassRegistry.extends(AbstractUuid);","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tDEMAND_ID,\n\tfunctionToArray\n*/\n\n//=require constants.js\n//=require function/toArray.js\n\nfunction ClassFailure(message, module, stack) {\n\tthis.message = message;\n\t\t\n\tmodule && (this.module = module);\n\tstack && (this.stack = functionToArray(stack));\n}\n\t\nClassFailure.prototype = {\n\t/* only for reference\n\t message: NULL,\n\t module: NULL,\n\t stack: NULL,\n\t */\n\ttoString: function() {\n\t\tvar self = this,\n\t\t\tresult = DEMAND_ID + ': ' + self.message + ' ' + (self.module ? '\"' + self.module + '\"' : '');\n\n\t\tif(self.stack) {\n\t\t\tresult = ClassFailure.traverse(self.stack, result, 1);\n\t\t}\n\t\t\t\n\t\treturn result;\n\t}\n};\n\t\nClassFailure.traverse = function(stack, value, depth) {\n\tvar indention = new Array(depth + 1).join(' '),\n\t\ti = 0, item;\n\t\t\n\tfor(; item = stack[i]; i++) {\n\t\tvalue += '\\n' + indention + '> ' + item.message + ' ' + (item.module ? '\"' + item.module + '\"' : '');\n\t\t\t\n\t\tif(item.stack) {\n\t\t\tvalue = ClassFailure.traverse(item.stack, value, depth + 1);\n\t\t}\n\t}\n\t\t\n\treturn value;\n};","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tDEMAND_ID, EVENT_PRE_REQUEST, EVENT_POST_REQUEST, ERROR_LOAD,\n\tregexIsAbsoluteUri,\n\tlinkElement,\n\tfunctionIterate, functionResolveUrl,\n\tClassXhr, ClassFailure,\n\tsingletonEvent\n*/\n\n//=require constants.js\n//=require variables.js\n//=require shortcuts.js\n//=require function/resolveUrl.js\n//=require function/iterate.js\n//=require singleton/event.js\n//=require class/xhr.js\n//=require class/failure.js\n\nfunction ClassLoader(dependency) {\n\tvar pattern;\n\n\tfunction resolve(response, type) {\n\t\tif(!type || !dependency.handler.validate || dependency.handler.validate(type)) {\n\t\t\tdependency.source = response;\n\n\t\t\tsingletonEvent.emit(EVENT_POST_REQUEST, dependency.type, dependency);\n\t\t} else {\n\t\t\tdependency.dfd.reject(new ClassFailure(ERROR_LOAD + ' (content-type)', dependency.id));\n\t\t}\n\t}\n\n\tfunction reject(status) {\n\t\tdependency.dfd.reject(new ClassFailure(ERROR_LOAD + (status ? ' (status)' : ''), dependency.id));\n\t}\n\n\tfunction load(location) {\n\t\tlocation = location || 0;\n\t\tdependency.url = document.createElement('a');\n\t\t\n\t\tdependency.url.href = pattern ? functionResolveUrl(pattern.process(dependency.path, location)) : dependency.path;\n\n\t\tsingletonEvent.emit(EVENT_PRE_REQUEST, dependency.type, dependency);\n\n\t\tnew ClassXhr(dependency.url).then(\n\t\t\tresolve,\n\t\t\t(\n\t\t\t\tpattern ?\n\t\t\t\tfunction() {\n\t\t\t\t\tlocation++;\n\n\t\t\t\t\tif(pattern.location[location]) {\n\t\t\t\t\t\tload(location);\n\t\t\t\t\t} else {\n\t\t\t\t\t\treject();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t:\n\t\t\t\treject\n\t\t\t)\n\t\t);\n\t}\n\n\tif(!regexIsAbsoluteUri.test(dependency.path)) {\n\t\tfunctionIterate(settings.pattern, function(property, value) {\n\t\t\tvalue.matches(dependency.path) && (!pattern || pattern.weight < value.weight) && (pattern = value);\n\t\t});\n\t}\n\n\tload();\n}","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tobjectPrototypeToString\n*/\n\n//=require shortcuts.js\n\n/**\n * isArray\n *\n * Check whether a given value is of type array\n *\n * @param value\n *\n * @return {boolean}\n */\n\nfunction validatorIsArray(value) {\n\treturn objectPrototypeToString.call(value) === '[object Array]';\n}","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage\n*/\n\n/**\n * hash\n *\n * Generate a hash for a given string\n *\n * @param {string} input\n *\n * @return {number}\n */\nfunction functionHash(input){\n\tvar value = 5381,\n\t\ti = input.length;\n\n\twhile(i) {\n\t\tvalue = (value * 33) ^ input.charCodeAt(--i);\n\t}\n\n\treturn value >>> 0;\n}","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tEVENT_QUEUE_ENQUEUE, EVENT_QUEUE_DEQUEUE,\n\tfunctionToArray,\n\tsingletonEvent,\n\tAbstractUuid\n*/\n\n//=require constants.js\n//=require function/toArray.js\n//=require singleton/event.js\n//=require abstract/uuid.js\n\nfunction ClassQueue() {\n\tthis.parent.constructor.call(this);\n\n\tstorage[this.uuid] = [];\n}\n\t\nClassQueue.prototype = {\n\tenqueue: function() {\n\t\tstorage[this.uuid] = storage[this.uuid].concat(functionToArray(arguments));\n\n\t\tsingletonEvent.emit(EVENT_QUEUE_ENQUEUE, this.uuid);\n\t},\n\tdequeue: function() {\n\t\tsingletonEvent.emit(EVENT_QUEUE_DEQUEUE, this.uuid);\n\n\t\treturn storage[this.uuid].shift();\n\t},\n\tget current() {\n\t\treturn storage[this.uuid][0];\n\t},\n\tget length() {\n\t\treturn storage[this.uuid].length;\n\t}\n};\n\t\nClassQueue.extends(AbstractUuid);","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tEVENT_QUEUE_ENQUEUE, NULL,\n\tsingletonEvent,\n\tAbstractUuid\n*/\n\n//=require constants.js\n//=require abstract/uuid.js\n\nfunction ClassProcessor(queue) {\n\tvar self = this.parent.constructor.call(this),\n\t\tpointer = storage[self.uuid] = { queue: queue, current: NULL };\n\n\tdemand\n\t\t.on(EVENT_QUEUE_ENQUEUE + ':' + queue.uuid, function() {\n\t\t\t!pointer.current && self.process();\n\t\t});\n}\n\nClassProcessor.prototype = {\n\tprocess: function() {\n\t\tvar pointer = storage[this.uuid],\n\t\t\tcurrent;\n\n\t\tif(pointer.queue.length) {\n\t\t\tcurrent = pointer.current = pointer.queue.dequeue();\n\n\t\t\tcurrent.handler.process && current.handler.process(current);\n\t\t} else {\n\t\t\tpointer.current = NULL;\n\t\t}\n\t},\n\tget current() {\n\t\treturn storage[this.uuid].current;\n\t}\n};\n\t\nClassProcessor.extends(AbstractUuid);","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tregexMatchSourcemap, regexIsAbsoluteUri\n\tlinkElement\n*/\n\n//=require variables.js\n//=require shortcuts.js\n\nfunction functionResolveSourcemaps(url, source) {\n\tvar match, replacement;\n\t\n\twhile(match = regexMatchSourcemap.exec(source)) {\n\t\tlinkElement.href = url;\n\t\t\n\t\tif(regexIsAbsoluteUri.test(match[2])) {\n\t\t\treplacement = linkElement.protocol + '//' + linkElement.host + match[3];\n\t\t} else {\n\t\t\tlinkElement.pathname += '/../' + match[3];\n\t\t\t\n\t\t\treplacement = linkElement.protocol + '//' + linkElement.host + linkElement.pathname;\n\t\t}\n\t\t\n\t\tsource = source.replace(match[0], match[1] + ' ' + match[2] + '=' + replacement + '.map' + (match[4] ? ' ' + match[4] : ''));\n\t}\n\t\n\treturn source;\n}","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tDEMAND_ID,\n\tfunctionToArray\n*/\n\n//=require constants.js\n//=require function/toArray.js\n\nfunction ClassFailure(message, module, stack) {\n\tthis.message = message;\n\t\t\n\tmodule && (this.module = module);\n\tstack && (this.stack = functionToArray(stack));\n}\n\t\nClassFailure.prototype = {\n\t/* only for reference\n\t message: NULL,\n\t module: NULL,\n\t stack: NULL,\n\t */\n\ttoString: function() {\n\t\tvar self = this,\n\t\t\tresult = DEMAND_ID + ': ' + self.message + ' ' + (self.module ? '\"' + self.module + '\"' : '');\n\n\t\tif(self.stack) {\n\t\t\tresult = ClassFailure.traverse(self.stack, result, 1);\n\t\t}\n\t\t\t\n\t\treturn result;\n\t}\n};\n\t\nClassFailure.traverse = function(stack, value, depth) {\n\tvar indention = new Array(depth + 1).join(' '),\n\t\ti = 0, item;\n\t\t\n\tfor(; item = stack[i]; i++) {\n\t\tvalue += '\\n' + indention + '> ' + item.message + ' ' + (item.module ? '\"' + item.module + '\"' : '');\n\t\t\t\n\t\tif(item.stack) {\n\t\t\tvalue = ClassFailure.traverse(item.stack, value, depth + 1);\n\t\t}\n\t}\n\t\t\n\treturn value;\n};","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage\n*/\n\nvar arrayPrototype = Array.prototype,\n\tarrayPrototypeSlice = arrayPrototype.slice,\n\tarrayPrototypeConcat = arrayPrototype.concat,\n\tobject = Object,\n\tobjectPrototype = object.prototype,\n\tobjectPrototypeToString = objectPrototype.toString,\n\tobjectCreate = object.create,\n\tobjectDefineProperty = object.defineProperty,\n\tobjectGetOwnPropertyNames = object.getOwnPropertyNames,\n\tobjectGetOwnPropertyDescriptor = object.getOwnPropertyDescriptor,\n\tfunctionPrototype = Function.prototype,\n\tlinkElement = document.createElement('a');","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage\n*/\n\nvar DEMAND_ID = 'demand',\n\tPROVIDE_ID = 'provide',\n\tPATH_ID = 'path',\n\tMODULE_PREFIX = '/' + DEMAND_ID + '/',\n\tMODULE_PREFIX_ABSTRACT = MODULE_PREFIX + 'abstract/',\n\tMODULE_PREFIX_HANDLER = MODULE_PREFIX + 'handler/',\n\tMODULE_PREFIX_PLUGIN = MODULE_PREFIX + 'plugin/',\n\tMODULE_PREFIX_FUNCTION = MODULE_PREFIX + 'function/',\n\tMODULE_PREFIX_VALIDATOR = MODULE_PREFIX + 'validator/',\n\tMOCK_PREFIX = 'mock:',\n\tNULL = null,\n\tUNDEFINED = undefined,\n\tFALSE = false,\n\tTRUE = true,\n\tSTRING_UNDEFINED = 'undefined',\n\tSTRING_STRING = 'string',\n\tSTRING_BOOLEAN = 'boolean',\n\tSTRING_OBJECT = 'object',\n\tSTRING_FUNCTION = 'function',\n\tSTRING_NUMBER = 'number',\n\tFUNCTION_EMPTY = function() {},\n\tEVENT_PREFIX = 'pre',\n\tEVENT_POSTFIX = 'post',\n\tEVENT_CONFIGURE = 'Configure',\n\tEVENT_PRE_CONFIGURE = EVENT_PREFIX + EVENT_CONFIGURE,\n\tEVENT_POST_CONFIGURE = EVENT_POSTFIX + EVENT_CONFIGURE,\n\tEVENT_CACHE = 'cache',\n\tEVENT_CACHE_MISS = EVENT_CACHE + 'Miss',\n\tEVENT_CACHE_HIT = EVENT_CACHE + 'Hit',\n\tEVENT_CACHE_CLEAR = EVENT_CACHE + 'Clear',\n\tEVENT_CACHE_EXCEED = EVENT_CACHE + 'Exceed',\n\tEVENT_PRE_CACHE = EVENT_PREFIX + 'Cache',\n\tEVENT_POST_CACHE = EVENT_POSTFIX + 'Cache',\n\tEVENT_RESOLVE = 'Resolve',\n\tEVENT_PRE_RESOLVE = EVENT_PREFIX + EVENT_RESOLVE,\n\tEVENT_POST_RESOLVE = EVENT_POSTFIX + EVENT_RESOLVE,\n\tEVENT_REQUEST = 'Request',\n\tEVENT_PRE_REQUEST = EVENT_PREFIX + EVENT_REQUEST,\n\tEVENT_POST_REQUEST = EVENT_POSTFIX + EVENT_REQUEST,\n\tEVENT_PROCESS = 'Process',\n\tEVENT_PRE_PROCESS = EVENT_PREFIX + EVENT_PROCESS,\n\tEVENT_POST_PROCESS = EVENT_POSTFIX + EVENT_PROCESS,\n\tEVENT_QUEUE = 'queue',\n\tEVENT_QUEUE_ENQUEUE = EVENT_QUEUE + 'Enqueue',\n\tEVENT_QUEUE_DEQUEUE = EVENT_QUEUE + 'Dequeue',\n\tERROR_LOAD = 'error loading',\n\tERROR_PROVIDE = 'error providing',\n\tERROR_RESOLVE = 'error resolving',\n\tERROR_PROVIDE_ANONYMOUS = 'unspecified anonymous provide';","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tobjectCreate, objectDefineProperty, objectGetOwnPropertyNames, objectGetOwnPropertyDescriptor, functionPrototype,\n\tClassDescriptor\n*/\n\n//=require shortcuts.js\n//=require class/descriptor.js\n\n(function() {\n\tfunction extend(parent) {\n\t\tvar self = this,\n\t\t\tprototype = self.prototype,\n\t\t\tproperties = {},\n\t\t\tnames = objectGetOwnPropertyNames(prototype),\n\t\t\ti = 0, property;\n\n\t\tparent = parent.prototype || parent;\n\n\t\tfor(; (property = names[i]); i++) {\n\t\t\tproperties[property] = objectGetOwnPropertyDescriptor(prototype, property);\n\t\t}\n\n\t\tproperties.constructor = new ClassDescriptor(self);\n\t\tproperties.parent = new ClassDescriptor(parent);\n\n\t\tself.prototype = objectCreate(parent, properties);\n\n\t\treturn self;\n\t}\n\n\tobjectDefineProperty(functionPrototype, 'extends', new ClassDescriptor(extend));\n}());","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tUNDEFINED,\n\tvalidatorIsObject,\n\tfunctionIterate\n*/\n\n//=require constants.js\n//=require validator/isObject.js\n//=require function/iterate.js\n\n/**\n * merge\n *\n * Merge two or more objects into the first one passed in\n *\n * @param {...object} object\n *\n * @return {object}\n */\nvar functionMerge = (function() {\n\tfunction mergeProperties(property, value) {\n\t\tvar targetProperty = this[property],\n\t\t\ttargetPropertyIsObject;\n\n\t\tif(value !== UNDEFINED) {\n\t\t\tif(validatorIsObject(value)) {\n\t\t\t\ttargetPropertyIsObject = validatorIsObject(targetProperty);\n\n\t\t\t\tif(value.length !== UNDEFINED) {\n\t\t\t\t\ttargetProperty = (targetPropertyIsObject && targetProperty.length !== UNDEFINED) ? targetProperty : [];\n\t\t\t\t} else {\n\t\t\t\t\ttargetProperty = (targetPropertyIsObject && targetProperty.length === UNDEFINED) ? targetProperty : {};\n\t\t\t\t}\n\n\t\t\t\tthis[property] = functionMerge(targetProperty, value);\n\t\t\t} else {\n\t\t\t\tthis[property] = value;\n\t\t\t}\n\t\t}\n\t}\n\n\treturn function functionMerge() {\n\t\tvar target = arguments[0],\n\t\t\ti = 1, properties;\n\n\t\tfor(; (properties = arguments[i]) !== UNDEFINED; i++) {\n\t\t\tfunctionIterate(properties, mergeProperties, target);\n\t\t}\n\n\t\treturn target;\n\t};\n}());","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage\n*/\n\nvar functionUuid = (function() {\n\tvar regex = new RegExp('[xy]', 'g'),\n\t\tstorage = {};\n\n\tfunction randomize(character) {\n\t\tvar r = Math.random() * 16 | 0;\n\n\t\treturn ((character === 'x') ? r : (r & 0x3 | 0x8)).toString(16);\n\t}\n\n\treturn function functionUuid() {\n\t\tvar uuid;\n\n\t\tdo {\n\t\t\tuuid = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(regex, randomize);\n\t\t} while(storage[uuid]);\n\n\t\tstorage[uuid] = 1;\n\n\t\treturn uuid;\n\t};\n}());","/**\n * Based on setAsap:\n * Repo: https://github.com/taylorhakes/setAsap\n * License: https://github.com/taylorhakes/setAsap/blob/master/LICENSE\n */\n\n/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tNULL, TRUE, FALSE,\n\tfunctionUuid\n*/\n\n//=require constants.js\n//=require shortcuts.js\n//=require function/uuid.js\n\n/**\n * defer\n *\n * delay function execution like setImmediate does\n *\n * @param {function} function\n */\nvar functionDefer = (function() {\n\tvar hasSetImmediate = 'setImmediate' in global,\n\t\telement, fallback;\n\n\tif('MutationObserver' in global) {\n\t\treturn function functionDefer(fn) {\n\t\t\telement = document.createElement('div');\n\n\t\t\tnew MutationObserver(function() { fn(); })\n\t\t\t\t.observe(element, { attributes: TRUE });\n\n\t\t\telement.setAttribute('i', '1');\n\t\t};\n\t}\n\n\tif(!hasSetImmediate && 'postMessage' in global && !('importScripts' in global) && 'addEventListener' in global) {\n\t\treturn (function() {\n\t\t\tfunction onMessage(event) {\n\t\t\t\tif(event.source === global && event.data && storage[event.data]) {\n\t\t\t\t\tstorage[event.data]();\n\n\t\t\t\t\tdelete storage[event.data];\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tglobal.addEventListener('message', onMessage, FALSE);\n\n\t\t\treturn function functionDefer(fn) {\n\t\t\t\tvar uuid = functionUuid();\n\n\t\t\t\tstorage[uuid] = fn;\n\n\t\t\t\tglobal.postMessage(uuid, '*');\n\t\t\t};\n\t\t}());\n\t}\n\n\tif(!hasSetImmediate && 'onreadystatechange' in (element = document.createElement('script'))) {\n\t\treturn function functionDefer(fn) {\n\t\t\telement.onreadystatechange = function onreadystatechange() {\n\t\t\t\telement.onreadystatechange = NULL;\n\t\t\t\telement.parentNode.removeChild(element);\n\n\t\t\t\tfn();\n\t\t\t};\n\n\t\t\tdocument.body.appendChild(element);\n\t\t};\n\t}\n\n\t/* eslint-disable no-undef */\n\tfallback = hasSetImmediate ? setImmediate : setTimeout;\n\t/* eslint-enable no-undef */\n\n\treturn function functionDefer(fn) {\n\t\tfallback(fn);\n\t};\n}());","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tNULL, STRING_STRING, STRING_FUNCTION, EVENT_POST_CONFIGURE,\n\tvalidatorIsTypeOf,\n\tfunctionToArray\n*/\n\n//=require constants.js\n//=require validator/isTypeOf.js\n//=require function/toArray.js\n\nvar singletonEvent = (function() {\n\tvar TYPE_ON = 'on',\n\t\tTYPE_AFTER = 'after',\n\t\tregexMatchEvent = /^cache(Miss|Hit|Clear|Exceed)|queue(En|De)queue|(pre|post)(Resolve|Configure|Request|Process|Cache)$/,\n\t\tlistener = {};\n\n\tfunction addListener(type, events, callback) {\n\t\tvar event, pointer;\n\n\t\tif(validatorIsTypeOf(events, STRING_STRING) && validatorIsTypeOf(callback, STRING_FUNCTION)) {\n\t\t\tevents = events.split(' ');\n\n\t\t\twhile(event = events.shift()) {\n\t\t\t\tevent = event.split(':');\n\n\t\t\t\tif(regexMatchEvent.test(event[0])) {\n\t\t\t\t\t(listener[event[0]] || (listener[event[0]] = { on: [], after: [] }))[type].push({ callback: callback, filter: event[1] });\n\n\t\t\t\t\tif(type === TYPE_ON && event[0] === EVENT_POST_CONFIGURE && (pointer = settings.modules[event[1]])) {\n\t\t\t\t\t\tcallback(pointer);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction Event() {}\n\n\tEvent.prototype = {\n\t\temit: function (event, filter) {\n\t\t\tvar pointer = listener[event],\n\t\t\t\tparameter, i, item;\n\n\t\t\tif(pointer) {\n\t\t\t\tparameter = functionToArray(arguments, 2);\n\n\t\t\t\tfor(i = 0; (item = pointer[TYPE_ON][i]); i++) {\n\t\t\t\t\tif(!item.filter || item.filter === filter) {\n\t\t\t\t\t\titem.callback.apply(NULL, parameter);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tfor(i = 0; (item = pointer[TYPE_AFTER][i]); i++) {\n\t\t\t\t\tif(!item.filter || item.filter === filter) {\n\t\t\t\t\t\titem.callback.apply(NULL, parameter);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn this;\n\t\t},\n\t\ton: function(events, callback) {\n\t\t\taddListener(TYPE_ON, events,callback);\n\n\t\t\treturn this;\n\t\t},\n\t\tafter: function(events, callback) {\n\t\t\taddListener(TYPE_AFTER, events,callback);\n\n\t\t\treturn this;\n\t\t}\n\t};\n\n\treturn new Event();\n}());\n","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage\n*/\n\nvar functionEscapeRegex = (function() {\n\tvar regexMatchRegex = /[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g;\n\n\treturn function functionEscapeRegex(value) {\n\t\treturn value.replace(regexMatchRegex, '\\\\$&');\n\t};\n}());","/* global \n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tDEMAND_ID, PROVIDE_ID, PATH_ID,\n\tfunctionEscapeRegex, functionResolveUrl\n*/\n\n//=require constants.js\n//=require function/escapeRegex.js\n//=require function/resolveUrl.js\n\nvar regexIsAbsoluteUri = /^(http(s?):)?\\/\\//i,\n\tregexIsAbsolutePath = /^\\//,\n\tregexMatchSourcemap = /((?:\\/\\/|\\/\\*)#)\\s*(sourceMappingURL)\\s*=\\s*(?!(?:http[s]?:)?\\/\\/)(.+?)\\.map(?:\\s+)?(\\*\\/)?/g,\n\tregexMatchBaseUrl = new RegExp('^' + functionEscapeRegex(functionResolveUrl('/'))),\n\tregexMatchInternal = new RegExp('^' + DEMAND_ID + '|' + PROVIDE_ID + '|' + PATH_ID + '$'),\n\tregexMatchParameter = /^(mock:)?([+-])?((?:[-\\w]+\\/?)+)?(?:@(.+?))?(?:#(\\d+))?!/;","/* global \n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tDEMAND_ID, FUNCTION_EMPTY, EVENT_POST_REQUEST, EVENT_POST_PROCESS, EVENT_CACHE_HIT, EVENT_CACHE_MISS, EVENT_CACHE_EXCEED, EVENT_CACHE_CLEAR, EVENT_PRE_CACHE, EVENT_PRE_CACHE, EVENT_POST_CACHE, STRING_STRING, NULL, FALSE, TRUE,\n\tvalidatorIsTypeOf,\n\tfunctionGetTimestamp, functionEscapeRegex, functionIterate, functionDefer, functionResolveId, functionToArray,\n\tClassDependency,\n\tsingletonEvent\n*/\n\n//=require constants.js\n//=require validator/isTypeOf.js\n//=require function/getTimestamp.js\n//=require function/escapeRegex.js\n//=require function/iterate.js\n//=require function/defer.js\n//=require function/resolveId.js\n//=require function/toArray.js\n//=require singleton/event.js\n\nvar singletonCache = (function() {\n\tvar STORAGE_PREFIX = '[' + DEMAND_ID + ']',\n\t\tSTORAGE_SUFFIX_STATE = '[state]',\n\t\tSTORAGE_SUFFIX_VALUE = '[value]',\n\t\tregexMatchState = new RegExp('^' + functionEscapeRegex(STORAGE_PREFIX) + '\\\\[(.+?)\\\\]' + functionEscapeRegex(STORAGE_SUFFIX_STATE) + '$'),\n\t\tregexMatchProperties = /^(.+?),(\\d+),(\\d*),(.+?),(\\d+)$/,\n\t\tsupportsLocalStorage = (function() { try { return 'localStorage' in global && global.localStorage; } catch(exception) { return FALSE; } }()),\n\t\tlocalStorage = supportsLocalStorage ? global.localStorage : NULL,\n\t\tsupportsRemainingSpace = supportsLocalStorage && 'remainingSpace' in localStorage,\n\t\tstorage = {},\n\t\tcache;\n\n\tsingletonEvent\n\t\t.on(EVENT_CACHE_MISS, function(dependency) {\n\t\t\tfunctionDefer(function() {\n\t\t\t\tcache.clear.path(dependency.id);\n\t\t\t});\n\t\t})\n\t\t.on(EVENT_CACHE_EXCEED, function(dependency) {\n\t\t\tdemand('-!/' + DEMAND_ID + '/cache/dispose').then(function(cacheDispose) {\n\t\t\t\tfunctionDefer(function() {\n\t\t\t\t\tcacheDispose(dependency.source.length);\n\n\t\t\t\t\tcache.set(dependency);\n\t\t\t\t});\n\t\t\t});\n\t\t})\n\t\t.on(EVENT_POST_REQUEST, function(dependency) {\n\t\t\tif(dependency.source && enabled(dependency)) {\n\t\t\t\tstorage[dependency.id] = TRUE;\n\t\t\t}\n\t\t})\n\t\t.after(EVENT_POST_PROCESS, function(dependency) {\n\t\t\tif(storage[dependency.id]) {\n\t\t\t\tfunctionDefer(function() {\n\t\t\t\t\tcache.set(dependency);\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\n\tfunction enabled(dependency) {\n\t\tvar match;\n\n\t\tif(dependency.cache !== NULL) {\n\t\t\treturn dependency.cache;\n\t\t}\n\n\t\tfunctionIterate(settings.cache, function(property, value) {\n\t\t\tif(dependency.path.indexOf(property) === 0 && (!match || value.weight > match.weight)) {\n\t\t\t\tmatch = value;\n\t\t\t}\n\t\t});\n\n\t\treturn match ? match.state : FALSE;\n\t}\n\t\n\tfunction getKey(key) {\n\t\treturn localStorage.getItem(key);\n\t}\n\t\n\tfunction setKey(key, value) {\n\t\tlocalStorage[value ? 'setItem' : 'removeItem'](key, value);\n\t}\n\t\n\tfunction getState(key) {\n\t\tvar state = getKey(key),\n\t\t\tmatches;\n\n\t\tif(state && (matches = state.match(regexMatchProperties))) {\n\t\t\treturn functionToArray(matches, 1);\n\t\t}\n\t}\n\t\n\tfunction setState(key, state) {\n\t\tstate[4] = functionGetTimestamp();\n\n\t\tsetKey(key, state.join(','));\n\t}\n\n\tfunction emit(event, dependency, state) {\n\t\tsingletonEvent.emit(event, dependency.id, dependency, state);\n\t}\n\n\tfunction Cache() {\n\t\tfunctionDefer(this.clear.expired.bind(this.clear));\n\t}\n\n\tCache.prototype = {\n\t\tget: supportsLocalStorage ? function(dependency) {\n\t\t\t\t\t\t\t\t\t\t\tvar id, state;\n\n\t\t\t\t\t\t\t\t\t\t\tif(enabled(dependency)) {\n\t\t\t\t\t\t\t\t\t\t\t\tid = STORAGE_PREFIX + '[' + dependency.id + ']';\n\t\t\t\t\t\t\t\t\t\t\t\tstate = getState(id + STORAGE_SUFFIX_STATE);\n\n\t\t\t\t\t\t\t\t\t\t\t\tif(state && state[0] === dependency.version && ((!state[2] && !dependency.lifetime) || state[2] > functionGetTimestamp())) {\n\t\t\t\t\t\t\t\t\t\t\t\t\tdependency.source = getKey(id + STORAGE_SUFFIX_VALUE);\n\n\t\t\t\t\t\t\t\t\t\t\t\t\tfunctionDefer(function() {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetState(id + STORAGE_SUFFIX_STATE, state);\n\t\t\t\t\t\t\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\t\t\t\t\t\t\treturn TRUE;\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t} : FUNCTION_EMPTY,\n\t\tresolve: supportsLocalStorage ? function(dependency) {\n\t\t\t\t\t\t\t\t\t\t\tvar self = this;\n\n\t\t\t\t\t\t\t\t\t\t\tif(self.get(dependency)) {\n\t\t\t\t\t\t\t\t\t\t\t\temit(EVENT_CACHE_HIT, dependency);\n\t\t\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t\t\temit(EVENT_CACHE_MISS, dependency);\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t} : function(dependency) { emit(EVENT_CACHE_MISS, dependency); },\n\t\tset: supportsLocalStorage ? function(dependency) {\n\t\t\t\t\t\t\t\t\t\t\tvar state, id, spaceBefore;\n\n\t\t\t\t\t\t\t\t\t\t\tif(enabled(dependency)) {\n\t\t\t\t\t\t\t\t\t\t\t\tstate = [ dependency.version, dependency.source.length, dependency.lifetime ? functionGetTimestamp() + dependency.lifetime : NULL, demand.version ];\n\t\t\t\t\t\t\t\t\t\t\t\tid = STORAGE_PREFIX + '[' + dependency.id + ']';\n\n\t\t\t\t\t\t\t\t\t\t\t\temit(EVENT_PRE_CACHE, dependency, state);\n\n\t\t\t\t\t\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\t\t\t\t\t\tspaceBefore = supportsRemainingSpace ? localStorage.remainingSpace : NULL;\n\n\t\t\t\t\t\t\t\t\t\t\t\t\tsetKey(id + STORAGE_SUFFIX_VALUE, dependency.source);\n\t\t\t\t\t\t\t\t\t\t\t\t\tsetState(id + STORAGE_SUFFIX_STATE, state);\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t// strict equality check with \"===\" is required due to spaceBefore might be \"0\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tif(spaceBefore !== NULL && localStorage.remainingSpace === spaceBefore) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tthrow new Error();\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\t\t\t\temit(EVENT_POST_CACHE, dependency, state);\n\t\t\t\t\t\t\t\t\t\t\t\t} catch(error) {\n\t\t\t\t\t\t\t\t\t\t\t\t\temit(EVENT_CACHE_EXCEED, dependency);\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t} : FUNCTION_EMPTY,\n\t\tclear: {\n\t\t\tpath: supportsLocalStorage ? function(path) {\n\t\t\t\t\t\t\t\t\t\t\t\tvar id = functionResolveId(path),\n\t\t\t\t\t\t\t\t\t\t\t\t\tkey = STORAGE_PREFIX + '[' + id + ']';\n\n\t\t\t\t\t\t\t\t\t\t\t\tif(getKey(key + STORAGE_SUFFIX_STATE)) {\n\t\t\t\t\t\t\t\t\t\t\t\t\tsetKey(key + STORAGE_SUFFIX_STATE);\n\t\t\t\t\t\t\t\t\t\t\t\t\tsetKey(key + STORAGE_SUFFIX_VALUE);\n\n\t\t\t\t\t\t\t\t\t\t\t\t\temit(EVENT_CACHE_CLEAR, ClassDependency.get(id) || new ClassDependency(id, NULL, FALSE));\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t} : FUNCTION_EMPTY,\n\t\t\tall: supportsLocalStorage ? function() {\n\t\t\t\t\t\t\t\t\t\t\t\tvar match;\n\n\t\t\t\t\t\t\t\t\t\t\t\tfunctionIterate(localStorage, function(property) {\n\t\t\t\t\t\t\t\t\t\t\t\t\tmatch = property.match(regexMatchState);\n\n\t\t\t\t\t\t\t\t\t\t\t\t\tmatch && this.path(match[1]);\n\t\t\t\t\t\t\t\t\t\t\t\t}, this);\n\t\t\t\t\t\t\t\t\t\t\t} : FUNCTION_EMPTY,\n\t\t\texpired: supportsLocalStorage ? function() {\n\t\t\t\t\t\t\t\t\t\t\t\tvar self = this,\n\t\t\t\t\t\t\t\t\t\t\t\t\tmatch, state;\n\n\t\t\t\t\t\t\t\t\t\t\t\tfunctionIterate(localStorage, function(property) {\n\t\t\t\t\t\t\t\t\t\t\t\t\tmatch = property.match(regexMatchState);\n\n\t\t\t\t\t\t\t\t\t\t\t\t\tif(match) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tstate = getState(STORAGE_PREFIX + '[' + match[1] + ']' + STORAGE_SUFFIX_STATE);\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tif(state && state[2] > 0 && state[2] <= functionGetTimestamp()) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tself.path(match[1]);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t}, this);\n\t\t\t\t\t\t\t\t\t\t\t} : FUNCTION_EMPTY\n\t\t}\n\t};\n\n\treturn (cache = new Cache());\n}());","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n \tFUNCTION_EMPTY, NULL,\n\tarrayPrototypeConcat,\n\tfunctionDefer, functionUuid, functionToArray,\n\tAbstractUuid\n*/\n\n//=require constants.js\n//=require shortcuts.js\n//=require function/defer.js\n//=require function/uuid.js\n//=require function/toArray.js\n//=require abstract/uuid.js\n\nvar ClassPledge = (function() {\n\tvar PLEDGE_PENDING = 'pending',\n\t\tPLEDGE_RESOLVED = 'resolved',\n\t\tPLEDGE_REJECTED = 'rejected',\n\t\tstorage = {};\n\n\tfunction resolve() {\n\t\tstorage[this.uuid].handle(PLEDGE_RESOLVED, arguments);\n\t}\n\n\tfunction reject() {\n\t\tstorage[this.uuid].handle(PLEDGE_REJECTED, arguments);\n\t}\n\n\tfunction handle(state, parameter) {\n\t\tvar properties = storage[this.uuid],\n\t\t\tpointer, result;\n\n\t\tif(properties.state === PLEDGE_PENDING) {\n\t\t\tproperties.state = state;\n\t\t\tproperties.value = parameter;\n\t\t}\n\n\t\twhile(pointer = properties[properties.state].shift()) {\n\t\t\tresult = pointer.handler.apply(NULL, properties.value);\n\n\t\t\tif(result && typeof result.then === 'function') {\n\t\t\t\tresult.then(pointer.dfd.resolve, pointer.dfd.reject);\n\t\t\t} else {\n\t\t\t\tpointer.dfd[properties.state === PLEDGE_RESOLVED ? 'resolve' : 'reject'].apply(NULL, properties.value);\n\t\t\t}\n\t\t}\n\n\t\tproperties[PLEDGE_RESOLVED].length = 0;\n\t\tproperties[PLEDGE_REJECTED].length = 0;\n\t}\n\n\tfunction observe(pledge, index, properties) {\n\t\tpledge.then(\n\t\t\tfunction() {\n\t\t\t\tproperties.resolved[index] = functionToArray(arguments);\n\n\t\t\t\tproperties.count++;\n\n\t\t\t\tcheck(properties);\n\t\t\t},\n\t\t\tfunction() {\n\t\t\t\tproperties.rejected.push(functionToArray(arguments));\n\n\t\t\t\tcheck(properties);\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction check(properties) {\n\t\tif(properties.count === properties.total) {\n\t\t\tproperties.dfd.resolve.apply(NULL, arrayPrototypeConcat.apply([], properties.resolved));\n\t\t} else if(properties.rejected.length + properties.count === properties.total) {\n\t\t\tproperties.dfd.reject.apply(NULL, arrayPrototypeConcat.apply([], properties.rejected));\n\t\t}\n\t}\n\n\tfunction ClassPledge(executor) {\n\t\tvar self = this.parent.constructor.call(this);\n\n\t\tstorage[self.uuid] = { state: PLEDGE_PENDING, handle: handle.bind(self), value: NULL, resolved: [], rejected: [], count: 0 };\n\n\t\texecutor(resolve.bind(self), reject.bind(self));\n\t}\n\n\tClassPledge.prototype = {\n\t\t'catch': function(listener) {\n\t\t\treturn this.then(FUNCTION_EMPTY, listener);\n\t\t},\n\t\talways: function(alwaysListener) {\n\t\t\treturn this.then(alwaysListener, alwaysListener);\n\t\t},\n\t\tthen: function(resolveListener, rejectListener) {\n\t\t\tvar properties = storage[this.uuid],\n\t\t\t\tdfd = ClassPledge.defer();\n\n\t\t\tresolveListener && properties[PLEDGE_RESOLVED].push({ handler: resolveListener, dfd: dfd });\n\t\t\trejectListener && properties[PLEDGE_REJECTED].push({ handler: rejectListener, dfd: dfd });\n\n\t\t\tif(properties.state !== PLEDGE_PENDING) {\n\t\t\t\tfunctionDefer(properties.handle);\n\t\t\t}\n\n\t\t\treturn dfd.pledge;\n\t\t},\n\t\tisPending: function() {\n\t\t\treturn storage[this.uuid].state === PLEDGE_PENDING;\n\t\t},\n\t\tisResolved: function() {\n\t\t\treturn storage[this.uuid].state === PLEDGE_RESOLVED;\n\t\t},\n\t\tisRejected: function() {\n\t\t\treturn storage[this.uuid].state === PLEDGE_REJECTED;\n\t\t}\n\t};\n\n\tClassPledge.defer = function() {\n\t\tvar self = {};\n\n\t\tself.pledge = new ClassPledge(function(resolveListener, rejectListener) {\n\t\t\tself.resolve = resolveListener;\n\t\t\tself.reject = rejectListener;\n\t\t});\n\n\t\treturn self;\n\t};\n\n\tClassPledge.all = function(pledges) {\n\t\tvar dfd = ClassPledge.defer(),\n\t\t\tproperties, i = 0, pledge;\n\t\t\n\t\tif(pledges.length) {\n\t\t\tproperties = (storage[functionUuid()] = { dfd: dfd, resolved: [], rejected: [], total: pledges.length, count: 0 })\n\t\t\t\n\t\t\tfor(; pledge = pledges[i]; i++) {\n\t\t\t\tobserve(pledge, i, properties)\n\t\t\t}\n\t\t} else {\n\t\t\tdfd.resolve();\n\t\t}\n\n\t\treturn dfd.pledge;\n\t};\n\n\tClassPledge.race = function(pledges) {\n\t\tvar dfd = ClassPledge.defer(),\n\t\t\ti = 0, pledge;\n\n\t\tfor(; pledge = pledges[i]; i++) {\n\t\t\tpledge.then(dfd.resolve, dfd.reject);\n\t\t}\n\t\t\n\t\tif(!pledges.length) {\n\t\t\tdfd.resolve();\n\t\t}\n\n\t\treturn dfd.pledge;\n\t};\n\n\treturn ClassPledge.extends(AbstractUuid);\n}());","/* global \n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tDEMAND_ID, MODULE_PREFIX_HANDLER, ERROR_LOAD, DEMAND_ID, PROVIDE_ID, PATH_ID, MOCK_PREFIX, NULL, TRUE, FALSE,\n\tobject,\n\tregexMatchInternal, regexMatchParameter,\n\tvalidatorIsPositive,\n\tfunctionResolvePath, functionResolveId, functionResolveUrl, functionIterate, functionToArray,\n\tClassRegistry, ClassPledge, ClassFailure,\n\tsingletonCache\n*/\n\n//=require constants.js\n//=require shortcuts.js\n//=require variables.js\n//=require validator/isPositive.js\n//=require function/resolvePath.js\n//=require function/resolveId.js\n//=require function/resolveUrl.js\n//=require function/iterate.js\n//=require function/toArray.js\n//=require class/registry.js\n//=require class/pledge.js\n//=require class/failure.js\n//=require singleton/cache.js\n\nvar ClassDependency = (function() {\n\tvar PREFIX_INTERNAL = 'internal!',\n\t\tregistry = new ClassRegistry(),\n\t\tplaceholder = [];\n\n\tfunction setProperty(property, value) {\n\t\tthis[property] = value;\n\t}\n\n\tfunction addPending(id, dependency) {\n\t\tif(dependency.pledge.isPending()) {\n\t\t\tthis.push(id);\n\t\t}\n\t}\n\n\tfunction addResolved(id, dependency) {\n\t\tif(dependency.pledge.isResolved()) {\n\t\t\tthis.push(id);\n\t\t}\n\t}\n\n\tfunction addRejected(id, dependency) {\n\t\tif(dependency.pledge.isRejected()) {\n\t\t\tthis.push(id);\n\t\t}\n\t}\n\n\tfunction ClassDependency(uri, context, register) {\n\t\tvar self = this,\n\t\t\tparameter = uri.match(regexMatchParameter) || placeholder;\n\n\t\tself.path = functionResolvePath(uri, context);\n\t\tself.mock = parameter[1] ? TRUE : FALSE;\n\t\tself.cache = parameter[2] ? parameter[1] === '+' : NULL;\n\t\tself.type = parameter[3] || settings.handler;\n\t\tself.version = parameter[4] || settings.version;\n\t\tself.lifetime = (parameter[5] && parameter[5] * 1000) || settings.lifetime;\n\t\tself.id = (self.mock ? MOCK_PREFIX : '' ) + self.type + '!' + self.path;\n\t\tself.uri = (self.mock ? MOCK_PREFIX : '' ) + self.type + '@' + self.version + (validatorIsPositive(self.lifetime) && self.lifetime > 0 ? '#' + self.lifetime : '' ) + '!' + self.path;\n\t\tself.dfd = ClassPledge.defer();\n\t\tself.pledge = self.dfd.pledge;\n\t\t\n\t\tself.pledge.then(function() {\n\t\t\tself.value = functionToArray(arguments);\n\t\t});\n\n\t\t(register !== FALSE) && registry.set(self.id, self);\n\n\t\treturn self;\n\t}\n\n\tClassDependency.prototype = {\n\t\tenqueue: true // handled by handler\n\t\t/* only for reference\n\t \tpath: NULL,\n\t \tmock: NULL,\n\t\tcache: NULL,\n\t\ttype: NULL,\n\t\tversion: NULL,\n\t\tlifetime: NULL,\n\t \tid: NULL,\n\t \turi: NULL,\n\t\tdfd: NULL,\n\t\tpledge: NULL,\n\t\tvalue: NULL,\n\t\thandler: NULL, // set by Dependency.resolve\n\t \tsource: NULL, // set by Cache or Loader\n\t \turl: NULL // optional, set by Loader\n\t\t*/\n\t};\n\n\tClassDependency.get = function(uri, context) {\n\t\treturn registry.get(functionResolveId(uri, context));\n\t};\n\n\tClassDependency.resolve = function(uri, context) {\n\t\tvar isInternal = context && regexMatchInternal.test(uri),\n\t\t\tdependency = isInternal ? this.get(PREFIX_INTERNAL + context + '/' + uri) : this.get(uri, context),\n\t\t\tvalue;\n\n\t\tif(!dependency) {\n\t\t\tif(isInternal) {\n\t\t\t\tdependency = new ClassDependency(PREFIX_INTERNAL + context + '/' + uri);\n\n\t\t\t\tswitch(uri) {\n\t\t\t\t\tcase DEMAND_ID:\n\t\t\t\t\t\tvalue = (function() {\n\t\t\t\t\t\t\treturn functionIterate(demand, setProperty, demand.bind(context));\n\t\t\t\t\t\t}());\n\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase PROVIDE_ID:\n\t\t\t\t\t\tvalue = provide.bind(context);\n\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase PATH_ID:\n\t\t\t\t\t\tvalue = context;\n\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tdependency.dfd.resolve(value);\n\t\t\t} else {\n\t\t\t\tdependency = new ClassDependency(uri, context);\n\n\t\t\t\tdemand(MODULE_PREFIX_HANDLER + dependency.type)\n\t\t\t\t\t.then(\n\t\t\t\t\t\tfunction(handler) {\n\t\t\t\t\t\t\tdependency.handler = handler;\n\n\t\t\t\t\t\t\tif(dependency.mock) {\n\t\t\t\t\t\t\t\tdependency.dfd.resolve(handler);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tsingletonCache.resolve(dependency);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\tfunction() {\n\t\t\t\t\t\t\tdependency.dfd.reject(new ClassFailure(ERROR_LOAD + ' (handler)', self.id));\n\t\t\t\t\t\t}\n\t\t\t\t\t)\n\t\t\t}\n\t\t}\n\n\t\treturn dependency;\n\t};\n\n\tClassDependency.remove = function(uri, context, cache) {\n\t\tvar id = functionResolveId(uri, context),\n\t\t\tnode = document.querySelector('[' + DEMAND_ID + '-id=\"' + id + '\"]');\n\n\t\tregistry.remove(id);\n\t\tregistry.remove(MOCK_PREFIX + id);\n\n\t\tnode && node.parentNode.removeChild(node);\n\n\t\t(cache !== FALSE) && singletonCache.clear.path(id);\n\t};\n\n\tClassDependency.list = {\n\t\tall: function() {\n\t\t\treturn object.keys(registry.get());\n\t\t},\n\t\tpending: function() {\n\t\t\treturn functionIterate(registry.get(), addPending, []);\n\t\t},\n\t\tresolved: function() {\n\t\t\treturn functionIterate(registry.get(), addResolved, []);\n\t\t},\n\t\trejected: function() {\n\t\t\treturn functionIterate(registry.get(), addRejected, []);\n\t\t}\n\t};\n\n\treturn ClassDependency;\n}());","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tfunctionResolveUrl, functionEscapeRegex, functionIterate\n*/\n\n//=require function/resolveUrl.js\n//=require function/escapeRegex.js\n//=require function/iterate.js\n\nvar ClassPattern = (function() {\n\tvar regexMatchTrailingSlash = /(.+)\\/$/;\n\n\tfunction setProperty(property, value) {\n\t\tthis[property] = {\n\t\t\turl: functionResolveUrl(value).replace(regexMatchTrailingSlash, '$1'),\n\t\t\tmatch: new RegExp('^' + functionEscapeRegex(value))\n\t\t};\n\t}\n\n\tfunction ClassPattern(pattern, url) {\n\t\tvar self = this;\n\n\t\tself.weight = pattern.length;\n\t\tself.match = new RegExp('^' + functionEscapeRegex(pattern));\n\t\tself.location = [].concat(url);\n\n\t\tfunctionIterate(self.location, setProperty, self.location);\n\t}\n\n\tClassPattern.prototype = {\n\t\t/* only for reference\n\t\t weight: 0,\n\t\t match: NULL,\n\t\t location: NULL,\n\t\t */\n\t\tmatches: function(path) {\n\t\t\treturn this.match.test(path);\n\t\t},\n\t\tprocess: function(path, index) {\n\t\t\tvar current = this.location[index];\n\n\t\t\tif(current) {\n\t\t\t\treturn path.replace(this.match, current.url);\n\t\t\t}\n\t\t}\n\t};\n\n\treturn ClassPattern;\n}());","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tTRUE,\n\tregexMatchBaseUrl,\n\tClassPledge\n*/\n\n//=require constants.js\n//=require shortcuts.js\n//=require variables.js\n//=require class/pledge.js\n\nvar ClassXhr = (function(XMLHttpRequest) {\n\tvar XDomainRequest = 'XDomainRequest' in global && global.XDomainRequest || XMLHttpRequest;\n\t\n\tfunction checkState() {\n\t\tif(this.readyState < 4) {\n\t\t\tthis.abort();\n\t\t}\n\t}\n\t\n\treturn function ClassXhr(url) {\n\t\tvar dfd = ClassPledge.defer(),\n\t\t\txhr = regexMatchBaseUrl.test(url) ? new XMLHttpRequest() : new XDomainRequest(),\n\t\t\tboundCheckState = checkState.bind(xhr),\n\t\t\ttimeout = settings.timeout,\n\t\t\tpointer;\n\n\t\txhr.ontimeout = xhr.onerror = xhr.onabort = function() {\n\t\t\tdfd.reject(xhr.status);\n\t\t};\n\t\txhr.onprogress = xhr.onreadystatechange = function() {\n\t\t\tclearTimeout(pointer);\n\n\t\t\tpointer = setTimeout(boundCheckState, timeout);\n\t\t};\n\t\txhr.onload = function() {\n\t\t\tpointer = clearTimeout(pointer);\n\n\t\t\tif(!('status' in xhr) || xhr.status === 200) {\n\t\t\t\tdfd.resolve(xhr.responseText, xhr.getResponseHeader && xhr.getResponseHeader('content-type'));\n\t\t\t} else {\n\t\t\t\tdfd.reject(xhr.status);\n\t\t\t}\n\t\t};\n\n\t\txhr.open('GET', url, TRUE);\n\t\txhr.send();\n\t\t\n\t\tpointer = setTimeout(boundCheckState, timeout);\n\t\t\n\t\treturn dfd.pledge;\n\t};\n}(XMLHttpRequest));","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tSTRING_BOOLEAN, STRING_STRING, EVENT_PRE_RESOLVE, EVENT_POST_RESOLVE, EVENT_PRE_CONFIGURE, EVENT_POST_CONFIGURE, EVENT_CACHE_MISS, EVENT_CACHE_HIT, EVENT_PRE_REQUEST, EVENT_POST_REQUEST, EVENT_PRE_PROCESS, EVENT_POST_PROCESS, NULL, FALSE,\n\tvalidatorIsTypeOf, validatorIsObject, validatorIsPositive, validatorIsInstanceOf,\n\tfunctionIterate, functionMerge, functionDefer, functionToArray,\n\tClassPledge, ClassDependency, ClassPattern, ClassLoader, \n\tsingletonEvent, singletonCache\n*/\n\n//=require constants.js\n//=require validator/isTypeOf.js\n//=require validator/isObject.js\n//=require validator/isPositive.js\n//=require validator/isInstanceOf.js\n//=require function/iterate.js\n//=require function/merge.js\n//=require function/defer.js\n//=require function/toArray.js\n//=require singleton/event.js\n//=require singleton/cache.js\n//=require class/pledge.js\n//=require class/dependency.js\n//=require class/pattern.js\n//=require class/loader.js\n\nglobal.demand = (function() {\n\tfunction updateCacheSettings(property, value) {\n\t\tthis[property] = { weight: property.length, state: value };\n\t}\n\n\tfunction updatePatternSettings(property, value) {\n\t\tproperty !== 'base' && (this[property] = new ClassPattern(property, value));\n\t}\n\n\tfunction updateModuleSettings(property, value) {\n\t\tvar temp = this[property] = this[property] || {};\n\n\t\tsingletonEvent.emit(EVENT_PRE_CONFIGURE, property, temp);\n\n\t\tfunctionMerge(temp, value);\n\n\t\tsingletonEvent.emit(EVENT_POST_CONFIGURE, property, temp);\n\t}\n\n\tfunction demand() {\n\t\tvar dependencies = functionToArray(arguments),\n\t\t\tcontext = this !== global ? this : NULL,\n\t\t\ti = 0, uri, dfd, result;\n\t\t\n\t\tsingletonEvent.emit(EVENT_PRE_RESOLVE, NULL, dependencies, context);\n\t\t\n\t\tfor(; (uri = dependencies[i]); i++) {\n\t\t\tif(validatorIsTypeOf(uri, STRING_STRING)) {\n\t\t\t\tdependencies[i] = ClassDependency.resolve(uri, context).pledge;\n\t\t\t} else {\n\t\t\t\tdependencies[i] = (dfd = ClassPledge.defer()).pledge;\n\n\t\t\t\tdfd.resolve(uri);\n\t\t\t}\n\t\t}\n\t\t\n\t\tif(dependencies.length > 1) {\n\t\t\tresult = ClassPledge.all(dependencies);\n\t\t} else {\n\t\t\tresult = dependencies[0];\n\t\t}\n\t\t\n\t\treturn result.always(function() {\n\t\t\tsingletonEvent.emit(EVENT_POST_RESOLVE, NULL, dependencies, context);\n\t\t});\n\t}\n\n\tdemand.configure = function(options) {\n\t\tvar cache = options.cache,\n\t\t\tversion = options.version,\n\t\t\ttimeout = options.timeout,\n\t\t\tlifetime = options.lifetime,\n\t\t\tbase = options.base,\n\t\t\tpattern = options.pattern,\n\t\t\tmodules = options.modules,\n\t\t\tpointer = settings.modules;\n\n\t\tif(validatorIsTypeOf(cache, STRING_BOOLEAN)) {\n\t\t\tsettings.cache[''] = { weight: 0, state: cache };\n\t\t} else if(validatorIsObject(cache)) {\n\t\t\tfunctionIterate(cache, updateCacheSettings, settings.cache);\n\t\t}\n\n\t\tif(validatorIsTypeOf(version, STRING_STRING)) {\n\t\t\tsettings.version = version;\n\t\t}\n\n\t\tif(validatorIsPositive(timeout)) {\n\t\t\tsettings.timeout = Math.min(Math.max(timeout, 2), 12) * 1000;\n\t\t}\n\n\t\tif(validatorIsPositive(lifetime) && lifetime > 0) {\n\t\t\tsettings.lifetime = lifetime * 1000;\n\t\t}\n\n\t\tif(validatorIsTypeOf(base, STRING_STRING) && base !== '') {\n\t\t\tsettings.pattern.base = new ClassPattern('', base);\n\t\t}\n\n\t\tif(validatorIsObject(pattern)) {\n\t\t\tfunctionIterate(pattern, updatePatternSettings, settings.pattern);\n\t\t}\n\n\t\tif(validatorIsObject(modules)) {\n\t\t\tfunctionIterate(modules, updateModuleSettings, pointer);\n\t\t}\n\n\t\treturn demand;\n\t};\n\n\tdemand.version = '{{gulp:package.version}}';\n\tdemand.on = singletonEvent.on.bind(demand);\n\tdemand.get = function(uri, context) { var dependency = ClassDependency.get(uri, context); return dependency && dependency.value; };\n\tdemand.remove = ClassDependency.remove;\n\tdemand.list = ClassDependency.list;\n\tdemand.clear = singletonCache.clear;\n\n\tsingletonEvent\n\t\t.after(EVENT_CACHE_MISS, function(dependency) {\n\t\t\tnew ClassLoader(dependency);\n\t\t})\n\t\t.after(EVENT_CACHE_HIT + ' ' + EVENT_POST_REQUEST, function(dependency) {\n\t\t\tsingletonEvent.emit(EVENT_PRE_PROCESS, dependency.id, dependency);\n\t\t})\n\t\t.after(EVENT_PRE_REQUEST, function(dependency) {\n\t\t\tvar pointer = dependency.handler.onPreRequest;\n\t\n\t\t\tpointer && pointer(dependency);\n\t\t})\n\t\t.after(EVENT_POST_REQUEST, function(dependency) {\n\t\t\tvar pointer = dependency.handler.onPostRequest;\n\t\n\t\t\tpointer && pointer(dependency);\n\t\t})\n\t\t.after(EVENT_PRE_PROCESS, function(dependency) {\n\t\t\tvar pointer = dependency.handler.onPreProcess;\n\t\t\t\n\t\t\tpointer && pointer(dependency);\n\t\t\t\n\t\t\tdependency.pledge.then(function() {\n\t\t\t\tsingletonEvent.emit(EVENT_POST_PROCESS, dependency.id, dependency);\n\t\t\t});\n\n\t\t\tif(dependency.enqueue === true) {\n\t\t\t\tqueue.enqueue(dependency);\n\t\t\t} else if(validatorIsInstanceOf(dependency.enqueue, ClassPledge)) {\n\t\t\t\tdependency.enqueue.then(function() { queue.enqueue(dependency); });\n\t\t\t}\n\t\t});\n\n\treturn demand;\n}());","/* global \n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tSTRING_STRING, STRING_UNDEFINED, STRING_FUNCTION, ERROR_PROVIDE, ERROR_PROVIDE_ANONYMOUS, NULL,\n\tvalidatorIsTypeOf, validatorIsArray,\n\tClassDependency, ClassFailure\n*/\n\n//=require constants.js\n//=require validator/isTypeOf.js\n//=require validator/isArray.js\n//=require class/dependency.js\n//=require class/failure.js\n\nglobal.provide = function provide() {\n\tvar uri = validatorIsTypeOf(arguments[0], STRING_STRING) ? arguments[0] : NULL,\n\t\tcontext = this !== global ? this : NULL,\n\t\tdependencies = validatorIsArray(arguments[uri ? 1 : 0]) ? arguments[uri ? 1 : 0] : NULL,\n\t\tdefinition = dependencies ? arguments[uri ? 2 : 1] : arguments[uri ? 1 : 0],\n\t\tmodule, isFunction;\n\n\tif(!uri && processor.current) {\n\t\tmodule = processor.current;\n\t\turi = module.uri;\n\n\t\tprocessor.process();\n\t}\n\t\n\tif(uri) {\n\t\tmodule = module || new ClassDependency(uri, context);\n\t\tisFunction = validatorIsTypeOf(definition, STRING_FUNCTION);\n\n\t\tif(dependencies) {\n\t\t\tdemand\n\t\t\t\t.apply(module.path, dependencies)\n\t\t\t\t.then(\n\t\t\t\t\tfunction() { module.dfd.resolve(isFunction ? definition.apply(NULL, arguments) : definition); },\n\t\t\t\t\tfunction() { module.dfd.reject(new ClassFailure(ERROR_PROVIDE, module.id, arguments)); }\n\t\t\t\t);\n\t\t} else {\n\t\t\tmodule.dfd.resolve(isFunction ? definition() : definition);\n\t\t}\n\t} else {\n\t\t/* eslint-disable no-console */\n\t\t!validatorIsTypeOf(console, STRING_UNDEFINED) && console.error(new ClassFailure(ERROR_PROVIDE_ANONYMOUS));\n\t\t/* eslint-enable no-console */\n\t}\n};","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tNULL\n*/\n\n//=require constants.js\n\nvar abstractHandler = (function() {\n\tfunction AbstractHandler() {\n\n\t}\n\n\tAbstractHandler.prototype = {\n\t\tvalidate: NULL,\n\t\tonPreRequest: NULL,\n\t\tonPostRequest: NULL,\n\t\tonPreProcess: NULL,\n\t\tprocess: NULL\n\t};\n\n\treturn new AbstractHandler();\n}());","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tDEMAND_ID, EVENT_PRE_REQUEST, EVENT_POST_REQUEST, TRUE,\n\tfunctionResolveSourcemaps,\n\tabstractHandler\n*/\n\n//=require constants.js\n//=require function/resolveSourcemaps.js\n//=require abstract/handler.js\n\nvar handlerModule = (function() {\n\tvar suffix = '.js',\n\t\ttarget = document.getElementsByTagName('head')[0],\n\t\tregexMatchType = /^(application|text)\\/(x-)?javascript/;\n\n\tfunction HandlerModule() {}\n\n\tHandlerModule.prototype = {\n\t\tvalidate: function(type) {\n\t\t\treturn regexMatchType.test(type);\n\t\t},\n\t\tonPreRequest: function(dependency) {\n\t\t\tvar pathname = dependency.url.pathname;\n\t\t\t\n\t\t\tdependency.url.pathname = pathname.slice(-suffix.length) !== suffix ? pathname + suffix : pathname;\n\t\t},\n\t\tonPostRequest: function(dependency) {\n\t\t\tdependency.source = functionResolveSourcemaps(dependency.url, dependency.source);\n\t\t},\n\t\tprocess: function(dependency) {\n\t\t\tvar script;\n\n\t\t\tif(dependency.source) {\n\t\t\t\tscript = document.createElement('script');\n\t\t\t\tscript.async = TRUE;\n\t\t\t\tscript.text = dependency.source;\n\n\t\t\t\tscript.setAttribute(DEMAND_ID + '-id', dependency.id);\n\n\t\t\t\ttarget.appendChild(script);\n\t\t\t}\n\t\t}\n\t};\n\n\treturn new (HandlerModule.extends(abstractHandler));\n}());","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tMODULE_PREFIX_HANDLER, EVENT_POST_CONFIGURE, ERROR_RESOLVE, MOCK_PREFIX, STRING_STRING, FALSE, TRUE,\n\tregexMatchParameter, regexMatchSourcemap,\n\tvalidatorIsTypeOf, validatorIsObject,\n\tfunctionIterate, functionResolveId,\n\tabstractHandler,\n\tClassDependency, ClassPledge, ClassFailure,\n\thandlerModule\n*/\n\n//=require constants.js\n//=require variables.js\n//=require validator/isTypeOf.js\n//=require validator/isObject.js\n//=require function/iterate.js\n//=require function/resolveId.js\n//=require abstract/handler.js\n//=require class/dependency.js\n//=require class/pledge.js\n//=require class/Failure.js\n//=require handler/module.js\n\nvar handlerBundle = (function() {\n\tvar path = MODULE_PREFIX_HANDLER + 'bundle',\n\t\tsettings = {};\n\n\tdemand\n\t\t.on(EVENT_POST_CONFIGURE + ':' + path, function(options) {\n\t\t\tif(validatorIsObject(options)) {\n\t\t\t\tsettings = options;\n\n\t\t\t\tfunctionIterate(settings, updateDependencies);\n\t\t\t}\n\t\t});\n\n\tfunction updateDependencies(uri, dependencies) {\n\t\tvar i, dependency;\n\n\t\tfor(i = 0; (dependency = dependencies[i]); i++) {\n\t\t\tif(validatorIsTypeOf(dependency, STRING_STRING)) {\n\t\t\t\tdependencies[i] = functionResolveId(dependency);\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction getType(dependencies) {\n\t\tvar type, i = 0, temp;\n\n\t\tfor(; (temp = dependencies[i]); i++) {\n\t\t\ttemp = temp.match(regexMatchParameter);\n\t\t\ttemp = (temp && temp[3]) || settings.handler;\n\n\t\t\tif(type) {\n\t\t\t\tif(temp !== type) {\n\t\t\t\t\treturn FALSE;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\ttype = temp;\n\t\t\t}\n\t\t}\n\n\t\treturn type;\n\t}\n\n\tfunction HandlerBundle() {}\n\n\tHandlerBundle.prototype = {\n\t\tvalidate: handlerModule.validate,\n\t\tonPreProcess: function(dependency) {\n\t\t\tvar source = dependency.source,\n\t\t\t\tdfd = dependency.dfd,\n\t\t\t\tdependencies = settings[dependency.path],\n\t\t\t\ttype, match, pledges, temp, i;\n\n\t\t\tdependency.enqueue = FALSE;\n\n\t\t\tfunction reject() {\n\t\t\t\tdfd.reject(new ClassFailure(ERROR_RESOLVE, dependency.id, arguments));\n\t\t\t}\n\n\t\t\tif(dependencies && (type = getType(dependencies))) {\n\t\t\t\twhile(match = regexMatchSourcemap.exec(source)) {\n\t\t\t\t\tsource = source.replace(match[0], '');\n\t\t\t\t}\n\n\t\t\t\tdependency.source = source;\n\t\t\t\tpledges = [];\n\n\t\t\t\tfor(i = 0; (temp = dependencies[i]); i++) {\n\t\t\t\t\tpledges.push(ClassDependency.resolve(MOCK_PREFIX + temp).pledge);\n\t\t\t\t}\n\n\t\t\t\tClassPledge.all(pledges).then(\n\t\t\t\t\tfunction() {\n\t\t\t\t\t\tpledges.length = 0;\n\n\t\t\t\t\t\tfor(i = 0; (temp = dependencies[i]); i++) {\n\t\t\t\t\t\t\ttemp = dependencies[i] = ClassDependency.get(temp) || new ClassDependency(temp);\n\t\t\t\t\t\t\ttemp.handler = arguments[i];\n\n\t\t\t\t\t\t\tpledges.push(temp.pledge);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif(type === 'module') {\n\t\t\t\t\t\t\tqueue.enqueue.apply(queue, dependencies);\n\t\t\t\t\t\t\thandlerModule.process(dependency);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\thandlerModule.process(dependency);\n\t\t\t\t\t\t\tqueue.enqueue.apply(queue, dependencies);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tClassPledge.all(pledges).then(dfd.resolve, reject);\n\t\t\t\t\t},\n\t\t\t\t\treject\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\treject();\n\t\t\t}\n\t\t}\n\t};\n\n\treturn new (HandlerBundle.extends(abstractHandler));\n}());","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tFALSE, EVENT_POST_REQUEST, ERROR_RESOLVE,\n\tfunctionResolveSourcemaps,\n\tabstractHandler,\n\tClassDependency, ClassPledge, ClassFailure\n*/\n\n//=require constants.js\n//=require function/resolveSourcemaps.js\n//=require abstract/handler.js\n//=require class/dependency.js\n//=require class/pledge.js\n//=require class/Failure.js\n\nvar handlerComponent = (function() {\n\tvar suffix = '.html',\n\t\tregexMatchType = /^text\\/.+$/;\n\n\tfunction HandlerComponent() {}\n\n\tHandlerComponent.prototype = {\n\t\tvalidate: function(type) {\n\t\t\treturn regexMatchType.test(type);\n\t\t},\n\t\tonPreRequest: function(dependency) {\n\t\t\tvar pathname = dependency.url.pathname;\n\t\t\t\n\t\t\tdependency.url.pathname = pathname.slice(-suffix.length) !== suffix ? pathname + suffix : pathname;\n\t\t},\n\t\tonPostRequest: function(dependency) {\n\t\t\tdependency.source = functionResolveSourcemaps(dependency.url, dependency.source);\n\t\t},\n\t\tonPreProcess: function(dependency) {\n\t\t\tvar context = dependency.path,\n\t\t\t\tdfd = dependency.dfd,\n\t\t\t\tcontainer = document.createElement('body'),\n\t\t\t\tmodules = [],\n\t\t\t\tpledges = [],\n\t\t\t\tnode, handler, path, uri;\n\n\t\t\tdependency.enqueue = FALSE;\n\t\t\tcontainer.innerHTML = dependency.source;\n\n\t\t\tfunction reject() {\n\t\t\t\tdfd.reject(new ClassFailure(ERROR_RESOLVE, dependency.id, arguments));\n\t\t\t}\n\n\t\t\twhile(node = container.firstElementChild) {\n\t\t\t\tif(handler = node.getAttribute('type')) {\n\t\t\t\t\tpath = node.getAttribute('path');\n\t\t\t\t\turi = handler + '!' + context + (path ? '/' + path : '');\n\n\t\t\t\t\tnode.parentNode.removeChild(node);\n\t\t\t\t\tmodules.push({ source: node.textContent, uri: uri });\n\t\t\t\t\tpledges.push(ClassDependency.resolve('mock:' + uri).pledge);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tClassPledge.all(pledges).then(\n\t\t\t\tfunction() {\n\t\t\t\t\tvar i = 0, module, dependency;\n\n\t\t\t\t\tpledges.length = 0;\n\n\t\t\t\t\tfor(; (module = modules[i]); i++) {\n\t\t\t\t\t\tdependency = ClassDependency.get(module.uri) || new ClassDependency(module.uri);\n\t\t\t\t\t\tdependency.source = functionResolveSourcemaps(dependency.url, module.source);\n\t\t\t\t\t\tdependency.handler = arguments[i];\n\n\t\t\t\t\t\tpledges.push(dependency.pledge);\n\n\t\t\t\t\t\tqueue.enqueue(dependency);\n\t\t\t\t\t}\n\n\t\t\t\t\tClassPledge.all(pledges).then(dfd.resolve, reject);\n\t\t\t\t},\n\t\t\t\treject\n\t\t\t);\n\t\t}\n\t};\n\n\treturn new (HandlerComponent.extends(abstractHandler));\n}());","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tMODULE_PREFIX_PLUGIN, MODULE_PREFIX_HANDLER, EVENT_POST_CONFIGURE, EVENT_PRE_RESOLVE, STRING_STRING, ERROR_RESOLVE, FALSE, TRUE,\n\tregexMatchInternal,\n\tvalidatorIsObject, validatorIsTypeOf,\n\tfunctionIterate, functionHash,\n\tClassDependency, ClassFailure,\n\tsingletonCache\n*/\n\n//=require constants.js\n//=require variables.js\n//=require validator/isTypeOf.js\n//=require validator/isObject.js\n//=require function/iterate.js\n//=require function/hash.js\n//=require class/dependency.js\n//=require class/failure.js\n//=require singleton/cache.js\n\nvar pluginGenie = (function() {\n\tvar path = MODULE_PREFIX_PLUGIN + 'genie',\n\t\tpattern = [];\n\n\tfunction matchPattern(path) {\n\t\tvar i = 0, pointer, match;\n\n\t\tfor(; (pointer = pattern[i]); i++) {\n\t\t\tif(path.indexOf(pointer.prefix) === 0 && (!match || pointer.weight > match.weight)) {\n\t\t\t\tmatch = pointer;\n\t\t\t}\n\t\t}\n\n\t\treturn match;\n\t}\n\n\tfunction generateConfiguration(bundle) {\n\t\tvar matches = bundle.matches,\n\t\t\tconfiguration = { pattern: {}, modules: { '/demand/handler/bundle': {} } },\n\t\t\ti = 0, pointer, dependency;\n\n\t\tconfiguration.pattern[bundle.id] = bundle.fn(matches);\n\t\tconfiguration.modules[MODULE_PREFIX_HANDLER + 'bundle'][bundle.id] = pointer = [];\n\n\t\tfor(; (dependency = matches[i]); i++) {\n\t\t\tpointer.push(dependency.path);\n\t\t}\n\n\t\treturn configuration;\n\t}\n\n\tfunction resolveDependencies() {\n\t\tvar i = 0, dependency;\n\n\t\tfor(; (dependency = this[i]); i++) {\n\t\t\tdependency.dfd.resolve(arguments[i]);\n\t\t}\n\t}\n\n\tfunction rejectDependencies() {\n\t\tvar i = 0, dependency;\n\n\t\tfor(; (dependency = this[i]); i++) {\n\t\t\tdependency.dfd.reject(new ClassFailure(ERROR_RESOLVE, dependency.id));\n\t\t}\n\t}\n\n\tfunction addPattern(property, value) {\n\t\tpattern.push({ prefix: property, weight: property.length, fn: value });\n\t}\n\n\tfunction resolveBundles(property, value) {\n\t\tvar matches = value.matches,\n\t\t\ti = 0, dependency;\n\n\t\tif(matches.length > 1) {\n\t\t\tvalue.id = path + '/' + functionHash(JSON.stringify(value.matches));\n\n\t\t\tfor(; (dependency = matches[i]); i++) {\n\t\t\t\tmatches[i] = new ClassDependency(dependency.uri);\n\t\t\t}\n\n\t\t\tdemand.configure(generateConfiguration(value));\n\t\t\tdemand('bundle!' + value.id)\n\t\t\t\t.then(\n\t\t\t\t\tresolveDependencies.bind(matches),\n\t\t\t\t\trejectDependencies.bind(matches)\n\t\t\t\t);\n\t\t}\n\t}\n\n\tdemand\n\t\t.on(EVENT_POST_CONFIGURE + ':' + path, function(options) {\n\t\t\tif(validatorIsObject(options)) {\n\t\t\t\tpattern.length = 0;\n\n\t\t\t\tfunctionIterate(options, addPattern);\n\t\t\t}\n\t\t})\n\t\t.on(EVENT_PRE_RESOLVE, function(dependencies, context) {\n\t\t\tvar bundles = {},\n\t\t\t\ti = 0, dependency, pattern;\n\n\t\t\tfor(; (dependency = dependencies[i]); i++) {\n\t\t\t\tif(validatorIsTypeOf(dependency, STRING_STRING) && !regexMatchInternal.test(dependency) && !ClassDependency.get(dependency, context)) {\n\t\t\t\t\tdependency = new ClassDependency(dependency, context, FALSE);\n\n\t\t\t\t\tif(dependency.type === 'module' && (pattern = matchPattern(dependency.path)) && !singletonCache.get(dependency)) {\n\t\t\t\t\t\t(bundles[pattern.prefix] || (bundles[pattern.prefix] = { fn: pattern.fn, matches: [] })).matches.push(dependency);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfunctionIterate(bundles, resolveBundles);\n\t\t});\n\n\treturn TRUE;\n}());"]} \ No newline at end of file diff --git a/dist/handler/css.js b/dist/handler/css.js index 7c23306..8b8b53d 100644 --- a/dist/handler/css.js +++ b/dist/handler/css.js @@ -1,3 +1,3 @@ -/**! Qoopido.demand 4.1.8 | https://github.com/dlueth/qoopido.demand | (c) 2017 Dirk Lueth */ +/**! Qoopido.demand 4.1.9 | https://github.com/dlueth/qoopido.demand | (c) 2017 Dirk Lueth */ !function(e){"use strict";function t(t,r){function n(e){return a.href=e,a}function s(e,t,r){return f.test(t[1])||(e=e.replace(t[0],r)),e}function o(){}var u=".css",c=e.getElementsByTagName("head")[0],a=e.createElement("a"),i=/url\s*\(\s*["']?(.+?)["']?\s*\)/gi,d=/@import\s+["'](.+?)["']/gi,l=/^\//i,f=/^data:|http(s?):|\/\//i,m=/^text\/css/;return o.prototype={validate:function(e){return m.test(e)},onPreRequest:function(e){var t=e.url.pathname;e.url.pathname=t.slice(-u.length)!==u?t+u:t},onPostRequest:function(e){for(var t,o=n(e.url+"/.."),u=o.href,c="//"+o.host,a=e.source;t=i.exec(a);)a=s(a,t,'url("'+n(l.test(t[1])?c+t[1]:u+t[1]).href+'")');for(;t=d.exec(a);)a=s(a,t,'@import "'+n(l.test(t[1])?c+t[1]:u+t[1]).href+'"');e.source=r(e.url,a)},process:function(t){var r=e.querySelector('[demand-id="'+t.id+'"]');r||(r=e.createElement("style"),r.type="text/css",r.setAttribute("demand-id",t.id),c.appendChild(r)),"STYLE"===r.tagName&&(r.styleSheet?r.styleSheet.cssText=t.source:r.textContent=t.source),provide(function(){return r})}},new(o.extends(t))}provide(["/demand/abstract/handler","/demand/function/resolveSourcemaps"],t)}(document); //# sourceMappingURL=css.js.map diff --git a/dist/handler/html.js b/dist/handler/html.js index 7d157b2..96097c6 100644 --- a/dist/handler/html.js +++ b/dist/handler/html.js @@ -1,3 +1,3 @@ -/**! Qoopido.demand 4.1.8 | https://github.com/dlueth/qoopido.demand | (c) 2017 Dirk Lueth */ +/**! Qoopido.demand 4.1.9 | https://github.com/dlueth/qoopido.demand | (c) 2017 Dirk Lueth */ !function(){"use strict";function e(e){function t(e){var t,n=document.createDocumentFragment();for(u.innerHTML=e;t=u.firstElementChild;)n.appendChild(t);return n}function n(){}var r=".html",o=/^text\/html/,u=document.createElement("body");return n.prototype={validate:function(e){return o.test(e)},onPreRequest:function(e){var t=e.url.pathname;e.url.pathname=t.slice(-r.length)!==r?t+r:t},process:function(e){provide(function(){return t(e.source)})}},new(n.extends(e))}provide(["/demand/abstract/handler"],e)}(); //# sourceMappingURL=html.js.map diff --git a/dist/handler/json.js b/dist/handler/json.js index b12fa28..7868af2 100644 --- a/dist/handler/json.js +++ b/dist/handler/json.js @@ -1,3 +1,3 @@ -/**! Qoopido.demand 4.1.8 | https://github.com/dlueth/qoopido.demand | (c) 2017 Dirk Lueth */ +/**! Qoopido.demand 4.1.9 | https://github.com/dlueth/qoopido.demand | (c) 2017 Dirk Lueth */ !function(){"use strict";function n(n){function t(){}var e=".json",r=/^application\/json/;return t.prototype={validate:function(n){return r.test(n)},onPreRequest:function(n){var t=n.url.pathname;n.url.pathname=t.slice(-e.length)!==e?t+e:t},process:function(n){var t=JSON.parse(n.source);provide(function(){return t})}},new(t.extends(n))}provide(["/demand/abstract/handler"],n)}(); //# sourceMappingURL=json.js.map diff --git a/dist/handler/legacy.js b/dist/handler/legacy.js index 9230917..59b15e8 100644 --- a/dist/handler/legacy.js +++ b/dist/handler/legacy.js @@ -1,3 +1,3 @@ -/**! Qoopido.demand 4.1.8 | https://github.com/dlueth/qoopido.demand | (c) 2017 Dirk Lueth */ +/**! Qoopido.demand 4.1.9 | https://github.com/dlueth/qoopido.demand | (c) 2017 Dirk Lueth */ !function(){"use strict";function e(e,n,t,r){function o(){var e,r=this,o=r.dfd,u=a[r.path]&&a[r.path].probe;t.process(r),u&&(e=u())?provide(function(){return e}):o.reject(new n("error probing",r.path))}function u(){}var a={};return demand.on("postConfigure:"+e,function(e){a=r(e)?e:{}}),u.prototype={onPreRequest:function(e){var n=a[e.path]&&a[e.path].dependencies;t.onPreRequest(e),n&&(e.enqueue=demand.apply(null,n))},onPreProcess:function(e){var n=a[e.path]&&a[e.path].dependencies;n&&"boolean"==typeof e.enqueue&&(e.enqueue=demand.apply(null,n))},process:function(e){var t=o.bind(e);e.enqueue===!0?t():e.enqueue.then(t,function(){e.dfd.reject(new n("error resolving",e.path,arguments))})}},new(u.extends(t))}provide(["path","/demand/failure","/demand/handler/module","/demand/validator/isObject"],e)}(); //# sourceMappingURL=legacy.js.map diff --git a/dist/handler/text.js b/dist/handler/text.js index acbfef0..67f163c 100644 --- a/dist/handler/text.js +++ b/dist/handler/text.js @@ -1,3 +1,3 @@ -/**! Qoopido.demand 4.1.8 | https://github.com/dlueth/qoopido.demand | (c) 2017 Dirk Lueth */ +/**! Qoopido.demand 4.1.9 | https://github.com/dlueth/qoopido.demand | (c) 2017 Dirk Lueth */ !function(){"use strict";function t(t){function n(){}var e=/^text\/.+/;return n.prototype={validate:function(t){return e.test(t)},process:function(t){provide(function(){return t.source})}},new(n.extends(t))}provide(["/demand/abstract/handler"],t)}(); //# sourceMappingURL=text.js.map diff --git a/dist/plugin/cookie.js b/dist/plugin/cookie.js index 10faa78..f3a1fbb 100644 --- a/dist/plugin/cookie.js +++ b/dist/plugin/cookie.js @@ -1,3 +1,3 @@ -/**! Qoopido.demand 4.1.8 | https://github.com/dlueth/qoopido.demand | (c) 2017 Dirk Lueth */ +/**! Qoopido.demand 4.1.9 | https://github.com/dlueth/qoopido.demand | (c) 2017 Dirk Lueth */ !function(n){"use strict";function t(t,e,o,i){function a(t,e,o){(r||c(t.path))&&(n.cookie="demand["+t.type+"]["+t.path+"]="+encodeURIComponent(e)+"; expires="+o+"; path=/")}function c(n){for(var t,e,o=0;t=f[o];o++)0===n.indexOf(t.pattern)&&(!e||t.weight>e.weight)&&(e=t);return!!e&&e.state}var r,u="Thu, 01 Jan 1970 00:00:00 GMT",d="Fri, 31 Dec 9999 23:59:59 GMT",f=[];return demand.on("postConfigure:"+t,function(n){o(n)?(f.length=0,e(n,function(n,t){f.push({pattern:n,weight:n.length,state:t})})):i(n,"boolean")&&(r=n)}).on("cacheMiss",function(n){a(n,"",u)}).on("cacheClear",function(n){a(n,"",u)}).on("postCache",function(n,t){a(n,JSON.stringify(t),d)}),!0}provide(["path","/demand/function/iterate","/demand/validator/isObject","/demand/validator/isTypeOf"],t)}(document); //# sourceMappingURL=cookie.js.map diff --git a/dist/plugin/lzstring.js b/dist/plugin/lzstring.js index 31b04d9..8b0881a 100644 --- a/dist/plugin/lzstring.js +++ b/dist/plugin/lzstring.js @@ -1,3 +1,3 @@ -/**! Qoopido.demand 4.1.8 | https://github.com/dlueth/qoopido.demand | (c) 2017 Dirk Lueth */ +/**! Qoopido.demand 4.1.9 | https://github.com/dlueth/qoopido.demand | (c) 2017 Dirk Lueth */ !function(){"use strict";function t(t,e,n,o){function r(t,e){function n(){b===e?(g.push(i(v)),b=0,v=0):b++}function o(){if(p.call(s,h)){if(h.charCodeAt(0)<256){for(r=0;r>=1}else{for(a=1,r=0;r>=1}d--,0===d&&(d=Math.pow(2,w),w++),delete s[h]}else for(a=c[h],r=0;r>=1;d--}var r,a,c={},s={},u="",f="",h="",d=2,l=3,w=2,g=[],v=0,b=0,C=0;for(e-=1;t[C];C++)u=t.charAt(C),p.call(c,u)||(c[u]=l++,s[u]=!0),f=h+u,p.call(c,f)?h=f:(o(),0===d&&(d=Math.pow(2,w),w++),c[f]=l++,h=String(u));for(""!==h&&(o(),0===d&&w++),a=2,r=0;r>=1;for(;;){if(v<<=1,b===e){g.push(i(v));break}b++}return g.join("")}function a(t,e,n){function o(e){for(m=0,k=1;k!==e;)s=M.val&M.position,M.position>>=1,0===M.position&&(M.position=n,M.val=c(t,M.index++)),m|=(s>0?1:0)*k,k<<=1}var r,a,i,s,u,f=[],p=4,g=4,v=3,b="",C=[],M={val:c(t,0),position:n,index:1},m=0,A=d,k=1;for(a=0;a<3;a++)f[a]=a;switch(o(A),r=m){case 0:o(l),u=h(m);break;case 1:o(w),u=h(m);break;case 2:return""}for(f[3]=u,i=u,C.push(u);;){if(M.index>e)return"";switch(o(Math.pow(2,v)),u=m){case 0:o(l),f[g++]=h(m),u=g-1,p--;break;case 1:o(w),f[g++]=h(m),u=g-1,p--;break;case 2:return C.join("")}if(0===p&&(p=Math.pow(2,v),v++),f[u])b=f[u];else{if(u!==g)return null;b=i+i.charAt(0)}C.push(b),f[g++]=i+b.charAt(0),p--,i=b,0===p&&(p=Math.pow(2,v),v++)}}function i(t){return h(t+32)}function c(t,e){return t.charCodeAt(e)-32}function s(t){return t?r(t,15)+" ":""}function u(t){return t?a(t,t.length,16384):""}function f(t){for(var e,n,o=0;e=g[o];o++)0===t.indexOf(e.pattern)&&(!n||e.weight>n.weight)&&(n=e);return!!n&&n.state}var h=String.fromCharCode,p=Object.prototype.hasOwnProperty,d=Math.pow(2,2),l=Math.pow(2,8),w=Math.pow(2,16),g=[{pattern:t,weight:t.length,state:!1}],v={};return demand.on("postConfigure:"+t,function(t){n(t)?(g.length=0,e(t,function(t,e){g.push({pattern:t,weight:t.length,state:e})})):o(t,"boolean")&&g.push({pattern:"",weight:0,state:t})}).on("cacheHit",function(t){f(t.path)&&(v[t.id]=!0)}).on("preCache",function(t){f(t.path)&&(t.source=s(t.source))}).on("preProcess",function(t){v[t.id]&&(t.source=u(t.source))}),{compress:s,decompress:u}}provide(["path","/demand/function/iterate","/demand/validator/isObject","/demand/validator/isTypeOf"],t)}(); //# sourceMappingURL=lzstring.js.map diff --git a/dist/plugin/sri.js b/dist/plugin/sri.js index 35e81cf..f0c63f8 100644 --- a/dist/plugin/sri.js +++ b/dist/plugin/sri.js @@ -1,3 +1,3 @@ -/**! Qoopido.demand 4.1.8 | https://github.com/dlueth/qoopido.demand | (c) 2017 Dirk Lueth */ +/**! Qoopido.demand 4.1.9 | https://github.com/dlueth/qoopido.demand | (c) 2017 Dirk Lueth */ !function(){"use strict";function n(n,e){this.h=n,this.l=e}function e(n,e){var r=(n&H)+(e&H),w=(n>>>16)+(e>>>16)+(r>>>16);return(w&H)<<16|r&H}function r(n,e,r,w){var h=(n&H)+(e&H)+(r&H)+(w&H),t=(n>>>16)+(e>>>16)+(r>>>16)+(w>>>16)+(h>>>16);return(t&H)<<16|h&H}function w(n,e,r,w,h){var t=(n&H)+(e&H)+(r&H)+(w&H)+(h&H),l=(n>>>16)+(e>>>16)+(r>>>16)+(w>>>16)+(h>>>16)+(t>>>16);return(l&H)<<16|t&H}function h(e,r){var w,h,t,l;return w=(e.l&H)+(r.l&H),h=(e.l>>>16)+(r.l>>>16)+(w>>>16),t=(h&H)<<16|w&H,w=(e.h&H)+(r.h&H)+(h>>>16),h=(e.h>>>16)+(r.h>>>16)+(w>>>16),l=(h&H)<<16|w&H,new n(l,t)}function t(e,r,w,h){var t,l,u,a;return t=(e.l&H)+(r.l&H)+(w.l&H)+(h.l&H),l=(e.l>>>16)+(r.l>>>16)+(w.l>>>16)+(h.l>>>16)+(t>>>16),u=(l&H)<<16|t&H,t=(e.h&H)+(r.h&H)+(w.h&H)+(h.h&H)+(l>>>16),l=(e.h>>>16)+(r.h>>>16)+(w.h>>>16)+(h.h>>>16)+(t>>>16),a=(l&H)<<16|t&H,new n(a,u)}function l(e,r,w,h,t){var l,u,a,c;return l=(e.l&H)+(r.l&H)+(w.l&H)+(h.l&H)+(t.l&H),u=(e.l>>>16)+(r.l>>>16)+(w.l>>>16)+(h.l>>>16)+(t.l>>>16)+(l>>>16),a=(u&H)<<16|l&H,l=(e.h&H)+(r.h&H)+(w.h&H)+(h.h&H)+(t.h&H)+(u>>>16),u=(e.h>>>16)+(r.h>>>16)+(w.h>>>16)+(h.h>>>16)+(t.h>>>16)+(l>>>16),c=(u&H)<<16|l&H,new n(c,a)}function u(n){return k(n,7)^k(n,18)^m(n,3)}function a(n){return k(n,17)^k(n,19)^m(n,10)}function c(e){var r=A(e,1),w=A(e,8),h=R(e,7);return new n(r.h^w.h^h.h,r.l^w.l^h.l)}function o(e){var r=A(e,19),w=A(e,61),h=R(e,6);return new n(r.h^w.h^h.h,r.l^w.l^h.l)}function i(n){return k(n,2)^k(n,13)^k(n,22)}function s(n){return k(n,6)^k(n,11)^k(n,25)}function f(e){var r=A(e,28),w=A(e,34),h=A(e,39);return new n(r.h^w.h^h.h,r.l^w.l^h.l)}function v(e){var r=A(e,14),w=A(e,18),h=A(e,41);return new n(r.h^w.h^h.h,r.l^w.l^h.l)}function d(n,e,r){return n&e^n&r^e&r}function p(e,r,w){return new n(e.h&r.h^e.h&w.h^r.h&w.h,e.l&r.l^e.l&w.l^r.l&w.l)}function b(n,e,r){return n&e^~n&r}function g(e,r,w){return new n(e.h&r.h^~e.h&w.h,e.l&r.l^~e.l&w.l)}function k(n,e){return n>>>e|n<<32-e}function A(e,r){var w=null,h=new n(e.h,e.l);return w=32>=r?new n(h.h>>>r|h.l<<32-r&I,h.l>>>r|h.h<<32-r&I):new n(h.l>>>r-32|h.h<<64-r&I,h.h>>>r-32|h.l<<64-r&I)}function m(n,e){return n>>>e}function R(e,r){var w=null;return w=32>=r?new n(e.h>>>r,e.l>>>r|e.h<<32-r&I):new n(0,e.h>>>r-32)}function C(n,e,r){var w,h,t,l,u,a,c,o,i,s=0,f=n.length,v=0;for(h=e||[0],r=r||0,u=r>>>3;sa?w.push(a):2048>a?(w.push(192|a>>>6),w.push(128|63&a)):55296>a||57344<=a?w.push(224|a>>>12,128|a>>>6&63,128|63&a):(s++,a=65536+((1023&a)<<10|1023&n.charCodeAt(s)),w.push(240|a>>>18,128|a>>>12&63,128|a>>>6&63,128|63&a)),t=h.length,l=w.length,c=0;c>>2;t<=o;)h.push(0),t++;h[o]|=w[c]<<8*(3-i%4),v++}return{value:h,length:8*v+r}}function j(n){for(var e,r,w,h,t,l,u="",a=4*n.length,c=0;c>>2,h=e<=w?0:n[w],w=c+2>>>2,t=e<=w?0:n[w],r=(n[c>>>2]>>>8*(3-c%4)&255)<<16|(h>>>8*(3-(c+1)%4)&255)<<8|t>>>8*(3-(c+2)%4)&255,l=0;l<4;l++)u+=8*c+6*l<=32*e?S.charAt(r>>>6*(3-l)&63):"=";return u}function N(e){var r,w=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],h=[3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428];switch(e){case"sha256":r=w;break;case"sha384":r=[new n(3418070365,h[0]),new n(1654270250,h[1]),new n(2438529370,h[2]),new n(355462360,h[3]),new n(1731405415,h[4]),new n(41048885895,h[5]),new n(3675008525,h[6]),new n(1203062813,h[7])];break;case"sha512":r=[new n(w[0],4089235720),new n(w[1],2227873595),new n(w[2],4271175723),new n(w[3],1595750129),new n(w[4],2917565137),new n(w[5],725511199),new n(w[6],4215389547),new n(w[7],327033209)]}return r}function O(k,A,m){var R,C,j,N,O,q,y,E,H,I,S,_,x,z,B,D,F,G,J,K,L,M,P,Q,U,W,X=k.length,Y=0,Z=[];switch(m){case"sha256":S=64,_=1,M=Number,x=e,z=r,B=w,D=u,F=a,G=i,J=s,L=d,K=b,W=T;break;case"sha384":case"sha512":S=80,_=2,M=n,x=h,z=t,B=l,D=c,F=o,G=f,J=v,L=p,K=g,W=V}for(R=A[0],C=A[1],j=A[2],N=A[3],O=A[4],q=A[5],y=A[6],E=A[7];Y>>9<<4)+15,a=16;break;case"sha384":case"sha512":l=(e+129>>>10<<5)+31,a=32}for(;c<=l;)n.push(0),c++;for(n[e>>>5]|=128<<24-e%32,n[l]=e+r,t=c;o>>5,a=r>>>5;i>>5),o=t%r,w=q(c,o,f,w,n),j(w)}function E(n,e,r,w){function h(n){var e;return r(t,function(r,w){if(r===n)return e=w,!1}),e||!1}var t;return demand.on("postConfigure:"+n,function(n){w(n)&&(t=n)}).on("postRequest",function(n){var r;(r=h(n.path))&&y(r.type,n.source)!==r.hash&&n.dfd.reject(new e("error resolving (sri)",n.id))}),!0}var H=65535,I=4294967295,S="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",T=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],V=[new n(T[0],3609767458),new n(T[1],602891725),new n(T[2],3964484399),new n(T[3],2173295548),new n(T[4],4081628472),new n(T[5],3053834265),new n(T[6],2937671579),new n(T[7],3664609560),new n(T[8],2734883394),new n(T[9],1164996542),new n(T[10],1323610764),new n(T[11],3590304994),new n(T[12],4068182383),new n(T[13],991336113),new n(T[14],633803317),new n(T[15],3479774868),new n(T[16],2666613458),new n(T[17],944711139),new n(T[18],2341262773),new n(T[19],2007800933),new n(T[20],1495990901),new n(T[21],1856431235),new n(T[22],3175218132),new n(T[23],2198950837),new n(T[24],3999719339),new n(T[25],766784016),new n(T[26],2566594879),new n(T[27],3203337956),new n(T[28],1034457026),new n(T[29],2466948901),new n(T[30],3758326383),new n(T[31],168717936),new n(T[32],1188179964),new n(T[33],1546045734),new n(T[34],1522805485),new n(T[35],2643833823),new n(T[36],2343527390),new n(T[37],1014477480),new n(T[38],1206759142),new n(T[39],344077627),new n(T[40],1290863460),new n(T[41],3158454273),new n(T[42],3505952657),new n(T[43],106217008),new n(T[44],3606008344),new n(T[45],1432725776),new n(T[46],1467031594),new n(T[47],851169720),new n(T[48],3100823752),new n(T[49],1363258195),new n(T[50],3750685593),new n(T[51],3785050280),new n(T[52],3318307427),new n(T[53],3812723403),new n(T[54],2003034995),new n(T[55],3602036899),new n(T[56],1575990012),new n(T[57],1125592928),new n(T[58],2716904306),new n(T[59],442776044),new n(T[60],593698344),new n(T[61],3733110249),new n(T[62],2999351573),new n(T[63],3815920427),new n(3391569614,3928383900),new n(3515267271,566280711),new n(3940187606,3454069534),new n(4118630271,4000239992),new n(116418474,1914138554),new n(174292421,2731055270),new n(289380356,3203993006),new n(460393269,320620315),new n(685471733,587496836),new n(852142971,1086792851),new n(1017036298,365543100),new n(1126000580,2618297676),new n(1288033470,3409855158),new n(1501505948,4234509866),new n(1607167915,987167468),new n(1816402316,1246189591)];provide(["path","/demand/failure","/demand/function/iterate","/demand/validator/isObject"],E)}(); //# sourceMappingURL=sri.js.map diff --git a/package.json b/package.json index 97b4662..9bbd68b 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "qoopido.demand", "title": "Qoopido.demand", "description": "Promise like module loader using XHR requests and localStorage caching to dynamically load JavaScript and CSS + dynamic dependency resolution + support for custom handlers", - "version": "4.1.8", + "version": "4.1.9", "homepage": "https://github.com/dlueth/qoopido.demand", "author": { "name": "Dirk Lueth", diff --git a/src/handler/component.js b/src/handler/component.js index 45dfb08..48b675a 100644 --- a/src/handler/component.js +++ b/src/handler/component.js @@ -65,7 +65,7 @@ var handlerComponent = (function() { for(; (module = modules[i]); i++) { dependency = ClassDependency.get(module.uri) || new ClassDependency(module.uri); - dependency.source = module.source; + dependency.source = functionResolveSourcemaps(dependency.url, module.source); dependency.handler = arguments[i]; pledges.push(dependency.pledge);