diff --git a/dist/cache/dispose.js b/dist/cache/dispose.js index 1dc22ac..c079989 100644 --- a/dist/cache/dispose.js +++ b/dist/cache/dispose.js @@ -1,3 +1,3 @@ -/**! Qoopido.demand 5.0.0 | https://github.com/dlueth/qoopido.demand | (c) 2018 Dirk Lueth */ -!function(t){"use strict";provide(["/demand/function/iterate"],function(n){var r="demand",e="state",a=new RegExp("^\\["+r+"\\]\\[(.+?)\\]\\["+e+"\\]$"),c=/^(.+?),(\d+),(\d*),(.+?),(\d+)$/;function i(n){var r,e=t.getItem(n);if(e&&(r=e.match(c)))return Array.prototype.slice.call(r,1)}function o(t){return"["+r+"]["+t+"]["+e+"]"}function u(t){var n,r=t.match(a);r&&((n=i(o(r[1])))[5]=r[1],this.push(n))}function d(t,n){return t[4]n[4]?1:0}return n(t,function(t){var n=t.match(a);n&&(i(o(n[1]))[4]||demand.clear.path(n[1]))}),function(r){var e,a=[];for(n(t,u,a),a.sort(d);r>0&&a.length;)r-=(e=a.shift())[1],demand.clear.path(e[5])}})}(localStorage); +/**! Qoopido.demand 5.0.1 | https://github.com/dlueth/qoopido.demand | (c) 2018 Dirk Lueth */ +!function(t){"use strict";provide(["/demand/function/iterate"],function(n){function r(n){var r,e=t.getItem(n);if(e&&(r=e.match(d)))return Array.prototype.slice.call(r,1)}function e(t){return"["+i+"]["+t+"]["+o+"]"}function a(t){var n,a=t.match(u);a&&((n=r(e(a[1])))[5]=a[1],this.push(n))}function c(t,n){return t[4]n[4]?1:0}var i="demand",o="state",u=new RegExp("^\\["+i+"\\]\\[(.+?)\\]\\["+o+"\\]$"),d=/^(.+?),(\d+),(\d*),(.+?),(\d+)$/;return n(t,function(t){var n=t.match(u);n&&(r(e(n[1]))[4]||demand.clear.path(n[1]))}),function(r){var e,i=[];for(n(t,a,i),i.sort(c);r>0&&i.length;)r-=(e=i.shift())[1],demand.clear.path(e[5])}})}(localStorage); //# sourceMappingURL=dispose.js.map diff --git a/dist/cache/dispose.js.map b/dist/cache/dispose.js.map index 2d8ed2b..2e66141 100644 --- a/dist/cache/dispose.js.map +++ b/dist/cache/dispose.js.map @@ -1 +1 @@ -{"version":3,"sources":["cache/dispose.js"],"names":["localStorage","provide","functionIterate","PREFIX","SUFFIX","regexMatchState","RegExp","regexMatchProperties","getState","key","matches","state","getItem","match","Array","prototype","slice","call","getKey","id","filterStates","property","this","push","compareAccess","a","b","demand","clear","path","size","states","sort","length","shift"],"mappings":";CAAA,SAAUA,GACN,aA6DAC,SAAS,4BA3DT,SAAoBC,GAChB,IAAIC,EAAS,SACTC,EAAS,QACTC,EAAkB,IAAIC,OAAO,OAASH,EAAS,oBAAsBC,EAAS,QAC9EG,EAAuB,kCAE3B,SAASC,EAASC,GACd,IACIC,EADAC,EAAQX,EAAaY,QAAQH,GAEjC,GAAIE,IAAUD,EAAUC,EAAME,MAAMN,IAChC,OAAOO,MAAMC,UAAUC,MAAMC,KAAKP,EAAS,GAInD,SAASQ,EAAOC,GACZ,MAAO,IAAMhB,EAAS,KAAOgB,EAAK,KAAOf,EAAS,IAatD,SAASgB,EAAaC,GAClB,IACIV,EADAE,EAAQQ,EAASR,MAAMR,GAEvBQ,KACAF,EAAQH,EAASU,EAAOL,EAAM,MACxB,GAAKA,EAAM,GACjBS,KAAKC,KAAKZ,IAIlB,SAASa,EAAcC,EAAGC,GACtB,OAAID,EAAE,GAAKC,EAAE,IACD,EAERD,EAAE,GAAKC,EAAE,GACF,EAEJ,EAEX,OA9BAxB,EAAgBF,EAAc,SAASqB,GACnC,IAAIR,EAAQQ,EAASR,MAAMR,GAEvBQ,IACQL,EAASU,EAAOL,EAAM,KACnB,IACPc,OAAOC,MAAMC,KAAKhB,EAAM,OAwB7B,SAAsBiB,GACzB,IACInB,EADAoB,KAIJ,IAFA7B,EAAgBF,EAAcoB,EAAcW,GAC5CA,EAAOC,KAAKR,GACLM,EAAO,GAAKC,EAAOE,QAEtBH,IADAnB,EAAQoB,EAAOG,SACD,GACdP,OAAOC,MAAMC,KAAKlB,EAAM,OA1DxC,CA+DGX","file":"dispose.js","sourcesContent":["(function(localStorage) {\n \"use strict\";\n\n function definition(functionIterate) {\n var PREFIX = \"demand\",\n SUFFIX = \"state\",\n regexMatchState = new RegExp(\"^\\\\[\" + PREFIX + \"\\\\]\\\\[(.+?)\\\\]\\\\[\" + SUFFIX + \"\\\\]$\"),\n regexMatchProperties = /^(.+?),(\\d+),(\\d*),(.+?),(\\d+)$/;\n\n function getState(key) {\n var state = localStorage.getItem(key),\n matches;\n if (state && (matches = state.match(regexMatchProperties))) {\n return Array.prototype.slice.call(matches, 1)\n }\n }\n\n function getKey(id) {\n return \"[\" + PREFIX + \"][\" + id + \"][\" + SUFFIX + \"]\"\n }\n functionIterate(localStorage, function(property) {\n var match = property.match(regexMatchState),\n state;\n if (match) {\n state = getState(getKey(match[1]));\n if (!state[4]) {\n demand.clear.path(match[1])\n }\n }\n });\n\n function filterStates(property) {\n var match = property.match(regexMatchState),\n state;\n if (match) {\n state = getState(getKey(match[1]));\n state[5] = match[1];\n this.push(state)\n }\n }\n\n function compareAccess(a, b) {\n if (a[4] < b[4]) {\n return -1\n }\n if (a[4] > b[4]) {\n return 1\n }\n return 0\n }\n return function cacheDispose(size) {\n var states = [],\n state;\n functionIterate(localStorage, filterStates, states);\n states.sort(compareAccess);\n while (size > 0 && states.length) {\n state = states.shift();\n size -= state[1];\n demand.clear.path(state[5])\n }\n }\n }\n provide([\"/demand/function/iterate\"], definition)\n})(localStorage);"]} \ No newline at end of file +{"version":3,"sources":["cache/dispose.js"],"names":["localStorage","provide","functionIterate","getState","key","matches","state","getItem","match","regexMatchProperties","Array","prototype","slice","call","getKey","id","PREFIX","SUFFIX","filterStates","property","regexMatchState","this","push","compareAccess","a","b","RegExp","demand","clear","path","size","states","sort","length","shift"],"mappings":";CAAA,SAAAA,GACA,aA4CAC,SAAA,4BA1CA,SAAAC,GACA,SAAAC,EAAAC,GACA,IAAAC,EAAAC,EAAAN,EAAAO,QAAAH,GACA,GAAAE,IAAAD,EAAAC,EAAAE,MAAAC,IAAA,OAAAC,MAAAC,UAAAC,MAAAC,KAAAR,EAAA,GAGA,SAAAS,EAAAC,GACA,MAAA,IAAAC,EAAA,KAAAD,EAAA,KAAAE,EAAA,IAGA,SAAAC,EAAAC,GACA,IAAAb,EAAAE,EAAAW,EAAAX,MAAAY,GACAZ,KACAF,EAAAH,EAAAW,EAAAN,EAAA,MAAA,GAAAA,EAAA,GACAa,KAAAC,KAAAhB,IAIA,SAAAiB,EAAAC,EAAAC,GACA,OAAAD,EAAA,GAAAC,EAAA,IAAA,EACAD,EAAA,GAAAC,EAAA,GAAA,EACA,EAEA,IAAAT,EAAA,SACAC,EAAA,QACAG,EAAA,IAAAM,OAAA,OAAAV,EAAA,oBAAAC,EAAA,QACAR,EAAA,kCAMA,OALAP,EAAAF,EAAA,SAAAmB,GACA,IAAAX,EAAAW,EAAAX,MAAAY,GACAZ,IACAL,EAAAW,EAAAN,EAAA,KAAA,IAAAmB,OAAAC,MAAAC,KAAArB,EAAA,OAEA,SAAAsB,GACA,IAAAxB,EAAAyB,KAGA,IAFA7B,EAAAF,EAAAkB,EAAAa,GACAA,EAAAC,KAAAT,GACAO,EAAA,GAAAC,EAAAE,QACAH,IAAAxB,EAAAyB,EAAAG,SAAA,GACAP,OAAAC,MAAAC,KAAAvB,EAAA,OAzCA,CA8CAN","file":"dispose.js","sourcesContent":["/**! Qoopido.demand 5.0.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\t(state = getState(getKey(match[1])))[5] = match[1];\n\t\t\t\tthis.push(state)\n\t\t\t}\n\t\t}\n\n\t\tfunction compareAccess(a, b) {\n\t\t\tif (a[4] < b[4]) return -1;\n\t\t\tif (a[4] > b[4]) return 1;\n\t\t\telse return 0\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\tfunctionIterate(localStorage, function (property) {\n\t\t\tvar match = property.match(regexMatchState);\n\t\t\tif (match)\n\t\t\t\tif (!getState(getKey(match[1]))[4]) demand.clear.path(match[1])\n\t\t});\n\t\treturn function (size) {\n\t\t\tvar state, states = [];\n\t\t\tfunctionIterate(localStorage, filterStates, states);\n\t\t\tstates.sort(compareAccess);\n\t\t\twhile (size > 0 && states.length) {\n\t\t\t\tsize -= (state = states.shift())[1];\n\t\t\t\tdemand.clear.path(state[5])\n\t\t\t}\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 141af7b..6eb683f 100644 --- a/dist/demand.js +++ b/dist/demand.js @@ -1,3 +1,3 @@ -/**! Qoopido.demand 5.0.0 | https://github.com/dlueth/qoopido.demand | (c) 2018 Dirk Lueth */ -!function(e,t,n){"use strict";var r,i,o,u,a=e.document,c="demand"in e&&e.demand,s={version:"1.0.0",cache:{},timeout:8e3,pattern:{},modules:{},handler:"module"},f="demand",l="/demand/",d=l+"abstract/",h=l+"handler/",p=l+"plugin/",v=l+"function/",g=l+"validator/",m="mock:",y=null,w=void 0,x=!1,b=!0,q="undefined",j="string",k="object",R="function",P="number",E=function(){},C="preConfigure",M="postConfigure",S="cache",O=S+"Miss",A=S+"Exceed",$="preResolve",T="postResolve",H="preRequest",D="postRequest",I="preProcess",N="postProcess",L="queueEnqueue",_="error loading",F="error resolving",U=Array.prototype,X=U.slice,W=U.concat,B=Object,G=B.prototype.toString,J=B.create,z=B.defineProperty,K=B.getOwnPropertyNames,Q=B.getOwnPropertyDescriptor,V=a.createElement("a");function Y(e,t,n,r){return{__proto__:y,value:e,enumerable:!!r,configurable:!!n,writable:!!t}}function Z(e,t){return typeof e===t}function ee(e){return e&&Z(e,k)}function te(e){return Z(e,P)&&isFinite(e)&&Math.floor(e)===e&&e>=0}function ne(e,t){return e instanceof t}function re(e,t,n){for(var r,i=B.keys(e),o=0;(r=i[o])!==w&&t.call(n,r,e[r])!==x;o++);return n}!function(t){function n(e,t,n,r,i){z(this,e,new Y(t,n,r,i))}function r(e){for(var n,r=this[t],i=K(r),o={constructor:new Y(this,b,b)},u=0;(n=i[u])&&!o[n];u++)o[n]=Q(r,n);try{this[t]=J(e[t]||e,o)}catch(e){}if(this[t]===r)throw new TypeError("Unable to extend, prototype is not writable");return this}n.call(Object.prototype,"define",n),n.call(e.Object.prototype,"define",n),Function.prototype.define("extends",r),e.Function.prototype.define("extends",r)}("prototype");var ie,oe,ue,ae,ce=function(){function e(e,t){var n,r=this[e];t!==w&&(ee(t)?(n=ee(r),r=t.length!==w?n&&r.length!==w?r:[]:n&&r.length===w?r:{},this[e]=ce(r,t)):this[e]=t)}return function(){for(var t,n=arguments[0],r=1;(t=arguments[r])!==w;r++)re(t,e,n);return n}}(),se=function(){var e=new RegExp("[xy]","g");function t(e){var t=16*Math.random()|0;return("x"===e?t:3&t|8).toString(16)}return function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(e,t)}}(),fe=(ae="setImmediate"in e,"MutationObserver"in e?function(e){oe=a.createElement("div"),new MutationObserver(function(){e()}).observe(oe,{attributes:b}),oe.setAttribute("i","1")}:!ae&&"postMessage"in e&&!("importScripts"in e)&&"addEventListener"in e?(ie={},e.addEventListener("message",function(t){var n;t.source===e&&t.data&&(n=ie[t.data])&&(n(),delete ie[t.data])},x),function(t){var n=se();ie[n]=t,e.postMessage(n,"*")}):!ae&&"onreadystatechange"in(oe=a.createElement("script"))?function(e){oe.onreadystatechange=function(){oe.onreadystatechange=y,oe.parentNode.removeChild(oe),e()},a.body.appendChild(oe)}:(ue=ae?setImmediate:t,function(e){ue(e)}));function le(e,t,n){return X.call(e,t,n)}var de=function(){var e="on",t=/^cache(Miss|Hit|Clear|Exceed)|queue(En|De)queue|(pre|post)(Resolve|Configure|Request|Process|Cache)$/,n={};function r(r,i,o){var u,a;if(Z(i,j)&&Z(o,R))for(i=i.split(" ");u=i.shift();)u=u.split(":"),t.test(u[0])&&((n[u[0]]||(n[u[0]]={on:[],after:[]}))[r].push({callback:o,filter:u[1]}),r===e&&u[0]===M&&(a=s.modules[u[1]])&&o(a))}function i(){}return i.prototype={emit:function(t,r){var i,o,u,a=n[t];if(a){for(i=le(arguments,2),o=0;u=a[e][o];o++)u.filter&&u.filter!==r||u.callback.apply(y,i);for(o=0;u=a.after[o];o++)u.filter&&u.filter!==r||u.callback.apply(y,i)}return this},on:function(t,n){return r(e,t,n),this},after:function(e,t){return r("after",e,t),this}},new i}();function he(){return+new Date}var pe,ve=(pe=/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,function(e){return e.replace(pe,"\\$&")});function ge(e){return V.href=e,V.href}var me=/^(http(s?):)?\/\//i,ye=/^\//,we=/((?:\/\/|\/\*)#)\s*(sourceMappingURL)\s*=\s*(?!(?:http[s]?:)?\/\/)(.+?)\.map(?:\s+)?(\*\/)?/g,xe=new RegExp("^"+ve(ge("/"))),be=new RegExp("^demand|provide|path$"),qe=/^(mock:)?([+-])?((?:[-\w]+\/?)+)?(?:@(.+?))?(?:#(\d+))?!/;function je(e,t){var n=e.replace(qe,"");return ye.test(n)||me.test(n)||(n="/"+ge((t&&ge(t+"/../")||"/")+n).replace(xe,"")),n}function ke(e,t){var n=e.match(qe);return(n&&n[1]?"mock:":"")+(n&&n[3]||s.handler)+"!"+je(e,t)}var Re=function(){var t,n="[demand]",i="[state]",o=new RegExp("^"+ve(n)+"\\[(.+?)\\]"+ve(i)+"$"),u=/^(.+?),(\d+),(\d*),(.+?),(\d+)$/,a=function(){try{return"localStorage"in e&&e.localStorage}catch(e){return x}}(),c=a?e.localStorage:y,f=a&&"remainingSpace"in c,l={};function d(e){var t;return e.cache!==y?e.cache:(re(s.cache,function(n,r){0===e.path.indexOf(n)&&(!t||r.weight>t.weight)&&(t=r)}),t?t.state:x)}function h(e){return c.getItem(e)}function p(e,t){c[t?"setItem":"removeItem"](e,t)}function v(e){var t,n=h(e);if(n&&(t=n.match(u)))return le(t,1)}function g(e,t){t[4]=he(),p(e,t.join(","))}function m(e,t,n){de.emit(e,t.id,t,n)}function w(){fe(this.clear.expired.bind(this.clear))}return de.on(O,function(e){fe(function(){t.clear(e.id)})}).on(A,function(e){r("-!/demand/cache/dispose").then(function(n){fe(function(){n(e.source.length),t.set(e)})})}).on(D,function(e){e.source&&d(e)&&(l[e.id]=b)}).after(N,function(e){l[e.id]&&fe(function(){t.set(e)})}),w.prototype={get:a?function(e){var t,r;if(d(e)){if(t=n+"["+e.id+"]",!(r=v(t+i)))return;return r[0]!==e.version||r[2]&&e.lifetime&&r[2]<=he()?void(e.invalid=!0):(e.source=h(t+"[value]"),fe(function(){g(t+i,r)}),b)}}:E,resolve:a?function(e){this.get(e)?m("cacheHit",e):m(O,e)}:function(e){m(O,e)},set:a?function(e){var t,o,u;if(d(e)){t=[e.version,e.source.length,e.lifetime?he()+e.lifetime:y,r.version],o=n+"["+e.id+"]",m("preCache",e,t);try{if(u=f?c.remainingSpace:y,p(o+"[value]",e.source),g(o+i,t),u!==y&&c.remainingSpace===u)throw new Error;m("postCache",e,t)}catch(t){m(A,e)}}}:E,clear:a?function(e){var t=ke(e),r=n+"["+t+"]";h(r+i)&&(p(r+i),p(r+"[value]"),m("cacheClear",Se.get(t)||new Se(t,y,x)))}:function(){}},w.prototype.clear.all=a?function(){var e;re(c,function(t){(e=t.match(o))&&this(e[1])},this)}:E,w.prototype.clear.expired=a?function(){var e,t;re(c,function(r){(e=r.match(o))&&(t=v(n+"["+e[1]+"]"+i))&&t[2]>0&&t[2]<=he()&&this(e[1])},this)}:E,t=new w}(),Pe="WeakMap"in e?e.WeakMap:function(){var e="weakmap-";function t(e,t){var n;if((n=t[e.id])&&n[0]===t)return n}function n(){this.define("id",e+se())}return n.prototype={set:function(e,n){var r=t(this,e);return r?r[1]=n:e.define(this.id,[e,n]),this},get:function(e){var n=t(this,e);if(n)return n[1]},delete:function(e){var n=t(this,e);n&&(n.length=0,delete e[this.id])},has:function(e){return!!t(this,e)}},n}(),Ee=function(){var e="pending",t="resolved",n="rejected",r=new Pe;function i(e,t,n){e.then(function(){n.resolved[t]=le(arguments),n.count++,o(n)},function(){n.rejected.push(le(arguments)),o(n)})}function o(e){e.count===e.total?e.dfd.resolve.apply(y,W.apply([],e.resolved)):e.rejected.length+e.count===e.total&&e.dfd.reject.apply(y,W.apply([],e.rejected))}function u(i){return r.set(this,{state:e,handle:function(i,o){var u,a,c=r.get(this);for(c.state===e&&(c.state=i,c.value=o);u=c[c.state].shift();)(a=u.handler.apply(y,c.value))&&"function"==typeof a.then?a.then(u.dfd.resolve,u.dfd.reject):u.dfd[c.state===t?"resolve":"reject"].apply(y,c.value);c[t].length=0,c[n].length=0}.bind(this),value:y,resolved:[],rejected:[],count:0}),i(function(){r.get(this).handle(t,arguments)}.bind(this),function(){r.get(this).handle(n,arguments)}.bind(this)),this}return u.prototype={catch:function(e){return this.then(E,e)},always:function(e){return this.then(e,e)},then:function(i,o){var a=r.get(this),c=u.defer();return i&&a[t].push({handler:i,dfd:c}),o&&a[n].push({handler:o,dfd:c}),a.state!==e&&fe(a.handle),c.pledge},isPending:function(){return r.get(this).state===e},isResolved:function(){return r.get(this).state===t},isRejected:function(){return r.get(this).state===n}},u.defer=function(){var e={};return e.pledge=new u(function(t,n){e.resolve=t,e.reject=n}),e},u.all=function(e){var t,n,r=u.defer(),o=0;if(e.length)for(t={dfd:r,resolved:[],rejected:[],total:e.length,count:0};n=e[o];o++)i(n,o,t);else r.resolve();return r.pledge},u.race=function(e){for(var t,n=u.defer(),r=0;t=e[r];r++)t.then(n.resolve,n.reject);return e.length||n.resolve(),n.pledge},u}(),Ce=function(){var e=new Pe;function t(){e.set(this,{})}return t.prototype={get:function(t){return t?e.get(this)[t]:e.get(this)},set:function(t,n){e.get(this)[t]=n},remove:function(t){delete e.get(this)[t]}},t}();function Me(e,t,n){return this.message=e,t&&(this.module=t),n&&(this.stack=le(n)),this}Me.prototype={toString:function(){var e=f+": "+this.message+" "+(this.module?'"'+this.module+'"':"");return this.stack&&(e=Me.traverse(this.stack,e,1)),e}},Me.traverse=function(e,t,n){for(var r,i=new Array(n+1).join(" "),o=0;r=e[o];o++)t+="\n"+i+"> "+r.message+" "+(r.module?'"'+r.module+'"':""),r.stack&&(t=Me.traverse(r.stack,t,n+1));return t};var Se=function(){var e=new Ce,t=[];function n(e,t){this[e]=t}function o(e,t){t.pledge.isPending()&&this.push(e)}function u(e,t){t.pledge.isResolved()&&this.push(e)}function c(e,t){t.pledge.isRejected()&&this.push(e)}function l(n,r,i){var o=this,u=n.match(qe)||t;return o.path=je(n,r),o.mock=u[1]?b:x,o.cache=u[2]?"+"===u[1]:y,o.type=u[3]||s.handler,o.version=u[4]||s.version,o.lifetime=u[5]&&1e3*u[5]||s.lifetime,o.id=(o.mock?m:"")+o.type+"!"+o.path,o.uri=(o.mock?m:"")+o.type+"@"+o.version+(te(o.lifetime)&&o.lifetime>0?"#"+o.lifetime:"")+"!"+o.path,o.dfd=Ee.defer(),o.pledge=o.dfd.pledge,o.invalid=!1,o.pledge.then(function(){o.value=le(arguments)}),i!==x&&e.set(o.id,o),o}return l.prototype={enqueue:!0},l.get=function(t,n){return e.get(ke(t,n))},l.resolve=function(e,t){var o,u=t&&be.test(e),a=u?this.get("internal!"+t+"/"+e):this.get(e,t);if(!a)if(u){switch(a=new l("internal!"+t+"/"+e),e){case f:o=re(r,n,r.bind(t));break;case"provide":o=i.bind(t);break;case"path":o=t}a.dfd.resolve(o)}else a=new l(e,t),r(h+a.type).then(function(e){a.handler=e,a.mock?a.dfd.resolve(e):Re.resolve(a)},function(){a.dfd.reject(new Me(_+" (handler)",self.id))});return a},l.remove=function(t,n,r){var i=ke(t,n),o=a.querySelector('[demand-id="'+i+'"]');e.remove(i),e.remove(m+i),o&&o.parentNode.removeChild(o),r!==x&&Re.clear(i)},l.list={all:function(){return B.keys(e.get())},pending:function(){return re(e.get(),o,[])},resolved:function(){return re(e.get(),u,[])},rejected:function(){return re(e.get(),c,[])}},l}(),Oe=function(){var e=/(.+)\/$/;function t(t,n){this[t]={url:ge(n).replace(e,"$1"),match:new RegExp("^"+ve(n))}}function n(e,n){this.weight=e.length,this.match=new RegExp("^"+ve(e)),this.location=[].concat(n),re(this.location,t,this.location)}return n.prototype={matches:function(e){return this.match.test(e)},process:function(e,t){var n=this.location[t];if(n)return e.replace(this.match,n.url)}},n}(),Ae=function(r){var i="XDomainRequest"in e&&e.XDomainRequest||r;return function(e){var o,u=Ee.defer(),a=xe.test(e)?new r:new i,c=function(){this.readyState<4&&this.abort()}.bind(a),f=s.timeout;return a.ontimeout=a.onerror=a.onabort=function(){u.reject(a.status)},a.onprogress=a.onreadystatechange=function(){n(o),o=t(c,f)},a.onload=function(){o=n(o),"status"in a&&200!==a.status?u.reject(a.status):u.resolve(a.responseText,a.getResponseHeader&&a.getResponseHeader("content-type"))},a.open("GET",e,b),a.send(),o=t(c,f),u.pledge}}(XMLHttpRequest);function $e(e){return"[object Array]"===G.call(e)}function Te(e){for(var t=5381,n=e.length;n;)t=33*t^e.charCodeAt(--n);return t>>>0}function He(){return Z(this.uuid,q)&&this.define("uuid",se()),this}r=function(){function t(e,t){this[e]={weight:e.length,state:t}}function n(e,t){"base"!==e&&(this[e]=new Oe(e,t))}function r(e,t){var n=this[e]=this[e]||{};de.emit(C,e,n),ce(n,t),de.emit(M,e,n)}function i(){var t,n,r=le(arguments),i=this!==e?this:y,o=0;for(de.emit($,y,r,i);t=r[o];o++)Z(t,j)?r[o]=Se.resolve(t,i).pledge:(r[o]=(n=Ee.defer()).pledge,n.resolve(t));return(r.length>1?Ee.all(r):r[0]).always(function(){de.emit(T,y,r,i)})}return i.configure=function(e){var o=e.cache,u=e.version,a=e.timeout,c=e.lifetime,f=e.base,l=e.pattern,d=e.modules,h=s.modules;return Z(o,"boolean")?s.cache[""]={weight:0,state:o}:ee(o)&&re(o,t,s.cache),Z(u,j)&&(s.version=u),te(a)&&(s.timeout=1e3*Math.min(Math.max(a,2),12)),te(c)&&c>0&&(s.lifetime=1e3*c),Z(f,j)&&""!==f&&(s.pattern.base=new Oe("",f)),ee(l)&&re(l,n,s.pattern),ee(d)&&re(d,r,h),i},i.version="5.0.0",i.on=de.on.bind(i),i.get=function(e,t){var n=Se.get(e,t);return n&&n.value},i.list=Se.list,i.remove=Se.remove,i.cache={clear:Re.clear},de.after(O,function(e){new function(e){var t,n=/^(?:\?|)$/;function r(t,n){n&&e.handler.validate&&!e.handler.validate(n)?e.dfd.reject(new Me(_+" (content-type)",e.id)):(e.source=t,de.emit(D,e.type,e))}function i(t){e.dfd.reject(new Me(_+(t?" (status)":""),e.id))}me.test(e.path)||re(s.pattern,function(n,r){r.matches(e.path)&&(!t||t.weight "+r.message+" "+(r.module?'"'+r.module+'"':""),r.stack&&(t=Me.traverse(r.stack,t,n+1));return t};var Fe=function(){var e=h+"bundle",t={};function n(e,t){var n,r;for(n=0;r=t[n];n++)Z(r,j)&&(t[n]=ke(r))}function i(){}return r.on(M+":"+e,function(e){ee(e)&&re(t=e,n)}),i.prototype={validate:_e.validate,onPreProcess:function(e){var n,r,i,u,a,c=e.source,s=e.dfd,f=t[e.path];function l(){s.reject(new Me(F,e.id,arguments))}if(e.enqueue=x,f&&(n=function(e){for(var n,r,i=0;r=e[i];i++)if(r=(r=r.match(qe))&&r[3]||t.handler,n){if(r!==n)return x}else n=r;return n}(f))){for(;r=we.exec(c);)c=c.replace(r[0],"");for(e.source=c,i=[],a=0;u=f[a];a++)i.push(Se.resolve(m+u).pledge);Ee.all(i).then(function(){for(i.length=0,a=0;u=f[a];a++)(u=f[a]=Se.get(u)||new Se(u)).handler=arguments[a],i.push(u.pledge);"module"===n?(o.enqueue.apply(o,f),_e.process(e)):(_e.process(e),o.enqueue.apply(o,f)),Ee.all(i).then(s.resolve,l)},l)}else l()}},new(i.extends(Le))}(),Ue=function(){var e=/^text\/.+$/;function t(){}return t.prototype={validate:function(t){return e.test(t)},onPreRequest:function(e){var t=e.url.pathname;e.url.pathname=".html"!==t.slice(-".html".length)?t+".html":t},onPostRequest:function(e){e.source=Ne(e.url,e.source)},onPreProcess:function(e){var t,n,r,i,u=e.path,c=e.dfd,s=a.createElement("body"),f=[],l=[];function d(){c.reject(new Me(F,e.id,arguments))}for(e.enqueue=x,s.innerHTML=e.source;t=s.firstElementChild;)(n=t.getAttribute("type"))&&(i=n+"!"+u+((r=t.getAttribute("path"))?"/"+r:""),t.parentNode.removeChild(t),f.push({source:t.textContent,uri:i}),l.push(Se.resolve("mock:"+i).pledge));Ee.all(l).then(function(){var e,t,n=0;for(l.length=0;e=f[n];n++)(t=Se.get(e.uri)||new Se(e.uri)).source=Ne(t.url,e.source),t.handler=arguments[n],l.push(t.pledge),o.enqueue(t);Ee.all(l).then(c.resolve,d)},d)}},new(t.extends(Le))}(),Xe=function(){var e=p+"genie",t=[];function n(e){for(var n,r,i=0;n=t[i];i++)0===e.indexOf(n.prefix)&&(!r||n.weight>r.weight)&&(r=n);return r}function i(e,n){t.push({prefix:e,weight:e.length,fn:n})}function o(t,n){var i,o=n.matches,u=0;if(o.length>1){for(n.id=e+"/"+Te(JSON.stringify(n.matches));i=o[u];u++)o[u]=new Se(i.uri);r.configure(function(e){var t,n,r=e.matches,i={pattern:{},modules:{"/demand/handler/bundle":{}}},o=0;for(i.pattern[e.id]=e.fn(r),i.modules[h+"bundle"][e.id]=t=[];n=r[o];o++)t.push(n.path);return i}(n)),r("bundle!"+n.id).then(function(){for(var e,t=0;e=this[t];t++)e.dfd.resolve(arguments[t])}.bind(o),function(){for(var e,t=0;e=this[t];t++)e.dfd.reject(new Me(F,e.id))}.bind(o))}}return r.on(M+":"+e,function(e){ee(e)&&(t.length=0,re(e,i))}).on($,function(e,t){for(var r,i,u={},a=0;r=e[a];a++)!Z(r,j)||be.test(r)||Se.get(r,t)||"module"===(r=new Se(r,t,x)).type&&(i=n(r.path))&&!Re.get(r)&&(u[i.prefix]||(u[i.prefix]={fn:i.fn,matches:[]})).matches.push(r);re(u,o)}),b}();function We(e,t){i(e,function(){return t})}if(o=new De,u=new Ie(o),We(d+"uuid",He),We(d+"handler",Le),We(h+"module",_e),We(h+"bundle",Fe),We(h+"component",Ue),We(p+"genie",Xe),We(g+"isTypeOf",Z),We(g+"isArray",$e),We(g+"isObject",ee),We(g+"isInstanceOf",ne),We(v+"resolveUrl",ge),We(v+"resolveSourcemaps",Ne),We(v+"merge",ce),We(v+"iterate",re),We(v+"hash",Te),We(v+"defer",fe),We(v+"uuid",se),We(l+"weakmap",Pe),We(l+"descriptor",Y),We(l+"pledge",Ee),We(l+"queue",De),We(l+"xhr",Ae),We(l+"failure",Me),c&&c.main)switch(typeof c.main){case j:r(c.main);break;case R:i("main",c.main())}}("demand-loader"===this.name?parent:this,setTimeout,clearTimeout); +/**! Qoopido.demand 5.0.1 | https://github.com/dlueth/qoopido.demand | (c) 2018 Dirk Lueth */ +!function(e,t,n){"use strict";function r(e,t,n,r){return{__proto__:pe,value:e,enumerable:!!r,configurable:!!n,writable:!!t}}function i(e,t){return typeof e===t}function o(e){return e&&i(e,xe)}function u(e){return i(e,qe)&&isFinite(e)&&Math.floor(e)===e&&e>=0}function c(e,t){return e instanceof t}function a(e,t,n){for(var r,i=Je.keys(e),o=0;(r=i[o])!==ve&&t.call(n,r,e[r])!==ge;o++);return n}function s(e,t,n){return Be.call(e,t,n)}function f(){return+new Date}function l(e){return Ze.href=e,Ze.href}function d(e,t){var n=e.replace(D,"");return O.test(n)||S.test(n)||(n="/"+l((t&&l(t+"/../")||"/")+n).replace($,"")),n}function h(e,t){var n=e.match(D);return(n&&n[1]?"mock:":"")+(n&&n[3]||ie.handler)+"!"+d(e,t)}function p(e,t,n){return this.message=e,t&&(this.module=t),n&&(this.stack=s(n)),this}function v(e){return"[object Array]"===ze.call(e)}function g(e){for(var t=5381,n=e.length;n;)t=33*t^e.charCodeAt(--n);return t>>>0}function m(){return i(this.uuid,ye)&&this.define("uuid",E()),this}function y(e,t){for(var n,r;n=A.exec(t);)Ze.href=e,S.test(n[2])?r=Ze.protocol+"//"+Ze.host+n[3]:(Ze.pathname+="/../"+n[3],r=Ze.protocol+"//"+Ze.host+Ze.pathname),t=t.replace(n[0],n[1]+" "+n[2]+"="+r+".map"+(n[4]?" "+n[4]:""));return t}function w(){}function p(e,t,n){return this.message=e,t&&(this.module=t),n&&(this.stack=s(n)),this}function x(e,t){q(e,function(){return t})}var b,q,j,k,R,E,P,C,M,S,O,A,$,T,D,H,I,N,L,_,F,U,X,W,B,G,J,z,K,Q,V,Y,Z,ee,te,ne=e.document,re="demand"in e&&e.demand,ie={version:"1.0.0",cache:{},timeout:8e3,pattern:{},modules:{},handler:"module"},oe="demand",ue="provide",ce="/"+oe+"/",ae=ce+"abstract/",se=ce+"handler/",fe=ce+"plugin/",le=ce+"function/",de=ce+"validator/",he="mock:",pe=null,ve=void 0,ge=!1,me=!0,ye="undefined",we="string",xe="object",be="function",qe="number",je="pre",ke="post",Re="Configure",Ee=je+Re,Pe=ke+Re,Ce="cache",Me=Ce+"Miss",Se=Ce+"Hit",Oe=Ce+"Exceed",Ae="Resolve",$e=je+Ae,Te=ke+Ae,De="Request",He=je+De,Ie=ke+De,Ne="Process",Le=je+Ne,_e=ke+Ne,Fe="queueEnqueue",Ue="error loading",Xe="error resolving",We=Array.prototype,Be=We.slice,Ge=We.concat,Je=Object,ze=Je.prototype.toString,Ke=Je.create,Qe=Je.defineProperty,Ve=Je.getOwnPropertyNames,Ye=Je.getOwnPropertyDescriptor,Ze=ne.createElement("a");if(function(t){function n(e,t,n,i,o){Qe(this,e,new r(t,n,i,o))}function i(e){for(var n,i=this,o=i[t],u=Ve(o),c={constructor:new r(i,me,me)},a=0;(n=u[a])&&!c[n];a++)c[n]=Ye(o,n);try{i[t]=Ke(e[t]||e,c)}catch(e){}if(i[t]===o)throw new TypeError("Unable to extend, prototype is not writable");return i}n.call(Object.prototype,"define",n),n.call(e.Object.prototype,"define",n),Function.prototype.define("extends",i),e.Function.prototype.define("extends",i)}("prototype"),R=function(){function e(e,t){var n,r=this[e];t!==ve&&(o(t)?(n=o(r),r=t.length!==ve?n&&r.length!==ve?r:[]:n&&r.length===ve?r:{},this[e]=R(r,t)):this[e]=t)}return function(){for(var t,n=arguments[0],r=1;(t=arguments[r])!==ve;r++)a(t,e,n);return n}}(),E=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)}}(),Y="setImmediate"in e,P="MutationObserver"in e?function(e){Q=ne.createElement("div"),new MutationObserver(function(){e()}).observe(Q,{attributes:me}),Q.setAttribute("i","1")}:!Y&&"postMessage"in e&&!("importScripts"in e)&&"addEventListener"in e?(K={},e.addEventListener("message",function(t){var n;t.source===e&&t.data&&(n=K[t.data])&&(n(),delete K[t.data])},ge),function(t){var n=E();K[n]=t,e.postMessage(n,"*")}):!Y&&"onreadystatechange"in(Q=ne.createElement("script"))?function(e){Q.onreadystatechange=function(){Q.onreadystatechange=pe,Q.parentNode.removeChild(Q),e()},ne.body.appendChild(Q)}:(V=Y?setImmediate:t,function(e){V(e)}),C=function(){function e(e,t,u){var c,a;if(i(t,we)&&i(u,be))for(t=t.split(" ");c=t.shift();)c=c.split(":"),r.test(c[0])&&((o[c[0]]||(o[c[0]]={on:[],after:[]}))[e].push({callback:u,filter:c[1]}),e===n&&c[0]===Pe&&(a=ie.modules[c[1]])&&u(a))}function t(){}var n="on",r=/^cache(Miss|Hit|Clear|Exceed)|queue(En|De)queue|(pre|post)(Resolve|Configure|Request|Process|Cache)$/,o={};return t.prototype={emit:function(e,t){var r,i,u,c=o[e];if(c){for(r=s(arguments,2),i=0;u=c[n][i];i++)u.filter&&u.filter!==t||u.callback.apply(pe,r);for(i=0;u=c.after[i];i++)u.filter&&u.filter!==t||u.callback.apply(pe,r)}return this},on:function(t,r){return e(n,t,r),this},after:function(t,n){return e("after",t,n),this}},new t}(),Z=/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,M=function(e){return e.replace(Z,"\\$&")},S=/^(http(s?):)?\/\//i,O=/^\//,A=/((?:\/\/|\/\*)#)\s*(sourceMappingURL)\s*=\s*(?!(?:http[s]?:)?\/\/)(.+?)\.map(?:\s+)?(\*\/)?/g,$=new RegExp("^"+M(l("/"))),T=new RegExp("^"+oe+"|"+ue+"|path$"),D=/^(mock:)?([+-])?((?:[-\w]+\/?)+)?(?:@(.+?))?(?:#(\d+))?!/,H=function(){function t(e){var t;return e.cache!==pe?e.cache:(a(ie.cache,function(n,r){0===e.path.indexOf(n)&&(!t||r.weight>t.weight)&&(t=r)}),t?t.state:ge)}function n(e){return w.getItem(e)}function r(e,t){w[t?"setItem":"removeItem"](e,t)}function i(e){var t,r=n(e);if(r&&(t=r.match(m)))return s(t,1)}function o(e,t){t[4]=f(),r(e,t.join(","))}function u(e,t,n){C.emit(e,t.id,t,n)}function c(){P(this.clear.expired.bind(this.clear))}var l,d="["+oe+"]",p="[state]",v="[value]",g=new RegExp("^"+M(d)+"\\[(.+?)\\]"+M(p)+"$"),m=/^(.+?),(\d+),(\d*),(.+?),(\d+)$/,y=function(){try{return"localStorage"in e&&e.localStorage}catch(e){return ge}}(),w=y?e.localStorage:pe,x=y&&"remainingSpace"in w,q={};return C.on(Me,function(e){P(function(){l.clear(e.id)})}).on(Oe,function(e){b("-!/"+oe+"/cache/dispose").then(function(t){P(function(){t(e.source.length),l.set(e)})})}).on(Ie,function(e){e.source&&t(e)&&(q[e.id]=me)}).after(_e,function(e){q[e.id]&&P(function(){l.set(e)})}),c.prototype={get:y?function(e){var r,u;if(t(e)){if(r=d+"["+e.id+"]",!(u=i(r+p)))return;return u[0]!==e.version||u[2]&&e.lifetime&&u[2]<=f()?void(e.invalid=!0):(e.source=n(r+v),P(function(){o(r+p,u)}),me)}}:function(){},resolve:y?function(e){this.get(e)?u(Se,e):u(Me,e)}:function(e){u(Me,e)},set:y?function(e){var n,i,c;if(t(e)){n=[e.version,e.source.length,e.lifetime?f()+e.lifetime:pe,b.version],i=d+"["+e.id+"]",u("preCache",e,n);try{if(c=x?w.remainingSpace:pe,r(i+v,e.source),o(i+p,n),c!==pe&&w.remainingSpace===c)throw new Error;u("postCache",e,n)}catch(t){u(Oe,e)}}}:function(){},clear:y?function(e){var t=h(e),i=d+"["+t+"]";n(i+p)&&(r(i+p),r(i+v),u("cacheClear",_.get(t)||new _(t,pe,ge)))}:function(){}},c.prototype.clear.all=y?function(){var e;a(w,function(t){(e=t.match(g))&&this(e[1])},this)}:function(){},c.prototype.clear.expired=y?function(){var e,t;a(w,function(n){(e=n.match(g))&&(t=i(d+"["+e[1]+"]"+p))&&t[2]>0&&t[2]<=f()&&this(e[1])},this)}:function(){},l=new c}(),I="WeakMap"in e?e.WeakMap:function(){function e(e,t){var n;if((n=t[e.id])&&n[0]===t)return n}function t(){this.define("id",n+E())}var n="weakmap-";return t.prototype={set:function(t,n){var r=e(this,t);return r?r[1]=n:t.define(this.id,[t,n]),this},get:function(t){var n=e(this,t);if(n)return n[1]},delete:function(t){var n=e(this,t);n&&(n.length=0,delete t[this.id])},has:function(t){return!!e(this,t)}},t}(),N=function(){function e(e,n,r){e.then(function(){r.resolved[n]=s(arguments),r.count++,t(r)},function(){r.rejected.push(s(arguments)),t(r)})}function t(e){e.count===e.total?e.dfd.resolve.apply(pe,Ge.apply([],e.resolved)):e.rejected.length+e.count===e.total&&e.dfd.reject.apply(pe,Ge.apply([],e.rejected))}function n(e){var t=this;return u.set(t,{state:r,handle:function(e,t){var n,c,a=u.get(this);for(a.state===r&&(a.state=e,a.value=t);n=a[a.state].shift();)(c=n.handler.apply(pe,a.value))&&"function"==typeof c.then?c.then(n.dfd.resolve,n.dfd.reject):n.dfd[a.state===i?"resolve":"reject"].apply(pe,a.value);a[i].length=0,a[o].length=0}.bind(t),value:pe,resolved:[],rejected:[],count:0}),e(function(){u.get(this).handle(i,arguments)}.bind(t),function(){u.get(this).handle(o,arguments)}.bind(t)),t}var r="pending",i="resolved",o="rejected",u=new I;return n.prototype={catch:function(e){return this.then(function(){},e)},always:function(e){return this.then(e,e)},then:function(e,t){var c=u.get(this),a=n.defer();return e&&c[i].push({handler:e,dfd:a}),t&&c[o].push({handler:t,dfd:a}),c.state!==r&&P(c.handle),a.pledge},isPending:function(){return u.get(this).state===r},isResolved:function(){return u.get(this).state===i},isRejected:function(){return u.get(this).state===o}},n.defer=function(){var e={};return e.pledge=new n(function(t,n){e.resolve=t,e.reject=n}),e},n.all=function(t){var r,i,o=n.defer(),u=0;if(t.length)for(r={dfd:o,resolved:[],rejected:[],total:t.length,count:0};i=t[u];u++)e(i,u,r);else o.resolve();return o.pledge},n.race=function(e){for(var t,r=n.defer(),i=0;t=e[i];i++)t.then(r.resolve,r.reject);return e.length||r.resolve(),r.pledge},n}(),L=function(){function e(){t.set(this,{})}var t=new I;return e.prototype={get:function(e){return e?t.get(this)[e]:t.get(this)},set:function(e,n){t.get(this)[e]=n},remove:function(e){delete t.get(this)[e]}},e}(),p.prototype={toString:function(){var e=this,t=oe+": "+e.message+" "+(e.module?'"'+e.module+'"':"");return e.stack&&(t=p.traverse(e.stack,t,1)),t}},p.traverse=function(e,t,n){for(var r,i=new Array(n+1).join(" "),o=0;r=e[o];o++)t+="\n"+i+"> "+r.message+" "+(r.module?'"'+r.module+'"':""),r.stack&&(t=p.traverse(r.stack,t,n+1));return t},_=function(){function e(e,t){this[e]=t}function t(e,t){t.pledge.isPending()&&this.push(e)}function n(e,t){t.pledge.isResolved()&&this.push(e)}function r(e,t){t.pledge.isRejected()&&this.push(e)}function i(e,t,n){var r=this,i=e.match(D)||f;return r.path=d(e,t),r.mock=i[1]?me:ge,r.cache=i[2]?"+"===i[1]:pe,r.type=i[3]||ie.handler,r.version=i[4]||ie.version,r.lifetime=i[5]&&1e3*i[5]||ie.lifetime,r.id=(r.mock?he:"")+r.type+"!"+r.path,r.uri=(r.mock?he:"")+r.type+"@"+r.version+(u(r.lifetime)&&r.lifetime>0?"#"+r.lifetime:"")+"!"+r.path,r.dfd=N.defer(),r.pledge=r.dfd.pledge,r.invalid=!1,r.pledge.then(function(){r.value=s(arguments)}),n!==ge&&c.set(r.id,r),r}var o="internal!",c=new L,f=[];return i.prototype={enqueue:!0},i.get=function(e,t){return c.get(h(e,t))},i.resolve=function(t,n){var r,u=n&&T.test(t),c=u?this.get(o+n+"/"+t):this.get(t,n);if(!c)if(u){switch(c=new i(o+n+"/"+t),t){case oe:r=a(b,e,b.bind(n));break;case ue:r=q.bind(n);break;case"path":r=n}c.dfd.resolve(r)}else c=new i(t,n),b(se+c.type).then(function(e){c.handler=e,c.mock?c.dfd.resolve(e):H.resolve(c)},function(){c.dfd.reject(new p(Ue+" (handler)",self.id))});return c},i.remove=function(e,t,n){var r=h(e,t),i=ne.querySelector("["+oe+'-id="'+r+'"]');c.remove(r),c.remove(he+r),i&&i.parentNode.removeChild(i),n!==ge&&H.clear(r)},i.list={all:function(){return Je.keys(c.get())},pending:function(){return a(c.get(),t,[])},resolved:function(){return a(c.get(),n,[])},rejected:function(){return a(c.get(),r,[])}},i}(),F=function(){function e(e,t){this[e]={url:l(t).replace(n,"$1"),match:new RegExp("^"+M(t))}}function t(t,n){var r=this;r.weight=t.length,r.match=new RegExp("^"+M(t)),r.location=[].concat(n),a(r.location,e,r.location)}var n=/(.+)\/$/;return t.prototype={matches:function(e){return this.match.test(e)},process:function(e,t){var n=this.location[t];if(n)return e.replace(this.match,n.url)}},t}(),ee=XMLHttpRequest,te="XDomainRequest"in e&&e.XDomainRequest||ee,U=function(e){var r,i=N.defer(),o=$.test(e)?new ee:new te,u=function(){this.readyState<4&&this.abort()}.bind(o),c=ie.timeout;return o.ontimeout=o.onerror=o.onabort=function(){i.reject(o.status)},o.onprogress=o.onreadystatechange=function(){n(r),r=t(u,c)},o.onload=function(){r=n(r),"status"in o&&200!==o.status?i.reject(o.status):i.resolve(o.responseText,o.getResponseHeader&&o.getResponseHeader("content-type"))},o.open("GET",e,me),o.send(),r=t(u,c),i.pledge},b=function(){function t(e,t){this[e]={weight:e.length,state:t}}function n(e,t){"base"!==e&&(this[e]=new F(e,t))}function r(e,t){var n=this[e]=this[e]||{};C.emit(Ee,e,n),R(n,t),C.emit(Pe,e,n)}function d(){var t,n,r=s(arguments),o=this!==e?this:pe,u=0;for(C.emit($e,pe,r,o);t=r[u];u++)i(t,we)?r[u]=_.resolve(t,o).pledge:(r[u]=(n=N.defer()).pledge,n.resolve(t));return(r.length>1?N.all(r):r[0]).always(function(){C.emit(Te,pe,r,o)})}return d.configure=function(e){var c=e.cache,s=e.version,f=e.timeout,l=e.lifetime,h=e.base,p=e.pattern,v=e.modules,g=ie.modules;return i(c,"boolean")?ie.cache[""]={weight:0,state:c}:o(c)&&a(c,t,ie.cache),i(s,we)&&(ie.version=s),u(f)&&(ie.timeout=1e3*Math.min(Math.max(f,2),12)),u(l)&&l>0&&(ie.lifetime=1e3*l),i(h,we)&&""!==h&&(ie.pattern.base=new F("",h)),o(p)&&a(p,n,ie.pattern),o(v)&&a(v,r,g),d},d.version="5.0.1",d.on=C.on.bind(d),d.get=function(e,t){var n=_.get(e,t);return n&&n.value},d.list=_.list,d.remove=_.remove,d.cache={clear:H.clear},C.after(Me,function(e){new function(e){function t(t,n){n&&e.handler.validate&&!e.handler.validate(n)?e.dfd.reject(new p(Ue+" (content-type)",e.id)):(e.source=t,C.emit(Ie,e.type,e))}function n(t){e.dfd.reject(new p(Ue+(t?" (status)":""),e.id))}var r,i=/^(?:\?|)$/;S.test(e.path)||a(ie.pattern,function(t,n){n.matches(e.path)&&(!r||r.weight "+r.message+" "+(r.module?'"'+r.module+'"':""),r.stack&&(t=p.traverse(r.stack,t,n+1));return t},G=function(){function e(e,t){var n,r;for(n=0;r=t[n];n++)i(r,we)&&(t[n]=h(r))}function t(){}var n=se+"bundle",r={};return b.on(Pe+":"+n,function(t){o(t)&&a(r=t,e)}),t.prototype={validate:B.validate,onPreProcess:function(e){function t(){s.reject(new p(Xe,e.id,arguments))}var n,i,o,u,c,a=e.source,s=e.dfd,f=r[e.path];if(e.enqueue=ge,f&&(n=function(e){for(var t,n,i=0;n=e[i];i++)if(n=(n=n.match(D))&&n[3]||r.handler,t){if(n!==t)return ge}else t=n;return t}(f))){for(;i=A.exec(a);)a=a.replace(i[0],"");for(e.source=a,o=[],c=0;u=f[c];c++)o.push(_.resolve(he+u).pledge);N.all(o).then(function(){for(o.length=0,c=0;u=f[c];c++)(u=f[c]=_.get(u)||new _(u)).handler=arguments[c],o.push(u.pledge);"module"===n?(j.enqueue.apply(j,f),B.process(e)):(B.process(e),j.enqueue.apply(j,f)),N.all(o).then(s.resolve,t)},t)}else t()}},new(t.extends(w))}(),J=function(){function e(){}var t=".html",n=/^text\/.+$/;return e.prototype={validate:function(e){return n.test(e)},onPreRequest:function(e){var n=e.url.pathname;e.url.pathname=n.slice(-t.length)!==t?n+t:n},onPostRequest:function(e){e.source=y(e.url,e.source)},onPreProcess:function(e){function t(){c.reject(new p(Xe,e.id,arguments))}var n,r,i,o,u=e.path,c=e.dfd,a=ne.createElement("body"),s=[],f=[];for(e.enqueue=ge,a.innerHTML=e.source;n=a.firstElementChild;)(r=n.getAttribute("type"))&&(o=r+"!"+u+((i=n.getAttribute("path"))?"/"+i:""),n.parentNode.removeChild(n),s.push({source:n.textContent,uri:o}),f.push(_.resolve("mock:"+o).pledge));N.all(f).then(function(){var e,n,r=0;for(f.length=0;e=s[r];r++)(n=_.get(e.uri)||new _(e.uri)).source=y(n.url,e.source),n.handler=arguments[r],f.push(n.pledge),j.enqueue(n);N.all(f).then(c.resolve,t)},t)}},new(e.extends(w))}(),z=function(){function e(e){for(var t,n,r=0;t=u[r];r++)0===e.indexOf(t.prefix)&&(!n||t.weight>n.weight)&&(n=t);return n}function t(e,t){u.push({prefix:e,weight:e.length,fn:t})}function n(e,t){var n,i=t.matches,o=0;if(i.length>1){for(t.id=r+"/"+g(JSON.stringify(t.matches));n=i[o];o++)i[o]=new _(n.uri);b.configure(function(e){var t,n,r=e.matches,i={pattern:{},modules:{"/demand/handler/bundle":{}}},o=0;for(i.pattern[e.id]=e.fn(r),i.modules[se+"bundle"][e.id]=t=[];n=r[o];o++)t.push(n.path);return i}(t)),b("bundle!"+t.id).then(function(){for(var e,t=0;e=this[t];t++)e.dfd.resolve(arguments[t])}.bind(i),function(){for(var e,t=0;e=this[t];t++)e.dfd.reject(new p(Xe,e.id))}.bind(i))}}var r=fe+"genie",u=[];return b.on(Pe+":"+r,function(e){o(e)&&(u.length=0,a(e,t))}).on($e,function(t,r){for(var o,u,c={},s=0;o=t[s];s++)!i(o,we)||T.test(o)||_.get(o,r)||"module"===(o=new _(o,r,ge)).type&&(u=e(o.path))&&!H.get(o)&&(c[u.prefix]||(c[u.prefix]={fn:u.fn,matches:[]})).matches.push(o);a(c,n)}),me}(),j=new X,k=new W(j),x(ae+"uuid",m),x(ae+"handler",w),x(se+"module",B),x(se+"bundle",G),x(se+"component",J),x(fe+"genie",z),x(de+"isTypeOf",i),x(de+"isArray",v),x(de+"isObject",o),x(de+"isInstanceOf",c),x(le+"resolveUrl",l),x(le+"resolveSourcemaps",y),x(le+"merge",R),x(le+"iterate",a),x(le+"hash",g),x(le+"defer",P),x(le+"uuid",E),x(ce+"weakmap",I),x(ce+"descriptor",r),x(ce+"pledge",N),x(ce+"queue",X),x(ce+"xhr",U),x(ce+"failure",p),re&&re.main)switch(typeof re.main){case we:b(re.main);break;case be:q("main",re.main())}}("demand-loader"===this.name?parent:this,setTimeout,clearTimeout); //# sourceMappingURL=demand.js.map diff --git a/dist/demand.js.map b/dist/demand.js.map index 66465c3..e21e2b0 100644 --- a/dist/demand.js.map +++ b/dist/demand.js.map @@ -1 +1 @@ -{"version":3,"sources":["demand.js"],"names":["global","setTimeout","clearTimeout","demand","provide","queue","processor","document","options","settings","version","cache","timeout","pattern","modules","handler","DEMAND_ID","MODULE_PREFIX","MODULE_PREFIX_ABSTRACT","MODULE_PREFIX_HANDLER","MODULE_PREFIX_PLUGIN","MODULE_PREFIX_FUNCTION","MODULE_PREFIX_VALIDATOR","MOCK_PREFIX","NULL","UNDEFINED","undefined","FALSE","TRUE","STRING_UNDEFINED","STRING_STRING","STRING_OBJECT","STRING_FUNCTION","STRING_NUMBER","FUNCTION_EMPTY","EVENT_PRE_CONFIGURE","EVENT_PREFIX","EVENT_POST_CONFIGURE","EVENT_POSTFIX","EVENT_CACHE","EVENT_CACHE_MISS","EVENT_CACHE_EXCEED","EVENT_PRE_RESOLVE","EVENT_POST_RESOLVE","EVENT_PRE_REQUEST","EVENT_POST_REQUEST","EVENT_PRE_PROCESS","EVENT_POST_PROCESS","EVENT_QUEUE_ENQUEUE","EVENT_QUEUE","ERROR_LOAD","ERROR_RESOLVE","arrayPrototype","Array","prototype","arrayPrototypeSlice","slice","arrayPrototypeConcat","concat","object","Object","objectPrototypeToString","toString","objectCreate","create","objectDefineProperty","defineProperty","objectGetOwnPropertyNames","getOwnPropertyNames","objectGetOwnPropertyDescriptor","getOwnPropertyDescriptor","linkElement","createElement","ClassDescriptor","value","writable","configurable","enumerable","__proto__","validatorIsTypeOf","type","validatorIsObject","validatorIsPositive","isFinite","Math","floor","validatorIsInstanceOf","module","functionIterate","source","callback","context","property","properties","keys","i","call","strPrototype","objectDefine","name","this","functionExtends","names","constructor","e","TypeError","Function","define","storage","element","fallback","hasSetImmediate","functionMerge","mergeProperties","targetPropertyIsObject","targetProperty","length","target","arguments","functionUuid","regex","RegExp","randomize","character","r","random","replace","functionDefer","fn","MutationObserver","observe","attributes","setAttribute","addEventListener","event","data","uuid","postMessage","onreadystatechange","parentNode","removeChild","body","appendChild","setImmediate","functionToArray","arrayLikeObject","start","end","singletonEvent","TYPE_ON","regexMatchEvent","listener","addListener","events","pointer","split","shift","test","on","after","push","filter","Event","emit","parameter","item","apply","functionGetTimestamp","Date","regexMatchRegex","functionEscapeRegex","functionResolveUrl","url","href","regexIsAbsoluteUri","regexIsAbsolutePath","regexMatchSourcemap","regexMatchBaseUrl","regexMatchInternal","regexMatchParameter","functionResolvePath","uri","path","functionResolveId","match","singletonCache","STORAGE_PREFIX","STORAGE_SUFFIX_STATE","regexMatchState","regexMatchProperties","supportsLocalStorage","localStorage","exception","supportsRemainingSpace","enabled","dependency","indexOf","weight","state","getKey","key","getItem","setKey","getState","matches","setState","join","id","Cache","clear","expired","bind","then","cacheDispose","set","get","lifetime","invalid","resolve","spaceBefore","remainingSpace","Error","error","ClassDependency","all","ClassWeakmap","WeakMap","prefix","getEntry","entry","delete","has","ClassPledge","PLEDGE_PENDING","PLEDGE_RESOLVED","PLEDGE_REJECTED","pledge","index","resolved","count","check","rejected","total","dfd","reject","executor","handle","result","catch","always","alwaysListener","resolveListener","rejectListener","defer","isPending","isResolved","isRejected","self","pledges","race","ClassRegistry","remove","ClassFailure","message","stack","traverse","depth","indention","registry","placeholder","setProperty","addPending","addResolved","addRejected","register","mock","enqueue","isInternal","node","querySelector","list","pending","ClassPattern","regexMatchTrailingSlash","location","process","current","ClassXhr","XMLHttpRequest","XDomainRequest","xhr","boundCheckState","readyState","abort","ontimeout","onerror","onabort","status","onprogress","onload","responseText","getResponseHeader","open","send","validatorIsArray","functionHash","input","charCodeAt","AbstractUuid","updateCacheSettings","updatePatternSettings","updateModuleSettings","temp","dependencies","configure","base","min","max","regexMatchEmptySearch","response","validate","load","search","onPostRequest","EVENT_CACHE_HIT","onPreRequest","onPreProcess","isFunction","definition","console","/demand","ClassQueue","dequeue","extends","ClassProcessor","functionResolveSourcemaps","replacement","exec","protocol","host","pathname","abstractHandler","handlerModule","getElementsByTagName","regexMatchType","HandlerModule","script","async","text","handlerBundle","updateDependencies","HandlerBundle","getType","handlerComponent","HandlerComponent","container","innerHTML","firstElementChild","getAttribute","textContent","pluginGenie","matchPattern","addPattern","resolveBundles","JSON","stringify","bundle","configuration","/demand/handler/bundle","generateConfiguration","bundles","assignModule","main","parent"],"mappings":"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","file":"demand.js","sourcesContent":["(function(global, setTimeout, clearTimeout) {\n \"use strict\";\n var document = global.document,\n options = \"demand\" in global && global.demand,\n settings = {\n version: \"1.0.0\",\n cache: {},\n timeout: 8e3,\n pattern: {},\n modules: {},\n handler: \"module\"\n },\n demand, provide, queue, processor;\n var DEMAND_ID = \"demand\",\n PROVIDE_ID = \"provide\",\n PATH_ID = \"path\",\n MODULE_PREFIX = \"/\" + DEMAND_ID + \"/\",\n MODULE_PREFIX_ABSTRACT = MODULE_PREFIX + \"abstract/\",\n MODULE_PREFIX_HANDLER = MODULE_PREFIX + \"handler/\",\n MODULE_PREFIX_PLUGIN = MODULE_PREFIX + \"plugin/\",\n MODULE_PREFIX_FUNCTION = MODULE_PREFIX + \"function/\",\n MODULE_PREFIX_VALIDATOR = MODULE_PREFIX + \"validator/\",\n MOCK_PREFIX = \"mock:\",\n NULL = null,\n UNDEFINED = undefined,\n FALSE = false,\n TRUE = true,\n STRING_UNDEFINED = \"undefined\",\n STRING_STRING = \"string\",\n STRING_BOOLEAN = \"boolean\",\n STRING_OBJECT = \"object\",\n STRING_FUNCTION = \"function\",\n STRING_NUMBER = \"number\",\n FUNCTION_EMPTY = function() {},\n EVENT_PREFIX = \"pre\",\n EVENT_POSTFIX = \"post\",\n EVENT_CONFIGURE = \"Configure\",\n EVENT_PRE_CONFIGURE = EVENT_PREFIX + EVENT_CONFIGURE,\n EVENT_POST_CONFIGURE = EVENT_POSTFIX + EVENT_CONFIGURE,\n EVENT_CACHE = \"cache\",\n EVENT_CACHE_MISS = EVENT_CACHE + \"Miss\",\n EVENT_CACHE_HIT = EVENT_CACHE + \"Hit\",\n EVENT_CACHE_CLEAR = EVENT_CACHE + \"Clear\",\n EVENT_CACHE_EXCEED = EVENT_CACHE + \"Exceed\",\n EVENT_PRE_CACHE = EVENT_PREFIX + \"Cache\",\n EVENT_POST_CACHE = EVENT_POSTFIX + \"Cache\",\n EVENT_RESOLVE = \"Resolve\",\n EVENT_PRE_RESOLVE = EVENT_PREFIX + EVENT_RESOLVE,\n EVENT_POST_RESOLVE = EVENT_POSTFIX + EVENT_RESOLVE,\n EVENT_REQUEST = \"Request\",\n EVENT_PRE_REQUEST = EVENT_PREFIX + EVENT_REQUEST,\n EVENT_POST_REQUEST = EVENT_POSTFIX + EVENT_REQUEST,\n EVENT_PROCESS = \"Process\",\n EVENT_PRE_PROCESS = EVENT_PREFIX + EVENT_PROCESS,\n EVENT_POST_PROCESS = EVENT_POSTFIX + EVENT_PROCESS,\n EVENT_QUEUE = \"queue\",\n EVENT_QUEUE_ENQUEUE = EVENT_QUEUE + \"Enqueue\",\n EVENT_QUEUE_DEQUEUE = EVENT_QUEUE + \"Dequeue\",\n ERROR_LOAD = \"error loading\",\n ERROR_PROVIDE = \"error providing\",\n ERROR_RESOLVE = \"error resolving\",\n ERROR_PROVIDE_ANONYMOUS = \"unspecified anonymous provide\";\n var arrayPrototype = Array.prototype,\n arrayPrototypeSlice = arrayPrototype.slice,\n arrayPrototypeConcat = arrayPrototype.concat,\n object = Object,\n objectPrototype = object.prototype,\n objectPrototypeToString = objectPrototype.toString,\n objectCreate = object.create,\n objectDefineProperty = object.defineProperty,\n objectGetOwnPropertyNames = object.getOwnPropertyNames,\n objectGetOwnPropertyDescriptor = object.getOwnPropertyDescriptor,\n linkElement = document.createElement(\"a\");\n\n function ClassDescriptor(value, writable, configurable, enumerable) {\n return {\n __proto__: NULL,\n value: value,\n enumerable: !!enumerable,\n configurable: !!configurable,\n writable: !!writable\n }\n }(function(strPrototype) {\n function objectDefine(name, value, writable, configurable, enumerable) {\n objectDefineProperty(this, name, new ClassDescriptor(value, writable, configurable, enumerable))\n }\n\n function functionExtends(source) {\n var self = this,\n prototype = self[strPrototype],\n names = objectGetOwnPropertyNames(prototype),\n properties = {\n constructor: new ClassDescriptor(self, TRUE, TRUE)\n },\n i = 0,\n property;\n for (;\n (property = names[i]) && !properties[property]; i++) {\n properties[property] = objectGetOwnPropertyDescriptor(prototype, property)\n }\n try {\n self[strPrototype] = objectCreate(source[strPrototype] || source, properties)\n } catch (e) {}\n if (self[strPrototype] === prototype) {\n throw new TypeError(\"Unable to extend, prototype is not writable\")\n }\n return self\n }\n objectDefine.call(Object.prototype, \"define\", objectDefine);\n objectDefine.call(global.Object.prototype, \"define\", objectDefine);\n Function.prototype.define(\"extends\", functionExtends);\n global.Function.prototype.define(\"extends\", functionExtends)\n })(\"prototype\");\n\n function validatorIsTypeOf(object, type) {\n return typeof object === type\n }\n\n function validatorIsObject(object) {\n return object && validatorIsTypeOf(object, STRING_OBJECT)\n }\n\n function validatorIsPositive(value) {\n return validatorIsTypeOf(value, STRING_NUMBER) && isFinite(value) && Math.floor(value) === value && value >= 0\n }\n\n function validatorIsInstanceOf(object, module) {\n return object instanceof module\n }\n\n function functionIterate(source, callback, context) {\n var properties = object.keys(source),\n i = 0,\n property;\n for (;\n (property = properties[i]) !== UNDEFINED; i++) {\n if (callback.call(context, property, source[property]) === FALSE) {\n break\n }\n }\n return context\n }\n var functionMerge = function() {\n function mergeProperties(property, value) {\n var targetProperty = this[property],\n targetPropertyIsObject;\n if (value !== UNDEFINED) {\n if (validatorIsObject(value)) {\n targetPropertyIsObject = validatorIsObject(targetProperty);\n if (value.length !== UNDEFINED) {\n targetProperty = targetPropertyIsObject && targetProperty.length !== UNDEFINED ? targetProperty : []\n } else {\n targetProperty = targetPropertyIsObject && targetProperty.length === UNDEFINED ? targetProperty : {}\n }\n this[property] = functionMerge(targetProperty, value)\n } else {\n this[property] = value\n }\n }\n }\n return function functionMerge() {\n var target = arguments[0],\n i = 1,\n properties;\n for (;\n (properties = arguments[i]) !== UNDEFINED; i++) {\n functionIterate(properties, mergeProperties, target)\n }\n return target\n }\n }();\n var functionUuid = function() {\n var regex = new RegExp(\"[xy]\", \"g\");\n\n function randomize(character) {\n var r = Math.random() * 16 | 0;\n return (character === \"x\" ? r : r & 3 | 8).toString(16)\n }\n return function functionUuid() {\n return \"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(regex, randomize)\n }\n }();\n var functionDefer = function() {\n var hasSetImmediate = \"setImmediate\" in global,\n element, fallback;\n if (\"MutationObserver\" in global) {\n return function functionDefer(fn) {\n element = document.createElement(\"div\");\n new MutationObserver(function() {\n fn()\n }).observe(element, {\n attributes: TRUE\n });\n element.setAttribute(\"i\", \"1\")\n }\n }\n if (!hasSetImmediate && \"postMessage\" in global && !(\"importScripts\" in global) && \"addEventListener\" in global) {\n return function() {\n var storage = {};\n\n function onMessage(event) {\n var fn;\n if (event.source === global && event.data && (fn = storage[event.data])) {\n fn();\n delete storage[event.data]\n }\n }\n global.addEventListener(\"message\", onMessage, FALSE);\n return function functionDefer(fn) {\n var uuid = functionUuid();\n storage[uuid] = fn;\n global.postMessage(uuid, \"*\")\n }\n }()\n }\n if (!hasSetImmediate && \"onreadystatechange\" in (element = document.createElement(\"script\"))) {\n return function functionDefer(fn) {\n element.onreadystatechange = function onreadystatechange() {\n element.onreadystatechange = NULL;\n element.parentNode.removeChild(element);\n fn()\n };\n document.body.appendChild(element)\n }\n }\n fallback = hasSetImmediate ? setImmediate : setTimeout;\n return function functionDefer(fn) {\n fallback(fn)\n }\n }();\n\n function functionToArray(arrayLikeObject, start, end) {\n return arrayPrototypeSlice.call(arrayLikeObject, start, end)\n }\n var singletonEvent = function() {\n var TYPE_ON = \"on\",\n TYPE_AFTER = \"after\",\n regexMatchEvent = /^cache(Miss|Hit|Clear|Exceed)|queue(En|De)queue|(pre|post)(Resolve|Configure|Request|Process|Cache)$/,\n listener = {};\n\n function addListener(type, events, callback) {\n var event, pointer;\n if (validatorIsTypeOf(events, STRING_STRING) && validatorIsTypeOf(callback, STRING_FUNCTION)) {\n events = events.split(\" \");\n while (event = events.shift()) {\n event = event.split(\":\");\n if (regexMatchEvent.test(event[0])) {\n (listener[event[0]] || (listener[event[0]] = {\n on: [],\n after: []\n }))[type].push({\n callback: callback,\n filter: event[1]\n });\n if (type === TYPE_ON && event[0] === EVENT_POST_CONFIGURE && (pointer = settings.modules[event[1]])) {\n callback(pointer)\n }\n }\n }\n }\n }\n\n function Event() {}\n Event.prototype = {\n emit: function(event, filter) {\n var pointer = listener[event],\n parameter, i, item;\n if (pointer) {\n parameter = functionToArray(arguments, 2);\n for (i = 0; item = pointer[TYPE_ON][i]; i++) {\n if (!item.filter || item.filter === filter) {\n item.callback.apply(NULL, parameter)\n }\n }\n for (i = 0; item = pointer[TYPE_AFTER][i]; i++) {\n if (!item.filter || item.filter === filter) {\n item.callback.apply(NULL, parameter)\n }\n }\n }\n return this\n },\n on: function(events, callback) {\n addListener(TYPE_ON, events, callback);\n return this\n },\n after: function(events, callback) {\n addListener(TYPE_AFTER, events, callback);\n return this\n }\n };\n return new Event\n }();\n\n function functionGetTimestamp() {\n return +new Date\n }\n var functionEscapeRegex = function() {\n var regexMatchRegex = /[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g;\n return function functionEscapeRegex(value) {\n return value.replace(regexMatchRegex, \"\\\\$&\")\n }\n }();\n\n function functionResolveUrl(url) {\n linkElement.href = url;\n return linkElement.href\n }\n var regexIsAbsoluteUri = /^(http(s?):)?\\/\\//i,\n regexIsAbsolutePath = /^\\//,\n regexMatchSourcemap = /((?:\\/\\/|\\/\\*)#)\\s*(sourceMappingURL)\\s*=\\s*(?!(?:http[s]?:)?\\/\\/)(.+?)\\.map(?:\\s+)?(\\*\\/)?/g,\n regexMatchBaseUrl = new RegExp(\"^\" + functionEscapeRegex(functionResolveUrl(\"/\"))),\n regexMatchInternal = new RegExp(\"^\" + DEMAND_ID + \"|\" + PROVIDE_ID + \"|\" + PATH_ID + \"$\"),\n regexMatchParameter = /^(mock:)?([+-])?((?:[-\\w]+\\/?)+)?(?:@(.+?))?(?:#(\\d+))?!/;\n\n function functionResolvePath(uri, context) {\n var path = uri.replace(regexMatchParameter, \"\");\n if (!regexIsAbsolutePath.test(path) && !regexIsAbsoluteUri.test(path)) {\n path = \"/\" + functionResolveUrl((context && functionResolveUrl(context + \"/../\") || \"/\") + path).replace(regexMatchBaseUrl, \"\")\n }\n return path\n }\n\n function functionResolveId(uri, context) {\n var parameter = uri.match(regexMatchParameter);\n return (parameter && parameter[1] ? \"mock:\" : \"\") + (parameter && parameter[3] || settings.handler) + \"!\" + functionResolvePath(uri, context)\n }\n var singletonCache = function() {\n var STORAGE_PREFIX = \"[\" + DEMAND_ID + \"]\",\n STORAGE_SUFFIX_STATE = \"[state]\",\n STORAGE_SUFFIX_VALUE = \"[value]\",\n regexMatchState = new RegExp(\"^\" + functionEscapeRegex(STORAGE_PREFIX) + \"\\\\[(.+?)\\\\]\" + functionEscapeRegex(STORAGE_SUFFIX_STATE) + \"$\"),\n regexMatchProperties = /^(.+?),(\\d+),(\\d*),(.+?),(\\d+)$/,\n supportsLocalStorage = function() {\n try {\n return \"localStorage\" in global && global.localStorage\n } catch (exception) {\n return FALSE\n }\n }(),\n localStorage = supportsLocalStorage ? global.localStorage : NULL,\n supportsRemainingSpace = supportsLocalStorage && \"remainingSpace\" in localStorage,\n storage = {},\n cache;\n singletonEvent.on(EVENT_CACHE_MISS, function(dependency) {\n functionDefer(function() {\n cache.clear(dependency.id)\n })\n }).on(EVENT_CACHE_EXCEED, function(dependency) {\n demand(\"-!/\" + DEMAND_ID + \"/cache/dispose\").then(function(cacheDispose) {\n functionDefer(function() {\n cacheDispose(dependency.source.length);\n cache.set(dependency)\n })\n })\n }).on(EVENT_POST_REQUEST, function(dependency) {\n if (dependency.source && enabled(dependency)) {\n storage[dependency.id] = TRUE\n }\n }).after(EVENT_POST_PROCESS, function(dependency) {\n if (storage[dependency.id]) {\n functionDefer(function() {\n cache.set(dependency)\n })\n }\n });\n\n function enabled(dependency) {\n var match;\n if (dependency.cache !== NULL) {\n return dependency.cache\n }\n functionIterate(settings.cache, function(property, value) {\n if (dependency.path.indexOf(property) === 0 && (!match || value.weight > match.weight)) {\n match = value\n }\n });\n return match ? match.state : FALSE\n }\n\n function getKey(key) {\n return localStorage.getItem(key)\n }\n\n function setKey(key, value) {\n localStorage[value ? \"setItem\" : \"removeItem\"](key, value)\n }\n\n function getState(key) {\n var state = getKey(key),\n matches;\n if (state && (matches = state.match(regexMatchProperties))) {\n return functionToArray(matches, 1)\n }\n }\n\n function setState(key, state) {\n state[4] = functionGetTimestamp();\n setKey(key, state.join(\",\"))\n }\n\n function emit(event, dependency, state) {\n singletonEvent.emit(event, dependency.id, dependency, state)\n }\n\n function Cache() {\n functionDefer(this.clear.expired.bind(this.clear))\n }\n Cache.prototype = {\n get: supportsLocalStorage ? function(dependency) {\n var id, state;\n if (enabled(dependency)) {\n id = STORAGE_PREFIX + \"[\" + dependency.id + \"]\";\n state = getState(id + STORAGE_SUFFIX_STATE);\n if (!state) {\n return\n }\n if (state[0] !== dependency.version || state[2] && dependency.lifetime && state[2] <= functionGetTimestamp()) {\n dependency.invalid = true;\n return\n }\n dependency.source = getKey(id + STORAGE_SUFFIX_VALUE);\n functionDefer(function() {\n setState(id + STORAGE_SUFFIX_STATE, state)\n });\n return TRUE\n }\n } : FUNCTION_EMPTY,\n resolve: supportsLocalStorage ? function(dependency) {\n var self = this;\n if (self.get(dependency)) {\n emit(EVENT_CACHE_HIT, dependency)\n } else {\n emit(EVENT_CACHE_MISS, dependency)\n }\n } : function(dependency) {\n emit(EVENT_CACHE_MISS, dependency)\n },\n set: supportsLocalStorage ? function(dependency) {\n var state, id, spaceBefore;\n if (enabled(dependency)) {\n state = [dependency.version, dependency.source.length, dependency.lifetime ? functionGetTimestamp() + dependency.lifetime : NULL, demand.version];\n id = STORAGE_PREFIX + \"[\" + dependency.id + \"]\";\n emit(EVENT_PRE_CACHE, dependency, state);\n try {\n spaceBefore = supportsRemainingSpace ? localStorage.remainingSpace : NULL;\n setKey(id + STORAGE_SUFFIX_VALUE, dependency.source);\n setState(id + STORAGE_SUFFIX_STATE, state);\n if (spaceBefore !== NULL && localStorage.remainingSpace === spaceBefore) {\n throw new Error\n }\n emit(EVENT_POST_CACHE, dependency, state)\n } catch (error) {\n emit(EVENT_CACHE_EXCEED, dependency)\n }\n }\n } : FUNCTION_EMPTY,\n clear: supportsLocalStorage ? function(path) {\n var id = functionResolveId(path),\n key = STORAGE_PREFIX + \"[\" + id + \"]\";\n if (getKey(key + STORAGE_SUFFIX_STATE)) {\n setKey(key + STORAGE_SUFFIX_STATE);\n setKey(key + STORAGE_SUFFIX_VALUE);\n emit(EVENT_CACHE_CLEAR, ClassDependency.get(id) || new ClassDependency(id, NULL, FALSE))\n }\n } : function() {}\n };\n Cache.prototype.clear.all = supportsLocalStorage ? function() {\n var match;\n functionIterate(localStorage, function(property) {\n match = property.match(regexMatchState);\n match && this(match[1])\n }, this)\n } : FUNCTION_EMPTY;\n Cache.prototype.clear.expired = supportsLocalStorage ? function() {\n var match, state;\n functionIterate(localStorage, function(property) {\n match = property.match(regexMatchState);\n if (match) {\n state = getState(STORAGE_PREFIX + \"[\" + match[1] + \"]\" + STORAGE_SUFFIX_STATE);\n if (state && state[2] > 0 && state[2] <= functionGetTimestamp()) {\n this(match[1])\n }\n }\n }, this)\n } : FUNCTION_EMPTY;\n return cache = new Cache\n }();\n var ClassWeakmap = \"WeakMap\" in global ? global.WeakMap : function() {\n var prefix = \"weakmap-\";\n\n function getEntry(context, key) {\n var entry;\n if ((entry = key[context.id]) && entry[0] === key) {\n return entry\n }\n }\n\n function ClassWeakmap() {\n this.define(\"id\", prefix + functionUuid())\n }\n ClassWeakmap.prototype = {\n set: function(key, value) {\n var entry = getEntry(this, key);\n if (entry) {\n entry[1] = value\n } else {\n key.define(this.id, [key, value])\n }\n return this\n },\n get: function(key) {\n var entry = getEntry(this, key);\n if (entry) {\n return entry[1]\n }\n },\n delete: function(key) {\n var entry = getEntry(this, key);\n if (entry) {\n entry.length = 0;\n delete key[this.id]\n }\n },\n has: function(key) {\n return !!getEntry(this, key)\n }\n };\n return ClassWeakmap\n }();\n var ClassPledge = function() {\n var PLEDGE_PENDING = \"pending\",\n PLEDGE_RESOLVED = \"resolved\",\n PLEDGE_REJECTED = \"rejected\",\n storage = new ClassWeakmap;\n\n function resolve() {\n storage.get(this).handle(PLEDGE_RESOLVED, arguments)\n }\n\n function reject() {\n storage.get(this).handle(PLEDGE_REJECTED, arguments)\n }\n\n function handle(state, parameter) {\n var properties = storage.get(this),\n pointer, result;\n if (properties.state === PLEDGE_PENDING) {\n properties.state = state;\n properties.value = parameter\n }\n while (pointer = properties[properties.state].shift()) {\n result = pointer.handler.apply(NULL, properties.value);\n if (result && typeof result.then === \"function\") {\n result.then(pointer.dfd.resolve, pointer.dfd.reject)\n } else {\n pointer.dfd[properties.state === PLEDGE_RESOLVED ? \"resolve\" : \"reject\"].apply(NULL, properties.value)\n }\n }\n properties[PLEDGE_RESOLVED].length = 0;\n properties[PLEDGE_REJECTED].length = 0\n }\n\n function observe(pledge, index, properties) {\n pledge.then(function() {\n properties.resolved[index] = functionToArray(arguments);\n properties.count++;\n check(properties)\n }, function() {\n properties.rejected.push(functionToArray(arguments));\n check(properties)\n })\n }\n\n function check(properties) {\n if (properties.count === properties.total) {\n properties.dfd.resolve.apply(NULL, arrayPrototypeConcat.apply([], properties.resolved))\n } else if (properties.rejected.length + properties.count === properties.total) {\n properties.dfd.reject.apply(NULL, arrayPrototypeConcat.apply([], properties.rejected))\n }\n }\n\n function ClassPledge(executor) {\n var self = this;\n storage.set(this, {\n state: PLEDGE_PENDING,\n handle: handle.bind(self),\n value: NULL,\n resolved: [],\n rejected: [],\n count: 0\n });\n executor(resolve.bind(self), reject.bind(self));\n return self\n }\n ClassPledge.prototype = {\n catch: function(listener) {\n return this.then(FUNCTION_EMPTY, listener)\n },\n always: function(alwaysListener) {\n return this.then(alwaysListener, alwaysListener)\n },\n then: function(resolveListener, rejectListener) {\n var properties = storage.get(this),\n dfd = ClassPledge.defer();\n resolveListener && properties[PLEDGE_RESOLVED].push({\n handler: resolveListener,\n dfd: dfd\n });\n rejectListener && properties[PLEDGE_REJECTED].push({\n handler: rejectListener,\n dfd: dfd\n });\n if (properties.state !== PLEDGE_PENDING) {\n functionDefer(properties.handle)\n }\n return dfd.pledge\n },\n isPending: function() {\n return storage.get(this).state === PLEDGE_PENDING\n },\n isResolved: function() {\n return storage.get(this).state === PLEDGE_RESOLVED\n },\n isRejected: function() {\n return storage.get(this).state === PLEDGE_REJECTED\n }\n };\n ClassPledge.defer = function() {\n var self = {};\n self.pledge = new ClassPledge(function(resolveListener, rejectListener) {\n self.resolve = resolveListener;\n self.reject = rejectListener\n });\n return self\n };\n ClassPledge.all = function(pledges) {\n var dfd = ClassPledge.defer(),\n properties, i = 0,\n pledge;\n if (pledges.length) {\n properties = {\n dfd: dfd,\n resolved: [],\n rejected: [],\n total: pledges.length,\n count: 0\n };\n for (; pledge = pledges[i]; i++) {\n observe(pledge, i, properties)\n }\n } else {\n dfd.resolve()\n }\n return dfd.pledge\n };\n ClassPledge.race = function(pledges) {\n var dfd = ClassPledge.defer(),\n i = 0,\n pledge;\n for (; pledge = pledges[i]; i++) {\n pledge.then(dfd.resolve, dfd.reject)\n }\n if (!pledges.length) {\n dfd.resolve()\n }\n return dfd.pledge\n };\n return ClassPledge\n }();\n var ClassRegistry = function() {\n var storage = new ClassWeakmap;\n\n function ClassRegistry() {\n storage.set(this, {})\n }\n ClassRegistry.prototype = {\n get: function(key) {\n return key ? storage.get(this)[key] : storage.get(this)\n },\n set: function(key, value) {\n storage.get(this)[key] = value\n },\n remove: function(key) {\n delete storage.get(this)[key]\n }\n };\n return ClassRegistry\n }();\n\n function ClassFailure(message, module, stack) {\n var self = this;\n self.message = message;\n module && (self.module = module);\n stack && (self.stack = functionToArray(stack));\n return self\n }\n ClassFailure.prototype = {\n toString: function() {\n var self = this,\n result = DEMAND_ID + \": \" + self.message + \" \" + (self.module ? '\"' + self.module + '\"' : \"\");\n if (self.stack) {\n result = ClassFailure.traverse(self.stack, result, 1)\n }\n return result\n }\n };\n ClassFailure.traverse = function(stack, value, depth) {\n var indention = new Array(depth + 1).join(\" \"),\n i = 0,\n item;\n for (; item = stack[i]; i++) {\n value += \"\\n\" + indention + \"> \" + item.message + \" \" + (item.module ? '\"' + item.module + '\"' : \"\");\n if (item.stack) {\n value = ClassFailure.traverse(item.stack, value, depth + 1)\n }\n }\n return value\n };\n var ClassDependency = function() {\n var PREFIX_INTERNAL = \"internal!\",\n registry = new ClassRegistry,\n placeholder = [];\n\n function setProperty(property, value) {\n this[property] = value\n }\n\n function addPending(id, dependency) {\n if (dependency.pledge.isPending()) {\n this.push(id)\n }\n }\n\n function addResolved(id, dependency) {\n if (dependency.pledge.isResolved()) {\n this.push(id)\n }\n }\n\n function addRejected(id, dependency) {\n if (dependency.pledge.isRejected()) {\n this.push(id)\n }\n }\n\n function ClassDependency(uri, context, register) {\n var self = this,\n parameter = uri.match(regexMatchParameter) || placeholder;\n self.path = functionResolvePath(uri, context);\n self.mock = parameter[1] ? TRUE : FALSE;\n self.cache = parameter[2] ? parameter[1] === \"+\" : NULL;\n self.type = parameter[3] || settings.handler;\n self.version = parameter[4] || settings.version;\n self.lifetime = parameter[5] && parameter[5] * 1e3 || settings.lifetime;\n self.id = (self.mock ? MOCK_PREFIX : \"\") + self.type + \"!\" + self.path;\n self.uri = (self.mock ? MOCK_PREFIX : \"\") + self.type + \"@\" + self.version + (validatorIsPositive(self.lifetime) && self.lifetime > 0 ? \"#\" + self.lifetime : \"\") + \"!\" + self.path;\n self.dfd = ClassPledge.defer();\n self.pledge = self.dfd.pledge;\n self.invalid = false;\n self.pledge.then(function() {\n self.value = functionToArray(arguments)\n });\n register !== FALSE && registry.set(self.id, self);\n return self\n }\n ClassDependency.prototype = {\n enqueue: true\n };\n ClassDependency.get = function(uri, context) {\n return registry.get(functionResolveId(uri, context))\n };\n ClassDependency.resolve = function(uri, context) {\n var isInternal = context && regexMatchInternal.test(uri),\n dependency = isInternal ? this.get(PREFIX_INTERNAL + context + \"/\" + uri) : this.get(uri, context),\n value;\n if (!dependency) {\n if (isInternal) {\n dependency = new ClassDependency(PREFIX_INTERNAL + context + \"/\" + uri);\n switch (uri) {\n case DEMAND_ID:\n value = function() {\n return functionIterate(demand, setProperty, demand.bind(context))\n }();\n break;\n case PROVIDE_ID:\n value = provide.bind(context);\n break;\n case PATH_ID:\n value = context;\n break\n }\n dependency.dfd.resolve(value)\n } else {\n dependency = new ClassDependency(uri, context);\n demand(MODULE_PREFIX_HANDLER + dependency.type).then(function(handler) {\n dependency.handler = handler;\n if (dependency.mock) {\n dependency.dfd.resolve(handler)\n } else {\n singletonCache.resolve(dependency)\n }\n }, function() {\n dependency.dfd.reject(new ClassFailure(ERROR_LOAD + \" (handler)\", self.id))\n })\n }\n }\n return dependency\n };\n ClassDependency.remove = function(uri, context, cache) {\n var id = functionResolveId(uri, context),\n node = document.querySelector(\"[\" + DEMAND_ID + '-id=\"' + id + '\"]');\n registry.remove(id);\n registry.remove(MOCK_PREFIX + id);\n node && node.parentNode.removeChild(node);\n cache !== FALSE && singletonCache.clear(id)\n };\n ClassDependency.list = {\n all: function() {\n return object.keys(registry.get())\n },\n pending: function() {\n return functionIterate(registry.get(), addPending, [])\n },\n resolved: function() {\n return functionIterate(registry.get(), addResolved, [])\n },\n rejected: function() {\n return functionIterate(registry.get(), addRejected, [])\n }\n };\n return ClassDependency\n }();\n var ClassPattern = function() {\n var regexMatchTrailingSlash = /(.+)\\/$/;\n\n function setProperty(property, value) {\n this[property] = {\n url: functionResolveUrl(value).replace(regexMatchTrailingSlash, \"$1\"),\n match: new RegExp(\"^\" + functionEscapeRegex(value))\n }\n }\n\n function ClassPattern(pattern, url) {\n var self = this;\n self.weight = pattern.length;\n self.match = new RegExp(\"^\" + functionEscapeRegex(pattern));\n self.location = [].concat(url);\n functionIterate(self.location, setProperty, self.location)\n }\n ClassPattern.prototype = {\n matches: function(path) {\n return this.match.test(path)\n },\n process: function(path, index) {\n var current = this.location[index];\n if (current) {\n return path.replace(this.match, current.url)\n }\n }\n };\n return ClassPattern\n }();\n var ClassXhr = function(XMLHttpRequest) {\n var XDomainRequest = \"XDomainRequest\" in global && global.XDomainRequest || XMLHttpRequest;\n\n function checkState() {\n if (this.readyState < 4) {\n this.abort()\n }\n }\n return function ClassXhr(url) {\n var dfd = ClassPledge.defer(),\n xhr = regexMatchBaseUrl.test(url) ? new XMLHttpRequest : new XDomainRequest,\n boundCheckState = checkState.bind(xhr),\n timeout = settings.timeout,\n pointer;\n xhr.ontimeout = xhr.onerror = xhr.onabort = function() {\n dfd.reject(xhr.status)\n };\n xhr.onprogress = xhr.onreadystatechange = function() {\n clearTimeout(pointer);\n pointer = setTimeout(boundCheckState, timeout)\n };\n xhr.onload = function() {\n pointer = clearTimeout(pointer);\n if (!(\"status\" in xhr) || xhr.status === 200) {\n dfd.resolve(xhr.responseText, xhr.getResponseHeader && xhr.getResponseHeader(\"content-type\"))\n } else {\n dfd.reject(xhr.status)\n }\n };\n xhr.open(\"GET\", url, TRUE);\n xhr.send();\n pointer = setTimeout(boundCheckState, timeout);\n return dfd.pledge\n }\n }(XMLHttpRequest);\n\n function ClassLoader(dependency) {\n var regexMatchEmptySearch = /^(?:\\?|)$/,\n pattern;\n\n function resolve(response, type) {\n if (!type || !dependency.handler.validate || dependency.handler.validate(type)) {\n dependency.source = response;\n singletonEvent.emit(EVENT_POST_REQUEST, dependency.type, dependency)\n } else {\n dependency.dfd.reject(new ClassFailure(ERROR_LOAD + \" (content-type)\", dependency.id))\n }\n }\n\n function reject(status) {\n dependency.dfd.reject(new ClassFailure(ERROR_LOAD + (status ? \" (status)\" : \"\"), dependency.id))\n }\n\n function load(location) {\n location = location || 0;\n dependency.url = document.createElement(\"a\");\n dependency.url.href = pattern ? functionResolveUrl(pattern.process(dependency.path, location)) : dependency.path;\n if (dependency.invalid) {\n dependency.url.search += (regexMatchEmptySearch.test(dependency.url.search) ? \"\" : \"&\") + functionGetTimestamp()\n }\n singletonEvent.emit(EVENT_PRE_REQUEST, dependency.type, dependency);\n new ClassXhr(dependency.url).then(resolve, pattern ? function() {\n location++;\n if (pattern.location[location]) {\n load(location)\n } else {\n reject()\n }\n } : reject)\n }\n if (!regexIsAbsoluteUri.test(dependency.path)) {\n functionIterate(settings.pattern, function(property, value) {\n value.matches(dependency.path) && (!pattern || pattern.weight < value.weight) && (pattern = value)\n })\n }\n load()\n }\n demand = function() {\n function updateCacheSettings(property, value) {\n this[property] = {\n weight: property.length,\n state: value\n }\n }\n\n function updatePatternSettings(property, value) {\n property !== \"base\" && (this[property] = new ClassPattern(property, value))\n }\n\n function updateModuleSettings(property, value) {\n var temp = this[property] = this[property] || {};\n singletonEvent.emit(EVENT_PRE_CONFIGURE, property, temp);\n functionMerge(temp, value);\n singletonEvent.emit(EVENT_POST_CONFIGURE, property, temp)\n }\n\n function demand() {\n var dependencies = functionToArray(arguments),\n context = this !== global ? this : NULL,\n i = 0,\n uri, dfd, result;\n singletonEvent.emit(EVENT_PRE_RESOLVE, NULL, dependencies, context);\n for (; uri = dependencies[i]; i++) {\n if (validatorIsTypeOf(uri, STRING_STRING)) {\n dependencies[i] = ClassDependency.resolve(uri, context).pledge\n } else {\n dependencies[i] = (dfd = ClassPledge.defer()).pledge;\n dfd.resolve(uri)\n }\n }\n if (dependencies.length > 1) {\n result = ClassPledge.all(dependencies)\n } else {\n result = dependencies[0]\n }\n return result.always(function() {\n singletonEvent.emit(EVENT_POST_RESOLVE, NULL, dependencies, context)\n })\n }\n demand.configure = function(options) {\n var cache = options.cache,\n version = options.version,\n timeout = options.timeout,\n lifetime = options.lifetime,\n base = options.base,\n pattern = options.pattern,\n modules = options.modules,\n pointer = settings.modules;\n if (validatorIsTypeOf(cache, STRING_BOOLEAN)) {\n settings.cache[\"\"] = {\n weight: 0,\n state: cache\n }\n } else if (validatorIsObject(cache)) {\n functionIterate(cache, updateCacheSettings, settings.cache)\n }\n if (validatorIsTypeOf(version, STRING_STRING)) {\n settings.version = version\n }\n if (validatorIsPositive(timeout)) {\n settings.timeout = Math.min(Math.max(timeout, 2), 12) * 1e3\n }\n if (validatorIsPositive(lifetime) && lifetime > 0) {\n settings.lifetime = lifetime * 1e3\n }\n if (validatorIsTypeOf(base, STRING_STRING) && base !== \"\") {\n settings.pattern.base = new ClassPattern(\"\", base)\n }\n if (validatorIsObject(pattern)) {\n functionIterate(pattern, updatePatternSettings, settings.pattern)\n }\n if (validatorIsObject(modules)) {\n functionIterate(modules, updateModuleSettings, pointer)\n }\n return demand\n };\n demand.version = \"{{gulp:package.version}}\";\n demand.on = singletonEvent.on.bind(demand);\n demand.get = function(uri, context) {\n var dependency = ClassDependency.get(uri, context);\n return dependency && dependency.value\n };\n demand.list = ClassDependency.list;\n demand.remove = ClassDependency.remove;\n demand.cache = {\n clear: singletonCache.clear\n };\n singletonEvent.after(EVENT_CACHE_MISS, function(dependency) {\n new ClassLoader(dependency)\n }).after(EVENT_POST_REQUEST, function(dependency) {\n var pointer = dependency.handler.onPostRequest;\n pointer && pointer(dependency)\n }).after(EVENT_CACHE_HIT + \" \" + EVENT_POST_REQUEST, function(dependency) {\n singletonEvent.emit(EVENT_PRE_PROCESS, dependency.id, dependency)\n }).after(EVENT_PRE_REQUEST, function(dependency) {\n var pointer = dependency.handler.onPreRequest;\n pointer && pointer(dependency)\n }).after(EVENT_PRE_PROCESS, function(dependency) {\n var pointer = dependency.handler.onPreProcess;\n pointer && pointer(dependency);\n dependency.pledge.then(function() {\n singletonEvent.emit(EVENT_POST_PROCESS, dependency.id, dependency)\n });\n if (dependency.enqueue === true) {\n queue.enqueue(dependency)\n } else if (validatorIsInstanceOf(dependency.enqueue, ClassPledge)) {\n dependency.enqueue.then(function() {\n queue.enqueue(dependency)\n })\n }\n });\n return demand\n }();\n global.define(\"demand\", demand);\n\n function validatorIsArray(value) {\n return objectPrototypeToString.call(value) === \"[object Array]\"\n }\n provide = function provide() {\n var uri = validatorIsTypeOf(arguments[0], STRING_STRING) ? arguments[0] : NULL,\n context = this !== global ? this : NULL,\n dependencies = validatorIsArray(arguments[uri ? 1 : 0]) ? arguments[uri ? 1 : 0] : NULL,\n definition = dependencies ? arguments[uri ? 2 : 1] : arguments[uri ? 1 : 0],\n module, isFunction;\n if (!uri && processor.current) {\n module = processor.current;\n uri = module.uri;\n processor.process()\n }\n if (uri) {\n module = module || new ClassDependency(uri, context);\n isFunction = validatorIsTypeOf(definition, STRING_FUNCTION);\n if (dependencies) {\n demand.apply(module.path, dependencies).then(function() {\n module.dfd.resolve(isFunction ? definition.apply(NULL, arguments) : definition)\n }, function() {\n module.dfd.reject(new ClassFailure(ERROR_PROVIDE, module.id, arguments))\n })\n } else {\n module.dfd.resolve(isFunction ? definition() : definition)\n }\n return module.dfd.pledge\n } else {\n !validatorIsTypeOf(console, STRING_UNDEFINED) && console.error(new ClassFailure(ERROR_PROVIDE_ANONYMOUS))\n }\n };\n global.define(\"provide\", provide);\n demand.configure({\n cache: TRUE,\n base: \"/\",\n pattern: {\n \"/demand\": functionResolveUrl((options && options.url || location.href) + \"/../\").slice(0, -1)\n }\n });\n options && options.settings && demand.configure(options.settings);\n\n function functionHash(input) {\n var value = 5381,\n i = input.length;\n while (i) {\n value = value * 33 ^ input.charCodeAt(--i)\n }\n return value >>> 0\n }\n\n function AbstractUuid() {\n if (validatorIsTypeOf(this.uuid, STRING_UNDEFINED)) {\n this.define(\"uuid\", functionUuid())\n }\n return this\n }\n var ClassQueue = function() {\n var storage = new ClassWeakmap;\n\n function ClassQueue() {\n var self = AbstractUuid.call(this);\n storage.set(self, []);\n return self\n }\n ClassQueue.prototype = {\n enqueue: function() {\n storage.set(this, storage.get(this).concat(functionToArray(arguments)));\n singletonEvent.emit(EVENT_QUEUE_ENQUEUE, this.uuid)\n },\n dequeue: function() {\n singletonEvent.emit(EVENT_QUEUE_DEQUEUE, this.uuid);\n return storage.get(this).shift()\n },\n get current() {\n return storage.get(this)[0]\n },\n get length() {\n return storage.get(this).length\n }\n };\n return ClassQueue.extends(AbstractUuid)\n }();\n var ClassProcessor = function() {\n var storage = new ClassWeakmap;\n\n function ClassProcessor(queue) {\n var self = this,\n properties = {\n queue: queue,\n current: NULL\n };\n storage.set(self, properties);\n demand.on(EVENT_QUEUE_ENQUEUE + \":\" + queue.uuid, function() {\n !properties.current && self.process()\n })\n }\n ClassProcessor.prototype = {\n process: function() {\n var properties = storage.get(this),\n current;\n if (properties.queue.length) {\n current = properties.current = properties.queue.dequeue();\n if (!current.pledge.isRejected()) {\n current.handler.process && current.handler.process(current);\n return\n }\n }\n properties.current = NULL\n },\n get current() {\n return storage.get(this).current\n }\n };\n return ClassProcessor\n }();\n\n function functionResolveSourcemaps(url, source) {\n var match, replacement;\n while (match = regexMatchSourcemap.exec(source)) {\n linkElement.href = url;\n if (regexIsAbsoluteUri.test(match[2])) {\n replacement = linkElement.protocol + \"//\" + linkElement.host + match[3]\n } else {\n linkElement.pathname += \"/../\" + match[3];\n replacement = linkElement.protocol + \"//\" + linkElement.host + linkElement.pathname\n }\n source = source.replace(match[0], match[1] + \" \" + match[2] + \"=\" + replacement + \".map\" + (match[4] ? \" \" + match[4] : \"\"))\n }\n return source\n }\n\n function abstractHandler() {}\n abstractHandler.prototype = {\n validate: NULL,\n onPreRequest: NULL,\n onPostRequest: NULL,\n onPreProcess: NULL,\n process: NULL\n };\n var handlerModule = function() {\n var suffix = \".js\",\n target = document.getElementsByTagName(\"head\")[0],\n regexMatchType = /^(application|text)\\/(x-)?javascript/;\n\n function HandlerModule() {}\n HandlerModule.prototype = {\n validate: function(type) {\n return regexMatchType.test(type)\n },\n onPreRequest: function(dependency) {\n var pathname = dependency.url.pathname;\n dependency.url.pathname = pathname.slice(-suffix.length) !== suffix ? pathname + suffix : pathname\n },\n onPostRequest: function(dependency) {\n dependency.source = functionResolveSourcemaps(dependency.url, dependency.source)\n },\n process: function(dependency) {\n var script;\n if (dependency.source) {\n script = document.createElement(\"script\");\n script.async = TRUE;\n script.text = dependency.source;\n script.setAttribute(DEMAND_ID + \"-id\", dependency.id);\n target.appendChild(script)\n }\n }\n };\n return new(HandlerModule.extends(abstractHandler))\n }();\n\n function ClassFailure(message, module, stack) {\n var self = this;\n self.message = message;\n module && (self.module = module);\n stack && (self.stack = functionToArray(stack));\n return self\n }\n ClassFailure.prototype = {\n toString: function() {\n var self = this,\n result = DEMAND_ID + \": \" + self.message + \" \" + (self.module ? '\"' + self.module + '\"' : \"\");\n if (self.stack) {\n result = ClassFailure.traverse(self.stack, result, 1)\n }\n return result\n }\n };\n ClassFailure.traverse = function(stack, value, depth) {\n var indention = new Array(depth + 1).join(\" \"),\n i = 0,\n item;\n for (; item = stack[i]; i++) {\n value += \"\\n\" + indention + \"> \" + item.message + \" \" + (item.module ? '\"' + item.module + '\"' : \"\");\n if (item.stack) {\n value = ClassFailure.traverse(item.stack, value, depth + 1)\n }\n }\n return value\n };\n var handlerBundle = function() {\n var path = MODULE_PREFIX_HANDLER + \"bundle\",\n settings = {};\n demand.on(EVENT_POST_CONFIGURE + \":\" + path, function(options) {\n if (validatorIsObject(options)) {\n settings = options;\n functionIterate(settings, updateDependencies)\n }\n });\n\n function updateDependencies(uri, dependencies) {\n var i, dependency;\n for (i = 0; dependency = dependencies[i]; i++) {\n if (validatorIsTypeOf(dependency, STRING_STRING)) {\n dependencies[i] = functionResolveId(dependency)\n }\n }\n }\n\n function getType(dependencies) {\n var type, i = 0,\n temp;\n for (; temp = dependencies[i]; i++) {\n temp = temp.match(regexMatchParameter);\n temp = temp && temp[3] || settings.handler;\n if (type) {\n if (temp !== type) {\n return FALSE\n }\n } else {\n type = temp\n }\n }\n return type\n }\n\n function HandlerBundle() {}\n HandlerBundle.prototype = {\n validate: handlerModule.validate,\n onPreProcess: function(dependency) {\n var source = dependency.source,\n dfd = dependency.dfd,\n dependencies = settings[dependency.path],\n type, match, pledges, temp, i;\n dependency.enqueue = FALSE;\n\n function reject() {\n dfd.reject(new ClassFailure(ERROR_RESOLVE, dependency.id, arguments))\n }\n if (dependencies && (type = getType(dependencies))) {\n while (match = regexMatchSourcemap.exec(source)) {\n source = source.replace(match[0], \"\")\n }\n dependency.source = source;\n pledges = [];\n for (i = 0; temp = dependencies[i]; i++) {\n pledges.push(ClassDependency.resolve(MOCK_PREFIX + temp).pledge)\n }\n ClassPledge.all(pledges).then(function() {\n pledges.length = 0;\n for (i = 0; temp = dependencies[i]; i++) {\n temp = dependencies[i] = ClassDependency.get(temp) || new ClassDependency(temp);\n temp.handler = arguments[i];\n pledges.push(temp.pledge)\n }\n if (type === \"module\") {\n queue.enqueue.apply(queue, dependencies);\n handlerModule.process(dependency)\n } else {\n handlerModule.process(dependency);\n queue.enqueue.apply(queue, dependencies)\n }\n ClassPledge.all(pledges).then(dfd.resolve, reject)\n }, reject)\n } else {\n reject()\n }\n }\n };\n return new(HandlerBundle.extends(abstractHandler))\n }();\n var handlerComponent = function() {\n var suffix = \".html\",\n regexMatchType = /^text\\/.+$/;\n\n function HandlerComponent() {}\n HandlerComponent.prototype = {\n validate: function(type) {\n return regexMatchType.test(type)\n },\n onPreRequest: function(dependency) {\n var pathname = dependency.url.pathname;\n dependency.url.pathname = pathname.slice(-suffix.length) !== suffix ? pathname + suffix : pathname\n },\n onPostRequest: function(dependency) {\n dependency.source = functionResolveSourcemaps(dependency.url, dependency.source)\n },\n onPreProcess: function(dependency) {\n var context = dependency.path,\n dfd = dependency.dfd,\n container = document.createElement(\"body\"),\n modules = [],\n pledges = [],\n node, handler, path, uri;\n dependency.enqueue = FALSE;\n container.innerHTML = dependency.source;\n\n function reject() {\n dfd.reject(new ClassFailure(ERROR_RESOLVE, dependency.id, arguments))\n }\n while (node = container.firstElementChild) {\n if (handler = node.getAttribute(\"type\")) {\n path = node.getAttribute(\"path\");\n uri = handler + \"!\" + context + (path ? \"/\" + path : \"\");\n node.parentNode.removeChild(node);\n modules.push({\n source: node.textContent,\n uri: uri\n });\n pledges.push(ClassDependency.resolve(\"mock:\" + uri).pledge)\n }\n }\n ClassPledge.all(pledges).then(function() {\n var i = 0,\n module, dependency;\n pledges.length = 0;\n for (; module = modules[i]; i++) {\n dependency = ClassDependency.get(module.uri) || new ClassDependency(module.uri);\n dependency.source = functionResolveSourcemaps(dependency.url, module.source);\n dependency.handler = arguments[i];\n pledges.push(dependency.pledge);\n queue.enqueue(dependency)\n }\n ClassPledge.all(pledges).then(dfd.resolve, reject)\n }, reject)\n }\n };\n return new(HandlerComponent.extends(abstractHandler))\n }();\n var pluginGenie = function() {\n var path = MODULE_PREFIX_PLUGIN + \"genie\",\n pattern = [];\n\n function matchPattern(path) {\n var i = 0,\n pointer, match;\n for (; pointer = pattern[i]; i++) {\n if (path.indexOf(pointer.prefix) === 0 && (!match || pointer.weight > match.weight)) {\n match = pointer\n }\n }\n return match\n }\n\n function generateConfiguration(bundle) {\n var matches = bundle.matches,\n configuration = {\n pattern: {},\n modules: {\n \"/demand/handler/bundle\": {}\n }\n },\n i = 0,\n pointer, dependency;\n configuration.pattern[bundle.id] = bundle.fn(matches);\n configuration.modules[MODULE_PREFIX_HANDLER + \"bundle\"][bundle.id] = pointer = [];\n for (; dependency = matches[i]; i++) {\n pointer.push(dependency.path)\n }\n return configuration\n }\n\n function resolveDependencies() {\n var i = 0,\n dependency;\n for (; dependency = this[i]; i++) {\n dependency.dfd.resolve(arguments[i])\n }\n }\n\n function rejectDependencies() {\n var i = 0,\n dependency;\n for (; dependency = this[i]; i++) {\n dependency.dfd.reject(new ClassFailure(ERROR_RESOLVE, dependency.id))\n }\n }\n\n function addPattern(property, value) {\n pattern.push({\n prefix: property,\n weight: property.length,\n fn: value\n })\n }\n\n function resolveBundles(property, value) {\n var matches = value.matches,\n i = 0,\n dependency;\n if (matches.length > 1) {\n value.id = path + \"/\" + functionHash(JSON.stringify(value.matches));\n for (; dependency = matches[i]; i++) {\n matches[i] = new ClassDependency(dependency.uri)\n }\n demand.configure(generateConfiguration(value));\n demand(\"bundle!\" + value.id).then(resolveDependencies.bind(matches), rejectDependencies.bind(matches))\n }\n }\n demand.on(EVENT_POST_CONFIGURE + \":\" + path, function(options) {\n if (validatorIsObject(options)) {\n pattern.length = 0;\n functionIterate(options, addPattern)\n }\n }).on(EVENT_PRE_RESOLVE, function(dependencies, context) {\n var bundles = {},\n i = 0,\n dependency, pattern;\n for (; dependency = dependencies[i]; i++) {\n if (validatorIsTypeOf(dependency, STRING_STRING) && !regexMatchInternal.test(dependency) && !ClassDependency.get(dependency, context)) {\n dependency = new ClassDependency(dependency, context, FALSE);\n if (dependency.type === \"module\" && (pattern = matchPattern(dependency.path)) && !singletonCache.get(dependency)) {\n (bundles[pattern.prefix] || (bundles[pattern.prefix] = {\n fn: pattern.fn,\n matches: []\n })).matches.push(dependency)\n }\n }\n }\n functionIterate(bundles, resolveBundles)\n });\n return TRUE\n }();\n queue = new ClassQueue;\n processor = new ClassProcessor(queue);\n\n function assignModule(id, module) {\n provide(id, function() {\n return module\n })\n }\n assignModule(MODULE_PREFIX_ABSTRACT + \"uuid\", AbstractUuid);\n assignModule(MODULE_PREFIX_ABSTRACT + \"handler\", abstractHandler);\n assignModule(MODULE_PREFIX_HANDLER + \"module\", handlerModule);\n assignModule(MODULE_PREFIX_HANDLER + \"bundle\", handlerBundle);\n assignModule(MODULE_PREFIX_HANDLER + \"component\", handlerComponent);\n assignModule(MODULE_PREFIX_PLUGIN + \"genie\", pluginGenie);\n assignModule(MODULE_PREFIX_VALIDATOR + \"isTypeOf\", validatorIsTypeOf);\n assignModule(MODULE_PREFIX_VALIDATOR + \"isArray\", validatorIsArray);\n assignModule(MODULE_PREFIX_VALIDATOR + \"isObject\", validatorIsObject);\n assignModule(MODULE_PREFIX_VALIDATOR + \"isInstanceOf\", validatorIsInstanceOf);\n assignModule(MODULE_PREFIX_FUNCTION + \"resolveUrl\", functionResolveUrl);\n assignModule(MODULE_PREFIX_FUNCTION + \"resolveSourcemaps\", functionResolveSourcemaps);\n assignModule(MODULE_PREFIX_FUNCTION + \"merge\", functionMerge);\n assignModule(MODULE_PREFIX_FUNCTION + \"iterate\", functionIterate);\n assignModule(MODULE_PREFIX_FUNCTION + \"hash\", functionHash);\n assignModule(MODULE_PREFIX_FUNCTION + \"defer\", functionDefer);\n assignModule(MODULE_PREFIX_FUNCTION + \"uuid\", functionUuid);\n assignModule(MODULE_PREFIX + \"weakmap\", ClassWeakmap);\n assignModule(MODULE_PREFIX + \"descriptor\", ClassDescriptor);\n assignModule(MODULE_PREFIX + \"pledge\", ClassPledge);\n assignModule(MODULE_PREFIX + \"queue\", ClassQueue);\n assignModule(MODULE_PREFIX + \"xhr\", ClassXhr);\n assignModule(MODULE_PREFIX + \"failure\", ClassFailure);\n if (options && options.main) {\n switch (typeof options.main) {\n case STRING_STRING:\n demand(options.main);\n break;\n case STRING_FUNCTION:\n provide(\"main\", options.main());\n break\n }\n }\n})(this.name === \"demand-loader\" ? parent : this, setTimeout, clearTimeout);"]} \ 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","functionGetTimestamp","Date","functionResolveUrl","url","linkElement","href","functionResolvePath","uri","path","replace","regexMatchParameter","regexIsAbsolutePath","test","regexIsAbsoluteUri","regexMatchBaseUrl","functionResolveId","parameter","match","settings","handler","ClassFailure","message","stack","this","validatorIsArray","objectPrototypeToString","functionHash","input","length","charCodeAt","AbstractUuid","uuid","STRING_UNDEFINED","define","functionUuid","functionResolveSourcemaps","replacement","regexMatchSourcemap","exec","protocol","host","pathname","abstractHandler","assignModule","id","provide","demand","queue","processor","functionMerge","functionDefer","singletonEvent","functionEscapeRegex","regexMatchInternal","singletonCache","ClassWeakmap","ClassPledge","ClassRegistry","ClassDependency","ClassPattern","ClassXhr","ClassQueue","ClassProcessor","handlerModule","handlerBundle","handlerComponent","pluginGenie","storage","element","fallback","hasSetImmediate","regexMatchRegex","XMLHttpRequest","XDomainRequest","document","options","version","cache","timeout","pattern","modules","DEMAND_ID","PROVIDE_ID","MODULE_PREFIX","MODULE_PREFIX_ABSTRACT","MODULE_PREFIX_HANDLER","MODULE_PREFIX_PLUGIN","MODULE_PREFIX_FUNCTION","MODULE_PREFIX_VALIDATOR","MOCK_PREFIX","TRUE","STRING_STRING","STRING_FUNCTION","EVENT_PREFIX","EVENT_POSTFIX","EVENT_CONFIGURE","EVENT_PRE_CONFIGURE","EVENT_POST_CONFIGURE","EVENT_CACHE","EVENT_CACHE_MISS","EVENT_CACHE_HIT","EVENT_CACHE_EXCEED","EVENT_RESOLVE","EVENT_PRE_RESOLVE","EVENT_POST_RESOLVE","EVENT_REQUEST","EVENT_PRE_REQUEST","EVENT_POST_REQUEST","EVENT_PROCESS","EVENT_PRE_PROCESS","EVENT_POST_PROCESS","EVENT_QUEUE_ENQUEUE","EVENT_QUEUE","ERROR_LOAD","ERROR_RESOLVE","arrayPrototype","Array","prototype","slice","arrayPrototypeConcat","concat","Object","toString","objectCreate","create","objectDefineProperty","defineProperty","objectGetOwnPropertyNames","getOwnPropertyNames","objectGetOwnPropertyDescriptor","getOwnPropertyDescriptor","createElement","strPrototype","objectDefine","name","functionExtends","self","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","TYPE_ON","Event","emit","item","apply","enabled","dependency","indexOf","weight","state","getKey","key","localStorage","getItem","setKey","getState","matches","regexMatchProperties","setState","join","Cache","clear","expired","bind","STORAGE_PREFIX","STORAGE_SUFFIX_STATE","STORAGE_SUFFIX_VALUE","regexMatchState","supportsLocalStorage","exception","supportsRemainingSpace","then","cacheDispose","set","get","lifetime","invalid","resolve","spaceBefore","remainingSpace","Error","error","all","WeakMap","getEntry","entry","prefix","delete","has","pledge","index","resolved","count","check","rejected","total","dfd","reject","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","addPending","addResolved","addRejected","register","placeholder","mock","registry","PREFIX_INTERNAL","enqueue","isInternal","node","querySelector","list","pending","regexMatchTrailingSlash","location","process","current","xhr","boundCheckState","readyState","abort","ontimeout","onerror","onabort","status","onprogress","onload","responseText","getResponseHeader","open","send","updateCacheSettings","updatePatternSettings","updateModuleSettings","temp","dependencies","configure","base","min","max","response","validate","regexMatchEmptySearch","load","search","onPostRequest","onPreRequest","onPreProcess","isFunction","definition","console","/demand","dequeue","extends","HandlerModule","getElementsByTagName","regexMatchType","script","async","text","updateDependencies","HandlerBundle","getType","HandlerComponent","suffix","container","innerHTML","firstElementChild","getAttribute","textContent","matchPattern","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.0.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 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 AbstractUuid() {\n\t\tif (validatorIsTypeOf(this.uuid, STRING_UNDEFINED)) this.define(\"uuid\", functionUuid());\n\t\treturn this\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, functionMerge, functionUuid, functionDefer, singletonEvent, functionEscapeRegex, regexIsAbsoluteUri, regexIsAbsolutePath, regexMatchSourcemap, regexMatchBaseUrl, regexMatchInternal, regexMatchParameter, singletonCache, ClassWeakmap, ClassPledge, ClassRegistry, ClassDependency, ClassPattern, ClassXhr, ClassQueue, 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\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\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\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\tfunctionDefer(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\tfunctionDefer(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\tfunctionDefer(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]) functionDefer(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 (state[0] !== dependency.version || 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\tfunctionDefer(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\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\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 addPending(id, dependency) {\n\t\t\tif (dependency.pledge.isPending()) this.push(id)\n\t\t}\n\n\t\tfunction addResolved(id, dependency) {\n\t\t\tif (dependency.pledge.isResolved()) this.push(id)\n\t\t}\n\n\t\tfunction addRejected(id, dependency) {\n\t\t\tif (dependency.pledge.isRejected()) this.push(id)\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 = 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\tplaceholder = [];\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}\n\t\t\treturn 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 = {\n\t\t\tall: function () {\n\t\t\t\treturn object.keys(registry.get())\n\t\t\t},\n\t\t\tpending: function () {\n\t\t\t\treturn functionIterate(registry.get(), addPending, [])\n\t\t\t},\n\t\t\tresolved: function () {\n\t\t\t\treturn functionIterate(registry.get(), addResolved, [])\n\t\t\t},\n\t\t\trejected: function () {\n\t\t\t\treturn functionIterate(registry.get(), addRejected, [])\n\t\t\t}\n\t\t};\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}\n\t\t\tif (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 (validatorIsTypeOf(version, STRING_STRING)) settings.version = version;\n\t\t\tif (validatorIsPositive(timeout)) settings.timeout = 1e3 * Math.min(Math.max(timeout, 2), 12);\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.0.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\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\tstorage.set(this, storage.get(this)\n\t\t\t\t\t.concat(functionToArray(arguments)));\n\t\t\t\tsingletonEvent.emit(EVENT_QUEUE_ENQUEUE, this.uuid)\n\t\t\t},\n\t\t\tdequeue: function () {\n\t\t\t\tsingletonEvent.emit(EVENT_QUEUE_DEQUEUE, this.uuid);\n\t\t\t\treturn storage.get(this)\n\t\t\t\t\t.shift()\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\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}\n\t\t\t\tproperties.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}\n\t\t\t\tClassPledge.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_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 + \"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\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 ea15161..415ec3c 100644 --- a/dist/handler/css.js +++ b/dist/handler/css.js @@ -1,3 +1,3 @@ -/**! Qoopido.demand 5.0.0 | https://github.com/dlueth/qoopido.demand | (c) 2018 Dirk Lueth */ -!function(e){"use strict";provide(["/demand/abstract/handler","/demand/function/resolveSourcemaps"],function(t,r){var n=e.getElementsByTagName("head")[0],s=e.createElement("a"),c=/url\s*\(\s*["']?(.+?)["']?\s*\)/gi,o=/@import\s+["'](.+?)["']/gi,u=/^\//i,a=/^data:|http(s?):|\/\//i,i=/^text\/css/;function d(e){return s.href=e,s}function l(e,t,r){return a.test(t[1])||(e=e.replace(t[0],r)),e}function f(){}return f.prototype={validate:function(e){return i.test(e)},onPreRequest:function(e){var t=e.url.pathname;e.url.pathname=".css"!==t.slice(-".css".length)?t+".css":t},onPostRequest:function(e){for(var t,n=d(e.url+"/.."),s=n.href,a="//"+n.host,i=e.source;t=c.exec(i);)i=l(i,t,'url("'+d(u.test(t[1])?a+t[1]:s+t[1]).href+'")');for(;t=o.exec(i);)i=l(i,t,'@import "'+d(u.test(t[1])?a+t[1]:s+t[1]).href+'"');e.source=r(e.url,i)},process:function(t){var r=e.querySelector('[demand-id="'+t.id+'"]');r||((r=e.createElement("style")).type="text/css",r.setAttribute("demand-id",t.id),n.appendChild(r)),"STYLE"===r.tagName&&(r.styleSheet?r.styleSheet.cssText=t.source:r.textContent=t.source),provide(function(){return r})}},new(f.extends(t))})}(document); +/**! Qoopido.demand 5.0.1 | https://github.com/dlueth/qoopido.demand | (c) 2018 Dirk Lueth */ +!function(e){"use strict";provide(["/demand/abstract/handler","/demand/function/resolveSourcemaps"],function(t,r){function n(e){return a.href=e,a}function s(e,t,r){return f.test(t[1])||(e=e.replace(t[0],r)),e}function o(){}var u=".css",c=e.getElementsByTagName("head")[0],a=e.createElement("a"),i=/url\s*\(\s*["']?(.+?)["']?\s*\)/gi,d=/@import\s+["'](.+?)["']/gi,l=/^\//i,f=/^data:|http(s?):|\/\//i,m=/^text\/css/;return o.prototype={validate:function(e){return m.test(e)},onPreRequest:function(e){var t=e.url.pathname;e.url.pathname=t.slice(-u.length)!==u?t+u:t},onPostRequest:function(e){for(var t,o=n(e.url+"/.."),u=o.href,c="//"+o.host,a=e.source;t=i.exec(a);)a=s(a,t,'url("'+n(l.test(t[1])?c+t[1]:u+t[1]).href+'")');for(;t=d.exec(a);)a=s(a,t,'@import "'+n(l.test(t[1])?c+t[1]:u+t[1]).href+'"');e.source=r(e.url,a)},process:function(t){var r=e.querySelector('[demand-id="'+t.id+'"]');r||((r=e.createElement("style")).type="text/css",r.setAttribute("demand-id",t.id),c.appendChild(r)),"STYLE"===r.tagName&&(r.styleSheet?r.styleSheet.cssText=t.source:r.textContent=t.source),provide(function(){return r})}},new(o.extends(t))})}(document); //# sourceMappingURL=css.js.map diff --git a/dist/handler/css.js.map b/dist/handler/css.js.map index c6c5e24..26838fa 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","target","getElementsByTagName","resolver","createElement","regexMatchUrl","regexMatchImport","regexIsAbsolutePath","regexIsAbsoluteUri","regexMatchType","resolveUrl","url","href","replaceUri","source","match","replacement","test","replace","HandlerCss","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,SAAUA,GACN,aAqEAC,SAAS,2BAA4B,sCAnErC,SAAoBC,EAAiBC,GACjC,IACIC,EAASJ,EAASK,qBAAqB,QAAQ,GAC/CC,EAAWN,EAASO,cAAc,KAClCC,EAAgB,oCAChBC,EAAmB,4BACnBC,EAAsB,OACtBC,EAAqB,yBACrBC,EAAiB,aAErB,SAASC,EAAWC,GAEhB,OADAR,EAASS,KAAOD,EACTR,EAGX,SAASU,EAAWC,EAAQC,EAAOC,GAI/B,OAHKR,EAAmBS,KAAKF,EAAM,MAC/BD,EAASA,EAAOI,QAAQH,EAAM,GAAIC,IAE/BF,EAGX,SAASK,KA2CT,OA1CAA,EAAWC,WACPC,SAAU,SAASC,GACf,OAAOb,EAAeQ,KAAKK,IAE/BC,aAAc,SAASC,GACnB,IAAIC,EAAWD,EAAWb,IAAIc,SAC9BD,EAAWb,IAAIc,SA5BV,SA4BqBA,EAASC,OA5B9B,OA4B4CC,QAAqBF,EA5BjE,OA4BqFA,GAE9FG,cAAe,SAASJ,GAMpB,IALA,IAIIT,EAJAJ,EAAMD,EAAWc,EAAWb,IAAM,OAClCkB,EAAOlB,EAAIC,KACXkB,EAAO,KAAOnB,EAAImB,KAClBhB,EAASU,EAAWV,OAEjBC,EAAQV,EAAc0B,KAAKjB,IAC9BA,EAASD,EAAWC,EAAQC,EAAO,QAAUL,EAAWH,EAAoBU,KAAKF,EAAM,IAAMe,EAAOf,EAAM,GAAKc,EAAOd,EAAM,IAAIH,KAAO,MAE3I,KAAOG,EAAQT,EAAiByB,KAAKjB,IACjCA,EAASD,EAAWC,EAAQC,EAAO,YAAcL,EAAWH,EAAoBU,KAAKF,EAAM,IAAMe,EAAOf,EAAM,GAAKc,EAAOd,EAAM,IAAIH,KAAO,KAE/IY,EAAWV,OAASd,EAA0BwB,EAAWb,IAAKG,IAElEkB,QAAS,SAASR,GACd,IAAIS,EAAUpC,EAASqC,cAAc,eAAiBV,EAAWW,GAAK,MACjEF,KACDA,EAAUpC,EAASO,cAAc,UACzBkB,KAAO,WACfW,EAAQG,aAAa,YAAaZ,EAAWW,IAC7ClC,EAAOoC,YAAYJ,IAEC,UAApBA,EAAQK,UACJL,EAAQM,WACRN,EAAQM,WAAWC,QAAUhB,EAAWV,OAExCmB,EAAQQ,YAAcjB,EAAWV,QAGzChB,QAAQ,WACJ,OAAOmC,MAIZ,IAAId,EAAWuB,QAAQ3C,MApEtC,CAuEGF","file":"css.js","sourcesContent":["(function(document) {\n \"use strict\";\n\n function definition(abstractHandler, functionResolveSourcemaps) {\n var suffix = \".css\",\n target = document.getElementsByTagName(\"head\")[0],\n resolver = document.createElement(\"a\"),\n regexMatchUrl = /url\\s*\\(\\s*[\"']?(.+?)[\"']?\\s*\\)/gi,\n regexMatchImport = /@import\\s+[\"'](.+?)[\"']/gi,\n regexIsAbsolutePath = /^\\//i,\n regexIsAbsoluteUri = /^data:|http(s?):|\\/\\//i,\n regexMatchType = /^text\\/css/;\n\n function resolveUrl(url) {\n resolver.href = url;\n return resolver\n }\n\n function replaceUri(source, match, replacement) {\n if (!regexIsAbsoluteUri.test(match[1])) {\n source = source.replace(match[0], replacement)\n }\n return source\n }\n\n function HandlerCss() {}\n HandlerCss.prototype = {\n validate: function(type) {\n return regexMatchType.test(type)\n },\n onPreRequest: function(dependency) {\n var pathname = dependency.url.pathname;\n dependency.url.pathname = pathname.slice(-suffix.length) !== suffix ? pathname + suffix : pathname\n },\n onPostRequest: function(dependency) {\n var url = resolveUrl(dependency.url + \"/..\"),\n base = url.href,\n host = \"//\" + url.host,\n source = dependency.source,\n match;\n while (match = regexMatchUrl.exec(source)) {\n source = replaceUri(source, match, 'url(\"' + resolveUrl(regexIsAbsolutePath.test(match[1]) ? host + match[1] : base + match[1]).href + '\")')\n }\n while (match = regexMatchImport.exec(source)) {\n source = replaceUri(source, match, '@import \"' + resolveUrl(regexIsAbsolutePath.test(match[1]) ? host + match[1] : base + match[1]).href + '\"')\n }\n dependency.source = functionResolveSourcemaps(dependency.url, source)\n },\n process: function(dependency) {\n var element = document.querySelector('[demand-id=\"' + dependency.id + '\"]');\n if (!element) {\n element = document.createElement(\"style\");\n element.type = \"text/css\";\n element.setAttribute(\"demand-id\", dependency.id);\n target.appendChild(element)\n }\n if (element.tagName === \"STYLE\") {\n if (element.styleSheet) {\n element.styleSheet.cssText = dependency.source\n } else {\n element.textContent = dependency.source\n }\n }\n provide(function() {\n return element\n })\n }\n };\n return new(HandlerCss.extends(abstractHandler))\n }\n provide([\"/demand/abstract/handler\", \"/demand/function/resolveSourcemaps\"], definition)\n})(document);"]} \ 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,SAAA,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,WACAC,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.0.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 ff889ff..b8ed958 100644 --- a/dist/handler/html.js +++ b/dist/handler/html.js @@ -1,3 +1,3 @@ -/**! Qoopido.demand 5.0.0 | https://github.com/dlueth/qoopido.demand | (c) 2018 Dirk Lueth */ -!function(){"use strict";provide(["/demand/abstract/handler"],function(t){var e=/^text\/html/,n=document.createElement("body");function r(){}return r.prototype={validate:function(t){return e.test(t)},onPreRequest:function(t){var e=t.url.pathname;t.url.pathname=".html"!==e.slice(-".html".length)?e+".html":e},process:function(t){provide(function(){return function(t){var e,r=document.createDocumentFragment();for(n.innerHTML=t;e=n.firstElementChild;)r.appendChild(e);return r}(t.source)})}},new(r.extends(t))})}(); +/**! Qoopido.demand 5.0.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 2e10766..b247fed 100644 --- a/dist/handler/html.js.map +++ b/dist/handler/html.js.map @@ -1 +1 @@ -{"version":3,"sources":["handler/html.js"],"names":["provide","abstractHandler","regexMatchType","container","document","createElement","HandlerHtml","prototype","validate","type","test","onPreRequest","dependency","pathname","url","slice","length","process","source","node","fragment","createDocumentFragment","innerHTML","firstElementChild","appendChild","parseHtml","extends"],"mappings":";CAAA,WACI,aAkCAA,SAAS,4BAhCT,SAAoBC,GAChB,IACIC,EAAiB,cACjBC,EAAYC,SAASC,cAAc,QAYvC,SAASC,KAeT,OAdAA,EAAYC,WACRC,SAAU,SAASC,GACf,OAAOP,EAAeQ,KAAKD,IAE/BE,aAAc,SAASC,GACnB,IAAIC,EAAWD,EAAWE,IAAID,SAC9BD,EAAWE,IAAID,SArBV,UAqBqBA,EAASE,OArB9B,QAqB4CC,QAAqBH,EArBjE,QAqBqFA,GAE9FI,QAAS,SAASL,GACdZ,QAAQ,WACJ,OArBZ,SAAmBkB,GACf,IACIC,EADAC,EAAWhB,SAASiB,yBAGxB,IADAlB,EAAUmB,UAAYJ,EACfC,EAAOhB,EAAUoB,mBACpBH,EAASI,YAAYL,GAEzB,OAAOC,EAcQK,CAAUb,EAAWM,YAIjC,IAAIZ,EAAYoB,QAAQzB,MAjCvC","file":"html.js","sourcesContent":["(function() {\n \"use strict\";\n\n function definition(abstractHandler) {\n var suffix = \".html\",\n regexMatchType = /^text\\/html/,\n container = document.createElement(\"body\");\n\n function parseHtml(source) {\n var fragment = document.createDocumentFragment(),\n node;\n container.innerHTML = source;\n while (node = container.firstElementChild) {\n fragment.appendChild(node)\n }\n return fragment\n }\n\n function HandlerHtml() {}\n HandlerHtml.prototype = {\n validate: function(type) {\n return regexMatchType.test(type)\n },\n onPreRequest: function(dependency) {\n var pathname = dependency.url.pathname;\n dependency.url.pathname = pathname.slice(-suffix.length) !== suffix ? pathname + suffix : pathname\n },\n process: function(dependency) {\n provide(function() {\n return parseHtml(dependency.source)\n })\n }\n };\n return new(HandlerHtml.extends(abstractHandler))\n }\n provide([\"/demand/abstract/handler\"], definition)\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,SAAA,4BA5BA,SAAAC,GAQA,SAAAC,KACA,IAAAC,EAAA,QACAC,EAAA,cACAC,EAAAC,SAAAC,cAAA,QAeA,OAdAL,EAAAM,WACAC,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.0.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 1f794d0..275efce 100644 --- a/dist/handler/json.js +++ b/dist/handler/json.js @@ -1,3 +1,3 @@ -/**! Qoopido.demand 5.0.0 | https://github.com/dlueth/qoopido.demand | (c) 2018 Dirk Lueth */ -!function(){"use strict";provide(["/demand/abstract/handler"],function(n){var t=/^application\/json/;function e(){}return e.prototype={validate:function(n){return t.test(n)},onPreRequest:function(n){var t=n.url.pathname;n.url.pathname=".json"!==t.slice(-".json".length)?t+".json":t},process:function(n){var t=JSON.parse(n.source);provide(function(){return t})}},new(e.extends(n))})}(); +/**! Qoopido.demand 5.0.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 094de97..e33096f 100644 --- a/dist/handler/json.js.map +++ b/dist/handler/json.js.map @@ -1 +1 @@ -{"version":3,"sources":["handler/json.js"],"names":["provide","abstractHandler","regexMatchType","HandlerJson","prototype","validate","type","test","onPreRequest","dependency","pathname","url","slice","length","process","data","JSON","parse","source","extends"],"mappings":";CAAA,WACI,aAwBAA,SAAS,4BAtBT,SAAoBC,GAChB,IACIC,EAAiB,qBAErB,SAASC,KAgBT,OAfAA,EAAYC,WACRC,SAAU,SAASC,GACf,OAAOJ,EAAeK,KAAKD,IAE/BE,aAAc,SAASC,GACnB,IAAIC,EAAWD,EAAWE,IAAID,SAC9BD,EAAWE,IAAID,SAVV,UAUqBA,EAASE,OAV9B,QAU4CC,QAAqBH,EAVjE,QAUqFA,GAE9FI,QAAS,SAASL,GACd,IAAIM,EAAOC,KAAKC,MAAMR,EAAWS,QACjClB,QAAQ,WACJ,OAAOe,MAIZ,IAAIZ,EAAYgB,QAAQlB,MAvBvC","file":"json.js","sourcesContent":["(function() {\n \"use strict\";\n\n function definition(abstractHandler) {\n var suffix = \".json\",\n regexMatchType = /^application\\/json/;\n\n function HandlerJson() {}\n HandlerJson.prototype = {\n validate: function(type) {\n return regexMatchType.test(type)\n },\n onPreRequest: function(dependency) {\n var pathname = dependency.url.pathname;\n dependency.url.pathname = pathname.slice(-suffix.length) !== suffix ? pathname + suffix : pathname\n },\n process: function(dependency) {\n var data = JSON.parse(dependency.source);\n provide(function() {\n return data\n })\n }\n };\n return new(HandlerJson.extends(abstractHandler))\n }\n provide([\"/demand/abstract/handler\"], definition)\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,SAAA,4BArBA,SAAAC,GACA,SAAAC,KACA,IAAAC,EAAA,QACAC,EAAA,qBAgBA,OAfAF,EAAAG,WACAC,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.0.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 60880da..f2c11ff 100644 --- a/dist/handler/legacy.js +++ b/dist/handler/legacy.js @@ -1,3 +1,3 @@ -/**! Qoopido.demand 5.0.0 | 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,n,t,r){var o={};function u(){}return demand.on("postConfigure:"+e,function(e){o=r(e)?e:{}}),u.prototype={onPreRequest:function(e){var n=o[e.path]&&o[e.path].dependencies;t.onPreRequest(e),n&&(e.enqueue=demand.apply(null,n))},onPreProcess:function(e){var n=o[e.path]&&o[e.path].dependencies;n&&"boolean"==typeof e.enqueue&&(e.enqueue=demand.apply(null,n))},process:function(e){var r=function(){var e,r=this.dfd,u=o[this.path]&&o[this.path].probe;t.process(this),u&&(e=u())?provide(function(){return e}):r.reject(new n("error probing",this.path))}.bind(e);!0===e.enqueue?r():e.enqueue.then(r,function(){e.dfd.reject(new n("error resolving",e.path,arguments))})}},new(u.extends(t))})}(); +/**! Qoopido.demand 5.0.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,n,t,r){function o(){}var u={};return demand.on("postConfigure:"+e,function(e){u=r(e)?e:{}}),o.prototype={onPreRequest:function(e){var n=u[e.path]&&u[e.path].dependencies;t.onPreRequest(e),n&&(e.enqueue=demand.apply(null,n))},onPreProcess:function(e){var n=u[e.path]&&u[e.path].dependencies;n&&"boolean"==typeof e.enqueue&&(e.enqueue=demand.apply(null,n))},process:function(e){var r=function(){var e,r=this,o=r.dfd,a=u[r.path]&&u[r.path].probe;t.process(r),a&&(e=a())?provide(function(){return e}):o.reject(new n("error probing",r.path))}.bind(e);!0===e.enqueue?r():e.enqueue.then(r,function(){e.dfd.reject(new n("error resolving",e.path,arguments))})}},new(o.extends(t))})}(); //# sourceMappingURL=legacy.js.map diff --git a/dist/handler/legacy.js.map b/dist/handler/legacy.js.map index 01cb679..1e63131 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","settings","HandlerLegacy","demand","on","options","prototype","onPreRequest","dependency","dependencies","enqueue","apply","onPreProcess","process","boundResolve","result","dfd","this","probe","reject","bind","then","arguments","extends"],"mappings":";CAAA,WACI,aAmDAA,SAAS,OAAQ,kBAAmB,yBAA0B,8BAjD9D,SAAoBC,EAAMC,EAASC,EAAeC,GAC9C,IAAIC,KAoBJ,SAASC,KA0BT,OA7CAC,OAAOC,GAAG,iBAAmBP,EAAM,SAASQ,GACxCJ,EAAWD,EAASK,GAAWA,OAmBnCH,EAAcI,WACVC,aAAc,SAASC,GACnB,IAAIC,EAAeR,EAASO,EAAWX,OAASI,EAASO,EAAWX,MAAMY,aAC1EV,EAAcQ,aAAaC,GACvBC,IACAD,EAAWE,QAAUP,OAAOQ,MAAM,KAAMF,KAGhDG,aAAc,SAASJ,GACnB,IAAIC,EAAeR,EAASO,EAAWX,OAASI,EAASO,EAAWX,MAAMY,aACtEA,GAA8C,kBAAvBD,EAAWE,UAClCF,EAAWE,QAAUP,OAAOQ,MAAM,KAAMF,KAGhDI,QAAS,SAASL,GACd,IAAIM,EA/BZ,WACI,IAGIC,EAFAC,EADOC,KACID,IACXE,EAAQjB,EAFDgB,KAEepB,OAASI,EAFxBgB,KAEsCpB,MAAMqB,MAEvDnB,EAAcc,QAJHI,MAKPC,IAAUH,EAASG,KACnBtB,QAAQ,WACJ,OAAOmB,IAGXC,EAAIG,OAAO,IAAIrB,EAAQ,gBAVhBmB,KAUsCpB,QAoBlBuB,KAAKZ,IACL,IAAvBA,EAAWE,QACXI,IAEAN,EAAWE,QAAQW,KAAKP,EAAc,WAClCN,EAAWQ,IAAIG,OAAO,IAAIrB,EAAQ,kBAAmBU,EAAWX,KAAMyB,gBAK/E,IAAIpB,EAAcqB,QAAQxB,MAlDzC","file":"legacy.js","sourcesContent":["(function() {\n \"use strict\";\n\n function definition(path, Failure, handlerModule, isObject) {\n var settings = {};\n demand.on(\"postConfigure:\" + path, function(options) {\n settings = isObject(options) ? options : {}\n });\n\n function resolve() {\n var self = this,\n dfd = self.dfd,\n probe = settings[self.path] && settings[self.path].probe,\n result;\n handlerModule.process(self);\n if (probe && (result = probe())) {\n provide(function() {\n return result\n })\n } else {\n dfd.reject(new Failure(\"error probing\", self.path))\n }\n }\n\n function HandlerLegacy() {}\n HandlerLegacy.prototype = {\n onPreRequest: function(dependency) {\n var dependencies = settings[dependency.path] && settings[dependency.path].dependencies;\n handlerModule.onPreRequest(dependency);\n if (dependencies) {\n dependency.enqueue = demand.apply(null, dependencies)\n }\n },\n onPreProcess: function(dependency) {\n var dependencies = settings[dependency.path] && settings[dependency.path].dependencies;\n if (dependencies && typeof dependency.enqueue === \"boolean\") {\n dependency.enqueue = demand.apply(null, dependencies)\n }\n },\n process: function(dependency) {\n var boundResolve = resolve.bind(dependency);\n if (dependency.enqueue === true) {\n boundResolve()\n } else {\n dependency.enqueue.then(boundResolve, function() {\n dependency.dfd.reject(new Failure(\"error resolving\", dependency.path, arguments))\n })\n }\n }\n };\n return new(HandlerLegacy.extends(handlerModule))\n }\n provide([\"path\", \"/demand/failure\", \"/demand/handler/module\", \"/demand/validator/isObject\"], definition)\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,SAAA,OAAA,kBAAA,yBAAA,8BArCA,SAAAC,EAAAC,EAAAC,EAAAC,GAYA,SAAAC,KACA,IAAAC,KAsBA,OArBAC,OAAAC,GAAA,iBAAAP,EAAA,SAAAQ,GACAH,EAAAF,EAAAK,GAAAA,OAEAJ,EAAAK,WACAC,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.0.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 acf7ec9..ce7e53b 100644 --- a/dist/handler/text.js +++ b/dist/handler/text.js @@ -1,3 +1,3 @@ -/**! Qoopido.demand 5.0.0 | https://github.com/dlueth/qoopido.demand | (c) 2018 Dirk Lueth */ -!function(){"use strict";provide(["/demand/abstract/handler"],function(t){var n=/^text\/.+/;function e(){}return e.prototype={validate:function(t){return n.test(t)},process:function(t){provide(function(){return t.source})}},new(e.extends(t))})}(); +/**! Qoopido.demand 5.0.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 9fc4b3e..092be33 100644 --- a/dist/handler/text.js.map +++ b/dist/handler/text.js.map @@ -1 +1 @@ -{"version":3,"sources":["handler/text.js"],"names":["provide","abstractHandler","regexMatchType","HandlerText","prototype","validate","type","test","process","dependency","source","extends"],"mappings":";CAAA,WACI,aAkBAA,SAAS,4BAhBT,SAAoBC,GAChB,IAAIC,EAAiB,YAErB,SAASC,KAWT,OAVAA,EAAYC,WACRC,SAAU,SAASC,GACf,OAAOJ,EAAeK,KAAKD,IAE/BE,QAAS,SAASC,GACdT,QAAQ,WACJ,OAAOS,EAAWC,WAIvB,IAAIP,EAAYQ,QAAQV,MAjBvC","file":"text.js","sourcesContent":["(function() {\n \"use strict\";\n\n function definition(abstractHandler) {\n var regexMatchType = /^text\\/.+/;\n\n function HandlerText() {}\n HandlerText.prototype = {\n validate: function(type) {\n return regexMatchType.test(type)\n },\n process: function(dependency) {\n provide(function() {\n return dependency.source\n })\n }\n };\n return new(HandlerText.extends(abstractHandler))\n }\n provide([\"/demand/abstract/handler\"], definition)\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,SAAA,4BAfA,SAAAC,GACA,SAAAC,KACA,IAAAC,EAAA,YAWA,OAVAD,EAAAE,WACAC,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.0.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 3ecb9b0..a7d2141 100644 --- a/dist/plugin/cookie.js +++ b/dist/plugin/cookie.js @@ -1,3 +1,3 @@ -/**! Qoopido.demand 5.0.0 | https://github.com/dlueth/qoopido.demand | (c) 2018 Dirk Lueth */ -!function(n){"use strict";provide(["path","/demand/function/iterate","/demand/validator/isObject","/demand/validator/isTypeOf"],function(t,e,o,i){var a,c="Thu, 01 Jan 1970 00:00:00 GMT",r=[];function u(t,e,o){(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}(t.path))&&(n.cookie="demand["+t.type+"]["+t.path+"]="+encodeURIComponent(e)+"; expires="+o+"; path=/")}return demand.on("postConfigure:"+t,function(n){o(n)?(r.length=0,e(n,function(n,t){r.push({pattern:n,weight:n.length,state:t})})):i(n,"boolean")&&(a=n)}).on("cacheMiss",function(n){u(n,"",c)}).on("cacheClear",function(n){u(n,"",c)}).on("postCache",function(n,t){u(n,JSON.stringify(t),"Fri, 31 Dec 9999 23:59:59 GMT")}),!0})}(document); +/**! Qoopido.demand 5.0.1 | https://github.com/dlueth/qoopido.demand | (c) 2018 Dirk Lueth */ +!function(n){"use strict";provide(["path","/demand/function/iterate","/demand/validator/isObject","/demand/validator/isTypeOf"],function(t,e,o,i){function a(t,e,o){(c||function(n){for(var t,e,o=0;t=u[o];o++)0===n.indexOf(t.pattern)&&(!e||t.weight>e.weight)&&(e=t);return!!e&&e.state}(t.path))&&(n.cookie="demand["+t.type+"]["+t.path+"]="+encodeURIComponent(e)+"; expires="+o+"; path=/")}var c,r="Thu, 01 Jan 1970 00:00:00 GMT",u=[];return demand.on("postConfigure:"+t,function(n){o(n)?(u.length=0,e(n,function(n,t){u.push({pattern:n,weight:n.length,state:t})})):i(n,"boolean")&&(c=n)}).on("cacheMiss",function(n){a(n,"",r)}).on("cacheClear",function(n){a(n,"",r)}).on("postCache",function(n,t){a(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 4f84e65..f4b9765 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","enabled","past","pattern","setCookie","dependency","value","expiration","pointer","match","i","indexOf","weight","state","isEnabled","cookie","type","encodeURIComponent","demand","on","options","length","key","push","JSON","stringify"],"mappings":";CAAA,SAAUA,GACN,aA8CAC,SAAS,OAAQ,2BAA4B,6BAA8B,8BA5C3E,SAAoBC,EAAMC,EAASC,EAAUC,GACzC,IAGIC,EAHAC,EAAO,gCAEPC,KAuBJ,SAASC,EAAUC,EAAYC,EAAOC,IAC9BN,GAKR,SAAmBJ,GAGf,IAFA,IACIW,EAASC,EADTC,EAAI,EAEDF,EAAUL,EAAQO,GAAIA,IACa,IAAlCb,EAAKc,QAAQH,EAAQL,YAAoBM,GAASD,EAAQI,OAASH,EAAMG,UACzEH,EAAQD,GAGhB,QAAOC,GAAQA,EAAMI,MAbNC,CAAUT,EAAWR,SAChCF,EAASoB,OAAS,UAAYV,EAAWW,KAAO,KAAOX,EAAWR,KAAO,KAAOoB,mBAAmBX,GAAS,aAAeC,EAAa,YAchJ,OArCAW,OAAOC,GAAG,iBAAmBtB,EAAM,SAASuB,GACpCrB,EAASqB,IACTjB,EAAQkB,OAAS,EACjBvB,EAAQsB,EAAS,SAASE,EAAKhB,GAC3BH,EAAQoB,MACJpB,QAASmB,EACTV,OAAQU,EAAID,OACZR,MAAOP,OAGRN,EAASoB,EAAS,aACzBnB,EAAUmB,KAEfD,GAAG,YAAa,SAASd,GACxBD,EAAUC,EAAY,GAAIH,KAC3BiB,GAAG,aAAc,SAASd,GACzBD,EAAUC,EAAY,GAAIH,KAC3BiB,GAAG,YAAa,SAASd,EAAYQ,GACpCT,EAAUC,EAAYmB,KAAKC,UAAUZ,GArB5B,oCAwCN,IA7Cf,CAgDGlB","file":"cookie.js","sourcesContent":["(function(document) {\n \"use strict\";\n\n function definition(path, iterate, isObject, isTypeOf) {\n var past = \"Thu, 01 Jan 1970 00:00:00 GMT\",\n future = \"Fri, 31 Dec 9999 23:59:59 GMT\",\n pattern = [],\n enabled;\n demand.on(\"postConfigure:\" + path, function(options) {\n if (isObject(options)) {\n pattern.length = 0;\n iterate(options, function(key, value) {\n pattern.push({\n pattern: key,\n weight: key.length,\n state: value\n })\n })\n } else if (isTypeOf(options, \"boolean\")) {\n enabled = options\n }\n }).on(\"cacheMiss\", function(dependency) {\n setCookie(dependency, \"\", past)\n }).on(\"cacheClear\", function(dependency) {\n setCookie(dependency, \"\", past)\n }).on(\"postCache\", function(dependency, state) {\n setCookie(dependency, JSON.stringify(state), future)\n });\n\n function setCookie(dependency, value, expiration) {\n if (enabled || isEnabled(dependency.path)) {\n document.cookie = \"demand[\" + dependency.type + \"][\" + dependency.path + \"]=\" + encodeURIComponent(value) + \"; expires=\" + expiration + \"; path=/\"\n }\n }\n\n function isEnabled(path) {\n var i = 0,\n pointer, match;\n for (; pointer = pattern[i]; i++) {\n if (path.indexOf(pointer.pattern) === 0 && (!match || pointer.weight > match.weight)) {\n match = pointer\n }\n }\n return match ? match.state : false\n }\n return true\n }\n provide([\"path\", \"/demand/function/iterate\", \"/demand/validator/isObject\", \"/demand/validator/isTypeOf\"], definition)\n})(document);"]} \ 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,SAAA,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,KAsBA,OArBAS,OAAAC,GAAA,iBAAAtB,EAAA,SAAAuB,GACArB,EAAAqB,IACAX,EAAAY,OAAA,EACAvB,EAAAsB,EAAA,SAAAE,EAAAnB,GACAM,EAAAc,MACAd,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.0.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 6a90c72..b6f5b09 100644 --- a/dist/plugin/lzstring.js +++ b/dist/plugin/lzstring.js @@ -1,3 +1,3 @@ -/**! Qoopido.demand 5.0.0 | https://github.com/dlueth/qoopido.demand | (c) 2018 Dirk Lueth */ -var LZString=function(){var n=String.fromCharCode,o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+-$",e={};function t(n,o){if(!e[n]){e[n]={};for(var r=0;r>>8,r[2*e+1]=s%256}return r},decompressFromUint8Array:function(o){if(null===o||void 0===o)return i.decompress(o);for(var r=new Array(o.length/2),e=0,t=r.length;e>=1}else{for(t=1,e=0;e>=1}0==--f&&(f=Math.pow(2,h),h++),delete a[p]}else for(t=s[p],e=0;e>=1;0==--f&&(f=Math.pow(2,h),h++),s[c]=l++,p=String(u)}if(""!==p){if(Object.prototype.hasOwnProperty.call(a,p)){if(p.charCodeAt(0)<256){for(e=0;e>=1}else{for(t=1,e=0;e>=1}0==--f&&(f=Math.pow(2,h),h++),delete a[p]}else for(t=s[p],e=0;e>=1;0==--f&&(f=Math.pow(2,h),h++)}for(t=2,e=0;e>=1;for(;;){if(m<<=1,g==o-1){d.push(r(m));break}g++}return d.join("")},decompress:function(n){return null==n?"":""==n?null:i._decompress(n.length,32768,function(o){return n.charCodeAt(o)})},_decompress:function(o,r,e){var t,i,s,a,u,c,p,f=[],l=4,h=4,d=3,m="",g=[],v={val:e(0),position:r,index:1};for(t=0;t<3;t+=1)f[t]=t;for(s=0,u=Math.pow(2,2),c=1;c!=u;)a=v.val&v.position,v.position>>=1,0==v.position&&(v.position=r,v.val=e(v.index++)),s|=(a>0?1:0)*c,c<<=1;switch(s){case 0:for(s=0,u=Math.pow(2,8),c=1;c!=u;)a=v.val&v.position,v.position>>=1,0==v.position&&(v.position=r,v.val=e(v.index++)),s|=(a>0?1:0)*c,c<<=1;p=n(s);break;case 1:for(s=0,u=Math.pow(2,16),c=1;c!=u;)a=v.val&v.position,v.position>>=1,0==v.position&&(v.position=r,v.val=e(v.index++)),s|=(a>0?1:0)*c,c<<=1;p=n(s);break;case 2:return""}for(f[3]=p,i=p,g.push(p);;){if(v.index>o)return"";for(s=0,u=Math.pow(2,d),c=1;c!=u;)a=v.val&v.position,v.position>>=1,0==v.position&&(v.position=r,v.val=e(v.index++)),s|=(a>0?1:0)*c,c<<=1;switch(p=s){case 0:for(s=0,u=Math.pow(2,8),c=1;c!=u;)a=v.val&v.position,v.position>>=1,0==v.position&&(v.position=r,v.val=e(v.index++)),s|=(a>0?1:0)*c,c<<=1;f[h++]=n(s),p=h-1,l--;break;case 1:for(s=0,u=Math.pow(2,16),c=1;c!=u;)a=v.val&v.position,v.position>>=1,0==v.position&&(v.position=r,v.val=e(v.index++)),s|=(a>0?1:0)*c,c<<=1;f[h++]=n(s),p=h-1,l--;break;case 2:return g.join("")}if(0==l&&(l=Math.pow(2,d),d++),f[p])m=f[p];else{if(p!==h)return null;m=i+i.charAt(0)}g.push(m),f[h++]=i+m.charAt(0),i=m,0==--l&&(l=Math.pow(2,d),d++)}}};return i}();"function"==typeof define&&define.amd?define(function(){return LZString}):"undefined"!=typeof module&&null!=module?module.exports=LZString:"undefined"!=typeof angular&&null!=angular&&angular.module("LZString",[]).factory("LZString",function(){return LZString}),function(n){"use strict";provide(["path","/demand/function/iterate","/demand/validator/isObject","/demand/validator/isTypeOf"],function(o,r,e,t){var i=[{pattern:o,weight:o.length,state:!1}],s={};function a(n){for(var o,r,e=0;o=i[e];e++)0===n.indexOf(o.pattern)&&(!r||o.weight>r.weight)&&(r=o);return!!r&&r.state}return demand.on("postConfigure:"+o,function(n){e(n)?(i.length=0,r(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){a(n.path)&&(s[n.id]=!0)}).on("preCache",function(o){a(o.path)&&(o.source=n.LZString.compressToUTF16(o.source))}).on("preProcess",function(o){s[o.id]&&(o.source=n.LZString.decompressFromUTF16(o.source))}),!0})}(this); +/**! Qoopido.demand 5.0.1 | https://github.com/dlueth/qoopido.demand | (c) 2018 Dirk Lueth */ +var LZString=function(){function n(n,o){if(!r[n]){r[n]={};for(var e=0;e>>8,s[2*o+1]=t%256;return s},decompressFromUint8Array:function(n){var e,t,r,s;if(null==n)return i.decompress(n);for(t=0,r=(e=new Array(n.length/2)).length;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++),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(n){return null==n?"":""==n?null:i._decompress(n.length,32768,function(o){return n.charCodeAt(o)})},_decompress:function(n,e,t){var r,i,s,u,a,c,p,f=[],l=4,h=4,d=3,m="",g=[],v={val:t(0),position:e,index:1};for(r=0;r<3;r+=1)f[r]=r;for(s=0,a=Math.pow(2,2),c=1;c!=a;)u=v.val&v.position,v.position>>=1,0==v.position&&(v.position=e,v.val=t(v.index++)),s|=(u>0?1:0)*c,c<<=1;switch(s){case 0:for(s=0,a=Math.pow(2,8),c=1;c!=a;)u=v.val&v.position,v.position>>=1,0==v.position&&(v.position=e,v.val=t(v.index++)),s|=(u>0?1:0)*c,c<<=1;p=o(s);break;case 1:for(s=0,a=Math.pow(2,16),c=1;c!=a;)u=v.val&v.position,v.position>>=1,0==v.position&&(v.position=e,v.val=t(v.index++)),s|=(u>0?1:0)*c,c<<=1;p=o(s);break;case 2:return""}for(f[3]=p,i=p,g.push(p);;){if(v.index>n)return"";for(s=0,a=Math.pow(2,d),c=1;c!=a;)u=v.val&v.position,v.position>>=1,0==v.position&&(v.position=e,v.val=t(v.index++)),s|=(u>0?1:0)*c,c<<=1;switch(p=s){case 0:for(s=0,a=Math.pow(2,8),c=1;c!=a;)u=v.val&v.position,v.position>>=1,0==v.position&&(v.position=e,v.val=t(v.index++)),s|=(u>0?1:0)*c,c<<=1;f[h++]=o(s),p=h-1,l--;break;case 1:for(s=0,a=Math.pow(2,16),c=1;c!=a;)u=v.val&v.position,v.position>>=1,0==v.position&&(v.position=e,v.val=t(v.index++)),s|=(u>0?1:0)*c,c<<=1;f[h++]=o(s),p=h-1,l--;break;case 2:return g.join("")}if(0==l&&(l=Math.pow(2,d),d++),f[p])m=f[p];else{if(p!==h)return null;m=i+i.charAt(0)}g.push(m),f[h++]=i+m.charAt(0),i=m,0==--l&&(l=Math.pow(2,d),d++)}}};return i}();"function"==typeof define&&define.amd?define(function(){return LZString}):"undefined"!=typeof module&&null!=module?module.exports=LZString:"undefined"!=typeof angular&&null!=angular&&angular.module("LZString",[]).factory("LZString",function(){return LZString}),function(n){"use strict";provide(["path","/demand/function/iterate","/demand/validator/isObject","/demand/validator/isTypeOf"],function(o,e,t,r){function i(n){for(var o,e,t=0;o=s[t];t++)0===n.indexOf(o.pattern)&&(!e||o.weight>e.weight)&&(e=o);return!!e&&e.state}var s=[{pattern:o,weight:o.length,state:!1}],u={};return demand.on("postConfigure:"+o,function(n){t(n)?(s.length=0,e(n,function(n,o){s.push({pattern:n,weight:n.length,state:o})})):r(n,"boolean")&&s.push({pattern:"",weight:0,state:n})}).on("cacheHit",function(n){i(n.path)&&(u[n.id]=!0)}).on("preCache",function(o){i(o.path)&&(o.source=n.LZString.compressToUTF16(o.source))}).on("preProcess",function(o){u[o.id]&&(o.source=n.LZString.decompressFromUTF16(o.source))}),!0})}(this); //# sourceMappingURL=lzstring.js.map diff --git a/dist/plugin/lzstring.js.map b/dist/plugin/lzstring.js.map index 402163f..94cb246 100644 --- a/dist/plugin/lzstring.js.map +++ b/dist/plugin/lzstring.js.map @@ -1 +1 @@ -{"version":3,"sources":["plugin/lzstring.js"],"names":["LZString","f","String","fromCharCode","keyStrBase64","keyStrUriSafe","baseReverseDic","getBaseValue","alphabet","character","i","length","charAt","compressToBase64","input","res","_compress","a","decompressFromBase64","_decompress","index","compressToUTF16","decompressFromUTF16","compressed","charCodeAt","compressToUint8Array","uncompressed","compress","buf","Uint8Array","TotalLen","current_value","decompressFromUint8Array","undefined","decompress","Array","result","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","pattern","weight","state","storage","isEnabled","pointer","match","indexOf","demand","on","options","key","dependency","id","source","this"],"mappings":"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","file":"lzstring.js","sourcesContent":["var LZString = function() {\n var f = String.fromCharCode;\n var keyStrBase64 = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";\n var keyStrUriSafe = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+-$\";\n var baseReverseDic = {};\n\n function getBaseValue(alphabet, character) {\n if (!baseReverseDic[alphabet]) {\n baseReverseDic[alphabet] = {};\n for (var i = 0; i < alphabet.length; i++) {\n baseReverseDic[alphabet][alphabet.charAt(i)] = i\n }\n }\n return baseReverseDic[alphabet][character]\n }\n var LZString = {\n compressToBase64: function(input) {\n if (input == null) return \"\";\n var res = LZString._compress(input, 6, function(a) {\n return keyStrBase64.charAt(a)\n });\n switch (res.length % 4) {\n default:\n case 0:\n return res;\n case 1:\n return res + \"===\";\n case 2:\n return res + \"==\";\n case 3:\n return res + \"=\"\n }\n },\n decompressFromBase64: function(input) {\n if (input == null) return \"\";\n if (input == \"\") return null;\n return LZString._decompress(input.length, 32, function(index) {\n return getBaseValue(keyStrBase64, input.charAt(index))\n })\n },\n compressToUTF16: function(input) {\n if (input == null) return \"\";\n return LZString._compress(input, 15, function(a) {\n return f(a + 32)\n }) + \" \"\n },\n decompressFromUTF16: function(compressed) {\n if (compressed == null) return \"\";\n if (compressed == \"\") return null;\n return LZString._decompress(compressed.length, 16384, function(index) {\n return compressed.charCodeAt(index) - 32\n })\n },\n compressToUint8Array: function(uncompressed) {\n var compressed = LZString.compress(uncompressed);\n var buf = new Uint8Array(compressed.length * 2);\n for (var i = 0, TotalLen = compressed.length; i < TotalLen; i++) {\n var current_value = compressed.charCodeAt(i);\n buf[i * 2] = current_value >>> 8;\n buf[i * 2 + 1] = current_value % 256\n }\n return buf\n },\n decompressFromUint8Array: function(compressed) {\n if (compressed === null || compressed === undefined) {\n return LZString.decompress(compressed)\n } else {\n var buf = new Array(compressed.length / 2);\n for (var i = 0, TotalLen = buf.length; i < TotalLen; i++) {\n buf[i] = compressed[i * 2] * 256 + compressed[i * 2 + 1]\n }\n var result = [];\n buf.forEach(function(c) {\n result.push(f(c))\n });\n return LZString.decompress(result.join(\"\"))\n }\n },\n compressToEncodedURIComponent: function(input) {\n if (input == null) return \"\";\n return LZString._compress(input, 6, function(a) {\n return keyStrUriSafe.charAt(a)\n })\n },\n decompressFromEncodedURIComponent: function(input) {\n if (input == null) return \"\";\n if (input == \"\") return null;\n input = input.replace(/ /g, \"+\");\n return LZString._decompress(input.length, 32, function(index) {\n return getBaseValue(keyStrUriSafe, input.charAt(index))\n })\n },\n compress: function(uncompressed) {\n return LZString._compress(uncompressed, 16, function(a) {\n return f(a)\n })\n },\n _compress: function(uncompressed, bitsPerChar, getCharFromInt) {\n if (uncompressed == null) return \"\";\n var i, value, context_dictionary = {},\n context_dictionaryToCreate = {},\n context_c = \"\",\n context_wc = \"\",\n context_w = \"\",\n context_enlargeIn = 2,\n context_dictSize = 3,\n context_numBits = 2,\n context_data = [],\n context_data_val = 0,\n context_data_position = 0,\n ii;\n for (ii = 0; ii < uncompressed.length; ii += 1) {\n context_c = uncompressed.charAt(ii);\n if (!Object.prototype.hasOwnProperty.call(context_dictionary, context_c)) {\n context_dictionary[context_c] = context_dictSize++;\n context_dictionaryToCreate[context_c] = true\n }\n context_wc = context_w + context_c;\n if (Object.prototype.hasOwnProperty.call(context_dictionary, context_wc)) {\n context_w = context_wc\n } else {\n if (Object.prototype.hasOwnProperty.call(context_dictionaryToCreate, context_w)) {\n if (context_w.charCodeAt(0) < 256) {\n for (i = 0; i < context_numBits; i++) {\n context_data_val = context_data_val << 1;\n if (context_data_position == bitsPerChar - 1) {\n context_data_position = 0;\n context_data.push(getCharFromInt(context_data_val));\n context_data_val = 0\n } else {\n context_data_position++\n }\n }\n value = context_w.charCodeAt(0);\n for (i = 0; i < 8; i++) {\n context_data_val = context_data_val << 1 | value & 1;\n if (context_data_position == bitsPerChar - 1) {\n context_data_position = 0;\n context_data.push(getCharFromInt(context_data_val));\n context_data_val = 0\n } else {\n context_data_position++\n }\n value = value >> 1\n }\n } else {\n value = 1;\n for (i = 0; i < context_numBits; i++) {\n context_data_val = context_data_val << 1 | value;\n if (context_data_position == bitsPerChar - 1) {\n context_data_position = 0;\n context_data.push(getCharFromInt(context_data_val));\n context_data_val = 0\n } else {\n context_data_position++\n }\n value = 0\n }\n value = context_w.charCodeAt(0);\n for (i = 0; i < 16; i++) {\n context_data_val = context_data_val << 1 | value & 1;\n if (context_data_position == bitsPerChar - 1) {\n context_data_position = 0;\n context_data.push(getCharFromInt(context_data_val));\n context_data_val = 0\n } else {\n context_data_position++\n }\n value = value >> 1\n }\n }\n context_enlargeIn--;\n if (context_enlargeIn == 0) {\n context_enlargeIn = Math.pow(2, context_numBits);\n context_numBits++\n }\n delete context_dictionaryToCreate[context_w]\n } else {\n value = context_dictionary[context_w];\n for (i = 0; i < context_numBits; i++) {\n context_data_val = context_data_val << 1 | value & 1;\n if (context_data_position == bitsPerChar - 1) {\n context_data_position = 0;\n context_data.push(getCharFromInt(context_data_val));\n context_data_val = 0\n } else {\n context_data_position++\n }\n value = value >> 1\n }\n }\n context_enlargeIn--;\n if (context_enlargeIn == 0) {\n context_enlargeIn = Math.pow(2, context_numBits);\n context_numBits++\n }\n context_dictionary[context_wc] = context_dictSize++;\n context_w = String(context_c)\n }\n }\n if (context_w !== \"\") {\n if (Object.prototype.hasOwnProperty.call(context_dictionaryToCreate, context_w)) {\n if (context_w.charCodeAt(0) < 256) {\n for (i = 0; i < context_numBits; i++) {\n context_data_val = context_data_val << 1;\n if (context_data_position == bitsPerChar - 1) {\n context_data_position = 0;\n context_data.push(getCharFromInt(context_data_val));\n context_data_val = 0\n } else {\n context_data_position++\n }\n }\n value = context_w.charCodeAt(0);\n for (i = 0; i < 8; i++) {\n context_data_val = context_data_val << 1 | value & 1;\n if (context_data_position == bitsPerChar - 1) {\n context_data_position = 0;\n context_data.push(getCharFromInt(context_data_val));\n context_data_val = 0\n } else {\n context_data_position++\n }\n value = value >> 1\n }\n } else {\n value = 1;\n for (i = 0; i < context_numBits; i++) {\n context_data_val = context_data_val << 1 | value;\n if (context_data_position == bitsPerChar - 1) {\n context_data_position = 0;\n context_data.push(getCharFromInt(context_data_val));\n context_data_val = 0\n } else {\n context_data_position++\n }\n value = 0\n }\n value = context_w.charCodeAt(0);\n for (i = 0; i < 16; i++) {\n context_data_val = context_data_val << 1 | value & 1;\n if (context_data_position == bitsPerChar - 1) {\n context_data_position = 0;\n context_data.push(getCharFromInt(context_data_val));\n context_data_val = 0\n } else {\n context_data_position++\n }\n value = value >> 1\n }\n }\n context_enlargeIn--;\n if (context_enlargeIn == 0) {\n context_enlargeIn = Math.pow(2, context_numBits);\n context_numBits++\n }\n delete context_dictionaryToCreate[context_w]\n } else {\n value = context_dictionary[context_w];\n for (i = 0; i < context_numBits; i++) {\n context_data_val = context_data_val << 1 | value & 1;\n if (context_data_position == bitsPerChar - 1) {\n context_data_position = 0;\n context_data.push(getCharFromInt(context_data_val));\n context_data_val = 0\n } else {\n context_data_position++\n }\n value = value >> 1\n }\n }\n context_enlargeIn--;\n if (context_enlargeIn == 0) {\n context_enlargeIn = Math.pow(2, context_numBits);\n context_numBits++\n }\n }\n value = 2;\n for (i = 0; i < context_numBits; i++) {\n context_data_val = context_data_val << 1 | value & 1;\n if (context_data_position == bitsPerChar - 1) {\n context_data_position = 0;\n context_data.push(getCharFromInt(context_data_val));\n context_data_val = 0\n } else {\n context_data_position++\n }\n value = value >> 1\n }\n while (true) {\n context_data_val = context_data_val << 1;\n if (context_data_position == bitsPerChar - 1) {\n context_data.push(getCharFromInt(context_data_val));\n break\n } else context_data_position++\n }\n return context_data.join(\"\")\n },\n decompress: function(compressed) {\n if (compressed == null) return \"\";\n if (compressed == \"\") return null;\n return LZString._decompress(compressed.length, 32768, function(index) {\n return compressed.charCodeAt(index)\n })\n },\n _decompress: function(length, resetValue, getNextValue) {\n var dictionary = [],\n next, enlargeIn = 4,\n dictSize = 4,\n numBits = 3,\n entry = \"\",\n result = [],\n i, w, bits, resb, maxpower, power, c, data = {\n val: getNextValue(0),\n position: resetValue,\n index: 1\n };\n for (i = 0; i < 3; i += 1) {\n dictionary[i] = i\n }\n bits = 0;\n maxpower = Math.pow(2, 2);\n power = 1;\n while (power != maxpower) {\n resb = data.val & data.position;\n data.position >>= 1;\n if (data.position == 0) {\n data.position = resetValue;\n data.val = getNextValue(data.index++)\n }\n bits |= (resb > 0 ? 1 : 0) * power;\n power <<= 1\n }\n switch (next = bits) {\n case 0:\n bits = 0;\n maxpower = Math.pow(2, 8);\n power = 1;\n while (power != maxpower) {\n resb = data.val & data.position;\n data.position >>= 1;\n if (data.position == 0) {\n data.position = resetValue;\n data.val = getNextValue(data.index++)\n }\n bits |= (resb > 0 ? 1 : 0) * power;\n power <<= 1\n }\n c = f(bits);\n break;\n case 1:\n bits = 0;\n maxpower = Math.pow(2, 16);\n power = 1;\n while (power != maxpower) {\n resb = data.val & data.position;\n data.position >>= 1;\n if (data.position == 0) {\n data.position = resetValue;\n data.val = getNextValue(data.index++)\n }\n bits |= (resb > 0 ? 1 : 0) * power;\n power <<= 1\n }\n c = f(bits);\n break;\n case 2:\n return \"\"\n }\n dictionary[3] = c;\n w = c;\n result.push(c);\n while (true) {\n if (data.index > length) {\n return \"\"\n }\n bits = 0;\n maxpower = Math.pow(2, numBits);\n power = 1;\n while (power != maxpower) {\n resb = data.val & data.position;\n data.position >>= 1;\n if (data.position == 0) {\n data.position = resetValue;\n data.val = getNextValue(data.index++)\n }\n bits |= (resb > 0 ? 1 : 0) * power;\n power <<= 1\n }\n switch (c = bits) {\n case 0:\n bits = 0;\n maxpower = Math.pow(2, 8);\n power = 1;\n while (power != maxpower) {\n resb = data.val & data.position;\n data.position >>= 1;\n if (data.position == 0) {\n data.position = resetValue;\n data.val = getNextValue(data.index++)\n }\n bits |= (resb > 0 ? 1 : 0) * power;\n power <<= 1\n }\n dictionary[dictSize++] = f(bits);\n c = dictSize - 1;\n enlargeIn--;\n break;\n case 1:\n bits = 0;\n maxpower = Math.pow(2, 16);\n power = 1;\n while (power != maxpower) {\n resb = data.val & data.position;\n data.position >>= 1;\n if (data.position == 0) {\n data.position = resetValue;\n data.val = getNextValue(data.index++)\n }\n bits |= (resb > 0 ? 1 : 0) * power;\n power <<= 1\n }\n dictionary[dictSize++] = f(bits);\n c = dictSize - 1;\n enlargeIn--;\n break;\n case 2:\n return result.join(\"\")\n }\n if (enlargeIn == 0) {\n enlargeIn = Math.pow(2, numBits);\n numBits++\n }\n if (dictionary[c]) {\n entry = dictionary[c]\n } else {\n if (c === dictSize) {\n entry = w + w.charAt(0)\n } else {\n return null\n }\n }\n result.push(entry);\n dictionary[dictSize++] = w + entry.charAt(0);\n enlargeIn--;\n w = entry;\n if (enlargeIn == 0) {\n enlargeIn = Math.pow(2, numBits);\n numBits++\n }\n }\n }\n };\n return LZString\n}();\nif (typeof define === \"function\" && define.amd) {\n define(function() {\n return LZString\n })\n} else if (typeof module !== \"undefined\" && module != null) {\n module.exports = LZString\n} else if (typeof angular !== \"undefined\" && angular != null) {\n angular.module(\"LZString\", []).factory(\"LZString\", function() {\n return LZString\n })\n}(function(global) {\n \"use strict\";\n\n function definition(path, iterate, isObject, isTypeOf) {\n var pattern = [{\n pattern: path,\n weight: path.length,\n state: false\n }],\n storage = {};\n demand.on(\"postConfigure:\" + path, function(options) {\n if (isObject(options)) {\n pattern.length = 0;\n iterate(options, function(key, value) {\n pattern.push({\n pattern: key,\n weight: key.length,\n state: value\n })\n })\n } else if (isTypeOf(options, \"boolean\")) {\n pattern.push({\n pattern: \"\",\n weight: 0,\n state: options\n })\n }\n }).on(\"cacheHit\", function(dependency) {\n if (isEnabled(dependency.path)) {\n storage[dependency.id] = true\n }\n }).on(\"preCache\", function(dependency) {\n if (isEnabled(dependency.path)) {\n dependency.source = global.LZString.compressToUTF16(dependency.source)\n }\n }).on(\"preProcess\", function(dependency) {\n if (storage[dependency.id]) {\n dependency.source = global.LZString.decompressFromUTF16(dependency.source)\n }\n });\n\n function isEnabled(path) {\n var i = 0,\n pointer, match;\n for (; pointer = pattern[i]; i++) {\n if (path.indexOf(pointer.pattern) === 0 && (!match || pointer.weight > match.weight)) {\n match = pointer\n }\n }\n return match ? match.state : false\n }\n return true\n }\n provide([\"path\", \"/demand/function/iterate\", \"/demand/validator/isObject\", \"/demand/validator/isTypeOf\"], definition)\n})(this);"]} \ 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.0.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\t\tdefault:\n\t\t\t\t\tcase 0:\n\t\t\t\t\t\treturn res;\n\t\t\t\tcase 1:\n\t\t\t\t\t\treturn res + \"===\";\n\t\t\t\tcase 2:\n\t\t\t\t\t\treturn res + \"==\";\n\t\t\t\tcase 3:\n\t\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\tdictionary[3] = c;\n\t\t\t\tw = 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 5eca9a8..5315059 100644 --- a/dist/plugin/sri.js +++ b/dist/plugin/sri.js @@ -1,3 +1,3 @@ -/**! Qoopido.demand 5.0.0 | https://github.com/dlueth/qoopido.demand | (c) 2018 Dirk Lueth */ -var SUPPORTED_ALGS=15;!function(r){"use strict";var e,n,t,o,i=4294967296;function h(r,e){this.highOrder=r,this.lowOrder=e}function w(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 d(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 u(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 f(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 a(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 O(r,e,n){var t;switch(e){case"UTF8":case"UTF16BE":case"UTF16LE":break;default:throw new Error("encoding must be UTF8, UTF16BE, or UTF16LE")}switch(r){case"HEX":t=function(r,e,t){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,t,n)};break;case"TEXT":t=function(r,t,o){return function(r,e,n,t,o){var i,h,w,d,u,f,a,O,l,s,c=0;if(i=n||[0],f=(t=t||0)>>>3,"UTF8"===e)for(l=-1===o?3:0,d=0;d(h=r.charCodeAt(d))?w.push(h):2048>h?(w.push(192|h>>>6),w.push(128|63&h)):55296>h||57344<=h?w.push(224|h>>>12,128|h>>>6&63,128|63&h):(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,e,t,o,n)};break;case"B64":t=function(r,e,t){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>>2]>>>8*(h+n*(o%4)),d+=w.charAt(i>>>4&15)+w.charAt(15&i);return t.outputUpper?d.toUpperCase():d}function t(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 o(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 i(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 h(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 w(r,e,n){var t;switch(e){case"UTF8":case"UTF16BE":case"UTF16LE":break;default:throw new Error("encoding must be UTF8, UTF16BE, or UTF16LE")}switch(r){case"HEX":t=function(r,e,t){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,t,n)};break;case"TEXT":t=function(r,t,o){return function(r,e,n,o,i){var h,w,d,u,f,a,O,l,s,c,g=0;if(h=t||[0],a=(o=o||0)>>>3,"UTF8"===e)for(s=-1===i?3:0,u=0;u(w=r.charCodeAt(u))?d.push(w):2048>w?(d.push(192|w>>>6),d.push(128|63&w)):55296>w||57344<=w?d.push(224|w>>>12,128|w>>>6&63,128|63&w):(u+=1,w=65536+((1023&w)<<10|1023&r.charCodeAt(u)),d.push(240|w>>>18,128|w>>>12&63,128|w>>>6&63,128|63&w)),f=0;f>>2;h.length<=O;)h.push(0);h[O]|=d[f]<<8*(s+i*(l%4)),g+=1}else if("UTF16BE"===e||"UTF16LE"===e)for(s=-1===i?2:0,c="UTF16LE"===e&&1!==i||"UTF16LE"!==e&&1===i,u=0;u>>8),O=(l=g+a)>>>2;h.length<=O;)h.push(0);h[O]|=w<<8*(s+i*(l%4)),g+=2}return{value:h,binLen:8*g+o}}(r,e,0,o,n)};break;case"B64":t=function(r,e,t){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 if (\"UTF8\" === utfType) {\n shiftModifier = bigEndianMod === -1 ? 3 : 0;\n for (i = 0; i < str.length; i += 1) {\n codePnt = str.charCodeAt(i);\n codePntArr = [];\n if (128 > codePnt) {\n codePntArr.push(codePnt)\n } else if (2048 > codePnt) {\n codePntArr.push(192 | codePnt >>> 6);\n codePntArr.push(128 | codePnt & 63)\n } else if (55296 > codePnt || 57344 <= codePnt) {\n codePntArr.push(224 | codePnt >>> 12, 128 | codePnt >>> 6 & 63, 128 | codePnt & 63)\n } else {\n i += 1;\n codePnt = 65536 + ((codePnt & 1023) << 10 | str.charCodeAt(i) & 1023);\n codePntArr.push(240 | codePnt >>> 18, 128 | codePnt >>> 12 & 63, 128 | codePnt >>> 6 & 63, 128 | codePnt & 63)\n }\n for (j = 0; j < codePntArr.length; j += 1) {\n byteOffset = byteCnt + existingByteLen;\n intOffset = byteOffset >>> 2;\n while (packed.length <= intOffset) {\n packed.push(0)\n }\n packed[intOffset] |= codePntArr[j] << 8 * (shiftModifier + bigEndianMod * (byteOffset % 4));\n byteCnt += 1\n }\n }\n } else if (\"UTF16BE\" === utfType || \"UTF16LE\" === utfType) {\n shiftModifier = bigEndianMod === -1 ? 2 : 0;\n transposeBytes = \"UTF16LE\" === utfType && bigEndianMod !== 1 || \"UTF16LE\" !== utfType && bigEndianMod === 1;\n for (i = 0; i < str.length; i += 1) {\n codePnt = str.charCodeAt(i);\n if (transposeBytes === true) {\n j = codePnt & 255;\n codePnt = j << 8 | codePnt >>> 8\n }\n byteOffset = byteCnt + existingByteLen;\n intOffset = byteOffset >>> 2;\n while (packed.length <= intOffset) {\n packed.push(0)\n }\n packed[intOffset] |= codePnt << 8 * (shiftModifier + bigEndianMod * (byteOffset % 4));\n byteCnt += 2\n }\n }\n return {\n value: packed,\n binLen: byteCnt * 8 + existingPackedLen\n }\n }\n\n function hex2packed(str, existingPacked, existingPackedLen, bigEndianMod) {\n var packed, length = str.length,\n i, num, intOffset, byteOffset, existingByteLen, shiftModifier;\n if (0 !== length % 2) {\n throw new Error(\"String of HEX type must be in byte increments\")\n }\n packed = existingPacked || [0];\n existingPackedLen = existingPackedLen || 0;\n existingByteLen = existingPackedLen >>> 3;\n shiftModifier = bigEndianMod === -1 ? 3 : 0;\n for (i = 0; i < length; i += 2) {\n num = parseInt(str.substr(i, 2), 16);\n if (!isNaN(num)) {\n byteOffset = (i >>> 1) + existingByteLen;\n intOffset = byteOffset >>> 2;\n while (packed.length <= intOffset) {\n packed.push(0)\n }\n packed[intOffset] |= num << 8 * (shiftModifier + bigEndianMod * (byteOffset % 4))\n } else {\n throw new Error(\"String of HEX type contains invalid characters\")\n }\n }\n return {\n value: packed,\n binLen: length * 4 + existingPackedLen\n }\n }\n\n function bytes2packed(str, existingPacked, existingPackedLen, bigEndianMod) {\n var packed, codePnt, i, existingByteLen, intOffset, byteOffset, shiftModifier;\n packed = existingPacked || [0];\n existingPackedLen = existingPackedLen || 0;\n existingByteLen = existingPackedLen >>> 3;\n shiftModifier = bigEndianMod === -1 ? 3 : 0;\n for (i = 0; i < str.length; i += 1) {\n codePnt = str.charCodeAt(i);\n byteOffset = i + existingByteLen;\n intOffset = byteOffset >>> 2;\n if (packed.length <= intOffset) {\n packed.push(0)\n }\n packed[intOffset] |= codePnt << 8 * (shiftModifier + bigEndianMod * (byteOffset % 4))\n }\n return {\n value: packed,\n binLen: str.length * 8 + existingPackedLen\n }\n }\n\n function b642packed(str, existingPacked, existingPackedLen, bigEndianMod) {\n var packed, byteCnt = 0,\n index, i, j, tmpInt, strPart, firstEqual, b64Tab = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",\n existingByteLen, intOffset, byteOffset, shiftModifier;\n if (-1 === str.search(/^[a-zA-Z0-9=+\\/]+$/)) {\n throw new Error(\"Invalid character in base-64 string\")\n }\n firstEqual = str.indexOf(\"=\");\n str = str.replace(/\\=/g, \"\");\n if (-1 !== firstEqual && firstEqual < str.length) {\n throw new Error(\"Invalid '=' found in base-64 string\")\n }\n packed = existingPacked || [0];\n existingPackedLen = existingPackedLen || 0;\n existingByteLen = existingPackedLen >>> 3;\n shiftModifier = bigEndianMod === -1 ? 3 : 0;\n for (i = 0; i < str.length; i += 4) {\n strPart = str.substr(i, 4);\n tmpInt = 0;\n for (j = 0; j < strPart.length; j += 1) {\n index = b64Tab.indexOf(strPart[j]);\n tmpInt |= index << 18 - 6 * j\n }\n for (j = 0; j < strPart.length - 1; j += 1) {\n byteOffset = byteCnt + existingByteLen;\n intOffset = byteOffset >>> 2;\n while (packed.length <= intOffset) {\n packed.push(0)\n }\n packed[intOffset] |= (tmpInt >>> 16 - j * 8 & 255) << 8 * (shiftModifier + bigEndianMod * (byteOffset % 4));\n byteCnt += 1\n }\n }\n return {\n value: packed,\n binLen: byteCnt * 8 + existingPackedLen\n }\n }\n\n function arraybuffer2packed(arr, existingPacked, existingPackedLen, bigEndianMod) {\n var packed, i, existingByteLen, intOffset, byteOffset, shiftModifier, arrView;\n packed = existingPacked || [0];\n existingPackedLen = existingPackedLen || 0;\n existingByteLen = existingPackedLen >>> 3;\n shiftModifier = bigEndianMod === -1 ? 3 : 0;\n arrView = new Uint8Array(arr);\n for (i = 0; i < arr.byteLength; i += 1) {\n byteOffset = i + existingByteLen;\n intOffset = byteOffset >>> 2;\n if (packed.length <= intOffset) {\n packed.push(0)\n }\n packed[intOffset] |= arrView[i] << 8 * (shiftModifier + bigEndianMod * (byteOffset % 4))\n }\n return {\n value: packed,\n binLen: arr.byteLength * 8 + existingPackedLen\n }\n }\n\n function packed2hex(packed, outputLength, bigEndianMod, formatOpts) {\n var hex_tab = \"0123456789abcdef\",\n str = \"\",\n length = outputLength / 8,\n i, srcByte, shiftModifier;\n shiftModifier = bigEndianMod === -1 ? 3 : 0;\n for (i = 0; i < length; i += 1) {\n srcByte = packed[i >>> 2] >>> 8 * (shiftModifier + bigEndianMod * (i % 4));\n str += hex_tab.charAt(srcByte >>> 4 & 15) + hex_tab.charAt(srcByte & 15)\n }\n return formatOpts[\"outputUpper\"] ? str.toUpperCase() : str\n }\n\n function packed2b64(packed, outputLength, bigEndianMod, formatOpts) {\n var str = \"\",\n length = outputLength / 8,\n i, j, triplet, int1, int2, shiftModifier, b64Tab = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";\n shiftModifier = bigEndianMod === -1 ? 3 : 0;\n for (i = 0; i < length; i += 3) {\n int1 = i + 1 < length ? packed[i + 1 >>> 2] : 0;\n int2 = i + 2 < length ? packed[i + 2 >>> 2] : 0;\n triplet = (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 for (j = 0; j < 4; j += 1) {\n if (i * 8 + j * 6 <= outputLength) {\n str += b64Tab.charAt(triplet >>> 6 * (3 - j) & 63)\n } else {\n str += formatOpts[\"b64Pad\"]\n }\n }\n }\n return str\n }\n\n function packed2bytes(packed, outputLength, bigEndianMod) {\n var str = \"\",\n length = outputLength / 8,\n i, srcByte, shiftModifier;\n shiftModifier = bigEndianMod === -1 ? 3 : 0;\n for (i = 0; i < length; i += 1) {\n srcByte = packed[i >>> 2] >>> 8 * (shiftModifier + bigEndianMod * (i % 4)) & 255;\n str += String.fromCharCode(srcByte)\n }\n return str\n }\n\n function packed2arraybuffer(packed, outputLength, bigEndianMod) {\n var length = outputLength / 8,\n i, retVal = new ArrayBuffer(length),\n shiftModifier, arrView;\n arrView = new Uint8Array(retVal);\n shiftModifier = bigEndianMod === -1 ? 3 : 0;\n for (i = 0; i < length; i += 1) {\n arrView[i] = packed[i >>> 2] >>> 8 * (shiftModifier + bigEndianMod * (i % 4)) & 255\n }\n return retVal\n }\n\n function getOutputOpts(options) {\n var retVal = {\n outputUpper: false,\n b64Pad: \"=\",\n shakeLen: -1\n },\n outputOptions;\n outputOptions = options || {};\n retVal[\"outputUpper\"] = outputOptions[\"outputUpper\"] || false;\n if (true === outputOptions.hasOwnProperty(\"b64Pad\")) {\n retVal[\"b64Pad\"] = outputOptions[\"b64Pad\"]\n }\n if (true === outputOptions.hasOwnProperty(\"shakeLen\") && (8 & SUPPORTED_ALGS) !== 0) {\n if (outputOptions[\"shakeLen\"] % 8 !== 0) {\n throw new Error(\"shakeLen must be a multiple of 8\")\n }\n retVal[\"shakeLen\"] = outputOptions[\"shakeLen\"]\n }\n if (\"boolean\" !== typeof retVal[\"outputUpper\"]) {\n throw new Error(\"Invalid outputUpper formatting option\")\n }\n if (\"string\" !== typeof retVal[\"b64Pad\"]) {\n throw new Error(\"Invalid b64Pad formatting option\")\n }\n return retVal\n }\n\n function getStrConverter(format, utfType, bigEndianMod) {\n var retVal;\n switch (utfType) {\n case \"UTF8\":\n case \"UTF16BE\":\n case \"UTF16LE\":\n break;\n default:\n throw new Error(\"encoding must be UTF8, UTF16BE, or UTF16LE\")\n }\n switch (format) {\n case \"HEX\":\n retVal = function(str, existingBin, existingBinLen) {\n return hex2packed(str, existingBin, existingBinLen, bigEndianMod)\n };\n break;\n case \"TEXT\":\n retVal = function(str, existingBin, existingBinLen) {\n return str2packed(str, utfType, existingBin, existingBinLen, bigEndianMod)\n };\n break;\n case \"B64\":\n retVal = function(str, existingBin, existingBinLen) {\n return b642packed(str, existingBin, existingBinLen, bigEndianMod)\n };\n break;\n case \"BYTES\":\n retVal = function(str, existingBin, existingBinLen) {\n return bytes2packed(str, existingBin, existingBinLen, bigEndianMod)\n };\n break;\n case \"ARRAYBUFFER\":\n try {\n retVal = new ArrayBuffer(0)\n } catch (ignore) {\n throw new Error(\"ARRAYBUFFER not supported by this environment\")\n }\n retVal = function(arr, existingBin, existingBinLen) {\n return arraybuffer2packed(arr, existingBin, existingBinLen, bigEndianMod)\n };\n break;\n default:\n throw new Error(\"format must be HEX, TEXT, B64, BYTES, or ARRAYBUFFER\")\n }\n return retVal\n }\n\n function rotl_32(x, n) {\n return x << n | x >>> 32 - n\n }\n\n function rotl_64(x, n) {\n if (n > 32) {\n n = n - 32;\n return new Int_64(x.lowOrder << n | x.highOrder >>> 32 - n, x.highOrder << n | x.lowOrder >>> 32 - n)\n } else if (0 !== n) {\n return new Int_64(x.highOrder << n | x.lowOrder >>> 32 - n, x.lowOrder << n | x.highOrder >>> 32 - n)\n } else {\n return x\n }\n }\n\n function rotr_32(x, n) {\n return x >>> n | x << 32 - n\n }\n\n function rotr_64(x, n) {\n var retVal = null,\n tmp = new Int_64(x.highOrder, x.lowOrder);\n if (32 >= n) {\n retVal = new Int_64(tmp.highOrder >>> n | tmp.lowOrder << 32 - n & 4294967295, tmp.lowOrder >>> n | tmp.highOrder << 32 - n & 4294967295)\n } else {\n retVal = new Int_64(tmp.lowOrder >>> n - 32 | tmp.highOrder << 64 - n & 4294967295, tmp.highOrder >>> n - 32 | tmp.lowOrder << 64 - n & 4294967295)\n }\n return retVal\n }\n\n function shr_32(x, n) {\n return x >>> n\n }\n\n function shr_64(x, n) {\n var retVal = null;\n if (32 >= n) {\n retVal = new Int_64(x.highOrder >>> n, x.lowOrder >>> n | x.highOrder << 32 - n & 4294967295)\n } else {\n retVal = new Int_64(0, x.highOrder >>> n - 32)\n }\n return retVal\n }\n\n function parity_32(x, y, z) {\n return x ^ y ^ z\n }\n\n function ch_32(x, y, z) {\n return x & y ^ ~x & z\n }\n\n function ch_64(x, y, z) {\n return new Int_64(x.highOrder & y.highOrder ^ ~x.highOrder & z.highOrder, x.lowOrder & y.lowOrder ^ ~x.lowOrder & z.lowOrder)\n }\n\n function maj_32(x, y, z) {\n return x & y ^ x & z ^ y & z\n }\n\n function maj_64(x, y, z) {\n return 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 }\n\n function sigma0_32(x) {\n return rotr_32(x, 2) ^ rotr_32(x, 13) ^ rotr_32(x, 22)\n }\n\n function sigma0_64(x) {\n var rotr28 = rotr_64(x, 28),\n rotr34 = rotr_64(x, 34),\n rotr39 = rotr_64(x, 39);\n return new Int_64(rotr28.highOrder ^ rotr34.highOrder ^ rotr39.highOrder, rotr28.lowOrder ^ rotr34.lowOrder ^ rotr39.lowOrder)\n }\n\n function sigma1_32(x) {\n return rotr_32(x, 6) ^ rotr_32(x, 11) ^ rotr_32(x, 25)\n }\n\n function sigma1_64(x) {\n var rotr14 = rotr_64(x, 14),\n rotr18 = rotr_64(x, 18),\n rotr41 = rotr_64(x, 41);\n return new Int_64(rotr14.highOrder ^ rotr18.highOrder ^ rotr41.highOrder, rotr14.lowOrder ^ rotr18.lowOrder ^ rotr41.lowOrder)\n }\n\n function gamma0_32(x) {\n return rotr_32(x, 7) ^ rotr_32(x, 18) ^ shr_32(x, 3)\n }\n\n function gamma0_64(x) {\n var rotr1 = rotr_64(x, 1),\n rotr8 = rotr_64(x, 8),\n shr7 = shr_64(x, 7);\n return new Int_64(rotr1.highOrder ^ rotr8.highOrder ^ shr7.highOrder, rotr1.lowOrder ^ rotr8.lowOrder ^ shr7.lowOrder)\n }\n\n function gamma1_32(x) {\n return rotr_32(x, 17) ^ rotr_32(x, 19) ^ shr_32(x, 10)\n }\n\n function gamma1_64(x) {\n var rotr19 = rotr_64(x, 19),\n rotr61 = rotr_64(x, 61),\n shr6 = shr_64(x, 6);\n return new Int_64(rotr19.highOrder ^ rotr61.highOrder ^ shr6.highOrder, rotr19.lowOrder ^ rotr61.lowOrder ^ shr6.lowOrder)\n }\n\n function safeAdd_32_2(a, b) {\n var lsw = (a & 65535) + (b & 65535),\n msw = (a >>> 16) + (b >>> 16) + (lsw >>> 16);\n return (msw & 65535) << 16 | lsw & 65535\n }\n\n function safeAdd_32_4(a, b, c, d) {\n var lsw = (a & 65535) + (b & 65535) + (c & 65535) + (d & 65535),\n msw = (a >>> 16) + (b >>> 16) + (c >>> 16) + (d >>> 16) + (lsw >>> 16);\n return (msw & 65535) << 16 | lsw & 65535\n }\n\n function safeAdd_32_5(a, b, c, d, e) {\n var lsw = (a & 65535) + (b & 65535) + (c & 65535) + (d & 65535) + (e & 65535),\n msw = (a >>> 16) + (b >>> 16) + (c >>> 16) + (d >>> 16) + (e >>> 16) + (lsw >>> 16);\n return (msw & 65535) << 16 | lsw & 65535\n }\n\n function safeAdd_64_2(x, y) {\n var lsw, msw, lowOrder, highOrder;\n lsw = (x.lowOrder & 65535) + (y.lowOrder & 65535);\n msw = (x.lowOrder >>> 16) + (y.lowOrder >>> 16) + (lsw >>> 16);\n lowOrder = (msw & 65535) << 16 | lsw & 65535;\n lsw = (x.highOrder & 65535) + (y.highOrder & 65535) + (msw >>> 16);\n msw = (x.highOrder >>> 16) + (y.highOrder >>> 16) + (lsw >>> 16);\n highOrder = (msw & 65535) << 16 | lsw & 65535;\n return new Int_64(highOrder, lowOrder)\n }\n\n function safeAdd_64_4(a, b, c, d) {\n var lsw, msw, lowOrder, highOrder;\n lsw = (a.lowOrder & 65535) + (b.lowOrder & 65535) + (c.lowOrder & 65535) + (d.lowOrder & 65535);\n msw = (a.lowOrder >>> 16) + (b.lowOrder >>> 16) + (c.lowOrder >>> 16) + (d.lowOrder >>> 16) + (lsw >>> 16);\n lowOrder = (msw & 65535) << 16 | lsw & 65535;\n lsw = (a.highOrder & 65535) + (b.highOrder & 65535) + (c.highOrder & 65535) + (d.highOrder & 65535) + (msw >>> 16);\n msw = (a.highOrder >>> 16) + (b.highOrder >>> 16) + (c.highOrder >>> 16) + (d.highOrder >>> 16) + (lsw >>> 16);\n highOrder = (msw & 65535) << 16 | lsw & 65535;\n return new Int_64(highOrder, lowOrder)\n }\n\n function safeAdd_64_5(a, b, c, d, e) {\n var lsw, msw, lowOrder, highOrder;\n lsw = (a.lowOrder & 65535) + (b.lowOrder & 65535) + (c.lowOrder & 65535) + (d.lowOrder & 65535) + (e.lowOrder & 65535);\n msw = (a.lowOrder >>> 16) + (b.lowOrder >>> 16) + (c.lowOrder >>> 16) + (d.lowOrder >>> 16) + (e.lowOrder >>> 16) + (lsw >>> 16);\n lowOrder = (msw & 65535) << 16 | lsw & 65535;\n lsw = (a.highOrder & 65535) + (b.highOrder & 65535) + (c.highOrder & 65535) + (d.highOrder & 65535) + (e.highOrder & 65535) + (msw >>> 16);\n msw = (a.highOrder >>> 16) + (b.highOrder >>> 16) + (c.highOrder >>> 16) + (d.highOrder >>> 16) + (e.highOrder >>> 16) + (lsw >>> 16);\n highOrder = (msw & 65535) << 16 | lsw & 65535;\n return new Int_64(highOrder, lowOrder)\n }\n\n function xor_64_2(a, b) {\n return new Int_64(a.highOrder ^ b.highOrder, a.lowOrder ^ b.lowOrder)\n }\n\n function xor_64_5(a, b, c, d, e) {\n return new Int_64(a.highOrder ^ b.highOrder ^ c.highOrder ^ d.highOrder ^ e.highOrder, a.lowOrder ^ b.lowOrder ^ c.lowOrder ^ d.lowOrder ^ e.lowOrder)\n }\n\n function cloneSHA3State(state) {\n var clone = [],\n i;\n for (i = 0; i < 5; i += 1) {\n clone[i] = state[i].slice()\n }\n return clone\n }\n\n function getNewState(variant) {\n var retVal = [],\n H_trunc, H_full, i;\n if (\"SHA-1\" === variant && (1 & SUPPORTED_ALGS) !== 0) {\n retVal = [1732584193, 4023233417, 2562383102, 271733878, 3285377520]\n } else if (variant.lastIndexOf(\"SHA-\", 0) === 0 && (6 & SUPPORTED_ALGS) !== 0) {\n H_trunc = [3238371032, 914150663, 812702999, 4144912697, 4290775857, 1750603025, 1694076839, 3204075428];\n H_full = [1779033703, 3144134277, 1013904242, 2773480762, 1359893119, 2600822924, 528734635, 1541459225];\n switch (variant) {\n case \"SHA-224\":\n retVal = H_trunc;\n break;\n case \"SHA-256\":\n retVal = H_full;\n break;\n case \"SHA-384\":\n retVal = [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 break;\n case \"SHA-512\":\n retVal = [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 break;\n default:\n throw new Error(\"Unknown SHA variant\")\n }\n } else if ((variant.lastIndexOf(\"SHA3-\", 0) === 0 || variant.lastIndexOf(\"SHAKE\", 0) === 0) && (8 & SUPPORTED_ALGS) !== 0) {\n for (i = 0; i < 5; i += 1) {\n 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 }\n } else {\n throw new Error(\"No SHA variants supported\")\n }\n return retVal\n }\n\n function roundSHA1(block, H) {\n var W = [],\n a, b, c, d, e, T, ch = ch_32,\n parity = parity_32,\n maj = maj_32,\n rotl = rotl_32,\n safeAdd_2 = safeAdd_32_2,\n t, safeAdd_5 = safeAdd_32_5;\n a = H[0];\n b = H[1];\n c = H[2];\n d = H[3];\n e = H[4];\n for (t = 0; t < 80; t += 1) {\n if (t < 16) {\n W[t] = block[t]\n } else {\n W[t] = rotl(W[t - 3] ^ W[t - 8] ^ W[t - 14] ^ W[t - 16], 1)\n }\n if (t < 20) {\n T = safeAdd_5(rotl(a, 5), ch(b, c, d), e, 1518500249, W[t])\n } else if (t < 40) {\n T = safeAdd_5(rotl(a, 5), parity(b, c, d), e, 1859775393, W[t])\n } else if (t < 60) {\n T = safeAdd_5(rotl(a, 5), maj(b, c, d), e, 2400959708, W[t])\n } else {\n T = safeAdd_5(rotl(a, 5), parity(b, c, d), e, 3395469782, W[t])\n }\n e = d;\n d = c;\n c = rotl(b, 30);\n b = a;\n a = T\n }\n H[0] = safeAdd_2(a, H[0]);\n H[1] = safeAdd_2(b, H[1]);\n H[2] = safeAdd_2(c, H[2]);\n H[3] = safeAdd_2(d, H[3]);\n H[4] = safeAdd_2(e, H[4]);\n return H\n }\n\n function finalizeSHA1(remainder, remainderBinLen, processedBinLen, H, outputLen) {\n var i, appendedMessageLength, offset, totalLen;\n offset = (remainderBinLen + 65 >>> 9 << 4) + 15;\n while (remainder.length <= offset) {\n remainder.push(0)\n }\n remainder[remainderBinLen >>> 5] |= 128 << 24 - remainderBinLen % 32;\n totalLen = remainderBinLen + processedBinLen;\n remainder[offset] = totalLen & 4294967295;\n remainder[offset - 1] = totalLen / TWO_PWR_32 | 0;\n appendedMessageLength = remainder.length;\n for (i = 0; i < appendedMessageLength; i += 16) {\n H = roundSHA1(remainder.slice(i, i + 16), H)\n }\n return H\n }\n var K_sha2, K_sha512, r_sha3, rc_sha3;\n if ((6 & SUPPORTED_ALGS) !== 0) {\n K_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 if ((4 & SUPPORTED_ALGS) !== 0) {\n 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 }\n }\n if ((8 & SUPPORTED_ALGS) !== 0) {\n rc_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 r_sha3 = [\n [0, 36, 3, 41, 18],\n [1, 44, 10, 45, 2],\n [62, 6, 43, 15, 61],\n [28, 55, 25, 21, 56],\n [27, 20, 39, 8, 14]\n ]\n }\n\n function roundSHA2(block, H, variant) {\n var 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, W = [],\n int1, int2, offset, K;\n if ((variant === \"SHA-224\" || variant === \"SHA-256\") && (2 & SUPPORTED_ALGS) !== 0) {\n numRounds = 64;\n binaryStringMult = 1;\n Int = Number;\n safeAdd_2 = safeAdd_32_2;\n safeAdd_4 = safeAdd_32_4;\n safeAdd_5 = safeAdd_32_5;\n gamma0 = gamma0_32;\n gamma1 = gamma1_32;\n sigma0 = sigma0_32;\n sigma1 = sigma1_32;\n maj = maj_32;\n ch = ch_32;\n K = K_sha2\n } else if ((variant === \"SHA-384\" || variant === \"SHA-512\") && (4 & SUPPORTED_ALGS) !== 0) {\n numRounds = 80;\n binaryStringMult = 2;\n Int = Int_64;\n safeAdd_2 = safeAdd_64_2;\n safeAdd_4 = safeAdd_64_4;\n safeAdd_5 = safeAdd_64_5;\n gamma0 = gamma0_64;\n gamma1 = gamma1_64;\n sigma0 = sigma0_64;\n sigma1 = sigma1_64;\n maj = maj_64;\n ch = ch_64;\n K = K_sha512\n } else {\n throw new Error(\"Unexpected error in SHA-2 implementation\")\n }\n a = H[0];\n b = H[1];\n c = H[2];\n d = H[3];\n e = H[4];\n f = H[5];\n g = H[6];\n h = H[7];\n for (t = 0; t < numRounds; t += 1) {\n if (t < 16) {\n offset = t * binaryStringMult;\n int1 = block.length <= offset ? 0 : block[offset];\n int2 = block.length <= offset + 1 ? 0 : block[offset + 1];\n W[t] = new Int(int1, int2)\n } else {\n W[t] = safeAdd_4(gamma1(W[t - 2]), W[t - 7], gamma0(W[t - 15]), W[t - 16])\n }\n T1 = safeAdd_5(h, sigma1(e), ch(e, f, g), K[t], W[t]);\n T2 = safeAdd_2(sigma0(a), maj(a, b, c));\n h = g;\n g = f;\n f = e;\n e = safeAdd_2(d, T1);\n d = c;\n c = b;\n b = a;\n a = safeAdd_2(T1, T2)\n }\n H[0] = safeAdd_2(a, H[0]);\n H[1] = safeAdd_2(b, H[1]);\n H[2] = safeAdd_2(c, H[2]);\n H[3] = safeAdd_2(d, H[3]);\n H[4] = safeAdd_2(e, H[4]);\n H[5] = safeAdd_2(f, H[5]);\n H[6] = safeAdd_2(g, H[6]);\n H[7] = safeAdd_2(h, H[7]);\n return H\n }\n\n function finalizeSHA2(remainder, remainderBinLen, processedBinLen, H, variant, outputLen) {\n var i, appendedMessageLength, offset, retVal, binaryStringInc, totalLen;\n if ((variant === \"SHA-224\" || variant === \"SHA-256\") && (2 & SUPPORTED_ALGS) !== 0) {\n offset = (remainderBinLen + 65 >>> 9 << 4) + 15;\n binaryStringInc = 16\n } else if ((variant === \"SHA-384\" || variant === \"SHA-512\") && (4 & SUPPORTED_ALGS) !== 0) {\n offset = (remainderBinLen + 129 >>> 10 << 5) + 31;\n binaryStringInc = 32\n } else {\n throw new Error(\"Unexpected error in SHA-2 implementation\")\n }\n while (remainder.length <= offset) {\n remainder.push(0)\n }\n remainder[remainderBinLen >>> 5] |= 128 << 24 - remainderBinLen % 32;\n totalLen = remainderBinLen + processedBinLen;\n remainder[offset] = totalLen & 4294967295;\n remainder[offset - 1] = totalLen / TWO_PWR_32 | 0;\n appendedMessageLength = remainder.length;\n for (i = 0; i < appendedMessageLength; i += binaryStringInc) {\n H = roundSHA2(remainder.slice(i, i + binaryStringInc), H, variant)\n }\n if (\"SHA-224\" === variant && (2 & SUPPORTED_ALGS) !== 0) {\n retVal = [H[0], H[1], H[2], H[3], H[4], H[5], H[6]]\n } else if (\"SHA-256\" === variant && (2 & SUPPORTED_ALGS) !== 0) {\n retVal = H\n } else if (\"SHA-384\" === variant && (4 & SUPPORTED_ALGS) !== 0) {\n 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 } else if (\"SHA-512\" === variant && (4 & SUPPORTED_ALGS) !== 0) {\n 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 } else {\n throw new Error(\"Unexpected error in SHA-2 implementation\")\n }\n return retVal\n }\n\n function roundSHA3(block, state) {\n var round, x, y, B, C = [],\n D = [];\n if (null !== block) {\n for (x = 0; x < block.length; x += 2) {\n 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 }\n }\n for (round = 0; round < 24; round += 1) {\n B = getNewState(\"SHA3-\");\n for (x = 0; x < 5; x += 1) {\n C[x] = xor_64_5(state[x][0], state[x][1], state[x][2], state[x][3], state[x][4])\n }\n for (x = 0; x < 5; x += 1) {\n D[x] = xor_64_2(C[(x + 4) % 5], rotl_64(C[(x + 1) % 5], 1))\n }\n for (x = 0; x < 5; x += 1) {\n for (y = 0; y < 5; y += 1) {\n state[x][y] = xor_64_2(state[x][y], D[x])\n }\n }\n for (x = 0; x < 5; x += 1) {\n for (y = 0; y < 5; y += 1) {\n B[y][(2 * x + 3 * y) % 5] = rotl_64(state[x][y], r_sha3[x][y])\n }\n }\n for (x = 0; x < 5; x += 1) {\n for (y = 0; y < 5; y += 1) {\n 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 }\n }\n state[0][0] = xor_64_2(state[0][0], rc_sha3[round])\n }\n return state\n }\n\n function finalizeSHA3(remainder, remainderBinLen, processedBinLen, state, blockSize, delimiter, outputLen) {\n var i, retVal = [],\n binaryStringInc = blockSize >>> 5,\n state_offset = 0,\n remainderIntLen = remainderBinLen >>> 5,\n temp;\n for (i = 0; i < remainderIntLen && remainderBinLen >= blockSize; i += binaryStringInc) {\n state = roundSHA3(remainder.slice(i, i + binaryStringInc), state);\n remainderBinLen -= blockSize\n }\n remainder = remainder.slice(i);\n remainderBinLen = remainderBinLen % blockSize;\n while (remainder.length < binaryStringInc) {\n remainder.push(0)\n }\n i = remainderBinLen >>> 3;\n remainder[i >> 2] ^= delimiter << 8 * (i % 4);\n remainder[binaryStringInc - 1] ^= 2147483648;\n state = roundSHA3(remainder, state);\n while (retVal.length * 32 < outputLen) {\n temp = state[state_offset % 5][state_offset / 5 | 0];\n retVal.push(temp.lowOrder);\n if (retVal.length * 32 >= outputLen) {\n break\n }\n retVal.push(temp.highOrder);\n state_offset += 1;\n if (0 === state_offset * 64 % blockSize) {\n roundSHA3(null, state)\n }\n }\n return retVal\n }\n var jsSHA = function(variant, inputFormat, options) {\n var processedLen = 0,\n remainder = [],\n remainderLen = 0,\n utfType, intermediateState, converterFunc, shaVariant = variant,\n outputBinLen, variantBlockSize, roundFunc, finalizeFunc, stateCloneFunc, hmacKeySet = false,\n keyWithIPad = [],\n keyWithOPad = [],\n numRounds, updatedCalled = false,\n inputOptions, isSHAKE = false,\n bigEndianMod = -1;\n inputOptions = options || {};\n utfType = inputOptions[\"encoding\"] || \"UTF8\";\n numRounds = inputOptions[\"numRounds\"] || 1;\n if (numRounds !== parseInt(numRounds, 10) || 1 > numRounds) {\n throw new Error(\"numRounds must a integer >= 1\")\n }\n if (\"SHA-1\" === shaVariant && (1 & SUPPORTED_ALGS) !== 0) {\n variantBlockSize = 512;\n roundFunc = roundSHA1;\n finalizeFunc = finalizeSHA1;\n outputBinLen = 160;\n stateCloneFunc = function(state) {\n return state.slice()\n }\n } else if (shaVariant.lastIndexOf(\"SHA-\", 0) === 0 && (6 & SUPPORTED_ALGS) !== 0) {\n roundFunc = function(block, H) {\n return roundSHA2(block, H, shaVariant)\n };\n finalizeFunc = function(remainder, remainderBinLen, processedBinLen, H, outputLen) {\n return finalizeSHA2(remainder, remainderBinLen, processedBinLen, H, shaVariant, outputLen)\n };\n stateCloneFunc = function(state) {\n return state.slice()\n };\n if (\"SHA-224\" === shaVariant && (2 & SUPPORTED_ALGS) !== 0) {\n variantBlockSize = 512;\n outputBinLen = 224\n } else if (\"SHA-256\" === shaVariant && (2 & SUPPORTED_ALGS) !== 0) {\n variantBlockSize = 512;\n outputBinLen = 256\n } else if (\"SHA-384\" === shaVariant && (4 & SUPPORTED_ALGS) !== 0) {\n variantBlockSize = 1024;\n outputBinLen = 384\n } else if (\"SHA-512\" === shaVariant && (4 & SUPPORTED_ALGS) !== 0) {\n variantBlockSize = 1024;\n outputBinLen = 512\n } else {\n throw new Error(\"Chosen SHA variant is not supported\")\n }\n } else if ((shaVariant.lastIndexOf(\"SHA3-\", 0) === 0 || shaVariant.lastIndexOf(\"SHAKE\", 0) === 0) && (8 & SUPPORTED_ALGS) !== 0) {\n var delimiter = 6;\n roundFunc = roundSHA3;\n stateCloneFunc = function(state) {\n return cloneSHA3State(state)\n };\n bigEndianMod = 1;\n if (\"SHA3-224\" === shaVariant) {\n variantBlockSize = 1152;\n outputBinLen = 224\n } else if (\"SHA3-256\" === shaVariant) {\n variantBlockSize = 1088;\n outputBinLen = 256\n } else if (\"SHA3-384\" === shaVariant) {\n variantBlockSize = 832;\n outputBinLen = 384\n } else if (\"SHA3-512\" === shaVariant) {\n variantBlockSize = 576;\n outputBinLen = 512\n } else if (\"SHAKE128\" === shaVariant) {\n variantBlockSize = 1344;\n outputBinLen = -1;\n delimiter = 31;\n isSHAKE = true\n } else if (\"SHAKE256\" === shaVariant) {\n variantBlockSize = 1088;\n outputBinLen = -1;\n delimiter = 31;\n isSHAKE = true\n } else {\n throw new Error(\"Chosen SHA variant is not supported\")\n }\n finalizeFunc = function(remainder, remainderBinLen, processedBinLen, state, outputLen) {\n return finalizeSHA3(remainder, remainderBinLen, processedBinLen, state, variantBlockSize, delimiter, outputLen)\n }\n } else {\n throw new Error(\"Chosen SHA variant is not supported\")\n }\n converterFunc = getStrConverter(inputFormat, utfType, bigEndianMod);\n intermediateState = getNewState(shaVariant);\n this.setHMACKey = function(key, inputFormat, options) {\n var keyConverterFunc, convertRet, keyBinLen, keyToUse, blockByteSize, i, lastArrayIndex, keyOptions;\n if (true === hmacKeySet) {\n throw new Error(\"HMAC key already set\")\n }\n if (true === updatedCalled) {\n throw new Error(\"Cannot set HMAC key after calling update\")\n }\n if (isSHAKE === true && (8 & SUPPORTED_ALGS) !== 0) {\n throw new Error(\"SHAKE is not supported for HMAC\")\n }\n keyOptions = options || {};\n utfType = keyOptions[\"encoding\"] || \"UTF8\";\n keyConverterFunc = getStrConverter(inputFormat, utfType, bigEndianMod);\n convertRet = keyConverterFunc(key);\n keyBinLen = convertRet[\"binLen\"];\n keyToUse = convertRet[\"value\"];\n blockByteSize = variantBlockSize >>> 3;\n lastArrayIndex = blockByteSize / 4 - 1;\n if (blockByteSize < keyBinLen / 8) {\n keyToUse = finalizeFunc(keyToUse, keyBinLen, 0, getNewState(shaVariant), outputBinLen);\n while (keyToUse.length <= lastArrayIndex) {\n keyToUse.push(0)\n }\n keyToUse[lastArrayIndex] &= 4294967040\n } else if (blockByteSize > keyBinLen / 8) {\n while (keyToUse.length <= lastArrayIndex) {\n keyToUse.push(0)\n }\n keyToUse[lastArrayIndex] &= 4294967040\n }\n for (i = 0; i <= lastArrayIndex; i += 1) {\n keyWithIPad[i] = keyToUse[i] ^ 909522486;\n keyWithOPad[i] = keyToUse[i] ^ 1549556828\n }\n intermediateState = roundFunc(keyWithIPad, intermediateState);\n processedLen = variantBlockSize;\n hmacKeySet = true\n };\n this.update = function(srcString) {\n var convertRet, chunkBinLen, chunkIntLen, chunk, i, updateProcessedLen = 0,\n variantBlockIntInc = variantBlockSize >>> 5;\n convertRet = converterFunc(srcString, remainder, remainderLen);\n chunkBinLen = convertRet[\"binLen\"];\n chunk = convertRet[\"value\"];\n chunkIntLen = chunkBinLen >>> 5;\n for (i = 0; i < chunkIntLen; i += variantBlockIntInc) {\n if (updateProcessedLen + variantBlockSize <= chunkBinLen) {\n intermediateState = roundFunc(chunk.slice(i, i + variantBlockIntInc), intermediateState);\n updateProcessedLen += variantBlockSize\n }\n }\n processedLen += updateProcessedLen;\n remainder = chunk.slice(updateProcessedLen >>> 5);\n remainderLen = chunkBinLen % variantBlockSize;\n updatedCalled = true\n };\n this.getHash = function(format, options) {\n var formatFunc, i, outputOptions, finalizedState;\n if (true === hmacKeySet) {\n throw new Error(\"Cannot call getHash after setting HMAC key\")\n }\n outputOptions = getOutputOpts(options);\n if (isSHAKE === true && (8 & SUPPORTED_ALGS) !== 0) {\n if (outputOptions[\"shakeLen\"] === -1) {\n throw new Error(\"shakeLen must be specified in options\")\n }\n outputBinLen = outputOptions[\"shakeLen\"]\n }\n switch (format) {\n case \"HEX\":\n formatFunc = function(binarray) {\n return packed2hex(binarray, outputBinLen, bigEndianMod, outputOptions)\n };\n break;\n case \"B64\":\n formatFunc = function(binarray) {\n return packed2b64(binarray, outputBinLen, bigEndianMod, outputOptions)\n };\n break;\n case \"BYTES\":\n formatFunc = function(binarray) {\n return packed2bytes(binarray, outputBinLen, bigEndianMod)\n };\n break;\n case \"ARRAYBUFFER\":\n try {\n i = new ArrayBuffer(0)\n } catch (ignore) {\n throw new Error(\"ARRAYBUFFER not supported by this environment\")\n }\n formatFunc = function(binarray) {\n return packed2arraybuffer(binarray, outputBinLen, bigEndianMod)\n };\n break;\n default:\n throw new Error(\"format must be HEX, B64, BYTES, or ARRAYBUFFER\")\n }\n finalizedState = finalizeFunc(remainder.slice(), remainderLen, processedLen, stateCloneFunc(intermediateState), outputBinLen);\n for (i = 1; i < numRounds; i += 1) {\n if ((8 & SUPPORTED_ALGS) !== 0 && isSHAKE === true && outputBinLen % 32 !== 0) {\n finalizedState[finalizedState.length - 1] &= 16777215 >>> 24 - outputBinLen % 32\n }\n finalizedState = finalizeFunc(finalizedState, outputBinLen, 0, getNewState(shaVariant), outputBinLen)\n }\n return formatFunc(finalizedState)\n };\n this.getHMAC = function(format, options) {\n var formatFunc, firstHash, outputOptions, finalizedState;\n if (false === hmacKeySet) {\n throw new Error(\"Cannot call getHMAC without first setting HMAC key\")\n }\n outputOptions = getOutputOpts(options);\n switch (format) {\n case \"HEX\":\n formatFunc = function(binarray) {\n return packed2hex(binarray, outputBinLen, bigEndianMod, outputOptions)\n };\n break;\n case \"B64\":\n formatFunc = function(binarray) {\n return packed2b64(binarray, outputBinLen, bigEndianMod, outputOptions)\n };\n break;\n case \"BYTES\":\n formatFunc = function(binarray) {\n return packed2bytes(binarray, outputBinLen, bigEndianMod)\n };\n break;\n case \"ARRAYBUFFER\":\n try {\n formatFunc = new ArrayBuffer(0)\n } catch (ignore) {\n throw new Error(\"ARRAYBUFFER not supported by this environment\")\n }\n formatFunc = function(binarray) {\n return packed2arraybuffer(binarray, outputBinLen, bigEndianMod)\n };\n break;\n default:\n throw new Error(\"outputFormat must be HEX, B64, BYTES, or ARRAYBUFFER\")\n }\n firstHash = finalizeFunc(remainder.slice(), remainderLen, processedLen, stateCloneFunc(intermediateState), outputBinLen);\n finalizedState = roundFunc(keyWithOPad, getNewState(shaVariant));\n finalizedState = finalizeFunc(firstHash, outputBinLen, variantBlockSize, finalizedState, outputBinLen);\n return formatFunc(finalizedState)\n }\n };\n if (\"function\" === typeof define && define[\"amd\"]) {\n define(function() {\n return jsSHA\n })\n } else if (\"undefined\" !== typeof exports) {\n if (\"undefined\" !== typeof module && module[\"exports\"]) {\n module[\"exports\"] = jsSHA;\n exports = jsSHA\n } else {\n exports = jsSHA\n }\n } else {\n global[\"jsSHA\"] = jsSHA\n }\n})(this);\n(function(global) {\n \"use strict\";\n\n function definition(path, Failure, iterate, isObject) {\n var settings;\n demand.on(\"postConfigure:\" + path, function(options) {\n if (isObject(options)) {\n settings = options\n }\n }).on(\"postRequest\", function(dependency) {\n var options, sha, hash;\n if (options = isEnabled(dependency.path)) {\n try {\n sha = new global.jsSHA(options.type, \"TEXT\");\n sha.update(dependency.source);\n if ((hash = sha.getHash(\"B64\")) !== options.hash) {\n dependency.dfd.reject(new Failure('hash mismatch, should be \"' + options.hash + '\" but is \"' + hash + '\" (sri)', dependency.id))\n }\n } catch (error) {\n dependency.dfd.reject(new Failure(\"unsupported hashing algorithm (sri)\", dependency.id))\n }\n }\n });\n\n function isEnabled(path) {\n var match;\n iterate(settings, function(key, value) {\n if (key === path) {\n match = value;\n return false\n }\n });\n return match || false\n }\n return true\n }\n provide([\"path\", \"/demand/failure\", \"/demand/function/iterate\", \"/demand/validator/isObject\"], definition)\n})(this);"]} \ 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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K,EAAA,GAAA,YAAA,IAAA1K,EAAA0K,EAAA,GAAA,YAAA,IAAA1K,EAAA0K,EAAA,GAAA,YAAA,IAAA1K,EAAA0K,EAAA,IAAA,YAAA,IAAA1K,EAAA0K,EAAA,IAAA,YAAA,IAAA1K,EAAA0K,EAAA,IAAA,YAAA,IAAA1K,EAAA0K,EAAA,IAAA,WAAA,IAAA1K,EAAA0K,EAAA,IAAA,WAAA,IAAA1K,EAAA0K,EAAA,IAAA,YAAA,IAAA1K,EAAA0K,EAAA,IAAA,YAAA,IAAA1K,EAAA0K,EAAA,IAAA,WAAA,IAAA1K,EAAA0K,EAAA,IAAA,YAAA,IAAA1K,EAAA0K,EAAA,IAAA,YAAA,IAAA1K,EAAA0K,EAAA,IAAA,YAAA,IAAA1K,EAAA0K,EAAA,IAAA,YAAA,IAAA1K,EAAA0K,EAAA,IAAA,YAAA,IAAA1K,EAAA0K,EAAA,IAAA,YAAA,IAAA1K,EAAA0K,EAAA,IAAA,YAAA,IAAA1K,EAAA0K,EAAA,IAAA,WAAA,IAAA1K,EAAA0K,EAAA,IAAA,YAAA,IAAA1K,EAAA0K,EAAA,IAAA,YAAA,IAAA1K,EAAA0K,EAAA,IAAA,YAAA,IAAA1K,EAAA0K,EAAA,IAAA,YAAA,IAAA1K,EAAA0K,EAAA,IAAA,YAAA,IAAA1K,EAAA0K,EAAA,IAAA,WAAA,IAAA1K,EAAA0K,EAAA,IAAA,YAAA,IAAA1K,EAAA0K,EAAA,IAAA,YAAA,IAAA1K,EAAA0K,EAAA,IAAA,YAAA,IAAA1K,EAAA0K,EAAA,IAAA,YAAA,IAAA1K,EAAA0K,EAAA,IAAA,YAAA,IAAA1K,EAAA0K,EAAA,IAAA,YAAA,IAAA1K,EAAA0K,EAAA,IAAA,YAAA,IAAA1K,EAAA0K,EAAA,IAAA,WAAA,IAAA1K,EAAA0K,EAAA,IAAA,YAAA,IAAA1K,EAAA0K,EAAA,IAAA,YAAA,IAAA1K,EAAA0K,EAAA,IAAA,YAAA,IAAA1K,EAAA0K,EAAA,IAAA,WAAA,IAAA1K,EAAA0K,EAAA,IAAA,YAAA,IAAA1K,EAAA0K,EAAA,IAAA,YAAA,IAAA1K,EAAA0K,EAAA,IAAA,YAAA,IAAA1K,EAAA0K,EAAA,IAAA,WAAA,IAAA1K,EAAA0K,EAAA,IAAA,YAAA,IAAA1K,EAAA0K,EAAA,IAAA,YAAA,IAAA1K,EAAA0K,EAAA,IAAA,YAAA,IAAA1K,EAAA0K,EAAA,IAAA,YAAA,IAAA1K,EAAA0K,EAAA,IAAA,YAAA,IAAA1K,EAAA0K,EAAA,IAAA,YAAA,IAAA1K,EAAA0K,EAAA,IAAA,YAAA,IAAA1K,EAAA0K,EAAA,IAAA,YAAA,IAAA1K,EAAA0K,EAAA,IAAA,YAAA,IAAA1K,EAAA0K,EAAA,IAAA,YAAA,IAAA1K,EAAA0K,EAAA,IAAA,YAAA,IAAA1K,EAAA0K,EAAA,IAAA,WAAA,IAAA1K,EAAA0K,EAAA,IAAA,WAAA,IAAA1K,EAAA0K,EAAA,IAAA,YAAA,IAAA1K,EAAA0K,EAAA,IAAA,YAAA,IAAA1K,EAAA0K,EAAA,IAAA,YAAA,IAAA1K,EAAA,WAAA,YAAA,IAAAA,EAAA,WAAA,WAAA,IAAAA,EAAA,WAAA,YAAA,IAAAA,EAAA,WAAA,YAAA,IAAAA,EAAA,UAAA,YAAA,IAAAA,EAAA,UAAA,YAAA,IAAAA,EAAA,UAAA,YAAA,IAAAA,EAAA,UAAA,WAAA,IAAAA,EAAA,UAAA,WAAA,IAAAA,EAAA,UAAA,YAAA,IAAAA,EAAA,WAAA,WAAA,IAAAA,EAAA,WAAA,YAAA,IAAAA,EAAA,WAAA,YAAA,IAAAA,EAAA,WAAA,YAAA,IAAAA,EAAA,WAAA,WAAA,IAAAA,EAAA,WAAA,eAEA,IAAA,EAAAF,kBACAoL,GAAA,IAAAlL,EAAA,EAAA,GAAA,IAAAA,EAAA,EAAA,OAAA,IAAAA,EAAA,WAAA,OAAA,IAAAA,EAAA,WAAA,YAAA,IAAAA,EAAA,EAAA,OAAA,IAAAA,EAAA,EAAA,YAAA,IAAAA,EAAA,WAAA,YAAA,IAAAA,EAAA,WAAA,OAAA,IAAAA,EAAA,EAAA,KAAA,IAAAA,EAAA,EAAA,KAAA,IAAAA,EAAA,EAAA,YAAA,IAAAA,EAAA,EAAA,YAAA,IAAAA,EAAA,EAAA,YAAA,IAAAA,EAAA,WAAA,KAAA,IAAAA,EAAA,WAAA,OAAA,IAAAA,EAAA,WAAA,OAAA,IAAAA,EAAA,WAAA,OAAA,IAAAA,EAAA,WAAA,KAAA,IAAAA,EAAA,EAAA,OAAA,IAAAA,EAAA,WAAA,YAAA,IAAAA,EAAA,WAAA,YAAA,IAAAA,EAAA,WAAA,OAAA,IAAAA,EAAA,EAAA,YAAA,IAAAA,EAAA,WAAA,aACAiL,IACA,EAAA,GAAA,EAAA,GAAA,KACA,EAAA,GAAA,GAAA,GAAA,IACA,GAAA,EAAA,GAAA,GAAA,KACA,GAAA,GAAA,GAAA,GAAA,KACA,GAAA,GAAA,GAAA,EAAA,MAGAE,EAAA,SAAApD,EAAAqD,EAAAjJ,GACA,IAAAkJ,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAA,EACA7C,KACA8C,EAAA,EACAC,EAAAhE,EACAiE,GAAA,EACAC,KACAC,KACAC,GAAA,EACAC,GAAA,EACA3L,GAAA,EACA4L,EAAAlK,MACAO,EAAA2J,EAAAC,UAAA,OACAvC,EAAAsC,EAAAtC,WAAA,EACA,GAAAA,IAAA5G,SAAA4G,EAAA,KAAA,EAAAA,EAAA,MAAA,IAAAxH,MAAA,iCACA,GAAA,UAAAwJ,GAAA,IAAA,EAAAjM,gBACA0L,EAAA,IACAC,EAAAtD,EACAuD,EAAA3C,EACAwC,EAAA,IACAI,EAAA,SAAAf,GACA,OAAAA,EAAApB,cAEA,GAAA,IAAAuC,EAAA7D,YAAA,OAAA,IAAA,IAAA,EAAApI,gBAUA,GATA2L,EAAA,SAAArD,EAAAC,GACA,OAAAoB,EAAArB,EAAAC,EAAA0D,IAEAL,EAAA,SAAA1C,EAAAC,EAAAC,EAAAb,EAAAc,GACA,OA/GA,SAAAH,EAAAC,EAAAC,EAAAb,EAAAN,EAAAoB,GACA,IAAAxI,EAAAyI,EAAAC,EAAAtH,EAAAwK,EAAAjD,EACA,GAAA,YAAAvB,GAAA,YAAAA,GAAA,IAAA,EAAAjI,gBAGA,CAAA,GAAA,YAAAiI,GAAA,YAAAA,GAAA,IAAA,EAAAjI,gBAGA,MAAA,IAAAyC,MAAA,4CAFA8G,EAAA,IAAAJ,EAAA,MAAA,IAAA,GACAsD,EAAA,QAJAlD,EAAA,IAAAJ,EAAA,KAAA,GAAA,GACAsD,EAAA,GAKA,KAAAvD,EAAAhI,QAAAqI,GAAAL,EAAA1F,KAAA,GAMA,IALA0F,EAAAC,IAAA,IAAA,KAAA,GAAAA,EAAA,GACAK,EAAAL,EAAAC,EACAF,EAAAK,GAAA,WAAAC,EACAN,EAAAK,EAAA,GAAAC,EAAAC,EAAA,EACAH,EAAAJ,EAAAhI,OACAL,EAAA,EAAAA,EAAAyI,EAAAzI,GAAA4L,EAAAlE,EAAAoB,EAAAT,EAAAQ,MAAA7I,EAAAA,EAAA4L,GAAAlE,EAAAN,GACA,GAAA,YAAAA,GAAA,IAAA,EAAAjI,gBAAAiC,GAAAsG,EAAA,GAAAA,EAAA,GAAAA,EAAA,GAAAA,EAAA,GAAAA,EAAA,GAAAA,EAAA,GAAAA,EAAA,SACA,GAAA,YAAAN,GAAA,IAAA,EAAAjI,gBAAAiC,EAAAsG,OACA,GAAA,YAAAN,GAAA,IAAA,EAAAjI,gBAAAiC,GAAAsG,EAAA,GAAAjI,UAAAiI,EAAA,GAAAhI,SAAAgI,EAAA,GAAAjI,UAAAiI,EAAA,GAAAhI,SAAAgI,EAAA,GAAAjI,UAAAiI,EAAA,GAAAhI,SAAAgI,EAAA,GAAAjI,UAAAiI,EAAA,GAAAhI,SAAAgI,EAAA,GAAAjI,UAAAiI,EAAA,GAAAhI,SAAAgI,EAAA,GAAAjI,UAAAiI,EAAA,GAAAhI,cACA,CAAA,GAAA,YAAA0H,GAAA,IAAA,EAAAjI,gBACA,MAAA,IAAAyC,MAAA,4CADAR,GAAAsG,EAAA,GAAAjI,UAAAiI,EAAA,GAAAhI,SAAAgI,EAAA,GAAAjI,UAAAiI,EAAA,GAAAhI,SAAAgI,EAAA,GAAAjI,UAAAiI,EAAA,GAAAhI,SAAAgI,EAAA,GAAAjI,UAAAiI,EAAA,GAAAhI,SAAAgI,EAAA,GAAAjI,UAAAiI,EAAA,GAAAhI,SAAAgI,EAAA,GAAAjI,UAAAiI,EAAA,GAAAhI,SAAAgI,EAAA,GAAAjI,UAAAiI,EAAA,GAAAhI,SAAAgI,EAAA,GAAAjI,UAAAiI,EAAA,GAAAhI,UAEA,OAAA0B,EA0FAyK,CAAAxD,EAAAC,EAAAC,EAAAb,EAAA0D,IAEAJ,EAAA,SAAAf,GACA,OAAAA,EAAApB,SAEA,YAAAuC,GAAA,IAAA,EAAAjM,gBACA0L,EAAA,IACAD,EAAA,SACA,GAAA,YAAAQ,GAAA,IAAA,EAAAjM,gBACA0L,EAAA,IACAD,EAAA,SACA,GAAA,YAAAQ,GAAA,IAAA,EAAAjM,gBACA0L,EAAA,KACAD,EAAA,QACA,CAAA,GAAA,YAAAQ,GAAA,IAAA,EAAAjM,gBAGA,MAAA,IAAAyC,MAAA,uCAFAiJ,EAAA,KACAD,EAAA,QAEA,CAAA,GAAA,IAAAQ,EAAA7D,YAAA,QAAA,IAAA,IAAA6D,EAAA7D,YAAA,QAAA,IAAA,IAAA,EAAApI,gBAiCA,MAAA,IAAAyC,MAAA,uCA1BA,GANAqJ,EAAA,EACAH,EAAAd,EACAgB,EAAA,SAAAf,GACA,OA1RA,SAAAA,GACA,IAAAjK,EAAA8L,KACA,IAAA9L,EAAA,EAAAA,EAAA,EAAAA,GAAA,EAAA8L,EAAA9L,GAAAiK,EAAAjK,GAAA6I,QACA,OAAAiD,EAuRAC,CAAA9B,IAEAnK,EAAA,EACA,aAAAsL,EACAP,EAAA,KACAD,EAAA,SACA,GAAA,aAAAQ,EACAP,EAAA,KACAD,EAAA,SACA,GAAA,aAAAQ,EACAP,EAAA,IACAD,EAAA,SACA,GAAA,aAAAQ,EACAP,EAAA,IACAD,EAAA,SACA,GAAA,aAAAQ,EACAP,EAAA,KACAD,GAAA,EACAK,EAAA,GACAQ,GAAA,MACA,CAAA,GAAA,aAAAL,EAKA,MAAA,IAAAxJ,MAAA,uCAJAiJ,EAAA,KACAD,GAAA,EACAK,EAAA,GACAQ,GAAA,EAEAV,EAAA,SAAA1C,EAAAC,EAAAC,EAAA0B,EAAAzB,GACA,OApHA,SAAAH,EAAAC,EAAAC,EAAA0B,EAAA+B,EAAAf,EAAAzC,GACA,IAAAxI,EAAAiM,EAAA7K,KACAwK,EAAAI,IAAA,EACAE,EAAA,EACAC,EAAA7D,IAAA,EACA,IAAAtI,EAAA,EAAAA,EAAAmM,GAAA7D,GAAA0D,EAAAhM,GAAA4L,EACA3B,EAAAD,EAAA3B,EAAAQ,MAAA7I,EAAAA,EAAA4L,GAAA3B,GACA3B,GAAA0D,EAIA,IAFA3D,EAAAA,EAAAQ,MAAA7I,GACAsI,GAAA0D,EACA3D,EAAAhI,OAAAuL,GAAAvD,EAAA1F,KAAA,GAIA,IAHA0F,GAAArI,EAAAsI,IAAA,IAAA,IAAA2C,GAAAjL,EAAA,EAAA,EACAqI,EAAAuD,EAAA,IAAA,WACA3B,EAAAD,EAAA3B,EAAA4B,GACA,GAAA7I,EAAAf,OAAAmI,IACAyD,EAAAhC,EAAAiC,EAAA,GAAAA,EAAA,EAAA,GACA9K,EAAAuB,KAAAsJ,EAAAvM,YACA,GAAA0B,EAAAf,QAAAmI,KACApH,EAAAuB,KAAAsJ,EAAAxM,WACA,GAAA,IAAAyM,GAAA,GAAAF,GAAAhC,EAAA,KAAAC,GAEA,OAAA7I,EA8FAgL,CAAA/D,EAAAC,EAAAC,EAAA0B,EAAAY,EAAAI,EAAAzC,IAGAmC,EAAA9I,EAAA4I,EAAA1I,EAAAjC,GACA4K,EAAAvD,EAAAiE,GACA5L,KAAA6M,WAAA,SAAAC,EAAA7B,EAAAjJ,GACA,IAAA+K,EAAAC,EAAAC,EAAAC,EAAA1M,EAAA2M,EACA,IAAA,IAAAtB,EAAA,MAAA,IAAAzJ,MAAA,wBACA,IAAA,IAAA4J,EAAA,MAAA,IAAA5J,MAAA,4CACA,IAAA,IAAA6J,GAAA,IAAA,EAAAtM,gBAAA,MAAA,IAAAyC,MAAA,mCAMA,GALA4K,GAAAD,EAAA1K,EAAA4I,EAAA1I,GAAAP,OACAmK,UAAA,OAAA7L,EADA+B,CACAyK,IACAzJ,OACA4J,EAAAF,EAAA3J,MACA+J,GAAAD,EAAA7B,IAAA,GAAA,EAAA,EACA6B,EAAAF,EAAA,EAAA,CAEA,IADAC,EAAA1B,EAAA0B,EAAAD,EAAA,EAAArF,EAAAiE,GAAAR,GACA6B,EAAApM,QAAAsM,GAAAF,EAAA9J,KAAA,GACA8J,EAAAE,IAAA,gBACA,GAAAD,EAAAF,EAAA,EAAA,CACA,KAAAC,EAAApM,QAAAsM,GAAAF,EAAA9J,KAAA,GACA8J,EAAAE,IAAA,WAEA,IAAA3M,EAAA,EAAAA,GAAA2M,EAAA3M,GAAA,EACAsL,EAAAtL,GAAA,UAAAyM,EAAAzM,GACAuL,EAAAvL,GAAA,WAAAyM,EAAAzM,GAEA0K,EAAAI,EAAAQ,EAAAZ,GACAQ,EAAAL,EACAQ,GAAA,GAEA7L,KAAAoN,OAAA,SAAAC,GACA,IAAAN,EAAAO,EAAAC,EAAAC,EAAAhN,EAAAiN,EAAA,EACAC,EAAArC,IAAA,EAKA,IAJAiC,GAAAP,EAAA5B,EAAAkC,EAAAxE,EAAA8C,IACAtI,OACAmK,EAAAT,EAAA3J,MACAmK,EAAAD,IAAA,EACA9M,EAAA,EAAAA,EAAA+M,EAAA/M,GAAAkN,EACAD,EAAApC,GAAAiC,IACApC,EAAAI,EAAAkC,EAAAnE,MAAA7I,EAAAA,EAAAkN,GAAAxC,GACAuC,GAAApC,GAEAK,GAAA+B,EACA5E,EAAA2E,EAAAnE,MAAAoE,IAAA,GACA9B,EAAA2B,EAAAjC,EACAW,GAAA,GAEAhM,KAAA2N,QAAA,SAAArL,EAAAN,GACA,IAAA4L,EAAApN,EAAAyB,EAAA4L,EACA,IAAA,IAAAhC,EAAA,MAAA,IAAAzJ,MAAA,8CAEA,GADAH,EAAAF,EAAAC,IACA,IAAAiK,GAAA,IAAA,EAAAtM,gBAAA,CACA,IAAA,IAAAsC,EAAAC,SAAA,MAAA,IAAAE,MAAA,yCACAgJ,EAAAnJ,EAAAC,SAEA,OAAAI,GACA,IAAA,MACAsL,EAAA,SAAAE,GACA,OAAA3N,EAAA2N,EAAA1C,EAAA9K,EAAA2B,IAEA,MACA,IAAA,MACA2L,EAAA,SAAAE,GACA,OAAA7M,EAAA6M,EAAA1C,EAAA9K,EAAA2B,IAEA,MACA,IAAA,QACA2L,EAAA,SAAAE,GACA,OAAAvM,EAAAuM,EAAA1C,EAAA9K,IAEA,MACA,IAAA,cACA,IACAE,EAAA,IAAAqB,YAAA,GACA,MAAAwC,GACA,MAAA,IAAAjC,MAAA,iDAEAwL,EAAA,SAAAE,GACA,OAAApM,EAAAoM,EAAA1C,EAAA9K,IAEA,MACA,QACA,MAAA,IAAA8B,MAAA,kDAGA,IADAyL,EAAAtC,EAAA1C,EAAAQ,QAAAsC,EAAAD,EAAAF,EAAAN,GAAAE,GACA5K,EAAA,EAAAA,EAAAoJ,EAAApJ,GAAA,EACA,IAAA,EAAAb,kBAAA,IAAAsM,GAAAb,EAAA,IAAA,IAAAyC,EAAAA,EAAAhN,OAAA,IAAA,WAAA,GAAAuK,EAAA,IACAyC,EAAAtC,EAAAsC,EAAAzC,EAAA,EAAAzD,EAAAiE,GAAAR,GAEA,OAAAwC,EAAAC,IAEA7N,KAAA+N,QAAA,SAAAzL,EAAAN,GACA,IAAA4L,EAAAI,EAAA/L,EAAA4L,EACA,IAAA,IAAAhC,EAAA,MAAA,IAAAzJ,MAAA,sDAEA,OADAH,EAAAF,EAAAC,GACAM,GACA,IAAA,MACAsL,EAAA,SAAAE,GACA,OAAA3N,EAAA2N,EAAA1C,EAAA9K,EAAA2B,IAEA,MACA,IAAA,MACA2L,EAAA,SAAAE,GACA,OAAA7M,EAAA6M,EAAA1C,EAAA9K,EAAA2B,IAEA,MACA,IAAA,QACA2L,EAAA,SAAAE,GACA,OAAAvM,EAAAuM,EAAA1C,EAAA9K,IAEA,MACA,IAAA,cACA,IACAsN,EAAA,IAAA/L,YAAA,GACA,MAAAwC,GACA,MAAA,IAAAjC,MAAA,iDAEAwL,EAAA,SAAAE,GACA,OAAApM,EAAAoM,EAAA1C,EAAA9K,IAEA,MACA,QACA,MAAA,IAAA8B,MAAA,wDAIA,OAFA4L,EAAAzC,EAAA1C,EAAAQ,QAAAsC,EAAAD,EAAAF,EAAAN,GAAAE,GACAyC,EAAAvC,EAAAS,EAAApE,EAAAiE,IACAgC,EAAAC,EAAAtC,EAAAyC,EAAA5C,EAAAC,EAAAwC,EAAAzC,MAGA,mBAAA6C,QAAAA,OAAAC,IAAAD,OAAA,WACA,OAAAjD,IAEA,oBAAAmD,QACA,oBAAAC,QAAAA,OAAAD,SACAC,OAAAD,QAAAnD,EACAmD,QAAAnD,GACAmD,QAAAnD,EACApL,EAAAoL,MAAAA,EAt0BA,CAu0BAhL,MACA,SAAAJ,GACA,aA6BAyO,SAAA,OAAA,kBAAA,2BAAA,8BA3BA,SAAAC,EAAAC,EAAAC,EAAAC,GAWA,IAAAC,EAcA,OAbAC,OAAAC,GAAA,iBAAAN,EAAA,SAAAtM,GACAyM,EAAAzM,KAAA0M,EAAA1M,KAEA4M,GAAA,cAAA,SAAAC,GACA,IAAA7M,EAAA8M,EAAAC,EAfAT,EACAU,EAeA,GAhBAV,EAgBAO,EAAAP,KAdAE,EAAAE,EAAA,SAAA5B,EAAA1J,GACA,GAAA0J,IAAAwB,EAEA,OADAU,EAAA5L,GACA,IAWApB,EARAgN,IAAA,EAQA,KACAF,EAAA,IAAAlP,EAAAoL,MAAAhJ,EAAAiN,KAAA,SACA7B,OAAAyB,EAAAK,SACAH,EAAAD,EAAAnB,QAAA,UAAA3L,EAAA+M,MAAAF,EAAAM,IAAAC,OAAA,IAAAb,EAAA,6BAAAvM,EAAA+M,KAAA,aAAAA,EAAA,UAAAF,EAAAQ,KACA,MAAAC,GACAT,EAAAM,IAAAC,OAAA,IAAAb,EAAA,sCAAAM,EAAAQ,SAGA,IA5BA,CA+BArP","file":"sri.js","sourcesContent":["/**! Qoopido.demand 5.0.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\ttmpInt = 0;\n\t\t\tfor (j = 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}\n\t\t\tprocessedLen += 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