diff --git a/dist/cache/dispose.js b/dist/cache/dispose.js index ff82abb..6216f8d 100644 --- a/dist/cache/dispose.js +++ b/dist/cache/dispose.js @@ -1,3 +1,3 @@ -/**! Qoopido.demand 5.1.0 | https://github.com/dlueth/qoopido.demand | (c) 2018 Dirk Lueth */ +/**! Qoopido.demand 5.1.1 | https://github.com/dlueth/qoopido.demand | (c) 2018 Dirk Lueth */ !function(){"use strict";provide(["/demand/function/iterate","./states"],function(e,n){function s(e,c){return e.accessedc.accessed?1:0}return function(e){var c,t=n();for(t.sort(s);0 b.accessed) return 1;\n\t\t\telse return 0\n\t\t}\n\t\treturn function (size) {\n\t\t\tvar item, states = cacheStates();\n\t\t\tstates.sort(compareAccess);\n\t\t\twhile (size > 0 && states.length) {\n\t\t\t\tsize -= (item = states.shift())\n\t\t\t\t\t.size;\n\t\t\t\tdemand.cache.clear(item.id)\n\t\t\t}\n\t\t}\n\t}\n\tprovide([\"/demand/function/iterate\", \"./states\"], definition)\n})();\n"]} \ No newline at end of file +{"version":3,"sources":["cache/dispose.js"],"names":["provide","functionIterate","cacheStates","compareAccess","a","b","accessed","size","item","states","sort","length","shift","demand","cache","clear","id"],"mappings":";CAAA,WACA,aAkBAA,QAAA,CAAA,2BAAA,YAhBA,SAAAC,EAAAC,GACA,SAAAC,EAAAC,EAAAC,GACA,OAAAD,EAAAE,SAAAD,EAAAC,UAAA,EACAF,EAAAE,SAAAD,EAAAC,SAAA,EACA,EAEA,OAAA,SAAAC,GACA,IAAAC,EAAAC,EAAAP,IAEA,IADAO,EAAAC,KAAAP,GACA,EAAAI,GAAAE,EAAAE,QACAJ,IAAAC,EAAAC,EAAAG,SACAL,KACAM,OAAAC,MAAAC,MAAAP,EAAAQ,OAfA","file":"dispose.js","sourcesContent":["/**! Qoopido.demand 5.1.1 | https://github.com/dlueth/qoopido.demand | (c) 2018 Dirk Lueth */\n(function () {\n\t\"use strict\";\n\n\tfunction definition(functionIterate, cacheStates) {\n\t\tfunction compareAccess(a, b) {\n\t\t\tif (a.accessed < b.accessed) return -1;\n\t\t\tif (a.accessed > b.accessed) return 1;\n\t\t\telse return 0\n\t\t}\n\t\treturn function (size) {\n\t\t\tvar item, states = cacheStates();\n\t\t\tstates.sort(compareAccess);\n\t\t\twhile (size > 0 && states.length) {\n\t\t\t\tsize -= (item = states.shift())\n\t\t\t\t\t.size;\n\t\t\t\tdemand.cache.clear(item.id)\n\t\t\t}\n\t\t}\n\t}\n\tprovide([\"/demand/function/iterate\", \"./states\"], definition)\n})();\n"]} \ No newline at end of file diff --git a/dist/cache/states.js b/dist/cache/states.js index 2cae317..ae536b6 100644 --- a/dist/cache/states.js +++ b/dist/cache/states.js @@ -1,3 +1,3 @@ -/**! Qoopido.demand 5.1.0 | https://github.com/dlueth/qoopido.demand | (c) 2018 Dirk Lueth */ +/**! Qoopido.demand 5.1.1 | https://github.com/dlueth/qoopido.demand | (c) 2018 Dirk Lueth */ !function(d){"use strict";provide(["/demand/function/iterate"],function(e){function t(e){var t,n,r=e.match(c);r&&(t=function(e){var t,n=d.getItem(e);if(n&&(t=n.match(s)))return Array.prototype.slice.call(t,1)}((n=r[1],"["+a+"]["+n+"]["+i+"]")),this.push({id:r[1],version:t[0],size:parseInt(t[1],10),expires:t[2]?new Date(parseInt(t[2],10)):null,demand:t[3],accessed:new Date(parseInt(t[4],10))}))}var a="demand",i="state",c=new RegExp("^\\["+a+"\\]\\[(.+?)\\]\\["+i+"\\]$"),s=/^(.+?),(\d+),(\d*),(.+?),(\d+)$/;return function(){return e(d,t,[])}})}(localStorage); //# sourceMappingURL=states.js.map diff --git a/dist/cache/states.js.map b/dist/cache/states.js.map index abc87ed..0a84045 100644 --- a/dist/cache/states.js.map +++ b/dist/cache/states.js.map @@ -1 +1 @@ -{"version":3,"sources":["cache/states.js"],"names":["localStorage","provide","functionIterate","filterStates","property","state","id","match","regexMatchState","key","matches","getItem","regexMatchProperties","Array","prototype","slice","call","getState","PREFIX","SUFFIX","this","push","version","size","parseInt","expires","Date","demand","accessed","RegExp"],"mappings":";CAAA,SAAAA,GACA,aAkCAC,QAAA,CAAA,4BAhCA,SAAAC,GAUA,SAAAC,EAAAC,GACA,IAAAC,EALAC,EAKAC,EAAAH,EAAAG,MAAAC,GACAD,IACAF,EAZA,SAAAI,GACA,IAAAC,EAAAL,EAAAL,EAAAW,QAAAF,GACA,GAAAJ,IAAAK,EAAAL,EAAAE,MAAAK,IAAA,OAAAC,MAAAC,UAAAC,MAAAC,KAAAN,EAAA,GAUAO,EAPAX,EAOAC,EAAA,GANA,IAAAW,EAAA,KAAAZ,EAAA,KAAAa,EAAA,MAOAC,KAAAC,KAAA,CACAf,GAAAC,EAAA,GACAe,QAAAjB,EAAA,GACAkB,KAAAC,SAAAnB,EAAA,GAAA,IACAoB,QAAApB,EAAA,GAAA,IAAAqB,KAAAF,SAAAnB,EAAA,GAAA,KAAA,KACAsB,OAAAtB,EAAA,GACAuB,SAAA,IAAAF,KAAAF,SAAAnB,EAAA,GAAA,QAIA,IAAAa,EAAA,SACAC,EAAA,QACAX,EAAA,IAAAqB,OAAA,OAAAX,EAAA,oBAAAC,EAAA,QACAP,EAAA,kCACA,OAAA,WACA,OAAAV,EAAAF,EAAAG,EAAA,OAhCA,CAoCAH","file":"states.js","sourcesContent":["/**! Qoopido.demand 5.1.0 | https://github.com/dlueth/qoopido.demand | (c) 2018 Dirk Lueth */\n(function (localStorage) {\n\t\"use strict\";\n\n\tfunction definition(functionIterate) {\n\t\tfunction getState(key) {\n\t\t\tvar matches, state = localStorage.getItem(key);\n\t\t\tif (state && (matches = state.match(regexMatchProperties))) return Array.prototype.slice.call(matches, 1)\n\t\t}\n\n\t\tfunction getKey(id) {\n\t\t\treturn \"[\" + PREFIX + \"][\" + id + \"][\" + SUFFIX + \"]\"\n\t\t}\n\n\t\tfunction filterStates(property) {\n\t\t\tvar state, match = property.match(regexMatchState);\n\t\t\tif (match) {\n\t\t\t\tstate = getState(getKey(match[1]));\n\t\t\t\tthis.push({\n\t\t\t\t\tid: match[1],\n\t\t\t\t\tversion: state[0],\n\t\t\t\t\tsize: parseInt(state[1], 10),\n\t\t\t\t\texpires: state[2] ? new Date(parseInt(state[2], 10)) : null,\n\t\t\t\t\tdemand: state[3],\n\t\t\t\t\taccessed: new Date(parseInt(state[4], 10))\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t\tvar PREFIX = \"demand\",\n\t\t\tSUFFIX = \"state\",\n\t\t\tregexMatchState = new RegExp(\"^\\\\[\" + PREFIX + \"\\\\]\\\\[(.+?)\\\\]\\\\[\" + SUFFIX + \"\\\\]$\"),\n\t\t\tregexMatchProperties = /^(.+?),(\\d+),(\\d*),(.+?),(\\d+)$/;\n\t\treturn function () {\n\t\t\treturn functionIterate(localStorage, filterStates, [])\n\t\t}\n\t}\n\tprovide([\"/demand/function/iterate\"], definition)\n})(localStorage);\n"]} \ No newline at end of file +{"version":3,"sources":["cache/states.js"],"names":["localStorage","provide","functionIterate","filterStates","property","state","id","match","regexMatchState","key","matches","getItem","regexMatchProperties","Array","prototype","slice","call","getState","PREFIX","SUFFIX","this","push","version","size","parseInt","expires","Date","demand","accessed","RegExp"],"mappings":";CAAA,SAAAA,GACA,aAkCAC,QAAA,CAAA,4BAhCA,SAAAC,GAUA,SAAAC,EAAAC,GACA,IAAAC,EALAC,EAKAC,EAAAH,EAAAG,MAAAC,GACAD,IACAF,EAZA,SAAAI,GACA,IAAAC,EAAAL,EAAAL,EAAAW,QAAAF,GACA,GAAAJ,IAAAK,EAAAL,EAAAE,MAAAK,IAAA,OAAAC,MAAAC,UAAAC,MAAAC,KAAAN,EAAA,GAUAO,EAPAX,EAOAC,EAAA,GANA,IAAAW,EAAA,KAAAZ,EAAA,KAAAa,EAAA,MAOAC,KAAAC,KAAA,CACAf,GAAAC,EAAA,GACAe,QAAAjB,EAAA,GACAkB,KAAAC,SAAAnB,EAAA,GAAA,IACAoB,QAAApB,EAAA,GAAA,IAAAqB,KAAAF,SAAAnB,EAAA,GAAA,KAAA,KACAsB,OAAAtB,EAAA,GACAuB,SAAA,IAAAF,KAAAF,SAAAnB,EAAA,GAAA,QAIA,IAAAa,EAAA,SACAC,EAAA,QACAX,EAAA,IAAAqB,OAAA,OAAAX,EAAA,oBAAAC,EAAA,QACAP,EAAA,kCACA,OAAA,WACA,OAAAV,EAAAF,EAAAG,EAAA,OAhCA,CAoCAH","file":"states.js","sourcesContent":["/**! Qoopido.demand 5.1.1 | https://github.com/dlueth/qoopido.demand | (c) 2018 Dirk Lueth */\n(function (localStorage) {\n\t\"use strict\";\n\n\tfunction definition(functionIterate) {\n\t\tfunction getState(key) {\n\t\t\tvar matches, state = localStorage.getItem(key);\n\t\t\tif (state && (matches = state.match(regexMatchProperties))) return Array.prototype.slice.call(matches, 1)\n\t\t}\n\n\t\tfunction getKey(id) {\n\t\t\treturn \"[\" + PREFIX + \"][\" + id + \"][\" + SUFFIX + \"]\"\n\t\t}\n\n\t\tfunction filterStates(property) {\n\t\t\tvar state, match = property.match(regexMatchState);\n\t\t\tif (match) {\n\t\t\t\tstate = getState(getKey(match[1]));\n\t\t\t\tthis.push({\n\t\t\t\t\tid: match[1],\n\t\t\t\t\tversion: state[0],\n\t\t\t\t\tsize: parseInt(state[1], 10),\n\t\t\t\t\texpires: state[2] ? new Date(parseInt(state[2], 10)) : null,\n\t\t\t\t\tdemand: state[3],\n\t\t\t\t\taccessed: new Date(parseInt(state[4], 10))\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t\tvar PREFIX = \"demand\",\n\t\t\tSUFFIX = \"state\",\n\t\t\tregexMatchState = new RegExp(\"^\\\\[\" + PREFIX + \"\\\\]\\\\[(.+?)\\\\]\\\\[\" + SUFFIX + \"\\\\]$\"),\n\t\t\tregexMatchProperties = /^(.+?),(\\d+),(\\d*),(.+?),(\\d+)$/;\n\t\treturn function () {\n\t\t\treturn functionIterate(localStorage, filterStates, [])\n\t\t}\n\t}\n\tprovide([\"/demand/function/iterate\"], definition)\n})(localStorage);\n"]} \ No newline at end of file diff --git a/dist/demand.js b/dist/demand.js index 24441a7..db8067d 100644 --- a/dist/demand.js +++ b/dist/demand.js @@ -1,3 +1,3 @@ -/**! Qoopido.demand 5.1.0 | https://github.com/dlueth/qoopido.demand | (c) 2018 Dirk Lueth */ -!function(m,a,c){"use strict";function s(e,t,n,r){return{__proto__:we,value:e,enumerable:!!r,configurable:!!n,writable:!!t}}function h(e,t){return typeof e===t}function p(e){return e&&h(e,ke)}function v(e){return h(e,Ee)&&isFinite(e)&&Math.floor(e)===e&&0<=e}function n(e,t){return e instanceof t}function y(e,t,n){for(var r,i=Be.keys(e),o=0;(r=i[o])!==xe&&t.call(n,r,e[r])!==be;o++);return n}function w(e,t,n){return Xe.call(e,t,n)}function r(){return h(this.uuid,je)&&this.define("uuid",S()),this}function x(){return+new Date}function f(e){return Ye.href=e,Ye.href}function l(e,t){var n=e.replace(z,"");return D.test(n)||T.test(n)||(n="/"+f((t&&f(t+"/../")||"/")+n).replace(N,"")),n}function b(e,t){var n=e.match(z);return(n&&n[1]?"mock:":"")+(n&&n[3]||se.handler)+"!"+l(e,t)}function d(e,t,n){var r=this;return r.message=e,t&&(r.module=t),n&&(r.stack=w(n)),r}function t(n){function r(e,t){t&&n.handler.validate&&!n.handler.validate(t)?n.dfd.reject(new d(_e+" (content-type)",n.id)):(n.source=e,M.emit(De,n.type,n))}function i(e){n.dfd.reject(new d(_e+(e?" (status)":""),n.id))}var o,u=/^(?:\?|)$/;T.test(n.path)||y(se.pattern,function(e,t){t.matches(n.path)&&(!o||o.weight>>0}function j(e,t){for(var n,r;n=L.exec(t);)Ye.href=e,r=T.test(n[2])?Ye.protocol+"//"+Ye.host+n[3]:(Ye.pathname+="/../"+n[3],Ye.protocol+"//"+Ye.host+Ye.pathname),t=t.replace(n[0],n[1]+" "+n[2]+"="+r+".map"+(n[4]?" "+n[4]:""));return t}function i(){}function d(e,t,n){return this.message=e,t&&(this.module=t),n&&(this.stack=w(n)),this}function e(e,t){k(e,function(){return t})}var q,k,R,E,P,o,S,C,M,O,A,$,I,T,D,L,N,H,z,_,F,U,X,W,B,G,J,K,Q,V,Y,Z,ee,te,ne,re,ie,oe,ue,ae=m.document,ce="demand"in m&&m.demand,se={version:"1.0.0",cache:{},timeout:8e3,pattern:{},modules:{},handler:"module"},fe="demand",le="provide",de="/demand/",he=de+"abstract/",pe=de+"handler/",ve=de+"plugin/",ge=de+"function/",me=de+"validator/",ye="mock:",we=null,xe=void 0,be=!1,je="undefined",qe="string",ke="object",Re="function",Ee="number",Pe="post",Se=Pe+"Configure",Ce="cache",Me=Ce+"Miss",Oe=Ce+"Hit",Ae=Ce+"Exceed",$e="preResolve",Ie="Request",Te="pre"+Ie,De=Pe+Ie,Le="Process",Ne="pre"+Le,He=Pe+Le,ze="queueEnqueue",_e="error loading",Fe="error resolving",Ue=Array.prototype,Xe=Ue.slice,We=Ue.concat,Be=Object,Ge=Be.prototype.toString,Je=Be.create,Ke=Be.defineProperty,Qe=Be.getOwnPropertyNames,Ve=Be.getOwnPropertyDescriptor,Ye=ae.createElement("a");if(function(a){function e(e,t,n,r,i){Ke(this,e,new s(t,n,r,i))}function t(e){for(var t,n=this,r=n[a],i=Qe(r),o={constructor:new s(n,!0,!0)},u=0;(t=i[u])&&!o[t];u++)o[t]=Ve(r,t);try{n[a]=Je(e[a]||e,o)}catch(e){}if(n[a]===r)throw new TypeError("Unable to extend, prototype is not writable");return n}e.call(Object.prototype,"define",e),e.call(m.Object.prototype,"define",e),Function.prototype.define("extends",t),m.Function.prototype.define("extends",t)}("prototype"),Z=/^\bv?(?:0|[1-9]\d*)\.(?:0|[1-9]\d*)\.(?:0|[1-9]\d*)(?:-[\da-z-]+(?:\.[\da-z-]+)*)?(?:\+[\da-z-]+(?:\.[\da-z-]+)*)?\b$/i,P=function(e){return h(e,qe)&&Z.test(e)},o=function(){function r(e,t){var n,r=this[e];t!==xe&&(p(t)?(n=p(r),r=t.length!==xe?n&&r.length!==xe?r:[]:n&&r.length===xe?r:{},this[e]=o(r,t)):this[e]=t)}return function(){for(var e,t=arguments[0],n=1;(e=arguments[n])!==xe;n++)y(e,r,t);return t}}(),S=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");return function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(t,e)}}(),re="setImmediate"in m,C="MutationObserver"in m?function(e){ee=ae.createElement("div"),new MutationObserver(function(){e()}).observe(ee,{attributes:!0}),ee.setAttribute("i","1")}:!re&&"postMessage"in m&&!("importScripts"in m)&&"addEventListener"in m?(ne={},m.addEventListener("message",function(e){var t;e.source===m&&e.data&&(t=ne[e.data])&&(t(),delete ne[e.data])},be),function(e){var t=S();ne[t]=e,m.postMessage(t,"*")}):!re&&"onreadystatechange"in(ee=ae.createElement("script"))?function(e){ee.onreadystatechange=function(){ee.onreadystatechange=we,ee.parentNode.removeChild(ee),e()},ae.body.appendChild(ee)}:(te=re?setImmediate:a,function(e){te(e)}),M=function(){function n(e,t,n){var r,i;if(h(t,qe)&&h(n,Re))for(t=t.split(" ");r=t.shift();)r=r.split(":"),o.test(r[0])&&((u[r[0]]||(u[r[0]]={on:[],after:[]}))[e].push({callback:n,filter:r[1]}),"on"===e&&r[0]===Se&&(i=se.modules[r[1]])&&n(i))}function e(){}var o=/^cache(Miss|Hit|Clear|Exceed)|queue(En|De)queue|(pre|post)(Resolve|Configure|Request|Process|Cache)$/,u={};return e.prototype={emit:function(e,t){var n,r,i,o=u[e];if(o){for(n=w(arguments,2),r=0;i=o.on[r];r++)i.filter&&i.filter!==t||i.callback.apply(we,n);for(r=0;i=o.after[r];r++)i.filter&&i.filter!==t||i.callback.apply(we,n)}return this},on:function(e,t){return n("on",e,t),this},after:function(e,t){return n("after",e,t),this}},new e}(),O="WeakMap"in m?m.WeakMap:function(){function r(e,t){var n;if((n=t[e.id])&&n[0]===t)return n}function e(){this.define("id","weakmap-"+S())}return e.prototype={set:function(e,t){var n=r(this,e);return n?n[1]=t:e.define(this.id,[e,t]),this},get:function(e){var t=r(this,e);if(t)return t[1]},delete:function(e){var t=r(this,e);t&&(t.length=0,delete e[this.id])},has:function(e){return!!r(this,e)}},e}(),A=function(){function e(){var e=r.call(this);return t.set(e,[]),e}var t=new O;return e.prototype={enqueue:function(){var e=w(arguments);t.set(this,t.get(this).concat(e)),M.emit(ze,this.uuid,e)},dequeue:function(){var e=t.get(this).shift();return M.emit("queueDequeue",this.uuid,e),e},get current(){return t.get(this)[0]},get length(){return t.get(this).length}},e.extends(r)}(),$=function(){function t(){u.dequeue()(),u.length&&(r=n(t))}var r,i="object"==typeof m.safari&&m.safari.pushNotification?"beforeunload":"visibilitychange",n=m.requestIdleCallback||function(e){var t=+new Date;return a(function(){e({didTimeout:be,timeRemaining:function(){return Math.max(0,50-(+new Date-t))}})})},o=m.cancelIdleCallback||function(e){c(e)},u=new A;return m.addEventListener(i,function e(t){var n;if(u.length&&("visibilitychange"!==t.type||"hidden"===ae.visibilityState))for(m.removeEventListener(i,e,!0),r=o(r);n&&n(),n=u.dequeue(););},!0),function(e){u.enqueue(e),!r&&u.length&&(r=n(t))}}(),ie=/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,I=function(e){return e.replace(ie,"\\$&")},T=/^(http(s?):)?\/\//i,D=/^\//,L=/((?:\/\/|\/\*)#)\s*(sourceMappingURL)\s*=\s*(?!(?:http[s]?:)?\/\/)(.+?)\.map(?:\s+)?(\*\/)?/g,N=new RegExp("^"+I(f("/"))),H=new RegExp("^demand|"+le+"|path$"),z=/^(mock:)?([+-])?((?:[-\w]+\/?)+)?(?:@(.+?))?(?:#(\d+))?!/,_=function(){function t(e,t){return er.weight)&&(r=t)}),r?r.state:be)}function r(e){return p.getItem(e)}function o(e,t){p[t?"setItem":"removeItem"](e,t)}function u(e){var t,n=r(e);if(n&&(t=n.match(h)))return w(t,1)}function a(e,t){t[4]=x(),o(e,t.join(","))}function c(e,t,n){M.emit(e,t.id,t,n)}function e(){$(this.clear.expired.bind(this.clear))}var n,s="[demand]",f="[state]",l="[value]",d=new RegExp("^"+I(s)+"\\[(.+?)\\]"+I(f)+"$"),h=/^(.+?),(\d+),(\d*),(.+?),(\d+)$/,t=function(){try{return"localStorage"in m&&m.localStorage}catch(e){return be}}(),p=t?m.localStorage:we,v=t&&"remainingSpace"in p,g={};return M.on(Me,function(e){$(function(){n.clear(e.id)})}).on(Ae,function(t){q("-!/demand/cache/dispose").then(function(e){$(function(){e(t.source.length),n.set(t)})})}).on(De,function(e){e.source&&i(e)&&(g[e.id]=!0)}).after(He,function(e){g[e.id]&&$(function(){n.set(e)})}),(e.prototype={get:t?function(e){var t,n;if(i(e)){if(t=s+"["+e.id+"]",!(n=u(t+f)))return;return 1===e.version.compare(new _(n[0]))||n[2]&&e.lifetime&&n[2]<=x()?void(e.invalid=!0):(e.source=r(t+l),$(function(){a(t+f,n)}),!0)}}:function(){},resolve:t?function(e){this.get(e)?c(Oe,e):c(Me,e)}:function(e){c(Me,e)},set:t?function(t){var e,n,r;if(i(t)){e=[t.version,t.source.length,t.lifetime?x()+t.lifetime:we,q.version],n=s+"["+t.id+"]",c("preCache",t,e);try{if(r=v?p.remainingSpace:we,o(n+l,t.source),a(n+f,e),r!==we&&p.remainingSpace===r)throw new Error;c("postCache",t,e)}catch(e){c(Ae,t)}}}:function(){},clear:t?function(e){var t=b(e),n=s+"["+t+"]";r(n+f)&&(o(n+f),o(n+l),c("cacheClear",W.get(t)||new W(t,we,be)))}:function(){}}).clear.all=t?function(){var t;y(p,function(e){(t=e.match(d))&&this(t[1])},this)}:function(){},e.prototype.clear.expired=t?function(){var t,n;y(p,function(e){(t=e.match(d))&&(n=u(s+"["+t[1]+"]"+f))&&0 "+r.message+" "+(r.module?'"'+r.module+'"':""),r.stack&&(t=d.traverse(r.stack,t,n+1));return t},W=function(){function o(e,t){this[e]=t}function e(e){s.test(e)||this.push(e)}function t(e,t){!s.test(e)&&t.pledge.isPending()&&this.push(e)}function n(e,t){!s.test(e)&&t.pledge.isResolved()&&this.push(e)}function r(e,t){!s.test(e)&&t.pledge.isRejected()&&this.push(e)}function i(){return y(c.get(),e,[])}function u(e,t,n){var r=this,i=e.match(z)||f;return r.path=l(e,t),r.mock=!!i[1]||be,r.cache=i[2]?"+"===i[1]:we,r.type=i[3]||se.handler,r.version=new _(i[4]||se.version),r.lifetime=i[5]&&1e3*i[5]||se.lifetime,r.id=(r.mock?ye:"")+r.type+"!"+r.path,r.uri=(r.mock?ye:"")+r.type+"@"+r.version+(v(r.lifetime)&&0 "+r.message+" "+(r.module?'"'+r.module+'"':""),r.stack&&(t=d.traverse(r.stack,t,n+1));return t},Q=function(){function t(e,t){var n,r;for(n=0;r=t[n];n++)h(r,qe)&&(t[n]=b(r))}function e(){}var f={};return q.on(Se+":/demand/handler/bundle",function(e){p(e)&&y(f=e,t)}),e.prototype={validate:K.validate,onPreProcess:function(e){function t(){c.reject(new d(Fe,e.id,arguments))}var n,r,i,o,u,a=e.source,c=e.dfd,s=f[e.path];if(e.enqueue=be,s&&(n=function(e){for(var t,n,r=0;n=e[r];r++)if(n=(n=n.match(z))&&n[3]||f.handler,t){if(n!==t)return be}else t=n;return t}(s))){for(;r=L.exec(a);)a=a.replace(r[0],"");for(e.source=a,i=[],u=0;o=s[u];u++)i.push(W.resolve(ye+o).pledge);U.all(i).then(function(){for(i.length=0,u=0;o=s[u];u++)(o=s[u]=W.get(o)||new W(o)).handler=arguments[u],i.push(o.pledge);"module"===n?(R.enqueue.apply(R,s),K.process(e)):(K.process(e),R.enqueue.apply(R,s)),U.all(i).then(c.resolve,t)},t)}else t()}},new(e.extends(i))}(),V=function(){function e(){}var n=".html",t=/^text\/.+$/;return e.prototype={validate:function(e){return t.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=j(e.url,e.source)},onPreProcess:function(e){function r(){a.reject(new d(Fe,e.id,arguments))}var t,n,i,o,u=e.path,a=e.dfd,c=ae.createElement("body"),s=[],f=[];for(e.enqueue=be,c.innerHTML=e.source;t=c.firstElementChild;)(n=t.getAttribute("type"))&&(o=n+"!"+u+((i=t.getAttribute("path"))?"/"+i:""),t.parentNode.removeChild(t),s.push({source:t.textContent,uri:o}),f.push(W.resolve("mock:"+o).pledge));U.all(f).then(function(){var e,t,n=0;for(f.length=0;e=s[n];n++)(t=W.get(e.uri)||new W(e.uri)).source=j(t.url,e.source),t.handler=arguments[n],f.push(t.pledge),R.enqueue(t);U.all(f).then(a.resolve,r)},r)}},new(e.extends(i))}(),Y=function(){function u(e){for(var t,n,r=0;t=i[r];r++)0===e.indexOf(t.prefix)&&(!n||t.weight>n.weight)&&(n=t);return n}function t(e,t){i.push({prefix:e,weight:e.length,fn:t})}function a(e,t){var n,r=t.matches,i=0;if(1>>0}function j(e,t){for(var n,r;n=N.exec(t);)Ye.href=e,r=T.test(n[2])?Ye.protocol+"//"+Ye.host+n[3]:(Ye.pathname+="/../"+n[3],Ye.protocol+"//"+Ye.host+Ye.pathname),t=t.replace(n[0],n[1]+" "+n[2]+"="+r+".map"+(n[4]?" "+n[4]:""));return t}function i(){}function d(e,t,n){return this.message=e,t&&(this.module=t),n&&(this.stack=w(n)),this}function e(e,t){k(e,function(){return t})}var q,k,R,E,P,o,S,C,M,O,A,$,I,T,D,N,H,L,z,_,F,U,X,W,B,G,J,K,Q,V,Y,Z,ee,te,ne,re,ie,oe,ue,ae=m.document,ce="demand"in m&&m.demand,se={version:"1.0.0",cache:{},timeout:8e3,pattern:{},modules:{},handler:"module"},fe="demand",le="provide",de="/demand/",he=de+"abstract/",pe=de+"handler/",ve=de+"plugin/",ge=de+"function/",me=de+"validator/",ye="mock:",we=null,xe=void 0,be=!1,je="undefined",qe="string",ke="object",Re="function",Ee="number",Pe="post",Se=Pe+"Configure",Ce="cache",Me=Ce+"Miss",Oe=Ce+"Hit",Ae=Ce+"Exceed",$e="preResolve",Ie="Request",Te="pre"+Ie,De=Pe+Ie,Ne="Process",He="pre"+Ne,Le=Pe+Ne,ze="queueEnqueue",_e="error loading",Fe="error resolving",Ue=Array.prototype,Xe=Ue.slice,We=Ue.concat,Be=Object,Ge=Be.prototype.toString,Je=Be.create,Ke=Be.defineProperty,Qe=Be.getOwnPropertyNames,Ve=Be.getOwnPropertyDescriptor,Ye=ae.createElement("a");if(function(a){function e(e,t,n,r,i){Ke(this,e,new c(t,n,r,i))}function t(e){for(var t,n=this,r=n[a],i=Qe(r),o={constructor:new c(n,!0,!0)},u=0;(t=i[u])&&!o[t];u++)o[t]=Ve(r,t);try{n[a]=Je(e[a]||e,o)}catch(e){}if(n[a]===r)throw new TypeError("Unable to extend, prototype is not writable");return n}e.call(Object.prototype,"define",e),e.call(m.Object.prototype,"define",e),Function.prototype.define("extends",t),m.Function.prototype.define("extends",t)}("prototype"),Z=/^\bv?(?:0|[1-9]\d*)\.(?:0|[1-9]\d*)\.(?:0|[1-9]\d*)(?:-[\da-z-]+(?:\.[\da-z-]+)*)?(?:\+[\da-z-]+(?:\.[\da-z-]+)*)?\b$/i,P=function(e){return h(e,qe)&&Z.test(e)},o=function(){function r(e,t){var n,r=this[e];t!==xe&&(p(t)?(n=p(r),r=t.length!==xe?n&&r.length!==xe?r:[]:n&&r.length===xe?r:{},this[e]=o(r,t)):this[e]=t)}return function(){for(var e,t=arguments[0],n=1;(e=arguments[n])!==xe;n++)y(e,r,t);return t}}(),S=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");return function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(t,e)}}(),re="setImmediate"in m,C="MutationObserver"in m?function(e){ee=ae.createElement("div"),new MutationObserver(function(){e()}).observe(ee,{attributes:!0}),ee.setAttribute("i","1")}:!re&&"postMessage"in m&&!("importScripts"in m)&&"addEventListener"in m?(ne={},m.addEventListener("message",function(e){var t;e.source===m&&e.data&&(t=ne[e.data])&&(t(),delete ne[e.data])},be),function(e){var t=S();ne[t]=e,m.postMessage(t,"*")}):!re&&"onreadystatechange"in(ee=ae.createElement("script"))?function(e){ee.onreadystatechange=function(){ee.onreadystatechange=we,ee.parentNode.removeChild(ee),e()},ae.body.appendChild(ee)}:(te=re?setImmediate:u,function(e){te(e)}),M=function(){function n(e,t,n){var r,i;if(h(t,qe)&&h(n,Re))for(t=t.split(" ");r=t.shift();)r=r.split(":"),o.test(r[0])&&((u[r[0]]||(u[r[0]]={on:[],after:[]}))[e].push({callback:n,filter:r[1]}),"on"===e&&r[0]===Se&&(i=se.modules[r[1]])&&n(i))}function e(){}var o=/^cache(Miss|Hit|Clear|Exceed)|queue(En|De)queue|(pre|post)(Resolve|Configure|Request|Process|Cache)$/,u={};return e.prototype={emit:function(e,t){var n,r,i,o=u[e];if(o){for(n=w(arguments,2),r=0;i=o.on[r];r++)i.filter&&i.filter!==t||i.callback.apply(we,n);for(r=0;i=o.after[r];r++)i.filter&&i.filter!==t||i.callback.apply(we,n)}return this},on:function(e,t){return n("on",e,t),this},after:function(e,t){return n("after",e,t),this}},new e}(),O="WeakMap"in m?m.WeakMap:function(){function r(e,t){var n;if((n=t[e.id])&&n[0]===t)return n}function e(){this.define("id","weakmap-"+S())}return e.prototype={set:function(e,t){var n=r(this,e);return n?n[1]=t:e.define(this.id,[e,t]),this},get:function(e){var t=r(this,e);if(t)return t[1]},delete:function(e){var t=r(this,e);t&&(t.length=0,delete e[this.id])},has:function(e){return!!r(this,e)}},e}(),A=function(){function e(){var e=r.call(this);return t.set(e,[]),e}var t=new O;return e.prototype={enqueue:function(){var e=w(arguments);t.set(this,t.get(this).concat(e)),M.emit(ze,this.uuid,e)},dequeue:function(){var e=t.get(this).shift();return M.emit("queueDequeue",this.uuid,e),e},get current(){return t.get(this)[0]},get length(){return t.get(this).length}},e.extends(r)}(),$=function(){function t(){o.dequeue()(),o.length&&(n=r(t))}var n,e="object"==typeof m.safari&&m.safari.pushNotification?"beforeunload":"visibilitychange",r=m.requestIdleCallback||function(e){var t=+new Date;return u(function(){e({didTimeout:be,timeRemaining:function(){return Math.max(0,50-(+new Date-t))}})})},i=m.cancelIdleCallback||function(e){a(e)},o=new A;return m.addEventListener(e,function(e){var t;if(o.length&&("visibilitychange"!==e.type||"hidden"===ae.visibilityState))for(n=i(n);t&&t(),t=o.dequeue(););},!0),function(e){o.enqueue(e),!n&&o.length&&(n=r(t))}}(),ie=/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,I=function(e){return e.replace(ie,"\\$&")},T=/^(http(s?):)?\/\//i,D=/^\//,N=/((?:\/\/|\/\*)#)\s*(sourceMappingURL)\s*=\s*(?!(?:http[s]?:)?\/\/)(.+?)\.map(?:\s+)?(\*\/)?/g,H=new RegExp("^"+I(s("/"))),L=new RegExp("^demand|"+le+"|path$"),z=/^(mock:)?([+-])?((?:[-\w]+\/?)+)?(?:@(.+?))?(?:#(\d+))?!/,_=function(){function t(e,t){return er.weight)&&(r=t)}),r?r.state:be)}function r(e){return p.getItem(e)}function o(e,t){p[t?"setItem":"removeItem"](e,t)}function u(e){var t,n=r(e);if(n&&(t=n.match(h)))return w(t,1)}function a(e,t){t[4]=x(),o(e,t.join(","))}function c(e,t,n){M.emit(e,t.id,t,n)}function e(){$(this.clear.expired.bind(this.clear))}var n,s="[demand]",f="[state]",l="[value]",d=new RegExp("^"+I(s)+"\\[(.+?)\\]"+I(f)+"$"),h=/^(.+?),(\d+),(\d*),(.+?),(\d+)$/,t=function(){try{return"localStorage"in m&&m.localStorage}catch(e){return be}}(),p=t?m.localStorage:we,v=t&&"remainingSpace"in p,g={};return M.on(Me,function(e){$(function(){n.clear(e.id)})}).on(Ae,function(t){q("-!/demand/cache/dispose").then(function(e){$(function(){e(t.source.length),n.set(t)})})}).on(De,function(e){e.source&&i(e)&&(g[e.id]=!0)}).after(Le,function(e){g[e.id]&&$(function(){n.set(e)})}),(e.prototype={get:t?function(e){var t,n;if(i(e)){if(t=s+"["+e.id+"]",!(n=u(t+f)))return;return 1===e.version.compare(new _(n[0]))||n[2]&&e.lifetime&&n[2]<=x()?void(e.invalid=!0):(e.source=r(t+l),$(function(){a(t+f,n)}),!0)}}:function(){},resolve:t?function(e){this.get(e)?c(Oe,e):c(Me,e)}:function(e){c(Me,e)},set:t?function(t){var e,n,r;if(i(t)){e=[t.version,t.source.length,t.lifetime?x()+t.lifetime:we,q.version],n=s+"["+t.id+"]",c("preCache",t,e);try{if(r=v?p.remainingSpace:we,o(n+l,t.source),a(n+f,e),r!==we&&p.remainingSpace===r)throw new Error;c("postCache",t,e)}catch(e){c(Ae,t)}}}:function(){},clear:t?function(e){var t=b(e),n=s+"["+t+"]";r(n+f)&&(o(n+f),o(n+l),c("cacheClear",W.get(t)||new W(t,we,be)))}:function(){}}).clear.all=t?function(){var t;y(p,function(e){(t=e.match(d))&&this(t[1])},this)}:function(){},e.prototype.clear.expired=t?function(){var t,n;y(p,function(e){(t=e.match(d))&&(n=u(s+"["+t[1]+"]"+f))&&0 "+r.message+" "+(r.module?'"'+r.module+'"':""),r.stack&&(t=d.traverse(r.stack,t,n+1));return t},W=function(){function o(e,t){this[e]=t}function e(e){s.test(e)||this.push(e)}function t(e,t){!s.test(e)&&t.pledge.isPending()&&this.push(e)}function n(e,t){!s.test(e)&&t.pledge.isResolved()&&this.push(e)}function r(e,t){!s.test(e)&&t.pledge.isRejected()&&this.push(e)}function i(){return y(c.get(),e,[])}function u(e,t,n){var r=this,i=e.match(z)||f;return r.path=l(e,t),r.mock=!!i[1]||be,r.cache=i[2]?"+"===i[1]:we,r.type=i[3]||se.handler,r.version=new _(i[4]||se.version),r.lifetime=i[5]&&1e3*i[5]||se.lifetime,r.id=(r.mock?ye:"")+r.type+"!"+r.path,r.uri=(r.mock?ye:"")+r.type+"@"+r.version+(v(r.lifetime)&&0 "+r.message+" "+(r.module?'"'+r.module+'"':""),r.stack&&(t=d.traverse(r.stack,t,n+1));return t},Q=function(){function t(e,t){var n,r;for(n=0;r=t[n];n++)h(r,qe)&&(t[n]=b(r))}function e(){}var f={};return q.on(Se+":/demand/handler/bundle",function(e){p(e)&&y(f=e,t)}),e.prototype={validate:K.validate,onPreProcess:function(e){function t(){c.reject(new d(Fe,e.id,arguments))}var n,r,i,o,u,a=e.source,c=e.dfd,s=f[e.path];if(e.enqueue=be,s&&(n=function(e){for(var t,n,r=0;n=e[r];r++)if(n=(n=n.match(z))&&n[3]||f.handler,t){if(n!==t)return be}else t=n;return t}(s))){for(;r=N.exec(a);)a=a.replace(r[0],"");for(e.source=a,i=[],u=0;o=s[u];u++)i.push(W.resolve(ye+o).pledge);U.all(i).then(function(){for(i.length=0,u=0;o=s[u];u++)(o=s[u]=W.get(o)||new W(o)).handler=arguments[u],i.push(o.pledge);"module"===n?(R.enqueue.apply(R,s),K.process(e)):(K.process(e),R.enqueue.apply(R,s)),U.all(i).then(c.resolve,t)},t)}else t()}},new(e.extends(i))}(),V=function(){function e(){}var n=".html",t=/^text\/.+$/;return e.prototype={validate:function(e){return t.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=j(e.url,e.source)},onPreProcess:function(e){function r(){a.reject(new d(Fe,e.id,arguments))}var t,n,i,o,u=e.path,a=e.dfd,c=ae.createElement("body"),s=[],f=[];for(e.enqueue=be,c.innerHTML=e.source;t=c.firstElementChild;)(n=t.getAttribute("type"))&&(o=n+"!"+u+((i=t.getAttribute("path"))?"/"+i:""),t.parentNode.removeChild(t),s.push({source:t.textContent,uri:o}),f.push(W.resolve("mock:"+o).pledge));U.all(f).then(function(){var e,t,n=0;for(f.length=0;e=s[n];n++)(t=W.get(e.uri)||new W(e.uri)).source=j(t.url,e.source),t.handler=arguments[n],f.push(t.pledge),R.enqueue(t);U.all(f).then(a.resolve,r)},r)}},new(e.extends(i))}(),Y=function(){function u(e){for(var t,n,r=0;t=i[r];r++)0===e.indexOf(t.prefix)&&(!n||t.weight>n.weight)&&(n=t);return n}function t(e,t){i.push({prefix:e,weight:e.length,fn:t})}function a(e,t){var n,r=t.matches,i=0;if(1= 0\n\t}\n\n\tfunction validatorIsInstanceOf(object, module) {\n\t\treturn object instanceof module\n\t}\n\n\tfunction functionIterate(source, callback, context) {\n\t\tfor (var property, properties = object.keys(source), i = 0;\n\t\t\t(property = properties[i]) !== UNDEFINED; i++)\n\t\t\tif (callback.call(context, property, source[property]) === FALSE) break;\n\t\treturn context\n\t}\n\n\tfunction functionToArray(arrayLikeObject, start, end) {\n\t\treturn arrayPrototypeSlice.call(arrayLikeObject, start, end)\n\t}\n\n\tfunction AbstractUuid() {\n\t\tif (validatorIsTypeOf(this.uuid, STRING_UNDEFINED)) this.define(\"uuid\", functionUuid());\n\t\treturn this\n\t}\n\n\tfunction functionGetTimestamp() {\n\t\treturn +new Date\n\t}\n\n\tfunction functionResolveUrl(url) {\n\t\tlinkElement.href = url;\n\t\treturn linkElement.href\n\t}\n\n\tfunction functionResolvePath(uri, context) {\n\t\tvar path = uri.replace(regexMatchParameter, \"\");\n\t\tif (!regexIsAbsolutePath.test(path) && !regexIsAbsoluteUri.test(path)) path = \"/\" + functionResolveUrl((context && functionResolveUrl(context + \"/../\") || \"/\") + path)\n\t\t\t.replace(regexMatchBaseUrl, \"\");\n\t\treturn path\n\t}\n\n\tfunction functionResolveId(uri, context) {\n\t\tvar parameter = uri.match(regexMatchParameter);\n\t\treturn (parameter && parameter[1] ? \"mock:\" : \"\") + (parameter && parameter[3] || settings.handler) + \"!\" + functionResolvePath(uri, context)\n\t}\n\n\tfunction ClassFailure(message, module, stack) {\n\t\tvar self = this;\n\t\tself.message = message;\n\t\tmodule && (self.module = module);\n\t\tstack && (self.stack = functionToArray(stack));\n\t\treturn self\n\t}\n\n\tfunction ClassLoader(dependency) {\n\t\tfunction resolve(response, type) {\n\t\t\tif (!type || !dependency.handler.validate || dependency.handler.validate(type)) {\n\t\t\t\tdependency.source = response;\n\t\t\t\tsingletonEvent.emit(EVENT_POST_REQUEST, dependency.type, dependency)\n\t\t\t} else dependency.dfd.reject(new ClassFailure(ERROR_LOAD + \" (content-type)\", dependency.id))\n\t\t}\n\n\t\tfunction reject(status) {\n\t\t\tdependency.dfd.reject(new ClassFailure(ERROR_LOAD + (status ? \" (status)\" : \"\"), dependency.id))\n\t\t}\n\n\t\tfunction load(location) {\n\t\t\tlocation = location || 0;\n\t\t\tdependency.url = document.createElement(\"a\");\n\t\t\tdependency.url.href = pattern ? functionResolveUrl(pattern.process(dependency.path, location)) : dependency.path;\n\t\t\tif (dependency.invalid) dependency.url.search += (regexMatchEmptySearch.test(dependency.url.search) ? \"\" : \"&\") + functionGetTimestamp();\n\t\t\tsingletonEvent.emit(EVENT_PRE_REQUEST, dependency.type, dependency);\n\t\t\tnew ClassXhr(dependency.url)\n\t\t\t\t.then(resolve, pattern ? function () {\n\t\t\t\t\tlocation++;\n\t\t\t\t\tif (pattern.location[location]) load(location);\n\t\t\t\t\telse reject()\n\t\t\t\t} : reject)\n\t\t}\n\t\tvar pattern, regexMatchEmptySearch = /^(?:\\?|)$/;\n\t\tif (!regexIsAbsoluteUri.test(dependency.path)) functionIterate(settings.pattern, function (property, value) {\n\t\t\tvalue.matches(dependency.path) && (!pattern || pattern.weight < value.weight) && (pattern = value)\n\t\t});\n\t\tload()\n\t}\n\n\tfunction validatorIsArray(value) {\n\t\treturn \"[object Array]\" === objectPrototypeToString.call(value)\n\t}\n\n\tfunction functionHash(input) {\n\t\tvar value = 5381,\n\t\t\ti = input.length;\n\t\twhile (i) value = 33 * value ^ input.charCodeAt(--i);\n\t\treturn value >>> 0\n\t}\n\n\tfunction functionResolveSourcemaps(url, source) {\n\t\tvar match, replacement;\n\t\twhile (match = regexMatchSourcemap.exec(source)) {\n\t\t\tlinkElement.href = url;\n\t\t\tif (regexIsAbsoluteUri.test(match[2])) replacement = linkElement.protocol + \"//\" + linkElement.host + match[3];\n\t\t\telse {\n\t\t\t\tlinkElement.pathname += \"/../\" + match[3];\n\t\t\t\treplacement = linkElement.protocol + \"//\" + linkElement.host + linkElement.pathname\n\t\t\t}\n\t\t\tsource = source.replace(match[0], match[1] + \" \" + match[2] + \"=\" + replacement + \".map\" + (match[4] ? \" \" + match[4] : \"\"))\n\t\t}\n\t\treturn source\n\t}\n\n\tfunction abstractHandler() {}\n\n\tfunction ClassFailure(message, module, stack) {\n\t\tvar self = this;\n\t\tself.message = message;\n\t\tmodule && (self.module = module);\n\t\tstack && (self.stack = functionToArray(stack));\n\t\treturn self\n\t}\n\n\tfunction assignModule(id, module) {\n\t\tprovide(id, function () {\n\t\t\treturn module\n\t\t})\n\t}\n\tvar demand, provide, queue, processor, validatorIsSemver, functionMerge, functionUuid, functionDefer, singletonEvent, ClassWeakmap, ClassQueue, functionIdle, functionEscapeRegex, regexIsAbsoluteUri, regexIsAbsolutePath, regexMatchSourcemap, regexMatchBaseUrl, regexMatchInternal, regexMatchParameter, ClassSemver, singletonCache, ClassPledge, ClassRegistry, ClassDependency, ClassPattern, ClassXhr, ClassProcessor, handlerModule, handlerBundle, handlerComponent, pluginGenie, document = global.document,\n\t\toptions = \"demand\" in global && global.demand,\n\t\tsettings = {\n\t\t\tversion: \"1.0.0\",\n\t\t\tcache: {},\n\t\t\ttimeout: 8e3,\n\t\t\tpattern: {},\n\t\t\tmodules: {},\n\t\t\thandler: \"module\"\n\t\t},\n\t\tDEMAND_ID = \"demand\",\n\t\tPROVIDE_ID = \"provide\",\n\t\tPATH_ID = \"path\",\n\t\tMODULE_PREFIX = \"/\" + DEMAND_ID + \"/\",\n\t\tMODULE_PREFIX_ABSTRACT = MODULE_PREFIX + \"abstract/\",\n\t\tMODULE_PREFIX_HANDLER = MODULE_PREFIX + \"handler/\",\n\t\tMODULE_PREFIX_PLUGIN = MODULE_PREFIX + \"plugin/\",\n\t\tMODULE_PREFIX_FUNCTION = MODULE_PREFIX + \"function/\",\n\t\tMODULE_PREFIX_VALIDATOR = MODULE_PREFIX + \"validator/\",\n\t\tMOCK_PREFIX = \"mock:\",\n\t\tNULL = null,\n\t\tUNDEFINED = void 0,\n\t\tFALSE = false,\n\t\tTRUE = true,\n\t\tSTRING_UNDEFINED = \"undefined\",\n\t\tSTRING_STRING = \"string\",\n\t\tSTRING_BOOLEAN = \"boolean\",\n\t\tSTRING_OBJECT = \"object\",\n\t\tSTRING_FUNCTION = \"function\",\n\t\tSTRING_NUMBER = \"number\",\n\t\tEVENT_PREFIX = \"pre\",\n\t\tEVENT_POSTFIX = \"post\",\n\t\tEVENT_CONFIGURE = \"Configure\",\n\t\tEVENT_PRE_CONFIGURE = EVENT_PREFIX + EVENT_CONFIGURE,\n\t\tEVENT_POST_CONFIGURE = EVENT_POSTFIX + EVENT_CONFIGURE,\n\t\tEVENT_CACHE = \"cache\",\n\t\tEVENT_CACHE_MISS = EVENT_CACHE + \"Miss\",\n\t\tEVENT_CACHE_HIT = EVENT_CACHE + \"Hit\",\n\t\tEVENT_CACHE_CLEAR = EVENT_CACHE + \"Clear\",\n\t\tEVENT_CACHE_EXCEED = EVENT_CACHE + \"Exceed\",\n\t\tEVENT_PRE_CACHE = EVENT_PREFIX + \"Cache\",\n\t\tEVENT_POST_CACHE = EVENT_POSTFIX + \"Cache\",\n\t\tEVENT_RESOLVE = \"Resolve\",\n\t\tEVENT_PRE_RESOLVE = EVENT_PREFIX + EVENT_RESOLVE,\n\t\tEVENT_POST_RESOLVE = EVENT_POSTFIX + EVENT_RESOLVE,\n\t\tEVENT_REQUEST = \"Request\",\n\t\tEVENT_PRE_REQUEST = EVENT_PREFIX + EVENT_REQUEST,\n\t\tEVENT_POST_REQUEST = EVENT_POSTFIX + EVENT_REQUEST,\n\t\tEVENT_PROCESS = \"Process\",\n\t\tEVENT_PRE_PROCESS = EVENT_PREFIX + EVENT_PROCESS,\n\t\tEVENT_POST_PROCESS = EVENT_POSTFIX + EVENT_PROCESS,\n\t\tEVENT_QUEUE = \"queue\",\n\t\tEVENT_QUEUE_ENQUEUE = EVENT_QUEUE + \"Enqueue\",\n\t\tEVENT_QUEUE_DEQUEUE = EVENT_QUEUE + \"Dequeue\",\n\t\tERROR_LOAD = \"error loading\",\n\t\tERROR_PROVIDE = \"error providing\",\n\t\tERROR_RESOLVE = \"error resolving\",\n\t\tERROR_PROVIDE_ANONYMOUS = \"unspecified anonymous provide\",\n\t\tarrayPrototype = Array.prototype,\n\t\tarrayPrototypeSlice = arrayPrototype.slice,\n\t\tarrayPrototypeConcat = arrayPrototype.concat,\n\t\tobject = Object,\n\t\tobjectPrototypeToString = object.prototype.toString,\n\t\tobjectCreate = object.create,\n\t\tobjectDefineProperty = object.defineProperty,\n\t\tobjectGetOwnPropertyNames = object.getOwnPropertyNames,\n\t\tobjectGetOwnPropertyDescriptor = object.getOwnPropertyDescriptor,\n\t\tlinkElement = document.createElement(\"a\");\n\t(function (strPrototype) {\n\t\tfunction objectDefine(name, value, writable, configurable, enumerable) {\n\t\t\tobjectDefineProperty(this, name, new ClassDescriptor(value, writable, configurable, enumerable))\n\t\t}\n\n\t\tfunction functionExtends(source) {\n\t\t\tfor (var property, self = this, prototype = self[strPrototype], names = objectGetOwnPropertyNames(prototype), properties = {\n\t\t\t\t\tconstructor: new ClassDescriptor(self, TRUE, TRUE)\n\t\t\t\t}, i = 0;\n\t\t\t\t(property = names[i]) && !properties[property]; i++) properties[property] = objectGetOwnPropertyDescriptor(prototype, property);\n\t\t\ttry {\n\t\t\t\tself[strPrototype] = objectCreate(source[strPrototype] || source, properties)\n\t\t\t} catch (e) {}\n\t\t\tif (self[strPrototype] === prototype) throw new TypeError(\"Unable to extend, prototype is not writable\");\n\t\t\treturn self\n\t\t}\n\t\tobjectDefine.call(Object.prototype, \"define\", objectDefine);\n\t\tobjectDefine.call(global.Object.prototype, \"define\", objectDefine);\n\t\tFunction.prototype.define(\"extends\", functionExtends);\n\t\tglobal.Function.prototype.define(\"extends\", functionExtends)\n\t})(\"prototype\");\n\tvalidatorIsSemver = function () {\n\t\tvar regexMatchSemver = /^\\bv?(?:0|[1-9]\\d*)\\.(?:0|[1-9]\\d*)\\.(?:0|[1-9]\\d*)(?:-[\\da-z-]+(?:\\.[\\da-z-]+)*)?(?:\\+[\\da-z-]+(?:\\.[\\da-z-]+)*)?\\b$/i;\n\t\treturn function (value) {\n\t\t\treturn validatorIsTypeOf(value, STRING_STRING) && regexMatchSemver.test(value)\n\t\t}\n\t}();\n\tfunctionMerge = function () {\n\t\tfunction mergeProperties(property, value) {\n\t\t\tvar targetPropertyIsObject, targetProperty = this[property];\n\t\t\tif (value !== UNDEFINED)\n\t\t\t\tif (validatorIsObject(value)) {\n\t\t\t\t\ttargetPropertyIsObject = validatorIsObject(targetProperty);\n\t\t\t\t\tif (value.length !== UNDEFINED) targetProperty = targetPropertyIsObject && targetProperty.length !== UNDEFINED ? targetProperty : [];\n\t\t\t\t\telse targetProperty = targetPropertyIsObject && targetProperty.length === UNDEFINED ? targetProperty : {};\n\t\t\t\t\tthis[property] = functionMerge(targetProperty, value)\n\t\t\t\t} else this[property] = value\n\t\t}\n\t\treturn function () {\n\t\t\tfor (var properties, target = arguments[0], i = 1;\n\t\t\t\t(properties = arguments[i]) !== UNDEFINED; i++) functionIterate(properties, mergeProperties, target);\n\t\t\treturn target\n\t\t}\n\t}();\n\tfunctionUuid = function () {\n\t\tfunction randomize(character) {\n\t\t\tvar r = 16 * Math.random() | 0;\n\t\t\treturn (\"x\" === character ? r : 3 & r | 8)\n\t\t\t\t.toString(16)\n\t\t}\n\t\tvar regex = new RegExp(\"[xy]\", \"g\");\n\t\treturn function () {\n\t\t\treturn \"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(regex, randomize)\n\t\t}\n\t}();\n\tfunctionDefer = function () {\n\t\tvar element, fallback, hasSetImmediate = \"setImmediate\" in global;\n\t\tif (\"MutationObserver\" in global) return function (fn) {\n\t\t\telement = document.createElement(\"div\");\n\t\t\tnew MutationObserver(function () {\n\t\t\t\t\tfn()\n\t\t\t\t})\n\t\t\t\t.observe(element, {\n\t\t\t\t\tattributes: TRUE\n\t\t\t\t});\n\t\t\telement.setAttribute(\"i\", \"1\")\n\t\t};\n\t\tif (!hasSetImmediate && \"postMessage\" in global && !(\"importScripts\" in global) && \"addEventListener\" in global) return function () {\n\t\t\tfunction onMessage(event) {\n\t\t\t\tvar fn;\n\t\t\t\tif (event.source === global && event.data && (fn = storage[event.data])) {\n\t\t\t\t\tfn();\n\t\t\t\t\tdelete storage[event.data]\n\t\t\t\t}\n\t\t\t}\n\t\t\tvar storage = {};\n\t\t\tglobal.addEventListener(\"message\", onMessage, FALSE);\n\t\t\treturn function (fn) {\n\t\t\t\tvar uuid = functionUuid();\n\t\t\t\tstorage[uuid] = fn;\n\t\t\t\tglobal.postMessage(uuid, \"*\")\n\t\t\t}\n\t\t}();\n\t\tif (!hasSetImmediate && \"onreadystatechange\" in (element = document.createElement(\"script\"))) return function (fn) {\n\t\t\telement.onreadystatechange = function () {\n\t\t\t\telement.onreadystatechange = NULL;\n\t\t\t\telement.parentNode.removeChild(element);\n\t\t\t\tfn()\n\t\t\t};\n\t\t\tdocument.body.appendChild(element)\n\t\t};\n\t\tfallback = hasSetImmediate ? setImmediate : setTimeout;\n\t\treturn function (fn) {\n\t\t\tfallback(fn)\n\t\t}\n\t}();\n\tsingletonEvent = function () {\n\t\tfunction addListener(type, events, callback) {\n\t\t\tvar event, pointer;\n\t\t\tif (validatorIsTypeOf(events, STRING_STRING) && validatorIsTypeOf(callback, STRING_FUNCTION)) {\n\t\t\t\tevents = events.split(\" \");\n\t\t\t\twhile (event = events.shift()) {\n\t\t\t\t\tevent = event.split(\":\");\n\t\t\t\t\tif (regexMatchEvent.test(event[0])) {\n\t\t\t\t\t\t(listener[event[0]] || (listener[event[0]] = {\n\t\t\t\t\t\t\ton: [],\n\t\t\t\t\t\t\tafter: []\n\t\t\t\t\t\t}))[type].push({\n\t\t\t\t\t\t\tcallback: callback,\n\t\t\t\t\t\t\tfilter: event[1]\n\t\t\t\t\t\t});\n\t\t\t\t\t\tif (type === TYPE_ON && event[0] === EVENT_POST_CONFIGURE && (pointer = settings.modules[event[1]])) callback(pointer)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tfunction Event() {}\n\t\tvar TYPE_ON = \"on\",\n\t\t\tTYPE_AFTER = \"after\",\n\t\t\tregexMatchEvent = /^cache(Miss|Hit|Clear|Exceed)|queue(En|De)queue|(pre|post)(Resolve|Configure|Request|Process|Cache)$/,\n\t\t\tlistener = {};\n\t\tEvent.prototype = {\n\t\t\temit: function (event, filter) {\n\t\t\t\tvar parameter, i, item, pointer = listener[event];\n\t\t\t\tif (pointer) {\n\t\t\t\t\tparameter = functionToArray(arguments, 2);\n\t\t\t\t\tfor (i = 0; item = pointer[TYPE_ON][i]; i++)\n\t\t\t\t\t\tif (!item.filter || item.filter === filter) item.callback.apply(NULL, parameter);\n\t\t\t\t\tfor (i = 0; item = pointer[TYPE_AFTER][i]; i++)\n\t\t\t\t\t\tif (!item.filter || item.filter === filter) item.callback.apply(NULL, parameter)\n\t\t\t\t}\n\t\t\t\treturn this\n\t\t\t},\n\t\t\ton: function (events, callback) {\n\t\t\t\taddListener(TYPE_ON, events, callback);\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tafter: function (events, callback) {\n\t\t\t\taddListener(TYPE_AFTER, events, callback);\n\t\t\t\treturn this\n\t\t\t}\n\t\t};\n\t\treturn new Event\n\t}();\n\tClassWeakmap = \"WeakMap\" in global ? global.WeakMap : function () {\n\t\tfunction getEntry(context, key) {\n\t\t\tvar entry;\n\t\t\tif ((entry = key[context.id]) && entry[0] === key) return entry\n\t\t}\n\n\t\tfunction ClassWeakmap() {\n\t\t\tthis.define(\"id\", prefix + functionUuid())\n\t\t}\n\t\tvar prefix = \"weakmap-\";\n\t\tClassWeakmap.prototype = {\n\t\t\tset: function (key, value) {\n\t\t\t\tvar entry = getEntry(this, key);\n\t\t\t\tif (entry) entry[1] = value;\n\t\t\t\telse key.define(this.id, [key, value]);\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tget: function (key) {\n\t\t\t\tvar entry = getEntry(this, key);\n\t\t\t\tif (entry) return entry[1]\n\t\t\t},\n\t\t\tdelete: function (key) {\n\t\t\t\tvar entry = getEntry(this, key);\n\t\t\t\tif (entry) {\n\t\t\t\t\tentry.length = 0;\n\t\t\t\t\tdelete key[this.id]\n\t\t\t\t}\n\t\t\t},\n\t\t\thas: function (key) {\n\t\t\t\treturn !!getEntry(this, key)\n\t\t\t}\n\t\t};\n\t\treturn ClassWeakmap\n\t}();\n\tClassQueue = function () {\n\t\tfunction ClassQueue() {\n\t\t\tvar self = AbstractUuid.call(this);\n\t\t\tstorage.set(self, []);\n\t\t\treturn self\n\t\t}\n\t\tvar storage = new ClassWeakmap;\n\t\tClassQueue.prototype = {\n\t\t\tenqueue: function () {\n\t\t\t\tvar items = functionToArray(arguments);\n\t\t\t\tstorage.set(this, storage.get(this)\n\t\t\t\t\t.concat(items));\n\t\t\t\tsingletonEvent.emit(EVENT_QUEUE_ENQUEUE, this.uuid, items)\n\t\t\t},\n\t\t\tdequeue: function () {\n\t\t\t\tvar item = storage.get(this)\n\t\t\t\t\t.shift();\n\t\t\t\tsingletonEvent.emit(EVENT_QUEUE_DEQUEUE, this.uuid, item);\n\t\t\t\treturn item\n\t\t\t},\n\t\t\tget current() {\n\t\t\t\treturn storage.get(this)[0]\n\t\t\t},\n\t\t\tget length() {\n\t\t\t\treturn storage.get(this)\n\t\t\t\t\t.length\n\t\t\t}\n\t\t};\n\t\treturn ClassQueue.extends(AbstractUuid)\n\t}();\n\tfunctionIdle = function () {\n\t\tfunction onVisibilitychange(event) {\n\t\t\tvar fn;\n\t\t\tif (queue.length && (\"visibilitychange\" !== event.type || \"hidden\" === document.visibilityState)) {\n\t\t\t\tglobal.removeEventListener(eventName, onVisibilitychange, TRUE);\n\t\t\t\tcurrent = cancelIdleCallback(current);\n\t\t\t\tdo {\n\t\t\t\t\tfn && fn()\n\t\t\t\t} while (fn = queue.dequeue())\n\t\t\t}\n\t\t}\n\n\t\tfunction requestIdleCallbackShim(fn) {\n\t\t\tvar start = +new Date;\n\t\t\treturn setTimeout(function () {\n\t\t\t\tfn({\n\t\t\t\t\tdidTimeout: FALSE,\n\t\t\t\t\ttimeRemaining: function () {\n\t\t\t\t\t\treturn Math.max(0, 50 - (+new Date - start))\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t})\n\t\t}\n\n\t\tfunction cancelIdleCallbackShim(id) {\n\t\t\tclearTimeout(id)\n\t\t}\n\n\t\tfunction process() {\n\t\t\tqueue.dequeue()();\n\t\t\tqueue.length && (current = requestIdleCallback(process))\n\t\t}\n\t\tvar current, eventName = \"object\" === typeof global.safari && global.safari.pushNotification ? \"beforeunload\" : \"visibilitychange\",\n\t\t\trequestIdleCallback = global.requestIdleCallback || requestIdleCallbackShim,\n\t\t\tcancelIdleCallback = global.cancelIdleCallback || cancelIdleCallbackShim,\n\t\t\tqueue = new ClassQueue;\n\t\tglobal.addEventListener(eventName, onVisibilitychange, TRUE);\n\t\treturn function (fn) {\n\t\t\tqueue.enqueue(fn);\n\t\t\t!current && queue.length && (current = requestIdleCallback(process))\n\t\t}\n\t}();\n\tfunctionEscapeRegex = function () {\n\t\tvar regexMatchRegex = /[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g;\n\t\treturn function (value) {\n\t\t\treturn value.replace(regexMatchRegex, \"\\\\$&\")\n\t\t}\n\t}();\n\tregexIsAbsoluteUri = /^(http(s?):)?\\/\\//i, regexIsAbsolutePath = /^\\//, regexMatchSourcemap = /((?:\\/\\/|\\/\\*)#)\\s*(sourceMappingURL)\\s*=\\s*(?!(?:http[s]?:)?\\/\\/)(.+?)\\.map(?:\\s+)?(\\*\\/)?/g, regexMatchBaseUrl = new RegExp(\"^\" + functionEscapeRegex(functionResolveUrl(\"/\"))), regexMatchInternal = new RegExp(\"^\" + DEMAND_ID + \"|\" + PROVIDE_ID + \"|\" + PATH_ID + \"$\"), regexMatchParameter = /^(mock:)?([+-])?((?:[-\\w]+\\/?)+)?(?:@(.+?))?(?:#(\\d+))?!/;\n\tClassSemver = function () {\n\t\tfunction parse(version) {\n\t\t\tvar temp, parts = version.split(\"-\"),\n\t\t\t\ti = 0;\n\t\t\tparts = !parts[1] ? parts[0].split(\".\") : Array.prototype.concat(parts[0].split(\".\"), parts[1].split(\".\"));\n\t\t\tfor (; temp = parts[i]; i++) parts[i] = parseInt(temp, 10)\n\t\t\t\t.toString() === temp ? parseInt(temp, 10) : temp;\n\t\t\treturn parts\n\t\t}\n\n\t\tfunction compareLevel(a, b) {\n\t\t\treturn a < b ? -1 : a > b ? 1 : 0\n\t\t}\n\n\t\tfunction compareIdentifier(a, b) {\n\t\t\tvar pa, pb, tpa, tpb, i = 0;\n\t\t\tif (a.length && !b.length) return -1;\n\t\t\telse if (!a.length && b.length) return 1;\n\t\t\telse if (!a.length && !b.length) return 0;\n\t\t\tdo {\n\t\t\t\tpa = a[i];\n\t\t\t\ttpb = typeof (pb = b[i]);\n\t\t\t\tif ((tpa = typeof pa) === STRING_UNDEFINED && tpb === STRING_UNDEFINED) return 0;\n\t\t\t\telse if (tpb === STRING_UNDEFINED) return 1;\n\t\t\t\telse if (tpa === STRING_UNDEFINED) return -1;\n\t\t\t\telse if (pa === pb);\n\t\t\t\telse if (tpa === STRING_STRING && tpb !== STRING_STRING) return 1;\n\t\t\t\telse if (tpa !== STRING_STRING && tpb === STRING_STRING) return -1;\n\t\t\t\telse if (pa > pb) return 1;\n\t\t\t\telse if (pa < pb) return -1\n\t\t\t} while (++i)\n\t\t}\n\n\t\tfunction ClassSemver(version) {\n\t\t\tif (!validatorIsSemver(version)) throw new TypeError('\"version\" must be a valid semver version string');\n\t\t\tversion = parse(version);\n\t\t\tthis.major = version.slice(0, 1);\n\t\t\tthis.minor = version.slice(1, 2);\n\t\t\tthis.patch = version.slice(2, 3);\n\t\t\tthis.identifier = version.slice(3)\n\t\t}\n\t\tClassSemver.prototype = {\n\t\t\ttoString: function () {\n\t\t\t\treturn this.major + \".\" + this.minor + \".\" + this.patch + (this.identifier.length ? \"-\" + this.identifier.join(\".\") : \"\")\n\t\t\t},\n\t\t\tcompare: function (version) {\n\t\t\t\treturn compareLevel(this.major, version.major) || compareLevel(this.minor, version.minor) || compareLevel(this.patch, version.patch) || compareIdentifier(this.identifier, version.identifier)\n\t\t\t}\n\t\t};\n\t\treturn ClassSemver\n\t}();\n\tsingletonCache = function () {\n\t\tfunction enabled(dependency) {\n\t\t\tvar match;\n\t\t\tif (dependency.cache !== NULL) return dependency.cache;\n\t\t\tfunctionIterate(settings.cache, function (property, value) {\n\t\t\t\tif (0 === dependency.path.indexOf(property) && (!match || value.weight > match.weight)) match = value\n\t\t\t});\n\t\t\treturn match ? match.state : FALSE\n\t\t}\n\n\t\tfunction getKey(key) {\n\t\t\treturn localStorage.getItem(key)\n\t\t}\n\n\t\tfunction setKey(key, value) {\n\t\t\tlocalStorage[value ? \"setItem\" : \"removeItem\"](key, value)\n\t\t}\n\n\t\tfunction getState(key) {\n\t\t\tvar matches, state = getKey(key);\n\t\t\tif (state && (matches = state.match(regexMatchProperties))) return functionToArray(matches, 1)\n\t\t}\n\n\t\tfunction setState(key, state) {\n\t\t\tstate[4] = functionGetTimestamp();\n\t\t\tsetKey(key, state.join(\",\"))\n\t\t}\n\n\t\tfunction emit(event, dependency, state) {\n\t\t\tsingletonEvent.emit(event, dependency.id, dependency, state)\n\t\t}\n\n\t\tfunction Cache() {\n\t\t\tfunctionIdle(this.clear.expired.bind(this.clear))\n\t\t}\n\t\tvar cache, STORAGE_PREFIX = \"[\" + DEMAND_ID + \"]\",\n\t\t\tSTORAGE_SUFFIX_STATE = \"[state]\",\n\t\t\tSTORAGE_SUFFIX_VALUE = \"[value]\",\n\t\t\tregexMatchState = new RegExp(\"^\" + functionEscapeRegex(STORAGE_PREFIX) + \"\\\\[(.+?)\\\\]\" + functionEscapeRegex(STORAGE_SUFFIX_STATE) + \"$\"),\n\t\t\tregexMatchProperties = /^(.+?),(\\d+),(\\d*),(.+?),(\\d+)$/,\n\t\t\tsupportsLocalStorage = function () {\n\t\t\t\ttry {\n\t\t\t\t\treturn \"localStorage\" in global && global.localStorage\n\t\t\t\t} catch (exception) {\n\t\t\t\t\treturn FALSE\n\t\t\t\t}\n\t\t\t}(),\n\t\t\tlocalStorage = supportsLocalStorage ? global.localStorage : NULL,\n\t\t\tsupportsRemainingSpace = supportsLocalStorage && \"remainingSpace\" in localStorage,\n\t\t\tstorage = {};\n\t\tsingletonEvent.on(EVENT_CACHE_MISS, function (dependency) {\n\t\t\t\tfunctionIdle(function () {\n\t\t\t\t\tcache.clear(dependency.id)\n\t\t\t\t})\n\t\t\t})\n\t\t\t.on(EVENT_CACHE_EXCEED, function (dependency) {\n\t\t\t\tdemand(\"-!/\" + DEMAND_ID + \"/cache/dispose\")\n\t\t\t\t\t.then(function (cacheDispose) {\n\t\t\t\t\t\tfunctionIdle(function () {\n\t\t\t\t\t\t\tcacheDispose(dependency.source.length);\n\t\t\t\t\t\t\tcache.set(dependency)\n\t\t\t\t\t\t})\n\t\t\t\t\t})\n\t\t\t})\n\t\t\t.on(EVENT_POST_REQUEST, function (dependency) {\n\t\t\t\tif (dependency.source && enabled(dependency)) storage[dependency.id] = TRUE\n\t\t\t})\n\t\t\t.after(EVENT_POST_PROCESS, function (dependency) {\n\t\t\t\tif (storage[dependency.id]) functionIdle(function () {\n\t\t\t\t\tcache.set(dependency)\n\t\t\t\t})\n\t\t\t});\n\t\tCache.prototype = {\n\t\t\tget: supportsLocalStorage ? function (dependency) {\n\t\t\t\tvar id, state;\n\t\t\t\tif (enabled(dependency)) {\n\t\t\t\t\tid = STORAGE_PREFIX + \"[\" + dependency.id + \"]\";\n\t\t\t\t\tif (!(state = getState(id + STORAGE_SUFFIX_STATE))) return;\n\t\t\t\t\tif (1 === dependency.version.compare(new ClassSemver(state[0])) || state[2] && dependency.lifetime && state[2] <= functionGetTimestamp()) {\n\t\t\t\t\t\tdependency.invalid = true;\n\t\t\t\t\t\treturn\n\t\t\t\t\t}\n\t\t\t\t\tdependency.source = getKey(id + STORAGE_SUFFIX_VALUE);\n\t\t\t\t\tfunctionIdle(function () {\n\t\t\t\t\t\tsetState(id + STORAGE_SUFFIX_STATE, state)\n\t\t\t\t\t});\n\t\t\t\t\treturn TRUE\n\t\t\t\t}\n\t\t\t} : function () {},\n\t\t\tresolve: supportsLocalStorage ? function (dependency) {\n\t\t\t\tif (this.get(dependency)) emit(EVENT_CACHE_HIT, dependency);\n\t\t\t\telse emit(EVENT_CACHE_MISS, dependency)\n\t\t\t} : function (dependency) {\n\t\t\t\temit(EVENT_CACHE_MISS, dependency)\n\t\t\t},\n\t\t\tset: supportsLocalStorage ? function (dependency) {\n\t\t\t\tvar state, id, spaceBefore;\n\t\t\t\tif (enabled(dependency)) {\n\t\t\t\t\tstate = [dependency.version, dependency.source.length, dependency.lifetime ? functionGetTimestamp() + dependency.lifetime : NULL, demand.version];\n\t\t\t\t\tid = STORAGE_PREFIX + \"[\" + dependency.id + \"]\";\n\t\t\t\t\temit(EVENT_PRE_CACHE, dependency, state);\n\t\t\t\t\ttry {\n\t\t\t\t\t\tspaceBefore = supportsRemainingSpace ? localStorage.remainingSpace : NULL;\n\t\t\t\t\t\tsetKey(id + STORAGE_SUFFIX_VALUE, dependency.source);\n\t\t\t\t\t\tsetState(id + STORAGE_SUFFIX_STATE, state);\n\t\t\t\t\t\tif (spaceBefore !== NULL && localStorage.remainingSpace === spaceBefore) throw new Error;\n\t\t\t\t\t\temit(EVENT_POST_CACHE, dependency, state)\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\temit(EVENT_CACHE_EXCEED, dependency)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} : function () {},\n\t\t\tclear: supportsLocalStorage ? function (path) {\n\t\t\t\tvar id = functionResolveId(path),\n\t\t\t\t\tkey = STORAGE_PREFIX + \"[\" + id + \"]\";\n\t\t\t\tif (getKey(key + STORAGE_SUFFIX_STATE)) {\n\t\t\t\t\tsetKey(key + STORAGE_SUFFIX_STATE);\n\t\t\t\t\tsetKey(key + STORAGE_SUFFIX_VALUE);\n\t\t\t\t\temit(EVENT_CACHE_CLEAR, ClassDependency.get(id) || new ClassDependency(id, NULL, FALSE))\n\t\t\t\t}\n\t\t\t} : function () {}\n\t\t};\n\t\tCache.prototype.clear.all = supportsLocalStorage ? function () {\n\t\t\tvar match;\n\t\t\tfunctionIterate(localStorage, function (property) {\n\t\t\t\t(match = property.match(regexMatchState)) && this(match[1])\n\t\t\t}, this)\n\t\t} : function () {};\n\t\tCache.prototype.clear.expired = supportsLocalStorage ? function () {\n\t\t\tvar match, state;\n\t\t\tfunctionIterate(localStorage, function (property) {\n\t\t\t\tif (match = property.match(regexMatchState))\n\t\t\t\t\tif ((state = getState(STORAGE_PREFIX + \"[\" + match[1] + \"]\" + STORAGE_SUFFIX_STATE)) && state[2] > 0 && state[2] <= functionGetTimestamp()) this(match[1])\n\t\t\t}, this)\n\t\t} : function () {};\n\t\treturn cache = new Cache\n\t}();\n\tClassPledge = function () {\n\t\tfunction resolve() {\n\t\t\tstorage.get(this)\n\t\t\t\t.handle(PLEDGE_RESOLVED, arguments)\n\t\t}\n\n\t\tfunction reject() {\n\t\t\tstorage.get(this)\n\t\t\t\t.handle(PLEDGE_REJECTED, arguments)\n\t\t}\n\n\t\tfunction handle(state, parameter) {\n\t\t\tvar pointer, result, properties = storage.get(this);\n\t\t\tif (properties.state === PLEDGE_PENDING) {\n\t\t\t\tproperties.state = state;\n\t\t\t\tproperties.value = parameter\n\t\t\t}\n\t\t\twhile (pointer = properties[properties.state].shift())\n\t\t\t\tif ((result = pointer.handler.apply(NULL, properties.value)) && \"function\" === typeof result.then) result.then(pointer.dfd.resolve, pointer.dfd.reject);\n\t\t\t\telse pointer.dfd[properties.state === PLEDGE_RESOLVED ? \"resolve\" : \"reject\"].apply(NULL, properties.value);\n\t\t\tproperties[PLEDGE_RESOLVED].length = 0;\n\t\t\tproperties[PLEDGE_REJECTED].length = 0\n\t\t}\n\n\t\tfunction observe(pledge, index, properties) {\n\t\t\tpledge.then(function () {\n\t\t\t\tproperties.resolved[index] = functionToArray(arguments);\n\t\t\t\tproperties.count++;\n\t\t\t\tcheck(properties)\n\t\t\t}, function () {\n\t\t\t\tproperties.rejected.push(functionToArray(arguments));\n\t\t\t\tcheck(properties)\n\t\t\t})\n\t\t}\n\n\t\tfunction check(properties) {\n\t\t\tif (properties.count === properties.total) properties.dfd.resolve.apply(NULL, arrayPrototypeConcat.apply([], properties.resolved));\n\t\t\telse if (properties.rejected.length + properties.count === properties.total) properties.dfd.reject.apply(NULL, arrayPrototypeConcat.apply([], properties.rejected))\n\t\t}\n\n\t\tfunction ClassPledge(executor) {\n\t\t\tvar self = this;\n\t\t\tstorage.set(self, {\n\t\t\t\tstate: PLEDGE_PENDING,\n\t\t\t\thandle: handle.bind(self),\n\t\t\t\tvalue: NULL,\n\t\t\t\tresolved: [],\n\t\t\t\trejected: [],\n\t\t\t\tcount: 0\n\t\t\t});\n\t\t\texecutor(resolve.bind(self), reject.bind(self));\n\t\t\treturn self\n\t\t}\n\t\tvar PLEDGE_PENDING = \"pending\",\n\t\t\tPLEDGE_RESOLVED = \"resolved\",\n\t\t\tPLEDGE_REJECTED = \"rejected\",\n\t\t\tstorage = new ClassWeakmap;\n\t\tClassPledge.prototype = {\n\t\t\tcatch: function (listener) {\n\t\t\t\treturn this.then(function () {}, listener)\n\t\t\t},\n\t\t\talways: function (alwaysListener) {\n\t\t\t\treturn this.then(alwaysListener, alwaysListener)\n\t\t\t},\n\t\t\tthen: function (resolveListener, rejectListener) {\n\t\t\t\tvar properties = storage.get(this),\n\t\t\t\t\tdfd = ClassPledge.defer();\n\t\t\t\tresolveListener && properties[PLEDGE_RESOLVED].push({\n\t\t\t\t\thandler: resolveListener,\n\t\t\t\t\tdfd: dfd\n\t\t\t\t});\n\t\t\t\trejectListener && properties[PLEDGE_REJECTED].push({\n\t\t\t\t\thandler: rejectListener,\n\t\t\t\t\tdfd: dfd\n\t\t\t\t});\n\t\t\t\tif (properties.state !== PLEDGE_PENDING) functionDefer(properties.handle);\n\t\t\t\treturn dfd.pledge\n\t\t\t},\n\t\t\tisPending: function () {\n\t\t\t\treturn storage.get(this)\n\t\t\t\t\t.state === PLEDGE_PENDING\n\t\t\t},\n\t\t\tisResolved: function () {\n\t\t\t\treturn storage.get(this)\n\t\t\t\t\t.state === PLEDGE_RESOLVED\n\t\t\t},\n\t\t\tisRejected: function () {\n\t\t\t\treturn storage.get(this)\n\t\t\t\t\t.state === PLEDGE_REJECTED\n\t\t\t}\n\t\t};\n\t\tClassPledge.defer = function () {\n\t\t\tvar self = {};\n\t\t\tself.pledge = new ClassPledge(function (resolveListener, rejectListener) {\n\t\t\t\tself.resolve = resolveListener;\n\t\t\t\tself.reject = rejectListener\n\t\t\t});\n\t\t\treturn self\n\t\t};\n\t\tClassPledge.all = function (pledges) {\n\t\t\tvar properties, pledge, dfd = ClassPledge.defer(),\n\t\t\t\ti = 0;\n\t\t\tif (pledges.length) {\n\t\t\t\tproperties = {\n\t\t\t\t\tdfd: dfd,\n\t\t\t\t\tresolved: [],\n\t\t\t\t\trejected: [],\n\t\t\t\t\ttotal: pledges.length,\n\t\t\t\t\tcount: 0\n\t\t\t\t};\n\t\t\t\tfor (; pledge = pledges[i]; i++) observe(pledge, i, properties)\n\t\t\t} else dfd.resolve();\n\t\t\treturn dfd.pledge\n\t\t};\n\t\tClassPledge.race = function (pledges) {\n\t\t\tfor (var pledge, dfd = ClassPledge.defer(), i = 0; pledge = pledges[i]; i++) pledge.then(dfd.resolve, dfd.reject);\n\t\t\tif (!pledges.length) dfd.resolve();\n\t\t\treturn dfd.pledge\n\t\t};\n\t\treturn ClassPledge\n\t}();\n\tClassRegistry = function () {\n\t\tfunction ClassRegistry() {\n\t\t\tstorage.set(this, {})\n\t\t}\n\t\tvar storage = new ClassWeakmap;\n\t\tClassRegistry.prototype = {\n\t\t\tget: function (key) {\n\t\t\t\treturn key ? storage.get(this)[key] : storage.get(this)\n\t\t\t},\n\t\t\tset: function (key, value) {\n\t\t\t\tstorage.get(this)[key] = value\n\t\t\t},\n\t\t\tremove: function (key) {\n\t\t\t\tdelete storage.get(this)[key]\n\t\t\t}\n\t\t};\n\t\treturn ClassRegistry\n\t}();\n\tClassFailure.prototype = {\n\t\ttoString: function () {\n\t\t\tvar self = this,\n\t\t\t\tresult = DEMAND_ID + \": \" + self.message + \" \" + (self.module ? '\"' + self.module + '\"' : \"\");\n\t\t\tif (self.stack) result = ClassFailure.traverse(self.stack, result, 1);\n\t\t\treturn result\n\t\t}\n\t};\n\tClassFailure.traverse = function (stack, value, depth) {\n\t\tfor (var item, indention = new Array(depth + 1)\n\t\t\t\t.join(\" \"), i = 0; item = stack[i]; i++) {\n\t\t\tvalue += \"\\n\" + indention + \"> \" + item.message + \" \" + (item.module ? '\"' + item.module + '\"' : \"\");\n\t\t\tif (item.stack) value = ClassFailure.traverse(item.stack, value, depth + 1)\n\t\t}\n\t\treturn value\n\t};\n\tClassDependency = function () {\n\t\tfunction setProperty(property, value) {\n\t\t\tthis[property] = value\n\t\t}\n\n\t\tfunction add(id) {\n\t\t\tif (!matchInternal.test(id)) this.push(id)\n\t\t}\n\n\t\tfunction addPending(id, dependency) {\n\t\t\tif (!matchInternal.test(id) && dependency.pledge.isPending()) this.push(id)\n\t\t}\n\n\t\tfunction addResolved(id, dependency) {\n\t\t\tif (!matchInternal.test(id) && dependency.pledge.isResolved()) this.push(id)\n\t\t}\n\n\t\tfunction addRejected(id, dependency) {\n\t\t\tif (!matchInternal.test(id) && dependency.pledge.isRejected()) this.push(id)\n\t\t}\n\n\t\tfunction list() {\n\t\t\treturn functionIterate(registry.get(), add, [])\n\t\t}\n\n\t\tfunction ClassDependency(uri, context, register) {\n\t\t\tvar self = this,\n\t\t\t\tparameter = uri.match(regexMatchParameter) || placeholder;\n\t\t\tself.path = functionResolvePath(uri, context);\n\t\t\tself.mock = parameter[1] ? TRUE : FALSE;\n\t\t\tself.cache = parameter[2] ? \"+\" === parameter[1] : NULL;\n\t\t\tself.type = parameter[3] || settings.handler;\n\t\t\tself.version = new ClassSemver(parameter[4] || settings.version);\n\t\t\tself.lifetime = parameter[5] && 1e3 * parameter[5] || settings.lifetime;\n\t\t\tself.id = (self.mock ? MOCK_PREFIX : \"\") + self.type + \"!\" + self.path;\n\t\t\tself.uri = (self.mock ? MOCK_PREFIX : \"\") + self.type + \"@\" + self.version + (validatorIsPositive(self.lifetime) && self.lifetime > 0 ? \"#\" + self.lifetime : \"\") + \"!\" + self.path;\n\t\t\tself.dfd = ClassPledge.defer();\n\t\t\tself.pledge = self.dfd.pledge;\n\t\t\tself.invalid = false;\n\t\t\tself.pledge.then(function () {\n\t\t\t\tself.value = functionToArray(arguments)\n\t\t\t});\n\t\t\tregister !== FALSE && registry.set(self.id, self);\n\t\t\treturn self\n\t\t}\n\t\tvar PREFIX_INTERNAL = \"internal!\",\n\t\t\tregistry = new ClassRegistry,\n\t\t\tmatchInternal = /^(?:mock:|internal!)/i,\n\t\t\tplaceholder = [];\n\t\tlist.pending = function () {\n\t\t\treturn functionIterate(registry.get(), addPending, [])\n\t\t};\n\t\tlist.resolved = function () {\n\t\t\treturn functionIterate(registry.get(), addResolved, [])\n\t\t};\n\t\tlist.rejected = function () {\n\t\t\treturn functionIterate(registry.get(), addRejected, [])\n\t\t};\n\t\tClassDependency.prototype = {\n\t\t\tenqueue: true\n\t\t};\n\t\tClassDependency.get = function (uri, context) {\n\t\t\treturn registry.get(functionResolveId(uri, context))\n\t\t};\n\t\tClassDependency.resolve = function (uri, context) {\n\t\t\tvar value, isInternal = context && regexMatchInternal.test(uri),\n\t\t\t\tdependency = isInternal ? this.get(PREFIX_INTERNAL + context + \"/\" + uri) : this.get(uri, context);\n\t\t\tif (!dependency)\n\t\t\t\tif (isInternal) {\n\t\t\t\t\tdependency = new ClassDependency(PREFIX_INTERNAL + context + \"/\" + uri);\n\t\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\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\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase PATH_ID:\n\t\t\t\t\t\tvalue = context\n\t\t\t\t\t}\n\t\t\t\t\tdependency.dfd.resolve(value)\n\t\t\t\t} else {\n\t\t\t\t\tdependency = new ClassDependency(uri, context);\n\t\t\t\t\tdemand(MODULE_PREFIX_HANDLER + dependency.type)\n\t\t\t\t\t\t.then(function (handler) {\n\t\t\t\t\t\t\tdependency.handler = handler;\n\t\t\t\t\t\t\tif (dependency.mock) dependency.dfd.resolve(handler);\n\t\t\t\t\t\t\telse singletonCache.resolve(dependency)\n\t\t\t\t\t\t}, function () {\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} return dependency\n\t\t};\n\t\tClassDependency.remove = function (uri, context, cache) {\n\t\t\tvar id = functionResolveId(uri, context),\n\t\t\t\tnode = document.querySelector(\"[\" + DEMAND_ID + '-id=\"' + id + '\"]');\n\t\t\tregistry.remove(id);\n\t\t\tregistry.remove(MOCK_PREFIX + id);\n\t\t\tnode && node.parentNode.removeChild(node);\n\t\t\tcache !== FALSE && singletonCache.clear(id)\n\t\t};\n\t\tClassDependency.list = list;\n\t\treturn ClassDependency\n\t}();\n\tClassPattern = function () {\n\t\tfunction setProperty(property, value) {\n\t\t\tthis[property] = {\n\t\t\t\turl: functionResolveUrl(value)\n\t\t\t\t\t.replace(regexMatchTrailingSlash, \"$1\"),\n\t\t\t\tmatch: new RegExp(\"^\" + functionEscapeRegex(value))\n\t\t\t}\n\t\t}\n\n\t\tfunction ClassPattern(pattern, url) {\n\t\t\tvar self = this;\n\t\t\tself.weight = pattern.length;\n\t\t\tself.match = new RegExp(\"^\" + functionEscapeRegex(pattern));\n\t\t\tself.location = [].concat(url);\n\t\t\tfunctionIterate(self.location, setProperty, self.location)\n\t\t}\n\t\tvar regexMatchTrailingSlash = /(.+)\\/$/;\n\t\tClassPattern.prototype = {\n\t\t\tmatches: function (path) {\n\t\t\t\treturn this.match.test(path)\n\t\t\t},\n\t\t\tprocess: function (path, index) {\n\t\t\t\tvar current = this.location[index];\n\t\t\t\tif (current) return path.replace(this.match, current.url)\n\t\t\t}\n\t\t};\n\t\treturn ClassPattern\n\t}();\n\tClassXhr = function (XMLHttpRequest) {\n\t\tfunction checkState() {\n\t\t\tif (this.readyState < 4) this.abort()\n\t\t}\n\t\tvar XDomainRequest = \"XDomainRequest\" in global && global.XDomainRequest || XMLHttpRequest;\n\t\treturn function (url) {\n\t\t\tvar pointer, dfd = ClassPledge.defer(),\n\t\t\t\txhr = regexMatchBaseUrl.test(url) ? new XMLHttpRequest : new XDomainRequest,\n\t\t\t\tboundCheckState = checkState.bind(xhr),\n\t\t\t\ttimeout = settings.timeout;\n\t\t\txhr.ontimeout = xhr.onerror = xhr.onabort = function () {\n\t\t\t\tdfd.reject(xhr.status)\n\t\t\t};\n\t\t\txhr.onprogress = xhr.onreadystatechange = function () {\n\t\t\t\tclearTimeout(pointer);\n\t\t\t\tpointer = setTimeout(boundCheckState, timeout)\n\t\t\t};\n\t\t\txhr.onload = function () {\n\t\t\t\tpointer = clearTimeout(pointer);\n\t\t\t\tif (!(\"status\" in xhr) || 200 === xhr.status) dfd.resolve(xhr.responseText, xhr.getResponseHeader && xhr.getResponseHeader(\"content-type\"));\n\t\t\t\telse dfd.reject(xhr.status)\n\t\t\t};\n\t\t\txhr.open(\"GET\", url, TRUE);\n\t\t\txhr.send();\n\t\t\tpointer = setTimeout(boundCheckState, timeout);\n\t\t\treturn dfd.pledge\n\t\t}\n\t}(XMLHttpRequest);\n\tdemand = function () {\n\t\tfunction updateCacheSettings(property, value) {\n\t\t\tthis[property] = {\n\t\t\t\tweight: property.length,\n\t\t\t\tstate: value\n\t\t\t}\n\t\t}\n\n\t\tfunction updatePatternSettings(property, value) {\n\t\t\t\"base\" !== property && (this[property] = new ClassPattern(property, value))\n\t\t}\n\n\t\tfunction updateModuleSettings(property, value) {\n\t\t\tvar temp = this[property] = this[property] || {};\n\t\t\tsingletonEvent.emit(EVENT_PRE_CONFIGURE, property, temp);\n\t\t\tfunctionMerge(temp, value);\n\t\t\tsingletonEvent.emit(EVENT_POST_CONFIGURE, property, temp)\n\t\t}\n\n\t\tfunction demand() {\n\t\t\tvar uri, dfd, result, dependencies = functionToArray(arguments),\n\t\t\t\tcontext = this !== global ? this : NULL,\n\t\t\t\ti = 0;\n\t\t\tsingletonEvent.emit(EVENT_PRE_RESOLVE, NULL, dependencies, context);\n\t\t\tfor (; uri = dependencies[i]; i++)\n\t\t\t\tif (validatorIsTypeOf(uri, STRING_STRING)) dependencies[i] = ClassDependency.resolve(uri, context)\n\t\t\t\t\t.pledge;\n\t\t\t\telse {\n\t\t\t\t\tdependencies[i] = (dfd = ClassPledge.defer())\n\t\t\t\t\t\t.pledge;\n\t\t\t\t\tdfd.resolve(uri)\n\t\t\t\t} if (dependencies.length > 1) result = ClassPledge.all(dependencies);\n\t\t\telse result = dependencies[0];\n\t\t\treturn result.always(function () {\n\t\t\t\tsingletonEvent.emit(EVENT_POST_RESOLVE, NULL, dependencies, context)\n\t\t\t})\n\t\t}\n\t\tdemand.configure = function (options) {\n\t\t\tvar cache = options.cache,\n\t\t\t\tversion = options.version,\n\t\t\t\ttimeout = options.timeout,\n\t\t\t\tlifetime = options.lifetime,\n\t\t\t\tbase = options.base,\n\t\t\t\tpattern = options.pattern,\n\t\t\t\tmodules = options.modules,\n\t\t\t\tpointer = settings.modules;\n\t\t\tif (validatorIsTypeOf(cache, STRING_BOOLEAN)) settings.cache[\"\"] = {\n\t\t\t\tweight: 0,\n\t\t\t\tstate: cache\n\t\t\t};\n\t\t\telse if (validatorIsObject(cache)) functionIterate(cache, updateCacheSettings, settings.cache);\n\t\t\tif (validatorIsSemver(version)) settings.version = version;\n\t\t\tif (validatorIsPositive(timeout)) settings.timeout = 1e3 * Math.min(Math.max(timeout, 2), 20);\n\t\t\tif (validatorIsPositive(lifetime) && lifetime > 0) settings.lifetime = 1e3 * lifetime;\n\t\t\tif (validatorIsTypeOf(base, STRING_STRING) && \"\" !== base) settings.pattern.base = new ClassPattern(\"\", base);\n\t\t\tif (validatorIsObject(pattern)) functionIterate(pattern, updatePatternSettings, settings.pattern);\n\t\t\tif (validatorIsObject(modules)) functionIterate(modules, updateModuleSettings, pointer);\n\t\t\treturn demand\n\t\t};\n\t\tdemand.version = \"5.1.0\";\n\t\tdemand.on = singletonEvent.on.bind(demand);\n\t\tdemand.get = function (uri, context) {\n\t\t\tvar dependency = ClassDependency.get(uri, context);\n\t\t\treturn dependency && dependency.value\n\t\t};\n\t\tdemand.list = ClassDependency.list;\n\t\tdemand.remove = ClassDependency.remove;\n\t\tdemand.cache = {\n\t\t\tclear: singletonCache.clear\n\t\t};\n\t\tsingletonEvent.after(EVENT_CACHE_MISS, function (dependency) {\n\t\t\t\tnew ClassLoader(dependency)\n\t\t\t})\n\t\t\t.after(EVENT_POST_REQUEST, function (dependency) {\n\t\t\t\tvar pointer = dependency.handler.onPostRequest;\n\t\t\t\tpointer && pointer(dependency)\n\t\t\t})\n\t\t\t.after(EVENT_CACHE_HIT + \" \" + EVENT_POST_REQUEST, function (dependency) {\n\t\t\t\tsingletonEvent.emit(EVENT_PRE_PROCESS, dependency.id, dependency)\n\t\t\t})\n\t\t\t.after(EVENT_PRE_REQUEST, function (dependency) {\n\t\t\t\tvar pointer = dependency.handler.onPreRequest;\n\t\t\t\tpointer && pointer(dependency)\n\t\t\t})\n\t\t\t.after(EVENT_PRE_PROCESS, function (dependency) {\n\t\t\t\tvar pointer = dependency.handler.onPreProcess;\n\t\t\t\tpointer && pointer(dependency);\n\t\t\t\tdependency.pledge.then(function () {\n\t\t\t\t\tsingletonEvent.emit(EVENT_POST_PROCESS, dependency.id, dependency)\n\t\t\t\t});\n\t\t\t\tif (true === dependency.enqueue) queue.enqueue(dependency);\n\t\t\t\telse if (validatorIsInstanceOf(dependency.enqueue, ClassPledge)) dependency.enqueue.then(function () {\n\t\t\t\t\tqueue.enqueue(dependency)\n\t\t\t\t})\n\t\t\t});\n\t\treturn demand\n\t}();\n\tglobal.define(\"demand\", demand);\n\tprovide = function () {\n\t\tvar module, isFunction, uri = validatorIsTypeOf(arguments[0], STRING_STRING) ? arguments[0] : NULL,\n\t\t\tcontext = this !== global ? this : NULL,\n\t\t\tdependencies = validatorIsArray(arguments[uri ? 1 : 0]) ? arguments[uri ? 1 : 0] : NULL,\n\t\t\tdefinition = dependencies ? arguments[uri ? 2 : 1] : arguments[uri ? 1 : 0];\n\t\tif (!uri && processor.current) {\n\t\t\turi = (module = processor.current)\n\t\t\t\t.uri;\n\t\t\tprocessor.process()\n\t\t}\n\t\tif (uri) {\n\t\t\tmodule = module || new ClassDependency(uri, context);\n\t\t\tisFunction = validatorIsTypeOf(definition, STRING_FUNCTION);\n\t\t\tif (dependencies) demand.apply(module.path, dependencies)\n\t\t\t\t.then(function () {\n\t\t\t\t\tmodule.dfd.resolve(isFunction ? definition.apply(NULL, arguments) : definition)\n\t\t\t\t}, function () {\n\t\t\t\t\tmodule.dfd.reject(new ClassFailure(ERROR_PROVIDE, module.id, arguments))\n\t\t\t\t});\n\t\t\telse module.dfd.resolve(isFunction ? definition() : definition);\n\t\t\treturn module.dfd.pledge\n\t\t} else !validatorIsTypeOf(console, STRING_UNDEFINED) && console.error(new ClassFailure(ERROR_PROVIDE_ANONYMOUS))\n\t};\n\tglobal.define(\"provide\", provide);\n\tdemand.configure({\n\t\tcache: TRUE,\n\t\tbase: \"/\",\n\t\tpattern: {\n\t\t\t\"/demand\": functionResolveUrl((options && options.url || location.href) + \"/../\")\n\t\t\t\t.slice(0, -1)\n\t\t}\n\t});\n\toptions && options.settings && demand.configure(options.settings);\n\tClassProcessor = function () {\n\t\tfunction ClassProcessor(queue) {\n\t\t\tvar self = this,\n\t\t\t\tproperties = {\n\t\t\t\t\tqueue: queue,\n\t\t\t\t\tcurrent: NULL\n\t\t\t\t};\n\t\t\tstorage.set(self, properties);\n\t\t\tdemand.on(EVENT_QUEUE_ENQUEUE + \":\" + queue.uuid, function () {\n\t\t\t\t!properties.current && self.process()\n\t\t\t})\n\t\t}\n\t\tvar storage = new ClassWeakmap;\n\t\tClassProcessor.prototype = {\n\t\t\tprocess: function () {\n\t\t\t\tvar current, properties = storage.get(this);\n\t\t\t\tif (properties.queue.length)\n\t\t\t\t\tif (!(current = properties.current = properties.queue.dequeue())\n\t\t\t\t\t\t.pledge.isRejected()) {\n\t\t\t\t\t\tcurrent.handler.process && current.handler.process(current);\n\t\t\t\t\t\treturn\n\t\t\t\t\t} properties.current = NULL\n\t\t\t},\n\t\t\tget current() {\n\t\t\t\treturn storage.get(this)\n\t\t\t\t\t.current\n\t\t\t}\n\t\t};\n\t\treturn ClassProcessor\n\t}();\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\thandlerModule = function () {\n\t\tfunction HandlerModule() {}\n\t\tvar suffix = \".js\",\n\t\t\ttarget = document.getElementsByTagName(\"head\")[0],\n\t\t\tregexMatchType = /^(application|text)\\/(x-)?javascript/;\n\t\tHandlerModule.prototype = {\n\t\t\tvalidate: function (type) {\n\t\t\t\treturn regexMatchType.test(type)\n\t\t\t},\n\t\t\tonPreRequest: function (dependency) {\n\t\t\t\tvar pathname = dependency.url.pathname;\n\t\t\t\tdependency.url.pathname = pathname.slice(-suffix.length) !== suffix ? pathname + suffix : pathname\n\t\t\t},\n\t\t\tonPostRequest: function (dependency) {\n\t\t\t\tdependency.source = functionResolveSourcemaps(dependency.url, dependency.source)\n\t\t\t},\n\t\t\tprocess: function (dependency) {\n\t\t\t\tvar script;\n\t\t\t\tif (dependency.source) {\n\t\t\t\t\t(script = document.createElement(\"script\"))\n\t\t\t\t\t.async = TRUE;\n\t\t\t\t\tscript.text = dependency.source;\n\t\t\t\t\tscript.setAttribute(DEMAND_ID + \"-id\", dependency.id);\n\t\t\t\t\ttarget.appendChild(script)\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t\treturn new(HandlerModule.extends(abstractHandler))\n\t}();\n\tClassFailure.prototype = {\n\t\ttoString: function () {\n\t\t\tvar self = this,\n\t\t\t\tresult = DEMAND_ID + \": \" + self.message + \" \" + (self.module ? '\"' + self.module + '\"' : \"\");\n\t\t\tif (self.stack) result = ClassFailure.traverse(self.stack, result, 1);\n\t\t\treturn result\n\t\t}\n\t};\n\tClassFailure.traverse = function (stack, value, depth) {\n\t\tfor (var item, indention = new Array(depth + 1)\n\t\t\t\t.join(\" \"), i = 0; item = stack[i]; i++) {\n\t\t\tvalue += \"\\n\" + indention + \"> \" + item.message + \" \" + (item.module ? '\"' + item.module + '\"' : \"\");\n\t\t\tif (item.stack) value = ClassFailure.traverse(item.stack, value, depth + 1)\n\t\t}\n\t\treturn value\n\t};\n\thandlerBundle = function () {\n\t\tfunction updateDependencies(uri, dependencies) {\n\t\t\tvar i, dependency;\n\t\t\tfor (i = 0; dependency = dependencies[i]; i++)\n\t\t\t\tif (validatorIsTypeOf(dependency, STRING_STRING)) dependencies[i] = functionResolveId(dependency)\n\t\t}\n\n\t\tfunction getType(dependencies) {\n\t\t\tfor (var type, temp, i = 0; temp = dependencies[i]; i++) {\n\t\t\t\ttemp = (temp = temp.match(regexMatchParameter)) && temp[3] || settings.handler;\n\t\t\t\tif (type) {\n\t\t\t\t\tif (temp !== type) return FALSE\n\t\t\t\t} else type = temp\n\t\t\t}\n\t\t\treturn type\n\t\t}\n\n\t\tfunction HandlerBundle() {}\n\t\tvar path = MODULE_PREFIX_HANDLER + \"bundle\",\n\t\t\tsettings = {};\n\t\tdemand.on(EVENT_POST_CONFIGURE + \":\" + path, function (options) {\n\t\t\tif (validatorIsObject(options)) functionIterate(settings = options, updateDependencies)\n\t\t});\n\t\tHandlerBundle.prototype = {\n\t\t\tvalidate: handlerModule.validate,\n\t\t\tonPreProcess: function (dependency) {\n\t\t\t\tfunction reject() {\n\t\t\t\t\tdfd.reject(new ClassFailure(ERROR_RESOLVE, dependency.id, arguments))\n\t\t\t\t}\n\t\t\t\tvar type, match, pledges, temp, i, source = dependency.source,\n\t\t\t\t\tdfd = dependency.dfd,\n\t\t\t\t\tdependencies = settings[dependency.path];\n\t\t\t\tdependency.enqueue = FALSE;\n\t\t\t\tif (dependencies && (type = getType(dependencies))) {\n\t\t\t\t\twhile (match = regexMatchSourcemap.exec(source)) source = source.replace(match[0], \"\");\n\t\t\t\t\tdependency.source = source;\n\t\t\t\t\tpledges = [];\n\t\t\t\t\tfor (i = 0; temp = dependencies[i]; i++) pledges.push(ClassDependency.resolve(MOCK_PREFIX + temp)\n\t\t\t\t\t\t.pledge);\n\t\t\t\t\tClassPledge.all(pledges)\n\t\t\t\t\t\t.then(function () {\n\t\t\t\t\t\t\tpledges.length = 0;\n\t\t\t\t\t\t\tfor (i = 0; temp = dependencies[i]; i++) {\n\t\t\t\t\t\t\t\t(temp = dependencies[i] = ClassDependency.get(temp) || new ClassDependency(temp))\n\t\t\t\t\t\t\t\t.handler = arguments[i];\n\t\t\t\t\t\t\t\tpledges.push(temp.pledge)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (\"module\" === type) {\n\t\t\t\t\t\t\t\tqueue.enqueue.apply(queue, dependencies);\n\t\t\t\t\t\t\t\thandlerModule.process(dependency)\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\thandlerModule.process(dependency);\n\t\t\t\t\t\t\t\tqueue.enqueue.apply(queue, dependencies)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tClassPledge.all(pledges)\n\t\t\t\t\t\t\t\t.then(dfd.resolve, reject)\n\t\t\t\t\t\t}, reject)\n\t\t\t\t} else reject()\n\t\t\t}\n\t\t};\n\t\treturn new(HandlerBundle.extends(abstractHandler))\n\t}();\n\thandlerComponent = function () {\n\t\tfunction HandlerComponent() {}\n\t\tvar suffix = \".html\",\n\t\t\tregexMatchType = /^text\\/.+$/;\n\t\tHandlerComponent.prototype = {\n\t\t\tvalidate: function (type) {\n\t\t\t\treturn regexMatchType.test(type)\n\t\t\t},\n\t\t\tonPreRequest: function (dependency) {\n\t\t\t\tvar pathname = dependency.url.pathname;\n\t\t\t\tdependency.url.pathname = pathname.slice(-suffix.length) !== suffix ? pathname + suffix : pathname\n\t\t\t},\n\t\t\tonPostRequest: function (dependency) {\n\t\t\t\tdependency.source = functionResolveSourcemaps(dependency.url, dependency.source)\n\t\t\t},\n\t\t\tonPreProcess: function (dependency) {\n\t\t\t\tfunction reject() {\n\t\t\t\t\tdfd.reject(new ClassFailure(ERROR_RESOLVE, dependency.id, arguments))\n\t\t\t\t}\n\t\t\t\tvar node, handler, path, uri, context = dependency.path,\n\t\t\t\t\tdfd = dependency.dfd,\n\t\t\t\t\tcontainer = document.createElement(\"body\"),\n\t\t\t\t\tmodules = [],\n\t\t\t\t\tpledges = [];\n\t\t\t\tdependency.enqueue = FALSE;\n\t\t\t\tcontainer.innerHTML = dependency.source;\n\t\t\t\twhile (node = container.firstElementChild)\n\t\t\t\t\tif (handler = node.getAttribute(\"type\")) {\n\t\t\t\t\t\turi = handler + \"!\" + context + ((path = node.getAttribute(\"path\")) ? \"/\" + path : \"\");\n\t\t\t\t\t\tnode.parentNode.removeChild(node);\n\t\t\t\t\t\tmodules.push({\n\t\t\t\t\t\t\tsource: node.textContent,\n\t\t\t\t\t\t\turi: uri\n\t\t\t\t\t\t});\n\t\t\t\t\t\tpledges.push(ClassDependency.resolve(\"mock:\" + uri)\n\t\t\t\t\t\t\t.pledge)\n\t\t\t\t\t} ClassPledge.all(pledges)\n\t\t\t\t\t.then(function () {\n\t\t\t\t\t\tvar module, dependency, i = 0;\n\t\t\t\t\t\tpledges.length = 0;\n\t\t\t\t\t\tfor (; module = modules[i]; i++) {\n\t\t\t\t\t\t\t(dependency = ClassDependency.get(module.uri) || new ClassDependency(module.uri))\n\t\t\t\t\t\t\t.source = functionResolveSourcemaps(dependency.url, module.source);\n\t\t\t\t\t\t\tdependency.handler = arguments[i];\n\t\t\t\t\t\t\tpledges.push(dependency.pledge);\n\t\t\t\t\t\t\tqueue.enqueue(dependency)\n\t\t\t\t\t\t}\n\t\t\t\t\t\tClassPledge.all(pledges)\n\t\t\t\t\t\t\t.then(dfd.resolve, reject)\n\t\t\t\t\t}, reject)\n\t\t\t}\n\t\t};\n\t\treturn new(HandlerComponent.extends(abstractHandler))\n\t}();\n\tpluginGenie = function () {\n\t\tfunction matchPattern(path) {\n\t\t\tfor (var pointer, match, i = 0; pointer = pattern[i]; i++)\n\t\t\t\tif (0 === path.indexOf(pointer.prefix) && (!match || pointer.weight > match.weight)) match = pointer;\n\t\t\treturn match\n\t\t}\n\n\t\tfunction generateConfiguration(bundle) {\n\t\t\tvar pointer, dependency, matches = bundle.matches,\n\t\t\t\tconfiguration = {\n\t\t\t\t\tpattern: {},\n\t\t\t\t\tmodules: {\n\t\t\t\t\t\t\"/demand/handler/bundle\": {}\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\ti = 0;\n\t\t\tconfiguration.pattern[bundle.id] = bundle.fn(matches);\n\t\t\tconfiguration.modules[MODULE_PREFIX_HANDLER + \"bundle\"][bundle.id] = pointer = [];\n\t\t\tfor (; dependency = matches[i]; i++) pointer.push(dependency.path);\n\t\t\treturn configuration\n\t\t}\n\n\t\tfunction resolveDependencies() {\n\t\t\tfor (var dependency, i = 0; dependency = this[i]; i++) dependency.dfd.resolve(arguments[i])\n\t\t}\n\n\t\tfunction rejectDependencies() {\n\t\t\tfor (var dependency, i = 0; dependency = this[i]; i++) dependency.dfd.reject(new ClassFailure(ERROR_RESOLVE, dependency.id))\n\t\t}\n\n\t\tfunction addPattern(property, value) {\n\t\t\tpattern.push({\n\t\t\t\tprefix: property,\n\t\t\t\tweight: property.length,\n\t\t\t\tfn: value\n\t\t\t})\n\t\t}\n\n\t\tfunction resolveBundles(property, value) {\n\t\t\tvar dependency, matches = value.matches,\n\t\t\t\ti = 0;\n\t\t\tif (matches.length > 1) {\n\t\t\t\tvalue.id = path + \"/\" + functionHash(JSON.stringify(value.matches));\n\t\t\t\tfor (; dependency = matches[i]; i++) matches[i] = new ClassDependency(dependency.uri);\n\t\t\t\tdemand.configure(generateConfiguration(value));\n\t\t\t\tdemand(\"bundle!\" + value.id)\n\t\t\t\t\t.then(resolveDependencies.bind(matches), rejectDependencies.bind(matches))\n\t\t\t}\n\t\t}\n\t\tvar path = MODULE_PREFIX_PLUGIN + \"genie\",\n\t\t\tpattern = [];\n\t\tdemand.on(EVENT_POST_CONFIGURE + \":\" + path, function (options) {\n\t\t\t\tif (validatorIsObject(options)) {\n\t\t\t\t\tpattern.length = 0;\n\t\t\t\t\tfunctionIterate(options, addPattern)\n\t\t\t\t}\n\t\t\t})\n\t\t\t.on(EVENT_PRE_RESOLVE, function (dependencies, context) {\n\t\t\t\tfor (var dependency, pattern, bundles = {}, i = 0; dependency = dependencies[i]; i++)\n\t\t\t\t\tif (validatorIsTypeOf(dependency, STRING_STRING) && !regexMatchInternal.test(dependency) && !ClassDependency.get(dependency, context))\n\t\t\t\t\t\tif (\"module\" === (dependency = new ClassDependency(dependency, context, FALSE))\n\t\t\t\t\t\t\t.type && (pattern = matchPattern(dependency.path)) && !singletonCache.get(dependency))(bundles[pattern.prefix] || (bundles[pattern.prefix] = {\n\t\t\t\t\t\t\t\tfn: pattern.fn,\n\t\t\t\t\t\t\t\tmatches: []\n\t\t\t\t\t\t\t}))\n\t\t\t\t\t\t\t.matches.push(dependency);\n\t\t\t\tfunctionIterate(bundles, resolveBundles)\n\t\t\t});\n\t\treturn TRUE\n\t}();\n\tqueue = new ClassQueue;\n\tprocessor = new ClassProcessor(queue);\n\tassignModule(MODULE_PREFIX_ABSTRACT + \"uuid\", AbstractUuid);\n\tassignModule(MODULE_PREFIX_ABSTRACT + \"handler\", abstractHandler);\n\tassignModule(MODULE_PREFIX_HANDLER + \"module\", handlerModule);\n\tassignModule(MODULE_PREFIX_HANDLER + \"bundle\", handlerBundle);\n\tassignModule(MODULE_PREFIX_HANDLER + \"component\", handlerComponent);\n\tassignModule(MODULE_PREFIX_PLUGIN + \"genie\", pluginGenie);\n\tassignModule(MODULE_PREFIX_VALIDATOR + \"isTypeOf\", validatorIsTypeOf);\n\tassignModule(MODULE_PREFIX_VALIDATOR + \"isArray\", validatorIsArray);\n\tassignModule(MODULE_PREFIX_VALIDATOR + \"isObject\", validatorIsObject);\n\tassignModule(MODULE_PREFIX_VALIDATOR + \"isInstanceOf\", validatorIsInstanceOf);\n\tassignModule(MODULE_PREFIX_VALIDATOR + \"isSemver\", validatorIsSemver);\n\tassignModule(MODULE_PREFIX_FUNCTION + \"resolveUrl\", functionResolveUrl);\n\tassignModule(MODULE_PREFIX_FUNCTION + \"resolveSourcemaps\", functionResolveSourcemaps);\n\tassignModule(MODULE_PREFIX_FUNCTION + \"merge\", functionMerge);\n\tassignModule(MODULE_PREFIX_FUNCTION + \"iterate\", functionIterate);\n\tassignModule(MODULE_PREFIX_FUNCTION + \"hash\", functionHash);\n\tassignModule(MODULE_PREFIX_FUNCTION + \"defer\", functionDefer);\n\tassignModule(MODULE_PREFIX_FUNCTION + \"idle\", functionIdle);\n\tassignModule(MODULE_PREFIX_FUNCTION + \"uuid\", functionUuid);\n\tassignModule(MODULE_PREFIX + \"weakmap\", ClassWeakmap);\n\tassignModule(MODULE_PREFIX + \"descriptor\", ClassDescriptor);\n\tassignModule(MODULE_PREFIX + \"pledge\", ClassPledge);\n\tassignModule(MODULE_PREFIX + \"queue\", ClassQueue);\n\tassignModule(MODULE_PREFIX + \"xhr\", ClassXhr);\n\tassignModule(MODULE_PREFIX + \"failure\", ClassFailure);\n\tassignModule(MODULE_PREFIX + \"semver\", ClassSemver);\n\tif (options && options.main) switch (typeof options.main) {\n\tcase STRING_STRING:\n\t\tdemand(options.main);\n\t\tbreak;\n\tcase STRING_FUNCTION:\n\t\tprovide(\"main\", options.main())\n\t}\n})(\"demand-loader\" === this.name ? parent : this, setTimeout, clearTimeout);\n"]} \ No newline at end of file +{"version":3,"sources":["demand.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","AbstractUuid","this","uuid","STRING_UNDEFINED","define","functionUuid","functionGetTimestamp","Date","functionResolveUrl","url","linkElement","href","functionResolvePath","uri","path","replace","regexMatchParameter","regexIsAbsolutePath","test","regexIsAbsoluteUri","regexMatchBaseUrl","functionResolveId","parameter","match","settings","handler","ClassFailure","message","stack","self","ClassLoader","dependency","resolve","response","validate","dfd","reject","ERROR_LOAD","id","singletonEvent","emit","EVENT_POST_REQUEST","status","pattern","regexMatchEmptySearch","matches","weight","load","location","document","createElement","process","invalid","search","EVENT_PRE_REQUEST","ClassXhr","then","validatorIsArray","objectPrototypeToString","functionHash","input","length","charCodeAt","functionResolveSourcemaps","replacement","regexMatchSourcemap","exec","protocol","host","pathname","abstractHandler","assignModule","provide","demand","queue","processor","validatorIsSemver","functionMerge","functionDefer","ClassWeakmap","ClassQueue","functionIdle","functionEscapeRegex","regexMatchInternal","ClassSemver","singletonCache","ClassPledge","ClassRegistry","ClassDependency","ClassPattern","ClassProcessor","handlerModule","handlerBundle","handlerComponent","pluginGenie","regexMatchSemver","element","fallback","storage","hasSetImmediate","regexMatchRegex","XMLHttpRequest","XDomainRequest","options","version","cache","timeout","modules","DEMAND_ID","PROVIDE_ID","MODULE_PREFIX","MODULE_PREFIX_ABSTRACT","MODULE_PREFIX_HANDLER","MODULE_PREFIX_PLUGIN","MODULE_PREFIX_FUNCTION","MODULE_PREFIX_VALIDATOR","MOCK_PREFIX","STRING_STRING","STRING_FUNCTION","EVENT_POSTFIX","EVENT_POST_CONFIGURE","EVENT_CACHE","EVENT_CACHE_MISS","EVENT_CACHE_HIT","EVENT_CACHE_EXCEED","EVENT_PRE_RESOLVE","EVENT_PREFIX","EVENT_REQUEST","EVENT_PROCESS","EVENT_PRE_PROCESS","EVENT_POST_PROCESS","EVENT_QUEUE_ENQUEUE","EVENT_QUEUE","ERROR_RESOLVE","arrayPrototype","Array","prototype","slice","arrayPrototypeConcat","concat","Object","toString","objectCreate","create","objectDefineProperty","defineProperty","objectGetOwnPropertyNames","getOwnPropertyNames","objectGetOwnPropertyDescriptor","getOwnPropertyDescriptor","strPrototype","objectDefine","name","functionExtends","names","constructor","e","TypeError","Function","mergeProperties","targetPropertyIsObject","targetProperty","target","arguments","randomize","character","r","random","regex","RegExp","fn","MutationObserver","observe","attributes","setAttribute","addEventListener","event","data","postMessage","onreadystatechange","parentNode","removeChild","body","appendChild","setImmediate","addListener","events","pointer","split","shift","regexMatchEvent","listener","on","after","push","filter","Event","item","apply","WeakMap","getEntry","key","entry","set","get","delete","has","enqueue","items","dequeue","current","extends","requestIdleCallback","eventName","safari","pushNotification","didTimeout","timeRemaining","max","cancelIdleCallback","visibilityState","compareLevel","a","b","temp","parts","parseInt","parse","major","minor","patch","identifier","join","compare","pa","pb","tpa","tpb","compareIdentifier","enabled","indexOf","state","getKey","localStorage","getItem","setKey","getState","regexMatchProperties","setState","Cache","clear","expired","bind","STORAGE_PREFIX","STORAGE_SUFFIX_STATE","STORAGE_SUFFIX_VALUE","regexMatchState","supportsLocalStorage","exception","supportsRemainingSpace","cacheDispose","lifetime","spaceBefore","remainingSpace","Error","error","all","pledge","index","resolved","count","check","rejected","total","executor","PLEDGE_PENDING","handle","result","PLEDGE_RESOLVED","PLEDGE_REJECTED","catch","always","alwaysListener","resolveListener","rejectListener","defer","isPending","isResolved","isRejected","pledges","race","remove","traverse","depth","indention","setProperty","add","matchInternal","addPending","addResolved","addRejected","list","registry","register","placeholder","mock","PREFIX_INTERNAL","pending","isInternal","node","querySelector","regexMatchTrailingSlash","xhr","boundCheckState","readyState","abort","ontimeout","onerror","onabort","onprogress","onload","responseText","getResponseHeader","open","send","updateCacheSettings","updatePatternSettings","updateModuleSettings","dependencies","configure","base","min","onPostRequest","onPreRequest","onPreProcess","isFunction","definition","console","/demand","HandlerModule","getElementsByTagName","regexMatchType","script","async","text","updateDependencies","HandlerBundle","getType","HandlerComponent","suffix","container","innerHTML","firstElementChild","getAttribute","textContent","matchPattern","prefix","addPattern","resolveBundles","JSON","stringify","bundle","configuration","/demand/handler/bundle","generateConfiguration","bundles","main","parent"],"mappings":"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","file":"demand.js","sourcesContent":["/**! Qoopido.demand 5.1.1 | https://github.com/dlueth/qoopido.demand | (c) 2018 Dirk Lueth */\n(function (global, setTimeout, clearTimeout) {\n\t\"use strict\";\n\n\tfunction ClassDescriptor(value, writable, configurable, enumerable) {\n\t\treturn {\n\t\t\t__proto__: NULL,\n\t\t\tvalue: value,\n\t\t\tenumerable: !!enumerable,\n\t\t\tconfigurable: !!configurable,\n\t\t\twritable: !!writable\n\t\t}\n\t}\n\n\tfunction validatorIsTypeOf(object, type) {\n\t\treturn typeof object === type\n\t}\n\n\tfunction validatorIsObject(object) {\n\t\treturn object && validatorIsTypeOf(object, STRING_OBJECT)\n\t}\n\n\tfunction validatorIsPositive(value) {\n\t\treturn validatorIsTypeOf(value, STRING_NUMBER) && isFinite(value) && Math.floor(value) === value && value >= 0\n\t}\n\n\tfunction validatorIsInstanceOf(object, module) {\n\t\treturn object instanceof module\n\t}\n\n\tfunction functionIterate(source, callback, context) {\n\t\tfor (var property, properties = object.keys(source), i = 0;\n\t\t\t(property = properties[i]) !== UNDEFINED; i++)\n\t\t\tif (callback.call(context, property, source[property]) === FALSE) break;\n\t\treturn context\n\t}\n\n\tfunction functionToArray(arrayLikeObject, start, end) {\n\t\treturn arrayPrototypeSlice.call(arrayLikeObject, start, end)\n\t}\n\n\tfunction AbstractUuid() {\n\t\tif (validatorIsTypeOf(this.uuid, STRING_UNDEFINED)) this.define(\"uuid\", functionUuid());\n\t\treturn this\n\t}\n\n\tfunction functionGetTimestamp() {\n\t\treturn +new Date\n\t}\n\n\tfunction functionResolveUrl(url) {\n\t\tlinkElement.href = url;\n\t\treturn linkElement.href\n\t}\n\n\tfunction functionResolvePath(uri, context) {\n\t\tvar path = uri.replace(regexMatchParameter, \"\");\n\t\tif (!regexIsAbsolutePath.test(path) && !regexIsAbsoluteUri.test(path)) path = \"/\" + functionResolveUrl((context && functionResolveUrl(context + \"/../\") || \"/\") + path)\n\t\t\t.replace(regexMatchBaseUrl, \"\");\n\t\treturn path\n\t}\n\n\tfunction functionResolveId(uri, context) {\n\t\tvar parameter = uri.match(regexMatchParameter);\n\t\treturn (parameter && parameter[1] ? \"mock:\" : \"\") + (parameter && parameter[3] || settings.handler) + \"!\" + functionResolvePath(uri, context)\n\t}\n\n\tfunction ClassFailure(message, module, stack) {\n\t\tvar self = this;\n\t\tself.message = message;\n\t\tmodule && (self.module = module);\n\t\tstack && (self.stack = functionToArray(stack));\n\t\treturn self\n\t}\n\n\tfunction ClassLoader(dependency) {\n\t\tfunction resolve(response, type) {\n\t\t\tif (!type || !dependency.handler.validate || dependency.handler.validate(type)) {\n\t\t\t\tdependency.source = response;\n\t\t\t\tsingletonEvent.emit(EVENT_POST_REQUEST, dependency.type, dependency)\n\t\t\t} else dependency.dfd.reject(new ClassFailure(ERROR_LOAD + \" (content-type)\", dependency.id))\n\t\t}\n\n\t\tfunction reject(status) {\n\t\t\tdependency.dfd.reject(new ClassFailure(ERROR_LOAD + (status ? \" (status)\" : \"\"), dependency.id))\n\t\t}\n\n\t\tfunction load(location) {\n\t\t\tlocation = location || 0;\n\t\t\tdependency.url = document.createElement(\"a\");\n\t\t\tdependency.url.href = pattern ? functionResolveUrl(pattern.process(dependency.path, location)) : dependency.path;\n\t\t\tif (dependency.invalid) dependency.url.search += (regexMatchEmptySearch.test(dependency.url.search) ? \"\" : \"&\") + functionGetTimestamp();\n\t\t\tsingletonEvent.emit(EVENT_PRE_REQUEST, dependency.type, dependency);\n\t\t\tnew ClassXhr(dependency.url)\n\t\t\t\t.then(resolve, pattern ? function () {\n\t\t\t\t\tlocation++;\n\t\t\t\t\tif (pattern.location[location]) load(location);\n\t\t\t\t\telse reject()\n\t\t\t\t} : reject)\n\t\t}\n\t\tvar pattern, regexMatchEmptySearch = /^(?:\\?|)$/;\n\t\tif (!regexIsAbsoluteUri.test(dependency.path)) functionIterate(settings.pattern, function (property, value) {\n\t\t\tvalue.matches(dependency.path) && (!pattern || pattern.weight < value.weight) && (pattern = value)\n\t\t});\n\t\tload()\n\t}\n\n\tfunction validatorIsArray(value) {\n\t\treturn \"[object Array]\" === objectPrototypeToString.call(value)\n\t}\n\n\tfunction functionHash(input) {\n\t\tvar value = 5381,\n\t\t\ti = input.length;\n\t\twhile (i) value = 33 * value ^ input.charCodeAt(--i);\n\t\treturn value >>> 0\n\t}\n\n\tfunction functionResolveSourcemaps(url, source) {\n\t\tvar match, replacement;\n\t\twhile (match = regexMatchSourcemap.exec(source)) {\n\t\t\tlinkElement.href = url;\n\t\t\tif (regexIsAbsoluteUri.test(match[2])) replacement = linkElement.protocol + \"//\" + linkElement.host + match[3];\n\t\t\telse {\n\t\t\t\tlinkElement.pathname += \"/../\" + match[3];\n\t\t\t\treplacement = linkElement.protocol + \"//\" + linkElement.host + linkElement.pathname\n\t\t\t}\n\t\t\tsource = source.replace(match[0], match[1] + \" \" + match[2] + \"=\" + replacement + \".map\" + (match[4] ? \" \" + match[4] : \"\"))\n\t\t}\n\t\treturn source\n\t}\n\n\tfunction abstractHandler() {}\n\n\tfunction ClassFailure(message, module, stack) {\n\t\tvar self = this;\n\t\tself.message = message;\n\t\tmodule && (self.module = module);\n\t\tstack && (self.stack = functionToArray(stack));\n\t\treturn self\n\t}\n\n\tfunction assignModule(id, module) {\n\t\tprovide(id, function () {\n\t\t\treturn module\n\t\t})\n\t}\n\tvar demand, provide, queue, processor, validatorIsSemver, functionMerge, functionUuid, functionDefer, singletonEvent, ClassWeakmap, ClassQueue, functionIdle, functionEscapeRegex, regexIsAbsoluteUri, regexIsAbsolutePath, regexMatchSourcemap, regexMatchBaseUrl, regexMatchInternal, regexMatchParameter, ClassSemver, singletonCache, ClassPledge, ClassRegistry, ClassDependency, ClassPattern, ClassXhr, ClassProcessor, handlerModule, handlerBundle, handlerComponent, pluginGenie, document = global.document,\n\t\toptions = \"demand\" in global && global.demand,\n\t\tsettings = {\n\t\t\tversion: \"1.0.0\",\n\t\t\tcache: {},\n\t\t\ttimeout: 8e3,\n\t\t\tpattern: {},\n\t\t\tmodules: {},\n\t\t\thandler: \"module\"\n\t\t},\n\t\tDEMAND_ID = \"demand\",\n\t\tPROVIDE_ID = \"provide\",\n\t\tPATH_ID = \"path\",\n\t\tMODULE_PREFIX = \"/\" + DEMAND_ID + \"/\",\n\t\tMODULE_PREFIX_ABSTRACT = MODULE_PREFIX + \"abstract/\",\n\t\tMODULE_PREFIX_HANDLER = MODULE_PREFIX + \"handler/\",\n\t\tMODULE_PREFIX_PLUGIN = MODULE_PREFIX + \"plugin/\",\n\t\tMODULE_PREFIX_FUNCTION = MODULE_PREFIX + \"function/\",\n\t\tMODULE_PREFIX_VALIDATOR = MODULE_PREFIX + \"validator/\",\n\t\tMOCK_PREFIX = \"mock:\",\n\t\tNULL = null,\n\t\tUNDEFINED = void 0,\n\t\tFALSE = false,\n\t\tTRUE = true,\n\t\tSTRING_UNDEFINED = \"undefined\",\n\t\tSTRING_STRING = \"string\",\n\t\tSTRING_BOOLEAN = \"boolean\",\n\t\tSTRING_OBJECT = \"object\",\n\t\tSTRING_FUNCTION = \"function\",\n\t\tSTRING_NUMBER = \"number\",\n\t\tEVENT_PREFIX = \"pre\",\n\t\tEVENT_POSTFIX = \"post\",\n\t\tEVENT_CONFIGURE = \"Configure\",\n\t\tEVENT_PRE_CONFIGURE = EVENT_PREFIX + EVENT_CONFIGURE,\n\t\tEVENT_POST_CONFIGURE = EVENT_POSTFIX + EVENT_CONFIGURE,\n\t\tEVENT_CACHE = \"cache\",\n\t\tEVENT_CACHE_MISS = EVENT_CACHE + \"Miss\",\n\t\tEVENT_CACHE_HIT = EVENT_CACHE + \"Hit\",\n\t\tEVENT_CACHE_CLEAR = EVENT_CACHE + \"Clear\",\n\t\tEVENT_CACHE_EXCEED = EVENT_CACHE + \"Exceed\",\n\t\tEVENT_PRE_CACHE = EVENT_PREFIX + \"Cache\",\n\t\tEVENT_POST_CACHE = EVENT_POSTFIX + \"Cache\",\n\t\tEVENT_RESOLVE = \"Resolve\",\n\t\tEVENT_PRE_RESOLVE = EVENT_PREFIX + EVENT_RESOLVE,\n\t\tEVENT_POST_RESOLVE = EVENT_POSTFIX + EVENT_RESOLVE,\n\t\tEVENT_REQUEST = \"Request\",\n\t\tEVENT_PRE_REQUEST = EVENT_PREFIX + EVENT_REQUEST,\n\t\tEVENT_POST_REQUEST = EVENT_POSTFIX + EVENT_REQUEST,\n\t\tEVENT_PROCESS = \"Process\",\n\t\tEVENT_PRE_PROCESS = EVENT_PREFIX + EVENT_PROCESS,\n\t\tEVENT_POST_PROCESS = EVENT_POSTFIX + EVENT_PROCESS,\n\t\tEVENT_QUEUE = \"queue\",\n\t\tEVENT_QUEUE_ENQUEUE = EVENT_QUEUE + \"Enqueue\",\n\t\tEVENT_QUEUE_DEQUEUE = EVENT_QUEUE + \"Dequeue\",\n\t\tERROR_LOAD = \"error loading\",\n\t\tERROR_PROVIDE = \"error providing\",\n\t\tERROR_RESOLVE = \"error resolving\",\n\t\tERROR_PROVIDE_ANONYMOUS = \"unspecified anonymous provide\",\n\t\tarrayPrototype = Array.prototype,\n\t\tarrayPrototypeSlice = arrayPrototype.slice,\n\t\tarrayPrototypeConcat = arrayPrototype.concat,\n\t\tobject = Object,\n\t\tobjectPrototypeToString = object.prototype.toString,\n\t\tobjectCreate = object.create,\n\t\tobjectDefineProperty = object.defineProperty,\n\t\tobjectGetOwnPropertyNames = object.getOwnPropertyNames,\n\t\tobjectGetOwnPropertyDescriptor = object.getOwnPropertyDescriptor,\n\t\tlinkElement = document.createElement(\"a\");\n\t(function (strPrototype) {\n\t\tfunction objectDefine(name, value, writable, configurable, enumerable) {\n\t\t\tobjectDefineProperty(this, name, new ClassDescriptor(value, writable, configurable, enumerable))\n\t\t}\n\n\t\tfunction functionExtends(source) {\n\t\t\tfor (var property, self = this, prototype = self[strPrototype], names = objectGetOwnPropertyNames(prototype), properties = {\n\t\t\t\t\tconstructor: new ClassDescriptor(self, TRUE, TRUE)\n\t\t\t\t}, i = 0;\n\t\t\t\t(property = names[i]) && !properties[property]; i++) properties[property] = objectGetOwnPropertyDescriptor(prototype, property);\n\t\t\ttry {\n\t\t\t\tself[strPrototype] = objectCreate(source[strPrototype] || source, properties)\n\t\t\t} catch (e) {}\n\t\t\tif (self[strPrototype] === prototype) throw new TypeError(\"Unable to extend, prototype is not writable\");\n\t\t\treturn self\n\t\t}\n\t\tobjectDefine.call(Object.prototype, \"define\", objectDefine);\n\t\tobjectDefine.call(global.Object.prototype, \"define\", objectDefine);\n\t\tFunction.prototype.define(\"extends\", functionExtends);\n\t\tglobal.Function.prototype.define(\"extends\", functionExtends)\n\t})(\"prototype\");\n\tvalidatorIsSemver = function () {\n\t\tvar regexMatchSemver = /^\\bv?(?:0|[1-9]\\d*)\\.(?:0|[1-9]\\d*)\\.(?:0|[1-9]\\d*)(?:-[\\da-z-]+(?:\\.[\\da-z-]+)*)?(?:\\+[\\da-z-]+(?:\\.[\\da-z-]+)*)?\\b$/i;\n\t\treturn function (value) {\n\t\t\treturn validatorIsTypeOf(value, STRING_STRING) && regexMatchSemver.test(value)\n\t\t}\n\t}();\n\tfunctionMerge = function () {\n\t\tfunction mergeProperties(property, value) {\n\t\t\tvar targetPropertyIsObject, targetProperty = this[property];\n\t\t\tif (value !== UNDEFINED)\n\t\t\t\tif (validatorIsObject(value)) {\n\t\t\t\t\ttargetPropertyIsObject = validatorIsObject(targetProperty);\n\t\t\t\t\tif (value.length !== UNDEFINED) targetProperty = targetPropertyIsObject && targetProperty.length !== UNDEFINED ? targetProperty : [];\n\t\t\t\t\telse targetProperty = targetPropertyIsObject && targetProperty.length === UNDEFINED ? targetProperty : {};\n\t\t\t\t\tthis[property] = functionMerge(targetProperty, value)\n\t\t\t\t} else this[property] = value\n\t\t}\n\t\treturn function () {\n\t\t\tfor (var properties, target = arguments[0], i = 1;\n\t\t\t\t(properties = arguments[i]) !== UNDEFINED; i++) functionIterate(properties, mergeProperties, target);\n\t\t\treturn target\n\t\t}\n\t}();\n\tfunctionUuid = function () {\n\t\tfunction randomize(character) {\n\t\t\tvar r = 16 * Math.random() | 0;\n\t\t\treturn (\"x\" === character ? r : 3 & r | 8)\n\t\t\t\t.toString(16)\n\t\t}\n\t\tvar regex = new RegExp(\"[xy]\", \"g\");\n\t\treturn function () {\n\t\t\treturn \"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(regex, randomize)\n\t\t}\n\t}();\n\tfunctionDefer = function () {\n\t\tvar element, fallback, hasSetImmediate = \"setImmediate\" in global;\n\t\tif (\"MutationObserver\" in global) return function (fn) {\n\t\t\telement = document.createElement(\"div\");\n\t\t\tnew MutationObserver(function () {\n\t\t\t\t\tfn()\n\t\t\t\t})\n\t\t\t\t.observe(element, {\n\t\t\t\t\tattributes: TRUE\n\t\t\t\t});\n\t\t\telement.setAttribute(\"i\", \"1\")\n\t\t};\n\t\tif (!hasSetImmediate && \"postMessage\" in global && !(\"importScripts\" in global) && \"addEventListener\" in global) return function () {\n\t\t\tfunction onMessage(event) {\n\t\t\t\tvar fn;\n\t\t\t\tif (event.source === global && event.data && (fn = storage[event.data])) {\n\t\t\t\t\tfn();\n\t\t\t\t\tdelete storage[event.data]\n\t\t\t\t}\n\t\t\t}\n\t\t\tvar storage = {};\n\t\t\tglobal.addEventListener(\"message\", onMessage, FALSE);\n\t\t\treturn function (fn) {\n\t\t\t\tvar uuid = functionUuid();\n\t\t\t\tstorage[uuid] = fn;\n\t\t\t\tglobal.postMessage(uuid, \"*\")\n\t\t\t}\n\t\t}();\n\t\tif (!hasSetImmediate && \"onreadystatechange\" in (element = document.createElement(\"script\"))) return function (fn) {\n\t\t\telement.onreadystatechange = function () {\n\t\t\t\telement.onreadystatechange = NULL;\n\t\t\t\telement.parentNode.removeChild(element);\n\t\t\t\tfn()\n\t\t\t};\n\t\t\tdocument.body.appendChild(element)\n\t\t};\n\t\tfallback = hasSetImmediate ? setImmediate : setTimeout;\n\t\treturn function (fn) {\n\t\t\tfallback(fn)\n\t\t}\n\t}();\n\tsingletonEvent = function () {\n\t\tfunction addListener(type, events, callback) {\n\t\t\tvar event, pointer;\n\t\t\tif (validatorIsTypeOf(events, STRING_STRING) && validatorIsTypeOf(callback, STRING_FUNCTION)) {\n\t\t\t\tevents = events.split(\" \");\n\t\t\t\twhile (event = events.shift()) {\n\t\t\t\t\tevent = event.split(\":\");\n\t\t\t\t\tif (regexMatchEvent.test(event[0])) {\n\t\t\t\t\t\t(listener[event[0]] || (listener[event[0]] = {\n\t\t\t\t\t\t\ton: [],\n\t\t\t\t\t\t\tafter: []\n\t\t\t\t\t\t}))[type].push({\n\t\t\t\t\t\t\tcallback: callback,\n\t\t\t\t\t\t\tfilter: event[1]\n\t\t\t\t\t\t});\n\t\t\t\t\t\tif (type === TYPE_ON && event[0] === EVENT_POST_CONFIGURE && (pointer = settings.modules[event[1]])) callback(pointer)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tfunction Event() {}\n\t\tvar TYPE_ON = \"on\",\n\t\t\tTYPE_AFTER = \"after\",\n\t\t\tregexMatchEvent = /^cache(Miss|Hit|Clear|Exceed)|queue(En|De)queue|(pre|post)(Resolve|Configure|Request|Process|Cache)$/,\n\t\t\tlistener = {};\n\t\tEvent.prototype = {\n\t\t\temit: function (event, filter) {\n\t\t\t\tvar parameter, i, item, pointer = listener[event];\n\t\t\t\tif (pointer) {\n\t\t\t\t\tparameter = functionToArray(arguments, 2);\n\t\t\t\t\tfor (i = 0; item = pointer[TYPE_ON][i]; i++)\n\t\t\t\t\t\tif (!item.filter || item.filter === filter) item.callback.apply(NULL, parameter);\n\t\t\t\t\tfor (i = 0; item = pointer[TYPE_AFTER][i]; i++)\n\t\t\t\t\t\tif (!item.filter || item.filter === filter) item.callback.apply(NULL, parameter)\n\t\t\t\t}\n\t\t\t\treturn this\n\t\t\t},\n\t\t\ton: function (events, callback) {\n\t\t\t\taddListener(TYPE_ON, events, callback);\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tafter: function (events, callback) {\n\t\t\t\taddListener(TYPE_AFTER, events, callback);\n\t\t\t\treturn this\n\t\t\t}\n\t\t};\n\t\treturn new Event\n\t}();\n\tClassWeakmap = \"WeakMap\" in global ? global.WeakMap : function () {\n\t\tfunction getEntry(context, key) {\n\t\t\tvar entry;\n\t\t\tif ((entry = key[context.id]) && entry[0] === key) return entry\n\t\t}\n\n\t\tfunction ClassWeakmap() {\n\t\t\tthis.define(\"id\", prefix + functionUuid())\n\t\t}\n\t\tvar prefix = \"weakmap-\";\n\t\tClassWeakmap.prototype = {\n\t\t\tset: function (key, value) {\n\t\t\t\tvar entry = getEntry(this, key);\n\t\t\t\tif (entry) entry[1] = value;\n\t\t\t\telse key.define(this.id, [key, value]);\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tget: function (key) {\n\t\t\t\tvar entry = getEntry(this, key);\n\t\t\t\tif (entry) return entry[1]\n\t\t\t},\n\t\t\tdelete: function (key) {\n\t\t\t\tvar entry = getEntry(this, key);\n\t\t\t\tif (entry) {\n\t\t\t\t\tentry.length = 0;\n\t\t\t\t\tdelete key[this.id]\n\t\t\t\t}\n\t\t\t},\n\t\t\thas: function (key) {\n\t\t\t\treturn !!getEntry(this, key)\n\t\t\t}\n\t\t};\n\t\treturn ClassWeakmap\n\t}();\n\tClassQueue = function () {\n\t\tfunction ClassQueue() {\n\t\t\tvar self = AbstractUuid.call(this);\n\t\t\tstorage.set(self, []);\n\t\t\treturn self\n\t\t}\n\t\tvar storage = new ClassWeakmap;\n\t\tClassQueue.prototype = {\n\t\t\tenqueue: function () {\n\t\t\t\tvar items = functionToArray(arguments);\n\t\t\t\tstorage.set(this, storage.get(this)\n\t\t\t\t\t.concat(items));\n\t\t\t\tsingletonEvent.emit(EVENT_QUEUE_ENQUEUE, this.uuid, items)\n\t\t\t},\n\t\t\tdequeue: function () {\n\t\t\t\tvar item = storage.get(this)\n\t\t\t\t\t.shift();\n\t\t\t\tsingletonEvent.emit(EVENT_QUEUE_DEQUEUE, this.uuid, item);\n\t\t\t\treturn item\n\t\t\t},\n\t\t\tget current() {\n\t\t\t\treturn storage.get(this)[0]\n\t\t\t},\n\t\t\tget length() {\n\t\t\t\treturn storage.get(this)\n\t\t\t\t\t.length\n\t\t\t}\n\t\t};\n\t\treturn ClassQueue.extends(AbstractUuid)\n\t}();\n\tfunctionIdle = function () {\n\t\tfunction onVisibilitychange(event) {\n\t\t\tvar fn;\n\t\t\tif (queue.length && (\"visibilitychange\" !== event.type || \"hidden\" === document.visibilityState)) {\n\t\t\t\tcurrent = cancelIdleCallback(current);\n\t\t\t\tdo {\n\t\t\t\t\tfn && fn()\n\t\t\t\t} while (fn = queue.dequeue())\n\t\t\t}\n\t\t}\n\n\t\tfunction requestIdleCallbackShim(fn) {\n\t\t\tvar start = +new Date;\n\t\t\treturn setTimeout(function () {\n\t\t\t\tfn({\n\t\t\t\t\tdidTimeout: FALSE,\n\t\t\t\t\ttimeRemaining: function () {\n\t\t\t\t\t\treturn Math.max(0, 50 - (+new Date - start))\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t})\n\t\t}\n\n\t\tfunction cancelIdleCallbackShim(id) {\n\t\t\tclearTimeout(id)\n\t\t}\n\n\t\tfunction process() {\n\t\t\tqueue.dequeue()();\n\t\t\tqueue.length && (current = requestIdleCallback(process))\n\t\t}\n\t\tvar current, eventName = \"object\" === typeof global.safari && global.safari.pushNotification ? \"beforeunload\" : \"visibilitychange\",\n\t\t\trequestIdleCallback = global.requestIdleCallback || requestIdleCallbackShim,\n\t\t\tcancelIdleCallback = global.cancelIdleCallback || cancelIdleCallbackShim,\n\t\t\tqueue = new ClassQueue;\n\t\tglobal.addEventListener(eventName, onVisibilitychange, TRUE);\n\t\treturn function (fn) {\n\t\t\tqueue.enqueue(fn);\n\t\t\t!current && queue.length && (current = requestIdleCallback(process))\n\t\t}\n\t}();\n\tfunctionEscapeRegex = function () {\n\t\tvar regexMatchRegex = /[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g;\n\t\treturn function (value) {\n\t\t\treturn value.replace(regexMatchRegex, \"\\\\$&\")\n\t\t}\n\t}();\n\tregexIsAbsoluteUri = /^(http(s?):)?\\/\\//i, regexIsAbsolutePath = /^\\//, regexMatchSourcemap = /((?:\\/\\/|\\/\\*)#)\\s*(sourceMappingURL)\\s*=\\s*(?!(?:http[s]?:)?\\/\\/)(.+?)\\.map(?:\\s+)?(\\*\\/)?/g, regexMatchBaseUrl = new RegExp(\"^\" + functionEscapeRegex(functionResolveUrl(\"/\"))), regexMatchInternal = new RegExp(\"^\" + DEMAND_ID + \"|\" + PROVIDE_ID + \"|\" + PATH_ID + \"$\"), regexMatchParameter = /^(mock:)?([+-])?((?:[-\\w]+\\/?)+)?(?:@(.+?))?(?:#(\\d+))?!/;\n\tClassSemver = function () {\n\t\tfunction parse(version) {\n\t\t\tvar temp, parts = version.split(\"-\"),\n\t\t\t\ti = 0;\n\t\t\tparts = !parts[1] ? parts[0].split(\".\") : Array.prototype.concat(parts[0].split(\".\"), parts[1].split(\".\"));\n\t\t\tfor (; temp = parts[i]; i++) parts[i] = parseInt(temp, 10)\n\t\t\t\t.toString() === temp ? parseInt(temp, 10) : temp;\n\t\t\treturn parts\n\t\t}\n\n\t\tfunction compareLevel(a, b) {\n\t\t\treturn a < b ? -1 : a > b ? 1 : 0\n\t\t}\n\n\t\tfunction compareIdentifier(a, b) {\n\t\t\tvar pa, pb, tpa, tpb, i = 0;\n\t\t\tif (a.length && !b.length) return -1;\n\t\t\telse if (!a.length && b.length) return 1;\n\t\t\telse if (!a.length && !b.length) return 0;\n\t\t\tdo {\n\t\t\t\tpa = a[i];\n\t\t\t\ttpb = typeof (pb = b[i]);\n\t\t\t\tif ((tpa = typeof pa) === STRING_UNDEFINED && tpb === STRING_UNDEFINED) return 0;\n\t\t\t\telse if (tpb === STRING_UNDEFINED) return 1;\n\t\t\t\telse if (tpa === STRING_UNDEFINED) return -1;\n\t\t\t\telse if (pa === pb);\n\t\t\t\telse if (tpa === STRING_STRING && tpb !== STRING_STRING) return 1;\n\t\t\t\telse if (tpa !== STRING_STRING && tpb === STRING_STRING) return -1;\n\t\t\t\telse if (pa > pb) return 1;\n\t\t\t\telse if (pa < pb) return -1\n\t\t\t} while (++i)\n\t\t}\n\n\t\tfunction ClassSemver(version) {\n\t\t\tif (!validatorIsSemver(version)) throw new TypeError('\"version\" must be a valid semver version string');\n\t\t\tversion = parse(version);\n\t\t\tthis.major = version.slice(0, 1);\n\t\t\tthis.minor = version.slice(1, 2);\n\t\t\tthis.patch = version.slice(2, 3);\n\t\t\tthis.identifier = version.slice(3)\n\t\t}\n\t\tClassSemver.prototype = {\n\t\t\ttoString: function () {\n\t\t\t\treturn this.major + \".\" + this.minor + \".\" + this.patch + (this.identifier.length ? \"-\" + this.identifier.join(\".\") : \"\")\n\t\t\t},\n\t\t\tcompare: function (version) {\n\t\t\t\treturn compareLevel(this.major, version.major) || compareLevel(this.minor, version.minor) || compareLevel(this.patch, version.patch) || compareIdentifier(this.identifier, version.identifier)\n\t\t\t}\n\t\t};\n\t\treturn ClassSemver\n\t}();\n\tsingletonCache = function () {\n\t\tfunction enabled(dependency) {\n\t\t\tvar match;\n\t\t\tif (dependency.cache !== NULL) return dependency.cache;\n\t\t\tfunctionIterate(settings.cache, function (property, value) {\n\t\t\t\tif (0 === dependency.path.indexOf(property) && (!match || value.weight > match.weight)) match = value\n\t\t\t});\n\t\t\treturn match ? match.state : FALSE\n\t\t}\n\n\t\tfunction getKey(key) {\n\t\t\treturn localStorage.getItem(key)\n\t\t}\n\n\t\tfunction setKey(key, value) {\n\t\t\tlocalStorage[value ? \"setItem\" : \"removeItem\"](key, value)\n\t\t}\n\n\t\tfunction getState(key) {\n\t\t\tvar matches, state = getKey(key);\n\t\t\tif (state && (matches = state.match(regexMatchProperties))) return functionToArray(matches, 1)\n\t\t}\n\n\t\tfunction setState(key, state) {\n\t\t\tstate[4] = functionGetTimestamp();\n\t\t\tsetKey(key, state.join(\",\"))\n\t\t}\n\n\t\tfunction emit(event, dependency, state) {\n\t\t\tsingletonEvent.emit(event, dependency.id, dependency, state)\n\t\t}\n\n\t\tfunction Cache() {\n\t\t\tfunctionIdle(this.clear.expired.bind(this.clear))\n\t\t}\n\t\tvar cache, STORAGE_PREFIX = \"[\" + DEMAND_ID + \"]\",\n\t\t\tSTORAGE_SUFFIX_STATE = \"[state]\",\n\t\t\tSTORAGE_SUFFIX_VALUE = \"[value]\",\n\t\t\tregexMatchState = new RegExp(\"^\" + functionEscapeRegex(STORAGE_PREFIX) + \"\\\\[(.+?)\\\\]\" + functionEscapeRegex(STORAGE_SUFFIX_STATE) + \"$\"),\n\t\t\tregexMatchProperties = /^(.+?),(\\d+),(\\d*),(.+?),(\\d+)$/,\n\t\t\tsupportsLocalStorage = function () {\n\t\t\t\ttry {\n\t\t\t\t\treturn \"localStorage\" in global && global.localStorage\n\t\t\t\t} catch (exception) {\n\t\t\t\t\treturn FALSE\n\t\t\t\t}\n\t\t\t}(),\n\t\t\tlocalStorage = supportsLocalStorage ? global.localStorage : NULL,\n\t\t\tsupportsRemainingSpace = supportsLocalStorage && \"remainingSpace\" in localStorage,\n\t\t\tstorage = {};\n\t\tsingletonEvent.on(EVENT_CACHE_MISS, function (dependency) {\n\t\t\t\tfunctionIdle(function () {\n\t\t\t\t\tcache.clear(dependency.id)\n\t\t\t\t})\n\t\t\t})\n\t\t\t.on(EVENT_CACHE_EXCEED, function (dependency) {\n\t\t\t\tdemand(\"-!/\" + DEMAND_ID + \"/cache/dispose\")\n\t\t\t\t\t.then(function (cacheDispose) {\n\t\t\t\t\t\tfunctionIdle(function () {\n\t\t\t\t\t\t\tcacheDispose(dependency.source.length);\n\t\t\t\t\t\t\tcache.set(dependency)\n\t\t\t\t\t\t})\n\t\t\t\t\t})\n\t\t\t})\n\t\t\t.on(EVENT_POST_REQUEST, function (dependency) {\n\t\t\t\tif (dependency.source && enabled(dependency)) storage[dependency.id] = TRUE\n\t\t\t})\n\t\t\t.after(EVENT_POST_PROCESS, function (dependency) {\n\t\t\t\tif (storage[dependency.id]) functionIdle(function () {\n\t\t\t\t\tcache.set(dependency)\n\t\t\t\t})\n\t\t\t});\n\t\tCache.prototype = {\n\t\t\tget: supportsLocalStorage ? function (dependency) {\n\t\t\t\tvar id, state;\n\t\t\t\tif (enabled(dependency)) {\n\t\t\t\t\tid = STORAGE_PREFIX + \"[\" + dependency.id + \"]\";\n\t\t\t\t\tif (!(state = getState(id + STORAGE_SUFFIX_STATE))) return;\n\t\t\t\t\tif (1 === dependency.version.compare(new ClassSemver(state[0])) || state[2] && dependency.lifetime && state[2] <= functionGetTimestamp()) {\n\t\t\t\t\t\tdependency.invalid = true;\n\t\t\t\t\t\treturn\n\t\t\t\t\t}\n\t\t\t\t\tdependency.source = getKey(id + STORAGE_SUFFIX_VALUE);\n\t\t\t\t\tfunctionIdle(function () {\n\t\t\t\t\t\tsetState(id + STORAGE_SUFFIX_STATE, state)\n\t\t\t\t\t});\n\t\t\t\t\treturn TRUE\n\t\t\t\t}\n\t\t\t} : function () {},\n\t\t\tresolve: supportsLocalStorage ? function (dependency) {\n\t\t\t\tif (this.get(dependency)) emit(EVENT_CACHE_HIT, dependency);\n\t\t\t\telse emit(EVENT_CACHE_MISS, dependency)\n\t\t\t} : function (dependency) {\n\t\t\t\temit(EVENT_CACHE_MISS, dependency)\n\t\t\t},\n\t\t\tset: supportsLocalStorage ? function (dependency) {\n\t\t\t\tvar state, id, spaceBefore;\n\t\t\t\tif (enabled(dependency)) {\n\t\t\t\t\tstate = [dependency.version, dependency.source.length, dependency.lifetime ? functionGetTimestamp() + dependency.lifetime : NULL, demand.version];\n\t\t\t\t\tid = STORAGE_PREFIX + \"[\" + dependency.id + \"]\";\n\t\t\t\t\temit(EVENT_PRE_CACHE, dependency, state);\n\t\t\t\t\ttry {\n\t\t\t\t\t\tspaceBefore = supportsRemainingSpace ? localStorage.remainingSpace : NULL;\n\t\t\t\t\t\tsetKey(id + STORAGE_SUFFIX_VALUE, dependency.source);\n\t\t\t\t\t\tsetState(id + STORAGE_SUFFIX_STATE, state);\n\t\t\t\t\t\tif (spaceBefore !== NULL && localStorage.remainingSpace === spaceBefore) throw new Error;\n\t\t\t\t\t\temit(EVENT_POST_CACHE, dependency, state)\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\temit(EVENT_CACHE_EXCEED, dependency)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} : function () {},\n\t\t\tclear: supportsLocalStorage ? function (path) {\n\t\t\t\tvar id = functionResolveId(path),\n\t\t\t\t\tkey = STORAGE_PREFIX + \"[\" + id + \"]\";\n\t\t\t\tif (getKey(key + STORAGE_SUFFIX_STATE)) {\n\t\t\t\t\tsetKey(key + STORAGE_SUFFIX_STATE);\n\t\t\t\t\tsetKey(key + STORAGE_SUFFIX_VALUE);\n\t\t\t\t\temit(EVENT_CACHE_CLEAR, ClassDependency.get(id) || new ClassDependency(id, NULL, FALSE))\n\t\t\t\t}\n\t\t\t} : function () {}\n\t\t};\n\t\tCache.prototype.clear.all = supportsLocalStorage ? function () {\n\t\t\tvar match;\n\t\t\tfunctionIterate(localStorage, function (property) {\n\t\t\t\t(match = property.match(regexMatchState)) && this(match[1])\n\t\t\t}, this)\n\t\t} : function () {};\n\t\tCache.prototype.clear.expired = supportsLocalStorage ? function () {\n\t\t\tvar match, state;\n\t\t\tfunctionIterate(localStorage, function (property) {\n\t\t\t\tif (match = property.match(regexMatchState))\n\t\t\t\t\tif ((state = getState(STORAGE_PREFIX + \"[\" + match[1] + \"]\" + STORAGE_SUFFIX_STATE)) && state[2] > 0 && state[2] <= functionGetTimestamp()) this(match[1])\n\t\t\t}, this)\n\t\t} : function () {};\n\t\treturn cache = new Cache\n\t}();\n\tClassPledge = function () {\n\t\tfunction resolve() {\n\t\t\tstorage.get(this)\n\t\t\t\t.handle(PLEDGE_RESOLVED, arguments)\n\t\t}\n\n\t\tfunction reject() {\n\t\t\tstorage.get(this)\n\t\t\t\t.handle(PLEDGE_REJECTED, arguments)\n\t\t}\n\n\t\tfunction handle(state, parameter) {\n\t\t\tvar pointer, result, properties = storage.get(this);\n\t\t\tif (properties.state === PLEDGE_PENDING) {\n\t\t\t\tproperties.state = state;\n\t\t\t\tproperties.value = parameter\n\t\t\t}\n\t\t\twhile (pointer = properties[properties.state].shift())\n\t\t\t\tif ((result = pointer.handler.apply(NULL, properties.value)) && \"function\" === typeof result.then) result.then(pointer.dfd.resolve, pointer.dfd.reject);\n\t\t\t\telse pointer.dfd[properties.state === PLEDGE_RESOLVED ? \"resolve\" : \"reject\"].apply(NULL, properties.value);\n\t\t\tproperties[PLEDGE_RESOLVED].length = 0;\n\t\t\tproperties[PLEDGE_REJECTED].length = 0\n\t\t}\n\n\t\tfunction observe(pledge, index, properties) {\n\t\t\tpledge.then(function () {\n\t\t\t\tproperties.resolved[index] = functionToArray(arguments);\n\t\t\t\tproperties.count++;\n\t\t\t\tcheck(properties)\n\t\t\t}, function () {\n\t\t\t\tproperties.rejected.push(functionToArray(arguments));\n\t\t\t\tcheck(properties)\n\t\t\t})\n\t\t}\n\n\t\tfunction check(properties) {\n\t\t\tif (properties.count === properties.total) properties.dfd.resolve.apply(NULL, arrayPrototypeConcat.apply([], properties.resolved));\n\t\t\telse if (properties.rejected.length + properties.count === properties.total) properties.dfd.reject.apply(NULL, arrayPrototypeConcat.apply([], properties.rejected))\n\t\t}\n\n\t\tfunction ClassPledge(executor) {\n\t\t\tvar self = this;\n\t\t\tstorage.set(self, {\n\t\t\t\tstate: PLEDGE_PENDING,\n\t\t\t\thandle: handle.bind(self),\n\t\t\t\tvalue: NULL,\n\t\t\t\tresolved: [],\n\t\t\t\trejected: [],\n\t\t\t\tcount: 0\n\t\t\t});\n\t\t\texecutor(resolve.bind(self), reject.bind(self));\n\t\t\treturn self\n\t\t}\n\t\tvar PLEDGE_PENDING = \"pending\",\n\t\t\tPLEDGE_RESOLVED = \"resolved\",\n\t\t\tPLEDGE_REJECTED = \"rejected\",\n\t\t\tstorage = new ClassWeakmap;\n\t\tClassPledge.prototype = {\n\t\t\tcatch: function (listener) {\n\t\t\t\treturn this.then(function () {}, listener)\n\t\t\t},\n\t\t\talways: function (alwaysListener) {\n\t\t\t\treturn this.then(alwaysListener, alwaysListener)\n\t\t\t},\n\t\t\tthen: function (resolveListener, rejectListener) {\n\t\t\t\tvar properties = storage.get(this),\n\t\t\t\t\tdfd = ClassPledge.defer();\n\t\t\t\tresolveListener && properties[PLEDGE_RESOLVED].push({\n\t\t\t\t\thandler: resolveListener,\n\t\t\t\t\tdfd: dfd\n\t\t\t\t});\n\t\t\t\trejectListener && properties[PLEDGE_REJECTED].push({\n\t\t\t\t\thandler: rejectListener,\n\t\t\t\t\tdfd: dfd\n\t\t\t\t});\n\t\t\t\tif (properties.state !== PLEDGE_PENDING) functionDefer(properties.handle);\n\t\t\t\treturn dfd.pledge\n\t\t\t},\n\t\t\tisPending: function () {\n\t\t\t\treturn storage.get(this)\n\t\t\t\t\t.state === PLEDGE_PENDING\n\t\t\t},\n\t\t\tisResolved: function () {\n\t\t\t\treturn storage.get(this)\n\t\t\t\t\t.state === PLEDGE_RESOLVED\n\t\t\t},\n\t\t\tisRejected: function () {\n\t\t\t\treturn storage.get(this)\n\t\t\t\t\t.state === PLEDGE_REJECTED\n\t\t\t}\n\t\t};\n\t\tClassPledge.defer = function () {\n\t\t\tvar self = {};\n\t\t\tself.pledge = new ClassPledge(function (resolveListener, rejectListener) {\n\t\t\t\tself.resolve = resolveListener;\n\t\t\t\tself.reject = rejectListener\n\t\t\t});\n\t\t\treturn self\n\t\t};\n\t\tClassPledge.all = function (pledges) {\n\t\t\tvar properties, pledge, dfd = ClassPledge.defer(),\n\t\t\t\ti = 0;\n\t\t\tif (pledges.length) {\n\t\t\t\tproperties = {\n\t\t\t\t\tdfd: dfd,\n\t\t\t\t\tresolved: [],\n\t\t\t\t\trejected: [],\n\t\t\t\t\ttotal: pledges.length,\n\t\t\t\t\tcount: 0\n\t\t\t\t};\n\t\t\t\tfor (; pledge = pledges[i]; i++) observe(pledge, i, properties)\n\t\t\t} else dfd.resolve();\n\t\t\treturn dfd.pledge\n\t\t};\n\t\tClassPledge.race = function (pledges) {\n\t\t\tfor (var pledge, dfd = ClassPledge.defer(), i = 0; pledge = pledges[i]; i++) pledge.then(dfd.resolve, dfd.reject);\n\t\t\tif (!pledges.length) dfd.resolve();\n\t\t\treturn dfd.pledge\n\t\t};\n\t\treturn ClassPledge\n\t}();\n\tClassRegistry = function () {\n\t\tfunction ClassRegistry() {\n\t\t\tstorage.set(this, {})\n\t\t}\n\t\tvar storage = new ClassWeakmap;\n\t\tClassRegistry.prototype = {\n\t\t\tget: function (key) {\n\t\t\t\treturn key ? storage.get(this)[key] : storage.get(this)\n\t\t\t},\n\t\t\tset: function (key, value) {\n\t\t\t\tstorage.get(this)[key] = value\n\t\t\t},\n\t\t\tremove: function (key) {\n\t\t\t\tdelete storage.get(this)[key]\n\t\t\t}\n\t\t};\n\t\treturn ClassRegistry\n\t}();\n\tClassFailure.prototype = {\n\t\ttoString: function () {\n\t\t\tvar self = this,\n\t\t\t\tresult = DEMAND_ID + \": \" + self.message + \" \" + (self.module ? '\"' + self.module + '\"' : \"\");\n\t\t\tif (self.stack) result = ClassFailure.traverse(self.stack, result, 1);\n\t\t\treturn result\n\t\t}\n\t};\n\tClassFailure.traverse = function (stack, value, depth) {\n\t\tfor (var item, indention = new Array(depth + 1)\n\t\t\t\t.join(\" \"), i = 0; item = stack[i]; i++) {\n\t\t\tvalue += \"\\n\" + indention + \"> \" + item.message + \" \" + (item.module ? '\"' + item.module + '\"' : \"\");\n\t\t\tif (item.stack) value = ClassFailure.traverse(item.stack, value, depth + 1)\n\t\t}\n\t\treturn value\n\t};\n\tClassDependency = function () {\n\t\tfunction setProperty(property, value) {\n\t\t\tthis[property] = value\n\t\t}\n\n\t\tfunction add(id) {\n\t\t\tif (!matchInternal.test(id)) this.push(id)\n\t\t}\n\n\t\tfunction addPending(id, dependency) {\n\t\t\tif (!matchInternal.test(id) && dependency.pledge.isPending()) this.push(id)\n\t\t}\n\n\t\tfunction addResolved(id, dependency) {\n\t\t\tif (!matchInternal.test(id) && dependency.pledge.isResolved()) this.push(id)\n\t\t}\n\n\t\tfunction addRejected(id, dependency) {\n\t\t\tif (!matchInternal.test(id) && dependency.pledge.isRejected()) this.push(id)\n\t\t}\n\n\t\tfunction list() {\n\t\t\treturn functionIterate(registry.get(), add, [])\n\t\t}\n\n\t\tfunction ClassDependency(uri, context, register) {\n\t\t\tvar self = this,\n\t\t\t\tparameter = uri.match(regexMatchParameter) || placeholder;\n\t\t\tself.path = functionResolvePath(uri, context);\n\t\t\tself.mock = parameter[1] ? TRUE : FALSE;\n\t\t\tself.cache = parameter[2] ? \"+\" === parameter[1] : NULL;\n\t\t\tself.type = parameter[3] || settings.handler;\n\t\t\tself.version = new ClassSemver(parameter[4] || settings.version);\n\t\t\tself.lifetime = parameter[5] && 1e3 * parameter[5] || settings.lifetime;\n\t\t\tself.id = (self.mock ? MOCK_PREFIX : \"\") + self.type + \"!\" + self.path;\n\t\t\tself.uri = (self.mock ? MOCK_PREFIX : \"\") + self.type + \"@\" + self.version + (validatorIsPositive(self.lifetime) && self.lifetime > 0 ? \"#\" + self.lifetime : \"\") + \"!\" + self.path;\n\t\t\tself.dfd = ClassPledge.defer();\n\t\t\tself.pledge = self.dfd.pledge;\n\t\t\tself.invalid = false;\n\t\t\tself.pledge.then(function () {\n\t\t\t\tself.value = functionToArray(arguments)\n\t\t\t});\n\t\t\tregister !== FALSE && registry.set(self.id, self);\n\t\t\treturn self\n\t\t}\n\t\tvar PREFIX_INTERNAL = \"internal!\",\n\t\t\tregistry = new ClassRegistry,\n\t\t\tmatchInternal = /^(?:mock:|internal!)/i,\n\t\t\tplaceholder = [];\n\t\tlist.pending = function () {\n\t\t\treturn functionIterate(registry.get(), addPending, [])\n\t\t};\n\t\tlist.resolved = function () {\n\t\t\treturn functionIterate(registry.get(), addResolved, [])\n\t\t};\n\t\tlist.rejected = function () {\n\t\t\treturn functionIterate(registry.get(), addRejected, [])\n\t\t};\n\t\tClassDependency.prototype = {\n\t\t\tenqueue: true\n\t\t};\n\t\tClassDependency.get = function (uri, context) {\n\t\t\treturn registry.get(functionResolveId(uri, context))\n\t\t};\n\t\tClassDependency.resolve = function (uri, context) {\n\t\t\tvar value, isInternal = context && regexMatchInternal.test(uri),\n\t\t\t\tdependency = isInternal ? this.get(PREFIX_INTERNAL + context + \"/\" + uri) : this.get(uri, context);\n\t\t\tif (!dependency)\n\t\t\t\tif (isInternal) {\n\t\t\t\t\tdependency = new ClassDependency(PREFIX_INTERNAL + context + \"/\" + uri);\n\t\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\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\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase PATH_ID:\n\t\t\t\t\t\tvalue = context\n\t\t\t\t\t}\n\t\t\t\t\tdependency.dfd.resolve(value)\n\t\t\t\t} else {\n\t\t\t\t\tdependency = new ClassDependency(uri, context);\n\t\t\t\t\tdemand(MODULE_PREFIX_HANDLER + dependency.type)\n\t\t\t\t\t\t.then(function (handler) {\n\t\t\t\t\t\t\tdependency.handler = handler;\n\t\t\t\t\t\t\tif (dependency.mock) dependency.dfd.resolve(handler);\n\t\t\t\t\t\t\telse singletonCache.resolve(dependency)\n\t\t\t\t\t\t}, function () {\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} return dependency\n\t\t};\n\t\tClassDependency.remove = function (uri, context, cache) {\n\t\t\tvar id = functionResolveId(uri, context),\n\t\t\t\tnode = document.querySelector(\"[\" + DEMAND_ID + '-id=\"' + id + '\"]');\n\t\t\tregistry.remove(id);\n\t\t\tregistry.remove(MOCK_PREFIX + id);\n\t\t\tnode && node.parentNode.removeChild(node);\n\t\t\tcache !== FALSE && singletonCache.clear(id)\n\t\t};\n\t\tClassDependency.list = list;\n\t\treturn ClassDependency\n\t}();\n\tClassPattern = function () {\n\t\tfunction setProperty(property, value) {\n\t\t\tthis[property] = {\n\t\t\t\turl: functionResolveUrl(value)\n\t\t\t\t\t.replace(regexMatchTrailingSlash, \"$1\"),\n\t\t\t\tmatch: new RegExp(\"^\" + functionEscapeRegex(value))\n\t\t\t}\n\t\t}\n\n\t\tfunction ClassPattern(pattern, url) {\n\t\t\tvar self = this;\n\t\t\tself.weight = pattern.length;\n\t\t\tself.match = new RegExp(\"^\" + functionEscapeRegex(pattern));\n\t\t\tself.location = [].concat(url);\n\t\t\tfunctionIterate(self.location, setProperty, self.location)\n\t\t}\n\t\tvar regexMatchTrailingSlash = /(.+)\\/$/;\n\t\tClassPattern.prototype = {\n\t\t\tmatches: function (path) {\n\t\t\t\treturn this.match.test(path)\n\t\t\t},\n\t\t\tprocess: function (path, index) {\n\t\t\t\tvar current = this.location[index];\n\t\t\t\tif (current) return path.replace(this.match, current.url)\n\t\t\t}\n\t\t};\n\t\treturn ClassPattern\n\t}();\n\tClassXhr = function (XMLHttpRequest) {\n\t\tfunction checkState() {\n\t\t\tif (this.readyState < 4) this.abort()\n\t\t}\n\t\tvar XDomainRequest = \"XDomainRequest\" in global && global.XDomainRequest || XMLHttpRequest;\n\t\treturn function (url) {\n\t\t\tvar pointer, dfd = ClassPledge.defer(),\n\t\t\t\txhr = regexMatchBaseUrl.test(url) ? new XMLHttpRequest : new XDomainRequest,\n\t\t\t\tboundCheckState = checkState.bind(xhr),\n\t\t\t\ttimeout = settings.timeout;\n\t\t\txhr.ontimeout = xhr.onerror = xhr.onabort = function () {\n\t\t\t\tdfd.reject(xhr.status)\n\t\t\t};\n\t\t\txhr.onprogress = xhr.onreadystatechange = function () {\n\t\t\t\tclearTimeout(pointer);\n\t\t\t\tpointer = setTimeout(boundCheckState, timeout)\n\t\t\t};\n\t\t\txhr.onload = function () {\n\t\t\t\tpointer = clearTimeout(pointer);\n\t\t\t\tif (!(\"status\" in xhr) || 200 === xhr.status) dfd.resolve(xhr.responseText, xhr.getResponseHeader && xhr.getResponseHeader(\"content-type\"));\n\t\t\t\telse dfd.reject(xhr.status)\n\t\t\t};\n\t\t\txhr.open(\"GET\", url, TRUE);\n\t\t\txhr.send();\n\t\t\tpointer = setTimeout(boundCheckState, timeout);\n\t\t\treturn dfd.pledge\n\t\t}\n\t}(XMLHttpRequest);\n\tdemand = function () {\n\t\tfunction updateCacheSettings(property, value) {\n\t\t\tthis[property] = {\n\t\t\t\tweight: property.length,\n\t\t\t\tstate: value\n\t\t\t}\n\t\t}\n\n\t\tfunction updatePatternSettings(property, value) {\n\t\t\t\"base\" !== property && (this[property] = new ClassPattern(property, value))\n\t\t}\n\n\t\tfunction updateModuleSettings(property, value) {\n\t\t\tvar temp = this[property] = this[property] || {};\n\t\t\tsingletonEvent.emit(EVENT_PRE_CONFIGURE, property, temp);\n\t\t\tfunctionMerge(temp, value);\n\t\t\tsingletonEvent.emit(EVENT_POST_CONFIGURE, property, temp)\n\t\t}\n\n\t\tfunction demand() {\n\t\t\tvar uri, dfd, result, dependencies = functionToArray(arguments),\n\t\t\t\tcontext = this !== global ? this : NULL,\n\t\t\t\ti = 0;\n\t\t\tsingletonEvent.emit(EVENT_PRE_RESOLVE, NULL, dependencies, context);\n\t\t\tfor (; uri = dependencies[i]; i++)\n\t\t\t\tif (validatorIsTypeOf(uri, STRING_STRING)) dependencies[i] = ClassDependency.resolve(uri, context)\n\t\t\t\t\t.pledge;\n\t\t\t\telse {\n\t\t\t\t\tdependencies[i] = (dfd = ClassPledge.defer())\n\t\t\t\t\t\t.pledge;\n\t\t\t\t\tdfd.resolve(uri)\n\t\t\t\t} if (dependencies.length > 1) result = ClassPledge.all(dependencies);\n\t\t\telse result = dependencies[0];\n\t\t\treturn result.always(function () {\n\t\t\t\tsingletonEvent.emit(EVENT_POST_RESOLVE, NULL, dependencies, context)\n\t\t\t})\n\t\t}\n\t\tdemand.configure = function (options) {\n\t\t\tvar cache = options.cache,\n\t\t\t\tversion = options.version,\n\t\t\t\ttimeout = options.timeout,\n\t\t\t\tlifetime = options.lifetime,\n\t\t\t\tbase = options.base,\n\t\t\t\tpattern = options.pattern,\n\t\t\t\tmodules = options.modules,\n\t\t\t\tpointer = settings.modules;\n\t\t\tif (validatorIsTypeOf(cache, STRING_BOOLEAN)) settings.cache[\"\"] = {\n\t\t\t\tweight: 0,\n\t\t\t\tstate: cache\n\t\t\t};\n\t\t\telse if (validatorIsObject(cache)) functionIterate(cache, updateCacheSettings, settings.cache);\n\t\t\tif (validatorIsSemver(version)) settings.version = version;\n\t\t\tif (validatorIsPositive(timeout)) settings.timeout = 1e3 * Math.min(Math.max(timeout, 2), 20);\n\t\t\tif (validatorIsPositive(lifetime) && lifetime > 0) settings.lifetime = 1e3 * lifetime;\n\t\t\tif (validatorIsTypeOf(base, STRING_STRING) && \"\" !== base) settings.pattern.base = new ClassPattern(\"\", base);\n\t\t\tif (validatorIsObject(pattern)) functionIterate(pattern, updatePatternSettings, settings.pattern);\n\t\t\tif (validatorIsObject(modules)) functionIterate(modules, updateModuleSettings, pointer);\n\t\t\treturn demand\n\t\t};\n\t\tdemand.version = \"5.1.1\";\n\t\tdemand.on = singletonEvent.on.bind(demand);\n\t\tdemand.get = function (uri, context) {\n\t\t\tvar dependency = ClassDependency.get(uri, context);\n\t\t\treturn dependency && dependency.value\n\t\t};\n\t\tdemand.list = ClassDependency.list;\n\t\tdemand.remove = ClassDependency.remove;\n\t\tdemand.cache = {\n\t\t\tclear: singletonCache.clear\n\t\t};\n\t\tsingletonEvent.after(EVENT_CACHE_MISS, function (dependency) {\n\t\t\t\tnew ClassLoader(dependency)\n\t\t\t})\n\t\t\t.after(EVENT_POST_REQUEST, function (dependency) {\n\t\t\t\tvar pointer = dependency.handler.onPostRequest;\n\t\t\t\tpointer && pointer(dependency)\n\t\t\t})\n\t\t\t.after(EVENT_CACHE_HIT + \" \" + EVENT_POST_REQUEST, function (dependency) {\n\t\t\t\tsingletonEvent.emit(EVENT_PRE_PROCESS, dependency.id, dependency)\n\t\t\t})\n\t\t\t.after(EVENT_PRE_REQUEST, function (dependency) {\n\t\t\t\tvar pointer = dependency.handler.onPreRequest;\n\t\t\t\tpointer && pointer(dependency)\n\t\t\t})\n\t\t\t.after(EVENT_PRE_PROCESS, function (dependency) {\n\t\t\t\tvar pointer = dependency.handler.onPreProcess;\n\t\t\t\tpointer && pointer(dependency);\n\t\t\t\tdependency.pledge.then(function () {\n\t\t\t\t\tsingletonEvent.emit(EVENT_POST_PROCESS, dependency.id, dependency)\n\t\t\t\t});\n\t\t\t\tif (true === dependency.enqueue) queue.enqueue(dependency);\n\t\t\t\telse if (validatorIsInstanceOf(dependency.enqueue, ClassPledge)) dependency.enqueue.then(function () {\n\t\t\t\t\tqueue.enqueue(dependency)\n\t\t\t\t})\n\t\t\t});\n\t\treturn demand\n\t}();\n\tglobal.define(\"demand\", demand);\n\tprovide = function () {\n\t\tvar module, isFunction, uri = validatorIsTypeOf(arguments[0], STRING_STRING) ? arguments[0] : NULL,\n\t\t\tcontext = this !== global ? this : NULL,\n\t\t\tdependencies = validatorIsArray(arguments[uri ? 1 : 0]) ? arguments[uri ? 1 : 0] : NULL,\n\t\t\tdefinition = dependencies ? arguments[uri ? 2 : 1] : arguments[uri ? 1 : 0];\n\t\tif (!uri && processor.current) {\n\t\t\turi = (module = processor.current)\n\t\t\t\t.uri;\n\t\t\tprocessor.process()\n\t\t}\n\t\tif (uri) {\n\t\t\tmodule = module || new ClassDependency(uri, context);\n\t\t\tisFunction = validatorIsTypeOf(definition, STRING_FUNCTION);\n\t\t\tif (dependencies) demand.apply(module.path, dependencies)\n\t\t\t\t.then(function () {\n\t\t\t\t\tmodule.dfd.resolve(isFunction ? definition.apply(NULL, arguments) : definition)\n\t\t\t\t}, function () {\n\t\t\t\t\tmodule.dfd.reject(new ClassFailure(ERROR_PROVIDE, module.id, arguments))\n\t\t\t\t});\n\t\t\telse module.dfd.resolve(isFunction ? definition() : definition);\n\t\t\treturn module.dfd.pledge\n\t\t} else !validatorIsTypeOf(console, STRING_UNDEFINED) && console.error(new ClassFailure(ERROR_PROVIDE_ANONYMOUS))\n\t};\n\tglobal.define(\"provide\", provide);\n\tdemand.configure({\n\t\tcache: TRUE,\n\t\tbase: \"/\",\n\t\tpattern: {\n\t\t\t\"/demand\": functionResolveUrl((options && options.url || location.href) + \"/../\")\n\t\t\t\t.slice(0, -1)\n\t\t}\n\t});\n\toptions && options.settings && demand.configure(options.settings);\n\tClassProcessor = function () {\n\t\tfunction ClassProcessor(queue) {\n\t\t\tvar self = this,\n\t\t\t\tproperties = {\n\t\t\t\t\tqueue: queue,\n\t\t\t\t\tcurrent: NULL\n\t\t\t\t};\n\t\t\tstorage.set(self, properties);\n\t\t\tdemand.on(EVENT_QUEUE_ENQUEUE + \":\" + queue.uuid, function () {\n\t\t\t\t!properties.current && self.process()\n\t\t\t})\n\t\t}\n\t\tvar storage = new ClassWeakmap;\n\t\tClassProcessor.prototype = {\n\t\t\tprocess: function () {\n\t\t\t\tvar current, properties = storage.get(this);\n\t\t\t\tif (properties.queue.length)\n\t\t\t\t\tif (!(current = properties.current = properties.queue.dequeue())\n\t\t\t\t\t\t.pledge.isRejected()) {\n\t\t\t\t\t\tcurrent.handler.process && current.handler.process(current);\n\t\t\t\t\t\treturn\n\t\t\t\t\t} properties.current = NULL\n\t\t\t},\n\t\t\tget current() {\n\t\t\t\treturn storage.get(this)\n\t\t\t\t\t.current\n\t\t\t}\n\t\t};\n\t\treturn ClassProcessor\n\t}();\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\thandlerModule = function () {\n\t\tfunction HandlerModule() {}\n\t\tvar suffix = \".js\",\n\t\t\ttarget = document.getElementsByTagName(\"head\")[0],\n\t\t\tregexMatchType = /^(application|text)\\/(x-)?javascript/;\n\t\tHandlerModule.prototype = {\n\t\t\tvalidate: function (type) {\n\t\t\t\treturn regexMatchType.test(type)\n\t\t\t},\n\t\t\tonPreRequest: function (dependency) {\n\t\t\t\tvar pathname = dependency.url.pathname;\n\t\t\t\tdependency.url.pathname = pathname.slice(-suffix.length) !== suffix ? pathname + suffix : pathname\n\t\t\t},\n\t\t\tonPostRequest: function (dependency) {\n\t\t\t\tdependency.source = functionResolveSourcemaps(dependency.url, dependency.source)\n\t\t\t},\n\t\t\tprocess: function (dependency) {\n\t\t\t\tvar script;\n\t\t\t\tif (dependency.source) {\n\t\t\t\t\t(script = document.createElement(\"script\"))\n\t\t\t\t\t.async = TRUE;\n\t\t\t\t\tscript.text = dependency.source;\n\t\t\t\t\tscript.setAttribute(DEMAND_ID + \"-id\", dependency.id);\n\t\t\t\t\ttarget.appendChild(script)\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t\treturn new(HandlerModule.extends(abstractHandler))\n\t}();\n\tClassFailure.prototype = {\n\t\ttoString: function () {\n\t\t\tvar self = this,\n\t\t\t\tresult = DEMAND_ID + \": \" + self.message + \" \" + (self.module ? '\"' + self.module + '\"' : \"\");\n\t\t\tif (self.stack) result = ClassFailure.traverse(self.stack, result, 1);\n\t\t\treturn result\n\t\t}\n\t};\n\tClassFailure.traverse = function (stack, value, depth) {\n\t\tfor (var item, indention = new Array(depth + 1)\n\t\t\t\t.join(\" \"), i = 0; item = stack[i]; i++) {\n\t\t\tvalue += \"\\n\" + indention + \"> \" + item.message + \" \" + (item.module ? '\"' + item.module + '\"' : \"\");\n\t\t\tif (item.stack) value = ClassFailure.traverse(item.stack, value, depth + 1)\n\t\t}\n\t\treturn value\n\t};\n\thandlerBundle = function () {\n\t\tfunction updateDependencies(uri, dependencies) {\n\t\t\tvar i, dependency;\n\t\t\tfor (i = 0; dependency = dependencies[i]; i++)\n\t\t\t\tif (validatorIsTypeOf(dependency, STRING_STRING)) dependencies[i] = functionResolveId(dependency)\n\t\t}\n\n\t\tfunction getType(dependencies) {\n\t\t\tfor (var type, temp, i = 0; temp = dependencies[i]; i++) {\n\t\t\t\ttemp = (temp = temp.match(regexMatchParameter)) && temp[3] || settings.handler;\n\t\t\t\tif (type) {\n\t\t\t\t\tif (temp !== type) return FALSE\n\t\t\t\t} else type = temp\n\t\t\t}\n\t\t\treturn type\n\t\t}\n\n\t\tfunction HandlerBundle() {}\n\t\tvar path = MODULE_PREFIX_HANDLER + \"bundle\",\n\t\t\tsettings = {};\n\t\tdemand.on(EVENT_POST_CONFIGURE + \":\" + path, function (options) {\n\t\t\tif (validatorIsObject(options)) functionIterate(settings = options, updateDependencies)\n\t\t});\n\t\tHandlerBundle.prototype = {\n\t\t\tvalidate: handlerModule.validate,\n\t\t\tonPreProcess: function (dependency) {\n\t\t\t\tfunction reject() {\n\t\t\t\t\tdfd.reject(new ClassFailure(ERROR_RESOLVE, dependency.id, arguments))\n\t\t\t\t}\n\t\t\t\tvar type, match, pledges, temp, i, source = dependency.source,\n\t\t\t\t\tdfd = dependency.dfd,\n\t\t\t\t\tdependencies = settings[dependency.path];\n\t\t\t\tdependency.enqueue = FALSE;\n\t\t\t\tif (dependencies && (type = getType(dependencies))) {\n\t\t\t\t\twhile (match = regexMatchSourcemap.exec(source)) source = source.replace(match[0], \"\");\n\t\t\t\t\tdependency.source = source;\n\t\t\t\t\tpledges = [];\n\t\t\t\t\tfor (i = 0; temp = dependencies[i]; i++) pledges.push(ClassDependency.resolve(MOCK_PREFIX + temp)\n\t\t\t\t\t\t.pledge);\n\t\t\t\t\tClassPledge.all(pledges)\n\t\t\t\t\t\t.then(function () {\n\t\t\t\t\t\t\tpledges.length = 0;\n\t\t\t\t\t\t\tfor (i = 0; temp = dependencies[i]; i++) {\n\t\t\t\t\t\t\t\t(temp = dependencies[i] = ClassDependency.get(temp) || new ClassDependency(temp))\n\t\t\t\t\t\t\t\t.handler = arguments[i];\n\t\t\t\t\t\t\t\tpledges.push(temp.pledge)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (\"module\" === type) {\n\t\t\t\t\t\t\t\tqueue.enqueue.apply(queue, dependencies);\n\t\t\t\t\t\t\t\thandlerModule.process(dependency)\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\thandlerModule.process(dependency);\n\t\t\t\t\t\t\t\tqueue.enqueue.apply(queue, dependencies)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tClassPledge.all(pledges)\n\t\t\t\t\t\t\t\t.then(dfd.resolve, reject)\n\t\t\t\t\t\t}, reject)\n\t\t\t\t} else reject()\n\t\t\t}\n\t\t};\n\t\treturn new(HandlerBundle.extends(abstractHandler))\n\t}();\n\thandlerComponent = function () {\n\t\tfunction HandlerComponent() {}\n\t\tvar suffix = \".html\",\n\t\t\tregexMatchType = /^text\\/.+$/;\n\t\tHandlerComponent.prototype = {\n\t\t\tvalidate: function (type) {\n\t\t\t\treturn regexMatchType.test(type)\n\t\t\t},\n\t\t\tonPreRequest: function (dependency) {\n\t\t\t\tvar pathname = dependency.url.pathname;\n\t\t\t\tdependency.url.pathname = pathname.slice(-suffix.length) !== suffix ? pathname + suffix : pathname\n\t\t\t},\n\t\t\tonPostRequest: function (dependency) {\n\t\t\t\tdependency.source = functionResolveSourcemaps(dependency.url, dependency.source)\n\t\t\t},\n\t\t\tonPreProcess: function (dependency) {\n\t\t\t\tfunction reject() {\n\t\t\t\t\tdfd.reject(new ClassFailure(ERROR_RESOLVE, dependency.id, arguments))\n\t\t\t\t}\n\t\t\t\tvar node, handler, path, uri, context = dependency.path,\n\t\t\t\t\tdfd = dependency.dfd,\n\t\t\t\t\tcontainer = document.createElement(\"body\"),\n\t\t\t\t\tmodules = [],\n\t\t\t\t\tpledges = [];\n\t\t\t\tdependency.enqueue = FALSE;\n\t\t\t\tcontainer.innerHTML = dependency.source;\n\t\t\t\twhile (node = container.firstElementChild)\n\t\t\t\t\tif (handler = node.getAttribute(\"type\")) {\n\t\t\t\t\t\turi = handler + \"!\" + context + ((path = node.getAttribute(\"path\")) ? \"/\" + path : \"\");\n\t\t\t\t\t\tnode.parentNode.removeChild(node);\n\t\t\t\t\t\tmodules.push({\n\t\t\t\t\t\t\tsource: node.textContent,\n\t\t\t\t\t\t\turi: uri\n\t\t\t\t\t\t});\n\t\t\t\t\t\tpledges.push(ClassDependency.resolve(\"mock:\" + uri)\n\t\t\t\t\t\t\t.pledge)\n\t\t\t\t\t} ClassPledge.all(pledges)\n\t\t\t\t\t.then(function () {\n\t\t\t\t\t\tvar module, dependency, i = 0;\n\t\t\t\t\t\tpledges.length = 0;\n\t\t\t\t\t\tfor (; module = modules[i]; i++) {\n\t\t\t\t\t\t\t(dependency = ClassDependency.get(module.uri) || new ClassDependency(module.uri))\n\t\t\t\t\t\t\t.source = functionResolveSourcemaps(dependency.url, module.source);\n\t\t\t\t\t\t\tdependency.handler = arguments[i];\n\t\t\t\t\t\t\tpledges.push(dependency.pledge);\n\t\t\t\t\t\t\tqueue.enqueue(dependency)\n\t\t\t\t\t\t}\n\t\t\t\t\t\tClassPledge.all(pledges)\n\t\t\t\t\t\t\t.then(dfd.resolve, reject)\n\t\t\t\t\t}, reject)\n\t\t\t}\n\t\t};\n\t\treturn new(HandlerComponent.extends(abstractHandler))\n\t}();\n\tpluginGenie = function () {\n\t\tfunction matchPattern(path) {\n\t\t\tfor (var pointer, match, i = 0; pointer = pattern[i]; i++)\n\t\t\t\tif (0 === path.indexOf(pointer.prefix) && (!match || pointer.weight > match.weight)) match = pointer;\n\t\t\treturn match\n\t\t}\n\n\t\tfunction generateConfiguration(bundle) {\n\t\t\tvar pointer, dependency, matches = bundle.matches,\n\t\t\t\tconfiguration = {\n\t\t\t\t\tpattern: {},\n\t\t\t\t\tmodules: {\n\t\t\t\t\t\t\"/demand/handler/bundle\": {}\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\ti = 0;\n\t\t\tconfiguration.pattern[bundle.id] = bundle.fn(matches);\n\t\t\tconfiguration.modules[MODULE_PREFIX_HANDLER + \"bundle\"][bundle.id] = pointer = [];\n\t\t\tfor (; dependency = matches[i]; i++) pointer.push(dependency.path);\n\t\t\treturn configuration\n\t\t}\n\n\t\tfunction resolveDependencies() {\n\t\t\tfor (var dependency, i = 0; dependency = this[i]; i++) dependency.dfd.resolve(arguments[i])\n\t\t}\n\n\t\tfunction rejectDependencies() {\n\t\t\tfor (var dependency, i = 0; dependency = this[i]; i++) dependency.dfd.reject(new ClassFailure(ERROR_RESOLVE, dependency.id))\n\t\t}\n\n\t\tfunction addPattern(property, value) {\n\t\t\tpattern.push({\n\t\t\t\tprefix: property,\n\t\t\t\tweight: property.length,\n\t\t\t\tfn: value\n\t\t\t})\n\t\t}\n\n\t\tfunction resolveBundles(property, value) {\n\t\t\tvar dependency, matches = value.matches,\n\t\t\t\ti = 0;\n\t\t\tif (matches.length > 1) {\n\t\t\t\tvalue.id = path + \"/\" + functionHash(JSON.stringify(value.matches));\n\t\t\t\tfor (; dependency = matches[i]; i++) matches[i] = new ClassDependency(dependency.uri);\n\t\t\t\tdemand.configure(generateConfiguration(value));\n\t\t\t\tdemand(\"bundle!\" + value.id)\n\t\t\t\t\t.then(resolveDependencies.bind(matches), rejectDependencies.bind(matches))\n\t\t\t}\n\t\t}\n\t\tvar path = MODULE_PREFIX_PLUGIN + \"genie\",\n\t\t\tpattern = [];\n\t\tdemand.on(EVENT_POST_CONFIGURE + \":\" + path, function (options) {\n\t\t\t\tif (validatorIsObject(options)) {\n\t\t\t\t\tpattern.length = 0;\n\t\t\t\t\tfunctionIterate(options, addPattern)\n\t\t\t\t}\n\t\t\t})\n\t\t\t.on(EVENT_PRE_RESOLVE, function (dependencies, context) {\n\t\t\t\tfor (var dependency, pattern, bundles = {}, i = 0; dependency = dependencies[i]; i++)\n\t\t\t\t\tif (validatorIsTypeOf(dependency, STRING_STRING) && !regexMatchInternal.test(dependency) && !ClassDependency.get(dependency, context))\n\t\t\t\t\t\tif (\"module\" === (dependency = new ClassDependency(dependency, context, FALSE))\n\t\t\t\t\t\t\t.type && (pattern = matchPattern(dependency.path)) && !singletonCache.get(dependency))(bundles[pattern.prefix] || (bundles[pattern.prefix] = {\n\t\t\t\t\t\t\t\tfn: pattern.fn,\n\t\t\t\t\t\t\t\tmatches: []\n\t\t\t\t\t\t\t}))\n\t\t\t\t\t\t\t.matches.push(dependency);\n\t\t\t\tfunctionIterate(bundles, resolveBundles)\n\t\t\t});\n\t\treturn TRUE\n\t}();\n\tqueue = new ClassQueue;\n\tprocessor = new ClassProcessor(queue);\n\tassignModule(MODULE_PREFIX_ABSTRACT + \"uuid\", AbstractUuid);\n\tassignModule(MODULE_PREFIX_ABSTRACT + \"handler\", abstractHandler);\n\tassignModule(MODULE_PREFIX_HANDLER + \"module\", handlerModule);\n\tassignModule(MODULE_PREFIX_HANDLER + \"bundle\", handlerBundle);\n\tassignModule(MODULE_PREFIX_HANDLER + \"component\", handlerComponent);\n\tassignModule(MODULE_PREFIX_PLUGIN + \"genie\", pluginGenie);\n\tassignModule(MODULE_PREFIX_VALIDATOR + \"isTypeOf\", validatorIsTypeOf);\n\tassignModule(MODULE_PREFIX_VALIDATOR + \"isArray\", validatorIsArray);\n\tassignModule(MODULE_PREFIX_VALIDATOR + \"isObject\", validatorIsObject);\n\tassignModule(MODULE_PREFIX_VALIDATOR + \"isInstanceOf\", validatorIsInstanceOf);\n\tassignModule(MODULE_PREFIX_VALIDATOR + \"isSemver\", validatorIsSemver);\n\tassignModule(MODULE_PREFIX_FUNCTION + \"resolveUrl\", functionResolveUrl);\n\tassignModule(MODULE_PREFIX_FUNCTION + \"resolveSourcemaps\", functionResolveSourcemaps);\n\tassignModule(MODULE_PREFIX_FUNCTION + \"merge\", functionMerge);\n\tassignModule(MODULE_PREFIX_FUNCTION + \"iterate\", functionIterate);\n\tassignModule(MODULE_PREFIX_FUNCTION + \"hash\", functionHash);\n\tassignModule(MODULE_PREFIX_FUNCTION + \"defer\", functionDefer);\n\tassignModule(MODULE_PREFIX_FUNCTION + \"idle\", functionIdle);\n\tassignModule(MODULE_PREFIX_FUNCTION + \"uuid\", functionUuid);\n\tassignModule(MODULE_PREFIX + \"weakmap\", ClassWeakmap);\n\tassignModule(MODULE_PREFIX + \"descriptor\", ClassDescriptor);\n\tassignModule(MODULE_PREFIX + \"pledge\", ClassPledge);\n\tassignModule(MODULE_PREFIX + \"queue\", ClassQueue);\n\tassignModule(MODULE_PREFIX + \"xhr\", ClassXhr);\n\tassignModule(MODULE_PREFIX + \"failure\", ClassFailure);\n\tassignModule(MODULE_PREFIX + \"semver\", ClassSemver);\n\tif (options && options.main) switch (typeof options.main) {\n\tcase STRING_STRING:\n\t\tdemand(options.main);\n\t\tbreak;\n\tcase STRING_FUNCTION:\n\t\tprovide(\"main\", options.main())\n\t}\n})(\"demand-loader\" === this.name ? parent : this, setTimeout, clearTimeout);\n"]} \ No newline at end of file diff --git a/dist/handler/css.js b/dist/handler/css.js index b53c4df..fd13931 100644 --- a/dist/handler/css.js +++ b/dist/handler/css.js @@ -1,3 +1,3 @@ -/**! Qoopido.demand 5.1.0 | https://github.com/dlueth/qoopido.demand | (c) 2018 Dirk Lueth */ +/**! Qoopido.demand 5.1.1 | https://github.com/dlueth/qoopido.demand | (c) 2018 Dirk Lueth */ !function(m){"use strict";provide(["/demand/abstract/handler","/demand/function/resolveSourcemaps"],function(e,u){function c(e){return s.href=e,s}function a(e,t,r){return o.test(t[1])||(e=e.replace(t[0],r)),e}function t(){}var r=".css",n=m.getElementsByTagName("head")[0],s=m.createElement("a"),i=/url\s*\(\s*["']?(.+?)["']?\s*\)/gi,d=/@import\s+["'](.+?)["']/gi,l=/^\//i,o=/^data:|http(s?):|\/\//i,f=/^text\/css/;return t.prototype={validate:function(e){return f.test(e)},onPreRequest:function(e){var t=e.url.pathname;e.url.pathname=t.slice(-r.length)!==r?t+r:t},onPostRequest:function(e){for(var t,r=c(e.url+"/.."),n=r.href,s="//"+r.host,o=e.source;t=i.exec(o);)o=a(o,t,'url("'+c(l.test(t[1])?s+t[1]:n+t[1]).href+'")');for(;t=d.exec(o);)o=a(o,t,'@import "'+c(l.test(t[1])?s+t[1]:n+t[1]).href+'"');e.source=u(e.url,o)},process:function(e){var t=m.querySelector('[demand-id="'+e.id+'"]');t||((t=m.createElement("style")).type="text/css",t.setAttribute("demand-id",e.id),n.appendChild(t)),"STYLE"===t.tagName&&(t.styleSheet?t.styleSheet.cssText=e.source:t.textContent=e.source),provide(function(){return t})}},new(t.extends(e))})}(document); //# sourceMappingURL=css.js.map diff --git a/dist/handler/css.js.map b/dist/handler/css.js.map index 66d39b7..e4b5f2b 100644 --- a/dist/handler/css.js.map +++ b/dist/handler/css.js.map @@ -1 +1 @@ -{"version":3,"sources":["handler/css.js"],"names":["document","provide","abstractHandler","functionResolveSourcemaps","resolveUrl","url","resolver","href","replaceUri","source","match","replacement","regexIsAbsoluteUri","test","replace","HandlerCss","suffix","target","getElementsByTagName","createElement","regexMatchUrl","regexMatchImport","regexIsAbsolutePath","regexMatchType","prototype","validate","type","onPreRequest","dependency","pathname","slice","length","onPostRequest","base","host","exec","process","element","querySelector","id","setAttribute","appendChild","tagName","styleSheet","cssText","textContent","extends"],"mappings":";CAAA,SAAAA,GACA,aA2DAC,QAAA,CAAA,2BAAA,sCAzDA,SAAAC,EAAAC,GACA,SAAAC,EAAAC,GAEA,OADAC,EAAAC,KAAAF,EACAC,EAGA,SAAAE,EAAAC,EAAAC,EAAAC,GAEA,OADAC,EAAAC,KAAAH,EAAA,MAAAD,EAAAA,EAAAK,QAAAJ,EAAA,GAAAC,IACAF,EAGA,SAAAM,KACA,IAAAC,EAAA,OACAC,EAAAjB,EAAAkB,qBAAA,QAAA,GACAZ,EAAAN,EAAAmB,cAAA,KACAC,EAAA,oCACAC,EAAA,4BACAC,EAAA,OACAV,EAAA,yBACAW,EAAA,aAoCA,OAnCAR,EAAAS,UAAA,CACAC,SAAA,SAAAC,GACA,OAAAH,EAAAV,KAAAa,IAEAC,aAAA,SAAAC,GACA,IAAAC,EAAAD,EAAAvB,IAAAwB,SACAD,EAAAvB,IAAAwB,SAAAA,EAAAC,OAAAd,EAAAe,UAAAf,EAAAa,EAAAb,EAAAa,GAEAG,cAAA,SAAAJ,GAKA,IAJA,IAAAlB,EAAAL,EAAAD,EAAAwB,EAAAvB,IAAA,OACA4B,EAAA5B,EAAAE,KACA2B,EAAA,KAAA7B,EAAA6B,KACAzB,EAAAmB,EAAAnB,OACAC,EAAAU,EAAAe,KAAA1B,IAAAA,EAAAD,EAAAC,EAAAC,EAAA,QAAAN,EAAAkB,EAAAT,KAAAH,EAAA,IAAAwB,EAAAxB,EAAA,GAAAuB,EAAAvB,EAAA,IACAH,KAAA,MACA,KAAAG,EAAAW,EAAAc,KAAA1B,IAAAA,EAAAD,EAAAC,EAAAC,EAAA,YAAAN,EAAAkB,EAAAT,KAAAH,EAAA,IAAAwB,EAAAxB,EAAA,GAAAuB,EAAAvB,EAAA,IACAH,KAAA,KACAqB,EAAAnB,OAAAN,EAAAyB,EAAAvB,IAAAI,IAEA2B,QAAA,SAAAR,GACA,IAAAS,EAAArC,EAAAsC,cAAA,eAAAV,EAAAW,GAAA,MACAF,KACAA,EAAArC,EAAAmB,cAAA,UACAO,KAAA,WACAW,EAAAG,aAAA,YAAAZ,EAAAW,IACAtB,EAAAwB,YAAAJ,IAEA,UAAAA,EAAAK,UACAL,EAAAM,WAAAN,EAAAM,WAAAC,QAAAhB,EAAAnB,OACA4B,EAAAQ,YAAAjB,EAAAnB,QACAR,QAAA,WACA,OAAAoC,MAIA,IAAAtB,EAAA+B,QAAA5C,MA1DA,CA6DAF","file":"css.js","sourcesContent":["/**! Qoopido.demand 5.1.0 | https://github.com/dlueth/qoopido.demand | (c) 2018 Dirk Lueth */\n(function (document) {\n\t\"use strict\";\n\n\tfunction definition(abstractHandler, functionResolveSourcemaps) {\n\t\tfunction resolveUrl(url) {\n\t\t\tresolver.href = url;\n\t\t\treturn resolver\n\t\t}\n\n\t\tfunction replaceUri(source, match, replacement) {\n\t\t\tif (!regexIsAbsoluteUri.test(match[1])) source = source.replace(match[0], replacement);\n\t\t\treturn source\n\t\t}\n\n\t\tfunction HandlerCss() {}\n\t\tvar suffix = \".css\",\n\t\t\ttarget = document.getElementsByTagName(\"head\")[0],\n\t\t\tresolver = document.createElement(\"a\"),\n\t\t\tregexMatchUrl = /url\\s*\\(\\s*[\"']?(.+?)[\"']?\\s*\\)/gi,\n\t\t\tregexMatchImport = /@import\\s+[\"'](.+?)[\"']/gi,\n\t\t\tregexIsAbsolutePath = /^\\//i,\n\t\t\tregexIsAbsoluteUri = /^data:|http(s?):|\\/\\//i,\n\t\t\tregexMatchType = /^text\\/css/;\n\t\tHandlerCss.prototype = {\n\t\t\tvalidate: function (type) {\n\t\t\t\treturn regexMatchType.test(type)\n\t\t\t},\n\t\t\tonPreRequest: function (dependency) {\n\t\t\t\tvar pathname = dependency.url.pathname;\n\t\t\t\tdependency.url.pathname = pathname.slice(-suffix.length) !== suffix ? pathname + suffix : pathname\n\t\t\t},\n\t\t\tonPostRequest: function (dependency) {\n\t\t\t\tvar match, url = resolveUrl(dependency.url + \"/..\"),\n\t\t\t\t\tbase = url.href,\n\t\t\t\t\thost = \"//\" + url.host,\n\t\t\t\t\tsource = dependency.source;\n\t\t\t\twhile (match = regexMatchUrl.exec(source)) source = replaceUri(source, match, 'url(\"' + resolveUrl(regexIsAbsolutePath.test(match[1]) ? host + match[1] : base + match[1])\n\t\t\t\t\t.href + '\")');\n\t\t\t\twhile (match = regexMatchImport.exec(source)) source = replaceUri(source, match, '@import \"' + resolveUrl(regexIsAbsolutePath.test(match[1]) ? host + match[1] : base + match[1])\n\t\t\t\t\t.href + '\"');\n\t\t\t\tdependency.source = functionResolveSourcemaps(dependency.url, source)\n\t\t\t},\n\t\t\tprocess: function (dependency) {\n\t\t\t\tvar element = document.querySelector('[demand-id=\"' + dependency.id + '\"]');\n\t\t\t\tif (!element) {\n\t\t\t\t\t(element = document.createElement(\"style\"))\n\t\t\t\t\t.type = \"text/css\";\n\t\t\t\t\telement.setAttribute(\"demand-id\", dependency.id);\n\t\t\t\t\ttarget.appendChild(element)\n\t\t\t\t}\n\t\t\t\tif (\"STYLE\" === element.tagName)\n\t\t\t\t\tif (element.styleSheet) element.styleSheet.cssText = dependency.source;\n\t\t\t\t\telse element.textContent = dependency.source;\n\t\t\t\tprovide(function () {\n\t\t\t\t\treturn element\n\t\t\t\t})\n\t\t\t}\n\t\t};\n\t\treturn new(HandlerCss.extends(abstractHandler))\n\t}\n\tprovide([\"/demand/abstract/handler\", \"/demand/function/resolveSourcemaps\"], definition)\n})(document);\n"]} \ No newline at end of file +{"version":3,"sources":["handler/css.js"],"names":["document","provide","abstractHandler","functionResolveSourcemaps","resolveUrl","url","resolver","href","replaceUri","source","match","replacement","regexIsAbsoluteUri","test","replace","HandlerCss","suffix","target","getElementsByTagName","createElement","regexMatchUrl","regexMatchImport","regexIsAbsolutePath","regexMatchType","prototype","validate","type","onPreRequest","dependency","pathname","slice","length","onPostRequest","base","host","exec","process","element","querySelector","id","setAttribute","appendChild","tagName","styleSheet","cssText","textContent","extends"],"mappings":";CAAA,SAAAA,GACA,aA2DAC,QAAA,CAAA,2BAAA,sCAzDA,SAAAC,EAAAC,GACA,SAAAC,EAAAC,GAEA,OADAC,EAAAC,KAAAF,EACAC,EAGA,SAAAE,EAAAC,EAAAC,EAAAC,GAEA,OADAC,EAAAC,KAAAH,EAAA,MAAAD,EAAAA,EAAAK,QAAAJ,EAAA,GAAAC,IACAF,EAGA,SAAAM,KACA,IAAAC,EAAA,OACAC,EAAAjB,EAAAkB,qBAAA,QAAA,GACAZ,EAAAN,EAAAmB,cAAA,KACAC,EAAA,oCACAC,EAAA,4BACAC,EAAA,OACAV,EAAA,yBACAW,EAAA,aAoCA,OAnCAR,EAAAS,UAAA,CACAC,SAAA,SAAAC,GACA,OAAAH,EAAAV,KAAAa,IAEAC,aAAA,SAAAC,GACA,IAAAC,EAAAD,EAAAvB,IAAAwB,SACAD,EAAAvB,IAAAwB,SAAAA,EAAAC,OAAAd,EAAAe,UAAAf,EAAAa,EAAAb,EAAAa,GAEAG,cAAA,SAAAJ,GAKA,IAJA,IAAAlB,EAAAL,EAAAD,EAAAwB,EAAAvB,IAAA,OACA4B,EAAA5B,EAAAE,KACA2B,EAAA,KAAA7B,EAAA6B,KACAzB,EAAAmB,EAAAnB,OACAC,EAAAU,EAAAe,KAAA1B,IAAAA,EAAAD,EAAAC,EAAAC,EAAA,QAAAN,EAAAkB,EAAAT,KAAAH,EAAA,IAAAwB,EAAAxB,EAAA,GAAAuB,EAAAvB,EAAA,IACAH,KAAA,MACA,KAAAG,EAAAW,EAAAc,KAAA1B,IAAAA,EAAAD,EAAAC,EAAAC,EAAA,YAAAN,EAAAkB,EAAAT,KAAAH,EAAA,IAAAwB,EAAAxB,EAAA,GAAAuB,EAAAvB,EAAA,IACAH,KAAA,KACAqB,EAAAnB,OAAAN,EAAAyB,EAAAvB,IAAAI,IAEA2B,QAAA,SAAAR,GACA,IAAAS,EAAArC,EAAAsC,cAAA,eAAAV,EAAAW,GAAA,MACAF,KACAA,EAAArC,EAAAmB,cAAA,UACAO,KAAA,WACAW,EAAAG,aAAA,YAAAZ,EAAAW,IACAtB,EAAAwB,YAAAJ,IAEA,UAAAA,EAAAK,UACAL,EAAAM,WAAAN,EAAAM,WAAAC,QAAAhB,EAAAnB,OACA4B,EAAAQ,YAAAjB,EAAAnB,QACAR,QAAA,WACA,OAAAoC,MAIA,IAAAtB,EAAA+B,QAAA5C,MA1DA,CA6DAF","file":"css.js","sourcesContent":["/**! Qoopido.demand 5.1.1 | https://github.com/dlueth/qoopido.demand | (c) 2018 Dirk Lueth */\n(function (document) {\n\t\"use strict\";\n\n\tfunction definition(abstractHandler, functionResolveSourcemaps) {\n\t\tfunction resolveUrl(url) {\n\t\t\tresolver.href = url;\n\t\t\treturn resolver\n\t\t}\n\n\t\tfunction replaceUri(source, match, replacement) {\n\t\t\tif (!regexIsAbsoluteUri.test(match[1])) source = source.replace(match[0], replacement);\n\t\t\treturn source\n\t\t}\n\n\t\tfunction HandlerCss() {}\n\t\tvar suffix = \".css\",\n\t\t\ttarget = document.getElementsByTagName(\"head\")[0],\n\t\t\tresolver = document.createElement(\"a\"),\n\t\t\tregexMatchUrl = /url\\s*\\(\\s*[\"']?(.+?)[\"']?\\s*\\)/gi,\n\t\t\tregexMatchImport = /@import\\s+[\"'](.+?)[\"']/gi,\n\t\t\tregexIsAbsolutePath = /^\\//i,\n\t\t\tregexIsAbsoluteUri = /^data:|http(s?):|\\/\\//i,\n\t\t\tregexMatchType = /^text\\/css/;\n\t\tHandlerCss.prototype = {\n\t\t\tvalidate: function (type) {\n\t\t\t\treturn regexMatchType.test(type)\n\t\t\t},\n\t\t\tonPreRequest: function (dependency) {\n\t\t\t\tvar pathname = dependency.url.pathname;\n\t\t\t\tdependency.url.pathname = pathname.slice(-suffix.length) !== suffix ? pathname + suffix : pathname\n\t\t\t},\n\t\t\tonPostRequest: function (dependency) {\n\t\t\t\tvar match, url = resolveUrl(dependency.url + \"/..\"),\n\t\t\t\t\tbase = url.href,\n\t\t\t\t\thost = \"//\" + url.host,\n\t\t\t\t\tsource = dependency.source;\n\t\t\t\twhile (match = regexMatchUrl.exec(source)) source = replaceUri(source, match, 'url(\"' + resolveUrl(regexIsAbsolutePath.test(match[1]) ? host + match[1] : base + match[1])\n\t\t\t\t\t.href + '\")');\n\t\t\t\twhile (match = regexMatchImport.exec(source)) source = replaceUri(source, match, '@import \"' + resolveUrl(regexIsAbsolutePath.test(match[1]) ? host + match[1] : base + match[1])\n\t\t\t\t\t.href + '\"');\n\t\t\t\tdependency.source = functionResolveSourcemaps(dependency.url, source)\n\t\t\t},\n\t\t\tprocess: function (dependency) {\n\t\t\t\tvar element = document.querySelector('[demand-id=\"' + dependency.id + '\"]');\n\t\t\t\tif (!element) {\n\t\t\t\t\t(element = document.createElement(\"style\"))\n\t\t\t\t\t.type = \"text/css\";\n\t\t\t\t\telement.setAttribute(\"demand-id\", dependency.id);\n\t\t\t\t\ttarget.appendChild(element)\n\t\t\t\t}\n\t\t\t\tif (\"STYLE\" === element.tagName)\n\t\t\t\t\tif (element.styleSheet) element.styleSheet.cssText = dependency.source;\n\t\t\t\t\telse element.textContent = dependency.source;\n\t\t\t\tprovide(function () {\n\t\t\t\t\treturn element\n\t\t\t\t})\n\t\t\t}\n\t\t};\n\t\treturn new(HandlerCss.extends(abstractHandler))\n\t}\n\tprovide([\"/demand/abstract/handler\", \"/demand/function/resolveSourcemaps\"], definition)\n})(document);\n"]} \ No newline at end of file diff --git a/dist/handler/html.js b/dist/handler/html.js index 1e9effc..138a638 100644 --- a/dist/handler/html.js +++ b/dist/handler/html.js @@ -1,3 +1,3 @@ -/**! Qoopido.demand 5.1.0 | https://github.com/dlueth/qoopido.demand | (c) 2018 Dirk Lueth */ +/**! Qoopido.demand 5.1.1 | https://github.com/dlueth/qoopido.demand | (c) 2018 Dirk Lueth */ !function(){"use strict";provide(["/demand/abstract/handler"],function(e){function t(){}var n=".html",r=/^text\/html/,o=document.createElement("body");return t.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},process:function(e){provide(function(){return function(e){var t,n=document.createDocumentFragment();for(o.innerHTML=e;t=o.firstElementChild;)n.appendChild(t);return n}(e.source)})}},new(t.extends(e))})}(); //# sourceMappingURL=html.js.map diff --git a/dist/handler/html.js.map b/dist/handler/html.js.map index b35b2db..511e6fc 100644 --- a/dist/handler/html.js.map +++ b/dist/handler/html.js.map @@ -1 +1 @@ -{"version":3,"sources":["handler/html.js"],"names":["provide","abstractHandler","HandlerHtml","suffix","regexMatchType","container","document","createElement","prototype","validate","type","test","onPreRequest","dependency","pathname","url","slice","length","process","source","node","fragment","createDocumentFragment","innerHTML","firstElementChild","appendChild","parseHtml","extends"],"mappings":";CAAA,WACA,aA8BAA,QAAA,CAAA,4BA5BA,SAAAC,GAQA,SAAAC,KACA,IAAAC,EAAA,QACAC,EAAA,cACAC,EAAAC,SAAAC,cAAA,QAeA,OAdAL,EAAAM,UAAA,CACAC,SAAA,SAAAC,GACA,OAAAN,EAAAO,KAAAD,IAEAE,aAAA,SAAAC,GACA,IAAAC,EAAAD,EAAAE,IAAAD,SACAD,EAAAE,IAAAD,SAAAA,EAAAE,OAAAb,EAAAc,UAAAd,EAAAW,EAAAX,EAAAW,GAEAI,QAAA,SAAAL,GACAb,QAAA,WACA,OArBA,SAAAmB,GACA,IAAAC,EAAAC,EAAAf,SAAAgB,yBAEA,IADAjB,EAAAkB,UAAAJ,EACAC,EAAAf,EAAAmB,mBAAAH,EAAAI,YAAAL,GACA,OAAAC,EAiBAK,CAAAb,EAAAM,YAIA,IAAAjB,EAAAyB,QAAA1B,MA7BA","file":"html.js","sourcesContent":["/**! Qoopido.demand 5.1.0 | https://github.com/dlueth/qoopido.demand | (c) 2018 Dirk Lueth */\n(function () {\n\t\"use strict\";\n\n\tfunction definition(abstractHandler) {\n\t\tfunction parseHtml(source) {\n\t\t\tvar node, fragment = document.createDocumentFragment();\n\t\t\tcontainer.innerHTML = source;\n\t\t\twhile (node = container.firstElementChild) fragment.appendChild(node);\n\t\t\treturn fragment\n\t\t}\n\n\t\tfunction HandlerHtml() {}\n\t\tvar suffix = \".html\",\n\t\t\tregexMatchType = /^text\\/html/,\n\t\t\tcontainer = document.createElement(\"body\");\n\t\tHandlerHtml.prototype = {\n\t\t\tvalidate: function (type) {\n\t\t\t\treturn regexMatchType.test(type)\n\t\t\t},\n\t\t\tonPreRequest: function (dependency) {\n\t\t\t\tvar pathname = dependency.url.pathname;\n\t\t\t\tdependency.url.pathname = pathname.slice(-suffix.length) !== suffix ? pathname + suffix : pathname\n\t\t\t},\n\t\t\tprocess: function (dependency) {\n\t\t\t\tprovide(function () {\n\t\t\t\t\treturn parseHtml(dependency.source)\n\t\t\t\t})\n\t\t\t}\n\t\t};\n\t\treturn new(HandlerHtml.extends(abstractHandler))\n\t}\n\tprovide([\"/demand/abstract/handler\"], definition)\n})();\n"]} \ No newline at end of file +{"version":3,"sources":["handler/html.js"],"names":["provide","abstractHandler","HandlerHtml","suffix","regexMatchType","container","document","createElement","prototype","validate","type","test","onPreRequest","dependency","pathname","url","slice","length","process","source","node","fragment","createDocumentFragment","innerHTML","firstElementChild","appendChild","parseHtml","extends"],"mappings":";CAAA,WACA,aA8BAA,QAAA,CAAA,4BA5BA,SAAAC,GAQA,SAAAC,KACA,IAAAC,EAAA,QACAC,EAAA,cACAC,EAAAC,SAAAC,cAAA,QAeA,OAdAL,EAAAM,UAAA,CACAC,SAAA,SAAAC,GACA,OAAAN,EAAAO,KAAAD,IAEAE,aAAA,SAAAC,GACA,IAAAC,EAAAD,EAAAE,IAAAD,SACAD,EAAAE,IAAAD,SAAAA,EAAAE,OAAAb,EAAAc,UAAAd,EAAAW,EAAAX,EAAAW,GAEAI,QAAA,SAAAL,GACAb,QAAA,WACA,OArBA,SAAAmB,GACA,IAAAC,EAAAC,EAAAf,SAAAgB,yBAEA,IADAjB,EAAAkB,UAAAJ,EACAC,EAAAf,EAAAmB,mBAAAH,EAAAI,YAAAL,GACA,OAAAC,EAiBAK,CAAAb,EAAAM,YAIA,IAAAjB,EAAAyB,QAAA1B,MA7BA","file":"html.js","sourcesContent":["/**! Qoopido.demand 5.1.1 | https://github.com/dlueth/qoopido.demand | (c) 2018 Dirk Lueth */\n(function () {\n\t\"use strict\";\n\n\tfunction definition(abstractHandler) {\n\t\tfunction parseHtml(source) {\n\t\t\tvar node, fragment = document.createDocumentFragment();\n\t\t\tcontainer.innerHTML = source;\n\t\t\twhile (node = container.firstElementChild) fragment.appendChild(node);\n\t\t\treturn fragment\n\t\t}\n\n\t\tfunction HandlerHtml() {}\n\t\tvar suffix = \".html\",\n\t\t\tregexMatchType = /^text\\/html/,\n\t\t\tcontainer = document.createElement(\"body\");\n\t\tHandlerHtml.prototype = {\n\t\t\tvalidate: function (type) {\n\t\t\t\treturn regexMatchType.test(type)\n\t\t\t},\n\t\t\tonPreRequest: function (dependency) {\n\t\t\t\tvar pathname = dependency.url.pathname;\n\t\t\t\tdependency.url.pathname = pathname.slice(-suffix.length) !== suffix ? pathname + suffix : pathname\n\t\t\t},\n\t\t\tprocess: function (dependency) {\n\t\t\t\tprovide(function () {\n\t\t\t\t\treturn parseHtml(dependency.source)\n\t\t\t\t})\n\t\t\t}\n\t\t};\n\t\treturn new(HandlerHtml.extends(abstractHandler))\n\t}\n\tprovide([\"/demand/abstract/handler\"], definition)\n})();\n"]} \ No newline at end of file diff --git a/dist/handler/json.js b/dist/handler/json.js index 63e93cc..06b5ef0 100644 --- a/dist/handler/json.js +++ b/dist/handler/json.js @@ -1,3 +1,3 @@ -/**! Qoopido.demand 5.1.0 | https://github.com/dlueth/qoopido.demand | (c) 2018 Dirk Lueth */ +/**! Qoopido.demand 5.1.1 | https://github.com/dlueth/qoopido.demand | (c) 2018 Dirk Lueth */ !function(){"use strict";provide(["/demand/abstract/handler"],function(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))})}(); //# sourceMappingURL=json.js.map diff --git a/dist/handler/json.js.map b/dist/handler/json.js.map index 9f27186..e63597e 100644 --- a/dist/handler/json.js.map +++ b/dist/handler/json.js.map @@ -1 +1 @@ -{"version":3,"sources":["handler/json.js"],"names":["provide","abstractHandler","HandlerJson","suffix","regexMatchType","prototype","validate","type","test","onPreRequest","dependency","pathname","url","slice","length","process","data","JSON","parse","source","extends"],"mappings":";CAAA,WACA,aAuBAA,QAAA,CAAA,4BArBA,SAAAC,GACA,SAAAC,KACA,IAAAC,EAAA,QACAC,EAAA,qBAgBA,OAfAF,EAAAG,UAAA,CACAC,SAAA,SAAAC,GACA,OAAAH,EAAAI,KAAAD,IAEAE,aAAA,SAAAC,GACA,IAAAC,EAAAD,EAAAE,IAAAD,SACAD,EAAAE,IAAAD,SAAAA,EAAAE,OAAAV,EAAAW,UAAAX,EAAAQ,EAAAR,EAAAQ,GAEAI,QAAA,SAAAL,GACA,IAAAM,EAAAC,KAAAC,MAAAR,EAAAS,QACAnB,QAAA,WACA,OAAAgB,MAIA,IAAAd,EAAAkB,QAAAnB,MAtBA","file":"json.js","sourcesContent":["/**! Qoopido.demand 5.1.0 | https://github.com/dlueth/qoopido.demand | (c) 2018 Dirk Lueth */\n(function () {\n\t\"use strict\";\n\n\tfunction definition(abstractHandler) {\n\t\tfunction HandlerJson() {}\n\t\tvar suffix = \".json\",\n\t\t\tregexMatchType = /^application\\/json/;\n\t\tHandlerJson.prototype = {\n\t\t\tvalidate: function (type) {\n\t\t\t\treturn regexMatchType.test(type)\n\t\t\t},\n\t\t\tonPreRequest: function (dependency) {\n\t\t\t\tvar pathname = dependency.url.pathname;\n\t\t\t\tdependency.url.pathname = pathname.slice(-suffix.length) !== suffix ? pathname + suffix : pathname\n\t\t\t},\n\t\t\tprocess: function (dependency) {\n\t\t\t\tvar data = JSON.parse(dependency.source);\n\t\t\t\tprovide(function () {\n\t\t\t\t\treturn data\n\t\t\t\t})\n\t\t\t}\n\t\t};\n\t\treturn new(HandlerJson.extends(abstractHandler))\n\t}\n\tprovide([\"/demand/abstract/handler\"], definition)\n})();\n"]} \ No newline at end of file +{"version":3,"sources":["handler/json.js"],"names":["provide","abstractHandler","HandlerJson","suffix","regexMatchType","prototype","validate","type","test","onPreRequest","dependency","pathname","url","slice","length","process","data","JSON","parse","source","extends"],"mappings":";CAAA,WACA,aAuBAA,QAAA,CAAA,4BArBA,SAAAC,GACA,SAAAC,KACA,IAAAC,EAAA,QACAC,EAAA,qBAgBA,OAfAF,EAAAG,UAAA,CACAC,SAAA,SAAAC,GACA,OAAAH,EAAAI,KAAAD,IAEAE,aAAA,SAAAC,GACA,IAAAC,EAAAD,EAAAE,IAAAD,SACAD,EAAAE,IAAAD,SAAAA,EAAAE,OAAAV,EAAAW,UAAAX,EAAAQ,EAAAR,EAAAQ,GAEAI,QAAA,SAAAL,GACA,IAAAM,EAAAC,KAAAC,MAAAR,EAAAS,QACAnB,QAAA,WACA,OAAAgB,MAIA,IAAAd,EAAAkB,QAAAnB,MAtBA","file":"json.js","sourcesContent":["/**! Qoopido.demand 5.1.1 | https://github.com/dlueth/qoopido.demand | (c) 2018 Dirk Lueth */\n(function () {\n\t\"use strict\";\n\n\tfunction definition(abstractHandler) {\n\t\tfunction HandlerJson() {}\n\t\tvar suffix = \".json\",\n\t\t\tregexMatchType = /^application\\/json/;\n\t\tHandlerJson.prototype = {\n\t\t\tvalidate: function (type) {\n\t\t\t\treturn regexMatchType.test(type)\n\t\t\t},\n\t\t\tonPreRequest: function (dependency) {\n\t\t\t\tvar pathname = dependency.url.pathname;\n\t\t\t\tdependency.url.pathname = pathname.slice(-suffix.length) !== suffix ? pathname + suffix : pathname\n\t\t\t},\n\t\t\tprocess: function (dependency) {\n\t\t\t\tvar data = JSON.parse(dependency.source);\n\t\t\t\tprovide(function () {\n\t\t\t\t\treturn data\n\t\t\t\t})\n\t\t\t}\n\t\t};\n\t\treturn new(HandlerJson.extends(abstractHandler))\n\t}\n\tprovide([\"/demand/abstract/handler\"], definition)\n})();\n"]} \ No newline at end of file diff --git a/dist/handler/legacy.js b/dist/handler/legacy.js index 6f4a3f5..88604da 100644 --- a/dist/handler/legacy.js +++ b/dist/handler/legacy.js @@ -1,3 +1,3 @@ -/**! Qoopido.demand 5.1.0 | https://github.com/dlueth/qoopido.demand | (c) 2018 Dirk Lueth */ +/**! Qoopido.demand 5.1.1 | https://github.com/dlueth/qoopido.demand | (c) 2018 Dirk Lueth */ !function(){"use strict";provide(["path","/demand/failure","/demand/handler/module","/demand/validator/isObject"],function(e,o,u,n){function t(){}var a={};return demand.on("postConfigure:"+e,function(e){a=n(e)?e:{}}),t.prototype={onPreRequest:function(e){var n=a[e.path]&&a[e.path].dependencies;u.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 n=function(){var e,n=this,t=n.dfd,r=a[n.path]&&a[n.path].probe;u.process(n),r&&(e=r())?provide(function(){return e}):t.reject(new o("error probing",n.path))}.bind(e);!0===e.enqueue?n():e.enqueue.then(n,function(){e.dfd.reject(new o("error resolving",e.path,arguments))})}},new(t.extends(u))})}(); //# sourceMappingURL=legacy.js.map diff --git a/dist/handler/legacy.js.map b/dist/handler/legacy.js.map index 30f1147..02db6a5 100644 --- a/dist/handler/legacy.js.map +++ b/dist/handler/legacy.js.map @@ -1 +1 @@ -{"version":3,"sources":["handler/legacy.js"],"names":["provide","path","Failure","handlerModule","isObject","HandlerLegacy","settings","demand","on","options","prototype","onPreRequest","dependency","dependencies","enqueue","apply","onPreProcess","process","boundResolve","result","self","this","dfd","probe","reject","bind","then","arguments","extends"],"mappings":";CAAA,WACA,aAuCAA,QAAA,CAAA,OAAA,kBAAA,yBAAA,8BArCA,SAAAC,EAAAC,EAAAC,EAAAC,GAYA,SAAAC,KACA,IAAAC,EAAA,GAsBA,OArBAC,OAAAC,GAAA,iBAAAP,EAAA,SAAAQ,GACAH,EAAAF,EAAAK,GAAAA,EAAA,KAEAJ,EAAAK,UAAA,CACAC,aAAA,SAAAC,GACA,IAAAC,EAAAP,EAAAM,EAAAX,OAAAK,EAAAM,EAAAX,MAAAY,aACAV,EAAAQ,aAAAC,GACAC,IAAAD,EAAAE,QAAAP,OAAAQ,MAAA,KAAAF,KAEAG,aAAA,SAAAJ,GACA,IAAAC,EAAAP,EAAAM,EAAAX,OAAAK,EAAAM,EAAAX,MAAAY,aACAA,GAAA,kBAAAD,EAAAE,UAAAF,EAAAE,QAAAP,OAAAQ,MAAA,KAAAF,KAEAI,QAAA,SAAAL,GACA,IAAAM,EA3BA,WACA,IAAAC,EAAAC,EAAAC,KACAC,EAAAF,EAAAE,IACAC,EAAAjB,EAAAc,EAAAnB,OAAAK,EAAAc,EAAAnB,MAAAsB,MACApB,EAAAc,QAAAG,GACAG,IAAAJ,EAAAI,KAAAvB,QAAA,WACA,OAAAmB,IAEAG,EAAAE,OAAA,IAAAtB,EAAA,gBAAAkB,EAAAnB,QAmBAwB,KAAAb,IACA,IAAAA,EAAAE,QAAAI,IACAN,EAAAE,QAAAY,KAAAR,EAAA,WACAN,EAAAU,IAAAE,OAAA,IAAAtB,EAAA,kBAAAU,EAAAX,KAAA0B,gBAIA,IAAAtB,EAAAuB,QAAAzB,MAtCA","file":"legacy.js","sourcesContent":["/**! Qoopido.demand 5.1.0 | https://github.com/dlueth/qoopido.demand | (c) 2018 Dirk Lueth */\n(function () {\n\t\"use strict\";\n\n\tfunction definition(path, Failure, handlerModule, isObject) {\n\t\tfunction resolve() {\n\t\t\tvar result, self = this,\n\t\t\t\tdfd = self.dfd,\n\t\t\t\tprobe = settings[self.path] && settings[self.path].probe;\n\t\t\thandlerModule.process(self);\n\t\t\tif (probe && (result = probe())) provide(function () {\n\t\t\t\treturn result\n\t\t\t});\n\t\t\telse dfd.reject(new Failure(\"error probing\", self.path))\n\t\t}\n\n\t\tfunction HandlerLegacy() {}\n\t\tvar settings = {};\n\t\tdemand.on(\"postConfigure:\" + path, function (options) {\n\t\t\tsettings = isObject(options) ? options : {}\n\t\t});\n\t\tHandlerLegacy.prototype = {\n\t\t\tonPreRequest: function (dependency) {\n\t\t\t\tvar dependencies = settings[dependency.path] && settings[dependency.path].dependencies;\n\t\t\t\thandlerModule.onPreRequest(dependency);\n\t\t\t\tif (dependencies) dependency.enqueue = demand.apply(null, dependencies)\n\t\t\t},\n\t\t\tonPreProcess: function (dependency) {\n\t\t\t\tvar dependencies = settings[dependency.path] && settings[dependency.path].dependencies;\n\t\t\t\tif (dependencies && \"boolean\" === typeof dependency.enqueue) dependency.enqueue = demand.apply(null, dependencies)\n\t\t\t},\n\t\t\tprocess: function (dependency) {\n\t\t\t\tvar boundResolve = resolve.bind(dependency);\n\t\t\t\tif (true === dependency.enqueue) boundResolve();\n\t\t\t\telse dependency.enqueue.then(boundResolve, function () {\n\t\t\t\t\tdependency.dfd.reject(new Failure(\"error resolving\", dependency.path, arguments))\n\t\t\t\t})\n\t\t\t}\n\t\t};\n\t\treturn new(HandlerLegacy.extends(handlerModule))\n\t}\n\tprovide([\"path\", \"/demand/failure\", \"/demand/handler/module\", \"/demand/validator/isObject\"], definition)\n})();\n"]} \ No newline at end of file +{"version":3,"sources":["handler/legacy.js"],"names":["provide","path","Failure","handlerModule","isObject","HandlerLegacy","settings","demand","on","options","prototype","onPreRequest","dependency","dependencies","enqueue","apply","onPreProcess","process","boundResolve","result","self","this","dfd","probe","reject","bind","then","arguments","extends"],"mappings":";CAAA,WACA,aAuCAA,QAAA,CAAA,OAAA,kBAAA,yBAAA,8BArCA,SAAAC,EAAAC,EAAAC,EAAAC,GAYA,SAAAC,KACA,IAAAC,EAAA,GAsBA,OArBAC,OAAAC,GAAA,iBAAAP,EAAA,SAAAQ,GACAH,EAAAF,EAAAK,GAAAA,EAAA,KAEAJ,EAAAK,UAAA,CACAC,aAAA,SAAAC,GACA,IAAAC,EAAAP,EAAAM,EAAAX,OAAAK,EAAAM,EAAAX,MAAAY,aACAV,EAAAQ,aAAAC,GACAC,IAAAD,EAAAE,QAAAP,OAAAQ,MAAA,KAAAF,KAEAG,aAAA,SAAAJ,GACA,IAAAC,EAAAP,EAAAM,EAAAX,OAAAK,EAAAM,EAAAX,MAAAY,aACAA,GAAA,kBAAAD,EAAAE,UAAAF,EAAAE,QAAAP,OAAAQ,MAAA,KAAAF,KAEAI,QAAA,SAAAL,GACA,IAAAM,EA3BA,WACA,IAAAC,EAAAC,EAAAC,KACAC,EAAAF,EAAAE,IACAC,EAAAjB,EAAAc,EAAAnB,OAAAK,EAAAc,EAAAnB,MAAAsB,MACApB,EAAAc,QAAAG,GACAG,IAAAJ,EAAAI,KAAAvB,QAAA,WACA,OAAAmB,IAEAG,EAAAE,OAAA,IAAAtB,EAAA,gBAAAkB,EAAAnB,QAmBAwB,KAAAb,IACA,IAAAA,EAAAE,QAAAI,IACAN,EAAAE,QAAAY,KAAAR,EAAA,WACAN,EAAAU,IAAAE,OAAA,IAAAtB,EAAA,kBAAAU,EAAAX,KAAA0B,gBAIA,IAAAtB,EAAAuB,QAAAzB,MAtCA","file":"legacy.js","sourcesContent":["/**! Qoopido.demand 5.1.1 | https://github.com/dlueth/qoopido.demand | (c) 2018 Dirk Lueth */\n(function () {\n\t\"use strict\";\n\n\tfunction definition(path, Failure, handlerModule, isObject) {\n\t\tfunction resolve() {\n\t\t\tvar result, self = this,\n\t\t\t\tdfd = self.dfd,\n\t\t\t\tprobe = settings[self.path] && settings[self.path].probe;\n\t\t\thandlerModule.process(self);\n\t\t\tif (probe && (result = probe())) provide(function () {\n\t\t\t\treturn result\n\t\t\t});\n\t\t\telse dfd.reject(new Failure(\"error probing\", self.path))\n\t\t}\n\n\t\tfunction HandlerLegacy() {}\n\t\tvar settings = {};\n\t\tdemand.on(\"postConfigure:\" + path, function (options) {\n\t\t\tsettings = isObject(options) ? options : {}\n\t\t});\n\t\tHandlerLegacy.prototype = {\n\t\t\tonPreRequest: function (dependency) {\n\t\t\t\tvar dependencies = settings[dependency.path] && settings[dependency.path].dependencies;\n\t\t\t\thandlerModule.onPreRequest(dependency);\n\t\t\t\tif (dependencies) dependency.enqueue = demand.apply(null, dependencies)\n\t\t\t},\n\t\t\tonPreProcess: function (dependency) {\n\t\t\t\tvar dependencies = settings[dependency.path] && settings[dependency.path].dependencies;\n\t\t\t\tif (dependencies && \"boolean\" === typeof dependency.enqueue) dependency.enqueue = demand.apply(null, dependencies)\n\t\t\t},\n\t\t\tprocess: function (dependency) {\n\t\t\t\tvar boundResolve = resolve.bind(dependency);\n\t\t\t\tif (true === dependency.enqueue) boundResolve();\n\t\t\t\telse dependency.enqueue.then(boundResolve, function () {\n\t\t\t\t\tdependency.dfd.reject(new Failure(\"error resolving\", dependency.path, arguments))\n\t\t\t\t})\n\t\t\t}\n\t\t};\n\t\treturn new(HandlerLegacy.extends(handlerModule))\n\t}\n\tprovide([\"path\", \"/demand/failure\", \"/demand/handler/module\", \"/demand/validator/isObject\"], definition)\n})();\n"]} \ No newline at end of file diff --git a/dist/handler/text.js b/dist/handler/text.js index 248e64d..960961b 100644 --- a/dist/handler/text.js +++ b/dist/handler/text.js @@ -1,3 +1,3 @@ -/**! Qoopido.demand 5.1.0 | https://github.com/dlueth/qoopido.demand | (c) 2018 Dirk Lueth */ +/**! Qoopido.demand 5.1.1 | https://github.com/dlueth/qoopido.demand | (c) 2018 Dirk Lueth */ !function(){"use strict";provide(["/demand/abstract/handler"],function(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))})}(); //# sourceMappingURL=text.js.map diff --git a/dist/handler/text.js.map b/dist/handler/text.js.map index 77c45f3..59c0689 100644 --- a/dist/handler/text.js.map +++ b/dist/handler/text.js.map @@ -1 +1 @@ -{"version":3,"sources":["handler/text.js"],"names":["provide","abstractHandler","HandlerText","regexMatchType","prototype","validate","type","test","process","dependency","source","extends"],"mappings":";CAAA,WACA,aAiBAA,QAAA,CAAA,4BAfA,SAAAC,GACA,SAAAC,KACA,IAAAC,EAAA,YAWA,OAVAD,EAAAE,UAAA,CACAC,SAAA,SAAAC,GACA,OAAAH,EAAAI,KAAAD,IAEAE,QAAA,SAAAC,GACAT,QAAA,WACA,OAAAS,EAAAC,WAIA,IAAAR,EAAAS,QAAAV,MAhBA","file":"text.js","sourcesContent":["/**! Qoopido.demand 5.1.0 | https://github.com/dlueth/qoopido.demand | (c) 2018 Dirk Lueth */\n(function () {\n\t\"use strict\";\n\n\tfunction definition(abstractHandler) {\n\t\tfunction HandlerText() {}\n\t\tvar regexMatchType = /^text\\/.+/;\n\t\tHandlerText.prototype = {\n\t\t\tvalidate: function (type) {\n\t\t\t\treturn regexMatchType.test(type)\n\t\t\t},\n\t\t\tprocess: function (dependency) {\n\t\t\t\tprovide(function () {\n\t\t\t\t\treturn dependency.source\n\t\t\t\t})\n\t\t\t}\n\t\t};\n\t\treturn new(HandlerText.extends(abstractHandler))\n\t}\n\tprovide([\"/demand/abstract/handler\"], definition)\n})();\n"]} \ No newline at end of file +{"version":3,"sources":["handler/text.js"],"names":["provide","abstractHandler","HandlerText","regexMatchType","prototype","validate","type","test","process","dependency","source","extends"],"mappings":";CAAA,WACA,aAiBAA,QAAA,CAAA,4BAfA,SAAAC,GACA,SAAAC,KACA,IAAAC,EAAA,YAWA,OAVAD,EAAAE,UAAA,CACAC,SAAA,SAAAC,GACA,OAAAH,EAAAI,KAAAD,IAEAE,QAAA,SAAAC,GACAT,QAAA,WACA,OAAAS,EAAAC,WAIA,IAAAR,EAAAS,QAAAV,MAhBA","file":"text.js","sourcesContent":["/**! Qoopido.demand 5.1.1 | https://github.com/dlueth/qoopido.demand | (c) 2018 Dirk Lueth */\n(function () {\n\t\"use strict\";\n\n\tfunction definition(abstractHandler) {\n\t\tfunction HandlerText() {}\n\t\tvar regexMatchType = /^text\\/.+/;\n\t\tHandlerText.prototype = {\n\t\t\tvalidate: function (type) {\n\t\t\t\treturn regexMatchType.test(type)\n\t\t\t},\n\t\t\tprocess: function (dependency) {\n\t\t\t\tprovide(function () {\n\t\t\t\t\treturn dependency.source\n\t\t\t\t})\n\t\t\t}\n\t\t};\n\t\treturn new(HandlerText.extends(abstractHandler))\n\t}\n\tprovide([\"/demand/abstract/handler\"], definition)\n})();\n"]} \ No newline at end of file diff --git a/dist/plugin/cookie.js b/dist/plugin/cookie.js index aff134e..04664ca 100644 --- a/dist/plugin/cookie.js +++ b/dist/plugin/cookie.js @@ -1,3 +1,3 @@ -/**! Qoopido.demand 5.1.0 | https://github.com/dlueth/qoopido.demand | (c) 2018 Dirk Lueth */ +/**! Qoopido.demand 5.1.1 | https://github.com/dlueth/qoopido.demand | (c) 2018 Dirk Lueth */ !function(u){"use strict";provide(["path","/demand/function/iterate","/demand/validator/isObject","/demand/validator/isTypeOf"],function(n,t,e,o){function i(n,t,e){(a||function(n){for(var t,e,o=0;t=r[o];o++)0===n.indexOf(t.pattern)&&(!e||t.weight>e.weight)&&(e=t);return!!e&&e.state}(n.path))&&(u.cookie="demand["+n.type+"]["+n.path+"]="+encodeURIComponent(t)+"; expires="+e+"; path=/")}var a,c="Thu, 01 Jan 1970 00:00:00 GMT",r=[];return demand.on("postConfigure:"+n,function(n){e(n)?(r.length=0,t(n,function(n,t){r.push({pattern:n,weight:n.length,state:t})})):o(n,"boolean")&&(a=n)}).on("cacheMiss",function(n){i(n,"",c)}).on("cacheClear",function(n){i(n,"",c)}).on("postCache",function(n,t){i(n,JSON.stringify(t),"Fri, 31 Dec 9999 23:59:59 GMT")}),!0})}(document); //# sourceMappingURL=cookie.js.map diff --git a/dist/plugin/cookie.js.map b/dist/plugin/cookie.js.map index 9cb2bac..64a164d 100644 --- a/dist/plugin/cookie.js.map +++ b/dist/plugin/cookie.js.map @@ -1 +1 @@ -{"version":3,"sources":["plugin/cookie.js"],"names":["document","provide","path","iterate","isObject","isTypeOf","setCookie","dependency","value","expiration","enabled","pointer","match","i","pattern","indexOf","weight","state","isEnabled","cookie","type","encodeURIComponent","past","demand","on","options","length","key","push","JSON","stringify"],"mappings":";CAAA,SAAAA,GACA,aAsCAC,QAAA,CAAA,OAAA,2BAAA,6BAAA,8BApCA,SAAAC,EAAAC,EAAAC,EAAAC,GACA,SAAAC,EAAAC,EAAAC,EAAAC,IACAC,GAGA,SAAAR,GACA,IAAA,IAAAS,EAAAC,EAAAC,EAAA,EAAAF,EAAAG,EAAAD,GAAAA,IACA,IAAAX,EAAAa,QAAAJ,EAAAG,YAAAF,GAAAD,EAAAK,OAAAJ,EAAAI,UAAAJ,EAAAD,GACA,QAAAC,GAAAA,EAAAK,MANAC,CAAAX,EAAAL,SAAAF,EAAAmB,OAAA,UAAAZ,EAAAa,KAAA,KAAAb,EAAAL,KAAA,KAAAmB,mBAAAb,GAAA,aAAAC,EAAA,YAQA,IAAAC,EAAAY,EAAA,gCAEAR,EAAA,GAsBA,OArBAS,OAAAC,GAAA,iBAAAtB,EAAA,SAAAuB,GACArB,EAAAqB,IACAX,EAAAY,OAAA,EACAvB,EAAAsB,EAAA,SAAAE,EAAAnB,GACAM,EAAAc,KAAA,CACAd,QAAAa,EACAX,OAAAW,EAAAD,OACAT,MAAAT,OAGAH,EAAAoB,EAAA,aAAAf,EAAAe,KAEAD,GAAA,YAAA,SAAAjB,GACAD,EAAAC,EAAA,GAAAe,KAEAE,GAAA,aAAA,SAAAjB,GACAD,EAAAC,EAAA,GAAAe,KAEAE,GAAA,YAAA,SAAAjB,EAAAU,GACAX,EAAAC,EAAAsB,KAAAC,UAAAb,GArBA,oCAuBA,IArCA,CAwCAjB","file":"cookie.js","sourcesContent":["/**! Qoopido.demand 5.1.0 | https://github.com/dlueth/qoopido.demand | (c) 2018 Dirk Lueth */\n(function (document) {\n\t\"use strict\";\n\n\tfunction definition(path, iterate, isObject, isTypeOf) {\n\t\tfunction setCookie(dependency, value, expiration) {\n\t\t\tif (enabled || isEnabled(dependency.path)) document.cookie = \"demand[\" + dependency.type + \"][\" + dependency.path + \"]=\" + encodeURIComponent(value) + \"; expires=\" + expiration + \"; path=/\"\n\t\t}\n\n\t\tfunction isEnabled(path) {\n\t\t\tfor (var pointer, match, i = 0; pointer = pattern[i]; i++)\n\t\t\t\tif (0 === path.indexOf(pointer.pattern) && (!match || pointer.weight > match.weight)) match = pointer;\n\t\t\treturn match ? match.state : false\n\t\t}\n\t\tvar enabled, past = \"Thu, 01 Jan 1970 00:00:00 GMT\",\n\t\t\tfuture = \"Fri, 31 Dec 9999 23:59:59 GMT\",\n\t\t\tpattern = [];\n\t\tdemand.on(\"postConfigure:\" + path, function (options) {\n\t\t\t\tif (isObject(options)) {\n\t\t\t\t\tpattern.length = 0;\n\t\t\t\t\titerate(options, function (key, value) {\n\t\t\t\t\t\tpattern.push({\n\t\t\t\t\t\t\tpattern: key,\n\t\t\t\t\t\t\tweight: key.length,\n\t\t\t\t\t\t\tstate: value\n\t\t\t\t\t\t})\n\t\t\t\t\t})\n\t\t\t\t} else if (isTypeOf(options, \"boolean\")) enabled = options\n\t\t\t})\n\t\t\t.on(\"cacheMiss\", function (dependency) {\n\t\t\t\tsetCookie(dependency, \"\", past)\n\t\t\t})\n\t\t\t.on(\"cacheClear\", function (dependency) {\n\t\t\t\tsetCookie(dependency, \"\", past)\n\t\t\t})\n\t\t\t.on(\"postCache\", function (dependency, state) {\n\t\t\t\tsetCookie(dependency, JSON.stringify(state), future)\n\t\t\t});\n\t\treturn true\n\t}\n\tprovide([\"path\", \"/demand/function/iterate\", \"/demand/validator/isObject\", \"/demand/validator/isTypeOf\"], definition)\n})(document);\n"]} \ No newline at end of file +{"version":3,"sources":["plugin/cookie.js"],"names":["document","provide","path","iterate","isObject","isTypeOf","setCookie","dependency","value","expiration","enabled","pointer","match","i","pattern","indexOf","weight","state","isEnabled","cookie","type","encodeURIComponent","past","demand","on","options","length","key","push","JSON","stringify"],"mappings":";CAAA,SAAAA,GACA,aAsCAC,QAAA,CAAA,OAAA,2BAAA,6BAAA,8BApCA,SAAAC,EAAAC,EAAAC,EAAAC,GACA,SAAAC,EAAAC,EAAAC,EAAAC,IACAC,GAGA,SAAAR,GACA,IAAA,IAAAS,EAAAC,EAAAC,EAAA,EAAAF,EAAAG,EAAAD,GAAAA,IACA,IAAAX,EAAAa,QAAAJ,EAAAG,YAAAF,GAAAD,EAAAK,OAAAJ,EAAAI,UAAAJ,EAAAD,GACA,QAAAC,GAAAA,EAAAK,MANAC,CAAAX,EAAAL,SAAAF,EAAAmB,OAAA,UAAAZ,EAAAa,KAAA,KAAAb,EAAAL,KAAA,KAAAmB,mBAAAb,GAAA,aAAAC,EAAA,YAQA,IAAAC,EAAAY,EAAA,gCAEAR,EAAA,GAsBA,OArBAS,OAAAC,GAAA,iBAAAtB,EAAA,SAAAuB,GACArB,EAAAqB,IACAX,EAAAY,OAAA,EACAvB,EAAAsB,EAAA,SAAAE,EAAAnB,GACAM,EAAAc,KAAA,CACAd,QAAAa,EACAX,OAAAW,EAAAD,OACAT,MAAAT,OAGAH,EAAAoB,EAAA,aAAAf,EAAAe,KAEAD,GAAA,YAAA,SAAAjB,GACAD,EAAAC,EAAA,GAAAe,KAEAE,GAAA,aAAA,SAAAjB,GACAD,EAAAC,EAAA,GAAAe,KAEAE,GAAA,YAAA,SAAAjB,EAAAU,GACAX,EAAAC,EAAAsB,KAAAC,UAAAb,GArBA,oCAuBA,IArCA,CAwCAjB","file":"cookie.js","sourcesContent":["/**! Qoopido.demand 5.1.1 | https://github.com/dlueth/qoopido.demand | (c) 2018 Dirk Lueth */\n(function (document) {\n\t\"use strict\";\n\n\tfunction definition(path, iterate, isObject, isTypeOf) {\n\t\tfunction setCookie(dependency, value, expiration) {\n\t\t\tif (enabled || isEnabled(dependency.path)) document.cookie = \"demand[\" + dependency.type + \"][\" + dependency.path + \"]=\" + encodeURIComponent(value) + \"; expires=\" + expiration + \"; path=/\"\n\t\t}\n\n\t\tfunction isEnabled(path) {\n\t\t\tfor (var pointer, match, i = 0; pointer = pattern[i]; i++)\n\t\t\t\tif (0 === path.indexOf(pointer.pattern) && (!match || pointer.weight > match.weight)) match = pointer;\n\t\t\treturn match ? match.state : false\n\t\t}\n\t\tvar enabled, past = \"Thu, 01 Jan 1970 00:00:00 GMT\",\n\t\t\tfuture = \"Fri, 31 Dec 9999 23:59:59 GMT\",\n\t\t\tpattern = [];\n\t\tdemand.on(\"postConfigure:\" + path, function (options) {\n\t\t\t\tif (isObject(options)) {\n\t\t\t\t\tpattern.length = 0;\n\t\t\t\t\titerate(options, function (key, value) {\n\t\t\t\t\t\tpattern.push({\n\t\t\t\t\t\t\tpattern: key,\n\t\t\t\t\t\t\tweight: key.length,\n\t\t\t\t\t\t\tstate: value\n\t\t\t\t\t\t})\n\t\t\t\t\t})\n\t\t\t\t} else if (isTypeOf(options, \"boolean\")) enabled = options\n\t\t\t})\n\t\t\t.on(\"cacheMiss\", function (dependency) {\n\t\t\t\tsetCookie(dependency, \"\", past)\n\t\t\t})\n\t\t\t.on(\"cacheClear\", function (dependency) {\n\t\t\t\tsetCookie(dependency, \"\", past)\n\t\t\t})\n\t\t\t.on(\"postCache\", function (dependency, state) {\n\t\t\t\tsetCookie(dependency, JSON.stringify(state), future)\n\t\t\t});\n\t\treturn true\n\t}\n\tprovide([\"path\", \"/demand/function/iterate\", \"/demand/validator/isObject\", \"/demand/validator/isTypeOf\"], definition)\n})(document);\n"]} \ No newline at end of file diff --git a/dist/plugin/lzstring.js b/dist/plugin/lzstring.js index 5d792e2..54d1886 100644 --- a/dist/plugin/lzstring.js +++ b/dist/plugin/lzstring.js @@ -1,3 +1,3 @@ -/**! Qoopido.demand 5.1.0 | https://github.com/dlueth/qoopido.demand | (c) 2018 Dirk Lueth */ +/**! Qoopido.demand 5.1.1 | https://github.com/dlueth/qoopido.demand | (c) 2018 Dirk Lueth */ var LZString=function(){function e(n,o){if(!i[n]){i[n]={};for(var e=0;e>>8,i[2*o+1]=t%256;return i},decompressFromUint8Array:function(n){var o,e,t,r;if(null==n)return s.decompress(n);for(e=0,t=(o=new Array(n.length/2)).length;e>=1}else{for(r=1,t=0;t>=1}0==--f&&(f=Math.pow(2,h),h++),delete u[p]}else for(r=s[p],t=0;t>=1;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(t=0;t>=1}else{for(r=1,t=0;t>=1}0==--f&&(f=Math.pow(2,h),h++),delete u[p]}else for(r=s[p],t=0;t>=1;0==--f&&(f=Math.pow(2,h),h++)}for(r=2,t=0;t>=1;for(;;){if(m<<=1,g==o-1){d.push(e(m));break}g++}return d.join("")},decompress:function(o){return null==o?"":""==o?null:s._decompress(o.length,32768,function(n){return o.charCodeAt(n)})},_decompress:function(n,o,e){var t,r,i,s,u,a,c,p=[],f=4,l=4,h=3,d="",m=[],g={val:e(0),position:o,index:1};for(t=0;t<3;t+=1)p[t]=t;for(i=0,u=Math.pow(2,2),a=1;a!=u;)s=g.val&g.position,g.position>>=1,0==g.position&&(g.position=o,g.val=e(g.index++)),i|=(0>=1,0==g.position&&(g.position=o,g.val=e(g.index++)),i|=(0>=1,0==g.position&&(g.position=o,g.val=e(g.index++)),i|=(0n)return"";for(i=0,u=Math.pow(2,h),a=1;a!=u;)s=g.val&g.position,g.position>>=1,0==g.position&&(g.position=o,g.val=e(g.index++)),i|=(0>=1,0==g.position&&(g.position=o,g.val=e(g.index++)),i|=(0>=1,0==g.position&&(g.position=o,g.val=e(g.index++)),i|=(0e.weight)&&(e=o);return!!e&&e.state}var i=[{pattern:n,weight:n.length,state:!1}],s={};return demand.on("postConfigure:"+n,function(n){e(n)?(i.length=0,o(n,function(n,o){i.push({pattern:n,weight:n.length,state:o})})):t(n,"boolean")&&i.push({pattern:"",weight:0,state:n})}).on("cacheHit",function(n){r(n.path)&&(s[n.id]=!0)}).on("preCache",function(n){r(n.path)&&(n.source=u.LZString.compressToUTF16(n.source))}).on("preProcess",function(n){s[n.id]&&(n.source=u.LZString.decompressFromUTF16(n.source))}),!0})}(this); //# sourceMappingURL=lzstring.js.map diff --git a/dist/plugin/lzstring.js.map b/dist/plugin/lzstring.js.map index 30d65e7..59b4897 100644 --- a/dist/plugin/lzstring.js.map +++ b/dist/plugin/lzstring.js.map @@ -1 +1 @@ -{"version":3,"sources":["plugin/lzstring.js"],"names":["LZString","getBaseValue","alphabet","character","baseReverseDic","i","length","charAt","f","String","fromCharCode","keyStrBase64","keyStrUriSafe","compressToBase64","input","res","_compress","a","decompressFromBase64","_decompress","index","compressToUTF16","decompressFromUTF16","compressed","charCodeAt","compressToUint8Array","uncompressed","TotalLen","current_value","compress","buf","Uint8Array","decompressFromUint8Array","result","decompress","Array","forEach","c","push","join","compressToEncodedURIComponent","decompressFromEncodedURIComponent","replace","bitsPerChar","getCharFromInt","value","ii","context_dictionary","context_dictionaryToCreate","context_c","context_wc","context_w","context_enlargeIn","context_dictSize","context_numBits","context_data","context_data_val","context_data_position","Object","prototype","hasOwnProperty","call","Math","pow","resetValue","getNextValue","w","bits","resb","maxpower","power","dictionary","enlargeIn","dictSize","numBits","entry","data","val","position","define","amd","module","exports","angular","factory","global","provide","path","iterate","isObject","isTypeOf","isEnabled","pointer","match","pattern","indexOf","weight","state","storage","demand","on","options","key","dependency","id","source","this"],"mappings":"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","file":"lzstring.js","sourcesContent":["/**! Qoopido.demand 5.1.0 | https://github.com/dlueth/qoopido.demand | (c) 2018 Dirk Lueth */\nvar LZString = function () {\n\tfunction getBaseValue(alphabet, character) {\n\t\tif (!baseReverseDic[alphabet]) {\n\t\t\tbaseReverseDic[alphabet] = {};\n\t\t\tfor (var i = 0; i < alphabet.length; i++) baseReverseDic[alphabet][alphabet.charAt(i)] = i\n\t\t}\n\t\treturn baseReverseDic[alphabet][character]\n\t}\n\tvar f = String.fromCharCode,\n\t\tkeyStrBase64 = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\",\n\t\tkeyStrUriSafe = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+-$\",\n\t\tbaseReverseDic = {},\n\t\tLZString = {\n\t\t\tcompressToBase64: function (input) {\n\t\t\t\tif (null == input) return \"\";\n\t\t\t\tvar res = LZString._compress(input, 6, function (a) {\n\t\t\t\t\treturn keyStrBase64.charAt(a)\n\t\t\t\t});\n\t\t\t\tswitch (res.length % 4) {\n\t\t\t\tdefault:\n\t\t\t\tcase 0:\n\t\t\t\t\treturn res;\n\t\t\t\tcase 1:\n\t\t\t\t\treturn res + \"===\";\n\t\t\t\tcase 2:\n\t\t\t\t\treturn res + \"==\";\n\t\t\t\tcase 3:\n\t\t\t\t\treturn res + \"=\"\n\t\t\t\t}\n\t\t\t},\n\t\t\tdecompressFromBase64: function (input) {\n\t\t\t\tif (null == input) return \"\";\n\t\t\t\tif (\"\" == input) return null;\n\t\t\t\telse return LZString._decompress(input.length, 32, function (index) {\n\t\t\t\t\treturn getBaseValue(keyStrBase64, input.charAt(index))\n\t\t\t\t})\n\t\t\t},\n\t\t\tcompressToUTF16: function (input) {\n\t\t\t\tif (null == input) return \"\";\n\t\t\t\telse return LZString._compress(input, 15, function (a) {\n\t\t\t\t\treturn f(a + 32)\n\t\t\t\t}) + \" \"\n\t\t\t},\n\t\t\tdecompressFromUTF16: function (compressed) {\n\t\t\t\tif (null == compressed) return \"\";\n\t\t\t\tif (\"\" == compressed) return null;\n\t\t\t\telse return LZString._decompress(compressed.length, 16384, function (index) {\n\t\t\t\t\treturn compressed.charCodeAt(index) - 32\n\t\t\t\t})\n\t\t\t},\n\t\t\tcompressToUint8Array: function (uncompressed) {\n\t\t\t\tvar i, TotalLen, current_value, compressed = LZString.compress(uncompressed),\n\t\t\t\t\tbuf = new Uint8Array(2 * compressed.length);\n\t\t\t\tfor (i = 0, TotalLen = compressed.length; i < TotalLen; i++) {\n\t\t\t\t\tcurrent_value = compressed.charCodeAt(i);\n\t\t\t\t\tbuf[2 * i] = current_value >>> 8;\n\t\t\t\t\tbuf[2 * i + 1] = current_value % 256\n\t\t\t\t}\n\t\t\t\treturn buf\n\t\t\t},\n\t\t\tdecompressFromUint8Array: function (compressed) {\n\t\t\t\tvar buf, i, TotalLen, result;\n\t\t\t\tif (null === compressed || void 0 === compressed) return LZString.decompress(compressed);\n\t\t\t\telse {\n\t\t\t\t\tfor (i = 0, TotalLen = (buf = new Array(compressed.length / 2))\n\t\t\t\t\t\t.length; i < TotalLen; i++) buf[i] = 256 * compressed[2 * i] + compressed[2 * i + 1];\n\t\t\t\t\tresult = [];\n\t\t\t\t\tbuf.forEach(function (c) {\n\t\t\t\t\t\tresult.push(f(c))\n\t\t\t\t\t});\n\t\t\t\t\treturn LZString.decompress(result.join(\"\"))\n\t\t\t\t}\n\t\t\t},\n\t\t\tcompressToEncodedURIComponent: function (input) {\n\t\t\t\tif (null == input) return \"\";\n\t\t\t\telse return LZString._compress(input, 6, function (a) {\n\t\t\t\t\treturn keyStrUriSafe.charAt(a)\n\t\t\t\t})\n\t\t\t},\n\t\t\tdecompressFromEncodedURIComponent: function (input) {\n\t\t\t\tif (null == input) return \"\";\n\t\t\t\tif (\"\" == input) return null;\n\t\t\t\tinput = input.replace(/ /g, \"+\");\n\t\t\t\treturn LZString._decompress(input.length, 32, function (index) {\n\t\t\t\t\treturn getBaseValue(keyStrUriSafe, input.charAt(index))\n\t\t\t\t})\n\t\t\t},\n\t\t\tcompress: function (uncompressed) {\n\t\t\t\treturn LZString._compress(uncompressed, 16, function (a) {\n\t\t\t\t\treturn f(a)\n\t\t\t\t})\n\t\t\t},\n\t\t\t_compress: function (uncompressed, bitsPerChar, getCharFromInt) {\n\t\t\t\tif (null == uncompressed) return \"\";\n\t\t\t\tvar i, value, ii, context_dictionary = {},\n\t\t\t\t\tcontext_dictionaryToCreate = {},\n\t\t\t\t\tcontext_c = \"\",\n\t\t\t\t\tcontext_wc = \"\",\n\t\t\t\t\tcontext_w = \"\",\n\t\t\t\t\tcontext_enlargeIn = 2,\n\t\t\t\t\tcontext_dictSize = 3,\n\t\t\t\t\tcontext_numBits = 2,\n\t\t\t\t\tcontext_data = [],\n\t\t\t\t\tcontext_data_val = 0,\n\t\t\t\t\tcontext_data_position = 0;\n\t\t\t\tfor (ii = 0; ii < uncompressed.length; ii += 1) {\n\t\t\t\t\tcontext_c = uncompressed.charAt(ii);\n\t\t\t\t\tif (!Object.prototype.hasOwnProperty.call(context_dictionary, context_c)) {\n\t\t\t\t\t\tcontext_dictionary[context_c] = context_dictSize++;\n\t\t\t\t\t\tcontext_dictionaryToCreate[context_c] = true\n\t\t\t\t\t}\n\t\t\t\t\tcontext_wc = context_w + context_c;\n\t\t\t\t\tif (Object.prototype.hasOwnProperty.call(context_dictionary, context_wc)) context_w = context_wc;\n\t\t\t\t\telse {\n\t\t\t\t\t\tif (Object.prototype.hasOwnProperty.call(context_dictionaryToCreate, context_w)) {\n\t\t\t\t\t\t\tif (context_w.charCodeAt(0) < 256) {\n\t\t\t\t\t\t\t\tfor (i = 0; i < context_numBits; i++) {\n\t\t\t\t\t\t\t\t\tcontext_data_val <<= 1;\n\t\t\t\t\t\t\t\t\tif (context_data_position == bitsPerChar - 1) {\n\t\t\t\t\t\t\t\t\t\tcontext_data_position = 0;\n\t\t\t\t\t\t\t\t\t\tcontext_data.push(getCharFromInt(context_data_val));\n\t\t\t\t\t\t\t\t\t\tcontext_data_val = 0\n\t\t\t\t\t\t\t\t\t} else context_data_position++\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tvalue = context_w.charCodeAt(0);\n\t\t\t\t\t\t\t\tfor (i = 0; i < 8; i++) {\n\t\t\t\t\t\t\t\t\tcontext_data_val = context_data_val << 1 | 1 & value;\n\t\t\t\t\t\t\t\t\tif (context_data_position == bitsPerChar - 1) {\n\t\t\t\t\t\t\t\t\t\tcontext_data_position = 0;\n\t\t\t\t\t\t\t\t\t\tcontext_data.push(getCharFromInt(context_data_val));\n\t\t\t\t\t\t\t\t\t\tcontext_data_val = 0\n\t\t\t\t\t\t\t\t\t} else context_data_position++;\n\t\t\t\t\t\t\t\t\tvalue >>= 1\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tvalue = 1;\n\t\t\t\t\t\t\t\tfor (i = 0; i < context_numBits; i++) {\n\t\t\t\t\t\t\t\t\tcontext_data_val = context_data_val << 1 | value;\n\t\t\t\t\t\t\t\t\tif (context_data_position == bitsPerChar - 1) {\n\t\t\t\t\t\t\t\t\t\tcontext_data_position = 0;\n\t\t\t\t\t\t\t\t\t\tcontext_data.push(getCharFromInt(context_data_val));\n\t\t\t\t\t\t\t\t\t\tcontext_data_val = 0\n\t\t\t\t\t\t\t\t\t} else context_data_position++;\n\t\t\t\t\t\t\t\t\tvalue = 0\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tvalue = context_w.charCodeAt(0);\n\t\t\t\t\t\t\t\tfor (i = 0; i < 16; i++) {\n\t\t\t\t\t\t\t\t\tcontext_data_val = context_data_val << 1 | 1 & value;\n\t\t\t\t\t\t\t\t\tif (context_data_position == bitsPerChar - 1) {\n\t\t\t\t\t\t\t\t\t\tcontext_data_position = 0;\n\t\t\t\t\t\t\t\t\t\tcontext_data.push(getCharFromInt(context_data_val));\n\t\t\t\t\t\t\t\t\t\tcontext_data_val = 0\n\t\t\t\t\t\t\t\t\t} else context_data_position++;\n\t\t\t\t\t\t\t\t\tvalue >>= 1\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (0 == --context_enlargeIn) {\n\t\t\t\t\t\t\t\tcontext_enlargeIn = Math.pow(2, context_numBits);\n\t\t\t\t\t\t\t\tcontext_numBits++\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tdelete context_dictionaryToCreate[context_w]\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tvalue = context_dictionary[context_w];\n\t\t\t\t\t\t\tfor (i = 0; i < context_numBits; i++) {\n\t\t\t\t\t\t\t\tcontext_data_val = context_data_val << 1 | 1 & value;\n\t\t\t\t\t\t\t\tif (context_data_position == bitsPerChar - 1) {\n\t\t\t\t\t\t\t\t\tcontext_data_position = 0;\n\t\t\t\t\t\t\t\t\tcontext_data.push(getCharFromInt(context_data_val));\n\t\t\t\t\t\t\t\t\tcontext_data_val = 0\n\t\t\t\t\t\t\t\t} else context_data_position++;\n\t\t\t\t\t\t\t\tvalue >>= 1\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (0 == --context_enlargeIn) {\n\t\t\t\t\t\t\tcontext_enlargeIn = Math.pow(2, context_numBits);\n\t\t\t\t\t\t\tcontext_numBits++\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcontext_dictionary[context_wc] = context_dictSize++;\n\t\t\t\t\t\tcontext_w = String(context_c)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (\"\" !== context_w) {\n\t\t\t\t\tif (Object.prototype.hasOwnProperty.call(context_dictionaryToCreate, context_w)) {\n\t\t\t\t\t\tif (context_w.charCodeAt(0) < 256) {\n\t\t\t\t\t\t\tfor (i = 0; i < context_numBits; i++) {\n\t\t\t\t\t\t\t\tcontext_data_val <<= 1;\n\t\t\t\t\t\t\t\tif (context_data_position == bitsPerChar - 1) {\n\t\t\t\t\t\t\t\t\tcontext_data_position = 0;\n\t\t\t\t\t\t\t\t\tcontext_data.push(getCharFromInt(context_data_val));\n\t\t\t\t\t\t\t\t\tcontext_data_val = 0\n\t\t\t\t\t\t\t\t} else context_data_position++\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tvalue = context_w.charCodeAt(0);\n\t\t\t\t\t\t\tfor (i = 0; i < 8; i++) {\n\t\t\t\t\t\t\t\tcontext_data_val = context_data_val << 1 | 1 & value;\n\t\t\t\t\t\t\t\tif (context_data_position == bitsPerChar - 1) {\n\t\t\t\t\t\t\t\t\tcontext_data_position = 0;\n\t\t\t\t\t\t\t\t\tcontext_data.push(getCharFromInt(context_data_val));\n\t\t\t\t\t\t\t\t\tcontext_data_val = 0\n\t\t\t\t\t\t\t\t} else context_data_position++;\n\t\t\t\t\t\t\t\tvalue >>= 1\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tvalue = 1;\n\t\t\t\t\t\t\tfor (i = 0; i < context_numBits; i++) {\n\t\t\t\t\t\t\t\tcontext_data_val = context_data_val << 1 | value;\n\t\t\t\t\t\t\t\tif (context_data_position == bitsPerChar - 1) {\n\t\t\t\t\t\t\t\t\tcontext_data_position = 0;\n\t\t\t\t\t\t\t\t\tcontext_data.push(getCharFromInt(context_data_val));\n\t\t\t\t\t\t\t\t\tcontext_data_val = 0\n\t\t\t\t\t\t\t\t} else context_data_position++;\n\t\t\t\t\t\t\t\tvalue = 0\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tvalue = context_w.charCodeAt(0);\n\t\t\t\t\t\t\tfor (i = 0; i < 16; i++) {\n\t\t\t\t\t\t\t\tcontext_data_val = context_data_val << 1 | 1 & value;\n\t\t\t\t\t\t\t\tif (context_data_position == bitsPerChar - 1) {\n\t\t\t\t\t\t\t\t\tcontext_data_position = 0;\n\t\t\t\t\t\t\t\t\tcontext_data.push(getCharFromInt(context_data_val));\n\t\t\t\t\t\t\t\t\tcontext_data_val = 0\n\t\t\t\t\t\t\t\t} else context_data_position++;\n\t\t\t\t\t\t\t\tvalue >>= 1\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (0 == --context_enlargeIn) {\n\t\t\t\t\t\t\tcontext_enlargeIn = Math.pow(2, context_numBits);\n\t\t\t\t\t\t\tcontext_numBits++\n\t\t\t\t\t\t}\n\t\t\t\t\t\tdelete context_dictionaryToCreate[context_w]\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvalue = context_dictionary[context_w];\n\t\t\t\t\t\tfor (i = 0; i < context_numBits; i++) {\n\t\t\t\t\t\t\tcontext_data_val = context_data_val << 1 | 1 & value;\n\t\t\t\t\t\t\tif (context_data_position == bitsPerChar - 1) {\n\t\t\t\t\t\t\t\tcontext_data_position = 0;\n\t\t\t\t\t\t\t\tcontext_data.push(getCharFromInt(context_data_val));\n\t\t\t\t\t\t\t\tcontext_data_val = 0\n\t\t\t\t\t\t\t} else context_data_position++;\n\t\t\t\t\t\t\tvalue >>= 1\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (0 == --context_enlargeIn) {\n\t\t\t\t\t\tcontext_enlargeIn = Math.pow(2, context_numBits);\n\t\t\t\t\t\tcontext_numBits++\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tvalue = 2;\n\t\t\t\tfor (i = 0; i < context_numBits; i++) {\n\t\t\t\t\tcontext_data_val = context_data_val << 1 | 1 & value;\n\t\t\t\t\tif (context_data_position == bitsPerChar - 1) {\n\t\t\t\t\t\tcontext_data_position = 0;\n\t\t\t\t\t\tcontext_data.push(getCharFromInt(context_data_val));\n\t\t\t\t\t\tcontext_data_val = 0\n\t\t\t\t\t} else context_data_position++;\n\t\t\t\t\tvalue >>= 1\n\t\t\t\t}\n\t\t\t\twhile (true) {\n\t\t\t\t\tcontext_data_val <<= 1;\n\t\t\t\t\tif (context_data_position == bitsPerChar - 1) {\n\t\t\t\t\t\tcontext_data.push(getCharFromInt(context_data_val));\n\t\t\t\t\t\tbreak\n\t\t\t\t\t} else context_data_position++\n\t\t\t\t}\n\t\t\t\treturn context_data.join(\"\")\n\t\t\t},\n\t\t\tdecompress: function (compressed) {\n\t\t\t\tif (null == compressed) return \"\";\n\t\t\t\tif (\"\" == compressed) return null;\n\t\t\t\telse return LZString._decompress(compressed.length, 32768, function (index) {\n\t\t\t\t\treturn compressed.charCodeAt(index)\n\t\t\t\t})\n\t\t\t},\n\t\t\t_decompress: function (length, resetValue, getNextValue) {\n\t\t\t\tvar i, w, bits, resb, maxpower, power, c, dictionary = [],\n\t\t\t\t\tenlargeIn = 4,\n\t\t\t\t\tdictSize = 4,\n\t\t\t\t\tnumBits = 3,\n\t\t\t\t\tentry = \"\",\n\t\t\t\t\tresult = [],\n\t\t\t\t\tdata = {\n\t\t\t\t\t\tval: getNextValue(0),\n\t\t\t\t\t\tposition: resetValue,\n\t\t\t\t\t\tindex: 1\n\t\t\t\t\t};\n\t\t\t\tfor (i = 0; i < 3; i += 1) dictionary[i] = i;\n\t\t\t\tbits = 0;\n\t\t\t\tmaxpower = Math.pow(2, 2);\n\t\t\t\tpower = 1;\n\t\t\t\twhile (power != maxpower) {\n\t\t\t\t\tresb = data.val & data.position;\n\t\t\t\t\tdata.position >>= 1;\n\t\t\t\t\tif (0 == data.position) {\n\t\t\t\t\t\tdata.position = resetValue;\n\t\t\t\t\t\tdata.val = getNextValue(data.index++)\n\t\t\t\t\t}\n\t\t\t\t\tbits |= (resb > 0 ? 1 : 0) * power;\n\t\t\t\t\tpower <<= 1\n\t\t\t\t}\n\t\t\t\tswitch (bits) {\n\t\t\t\tcase 0:\n\t\t\t\t\tbits = 0;\n\t\t\t\t\tmaxpower = Math.pow(2, 8);\n\t\t\t\t\tpower = 1;\n\t\t\t\t\twhile (power != maxpower) {\n\t\t\t\t\t\tresb = data.val & data.position;\n\t\t\t\t\t\tdata.position >>= 1;\n\t\t\t\t\t\tif (0 == data.position) {\n\t\t\t\t\t\t\tdata.position = resetValue;\n\t\t\t\t\t\t\tdata.val = getNextValue(data.index++)\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbits |= (resb > 0 ? 1 : 0) * power;\n\t\t\t\t\t\tpower <<= 1\n\t\t\t\t\t}\n\t\t\t\t\tc = f(bits);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 1:\n\t\t\t\t\tbits = 0;\n\t\t\t\t\tmaxpower = Math.pow(2, 16);\n\t\t\t\t\tpower = 1;\n\t\t\t\t\twhile (power != maxpower) {\n\t\t\t\t\t\tresb = data.val & data.position;\n\t\t\t\t\t\tdata.position >>= 1;\n\t\t\t\t\t\tif (0 == data.position) {\n\t\t\t\t\t\t\tdata.position = resetValue;\n\t\t\t\t\t\t\tdata.val = getNextValue(data.index++)\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbits |= (resb > 0 ? 1 : 0) * power;\n\t\t\t\t\t\tpower <<= 1\n\t\t\t\t\t}\n\t\t\t\t\tc = f(bits);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 2:\n\t\t\t\t\treturn \"\"\n\t\t\t\t}\n\t\t\t\tw = dictionary[3] = c;\n\t\t\t\tresult.push(c);\n\t\t\t\twhile (true) {\n\t\t\t\t\tif (data.index > length) return \"\";\n\t\t\t\t\tbits = 0;\n\t\t\t\t\tmaxpower = Math.pow(2, numBits);\n\t\t\t\t\tpower = 1;\n\t\t\t\t\twhile (power != maxpower) {\n\t\t\t\t\t\tresb = data.val & data.position;\n\t\t\t\t\t\tdata.position >>= 1;\n\t\t\t\t\t\tif (0 == data.position) {\n\t\t\t\t\t\t\tdata.position = resetValue;\n\t\t\t\t\t\t\tdata.val = getNextValue(data.index++)\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbits |= (resb > 0 ? 1 : 0) * power;\n\t\t\t\t\t\tpower <<= 1\n\t\t\t\t\t}\n\t\t\t\t\tswitch (c = bits) {\n\t\t\t\t\tcase 0:\n\t\t\t\t\t\tbits = 0;\n\t\t\t\t\t\tmaxpower = Math.pow(2, 8);\n\t\t\t\t\t\tpower = 1;\n\t\t\t\t\t\twhile (power != maxpower) {\n\t\t\t\t\t\t\tresb = data.val & data.position;\n\t\t\t\t\t\t\tdata.position >>= 1;\n\t\t\t\t\t\t\tif (0 == data.position) {\n\t\t\t\t\t\t\t\tdata.position = resetValue;\n\t\t\t\t\t\t\t\tdata.val = getNextValue(data.index++)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tbits |= (resb > 0 ? 1 : 0) * power;\n\t\t\t\t\t\t\tpower <<= 1\n\t\t\t\t\t\t}\n\t\t\t\t\t\tdictionary[dictSize++] = f(bits);\n\t\t\t\t\t\tc = dictSize - 1;\n\t\t\t\t\t\tenlargeIn--;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 1:\n\t\t\t\t\t\tbits = 0;\n\t\t\t\t\t\tmaxpower = Math.pow(2, 16);\n\t\t\t\t\t\tpower = 1;\n\t\t\t\t\t\twhile (power != maxpower) {\n\t\t\t\t\t\t\tresb = data.val & data.position;\n\t\t\t\t\t\t\tdata.position >>= 1;\n\t\t\t\t\t\t\tif (0 == data.position) {\n\t\t\t\t\t\t\t\tdata.position = resetValue;\n\t\t\t\t\t\t\t\tdata.val = getNextValue(data.index++)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tbits |= (resb > 0 ? 1 : 0) * power;\n\t\t\t\t\t\t\tpower <<= 1\n\t\t\t\t\t\t}\n\t\t\t\t\t\tdictionary[dictSize++] = f(bits);\n\t\t\t\t\t\tc = dictSize - 1;\n\t\t\t\t\t\tenlargeIn--;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 2:\n\t\t\t\t\t\treturn result.join(\"\")\n\t\t\t\t\t}\n\t\t\t\t\tif (0 == enlargeIn) {\n\t\t\t\t\t\tenlargeIn = Math.pow(2, numBits);\n\t\t\t\t\t\tnumBits++\n\t\t\t\t\t}\n\t\t\t\t\tif (dictionary[c]) entry = dictionary[c];\n\t\t\t\t\telse if (c === dictSize) entry = w + w.charAt(0);\n\t\t\t\t\telse return null;\n\t\t\t\t\tresult.push(entry);\n\t\t\t\t\tdictionary[dictSize++] = w + entry.charAt(0);\n\t\t\t\t\tw = entry;\n\t\t\t\t\tif (0 == --enlargeIn) {\n\t\t\t\t\t\tenlargeIn = Math.pow(2, numBits);\n\t\t\t\t\t\tnumBits++\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\treturn LZString\n}();\nif (\"function\" === typeof define && define.amd) define(function () {\n\treturn LZString\n});\nelse if (\"undefined\" !== typeof module && null != module) module.exports = LZString;\nelse if (\"undefined\" !== typeof angular && null != angular) angular.module(\"LZString\", [])\n\t.factory(\"LZString\", function () {\n\t\treturn LZString\n\t});\n(function (global) {\n\t\"use strict\";\n\n\tfunction definition(path, iterate, isObject, isTypeOf) {\n\t\tfunction isEnabled(path) {\n\t\t\tfor (var pointer, match, i = 0; pointer = pattern[i]; i++)\n\t\t\t\tif (0 === path.indexOf(pointer.pattern) && (!match || pointer.weight > match.weight)) match = pointer;\n\t\t\treturn match ? match.state : false\n\t\t}\n\t\tvar pattern = [{\n\t\t\t\tpattern: path,\n\t\t\t\tweight: path.length,\n\t\t\t\tstate: false\n\t\t\t}],\n\t\t\tstorage = {};\n\t\tdemand.on(\"postConfigure:\" + path, function (options) {\n\t\t\t\tif (isObject(options)) {\n\t\t\t\t\tpattern.length = 0;\n\t\t\t\t\titerate(options, function (key, value) {\n\t\t\t\t\t\tpattern.push({\n\t\t\t\t\t\t\tpattern: key,\n\t\t\t\t\t\t\tweight: key.length,\n\t\t\t\t\t\t\tstate: value\n\t\t\t\t\t\t})\n\t\t\t\t\t})\n\t\t\t\t} else if (isTypeOf(options, \"boolean\")) pattern.push({\n\t\t\t\t\tpattern: \"\",\n\t\t\t\t\tweight: 0,\n\t\t\t\t\tstate: options\n\t\t\t\t})\n\t\t\t})\n\t\t\t.on(\"cacheHit\", function (dependency) {\n\t\t\t\tif (isEnabled(dependency.path)) storage[dependency.id] = true\n\t\t\t})\n\t\t\t.on(\"preCache\", function (dependency) {\n\t\t\t\tif (isEnabled(dependency.path)) dependency.source = global.LZString.compressToUTF16(dependency.source)\n\t\t\t})\n\t\t\t.on(\"preProcess\", function (dependency) {\n\t\t\t\tif (storage[dependency.id]) dependency.source = global.LZString.decompressFromUTF16(dependency.source)\n\t\t\t});\n\t\treturn true\n\t}\n\tprovide([\"path\", \"/demand/function/iterate\", \"/demand/validator/isObject\", \"/demand/validator/isTypeOf\"], definition)\n})(this);\n"]} \ No newline at end of file +{"version":3,"sources":["plugin/lzstring.js"],"names":["LZString","getBaseValue","alphabet","character","baseReverseDic","i","length","charAt","f","String","fromCharCode","keyStrBase64","keyStrUriSafe","compressToBase64","input","res","_compress","a","decompressFromBase64","_decompress","index","compressToUTF16","decompressFromUTF16","compressed","charCodeAt","compressToUint8Array","uncompressed","TotalLen","current_value","compress","buf","Uint8Array","decompressFromUint8Array","result","decompress","Array","forEach","c","push","join","compressToEncodedURIComponent","decompressFromEncodedURIComponent","replace","bitsPerChar","getCharFromInt","value","ii","context_dictionary","context_dictionaryToCreate","context_c","context_wc","context_w","context_enlargeIn","context_dictSize","context_numBits","context_data","context_data_val","context_data_position","Object","prototype","hasOwnProperty","call","Math","pow","resetValue","getNextValue","w","bits","resb","maxpower","power","dictionary","enlargeIn","dictSize","numBits","entry","data","val","position","define","amd","module","exports","angular","factory","global","provide","path","iterate","isObject","isTypeOf","isEnabled","pointer","match","pattern","indexOf","weight","state","storage","demand","on","options","key","dependency","id","source","this"],"mappings":"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","file":"lzstring.js","sourcesContent":["/**! Qoopido.demand 5.1.1 | https://github.com/dlueth/qoopido.demand | (c) 2018 Dirk Lueth */\nvar LZString = function () {\n\tfunction getBaseValue(alphabet, character) {\n\t\tif (!baseReverseDic[alphabet]) {\n\t\t\tbaseReverseDic[alphabet] = {};\n\t\t\tfor (var i = 0; i < alphabet.length; i++) baseReverseDic[alphabet][alphabet.charAt(i)] = i\n\t\t}\n\t\treturn baseReverseDic[alphabet][character]\n\t}\n\tvar f = String.fromCharCode,\n\t\tkeyStrBase64 = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\",\n\t\tkeyStrUriSafe = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+-$\",\n\t\tbaseReverseDic = {},\n\t\tLZString = {\n\t\t\tcompressToBase64: function (input) {\n\t\t\t\tif (null == input) return \"\";\n\t\t\t\tvar res = LZString._compress(input, 6, function (a) {\n\t\t\t\t\treturn keyStrBase64.charAt(a)\n\t\t\t\t});\n\t\t\t\tswitch (res.length % 4) {\n\t\t\t\tdefault:\n\t\t\t\tcase 0:\n\t\t\t\t\treturn res;\n\t\t\t\tcase 1:\n\t\t\t\t\treturn res + \"===\";\n\t\t\t\tcase 2:\n\t\t\t\t\treturn res + \"==\";\n\t\t\t\tcase 3:\n\t\t\t\t\treturn res + \"=\"\n\t\t\t\t}\n\t\t\t},\n\t\t\tdecompressFromBase64: function (input) {\n\t\t\t\tif (null == input) return \"\";\n\t\t\t\tif (\"\" == input) return null;\n\t\t\t\telse return LZString._decompress(input.length, 32, function (index) {\n\t\t\t\t\treturn getBaseValue(keyStrBase64, input.charAt(index))\n\t\t\t\t})\n\t\t\t},\n\t\t\tcompressToUTF16: function (input) {\n\t\t\t\tif (null == input) return \"\";\n\t\t\t\telse return LZString._compress(input, 15, function (a) {\n\t\t\t\t\treturn f(a + 32)\n\t\t\t\t}) + \" \"\n\t\t\t},\n\t\t\tdecompressFromUTF16: function (compressed) {\n\t\t\t\tif (null == compressed) return \"\";\n\t\t\t\tif (\"\" == compressed) return null;\n\t\t\t\telse return LZString._decompress(compressed.length, 16384, function (index) {\n\t\t\t\t\treturn compressed.charCodeAt(index) - 32\n\t\t\t\t})\n\t\t\t},\n\t\t\tcompressToUint8Array: function (uncompressed) {\n\t\t\t\tvar i, TotalLen, current_value, compressed = LZString.compress(uncompressed),\n\t\t\t\t\tbuf = new Uint8Array(2 * compressed.length);\n\t\t\t\tfor (i = 0, TotalLen = compressed.length; i < TotalLen; i++) {\n\t\t\t\t\tcurrent_value = compressed.charCodeAt(i);\n\t\t\t\t\tbuf[2 * i] = current_value >>> 8;\n\t\t\t\t\tbuf[2 * i + 1] = current_value % 256\n\t\t\t\t}\n\t\t\t\treturn buf\n\t\t\t},\n\t\t\tdecompressFromUint8Array: function (compressed) {\n\t\t\t\tvar buf, i, TotalLen, result;\n\t\t\t\tif (null === compressed || void 0 === compressed) return LZString.decompress(compressed);\n\t\t\t\telse {\n\t\t\t\t\tfor (i = 0, TotalLen = (buf = new Array(compressed.length / 2))\n\t\t\t\t\t\t.length; i < TotalLen; i++) buf[i] = 256 * compressed[2 * i] + compressed[2 * i + 1];\n\t\t\t\t\tresult = [];\n\t\t\t\t\tbuf.forEach(function (c) {\n\t\t\t\t\t\tresult.push(f(c))\n\t\t\t\t\t});\n\t\t\t\t\treturn LZString.decompress(result.join(\"\"))\n\t\t\t\t}\n\t\t\t},\n\t\t\tcompressToEncodedURIComponent: function (input) {\n\t\t\t\tif (null == input) return \"\";\n\t\t\t\telse return LZString._compress(input, 6, function (a) {\n\t\t\t\t\treturn keyStrUriSafe.charAt(a)\n\t\t\t\t})\n\t\t\t},\n\t\t\tdecompressFromEncodedURIComponent: function (input) {\n\t\t\t\tif (null == input) return \"\";\n\t\t\t\tif (\"\" == input) return null;\n\t\t\t\tinput = input.replace(/ /g, \"+\");\n\t\t\t\treturn LZString._decompress(input.length, 32, function (index) {\n\t\t\t\t\treturn getBaseValue(keyStrUriSafe, input.charAt(index))\n\t\t\t\t})\n\t\t\t},\n\t\t\tcompress: function (uncompressed) {\n\t\t\t\treturn LZString._compress(uncompressed, 16, function (a) {\n\t\t\t\t\treturn f(a)\n\t\t\t\t})\n\t\t\t},\n\t\t\t_compress: function (uncompressed, bitsPerChar, getCharFromInt) {\n\t\t\t\tif (null == uncompressed) return \"\";\n\t\t\t\tvar i, value, ii, context_dictionary = {},\n\t\t\t\t\tcontext_dictionaryToCreate = {},\n\t\t\t\t\tcontext_c = \"\",\n\t\t\t\t\tcontext_wc = \"\",\n\t\t\t\t\tcontext_w = \"\",\n\t\t\t\t\tcontext_enlargeIn = 2,\n\t\t\t\t\tcontext_dictSize = 3,\n\t\t\t\t\tcontext_numBits = 2,\n\t\t\t\t\tcontext_data = [],\n\t\t\t\t\tcontext_data_val = 0,\n\t\t\t\t\tcontext_data_position = 0;\n\t\t\t\tfor (ii = 0; ii < uncompressed.length; ii += 1) {\n\t\t\t\t\tcontext_c = uncompressed.charAt(ii);\n\t\t\t\t\tif (!Object.prototype.hasOwnProperty.call(context_dictionary, context_c)) {\n\t\t\t\t\t\tcontext_dictionary[context_c] = context_dictSize++;\n\t\t\t\t\t\tcontext_dictionaryToCreate[context_c] = true\n\t\t\t\t\t}\n\t\t\t\t\tcontext_wc = context_w + context_c;\n\t\t\t\t\tif (Object.prototype.hasOwnProperty.call(context_dictionary, context_wc)) context_w = context_wc;\n\t\t\t\t\telse {\n\t\t\t\t\t\tif (Object.prototype.hasOwnProperty.call(context_dictionaryToCreate, context_w)) {\n\t\t\t\t\t\t\tif (context_w.charCodeAt(0) < 256) {\n\t\t\t\t\t\t\t\tfor (i = 0; i < context_numBits; i++) {\n\t\t\t\t\t\t\t\t\tcontext_data_val <<= 1;\n\t\t\t\t\t\t\t\t\tif (context_data_position == bitsPerChar - 1) {\n\t\t\t\t\t\t\t\t\t\tcontext_data_position = 0;\n\t\t\t\t\t\t\t\t\t\tcontext_data.push(getCharFromInt(context_data_val));\n\t\t\t\t\t\t\t\t\t\tcontext_data_val = 0\n\t\t\t\t\t\t\t\t\t} else context_data_position++\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tvalue = context_w.charCodeAt(0);\n\t\t\t\t\t\t\t\tfor (i = 0; i < 8; i++) {\n\t\t\t\t\t\t\t\t\tcontext_data_val = context_data_val << 1 | 1 & value;\n\t\t\t\t\t\t\t\t\tif (context_data_position == bitsPerChar - 1) {\n\t\t\t\t\t\t\t\t\t\tcontext_data_position = 0;\n\t\t\t\t\t\t\t\t\t\tcontext_data.push(getCharFromInt(context_data_val));\n\t\t\t\t\t\t\t\t\t\tcontext_data_val = 0\n\t\t\t\t\t\t\t\t\t} else context_data_position++;\n\t\t\t\t\t\t\t\t\tvalue >>= 1\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tvalue = 1;\n\t\t\t\t\t\t\t\tfor (i = 0; i < context_numBits; i++) {\n\t\t\t\t\t\t\t\t\tcontext_data_val = context_data_val << 1 | value;\n\t\t\t\t\t\t\t\t\tif (context_data_position == bitsPerChar - 1) {\n\t\t\t\t\t\t\t\t\t\tcontext_data_position = 0;\n\t\t\t\t\t\t\t\t\t\tcontext_data.push(getCharFromInt(context_data_val));\n\t\t\t\t\t\t\t\t\t\tcontext_data_val = 0\n\t\t\t\t\t\t\t\t\t} else context_data_position++;\n\t\t\t\t\t\t\t\t\tvalue = 0\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tvalue = context_w.charCodeAt(0);\n\t\t\t\t\t\t\t\tfor (i = 0; i < 16; i++) {\n\t\t\t\t\t\t\t\t\tcontext_data_val = context_data_val << 1 | 1 & value;\n\t\t\t\t\t\t\t\t\tif (context_data_position == bitsPerChar - 1) {\n\t\t\t\t\t\t\t\t\t\tcontext_data_position = 0;\n\t\t\t\t\t\t\t\t\t\tcontext_data.push(getCharFromInt(context_data_val));\n\t\t\t\t\t\t\t\t\t\tcontext_data_val = 0\n\t\t\t\t\t\t\t\t\t} else context_data_position++;\n\t\t\t\t\t\t\t\t\tvalue >>= 1\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (0 == --context_enlargeIn) {\n\t\t\t\t\t\t\t\tcontext_enlargeIn = Math.pow(2, context_numBits);\n\t\t\t\t\t\t\t\tcontext_numBits++\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tdelete context_dictionaryToCreate[context_w]\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tvalue = context_dictionary[context_w];\n\t\t\t\t\t\t\tfor (i = 0; i < context_numBits; i++) {\n\t\t\t\t\t\t\t\tcontext_data_val = context_data_val << 1 | 1 & value;\n\t\t\t\t\t\t\t\tif (context_data_position == bitsPerChar - 1) {\n\t\t\t\t\t\t\t\t\tcontext_data_position = 0;\n\t\t\t\t\t\t\t\t\tcontext_data.push(getCharFromInt(context_data_val));\n\t\t\t\t\t\t\t\t\tcontext_data_val = 0\n\t\t\t\t\t\t\t\t} else context_data_position++;\n\t\t\t\t\t\t\t\tvalue >>= 1\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (0 == --context_enlargeIn) {\n\t\t\t\t\t\t\tcontext_enlargeIn = Math.pow(2, context_numBits);\n\t\t\t\t\t\t\tcontext_numBits++\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcontext_dictionary[context_wc] = context_dictSize++;\n\t\t\t\t\t\tcontext_w = String(context_c)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (\"\" !== context_w) {\n\t\t\t\t\tif (Object.prototype.hasOwnProperty.call(context_dictionaryToCreate, context_w)) {\n\t\t\t\t\t\tif (context_w.charCodeAt(0) < 256) {\n\t\t\t\t\t\t\tfor (i = 0; i < context_numBits; i++) {\n\t\t\t\t\t\t\t\tcontext_data_val <<= 1;\n\t\t\t\t\t\t\t\tif (context_data_position == bitsPerChar - 1) {\n\t\t\t\t\t\t\t\t\tcontext_data_position = 0;\n\t\t\t\t\t\t\t\t\tcontext_data.push(getCharFromInt(context_data_val));\n\t\t\t\t\t\t\t\t\tcontext_data_val = 0\n\t\t\t\t\t\t\t\t} else context_data_position++\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tvalue = context_w.charCodeAt(0);\n\t\t\t\t\t\t\tfor (i = 0; i < 8; i++) {\n\t\t\t\t\t\t\t\tcontext_data_val = context_data_val << 1 | 1 & value;\n\t\t\t\t\t\t\t\tif (context_data_position == bitsPerChar - 1) {\n\t\t\t\t\t\t\t\t\tcontext_data_position = 0;\n\t\t\t\t\t\t\t\t\tcontext_data.push(getCharFromInt(context_data_val));\n\t\t\t\t\t\t\t\t\tcontext_data_val = 0\n\t\t\t\t\t\t\t\t} else context_data_position++;\n\t\t\t\t\t\t\t\tvalue >>= 1\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tvalue = 1;\n\t\t\t\t\t\t\tfor (i = 0; i < context_numBits; i++) {\n\t\t\t\t\t\t\t\tcontext_data_val = context_data_val << 1 | value;\n\t\t\t\t\t\t\t\tif (context_data_position == bitsPerChar - 1) {\n\t\t\t\t\t\t\t\t\tcontext_data_position = 0;\n\t\t\t\t\t\t\t\t\tcontext_data.push(getCharFromInt(context_data_val));\n\t\t\t\t\t\t\t\t\tcontext_data_val = 0\n\t\t\t\t\t\t\t\t} else context_data_position++;\n\t\t\t\t\t\t\t\tvalue = 0\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tvalue = context_w.charCodeAt(0);\n\t\t\t\t\t\t\tfor (i = 0; i < 16; i++) {\n\t\t\t\t\t\t\t\tcontext_data_val = context_data_val << 1 | 1 & value;\n\t\t\t\t\t\t\t\tif (context_data_position == bitsPerChar - 1) {\n\t\t\t\t\t\t\t\t\tcontext_data_position = 0;\n\t\t\t\t\t\t\t\t\tcontext_data.push(getCharFromInt(context_data_val));\n\t\t\t\t\t\t\t\t\tcontext_data_val = 0\n\t\t\t\t\t\t\t\t} else context_data_position++;\n\t\t\t\t\t\t\t\tvalue >>= 1\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (0 == --context_enlargeIn) {\n\t\t\t\t\t\t\tcontext_enlargeIn = Math.pow(2, context_numBits);\n\t\t\t\t\t\t\tcontext_numBits++\n\t\t\t\t\t\t}\n\t\t\t\t\t\tdelete context_dictionaryToCreate[context_w]\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvalue = context_dictionary[context_w];\n\t\t\t\t\t\tfor (i = 0; i < context_numBits; i++) {\n\t\t\t\t\t\t\tcontext_data_val = context_data_val << 1 | 1 & value;\n\t\t\t\t\t\t\tif (context_data_position == bitsPerChar - 1) {\n\t\t\t\t\t\t\t\tcontext_data_position = 0;\n\t\t\t\t\t\t\t\tcontext_data.push(getCharFromInt(context_data_val));\n\t\t\t\t\t\t\t\tcontext_data_val = 0\n\t\t\t\t\t\t\t} else context_data_position++;\n\t\t\t\t\t\t\tvalue >>= 1\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (0 == --context_enlargeIn) {\n\t\t\t\t\t\tcontext_enlargeIn = Math.pow(2, context_numBits);\n\t\t\t\t\t\tcontext_numBits++\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tvalue = 2;\n\t\t\t\tfor (i = 0; i < context_numBits; i++) {\n\t\t\t\t\tcontext_data_val = context_data_val << 1 | 1 & value;\n\t\t\t\t\tif (context_data_position == bitsPerChar - 1) {\n\t\t\t\t\t\tcontext_data_position = 0;\n\t\t\t\t\t\tcontext_data.push(getCharFromInt(context_data_val));\n\t\t\t\t\t\tcontext_data_val = 0\n\t\t\t\t\t} else context_data_position++;\n\t\t\t\t\tvalue >>= 1\n\t\t\t\t}\n\t\t\t\twhile (true) {\n\t\t\t\t\tcontext_data_val <<= 1;\n\t\t\t\t\tif (context_data_position == bitsPerChar - 1) {\n\t\t\t\t\t\tcontext_data.push(getCharFromInt(context_data_val));\n\t\t\t\t\t\tbreak\n\t\t\t\t\t} else context_data_position++\n\t\t\t\t}\n\t\t\t\treturn context_data.join(\"\")\n\t\t\t},\n\t\t\tdecompress: function (compressed) {\n\t\t\t\tif (null == compressed) return \"\";\n\t\t\t\tif (\"\" == compressed) return null;\n\t\t\t\telse return LZString._decompress(compressed.length, 32768, function (index) {\n\t\t\t\t\treturn compressed.charCodeAt(index)\n\t\t\t\t})\n\t\t\t},\n\t\t\t_decompress: function (length, resetValue, getNextValue) {\n\t\t\t\tvar i, w, bits, resb, maxpower, power, c, dictionary = [],\n\t\t\t\t\tenlargeIn = 4,\n\t\t\t\t\tdictSize = 4,\n\t\t\t\t\tnumBits = 3,\n\t\t\t\t\tentry = \"\",\n\t\t\t\t\tresult = [],\n\t\t\t\t\tdata = {\n\t\t\t\t\t\tval: getNextValue(0),\n\t\t\t\t\t\tposition: resetValue,\n\t\t\t\t\t\tindex: 1\n\t\t\t\t\t};\n\t\t\t\tfor (i = 0; i < 3; i += 1) dictionary[i] = i;\n\t\t\t\tbits = 0;\n\t\t\t\tmaxpower = Math.pow(2, 2);\n\t\t\t\tpower = 1;\n\t\t\t\twhile (power != maxpower) {\n\t\t\t\t\tresb = data.val & data.position;\n\t\t\t\t\tdata.position >>= 1;\n\t\t\t\t\tif (0 == data.position) {\n\t\t\t\t\t\tdata.position = resetValue;\n\t\t\t\t\t\tdata.val = getNextValue(data.index++)\n\t\t\t\t\t}\n\t\t\t\t\tbits |= (resb > 0 ? 1 : 0) * power;\n\t\t\t\t\tpower <<= 1\n\t\t\t\t}\n\t\t\t\tswitch (bits) {\n\t\t\t\tcase 0:\n\t\t\t\t\tbits = 0;\n\t\t\t\t\tmaxpower = Math.pow(2, 8);\n\t\t\t\t\tpower = 1;\n\t\t\t\t\twhile (power != maxpower) {\n\t\t\t\t\t\tresb = data.val & data.position;\n\t\t\t\t\t\tdata.position >>= 1;\n\t\t\t\t\t\tif (0 == data.position) {\n\t\t\t\t\t\t\tdata.position = resetValue;\n\t\t\t\t\t\t\tdata.val = getNextValue(data.index++)\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbits |= (resb > 0 ? 1 : 0) * power;\n\t\t\t\t\t\tpower <<= 1\n\t\t\t\t\t}\n\t\t\t\t\tc = f(bits);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 1:\n\t\t\t\t\tbits = 0;\n\t\t\t\t\tmaxpower = Math.pow(2, 16);\n\t\t\t\t\tpower = 1;\n\t\t\t\t\twhile (power != maxpower) {\n\t\t\t\t\t\tresb = data.val & data.position;\n\t\t\t\t\t\tdata.position >>= 1;\n\t\t\t\t\t\tif (0 == data.position) {\n\t\t\t\t\t\t\tdata.position = resetValue;\n\t\t\t\t\t\t\tdata.val = getNextValue(data.index++)\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbits |= (resb > 0 ? 1 : 0) * power;\n\t\t\t\t\t\tpower <<= 1\n\t\t\t\t\t}\n\t\t\t\t\tc = f(bits);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 2:\n\t\t\t\t\treturn \"\"\n\t\t\t\t}\n\t\t\t\tw = dictionary[3] = c;\n\t\t\t\tresult.push(c);\n\t\t\t\twhile (true) {\n\t\t\t\t\tif (data.index > length) return \"\";\n\t\t\t\t\tbits = 0;\n\t\t\t\t\tmaxpower = Math.pow(2, numBits);\n\t\t\t\t\tpower = 1;\n\t\t\t\t\twhile (power != maxpower) {\n\t\t\t\t\t\tresb = data.val & data.position;\n\t\t\t\t\t\tdata.position >>= 1;\n\t\t\t\t\t\tif (0 == data.position) {\n\t\t\t\t\t\t\tdata.position = resetValue;\n\t\t\t\t\t\t\tdata.val = getNextValue(data.index++)\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbits |= (resb > 0 ? 1 : 0) * power;\n\t\t\t\t\t\tpower <<= 1\n\t\t\t\t\t}\n\t\t\t\t\tswitch (c = bits) {\n\t\t\t\t\tcase 0:\n\t\t\t\t\t\tbits = 0;\n\t\t\t\t\t\tmaxpower = Math.pow(2, 8);\n\t\t\t\t\t\tpower = 1;\n\t\t\t\t\t\twhile (power != maxpower) {\n\t\t\t\t\t\t\tresb = data.val & data.position;\n\t\t\t\t\t\t\tdata.position >>= 1;\n\t\t\t\t\t\t\tif (0 == data.position) {\n\t\t\t\t\t\t\t\tdata.position = resetValue;\n\t\t\t\t\t\t\t\tdata.val = getNextValue(data.index++)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tbits |= (resb > 0 ? 1 : 0) * power;\n\t\t\t\t\t\t\tpower <<= 1\n\t\t\t\t\t\t}\n\t\t\t\t\t\tdictionary[dictSize++] = f(bits);\n\t\t\t\t\t\tc = dictSize - 1;\n\t\t\t\t\t\tenlargeIn--;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 1:\n\t\t\t\t\t\tbits = 0;\n\t\t\t\t\t\tmaxpower = Math.pow(2, 16);\n\t\t\t\t\t\tpower = 1;\n\t\t\t\t\t\twhile (power != maxpower) {\n\t\t\t\t\t\t\tresb = data.val & data.position;\n\t\t\t\t\t\t\tdata.position >>= 1;\n\t\t\t\t\t\t\tif (0 == data.position) {\n\t\t\t\t\t\t\t\tdata.position = resetValue;\n\t\t\t\t\t\t\t\tdata.val = getNextValue(data.index++)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tbits |= (resb > 0 ? 1 : 0) * power;\n\t\t\t\t\t\t\tpower <<= 1\n\t\t\t\t\t\t}\n\t\t\t\t\t\tdictionary[dictSize++] = f(bits);\n\t\t\t\t\t\tc = dictSize - 1;\n\t\t\t\t\t\tenlargeIn--;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 2:\n\t\t\t\t\t\treturn result.join(\"\")\n\t\t\t\t\t}\n\t\t\t\t\tif (0 == enlargeIn) {\n\t\t\t\t\t\tenlargeIn = Math.pow(2, numBits);\n\t\t\t\t\t\tnumBits++\n\t\t\t\t\t}\n\t\t\t\t\tif (dictionary[c]) entry = dictionary[c];\n\t\t\t\t\telse if (c === dictSize) entry = w + w.charAt(0);\n\t\t\t\t\telse return null;\n\t\t\t\t\tresult.push(entry);\n\t\t\t\t\tdictionary[dictSize++] = w + entry.charAt(0);\n\t\t\t\t\tw = entry;\n\t\t\t\t\tif (0 == --enlargeIn) {\n\t\t\t\t\t\tenlargeIn = Math.pow(2, numBits);\n\t\t\t\t\t\tnumBits++\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\treturn LZString\n}();\nif (\"function\" === typeof define && define.amd) define(function () {\n\treturn LZString\n});\nelse if (\"undefined\" !== typeof module && null != module) module.exports = LZString;\nelse if (\"undefined\" !== typeof angular && null != angular) angular.module(\"LZString\", [])\n\t.factory(\"LZString\", function () {\n\t\treturn LZString\n\t});\n(function (global) {\n\t\"use strict\";\n\n\tfunction definition(path, iterate, isObject, isTypeOf) {\n\t\tfunction isEnabled(path) {\n\t\t\tfor (var pointer, match, i = 0; pointer = pattern[i]; i++)\n\t\t\t\tif (0 === path.indexOf(pointer.pattern) && (!match || pointer.weight > match.weight)) match = pointer;\n\t\t\treturn match ? match.state : false\n\t\t}\n\t\tvar pattern = [{\n\t\t\t\tpattern: path,\n\t\t\t\tweight: path.length,\n\t\t\t\tstate: false\n\t\t\t}],\n\t\t\tstorage = {};\n\t\tdemand.on(\"postConfigure:\" + path, function (options) {\n\t\t\t\tif (isObject(options)) {\n\t\t\t\t\tpattern.length = 0;\n\t\t\t\t\titerate(options, function (key, value) {\n\t\t\t\t\t\tpattern.push({\n\t\t\t\t\t\t\tpattern: key,\n\t\t\t\t\t\t\tweight: key.length,\n\t\t\t\t\t\t\tstate: value\n\t\t\t\t\t\t})\n\t\t\t\t\t})\n\t\t\t\t} else if (isTypeOf(options, \"boolean\")) pattern.push({\n\t\t\t\t\tpattern: \"\",\n\t\t\t\t\tweight: 0,\n\t\t\t\t\tstate: options\n\t\t\t\t})\n\t\t\t})\n\t\t\t.on(\"cacheHit\", function (dependency) {\n\t\t\t\tif (isEnabled(dependency.path)) storage[dependency.id] = true\n\t\t\t})\n\t\t\t.on(\"preCache\", function (dependency) {\n\t\t\t\tif (isEnabled(dependency.path)) dependency.source = global.LZString.compressToUTF16(dependency.source)\n\t\t\t})\n\t\t\t.on(\"preProcess\", function (dependency) {\n\t\t\t\tif (storage[dependency.id]) dependency.source = global.LZString.decompressFromUTF16(dependency.source)\n\t\t\t});\n\t\treturn true\n\t}\n\tprovide([\"path\", \"/demand/function/iterate\", \"/demand/validator/isObject\", \"/demand/validator/isTypeOf\"], definition)\n})(this);\n"]} \ No newline at end of file diff --git a/dist/plugin/sri.js b/dist/plugin/sri.js index 48096dc..855d577 100644 --- a/dist/plugin/sri.js +++ b/dist/plugin/sri.js @@ -1,3 +1,3 @@ -/**! Qoopido.demand 5.1.0 | https://github.com/dlueth/qoopido.demand | (c) 2018 Dirk Lueth */ +/**! Qoopido.demand 5.1.1 | https://github.com/dlueth/qoopido.demand | (c) 2018 Dirk Lueth */ var SUPPORTED_ALGS=15;!function(r){"use strict";function m(r,e){this.highOrder=r,this.lowOrder=e}function R(r,e,n,t){var o,i,h,w="0123456789abcdef",d="",u=e/8;for(h=-1===n?3:0,o=0;o>>2]>>>8*(h+n*(o%4)),d+=w.charAt(i>>>4&15)+w.charAt(15&i);return t.outputUpper?d.toUpperCase():d}function b(r,e,n,t){var o,i,h,w,d,u,f="",a=e/8;for(u=-1===n?3:0,o=0;o>>2]:0,d=o+2>>2]:0,h=(r[o>>>2]>>>8*(u+n*(o%4))&255)<<16|(w>>>8*(u+n*((o+1)%4))&255)<<8|d>>>8*(u+n*((o+2)%4))&255,i=0;i<4;i+=1)f+=8*o+6*i<=e?"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(h>>>6*(3-i)&63):t.b64Pad;return f}function T(r,e,n){var t,o,i,h="",w=e/8;for(i=-1===n?3:0,t=0;t>>2]>>>8*(i+n*(t%4))&255,h+=String.fromCharCode(o);return h}function L(r,e,n){var t,o,i,h=e/8,w=new ArrayBuffer(h);for(i=new Uint8Array(w),o=-1===n?3:0,t=0;t>>2]>>>8*(o+n*(t%4))&255;return w}function k(r){var e,n={outputUpper:!1,b64Pad:"=",shakeLen:-1};if(e=r||{},n.outputUpper=e.outputUpper||!1,!0===e.hasOwnProperty("b64Pad")&&(n.b64Pad=e.b64Pad),!0===e.hasOwnProperty("shakeLen")&&0!=(8&SUPPORTED_ALGS)){if(e.shakeLen%8!=0)throw new Error("shakeLen must be a multiple of 8");n.shakeLen=e.shakeLen}if("boolean"!=typeof n.outputUpper)throw new Error("Invalid outputUpper formatting option");if("string"!=typeof n.b64Pad)throw new Error("Invalid b64Pad formatting option");return n}function y(r,n,t){var e;switch(n){case"UTF8":case"UTF16BE":case"UTF16LE":break;default:throw new Error("encoding must be UTF8, UTF16BE, or UTF16LE")}switch(r){case"HEX":e=function(r,e,n){return function(r,e,n,t){var o,i,h,w,d,u,f,a=r.length;if(0!=a%2)throw new Error("String of HEX type must be in byte increments");for(o=e||[0],u=(n=n||0)>>>3,f=-1===t?3:0,i=0;i>>1)+u)>>>2;o.length<=w;)o.push(0);o[w]|=h<<8*(f+t*(d%4))}return{value:o,binLen:4*a+n}}(r,e,n,t)};break;case"TEXT":e=function(r,g,e){return function(r,e,n,t,o){var i,h,w,d,u,f,a,O,l,s,c=0;if(i=g||[0],f=(t=t||0)>>>3,"UTF8"===e)for(l=-1===o?3:0,d=0;d>>6),w.push(128|63&h)):h<55296||57344<=h?w.push(224|h>>>12,128|h>>>6&63,128|63&h):(d+=1,h=65536+((1023&h)<<10|1023&r.charCodeAt(d)),w.push(240|h>>>18,128|h>>>12&63,128|h>>>6&63,128|63&h)),u=0;u>>2;i.length<=a;)i.push(0);i[a]|=w[u]<<8*(l+o*(O%4)),c+=1}else if("UTF16BE"===e||"UTF16LE"===e)for(l=-1===o?2:0,s="UTF16LE"===e&&1!==o||"UTF16LE"!==e&&1===o,d=0;d>>8),a=(O=c+f)>>>2;i.length<=a;)i.push(0);i[a]|=h<<8*(l+o*(O%4)),c+=2}return{value:i,binLen:8*c+t}}(r,n,0,e,t)};break;case"B64":e=function(r,e,n){return function(r,e,n,t){var o,i,h,w,d,u,f,a,O,l,s=0;if(-1===r.search(/^[a-zA-Z0-9=+\/]+$/))throw new Error("Invalid character in base-64 string");if(u=r.indexOf("="),r=r.replace(/\=/g,""),-1!==u&&u>> 3;\n\t\tif (\"UTF8\" === utfType) {\n\t\t\tshiftModifier = -1 === bigEndianMod ? 3 : 0;\n\t\t\tfor (i = 0; i < str.length; i += 1) {\n\t\t\t\tcodePntArr = [];\n\t\t\t\tif (128 > (codePnt = str.charCodeAt(i))) codePntArr.push(codePnt);\n\t\t\t\telse if (2048 > codePnt) {\n\t\t\t\t\tcodePntArr.push(192 | codePnt >>> 6);\n\t\t\t\t\tcodePntArr.push(128 | 63 & codePnt)\n\t\t\t\t} else if (55296 > codePnt || 57344 <= codePnt) codePntArr.push(224 | codePnt >>> 12, 128 | codePnt >>> 6 & 63, 128 | 63 & codePnt);\n\t\t\t\telse {\n\t\t\t\t\ti += 1;\n\t\t\t\t\tcodePnt = 65536 + ((1023 & codePnt) << 10 | 1023 & str.charCodeAt(i));\n\t\t\t\t\tcodePntArr.push(240 | codePnt >>> 18, 128 | codePnt >>> 12 & 63, 128 | codePnt >>> 6 & 63, 128 | 63 & codePnt)\n\t\t\t\t}\n\t\t\t\tfor (j = 0; j < codePntArr.length; j += 1) {\n\t\t\t\t\tintOffset = (byteOffset = byteCnt + existingByteLen) >>> 2;\n\t\t\t\t\twhile (packed.length <= intOffset) packed.push(0);\n\t\t\t\t\tpacked[intOffset] |= codePntArr[j] << 8 * (shiftModifier + bigEndianMod * (byteOffset % 4));\n\t\t\t\t\tbyteCnt += 1\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (\"UTF16BE\" === utfType || \"UTF16LE\" === utfType) {\n\t\t\tshiftModifier = -1 === bigEndianMod ? 2 : 0;\n\t\t\ttransposeBytes = \"UTF16LE\" === utfType && 1 !== bigEndianMod || \"UTF16LE\" !== utfType && 1 === bigEndianMod;\n\t\t\tfor (i = 0; i < str.length; i += 1) {\n\t\t\t\tcodePnt = str.charCodeAt(i);\n\t\t\t\tif (true === transposeBytes) codePnt = (j = 255 & codePnt) << 8 | codePnt >>> 8;\n\t\t\t\tintOffset = (byteOffset = byteCnt + existingByteLen) >>> 2;\n\t\t\t\twhile (packed.length <= intOffset) packed.push(0);\n\t\t\t\tpacked[intOffset] |= codePnt << 8 * (shiftModifier + bigEndianMod * (byteOffset % 4));\n\t\t\t\tbyteCnt += 2\n\t\t\t}\n\t\t}\n\t\treturn {\n\t\t\tvalue: packed,\n\t\t\tbinLen: 8 * byteCnt + existingPackedLen\n\t\t}\n\t}\n\n\tfunction hex2packed(str, existingPacked, existingPackedLen, bigEndianMod) {\n\t\tvar packed, i, num, intOffset, byteOffset, existingByteLen, shiftModifier, length = str.length;\n\t\tif (0 !== length % 2) throw new Error(\"String of HEX type must be in byte increments\");\n\t\tpacked = existingPacked || [0];\n\t\texistingByteLen = (existingPackedLen = existingPackedLen || 0) >>> 3;\n\t\tshiftModifier = -1 === bigEndianMod ? 3 : 0;\n\t\tfor (i = 0; i < length; i += 2) {\n\t\t\tnum = parseInt(str.substr(i, 2), 16);\n\t\t\tif (!isNaN(num)) {\n\t\t\t\tintOffset = (byteOffset = (i >>> 1) + existingByteLen) >>> 2;\n\t\t\t\twhile (packed.length <= intOffset) packed.push(0);\n\t\t\t\tpacked[intOffset] |= num << 8 * (shiftModifier + bigEndianMod * (byteOffset % 4))\n\t\t\t} else throw new Error(\"String of HEX type contains invalid characters\")\n\t\t}\n\t\treturn {\n\t\t\tvalue: packed,\n\t\t\tbinLen: 4 * length + existingPackedLen\n\t\t}\n\t}\n\n\tfunction bytes2packed(str, existingPacked, existingPackedLen, bigEndianMod) {\n\t\tvar packed, codePnt, i, existingByteLen, intOffset, byteOffset, shiftModifier;\n\t\tpacked = existingPacked || [0];\n\t\texistingByteLen = (existingPackedLen = existingPackedLen || 0) >>> 3;\n\t\tshiftModifier = -1 === bigEndianMod ? 3 : 0;\n\t\tfor (i = 0; i < str.length; i += 1) {\n\t\t\tcodePnt = str.charCodeAt(i);\n\t\t\tintOffset = (byteOffset = i + existingByteLen) >>> 2;\n\t\t\tif (packed.length <= intOffset) packed.push(0);\n\t\t\tpacked[intOffset] |= codePnt << 8 * (shiftModifier + bigEndianMod * (byteOffset % 4))\n\t\t}\n\t\treturn {\n\t\t\tvalue: packed,\n\t\t\tbinLen: 8 * str.length + existingPackedLen\n\t\t}\n\t}\n\n\tfunction b642packed(str, existingPacked, existingPackedLen, bigEndianMod) {\n\t\tvar packed, i, j, tmpInt, strPart, firstEqual, existingByteLen, intOffset, byteOffset, shiftModifier, byteCnt = 0,\n\t\t\tb64Tab = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";\n\t\tif (-1 === str.search(/^[a-zA-Z0-9=+\\/]+$/)) throw new Error(\"Invalid character in base-64 string\");\n\t\tfirstEqual = str.indexOf(\"=\");\n\t\tstr = str.replace(/\\=/g, \"\");\n\t\tif (-1 !== firstEqual && firstEqual < str.length) throw new Error(\"Invalid '=' found in base-64 string\");\n\t\tpacked = existingPacked || [0];\n\t\texistingByteLen = (existingPackedLen = existingPackedLen || 0) >>> 3;\n\t\tshiftModifier = -1 === bigEndianMod ? 3 : 0;\n\t\tfor (i = 0; i < str.length; i += 4) {\n\t\t\tstrPart = str.substr(i, 4);\n\t\t\tfor (j = tmpInt = 0; j < strPart.length; j += 1) tmpInt |= b64Tab.indexOf(strPart[j]) << 18 - 6 * j;\n\t\t\tfor (j = 0; j < strPart.length - 1; j += 1) {\n\t\t\t\tintOffset = (byteOffset = byteCnt + existingByteLen) >>> 2;\n\t\t\t\twhile (packed.length <= intOffset) packed.push(0);\n\t\t\t\tpacked[intOffset] |= (tmpInt >>> 16 - 8 * j & 255) << 8 * (shiftModifier + bigEndianMod * (byteOffset % 4));\n\t\t\t\tbyteCnt += 1\n\t\t\t}\n\t\t}\n\t\treturn {\n\t\t\tvalue: packed,\n\t\t\tbinLen: 8 * byteCnt + existingPackedLen\n\t\t}\n\t}\n\n\tfunction arraybuffer2packed(arr, existingPacked, existingPackedLen, bigEndianMod) {\n\t\tvar packed, i, existingByteLen, intOffset, byteOffset, shiftModifier, arrView;\n\t\tpacked = existingPacked || [0];\n\t\texistingByteLen = (existingPackedLen = existingPackedLen || 0) >>> 3;\n\t\tshiftModifier = -1 === bigEndianMod ? 3 : 0;\n\t\tarrView = new Uint8Array(arr);\n\t\tfor (i = 0; i < arr.byteLength; i += 1) {\n\t\t\tintOffset = (byteOffset = i + existingByteLen) >>> 2;\n\t\t\tif (packed.length <= intOffset) packed.push(0);\n\t\t\tpacked[intOffset] |= arrView[i] << 8 * (shiftModifier + bigEndianMod * (byteOffset % 4))\n\t\t}\n\t\treturn {\n\t\t\tvalue: packed,\n\t\t\tbinLen: 8 * arr.byteLength + existingPackedLen\n\t\t}\n\t}\n\n\tfunction packed2hex(packed, outputLength, bigEndianMod, formatOpts) {\n\t\tvar i, srcByte, shiftModifier, hex_tab = \"0123456789abcdef\",\n\t\t\tstr = \"\",\n\t\t\tlength = outputLength / 8;\n\t\tshiftModifier = -1 === bigEndianMod ? 3 : 0;\n\t\tfor (i = 0; i < length; i += 1) {\n\t\t\tsrcByte = packed[i >>> 2] >>> 8 * (shiftModifier + bigEndianMod * (i % 4));\n\t\t\tstr += hex_tab.charAt(srcByte >>> 4 & 15) + hex_tab.charAt(15 & srcByte)\n\t\t}\n\t\treturn formatOpts.outputUpper ? str.toUpperCase() : str\n\t}\n\n\tfunction packed2b64(packed, outputLength, bigEndianMod, formatOpts) {\n\t\tvar i, j, triplet, int1, int2, shiftModifier, str = \"\",\n\t\t\tlength = outputLength / 8,\n\t\t\tb64Tab = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";\n\t\tshiftModifier = -1 === bigEndianMod ? 3 : 0;\n\t\tfor (i = 0; i < length; i += 3) {\n\t\t\tint1 = i + 1 < length ? packed[i + 1 >>> 2] : 0;\n\t\t\tint2 = i + 2 < length ? packed[i + 2 >>> 2] : 0;\n\t\t\ttriplet = (packed[i >>> 2] >>> 8 * (shiftModifier + bigEndianMod * (i % 4)) & 255) << 16 | (int1 >>> 8 * (shiftModifier + bigEndianMod * ((i + 1) % 4)) & 255) << 8 | int2 >>> 8 * (shiftModifier + bigEndianMod * ((i + 2) % 4)) & 255;\n\t\t\tfor (j = 0; j < 4; j += 1)\n\t\t\t\tif (8 * i + 6 * j <= outputLength) str += b64Tab.charAt(triplet >>> 6 * (3 - j) & 63);\n\t\t\t\telse str += formatOpts.b64Pad\n\t\t}\n\t\treturn str\n\t}\n\n\tfunction packed2bytes(packed, outputLength, bigEndianMod) {\n\t\tvar i, srcByte, shiftModifier, str = \"\",\n\t\t\tlength = outputLength / 8;\n\t\tshiftModifier = -1 === bigEndianMod ? 3 : 0;\n\t\tfor (i = 0; i < length; i += 1) {\n\t\t\tsrcByte = packed[i >>> 2] >>> 8 * (shiftModifier + bigEndianMod * (i % 4)) & 255;\n\t\t\tstr += String.fromCharCode(srcByte)\n\t\t}\n\t\treturn str\n\t}\n\n\tfunction packed2arraybuffer(packed, outputLength, bigEndianMod) {\n\t\tvar i, shiftModifier, arrView, length = outputLength / 8,\n\t\t\tretVal = new ArrayBuffer(length);\n\t\tarrView = new Uint8Array(retVal);\n\t\tshiftModifier = -1 === bigEndianMod ? 3 : 0;\n\t\tfor (i = 0; i < length; i += 1) arrView[i] = packed[i >>> 2] >>> 8 * (shiftModifier + bigEndianMod * (i % 4)) & 255;\n\t\treturn retVal\n\t}\n\n\tfunction getOutputOpts(options) {\n\t\tvar outputOptions, retVal = {\n\t\t\toutputUpper: false,\n\t\t\tb64Pad: \"=\",\n\t\t\tshakeLen: -1\n\t\t};\n\t\toutputOptions = options || {};\n\t\tretVal.outputUpper = outputOptions.outputUpper || false;\n\t\tif (true === outputOptions.hasOwnProperty(\"b64Pad\")) retVal.b64Pad = outputOptions.b64Pad;\n\t\tif (true === outputOptions.hasOwnProperty(\"shakeLen\") && 0 !== (8 & SUPPORTED_ALGS)) {\n\t\t\tif (outputOptions.shakeLen % 8 !== 0) throw new Error(\"shakeLen must be a multiple of 8\");\n\t\t\tretVal.shakeLen = outputOptions.shakeLen\n\t\t}\n\t\tif (\"boolean\" !== typeof retVal.outputUpper) throw new Error(\"Invalid outputUpper formatting option\");\n\t\tif (\"string\" !== typeof retVal.b64Pad) throw new Error(\"Invalid b64Pad formatting option\");\n\t\treturn retVal\n\t}\n\n\tfunction getStrConverter(format, utfType, bigEndianMod) {\n\t\tvar retVal;\n\t\tswitch (utfType) {\n\t\tcase \"UTF8\":\n\t\tcase \"UTF16BE\":\n\t\tcase \"UTF16LE\":\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tthrow new Error(\"encoding must be UTF8, UTF16BE, or UTF16LE\")\n\t\t}\n\t\tswitch (format) {\n\t\tcase \"HEX\":\n\t\t\tretVal = function (str, existingBin, existingBinLen) {\n\t\t\t\treturn hex2packed(str, existingBin, existingBinLen, bigEndianMod)\n\t\t\t};\n\t\t\tbreak;\n\t\tcase \"TEXT\":\n\t\t\tretVal = function (str, existingBin, existingBinLen) {\n\t\t\t\treturn str2packed(str, utfType, existingBin, existingBinLen, bigEndianMod)\n\t\t\t};\n\t\t\tbreak;\n\t\tcase \"B64\":\n\t\t\tretVal = function (str, existingBin, existingBinLen) {\n\t\t\t\treturn b642packed(str, existingBin, existingBinLen, bigEndianMod)\n\t\t\t};\n\t\t\tbreak;\n\t\tcase \"BYTES\":\n\t\t\tretVal = function (str, existingBin, existingBinLen) {\n\t\t\t\treturn bytes2packed(str, existingBin, existingBinLen, bigEndianMod)\n\t\t\t};\n\t\t\tbreak;\n\t\tcase \"ARRAYBUFFER\":\n\t\t\ttry {\n\t\t\t\tretVal = new ArrayBuffer(0)\n\t\t\t} catch (ignore) {\n\t\t\t\tthrow new Error(\"ARRAYBUFFER not supported by this environment\")\n\t\t\t}\n\t\t\tretVal = function (arr, existingBin, existingBinLen) {\n\t\t\t\treturn arraybuffer2packed(arr, existingBin, existingBinLen, bigEndianMod)\n\t\t\t};\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tthrow new Error(\"format must be HEX, TEXT, B64, BYTES, or ARRAYBUFFER\")\n\t\t}\n\t\treturn retVal\n\t}\n\n\tfunction rotl_32(x, n) {\n\t\treturn x << n | x >>> 32 - n\n\t}\n\n\tfunction rotl_64(x, n) {\n\t\tif (n > 32) {\n\t\t\tn -= 32;\n\t\t\treturn new Int_64(x.lowOrder << n | x.highOrder >>> 32 - n, x.highOrder << n | x.lowOrder >>> 32 - n)\n\t\t} else if (0 !== n) return new Int_64(x.highOrder << n | x.lowOrder >>> 32 - n, x.lowOrder << n | x.highOrder >>> 32 - n);\n\t\telse return x\n\t}\n\n\tfunction rotr_32(x, n) {\n\t\treturn x >>> n | x << 32 - n\n\t}\n\n\tfunction rotr_64(x, n) {\n\t\tvar retVal = null,\n\t\t\ttmp = new Int_64(x.highOrder, x.lowOrder);\n\t\tif (32 >= n) retVal = new Int_64(tmp.highOrder >>> n | tmp.lowOrder << 32 - n & 4294967295, tmp.lowOrder >>> n | tmp.highOrder << 32 - n & 4294967295);\n\t\telse retVal = new Int_64(tmp.lowOrder >>> n - 32 | tmp.highOrder << 64 - n & 4294967295, tmp.highOrder >>> n - 32 | tmp.lowOrder << 64 - n & 4294967295);\n\t\treturn retVal\n\t}\n\n\tfunction shr_32(x, n) {\n\t\treturn x >>> n\n\t}\n\n\tfunction shr_64(x, n) {\n\t\tvar retVal = null;\n\t\tif (32 >= n) retVal = new Int_64(x.highOrder >>> n, x.lowOrder >>> n | x.highOrder << 32 - n & 4294967295);\n\t\telse retVal = new Int_64(0, x.highOrder >>> n - 32);\n\t\treturn retVal\n\t}\n\n\tfunction parity_32(x, y, z) {\n\t\treturn x ^ y ^ z\n\t}\n\n\tfunction ch_32(x, y, z) {\n\t\treturn x & y ^ ~x & z\n\t}\n\n\tfunction ch_64(x, y, z) {\n\t\treturn new Int_64(x.highOrder & y.highOrder ^ ~x.highOrder & z.highOrder, x.lowOrder & y.lowOrder ^ ~x.lowOrder & z.lowOrder)\n\t}\n\n\tfunction maj_32(x, y, z) {\n\t\treturn x & y ^ x & z ^ y & z\n\t}\n\n\tfunction maj_64(x, y, z) {\n\t\treturn new Int_64(x.highOrder & y.highOrder ^ x.highOrder & z.highOrder ^ y.highOrder & z.highOrder, x.lowOrder & y.lowOrder ^ x.lowOrder & z.lowOrder ^ y.lowOrder & z.lowOrder)\n\t}\n\n\tfunction sigma0_32(x) {\n\t\treturn rotr_32(x, 2) ^ rotr_32(x, 13) ^ rotr_32(x, 22)\n\t}\n\n\tfunction sigma0_64(x) {\n\t\tvar rotr28 = rotr_64(x, 28),\n\t\t\trotr34 = rotr_64(x, 34),\n\t\t\trotr39 = rotr_64(x, 39);\n\t\treturn new Int_64(rotr28.highOrder ^ rotr34.highOrder ^ rotr39.highOrder, rotr28.lowOrder ^ rotr34.lowOrder ^ rotr39.lowOrder)\n\t}\n\n\tfunction sigma1_32(x) {\n\t\treturn rotr_32(x, 6) ^ rotr_32(x, 11) ^ rotr_32(x, 25)\n\t}\n\n\tfunction sigma1_64(x) {\n\t\tvar rotr14 = rotr_64(x, 14),\n\t\t\trotr18 = rotr_64(x, 18),\n\t\t\trotr41 = rotr_64(x, 41);\n\t\treturn new Int_64(rotr14.highOrder ^ rotr18.highOrder ^ rotr41.highOrder, rotr14.lowOrder ^ rotr18.lowOrder ^ rotr41.lowOrder)\n\t}\n\n\tfunction gamma0_32(x) {\n\t\treturn rotr_32(x, 7) ^ rotr_32(x, 18) ^ shr_32(x, 3)\n\t}\n\n\tfunction gamma0_64(x) {\n\t\tvar rotr1 = rotr_64(x, 1),\n\t\t\trotr8 = rotr_64(x, 8),\n\t\t\tshr7 = shr_64(x, 7);\n\t\treturn new Int_64(rotr1.highOrder ^ rotr8.highOrder ^ shr7.highOrder, rotr1.lowOrder ^ rotr8.lowOrder ^ shr7.lowOrder)\n\t}\n\n\tfunction gamma1_32(x) {\n\t\treturn rotr_32(x, 17) ^ rotr_32(x, 19) ^ shr_32(x, 10)\n\t}\n\n\tfunction gamma1_64(x) {\n\t\tvar rotr19 = rotr_64(x, 19),\n\t\t\trotr61 = rotr_64(x, 61),\n\t\t\tshr6 = shr_64(x, 6);\n\t\treturn new Int_64(rotr19.highOrder ^ rotr61.highOrder ^ shr6.highOrder, rotr19.lowOrder ^ rotr61.lowOrder ^ shr6.lowOrder)\n\t}\n\n\tfunction safeAdd_32_2(a, b) {\n\t\tvar lsw = (65535 & a) + (65535 & b);\n\t\treturn (65535 & (a >>> 16) + (b >>> 16) + (lsw >>> 16)) << 16 | 65535 & lsw\n\t}\n\n\tfunction safeAdd_32_4(a, b, c, d) {\n\t\tvar lsw = (65535 & a) + (65535 & b) + (65535 & c) + (65535 & d);\n\t\treturn (65535 & (a >>> 16) + (b >>> 16) + (c >>> 16) + (d >>> 16) + (lsw >>> 16)) << 16 | 65535 & lsw\n\t}\n\n\tfunction safeAdd_32_5(a, b, c, d, e) {\n\t\tvar lsw = (65535 & a) + (65535 & b) + (65535 & c) + (65535 & d) + (65535 & e);\n\t\treturn (65535 & (a >>> 16) + (b >>> 16) + (c >>> 16) + (d >>> 16) + (e >>> 16) + (lsw >>> 16)) << 16 | 65535 & lsw\n\t}\n\n\tfunction safeAdd_64_2(x, y) {\n\t\tvar lsw, msw, lowOrder;\n\t\tlsw = (65535 & x.lowOrder) + (65535 & y.lowOrder);\n\t\tlowOrder = (65535 & (msw = (x.lowOrder >>> 16) + (y.lowOrder >>> 16) + (lsw >>> 16))) << 16 | 65535 & lsw;\n\t\tlsw = (65535 & x.highOrder) + (65535 & y.highOrder) + (msw >>> 16);\n\t\treturn new Int_64((65535 & (msw = (x.highOrder >>> 16) + (y.highOrder >>> 16) + (lsw >>> 16))) << 16 | 65535 & lsw, lowOrder)\n\t}\n\n\tfunction safeAdd_64_4(a, b, c, d) {\n\t\tvar lsw, msw, lowOrder;\n\t\tlsw = (65535 & a.lowOrder) + (65535 & b.lowOrder) + (65535 & c.lowOrder) + (65535 & d.lowOrder);\n\t\tlowOrder = (65535 & (msw = (a.lowOrder >>> 16) + (b.lowOrder >>> 16) + (c.lowOrder >>> 16) + (d.lowOrder >>> 16) + (lsw >>> 16))) << 16 | 65535 & lsw;\n\t\tlsw = (65535 & a.highOrder) + (65535 & b.highOrder) + (65535 & c.highOrder) + (65535 & d.highOrder) + (msw >>> 16);\n\t\treturn new Int_64((65535 & (msw = (a.highOrder >>> 16) + (b.highOrder >>> 16) + (c.highOrder >>> 16) + (d.highOrder >>> 16) + (lsw >>> 16))) << 16 | 65535 & lsw, lowOrder)\n\t}\n\n\tfunction safeAdd_64_5(a, b, c, d, e) {\n\t\tvar lsw, msw, lowOrder;\n\t\tlsw = (65535 & a.lowOrder) + (65535 & b.lowOrder) + (65535 & c.lowOrder) + (65535 & d.lowOrder) + (65535 & e.lowOrder);\n\t\tlowOrder = (65535 & (msw = (a.lowOrder >>> 16) + (b.lowOrder >>> 16) + (c.lowOrder >>> 16) + (d.lowOrder >>> 16) + (e.lowOrder >>> 16) + (lsw >>> 16))) << 16 | 65535 & lsw;\n\t\tlsw = (65535 & a.highOrder) + (65535 & b.highOrder) + (65535 & c.highOrder) + (65535 & d.highOrder) + (65535 & e.highOrder) + (msw >>> 16);\n\t\treturn new Int_64((65535 & (msw = (a.highOrder >>> 16) + (b.highOrder >>> 16) + (c.highOrder >>> 16) + (d.highOrder >>> 16) + (e.highOrder >>> 16) + (lsw >>> 16))) << 16 | 65535 & lsw, lowOrder)\n\t}\n\n\tfunction xor_64_2(a, b) {\n\t\treturn new Int_64(a.highOrder ^ b.highOrder, a.lowOrder ^ b.lowOrder)\n\t}\n\n\tfunction xor_64_5(a, b, c, d, e) {\n\t\treturn new Int_64(a.highOrder ^ b.highOrder ^ c.highOrder ^ d.highOrder ^ e.highOrder, a.lowOrder ^ b.lowOrder ^ c.lowOrder ^ d.lowOrder ^ e.lowOrder)\n\t}\n\n\tfunction cloneSHA3State(state) {\n\t\tvar i, clone = [];\n\t\tfor (i = 0; i < 5; i += 1) clone[i] = state[i].slice();\n\t\treturn clone\n\t}\n\n\tfunction getNewState(variant) {\n\t\tvar H_trunc, H_full, i, retVal = [];\n\t\tif (\"SHA-1\" === variant && 0 !== (1 & SUPPORTED_ALGS)) retVal = [1732584193, 4023233417, 2562383102, 271733878, 3285377520];\n\t\telse if (0 === variant.lastIndexOf(\"SHA-\", 0) && 0 !== (6 & SUPPORTED_ALGS)) {\n\t\t\tH_trunc = [3238371032, 914150663, 812702999, 4144912697, 4290775857, 1750603025, 1694076839, 3204075428];\n\t\t\tH_full = [1779033703, 3144134277, 1013904242, 2773480762, 1359893119, 2600822924, 528734635, 1541459225];\n\t\t\tswitch (variant) {\n\t\t\tcase \"SHA-224\":\n\t\t\t\tretVal = H_trunc;\n\t\t\t\tbreak;\n\t\t\tcase \"SHA-256\":\n\t\t\t\tretVal = H_full;\n\t\t\t\tbreak;\n\t\t\tcase \"SHA-384\":\n\t\t\t\tretVal = [new Int_64(3418070365, H_trunc[0]), new Int_64(1654270250, H_trunc[1]), new Int_64(2438529370, H_trunc[2]), new Int_64(355462360, H_trunc[3]), new Int_64(1731405415, H_trunc[4]), new Int_64(41048885895, H_trunc[5]), new Int_64(3675008525, H_trunc[6]), new Int_64(1203062813, H_trunc[7])];\n\t\t\t\tbreak;\n\t\t\tcase \"SHA-512\":\n\t\t\t\tretVal = [new Int_64(H_full[0], 4089235720), new Int_64(H_full[1], 2227873595), new Int_64(H_full[2], 4271175723), new Int_64(H_full[3], 1595750129), new Int_64(H_full[4], 2917565137), new Int_64(H_full[5], 725511199), new Int_64(H_full[6], 4215389547), new Int_64(H_full[7], 327033209)];\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tthrow new Error(\"Unknown SHA variant\")\n\t\t\t}\n\t\t} else if ((0 === variant.lastIndexOf(\"SHA3-\", 0) || 0 === variant.lastIndexOf(\"SHAKE\", 0)) && 0 !== (8 & SUPPORTED_ALGS))\n\t\t\tfor (i = 0; i < 5; i += 1) retVal[i] = [new Int_64(0, 0), new Int_64(0, 0), new Int_64(0, 0), new Int_64(0, 0), new Int_64(0, 0)];\n\t\telse throw new Error(\"No SHA variants supported\");\n\t\treturn retVal\n\t}\n\n\tfunction roundSHA1(block, H) {\n\t\tvar a, b, c, d, e, T, t, W = [],\n\t\t\tch = ch_32,\n\t\t\tparity = parity_32,\n\t\t\tmaj = maj_32,\n\t\t\trotl = rotl_32,\n\t\t\tsafeAdd_2 = safeAdd_32_2,\n\t\t\tsafeAdd_5 = safeAdd_32_5;\n\t\ta = H[0];\n\t\tb = H[1];\n\t\tc = H[2];\n\t\td = H[3];\n\t\te = H[4];\n\t\tfor (t = 0; t < 80; t += 1) {\n\t\t\tif (t < 16) W[t] = block[t];\n\t\t\telse W[t] = rotl(W[t - 3] ^ W[t - 8] ^ W[t - 14] ^ W[t - 16], 1);\n\t\t\tif (t < 20) T = safeAdd_5(rotl(a, 5), ch(b, c, d), e, 1518500249, W[t]);\n\t\t\telse if (t < 40) T = safeAdd_5(rotl(a, 5), parity(b, c, d), e, 1859775393, W[t]);\n\t\t\telse if (t < 60) T = safeAdd_5(rotl(a, 5), maj(b, c, d), e, 2400959708, W[t]);\n\t\t\telse T = safeAdd_5(rotl(a, 5), parity(b, c, d), e, 3395469782, W[t]);\n\t\t\te = d;\n\t\t\td = c;\n\t\t\tc = rotl(b, 30);\n\t\t\tb = a;\n\t\t\ta = T\n\t\t}\n\t\tH[0] = safeAdd_2(a, H[0]);\n\t\tH[1] = safeAdd_2(b, H[1]);\n\t\tH[2] = safeAdd_2(c, H[2]);\n\t\tH[3] = safeAdd_2(d, H[3]);\n\t\tH[4] = safeAdd_2(e, H[4]);\n\t\treturn H\n\t}\n\n\tfunction finalizeSHA1(remainder, remainderBinLen, processedBinLen, H, outputLen) {\n\t\tvar i, appendedMessageLength, offset, totalLen;\n\t\toffset = 15 + (remainderBinLen + 65 >>> 9 << 4);\n\t\twhile (remainder.length <= offset) remainder.push(0);\n\t\tremainder[remainderBinLen >>> 5] |= 128 << 24 - remainderBinLen % 32;\n\t\ttotalLen = remainderBinLen + processedBinLen;\n\t\tremainder[offset] = 4294967295 & totalLen;\n\t\tremainder[offset - 1] = totalLen / TWO_PWR_32 | 0;\n\t\tappendedMessageLength = remainder.length;\n\t\tfor (i = 0; i < appendedMessageLength; i += 16) H = roundSHA1(remainder.slice(i, i + 16), H);\n\t\treturn H\n\t}\n\n\tfunction roundSHA2(block, H, variant) {\n\t\tvar a, b, c, d, e, f, g, h, T1, T2, numRounds, t, binaryStringMult, safeAdd_2, safeAdd_4, safeAdd_5, gamma0, gamma1, sigma0, sigma1, ch, maj, Int, int1, int2, offset, K, W = [];\n\t\tif ((\"SHA-224\" === variant || \"SHA-256\" === variant) && 0 !== (2 & SUPPORTED_ALGS)) {\n\t\t\tnumRounds = 64;\n\t\t\tbinaryStringMult = 1;\n\t\t\tInt = Number;\n\t\t\tsafeAdd_2 = safeAdd_32_2;\n\t\t\tsafeAdd_4 = safeAdd_32_4;\n\t\t\tsafeAdd_5 = safeAdd_32_5;\n\t\t\tgamma0 = gamma0_32;\n\t\t\tgamma1 = gamma1_32;\n\t\t\tsigma0 = sigma0_32;\n\t\t\tsigma1 = sigma1_32;\n\t\t\tmaj = maj_32;\n\t\t\tch = ch_32;\n\t\t\tK = K_sha2\n\t\t} else if ((\"SHA-384\" === variant || \"SHA-512\" === variant) && 0 !== (4 & SUPPORTED_ALGS)) {\n\t\t\tnumRounds = 80;\n\t\t\tbinaryStringMult = 2;\n\t\t\tInt = Int_64;\n\t\t\tsafeAdd_2 = safeAdd_64_2;\n\t\t\tsafeAdd_4 = safeAdd_64_4;\n\t\t\tsafeAdd_5 = safeAdd_64_5;\n\t\t\tgamma0 = gamma0_64;\n\t\t\tgamma1 = gamma1_64;\n\t\t\tsigma0 = sigma0_64;\n\t\t\tsigma1 = sigma1_64;\n\t\t\tmaj = maj_64;\n\t\t\tch = ch_64;\n\t\t\tK = K_sha512\n\t\t} else throw new Error(\"Unexpected error in SHA-2 implementation\");\n\t\ta = H[0];\n\t\tb = H[1];\n\t\tc = H[2];\n\t\td = H[3];\n\t\te = H[4];\n\t\tf = H[5];\n\t\tg = H[6];\n\t\th = H[7];\n\t\tfor (t = 0; t < numRounds; t += 1) {\n\t\t\tif (t < 16) {\n\t\t\t\toffset = t * binaryStringMult;\n\t\t\t\tint1 = block.length <= offset ? 0 : block[offset];\n\t\t\t\tint2 = block.length <= offset + 1 ? 0 : block[offset + 1];\n\t\t\t\tW[t] = new Int(int1, int2)\n\t\t\t} else W[t] = safeAdd_4(gamma1(W[t - 2]), W[t - 7], gamma0(W[t - 15]), W[t - 16]);\n\t\t\tT1 = safeAdd_5(h, sigma1(e), ch(e, f, g), K[t], W[t]);\n\t\t\tT2 = safeAdd_2(sigma0(a), maj(a, b, c));\n\t\t\th = g;\n\t\t\tg = f;\n\t\t\tf = e;\n\t\t\te = safeAdd_2(d, T1);\n\t\t\td = c;\n\t\t\tc = b;\n\t\t\tb = a;\n\t\t\ta = safeAdd_2(T1, T2)\n\t\t}\n\t\tH[0] = safeAdd_2(a, H[0]);\n\t\tH[1] = safeAdd_2(b, H[1]);\n\t\tH[2] = safeAdd_2(c, H[2]);\n\t\tH[3] = safeAdd_2(d, H[3]);\n\t\tH[4] = safeAdd_2(e, H[4]);\n\t\tH[5] = safeAdd_2(f, H[5]);\n\t\tH[6] = safeAdd_2(g, H[6]);\n\t\tH[7] = safeAdd_2(h, H[7]);\n\t\treturn H\n\t}\n\n\tfunction finalizeSHA2(remainder, remainderBinLen, processedBinLen, H, variant, outputLen) {\n\t\tvar i, appendedMessageLength, offset, retVal, binaryStringInc, totalLen;\n\t\tif ((\"SHA-224\" === variant || \"SHA-256\" === variant) && 0 !== (2 & SUPPORTED_ALGS)) {\n\t\t\toffset = 15 + (remainderBinLen + 65 >>> 9 << 4);\n\t\t\tbinaryStringInc = 16\n\t\t} else if ((\"SHA-384\" === variant || \"SHA-512\" === variant) && 0 !== (4 & SUPPORTED_ALGS)) {\n\t\t\toffset = 31 + (remainderBinLen + 129 >>> 10 << 5);\n\t\t\tbinaryStringInc = 32\n\t\t} else throw new Error(\"Unexpected error in SHA-2 implementation\");\n\t\twhile (remainder.length <= offset) remainder.push(0);\n\t\tremainder[remainderBinLen >>> 5] |= 128 << 24 - remainderBinLen % 32;\n\t\ttotalLen = remainderBinLen + processedBinLen;\n\t\tremainder[offset] = 4294967295 & totalLen;\n\t\tremainder[offset - 1] = totalLen / TWO_PWR_32 | 0;\n\t\tappendedMessageLength = remainder.length;\n\t\tfor (i = 0; i < appendedMessageLength; i += binaryStringInc) H = roundSHA2(remainder.slice(i, i + binaryStringInc), H, variant);\n\t\tif (\"SHA-224\" === variant && 0 !== (2 & SUPPORTED_ALGS)) retVal = [H[0], H[1], H[2], H[3], H[4], H[5], H[6]];\n\t\telse if (\"SHA-256\" === variant && 0 !== (2 & SUPPORTED_ALGS)) retVal = H;\n\t\telse if (\"SHA-384\" === variant && 0 !== (4 & SUPPORTED_ALGS)) retVal = [H[0].highOrder, H[0].lowOrder, H[1].highOrder, H[1].lowOrder, H[2].highOrder, H[2].lowOrder, H[3].highOrder, H[3].lowOrder, H[4].highOrder, H[4].lowOrder, H[5].highOrder, H[5].lowOrder];\n\t\telse if (\"SHA-512\" === variant && 0 !== (4 & SUPPORTED_ALGS)) retVal = [H[0].highOrder, H[0].lowOrder, H[1].highOrder, H[1].lowOrder, H[2].highOrder, H[2].lowOrder, H[3].highOrder, H[3].lowOrder, H[4].highOrder, H[4].lowOrder, H[5].highOrder, H[5].lowOrder, H[6].highOrder, H[6].lowOrder, H[7].highOrder, H[7].lowOrder];\n\t\telse throw new Error(\"Unexpected error in SHA-2 implementation\");\n\t\treturn retVal\n\t}\n\n\tfunction roundSHA3(block, state) {\n\t\tvar round, x, y, B, C = [],\n\t\t\tD = [];\n\t\tif (null !== block)\n\t\t\tfor (x = 0; x < block.length; x += 2) state[(x >>> 1) % 5][(x >>> 1) / 5 | 0] = xor_64_2(state[(x >>> 1) % 5][(x >>> 1) / 5 | 0], new Int_64(block[x + 1], block[x]));\n\t\tfor (round = 0; round < 24; round += 1) {\n\t\t\tB = getNewState(\"SHA3-\");\n\t\t\tfor (x = 0; x < 5; x += 1) C[x] = xor_64_5(state[x][0], state[x][1], state[x][2], state[x][3], state[x][4]);\n\t\t\tfor (x = 0; x < 5; x += 1) D[x] = xor_64_2(C[(x + 4) % 5], rotl_64(C[(x + 1) % 5], 1));\n\t\t\tfor (x = 0; x < 5; x += 1)\n\t\t\t\tfor (y = 0; y < 5; y += 1) state[x][y] = xor_64_2(state[x][y], D[x]);\n\t\t\tfor (x = 0; x < 5; x += 1)\n\t\t\t\tfor (y = 0; y < 5; y += 1) B[y][(2 * x + 3 * y) % 5] = rotl_64(state[x][y], r_sha3[x][y]);\n\t\t\tfor (x = 0; x < 5; x += 1)\n\t\t\t\tfor (y = 0; y < 5; y += 1) state[x][y] = xor_64_2(B[x][y], new Int_64(~B[(x + 1) % 5][y].highOrder & B[(x + 2) % 5][y].highOrder, ~B[(x + 1) % 5][y].lowOrder & B[(x + 2) % 5][y].lowOrder));\n\t\t\tstate[0][0] = xor_64_2(state[0][0], rc_sha3[round])\n\t\t}\n\t\treturn state\n\t}\n\n\tfunction finalizeSHA3(remainder, remainderBinLen, processedBinLen, state, blockSize, delimiter, outputLen) {\n\t\tvar i, temp, retVal = [],\n\t\t\tbinaryStringInc = blockSize >>> 5,\n\t\t\tstate_offset = 0,\n\t\t\tremainderIntLen = remainderBinLen >>> 5;\n\t\tfor (i = 0; i < remainderIntLen && remainderBinLen >= blockSize; i += binaryStringInc) {\n\t\t\tstate = roundSHA3(remainder.slice(i, i + binaryStringInc), state);\n\t\t\tremainderBinLen -= blockSize\n\t\t}\n\t\tremainder = remainder.slice(i);\n\t\tremainderBinLen %= blockSize;\n\t\twhile (remainder.length < binaryStringInc) remainder.push(0);\n\t\tremainder[(i = remainderBinLen >>> 3) >> 2] ^= delimiter << i % 4 * 8;\n\t\tremainder[binaryStringInc - 1] ^= 2147483648;\n\t\tstate = roundSHA3(remainder, state);\n\t\twhile (32 * retVal.length < outputLen) {\n\t\t\ttemp = state[state_offset % 5][state_offset / 5 | 0];\n\t\t\tretVal.push(temp.lowOrder);\n\t\t\tif (32 * retVal.length >= outputLen) break;\n\t\t\tretVal.push(temp.highOrder);\n\t\t\tif (0 === 64 * (state_offset += 1) % blockSize) roundSHA3(null, state)\n\t\t}\n\t\treturn retVal\n\t}\n\tvar K_sha2, K_sha512, r_sha3, rc_sha3, jsSHA, TWO_PWR_32 = 4294967296;\n\tif (0 !== (6 & SUPPORTED_ALGS)) {\n\t\tK_sha2 = [1116352408, 1899447441, 3049323471, 3921009573, 961987163, 1508970993, 2453635748, 2870763221, 3624381080, 310598401, 607225278, 1426881987, 1925078388, 2162078206, 2614888103, 3248222580, 3835390401, 4022224774, 264347078, 604807628, 770255983, 1249150122, 1555081692, 1996064986, 2554220882, 2821834349, 2952996808, 3210313671, 3336571891, 3584528711, 113926993, 338241895, 666307205, 773529912, 1294757372, 1396182291, 1695183700, 1986661051, 2177026350, 2456956037, 2730485921, 2820302411, 3259730800, 3345764771, 3516065817, 3600352804, 4094571909, 275423344, 430227734, 506948616, 659060556, 883997877, 958139571, 1322822218, 1537002063, 1747873779, 1955562222, 2024104815, 2227730452, 2361852424, 2428436474, 2756734187, 3204031479, 3329325298];\n\t\tif (0 !== (4 & SUPPORTED_ALGS)) K_sha512 = [new Int_64(K_sha2[0], 3609767458), new Int_64(K_sha2[1], 602891725), new Int_64(K_sha2[2], 3964484399), new Int_64(K_sha2[3], 2173295548), new Int_64(K_sha2[4], 4081628472), new Int_64(K_sha2[5], 3053834265), new Int_64(K_sha2[6], 2937671579), new Int_64(K_sha2[7], 3664609560), new Int_64(K_sha2[8], 2734883394), new Int_64(K_sha2[9], 1164996542), new Int_64(K_sha2[10], 1323610764), new Int_64(K_sha2[11], 3590304994), new Int_64(K_sha2[12], 4068182383), new Int_64(K_sha2[13], 991336113), new Int_64(K_sha2[14], 633803317), new Int_64(K_sha2[15], 3479774868), new Int_64(K_sha2[16], 2666613458), new Int_64(K_sha2[17], 944711139), new Int_64(K_sha2[18], 2341262773), new Int_64(K_sha2[19], 2007800933), new Int_64(K_sha2[20], 1495990901), new Int_64(K_sha2[21], 1856431235), new Int_64(K_sha2[22], 3175218132), new Int_64(K_sha2[23], 2198950837), new Int_64(K_sha2[24], 3999719339), new Int_64(K_sha2[25], 766784016), new Int_64(K_sha2[26], 2566594879), new Int_64(K_sha2[27], 3203337956), new Int_64(K_sha2[28], 1034457026), new Int_64(K_sha2[29], 2466948901), new Int_64(K_sha2[30], 3758326383), new Int_64(K_sha2[31], 168717936), new Int_64(K_sha2[32], 1188179964), new Int_64(K_sha2[33], 1546045734), new Int_64(K_sha2[34], 1522805485), new Int_64(K_sha2[35], 2643833823), new Int_64(K_sha2[36], 2343527390), new Int_64(K_sha2[37], 1014477480), new Int_64(K_sha2[38], 1206759142), new Int_64(K_sha2[39], 344077627), new Int_64(K_sha2[40], 1290863460), new Int_64(K_sha2[41], 3158454273), new Int_64(K_sha2[42], 3505952657), new Int_64(K_sha2[43], 106217008), new Int_64(K_sha2[44], 3606008344), new Int_64(K_sha2[45], 1432725776), new Int_64(K_sha2[46], 1467031594), new Int_64(K_sha2[47], 851169720), new Int_64(K_sha2[48], 3100823752), new Int_64(K_sha2[49], 1363258195), new Int_64(K_sha2[50], 3750685593), new Int_64(K_sha2[51], 3785050280), new Int_64(K_sha2[52], 3318307427), new Int_64(K_sha2[53], 3812723403), new Int_64(K_sha2[54], 2003034995), new Int_64(K_sha2[55], 3602036899), new Int_64(K_sha2[56], 1575990012), new Int_64(K_sha2[57], 1125592928), new Int_64(K_sha2[58], 2716904306), new Int_64(K_sha2[59], 442776044), new Int_64(K_sha2[60], 593698344), new Int_64(K_sha2[61], 3733110249), new Int_64(K_sha2[62], 2999351573), new Int_64(K_sha2[63], 3815920427), new Int_64(3391569614, 3928383900), new Int_64(3515267271, 566280711), new Int_64(3940187606, 3454069534), new Int_64(4118630271, 4000239992), new Int_64(116418474, 1914138554), new Int_64(174292421, 2731055270), new Int_64(289380356, 3203993006), new Int_64(460393269, 320620315), new Int_64(685471733, 587496836), new Int_64(852142971, 1086792851), new Int_64(1017036298, 365543100), new Int_64(1126000580, 2618297676), new Int_64(1288033470, 3409855158), new Int_64(1501505948, 4234509866), new Int_64(1607167915, 987167468), new Int_64(1816402316, 1246189591)]\n\t}\n\tif (0 !== (8 & SUPPORTED_ALGS)) {\n\t\trc_sha3 = [new Int_64(0, 1), new Int_64(0, 32898), new Int_64(2147483648, 32906), new Int_64(2147483648, 2147516416), new Int_64(0, 32907), new Int_64(0, 2147483649), new Int_64(2147483648, 2147516545), new Int_64(2147483648, 32777), new Int_64(0, 138), new Int_64(0, 136), new Int_64(0, 2147516425), new Int_64(0, 2147483658), new Int_64(0, 2147516555), new Int_64(2147483648, 139), new Int_64(2147483648, 32905), new Int_64(2147483648, 32771), new Int_64(2147483648, 32770), new Int_64(2147483648, 128), new Int_64(0, 32778), new Int_64(2147483648, 2147483658), new Int_64(2147483648, 2147516545), new Int_64(2147483648, 32896), new Int_64(0, 2147483649), new Int_64(2147483648, 2147516424)];\n\t\tr_sha3 = [\n\t\t\t[0, 36, 3, 41, 18],\n\t\t\t[1, 44, 10, 45, 2],\n\t\t\t[62, 6, 43, 15, 61],\n\t\t\t[28, 55, 25, 21, 56],\n\t\t\t[27, 20, 39, 8, 14]\n\t\t]\n\t}\n\tjsSHA = function (variant, inputFormat, options) {\n\t\tvar intermediateState, converterFunc, outputBinLen, variantBlockSize, roundFunc, finalizeFunc, stateCloneFunc, delimiter, processedLen = 0,\n\t\t\tremainder = [],\n\t\t\tremainderLen = 0,\n\t\t\tshaVariant = variant,\n\t\t\thmacKeySet = false,\n\t\t\tkeyWithIPad = [],\n\t\t\tkeyWithOPad = [],\n\t\t\tupdatedCalled = false,\n\t\t\tisSHAKE = false,\n\t\t\tbigEndianMod = -1,\n\t\t\tinputOptions = options || {},\n\t\t\tutfType = inputOptions.encoding || \"UTF8\",\n\t\t\tnumRounds = inputOptions.numRounds || 1;\n\t\tif (numRounds !== parseInt(numRounds, 10) || 1 > numRounds) throw new Error(\"numRounds must a integer >= 1\");\n\t\tif (\"SHA-1\" === shaVariant && 0 !== (1 & SUPPORTED_ALGS)) {\n\t\t\tvariantBlockSize = 512;\n\t\t\troundFunc = roundSHA1;\n\t\t\tfinalizeFunc = finalizeSHA1;\n\t\t\toutputBinLen = 160;\n\t\t\tstateCloneFunc = function (state) {\n\t\t\t\treturn state.slice()\n\t\t\t}\n\t\t} else if (0 === shaVariant.lastIndexOf(\"SHA-\", 0) && 0 !== (6 & SUPPORTED_ALGS)) {\n\t\t\troundFunc = function (block, H) {\n\t\t\t\treturn roundSHA2(block, H, shaVariant)\n\t\t\t};\n\t\t\tfinalizeFunc = function (remainder, remainderBinLen, processedBinLen, H, outputLen) {\n\t\t\t\treturn finalizeSHA2(remainder, remainderBinLen, processedBinLen, H, shaVariant, outputLen)\n\t\t\t};\n\t\t\tstateCloneFunc = function (state) {\n\t\t\t\treturn state.slice()\n\t\t\t};\n\t\t\tif (\"SHA-224\" === shaVariant && 0 !== (2 & SUPPORTED_ALGS)) {\n\t\t\t\tvariantBlockSize = 512;\n\t\t\t\toutputBinLen = 224\n\t\t\t} else if (\"SHA-256\" === shaVariant && 0 !== (2 & SUPPORTED_ALGS)) {\n\t\t\t\tvariantBlockSize = 512;\n\t\t\t\toutputBinLen = 256\n\t\t\t} else if (\"SHA-384\" === shaVariant && 0 !== (4 & SUPPORTED_ALGS)) {\n\t\t\t\tvariantBlockSize = 1024;\n\t\t\t\toutputBinLen = 384\n\t\t\t} else if (\"SHA-512\" === shaVariant && 0 !== (4 & SUPPORTED_ALGS)) {\n\t\t\t\tvariantBlockSize = 1024;\n\t\t\t\toutputBinLen = 512\n\t\t\t} else throw new Error(\"Chosen SHA variant is not supported\")\n\t\t} else if ((0 === shaVariant.lastIndexOf(\"SHA3-\", 0) || 0 === shaVariant.lastIndexOf(\"SHAKE\", 0)) && 0 !== (8 & SUPPORTED_ALGS)) {\n\t\t\tdelimiter = 6;\n\t\t\troundFunc = roundSHA3;\n\t\t\tstateCloneFunc = function (state) {\n\t\t\t\treturn cloneSHA3State(state)\n\t\t\t};\n\t\t\tbigEndianMod = 1;\n\t\t\tif (\"SHA3-224\" === shaVariant) {\n\t\t\t\tvariantBlockSize = 1152;\n\t\t\t\toutputBinLen = 224\n\t\t\t} else if (\"SHA3-256\" === shaVariant) {\n\t\t\t\tvariantBlockSize = 1088;\n\t\t\t\toutputBinLen = 256\n\t\t\t} else if (\"SHA3-384\" === shaVariant) {\n\t\t\t\tvariantBlockSize = 832;\n\t\t\t\toutputBinLen = 384\n\t\t\t} else if (\"SHA3-512\" === shaVariant) {\n\t\t\t\tvariantBlockSize = 576;\n\t\t\t\toutputBinLen = 512\n\t\t\t} else if (\"SHAKE128\" === shaVariant) {\n\t\t\t\tvariantBlockSize = 1344;\n\t\t\t\toutputBinLen = -1;\n\t\t\t\tdelimiter = 31;\n\t\t\t\tisSHAKE = true\n\t\t\t} else if (\"SHAKE256\" === shaVariant) {\n\t\t\t\tvariantBlockSize = 1088;\n\t\t\t\toutputBinLen = -1;\n\t\t\t\tdelimiter = 31;\n\t\t\t\tisSHAKE = true\n\t\t\t} else throw new Error(\"Chosen SHA variant is not supported\");\n\t\t\tfinalizeFunc = function (remainder, remainderBinLen, processedBinLen, state, outputLen) {\n\t\t\t\treturn finalizeSHA3(remainder, remainderBinLen, processedBinLen, state, variantBlockSize, delimiter, outputLen)\n\t\t\t}\n\t\t} else throw new Error(\"Chosen SHA variant is not supported\");\n\t\tconverterFunc = getStrConverter(inputFormat, utfType, bigEndianMod);\n\t\tintermediateState = getNewState(shaVariant);\n\t\tthis.setHMACKey = function (key, inputFormat, options) {\n\t\t\tvar convertRet, keyBinLen, keyToUse, blockByteSize, i, lastArrayIndex;\n\t\t\tif (true === hmacKeySet) throw new Error(\"HMAC key already set\");\n\t\t\tif (true === updatedCalled) throw new Error(\"Cannot set HMAC key after calling update\");\n\t\t\tif (true === isSHAKE && 0 !== (8 & SUPPORTED_ALGS)) throw new Error(\"SHAKE is not supported for HMAC\");\n\t\t\tkeyBinLen = (convertRet = getStrConverter(inputFormat, utfType = (options || {})\n\t\t\t\t\t.encoding || \"UTF8\", bigEndianMod)(key))\n\t\t\t\t.binLen;\n\t\t\tkeyToUse = convertRet.value;\n\t\t\tlastArrayIndex = (blockByteSize = variantBlockSize >>> 3) / 4 - 1;\n\t\t\tif (blockByteSize < keyBinLen / 8) {\n\t\t\t\tkeyToUse = finalizeFunc(keyToUse, keyBinLen, 0, getNewState(shaVariant), outputBinLen);\n\t\t\t\twhile (keyToUse.length <= lastArrayIndex) keyToUse.push(0);\n\t\t\t\tkeyToUse[lastArrayIndex] &= 4294967040\n\t\t\t} else if (blockByteSize > keyBinLen / 8) {\n\t\t\t\twhile (keyToUse.length <= lastArrayIndex) keyToUse.push(0);\n\t\t\t\tkeyToUse[lastArrayIndex] &= 4294967040\n\t\t\t}\n\t\t\tfor (i = 0; i <= lastArrayIndex; i += 1) {\n\t\t\t\tkeyWithIPad[i] = 909522486 ^ keyToUse[i];\n\t\t\t\tkeyWithOPad[i] = 1549556828 ^ keyToUse[i]\n\t\t\t}\n\t\t\tintermediateState = roundFunc(keyWithIPad, intermediateState);\n\t\t\tprocessedLen = variantBlockSize;\n\t\t\thmacKeySet = true\n\t\t};\n\t\tthis.update = function (srcString) {\n\t\t\tvar convertRet, chunkBinLen, chunkIntLen, chunk, i, updateProcessedLen = 0,\n\t\t\t\tvariantBlockIntInc = variantBlockSize >>> 5;\n\t\t\tchunkBinLen = (convertRet = converterFunc(srcString, remainder, remainderLen))\n\t\t\t\t.binLen;\n\t\t\tchunk = convertRet.value;\n\t\t\tchunkIntLen = chunkBinLen >>> 5;\n\t\t\tfor (i = 0; i < chunkIntLen; i += variantBlockIntInc)\n\t\t\t\tif (updateProcessedLen + variantBlockSize <= chunkBinLen) {\n\t\t\t\t\tintermediateState = roundFunc(chunk.slice(i, i + variantBlockIntInc), intermediateState);\n\t\t\t\t\tupdateProcessedLen += variantBlockSize\n\t\t\t\t} processedLen += updateProcessedLen;\n\t\t\tremainder = chunk.slice(updateProcessedLen >>> 5);\n\t\t\tremainderLen = chunkBinLen % variantBlockSize;\n\t\t\tupdatedCalled = true\n\t\t};\n\t\tthis.getHash = function (format, options) {\n\t\t\tvar formatFunc, i, outputOptions, finalizedState;\n\t\t\tif (true === hmacKeySet) throw new Error(\"Cannot call getHash after setting HMAC key\");\n\t\t\toutputOptions = getOutputOpts(options);\n\t\t\tif (true === isSHAKE && 0 !== (8 & SUPPORTED_ALGS)) {\n\t\t\t\tif (-1 === outputOptions.shakeLen) throw new Error(\"shakeLen must be specified in options\");\n\t\t\t\toutputBinLen = outputOptions.shakeLen\n\t\t\t}\n\t\t\tswitch (format) {\n\t\t\tcase \"HEX\":\n\t\t\t\tformatFunc = function (binarray) {\n\t\t\t\t\treturn packed2hex(binarray, outputBinLen, bigEndianMod, outputOptions)\n\t\t\t\t};\n\t\t\t\tbreak;\n\t\t\tcase \"B64\":\n\t\t\t\tformatFunc = function (binarray) {\n\t\t\t\t\treturn packed2b64(binarray, outputBinLen, bigEndianMod, outputOptions)\n\t\t\t\t};\n\t\t\t\tbreak;\n\t\t\tcase \"BYTES\":\n\t\t\t\tformatFunc = function (binarray) {\n\t\t\t\t\treturn packed2bytes(binarray, outputBinLen, bigEndianMod)\n\t\t\t\t};\n\t\t\t\tbreak;\n\t\t\tcase \"ARRAYBUFFER\":\n\t\t\t\ttry {\n\t\t\t\t\ti = new ArrayBuffer(0)\n\t\t\t\t} catch (ignore) {\n\t\t\t\t\tthrow new Error(\"ARRAYBUFFER not supported by this environment\")\n\t\t\t\t}\n\t\t\t\tformatFunc = function (binarray) {\n\t\t\t\t\treturn packed2arraybuffer(binarray, outputBinLen, bigEndianMod)\n\t\t\t\t};\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tthrow new Error(\"format must be HEX, B64, BYTES, or ARRAYBUFFER\")\n\t\t\t}\n\t\t\tfinalizedState = finalizeFunc(remainder.slice(), remainderLen, processedLen, stateCloneFunc(intermediateState), outputBinLen);\n\t\t\tfor (i = 1; i < numRounds; i += 1) {\n\t\t\t\tif (0 !== (8 & SUPPORTED_ALGS) && true === isSHAKE && outputBinLen % 32 !== 0) finalizedState[finalizedState.length - 1] &= 16777215 >>> 24 - outputBinLen % 32;\n\t\t\t\tfinalizedState = finalizeFunc(finalizedState, outputBinLen, 0, getNewState(shaVariant), outputBinLen)\n\t\t\t}\n\t\t\treturn formatFunc(finalizedState)\n\t\t};\n\t\tthis.getHMAC = function (format, options) {\n\t\t\tvar formatFunc, firstHash, outputOptions, finalizedState;\n\t\t\tif (false === hmacKeySet) throw new Error(\"Cannot call getHMAC without first setting HMAC key\");\n\t\t\toutputOptions = getOutputOpts(options);\n\t\t\tswitch (format) {\n\t\t\tcase \"HEX\":\n\t\t\t\tformatFunc = function (binarray) {\n\t\t\t\t\treturn packed2hex(binarray, outputBinLen, bigEndianMod, outputOptions)\n\t\t\t\t};\n\t\t\t\tbreak;\n\t\t\tcase \"B64\":\n\t\t\t\tformatFunc = function (binarray) {\n\t\t\t\t\treturn packed2b64(binarray, outputBinLen, bigEndianMod, outputOptions)\n\t\t\t\t};\n\t\t\t\tbreak;\n\t\t\tcase \"BYTES\":\n\t\t\t\tformatFunc = function (binarray) {\n\t\t\t\t\treturn packed2bytes(binarray, outputBinLen, bigEndianMod)\n\t\t\t\t};\n\t\t\t\tbreak;\n\t\t\tcase \"ARRAYBUFFER\":\n\t\t\t\ttry {\n\t\t\t\t\tformatFunc = new ArrayBuffer(0)\n\t\t\t\t} catch (ignore) {\n\t\t\t\t\tthrow new Error(\"ARRAYBUFFER not supported by this environment\")\n\t\t\t\t}\n\t\t\t\tformatFunc = function (binarray) {\n\t\t\t\t\treturn packed2arraybuffer(binarray, outputBinLen, bigEndianMod)\n\t\t\t\t};\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tthrow new Error(\"outputFormat must be HEX, B64, BYTES, or ARRAYBUFFER\")\n\t\t\t}\n\t\t\tfirstHash = finalizeFunc(remainder.slice(), remainderLen, processedLen, stateCloneFunc(intermediateState), outputBinLen);\n\t\t\tfinalizedState = roundFunc(keyWithOPad, getNewState(shaVariant));\n\t\t\treturn formatFunc(finalizedState = finalizeFunc(firstHash, outputBinLen, variantBlockSize, finalizedState, outputBinLen))\n\t\t}\n\t};\n\tif (\"function\" === typeof define && define.amd) define(function () {\n\t\treturn jsSHA\n\t});\n\telse if (\"undefined\" !== typeof exports)\n\t\tif (\"undefined\" !== typeof module && module.exports) {\n\t\t\tmodule.exports = jsSHA;\n\t\t\texports = jsSHA\n\t\t} else exports = jsSHA;\n\telse global.jsSHA = jsSHA\n})(this);\n(function (global) {\n\t\"use strict\";\n\n\tfunction definition(path, Failure, iterate, isObject) {\n\t\tfunction isEnabled(path) {\n\t\t\tvar match;\n\t\t\titerate(settings, function (key, value) {\n\t\t\t\tif (key === path) {\n\t\t\t\t\tmatch = value;\n\t\t\t\t\treturn false\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn match || false\n\t\t}\n\t\tvar settings;\n\t\tdemand.on(\"postConfigure:\" + path, function (options) {\n\t\t\t\tif (isObject(options)) settings = options\n\t\t\t})\n\t\t\t.on(\"postRequest\", function (dependency) {\n\t\t\t\tvar options, sha, hash;\n\t\t\t\tif (options = isEnabled(dependency.path)) try {\n\t\t\t\t\t(sha = new global.jsSHA(options.type, \"TEXT\"))\n\t\t\t\t\t.update(dependency.source);\n\t\t\t\t\tif ((hash = sha.getHash(\"B64\")) !== options.hash) dependency.dfd.reject(new Failure('hash mismatch, should be \"' + options.hash + '\" but is \"' + hash + '\" (sri)', dependency.id))\n\t\t\t\t} catch (error) {\n\t\t\t\t\tdependency.dfd.reject(new Failure(\"unsupported hashing algorithm (sri)\", dependency.id))\n\t\t\t\t}\n\t\t\t});\n\t\treturn true\n\t}\n\tprovide([\"path\", \"/demand/failure\", \"/demand/function/iterate\", \"/demand/validator/isObject\"], definition)\n})(this);\n"]} \ No newline at end of file +{"version":3,"sources":["plugin/sri.js"],"names":["SUPPORTED_ALGS","global","Int_64","msint_32","lsint_32","this","highOrder","lowOrder","packed2hex","packed","outputLength","bigEndianMod","formatOpts","i","srcByte","shiftModifier","hex_tab","str","length","charAt","outputUpper","toUpperCase","packed2b64","j","triplet","int1","int2","b64Pad","packed2bytes","String","fromCharCode","packed2arraybuffer","arrView","retVal","ArrayBuffer","Uint8Array","getOutputOpts","options","outputOptions","shakeLen","hasOwnProperty","Error","getStrConverter","format","utfType","existingBin","existingBinLen","existingPacked","existingPackedLen","num","intOffset","byteOffset","existingByteLen","parseInt","substr","isNaN","push","value","binLen","hex2packed","codePnt","codePntArr","transposeBytes","byteCnt","charCodeAt","str2packed","tmpInt","strPart","firstEqual","search","indexOf","replace","b642packed","bytes2packed","ignore","arr","byteLength","arraybuffer2packed","rotl_32","x","n","rotl_64","rotr_32","rotr_64","tmp","shr_32","shr_64","parity_32","y","z","ch_32","ch_64","maj_32","maj_64","sigma0_32","sigma0_64","rotr28","rotr34","rotr39","sigma1_32","sigma1_64","rotr14","rotr18","rotr41","gamma0_32","gamma0_64","rotr1","rotr8","shr7","gamma1_32","gamma1_64","rotr19","rotr61","shr6","safeAdd_32_2","a","b","lsw","safeAdd_32_4","c","d","safeAdd_32_5","e","safeAdd_64_2","msw","safeAdd_64_4","safeAdd_64_5","xor_64_2","getNewState","variant","H_trunc","H_full","lastIndexOf","roundSHA1","block","H","T","t","W","ch","parity","maj","rotl","safeAdd_2","safeAdd_5","finalizeSHA1","remainder","remainderBinLen","processedBinLen","outputLen","appendedMessageLength","offset","totalLen","TWO_PWR_32","slice","roundSHA2","f","g","h","T1","T2","numRounds","binaryStringMult","safeAdd_4","gamma0","gamma1","sigma0","sigma1","Int","K","K_sha512","Number","K_sha2","roundSHA3","state","round","B","C","D","r_sha3","rc_sha3","jsSHA","inputFormat","intermediateState","converterFunc","outputBinLen","variantBlockSize","roundFunc","finalizeFunc","stateCloneFunc","delimiter","processedLen","remainderLen","shaVariant","hmacKeySet","keyWithIPad","keyWithOPad","updatedCalled","isSHAKE","inputOptions","encoding","binaryStringInc","finalizeSHA2","clone","cloneSHA3State","blockSize","temp","state_offset","remainderIntLen","finalizeSHA3","setHMACKey","key","convertRet","keyBinLen","keyToUse","blockByteSize","lastArrayIndex","update","srcString","chunkBinLen","chunkIntLen","chunk","updateProcessedLen","variantBlockIntInc","getHash","formatFunc","finalizedState","binarray","getHMAC","firstHash","define","amd","exports","module","provide","path","Failure","iterate","isObject","settings","demand","on","dependency","sha","hash","match","type","source","dfd","reject","id","error"],"mappings":"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IAAA1K,EAAA0K,GAAA,GAAA,YAAA,IAAA1K,EAAA0K,GAAA,GAAA,YAAA,IAAA1K,EAAA0K,GAAA,GAAA,YAAA,IAAA1K,EAAA0K,GAAA,GAAA,YAAA,IAAA1K,EAAA0K,GAAA,GAAA,YAAA,IAAA1K,EAAA0K,GAAA,IAAA,YAAA,IAAA1K,EAAA0K,GAAA,IAAA,YAAA,IAAA1K,EAAA0K,GAAA,IAAA,YAAA,IAAA1K,EAAA0K,GAAA,IAAA,WAAA,IAAA1K,EAAA0K,GAAA,IAAA,WAAA,IAAA1K,EAAA0K,GAAA,IAAA,YAAA,IAAA1K,EAAA0K,GAAA,IAAA,YAAA,IAAA1K,EAAA0K,GAAA,IAAA,WAAA,IAAA1K,EAAA0K,GAAA,IAAA,YAAA,IAAA1K,EAAA0K,GAAA,IAAA,YAAA,IAAA1K,EAAA0K,GAAA,IAAA,YAAA,IAAA1K,EAAA0K,GAAA,IAAA,YAAA,IAAA1K,EAAA0K,GAAA,IAAA,YAAA,IAAA1K,EAAA0K,GAAA,IAAA,YAAA,IAAA1K,EAAA0K,GAAA,IAAA,YAAA,IAAA1K,EAAA0K,GAAA,IAAA,WAAA,IAAA1K,EAAA0K,GAAA,IAAA,YAAA,IAAA1K,EAAA0K,GAAA,IAAA,YAAA,IAAA1K,EAAA0K,GAAA,IAAA,YAAA,IAAA1K,EAAA0K,GAAA,IAAA,YAAA,IAAA1K,EAAA0K,GAAA,IAAA,YAAA,IAAA1K,EAAA0K,GAAA,IAAA,WAAA,IAAA1K,EAAA0K,GAAA,IAAA,YAAA,IAAA1K,EAAA0K,GAAA,IAAA,YAAA,IAAA1K,EAAA0K,GAAA,IAAA,YAAA,IAAA1K,EAAA0K,GAAA,IAAA,YAAA,IAAA1K,EAAA0K,GAAA,IAAA,YAAA,IAAA1K,EAAA0K,GAAA,IAAA,YAAA,IAAA1K,EAAA0K,GAAA,IAAA,YAAA,IAAA1K,EAAA0K,GAAA,IAAA,WAAA,IAAA1K,EAAA0K,GAAA,IAAA,YAAA,IAAA1K,EAAA0K,GAAA,IAAA,YAAA,IAAA1K,EAAA0K,GAAA,IAAA,YAAA,IAAA1K,EAAA0K,GAAA,IAAA,WAAA,IAAA1K,EAAA0K,GAAA,IAAA,YAAA,IAAA1K,EAAA0K,GAAA,IAAA,YAAA,IAAA1K,EAAA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","file":"sri.js","sourcesContent":["/**! Qoopido.demand 5.1.1 | https://github.com/dlueth/qoopido.demand | (c) 2018 Dirk Lueth */\nvar SUPPORTED_ALGS = 15;\n(function (global) {\n\t\"use strict\";\n\n\tfunction Int_64(msint_32, lsint_32) {\n\t\tthis.highOrder = msint_32;\n\t\tthis.lowOrder = lsint_32\n\t}\n\n\tfunction str2packed(str, utfType, existingPacked, existingPackedLen, bigEndianMod) {\n\t\tvar packed, codePnt, codePntArr, i, j, existingByteLen, intOffset, byteOffset, shiftModifier, transposeBytes, byteCnt = 0;\n\t\tpacked = existingPacked || [0];\n\t\texistingByteLen = (existingPackedLen = existingPackedLen || 0) >>> 3;\n\t\tif (\"UTF8\" === utfType) {\n\t\t\tshiftModifier = -1 === bigEndianMod ? 3 : 0;\n\t\t\tfor (i = 0; i < str.length; i += 1) {\n\t\t\t\tcodePntArr = [];\n\t\t\t\tif (128 > (codePnt = str.charCodeAt(i))) codePntArr.push(codePnt);\n\t\t\t\telse if (2048 > codePnt) {\n\t\t\t\t\tcodePntArr.push(192 | codePnt >>> 6);\n\t\t\t\t\tcodePntArr.push(128 | 63 & codePnt)\n\t\t\t\t} else if (55296 > codePnt || 57344 <= codePnt) codePntArr.push(224 | codePnt >>> 12, 128 | codePnt >>> 6 & 63, 128 | 63 & codePnt);\n\t\t\t\telse {\n\t\t\t\t\ti += 1;\n\t\t\t\t\tcodePnt = 65536 + ((1023 & codePnt) << 10 | 1023 & str.charCodeAt(i));\n\t\t\t\t\tcodePntArr.push(240 | codePnt >>> 18, 128 | codePnt >>> 12 & 63, 128 | codePnt >>> 6 & 63, 128 | 63 & codePnt)\n\t\t\t\t}\n\t\t\t\tfor (j = 0; j < codePntArr.length; j += 1) {\n\t\t\t\t\tintOffset = (byteOffset = byteCnt + existingByteLen) >>> 2;\n\t\t\t\t\twhile (packed.length <= intOffset) packed.push(0);\n\t\t\t\t\tpacked[intOffset] |= codePntArr[j] << 8 * (shiftModifier + bigEndianMod * (byteOffset % 4));\n\t\t\t\t\tbyteCnt += 1\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (\"UTF16BE\" === utfType || \"UTF16LE\" === utfType) {\n\t\t\tshiftModifier = -1 === bigEndianMod ? 2 : 0;\n\t\t\ttransposeBytes = \"UTF16LE\" === utfType && 1 !== bigEndianMod || \"UTF16LE\" !== utfType && 1 === bigEndianMod;\n\t\t\tfor (i = 0; i < str.length; i += 1) {\n\t\t\t\tcodePnt = str.charCodeAt(i);\n\t\t\t\tif (true === transposeBytes) codePnt = (j = 255 & codePnt) << 8 | codePnt >>> 8;\n\t\t\t\tintOffset = (byteOffset = byteCnt + existingByteLen) >>> 2;\n\t\t\t\twhile (packed.length <= intOffset) packed.push(0);\n\t\t\t\tpacked[intOffset] |= codePnt << 8 * (shiftModifier + bigEndianMod * (byteOffset % 4));\n\t\t\t\tbyteCnt += 2\n\t\t\t}\n\t\t}\n\t\treturn {\n\t\t\tvalue: packed,\n\t\t\tbinLen: 8 * byteCnt + existingPackedLen\n\t\t}\n\t}\n\n\tfunction hex2packed(str, existingPacked, existingPackedLen, bigEndianMod) {\n\t\tvar packed, i, num, intOffset, byteOffset, existingByteLen, shiftModifier, length = str.length;\n\t\tif (0 !== length % 2) throw new Error(\"String of HEX type must be in byte increments\");\n\t\tpacked = existingPacked || [0];\n\t\texistingByteLen = (existingPackedLen = existingPackedLen || 0) >>> 3;\n\t\tshiftModifier = -1 === bigEndianMod ? 3 : 0;\n\t\tfor (i = 0; i < length; i += 2) {\n\t\t\tnum = parseInt(str.substr(i, 2), 16);\n\t\t\tif (!isNaN(num)) {\n\t\t\t\tintOffset = (byteOffset = (i >>> 1) + existingByteLen) >>> 2;\n\t\t\t\twhile (packed.length <= intOffset) packed.push(0);\n\t\t\t\tpacked[intOffset] |= num << 8 * (shiftModifier + bigEndianMod * (byteOffset % 4))\n\t\t\t} else throw new Error(\"String of HEX type contains invalid characters\")\n\t\t}\n\t\treturn {\n\t\t\tvalue: packed,\n\t\t\tbinLen: 4 * length + existingPackedLen\n\t\t}\n\t}\n\n\tfunction bytes2packed(str, existingPacked, existingPackedLen, bigEndianMod) {\n\t\tvar packed, codePnt, i, existingByteLen, intOffset, byteOffset, shiftModifier;\n\t\tpacked = existingPacked || [0];\n\t\texistingByteLen = (existingPackedLen = existingPackedLen || 0) >>> 3;\n\t\tshiftModifier = -1 === bigEndianMod ? 3 : 0;\n\t\tfor (i = 0; i < str.length; i += 1) {\n\t\t\tcodePnt = str.charCodeAt(i);\n\t\t\tintOffset = (byteOffset = i + existingByteLen) >>> 2;\n\t\t\tif (packed.length <= intOffset) packed.push(0);\n\t\t\tpacked[intOffset] |= codePnt << 8 * (shiftModifier + bigEndianMod * (byteOffset % 4))\n\t\t}\n\t\treturn {\n\t\t\tvalue: packed,\n\t\t\tbinLen: 8 * str.length + existingPackedLen\n\t\t}\n\t}\n\n\tfunction b642packed(str, existingPacked, existingPackedLen, bigEndianMod) {\n\t\tvar packed, i, j, tmpInt, strPart, firstEqual, existingByteLen, intOffset, byteOffset, shiftModifier, byteCnt = 0,\n\t\t\tb64Tab = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";\n\t\tif (-1 === str.search(/^[a-zA-Z0-9=+\\/]+$/)) throw new Error(\"Invalid character in base-64 string\");\n\t\tfirstEqual = str.indexOf(\"=\");\n\t\tstr = str.replace(/\\=/g, \"\");\n\t\tif (-1 !== firstEqual && firstEqual < str.length) throw new Error(\"Invalid '=' found in base-64 string\");\n\t\tpacked = existingPacked || [0];\n\t\texistingByteLen = (existingPackedLen = existingPackedLen || 0) >>> 3;\n\t\tshiftModifier = -1 === bigEndianMod ? 3 : 0;\n\t\tfor (i = 0; i < str.length; i += 4) {\n\t\t\tstrPart = str.substr(i, 4);\n\t\t\tfor (j = tmpInt = 0; j < strPart.length; j += 1) tmpInt |= b64Tab.indexOf(strPart[j]) << 18 - 6 * j;\n\t\t\tfor (j = 0; j < strPart.length - 1; j += 1) {\n\t\t\t\tintOffset = (byteOffset = byteCnt + existingByteLen) >>> 2;\n\t\t\t\twhile (packed.length <= intOffset) packed.push(0);\n\t\t\t\tpacked[intOffset] |= (tmpInt >>> 16 - 8 * j & 255) << 8 * (shiftModifier + bigEndianMod * (byteOffset % 4));\n\t\t\t\tbyteCnt += 1\n\t\t\t}\n\t\t}\n\t\treturn {\n\t\t\tvalue: packed,\n\t\t\tbinLen: 8 * byteCnt + existingPackedLen\n\t\t}\n\t}\n\n\tfunction arraybuffer2packed(arr, existingPacked, existingPackedLen, bigEndianMod) {\n\t\tvar packed, i, existingByteLen, intOffset, byteOffset, shiftModifier, arrView;\n\t\tpacked = existingPacked || [0];\n\t\texistingByteLen = (existingPackedLen = existingPackedLen || 0) >>> 3;\n\t\tshiftModifier = -1 === bigEndianMod ? 3 : 0;\n\t\tarrView = new Uint8Array(arr);\n\t\tfor (i = 0; i < arr.byteLength; i += 1) {\n\t\t\tintOffset = (byteOffset = i + existingByteLen) >>> 2;\n\t\t\tif (packed.length <= intOffset) packed.push(0);\n\t\t\tpacked[intOffset] |= arrView[i] << 8 * (shiftModifier + bigEndianMod * (byteOffset % 4))\n\t\t}\n\t\treturn {\n\t\t\tvalue: packed,\n\t\t\tbinLen: 8 * arr.byteLength + existingPackedLen\n\t\t}\n\t}\n\n\tfunction packed2hex(packed, outputLength, bigEndianMod, formatOpts) {\n\t\tvar i, srcByte, shiftModifier, hex_tab = \"0123456789abcdef\",\n\t\t\tstr = \"\",\n\t\t\tlength = outputLength / 8;\n\t\tshiftModifier = -1 === bigEndianMod ? 3 : 0;\n\t\tfor (i = 0; i < length; i += 1) {\n\t\t\tsrcByte = packed[i >>> 2] >>> 8 * (shiftModifier + bigEndianMod * (i % 4));\n\t\t\tstr += hex_tab.charAt(srcByte >>> 4 & 15) + hex_tab.charAt(15 & srcByte)\n\t\t}\n\t\treturn formatOpts.outputUpper ? str.toUpperCase() : str\n\t}\n\n\tfunction packed2b64(packed, outputLength, bigEndianMod, formatOpts) {\n\t\tvar i, j, triplet, int1, int2, shiftModifier, str = \"\",\n\t\t\tlength = outputLength / 8,\n\t\t\tb64Tab = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";\n\t\tshiftModifier = -1 === bigEndianMod ? 3 : 0;\n\t\tfor (i = 0; i < length; i += 3) {\n\t\t\tint1 = i + 1 < length ? packed[i + 1 >>> 2] : 0;\n\t\t\tint2 = i + 2 < length ? packed[i + 2 >>> 2] : 0;\n\t\t\ttriplet = (packed[i >>> 2] >>> 8 * (shiftModifier + bigEndianMod * (i % 4)) & 255) << 16 | (int1 >>> 8 * (shiftModifier + bigEndianMod * ((i + 1) % 4)) & 255) << 8 | int2 >>> 8 * (shiftModifier + bigEndianMod * ((i + 2) % 4)) & 255;\n\t\t\tfor (j = 0; j < 4; j += 1)\n\t\t\t\tif (8 * i + 6 * j <= outputLength) str += b64Tab.charAt(triplet >>> 6 * (3 - j) & 63);\n\t\t\t\telse str += formatOpts.b64Pad\n\t\t}\n\t\treturn str\n\t}\n\n\tfunction packed2bytes(packed, outputLength, bigEndianMod) {\n\t\tvar i, srcByte, shiftModifier, str = \"\",\n\t\t\tlength = outputLength / 8;\n\t\tshiftModifier = -1 === bigEndianMod ? 3 : 0;\n\t\tfor (i = 0; i < length; i += 1) {\n\t\t\tsrcByte = packed[i >>> 2] >>> 8 * (shiftModifier + bigEndianMod * (i % 4)) & 255;\n\t\t\tstr += String.fromCharCode(srcByte)\n\t\t}\n\t\treturn str\n\t}\n\n\tfunction packed2arraybuffer(packed, outputLength, bigEndianMod) {\n\t\tvar i, shiftModifier, arrView, length = outputLength / 8,\n\t\t\tretVal = new ArrayBuffer(length);\n\t\tarrView = new Uint8Array(retVal);\n\t\tshiftModifier = -1 === bigEndianMod ? 3 : 0;\n\t\tfor (i = 0; i < length; i += 1) arrView[i] = packed[i >>> 2] >>> 8 * (shiftModifier + bigEndianMod * (i % 4)) & 255;\n\t\treturn retVal\n\t}\n\n\tfunction getOutputOpts(options) {\n\t\tvar outputOptions, retVal = {\n\t\t\toutputUpper: false,\n\t\t\tb64Pad: \"=\",\n\t\t\tshakeLen: -1\n\t\t};\n\t\toutputOptions = options || {};\n\t\tretVal.outputUpper = outputOptions.outputUpper || false;\n\t\tif (true === outputOptions.hasOwnProperty(\"b64Pad\")) retVal.b64Pad = outputOptions.b64Pad;\n\t\tif (true === outputOptions.hasOwnProperty(\"shakeLen\") && 0 !== (8 & SUPPORTED_ALGS)) {\n\t\t\tif (outputOptions.shakeLen % 8 !== 0) throw new Error(\"shakeLen must be a multiple of 8\");\n\t\t\tretVal.shakeLen = outputOptions.shakeLen\n\t\t}\n\t\tif (\"boolean\" !== typeof retVal.outputUpper) throw new Error(\"Invalid outputUpper formatting option\");\n\t\tif (\"string\" !== typeof retVal.b64Pad) throw new Error(\"Invalid b64Pad formatting option\");\n\t\treturn retVal\n\t}\n\n\tfunction getStrConverter(format, utfType, bigEndianMod) {\n\t\tvar retVal;\n\t\tswitch (utfType) {\n\t\tcase \"UTF8\":\n\t\tcase \"UTF16BE\":\n\t\tcase \"UTF16LE\":\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tthrow new Error(\"encoding must be UTF8, UTF16BE, or UTF16LE\")\n\t\t}\n\t\tswitch (format) {\n\t\tcase \"HEX\":\n\t\t\tretVal = function (str, existingBin, existingBinLen) {\n\t\t\t\treturn hex2packed(str, existingBin, existingBinLen, bigEndianMod)\n\t\t\t};\n\t\t\tbreak;\n\t\tcase \"TEXT\":\n\t\t\tretVal = function (str, existingBin, existingBinLen) {\n\t\t\t\treturn str2packed(str, utfType, existingBin, existingBinLen, bigEndianMod)\n\t\t\t};\n\t\t\tbreak;\n\t\tcase \"B64\":\n\t\t\tretVal = function (str, existingBin, existingBinLen) {\n\t\t\t\treturn b642packed(str, existingBin, existingBinLen, bigEndianMod)\n\t\t\t};\n\t\t\tbreak;\n\t\tcase \"BYTES\":\n\t\t\tretVal = function (str, existingBin, existingBinLen) {\n\t\t\t\treturn bytes2packed(str, existingBin, existingBinLen, bigEndianMod)\n\t\t\t};\n\t\t\tbreak;\n\t\tcase \"ARRAYBUFFER\":\n\t\t\ttry {\n\t\t\t\tretVal = new ArrayBuffer(0)\n\t\t\t} catch (ignore) {\n\t\t\t\tthrow new Error(\"ARRAYBUFFER not supported by this environment\")\n\t\t\t}\n\t\t\tretVal = function (arr, existingBin, existingBinLen) {\n\t\t\t\treturn arraybuffer2packed(arr, existingBin, existingBinLen, bigEndianMod)\n\t\t\t};\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tthrow new Error(\"format must be HEX, TEXT, B64, BYTES, or ARRAYBUFFER\")\n\t\t}\n\t\treturn retVal\n\t}\n\n\tfunction rotl_32(x, n) {\n\t\treturn x << n | x >>> 32 - n\n\t}\n\n\tfunction rotl_64(x, n) {\n\t\tif (n > 32) {\n\t\t\tn -= 32;\n\t\t\treturn new Int_64(x.lowOrder << n | x.highOrder >>> 32 - n, x.highOrder << n | x.lowOrder >>> 32 - n)\n\t\t} else if (0 !== n) return new Int_64(x.highOrder << n | x.lowOrder >>> 32 - n, x.lowOrder << n | x.highOrder >>> 32 - n);\n\t\telse return x\n\t}\n\n\tfunction rotr_32(x, n) {\n\t\treturn x >>> n | x << 32 - n\n\t}\n\n\tfunction rotr_64(x, n) {\n\t\tvar retVal = null,\n\t\t\ttmp = new Int_64(x.highOrder, x.lowOrder);\n\t\tif (32 >= n) retVal = new Int_64(tmp.highOrder >>> n | tmp.lowOrder << 32 - n & 4294967295, tmp.lowOrder >>> n | tmp.highOrder << 32 - n & 4294967295);\n\t\telse retVal = new Int_64(tmp.lowOrder >>> n - 32 | tmp.highOrder << 64 - n & 4294967295, tmp.highOrder >>> n - 32 | tmp.lowOrder << 64 - n & 4294967295);\n\t\treturn retVal\n\t}\n\n\tfunction shr_32(x, n) {\n\t\treturn x >>> n\n\t}\n\n\tfunction shr_64(x, n) {\n\t\tvar retVal = null;\n\t\tif (32 >= n) retVal = new Int_64(x.highOrder >>> n, x.lowOrder >>> n | x.highOrder << 32 - n & 4294967295);\n\t\telse retVal = new Int_64(0, x.highOrder >>> n - 32);\n\t\treturn retVal\n\t}\n\n\tfunction parity_32(x, y, z) {\n\t\treturn x ^ y ^ z\n\t}\n\n\tfunction ch_32(x, y, z) {\n\t\treturn x & y ^ ~x & z\n\t}\n\n\tfunction ch_64(x, y, z) {\n\t\treturn new Int_64(x.highOrder & y.highOrder ^ ~x.highOrder & z.highOrder, x.lowOrder & y.lowOrder ^ ~x.lowOrder & z.lowOrder)\n\t}\n\n\tfunction maj_32(x, y, z) {\n\t\treturn x & y ^ x & z ^ y & z\n\t}\n\n\tfunction maj_64(x, y, z) {\n\t\treturn new Int_64(x.highOrder & y.highOrder ^ x.highOrder & z.highOrder ^ y.highOrder & z.highOrder, x.lowOrder & y.lowOrder ^ x.lowOrder & z.lowOrder ^ y.lowOrder & z.lowOrder)\n\t}\n\n\tfunction sigma0_32(x) {\n\t\treturn rotr_32(x, 2) ^ rotr_32(x, 13) ^ rotr_32(x, 22)\n\t}\n\n\tfunction sigma0_64(x) {\n\t\tvar rotr28 = rotr_64(x, 28),\n\t\t\trotr34 = rotr_64(x, 34),\n\t\t\trotr39 = rotr_64(x, 39);\n\t\treturn new Int_64(rotr28.highOrder ^ rotr34.highOrder ^ rotr39.highOrder, rotr28.lowOrder ^ rotr34.lowOrder ^ rotr39.lowOrder)\n\t}\n\n\tfunction sigma1_32(x) {\n\t\treturn rotr_32(x, 6) ^ rotr_32(x, 11) ^ rotr_32(x, 25)\n\t}\n\n\tfunction sigma1_64(x) {\n\t\tvar rotr14 = rotr_64(x, 14),\n\t\t\trotr18 = rotr_64(x, 18),\n\t\t\trotr41 = rotr_64(x, 41);\n\t\treturn new Int_64(rotr14.highOrder ^ rotr18.highOrder ^ rotr41.highOrder, rotr14.lowOrder ^ rotr18.lowOrder ^ rotr41.lowOrder)\n\t}\n\n\tfunction gamma0_32(x) {\n\t\treturn rotr_32(x, 7) ^ rotr_32(x, 18) ^ shr_32(x, 3)\n\t}\n\n\tfunction gamma0_64(x) {\n\t\tvar rotr1 = rotr_64(x, 1),\n\t\t\trotr8 = rotr_64(x, 8),\n\t\t\tshr7 = shr_64(x, 7);\n\t\treturn new Int_64(rotr1.highOrder ^ rotr8.highOrder ^ shr7.highOrder, rotr1.lowOrder ^ rotr8.lowOrder ^ shr7.lowOrder)\n\t}\n\n\tfunction gamma1_32(x) {\n\t\treturn rotr_32(x, 17) ^ rotr_32(x, 19) ^ shr_32(x, 10)\n\t}\n\n\tfunction gamma1_64(x) {\n\t\tvar rotr19 = rotr_64(x, 19),\n\t\t\trotr61 = rotr_64(x, 61),\n\t\t\tshr6 = shr_64(x, 6);\n\t\treturn new Int_64(rotr19.highOrder ^ rotr61.highOrder ^ shr6.highOrder, rotr19.lowOrder ^ rotr61.lowOrder ^ shr6.lowOrder)\n\t}\n\n\tfunction safeAdd_32_2(a, b) {\n\t\tvar lsw = (65535 & a) + (65535 & b);\n\t\treturn (65535 & (a >>> 16) + (b >>> 16) + (lsw >>> 16)) << 16 | 65535 & lsw\n\t}\n\n\tfunction safeAdd_32_4(a, b, c, d) {\n\t\tvar lsw = (65535 & a) + (65535 & b) + (65535 & c) + (65535 & d);\n\t\treturn (65535 & (a >>> 16) + (b >>> 16) + (c >>> 16) + (d >>> 16) + (lsw >>> 16)) << 16 | 65535 & lsw\n\t}\n\n\tfunction safeAdd_32_5(a, b, c, d, e) {\n\t\tvar lsw = (65535 & a) + (65535 & b) + (65535 & c) + (65535 & d) + (65535 & e);\n\t\treturn (65535 & (a >>> 16) + (b >>> 16) + (c >>> 16) + (d >>> 16) + (e >>> 16) + (lsw >>> 16)) << 16 | 65535 & lsw\n\t}\n\n\tfunction safeAdd_64_2(x, y) {\n\t\tvar lsw, msw, lowOrder;\n\t\tlsw = (65535 & x.lowOrder) + (65535 & y.lowOrder);\n\t\tlowOrder = (65535 & (msw = (x.lowOrder >>> 16) + (y.lowOrder >>> 16) + (lsw >>> 16))) << 16 | 65535 & lsw;\n\t\tlsw = (65535 & x.highOrder) + (65535 & y.highOrder) + (msw >>> 16);\n\t\treturn new Int_64((65535 & (msw = (x.highOrder >>> 16) + (y.highOrder >>> 16) + (lsw >>> 16))) << 16 | 65535 & lsw, lowOrder)\n\t}\n\n\tfunction safeAdd_64_4(a, b, c, d) {\n\t\tvar lsw, msw, lowOrder;\n\t\tlsw = (65535 & a.lowOrder) + (65535 & b.lowOrder) + (65535 & c.lowOrder) + (65535 & d.lowOrder);\n\t\tlowOrder = (65535 & (msw = (a.lowOrder >>> 16) + (b.lowOrder >>> 16) + (c.lowOrder >>> 16) + (d.lowOrder >>> 16) + (lsw >>> 16))) << 16 | 65535 & lsw;\n\t\tlsw = (65535 & a.highOrder) + (65535 & b.highOrder) + (65535 & c.highOrder) + (65535 & d.highOrder) + (msw >>> 16);\n\t\treturn new Int_64((65535 & (msw = (a.highOrder >>> 16) + (b.highOrder >>> 16) + (c.highOrder >>> 16) + (d.highOrder >>> 16) + (lsw >>> 16))) << 16 | 65535 & lsw, lowOrder)\n\t}\n\n\tfunction safeAdd_64_5(a, b, c, d, e) {\n\t\tvar lsw, msw, lowOrder;\n\t\tlsw = (65535 & a.lowOrder) + (65535 & b.lowOrder) + (65535 & c.lowOrder) + (65535 & d.lowOrder) + (65535 & e.lowOrder);\n\t\tlowOrder = (65535 & (msw = (a.lowOrder >>> 16) + (b.lowOrder >>> 16) + (c.lowOrder >>> 16) + (d.lowOrder >>> 16) + (e.lowOrder >>> 16) + (lsw >>> 16))) << 16 | 65535 & lsw;\n\t\tlsw = (65535 & a.highOrder) + (65535 & b.highOrder) + (65535 & c.highOrder) + (65535 & d.highOrder) + (65535 & e.highOrder) + (msw >>> 16);\n\t\treturn new Int_64((65535 & (msw = (a.highOrder >>> 16) + (b.highOrder >>> 16) + (c.highOrder >>> 16) + (d.highOrder >>> 16) + (e.highOrder >>> 16) + (lsw >>> 16))) << 16 | 65535 & lsw, lowOrder)\n\t}\n\n\tfunction xor_64_2(a, b) {\n\t\treturn new Int_64(a.highOrder ^ b.highOrder, a.lowOrder ^ b.lowOrder)\n\t}\n\n\tfunction xor_64_5(a, b, c, d, e) {\n\t\treturn new Int_64(a.highOrder ^ b.highOrder ^ c.highOrder ^ d.highOrder ^ e.highOrder, a.lowOrder ^ b.lowOrder ^ c.lowOrder ^ d.lowOrder ^ e.lowOrder)\n\t}\n\n\tfunction cloneSHA3State(state) {\n\t\tvar i, clone = [];\n\t\tfor (i = 0; i < 5; i += 1) clone[i] = state[i].slice();\n\t\treturn clone\n\t}\n\n\tfunction getNewState(variant) {\n\t\tvar H_trunc, H_full, i, retVal = [];\n\t\tif (\"SHA-1\" === variant && 0 !== (1 & SUPPORTED_ALGS)) retVal = [1732584193, 4023233417, 2562383102, 271733878, 3285377520];\n\t\telse if (0 === variant.lastIndexOf(\"SHA-\", 0) && 0 !== (6 & SUPPORTED_ALGS)) {\n\t\t\tH_trunc = [3238371032, 914150663, 812702999, 4144912697, 4290775857, 1750603025, 1694076839, 3204075428];\n\t\t\tH_full = [1779033703, 3144134277, 1013904242, 2773480762, 1359893119, 2600822924, 528734635, 1541459225];\n\t\t\tswitch (variant) {\n\t\t\tcase \"SHA-224\":\n\t\t\t\tretVal = H_trunc;\n\t\t\t\tbreak;\n\t\t\tcase \"SHA-256\":\n\t\t\t\tretVal = H_full;\n\t\t\t\tbreak;\n\t\t\tcase \"SHA-384\":\n\t\t\t\tretVal = [new Int_64(3418070365, H_trunc[0]), new Int_64(1654270250, H_trunc[1]), new Int_64(2438529370, H_trunc[2]), new Int_64(355462360, H_trunc[3]), new Int_64(1731405415, H_trunc[4]), new Int_64(41048885895, H_trunc[5]), new Int_64(3675008525, H_trunc[6]), new Int_64(1203062813, H_trunc[7])];\n\t\t\t\tbreak;\n\t\t\tcase \"SHA-512\":\n\t\t\t\tretVal = [new Int_64(H_full[0], 4089235720), new Int_64(H_full[1], 2227873595), new Int_64(H_full[2], 4271175723), new Int_64(H_full[3], 1595750129), new Int_64(H_full[4], 2917565137), new Int_64(H_full[5], 725511199), new Int_64(H_full[6], 4215389547), new Int_64(H_full[7], 327033209)];\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tthrow new Error(\"Unknown SHA variant\")\n\t\t\t}\n\t\t} else if ((0 === variant.lastIndexOf(\"SHA3-\", 0) || 0 === variant.lastIndexOf(\"SHAKE\", 0)) && 0 !== (8 & SUPPORTED_ALGS))\n\t\t\tfor (i = 0; i < 5; i += 1) retVal[i] = [new Int_64(0, 0), new Int_64(0, 0), new Int_64(0, 0), new Int_64(0, 0), new Int_64(0, 0)];\n\t\telse throw new Error(\"No SHA variants supported\");\n\t\treturn retVal\n\t}\n\n\tfunction roundSHA1(block, H) {\n\t\tvar a, b, c, d, e, T, t, W = [],\n\t\t\tch = ch_32,\n\t\t\tparity = parity_32,\n\t\t\tmaj = maj_32,\n\t\t\trotl = rotl_32,\n\t\t\tsafeAdd_2 = safeAdd_32_2,\n\t\t\tsafeAdd_5 = safeAdd_32_5;\n\t\ta = H[0];\n\t\tb = H[1];\n\t\tc = H[2];\n\t\td = H[3];\n\t\te = H[4];\n\t\tfor (t = 0; t < 80; t += 1) {\n\t\t\tif (t < 16) W[t] = block[t];\n\t\t\telse W[t] = rotl(W[t - 3] ^ W[t - 8] ^ W[t - 14] ^ W[t - 16], 1);\n\t\t\tif (t < 20) T = safeAdd_5(rotl(a, 5), ch(b, c, d), e, 1518500249, W[t]);\n\t\t\telse if (t < 40) T = safeAdd_5(rotl(a, 5), parity(b, c, d), e, 1859775393, W[t]);\n\t\t\telse if (t < 60) T = safeAdd_5(rotl(a, 5), maj(b, c, d), e, 2400959708, W[t]);\n\t\t\telse T = safeAdd_5(rotl(a, 5), parity(b, c, d), e, 3395469782, W[t]);\n\t\t\te = d;\n\t\t\td = c;\n\t\t\tc = rotl(b, 30);\n\t\t\tb = a;\n\t\t\ta = T\n\t\t}\n\t\tH[0] = safeAdd_2(a, H[0]);\n\t\tH[1] = safeAdd_2(b, H[1]);\n\t\tH[2] = safeAdd_2(c, H[2]);\n\t\tH[3] = safeAdd_2(d, H[3]);\n\t\tH[4] = safeAdd_2(e, H[4]);\n\t\treturn H\n\t}\n\n\tfunction finalizeSHA1(remainder, remainderBinLen, processedBinLen, H, outputLen) {\n\t\tvar i, appendedMessageLength, offset, totalLen;\n\t\toffset = 15 + (remainderBinLen + 65 >>> 9 << 4);\n\t\twhile (remainder.length <= offset) remainder.push(0);\n\t\tremainder[remainderBinLen >>> 5] |= 128 << 24 - remainderBinLen % 32;\n\t\ttotalLen = remainderBinLen + processedBinLen;\n\t\tremainder[offset] = 4294967295 & totalLen;\n\t\tremainder[offset - 1] = totalLen / TWO_PWR_32 | 0;\n\t\tappendedMessageLength = remainder.length;\n\t\tfor (i = 0; i < appendedMessageLength; i += 16) H = roundSHA1(remainder.slice(i, i + 16), H);\n\t\treturn H\n\t}\n\n\tfunction roundSHA2(block, H, variant) {\n\t\tvar a, b, c, d, e, f, g, h, T1, T2, numRounds, t, binaryStringMult, safeAdd_2, safeAdd_4, safeAdd_5, gamma0, gamma1, sigma0, sigma1, ch, maj, Int, int1, int2, offset, K, W = [];\n\t\tif ((\"SHA-224\" === variant || \"SHA-256\" === variant) && 0 !== (2 & SUPPORTED_ALGS)) {\n\t\t\tnumRounds = 64;\n\t\t\tbinaryStringMult = 1;\n\t\t\tInt = Number;\n\t\t\tsafeAdd_2 = safeAdd_32_2;\n\t\t\tsafeAdd_4 = safeAdd_32_4;\n\t\t\tsafeAdd_5 = safeAdd_32_5;\n\t\t\tgamma0 = gamma0_32;\n\t\t\tgamma1 = gamma1_32;\n\t\t\tsigma0 = sigma0_32;\n\t\t\tsigma1 = sigma1_32;\n\t\t\tmaj = maj_32;\n\t\t\tch = ch_32;\n\t\t\tK = K_sha2\n\t\t} else if ((\"SHA-384\" === variant || \"SHA-512\" === variant) && 0 !== (4 & SUPPORTED_ALGS)) {\n\t\t\tnumRounds = 80;\n\t\t\tbinaryStringMult = 2;\n\t\t\tInt = Int_64;\n\t\t\tsafeAdd_2 = safeAdd_64_2;\n\t\t\tsafeAdd_4 = safeAdd_64_4;\n\t\t\tsafeAdd_5 = safeAdd_64_5;\n\t\t\tgamma0 = gamma0_64;\n\t\t\tgamma1 = gamma1_64;\n\t\t\tsigma0 = sigma0_64;\n\t\t\tsigma1 = sigma1_64;\n\t\t\tmaj = maj_64;\n\t\t\tch = ch_64;\n\t\t\tK = K_sha512\n\t\t} else throw new Error(\"Unexpected error in SHA-2 implementation\");\n\t\ta = H[0];\n\t\tb = H[1];\n\t\tc = H[2];\n\t\td = H[3];\n\t\te = H[4];\n\t\tf = H[5];\n\t\tg = H[6];\n\t\th = H[7];\n\t\tfor (t = 0; t < numRounds; t += 1) {\n\t\t\tif (t < 16) {\n\t\t\t\toffset = t * binaryStringMult;\n\t\t\t\tint1 = block.length <= offset ? 0 : block[offset];\n\t\t\t\tint2 = block.length <= offset + 1 ? 0 : block[offset + 1];\n\t\t\t\tW[t] = new Int(int1, int2)\n\t\t\t} else W[t] = safeAdd_4(gamma1(W[t - 2]), W[t - 7], gamma0(W[t - 15]), W[t - 16]);\n\t\t\tT1 = safeAdd_5(h, sigma1(e), ch(e, f, g), K[t], W[t]);\n\t\t\tT2 = safeAdd_2(sigma0(a), maj(a, b, c));\n\t\t\th = g;\n\t\t\tg = f;\n\t\t\tf = e;\n\t\t\te = safeAdd_2(d, T1);\n\t\t\td = c;\n\t\t\tc = b;\n\t\t\tb = a;\n\t\t\ta = safeAdd_2(T1, T2)\n\t\t}\n\t\tH[0] = safeAdd_2(a, H[0]);\n\t\tH[1] = safeAdd_2(b, H[1]);\n\t\tH[2] = safeAdd_2(c, H[2]);\n\t\tH[3] = safeAdd_2(d, H[3]);\n\t\tH[4] = safeAdd_2(e, H[4]);\n\t\tH[5] = safeAdd_2(f, H[5]);\n\t\tH[6] = safeAdd_2(g, H[6]);\n\t\tH[7] = safeAdd_2(h, H[7]);\n\t\treturn H\n\t}\n\n\tfunction finalizeSHA2(remainder, remainderBinLen, processedBinLen, H, variant, outputLen) {\n\t\tvar i, appendedMessageLength, offset, retVal, binaryStringInc, totalLen;\n\t\tif ((\"SHA-224\" === variant || \"SHA-256\" === variant) && 0 !== (2 & SUPPORTED_ALGS)) {\n\t\t\toffset = 15 + (remainderBinLen + 65 >>> 9 << 4);\n\t\t\tbinaryStringInc = 16\n\t\t} else if ((\"SHA-384\" === variant || \"SHA-512\" === variant) && 0 !== (4 & SUPPORTED_ALGS)) {\n\t\t\toffset = 31 + (remainderBinLen + 129 >>> 10 << 5);\n\t\t\tbinaryStringInc = 32\n\t\t} else throw new Error(\"Unexpected error in SHA-2 implementation\");\n\t\twhile (remainder.length <= offset) remainder.push(0);\n\t\tremainder[remainderBinLen >>> 5] |= 128 << 24 - remainderBinLen % 32;\n\t\ttotalLen = remainderBinLen + processedBinLen;\n\t\tremainder[offset] = 4294967295 & totalLen;\n\t\tremainder[offset - 1] = totalLen / TWO_PWR_32 | 0;\n\t\tappendedMessageLength = remainder.length;\n\t\tfor (i = 0; i < appendedMessageLength; i += binaryStringInc) H = roundSHA2(remainder.slice(i, i + binaryStringInc), H, variant);\n\t\tif (\"SHA-224\" === variant && 0 !== (2 & SUPPORTED_ALGS)) retVal = [H[0], H[1], H[2], H[3], H[4], H[5], H[6]];\n\t\telse if (\"SHA-256\" === variant && 0 !== (2 & SUPPORTED_ALGS)) retVal = H;\n\t\telse if (\"SHA-384\" === variant && 0 !== (4 & SUPPORTED_ALGS)) retVal = [H[0].highOrder, H[0].lowOrder, H[1].highOrder, H[1].lowOrder, H[2].highOrder, H[2].lowOrder, H[3].highOrder, H[3].lowOrder, H[4].highOrder, H[4].lowOrder, H[5].highOrder, H[5].lowOrder];\n\t\telse if (\"SHA-512\" === variant && 0 !== (4 & SUPPORTED_ALGS)) retVal = [H[0].highOrder, H[0].lowOrder, H[1].highOrder, H[1].lowOrder, H[2].highOrder, H[2].lowOrder, H[3].highOrder, H[3].lowOrder, H[4].highOrder, H[4].lowOrder, H[5].highOrder, H[5].lowOrder, H[6].highOrder, H[6].lowOrder, H[7].highOrder, H[7].lowOrder];\n\t\telse throw new Error(\"Unexpected error in SHA-2 implementation\");\n\t\treturn retVal\n\t}\n\n\tfunction roundSHA3(block, state) {\n\t\tvar round, x, y, B, C = [],\n\t\t\tD = [];\n\t\tif (null !== block)\n\t\t\tfor (x = 0; x < block.length; x += 2) state[(x >>> 1) % 5][(x >>> 1) / 5 | 0] = xor_64_2(state[(x >>> 1) % 5][(x >>> 1) / 5 | 0], new Int_64(block[x + 1], block[x]));\n\t\tfor (round = 0; round < 24; round += 1) {\n\t\t\tB = getNewState(\"SHA3-\");\n\t\t\tfor (x = 0; x < 5; x += 1) C[x] = xor_64_5(state[x][0], state[x][1], state[x][2], state[x][3], state[x][4]);\n\t\t\tfor (x = 0; x < 5; x += 1) D[x] = xor_64_2(C[(x + 4) % 5], rotl_64(C[(x + 1) % 5], 1));\n\t\t\tfor (x = 0; x < 5; x += 1)\n\t\t\t\tfor (y = 0; y < 5; y += 1) state[x][y] = xor_64_2(state[x][y], D[x]);\n\t\t\tfor (x = 0; x < 5; x += 1)\n\t\t\t\tfor (y = 0; y < 5; y += 1) B[y][(2 * x + 3 * y) % 5] = rotl_64(state[x][y], r_sha3[x][y]);\n\t\t\tfor (x = 0; x < 5; x += 1)\n\t\t\t\tfor (y = 0; y < 5; y += 1) state[x][y] = xor_64_2(B[x][y], new Int_64(~B[(x + 1) % 5][y].highOrder & B[(x + 2) % 5][y].highOrder, ~B[(x + 1) % 5][y].lowOrder & B[(x + 2) % 5][y].lowOrder));\n\t\t\tstate[0][0] = xor_64_2(state[0][0], rc_sha3[round])\n\t\t}\n\t\treturn state\n\t}\n\n\tfunction finalizeSHA3(remainder, remainderBinLen, processedBinLen, state, blockSize, delimiter, outputLen) {\n\t\tvar i, temp, retVal = [],\n\t\t\tbinaryStringInc = blockSize >>> 5,\n\t\t\tstate_offset = 0,\n\t\t\tremainderIntLen = remainderBinLen >>> 5;\n\t\tfor (i = 0; i < remainderIntLen && remainderBinLen >= blockSize; i += binaryStringInc) {\n\t\t\tstate = roundSHA3(remainder.slice(i, i + binaryStringInc), state);\n\t\t\tremainderBinLen -= blockSize\n\t\t}\n\t\tremainder = remainder.slice(i);\n\t\tremainderBinLen %= blockSize;\n\t\twhile (remainder.length < binaryStringInc) remainder.push(0);\n\t\tremainder[(i = remainderBinLen >>> 3) >> 2] ^= delimiter << i % 4 * 8;\n\t\tremainder[binaryStringInc - 1] ^= 2147483648;\n\t\tstate = roundSHA3(remainder, state);\n\t\twhile (32 * retVal.length < outputLen) {\n\t\t\ttemp = state[state_offset % 5][state_offset / 5 | 0];\n\t\t\tretVal.push(temp.lowOrder);\n\t\t\tif (32 * retVal.length >= outputLen) break;\n\t\t\tretVal.push(temp.highOrder);\n\t\t\tif (0 === 64 * (state_offset += 1) % blockSize) roundSHA3(null, state)\n\t\t}\n\t\treturn retVal\n\t}\n\tvar K_sha2, K_sha512, r_sha3, rc_sha3, jsSHA, TWO_PWR_32 = 4294967296;\n\tif (0 !== (6 & SUPPORTED_ALGS)) {\n\t\tK_sha2 = [1116352408, 1899447441, 3049323471, 3921009573, 961987163, 1508970993, 2453635748, 2870763221, 3624381080, 310598401, 607225278, 1426881987, 1925078388, 2162078206, 2614888103, 3248222580, 3835390401, 4022224774, 264347078, 604807628, 770255983, 1249150122, 1555081692, 1996064986, 2554220882, 2821834349, 2952996808, 3210313671, 3336571891, 3584528711, 113926993, 338241895, 666307205, 773529912, 1294757372, 1396182291, 1695183700, 1986661051, 2177026350, 2456956037, 2730485921, 2820302411, 3259730800, 3345764771, 3516065817, 3600352804, 4094571909, 275423344, 430227734, 506948616, 659060556, 883997877, 958139571, 1322822218, 1537002063, 1747873779, 1955562222, 2024104815, 2227730452, 2361852424, 2428436474, 2756734187, 3204031479, 3329325298];\n\t\tif (0 !== (4 & SUPPORTED_ALGS)) K_sha512 = [new Int_64(K_sha2[0], 3609767458), new Int_64(K_sha2[1], 602891725), new Int_64(K_sha2[2], 3964484399), new Int_64(K_sha2[3], 2173295548), new Int_64(K_sha2[4], 4081628472), new Int_64(K_sha2[5], 3053834265), new Int_64(K_sha2[6], 2937671579), new Int_64(K_sha2[7], 3664609560), new Int_64(K_sha2[8], 2734883394), new Int_64(K_sha2[9], 1164996542), new Int_64(K_sha2[10], 1323610764), new Int_64(K_sha2[11], 3590304994), new Int_64(K_sha2[12], 4068182383), new Int_64(K_sha2[13], 991336113), new Int_64(K_sha2[14], 633803317), new Int_64(K_sha2[15], 3479774868), new Int_64(K_sha2[16], 2666613458), new Int_64(K_sha2[17], 944711139), new Int_64(K_sha2[18], 2341262773), new Int_64(K_sha2[19], 2007800933), new Int_64(K_sha2[20], 1495990901), new Int_64(K_sha2[21], 1856431235), new Int_64(K_sha2[22], 3175218132), new Int_64(K_sha2[23], 2198950837), new Int_64(K_sha2[24], 3999719339), new Int_64(K_sha2[25], 766784016), new Int_64(K_sha2[26], 2566594879), new Int_64(K_sha2[27], 3203337956), new Int_64(K_sha2[28], 1034457026), new Int_64(K_sha2[29], 2466948901), new Int_64(K_sha2[30], 3758326383), new Int_64(K_sha2[31], 168717936), new Int_64(K_sha2[32], 1188179964), new Int_64(K_sha2[33], 1546045734), new Int_64(K_sha2[34], 1522805485), new Int_64(K_sha2[35], 2643833823), new Int_64(K_sha2[36], 2343527390), new Int_64(K_sha2[37], 1014477480), new Int_64(K_sha2[38], 1206759142), new Int_64(K_sha2[39], 344077627), new Int_64(K_sha2[40], 1290863460), new Int_64(K_sha2[41], 3158454273), new Int_64(K_sha2[42], 3505952657), new Int_64(K_sha2[43], 106217008), new Int_64(K_sha2[44], 3606008344), new Int_64(K_sha2[45], 1432725776), new Int_64(K_sha2[46], 1467031594), new Int_64(K_sha2[47], 851169720), new Int_64(K_sha2[48], 3100823752), new Int_64(K_sha2[49], 1363258195), new Int_64(K_sha2[50], 3750685593), new Int_64(K_sha2[51], 3785050280), new Int_64(K_sha2[52], 3318307427), new Int_64(K_sha2[53], 3812723403), new Int_64(K_sha2[54], 2003034995), new Int_64(K_sha2[55], 3602036899), new Int_64(K_sha2[56], 1575990012), new Int_64(K_sha2[57], 1125592928), new Int_64(K_sha2[58], 2716904306), new Int_64(K_sha2[59], 442776044), new Int_64(K_sha2[60], 593698344), new Int_64(K_sha2[61], 3733110249), new Int_64(K_sha2[62], 2999351573), new Int_64(K_sha2[63], 3815920427), new Int_64(3391569614, 3928383900), new Int_64(3515267271, 566280711), new Int_64(3940187606, 3454069534), new Int_64(4118630271, 4000239992), new Int_64(116418474, 1914138554), new Int_64(174292421, 2731055270), new Int_64(289380356, 3203993006), new Int_64(460393269, 320620315), new Int_64(685471733, 587496836), new Int_64(852142971, 1086792851), new Int_64(1017036298, 365543100), new Int_64(1126000580, 2618297676), new Int_64(1288033470, 3409855158), new Int_64(1501505948, 4234509866), new Int_64(1607167915, 987167468), new Int_64(1816402316, 1246189591)]\n\t}\n\tif (0 !== (8 & SUPPORTED_ALGS)) {\n\t\trc_sha3 = [new Int_64(0, 1), new Int_64(0, 32898), new Int_64(2147483648, 32906), new Int_64(2147483648, 2147516416), new Int_64(0, 32907), new Int_64(0, 2147483649), new Int_64(2147483648, 2147516545), new Int_64(2147483648, 32777), new Int_64(0, 138), new Int_64(0, 136), new Int_64(0, 2147516425), new Int_64(0, 2147483658), new Int_64(0, 2147516555), new Int_64(2147483648, 139), new Int_64(2147483648, 32905), new Int_64(2147483648, 32771), new Int_64(2147483648, 32770), new Int_64(2147483648, 128), new Int_64(0, 32778), new Int_64(2147483648, 2147483658), new Int_64(2147483648, 2147516545), new Int_64(2147483648, 32896), new Int_64(0, 2147483649), new Int_64(2147483648, 2147516424)];\n\t\tr_sha3 = [\n\t\t\t[0, 36, 3, 41, 18],\n\t\t\t[1, 44, 10, 45, 2],\n\t\t\t[62, 6, 43, 15, 61],\n\t\t\t[28, 55, 25, 21, 56],\n\t\t\t[27, 20, 39, 8, 14]\n\t\t]\n\t}\n\tjsSHA = function (variant, inputFormat, options) {\n\t\tvar intermediateState, converterFunc, outputBinLen, variantBlockSize, roundFunc, finalizeFunc, stateCloneFunc, delimiter, processedLen = 0,\n\t\t\tremainder = [],\n\t\t\tremainderLen = 0,\n\t\t\tshaVariant = variant,\n\t\t\thmacKeySet = false,\n\t\t\tkeyWithIPad = [],\n\t\t\tkeyWithOPad = [],\n\t\t\tupdatedCalled = false,\n\t\t\tisSHAKE = false,\n\t\t\tbigEndianMod = -1,\n\t\t\tinputOptions = options || {},\n\t\t\tutfType = inputOptions.encoding || \"UTF8\",\n\t\t\tnumRounds = inputOptions.numRounds || 1;\n\t\tif (numRounds !== parseInt(numRounds, 10) || 1 > numRounds) throw new Error(\"numRounds must a integer >= 1\");\n\t\tif (\"SHA-1\" === shaVariant && 0 !== (1 & SUPPORTED_ALGS)) {\n\t\t\tvariantBlockSize = 512;\n\t\t\troundFunc = roundSHA1;\n\t\t\tfinalizeFunc = finalizeSHA1;\n\t\t\toutputBinLen = 160;\n\t\t\tstateCloneFunc = function (state) {\n\t\t\t\treturn state.slice()\n\t\t\t}\n\t\t} else if (0 === shaVariant.lastIndexOf(\"SHA-\", 0) && 0 !== (6 & SUPPORTED_ALGS)) {\n\t\t\troundFunc = function (block, H) {\n\t\t\t\treturn roundSHA2(block, H, shaVariant)\n\t\t\t};\n\t\t\tfinalizeFunc = function (remainder, remainderBinLen, processedBinLen, H, outputLen) {\n\t\t\t\treturn finalizeSHA2(remainder, remainderBinLen, processedBinLen, H, shaVariant, outputLen)\n\t\t\t};\n\t\t\tstateCloneFunc = function (state) {\n\t\t\t\treturn state.slice()\n\t\t\t};\n\t\t\tif (\"SHA-224\" === shaVariant && 0 !== (2 & SUPPORTED_ALGS)) {\n\t\t\t\tvariantBlockSize = 512;\n\t\t\t\toutputBinLen = 224\n\t\t\t} else if (\"SHA-256\" === shaVariant && 0 !== (2 & SUPPORTED_ALGS)) {\n\t\t\t\tvariantBlockSize = 512;\n\t\t\t\toutputBinLen = 256\n\t\t\t} else if (\"SHA-384\" === shaVariant && 0 !== (4 & SUPPORTED_ALGS)) {\n\t\t\t\tvariantBlockSize = 1024;\n\t\t\t\toutputBinLen = 384\n\t\t\t} else if (\"SHA-512\" === shaVariant && 0 !== (4 & SUPPORTED_ALGS)) {\n\t\t\t\tvariantBlockSize = 1024;\n\t\t\t\toutputBinLen = 512\n\t\t\t} else throw new Error(\"Chosen SHA variant is not supported\")\n\t\t} else if ((0 === shaVariant.lastIndexOf(\"SHA3-\", 0) || 0 === shaVariant.lastIndexOf(\"SHAKE\", 0)) && 0 !== (8 & SUPPORTED_ALGS)) {\n\t\t\tdelimiter = 6;\n\t\t\troundFunc = roundSHA3;\n\t\t\tstateCloneFunc = function (state) {\n\t\t\t\treturn cloneSHA3State(state)\n\t\t\t};\n\t\t\tbigEndianMod = 1;\n\t\t\tif (\"SHA3-224\" === shaVariant) {\n\t\t\t\tvariantBlockSize = 1152;\n\t\t\t\toutputBinLen = 224\n\t\t\t} else if (\"SHA3-256\" === shaVariant) {\n\t\t\t\tvariantBlockSize = 1088;\n\t\t\t\toutputBinLen = 256\n\t\t\t} else if (\"SHA3-384\" === shaVariant) {\n\t\t\t\tvariantBlockSize = 832;\n\t\t\t\toutputBinLen = 384\n\t\t\t} else if (\"SHA3-512\" === shaVariant) {\n\t\t\t\tvariantBlockSize = 576;\n\t\t\t\toutputBinLen = 512\n\t\t\t} else if (\"SHAKE128\" === shaVariant) {\n\t\t\t\tvariantBlockSize = 1344;\n\t\t\t\toutputBinLen = -1;\n\t\t\t\tdelimiter = 31;\n\t\t\t\tisSHAKE = true\n\t\t\t} else if (\"SHAKE256\" === shaVariant) {\n\t\t\t\tvariantBlockSize = 1088;\n\t\t\t\toutputBinLen = -1;\n\t\t\t\tdelimiter = 31;\n\t\t\t\tisSHAKE = true\n\t\t\t} else throw new Error(\"Chosen SHA variant is not supported\");\n\t\t\tfinalizeFunc = function (remainder, remainderBinLen, processedBinLen, state, outputLen) {\n\t\t\t\treturn finalizeSHA3(remainder, remainderBinLen, processedBinLen, state, variantBlockSize, delimiter, outputLen)\n\t\t\t}\n\t\t} else throw new Error(\"Chosen SHA variant is not supported\");\n\t\tconverterFunc = getStrConverter(inputFormat, utfType, bigEndianMod);\n\t\tintermediateState = getNewState(shaVariant);\n\t\tthis.setHMACKey = function (key, inputFormat, options) {\n\t\t\tvar convertRet, keyBinLen, keyToUse, blockByteSize, i, lastArrayIndex;\n\t\t\tif (true === hmacKeySet) throw new Error(\"HMAC key already set\");\n\t\t\tif (true === updatedCalled) throw new Error(\"Cannot set HMAC key after calling update\");\n\t\t\tif (true === isSHAKE && 0 !== (8 & SUPPORTED_ALGS)) throw new Error(\"SHAKE is not supported for HMAC\");\n\t\t\tkeyBinLen = (convertRet = getStrConverter(inputFormat, utfType = (options || {})\n\t\t\t\t\t.encoding || \"UTF8\", bigEndianMod)(key))\n\t\t\t\t.binLen;\n\t\t\tkeyToUse = convertRet.value;\n\t\t\tlastArrayIndex = (blockByteSize = variantBlockSize >>> 3) / 4 - 1;\n\t\t\tif (blockByteSize < keyBinLen / 8) {\n\t\t\t\tkeyToUse = finalizeFunc(keyToUse, keyBinLen, 0, getNewState(shaVariant), outputBinLen);\n\t\t\t\twhile (keyToUse.length <= lastArrayIndex) keyToUse.push(0);\n\t\t\t\tkeyToUse[lastArrayIndex] &= 4294967040\n\t\t\t} else if (blockByteSize > keyBinLen / 8) {\n\t\t\t\twhile (keyToUse.length <= lastArrayIndex) keyToUse.push(0);\n\t\t\t\tkeyToUse[lastArrayIndex] &= 4294967040\n\t\t\t}\n\t\t\tfor (i = 0; i <= lastArrayIndex; i += 1) {\n\t\t\t\tkeyWithIPad[i] = 909522486 ^ keyToUse[i];\n\t\t\t\tkeyWithOPad[i] = 1549556828 ^ keyToUse[i]\n\t\t\t}\n\t\t\tintermediateState = roundFunc(keyWithIPad, intermediateState);\n\t\t\tprocessedLen = variantBlockSize;\n\t\t\thmacKeySet = true\n\t\t};\n\t\tthis.update = function (srcString) {\n\t\t\tvar convertRet, chunkBinLen, chunkIntLen, chunk, i, updateProcessedLen = 0,\n\t\t\t\tvariantBlockIntInc = variantBlockSize >>> 5;\n\t\t\tchunkBinLen = (convertRet = converterFunc(srcString, remainder, remainderLen))\n\t\t\t\t.binLen;\n\t\t\tchunk = convertRet.value;\n\t\t\tchunkIntLen = chunkBinLen >>> 5;\n\t\t\tfor (i = 0; i < chunkIntLen; i += variantBlockIntInc)\n\t\t\t\tif (updateProcessedLen + variantBlockSize <= chunkBinLen) {\n\t\t\t\t\tintermediateState = roundFunc(chunk.slice(i, i + variantBlockIntInc), intermediateState);\n\t\t\t\t\tupdateProcessedLen += variantBlockSize\n\t\t\t\t} processedLen += updateProcessedLen;\n\t\t\tremainder = chunk.slice(updateProcessedLen >>> 5);\n\t\t\tremainderLen = chunkBinLen % variantBlockSize;\n\t\t\tupdatedCalled = true\n\t\t};\n\t\tthis.getHash = function (format, options) {\n\t\t\tvar formatFunc, i, outputOptions, finalizedState;\n\t\t\tif (true === hmacKeySet) throw new Error(\"Cannot call getHash after setting HMAC key\");\n\t\t\toutputOptions = getOutputOpts(options);\n\t\t\tif (true === isSHAKE && 0 !== (8 & SUPPORTED_ALGS)) {\n\t\t\t\tif (-1 === outputOptions.shakeLen) throw new Error(\"shakeLen must be specified in options\");\n\t\t\t\toutputBinLen = outputOptions.shakeLen\n\t\t\t}\n\t\t\tswitch (format) {\n\t\t\tcase \"HEX\":\n\t\t\t\tformatFunc = function (binarray) {\n\t\t\t\t\treturn packed2hex(binarray, outputBinLen, bigEndianMod, outputOptions)\n\t\t\t\t};\n\t\t\t\tbreak;\n\t\t\tcase \"B64\":\n\t\t\t\tformatFunc = function (binarray) {\n\t\t\t\t\treturn packed2b64(binarray, outputBinLen, bigEndianMod, outputOptions)\n\t\t\t\t};\n\t\t\t\tbreak;\n\t\t\tcase \"BYTES\":\n\t\t\t\tformatFunc = function (binarray) {\n\t\t\t\t\treturn packed2bytes(binarray, outputBinLen, bigEndianMod)\n\t\t\t\t};\n\t\t\t\tbreak;\n\t\t\tcase \"ARRAYBUFFER\":\n\t\t\t\ttry {\n\t\t\t\t\ti = new ArrayBuffer(0)\n\t\t\t\t} catch (ignore) {\n\t\t\t\t\tthrow new Error(\"ARRAYBUFFER not supported by this environment\")\n\t\t\t\t}\n\t\t\t\tformatFunc = function (binarray) {\n\t\t\t\t\treturn packed2arraybuffer(binarray, outputBinLen, bigEndianMod)\n\t\t\t\t};\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tthrow new Error(\"format must be HEX, B64, BYTES, or ARRAYBUFFER\")\n\t\t\t}\n\t\t\tfinalizedState = finalizeFunc(remainder.slice(), remainderLen, processedLen, stateCloneFunc(intermediateState), outputBinLen);\n\t\t\tfor (i = 1; i < numRounds; i += 1) {\n\t\t\t\tif (0 !== (8 & SUPPORTED_ALGS) && true === isSHAKE && outputBinLen % 32 !== 0) finalizedState[finalizedState.length - 1] &= 16777215 >>> 24 - outputBinLen % 32;\n\t\t\t\tfinalizedState = finalizeFunc(finalizedState, outputBinLen, 0, getNewState(shaVariant), outputBinLen)\n\t\t\t}\n\t\t\treturn formatFunc(finalizedState)\n\t\t};\n\t\tthis.getHMAC = function (format, options) {\n\t\t\tvar formatFunc, firstHash, outputOptions, finalizedState;\n\t\t\tif (false === hmacKeySet) throw new Error(\"Cannot call getHMAC without first setting HMAC key\");\n\t\t\toutputOptions = getOutputOpts(options);\n\t\t\tswitch (format) {\n\t\t\tcase \"HEX\":\n\t\t\t\tformatFunc = function (binarray) {\n\t\t\t\t\treturn packed2hex(binarray, outputBinLen, bigEndianMod, outputOptions)\n\t\t\t\t};\n\t\t\t\tbreak;\n\t\t\tcase \"B64\":\n\t\t\t\tformatFunc = function (binarray) {\n\t\t\t\t\treturn packed2b64(binarray, outputBinLen, bigEndianMod, outputOptions)\n\t\t\t\t};\n\t\t\t\tbreak;\n\t\t\tcase \"BYTES\":\n\t\t\t\tformatFunc = function (binarray) {\n\t\t\t\t\treturn packed2bytes(binarray, outputBinLen, bigEndianMod)\n\t\t\t\t};\n\t\t\t\tbreak;\n\t\t\tcase \"ARRAYBUFFER\":\n\t\t\t\ttry {\n\t\t\t\t\tformatFunc = new ArrayBuffer(0)\n\t\t\t\t} catch (ignore) {\n\t\t\t\t\tthrow new Error(\"ARRAYBUFFER not supported by this environment\")\n\t\t\t\t}\n\t\t\t\tformatFunc = function (binarray) {\n\t\t\t\t\treturn packed2arraybuffer(binarray, outputBinLen, bigEndianMod)\n\t\t\t\t};\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tthrow new Error(\"outputFormat must be HEX, B64, BYTES, or ARRAYBUFFER\")\n\t\t\t}\n\t\t\tfirstHash = finalizeFunc(remainder.slice(), remainderLen, processedLen, stateCloneFunc(intermediateState), outputBinLen);\n\t\t\tfinalizedState = roundFunc(keyWithOPad, getNewState(shaVariant));\n\t\t\treturn formatFunc(finalizedState = finalizeFunc(firstHash, outputBinLen, variantBlockSize, finalizedState, outputBinLen))\n\t\t}\n\t};\n\tif (\"function\" === typeof define && define.amd) define(function () {\n\t\treturn jsSHA\n\t});\n\telse if (\"undefined\" !== typeof exports)\n\t\tif (\"undefined\" !== typeof module && module.exports) {\n\t\t\tmodule.exports = jsSHA;\n\t\t\texports = jsSHA\n\t\t} else exports = jsSHA;\n\telse global.jsSHA = jsSHA\n})(this);\n(function (global) {\n\t\"use strict\";\n\n\tfunction definition(path, Failure, iterate, isObject) {\n\t\tfunction isEnabled(path) {\n\t\t\tvar match;\n\t\t\titerate(settings, function (key, value) {\n\t\t\t\tif (key === path) {\n\t\t\t\t\tmatch = value;\n\t\t\t\t\treturn false\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn match || false\n\t\t}\n\t\tvar settings;\n\t\tdemand.on(\"postConfigure:\" + path, function (options) {\n\t\t\t\tif (isObject(options)) settings = options\n\t\t\t})\n\t\t\t.on(\"postRequest\", function (dependency) {\n\t\t\t\tvar options, sha, hash;\n\t\t\t\tif (options = isEnabled(dependency.path)) try {\n\t\t\t\t\t(sha = new global.jsSHA(options.type, \"TEXT\"))\n\t\t\t\t\t.update(dependency.source);\n\t\t\t\t\tif ((hash = sha.getHash(\"B64\")) !== options.hash) dependency.dfd.reject(new Failure('hash mismatch, should be \"' + options.hash + '\" but is \"' + hash + '\" (sri)', dependency.id))\n\t\t\t\t} catch (error) {\n\t\t\t\t\tdependency.dfd.reject(new Failure(\"unsupported hashing algorithm (sri)\", dependency.id))\n\t\t\t\t}\n\t\t\t});\n\t\treturn true\n\t}\n\tprovide([\"path\", \"/demand/failure\", \"/demand/function/iterate\", \"/demand/validator/isObject\"], definition)\n})(this);\n"]} \ No newline at end of file diff --git a/package.json b/package.json index c3be465..4704237 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "qoopido.demand", "title": "Qoopido.demand", "description": "Promise like module loader using XHR requests and localStorage caching to dynamically load JavaScript and CSS + dynamic dependency resolution + support for custom handlers", - "version": "5.1.0", + "version": "5.1.1", "homepage": "https://github.com/dlueth/qoopido.demand", "author": { "name": "Dirk Lueth", diff --git a/src/function/idle.js b/src/function/idle.js index 7f9be56..19228e1 100644 --- a/src/function/idle.js +++ b/src/function/idle.js @@ -25,8 +25,6 @@ var functionIdle = (function() { var fn; if(queue.length && (event.type !== 'visibilitychange' || document.visibilityState === 'hidden')) { - global.removeEventListener(eventName, onVisibilitychange, TRUE); - current = cancelIdleCallback(current); do {