diff --git a/demo/index.html b/demo/index.html index 865ce7d..52701bb 100644 --- a/demo/index.html +++ b/demo/index.html @@ -22,17 +22,7 @@ diff --git a/dist/cache/dispose.js b/dist/cache/dispose.js index 90f8fcd..cdac304 100644 --- a/dist/cache/dispose.js +++ b/dist/cache/dispose.js @@ -1,3 +1,3 @@ -/**! Qoopido.demand 4.2.4 | https://github.com/dlueth/qoopido.demand | (c) 2017 Dirk Lueth */ +/**! Qoopido.demand 4.2.5 | https://github.com/dlueth/qoopido.demand | (c) 2018 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 8ce984e..c82c000 100644 --- a/dist/demand.js +++ b/dist/demand.js @@ -1,3 +1,3 @@ -/**! Qoopido.demand 4.2.4 | 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(){var e=m.call(this);return S[e.uuid]={},e}function y(e,t,n){var r=this;return r.message=e,t&&(r.module=t),n&&(r.stack=d(n)),r}function x(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(){var e=m.call(this);return S[e.uuid]=[],e}function q(e){var t=m.call(this),n=S[t.uuid]={queue:e,current:Y};return demand.on(Me+":"+e.uuid,function(){!n.current&&t.process()}),t}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){var r=this;return r.message=e,t&&(r.module=t),n&&(r.stack=d(n)),r}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",xe=se+"Cache",we=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){for(var t,n=this,r=n.prototype,i={},u=N(r),a=0;t=u[a];a++)i[t]=L(r,t);return i.constructor=new o(n),n.prototype=H(e.prototype||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 x.getItem(e)}function r(e,t){x[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}}(),x=y?e.localStorage:Y,w=y&&"remainingSpace"in x,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(xe,e,n);try{if(a=w?x.remainingSpace:Y,r(i+p,e.source),o(i+h,n),a!==Y&&x.remainingSpace===a)throw new Error;u(we,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(x,function(t){e=t.match(m),e&&this.path(e[1])},this)}:ce,expired:y?function(){var e,t,n=this;f(x,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=m.call(this);return s[i.uuid]={state:u,handle:n.bind(i),value:Y,resolved:[],rejected:[],count:0},r(e.bind(i),t.bind(i)),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.2.4",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 x(e)}).after(Pe,function(e){var t=e.handler.onPostRequest;t&&t(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(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=w(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];return t.queue.length&&(e=t.current=t.queue.dequeue(),!e.pledge.isRejected())?void(e.handler.process&&e.handler.process(e)):void(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},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",w),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(Q+"uuid",Ne),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.2.5 | https://github.com/dlueth/qoopido.demand | (c) 2018 Dirk Lueth */ +!function(e,t,n){"use strict";function r(e,t,n,r){return{__proto__:Z,value:e,enumerable:!!r,configurable:!!n,writable:!!t}}function i(e,t){return typeof e===t}function o(e){return e&&i(e,ue)}function u(e){return i(e,ce)&&isFinite(e)&&Math.floor(e)===e&&e>=0}function a(e,t){return e instanceof t}function c(e,t,n){for(var r,i=D.keys(e),o=0;(r=i[o])!==ee&&t.call(n,r,e[r])!==te;o++);return n}function s(e,t,n){return $.call(e,t,n)}function f(){return+new Date}function l(e){return X.href=e,X.href}function d(e,t){var n=e.replace(Ke,"");return Be.test(n)||Ue.test(n)||(n="/"+l((t&&l(t+"/../")||"/")+n).replace(Je,"")),n}function h(e,t){var n=e.match(Ke);return(n&&n[1]?"mock:":"")+(n&&n[3]||O.handler)+"!"+d(e,t)}function p(){return i(this.uuid,re)&&L(this,"uuid",new r(Le())),this}function v(){var e=p.call(this);return M[e.uuid]={},e}function m(e,t,n){var r=this;return r.message=e,t&&(r.module=t),n&&(r.stack=s(n)),r}function g(e){function t(t,n){n&&e.handler.validate&&!e.handler.validate(n)?e.dfd.reject(new m(Te+" (content-type)",e.id)):(e.source=t,Fe.emit(Ee,e.type,e))}function n(t){e.dfd.reject(new m(Te+(t?" (status)":""),e.id))}function r(o){o=o||0,e.url=C.createElement("a"),e.url.href=i?l(i.process(e.path,o)):e.path,Fe.emit(Pe,e.type,e),new Ze(e.url).then(t,i?function(){o++,i.location[o]?r(o):n()}:n)}var i;Ue.test(e.path)||c(O.pattern,function(t,n){n.matches(e.path)&&(!i||i.weight>>0}function w(){var e=p.call(this);return M[e.uuid]=[],e}function b(e){var t=p.call(this),n=M[t.uuid]={queue:e,current:Z};return R.on(Ae+":"+e.uuid,function(){!n.current&&t.process()}),t}function j(e,t){for(var n,r;n=Ge.exec(t);)X.href=e,Ue.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 m(e,t,n){var r=this;return r.message=e,t&&(r.module=t),n&&(r.stack=s(n)),r}function q(e,t){k(e,function(){return t})}var R,k,P,E,C=e.document,S="demand"in e&&e.demand,O={version:"1.0.0",cache:{},timeout:8e3,pattern:{},modules:{},handler:"module"},M={},A=Array.prototype,$=A.slice,T=A.concat,D=Object,H=D.prototype,I=H.toString,N=D.create,L=D.defineProperty,_=D.getOwnPropertyNames,F=D.getOwnPropertyDescriptor,X=C.createElement("a"),U="demand",B="provide",G="path",J="/"+U+"/",z=J+"abstract/",K=J+"handler/",Q=J+"plugin/",V=J+"function/",W=J+"validator/",Y="mock:",Z=null,ee=void 0,te=!1,ne=!0,re="undefined",ie="string",oe="boolean",ue="object",ae="function",ce="number",se=function(){},fe="pre",le="post",de="Configure",he=fe+de,pe=le+de,ve="cache",me=ve+"Miss",ge=ve+"Hit",ye=ve+"Clear",xe=ve+"Exceed",we=fe+"Cache",be=le+"Cache",je="Resolve",qe=fe+je,Re=le+je,ke="Request",Pe=fe+ke,Ee=le+ke,Ce="Process",Se=fe+Ce,Oe=le+Ce,Me="queue",Ae=Me+"Enqueue",$e=Me+"Dequeue",Te="error loading",De="error providing",He="error resolving",Ie="unspecified anonymous provide";!function(){function t(e){for(var t,n=this,i=n.prototype,o={},u=_(i),a=0;t=u[a];a++)o[t]=F(i,t);return o.constructor=new r(n),n.prototype=N(e.prototype||e,o),n}var n;n=new r(t),L(Function.prototype,"extends",n),L(e.Function.prototype,"extends",n)}();var Ne=function(){function e(e,t){var n,r=this[e];t!==ee&&(o(t)?(n=o(r),r=t.length!==ee?n&&r.length!==ee?r:[]:n&&r.length===ee?r:{},this[e]=Ne(r,t)):this[e]=t)}return function(){for(var t,n=arguments[0],r=1;(t=arguments[r])!==ee;r++)c(t,e,n);return n}}(),Le=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}}(),_e=function(){var n,r,i="setImmediate"in e;return"MutationObserver"in e?function(e){n=C.createElement("div"),new MutationObserver(function(){e()}).observe(n,{attributes:ne}),n.setAttribute("i","1")}:!i&&"postMessage"in e&&!("importScripts"in e)&&"addEventListener"in e?function(){function t(t){t.source===e&&t.data&&M[t.data]&&(M[t.data](),delete M[t.data])}return e.addEventListener("message",t,te),function(t){var n=Le();M[n]=t,e.postMessage(n,"*")}}():!i&&"onreadystatechange"in(n=C.createElement("script"))?function(e){n.onreadystatechange=function(){n.onreadystatechange=Z,n.parentNode.removeChild(n),e()},C.body.appendChild(n)}:(r=i?setImmediate:t,function(e){r(e)})}(),Fe=function(){function e(e,t,r){var a,c;if(i(t,ie)&&i(r,ae))for(t=t.split(" ");a=t.shift();)a=a.split(":"),o.test(a[0])&&((u[a[0]]||(u[a[0]]={on:[],after:[]}))[e].push({callback:r,filter:a[1]}),e===n&&a[0]===pe&&(c=O.modules[a[1]])&&r(c))}function t(){}var n="on",r="after",o=/^cache(Miss|Hit|Clear|Exceed)|queue(En|De)queue|(pre|post)(Resolve|Configure|Request|Process|Cache)$/,u={};return t.prototype={emit:function(e,t){var i,o,a,c=u[e];if(c){for(i=s(arguments,2),o=0;a=c[n][o];o++)a.filter&&a.filter!==t||a.callback.apply(Z,i);for(o=0;a=c[r][o];o++)a.filter&&a.filter!==t||a.callback.apply(Z,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,"\\$&")}}(),Ue=/^(http(s?):)?\/\//i,Be=/^\//,Ge=/((?:\/\/|\/\*)#)\s*(sourceMappingURL)\s*=\s*(?!(?:http[s]?:)?\/\/)(.+?)\.map(?:\s+)?(\*\/)?/g,Je=new RegExp("^"+Xe(l("/"))),ze=new RegExp("^"+U+"|"+B+"|"+G+"$"),Ke=/^(mock:)?([+-])?((?:[-\w]+\/?)+)?(?:@(.+?))?(?:#(\d+))?!/,Qe=function(){function t(e){var t;return e.cache!==Z?e.cache:(c(O.cache,function(n,r){0===e.path.indexOf(n)&&(!t||r.weight>t.weight)&&(t=r)}),t?t.state:te)}function n(e){return x.getItem(e)}function r(e,t){x[t?"setItem":"removeItem"](e,t)}function i(e){var t,r=n(e);if(r&&(t=r.match(g)))return s(t,1)}function o(e,t){t[4]=f(),r(e,t.join(","))}function u(e,t,n){Fe.emit(e,t.id,t,n)}function a(){_e(this.clear.expired.bind(this.clear))}var l,d="["+U+"]",p="[state]",v="[value]",m=new RegExp("^"+Xe(d)+"\\[(.+?)\\]"+Xe(p)+"$"),g=/^(.+?),(\d+),(\d*),(.+?),(\d+)$/,y=function(){try{return"localStorage"in e&&e.localStorage}catch(e){return te}}(),x=y?e.localStorage:Z,w=y&&"remainingSpace"in x,b={};return Fe.on(me,function(e){_e(function(){l.clear.path(e.id)})}).on(xe,function(e){R("-!/"+U+"/cache/dispose").then(function(t){_e(function(){t(e.source.length),l.set(e)})})}).on(Ee,function(e){e.source&&t(e)&&(b[e.id]=ne)}).after(Oe,function(e){b[e.id]&&_e(function(){l.set(e)})}),a.prototype={get:y?function(e){var r,u;if(t(e)&&(r=d+"["+e.id+"]",u=i(r+p),u&&u[0]===e.version&&(!u[2]&&!e.lifetime||u[2]>f())))return e.source=n(r+v),_e(function(){o(r+p,u)}),ne}:se,resolve:y?function(e){var t=this;t.get(e)?u(ge,e):u(me,e)}:function(e){u(me,e)},set:y?function(e){var n,i,a;if(t(e)){n=[e.version,e.source.length,e.lifetime?f()+e.lifetime:Z,R.version],i=d+"["+e.id+"]",u(we,e,n);try{if(a=w?x.remainingSpace:Z,r(i+v,e.source),o(i+p,n),a!==Z&&x.remainingSpace===a)throw new Error;u(be,e,n)}catch(t){u(xe,e)}}}:se,clear:{path:y?function(e){var t=h(e),i=d+"["+t+"]";n(i+p)&&(r(i+p),r(i+v),u(ye,We.get(t)||new We(t,Z,te)))}:se,all:y?function(){var e;c(x,function(t){e=t.match(m),e&&this.path(e[1])},this)}:se,expired:y?function(){var e,t,n=this;c(x,function(r){e=r.match(m),e&&(t=i(d+"["+e[1]+"]"+p),t&&t[2]>0&&t[2]<=f()&&n.path(e[1]))},this)}:se}},l=new a}(),Ve=function(){function e(){f[this.uuid].handle(a,arguments)}function t(){f[this.uuid].handle(c,arguments)}function n(e,t){var n,r,i=f[this.uuid];for(i.state===u&&(i.state=e,i.value=t);n=i[i.state].shift();)r=n.handler.apply(Z,i.value),r&&"function"==typeof r.then?r.then(n.dfd.resolve,n.dfd.reject):n.dfd[i.state===a?"resolve":"reject"].apply(Z,i.value);i[a].length=0,i[c].length=0}function r(e,t,n){e.then(function(){n.resolved[t]=s(arguments),n.count++,i(n)},function(){n.rejected.push(s(arguments)),i(n)})}function i(e){e.count===e.total?e.dfd.resolve.apply(Z,T.apply([],e.resolved)):e.rejected.length+e.count===e.total&&e.dfd.reject.apply(Z,T.apply([],e.rejected))}function o(r){var i=p.call(this);return f[i.uuid]={state:u,handle:n.bind(i),value:Z,resolved:[],rejected:[],count:0},r(e.bind(i),t.bind(i)),i}var u="pending",a="resolved",c="rejected",f={};return o.prototype={catch:function(e){return this.then(se,e)},always:function(e){return this.then(e,e)},then:function(e,t){var n=f[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&&_e(n.handle),r.pledge},isPending:function(){return f[this.uuid].state===u},isResolved:function(){return f[this.uuid].state===a},isRejected:function(){return f[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=f[Le()]={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(p)}();v.prototype={get:function(e){return e?M[this.uuid][e]:M[this.uuid]},set:function(e,t){M[this.uuid][e]=t},remove:function(e){delete M[this.uuid][e]}},v.extends(p),m.prototype={toString:function(){var e=this,t=U+": "+e.message+" "+(e.module?'"'+e.module+'"':"");return e.stack&&(t=m.traverse(e.stack,t,1)),t}},m.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=m.traverse(r.stack,t,n+1));return t};var We=function(){function e(e,t){this[e]=t}function t(e,t){t.pledge.isPending()&&this.push(e)}function n(e,t){t.pledge.isResolved()&&this.push(e)}function r(e,t){t.pledge.isRejected()&&this.push(e)}function i(e,t,n){var r=this,i=e.match(Ke)||f;return r.path=d(e,t),r.mock=i[1]?ne:te,r.cache=i[2]?"+"===i[1]:Z,r.type=i[3]||O.handler,r.version=i[4]||O.version,r.lifetime=i[5]&&1e3*i[5]||O.lifetime,r.id=(r.mock?Y:"")+r.type+"!"+r.path,r.uri=(r.mock?Y:"")+r.type+"@"+r.version+(u(r.lifetime)&&r.lifetime>0?"#"+r.lifetime:"")+"!"+r.path,r.dfd=Ve.defer(),r.pledge=r.dfd.pledge,r.pledge.then(function(){r.value=s(arguments)}),n!==te&&a.set(r.id,r),r}var o="internal!",a=new v,f=[];return i.prototype={enqueue:!0},i.get=function(e,t){return a.get(h(e,t))},i.resolve=function(t,n){var r,u=n&&ze.test(t),a=u?this.get(o+n+"/"+t):this.get(t,n);if(!a)if(u){switch(a=new i(o+n+"/"+t),t){case U:r=function(){return c(R,e,R.bind(n))}();break;case B:r=k.bind(n);break;case G:r=n}a.dfd.resolve(r)}else a=new i(t,n),R(K+a.type).then(function(e){a.handler=e,a.mock?a.dfd.resolve(e):Qe.resolve(a)},function(){a.dfd.reject(new m(Te+" (handler)",self.id))});return a},i.remove=function(e,t,n){var r=h(e,t),i=C.querySelector("["+U+'-id="'+r+'"]');a.remove(r),a.remove(Y+r),i&&i.parentNode.removeChild(i),n!==te&&Qe.clear.path(r)},i.list={all:function(){return D.keys(a.get())},pending:function(){return c(a.get(),t,[])},resolved:function(){return c(a.get(),n,[])},rejected:function(){return c(a.get(),r,[])}},i}(),Ye=function(){function e(e,t){this[e]={url:l(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),c(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}(),Ze=function(r){function i(){this.readyState<4&&this.abort()}var o="XDomainRequest"in e&&e.XDomainRequest||r;return function(e){var u,a=Ve.defer(),c=Je.test(e)?new r:new o,s=i.bind(c),f=O.timeout;return c.ontimeout=c.onerror=c.onabort=function(){a.reject(c.status)},c.onprogress=c.onreadystatechange=function(){n(u),u=t(s,f)},c.onload=function(){u=n(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,ne),c.send(),u=t(s,f),a.pledge}}(XMLHttpRequest);R=e.demand=function(){function t(e,t){this[e]={weight:e.length,state:t}}function n(e,t){"base"!==e&&(this[e]=new Ye(e,t))}function r(e,t){var n=this[e]=this[e]||{};Fe.emit(he,e,n),Ne(n,t),Fe.emit(pe,e,n)}function f(){var t,n,r,o=s(arguments),u=this!==e?this:Z,a=0;for(Fe.emit(qe,Z,o,u);t=o[a];a++)i(t,ie)?o[a]=We.resolve(t,u).pledge:(o[a]=(n=Ve.defer()).pledge,n.resolve(t));return r=o.length>1?Ve.all(o):o[0],r.always(function(){Fe.emit(Re,Z,o,u)})}return f.configure=function(e){var a=e.cache,s=e.version,l=e.timeout,d=e.lifetime,h=e.base,p=e.pattern,v=e.modules,m=O.modules;return i(a,oe)?O.cache[""]={weight:0,state:a}:o(a)&&c(a,t,O.cache),i(s,ie)&&(O.version=s),u(l)&&(O.timeout=1e3*Math.min(Math.max(l,2),12)),u(d)&&d>0&&(O.lifetime=1e3*d),i(h,ie)&&""!==h&&(O.pattern.base=new Ye("",h)),o(p)&&c(p,n,O.pattern),o(v)&&c(v,r,m),f},f.version="4.2.5",f.on=Fe.on.bind(f),f.get=function(e,t){var n=We.get(e,t);return n&&n.value},f.remove=We.remove,f.list=We.list,f.clear=Qe.clear,Fe.after(me,function(e){new g(e)}).after(Ee,function(e){var t=e.handler.onPostRequest;t&&t(e)}).after(ge+" "+Ee,function(e){Fe.emit(Se,e.id,e)}).after(Pe,function(e){var t=e.handler.onPreRequest;t&&t(e)}).after(Se,function(e){var t=e.handler.onPreProcess;t&&t(e),e.pledge.then(function(){Fe.emit(Oe,e.id,e)}),e.enqueue===!0?P.enqueue(e):a(e.enqueue,Ve)&&e.enqueue.then(function(){P.enqueue(e)})}),f}(),k=e.provide=function(){var t,n,r=i(arguments[0],ie)?arguments[0]:Z,o=this!==e?this:Z,u=y(arguments[r?1:0])?arguments[r?1:0]:Z,a=u?arguments[r?2:1]:arguments[r?1:0];!r&&E.current&&(t=E.current,r=t.uri,E.process()),r?(t=t||new We(r,o),n=i(a,ae),u?R.apply(t.path,u).then(function(){t.dfd.resolve(n?a.apply(Z,arguments):a)},function(){t.dfd.reject(new m(De,t.id,arguments))}):t.dfd.resolve(n?a():a)):!i(console,re)&&console.error(new m(Ie))},R.configure({cache:ne,base:"/",pattern:{"/demand":l((S&&S.url||location.href)+"/../").slice(0,-1)}}),S&&S.settings&&R.configure(S.settings),w.prototype={enqueue:function(){M[this.uuid]=M[this.uuid].concat(s(arguments)),Fe.emit(Ae,this.uuid)},dequeue:function(){return Fe.emit($e,this.uuid),M[this.uuid].shift()},get current(){return M[this.uuid][0]},get length(){return M[this.uuid].length}},w.extends(p),b.prototype={process:function(){var e,t=M[this.uuid];return t.queue.length&&(e=t.current=t.queue.dequeue(),!e.pledge.isRejected())?void(e.handler.process&&e.handler.process(e)):void(t.current=Z)},get current(){return M[this.uuid].current}},b.extends(p);var et=function(){function e(){}return e.prototype={validate:Z,onPreRequest:Z,onPostRequest:Z,onPreProcess:Z,process:Z},e}(),tt=function(){function e(){}var t=".js",n=C.getElementsByTagName("head")[0],r=/^(application|text)\/(x-)?javascript/;return e.prototype={validate:function(e){return r.test(e)},onPreRequest:function(e){var n=e.url.pathname;e.url.pathname=n.slice(-t.length)!==t?n+t:n},onPostRequest:function(e){e.source=j(e.url,e.source)},process:function(e){var t;e.source&&(t=C.createElement("script"),t.async=ne,t.text=e.source,t.setAttribute(U+"-id",e.id),n.appendChild(t))}},new(e.extends(et))}();m.prototype={toString:function(){var e=this,t=U+": "+e.message+" "+(e.module?'"'+e.module+'"':"");return e.stack&&(t=m.traverse(e.stack,t,1)),t}},m.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=m.traverse(r.stack,t,n+1));return t};var nt=function(){function e(e,t){var n,r;for(n=0;r=t[n];n++)i(r,ie)&&(t[n]=h(r))}function t(e){for(var t,n,r=0;n=e[r];r++)if(n=n.match(Ke),n=n&&n[3]||u.handler,t){if(n!==t)return te}else t=n;return t}function n(){}var r=K+"bundle",u={};return R.on(pe+":"+r,function(t){o(t)&&(u=t,c(u,e))}),n.prototype={validate:tt.validate,onPreProcess:function(e){function n(){f.reject(new m(He,e.id,arguments))}var r,i,o,a,c,s=e.source,f=e.dfd,l=u[e.path];if(e.enqueue=te,l&&(r=t(l))){for(;i=Ge.exec(s);)s=s.replace(i[0],"");for(e.source=s,o=[],c=0;a=l[c];c++)o.push(We.resolve(Y+a).pledge);Ve.all(o).then(function(){for(o.length=0,c=0;a=l[c];c++)a=l[c]=We.get(a)||new We(a),a.handler=arguments[c],o.push(a.pledge);"module"===r?(P.enqueue.apply(P,l),tt.process(e)):(tt.process(e),P.enqueue.apply(P,l)),Ve.all(o).then(f.resolve,n)},n)}else n()}},new(n.extends(et))}(),rt=function(){function e(){}var t=".html",n=/^text\/.+$/;return e.prototype={validate:function(e){return n.test(e)},onPreRequest:function(e){var n=e.url.pathname;e.url.pathname=n.slice(-t.length)!==t?n+t:n},onPostRequest:function(e){e.source=j(e.url,e.source)},onPreProcess:function(e){function t(){a.reject(new m(He,e.id,arguments))}var n,r,i,o,u=e.path,a=e.dfd,c=C.createElement("body"),s=[],f=[];for(e.enqueue=te,c.innerHTML=e.source;n=c.firstElementChild;)(r=n.getAttribute("type"))&&(i=n.getAttribute("path"),o=r+"!"+u+(i?"/"+i:""),n.parentNode.removeChild(n),s.push({source:n.textContent,uri:o}),f.push(We.resolve("mock:"+o).pledge));Ve.all(f).then(function(){var e,n,r=0;for(f.length=0;e=s[r];r++)n=We.get(e.uri)||new We(e.uri),n.source=j(n.url,e.source),n.handler=arguments[r],f.push(n.pledge),P.enqueue(n);Ve.all(f).then(a.resolve,t)},t)}},new(e.extends(et))}(),it=function(){function e(e){for(var t,n,r=0;t=f[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[K+"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 m(He,e.id))}function u(e,t){f.push({prefix:e,weight:e.length,fn:t})}function a(e,i){var o,u=i.matches,a=0;if(u.length>1){for(i.id=s+"/"+x(JSON.stringify(i.matches));o=u[a];a++)u[a]=new We(o.uri);R.configure(t(i)),R("bundle!"+i.id).then(n.bind(u),r.bind(u))}}var s=Q+"genie",f=[];return R.on(pe+":"+s,function(e){o(e)&&(f.length=0,c(e,u))}).on(qe,function(t,n){for(var r,o,u={},s=0;r=t[s];s++)!i(r,ie)||ze.test(r)||We.get(r,n)||(r=new We(r,n,te),"module"===r.type&&(o=e(r.path))&&!Qe.get(r)&&(u[o.prefix]||(u[o.prefix]={fn:o.fn,matches:[]})).matches.push(r));c(u,a)}),ne}();if(P=new w,E=new b(P),q(z+"uuid",p),q(z+"handler",et),q(K+"module",tt),q(K+"bundle",nt),q(K+"component",rt),q(Q+"genie",it),q(W+"isTypeOf",i),q(W+"isArray",y),q(W+"isObject",o),q(W+"isInstanceOf",a),q(V+"resolveUrl",l),q(V+"resolveSourcemaps",j),q(V+"merge",Ne),q(V+"iterate",c),q(V+"hash",x),q(V+"defer",_e),q(V+"uuid",Le),q(J+"descriptor",r),q(J+"pledge",Ve),q(J+"queue",w),q(J+"xhr",Ze),q(J+"failure",m),S&&S.main)switch(typeof S.main){case ie:R(S.main);break;case ae:k("main",S.main())}}("demand-loader"===this.name?parent:this,setTimeout,clearTimeout); //# sourceMappingURL=demand.js.map diff --git a/dist/demand.js.map b/dist/demand.js.map index 24a8f89..6004497 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","self","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","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","parent","names","constructor","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","onPostRequest","onPreRequest","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_FUNCTION + 'uuid', functionUuid);\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\tvar self = AbstractUuid.call(this);\n\n\tstorage[self.uuid] = {};\n\t\n\treturn self;\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\tvar self = this;\n\t\n\tself.message = message;\n\t\t\n\tmodule && (self.module = module);\n\tstack && (self.stack = functionToArray(stack));\n\t\n\treturn self;\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\tvar self = AbstractUuid.call(this);\n\n\tstorage[self.uuid] = [];\n\t\n\treturn self;\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 = AbstractUuid.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\t\n\treturn self;\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\tif(!current.pledge.isRejected()) {\n current.handler.process && current.handler.process(current);\n\n return;\n\t\t\t}\n\t\t}\n\n\t\tpointer.current = NULL;\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\tvar self = this;\n\t\n\tself.message = message;\n\t\t\n\tmodule && (self.module = module);\n\tstack && (self.stack = functionToArray(stack));\n\t\n\treturn self;\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\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\tself.prototype = objectCreate(parent.prototype || 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 = AbstractUuid.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\t\n\t\treturn 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_POST_REQUEST, function(dependency) {\n\t\t\tvar pointer = dependency.handler.onPostRequest;\n\n\t\t\tpointer && pointer(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_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 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 +{"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","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","self","storage","ClassFailure","message","stack","ClassLoader","dependency","resolve","response","validate","dfd","reject","ERROR_LOAD","id","singletonEvent","emit","EVENT_POST_REQUEST","status","load","location","document","createElement","pattern","process","EVENT_PRE_REQUEST","ClassXhr","then","matches","weight","validatorIsArray","objectPrototypeToString","functionHash","input","length","charCodeAt","ClassQueue","ClassProcessor","queue","pointer","current","demand","on","EVENT_QUEUE_ENQUEUE","functionResolveSourcemaps","replacement","regexMatchSourcemap","exec","protocol","host","pathname","assignModule","provide","processor","options","version","cache","timeout","modules","arrayPrototype","Array","prototype","slice","arrayPrototypeConcat","concat","Object","objectPrototype","toString","objectCreate","create","defineProperty","objectGetOwnPropertyNames","getOwnPropertyNames","objectGetOwnPropertyDescriptor","getOwnPropertyDescriptor","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","parent","names","constructor","descriptor","Function","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","onPostRequest","onPreRequest","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","name"],"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, setTimeout, clearTimeout) {\n\t'use strict';\n\n\t/* eslint-disable no-unused-vars */\n\tvar document = global.document,\n\t\toptions = 'demand' in global && global.demand,\n\t\tsettings = { version: '1.0.0', cache: {}, timeout: 8000, pattern: {}, modules: {}, handler: 'module' },\n\t\tstorage = {},\n\t\tdemand, provide, queue, 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_FUNCTION + 'uuid', functionUuid);\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.name === 'demand-loader' ? parent : this, 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\tvar self = AbstractUuid.call(this);\n\n\tstorage[self.uuid] = {};\n\t\n\treturn self;\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\tvar self = this;\n\t\n\tself.message = message;\n\t\t\n\tmodule && (self.module = module);\n\tstack && (self.stack = functionToArray(stack));\n\t\n\treturn self;\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\tvar self = AbstractUuid.call(this);\n\n\tstorage[self.uuid] = [];\n\t\n\treturn self;\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 = AbstractUuid.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\t\n\treturn self;\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\tif(!current.pledge.isRejected()) {\n current.handler.process && current.handler.process(current);\n\n return;\n\t\t\t}\n\t\t}\n\n\t\tpointer.current = NULL;\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\tvar self = this;\n\t\n\tself.message = message;\n\t\t\n\tmodule && (self.module = module);\n\tstack && (self.stack = functionToArray(stack));\n\t\n\treturn self;\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\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,\n\tClassDescriptor\n*/\n\n//=require shortcuts.js\n//=require class/descriptor.js\n\n(function() {\n\tvar descriptor;\n\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\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\tself.prototype = objectCreate(parent.prototype || parent, properties);\n\n\t\treturn self;\n\t}\n\n\tdescriptor = new ClassDescriptor(extend);\n\n\tobjectDefineProperty(Function.prototype, 'extends', descriptor);\n\tobjectDefineProperty(global.Function.prototype, 'extends', descriptor);\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 = AbstractUuid.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\t\n\t\treturn 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\n/*eslint no-global-assign: [2, { \"exceptions\": [\"demand\"] }]*/\ndemand = global.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_POST_REQUEST, function(dependency) {\n\t\t\tvar pointer = dependency.handler.onPostRequest;\n\n\t\t\tpointer && pointer(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_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\n/*eslint no-global-assign: [2, { \"exceptions\": [\"provide\"] }]*/\nprovide = global.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\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 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 62d74ef..3d446da 100644 --- a/dist/handler/css.js +++ b/dist/handler/css.js @@ -1,3 +1,3 @@ -/**! Qoopido.demand 4.2.4 | https://github.com/dlueth/qoopido.demand | (c) 2017 Dirk Lueth */ +/**! Qoopido.demand 4.2.5 | https://github.com/dlueth/qoopido.demand | (c) 2018 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 2480616..d5fe974 100644 --- a/dist/handler/html.js +++ b/dist/handler/html.js @@ -1,3 +1,3 @@ -/**! Qoopido.demand 4.2.4 | https://github.com/dlueth/qoopido.demand | (c) 2017 Dirk Lueth */ +/**! Qoopido.demand 4.2.5 | https://github.com/dlueth/qoopido.demand | (c) 2018 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 3e78d16..f7222f9 100644 --- a/dist/handler/json.js +++ b/dist/handler/json.js @@ -1,3 +1,3 @@ -/**! Qoopido.demand 4.2.4 | https://github.com/dlueth/qoopido.demand | (c) 2017 Dirk Lueth */ +/**! Qoopido.demand 4.2.5 | https://github.com/dlueth/qoopido.demand | (c) 2018 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 5ed3582..40a76fe 100644 --- a/dist/handler/legacy.js +++ b/dist/handler/legacy.js @@ -1,3 +1,3 @@ -/**! Qoopido.demand 4.2.4 | https://github.com/dlueth/qoopido.demand | (c) 2017 Dirk Lueth */ +/**! Qoopido.demand 4.2.5 | https://github.com/dlueth/qoopido.demand | (c) 2018 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 1381086..883daf3 100644 --- a/dist/handler/text.js +++ b/dist/handler/text.js @@ -1,3 +1,3 @@ -/**! Qoopido.demand 4.2.4 | https://github.com/dlueth/qoopido.demand | (c) 2017 Dirk Lueth */ +/**! Qoopido.demand 4.2.5 | https://github.com/dlueth/qoopido.demand | (c) 2018 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 524c72f..6e4cdc9 100644 --- a/dist/plugin/cookie.js +++ b/dist/plugin/cookie.js @@ -1,3 +1,3 @@ -/**! Qoopido.demand 4.2.4 | https://github.com/dlueth/qoopido.demand | (c) 2017 Dirk Lueth */ +/**! Qoopido.demand 4.2.5 | https://github.com/dlueth/qoopido.demand | (c) 2018 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 1358fe9..c17c81d 100644 --- a/dist/plugin/lzstring.js +++ b/dist/plugin/lzstring.js @@ -1,3 +1,3 @@ -/**! Qoopido.demand 4.2.4 | https://github.com/dlueth/qoopido.demand | (c) 2017 Dirk Lueth */ +/**! Qoopido.demand 4.2.5 | https://github.com/dlueth/qoopido.demand | (c) 2018 Dirk Lueth */ var LZString=function(){function n(n,o){if(!t[n]){t[n]={};for(var r=0;r>>8,r[2*e+1]=s%256}return r},decompressFromUint8Array:function(n){if(null===n||void 0===n)return i.decompress(n);for(var r=new Array(n.length/2),e=0,t=r.length;e>=1}else{for(t=1,e=0;e>=1}f--,0==f&&(f=Math.pow(2,h),h++),delete u[p]}else for(t=s[p],e=0;e>=1;f--,0==f&&(f=Math.pow(2,h),h++),s[c]=l++,p=String(a)}if(""!==p){if(Object.prototype.hasOwnProperty.call(u,p)){if(p.charCodeAt(0)<256){for(e=0;e>=1}else{for(t=1,e=0;e>=1}f--,0==f&&(f=Math.pow(2,h),h++),delete u[p]}else for(t=s[p],e=0;e>=1;f--,0==f&&(f=Math.pow(2,h),h++)}for(t=2,e=0;e>=1;for(;;){if(m<<=1,g==o-1){d.push(r(m));break}g++}return d.join("")},decompress:function(n){return null==n?"":""==n?null:i._decompress(n.length,32768,function(o){return n.charCodeAt(o)})},_decompress:function(n,r,e){var t,i,s,u,a,c,p,f,l=[],h=4,d=4,m=3,g="",v=[],w={val:e(0),position:r,index:1};for(i=0;i<3;i+=1)l[i]=i;for(u=0,c=Math.pow(2,2),p=1;p!=c;)a=w.val&w.position,w.position>>=1,0==w.position&&(w.position=r,w.val=e(w.index++)),u|=(a>0?1:0)*p,p<<=1;switch(t=u){case 0:for(u=0,c=Math.pow(2,8),p=1;p!=c;)a=w.val&w.position,w.position>>=1,0==w.position&&(w.position=r,w.val=e(w.index++)),u|=(a>0?1:0)*p,p<<=1;f=o(u);break;case 1:for(u=0,c=Math.pow(2,16),p=1;p!=c;)a=w.val&w.position,w.position>>=1,0==w.position&&(w.position=r,w.val=e(w.index++)),u|=(a>0?1:0)*p,p<<=1;f=o(u);break;case 2:return""}for(l[3]=f,s=f,v.push(f);;){if(w.index>n)return"";for(u=0,c=Math.pow(2,m),p=1;p!=c;)a=w.val&w.position,w.position>>=1,0==w.position&&(w.position=r,w.val=e(w.index++)),u|=(a>0?1:0)*p,p<<=1;switch(f=u){case 0:for(u=0,c=Math.pow(2,8),p=1;p!=c;)a=w.val&w.position,w.position>>=1,0==w.position&&(w.position=r,w.val=e(w.index++)),u|=(a>0?1:0)*p,p<<=1;l[d++]=o(u),f=d-1,h--;break;case 1:for(u=0,c=Math.pow(2,16),p=1;p!=c;)a=w.val&w.position,w.position>>=1,0==w.position&&(w.position=r,w.val=e(w.index++)),u|=(a>0?1:0)*p,p<<=1;l[d++]=o(u),f=d-1,h--;break;case 2:return v.join("")}if(0==h&&(h=Math.pow(2,m),m++),l[f])g=l[f];else{if(f!==d)return null;g=s+s.charAt(0)}v.push(g),l[d++]=s+g.charAt(0),h--,s=g,0==h&&(h=Math.pow(2,m),m++)}}};return i}();"function"==typeof define&&define.amd?define(function(){return LZString}):"undefined"!=typeof module&&null!=module?module.exports=LZString:"undefined"!=typeof angular&&null!=angular&&angular.module("LZString",[]).factory("LZString",function(){return LZString}),function(n){"use strict";function o(o,r,e,t){function i(n){for(var o,r,e=0;o=s[e];e++)0===n.indexOf(o.pattern)&&(!r||o.weight>r.weight)&&(r=o);return!!r&&r.state}var s=[{pattern:o,weight:o.length,state:!1}],u={};return demand.on("postConfigure:"+o,function(n){e(n)?(s.length=0,r(n,function(n,o){s.push({pattern:n,weight:n.length,state:o})})):t(n,"boolean")&&s.push({pattern:"",weight:0,state:n})}).on("cacheHit",function(n){i(n.path)&&(u[n.id]=!0)}).on("preCache",function(o){i(o.path)&&(o.source=n.LZString.compressToUTF16(o.source))}).on("preProcess",function(o){u[o.id]&&(o.source=n.LZString.decompressFromUTF16(o.source))}),!0}provide(["path","/demand/function/iterate","/demand/validator/isObject","/demand/validator/isTypeOf"],o)}(this); //# sourceMappingURL=lzstring.js.map diff --git a/dist/plugin/sri.js b/dist/plugin/sri.js index 6e3d9b7..62a6c16 100644 --- a/dist/plugin/sri.js +++ b/dist/plugin/sri.js @@ -1,3 +1,3 @@ -/**! Qoopido.demand 4.2.4 | https://github.com/dlueth/qoopido.demand | (c) 2017 Dirk Lueth */ +/**! Qoopido.demand 4.2.5 | https://github.com/dlueth/qoopido.demand | (c) 2018 Dirk Lueth */ var SUPPORTED_ALGS=15;!function(r){"use strict";function e(r,e){this.highOrder=r,this.lowOrder=e}function n(r,e,n,t,o){var i,h,w,u,d,f,a,O,l,s,c=0;if(i=n||[0],t=t||0,f=t>>>3,"UTF8"===e)for(l=o===-1?3:0,u=0;uh?w.push(h):2048>h?(w.push(192|h>>>6),w.push(128|63&h)):55296>h||57344<=h?w.push(224|h>>>12,128|h>>>6&63,128|63&h):(u+=1,h=65536+((1023&h)<<10|1023&r.charCodeAt(u)),w.push(240|h>>>18,128|h>>>12&63,128|h>>>6&63,128|63&h)),d=0;d>>2;i.length<=a;)i.push(0);i[a]|=w[d]<<8*(l+o*(O%4)),c+=1}else if("UTF16BE"===e||"UTF16LE"===e)for(l=o===-1?2:0,s="UTF16LE"===e&&1!==o||"UTF16LE"!==e&&1===o,u=0;u>>8),O=c+f,a=O>>>2;i.length<=a;)i.push(0);i[a]|=h<<8*(l+o*(O%4)),c+=2}return{value:i,binLen:8*c+t}}function t(r,e,n,t){var o,i,h,w,u,d,f,a=r.length;if(0!==a%2)throw new Error("String of HEX type must be in byte increments");for(o=e||[0],n=n||0,d=n>>>3,f=t===-1?3:0,i=0;i>>1)+d,w=u>>>2;o.length<=w;)o.push(0);o[w]|=h<<8*(f+t*(u%4))}return{value:o,binLen:4*a+n}}function o(r,e,n,t){var o,i,h,w,u,d,f;for(o=e||[0],n=n||0,w=n>>>3,f=t===-1?3:0,h=0;h>>2,o.length<=u&&o.push(0),o[u]|=i<<8*(f+t*(d%4));return{value:o,binLen:8*r.length+n}}function i(r,e,n,t){var o,i,h,w,u,d,f,a,O,l,s,c=0,g="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";if(-1===r.search(/^[a-zA-Z0-9=+\/]+$/))throw new Error("Invalid character in base-64 string");if(f=r.indexOf("="),r=r.replace(/\=/g,""),-1!==f&&f'); + frame.close(); +}(this, document, 'script')) \ No newline at end of file diff --git a/snippets/iframe.min.js b/snippets/iframe.min.js new file mode 100644 index 0000000..4d74863 --- /dev/null +++ b/snippets/iframe.min.js @@ -0,0 +1,3 @@ +(function(url, main, settings) { + !function(e,t,n,o,i,d,a){e.demand={url:url,main:main,settings:settings},o=t.getElementsByTagName(n)[0],i=t.createElement("iframe"),i.src="javascript:void(0)",i.name="demand-loader",i.title="",i.role="presentation",(i.frameElement||i).style.cssText="display:none;width:0;height:0;border:0;",o.parentNode.insertBefore(i,o);try{i=i.contentWindow.document}catch(e){d=t.domain,i.src='javascript:var d=document.open();d.domain="'+d+'";void(0);',i=i.contentWindow.document}i.open()._=function(){d&&(this.domain=d),a=this.createElement(n),a.src=url,this.body.appendChild(a)},i.write(''),i.close()}(this,document,"script"); +}('../dist/demand.js', 'app/js/main', { base: './', version: '4.2.4', cache: true })); \ No newline at end of file diff --git a/snippets/wrapper.tpl b/snippets/wrapper.tpl new file mode 100644 index 0000000..fbf954b --- /dev/null +++ b/snippets/wrapper.tpl @@ -0,0 +1,3 @@ +(function(url, main, settings) { + <%= contents %> +}('../dist/demand.js', 'app/js/main', { base: './', version: '4.2.4', cache: true })); \ No newline at end of file diff --git a/src/demand.js b/src/demand.js index eab13e7..bedb0df 100644 --- a/src/demand.js +++ b/src/demand.js @@ -10,13 +10,15 @@ */ /*eslint no-unused-vars: [2, { "vars": "local", "args": "none" }]*/ -(function(global, document, options, setTimeout, clearTimeout) { +(function(global, setTimeout, clearTimeout) { 'use strict'; /* eslint-disable no-unused-vars */ - var settings = { version: '1.0.0', cache: {}, timeout: 8000, pattern: {}, modules: {}, handler: 'module' }, + var document = global.document, + options = 'demand' in global && global.demand, + settings = { version: '1.0.0', cache: {}, timeout: 8000, pattern: {}, modules: {}, handler: 'module' }, storage = {}, - queue, processor; + demand, provide, queue, processor; /* eslint-enable no-unused-vars */ // include inheritance @@ -82,4 +84,4 @@ break; } } -}(this, document, 'demand' in this && demand, setTimeout, clearTimeout)); \ No newline at end of file +}(this.name === 'demand-loader' ? parent : this, setTimeout, clearTimeout)); \ No newline at end of file diff --git a/src/function/demand.js b/src/function/demand.js index 026cd66..9fabadc 100644 --- a/src/function/demand.js +++ b/src/function/demand.js @@ -23,7 +23,8 @@ //=require class/pattern.js //=require class/loader.js -global.demand = (function() { +/*eslint no-global-assign: [2, { "exceptions": ["demand"] }]*/ +demand = global.demand = (function() { function updateCacheSettings(property, value) { this[property] = { weight: property.length, state: value }; } diff --git a/src/function/provide.js b/src/function/provide.js index 151d897..2f11784 100644 --- a/src/function/provide.js +++ b/src/function/provide.js @@ -11,7 +11,8 @@ //=require class/dependency.js //=require class/failure.js -global.provide = function provide() { +/*eslint no-global-assign: [2, { "exceptions": ["provide"] }]*/ +provide = global.provide = function provide() { var uri = validatorIsTypeOf(arguments[0], STRING_STRING) ? arguments[0] : NULL, context = this !== global ? this : NULL, dependencies = validatorIsArray(arguments[uri ? 1 : 0]) ? arguments[uri ? 1 : 0] : NULL, @@ -24,7 +25,7 @@ global.provide = function provide() { processor.process(); } - + if(uri) { module = module || new ClassDependency(uri, context); isFunction = validatorIsTypeOf(definition, STRING_FUNCTION); diff --git a/src/inheritance.js b/src/inheritance.js index 9970081..b0ebd61 100644 --- a/src/inheritance.js +++ b/src/inheritance.js @@ -1,6 +1,6 @@ /* global global, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage, - objectCreate, objectDefineProperty, objectGetOwnPropertyNames, objectGetOwnPropertyDescriptor, functionPrototype, + objectCreate, objectDefineProperty, objectGetOwnPropertyNames, objectGetOwnPropertyDescriptor, ClassDescriptor */ @@ -8,6 +8,8 @@ //=require class/descriptor.js (function() { + var descriptor; + function extend(parent) { var self = this, prototype = self.prototype, @@ -25,5 +27,8 @@ return self; } - objectDefineProperty(functionPrototype, 'extends', new ClassDescriptor(extend)); + descriptor = new ClassDescriptor(extend); + + objectDefineProperty(Function.prototype, 'extends', descriptor); + objectDefineProperty(global.Function.prototype, 'extends', descriptor); }()); \ No newline at end of file diff --git a/src/shortcuts.js b/src/shortcuts.js index e9ca03f..91a1e99 100644 --- a/src/shortcuts.js +++ b/src/shortcuts.js @@ -12,5 +12,4 @@ var arrayPrototype = Array.prototype, objectDefineProperty = object.defineProperty, objectGetOwnPropertyNames = object.getOwnPropertyNames, objectGetOwnPropertyDescriptor = object.getOwnPropertyDescriptor, - functionPrototype = Function.prototype, linkElement = document.createElement('a'); \ No newline at end of file