angular-rails-engine 1.2.0.2 → 1.2.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
 - checksums.yaml.gz.sig +0 -0
 - data.tar.gz.sig +0 -0
 - data/app/assets/javascripts/angular/angular-animate.js +105 -37
 - data/app/assets/javascripts/angular/angular-animate.min.js +18 -17
 - data/app/assets/javascripts/angular/angular-cookies.js +2 -2
 - data/app/assets/javascripts/angular/angular-cookies.min.js +2 -2
 - data/app/assets/javascripts/angular/angular-loader.js +93 -6
 - data/app/assets/javascripts/angular/angular-loader.min.js +5 -4
 - data/app/assets/javascripts/angular/angular-mocks.js +187 -202
 - data/app/assets/javascripts/angular/angular-resource.js +31 -63
 - data/app/assets/javascripts/angular/angular-resource.min.js +8 -8
 - data/app/assets/javascripts/angular/angular-route.js +42 -31
 - data/app/assets/javascripts/angular/angular-route.min.js +10 -10
 - data/app/assets/javascripts/angular/angular-sanitize.js +66 -28
 - data/app/assets/javascripts/angular/angular-sanitize.min.js +10 -10
 - data/app/assets/javascripts/angular/angular-scenario.js +599 -348
 - data/app/assets/javascripts/angular/angular-touch.js +2 -2
 - data/app/assets/javascripts/angular/angular-touch.min.js +2 -2
 - data/app/assets/javascripts/angular/angular.js +603 -352
 - data/app/assets/javascripts/angular/angular.min.js +197 -196
 - data/app/assets/stylesheets/angular-csp.css +4 -4
 - data/lib/angular-rails-engine.rb +1 -1
 - data/lib/angular-rails-engine/version.rb +1 -1
 - metadata +2 -2
 - metadata.gz.sig +0 -0
 
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            SHA1:
         
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: e813091ed284e69523789a33e22493fd55f9d3a3
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: e117f4a5536f1dc2ddbfc635aecada09449dbb5e
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: fd26d69a064ab5c2b737e2ca3822ab215ca3c93ca569db04563934d370894af92235d49cd1f481537ed6567893808e91b3980bea2cdd5fa9ce981eb5ba9042c0
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: 94acd59c22494b938b7bba7cbe9da6503db6650c720ad7a31d571a786412ae0ea5b3c2f7bc9521635698a008a31364221ced9061fd3b57dcac70909daf7ada7a
         
     | 
    
        checksums.yaml.gz.sig
    CHANGED
    
    | 
         Binary file 
     | 
    
        data.tar.gz.sig
    CHANGED
    
    | 
         Binary file 
     | 
| 
         @@ -1,6 +1,6 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            /**
         
     | 
| 
       2 
     | 
    
         
            -
             * @license AngularJS v1.2. 
     | 
| 
       3 
     | 
    
         
            -
             * (c) 2010- 
     | 
| 
      
 2 
     | 
    
         
            +
             * @license AngularJS v1.2.3
         
     | 
| 
      
 3 
     | 
    
         
            +
             * (c) 2010-2014 Google, Inc. http://angularjs.org
         
     | 
| 
       4 
4 
     | 
    
         
             
             * License: MIT
         
     | 
| 
       5 
5 
     | 
    
         
             
             */
         
     | 
| 
       6 
