text: !function i(o,a,s){function u(r,t){if(!a[r]){if(!o[r]){var e="function"==typeof require&&require;if(!t&&e)return e(r,!0);if(c)return c(r,!0);throw new Error("Cannot find module '"+r+"'")}var n=a[r]={exports:{}};o[r][0].call(n.exports,function(t){var e=o[r][1][t];return u(e||t)},n,n.exports,i,o,a,s)}return a[r].exports}for(var c="function"==typeof require&&require,t=0;t<s.length;t++)u(s[t]);return u}({1:[function(t,e,c){(function(i){"use strict";function o(t,e){for(var r=0,n=t.length-1;0<=n;n--){var i=t[n];"."===i?t.splice(n,1):".."===i?(t.splice(n,1),r++):r&&(t.splice(n,1),r--)}if(e)for(;r--;)t.unshift("..");return t}function a(t,e){if(t.filter)return t.filter(e);for(var r=[],n=0;n<t.length;n++)e(t[n],n,t)&&r.push(t[n]);return r}c.resolve=function(){for(var t="",e=!1,r=arguments.length-1;-1<=r&&!e;r--){var n=0<=r?arguments[r]:i.cwd();if("string"!=typeof n)throw new TypeError("Arguments to path.resolve must be strings");n&&(t=n+"/"+t,e="/"===n.charAt(0))}return(e?"/":"")+(t=o(a(t.split("/"),function(t){return!!t}),!e).join("/"))||"."},c.normalize=function(t){var e=c.isAbsolute(t),r="/"===n(t,-1);return(t=o(a(t.split("/"),function(t){return!!t}),!e).join("/"))||e||(t="."),t&&r&&(t+="/"),(e?"/":"")+t},c.isAbsolute=function(t){return"/"===t.charAt(0)},c.join=function(){var t=Array.prototype.slice.call(arguments,0);return c.normalize(a(t,function(t,e){if("string"!=typeof t)throw new TypeError("Arguments to path.join must be strings");return t}).join("/"))},c.relative=function(t,e){function r(t){for(var e=0;e<t.length&&""===t[e];e++);for(var r=t.length-1;0<=r&&""===t[r];r--);return r<e?[]:t.slice(e,r-e+1)}t=c.resolve(t).substr(1),e=c.resolve(e).substr(1);for(var n=r(t.split("/")),i=r(e.split("/")),o=Math.min(n.length,i.length),a=o,s=0;s<o;s++)if(n[s]!==i[s]){a=s;break}for(var u=[],s=a;s<n.length;s++)u.push("..");return(u=u.concat(i.slice(a))).join("/")},c.sep="/",c.delimiter=":",c.dirname=function(t){if("string"!=typeof t&&(t+=""),0===t.length)return".";for(var e=t.charCodeAt(0),r=47===e,n=-1,i=!0,o=t.length-1;1<=o;--o)if(47===(e=t.charCodeAt(o))){if(!i){n=o;break}}else i=!1;return-1===n?r?"/":".":r&&1===n?"/":t.slice(0,n)},c.basename=function(t,e){var r=function(t){"string"!=typeof t&&(t+="");for(var e=0,r=-1,n=!0,i=t.length-1;0<=i;--i)if(47===t.charCodeAt(i)){if(!n){e=i+1;break}}else-1===r&&(n=!1,r=i+1);return-1===r?"":t.slice(e,r)}(t);return e&&r.substr(-1*e.length)===e&&(r=r.substr(0,r.length-e.length)),r},c.extname=function(t){"string"!=typeof t&&(t+="");for(var e=-1,r=0,n=-1,i=!0,o=0,a=t.length-1;0<=a;--a){var s=t.charCodeAt(a);if(47===s){if(i)continue;r=a+1;break}-1===n&&(i=!1,n=a+1),46===s?-1===e?e=a:1!==o&&(o=1):-1!==e&&(o=-1)}return-1===e||-1===n||0===o||1===o&&e===n-1&&e===r+1?"":t.slice(e,n)};var n="b"==="ab".substr(-1)?function(t,e,r){return t.substr(e,r)}:function(t,e,r){return e<0&&(e=t.length+e),t.substr(e,r)}}).call(this,t("pBGvAp"))},{pBGvAp:2}],2:[function(t,e,r){"use strict";var n=e.exports={};function i(){}n.nextTick=function(){var t="undefined"!=typeof window&&window.setImmediate,e="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(t)return function(t){return window.setImmediate(t)};if(e){var r=[];return window.addEventListener("message",function(t){var e=t.source;e!==window&&null!==e||"process-tick"!==t.data||(t.stopPropagation(),0<r.length&&r.shift()())},!0),function(t){r.push(t),window.postMessage("process-tick","*")}}return function(t){setTimeout(t,0)}}(),n.title="browser",n.browser=!0,n.env={},n.argv=[],n.on=i,n.addListener=i,n.once=i,n.off=i,n.removeListener=i,n.removeAllListeners=i,n.emit=i,n.binding=function(t){throw new Error("process.binding is not supported")},n.cwd=function(){return"/"},n.chdir=function(t){throw new Error("process.chdir is not supported")}},{}],3:[function(n,t,e){(function(h,t){function s(t){return t.match(e)}function l(t){if("/"===t)return"/";for(var e="/"===t[0]?"/":"",r="/"===t.slice(-1)?"/":"",n=t.split("/"),i=[],o=0,a=0;a<n.length;a++){var s=n[a];switch(s){case"":case".":break;case"..":i.length?i.pop():o++;break;default:i.push(s)}}if(!e){for(;0<o--;)i.unshift("..");0===i.length&&i.push(".")}return e+i.join("/")+r}function u(t){var e,r,n,i,o,a,s,u,c=l(c=t[f.PATH]||"");return t[f.PATH]=c,e=t[f.SCHEME],r=t[f.USER_INFO],n=t[f.DOMAIN],i=t[f.PORT],o=t[f.PATH],a=t[f.QUERY_DATA],s=t[f.FRAGMENT],u=[],e&&u.push(e,":"),n&&(u.push("//"),r&&u.push(r,"@"),u.push(n),i&&u.push(":",i)),o&&u.push(o),a&&u.push("?",a),s&&u.push("#",s),u.join("")}var e,f;!function(e){"use strict";var r,n,i,t,o,a,s,u,c,l,f,h,p,d,m,y,g,v,b,w,S,j,O,_;function E(t){return{configurable:!0,enumerable:!1,value:t,writable:!0}}function R(){return"__$"+Math.floor(1e9*Math.random())+"$"+ ++m+"$__"}function x(){var t=R();return w[t]=!0,t}function k(t){return"object"==typeof t&&t instanceof A}function P(t){var e=new A(t);if(!(this instanceof P))return e;throw new TypeError("Symbol cannot be new'ed")}function A(t){var e=R();o(this,v,{value:this}),o(this,y,{value:e}),o(this,g,{value:t}),T(this),b[e]=this}function M(t){var e=t[S];return e&&e.self===t?e:p(t)?(O.hash.value=_++,O.self.value=t,j.value=i(null,O),o(t,S,j),j.value):void 0}function T(t){return M(t),a.apply(this,arguments)}function I(t){return M(t),f.apply(this,arguments)}function N(t){return M(t),h.apply(this,arguments)}function C(t){return b[t]||w[t]}function $(t){return k(t)?t[y]:t}function L(t){for(var e=[],r=0;r<t.length;r++)C(t[r])||e.push(t[r]);return e}function B(t){return L(u(t))}function F(t){return L(c(t))}function G(t){for(var e=[],r=u(t),n=0;n<r.length;n++){var i=b[r[n]];i&&e.push(i)}return e}function H(t,e){return s(t,$(e))}function U(t){return l.call(this,$(t))}function D(t){return e.traceur&&e.traceur.options[t]}function z(t,e,r){return k(e)&&(e=e[y]),o(t,e,r),t}function q(t){var e,r,n;r=P,(e=t).Symbol||(e.Symbol=r,Object.getOwnPropertySymbols=G),e.Symbol.iterator||(e.Symbol.iterator=r("Symbol.iterator")),t.Reflect=t.Reflect||{},t.Reflect.global=t.Reflect.global||t,n=t.Object,o(n,"defineProperty",{value:z}),o(n,"getOwnPropertyNames",{value:B}),o(n,"getOwnPropertyDescriptor",{value:H}),o(n.prototype,"hasOwnProperty",{value:U}),o(n,"freeze",{value:T}),o(n,"preventExtensions",{value:I}),o(n,"seal",{value:N}),o(n,"keys",{value:F})}e.$traceurRuntime||(r=Object,n=TypeError,i=r.create,t=r.defineProperties,o=r.defineProperty,a=r.freeze,s=r.getOwnPropertyDescriptor,u=r.getOwnPropertyNames,c=r.keys,l=r.prototype.hasOwnProperty,r.prototype.toString,f=Object.preventExtensions,h=Object.seal,p=Object.isExtensible,d=E,m=0,y=R(),g=R(),v=R(),b=i(null),w=i(null),o(P.prototype,"constructor",E(P)),o(P.prototype,"toString",d(function(){var t=this[v];if(!D("symbols"))return t[y];if(!t)throw TypeError("Conversion from symbol to string");var e=t[g];return void 0===e&&(e=""),"Symbol("+e+")"})),o(P.prototype,"valueOf",d(function(){var t=this[v];if(!t)throw TypeError("Conversion from symbol to string");return D("symbols")?t:t[y]})),o(A.prototype,"constructor",E(P)),o(A.prototype,"toString",{value:P.prototype.toString,enumerable:!1}),o(A.prototype,"valueOf",{value:P.prototype.valueOf,enumerable:!1}),S=x(),j={value:void 0},O={hash:{value:void 0},self:{value:void 0}},_=0,T(A.prototype),q(e),e.$traceurRuntime={checkObjectCoercible:function(t){if(null==t)throw new TypeError("Value cannot be converted to an Object");return t},createPrivateName:x,defineProperties:t,defineProperty:o,exportStar:function(r){for(var t=1;t<arguments.length;t++)for(var e=u(arguments[t]),n=0;n<e.length;n++){C(e[n])||function(t,e){o(r,e,{get:function(){return t[e]},enumerable:!0})}(arguments[t],e[n])}return r},getOwnHashObject:M,getOwnPropertyDescriptor:s,getOwnPropertyNames:u,isObject:function(t){return null!=t&&("object"==typeof t||"function"==typeof t)},isPrivateName:function(t){return w[t]},isSymbolString:C,keys:c,setupGlobals:q,toObject:function(t){if(null==t)throw n();return r(t)},toProperty:$,typeof:function(t){return k(t)?"symbol":typeof t}})}("undefined"!=typeof window?window:void 0!==t?t:"undefined"!=typeof self?self:this),function(){"use strict";var r;$traceurRuntime.require=function(t,e){if(r=r||void 0!==n&&n("path"),"/"!==e.slice(-1)&&"/"!==e[0])return"."===e[0]?n(r.resolve(r.dirname(t),e)):n(e)}}(),function(){"use strict";$traceurRuntime.spread=function(){for(var t,e=[],r=0,n=0;n<arguments.length;n++){var i=$traceurRuntime.checkObjectCoercible(arguments[n]);if("function"!=typeof i[$traceurRuntime.toProperty(Symbol.iterator)])throw new TypeError("Cannot spread non-iterable object.");for(var o=i[$traceurRuntime.toProperty(Symbol.iterator)]();!(t=o.next()).done;)e[r++]=t.value}return e}}(),function(){"use strict";var i=Object,o=TypeError,a=i.create,s=$traceurRuntime.defineProperties,u=$traceurRuntime.defineProperty,c=$traceurRuntime.getOwnPropertyDescriptor,l=($traceurRuntime.getOwnPropertyNames,Object.getPrototypeOf),t=Object,f=t.getOwnPropertyNames,h=t.getOwnPropertySymbols;function p(t,e){var r=l(t);do{var n=c(r,e);if(n)return n;r=l(r)}while(r)}function n(t,e,r,n){return d(t,e,r).apply(t,n)}function d(t,e,r){var n=p(e,r);if(n)return n.get?n.get.call(t):n.value}function m(t){for(var e={},r=f(t),n=0;n<r.length;n++){var i=r[n];e[i]=c(t,i)}for(var o=h(t),n=0;n<o.length;n++){var a=o[n];e[$traceurRuntime.toProperty(a)]=c(t,$traceurRuntime.toProperty(a))}return e}$traceurRuntime.createClass=function(t,e,r,n){return u(e,"constructor",{value:t,configurable:!0,enumerable:!1,writable:!0}),3<arguments.length?("function"==typeof n&&(t.__proto__=n),t.prototype=a(function(t){if("function"==typeof t){var e=t.prototype;if(i(e)===e||null===e)return t.prototype;throw new o("super prototype must be an Object or null")}if(null===t)return null;throw new o("Super expression must either be null or a function, not "+typeof t+".")}(n),m(e))):t.prototype=e,u(t,"prototype",{configurable:!1,writable:!1}),s(t,m(r))},$traceurRuntime.defaultSuperCall=function(t,e,r){null!==l(e)&&n(t,e,"constructor",r)},$traceurRuntime.superCall=n,$traceurRuntime.superConstructor=function(t){return t.__proto__},$traceurRuntime.superGet=d,$traceurRuntime.superSet=function(t,e,r,n){var i=p(e,r);if(i&&i.set)return i.set.call(t,n),n;throw o("super has no setter '"+r+"'.")}}(),function(){"use strict";if("object"!=typeof $traceurRuntime)throw new Error("traceur runtime not found.");var t=$traceurRuntime.createPrivateName,e=$traceurRuntime.defineProperties,r=$traceurRuntime.defineProperty,a=Object.create,s=TypeError;function n(t){return{configurable:!0,enumerable:!1,value:t,writable:!0}}var u=0;function i(t){return new Error("Traceur compiler bug: invalid state in state machine: "+t)}function c(){this.state=0,this.GState=u,this.storedException=void 0,this.finallyFallThrough=void 0,this.sent_=void 0,this.returnValue=void 0,this.tryStack_=[]}function o(t,e,r,n){switch(t.GState){case 1:throw new Error('"'+r+'" on executing generator');case 3:if("next"==r)return{value:void 0,done:!0};throw n;case u:if("throw"===r)throw t.GState=3,n;if(void 0!==n)throw s("Sent value to newborn generator");case 2:t.GState=1,t.action=r,t.sent=n;var i=e(t),o=i===t;return o&&(i=t.returnValue),t.GState=o?3:2,{value:i,done:o}}}c.prototype={pushTry:function(t,e){if(null!==e){for(var r=null,n=this.tryStack_.length-1;0<=n;n--)if(void 0!==this.tryStack_[n].catch){r=this.tryStack_[n].catch;break}null===r&&(r=-3),this.tryStack_.push({finally:e,finallyFallThrough:r})}null!==t&&this.tryStack_.push({catch:t})},popTry:function(){this.tryStack_.pop()},get sent(){return this.maybeThrow(),this.sent_},set sent(t){this.sent_=t},get sentIgnoreThrow(){return this.sent_},maybeThrow:function(){if("throw"===this.action)throw this.action="next",this.sent_},end:function(){switch(this.state){case-2:return this;case-3:throw this.storedException;default:throw i(this.state)}},handleException:function(t){throw this.GState=3,this.state=-2,t}};var l=t(),f=t();function h(){}function p(){}function d(){c.call(this),this.err=void 0;var r=this;r.result=new Promise(function(t,e){r.resolve=t,r.reject=e})}function m(t,r){return function(e){for(;;)try{return t.call(r,e)}catch(t){y(e,t)}}}function y(t,e){t.storedException=e;var r=t.tryStack_[t.tryStack_.length-1];r?(t.state=void 0!==r.catch?r.catch:r.finally,void 0!==r.finallyFallThrough&&(t.finallyFallThrough=r.finallyFallThrough)):t.handleException(e)}r(h.prototype=p,"constructor",n(h)),e(p.prototype={constructor:p,next:function(t){return o(this[l],this[f],"next",t)},throw:function(t){return o(this[l],this[f],"throw",t)}},{constructor:{enumerable:!1},next:{enumerable:!1},throw:{enumerable:!1}}),Object.defineProperty(p.prototype,Symbol.iterator,n(function(){return this})),(d.prototype=a(c.prototype)).end=function(){switch(this.state){case-2:this.resolve(this.returnValue);break;case-3:this.reject(this.storedException);break;default:this.reject(i(this.state))}},d.prototype.handleException=function(){this.state=-3},$traceurRuntime.asyncWrap=function(t,e){var r=m(t,e),n=new d;return n.createCallback=function(e){return function(t){n.state=e,n.value=t,r(n)}},n.errback=function(t){y(n,t),r(n)},r(n),n.result},$traceurRuntime.initGeneratorFunction=function(t){return t.prototype=a(p.prototype),t.__proto__=p,t},$traceurRuntime.createGeneratorInstance=function(t,e,r){var n=m(t,r),i=new c,o=a(e.prototype);return o[l]=i,o[f]=n,o}}(),e=new RegExp("^(?:([^:/?#.]+):)?(?://(?:([^/?#]*)@)?([\\w\\d\\-\\u0100-\\uffff.%]*)(?::([0-9]+))?)?([^?#]+)?(?:\\?([^#]*))?(?:#(.*))?$"),f={SCHEME:1,USER_INFO:2,DOMAIN:3,PORT:4,PATH:5,QUERY_DATA:6,FRAGMENT:7},$traceurRuntime.canonicalizeUrl=function(t){return u(s(t))},$traceurRuntime.isAbsolute=function(t){return!!t&&("/"===t[0]||!!s(t)[f.SCHEME])},$traceurRuntime.removeDotSegments=l,$traceurRuntime.resolveUrl=function(t,e){var r=s(e),n=s(t);if(r[f.SCHEME])return u(r);r[f.SCHEME]=n[f.SCHEME];for(var i=f.SCHEME;i<=f.PORT;i++)r[i]||(r[i]=n[i]);if("/"==r[f.PATH][0])return u(r);var o=(a=n[f.PATH]).lastIndexOf("/"),a=a.slice(0,o+1)+r[f.PATH];return r[f.PATH]=a,u(r)},function(){"use strict";function s(t,e){this.type=t,this.argumentTypes=e}$traceurRuntime.createClass(s,{},{});var u=Object.create(null);$traceurRuntime.GenericType=s,$traceurRuntime.genericType=function(t){for(var e=[],r=1;r<arguments.length;r++)e[r-1]=arguments[r];var n=u,i=$traceurRuntime.getOwnHashObject(t).hash;n[i]||(n[i]=Object.create(null)),n=n[i];for(var o=0;o<e.length-1;o++)n[i=$traceurRuntime.getOwnHashObject(e[o]).hash]||(n[i]=Object.create(null)),n=n[i];var a=e[e.length-1];return n[i=$traceurRuntime.getOwnHashObject(a).hash]||(n[i]=new s(t,e)),n[i]},$traceurRuntime.type={any:{name:"any"},boolean:{name:"boolean"},number:{name:"number"},string:{name:"string"},symbol:{name:"symbol"},void:{name:"void"}}}(),function(e){"use strict";function t(t,e){this.url=t,this.value_=e}var r=$traceurRuntime,n=r.canonicalizeUrl,i=r.resolveUrl,o=r.isAbsolute,a=Object.create(null),s=e.location&&e.location.href?i(e.location.href,"./"):"";$traceurRuntime.createClass(t,{},{});function u(t,e){this.message=this.constructor.name+": "+this.stripCause(e)+" in "+t,e instanceof c||!e.stack?this.stack="":this.stack=this.stripStack(e.stack)}var c=u;$traceurRuntime.createClass(u,{stripError:function(t){return t.replace(/.*Error:/,this.constructor.name+":")},stripCause:function(t){return t?t.message?this.stripError(t.message):t+"":""},loadedBy:function(t){this.stack+="\n loaded by "+t},stripStack:function(t){var e=[];return t.split("\n").some(function(t){return!!/UncoatedModuleInstantiator/.test(t)||void e.push(t)}),e[0]=this.stripError(e[0]),e.join("\n")}},{},Error);function l(t,e){$traceurRuntime.superConstructor(f).call(this,t,null),this.func=e}var f=l;function h(t){if(t){var e=y.normalize(t);return a[e]}}$traceurRuntime.createClass(l,{getUncoatedModule:function(){if(this.value_)return this.value_;try{var t=$traceurRuntime.require.bind(null,this.url);return this.value_=this.func.call(e,t)}catch(t){if(t instanceof u)throw t.loadedBy(this.url),t;var n,i;throw t.stack&&(n=this.func.toString().split("\n"),i=[],t.stack.split("\n").some(function(t){if(0<t.indexOf("UncoatedModuleInstantiator.getUncoatedModule"))return!0;var e,r=/(at\s[^\s]*\s).*>:(\d*):(\d*)\)/.exec(t);r?(e=parseInt(r[2],10),(i=i.concat(function(t,e){var r=[],n=e-3;n<0&&(n=0);for(var i=n;i<e;i++)r.push(t[i]);return r}(n,e))).push(function(t){for(var e="",r=0;r<t-1;r++)e+="-";return e}(r[3])+"^"),(i=i.concat(function(t,e){var r=e+1;r>t.length-1&&(r=t.length-1);for(var n=[],i=e;i<=r;i++)n.push(t[i]);return n}(n,e))).push("= = = = = = = = =")):i.push(t)}),t.stack=i.join("\n")),new u(this.url,t)}}},{},t);var p=Object.create(null),d={};function m(i){var o=arguments[1],a=Object.create(null);return Object.getOwnPropertyNames(i).forEach(function(t){var e,r,n;o!==d||(n=Object.getOwnPropertyDescriptor(i,t)).get&&(e=n.get),e||(r=i[t],e=function(){return r}),Object.defineProperty(a,t,{get:e,enumerable:!0})}),Object.preventExtensions(a),a}var y={normalize:function(t,e,r){if("string"!=typeof t)throw new TypeError("module name must be a string, not "+typeof t);if(o(t))return n(t);if(/[^\.]\/\.\.\//.test(t))throw new Error("module name embeds /../: "+t);return"."===t[0]&&e?i(e,t):n(t)},get:function(t){var e=h(t);if(e){var r=p[e.url];return r?r:(r=m(e.getUncoatedModule(),d),p[e.url]=r)}},set:function(t,e){t=String(t),a[t]=new l(t,function(){return e}),p[t]=e},get baseURL(){return s},set baseURL(t){s=String(t)},registerModule:function(t,e,r){var n=y.normalize(t);if(a[n])throw new Error("duplicate module named "+n);a[n]=new l(n,r)},bundleStore:Object.create(null),register:function(t,e,i){e&&(e.length||i.length)?this.bundleStore[t]={deps:e,execute:function(){var r=arguments,n={};e.forEach(function(t,e){return n[t]=r[e]});var t=i.call(this,n);return t.execute.call(this),t.exports}}:this.registerModule(t,e,i)},getAnonymousModule:function(t){return new m(t.call(e),d)},getForTesting:function(t){var r=this;return this.testingPrefix_||Object.keys(p).some(function(t){var e=/(traceur@[^\/]*\/)/.exec(t);if(e)return r.testingPrefix_=e[1],!0}),this.get(this.testingPrefix_+t)}},g=new m({ModuleStore:y});y.set("@traceur/src/runtime/ModuleStore",g),y.set("@traceur/src/runtime/ModuleStore.js",g);var v=$traceurRuntime.setupGlobals;$traceurRuntime.setupGlobals=function(t){v(t)},$traceurRuntime.ModuleStore=y,e.System={register:y.register.bind(y),registerModule:y.registerModule.bind(y),get:y.get,set:y.set,normalize:y.normalize},$traceurRuntime.getModuleImpl=function(t){var e=h(t);return e&&e.getUncoatedModule()}}("undefined"!=typeof window?window:void 0!==t?t:"undefined"!=typeof self?self:this),System.registerModule("traceur-runtime@0.0.79/src/runtime/polyfills/utils.js",[],function(){"use strict";var e=Math.ceil,r=Math.floor,n=isFinite,i=isNaN,t=Math.pow,o=Math.min,a=$traceurRuntime.toObject;function s(t){return t>>>0}function u(t){return t&&("object"==typeof t||"function"==typeof t)}function c(t){return"function"==typeof t}function l(t){return"number"==typeof t}function f(t){return i(t=+t)?0:0!==t&&n(t)?(0<t?r:e)(t):t}var h=t(2,53)-1;function p(t){var e=f(t);return e<0?0:o(e,h)}function d(t){return u(t)?t[Symbol.iterator]:void 0}function m(t){return c(t)}function y(t,e){return{value:t,done:e}}function g(t,e,r){e in t||Object.defineProperty(t,e,r)}function v(t,e,r){g(t,e,{value:r,configurable:!0,enumerable:!1,writable:!0})}function b(t,e,r){g(t,e,{value:r,configurable:!1,enumerable:!1,writable:!1})}function w(t,e){for(var r=0;r<e.length;r+=2){v(t,e[r],e[r+1])}}function S(t,e){for(var r=0;r<e.length;r+=2){b(t,e[r],e[r+1])}}function j(t,e,r){r&&r.iterator&&!t[r.iterator]&&(t["@@iterator"]&&(e=t["@@iterator"]),Object.defineProperty(t,r.iterator,{value:e,configurable:!0,enumerable:!1,writable:!0}))}var O=[];function _(t){O.push(t)}function E(e){O.forEach(function(t){return t(e)})}return{get toObject(){return a},get toUint32(){return s},get isObject(){return u},get isCallable(){return c},get isNumber(){return l},get toInteger(){return f},get toLength(){return p},get checkIterable(){return d},get isConstructor(){return m},get createIteratorResultObject(){return y},get maybeDefine(){return g},get maybeDefineMethod(){return v},get maybeDefineConst(){return b},get maybeAddFunctions(){return w},get maybeAddConsts(){return S},get maybeAddIterator(){return j},get registerPolyfill(){return _},get polyfillAll(){return E}}}),System.registerModule("traceur-runtime@0.0.79/src/runtime/polyfills/Map.js",[],function(){"use strict";var t=System.get("traceur-runtime@0.0.79/src/runtime/polyfills/utils.js"),s=t.isObject,i=t.maybeAddIterator,e=t.registerPolyfill,a=$traceurRuntime.getOwnHashObject,u=Object.prototype.hasOwnProperty,o={};function c(t,e){if(s(e)){var r=a(e);return r&&t.objectIndex_[r.hash]}return"string"==typeof e?t.stringIndex_[e]:t.primitiveIndex_[e]}function l(t){t.entries_=[],t.objectIndex_=Object.create(null),t.stringIndex_=Object.create(null),t.primitiveIndex_=Object.create(null),t.deletedCount_=0}var f=function(t){var e=t;if(!s(this))throw new TypeError("Map called on incompatible type");if(u.call(this,"entries_"))throw new TypeError("Map can not be reentrantly initialised");if(l(this),null!=e)for(var r,n=e[$traceurRuntime.toProperty(Symbol.iterator)]();!(r=n.next()).done;){var i=r.value,o=i[0],a=i[1];this.set(o,a)}};function r(t){var e=t.Object,r=t.Symbol;t.Map||(t.Map=f);var n=t.Map.prototype;void 0===n.entries&&(t.Map=f),n.entries&&(i(n,n.entries,r),i(e.getPrototypeOf((new t.Map).entries()),function(){return this},r))}return $traceurRuntime.createClass(f,{get size(){return this.entries_.length/2-this.deletedCount_},get:function(t){var e=c(this,t);if(void 0!==e)return this.entries_[e+1]},set:function(t,e){var r,n=s(t),i="string"==typeof t,o=c(this,t);return void 0!==o?this.entries_[o+1]=e:(o=this.entries_.length,this.entries_[o]=t,this.entries_[o+1]=e,n?(r=a(t).hash,this.objectIndex_[r]=o):i?this.stringIndex_[t]=o:this.primitiveIndex_[t]=o),this},has:function(t){return void 0!==c(this,t)},delete:function(t){var e,r,n,i="string"==typeof t;return s(t)?(n=a(t))&&(e=this.objectIndex_[r=n.hash],delete this.objectIndex_[r]):i?(e=this.stringIndex_[t],delete this.stringIndex_[t]):(e=this.primitiveIndex_[t],delete this.primitiveIndex_[t]),void 0!==e&&(this.entries_[e]=o,this.entries_[e+1]=void 0,this.deletedCount_++,!0)},clear:function(){l(this)},forEach:function(t){for(var e=arguments[1],r=0;r<this.entries_.length;r+=2){var n=this.entries_[r],i=this.entries_[r+1];n!==o&&t.call(e,i,n,this)}},entries:$traceurRuntime.initGeneratorFunction(function t(){var e,r,n;return $traceurRuntime.createGeneratorInstance(function(t){for(;;)switch(t.state){case 0:e=0,t.state=12;break;case 12:t.state=e<this.entries_.length?8:-2;break;case 4:e+=2,t.state=12;break;case 8:r=this.entries_[e],n=this.entries_[e+1],t.state=9;break;case 9:t.state=r===o?4:6;break;case 6:return t.state=2,[r,n];case 2:t.maybeThrow(),t.state=4;break;default:return t.end()}},t,this)}),keys:$traceurRuntime.initGeneratorFunction(function t(){var e,r;return $traceurRuntime.createGeneratorInstance(function(t){for(;;)switch(t.state){case 0:e=0,t.state=12;break;case 12:t.state=e<this.entries_.length?8:-2;break;case 4:e+=2,t.state=12;break;case 8:r=this.entries_[e],this.entries_[e+1],t.state=9;break;case 9:t.state=r===o?4:6;break;case 6:return t.state=2,r;case 2:t.maybeThrow(),t.state=4;break;default:return t.end()}},t,this)}),values:$traceurRuntime.initGeneratorFunction(function t(){var e,r,n;return $traceurRuntime.createGeneratorInstance(function(t){for(;;)switch(t.state){case 0:e=0,t.state=12;break;case 12:t.state=e<this.entries_.length?8:-2;break;case 4:e+=2,t.state=12;break;case 8:r=this.entries_[e],n=this.entries_[e+1],t.state=9;break;case 9:t.state=r===o?4:6;break;case 6:return t.state=2,n;case 2:t.maybeThrow(),t.state=4;break;default:return t.end()}},t,this)})},{}),Object.defineProperty(f.prototype,Symbol.iterator,{configurable:!0,writable:!0,value:f.prototype.entries}),e(r),{get Map(){return f},get polyfillMap(){return r}}}),System.get("traceur-runtime@0.0.79/src/runtime/polyfills/Map.js"),System.registerModule("traceur-runtime@0.0.79/src/runtime/polyfills/Set.js",[],function(){"use strict";var t=System.get("traceur-runtime@0.0.79/src/runtime/polyfills/utils.js"),o=t.isObject,i=t.maybeAddIterator,e=t.registerPolyfill,a=System.get("traceur-runtime@0.0.79/src/runtime/polyfills/Map.js").Map,s=($traceurRuntime.getOwnHashObject,Object.prototype.hasOwnProperty);var u=function(t){var e=t;if(!o(this))throw new TypeError("Set called on incompatible type");if(s.call(this,"map_"))throw new TypeError("Set can not be reentrantly initialised");if(this.map_=new a,null!=e)for(var r,n=e[$traceurRuntime.toProperty(Symbol.iterator)]();!(r=n.next()).done;){var i=r.value;this.add(i)}};function r(t){var e=t.Object,r=t.Symbol;t.Set||(t.Set=u);var n=t.Set.prototype;n.values&&(i(n,n.values,r),i(e.getPrototypeOf((new t.Set).values()),function(){return this},r))}return $traceurRuntime.createClass(u,{get size(){return this.map_.size},has:function(t){return this.map_.has(t)},add:function(t){return this.map_.set(t,t),this},delete:function(t){return this.map_.delete(t)},clear:function(){return this.map_.clear()},forEach:function(r){var n=arguments[1],i=this;return this.map_.forEach(function(t,e){r.call(n,e,e,i)})},values:$traceurRuntime.initGeneratorFunction(function t(){var e,r;return $traceurRuntime.createGeneratorInstance(function(t){for(;;)switch(t.state){case 0:e=this.map_.keys()[Symbol.iterator](),t.sent=void 0,t.action="next",t.state=12;break;case 12:r=e[t.action](t.sentIgnoreThrow),t.state=9;break;case 9:t.state=r.done?3:2;break;case 3:t.sent=r.value,t.state=-2;break;case 2:return t.state=12,r.value;default:return t.end()}},t,this)}),entries:$traceurRuntime.initGeneratorFunction(function t(){var e,r;return $traceurRuntime.createGeneratorInstance(function(t){for(;;)switch(t.state){case 0:e=this.map_.entries()[Symbol.iterator](),t.sent=void 0,t.action="next",t.state=12;break;case 12:r=e[t.action](t.sentIgnoreThrow),t.state=9;break;case 9:t.state=r.done?3:2;break;case 3:t.sent=r.value,t.state=-2;break;case 2:return t.state=12,r.value;default:return t.end()}},t,this)})},{}),Object.defineProperty(u.prototype,Symbol.iterator,{configurable:!0,writable:!0,value:u.prototype.values}),Object.defineProperty(u.prototype,"keys",{configurable:!0,writable:!0,value:u.prototype.values}),e(r),{get Set(){return u},get polyfillSet(){return r}}}),System.get("traceur-runtime@0.0.79/src/runtime/polyfills/Set.js"),System.registerModule("traceur-runtime@0.0.79/node_modules/rsvp/lib/rsvp/asap.js",[],function(){"use strict";var r=0;function t(t,e){l[r]=t,l[r+1]=e,2===(r+=2)&&o()}var e="undefined"!=typeof window?window:{},n=e.MutationObserver||e.WebKitMutationObserver,i="undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof importScripts&&"undefined"!=typeof MessageChannel;var o,a,s,u,c,l=new Array(1e3);function f(){for(var t=0;t<r;t+=2){(0,l[t])(l[t+1]),l[t]=void 0,l[t+1]=void 0}r=0}return o=void 0!==h&&"[object process]"==={}.toString.call(h)?function(){h.nextTick(f)}:n?(s=0,u=new n(f),c=document.createTextNode(""),u.observe(c,{characterData:!0}),function(){c.data=s=++s%2}):i?((a=new MessageChannel).port1.onmessage=f,function(){a.port2.postMessage(0)}):function(){setTimeout(f,1)},{get default(){return t}}}),System.registerModule("traceur-runtime@0.0.79/src/runtime/polyfills/Promise.js",[],function(){"use strict";var t=System.get("traceur-runtime@0.0.79/node_modules/rsvp/lib/rsvp/asap.js").default,e=System.get("traceur-runtime@0.0.79/src/runtime/polyfills/utils.js").registerPolyfill,n={};function a(t){return t&&"object"==typeof t&&void 0!==t.status_}function s(t){return t}function u(t){throw t}function o(t,e,r){var n=void 0!==e?e:s,i=void 0!==r?r:u,o=c(t.constructor);switch(t.status_){case void 0:throw TypeError;case 0:t.onResolve_.push(n,o),t.onReject_.push(i,o);break;case 1:y(t.value_,[n,o]);break;case-1:y(t.value_,[i,o])}return o.promise}function c(t){if(this===f){var e=l(new f(n));return{promise:e,resolve:function(t){p(e,t)},reject:function(t){d(e,t)}}}var r={};return r.promise=new t(function(t,e){r.resolve=t,r.reject=e}),r}function i(t,e,r,n,i){return t.status_=e,t.value_=r,t.onResolve_=n,t.onReject_=i,t}function l(t){return i(t,0,void 0,[],[])}var r=function(t){if(t!==n){if("function"!=typeof t)throw new TypeError;var e=l(this);try{t(function(t){p(e,t)},function(t){d(e,t)})}catch(t){d(e,t)}}};$traceurRuntime.createClass(r,{catch:function(t){return this.then(void 0,t)},then:function(e,r){"function"!=typeof e&&(e=s),"function"!=typeof r&&(r=u);var n=this,i=this.constructor;return o(this,function(t){return(t=function(e,r){if(!a(r)&&function(t){return t&&("object"==typeof t||"function"==typeof t)}(r)){var t;try{t=r.then}catch(t){var n=h.call(e,t);return r[g]=n}if("function"==typeof t){var i=r[g];if(i)return i;var o=c(e);r[g]=o.promise;try{t.call(r,o.resolve,o.reject)}catch(t){o.reject(t)}return o.promise}}return r}(i,t))===n?r(new TypeError):a(t)?t.then(e,r):e(t)},r)}},{resolve:function(r){return this===f?a(r)?r:i(new f(n),1,r):new this(function(t,e){t(r)})},reject:function(r){return this===f?i(new f(n),-1,r):new this(function(t,e){e(r)})},all:function(t){var r=c(this),n=[];try{var i=t.length;if(0===i)r.resolve(n);else for(var e=0;e<t.length;e++)this.resolve(t[e]).then(function(t,e){n[t]=e,0==--i&&r.resolve(n)}.bind(void 0,e),function(t){r.reject(t)})}catch(t){r.reject(t)}return r.promise},race:function(t){var e=c(this);try{for(var r=0;r<t.length;r++)this.resolve(t[r]).then(function(t){e.resolve(t)},function(t){e.reject(t)})}catch(t){e.reject(t)}return e.promise}});var f=r,h=f.reject;function p(t,e){m(t,1,e,t.onResolve_)}function d(t,e){m(t,-1,e,t.onReject_)}function m(t,e,r,n){0===t.status_&&(y(r,n),i(t,e,r))}function y(e,r){t(function(){for(var t=0;t<r.length;t+=2)!function(t,e,r){try{var n=e(t);if(n===r.promise)throw new TypeError;a(n)?o(n,r.resolve,r.reject):r.resolve(n)}catch(t){try{r.reject(t)}catch(t){}}}(e,r[t],r[t+1])})}var g="@@thenable";function v(t){t.Promise||(t.Promise=r)}return e(v),{get Promise(){return r},get polyfillPromise(){return v}}}),System.get("traceur-runtime@0.0.79/src/runtime/polyfills/Promise.js"),System.registerModule("traceur-runtime@0.0.79/src/runtime/polyfills/StringIterator.js",[],function(){"use strict";var t,e=System.get("traceur-runtime@0.0.79/src/runtime/polyfills/utils.js"),s=e.createIteratorResultObject,u=e.isObject,c=$traceurRuntime.toProperty,l=Object.prototype.hasOwnProperty,f=Symbol("iteratedString"),h=Symbol("stringIteratorNextIndex"),n=function(){};function r(t){var e=String(t),r=Object.create(n.prototype);return r[c(f)]=e,r[c(h)]=0,r}return $traceurRuntime.createClass(n,(t={},Object.defineProperty(t,"next",{value:function(){var t=this;if(!u(t)||!l.call(t,f))throw new TypeError("this must be a StringIterator object");var e=t[c(f)];if(void 0===e)return s(void 0,!0);var r=t[c(h)],n=e.length;if(n<=r)return t[c(f)]=void 0,s(void 0,!0);var i,o,a=e.charCodeAt(r);return o=a<55296||56319<a||r+1===n||(i=e.charCodeAt(r+1))<56320||57343<i?String.fromCharCode(a):String.fromCharCode(a)+String.fromCharCode(i),t[c(h)]=r+o.length,s(o,!1)},configurable:!0,enumerable:!0,writable:!0}),Object.defineProperty(t,Symbol.iterator,{value:function(){return this},configurable:!0,enumerable:!0,writable:!0}),t),{}),{get createStringIterator(){return r}}}),System.registerModule("traceur-runtime@0.0.79/src/runtime/polyfills/String.js",[],function(){"use strict";var r=System.get("traceur-runtime@0.0.79/src/runtime/polyfills/StringIterator.js").createStringIterator,t=System.get("traceur-runtime@0.0.79/src/runtime/polyfills/utils.js"),n=t.maybeAddFunctions,i=t.maybeAddIterator,e=t.registerPolyfill,u=Object.prototype.toString,s=String.prototype.indexOf,c=String.prototype.lastIndexOf;function o(t){var e=String(this);if(null==this||"[object RegExp]"==u.call(t))throw TypeError();var r=e.length,n=String(t),i=(n.length,1<arguments.length?arguments[1]:void 0),o=i?Number(i):0;isNaN(o)&&(o=0);var a=Math.min(Math.max(o,0),r);return s.call(e,n,o)==a}function a(t){var e=String(this);if(null==this||"[object RegExp]"==u.call(t))throw TypeError();var r,n=e.length,i=String(t),o=i.length,a=n;1<arguments.length&&(void 0!==(r=arguments[1])&&(a=r?Number(r):0,isNaN(a)&&(a=0)));var s=Math.min(Math.max(a,0),n)-o;return!(s<0)&&c.call(e,i,s)==s}function l(t){if(null==this)throw TypeError();var e=String(this);if(t&&"[object RegExp]"==u.call(t))throw TypeError();var r=e.length,n=String(t),i=n.length,o=1<arguments.length?arguments[1]:void 0,a=o?Number(o):0;return a!=a&&(a=0),!(r<i+Math.min(Math.max(a,0),r))&&-1!=s.call(e,n,a)}function f(t){if(null==this)throw TypeError();var e=String(this),r=t?Number(t):0;if(isNaN(r)&&(r=0),r<0||r==1/0)throw RangeError();if(0==r)return"";for(var n="";r--;)n+=e;return n}function h(t){if(null==this)throw TypeError();var e=String(this),r=e.length,n=t?Number(t):0;if(isNaN(n)&&(n=0),!(n<0||r<=n)){var i,o=e.charCodeAt(n);return 55296<=o&&o<=56319&&n+1<r&&56320<=(i=e.charCodeAt(n+1))&&i<=57343?1024*(o-55296)+i-56320+65536:o}}function p(t){var e=t.raw,r=e.length>>>0;if(0==r)return"";for(var n="",i=0;;){if(n+=e[i],i+1===r)return n;n+=arguments[++i]}}function d(){var t,e,r=[],n=Math.floor,i=-1,o=arguments.length;if(!o)return"";for(;++i<o;){var a=Number(arguments[i]);if(!isFinite(a)||a<0||1114111<a||n(a)!=a)throw RangeError("Invalid code point: "+a);a<=65535?r.push(a):(t=55296+((a-=65536)>>10),e=a%1024+56320,r.push(t,e))}return String.fromCharCode.apply(null,r)}function m(){var t=$traceurRuntime.checkObjectCoercible(this),e=String(t);return r(e)}function y(t){var e=t.String;n(e.prototype,["codePointAt",h,"endsWith",a,"includes",l,"repeat",f,"startsWith",o]),n(e,["fromCodePoint",d,"raw",p]),i(e.prototype,m,Symbol)}return e(y),{get startsWith(){return o},get endsWith(){return a},get includes(){return l},get repeat(){return f},get codePointAt(){return h},get raw(){return p},get fromCodePoint(){return d},get stringPrototypeIterator(){return m},get polyfillString(){return y}}}),System.get("traceur-runtime@0.0.79/src/runtime/polyfills/String.js"),System.registerModule("traceur-runtime@0.0.79/src/runtime/polyfills/ArrayIterator.js",[],function(){"use strict";var t,e=System.get("traceur-runtime@0.0.79/src/runtime/polyfills/utils.js"),i=e.toObject,o=e.toUint32,a=e.createIteratorResultObject,r=1,s=2,u=3,c=function(){};function n(t,e){var r=i(t),n=new c;return n.iteratorObject_=r,n.arrayIteratorNextIndex_=0,n.arrayIterationKind_=e,n}function l(){return n(this,u)}function f(){return n(this,r)}function h(){return n(this,s)}return $traceurRuntime.createClass(c,(t={},Object.defineProperty(t,"next",{value:function(){var t=i(this),e=t.iteratorObject_;if(!e)throw new TypeError("Object is not an ArrayIterator");var r=t.arrayIteratorNextIndex_,n=t.arrayIterationKind_;return o(e.length)<=r?(t.arrayIteratorNextIndex_=1/0,a(void 0,!0)):(t.arrayIteratorNextIndex_=r+1,a(n==s?e[r]:n==u?[r,e[r]]:r,!1))},configurable:!0,enumerable:!0,writable:!0}),Object.defineProperty(t,Symbol.iterator,{value:function(){return this},configurable:!0,enumerable:!0,writable:!0}),t),{}),{get entries(){return l},get keys(){return f},get values(){return h}}}),System.registerModule("traceur-runtime@0.0.79/src/runtime/polyfills/Array.js",[],function(){"use strict";var t=System.get("traceur-runtime@0.0.79/src/runtime/polyfills/ArrayIterator.js"),i=t.entries,o=t.keys,a=t.values,e=System.get("traceur-runtime@0.0.79/src/runtime/polyfills/utils.js"),f=e.checkIterable,h=e.isCallable,p=e.isConstructor,s=e.maybeAddFunctions,u=e.maybeAddIterator,r=e.registerPolyfill,c=e.toInteger,d=e.toLength,m=e.toObject;function l(t){var e,r,n=arguments[1],i=arguments[2],o=m(t),a=void 0!==n,s=0;if(a&&!h(n))throw TypeError();if(f(o)){e=p(this)?new this:[];for(var u,c=o[$traceurRuntime.toProperty(Symbol.iterator)]();!(u=c.next()).done;){var l=u.value;e[s]=a?n.call(i,l,s):l,s++}return e.length=s,e}for(r=d(o.length),e=new(p(this)?this:Array)(r);s<r;s++)e[s]=a?void 0===i?n(o[s],s):n.call(i,o[s],s):o[s];return e.length=r,e}function y(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];for(var r=t.length,n=new(p(this)?this:Array)(r),i=0;i<r;i++)n[i]=t[i];return n.length=r,n}function g(t){for(var e=void 0!==arguments[1]?arguments[1]:0,r=arguments[2],n=m(this),i=d(n.length),o=c(e),a=void 0!==r?c(r):i,o=o<0?Math.max(i+o,0):Math.min(o,i),a=a<0?Math.max(i+a,0):Math.min(a,i);o<a;)n[o]=t,o++;return n}function v(t){return n(this,t,arguments[1])}function b(t){return n(this,t,arguments[1],!0)}function n(t,e,r,n){var i=r,o=void 0!==n&&n,a=m(t),s=d(a.length);if(!h(e))throw TypeError();for(var u=0;u<s;u++){var c=a[u];if(e.call(i,c,u,a))return o?u:c}return o?-1:void 0}function w(t){var e=t.Array,r=t.Object,n=t.Symbol;s(e.prototype,["entries",i,"keys",o,"values",a,"fill",g,"find",v,"findIndex",b]),s(e,["from",l,"of",y]),u(e.prototype,a,n),u(r.getPrototypeOf([].values()),function(){return this},n)}return r(w),{get from(){return l},get of(){return y},get fill(){return g},get find(){return v},get findIndex(){return b},get polyfillArray(){return w}}}),System.get("traceur-runtime@0.0.79/src/runtime/polyfills/Array.js"),System.registerModule("traceur-runtime@0.0.79/src/runtime/polyfills/Object.js",[],function(){"use strict";var t=System.get("traceur-runtime@0.0.79/src/runtime/polyfills/utils.js"),r=t.maybeAddFunctions,e=t.registerPolyfill,n=$traceurRuntime,s=n.defineProperty,u=n.getOwnPropertyDescriptor,c=n.getOwnPropertyNames,l=n.isPrivateName,f=n.keys;function i(t,e){return t===e?0!==t||1/t==1/e:t!=t&&e!=e}function o(t){for(var e=1;e<arguments.length;e++)for(var r=arguments[e],n=null==r?[]:f(r),i=n.length,o=0;o<i;o++){var a=n[o];l(a)||(t[a]=r[a])}return t}function a(t,e){for(var r,n=c(e),i=n.length,o=0;o<i;o++){var a=n[o];l(a)||(r=u(e,n[o]),s(t,n[o],r))}return t}function h(t){var e=t.Object;r(e,["assign",o,"is",i,"mixin",a])}return e(h),{get is(){return i},get assign(){return o},get mixin(){return a},get polyfillObject(){return h}}}),System.get("traceur-runtime@0.0.79/src/runtime/polyfills/Object.js"),System.registerModule("traceur-runtime@0.0.79/src/runtime/polyfills/Number.js",[],function(){"use strict";var t=System.get("traceur-runtime@0.0.79/src/runtime/polyfills/utils.js"),e=t.isNumber,r=t.maybeAddConsts,n=t.maybeAddFunctions,i=t.registerPolyfill,o=t.toInteger,a=Math.abs,s=isFinite,u=isNaN,c=Math.pow(2,53)-1,l=1-Math.pow(2,53),f=Math.pow(2,-52);function h(t){return e(t)&&s(t)}function p(t){return h(t)&&o(t)===t}function d(t){return e(t)&&u(t)}function m(t){if(h(t)){var e=o(t);if(e===t)return a(e)<=c}return!1}function y(t){var e=t.Number;r(e,["MAX_SAFE_INTEGER",c,"MIN_SAFE_INTEGER",l,"EPSILON",f]),n(e,["isFinite",h,"isInteger",p,"isNaN",d,"isSafeInteger",m])}return i(y),{get MAX_SAFE_INTEGER(){return c},get MIN_SAFE_INTEGER(){return l},get EPSILON(){return f},get isFinite(){return h},get isInteger(){return p},get isNaN(){return d},get isSafeInteger(){return m},get polyfillNumber(){return y}}}),System.get("traceur-runtime@0.0.79/src/runtime/polyfills/Number.js"),System.registerModule("traceur-runtime@0.0.79/src/runtime/polyfills/polyfills.js",[],function(){"use strict";var e=System.get("traceur-runtime@0.0.79/src/runtime/polyfills/utils.js").polyfillAll;e(Reflect.global);var r=$traceurRuntime.setupGlobals;return $traceurRuntime.setupGlobals=function(t){r(t),e(t)},{}}),System.get("traceur-runtime@0.0.79/src/runtime/polyfills/polyfills.js")}).call(this,n("pBGvAp"),"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{pBGvAp:2,path:1}],4:[function(t,e,r){"use strict";var n,i,o;Object.defineProperties(r,{default:{get:function(){return c}},__esModule:{value:!0}});function a(t){this.file=t}var b=((n=t("./gif.js"))&&n.__esModule&&n||{default:n}).default,w=((i=t("./stream_reader.js"))&&i.__esModule&&i||{default:i}).default,s=((o=t("./utils.js"))&&o.__esModule&&o||{default:o}).Promises,S=URL&&URL.createObjectURL?URL:webkitURL,u=new Map;$traceurRuntime.createClass(a,{load:function(){var e=this,t=u.get(this.file);if(t)return t;var r=s.xhrGet(this.file,"*/*","arraybuffer").then(function(t){return e.explode(t)});return u.set(this.file,r),r},explode:function(v){return console.debug("EXPLODING "+this.file),new Promise(function(t,e){var r=[],n=new w(v);if("GIF89a"==n.readAscii(6)){n.skipBytes(4),n.peekBit(1)?(n.log("GLOBAL COLOR TABLE"),i=7&n.readByte(),n.log("GLOBAL COLOR TABLE IS "+3*Math.pow(2,i+1)+" BYTES"),n.skipBytes(2),n.skipBytes(3*Math.pow(2,i+1))):n.log("NO GLOBAL COLOR TABLE");for(var i,o=v.slice(0,n.index),a=!0,s=!1;a;)if(n.isNext([33,255])){n.log("APPLICATION EXTENSION"),n.skipBytes(2);var u=n.readByte();if(n.log(n.readAscii(u)),n.isNext([3,1]))n.skipBytes(5);else{for(n.log("A weird application extension. Skip until we have 2 NULL bytes");0!==n.readByte()||0!==n.peekByte(););n.log("OK moving on"),n.skipBytes(1)}}else if(n.isNext([33,254])){for(n.log("COMMENT EXTENSION"),n.skipBytes(2);!n.isNext([0]);){u=n.readByte();n.log(n.readAscii(u))}n.skipBytes(1)}else if(n.isNext([44])){for(n.log("IMAGE DESCRIPTOR!"),s||r.push({index:n.index,delay:0}),s=!1,n.skipBytes(9),n.peekBit(1)?(n.log("LOCAL COLOR TABLE"),i=7&n.readByte(),n.log("LOCAL COLOR TABLE IS "+3*Math.pow(2,i+1)+" BYTES"),n.skipBytes(3*Math.pow(2,i+1))):(n.log("NO LOCAL TABLE PHEW"),n.skipBytes(1)),n.log("MIN CODE SIZE "+n.readByte()),n.log("DATA START");!n.isNext([0]);){u=n.readByte();n.skipBytes(u)}n.log("DATA END"),n.skipBytes(1)}else if(n.isNext([33,249,4])){n.log("GRAPHICS CONTROL EXTENSION!");var c=n.index;n.skipBytes(3);var l=n.readByte()>>2;n.log("DISPOSAL "+l);var f=n.readByte()+256*n.readByte();r.push({index:c,delay:f,disposal:l}),n.log("FRAME DELAY "+f),n.skipBytes(2),s=!0}else{for(var h=n.index;!n.finished()&&!n.isNext([33,249,4]);)n.readByte();n.finished()?(n.index=h,n.log("WE END"),a=!1):n.log("UNKNOWN DATA FROM "+h)}for(var p=n.index,d=v.slice(-1),m=0;m<r.length;m++){var y=r[m],g=m<r.length-1?r[m+1].index:p;y.blob=new Blob([o,v.slice(y.index,g),d],{type:"image/gif"}),y.url=S.createObjectURL(y.blob)}t(new b(r))}else e(Error("Not a GIF!"))})}},{});var c=a},{"./gif.js":6,"./stream_reader.js":9,"./utils.js":10}],5:[function(t,e,r){"use strict";var n,i,o=((n=t("./playback.js"))&&n.__esModule&&n||{default:n}).default,a=((i=t("./strategies.js"))&&i.__esModule&&i||{default:i}).default;angular.module("x-gif",[]).directive("gif",function(){return{restrict:"E",template:'<div class="frames-wrapper"><div class="x-gif__frames"></div></div>',link:function(t,r,e){var n=Object.create(e,{fire:{value:function(t){console.log(t)}}});null!=n.exploded||null!=n.sync?n.playbackStrategy="noop":n.hardBpm?n.playbackStrategy="hardBpm":n.bpm?n.playbackStrategy="bpm":(n.speed=n.speed||1,n.playbackStrategy="speed"),e.$observe("src",function(t){var e;t&&(e=a[n.playbackStrategy],n.playback=new o(n,r[0].querySelector(".x-gif__frames"),n.src,{pingPong:null!=n.pingPong,fill:null!=n.fill,stopped:null!=n.stopped}),n.playback.ready.then(e.bind(n)))}),e.$observe("speed",function(t){t&&n.playback&&(n.playback.speed=t)}),r[0].clock=function(t,e,r){n.playback&&n.playback.gif&&n.playback.fromClock(t,e,r)},r[0].relayout=function(){n.playback&&null!=n.fill&&n.playback.scaleToFill()}}}})},{"./playback.js":7,"./strategies.js":8}],6:[function(t,e,r){"use strict";Object.defineProperties(r,{default:{get:function(){return i}},__esModule:{value:!0}});function n(t){var e=this;this.frames=t,this.length=0,this.offsets=[],t.forEach(function(t){e.offsets.push(e.length),e.length+=t.delay||10})}$traceurRuntime.createClass(n,{frameAt:function(t){for(var e=t*this.length,r=1,n=this.offsets.length;r<n&&!(this.offsets[r]>e);r++);return r-1}},{});var i=n},{}],7:[function(t,e,r){"use strict";var n;Object.defineProperties(r,{default:{get:function(){return s}},__esModule:{value:!0}});var o=((n=t("./exploder.js"))&&n.__esModule&&n||{default:n}).default;function a(t){var e,r,n=new Image;return n.src=t.url,r=t,(e=n).classList.add("frame"),2==r.disposal&&e.classList.add("disposal-restore"),n}function i(t,e,r,n){var i=this;this.xgif=t,this.element=e,this.onReady=n.onReady,this.pingPong=n.pingPong,this.fill=n.fill,this.stopped=n.stopped,this.snap=n.snap,this.nTimes=n.nTimes,this.ready=new Promise(function(e,t){new o(r).load().then(function(t){console.debug("Received "+t.frames.length+" frames of gif "+r),i.gif=t,i.element.innerHTML="",t.frames.map(a).forEach(i.element.appendChild,i.element),i.fill&&requestAnimationFrame(i.scaleToFill.bind(i)),e()})})}$traceurRuntime.createClass(i,{scaleToFill:function(){var t,e;this.element.offsetWidth&&this.element.offsetHeight?(t=this.element.parentElement.offsetWidth/this.element.offsetWidth,e=this.element.parentElement.offsetHeight/this.element.offsetHeight,this.element.style.webkitTransform="scale("+1.1*Math.max(t,e)+")"):requestAnimationFrame(this.scaleToFill.bind(this))},setFrame:function(t,e){var r=this.pingPong&&1<=e%2?this.gif.frameAt(1-t):this.gif.frameAt(t);this.element.dataset.frame=r},start:function(){this.stopped=!1,this.startTime=performance.now(),this.animationLoop&&this.animationLoop()},stop:function(){this.stopped=!0},startSpeed:function(t){var n=this;this.speed=t,this.animationLoop=function(){var t=10*n.gif.length/n.speed,e=(performance.now()-n.startTime)/t,r=e%1;n.nTimes&&e>=n.nTimes?(n.setFrame(n.nTimes%1||1,e),n.element.dispatchEvent(new CustomEvent("x-gif-finished"),!0)):(n.setFrame(r,e),n.stopped||requestAnimationFrame(n.animationLoop))},this.stopped||this.start()},fromClock:function(t,e,r){var n=this.snap?1:Math.max(1,Math.round(1/1.5*10*this.gif.length/e)),i=t/n,o=r/n+t%n/n;this.setFrame(o,i)},changeBpm:function(t){this.beatLength=6e4/t},startBpm:function(t){var n=this;this.changeBpm(t),this.animationLoop=function(){var t=performance.now()-n.startTime,e=Math.floor(t/n.beatLength),r=t%n.beatLength/n.beatLength;n.fromClock(e,n.beatLength,r),n.stopped||requestAnimationFrame(n.animationLoop)},this.stopped||this.start()}},{});var s=i},{"./exploder.js":4}],8:[function(t,e,r){"use strict";Object.defineProperties(r,{default:{get:function(){return n}},__esModule:{value:!0}});var n={speed:function(){this.playback.startSpeed(this.speed,this.context.getAttribute("n-times"))},hardBpm:function(){this.playback.startHardBpm(parseFloat(this.context.getAttribute("hard-bpm")))},bpm:function(){this.playback.startBpm(parseFloat(this.context.getAttribute("bpm")))},noop:function(){}}},{}],9:[function(t,e,r){"use strict";Object.defineProperties(r,{default:{get:function(){return i}},__esModule:{value:!0}});function n(t){this.data=new Uint8Array(t),this.index=0,this.log("TOTAL LENGTH: "+this.data.length)}$traceurRuntime.createClass(n,{finished:function(){return this.index>=this.data.length},readByte:function(){return this.data[this.index++]},peekByte:function(){return this.data[this.index]},skipBytes:function(t){this.index+=t},peekBit:function(t){return!!(this.peekByte()&1<<8-t)},readAscii:function(t){for(var e="",r=0;r<t;r++)e+=String.fromCharCode(this.readByte());return e},isNext:function(t){for(var e=0;e<t.length;e++)if(t[e]!==this.data[this.index+e])return!1;return!0},log:function(t){},error:function(t){console.error(this.index+": "+t)}},{});var i=n},{}],10:[function(t,e,r){"use strict";Object.defineProperties(r,{Promises:{get:function(){return n}},__esModule:{value:!0}});var n={xhrGet:function(n,i,o){return new Promise(function(t,e){var r=new XMLHttpRequest;r.open("GET",n,!0),r.setRequestHeader("Accept",i),r.responseType=o,r.onload=function(){200==this.status?t(this.response):e(Error(this.statusText))},r.onerror=function(){e(Error("Network Error"))},r.send()})}}},{}]},{},[3,5]);