text: /**
   * Generated by Apache Royale Compiler from org\xfltools\xfldom\AnimationCore.as
   * org.xfltools.xfldom.AnimationCore
   *
   * @fileoverview
   *
   * @suppress {missingRequire|checkTypes|accessControls}
   */
  
  goog.provide('org.xfltools.xfldom.AnimationCore');
  /* Royale Dependency List: XML,org.xfltools.xfldom.DOMComponentFactory,org.xfltools.xfldom.DOMXMLNodeName,org.xfltools.xfldom.PropertyContainer,org.xfltools.xfldom.TimeMap,org.xfltools.xfldom.TweenVO*/
  
  goog.require('org.xfltools.xfldom.IDOMComponent');
  
  
  
  /**
   * @constructor
   * @implements {org.xfltools.xfldom.IDOMComponent}
   */
  org.xfltools.xfldom.AnimationCore = function() {
  };
  
  
  /**
   * Prevent renaming of class. Needed for reflection.
   */
  goog.exportSymbol('org.xfltools.xfldom.AnimationCore', org.xfltools.xfldom.AnimationCore);
  
  
  /**
   * @private
   * @type {number}
   */
  org.xfltools.xfldom.AnimationCore.prototype._timeScale;
  
  
  /**
   * @private
   * @type {number}
   */
  org.xfltools.xfldom.AnimationCore.prototype._duration;
  
  
  /**
   * @private
   * @type {number}
   */
  org.xfltools.xfldom.AnimationCore.prototype._version = 0;
  
  
  /**
   * @private
   * @type {org.xfltools.xfldom.TimeMap}
   */
  org.xfltools.xfldom.AnimationCore.prototype._timeMap;
  
  
  /**
   * @private
   * @type {Array}
   */
  org.xfltools.xfldom.AnimationCore.prototype._propertyContainers;
  
  
  /**
   * @export
   * @param {XML} xml
   */
  org.xfltools.xfldom.AnimationCore.prototype.fromXML = function(xml) {
    this._timeScale = parseFloat(xml.attribute('TimeScale'));
    this._version = parseInt(xml.attribute('Version'), undefined);
    this._duration = parseFloat(xml.attribute('duration'));
    this._timeMap = org.xfltools.xfldom.DOMComponentFactory.getDOMComponentArray(xml, [org.xfltools.xfldom.DOMXMLNodeName.TIME_MAP], org.xfltools.xfldom.TimeMap)[0];
    this._propertyContainers = org.xfltools.xfldom.DOMComponentFactory.getDOMComponentArray(xml, [org.xfltools.xfldom.DOMXMLNodeName.PROPERTY_CONTAINER], org.xfltools.xfldom.PropertyContainer).slice();
  };
  
  
  /**
   * @export
   * @return {Array}
   */
  org.xfltools.xfldom.AnimationCore.prototype.exportTweenData = function() {
    var /** @type {Array} */ result = [];
    var foreachiter0_target = this._propertyContainers;
    for (var foreachiter0 in foreachiter0_target) 
    {
    var propertyContainer = foreachiter0_target[foreachiter0];
    {
      result = result.concat(propertyContainer.getTweenData());
    }}
    
    for (var /** @type {number} */ i = result.length - 1; i >= 0; i--) {
      for (var /** @type {number} */ ii = 0; ii < i; ii++) {
        if (result[ii].time == result[i].time) {
          for (var /** @type {string} */ key in result[i].vars) {
            result[ii].addVar(key, result[i].vars[key]);
          }
          result.splice(i, 1);
          break;
        }
      }
    }
    var foreachiter1_target = result;
    for (var foreachiter1 in foreachiter1_target) 
    {
    var tweenVO = foreachiter1_target[foreachiter1];
    {
      tweenVO.time /= this._timeScale;
    }}
    
    return result;
  };
  
  
  /**
   * Metadata
   *
   * @type {Object.<string, Array.<Object>>}
   */
  org.xfltools.xfldom.AnimationCore.prototype.ROYALE_CLASS_INFO = { names: [{ name: 'AnimationCore', qName: 'org.xfltools.xfldom.AnimationCore', kind: 'class' }], interfaces: [org.xfltools.xfldom.IDOMComponent] };
  
  
  
  /**
   * Reflection
   *
   * @return {Object.<string, Function>}
   */
  org.xfltools.xfldom.AnimationCore.prototype.ROYALE_REFLECTION_INFO = function () {
    return {
      variables: function () {return {};},
      accessors: function () {return {};},
      methods: function () {
        return {
          'AnimationCore': { type: '', declaredBy: 'org.xfltools.xfldom.AnimationCore'},
          'fromXML': { type: 'void', declaredBy: 'org.xfltools.xfldom.AnimationCore', parameters: function () { return [  { index: 1, type: 'XML', optional: false } ]; }},
          'exportTweenData': { type: 'Vector.<org.xfltools.xfldom.TweenVO>', declaredBy: 'org.xfltools.xfldom.AnimationCore'}
        };
      }
    };
  };
  