home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2012 April / ME_04_2012.iso / Video-Tutorial / iPhoto / media / player.swf / scripts / mx / resources / ResourceManagerImpl.as < prev   
Encoding:
Text File  |  2011-11-11  |  21.4 KB  |  661 lines

  1. package mx.resources
  2. {
  3.    import flash.events.Event;
  4.    import flash.events.EventDispatcher;
  5.    import flash.events.FocusEvent;
  6.    import flash.events.IEventDispatcher;
  7.    import flash.events.TimerEvent;
  8.    import flash.system.ApplicationDomain;
  9.    import flash.system.Capabilities;
  10.    import flash.system.SecurityDomain;
  11.    import flash.utils.Dictionary;
  12.    import flash.utils.Timer;
  13.    import mx.core.mx_internal;
  14.    import mx.events.FlexEvent;
  15.    import mx.events.ModuleEvent;
  16.    import mx.events.ResourceEvent;
  17.    import mx.managers.SystemManagerGlobals;
  18.    import mx.modules.IModuleInfo;
  19.    import mx.modules.ModuleManager;
  20.    import mx.utils.StringUtil;
  21.    
  22.    use namespace mx_internal;
  23.    
  24.    public class ResourceManagerImpl extends EventDispatcher implements IResourceManager
  25.    {
  26.       private static var instance:IResourceManager;
  27.       
  28.       mx_internal static const VERSION:String = "4.5.0.20967";
  29.       
  30.       private var bundleDictionary:Dictionary;
  31.       
  32.       private var localeMap:Object = {};
  33.       
  34.       private var resourceModules:Object = {};
  35.       
  36.       private var initializedForNonFrameworkApp:Boolean = false;
  37.       
  38.       private var _localeChain:Array;
  39.       
  40.       public function ResourceManagerImpl()
  41.       {
  42.          super();
  43.          var _loc1_:Object = SystemManagerGlobals.info;
  44.          if(_loc1_)
  45.          {
  46.             this.processInfo(_loc1_,false);
  47.          }
  48.          if(SystemManagerGlobals.topLevelSystemManagers.length)
  49.          {
  50.             SystemManagerGlobals.topLevelSystemManagers[0].addEventListener(FlexEvent.NEW_CHILD_APPLICATION,this.newChildApplicationHandler);
  51.          }
  52.       }
  53.       
  54.       public static function getInstance() : IResourceManager
  55.       {
  56.          if(!instance)
  57.          {
  58.             instance = new ResourceManagerImpl();
  59.          }
  60.          return instance;
  61.       }
  62.       
  63.       public function get localeChain() : Array
  64.       {
  65.          return this._localeChain;
  66.       }
  67.       
  68.       public function set localeChain(param1:Array) : void
  69.       {
  70.          this._localeChain = param1;
  71.          this.update();
  72.       }
  73.       
  74.       public function installCompiledResourceBundles(param1:ApplicationDomain, param2:Array, param3:Array, param4:Boolean = false) : Array
  75.       {
  76.          var _loc10_:String = null;
  77.          var _loc11_:int = 0;
  78.          var _loc12_:String = null;
  79.          var _loc5_:Array = [];
  80.          var _loc6_:uint = 0;
  81.          var _loc7_:int = !!param2 ? int(param2.length) : 0;
  82.          var _loc8_:int = !!param3 ? int(param3.length) : 0;
  83.          var _loc9_:int = 0;
  84.          while(_loc9_ < _loc7_)
  85.          {
  86.             _loc10_ = param2[_loc9_];
  87.             _loc11_ = 0;
  88.             while(_loc11_ < _loc8_)
  89.             {
  90.                _loc12_ = param3[_loc11_];
  91.                var _loc13_:*;
  92.                _loc5_[_loc13_ = _loc6_++] = this.installCompiledResourceBundle(param1,_loc10_,_loc12_,param4);
  93.                _loc11_++;
  94.             }
  95.             _loc9_++;
  96.          }
  97.          return _loc5_;
  98.       }
  99.       
  100.       private function installCompiledResourceBundle(param1:ApplicationDomain, param2:String, param3:String, param4:Boolean = false) : IResourceBundle
  101.       {
  102.          var _loc5_:String = null;
  103.          var _loc6_:String = param3;
  104.          var _loc7_:int = int(param3.indexOf(":"));
  105.          if(_loc7_ != -1)
  106.          {
  107.             _loc5_ = param3.substring(0,_loc7_);
  108.             _loc6_ = param3.substring(_loc7_ + 1);
  109.          }
  110.          var _loc8_:IResourceBundle = this.getResourceBundleInternal(param2,param3,param4);
  111.          if(_loc8_)
  112.          {
  113.             return _loc8_;
  114.          }
  115.          var _loc9_:* = param2 + "$" + _loc6_ + "_properties";
  116.          if(_loc5_ != null)
  117.          {
  118.             _loc9_ = _loc5_ + "." + _loc9_;
  119.          }
  120.          var _loc10_:Class = null;
  121.          if(param1.hasDefinition(_loc9_))
  122.          {
  123.             _loc10_ = Class(param1.getDefinition(_loc9_));
  124.          }
  125.          if(!_loc10_)
  126.          {
  127.             _loc9_ = param3;
  128.             if(param1.hasDefinition(_loc9_))
  129.             {
  130.                _loc10_ = Class(param1.getDefinition(_loc9_));
  131.             }
  132.          }
  133.          if(!_loc10_)
  134.          {
  135.             _loc9_ = param3 + "_properties";
  136.             if(param1.hasDefinition(_loc9_))
  137.             {
  138.                _loc10_ = Class(param1.getDefinition(_loc9_));
  139.             }
  140.          }
  141.          if(!_loc10_)
  142.          {
  143.             throw new Error("Could not find compiled resource bundle \'" + param3 + "\' for locale \'" + param2 + "\'.");
  144.          }
  145.          _loc8_ = ResourceBundle(new _loc10_());
  146.          ResourceBundle(_loc8_).mx_internal::_locale = param2;
  147.          ResourceBundle(_loc8_).mx_internal::_bundleName = param3;
  148.          this.addResourceBundle(_loc8_,param4);
  149.          return _loc8_;
  150.       }
  151.       
  152.       private function newChildApplicationHandler(param1:FocusEvent) : void
  153.       {
  154.          var _loc2_:Object = param1.relatedObject["info"]();
  155.          var _loc3_:Boolean = false;
  156.          if("_resourceBundles" in param1.relatedObject)
  157.          {
  158.             _loc3_ = true;
  159.          }
  160.          var _loc4_:Array = this.processInfo(_loc2_,_loc3_);
  161.          if(_loc3_)
  162.          {
  163.             param1.relatedObject["_resourceBundles"] = _loc4_;
  164.          }
  165.       }
  166.       
  167.       private function processInfo(param1:Object, param2:Boolean) : Array
  168.       {
  169.          var _loc3_:Array = param1["compiledLocales"];
  170.          ResourceBundle.mx_internal::locale = _loc3_ != null && _loc3_.length > 0 ? _loc3_[0] : "en_US";
  171.          var _loc4_:String = SystemManagerGlobals.parameters["localeChain"];
  172.          if(_loc4_ != null && _loc4_ != "")
  173.          {
  174.             this.localeChain = _loc4_.split(",");
  175.          }
  176.          var _loc5_:ApplicationDomain = param1["currentDomain"];
  177.          var _loc6_:Array = param1["compiledResourceBundleNames"];
  178.          var _loc7_:Array = this.installCompiledResourceBundles(_loc5_,_loc3_,_loc6_,param2);
  179.          if(!this.localeChain)
  180.          {
  181.             this.initializeLocaleChain(_loc3_);
  182.          }
  183.          return _loc7_;
  184.       }
  185.       
  186.       public function initializeLocaleChain(param1:Array) : void
  187.       {
  188.          this.localeChain = LocaleSorter.sortLocalesByPreference(param1,this.getSystemPreferredLocales(),null,true);
  189.       }
  190.       
  191.       public function loadResourceModule(param1:String, param2:Boolean = true, param3:ApplicationDomain = null, param4:SecurityDomain = null) : IEventDispatcher
  192.       {
  193.          var errorHandler:Function;
  194.          var moduleInfo:IModuleInfo = null;
  195.          var resourceEventDispatcher:ResourceEventDispatcher = null;
  196.          var timer:Timer = null;
  197.          var timerHandler:Function = null;
  198.          var url:String = param1;
  199.          var updateFlag:Boolean = param2;
  200.          var applicationDomain:ApplicationDomain = param3;
  201.          var securityDomain:SecurityDomain = param4;
  202.          moduleInfo = ModuleManager.getModule(url);
  203.          resourceEventDispatcher = new ResourceEventDispatcher(moduleInfo);
  204.          var readyHandler:Function = function(param1:ModuleEvent):void
  205.          {
  206.             var _loc2_:* = param1.module.factory.create();
  207.             resourceModules[param1.module.url].resourceModule = _loc2_;
  208.             if(updateFlag)
  209.             {
  210.                update();
  211.             }
  212.          };
  213.          moduleInfo.addEventListener(ModuleEvent.READY,readyHandler,false,0,true);
  214.          errorHandler = function(param1:ModuleEvent):void
  215.          {
  216.             var _loc3_:ResourceEvent = null;
  217.             var _loc2_:String = "Unable to load resource module from " + url;
  218.             if(resourceEventDispatcher.willTrigger(ResourceEvent.ERROR))
  219.             {
  220.                _loc3_ = new ResourceEvent(ResourceEvent.ERROR,param1.bubbles,param1.cancelable);
  221.                _loc3_.bytesLoaded = 0;
  222.                _loc3_.bytesTotal = 0;
  223.                _loc3_.errorText = _loc2_;
  224.                resourceEventDispatcher.dispatchEvent(_loc3_);
  225.                return;
  226.             }
  227.             throw new Error(_loc2_);
  228.          };
  229.          moduleInfo.addEventListener(ModuleEvent.ERROR,errorHandler,false,0,true);
  230.          this.resourceModules[url] = new ResourceModuleInfo(moduleInfo,readyHandler,errorHandler);
  231.          timer = new Timer(0);
  232.          timerHandler = function(param1:TimerEvent):void
  233.          {
  234.             timer.removeEventListener(TimerEvent.TIMER,timerHandler);
  235.             timer.stop();
  236.             moduleInfo.load(applicationDomain,securityDomain);
  237.          };
  238.          timer.addEventListener(TimerEvent.TIMER,timerHandler,false,0,true);
  239.          timer.start();
  240.          return resourceEventDispatcher;
  241.       }
  242.       
  243.       public function unloadResourceModule(param1:String, param2:Boolean = true) : void
  244.       {
  245.          var _loc4_:Array = null;
  246.          var _loc5_:int = 0;
  247.          var _loc6_:int = 0;
  248.          var _loc7_:String = null;
  249.          var _loc8_:String = null;
  250.          var _loc3_:ResourceModuleInfo = this.resourceModules[param1];
  251.          if(!_loc3_)
  252.          {
  253.             return;
  254.          }
  255.          if(_loc3_.resourceModule)
  256.          {
  257.             _loc4_ = _loc3_.resourceModule.resourceBundles;
  258.             if(_loc4_)
  259.             {
  260.                _loc5_ = int(_loc4_.length);
  261.                _loc6_ = 0;
  262.                while(_loc6_ < _loc5_)
  263.                {
  264.                   _loc7_ = _loc4_[_loc6_].locale;
  265.                   _loc8_ = _loc4_[_loc6_].bundleName;
  266.                   this.removeResourceBundle(_loc7_,_loc8_);
  267.                   _loc6_++;
  268.                }
  269.             }
  270.          }
  271.          this.resourceModules[param1] = null;
  272.          delete this.resourceModules[param1];
  273.          _loc3_.moduleInfo.unload();
  274.          if(param2)
  275.          {
  276.             this.update();
  277.          }
  278.       }
  279.       
  280.       public function addResourceBundle(param1:IResourceBundle, param2:Boolean = false) : void
  281.       {
  282.          var _loc3_:String = param1.locale;
  283.          var _loc4_:String = param1.bundleName;
  284.          if(!this.localeMap[_loc3_])
  285.          {
  286.             this.localeMap[_loc3_] = {};
  287.          }
  288.          if(param2)
  289.          {
  290.             if(!this.bundleDictionary)
  291.             {
  292.                this.bundleDictionary = new Dictionary(true);
  293.             }
  294.             this.bundleDictionary[param1] = _loc3_ + _loc4_;
  295.             this.localeMap[_loc3_][_loc4_] = this.bundleDictionary;
  296.          }
  297.          else
  298.          {
  299.             this.localeMap[_loc3_][_loc4_] = param1;
  300.          }
  301.       }
  302.       
  303.       public function getResourceBundle(param1:String, param2:String) : IResourceBundle
  304.       {
  305.          return this.getResourceBundleInternal(param1,param2,false);
  306.       }
  307.       
  308.       private function getResourceBundleInternal(param1:String, param2:String, param3:Boolean) : IResourceBundle
  309.       {
  310.          var _loc7_:String = null;
  311.          var _loc8_:Object = null;
  312.          var _loc4_:Object = this.localeMap[param1];
  313.          if(!_loc4_)
  314.          {
  315.             return null;
  316.          }
  317.          var _loc5_:IResourceBundle = null;
  318.          var _loc6_:Object = _loc4_[param2];
  319.          if(_loc6_ is Dictionary)
  320.          {
  321.             if(param3)
  322.             {
  323.                return null;
  324.             }
  325.             _loc7_ = param1 + param2;
  326.             for(_loc8_ in _loc6_)
  327.             {
  328.                if(_loc6_[_loc8_] == _loc7_)
  329.                {
  330.                   _loc5_ = _loc8_ as IResourceBundle;
  331.                   break;
  332.                }
  333.             }
  334.          }
  335.          else
  336.          {
  337.             _loc5_ = _loc6_ as IResourceBundle;
  338.          }
  339.          return _loc5_;
  340.       }
  341.       
  342.       public function removeResourceBundle(param1:String, param2:String) : void
  343.       {
  344.          delete this.localeMap[param1][param2];
  345.          if(this.getBundleNamesForLocale(param1).length == 0)
  346.          {
  347.             delete this.localeMap[param1];
  348.          }
  349.       }
  350.       
  351.       public function removeResourceBundlesForLocale(param1:String) : void
  352.       {
  353.          delete this.localeMap[param1];
  354.       }
  355.       
  356.       public function update() : void
  357.       {
  358.          dispatchEvent(new Event(Event.CHANGE));
  359.       }
  360.       
  361.       public function getLocales() : Array
  362.       {
  363.          var _loc2_:String = null;
  364.          var _loc1_:Array = [];
  365.          for(_loc2_ in this.localeMap)
  366.          {
  367.             _loc1_.push(_loc2_);
  368.          }
  369.          return _loc1_;
  370.       }
  371.       
  372.       public function getPreferredLocaleChain() : Array
  373.       {
  374.          return LocaleSorter.sortLocalesByPreference(this.getLocales(),this.getSystemPreferredLocales(),null,true);
  375.       }
  376.       
  377.       public function getBundleNamesForLocale(param1:String) : Array
  378.       {
  379.          var _loc3_:String = null;
  380.          var _loc2_:Array = [];
  381.          for(_loc3_ in this.localeMap[param1])
  382.          {
  383.             _loc2_.push(_loc3_);
  384.          }
  385.          return _loc2_;
  386.       }
  387.       
  388.       public function findResourceBundleWithResource(param1:String, param2:String) : IResourceBundle
  389.       {
  390.          var _loc5_:String = null;
  391.          var _loc6_:Object = null;
  392.          var _loc7_:Object = null;
  393.          var _loc8_:IResourceBundle = null;
  394.          var _loc9_:String = null;
  395.          var _loc10_:Object = null;
  396.          if(!this._localeChain)
  397.          {
  398.             return null;
  399.          }
  400.          var _loc3_:int = int(this._localeChain.length);
  401.          var _loc4_:int = 0;
  402.          while(_loc4_ < _loc3_)
  403.          {
  404.             _loc5_ = this.localeChain[_loc4_];
  405.             _loc6_ = this.localeMap[_loc5_];
  406.             if(_loc6_)
  407.             {
  408.                _loc7_ = _loc6_[param1];
  409.                if(_loc7_)
  410.                {
  411.                   _loc8_ = null;
  412.                   if(_loc7_ is Dictionary)
  413.                   {
  414.                      _loc9_ = _loc5_ + param1;
  415.                      for(_loc10_ in _loc7_)
  416.                      {
  417.                         if(_loc7_[_loc10_] == _loc9_)
  418.                         {
  419.                            _loc8_ = _loc10_ as IResourceBundle;
  420.                            break;
  421.                         }
  422.                      }
  423.                   }
  424.                   else
  425.                   {
  426.                      _loc8_ = _loc7_ as IResourceBundle;
  427.                   }
  428.                   if(Boolean(_loc8_) && param2 in _loc8_.content)
  429.                   {
  430.                      return _loc8_;
  431.                   }
  432.                }
  433.             }
  434.             _loc4_++;
  435.          }
  436.          return null;
  437.       }
  438.       
  439.       [Bindable("change")]
  440.       public function getObject(param1:String, param2:String, param3:String = null) : *
  441.       {
  442.          var _loc4_:IResourceBundle = this.findBundle(param1,param2,param3);
  443.          if(!_loc4_)
  444.          {
  445.             return undefined;
  446.          }
  447.          return _loc4_.content[param2];
  448.       }
  449.       
  450.       [Bindable("change")]
  451.       public function getString(param1:String, param2:String, param3:Array = null, param4:String = null) : String
  452.       {
  453.          var _loc5_:IResourceBundle = this.findBundle(param1,param2,param4);
  454.          if(!_loc5_)
  455.          {
  456.             return null;
  457.          }
  458.          var _loc6_:String = String(_loc5_.content[param2]);
  459.          if(param3)
  460.          {
  461.             _loc6_ = StringUtil.substitute(_loc6_,param3);
  462.          }
  463.          return _loc6_;
  464.       }
  465.       
  466.       [Bindable("change")]
  467.       public function getStringArray(param1:String, param2:String, param3:String = null) : Array
  468.       {
  469.          var _loc4_:IResourceBundle = this.findBundle(param1,param2,param3);
  470.          if(!_loc4_)
  471.          {
  472.             return null;
  473.          }
  474.          var _loc5_:* = _loc4_.content[param2];
  475.          var _loc6_:Array = String(_loc5_).split(",");
  476.          var _loc7_:int = int(_loc6_.length);
  477.          var _loc8_:int = 0;
  478.          while(_loc8_ < _loc7_)
  479.          {
  480.             _loc6_[_loc8_] = StringUtil.trim(_loc6_[_loc8_]);
  481.             _loc8_++;
  482.          }
  483.          return _loc6_;
  484.       }
  485.       
  486.       [Bindable("change")]
  487.       public function getNumber(param1:String, param2:String, param3:String = null) : Number
  488.       {
  489.          var _loc4_:IResourceBundle = this.findBundle(param1,param2,param3);
  490.          if(!_loc4_)
  491.          {
  492.             return NaN;
  493.          }
  494.          var _loc5_:* = _loc4_.content[param2];
  495.          return Number(_loc5_);
  496.       }
  497.       
  498.       [Bindable("change")]
  499.       public function getInt(param1:String, param2:String, param3:String = null) : int
  500.       {
  501.          var _loc4_:IResourceBundle = this.findBundle(param1,param2,param3);
  502.          if(!_loc4_)
  503.          {
  504.             return 0;
  505.          }
  506.          var _loc5_:* = _loc4_.content[param2];
  507.          return int(_loc5_);
  508.       }
  509.       
  510.       [Bindable("change")]
  511.       public function getUint(param1:String, param2:String, param3:String = null) : uint
  512.       {
  513.          var _loc4_:IResourceBundle = this.findBundle(param1,param2,param3);
  514.          if(!_loc4_)
  515.          {
  516.             return 0;
  517.          }
  518.          var _loc5_:* = _loc4_.content[param2];
  519.          return uint(_loc5_);
  520.       }
  521.       
  522.       [Bindable("change")]
  523.       public function getBoolean(param1:String, param2:String, param3:String = null) : Boolean
  524.       {
  525.          var _loc4_:IResourceBundle = this.findBundle(param1,param2,param3);
  526.          if(!_loc4_)
  527.          {
  528.             return false;
  529.          }
  530.          var _loc5_:* = _loc4_.content[param2];
  531.          return String(_loc5_).toLowerCase() == "true";
  532.       }
  533.       
  534.       [Bindable("change")]
  535.       public function getClass(param1:String, param2:String, param3:String = null) : Class
  536.       {
  537.          var _loc4_:IResourceBundle = this.findBundle(param1,param2,param3);
  538.          if(!_loc4_)
  539.          {
  540.             return null;
  541.          }
  542.          var _loc5_:* = _loc4_.content[param2];
  543.          return _loc5_ as Class;
  544.       }
  545.       
  546.       private function findBundle(param1:String, param2:String, param3:String) : IResourceBundle
  547.       {
  548.          this.supportNonFrameworkApps();
  549.          return param3 != null ? this.getResourceBundle(param3,param1) : this.findResourceBundleWithResource(param1,param2);
  550.       }
  551.       
  552.       private function supportNonFrameworkApps() : void
  553.       {
  554.          if(this.initializedForNonFrameworkApp)
  555.          {
  556.             return;
  557.          }
  558.          this.initializedForNonFrameworkApp = true;
  559.          if(this.getLocales().length > 0)
  560.          {
  561.             return;
  562.          }
  563.          var _loc1_:ApplicationDomain = ApplicationDomain.currentDomain;
  564.          if(!_loc1_.hasDefinition("_CompiledResourceBundleInfo"))
  565.          {
  566.             return;
  567.          }
  568.          var _loc2_:Class = Class(_loc1_.getDefinition("_CompiledResourceBundleInfo"));
  569.          var _loc3_:Array = _loc2_.compiledLocales;
  570.          var _loc4_:Array = _loc2_.compiledResourceBundleNames;
  571.          this.installCompiledResourceBundles(_loc1_,_loc3_,_loc4_);
  572.          this.localeChain = _loc3_;
  573.       }
  574.       
  575.       private function getSystemPreferredLocales() : Array
  576.       {
  577.          var _loc1_:Array = null;
  578.          if(Capabilities["languages"])
  579.          {
  580.             _loc1_ = Capabilities["languages"];
  581.          }
  582.          else
  583.          {
  584.             _loc1_ = [Capabilities.language];
  585.          }
  586.          return _loc1_;
  587.       }
  588.       
  589.       private function dumpResourceModule(param1:*) : void
  590.       {
  591.          var _loc2_:ResourceBundle = null;
  592.          var _loc3_:String = null;
  593.          for each(_loc2_ in param1.resourceBundles)
  594.          {
  595.             trace(_loc2_.locale,_loc2_.bundleName);
  596.             for(_loc3_ in _loc2_.content)
  597.             {
  598.             }
  599.          }
  600.       }
  601.    }
  602. }
  603.  
  604. import flash.events.EventDispatcher;
  605. import mx.events.ModuleEvent;
  606. import mx.events.ResourceEvent;
  607. import mx.modules.IModuleInfo;
  608.  
  609. class ResourceModuleInfo
  610. {
  611.    public var errorHandler:Function;
  612.    
  613.    public var moduleInfo:IModuleInfo;
  614.    
  615.    public var readyHandler:Function;
  616.    
  617.    public var resourceModule:IResourceModule;
  618.    
  619.    public function ResourceModuleInfo(param1:IModuleInfo, param2:Function, param3:Function)
  620.    {
  621.       super();
  622.       this.moduleInfo = param1;
  623.       this.readyHandler = param2;
  624.       this.errorHandler = param3;
  625.    }
  626. }
  627.  
  628. class ResourceEventDispatcher extends EventDispatcher
  629. {
  630.    public function ResourceEventDispatcher(param1:IModuleInfo)
  631.    {
  632.       super();
  633.       param1.addEventListener(ModuleEvent.ERROR,this.moduleInfo_errorHandler,false,0,true);
  634.       param1.addEventListener(ModuleEvent.PROGRESS,this.moduleInfo_progressHandler,false,0,true);
  635.       param1.addEventListener(ModuleEvent.READY,this.moduleInfo_readyHandler,false,0,true);
  636.    }
  637.    
  638.    private function moduleInfo_errorHandler(param1:ModuleEvent) : void
  639.    {
  640.       var _loc2_:ResourceEvent = new ResourceEvent(ResourceEvent.ERROR,param1.bubbles,param1.cancelable);
  641.       _loc2_.bytesLoaded = param1.bytesLoaded;
  642.       _loc2_.bytesTotal = param1.bytesTotal;
  643.       _loc2_.errorText = param1.errorText;
  644.       dispatchEvent(_loc2_);
  645.    }
  646.    
  647.    private function moduleInfo_progressHandler(param1:ModuleEvent) : void
  648.    {
  649.       var _loc2_:ResourceEvent = new ResourceEvent(ResourceEvent.PROGRESS,param1.bubbles,param1.cancelable);
  650.       _loc2_.bytesLoaded = param1.bytesLoaded;
  651.       _loc2_.bytesTotal = param1.bytesTotal;
  652.       dispatchEvent(_loc2_);
  653.    }
  654.    
  655.    private function moduleInfo_readyHandler(param1:ModuleEvent) : void
  656.    {
  657.       var _loc2_:ResourceEvent = new ResourceEvent(ResourceEvent.COMPLETE);
  658.       dispatchEvent(_loc2_);
  659.    }
  660. }
  661.