(function(){var f=function(){function c(){h||(r.animOut(),i.animOut(),u=setTimeout(function(){var n=o[f];r.setText(n.title);r.animIn();u=setTimeout(function(){i.setText(n.num);i.animIn()},650);f<o.length-1?f+=1:(s+=1,f=0)},500))}function v(){u=setTimeout(function(){0===f&&0<s&&a.call(window,s);n.Tween.to(l,300,{ease:n.ease.blink(7),onUpdate:function(t){n.css(this,{opacity:t})},onComplete:c})},2500)}function y(){t.update()}var e={},l,o,f=0,a=function(){},s=0,u,h=!1;return e.init=function(t,u){o=t;"undefined"!=typeof u&&(a=u);(l=n.byId("overlay-anims"))&&(n.Stage.init(),n.Stage.addEventListener(n.Stage.RUN,y),r.init(n.byId("titleanim")),i.init(n.byId("techitext")),i.onComplete=v.bind(this))},e.start=function(){u&&clearTimeout(u);h=!1;c()},e.stop=function(){clearTimeout(u);h=!0},e}(),i,r,n,t,u;window.OverlayAnims=f;i=function(){function l(){if(r="",h<f+e)r=a(h),h++,r=o(r+"_","rand-num");else if(u<f){var v=s.substr(0,u),y=a(f+e-u);0==c%6&&u++;0==c%3&&1<e&&e--;r=o(v,"real-num")+o(y+"_","rand-num")}else r=o(s,"real-num"),n.Stage.removeEventListener(n.Stage.RUN,l),t.onComplete();i.innerHTML=r;c++}function o(n,t){return'<span class="'+t+'">'+n+"<\/span>"}function a(t){for(var i="";t--;)i+=String.fromCharCode(Math.floor(n.random(65,122)));return i}var t={onComplete:function(){},overshootFactor:.9},i=null,s="",r="",h=1,u=0,f=0,e=5,c=0;return t.init=function(n){i=n},t.animIn=function(){n.resetTransition(i);n.css(i,{opacity:1});n.Stage.addEventListener(n.Stage.RUN,l)},t.animOut=function(){n.css(i,{opacity:0});n.transit(i,"opacity",250)},t.setText=function(r){s=r;f=s.length;h=1;u=0;e=Math.floor(f*t.overshootFactor);c=0;n.trans2d(i,0,0)},t}();r=function(){function o(t){n.css(t.el,{visibility:"hidden"});u.recycle(t)}var i={},e=null,r=0,u,f;return i.init=function(t){e=t;u=new n.ObjectPool;u.create=function(){return new n.Sprite(n.createEl(e))}.bind(this)},i.setText=function(n){var e,i,o,t;for(n=n.split(""),e=0,r=n.length,f=[],i=0;i<r;i++)o=n[i],t=u.get(),t.el.innerHTML=" "==o?"&nbsp;":o,t.x=t.endX=e,t.y=t.endY=0,f[i]=t,e+=t.el.offsetWidth},i.animIn=function(){for(var i,u,o,e=0;e<r;e++)i=f[e],i.scale=.01,i.alpha=.5,i.move(i.x+n.random(-50,200),i.y+n.random(-100,100)),u=n.interpolatePointOnLine(i.x,i.y,i.endX,i.endY,.5),o=Math.atan2(i.endY-i.y,i.endX-i.x)+.5*Math.PI,u.x+=140*Math.cos(o),u.y+=140*Math.sin(o),n.css(i.el,{visibility:"hidden"}),o=t.Easing.Back.InOut,u=[{x:i.x+n.random(-250,50),y:i.y+n.random(-150,50)},{x:u.x,y:u.y},{x:i.endX,y:i.endY}],n.Tween.bezier(i,550,{scale:1,alpha:1,ease:o,bezier:u,delay:19*e,onUpdate:i.update.bind(i),onStart:function(){n.css(this.el,{visibility:"visible"})}.bind(i)})},i.animOut=function(){for(var i,u=r;u--;)i=f[u],n.Tween.to(i,350,{scale:.5,alpha:0,x:i.x+10,delay:11*(r-u),ease:t.Easing.Cubic.InOut,onUpdate:i.update.bind(i),onComplete:o.bind(this,i)})},i}(),function(){for(var i=0,t=["ms","moz","webkit","o"],n=0;n<t.length&&!window.requestAnimationFrame;++n)window.requestAnimationFrame=window[t[n]+"RequestAnimationFrame"],window.cancelAnimationFrame=window[t[n]+"CancelAnimationFrame"]||window[t[n]+"CancelRequestAnimationFrame"];window.requestAnimationFrame||(window.requestAnimationFrame=function(n){var t=(new Date).getTime(),r=Math.max(0,16-(t-i)),u=window.setTimeout(function(){n(t+r)},r);return i=t+r,u});window.cancelAnimationFrame||(window.cancelAnimationFrame=function(n){clearTimeout(n)})}();n=function(){function c(n){for(var e,i=[["transform","","transition","transform-origin"],["OTransform","-o-","OTransition","OTransformOrigin"],["msTransform","-ms-","msTransition","msTransformOrigin"],["MozTransform","-moz-","MozTransition","MozTransformOrigin"],["WebkitTransform","-webkit-","WebkitTransition","WebkitTransformOrigin"]],u=i.length;u--;)if("undefined"!=typeof n.style[i[u][0]]){e=i[u];t=e[0];r=e[1];f="undefined"!=typeof n.style[i[u][2]]?e[2]:"";s=e[3];break}}function e(n,i,r,u,f){i=h?"translate3d("+i+"px,"+r+"px,0px)":"translate("+i+"px,"+r+"px)";void 0!=u&&(i+=" scale("+u+")");void 0!=f&&(i+=" rotate("+f+"rad)");n.style[t]=i}function o(n,i,r,u,f,e,o,s){i="translate3d("+i+"px,"+r+"px,"+(u||0)+"px)";f&&(i+=" rotateX("+f+"rad)");e&&(i+=" rotateY("+e+"rad)");o&&(i+=" rotateZ("+o+"rad)");s&&(i+=" scale("+s+")");n.style[t]=i}function i(n,t){var i,r;for(i in t)r=t[i],r.length||i in a||(r+="px"),n.style[i]=r}var n={},r,t,f,s,h=!1,u="ontouchend"in window,l={DOWN:u?"touchstart":"mousedown",UP:u?"touchend":"mouseup",MOVE:u?"touchmove":"mousemove"},a={zIndex:1,opacity:1};return function(){if(c(document.documentElement),t){var r=navigator.userAgent,n=-1,u=/Android/.test(r);u&&(n=r.split("Android")[1],n=parseFloat(n.substring(0,n.indexOf(";"))));h=/WebKit/.test(r)&&!u||4<=n}else e=o=function(n,t,r){i(n,{left:t,top:r})}}(),n.isTouch=u,n.Events=l,n.transit=function(n,t,i,u){"transform"==t&&(t=r+"transform");n.style[f]=t+" "+i+"ms "+(u?"cubic-bezier("+u+")":"ease-in-out")},n.resetTransition=function(n){n.style[f]="";n.style[r+"transition-delay"]="0"},n.trans2d=e,n.trans3d=o,n.setTransformOrigin=function(n,t,i){n.style[s]=t+"px "+i+"px"},n.transformName=t,n.vendorPrefix=r,n.css=i,n.createEl=function(n,t,r,u){return r=document.createElement(r||"div"),i(r,{position:"absolute",left:0,top:0}),t&&(r.id=t),u&&i(r,u),n.appendChild(r)},n.byId=function(n){return document.getElementById(n)},n.preventDefault=function(n){n.preventDefault()},n}();n.random=function(n,t){return n+Math.random()*(t-n)};n.interpolatePointOnLine=function(n,t,i,r,u){return{x:n+(i-n)*u,y:t+(r-t)*u}};n.Stage=function(){function l(u,f){h(u,f);u==n.RUN&&(i++,t||r())}function a(t,r){c(t,r);t==n.RUN&&(i--,0==i&&f())}function r(){t||e();t=!0}function f(){t=!1;cancelAnimationFrame(s)}function e(){s=requestAnimationFrame(e);n.dispatchEvent(v);n.currentFrame++}var n={RUN:"run",RESIZE:"resize",currentFrame:0},o,s,t,v={type:n.RUN},h,c,i=0;return n.init=function(){u.call(n);h=n.addEventListener;c=n.removeEventListener;n.addEventListener=l;n.removeEventListener=a;o=Date.now()},n.startLoop=r,n.stopLoop=f,n.getTimeElapsed=function(){return Date.now()-o},n}();n.ObjectPool=function(){this.objs=[]};n.ObjectPool.prototype={create:function(){},get:function(){return this.objs.length?this.objs.pop():this.create.apply(this,arguments)},recycle:function(n){this.objs.push(n)}};n.Tween={overwrite:!0,tweenerProps:["delay","onUpdate","onComplete","onStart","onStop"],to:function(i,r,u,f){var e=new t.Tween(i);for(var o in u)-1<this.tweenerProps.indexOf(o)?(e[o](u[o]),delete u[o]):u.ease&&(e.easing(u.ease),delete u.ease);return n.Tween.overwrite&&n.Tween.killTweensOf(i,!1,u),e.to(u,r),!1!==f?e.start():e},killTweensOf:function(n,i,r){var u,f,e,o;for(i=t.getAll(),f=i.length;f--;)if(u=i[f],u.getObject()===n)if(void 0===r)u.stop();else{e=u.getValuesEnd();for(o in e)void 0!==r[o]&&u.stop()}}};n.Tween.bezier=function(t,i,r,u){var e={target:t,start:{x:t.x,y:t.y},end:r.bezier[r.bezier.length-1],ctrl0:r.bezier[0],ctrl1:2<r.bezier.length?r.bezier[1]:null,otherProps:[],onUpdate:function(t){var i,u,r;for(this.ctrl1?(this.target.x=n.algos.cubicBezier(t,this.ctrl0.x,this.ctrl1.x,this.start.x,this.end.x),this.target.y=n.algos.cubicBezier(t,this.ctrl0.y,this.ctrl1.y,this.start.y,this.end.y)):(this.target.x=n.algos.quadraticBezier(t,this.ctrl0.x,this.start.x,this.end.x),this.target.y=n.algos.quadraticBezier(t,this.ctrl0.y,this.start.y,this.end.y)),i=0,u=this.otherProps.length;i<u;i++)r=this.otherProps[i],this.target[r]=this[r];if(this.onUpdateOrig)this.onUpdateOrig(t)}},f;r.onUpdate&&(e.onUpdateOrig=r.onUpdate);r.onUpdate=e.onUpdate;delete r.bezier;for(f in r)-1==n.Tween.tweenerProps.indexOf(f)&&"ease"!=f&&(e[f]=t[f],e.otherProps.push(f));return n.Tween.to(e,i,r,u)};n.ease={blink:function(n){return function(t){return Math.round(t*(n||5))%2}}};n.algos={quadraticBezier:function(n,t,i,r){return(1-n)*(1-n)*i+2*n*(1-n)*t+n*n*r},cubicBezier:function(n,t,i,r,u){return Math.pow(1-n,3)*r+3*n*Math.pow(1-n,2)*t+3*n*n*(1-n)*i+n*n*n*u}};n.Sprite=function(n,t,i,r){this.init(n,t,i,r)};n.Sprite.prototype={init:function(n,t,i,r){this.el=n;this.x=t||0;this.y=i||0;this.z=r||0;this.scale=1;this.rZ=this.rY=this.rX=0;this._alpha=this.alpha=1},move:function(n,t,i){return this.x=n,this.y=t,void 0!=i&&(this.z=i),this.update(),this},setAlpha:function(n){return this.el.style.opacity=this.alpha=this._alpha=n,this},update:function(){this.alpha!=this._alpha&&this.setAlpha(this.alpha);this.z||this.rX||this.rY?n.trans3d(this.el,this.x,this.y,this.z,this.rX,this.rY,this.rZ,this.scale):n.trans2d(this.el,this.x,this.y,this.scale,this.rZ)}};void 0===Date.now&&(Date.now=function(){return(new Date).valueOf()});t=t||function(){var n=[];return{REVISION:"13",getAll:function(){return n},removeAll:function(){n=[]},add:function(t){n.push(t)},remove:function(t){t=n.indexOf(t);-1!==t&&n.splice(t,1)},update:function(t){if(0===n.length)return!1;var i=0;for(t=void 0!==t?t:"undefined"!=typeof window&&void 0!==window.performance&&void 0!==window.performance.now?window.performance.now():Date.now();i<n.length;)n[i].update(t)?i++:n.splice(i,1);return!0}}}();t.Tween=function(n){var r={},i={},u={},p=1e3,o=0,w=!1,s=!1,h=0,f=null,b=t.Easing.Linear.None,k=t.Interpolation.Linear,e=[],c=null,l=!1,a=null,v=null,y=null;this.getObject=function(){return n};this.getValuesEnd=function(){return i};this.to=function(t,u){for(var f in t)r[f]=parseFloat(n[f],10);return void 0!==u&&(p=u),i=t,this};this.start=function(e){t.add(this);s=!0;l=!1;f=(void 0!==e?e:"undefined"!=typeof window&&void 0!==window.performance&&void 0!==window.performance.now?window.performance.now():Date.now())+h;for(var o in i){if(i[o]instanceof Array){if(0===i[o].length)continue;i[o]=[n[o]].concat(i[o])}r[o]=n[o];!1==r[o]instanceof Array&&(r[o]*=1);u[o]=r[o]||0}return this};this.stop=function(){return s?(t.remove(this),s=!1,null!==y&&y.call(n),this.stopChainedTweens(),this):this};this.stopChainedTweens=function(){for(var n=0,t=e.length;n<t;n++)e[n].stop()};this.delay=function(n){return h=n,this};this.repeat=function(n){return o=n,this};this.yoyo=function(n){return w=n,this};this.easing=function(n){return b=n,this};this.interpolation=function(n){return k=n,this};this.chain=function(){return e=arguments,this};this.onStart=function(n){return c=n,this};this.onUpdate=function(n){return a=n,this};this.onComplete=function(n){return v=n,this};this.onStop=function(n){return y=n,this};this.update=function(t){var s,g,d;if(t<f)return!0;!1===l&&(null!==c&&c.call(n),l=!0);var y=(t-f)/p,y=1<y?1:y,nt=b(y);for(s in i)g=r[s]||0,d=i[s],d instanceof Array?n[s]=k(d,nt):("string"==typeof d&&(d=g+parseFloat(d,10)),"number"==typeof d&&(n[s]=g+(d-g)*nt));if(null!==a&&a.call(n,nt),1==y)if(0<o){isFinite(o)&&o--;for(s in u)"string"==typeof i[s]&&(u[s]+=parseFloat(i[s],10)),w&&(y=u[s],u[s]=i[s],i[s]=y),r[s]=u[s];f=t+h}else{for(null!==v&&v.call(n),s=0,y=e.length;s<y;s++)e[s].start(t);return!1}return!0}};t.Easing={Linear:{None:function(n){return n}},Quadratic:{In:function(n){return n*n},Out:function(n){return n*(2-n)},InOut:function(n){return 1>(n*=2)?.5*n*n:-.5*(--n*(n-2)-1)}},Cubic:{In:function(n){return n*n*n},Out:function(n){return--n*n*n+1},InOut:function(n){return 1>(n*=2)?.5*n*n*n:.5*((n-=2)*n*n+2)}},Quartic:{In:function(n){return n*n*n*n},Out:function(n){return 1- --n*n*n*n},InOut:function(n){return 1>(n*=2)?.5*n*n*n*n:-.5*((n-=2)*n*n*n-2)}},Quintic:{In:function(n){return n*n*n*n*n},Out:function(n){return--n*n*n*n*n+1},InOut:function(n){return 1>(n*=2)?.5*n*n*n*n*n:.5*((n-=2)*n*n*n*n+2)}},Sinusoidal:{In:function(n){return 1-Math.cos(n*Math.PI/2)},Out:function(n){return Math.sin(n*Math.PI/2)},InOut:function(n){return.5*(1-Math.cos(Math.PI*n))}},Exponential:{In:function(n){return 0===n?0:Math.pow(1024,n-1)},Out:function(n){return 1===n?1:1-Math.pow(2,-10*n)},InOut:function(n){return 0===n?0:1===n?1:1>(n*=2)?.5*Math.pow(1024,n-1):.5*(-Math.pow(2,-10*(n-1))+2)}},Circular:{In:function(n){return 1-Math.sqrt(1-n*n)},Out:function(n){return Math.sqrt(1- --n*n)},InOut:function(n){return 1>(n*=2)?-.5*(Math.sqrt(1-n*n)-1):.5*(Math.sqrt(1-(n-=2)*n)+1)}},Elastic:{In:function(n){var i,t=.1;return 0===n?0:1===n?1:(!t||1>t?(t=1,i=.1):i=.4*Math.asin(1/t)/(2*Math.PI),-(t*Math.pow(2,10*(n-=1))*Math.sin(2*(n-i)*Math.PI/.4)))},Out:function(n){var i,t=.1;return 0===n?0:1===n?1:(!t||1>t?(t=1,i=.1):i=.4*Math.asin(1/t)/(2*Math.PI),t*Math.pow(2,-10*n)*Math.sin(2*(n-i)*Math.PI/.4)+1)},InOut:function(n){var i,t=.1;return 0===n?0:1===n?1:(!t||1>t?(t=1,i=.1):i=.4*Math.asin(1/t)/(2*Math.PI),1>(n*=2)?-.5*t*Math.pow(2,10*(n-=1))*Math.sin(2*(n-i)*Math.PI/.4):t*Math.pow(2,-10*(n-=1))*Math.sin(2*(n-i)*Math.PI/.4)*.5+1)}},Back:{In:function(n){return n*n*(2.70158*n-1.70158)},Out:function(n){return--n*n*(2.70158*n+1.70158)+1},InOut:function(n){return 1>(n*=2)?.5*n*n*(3.5949095*n-2.5949095):.5*((n-=2)*n*(3.5949095*n+2.5949095)+2)}},Bounce:{In:function(n){return 1-t.Easing.Bounce.Out(1-n)},Out:function(n){return n<1/2.75?7.5625*n*n:n<2/2.75?7.5625*(n-=1.5/2.75)*n+.75:n<2.5/2.75?7.5625*(n-=2.25/2.75)*n+.9375:7.5625*(n-=2.625/2.75)*n+.984375},InOut:function(n){return.5>n?.5*t.Easing.Bounce.In(2*n):.5*t.Easing.Bounce.Out(2*n-1)+.5}}};t.Interpolation={Linear:function(n,i){var r=n.length-1,u=r*i,f=Math.floor(u),e=t.Interpolation.Utils.Linear;return 0>i?e(n[0],n[1],u):1<i?e(n[r],n[r-1],r-u):e(n[f],n[f+1>r?r:f+1],u-f)},Bezier:function(n,i){for(var f=0,u=n.length-1,e=Math.pow,o=t.Interpolation.Utils.Bernstein,r=0;r<=u;r++)f+=e(1-i,u-r)*e(i,r)*n[r]*o(u,r);return f},CatmullRom:function(n,i){var r=n.length-1,f=r*i,u=Math.floor(f),e=t.Interpolation.Utils.CatmullRom;return n[0]===n[r]?(0>i&&(u=Math.floor(f=r*(1+i))),e(n[(u-1+r)%r],n[u],n[(u+1)%r],n[(u+2)%r],f-u)):0>i?n[0]-(e(n[0],n[0],n[1],n[1],-f)-n[0]):1<i?n[r]-(e(n[r],n[r],n[r-1],n[r-1],f-r)-n[r]):e(n[u?u-1:0],n[u],n[r<u+1?r:u+1],n[r<u+2?r:u+2],f-u)},Utils:{Linear:function(n,t,i){return(t-n)*i+n},Bernstein:function(n,i){var r=t.Interpolation.Utils.Factorial;return r(n)/r(i)/r(n-i)},Factorial:function(){var n=[1];return function(t){var r=1,i;if(n[t])return n[t];for(i=t;1<i;i--)r*=i;return n[t]=r}}(),CatmullRom:function(n,t,i,r,u){n=.5*(i-n);r=.5*(r-t);var f=u*u;return(2*t-2*i+n+r)*u*f+(-3*t+3*i-2*n-r)*f+n*u+t}}};u=function(){this.boop="lala";var n={};this.addEventListener=function(t,i){void 0===n[t]&&(n[t]=[]);-1===n[t].indexOf(i)&&n[t].push(i)};this.removeEventListener=function(t,i){var r=n[t].indexOf(i);-1!==r&&n[t].splice(r,1)};this.dispatchEvent=function(t){var r=n[t.type],i,u;if(void 0!==r)for(t.target=this,i=0,u=r.length;i<u;i++)r[i].call(this,t)}}})()