home *** CD-ROM | disk | FTP | other *** search
/ Computer Active 2010 August / CA08.iso / Multimedija / shufflr.air / ShufflrClient.swf / scripts / mx / managers / SystemManager.as < prev    next >
Encoding:
Text File  |  2010-06-23  |  129.6 KB  |  3,820 lines

  1. package mx.managers
  2. {
  3.    import flash.display.DisplayObject;
  4.    import flash.display.DisplayObjectContainer;
  5.    import flash.display.Graphics;
  6.    import flash.display.InteractiveObject;
  7.    import flash.display.Loader;
  8.    import flash.display.LoaderInfo;
  9.    import flash.display.MovieClip;
  10.    import flash.display.Sprite;
  11.    import flash.display.Stage;
  12.    import flash.display.StageAlign;
  13.    import flash.display.StageScaleMode;
  14.    import flash.events.Event;
  15.    import flash.events.IEventDispatcher;
  16.    import flash.events.MouseEvent;
  17.    import flash.events.TimerEvent;
  18.    import flash.geom.Point;
  19.    import flash.geom.Rectangle;
  20.    import flash.system.ApplicationDomain;
  21.    import flash.text.Font;
  22.    import flash.text.TextFormat;
  23.    import flash.utils.Dictionary;
  24.    import flash.utils.Timer;
  25.    import flash.utils.getQualifiedClassName;
  26.    import mx.core.EmbeddedFontRegistry;
  27.    import mx.core.EventPriority;
  28.    import mx.core.FlexSprite;
  29.    import mx.core.IChildList;
  30.    import mx.core.IFlexDisplayObject;
  31.    import mx.core.IFlexModuleFactory;
  32.    import mx.core.IInvalidating;
  33.    import mx.core.IRawChildrenContainer;
  34.    import mx.core.ISWFBridgeGroup;
  35.    import mx.core.ISWFBridgeProvider;
  36.    import mx.core.ISWFLoader;
  37.    import mx.core.IUIComponent;
  38.    import mx.core.RSLItem;
  39.    import mx.core.SWFBridgeGroup;
  40.    import mx.core.Singleton;
  41.    import mx.core.TextFieldFactory;
  42.    import mx.core.mx_internal;
  43.    import mx.events.EventListenerRequest;
  44.    import mx.events.FlexChangeEvent;
  45.    import mx.events.FlexEvent;
  46.    import mx.events.InterManagerRequest;
  47.    import mx.events.InvalidateRequestData;
  48.    import mx.events.RSLEvent;
  49.    import mx.events.SWFBridgeEvent;
  50.    import mx.events.SWFBridgeRequest;
  51.    import mx.events.SandboxMouseEvent;
  52.    import mx.managers.systemClasses.EventProxy;
  53.    import mx.managers.systemClasses.PlaceholderData;
  54.    import mx.managers.systemClasses.RemotePopUp;
  55.    import mx.messaging.config.LoaderConfig;
  56.    import mx.preloaders.DownloadProgressBar;
  57.    import mx.preloaders.Preloader;
  58.    import mx.resources.IResourceManager;
  59.    import mx.resources.ResourceBundle;
  60.    import mx.resources.ResourceManager;
  61.    import mx.styles.ISimpleStyleClient;
  62.    import mx.styles.IStyleClient;
  63.    import mx.styles.StyleManager;
  64.    import mx.utils.EventUtil;
  65.    import mx.utils.LoaderUtil;
  66.    import mx.utils.NameUtil;
  67.    import mx.utils.SecurityUtil;
  68.    
  69.    use namespace mx_internal;
  70.    
  71.    public class SystemManager extends MovieClip implements IChildList, IFlexDisplayObject, IFlexModuleFactory, ISystemManager, ISWFBridgeProvider
  72.    {
  73.       mx_internal static var lastSystemManager:SystemManager;
  74.       
  75.       mx_internal static const VERSION:String = "3.5.0.12683";
  76.       
  77.       private static const IDLE_THRESHOLD:Number = 1000;
  78.       
  79.       private static const IDLE_INTERVAL:Number = 100;
  80.       
  81.       mx_internal static var allSystemManagers:Dictionary = new Dictionary(true);
  82.       
  83.       private var _stage:Stage;
  84.       
  85.       mx_internal var nestLevel:int = 0;
  86.       
  87.       private var currentSandboxEvent:Event;
  88.       
  89.       private var forms:Array = [];
  90.       
  91.       private var mouseCatcher:Sprite;
  92.       
  93.       private var _height:Number;
  94.       
  95.       private var preloader:Preloader;
  96.       
  97.       private var lastFrame:int;
  98.       
  99.       private var _document:Object;
  100.       
  101.       private var strongReferenceProxies:Dictionary = new Dictionary(false);
  102.       
  103.       private var _rawChildren:SystemRawChildrenList;
  104.       
  105.       private var _topLevelSystemManager:ISystemManager;
  106.       
  107.       private var _toolTipIndex:int = 0;
  108.       
  109.       private var _bridgeToFocusManager:Dictionary;
  110.       
  111.       private var _explicitHeight:Number;
  112.       
  113.       private var idToPlaceholder:Object;
  114.       
  115.       private var _swfBridgeGroup:ISWFBridgeGroup;
  116.       
  117.       private var _toolTipChildren:SystemChildrenList;
  118.       
  119.       private var form:Object;
  120.       
  121.       private var _width:Number;
  122.       
  123.       private var initialized:Boolean = false;
  124.       
  125.       private var _focusPane:Sprite;
  126.       
  127.       private var _fontList:Object = null;
  128.       
  129.       private var isStageRoot:Boolean = true;
  130.       
  131.       private var _popUpChildren:SystemChildrenList;
  132.       
  133.       private var _topMostIndex:int = 0;
  134.       
  135.       private var nextFrameTimer:Timer = null;
  136.       
  137.       mx_internal var topLevel:Boolean = true;
  138.       
  139.       private var weakReferenceProxies:Dictionary = new Dictionary(true);
  140.       
  141.       private var _cursorIndex:int = 0;
  142.       
  143.       private var isBootstrapRoot:Boolean = false;
  144.       
  145.       mx_internal var _mouseY:*;
  146.       
  147.       private var _numModalWindows:int = 0;
  148.       
  149.       mx_internal var _mouseX:*;
  150.       
  151.       private var _screen:Rectangle;
  152.       
  153.       mx_internal var idleCounter:int = 0;
  154.       
  155.       private var _cursorChildren:SystemChildrenList;
  156.       
  157.       private var initCallbackFunctions:Array = [];
  158.       
  159.       private var _noTopMostIndex:int = 0;
  160.       
  161.       private var _applicationIndex:int = 1;
  162.       
  163.       private var isDispatchingResizeEvent:Boolean;
  164.       
  165.       private var idleTimer:Timer;
  166.       
  167.       private var doneExecutingInitCallbacks:Boolean = false;
  168.       
  169.       private var _explicitWidth:Number;
  170.       
  171.       private var eventProxy:EventProxy;
  172.       
  173.       mx_internal var topLevelWindow:IUIComponent;
  174.       
  175.       public function SystemManager()
  176.       {
  177.          super();
  178.          if(stage)
  179.          {
  180.             stage.scaleMode = StageScaleMode.NO_SCALE;
  181.             stage.align = StageAlign.TOP_LEFT;
  182.          }
  183.          if(SystemManagerGlobals.topLevelSystemManagers.length > 0 && !stage)
  184.          {
  185.             mx_internal::topLevel = false;
  186.          }
  187.          if(!stage)
  188.          {
  189.             isStageRoot = false;
  190.          }
  191.          if(mx_internal::topLevel)
  192.          {
  193.             SystemManagerGlobals.topLevelSystemManagers.push(this);
  194.          }
  195.          mx_internal::lastSystemManager = this;
  196.          var _loc1_:Array = info()["compiledLocales"];
  197.          ResourceBundle.mx_internal::locale = _loc1_ != null && _loc1_.length > 0 ? _loc1_[0] : "en_US";
  198.          executeCallbacks();
  199.          stop();
  200.          if(mx_internal::topLevel && currentFrame != 1)
  201.          {
  202.             throw new Error("The SystemManager constructor was called when the currentFrame was at " + currentFrame + " Please add this SWF to bug 129782.");
  203.          }
  204.          if(Boolean(root) && Boolean(root.loaderInfo))
  205.          {
  206.             root.loaderInfo.addEventListener(Event.INIT,initHandler);
  207.          }
  208.       }
  209.       
  210.       public static function getSWFRoot(param1:Object) : DisplayObject
  211.       {
  212.          var p:* = undefined;
  213.          var sm:ISystemManager = null;
  214.          var domain:ApplicationDomain = null;
  215.          var cls:Class = null;
  216.          var object:Object = param1;
  217.          var className:String = getQualifiedClassName(object);
  218.          for(p in mx_internal::allSystemManagers)
  219.          {
  220.             sm = p as ISystemManager;
  221.             domain = sm.loaderInfo.applicationDomain;
  222.             try
  223.             {
  224.                cls = Class(domain.getDefinition(className));
  225.                if(object is cls)
  226.                {
  227.                   return sm as DisplayObject;
  228.                }
  229.             }
  230.             catch(e:Error)
  231.             {
  232.             }
  233.          }
  234.          return null;
  235.       }
  236.       
  237.       private static function areRemotePopUpsEqual(param1:Object, param2:Object) : Boolean
  238.       {
  239.          if(!(param1 is RemotePopUp))
  240.          {
  241.             return false;
  242.          }
  243.          if(!(param2 is RemotePopUp))
  244.          {
  245.             return false;
  246.          }
  247.          var _loc3_:RemotePopUp = RemotePopUp(param1);
  248.          var _loc4_:RemotePopUp = RemotePopUp(param2);
  249.          if(_loc3_.window == _loc4_.window && _loc3_.bridge && Boolean(_loc4_.bridge))
  250.          {
  251.             return true;
  252.          }
  253.          return false;
  254.       }
  255.       
  256.       private static function getChildListIndex(param1:IChildList, param2:Object) : int
  257.       {
  258.          var childList:IChildList = param1;
  259.          var f:Object = param2;
  260.          var index:int = -1;
  261.          try
  262.          {
  263.             index = childList.getChildIndex(DisplayObject(f));
  264.          }
  265.          catch(e:ArgumentError)
  266.          {
  267.          }
  268.          return index;
  269.       }
  270.       
  271.       mx_internal static function registerInitCallback(param1:Function) : void
  272.       {
  273.          if(!mx_internal::allSystemManagers || !mx_internal::lastSystemManager)
  274.          {
  275.             return;
  276.          }
  277.          var _loc2_:SystemManager = mx_internal::lastSystemManager;
  278.          if(_loc2_.doneExecutingInitCallbacks)
  279.          {
  280.             param1(_loc2_);
  281.          }
  282.          else
  283.          {
  284.             _loc2_.initCallbackFunctions.push(param1);
  285.          }
  286.       }
  287.       
  288.       private static function isRemotePopUp(param1:Object) : Boolean
  289.       {
  290.          return !(param1 is IFocusManagerContainer);
  291.       }
  292.       
  293.       private function removeEventListenerFromSandboxes(param1:String, param2:Function, param3:Boolean = false, param4:IEventDispatcher = null) : void
  294.       {
  295.          var _loc8_:int = 0;
  296.          if(!swfBridgeGroup)
  297.          {
  298.             return;
  299.          }
  300.          var _loc5_:EventListenerRequest = new EventListenerRequest(EventListenerRequest.REMOVE_EVENT_LISTENER_REQUEST,false,false,param1,param3);
  301.          var _loc6_:IEventDispatcher = swfBridgeGroup.parentBridge;
  302.          if((Boolean(_loc6_)) && _loc6_ != param4)
  303.          {
  304.             _loc6_.removeEventListener(param1,param2,param3);
  305.          }
  306.          var _loc7_:Array = swfBridgeGroup.getChildBridges();
  307.          while(_loc8_ < _loc7_.length)
  308.          {
  309.             if(_loc7_[_loc8_] != param4)
  310.             {
  311.                IEventDispatcher(_loc7_[_loc8_]).removeEventListener(param1,param2,param3);
  312.             }
  313.             _loc8_++;
  314.          }
  315.          dispatchEventFromSWFBridges(_loc5_,param4);
  316.       }
  317.       
  318.       mx_internal function addingChild(param1:DisplayObject) : void
  319.       {
  320.          var _loc4_:DisplayObjectContainer = null;
  321.          var _loc2_:int = 1;
  322.          if(!mx_internal::topLevel && Boolean(parent))
  323.          {
  324.             _loc4_ = parent.parent;
  325.             while(_loc4_)
  326.             {
  327.                if(_loc4_ is ILayoutManagerClient)
  328.                {
  329.                   _loc2_ = ILayoutManagerClient(_loc4_).nestLevel + 1;
  330.                   break;
  331.                }
  332.                _loc4_ = _loc4_.parent;
  333.             }
  334.          }
  335.          mx_internal::nestLevel = _loc2_;
  336.          if(param1 is IUIComponent)
  337.          {
  338.             IUIComponent(param1).systemManager = this;
  339.          }
  340.          var _loc3_:Class = Class(getDefinitionByName("mx.core.UIComponent"));
  341.          if(param1 is IUIComponent && !IUIComponent(param1).document)
  342.          {
  343.             IUIComponent(param1).document = document;
  344.          }
  345.          if(param1 is ILayoutManagerClient)
  346.          {
  347.             ILayoutManagerClient(param1).nestLevel = mx_internal::nestLevel + 1;
  348.          }
  349.          if(param1 is InteractiveObject)
  350.          {
  351.             if(doubleClickEnabled)
  352.             {
  353.                InteractiveObject(param1).doubleClickEnabled = true;
  354.             }
  355.          }
  356.          if(param1 is IUIComponent)
  357.          {
  358.             IUIComponent(param1).parentChanged(this);
  359.          }
  360.          if(param1 is IStyleClient)
  361.          {
  362.             IStyleClient(param1).regenerateStyleCache(true);
  363.          }
  364.          if(param1 is ISimpleStyleClient)
  365.          {
  366.             ISimpleStyleClient(param1).styleChanged(null);
  367.          }
  368.          if(param1 is IStyleClient)
  369.          {
  370.             IStyleClient(param1).notifyStyleChangeInChildren(null,true);
  371.          }
  372.          if(Boolean(_loc3_) && param1 is _loc3_)
  373.          {
  374.             _loc3_(param1).initThemeColor();
  375.          }
  376.          if(Boolean(_loc3_) && param1 is _loc3_)
  377.          {
  378.             _loc3_(param1).stylesInitialized();
  379.          }
  380.       }
  381.       
  382.       private function dispatchEventToOtherSystemManagers(param1:Event) : void
  383.       {
  384.          SystemManagerGlobals.dispatchingEventToOtherSystemManagers = true;
  385.          var _loc2_:Array = SystemManagerGlobals.topLevelSystemManagers;
  386.          var _loc3_:int = int(_loc2_.length);
  387.          var _loc4_:int = 0;
  388.          while(_loc4_ < _loc3_)
  389.          {
  390.             if(_loc2_[_loc4_] != this)
  391.             {
  392.                _loc2_[_loc4_].dispatchEvent(param1);
  393.             }
  394.             _loc4_++;
  395.          }
  396.          SystemManagerGlobals.dispatchingEventToOtherSystemManagers = false;
  397.       }
  398.       
  399.       private function idleTimer_timerHandler(param1:TimerEvent) : void
  400.       {
  401.          ++mx_internal::idleCounter;
  402.          if(mx_internal::idleCounter * IDLE_INTERVAL > IDLE_THRESHOLD)
  403.          {
  404.             dispatchEvent(new FlexEvent(FlexEvent.IDLE));
  405.          }
  406.       }
  407.       
  408.       private function initManagerHandler(param1:Event) : void
  409.       {
  410.          var name:String;
  411.          var event:Event = param1;
  412.          if(!SystemManagerGlobals.dispatchingEventToOtherSystemManagers)
  413.          {
  414.             dispatchEventToOtherSystemManagers(event);
  415.          }
  416.          if(event is InterManagerRequest)
  417.          {
  418.             return;
  419.          }
  420.          name = event["name"];
  421.          try
  422.          {
  423.             Singleton.getInstance(name);
  424.          }
  425.          catch(e:Error)
  426.          {
  427.          }
  428.       }
  429.       
  430.       mx_internal function rawChildren_getObjectsUnderPoint(param1:Point) : Array
  431.       {
  432.          return super.getObjectsUnderPoint(param1);
  433.       }
  434.       
  435.       public function get preloadedRSLs() : Dictionary
  436.       {
  437.          return null;
  438.       }
  439.       
  440.       private function getSizeRequestHandler(param1:Event) : void
  441.       {
  442.          var _loc2_:Object = Object(param1);
  443.          _loc2_.data = {
  444.             "width":measuredWidth,
  445.             "height":measuredHeight
  446.          };
  447.       }
  448.       
  449.       private function beforeUnloadHandler(param1:Event) : void
  450.       {
  451.          var _loc2_:DisplayObject = null;
  452.          if(mx_internal::topLevel && Boolean(stage))
  453.          {
  454.             _loc2_ = getSandboxRoot();
  455.             if(_loc2_ != this)
  456.             {
  457.                _loc2_.removeEventListener(Event.RESIZE,Stage_resizeHandler);
  458.             }
  459.          }
  460.          mx_internal::removeParentBridgeListeners();
  461.          dispatchEvent(param1);
  462.       }
  463.       
  464.       public function getExplicitOrMeasuredHeight() : Number
  465.       {
  466.          return !isNaN(explicitHeight) ? explicitHeight : measuredHeight;
  467.       }
  468.       
  469.       private function getVisibleRectRequestHandler(param1:Event) : void
  470.       {
  471.          var _loc5_:Rectangle = null;
  472.          var _loc7_:Point = null;
  473.          var _loc8_:IEventDispatcher = null;
  474.          if(param1 is SWFBridgeRequest)
  475.          {
  476.             return;
  477.          }
  478.          var _loc2_:SWFBridgeRequest = SWFBridgeRequest.marshal(param1);
  479.          var _loc3_:Rectangle = Rectangle(_loc2_.data);
  480.          var _loc4_:DisplayObject = DisplayObject(swfBridgeGroup.getChildBridgeProvider(_loc2_.requestor));
  481.          var _loc6_:Boolean = true;
  482.          if(!DisplayObjectContainer(document).contains(_loc4_))
  483.          {
  484.             _loc6_ = false;
  485.          }
  486.          if(_loc4_ is ISWFLoader)
  487.          {
  488.             _loc5_ = ISWFLoader(_loc4_).getVisibleApplicationRect();
  489.          }
  490.          else
  491.          {
  492.             _loc5_ = _loc4_.getBounds(this);
  493.             _loc7_ = localToGlobal(_loc5_.topLeft);
  494.             _loc5_.x = _loc7_.x;
  495.             _loc5_.y = _loc7_.y;
  496.          }
  497.          _loc3_ = _loc3_.intersection(_loc5_);
  498.          _loc2_.data = _loc3_;
  499.          if(_loc6_ && useSWFBridge())
  500.          {
  501.             _loc8_ = swfBridgeGroup.parentBridge;
  502.             _loc2_.requestor = _loc8_;
  503.             _loc8_.dispatchEvent(_loc2_);
  504.          }
  505.          Object(param1).data = _loc2_.data;
  506.       }
  507.       
  508.       mx_internal function notifyStyleChangeInChildren(param1:String, param2:Boolean) : void
  509.       {
  510.          var _loc6_:IStyleClient = null;
  511.          var _loc3_:Boolean = false;
  512.          var _loc4_:int = rawChildren.numChildren;
  513.          var _loc5_:int = 0;
  514.          while(_loc5_ < _loc4_)
  515.          {
  516.             _loc6_ = rawChildren.getChildAt(_loc5_) as IStyleClient;
  517.             if(_loc6_)
  518.             {
  519.                _loc6_.styleChanged(param1);
  520.                _loc6_.notifyStyleChangeInChildren(param1,param2);
  521.             }
  522.             if(isTopLevelWindow(DisplayObject(_loc6_)))
  523.             {
  524.                _loc3_ = true;
  525.             }
  526.             _loc4_ = rawChildren.numChildren;
  527.             _loc5_++;
  528.          }
  529.          if(!_loc3_ && mx_internal::topLevelWindow is IStyleClient)
  530.          {
  531.             IStyleClient(mx_internal::topLevelWindow).styleChanged(param1);
  532.             IStyleClient(mx_internal::topLevelWindow).notifyStyleChangeInChildren(param1,param2);
  533.          }
  534.       }
  535.       
  536.       private function addEventListenerToOtherSystemManagers(param1:String, param2:Function, param3:Boolean = false, param4:int = 0, param5:Boolean = false) : void
  537.       {
  538.          var _loc6_:Array = SystemManagerGlobals.topLevelSystemManagers;
  539.          if(_loc6_.length < 2)
  540.          {
  541.             return;
  542.          }
  543.          SystemManagerGlobals.changingListenersInOtherSystemManagers = true;
  544.          var _loc7_:int = int(_loc6_.length);
  545.          var _loc8_:int = 0;
  546.          while(_loc8_ < _loc7_)
  547.          {
  548.             if(_loc6_[_loc8_] != this)
  549.             {
  550.                _loc6_[_loc8_].addEventListener(param1,param2,param3,param4,param5);
  551.             }
  552.             _loc8_++;
  553.          }
  554.          SystemManagerGlobals.changingListenersInOtherSystemManagers = false;
  555.       }
  556.       
  557.       private function initHandler(param1:Event) : void
  558.       {
  559.          var sbRoot:DisplayObject;
  560.          var docFrame:int;
  561.          var bridgeEvent:SWFBridgeEvent = null;
  562.          var event:Event = param1;
  563.          if(!isStageRoot)
  564.          {
  565.             if(root.loaderInfo.parentAllowsChild)
  566.             {
  567.                try
  568.                {
  569.                   if(!parent.dispatchEvent(new Event("mx.managers.SystemManager.isBootstrapRoot",false,true)) || !root.loaderInfo.sharedEvents.hasEventListener(SWFBridgeEvent.BRIDGE_NEW_APPLICATION))
  570.                   {
  571.                      isBootstrapRoot = true;
  572.                   }
  573.                }
  574.                catch(e:Error)
  575.                {
  576.                }
  577.             }
  578.          }
  579.          mx_internal::allSystemManagers[this] = this.loaderInfo.url;
  580.          root.loaderInfo.removeEventListener(Event.INIT,initHandler);
  581.          if(useSWFBridge())
  582.          {
  583.             swfBridgeGroup = new SWFBridgeGroup(this);
  584.             swfBridgeGroup.parentBridge = loaderInfo.sharedEvents;
  585.             mx_internal::addParentBridgeListeners();
  586.             bridgeEvent = new SWFBridgeEvent(SWFBridgeEvent.BRIDGE_NEW_APPLICATION);
  587.             bridgeEvent.data = swfBridgeGroup.parentBridge;
  588.             swfBridgeGroup.parentBridge.dispatchEvent(bridgeEvent);
  589.             addEventListener(SWFBridgeRequest.ADD_POP_UP_PLACE_HOLDER_REQUEST,addPlaceholderPopupRequestHandler);
  590.             root.loaderInfo.addEventListener(Event.UNLOAD,unloadHandler,false,0,true);
  591.          }
  592.          sbRoot = getSandboxRoot();
  593.          sbRoot.addEventListener(InterManagerRequest.INIT_MANAGER_REQUEST,initManagerHandler,false,0,true);
  594.          if(sbRoot == this)
  595.          {
  596.             addEventListener(InterManagerRequest.SYSTEM_MANAGER_REQUEST,systemManagerHandler);
  597.             addEventListener(InterManagerRequest.DRAG_MANAGER_REQUEST,multiWindowRedispatcher);
  598.             addEventListener("dispatchDragEvent",multiWindowRedispatcher);
  599.             addEventListener(SWFBridgeRequest.ADD_POP_UP_REQUEST,addPopupRequestHandler);
  600.             addEventListener(SWFBridgeRequest.REMOVE_POP_UP_REQUEST,removePopupRequestHandler);
  601.             addEventListener(SWFBridgeRequest.ADD_POP_UP_PLACE_HOLDER_REQUEST,addPlaceholderPopupRequestHandler);
  602.             addEventListener(SWFBridgeRequest.REMOVE_POP_UP_PLACE_HOLDER_REQUEST,removePlaceholderPopupRequestHandler);
  603.             addEventListener(SWFBridgeEvent.BRIDGE_WINDOW_ACTIVATE,activateFormSandboxEventHandler);
  604.             addEventListener(SWFBridgeEvent.BRIDGE_WINDOW_DEACTIVATE,deactivateFormSandboxEventHandler);
  605.             addEventListener(SWFBridgeRequest.HIDE_MOUSE_CURSOR_REQUEST,hideMouseCursorRequestHandler);
  606.             addEventListener(SWFBridgeRequest.SHOW_MOUSE_CURSOR_REQUEST,showMouseCursorRequestHandler);
  607.             addEventListener(SWFBridgeRequest.RESET_MOUSE_CURSOR_REQUEST,resetMouseCursorRequestHandler);
  608.          }
  609.          docFrame = totalFrames == 1 ? 0 : 1;
  610.          addEventListener(Event.ENTER_FRAME,docFrameListener);
  611.          mx_internal::initialize();
  612.       }
  613.       
  614.       mx_internal function findFocusManagerContainer(param1:SystemManagerProxy) : IFocusManagerContainer
  615.       {
  616.          var _loc5_:DisplayObject = null;
  617.          var _loc2_:IChildList = param1.rawChildren;
  618.          var _loc3_:int = _loc2_.numChildren;
  619.          var _loc4_:int = 0;
  620.          while(_loc4_ < _loc3_)
  621.          {
  622.             _loc5_ = _loc2_.getChildAt(_loc4_);
  623.             if(_loc5_ is IFocusManagerContainer)
  624.             {
  625.                return IFocusManagerContainer(_loc5_);
  626.             }
  627.             _loc4_++;
  628.          }
  629.          return null;
  630.       }
  631.       
  632.       private function addPlaceholderPopupRequestHandler(param1:Event) : void
  633.       {
  634.          var _loc3_:RemotePopUp = null;
  635.          var _loc2_:SWFBridgeRequest = SWFBridgeRequest.marshal(param1);
  636.          if(param1.target != this && param1 is SWFBridgeRequest)
  637.          {
  638.             return;
  639.          }
  640.          if(!forwardPlaceholderRequest(_loc2_,true))
  641.          {
  642.             _loc3_ = new RemotePopUp(_loc2_.data.placeHolderId,_loc2_.requestor);
  643.             forms.push(_loc3_);
  644.          }
  645.       }
  646.       
  647.       override public function contains(param1:DisplayObject) : Boolean
  648.       {
  649.          var _loc2_:int = 0;
  650.          var _loc3_:int = 0;
  651.          var _loc4_:DisplayObject = null;
  652.          if(super.contains(param1))
  653.          {
  654.             if(param1.parent == this)
  655.             {
  656.                _loc2_ = super.getChildIndex(param1);
  657.                if(_loc2_ < mx_internal::noTopMostIndex)
  658.                {
  659.                   return true;
  660.                }
  661.             }
  662.             else
  663.             {
  664.                _loc3_ = 0;
  665.                while(_loc3_ < mx_internal::noTopMostIndex)
  666.                {
  667.                   _loc4_ = super.getChildAt(_loc3_);
  668.                   if(_loc4_ is IRawChildrenContainer)
  669.                   {
  670.                      if(IRawChildrenContainer(_loc4_).rawChildren.contains(param1))
  671.                      {
  672.                         return true;
  673.                      }
  674.                   }
  675.                   if(_loc4_ is DisplayObjectContainer)
  676.                   {
  677.                      if(DisplayObjectContainer(_loc4_).contains(param1))
  678.                      {
  679.                         return true;
  680.                      }
  681.                   }
  682.                   _loc3_++;
  683.                }
  684.             }
  685.          }
  686.          return false;
  687.       }
  688.       
  689.       private function modalWindowRequestHandler(param1:Event) : void
  690.       {
  691.          if(param1 is SWFBridgeRequest)
  692.          {
  693.             return;
  694.          }
  695.          var _loc2_:SWFBridgeRequest = SWFBridgeRequest.marshal(param1);
  696.          if(!preProcessModalWindowRequest(_loc2_,getSandboxRoot()))
  697.          {
  698.             return;
  699.          }
  700.          Singleton.getInstance("mx.managers::IPopUpManager");
  701.          dispatchEvent(_loc2_);
  702.       }
  703.       
  704.       private function activateApplicationSandboxEventHandler(param1:Event) : void
  705.       {
  706.          if(!isTopLevelRoot())
  707.          {
  708.             swfBridgeGroup.parentBridge.dispatchEvent(param1);
  709.             return;
  710.          }
  711.          activateForm(document);
  712.       }
  713.       
  714.       public function getDefinitionByName(param1:String) : Object
  715.       {
  716.          var _loc3_:Object = null;
  717.          var _loc2_:ApplicationDomain = !mx_internal::topLevel && parent is Loader ? Loader(parent).contentLoaderInfo.applicationDomain : info()["currentDomain"] as ApplicationDomain;
  718.          if(_loc2_.hasDefinition(param1))
  719.          {
  720.             _loc3_ = _loc2_.getDefinition(param1);
  721.          }
  722.          return _loc3_;
  723.       }
  724.       
  725.       public function removeChildFromSandboxRoot(param1:String, param2:DisplayObject) : void
  726.       {
  727.          var _loc3_:InterManagerRequest = null;
  728.          if(getSandboxRoot() == this)
  729.          {
  730.             this[param1].removeChild(param2);
  731.          }
  732.          else
  733.          {
  734.             mx_internal::removingChild(param2);
  735.             _loc3_ = new InterManagerRequest(InterManagerRequest.SYSTEM_MANAGER_REQUEST);
  736.             _loc3_.name = param1 + ".removeChild";
  737.             _loc3_.value = param2;
  738.             getSandboxRoot().dispatchEvent(_loc3_);
  739.             mx_internal::childRemoved(param2);
  740.          }
  741.       }
  742.       
  743.       private function removeEventListenerFromOtherSystemManagers(param1:String, param2:Function, param3:Boolean = false) : void
  744.       {
  745.          var _loc4_:Array = SystemManagerGlobals.topLevelSystemManagers;
  746.          if(_loc4_.length < 2)
  747.          {
  748.             return;
  749.          }
  750.          SystemManagerGlobals.changingListenersInOtherSystemManagers = true;
  751.          var _loc5_:int = int(_loc4_.length);
  752.          var _loc6_:int = 0;
  753.          while(_loc6_ < _loc5_)
  754.          {
  755.             if(_loc4_[_loc6_] != this)
  756.             {
  757.                _loc4_[_loc6_].removeEventListener(param1,param2,param3);
  758.             }
  759.             _loc6_++;
  760.          }
  761.          SystemManagerGlobals.changingListenersInOtherSystemManagers = false;
  762.       }
  763.       
  764.       public function get embeddedFontList() : Object
  765.       {
  766.          var _loc1_:Object = null;
  767.          var _loc2_:String = null;
  768.          var _loc3_:Object = null;
  769.          if(_fontList == null)
  770.          {
  771.             _fontList = {};
  772.             _loc1_ = info()["fonts"];
  773.             for(_loc2_ in _loc1_)
  774.             {
  775.                _fontList[_loc2_] = _loc1_[_loc2_];
  776.             }
  777.             if(!mx_internal::topLevel && Boolean(_topLevelSystemManager))
  778.             {
  779.                _loc3_ = _topLevelSystemManager.embeddedFontList;
  780.                for(_loc2_ in _loc3_)
  781.                {
  782.                   _fontList[_loc2_] = _loc3_[_loc2_];
  783.                }
  784.             }
  785.          }
  786.          return _fontList;
  787.       }
  788.       
  789.       mx_internal function set cursorIndex(param1:int) : void
  790.       {
  791.          var _loc2_:int = param1 - _cursorIndex;
  792.          _cursorIndex = param1;
  793.       }
  794.       
  795.       mx_internal function addChildBridgeListeners(param1:IEventDispatcher) : void
  796.       {
  797.          if(!mx_internal::topLevel && Boolean(topLevelSystemManager))
  798.          {
  799.             SystemManager(topLevelSystemManager).mx_internal::addChildBridgeListeners(param1);
  800.             return;
  801.          }
  802.          param1.addEventListener(SWFBridgeRequest.ADD_POP_UP_REQUEST,addPopupRequestHandler);
  803.          param1.addEventListener(SWFBridgeRequest.REMOVE_POP_UP_REQUEST,removePopupRequestHandler);
  804.          param1.addEventListener(SWFBridgeRequest.ADD_POP_UP_PLACE_HOLDER_REQUEST,addPlaceholderPopupRequestHandler);
  805.          param1.addEventListener(SWFBridgeRequest.REMOVE_POP_UP_PLACE_HOLDER_REQUEST,removePlaceholderPopupRequestHandler);
  806.          param1.addEventListener(SWFBridgeEvent.BRIDGE_WINDOW_ACTIVATE,activateFormSandboxEventHandler);
  807.          param1.addEventListener(SWFBridgeEvent.BRIDGE_WINDOW_DEACTIVATE,deactivateFormSandboxEventHandler);
  808.          param1.addEventListener(SWFBridgeEvent.BRIDGE_APPLICATION_ACTIVATE,activateApplicationSandboxEventHandler);
  809.          param1.addEventListener(EventListenerRequest.ADD_EVENT_LISTENER_REQUEST,eventListenerRequestHandler,false,0,true);
  810.          param1.addEventListener(EventListenerRequest.REMOVE_EVENT_LISTENER_REQUEST,eventListenerRequestHandler,false,0,true);
  811.          param1.addEventListener(SWFBridgeRequest.CREATE_MODAL_WINDOW_REQUEST,modalWindowRequestHandler);
  812.          param1.addEventListener(SWFBridgeRequest.SHOW_MODAL_WINDOW_REQUEST,modalWindowRequestHandler);
  813.          param1.addEventListener(SWFBridgeRequest.HIDE_MODAL_WINDOW_REQUEST,modalWindowRequestHandler);
  814.          param1.addEventListener(SWFBridgeRequest.GET_VISIBLE_RECT_REQUEST,getVisibleRectRequestHandler);
  815.          param1.addEventListener(SWFBridgeRequest.HIDE_MOUSE_CURSOR_REQUEST,hideMouseCursorRequestHandler);
  816.          param1.addEventListener(SWFBridgeRequest.SHOW_MOUSE_CURSOR_REQUEST,showMouseCursorRequestHandler);
  817.          param1.addEventListener(SWFBridgeRequest.RESET_MOUSE_CURSOR_REQUEST,resetMouseCursorRequestHandler);
  818.       }
  819.       
  820.       public function set document(param1:Object) : void
  821.       {
  822.          _document = param1;
  823.       }
  824.       
  825.       override public function getChildAt(param1:int) : DisplayObject
  826.       {
  827.          return super.getChildAt(mx_internal::applicationIndex + param1);
  828.       }
  829.       
  830.       public function get rawChildren() : IChildList
  831.       {
  832.          if(!_rawChildren)
  833.          {
  834.             _rawChildren = new SystemRawChildrenList(this);
  835.          }
  836.          return _rawChildren;
  837.       }
  838.       
  839.       private function findLastActiveForm(param1:Object) : Object
  840.       {
  841.          var _loc2_:int = int(forms.length);
  842.          var _loc3_:int = int(forms.length - 1);
  843.          while(_loc3_ >= 0)
  844.          {
  845.             if(forms[_loc3_] != param1 && canActivatePopUp(forms[_loc3_]))
  846.             {
  847.                return forms[_loc3_];
  848.             }
  849.             _loc3_--;
  850.          }
  851.          return null;
  852.       }
  853.       
  854.       private function multiWindowRedispatcher(param1:Event) : void
  855.       {
  856.          if(!SystemManagerGlobals.dispatchingEventToOtherSystemManagers)
  857.          {
  858.             dispatchEventToOtherSystemManagers(param1);
  859.          }
  860.       }
  861.       
  862.       public function deployMouseShields(param1:Boolean) : void
  863.       {
  864.          var _loc2_:InterManagerRequest = new InterManagerRequest(InterManagerRequest.DRAG_MANAGER_REQUEST,false,false,"mouseShield",param1);
  865.          getSandboxRoot().dispatchEvent(_loc2_);
  866.       }
  867.       
  868.       override public function addEventListener(param1:String, param2:Function, param3:Boolean = false, param4:int = 0, param5:Boolean = false) : void
  869.       {
  870.          var actualType:String = null;
  871.          var type:String = param1;
  872.          var listener:Function = param2;
  873.          var useCapture:Boolean = param3;
  874.          var priority:int = param4;
  875.          var useWeakReference:Boolean = param5;
  876.          if(type == FlexEvent.RENDER || type == FlexEvent.ENTER_FRAME)
  877.          {
  878.             if(type == FlexEvent.RENDER)
  879.             {
  880.                type = Event.RENDER;
  881.             }
  882.             else
  883.             {
  884.                type = Event.ENTER_FRAME;
  885.             }
  886.             try
  887.             {
  888.                if(stage)
  889.                {
  890.                   stage.addEventListener(type,listener,useCapture,priority,useWeakReference);
  891.                }
  892.                else
  893.                {
  894.                   super.addEventListener(type,listener,useCapture,priority,useWeakReference);
  895.                }
  896.             }
  897.             catch(error:SecurityError)
  898.             {
  899.                super.addEventListener(type,listener,useCapture,priority,useWeakReference);
  900.             }
  901.             if(Boolean(stage) && type == Event.RENDER)
  902.             {
  903.                stage.invalidate();
  904.             }
  905.             return;
  906.          }
  907.          if(type == MouseEvent.MOUSE_MOVE || type == MouseEvent.MOUSE_UP || type == MouseEvent.MOUSE_DOWN || type == Event.ACTIVATE || type == Event.DEACTIVATE)
  908.          {
  909.             try
  910.             {
  911.                if(stage)
  912.                {
  913.                   stage.addEventListener(type,stageEventHandler,false,0,true);
  914.                }
  915.             }
  916.             catch(error:SecurityError)
  917.             {
  918.             }
  919.          }
  920.          if(type == SandboxMouseEvent.MOUSE_UP_SOMEWHERE)
  921.          {
  922.             try
  923.             {
  924.                if(stage)
  925.                {
  926.                   stage.addEventListener(Event.MOUSE_LEAVE,mouseLeaveHandler,false,0,true);
  927.                }
  928.                else
  929.                {
  930.                   super.addEventListener(Event.MOUSE_LEAVE,mouseLeaveHandler,false,0,true);
  931.                }
  932.             }
  933.             catch(error:SecurityError)
  934.             {
  935.                super.addEventListener(Event.MOUSE_LEAVE,mouseLeaveHandler,false,0,true);
  936.             }
  937.          }
  938.          if(hasSWFBridges() || SystemManagerGlobals.topLevelSystemManagers.length > 1)
  939.          {
  940.             if(!eventProxy)
  941.             {
  942.                eventProxy = new EventProxy(this);
  943.             }
  944.             actualType = EventUtil.sandboxMouseEventMap[type];
  945.             if(actualType)
  946.             {
  947.                if(isTopLevelRoot())
  948.                {
  949.                   stage.addEventListener(MouseEvent.MOUSE_MOVE,resetMouseCursorTracking,true,EventPriority.CURSOR_MANAGEMENT + 1,true);
  950.                   addEventListenerToSandboxes(SandboxMouseEvent.MOUSE_MOVE_SOMEWHERE,resetMouseCursorTracking,true,EventPriority.CURSOR_MANAGEMENT + 1,true);
  951.                }
  952.                else
  953.                {
  954.                   super.addEventListener(MouseEvent.MOUSE_MOVE,resetMouseCursorTracking,true,EventPriority.CURSOR_MANAGEMENT + 1,true);
  955.                }
  956.                addEventListenerToSandboxes(type,sandboxMouseListener,useCapture,priority,useWeakReference);
  957.                if(!SystemManagerGlobals.changingListenersInOtherSystemManagers)
  958.                {
  959.                   addEventListenerToOtherSystemManagers(type,otherSystemManagerMouseListener,useCapture,priority,useWeakReference);
  960.                }
  961.                if(getSandboxRoot() == this)
  962.                {
  963.                   super.addEventListener(actualType,eventProxy.marshalListener,useCapture,priority,useWeakReference);
  964.                   if(actualType == MouseEvent.MOUSE_UP)
  965.                   {
  966.                      try
  967.                      {
  968.                         if(stage)
  969.                         {
  970.                            stage.addEventListener(Event.MOUSE_LEAVE,eventProxy.marshalListener,useCapture,priority,useWeakReference);
  971.                         }
  972.                         else
  973.                         {
  974.                            super.addEventListener(Event.MOUSE_LEAVE,eventProxy.marshalListener,useCapture,priority,useWeakReference);
  975.                         }
  976.                      }
  977.                      catch(e:SecurityError)
  978.                      {
  979.                         super.addEventListener(Event.MOUSE_LEAVE,eventProxy.marshalListener,useCapture,priority,useWeakReference);
  980.                      }
  981.                   }
  982.                }
  983.                super.addEventListener(type,listener,false,priority,useWeakReference);
  984.                return;
  985.             }
  986.          }
  987.          if(type == FlexEvent.IDLE && !idleTimer)
  988.          {
  989.             idleTimer = new Timer(IDLE_INTERVAL);
  990.             idleTimer.addEventListener(TimerEvent.TIMER,idleTimer_timerHandler);
  991.             idleTimer.start();
  992.             addEventListener(MouseEvent.MOUSE_MOVE,mouseMoveHandler,true);
  993.             addEventListener(MouseEvent.MOUSE_UP,mouseUpHandler,true);
  994.          }
  995.          super.addEventListener(type,listener,useCapture,priority,useWeakReference);
  996.       }
  997.       
  998.       private function activateForm(param1:Object) : void
  999.       {
  1000.          var _loc2_:IFocusManagerContainer = null;
  1001.          if(form)
  1002.          {
  1003.             if(form != param1 && forms.length > 1)
  1004.             {
  1005.                if(isRemotePopUp(form))
  1006.                {
  1007.                   if(!areRemotePopUpsEqual(form,param1))
  1008.                   {
  1009.                      deactivateRemotePopUp(form);
  1010.                   }
  1011.                }
  1012.                else
  1013.                {
  1014.                   _loc2_ = IFocusManagerContainer(form);
  1015.                   _loc2_.focusManager.deactivate();
  1016.                }
  1017.             }
  1018.          }
  1019.          form = param1;
  1020.          if(isRemotePopUp(param1))
  1021.          {
  1022.             activateRemotePopUp(param1);
  1023.          }
  1024.          else if(param1.focusManager)
  1025.          {
  1026.             param1.focusManager.activate();
  1027.          }
  1028.          updateLastActiveForm();
  1029.       }
  1030.       
  1031.       public function removeFocusManager(param1:IFocusManagerContainer) : void
  1032.       {
  1033.          var _loc2_:int = int(forms.length);
  1034.          var _loc3_:int = 0;
  1035.          while(_loc3_ < _loc2_)
  1036.          {
  1037.             if(forms[_loc3_] == param1)
  1038.             {
  1039.                if(form == param1)
  1040.                {
  1041.                   deactivate(param1);
  1042.                }
  1043.                dispatchDeactivatedWindowEvent(DisplayObject(param1));
  1044.                forms.splice(_loc3_,1);
  1045.                return;
  1046.             }
  1047.             _loc3_++;
  1048.          }
  1049.       }
  1050.       
  1051.       private function mouseMoveHandler(param1:MouseEvent) : void
  1052.       {
  1053.          mx_internal::idleCounter = 0;
  1054.       }
  1055.       
  1056.       private function getSandboxScreen() : Rectangle
  1057.       {
  1058.          var _loc2_:Rectangle = null;
  1059.          var _loc3_:DisplayObject = null;
  1060.          var _loc4_:InterManagerRequest = null;
  1061.          var _loc1_:DisplayObject = getSandboxRoot();
  1062.          if(_loc1_ == this)
  1063.          {
  1064.             _loc2_ = new Rectangle(0,0,width,height);
  1065.          }
  1066.          else if(_loc1_ == topLevelSystemManager)
  1067.          {
  1068.             _loc3_ = DisplayObject(topLevelSystemManager);
  1069.             _loc2_ = new Rectangle(0,0,_loc3_.width,_loc3_.height);
  1070.          }
  1071.          else
  1072.          {
  1073.             _loc4_ = new InterManagerRequest(InterManagerRequest.SYSTEM_MANAGER_REQUEST,false,false,"screen");
  1074.             _loc1_.dispatchEvent(_loc4_);
  1075.             _loc2_ = Rectangle(_loc4_.value);
  1076.          }
  1077.          return _loc2_;
  1078.       }
  1079.       
  1080.       public function get focusPane() : Sprite
  1081.       {
  1082.          return _focusPane;
  1083.       }
  1084.       
  1085.       override public function get mouseX() : Number
  1086.       {
  1087.          if(mx_internal::_mouseX === undefined)
  1088.          {
  1089.             return super.mouseX;
  1090.          }
  1091.          return mx_internal::_mouseX;
  1092.       }
  1093.       
  1094.       private function mouseDownHandler(param1:MouseEvent) : void
  1095.       {
  1096.          var _loc3_:int = 0;
  1097.          var _loc4_:DisplayObject = null;
  1098.          var _loc5_:Boolean = false;
  1099.          var _loc6_:int = 0;
  1100.          var _loc7_:Object = null;
  1101.          var _loc8_:int = 0;
  1102.          var _loc9_:int = 0;
  1103.          var _loc10_:int = 0;
  1104.          var _loc11_:IChildList = null;
  1105.          var _loc12_:DisplayObject = null;
  1106.          var _loc13_:Boolean = false;
  1107.          var _loc14_:int = 0;
  1108.          mx_internal::idleCounter = 0;
  1109.          var _loc2_:IEventDispatcher = getSWFBridgeOfDisplayObject(param1.target as DisplayObject);
  1110.          if(Boolean(_loc2_) && mx_internal::bridgeToFocusManager[_loc2_] == document.focusManager)
  1111.          {
  1112.             if(isTopLevelRoot())
  1113.             {
  1114.                activateForm(document);
  1115.             }
  1116.             else
  1117.             {
  1118.                dispatchActivatedApplicationEvent();
  1119.             }
  1120.             return;
  1121.          }
  1122.          if(numModalWindows == 0)
  1123.          {
  1124.             if(!isTopLevelRoot() || forms.length > 1)
  1125.             {
  1126.                _loc3_ = int(forms.length);
  1127.                _loc4_ = DisplayObject(param1.target);
  1128.                _loc5_ = Boolean(document.rawChildren.contains(_loc4_));
  1129.                while(_loc4_)
  1130.                {
  1131.                   _loc6_ = 0;
  1132.                   while(_loc6_ < _loc3_)
  1133.                   {
  1134.                      _loc7_ = isRemotePopUp(forms[_loc6_]) ? forms[_loc6_].window : forms[_loc6_];
  1135.                      if(_loc7_ == _loc4_)
  1136.                      {
  1137.                         _loc8_ = 0;
  1138.                         if(_loc4_ != form && _loc4_ is IFocusManagerContainer || !isTopLevelRoot() && _loc4_ == form)
  1139.                         {
  1140.                            if(isTopLevelRoot())
  1141.                            {
  1142.                               activate(IFocusManagerContainer(_loc4_));
  1143.                            }
  1144.                            if(_loc4_ == document)
  1145.                            {
  1146.                               dispatchActivatedApplicationEvent();
  1147.                            }
  1148.                            else if(_loc4_ is DisplayObject)
  1149.                            {
  1150.                               mx_internal::dispatchActivatedWindowEvent(DisplayObject(_loc4_));
  1151.                            }
  1152.                         }
  1153.                         if(popUpChildren.contains(_loc4_))
  1154.                         {
  1155.                            _loc11_ = popUpChildren;
  1156.                         }
  1157.                         else
  1158.                         {
  1159.                            _loc11_ = this;
  1160.                         }
  1161.                         _loc10_ = _loc9_ = _loc11_.getChildIndex(_loc4_);
  1162.                         _loc3_ = int(forms.length);
  1163.                         _loc8_ = 0;
  1164.                         for(; _loc8_ < _loc3_; _loc8_++)
  1165.                         {
  1166.                            _loc13_ = isRemotePopUp(forms[_loc8_]);
  1167.                            if(_loc13_)
  1168.                            {
  1169.                               if(forms[_loc8_].window is String)
  1170.                               {
  1171.                                  continue;
  1172.                               }
  1173.                               _loc12_ = forms[_loc8_].window;
  1174.                            }
  1175.                            else
  1176.                            {
  1177.                               _loc12_ = forms[_loc8_];
  1178.                            }
  1179.                            if(_loc13_)
  1180.                            {
  1181.                               _loc14_ = getChildListIndex(_loc11_,_loc12_);
  1182.                               if(_loc14_ > _loc9_)
  1183.                               {
  1184.                                  _loc10_ = Math.max(_loc14_,_loc10_);
  1185.                               }
  1186.                            }
  1187.                            else if(_loc11_.contains(_loc12_))
  1188.                            {
  1189.                               if(_loc11_.getChildIndex(_loc12_) > _loc9_)
  1190.                               {
  1191.                                  _loc10_ = Math.max(_loc11_.getChildIndex(_loc12_),_loc10_);
  1192.                               }
  1193.                            }
  1194.                         }
  1195.                         if(_loc10_ > _loc9_ && !_loc5_)
  1196.                         {
  1197.                            _loc11_.setChildIndex(_loc4_,_loc10_);
  1198.                         }
  1199.                         return;
  1200.                      }
  1201.                      _loc6_++;
  1202.                   }
  1203.                   _loc4_ = _loc4_.parent;
  1204.                }
  1205.             }
  1206.             else
  1207.             {
  1208.                dispatchActivatedApplicationEvent();
  1209.             }
  1210.          }
  1211.       }
  1212.       
  1213.       public function allowInsecureDomain(... rest) : void
  1214.       {
  1215.       }
  1216.       
  1217.       private function removePopupRequestHandler(param1:Event) : void
  1218.       {
  1219.          var _loc3_:SWFBridgeRequest = null;
  1220.          var _loc2_:SWFBridgeRequest = SWFBridgeRequest.marshal(param1);
  1221.          if(Boolean(swfBridgeGroup.parentBridge) && SecurityUtil.hasMutualTrustBetweenParentAndChild(this))
  1222.          {
  1223.             _loc2_.requestor = swfBridgeGroup.parentBridge;
  1224.             getSandboxRoot().dispatchEvent(_loc2_);
  1225.             return;
  1226.          }
  1227.          if(popUpChildren.contains(_loc2_.data.window))
  1228.          {
  1229.             popUpChildren.removeChild(_loc2_.data.window);
  1230.          }
  1231.          else
  1232.          {
  1233.             removeChild(DisplayObject(_loc2_.data.window));
  1234.          }
  1235.          if(_loc2_.data.modal)
  1236.          {
  1237.             --numModalWindows;
  1238.          }
  1239.          removeRemotePopUp(new RemotePopUp(_loc2_.data.window,_loc2_.requestor));
  1240.          if(!isTopLevelRoot() && Boolean(swfBridgeGroup))
  1241.          {
  1242.             _loc3_ = new SWFBridgeRequest(SWFBridgeRequest.REMOVE_POP_UP_PLACE_HOLDER_REQUEST,false,false,_loc2_.requestor,{"placeHolderId":NameUtil.displayObjectToString(_loc2_.data.window)});
  1243.             dispatchEvent(_loc3_);
  1244.          }
  1245.       }
  1246.       
  1247.       public function addChildBridge(param1:IEventDispatcher, param2:DisplayObject) : void
  1248.       {
  1249.          var _loc3_:IFocusManager = null;
  1250.          var _loc4_:DisplayObject = param2;
  1251.          while(_loc4_)
  1252.          {
  1253.             if(_loc4_ is IFocusManagerContainer)
  1254.             {
  1255.                _loc3_ = IFocusManagerContainer(_loc4_).focusManager;
  1256.                break;
  1257.             }
  1258.             _loc4_ = _loc4_.parent;
  1259.          }
  1260.          if(!_loc3_)
  1261.          {
  1262.             return;
  1263.          }
  1264.          if(!swfBridgeGroup)
  1265.          {
  1266.             swfBridgeGroup = new SWFBridgeGroup(this);
  1267.          }
  1268.          swfBridgeGroup.addChildBridge(param1,ISWFBridgeProvider(param2));
  1269.          _loc3_.addSWFBridge(param1,param2);
  1270.          if(!mx_internal::bridgeToFocusManager)
  1271.          {
  1272.             mx_internal::bridgeToFocusManager = new Dictionary();
  1273.          }
  1274.          mx_internal::bridgeToFocusManager[param1] = _loc3_;
  1275.          mx_internal::addChildBridgeListeners(param1);
  1276.          dispatchEvent(new FlexChangeEvent(FlexChangeEvent.ADD_CHILD_BRIDGE,false,false,param1));
  1277.       }
  1278.       
  1279.       public function get screen() : Rectangle
  1280.       {
  1281.          if(!_screen)
  1282.          {
  1283.             Stage_resizeHandler();
  1284.          }
  1285.          if(!isStageRoot)
  1286.          {
  1287.             Stage_resizeHandler();
  1288.          }
  1289.          return _screen;
  1290.       }
  1291.       
  1292.       private function resetMouseCursorRequestHandler(param1:Event) : void
  1293.       {
  1294.          var _loc3_:IEventDispatcher = null;
  1295.          if(!isTopLevelRoot() && param1 is SWFBridgeRequest)
  1296.          {
  1297.             return;
  1298.          }
  1299.          var _loc2_:SWFBridgeRequest = SWFBridgeRequest.marshal(param1);
  1300.          if(!isTopLevelRoot())
  1301.          {
  1302.             _loc3_ = swfBridgeGroup.parentBridge;
  1303.             _loc2_.requestor = _loc3_;
  1304.             _loc3_.dispatchEvent(_loc2_);
  1305.          }
  1306.          else if(eventProxy)
  1307.          {
  1308.             SystemManagerGlobals.showMouseCursor = true;
  1309.          }
  1310.       }
  1311.       
  1312.       private function preloader_rslCompleteHandler(param1:RSLEvent) : void
  1313.       {
  1314.          if(param1.loaderInfo)
  1315.          {
  1316.             preloadedRSLs[param1.loaderInfo] = param1.url.url;
  1317.          }
  1318.       }
  1319.       
  1320.       mx_internal function set topMostIndex(param1:int) : void
  1321.       {
  1322.          var _loc2_:int = param1 - _topMostIndex;
  1323.          _topMostIndex = param1;
  1324.          mx_internal::toolTipIndex += _loc2_;
  1325.       }
  1326.       
  1327.       mx_internal function docFrameHandler(param1:Event = null) : void
  1328.       {
  1329.          var _loc3_:TextFieldFactory = null;
  1330.          var _loc5_:int = 0;
  1331.          var _loc6_:int = 0;
  1332.          var _loc7_:Class = null;
  1333.          Singleton.registerClass("mx.managers::IBrowserManager",Class(getDefinitionByName("mx.managers::BrowserManagerImpl")));
  1334.          Singleton.registerClass("mx.managers::ICursorManager",Class(getDefinitionByName("mx.managers::CursorManagerImpl")));
  1335.          Singleton.registerClass("mx.managers::IHistoryManager",Class(getDefinitionByName("mx.managers::HistoryManagerImpl")));
  1336.          Singleton.registerClass("mx.managers::ILayoutManager",Class(getDefinitionByName("mx.managers::LayoutManager")));
  1337.          Singleton.registerClass("mx.managers::IPopUpManager",Class(getDefinitionByName("mx.managers::PopUpManagerImpl")));
  1338.          Singleton.registerClass("mx.managers::IToolTipManager2",Class(getDefinitionByName("mx.managers::ToolTipManagerImpl")));
  1339.          var _loc2_:Class = null;
  1340.          _loc2_ = Class(getDefinitionByName("mx.managers::NativeDragManagerImpl"));
  1341.          if(_loc2_ == null)
  1342.          {
  1343.             _loc2_ = Class(getDefinitionByName("mx.managers::DragManagerImpl"));
  1344.          }
  1345.          Singleton.registerClass("mx.managers::IDragManager",_loc2_);
  1346.          Singleton.registerClass("mx.core::ITextFieldFactory",Class(getDefinitionByName("mx.core::TextFieldFactory")));
  1347.          executeCallbacks();
  1348.          doneExecutingInitCallbacks = true;
  1349.          var _loc4_:Array = info()["mixins"];
  1350.          if((Boolean(_loc4_)) && _loc4_.length > 0)
  1351.          {
  1352.             _loc5_ = int(_loc4_.length);
  1353.             _loc6_ = 0;
  1354.             while(_loc6_ < _loc5_)
  1355.             {
  1356.                _loc7_ = Class(getDefinitionByName(_loc4_[_loc6_]));
  1357.                _loc7_["init"](this);
  1358.                _loc6_++;
  1359.             }
  1360.          }
  1361.          installCompiledResourceBundles();
  1362.          initializeTopLevelWindow(null);
  1363.          deferredNextFrame();
  1364.       }
  1365.       
  1366.       public function get explicitHeight() : Number
  1367.       {
  1368.          return _explicitHeight;
  1369.       }
  1370.       
  1371.       public function get preloaderBackgroundSize() : String
  1372.       {
  1373.          return info()["backgroundSize"];
  1374.       }
  1375.       
  1376.       public function isTopLevel() : Boolean
  1377.       {
  1378.          return mx_internal::topLevel;
  1379.       }
  1380.       
  1381.       override public function get mouseY() : Number
  1382.       {
  1383.          if(mx_internal::_mouseY === undefined)
  1384.          {
  1385.             return super.mouseY;
  1386.          }
  1387.          return mx_internal::_mouseY;
  1388.       }
  1389.       
  1390.       public function getExplicitOrMeasuredWidth() : Number
  1391.       {
  1392.          return !isNaN(explicitWidth) ? explicitWidth : measuredWidth;
  1393.       }
  1394.       
  1395.       public function deactivate(param1:IFocusManagerContainer) : void
  1396.       {
  1397.          deactivateForm(Object(param1));
  1398.       }
  1399.       
  1400.       private function preProcessModalWindowRequest(param1:SWFBridgeRequest, param2:DisplayObject) : Boolean
  1401.       {
  1402.          var _loc3_:IEventDispatcher = null;
  1403.          var _loc4_:ISWFLoader = null;
  1404.          var _loc5_:Rectangle = null;
  1405.          if(param1.data.skip)
  1406.          {
  1407.             param1.data.skip = false;
  1408.             if(useSWFBridge())
  1409.             {
  1410.                _loc3_ = swfBridgeGroup.parentBridge;
  1411.                param1.requestor = _loc3_;
  1412.                _loc3_.dispatchEvent(param1);
  1413.             }
  1414.             return false;
  1415.          }
  1416.          if(this != param2)
  1417.          {
  1418.             if(param1.type == SWFBridgeRequest.CREATE_MODAL_WINDOW_REQUEST || param1.type == SWFBridgeRequest.SHOW_MODAL_WINDOW_REQUEST)
  1419.             {
  1420.                _loc4_ = swfBridgeGroup.getChildBridgeProvider(param1.requestor) as ISWFLoader;
  1421.                if(_loc4_)
  1422.                {
  1423.                   _loc5_ = ISWFLoader(_loc4_).getVisibleApplicationRect();
  1424.                   param1.data.excludeRect = _loc5_;
  1425.                   if(!DisplayObjectContainer(document).contains(DisplayObject(_loc4_)))
  1426.                   {
  1427.                      param1.data.useExclude = false;
  1428.                   }
  1429.                }
  1430.             }
  1431.             _loc3_ = swfBridgeGroup.parentBridge;
  1432.             param1.requestor = _loc3_;
  1433.             if(param1.type == SWFBridgeRequest.HIDE_MODAL_WINDOW_REQUEST)
  1434.             {
  1435.                param2.dispatchEvent(param1);
  1436.             }
  1437.             else
  1438.             {
  1439.                _loc3_.dispatchEvent(param1);
  1440.             }
  1441.             return false;
  1442.          }
  1443.          param1.data.skip = false;
  1444.          return true;
  1445.       }
  1446.       
  1447.       private function resetMouseCursorTracking(param1:Event) : void
  1448.       {
  1449.          var _loc2_:SWFBridgeRequest = null;
  1450.          var _loc3_:IEventDispatcher = null;
  1451.          if(isTopLevelRoot())
  1452.          {
  1453.             SystemManagerGlobals.showMouseCursor = true;
  1454.          }
  1455.          else if(swfBridgeGroup.parentBridge)
  1456.          {
  1457.             _loc2_ = new SWFBridgeRequest(SWFBridgeRequest.RESET_MOUSE_CURSOR_REQUEST);
  1458.             _loc3_ = swfBridgeGroup.parentBridge;
  1459.             _loc2_.requestor = _loc3_;
  1460.             _loc3_.dispatchEvent(_loc2_);
  1461.          }
  1462.       }
  1463.       
  1464.       mx_internal function addParentBridgeListeners() : void
  1465.       {
  1466.          if(!mx_internal::topLevel && Boolean(topLevelSystemManager))
  1467.          {
  1468.             SystemManager(topLevelSystemManager).mx_internal::addParentBridgeListeners();
  1469.             return;
  1470.          }
  1471.          var _loc1_:IEventDispatcher = swfBridgeGroup.parentBridge;
  1472.          _loc1_.addEventListener(SWFBridgeRequest.SET_ACTUAL_SIZE_REQUEST,setActualSizeRequestHandler);
  1473.          _loc1_.addEventListener(SWFBridgeRequest.GET_SIZE_REQUEST,getSizeRequestHandler);
  1474.          _loc1_.addEventListener(SWFBridgeRequest.ACTIVATE_POP_UP_REQUEST,activateRequestHandler);
  1475.          _loc1_.addEventListener(SWFBridgeRequest.DEACTIVATE_POP_UP_REQUEST,deactivateRequestHandler);
  1476.          _loc1_.addEventListener(SWFBridgeRequest.IS_BRIDGE_CHILD_REQUEST,isBridgeChildHandler);
  1477.          _loc1_.addEventListener(EventListenerRequest.ADD_EVENT_LISTENER_REQUEST,eventListenerRequestHandler);
  1478.          _loc1_.addEventListener(EventListenerRequest.REMOVE_EVENT_LISTENER_REQUEST,eventListenerRequestHandler);
  1479.          _loc1_.addEventListener(SWFBridgeRequest.CAN_ACTIVATE_POP_UP_REQUEST,canActivateHandler);
  1480.          _loc1_.addEventListener(SWFBridgeEvent.BRIDGE_APPLICATION_UNLOADING,beforeUnloadHandler);
  1481.       }
  1482.       
  1483.       public function get swfBridgeGroup() : ISWFBridgeGroup
  1484.       {
  1485.          if(mx_internal::topLevel)
  1486.          {
  1487.             return _swfBridgeGroup;
  1488.          }
  1489.          if(topLevelSystemManager)
  1490.          {
  1491.             return topLevelSystemManager.swfBridgeGroup;
  1492.          }
  1493.          return null;
  1494.       }
  1495.       
  1496.       override public function getChildByName(param1:String) : DisplayObject
  1497.       {
  1498.          return super.getChildByName(param1);
  1499.       }
  1500.       
  1501.       public function get measuredWidth() : Number
  1502.       {
  1503.          return !!mx_internal::topLevelWindow ? mx_internal::topLevelWindow.getExplicitOrMeasuredWidth() : loaderInfo.width;
  1504.       }
  1505.       
  1506.       public function removeChildBridge(param1:IEventDispatcher) : void
  1507.       {
  1508.          dispatchEvent(new FlexChangeEvent(FlexChangeEvent.REMOVE_CHILD_BRIDGE,false,false,param1));
  1509.          var _loc2_:IFocusManager = IFocusManager(mx_internal::bridgeToFocusManager[param1]);
  1510.          _loc2_.removeSWFBridge(param1);
  1511.          swfBridgeGroup.removeChildBridge(param1);
  1512.          delete mx_internal::bridgeToFocusManager[param1];
  1513.          mx_internal::removeChildBridgeListeners(param1);
  1514.       }
  1515.       
  1516.       mx_internal function removeChildBridgeListeners(param1:IEventDispatcher) : void
  1517.       {
  1518.          if(!mx_internal::topLevel && Boolean(topLevelSystemManager))
  1519.          {
  1520.             SystemManager(topLevelSystemManager).mx_internal::removeChildBridgeListeners(param1);
  1521.             return;
  1522.          }
  1523.          param1.removeEventListener(SWFBridgeRequest.ADD_POP_UP_REQUEST,addPopupRequestHandler);
  1524.          param1.removeEventListener(SWFBridgeRequest.REMOVE_POP_UP_REQUEST,removePopupRequestHandler);
  1525.          param1.removeEventListener(SWFBridgeRequest.ADD_POP_UP_PLACE_HOLDER_REQUEST,addPlaceholderPopupRequestHandler);
  1526.          param1.removeEventListener(SWFBridgeRequest.REMOVE_POP_UP_PLACE_HOLDER_REQUEST,removePlaceholderPopupRequestHandler);
  1527.          param1.removeEventListener(SWFBridgeEvent.BRIDGE_WINDOW_ACTIVATE,activateFormSandboxEventHandler);
  1528.          param1.removeEventListener(SWFBridgeEvent.BRIDGE_WINDOW_DEACTIVATE,deactivateFormSandboxEventHandler);
  1529.          param1.removeEventListener(SWFBridgeEvent.BRIDGE_APPLICATION_ACTIVATE,activateApplicationSandboxEventHandler);
  1530.          param1.removeEventListener(EventListenerRequest.ADD_EVENT_LISTENER_REQUEST,eventListenerRequestHandler);
  1531.          param1.removeEventListener(EventListenerRequest.REMOVE_EVENT_LISTENER_REQUEST,eventListenerRequestHandler);
  1532.          param1.removeEventListener(SWFBridgeRequest.CREATE_MODAL_WINDOW_REQUEST,modalWindowRequestHandler);
  1533.          param1.removeEventListener(SWFBridgeRequest.SHOW_MODAL_WINDOW_REQUEST,modalWindowRequestHandler);
  1534.          param1.removeEventListener(SWFBridgeRequest.HIDE_MODAL_WINDOW_REQUEST,modalWindowRequestHandler);
  1535.          param1.removeEventListener(SWFBridgeRequest.GET_VISIBLE_RECT_REQUEST,getVisibleRectRequestHandler);
  1536.          param1.removeEventListener(SWFBridgeRequest.HIDE_MOUSE_CURSOR_REQUEST,hideMouseCursorRequestHandler);
  1537.          param1.removeEventListener(SWFBridgeRequest.SHOW_MOUSE_CURSOR_REQUEST,showMouseCursorRequestHandler);
  1538.          param1.removeEventListener(SWFBridgeRequest.RESET_MOUSE_CURSOR_REQUEST,resetMouseCursorRequestHandler);
  1539.       }
  1540.       
  1541.       override public function addChildAt(param1:DisplayObject, param2:int) : DisplayObject
  1542.       {
  1543.          ++mx_internal::noTopMostIndex;
  1544.          var _loc3_:DisplayObjectContainer = param1.parent;
  1545.          if(_loc3_)
  1546.          {
  1547.             _loc3_.removeChild(param1);
  1548.          }
  1549.          return mx_internal::rawChildren_addChildAt(param1,mx_internal::applicationIndex + param2);
  1550.       }
  1551.       
  1552.       private function Stage_resizeHandler(param1:Event = null) : void
  1553.       {
  1554.          var align:String;
  1555.          var h:Number;
  1556.          var w:Number;
  1557.          var x:Number;
  1558.          var y:Number;
  1559.          var m:Number = NaN;
  1560.          var n:Number = NaN;
  1561.          var sandboxScreen:Rectangle = null;
  1562.          var event:Event = param1;
  1563.          if(isDispatchingResizeEvent)
  1564.          {
  1565.             return;
  1566.          }
  1567.          w = 0;
  1568.          h = 0;
  1569.          try
  1570.          {
  1571.             m = loaderInfo.width;
  1572.             n = loaderInfo.height;
  1573.          }
  1574.          catch(error:Error)
  1575.          {
  1576.             if(!_screen)
  1577.             {
  1578.                _screen = new Rectangle();
  1579.             }
  1580.             return;
  1581.          }
  1582.          align = StageAlign.TOP_LEFT;
  1583.          try
  1584.          {
  1585.             if(stage)
  1586.             {
  1587.                w = stage.stageWidth;
  1588.                h = stage.stageHeight;
  1589.                align = stage.align;
  1590.             }
  1591.          }
  1592.          catch(error:SecurityError)
  1593.          {
  1594.             sandboxScreen = getSandboxScreen();
  1595.             w = sandboxScreen.width;
  1596.             h = sandboxScreen.height;
  1597.          }
  1598.          x = (m - w) / 2;
  1599.          y = (n - h) / 2;
  1600.          if(align == StageAlign.TOP)
  1601.          {
  1602.             y = 0;
  1603.          }
  1604.          else if(align == StageAlign.BOTTOM)
  1605.          {
  1606.             y = n - h;
  1607.          }
  1608.          else if(align == StageAlign.LEFT)
  1609.          {
  1610.             x = 0;
  1611.          }
  1612.          else if(align == StageAlign.RIGHT)
  1613.          {
  1614.             x = m - w;
  1615.          }
  1616.          else if(align == StageAlign.TOP_LEFT || align == "LT")
  1617.          {
  1618.             y = 0;
  1619.             x = 0;
  1620.          }
  1621.          else if(align == StageAlign.TOP_RIGHT)
  1622.          {
  1623.             y = 0;
  1624.             x = m - w;
  1625.          }
  1626.          else if(align == StageAlign.BOTTOM_LEFT)
  1627.          {
  1628.             y = n - h;
  1629.             x = 0;
  1630.          }
  1631.          else if(align == StageAlign.BOTTOM_RIGHT)
  1632.          {
  1633.             y = n - h;
  1634.             x = m - w;
  1635.          }
  1636.          if(!_screen)
  1637.          {
  1638.             _screen = new Rectangle();
  1639.          }
  1640.          _screen.x = x;
  1641.          _screen.y = y;
  1642.          _screen.width = w;
  1643.          _screen.height = h;
  1644.          if(isStageRoot)
  1645.          {
  1646.             _width = stage.stageWidth;
  1647.             _height = stage.stageHeight;
  1648.          }
  1649.          if(event)
  1650.          {
  1651.             resizeMouseCatcher();
  1652.             isDispatchingResizeEvent = true;
  1653.             dispatchEvent(event);
  1654.             isDispatchingResizeEvent = false;
  1655.          }
  1656.       }
  1657.       
  1658.       public function get swfBridge() : IEventDispatcher
  1659.       {
  1660.          if(swfBridgeGroup)
  1661.          {
  1662.             return swfBridgeGroup.parentBridge;
  1663.          }
  1664.          return null;
  1665.       }
  1666.       
  1667.       private function findRemotePopUp(param1:Object, param2:IEventDispatcher) : RemotePopUp
  1668.       {
  1669.          var _loc5_:RemotePopUp = null;
  1670.          var _loc3_:int = int(forms.length);
  1671.          var _loc4_:int = 0;
  1672.          while(_loc4_ < _loc3_)
  1673.          {
  1674.             if(isRemotePopUp(forms[_loc4_]))
  1675.             {
  1676.                _loc5_ = RemotePopUp(forms[_loc4_]);
  1677.                if(_loc5_.window == param1 && _loc5_.bridge == param2)
  1678.                {
  1679.                   return _loc5_;
  1680.                }
  1681.             }
  1682.             _loc4_++;
  1683.          }
  1684.          return null;
  1685.       }
  1686.       
  1687.       public function info() : Object
  1688.       {
  1689.          return {};
  1690.       }
  1691.       
  1692.       mx_internal function get toolTipIndex() : int
  1693.       {
  1694.          return _toolTipIndex;
  1695.       }
  1696.       
  1697.       public function setActualSize(param1:Number, param2:Number) : void
  1698.       {
  1699.          if(isStageRoot)
  1700.          {
  1701.             return;
  1702.          }
  1703.          _width = param1;
  1704.          _height = param2;
  1705.          if(mouseCatcher)
  1706.          {
  1707.             mouseCatcher.width = param1;
  1708.             mouseCatcher.height = param2;
  1709.          }
  1710.          dispatchEvent(new Event(Event.RESIZE));
  1711.       }
  1712.       
  1713.       private function removePlaceholderPopupRequestHandler(param1:Event) : void
  1714.       {
  1715.          var _loc3_:int = 0;
  1716.          var _loc4_:int = 0;
  1717.          var _loc2_:SWFBridgeRequest = SWFBridgeRequest.marshal(param1);
  1718.          if(!forwardPlaceholderRequest(_loc2_,false))
  1719.          {
  1720.             _loc3_ = int(forms.length);
  1721.             _loc4_ = 0;
  1722.             while(_loc4_ < _loc3_)
  1723.             {
  1724.                if(isRemotePopUp(forms[_loc4_]))
  1725.                {
  1726.                   if(forms[_loc4_].window == _loc2_.data.placeHolderId && forms[_loc4_].bridge == _loc2_.requestor)
  1727.                   {
  1728.                      forms.splice(_loc4_,1);
  1729.                      break;
  1730.                   }
  1731.                }
  1732.                _loc4_++;
  1733.             }
  1734.          }
  1735.       }
  1736.       
  1737.       public function set focusPane(param1:Sprite) : void
  1738.       {
  1739.          if(param1)
  1740.          {
  1741.             addChild(param1);
  1742.             param1.x = 0;
  1743.             param1.y = 0;
  1744.             param1.scrollRect = null;
  1745.             _focusPane = param1;
  1746.          }
  1747.          else
  1748.          {
  1749.             removeChild(_focusPane);
  1750.             _focusPane = null;
  1751.          }
  1752.       }
  1753.       
  1754.       mx_internal function removeParentBridgeListeners() : void
  1755.       {
  1756.          if(!mx_internal::topLevel && Boolean(topLevelSystemManager))
  1757.          {
  1758.             SystemManager(topLevelSystemManager).mx_internal::removeParentBridgeListeners();
  1759.             return;
  1760.          }
  1761.          var _loc1_:IEventDispatcher = swfBridgeGroup.parentBridge;
  1762.          _loc1_.removeEventListener(SWFBridgeRequest.SET_ACTUAL_SIZE_REQUEST,setActualSizeRequestHandler);
  1763.          _loc1_.removeEventListener(SWFBridgeRequest.GET_SIZE_REQUEST,getSizeRequestHandler);
  1764.          _loc1_.removeEventListener(SWFBridgeRequest.ACTIVATE_POP_UP_REQUEST,activateRequestHandler);
  1765.          _loc1_.removeEventListener(SWFBridgeRequest.DEACTIVATE_POP_UP_REQUEST,deactivateRequestHandler);
  1766.          _loc1_.removeEventListener(SWFBridgeRequest.IS_BRIDGE_CHILD_REQUEST,isBridgeChildHandler);
  1767.          _loc1_.removeEventListener(EventListenerRequest.ADD_EVENT_LISTENER_REQUEST,eventListenerRequestHandler);
  1768.          _loc1_.removeEventListener(EventListenerRequest.REMOVE_EVENT_LISTENER_REQUEST,eventListenerRequestHandler);
  1769.          _loc1_.removeEventListener(SWFBridgeRequest.CAN_ACTIVATE_POP_UP_REQUEST,canActivateHandler);
  1770.          _loc1_.removeEventListener(SWFBridgeEvent.BRIDGE_APPLICATION_UNLOADING,beforeUnloadHandler);
  1771.       }
  1772.       
  1773.       override public function get parent() : DisplayObjectContainer
  1774.       {
  1775.          try
  1776.          {
  1777.             return super.parent;
  1778.          }
  1779.          catch(e:SecurityError)
  1780.          {
  1781.          }
  1782.          return null;
  1783.       }
  1784.       
  1785.       private function eventListenerRequestHandler(param1:Event) : void
  1786.       {
  1787.          var _loc2_:String = null;
  1788.          if(param1 is EventListenerRequest)
  1789.          {
  1790.             return;
  1791.          }
  1792.          var _loc3_:EventListenerRequest = EventListenerRequest.marshal(param1);
  1793.          if(param1.type == EventListenerRequest.ADD_EVENT_LISTENER_REQUEST)
  1794.          {
  1795.             if(!eventProxy)
  1796.             {
  1797.                eventProxy = new EventProxy(this);
  1798.             }
  1799.             _loc2_ = EventUtil.sandboxMouseEventMap[_loc3_.eventType];
  1800.             if(_loc2_)
  1801.             {
  1802.                if(isTopLevelRoot())
  1803.                {
  1804.                   stage.addEventListener(MouseEvent.MOUSE_MOVE,resetMouseCursorTracking,true,EventPriority.CURSOR_MANAGEMENT + 1,true);
  1805.                }
  1806.                else
  1807.                {
  1808.                   super.addEventListener(MouseEvent.MOUSE_MOVE,resetMouseCursorTracking,true,EventPriority.CURSOR_MANAGEMENT + 1,true);
  1809.                }
  1810.                addEventListenerToSandboxes(_loc3_.eventType,sandboxMouseListener,true,_loc3_.priority,_loc3_.useWeakReference,param1.target as IEventDispatcher);
  1811.                addEventListenerToOtherSystemManagers(_loc3_.eventType,otherSystemManagerMouseListener,true,_loc3_.priority,_loc3_.useWeakReference);
  1812.                if(getSandboxRoot() == this)
  1813.                {
  1814.                   if(isTopLevelRoot() && (_loc2_ == MouseEvent.MOUSE_UP || _loc2_ == MouseEvent.MOUSE_MOVE))
  1815.                   {
  1816.                      stage.addEventListener(_loc2_,eventProxy.marshalListener,false,_loc3_.priority,_loc3_.useWeakReference);
  1817.                   }
  1818.                   super.addEventListener(_loc2_,eventProxy.marshalListener,true,_loc3_.priority,_loc3_.useWeakReference);
  1819.                }
  1820.             }
  1821.          }
  1822.          else if(param1.type == EventListenerRequest.REMOVE_EVENT_LISTENER_REQUEST)
  1823.          {
  1824.             _loc2_ = EventUtil.sandboxMouseEventMap[_loc3_.eventType];
  1825.             if(_loc2_)
  1826.             {
  1827.                removeEventListenerFromOtherSystemManagers(_loc3_.eventType,otherSystemManagerMouseListener,true);
  1828.                removeEventListenerFromSandboxes(_loc3_.eventType,sandboxMouseListener,true,param1.target as IEventDispatcher);
  1829.                if(getSandboxRoot() == this)
  1830.                {
  1831.                   if(isTopLevelRoot() && (_loc2_ == MouseEvent.MOUSE_UP || _loc2_ == MouseEvent.MOUSE_MOVE))
  1832.                   {
  1833.                      stage.removeEventListener(_loc2_,eventProxy.marshalListener);
  1834.                   }
  1835.                   super.removeEventListener(_loc2_,eventProxy.marshalListener,true);
  1836.                }
  1837.             }
  1838.          }
  1839.       }
  1840.       
  1841.       mx_internal function set applicationIndex(param1:int) : void
  1842.       {
  1843.          _applicationIndex = param1;
  1844.       }
  1845.       
  1846.       private function showMouseCursorRequestHandler(param1:Event) : void
  1847.       {
  1848.          var _loc3_:IEventDispatcher = null;
  1849.          if(!isTopLevelRoot() && param1 is SWFBridgeRequest)
  1850.          {
  1851.             return;
  1852.          }
  1853.          var _loc2_:SWFBridgeRequest = SWFBridgeRequest.marshal(param1);
  1854.          if(!isTopLevelRoot())
  1855.          {
  1856.             _loc3_ = swfBridgeGroup.parentBridge;
  1857.             _loc2_.requestor = _loc3_;
  1858.             _loc3_.dispatchEvent(_loc2_);
  1859.             Object(param1).data = _loc2_.data;
  1860.          }
  1861.          else if(eventProxy)
  1862.          {
  1863.             Object(param1).data = SystemManagerGlobals.showMouseCursor;
  1864.          }
  1865.       }
  1866.       
  1867.       public function get childAllowsParent() : Boolean
  1868.       {
  1869.          try
  1870.          {
  1871.             return loaderInfo.childAllowsParent;
  1872.          }
  1873.          catch(error:Error)
  1874.          {
  1875.          }
  1876.          return false;
  1877.       }
  1878.       
  1879.       public function dispatchEventFromSWFBridges(param1:Event, param2:IEventDispatcher = null, param3:Boolean = false, param4:Boolean = false) : void
  1880.       {
  1881.          var _loc5_:Event = null;
  1882.          if(param4)
  1883.          {
  1884.             dispatchEventToOtherSystemManagers(param1);
  1885.          }
  1886.          if(!swfBridgeGroup)
  1887.          {
  1888.             return;
  1889.          }
  1890.          _loc5_ = param1.clone();
  1891.          if(param3)
  1892.          {
  1893.             currentSandboxEvent = _loc5_;
  1894.          }
  1895.          var _loc6_:IEventDispatcher = swfBridgeGroup.parentBridge;
  1896.          if((Boolean(_loc6_)) && _loc6_ != param2)
  1897.          {
  1898.             if(_loc5_ is SWFBridgeRequest)
  1899.             {
  1900.                SWFBridgeRequest(_loc5_).requestor = _loc6_;
  1901.             }
  1902.             _loc6_.dispatchEvent(_loc5_);
  1903.          }
  1904.          var _loc7_:Array = swfBridgeGroup.getChildBridges();
  1905.          var _loc8_:int = 0;
  1906.          while(_loc8_ < _loc7_.length)
  1907.          {
  1908.             if(_loc7_[_loc8_] != param2)
  1909.             {
  1910.                _loc5_ = param1.clone();
  1911.                if(param3)
  1912.                {
  1913.                   currentSandboxEvent = _loc5_;
  1914.                }
  1915.                if(_loc5_ is SWFBridgeRequest)
  1916.                {
  1917.                   SWFBridgeRequest(_loc5_).requestor = IEventDispatcher(_loc7_[_loc8_]);
  1918.                }
  1919.                IEventDispatcher(_loc7_[_loc8_]).dispatchEvent(_loc5_);
  1920.             }
  1921.             _loc8_++;
  1922.          }
  1923.          currentSandboxEvent = null;
  1924.       }
  1925.       
  1926.       private function setActualSizeRequestHandler(param1:Event) : void
  1927.       {
  1928.          var _loc2_:Object = Object(param1);
  1929.          setActualSize(_loc2_.data.width,_loc2_.data.height);
  1930.       }
  1931.       
  1932.       private function executeCallbacks() : void
  1933.       {
  1934.          var _loc1_:Function = null;
  1935.          if(!parent && parentAllowsChild)
  1936.          {
  1937.             return;
  1938.          }
  1939.          while(initCallbackFunctions.length > 0)
  1940.          {
  1941.             _loc1_ = initCallbackFunctions.shift();
  1942.             _loc1_(this);
  1943.          }
  1944.       }
  1945.       
  1946.       private function addPlaceholderId(param1:String, param2:String, param3:IEventDispatcher, param4:Object) : void
  1947.       {
  1948.          if(!param3)
  1949.          {
  1950.             throw new Error();
  1951.          }
  1952.          if(!idToPlaceholder)
  1953.          {
  1954.             idToPlaceholder = [];
  1955.          }
  1956.          idToPlaceholder[param1] = new PlaceholderData(param2,param3,param4);
  1957.       }
  1958.       
  1959.       private function canActivateHandler(param1:Event) : void
  1960.       {
  1961.          var _loc3_:SWFBridgeRequest = null;
  1962.          var _loc6_:PlaceholderData = null;
  1963.          var _loc7_:RemotePopUp = null;
  1964.          var _loc8_:SystemManagerProxy = null;
  1965.          var _loc9_:IFocusManagerContainer = null;
  1966.          var _loc10_:IEventDispatcher = null;
  1967.          var _loc2_:Object = Object(param1);
  1968.          var _loc4_:Object = _loc2_.data;
  1969.          var _loc5_:String = null;
  1970.          if(_loc2_.data is String)
  1971.          {
  1972.             _loc6_ = idToPlaceholder[_loc2_.data];
  1973.             _loc4_ = _loc6_.data;
  1974.             _loc5_ = _loc6_.id;
  1975.             if(_loc5_ == null)
  1976.             {
  1977.                _loc7_ = findRemotePopUp(_loc4_,_loc6_.bridge);
  1978.                if(_loc7_)
  1979.                {
  1980.                   _loc3_ = new SWFBridgeRequest(SWFBridgeRequest.CAN_ACTIVATE_POP_UP_REQUEST,false,false,IEventDispatcher(_loc7_.bridge),_loc7_.window);
  1981.                   if(_loc7_.bridge)
  1982.                   {
  1983.                      _loc7_.bridge.dispatchEvent(_loc3_);
  1984.                      _loc2_.data = _loc3_.data;
  1985.                   }
  1986.                   return;
  1987.                }
  1988.             }
  1989.          }
  1990.          if(_loc4_ is SystemManagerProxy)
  1991.          {
  1992.             _loc8_ = SystemManagerProxy(_loc4_);
  1993.             _loc9_ = mx_internal::findFocusManagerContainer(_loc8_);
  1994.             _loc2_.data = _loc8_ && _loc9_ && canActivateLocalComponent(_loc9_);
  1995.          }
  1996.          else if(_loc4_ is IFocusManagerContainer)
  1997.          {
  1998.             _loc2_.data = canActivateLocalComponent(_loc4_);
  1999.          }
  2000.          else
  2001.          {
  2002.             if(!(_loc4_ is IEventDispatcher))
  2003.             {
  2004.                throw new Error();
  2005.             }
  2006.             _loc10_ = IEventDispatcher(_loc4_);
  2007.             _loc3_ = new SWFBridgeRequest(SWFBridgeRequest.CAN_ACTIVATE_POP_UP_REQUEST,false,false,_loc10_,_loc5_);
  2008.             if(_loc10_)
  2009.             {
  2010.                _loc10_.dispatchEvent(_loc3_);
  2011.                _loc2_.data = _loc3_.data;
  2012.             }
  2013.          }
  2014.       }
  2015.       
  2016.       private function docFrameListener(param1:Event) : void
  2017.       {
  2018.          if(currentFrame == 2)
  2019.          {
  2020.             removeEventListener(Event.ENTER_FRAME,docFrameListener);
  2021.             if(totalFrames > 2)
  2022.             {
  2023.                addEventListener(Event.ENTER_FRAME,extraFrameListener);
  2024.             }
  2025.             mx_internal::docFrameHandler();
  2026.          }
  2027.       }
  2028.       
  2029.       public function get popUpChildren() : IChildList
  2030.       {
  2031.          if(!mx_internal::topLevel)
  2032.          {
  2033.             return _topLevelSystemManager.popUpChildren;
  2034.          }
  2035.          if(!_popUpChildren)
  2036.          {
  2037.             _popUpChildren = new SystemChildrenList(this,new QName(mx_internal,"noTopMostIndex"),new QName(mx_internal,"topMostIndex"));
  2038.          }
  2039.          return _popUpChildren;
  2040.       }
  2041.       
  2042.       private function addEventListenerToSandboxes(param1:String, param2:Function, param3:Boolean = false, param4:int = 0, param5:Boolean = false, param6:IEventDispatcher = null) : void
  2043.       {
  2044.          var _loc10_:int = 0;
  2045.          var _loc11_:IEventDispatcher = null;
  2046.          if(!swfBridgeGroup)
  2047.          {
  2048.             return;
  2049.          }
  2050.          var _loc7_:EventListenerRequest = new EventListenerRequest(EventListenerRequest.ADD_EVENT_LISTENER_REQUEST,false,false,param1,param3,param4,param5);
  2051.          var _loc8_:IEventDispatcher = swfBridgeGroup.parentBridge;
  2052.          if((Boolean(_loc8_)) && _loc8_ != param6)
  2053.          {
  2054.             _loc8_.addEventListener(param1,param2,false,param4,param5);
  2055.          }
  2056.          var _loc9_:Array = swfBridgeGroup.getChildBridges();
  2057.          while(_loc10_ < _loc9_.length)
  2058.          {
  2059.             _loc11_ = IEventDispatcher(_loc9_[_loc10_]);
  2060.             if(_loc11_ != param6)
  2061.             {
  2062.                _loc11_.addEventListener(param1,param2,false,param4,param5);
  2063.             }
  2064.             _loc10_++;
  2065.          }
  2066.          dispatchEventFromSWFBridges(_loc7_,param6);
  2067.       }
  2068.       
  2069.       private function forwardFormEvent(param1:SWFBridgeEvent) : Boolean
  2070.       {
  2071.          var _loc3_:DisplayObject = null;
  2072.          if(isTopLevelRoot())
  2073.          {
  2074.             return false;
  2075.          }
  2076.          var _loc2_:IEventDispatcher = swfBridgeGroup.parentBridge;
  2077.          if(_loc2_)
  2078.          {
  2079.             _loc3_ = getSandboxRoot();
  2080.             param1.data.notifier = _loc2_;
  2081.             if(_loc3_ == this)
  2082.             {
  2083.                if(!(param1.data.window is String))
  2084.                {
  2085.                   param1.data.window = NameUtil.displayObjectToString(DisplayObject(param1.data.window));
  2086.                }
  2087.                else
  2088.                {
  2089.                   param1.data.window = NameUtil.displayObjectToString(DisplayObject(this)) + "." + param1.data.window;
  2090.                }
  2091.                _loc2_.dispatchEvent(param1);
  2092.             }
  2093.             else
  2094.             {
  2095.                if(param1.data.window is String)
  2096.                {
  2097.                   param1.data.window = NameUtil.displayObjectToString(DisplayObject(this)) + "." + param1.data.window;
  2098.                }
  2099.                _loc3_.dispatchEvent(param1);
  2100.             }
  2101.          }
  2102.          return true;
  2103.       }
  2104.       
  2105.       public function set explicitHeight(param1:Number) : void
  2106.       {
  2107.          _explicitHeight = param1;
  2108.       }
  2109.       
  2110.       override public function removeChild(param1:DisplayObject) : DisplayObject
  2111.       {
  2112.          --mx_internal::noTopMostIndex;
  2113.          return mx_internal::rawChildren_removeChild(param1);
  2114.       }
  2115.       
  2116.       mx_internal function rawChildren_removeChild(param1:DisplayObject) : DisplayObject
  2117.       {
  2118.          mx_internal::removingChild(param1);
  2119.          super.removeChild(param1);
  2120.          mx_internal::childRemoved(param1);
  2121.          return param1;
  2122.       }
  2123.       
  2124.       final mx_internal function get $numChildren() : int
  2125.       {
  2126.          return super.numChildren;
  2127.       }
  2128.       
  2129.       public function get toolTipChildren() : IChildList
  2130.       {
  2131.          if(!mx_internal::topLevel)
  2132.          {
  2133.             return _topLevelSystemManager.toolTipChildren;
  2134.          }
  2135.          if(!_toolTipChildren)
  2136.          {
  2137.             _toolTipChildren = new SystemChildrenList(this,new QName(mx_internal,"topMostIndex"),new QName(mx_internal,"toolTipIndex"));
  2138.          }
  2139.          return _toolTipChildren;
  2140.       }
  2141.       
  2142.       public function create(... rest) : Object
  2143.       {
  2144.          var _loc4_:String = null;
  2145.          var _loc5_:int = 0;
  2146.          var _loc6_:int = 0;
  2147.          var _loc2_:String = info()["mainClassName"];
  2148.          if(_loc2_ == null)
  2149.          {
  2150.             _loc4_ = loaderInfo.loaderURL;
  2151.             _loc5_ = int(_loc4_.lastIndexOf("."));
  2152.             _loc6_ = int(_loc4_.lastIndexOf("/"));
  2153.             _loc2_ = _loc4_.substring(_loc6_ + 1,_loc5_);
  2154.          }
  2155.          var _loc3_:Class = Class(getDefinitionByName(_loc2_));
  2156.          return !!_loc3_ ? new _loc3_() : null;
  2157.       }
  2158.       
  2159.       override public function get stage() : Stage
  2160.       {
  2161.          var _loc2_:DisplayObject = null;
  2162.          if(_stage)
  2163.          {
  2164.             return _stage;
  2165.          }
  2166.          var _loc1_:Stage = super.stage;
  2167.          if(_loc1_)
  2168.          {
  2169.             _stage = _loc1_;
  2170.             return _loc1_;
  2171.          }
  2172.          if(!mx_internal::topLevel && Boolean(_topLevelSystemManager))
  2173.          {
  2174.             _stage = _topLevelSystemManager.stage;
  2175.             return _stage;
  2176.          }
  2177.          if(!isStageRoot && mx_internal::topLevel)
  2178.          {
  2179.             _loc2_ = getTopLevelRoot();
  2180.             if(_loc2_)
  2181.             {
  2182.                _stage = _loc2_.stage;
  2183.                return _stage;
  2184.             }
  2185.          }
  2186.          return null;
  2187.       }
  2188.       
  2189.       override public function addChild(param1:DisplayObject) : DisplayObject
  2190.       {
  2191.          var _loc2_:int = numChildren;
  2192.          if(param1.parent == this)
  2193.          {
  2194.             _loc2_--;
  2195.          }
  2196.          return addChildAt(param1,_loc2_);
  2197.       }
  2198.       
  2199.       private function removeRemotePopUp(param1:RemotePopUp) : void
  2200.       {
  2201.          var _loc2_:int = int(forms.length);
  2202.          var _loc3_:int = 0;
  2203.          while(_loc3_ < _loc2_)
  2204.          {
  2205.             if(isRemotePopUp(forms[_loc3_]))
  2206.             {
  2207.                if(forms[_loc3_].window == param1.window && forms[_loc3_].bridge == param1.bridge)
  2208.                {
  2209.                   if(forms[_loc3_] == param1)
  2210.                   {
  2211.                      deactivateForm(param1);
  2212.                   }
  2213.                   forms.splice(_loc3_,1);
  2214.                   break;
  2215.                }
  2216.             }
  2217.             _loc3_++;
  2218.          }
  2219.       }
  2220.       
  2221.       private function deactivateRemotePopUp(param1:Object) : void
  2222.       {
  2223.          var _loc2_:SWFBridgeRequest = new SWFBridgeRequest(SWFBridgeRequest.DEACTIVATE_POP_UP_REQUEST,false,false,param1.bridge,param1.window);
  2224.          var _loc3_:Object = param1.bridge;
  2225.          if(_loc3_)
  2226.          {
  2227.             _loc3_.dispatchEvent(_loc2_);
  2228.          }
  2229.       }
  2230.       
  2231.       override public function getChildIndex(param1:DisplayObject) : int
  2232.       {
  2233.          return super.getChildIndex(param1) - mx_internal::applicationIndex;
  2234.       }
  2235.       
  2236.       mx_internal function rawChildren_getChildIndex(param1:DisplayObject) : int
  2237.       {
  2238.          return super.getChildIndex(param1);
  2239.       }
  2240.       
  2241.       public function activate(param1:IFocusManagerContainer) : void
  2242.       {
  2243.          activateForm(param1);
  2244.       }
  2245.       
  2246.       public function getSandboxRoot() : DisplayObject
  2247.       {
  2248.          var parent:DisplayObject = null;
  2249.          var lastParent:DisplayObject = null;
  2250.          var loader:Loader = null;
  2251.          var loaderInfo:LoaderInfo = null;
  2252.          var sm:ISystemManager = this;
  2253.          try
  2254.          {
  2255.             if(sm.topLevelSystemManager)
  2256.             {
  2257.                sm = sm.topLevelSystemManager;
  2258.             }
  2259.             parent = DisplayObject(sm).parent;
  2260.             if(parent is Stage)
  2261.             {
  2262.                return DisplayObject(sm);
  2263.             }
  2264.             if(Boolean(parent) && !parent.dispatchEvent(new Event("mx.managers.SystemManager.isBootstrapRoot",false,true)))
  2265.             {
  2266.                return this;
  2267.             }
  2268.             lastParent = this;
  2269.             while(parent)
  2270.             {
  2271.                if(parent is Stage)
  2272.                {
  2273.                   return lastParent;
  2274.                }
  2275.                if(!parent.dispatchEvent(new Event("mx.managers.SystemManager.isBootstrapRoot",false,true)))
  2276.                {
  2277.                   return lastParent;
  2278.                }
  2279.                if(parent is Loader)
  2280.                {
  2281.                   loader = Loader(parent);
  2282.                   loaderInfo = loader.contentLoaderInfo;
  2283.                   if(!loaderInfo.childAllowsParent)
  2284.                   {
  2285.                      return loaderInfo.content;
  2286.                   }
  2287.                }
  2288.                if(parent.hasEventListener(InterManagerRequest.SYSTEM_MANAGER_REQUEST))
  2289.                {
  2290.                   lastParent = parent;
  2291.                }
  2292.                parent = parent.parent;
  2293.             }
  2294.          }
  2295.          catch(error:Error)
  2296.          {
  2297.          }
  2298.          return lastParent != null ? lastParent : DisplayObject(sm);
  2299.       }
  2300.       
  2301.       private function deferredNextFrame() : void
  2302.       {
  2303.          if(currentFrame + 1 > totalFrames)
  2304.          {
  2305.             return;
  2306.          }
  2307.          if(currentFrame + 1 <= framesLoaded)
  2308.          {
  2309.             nextFrame();
  2310.          }
  2311.          else
  2312.          {
  2313.             nextFrameTimer = new Timer(100);
  2314.             nextFrameTimer.addEventListener(TimerEvent.TIMER,nextFrameTimerHandler);
  2315.             nextFrameTimer.start();
  2316.          }
  2317.       }
  2318.       
  2319.       mx_internal function get cursorIndex() : int
  2320.       {
  2321.          return _cursorIndex;
  2322.       }
  2323.       
  2324.       mx_internal function rawChildren_contains(param1:DisplayObject) : Boolean
  2325.       {
  2326.          return super.contains(param1);
  2327.       }
  2328.       
  2329.       override public function setChildIndex(param1:DisplayObject, param2:int) : void
  2330.       {
  2331.          super.setChildIndex(param1,mx_internal::applicationIndex + param2);
  2332.       }
  2333.       
  2334.       public function get document() : Object
  2335.       {
  2336.          return _document;
  2337.       }
  2338.       
  2339.       private function resizeMouseCatcher() : void
  2340.       {
  2341.          var g:Graphics = null;
  2342.          var s:Rectangle = null;
  2343.          if(mouseCatcher)
  2344.          {
  2345.             try
  2346.             {
  2347.                g = mouseCatcher.graphics;
  2348.                s = screen;
  2349.                g.clear();
  2350.                g.beginFill(0,0);
  2351.                g.drawRect(0,0,s.width,s.height);
  2352.                g.endFill();
  2353.             }
  2354.             catch(e:SecurityError)
  2355.             {
  2356.             }
  2357.          }
  2358.       }
  2359.       
  2360.       private function extraFrameListener(param1:Event) : void
  2361.       {
  2362.          if(lastFrame == currentFrame)
  2363.          {
  2364.             return;
  2365.          }
  2366.          lastFrame = currentFrame;
  2367.          if(currentFrame + 1 > totalFrames)
  2368.          {
  2369.             removeEventListener(Event.ENTER_FRAME,extraFrameListener);
  2370.          }
  2371.          extraFrameHandler();
  2372.       }
  2373.       
  2374.       private function addPopupRequestHandler(param1:Event) : void
  2375.       {
  2376.          var _loc3_:* = false;
  2377.          var _loc4_:IChildList = null;
  2378.          var _loc6_:ISWFBridgeProvider = null;
  2379.          var _loc7_:SWFBridgeRequest = null;
  2380.          if(param1.target != this && param1 is SWFBridgeRequest)
  2381.          {
  2382.             return;
  2383.          }
  2384.          var _loc2_:SWFBridgeRequest = SWFBridgeRequest.marshal(param1);
  2385.          if(param1.target != this)
  2386.          {
  2387.             _loc6_ = swfBridgeGroup.getChildBridgeProvider(IEventDispatcher(param1.target));
  2388.             if(!SecurityUtil.hasMutualTrustBetweenParentAndChild(_loc6_))
  2389.             {
  2390.                return;
  2391.             }
  2392.          }
  2393.          if(Boolean(swfBridgeGroup.parentBridge) && SecurityUtil.hasMutualTrustBetweenParentAndChild(this))
  2394.          {
  2395.             _loc2_.requestor = swfBridgeGroup.parentBridge;
  2396.             getSandboxRoot().dispatchEvent(_loc2_);
  2397.             return;
  2398.          }
  2399.          if(!_loc2_.data.childList || _loc2_.data.childList == PopUpManagerChildList.PARENT)
  2400.          {
  2401.             _loc3_ = Boolean(_loc2_.data.parent) && popUpChildren.contains(_loc2_.data.parent);
  2402.          }
  2403.          else
  2404.          {
  2405.             _loc3_ = _loc2_.data.childList == PopUpManagerChildList.POPUP;
  2406.          }
  2407.          _loc4_ = _loc3_ ? popUpChildren : this;
  2408.          _loc4_.addChild(DisplayObject(_loc2_.data.window));
  2409.          if(_loc2_.data.modal)
  2410.          {
  2411.             ++numModalWindows;
  2412.          }
  2413.          var _loc5_:RemotePopUp = new RemotePopUp(_loc2_.data.window,_loc2_.requestor);
  2414.          forms.push(_loc5_);
  2415.          if(!isTopLevelRoot() && Boolean(swfBridgeGroup))
  2416.          {
  2417.             _loc7_ = new SWFBridgeRequest(SWFBridgeRequest.ADD_POP_UP_PLACE_HOLDER_REQUEST,false,false,_loc2_.requestor,{"window":_loc2_.data.window});
  2418.             _loc7_.data.placeHolderId = NameUtil.displayObjectToString(DisplayObject(_loc2_.data.window));
  2419.             dispatchEvent(_loc7_);
  2420.          }
  2421.       }
  2422.       
  2423.       override public function get height() : Number
  2424.       {
  2425.          return _height;
  2426.       }
  2427.       
  2428.       mx_internal function rawChildren_getChildAt(param1:int) : DisplayObject
  2429.       {
  2430.          return super.getChildAt(param1);
  2431.       }
  2432.       
  2433.       private function systemManagerHandler(param1:Event) : void
  2434.       {
  2435.          if(param1["name"] == "sameSandbox")
  2436.          {
  2437.             param1["value"] = currentSandboxEvent == param1["value"];
  2438.             return;
  2439.          }
  2440.          if(param1["name"] == "hasSWFBridges")
  2441.          {
  2442.             param1["value"] = hasSWFBridges();
  2443.             return;
  2444.          }
  2445.          if(param1 is InterManagerRequest)
  2446.          {
  2447.             return;
  2448.          }
  2449.          var _loc2_:String = param1["name"];
  2450.          switch(_loc2_)
  2451.          {
  2452.             case "popUpChildren.addChild":
  2453.                popUpChildren.addChild(param1["value"]);
  2454.                break;
  2455.             case "popUpChildren.removeChild":
  2456.                popUpChildren.removeChild(param1["value"]);
  2457.                break;
  2458.             case "cursorChildren.addChild":
  2459.                cursorChildren.addChild(param1["value"]);
  2460.                break;
  2461.             case "cursorChildren.removeChild":
  2462.                cursorChildren.removeChild(param1["value"]);
  2463.                break;
  2464.             case "toolTipChildren.addChild":
  2465.                toolTipChildren.addChild(param1["value"]);
  2466.                break;
  2467.             case "toolTipChildren.removeChild":
  2468.                toolTipChildren.removeChild(param1["value"]);
  2469.                break;
  2470.             case "screen":
  2471.                param1["value"] = screen;
  2472.                break;
  2473.             case "application":
  2474.                param1["value"] = application;
  2475.                break;
  2476.             case "isTopLevelRoot":
  2477.                param1["value"] = isTopLevelRoot();
  2478.                break;
  2479.             case "getVisibleApplicationRect":
  2480.                param1["value"] = getVisibleApplicationRect();
  2481.                break;
  2482.             case "bringToFront":
  2483.                if(param1["value"].topMost)
  2484.                {
  2485.                   popUpChildren.setChildIndex(DisplayObject(param1["value"].popUp),popUpChildren.numChildren - 1);
  2486.                }
  2487.                else
  2488.                {
  2489.                   setChildIndex(DisplayObject(param1["value"].popUp),numChildren - 1);
  2490.                }
  2491.          }
  2492.       }
  2493.       
  2494.       private function activateRemotePopUp(param1:Object) : void
  2495.       {
  2496.          var _loc2_:SWFBridgeRequest = new SWFBridgeRequest(SWFBridgeRequest.ACTIVATE_POP_UP_REQUEST,false,false,param1.bridge,param1.window);
  2497.          var _loc3_:Object = param1.bridge;
  2498.          if(_loc3_)
  2499.          {
  2500.             _loc3_.dispatchEvent(_loc2_);
  2501.          }
  2502.       }
  2503.       
  2504.       mx_internal function set noTopMostIndex(param1:int) : void
  2505.       {
  2506.          var _loc2_:int = param1 - _noTopMostIndex;
  2507.          _noTopMostIndex = param1;
  2508.          mx_internal::topMostIndex += _loc2_;
  2509.       }
  2510.       
  2511.       override public function getObjectsUnderPoint(param1:Point) : Array
  2512.       {
  2513.          var _loc5_:DisplayObject = null;
  2514.          var _loc6_:Array = null;
  2515.          var _loc2_:Array = [];
  2516.          var _loc3_:int = mx_internal::topMostIndex;
  2517.          var _loc4_:int = 0;
  2518.          while(_loc4_ < _loc3_)
  2519.          {
  2520.             _loc5_ = super.getChildAt(_loc4_);
  2521.             if(_loc5_ is DisplayObjectContainer)
  2522.             {
  2523.                _loc6_ = DisplayObjectContainer(_loc5_).getObjectsUnderPoint(param1);
  2524.                if(_loc6_)
  2525.                {
  2526.                   _loc2_ = _loc2_.concat(_loc6_);
  2527.                }
  2528.             }
  2529.             _loc4_++;
  2530.          }
  2531.          return _loc2_;
  2532.       }
  2533.       
  2534.       mx_internal function get topMostIndex() : int
  2535.       {
  2536.          return _topMostIndex;
  2537.       }
  2538.       
  2539.       mx_internal function regenerateStyleCache(param1:Boolean) : void
  2540.       {
  2541.          var _loc5_:IStyleClient = null;
  2542.          var _loc2_:Boolean = false;
  2543.          var _loc3_:int = rawChildren.numChildren;
  2544.          var _loc4_:int = 0;
  2545.          while(_loc4_ < _loc3_)
  2546.          {
  2547.             _loc5_ = rawChildren.getChildAt(_loc4_) as IStyleClient;
  2548.             if(_loc5_)
  2549.             {
  2550.                _loc5_.regenerateStyleCache(param1);
  2551.             }
  2552.             if(isTopLevelWindow(DisplayObject(_loc5_)))
  2553.             {
  2554.                _loc2_ = true;
  2555.             }
  2556.             _loc3_ = rawChildren.numChildren;
  2557.             _loc4_++;
  2558.          }
  2559.          if(!_loc2_ && mx_internal::topLevelWindow is IStyleClient)
  2560.          {
  2561.             IStyleClient(mx_internal::topLevelWindow).regenerateStyleCache(param1);
  2562.          }
  2563.       }
  2564.       
  2565.       public function addFocusManager(param1:IFocusManagerContainer) : void
  2566.       {
  2567.          forms.push(param1);
  2568.       }
  2569.       
  2570.       private function deactivateFormSandboxEventHandler(param1:Event) : void
  2571.       {
  2572.          if(param1 is SWFBridgeRequest)
  2573.          {
  2574.             return;
  2575.          }
  2576.          var _loc2_:SWFBridgeEvent = SWFBridgeEvent.marshal(param1);
  2577.          if(!forwardFormEvent(_loc2_))
  2578.          {
  2579.             if(isRemotePopUp(form) && RemotePopUp(form).window == _loc2_.data.window && RemotePopUp(form).bridge == _loc2_.data.notifier)
  2580.             {
  2581.                deactivateForm(form);
  2582.             }
  2583.          }
  2584.       }
  2585.       
  2586.       public function set swfBridgeGroup(param1:ISWFBridgeGroup) : void
  2587.       {
  2588.          if(mx_internal::topLevel)
  2589.          {
  2590.             _swfBridgeGroup = param1;
  2591.          }
  2592.          else if(topLevelSystemManager)
  2593.          {
  2594.             SystemManager(topLevelSystemManager).swfBridgeGroup = param1;
  2595.          }
  2596.       }
  2597.       
  2598.       mx_internal function rawChildren_setChildIndex(param1:DisplayObject, param2:int) : void
  2599.       {
  2600.          super.setChildIndex(param1,param2);
  2601.       }
  2602.       
  2603.       private function mouseUpHandler(param1:MouseEvent) : void
  2604.       {
  2605.          mx_internal::idleCounter = 0;
  2606.       }
  2607.       
  2608.       mx_internal function childAdded(param1:DisplayObject) : void
  2609.       {
  2610.          param1.dispatchEvent(new FlexEvent(FlexEvent.ADD));
  2611.          if(param1 is IUIComponent)
  2612.          {
  2613.             IUIComponent(param1).initialize();
  2614.          }
  2615.       }
  2616.       
  2617.       public function isFontFaceEmbedded(param1:TextFormat) : Boolean
  2618.       {
  2619.          var _loc6_:Font = null;
  2620.          var _loc7_:String = null;
  2621.          var _loc2_:String = param1.font;
  2622.          var _loc3_:Array = Font.enumerateFonts();
  2623.          var _loc4_:int = 0;
  2624.          while(_loc4_ < _loc3_.length)
  2625.          {
  2626.             _loc6_ = Font(_loc3_[_loc4_]);
  2627.             if(_loc6_.fontName == _loc2_)
  2628.             {
  2629.                _loc7_ = "regular";
  2630.                if(Boolean(param1.bold) && Boolean(param1.italic))
  2631.                {
  2632.                   _loc7_ = "boldItalic";
  2633.                }
  2634.                else if(param1.bold)
  2635.                {
  2636.                   _loc7_ = "bold";
  2637.                }
  2638.                else if(param1.italic)
  2639.                {
  2640.                   _loc7_ = "italic";
  2641.                }
  2642.                if(_loc6_.fontStyle == _loc7_)
  2643.                {
  2644.                   return true;
  2645.                }
  2646.             }
  2647.             _loc4_++;
  2648.          }
  2649.          if(!_loc2_ || !embeddedFontList || !embeddedFontList[_loc2_])
  2650.          {
  2651.             return false;
  2652.          }
  2653.          var _loc5_:Object = embeddedFontList[_loc2_];
  2654.          return !(Boolean(param1.bold) && !_loc5_.bold || Boolean(param1.italic) && !_loc5_.italic || !param1.bold && !param1.italic && !_loc5_.regular);
  2655.       }
  2656.       
  2657.       private function forwardPlaceholderRequest(param1:SWFBridgeRequest, param2:Boolean) : Boolean
  2658.       {
  2659.          if(isTopLevelRoot())
  2660.          {
  2661.             return false;
  2662.          }
  2663.          var _loc3_:Object = null;
  2664.          var _loc4_:String = null;
  2665.          if(param1.data.window)
  2666.          {
  2667.             _loc3_ = param1.data.window;
  2668.             param1.data.window = null;
  2669.          }
  2670.          else
  2671.          {
  2672.             _loc3_ = param1.requestor;
  2673.             _loc4_ = param1.data.placeHolderId;
  2674.             param1.data.placeHolderId = NameUtil.displayObjectToString(this) + "." + param1.data.placeHolderId;
  2675.          }
  2676.          if(param2)
  2677.          {
  2678.             addPlaceholderId(param1.data.placeHolderId,_loc4_,param1.requestor,_loc3_);
  2679.          }
  2680.          else
  2681.          {
  2682.             removePlaceholderId(param1.data.placeHolderId);
  2683.          }
  2684.          var _loc5_:DisplayObject = getSandboxRoot();
  2685.          var _loc6_:IEventDispatcher = swfBridgeGroup.parentBridge;
  2686.          param1.requestor = _loc6_;
  2687.          if(_loc5_ == this)
  2688.          {
  2689.             _loc6_.dispatchEvent(param1);
  2690.          }
  2691.          else
  2692.          {
  2693.             _loc5_.dispatchEvent(param1);
  2694.          }
  2695.          return true;
  2696.       }
  2697.       
  2698.       public function getTopLevelRoot() : DisplayObject
  2699.       {
  2700.          var sm:ISystemManager = null;
  2701.          var parent:DisplayObject = null;
  2702.          var lastParent:DisplayObject = null;
  2703.          try
  2704.          {
  2705.             sm = this;
  2706.             if(sm.topLevelSystemManager)
  2707.             {
  2708.                sm = sm.topLevelSystemManager;
  2709.             }
  2710.             parent = DisplayObject(sm).parent;
  2711.             lastParent = parent;
  2712.             while(parent)
  2713.             {
  2714.                if(parent is Stage)
  2715.                {
  2716.                   return lastParent;
  2717.                }
  2718.                lastParent = parent;
  2719.                parent = parent.parent;
  2720.             }
  2721.          }
  2722.          catch(error:SecurityError)
  2723.          {
  2724.          }
  2725.          return null;
  2726.       }
  2727.       
  2728.       override public function removeEventListener(param1:String, param2:Function, param3:Boolean = false) : void
  2729.       {
  2730.          var actualType:String = null;
  2731.          var type:String = param1;
  2732.          var listener:Function = param2;
  2733.          var useCapture:Boolean = param3;
  2734.          if(type == FlexEvent.RENDER || type == FlexEvent.ENTER_FRAME)
  2735.          {
  2736.             if(type == FlexEvent.RENDER)
  2737.             {
  2738.                type = Event.RENDER;
  2739.             }
  2740.             else
  2741.             {
  2742.                type = Event.ENTER_FRAME;
  2743.             }
  2744.             try
  2745.             {
  2746.                if(stage)
  2747.                {
  2748.                   stage.removeEventListener(type,listener,useCapture);
  2749.                }
  2750.             }
  2751.             catch(error:SecurityError)
  2752.             {
  2753.             }
  2754.             super.removeEventListener(type,listener,useCapture);
  2755.             return;
  2756.          }
  2757.          if(hasSWFBridges() || SystemManagerGlobals.topLevelSystemManagers.length > 1)
  2758.          {
  2759.             actualType = EventUtil.sandboxMouseEventMap[type];
  2760.             if(actualType)
  2761.             {
  2762.                if(getSandboxRoot() == this && Boolean(eventProxy))
  2763.                {
  2764.                   super.removeEventListener(actualType,eventProxy.marshalListener,useCapture);
  2765.                   if(actualType == MouseEvent.MOUSE_UP)
  2766.                   {
  2767.                      try
  2768.                      {
  2769.                         if(stage)
  2770.                         {
  2771.                            stage.removeEventListener(Event.MOUSE_LEAVE,eventProxy.marshalListener,useCapture);
  2772.                         }
  2773.                      }
  2774.                      catch(e:SecurityError)
  2775.                      {
  2776.                      }
  2777.                      super.removeEventListener(Event.MOUSE_LEAVE,eventProxy.marshalListener,useCapture);
  2778.                   }
  2779.                }
  2780.                if(!SystemManagerGlobals.changingListenersInOtherSystemManagers)
  2781.                {
  2782.                   removeEventListenerFromOtherSystemManagers(type,otherSystemManagerMouseListener,useCapture);
  2783.                }
  2784.                removeEventListenerFromSandboxes(type,sandboxMouseListener,useCapture);
  2785.                super.removeEventListener(type,listener,false);
  2786.                return;
  2787.             }
  2788.          }
  2789.          if(type == FlexEvent.IDLE)
  2790.          {
  2791.             super.removeEventListener(type,listener,useCapture);
  2792.             if(!hasEventListener(FlexEvent.IDLE) && Boolean(idleTimer))
  2793.             {
  2794.                idleTimer.stop();
  2795.                idleTimer = null;
  2796.                removeEventListener(MouseEvent.MOUSE_MOVE,mouseMoveHandler);
  2797.                removeEventListener(MouseEvent.MOUSE_UP,mouseUpHandler);
  2798.             }
  2799.          }
  2800.          else
  2801.          {
  2802.             super.removeEventListener(type,listener,useCapture);
  2803.          }
  2804.          if(type == MouseEvent.MOUSE_MOVE || type == MouseEvent.MOUSE_UP || type == MouseEvent.MOUSE_DOWN || type == Event.ACTIVATE || type == Event.DEACTIVATE)
  2805.          {
  2806.             if(!hasEventListener(type))
  2807.             {
  2808.                try
  2809.                {
  2810.                   if(stage)
  2811.                   {
  2812.                      stage.removeEventListener(type,stageEventHandler,false);
  2813.                   }
  2814.                }
  2815.                catch(error:SecurityError)
  2816.                {
  2817.                }
  2818.             }
  2819.          }
  2820.          if(type == SandboxMouseEvent.MOUSE_UP_SOMEWHERE)
  2821.          {
  2822.             if(!hasEventListener(SandboxMouseEvent.MOUSE_UP_SOMEWHERE))
  2823.             {
  2824.                try
  2825.                {
  2826.                   if(stage)
  2827.                   {
  2828.                      stage.removeEventListener(Event.MOUSE_LEAVE,mouseLeaveHandler);
  2829.                   }
  2830.                }
  2831.                catch(error:SecurityError)
  2832.                {
  2833.                }
  2834.                super.removeEventListener(Event.MOUSE_LEAVE,mouseLeaveHandler);
  2835.             }
  2836.          }
  2837.       }
  2838.       
  2839.       private function extraFrameHandler(param1:Event = null) : void
  2840.       {
  2841.          var _loc3_:Class = null;
  2842.          var _loc2_:Object = info()["frames"];
  2843.          if(Boolean(_loc2_) && Boolean(_loc2_[currentLabel]))
  2844.          {
  2845.             _loc3_ = Class(getDefinitionByName(_loc2_[currentLabel]));
  2846.             _loc3_["frame"](this);
  2847.          }
  2848.          deferredNextFrame();
  2849.       }
  2850.       
  2851.       public function isTopLevelRoot() : Boolean
  2852.       {
  2853.          return isStageRoot || isBootstrapRoot;
  2854.       }
  2855.       
  2856.       public function get application() : IUIComponent
  2857.       {
  2858.          return IUIComponent(_document);
  2859.       }
  2860.       
  2861.       override public function removeChildAt(param1:int) : DisplayObject
  2862.       {
  2863.          --mx_internal::noTopMostIndex;
  2864.          return mx_internal::rawChildren_removeChildAt(mx_internal::applicationIndex + param1);
  2865.       }
  2866.       
  2867.       mx_internal function rawChildren_removeChildAt(param1:int) : DisplayObject
  2868.       {
  2869.          var _loc2_:DisplayObject = super.getChildAt(param1);
  2870.          mx_internal::removingChild(_loc2_);
  2871.          super.removeChildAt(param1);
  2872.          mx_internal::childRemoved(_loc2_);
  2873.          return _loc2_;
  2874.       }
  2875.       
  2876.       private function getSWFBridgeOfDisplayObject(param1:DisplayObject) : IEventDispatcher
  2877.       {
  2878.          var _loc2_:SWFBridgeRequest = null;
  2879.          var _loc3_:Array = null;
  2880.          var _loc4_:int = 0;
  2881.          var _loc5_:int = 0;
  2882.          var _loc6_:IEventDispatcher = null;
  2883.          var _loc7_:ISWFBridgeProvider = null;
  2884.          if(swfBridgeGroup)
  2885.          {
  2886.             _loc2_ = new SWFBridgeRequest(SWFBridgeRequest.IS_BRIDGE_CHILD_REQUEST,false,false,null,param1);
  2887.             _loc3_ = swfBridgeGroup.getChildBridges();
  2888.             _loc4_ = int(_loc3_.length);
  2889.             _loc5_ = 0;
  2890.             while(_loc5_ < _loc4_)
  2891.             {
  2892.                _loc6_ = IEventDispatcher(_loc3_[_loc5_]);
  2893.                _loc7_ = swfBridgeGroup.getChildBridgeProvider(_loc6_);
  2894.                if(SecurityUtil.hasMutualTrustBetweenParentAndChild(_loc7_))
  2895.                {
  2896.                   _loc6_.dispatchEvent(_loc2_);
  2897.                   if(_loc2_.data == true)
  2898.                   {
  2899.                      return _loc6_;
  2900.                   }
  2901.                   _loc2_.data = param1;
  2902.                }
  2903.                _loc5_++;
  2904.             }
  2905.          }
  2906.          return null;
  2907.       }
  2908.       
  2909.       private function deactivateRequestHandler(param1:Event) : void
  2910.       {
  2911.          var _loc5_:PlaceholderData = null;
  2912.          var _loc6_:RemotePopUp = null;
  2913.          var _loc7_:SystemManagerProxy = null;
  2914.          var _loc8_:IFocusManagerContainer = null;
  2915.          var _loc2_:SWFBridgeRequest = SWFBridgeRequest.marshal(param1);
  2916.          var _loc3_:Object = _loc2_.data;
  2917.          var _loc4_:String = null;
  2918.          if(_loc2_.data is String)
  2919.          {
  2920.             _loc5_ = idToPlaceholder[_loc2_.data];
  2921.             _loc3_ = _loc5_.data;
  2922.             _loc4_ = _loc5_.id;
  2923.             if(_loc4_ == null)
  2924.             {
  2925.                _loc6_ = findRemotePopUp(_loc3_,_loc5_.bridge);
  2926.                if(_loc6_)
  2927.                {
  2928.                   deactivateRemotePopUp(_loc6_);
  2929.                   return;
  2930.                }
  2931.             }
  2932.          }
  2933.          if(_loc3_ is SystemManagerProxy)
  2934.          {
  2935.             _loc7_ = SystemManagerProxy(_loc3_);
  2936.             _loc8_ = mx_internal::findFocusManagerContainer(_loc7_);
  2937.             if(Boolean(_loc7_) && Boolean(_loc8_))
  2938.             {
  2939.                _loc7_.deactivateByProxy(_loc8_);
  2940.             }
  2941.          }
  2942.          else
  2943.          {
  2944.             if(!(_loc3_ is IFocusManagerContainer))
  2945.             {
  2946.                if(_loc3_ is IEventDispatcher)
  2947.                {
  2948.                   _loc2_.data = _loc4_;
  2949.                   _loc2_.requestor = IEventDispatcher(_loc3_);
  2950.                   IEventDispatcher(_loc3_).dispatchEvent(_loc2_);
  2951.                   return;
  2952.                }
  2953.                throw new Error();
  2954.             }
  2955.             IFocusManagerContainer(_loc3_).focusManager.deactivate();
  2956.          }
  2957.       }
  2958.       
  2959.       private function installCompiledResourceBundles() : void
  2960.       {
  2961.          var _loc1_:Object = this.info();
  2962.          var _loc2_:ApplicationDomain = !mx_internal::topLevel && parent is Loader ? Loader(parent).contentLoaderInfo.applicationDomain : _loc1_["currentDomain"];
  2963.          var _loc3_:Array = _loc1_["compiledLocales"];
  2964.          var _loc4_:Array = _loc1_["compiledResourceBundleNames"];
  2965.          var _loc5_:IResourceManager = ResourceManager.getInstance();
  2966.          _loc5_.installCompiledResourceBundles(_loc2_,_loc3_,_loc4_);
  2967.          if(!_loc5_.localeChain)
  2968.          {
  2969.             _loc5_.initializeLocaleChain(_loc3_);
  2970.          }
  2971.       }
  2972.       
  2973.       private function deactivateForm(param1:Object) : void
  2974.       {
  2975.          if(form)
  2976.          {
  2977.             if(form == param1 && forms.length > 1)
  2978.             {
  2979.                if(isRemotePopUp(form))
  2980.                {
  2981.                   deactivateRemotePopUp(form);
  2982.                }
  2983.                else
  2984.                {
  2985.                   form.focusManager.deactivate();
  2986.                }
  2987.                form = findLastActiveForm(param1);
  2988.                if(form)
  2989.                {
  2990.                   if(isRemotePopUp(form))
  2991.                   {
  2992.                      activateRemotePopUp(form);
  2993.                   }
  2994.                   else
  2995.                   {
  2996.                      form.focusManager.activate();
  2997.                   }
  2998.                }
  2999.             }
  3000.          }
  3001.       }
  3002.       
  3003.       private function unloadHandler(param1:Event) : void
  3004.       {
  3005.          dispatchEvent(param1);
  3006.       }
  3007.       
  3008.       mx_internal function removingChild(param1:DisplayObject) : void
  3009.       {
  3010.          param1.dispatchEvent(new FlexEvent(FlexEvent.REMOVE));
  3011.       }
  3012.       
  3013.       mx_internal function get applicationIndex() : int
  3014.       {
  3015.          return _applicationIndex;
  3016.       }
  3017.       
  3018.       mx_internal function set toolTipIndex(param1:int) : void
  3019.       {
  3020.          var _loc2_:int = param1 - _toolTipIndex;
  3021.          _toolTipIndex = param1;
  3022.          mx_internal::cursorIndex += _loc2_;
  3023.       }
  3024.       
  3025.       private function hasSWFBridges() : Boolean
  3026.       {
  3027.          if(swfBridgeGroup)
  3028.          {
  3029.             return true;
  3030.          }
  3031.          return false;
  3032.       }
  3033.       
  3034.       private function updateLastActiveForm() : void
  3035.       {
  3036.          var _loc1_:int = int(forms.length);
  3037.          if(_loc1_ < 2)
  3038.          {
  3039.             return;
  3040.          }
  3041.          var _loc2_:int = -1;
  3042.          var _loc3_:int = 0;
  3043.          while(_loc3_ < _loc1_)
  3044.          {
  3045.             if(areFormsEqual(form,forms[_loc3_]))
  3046.             {
  3047.                _loc2_ = _loc3_;
  3048.                break;
  3049.             }
  3050.             _loc3_++;
  3051.          }
  3052.          if(_loc2_ >= 0)
  3053.          {
  3054.             forms.splice(_loc2_,1);
  3055.             forms.push(form);
  3056.          }
  3057.       }
  3058.       
  3059.       mx_internal function set bridgeToFocusManager(param1:Dictionary) : void
  3060.       {
  3061.          if(mx_internal::topLevel)
  3062.          {
  3063.             _bridgeToFocusManager = param1;
  3064.          }
  3065.          else if(topLevelSystemManager)
  3066.          {
  3067.             SystemManager(topLevelSystemManager).mx_internal::bridgeToFocusManager = param1;
  3068.          }
  3069.       }
  3070.       
  3071.       public function get cursorChildren() : IChildList
  3072.       {
  3073.          if(!mx_internal::topLevel)
  3074.          {
  3075.             return _topLevelSystemManager.cursorChildren;
  3076.          }
  3077.          if(!_cursorChildren)
  3078.          {
  3079.             _cursorChildren = new SystemChildrenList(this,new QName(mx_internal,"toolTipIndex"),new QName(mx_internal,"cursorIndex"));
  3080.          }
  3081.          return _cursorChildren;
  3082.       }
  3083.       
  3084.       private function sandboxMouseListener(param1:Event) : void
  3085.       {
  3086.          if(param1 is SandboxMouseEvent)
  3087.          {
  3088.             return;
  3089.          }
  3090.          var _loc2_:Event = SandboxMouseEvent.marshal(param1);
  3091.          dispatchEventFromSWFBridges(_loc2_,param1.target as IEventDispatcher);
  3092.          var _loc3_:InterManagerRequest = new InterManagerRequest(InterManagerRequest.SYSTEM_MANAGER_REQUEST);
  3093.          _loc3_.name = "sameSandbox";
  3094.          _loc3_.value = param1;
  3095.          getSandboxRoot().dispatchEvent(_loc3_);
  3096.          if(!_loc3_.value)
  3097.          {
  3098.             dispatchEvent(_loc2_);
  3099.          }
  3100.       }
  3101.       
  3102.       public function get preloaderBackgroundImage() : Object
  3103.       {
  3104.          return info()["backgroundImage"];
  3105.       }
  3106.       
  3107.       public function set numModalWindows(param1:int) : void
  3108.       {
  3109.          _numModalWindows = param1;
  3110.       }
  3111.       
  3112.       public function get preloaderBackgroundAlpha() : Number
  3113.       {
  3114.          return info()["backgroundAlpha"];
  3115.       }
  3116.       
  3117.       mx_internal function rawChildren_getChildByName(param1:String) : DisplayObject
  3118.       {
  3119.          return super.getChildByName(param1);
  3120.       }
  3121.       
  3122.       private function dispatchInvalidateRequest() : void
  3123.       {
  3124.          var _loc1_:IEventDispatcher = swfBridgeGroup.parentBridge;
  3125.          var _loc2_:SWFBridgeRequest = new SWFBridgeRequest(SWFBridgeRequest.INVALIDATE_REQUEST,false,false,_loc1_,InvalidateRequestData.SIZE | InvalidateRequestData.DISPLAY_LIST);
  3126.          _loc1_.dispatchEvent(_loc2_);
  3127.       }
  3128.       
  3129.       public function allowDomain(... rest) : void
  3130.       {
  3131.       }
  3132.       
  3133.       public function get preloaderBackgroundColor() : uint
  3134.       {
  3135.          var _loc1_:* = info()["backgroundColor"];
  3136.          if(_loc1_ == undefined)
  3137.          {
  3138.             return StyleManager.NOT_A_COLOR;
  3139.          }
  3140.          return StyleManager.getColorName(_loc1_);
  3141.       }
  3142.       
  3143.       public function getVisibleApplicationRect(param1:Rectangle = null) : Rectangle
  3144.       {
  3145.          var _loc2_:Rectangle = null;
  3146.          var _loc3_:Point = null;
  3147.          var _loc4_:IEventDispatcher = null;
  3148.          var _loc5_:SWFBridgeRequest = null;
  3149.          if(!param1)
  3150.          {
  3151.             param1 = getBounds(DisplayObject(this));
  3152.             _loc2_ = screen;
  3153.             _loc3_ = new Point(Math.max(0,param1.x),Math.max(0,param1.y));
  3154.             _loc3_ = localToGlobal(_loc3_);
  3155.             param1.x = _loc3_.x;
  3156.             param1.y = _loc3_.y;
  3157.             param1.width = _loc2_.width;
  3158.             param1.height = _loc2_.height;
  3159.          }
  3160.          if(useSWFBridge())
  3161.          {
  3162.             _loc4_ = swfBridgeGroup.parentBridge;
  3163.             _loc5_ = new SWFBridgeRequest(SWFBridgeRequest.GET_VISIBLE_RECT_REQUEST,false,false,_loc4_,param1);
  3164.             _loc4_.dispatchEvent(_loc5_);
  3165.             param1 = Rectangle(_loc5_.data);
  3166.          }
  3167.          return param1;
  3168.       }
  3169.       
  3170.       public function get topLevelSystemManager() : ISystemManager
  3171.       {
  3172.          if(mx_internal::topLevel)
  3173.          {
  3174.             return this;
  3175.          }
  3176.          return _topLevelSystemManager;
  3177.       }
  3178.       
  3179.       private function appCreationCompleteHandler(param1:FlexEvent) : void
  3180.       {
  3181.          var _loc2_:DisplayObjectContainer = null;
  3182.          if(!mx_internal::topLevel && Boolean(parent))
  3183.          {
  3184.             _loc2_ = parent.parent;
  3185.             while(_loc2_)
  3186.             {
  3187.                if(_loc2_ is IInvalidating)
  3188.                {
  3189.                   IInvalidating(_loc2_).invalidateSize();
  3190.                   IInvalidating(_loc2_).invalidateDisplayList();
  3191.                   return;
  3192.                }
  3193.                _loc2_ = _loc2_.parent;
  3194.             }
  3195.          }
  3196.          if(mx_internal::topLevel && useSWFBridge())
  3197.          {
  3198.             dispatchInvalidateRequest();
  3199.          }
  3200.       }
  3201.       
  3202.       public function addChildToSandboxRoot(param1:String, param2:DisplayObject) : void
  3203.       {
  3204.          var _loc3_:InterManagerRequest = null;
  3205.          if(getSandboxRoot() == this)
  3206.          {
  3207.             this[param1].addChild(param2);
  3208.          }
  3209.          else
  3210.          {
  3211.             mx_internal::addingChild(param2);
  3212.             _loc3_ = new InterManagerRequest(InterManagerRequest.SYSTEM_MANAGER_REQUEST);
  3213.             _loc3_.name = param1 + ".addChild";
  3214.             _loc3_.value = param2;
  3215.             getSandboxRoot().dispatchEvent(_loc3_);
  3216.             mx_internal::childAdded(param2);
  3217.          }
  3218.       }
  3219.       
  3220.       private function dispatchDeactivatedWindowEvent(param1:DisplayObject) : void
  3221.       {
  3222.          var _loc3_:DisplayObject = null;
  3223.          var _loc4_:* = false;
  3224.          var _loc5_:SWFBridgeEvent = null;
  3225.          var _loc2_:IEventDispatcher = !!swfBridgeGroup ? swfBridgeGroup.parentBridge : null;
  3226.          if(_loc2_)
  3227.          {
  3228.             _loc3_ = getSandboxRoot();
  3229.             _loc4_ = _loc3_ != this;
  3230.             _loc5_ = new SWFBridgeEvent(SWFBridgeEvent.BRIDGE_WINDOW_DEACTIVATE,false,false,{
  3231.                "notifier":_loc2_,
  3232.                "window":(_loc4_ ? param1 : NameUtil.displayObjectToString(param1))
  3233.             });
  3234.             if(_loc4_)
  3235.             {
  3236.                _loc3_.dispatchEvent(_loc5_);
  3237.             }
  3238.             else
  3239.             {
  3240.                _loc2_.dispatchEvent(_loc5_);
  3241.             }
  3242.          }
  3243.       }
  3244.       
  3245.       private function isBridgeChildHandler(param1:Event) : void
  3246.       {
  3247.          if(param1 is SWFBridgeRequest)
  3248.          {
  3249.             return;
  3250.          }
  3251.          var _loc2_:Object = Object(param1);
  3252.          _loc2_.data = _loc2_.data && rawChildren.contains(_loc2_.data as DisplayObject);
  3253.       }
  3254.       
  3255.       public function get measuredHeight() : Number
  3256.       {
  3257.          return !!mx_internal::topLevelWindow ? mx_internal::topLevelWindow.getExplicitOrMeasuredHeight() : loaderInfo.height;
  3258.       }
  3259.       
  3260.       private function activateRequestHandler(param1:Event) : void
  3261.       {
  3262.          var _loc5_:PlaceholderData = null;
  3263.          var _loc6_:RemotePopUp = null;
  3264.          var _loc7_:SystemManagerProxy = null;
  3265.          var _loc8_:IFocusManagerContainer = null;
  3266.          var _loc2_:SWFBridgeRequest = SWFBridgeRequest.marshal(param1);
  3267.          var _loc3_:Object = _loc2_.data;
  3268.          var _loc4_:String = null;
  3269.          if(_loc2_.data is String)
  3270.          {
  3271.             _loc5_ = idToPlaceholder[_loc2_.data];
  3272.             _loc3_ = _loc5_.data;
  3273.             _loc4_ = _loc5_.id;
  3274.             if(_loc4_ == null)
  3275.             {
  3276.                _loc6_ = findRemotePopUp(_loc3_,_loc5_.bridge);
  3277.                if(_loc6_)
  3278.                {
  3279.                   activateRemotePopUp(_loc6_);
  3280.                   return;
  3281.                }
  3282.             }
  3283.          }
  3284.          if(_loc3_ is SystemManagerProxy)
  3285.          {
  3286.             _loc7_ = SystemManagerProxy(_loc3_);
  3287.             _loc8_ = mx_internal::findFocusManagerContainer(_loc7_);
  3288.             if(Boolean(_loc7_) && Boolean(_loc8_))
  3289.             {
  3290.                _loc7_.activateByProxy(_loc8_);
  3291.             }
  3292.          }
  3293.          else if(_loc3_ is IFocusManagerContainer)
  3294.          {
  3295.             IFocusManagerContainer(_loc3_).focusManager.activate();
  3296.          }
  3297.          else
  3298.          {
  3299.             if(!(_loc3_ is IEventDispatcher))
  3300.             {
  3301.                throw new Error();
  3302.             }
  3303.             _loc2_.data = _loc4_;
  3304.             _loc2_.requestor = IEventDispatcher(_loc3_);
  3305.             IEventDispatcher(_loc3_).dispatchEvent(_loc2_);
  3306.          }
  3307.       }
  3308.       
  3309.       mx_internal function rawChildren_addChildAt(param1:DisplayObject, param2:int) : DisplayObject
  3310.       {
  3311.          mx_internal::addingChild(param1);
  3312.          super.addChildAt(param1,param2);
  3313.          mx_internal::childAdded(param1);
  3314.          return param1;
  3315.       }
  3316.       
  3317.       mx_internal function initialize() : void
  3318.       {
  3319.          var _loc6_:int = 0;
  3320.          var _loc7_:int = 0;
  3321.          var _loc9_:EmbeddedFontRegistry = null;
  3322.          var _loc13_:Class = null;
  3323.          var _loc14_:Object = null;
  3324.          var _loc15_:RSLItem = null;
  3325.          if(isStageRoot)
  3326.          {
  3327.             _width = stage.stageWidth;
  3328.             _height = stage.stageHeight;
  3329.          }
  3330.          else
  3331.          {
  3332.             _width = loaderInfo.width;
  3333.             _height = loaderInfo.height;
  3334.          }
  3335.          preloader = new Preloader();
  3336.          preloader.addEventListener(FlexEvent.INIT_PROGRESS,preloader_initProgressHandler);
  3337.          preloader.addEventListener(FlexEvent.PRELOADER_DONE,preloader_preloaderDoneHandler);
  3338.          preloader.addEventListener(RSLEvent.RSL_COMPLETE,preloader_rslCompleteHandler);
  3339.          if(!_popUpChildren)
  3340.          {
  3341.             _popUpChildren = new SystemChildrenList(this,new QName(mx_internal,"noTopMostIndex"),new QName(mx_internal,"topMostIndex"));
  3342.          }
  3343.          _popUpChildren.addChild(preloader);
  3344.          var _loc1_:Array = info()["rsls"];
  3345.          var _loc2_:Array = info()["cdRsls"];
  3346.          var _loc3_:Boolean = true;
  3347.          if(info()["usePreloader"] != undefined)
  3348.          {
  3349.             _loc3_ = Boolean(info()["usePreloader"]);
  3350.          }
  3351.          var _loc4_:Class = info()["preloader"] as Class;
  3352.          if(_loc3_ && !_loc4_)
  3353.          {
  3354.             _loc4_ = DownloadProgressBar;
  3355.          }
  3356.          var _loc5_:Array = [];
  3357.          if(Boolean(_loc2_) && _loc2_.length > 0)
  3358.          {
  3359.             _loc13_ = Class(getDefinitionByName("mx.core::CrossDomainRSLItem"));
  3360.             _loc6_ = int(_loc2_.length);
  3361.             _loc7_ = 0;
  3362.             while(_loc7_ < _loc6_)
  3363.             {
  3364.                _loc14_ = new _loc13_(_loc2_[_loc7_]["rsls"],_loc2_[_loc7_]["policyFiles"],_loc2_[_loc7_]["digests"],_loc2_[_loc7_]["types"],_loc2_[_loc7_]["isSigned"],LoaderUtil.normalizeURL(this.loaderInfo));
  3365.                _loc5_.push(_loc14_);
  3366.                _loc7_++;
  3367.             }
  3368.          }
  3369.          if(_loc1_ != null && _loc1_.length > 0)
  3370.          {
  3371.             _loc6_ = int(_loc1_.length);
  3372.             _loc7_ = 0;
  3373.             while(_loc7_ < _loc6_)
  3374.             {
  3375.                _loc15_ = new RSLItem(_loc1_[_loc7_].url,LoaderUtil.normalizeURL(this.loaderInfo));
  3376.                _loc5_.push(_loc15_);
  3377.                _loc7_++;
  3378.             }
  3379.          }
  3380.          Singleton.registerClass("mx.resources::IResourceManager",Class(getDefinitionByName("mx.resources::ResourceManagerImpl")));
  3381.          var _loc8_:IResourceManager = ResourceManager.getInstance();
  3382.          Singleton.registerClass("mx.core::IEmbeddedFontRegistry",Class(getDefinitionByName("mx.core::EmbeddedFontRegistry")));
  3383.          Singleton.registerClass("mx.styles::IStyleManager",Class(getDefinitionByName("mx.styles::StyleManagerImpl")));
  3384.          Singleton.registerClass("mx.styles::IStyleManager2",Class(getDefinitionByName("mx.styles::StyleManagerImpl")));
  3385.          var _loc10_:String = loaderInfo.parameters["localeChain"];
  3386.          if(_loc10_ != null && _loc10_ != "")
  3387.          {
  3388.             _loc8_.localeChain = _loc10_.split(",");
  3389.          }
  3390.          var _loc11_:String = loaderInfo.parameters["resourceModuleURLs"];
  3391.          var _loc12_:Array = !!_loc11_ ? _loc11_.split(",") : null;
  3392.          preloader.initialize(_loc3_,_loc4_,preloaderBackgroundColor,preloaderBackgroundAlpha,preloaderBackgroundImage,preloaderBackgroundSize,isStageRoot ? stage.stageWidth : loaderInfo.width,isStageRoot ? stage.stageHeight : loaderInfo.height,null,null,_loc5_,_loc12_);
  3393.       }
  3394.       
  3395.       public function useSWFBridge() : Boolean
  3396.       {
  3397.          var sbRoot:DisplayObject;
  3398.          if(isStageRoot)
  3399.          {
  3400.             return false;
  3401.          }
  3402.          if(!mx_internal::topLevel && Boolean(topLevelSystemManager))
  3403.          {
  3404.             return topLevelSystemManager.useSWFBridge();
  3405.          }
  3406.          sbRoot = getSandboxRoot();
  3407.          if(mx_internal::topLevel && sbRoot != this)
  3408.          {
  3409.             return true;
  3410.          }
  3411.          if(sbRoot == this)
  3412.          {
  3413.             try
  3414.             {
  3415.                root.loaderInfo.parentAllowsChild;
  3416.                if(!(parentAllowsChild && childAllowsParent))
  3417.                {
  3418.                   return true;
  3419.                }
  3420.                try
  3421.                {
  3422.                   if(!parent.dispatchEvent(new Event("mx.managers.SystemManager.isStageRoot",false,true)))
  3423.                   {
  3424.                      return true;
  3425.                   }
  3426.                }
  3427.                catch(e:Error)
  3428.                {
  3429.                }
  3430.             }
  3431.             catch(e1:Error)
  3432.             {
  3433.                return false;
  3434.             }
  3435.          }
  3436.          return false;
  3437.       }
  3438.       
  3439.       mx_internal function childRemoved(param1:DisplayObject) : void
  3440.       {
  3441.          if(param1 is IUIComponent)
  3442.          {
  3443.             IUIComponent(param1).parentChanged(null);
  3444.          }
  3445.       }
  3446.       
  3447.       final mx_internal function $removeChildAt(param1:int) : DisplayObject
  3448.       {
  3449.          return super.removeChildAt(param1);
  3450.       }
  3451.       
  3452.       private function canActivatePopUp(param1:Object) : Boolean
  3453.       {
  3454.          var _loc2_:RemotePopUp = null;
  3455.          var _loc3_:SWFBridgeRequest = null;
  3456.          if(isRemotePopUp(param1))
  3457.          {
  3458.             _loc2_ = RemotePopUp(param1);
  3459.             _loc3_ = new SWFBridgeRequest(SWFBridgeRequest.CAN_ACTIVATE_POP_UP_REQUEST,false,false,null,_loc2_.window);
  3460.             IEventDispatcher(_loc2_.bridge).dispatchEvent(_loc3_);
  3461.             return _loc3_.data;
  3462.          }
  3463.          if(canActivateLocalComponent(param1))
  3464.          {
  3465.             return true;
  3466.          }
  3467.          return false;
  3468.       }
  3469.       
  3470.       mx_internal function get noTopMostIndex() : int
  3471.       {
  3472.          return _noTopMostIndex;
  3473.       }
  3474.       
  3475.       override public function get numChildren() : int
  3476.       {
  3477.          return mx_internal::noTopMostIndex - mx_internal::applicationIndex;
  3478.       }
  3479.       
  3480.       private function canActivateLocalComponent(param1:Object) : Boolean
  3481.       {
  3482.          if(param1 is Sprite && param1 is IUIComponent && Sprite(param1).visible && IUIComponent(param1).enabled)
  3483.          {
  3484.             return true;
  3485.          }
  3486.          return false;
  3487.       }
  3488.       
  3489.       private function preloader_preloaderDoneHandler(param1:Event) : void
  3490.       {
  3491.          var _loc2_:IUIComponent = mx_internal::topLevelWindow;
  3492.          preloader.removeEventListener(FlexEvent.PRELOADER_DONE,preloader_preloaderDoneHandler);
  3493.          preloader.removeEventListener(RSLEvent.RSL_COMPLETE,preloader_rslCompleteHandler);
  3494.          _popUpChildren.removeChild(preloader);
  3495.          preloader = null;
  3496.          mouseCatcher = new FlexSprite();
  3497.          mouseCatcher.name = "mouseCatcher";
  3498.          ++mx_internal::noTopMostIndex;
  3499.          super.addChildAt(mouseCatcher,0);
  3500.          resizeMouseCatcher();
  3501.          if(!mx_internal::topLevel)
  3502.          {
  3503.             mouseCatcher.visible = false;
  3504.             mask = mouseCatcher;
  3505.          }
  3506.          ++mx_internal::noTopMostIndex;
  3507.          super.addChildAt(DisplayObject(_loc2_),1);
  3508.          _loc2_.dispatchEvent(new FlexEvent(FlexEvent.APPLICATION_COMPLETE));
  3509.          dispatchEvent(new FlexEvent(FlexEvent.APPLICATION_COMPLETE));
  3510.       }
  3511.       
  3512.       private function initializeTopLevelWindow(param1:Event) : void
  3513.       {
  3514.          var _loc2_:IUIComponent = null;
  3515.          var _loc3_:DisplayObjectContainer = null;
  3516.          var _loc4_:ISystemManager = null;
  3517.          var _loc5_:DisplayObject = null;
  3518.          initialized = true;
  3519.          if(!parent && parentAllowsChild)
  3520.          {
  3521.             return;
  3522.          }
  3523.          if(!mx_internal::topLevel)
  3524.          {
  3525.             if(!parent)
  3526.             {
  3527.                return;
  3528.             }
  3529.             _loc3_ = parent.parent;
  3530.             if(!_loc3_)
  3531.             {
  3532.                return;
  3533.             }
  3534.             while(_loc3_)
  3535.             {
  3536.                if(_loc3_ is IUIComponent)
  3537.                {
  3538.                   _loc4_ = IUIComponent(_loc3_).systemManager;
  3539.                   if((Boolean(_loc4_)) && !_loc4_.isTopLevel())
  3540.                   {
  3541.                      _loc4_ = _loc4_.topLevelSystemManager;
  3542.                   }
  3543.                   _topLevelSystemManager = _loc4_;
  3544.                   break;
  3545.                }
  3546.                _loc3_ = _loc3_.parent;
  3547.             }
  3548.          }
  3549.          if(isTopLevelRoot() || getSandboxRoot() == this)
  3550.          {
  3551.             addEventListener(MouseEvent.MOUSE_DOWN,mouseDownHandler,true);
  3552.          }
  3553.          if(isTopLevelRoot() && Boolean(stage))
  3554.          {
  3555.             stage.addEventListener(Event.RESIZE,Stage_resizeHandler,false,0,true);
  3556.          }
  3557.          else if(mx_internal::topLevel && Boolean(stage))
  3558.          {
  3559.             _loc5_ = getSandboxRoot();
  3560.             if(_loc5_ != this)
  3561.             {
  3562.                _loc5_.addEventListener(Event.RESIZE,Stage_resizeHandler,false,0,true);
  3563.             }
  3564.          }
  3565.          document = _loc2_ = mx_internal::topLevelWindow = IUIComponent(create());
  3566.          if(document)
  3567.          {
  3568.             IEventDispatcher(_loc2_).addEventListener(FlexEvent.CREATION_COMPLETE,appCreationCompleteHandler);
  3569.             if(!LoaderConfig.mx_internal::_url)
  3570.             {
  3571.                LoaderConfig.mx_internal::_url = loaderInfo.url;
  3572.                LoaderConfig.mx_internal::_parameters = loaderInfo.parameters;
  3573.                LoaderConfig.mx_internal::_swfVersion = loaderInfo.swfVersion;
  3574.             }
  3575.             if(isStageRoot && Boolean(stage))
  3576.             {
  3577.                _width = stage.stageWidth;
  3578.                _height = stage.stageHeight;
  3579.                IFlexDisplayObject(_loc2_).setActualSize(_width,_height);
  3580.             }
  3581.             else
  3582.             {
  3583.                IFlexDisplayObject(_loc2_).setActualSize(loaderInfo.width,loaderInfo.height);
  3584.             }
  3585.             if(preloader)
  3586.             {
  3587.                preloader.registerApplication(_loc2_);
  3588.             }
  3589.             mx_internal::addingChild(DisplayObject(_loc2_));
  3590.             mx_internal::childAdded(DisplayObject(_loc2_));
  3591.          }
  3592.          else
  3593.          {
  3594.             document = this;
  3595.          }
  3596.       }
  3597.       
  3598.       final mx_internal function $addChildAt(param1:DisplayObject, param2:int) : DisplayObject
  3599.       {
  3600.          return super.addChildAt(param1,param2);
  3601.       }
  3602.       
  3603.       private function stageEventHandler(param1:Event) : void
  3604.       {
  3605.          if(param1.target is Stage && Boolean(mouseCatcher))
  3606.          {
  3607.             mouseCatcher.dispatchEvent(param1);
  3608.          }
  3609.       }
  3610.       
  3611.       private function nextFrameTimerHandler(param1:TimerEvent) : void
  3612.       {
  3613.          if(currentFrame + 1 <= framesLoaded)
  3614.          {
  3615.             nextFrame();
  3616.             nextFrameTimer.removeEventListener(TimerEvent.TIMER,nextFrameTimerHandler);
  3617.             nextFrameTimer.reset();
  3618.          }
  3619.       }
  3620.       
  3621.       mx_internal function get bridgeToFocusManager() : Dictionary
  3622.       {
  3623.          if(mx_internal::topLevel)
  3624.          {
  3625.             return _bridgeToFocusManager;
  3626.          }
  3627.          if(topLevelSystemManager)
  3628.          {
  3629.             return SystemManager(topLevelSystemManager).mx_internal::bridgeToFocusManager;
  3630.          }
  3631.          return null;
  3632.       }
  3633.       
  3634.       public function get numModalWindows() : int
  3635.       {
  3636.          return _numModalWindows;
  3637.       }
  3638.       
  3639.       private function areFormsEqual(param1:Object, param2:Object) : Boolean
  3640.       {
  3641.          if(param1 == param2)
  3642.          {
  3643.             return true;
  3644.          }
  3645.          if(param1 is RemotePopUp && param2 is RemotePopUp)
  3646.          {
  3647.             return areRemotePopUpsEqual(param1,param2);
  3648.          }
  3649.          return false;
  3650.       }
  3651.       
  3652.       public function isTopLevelWindow(param1:DisplayObject) : Boolean
  3653.       {
  3654.          return param1 is IUIComponent && IUIComponent(param1) == mx_internal::topLevelWindow;
  3655.       }
  3656.       
  3657.       private function removePlaceholderId(param1:String) : void
  3658.       {
  3659.          delete idToPlaceholder[param1];
  3660.       }
  3661.       
  3662.       mx_internal function dispatchActivatedWindowEvent(param1:DisplayObject) : void
  3663.       {
  3664.          var _loc3_:DisplayObject = null;
  3665.          var _loc4_:* = false;
  3666.          var _loc5_:SWFBridgeEvent = null;
  3667.          var _loc2_:IEventDispatcher = !!swfBridgeGroup ? swfBridgeGroup.parentBridge : null;
  3668.          if(_loc2_)
  3669.          {
  3670.             _loc3_ = getSandboxRoot();
  3671.             _loc4_ = _loc3_ != this;
  3672.             _loc5_ = new SWFBridgeEvent(SWFBridgeEvent.BRIDGE_WINDOW_ACTIVATE,false,false,{
  3673.                "notifier":_loc2_,
  3674.                "window":(_loc4_ ? param1 : NameUtil.displayObjectToString(param1))
  3675.             });
  3676.             if(_loc4_)
  3677.             {
  3678.                _loc3_.dispatchEvent(_loc5_);
  3679.             }
  3680.             else
  3681.             {
  3682.                _loc2_.dispatchEvent(_loc5_);
  3683.             }
  3684.          }
  3685.       }
  3686.       
  3687.       override public function get width() : Number
  3688.       {
  3689.          return _width;
  3690.       }
  3691.       
  3692.       private function dispatchActivatedApplicationEvent() : void
  3693.       {
  3694.          var _loc2_:SWFBridgeEvent = null;
  3695.          var _loc1_:IEventDispatcher = !!swfBridgeGroup ? swfBridgeGroup.parentBridge : null;
  3696.          if(_loc1_)
  3697.          {
  3698.             _loc2_ = new SWFBridgeEvent(SWFBridgeEvent.BRIDGE_APPLICATION_ACTIVATE,false,false);
  3699.             _loc1_.dispatchEvent(_loc2_);
  3700.          }
  3701.       }
  3702.       
  3703.       private function otherSystemManagerMouseListener(param1:SandboxMouseEvent) : void
  3704.       {
  3705.          if(SystemManagerGlobals.dispatchingEventToOtherSystemManagers)
  3706.          {
  3707.             return;
  3708.          }
  3709.          dispatchEventFromSWFBridges(param1);
  3710.          var _loc2_:InterManagerRequest = new InterManagerRequest(InterManagerRequest.SYSTEM_MANAGER_REQUEST);
  3711.          _loc2_.name = "sameSandbox";
  3712.          _loc2_.value = param1;
  3713.          getSandboxRoot().dispatchEvent(_loc2_);
  3714.          if(!_loc2_.value)
  3715.          {
  3716.             dispatchEvent(param1);
  3717.          }
  3718.       }
  3719.       
  3720.       private function hideMouseCursorRequestHandler(param1:Event) : void
  3721.       {
  3722.          var _loc3_:IEventDispatcher = null;
  3723.          if(!isTopLevelRoot() && param1 is SWFBridgeRequest)
  3724.          {
  3725.             return;
  3726.          }
  3727.          var _loc2_:SWFBridgeRequest = SWFBridgeRequest.marshal(param1);
  3728.          if(!isTopLevelRoot())
  3729.          {
  3730.             _loc3_ = swfBridgeGroup.parentBridge;
  3731.             _loc2_.requestor = _loc3_;
  3732.             _loc3_.dispatchEvent(_loc2_);
  3733.          }
  3734.          else if(eventProxy)
  3735.          {
  3736.             SystemManagerGlobals.showMouseCursor = false;
  3737.          }
  3738.       }
  3739.       
  3740.       private function getTopLevelSystemManager(param1:DisplayObject) : ISystemManager
  3741.       {
  3742.          var _loc3_:ISystemManager = null;
  3743.          var _loc2_:DisplayObjectContainer = DisplayObjectContainer(param1.root);
  3744.          if((!_loc2_ || _loc2_ is Stage) && param1 is IUIComponent)
  3745.          {
  3746.             _loc2_ = DisplayObjectContainer(IUIComponent(param1).systemManager);
  3747.          }
  3748.          if(_loc2_ is ISystemManager)
  3749.          {
  3750.             _loc3_ = ISystemManager(_loc2_);
  3751.             if(!_loc3_.isTopLevel())
  3752.             {
  3753.                _loc3_ = _loc3_.topLevelSystemManager;
  3754.             }
  3755.          }
  3756.          return _loc3_;
  3757.       }
  3758.       
  3759.       public function isDisplayObjectInABridgedApplication(param1:DisplayObject) : Boolean
  3760.       {
  3761.          return getSWFBridgeOfDisplayObject(param1) != null;
  3762.       }
  3763.       
  3764.       public function move(param1:Number, param2:Number) : void
  3765.       {
  3766.       }
  3767.       
  3768.       public function set explicitWidth(param1:Number) : void
  3769.       {
  3770.          _explicitWidth = param1;
  3771.       }
  3772.       
  3773.       public function get parentAllowsChild() : Boolean
  3774.       {
  3775.          try
  3776.          {
  3777.             return loaderInfo.parentAllowsChild;
  3778.          }
  3779.          catch(error:Error)
  3780.          {
  3781.          }
  3782.          return false;
  3783.       }
  3784.       
  3785.       private function preloader_initProgressHandler(param1:Event) : void
  3786.       {
  3787.          preloader.removeEventListener(FlexEvent.INIT_PROGRESS,preloader_initProgressHandler);
  3788.          deferredNextFrame();
  3789.       }
  3790.       
  3791.       private function mouseLeaveHandler(param1:Event) : void
  3792.       {
  3793.          dispatchEvent(new SandboxMouseEvent(SandboxMouseEvent.MOUSE_UP_SOMEWHERE));
  3794.       }
  3795.       
  3796.       public function get explicitWidth() : Number
  3797.       {
  3798.          return _explicitWidth;
  3799.       }
  3800.       
  3801.       private function activateFormSandboxEventHandler(param1:Event) : void
  3802.       {
  3803.          var _loc2_:SWFBridgeEvent = SWFBridgeEvent.marshal(param1);
  3804.          if(!forwardFormEvent(_loc2_))
  3805.          {
  3806.             activateForm(new RemotePopUp(_loc2_.data.window,_loc2_.data.notifier));
  3807.          }
  3808.       }
  3809.       
  3810.       mx_internal function rawChildren_addChild(param1:DisplayObject) : DisplayObject
  3811.       {
  3812.          mx_internal::addingChild(param1);
  3813.          super.addChild(param1);
  3814.          mx_internal::childAdded(param1);
  3815.          return param1;
  3816.       }
  3817.    }
  3818. }
  3819.  
  3820.