!function(t,e){"use strict";function n(t,e){var n=t.length;return~e&&n>e&&(n=e),n}function r(t,e){b.setTimeout(t,e||0)}function a(t){r(function(){throw t})}function o(t){return/(^(https?:)?\/\/)|(\.(js|php)$)/.test(t)&&!/(\n|\r)/m.test(t)}function s(t){return t&&t.constructor&&t.call&&t.apply}function i(t){var e;return(e=Array.isArray)?e(t)?t:[t]:T.concat(t)}function c(t){return T.slice.call(t)}function l(){var t=c(arguments);return function(){return j.apply(j,t.concat(c(arguments)))}}function u(t,e){var n=this;if((!n.readyState||/^c|loade/.test(n.readyState))&&!n.loadStatus){if(n.onload=n.onreadystatechange=n.onerror=null,n.loadStatus=!0,e&&"error"===e.type){var r=n.src||"Resource",o=" fails to load.",s={name:"ConnectionError",source:r,evt:e,stack:r+o,message:o,toString:function(){return this.source+this.message}};return a(s),void t.reject(s)}t.resolve()}}function f(t,e){var n="script",r=x.createElement(n),a=x.getElementsByTagName(n),o=a[a.length-1];if(r.async=!0,r.src=t,e){r.loadStatus=!1;var s=l(u,r,e);r.onload=r.onreadystatechange=r.onerror=s;var i=o;i=i||document.body.firstChild,i.parentNode.insertBefore(r,i)}}function d(t,e){w(function(){try{t.call(null,e)}catch(n){e.reject(n)}})}function h(t,e){if(!s(t)){if(o(t))return void f(t,e);if(C)return t=m+encodeURIComponent(t),void f(t,e)}var n=s(t)?t:Function(t);if(!e.async){var r=n;n=function(t){try{r.call(null),t.resolve()}catch(e){t.reject(e)}}}d(n,e)}function v(t,e){var n=this;n.tasks=[],n.callbacks=[],n.errors=[],n.data={},n.nextTask=0,n.nextCallback=0,n.until=-1,n.digest=!1,n.add(t).whenDone(e)}function p(){var t=this;if(t.digest)return void r(l(p,t),50/3);t.digest=!0;for(var e,a,o=t.nextCallback;oe.tasks.length?e:(e.callbacks.push(t),e.nextTask===e.tasks.length&&e.resolve(),e):e},v.prototype.add=function(t,e){var n=this;if(!t)return n;if(e&&n[e]){var r=new Error("Callback value name: "+e+" is registered");a(r),n.errors.push(r)}t=i(t);for(var o,s={resolve:l(n.resolve,n,e),reject:n.reject,async:!!e},c=0;c