home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2011 May / ME_2011_05.iso / Galileo-Video-Tutorial / system / player.swf / scripts / mdm_resolver.as < prev    next >
Encoding:
Text File  |  2010-11-30  |  72.1 KB  |  1,837 lines

  1. package
  2. {
  3.    import flash.display.MovieClip;
  4.    import flash.display.Sprite;
  5.    import flash.events.*;
  6.    import flash.external.*;
  7.    import flash.net.SharedObject;
  8.    import flash.net.XMLSocket;
  9.    import flash.system.*;
  10.    import flash.utils.*;
  11.    import mdm.*;
  12.    
  13.    use namespace flash_proxy;
  14.    
  15.    public dynamic class mdm_resolver extends Proxy
  16.    {
  17.       private static var m_properties:Object;
  18.       
  19.       protected static var m_macSocket:XMLSocket;
  20.       
  21.       public static var m_spr:Sprite;
  22.       
  23.       private static var m_doneInit:Boolean = false;
  24.       
  25.       protected static var m_strFormID:String = "!}id}!";
  26.       
  27.       protected static var m_macPort:int = -1;
  28.       
  29.       protected static var m_events:Object = new Object();
  30.       
  31.       protected static var m_eventsCallbackType:Object = new Object();
  32.       
  33.       private static var m_cbID:int = 0;
  34.       
  35.       protected static var m_dynFTP:Object = new Object();
  36.       
  37.       protected static var m_dynHTTP:Object = new Object();
  38.       
  39.       protected static var m_dynMP6:Object = new Object();
  40.       
  41.       protected static var m_dynMP9:Object = new Object();
  42.       
  43.       protected static var m_dynBrowsers:Object = new Object();
  44.       
  45.       protected static var m_bSimulate:Boolean = false;
  46.       
  47.       private static var m_cmdCounter:int = 0;
  48.       
  49.       private static var m_strURL:String = null;
  50.       
  51.       public static var ids:int = 0;
  52.       
  53.       private static var m_bTestedEI:Boolean = false;
  54.       
  55.       private static var m_bHaveEI:Boolean = false;
  56.       
  57.       private var m_strClassName:String = null;
  58.       
  59.       private var strPropsMac:String = "Application<{!!z!!}>path<{z}>string<{z}>ppsv<{z}>Macintosh HD:<{!z!}>pathUnix<{z}>string<{z}>ppsv<{z}>/<{!z!}>openedFilename<{z}>string<{z}>get<{z}><{!z!}>openedFilenameUnix<{z}>string<{z}>get<{z}><{!z!}>filename<{z}>string<{z}>ppsv<{z}>Macintosh HD:Users:<{!z!}>filenameUnix<{z}>string<{z}>ppsv<{z}>/Users/Contents/MacOS/files<{!z!}><{!z!!}>System<{!!z!!}>screenWidth<{z}>string<{z}>ppsv<{z}>1024<{!z!}>screenHeight<{z}>string<{z}>ppsv<{z}>768<{!z!}>localTime<{z}>string<{z}>get<{z}><{!z!}>macVerString<{z}>string<{z}>ppsv<{z}>Mac OS X 10.4.7<{!z!}><{!z!!}>System.Paths<{!!z!!}>fonts<{z}>string<{z}>ppsv<{z}>Macintosh HD:System:Library:Fonts:<{!z!}>desktop<{z}>string<{z}>ppsv<{z}>Macintosh HD:Users:user:Desktop:<{!z!}>temp<{z}>string<{z}>ppsv<{z}>Macintosh HD:private:var:tmp:folders.501:TemporaryItems:<{!z!}>desktopUnix<{z}>string<{z}>ppsv<{z}>/Users/user/Desktop<{!z!}>tempUnix<{z}>string<{z}>ppsv<{z}>/private/var/tmp/folders.501/TemporaryItems<{!z!}>fontsUnix<{z}>string<{z}>ppsv<{z}>/System/Library/Fonts<{!z!}>preferences<{z}>string<{z}>ppsv<{z}>Macintosh HD:Users:user:Library:Preferences:<{!z!}>preferencesUnix<{z}>string<{z}>ppsv<{z}>/Users/user/Library/Preferences<{!z!}><{!z!!}>MacShell<{!!z!!}>exitCode<{z}>string<{z}>get<{z}> <{!z!}>output<{z}>string<{z}>get<{z}> <{!z!}>isRunning<{z}>boolean<{z}>get<{z}> <{!z!}><{!z!!}>AppleScript<{!!z!!}><{!z!!}>Application.Library<{!!z!!}><{!z!!}>Encryption<{!!z!!}><{!z!!}>Network.Mail<{!!z!!}><{!z!!}>Image<{!!z!!}><{!z!!}>Dialogs<{!!z!!}><{!z!!}>Image.ScreenCapture<{!!z!!}><{!z!!}>Database<{!!z!!}><{!z!!}>Database.MySQL<{!!z!!}><{!z!!}>Exception<{!!z!!}><{!z!!}>Input<{!!z!!}><{!z!!}>Input.Mouse<{!!z!!}><{!z!!}>Dialogs.BrowseFolder<{!!z!!}>defaultDirectory<{z}>string<{z}>getset<{z}> <{!z!}>title<{z}>string<{z}>getset<{z}> <{!z!}><{!z!!}>Dialogs.BrowseFile<{!!z!!}>defaultDirectory<{z}>string<{z}>getset<{z}> <{!z!}>filterList<{z}>string<{z}>getset<{z}> <{!z!}>title<{z}>string<{z}>getset<{z}> <{!z!}>creatorCode<{z}>string<{z}>getset<{z}> <{!z!}>buttonText<{z}>string<{z}>getset<{z}> <{!z!}>dialogText<{z}>string<{z}>getset<{z}> <{!z!}>allowMultiple<{z}>boolean<{z}>getset<{z}> <{!z!}><{!z!!}>Dialogs.BrowseFileToSave<{!!z!!}>defaultDirectory<{z}>string<{z}>getset<{z}> <{!z!}>title<{z}>string<{z}>getset<{z}> <{!z!}>creatorCode<{z}>string<{z}>getset<{z}> <{!z!}><{!z!!}>Menu.Main<{!!z!!}>menuType<{z}>string<{z}>getset<{z}> <{!z!}><{!z!!}>Network<{!!z!!}>IPAddress<{z}>string<{z}>getset<{z}> <{!z!}>isPresent<{z}>string<{z}>ppsv<{z}>true<{!z!}><{!z!!}>FileSystem<{!!z!!}><{!z!!}>@Browser<{!!z!!}>id<{z}>integer<{z}>set<{z}>-1<{!z!}>width<{z}>integer<{z}>getset<{z}>300<{!z!}>height<{z}>integer<{z}>getset<{z}>200<{!z!}>x<{z}>integer<{z}>getset<{z}>0<{!z!}>y<{z}>integer<{z}>getset<{z}>0<{!z!}>url<{z}>string<{z}>getset<{z}>0<{!z!}>visible<{z}>boolean<{z}>getset<{z}>true<{!z!}>source<{z}>string<{z}>getset<{z}>0<{!z!}>title<{z}>string<{z}>get<{z}>0<{!z!}>isBusy<{z}>boolean<{z}>get<{z}>false<{!z!}>favorites<{z}>array<{z}>get<{z}>[]<{!z!}>useragent<{z}>string<{z}>set<{z}>0<{!z!}><{!z!!}>@Forms<{!!z!!}>id<{z}>string<{z}>@set<{z}>0<{!z!}>type<{z}>string<{z}>@set<{z}>standard<{!z!}>isCreated<{z}>string<{z}>getset<{!z!}>x<{z}>string<{z}>getset<{!z!}>y<{z}>string<{z}>getset<{!z!}>width<{z}>string<{z}>getset<{!z!}>height<{z}>string<{z}>getset<{!z!}>title<{z}>string<{z}>getset<{!z!}>visible<{z}>boolean<{z}>getset<{!z!}><{!z!!}>@HTTP<{!!z!!}>id<{z}>integer<{z}>set<{z}>-1<{!z!}><{!z!!}>";
  60.       
  61.       protected var m_dynEvents:Object;
  62.       
  63.       private var strProps:String = "Extensions<{!!z!!}><{!z!!}>Extensions.kernel32<{!!z!!}><{!z!!}>GlobalVariables<{!!z!!}><{z}>string<{z}>ppsv<{z}><{!z!}><{!z!!}>@Browser<{!!z!!}>id<{z}>integer<{z}>set<{z}>-1<{!z!}>width<{z}>integer<{z}>getset<{z}>300<{!z!}>height<{z}>integer<{z}>getset<{z}>200<{!z!}>x<{z}>integer<{z}>getset<{z}>0<{!z!}>y<{z}>integer<{z}>getset<{z}>0<{!z!}>url<{z}>string<{z}>getset<{z}>0<{!z!}>visible<{z}>boolean<{z}>getset<{z}>true<{!z!}>source<{z}>string<{z}>getset<{z}>0<{!z!}>title<{z}>string<{z}>get<{z}>0<{!z!}>isBusy<{z}>boolean<{z}>get<{z}>false<{!z!}>favorites<{z}>array<{z}>get<{z}>[]<{!z!}>useragent<{z}>string<{z}>set<{z}>0<{!z!}><{!z!!}>@ActiveX<{!!z!!}>id<{z}>integer<{z}>set<{z}>-1<{!z!}>width<{z}>integer<{z}>getset<{z}>300<{!z!}>height<{z}>integer<{z}>getset<{z}>200<{!z!}>x<{z}>integer<{z}>getset<{z}>0<{!z!}>y<{z}>integer<{z}>getset<{z}>0<{!z!}>visible<{z}>boolean<{z}>getset<{z}>true<{!z!}><{!z!!}>@MediaPlayer6<{!!z!!}>id<{z}>integer<{z}>set<{z}>-1<{!z!}>width<{z}>integer<{z}>getset<{z}>300<{!z!}>height<{z}>integer<{z}>getset<{z}>200<{!z!}>x<{z}>integer<{z}>getset<{z}>0<{!z!}>y<{z}>integer<{z}>getset<{z}>0<{!z!}>visible<{z}>boolean<{z}>getset<{z}>true<{!z!}>duration<{z}>string<{z}>getset<{z}>0<{!z!}>position<{z}>string<{z}>getset<{z}>0<{!z!}>balance<{z}>string<{z}>getset<{z}>0<{!z!}>volume<{z}>string<{z}>getset<{z}>0<{!z!}>isInstalled<{z}>boolean<{z}>getset<{z}>true<{!z!}>canSeek<{z}>boolean<{z}>getset<{z}>false<{!z!}>canScan<{z}>boolean<{z}>getset<{z}>false<{!z!}><{!z!!}>@MediaPlayer9<{!!z!!}>id<{z}>integer<{z}>set<{z}>-1<{!z!}>width<{z}>integer<{z}>getset<{z}>300<{!z!}>height<{z}>integer<{z}>getset<{z}>200<{!z!}>x<{z}>integer<{z}>getset<{z}>0<{!z!}>y<{z}>integer<{z}>getset<{z}>0<{!z!}>visible<{z}>boolean<{z}>getset<{z}>0<{!z!}>duration<{z}>string<{z}>getset<{z}>0<{!z!}>position<{z}>string<{z}>getset<{z}>0<{!z!}>currentMarker<{z}>string<{z}>getset<{z}>0<{!z!}>volume<{z}>string<{z}>getset<{z}>0<{!z!}>balance<{z}>string<{z}>getset<{z}>0<{!z!}>markerCount<{z}>string<{z}>getset<{z}>0<{!z!}>source<{z}>string<{z}>getset<{z}>0<{!z!}>mediaName<{z}>string<{z}>getset<{z}>0<{!z!}>mediaWidth<{z}>string<{z}>getset<{z}>0<{!z!}>mediaHeight<{z}>string<{z}>getset<{z}>0<{!z!}>isInstalled<{z}>boolean<{z}>getset<{z}>0<{!z!}>canSeek<{z}>boolean<{z}>getset<{z}>false<{!z!}>canScan<{z}>boolean<{z}>getset<{z}>false<{!z!}><{!z!!}>@QuickTime<{!!z!!}>id<{z}>integer<{z}>set<{z}>-1<{!z!}>width<{z}>integer<{z}>getset<{z}>300<{!z!}>height<{z}>integer<{z}>getset<{z}>200<{!z!}>x<{z}>integer<{z}>getset<{z}>0<{!z!}>y<{z}>integer<{z}>getset<{z}>0<{!z!}>visible<{z}>boolean<{z}>getset<{z}>0<{!z!}>duration<{z}>string<{z}>getset<{z}>0<{!z!}>position<{z}>string<{z}>getset<{z}>0<{!z!}>isInstalled<{z}>boolean<{z}>getset<{z}>0<{!z!}><{!z!!}>@RealMedia<{!!z!!}>id<{z}>integer<{z}>set<{z}>-1<{!z!}>width<{z}>integer<{z}>getset<{z}>300<{!z!}>height<{z}>integer<{z}>getset<{z}>200<{!z!}>x<{z}>integer<{z}>getset<{z}>0<{!z!}>y<{z}>integer<{z}>getset<{z}>0<{!z!}>visible<{z}>boolean<{z}>getset<{z}>0<{!z!}>duration<{z}>string<{z}>getset<{z}>0<{!z!}>position<{z}>string<{z}>getset<{z}>0<{!z!}>isInstalled<{z}>boolean<{z}>getset<{z}>0<{!z!}><{!z!!}>@Shockwave<{!!z!!}>id<{z}>integer<{z}>set<{z}>-1<{!z!}>width<{z}>integer<{z}>getset<{z}>300<{!z!}>height<{z}>integer<{z}>getset<{z}>200<{!z!}>x<{z}>integer<{z}>getset<{z}>0<{!z!}>y<{z}>integer<{z}>getset<{z}>0<{!z!}>visible<{z}>boolean<{z}>getset<{z}>0<{!z!}>bgcolor<{z}>string<{z}>getset<{z}>0<{!z!}>currentFrame<{z}>string<{z}>getset<{z}>0<{!z!}><{!z!!}>@PDF7<{!!z!!}>id<{z}>integer<{z}>set<{z}>-1<{!z!}>width<{z}>integer<{z}>getset<{z}>300<{!z!}>height<{z}>integer<{z}>getset<{z}>200<{!z!}>x<{z}>integer<{z}>getset<{z}>0<{!z!}>y<{z}>integer<{z}>getset<{z}>0<{!z!}>visible<{z}>boolean<{z}>getset<{z}>0<{!z!}>scrollbars<{z}>string<{z}>getset<{z}>0<{!z!}>toolbar<{z}>string<{z}>getset<{z}>0<{!z!}><{!z!!}>@PDF6<{!!z!!}>id<{z}>integer<{z}>set<{z}>-1<{!z!}>width<{z}>integer<{z}>getset<{z}>300<{!z!}>height<{z}>integer<{z}>getset<{z}>200<{!z!}>x<{z}>integer<{z}>getset<{z}>0<{!z!}>y<{z}>integer<{z}>getset<{z}>0<{!z!}>visible<{z}>boolean<{z}>getset<{z}>0<{!z!}>scrollbars<{z}>string<{z}>getset<{z}>0<{!z!}>toolbar<{z}>string<{z}>getset<{z}>0<{!z!}><{!z!!}>Application<{!!z!!}>title<{z}>string<{z}>getset<{z}> <{!z!}>isMinimized<{z}>boolean<{z}>get<{z}> <{!z!}>path<{z}>string<{z}>ppsv<{z}>C:\\projects\\fsp2.0\\fsp2.0wrap_newtrans\\<{!z!}>pathUnicode<{z}>string<{z}>ppsv<{z}>C:projects\fsp2.0\fsp2.0wrap_newtrans<{!z!}>filename<{z}>string<{z}>ppsv<{z}>fwrapper.exe<{!z!}>filenameUnicode<{z}>string<{z}>ppsv<{z}>fwrapper.exe<{!z!}><{!z!!}>Application.Screensaver<{!!z!!}><{!z!!}>System<{!!z!!}>localTime<{z}>string<{z}>getset<{z}> <{!z!}>CPUSpeed<{z}>string<{z}>getset<{z}> <{!z!}>RAMSize<{z}>string<{z}>getset<{z}> <{!z!}>screenWidth<{z}>string<{z}>ppsv<{z}>1280<{!z!}>screenHeight<{z}>string<{z}>ppsv<{z}>1024<{!z!}>computerName<{z}>string<{z}>ppsv<{z}>STAV<{!z!}>computerCompany<{z}>string<{z}>ppsv<{z}><{!z!}>computerOwner<{z}>string<{z}>ppsv<{z}> <{!z!}>winVerString<{z}>string<{z}>ppsv<{z}>Windows XP<{!z!}>language<{z}>string<{z}>ppsv<{z}>English (United Kingdom)<{!z!}>winVerStringDetail<{z}>string<{z}>ppsv<{z}>Microsoft Windows XP Professional<{!z!}>osVersion<{z}>string<{z}>getset<{z}> <{!z!}>CDDrive<{z}>string<{z}>getset<{z}> <{!z!}>servicePack<{z}>string<{z}>ppsv<{z}>Service Pack 2<{!z!}>isAdmin<{z}>boolean<{z}>ppsv<{z}>true<{!z!}><{!z!!}>System.Paths<{!!z!!}>programs<{z}>string<{z}>ppsv<{z}>C:Documents and SettingsOwnerStart MenuPrograms<{!z!}>programFiles<{z}>string<{z}>ppsv<{z}>C:Program Files<{!z!}>windows<{z}>string<{z}>ppsv<{z}>C:WINDOWS<{!z!}>system<{z}>string<{z}>ppsv<{z}>C:WINDOWSsystem32<{!z!}>temp<{z}>string<{z}>ppsv<{z}>C:DOCUME~1OwnerLOCALS~1Temp<{!z!}>desktop<{z}>string<{z}>ppsv<{z}>C:Documents and SettingsOwnerDesktop<{!z!}>personal<{z}>string<{z}>ppsv<{z}>C:Documents and SettingsOwnerMy Documents<{!z!}>favorites<{z}>string<{z}>ppsv<{z}>C:Documents and SettingsOwnerFavorites<{!z!}>startup<{z}>string<{z}>ppsv<{z}>C:Documents and SettingsOwnerStart MenuProgramsStartup<{!z!}>recent<{z}>string<{z}>ppsv<{z}>C:Documents and SettingsOwnerRecent<{!z!}>fonts<{z}>string<{z}>ppsv<{z}>C:WINDOWSFonts<{!z!}>history<{z}>string<{z}>ppsv<{z}>C:Documents and SettingsOwnerLocal SettingsHistory<{!z!}>cookies<{z}>string<{z}>ppsv<{z}>C:Documents and SettingsOwnerCookies<{!z!}>network<{z}>string<{z}>ppsv<{z}>C:Documents and SettingsOwnerNetHood<{!z!}>startMenu<{z}>string<{z}>ppsv<{z}>C:Documents and SettingsOwnerStart Menu<{!z!}>appData<{z}>string<{z}>ppsv<{z}>C:Documents and SettingsOwnerApplication Data<{!z!}>commonAdminTools<{z}>string<{z}>ppsv<{z}>C:Documents and SettingsAll UsersStart MenuProgramsAdministrative Tools<{!z!}>commonAppData<{z}>string<{z}>ppsv<{z}>C:Documents and SettingsAll UsersApplication Data<{!z!}>commonPrograms<{z}>string<{z}>ppsv<{z}>C:Documents and SettingsAll UsersStart MenuPrograms<{!z!}>commonStartMenu<{z}>string<{z}>ppsv<{z}>C:Documents and SettingsAll UsersStart Menu<{!z!}>commonStartup<{z}>string<{z}>ppsv<{z}>C:Documents and SettingsAll UsersStart MenuProgramsStartup<{!z!}>allUsersAppData<{z}>string<{z}>ppsv<{z}>C:Documents and SettingsAll UsersApplication Data<{!z!}>allUsersPrograms<{z}>string<{z}>ppsv<{z}>C:Documents and SettingsAll UsersStart MenuPrograms<{!z!}>allUsersStartMenu<{z}>string<{z}>ppsv<{z}>C:Documents and SettingsAll UsersStart Menu<{!z!}>allUsersStartup<{z}>string<{z}>ppsv<{z}>C:Documents and SettingsAll UsersStart MenuProgramsStartup<{!z!}><{!z!!}>Dialogs.BrowseFile<{!!z!!}>defaultDirectory<{z}>string<{z}>getset<{z}> <{!z!}>title<{z}>string<{z}>getset<{z}> <{!z!}>filterList<{z}>string<{z}>getset<{z}> <{!z!}>defaultExtension<{z}>string<{z}>getset<{z}> <{!z!}>buttonText<{z}>string<{z}>getset<{z}> <{!z!}>filterText<{z}>string<{z}>getset<{z}> <{!z!}>defaultFilename<{z}>string<{z}>getset<{z}> <{!z!}>allowMultiple<{z}>boolean<{z}>getset<{z}> <{!z!}><{!z!!}>Dialogs<{!z!!}>Dialogs.BrowseFileUnicode<{!!z!!}>defaultDirectory<{z}>string<{z}>getset<{z}> <{!z!}>title<{z}>string<{z}>getset<{z}> <{!z!}>filterList<{z}>string<{z}>getset<{z}> <{!z!}>defaultExtension<{z}>string<{z}>getset<{z}> <{!z!}>defaultFilename<{z}>string<{z}>getset<{z}> <{!z!}>allowMultiple<{z}>boolean<{z}>getset<{z}> <{!z!}><{!z!!}>Menu<{!!z!!}><{!z!!}>Menu.Tray<{!!z!!}>iconHint<{z}>string<{z}>set<{z}> <{!z!}>menuType<{z}>string<{z}>set<{z}> <{!z!}><{!z!!}>Menu.Main<{!!z!!}>menuType<{z}>string<{z}>set<{z}> <{!z!}><{!z!!}>Menu.Context<{!!z!!}>menuType<{z}>string<{z}>set<{z}> <{!z!}><{!z!!}>Database.MySQL<{!!z!!}><{!z!!}>Database<{!!z!!}><{!z!!}>Database.MSAccess<{!!z!!}><{!z!!}>Database.ADO<{!!z!!}><{!z!!}>FileExplorer<{!!z!!}><{!z!!}>FileExplorer.ComboBox<{!!z!!}><{!z!!}>FileExplorer.ListView<{!!z!!}><{!z!!}>FileExplorer.TreeView<{!!z!!}><{!z!!}>Input.Mouse<{!!z!!}><{!z!!}>Input.Joystick<{!!z!!}><{!z!!}>Input.Tablet<{!!z!!}><{!z!!}>String<{!!z!!}><{!z!!}>@DLL<{!!z!!}><{!z!!}>Network<{!!z!!}>IPAddress<{z}>string<{z}>getset<{z}> <{!z!}>isPresent<{z}>string<{z}>ppsv<{z}>true<{!z!}><{!z!!}>Process<{!!z!!}>lastId<{z}>integer<{z}>get<{z}>-1<{!z!}>isOpen<{z}>boolean<{z}>get<{z}>false<{!z!}><{!z!!}>@FTP<{!!z!!}>id<{z}>integer<{z}>set<{z}>-1<{!z!}>initialDir<{z}>string<{z}>getset<{z}> <{!z!}>currentDir<{z}>string<{z}>getset<{z}> <{!z!}>isConnected<{z}>boolean<{z}>getset<{z}> <{!z!}>account<{z}>string<{z}>getset<{z}> <{!z!}>async<{z}>boolean<{z}>getset<{z}> <{!z!}>error<{z}>string<{z}>getset<{z}> <{!z!}>success<{z}>boolean<{z}>getset<{z}> <{!z!}>loggerData<{z}>string<{z}>getset<{z}> <{!z!}>isBusy<{z}>boolean<{z}>getset<{z}> <{!z!}>lastReply<{z}>string<{z}>getset<{z}> <{!z!}>noop<{z}>string<{z}>getset<{z}> <{!z!}>passive<{z}>string<{z}>getset<{z}> <{!z!}>serverType<{z}>string<{z}>getset<{z}> <{!z!}>supportsResume<{z}>boolean<{z}>getset<{z}> <{!z!}>timeout<{z}>string<{z}>getset<{z}> <{!z!}>transferMode<{z}>string<{z}>getset<{z}> <{!z!}>transferTime<{z}>string<{z}>getset<{z}> <{!z!}>bytesTransferred<{z}>string<{z}>getset<{z}> <{!z!}><{!z!!}>@Forms<{!!z!!}>id<{z}>string<{z}>@set<{z}>0<{!z!}>type<{z}>string<{z}>@set<{z}>standard<{!z!}>title<{z}>string<{z}>@set<{!z!}>titleUnicode<{z}>string<{z}>@set<{!z!}>alpha<{z}>number<{z}>getset<{!z!}>baseURL<{z}>string<{z}>getset<{!z!}>bgColor<{z}>string<{z}>getset<{!z!}>isCreated<{z}>boolean<{z}>get<{!z!}>windowState<{z}>string<{z}>getset<{!z!}>x<{z}>string<{z}>getset<{!z!}>y<{z}>string<{z}>getset<{!z!}>width<{z}>string<{z}>getset<{!z!}>height<{z}>string<{z}>getset<{!z!}>visible<{z}>boolean<{z}>getset<{!z!}><{!z!!}>COMPort<{!!z!!}>initialDTR<{z}>string<{z}>getset<{z}>-1<{!z!}>initialRTS<{z}>string<{z}>getset<{z}> <{!z!}>txBuffer<{z}>integer<{z}>set<{z}> <{!z!}>rxBuffer<{z}>integer<{z}>set<{z}> <{!z!}>ports<{z}>string<{z}>getset<{z}> <{!z!}><{!z!!}>Flash<{!z!!}>FileSystem<{!z!!}>Network.UDP.Socket<{!z!!}>System.DirectX<{!z!!}>Network.Mail<{!z!!}>Dialogs.BrowseFolder<{!!z!!}>defaultDirectory<{z}>string<{z}>getset<{z}> <{!z!}>title<{z}>string<{z}>getset<{z}> <{!z!}><{!z!!}>System.JScript<{!z!!}>System.VBScript<{!z!!}>Encryption<{!z!!}>Image<{!z!!}>Image.ScreenCapture<{!z!!}>Exception<{!z!!}>Exception.DebugWindow<{!z!!}>Network.UDP.TFTP<{!z!!}>Network.HTTPD<{!z!!}>System.Registry<{!z!!}>Network.TCP.ProxyHTTP<{!z!!}>Clipboard<{!z!!}>Input.Twain<{!z!!}>Application.Library<{!z!!}>Network.TCP.FileServer<{!z!!}>Application.Timer<{!z!!}>Application.Trial<{!!z!!}>usesLeft<{z}>integer<{z}>ppsv<{z}><{!z!}>daysLeft<{z}>integer<{z}>ppsv<{z}><{!z!}>tampered<{z}>boolean<{z}>get<{z}><{!z!}>expired<{z}>boolean<{z}>get<{z}><{!z!}><{!z!!}>FileSystem.BinaryFile<{!z!!}>@HTTP<{!!z!!}>id<{z}>integer<{z}>set<{z}>-1<{!z!}><{!z!!}>";
  64.       
  65.       protected var m_dynamicID:int = -1;
  66.       
  67.       protected var m_dynEventsCallbackType:Object;
  68.       
  69.       private var alert:MovieClip;
  70.       
  71.       private var m_dynamic:Boolean = false;
  72.       
  73.       protected var m_objs:Object;
  74.       
  75.       public function mdm_resolver()
  76.       {
  77.          super();
  78.          m_objs = new Object();
  79.          m_dynEvents = new Object();
  80.          m_dynEventsCallbackType = new Object();
  81.       }
  82.       
  83.       private static function OnEvent(param1:String) : void
  84.       {
  85.          var _loc2_:Boolean = false;
  86.          var _loc3_:String = null;
  87.          var _loc4_:String = null;
  88.          var _loc5_:Array = null;
  89.          var _loc6_:String = null;
  90.          var _loc7_:Boolean = false;
  91.          var _loc8_:String = null;
  92.          var _loc9_:int = 0;
  93.          var _loc10_:Object = null;
  94.          var _loc11_:FTP = null;
  95.          var _loc12_:Browser = null;
  96.          var _loc13_:HTTP = null;
  97.          var _loc14_:MediaPlayer6 = null;
  98.          var _loc15_:MediaPlayer = null;
  99.          var _loc16_:String = null;
  100.          var _loc17_:String = null;
  101.          var _loc18_:Array = null;
  102.          var _loc19_:Array = null;
  103.          _loc2_ = m_doneInit;
  104.          _loc4_ = param1;
  105.          _loc5_ = _loc4_.split("!}}v{}!");
  106.          _loc6_ = _loc5_[0];
  107.          if(_loc5_.length)
  108.          {
  109.             _loc5_.shift();
  110.          }
  111.          _loc7_ = false;
  112.          _loc8_ = "";
  113.          _loc9_ = 0;
  114.          _loc10_ = new Object();
  115.          if(_loc6_.substr(0,5) == "onFTP")
  116.          {
  117.             _loc7_ = true;
  118.             if(_loc5_.length)
  119.             {
  120.                _loc9_ = int(_loc5_.shift());
  121.             }
  122.             if(_loc9_ >= 0)
  123.             {
  124.                _loc8_ = "on" + _loc6_.slice(5);
  125.                _loc11_ = m_dynFTP[_loc9_];
  126.                if(_loc11_ != null)
  127.                {
  128.                   if(_loc11_.internal_resolver().m_dynEvents[_loc8_] != null)
  129.                   {
  130.                      _loc11_.internal_resolver().m_dynEvents[_loc8_]();
  131.                   }
  132.                }
  133.             }
  134.          }
  135.          else if(_loc6_.substr(0,9) == "onBrowser")
  136.          {
  137.             _loc7_ = true;
  138.             if(_loc5_.length)
  139.             {
  140.                _loc9_ = int(_loc5_.shift());
  141.             }
  142.             if(_loc9_ >= 0)
  143.             {
  144.                _loc8_ = "on" + _loc6_.slice(9);
  145.                _loc12_ = m_dynBrowsers[_loc9_];
  146.                if(_loc12_ != null)
  147.                {
  148.                   if(_loc12_.internal_resolver().m_dynEvents[_loc8_] != null)
  149.                   {
  150.                      if(_loc8_ == "onDocumentComplete")
  151.                      {
  152.                         _loc10_["url"] = _loc5_[0];
  153.                         _loc12_.internal_resolver().m_dynEvents[_loc8_](_loc10_);
  154.                      }
  155.                   }
  156.                }
  157.             }
  158.          }
  159.          else if(_loc6_.substr(0,6) == "onHTTP")
  160.          {
  161.             _loc7_ = true;
  162.             if(_loc5_.length)
  163.             {
  164.                _loc9_ = int(_loc5_.shift());
  165.             }
  166.             if(_loc9_ >= 0)
  167.             {
  168.                _loc8_ = "on" + _loc6_.slice(6);
  169.                _loc13_ = m_dynHTTP[_loc9_];
  170.                if(_loc13_ != null)
  171.                {
  172.                   if(_loc13_.internal_resolver().m_dynEvents[_loc8_] != null)
  173.                   {
  174.                      if(_loc8_ == "onBinaryTransferComplete")
  175.                      {
  176.                         _loc10_["filename"] = _loc5_[0];
  177.                         _loc13_.internal_resolver().m_dynEvents[_loc8_](_loc10_);
  178.                      }
  179.                      else if(_loc8_ == "onError")
  180.                      {
  181.                         _loc13_.internal_resolver().m_dynEvents[_loc8_]();
  182.                      }
  183.                      else if(_loc8_ == "onProgress")
  184.                      {
  185.                         _loc10_["bytesTotal"] = _loc5_[0];
  186.                         _loc10_["bytesTransferred"] = _loc5_[1];
  187.                         _loc13_.internal_resolver().m_dynEvents[_loc8_](_loc10_);
  188.                      }
  189.                      else if(_loc8_ == "onTransferComplete")
  190.                      {
  191.                         _loc10_["data"] = _loc5_[0];
  192.                         _loc13_.internal_resolver().m_dynEvents[_loc8_](_loc10_);
  193.                      }
  194.                   }
  195.                }
  196.             }
  197.          }
  198.          else if(_loc6_.substr(0,6) == "onWMP6")
  199.          {
  200.             _loc7_ = true;
  201.             if(_loc5_.length)
  202.             {
  203.                _loc9_ = int(_loc5_.shift());
  204.             }
  205.             if(_loc9_ >= 0)
  206.             {
  207.                _loc8_ = _loc6_;
  208.                _loc14_ = m_dynMP6[_loc9_];
  209.                if(_loc14_ != null)
  210.                {
  211.                   if(_loc14_.internal_resolver().m_dynEvents[_loc8_] != null)
  212.                   {
  213.                      if(_loc8_ == "onMPChangeState")
  214.                      {
  215.                         _loc10_["oldState"] = _loc5_[0];
  216.                         _loc10_["newState"] = _loc5_[1];
  217.                         _loc14_.internal_resolver().m_dynEvents[_loc8_](_loc10_);
  218.                      }
  219.                   }
  220.                }
  221.             }
  222.          }
  223.          else if(_loc6_.substr(0,5) == "onWMP")
  224.          {
  225.             _loc7_ = true;
  226.             if(_loc5_.length)
  227.             {
  228.                _loc9_ = int(_loc5_.shift());
  229.             }
  230.             if(_loc9_ >= 0)
  231.             {
  232.                _loc8_ = _loc6_;
  233.                _loc15_ = m_dynMP9[_loc9_];
  234.                if(_loc15_ != null)
  235.                {
  236.                   if(_loc15_.internal_resolver().m_dynEvents[_loc8_] != null)
  237.                   {
  238.                      if(_loc8_ == "onWMPBuffering")
  239.                      {
  240.                         _loc10_["status"] = _loc5_[0];
  241.                         _loc15_.internal_resolver().m_dynEvents[_loc8_](_loc10_);
  242.                      }
  243.                      else if(_loc8_ == "onWMPChangeState")
  244.                      {
  245.                         _loc10_["newState"] = _loc5_[0];
  246.                         _loc15_.internal_resolver().m_dynEvents[_loc8_](_loc10_);
  247.                      }
  248.                      else if(_loc8_ == "onWMPError")
  249.                      {
  250.                         _loc10_["error"] = _loc5_[0];
  251.                         _loc15_.internal_resolver().m_dynEvents[_loc8_](_loc10_);
  252.                      }
  253.                      else if(_loc8_ == "onWMPPositionChanged")
  254.                      {
  255.                         _loc10_["newPosition"] = _loc5_[0];
  256.                         _loc15_.internal_resolver().m_dynEvents[_loc8_](_loc10_);
  257.                      }
  258.                   }
  259.                }
  260.             }
  261.          }
  262.          if(!_loc7_)
  263.          {
  264.             _loc8_ = _loc6_;
  265.             if(_loc6_.substr(0,11) == "onMenuClick")
  266.             {
  267.                if(m_events[_loc8_] != null)
  268.                {
  269.                   m_events[_loc8_]();
  270.                }
  271.             }
  272.             else if(_loc6_.substr(0,18) == "onContextMenuClick")
  273.             {
  274.                if(m_events[_loc8_] != null)
  275.                {
  276.                   m_events[_loc8_]();
  277.                }
  278.             }
  279.             else if(_loc6_.substr(0,15) == "onTrayMenuClick")
  280.             {
  281.                if(m_events[_loc8_] != null)
  282.                {
  283.                   m_events[_loc8_]();
  284.                }
  285.             }
  286.             if(_loc6_.substr(0,6) == "onForm")
  287.             {
  288.                if(_loc8_ == "onFormChangeFocus")
  289.                {
  290.                   _loc3_ = _loc5_.shift();
  291.                   _loc10_["status"] = _loc5_[0];
  292.                   if(m_events[_loc8_] != null)
  293.                   {
  294.                      m_events[_loc8_](_loc10_);
  295.                   }
  296.                }
  297.                else if(_loc8_ == "onFormClose")
  298.                {
  299.                   _loc3_ = _loc5_.shift();
  300.                   if(m_events[_loc8_] != null)
  301.                   {
  302.                      m_events[_loc8_]();
  303.                   }
  304.                }
  305.                else if(_loc8_ == "onFormMaximize")
  306.                {
  307.                   _loc3_ = _loc5_.shift();
  308.                   _loc10_["clientWidth"] = _loc5_[0];
  309.                   _loc10_["clientHeight"] = _loc5_[1];
  310.                   _loc10_["width"] = _loc5_[2];
  311.                   _loc10_["height"] = _loc5_[3];
  312.                   if(m_events[_loc8_] != null)
  313.                   {
  314.                      m_events[_loc8_](_loc10_);
  315.                   }
  316.                }
  317.                else if(_loc8_ == "onFormMinimize")
  318.                {
  319.                   _loc3_ = _loc5_.shift();
  320.                   _loc10_["clientWidth"] = _loc5_[0];
  321.                   _loc10_["clientHeight"] = _loc5_[1];
  322.                   _loc10_["width"] = _loc5_[2];
  323.                   _loc10_["height"] = _loc5_[3];
  324.                   if(m_events[_loc8_] != null)
  325.                   {
  326.                      m_events[_loc8_](_loc10_);
  327.                   }
  328.                }
  329.                else if(_loc8_ == "onFormReposition")
  330.                {
  331.                   _loc3_ = _loc5_.shift();
  332.                   _loc10_["x"] = _loc5_[0];
  333.                   _loc10_["y"] = _loc5_[1];
  334.                   if(m_events[_loc8_] != null)
  335.                   {
  336.                      m_events[_loc8_](_loc10_);
  337.                   }
  338.                }
  339.                else if(_loc8_ == "onFormResize")
  340.                {
  341.                   _loc3_ = _loc5_.shift();
  342.                   _loc10_["clientWidth"] = _loc5_[0];
  343.                   _loc10_["clientHeight"] = _loc5_[1];
  344.                   _loc10_["width"] = _loc5_[2];
  345.                   _loc10_["height"] = _loc5_[3];
  346.                   if(m_events[_loc8_] != null)
  347.                   {
  348.                      m_events[_loc8_](_loc10_);
  349.                   }
  350.                }
  351.                else if(_loc8_ == "onFormRestore")
  352.                {
  353.                   _loc3_ = _loc5_.shift();
  354.                   _loc10_["clientWidth"] = _loc5_[0];
  355.                   _loc10_["clientHeight"] = _loc5_[1];
  356.                   _loc10_["width"] = _loc5_[2];
  357.                   _loc10_["height"] = _loc5_[3];
  358.                   if(m_events[_loc8_] != null)
  359.                   {
  360.                      m_events[_loc8_](_loc10_);
  361.                   }
  362.                }
  363.             }
  364.             else if(_loc8_ == "onAppExit" || _loc8_ == "onAppMinimize" || _loc8_ == "onAppRestore" || _loc8_ == "onBottomHit" || _loc8_ == "onLeftHit" || _loc8_ == "onRightHit" || _loc8_ == "onSplashClosed" || _loc8_ == "onTopHit")
  365.             {
  366.                if(m_events[_loc8_] != null)
  367.                {
  368.                   m_events[_loc8_]();
  369.                }
  370.             }
  371.             else if(_loc8_.substr(0,10) == "onAppTimer")
  372.             {
  373.                _loc16_ = "onTimer" + _loc8_.substr(10);
  374.                if(m_events[_loc16_] != null)
  375.                {
  376.                   m_events[_loc16_]();
  377.                }
  378.             }
  379.             else if(_loc8_ == "AppExit")
  380.             {
  381.                if(m_events["onAppExit"] != null)
  382.                {
  383.                   m_events["onAppExit"]();
  384.                }
  385.             }
  386.             else if(_loc8_ == "onArrowKeyPress")
  387.             {
  388.                _loc10_["status"] = _loc5_[0];
  389.                if(m_events[_loc8_] != null)
  390.                {
  391.                   m_events[_loc8_](_loc10_);
  392.                }
  393.             }
  394.             else if(_loc8_ == "onAppChangeFocus")
  395.             {
  396.                _loc10_["status"] = _loc5_[0];
  397.                if(m_events[_loc8_] != null)
  398.                {
  399.                   m_events[_loc8_](_loc10_);
  400.                }
  401.             }
  402.             else if(_loc8_ == "onDragDrop")
  403.             {
  404.                _loc17_ = param1;
  405.                _loc18_ = _loc17_.split("!}}v{}!");
  406.                _loc19_ = _loc18_[1].split("|");
  407.                _loc10_["files"] = _loc19_;
  408.                if(m_events[_loc8_] != null)
  409.                {
  410.                   m_events[_loc8_](_loc10_);
  411.                }
  412.                _loc10_["files"] = null;
  413.             }
  414.             else if(_loc8_ == "onMDMScriptException")
  415.             {
  416.                _loc10_["formType"] = _loc5_[0];
  417.                _loc10_["command"] = _loc5_[1];
  418.                _loc10_["message"] = _loc5_[2];
  419.                _loc10_["frameNumber"] = _loc5_[3];
  420.                _loc10_["parameter"] = _loc5_[4];
  421.                _loc10_["value"] = _loc5_[5];
  422.                if(m_events[_loc8_] != null)
  423.                {
  424.                   m_events[_loc8_](_loc10_);
  425.                }
  426.             }
  427.             else if(_loc6_.substr(0,5) == "onCOM")
  428.             {
  429.                if(_loc8_ == "onCOMPortCTSChanged")
  430.                {
  431.                   _loc10_["timeCode"] = _loc5_[0];
  432.                   _loc10_["state"] = _loc5_[1];
  433.                   if(m_events[_loc8_] != null)
  434.                   {
  435.                      m_events[_loc8_](_loc10_);
  436.                   }
  437.                }
  438.                else if(_loc8_ == "onCOMPortDSRChanged")
  439.                {
  440.                   _loc10_["timeCode"] = _loc5_[0];
  441.                   _loc10_["state"] = _loc5_[1];
  442.                   if(m_events[_loc8_] != null)
  443.                   {
  444.                      m_events[_loc8_](_loc10_);
  445.                   }
  446.                }
  447.                else if(_loc8_ == "onCOMPortData")
  448.                {
  449.                   _loc10_["timeCode"] = _loc5_[0];
  450.                   _loc10_["data"] = _loc5_[1];
  451.                   if(m_events[_loc8_] != null)
  452.                   {
  453.                      m_events[_loc8_](_loc10_);
  454.                   }
  455.                }
  456.                else if(_loc8_ == "onCOMPortHEXData")
  457.                {
  458.                   _loc10_["timeCode"] = _loc5_[0];
  459.                   _loc10_["hexData"] = _loc5_[1];
  460.                   if(m_events[_loc8_] != null)
  461.                   {
  462.                      m_events[_loc8_](_loc10_);
  463.                   }
  464.                }
  465.                else if(_loc8_ == "onCOMPortDataSent")
  466.                {
  467.                   _loc10_["timeCode"] = _loc5_[0];
  468.                   if(m_events[_loc8_] != null)
  469.                   {
  470.                      m_events[_loc8_](_loc10_);
  471.                   }
  472.                }
  473.                else if(_loc8_ == "onCOMPortError")
  474.                {
  475.                   _loc10_["timeCode"] = _loc5_[0];
  476.                   _loc10_["error"] = _loc5_[1];
  477.                   if(m_events[_loc8_] != null)
  478.                   {
  479.                      m_events[_loc8_](_loc10_);
  480.                   }
  481.                }
  482.                else if(_loc8_ == "onCOMPortSendProgress")
  483.                {
  484.                   _loc10_["timeCode"] = _loc5_[0];
  485.                   _loc10_["bytes"] = _loc5_[1];
  486.                   if(m_events[_loc8_] != null)
  487.                   {
  488.                      m_events[_loc8_](_loc10_);
  489.                   }
  490.                }
  491.             }
  492.             else if(_loc8_ == "onFileListViewDblClick")
  493.             {
  494.                _loc10_["type"] = _loc5_[0];
  495.                _loc10_["name"] = _loc5_[1];
  496.                _loc10_["association"] = _loc5_[2];
  497.                if(m_events[_loc8_] != null)
  498.                {
  499.                   m_events[_loc8_](_loc10_);
  500.                }
  501.             }
  502.             else if(_loc8_ == "onJoystick1ButtonDown" || _loc8_ == "onJoystick1Move" || _loc8_ == "onJoystick2ButtonDown" || _loc8_ == "onJoystick2Move")
  503.             {
  504.                _loc10_["xlevel"] = _loc5_[0];
  505.                _loc10_["ylevel"] = _loc5_[1];
  506.                _loc10_["b1"] = _loc5_[2];
  507.                _loc10_["b2"] = _loc5_[3];
  508.                _loc10_["b3"] = _loc5_[4];
  509.                _loc10_["b4"] = _loc5_[5];
  510.                if(m_events[_loc8_] != null)
  511.                {
  512.                   m_events[_loc8_](_loc10_);
  513.                }
  514.             }
  515.             else if(_loc8_ == "onTabletEvent")
  516.             {
  517.                _loc10_["x"] = _loc5_[0];
  518.                _loc10_["y"] = _loc5_[1];
  519.                _loc10_["pressure"] = _loc5_[2];
  520.                _loc10_["buttons"] = _loc5_[3];
  521.                if(m_events[_loc8_] != null)
  522.                {
  523.                   m_events[_loc8_](_loc10_);
  524.                }
  525.             }
  526.             else if(_loc8_ == "onRequest")
  527.             {
  528.                _loc10_["document"] = _loc5_[0];
  529.                _loc10_["parameters"] = _loc5_[1];
  530.                _loc10_["remoteIP"] = _loc5_[2];
  531.                if(m_events[_loc8_] != null)
  532.                {
  533.                   m_events[_loc8_](_loc10_);
  534.                }
  535.             }
  536.             else if(_loc6_.substr(0,5) == "onUDP")
  537.             {
  538.                if(_loc8_ == "onUDPSocketData")
  539.                {
  540.                   _loc10_["data"] = _loc5_[0];
  541.                   if(m_events["onData"] != null)
  542.                   {
  543.                      m_events["onData"](_loc10_);
  544.                   }
  545.                }
  546.             }
  547.             else if(_loc6_.substr(0,5) == "onTCP")
  548.             {
  549.                if(_loc8_ == "onTCPSocketData")
  550.                {
  551.                   _loc10_["data"] = _loc5_[0];
  552.                   if(m_events["onSocketData"] != null)
  553.                   {
  554.                      m_events["onSocketData"](_loc10_);
  555.                   }
  556.                }
  557.                else if(_loc8_ == "onTCPSocketConnect")
  558.                {
  559.                   if(m_events["onSocketConnect"] != null)
  560.                   {
  561.                      m_events["onSocketConnect"]();
  562.                   }
  563.                }
  564.                else if(_loc8_ == "onTCPSocketClose")
  565.                {
  566.                   if(m_events["onSocketClose"] != null)
  567.                   {
  568.                      m_events["onSocketClose"]();
  569.                   }
  570.                }
  571.             }
  572.          }
  573.          _loc10_ = null;
  574.       }
  575.       
  576.       public static function AssocURL(param1:String) : void
  577.       {
  578.          m_strURL = param1;
  579.       }
  580.       
  581.       public static function InitCallbacks() : void
  582.       {
  583.          ExternalInterface.addCallback("MDMAS3EVENTCALLBACK",eventCallback);
  584.       }
  585.       
  586.       public static function eventCallback(param1:String) : void
  587.       {
  588.          OnEvent(param1);
  589.       }
  590.       
  591.       private function InitialiseObject(param1:String) : void
  592.       {
  593.          var _loc2_:Array = null;
  594.          var _loc3_:String = null;
  595.          var _loc4_:Object = null;
  596.          var _loc5_:int = 0;
  597.          var _loc6_:String = null;
  598.          var _loc7_:Array = null;
  599.          var _loc8_:int = 0;
  600.          _loc2_ = param1.split("<{!!z!!}>");
  601.          _loc3_ = _loc2_[0];
  602.          _loc4_ = m_properties;
  603.          _loc5_ = _loc3_.charAt(0) == "@" ? 1 : 0;
  604.          _loc6_ = String("mdm." + _loc3_.substring(_loc5_));
  605.          if(_loc3_.substring(0,11) == "Extensions.")
  606.          {
  607.             ExtensionsArray.push(_loc3_.slice(11));
  608.          }
  609.          else
  610.          {
  611.             m_properties[_loc6_] = new Array();
  612.             if(_loc2_[1] != null)
  613.             {
  614.                _loc7_ = _loc2_[1].split("<{!z!}>");
  615.                _loc8_ = 0;
  616.                while(_loc8_ < _loc7_.length)
  617.                {
  618.                   m_properties[_loc6_][_loc8_] = _loc7_[_loc8_].split("<{z}>");
  619.                   _loc8_++;
  620.                }
  621.             }
  622.          }
  623.       }
  624.       
  625.       private function Deserialise(param1:String) : *
  626.       {
  627.          var index:int = 0;
  628.          var ch:String = null;
  629.          var GetNextChar:Function = null;
  630.          var TrimWhiteSpace:Function = null;
  631.          var DeserialiseString:Function = null;
  632.          var DeserialiseArray:Function = null;
  633.          var DeserialiseObject:Function = null;
  634.          var DeserialiseNumber:Function = null;
  635.          var DeserialiseDate:Function = null;
  636.          var DeserialiseXML:Function = null;
  637.          var DeserialiseBoolean:Function = null;
  638.          var DeserialiseValue:Function = null;
  639.          var strInput:String = param1;
  640.          GetNextChar = function():String
  641.          {
  642.             ch = strInput.charAt(index);
  643.             index += 1;
  644.             return ch;
  645.          };
  646.          TrimWhiteSpace = function():void
  647.          {
  648.             while(ch)
  649.             {
  650.                if(ch <= " ")
  651.                {
  652.                   GetNextChar();
  653.                }
  654.                else
  655.                {
  656.                   if(ch != "/")
  657.                   {
  658.                      break;
  659.                   }
  660.                   switch(GetNextChar())
  661.                   {
  662.                      case "/":
  663.                         while(GetNextChar() && ch != "\n" && ch != "\r")
  664.                         {
  665.                         }
  666.                         break;
  667.                      case "*":
  668.                         GetNextChar();
  669.                         while(true)
  670.                         {
  671.                            if(ch)
  672.                            {
  673.                               if(ch == "*")
  674.                               {
  675.                                  if(GetNextChar() == "/")
  676.                                  {
  677.                                     break;
  678.                                  }
  679.                               }
  680.                               else
  681.                               {
  682.                                  GetNextChar();
  683.                               }
  684.                            }
  685.                         }
  686.                         GetNextChar();
  687.                   }
  688.                }
  689.             }
  690.          };
  691.          DeserialiseString = function():String
  692.          {
  693.             var _loc1_:int = 0;
  694.             var _loc2_:String = null;
  695.             var _loc3_:int = 0;
  696.             var _loc4_:int = 0;
  697.             var _loc5_:Boolean = false;
  698.             _loc2_ = "";
  699.             _loc5_ = false;
  700.             if(ch == "\"")
  701.             {
  702.                while(Boolean(GetNextChar()))
  703.                {
  704.                   if(index == strInput.length || ch == "\"")
  705.                   {
  706.                      if(ch == "\"")
  707.                      {
  708.                         GetNextChar();
  709.                      }
  710.                      return _loc2_.split("@q@").join("\"");
  711.                   }
  712.                   _loc2_ += ch;
  713.                }
  714.             }
  715.             return new String();
  716.          };
  717.          DeserialiseArray = function():Array
  718.          {
  719.             var _loc1_:Array = null;
  720.             _loc1_ = [];
  721.             if(ch == "[")
  722.             {
  723.                GetNextChar();
  724.                TrimWhiteSpace();
  725.                if(ch == "]")
  726.                {
  727.                   GetNextChar();
  728.                   return _loc1_;
  729.                }
  730.                while(ch)
  731.                {
  732.                   _loc1_.push(DeserialiseValue());
  733.                   TrimWhiteSpace();
  734.                   if(ch == "]")
  735.                   {
  736.                      GetNextChar();
  737.                      return _loc1_;
  738.                   }
  739.                   if(ch != ",")
  740.                   {
  741.                      break;
  742.                   }
  743.                   GetNextChar();
  744.                   TrimWhiteSpace();
  745.                }
  746.             }
  747.             return new Array();
  748.          };
  749.          DeserialiseObject = function():Object
  750.          {
  751.             var _loc1_:String = null;
  752.             var _loc2_:Object = null;
  753.             _loc2_ = {};
  754.             if(ch == "{")
  755.             {
  756.                GetNextChar();
  757.                TrimWhiteSpace();
  758.                if(ch == "}")
  759.                {
  760.                   GetNextChar();
  761.                   return _loc2_;
  762.                }
  763.                while(ch)
  764.                {
  765.                   _loc1_ = DeserialiseString();
  766.                   TrimWhiteSpace();
  767.                   if(ch != ":")
  768.                   {
  769.                      break;
  770.                   }
  771.                   GetNextChar();
  772.                   _loc2_[_loc1_] = DeserialiseValue();
  773.                   TrimWhiteSpace();
  774.                   if(ch == "}")
  775.                   {
  776.                      GetNextChar();
  777.                      return _loc2_;
  778.                   }
  779.                   if(ch != ",")
  780.                   {
  781.                      break;
  782.                   }
  783.                   GetNextChar();
  784.                   TrimWhiteSpace();
  785.                }
  786.             }
  787.             return new Object();
  788.          };
  789.          DeserialiseNumber = function():Number
  790.          {
  791.             var _loc1_:* = null;
  792.             var _loc2_:Number = NaN;
  793.             _loc1_ = "";
  794.             if(ch == "-")
  795.             {
  796.                _loc1_ = "-";
  797.                GetNextChar();
  798.             }
  799.             while(ch >= "0" && ch <= "9")
  800.             {
  801.                _loc1_ += ch;
  802.                GetNextChar();
  803.             }
  804.             if(ch == ".")
  805.             {
  806.                _loc1_ += ".";
  807.                while(GetNextChar() && ch >= "0" && ch <= "9")
  808.                {
  809.                   _loc1_ += ch;
  810.                }
  811.             }
  812.             _loc2_ = Number(_loc1_);
  813.             if(!isFinite(_loc2_))
  814.             {
  815.                return Number(0);
  816.             }
  817.             return Number(_loc2_);
  818.          };
  819.          DeserialiseDate = function():Date
  820.          {
  821.             var _loc1_:String = null;
  822.             _loc1_ = "";
  823.             if(ch == "#")
  824.             {
  825.                while(Boolean(GetNextChar()))
  826.                {
  827.                   if(ch == "#")
  828.                   {
  829.                      GetNextChar();
  830.                      return new Date(parseInt(_loc1_));
  831.                   }
  832.                   _loc1_ += ch;
  833.                }
  834.             }
  835.             return new Date();
  836.          };
  837.          DeserialiseXML = function():XML
  838.          {
  839.             var _loc1_:String = null;
  840.             var _loc2_:int = 0;
  841.             _loc1_ = "";
  842.             if(ch == "<")
  843.             {
  844.                GetNextChar();
  845.                GetNextChar();
  846.                _loc2_ = int(strInput.indexOf("</*>"));
  847.                while(Boolean(GetNextChar()))
  848.                {
  849.                   if(index == _loc2_ - 1)
  850.                   {
  851.                      while(index < _loc2_ + 5)
  852.                      {
  853.                         GetNextChar();
  854.                      }
  855.                      return new XML(_loc1_);
  856.                   }
  857.                   _loc1_ += ch;
  858.                }
  859.             }
  860.             return new XML();
  861.          };
  862.          DeserialiseBoolean = function():*
  863.          {
  864.             switch(ch)
  865.             {
  866.                case "t":
  867.                   if(GetNextChar() == "r" && GetNextChar() == "u" && GetNextChar() == "e")
  868.                   {
  869.                      GetNextChar();
  870.                      return true;
  871.                   }
  872.                   break;
  873.                case "f":
  874.                   if(GetNextChar() == "a" && GetNextChar() == "l" && GetNextChar() == "s" && GetNextChar() == "e")
  875.                   {
  876.                      GetNextChar();
  877.                      return false;
  878.                   }
  879.                   break;
  880.                case "n":
  881.                   if(GetNextChar() == "u" && GetNextChar() == "l" && GetNextChar() == "l")
  882.                   {
  883.                      GetNextChar();
  884.                      return null;
  885.                   }
  886.                   break;
  887.             }
  888.             return "";
  889.          };
  890.          DeserialiseValue = function():*
  891.          {
  892.             TrimWhiteSpace();
  893.             switch(ch)
  894.             {
  895.                case "{":
  896.                   return DeserialiseObject();
  897.                case "[":
  898.                   return DeserialiseArray();
  899.                case "\"":
  900.                   return DeserialiseString();
  901.                case "-":
  902.                   return DeserialiseNumber();
  903.                case "#":
  904.                   return DeserialiseDate();
  905.                case "<":
  906.                   return DeserialiseXML();
  907.                default:
  908.                   return ch >= "0" && ch <= "9" ? DeserialiseNumber() : DeserialiseBoolean();
  909.             }
  910.          };
  911.          index = 0;
  912.          ch = " ";
  913.          return DeserialiseValue();
  914.       }
  915.       
  916.       protected function SetClassName(param1:String) : void
  917.       {
  918.          m_strClassName = param1;
  919.       }
  920.       
  921.       private function SendCmdMac(param1:String) : void
  922.       {
  923.          var _loc2_:String = null;
  924.          var _loc3_:String = null;
  925.          var _loc4_:int = 0;
  926.          var _loc5_:String = null;
  927.          var _loc6_:int = 0;
  928.          var _loc7_:int = 0;
  929.          var _loc8_:SharedObject = null;
  930.          var _loc9_:String = null;
  931.          var _loc10_:int = 0;
  932.          var _loc11_:String = null;
  933.          var _loc12_:String = null;
  934.          if(GetHostPlatform() == "Mac")
  935.          {
  936.             _loc2_ = "xppcmd";
  937.             _loc3_ = "s000000000000";
  938.             _loc4_ = int(++m_cmdCounter);
  939.             _loc5_ = param1 + _loc4_.toString();
  940.             _loc6_ = 64000;
  941.             _loc7_ = Math.round(_loc5_.length / _loc6_) + 1;
  942.             _loc8_ = SharedObject.getLocal(_loc2_,"/",false);
  943.             _loc9_ = _loc7_.toString();
  944.             _loc8_.data.v = "\r";
  945.             _loc8_.data.v += "s000000000000";
  946.             _loc8_.data.v += "\x02";
  947.             _loc8_.data.v += "\x00";
  948.             _loc8_.data.v += "\x01";
  949.             _loc8_.data.v += _loc7_.toString();
  950.             _loc8_.data.v += "\x00";
  951.             _loc8_.data.v += "\x00";
  952.             _loc8_.data.v += "\r";
  953.             _loc10_ = 1;
  954.             while(_loc10_ <= _loc7_)
  955.             {
  956.                _loc11_ = _loc10_.toString();
  957.                while(_loc11_.length < 3)
  958.                {
  959.                   _loc11_ = "0" + _loc11_;
  960.                }
  961.                _loc12_ = String(_loc5_.substr((_loc10_ - 1) * _loc6_,_loc6_));
  962.                _loc8_.data.v += "s" + _loc11_ + "000000000";
  963.                _loc8_.data.v += "\x02";
  964.                _loc8_.data.v += "√∫";
  965.                _loc8_.data.v += "\x00";
  966.                _loc8_.data.v += _loc12_;
  967.                _loc10_++;
  968.             }
  969.             _loc8_.flush();
  970.          }
  971.       }
  972.       
  973.       protected function GetClassName() : String
  974.       {
  975.          return m_strClassName;
  976.       }
  977.       
  978.       protected function GetHostPlatform() : String
  979.       {
  980.          return Capabilities.os.substring(0,3);
  981.       }
  982.       
  983.       protected function IsDynamic() : Boolean
  984.       {
  985.          return m_dynamic;
  986.       }
  987.       
  988.       protected function AddEvent(param1:String, param2:Boolean) : void
  989.       {
  990.          m_events[param1] = param2 ? dummyCBParams : dummyCB;
  991.          m_eventsCallbackType[param1] = param2 ? dummyCBParams : dummyCB;
  992.       }
  993.       
  994.       private function WorkOutFormID() : void
  995.       {
  996.          var _loc1_:String = null;
  997.          var _loc2_:Array = null;
  998.          var _loc3_:int = 0;
  999.          _loc1_ = null;
  1000.          if(m_strURL != null)
  1001.          {
  1002.             _loc1_ = m_strURL;
  1003.          }
  1004.          if(_loc1_ != null)
  1005.          {
  1006.             if(GetHostPlatform() == "Win")
  1007.             {
  1008.                _loc2_ = _loc1_.split("~swd");
  1009.                if(_loc2_.length == 2)
  1010.                {
  1011.                   _loc1_ = _loc2_[1];
  1012.                   _loc2_ = _loc1_.split(".");
  1013.                   if(_loc2_.length == 2)
  1014.                   {
  1015.                      _loc3_ = _loc2_[0].valueOf() - 1;
  1016.                      m_strFormID = _loc3_.toString();
  1017.                      while(m_strFormID.length < 6)
  1018.                      {
  1019.                         m_strFormID = "0" + m_strFormID;
  1020.                      }
  1021.                   }
  1022.                }
  1023.             }
  1024.             else if(GetHostPlatform() == "Mac")
  1025.             {
  1026.                _loc2_ = _loc1_.split("/");
  1027.                if(_loc2_.length)
  1028.                {
  1029.                   _loc1_ = _loc2_[_loc2_.length - 1];
  1030.                   _loc2_ = _loc1_.split(".");
  1031.                   if(_loc2_.length == 2)
  1032.                   {
  1033.                      _loc3_ = _loc2_[0].valueOf() - 1;
  1034.                      m_strFormID = _loc3_.toString();
  1035.                      while(m_strFormID.length < 6)
  1036.                      {
  1037.                         m_strFormID = "0" + m_strFormID;
  1038.                      }
  1039.                   }
  1040.                }
  1041.             }
  1042.          }
  1043.       }
  1044.       
  1045.       protected function SetDynamic(param1:int) : void
  1046.       {
  1047.          m_dynamic = true;
  1048.          m_dynamicID = param1;
  1049.       }
  1050.       
  1051.       private function SetupRealBasicSocket() : void
  1052.       {
  1053.          var onConnect:Function = null;
  1054.          var onClose:Function = null;
  1055.          var onData:Function = null;
  1056.          var onSecurityError:Function = null;
  1057.          var onIOError:Function = null;
  1058.          m_macPort = 50000 + int(m_strFormID);
  1059.          m_macSocket = new XMLSocket();
  1060.          onConnect = function(param1:Event):void
  1061.          {
  1062.          };
  1063.          onClose = function(param1:Event):void
  1064.          {
  1065.          };
  1066.          onData = function(param1:DataEvent):void
  1067.          {
  1068.             var _loc2_:Array = null;
  1069.             var _loc3_:Array = null;
  1070.             var _loc4_:String = null;
  1071.             _loc2_ = param1.data.split("!}}^{}!");
  1072.             if(_loc2_[0] == "mdm.__callFunction")
  1073.             {
  1074.                _loc3_ = _loc2_[1].split("!}}v{}!");
  1075.                if(_loc3_[0] != "mdm.__dispatchEvent")
  1076.                {
  1077.                   _loc4_ = _loc3_.join("!}}v{}!");
  1078.                   OnEvent(_loc4_);
  1079.                }
  1080.                if(GetHostPlatform() == "Mac")
  1081.                {
  1082.                   if(_loc3_.length > 1 && (_loc3_[0] == "mdm.__dispatchEvent" && _loc3_[1] == "AppExit"))
  1083.                   {
  1084.                      _loc3_.shift();
  1085.                      _loc4_ = _loc3_.join("!}}v{}!");
  1086.                      OnEvent(_loc4_);
  1087.                   }
  1088.                }
  1089.             }
  1090.          };
  1091.          onSecurityError = function(param1:SecurityErrorEvent):void
  1092.          {
  1093.          };
  1094.          onIOError = function(param1:SecurityErrorEvent):void
  1095.          {
  1096.          };
  1097.          m_macSocket.addEventListener(Event.CONNECT,onConnect);
  1098.          m_macSocket.addEventListener(Event.CLOSE,onClose);
  1099.          m_macSocket.addEventListener(DataEvent.DATA,onData);
  1100.          m_macSocket.addEventListener(SecurityErrorEvent.SECURITY_ERROR,onSecurityError);
  1101.          m_macSocket.addEventListener(IOErrorEvent.IO_ERROR,onIOError);
  1102.          m_macSocket.connect("127.0.0.1",m_macPort);
  1103.       }
  1104.       
  1105.       protected function AddObject(param1:String, param2:mdm_resolver) : void
  1106.       {
  1107.          if(param2 == null)
  1108.          {
  1109.             m_objs[param1] = new mdm_resolver();
  1110.             m_objs[param1].m_strClassName = String(m_strClassName + "." + param1);
  1111.          }
  1112.          else
  1113.          {
  1114.             m_objs[param1] = param2;
  1115.          }
  1116.       }
  1117.       
  1118.       public function ShowMessage(param1:String) : void
  1119.       {
  1120.          if(m_spr != null)
  1121.          {
  1122.             alert = new AlertBox(param1);
  1123.             m_spr.addChild(alert);
  1124.          }
  1125.       }
  1126.       
  1127.       private function HaveEI() : Boolean
  1128.       {
  1129.          return m_bHaveEI;
  1130.       }
  1131.       
  1132.       protected function CallAsync(param1:String, param2:Array) : void
  1133.       {
  1134.          var _loc3_:Array = null;
  1135.          var _loc4_:String = null;
  1136.          var _loc5_:String = null;
  1137.          var _loc6_:String = null;
  1138.          var _loc7_:Array = null;
  1139.          var _loc8_:String = null;
  1140.          _loc3_ = param2;
  1141.          _loc5_ = "";
  1142.          if(_loc3_[_loc3_.length - 1] === ASYNC)
  1143.          {
  1144.             _loc3_.pop();
  1145.          }
  1146.          _loc6_ = m_strClassName + "." + param1;
  1147.          if(IsDynamic())
  1148.          {
  1149.             _loc5_ = m_dynamicID.toString();
  1150.          }
  1151.          _loc7_ = _loc6_.split(".");
  1152.          if(_loc7_[0] == "mdm" && _loc7_[1] == "Forms")
  1153.          {
  1154.             _loc6_ = _loc7_[0] + "." + _loc7_[1] + "." + _loc7_[3];
  1155.             _loc5_ = _loc7_[2];
  1156.          }
  1157.          if(_loc5_ != "")
  1158.          {
  1159.             _loc3_.unshift(_loc5_);
  1160.          }
  1161.          _loc8_ = "mdmCB" + m_cbID.toString();
  1162.          m_cbID += 1;
  1163.          ExternalInterface.addCallback(_loc8_,_loc3_[_loc3_.length - 1]);
  1164.          _loc3_.pop();
  1165.          _loc3_.push(_loc8_);
  1166.          _loc3_ = esc(_loc3_);
  1167.          _loc4_ = !!_loc3_.length ? "\"" + _loc3_.join("\",\"") + "\"" : "";
  1168.          if(GetHostPlatform() == "Win" && HaveEI())
  1169.          {
  1170.             fscommand(_loc6_,_loc4_);
  1171.          }
  1172.          else if(GetHostPlatform() == "Mac")
  1173.          {
  1174.          }
  1175.       }
  1176.       
  1177.       protected function CallSyncNoReturn(param1:String, param2:Array) : void
  1178.       {
  1179.          var _loc3_:* = undefined;
  1180.          _loc3_ = CallSync(param1,param2);
  1181.       }
  1182.       
  1183.       protected function CallSync(param1:String, param2:Array) : *
  1184.       {
  1185.          var _loc3_:Array = null;
  1186.          var _loc4_:String = null;
  1187.          var _loc5_:String = null;
  1188.          var _loc6_:* = null;
  1189.          var _loc7_:String = null;
  1190.          var _loc8_:String = null;
  1191.          var _loc9_:Array = null;
  1192.          var _loc10_:Array = null;
  1193.          var _loc11_:Array = null;
  1194.          var _loc12_:Array = null;
  1195.          var _loc13_:Array = null;
  1196.          _loc3_ = param2;
  1197.          _loc5_ = "";
  1198.          if(_loc3_[_loc3_.length - 1] === SYNC)
  1199.          {
  1200.             _loc3_.pop();
  1201.          }
  1202.          _loc8_ = m_strClassName + "." + param1;
  1203.          if(IsDynamic())
  1204.          {
  1205.             _loc5_ = m_dynamicID.toString();
  1206.          }
  1207.          _loc9_ = _loc8_.split(".");
  1208.          if(_loc9_[0] == "mdm" && _loc9_[1] == "Forms")
  1209.          {
  1210.             _loc8_ = _loc9_[0] + "." + _loc9_[1] + "." + _loc9_[3];
  1211.             _loc5_ = _loc9_[2];
  1212.          }
  1213.          if(_loc5_ != "")
  1214.          {
  1215.             _loc3_.unshift(_loc5_);
  1216.          }
  1217.          if(GetHostPlatform() == "Win" || GetHostPlatform() == "Lin")
  1218.          {
  1219.             _loc3_ = esc(_loc3_);
  1220.             _loc4_ = !!_loc3_.length ? "<{zinc}>" + ("\"" + _loc3_.join("\",\"") + "\"") : "";
  1221.          }
  1222.          else if(GetHostPlatform() == "Mac")
  1223.          {
  1224.             if(HaveEI())
  1225.             {
  1226.                _loc3_ = esc(_loc3_);
  1227.                _loc4_ = !!_loc3_.length ? "<{zinc}>" + ("\"" + _loc3_.join("\",\"") + "\"") : "";
  1228.             }
  1229.             else
  1230.             {
  1231.                _loc6_ = new Date().getTime() + "<{zinc}>";
  1232.                _loc4_ = !!_loc3_.length ? "<{zinc}>" + _loc3_.join("<{zincp}>") : "";
  1233.             }
  1234.          }
  1235.          if((GetHostPlatform() == "Win" || GetHostPlatform() == "Lin") && HaveEI())
  1236.          {
  1237.             _loc7_ = ExternalInterface.call(_loc8_,m_strFormID,_loc4_);
  1238.             if(_loc7_ != null)
  1239.             {
  1240.                return Deserialise(_loc7_);
  1241.             }
  1242.          }
  1243.          else if(GetHostPlatform() == "Mac")
  1244.          {
  1245.             if(HaveEI())
  1246.             {
  1247.                if(_loc4_.indexOf("\\n") != -1)
  1248.                {
  1249.                   _loc10_ = _loc4_.split("\\n");
  1250.                   _loc4_ = _loc10_.join("@@<{dbsn}>@@");
  1251.                }
  1252.                if(_loc4_.indexOf("\n") != -1)
  1253.                {
  1254.                   _loc11_ = _loc4_.split("\n");
  1255.                   _loc4_ = _loc11_.join("@@<{sbsn}>@@");
  1256.                }
  1257.                if(_loc4_.indexOf("\\r") != -1)
  1258.                {
  1259.                   _loc12_ = _loc4_.split("\\r");
  1260.                   _loc4_ = _loc12_.join("@@<{dbsr}>@@");
  1261.                }
  1262.                if(_loc4_.indexOf("\r") != -1)
  1263.                {
  1264.                   _loc13_ = _loc4_.split("\r");
  1265.                   _loc4_ = _loc13_.join("@@<{sbsr}>@@");
  1266.                }
  1267.                _loc7_ = ExternalInterface.call(_loc8_,m_strFormID,_loc4_);
  1268.                if(_loc7_ != null)
  1269.                {
  1270.                   return Deserialise(_loc7_);
  1271.                }
  1272.             }
  1273.             else
  1274.             {
  1275.                SendCmdMac(m_strFormID + "<{zinc}>" + _loc8_ + _loc4_ + "<{zinc}>" + _loc6_);
  1276.                _loc7_ = WaitReturnMac();
  1277.                if(_loc7_ != null)
  1278.                {
  1279.                   return Deserialise(_loc7_);
  1280.                }
  1281.             }
  1282.          }
  1283.          return "";
  1284.       }
  1285.       
  1286.       protected function AddDynamicEvent(param1:String, param2:Boolean) : void
  1287.       {
  1288.          m_dynEvents[param1] = param2 ? dummyCBParams : dummyCB;
  1289.          m_dynEventsCallbackType[param1] = param2 ? dummyCBParams : dummyCB;
  1290.       }
  1291.       
  1292.       private function InitialiseObjects(param1:String) : void
  1293.       {
  1294.          var _loc2_:Array = null;
  1295.          var _loc3_:int = 0;
  1296.          _loc2_ = param1.split("<{!z!!}>");
  1297.          _loc3_ = 0;
  1298.          while(_loc3_ < _loc2_.length)
  1299.          {
  1300.             InitialiseObject(_loc2_[_loc3_]);
  1301.             _loc3_++;
  1302.          }
  1303.       }
  1304.       
  1305.       protected function MakeFormProperties(param1:String) : void
  1306.       {
  1307.          m_properties[param1] = new Array();
  1308.          m_properties[param1] = m_properties["mdm.forms"];
  1309.       }
  1310.       
  1311.       override flash_proxy function getProperty(param1:*) : *
  1312.       {
  1313.          var _loc2_:Array = null;
  1314.          var _loc3_:int = 0;
  1315.          var _loc4_:String = null;
  1316.          var _loc5_:Array = null;
  1317.          if(!m_doneInit)
  1318.          {
  1319.             return "";
  1320.          }
  1321.          if(m_objs[param1] != null)
  1322.          {
  1323.             return m_objs[param1];
  1324.          }
  1325.          _loc2_ = m_properties[m_strClassName];
  1326.          if(_loc2_ == null)
  1327.          {
  1328.             return "";
  1329.          }
  1330.          _loc3_ = 0;
  1331.          while(_loc3_ < _loc2_.length)
  1332.          {
  1333.             if(_loc2_[_loc3_][0] == param1)
  1334.             {
  1335.                if(_loc2_[_loc3_][2] == "get" || _loc2_[_loc3_][2] == "getset")
  1336.                {
  1337.                   _loc4_ = String("get" + param1);
  1338.                   _loc5_ = new Array();
  1339.                   return CallSync(_loc4_,_loc5_);
  1340.                }
  1341.                if(_loc2_[_loc3_][2] != "ppsv")
  1342.                {
  1343.                   break;
  1344.                }
  1345.                if(_loc2_[_loc3_][1] == "integer")
  1346.                {
  1347.                   return new int(_loc2_[_loc3_][3]);
  1348.                }
  1349.                if(_loc2_[_loc3_][1] == "string")
  1350.                {
  1351.                   return new String(_loc2_[_loc3_][3]);
  1352.                }
  1353.                if(_loc2_[_loc3_][1] == "boolean")
  1354.                {
  1355.                   return new Boolean(_loc2_[_loc3_][3]);
  1356.                }
  1357.             }
  1358.             _loc3_++;
  1359.          }
  1360.          return "";
  1361.       }
  1362.       
  1363.       override flash_proxy function callProperty(param1:*, ... rest) : *
  1364.       {
  1365.          var _loc3_:Array = null;
  1366.          if(!m_doneInit)
  1367.          {
  1368.             return "";
  1369.          }
  1370.          _loc3_ = rest;
  1371.          if(_loc3_[_loc3_.length - 1] !== ASYNC)
  1372.          {
  1373.             return CallSync(param1,_loc3_);
  1374.          }
  1375.          return CallAsync(param1,_loc3_);
  1376.       }
  1377.       
  1378.       override flash_proxy function nextNameIndex(param1:int) : int
  1379.       {
  1380.          return 0;
  1381.       }
  1382.       
  1383.       override flash_proxy function setProperty(param1:*, param2:*) : void
  1384.       {
  1385.          var _loc3_:Array = null;
  1386.          var _loc4_:int = 0;
  1387.          var _loc5_:String = null;
  1388.          var _loc6_:Array = null;
  1389.          if(!m_doneInit)
  1390.          {
  1391.             return;
  1392.          }
  1393.          _loc3_ = m_properties[m_strClassName];
  1394.          if(_loc3_ != null)
  1395.          {
  1396.             _loc4_ = 0;
  1397.             while(_loc4_ < _loc3_.length)
  1398.             {
  1399.                if(_loc3_[_loc4_][0] == param1)
  1400.                {
  1401.                   if(_loc3_[_loc4_][2] == "set" || _loc3_[_loc4_][2] == "getset")
  1402.                   {
  1403.                      _loc5_ = String("set" + param1);
  1404.                      _loc6_ = new Array();
  1405.                      _loc6_.push(param2);
  1406.                      CallSync(_loc5_,_loc6_);
  1407.                   }
  1408.                   break;
  1409.                }
  1410.                _loc4_++;
  1411.             }
  1412.          }
  1413.          if(m_strClassName == "mdm.Menu.Context")
  1414.          {
  1415.             if(param1 != "menuType")
  1416.             {
  1417.                Menu.Context.AddEvent(param1,false);
  1418.                Menu.Context.SetEvent(param1,param2);
  1419.             }
  1420.          }
  1421.          else if(m_strClassName == "mdm.Menu.Main")
  1422.          {
  1423.             if(param1 != "menuType")
  1424.             {
  1425.                Menu.Main.AddEvent(param1,false);
  1426.                Menu.Main.SetEvent(param1,param2);
  1427.             }
  1428.          }
  1429.          else if(m_strClassName == "mdm.Menu.Tray")
  1430.          {
  1431.             if(param1 != "menuType" && param1 != "iconHint")
  1432.             {
  1433.                Menu.Tray.AddEvent(param1,false);
  1434.                Menu.Tray.SetEvent(param1,param2);
  1435.             }
  1436.          }
  1437.          else if(IsDynamic())
  1438.          {
  1439.             if(m_dynEvents[param1] != null)
  1440.             {
  1441.                SetDynamicEvent(param1,param2);
  1442.             }
  1443.          }
  1444.          else if(m_events[param1] != null)
  1445.          {
  1446.             SetEvent(param1,param2);
  1447.          }
  1448.       }
  1449.       
  1450.       private function WriteSO(param1:String) : void
  1451.       {
  1452.          var _loc2_:SharedObject = null;
  1453.          if(GetHostPlatform() == "Mac")
  1454.          {
  1455.             _loc2_ = SharedObject.getLocal(param1,"/");
  1456.             if(_loc2_.data.v != "<init />")
  1457.             {
  1458.                _loc2_.data.v = "<init />";
  1459.             }
  1460.             _loc2_.flush();
  1461.          }
  1462.       }
  1463.       
  1464.       private function dlm(param1:String, param2:String) : String
  1465.       {
  1466.          return param1 + "!}}^" + param2 + "^{}!";
  1467.       }
  1468.       
  1469.       protected function mdmSetup() : void
  1470.       {
  1471.          var strDefs:String = null;
  1472.          var strEI:String = null;
  1473.          var numProps:int = 0;
  1474.          var arr:Array = null;
  1475.          var myPattern:RegExp = null;
  1476.          var i:int = 0;
  1477.          if(!m_doneInit)
  1478.          {
  1479.             if(!m_bSimulate)
  1480.             {
  1481.                WorkOutFormID();
  1482.             }
  1483.             try
  1484.             {
  1485.                strEI = ExternalInterface.call("mdm.hasEI","");
  1486.                if(strEI != null)
  1487.                {
  1488.                   m_bHaveEI = true;
  1489.                   if(m_strFormID == "!}id}!")
  1490.                   {
  1491.                      if(GetHostPlatform() == "Win" || GetHostPlatform() == "Lin")
  1492.                      {
  1493.                         m_strFormID = strEI;
  1494.                      }
  1495.                   }
  1496.                }
  1497.                else if(m_strFormID == "!}id}!")
  1498.                {
  1499.                   m_strFormID = "000000";
  1500.                }
  1501.             }
  1502.             catch(e:Error)
  1503.             {
  1504.             }
  1505.             if((GetHostPlatform() == "Win" || GetHostPlatform() == "Lin") && HaveEI())
  1506.             {
  1507.                if(!m_bSimulate)
  1508.                {
  1509.                   strDefs = ExternalInterface.call("mdm.initialise",m_strFormID,"");
  1510.                }
  1511.                else
  1512.                {
  1513.                   strDefs = strProps;
  1514.                }
  1515.             }
  1516.             if(GetHostPlatform() == "Mac")
  1517.             {
  1518.                if(!m_bSimulate)
  1519.                {
  1520.                   if(HaveEI())
  1521.                   {
  1522.                      strDefs = ExternalInterface.call("mdm.initialise",m_strFormID,"");
  1523.                   }
  1524.                }
  1525.                else
  1526.                {
  1527.                   strDefs = strPropsMac;
  1528.                }
  1529.             }
  1530.             m_properties = new Object();
  1531.             if(strDefs != null)
  1532.             {
  1533.                InitialiseObjects(strDefs);
  1534.             }
  1535.             if(GetHostPlatform() == "Win")
  1536.             {
  1537.                if(!m_bSimulate && HaveEI())
  1538.                {
  1539.                   numProps = int(m_properties["mdm.System.Paths"].length);
  1540.                   arr = m_properties["mdm.System.Paths"];
  1541.                   myPattern = /\\\\/g;
  1542.                   i = 0;
  1543.                   while(i < numProps)
  1544.                   {
  1545.                      if(arr[i][2] == "ppsv" && arr[i][1] == "string")
  1546.                      {
  1547.                         arr[i][3] = arr[i][3].replace(myPattern,"\\");
  1548.                      }
  1549.                      i++;
  1550.                   }
  1551.                   ExternalInterface.addCallback("MDMAS3EVENTCALLBACK",eventCallback);
  1552.                   ExternalInterface.call("mdm.flash9ready",m_strFormID,"");
  1553.                }
  1554.             }
  1555.             if(GetHostPlatform() == "Mac" || GetHostPlatform() == "Lin")
  1556.             {
  1557.                if(!m_bSimulate && HaveEI())
  1558.                {
  1559.                   ExternalInterface.call("mdm.flash9ready",m_strFormID,"");
  1560.                }
  1561.             }
  1562.             if((GetHostPlatform() == "Mac" || GetHostPlatform() == "Lin") && HaveEI())
  1563.             {
  1564.                InitEventsGatherer();
  1565.             }
  1566.             m_doneInit = true;
  1567.          }
  1568.       }
  1569.       
  1570.       private function WaitReturnMac() : String
  1571.       {
  1572.          var _loc1_:String = null;
  1573.          var _loc2_:* = null;
  1574.          var _loc3_:String = null;
  1575.          var _loc4_:SharedObject = null;
  1576.          var _loc5_:Number = NaN;
  1577.          var _loc6_:int = 0;
  1578.          var _loc7_:String = null;
  1579.          if(GetHostPlatform() == "Mac")
  1580.          {
  1581.             _loc1_ = "xppres";
  1582.             _loc2_ = "s000000000000";
  1583.             _loc3_ = "";
  1584.             _loc4_ = SharedObject.getLocal(_loc1_ + m_cmdCounter,"/",false);
  1585.             _loc5_ = Number(_loc4_.data[_loc2_]) + 1;
  1586.             _loc6_ = 1;
  1587.             while(_loc6_ < _loc5_)
  1588.             {
  1589.                _loc7_ = _loc6_.toString();
  1590.                while(_loc7_.length < 3)
  1591.                {
  1592.                   _loc7_ = "0" + _loc7_;
  1593.                }
  1594.                _loc2_ = "s" + _loc7_ + "000000000";
  1595.                _loc3_ += _loc4_.data[_loc2_];
  1596.                _loc6_++;
  1597.             }
  1598.             return _loc3_;
  1599.          }
  1600.          return "";
  1601.       }
  1602.       
  1603.       private function InitEventsGatherer() : void
  1604.       {
  1605.          var f:Function = null;
  1606.          f = function():void
  1607.          {
  1608.             var _loc1_:String = null;
  1609.             var _loc2_:Array = null;
  1610.             var _loc3_:int = 0;
  1611.             if((GetHostPlatform() == "Mac" || GetHostPlatform() == "Lin") && HaveEI())
  1612.             {
  1613.                _loc1_ = ExternalInterface.call("mdm.Application.collectEvents",m_strFormID,"");
  1614.                if(_loc1_ != "")
  1615.                {
  1616.                   _loc2_ = _loc1_.split("!!!{}event{{!!!");
  1617.                   if(_loc2_.length > 0)
  1618.                   {
  1619.                      _loc3_ = 0;
  1620.                      while(_loc3_ < _loc2_.length)
  1621.                      {
  1622.                         OnEvent(_loc2_[_loc3_]);
  1623.                         _loc3_++;
  1624.                      }
  1625.                   }
  1626.                }
  1627.             }
  1628.          };
  1629.          setInterval(f,1000 / 1);
  1630.       }
  1631.       
  1632.       private function esc(param1:Array) : Array
  1633.       {
  1634.          var _loc2_:int = 0;
  1635.          _loc2_ = 0;
  1636.          while(_loc2_ < param1.length)
  1637.          {
  1638.             if(typeof param1[_loc2_] == "string")
  1639.             {
  1640.                param1[_loc2_] = param1[_loc2_].split(",").join("@co@").split("\"").join("@dq@").split("&").join("@amp@");
  1641.             }
  1642.             _loc2_++;
  1643.          }
  1644.          return param1;
  1645.       }
  1646.       
  1647.       private function Serialise() : void
  1648.       {
  1649.       }
  1650.       
  1651.       protected function SetEvent(param1:String, param2:Function) : void
  1652.       {
  1653.          if(param2 == null)
  1654.          {
  1655.             m_events[param1] = m_eventsCallbackType[param1];
  1656.          }
  1657.          else
  1658.          {
  1659.             m_events[param1] = param2;
  1660.          }
  1661.       }
  1662.       
  1663.       protected function SetDynamicEvent(param1:String, param2:Function) : void
  1664.       {
  1665.          if(param2 == null)
  1666.          {
  1667.             m_dynEvents[param1] = m_dynEventsCallbackType[param1];
  1668.          }
  1669.          else
  1670.          {
  1671.             m_dynEvents[param1] = param2;
  1672.          }
  1673.       }
  1674.    }
  1675. }
  1676.  
  1677. import flash.display.MovieClip;
  1678. import flash.display.SimpleButton;
  1679. import flash.display.Sprite;
  1680. import flash.events.*;
  1681. import flash.text.TextField;
  1682. import flash.text.TextFieldAutoSize;
  1683. import flash.utils.ByteArray;
  1684.  
  1685. class Base64
  1686. {
  1687.    private static const BASE64_CHARS:String = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
  1688.    
  1689.    public function Base64()
  1690.    {
  1691.       super();
  1692.       throw new Error("Base64 class is static container only");
  1693.    }
  1694.    
  1695.    public static function encode(param1:String) : String
  1696.    {
  1697.       var _loc2_:ByteArray = null;
  1698.       _loc2_ = new ByteArray();
  1699.       _loc2_.writeUTFBytes(param1);
  1700.       return encodeByteArray(_loc2_);
  1701.    }
  1702.    
  1703.    public static function decodeToByteArray(param1:String) : ByteArray
  1704.    {
  1705.       var _loc2_:ByteArray = null;
  1706.       var _loc3_:Array = null;
  1707.       var _loc4_:Array = null;
  1708.       var _loc5_:uint = 0;
  1709.       var _loc6_:uint = 0;
  1710.       var _loc7_:uint = 0;
  1711.       _loc2_ = new ByteArray();
  1712.       _loc3_ = new Array(4);
  1713.       _loc4_ = new Array(3);
  1714.       _loc5_ = 0;
  1715.       while(_loc5_ < param1.length)
  1716.       {
  1717.          _loc6_ = 0;
  1718.          while(_loc6_ < 4 && _loc5_ + _loc6_ < param1.length)
  1719.          {
  1720.             _loc3_[_loc6_] = BASE64_CHARS.indexOf(param1.charAt(_loc5_ + _loc6_));
  1721.             _loc6_++;
  1722.          }
  1723.          _loc4_[0] = (_loc3_[0] << 2) + ((_loc3_[1] & 0x30) >> 4);
  1724.          _loc4_[1] = ((_loc3_[1] & 0x0F) << 4) + ((_loc3_[2] & 0x3C) >> 2);
  1725.          _loc4_[2] = ((_loc3_[2] & 3) << 6) + _loc3_[3];
  1726.          _loc7_ = 0;
  1727.          while(_loc7_ < _loc4_.length)
  1728.          {
  1729.             if(_loc3_[_loc7_ + 1] == 64)
  1730.             {
  1731.                break;
  1732.             }
  1733.             _loc2_.writeByte(_loc4_[_loc7_]);
  1734.             _loc7_++;
  1735.          }
  1736.          _loc5_ += 4;
  1737.       }
  1738.       _loc2_.position = 0;
  1739.       return _loc2_;
  1740.    }
  1741.    
  1742.    public static function encodeByteArray(param1:ByteArray) : String
  1743.    {
  1744.       var _loc2_:String = null;
  1745.       var _loc3_:Array = null;
  1746.       var _loc4_:Array = null;
  1747.       var _loc5_:uint = 0;
  1748.       var _loc6_:uint = 0;
  1749.       var _loc7_:uint = 0;
  1750.       _loc2_ = "";
  1751.       _loc4_ = new Array(4);
  1752.       param1.position = 0;
  1753.       while(param1.bytesAvailable > 0)
  1754.       {
  1755.          _loc3_ = new Array();
  1756.          _loc5_ = 0;
  1757.          while(_loc5_ < 3 && param1.bytesAvailable > 0)
  1758.          {
  1759.             _loc3_[_loc5_] = param1.readUnsignedByte();
  1760.             _loc5_++;
  1761.          }
  1762.          _loc4_[0] = (_loc3_[0] & 0xFC) >> 2;
  1763.          _loc4_[1] = (_loc3_[0] & 3) << 4 | _loc3_[1] >> 4;
  1764.          _loc4_[2] = (_loc3_[1] & 0x0F) << 2 | _loc3_[2] >> 6;
  1765.          _loc4_[3] = _loc3_[2] & 0x3F;
  1766.          _loc6_ = _loc3_.length;
  1767.          while(_loc6_ < 3)
  1768.          {
  1769.             _loc4_[_loc6_ + 1] = 64;
  1770.             _loc6_++;
  1771.          }
  1772.          _loc7_ = 0;
  1773.          while(_loc7_ < _loc4_.length)
  1774.          {
  1775.             _loc2_ += BASE64_CHARS.charAt(_loc4_[_loc7_]);
  1776.             _loc7_++;
  1777.          }
  1778.       }
  1779.       return _loc2_;
  1780.    }
  1781.    
  1782.    public static function decode(param1:String) : String
  1783.    {
  1784.       var _loc2_:ByteArray = null;
  1785.       _loc2_ = decodeToByteArray(param1);
  1786.       return _loc2_.readUTFBytes(_loc2_.length);
  1787.    }
  1788. }
  1789.  
  1790. class AlertBox extends MovieClip
  1791. {
  1792.    public function AlertBox(param1:String)
  1793.    {
  1794.       var _loc2_:SimpleButton = null;
  1795.       var _loc3_:TextField = null;
  1796.       var _loc4_:Sprite = null;
  1797.       var _loc5_:Sprite = null;
  1798.       super();
  1799.       _loc2_ = new SimpleButton();
  1800.       _loc4_ = new Sprite();
  1801.       _loc4_.graphics.lineStyle(2,2105376);
  1802.       _loc4_.graphics.beginFill(16711935);
  1803.       _loc4_.graphics.drawRect(10,10,300,200);
  1804.       _loc5_ = new Sprite();
  1805.       _loc5_.graphics.lineStyle(2,2105376);
  1806.       _loc5_.graphics.beginFill(16711680);
  1807.       _loc5_.graphics.drawRect(10,10,300,200);
  1808.       _loc2_.upState = _loc5_;
  1809.       _loc2_.overState = _loc5_;
  1810.       _loc2_.downState = _loc4_;
  1811.       _loc2_.useHandCursor = true;
  1812.       _loc2_.hitTestState = _loc5_;
  1813.       _loc2_.addEventListener(MouseEvent.CLICK,closeMe);
  1814.       addChild(_loc2_);
  1815.       _loc3_ = new TextField();
  1816.       _loc3_.autoSize = TextFieldAutoSize.LEFT;
  1817.       _loc3_.selectable = false;
  1818.       _loc3_.textColor = 16777215;
  1819.       _loc3_.text = param1;
  1820.       _loc3_.x = (_loc2_.width - _loc3_.width) / 2;
  1821.       _loc3_.y = (_loc2_.height - _loc3_.height) / 2;
  1822.       _loc5_.addChild(_loc3_);
  1823.    }
  1824.    
  1825.    private function closeMe(param1:Event) : void
  1826.    {
  1827.       param1.currentTarget.parent.removeChild(param1.currentTarget);
  1828.    }
  1829. }
  1830.  
  1831. function dummyCB():void
  1832. {
  1833. }
  1834. function dummyCBParams(param1:Object):void
  1835. {
  1836. }
  1837.