6 
     | 
    
         
             
            (function(window, angular, undefined) {'use strict';
         
     | 
| 
         @@ -165,7 +165,7 @@ 
     | 
|
| 
       165 
165 
     | 
    
         
             
             * }
         
     | 
| 
       166 
166 
     | 
    
         
             
             * </pre>
         
     | 
| 
       167 
167 
     | 
    
         
             
             *
         
     | 
| 
       168 
     | 
    
         
            -
             * Staggering animations work by default in ngRepeat (so long as the CSS class is  
     | 
| 
      
 168 
     | 
    
         
            +
             * Staggering animations work by default in ngRepeat (so long as the CSS class is defined). Outside of ngRepeat, to use staggering animations
         
     | 
| 
       169 
169 
     | 
    
         
             
             * on your own, they can be triggered by firing multiple calls to the same event on $animate. However, the restrictions surrounding this
         
     | 
| 
       170 
170 
     | 
    
         
             
             * are that each of the elements must have the same CSS className value as well as the same parent element. A stagger operation
         
     | 
| 
       171 
171 
     | 
    
         
             
             * will also be reset if more than 10ms has passed after the last animation has been fired.
         
     | 
| 
         @@ -228,7 +228,7 @@ 
     | 
|
| 
       228 
228 
     | 
    
         
             
             * JavaScript-defined animations are created with a CSS-like class selector and a collection of events which are set to run
         
     | 
| 
       229 
229 
     | 
    
         
             
             * a javascript callback function. When an animation is triggered, $animate will look for a matching animation which fits
         
     | 
| 
       230 
230 
     | 
    
         
             
             * the element's CSS class attribute value and then run the matching animation event function (if found).
         
     | 
| 
       231 
     | 
    
         
            -
             * In other words, if the CSS classes present on the animated element match any of the JavaScript animations then the callback function
         
     | 
| 
      
 231 
     | 
    
         
            +
             * In other words, if the CSS classes present on the animated element match any of the JavaScript animations then the callback function will
         
     | 
| 
       232 
232 
     | 
    
         
             
             * be executed. It should be also noted that only simple, single class selectors are allowed (compound class selectors are not supported).
         
     | 
| 
       233 
233 
     | 
    
         
             
             *
         
     | 
| 
       234 
234 
     | 
    
         
             
             * Within a JavaScript animation, an object containing various event callback animation functions is expected to be returned.
         
     | 
| 
         @@ -269,9 +269,16 @@ angular.module('ngAnimate', ['ng']) 
     | 
|
| 
       269 
269 
     | 
    
         | 
| 
       270 
270 
     | 
    
         
             
                  $rootElement.data(NG_ANIMATE_STATE, rootAnimateState);
         
     | 
| 
       271 
271 
     | 
    
         | 
| 
       272 
     | 
    
         
            -
                  // disable animations during bootstrap, but once we bootstrapped,  
     | 
| 
      
 272 
     | 
    
         
            +
                  // disable animations during bootstrap, but once we bootstrapped, wait again
         
     | 
| 
      
 273 
     | 
    
         
            +
                  // for another digest until enabling animations. The reason why we digest twice
         
     | 
| 
      
 274 
     | 
    
         
            +
                  // is because all structural animations (enter, leave and move) all perform a
         
     | 
| 
      
 275 
     | 
    
         
            +
                  // post digest operation before animating. If we only wait for a single digest
         
     | 
| 
      
 276 
     | 
    
         
            +
                  // to pass then the structural animation would render its animation on page load.
         
     | 
| 
      
 277 
     | 
    
         
            +
                  // (which is what we're trying to avoid when the application first boots up.)
         
     | 
| 
       273 
278 
     | 
    
         
             
                  $rootScope.$$postDigest(function() {
         
     | 
| 
       274 
     | 
    
         
            -
                     
     | 
| 
      
 279 
     | 
    
         
            +
                    $rootScope.$$postDigest(function() {
         
     | 
| 
      
 280 
     | 
    
         
            +
                      rootAnimateState.running = false;
         
     | 
| 
      
 281 
     | 
    
         
            +
                    });
         
     | 
| 
       275 
282 
     | 
    
         
             
                  });
         
     | 
| 
       276 
283 
     | 
    
         | 
| 
       277 
284 
     | 
    
         
             
                  function lookup(name) {
         
     | 
| 
         @@ -516,6 +523,7 @@ angular.module('ngAnimate', ['ng']) 
     | 
|
| 
       516 
523 
     | 
    
         
             
                     * @function
         
     | 
| 
       517 
524 
     | 
    
         
             
                     *
         
     | 
| 
       518 
525 
     | 
    
         
             
                     * @param {boolean=} value If provided then set the animation on or off.
         
     | 
| 
      
 526 
     | 
    
         
            +
                     * @param {jQuery/jqLite element=} element If provided then the element will be used to represent the enable/disable operation
         
     | 
| 
       519 
527 
     | 
    
         
             
                     * @return {boolean} Current animation state.
         
     | 
| 
       520 
528 
     | 
    
         
             
                     *
         
     | 
| 
       521 
529 
     | 
    
         
             
                     * @description
         
     | 
| 
         @@ -554,7 +562,8 @@ angular.module('ngAnimate', ['ng']) 
     | 
|
| 
       554 
562 
     | 
    
         
             
                    and the onComplete callback will be fired once the animation is fully complete.
         
     | 
| 
       555 
563 
     | 
    
         
             
                  */
         
     | 
| 
       556 
564 
     | 
    
         
             
                  function performAnimation(animationEvent, className, element, parentElement, afterElement, domOperation, doneCallback) {
         
     | 
| 
       557 
     | 
    
         
            -
                    var  
     | 
| 
      
 565 
     | 
    
         
            +
                    var currentClassName = element.attr('class') || '';
         
     | 
| 
      
 566 
     | 
    
         
            +
                    var classes = currentClassName + ' ' + className;
         
     | 
| 
       558 
567 
     | 
    
         
             
                    var animationLookup = (' ' + classes).replace(/\s+/g,'.');
         
     | 
| 
       559 
568 
     | 
    
         
             
                    if (!parentElement) {
         
     | 
| 
       560 
569 
     | 
    
         
             
                      parentElement = afterElement ? afterElement.parent() : element.parent();
         
     | 
| 
         @@ -569,7 +578,7 @@ angular.module('ngAnimate', ['ng']) 
     | 
|
| 
       569 
578 
     | 
    
         
             
                    //the animation if any matching animations are not found at all.
         
     | 
| 
       570 
579 
     | 
    
         
             
                    //NOTE: IE8 + IE9 should close properly (run closeAnimation()) in case a NO animation is not found.
         
     | 
| 
       571 
580 
     | 
    
         
             
                    if (animationsDisabled(element, parentElement) || matches.length === 0) {
         
     | 
| 
       572 
     | 
    
         
            -
                       
     | 
| 
      
 581 
     | 
    
         
            +
                      fireDOMOperation();
         
     | 
| 
       573 
582 
     | 
    
         
             
                      closeAnimation();
         
     | 
| 
       574 
583 
     | 
    
         
             
                      return;
         
     | 
| 
       575 
584 
     | 
    
         
             
                    }
         
     | 
| 
         @@ -602,27 +611,48 @@ angular.module('ngAnimate', ['ng']) 
     | 
|
| 
       602 
611 
     | 
    
         
             
                    //this would mean that an animation was not allowed so let the existing
         
     | 
| 
       603 
612 
     | 
    
         
             
                    //animation do it's thing and close this one early
         
     | 
| 
       604 
613 
     | 
    
         
             
                    if(animations.length === 0) {
         
     | 
| 
       605 
     | 
    
         
            -
                       
     | 
| 
      
 614 
     | 
    
         
            +
                      fireDOMOperation();
         
     | 
| 
       606 
615 
     | 
    
         
             
                      fireDoneCallbackAsync();
         
     | 
| 
       607 
616 
     | 
    
         
             
                      return;
         
     | 
| 
       608 
617 
     | 
    
         
             
                    }
         
     | 
| 
       609 
618 
     | 
    
         | 
| 
      
 619 
     | 
    
         
            +
                    //this value will be searched for class-based CSS className lookup. Therefore,
         
     | 
| 
      
 620 
     | 
    
         
            +
                    //we prefix and suffix the current className value with spaces to avoid substring
         
     | 
| 
      
 621 
     | 
    
         
            +
                    //lookups of className tokens
         
     | 
| 
      
 622 
     | 
    
         
            +
                    var futureClassName = ' ' + currentClassName + ' ';
         
     | 
| 
       610 
623 
     | 
    
         
             
                    if(ngAnimateState.running) {
         
     | 
| 
       611 
624 
     | 
    
         
             
                      //if an animation is currently running on the element then lets take the steps
         
     | 
| 
       612 
625 
     | 
    
         
             
                      //to cancel that animation and fire any required callbacks
         
     | 
| 
       613 
626 
     | 
    
         
             
                      $timeout.cancel(ngAnimateState.closeAnimationTimeout);
         
     | 
| 
       614 
627 
     | 
    
         
             
                      cleanup(element);
         
     | 
| 
       615 
628 
     | 
    
         
             
                      cancelAnimations(ngAnimateState.animations);
         
     | 
| 
       616 
     | 
    
         
            -
             
     | 
| 
      
 629 
     | 
    
         
            +
             
     | 
| 
      
 630 
     | 
    
         
            +
                      //if the class is removed during the reflow then it will revert the styles temporarily
         
     | 
| 
      
 631 
     | 
    
         
            +
                      //back to the base class CSS styling causing a jump-like effect to occur. This check
         
     | 
| 
      
 632 
     | 
    
         
            +
                      //here ensures that the domOperation is only performed after the reflow has commenced
         
     | 
| 
      
 633 
     | 
    
         
            +
                      if(ngAnimateState.beforeComplete) {
         
     | 
| 
      
 634 
     | 
    
         
            +
                        (ngAnimateState.done || noop)(true);
         
     | 
| 
      
 635 
     | 
    
         
            +
                      } else if(isClassBased && !ngAnimateState.structural) {
         
     | 
| 
      
 636 
     | 
    
         
            +
                        //class-based animations will compare element className values after cancelling the
         
     | 
| 
      
 637 
     | 
    
         
            +
                        //previous animation to see if the element properties already contain the final CSS
         
     | 
| 
      
 638 
     | 
    
         
            +
                        //class and if so then the animation will be skipped. Since the domOperation will
         
     | 
| 
      
 639 
     | 
    
         
            +
                        //be performed only after the reflow is complete then our element's className value
         
     | 
| 
      
 640 
     | 
    
         
            +
                        //will be invalid. Therefore the same string manipulation that would occur within the
         
     | 
| 
      
 641 
     | 
    
         
            +
                        //DOM operation will be performed below so that the class comparison is valid...
         
     | 
| 
      
 642 
     | 
    
         
            +
                        futureClassName = ngAnimateState.event == 'removeClass' ?
         
     | 
| 
      
 643 
     | 
    
         
            +
                          futureClassName.replace(ngAnimateState.className, '') :
         
     | 
| 
      
 644 
     | 
    
         
            +
                          futureClassName + ngAnimateState.className + ' ';
         
     | 
| 
      
 645 
     | 
    
         
            +
                      }
         
     | 
| 
       617 
646 
     | 
    
         
             
                    }
         
     | 
| 
       618 
647 
     | 
    
         | 
| 
       619 
648 
     | 
    
         
             
                    //There is no point in perform a class-based animation if the element already contains
         
     | 
| 
       620 
649 
     | 
    
         
             
                    //(on addClass) or doesn't contain (on removeClass) the className being animated.
         
     | 
| 
       621 
650 
     | 
    
         
             
                    //The reason why this is being called after the previous animations are cancelled
         
     | 
| 
       622 
651 
     | 
    
         
             
                    //is so that the CSS classes present on the element can be properly examined.
         
     | 
| 
       623 
     | 
    
         
            -
                     
     | 
| 
       624 
     | 
    
         
            -
             
     | 
| 
       625 
     | 
    
         
            -
             
     | 
| 
      
 652 
     | 
    
         
            +
                    var classNameToken = ' ' + className + ' ';
         
     | 
| 
      
 653 
     | 
    
         
            +
                    if((animationEvent == 'addClass'    && futureClassName.indexOf(classNameToken) >= 0) ||
         
     | 
| 
      
 654 
     | 
    
         
            +
                       (animationEvent == 'removeClass' && futureClassName.indexOf(classNameToken) == -1)) {
         
     | 
| 
      
 655 
     | 
    
         
            +
                      fireDOMOperation();
         
     | 
| 
       626 
656 
     | 
    
         
             
                      fireDoneCallbackAsync();
         
     | 
| 
       627 
657 
     | 
    
         
             
                      return;
         
     | 
| 
       628 
658 
     | 
    
         
             
                    }
         
     | 
| 
         @@ -633,6 +663,8 @@ angular.module('ngAnimate', ['ng']) 
     | 
|
| 
       633 
663 
     | 
    
         | 
| 
       634 
664 
     | 
    
         
             
                    element.data(NG_ANIMATE_STATE, {
         
     | 
| 
       635 
665 
     | 
    
         
             
                      running:true,
         
     | 
| 
      
 666 
     | 
    
         
            +
                      event:animationEvent,
         
     | 
| 
      
 667 
     | 
    
         
            +
                      className:className,
         
     | 
| 
       636 
668 
     | 
    
         
             
                      structural:!isClassBased,
         
     | 
| 
       637 
669 
     | 
    
         
             
                      animations:animations,
         
     | 
| 
       638 
670 
     | 
    
         
             
                      done:onBeforeAnimationsComplete
         
     | 
| 
         @@ -643,7 +675,7 @@ angular.module('ngAnimate', ['ng']) 
     | 
|
| 
       643 
675 
     | 
    
         
             
                    invokeRegisteredAnimationFns(animations, 'before', onBeforeAnimationsComplete);
         
     | 
| 
       644 
676 
     | 
    
         | 
| 
       645 
677 
     | 
    
         
             
                    function onBeforeAnimationsComplete(cancelled) {
         
     | 
| 
       646 
     | 
    
         
            -
                       
     | 
| 
      
 678 
     | 
    
         
            +
                      fireDOMOperation();
         
     | 
| 
       647 
679 
     | 
    
         
             
                      if(cancelled === true) {
         
     | 
| 
       648 
680 
     | 
    
         
             
                        closeAnimation();
         
     | 
| 
       649 
681 
     | 
    
         
             
                        return;
         
     | 
| 
         @@ -701,6 +733,15 @@ angular.module('ngAnimate', ['ng']) 
     | 
|
| 
       701 
733 
     | 
    
         
             
                      doneCallback && $timeout(doneCallback, 0, false);
         
     | 
| 
       702 
734 
     | 
    
         
             
                    }
         
     | 
| 
       703 
735 
     | 
    
         | 
| 
      
 736 
     | 
    
         
            +
                    //it is less complicated to use a flag than managing and cancelling
         
     | 
| 
      
 737 
     | 
    
         
            +
                    //timeouts containing multiple callbacks.
         
     | 
| 
      
 738 
     | 
    
         
            +
                    function fireDOMOperation() {
         
     | 
| 
      
 739 
     | 
    
         
            +
                      if(!fireDOMOperation.hasBeenRun) {
         
     | 
| 
      
 740 
     | 
    
         
            +
                        fireDOMOperation.hasBeenRun = true;
         
     | 
| 
      
 741 
     | 
    
         
            +
                        domOperation();
         
     | 
| 
      
 742 
     | 
    
         
            +
                      }
         
     | 
| 
      
 743 
     | 
    
         
            +
                    }
         
     | 
| 
      
 744 
     | 
    
         
            +
             
     | 
| 
       704 
745 
     | 
    
         
             
                    function closeAnimation() {
         
     | 
| 
       705 
746 
     | 
    
         
             
                      if(!closeAnimation.hasBeenRun) {
         
     | 
| 
       706 
747 
     | 
    
         
             
                        closeAnimation.hasBeenRun = true;
         
     | 
| 
         @@ -743,10 +784,10 @@ angular.module('ngAnimate', ['ng']) 
     | 
|
| 
       743 
784 
     | 
    
         
             
                  function cancelAnimations(animations) {
         
     | 
| 
       744 
785 
     | 
    
         
             
                    var isCancelledFlag = true;
         
     | 
| 
       745 
786 
     | 
    
         
             
                    forEach(animations, function(animation) {
         
     | 
| 
       746 
     | 
    
         
            -
                      if(!animations 
     | 
| 
      
 787 
     | 
    
         
            +
                      if(!animations.beforeComplete) {
         
     | 
| 
       747 
788 
     | 
    
         
             
                        (animation.beforeEnd || noop)(isCancelledFlag);
         
     | 
| 
       748 
789 
     | 
    
         
             
                      }
         
     | 
| 
       749 
     | 
    
         
            -
                      if(!animations 
     | 
| 
      
 790 
     | 
    
         
            +
                      if(!animations.afterComplete) {
         
     | 
| 
       750 
791 
     | 
    
         
             
                        (animation.afterEnd || noop)(isCancelledFlag);
         
     | 
| 
       751 
792 
     | 
    
         
             
                      }
         
     | 
| 
       752 
793 
     | 
    
         
             
                    });
         
     | 
| 
         @@ -848,13 +889,6 @@ angular.module('ngAnimate', ['ng']) 
     | 
|
| 
       848 
889 
     | 
    
         
             
                    }, 10, false);
         
     | 
| 
       849 
890 
     | 
    
         
             
                  }
         
     | 
| 
       850 
891 
     | 
    
         | 
| 
       851 
     | 
    
         
            -
                  function applyStyle(node, style) {
         
     | 
| 
       852 
     | 
    
         
            -
                    var oldStyle = node.getAttribute('style') || '';
         
     | 
| 
       853 
     | 
    
         
            -
                    var newStyle = (oldStyle.length > 0 ? '; ' : '') + style;
         
     | 
| 
       854 
     | 
    
         
            -
                    node.setAttribute('style', newStyle);
         
     | 
| 
       855 
     | 
    
         
            -
                    return oldStyle;
         
     | 
| 
       856 
     | 
    
         
            -
                  }
         
     | 
| 
       857 
     | 
    
         
            -
             
     | 
| 
       858 
892 
     | 
    
         
             
                  function getElementAnimationDetails(element, cacheKey) {
         
     | 
| 
       859 
893 
     | 
    
         
             
                    var data = cacheKey ? lookupCache[cacheKey] : null;
         
     | 
| 
       860 
894 
     | 
    
         
             
                    if(!data) {
         
     | 
| 
         @@ -973,7 +1007,9 @@ angular.module('ngAnimate', ['ng']) 
     | 
|
| 
       973 
1007 
     | 
    
         
             
                    if(timings.transitionDuration > 0) {
         
     | 
| 
       974 
1008 
     | 
    
         
             
                      element.addClass(NG_ANIMATE_FALLBACK_CLASS_NAME);
         
     | 
| 
       975 
1009 
     | 
    
         
             
                      activeClassName += NG_ANIMATE_FALLBACK_ACTIVE_CLASS_NAME + ' ';
         
     | 
| 
       976 
     | 
    
         
            -
                       
     | 
| 
      
 1010 
     | 
    
         
            +
                      blockTransitions(element);
         
     | 
| 
      
 1011 
     | 
    
         
            +
                    } else {
         
     | 
| 
      
 1012 
     | 
    
         
            +
                      blockKeyframeAnimations(element);
         
     | 
| 
       977 
1013 
     | 
    
         
             
                    }
         
     | 
| 
       978 
1014 
     | 
    
         | 
| 
       979 
1015 
     | 
    
         
             
                    forEach(className.split(' '), function(klass, i) {
         
     | 
| 
         @@ -993,6 +1029,28 @@ angular.module('ngAnimate', ['ng']) 
     | 
|
| 
       993 
1029 
     | 
    
         
             
                    return true;
         
     | 
| 
       994 
1030 
     | 
    
         
             
                  }
         
     | 
| 
       995 
1031 
     | 
    
         | 
| 
      
 1032 
     | 
    
         
            +
                  function blockTransitions(element) {
         
     | 
| 
      
 1033 
     | 
    
         
            +
                    element[0].style[TRANSITION_PROP + PROPERTY_KEY] = 'none';
         
     | 
| 
      
 1034 
     | 
    
         
            +
                  }
         
     | 
| 
      
 1035 
     | 
    
         
            +
             
     | 
| 
      
 1036 
     | 
    
         
            +
                  function blockKeyframeAnimations(element) {
         
     | 
| 
      
 1037 
     | 
    
         
            +
                    element[0].style[ANIMATION_PROP] = 'none 0s';
         
     | 
| 
      
 1038 
     | 
    
         
            +
                  }
         
     | 
| 
      
 1039 
     | 
    
         
            +
             
     | 
| 
      
 1040 
     | 
    
         
            +
                  function unblockTransitions(element) {
         
     | 
| 
      
 1041 
     | 
    
         
            +
                    var node = element[0], prop = TRANSITION_PROP + PROPERTY_KEY;
         
     | 
| 
      
 1042 
     | 
    
         
            +
                    if(node.style[prop] && node.style[prop].length > 0) {
         
     | 
| 
      
 1043 
     | 
    
         
            +
                      node.style[prop] = '';
         
     | 
| 
      
 1044 
     | 
    
         
            +
                    }
         
     | 
| 
      
 1045 
     | 
    
         
            +
                  }
         
     | 
| 
      
 1046 
     | 
    
         
            +
             
     | 
| 
      
 1047 
     | 
    
         
            +
                  function unblockKeyframeAnimations(element) {
         
     | 
| 
      
 1048 
     | 
    
         
            +
                    var node = element[0], prop = ANIMATION_PROP;
         
     | 
| 
      
 1049 
     | 
    
         
            +
                    if(node.style[prop] && node.style[prop].length > 0) {
         
     | 
| 
      
 1050 
     | 
    
         
            +
                      element[0].style[prop] = '';
         
     | 
| 
      
 1051 
     | 
    
         
            +
                    }
         
     | 
| 
      
 1052 
     | 
    
         
            +
                  }
         
     | 
| 
      
 1053 
     | 
    
         
            +
             
     | 
| 
       996 
1054 
     | 
    
         
             
                  function animateRun(element, className, activeAnimationComplete) {
         
     | 
| 
       997 
1055 
     | 
    
         
             
                    var data = element.data(NG_ANIMATE_CSS_DATA_KEY);
         
     | 
| 
       998 
1056 
     | 
    
         
             
                    if(!element.hasClass(className) || !data) {
         
     | 
| 
         @@ -1008,19 +1066,18 @@ angular.module('ngAnimate', ['ng']) 
     | 
|
| 
       1008 
1066 
     | 
    
         
             
                    var maxDelayTime = Math.max(timings.transitionDelay, timings.animationDelay) * 1000;
         
     | 
| 
       1009 
1067 
     | 
    
         
             
                    var startTime = Date.now();
         
     | 
| 
       1010 
1068 
     | 
    
         
             
                    var css3AnimationEvents = ANIMATIONEND_EVENT + ' ' + TRANSITIONEND_EVENT;
         
     | 
| 
       1011 
     | 
    
         
            -
                    var formerStyle;
         
     | 
| 
       1012 
1069 
     | 
    
         
             
                    var ii = data.ii;
         
     | 
| 
       1013 
1070 
     | 
    
         | 
| 
       1014 
     | 
    
         
            -
                    var applyFallbackStyle, style = '';
         
     | 
| 
      
 1071 
     | 
    
         
            +
                    var applyFallbackStyle, style = '', appliedStyles = [];
         
     | 
| 
       1015 
1072 
     | 
    
         
             
                    if(timings.transitionDuration > 0) {
         
     | 
| 
       1016 
     | 
    
         
            -
                      node.style[TRANSITION_PROP + PROPERTY_KEY] = '';
         
     | 
| 
       1017 
     | 
    
         
            -
             
     | 
| 
       1018 
1073 
     | 
    
         
             
                      var propertyStyle = timings.transitionPropertyStyle;
         
     | 
| 
       1019 
1074 
     | 
    
         
             
                      if(propertyStyle.indexOf('all') == -1) {
         
     | 
| 
       1020 
1075 
     | 
    
         
             
                        applyFallbackStyle = true;
         
     | 
| 
       1021 
     | 
    
         
            -
                        var fallbackProperty = $sniffer.msie ? '-ms-zoom' : ' 
     | 
| 
      
 1076 
     | 
    
         
            +
                        var fallbackProperty = $sniffer.msie ? '-ms-zoom' : 'border-spacing';
         
     | 
| 
       1022 
1077 
     | 
    
         
             
                        style += CSS_PREFIX + 'transition-property: ' + propertyStyle + ', ' + fallbackProperty + '; ';
         
     | 
| 
       1023 
1078 
     | 
    
         
             
                        style += CSS_PREFIX + 'transition-duration: ' + timings.transitionDurationStyle + ', ' + timings.transitionDuration + 's; ';
         
     | 
| 
      
 1079 
     | 
    
         
            +
                        appliedStyles.push(CSS_PREFIX + 'transition-property');
         
     | 
| 
      
 1080 
     | 
    
         
            +
                        appliedStyles.push(CSS_PREFIX + 'transition-duration');
         
     | 
| 
       1024 
1081 
     | 
    
         
             
                      }
         
     | 
| 
       1025 
1082 
     | 
    
         
             
                    }
         
     | 
| 
       1026 
1083 
     | 
    
         | 
| 
         @@ -1033,16 +1090,19 @@ angular.module('ngAnimate', ['ng']) 
     | 
|
| 
       1033 
1090 
     | 
    
         | 
| 
       1034 
1091 
     | 
    
         
             
                        style += CSS_PREFIX + 'transition-delay: ' +
         
     | 
| 
       1035 
1092 
     | 
    
         
             
                                 prepareStaggerDelay(delayStyle, stagger.transitionDelay, ii) + '; ';
         
     | 
| 
      
 1093 
     | 
    
         
            +
                        appliedStyles.push(CSS_PREFIX + 'transition-delay');
         
     | 
| 
       1036 
1094 
     | 
    
         
             
                      }
         
     | 
| 
       1037 
1095 
     | 
    
         | 
| 
       1038 
1096 
     | 
    
         
             
                      if(stagger.animationDelay > 0 && stagger.animationDuration === 0) {
         
     | 
| 
       1039 
1097 
     | 
    
         
             
                        style += CSS_PREFIX + 'animation-delay: ' +
         
     | 
| 
       1040 
1098 
     | 
    
         
             
                                 prepareStaggerDelay(timings.animationDelayStyle, stagger.animationDelay, ii) + '; ';
         
     | 
| 
      
 1099 
     | 
    
         
            +
                        appliedStyles.push(CSS_PREFIX + 'animation-delay');
         
     | 
| 
       1041 
1100 
     | 
    
         
             
                      }
         
     | 
| 
       1042 
1101 
     | 
    
         
             
                    }
         
     | 
| 
       1043 
1102 
     | 
    
         | 
| 
       1044 
     | 
    
         
            -
                    if( 
     | 
| 
       1045 
     | 
    
         
            -
                       
     | 
| 
      
 1103 
     | 
    
         
            +
                    if(appliedStyles.length > 0) {
         
     | 
| 
      
 1104 
     | 
    
         
            +
                      var oldStyle = node.getAttribute('style') || '';
         
     | 
| 
      
 1105 
     | 
    
         
            +
                      node.setAttribute('style', oldStyle + ' ' + style);
         
     | 
| 
       1046 
1106 
     | 
    
         
             
                    }
         
     | 
| 
       1047 
1107 
     | 
    
         | 
| 
       1048 
1108 
     | 
    
         
             
                    element.on(css3AnimationEvents, onAnimationProgress);
         
     | 
| 
         @@ -1055,10 +1115,8 @@ angular.module('ngAnimate', ['ng']) 
     | 
|
| 
       1055 
1115 
     | 
    
         
             
                      element.off(css3AnimationEvents, onAnimationProgress);
         
     | 
| 
       1056 
1116 
     | 
    
         
             
                      element.removeClass(activeClassName);
         
     | 
| 
       1057 
1117 
     | 
    
         
             
                      animateClose(element, className);
         
     | 
| 
       1058 
     | 
    
         
            -
                       
     | 
| 
       1059 
     | 
    
         
            -
                         
     | 
| 
       1060 
     | 
    
         
            -
                          node.setAttribute('style', formerStyle) :
         
     | 
| 
       1061 
     | 
    
         
            -
                          node.removeAttribute('style');
         
     | 
| 
      
 1118 
     | 
    
         
            +
                      for (var i in appliedStyles) {
         
     | 
| 
      
 1119 
     | 
    
         
            +
                        node.style.removeProperty(appliedStyles[i]);
         
     | 
| 
       1062 
1120 
     | 
    
         
             
                      }
         
     | 
| 
       1063 
1121 
     | 
    
         
             
                    };
         
     | 
| 
       1064 
1122 
     | 
    
         | 
| 
         @@ -1122,6 +1180,8 @@ angular.module('ngAnimate', ['ng']) 
     | 
|
| 
       1122 
1180 
     | 
    
         
             
                    //happen in the first place
         
     | 
| 
       1123 
1181 
     | 
    
         
             
                    var cancel = preReflowCancellation;
         
     | 
| 
       1124 
1182 
     | 
    
         
             
                    afterReflow(function() {
         
     | 
| 
      
 1183 
     | 
    
         
            +
                      unblockTransitions(element);
         
     | 
| 
      
 1184 
     | 
    
         
            +
                      unblockKeyframeAnimations(element);
         
     | 
| 
       1125 
1185 
     | 
    
         
             
                      //once the reflow is complete then we point cancel to
         
     | 
| 
       1126 
1186 
     | 
    
         
             
                      //the new cancellation function which will remove all of the
         
     | 
| 
       1127 
1187 
     | 
    
         
             
                      //animation properties from the active animation
         
     | 
| 
         @@ -1185,7 +1245,11 @@ angular.module('ngAnimate', ['ng']) 
     | 
|
| 
       1185 
1245 
     | 
    
         
             
                    beforeAddClass : function(element, className, animationCompleted) {
         
     | 
| 
       1186 
1246 
     | 
    
         
             
                      var cancellationMethod = animateBefore(element, suffixClasses(className, '-add'));
         
     | 
| 
       1187 
1247 
     | 
    
         
             
                      if(cancellationMethod) {
         
     | 
| 
       1188 
     | 
    
         
            -
                        afterReflow( 
     | 
| 
      
 1248 
     | 
    
         
            +
                        afterReflow(function() {
         
     | 
| 
      
 1249 
     | 
    
         
            +
                          unblockTransitions(element);
         
     | 
| 
      
 1250 
     | 
    
         
            +
                          unblockKeyframeAnimations(element);
         
     | 
| 
      
 1251 
     | 
    
         
            +
                          animationCompleted();
         
     | 
| 
      
 1252 
     | 
    
         
            +
                        });
         
     | 
| 
       1189 
1253 
     | 
    
         
             
                        return cancellationMethod;
         
     | 
| 
       1190 
1254 
     | 
    
         
             
                      }
         
     | 
| 
       1191 
1255 
     | 
    
         
             
                      animationCompleted();
         
     | 
| 
         @@ -1198,7 +1262,11 @@ angular.module('ngAnimate', ['ng']) 
     | 
|
| 
       1198 
1262 
     | 
    
         
             
                    beforeRemoveClass : function(element, className, animationCompleted) {
         
     | 
| 
       1199 
1263 
     | 
    
         
             
                      var cancellationMethod = animateBefore(element, suffixClasses(className, '-remove'));
         
     | 
| 
       1200 
1264 
     | 
    
         
             
                      if(cancellationMethod) {
         
     | 
| 
       1201 
     | 
    
         
            -
                        afterReflow( 
     | 
| 
      
 1265 
     | 
    
         
            +
                        afterReflow(function() {
         
     | 
| 
      
 1266 
     | 
    
         
            +
                          unblockTransitions(element);
         
     | 
| 
      
 1267 
     | 
    
         
            +
                          unblockKeyframeAnimations(element);
         
     | 
| 
      
 1268 
     | 
    
         
            +
                          animationCompleted();
         
     | 
| 
      
 1269 
     | 
    
         
            +
                        });
         
     | 
| 
       1202 
1270 
     | 
    
         
             
                        return cancellationMethod;
         
     | 
| 
       1203 
1271 
     | 
    
         
             
                      }
         
     | 
| 
       1204 
1272 
     | 
    
         
             
                      animationCompleted();
         
     | 
| 
         @@ -1,21 +1,22 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            /*
         
     | 
| 
       2 
     | 
    
         
            -
             AngularJS v1.2. 
     | 
| 
       3 
     | 
    
         
            -
             (c) 2010- 
     | 
| 
      
 2 
     | 
    
         
            +
             AngularJS v1.2.3
         
     | 
| 
      
 3 
     | 
    
         
            +
             (c) 2010-2014 Google, Inc. http://angularjs.org
         
     | 
| 
       4 
4 
     | 
    
         
             
             License: MIT
         
     | 
| 
       5 
5 
     | 
    
         
             
            */
         
     | 
| 
       6 
     | 
    
         
            -
            (function( 
     | 
| 
       7 
     | 
    
         
            -
            b 
     | 
| 
       8 
     | 
    
         
            -
             
     | 
| 
       9 
     | 
    
         
            -
             
     | 
| 
       10 
     | 
    
         
            -
            !1):(a.removeClass( 
     | 
| 
       11 
     | 
    
         
            -
            "ng-leave",a,null,null,function(){ 
     | 
| 
       12 
     | 
    
         
            -
             
     | 
| 
       13 
     | 
    
         
            -
            Math.max( 
     | 
| 
       14 
     | 
    
         
            -
            function  
     | 
| 
       15 
     | 
    
         
            -
            ii: 
     | 
| 
       16 
     | 
    
         
            -
            q+" 
     | 
| 
       17 
     | 
    
         
            -
             
     | 
| 
       18 
     | 
    
         
            -
            ""; 
     | 
| 
       19 
     | 
    
         
            -
             
     | 
| 
       20 
     | 
    
         
            -
             
     | 
| 
      
 6 
     | 
    
         
            +
            (function(C,k,F){'use strict';k.module("ngAnimate",["ng"]).config(["$provide","$animateProvider",function(M,G){var p=k.noop,r=k.forEach,N=G.$$selectors,T=1,h="$$ngAnimateState",H="ng-animate",l={running:!0};M.decorator("$animate",["$delegate","$injector","$sniffer","$rootElement","$timeout","$rootScope","$document",function(v,C,I,g,s,q,F){function O(a){if(a){var d=[],c={};a=a.substr(1).split(".");(I.transitions||I.animations)&&a.push("");for(var e=0;e<a.length;e++){var b=a[e],h=N[b];h&&!c[b]&&(d.push(C.get(h)),
         
     | 
| 
      
 7 
     | 
    
         
            +
            c[b]=!0)}return d}}function m(a,d,c,e,b,l,q){function w(a){t();if(!0===a)u();else{if(a=c.data(h))a.done=u,c.data(h,a);m(x,"after",u)}}function m(e,b,h){var k=b+"End";r(e,function(l,f){var B=function(){a:{var B=b+"Complete",a=e[f];a[B]=!0;(a[k]||p)();for(a=0;a<e.length;a++)if(!e[a][B])break a;h()}};"before"!=b||"enter"!=a&&"move"!=a?l[b]?l[k]=y?l[b](c,d,B):l[b](c,B):B():B()})}function g(){q&&s(q,0,!1)}function t(){t.hasBeenRun||(t.hasBeenRun=!0,l())}function u(){if(!u.hasBeenRun){u.hasBeenRun=!0;var a=
         
     | 
| 
      
 8 
     | 
    
         
            +
            c.data(h);a&&(y?z(c):(a.closeAnimationTimeout=s(function(){z(c)},0,!1),c.data(h,a)));g()}}var k=c.attr("class")||"",v=(" "+(k+" "+d)).replace(/\s+/g,".");e||(e=b?b.parent():c.parent());var v=O(v),y="addClass"==a||"removeClass"==a;b=c.data(h)||{};if(J(c,e)||0===v.length)t(),u();else{var x=[];b.running&&y&&b.structural||r(v,function(b){if(!b.allowCancel||b.allowCancel(c,a,d)){var e=b[a];"leave"==a?(b=e,e=null):b=b["before"+a.charAt(0).toUpperCase()+a.substr(1)];x.push({before:b,after:e})}});0===x.length?
         
     | 
| 
      
 9 
     | 
    
         
            +
            (t(),g()):(e=" "+k+" ",b.running&&(s.cancel(b.closeAnimationTimeout),z(c),L(b.animations),b.beforeComplete?(b.done||p)(!0):y&&!b.structural&&(e="removeClass"==b.event?e.replace(b.className,""):e+b.className+" ")),k=" "+d+" ","addClass"==a&&0<=e.indexOf(k)||"removeClass"==a&&-1==e.indexOf(k)?(t(),g()):(c.addClass(H),c.data(h,{running:!0,event:a,className:d,structural:!y,animations:x,done:w}),m(x,"before",w)))}}function E(a){a=a[0];a.nodeType==T&&r(a.querySelectorAll("."+H),function(a){a=k.element(a);
         
     | 
| 
      
 10 
     | 
    
         
            +
            var c=a.data(h);c&&(L(c.animations),z(a))})}function L(a){r(a,function(d){a.beforeComplete||(d.beforeEnd||p)(!0);a.afterComplete||(d.afterEnd||p)(!0)})}function z(a){a[0]==g[0]?l.disabled||(l.running=!1,l.structural=!1):(a.removeClass(H),a.removeData(h))}function J(a,d){if(l.disabled)return!0;if(a[0]==g[0])return l.disabled||l.running;do{if(0===d.length)break;var c=d[0]==g[0],e=c?l:d.data(h),e=e&&(!!e.disabled||!!e.running);if(c||e)return e;if(c)break}while(d=d.parent());return!0}g.data(h,l);q.$$postDigest(function(){q.$$postDigest(function(){l.running=
         
     | 
| 
      
 11 
     | 
    
         
            +
            !1})});return{enter:function(a,d,c,e){this.enabled(!1,a);v.enter(a,d,c);q.$$postDigest(function(){m("enter","ng-enter",a,d,c,p,e)})},leave:function(a,d){E(a);this.enabled(!1,a);q.$$postDigest(function(){m("leave","ng-leave",a,null,null,function(){v.leave(a)},d)})},move:function(a,d,c,e){E(a);this.enabled(!1,a);v.move(a,d,c);q.$$postDigest(function(){m("move","ng-move",a,d,c,p,e)})},addClass:function(a,d,c){m("addClass",d,a,null,null,function(){v.addClass(a,d)},c)},removeClass:function(a,d,c){m("removeClass",
         
     | 
| 
      
 12 
     | 
    
         
            +
            d,a,null,null,function(){v.removeClass(a,d)},c)},enabled:function(a,d){switch(arguments.length){case 2:if(a)z(d);else{var c=d.data(h)||{};c.disabled=!0;d.data(h,c)}break;case 1:l.disabled=!a;break;default:a=!l.disabled}return!!a}}}]);G.register("",["$window","$sniffer","$timeout",function(l,h,I){function g(f){R.push(f);I.cancel(S);S=I(function(){r(R,function(f){f()});R=[];S=null;D={}},10,!1)}function s(f,a){var K=a?D[a]:null;if(!K){var b=0,c=0,d=0,e=0,h,k,g,m;r(f,function(f){if(f.nodeType==T){f=l.getComputedStyle(f)||
         
     | 
| 
      
 13 
     | 
    
         
            +
            {};g=f[A+G];b=Math.max(q(g),b);m=f[A+t];h=f[A+u];c=Math.max(q(h),c);k=f[w+u];e=Math.max(q(k),e);var a=q(f[w+G]);0<a&&(a*=parseInt(f[w+M],10)||1);d=Math.max(a,d)}});K={total:0,transitionPropertyStyle:m,transitionDurationStyle:g,transitionDelayStyle:h,transitionDelay:c,transitionDuration:b,animationDelayStyle:k,animationDelay:e,animationDuration:d};a&&(D[a]=K)}return K}function q(f){var a=0;f=k.isString(f)?f.split(/\s*,\s*/):[];r(f,function(f){a=Math.max(parseFloat(f)||0,a)});return a}function H(f){var a=
         
     | 
| 
      
 14 
     | 
    
         
            +
            f.parent(),b=a.data(V);b||(a.data(V,++U),b=U);return b+"-"+f[0].className}function O(f,a){var b=H(f),c=b+" "+a,d={},e=D[c]?++D[c].total:0;if(0<e){var h=a+"-stagger",d=b+" "+h;(b=!D[d])&&f.addClass(h);d=s(f,d);b&&f.removeClass(h)}f.addClass(a);c=s(f,c);h=Math.max(c.transitionDuration,c.animationDuration);if(0===h)return f.removeClass(a),!1;var k="";0<c.transitionDuration?(f.addClass(x),k+=N+" ",f[0].style[A+t]="none"):f[0].style[w]="none 0s";r(a.split(" "),function(a,f){k+=(0<f?" ":"")+a+"-active"});
         
     | 
| 
      
 15 
     | 
    
         
            +
            f.data(y,{className:a,activeClassName:k,maxDuration:h,classes:a+" "+k,timings:c,stagger:d,ii:e});return!0}function m(a){a=a[0];var b=A+t;a.style[b]&&0<a.style[b].length&&(a.style[b]="")}function E(a){var b=a[0],c=w;b.style[c]&&0<b.style[c].length&&(a[0].style[c]="")}function L(a,d,e){function k(a){a.stopPropagation();a=a.originalEvent||a;var f=a.$manualTimeStamp||a.timeStamp||Date.now();Math.max(f-w,0)>=v&&a.elapsedTime>=q&&e()}var n=a.data(y);if(a.hasClass(d)&&n){var l=a[0],g=n.timings,m=n.stagger,
         
     | 
| 
      
 16 
     | 
    
         
            +
            q=n.maxDuration,r=n.activeClassName,v=1E3*Math.max(g.transitionDelay,g.animationDelay),w=Date.now(),t=Q+" "+P,u=n.ii,x,n="",p=[];if(0<g.transitionDuration){var s=g.transitionPropertyStyle;-1==s.indexOf("all")&&(x=!0,n+=b+"transition-property: "+s+", "+(h.msie?"-ms-zoom":"border-spacing")+"; ",n+=b+"transition-duration: "+g.transitionDurationStyle+", "+g.transitionDuration+"s; ",p.push(b+"transition-property"),p.push(b+"transition-duration"))}0<u&&(0<m.transitionDelay&&0===m.transitionDuration&&(s=
         
     | 
| 
      
 17 
     | 
    
         
            +
            g.transitionDelayStyle,x&&(s+=", "+g.transitionDelay+"s"),n+=b+"transition-delay: "+z(s,m.transitionDelay,u)+"; ",p.push(b+"transition-delay")),0<m.animationDelay&&0===m.animationDuration&&(n+=b+"animation-delay: "+z(g.animationDelayStyle,m.animationDelay,u)+"; ",p.push(b+"animation-delay")));0<p.length&&(g=l.getAttribute("style")||"",l.setAttribute("style",g+" "+n));a.on(t,k);a.addClass(r);return function(b){a.off(t,k);a.removeClass(r);c(a,d);for(var e in p)l.style.removeProperty(p[e])}}e()}function z(a,
         
     | 
| 
      
 18 
     | 
    
         
            +
            b,c){var d="";r(a.split(","),function(a,f){d+=(0<f?",":"")+(c*b+parseInt(a,10))+"s"});return d}function J(a,b){if(O(a,b))return function(d){d&&c(a,b)}}function a(a,b,d){if(a.data(y))return L(a,b,d);c(a,b);d()}function d(f,b,c){var d=J(f,b);if(d){var e=d;g(function(){m(f);E(f);e=a(f,b,c)});return function(a){(e||p)(a)}}c()}function c(a,b){a.removeClass(b);a.removeClass(x);a.removeData(y)}function e(a,b){var c="";a=k.isArray(a)?a:a.split(/\s+/);r(a,function(a,f){a&&0<a.length&&(c+=(0<f?" ":"")+a+b)});
         
     | 
| 
      
 19 
     | 
    
         
            +
            return c}var b="",A,P,w,Q;C.ontransitionend===F&&C.onwebkittransitionend!==F?(b="-webkit-",A="WebkitTransition",P="webkitTransitionEnd transitionend"):(A="transition",P="transitionend");C.onanimationend===F&&C.onwebkitanimationend!==F?(b="-webkit-",w="WebkitAnimation",Q="webkitAnimationEnd animationend"):(w="animation",Q="animationend");var G="Duration",t="Property",u="Delay",M="IterationCount",V="$$ngAnimateKey",y="$$ngAnimateCSS3Data",x="ng-animate-start",N="ng-animate-active",D={},U=0,R=[],S;return{allowCancel:function(a,
         
     | 
| 
      
 20 
     | 
    
         
            +
            b,c){var d=(a.data(y)||{}).classes;if(!d||0<=["enter","leave","move"].indexOf(b))return!0;var h=a.parent(),g=k.element(a[0].cloneNode());g.attr("style","position:absolute; top:-9999px; left:-9999px");g.removeAttr("id");g.html("");r(d.split(" "),function(a){g.removeClass(a)});g.addClass(e(c,"addClass"==b?"-add":"-remove"));h.append(g);a=s(g);g.remove();return 0<Math.max(a.transitionDuration,a.animationDuration)},enter:function(a,b){return d(a,"ng-enter",b)},leave:function(a,b){return d(a,"ng-leave",
         
     | 
| 
      
 21 
     | 
    
         
            +
            b)},move:function(a,b){return d(a,"ng-move",b)},beforeAddClass:function(a,b,c){if(b=J(a,e(b,"-add")))return g(function(){m(a);E(a);c()}),b;c()},addClass:function(b,c,d){return a(b,e(c,"-add"),d)},beforeRemoveClass:function(a,b,c){if(b=J(a,e(b,"-remove")))return g(function(){m(a);E(a);c()}),b;c()},removeClass:function(b,c,d){return a(b,e(c,"-remove"),d)}}}])}])})(window,window.angular);
         
     | 
| 
       21 
22 
     | 
    
         
             
            //# sourceMappingURL=angular-animate.min.js.map
         
     | 
| 
         @@ -1,6 +1,6 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            /*
         
     | 
| 
       2 
     | 
    
         
            -
             AngularJS v1.2. 
     | 
| 
       3 
     | 
    
         
            -
             (c) 2010- 
     | 
| 
      
 2 
     | 
    
         
            +
             AngularJS v1.2.3
         
     | 
| 
      
 3 
     | 
    
         
            +
             (c) 2010-2014 Google, Inc. http://angularjs.org
         
     | 
| 
       4 
4 
     | 
    
         
             
             License: MIT
         
     | 
| 
       5 
5 
     | 
    
         
             
            */
         
     | 
| 
       6 
6 
     | 
    
         
             
            (function(p,f,n){'use strict';f.module("ngCookies",["ng"]).factory("$cookies",["$rootScope","$browser",function(d,b){var c={},g={},h,k=!1,l=f.copy,m=f.isUndefined;b.addPollFn(function(){var a=b.cookies();h!=a&&(h=a,l(a,g),l(a,c),k&&d.$apply())})();k=!0;d.$watch(function(){var a,e,d;for(a in g)m(c[a])&&b.cookies(a,n);for(a in c)(e=c[a],f.isString(e))?e!==g[a]&&(b.cookies(a,e),d=!0):f.isDefined(g[a])?c[a]=g[a]:delete c[a];if(d)for(a in e=b.cookies(),c)c[a]!==e[a]&&(m(e[a])?delete c[a]:c[a]=e[a])});
         
     | 
| 
         @@ -1,10 +1,84 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            /**
         
     | 
| 
       2 
     | 
    
         
            -
             * @license AngularJS v1.2. 
     | 
| 
       3 
     | 
    
         
            -
             * (c) 2010- 
     | 
| 
      
 2 
     | 
    
         
            +
             * @license AngularJS v1.2.3
         
     | 
| 
      
 3 
     | 
    
         
            +
             * (c) 2010-2014 Google, Inc. http://angularjs.org
         
     | 
| 
       4 
4 
     | 
    
         
             
             * License: MIT
         
     | 
| 
       5 
5 
     | 
    
         
             
             */
         
     | 
| 
       6 
6 
     | 
    
         | 
| 
       7 
     | 
    
         
            -
            (
         
     | 
| 
      
 7 
     | 
    
         
            +
            (function() {'use strict';
         
     | 
| 
      
 8 
     | 
    
         
            +
             
     | 
| 
      
 9 
     | 
    
         
            +
            /**
         
     | 
| 
      
 10 
     | 
    
         
            +
             * @description
         
     | 
| 
      
 11 
     | 
    
         
            +
             *
         
     | 
| 
      
 12 
     | 
    
         
            +
             * This object provides a utility for producing rich Error messages within
         
     | 
| 
      
 13 
     | 
    
         
            +
             * Angular. It can be called as follows:
         
     | 
| 
      
 14 
     | 
    
         
            +
             *
         
     | 
| 
      
 15 
     | 
    
         
            +
             * var exampleMinErr = minErr('example');
         
     | 
| 
      
 16 
     | 
    
         
            +
             * throw exampleMinErr('one', 'This {0} is {1}', foo, bar);
         
     | 
| 
      
 17 
     | 
    
         
            +
             *
         
     | 
| 
      
 18 
     | 
    
         
            +
             * The above creates an instance of minErr in the example namespace. The
         
     | 
| 
      
 19 
     | 
    
         
            +
             * resulting error will have a namespaced error code of example.one.  The
         
     | 
| 
      
 20 
     | 
    
         
            +
             * resulting error will replace {0} with the value of foo, and {1} with the
         
     | 
| 
      
 21 
     | 
    
         
            +
             * value of bar. The object is not restricted in the number of arguments it can
         
     | 
| 
      
 22 
     | 
    
         
            +
             * take.
         
     | 
| 
      
 23 
     | 
    
         
            +
             *
         
     | 
| 
      
 24 
     | 
    
         
            +
             * If fewer arguments are specified than necessary for interpolation, the extra
         
     | 
| 
      
 25 
     | 
    
         
            +
             * interpolation markers will be preserved in the final string.
         
     | 
| 
      
 26 
     | 
    
         
            +
             *
         
     | 
| 
      
 27 
     | 
    
         
            +
             * Since data will be parsed statically during a build step, some restrictions
         
     | 
| 
      
 28 
     | 
    
         
            +
             * are applied with respect to how minErr instances are created and called.
         
     | 
| 
      
 29 
     | 
    
         
            +
             * Instances should have names of the form namespaceMinErr for a minErr created
         
     | 
| 
      
 30 
     | 
    
         
            +
             * using minErr('namespace') . Error codes, namespaces and template strings
         
     | 
| 
      
 31 
     | 
    
         
            +
             * should all be static strings, not variables or general expressions.
         
     | 
| 
      
 32 
     | 
    
         
            +
             *
         
     | 
| 
      
 33 
     | 
    
         
            +
             * @param {string} module The namespace to use for the new minErr instance.
         
     | 
| 
      
 34 
     | 
    
         
            +
             * @returns {function(string, string, ...): Error} instance
         
     | 
| 
      
 35 
     | 
    
         
            +
             */
         
     | 
| 
      
 36 
     | 
    
         
            +
             
     | 
| 
      
 37 
     | 
    
         
            +
            function minErr(module) {
         
     | 
| 
      
 38 
     | 
    
         
            +
              return function () {
         
     | 
| 
      
 39 
     | 
    
         
            +
                var code = arguments[0],
         
     | 
| 
      
 40 
     | 
    
         
            +
                  prefix = '[' + (module ? module + ':' : '') + code + '] ',
         
     | 
| 
      
 41 
     | 
    
         
            +
                  template = arguments[1],
         
     | 
| 
      
 42 
     | 
    
         
            +
                  templateArgs = arguments,
         
     | 
| 
      
 43 
     | 
    
         
            +
                  stringify = function (obj) {
         
     | 
| 
      
 44 
     | 
    
         
            +
                    if (typeof obj === 'function') {
         
     | 
| 
      
 45 
     | 
    
         
            +
                      return obj.toString().replace(/ \{[\s\S]*$/, '');
         
     | 
| 
      
 46 
     | 
    
         
            +
                    } else if (typeof obj === 'undefined') {
         
     | 
| 
      
 47 
     | 
    
         
            +
                      return 'undefined';
         
     | 
| 
      
 48 
     | 
    
         
            +
                    } else if (typeof obj !== 'string') {
         
     | 
| 
      
 49 
     | 
    
         
            +
                      return JSON.stringify(obj);
         
     | 
| 
      
 50 
     | 
    
         
            +
                    }
         
     | 
| 
      
 51 
     | 
    
         
            +
                    return obj;
         
     | 
| 
      
 52 
     | 
    
         
            +
                  },
         
     | 
| 
      
 53 
     | 
    
         
            +
                  message, i;
         
     | 
| 
      
 54 
     | 
    
         
            +
             
     | 
| 
      
 55 
     | 
    
         
            +
                message = prefix + template.replace(/\{\d+\}/g, function (match) {
         
     | 
| 
      
 56 
     | 
    
         
            +
                  var index = +match.slice(1, -1), arg;
         
     | 
| 
      
 57 
     | 
    
         
            +
             
     | 
| 
      
 58 
     | 
    
         
            +
                  if (index + 2 < templateArgs.length) {
         
     | 
| 
      
 59 
     | 
    
         
            +
                    arg = templateArgs[index + 2];
         
     | 
| 
      
 60 
     | 
    
         
            +
                    if (typeof arg === 'function') {
         
     | 
| 
      
 61 
     | 
    
         
            +
                      return arg.toString().replace(/ ?\{[\s\S]*$/, '');
         
     | 
| 
      
 62 
     | 
    
         
            +
                    } else if (typeof arg === 'undefined') {
         
     | 
| 
      
 63 
     | 
    
         
            +
                      return 'undefined';
         
     | 
| 
      
 64 
     | 
    
         
            +
                    } else if (typeof arg !== 'string') {
         
     | 
| 
      
 65 
     | 
    
         
            +
                      return toJson(arg);
         
     | 
| 
      
 66 
     | 
    
         
            +
                    }
         
     | 
| 
      
 67 
     | 
    
         
            +
                    return arg;
         
     | 
| 
      
 68 
     | 
    
         
            +
                  }
         
     | 
| 
      
 69 
     | 
    
         
            +
                  return match;
         
     | 
| 
      
 70 
     | 
    
         
            +
                });
         
     | 
| 
      
 71 
     | 
    
         
            +
             
     | 
| 
      
 72 
     | 
    
         
            +
                message = message + '\nhttp://errors.angularjs.org/1.2.3/' +
         
     | 
| 
      
 73 
     | 
    
         
            +
                  (module ? module + '/' : '') + code;
         
     | 
| 
      
 74 
     | 
    
         
            +
                for (i = 2; i < arguments.length; i++) {
         
     | 
| 
      
 75 
     | 
    
         
            +
                  message = message + (i == 2 ? '?' : '&') + 'p' + (i-2) + '=' +
         
     | 
| 
      
 76 
     | 
    
         
            +
                    encodeURIComponent(stringify(arguments[i]));
         
     | 
| 
      
 77 
     | 
    
         
            +
                }
         
     | 
| 
      
 78 
     | 
    
         
            +
             
     | 
| 
      
 79 
     | 
    
         
            +
                return new Error(message);
         
     | 
| 
      
 80 
     | 
    
         
            +
              };
         
     | 
| 
      
 81 
     | 
    
         
            +
            }
         
     | 
| 
       8 
82 
     | 
    
         | 
| 
       9 
83 
     | 
    
         
             
            /**
         
     | 
| 
       10 
84 
     | 
    
         
             
             * @ngdoc interface
         
     | 
| 
         @@ -17,12 +91,18 @@ 
     | 
|
| 
       17 
91 
     | 
    
         
             
            function setupModuleLoader(window) {
         
     | 
| 
       18 
92 
     | 
    
         | 
| 
       19 
93 
     | 
    
         
             
              var $injectorMinErr = minErr('$injector');
         
     | 
| 
      
 94 
     | 
    
         
            +
              var ngMinErr = minErr('ng');
         
     | 
| 
       20 
95 
     | 
    
         | 
| 
       21 
96 
     | 
    
         
             
              function ensure(obj, name, factory) {
         
     | 
| 
       22 
97 
     | 
    
         
             
                return obj[name] || (obj[name] = factory());
         
     | 
| 
       23 
98 
     | 
    
         
             
              }
         
     | 
| 
       24 
99 
     | 
    
         | 
| 
       25 
     | 
    
         
            -
               
     | 
| 
      
 100 
     | 
    
         
            +
              var angular = ensure(window, 'angular', Object);
         
     | 
| 
      
 101 
     | 
    
         
            +
             
     | 
| 
      
 102 
     | 
    
         
            +
              // We need to expose `angular.$$minErr` to modules such as `ngResource` that reference it during bootstrap
         
     | 
| 
      
 103 
     | 
    
         
            +
              angular.$$minErr = angular.$$minErr || minErr;
         
     | 
| 
      
 104 
     | 
    
         
            +
             
     | 
| 
      
 105 
     | 
    
         
            +
              return ensure(angular, 'module', function() {
         
     | 
| 
       26 
106 
     | 
    
         
             
                /** @type {Object.<string, angular.Module>} */
         
     | 
| 
       27 
107 
     | 
    
         
             
                var modules = {};
         
     | 
| 
       28 
108 
     | 
    
         | 
| 
         @@ -53,7 +133,7 @@ function setupModuleLoader(window) { 
     | 
|
| 
       53 
133 
     | 
    
         
             
                 * myModule.value('appName', 'MyCoolApp');
         
     | 
| 
       54 
134 
     | 
    
         
             
                 *
         
     | 
| 
       55 
135 
     | 
    
         
             
                 * // configure existing services inside initialization blocks.
         
     | 
| 
       56 
     | 
    
         
            -
                 * myModule.config(function($locationProvider) { 
     | 
| 
      
 136 
     | 
    
         
            +
                 * myModule.config(function($locationProvider) {
         
     | 
| 
       57 
137 
     | 
    
         
             
                 *   // Configure existing providers
         
     | 
| 
       58 
138 
     | 
    
         
             
                 *   $locationProvider.hashPrefix('!');
         
     | 
| 
       59 
139 
     | 
    
         
             
                 * });
         
     | 
| 
         @@ -77,6 +157,12 @@ function setupModuleLoader(window) { 
     | 
|
| 
       77 
157 
     | 
    
         
             
                 * @returns {module} new module with the {@link angular.Module} api.
         
     | 
| 
       78 
158 
     | 
    
         
             
                 */
         
     | 
| 
       79 
159 
     | 
    
         
             
                return function module(name, requires, configFn) {
         
     | 
| 
      
 160 
     | 
    
         
            +
                  var assertNotHasOwnProperty = function(name, context) {
         
     | 
| 
      
 161 
     | 
    
         
            +
                    if (name === 'hasOwnProperty') {
         
     | 
| 
      
 162 
     | 
    
         
            +
                      throw ngMinErr('badname', 'hasOwnProperty is not a valid {0} name', context);
         
     | 
| 
      
 163 
     | 
    
         
            +
                    }
         
     | 
| 
      
 164 
     | 
    
         
            +
                  };
         
     | 
| 
      
 165 
     | 
    
         
            +
             
     | 
| 
       80 
166 
     | 
    
         
             
                  assertNotHasOwnProperty(name, 'module');
         
     | 
| 
       81 
167 
     | 
    
         
             
                  if (requires && modules.hasOwnProperty(name)) {
         
     | 
| 
       82 
168 
     | 
    
         
             
                    modules[name] = null;
         
     | 
| 
         @@ -301,7 +387,8 @@ function setupModuleLoader(window) { 
     | 
|
| 
       301 
387 
     | 
    
         | 
| 
       302 
388 
     | 
    
         
             
            }
         
     | 
| 
       303 
389 
     | 
    
         | 
| 
       304 
     | 
    
         
            -
             
     | 
| 
      
 390 
     | 
    
         
            +
            setupModuleLoader(window);
         
     | 
| 
      
 391 
     | 
    
         
            +
            })(window);
         
     | 
| 
       305 
392 
     | 
    
         | 
| 
       306 
393 
     | 
    
         
             
            /**
         
     | 
| 
       307 
394 
     | 
    
         
             
             * Closure compiler type information
         
     |