1. import 'core-js/es6/symbol';
    
  2. import 'core-js/es6/promise';
    
  3. import 'core-js/es6/set';
    
  4. import 'core-js/es6/map';
    
  5. 
    
  6. // http://paulirish.com/2011/requestanimationframe-for-smart-animating/
    
  7. // http://my.opera.com/emoller/blog/2011/12/20/requestanimationframe-for-smart-er-animating
    
  8. 
    
  9. // requestAnimationFrame polyfill by Erik Möller. fixes from Paul Irish and Tino Zijdel
    
  10. // MIT license
    
  11. (function () {
    
  12.   var lastTime = 0;
    
  13.   var vendors = ['ms', 'moz', 'webkit', 'o'];
    
  14.   for (var x = 0; x < vendors.length && !window.requestAnimationFrame; ++x) {
    
  15.     window.requestAnimationFrame = window[vendors[x] + 'RequestAnimationFrame'];
    
  16.     window.cancelAnimationFrame =
    
  17.       window[vendors[x] + 'CancelAnimationFrame'] ||
    
  18.       window[vendors[x] + 'CancelRequestAnimationFrame'];
    
  19.   }
    
  20. 
    
  21.   if (!window.requestAnimationFrame)
    
  22.     window.requestAnimationFrame = function (callback, element) {
    
  23.       var currTime = new Date().getTime();
    
  24.       var timeToCall = Math.max(0, 16 - (currTime - lastTime));
    
  25.       var id = window.setTimeout(function () {
    
  26.         callback(currTime + timeToCall);
    
  27.       }, timeToCall);
    
  28.       lastTime = currTime + timeToCall;
    
  29.       return id;
    
  30.     };
    
  31. 
    
  32.   if (!window.cancelAnimationFrame)
    
  33.     window.cancelAnimationFrame = function (id) {
    
  34.       clearTimeout(id);
    
  35.     };
    
  36. })();