// Generated by Haxe 3.4.7 (function ($hx_exports, $global) { "use strict"; $hx_exports["lime"] = $hx_exports["lime"] || {}; var $hxClasses = {},$estr = function() { return js_Boot.__string_rec(this,''); }; function $extend(from, fields) { function Inherit() {} Inherit.prototype = from; var proto = new Inherit(); for (var name in fields) proto[name] = fields[name]; if( fields.toString !== Object.prototype.toString ) proto.toString = fields.toString; return proto; } var lime_app_IModule = function() { }; $hxClasses["lime.app.IModule"] = lime_app_IModule; lime_app_IModule.__name__ = ["lime","app","IModule"]; lime_app_IModule.prototype = { __registerLimeModule: null ,__unregisterLimeModule: null ,__class__: lime_app_IModule }; var lime_app_Module = function() { this.onExit = new lime_app__$Event_$Int_$Void(); }; $hxClasses["lime.app.Module"] = lime_app_Module; lime_app_Module.__name__ = ["lime","app","Module"]; lime_app_Module.__interfaces__ = [lime_app_IModule]; lime_app_Module.prototype = { onExit: null ,__registerLimeModule: function(application) { } ,__unregisterLimeModule: function(application) { } ,__class__: lime_app_Module }; var lime__$internal_backend_html5_HTML5Application = function(parent) { this.gameDeviceCache = new haxe_ds_IntMap(); this.parent = parent; this.currentUpdate = 0; this.lastUpdate = 0; this.nextUpdate = 0; this.framePeriod = -1; lime_media_AudioManager.init(); this.accelerometer = lime_system_Sensor.registerSensor(lime_system_SensorType.ACCELEROMETER,0); }; $hxClasses["lime._internal.backend.html5.HTML5Application"] = lime__$internal_backend_html5_HTML5Application; lime__$internal_backend_html5_HTML5Application.__name__ = ["lime","_internal","backend","html5","HTML5Application"]; lime__$internal_backend_html5_HTML5Application.prototype = { gameDeviceCache: null ,accelerometer: null ,currentUpdate: null ,deltaTime: null ,framePeriod: null ,lastUpdate: null ,nextUpdate: null ,parent: null ,convertKeyCode: function(keyCode) { if(keyCode >= 65 && keyCode <= 90) { return keyCode + 32; } switch(keyCode) { case 12: return 1073741980; case 16: return 1073742049; case 17: return 1073742048; case 18: return 1073742050; case 19: return 1073741896; case 20: return 1073741881; case 33: return 1073741899; case 34: return 1073741902; case 35: return 1073741901; case 36: return 1073741898; case 37: return 1073741904; case 38: return 1073741906; case 39: return 1073741903; case 40: return 1073741905; case 41: return 1073741943; case 43: return 1073741940; case 44: return 1073741894; case 45: return 1073741897; case 46: return 127; case 91: return 1073742051; case 92: return 1073742055; case 93: return 1073742055; case 95: return 1073742106; case 96: return 1073741922; case 97: return 1073741913; case 98: return 1073741914; case 99: return 1073741915; case 100: return 1073741916; case 101: return 1073741917; case 102: return 1073741918; case 103: return 1073741919; case 104: return 1073741920; case 105: return 1073741921; case 106: return 1073741909; case 107: return 1073741911; case 108: return 1073741923; case 109: return 1073741910; case 110: return 1073741923; case 111: return 1073741908; case 112: return 1073741882; case 113: return 1073741883; case 114: return 1073741884; case 115: return 1073741885; case 116: return 1073741886; case 117: return 1073741887; case 118: return 1073741888; case 119: return 1073741889; case 120: return 1073741890; case 121: return 1073741891; case 122: return 1073741892; case 123: return 1073741893; case 124: return 1073741928; case 125: return 1073741929; case 126: return 1073741930; case 127: return 1073741931; case 128: return 1073741932; case 129: return 1073741933; case 130: return 1073741934; case 131: return 1073741935; case 132: return 1073741936; case 133: return 1073741937; case 134: return 1073741938; case 135: return 1073741939; case 144: return 1073741907; case 145: return 1073741895; case 160: return 94; case 161: return 33; case 163: return 35; case 164: return 36; case 166: return 1073742094; case 167: return 1073742095; case 168: return 1073742097; case 169: return 41; case 170: return 42; case 171: return 96; case 172: return 1073741898; case 173: return 45; case 174: return 1073741953; case 175: return 1073741952; case 176: return 1073742082; case 177: return 1073742083; case 178: return 1073742084; case 179: return 1073742085; case 180: return 1073742089; case 181: return 1073742086; case 182: return 1073741953; case 183: return 1073741952; case 186: return 59; case 187: return 61; case 188: return 44; case 189: return 45; case 190: return 46; case 191: return 47; case 192: return 96; case 193: return 63; case 194: return 1073741923; case 219: return 91; case 220: return 92; case 221: return 93; case 222: return 39; case 223: return 96; case 224: return 1073742051; case 226: return 92; } return keyCode; } ,exec: function() { window.addEventListener("keydown",$bind(this,this.handleKeyEvent),false); window.addEventListener("keyup",$bind(this,this.handleKeyEvent),false); window.addEventListener("focus",$bind(this,this.handleWindowEvent),false); window.addEventListener("blur",$bind(this,this.handleWindowEvent),false); window.addEventListener("resize",$bind(this,this.handleWindowEvent),false); window.addEventListener("beforeunload",$bind(this,this.handleWindowEvent),false); window.addEventListener("devicemotion",$bind(this,this.handleSensorEvent),false); if (!CanvasRenderingContext2D.prototype.isPointInStroke) { CanvasRenderingContext2D.prototype.isPointInStroke = function (path, x, y) { return false; }; } if (!CanvasRenderingContext2D.prototype.isPointInPath) { CanvasRenderingContext2D.prototype.isPointInPath = function (path, x, y) { return false; }; } if ('performance' in window == false) { window.performance = {}; } if ('now' in window.performance == false) { var offset = Date.now(); if (performance.timing && performance.timing.navigationStart) { offset = performance.timing.navigationStart } window.performance.now = function now() { return Date.now() - offset; } } var lastTime = 0; var vendors = ['ms', 'moz', 'webkit', 'o']; for (var x = 0; x < vendors.length && !window.requestAnimationFrame; ++x) { window.requestAnimationFrame = window[vendors[x]+'RequestAnimationFrame']; window.cancelAnimationFrame = window[vendors[x]+'CancelAnimationFrame'] || window[vendors[x]+'CancelRequestAnimationFrame']; } if (!window.requestAnimationFrame) window.requestAnimationFrame = function(callback, element) { var currTime = new Date().getTime(); var timeToCall = Math.max(0, 16 - (currTime - lastTime)); var id = window.setTimeout(function() { callback(currTime + timeToCall); }, timeToCall); lastTime = currTime + timeToCall; return id; }; if (!window.cancelAnimationFrame) window.cancelAnimationFrame = function(id) { clearTimeout(id); }; window.requestAnimFrame = window.requestAnimationFrame; ; this.lastUpdate = new Date().getTime(); this.handleApplicationEvent(); return 0; } ,exit: function() { } ,handleApplicationEvent: function(__) { var _g = 0; var _g1 = this.parent.__windows; while(_g < _g1.length) { var $window = _g1[_g]; ++_g; $window.__backend.updateSize(); } this.updateGameDevices(); this.currentUpdate = new Date().getTime(); if(this.currentUpdate >= this.nextUpdate) { this.deltaTime = this.currentUpdate - this.lastUpdate; var _g2 = 0; var _g11 = this.parent.__windows; while(_g2 < _g11.length) { var window1 = _g11[_g2]; ++_g2; this.parent.onUpdate.dispatch(this.deltaTime | 0); if(window1.context != null) { window1.onRender.dispatch(window1.context); } } if(this.framePeriod < 0) { this.nextUpdate = this.currentUpdate; } else { this.nextUpdate = this.currentUpdate - this.currentUpdate % this.framePeriod + this.framePeriod; } this.lastUpdate = this.currentUpdate; } window.requestAnimationFrame($bind(this,this.handleApplicationEvent)); } ,handleKeyEvent: function(event) { if(this.parent.__window != null) { var keyCode = this.convertKeyCode(event.keyCode != null ? event.keyCode : event.which); var modifier = (event.shiftKey ? 3 : 0) | (event.ctrlKey ? 192 : 0) | (event.altKey ? 768 : 0) | (event.metaKey ? 3072 : 0); if(event.type == "keydown") { this.parent.__window.onKeyDown.dispatch(keyCode,modifier); if(this.parent.__window.onKeyDown.canceled && event.cancelable) { event.preventDefault(); } } else { this.parent.__window.onKeyUp.dispatch(keyCode,modifier); if(this.parent.__window.onKeyUp.canceled && event.cancelable) { event.preventDefault(); } } } } ,handleSensorEvent: function(event) { this.accelerometer.onUpdate.dispatch(event.accelerationIncludingGravity.x,event.accelerationIncludingGravity.y,event.accelerationIncludingGravity.z); } ,handleWindowEvent: function(event) { if(this.parent.__window != null) { var _g = event.type; switch(_g) { case "beforeunload": break; case "blur": this.parent.__window.onFocusOut.dispatch(); this.parent.__window.onDeactivate.dispatch(); break; case "focus": this.parent.__window.onFocusIn.dispatch(); this.parent.__window.onActivate.dispatch(); break; case "resize": this.parent.__window.__backend.handleResizeEvent(event); break; } } } ,updateGameDevices: function() { var devices = lime_ui_Joystick.__getDeviceData(); if(devices == null) { return; } var id; var gamepad; var joystick; var data; var cache; var _g1 = 0; var _g = devices.length; while(_g1 < _g) { var i = _g1++; id = i; data = devices[id]; if(data == null) { continue; } if(!this.gameDeviceCache.h.hasOwnProperty(id)) { cache = new lime__$internal_backend_html5_GameDeviceData(); cache.id = id; cache.connected = data.connected; var _g3 = 0; var _g2 = data.buttons.length; while(_g3 < _g2) { var i1 = _g3++; cache.buttons.push(data.buttons[i1].value); } var _g31 = 0; var _g21 = data.axes.length; while(_g31 < _g21) { var i2 = _g31++; cache.axes.push(data.axes[i2]); } if(data.mapping == "standard") { cache.isGamepad = true; } this.gameDeviceCache.h[id] = cache; if(data.connected) { lime_ui_Joystick.__connect(id); if(cache.isGamepad) { lime_ui_Gamepad.__connect(id); } } } cache = this.gameDeviceCache.h[id]; joystick = lime_ui_Joystick.devices.h[id]; gamepad = lime_ui_Gamepad.devices.h[id]; if(data.connected) { var button; var value; var _g32 = 0; var _g22 = data.buttons.length; while(_g32 < _g22) { var i3 = _g32++; value = data.buttons[i3].value; if(value != cache.buttons[i3]) { if(i3 == 6) { joystick.onAxisMove.dispatch(data.axes.length,value); if(gamepad != null) { gamepad.onAxisMove.dispatch(4,value); } } else if(i3 == 7) { joystick.onAxisMove.dispatch(data.axes.length + 1,value); if(gamepad != null) { gamepad.onAxisMove.dispatch(5,value); } } else { if(value > 0) { joystick.onButtonDown.dispatch(i3); } else { joystick.onButtonUp.dispatch(i3); } if(gamepad != null) { switch(i3) { case 0: button = 0; break; case 1: button = 1; break; case 2: button = 2; break; case 3: button = 3; break; case 4: button = 9; break; case 5: button = 10; break; case 8: button = 4; break; case 9: button = 6; break; case 10: button = 7; break; case 11: button = 8; break; case 12: button = 11; break; case 13: button = 12; break; case 14: button = 13; break; case 15: button = 14; break; case 16: button = 5; break; default: continue; } if(value > 0) { gamepad.onButtonDown.dispatch(button); } else { gamepad.onButtonUp.dispatch(button); } } } cache.buttons[i3] = value; } } var _g33 = 0; var _g23 = data.axes.length; while(_g33 < _g23) { var i4 = _g33++; if(data.axes[i4] != cache.axes[i4]) { joystick.onAxisMove.dispatch(i4,data.axes[i4]); if(gamepad != null) { gamepad.onAxisMove.dispatch(i4,data.axes[i4]); } cache.axes[i4] = data.axes[i4]; } } } else if(cache.connected) { cache.connected = false; lime_ui_Joystick.__disconnect(id); lime_ui_Gamepad.__disconnect(id); } } } ,__class__: lime__$internal_backend_html5_HTML5Application }; var lime_app_Application = function() { this.onCreateWindow = new lime_app__$Event_$lime_$ui_$Window_$Void(); this.onUpdate = new lime_app__$Event_$Int_$Void(); lime_app_Module.call(this); if(lime_app_Application.current == null) { lime_app_Application.current = this; } this.meta = new haxe_ds_StringMap(); this.modules = []; this.__windowByID = new haxe_ds_IntMap(); this.__windows = []; this.__backend = new lime__$internal_backend_html5_HTML5Application(this); this.__registerLimeModule(this); this.__preloader = new lime_utils_Preloader(); this.__preloader.onProgress.add($bind(this,this.onPreloadProgress)); this.__preloader.onComplete.add($bind(this,this.onPreloadComplete)); }; $hxClasses["lime.app.Application"] = lime_app_Application; lime_app_Application.__name__ = ["lime","app","Application"]; lime_app_Application.current = null; lime_app_Application.__super__ = lime_app_Module; lime_app_Application.prototype = $extend(lime_app_Module.prototype,{ meta: null ,modules: null ,onUpdate: null ,onCreateWindow: null ,preloader: null ,window: null ,windows: null ,__backend: null ,__preloader: null ,__window: null ,__windowByID: null ,__windows: null ,addModule: function(module) { module.__registerLimeModule(this); this.modules.push(module); } ,createWindow: function(attributes) { var $window = this.__createWindow(attributes); this.__addWindow($window); return $window; } ,exec: function() { lime_app_Application.current = this; return this.__backend.exec(); } ,onGamepadAxisMove: function(gamepad,axis,value) { } ,onGamepadButtonDown: function(gamepad,button) { } ,onGamepadButtonUp: function(gamepad,button) { } ,onGamepadConnect: function(gamepad) { } ,onGamepadDisconnect: function(gamepad) { } ,onJoystickAxisMove: function(joystick,axis,value) { } ,onJoystickButtonDown: function(joystick,button) { } ,onJoystickButtonUp: function(joystick,button) { } ,onJoystickConnect: function(joystick) { } ,onJoystickDisconnect: function(joystick) { } ,onJoystickHatMove: function(joystick,hat,position) { } ,onJoystickTrackballMove: function(joystick,trackball,x,y) { } ,onKeyDown: function(keyCode,modifier) { } ,onKeyUp: function(keyCode,modifier) { } ,onModuleExit: function(code) { } ,onMouseDown: function(x,y,button) { } ,onMouseMove: function(x,y) { } ,onMouseMoveRelative: function(x,y) { } ,onMouseUp: function(x,y,button) { } ,onMouseWheel: function(deltaX,deltaY,deltaMode) { } ,onPreloadComplete: function() { } ,onPreloadProgress: function(loaded,total) { } ,onRenderContextLost: function() { } ,onRenderContextRestored: function(context) { } ,onTextEdit: function(text,start,length) { } ,onTextInput: function(text) { } ,onTouchCancel: function(touch) { } ,onTouchEnd: function(touch) { } ,onTouchMove: function(touch) { } ,onTouchStart: function(touch) { } ,onWindowActivate: function() { } ,onWindowClose: function() { } ,onWindowCreate: function() { } ,onWindowDeactivate: function() { } ,onWindowDropFile: function(file) { } ,onWindowEnter: function() { } ,onWindowExpose: function() { } ,onWindowFocusIn: function() { } ,onWindowFocusOut: function() { } ,onWindowFullscreen: function() { } ,onWindowLeave: function() { } ,onWindowMove: function(x,y) { } ,onWindowMinimize: function() { } ,onWindowResize: function(width,height) { } ,onWindowRestore: function() { } ,removeModule: function(module) { if(module != null) { module.__unregisterLimeModule(this); HxOverrides.remove(this.modules,module); } } ,render: function(context) { } ,update: function(deltaTime) { } ,__addWindow: function(window) { if(window != null) { this.__windows.push(window); this.__windowByID.h[window.id] = window; var f = $bind(this,this.__onWindowClose); var a1 = window; var tmp = function() { f(a1); }; window.onClose.add(tmp,false,-10000); if(this.__window == null) { this.__window = window; window.onActivate.add($bind(this,this.onWindowActivate)); window.onRenderContextLost.add($bind(this,this.onRenderContextLost)); window.onRenderContextRestored.add($bind(this,this.onRenderContextRestored)); window.onDeactivate.add($bind(this,this.onWindowDeactivate)); window.onDropFile.add($bind(this,this.onWindowDropFile)); window.onEnter.add($bind(this,this.onWindowEnter)); window.onExpose.add($bind(this,this.onWindowExpose)); window.onFocusIn.add($bind(this,this.onWindowFocusIn)); window.onFocusOut.add($bind(this,this.onWindowFocusOut)); window.onFullscreen.add($bind(this,this.onWindowFullscreen)); window.onKeyDown.add($bind(this,this.onKeyDown)); window.onKeyUp.add($bind(this,this.onKeyUp)); window.onLeave.add($bind(this,this.onWindowLeave)); window.onMinimize.add($bind(this,this.onWindowMinimize)); window.onMouseDown.add($bind(this,this.onMouseDown)); window.onMouseMove.add($bind(this,this.onMouseMove)); window.onMouseMoveRelative.add($bind(this,this.onMouseMoveRelative)); window.onMouseUp.add($bind(this,this.onMouseUp)); window.onMouseWheel.add($bind(this,this.onMouseWheel)); window.onMove.add($bind(this,this.onWindowMove)); window.onRender.add($bind(this,this.render)); window.onResize.add($bind(this,this.onWindowResize)); window.onRestore.add($bind(this,this.onWindowRestore)); window.onTextEdit.add($bind(this,this.onTextEdit)); window.onTextInput.add($bind(this,this.onTextInput)); this.onWindowCreate(); } this.onCreateWindow.dispatch(window); } } ,__createWindow: function(attributes) { var $window = new lime_ui_Window(this,attributes); if($window.id == -1) { return null; } return $window; } ,__registerLimeModule: function(application) { application.onUpdate.add($bind(this,this.update)); application.onExit.add($bind(this,this.onModuleExit),false,0); application.onExit.add($bind(this,this.__onModuleExit),false,0); var gamepad = lime_ui_Gamepad.devices.iterator(); while(gamepad.hasNext()) { var gamepad1 = gamepad.next(); this.__onGamepadConnect(gamepad1); } lime_ui_Gamepad.onConnect.add($bind(this,this.__onGamepadConnect)); var joystick = lime_ui_Joystick.devices.iterator(); while(joystick.hasNext()) { var joystick1 = joystick.next(); this.__onJoystickConnect(joystick1); } lime_ui_Joystick.onConnect.add($bind(this,this.__onJoystickConnect)); lime_ui_Touch.onCancel.add($bind(this,this.onTouchCancel)); lime_ui_Touch.onStart.add($bind(this,this.onTouchStart)); lime_ui_Touch.onMove.add($bind(this,this.onTouchMove)); lime_ui_Touch.onEnd.add($bind(this,this.onTouchEnd)); } ,__removeWindow: function(window) { if(window != null && this.__windowByID.h.hasOwnProperty(window.id)) { if(this.__window == window) { this.__window = null; } HxOverrides.remove(this.__windows,window); this.__windowByID.remove(window.id); window.close(); if(this.__windows.length == 0) { lime_system_System.exit(0); } } } ,__onGamepadConnect: function(gamepad) { this.onGamepadConnect(gamepad); var f = $bind(this,this.onGamepadAxisMove); var a1 = gamepad; var tmp = function(a2,a3) { f(a1,a2,a3); }; gamepad.onAxisMove.add(tmp); var f1 = $bind(this,this.onGamepadButtonDown); var a11 = gamepad; var tmp1 = function(a21) { f1(a11,a21); }; gamepad.onButtonDown.add(tmp1); var f2 = $bind(this,this.onGamepadButtonUp); var a12 = gamepad; var tmp2 = function(a22) { f2(a12,a22); }; gamepad.onButtonUp.add(tmp2); var f3 = $bind(this,this.onGamepadDisconnect); var a13 = gamepad; var tmp3 = function() { f3(a13); }; gamepad.onDisconnect.add(tmp3); } ,__onJoystickConnect: function(joystick) { this.onJoystickConnect(joystick); var f = $bind(this,this.onJoystickAxisMove); var a1 = joystick; var tmp = function(a2,a3) { f(a1,a2,a3); }; joystick.onAxisMove.add(tmp); var f1 = $bind(this,this.onJoystickButtonDown); var a11 = joystick; var tmp1 = function(a21) { f1(a11,a21); }; joystick.onButtonDown.add(tmp1); var f2 = $bind(this,this.onJoystickButtonUp); var a12 = joystick; var tmp2 = function(a22) { f2(a12,a22); }; joystick.onButtonUp.add(tmp2); var f3 = $bind(this,this.onJoystickDisconnect); var a13 = joystick; var tmp3 = function() { f3(a13); }; joystick.onDisconnect.add(tmp3); var f4 = $bind(this,this.onJoystickHatMove); var a14 = joystick; var tmp4 = function(a23,a31) { f4(a14,a23,a31); }; joystick.onHatMove.add(tmp4); var f5 = $bind(this,this.onJoystickTrackballMove); var a15 = joystick; var tmp5 = function(a24,x,y) { f5(a15,a24,x,y); }; joystick.onTrackballMove.add(tmp5); } ,__onModuleExit: function(code) { this.__backend.exit(); } ,__onWindowClose: function(window) { if(this.__window == window) { this.onWindowClose(); } this.__removeWindow(window); } ,__unregisterLimeModule: function(application) { application.onUpdate.remove($bind(this,this.update)); application.onExit.remove($bind(this,this.__onModuleExit)); application.onExit.remove($bind(this,this.onModuleExit)); lime_ui_Gamepad.onConnect.remove($bind(this,this.__onGamepadConnect)); lime_ui_Joystick.onConnect.remove($bind(this,this.__onJoystickConnect)); lime_ui_Touch.onCancel.remove($bind(this,this.onTouchCancel)); lime_ui_Touch.onStart.remove($bind(this,this.onTouchStart)); lime_ui_Touch.onMove.remove($bind(this,this.onTouchMove)); lime_ui_Touch.onEnd.remove($bind(this,this.onTouchEnd)); this.onModuleExit(0); } ,get_preloader: function() { return this.__preloader; } ,get_window: function() { return this.__window; } ,get_windows: function() { return this.__windows; } ,__class__: lime_app_Application ,__properties__: {get_windows:"get_windows",get_window:"get_window",get_preloader:"get_preloader"} }); var ApplicationMain = function() { }; $hxClasses["ApplicationMain"] = ApplicationMain; ApplicationMain.__name__ = ["ApplicationMain"]; ApplicationMain.main = function() { lime_system_System.__registerEntryPoint("Bowsette",ApplicationMain.create); }; ApplicationMain.create = function(config) { var app = new openfl_display_Application(); ManifestResources.init(config); var _this = app.meta; if(__map_reserved["build"] != null) { _this.setReserved("build","121"); } else { _this.h["build"] = "121"; } var _this1 = app.meta; if(__map_reserved["company"] != null) { _this1.setReserved("company","HaxeFlixel"); } else { _this1.h["company"] = "HaxeFlixel"; } var _this2 = app.meta; if(__map_reserved["file"] != null) { _this2.setReserved("file","Bowsette"); } else { _this2.h["file"] = "Bowsette"; } var _this3 = app.meta; if(__map_reserved["name"] != null) { _this3.setReserved("name","Bowsette"); } else { _this3.h["name"] = "Bowsette"; } var _this4 = app.meta; if(__map_reserved["packageName"] != null) { _this4.setReserved("packageName","com.example.myapp"); } else { _this4.h["packageName"] = "com.example.myapp"; } var _this5 = app.meta; if(__map_reserved["version"] != null) { _this5.setReserved("version","0.0.1"); } else { _this5.h["version"] = "0.0.1"; } var attributes = { allowHighDPI : false, alwaysOnTop : false, borderless : false, element : null, frameRate : 60, height : 640, hidden : false, maximized : false, minimized : false, parameters : { }, resizable : false, title : "Bowsette", width : 640, x : null, y : null}; attributes.context = { antialiasing : 0, background : 0, colorDepth : 32, depth : true, hardware : true, stencil : true, type : null, vsync : false}; if(app.__window == null) { if(config != null) { var _g = 0; var _g1 = Reflect.fields(config); while(_g < _g1.length) { var field = _g1[_g]; ++_g; if(Object.prototype.hasOwnProperty.call(attributes,field)) { attributes[field] = Reflect.field(config,field); } else if(Object.prototype.hasOwnProperty.call(attributes.context,field)) { attributes.context[field] = Reflect.field(config,field); } } } } app.createWindow(attributes); var preloader = new openfl_display_Preloader(new flixel_system_FlxPreloader()); app.__preloader.onProgress.add(function(loaded,total) { preloader.update(loaded,total); }); app.__preloader.onComplete.add(function() { preloader.start(); }); var a1 = (js_Boot.__cast(app.__window , openfl_display_Window)).stage; var tmp = function() { ApplicationMain.start(a1); }; preloader.onComplete.add(tmp); var _g2 = 0; var _g11 = ManifestResources.preloadLibraries; while(_g2 < _g11.length) { var library = _g11[_g2]; ++_g2; app.__preloader.addLibrary(library); } var _g3 = 0; var _g12 = ManifestResources.preloadLibraryNames; while(_g3 < _g12.length) { var name = _g12[_g3]; ++_g3; app.__preloader.addLibraryName(name); } app.__preloader.load(); var result = app.exec(); }; ApplicationMain.start = function(stage) { try { var current = stage.getChildAt(0); if(current == null || !js_Boot.__instanceof(current,openfl_display_DisplayObjectContainer)) { current = new openfl_display_MovieClip(); stage.addChild(current); } new DocumentClass(current); stage.dispatchEvent(new openfl_events_Event("resize",false,false)); if(stage.window.__fullscreen) { stage.dispatchEvent(new openfl_events_FullScreenEvent("fullScreen",false,false,true,true)); } } catch( e ) { haxe_CallStack.lastException = e; if (e instanceof js__$Boot_HaxeError) e = e.val; stage.__handleError(e); } }; var openfl_events_IEventDispatcher = function() { }; $hxClasses["openfl.events.IEventDispatcher"] = openfl_events_IEventDispatcher; openfl_events_IEventDispatcher.__name__ = ["openfl","events","IEventDispatcher"]; openfl_events_IEventDispatcher.prototype = { addEventListener: null ,dispatchEvent: null ,hasEventListener: null ,removeEventListener: null ,willTrigger: null ,__class__: openfl_events_IEventDispatcher }; var openfl_events_EventDispatcher = function(target) { if(target != null) { this.__targetDispatcher = target; } }; $hxClasses["openfl.events.EventDispatcher"] = openfl_events_EventDispatcher; openfl_events_EventDispatcher.__name__ = ["openfl","events","EventDispatcher"]; openfl_events_EventDispatcher.__interfaces__ = [openfl_events_IEventDispatcher]; openfl_events_EventDispatcher.prototype = { __eventMap: null ,__iterators: null ,__targetDispatcher: null ,addEventListener: function(type,listener,useCapture,priority,useWeakReference) { if(useWeakReference == null) { useWeakReference = false; } if(priority == null) { priority = 0; } if(useCapture == null) { useCapture = false; } if(listener == null) { return; } if(this.__eventMap == null) { this.__eventMap = new haxe_ds_StringMap(); this.__iterators = new haxe_ds_StringMap(); } var _this = this.__eventMap; if(!(__map_reserved[type] != null ? _this.existsReserved(type) : _this.h.hasOwnProperty(type))) { var list = []; list.push(new openfl_events__$EventDispatcher_Listener(listener,useCapture,priority)); var iterator = new openfl_events__$EventDispatcher_DispatchIterator(list); var _this1 = this.__eventMap; if(__map_reserved[type] != null) { _this1.setReserved(type,list); } else { _this1.h[type] = list; } var _this2 = this.__iterators; var value = [iterator]; if(__map_reserved[type] != null) { _this2.setReserved(type,value); } else { _this2.h[type] = value; } } else { var _this3 = this.__eventMap; var list1 = __map_reserved[type] != null ? _this3.getReserved(type) : _this3.h[type]; var _g1 = 0; var _g = list1.length; while(_g1 < _g) { var i = _g1++; if(list1[i].match(listener,useCapture)) { return; } } var _this4 = this.__iterators; var iterators = __map_reserved[type] != null ? _this4.getReserved(type) : _this4.h[type]; var _g2 = 0; while(_g2 < iterators.length) { var iterator1 = iterators[_g2]; ++_g2; if(iterator1.active) { iterator1.copy(); } } this.__addListenerByPriority(list1,new openfl_events__$EventDispatcher_Listener(listener,useCapture,priority)); } } ,dispatchEvent: function(event) { if(this.__targetDispatcher != null) { event.target = this.__targetDispatcher; } else { event.target = this; } return this.__dispatchEvent(event); } ,hasEventListener: function(type) { if(this.__eventMap == null) { return false; } var _this = this.__eventMap; if(__map_reserved[type] != null) { return _this.existsReserved(type); } else { return _this.h.hasOwnProperty(type); } } ,removeEventListener: function(type,listener,useCapture) { if(useCapture == null) { useCapture = false; } if(this.__eventMap == null || listener == null) { return; } var _this = this.__eventMap; var list = __map_reserved[type] != null ? _this.getReserved(type) : _this.h[type]; if(list == null) { return; } var _this1 = this.__iterators; var iterators = __map_reserved[type] != null ? _this1.getReserved(type) : _this1.h[type]; var _g1 = 0; var _g = list.length; while(_g1 < _g) { var i = _g1++; if(list[i].match(listener,useCapture)) { var _g2 = 0; while(_g2 < iterators.length) { var iterator = iterators[_g2]; ++_g2; iterator.remove(list[i],i); } list.splice(i,1); break; } } if(list.length == 0) { this.__eventMap.remove(type); this.__iterators.remove(type); } var _this2 = this.__eventMap; if(!new haxe_ds__$StringMap_StringMapIterator(_this2,_this2.arrayKeys()).hasNext()) { this.__eventMap = null; this.__iterators = null; } } ,toString: function() { var full = Type.getClassName(js_Boot.getClass(this)); var $short = full.split(".").pop(); return "[object " + $short + "]"; } ,willTrigger: function(type) { return this.hasEventListener(type); } ,__dispatchEvent: function(event) { if(this.__eventMap == null || event == null) { return true; } var type = event.type; var _this = this.__eventMap; var list = __map_reserved[type] != null ? _this.getReserved(type) : _this.h[type]; if(list == null) { return true; } if(event.target == null) { if(this.__targetDispatcher != null) { event.target = this.__targetDispatcher; } else { event.target = this; } } event.currentTarget = this; var capture = event.eventPhase == 1; var index = 0; var _this1 = this.__iterators; var iterators = __map_reserved[type] != null ? _this1.getReserved(type) : _this1.h[type]; var iterator = iterators[0]; if(iterator.active) { iterator = new openfl_events__$EventDispatcher_DispatchIterator(list); iterators.push(iterator); } iterator.start(); var listener = iterator; while(listener.hasNext()) { var listener1 = listener.next(); if(listener1 == null) { continue; } if(listener1.useCapture == capture) { listener1.callback(event); if(event.__isCanceledNow) { break; } } } iterator.stop(); if(iterator != iterators[0]) { HxOverrides.remove(iterators,iterator); } else { iterator.reset(list); } return !event.isDefaultPrevented(); } ,__removeAllListeners: function() { this.__eventMap = null; this.__iterators = null; } ,__addListenerByPriority: function(list,listener) { var numElements = list.length; var addAtPosition = numElements; var _g1 = 0; var _g = numElements; while(_g1 < _g) { var i = _g1++; if(list[i].priority < listener.priority) { addAtPosition = i; break; } } list.splice(addAtPosition,0,listener); } ,__class__: openfl_events_EventDispatcher }; var openfl_display_IBitmapDrawable = function() { }; $hxClasses["openfl.display.IBitmapDrawable"] = openfl_display_IBitmapDrawable; openfl_display_IBitmapDrawable.__name__ = ["openfl","display","IBitmapDrawable"]; openfl_display_IBitmapDrawable.prototype = { __blendMode: null ,__isMask: null ,__renderable: null ,__renderTransform: null ,__transform: null ,__worldAlpha: null ,__worldColorTransform: null ,__worldTransform: null ,__getBounds: null ,__renderCairo: null ,__renderCairoMask: null ,__renderCanvas: null ,__renderCanvasMask: null ,__renderDOM: null ,__renderGL: null ,__renderGLMask: null ,__update: null ,__updateTransforms: null ,__mask: null ,__scrollRect: null ,__class__: openfl_display_IBitmapDrawable }; var openfl__$Vector_Vector_$Impl_$ = {}; $hxClasses["openfl._Vector.Vector_Impl_"] = openfl__$Vector_Vector_$Impl_$; openfl__$Vector_Vector_$Impl_$.__name__ = ["openfl","_Vector","Vector_Impl_"]; openfl__$Vector_Vector_$Impl_$.__properties__ = {set_length:"set_length",get_length:"get_length",set_fixed:"set_fixed",get_fixed:"get_fixed"}; openfl__$Vector_Vector_$Impl_$.ofArray_Float = function(a) { var vector = openfl__$Vector_Vector_$Impl_$.toFloatVector(null); var _g1 = 0; var _g = a.length; while(_g1 < _g) { var i = _g1++; vector.set(i,a[i]); } return vector; }; openfl__$Vector_Vector_$Impl_$.ofArray_Int = function(a) { var vector = openfl__$Vector_Vector_$Impl_$.toIntVector(null); var _g1 = 0; var _g = a.length; while(_g1 < _g) { var i = _g1++; vector.set(i,a[i]); } return vector; }; openfl__$Vector_Vector_$Impl_$.concat = function(this1,a) { return this1.concat(a); }; openfl__$Vector_Vector_$Impl_$.copy = function(this1) { return this1.copy(); }; openfl__$Vector_Vector_$Impl_$.get = function(this1,index) { return this1.get(index); }; openfl__$Vector_Vector_$Impl_$.indexOf = function(this1,x,from) { if(from == null) { from = 0; } return this1.indexOf(x,from); }; openfl__$Vector_Vector_$Impl_$.insertAt = function(this1,index,element) { this1.insertAt(index,element); }; openfl__$Vector_Vector_$Impl_$.iterator = function(this1) { return this1.iterator(); }; openfl__$Vector_Vector_$Impl_$.join = function(this1,sep) { if(sep == null) { sep = ","; } return this1.join(sep); }; openfl__$Vector_Vector_$Impl_$.lastIndexOf = function(this1,x,from) { return this1.lastIndexOf(x,from); }; openfl__$Vector_Vector_$Impl_$.pop = function(this1) { return this1.pop(); }; openfl__$Vector_Vector_$Impl_$.push = function(this1,x) { return this1.push(x); }; openfl__$Vector_Vector_$Impl_$.removeAt = function(this1,index) { return this1.removeAt(index); }; openfl__$Vector_Vector_$Impl_$.reverse = function(this1) { return this1.reverse(); }; openfl__$Vector_Vector_$Impl_$.set = function(this1,index,value) { return this1.set(index,value); }; openfl__$Vector_Vector_$Impl_$.shift = function(this1) { return this1.shift(); }; openfl__$Vector_Vector_$Impl_$.slice = function(this1,pos,end) { return this1.slice(pos,end); }; openfl__$Vector_Vector_$Impl_$.sort = function(this1,f) { this1.sort(f); }; openfl__$Vector_Vector_$Impl_$.splice = function(this1,pos,len) { return this1.splice(pos,len); }; openfl__$Vector_Vector_$Impl_$.toString = function(this1) { if(this1 != null) { return this1.toString(); } else { return null; } }; openfl__$Vector_Vector_$Impl_$.unshift = function(this1,x) { this1.unshift(x); }; openfl__$Vector_Vector_$Impl_$.convert = function(v) { return v; }; openfl__$Vector_Vector_$Impl_$.toBoolVector = function(t,length,fixed,array) { return new openfl__$Vector_BoolVector(length,fixed,array); }; openfl__$Vector_Vector_$Impl_$.toIntVector = function(t,length,fixed,array) { return new openfl__$Vector_IntVector(length,fixed,array); }; openfl__$Vector_Vector_$Impl_$.toFloatVector = function(t,length,fixed,array) { return new openfl__$Vector_FloatVector(length,fixed,array,true); }; openfl__$Vector_Vector_$Impl_$.toFunctionVector = function(t,length,fixed,array) { return new openfl__$Vector_FunctionVector(length,fixed,array); }; openfl__$Vector_Vector_$Impl_$.toObjectVector = function(t,length,fixed,array) { return new openfl__$Vector_ObjectVector(length,fixed,array,true); }; openfl__$Vector_Vector_$Impl_$.toNullVector = function(t,length,fixed,array) { return new openfl__$Vector_ObjectVector(length,fixed,array,true); }; openfl__$Vector_Vector_$Impl_$.fromBoolVector = function(vector) { return vector; }; openfl__$Vector_Vector_$Impl_$.fromIntVector = function(vector) { return vector; }; openfl__$Vector_Vector_$Impl_$.fromFloatVector = function(vector) { return vector; }; openfl__$Vector_Vector_$Impl_$.fromFunctionVector = function(vector) { return vector; }; openfl__$Vector_Vector_$Impl_$.fromObjectVector = function(vector) { return vector; }; openfl__$Vector_Vector_$Impl_$.get_fixed = function(this1) { return this1.fixed; }; openfl__$Vector_Vector_$Impl_$.set_fixed = function(this1,value) { return this1.fixed = value; }; openfl__$Vector_Vector_$Impl_$.get_length = function(this1) { return this1.get_length(); }; openfl__$Vector_Vector_$Impl_$.set_length = function(this1,value) { return this1.set_length(value); }; var lime_utils_ObjectPool = function(create,clean,size) { this.__pool = new haxe_ds_ObjectMap(); this.activeObjects = 0; this.inactiveObjects = 0; this.__inactiveObject0 = null; this.__inactiveObject1 = null; this.__inactiveObjectList = new List(); if(create != null) { this.create = create; } if(clean != null) { this.clean = clean; } if(size != null) { this.set_size(size); } }; $hxClasses["lime.utils.ObjectPool"] = lime_utils_ObjectPool; lime_utils_ObjectPool.__name__ = ["lime","utils","ObjectPool"]; lime_utils_ObjectPool.prototype = { activeObjects: null ,inactiveObjects: null ,__inactiveObject0: null ,__inactiveObject1: null ,__inactiveObjectList: null ,__pool: null ,__size: null ,add: function(object) { if(!this.__pool.exists(object)) { this.__pool.set(object,false); this.clean(object); if(this.__inactiveObject0 == null) { this.__inactiveObject0 = object; } else if(this.__inactiveObject1 == null) { this.__inactiveObject1 = object; } else { this.__inactiveObjectList.add(object); } this.inactiveObjects++; } } ,clean: function(object) { } ,clear: function() { this.__pool = new haxe_ds_ObjectMap(); this.activeObjects = 0; this.inactiveObjects = 0; this.__inactiveObject0 = null; this.__inactiveObject1 = null; this.__inactiveObjectList.clear(); } ,create: function() { return null; } ,get: function() { var object = null; if(this.inactiveObjects > 0) { var object1 = null; if(this.__inactiveObject0 != null) { object1 = this.__inactiveObject0; this.__inactiveObject0 = null; } else if(this.__inactiveObject1 != null) { object1 = this.__inactiveObject1; this.__inactiveObject1 = null; } else { object1 = this.__inactiveObjectList.pop(); if(this.__inactiveObjectList.length > 0) { this.__inactiveObject0 = this.__inactiveObjectList.pop(); } if(this.__inactiveObjectList.length > 0) { this.__inactiveObject1 = this.__inactiveObjectList.pop(); } } this.inactiveObjects--; this.activeObjects++; object = object1; } else if(this.__size == null || this.activeObjects < this.__size) { object = this.create(); if(object != null) { this.__pool.set(object,true); this.activeObjects++; } } return object; } ,release: function(object) { this.activeObjects--; if(this.__size == null || this.activeObjects + this.inactiveObjects < this.__size) { this.clean(object); if(this.__inactiveObject0 == null) { this.__inactiveObject0 = object; } else if(this.__inactiveObject1 == null) { this.__inactiveObject1 = object; } else { this.__inactiveObjectList.add(object); } this.inactiveObjects++; } else { this.__pool.remove(object); } } ,__addInactive: function(object) { if(this.__inactiveObject0 == null) { this.__inactiveObject0 = object; } else if(this.__inactiveObject1 == null) { this.__inactiveObject1 = object; } else { this.__inactiveObjectList.add(object); } this.inactiveObjects++; } ,__getInactive: function() { var object = null; if(this.__inactiveObject0 != null) { object = this.__inactiveObject0; this.__inactiveObject0 = null; } else if(this.__inactiveObject1 != null) { object = this.__inactiveObject1; this.__inactiveObject1 = null; } else { object = this.__inactiveObjectList.pop(); if(this.__inactiveObjectList.length > 0) { this.__inactiveObject0 = this.__inactiveObjectList.pop(); } if(this.__inactiveObjectList.length > 0) { this.__inactiveObject1 = this.__inactiveObjectList.pop(); } } this.inactiveObjects--; this.activeObjects++; return object; } ,__removeInactive: function(count) { if(count <= 0 || this.inactiveObjects == 0) { return; } if(this.__inactiveObject0 != null) { this.__pool.remove(this.__inactiveObject0); this.__inactiveObject0 = null; this.inactiveObjects--; --count; } if(count == 0 || this.inactiveObjects == 0) { return; } if(this.__inactiveObject1 != null) { this.__pool.remove(this.__inactiveObject1); this.__inactiveObject1 = null; this.inactiveObjects--; --count; } if(count == 0 || this.inactiveObjects == 0) { return; } var _g_head = this.__inactiveObjectList.h; while(_g_head != null) { var val = _g_head.item; _g_head = _g_head.next; var object = val; this.__pool.remove(object); this.__inactiveObjectList.remove(object); this.inactiveObjects--; --count; if(count == 0 || this.inactiveObjects == 0) { return; } } } ,get_size: function() { return this.__size; } ,set_size: function(value) { if(value == null) { this.__size = null; } else { var current = this.inactiveObjects + this.activeObjects; this.__size = value; if(current > value) { this.__removeInactive(current - value); } else if(value > current) { var object; var _g1 = 0; var _g = value - current; while(_g1 < _g) { var i = _g1++; object = this.create(); if(object != null) { this.__pool.set(object,false); this.__inactiveObjectList.add(object); this.inactiveObjects++; } else { break; } } } } return value; } ,__class__: lime_utils_ObjectPool ,__properties__: {set_size:"set_size",get_size:"get_size"} }; var haxe_IMap = function() { }; $hxClasses["haxe.IMap"] = haxe_IMap; haxe_IMap.__name__ = ["haxe","IMap"]; haxe_IMap.prototype = { get: null ,set: null ,exists: null ,remove: null ,keys: null ,iterator: null ,__class__: haxe_IMap }; var haxe_ds_ObjectMap = function() { this.h = { __keys__ : { }}; }; $hxClasses["haxe.ds.ObjectMap"] = haxe_ds_ObjectMap; haxe_ds_ObjectMap.__name__ = ["haxe","ds","ObjectMap"]; haxe_ds_ObjectMap.__interfaces__ = [haxe_IMap]; haxe_ds_ObjectMap.assignId = function(obj) { return obj.__id__ = ++haxe_ds_ObjectMap.count; }; haxe_ds_ObjectMap.getId = function(obj) { return obj.__id__; }; haxe_ds_ObjectMap.prototype = { h: null ,set: function(key,value) { var id = key.__id__ || (key.__id__ = ++haxe_ds_ObjectMap.count); this.h[id] = value; this.h.__keys__[id] = key; } ,get: function(key) { return this.h[key.__id__]; } ,exists: function(key) { return this.h.__keys__[key.__id__] != null; } ,remove: function(key) { var id = key.__id__; if(this.h.__keys__[id] == null) { return false; } delete(this.h[id]); delete(this.h.__keys__[id]); return true; } ,keys: function() { var a = []; for( var key in this.h.__keys__ ) { if(this.h.hasOwnProperty(key)) { a.push(this.h.__keys__[key]); } } return HxOverrides.iter(a); } ,iterator: function() { return { ref : this.h, it : this.keys(), hasNext : function() { return this.it.hasNext(); }, next : function() { var i = this.it.next(); return this.ref[i.__id__]; }}; } ,__class__: haxe_ds_ObjectMap }; var List = function() { this.length = 0; }; $hxClasses["List"] = List; List.__name__ = ["List"]; List.prototype = { h: null ,q: null ,length: null ,add: function(item) { var x = new _$List_ListNode(item,null); if(this.h == null) { this.h = x; } else { this.q.next = x; } this.q = x; this.length++; } ,pop: function() { if(this.h == null) { return null; } var x = this.h.item; this.h = this.h.next; if(this.h == null) { this.q = null; } this.length--; return x; } ,clear: function() { this.h = null; this.q = null; this.length = 0; } ,remove: function(v) { var prev = null; var l = this.h; while(l != null) { if(l.item == v) { if(prev == null) { this.h = l.next; } else { prev.next = l.next; } if(this.q == l) { this.q = prev; } this.length--; return true; } prev = l; l = l.next; } return false; } ,iterator: function() { return new _$List_ListIterator(this.h); } ,__class__: List }; var openfl_display_DisplayObject = function() { openfl_events_EventDispatcher.call(this); this.__alpha = 1; this.__blendMode = 10; this.__cacheAsBitmap = false; this.__transform = new openfl_geom_Matrix(); this.__visible = true; this.__rotation = 0; this.__rotationSine = 0; this.__rotationCosine = 1; this.__scaleX = 1; this.__scaleY = 1; this.__worldAlpha = 1; this.__worldBlendMode = 10; this.__worldTransform = new openfl_geom_Matrix(); this.__worldColorTransform = new openfl_geom_ColorTransform(); this.__renderTransform = new openfl_geom_Matrix(); this.__worldVisible = true; this.set_name("instance" + ++openfl_display_DisplayObject.__instanceCount); if(openfl_display_DisplayObject.__initStage != null) { this.stage = openfl_display_DisplayObject.__initStage; openfl_display_DisplayObject.__initStage = null; this.stage.addChild(this); } }; $hxClasses["openfl.display.DisplayObject"] = openfl_display_DisplayObject; openfl_display_DisplayObject.__name__ = ["openfl","display","DisplayObject"]; openfl_display_DisplayObject.__interfaces__ = [openfl_display_IBitmapDrawable]; openfl_display_DisplayObject.__initStage = null; openfl_display_DisplayObject.__supportDOM = null; openfl_display_DisplayObject.__calculateAbsoluteTransform = function(local,parentTransform,target) { target.a = local.a * parentTransform.a + local.b * parentTransform.c; target.b = local.a * parentTransform.b + local.b * parentTransform.d; target.c = local.c * parentTransform.a + local.d * parentTransform.c; target.d = local.c * parentTransform.b + local.d * parentTransform.d; target.tx = local.tx * parentTransform.a + local.ty * parentTransform.c + parentTransform.tx; target.ty = local.tx * parentTransform.b + local.ty * parentTransform.d + parentTransform.ty; }; openfl_display_DisplayObject.__super__ = openfl_events_EventDispatcher; openfl_display_DisplayObject.prototype = $extend(openfl_events_EventDispatcher.prototype,{ opaqueBackground: null ,parent: null ,scale9Grid: null ,stage: null ,__alpha: null ,__blendMode: null ,__cacheAsBitmap: null ,__cacheAsBitmapMatrix: null ,__cacheBitmap: null ,__cacheBitmapBackground: null ,__cacheBitmapColorTransform: null ,__cacheBitmapData: null ,__cacheBitmapData2: null ,__cacheBitmapData3: null ,__cacheBitmapMatrix: null ,__cacheBitmapRenderer: null ,__cairo: null ,__children: null ,__customRenderClear: null ,__customRenderEvent: null ,__filters: null ,__graphics: null ,__interactive: null ,__isCacheBitmapRender: null ,__isMask: null ,__loaderInfo: null ,__mask: null ,__maskTarget: null ,__name: null ,__objectTransform: null ,__renderable: null ,__renderDirty: null ,__renderParent: null ,__renderTransform: null ,__renderTransformCache: null ,__renderTransformChanged: null ,__rotation: null ,__rotationCosine: null ,__rotationSine: null ,__scaleX: null ,__scaleY: null ,__scrollRect: null ,__shader: null ,__tempPoint: null ,__transform: null ,__transformDirty: null ,__visible: null ,__worldAlpha: null ,__worldAlphaChanged: null ,__worldBlendMode: null ,__worldClip: null ,__worldClipChanged: null ,__worldColorTransform: null ,__worldShader: null ,__worldTransform: null ,__worldVisible: null ,__worldVisibleChanged: null ,__worldTransformInvalid: null ,__worldZ: null ,__canvas: null ,__context: null ,__style: null ,addEventListener: function(type,listener,useCapture,priority,useWeakReference) { if(useWeakReference == null) { useWeakReference = false; } if(priority == null) { priority = 0; } if(useCapture == null) { useCapture = false; } switch(type) { case "activate":case "deactivate":case "enterFrame":case "exitFrame":case "frameConstructed":case "render": if(!openfl_display_DisplayObject.__broadcastEvents.exists(type)) { openfl_display_DisplayObject.__broadcastEvents.set(type,[]); } var dispatchers = openfl_display_DisplayObject.__broadcastEvents.get(type); if(dispatchers.indexOf(this) == -1) { dispatchers.push(this); } break; case "clearDOM":case "renderCairo":case "renderCanvas":case "renderDOM":case "renderOpenGL": if(this.__customRenderEvent == null) { this.__customRenderEvent = new openfl_events_RenderEvent(null); this.__customRenderEvent.objectColorTransform = new openfl_geom_ColorTransform(); this.__customRenderEvent.objectMatrix = new openfl_geom_Matrix(); this.__customRenderClear = true; } break; default: } openfl_events_EventDispatcher.prototype.addEventListener.call(this,type,listener,useCapture,priority,useWeakReference); } ,dispatchEvent: function(event) { if(js_Boot.__instanceof(event,openfl_events_MouseEvent)) { var mouseEvent = event; var _this = this.__getRenderTransform(); mouseEvent.stageX = mouseEvent.localX * _this.a + mouseEvent.localY * _this.c + _this.tx; var _this1 = this.__getRenderTransform(); mouseEvent.stageY = mouseEvent.localX * _this1.b + mouseEvent.localY * _this1.d + _this1.ty; } else if(js_Boot.__instanceof(event,openfl_events_TouchEvent)) { var touchEvent = event; var _this2 = this.__getRenderTransform(); touchEvent.stageX = touchEvent.localX * _this2.a + touchEvent.localY * _this2.c + _this2.tx; var _this3 = this.__getRenderTransform(); touchEvent.stageY = touchEvent.localX * _this3.b + touchEvent.localY * _this3.d + _this3.ty; } event.target = this; return this.__dispatchWithCapture(event); } ,getBounds: function(targetCoordinateSpace) { var matrix = openfl_geom_Matrix.__pool.get(); if(targetCoordinateSpace != null && targetCoordinateSpace != this) { matrix.copyFrom(this.__getWorldTransform()); var targetMatrix = openfl_geom_Matrix.__pool.get(); targetMatrix.copyFrom(targetCoordinateSpace.__getWorldTransform()); targetMatrix.invert(); matrix.concat(targetMatrix); openfl_geom_Matrix.__pool.release(targetMatrix); } else { matrix.identity(); } var bounds = new openfl_geom_Rectangle(); this.__getBounds(bounds,matrix); openfl_geom_Matrix.__pool.release(matrix); return bounds; } ,getRect: function(targetCoordinateSpace) { return this.getBounds(targetCoordinateSpace); } ,globalToLocal: function(pos) { return this.__globalToLocal(pos,new openfl_geom_Point()); } ,hitTestObject: function(obj) { if(obj != null && obj.parent != null && this.parent != null) { var currentBounds = this.getBounds(this); var targetBounds = obj.getBounds(this); return currentBounds.intersects(targetBounds); } return false; } ,hitTestPoint: function(x,y,shapeFlag) { if(shapeFlag == null) { shapeFlag = false; } if(this.stage != null) { return this.__hitTest(x,y,shapeFlag,null,false,this); } else { return false; } } ,invalidate: function() { if(!this.__renderDirty) { this.__renderDirty = true; this.__setParentRenderDirty(); } } ,localToGlobal: function(point) { return this.__getRenderTransform().transformPoint(point); } ,removeEventListener: function(type,listener,useCapture) { if(useCapture == null) { useCapture = false; } openfl_events_EventDispatcher.prototype.removeEventListener.call(this,type,listener,useCapture); switch(type) { case "activate":case "deactivate":case "enterFrame":case "exitFrame":case "frameConstructed":case "render": if(!this.hasEventListener(type)) { if(openfl_display_DisplayObject.__broadcastEvents.exists(type)) { HxOverrides.remove(openfl_display_DisplayObject.__broadcastEvents.get(type),this); } } break; case "clearDOM":case "renderCairo":case "renderCanvas":case "renderDOM":case "renderOpenGL": if(!this.hasEventListener("clearDOM") && !this.hasEventListener("renderCairo") && !this.hasEventListener("renderCanvas") && !this.hasEventListener("renderDOM") && !this.hasEventListener("renderOpenGL")) { this.__customRenderEvent = null; } break; default: } } ,__cleanup: function() { this.__cairo = null; this.__canvas = null; this.__context = null; if(this.__graphics != null) { this.__graphics.__cleanup(); } if(this.__cacheBitmap != null) { this.__cacheBitmap.__cleanup(); this.__cacheBitmap = null; } if(this.__cacheBitmapData != null) { this.__cacheBitmapData.dispose(); this.__cacheBitmapData = null; } } ,__dispatch: function(event) { if(this.__eventMap != null && this.hasEventListener(event.type)) { var result = openfl_events_EventDispatcher.prototype.__dispatchEvent.call(this,event); if(event.__isCanceled) { return true; } return result; } return true; } ,__dispatchChildren: function(event) { } ,__dispatchEvent: function(event) { var parent = event.bubbles ? this.parent : null; var result = openfl_events_EventDispatcher.prototype.__dispatchEvent.call(this,event); if(event.__isCanceled) { return true; } if(parent != null && parent != this) { event.eventPhase = 3; if(event.target == null) { event.target = this; } parent.__dispatchEvent(event); } return result; } ,__dispatchWithCapture: function(event) { if(event.target == null) { event.target = this; } if(this.parent != null) { event.eventPhase = 1; if(this.parent == this.stage) { this.parent.__dispatch(event); } else { var stack = openfl_display_DisplayObject.__tempStack.get(); var parent = this.parent; var i = 0; while(parent != null) { stack.set(i,parent); parent = parent.parent; ++i; } var _g1 = 0; var _g = i; while(_g1 < _g) { var j = _g1++; stack.get(i - j - 1).__dispatch(event); } openfl_display_DisplayObject.__tempStack.release(stack); } } event.eventPhase = 2; return this.__dispatchEvent(event); } ,__enterFrame: function(deltaTime) { } ,__getBounds: function(rect,matrix) { if(this.__graphics != null) { this.__graphics.__getBounds(rect,matrix); } } ,__getCursor: function() { return null; } ,__getFilterBounds: function(rect,matrix) { this.__getBounds(rect,matrix); if(this.__filters != null) { var extension = openfl_geom_Rectangle.__pool.get(); var _g = 0; var _g1 = this.__filters; while(_g < _g1.length) { var filter = _g1[_g]; ++_g; extension.__expand(-filter.__leftExtension,-filter.__topExtension,filter.__leftExtension + filter.__rightExtension,filter.__topExtension + filter.__bottomExtension); } rect.width += extension.width; rect.height += extension.height; rect.x += extension.x; rect.y += extension.y; openfl_geom_Rectangle.__pool.release(extension); } } ,__getInteractive: function(stack) { return false; } ,__getLocalBounds: function(rect) { this.__getBounds(rect,this.__transform); rect.x -= this.__transform.tx; rect.y -= this.__transform.ty; } ,__getRenderBounds: function(rect,matrix) { if(this.__scrollRect == null) { this.__getBounds(rect,matrix); } else { var r = openfl_geom_Rectangle.__pool.get(); r.copyFrom(this.__scrollRect); r.__transform(r,matrix); rect.__expand(matrix.tx,matrix.ty,r.width,r.height); openfl_geom_Rectangle.__pool.release(r); } } ,__getRenderTransform: function() { this.__getWorldTransform(); return this.__renderTransform; } ,__getWorldTransform: function() { var transformDirty = this.__transformDirty || this.__worldTransformInvalid; if(transformDirty) { var list = []; var current = this; if(this.parent == null) { this.__update(true,false); } else { while(current != this.stage) { list.push(current); current = current.parent; if(current == null) { break; } } } var i = list.length; while(--i >= 0) { current = list[i]; current.__update(true,false); } } return this.__worldTransform; } ,__globalToLocal: function(global,local) { this.__getRenderTransform(); if(global == local) { var _this = this.__renderTransform; var norm = _this.a * _this.d - _this.b * _this.c; if(norm == 0) { global.x = -_this.tx; global.y = -_this.ty; } else { var px = 1.0 / norm * (_this.c * (_this.ty - global.y) + _this.d * (global.x - _this.tx)); global.y = 1.0 / norm * (_this.a * (global.y - _this.ty) + _this.b * (_this.tx - global.x)); global.x = px; } } else { var _this1 = this.__renderTransform; var norm1 = _this1.a * _this1.d - _this1.b * _this1.c; local.x = norm1 == 0 ? -_this1.tx : 1.0 / norm1 * (_this1.c * (_this1.ty - global.y) + _this1.d * (global.x - _this1.tx)); var _this2 = this.__renderTransform; var norm2 = _this2.a * _this2.d - _this2.b * _this2.c; local.y = norm2 == 0 ? -_this2.ty : 1.0 / norm2 * (_this2.a * (global.y - _this2.ty) + _this2.b * (_this2.tx - global.x)); } return local; } ,__hitTest: function(x,y,shapeFlag,stack,interactiveOnly,hitObject) { if(this.__graphics != null) { if(!hitObject.__visible || this.__isMask) { return false; } if(this.get_mask() != null && !this.get_mask().__hitTestMask(x,y)) { return false; } if(this.__graphics.__hitTest(x,y,shapeFlag,this.__getRenderTransform())) { if(stack != null && !interactiveOnly) { stack.push(hitObject); } return true; } } return false; } ,__hitTestMask: function(x,y) { if(this.__graphics != null) { if(this.__graphics.__hitTest(x,y,true,this.__getRenderTransform())) { return true; } } return false; } ,__readGraphicsData: function(graphicsData,recurse) { if(this.__graphics != null) { this.__graphics.__readGraphicsData(graphicsData); } } ,__renderCairo: function(renderer) { } ,__renderCairoMask: function(renderer) { } ,__renderCanvas: function(renderer) { if(this.get_mask() == null || this.get_mask().get_width() > 0 && this.get_mask().get_height() > 0) { this.__updateCacheBitmap(renderer,false); if(this.__cacheBitmap != null && !this.__isCacheBitmapRender) { var bitmap = this.__cacheBitmap; if(!(!bitmap.__renderable)) { var alpha = renderer.__getAlpha(bitmap.__worldAlpha); if(alpha > 0 && bitmap.__bitmapData != null && bitmap.__bitmapData.__isValid && bitmap.__bitmapData.readable) { var context = renderer.context; renderer.__setBlendMode(bitmap.__worldBlendMode); renderer.__pushMaskObject(bitmap,false); lime__$internal_graphics_ImageCanvasUtil.convertToCanvas(bitmap.__bitmapData.image); context.globalAlpha = alpha; var scrollRect = bitmap.__scrollRect; renderer.setTransform(bitmap.__renderTransform,context); if(!renderer.__allowSmoothing || !bitmap.smoothing) { context.imageSmoothingEnabled = false; } if(scrollRect == null) { context.drawImage(bitmap.__bitmapData.image.get_src(),0,0,bitmap.__bitmapData.image.width,bitmap.__bitmapData.image.height); } else { context.drawImage(bitmap.__bitmapData.image.get_src(),scrollRect.x,scrollRect.y,scrollRect.width,scrollRect.height); } if(!renderer.__allowSmoothing || !bitmap.smoothing) { context.imageSmoothingEnabled = true; } renderer.__popMaskObject(bitmap,false); } } } else if(!(this.opaqueBackground == null && this.__graphics == null)) { if(!(!this.__renderable)) { var alpha1 = renderer.__getAlpha(this.__worldAlpha); if(!(alpha1 <= 0)) { if(this.opaqueBackground != null && !this.__isCacheBitmapRender && this.get_width() > 0 && this.get_height() > 0) { renderer.__setBlendMode(this.__worldBlendMode); renderer.__pushMaskObject(this); var context1 = renderer.context; renderer.setTransform(this.__renderTransform,context1); var color = this.opaqueBackground; context1.fillStyle = "rgb(" + (color >>> 16 & 255) + "," + (color >>> 8 & 255) + "," + (color & 255) + ")"; context1.fillRect(0,0,this.get_width(),this.get_height()); renderer.__popMaskObject(this); } if(this.__graphics != null) { if(!(!this.__renderable)) { var alpha2 = renderer.__getAlpha(this.__worldAlpha); if(!(alpha2 <= 0)) { var graphics = this.__graphics; if(graphics != null) { openfl__$internal_renderer_canvas_CanvasGraphics.render(graphics,renderer); var bounds = graphics.__bounds; var width = graphics.__width; var height = graphics.__height; if(graphics.__canvas != null) { var context2 = renderer.context; var scrollRect1 = this.__scrollRect; if(width > 0 && height > 0 && (scrollRect1 == null || scrollRect1.width > 0 && scrollRect1.height > 0)) { renderer.__setBlendMode(this.__worldBlendMode); renderer.__pushMaskObject(this); context2.globalAlpha = alpha2; renderer.setTransform(graphics.__worldTransform,context2); if(renderer.__isDOM) { var reverseScale = 1 / renderer.pixelRatio; context2.scale(reverseScale,reverseScale); } context2.drawImage(graphics.__canvas,0,0,width,height); renderer.__popMaskObject(this); } } } } } } } } } } this.__renderEvent(renderer); } ,__renderCanvasMask: function(renderer) { if(this.__graphics != null) { openfl__$internal_renderer_canvas_CanvasGraphics.renderMask(this.__graphics,renderer); } } ,__renderDOM: function(renderer) { this.__updateCacheBitmap(renderer,false); if(this.__cacheBitmap != null && !this.__isCacheBitmapRender) { this.__renderDOMClear(renderer); this.__cacheBitmap.stage = this.stage; var bitmap = this.__cacheBitmap; if(bitmap.stage != null && bitmap.__worldVisible && bitmap.__renderable && bitmap.__bitmapData != null && bitmap.__bitmapData.__isValid && bitmap.__bitmapData.readable) { renderer.__pushMaskObject(bitmap); if(bitmap.__bitmapData.image.buffer.__srcImage != null) { openfl__$internal_renderer_dom_DOMBitmap.renderImage(bitmap,renderer); } else { openfl__$internal_renderer_dom_DOMBitmap.renderCanvas(bitmap,renderer); } renderer.__popMaskObject(bitmap); } else { openfl__$internal_renderer_dom_DOMBitmap.clear(bitmap,renderer); } } else { var tmp = this.opaqueBackground != null && !this.__isCacheBitmapRender && this.get_width() > 0 && this.get_height() > 0; var graphics = this.__graphics; if(this.stage != null && this.__worldVisible && this.__renderable && graphics != null) { openfl__$internal_renderer_canvas_CanvasGraphics.render(graphics,renderer.__canvasRenderer); if(graphics.__softwareDirty || this.__worldAlphaChanged || this.__canvas != graphics.__canvas) { if(graphics.__canvas != null) { if(this.__canvas != graphics.__canvas) { if(this.__canvas != null) { renderer.element.removeChild(this.__canvas); } this.__canvas = graphics.__canvas; this.__context = graphics.__context; renderer.__initializeElement(this,this.__canvas); } } else { openfl__$internal_renderer_dom_DOMShape.clear(this,renderer); } } if(this.__canvas != null) { renderer.__pushMaskObject(this); var cacheTransform = this.__renderTransform; this.__renderTransform = graphics.__worldTransform; if(graphics.__transformDirty) { graphics.__transformDirty = false; this.__renderTransformChanged = true; } renderer.__updateClip(this); renderer.__applyStyle(this,true,true,true); this.__renderTransform = cacheTransform; renderer.__popMaskObject(this); } } else { openfl__$internal_renderer_dom_DOMShape.clear(this,renderer); } } this.__renderEvent(renderer); } ,__renderDOMClear: function(renderer) { openfl__$internal_renderer_dom_DOMDisplayObject.clear(this,renderer); } ,__renderEvent: function(renderer) { if(this.__customRenderEvent != null && this.__renderable) { this.__customRenderEvent.allowSmoothing = renderer.__allowSmoothing; this.__customRenderEvent.objectMatrix.copyFrom(this.__renderTransform); this.__customRenderEvent.objectColorTransform.__copyFrom(this.__worldColorTransform); this.__customRenderEvent.renderer = renderer; var _g = renderer.__type; switch(_g) { case "cairo": this.__customRenderEvent.type = "renderCairo"; break; case "canvas": this.__customRenderEvent.type = "renderCanvas"; break; case "dom": if(this.stage != null && this.__worldVisible) { this.__customRenderEvent.type = "renderDOM"; } else { this.__customRenderEvent.type = "clearDOM"; } break; case "opengl": if(!renderer.__cleared) { renderer.__clear(); } var renderer1 = renderer; renderer1.setShader(this.__worldShader); renderer1.__context3D.__flushGL(); this.__customRenderEvent.type = "renderOpenGL"; break; default: return; } renderer.__setBlendMode(this.__worldBlendMode); renderer.__pushMaskObject(this); this.dispatchEvent(this.__customRenderEvent); renderer.__popMaskObject(this); if(renderer.__type == "opengl") { var renderer2 = renderer; renderer2.setViewport(); } } } ,__renderGL: function(renderer) { this.__updateCacheBitmap(renderer,false); if(this.__cacheBitmap != null && !this.__isCacheBitmapRender) { openfl__$internal_renderer_context3D_Context3DBitmap.render(this.__cacheBitmap,renderer); } else if(!(this.opaqueBackground == null && this.__graphics == null)) { if(!(!this.__renderable || this.__worldAlpha <= 0)) { if(this.opaqueBackground != null && !this.__isCacheBitmapRender && this.get_width() > 0 && this.get_height() > 0) { renderer.__setBlendMode(this.__worldBlendMode); renderer.__pushMaskObject(this); var context = renderer.__context3D; var rect = openfl_geom_Rectangle.__pool.get(); rect.setTo(0,0,this.get_width(),this.get_height()); renderer.__pushMaskRect(rect,this.__renderTransform); var color = this.opaqueBackground; context.clear((color >>> 16 & 255) / 255,(color >>> 8 & 255) / 255,(color & 255) / 255,1,0,0,1); renderer.__popMaskRect(); renderer.__popMaskObject(this); openfl_geom_Rectangle.__pool.release(rect); } if(this.__graphics != null) { openfl__$internal_renderer_context3D_Context3DShape.render(this,renderer); } } } this.__renderEvent(renderer); } ,__renderGLMask: function(renderer) { if(this.__graphics != null) { openfl__$internal_renderer_context3D_Context3DShape.renderMask(this,renderer); } } ,__setParentRenderDirty: function() { var renderParent = this.__renderParent != null ? this.__renderParent : this.parent; if(renderParent != null && !renderParent.__renderDirty) { renderParent.__renderDirty = true; renderParent.__setParentRenderDirty(); } } ,__setRenderDirty: function() { if(!this.__renderDirty) { this.__renderDirty = true; this.__setParentRenderDirty(); } } ,__setStageReference: function(stage) { this.stage = stage; } ,__setTransformDirty: function() { if(!this.__transformDirty) { this.__transformDirty = true; this.__setWorldTransformInvalid(); this.__setParentRenderDirty(); } } ,__setWorldTransformInvalid: function() { this.__worldTransformInvalid = true; } ,__shouldCacheHardware: function(value) { if(value == true || this.__filters != null) { return true; } if(value == false || this.__graphics != null && !openfl__$internal_renderer_context3D_Context3DGraphics.isCompatible(this.__graphics)) { return false; } return null; } ,__stopAllMovieClips: function() { } ,__update: function(transformOnly,updateChildren) { var renderParent = this.__renderParent != null ? this.__renderParent : this.parent; if(this.__isMask && renderParent == null) { renderParent = this.__maskTarget; } this.__renderable = this.__visible && this.__scaleX != 0 && this.__scaleY != 0 && !this.__isMask && (renderParent == null || !renderParent.__isMask); this.__updateTransforms(); this.__transformDirty = false; this.__worldTransformInvalid = false; if(!transformOnly) { if(openfl_display_DisplayObject.__supportDOM) { this.__renderTransformChanged = !this.__renderTransform.equals(this.__renderTransformCache); if(this.__renderTransformCache == null) { this.__renderTransformCache = this.__renderTransform.clone(); } else { this.__renderTransformCache.copyFrom(this.__renderTransform); } } if(renderParent != null) { if(openfl_display_DisplayObject.__supportDOM) { var worldVisible = renderParent.__worldVisible && this.__visible; this.__worldVisibleChanged = this.__worldVisible != worldVisible; this.__worldVisible = worldVisible; var worldAlpha = this.get_alpha() * renderParent.__worldAlpha; this.__worldAlphaChanged = this.__worldAlpha != worldAlpha; this.__worldAlpha = worldAlpha; } else { this.__worldAlpha = this.get_alpha() * renderParent.__worldAlpha; } if(this.__objectTransform != null) { this.__worldColorTransform.__copyFrom(this.__objectTransform.get_colorTransform()); this.__worldColorTransform.__combine(renderParent.__worldColorTransform); } else { this.__worldColorTransform.__copyFrom(renderParent.__worldColorTransform); } if(this.__blendMode == null || this.__blendMode == 10) { this.__worldBlendMode = renderParent.__worldBlendMode; } else { this.__worldBlendMode = this.__blendMode; } if(this.__shader == null) { this.__worldShader = renderParent.__shader; } else { this.__worldShader = this.__shader; } } else { this.__worldAlpha = this.get_alpha(); if(openfl_display_DisplayObject.__supportDOM) { this.__worldVisibleChanged = this.__worldVisible != this.__visible; this.__worldVisible = this.__visible; this.__worldAlphaChanged = this.__worldAlpha != this.get_alpha(); } if(this.__objectTransform != null) { this.__worldColorTransform.__copyFrom(this.__objectTransform.get_colorTransform()); } else { this.__worldColorTransform.__identity(); } } } if(updateChildren && this.get_mask() != null) { this.get_mask().__update(transformOnly,true); } } ,__updateCacheBitmap: function(renderer,force) { if(this.__isCacheBitmapRender) { return false; } var colorTransform = openfl_geom_ColorTransform.__pool.get(); colorTransform.__copyFrom(this.__worldColorTransform); if(renderer.__worldColorTransform != null) { colorTransform.__combine(renderer.__worldColorTransform); } var updated = false; if(this.get_cacheAsBitmap() || renderer.__type != "opengl" && !colorTransform.__isDefault(true)) { var rect = null; var needRender = this.__cacheBitmap == null || this.__renderDirty && (force || this.__children != null && this.__children.length > 0) || this.opaqueBackground != this.__cacheBitmapBackground; var softwareDirty = needRender || this.__graphics != null && this.__graphics.__softwareDirty || !this.__cacheBitmapColorTransform.__equals(colorTransform,true); var hardwareDirty = needRender || this.__graphics != null && this.__graphics.__hardwareDirty; var renderType = renderer.__type; if(softwareDirty || hardwareDirty) { if(renderType == "opengl") { if(this.__shouldCacheHardware(null) == false) { renderType = "canvas"; } } if(softwareDirty && (renderType == "canvas" || renderType == "cairo")) { needRender = true; } if(hardwareDirty && renderType == "opengl") { needRender = true; } } var updateTransform = needRender || !this.__cacheBitmap.__worldTransform.equals(this.__worldTransform); var hasFilters = this.__filters != null; if(hasFilters && !needRender) { var _g = 0; var _g1 = this.__filters; while(_g < _g1.length) { var filter = _g1[_g]; ++_g; if(filter.__renderDirty) { needRender = true; break; } } } if(this.__cacheBitmapMatrix == null) { this.__cacheBitmapMatrix = new openfl_geom_Matrix(); } var bitmapMatrix = this.__cacheAsBitmapMatrix != null ? this.__cacheAsBitmapMatrix : this.__renderTransform; if(!needRender && (bitmapMatrix.a != this.__cacheBitmapMatrix.a || bitmapMatrix.b != this.__cacheBitmapMatrix.b || bitmapMatrix.c != this.__cacheBitmapMatrix.c || bitmapMatrix.d != this.__cacheBitmapMatrix.d)) { needRender = true; } if(!needRender && renderer.__type != "opengl" && this.__cacheBitmapData != null && this.__cacheBitmapData.image != null && this.__cacheBitmapData.image.version < this.__cacheBitmapData.__textureVersion) { needRender = true; } this.__cacheBitmapMatrix.copyFrom(bitmapMatrix); this.__cacheBitmapMatrix.tx = 0; this.__cacheBitmapMatrix.ty = 0; var bitmapWidth = 0; var bitmapHeight = 0; var filterWidth = 0; var filterHeight = 0; var offsetX = 0.; var offsetY = 0.; if(updateTransform || needRender) { rect = openfl_geom_Rectangle.__pool.get(); this.__getFilterBounds(rect,this.__cacheBitmapMatrix); filterWidth = Math.ceil(rect.width); filterHeight = Math.ceil(rect.height); if(rect.x > 0) { offsetX = Math.ceil(rect.x); } else { offsetX = Math.floor(rect.x); } if(rect.y > 0) { offsetY = Math.ceil(rect.y); } else { offsetY = Math.floor(rect.y); } if(this.__cacheBitmapData != null) { if(filterWidth > this.__cacheBitmapData.width || filterHeight > this.__cacheBitmapData.height) { bitmapWidth = Math.ceil(Math.max(filterWidth * 1.25,this.__cacheBitmapData.width)); bitmapHeight = Math.ceil(Math.max(filterHeight * 1.25,this.__cacheBitmapData.height)); needRender = true; } else { bitmapWidth = this.__cacheBitmapData.width; bitmapHeight = this.__cacheBitmapData.height; } } else { bitmapWidth = filterWidth; bitmapHeight = filterHeight; } } if(needRender) { updateTransform = true; this.__cacheBitmapBackground = this.opaqueBackground; if(filterWidth >= 0.5 && filterHeight >= 0.5) { var needsFill = this.opaqueBackground != null && (bitmapWidth != filterWidth || bitmapHeight != filterHeight); var fillColor = this.opaqueBackground != null ? -16777216 | this.opaqueBackground : 0; var bitmapColor = needsFill ? 0 : fillColor; var allowFramebuffer = renderer.__type == "opengl"; if(this.__cacheBitmapData == null || bitmapWidth > this.__cacheBitmapData.width || bitmapHeight > this.__cacheBitmapData.height) { this.__cacheBitmapData = new openfl_display_BitmapData(bitmapWidth,bitmapHeight,true,bitmapColor); if(this.__cacheBitmap == null) { this.__cacheBitmap = new openfl_display_Bitmap(); } this.__cacheBitmap.__bitmapData = this.__cacheBitmapData; this.__cacheBitmapRenderer = null; } else { this.__cacheBitmapData.__fillRect(this.__cacheBitmapData.rect,bitmapColor,allowFramebuffer); } if(needsFill) { rect.setTo(0,0,filterWidth,filterHeight); this.__cacheBitmapData.__fillRect(rect,fillColor,allowFramebuffer); } } else { openfl_geom_ColorTransform.__pool.release(colorTransform); this.__cacheBitmap = null; this.__cacheBitmapData = null; this.__cacheBitmapData2 = null; this.__cacheBitmapData3 = null; this.__cacheBitmapRenderer = null; return true; } } else { this.__cacheBitmapData = this.__cacheBitmap.get_bitmapData(); this.__cacheBitmapData2 = null; this.__cacheBitmapData3 = null; } if(updateTransform || needRender) { this.__cacheBitmap.__worldTransform.copyFrom(this.__worldTransform); if(bitmapMatrix == this.__renderTransform) { this.__cacheBitmap.__renderTransform.identity(); this.__cacheBitmap.__renderTransform.tx = this.__renderTransform.tx + offsetX; this.__cacheBitmap.__renderTransform.ty = this.__renderTransform.ty + offsetY; } else { this.__cacheBitmap.__renderTransform.copyFrom(this.__cacheBitmapMatrix); this.__cacheBitmap.__renderTransform.invert(); this.__cacheBitmap.__renderTransform.concat(this.__renderTransform); this.__cacheBitmap.__renderTransform.tx += offsetX; this.__cacheBitmap.__renderTransform.ty += offsetY; } } this.__cacheBitmap.smoothing = renderer.__allowSmoothing; this.__cacheBitmap.__renderable = this.__renderable; this.__cacheBitmap.__worldAlpha = this.__worldAlpha; this.__cacheBitmap.__worldBlendMode = this.__worldBlendMode; this.__cacheBitmap.__worldShader = this.__worldShader; this.__cacheBitmap.__scrollRect = this.__scrollRect; this.__cacheBitmap.set_mask(this.__mask); if(needRender) { if(this.__cacheBitmapRenderer == null || renderType != this.__cacheBitmapRenderer.__type) { if(renderType == "opengl") { this.__cacheBitmapRenderer = new openfl_display_OpenGLRenderer((js_Boot.__cast(renderer , openfl_display_OpenGLRenderer)).__context3D,this.__cacheBitmapData); } else { if(this.__cacheBitmapData.image == null) { var color = this.opaqueBackground != null ? -16777216 | this.opaqueBackground : 0; this.__cacheBitmapData = new openfl_display_BitmapData(bitmapWidth,bitmapHeight,true,color); this.__cacheBitmap.__bitmapData = this.__cacheBitmapData; } lime__$internal_graphics_ImageCanvasUtil.convertToCanvas(this.__cacheBitmapData.image); this.__cacheBitmapRenderer = new openfl_display_CanvasRenderer(this.__cacheBitmapData.image.buffer.__srcContext); } this.__cacheBitmapRenderer.__worldTransform = new openfl_geom_Matrix(); this.__cacheBitmapRenderer.__worldColorTransform = new openfl_geom_ColorTransform(); } if(this.__cacheBitmapColorTransform == null) { this.__cacheBitmapColorTransform = new openfl_geom_ColorTransform(); } this.__cacheBitmapRenderer.__stage = this.stage; this.__cacheBitmapRenderer.__allowSmoothing = renderer.__allowSmoothing; this.__cacheBitmapRenderer.__setBlendMode(10); this.__cacheBitmapRenderer.__worldAlpha = 1 / this.__worldAlpha; this.__cacheBitmapRenderer.__worldTransform.copyFrom(this.__renderTransform); this.__cacheBitmapRenderer.__worldTransform.invert(); this.__cacheBitmapRenderer.__worldTransform.concat(this.__cacheBitmapMatrix); this.__cacheBitmapRenderer.__worldTransform.tx -= offsetX; this.__cacheBitmapRenderer.__worldTransform.ty -= offsetY; this.__cacheBitmapRenderer.__worldColorTransform.__copyFrom(colorTransform); this.__cacheBitmapRenderer.__worldColorTransform.__invert(); this.__isCacheBitmapRender = true; if(this.__cacheBitmapRenderer.__type == "opengl") { var parentRenderer = renderer; var childRenderer = this.__cacheBitmapRenderer; var context = childRenderer.__context3D; var cacheRTT = context.__state.renderToTexture; var cacheRTTDepthStencil = context.__state.renderToTextureDepthStencil; var cacheRTTAntiAlias = context.__state.renderToTextureAntiAlias; var cacheRTTSurfaceSelector = context.__state.renderToTextureSurfaceSelector; var cacheBlendMode = parentRenderer.__blendMode; parentRenderer.__suspendClipAndMask(); childRenderer.__copyShader(parentRenderer); this.__cacheBitmapData.__setUVRect(context,0,0,filterWidth,filterHeight); childRenderer.__setRenderTarget(this.__cacheBitmapData); if(this.__cacheBitmapData.image != null) { this.__cacheBitmapData.__textureVersion = this.__cacheBitmapData.image.version + 1; } this.__cacheBitmapData.__drawGL(this,childRenderer); if(hasFilters) { var needSecondBitmapData = true; var needCopyOfOriginal = false; var _g2 = 0; var _g11 = this.__filters; while(_g2 < _g11.length) { var filter1 = _g11[_g2]; ++_g2; if(filter1.__preserveObject) { needCopyOfOriginal = true; } } var bitmap = this.__cacheBitmapData; var bitmap2 = null; var bitmap3 = null; if(this.__cacheBitmapData2 == null || bitmapWidth > this.__cacheBitmapData2.width || bitmapHeight > this.__cacheBitmapData2.height) { this.__cacheBitmapData2 = new openfl_display_BitmapData(bitmapWidth,bitmapHeight,true,0); } else { this.__cacheBitmapData2.fillRect(this.__cacheBitmapData2.rect,0); if(this.__cacheBitmapData2.image != null) { this.__cacheBitmapData2.__textureVersion = this.__cacheBitmapData2.image.version + 1; } } this.__cacheBitmapData2.__setUVRect(context,0,0,filterWidth,filterHeight); bitmap2 = this.__cacheBitmapData2; if(needCopyOfOriginal) { if(this.__cacheBitmapData3 == null || bitmapWidth > this.__cacheBitmapData3.width || bitmapHeight > this.__cacheBitmapData3.height) { this.__cacheBitmapData3 = new openfl_display_BitmapData(bitmapWidth,bitmapHeight,true,0); } else { this.__cacheBitmapData3.fillRect(this.__cacheBitmapData3.rect,0); if(this.__cacheBitmapData3.image != null) { this.__cacheBitmapData3.__textureVersion = this.__cacheBitmapData3.image.version + 1; } } this.__cacheBitmapData3.__setUVRect(context,0,0,filterWidth,filterHeight); bitmap3 = this.__cacheBitmapData3; } childRenderer.__setBlendMode(10); childRenderer.__worldAlpha = 1; childRenderer.__worldTransform.identity(); childRenderer.__worldColorTransform.__identity(); var shader; var cacheBitmap; var _g3 = 0; var _g12 = this.__filters; while(_g3 < _g12.length) { var filter2 = _g12[_g3]; ++_g3; if(filter2.__preserveObject) { childRenderer.__setRenderTarget(bitmap3); childRenderer.__renderFilterPass(bitmap,childRenderer.__defaultDisplayShader,filter2.__smooth); } var _g31 = 0; var _g21 = filter2.__numShaderPasses; while(_g31 < _g21) { var i = _g31++; shader = filter2.__initShader(childRenderer,i); childRenderer.__setBlendMode(filter2.__shaderBlendMode); childRenderer.__setRenderTarget(bitmap2); childRenderer.__renderFilterPass(bitmap,shader,filter2.__smooth); cacheBitmap = bitmap; bitmap = bitmap2; bitmap2 = cacheBitmap; } if(filter2.__preserveObject) { childRenderer.__setBlendMode(10); childRenderer.__setRenderTarget(bitmap); childRenderer.__renderFilterPass(bitmap3,childRenderer.__defaultDisplayShader,filter2.__smooth,false); } filter2.__renderDirty = false; } this.__cacheBitmap.__bitmapData = bitmap; } parentRenderer.__blendMode = 10; parentRenderer.__setBlendMode(cacheBlendMode); parentRenderer.__copyShader(childRenderer); if(cacheRTT != null) { context.setRenderToTexture(cacheRTT,cacheRTTDepthStencil,cacheRTTAntiAlias,cacheRTTSurfaceSelector); } else { context.setRenderToBackBuffer(); } parentRenderer.__resumeClipAndMask(childRenderer); parentRenderer.setViewport(); this.__cacheBitmapColorTransform.__copyFrom(colorTransform); } else { this.__cacheBitmapData.__drawCanvas(this,this.__cacheBitmapRenderer); if(hasFilters) { var needSecondBitmapData1 = false; var needCopyOfOriginal1 = false; var _g4 = 0; var _g13 = this.__filters; while(_g4 < _g13.length) { var filter3 = _g13[_g4]; ++_g4; if(filter3.__needSecondBitmapData) { needSecondBitmapData1 = true; } if(filter3.__preserveObject) { needCopyOfOriginal1 = true; } } var bitmap1 = this.__cacheBitmapData; var bitmap21 = null; var bitmap31 = null; if(needSecondBitmapData1) { if(this.__cacheBitmapData2 == null || this.__cacheBitmapData2.image == null || bitmapWidth > this.__cacheBitmapData2.width || bitmapHeight > this.__cacheBitmapData2.height) { this.__cacheBitmapData2 = new openfl_display_BitmapData(bitmapWidth,bitmapHeight,true,0); } else { this.__cacheBitmapData2.fillRect(this.__cacheBitmapData2.rect,0); } bitmap21 = this.__cacheBitmapData2; } else { bitmap21 = bitmap1; } if(needCopyOfOriginal1) { if(this.__cacheBitmapData3 == null || this.__cacheBitmapData3.image == null || bitmapWidth > this.__cacheBitmapData3.width || bitmapHeight > this.__cacheBitmapData3.height) { this.__cacheBitmapData3 = new openfl_display_BitmapData(bitmapWidth,bitmapHeight,true,0); } else { this.__cacheBitmapData3.fillRect(this.__cacheBitmapData3.rect,0); } bitmap31 = this.__cacheBitmapData3; } if(this.__tempPoint == null) { this.__tempPoint = new openfl_geom_Point(); } var destPoint = this.__tempPoint; var cacheBitmap1; var lastBitmap; var _g5 = 0; var _g14 = this.__filters; while(_g5 < _g14.length) { var filter4 = _g14[_g5]; ++_g5; if(filter4.__preserveObject) { bitmap31.copyPixels(bitmap1,bitmap1.rect,destPoint); } lastBitmap = filter4.__applyFilter(bitmap21,bitmap1,bitmap1.rect,destPoint); if(filter4.__preserveObject) { lastBitmap.draw(bitmap31,null,this.__objectTransform != null ? this.__objectTransform.get_colorTransform() : null); } filter4.__renderDirty = false; if(needSecondBitmapData1 && lastBitmap == bitmap21) { cacheBitmap1 = bitmap1; bitmap1 = bitmap21; bitmap21 = cacheBitmap1; } } if(this.__cacheBitmapData != bitmap1) { cacheBitmap1 = this.__cacheBitmapData; this.__cacheBitmapData = bitmap1; this.__cacheBitmapData2 = cacheBitmap1; this.__cacheBitmap.__bitmapData = this.__cacheBitmapData; this.__cacheBitmapRenderer = null; } this.__cacheBitmap.__imageVersion = this.__cacheBitmapData.__textureVersion; } this.__cacheBitmapColorTransform.__copyFrom(colorTransform); if(!this.__cacheBitmapColorTransform.__isDefault(true)) { this.__cacheBitmapColorTransform.alphaMultiplier = 1; this.__cacheBitmapData.colorTransform(this.__cacheBitmapData.rect,this.__cacheBitmapColorTransform); } } this.__isCacheBitmapRender = false; } if(updateTransform || needRender) { openfl_geom_Rectangle.__pool.release(rect); } updated = updateTransform; } else if(this.__cacheBitmap != null) { if(renderer.__type == "dom") { this.__cacheBitmap.__renderDOMClear(renderer); } this.__cacheBitmap = null; this.__cacheBitmapData = null; this.__cacheBitmapData2 = null; this.__cacheBitmapData3 = null; this.__cacheBitmapColorTransform = null; this.__cacheBitmapRenderer = null; updated = true; } openfl_geom_ColorTransform.__pool.release(colorTransform); return updated; } ,__updateTransforms: function(overrideTransform) { var overrided = overrideTransform != null; var local = overrided ? overrideTransform : this.__transform; if(this.__worldTransform == null) { this.__worldTransform = new openfl_geom_Matrix(); } if(this.__renderTransform == null) { this.__renderTransform = new openfl_geom_Matrix(); } var renderParent = this.__renderParent != null ? this.__renderParent : this.parent; if(!overrided && this.parent != null) { var parentTransform = this.parent.__worldTransform; var target = this.__worldTransform; target.a = local.a * parentTransform.a + local.b * parentTransform.c; target.b = local.a * parentTransform.b + local.b * parentTransform.d; target.c = local.c * parentTransform.a + local.d * parentTransform.c; target.d = local.c * parentTransform.b + local.d * parentTransform.d; target.tx = local.tx * parentTransform.a + local.ty * parentTransform.c + parentTransform.tx; target.ty = local.tx * parentTransform.b + local.ty * parentTransform.d + parentTransform.ty; } else { this.__worldTransform.copyFrom(local); } if(!overrided && renderParent != null) { var parentTransform1 = renderParent.__renderTransform; var target1 = this.__renderTransform; target1.a = local.a * parentTransform1.a + local.b * parentTransform1.c; target1.b = local.a * parentTransform1.b + local.b * parentTransform1.d; target1.c = local.c * parentTransform1.a + local.d * parentTransform1.c; target1.d = local.c * parentTransform1.b + local.d * parentTransform1.d; target1.tx = local.tx * parentTransform1.a + local.ty * parentTransform1.c + parentTransform1.tx; target1.ty = local.tx * parentTransform1.b + local.ty * parentTransform1.d + parentTransform1.ty; } else { this.__renderTransform.copyFrom(local); } if(this.__scrollRect != null) { var _this = this.__renderTransform; var px = -this.__scrollRect.x; var py = -this.__scrollRect.y; _this.tx = px * _this.a + py * _this.c + _this.tx; _this.ty = px * _this.b + py * _this.d + _this.ty; } } ,get_alpha: function() { return this.__alpha; } ,set_alpha: function(value) { if(value > 1.0) { value = 1.0; } if(value < 0.0) { value = 0.0; } if(value != this.__alpha && !this.get_cacheAsBitmap()) { if(!this.__renderDirty) { this.__renderDirty = true; this.__setParentRenderDirty(); } } return this.__alpha = value; } ,get_blendMode: function() { return this.__blendMode; } ,set_blendMode: function(value) { if(value == null) { value = 10; } if(value != this.__blendMode) { if(!this.__renderDirty) { this.__renderDirty = true; this.__setParentRenderDirty(); } } return this.__blendMode = value; } ,get_cacheAsBitmap: function() { if(this.__filters == null) { return this.__cacheAsBitmap; } else { return true; } } ,set_cacheAsBitmap: function(value) { if(value != this.__cacheAsBitmap) { if(!this.__renderDirty) { this.__renderDirty = true; this.__setParentRenderDirty(); } } return this.__cacheAsBitmap = value; } ,get_cacheAsBitmapMatrix: function() { return this.__cacheAsBitmapMatrix; } ,set_cacheAsBitmapMatrix: function(value) { if(!this.__renderDirty) { this.__renderDirty = true; this.__setParentRenderDirty(); } return this.__cacheAsBitmapMatrix = value != null ? value.clone() : value; } ,get_filters: function() { if(this.__filters == null) { return []; } else { return this.__filters.slice(); } } ,set_filters: function(value) { if(value != null && value.length > 0) { this.__filters = value; if(!this.__renderDirty) { this.__renderDirty = true; this.__setParentRenderDirty(); } } else if(this.__filters != null) { this.__filters = null; if(!this.__renderDirty) { this.__renderDirty = true; this.__setParentRenderDirty(); } } return value; } ,get_height: function() { var rect = openfl_geom_Rectangle.__pool.get(); this.__getLocalBounds(rect); var height = rect.height; openfl_geom_Rectangle.__pool.release(rect); return height; } ,set_height: function(value) { var rect = openfl_geom_Rectangle.__pool.get(); var matrix = openfl_geom_Matrix.__pool.get(); matrix.identity(); this.__getBounds(rect,matrix); if(value != rect.height) { this.set_scaleY(value / rect.height); } else { this.set_scaleY(1); } openfl_geom_Rectangle.__pool.release(rect); openfl_geom_Matrix.__pool.release(matrix); return value; } ,get_loaderInfo: function() { if(this.stage != null) { return openfl__$internal_Lib.current.__loaderInfo; } return null; } ,get_mask: function() { return this.__mask; } ,set_mask: function(value) { if(value == this.__mask) { return value; } if(value != this.__mask) { this.__setTransformDirty(); if(!this.__renderDirty) { this.__renderDirty = true; this.__setParentRenderDirty(); } } if(this.__mask != null) { this.__mask.__isMask = false; this.__mask.__maskTarget = null; this.__mask.__setTransformDirty(); var _this = this.__mask; if(!_this.__renderDirty) { _this.__renderDirty = true; _this.__setParentRenderDirty(); } } if(value != null) { value.__isMask = true; value.__maskTarget = this; value.__setWorldTransformInvalid(); } if(this.__cacheBitmap != null && this.__cacheBitmap.get_mask() != value) { this.__cacheBitmap.set_mask(value); } return this.__mask = value; } ,get_mouseX: function() { var mouseX = this.stage != null ? this.stage.__mouseX : openfl__$internal_Lib.current.stage.__mouseX; var mouseY = this.stage != null ? this.stage.__mouseY : openfl__$internal_Lib.current.stage.__mouseY; var _this = this.__getRenderTransform(); var norm = _this.a * _this.d - _this.b * _this.c; if(norm == 0) { return -_this.tx; } else { return 1.0 / norm * (_this.c * (_this.ty - mouseY) + _this.d * (mouseX - _this.tx)); } } ,get_mouseY: function() { var mouseX = this.stage != null ? this.stage.__mouseX : openfl__$internal_Lib.current.stage.__mouseX; var mouseY = this.stage != null ? this.stage.__mouseY : openfl__$internal_Lib.current.stage.__mouseY; var _this = this.__getRenderTransform(); var norm = _this.a * _this.d - _this.b * _this.c; if(norm == 0) { return -_this.ty; } else { return 1.0 / norm * (_this.a * (mouseY - _this.ty) + _this.b * (_this.tx - mouseX)); } } ,get_name: function() { return this.__name; } ,set_name: function(value) { return this.__name = value; } ,get_root: function() { if(this.stage != null) { return openfl__$internal_Lib.current; } return null; } ,get_rotation: function() { return this.__rotation; } ,set_rotation: function(value) { if(value != this.__rotation) { this.__rotation = value; var radians = this.__rotation * (Math.PI / 180); this.__rotationSine = Math.sin(radians); this.__rotationCosine = Math.cos(radians); this.__transform.a = this.__rotationCosine * this.__scaleX; this.__transform.b = this.__rotationSine * this.__scaleX; this.__transform.c = -this.__rotationSine * this.__scaleY; this.__transform.d = this.__rotationCosine * this.__scaleY; this.__setTransformDirty(); } return value; } ,get_scaleX: function() { return this.__scaleX; } ,set_scaleX: function(value) { if(value != this.__scaleX) { this.__scaleX = value; if(this.__transform.b == 0) { if(value != this.__transform.a) { this.__setTransformDirty(); } this.__transform.a = value; } else { var a = this.__rotationCosine * value; var b = this.__rotationSine * value; if(this.__transform.a != a || this.__transform.b != b) { this.__setTransformDirty(); } this.__transform.a = a; this.__transform.b = b; } } return value; } ,get_scaleY: function() { return this.__scaleY; } ,set_scaleY: function(value) { if(value != this.__scaleY) { this.__scaleY = value; if(this.__transform.c == 0) { if(value != this.__transform.d) { this.__setTransformDirty(); } this.__transform.d = value; } else { var c = -this.__rotationSine * value; var d = this.__rotationCosine * value; if(this.__transform.d != d || this.__transform.c != c) { this.__setTransformDirty(); } this.__transform.c = c; this.__transform.d = d; } } return value; } ,get_scrollRect: function() { if(this.__scrollRect == null) { return null; } return this.__scrollRect.clone(); } ,set_scrollRect: function(value) { if(value == null && this.__scrollRect == null) { return value; } if(value != null && this.__scrollRect != null && this.__scrollRect.equals(value)) { return value; } if(value != null) { if(this.__scrollRect == null) { this.__scrollRect = new openfl_geom_Rectangle(); } this.__scrollRect.copyFrom(value); } else { this.__scrollRect = null; } this.__setTransformDirty(); if(openfl_display_DisplayObject.__supportDOM) { if(!this.__renderDirty) { this.__renderDirty = true; this.__setParentRenderDirty(); } } return value; } ,get_shader: function() { return this.__shader; } ,set_shader: function(value) { this.__shader = value; if(!this.__renderDirty) { this.__renderDirty = true; this.__setParentRenderDirty(); } return value; } ,get_transform: function() { if(this.__objectTransform == null) { this.__objectTransform = new openfl_geom_Transform(this); } return this.__objectTransform; } ,set_transform: function(value) { if(value == null) { throw new js__$Boot_HaxeError(new openfl_errors_TypeError("Parameter transform must be non-null.")); } if(this.__objectTransform == null) { this.__objectTransform = new openfl_geom_Transform(this); } this.__setTransformDirty(); this.__objectTransform.set_matrix(value.get_matrix()); if(!this.__objectTransform.get_colorTransform().__equals(value.get_colorTransform(),true) || !this.get_cacheAsBitmap() && this.__objectTransform.get_colorTransform().alphaMultiplier != value.get_colorTransform().alphaMultiplier) { this.__objectTransform.get_colorTransform().__copyFrom(value.get_colorTransform()); if(!this.__renderDirty) { this.__renderDirty = true; this.__setParentRenderDirty(); } } return this.__objectTransform; } ,get_visible: function() { return this.__visible; } ,set_visible: function(value) { if(value != this.__visible) { if(!this.__renderDirty) { this.__renderDirty = true; this.__setParentRenderDirty(); } } return this.__visible = value; } ,get_width: function() { var rect = openfl_geom_Rectangle.__pool.get(); this.__getLocalBounds(rect); var width = rect.width; openfl_geom_Rectangle.__pool.release(rect); return width; } ,set_width: function(value) { var rect = openfl_geom_Rectangle.__pool.get(); var matrix = openfl_geom_Matrix.__pool.get(); matrix.identity(); this.__getBounds(rect,matrix); if(value != rect.width) { this.set_scaleX(value / rect.width); } else { this.set_scaleX(1); } openfl_geom_Rectangle.__pool.release(rect); openfl_geom_Matrix.__pool.release(matrix); return value; } ,get_x: function() { return this.__transform.tx; } ,set_x: function(value) { if(value != this.__transform.tx) { this.__setTransformDirty(); } return this.__transform.tx = value; } ,get_y: function() { return this.__transform.ty; } ,set_y: function(value) { if(value != this.__transform.ty) { this.__setTransformDirty(); } return this.__transform.ty = value; } ,__class__: openfl_display_DisplayObject ,__properties__: {set_y:"set_y",get_y:"get_y",set_x:"set_x",get_x:"get_x",set_width:"set_width",get_width:"get_width",set_visible:"set_visible",get_visible:"get_visible",set_transform:"set_transform",get_transform:"get_transform",set_shader:"set_shader",get_shader:"get_shader",set_scrollRect:"set_scrollRect",get_scrollRect:"get_scrollRect",set_scaleY:"set_scaleY",get_scaleY:"get_scaleY",set_scaleX:"set_scaleX",get_scaleX:"get_scaleX",set_rotation:"set_rotation",get_rotation:"get_rotation",get_root:"get_root",set_name:"set_name",get_name:"get_name",get_mouseY:"get_mouseY",get_mouseX:"get_mouseX",set_mask:"set_mask",get_mask:"get_mask",get_loaderInfo:"get_loaderInfo",set_height:"set_height",get_height:"get_height",set_filters:"set_filters",get_filters:"get_filters",set_cacheAsBitmapMatrix:"set_cacheAsBitmapMatrix",get_cacheAsBitmapMatrix:"get_cacheAsBitmapMatrix",set_cacheAsBitmap:"set_cacheAsBitmap",get_cacheAsBitmap:"get_cacheAsBitmap",set_blendMode:"set_blendMode",get_blendMode:"get_blendMode",set_alpha:"set_alpha",get_alpha:"get_alpha"} }); var openfl_display_InteractiveObject = function() { openfl_display_DisplayObject.call(this); this.doubleClickEnabled = false; this.mouseEnabled = true; this.needsSoftKeyboard = false; this.__tabEnabled = null; this.__tabIndex = -1; }; $hxClasses["openfl.display.InteractiveObject"] = openfl_display_InteractiveObject; openfl_display_InteractiveObject.__name__ = ["openfl","display","InteractiveObject"]; openfl_display_InteractiveObject.__super__ = openfl_display_DisplayObject; openfl_display_InteractiveObject.prototype = $extend(openfl_display_DisplayObject.prototype,{ doubleClickEnabled: null ,focusRect: null ,mouseEnabled: null ,needsSoftKeyboard: null ,softKeyboardInputAreaOfInterest: null ,__tabEnabled: null ,__tabIndex: null ,requestSoftKeyboard: function() { openfl__$internal_Lib.notImplemented({ fileName : "InteractiveObject.hx", lineNumber : 1185, className : "openfl.display.InteractiveObject", methodName : "requestSoftKeyboard"}); return false; } ,__allowMouseFocus: function() { return this.get_tabEnabled(); } ,__getInteractive: function(stack) { if(stack != null) { stack.push(this); if(this.parent != null) { this.parent.__getInteractive(stack); } } return true; } ,__hitTest: function(x,y,shapeFlag,stack,interactiveOnly,hitObject) { if(!hitObject.get_visible() || this.__isMask || interactiveOnly && !this.mouseEnabled) { return false; } return openfl_display_DisplayObject.prototype.__hitTest.call(this,x,y,shapeFlag,stack,interactiveOnly,hitObject); } ,__tabTest: function(stack) { if(this.get_tabEnabled()) { stack.push(this); } } ,get_tabEnabled: function() { if(this.__tabEnabled == true) { return true; } else { return false; } } ,set_tabEnabled: function(value) { if(this.__tabEnabled != value) { this.__tabEnabled = value; this.dispatchEvent(new openfl_events_Event("tabEnabledChange",true,false)); } return this.__tabEnabled; } ,get_tabIndex: function() { return this.__tabIndex; } ,set_tabIndex: function(value) { if(this.__tabIndex != value) { if(value < -1) { throw new js__$Boot_HaxeError(new openfl_errors_RangeError("Parameter tabIndex must be a non-negative number; got " + value)); } this.__tabIndex = value; this.dispatchEvent(new openfl_events_Event("tabIndexChange",true,false)); } return this.__tabIndex; } ,__class__: openfl_display_InteractiveObject ,__properties__: $extend(openfl_display_DisplayObject.prototype.__properties__,{set_tabIndex:"set_tabIndex",get_tabIndex:"get_tabIndex",set_tabEnabled:"set_tabEnabled",get_tabEnabled:"get_tabEnabled"}) }); var openfl_display_DisplayObjectContainer = function() { openfl_display_InteractiveObject.call(this); this.mouseChildren = true; this.__tabChildren = true; this.__children = []; this.__removedChildren = openfl__$Vector_Vector_$Impl_$.toObjectVector(null); }; $hxClasses["openfl.display.DisplayObjectContainer"] = openfl_display_DisplayObjectContainer; openfl_display_DisplayObjectContainer.__name__ = ["openfl","display","DisplayObjectContainer"]; openfl_display_DisplayObjectContainer.__super__ = openfl_display_InteractiveObject; openfl_display_DisplayObjectContainer.prototype = $extend(openfl_display_InteractiveObject.prototype,{ mouseChildren: null ,__removedChildren: null ,__tabChildren: null ,addChild: function(child) { return this.addChildAt(child,this.get_numChildren()); } ,addChildAt: function(child,index) { if(child == null) { var error = new openfl_errors_TypeError("Error #2007: Parameter child must be non-null."); error.errorID = 2007; throw new js__$Boot_HaxeError(error); } else if(child.stage == child) { var error1 = new openfl_errors_ArgumentError("Error #3783: A Stage object cannot be added as the child of another object."); error1.errorID = 3783; throw new js__$Boot_HaxeError(error1); } if(index > this.__children.length || index < 0) { throw new js__$Boot_HaxeError("Invalid index position " + index); } if(child.parent == this) { if(this.__children[index] != child) { HxOverrides.remove(this.__children,child); this.__children.splice(index,0,child); if(!this.__renderDirty) { this.__renderDirty = true; this.__setParentRenderDirty(); } } } else { if(child.parent != null) { child.parent.removeChild(child); } this.__children.splice(index,0,child); child.parent = this; var addedToStage = this.stage != null && child.stage == null; if(addedToStage) { this.__setStageReference(this.stage); } child.__setTransformDirty(); if(!child.__renderDirty) { child.__renderDirty = true; child.__setParentRenderDirty(); } if(!this.__renderDirty) { this.__renderDirty = true; this.__setParentRenderDirty(); } var event = new openfl_events_Event("added",true); event.target = child; child.__dispatchWithCapture(event); if(addedToStage) { var event1 = new openfl_events_Event("addedToStage",false,false); child.__dispatchWithCapture(event1); child.__dispatchChildren(event1); } } return child; } ,areInaccessibleObjectsUnderPoint: function(point) { return false; } ,contains: function(child) { while(child != this && child != null) child = child.parent; return child == this; } ,getChildAt: function(index) { if(index >= 0 && index < this.__children.length) { return this.__children[index]; } return null; } ,getChildByName: function(name) { var _g = 0; var _g1 = this.__children; while(_g < _g1.length) { var child = _g1[_g]; ++_g; if(child.get_name() == name) { return child; } } return null; } ,getChildIndex: function(child) { var _g1 = 0; var _g = this.__children.length; while(_g1 < _g) { var i = _g1++; if(this.__children[i] == child) { return i; } } return -1; } ,getObjectsUnderPoint: function(point) { var stack = []; this.__hitTest(point.x,point.y,false,stack,false,this); stack.reverse(); return stack; } ,removeChild: function(child) { if(child != null && child.parent == this) { child.__setTransformDirty(); if(!child.__renderDirty) { child.__renderDirty = true; child.__setParentRenderDirty(); } if(!this.__renderDirty) { this.__renderDirty = true; this.__setParentRenderDirty(); } var event = new openfl_events_Event("removed",true); child.__dispatchWithCapture(event); if(this.stage != null) { if(child.stage != null && this.stage.get_focus() == child) { this.stage.set_focus(null); } var event1 = new openfl_events_Event("removedFromStage",false,false); child.__dispatchWithCapture(event1); child.__dispatchChildren(event1); child.__setStageReference(null); } child.parent = null; HxOverrides.remove(this.__children,child); this.__removedChildren.push(child); child.__setTransformDirty(); } return child; } ,removeChildAt: function(index) { if(index >= 0 && index < this.__children.length) { return this.removeChild(this.__children[index]); } return null; } ,removeChildren: function(beginIndex,endIndex) { if(endIndex == null) { endIndex = 2147483647; } if(beginIndex == null) { beginIndex = 0; } if(endIndex == 2147483647) { endIndex = this.__children.length - 1; if(endIndex < 0) { return; } } if(beginIndex > this.__children.length - 1) { return; } else if(endIndex < beginIndex || beginIndex < 0 || endIndex > this.__children.length) { throw new js__$Boot_HaxeError(new openfl_errors_RangeError("The supplied index is out of bounds.")); } var numRemovals = endIndex - beginIndex; while(numRemovals >= 0) { this.removeChildAt(beginIndex); --numRemovals; } } ,resolve: function(fieldName) { if(this.__children == null) { return null; } var _g = 0; var _g1 = this.__children; while(_g < _g1.length) { var child = _g1[_g]; ++_g; if(child.get_name() == fieldName) { return child; } } return null; } ,setChildIndex: function(child,index) { if(index >= 0 && index <= this.__children.length && child.parent == this) { HxOverrides.remove(this.__children,child); this.__children.splice(index,0,child); } } ,stopAllMovieClips: function() { this.__stopAllMovieClips(); } ,swapChildren: function(child1,child2) { if(child1.parent == this && child2.parent == this) { var index1 = this.__children.indexOf(child1); var index2 = this.__children.indexOf(child2); this.__children[index1] = child2; this.__children[index2] = child1; if(!this.__renderDirty) { this.__renderDirty = true; this.__setParentRenderDirty(); } } } ,swapChildrenAt: function(index1,index2) { var swap = this.__children[index1]; this.__children[index1] = this.__children[index2]; this.__children[index2] = swap; swap = null; if(!this.__renderDirty) { this.__renderDirty = true; this.__setParentRenderDirty(); } } ,__cleanup: function() { openfl_display_InteractiveObject.prototype.__cleanup.call(this); var _g = 0; var _g1 = this.__children; while(_g < _g1.length) { var child = _g1[_g]; ++_g; child.__cleanup(); } var _g2 = 0; var _g11 = this.__removedChildren; while(_g2 < _g11.get_length()) { var orphan = _g11.get(_g2); ++_g2; if(orphan.stage == null) { orphan.__cleanup(); } } this.__removedChildren.set_length(0); } ,__cleanupRemovedChildren: function() { var _g = 0; var _g1 = this.__removedChildren; while(_g < _g1.get_length()) { var orphan = _g1.get(_g); ++_g; if(orphan.stage == null) { orphan.__cleanup(); } } this.__removedChildren.set_length(0); } ,__dispatchChildren: function(event) { if(this.__children != null) { var _g = 0; var _g1 = this.__children; while(_g < _g1.length) { var child = _g1[_g]; ++_g; event.target = child; if(!child.__dispatchWithCapture(event)) { break; } child.__dispatchChildren(event); } } } ,__enterFrame: function(deltaTime) { var _g = 0; var _g1 = this.__children; while(_g < _g1.length) { var child = _g1[_g]; ++_g; child.__enterFrame(deltaTime); } } ,__getBounds: function(rect,matrix) { openfl_display_InteractiveObject.prototype.__getBounds.call(this,rect,matrix); if(this.__children.length == 0) { return; } var childWorldTransform = openfl_geom_Matrix.__pool.get(); var _g = 0; var _g1 = this.__children; while(_g < _g1.length) { var child = _g1[_g]; ++_g; if(child.__scaleX == 0 || child.__scaleY == 0) { continue; } var local = child.__transform; childWorldTransform.a = local.a * matrix.a + local.b * matrix.c; childWorldTransform.b = local.a * matrix.b + local.b * matrix.d; childWorldTransform.c = local.c * matrix.a + local.d * matrix.c; childWorldTransform.d = local.c * matrix.b + local.d * matrix.d; childWorldTransform.tx = local.tx * matrix.a + local.ty * matrix.c + matrix.tx; childWorldTransform.ty = local.tx * matrix.b + local.ty * matrix.d + matrix.ty; child.__getBounds(rect,childWorldTransform); } openfl_geom_Matrix.__pool.release(childWorldTransform); } ,__getFilterBounds: function(rect,matrix) { openfl_display_InteractiveObject.prototype.__getFilterBounds.call(this,rect,matrix); if(this.__children.length == 0) { return; } var childWorldTransform = openfl_geom_Matrix.__pool.get(); var _g = 0; var _g1 = this.__children; while(_g < _g1.length) { var child = _g1[_g]; ++_g; if(child.__scaleX == 0 || child.__scaleY == 0 || child.__isMask) { continue; } var local = child.__transform; childWorldTransform.a = local.a * matrix.a + local.b * matrix.c; childWorldTransform.b = local.a * matrix.b + local.b * matrix.d; childWorldTransform.c = local.c * matrix.a + local.d * matrix.c; childWorldTransform.d = local.c * matrix.b + local.d * matrix.d; childWorldTransform.tx = local.tx * matrix.a + local.ty * matrix.c + matrix.tx; childWorldTransform.ty = local.tx * matrix.b + local.ty * matrix.d + matrix.ty; child.__getFilterBounds(rect,childWorldTransform); } openfl_geom_Matrix.__pool.release(childWorldTransform); } ,__getRenderBounds: function(rect,matrix) { if(this.__scrollRect != null) { openfl_display_InteractiveObject.prototype.__getRenderBounds.call(this,rect,matrix); return; } else { openfl_display_InteractiveObject.prototype.__getBounds.call(this,rect,matrix); } if(this.__children.length == 0) { return; } var childWorldTransform = openfl_geom_Matrix.__pool.get(); var _g = 0; var _g1 = this.__children; while(_g < _g1.length) { var child = _g1[_g]; ++_g; if(child.__scaleX == 0 || child.__scaleY == 0 || child.__isMask) { continue; } var local = child.__transform; childWorldTransform.a = local.a * matrix.a + local.b * matrix.c; childWorldTransform.b = local.a * matrix.b + local.b * matrix.d; childWorldTransform.c = local.c * matrix.a + local.d * matrix.c; childWorldTransform.d = local.c * matrix.b + local.d * matrix.d; childWorldTransform.tx = local.tx * matrix.a + local.ty * matrix.c + matrix.tx; childWorldTransform.ty = local.tx * matrix.b + local.ty * matrix.d + matrix.ty; child.__getRenderBounds(rect,childWorldTransform); } openfl_geom_Matrix.__pool.release(childWorldTransform); } ,__hitTest: function(x,y,shapeFlag,stack,interactiveOnly,hitObject) { if(!hitObject.get_visible() || this.__isMask || interactiveOnly && !this.mouseEnabled && !this.mouseChildren) { return false; } if(this.get_mask() != null && !this.get_mask().__hitTestMask(x,y)) { return false; } if(this.__scrollRect != null) { var point = openfl_geom_Point.__pool.get(); point.setTo(x,y); var _this = this.__getRenderTransform(); var norm = _this.a * _this.d - _this.b * _this.c; if(norm == 0) { point.x = -_this.tx; point.y = -_this.ty; } else { var px = 1.0 / norm * (_this.c * (_this.ty - point.y) + _this.d * (point.x - _this.tx)); point.y = 1.0 / norm * (_this.a * (point.y - _this.ty) + _this.b * (_this.tx - point.x)); point.x = px; } if(!this.__scrollRect.containsPoint(point)) { openfl_geom_Point.__pool.release(point); return false; } openfl_geom_Point.__pool.release(point); } var i = this.__children.length; if(interactiveOnly) { if(stack == null || !this.mouseChildren) { while(--i >= 0) if(this.__children[i].__hitTest(x,y,shapeFlag,null,true,this.__children[i])) { if(stack != null) { stack.push(hitObject); } return true; } } else if(stack != null) { var length = stack.length; var interactive = false; var hitTest = false; while(--i >= 0) { interactive = this.__children[i].__getInteractive(null); if(interactive || this.mouseEnabled && !hitTest) { if(this.__children[i].__hitTest(x,y,shapeFlag,stack,true,this.__children[i])) { hitTest = true; if(interactive && stack.length > length) { break; } } } } if(hitTest) { stack.splice(length,0,hitObject); return true; } } } else { var hitTest1 = false; while(--i >= 0) if(this.__children[i].__hitTest(x,y,shapeFlag,stack,false,this.__children[i])) { hitTest1 = true; if(stack == null) { break; } } return hitTest1; } return false; } ,__hitTestMask: function(x,y) { var i = this.__children.length; while(--i >= 0) if(this.__children[i].__hitTestMask(x,y)) { return true; } return false; } ,__readGraphicsData: function(graphicsData,recurse) { openfl_display_InteractiveObject.prototype.__readGraphicsData.call(this,graphicsData,recurse); if(recurse) { var _g = 0; var _g1 = this.__children; while(_g < _g1.length) { var child = _g1[_g]; ++_g; child.__readGraphicsData(graphicsData,recurse); } } } ,__renderCairo: function(renderer) { } ,__renderCairoMask: function(renderer) { } ,__renderCanvas: function(renderer) { var _g = 0; var _g1 = this.__removedChildren; while(_g < _g1.get_length()) { var orphan = _g1.get(_g); ++_g; if(orphan.stage == null) { orphan.__cleanup(); } } this.__removedChildren.set_length(0); if(!this.__renderable || this.__worldAlpha <= 0 || this.get_mask() != null && (this.get_mask().get_width() <= 0 || this.get_mask().get_height() <= 0)) { return; } openfl_display_InteractiveObject.prototype.__renderCanvas.call(this,renderer); if(this.__cacheBitmap != null && !this.__isCacheBitmapRender) { return; } renderer.__pushMaskObject(this); if(renderer.__stage != null) { var _g2 = 0; var _g11 = this.__children; while(_g2 < _g11.length) { var child = _g11[_g2]; ++_g2; child.__renderCanvas(renderer); child.__renderDirty = false; } this.__renderDirty = false; } else { var _g3 = 0; var _g12 = this.__children; while(_g3 < _g12.length) { var child1 = _g12[_g3]; ++_g3; child1.__renderCanvas(renderer); } } renderer.__popMaskObject(this); } ,__renderCanvasMask: function(renderer) { var _g = 0; var _g1 = this.__removedChildren; while(_g < _g1.get_length()) { var orphan = _g1.get(_g); ++_g; if(orphan.stage == null) { orphan.__cleanup(); } } this.__removedChildren.set_length(0); if(this.__graphics != null) { openfl__$internal_renderer_canvas_CanvasGraphics.renderMask(this.__graphics,renderer); } var _g2 = 0; var _g11 = this.__children; while(_g2 < _g11.length) { var child = _g11[_g2]; ++_g2; child.__renderCanvasMask(renderer); } } ,__renderDOM: function(renderer) { var _g = 0; var _g1 = this.__removedChildren; while(_g < _g1.get_length()) { var orphan = _g1.get(_g); ++_g; if(orphan.stage == null) { orphan.__renderDOM(renderer); } } var _g2 = 0; var _g11 = this.__removedChildren; while(_g2 < _g11.get_length()) { var orphan1 = _g11.get(_g2); ++_g2; if(orphan1.stage == null) { orphan1.__cleanup(); } } this.__removedChildren.set_length(0); openfl_display_InteractiveObject.prototype.__renderDOM.call(this,renderer); if(this.__cacheBitmap != null && !this.__isCacheBitmapRender) { return; } renderer.__pushMaskObject(this); if(renderer.__stage != null) { var _g3 = 0; var _g12 = this.__children; while(_g3 < _g12.length) { var child = _g12[_g3]; ++_g3; child.__renderDOM(renderer); child.__renderDirty = false; } this.__renderDirty = false; } else { var _g4 = 0; var _g13 = this.__children; while(_g4 < _g13.length) { var child1 = _g13[_g4]; ++_g4; child1.__renderDOM(renderer); } } renderer.__popMaskObject(this); } ,__renderDOMClear: function(renderer) { var _g = 0; var _g1 = this.__removedChildren; while(_g < _g1.get_length()) { var orphan = _g1.get(_g); ++_g; if(orphan.stage == null) { orphan.__renderDOMClear(renderer); } } var _g2 = 0; var _g11 = this.__removedChildren; while(_g2 < _g11.get_length()) { var orphan1 = _g11.get(_g2); ++_g2; if(orphan1.stage == null) { orphan1.__cleanup(); } } this.__removedChildren.set_length(0); var _g3 = 0; var _g12 = this.__children; while(_g3 < _g12.length) { var child = _g12[_g3]; ++_g3; child.__renderDOMClear(renderer); } } ,__renderGL: function(renderer) { var _g = 0; var _g1 = this.__removedChildren; while(_g < _g1.get_length()) { var orphan = _g1.get(_g); ++_g; if(orphan.stage == null) { orphan.__cleanup(); } } this.__removedChildren.set_length(0); if(!this.__renderable || this.__worldAlpha <= 0) { return; } openfl_display_InteractiveObject.prototype.__renderGL.call(this,renderer); if(this.__cacheBitmap != null && !this.__isCacheBitmapRender) { return; } if(this.__children.length > 0) { renderer.__pushMaskObject(this); if(renderer.__stage != null) { var _g2 = 0; var _g11 = this.__children; while(_g2 < _g11.length) { var child = _g11[_g2]; ++_g2; child.__renderGL(renderer); child.__renderDirty = false; } this.__renderDirty = false; } else { var _g3 = 0; var _g12 = this.__children; while(_g3 < _g12.length) { var child1 = _g12[_g3]; ++_g3; child1.__renderGL(renderer); } } } if(this.__children.length > 0) { renderer.__popMaskObject(this); } } ,__renderGLMask: function(renderer) { var _g = 0; var _g1 = this.__removedChildren; while(_g < _g1.get_length()) { var orphan = _g1.get(_g); ++_g; if(orphan.stage == null) { orphan.__cleanup(); } } this.__removedChildren.set_length(0); if(this.__graphics != null) { openfl__$internal_renderer_context3D_Context3DShape.renderMask(this,renderer); } var _g2 = 0; var _g11 = this.__children; while(_g2 < _g11.length) { var child = _g11[_g2]; ++_g2; child.__renderGLMask(renderer); } } ,__setStageReference: function(stage) { openfl_display_InteractiveObject.prototype.__setStageReference.call(this,stage); if(this.__children != null) { var _g = 0; var _g1 = this.__children; while(_g < _g1.length) { var child = _g1[_g]; ++_g; child.__setStageReference(stage); } } } ,__setWorldTransformInvalid: function() { if(!this.__worldTransformInvalid) { this.__worldTransformInvalid = true; if(this.__children != null) { var _g = 0; var _g1 = this.__children; while(_g < _g1.length) { var child = _g1[_g]; ++_g; child.__setWorldTransformInvalid(); } } } } ,__shouldCacheHardware: function(value) { if(value == true) { return true; } value = openfl_display_InteractiveObject.prototype.__shouldCacheHardware.call(this,value); if(value == true) { return true; } if(this.__children != null) { var _g = 0; var _g1 = this.__children; while(_g < _g1.length) { var child = _g1[_g]; ++_g; value = child.__shouldCacheHardware(value); if(value == true) { return true; } } } return value; } ,__stopAllMovieClips: function() { var _g = 0; var _g1 = this.__children; while(_g < _g1.length) { var child = _g1[_g]; ++_g; child.__stopAllMovieClips(); } } ,__tabTest: function(stack) { openfl_display_InteractiveObject.prototype.__tabTest.call(this,stack); if(!this.get_tabChildren()) { return; } var interactive = false; var interactiveObject = null; var _g = 0; var _g1 = this.__children; while(_g < _g1.length) { var child = _g1[_g]; ++_g; interactive = child.__getInteractive(null); if(interactive) { interactiveObject = child; interactiveObject.__tabTest(stack); } } } ,__update: function(transformOnly,updateChildren) { openfl_display_InteractiveObject.prototype.__update.call(this,transformOnly,updateChildren); if(updateChildren) { var _g = 0; var _g1 = this.__children; while(_g < _g1.length) { var child = _g1[_g]; ++_g; child.__update(transformOnly,true); } } } ,get_numChildren: function() { return this.__children.length; } ,get_tabChildren: function() { return this.__tabChildren; } ,set_tabChildren: function(value) { if(this.__tabChildren != value) { this.__tabChildren = value; this.dispatchEvent(new openfl_events_Event("tabChildrenChange",true,false)); } return this.__tabChildren; } ,__class__: openfl_display_DisplayObjectContainer ,__properties__: $extend(openfl_display_InteractiveObject.prototype.__properties__,{set_tabChildren:"set_tabChildren",get_tabChildren:"get_tabChildren",get_numChildren:"get_numChildren"}) }); var openfl_display_Sprite = function() { openfl_display_DisplayObjectContainer.call(this); this.__buttonMode = false; this.useHandCursor = true; }; $hxClasses["openfl.display.Sprite"] = openfl_display_Sprite; openfl_display_Sprite.__name__ = ["openfl","display","Sprite"]; openfl_display_Sprite.__super__ = openfl_display_DisplayObjectContainer; openfl_display_Sprite.prototype = $extend(openfl_display_DisplayObjectContainer.prototype,{ dropTarget: null ,hitArea: null ,useHandCursor: null ,__buttonMode: null ,startDrag: function(lockCenter,bounds) { if(lockCenter == null) { lockCenter = false; } if(this.stage != null) { this.stage.__startDrag(this,lockCenter,bounds); } } ,stopDrag: function() { if(this.stage != null) { this.stage.__stopDrag(this); } } ,__getCursor: function() { if(this.__buttonMode && this.useHandCursor) { return "button"; } else { return null; } } ,__hitTest: function(x,y,shapeFlag,stack,interactiveOnly,hitObject) { if(interactiveOnly && !this.mouseEnabled && !this.mouseChildren) { return false; } if(!hitObject.get_visible() || this.__isMask) { return this.__hitTestHitArea(x,y,shapeFlag,stack,interactiveOnly,hitObject); } if(this.get_mask() != null && !this.get_mask().__hitTestMask(x,y)) { return this.__hitTestHitArea(x,y,shapeFlag,stack,interactiveOnly,hitObject); } if(this.__scrollRect != null) { var point = openfl_geom_Point.__pool.get(); point.setTo(x,y); var _this = this.__getRenderTransform(); var norm = _this.a * _this.d - _this.b * _this.c; if(norm == 0) { point.x = -_this.tx; point.y = -_this.ty; } else { var px = 1.0 / norm * (_this.c * (_this.ty - point.y) + _this.d * (point.x - _this.tx)); point.y = 1.0 / norm * (_this.a * (point.y - _this.ty) + _this.b * (_this.tx - point.x)); point.x = px; } if(!this.__scrollRect.containsPoint(point)) { openfl_geom_Point.__pool.release(point); return this.__hitTestHitArea(x,y,shapeFlag,stack,true,hitObject); } openfl_geom_Point.__pool.release(point); } if(openfl_display_DisplayObjectContainer.prototype.__hitTest.call(this,x,y,shapeFlag,stack,interactiveOnly,hitObject)) { if(stack != null) { return interactiveOnly; } else { return true; } } else if(this.hitArea == null && this.__graphics != null && this.__graphics.__hitTest(x,y,shapeFlag,this.__getRenderTransform())) { if(stack != null && (!interactiveOnly || this.mouseEnabled)) { stack.push(hitObject); } return true; } return this.__hitTestHitArea(x,y,shapeFlag,stack,interactiveOnly,hitObject); } ,__hitTestHitArea: function(x,y,shapeFlag,stack,interactiveOnly,hitObject) { if(this.hitArea != null) { if(!this.hitArea.mouseEnabled) { this.hitArea.mouseEnabled = true; var hitTest = this.hitArea.__hitTest(x,y,shapeFlag,null,true,hitObject); this.hitArea.mouseEnabled = false; if(stack != null && hitTest) { stack[stack.length] = hitObject; } return hitTest; } } return false; } ,__hitTestMask: function(x,y) { if(openfl_display_DisplayObjectContainer.prototype.__hitTestMask.call(this,x,y)) { return true; } else if(this.__graphics != null && this.__graphics.__hitTest(x,y,true,this.__getRenderTransform())) { return true; } return false; } ,get_graphics: function() { if(this.__graphics == null) { this.__graphics = new openfl_display_Graphics(this); } return this.__graphics; } ,get_tabEnabled: function() { if(this.__tabEnabled == null) { return this.__buttonMode; } else { return this.__tabEnabled; } } ,get_buttonMode: function() { return this.__buttonMode; } ,set_buttonMode: function(value) { return this.__buttonMode = value; } ,__class__: openfl_display_Sprite ,__properties__: $extend(openfl_display_DisplayObjectContainer.prototype.__properties__,{get_graphics:"get_graphics",set_buttonMode:"set_buttonMode",get_buttonMode:"get_buttonMode"}) }); var Main = function() { flixel_FlxG.autoPause = false; new GameData(); openfl_display_Sprite.call(this); this.addChild(new flixel_FlxGame(0,0,LevelSelectState,1,60,60,true)); }; $hxClasses["Main"] = Main; Main.__name__ = ["Main"]; Main.__super__ = openfl_display_Sprite; Main.prototype = $extend(openfl_display_Sprite.prototype,{ __class__: Main }); var DocumentClass = function(current) { current.addChild(this); Main.call(this); this.dispatchEvent(new openfl_events_Event("addedToStage",false,false)); }; $hxClasses["DocumentClass"] = DocumentClass; DocumentClass.__name__ = ["DocumentClass"]; DocumentClass.__super__ = Main; DocumentClass.prototype = $extend(Main.prototype,{ __class__: DocumentClass }); var flixel_util_IFlxDestroyable = function() { }; $hxClasses["flixel.util.IFlxDestroyable"] = flixel_util_IFlxDestroyable; flixel_util_IFlxDestroyable.__name__ = ["flixel","util","IFlxDestroyable"]; flixel_util_IFlxDestroyable.prototype = { destroy: null ,__class__: flixel_util_IFlxDestroyable }; var flixel_FlxBasic = function() { this.flixelType = 0; this.exists = true; this.alive = true; this.visible = true; this.active = true; this.ID = -1; }; $hxClasses["flixel.FlxBasic"] = flixel_FlxBasic; flixel_FlxBasic.__name__ = ["flixel","FlxBasic"]; flixel_FlxBasic.__interfaces__ = [flixel_util_IFlxDestroyable]; flixel_FlxBasic.prototype = { ID: null ,active: null ,visible: null ,alive: null ,exists: null ,flixelType: null ,_cameras: null ,destroy: function() { this.set_exists(false); this._cameras = null; } ,kill: function() { this.set_alive(false); this.set_exists(false); } ,revive: function() { this.set_alive(true); this.set_exists(true); } ,update: function(elapsed) { } ,draw: function() { } ,toString: function() { var value = this.active; var _this = flixel_util_LabelValuePair._pool.get(); _this.label = "active"; _this.value = value; var value1 = this.visible; var _this1 = flixel_util_LabelValuePair._pool.get(); _this1.label = "visible"; _this1.value = value1; var value2 = this.alive; var _this2 = flixel_util_LabelValuePair._pool.get(); _this2.label = "alive"; _this2.value = value2; var value3 = this.exists; var _this3 = flixel_util_LabelValuePair._pool.get(); _this3.label = "exists"; _this3.value = value3; return flixel_util_FlxStringUtil.getDebugString([_this,_this1,_this2,_this3]); } ,set_visible: function(Value) { return this.visible = Value; } ,set_active: function(Value) { return this.active = Value; } ,set_exists: function(Value) { return this.exists = Value; } ,set_alive: function(Value) { return this.alive = Value; } ,get_camera: function() { if(this._cameras == null || this._cameras.length == 0) { return flixel_FlxCamera.defaultCameras[0]; } else { return this._cameras[0]; } } ,set_camera: function(Value) { if(this._cameras == null) { this._cameras = [Value]; } else { this._cameras[0] = Value; } return Value; } ,get_cameras: function() { if(this._cameras == null) { return flixel_FlxCamera.defaultCameras; } else { return this._cameras; } } ,set_cameras: function(Value) { return this._cameras = Value; } ,__class__: flixel_FlxBasic ,__properties__: {set_cameras:"set_cameras",get_cameras:"get_cameras",set_camera:"set_camera",get_camera:"get_camera",set_exists:"set_exists",set_alive:"set_alive",set_visible:"set_visible",set_active:"set_active"} }; var flixel_group_FlxTypedGroup = function(MaxSize) { if(MaxSize == null) { MaxSize = 0; } this._marker = 0; this.length = 0; flixel_FlxBasic.call(this); this.members = []; this.set_maxSize(Math.abs(MaxSize) | 0); this.flixelType = 2; }; $hxClasses["flixel.group.FlxTypedGroup"] = flixel_group_FlxTypedGroup; flixel_group_FlxTypedGroup.__name__ = ["flixel","group","FlxTypedGroup"]; flixel_group_FlxTypedGroup.overlaps = function(Callback,Group,X,Y,InScreenSpace,Camera) { var result = false; if(Group != null) { var i = 0; var l = Group.length; var basic; while(i < l) { basic = Group.members[i++]; if(basic != null && Callback(basic,X,Y,InScreenSpace,Camera)) { result = true; break; } } } return result; }; flixel_group_FlxTypedGroup.resolveGroup = function(ObjectOrGroup) { var group = null; if(ObjectOrGroup != null) { if(ObjectOrGroup.flixelType == 2) { group = ObjectOrGroup; } else if(ObjectOrGroup.flixelType == 4) { var spriteGroup = ObjectOrGroup; group = spriteGroup.group; } } return group; }; flixel_group_FlxTypedGroup.__super__ = flixel_FlxBasic; flixel_group_FlxTypedGroup.prototype = $extend(flixel_FlxBasic.prototype,{ members: null ,maxSize: null ,length: null ,_memberAdded: null ,_memberRemoved: null ,_marker: null ,destroy: function() { flixel_FlxBasic.prototype.destroy.call(this); flixel_util_FlxDestroyUtil.destroy(this._memberAdded); flixel_util_FlxDestroyUtil.destroy(this._memberRemoved); if(this.members != null) { var i = 0; var basic = null; while(i < this.length) { basic = this.members[i++]; if(basic != null) { basic.destroy(); } } this.members = null; } } ,update: function(elapsed) { var i = 0; var basic = null; while(i < this.length) { basic = this.members[i++]; if(basic != null && basic.exists && basic.active) { basic.update(elapsed); } } } ,draw: function() { var i = 0; var basic = null; while(i < this.length) { basic = this.members[i++]; if(basic != null && basic.exists && basic.visible) { basic.draw(); } } } ,add: function(Object) { if(Object == null) { var _this = flixel_FlxG.log; return null; } if(this.members.indexOf(Object) >= 0) { return Object; } var index = this.getFirstNull(); if(index != -1) { this.members[index] = Object; if(index >= this.length) { this.length = index + 1; } if(this._memberAdded != null) { this._memberAdded.dispatch(Object); } return Object; } if(this.maxSize > 0 && this.length >= this.maxSize) { return Object; } this.members.push(Object); this.length++; if(this._memberAdded != null) { this._memberAdded.dispatch(Object); } return Object; } ,insert: function(position,object) { if(object == null) { var _this = flixel_FlxG.log; return null; } if(this.members.indexOf(object) >= 0) { return object; } if(position < this.length && this.members[position] == null) { this.members[position] = object; if(this._memberAdded != null) { this._memberAdded.dispatch(object); } return object; } if(this.maxSize > 0 && this.length >= this.maxSize) { return object; } this.members.splice(position,0,object); this.length++; if(this._memberAdded != null) { this._memberAdded.dispatch(object); } return object; } ,recycle: function(ObjectClass,ObjectFactory,Force,Revive) { if(Revive == null) { Revive = true; } if(Force == null) { Force = false; } var basic = null; if(this.maxSize > 0) { if(this.length < this.maxSize) { var object = null; if(ObjectFactory != null) { object = ObjectFactory(); this.add(object); } else if(ObjectClass != null) { object = Type.createInstance(ObjectClass,[]); this.add(object); } return object; } else { basic = this.members[this._marker++]; if(this._marker >= this.maxSize) { this._marker = 0; } if(Revive) { basic.revive(); } return basic; } } else { basic = this.getFirstAvailable(ObjectClass,Force); if(basic != null) { if(Revive) { basic.revive(); } return basic; } var object1 = null; if(ObjectFactory != null) { object1 = ObjectFactory(); this.add(object1); } else if(ObjectClass != null) { object1 = Type.createInstance(ObjectClass,[]); this.add(object1); } return object1; } } ,recycleCreateObject: function(ObjectClass,ObjectFactory) { var object = null; if(ObjectFactory != null) { object = ObjectFactory(); this.add(object); } else if(ObjectClass != null) { object = Type.createInstance(ObjectClass,[]); this.add(object); } return object; } ,remove: function(Object,Splice) { if(Splice == null) { Splice = false; } if(this.members == null) { return null; } var index = this.members.indexOf(Object); if(index < 0) { return null; } if(Splice) { this.members.splice(index,1); this.length--; } else { this.members[index] = null; } if(this._memberRemoved != null) { this._memberRemoved.dispatch(Object); } return Object; } ,replace: function(OldObject,NewObject) { var index = this.members.indexOf(OldObject); if(index < 0) { return null; } this.members[index] = NewObject; if(this._memberRemoved != null) { this._memberRemoved.dispatch(OldObject); } if(this._memberAdded != null) { this._memberAdded.dispatch(NewObject); } return NewObject; } ,sort: function(Function,Order) { if(Order == null) { Order = -1; } var f = Function; var a1 = Order; var tmp = function(a2,a3) { return f(a1,a2,a3); }; this.members.sort(tmp); } ,getFirstAvailable: function(ObjectClass,Force) { if(Force == null) { Force = false; } var i = 0; var basic = null; while(i < this.length) { basic = this.members[i++]; if(basic != null && !basic.exists && (ObjectClass == null || js_Boot.__instanceof(basic,ObjectClass))) { if(Force && Type.getClassName(basic == null ? null : js_Boot.getClass(basic)) != Type.getClassName(ObjectClass)) { continue; } return this.members[i - 1]; } } return null; } ,getFirstNull: function() { var i = 0; while(i < this.length) { if(this.members[i] == null) { return i; } ++i; } return -1; } ,getFirstExisting: function() { var i = 0; var basic = null; while(i < this.length) { basic = this.members[i++]; if(basic != null && basic.exists) { return basic; } } return null; } ,getFirstAlive: function() { var i = 0; var basic = null; while(i < this.length) { basic = this.members[i++]; if(basic != null && basic.exists && basic.alive) { return basic; } } return null; } ,getFirstDead: function() { var i = 0; var basic = null; while(i < this.length) { basic = this.members[i++]; if(basic != null && !basic.alive) { return basic; } } return null; } ,countLiving: function() { var i = 0; var count = -1; var basic = null; while(i < this.length) { basic = this.members[i++]; if(basic != null) { if(count < 0) { count = 0; } if(basic.exists && basic.alive) { ++count; } } } return count; } ,countDead: function() { var i = 0; var count = -1; var basic = null; while(i < this.length) { basic = this.members[i++]; if(basic != null) { if(count < 0) { count = 0; } if(!basic.alive) { ++count; } } } return count; } ,getRandom: function(StartIndex,Length) { if(Length == null) { Length = 0; } if(StartIndex == null) { StartIndex = 0; } if(StartIndex < 0) { StartIndex = 0; } if(Length <= 0) { Length = this.length; } return flixel_FlxG.random.getObject_flixel_group_FlxTypedGroup_T(this.members,null,StartIndex,Length); } ,clear: function() { this.length = 0; if(this._memberRemoved != null) { var _g = 0; var _g1 = this.members; while(_g < _g1.length) { var member = _g1[_g]; ++_g; if(member != null) { this._memberRemoved.dispatch(member); } } } flixel_util_FlxArrayUtil.clearArray(this.members); } ,kill: function() { var i = 0; var basic = null; while(i < this.length) { basic = this.members[i++]; if(basic != null && basic.exists) { basic.kill(); } } flixel_FlxBasic.prototype.kill.call(this); } ,revive: function() { var i = 0; var basic = null; while(i < this.length) { basic = this.members[i++]; if(basic != null && !basic.exists) { basic.revive(); } } flixel_FlxBasic.prototype.revive.call(this); } ,iterator: function(filter) { return new flixel_group_FlxTypedGroupIterator(this.members,filter); } ,forEach: function(Function,Recurse) { if(Recurse == null) { Recurse = false; } var i = 0; var basic = null; while(i < this.length) { basic = this.members[i++]; if(basic != null) { if(Recurse) { var group = flixel_group_FlxTypedGroup.resolveGroup(basic); if(group != null) { group.forEach(Function,Recurse); } } Function(basic); } } } ,forEachAlive: function(Function,Recurse) { if(Recurse == null) { Recurse = false; } var i = 0; var basic = null; while(i < this.length) { basic = this.members[i++]; if(basic != null && basic.exists && basic.alive) { if(Recurse) { var group = flixel_group_FlxTypedGroup.resolveGroup(basic); if(group != null) { group.forEachAlive(Function,Recurse); } } Function(basic); } } } ,forEachDead: function(Function,Recurse) { if(Recurse == null) { Recurse = false; } var i = 0; var basic = null; while(i < this.length) { basic = this.members[i++]; if(basic != null && !basic.alive) { if(Recurse) { var group = flixel_group_FlxTypedGroup.resolveGroup(basic); if(group != null) { group.forEachDead(Function,Recurse); } } Function(basic); } } } ,forEachExists: function(Function,Recurse) { if(Recurse == null) { Recurse = false; } var i = 0; var basic = null; while(i < this.length) { basic = this.members[i++]; if(basic != null && basic.exists) { if(Recurse) { var group = flixel_group_FlxTypedGroup.resolveGroup(basic); if(group != null) { group.forEachExists(Function,Recurse); } } Function(basic); } } } ,forEachOfType: function(ObjectClass,Function,Recurse) { if(Recurse == null) { Recurse = false; } var i = 0; var basic = null; while(i < this.length) { basic = this.members[i++]; if(basic != null) { if(Recurse) { var group = flixel_group_FlxTypedGroup.resolveGroup(basic); if(group != null) { group.forEachOfType(ObjectClass,Function,Recurse); } } if(js_Boot.__instanceof(basic,ObjectClass)) { Function(basic); } } } } ,set_maxSize: function(Size) { this.maxSize = Math.abs(Size) | 0; if(this._marker >= this.maxSize) { this._marker = 0; } if(this.maxSize == 0 || this.members == null || this.maxSize >= this.length) { return this.maxSize; } var i = this.maxSize; var l = this.length; var basic = null; while(i < l) { basic = this.members[i++]; if(basic != null) { if(this._memberRemoved != null) { this._memberRemoved.dispatch(basic); } basic.destroy(); } } flixel_util_FlxArrayUtil.setLength_flixel_group_FlxTypedGroup_T(this.members,this.maxSize); this.length = this.members.length; return this.maxSize; } ,get_memberAdded: function() { if(this._memberAdded == null) { this._memberAdded = new flixel_util__$FlxSignal_FlxSignal1(); } return this._memberAdded; } ,get_memberRemoved: function() { if(this._memberRemoved == null) { this._memberRemoved = new flixel_util__$FlxSignal_FlxSignal1(); } return this._memberRemoved; } ,__class__: flixel_group_FlxTypedGroup ,__properties__: $extend(flixel_FlxBasic.prototype.__properties__,{get_memberRemoved:"get_memberRemoved",get_memberAdded:"get_memberAdded",set_maxSize:"set_maxSize"}) }); var flixel_FlxState = function(MaxSize) { this._requestSubStateReset = false; this.destroySubStates = true; this.persistentDraw = true; this.persistentUpdate = false; flixel_group_FlxTypedGroup.call(this,MaxSize); }; $hxClasses["flixel.FlxState"] = flixel_FlxState; flixel_FlxState.__name__ = ["flixel","FlxState"]; flixel_FlxState.__super__ = flixel_group_FlxTypedGroup; flixel_FlxState.prototype = $extend(flixel_group_FlxTypedGroup.prototype,{ persistentUpdate: null ,persistentDraw: null ,destroySubStates: null ,subState: null ,_requestedSubState: null ,_requestSubStateReset: null ,create: function() { } ,draw: function() { if(this.persistentDraw || this.subState == null) { flixel_group_FlxTypedGroup.prototype.draw.call(this); } if(this.subState != null) { this.subState.draw(); } } ,openSubState: function(SubState) { this._requestSubStateReset = true; this._requestedSubState = SubState; } ,closeSubState: function() { this._requestSubStateReset = true; } ,resetSubState: function() { if(this.subState != null) { if(this.subState.closeCallback != null) { this.subState.closeCallback(); } if(this.destroySubStates) { this.subState.destroy(); } } this.subState = this._requestedSubState; this._requestedSubState = null; if(this.subState != null) { if(!this.persistentUpdate) { flixel_FlxG.inputs.onStateSwitch(); } this.subState._parentState = this; if(!this.subState._created) { this.subState._created = true; this.subState.create(); } if(this.subState.openCallback != null) { this.subState.openCallback(); } } } ,destroy: function() { if(this.subState != null) { this.subState.destroy(); this.subState = null; } flixel_group_FlxTypedGroup.prototype.destroy.call(this); } ,switchTo: function(nextState) { return true; } ,onFocusLost: function() { } ,onFocus: function() { } ,onResize: function(Width,Height) { } ,tryUpdate: function(elapsed) { if(this.persistentUpdate || this.subState == null) { this.update(elapsed); } if(this._requestSubStateReset) { this._requestSubStateReset = false; this.resetSubState(); } if(this.subState != null) { this.subState.tryUpdate(elapsed); } } ,get_bgColor: function() { return flixel_FlxG.cameras.get_bgColor(); } ,set_bgColor: function(Value) { return flixel_FlxG.cameras.set_bgColor(Value); } ,__class__: flixel_FlxState ,__properties__: $extend(flixel_group_FlxTypedGroup.prototype.__properties__,{set_bgColor:"set_bgColor",get_bgColor:"get_bgColor"}) }); var flixel_addons_transition_FlxTransitionableState = function(TransIn,TransOut) { this._exiting = false; this.transOutFinished = false; this.transIn = TransIn; this.transOut = TransOut; if(this.transIn == null && flixel_addons_transition_FlxTransitionableState.defaultTransIn != null) { this.transIn = flixel_addons_transition_FlxTransitionableState.defaultTransIn; } if(this.transOut == null && flixel_addons_transition_FlxTransitionableState.defaultTransOut != null) { this.transOut = flixel_addons_transition_FlxTransitionableState.defaultTransOut; } flixel_FlxState.call(this); }; $hxClasses["flixel.addons.transition.FlxTransitionableState"] = flixel_addons_transition_FlxTransitionableState; flixel_addons_transition_FlxTransitionableState.__name__ = ["flixel","addons","transition","FlxTransitionableState"]; flixel_addons_transition_FlxTransitionableState.__super__ = flixel_FlxState; flixel_addons_transition_FlxTransitionableState.prototype = $extend(flixel_FlxState.prototype,{ transIn: null ,transOut: null ,hasTransIn: null ,hasTransOut: null ,destroy: function() { flixel_FlxState.prototype.destroy.call(this); this.transIn = null; this.transOut = null; this._onExit = null; } ,create: function() { flixel_FlxState.prototype.create.call(this); this.transitionIn(); } ,switchTo: function(nextState) { if(!this.get_hasTransOut()) { return true; } if(!this._exiting) { this.transitionToState(nextState); } return this.transOutFinished; } ,transitionToState: function(nextState) { this._exiting = true; this.transitionOut(function() { if(flixel_FlxG.game._state.switchTo(nextState)) { flixel_FlxG.game._requestedState = nextState; } }); if(flixel_addons_transition_FlxTransitionableState.skipNextTransOut) { flixel_addons_transition_FlxTransitionableState.skipNextTransOut = false; this.finishTransOut(); } } ,transitionIn: function() { if(this.transIn != null && this.transIn.type != "none") { if(flixel_addons_transition_FlxTransitionableState.skipNextTransIn) { flixel_addons_transition_FlxTransitionableState.skipNextTransIn = false; if($bind(this,this.finishTransIn) != null) { this.finishTransIn(); } return; } var _trans = this.createTransition(this.transIn); _trans.setStatus(3); this.openSubState(_trans); _trans.set_finishCallback($bind(this,this.finishTransIn)); _trans.start(1); } } ,transitionOut: function(OnExit) { this._onExit = OnExit; if(this.get_hasTransOut()) { var _trans = this.createTransition(this.transOut); _trans.setStatus(2); this.openSubState(_trans); _trans.set_finishCallback($bind(this,this.finishTransOut)); _trans.start(0); } else { this._onExit(); } } ,transOutFinished: null ,_exiting: null ,_onExit: null ,get_hasTransIn: function() { if(this.transIn != null) { return this.transIn.type != "none"; } else { return false; } } ,get_hasTransOut: function() { if(this.transOut != null) { return this.transOut.type != "none"; } else { return false; } } ,createTransition: function(data) { var _g = data.type; switch(_g) { case "fade": return new flixel_addons_transition_Transition(data); case "tiles": return new flixel_addons_transition_Transition(data); default: return null; } } ,finishTransIn: function() { this.closeSubState(); } ,finishTransOut: function() { this.transOutFinished = true; if(!this._exiting) { this.closeSubState(); } if(this._onExit != null) { this._onExit(); } } ,__class__: flixel_addons_transition_FlxTransitionableState ,__properties__: $extend(flixel_FlxState.prototype.__properties__,{get_hasTransOut:"get_hasTransOut",get_hasTransIn:"get_hasTransIn"}) }); var ControlScreenState = function(foreground) { this.canAdvance = false; flixel_addons_transition_FlxTransitionableState.call(this); this.foreground = foreground; }; $hxClasses["ControlScreenState"] = ControlScreenState; ControlScreenState.__name__ = ["ControlScreenState"]; ControlScreenState.__super__ = flixel_addons_transition_FlxTransitionableState; ControlScreenState.prototype = $extend(flixel_addons_transition_FlxTransitionableState.prototype,{ foreground: null ,canAdvance: null ,create: function() { var _gthis = this; flixel_addons_transition_FlxTransitionableState.prototype.create.call(this); var bgBitmapData = openfl_utils_Assets.getBitmapData("assets/images/level_select_bg.png"); var backgroundLayer = new nova_render_LocalWrapper(new flixel_FlxSprite().loadGraphic(bgBitmapData)); this.add(backgroundLayer); flixel_tweens_FlxTween.tween(backgroundLayer,{ x : -62, y : -62},4,{ type : 2}); var foregroundLayer = new nova_render_FlxLocalSprite(); var foregroundImage = new nova_render_LocalWrapper(new flixel_FlxSprite().loadGraphic(this.foreground)); this.add(foregroundLayer); foregroundLayer.add(foregroundImage); var diamond = flixel_graphics_FlxGraphic.fromBitmapData(openfl_utils_Assets.getBitmapData("assets/images/diamond.png")); diamond.persist = true; diamond.set_destroyOnNoUse(false); flixel_addons_transition_FlxTransitionableState.defaultTransIn = new flixel_addons_transition_TransitionData(); flixel_addons_transition_FlxTransitionableState.defaultTransOut = new flixel_addons_transition_TransitionData(); flixel_addons_transition_FlxTransitionableState.defaultTransIn.color = -16777216; flixel_addons_transition_FlxTransitionableState.defaultTransOut.color = -16777216; flixel_addons_transition_FlxTransitionableState.defaultTransIn.type = "tiles"; flixel_addons_transition_FlxTransitionableState.defaultTransOut.type = "tiles"; flixel_addons_transition_FlxTransitionableState.defaultTransIn.tileData = { asset : diamond, width : 32, height : 32}; flixel_addons_transition_FlxTransitionableState.defaultTransOut.tileData = { asset : diamond, width : 32, height : 32}; this.transOut = flixel_addons_transition_FlxTransitionableState.defaultTransOut; nova_animation_Director.call(nova_animation_Director.wait(null,20),function(x) { _gthis.canAdvance = true; }); } ,update: function(elapsed) { var tryToAdvance = false; if(flixel_FlxG.mouse._leftButton.current == 2) { tryToAdvance = true; } var tmp; var tmp1; var _this = flixel_FlxG.keys.justPressed; if(!_this.keyManager.checkStatus(32,_this.status)) { var _this1 = flixel_FlxG.keys.justPressed; tmp1 = _this1.keyManager.checkStatus(27,_this1.status); } else { tmp1 = true; } if(tmp1) { tmp = this.canAdvance; } else { tmp = false; } if(tmp) { tryToAdvance = true; } if(tryToAdvance) { var nextState = new LevelSelectState(); if(flixel_FlxG.game._state.switchTo(nextState)) { flixel_FlxG.game._requestedState = nextState; } } nova_animation_Director.update(); flixel_addons_transition_FlxTransitionableState.prototype.update.call(this,elapsed); } ,__class__: ControlScreenState }); var DialogWithBackgroundState = function(background,text) { this.initialized = false; this.startVisible = true; this.canAdvance = false; this.nextTarget = null; flixel_addons_transition_FlxTransitionableState.call(this); this.background = background; this.text = text; }; $hxClasses["DialogWithBackgroundState"] = DialogWithBackgroundState; DialogWithBackgroundState.__name__ = ["DialogWithBackgroundState"]; DialogWithBackgroundState.loadImageFromUrl = function(url,callback) { var urlLoader = new openfl_net_URLLoader(); urlLoader.addEventListener("complete",function(s) { var s1 = urlLoader.data; var b = new haxe_io_Bytes(new ArrayBuffer(openfl_utils__$ByteArray_ByteArray_$Impl_$.get_length(s1))); var _g1 = 0; var _g = openfl_utils__$ByteArray_ByteArray_$Impl_$.get_length(s1); while(_g1 < _g) { var i = _g1++; var v = s1.readUnsignedByte(); b.b[i] = v & 255; } var bytesInput = new haxe_io_BytesInput(b); var reader = new format_png_Reader(bytesInput); var d = reader.read(); var hdr = format_png_Tools.getHeader(d); var data = format_png_Tools.extract32(d); var width = hdr.width; var height = hdr.height; var dataBitmap = new openfl_display_BitmapData(width,height); var k = openfl_utils__$ByteArray_ByteArray_$Impl_$.fromBytes(data); dataBitmap.setPixels(dataBitmap.rect,k); callback(dataBitmap); }); urlLoader.dataFormat = 0; urlLoader.load(new openfl_net_URLRequest(url)); }; DialogWithBackgroundState.__super__ = flixel_addons_transition_FlxTransitionableState; DialogWithBackgroundState.prototype = $extend(flixel_addons_transition_FlxTransitionableState.prototype,{ backgroundLayer: null ,backgroundImage: null ,uiLayer: null ,nextTarget: null ,dialogBox: null ,background: null ,text: null ,canAdvance: null ,startVisible: null ,initialized: null ,create: function() { var _gthis = this; flixel_addons_transition_FlxTransitionableState.prototype.create.call(this); this.backgroundLayer = new nova_render_FlxLocalSprite(); this.backgroundImage = new nova_render_LocalWrapper(new flixel_FlxSprite().loadGraphic(this.background)); this.add(this.backgroundLayer); this.backgroundLayer.add(this.backgroundImage); if(this.text != null) { this.dialogBox = GameData.dbf.create(this.text,{ emitCallback : $bind(this,this.switchBackground), callback : function(s) { _gthis.canAdvance = false; if(_gthis.nextTarget != null) { var nextLevel = null; var _g = 0; var _g1 = GameData.LevelMenuOptions; while(_g < _g1.length) { var level = _g1[_g]; ++_g; if(level.type == "cinematic" && level.params.name == _gthis.nextTarget) { nextLevel = level; } } if(nextLevel != null) { var nextState = new DialogWithBackgroundState(openfl_utils_Assets.getBitmapData(nextLevel.params.background),nextLevel.params.dialog); if(flixel_FlxG.game._state.switchTo(nextState)) { flixel_FlxG.game._requestedState = nextState; } } } else { var nextState1 = new LevelSelectState(); if(flixel_FlxG.game._state.switchTo(nextState1)) { flixel_FlxG.game._requestedState = nextState1; } } }}); this.initialized = true; this.add(this.dialogBox); this.dialogBox.set_y(flixel_FlxG.height - this.dialogBox.get_height()); if(!this.startVisible) { this.dialogBox.set_visible(false); } } nova_animation_Director.call(nova_animation_Director.wait(null,20),function(x) { _gthis.canAdvance = true; }); var diamond = flixel_graphics_FlxGraphic.fromBitmapData(openfl_utils_Assets.getBitmapData("assets/images/diamond.png")); diamond.persist = true; diamond.set_destroyOnNoUse(false); flixel_addons_transition_FlxTransitionableState.defaultTransIn = new flixel_addons_transition_TransitionData(); flixel_addons_transition_FlxTransitionableState.defaultTransOut = new flixel_addons_transition_TransitionData(); flixel_addons_transition_FlxTransitionableState.defaultTransIn.color = -16777216; flixel_addons_transition_FlxTransitionableState.defaultTransOut.color = -16777216; flixel_addons_transition_FlxTransitionableState.defaultTransIn.type = "tiles"; flixel_addons_transition_FlxTransitionableState.defaultTransOut.type = "tiles"; flixel_addons_transition_FlxTransitionableState.defaultTransIn.tileData = { asset : diamond, width : 32, height : 32}; flixel_addons_transition_FlxTransitionableState.defaultTransOut.tileData = { asset : diamond, width : 32, height : 32}; this.transOut = flixel_addons_transition_FlxTransitionableState.defaultTransOut; } ,switchBackground: function(background) { if(background == "hide") { if(!this.initialized) { this.startVisible = false; } else { this.dialogBox.set_visible(false); } return; } if(background == "show") { this.dialogBox.set_visible(true); return; } if(background == "shake") { nova_animation_Director.call(nova_animation_Director.wait(null,5),function(x) { flixel_FlxG.camera.shake(0.05,0.15); }); return; } if(background == "laugh_shake") { nova_animation_Director.call(nova_animation_Director.wait(null,5),function(x1) { flixel_FlxG.camera.shake(0.03,0.8); }); return; } var backgroundBD = openfl_utils_Assets.getBitmapData(background); var newBGImage = new nova_render_LocalWrapper(new flixel_FlxSprite().loadGraphic(backgroundBD)); this.backgroundLayer.remove(this.backgroundImage); this.backgroundImage = newBGImage; this.backgroundLayer.add(this.backgroundImage); } ,update: function(elapsed) { var tryToAdvance = false; if(flixel_FlxG.mouse._leftButton.current == 2) { tryToAdvance = true; } var tmp; var _this = flixel_FlxG.keys.justPressed; if(_this.keyManager.checkStatus(32,_this.status)) { tmp = this.canAdvance; } else { tmp = false; } if(tmp) { tryToAdvance = true; } if(tryToAdvance) { if(this.dialogBox != null && this.dialogBox.canAdvance) { if(!this.dialogBox.advancing) { this.dialogBox.advanceAndRender(); } else if(this.dialogBox.skip) { var advanceTransitions = nova_animation_Director.actorsWithTag("__dialogTransition"); var _g1 = 0; var _g = advanceTransitions.length; while(_g1 < _g) { var i = _g1++; nova_animation_Director.skipToEnd(advanceTransitions[i]); } } } else if(this.dialogBox == null) { var nextState = new LevelSelectState(); if(flixel_FlxG.game._state.switchTo(nextState)) { flixel_FlxG.game._requestedState = nextState; } } } nova_animation_Director.update(); flixel_addons_transition_FlxTransitionableState.prototype.update.call(this,elapsed); } ,__class__: DialogWithBackgroundState }); var EReg = function(r,opt) { this.r = new RegExp(r,opt.split("u").join("")); }; $hxClasses["EReg"] = EReg; EReg.__name__ = ["EReg"]; EReg.prototype = { r: null ,match: function(s) { if(this.r.global) { this.r.lastIndex = 0; } this.r.m = this.r.exec(s); this.r.s = s; return this.r.m != null; } ,matched: function(n) { if(this.r.m != null && n >= 0 && n < this.r.m.length) { return this.r.m[n]; } else { throw new js__$Boot_HaxeError("EReg::matched"); } } ,matchedRight: function() { if(this.r.m == null) { throw new js__$Boot_HaxeError("No string matched"); } var sz = this.r.m.index + this.r.m[0].length; return HxOverrides.substr(this.r.s,sz,this.r.s.length - sz); } ,matchedPos: function() { if(this.r.m == null) { throw new js__$Boot_HaxeError("No string matched"); } return { pos : this.r.m.index, len : this.r.m[0].length}; } ,matchSub: function(s,pos,len) { if(len == null) { len = -1; } if(this.r.global) { this.r.lastIndex = pos; var tmp = this.r; var tmp1 = len < 0 ? s : HxOverrides.substr(s,0,pos + len); this.r.m = tmp.exec(tmp1); var b = this.r.m != null; if(b) { this.r.s = s; } return b; } else { var b1 = this.match(len < 0 ? HxOverrides.substr(s,pos,null) : HxOverrides.substr(s,pos,len)); if(b1) { this.r.s = s; this.r.m.index += pos; } return b1; } } ,split: function(s) { var d = "#__delim__#"; return s.replace(this.r,d).split(d); } ,map: function(s,f) { var offset = 0; var buf_b = ""; while(true) { if(offset >= s.length) { break; } else if(!this.matchSub(s,offset)) { buf_b += Std.string(HxOverrides.substr(s,offset,null)); break; } var p = this.matchedPos(); buf_b += Std.string(HxOverrides.substr(s,offset,p.pos - offset)); buf_b += Std.string(f(this)); if(p.len == 0) { buf_b += Std.string(HxOverrides.substr(s,p.pos,1)); offset = p.pos + 1; } else { offset = p.pos + p.len; } if(!this.r.global) { break; } } if(!this.r.global && offset > 0 && offset < s.length) { buf_b += Std.string(HxOverrides.substr(s,offset,null)); } return buf_b; } ,__class__: EReg }; var LevelInfo = function(start,target,allowedCharacters,introDialogue) { this.start = start; this.target = target; this.allowedCharacters = allowedCharacters; this.introDialogue = introDialogue; }; $hxClasses["LevelInfo"] = LevelInfo; LevelInfo.__name__ = ["LevelInfo"]; LevelInfo.prototype = { start: null ,target: null ,allowedCharacters: null ,introDialogue: null ,__class__: LevelInfo }; var Level = function(type,params) { this.type = type; this.params = params; }; $hxClasses["Level"] = Level; Level.__name__ = ["Level"]; Level.prototype = { type: null ,params: null ,__class__: Level }; var nova_ui_dialog_DialogAdvanceStyle = $hxClasses["nova.ui.dialog.DialogAdvanceStyle"] = { __ename__ : ["nova","ui","dialog","DialogAdvanceStyle"], __constructs__ : ["NONE","SCROLL","TYPEWRITER"] }; nova_ui_dialog_DialogAdvanceStyle.NONE = ["NONE",0]; nova_ui_dialog_DialogAdvanceStyle.NONE.toString = $estr; nova_ui_dialog_DialogAdvanceStyle.NONE.__enum__ = nova_ui_dialog_DialogAdvanceStyle; nova_ui_dialog_DialogAdvanceStyle.SCROLL = ["SCROLL",1]; nova_ui_dialog_DialogAdvanceStyle.SCROLL.toString = $estr; nova_ui_dialog_DialogAdvanceStyle.SCROLL.__enum__ = nova_ui_dialog_DialogAdvanceStyle; nova_ui_dialog_DialogAdvanceStyle.TYPEWRITER = ["TYPEWRITER",2]; nova_ui_dialog_DialogAdvanceStyle.TYPEWRITER.toString = $estr; nova_ui_dialog_DialogAdvanceStyle.TYPEWRITER.__enum__ = nova_ui_dialog_DialogAdvanceStyle; var nova_ui_dialog_DialogBoxFactory = function(options) { this.options = options; this.defaultGlobalStore = new haxe_ds_StringMap(); if(!Object.prototype.hasOwnProperty.call(this.options,"globalVariables")) { this.options.globalVariables = this.defaultGlobalStore; } }; $hxClasses["nova.ui.dialog.DialogBoxFactory"] = nova_ui_dialog_DialogBoxFactory; nova_ui_dialog_DialogBoxFactory.__name__ = ["nova","ui","dialog","DialogBoxFactory"]; nova_ui_dialog_DialogBoxFactory.prototype = { options: null ,defaultGlobalStore: null ,create: function(messages,overrideOptions) { var merged = nova_utils_StructureUtils.merge(this.options,overrideOptions); if((messages instanceof Array) && messages.__enum__ == null) { messages = nova_ui_dialog_DialogParser.parseLines(messages); } return new nova_ui_dialog_DialogBox(messages,merged); } ,createControlled: function(overrideOptions) { var merged = nova_utils_StructureUtils.merge(this.options,overrideOptions); return new nova_ui_dialog_ControlledDialogBox(merged); } ,__class__: nova_ui_dialog_DialogBoxFactory }; var GameData = function() { GameData.Save = new flixel_util_FlxSave(); GameData.Save.bind("default"); GameData.LevelSolutions = new haxe_ds_IntMap(); if(GameData.Save.data.CompletedLevels != null && GameData.Save.data.LevelSolutions != null) { var storedCompletedLevels = GameData.Save.data.CompletedLevels; var _g = []; var _g1 = 0; while(_g1 < storedCompletedLevels.length) { var i = storedCompletedLevels[_g1]; ++_g1; _g.push(i); } GameData.CompletedLevels = _g; var savedLevelSolutions = GameData.Save.data.LevelSolutions; var solution = savedLevelSolutions.keys(); while(solution.hasNext()) { var solution1 = solution.next(); var v = savedLevelSolutions.h[solution1]; GameData.LevelSolutions.h[solution1] = v; } } if(GameData.CompletedLevels.length > 0) { GameData.LastLevelTried = 0; GameData.CompletedIntro = true; } }; $hxClasses["GameData"] = GameData; GameData.__name__ = ["GameData"]; GameData.LevelSolutions = null; GameData.Save = null; GameData.prototype = { __class__: GameData }; var HxOverrides = function() { }; $hxClasses["HxOverrides"] = HxOverrides; HxOverrides.__name__ = ["HxOverrides"]; HxOverrides.strDate = function(s) { var _g = s.length; switch(_g) { case 8: var k = s.split(":"); var d = new Date(); d["setTime"](0); d["setUTCHours"](k[0]); d["setUTCMinutes"](k[1]); d["setUTCSeconds"](k[2]); return d; case 10: var k1 = s.split("-"); return new Date(k1[0],k1[1] - 1,k1[2],0,0,0); case 19: var k2 = s.split(" "); var y = k2[0].split("-"); var t = k2[1].split(":"); return new Date(y[0],y[1] - 1,y[2],t[0],t[1],t[2]); default: throw new js__$Boot_HaxeError("Invalid date format : " + s); } }; HxOverrides.cca = function(s,index) { var x = s.charCodeAt(index); if(x != x) { return undefined; } return x; }; HxOverrides.substr = function(s,pos,len) { if(len == null) { len = s.length; } else if(len < 0) { if(pos == 0) { len = s.length + len; } else { return ""; } } return s.substr(pos,len); }; HxOverrides.remove = function(a,obj) { var i = a.indexOf(obj); if(i == -1) { return false; } a.splice(i,1); return true; }; HxOverrides.iter = function(a) { return { cur : 0, arr : a, hasNext : function() { return this.cur < this.arr.length; }, next : function() { return this.arr[this.cur++]; }}; }; var IntIterator = function(min,max) { this.min = min; this.max = max; }; $hxClasses["IntIterator"] = IntIterator; IntIterator.__name__ = ["IntIterator"]; IntIterator.prototype = { min: null ,max: null ,hasNext: function() { return this.min < this.max; } ,next: function() { return this.min++; } ,__class__: IntIterator }; var Lambda = function() { }; $hxClasses["Lambda"] = Lambda; Lambda.__name__ = ["Lambda"]; Lambda.array = function(it) { var a = []; var i = $iterator(it)(); while(i.hasNext()) { var i1 = i.next(); a.push(i1); } return a; }; Lambda.fold = function(it,f,first) { var x = $iterator(it)(); while(x.hasNext()) { var x1 = x.next(); first = f(x1,first); } return first; }; Lambda.count = function(it,pred) { var n = 0; if(pred == null) { var _ = $iterator(it)(); while(_.hasNext()) { var _1 = _.next(); ++n; } } else { var x = $iterator(it)(); while(x.hasNext()) { var x1 = x.next(); if(pred(x1)) { ++n; } } } return n; }; var LevelPlayState = function(level) { this.buffer = null; this.canSwitch = true; this.skillsUsed = []; this.blooperPosn = nova_utils__$Pair_Pair_$Impl_$.fromIntArray([2,2]); this.playerPosn = nova_utils__$Pair_Pair_$Impl_$.fromIntArray([4,4]); this.locked = false; this.selectedCharIndex = 0; this.turn = 0; flixel_addons_transition_FlxTransitionableState.call(this); this.levelIndex = level; this.level = GameData.levels[level]; this.metaballs = []; this.vs = []; this.metaballTypes = []; }; $hxClasses["LevelPlayState"] = LevelPlayState; LevelPlayState.__name__ = ["LevelPlayState"]; LevelPlayState.__super__ = flixel_addons_transition_FlxTransitionableState; LevelPlayState.prototype = $extend(flixel_addons_transition_FlxTransitionableState.prototype,{ player: null ,blooper: null ,crown: null ,turn: null ,selectedCharIndex: null ,backgroundLayer: null ,stageLayer: null ,foregroundStageLayer: null ,uiLayer: null ,charPicker: null ,charactersBitmap: null ,characterDisplay: null ,dialogBox: null ,statusWindow: null ,recipeText: null ,levelIndex: null ,level: null ,locked: null ,chargeMeter: null ,playerPosn: null ,blooperPosn: null ,skillsUsed: null ,characterSprites: null ,canSwitch: null ,buffer: null ,metaballWrapper: null ,metaballBD: null ,metaballSourceGreen: null ,metaballSourceBlue: null ,metaballSMCGreen: null ,metaballSMCBlue: null ,metaballs: null ,vs: null ,metaballTypes: null ,sparkleEmitter: null ,create: function() { var _gthis = this; flixel_addons_transition_FlxTransitionableState.prototype.create.call(this); this.characterSprites = new haxe_ds_StringMap(); var _g = 0; var _g1 = this.level.allowedCharacters; while(_g < _g1.length) { var allowedCharacter = _g1[_g]; ++_g; var characterIndex = js_Boot.__cast(allowedCharacter , Int); var characterName = GameData.CHARACTER_NAMES[characterIndex]; var this1 = this.characterSprites; var v = openfl_utils_Assets.getBitmapData("assets/images/" + characterName + "_default.png"); var _this = this1; var key = characterName + "_default"; if(__map_reserved[key] != null) { _this.setReserved(key,v); } else { _this.h[key] = v; } var this2 = this.characterSprites; var v1 = openfl_utils_Assets.getBitmapData("assets/images/" + characterName + "_cooking.png"); var _this1 = this2; var key1 = characterName + "_cooking"; if(__map_reserved[key1] != null) { _this1.setReserved(key1,v1); } else { _this1.h[key1] = v1; } if(openfl_utils_Assets.exists("assets/images/" + characterName + "_charging.png")) { var this3 = this.characterSprites; var v2 = openfl_utils_Assets.getBitmapData("assets/images/" + characterName + "_charging.png"); var _this2 = this3; var key2 = characterName + "_charging"; if(__map_reserved[key2] != null) { _this2.setReserved(key2,v2); } else { _this2.h[key2] = v2; } } } var tbd = new nova_render_TiledBitmapData("assets/images/tiles.png",16,16,function(b) { return (nova_utils_BitmapDataUtils.scaleFn(2,2))(b); }); var uiBitmapData = openfl_utils_Assets.getBitmapData("assets/images/ui.png"); var bgBitmapData = openfl_utils_Assets.getBitmapData("assets/images/cooking_bg.png"); this.backgroundLayer = new nova_render_LocalWrapper(new flixel_FlxSprite().loadGraphic(bgBitmapData)); this.stageLayer = new nova_render_FlxLocalSprite(); this.foregroundStageLayer = new nova_render_FlxLocalSprite(); var characterIndex1 = js_Boot.__cast(this.level.allowedCharacters[this.selectedCharIndex] , Int); var selectedCharName = GameData.CHARACTER_NAMES[characterIndex1]; var tmp = new flixel_FlxSprite(); var _this3 = this.characterSprites; var key3 = selectedCharName + "_default"; this.characterDisplay = new nova_render_LocalWrapper(tmp.loadGraphic(__map_reserved[key3] != null ? _this3.getReserved(key3) : _this3.h[key3])); this.characterDisplay.set_x(-20); this.stageLayer.add(this.characterDisplay); this.uiLayer = new nova_render_FlxLocalSprite(); var dialogFG = new nova_render_LocalWrapper(new flixel_FlxSprite().loadGraphic(openfl_utils_Assets.getBitmapData("assets/images/cooking_fg.png"))); dialogFG.set_y(flixel_FlxG.height - dialogFG.get_height()); this.recipeText = new ui_RecipeText(this.level.start,openfl_utils_Assets.getBitmapData("assets/images/pan.png")); var dishFileName = StringTools.replace(this.level.start.toLowerCase()," ","_"); var cookedFood = new nova_render_LocalWrapper(new flixel_FlxSprite().loadGraphic("assets/images/start_foods/" + dishFileName + ".png")); this.uiLayer.add(cookedFood); this.uiLayer.add(dialogFG); this.uiLayer.add(this.recipeText); var recipeTextY = flixel_FlxG.height - dialogFG.get_height() - this.recipeText.get_height(); this.recipeText.set_xy(nova_utils__$Pair_Pair_$Impl_$.fromFloatArray([(flixel_FlxG.width - this.recipeText.get_width()) / 2,recipeTextY])); this.recipeText.text.set_visible(false); this.locked = true; cookedFood.set_xy(nova_utils__$Pair_Pair_$Impl_$.fromFloatArray([320 - cookedFood.get_width() / 2,-cookedFood.get_height()])); flixel_tweens_FlxTween.tween(cookedFood,{ y : (recipeTextY - cookedFood.get_height()) * 3 / 4},1,{ ease : flixel_tweens_FlxEase.cubeOut}).then(flixel_tweens_FlxTween.tween(cookedFood,{ y : recipeTextY + 8},0.5,{ ease : flixel_tweens_FlxEase.quadIn})).then(flixel_tweens_FlxTween.tween(this.recipeText,{ y : recipeTextY + 8},0.05)).then(flixel_tweens_FlxTween.tween(this.recipeText,{ y : recipeTextY},0.02,{ onComplete : function(t) { _gthis.locked = false; _gthis.recipeText.text.set_visible(true); }})); this.chargeMeter = new ui_ChargeMeter(); this.uiLayer.add(this.chargeMeter); this.chargeMeter.set_xy(nova_utils__$Pair_Pair_$Impl_$.fromFloatArray([455,40])); this.statusWindow = new ui_StatusWindow(this.level.target); this.uiLayer.add(this.statusWindow); this.updateChargeMeter(); this.charPicker = new ui_CharacterPicker(this.level.allowedCharacters.map(function(x) { return js_Boot.__cast(x , Int); })); this.uiLayer.add(this.charPicker); this.charPicker.set_xy(nova_utils__$Pair_Pair_$Impl_$.fromFloatArray([5,-5])); this.dialogBox = GameData.dbf.create([this.level.introDialogue]); this.uiLayer.add(this.dialogBox); this.dialogBox.set_y(flixel_FlxG.height - this.dialogBox.get_height()); this.metaballBD = new openfl_display_BitmapData(flixel_FlxG.width,3 * flixel_FlxG.height / 4 | 0,true,0); var metaballSource = openfl_utils_Assets.getBitmapData("assets/images/metaball-falloff.png"); var SCALE = 0.13; this.metaballSourceBlue = metaballSource.clone(); this.metaballSourceBlue.applyFilter(this.metaballSourceBlue,this.metaballSourceBlue.rect,new openfl_geom_Point(0,0),new openfl_filters_ColorMatrixFilter([0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0])); this.metaballSMCBlue = new openfl_display_MovieClip(); this.metaballSMCBlue.get_graphics().beginBitmapFill(this.metaballSourceBlue,new openfl_geom_Matrix(SCALE,0,0,SCALE)); this.metaballSMCBlue.get_graphics().drawRect(0,0,SCALE * metaballSource.width,SCALE * metaballSource.height); this.metaballSMCBlue.get_graphics().endFill(); this.metaballSourceGreen = metaballSource.clone(); this.metaballSourceGreen.applyFilter(this.metaballSourceGreen,this.metaballSourceGreen.rect,new openfl_geom_Point(0,0),new openfl_filters_ColorMatrixFilter([0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0])); this.metaballSMCGreen = new openfl_display_MovieClip(); this.metaballSMCGreen.get_graphics().beginBitmapFill(this.metaballSourceGreen,new openfl_geom_Matrix(SCALE,0,0,SCALE)); this.metaballSMCGreen.get_graphics().drawRect(0,0,SCALE * metaballSource.width,SCALE * metaballSource.height); this.metaballSMCGreen.get_graphics().endFill(); this.add(this.backgroundLayer); this.add(this.stageLayer); this.add(this.foregroundStageLayer); this.add(this.uiLayer); this.metaballWrapper = new nova_render_LocalWrapper(new flixel_FlxSprite().loadGraphic(this.metaballBD)); this.foregroundStageLayer.add(this.metaballWrapper); this.metaballWrapper._sprite.shader = new shaders_MetaballShader(); var diamond = flixel_graphics_FlxGraphic.fromBitmapData(openfl_utils_Assets.getBitmapData("assets/images/diamond.png")); diamond.persist = true; diamond.set_destroyOnNoUse(false); flixel_addons_transition_FlxTransitionableState.defaultTransIn = new flixel_addons_transition_TransitionData(); flixel_addons_transition_FlxTransitionableState.defaultTransOut = new flixel_addons_transition_TransitionData(); flixel_addons_transition_FlxTransitionableState.defaultTransIn.color = -16777216; flixel_addons_transition_FlxTransitionableState.defaultTransOut.color = -16777216; flixel_addons_transition_FlxTransitionableState.defaultTransIn.type = "tiles"; flixel_addons_transition_FlxTransitionableState.defaultTransOut.type = "tiles"; flixel_addons_transition_FlxTransitionableState.defaultTransIn.tileData = { asset : diamond, width : 32, height : 32}; flixel_addons_transition_FlxTransitionableState.defaultTransOut.tileData = { asset : diamond, width : 32, height : 32}; this.transOut = flixel_addons_transition_FlxTransitionableState.defaultTransOut; } ,updateMetaballs: function() { this.metaballBD.fillRect(this.metaballBD.rect,0); var i = 0; while(i < this.metaballs.length) { var metaball = this.metaballs[i]; var mx = new openfl_geom_Matrix(); mx.translate(-0.13 * this.metaballSourceBlue.width / 2,-0.13 * this.metaballSourceBlue.height / 2); mx.translate(metaball.x,metaball.y); this.metaballBD.draw(this.metaballTypes[i] == 0 ? this.metaballSMCBlue : this.metaballSMCGreen,mx,null,0); var _g = this.metaballs[i]; _g.set_x(_g.x + nova_utils__$Pair_Pair_$Impl_$.get_x(this.vs[i])); var _g1 = this.metaballs[i]; _g1.set_y(_g1.y + nova_utils__$Pair_Pair_$Impl_$.get_y(this.vs[i])); var _g2 = this.vs[i]; nova_utils__$Pair_Pair_$Impl_$.set_y(_g2,nova_utils__$Pair_Pair_$Impl_$.get_y(_g2) + 0.32); if(this.metaballs[i].y > 650) { this.metaballs.splice(i,1); this.metaballTypes.splice(i,1); this.vs.splice(i,1); --i; } ++i; } } ,tempApplyFilter: function(target,filter,frames) { var savedData = target.graphic.bitmap.clone(); var filteredData = savedData.clone(); filteredData.applyFilter(filteredData,filteredData.rect,new openfl_geom_Point(0,0),filter); var tmp = flixel_FlxG.bitmap.add(filteredData); var X = target.get_width(); var Y = target.get_height(); var point = flixel_math_FlxPoint._pool.get().set(X,Y); point._inPool = false; var tmp1 = flixel_graphics_frames_FlxTileFrames.fromGraphic(tmp,point); target.setFrames(tmp1); nova_animation_Director.call(nova_animation_Director.wait(target,frames),function(s) { var tmp2 = flixel_FlxG.bitmap.add(savedData); var X1 = target.get_width(); var Y1 = target.get_height(); var point1 = flixel_math_FlxPoint._pool.get().set(X1,Y1); point1._inPool = false; s.setFrames(flixel_graphics_frames_FlxTileFrames.fromGraphic(tmp2,point1)); }); } ,addParticleFX: function() { var _gthis = this; var particleBD = openfl_utils_Assets.getBitmapData("assets/images/particles.png"); var charIndex = this.level.allowedCharacters[this.selectedCharIndex]; if(charIndex == 0) { flixel_FlxG.camera.shake(0.002,0.2); } if(charIndex == 4) { nova_animation_Director.call(nova_animation_Director.wait(null,6),function(t) { var redMatrixFilter = new openfl_filters_ColorMatrixFilter([0.97,0.3,0.3,0,50,0,0.70,0,0,20,0,0,0.70,0,20,0,0,0,1,0]); _gthis.tempApplyFilter(_gthis.recipeText.background._sprite,redMatrixFilter,12); nova_animation_Director.bob(_gthis.recipeText.background,nova_utils__$Pair_Pair_$Impl_$.fromIntArray([-10,0]),3,12); nova_animation_Director.bob(_gthis.recipeText.text,nova_utils__$Pair_Pair_$Impl_$.fromIntArray([-10,0]),3,12); }); } else if(charIndex == 7) { var _g = 0; while(_g < 15) { var i = _g++; this.metaballs.push(new flixel_math_FlxPoint(173 + 10 * Math.random(),390 + 20 * Math.random() + 2 * i)); this.vs.push(nova_utils__$Pair_Pair_$Impl_$.fromFloatArray([-4.7 + 9.4 * Math.random(),-3 - 4 * Math.random() - 0.05 * i])); this.metaballTypes.push(0); } } } ,lateAddParticleFX: function() { var _gthis = this; var particleBD = openfl_utils_Assets.getBitmapData("assets/images/particles.png"); var charIndex = this.level.allowedCharacters[this.selectedCharIndex]; if(charIndex == 0) { var fireBD = nova_utils_BitmapDataUtils.crop(particleBD,nova_utils__$Pair_Pair_$Impl_$.fromIntArray([32,0]),nova_utils__$Pair_Pair_$Impl_$.fromIntArray([32,32])); fireBD.colorTransform(fireBD.rect,new openfl_geom_ColorTransform(0,0,0,1,255,64,0,0)); var sparkle = new nova_render_NovaEmitter(this.recipeText.x,this.recipeText.y); sparkle.endAlpha = nova_utils__$Pair_Pair_$Impl_$.fromFloatArray([0,0]); sparkle.lifespan = nova_utils__$Pair_Pair_$Impl_$.fromFloatArray([0.4,0.6]); sparkle.addParticles(fireBD,70,1,nova_utils__$Pair_Pair_$Impl_$.fromIntArray([1,1]),null); sparkle.onCreate = function(n) { var middle = _gthis.recipeText.background.get_width() / 2 - 8; var v = Math.random() * 450 + 500; n.set_x(Math.random() * _gthis.recipeText.background.get_width() - 16); n.set_y(16); n._sprite.set_angle((n.x - middle) * 0.1); n.velocity.set(v * Math.sin(Math.PI / 180 * n._sprite.angle),v * -Math.cos(Math.PI / 180 * n._sprite.angle)); n.onUpdate = function(p) { p.velocity.set(0.97 * p.velocity.x,0.97 * p.velocity.y); }; }; sparkle.limit = 70; sparkle.rate = 0.0005; this.foregroundStageLayer.add(sparkle); } else if(charIndex == 1) { var sparkle1 = new nova_render_NovaEmitter(this.recipeText.x,this.recipeText.y); var sparkle2 = new nova_render_NovaEmitter(this.recipeText.x,this.recipeText.y); sparkle1.endAlpha = nova_utils__$Pair_Pair_$Impl_$.fromFloatArray([0,0]); sparkle1.lifespan = nova_utils__$Pair_Pair_$Impl_$.fromFloatArray([0.25,0.4]); sparkle2.endAlpha = nova_utils__$Pair_Pair_$Impl_$.fromFloatArray([0,0]); sparkle2.lifespan = nova_utils__$Pair_Pair_$Impl_$.fromFloatArray([0.25,0.4]); sparkle1.limit = 20; sparkle1.rate = 0.03; sparkle2.limit = 20; sparkle2.rate = 0.03; var shyDiamondBD = nova_utils_BitmapDataUtils.crop(particleBD,nova_utils__$Pair_Pair_$Impl_$.fromIntArray([128,64]),nova_utils__$Pair_Pair_$Impl_$.fromIntArray([128,64])); sparkle1.addParticles(shyDiamondBD,20,1,nova_utils__$Pair_Pair_$Impl_$.fromIntArray([2,1]),function() { return [2 * Math.random() | 0]; }); sparkle1.onCreate = function(n1) { var v1 = 500 + 550 * Math.random(); n1.set_x(48 + Math.random() * (_gthis.recipeText.background.get_width() / 3)); n1.set_y(0); n1.velocity.set(-v1,-v1); n1.onUpdate = function(p1) { p1.velocity.set(0.91 * p1.velocity.x,0.91 * p1.velocity.y); }; }; sparkle2.onCreate = function(n2) { var v2 = 500 + 550 * Math.random(); n2.set_x(_gthis.recipeText.background.get_width() - 112 - Math.random() * (_gthis.recipeText.background.get_width() / 3)); n2.set_y(0); n2.velocity.set(v2,-v2); n2.onUpdate = function(p2) { p2.velocity.set(0.91 * p2.velocity.x,0.91 * p2.velocity.y); }; }; nova_animation_Director.call(nova_animation_Director.wait(null,30),function(x) { sparkle2.addParticles(shyDiamondBD,20,1,nova_utils__$Pair_Pair_$Impl_$.fromIntArray([2,1]),function() { return [2 * Math.random() | 0]; }); }); this.foregroundStageLayer.add(sparkle1); this.foregroundStageLayer.add(sparkle2); } else if(charIndex == 2) { flixel_FlxG.camera.shake(0.07,0.25); } else if(charIndex == 3) { var sparkle3 = new nova_render_NovaEmitter(this.recipeText.x,this.recipeText.y); sparkle3.endAlpha = nova_utils__$Pair_Pair_$Impl_$.fromFloatArray([0,0]); sparkle3.lifespan = nova_utils__$Pair_Pair_$Impl_$.fromFloatArray([0.4,0.6]); sparkle3.addParticles(particleBD,70,1,nova_utils__$Pair_Pair_$Impl_$.fromIntArray([4,2]),function() { return [4,5]; },{ frameRate : 7, looping : true}); sparkle3.onCreate = function(n3) { var middle1 = _gthis.recipeText.background.get_width() / 2 - 8; var v3 = Math.random() * 450 + 500; n3.set_x(Math.random() * (_gthis.recipeText.background.get_width() - 64)); n3.set_y(0); n3.velocity.set(0,-200 - 200 * Math.random()); n3.onUpdate = function(p3) { p3.velocity.set(0.98 * p3.velocity.x,0.98 * p3.velocity.y); }; }; sparkle3.limit = 30; sparkle3.rate = 0.035; this.foregroundStageLayer.add(sparkle3); } else if(charIndex != 4) { if(charIndex == 6) { var _g = 0; while(_g < 85) { var i = _g++; this.metaballs.push(new flixel_math_FlxPoint(305 + 30 * Math.random(),390 + 20 * Math.random() + 2 * i)); this.vs.push(nova_utils__$Pair_Pair_$Impl_$.fromFloatArray([-1.4 + 2.8 * Math.random() + (Math.random() < 0.3 ? 4.0 * (Math.random() < 0.5 ? -1 : 1) : 0),-4 - 15 * Math.random() - 0.05 * i])); this.metaballTypes.push(1); } } } } ,update: function(elapsed) { var _gthis = this; this.updateMetaballs(); if(this.locked) { nova_animation_Director.update(); flixel_addons_transition_FlxTransitionableState.prototype.update.call(this,elapsed); return; } var _this = flixel_FlxG.keys.justPressed; var cooking = _this.keyManager.checkStatus(32,_this.status); var _this1 = flixel_FlxG.keys.justPressed; var chargingUp = _this1.keyManager.checkStatus(38,_this1.status); var touchesDown = flixel_FlxG.touches.justStarted(); var _g = 0; while(_g < touchesDown.length) { var touch = touchesDown[_g]; ++_g; var cookHitRectangle = new flixel_math_FlxRect(this.statusWindow.cookSprite.get_globalX(),this.statusWindow.cookSprite.get_globalY(),this.statusWindow.cookSprite.get_width(),this.statusWindow.cookSprite.get_height()); var _this2 = touch.getPosition(); if(flixel_math_FlxMath.pointInFlxRect(_this2.x,_this2.y,cookHitRectangle)) { cooking = true; } } if(flixel_FlxG.mouse._leftButton.current == 2) { var cookHitRectangle1 = new flixel_math_FlxRect(this.statusWindow.cookSprite.get_globalX(),this.statusWindow.cookSprite.get_globalY(),this.statusWindow.cookSprite.get_width(),this.statusWindow.cookSprite.get_height()); var chargeHitRectangle = new flixel_math_FlxRect(this.statusWindow.chargeSprite.get_globalX(),this.statusWindow.chargeSprite.get_globalY(),this.statusWindow.chargeSprite.get_width(),this.statusWindow.chargeSprite.get_height()); var _this3 = flixel_FlxG.mouse.getPosition(); if(flixel_math_FlxMath.pointInFlxRect(_this3.x,_this3.y,cookHitRectangle1)) { cooking = true; } else { var tmp; var _this4 = flixel_FlxG.mouse.getPosition(); if(flixel_math_FlxMath.pointInFlxRect(_this4.x,_this4.y,chargeHitRectangle)) { tmp = this.currentCharacterCanCharge(); } else { tmp = false; } if(tmp) { chargingUp = true; } else { var _g1 = 0; var _g2 = this.charPicker.characterImageSprites.length; while(_g1 < _g2) { var i = _g1++; if(i == this.charPicker.get_index()) { continue; } var imageSprite = this.charPicker.characterImageSprites[i]; var imageSpriteRect = new flixel_math_FlxRect(imageSprite.x,imageSprite.y,imageSprite.get_width(),imageSprite.get_height()); var tmp1; if(this.canSwitch) { var _this5 = flixel_FlxG.mouse.getPosition(); tmp1 = flixel_math_FlxMath.pointInFlxRect(_this5.x,_this5.y,imageSpriteRect); } else { tmp1 = false; } if(tmp1) { this.switchChar(i - this.charPicker.get_index()); } } } } } if(cooking && this.canSwitch) { this.locked = true; nova_animation_Director.clearTag("chargeAnimation"); this.redrawCharacterSprite("cooking"); this.addParticleFX(); nova_animation_Director.call(nova_animation_Director.wait(null,20),function(x) { var before = _gthis.recipeText.storedText; _gthis.recipeText.useCharacterSkill(_gthis.level.allowedCharacters[_gthis.selectedCharIndex],_gthis.chargeMeter.getCharge()); _gthis.lateAddParticleFX(); var after = _gthis.recipeText.storedText; _gthis.skillsUsed.push((_gthis.selectedCharIndex == null ? "null" : "" + _gthis.selectedCharIndex) + "," + Std.string(_gthis.chargeMeter.getCharge())); _gthis.turn += 1; _gthis.chargeMeter.resetCharge(); _gthis.updateChargeMeter(); _gthis.statusWindow.setClock(_gthis.turn); var characterIndex = js_Boot.__cast(_gthis.level.allowedCharacters[_gthis.selectedCharIndex] , Int); var dialogue = GameData.CHARACTER_POWER_DIALOGUE[characterIndex]; if(before == after) { dialogue = dialogue.substring(0,dialogue.length - 1) + GameData.DIDNT_WORK_DIALOGUE.substring(1); } else if(Math.random() < 0.2) { dialogue = dialogue.substring(0,dialogue.length - 1) + GameData.NOVEL_DIALOGUE.substring(1); } _gthis.uiLayer.remove(_gthis.dialogBox); _gthis.dialogBox = GameData.dbf.create([dialogue]); _gthis.dialogBox.set_y(flixel_FlxG.height - _gthis.dialogBox.get_height()); _gthis.uiLayer.add(_gthis.dialogBox); if(_gthis.recipeText.storedText == _gthis.level.target) { _gthis.locked = true; var nextTarget = null; if(GameData.CompletedLevels.indexOf(_gthis.levelIndex) == -1) { if(_gthis.levelIndex == 0) { nextTarget = "Intermission"; } else if(GameData.CompletedLevels.length == GameData.NUM_LEVELS - 1) { nextTarget = "Ending"; } GameData.CompletedLevels.push(_gthis.levelIndex); var this1 = GameData.LevelSolutions; var k = _gthis.levelIndex; var v = _gthis.skillsUsed.join(","); this1.h[k] = v; GameData.Save.data.CompletedLevels = GameData.CompletedLevels; GameData.Save.data.LevelSolutions = GameData.LevelSolutions; GameData.Save.flush(); } nova_animation_Director.call(nova_animation_Director.wait(null,20),function(x1) { _gthis.redrawCharacterSprite(); }); var sparkleBitmapData = openfl_utils_Assets.getBitmapData("assets/images/particles.png"); var sparkle = new nova_render_NovaEmitter(_gthis.recipeText.x,_gthis.recipeText.y); sparkle.addParticles(sparkleBitmapData,70,1,nova_utils__$Pair_Pair_$Impl_$.fromIntArray([8,4]),function() { return [8 + (Math.random() * 3 | 0)]; }); sparkle.onCreate = function(n) { n.alphaRange = nova_utils__$Pair_Pair_$Impl_$.fromFloatArray([1,0]); n.set_x(Math.random() * _gthis.recipeText.background.get_width() - 16); n.set_y(-Math.random() * _gthis.recipeText.background.get_height() - 16); n.velocity.set(-4 + 8 * Math.random(),-20 - 120 * Math.random()); }; sparkle.rate = 0.01; _gthis.add(sparkle); nova_animation_Director.call(nova_animation_Director.wait(null,180),function(x2) { var victoryScreenState = new VictoryScreenState(_gthis.level.target,_gthis.turn); if(nextTarget != null) { victoryScreenState.nextTarget = nextTarget; } if(flixel_FlxG.game._state.switchTo(victoryScreenState)) { flixel_FlxG.game._requestedState = victoryScreenState; } }); } else if(StringTools.trim(_gthis.recipeText.storedText) == "") { _gthis.locked = true; nova_animation_Director.call(nova_animation_Director.wait(null,20),function(x3) { _gthis.redrawCharacterSprite(); }); nova_animation_Director.call(nova_animation_Director.wait(null,120),function(x4) { var nextState = new DialogWithBackgroundState(openfl_utils_Assets.getBitmapData("assets/images/failure_screens/empty_bg.png"),["ToadetteWat: \"...Huh? There's nothing left???\"","emit \"assets/images/failure_screens/failure_bg2.png\"","ToadetteAnnounce: \"Let's cut to a commercial break!\""]); if(flixel_FlxG.game._state.switchTo(nextState)) { flixel_FlxG.game._requestedState = nextState; } }); } else if(_gthis.turn >= 10) { _gthis.locked = true; nova_animation_Director.call(nova_animation_Director.wait(null,20),function(x5) { _gthis.redrawCharacterSprite(); }); nova_animation_Director.call(nova_animation_Director.wait(null,120),function(x6) { var nextState1 = new DialogWithBackgroundState(openfl_utils_Assets.getBitmapData("assets/images/failure_screens/failure_bg.png"),["ToadetteWat: \"Time's up! And it looks like...\nUh, what is this?\"","emit \"assets/images/failure_screens/failure_bg2.png\"","ToadetteAnnounce: \"Let's cut to a commercial break!\""]); if(flixel_FlxG.game._state.switchTo(nextState1)) { flixel_FlxG.game._requestedState = nextState1; } }); } else { nova_animation_Director.call(nova_animation_Director.wait(null,20),function(x7) { _gthis.redrawCharacterSprite(); _gthis.locked = false; }); } }); } if(this.locked) { return; } var tmp2; var _this6 = flixel_FlxG.keys.justPressed; if(_this6.keyManager.checkStatus(37,_this6.status)) { tmp2 = this.level.allowedCharacters.length > 1; } else { tmp2 = false; } if(tmp2) { if(this.canSwitch) { this.switchChar(-1); } else if(this.buffer == null) { this.buffer = 37; } } var tmp3; var _this7 = flixel_FlxG.keys.justPressed; if(_this7.keyManager.checkStatus(39,_this7.status)) { tmp3 = this.level.allowedCharacters.length > 1; } else { tmp3 = false; } if(tmp3) { if(this.canSwitch) { this.switchChar(1); } else if(this.buffer == null) { this.buffer = 39; } } var _this8 = flixel_FlxG.keys.justPressed; if(_this8.keyManager.checkStatus(38,_this8.status)) { chargingUp = true; } if(chargingUp) { if(!this.currentCharacterCanCharge() || !this.canSwitch) { return; } var characterIndex1 = js_Boot.__cast(this.level.allowedCharacters[this.selectedCharIndex] , Int); if(this.chargeMeter.incrementCharge()) { this.chargeMeter.setText(this.getHintTextForCharge(characterIndex1,this.recipeText.storedText,this.chargeMeter.getCharge())); this.redrawCharacterSprite("charging"); nova_animation_Director.clearTag("chargeAnimation"); nova_animation_Director.call(nova_animation_Director.wait(null,20,"chargeAnimation"),function(x8) { _gthis.redrawCharacterSprite(); }); } } var _this9 = flixel_FlxG.keys.justPressed; if(_this9.keyManager.checkStatus(40,_this9.status)) { if(!this.currentCharacterCanCharge() || !this.canSwitch) { return; } var characterIndex2 = js_Boot.__cast(this.level.allowedCharacters[this.selectedCharIndex] , Int); if(this.chargeMeter.decrementCharge()) { this.chargeMeter.setText(this.getHintTextForCharge(characterIndex2,this.recipeText.storedText,this.chargeMeter.getCharge())); this.redrawCharacterSprite("charging"); nova_animation_Director.clearTag("chargeAnimation"); nova_animation_Director.call(nova_animation_Director.wait(null,20,"chargeAnimation"),function(x9) { _gthis.redrawCharacterSprite(); }); } } var _this10 = flixel_FlxG.keys.justPressed; if(_this10.keyManager.checkStatus(27,_this10.status)) { var nextState2 = new LevelSelectState(); if(flixel_FlxG.game._state.switchTo(nextState2)) { flixel_FlxG.game._requestedState = nextState2; } } var _this11 = flixel_FlxG.keys.justPressed; if(_this11.keyManager.checkStatus(82,_this11.status)) { var nextState3 = new LevelPlayState(this.levelIndex); if(flixel_FlxG.game._state.switchTo(nextState3)) { flixel_FlxG.game._requestedState = nextState3; } } nova_animation_Director.update(); flixel_addons_transition_FlxTransitionableState.prototype.update.call(this,elapsed); } ,switchChar: function(direction) { if(direction == null) { direction = 1; } this.selectedCharIndex = (this.selectedCharIndex + this.level.allowedCharacters.length + direction) % this.level.allowedCharacters.length; this.charPicker.set_index(this.selectedCharIndex); nova_animation_Director.clearTag("chargeAnimation"); this.redrawCharacterSprite(null,true); this.uiLayer.remove(this.dialogBox); this.dialogBox = GameData.dbf.create([GameData.CHARACTER_CHANGE_DIALOGUE]); this.dialogBox.set_y(flixel_FlxG.height - this.dialogBox.get_height()); this.uiLayer.add(this.dialogBox); this.chargeMeter.resetCharge(); this.updateChargeMeter(); } ,redrawCharacterSprite: function(frame,tween) { if(tween == null) { tween = false; } if(frame == null) { frame = "default"; } var _gthis = this; this.statusWindow.setState(frame); var characterIndex = js_Boot.__cast(this.level.allowedCharacters[this.selectedCharIndex] , Int); var selectedCharName = GameData.CHARACTER_NAMES[characterIndex]; var newCharacterDisplay = new flixel_FlxSprite(); var _this = this.characterSprites; var key = selectedCharName + "_" + frame; var newCharacterDisplay1 = new nova_render_LocalWrapper(newCharacterDisplay.loadGraphic(__map_reserved[key] != null ? _this.getReserved(key) : _this.h[key])); newCharacterDisplay1.set_x(-20); if(tween) { this.canSwitch = false; nova_animation_Director.fadeOut(this.characterDisplay,4); var a = nova_animation_Director.then(nova_animation_Director.call(nova_animation_Director.moveBy(this.characterDisplay,nova_utils__$Pair_Pair_$Impl_$.fromIntArray([-30,0]),4),function(s) { _gthis.stageLayer.remove(s); _gthis.stageLayer.add(newCharacterDisplay1); newCharacterDisplay1.set_xy(nova_utils__$Pair_Pair_$Impl_$.fromFloatArray([-50,0])); }),newCharacterDisplay1); nova_animation_Director.fadeIn(a,4); nova_animation_Director.call(nova_animation_Director.moveBy(a,nova_utils__$Pair_Pair_$Impl_$.fromIntArray([30,0]),4),function(s1) { _gthis.characterDisplay = newCharacterDisplay1; if(_gthis.buffer != null) { if(_gthis.buffer == 37) { _gthis.switchChar(-1); } else { _gthis.switchChar(1); } _gthis.buffer = null; } else { _gthis.canSwitch = true; } }); } else { this.stageLayer.remove(this.characterDisplay); this.characterDisplay = newCharacterDisplay1; this.stageLayer.add(this.characterDisplay); } } ,inBounds: function(pos) { if(nova_utils__$Pair_Pair_$Impl_$.get_x(pos) >= 0 && nova_utils__$Pair_Pair_$Impl_$.get_x(pos) < 10 && nova_utils__$Pair_Pair_$Impl_$.get_y(pos) >= 0) { return nova_utils__$Pair_Pair_$Impl_$.get_y(pos) < 10; } else { return false; } } ,currentCharacterCanCharge: function() { return GameData.CHARGEABLE_POWERS.indexOf(this.level.allowedCharacters[this.selectedCharIndex]) != -1; } ,getMaxCharge: function(characterIndex,text) { switch(characterIndex) { case 2: return 25; case 4: return text.length; case 6: return 26; case 7: return text.length - 1; } return 0; } ,getHintTextForCharge: function(characterIndex,text,charge) { switch(characterIndex) { case 2: return (ui_RecipeText.rotateFirstLetterGen(charge))(text).charAt(0); case 4: return text.charAt(charge - 1); case 6: return String.fromCharCode(HxOverrides.cca("A",0) - 1 + charge); case 7: return text.charAt(text.length - charge); } return ""; } ,updateChargeMeter: function() { var characterIndex = js_Boot.__cast(this.level.allowedCharacters[this.selectedCharIndex] , Int); var canCharge = this.currentCharacterCanCharge(); this.statusWindow.setHasCharge(canCharge); if(canCharge) { this.chargeMeter.setMaxCharge(this.getMaxCharge(characterIndex,this.recipeText.storedText)); this.chargeMeter.setText(this.getHintTextForCharge(characterIndex,this.recipeText.storedText,this.chargeMeter.getCharge())); } } ,__class__: LevelPlayState }); var openfl_geom_Rectangle = function(x,y,width,height) { if(height == null) { height = 0; } if(width == null) { width = 0; } if(y == null) { y = 0; } if(x == null) { x = 0; } this.x = x; this.y = y; this.width = width; this.height = height; }; $hxClasses["openfl.geom.Rectangle"] = openfl_geom_Rectangle; openfl_geom_Rectangle.__name__ = ["openfl","geom","Rectangle"]; openfl_geom_Rectangle.__limeRectangle = null; openfl_geom_Rectangle.prototype = { height: null ,width: null ,x: null ,y: null ,clone: function() { return new openfl_geom_Rectangle(this.x,this.y,this.width,this.height); } ,contains: function(x,y) { if(x >= this.x && y >= this.y && x < this.get_right()) { return y < this.get_bottom(); } else { return false; } } ,containsPoint: function(point) { return this.contains(point.x,point.y); } ,containsRect: function(rect) { if(rect.width <= 0 || rect.height <= 0) { if(rect.x > this.x && rect.y > this.y && rect.get_right() < this.get_right()) { return rect.get_bottom() < this.get_bottom(); } else { return false; } } else if(rect.x >= this.x && rect.y >= this.y && rect.get_right() <= this.get_right()) { return rect.get_bottom() <= this.get_bottom(); } else { return false; } } ,copyFrom: function(sourceRect) { this.x = sourceRect.x; this.y = sourceRect.y; this.width = sourceRect.width; this.height = sourceRect.height; } ,equals: function(toCompare) { if(toCompare == this) { return true; } else if(toCompare != null && this.x == toCompare.x && this.y == toCompare.y && this.width == toCompare.width) { return this.height == toCompare.height; } else { return false; } } ,inflate: function(dx,dy) { this.x -= dx; this.width += dx * 2; this.y -= dy; this.height += dy * 2; } ,inflatePoint: function(point) { this.inflate(point.x,point.y); } ,intersection: function(toIntersect) { var x0 = this.x < toIntersect.x ? toIntersect.x : this.x; var x1 = this.get_right() > toIntersect.get_right() ? toIntersect.get_right() : this.get_right(); if(x1 <= x0) { return new openfl_geom_Rectangle(); } var y0 = this.y < toIntersect.y ? toIntersect.y : this.y; var y1 = this.get_bottom() > toIntersect.get_bottom() ? toIntersect.get_bottom() : this.get_bottom(); if(y1 <= y0) { return new openfl_geom_Rectangle(); } return new openfl_geom_Rectangle(x0,y0,x1 - x0,y1 - y0); } ,intersects: function(toIntersect) { var x0 = this.x < toIntersect.x ? toIntersect.x : this.x; var x1 = this.get_right() > toIntersect.get_right() ? toIntersect.get_right() : this.get_right(); if(x1 <= x0) { return false; } var y0 = this.y < toIntersect.y ? toIntersect.y : this.y; var y1 = this.get_bottom() > toIntersect.get_bottom() ? toIntersect.get_bottom() : this.get_bottom(); return y1 > y0; } ,isEmpty: function() { if(!(this.width <= 0)) { return this.height <= 0; } else { return true; } } ,offset: function(dx,dy) { this.x += dx; this.y += dy; } ,offsetPoint: function(point) { this.x += point.x; this.y += point.y; } ,setEmpty: function() { this.x = this.y = this.width = this.height = 0; } ,setTo: function(xa,ya,widtha,heighta) { this.x = xa; this.y = ya; this.width = widtha; this.height = heighta; } ,toString: function() { return "(x=" + this.x + ", y=" + this.y + ", width=" + this.width + ", height=" + this.height + ")"; } ,union: function(toUnion) { if(this.width == 0 || this.height == 0) { return toUnion.clone(); } else if(toUnion.width == 0 || toUnion.height == 0) { return this.clone(); } var x0 = this.x > toUnion.x ? toUnion.x : this.x; var x1 = this.get_right() < toUnion.get_right() ? toUnion.get_right() : this.get_right(); var y0 = this.y > toUnion.y ? toUnion.y : this.y; var y1 = this.get_bottom() < toUnion.get_bottom() ? toUnion.get_bottom() : this.get_bottom(); return new openfl_geom_Rectangle(x0,y0,x1 - x0,y1 - y0); } ,__contract: function(x,y,width,height) { if(this.width == 0 && this.height == 0) { return; } var offsetX = 0.0; var offsetY = 0.0; var offsetRight = 0.0; var offsetBottom = 0.0; if(this.x < x) { offsetX = x - this.x; } if(this.y < y) { offsetY = y - this.y; } if(this.get_right() > x + width) { offsetRight = x + width - this.get_right(); } if(this.get_bottom() > y + height) { offsetBottom = y + height - this.get_bottom(); } this.x += offsetX; this.y += offsetY; this.width += offsetRight - offsetX; this.height += offsetBottom - offsetY; } ,__expand: function(x,y,width,height) { if(this.width == 0 && this.height == 0) { this.x = x; this.y = y; this.width = width; this.height = height; return; } var cacheRight = this.get_right(); var cacheBottom = this.get_bottom(); if(this.x > x) { this.x = x; this.width = cacheRight - x; } if(this.y > y) { this.y = y; this.height = cacheBottom - y; } if(cacheRight < x + width) { this.width = x + width - this.x; } if(cacheBottom < y + height) { this.height = y + height - this.y; } } ,__toLimeRectangle: function() { if(openfl_geom_Rectangle.__limeRectangle == null) { openfl_geom_Rectangle.__limeRectangle = new lime_math_Rectangle(); } openfl_geom_Rectangle.__limeRectangle.setTo(this.x,this.y,this.width,this.height); return openfl_geom_Rectangle.__limeRectangle; } ,__transform: function(rect,m) { var tx0 = m.a * this.x + m.c * this.y; var tx1 = tx0; var ty0 = m.b * this.x + m.d * this.y; var ty1 = ty0; var tx = m.a * (this.x + this.width) + m.c * this.y; var ty = m.b * (this.x + this.width) + m.d * this.y; if(tx < tx0) { tx0 = tx; } if(ty < ty0) { ty0 = ty; } if(tx > tx1) { tx1 = tx; } if(ty > ty1) { ty1 = ty; } tx = m.a * (this.x + this.width) + m.c * (this.y + this.height); ty = m.b * (this.x + this.width) + m.d * (this.y + this.height); if(tx < tx0) { tx0 = tx; } if(ty < ty0) { ty0 = ty; } if(tx > tx1) { tx1 = tx; } if(ty > ty1) { ty1 = ty; } tx = m.a * this.x + m.c * (this.y + this.height); ty = m.b * this.x + m.d * (this.y + this.height); if(tx < tx0) { tx0 = tx; } if(ty < ty0) { ty0 = ty; } if(tx > tx1) { tx1 = tx; } if(ty > ty1) { ty1 = ty; } rect.setTo(tx0 + m.tx,ty0 + m.ty,tx1 - tx0,ty1 - ty0); } ,get_bottom: function() { return this.y + this.height; } ,set_bottom: function(b) { this.height = b - this.y; return b; } ,get_bottomRight: function() { return new openfl_geom_Point(this.x + this.width,this.y + this.height); } ,set_bottomRight: function(p) { this.width = p.x - this.x; this.height = p.y - this.y; return p.clone(); } ,get_left: function() { return this.x; } ,set_left: function(l) { this.width -= l - this.x; this.x = l; return l; } ,get_right: function() { return this.x + this.width; } ,set_right: function(r) { this.width = r - this.x; return r; } ,get_size: function() { return new openfl_geom_Point(this.width,this.height); } ,set_size: function(p) { this.width = p.x; this.height = p.y; return p.clone(); } ,get_top: function() { return this.y; } ,set_top: function(t) { this.height -= t - this.y; this.y = t; return t; } ,get_topLeft: function() { return new openfl_geom_Point(this.x,this.y); } ,set_topLeft: function(p) { this.x = p.x; this.y = p.y; return p.clone(); } ,__class__: openfl_geom_Rectangle ,__properties__: {set_topLeft:"set_topLeft",get_topLeft:"get_topLeft",set_top:"set_top",get_top:"get_top",set_size:"set_size",get_size:"get_size",set_right:"set_right",get_right:"get_right",set_left:"set_left",get_left:"get_left",set_bottomRight:"set_bottomRight",get_bottomRight:"get_bottomRight",set_bottom:"set_bottom",get_bottom:"get_bottom"} }; var LevelSelectState = function(TransIn,TransOut) { this.maxLevelUnlocked = 1; this.cakeTier = 0; this.menuIndex = 0; this.selectedCharIndex = 0; this.turn = 1; flixel_addons_transition_FlxTransitionableState.call(this,TransIn,TransOut); }; $hxClasses["LevelSelectState"] = LevelSelectState; LevelSelectState.__name__ = ["LevelSelectState"]; LevelSelectState.__super__ = flixel_addons_transition_FlxTransitionableState; LevelSelectState.prototype = $extend(flixel_addons_transition_FlxTransitionableState.prototype,{ player: null ,blooper: null ,crown: null ,turn: null ,selectedCharIndex: null ,backgroundLayer: null ,foregroundLayer: null ,cakeLayer: null ,stageLayer: null ,uiLayer: null ,toadette: null ,charPicker: null ,charactersBitmap: null ,characterDisplay: null ,levelPicker: null ,levelsUnlocked: null ,dialogBox: null ,recipeText: null ,menuIndex: null ,cakeTier: null ,maxLevelUnlocked: null ,create: function() { flixel_addons_transition_FlxTransitionableState.prototype.create.call(this); var uiBitmapData = openfl_utils_Assets.getBitmapData("assets/images/ui.png"); var fgBitmapData = openfl_utils_Assets.getBitmapData("assets/images/level_select_fg.png"); var bgBitmapData = openfl_utils_Assets.getBitmapData("assets/images/level_select_bg.png"); this.backgroundLayer = new nova_render_LocalWrapper(new flixel_FlxSprite().loadGraphic(bgBitmapData)); flixel_tweens_FlxTween.tween(this.backgroundLayer,{ x : -62, y : -62},4,{ type : 2}); this.foregroundLayer = new nova_render_LocalWrapper(new flixel_FlxSprite().loadGraphic(fgBitmapData)); this.stageLayer = new nova_render_FlxLocalSprite(); this.add(this.backgroundLayer); this.add(this.foregroundLayer); var numLevelsCompleted = GameData.CompletedLevels.length; if(numLevelsCompleted >= 1) { this.maxLevelUnlocked = 3; this.cakeTier = 1; } if(numLevelsCompleted >= 3) { this.maxLevelUnlocked = 5; this.cakeTier = 2; } if(numLevelsCompleted >= 5) { this.maxLevelUnlocked = 8; this.cakeTier = 3; } if(numLevelsCompleted >= 7) { this.maxLevelUnlocked = 11; this.cakeTier = 4; } if(numLevelsCompleted >= 10) { this.maxLevelUnlocked = 15; this.cakeTier = 5; } if(numLevelsCompleted >= 15) { this.maxLevelUnlocked = 15; this.cakeTier = 6; } if(!GameData.CompletedIntro) { this.maxLevelUnlocked = 0; this.cakeTier = -1; } var cakeBD; if(this.cakeTier > -1) { cakeBD = openfl_utils_Assets.getBitmapData("assets/images/level_select/cake" + Std.string(this.cakeTier) + ".png"); } else { cakeBD = new openfl_display_BitmapData(flixel_FlxG.width,flixel_FlxG.height,true,0); } cakeBD = cakeBD.clone(); var orangeText = openfl_utils_Assets.getBitmapData("assets/images/level_select/cake_orange_words.png"); var greenText = openfl_utils_Assets.getBitmapData("assets/images/level_select/cake_green_words.png"); var _g1 = 0; var _g = this.maxLevelUnlocked; while(_g1 < _g) { var i = _g1++; if(GameData.CompletedLevels.indexOf(i) != -1) { cakeBD.copyPixels(greenText,LevelSelectState.LEVEL_TEXT_RECTANGLES[i],LevelSelectState.LEVEL_TEXT_RECTANGLES[i].get_topLeft(),null,null,true); } else { cakeBD.copyPixels(orangeText,LevelSelectState.LEVEL_TEXT_RECTANGLES[i],LevelSelectState.LEVEL_TEXT_RECTANGLES[i].get_topLeft(),null,null,true); } } var controlsBD = openfl_utils_Assets.getBitmapData("assets/images/level_select/controls_btn.png"); cakeBD.copyPixels(controlsBD,controlsBD.rect,new openfl_geom_Point(458,568)); var introBD = openfl_utils_Assets.getBitmapData("assets/images/level_select/intro_btn.png"); cakeBD.copyPixels(introBD,introBD.rect,new openfl_geom_Point(28,33)); if(this.maxLevelUnlocked >= 3) { var interBD = openfl_utils_Assets.getBitmapData("assets/images/level_select/intermission_btn.png"); cakeBD.copyPixels(interBD,interBD.rect,new openfl_geom_Point(28,83)); } if(this.cakeTier == 6) { var endingBD = openfl_utils_Assets.getBitmapData("assets/images/level_select/ending_btn.png"); cakeBD.copyPixels(endingBD,endingBD.rect,new openfl_geom_Point(28,133)); cakeBD.copyPixels(orangeText,LevelSelectState.MENU_OPTION_RECTANGLES[4],LevelSelectState.MENU_OPTION_RECTANGLES[4].get_topLeft(),null,null,true); } this.cakeLayer = new nova_render_LocalWrapper(new flixel_FlxSprite().loadGraphic(cakeBD)); this.add(this.cakeLayer); this.add(this.stageLayer); this.toadette = new nova_render_LocalWrapper(new flixel_FlxSprite().loadGraphic(openfl_utils_Assets.getBitmapData("assets/images/level_select/cake_picker.png"))); this.stageLayer.add(this.toadette); this.menuIndex = GameData.LastLevelTried; this.updateToadettePosition(); var diamond = flixel_graphics_FlxGraphic.fromBitmapData(openfl_utils_Assets.getBitmapData("assets/images/diamond.png")); diamond.persist = true; diamond.set_destroyOnNoUse(false); flixel_addons_transition_FlxTransitionableState.defaultTransIn = new flixel_addons_transition_TransitionData(); flixel_addons_transition_FlxTransitionableState.defaultTransOut = new flixel_addons_transition_TransitionData(); flixel_addons_transition_FlxTransitionableState.defaultTransIn.color = -16777216; flixel_addons_transition_FlxTransitionableState.defaultTransOut.color = -16777216; flixel_addons_transition_FlxTransitionableState.defaultTransIn.type = "tiles"; flixel_addons_transition_FlxTransitionableState.defaultTransOut.type = "tiles"; flixel_addons_transition_FlxTransitionableState.defaultTransIn.tileData = { asset : diamond, width : 32, height : 32}; flixel_addons_transition_FlxTransitionableState.defaultTransOut.tileData = { asset : diamond, width : 32, height : 32}; this.transOut = flixel_addons_transition_FlxTransitionableState.defaultTransOut; } ,update: function(elapsed) { var levelToSwitchTo = -1; var touchesDown = flixel_FlxG.touches.justStarted(); var _g = 0; while(_g < touchesDown.length) { var touch = touchesDown[_g]; ++_g; var _g2 = 0; var _g1 = this.maxLevelUnlocked; while(_g2 < _g1) { var i = _g2++; var _this = touch.getPosition(); var _this1 = new flixel_math_FlxRect(); var FlashRect = LevelSelectState.LEVEL_TEXT_RECTANGLES[i]; _this1.x = FlashRect.x; _this1.y = FlashRect.y; _this1.width = FlashRect.width; _this1.height = FlashRect.height; if(flixel_math_FlxMath.pointInFlxRect(_this.x,_this.y,_this1)) { levelToSwitchTo = i; } } var reqs = [-1,-1,1,6,6]; var _g11 = 0; while(_g11 < 5) { var i1 = _g11++; var r = new flixel_math_FlxRect(); var tmp; if(this.cakeTier >= reqs[i1]) { var _this2 = touch.getPosition(); var _this3 = new flixel_math_FlxRect(); var FlashRect1 = LevelSelectState.MENU_OPTION_RECTANGLES[i1]; _this3.x = FlashRect1.x; _this3.y = FlashRect1.y; _this3.width = FlashRect1.width; _this3.height = FlashRect1.height; tmp = flixel_math_FlxMath.pointInFlxRect(_this2.x,_this2.y,_this3); } else { tmp = false; } if(tmp) { levelToSwitchTo = 15 + i1; } } } if(flixel_FlxG.mouse._leftButton.current == 2) { var _g12 = 0; var _g3 = this.maxLevelUnlocked; while(_g12 < _g3) { var i2 = _g12++; var _this4 = flixel_FlxG.mouse.getPosition(); var _this5 = new flixel_math_FlxRect(); var FlashRect2 = LevelSelectState.LEVEL_TEXT_RECTANGLES[i2]; _this5.x = FlashRect2.x; _this5.y = FlashRect2.y; _this5.width = FlashRect2.width; _this5.height = FlashRect2.height; if(flixel_math_FlxMath.pointInFlxRect(_this4.x,_this4.y,_this5)) { levelToSwitchTo = i2; } } var reqs1 = [-1,-1,1,6,6]; var _g4 = 0; while(_g4 < 5) { var i3 = _g4++; var r1 = new flixel_math_FlxRect(); var tmp1; if(this.cakeTier >= reqs1[i3]) { var _this6 = flixel_FlxG.mouse.getPosition(); var _this7 = new flixel_math_FlxRect(); var FlashRect3 = LevelSelectState.MENU_OPTION_RECTANGLES[i3]; _this7.x = FlashRect3.x; _this7.y = FlashRect3.y; _this7.width = FlashRect3.width; _this7.height = FlashRect3.height; tmp1 = flixel_math_FlxMath.pointInFlxRect(_this6.x,_this6.y,_this7); } else { tmp1 = false; } if(tmp1) { levelToSwitchTo = 15 + i3; } } } var _this8 = flixel_FlxG.keys.justPressed; if(_this8.keyManager.checkStatus(32,_this8.status)) { levelToSwitchTo = this.menuIndex; } if(levelToSwitchTo != -1) { var switchingToLevel = GameData.LevelMenuOptions[levelToSwitchTo]; if(switchingToLevel.type == "cinematic") { if(levelToSwitchTo == 16) { GameData.CompletedIntro = true; GameData.LastLevelTried = 0; } if(switchingToLevel.params.background == "") { var hostName = window.location.protocol + "//" + window.location.host; var requestParams = ""; var i4 = GameData.LevelSolutions.keys(); while(i4.hasNext()) { var i5 = i4.next(); requestParams += (i5 == 0 ? "?" : "&") + "level" + (i5 == null ? "null" : "" + i5) + "=" + GameData.LevelSolutions.h[i5]; } var requestUrl = hostName + GameData.EndingUrlSuffix + requestParams; haxe_Log.trace(requestUrl,{ fileName : "LevelSelectState.hx", lineNumber : 259, className : "LevelSelectState", methodName : "update"}); GameData.LastLevelTried = levelToSwitchTo; DialogWithBackgroundState.loadImageFromUrl(requestUrl,function(b) { var nextState = new DialogWithBackgroundState(b,null); if(flixel_FlxG.game._state.switchTo(nextState)) { flixel_FlxG.game._requestedState = nextState; } }); } else if(levelToSwitchTo == 15) { GameData.LastLevelTried = levelToSwitchTo; var nextState1 = new ControlScreenState(switchingToLevel.params.background); if(flixel_FlxG.game._state.switchTo(nextState1)) { flixel_FlxG.game._requestedState = nextState1; } } else { GameData.LastLevelTried = levelToSwitchTo; var nextState2 = new DialogWithBackgroundState(switchingToLevel.params.background,switchingToLevel.params.dialog); if(flixel_FlxG.game._state.switchTo(nextState2)) { flixel_FlxG.game._requestedState = nextState2; } } } else { GameData.LastLevelTried = levelToSwitchTo; var nextState3 = new LevelPlayState((switchingToLevel.params.level | 0) - 1); if(flixel_FlxG.game._state.switchTo(nextState3)) { flixel_FlxG.game._requestedState = nextState3; } } return; } var numLevelsCompleted = GameData.CompletedLevels.length; var lastIndex = this.menuIndex; var _this9 = flixel_FlxG.keys.justPressed; if(_this9.keyManager.checkStatus(37,_this9.status)) { if(this.menuIndex >= 0 && this.menuIndex <= 14) { var next = [16,17,1,-1,3,-1,5,6,-1,8,9,-1,11,12,13]; var nextI = next[this.menuIndex]; if(nextI != -1) { this.menuIndex = nextI; } } else if(this.menuIndex == 15 && numLevelsCompleted >= 15) { this.menuIndex = 19; } else if(this.menuIndex == 15 && numLevelsCompleted == 0) { this.menuIndex = 16; } } else { var _this10 = flixel_FlxG.keys.justPressed; if(_this10.keyManager.checkStatus(39,_this10.status)) { if(this.menuIndex >= 0 && this.menuIndex <= 14) { var next1 = [-1,2,-1,4,-1,6,7,-1,9,10,-1,12,13,14,-1]; var nextI1 = next1[this.menuIndex]; if(nextI1 != -1) { this.menuIndex = nextI1; } } else if(this.menuIndex == 16) { if(GameData.CompletedIntro) { this.menuIndex = 0; } else { this.menuIndex = 15; } } else if(this.menuIndex == 17) { this.menuIndex = 1; } else if(this.menuIndex == 18) { this.menuIndex = 1; } else if(this.menuIndex == 19) { this.menuIndex = 15; } } else { var _this11 = flixel_FlxG.keys.justPressed; if(_this11.keyManager.checkStatus(38,_this11.status)) { if(this.menuIndex >= 0 && this.menuIndex <= 14) { var tier = this.getTier(this.menuIndex); if(tier == 1) { this.menuIndex = 0; } else if(tier == 2) { this.menuIndex -= 2; } else if(tier == 3) { this.menuIndex -= 2; if(this.menuIndex == 5) { this.menuIndex--; } } else if(tier == 4) { this.menuIndex -= 3; } else if(tier == 5) { this.menuIndex -= 4; if(this.menuIndex == 7) { this.menuIndex++; } } } else if(this.menuIndex == 17 || this.menuIndex == 18) { this.menuIndex -= 1; } else if(this.menuIndex == 15) { var lastInRow = [16,0,2,4,7,10,14,14]; this.menuIndex = lastInRow[this.cakeTier + 1]; } else if(this.menuIndex == 19) { this.menuIndex = 12; } } else { var _this12 = flixel_FlxG.keys.justPressed; if(_this12.keyManager.checkStatus(40,_this12.status)) { if(this.menuIndex >= 0 && this.menuIndex <= 14) { var tier1 = this.getTier(this.menuIndex); if(tier1 < this.cakeTier || this.cakeTier == 5) { if(tier1 == 0) { this.menuIndex = 1; } else if(tier1 == 1) { this.menuIndex += 2; } else if(tier1 == 2 || tier1 == 3 || tier1 == 4) { this.menuIndex += 3; } else if(tier1 == 5) { if(numLevelsCompleted >= 15 && this.menuIndex <= 13) { this.menuIndex = 19; } else { this.menuIndex = 15; } } } else { this.menuIndex = 15; } } else if(this.menuIndex == 16) { if(numLevelsCompleted >= 1) { this.menuIndex = 17; } else { this.menuIndex = 15; } } else if(this.menuIndex == 17 && numLevelsCompleted >= 15) { this.menuIndex = 18; } } } } } if(lastIndex != this.menuIndex) { this.updateToadettePosition(); } nova_animation_Director.update(); flixel_addons_transition_FlxTransitionableState.prototype.update.call(this,elapsed); } ,updateToadettePosition: function() { if(this.menuIndex < 15) { this.toadette.set_xy(nova_utils__$Pair_Pair_$Impl_$.fromFloatArray([LevelSelectState.LEVEL_TEXT_RECTANGLES[this.menuIndex].get_right() - 40,LevelSelectState.LEVEL_TEXT_RECTANGLES[this.menuIndex].y - 10])); } else { this.toadette.set_xy(nova_utils__$Pair_Pair_$Impl_$.fromFloatArray([LevelSelectState.MENU_OPTION_RECTANGLES[this.menuIndex - 15].get_right() - 8,LevelSelectState.MENU_OPTION_RECTANGLES[this.menuIndex - 15].y - 22])); if(this.menuIndex == 19) { var _g = this.toadette; _g.set_x(_g.x - 13); var _g1 = this.toadette; _g1.set_y(_g1.y + 16); } } } ,getTier: function(level) { if(level == 0) { return 0; } if(level <= 2) { return 1; } if(level <= 4) { return 2; } if(level <= 7) { return 3; } if(level <= 10) { return 4; } return 5; } ,__class__: LevelSelectState }); var _$List_ListNode = function(item,next) { this.item = item; this.next = next; }; $hxClasses["_List.ListNode"] = _$List_ListNode; _$List_ListNode.__name__ = ["_List","ListNode"]; _$List_ListNode.prototype = { item: null ,next: null ,__class__: _$List_ListNode }; var _$List_ListIterator = function(head) { this.head = head; }; $hxClasses["_List.ListIterator"] = _$List_ListIterator; _$List_ListIterator.__name__ = ["_List","ListIterator"]; _$List_ListIterator.prototype = { head: null ,hasNext: function() { return this.head != null; } ,next: function() { var val = this.head.item; this.head = this.head.next; return val; } ,__class__: _$List_ListIterator }; var ManifestResources = function() { }; $hxClasses["ManifestResources"] = ManifestResources; ManifestResources.__name__ = ["ManifestResources"]; ManifestResources.preloadLibraries = null; ManifestResources.preloadLibraryNames = null; ManifestResources.rootPath = null; ManifestResources.init = function(config) { ManifestResources.preloadLibraries = []; ManifestResources.preloadLibraryNames = []; ManifestResources.rootPath = null; if(config != null && Object.prototype.hasOwnProperty.call(config,"rootPath")) { ManifestResources.rootPath = Reflect.field(config,"rootPath"); } if(ManifestResources.rootPath == null) { ManifestResources.rootPath = ""; } lime_utils_Assets.defaultRootPath = ManifestResources.rootPath; openfl_text_Font.registerFont(_$_$ASSET_$_$OPENFL_$_$assets_$fonts_$chalkboardse_$bold_$03_$ttf); openfl_text_Font.registerFont(_$_$ASSET_$_$OPENFL_$_$assets_$fonts_$chalkboardse_$light_$01_$ttf); openfl_text_Font.registerFont(_$_$ASSET_$_$OPENFL_$_$assets_$fonts_$chalkboardse_$regular_$02_$ttf); openfl_text_Font.registerFont(_$_$ASSET_$_$OPENFL_$_$flixel_$fonts_$nokiafc22_$ttf); openfl_text_Font.registerFont(_$_$ASSET_$_$OPENFL_$_$flixel_$fonts_$monsterrat_$ttf); var data; var manifest; var library; data = "{\"name\":null,\"assets\":\"aoy4:sizei143148y4:typey4:FONTy9:classNamey46:__ASSET__assets_fonts_chalkboardse_bold_03_ttfy2:idy41:assets%2Ffonts%2FChalkboardSE-Bold-03.ttfy7:preloadtgoR0i146028R1R2R3y47:__ASSET__assets_fonts_chalkboardse_light_01_ttfR5y42:assets%2Ffonts%2FChalkboardSE-Light-01.ttfR7tgoR0i157676R1R2R3y49:__ASSET__assets_fonts_chalkboardse_regular_02_ttfR5y44:assets%2Ffonts%2FChalkboardSE-Regular-02.ttfR7tgoy4:pathy33:assets%2Ffonts%2FChalkboardSE.ttcR0i519772R1y6:BINARYR5R13R7tgoR12y38:assets%2Fimages%2Fblooper_charging.pngR0i189165R1y5:IMAGER5R15R7tgoR12y37:assets%2Fimages%2Fblooper_cooking.pngR0i239355R1R16R5R17R7tgoR12y37:assets%2Fimages%2Fblooper_default.pngR0i193677R1R16R5R18R7tgoR12y34:assets%2Fimages%2Fboo_charging.pngR0i120737R1R16R5R19R7tgoR12y33:assets%2Fimages%2Fboo_cooking.pngR0i142906R1R16R5R20R7tgoR12y33:assets%2Fimages%2Fboo_default.pngR0i121591R1R16R5R21R7tgoR12y36:assets%2Fimages%2Fbowser_cooking.pngR0i156577R1R16R5R22R7tgoR12y36:assets%2Fimages%2Fbowser_default.pngR0i97687R1R16R5R23R7tgoR12y37:assets%2Fimages%2Fbullet_charging.pngR0i202016R1R16R5R24R7tgoR12y36:assets%2Fimages%2Fbullet_cooking.pngR0i215100R1R16R5R25R7tgoR12y36:assets%2Fimages%2Fbullet_default.pngR0i194957R1R16R5R26R7tgoR12y38:assets%2Fimages%2Fcharacters_rough.pngR0i19093R1R16R5R27R7tgoR12y47:assets%2Fimages%2Fcharacter_indicator_crown.pngR0i2397R1R16R5R28R7tgoR12y38:assets%2Fimages%2Fcharacter_thumbs.pngR0i13183R1R16R5R29R7tgoR12y32:assets%2Fimages%2Fcharge_btn.pngR0i5812R1R16R5R30R7tgoR12y40:assets%2Fimages%2Fcharge_btn_pressed.pngR0i5609R1R16R5R31R7tgoR12y36:assets%2Fimages%2Fcheep_charging.pngR0i148494R1R16R5R32R7tgoR12y35:assets%2Fimages%2Fcheep_cooking.pngR0i161057R1R16R5R33R7tgoR12y35:assets%2Fimages%2Fcheep_default.pngR0i151728R1R16R5R34R7tgoR12y45:assets%2Fimages%2Fcomic_no_text%2Fending0.pngR0i335667R1R16R5R35R7tgoR12y45:assets%2Fimages%2Fcomic_no_text%2Fending1.pngR0i319491R1R16R5R36R7tgoR12y45:assets%2Fimages%2Fcomic_no_text%2Fending2.pngR0i229492R1R16R5R37R7tgoR12y46:assets%2Fimages%2Fcomic_no_text%2Ffinal_bg.pngR0i226849R1R16R5R38R7tgoR12y51:assets%2Fimages%2Fcomic_no_text%2Fintermission0.pngR0i353845R1R16R5R39R7tgoR12y53:assets%2Fimages%2Fcomic_no_text%2Fintermission1_0.pngR0i354263R1R16R5R40R7tgoR12y53:assets%2Fimages%2Fcomic_no_text%2Fintermission1_1.pngR0i354591R1R16R5R41R7tgoR12y53:assets%2Fimages%2Fcomic_no_text%2Fintermission1_2.pngR0i355160R1R16R5R42R7tgoR12y51:assets%2Fimages%2Fcomic_no_text%2Fintermission2.pngR0i286413R1R16R5R43R7tgoR12y51:assets%2Fimages%2Fcomic_no_text%2Fintermission3.pngR0i281491R1R16R5R44R7tgoR12y51:assets%2Fimages%2Fcomic_no_text%2Fintermission4.pngR0i350613R1R16R5R45R7tgoR12y51:assets%2Fimages%2Fcomic_no_text%2Fintermission5.pngR0i238603R1R16R5R46R7tgoR12y51:assets%2Fimages%2Fcomic_no_text%2Fintermission6.pngR0i265240R1R16R5R47R7tgoR12y44:assets%2Fimages%2Fcomic_no_text%2Fintro0.pngR0i417257R1R16R5R48R7tgoR12y44:assets%2Fimages%2Fcomic_no_text%2Fintro1.pngR0i434917R1R16R5R49R7tgoR12y44:assets%2Fimages%2Fcomic_no_text%2Fintro2.pngR0i107753R1R16R5R50R7tgoR12y44:assets%2Fimages%2Fcomic_no_text%2Fintro3.pngR0i284390R1R16R5R51R7tgoR12y44:assets%2Fimages%2Fcomic_no_text%2Fintro4.pngR0i218496R1R16R5R52R7tgoR12y52:assets%2Fimages%2Fcomic_no_text%2Fmwaha%20bubble.pngR0i45551R1R16R5R53R7tgoR12y43:assets%2Fimages%2Fcomic_no_text%2Fmwaha.pngR0i30494R1R16R5R54R7tgoR12y30:assets%2Fimages%2Fcontrols.pngR0i115934R1R16R5R55R7tgoR12y32:assets%2Fimages%2Fcooking_bg.pngR0i207518R1R16R5R56R7tgoR12y32:assets%2Fimages%2Fcooking_fg.pngR0i129816R1R16R5R57R7tgoR12y34:assets%2Fimages%2Fcooking_mock.pngR0i361250R1R16R5R58R7tgoR12y30:assets%2Fimages%2Fcook_btn.pngR0i8974R1R16R5R59R7tgoR12y38:assets%2Fimages%2Fcook_btn_pressed.pngR0i7915R1R16R5R60R7tgoR12y29:assets%2Fimages%2Fdiamond.pngR0i1657R1R16R5R61R7tgoR12y48:assets%2Fimages%2Ffailure_screens%2Fempty_bg.pngR0i533035R1R16R5R62R7tgoR12y50:assets%2Fimages%2Ffailure_screens%2Fempty_mock.pngR0i518166R1R16R5R63R7tgoR12y53:assets%2Fimages%2Ffailure_screens%2Ffailure2_mock.pngR0i165300R1R16R5R64R7tgoR12y50:assets%2Fimages%2Ffailure_screens%2Ffailure_bg.pngR0i590159R1R16R5R65R7tgoR12y51:assets%2Fimages%2Ffailure_screens%2Ffailure_bg2.pngR0i306376R1R16R5R66R7tgoR12y52:assets%2Fimages%2Ffailure_screens%2Ffailure_mock.pngR0i576602R1R16R5R67R7tgoR12y42:assets%2Fimages%2Flevel_select%2Fcake0.pngR0i34346R1R16R5R68R7tgoR12y42:assets%2Fimages%2Flevel_select%2Fcake1.pngR0i55053R1R16R5R69R7tgoR12y42:assets%2Fimages%2Flevel_select%2Fcake2.pngR0i73569R1R16R5R70R7tgoR12y42:assets%2Fimages%2Flevel_select%2Fcake3.pngR0i94631R1R16R5R71R7tgoR12y42:assets%2Fimages%2Flevel_select%2Fcake4.pngR0i112260R1R16R5R72R7tgoR12y42:assets%2Fimages%2Flevel_select%2Fcake5.pngR0i134166R1R16R5R73R7tgoR12y42:assets%2Fimages%2Flevel_select%2Fcake6.pngR0i149148R1R16R5R74R7tgoR12y53:assets%2Fimages%2Flevel_select%2Fcake_green_words.pngR0i92214R1R16R5R75R7tgoR12y54:assets%2Fimages%2Flevel_select%2Fcake_orange_words.pngR0i57619R1R16R5R76R7tgoR12y48:assets%2Fimages%2Flevel_select%2Fcake_picker.pngR0i9215R1R16R5R77R7tgoR12y49:assets%2Fimages%2Flevel_select%2Fcontrols_btn.pngR0i5440R1R16R5R78R7tgoR12y47:assets%2Fimages%2Flevel_select%2Fending_btn.pngR0i4672R1R16R5R79R7tgoR12y53:assets%2Fimages%2Flevel_select%2Fintermission_btn.pngR0i6413R1R16R5R80R7tgoR12y46:assets%2Fimages%2Flevel_select%2Fintro_btn.pngR0i3646R1R16R5R81R7tgoR12y52:assets%2Fimages%2Flevel_select%2Flevel_select_bg.pngR0i776114R1R16R5R82R7tgoR12y52:assets%2Fimages%2Flevel_select%2Flevel_select_fg.pngR0i165833R1R16R5R83R7tgoR12y54:assets%2Fimages%2Flevel_select%2Flevel_select_mock.pngR0i561667R1R16R5R84R7tgoR12y37:assets%2Fimages%2Flevel_select_bg.pngR0i776114R1R16R5R85R7tgoR12y37:assets%2Fimages%2Flevel_select_fg.pngR0i164069R1R16R5R86R7tgoR12y38:assets%2Fimages%2Fmetaball-falloff.pngR0i15549R1R16R5R87R7tgoR12y36:assets%2Fimages%2Fmwaha%20bubble.pngR0i51094R1R16R5R88R7tgoR12y27:assets%2Fimages%2Fmwaha.pngR0i32066R1R16R5R89R7tgoR12y25:assets%2Fimages%2Fpan.pngR0i1237R1R16R5R90R7tgoR12y31:assets%2Fimages%2Fparticles.pngR0i8071R1R16R5R91R7tgoR12y37:assets%2Fimages%2Fpiranha_cooking.pngR0i175088R1R16R5R92R7tgoR12y37:assets%2Fimages%2Fpiranha_default.pngR0i59129R1R16R5R93R7tgoR12y33:assets%2Fimages%2Fshy_cooking.pngR0i72039R1R16R5R94R7tgoR12y33:assets%2Fimages%2Fshy_default.pngR0i67241R1R16R5R95R7tgoR12y29:assets%2Fimages%2Fsparkle.pngR0i532R1R16R5R96R7tgoR12y41:assets%2Fimages%2Fstart_foods%2Fclams.pngR0i67006R1R16R5R97R7tgoR12y41:assets%2Fimages%2Fstart_foods%2Fdemon.pngR0i103634R1R16R5R98R7tgoR12y41:assets%2Fimages%2Fstart_foods%2Fdress.pngR0i59065R1R16R5R99R7tgoR12y41:assets%2Fimages%2Fstart_foods%2Feasel.pngR0i34401R1R16R5R100R7tgoR12y42:assets%2Fimages%2Fstart_foods%2Fethics.pngR0i26686R1R16R5R101R7tgoR12y40:assets%2Fimages%2Fstart_foods%2Fgold.pngR0i56607R1R16R5R102R7tgoR12y39:assets%2Fimages%2Fstart_foods%2Fhay.pngR0i77038R1R16R5R103R7tgoR12y41:assets%2Fimages%2Fstart_foods%2Fheron.pngR0i38469R1R16R5R104R7tgoR12y40:assets%2Fimages%2Fstart_foods%2Flard.pngR0i55407R1R16R5R105R7tgoR12y40:assets%2Fimages%2Fstart_foods%2Fmail.pngR0i38554R1R16R5R106R7tgoR12y42:assets%2Fimages%2Fstart_foods%2Fshrine.pngR0i63849R1R16R5R107R7tgoR12y40:assets%2Fimages%2Fstart_foods%2Fsnow.pngR0i46746R1R16R5R108R7tgoR12y42:assets%2Fimages%2Fstart_foods%2Ftights.pngR0i47763R1R16R5R109R7tgoR12y40:assets%2Fimages%2Fstart_foods%2Fturf.pngR0i61879R1R16R5R110R7tgoR12y41:assets%2Fimages%2Fstart_foods%2Funagi.pngR0i66119R1R16R5R111R7tgoR12y32:assets%2Fimages%2Fstatus_bar.pngR0i4106R1R16R5R112R7tgoR12y48:assets%2Fimages%2Fstatus_bar_with_charge_bar.pngR0i6856R1R16R5R113R7tgoR12y30:assets%2Fimages%2Ftextarea.pngR0i2084R1R16R5R114R7tgoR12y27:assets%2Fimages%2Ftiles.pngR0i783R1R16R5R115R7tgoR12y36:assets%2Fimages%2Ftoadette_tiles.pngR0i97299R1R16R5R116R7tgoR12y24:assets%2Fimages%2Fui.pngR0i1645R1R16R5R117R7tgoR12y60:assets%2Fimages%2Fvictory_screen%2Fsuccess_foods%2Faioli.pngR0i146862R1R16R5R118R7tgoR12y67:assets%2Fimages%2Fvictory_screen%2Fsuccess_foods%2Fanise_tahini.pngR0i210943R1R16R5R119R7tgoR12y66:assets%2Fimages%2Fvictory_screen%2Fsuccess_foods%2Fasian_squid.pngR0i246860R1R16R5R120R7tgoR12y64:assets%2Fimages%2Fvictory_screen%2Fsuccess_foods%2Fcandy_hen.pngR0i174305R1R16R5R121R7tgoR12y66:assets%2Fimages%2Fvictory_screen%2Fsuccess_foods%2Fcrazy_eight.pngR0i175574R1R16R5R122R7tgoR12y61:assets%2Fimages%2Fvictory_screen%2Fsuccess_foods%2Feclair.pngR0i216464R1R16R5R123R7tgoR12y59:assets%2Fimages%2Fvictory_screen%2Fsuccess_foods%2Feggs.pngR0i235129R1R16R5R124R7tgoR12y67:assets%2Fimages%2Fvictory_screen%2Fsuccess_foods%2Flemon_eggnog.pngR0i182950R1R16R5R125R7tgoR12y62:assets%2Fimages%2Fvictory_screen%2Fsuccess_foods%2Fonigiri.pngR0i257758R1R16R5R126R7tgoR12y62:assets%2Fimages%2Fvictory_screen%2Fsuccess_foods%2Fparfait.pngR0i291635R1R16R5R127R7tgoR12y66:assets%2Fimages%2Fvictory_screen%2Fsuccess_foods%2Frefreshroom.pngR0i49319R1R16R5R128R7tgoR12y60:assets%2Fimages%2Fvictory_screen%2Fsuccess_foods%2Fsalad.pngR0i441705R1R16R5R129R7tgoR12y70:assets%2Fimages%2Fvictory_screen%2Fsuccess_foods%2Ftons_of_noodles.pngR0i561278R1R16R5R130R7tgoR12y58:assets%2Fimages%2Fvictory_screen%2Fsuccess_foods%2Funi.pngR0i260602R1R16R5R131R7tgoR12y64:assets%2Fimages%2Fvictory_screen%2Fsuccess_foods%2Fwater_eel.pngR0i171773R1R16R5R132R7tgoR12y60:assets%2Fimages%2Fvictory_screen%2Fvictory_screen_bowser.pngR0i137123R1R16R5R133R7tgoR12y58:assets%2Fimages%2Fvictory_screen%2Fvictory_screen_mock.pngR0i573742R1R16R5R134R7tgoR12y60:assets%2Fimages%2Fvictory_screen%2Fvictory_screen_splash.pngR0i473408R1R16R5R135R7tgoR12y61:assets%2Fimages%2Fvictory_screen%2Fvictory_screen_success.pngR0i29384R1R16R5R136R7tgoR12y63:assets%2Fimages%2Fvictory_screen%2Fvictory_screen_white_bar.pngR0i37853R1R16R5R137R7tgoR12y38:assets%2Fimages%2Fwiggler_charging.pngR0i128672R1R16R5R138R7tgoR12y37:assets%2Fimages%2Fwiggler_cooking.pngR0i136006R1R16R5R139R7tgoR12y37:assets%2Fimages%2Fwiggler_default.pngR0i127070R1R16R5R140R7tgoR12y36:assets%2Fsounds%2Fsounds-go-here.txtR0zR1y4:TEXTR5R141R7tgoR0i2114R1y5:MUSICR5y26:flixel%2Fsounds%2Fbeep.mp3y9:pathGroupaR144y26:flixel%2Fsounds%2Fbeep.ogghR7tgoR0i39706R1R143R5y28:flixel%2Fsounds%2Fflixel.mp3R145aR147y28:flixel%2Fsounds%2Fflixel.ogghR7tgoR0i5794R1y5:SOUNDR5R146R145aR144R146hgoR0i33629R1R149R5R148R145aR147R148hgoR0i15744R1R2R3y35:__ASSET__flixel_fonts_nokiafc22_ttfR5y30:flixel%2Ffonts%2Fnokiafc22.ttfR7tgoR0i29724R1R2R3y36:__ASSET__flixel_fonts_monsterrat_ttfR5y31:flixel%2Ffonts%2Fmonsterrat.ttfR7tgoR12y33:flixel%2Fimages%2Fui%2Fbutton.pngR0i519R1R16R5R154R7tgoR12y36:flixel%2Fimages%2Flogo%2Fdefault.pngR0i3280R1R16R5R155R7tgh\",\"rootPath\":null,\"version\":2,\"libraryArgs\":[],\"libraryType\":null}"; manifest = lime_utils_AssetManifest.parse(data,ManifestResources.rootPath); library = lime_utils_AssetLibrary.fromManifest(manifest); lime_utils_Assets.registerLibrary("default",library); library = lime_utils_Assets.getLibrary("default"); if(library != null) { ManifestResources.preloadLibraries.push(library); } else { ManifestResources.preloadLibraryNames.push("default"); } }; var lime_text_Font = function(name) { if(name != null) { this.name = name; } if(!this.__init) { if(this.ascender == undefined) { this.ascender = 0; } if(this.descender == undefined) { this.descender = 0; } if(this.height == undefined) { this.height = 0; } if(this.numGlyphs == undefined) { this.numGlyphs = 0; } if(this.underlinePosition == undefined) { this.underlinePosition = 0; } if(this.underlineThickness == undefined) { this.underlineThickness = 0; } if(this.unitsPerEM == undefined) { this.unitsPerEM = 0; } if(this.__fontID != null) { if(lime_utils_Assets.isLocal(this.__fontID)) { this.__fromBytes(lime_utils_Assets.getBytes(this.__fontID)); } } else if(this.__fontPath != null) { this.__fromFile(this.__fontPath); } } }; $hxClasses["lime.text.Font"] = lime_text_Font; lime_text_Font.__name__ = ["lime","text","Font"]; lime_text_Font.fromBytes = function(bytes) { if(bytes == null) { return null; } var font = new lime_text_Font(); font.__fromBytes(bytes); return font; }; lime_text_Font.fromFile = function(path) { if(path == null) { return null; } var font = new lime_text_Font(); font.__fromFile(path); return font; }; lime_text_Font.loadFromBytes = function(bytes) { return lime_app_Future.withValue(lime_text_Font.fromBytes(bytes)); }; lime_text_Font.loadFromFile = function(path) { var request = new lime_net__$HTTPRequest_$lime_$text_$Font(); return request.load(path).then(function(font) { if(font != null) { return lime_app_Future.withValue(font); } else { return lime_app_Future.withError(""); } }); }; lime_text_Font.loadFromName = function(path) { var font = new lime_text_Font(); return font.__loadFromName(path); }; lime_text_Font.__measureFontNode = function(fontFamily) { var node = window.document.createElement("span"); node.setAttribute("aria-hidden","true"); var text = window.document.createTextNode("BESbswy"); node.appendChild(text); var style = node.style; style.display = "block"; style.position = "absolute"; style.top = "-9999px"; style.left = "-9999px"; style.fontSize = "300px"; style.width = "auto"; style.height = "auto"; style.lineHeight = "normal"; style.margin = "0"; style.padding = "0"; style.fontVariant = "normal"; style.whiteSpace = "nowrap"; style.fontFamily = fontFamily; window.document.body.appendChild(node); return node; }; lime_text_Font.prototype = { ascender: null ,descender: null ,height: null ,name: null ,numGlyphs: null ,src: null ,underlinePosition: null ,underlineThickness: null ,unitsPerEM: null ,__fontID: null ,__fontPath: null ,__init: null ,decompose: function() { return null; } ,getGlyph: function(character) { return -1; } ,getGlyphs: function(characters) { if(characters == null) { characters = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^`'\"/\\&*()[]{}<>|:;_-+=?,. "; } return null; } ,getGlyphMetrics: function(glyph) { return null; } ,renderGlyph: function(glyph,fontSize) { return null; } ,renderGlyphs: function(glyphs,fontSize) { return null; } ,__copyFrom: function(other) { if(other != null) { this.ascender = other.ascender; this.descender = other.descender; this.height = other.height; this.name = other.name; this.numGlyphs = other.numGlyphs; this.src = other.src; this.underlinePosition = other.underlinePosition; this.underlineThickness = other.underlineThickness; this.unitsPerEM = other.unitsPerEM; this.__fontID = other.__fontID; this.__fontPath = other.__fontPath; this.__init = true; } } ,__fromBytes: function(bytes) { this.__fontPath = null; } ,__fromFile: function(path) { this.__fontPath = path; } ,__initializeSource: function() { this.__init = true; } ,__loadFromName: function(name) { var _gthis = this; var promise = new lime_app_Promise(); this.name = name; var userAgent = window.navigator.userAgent.toLowerCase(); var isSafari = userAgent.indexOf(" safari/") >= 0 && userAgent.indexOf(" chrome/") < 0; var isUIWebView = new EReg("(iPhone|iPod|iPad).*AppleWebKit(?!.*Version)","i").match(userAgent); if(!isSafari && !isUIWebView && (window.document.fonts && ($_=window.document.fonts,$bind($_,$_.load)))) { window.document.fonts.load("1em '" + name + "'").then(function(_) { promise.complete(_gthis); },function(_1) { lime_utils_Log.warn("Could not load web font \"" + name + "\"",{ fileName : "Font.hx", lineNumber : 549, className : "lime.text.Font", methodName : "__loadFromName"}); promise.complete(_gthis); }); } else { var node1 = lime_text_Font.__measureFontNode("'" + name + "', sans-serif"); var node2 = lime_text_Font.__measureFontNode("'" + name + "', serif"); var width1 = node1.offsetWidth; var width2 = node2.offsetWidth; var interval = -1; var timeout = 3000; var intervalLength = 50; var intervalCount = 0; var loaded; var timeExpired; var checkFont = function() { intervalCount += 1; if(node1.offsetWidth == width1) { loaded = node2.offsetWidth != width2; } else { loaded = true; } timeExpired = intervalCount * intervalLength >= timeout; if(loaded || timeExpired) { window.clearInterval(interval); node1.parentNode.removeChild(node1); node2.parentNode.removeChild(node2); node1 = null; node2 = null; if(timeExpired) { lime_utils_Log.warn("Could not load web font \"" + name + "\"",{ fileName : "Font.hx", lineNumber : 585, className : "lime.text.Font", methodName : "__loadFromName"}); } promise.complete(_gthis); } }; interval = window.setInterval(checkFont,intervalLength); } return promise.future; } ,__setSize: function(size) { } ,__class__: lime_text_Font }; var _$_$ASSET_$_$assets_$fonts_$chalkboardse_$bold_$03_$ttf = $hx_exports["__ASSET__assets_fonts_chalkboardse_bold_03_ttf"] = function() { this.ascender = 1024; this.descender = -256; this.height = 1292; this.numGlyphs = 1086; this.underlinePosition = -163; this.underlineThickness = 20; this.unitsPerEM = 905; this.name = "Chalkboard SE Bold"; lime_text_Font.call(this); }; $hxClasses["__ASSET__assets_fonts_chalkboardse_bold_03_ttf"] = _$_$ASSET_$_$assets_$fonts_$chalkboardse_$bold_$03_$ttf; _$_$ASSET_$_$assets_$fonts_$chalkboardse_$bold_$03_$ttf.__name__ = ["__ASSET__assets_fonts_chalkboardse_bold_03_ttf"]; _$_$ASSET_$_$assets_$fonts_$chalkboardse_$bold_$03_$ttf.__super__ = lime_text_Font; _$_$ASSET_$_$assets_$fonts_$chalkboardse_$bold_$03_$ttf.prototype = $extend(lime_text_Font.prototype,{ __class__: _$_$ASSET_$_$assets_$fonts_$chalkboardse_$bold_$03_$ttf }); var _$_$ASSET_$_$assets_$fonts_$chalkboardse_$light_$01_$ttf = $hx_exports["__ASSET__assets_fonts_chalkboardse_light_01_ttf"] = function() { this.ascender = 1024; this.descender = -256; this.height = 1292; this.numGlyphs = 1086; this.underlinePosition = -163; this.underlineThickness = 20; this.unitsPerEM = 905; this.name = "Chalkboard SE Light"; lime_text_Font.call(this); }; $hxClasses["__ASSET__assets_fonts_chalkboardse_light_01_ttf"] = _$_$ASSET_$_$assets_$fonts_$chalkboardse_$light_$01_$ttf; _$_$ASSET_$_$assets_$fonts_$chalkboardse_$light_$01_$ttf.__name__ = ["__ASSET__assets_fonts_chalkboardse_light_01_ttf"]; _$_$ASSET_$_$assets_$fonts_$chalkboardse_$light_$01_$ttf.__super__ = lime_text_Font; _$_$ASSET_$_$assets_$fonts_$chalkboardse_$light_$01_$ttf.prototype = $extend(lime_text_Font.prototype,{ __class__: _$_$ASSET_$_$assets_$fonts_$chalkboardse_$light_$01_$ttf }); var _$_$ASSET_$_$assets_$fonts_$chalkboardse_$regular_$02_$ttf = $hx_exports["__ASSET__assets_fonts_chalkboardse_regular_02_ttf"] = function() { this.ascender = 1024; this.descender = -256; this.height = 1292; this.numGlyphs = 1086; this.underlinePosition = -163; this.underlineThickness = 20; this.unitsPerEM = 905; this.name = "Chalkboard SE Regular"; lime_text_Font.call(this); }; $hxClasses["__ASSET__assets_fonts_chalkboardse_regular_02_ttf"] = _$_$ASSET_$_$assets_$fonts_$chalkboardse_$regular_$02_$ttf; _$_$ASSET_$_$assets_$fonts_$chalkboardse_$regular_$02_$ttf.__name__ = ["__ASSET__assets_fonts_chalkboardse_regular_02_ttf"]; _$_$ASSET_$_$assets_$fonts_$chalkboardse_$regular_$02_$ttf.__super__ = lime_text_Font; _$_$ASSET_$_$assets_$fonts_$chalkboardse_$regular_$02_$ttf.prototype = $extend(lime_text_Font.prototype,{ __class__: _$_$ASSET_$_$assets_$fonts_$chalkboardse_$regular_$02_$ttf }); var _$_$ASSET_$_$flixel_$fonts_$nokiafc22_$ttf = $hx_exports["__ASSET__flixel_fonts_nokiafc22_ttf"] = function() { this.ascender = 2048; this.descender = -512; this.height = 2816; this.numGlyphs = 172; this.underlinePosition = -640; this.underlineThickness = 256; this.unitsPerEM = 2048; this.name = "Nokia Cellphone FC Small"; lime_text_Font.call(this); }; $hxClasses["__ASSET__flixel_fonts_nokiafc22_ttf"] = _$_$ASSET_$_$flixel_$fonts_$nokiafc22_$ttf; _$_$ASSET_$_$flixel_$fonts_$nokiafc22_$ttf.__name__ = ["__ASSET__flixel_fonts_nokiafc22_ttf"]; _$_$ASSET_$_$flixel_$fonts_$nokiafc22_$ttf.__super__ = lime_text_Font; _$_$ASSET_$_$flixel_$fonts_$nokiafc22_$ttf.prototype = $extend(lime_text_Font.prototype,{ __class__: _$_$ASSET_$_$flixel_$fonts_$nokiafc22_$ttf }); var _$_$ASSET_$_$flixel_$fonts_$monsterrat_$ttf = $hx_exports["__ASSET__flixel_fonts_monsterrat_ttf"] = function() { this.ascender = 968; this.descender = -251; this.height = 1219; this.numGlyphs = 263; this.underlinePosition = -150; this.underlineThickness = 50; this.unitsPerEM = 1000; this.name = "Monsterrat"; lime_text_Font.call(this); }; $hxClasses["__ASSET__flixel_fonts_monsterrat_ttf"] = _$_$ASSET_$_$flixel_$fonts_$monsterrat_$ttf; _$_$ASSET_$_$flixel_$fonts_$monsterrat_$ttf.__name__ = ["__ASSET__flixel_fonts_monsterrat_ttf"]; _$_$ASSET_$_$flixel_$fonts_$monsterrat_$ttf.__super__ = lime_text_Font; _$_$ASSET_$_$flixel_$fonts_$monsterrat_$ttf.prototype = $extend(lime_text_Font.prototype,{ __class__: _$_$ASSET_$_$flixel_$fonts_$monsterrat_$ttf }); var openfl_text_Font = function(name) { lime_text_Font.call(this,name); }; $hxClasses["openfl.text.Font"] = openfl_text_Font; openfl_text_Font.__name__ = ["openfl","text","Font"]; openfl_text_Font.enumerateFonts = function(enumerateDeviceFonts) { if(enumerateDeviceFonts == null) { enumerateDeviceFonts = false; } return openfl_text_Font.__registeredFonts; }; openfl_text_Font.fromBytes = function(bytes) { var font = new openfl_text_Font(); font.__fromBytes(openfl_utils__$ByteArray_ByteArray_$Impl_$.toBytes(bytes)); return font; }; openfl_text_Font.fromFile = function(path) { var font = new openfl_text_Font(); font.__fromFile(path); return font; }; openfl_text_Font.loadFromBytes = function(bytes) { return lime_text_Font.loadFromBytes(openfl_utils__$ByteArray_ByteArray_$Impl_$.toBytes(bytes)).then(function(limeFont) { var font = new openfl_text_Font(); font.__fromLimeFont(limeFont); return lime_app_Future.withValue(font); }); }; openfl_text_Font.loadFromFile = function(path) { return lime_text_Font.loadFromFile(path).then(function(limeFont) { var font = new openfl_text_Font(); font.__fromLimeFont(limeFont); return lime_app_Future.withValue(font); }); }; openfl_text_Font.loadFromName = function(path) { return lime_text_Font.loadFromName(path).then(function(limeFont) { var font = new openfl_text_Font(); font.__fromLimeFont(limeFont); return lime_app_Future.withValue(font); }); }; openfl_text_Font.registerFont = function(font) { var instance = null; var o = font; if((o == null ? null : js_Boot.getClass(o)) == null) { instance = js_Boot.__cast(Type.createInstance(font,[]) , openfl_text_Font); } else { instance = js_Boot.__cast(font , openfl_text_Font); } if(instance != null) { openfl_text_Font.__registeredFonts.push(instance); var k = instance.name; var _this = openfl_text_Font.__fontByName; if(__map_reserved[k] != null) { _this.setReserved(k,instance); } else { _this.h[k] = instance; } } }; openfl_text_Font.__super__ = lime_text_Font; openfl_text_Font.prototype = $extend(lime_text_Font.prototype,{ fontStyle: null ,fontType: null ,__initialized: null ,__fromLimeFont: function(font) { this.__copyFrom(font); } ,__initialize: function() { return this.__initialized; } ,get_fontName: function() { return this.name; } ,set_fontName: function(value) { return this.name = value; } ,__class__: openfl_text_Font ,__properties__: {set_fontName:"set_fontName",get_fontName:"get_fontName"} }); var _$_$ASSET_$_$OPENFL_$_$assets_$fonts_$chalkboardse_$bold_$03_$ttf = $hx_exports["__ASSET__OPENFL__assets_fonts_chalkboardse_bold_03_ttf"] = function() { this.__fromLimeFont(new _$_$ASSET_$_$assets_$fonts_$chalkboardse_$bold_$03_$ttf()); openfl_text_Font.call(this); }; $hxClasses["__ASSET__OPENFL__assets_fonts_chalkboardse_bold_03_ttf"] = _$_$ASSET_$_$OPENFL_$_$assets_$fonts_$chalkboardse_$bold_$03_$ttf; _$_$ASSET_$_$OPENFL_$_$assets_$fonts_$chalkboardse_$bold_$03_$ttf.__name__ = ["__ASSET__OPENFL__assets_fonts_chalkboardse_bold_03_ttf"]; _$_$ASSET_$_$OPENFL_$_$assets_$fonts_$chalkboardse_$bold_$03_$ttf.__super__ = openfl_text_Font; _$_$ASSET_$_$OPENFL_$_$assets_$fonts_$chalkboardse_$bold_$03_$ttf.prototype = $extend(openfl_text_Font.prototype,{ __class__: _$_$ASSET_$_$OPENFL_$_$assets_$fonts_$chalkboardse_$bold_$03_$ttf }); var _$_$ASSET_$_$OPENFL_$_$assets_$fonts_$chalkboardse_$light_$01_$ttf = $hx_exports["__ASSET__OPENFL__assets_fonts_chalkboardse_light_01_ttf"] = function() { this.__fromLimeFont(new _$_$ASSET_$_$assets_$fonts_$chalkboardse_$light_$01_$ttf()); openfl_text_Font.call(this); }; $hxClasses["__ASSET__OPENFL__assets_fonts_chalkboardse_light_01_ttf"] = _$_$ASSET_$_$OPENFL_$_$assets_$fonts_$chalkboardse_$light_$01_$ttf; _$_$ASSET_$_$OPENFL_$_$assets_$fonts_$chalkboardse_$light_$01_$ttf.__name__ = ["__ASSET__OPENFL__assets_fonts_chalkboardse_light_01_ttf"]; _$_$ASSET_$_$OPENFL_$_$assets_$fonts_$chalkboardse_$light_$01_$ttf.__super__ = openfl_text_Font; _$_$ASSET_$_$OPENFL_$_$assets_$fonts_$chalkboardse_$light_$01_$ttf.prototype = $extend(openfl_text_Font.prototype,{ __class__: _$_$ASSET_$_$OPENFL_$_$assets_$fonts_$chalkboardse_$light_$01_$ttf }); var _$_$ASSET_$_$OPENFL_$_$assets_$fonts_$chalkboardse_$regular_$02_$ttf = $hx_exports["__ASSET__OPENFL__assets_fonts_chalkboardse_regular_02_ttf"] = function() { this.__fromLimeFont(new _$_$ASSET_$_$assets_$fonts_$chalkboardse_$regular_$02_$ttf()); openfl_text_Font.call(this); }; $hxClasses["__ASSET__OPENFL__assets_fonts_chalkboardse_regular_02_ttf"] = _$_$ASSET_$_$OPENFL_$_$assets_$fonts_$chalkboardse_$regular_$02_$ttf; _$_$ASSET_$_$OPENFL_$_$assets_$fonts_$chalkboardse_$regular_$02_$ttf.__name__ = ["__ASSET__OPENFL__assets_fonts_chalkboardse_regular_02_ttf"]; _$_$ASSET_$_$OPENFL_$_$assets_$fonts_$chalkboardse_$regular_$02_$ttf.__super__ = openfl_text_Font; _$_$ASSET_$_$OPENFL_$_$assets_$fonts_$chalkboardse_$regular_$02_$ttf.prototype = $extend(openfl_text_Font.prototype,{ __class__: _$_$ASSET_$_$OPENFL_$_$assets_$fonts_$chalkboardse_$regular_$02_$ttf }); var _$_$ASSET_$_$OPENFL_$_$flixel_$fonts_$nokiafc22_$ttf = $hx_exports["__ASSET__OPENFL__flixel_fonts_nokiafc22_ttf"] = function() { this.__fromLimeFont(new _$_$ASSET_$_$flixel_$fonts_$nokiafc22_$ttf()); openfl_text_Font.call(this); }; $hxClasses["__ASSET__OPENFL__flixel_fonts_nokiafc22_ttf"] = _$_$ASSET_$_$OPENFL_$_$flixel_$fonts_$nokiafc22_$ttf; _$_$ASSET_$_$OPENFL_$_$flixel_$fonts_$nokiafc22_$ttf.__name__ = ["__ASSET__OPENFL__flixel_fonts_nokiafc22_ttf"]; _$_$ASSET_$_$OPENFL_$_$flixel_$fonts_$nokiafc22_$ttf.__super__ = openfl_text_Font; _$_$ASSET_$_$OPENFL_$_$flixel_$fonts_$nokiafc22_$ttf.prototype = $extend(openfl_text_Font.prototype,{ __class__: _$_$ASSET_$_$OPENFL_$_$flixel_$fonts_$nokiafc22_$ttf }); var _$_$ASSET_$_$OPENFL_$_$flixel_$fonts_$monsterrat_$ttf = $hx_exports["__ASSET__OPENFL__flixel_fonts_monsterrat_ttf"] = function() { this.__fromLimeFont(new _$_$ASSET_$_$flixel_$fonts_$monsterrat_$ttf()); openfl_text_Font.call(this); }; $hxClasses["__ASSET__OPENFL__flixel_fonts_monsterrat_ttf"] = _$_$ASSET_$_$OPENFL_$_$flixel_$fonts_$monsterrat_$ttf; _$_$ASSET_$_$OPENFL_$_$flixel_$fonts_$monsterrat_$ttf.__name__ = ["__ASSET__OPENFL__flixel_fonts_monsterrat_ttf"]; _$_$ASSET_$_$OPENFL_$_$flixel_$fonts_$monsterrat_$ttf.__super__ = openfl_text_Font; _$_$ASSET_$_$OPENFL_$_$flixel_$fonts_$monsterrat_$ttf.prototype = $extend(openfl_text_Font.prototype,{ __class__: _$_$ASSET_$_$OPENFL_$_$flixel_$fonts_$monsterrat_$ttf }); Math.__name__ = ["Math"]; var Reflect = function() { }; $hxClasses["Reflect"] = Reflect; Reflect.__name__ = ["Reflect"]; Reflect.field = function(o,field) { try { return o[field]; } catch( e ) { haxe_CallStack.lastException = e; return null; } }; Reflect.getProperty = function(o,field) { var tmp; if(o == null) { return null; } else { var tmp1; if(o.__properties__) { tmp = o.__properties__["get_" + field]; tmp1 = tmp; } else { tmp1 = false; } if(tmp1) { return o[tmp](); } else { return o[field]; } } }; Reflect.setProperty = function(o,field,value) { var tmp; var tmp1; if(o.__properties__) { tmp = o.__properties__["set_" + field]; tmp1 = tmp; } else { tmp1 = false; } if(tmp1) { o[tmp](value); } else { o[field] = value; } }; Reflect.fields = function(o) { var a = []; if(o != null) { var hasOwnProperty = Object.prototype.hasOwnProperty; for( var f in o ) { if(f != "__id__" && f != "hx__closures__" && hasOwnProperty.call(o,f)) { a.push(f); } } } return a; }; Reflect.isFunction = function(f) { if(typeof(f) == "function") { return !(f.__name__ || f.__ename__); } else { return false; } }; Reflect.compare = function(a,b) { if(a == b) { return 0; } else if(a > b) { return 1; } else { return -1; } }; Reflect.compareMethods = function(f1,f2) { if(f1 == f2) { return true; } if(!Reflect.isFunction(f1) || !Reflect.isFunction(f2)) { return false; } if(f1.scope == f2.scope && f1.method == f2.method) { return f1.method != null; } else { return false; } }; Reflect.isObject = function(v) { if(v == null) { return false; } var t = typeof(v); if(!(t == "string" || t == "object" && v.__enum__ == null)) { if(t == "function") { return (v.__name__ || v.__ename__) != null; } else { return false; } } else { return true; } }; Reflect.isEnumValue = function(v) { if(v != null) { return v.__enum__ != null; } else { return false; } }; Reflect.deleteField = function(o,field) { if(!Object.prototype.hasOwnProperty.call(o,field)) { return false; } delete(o[field]); return true; }; Reflect.makeVarArgs = function(f) { return function() { var a = Array.prototype.slice.call(arguments); return f(a); }; }; var Std = function() { }; $hxClasses["Std"] = Std; Std.__name__ = ["Std"]; Std.string = function(s) { return js_Boot.__string_rec(s,""); }; Std.parseInt = function(x) { var v = parseInt(x,10); if(v == 0 && (HxOverrides.cca(x,1) == 120 || HxOverrides.cca(x,1) == 88)) { v = parseInt(x); } if(isNaN(v)) { return null; } return v; }; Std.random = function(x) { if(x <= 0) { return 0; } else { return Math.floor(Math.random() * x); } }; var StringBuf = function() { this.b = ""; }; $hxClasses["StringBuf"] = StringBuf; StringBuf.__name__ = ["StringBuf"]; StringBuf.prototype = { b: null ,__class__: StringBuf }; var StringTools = function() { }; $hxClasses["StringTools"] = StringTools; StringTools.__name__ = ["StringTools"]; StringTools.htmlEscape = function(s,quotes) { s = s.split("&").join("&").split("<").join("<").split(">").join(">"); if(quotes) { return s.split("\"").join(""").split("'").join("'"); } else { return s; } }; StringTools.startsWith = function(s,start) { if(s.length >= start.length) { return HxOverrides.substr(s,0,start.length) == start; } else { return false; } }; StringTools.endsWith = function(s,end) { var elen = end.length; var slen = s.length; if(slen >= elen) { return HxOverrides.substr(s,slen - elen,elen) == end; } else { return false; } }; StringTools.isSpace = function(s,pos) { var c = HxOverrides.cca(s,pos); if(!(c > 8 && c < 14)) { return c == 32; } else { return true; } }; StringTools.ltrim = function(s) { var l = s.length; var r = 0; while(r < l && StringTools.isSpace(s,r)) ++r; if(r > 0) { return HxOverrides.substr(s,r,l - r); } else { return s; } }; StringTools.rtrim = function(s) { var l = s.length; var r = 0; while(r < l && StringTools.isSpace(s,l - r - 1)) ++r; if(r > 0) { return HxOverrides.substr(s,0,l - r); } else { return s; } }; StringTools.trim = function(s) { return StringTools.ltrim(StringTools.rtrim(s)); }; StringTools.replace = function(s,sub,by) { return s.split(sub).join(by); }; StringTools.hex = function(n,digits) { var s = ""; var hexChars = "0123456789ABCDEF"; while(true) { s = hexChars.charAt(n & 15) + s; n >>>= 4; if(!(n > 0)) { break; } } if(digits != null) { while(s.length < digits) s = "0" + s; } return s; }; var ValueType = $hxClasses["ValueType"] = { __ename__ : ["ValueType"], __constructs__ : ["TNull","TInt","TFloat","TBool","TObject","TFunction","TClass","TEnum","TUnknown"] }; ValueType.TNull = ["TNull",0]; ValueType.TNull.toString = $estr; ValueType.TNull.__enum__ = ValueType; ValueType.TInt = ["TInt",1]; ValueType.TInt.toString = $estr; ValueType.TInt.__enum__ = ValueType; ValueType.TFloat = ["TFloat",2]; ValueType.TFloat.toString = $estr; ValueType.TFloat.__enum__ = ValueType; ValueType.TBool = ["TBool",3]; ValueType.TBool.toString = $estr; ValueType.TBool.__enum__ = ValueType; ValueType.TObject = ["TObject",4]; ValueType.TObject.toString = $estr; ValueType.TObject.__enum__ = ValueType; ValueType.TFunction = ["TFunction",5]; ValueType.TFunction.toString = $estr; ValueType.TFunction.__enum__ = ValueType; ValueType.TClass = function(c) { var $x = ["TClass",6,c]; $x.__enum__ = ValueType; $x.toString = $estr; return $x; }; ValueType.TEnum = function(e) { var $x = ["TEnum",7,e]; $x.__enum__ = ValueType; $x.toString = $estr; return $x; }; ValueType.TUnknown = ["TUnknown",8]; ValueType.TUnknown.toString = $estr; ValueType.TUnknown.__enum__ = ValueType; var Type = function() { }; $hxClasses["Type"] = Type; Type.__name__ = ["Type"]; Type.getEnum = function(o) { if(o == null) { return null; } return o.__enum__; }; Type.getSuperClass = function(c) { return c.__super__; }; Type.getClassName = function(c) { var a = c.__name__; if(a == null) { return null; } return a.join("."); }; Type.getEnumName = function(e) { var a = e.__ename__; return a.join("."); }; Type.resolveClass = function(name) { var cl = $hxClasses[name]; if(cl == null || !cl.__name__) { return null; } return cl; }; Type.resolveEnum = function(name) { var e = $hxClasses[name]; if(e == null || !e.__ename__) { return null; } return e; }; Type.createInstance = function(cl,args) { var _g = args.length; switch(_g) { case 0: return new cl(); case 1: return new cl(args[0]); case 2: return new cl(args[0],args[1]); case 3: return new cl(args[0],args[1],args[2]); case 4: return new cl(args[0],args[1],args[2],args[3]); case 5: return new cl(args[0],args[1],args[2],args[3],args[4]); case 6: return new cl(args[0],args[1],args[2],args[3],args[4],args[5]); case 7: return new cl(args[0],args[1],args[2],args[3],args[4],args[5],args[6]); case 8: return new cl(args[0],args[1],args[2],args[3],args[4],args[5],args[6],args[7]); case 9: return new cl(args[0],args[1],args[2],args[3],args[4],args[5],args[6],args[7],args[8]); case 10: return new cl(args[0],args[1],args[2],args[3],args[4],args[5],args[6],args[7],args[8],args[9]); case 11: return new cl(args[0],args[1],args[2],args[3],args[4],args[5],args[6],args[7],args[8],args[9],args[10]); case 12: return new cl(args[0],args[1],args[2],args[3],args[4],args[5],args[6],args[7],args[8],args[9],args[10],args[11]); case 13: return new cl(args[0],args[1],args[2],args[3],args[4],args[5],args[6],args[7],args[8],args[9],args[10],args[11],args[12]); case 14: return new cl(args[0],args[1],args[2],args[3],args[4],args[5],args[6],args[7],args[8],args[9],args[10],args[11],args[12],args[13]); default: throw new js__$Boot_HaxeError("Too many arguments"); } }; Type.createEmptyInstance = function(cl) { function empty() {}; empty.prototype = cl.prototype; return new empty(); }; Type.createEnum = function(e,constr,params) { var f = Reflect.field(e,constr); if(f == null) { throw new js__$Boot_HaxeError("No such constructor " + constr); } if(Reflect.isFunction(f)) { if(params == null) { throw new js__$Boot_HaxeError("Constructor " + constr + " need parameters"); } return f.apply(e,params); } if(params != null && params.length != 0) { throw new js__$Boot_HaxeError("Constructor " + constr + " does not need parameters"); } return f; }; Type.getInstanceFields = function(c) { var a = []; for(var i in c.prototype) a.push(i); HxOverrides.remove(a,"__class__"); HxOverrides.remove(a,"__properties__"); return a; }; Type.getClassFields = function(c) { var a = Reflect.fields(c); HxOverrides.remove(a,"__name__"); HxOverrides.remove(a,"__interfaces__"); HxOverrides.remove(a,"__properties__"); HxOverrides.remove(a,"__super__"); HxOverrides.remove(a,"__meta__"); HxOverrides.remove(a,"prototype"); return a; }; Type["typeof"] = function(v) { var _g = typeof(v); switch(_g) { case "boolean": return ValueType.TBool; case "function": if(v.__name__ || v.__ename__) { return ValueType.TObject; } return ValueType.TFunction; case "number": if(Math.ceil(v) == v % 2147483648.0) { return ValueType.TInt; } return ValueType.TFloat; case "object": if(v == null) { return ValueType.TNull; } var e = v.__enum__; if(e != null) { return ValueType.TEnum(e); } var c = js_Boot.getClass(v); if(c != null) { return ValueType.TClass(c); } return ValueType.TObject; case "string": return ValueType.TClass(String); case "undefined": return ValueType.TNull; default: return ValueType.TUnknown; } }; Type.enumEq = function(a,b) { if(a == b) { return true; } try { if(a[0] != b[0]) { return false; } var _g1 = 2; var _g = a.length; while(_g1 < _g) { var i = _g1++; if(!Type.enumEq(a[i],b[i])) { return false; } } var e = a.__enum__; if(e != b.__enum__ || e == null) { return false; } } catch( e1 ) { haxe_CallStack.lastException = e1; return false; } return true; }; var _$UInt_UInt_$Impl_$ = {}; $hxClasses["_UInt.UInt_Impl_"] = _$UInt_UInt_$Impl_$; _$UInt_UInt_$Impl_$.__name__ = ["_UInt","UInt_Impl_"]; _$UInt_UInt_$Impl_$.gt = function(a,b) { var aNeg = a < 0; var bNeg = b < 0; if(aNeg != bNeg) { return aNeg; } else { return a > b; } }; _$UInt_UInt_$Impl_$.toFloat = function(this1) { var $int = this1; if($int < 0) { return 4294967296.0 + $int; } else { return $int + 0.0; } }; var VictoryScreenState = function(dish,steps) { var background = openfl_utils_Assets.getBitmapData("assets/images/victory_screen/victory_screen_splash.png"); DialogWithBackgroundState.call(this,background,["Toadette: \"And there you have it! " + dish + ", in just " + steps + " easy steps!\""]); this.dish = dish; }; $hxClasses["VictoryScreenState"] = VictoryScreenState; VictoryScreenState.__name__ = ["VictoryScreenState"]; VictoryScreenState.__super__ = DialogWithBackgroundState; VictoryScreenState.prototype = $extend(DialogWithBackgroundState.prototype,{ dish: null ,create: function() { DialogWithBackgroundState.prototype.create.call(this); var dishFileName = StringTools.replace(this.dish.toLowerCase()," ","_"); var sparkleBitmapData = openfl_utils_Assets.getBitmapData("assets/images/particles.png"); sparkleBitmapData = nova_utils_BitmapDataUtils.crop(sparkleBitmapData,nova_utils__$Pair_Pair_$Impl_$.fromIntArray([0,32]),nova_utils__$Pair_Pair_$Impl_$.fromIntArray([96,32])); var sparkle = new nova_render_NovaEmitter(100,120); sparkle.endAlpha = nova_utils__$Pair_Pair_$Impl_$.fromFloatArray([0,0]); sparkle.lifespan = nova_utils__$Pair_Pair_$Impl_$.fromFloatArray([1.0,1.0]); sparkle.addParticles(sparkleBitmapData,50,1,nova_utils__$Pair_Pair_$Impl_$.fromIntArray([3,1]),function() { return [Math.random() * 3 | 0]; }); sparkle.onCreate = function(n) { var v = Math.random() * 400 + 350; var a = 0.12000000000000001 + 0.16 * Math.random(); n.set_y(Math.random() * 400 + 600 * a - 200); n.set_x(-50 * a); n.velocity.set(v * Math.cos(a),v * -Math.sin(a)); n.onUpdate = function(p) { p.velocity.set(0.96 * p.velocity.x,0.96 * p.velocity.y); }; }; sparkle.rate = 0.03; var cookedFood = new nova_render_LocalWrapper(new flixel_FlxSprite().loadGraphic("assets/images/victory_screen/success_foods/" + dishFileName + ".png")); this.backgroundLayer.add(cookedFood); cookedFood.set_xy(nova_utils__$Pair_Pair_$Impl_$.fromFloatArray([640,250 - cookedFood.get_height() / 2])); if(dishFileName == "salad" || dishFileName == "uni" || dishFileName == "tons_of_noodles") { var _g = cookedFood; _g.set_y(_g.y + 40); } flixel_tweens_FlxTween.tween(cookedFood,{ x : 640 - cookedFood.get_width()},0.2); var victoryBar = new nova_render_LocalWrapper(new flixel_FlxSprite().loadGraphic("assets/images/victory_screen/victory_screen_white_bar.png")); this.backgroundLayer.add(victoryBar); victoryBar.set_xy(nova_utils__$Pair_Pair_$Impl_$.fromFloatArray([640,40])); flixel_tweens_FlxTween.tween(victoryBar,{ x : 640 - victoryBar.get_width()},0.2,{ startDelay : 0.2}); var victoryText = new nova_render_LocalWrapper(new flixel_FlxSprite().loadGraphic("assets/images/victory_screen/victory_screen_success.png")); this.backgroundLayer.add(victoryText); victoryText.set_xy(nova_utils__$Pair_Pair_$Impl_$.fromFloatArray([-victoryText.get_width(),20])); flixel_tweens_FlxTween.tween(victoryText,{ x : 250},0.2,{ startDelay : 0.2}); this.backgroundLayer.add(sparkle); var bowserCutIn = new nova_render_LocalWrapper(new flixel_FlxSprite().loadGraphic("assets/images/victory_screen/victory_screen_bowser.png")); this.backgroundLayer.add(bowserCutIn); bowserCutIn.set_x(-bowserCutIn.get_width()); flixel_tweens_FlxTween.tween(bowserCutIn,{ x : 0},0.2); } ,__class__: VictoryScreenState }); var Xml = function(nodeType) { this.nodeType = nodeType; this.children = []; this.attributeMap = new haxe_ds_StringMap(); }; $hxClasses["Xml"] = Xml; Xml.__name__ = ["Xml"]; Xml.parse = function(str) { return haxe_xml_Parser.parse(str); }; Xml.createElement = function(name) { var xml = new Xml(Xml.Element); if(xml.nodeType != Xml.Element) { throw new js__$Boot_HaxeError("Bad node type, expected Element but found " + xml.nodeType); } xml.nodeName = name; return xml; }; Xml.createPCData = function(data) { var xml = new Xml(Xml.PCData); if(xml.nodeType == Xml.Document || xml.nodeType == Xml.Element) { throw new js__$Boot_HaxeError("Bad node type, unexpected " + xml.nodeType); } xml.nodeValue = data; return xml; }; Xml.createCData = function(data) { var xml = new Xml(Xml.CData); if(xml.nodeType == Xml.Document || xml.nodeType == Xml.Element) { throw new js__$Boot_HaxeError("Bad node type, unexpected " + xml.nodeType); } xml.nodeValue = data; return xml; }; Xml.createComment = function(data) { var xml = new Xml(Xml.Comment); if(xml.nodeType == Xml.Document || xml.nodeType == Xml.Element) { throw new js__$Boot_HaxeError("Bad node type, unexpected " + xml.nodeType); } xml.nodeValue = data; return xml; }; Xml.createDocType = function(data) { var xml = new Xml(Xml.DocType); if(xml.nodeType == Xml.Document || xml.nodeType == Xml.Element) { throw new js__$Boot_HaxeError("Bad node type, unexpected " + xml.nodeType); } xml.nodeValue = data; return xml; }; Xml.createProcessingInstruction = function(data) { var xml = new Xml(Xml.ProcessingInstruction); if(xml.nodeType == Xml.Document || xml.nodeType == Xml.Element) { throw new js__$Boot_HaxeError("Bad node type, unexpected " + xml.nodeType); } xml.nodeValue = data; return xml; }; Xml.createDocument = function() { return new Xml(Xml.Document); }; Xml.prototype = { nodeType: null ,nodeName: null ,nodeValue: null ,parent: null ,children: null ,attributeMap: null ,get: function(att) { if(this.nodeType != Xml.Element) { throw new js__$Boot_HaxeError("Bad node type, expected Element but found " + this.nodeType); } var _this = this.attributeMap; if(__map_reserved[att] != null) { return _this.getReserved(att); } else { return _this.h[att]; } } ,set: function(att,value) { if(this.nodeType != Xml.Element) { throw new js__$Boot_HaxeError("Bad node type, expected Element but found " + this.nodeType); } var _this = this.attributeMap; if(__map_reserved[att] != null) { _this.setReserved(att,value); } else { _this.h[att] = value; } } ,exists: function(att) { if(this.nodeType != Xml.Element) { throw new js__$Boot_HaxeError("Bad node type, expected Element but found " + this.nodeType); } var _this = this.attributeMap; if(__map_reserved[att] != null) { return _this.existsReserved(att); } else { return _this.h.hasOwnProperty(att); } } ,attributes: function() { if(this.nodeType != Xml.Element) { throw new js__$Boot_HaxeError("Bad node type, expected Element but found " + this.nodeType); } return this.attributeMap.keys(); } ,elements: function() { if(this.nodeType != Xml.Document && this.nodeType != Xml.Element) { throw new js__$Boot_HaxeError("Bad node type, expected Element or Document but found " + this.nodeType); } var _g = []; var _g1 = 0; var _g2 = this.children; while(_g1 < _g2.length) { var child = _g2[_g1]; ++_g1; if(child.nodeType == Xml.Element) { _g.push(child); } } var ret = _g; return HxOverrides.iter(ret); } ,elementsNamed: function(name) { if(this.nodeType != Xml.Document && this.nodeType != Xml.Element) { throw new js__$Boot_HaxeError("Bad node type, expected Element or Document but found " + this.nodeType); } var _g = []; var _g1 = 0; var _g2 = this.children; while(_g1 < _g2.length) { var child = _g2[_g1]; ++_g1; var tmp; if(child.nodeType == Xml.Element) { if(child.nodeType != Xml.Element) { throw new js__$Boot_HaxeError("Bad node type, expected Element but found " + child.nodeType); } tmp = child.nodeName == name; } else { tmp = false; } if(tmp) { _g.push(child); } } var ret = _g; return HxOverrides.iter(ret); } ,firstElement: function() { if(this.nodeType != Xml.Document && this.nodeType != Xml.Element) { throw new js__$Boot_HaxeError("Bad node type, expected Element or Document but found " + this.nodeType); } var _g = 0; var _g1 = this.children; while(_g < _g1.length) { var child = _g1[_g]; ++_g; if(child.nodeType == Xml.Element) { return child; } } return null; } ,addChild: function(x) { if(this.nodeType != Xml.Document && this.nodeType != Xml.Element) { throw new js__$Boot_HaxeError("Bad node type, expected Element or Document but found " + this.nodeType); } if(x.parent != null) { x.parent.removeChild(x); } this.children.push(x); x.parent = this; } ,removeChild: function(x) { if(this.nodeType != Xml.Document && this.nodeType != Xml.Element) { throw new js__$Boot_HaxeError("Bad node type, expected Element or Document but found " + this.nodeType); } if(HxOverrides.remove(this.children,x)) { x.parent = null; return true; } return false; } ,__class__: Xml }; var flixel_IFlxBasic = function() { }; $hxClasses["flixel.IFlxBasic"] = flixel_IFlxBasic; flixel_IFlxBasic.__name__ = ["flixel","IFlxBasic"]; flixel_IFlxBasic.prototype = { set_exists: null ,set_alive: null ,set_visible: null ,set_active: null ,ID: null ,active: null ,visible: null ,alive: null ,exists: null ,draw: null ,update: null ,destroy: null ,kill: null ,revive: null ,toString: null ,__class__: flixel_IFlxBasic ,__properties__: {set_exists:"set_exists",set_alive:"set_alive",set_visible:"set_visible",set_active:"set_active"} }; var flixel_util_IFlxPooled = function() { }; $hxClasses["flixel.util.IFlxPooled"] = flixel_util_IFlxPooled; flixel_util_IFlxPooled.__name__ = ["flixel","util","IFlxPooled"]; flixel_util_IFlxPooled.__interfaces__ = [flixel_util_IFlxDestroyable]; flixel_util_IFlxPooled.prototype = { put: null ,_inPool: null ,__class__: flixel_util_IFlxPooled }; var flixel_util_IFlxPool = function() { }; $hxClasses["flixel.util.IFlxPool"] = flixel_util_IFlxPool; flixel_util_IFlxPool.__name__ = ["flixel","util","IFlxPool"]; flixel_util_IFlxPool.prototype = { preAllocate: null ,clear: null ,__class__: flixel_util_IFlxPool }; var flixel_util_FlxPool_$flixel_$math_$FlxPoint = function(classObj) { this._count = 0; this._pool = []; this._class = classObj; }; $hxClasses["flixel.util.FlxPool_flixel_math_FlxPoint"] = flixel_util_FlxPool_$flixel_$math_$FlxPoint; flixel_util_FlxPool_$flixel_$math_$FlxPoint.__name__ = ["flixel","util","FlxPool_flixel_math_FlxPoint"]; flixel_util_FlxPool_$flixel_$math_$FlxPoint.__interfaces__ = [flixel_util_IFlxPool]; flixel_util_FlxPool_$flixel_$math_$FlxPoint.prototype = { _pool: null ,_class: null ,_count: null ,get: function() { if(this._count == 0) { return Type.createInstance(this._class,[]); } return this._pool[--this._count]; } ,put: function(obj) { if(obj != null) { var i = this._pool.indexOf(obj); if(i == -1 || i >= this._count) { obj.destroy(); this._pool[this._count++] = obj; } } } ,putUnsafe: function(obj) { if(obj != null) { obj.destroy(); this._pool[this._count++] = obj; } } ,preAllocate: function(numObjects) { while(numObjects-- > 0) this._pool[this._count++] = Type.createInstance(this._class,[]); } ,clear: function() { this._count = 0; var oldPool = this._pool; this._pool = []; return oldPool; } ,get_length: function() { return this._count; } ,__class__: flixel_util_FlxPool_$flixel_$math_$FlxPoint ,__properties__: {get_length:"get_length"} }; var flixel_math_FlxPoint = function(X,Y) { if(Y == null) { Y = 0; } if(X == null) { X = 0; } this._inPool = false; this._weak = false; this.y = 0; this.x = 0; this.set(X,Y); }; $hxClasses["flixel.math.FlxPoint"] = flixel_math_FlxPoint; flixel_math_FlxPoint.__name__ = ["flixel","math","FlxPoint"]; flixel_math_FlxPoint.__interfaces__ = [flixel_util_IFlxPooled]; flixel_math_FlxPoint.__properties__ = {get_pool:"get_pool"}; flixel_math_FlxPoint.get = function(X,Y) { if(Y == null) { Y = 0; } if(X == null) { X = 0; } var point = flixel_math_FlxPoint._pool.get().set(X,Y); point._inPool = false; return point; }; flixel_math_FlxPoint.weak = function(X,Y) { if(Y == null) { Y = 0; } if(X == null) { X = 0; } var point = flixel_math_FlxPoint._pool.get().set(X,Y); point._inPool = false; var point1 = point; point1._weak = true; return point1; }; flixel_math_FlxPoint.get_pool = function() { return flixel_math_FlxPoint._pool; }; flixel_math_FlxPoint.prototype = { x: null ,y: null ,_weak: null ,_inPool: null ,put: function() { if(!this._inPool) { this._inPool = true; this._weak = false; flixel_math_FlxPoint._pool.putUnsafe(this); } } ,putWeak: function() { if(this._weak) { this.put(); } } ,set: function(X,Y) { if(Y == null) { Y = 0; } if(X == null) { X = 0; } this.set_x(X); this.set_y(Y); return this; } ,add: function(X,Y) { if(Y == null) { Y = 0; } if(X == null) { X = 0; } var _g = this; _g.set_x(_g.x + X); var _g1 = this; _g1.set_y(_g1.y + Y); return this; } ,addPoint: function(point) { var _g = this; _g.set_x(_g.x + point.x); var _g1 = this; _g1.set_y(_g1.y + point.y); if(point._weak) { point.put(); } return this; } ,addPointWeak: function(point) { var _g = this; _g.set_x(_g.x + point.x); var _g1 = this; _g1.set_y(_g1.y + point.y); return this; } ,subtract: function(X,Y) { if(Y == null) { Y = 0; } if(X == null) { X = 0; } var _g = this; _g.set_x(_g.x - X); var _g1 = this; _g1.set_y(_g1.y - Y); return this; } ,subtractPoint: function(point) { var _g = this; _g.set_x(_g.x - point.x); var _g1 = this; _g1.set_y(_g1.y - point.y); if(point._weak) { point.put(); } return this; } ,subtractPointWeak: function(point) { var _g = this; _g.set_x(_g.x - point.x); var _g1 = this; _g1.set_y(_g1.y - point.y); return this; } ,scale: function(k) { var _g = this; _g.set_x(_g.x * k); var _g1 = this; _g1.set_y(_g1.y * k); return this; } ,copyFrom: function(point) { this.set_x(point.x); this.set_y(point.y); if(point._weak) { point.put(); } return this; } ,copyTo: function(point) { if(point == null) { var point1 = flixel_math_FlxPoint._pool.get().set(0,0); point1._inPool = false; point = point1; } point.set_x(this.x); point.set_y(this.y); return point; } ,copyFromFlash: function(FlashPoint) { this.set_x(FlashPoint.x); this.set_y(FlashPoint.y); return this; } ,copyToFlash: function(FlashPoint) { if(FlashPoint == null) { FlashPoint = new openfl_geom_Point(); } FlashPoint.x = this.x; FlashPoint.y = this.y; return FlashPoint; } ,addToFlash: function(FlashPoint) { FlashPoint.x += this.x; FlashPoint.y += this.y; return FlashPoint; } ,subtractFromFlash: function(FlashPoint) { FlashPoint.x -= this.x; FlashPoint.y -= this.y; return FlashPoint; } ,inCoords: function(RectX,RectY,RectWidth,RectHeight) { return flixel_math_FlxMath.pointInCoordinates(this.x,this.y,RectX,RectY,RectWidth,RectHeight); } ,inRect: function(Rect) { return flixel_math_FlxMath.pointInFlxRect(this.x,this.y,Rect); } ,distanceTo: function(point) { var dx = this.x - point.x; var dy = this.y - point.y; if(point._weak) { point.put(); } return Math.sqrt(dx * dx + dy * dy); } ,floor: function() { this.set_x(Math.floor(this.x)); this.set_y(Math.floor(this.y)); return this; } ,ceil: function() { this.set_x(Math.ceil(this.x)); this.set_y(Math.ceil(this.y)); return this; } ,round: function() { this.set_x(Math.round(this.x)); this.set_y(Math.round(this.y)); return this; } ,rotate: function(Pivot,Angle) { var radians = Angle * (Math.PI / 180); var n = radians; n *= 0.3183098862; if(n > 1) { n -= Math.ceil(n) >> 1 << 1; } else if(n < -1) { n += Math.ceil(-n) >> 1 << 1; } var sin = n > 0 ? n * (3.1 + n * (0.5 + n * (-7.2 + n * 3.6))) : n * (3.1 - n * (0.5 + n * (7.2 + n * 3.6))); var n1 = radians + 1.570796327; n1 *= 0.3183098862; if(n1 > 1) { n1 -= Math.ceil(n1) >> 1 << 1; } else if(n1 < -1) { n1 += Math.ceil(-n1) >> 1 << 1; } var cos = n1 > 0 ? n1 * (3.1 + n1 * (0.5 + n1 * (-7.2 + n1 * 3.6))) : n1 * (3.1 - n1 * (0.5 + n1 * (7.2 + n1 * 3.6))); var dx = this.x - Pivot.x; var dy = this.y - Pivot.y; this.set_x(cos * dx - sin * dy + Pivot.x); this.set_y(sin * dx + cos * dy + Pivot.y); if(Pivot._weak) { Pivot.put(); } return this; } ,angleBetween: function(point) { var x = point.x - this.x; var y = point.y - this.y; var angle = 0; if(x != 0 || y != 0) { var c1 = Math.PI * 0.25; var c2 = 3 * c1; var ay = y < 0 ? -y : y; if(x >= 0) { angle = c1 - c1 * ((x - ay) / (x + ay)); } else { angle = c2 - c1 * ((x + ay) / (ay - x)); } angle = (y < 0 ? -angle : angle) * (180 / Math.PI); if(angle > 90) { angle -= 270; } else { angle += 90; } } if(point._weak) { point.put(); } return angle; } ,toVector: function() { var x = this.x; var y = this.y; var point = flixel_math_FlxPoint._pool.get().set(x,y); point._inPool = false; return point; } ,equals: function(point) { var result = Math.abs(this.x - point.x) <= 0.0000001 && Math.abs(this.y - point.y) <= 0.0000001; if(point._weak) { point.put(); } return result; } ,destroy: function() { } ,transform: function(matrix) { var x1 = this.x * matrix.a + this.y * matrix.c + matrix.tx; var y1 = this.x * matrix.b + this.y * matrix.d + matrix.ty; return this.set(x1,y1); } ,toString: function() { var value = this.x; var _this = flixel_util_LabelValuePair._pool.get(); _this.label = "x"; _this.value = value; var value1 = this.y; var _this1 = flixel_util_LabelValuePair._pool.get(); _this1.label = "y"; _this1.value = value1; return flixel_util_FlxStringUtil.getDebugString([_this,_this1]); } ,set_x: function(Value) { return this.x = Value; } ,set_y: function(Value) { return this.y = Value; } ,__class__: flixel_math_FlxPoint ,__properties__: {set_y:"set_y",set_x:"set_x"} }; var flixel_util_FlxPool_$flixel_$math_$FlxRect = function(classObj) { this._count = 0; this._pool = []; this._class = classObj; }; $hxClasses["flixel.util.FlxPool_flixel_math_FlxRect"] = flixel_util_FlxPool_$flixel_$math_$FlxRect; flixel_util_FlxPool_$flixel_$math_$FlxRect.__name__ = ["flixel","util","FlxPool_flixel_math_FlxRect"]; flixel_util_FlxPool_$flixel_$math_$FlxRect.__interfaces__ = [flixel_util_IFlxPool]; flixel_util_FlxPool_$flixel_$math_$FlxRect.prototype = { _pool: null ,_class: null ,_count: null ,get: function() { if(this._count == 0) { return Type.createInstance(this._class,[]); } return this._pool[--this._count]; } ,put: function(obj) { if(obj != null) { var i = this._pool.indexOf(obj); if(i == -1 || i >= this._count) { obj.destroy(); this._pool[this._count++] = obj; } } } ,putUnsafe: function(obj) { if(obj != null) { obj.destroy(); this._pool[this._count++] = obj; } } ,preAllocate: function(numObjects) { while(numObjects-- > 0) this._pool[this._count++] = Type.createInstance(this._class,[]); } ,clear: function() { this._count = 0; var oldPool = this._pool; this._pool = []; return oldPool; } ,get_length: function() { return this._count; } ,__class__: flixel_util_FlxPool_$flixel_$math_$FlxRect ,__properties__: {get_length:"get_length"} }; var flixel_math_FlxRect = function(X,Y,Width,Height) { if(Height == null) { Height = 0; } if(Width == null) { Width = 0; } if(Y == null) { Y = 0; } if(X == null) { X = 0; } this._inPool = false; this._weak = false; this.x = X; this.y = Y; this.width = Width; this.height = Height; }; $hxClasses["flixel.math.FlxRect"] = flixel_math_FlxRect; flixel_math_FlxRect.__name__ = ["flixel","math","FlxRect"]; flixel_math_FlxRect.__interfaces__ = [flixel_util_IFlxPooled]; flixel_math_FlxRect.__properties__ = {get_pool:"get_pool"}; flixel_math_FlxRect.get = function(X,Y,Width,Height) { if(Height == null) { Height = 0; } if(Width == null) { Width = 0; } if(Y == null) { Y = 0; } if(X == null) { X = 0; } var _this = flixel_math_FlxRect._pool.get(); _this.x = X; _this.y = Y; _this.width = Width; _this.height = Height; var rect = _this; rect._inPool = false; return rect; }; flixel_math_FlxRect.weak = function(X,Y,Width,Height) { if(Height == null) { Height = 0; } if(Width == null) { Width = 0; } if(Y == null) { Y = 0; } if(X == null) { X = 0; } var _this = flixel_math_FlxRect._pool.get(); _this.x = X; _this.y = Y; _this.width = Width; _this.height = Height; var rect = _this; rect._inPool = false; var rect1 = rect; rect1._weak = true; return rect1; }; flixel_math_FlxRect.get_pool = function() { return flixel_math_FlxRect._pool; }; flixel_math_FlxRect.prototype = { x: null ,y: null ,width: null ,height: null ,isEmpty: null ,_weak: null ,_inPool: null ,put: function() { if(!this._inPool) { this._inPool = true; this._weak = false; flixel_math_FlxRect._pool.putUnsafe(this); } } ,putWeak: function() { if(this._weak) { if(!this._inPool) { this._inPool = true; this._weak = false; flixel_math_FlxRect._pool.putUnsafe(this); } } } ,setSize: function(Width,Height) { this.width = Width; this.height = Height; return this; } ,setPosition: function(x,y) { this.x = x; this.y = y; return this; } ,set: function(X,Y,Width,Height) { if(Height == null) { Height = 0; } if(Width == null) { Width = 0; } if(Y == null) { Y = 0; } if(X == null) { X = 0; } this.x = X; this.y = Y; this.width = Width; this.height = Height; return this; } ,copyFrom: function(Rect) { this.x = Rect.x; this.y = Rect.y; this.width = Rect.width; this.height = Rect.height; if(Rect._weak) { if(!Rect._inPool) { Rect._inPool = true; Rect._weak = false; flixel_math_FlxRect._pool.putUnsafe(Rect); } } return this; } ,copyTo: function(Rect) { Rect.x = this.x; Rect.y = this.y; Rect.width = this.width; Rect.height = this.height; if(Rect._weak) { if(!Rect._inPool) { Rect._inPool = true; Rect._weak = false; flixel_math_FlxRect._pool.putUnsafe(Rect); } } return Rect; } ,copyFromFlash: function(FlashRect) { this.x = FlashRect.x; this.y = FlashRect.y; this.width = FlashRect.width; this.height = FlashRect.height; return this; } ,copyToFlash: function(FlashRect) { if(FlashRect == null) { FlashRect = new openfl_geom_Rectangle(); } FlashRect.x = this.x; FlashRect.y = this.y; FlashRect.width = this.width; FlashRect.height = this.height; return FlashRect; } ,overlaps: function(Rect) { var result = Rect.x + Rect.width > this.x && Rect.x < this.x + this.width && Rect.y + Rect.height > this.y && Rect.y < this.y + this.height; if(Rect._weak) { if(!Rect._inPool) { Rect._inPool = true; Rect._weak = false; flixel_math_FlxRect._pool.putUnsafe(Rect); } } return result; } ,containsPoint: function(Point) { var result = flixel_math_FlxMath.pointInFlxRect(Point.x,Point.y,this); if(Point._weak) { Point.put(); } return result; } ,union: function(Rect) { var minX = Math.min(this.x,Rect.x); var minY = Math.min(this.y,Rect.y); var maxX = Math.max(this.x + this.width,Rect.x + Rect.width); var maxY = Math.max(this.y + this.height,Rect.y + Rect.height); if(Rect._weak) { if(!Rect._inPool) { Rect._inPool = true; Rect._weak = false; flixel_math_FlxRect._pool.putUnsafe(Rect); } } this.x = minX; this.y = minY; this.width = maxX - minX; this.height = maxY - minY; return this; } ,floor: function() { this.x = Math.floor(this.x); this.y = Math.floor(this.y); this.width = Math.floor(this.width); this.height = Math.floor(this.height); return this; } ,ceil: function() { this.x = Math.ceil(this.x); this.y = Math.ceil(this.y); this.width = Math.ceil(this.width); this.height = Math.ceil(this.height); return this; } ,round: function() { this.x = Math.round(this.x); this.y = Math.round(this.y); this.width = Math.round(this.width); this.height = Math.round(this.height); return this; } ,fromTwoPoints: function(Point1,Point2) { var minX = Math.min(Point1.x,Point2.x); var minY = Math.min(Point1.y,Point2.y); var maxX = Math.max(Point1.x,Point2.x); var maxY = Math.max(Point1.y,Point2.y); if(Point1._weak) { Point1.put(); } if(Point2._weak) { Point2.put(); } this.x = minX; this.y = minY; this.width = maxX - minX; this.height = maxY - minY; return this; } ,unionWithPoint: function(Point) { var minX = Math.min(this.x,Point.x); var minY = Math.min(this.y,Point.y); var maxX = Math.max(this.x + this.width,Point.x); var maxY = Math.max(this.y + this.height,Point.y); if(Point._weak) { Point.put(); } this.x = minX; this.y = minY; this.width = maxX - minX; this.height = maxY - minY; return this; } ,offset: function(dx,dy) { this.x += dx; this.y += dy; return this; } ,destroy: function() { } ,equals: function(rect) { var result = Math.abs(this.x - rect.x) <= 0.0000001 && Math.abs(this.y - rect.y) <= 0.0000001 && Math.abs(this.width - rect.width) <= 0.0000001 && Math.abs(this.height - rect.height) <= 0.0000001; if(rect._weak) { if(!rect._inPool) { rect._inPool = true; rect._weak = false; flixel_math_FlxRect._pool.putUnsafe(rect); } } return result; } ,intersection: function(rect,result) { if(result == null) { var _this = flixel_math_FlxRect._pool.get(); _this.x = 0; _this.y = 0; _this.width = 0; _this.height = 0; var rect1 = _this; rect1._inPool = false; result = rect1; } var x0 = this.x < rect.x ? rect.x : this.x; var x1 = this.x + this.width > rect.x + rect.width ? rect.x + rect.width : this.x + this.width; if(x1 <= x0) { if(rect._weak) { if(!rect._inPool) { rect._inPool = true; rect._weak = false; flixel_math_FlxRect._pool.putUnsafe(rect); } } return result; } var y0 = this.y < rect.y ? rect.y : this.y; var y1 = this.y + this.height > rect.y + rect.height ? rect.y + rect.height : this.y + this.height; if(y1 <= y0) { if(rect._weak) { if(!rect._inPool) { rect._inPool = true; rect._weak = false; flixel_math_FlxRect._pool.putUnsafe(rect); } } return result; } if(rect._weak) { if(!rect._inPool) { rect._inPool = true; rect._weak = false; flixel_math_FlxRect._pool.putUnsafe(rect); } } result.x = x0; result.y = y0; result.width = x1 - x0; result.height = y1 - y0; return result; } ,toString: function() { var value = this.x; var _this = flixel_util_LabelValuePair._pool.get(); _this.label = "x"; _this.value = value; var value1 = this.y; var _this1 = flixel_util_LabelValuePair._pool.get(); _this1.label = "y"; _this1.value = value1; var value2 = this.width; var _this2 = flixel_util_LabelValuePair._pool.get(); _this2.label = "w"; _this2.value = value2; var value3 = this.height; var _this3 = flixel_util_LabelValuePair._pool.get(); _this3.label = "h"; _this3.value = value3; return flixel_util_FlxStringUtil.getDebugString([_this,_this1,_this2,_this3]); } ,get_left: function() { return this.x; } ,set_left: function(Value) { this.width -= Value - this.x; return this.x = Value; } ,get_right: function() { return this.x + this.width; } ,set_right: function(Value) { this.width = Value - this.x; return Value; } ,get_top: function() { return this.y; } ,set_top: function(Value) { this.height -= Value - this.y; return this.y = Value; } ,get_bottom: function() { return this.y + this.height; } ,set_bottom: function(Value) { this.height = Value - this.y; return Value; } ,get_isEmpty: function() { if(this.width != 0) { return this.height == 0; } else { return true; } } ,__class__: flixel_math_FlxRect ,__properties__: {get_isEmpty:"get_isEmpty",set_bottom:"set_bottom",get_bottom:"get_bottom",set_top:"set_top",get_top:"get_top",set_right:"set_right",get_right:"get_right",set_left:"set_left",get_left:"get_left"} }; var lime_math_Matrix3 = function(a,b,c,d,tx,ty) { if(ty == null) { ty = 0; } if(tx == null) { tx = 0; } if(d == null) { d = 1; } if(c == null) { c = 0; } if(b == null) { b = 0; } if(a == null) { a = 1; } this.a = a; this.b = b; this.c = c; this.d = d; this.tx = tx; this.ty = ty; }; $hxClasses["lime.math.Matrix3"] = lime_math_Matrix3; lime_math_Matrix3.__name__ = ["lime","math","Matrix3"]; lime_math_Matrix3.prototype = { a: null ,b: null ,c: null ,d: null ,tx: null ,ty: null ,clone: function() { return new lime_math_Matrix3(this.a,this.b,this.c,this.d,this.tx,this.ty); } ,concat: function(m) { var a1 = this.a * m.a + this.b * m.c; this.b = this.a * m.b + this.b * m.d; this.a = a1; var c1 = this.c * m.a + this.d * m.c; this.d = this.c * m.b + this.d * m.d; this.c = c1; var tx1 = this.tx * m.a + this.ty * m.c + m.tx; this.ty = this.tx * m.b + this.ty * m.d + m.ty; this.tx = tx1; } ,copyColumnFrom: function(column,vector4) { if(column > 2) { throw new js__$Boot_HaxeError("Column " + column + " out of bounds (2)"); } else if(column == 0) { this.a = vector4.x; this.b = vector4.y; } else if(column == 1) { this.c = vector4.x; this.d = vector4.y; } else { this.tx = vector4.x; this.ty = vector4.y; } } ,copyColumnTo: function(column,vector4) { if(column > 2) { throw new js__$Boot_HaxeError("Column " + column + " out of bounds (2)"); } else if(column == 0) { vector4.x = this.a; vector4.y = this.b; vector4.z = 0; } else if(column == 1) { vector4.x = this.c; vector4.y = this.d; vector4.z = 0; } else { vector4.x = this.tx; vector4.y = this.ty; vector4.z = 1; } } ,copyFrom: function(sourceMatrix3) { this.a = sourceMatrix3.a; this.b = sourceMatrix3.b; this.c = sourceMatrix3.c; this.d = sourceMatrix3.d; this.tx = sourceMatrix3.tx; this.ty = sourceMatrix3.ty; } ,copyRowFrom: function(row,vector4) { if(row > 2) { throw new js__$Boot_HaxeError("Row " + row + " out of bounds (2)"); } else if(row == 0) { this.a = vector4.x; this.c = vector4.y; this.tx = vector4.z; } else if(row == 1) { this.b = vector4.x; this.d = vector4.y; this.ty = vector4.z; } } ,copyRowTo: function(row,vector4) { if(row > 2) { throw new js__$Boot_HaxeError("Row " + row + " out of bounds (2)"); } else if(row == 0) { vector4.x = this.a; vector4.y = this.c; vector4.z = this.tx; } else if(row == 1) { vector4.x = this.b; vector4.y = this.d; vector4.z = this.ty; } else { vector4.x = 0; vector4.y = 0; vector4.z = 1; } } ,createBox: function(scaleX,scaleY,rotation,tx,ty) { if(ty == null) { ty = 0; } if(tx == null) { tx = 0; } if(rotation == null) { rotation = 0; } if(rotation != 0) { var cos = Math.cos(rotation); var sin = Math.sin(rotation); this.a = cos * scaleX; this.b = sin * scaleY; this.c = -sin * scaleX; this.d = cos * scaleY; } else { this.a = scaleX; this.b = 0; this.c = 0; this.d = scaleY; } this.tx = tx; this.ty = ty; } ,createGradientBox: function(width,height,rotation,tx,ty) { if(ty == null) { ty = 0; } if(tx == null) { tx = 0; } if(rotation == null) { rotation = 0; } this.a = width / 1638.4; this.d = height / 1638.4; if(rotation != 0) { var cos = Math.cos(rotation); var sin = Math.sin(rotation); this.b = sin * this.d; this.c = -sin * this.a; this.a *= cos; this.d *= cos; } else { this.b = 0; this.c = 0; } this.tx = tx + width / 2; this.ty = ty + height / 2; } ,equals: function(matrix3) { if(matrix3 != null && this.tx == matrix3.tx && this.ty == matrix3.ty && this.a == matrix3.a && this.b == matrix3.b && this.c == matrix3.c) { return this.d == matrix3.d; } else { return false; } } ,deltaTransformVector: function(Vector2,result) { if(result == null) { result = new lime_math_Vector2(); } result.x = Vector2.x * this.a + Vector2.y * this.c; result.y = Vector2.x * this.b + Vector2.y * this.d; return result; } ,identity: function() { this.a = 1; this.b = 0; this.c = 0; this.d = 1; this.tx = 0; this.ty = 0; } ,invert: function() { var norm = this.a * this.d - this.b * this.c; if(norm == 0) { this.a = this.b = this.c = this.d = 0; this.tx = -this.tx; this.ty = -this.ty; } else { norm = 1.0 / norm; var a1 = this.d * norm; this.d = this.a * norm; this.a = a1; this.b *= -norm; this.c *= -norm; var tx1 = -this.a * this.tx - this.c * this.ty; this.ty = -this.b * this.tx - this.d * this.ty; this.tx = tx1; } return this; } ,rotate: function(theta) { var cos = Math.cos(theta); var sin = Math.sin(theta); var a1 = this.a * cos - this.b * sin; this.b = this.a * sin + this.b * cos; this.a = a1; var c1 = this.c * cos - this.d * sin; this.d = this.c * sin + this.d * cos; this.c = c1; var tx1 = this.tx * cos - this.ty * sin; this.ty = this.tx * sin + this.ty * cos; this.tx = tx1; } ,scale: function(sx,sy) { this.a *= sx; this.b *= sy; this.c *= sx; this.d *= sy; this.tx *= sx; this.ty *= sy; } ,setRotation: function(theta,scale) { if(scale == null) { scale = 1; } this.a = Math.cos(theta) * scale; this.c = Math.sin(theta) * scale; this.b = -this.c; this.d = this.a; } ,setTo: function(a,b,c,d,tx,ty) { this.a = a; this.b = b; this.c = c; this.d = d; this.tx = tx; this.ty = ty; } ,to3DString: function(roundPixels) { if(roundPixels == null) { roundPixels = false; } if(roundPixels) { return "matrix3d(" + this.a + ", " + this.b + ", " + "0, 0, " + this.c + ", " + this.d + ", " + "0, 0, 0, 0, 1, 0, " + (this.tx | 0) + ", " + (this.ty | 0) + ", 0, 1)"; } else { return "matrix3d(" + this.a + ", " + this.b + ", " + "0, 0, " + this.c + ", " + this.d + ", " + "0, 0, 0, 0, 1, 0, " + this.tx + ", " + this.ty + ", 0, 1)"; } } ,toString: function() { return "matrix(" + this.a + ", " + this.b + ", " + this.c + ", " + this.d + ", " + this.tx + ", " + this.ty + ")"; } ,transformRect: function(rect,result) { if(result == null) { result = new lime_math_Rectangle(); } var tx0 = this.a * rect.x + this.c * rect.y; var tx1 = tx0; var ty0 = this.b * rect.x + this.d * rect.y; var ty1 = ty0; var tx = this.a * (rect.x + rect.width) + this.c * rect.y; var ty = this.b * (rect.x + rect.width) + this.d * rect.y; if(tx < tx0) { tx0 = tx; } if(ty < ty0) { ty0 = ty; } if(tx > tx1) { tx1 = tx; } if(ty > ty1) { ty1 = ty; } tx = this.a * (rect.x + rect.width) + this.c * (rect.y + rect.height); ty = this.b * (rect.x + rect.width) + this.d * (rect.y + rect.height); if(tx < tx0) { tx0 = tx; } if(ty < ty0) { ty0 = ty; } if(tx > tx1) { tx1 = tx; } if(ty > ty1) { ty1 = ty; } tx = this.a * rect.x + this.c * (rect.y + rect.height); ty = this.b * rect.x + this.d * (rect.y + rect.height); if(tx < tx0) { tx0 = tx; } if(ty < ty0) { ty0 = ty; } if(tx > tx1) { tx1 = tx; } if(ty > ty1) { ty1 = ty; } result.setTo(tx0 + tx,ty0 + ty,tx1 - tx0,ty1 - ty0); return result; } ,transformVector: function(pos,result) { if(result == null) { result = new lime_math_Vector2(); } result.x = pos.x * this.a + pos.y * this.c + this.tx; result.y = pos.x * this.b + pos.y * this.d + this.ty; return result; } ,translate: function(dx,dy) { this.tx += dx; this.ty += dy; } ,__class__: lime_math_Matrix3 }; var openfl_geom_Matrix = function(a,b,c,d,tx,ty) { if(ty == null) { ty = 0; } if(tx == null) { tx = 0; } if(d == null) { d = 1; } if(c == null) { c = 0; } if(b == null) { b = 0; } if(a == null) { a = 1; } this.a = a; this.b = b; this.c = c; this.d = d; this.tx = tx; this.ty = ty; }; $hxClasses["openfl.geom.Matrix"] = openfl_geom_Matrix; openfl_geom_Matrix.__name__ = ["openfl","geom","Matrix"]; openfl_geom_Matrix.prototype = { a: null ,b: null ,c: null ,d: null ,tx: null ,ty: null ,__array: null ,clone: function() { return new openfl_geom_Matrix(this.a,this.b,this.c,this.d,this.tx,this.ty); } ,concat: function(m) { var a1 = this.a * m.a + this.b * m.c; this.b = this.a * m.b + this.b * m.d; this.a = a1; var c1 = this.c * m.a + this.d * m.c; this.d = this.c * m.b + this.d * m.d; this.c = c1; var tx1 = this.tx * m.a + this.ty * m.c + m.tx; this.ty = this.tx * m.b + this.ty * m.d + m.ty; this.tx = tx1; } ,copyColumnFrom: function(column,vector3D) { if(column > 2) { throw new js__$Boot_HaxeError("Column " + column + " out of bounds (2)"); } else if(column == 0) { this.a = vector3D.x; this.b = vector3D.y; } else if(column == 1) { this.c = vector3D.x; this.d = vector3D.y; } else { this.tx = vector3D.x; this.ty = vector3D.y; } } ,copyColumnTo: function(column,vector3D) { if(column > 2) { throw new js__$Boot_HaxeError("Column " + column + " out of bounds (2)"); } else if(column == 0) { vector3D.x = this.a; vector3D.y = this.b; vector3D.z = 0; } else if(column == 1) { vector3D.x = this.c; vector3D.y = this.d; vector3D.z = 0; } else { vector3D.x = this.tx; vector3D.y = this.ty; vector3D.z = 1; } } ,copyFrom: function(sourceMatrix) { this.a = sourceMatrix.a; this.b = sourceMatrix.b; this.c = sourceMatrix.c; this.d = sourceMatrix.d; this.tx = sourceMatrix.tx; this.ty = sourceMatrix.ty; } ,copyRowFrom: function(row,vector3D) { if(row > 2) { throw new js__$Boot_HaxeError("Row " + row + " out of bounds (2)"); } else if(row == 0) { this.a = vector3D.x; this.c = vector3D.y; this.tx = vector3D.z; } else if(row == 1) { this.b = vector3D.x; this.d = vector3D.y; this.ty = vector3D.z; } } ,copyRowTo: function(row,vector3D) { if(row > 2) { throw new js__$Boot_HaxeError("Row " + row + " out of bounds (2)"); } else if(row == 0) { vector3D.x = this.a; vector3D.y = this.c; vector3D.z = this.tx; } else if(row == 1) { vector3D.x = this.b; vector3D.y = this.d; vector3D.z = this.ty; } else { vector3D.setTo(0,0,1); } } ,createBox: function(scaleX,scaleY,rotation,tx,ty) { if(ty == null) { ty = 0; } if(tx == null) { tx = 0; } if(rotation == null) { rotation = 0; } if(rotation != 0) { var cos = Math.cos(rotation); var sin = Math.sin(rotation); this.a = cos * scaleX; this.b = sin * scaleY; this.c = -sin * scaleX; this.d = cos * scaleY; } else { this.a = scaleX; this.b = 0; this.c = 0; this.d = scaleY; } this.tx = tx; this.ty = ty; } ,createGradientBox: function(width,height,rotation,tx,ty) { if(ty == null) { ty = 0; } if(tx == null) { tx = 0; } if(rotation == null) { rotation = 0; } this.a = width / 1638.4; this.d = height / 1638.4; if(rotation != 0) { var cos = Math.cos(rotation); var sin = Math.sin(rotation); this.b = sin * this.d; this.c = -sin * this.a; this.a *= cos; this.d *= cos; } else { this.b = 0; this.c = 0; } this.tx = tx + width / 2; this.ty = ty + height / 2; } ,deltaTransformPoint: function(point) { return new openfl_geom_Point(point.x * this.a + point.y * this.c,point.x * this.b + point.y * this.d); } ,equals: function(matrix) { if(matrix != null && this.tx == matrix.tx && this.ty == matrix.ty && this.a == matrix.a && this.b == matrix.b && this.c == matrix.c) { return this.d == matrix.d; } else { return false; } } ,identity: function() { this.a = 1; this.b = 0; this.c = 0; this.d = 1; this.tx = 0; this.ty = 0; } ,invert: function() { var norm = this.a * this.d - this.b * this.c; if(norm == 0) { this.a = this.b = this.c = this.d = 0; this.tx = -this.tx; this.ty = -this.ty; } else { norm = 1.0 / norm; var a1 = this.d * norm; this.d = this.a * norm; this.a = a1; this.b *= -norm; this.c *= -norm; var tx1 = -this.a * this.tx - this.c * this.ty; this.ty = -this.b * this.tx - this.d * this.ty; this.tx = tx1; } return this; } ,rotate: function(theta) { var cos = Math.cos(theta); var sin = Math.sin(theta); var a1 = this.a * cos - this.b * sin; this.b = this.a * sin + this.b * cos; this.a = a1; var c1 = this.c * cos - this.d * sin; this.d = this.c * sin + this.d * cos; this.c = c1; var tx1 = this.tx * cos - this.ty * sin; this.ty = this.tx * sin + this.ty * cos; this.tx = tx1; } ,scale: function(sx,sy) { this.a *= sx; this.b *= sy; this.c *= sx; this.d *= sy; this.tx *= sx; this.ty *= sy; } ,setRotation: function(theta,scale) { if(scale == null) { scale = 1; } this.a = Math.cos(theta) * scale; this.c = Math.sin(theta) * scale; this.b = -this.c; this.d = this.a; } ,setTo: function(a,b,c,d,tx,ty) { this.a = a; this.b = b; this.c = c; this.d = d; this.tx = tx; this.ty = ty; } ,to3DString: function(roundPixels) { if(roundPixels == null) { roundPixels = false; } if(roundPixels) { return "matrix3d(" + this.a + ", " + this.b + ", 0, 0, " + this.c + ", " + this.d + ", 0, 0, 0, 0, 1, 0, " + (this.tx | 0) + ", " + (this.ty | 0) + ", 0, 1)"; } else { return "matrix3d(" + this.a + ", " + this.b + ", 0, 0, " + this.c + ", " + this.d + ", 0, 0, 0, 0, 1, 0, " + this.tx + ", " + this.ty + ", 0, 1)"; } } ,toMozString: function() { return "matrix(" + this.a + ", " + this.b + ", " + this.c + ", " + this.d + ", " + this.tx + "px, " + this.ty + "px)"; } ,toString: function() { return "matrix(" + this.a + ", " + this.b + ", " + this.c + ", " + this.d + ", " + this.tx + ", " + this.ty + ")"; } ,transformPoint: function(pos) { return new openfl_geom_Point(pos.x * this.a + pos.y * this.c + this.tx,pos.x * this.b + pos.y * this.d + this.ty); } ,translate: function(dx,dy) { this.tx += dx; this.ty += dy; } ,toArray: function(transpose) { if(transpose == null) { transpose = false; } if(this.__array == null) { var this1 = new Float32Array(9); this.__array = this1; } if(transpose) { this.__array[0] = this.a; this.__array[1] = this.b; this.__array[2] = 0; this.__array[3] = this.c; this.__array[4] = this.d; this.__array[5] = 0; this.__array[6] = this.tx; this.__array[7] = this.ty; this.__array[8] = 1; } else { this.__array[0] = this.a; this.__array[1] = this.c; this.__array[2] = this.tx; this.__array[3] = this.b; this.__array[4] = this.d; this.__array[5] = this.ty; this.__array[6] = 0; this.__array[7] = 0; this.__array[8] = 1; } return this.__array; } ,__cleanValues: function() { this.a = Math.round(this.a * 1000) / 1000; this.b = Math.round(this.b * 1000) / 1000; this.c = Math.round(this.c * 1000) / 1000; this.d = Math.round(this.d * 1000) / 1000; this.tx = Math.round(this.tx * 10) / 10; this.ty = Math.round(this.ty * 10) / 10; } ,__toMatrix3: function() { openfl_geom_Matrix.__matrix3.setTo(this.a,this.b,this.c,this.d,this.tx,this.ty); return openfl_geom_Matrix.__matrix3; } ,__transformInversePoint: function(point) { var norm = this.a * this.d - this.b * this.c; if(norm == 0) { point.x = -this.tx; point.y = -this.ty; } else { var px = 1.0 / norm * (this.c * (this.ty - point.y) + this.d * (point.x - this.tx)); point.y = 1.0 / norm * (this.a * (point.y - this.ty) + this.b * (this.tx - point.x)); point.x = px; } } ,__transformInverseX: function(px,py) { var norm = this.a * this.d - this.b * this.c; if(norm == 0) { return -this.tx; } else { return 1.0 / norm * (this.c * (this.ty - py) + this.d * (px - this.tx)); } } ,__transformInverseY: function(px,py) { var norm = this.a * this.d - this.b * this.c; if(norm == 0) { return -this.ty; } else { return 1.0 / norm * (this.a * (py - this.ty) + this.b * (this.tx - px)); } } ,__transformPoint: function(point) { var px = point.x; var py = point.y; point.x = px * this.a + py * this.c + this.tx; point.y = px * this.b + py * this.d + this.ty; } ,__transformX: function(px,py) { return px * this.a + py * this.c + this.tx; } ,__transformY: function(px,py) { return px * this.b + py * this.d + this.ty; } ,__translateTransformed: function(px,py) { this.tx = px * this.a + py * this.c + this.tx; this.ty = px * this.b + py * this.d + this.ty; } ,__class__: openfl_geom_Matrix }; var openfl_geom_ColorTransform = function(redMultiplier,greenMultiplier,blueMultiplier,alphaMultiplier,redOffset,greenOffset,blueOffset,alphaOffset) { if(alphaOffset == null) { alphaOffset = 0; } if(blueOffset == null) { blueOffset = 0; } if(greenOffset == null) { greenOffset = 0; } if(redOffset == null) { redOffset = 0; } if(alphaMultiplier == null) { alphaMultiplier = 1; } if(blueMultiplier == null) { blueMultiplier = 1; } if(greenMultiplier == null) { greenMultiplier = 1; } if(redMultiplier == null) { redMultiplier = 1; } this.redMultiplier = redMultiplier; this.greenMultiplier = greenMultiplier; this.blueMultiplier = blueMultiplier; this.alphaMultiplier = alphaMultiplier; this.redOffset = redOffset; this.greenOffset = greenOffset; this.blueOffset = blueOffset; this.alphaOffset = alphaOffset; }; $hxClasses["openfl.geom.ColorTransform"] = openfl_geom_ColorTransform; openfl_geom_ColorTransform.__name__ = ["openfl","geom","ColorTransform"]; openfl_geom_ColorTransform.__limeColorMatrix = null; openfl_geom_ColorTransform.prototype = { alphaMultiplier: null ,alphaOffset: null ,blueMultiplier: null ,blueOffset: null ,greenMultiplier: null ,greenOffset: null ,redMultiplier: null ,redOffset: null ,concat: function(second) { this.redOffset = second.redOffset * this.redMultiplier + this.redOffset; this.greenOffset = second.greenOffset * this.greenMultiplier + this.greenOffset; this.blueOffset = second.blueOffset * this.blueMultiplier + this.blueOffset; this.alphaOffset = second.alphaOffset * this.alphaMultiplier + this.alphaOffset; this.redMultiplier *= second.redMultiplier; this.greenMultiplier *= second.greenMultiplier; this.blueMultiplier *= second.blueMultiplier; this.alphaMultiplier *= second.alphaMultiplier; } ,toString: function() { return "(redMultiplier=" + this.redMultiplier + ", greenMultiplier=" + this.greenMultiplier + ", blueMultiplier=" + this.blueMultiplier + ", alphaMultiplier=" + this.alphaMultiplier + ", redOffset=" + this.redOffset + ", greenOffset=" + this.greenOffset + ", blueOffset=" + this.blueOffset + ", alphaOffset=" + this.alphaOffset + ")"; } ,__clone: function() { return new openfl_geom_ColorTransform(this.redMultiplier,this.greenMultiplier,this.blueMultiplier,this.alphaMultiplier,this.redOffset,this.greenOffset,this.blueOffset,this.alphaOffset); } ,__copyFrom: function(ct) { this.redMultiplier = ct.redMultiplier; this.greenMultiplier = ct.greenMultiplier; this.blueMultiplier = ct.blueMultiplier; this.alphaMultiplier = ct.alphaMultiplier; this.redOffset = ct.redOffset; this.greenOffset = ct.greenOffset; this.blueOffset = ct.blueOffset; this.alphaOffset = ct.alphaOffset; } ,__combine: function(ct) { this.redMultiplier *= ct.redMultiplier; this.greenMultiplier *= ct.greenMultiplier; this.blueMultiplier *= ct.blueMultiplier; this.alphaMultiplier *= ct.alphaMultiplier; this.redOffset += ct.redOffset; this.greenOffset += ct.greenOffset; this.blueOffset += ct.blueOffset; this.alphaOffset += ct.alphaOffset; } ,__identity: function() { this.redMultiplier = 1; this.greenMultiplier = 1; this.blueMultiplier = 1; this.alphaMultiplier = 1; this.redOffset = 0; this.greenOffset = 0; this.blueOffset = 0; this.alphaOffset = 0; } ,__invert: function() { this.redMultiplier = 1 / this.redMultiplier; this.greenMultiplier = 1 / this.greenMultiplier; this.blueMultiplier = 1 / this.blueMultiplier; this.alphaMultiplier = 1 / this.alphaMultiplier; this.redOffset = -this.redOffset; this.greenOffset = -this.greenOffset; this.blueOffset = -this.blueOffset; this.alphaOffset = -this.alphaOffset; } ,__equals: function(ct,ignoreAlphaMultiplier) { if(ct != null && this.redMultiplier == ct.redMultiplier && this.greenMultiplier == ct.greenMultiplier && this.blueMultiplier == ct.blueMultiplier && (ignoreAlphaMultiplier || this.alphaMultiplier == ct.alphaMultiplier) && this.redOffset == ct.redOffset && this.greenOffset == ct.greenOffset && this.blueOffset == ct.blueOffset) { return this.alphaOffset == ct.alphaOffset; } else { return false; } } ,__isDefault: function(ignoreAlphaMultiplier) { if(ignoreAlphaMultiplier) { if(this.redMultiplier == 1 && this.greenMultiplier == 1 && this.blueMultiplier == 1 && this.redOffset == 0 && this.greenOffset == 0 && this.blueOffset == 0) { return this.alphaOffset == 0; } else { return false; } } else if(this.redMultiplier == 1 && this.greenMultiplier == 1 && this.blueMultiplier == 1 && this.alphaMultiplier == 1 && this.redOffset == 0 && this.greenOffset == 0 && this.blueOffset == 0) { return this.alphaOffset == 0; } else { return false; } } ,__setArrays: function(colorMultipliers,colorOffsets) { colorMultipliers[0] = this.redMultiplier; colorMultipliers[1] = this.greenMultiplier; colorMultipliers[2] = this.blueMultiplier; colorMultipliers[3] = this.alphaMultiplier; colorOffsets[0] = this.redOffset; colorOffsets[1] = this.greenOffset; colorOffsets[2] = this.blueOffset; colorOffsets[3] = this.alphaOffset; } ,get_color: function() { return (this.redOffset | 0) << 16 | (this.greenOffset | 0) << 8 | (this.blueOffset | 0); } ,set_color: function(value) { this.redOffset = value >> 16 & 255; this.greenOffset = value >> 8 & 255; this.blueOffset = value & 255; this.redMultiplier = 0; this.greenMultiplier = 0; this.blueMultiplier = 0; return this.get_color(); } ,__toLimeColorMatrix: function() { if(openfl_geom_ColorTransform.__limeColorMatrix == null) { var this1 = new Float32Array(20); openfl_geom_ColorTransform.__limeColorMatrix = this1; } openfl_geom_ColorTransform.__limeColorMatrix[0] = this.redMultiplier; openfl_geom_ColorTransform.__limeColorMatrix[4] = this.redOffset / 255; openfl_geom_ColorTransform.__limeColorMatrix[6] = this.greenMultiplier; openfl_geom_ColorTransform.__limeColorMatrix[9] = this.greenOffset / 255; openfl_geom_ColorTransform.__limeColorMatrix[12] = this.blueMultiplier; openfl_geom_ColorTransform.__limeColorMatrix[14] = this.blueOffset / 255; openfl_geom_ColorTransform.__limeColorMatrix[18] = this.alphaMultiplier; openfl_geom_ColorTransform.__limeColorMatrix[19] = this.alphaOffset / 255; return openfl_geom_ColorTransform.__limeColorMatrix; } ,__class__: openfl_geom_ColorTransform ,__properties__: {set_color:"set_color",get_color:"get_color"} }; var flixel_FlxCamera = function(X,Y,Width,Height,Zoom) { if(Zoom == null) { Zoom = 0; } if(Height == null) { Height = 0; } if(Width == null) { Width = 0; } if(Y == null) { Y = 0; } if(X == null) { X = 0; } this._helperPoint = new openfl_geom_Point(); this._helperMatrix = new flixel_math_FlxMatrix(); var _this = flixel_math_FlxRect._pool.get(); _this.x = 0; _this.y = 0; _this.width = 0; _this.height = 0; var rect = _this; rect._inPool = false; this._bounds = rect; this._scrollRect = new openfl_display_Sprite(); this.initialZoom = 1; var point = flixel_math_FlxPoint._pool.get().set(0,0); point._inPool = false; this._point = point; this._fxShakeAxes = flixel_util_FlxAxes.XY; this._fxShakeDuration = 0; this._fxShakeIntensity = 0; this._fxFadeAlpha = 0; this._fxFadeCompleted = true; this._fxFadeComplete = null; this._fxFadeIn = false; this._fxFadeDuration = 0; var point1 = flixel_math_FlxPoint._pool.get().set(0,0); point1._inPool = false; this._scrollTarget = point1; this._fxFadeColor = 0; this._fxFlashAlpha = 0; this._fxFlashComplete = null; this._fxFlashDuration = 0; this._fxFlashColor = 0; var point2 = flixel_math_FlxPoint._pool.get().set(0,0); point2._inPool = false; this._flashOffset = point2; this._flashPoint = new openfl_geom_Point(); this.filtersEnabled = true; var point3 = flixel_math_FlxPoint._pool.get().set(0,0); point3._inPool = false; this.followLead = point3; this.antialiasing = false; this.color = -1; this.angle = 0; this.alpha = 1; this._useBlitMatrix = false; this._blitMatrix = new flixel_math_FlxMatrix(); this.viewHeight = 0; this.viewWidth = 0; this.viewOffsetHeight = 0; this.viewOffsetWidth = 0; this.viewOffsetY = 0; this.viewOffsetX = 0; this.height = 0; this.width = 0; this.flashSprite = new openfl_display_Sprite(); this.useBgAlphaBlending = false; var point4 = flixel_math_FlxPoint._pool.get().set(0,0); point4._inPool = false; this.scroll = point4; this.followLerp = 60 / flixel_FlxG.updateFramerate; var point5 = flixel_math_FlxPoint._pool.get().set(0,0); point5._inPool = false; this.targetOffset = point5; this.scaleY = 0; this.scaleX = 0; this.y = 0; this.x = 0; flixel_FlxBasic.call(this); this.set_x(X); this.set_y(Y); this.set_width(Width <= 0 ? flixel_FlxG.width : Width); this.set_height(Height <= 0 ? flixel_FlxG.height : Height); this._flashRect = new openfl_geom_Rectangle(0,0,this.width,this.height); this.flashSprite.addChild(this._scrollRect); this._scrollRect.set_scrollRect(new openfl_geom_Rectangle()); this.pixelPerfectRender = flixel_FlxG.renderBlit; if(flixel_FlxG.renderBlit) { this.screen = new flixel_FlxSprite(); this.buffer = new openfl_display_BitmapData(this.width,this.height,true,0); this.screen.set_pixels(this.buffer); this.screen.origin.set(); this._flashBitmap = new openfl_display_Bitmap(this.buffer); this._scrollRect.addChild(this._flashBitmap); this._fill = new openfl_display_BitmapData(this.width,this.height,true,0); } else { this.canvas = new openfl_display_Sprite(); this._scrollRect.addChild(this.canvas); } this.set_color(-1); this.initialZoom = Zoom == 0 ? flixel_FlxCamera.defaultZoom : Zoom; this.set_zoom(Zoom); this.updateScrollRect(); this.updateFlashOffset(); this.updateFlashSpritePosition(); this.updateInternalSpritePositions(); this.bgColor = flixel_FlxG.cameras.get_bgColor(); }; $hxClasses["flixel.FlxCamera"] = flixel_FlxCamera; flixel_FlxCamera.__name__ = ["flixel","FlxCamera"]; flixel_FlxCamera.defaultZoom = null; flixel_FlxCamera.defaultCameras = null; flixel_FlxCamera._storageTilesHead = null; flixel_FlxCamera._storageTrianglesHead = null; flixel_FlxCamera.__super__ = flixel_FlxBasic; flixel_FlxCamera.prototype = $extend(flixel_FlxBasic.prototype,{ x: null ,y: null ,scaleX: null ,scaleY: null ,totalScaleX: null ,totalScaleY: null ,style: null ,target: null ,targetOffset: null ,followLerp: null ,deadzone: null ,minScrollX: null ,maxScrollX: null ,minScrollY: null ,maxScrollY: null ,scroll: null ,buffer: null ,bgColor: null ,screen: null ,useBgAlphaBlending: null ,flashSprite: null ,pixelPerfectRender: null ,width: null ,height: null ,zoom: null ,viewOffsetX: null ,viewOffsetY: null ,viewOffsetWidth: null ,viewOffsetHeight: null ,viewWidth: null ,viewHeight: null ,_blitMatrix: null ,_useBlitMatrix: null ,alpha: null ,angle: null ,color: null ,antialiasing: null ,followLead: null ,filtersEnabled: null ,_flashRect: null ,_flashPoint: null ,_flashOffset: null ,_fxFlashColor: null ,_fxFlashDuration: null ,_fxFlashComplete: null ,_fxFlashAlpha: null ,_fxFadeColor: null ,_lastTargetPosition: null ,_scrollTarget: null ,_fxFadeDuration: null ,_fxFadeIn: null ,_fxFadeComplete: null ,_fxFadeCompleted: null ,_fxFadeAlpha: null ,_fxShakeIntensity: null ,_fxShakeDuration: null ,_fxShakeComplete: null ,_fxShakeAxes: null ,_point: null ,_filters: null ,initialZoom: null ,_fill: null ,_flashBitmap: null ,_scrollRect: null ,_bounds: null ,canvas: null ,_helperMatrix: null ,_helperPoint: null ,_currentDrawItem: null ,_headOfDrawStack: null ,_headTiles: null ,_headTriangles: null ,startQuadBatch: function(graphic,colored,hasColorOffsets,blend,smooth,shader) { if(smooth == null) { smooth = false; } if(hasColorOffsets == null) { hasColorOffsets = false; } var itemToReturn = null; var blendInt = flixel_graphics_tile_FlxDrawBaseItem.blendToInt(blend); if(this._currentDrawItem != null && this._currentDrawItem.type == flixel_graphics_tile_FlxDrawItemType.TILES && this._headTiles.graphics == graphic && this._headTiles.colored == colored && this._headTiles.hasColorOffsets == hasColorOffsets && this._headTiles.blending == blendInt && this._headTiles.blend == blend && this._headTiles.antialiasing == smooth && this._headTiles.shader == shader) { return this._headTiles; } if(flixel_FlxCamera._storageTilesHead != null) { itemToReturn = flixel_FlxCamera._storageTilesHead; var newHead = flixel_FlxCamera._storageTilesHead.nextTyped; itemToReturn.reset(); flixel_FlxCamera._storageTilesHead = newHead; } else { itemToReturn = new flixel_graphics_tile_FlxDrawQuadsItem(); } itemToReturn.graphics = graphic; itemToReturn.antialiasing = smooth; itemToReturn.colored = colored; itemToReturn.hasColorOffsets = hasColorOffsets; itemToReturn.blending = blendInt; itemToReturn.blend = blend; itemToReturn.shader = shader; itemToReturn.nextTyped = this._headTiles; this._headTiles = itemToReturn; if(this._headOfDrawStack == null) { this._headOfDrawStack = itemToReturn; } if(this._currentDrawItem != null) { this._currentDrawItem.next = itemToReturn; } this._currentDrawItem = itemToReturn; return itemToReturn; } ,startTrianglesBatch: function(graphic,smoothing,isColored,blend) { if(isColored == null) { isColored = false; } if(smoothing == null) { smoothing = false; } var blendInt = flixel_graphics_tile_FlxDrawBaseItem.blendToInt(blend); if(this._currentDrawItem != null && this._currentDrawItem.type == flixel_graphics_tile_FlxDrawItemType.TRIANGLES && this._headTriangles.graphics == graphic && this._headTriangles.antialiasing == smoothing && this._headTriangles.colored == isColored && this._headTriangles.blending == blendInt) { return this._headTriangles; } return this.getNewDrawTrianglesItem(graphic,smoothing,isColored,blend); } ,getNewDrawTrianglesItem: function(graphic,smoothing,isColored,blend) { if(isColored == null) { isColored = false; } if(smoothing == null) { smoothing = false; } var itemToReturn = null; var blendInt = flixel_graphics_tile_FlxDrawBaseItem.blendToInt(blend); if(flixel_FlxCamera._storageTrianglesHead != null) { itemToReturn = flixel_FlxCamera._storageTrianglesHead; var newHead = flixel_FlxCamera._storageTrianglesHead.nextTyped; itemToReturn.reset(); flixel_FlxCamera._storageTrianglesHead = newHead; } else { itemToReturn = new flixel_graphics_tile_FlxDrawTrianglesItem(); } itemToReturn.graphics = graphic; itemToReturn.antialiasing = smoothing; itemToReturn.colored = isColored; itemToReturn.blending = blendInt; itemToReturn.nextTyped = this._headTriangles; this._headTriangles = itemToReturn; if(this._headOfDrawStack == null) { this._headOfDrawStack = itemToReturn; } if(this._currentDrawItem != null) { this._currentDrawItem.next = itemToReturn; } this._currentDrawItem = itemToReturn; return itemToReturn; } ,clearDrawStack: function() { var currTiles = this._headTiles; var newTilesHead; while(currTiles != null) { newTilesHead = currTiles.nextTyped; currTiles.reset(); currTiles.nextTyped = flixel_FlxCamera._storageTilesHead; flixel_FlxCamera._storageTilesHead = currTiles; currTiles = newTilesHead; } var currTriangles = this._headTriangles; var newTrianglesHead; while(currTriangles != null) { newTrianglesHead = currTriangles.nextTyped; currTriangles.reset(); currTriangles.nextTyped = flixel_FlxCamera._storageTrianglesHead; flixel_FlxCamera._storageTrianglesHead = currTriangles; currTriangles = newTrianglesHead; } this._currentDrawItem = null; this._headOfDrawStack = null; this._headTiles = null; this._headTriangles = null; } ,render: function() { var currItem = this._headOfDrawStack; while(currItem != null) { currItem.render(this); currItem = currItem.next; } } ,drawPixels: function(frame,pixels,matrix,transform,blend,smoothing,shader) { if(smoothing == null) { smoothing = false; } if(flixel_FlxG.renderBlit) { this._helperMatrix.copyFrom(matrix); if(this._useBlitMatrix) { this._helperMatrix.concat(this._blitMatrix); this.buffer.draw(pixels,this._helperMatrix,null,null,null,smoothing || this.antialiasing); } else { this._helperMatrix.translate(-this.viewOffsetX,-this.viewOffsetY); this.buffer.draw(pixels,this._helperMatrix,null,blend,null,smoothing || this.antialiasing); } } else { var isColored = transform != null && flixel_util_FlxColorTransformUtil.hasRGBMultipliers(transform); var hasColorOffsets = transform != null && flixel_util_FlxColorTransformUtil.hasRGBAOffsets(transform); var drawItem = this.startQuadBatch(frame.parent,isColored,hasColorOffsets,blend,smoothing,shader); drawItem.addQuad(frame,matrix,transform); } } ,copyPixels: function(frame,pixels,sourceRect,destPoint,transform,blend,smoothing,shader) { if(smoothing == null) { smoothing = false; } if(flixel_FlxG.renderBlit) { if(pixels != null) { if(this._useBlitMatrix) { this._helperMatrix.identity(); this._helperMatrix.translate(destPoint.x,destPoint.y); this._helperMatrix.concat(this._blitMatrix); this.buffer.draw(pixels,this._helperMatrix,null,null,null,smoothing || this.antialiasing); } else { this._helperPoint.x = destPoint.x - (this.viewOffsetX | 0); this._helperPoint.y = destPoint.y - (this.viewOffsetY | 0); this.buffer.copyPixels(pixels,sourceRect,this._helperPoint,null,null,true); } } else if(frame != null) { frame.paint(this.buffer,destPoint,true); } } else { this._helperMatrix.identity(); this._helperMatrix.translate(destPoint.x + frame.offset.x,destPoint.y + frame.offset.y); var isColored = transform != null && flixel_util_FlxColorTransformUtil.hasRGBMultipliers(transform); var hasColorOffsets = transform != null && flixel_util_FlxColorTransformUtil.hasRGBAOffsets(transform); var drawItem = this.startQuadBatch(frame.parent,isColored,hasColorOffsets,blend,smoothing,shader); drawItem.addQuad(frame,this._helperMatrix,transform); } } ,drawTriangles: function(graphic,vertices,indices,uvtData,colors,position,blend,repeat,smoothing) { if(smoothing == null) { smoothing = false; } if(repeat == null) { repeat = false; } if(flixel_FlxG.renderBlit) { if(position == null) { position = flixel_FlxCamera.renderPoint.set(); } var _this = this._bounds; _this.x = 0; _this.y = 0; _this.width = this.width; _this.height = this.height; var verticesLength = vertices.get_length(); var currentVertexPosition = 0; var tempX; var tempY; var i = 0; var _this1 = flixel_FlxCamera.renderRect; _this1.x = 0; _this1.y = 0; _this1.width = 0; _this1.height = 0; var bounds = _this1; flixel_FlxCamera.drawVertices.splice(0,flixel_FlxCamera.drawVertices.get_length()); while(i < verticesLength) { tempX = position.x + vertices.get(i); tempY = position.y + vertices.get(i + 1); flixel_FlxCamera.drawVertices.set(currentVertexPosition++,tempX); flixel_FlxCamera.drawVertices.set(currentVertexPosition++,tempY); if(i == 0) { bounds.x = tempX; bounds.y = tempY; bounds.width = 0; bounds.height = 0; } else { if(tempX < bounds.x) { bounds.width += bounds.x - tempX; bounds.x = tempX; } if(tempY < bounds.y) { bounds.height += bounds.y - tempY; bounds.y = tempY; } if(tempX > bounds.x + bounds.width) { bounds.width = tempX - bounds.x; } if(tempY > bounds.y + bounds.height) { bounds.height = tempY - bounds.y; } } i += 2; } if(position._weak) { position.put(); } var _this2 = this._bounds; var result = bounds.x + bounds.width > _this2.x && bounds.x < _this2.x + _this2.width && bounds.y + bounds.height > _this2.y && bounds.y < _this2.y + _this2.height; if(bounds._weak) { if(!bounds._inPool) { bounds._inPool = true; bounds._weak = false; flixel_math_FlxRect._pool.putUnsafe(bounds); } } if(!result) { flixel_FlxCamera.drawVertices.splice(flixel_FlxCamera.drawVertices.get_length() - verticesLength,verticesLength); } else { flixel_FlxCamera.trianglesSprite.get_graphics().clear(); flixel_FlxCamera.trianglesSprite.get_graphics().beginBitmapFill(graphic.bitmap,null,repeat,smoothing); flixel_FlxCamera.trianglesSprite.get_graphics().drawTriangles(flixel_FlxCamera.drawVertices,indices,uvtData); flixel_FlxCamera.trianglesSprite.get_graphics().endFill(); if(this._useBlitMatrix) { this._helperMatrix.copyFrom(this._blitMatrix); } else { this._helperMatrix.identity(); this._helperMatrix.translate(-this.viewOffsetX,-this.viewOffsetY); } this.buffer.draw(flixel_FlxCamera.trianglesSprite,this._helperMatrix); } if(!bounds._inPool) { bounds._inPool = true; bounds._weak = false; flixel_math_FlxRect._pool.putUnsafe(bounds); } } else { var _this3 = this._bounds; _this3.x = 0; _this3.y = 0; _this3.width = this.width; _this3.height = this.height; var isColored = colors != null && colors.get_length() != 0; var drawItem = this.startTrianglesBatch(graphic,smoothing,isColored,blend); drawItem.addTriangles(vertices,indices,uvtData,colors,position,this._bounds); } } ,transformRect: function(rect) { if(flixel_FlxG.renderBlit) { rect.x += -this.viewOffsetX; rect.y += -this.viewOffsetY; if(this._useBlitMatrix) { rect.x *= this.zoom; rect.y *= this.zoom; rect.width *= this.zoom; rect.height *= this.zoom; } } return rect; } ,transformPoint: function(point) { if(flixel_FlxG.renderBlit) { var Y = this.viewOffsetY; var _g = point; _g.set_x(_g.x - this.viewOffsetX); var _g1 = point; _g1.set_y(_g1.y - Y); if(this._useBlitMatrix) { point.scale(this.zoom); } } return point; } ,transformVector: function(vector) { if(flixel_FlxG.renderBlit && this._useBlitMatrix) { vector.scale(this.zoom); } return vector; } ,transformObject: function(object) { var _g = object; _g.set_scaleX(_g.get_scaleX() * this.totalScaleX); var _g1 = object; _g1.set_scaleY(_g1.get_scaleY() * this.totalScaleY); var _g2 = object; _g2.set_x(_g2.get_x() - this.scroll.x * this.totalScaleX); var _g3 = object; _g3.set_y(_g3.get_y() - this.scroll.y * this.totalScaleY); var _g4 = object; _g4.set_x(_g4.get_x() - 0.5 * this.width * (this.scaleX - this.initialZoom) * flixel_FlxG.scaleMode.scale.x); var _g5 = object; _g5.set_y(_g5.get_y() - 0.5 * this.height * (this.scaleY - this.initialZoom) * flixel_FlxG.scaleMode.scale.y); return object; } ,destroy: function() { flixel_util_FlxDestroyUtil.removeChild(this.flashSprite,this._scrollRect); if(flixel_FlxG.renderBlit) { flixel_util_FlxDestroyUtil.removeChild(this._scrollRect,this._flashBitmap); this.screen = flixel_util_FlxDestroyUtil.destroy(this.screen); this.buffer = null; this._flashBitmap = null; this._fill = flixel_util_FlxDestroyUtil.dispose(this._fill); } else { flixel_util_FlxDestroyUtil.removeChild(this._scrollRect,this.canvas); if(this.canvas != null) { var _g1 = 0; var _g = this.canvas.get_numChildren(); while(_g1 < _g) { var i = _g1++; this.canvas.removeChildAt(0); } this.canvas = null; } if(this._headOfDrawStack != null) { this.clearDrawStack(); } this._blitMatrix = null; this._helperMatrix = null; this._helperPoint = null; } this._bounds = null; this.scroll = flixel_util_FlxDestroyUtil.put(this.scroll); this.targetOffset = flixel_util_FlxDestroyUtil.put(this.targetOffset); this.deadzone = flixel_util_FlxDestroyUtil.put(this.deadzone); this.target = null; this.flashSprite = null; this._scrollRect = null; this._flashRect = null; this._flashPoint = null; this._fxFlashComplete = null; this._fxFadeComplete = null; this._fxShakeComplete = null; flixel_FlxBasic.prototype.destroy.call(this); } ,update: function(elapsed) { if(this.target != null) { this.updateFollow(); } this.updateScroll(); this.updateFlash(elapsed); this.updateFade(elapsed); this.flashSprite.set_filters(this.filtersEnabled ? this._filters : null); this.updateFlashSpritePosition(); this.updateShake(elapsed); } ,updateScroll: function() { var zoom = this.zoom / flixel_FlxG.initialZoom; var minX = this.minScrollX == null ? null : this.minScrollX - (zoom - 1) * this.width / (2 * zoom); var maxX = this.maxScrollX == null ? null : this.maxScrollX + (zoom - 1) * this.width / (2 * zoom); var minY = this.minScrollY == null ? null : this.minScrollY - (zoom - 1) * this.height / (2 * zoom); var maxY = this.maxScrollY == null ? null : this.maxScrollY + (zoom - 1) * this.height / (2 * zoom); var Value = this.scroll.x; var Max = maxX != null ? maxX - this.width : null; var lowerBound = minX != null && Value < minX ? minX : Value; this.scroll.set_x(Max != null && lowerBound > Max ? Max : lowerBound); var Value1 = this.scroll.y; var Max1 = maxY != null ? maxY - this.height : null; var lowerBound1 = minY != null && Value1 < minY ? minY : Value1; this.scroll.set_y(Max1 != null && lowerBound1 > Max1 ? Max1 : lowerBound1); } ,updateFollow: function() { if(this.deadzone == null) { this.target.getMidpoint(this._point); this._point.addPoint(this.targetOffset); var point = this._point; this.scroll.set(point.x - this.width * 0.5,point.y - this.height * 0.5); if(point._weak) { point.put(); } } else { var edge; var targetX = this.target.x + this.targetOffset.x; var targetY = this.target.y + this.targetOffset.y; if(this.style == flixel_FlxCameraFollowStyle.SCREEN_BY_SCREEN) { if(targetX >= this.scroll.x + this.width) { var _g = this._scrollTarget; _g.set_x(_g.x + this.width); } else if(targetX < this.scroll.x) { var _g1 = this._scrollTarget; _g1.set_x(_g1.x - this.width); } if(targetY >= this.scroll.y + this.height) { var _g2 = this._scrollTarget; _g2.set_y(_g2.y + this.height); } else if(targetY < this.scroll.y) { var _g3 = this._scrollTarget; _g3.set_y(_g3.y - this.height); } } else { edge = targetX - this.deadzone.x; if(this._scrollTarget.x > edge) { this._scrollTarget.set_x(edge); } edge = targetX + this.target.get_width() - this.deadzone.x - this.deadzone.width; if(this._scrollTarget.x < edge) { this._scrollTarget.set_x(edge); } edge = targetY - this.deadzone.y; if(this._scrollTarget.y > edge) { this._scrollTarget.set_y(edge); } edge = targetY + this.target.get_height() - this.deadzone.y - this.deadzone.height; if(this._scrollTarget.y < edge) { this._scrollTarget.set_y(edge); } } if(js_Boot.__instanceof(this.target,flixel_FlxSprite)) { if(this._lastTargetPosition == null) { var X = this.target.x; var Y = this.target.y; var point1 = flixel_math_FlxPoint._pool.get().set(X,Y); point1._inPool = false; this._lastTargetPosition = point1; } var _g4 = this._scrollTarget; _g4.set_x(_g4.x + (this.target.x - this._lastTargetPosition.x) * this.followLead.x); var _g5 = this._scrollTarget; _g5.set_y(_g5.y + (this.target.y - this._lastTargetPosition.y) * this.followLead.y); this._lastTargetPosition.set_x(this.target.x); this._lastTargetPosition.set_y(this.target.y); } if(this.followLerp >= 60 / flixel_FlxG.updateFramerate) { var _this = this.scroll; var point2 = this._scrollTarget; _this.set_x(point2.x); _this.set_y(point2.y); if(point2._weak) { point2.put(); } } else { var _g6 = this.scroll; _g6.set_x(_g6.x + (this._scrollTarget.x - this.scroll.x) * this.followLerp * flixel_FlxG.updateFramerate / 60); var _g7 = this.scroll; _g7.set_y(_g7.y + (this._scrollTarget.y - this.scroll.y) * this.followLerp * flixel_FlxG.updateFramerate / 60); } } } ,updateFlash: function(elapsed) { if(this._fxFlashAlpha > 0.0) { this._fxFlashAlpha -= elapsed / this._fxFlashDuration; if(this._fxFlashAlpha <= 0 && this._fxFlashComplete != null) { this._fxFlashComplete(); } } } ,updateFade: function(elapsed) { if(this._fxFadeCompleted) { return; } if(this._fxFadeIn) { this._fxFadeAlpha -= elapsed / this._fxFadeDuration; if(this._fxFadeAlpha <= 0.0) { this._fxFadeAlpha = 0.0; this.completeFade(); } } else { this._fxFadeAlpha += elapsed / this._fxFadeDuration; if(this._fxFadeAlpha >= 1.0) { this._fxFadeAlpha = 1.0; this.completeFade(); } } } ,completeFade: function() { this._fxFadeCompleted = true; if(this._fxFadeComplete != null) { this._fxFadeComplete(); } } ,updateShake: function(elapsed) { if(this._fxShakeDuration > 0) { this._fxShakeDuration -= elapsed; if(this._fxShakeDuration <= 0) { if(this._fxShakeComplete != null) { this._fxShakeComplete(); } } else { if(this._fxShakeAxes != flixel_util_FlxAxes.Y) { var _g = this.flashSprite; _g.set_x(_g.get_x() + flixel_FlxG.random["float"](-this._fxShakeIntensity * this.width,this._fxShakeIntensity * this.width) * this.zoom * flixel_FlxG.scaleMode.scale.x); } if(this._fxShakeAxes != flixel_util_FlxAxes.X) { var _g1 = this.flashSprite; _g1.set_y(_g1.get_y() + flixel_FlxG.random["float"](-this._fxShakeIntensity * this.height,this._fxShakeIntensity * this.height) * this.zoom * flixel_FlxG.scaleMode.scale.y); } } } } ,updateFlashSpritePosition: function() { if(this.flashSprite != null) { this.flashSprite.set_x(this.x * flixel_FlxG.scaleMode.scale.x + this._flashOffset.x); this.flashSprite.set_y(this.y * flixel_FlxG.scaleMode.scale.y + this._flashOffset.y); } } ,updateFlashOffset: function() { this._flashOffset.set_x(this.width * 0.5 * flixel_FlxG.scaleMode.scale.x * this.initialZoom); this._flashOffset.set_y(this.height * 0.5 * flixel_FlxG.scaleMode.scale.y * this.initialZoom); } ,updateScrollRect: function() { var rect = this._scrollRect != null ? this._scrollRect.get_scrollRect() : null; if(rect != null) { rect.x = rect.y = 0; rect.width = this.width * this.initialZoom * flixel_FlxG.scaleMode.scale.x; rect.height = this.height * this.initialZoom * flixel_FlxG.scaleMode.scale.y; this._scrollRect.set_scrollRect(rect); this._scrollRect.set_x(-0.5 * rect.width); this._scrollRect.set_y(-0.5 * rect.height); } } ,updateInternalSpritePositions: function() { if(flixel_FlxG.renderBlit) { if(this._flashBitmap != null) { this._flashBitmap.set_x(0); this._flashBitmap.set_y(0); } } else if(this.canvas != null) { this.canvas.set_x(-0.5 * this.width * (this.scaleX - this.initialZoom) * flixel_FlxG.scaleMode.scale.x); this.canvas.set_y(-0.5 * this.height * (this.scaleY - this.initialZoom) * flixel_FlxG.scaleMode.scale.y); this.canvas.set_scaleX(this.totalScaleX); this.canvas.set_scaleY(this.totalScaleY); } } ,follow: function(Target,Style,Lerp) { if(Style == null) { Style = flixel_FlxCameraFollowStyle.LOCKON; } if(Lerp == null) { Lerp = 60 / flixel_FlxG.updateFramerate; } this.style = Style; this.target = Target; this.set_followLerp(Lerp); var helper; var w = 0; var h = 0; this._lastTargetPosition = null; switch(Style[1]) { case 0: if(this.target != null) { w = this.target.get_width(); h = this.target.get_height(); } var X = (this.width - w) / 2; var Y = (this.height - h) / 2 - h * 0.25; var _this = flixel_math_FlxRect._pool.get(); _this.x = X; _this.y = Y; _this.width = w; _this.height = h; var rect = _this; rect._inPool = false; this.deadzone = rect; break; case 1: var w1 = this.width / 8; var h1 = this.height / 3; var X1 = (this.width - w1) / 2; var Y1 = (this.height - h1) / 2 - h1 * 0.25; var _this1 = flixel_math_FlxRect._pool.get(); _this1.x = X1; _this1.y = Y1; _this1.width = w1; _this1.height = h1; var rect1 = _this1; rect1._inPool = false; this.deadzone = rect1; break; case 2: helper = Math.max(this.width,this.height) / 4; var X2 = (this.width - helper) / 2; var Y2 = (this.height - helper) / 2; var _this2 = flixel_math_FlxRect._pool.get(); _this2.x = X2; _this2.y = Y2; _this2.width = helper; _this2.height = helper; var rect2 = _this2; rect2._inPool = false; this.deadzone = rect2; break; case 3: helper = Math.max(this.width,this.height) / 8; var X3 = (this.width - helper) / 2; var Y3 = (this.height - helper) / 2; var _this3 = flixel_math_FlxRect._pool.get(); _this3.x = X3; _this3.y = Y3; _this3.width = helper; _this3.height = helper; var rect3 = _this3; rect3._inPool = false; this.deadzone = rect3; break; case 4: var Width = this.width; var Height = this.height; var _this4 = flixel_math_FlxRect._pool.get(); _this4.x = 0; _this4.y = 0; _this4.width = Width; _this4.height = Height; var rect4 = _this4; rect4._inPool = false; this.deadzone = rect4; break; case 5: this.deadzone = null; break; } } ,snapToTarget: function() { this.updateFollow(); var _this = this.scroll; var point = this._scrollTarget; _this.set_x(point.x); _this.set_y(point.y); if(point._weak) { point.put(); } } ,focusOn: function(point) { this.scroll.set(point.x - this.width * 0.5,point.y - this.height * 0.5); if(point._weak) { point.put(); } } ,flash: function(Color,Duration,OnComplete,Force) { if(Force == null) { Force = false; } if(Duration == null) { Duration = 1; } if(Color == null) { Color = -1; } if(!Force && this._fxFlashAlpha > 0.0) { return; } this._fxFlashColor = Color; if(Duration <= 0) { Duration = 0.000001; } this._fxFlashDuration = Duration; this._fxFlashComplete = OnComplete; this._fxFlashAlpha = 1.0; } ,fade: function(Color,Duration,FadeIn,OnComplete,Force) { if(Force == null) { Force = false; } if(FadeIn == null) { FadeIn = false; } if(Duration == null) { Duration = 1; } if(Color == null) { Color = -16777216; } if(!this._fxFadeCompleted && !Force) { return; } this._fxFadeColor = Color; if(Duration <= 0) { Duration = 0.000001; } this._fxFadeIn = FadeIn; this._fxFadeDuration = Duration; this._fxFadeComplete = OnComplete; this._fxFadeAlpha = this._fxFadeIn ? 0.999999 : 0.000001; this._fxFadeCompleted = false; } ,shake: function(Intensity,Duration,OnComplete,Force,Axes) { if(Force == null) { Force = true; } if(Duration == null) { Duration = 0.5; } if(Intensity == null) { Intensity = 0.05; } if(Axes == null) { Axes = flixel_util_FlxAxes.XY; } if(!Force && this._fxShakeDuration > 0) { return; } this._fxShakeIntensity = Intensity; this._fxShakeDuration = Duration; this._fxShakeComplete = OnComplete; this._fxShakeAxes = Axes; } ,stopFX: function() { this._fxFlashAlpha = 0.0; this._fxFadeAlpha = 0.0; this._fxShakeDuration = 0; this.updateFlashSpritePosition(); } ,setFilters: function(filters) { this._filters = filters; } ,copyFrom: function(Camera) { this.setScrollBounds(Camera.minScrollX,Camera.maxScrollX,Camera.minScrollY,Camera.maxScrollY); this.target = Camera.target; if(this.target != null) { if(Camera.deadzone == null) { this.deadzone = null; } else { if(this.deadzone == null) { var _this = flixel_math_FlxRect._pool.get(); _this.x = 0; _this.y = 0; _this.width = 0; _this.height = 0; var rect = _this; rect._inPool = false; this.deadzone = rect; } var _this1 = this.deadzone; var Rect = Camera.deadzone; _this1.x = Rect.x; _this1.y = Rect.y; _this1.width = Rect.width; _this1.height = Rect.height; if(Rect._weak) { if(!Rect._inPool) { Rect._inPool = true; Rect._weak = false; flixel_math_FlxRect._pool.putUnsafe(Rect); } } } } return this; } ,fill: function(Color,BlendAlpha,FxAlpha,graphics) { if(FxAlpha == null) { FxAlpha = 1.0; } if(BlendAlpha == null) { BlendAlpha = true; } if(flixel_FlxG.renderBlit) { if(BlendAlpha) { this._fill.fillRect(this._flashRect,Color); this.buffer.copyPixels(this._fill,this._flashRect,this._flashPoint,null,null,BlendAlpha); } else { this.buffer.fillRect(this._flashRect,Color); } } else { var targetGraphics = graphics == null ? this.canvas.get_graphics() : graphics; targetGraphics.beginFill(Color,FxAlpha); targetGraphics.drawRect(this.viewOffsetX - 1,this.viewOffsetY - 1,this.viewWidth + 2,this.viewHeight + 2); targetGraphics.endFill(); } } ,drawFX: function() { var alphaComponent; if(this._fxFlashAlpha > 0.0) { alphaComponent = this._fxFlashColor >> 24 & 255; if(flixel_FlxG.renderBlit) { this.fill((((alphaComponent <= 0 ? 255 : alphaComponent) * this._fxFlashAlpha | 0) << 24) + (this._fxFlashColor & 16777215)); } else { this.fill(this._fxFlashColor & 16777215,true,(alphaComponent <= 0 ? 255 : alphaComponent) * this._fxFlashAlpha / 255,this.canvas.get_graphics()); } } if(this._fxFadeAlpha > 0.0) { alphaComponent = this._fxFadeColor >> 24 & 255; if(flixel_FlxG.renderBlit) { this.fill((((alphaComponent <= 0 ? 255 : alphaComponent) * this._fxFadeAlpha | 0) << 24) + (this._fxFadeColor & 16777215)); } else { this.fill(this._fxFadeColor & 16777215,true,(alphaComponent <= 0 ? 255 : alphaComponent) * this._fxFadeAlpha / 255,this.canvas.get_graphics()); } } } ,checkResize: function() { if(flixel_FlxG.renderBlit) { if(this.width != this.buffer.width || this.height != this.buffer.height) { var oldBuffer = this.screen.graphic; this.buffer = new openfl_display_BitmapData(this.width,this.height,true,0); this.screen.set_pixels(this.buffer); this.screen.origin.set(); this._flashBitmap.set_bitmapData(this.buffer); this._flashRect.width = this.width; this._flashRect.height = this.height; this._fill = flixel_util_FlxDestroyUtil.dispose(this._fill); this._fill = new openfl_display_BitmapData(this.width,this.height,true,0); flixel_FlxG.bitmap.removeIfNoUse(oldBuffer); } this._blitMatrix.identity(); this._blitMatrix.translate(-this.viewOffsetX,-this.viewOffsetY); this._blitMatrix.scale(this.scaleX,this.scaleY); this._useBlitMatrix = this.scaleX < this.initialZoom || this.scaleY < this.initialZoom; } } ,updateBlitMatrix: function() { this._blitMatrix.identity(); this._blitMatrix.translate(-this.viewOffsetX,-this.viewOffsetY); this._blitMatrix.scale(this.scaleX,this.scaleY); this._useBlitMatrix = this.scaleX < this.initialZoom || this.scaleY < this.initialZoom; } ,setSize: function(Width,Height) { this.set_width(Width); this.set_height(Height); } ,setPosition: function(X,Y) { if(Y == null) { Y = 0; } if(X == null) { X = 0; } this.set_x(X); this.set_y(Y); } ,setScrollBoundsRect: function(X,Y,Width,Height,UpdateWorld) { if(UpdateWorld == null) { UpdateWorld = false; } if(Height == null) { Height = 0; } if(Width == null) { Width = 0; } if(Y == null) { Y = 0; } if(X == null) { X = 0; } if(UpdateWorld) { var _this = flixel_FlxG.worldBounds; _this.x = X; _this.y = Y; _this.width = Width; _this.height = Height; } this.setScrollBounds(X,X + Width,Y,Y + Height); } ,setScrollBounds: function(MinX,MaxX,MinY,MaxY) { this.minScrollX = MinX; this.maxScrollX = MaxX; this.minScrollY = MinY; this.maxScrollY = MaxY; this.updateScroll(); } ,setScale: function(X,Y) { this.scaleX = X; this.scaleY = Y; this.totalScaleX = this.scaleX * flixel_FlxG.scaleMode.scale.x; this.totalScaleY = this.scaleY * flixel_FlxG.scaleMode.scale.y; if(flixel_FlxG.renderBlit) { this._blitMatrix.identity(); this._blitMatrix.translate(-this.viewOffsetX,-this.viewOffsetY); this._blitMatrix.scale(this.scaleX,this.scaleY); this._useBlitMatrix = this.scaleX < this.initialZoom || this.scaleY < this.initialZoom; if(this._useBlitMatrix) { this._flashBitmap.set_scaleX(this.initialZoom * flixel_FlxG.scaleMode.scale.x); this._flashBitmap.set_scaleY(this.initialZoom * flixel_FlxG.scaleMode.scale.y); } else { this._flashBitmap.set_scaleX(this.totalScaleX); this._flashBitmap.set_scaleY(this.totalScaleY); } } this.viewOffsetX = 0.5 * this.width * (this.scaleX - this.initialZoom) / this.scaleX; this.viewOffsetWidth = this.width - this.viewOffsetX; this.viewWidth = this.width - 2 * this.viewOffsetX; this.viewOffsetY = 0.5 * this.height * (this.scaleY - this.initialZoom) / this.scaleY; this.viewOffsetHeight = this.height - this.viewOffsetY; this.viewHeight = this.height - 2 * this.viewOffsetY; this.updateScrollRect(); this.updateInternalSpritePositions(); flixel_FlxG.cameras.cameraResized.dispatch(this); } ,onResize: function() { this.updateFlashOffset(); this.setScale(this.scaleX,this.scaleY); } ,containsPoint: function(point,width,height) { if(height == null) { height = 0; } if(width == null) { width = 0; } if(point.x + width > this.viewOffsetX && point.x < this.viewOffsetWidth && point.y + height > this.viewOffsetY) { return point.y < this.viewOffsetHeight; } else { return false; } } ,set_followLerp: function(Value) { var Max = 60 / flixel_FlxG.updateFramerate; var lowerBound = Value < 0 ? 0 : Value; return this.followLerp = Max != null && lowerBound > Max ? Max : lowerBound; } ,set_width: function(Value) { if(this.width != Value && Value > 0) { this.width = Value; this.viewOffsetX = 0.5 * this.width * (this.scaleX - this.initialZoom) / this.scaleX; this.viewOffsetWidth = this.width - this.viewOffsetX; this.viewWidth = this.width - 2 * this.viewOffsetX; this.updateFlashOffset(); this.updateScrollRect(); this.updateInternalSpritePositions(); flixel_FlxG.cameras.cameraResized.dispatch(this); } return Value; } ,set_height: function(Value) { if(this.height != Value && Value > 0) { this.height = Value; this.viewOffsetY = 0.5 * this.height * (this.scaleY - this.initialZoom) / this.scaleY; this.viewOffsetHeight = this.height - this.viewOffsetY; this.viewHeight = this.height - 2 * this.viewOffsetY; this.updateFlashOffset(); this.updateScrollRect(); this.updateInternalSpritePositions(); flixel_FlxG.cameras.cameraResized.dispatch(this); } return Value; } ,set_zoom: function(Zoom) { this.zoom = Zoom == 0 ? flixel_FlxCamera.defaultZoom : Zoom; this.setScale(this.zoom,this.zoom); return this.zoom; } ,set_alpha: function(Alpha) { var lowerBound = Alpha < 0 ? 0 : Alpha; this.alpha = lowerBound > 1 ? 1 : lowerBound; if(flixel_FlxG.renderBlit) { this._flashBitmap.set_alpha(Alpha); } else { this.canvas.set_alpha(Alpha); } return Alpha; } ,set_angle: function(Angle) { this.angle = Angle; this.flashSprite.set_rotation(Angle); return Angle; } ,set_color: function(Color) { this.color = Color; var colorTransform; if(flixel_FlxG.renderBlit) { if(this._flashBitmap == null) { return Color; } colorTransform = this._flashBitmap.get_transform().get_colorTransform(); } else { colorTransform = this.canvas.get_transform().get_colorTransform(); } colorTransform.redMultiplier = (this.color >> 16 & 255) / 255; colorTransform.greenMultiplier = (this.color >> 8 & 255) / 255; colorTransform.blueMultiplier = (this.color & 255) / 255; if(flixel_FlxG.renderBlit) { this._flashBitmap.get_transform().set_colorTransform(colorTransform); } else { this.canvas.get_transform().set_colorTransform(colorTransform); } return Color; } ,set_antialiasing: function(Antialiasing) { this.antialiasing = Antialiasing; if(flixel_FlxG.renderBlit) { this._flashBitmap.smoothing = Antialiasing; } return Antialiasing; } ,set_x: function(x) { this.x = x; this.updateFlashSpritePosition(); return x; } ,set_y: function(y) { this.y = y; this.updateFlashSpritePosition(); return y; } ,set_visible: function(visible) { if(this.flashSprite != null) { this.flashSprite.set_visible(visible); } return this.visible = visible; } ,calcOffsetX: function() { this.viewOffsetX = 0.5 * this.width * (this.scaleX - this.initialZoom) / this.scaleX; this.viewOffsetWidth = this.width - this.viewOffsetX; this.viewWidth = this.width - 2 * this.viewOffsetX; } ,calcOffsetY: function() { this.viewOffsetY = 0.5 * this.height * (this.scaleY - this.initialZoom) / this.scaleY; this.viewOffsetHeight = this.height - this.viewOffsetY; this.viewHeight = this.height - 2 * this.viewOffsetY; } ,__class__: flixel_FlxCamera ,__properties__: $extend(flixel_FlxBasic.prototype.__properties__,{set_antialiasing:"set_antialiasing",set_color:"set_color",set_angle:"set_angle",set_alpha:"set_alpha",set_zoom:"set_zoom",set_height:"set_height",set_width:"set_width",set_followLerp:"set_followLerp",set_y:"set_y",set_x:"set_x"}) }); var flixel_FlxCameraFollowStyle = $hxClasses["flixel.FlxCameraFollowStyle"] = { __ename__ : ["flixel","FlxCameraFollowStyle"], __constructs__ : ["LOCKON","PLATFORMER","TOPDOWN","TOPDOWN_TIGHT","SCREEN_BY_SCREEN","NO_DEAD_ZONE"] }; flixel_FlxCameraFollowStyle.LOCKON = ["LOCKON",0]; flixel_FlxCameraFollowStyle.LOCKON.toString = $estr; flixel_FlxCameraFollowStyle.LOCKON.__enum__ = flixel_FlxCameraFollowStyle; flixel_FlxCameraFollowStyle.PLATFORMER = ["PLATFORMER",1]; flixel_FlxCameraFollowStyle.PLATFORMER.toString = $estr; flixel_FlxCameraFollowStyle.PLATFORMER.__enum__ = flixel_FlxCameraFollowStyle; flixel_FlxCameraFollowStyle.TOPDOWN = ["TOPDOWN",2]; flixel_FlxCameraFollowStyle.TOPDOWN.toString = $estr; flixel_FlxCameraFollowStyle.TOPDOWN.__enum__ = flixel_FlxCameraFollowStyle; flixel_FlxCameraFollowStyle.TOPDOWN_TIGHT = ["TOPDOWN_TIGHT",3]; flixel_FlxCameraFollowStyle.TOPDOWN_TIGHT.toString = $estr; flixel_FlxCameraFollowStyle.TOPDOWN_TIGHT.__enum__ = flixel_FlxCameraFollowStyle; flixel_FlxCameraFollowStyle.SCREEN_BY_SCREEN = ["SCREEN_BY_SCREEN",4]; flixel_FlxCameraFollowStyle.SCREEN_BY_SCREEN.toString = $estr; flixel_FlxCameraFollowStyle.SCREEN_BY_SCREEN.__enum__ = flixel_FlxCameraFollowStyle; flixel_FlxCameraFollowStyle.NO_DEAD_ZONE = ["NO_DEAD_ZONE",5]; flixel_FlxCameraFollowStyle.NO_DEAD_ZONE.toString = $estr; flixel_FlxCameraFollowStyle.NO_DEAD_ZONE.__enum__ = flixel_FlxCameraFollowStyle; var flixel_system_FlxVersion = function(Major,Minor,Patch) { this.major = Major; this.minor = Minor; this.patch = Patch; }; $hxClasses["flixel.system.FlxVersion"] = flixel_system_FlxVersion; flixel_system_FlxVersion.__name__ = ["flixel","system","FlxVersion"]; flixel_system_FlxVersion.prototype = { major: null ,minor: null ,patch: null ,toString: function() { var sha = flixel_system_FlxVersion.sha; if(sha != "") { sha = "@" + sha.substring(0,7); } return "HaxeFlixel " + this.major + "." + this.minor + "." + this.patch + sha; } ,__class__: flixel_system_FlxVersion }; var flixel_system_frontEnds_BitmapFrontEnd = function() { this._lastUniqueKeyIndex = 0; this.reset(); }; $hxClasses["flixel.system.frontEnds.BitmapFrontEnd"] = flixel_system_frontEnds_BitmapFrontEnd; flixel_system_frontEnds_BitmapFrontEnd.__name__ = ["flixel","system","frontEnds","BitmapFrontEnd"]; flixel_system_frontEnds_BitmapFrontEnd.prototype = { _cache: null ,_whitePixel: null ,_lastUniqueKeyIndex: null ,onAssetsReload: function(_) { var key = this._cache.keys(); while(key.hasNext()) { var key1 = key.next(); var _this = this._cache; var obj = __map_reserved[key1] != null ? _this.getReserved(key1) : _this.h[key1]; if(obj != null && (obj.assetsClass != null || obj.assetsKey != null)) { obj.onAssetsReload(); } } } ,onContext: function() { var key = this._cache.keys(); while(key.hasNext()) { var key1 = key.next(); var _this = this._cache; var obj = __map_reserved[key1] != null ? _this.getReserved(key1) : _this.h[key1]; if(obj != null && obj.isDumped) { obj.onContext(); } } } ,dumpCache: function() { } ,undumpCache: function() { } ,checkCache: function(Key) { return this._cache.get(Key) != null; } ,create: function(Width,Height,Color,Unique,Key) { if(Unique == null) { Unique = false; } return flixel_graphics_FlxGraphic.fromRectangle(Width,Height,Color,Unique,Key); } ,add: function(Graphic,Unique,Key) { if(Unique == null) { Unique = false; } if(js_Boot.__instanceof(Graphic,flixel_graphics_FlxGraphic)) { return flixel_graphics_FlxGraphic.fromGraphic(Graphic,Unique,Key); } else if(js_Boot.__instanceof(Graphic,openfl_display_BitmapData)) { return flixel_graphics_FlxGraphic.fromBitmapData(Graphic,Unique,Key); } return flixel_graphics_FlxGraphic.fromAssetKey(Std.string(Graphic),Unique,Key); } ,addGraphic: function(graphic) { var key = graphic.key; var _this = this._cache; if(__map_reserved[key] != null) { _this.setReserved(key,graphic); } else { _this.h[key] = graphic; } return graphic; } ,get: function(key) { var _this = this._cache; if(__map_reserved[key] != null) { return _this.getReserved(key); } else { return _this.h[key]; } } ,findKeyForBitmap: function(bmd) { var key = this._cache.keys(); while(key.hasNext()) { var key1 = key.next(); var _this = this._cache; if((__map_reserved[key1] != null ? _this.getReserved(key1) : _this.h[key1]).bitmap == bmd) { return key1; } } return null; } ,getKeyForClass: function(source) { return Type.getClassName(source); } ,generateKey: function(systemKey,userKey,unique) { if(unique == null) { unique = false; } var key = userKey; if(key == null) { key = systemKey; } if(unique || key == null) { key = this.getUniqueKey(key); } return key; } ,getUniqueKey: function(baseKey) { if(baseKey == null) { baseKey = "pixels"; } if(this._cache.get(baseKey) == null) { return baseKey; } var i = this._lastUniqueKeyIndex; var uniqueKey; while(true) { ++i; uniqueKey = baseKey + i; if(!(this._cache.get(uniqueKey) != null)) { break; } } this._lastUniqueKeyIndex = i; return uniqueKey; } ,getKeyWithSpacesAndBorders: function(baseKey,frameSize,frameSpacing,frameBorder,region) { var result = baseKey; if(region != null) { result += "_Region:" + region.x + "_" + region.y + "_" + region.width + "_" + region.height; } if(frameSize != null) { result += "_FrameSize:" + frameSize.x + "_" + frameSize.y; } if(frameSpacing != null) { result += "_Spaces:" + frameSpacing.x + "_" + frameSpacing.y; } if(frameBorder != null) { result += "_Border:" + frameBorder.x + "_" + frameBorder.y; } return result; } ,remove: function(graphic) { if(graphic != null) { var key = graphic.key; if(key != null) { openfl_utils_Assets.cache.removeBitmapData(key); this._cache.remove(key); } graphic.destroy(); } } ,removeByKey: function(key) { if(key != null) { var obj = this._cache.get(key); if(key != null) { openfl_utils_Assets.cache.removeBitmapData(key); this._cache.remove(key); } if(obj != null) { obj.destroy(); } } } ,removeIfNoUse: function(graphic) { if(graphic != null && graphic.get_useCount() == 0 && !graphic.persist) { this.remove(graphic); } } ,clearCache: function() { if(this._cache == null) { this._cache = new haxe_ds_StringMap(); return; } var key = this._cache.keys(); while(key.hasNext()) { var key1 = key.next(); var obj = this._cache.get(key1); if(obj != null && !obj.persist && obj.get_useCount() <= 0) { if(key1 != null) { openfl_utils_Assets.cache.removeBitmapData(key1); this._cache.remove(key1); } obj.destroy(); } } } ,removeKey: function(key) { if(key != null) { openfl_utils_Assets.cache.removeBitmapData(key); this._cache.remove(key); } } ,reset: function() { if(this._cache == null) { this._cache = new haxe_ds_StringMap(); return; } var key = this._cache.keys(); while(key.hasNext()) { var key1 = key.next(); var obj = this._cache.get(key1); if(key1 != null) { openfl_utils_Assets.cache.removeBitmapData(key1); this._cache.remove(key1); } if(obj != null) { obj.destroy(); } } } ,clearUnused: function() { var key = this._cache.keys(); while(key.hasNext()) { var key1 = key.next(); var _this = this._cache; var obj = __map_reserved[key1] != null ? _this.getReserved(key1) : _this.h[key1]; if(obj != null && obj.get_useCount() <= 0 && !obj.persist && obj.get_destroyOnNoUse()) { this.removeByKey(key1); } } } ,get_maxTextureSize: function() { return lime_graphics_opengl_GL.context.getParameter(3379); } ,get_whitePixel: function() { if(this._whitePixel == null) { var bd = new openfl_display_BitmapData(10,10,true,-1); var graphic = flixel_FlxG.bitmap.add(bd,true,"whitePixels"); graphic.persist = true; this._whitePixel = graphic.get_imageFrame().get_frame(); } return this._whitePixel; } ,__class__: flixel_system_frontEnds_BitmapFrontEnd ,__properties__: {get_whitePixel:"get_whitePixel",get_maxTextureSize:"get_maxTextureSize"} }; var flixel_system_frontEnds_BitmapLogFrontEnd = function() { }; $hxClasses["flixel.system.frontEnds.BitmapLogFrontEnd"] = flixel_system_frontEnds_BitmapLogFrontEnd; flixel_system_frontEnds_BitmapLogFrontEnd.__name__ = ["flixel","system","frontEnds","BitmapLogFrontEnd"]; flixel_system_frontEnds_BitmapLogFrontEnd.prototype = { add: function(Data,Name) { if(Name == null) { Name = ""; } } ,clear: function() { } ,clearAt: function(Index) { if(Index == null) { Index = -1; } } ,viewCache: function() { } ,__class__: flixel_system_frontEnds_BitmapLogFrontEnd }; var flixel_system_frontEnds_CameraFrontEnd = function() { this._cameraRect = new openfl_geom_Rectangle(); this.useBufferLocking = false; this.cameraResized = new flixel_util__$FlxSignal_FlxSignal1(); this.cameraRemoved = new flixel_util__$FlxSignal_FlxSignal1(); this.cameraAdded = new flixel_util__$FlxSignal_FlxSignal1(); this.list = []; flixel_FlxCamera.defaultCameras = this.list; }; $hxClasses["flixel.system.frontEnds.CameraFrontEnd"] = flixel_system_frontEnds_CameraFrontEnd; flixel_system_frontEnds_CameraFrontEnd.__name__ = ["flixel","system","frontEnds","CameraFrontEnd"]; flixel_system_frontEnds_CameraFrontEnd.prototype = { list: null ,cameraAdded: null ,cameraRemoved: null ,cameraResized: null ,useBufferLocking: null ,_cameraRect: null ,add: function(NewCamera) { flixel_FlxG.game.addChildAt(NewCamera.flashSprite,flixel_FlxG.game.getChildIndex(flixel_FlxG.game._inputContainer)); flixel_FlxG.cameras.list.push(NewCamera); NewCamera.ID = flixel_FlxG.cameras.list.length - 1; this.cameraAdded.dispatch(NewCamera); return NewCamera; } ,remove: function(Camera,Destroy) { if(Destroy == null) { Destroy = true; } var index = this.list.indexOf(Camera); if(Camera != null && index != -1) { flixel_FlxG.game.removeChild(Camera.flashSprite); this.list.splice(index,1); } else { var _this = flixel_FlxG.log; return; } if(flixel_FlxG.renderTile) { var _g1 = 0; var _g = this.list.length; while(_g1 < _g) { var i = _g1++; this.list[i].ID = i; } } if(Destroy) { Camera.destroy(); } this.cameraRemoved.dispatch(Camera); } ,reset: function(NewCamera) { while(this.list.length > 0) this.remove(this.list[0]); if(NewCamera == null) { NewCamera = new flixel_FlxCamera(0,0,flixel_FlxG.width,flixel_FlxG.height); } flixel_FlxG.camera = this.add(NewCamera); NewCamera.ID = 0; flixel_FlxCamera.defaultCameras = this.list; } ,flash: function(Color,Duration,OnComplete,Force) { if(Force == null) { Force = false; } if(Duration == null) { Duration = 1; } if(Color == null) { Color = -1; } var _g = 0; var _g1 = this.list; while(_g < _g1.length) { var camera = _g1[_g]; ++_g; camera.flash(Color,Duration,OnComplete,Force); } } ,fade: function(Color,Duration,FadeIn,OnComplete,Force) { if(Force == null) { Force = false; } if(FadeIn == null) { FadeIn = false; } if(Duration == null) { Duration = 1; } if(Color == null) { Color = -16777216; } var _g = 0; var _g1 = this.list; while(_g < _g1.length) { var camera = _g1[_g]; ++_g; camera.fade(Color,Duration,FadeIn,OnComplete,Force); } } ,shake: function(Intensity,Duration,OnComplete,Force,Axes) { if(Force == null) { Force = true; } if(Duration == null) { Duration = 0.5; } if(Intensity == null) { Intensity = 0.05; } var _g = 0; var _g1 = this.list; while(_g < _g1.length) { var camera = _g1[_g]; ++_g; camera.shake(Intensity,Duration,OnComplete,Force,Axes); } } ,lock: function() { var _g = 0; var _g1 = this.list; while(_g < _g1.length) { var camera = _g1[_g]; ++_g; if(camera == null || !camera.exists || !camera.visible) { continue; } if(flixel_FlxG.renderBlit) { camera.checkResize(); if(this.useBufferLocking) { camera.buffer.lock(); } } if(flixel_FlxG.renderTile) { camera.clearDrawStack(); camera.canvas.get_graphics().clear(); } if(flixel_FlxG.renderBlit) { camera.fill(camera.bgColor,camera.useBgAlphaBlending); camera.screen.dirty = true; } else { camera.fill(camera.bgColor & 16777215,camera.useBgAlphaBlending,(camera.bgColor >> 24 & 255) / 255); } } } ,render: function() { if(flixel_FlxG.renderTile) { var _g = 0; var _g1 = this.list; while(_g < _g1.length) { var camera = _g1[_g]; ++_g; if(camera != null && camera.exists && camera.visible) { camera.render(); } } } } ,unlock: function() { var _g = 0; var _g1 = this.list; while(_g < _g1.length) { var camera = _g1[_g]; ++_g; if(camera == null || !camera.exists || !camera.visible) { continue; } camera.drawFX(); if(flixel_FlxG.renderBlit) { if(this.useBufferLocking) { camera.buffer.unlock(); } camera.screen.dirty = true; } } } ,update: function(elapsed) { var _g = 0; var _g1 = this.list; while(_g < _g1.length) { var camera = _g1[_g]; ++_g; if(camera != null && camera.exists && camera.active) { camera.update(elapsed); } } } ,resize: function() { var _g = 0; var _g1 = this.list; while(_g < _g1.length) { var camera = _g1[_g]; ++_g; camera.onResize(); } } ,get_bgColor: function() { if(flixel_FlxG.camera == null) { return -16777216; } else { return flixel_FlxG.camera.bgColor; } } ,set_bgColor: function(Color) { var _g = 0; var _g1 = this.list; while(_g < _g1.length) { var camera = _g1[_g]; ++_g; camera.bgColor = Color; } return Color; } ,__class__: flixel_system_frontEnds_CameraFrontEnd ,__properties__: {set_bgColor:"set_bgColor",get_bgColor:"get_bgColor"} }; var flixel_system_frontEnds_ConsoleFrontEnd = function() { this.stepAfterCommand = true; this.autoPause = true; }; $hxClasses["flixel.system.frontEnds.ConsoleFrontEnd"] = flixel_system_frontEnds_ConsoleFrontEnd; flixel_system_frontEnds_ConsoleFrontEnd.__name__ = ["flixel","system","frontEnds","ConsoleFrontEnd"]; flixel_system_frontEnds_ConsoleFrontEnd.prototype = { autoPause: null ,stepAfterCommand: null ,registerFunction: function(FunctionAlias,Function) { } ,registerObject: function(ObjectAlias,AnyObject) { } ,registerClass: function(cl) { } ,registerEnum: function(e) { } ,__class__: flixel_system_frontEnds_ConsoleFrontEnd }; var flixel_system_frontEnds_DebuggerFrontEnd = function() { this.visible = false; this.visibilityChanged = new flixel_util__$FlxSignal_FlxSignal0(); this.drawDebugChanged = new flixel_util__$FlxSignal_FlxSignal0(); this.drawDebug = false; this.toggleKeys = [113,192,220]; this.precision = 3; }; $hxClasses["flixel.system.frontEnds.DebuggerFrontEnd"] = flixel_system_frontEnds_DebuggerFrontEnd; flixel_system_frontEnds_DebuggerFrontEnd.__name__ = ["flixel","system","frontEnds","DebuggerFrontEnd"]; flixel_system_frontEnds_DebuggerFrontEnd.prototype = { precision: null ,toggleKeys: null ,drawDebug: null ,drawDebugChanged: null ,visibilityChanged: null ,visible: null ,setLayout: function(Layout) { } ,resetLayout: function() { } ,addButton: function(Alignment,Icon,UpHandler,ToggleMode,UpdateLayout) { if(UpdateLayout == null) { UpdateLayout = true; } if(ToggleMode == null) { ToggleMode = false; } return null; } ,track: function(ObjectOrClass,WindowTitle) { return null; } ,addTrackerProfile: function(Profile) { } ,removeButton: function(Button,UpdateLayout) { if(UpdateLayout == null) { UpdateLayout = true; } } ,set_drawDebug: function(Value) { if(this.drawDebug == Value) { return this.drawDebug; } this.drawDebug = Value; return this.drawDebug; } ,set_visible: function(Value) { if(this.visible == Value) { return this.visible; } this.visible = Value; return this.visible; } ,__class__: flixel_system_frontEnds_DebuggerFrontEnd ,__properties__: {set_visible:"set_visible",set_drawDebug:"set_drawDebug"} }; var flixel_system_frontEnds_HTML5FrontEnd = function() { this.browser = this.getBrowser(); this.platform = this.getPlatform(); this.onMobile = this.getOnMobile(); }; $hxClasses["flixel.system.frontEnds.HTML5FrontEnd"] = flixel_system_frontEnds_HTML5FrontEnd; flixel_system_frontEnds_HTML5FrontEnd.__name__ = ["flixel","system","frontEnds","HTML5FrontEnd"]; flixel_system_frontEnds_HTML5FrontEnd.prototype = { browser: null ,platform: null ,onMobile: null ,browserPosition: null ,getBrowser: function() { if(this.userAgentContains(" OPR/")) { return flixel_system_frontEnds_FlxBrowser.OPERA; } else if(this.userAgentContains("chrome",true)) { return flixel_system_frontEnds_FlxBrowser.CHROME; } else if(window.navigator.appName == "Netscape") { return flixel_system_frontEnds_FlxBrowser.FIREFOX; } else if(!(!document.documentMode)) { return flixel_system_frontEnds_FlxBrowser.INTERNET_EXPLORER; } else if(Object.prototype.toString.call(window.HTMLElement).indexOf("Constructor") > 0) { return flixel_system_frontEnds_FlxBrowser.SAFARI; } return flixel_system_frontEnds_FlxBrowser.UNKNOWN; } ,getPlatform: function() { if(this.userAgentContains("Win")) { return flixel_system_frontEnds_FlxPlatform.WINDOWS; } else if(this.userAgentContains("IEMobile")) { return flixel_system_frontEnds_FlxPlatform.WINDOWS_PHONE; } else if(this.userAgentContains("Android")) { return flixel_system_frontEnds_FlxPlatform.ANDROID; } else if(this.userAgentContains("Linux")) { return flixel_system_frontEnds_FlxPlatform.LINUX; } else if(this.userAgentContains("BlackBerry")) { return flixel_system_frontEnds_FlxPlatform.BLACKBERRY; } else if(this.userAgentContains("iPhone")) { return flixel_system_frontEnds_FlxPlatform.IOS(flixel_system_frontEnds_FlxIOSDevice.IPHONE); } else if(this.userAgentContains("iPad")) { return flixel_system_frontEnds_FlxPlatform.IOS(flixel_system_frontEnds_FlxIOSDevice.IPAD); } else if(this.userAgentContains("iPod")) { return flixel_system_frontEnds_FlxPlatform.IOS(flixel_system_frontEnds_FlxIOSDevice.IPOD); } else if(this.userAgentContains("Mac")) { return flixel_system_frontEnds_FlxPlatform.MAC; } else { return flixel_system_frontEnds_FlxPlatform.UNKNOWN; } } ,getOnMobile: function() { var _g = this.platform; switch(_g[1]) { case 3:case 4:case 5:case 6: return true; default: return false; } } ,userAgentContains: function(substring,toLowerCase) { if(toLowerCase == null) { toLowerCase = false; } var userAgent = window.navigator.userAgent; if(toLowerCase) { userAgent = userAgent.toLowerCase(); } return userAgent.indexOf(substring) != -1; } ,get_browserPosition: function() { if(this.browserPosition == null) { var point = flixel_math_FlxPoint._pool.get().set(0,0); point._inPool = false; this.browserPosition = point; } this.browserPosition.set(window.screenX,window.screenY); return this.browserPosition; } ,get_browserWidth: function() { return window.innerWidth; } ,get_browserHeight: function() { return window.innerHeight; } ,__class__: flixel_system_frontEnds_HTML5FrontEnd ,__properties__: {get_browserPosition:"get_browserPosition",get_browserHeight:"get_browserHeight",get_browserWidth:"get_browserWidth"} }; var flixel_system_frontEnds_InputFrontEnd = function() { this.resetOnStateSwitch = true; this.list = []; }; $hxClasses["flixel.system.frontEnds.InputFrontEnd"] = flixel_system_frontEnds_InputFrontEnd; flixel_system_frontEnds_InputFrontEnd.__name__ = ["flixel","system","frontEnds","InputFrontEnd"]; flixel_system_frontEnds_InputFrontEnd.prototype = { replace_flixel_input_mouse_FlxMouse: function(Old,New) { var i = 0; var success = false; var _g = 0; var _g1 = this.list; while(_g < _g1.length) { var input = _g1[_g]; ++_g; if(input == Old) { this.list[i] = New; success = true; break; } ++i; } if(success) { return New; } return null; } ,add_flixel_input_gamepad_FlxGamepadManager: function(Input) { var _g = 0; var _g1 = this.list; while(_g < _g1.length) { var input = _g1[_g]; ++_g; if(flixel_util_FlxStringUtil.getClassName(Input,true) == flixel_util_FlxStringUtil.getClassName(input,true)) { return Input; } } this.list.push(Input); return Input; } ,add_flixel_input_touch_FlxTouchManager: function(Input) { var _g = 0; var _g1 = this.list; while(_g < _g1.length) { var input = _g1[_g]; ++_g; if(flixel_util_FlxStringUtil.getClassName(Input,true) == flixel_util_FlxStringUtil.getClassName(input,true)) { return Input; } } this.list.push(Input); return Input; } ,add_flixel_input_mouse_FlxMouse: function(Input) { var _g = 0; var _g1 = this.list; while(_g < _g1.length) { var input = _g1[_g]; ++_g; if(flixel_util_FlxStringUtil.getClassName(Input,true) == flixel_util_FlxStringUtil.getClassName(input,true)) { return Input; } } this.list.push(Input); return Input; } ,add_flixel_input_keyboard_FlxKeyboard: function(Input) { var _g = 0; var _g1 = this.list; while(_g < _g1.length) { var input = _g1[_g]; ++_g; if(flixel_util_FlxStringUtil.getClassName(Input,true) == flixel_util_FlxStringUtil.getClassName(input,true)) { return Input; } } this.list.push(Input); return Input; } ,list: null ,resetOnStateSwitch: null ,reset: function() { var _g = 0; var _g1 = this.list; while(_g < _g1.length) { var input = _g1[_g]; ++_g; input.reset(); } } ,update: function() { var _g = 0; var _g1 = this.list; while(_g < _g1.length) { var input = _g1[_g]; ++_g; input.update(); } } ,onFocus: function() { var _g = 0; var _g1 = this.list; while(_g < _g1.length) { var input = _g1[_g]; ++_g; input.onFocus(); } } ,onFocusLost: function() { var _g = 0; var _g1 = this.list; while(_g < _g1.length) { var input = _g1[_g]; ++_g; input.onFocusLost(); } } ,onStateSwitch: function() { if(this.resetOnStateSwitch) { this.reset(); } } ,destroy: function() { var _g = 0; var _g1 = this.list; while(_g < _g1.length) { var input = _g1[_g]; ++_g; input = flixel_util_FlxDestroyUtil.destroy(input); } } ,__class__: flixel_system_frontEnds_InputFrontEnd }; var flixel_system_frontEnds_LogFrontEnd = function() { this.redirectTraces = false; this._standardTraceFunction = haxe_Log.trace; }; $hxClasses["flixel.system.frontEnds.LogFrontEnd"] = flixel_system_frontEnds_LogFrontEnd; flixel_system_frontEnds_LogFrontEnd.__name__ = ["flixel","system","frontEnds","LogFrontEnd"]; flixel_system_frontEnds_LogFrontEnd.prototype = { redirectTraces: null ,_standardTraceFunction: null ,add: function(Data) { } ,warn: function(Data) { } ,error: function(Data) { } ,notice: function(Data) { } ,advanced: function(Data,Style,FireOnce) { if(FireOnce == null) { FireOnce = false; } } ,clear: function() { } ,set_redirectTraces: function(Redirect) { haxe_Log.trace = Redirect ? $bind(this,this.processTraceData) : this._standardTraceFunction; return this.redirectTraces = Redirect; } ,processTraceData: function(Data,Info) { var paramArray = [Data]; if(Info.customParams != null) { var _g = 0; var _g1 = Info.customParams; while(_g < _g1.length) { var i = _g1[_g]; ++_g; paramArray.push(i); } } this.advanced(paramArray,flixel_system_debug_log_LogStyle.NORMAL); } ,__class__: flixel_system_frontEnds_LogFrontEnd ,__properties__: {set_redirectTraces:"set_redirectTraces"} }; var haxe_Log = function() { }; $hxClasses["haxe.Log"] = haxe_Log; haxe_Log.__name__ = ["haxe","Log"]; haxe_Log.trace = function(v,infos) { js_Boot.__trace(v,infos); }; var js_Boot = function() { }; $hxClasses["js.Boot"] = js_Boot; js_Boot.__name__ = ["js","Boot"]; js_Boot.__unhtml = function(s) { return s.split("&").join("&").split("<").join("<").split(">").join(">"); }; js_Boot.__trace = function(v,i) { var msg = i != null ? i.fileName + ":" + i.lineNumber + ": " : ""; msg += js_Boot.__string_rec(v,""); if(i != null && i.customParams != null) { var _g = 0; var _g1 = i.customParams; while(_g < _g1.length) { var v1 = _g1[_g]; ++_g; msg += "," + js_Boot.__string_rec(v1,""); } } var d; var tmp; if(typeof(document) != "undefined") { d = document.getElementById("haxe:trace"); tmp = d != null; } else { tmp = false; } if(tmp) { d.innerHTML += js_Boot.__unhtml(msg) + "
"; } else if(typeof console != "undefined" && console.log != null) { console.log(msg); } }; js_Boot.getClass = function(o) { if((o instanceof Array) && o.__enum__ == null) { return Array; } else { var cl = o.__class__; if(cl != null) { return cl; } var name = js_Boot.__nativeClassName(o); if(name != null) { return js_Boot.__resolveNativeClass(name); } return null; } }; js_Boot.__string_rec = function(o,s) { if(o == null) { return "null"; } if(s.length >= 5) { return "<...>"; } var t = typeof(o); if(t == "function" && (o.__name__ || o.__ename__)) { t = "object"; } switch(t) { case "function": return ""; case "object": if(o instanceof Array) { if(o.__enum__) { if(o.length == 2) { return o[0]; } var str = o[0] + "("; s += "\t"; var _g1 = 2; var _g = o.length; while(_g1 < _g) { var i = _g1++; if(i != 2) { str += "," + js_Boot.__string_rec(o[i],s); } else { str += js_Boot.__string_rec(o[i],s); } } return str + ")"; } var l = o.length; var i1; var str1 = "["; s += "\t"; var _g11 = 0; var _g2 = l; while(_g11 < _g2) { var i2 = _g11++; str1 += (i2 > 0 ? "," : "") + js_Boot.__string_rec(o[i2],s); } str1 += "]"; return str1; } var tostr; try { tostr = o.toString; } catch( e ) { haxe_CallStack.lastException = e; return "???"; } if(tostr != null && tostr != Object.toString && typeof(tostr) == "function") { var s2 = o.toString(); if(s2 != "[object Object]") { return s2; } } var k = null; var str2 = "{\n"; s += "\t"; var hasp = o.hasOwnProperty != null; for( var k in o ) { if(hasp && !o.hasOwnProperty(k)) { continue; } if(k == "prototype" || k == "__class__" || k == "__super__" || k == "__interfaces__" || k == "__properties__") { continue; } if(str2.length != 2) { str2 += ", \n"; } str2 += s + k + " : " + js_Boot.__string_rec(o[k],s); } s = s.substring(1); str2 += "\n" + s + "}"; return str2; case "string": return o; default: return String(o); } }; js_Boot.__interfLoop = function(cc,cl) { if(cc == null) { return false; } if(cc == cl) { return true; } var intf = cc.__interfaces__; if(intf != null) { var _g1 = 0; var _g = intf.length; while(_g1 < _g) { var i = _g1++; var i1 = intf[i]; if(i1 == cl || js_Boot.__interfLoop(i1,cl)) { return true; } } } return js_Boot.__interfLoop(cc.__super__,cl); }; js_Boot.__instanceof = function(o,cl) { if(cl == null) { return false; } switch(cl) { case Array: if((o instanceof Array)) { return o.__enum__ == null; } else { return false; } break; case Bool: return typeof(o) == "boolean"; case Dynamic: return true; case Float: return typeof(o) == "number"; case Int: if(typeof(o) == "number") { return (o|0) === o; } else { return false; } break; case String: return typeof(o) == "string"; default: if(o != null) { if(typeof(cl) == "function") { if(o instanceof cl) { return true; } if(js_Boot.__interfLoop(js_Boot.getClass(o),cl)) { return true; } } else if(typeof(cl) == "object" && js_Boot.__isNativeObj(cl)) { if(o instanceof cl) { return true; } } } else { return false; } if(cl == Class ? o.__name__ != null : false) { return true; } if(cl == Enum ? o.__ename__ != null : false) { return true; } return o.__enum__ == cl; } }; js_Boot.__cast = function(o,t) { if(js_Boot.__instanceof(o,t)) { return o; } else { throw new js__$Boot_HaxeError("Cannot cast " + Std.string(o) + " to " + Std.string(t)); } }; js_Boot.__nativeClassName = function(o) { var name = js_Boot.__toStr.call(o).slice(8,-1); if(name == "Object" || name == "Function" || name == "Math" || name == "JSON") { return null; } return name; }; js_Boot.__isNativeObj = function(o) { return js_Boot.__nativeClassName(o) != null; }; js_Boot.__resolveNativeClass = function(name) { return $global[name]; }; var flixel_math_FlxRandom = function(InitialSeed) { this.internalSeed = 1; this._floatNormalRho = 0; this._twoPI = Math.PI * 2; this._floatNormalRand2 = 0; this._floatNormalRand1 = 0; this._hasFloatNormalSpare = false; this.initialSeed = 1; if(InitialSeed != null) { var lowerBound = InitialSeed < 1 ? 1 : InitialSeed; var NewSeed = (lowerBound > 2147483646 ? 2147483646 : lowerBound) | 0; var lowerBound1 = NewSeed < 1 ? 1 : NewSeed; this.initialSeed = (this.internalSeed = (lowerBound1 > 2147483646 ? 2147483646 : lowerBound1) | 0) | 0; } else { var Value = Math.random() * 2147483647 | 0; var lowerBound2 = Value < 1 ? 1 : Value; var NewSeed1 = (lowerBound2 > 2147483646 ? 2147483646 : lowerBound2) | 0; var lowerBound3 = NewSeed1 < 1 ? 1 : NewSeed1; var NewSeed2 = (lowerBound3 > 2147483646 ? 2147483646 : lowerBound3) | 0; var lowerBound4 = NewSeed2 < 1 ? 1 : NewSeed2; this.initialSeed = (this.internalSeed = (lowerBound4 > 2147483646 ? 2147483646 : lowerBound4) | 0) | 0; } }; $hxClasses["flixel.math.FlxRandom"] = flixel_math_FlxRandom; flixel_math_FlxRandom.__name__ = ["flixel","math","FlxRandom"]; flixel_math_FlxRandom.rangeBound = function(Value) { var lowerBound = Value < 1 ? 1 : Value; return (lowerBound > 2147483646 ? 2147483646 : lowerBound) | 0; }; flixel_math_FlxRandom.prototype = { getObject_flixel_group_FlxTypedGroup_T: function(Objects,WeightsArray,StartIndex,EndIndex) { if(StartIndex == null) { StartIndex = 0; } var selected = null; if(Objects.length != 0) { if(WeightsArray == null) { var _g = []; var _g2 = 0; var _g1 = Objects.length; while(_g2 < _g1) { var i = _g2++; _g.push(1); } WeightsArray = _g; } if(EndIndex == null) { EndIndex = Objects.length - 1; } var Max = Objects.length - 1; var lowerBound = StartIndex < 0 ? 0 : StartIndex; StartIndex = (Max != null && lowerBound > Max ? Max : lowerBound) | 0; var Max1 = Objects.length - 1; var lowerBound1 = EndIndex < 0 ? 0 : EndIndex; EndIndex = (Max1 != null && lowerBound1 > Max1 ? Max1 : lowerBound1) | 0; if(EndIndex < StartIndex) { StartIndex += EndIndex; EndIndex = StartIndex - EndIndex; StartIndex -= EndIndex; } if(EndIndex > WeightsArray.length - 1) { EndIndex = WeightsArray.length - 1; } var _g3 = []; var _g21 = StartIndex; var _g11 = EndIndex + 1; while(_g21 < _g11) { var i1 = _g21++; _g3.push(WeightsArray[i1]); } flixel_math_FlxRandom._arrayFloatHelper = _g3; selected = Objects[StartIndex + this.weightedPick(flixel_math_FlxRandom._arrayFloatHelper)]; } return selected; } ,initialSeed: null ,resetInitialSeed: function() { var Value = Math.random() * 2147483647 | 0; var lowerBound = Value < 1 ? 1 : Value; var NewSeed = (lowerBound > 2147483646 ? 2147483646 : lowerBound) | 0; var lowerBound1 = NewSeed < 1 ? 1 : NewSeed; var NewSeed1 = (lowerBound1 > 2147483646 ? 2147483646 : lowerBound1) | 0; var lowerBound2 = NewSeed1 < 1 ? 1 : NewSeed1; return this.initialSeed = (this.internalSeed = (lowerBound2 > 2147483646 ? 2147483646 : lowerBound2) | 0) | 0; } ,'int': function(Min,Max,Excludes) { if(Max == null) { Max = 2147483647; } if(Min == null) { Min = 0; } if(Min == 0 && Max == 2147483647 && Excludes == null) { return (this.internalSeed = this.internalSeed * 48271.0 % 2147483647) | 0; } else if(Min == Max) { return Min; } else { if(Min > Max) { Min += Max; Max = Min - Max; Min -= Max; } if(Excludes == null) { return Math.floor(Min + (this.internalSeed = this.internalSeed * 48271.0 % 2147483647) / 2147483647 * (Max - Min + 1)); } else { var result = 0; while(true) { result = Math.floor(Min + (this.internalSeed = this.internalSeed * 48271.0 % 2147483647) / 2147483647 * (Max - Min + 1)); if(!(Excludes.indexOf(result) >= 0)) { break; } } return result; } } } ,'float': function(Min,Max,Excludes) { if(Max == null) { Max = 1; } if(Min == null) { Min = 0; } var result = 0; if(Min == 0 && Max == 1 && Excludes == null) { return (this.internalSeed = this.internalSeed * 48271.0 % 2147483647) / 2147483647; } else if(Min == Max) { result = Min; } else { if(Min > Max) { Min += Max; Max = Min - Max; Min -= Max; } if(Excludes == null) { result = Min + (this.internalSeed = this.internalSeed * 48271.0 % 2147483647) / 2147483647 * (Max - Min); } else { while(true) { result = Min + (this.internalSeed = this.internalSeed * 48271.0 % 2147483647) / 2147483647 * (Max - Min); if(!(Excludes.indexOf(result) >= 0)) { break; } } } } return result; } ,_hasFloatNormalSpare: null ,_floatNormalRand1: null ,_floatNormalRand2: null ,_twoPI: null ,_floatNormalRho: null ,floatNormal: function(Mean,StdDev) { if(StdDev == null) { StdDev = 1; } if(Mean == null) { Mean = 0; } if(this._hasFloatNormalSpare) { this._hasFloatNormalSpare = false; var scale = StdDev * this._floatNormalRho; return Mean + scale * this._floatNormalRand2; } this._hasFloatNormalSpare = true; var theta = this._twoPI * ((this.internalSeed = this.internalSeed * 48271.0 % 2147483647) / 2147483647); this._floatNormalRho = Math.sqrt(-2 * Math.log(1 - (this.internalSeed = this.internalSeed * 48271.0 % 2147483647) / 2147483647)); var scale1 = StdDev * this._floatNormalRho; this._floatNormalRand1 = Math.cos(theta); this._floatNormalRand2 = Math.sin(theta); return Mean + scale1 * this._floatNormalRand1; } ,bool: function(Chance) { if(Chance == null) { Chance = 50; } return this["float"](0,100) < Chance; } ,sign: function(Chance) { if(Chance == null) { Chance = 50; } if(this["float"](0,100) < Chance) { return 1; } else { return -1; } } ,weightedPick: function(WeightsArray) { var totalWeight = 0; var pick = 0; var _g = 0; while(_g < WeightsArray.length) { var i = WeightsArray[_g]; ++_g; totalWeight += i; } totalWeight = this["float"](0,totalWeight); var _g1 = 0; var _g2 = WeightsArray.length; while(_g1 < _g2) { var i1 = _g1++; if(totalWeight < WeightsArray[i1]) { pick = i1; break; } totalWeight -= WeightsArray[i1]; } return pick; } ,color: function(Min,Max,Alpha,GreyScale) { if(GreyScale == null) { GreyScale = false; } var red; var green; var blue; var alpha; if(Min == null && Max == null) { red = this["int"](0,255); green = this["int"](0,255); blue = this["int"](0,255); if(Alpha == null) { alpha = this["int"](0,255); } else { alpha = Alpha; } } else if(Max == null) { red = this["int"](Min >> 16 & 255,255); if(GreyScale) { green = red; } else { green = this["int"](Min >> 8 & 255,255); } if(GreyScale) { blue = red; } else { blue = this["int"](Min & 255,255); } if(Alpha == null) { alpha = this["int"](Min >> 24 & 255,255); } else { alpha = Alpha; } } else if(Min == null) { red = this["int"](0,Max >> 16 & 255); if(GreyScale) { green = red; } else { green = this["int"](0,Max >> 8 & 255); } if(GreyScale) { blue = red; } else { blue = this["int"](0,Max & 255); } if(Alpha == null) { alpha = this["int"](0,Max >> 24 & 255); } else { alpha = Alpha; } } else { red = this["int"](Min >> 16 & 255,Max >> 16 & 255); if(GreyScale) { green = red; } else { green = this["int"](Min >> 8 & 255,Max >> 8 & 255); } if(GreyScale) { blue = red; } else { blue = this["int"](Min & 255,Max & 255); } if(Alpha == null) { alpha = this["int"](Min >> 24 & 255,Max >> 24 & 255); } else { alpha = Alpha; } } var color = flixel_util__$FlxColor_FlxColor_$Impl_$._new(); color &= -16711681; color |= (red > 255 ? 255 : red < 0 ? 0 : red) << 16; color &= -65281; color |= (green > 255 ? 255 : green < 0 ? 0 : green) << 8; color &= -256; color |= blue > 255 ? 255 : blue < 0 ? 0 : blue; color &= 16777215; color |= (alpha > 255 ? 255 : alpha < 0 ? 0 : alpha) << 24; return color; } ,generate: function() { return this.internalSeed = this.internalSeed * 48271.0 % 2147483647; } ,internalSeed: null ,set_initialSeed: function(NewSeed) { var lowerBound = NewSeed < 1 ? 1 : NewSeed; var NewSeed1 = (lowerBound > 2147483646 ? 2147483646 : lowerBound) | 0; var lowerBound1 = NewSeed1 < 1 ? 1 : NewSeed1; return this.initialSeed = (this.internalSeed = (lowerBound1 > 2147483646 ? 2147483646 : lowerBound1) | 0) | 0; } ,get_currentSeed: function() { return this.internalSeed | 0; } ,set_currentSeed: function(NewSeed) { var lowerBound = NewSeed < 1 ? 1 : NewSeed; return (this.internalSeed = (lowerBound > 2147483646 ? 2147483646 : lowerBound) | 0) | 0; } ,__class__: flixel_math_FlxRandom ,__properties__: {set_currentSeed:"set_currentSeed",get_currentSeed:"get_currentSeed",set_initialSeed:"set_initialSeed"} }; var flixel_util_FlxSave = function() { this._closeRequested = false; }; $hxClasses["flixel.util.FlxSave"] = flixel_util_FlxSave; flixel_util_FlxSave.__name__ = ["flixel","util","FlxSave"]; flixel_util_FlxSave.__interfaces__ = [flixel_util_IFlxDestroyable]; flixel_util_FlxSave.prototype = { data: null ,name: null ,path: null ,_sharedObject: null ,_onComplete: null ,_closeRequested: null ,destroy: function() { this._sharedObject = null; this.name = null; this.path = null; this.data = null; this._onComplete = null; this._closeRequested = false; } ,bind: function(Name,Path) { this.destroy(); this.name = Name; this.path = Path; try { this._sharedObject = openfl_net_SharedObject.getLocal(this.name,this.path); } catch( e ) { haxe_CallStack.lastException = e; if (e instanceof js__$Boot_HaxeError) e = e.val; if( js_Boot.__instanceof(e,openfl_errors_Error) ) { var _this = flixel_FlxG.log; this.destroy(); return false; } else throw(e); } this.data = this._sharedObject.data; return true; } ,close: function(MinFileSize,OnComplete) { if(MinFileSize == null) { MinFileSize = 0; } this._closeRequested = true; return this.flush(MinFileSize,OnComplete); } ,flush: function(MinFileSize,OnComplete) { if(MinFileSize == null) { MinFileSize = 0; } if(!this.checkBinding()) { return false; } this._onComplete = OnComplete; var result = null; try { result = this._sharedObject.flush(); } catch( _ ) { haxe_CallStack.lastException = _; if (_ instanceof js__$Boot_HaxeError) _ = _.val; if( js_Boot.__instanceof(_,openfl_errors_Error) ) { return this.onDone(flixel_util_FlxSaveStatus.ERROR); } else throw(_); } return this.onDone(result == 0 ? flixel_util_FlxSaveStatus.SUCCESS : flixel_util_FlxSaveStatus.PENDING); } ,erase: function() { if(!this.checkBinding()) { return false; } this._sharedObject.clear(); this.data = { }; return true; } ,onDone: function(Result) { switch(Result[1]) { case 1: var _this = flixel_FlxG.log; break; case 2: var _this1 = flixel_FlxG.log; break; default: } if(this._onComplete != null) { this._onComplete(Result == flixel_util_FlxSaveStatus.SUCCESS); } if(this._closeRequested) { this.destroy(); } return Result == flixel_util_FlxSaveStatus.SUCCESS; } ,checkBinding: function() { if(this._sharedObject == null) { var _this = flixel_FlxG.log; return false; } return true; } ,__class__: flixel_util_FlxSave }; var flixel_system_scaleModes_BaseScaleMode = function() { this.verticalAlign = flixel_util_FlxVerticalAlign.CENTER; this.horizontalAlign = flixel_util_FlxHorizontalAlign.CENTER; var point = flixel_math_FlxPoint._pool.get().set(0,0); point._inPool = false; this.deviceSize = point; var point1 = flixel_math_FlxPoint._pool.get().set(0,0); point1._inPool = false; this.gameSize = point1; var point2 = flixel_math_FlxPoint._pool.get().set(0,0); point2._inPool = false; this.scale = point2; var point3 = flixel_math_FlxPoint._pool.get().set(0,0); point3._inPool = false; this.offset = point3; }; $hxClasses["flixel.system.scaleModes.BaseScaleMode"] = flixel_system_scaleModes_BaseScaleMode; flixel_system_scaleModes_BaseScaleMode.__name__ = ["flixel","system","scaleModes","BaseScaleMode"]; flixel_system_scaleModes_BaseScaleMode.prototype = { deviceSize: null ,gameSize: null ,scale: null ,offset: null ,horizontalAlign: null ,verticalAlign: null ,onMeasure: function(Width,Height) { flixel_FlxG.width = flixel_FlxG.initialWidth; flixel_FlxG.height = flixel_FlxG.initialHeight; this.updateGameSize(Width,Height); this.updateDeviceSize(Width,Height); this.updateScaleOffset(); this.updateGamePosition(); } ,updateGameSize: function(Width,Height) { this.gameSize.set(Width,Height); } ,updateDeviceSize: function(Width,Height) { this.deviceSize.set(Width,Height); } ,updateScaleOffset: function() { this.scale.set_x(this.gameSize.x / (flixel_FlxG.width * flixel_FlxG.initialZoom)); this.scale.set_y(this.gameSize.y / (flixel_FlxG.height * flixel_FlxG.initialZoom)); this.updateOffsetX(); this.updateOffsetY(); } ,updateOffsetX: function() { var _g = this.horizontalAlign; var tmp; switch(_g[1]) { case 0: tmp = 0; break; case 1: tmp = Math.ceil((this.deviceSize.x - this.gameSize.x) * 0.5); break; case 2: tmp = this.deviceSize.x - this.gameSize.x; break; } this.offset.set_x(tmp); } ,updateOffsetY: function() { var _g = this.verticalAlign; var tmp; switch(_g[1]) { case 0: tmp = 0; break; case 1: tmp = Math.ceil((this.deviceSize.y - this.gameSize.y) * 0.5); break; case 2: tmp = this.deviceSize.y - this.gameSize.y; break; } this.offset.set_y(tmp); } ,updateGamePosition: function() { if(flixel_FlxG.game == null) { return; } flixel_FlxG.game.set_x(this.offset.x); flixel_FlxG.game.set_y(this.offset.y); } ,set_horizontalAlign: function(value) { this.horizontalAlign = value; if(this.offset != null) { this.updateOffsetX(); this.updateGamePosition(); } return value; } ,set_verticalAlign: function(value) { this.verticalAlign = value; if(this.offset != null) { this.updateOffsetY(); this.updateGamePosition(); } return value; } ,__class__: flixel_system_scaleModes_BaseScaleMode ,__properties__: {set_verticalAlign:"set_verticalAlign",set_horizontalAlign:"set_horizontalAlign"} }; var flixel_system_scaleModes_RatioScaleMode = function(fillScreen) { if(fillScreen == null) { fillScreen = false; } flixel_system_scaleModes_BaseScaleMode.call(this); this.fillScreen = fillScreen; }; $hxClasses["flixel.system.scaleModes.RatioScaleMode"] = flixel_system_scaleModes_RatioScaleMode; flixel_system_scaleModes_RatioScaleMode.__name__ = ["flixel","system","scaleModes","RatioScaleMode"]; flixel_system_scaleModes_RatioScaleMode.__super__ = flixel_system_scaleModes_BaseScaleMode; flixel_system_scaleModes_RatioScaleMode.prototype = $extend(flixel_system_scaleModes_BaseScaleMode.prototype,{ fillScreen: null ,updateGameSize: function(Width,Height) { var ratio = flixel_FlxG.width / flixel_FlxG.height; var realRatio = Width / Height; var scaleY = realRatio < ratio; if(this.fillScreen) { scaleY = !scaleY; } if(scaleY) { this.gameSize.set_x(Width); this.gameSize.set_y(Math.floor(this.gameSize.x / ratio)); } else { this.gameSize.set_y(Height); this.gameSize.set_x(Math.floor(this.gameSize.y * ratio)); } } ,__class__: flixel_system_scaleModes_RatioScaleMode }); var flixel_system_frontEnds_SignalFrontEnd = function() { this.focusLost = new flixel_util__$FlxSignal_FlxSignal0(); this.focusGained = new flixel_util__$FlxSignal_FlxSignal0(); this.postDraw = new flixel_util__$FlxSignal_FlxSignal0(); this.preDraw = new flixel_util__$FlxSignal_FlxSignal0(); this.postUpdate = new flixel_util__$FlxSignal_FlxSignal0(); this.preUpdate = new flixel_util__$FlxSignal_FlxSignal0(); this.postGameStart = new flixel_util__$FlxSignal_FlxSignal0(); this.preGameStart = new flixel_util__$FlxSignal_FlxSignal0(); this.postGameReset = new flixel_util__$FlxSignal_FlxSignal0(); this.preGameReset = new flixel_util__$FlxSignal_FlxSignal0(); this.gameResized = new flixel_util__$FlxSignal_FlxSignal2(); this.preStateCreate = new flixel_util__$FlxSignal_FlxSignal1(); this.postStateSwitch = new flixel_util__$FlxSignal_FlxSignal0(); this.preStateSwitch = new flixel_util__$FlxSignal_FlxSignal0(); }; $hxClasses["flixel.system.frontEnds.SignalFrontEnd"] = flixel_system_frontEnds_SignalFrontEnd; flixel_system_frontEnds_SignalFrontEnd.__name__ = ["flixel","system","frontEnds","SignalFrontEnd"]; flixel_system_frontEnds_SignalFrontEnd.prototype = { preStateSwitch: null ,postStateSwitch: null ,preStateCreate: null ,gameResized: null ,preGameReset: null ,postGameReset: null ,preGameStart: null ,postGameStart: null ,preUpdate: null ,postUpdate: null ,preDraw: null ,postDraw: null ,focusGained: null ,focusLost: null ,get_stateSwitched: function() { return this.preStateSwitch; } ,get_gameStarted: function() { return this.postGameStart; } ,__class__: flixel_system_frontEnds_SignalFrontEnd ,__properties__: {get_gameStarted:"get_gameStarted",get_stateSwitched:"get_stateSwitched"} }; var flixel_system_frontEnds_WatchFrontEnd = function() { }; $hxClasses["flixel.system.frontEnds.WatchFrontEnd"] = flixel_system_frontEnds_WatchFrontEnd; flixel_system_frontEnds_WatchFrontEnd.__name__ = ["flixel","system","frontEnds","WatchFrontEnd"]; flixel_system_frontEnds_WatchFrontEnd.prototype = { add: function(object,field,displayName) { } ,remove: function(object,field) { } ,addQuick: function(displayName,value) { } ,removeQuick: function(displayName) { } ,addExpression: function(expression,displayName) { } ,removeExpression: function(displayName) { } ,addMouse: function() { } ,removeMouse: function() { } ,__class__: flixel_system_frontEnds_WatchFrontEnd }; var flixel_FlxG = function() { }; $hxClasses["flixel.FlxG"] = flixel_FlxG; flixel_FlxG.__name__ = ["flixel","FlxG"]; flixel_FlxG.__properties__ = {set_mouse:"set_mouse",set_fullscreen:"set_fullscreen",get_fullscreen:"get_fullscreen",set_scaleMode:"set_scaleMode",get_onMobile:"get_onMobile",set_drawFramerate:"set_drawFramerate",set_updateFramerate:"set_updateFramerate",get_state:"get_state",get_stage:"get_stage"}; flixel_FlxG.camera = null; flixel_FlxG.game = null; flixel_FlxG.updateFramerate = null; flixel_FlxG.drawFramerate = null; flixel_FlxG.renderMethod = null; flixel_FlxG.renderBlit = null; flixel_FlxG.renderTile = null; flixel_FlxG.width = null; flixel_FlxG.height = null; flixel_FlxG.mouse = null; flixel_FlxG.touches = null; flixel_FlxG.keys = null; flixel_FlxG.gamepads = null; flixel_FlxG.accelerometer = null; flixel_FlxG.vcr = null; flixel_FlxG.plugins = null; flixel_FlxG.sound = null; flixel_FlxG.resizeGame = function(Width,Height) { flixel_FlxG.scaleMode.onMeasure(Width,Height); }; flixel_FlxG.resizeWindow = function(Width,Height) { }; flixel_FlxG.resetGame = function() { flixel_FlxG.game._resetGame = true; }; flixel_FlxG.switchState = function(nextState) { if(flixel_FlxG.game._state.switchTo(nextState)) { flixel_FlxG.game._requestedState = nextState; } }; flixel_FlxG.resetState = function() { var o = flixel_FlxG.game._state; var nextState = Type.createInstance(o == null ? null : js_Boot.getClass(o),[]); if(flixel_FlxG.game._state.switchTo(nextState)) { flixel_FlxG.game._requestedState = nextState; } }; flixel_FlxG.overlap = function(ObjectOrGroup1,ObjectOrGroup2,NotifyCallback,ProcessCallback) { if(ObjectOrGroup1 == null) { ObjectOrGroup1 = flixel_FlxG.game._state; } if(ObjectOrGroup2 == ObjectOrGroup1) { ObjectOrGroup2 = null; } flixel_system_FlxQuadTree.divisions = flixel_FlxG.worldDivisions; var quadTree = flixel_system_FlxQuadTree.recycle(flixel_FlxG.worldBounds.x,flixel_FlxG.worldBounds.y,flixel_FlxG.worldBounds.width,flixel_FlxG.worldBounds.height); quadTree.load(ObjectOrGroup1,ObjectOrGroup2,NotifyCallback,ProcessCallback); var result = quadTree.execute(); quadTree.destroy(); return result; }; flixel_FlxG.pixelPerfectOverlap = function(Sprite1,Sprite2,AlphaTolerance,Camera) { if(AlphaTolerance == null) { AlphaTolerance = 255; } return flixel_util_FlxCollision.pixelPerfectCheck(Sprite1,Sprite2,AlphaTolerance,Camera); }; flixel_FlxG.collide = function(ObjectOrGroup1,ObjectOrGroup2,NotifyCallback) { return flixel_FlxG.overlap(ObjectOrGroup1,ObjectOrGroup2,NotifyCallback,flixel_FlxObject.separate); }; flixel_FlxG.addPostProcess = function(postProcess) { return postProcess; }; flixel_FlxG.removePostProcess = function(postProcess) { }; flixel_FlxG.openURL = function(URL,Target) { if(Target == null) { Target = "_blank"; } var prefix = ""; if(!new EReg("^https?://","").match(URL)) { prefix = "http://"; } openfl_Lib.getURL(new openfl_net_URLRequest(prefix + URL),Target); }; flixel_FlxG.init = function(Game,Width,Height,Zoom) { flixel_FlxG.game = Game; flixel_FlxG.width = Math.abs(Width) | 0; flixel_FlxG.height = Math.abs(Height) | 0; flixel_FlxG.initRenderMethod(); flixel_FlxG.initialWidth = flixel_FlxG.width; flixel_FlxG.initialHeight = flixel_FlxG.height; flixel_FlxG.initialZoom = flixel_FlxCamera.defaultZoom = Zoom; var Width1 = openfl_Lib.get_current().stage.stageWidth; var Height1 = openfl_Lib.get_current().stage.stageHeight; flixel_FlxG.scaleMode.onMeasure(Width1,Height1); flixel_FlxG.keys = flixel_FlxG.inputs.add_flixel_input_keyboard_FlxKeyboard(new flixel_input_keyboard_FlxKeyboard()); flixel_FlxG.set_mouse(flixel_FlxG.inputs.add_flixel_input_mouse_FlxMouse(new flixel_input_mouse_FlxMouse(flixel_FlxG.game._inputContainer))); flixel_FlxG.touches = flixel_FlxG.inputs.add_flixel_input_touch_FlxTouchManager(new flixel_input_touch_FlxTouchManager()); flixel_FlxG.gamepads = flixel_FlxG.inputs.add_flixel_input_gamepad_FlxGamepadManager(new flixel_input_gamepad_FlxGamepadManager()); flixel_FlxG.accelerometer = new flixel_input_FlxAccelerometer(); flixel_FlxG.save.bind("flixel"); flixel_FlxG.plugins = new flixel_system_frontEnds_PluginFrontEnd(); flixel_FlxG.vcr = new flixel_system_frontEnds_VCRFrontEnd(); flixel_FlxG.sound = new flixel_system_frontEnds_SoundFrontEnd(); }; flixel_FlxG.initRenderMethod = function() { flixel_FlxG.renderMethod = flixel_FlxRenderMethod.BLITTING; var _g = openfl_Lib.get_current().stage.window.context.type; var tmp; switch(_g) { case "opengl":case "opengles":case "webgl": tmp = flixel_FlxRenderMethod.DRAW_TILES; break; default: tmp = flixel_FlxRenderMethod.BLITTING; } flixel_FlxG.renderMethod = tmp; flixel_FlxG.renderBlit = flixel_FlxG.renderMethod == flixel_FlxRenderMethod.BLITTING; flixel_FlxG.renderTile = flixel_FlxG.renderMethod == flixel_FlxRenderMethod.DRAW_TILES; flixel_FlxObject.defaultPixelPerfectPosition = flixel_FlxG.renderBlit; }; flixel_FlxG.reset = function() { var _this = flixel_FlxG.random; var Value = Math.random() * 2147483647 | 0; var lowerBound = Value < 1 ? 1 : Value; var NewSeed = (lowerBound > 2147483646 ? 2147483646 : lowerBound) | 0; var lowerBound1 = NewSeed < 1 ? 1 : NewSeed; var NewSeed1 = (lowerBound1 > 2147483646 ? 2147483646 : lowerBound1) | 0; var lowerBound2 = NewSeed1 < 1 ? 1 : NewSeed1; _this.initialSeed = (_this.internalSeed = (lowerBound2 > 2147483646 ? 2147483646 : lowerBound2) | 0) | 0; flixel_FlxG.bitmap.reset(); flixel_FlxG.inputs.reset(); flixel_FlxG.sound.destroy(true); flixel_FlxG.autoPause = true; flixel_FlxG.fixedTimestep = true; flixel_FlxG.timeScale = 1.0; flixel_FlxG.elapsed = 0; flixel_FlxG.maxElapsed = 0.1; var _this1 = flixel_FlxG.worldBounds; _this1.x = -10; _this1.y = -10; _this1.width = flixel_FlxG.width + 20; _this1.height = flixel_FlxG.height + 20; flixel_FlxG.worldDivisions = 6; }; flixel_FlxG.set_scaleMode = function(ScaleMode) { flixel_FlxG.scaleMode = ScaleMode; flixel_FlxG.game.onResize(null); return ScaleMode; }; flixel_FlxG.set_mouse = function(NewMouse) { if(flixel_FlxG.mouse == null) { flixel_FlxG.mouse = flixel_FlxG.inputs.add_flixel_input_mouse_FlxMouse(NewMouse); return flixel_FlxG.mouse; } var oldMouse = flixel_FlxG.mouse; var result = flixel_FlxG.inputs.replace_flixel_input_mouse_FlxMouse(oldMouse,NewMouse); if(result != null) { flixel_FlxG.mouse = result; oldMouse.destroy(); return NewMouse; } return oldMouse; }; flixel_FlxG.set_updateFramerate = function(Framerate) { if(Framerate < flixel_FlxG.drawFramerate) { var _this = flixel_FlxG.log; } flixel_FlxG.updateFramerate = Framerate; flixel_FlxG.game._stepMS = Math.abs(1000 / Framerate); flixel_FlxG.game._stepSeconds = flixel_FlxG.game._stepMS / 1000; if(flixel_FlxG.game._maxAccumulation < flixel_FlxG.game._stepMS) { flixel_FlxG.game._maxAccumulation = flixel_FlxG.game._stepMS; } return Framerate; }; flixel_FlxG.set_drawFramerate = function(Framerate) { if(Framerate > flixel_FlxG.updateFramerate) { var _this = flixel_FlxG.log; } flixel_FlxG.drawFramerate = Math.abs(Framerate) | 0; if(flixel_FlxG.game.stage != null) { flixel_FlxG.game.stage.set_frameRate(flixel_FlxG.drawFramerate); } flixel_FlxG.game._maxAccumulation = 2000 / flixel_FlxG.drawFramerate - 1; if(flixel_FlxG.game._maxAccumulation < flixel_FlxG.game._stepMS) { flixel_FlxG.game._maxAccumulation = flixel_FlxG.game._stepMS; } return Framerate; }; flixel_FlxG.get_fullscreen = function() { if(openfl_Lib.get_current().stage.get_displayState() != 0) { return openfl_Lib.get_current().stage.get_displayState() == 1; } else { return true; } }; flixel_FlxG.set_fullscreen = function(Value) { openfl_Lib.get_current().stage.set_displayState(Value ? 0 : 2); return Value; }; flixel_FlxG.get_stage = function() { return openfl_Lib.get_current().stage; }; flixel_FlxG.get_state = function() { return flixel_FlxG.game._state; }; flixel_FlxG.get_onMobile = function() { return flixel_FlxG.html5.onMobile; }; var flixel_FlxRenderMethod = $hxClasses["flixel.FlxRenderMethod"] = { __ename__ : ["flixel","FlxRenderMethod"], __constructs__ : ["DRAW_TILES","BLITTING"] }; flixel_FlxRenderMethod.DRAW_TILES = ["DRAW_TILES",0]; flixel_FlxRenderMethod.DRAW_TILES.toString = $estr; flixel_FlxRenderMethod.DRAW_TILES.__enum__ = flixel_FlxRenderMethod; flixel_FlxRenderMethod.BLITTING = ["BLITTING",1]; flixel_FlxRenderMethod.BLITTING.toString = $estr; flixel_FlxRenderMethod.BLITTING.__enum__ = flixel_FlxRenderMethod; var flixel_FlxGame = function(GameWidth,GameHeight,InitialState,Zoom,UpdateFramerate,DrawFramerate,SkipSplash,StartFullscreen) { if(StartFullscreen == null) { StartFullscreen = false; } if(SkipSplash == null) { SkipSplash = false; } if(DrawFramerate == null) { DrawFramerate = 60; } if(UpdateFramerate == null) { UpdateFramerate = 60; } if(Zoom == null) { Zoom = 1; } if(GameHeight == null) { GameHeight = 0; } if(GameWidth == null) { GameWidth = 0; } this._resetGame = false; this._skipSplash = false; this._customSoundTray = flixel_system_ui_FlxSoundTray; this._lostFocus = false; this._startTime = 0; this._total = 0; this._gameJustStarted = false; this.filtersEnabled = true; this.ticks = 0; this.focusLostFramerate = 10; openfl_display_Sprite.call(this); this._inputContainer = new openfl_display_Sprite(); if(GameWidth == 0) { GameWidth = openfl_Lib.get_current().stage.stageWidth; } if(GameHeight == 0) { GameHeight = openfl_Lib.get_current().stage.stageHeight; } flixel_FlxG.init(this,GameWidth,GameHeight,Zoom); flixel_FlxG.set_updateFramerate(UpdateFramerate); flixel_FlxG.set_drawFramerate(DrawFramerate); this._accumulator = this._stepMS; this._skipSplash = SkipSplash; this._initialState = InitialState == null ? flixel_FlxState : InitialState; this.addEventListener("addedToStage",$bind(this,this.create)); }; $hxClasses["flixel.FlxGame"] = flixel_FlxGame; flixel_FlxGame.__name__ = ["flixel","FlxGame"]; flixel_FlxGame.__super__ = openfl_display_Sprite; flixel_FlxGame.prototype = $extend(openfl_display_Sprite.prototype,{ focusLostFramerate: null ,soundTray: null ,ticks: null ,filtersEnabled: null ,_gameJustStarted: null ,_initialState: null ,_state: null ,_total: null ,_startTime: null ,_accumulator: null ,_elapsedMS: null ,_stepMS: null ,_stepSeconds: null ,_maxAccumulation: null ,_lostFocus: null ,_filters: null ,_inputContainer: null ,_customSoundTray: null ,_skipSplash: null ,_requestedState: null ,_resetGame: null ,setFilters: function(filters) { this._filters = filters; } ,create: function(_) { if(this.stage == null) { return; } this.removeEventListener("addedToStage",$bind(this,this.create)); this._startTime = this.getTimer(); this._total = this.getTimer() - this._startTime; this.stage.set_scaleMode(2); this.stage.align = 6; this.stage.set_frameRate(flixel_FlxG.drawFramerate); this.addChild(this._inputContainer); this.soundTray = Type.createInstance(this._customSoundTray,[]); this.addChild(this.soundTray); this.stage.addEventListener("deactivate",$bind(this,this.onFocusLost)); this.stage.addEventListener("activate",$bind(this,this.onFocus)); flixel_FlxG.signals.preGameReset.dispatch(); if(this._skipSplash || flixel_system_FlxSplash.nextState != null) { this._requestedState = Type.createInstance(this._initialState,[]); if(flixel_system_FlxSplash.nextState == null) { this._gameJustStarted = true; } } else { flixel_system_FlxSplash.nextState = this._initialState; this._requestedState = new flixel_system_FlxSplash(); this._skipSplash = true; } flixel_FlxG.reset(); flixel_FlxG.signals.postGameReset.dispatch(); this.switchState(); if(flixel_FlxG.updateFramerate < flixel_FlxG.drawFramerate) { var _this = flixel_FlxG.log; } this.stage.addEventListener("enterFrame",$bind(this,this.onEnterFrame)); this.stage.addEventListener("resize",$bind(this,this.onResize)); this.resizeGame(openfl_Lib.get_current().stage.stageWidth,openfl_Lib.get_current().stage.stageHeight); openfl_utils_Assets.addEventListener("change",($_=flixel_FlxG.bitmap,$bind($_,$_.onAssetsReload))); } ,onFocus: function(_) { this._lostFocus = false; flixel_FlxG.signals.focusGained.dispatch(); this._state.onFocus(); if(!flixel_FlxG.autoPause) { return; } this.stage.set_frameRate(flixel_FlxG.drawFramerate); flixel_FlxG.sound.onFocus(); var _g = 0; var _g1 = flixel_FlxG.inputs.list; while(_g < _g1.length) { var input = _g1[_g]; ++_g; input.onFocus(); } } ,onFocusLost: function(event) { this._lostFocus = true; flixel_FlxG.signals.focusLost.dispatch(); this._state.onFocusLost(); if(!flixel_FlxG.autoPause) { return; } this.stage.set_frameRate(this.focusLostFramerate); flixel_FlxG.sound.onFocusLost(); var _g = 0; var _g1 = flixel_FlxG.inputs.list; while(_g < _g1.length) { var input = _g1[_g]; ++_g; input.onFocusLost(); } } ,onResize: function(_) { var width = openfl_Lib.get_current().stage.stageWidth; var height = openfl_Lib.get_current().stage.stageHeight; if(flixel_FlxG.renderTile) { flixel_FlxG.bitmap.onContext(); } this.resizeGame(width,height); } ,resizeGame: function(width,height) { flixel_FlxG.scaleMode.onMeasure(width,height); this._state.onResize(width,height); flixel_FlxG.cameras.resize(); flixel_FlxG.signals.gameResized.dispatch(width,height); if(this.soundTray != null) { this.soundTray.screenCenter(); } } ,onEnterFrame: function(_) { this.ticks = this.getTimer() - this._startTime; this._elapsedMS = this.ticks - this._total; this._total = this.ticks; if(this.soundTray != null && this.soundTray.active) { this.soundTray.update(this._elapsedMS); } if(!this._lostFocus || !flixel_FlxG.autoPause) { if(flixel_FlxG.vcr.paused) { if(flixel_FlxG.vcr.stepRequested) { flixel_FlxG.vcr.stepRequested = false; } else if(this._state == this._requestedState) { return; } } if(flixel_FlxG.fixedTimestep) { this._accumulator += this._elapsedMS; this._accumulator = this._accumulator > this._maxAccumulation ? this._maxAccumulation : this._accumulator; while(this._accumulator >= this._stepMS) { this.step(); this._accumulator -= this._stepMS; } } else { this.step(); } this.draw(); } } ,resetGame: function() { flixel_FlxG.signals.preGameReset.dispatch(); if(this._skipSplash || flixel_system_FlxSplash.nextState != null) { this._requestedState = Type.createInstance(this._initialState,[]); if(flixel_system_FlxSplash.nextState == null) { this._gameJustStarted = true; } } else { flixel_system_FlxSplash.nextState = this._initialState; this._requestedState = new flixel_system_FlxSplash(); this._skipSplash = true; } flixel_FlxG.reset(); flixel_FlxG.signals.postGameReset.dispatch(); } ,switchState: function() { flixel_FlxG.cameras.reset(); flixel_FlxG.inputs.onStateSwitch(); flixel_FlxG.sound.destroy(); flixel_FlxG.signals.preStateSwitch.dispatch(); if(this._state != null) { this._state.destroy(); } flixel_FlxG.bitmap.clearCache(); this._state = this._requestedState; if(this._gameJustStarted) { flixel_FlxG.signals.preGameStart.dispatch(); } flixel_FlxG.signals.preStateCreate.dispatch(this._state); this._state.create(); if(this._gameJustStarted) { this.gameStart(); } flixel_FlxG.signals.postStateSwitch.dispatch(); } ,gameStart: function() { flixel_FlxG.signals.postGameStart.dispatch(); this._gameJustStarted = false; } ,step: function() { if(this._resetGame) { flixel_FlxG.signals.preGameReset.dispatch(); if(this._skipSplash || flixel_system_FlxSplash.nextState != null) { this._requestedState = Type.createInstance(this._initialState,[]); if(flixel_system_FlxSplash.nextState == null) { this._gameJustStarted = true; } } else { flixel_system_FlxSplash.nextState = this._initialState; this._requestedState = new flixel_system_FlxSplash(); this._skipSplash = true; } flixel_FlxG.reset(); flixel_FlxG.signals.postGameReset.dispatch(); this._resetGame = false; } this.handleReplayRequests(); this.update(); } ,handleReplayRequests: function() { } ,update: function() { if(!this._state.active || !this._state.exists) { return; } if(this._state != this._requestedState) { this.switchState(); } this.updateElapsed(); flixel_FlxG.signals.preUpdate.dispatch(); this.updateInput(); flixel_FlxG.sound.update(flixel_FlxG.elapsed); var elapsed = flixel_FlxG.elapsed; var _g = 0; var _g1 = flixel_FlxG.plugins.list; while(_g < _g1.length) { var plugin = _g1[_g]; ++_g; if(plugin.exists && plugin.active) { plugin.update(elapsed); } } this._state.tryUpdate(flixel_FlxG.elapsed); var elapsed1 = flixel_FlxG.elapsed; var _g2 = 0; var _g11 = flixel_FlxG.cameras.list; while(_g2 < _g11.length) { var camera = _g11[_g2]; ++_g2; if(camera != null && camera.exists && camera.active) { camera.update(elapsed1); } } flixel_FlxG.signals.postUpdate.dispatch(); flixel_util_FlxArrayUtil.clearArray(flixel_FlxG.swipes); this.set_filters(this.filtersEnabled ? this._filters : null); } ,updateElapsed: function() { if(flixel_FlxG.fixedTimestep) { flixel_FlxG.elapsed = flixel_FlxG.timeScale * this._stepSeconds; } else { flixel_FlxG.elapsed = flixel_FlxG.timeScale * (this._elapsedMS / 1000); var max = flixel_FlxG.maxElapsed * flixel_FlxG.timeScale; if(flixel_FlxG.elapsed > max) { flixel_FlxG.elapsed = max; } } } ,updateInput: function() { var _g = 0; var _g1 = flixel_FlxG.inputs.list; while(_g < _g1.length) { var input = _g1[_g]; ++_g; input.update(); } } ,draw: function() { if(!this._state.visible || !this._state.exists) { return; } flixel_FlxG.signals.preDraw.dispatch(); if(flixel_FlxG.renderTile) { flixel_graphics_tile_FlxDrawBaseItem.drawCalls = 0; } var _this = flixel_FlxG.cameras; var _g = 0; var _g1 = _this.list; while(_g < _g1.length) { var camera = _g1[_g]; ++_g; if(camera == null || !camera.exists || !camera.visible) { continue; } if(flixel_FlxG.renderBlit) { camera.checkResize(); if(_this.useBufferLocking) { camera.buffer.lock(); } } if(flixel_FlxG.renderTile) { camera.clearDrawStack(); camera.canvas.get_graphics().clear(); } if(flixel_FlxG.renderBlit) { camera.fill(camera.bgColor,camera.useBgAlphaBlending); camera.screen.dirty = true; } else { camera.fill(camera.bgColor & 16777215,camera.useBgAlphaBlending,(camera.bgColor >> 24 & 255) / 255); } } var _g2 = 0; var _g11 = flixel_FlxG.plugins.list; while(_g2 < _g11.length) { var plugin = _g11[_g2]; ++_g2; if(plugin.exists && plugin.visible) { plugin.draw(); } } this._state.draw(); if(flixel_FlxG.renderTile) { if(flixel_FlxG.renderTile) { var _g3 = 0; var _g12 = flixel_FlxG.cameras.list; while(_g3 < _g12.length) { var camera1 = _g12[_g3]; ++_g3; if(camera1 != null && camera1.exists && camera1.visible) { camera1.render(); } } } } var _this1 = flixel_FlxG.cameras; var _g4 = 0; var _g13 = _this1.list; while(_g4 < _g13.length) { var camera2 = _g13[_g4]; ++_g4; if(camera2 == null || !camera2.exists || !camera2.visible) { continue; } camera2.drawFX(); if(flixel_FlxG.renderBlit) { if(_this1.useBufferLocking) { camera2.buffer.unlock(); } camera2.screen.dirty = true; } } flixel_FlxG.signals.postDraw.dispatch(); } ,getTicks: function() { return this.getTimer() - this._startTime; } ,getTimer: function() { return openfl_Lib.getTimer(); } ,__class__: flixel_FlxGame }); var flixel_FlxObject = function(X,Y,Width,Height) { if(Height == null) { Height = 0; } if(Width == null) { Width = 0; } if(Y == null) { Y = 0; } if(X == null) { X = 0; } var _this = flixel_math_FlxRect._pool.get(); _this.x = 0; _this.y = 0; _this.width = 0; _this.height = 0; var rect = _this; rect._inPool = false; this._rect = rect; var point = flixel_math_FlxPoint._pool.get().set(0,0); point._inPool = false; this._point = point; this.path = null; this.collisonXDrag = true; this.allowCollisions = 4369; this.wasTouching = 0; this.touching = 0; this.health = 1; this.maxAngular = 10000; this.angularDrag = 0; this.angularAcceleration = 0; this.angularVelocity = 0; this.elasticity = 0; this.mass = 1; this.immovable = false; this.moves = true; this.angle = 0; this.pixelPerfectPosition = true; this.y = 0; this.x = 0; flixel_FlxBasic.call(this); this.set_x(X); this.set_y(Y); this.set_width(Width); this.set_height(Height); this.initVars(); }; $hxClasses["flixel.FlxObject"] = flixel_FlxObject; flixel_FlxObject.__name__ = ["flixel","FlxObject"]; flixel_FlxObject.separate = function(Object1,Object2) { var separatedX = flixel_FlxObject.separateX(Object1,Object2); var separatedY = flixel_FlxObject.separateY(Object1,Object2); if(!separatedX) { return separatedY; } else { return true; } }; flixel_FlxObject.updateTouchingFlags = function(Object1,Object2) { var touchingX = flixel_FlxObject.updateTouchingFlagsX(Object1,Object2); var touchingY = flixel_FlxObject.updateTouchingFlagsY(Object1,Object2); if(!touchingX) { return touchingY; } else { return true; } }; flixel_FlxObject.computeOverlapX = function(Object1,Object2,checkMaxOverlap) { if(checkMaxOverlap == null) { checkMaxOverlap = true; } var overlap = 0; var obj1delta = Object1.x - Object1.last.x; var obj2delta = Object2.x - Object2.last.x; if(obj1delta != obj2delta) { var obj1deltaAbs = obj1delta > 0 ? obj1delta : -obj1delta; var obj2deltaAbs = obj2delta > 0 ? obj2delta : -obj2delta; var _this = flixel_FlxObject._firstSeparateFlxRect; var X = Object1.x - (obj1delta > 0 ? obj1delta : 0); var Y = Object1.last.y; var Width = Object1.get_width() + obj1deltaAbs; var Height = Object1.get_height(); _this.x = X; _this.y = Y; _this.width = Width; _this.height = Height; var obj1rect = _this; var _this1 = flixel_FlxObject._secondSeparateFlxRect; var X1 = Object2.x - (obj2delta > 0 ? obj2delta : 0); var Y1 = Object2.last.y; var Width1 = Object2.get_width() + obj2deltaAbs; var Height1 = Object2.get_height(); _this1.x = X1; _this1.y = Y1; _this1.width = Width1; _this1.height = Height1; var obj2rect = _this1; if(obj1rect.x + obj1rect.width > obj2rect.x && obj1rect.x < obj2rect.x + obj2rect.width && obj1rect.y + obj1rect.height > obj2rect.y && obj1rect.y < obj2rect.y + obj2rect.height) { var maxOverlap = checkMaxOverlap ? obj1deltaAbs + obj2deltaAbs + flixel_FlxObject.SEPARATE_BIAS : 0; if(obj1delta > obj2delta) { overlap = Object1.x + Object1.get_width() - Object2.x; if(checkMaxOverlap && overlap > maxOverlap || (Object1.allowCollisions & 16) == 0 || (Object2.allowCollisions & 1) == 0) { overlap = 0; } else { Object1.touching |= 16; Object2.touching |= 1; } } else if(obj1delta < obj2delta) { overlap = Object1.x - Object2.get_width() - Object2.x; if(checkMaxOverlap && -overlap > maxOverlap || (Object1.allowCollisions & 1) == 0 || (Object2.allowCollisions & 16) == 0) { overlap = 0; } else { Object1.touching |= 1; Object2.touching |= 16; } } } } return overlap; }; flixel_FlxObject.separateX = function(Object1,Object2) { var obj1immovable = Object1.immovable; var obj2immovable = Object2.immovable; if(obj1immovable && obj2immovable) { return false; } if(Object1.flixelType == 3) { var tilemap = Object1; return tilemap.overlapsWithCallback(Object2,flixel_FlxObject.separateX); } if(Object2.flixelType == 3) { var tilemap1 = Object2; return tilemap1.overlapsWithCallback(Object1,flixel_FlxObject.separateX,true); } var overlap = flixel_FlxObject.computeOverlapX(Object1,Object2); if(overlap != 0) { var obj1v = Object1.velocity.x; var obj2v = Object2.velocity.x; if(!obj1immovable && !obj2immovable) { overlap *= 0.5; Object1.set_x(Object1.x - overlap); var _g = Object2; _g.set_x(_g.x + overlap); var obj1velocity = Math.sqrt(obj2v * obj2v * Object2.mass / Object1.mass) * (obj2v > 0 ? 1 : -1); var obj2velocity = Math.sqrt(obj1v * obj1v * Object1.mass / Object2.mass) * (obj1v > 0 ? 1 : -1); var average = (obj1velocity + obj2velocity) * 0.5; obj1velocity -= average; obj2velocity -= average; Object1.velocity.set_x(average + obj1velocity * Object1.elasticity); Object2.velocity.set_x(average + obj2velocity * Object2.elasticity); } else if(!obj1immovable) { Object1.set_x(Object1.x - overlap); Object1.velocity.set_x(obj2v - obj1v * Object1.elasticity); } else if(!obj2immovable) { var _g1 = Object2; _g1.set_x(_g1.x + overlap); Object2.velocity.set_x(obj1v - obj2v * Object2.elasticity); } return true; } return false; }; flixel_FlxObject.updateTouchingFlagsX = function(Object1,Object2) { if(Object1.flixelType == 3) { var tilemap = Object1; return tilemap.overlapsWithCallback(Object2,flixel_FlxObject.updateTouchingFlagsX); } if(Object2.flixelType == 3) { var tilemap1 = Object2; return tilemap1.overlapsWithCallback(Object1,flixel_FlxObject.updateTouchingFlagsX,true); } return flixel_FlxObject.computeOverlapX(Object1,Object2,false) != 0; }; flixel_FlxObject.computeOverlapY = function(Object1,Object2,checkMaxOverlap) { if(checkMaxOverlap == null) { checkMaxOverlap = true; } var overlap = 0; var obj1delta = Object1.y - Object1.last.y; var obj2delta = Object2.y - Object2.last.y; if(obj1delta != obj2delta) { var obj1deltaAbs = obj1delta > 0 ? obj1delta : -obj1delta; var obj2deltaAbs = obj2delta > 0 ? obj2delta : -obj2delta; var _this = flixel_FlxObject._firstSeparateFlxRect; var X = Object1.x; var Y = Object1.y - (obj1delta > 0 ? obj1delta : 0); var Width = Object1.get_width(); var Height = Object1.get_height() + obj1deltaAbs; _this.x = X; _this.y = Y; _this.width = Width; _this.height = Height; var obj1rect = _this; var _this1 = flixel_FlxObject._secondSeparateFlxRect; var X1 = Object2.x; var Y1 = Object2.y - (obj2delta > 0 ? obj2delta : 0); var Width1 = Object2.get_width(); var Height1 = Object2.get_height() + obj2deltaAbs; _this1.x = X1; _this1.y = Y1; _this1.width = Width1; _this1.height = Height1; var obj2rect = _this1; if(obj1rect.x + obj1rect.width > obj2rect.x && obj1rect.x < obj2rect.x + obj2rect.width && obj1rect.y + obj1rect.height > obj2rect.y && obj1rect.y < obj2rect.y + obj2rect.height) { var maxOverlap = checkMaxOverlap ? obj1deltaAbs + obj2deltaAbs + flixel_FlxObject.SEPARATE_BIAS : 0; if(obj1delta > obj2delta) { overlap = Object1.y + Object1.get_height() - Object2.y; if(checkMaxOverlap && overlap > maxOverlap || (Object1.allowCollisions & 4096) == 0 || (Object2.allowCollisions & 256) == 0) { overlap = 0; } else { Object1.touching |= 4096; Object2.touching |= 256; } } else if(obj1delta < obj2delta) { overlap = Object1.y - Object2.get_height() - Object2.y; if(checkMaxOverlap && -overlap > maxOverlap || (Object1.allowCollisions & 256) == 0 || (Object2.allowCollisions & 4096) == 0) { overlap = 0; } else { Object1.touching |= 256; Object2.touching |= 4096; } } } } return overlap; }; flixel_FlxObject.separateY = function(Object1,Object2) { var obj1immovable = Object1.immovable; var obj2immovable = Object2.immovable; if(obj1immovable && obj2immovable) { return false; } if(Object1.flixelType == 3) { var tilemap = Object1; return tilemap.overlapsWithCallback(Object2,flixel_FlxObject.separateY); } if(Object2.flixelType == 3) { var tilemap1 = Object2; return tilemap1.overlapsWithCallback(Object1,flixel_FlxObject.separateY,true); } var overlap = flixel_FlxObject.computeOverlapY(Object1,Object2); if(overlap != 0) { var obj1delta = Object1.y - Object1.last.y; var obj2delta = Object2.y - Object2.last.y; var obj1v = Object1.velocity.y; var obj2v = Object2.velocity.y; if(!obj1immovable && !obj2immovable) { overlap *= 0.5; Object1.set_y(Object1.y - overlap); var _g = Object2; _g.set_y(_g.y + overlap); var obj1velocity = Math.sqrt(obj2v * obj2v * Object2.mass / Object1.mass) * (obj2v > 0 ? 1 : -1); var obj2velocity = Math.sqrt(obj1v * obj1v * Object1.mass / Object2.mass) * (obj1v > 0 ? 1 : -1); var average = (obj1velocity + obj2velocity) * 0.5; obj1velocity -= average; obj2velocity -= average; Object1.velocity.set_y(average + obj1velocity * Object1.elasticity); Object2.velocity.set_y(average + obj2velocity * Object2.elasticity); } else if(!obj1immovable) { Object1.set_y(Object1.y - overlap); Object1.velocity.set_y(obj2v - obj1v * Object1.elasticity); if(Object1.collisonXDrag && Object2.active && Object2.moves && obj1delta > obj2delta) { var _g1 = Object1; _g1.set_x(_g1.x + (Object2.x - Object2.last.x)); } } else if(!obj2immovable) { var _g2 = Object2; _g2.set_y(_g2.y + overlap); Object2.velocity.set_y(obj1v - obj2v * Object2.elasticity); if(Object2.collisonXDrag && Object1.active && Object1.moves && obj1delta < obj2delta) { var _g3 = Object2; _g3.set_x(_g3.x + (Object1.x - Object1.last.x)); } } return true; } return false; }; flixel_FlxObject.updateTouchingFlagsY = function(Object1,Object2) { if(Object1.flixelType == 3) { var tilemap = Object1; return tilemap.overlapsWithCallback(Object2,flixel_FlxObject.updateTouchingFlagsY); } if(Object2.flixelType == 3) { var tilemap1 = Object2; return tilemap1.overlapsWithCallback(Object1,flixel_FlxObject.updateTouchingFlagsY,true); } return flixel_FlxObject.computeOverlapY(Object1,Object2,false) != 0; }; flixel_FlxObject.__super__ = flixel_FlxBasic; flixel_FlxObject.prototype = $extend(flixel_FlxBasic.prototype,{ x: null ,y: null ,width: null ,height: null ,pixelPerfectRender: null ,pixelPerfectPosition: null ,angle: null ,moves: null ,immovable: null ,scrollFactor: null ,velocity: null ,acceleration: null ,drag: null ,maxVelocity: null ,last: null ,mass: null ,elasticity: null ,angularVelocity: null ,angularAcceleration: null ,angularDrag: null ,maxAngular: null ,health: null ,touching: null ,wasTouching: null ,allowCollisions: null ,collisonXDrag: null ,path: null ,_point: null ,_rect: null ,initVars: function() { this.flixelType = 1; var X = this.x; var Y = this.y; var point = flixel_math_FlxPoint._pool.get().set(X,Y); point._inPool = false; this.last = point; var point1 = flixel_math_FlxPoint._pool.get().set(1,1); point1._inPool = false; this.scrollFactor = point1; this.pixelPerfectPosition = flixel_FlxObject.defaultPixelPerfectPosition; var point2 = flixel_math_FlxPoint._pool.get().set(0,0); point2._inPool = false; this.velocity = point2; var point3 = flixel_math_FlxPoint._pool.get().set(0,0); point3._inPool = false; this.acceleration = point3; var point4 = flixel_math_FlxPoint._pool.get().set(0,0); point4._inPool = false; this.drag = point4; var point5 = flixel_math_FlxPoint._pool.get().set(10000,10000); point5._inPool = false; this.maxVelocity = point5; } ,initMotionVars: function() { var point = flixel_math_FlxPoint._pool.get().set(0,0); point._inPool = false; this.velocity = point; var point1 = flixel_math_FlxPoint._pool.get().set(0,0); point1._inPool = false; this.acceleration = point1; var point2 = flixel_math_FlxPoint._pool.get().set(0,0); point2._inPool = false; this.drag = point2; var point3 = flixel_math_FlxPoint._pool.get().set(10000,10000); point3._inPool = false; this.maxVelocity = point3; } ,destroy: function() { flixel_FlxBasic.prototype.destroy.call(this); this.velocity = flixel_util_FlxDestroyUtil.put(this.velocity); this.acceleration = flixel_util_FlxDestroyUtil.put(this.acceleration); this.drag = flixel_util_FlxDestroyUtil.put(this.drag); this.maxVelocity = flixel_util_FlxDestroyUtil.put(this.maxVelocity); this.scrollFactor = flixel_util_FlxDestroyUtil.put(this.scrollFactor); this.last = flixel_util_FlxDestroyUtil.put(this.last); this._point = flixel_util_FlxDestroyUtil.put(this._point); this._rect = flixel_util_FlxDestroyUtil.put(this._rect); } ,update: function(elapsed) { this.last.set(this.x,this.y); if(this.path != null && this.path.active) { this.path.update(elapsed); } if(this.moves) { this.updateMotion(elapsed); } this.wasTouching = this.touching; this.touching = 0; } ,updateMotion: function(elapsed) { var velocityDelta = 0.5 * (flixel_math_FlxVelocity.computeVelocity(this.angularVelocity,this.angularAcceleration,this.angularDrag,this.maxAngular,elapsed) - this.angularVelocity); this.angularVelocity += velocityDelta; var _g = this; _g.set_angle(_g.angle + this.angularVelocity * elapsed); this.angularVelocity += velocityDelta; velocityDelta = 0.5 * (flixel_math_FlxVelocity.computeVelocity(this.velocity.x,this.acceleration.x,this.drag.x,this.maxVelocity.x,elapsed) - this.velocity.x); var _g1 = this.velocity; _g1.set_x(_g1.x + velocityDelta); var delta = this.velocity.x * elapsed; var _g2 = this.velocity; _g2.set_x(_g2.x + velocityDelta); var _g3 = this; _g3.set_x(_g3.x + delta); velocityDelta = 0.5 * (flixel_math_FlxVelocity.computeVelocity(this.velocity.y,this.acceleration.y,this.drag.y,this.maxVelocity.y,elapsed) - this.velocity.y); var _g4 = this.velocity; _g4.set_y(_g4.y + velocityDelta); delta = this.velocity.y * elapsed; var _g5 = this.velocity; _g5.set_y(_g5.y + velocityDelta); var _g6 = this; _g6.set_y(_g6.y + delta); } ,draw: function() { } ,overlaps: function(ObjectOrGroup,InScreenSpace,Camera) { if(InScreenSpace == null) { InScreenSpace = false; } var group = flixel_group_FlxTypedGroup.resolveGroup(ObjectOrGroup); if(group != null) { return flixel_group_FlxTypedGroup.overlaps($bind(this,this.overlapsCallback),group,0,0,InScreenSpace,Camera); } if(ObjectOrGroup.flixelType == 3) { var tilemap = ObjectOrGroup; return tilemap.overlaps(this,InScreenSpace,Camera); } var object = ObjectOrGroup; if(!InScreenSpace) { if(object.x + object.get_width() > this.x && object.x < this.x + this.get_width() && object.y + object.get_height() > this.y) { return object.y < this.y + this.get_height(); } else { return false; } } if(Camera == null) { Camera = flixel_FlxG.camera; } var objectScreenPos = object.getScreenPosition(null,Camera); this.getScreenPosition(this._point,Camera); if(objectScreenPos.x + object.get_width() > this._point.x && objectScreenPos.x < this._point.x + this.get_width() && objectScreenPos.y + object.get_height() > this._point.y) { return objectScreenPos.y < this._point.y + this.get_height(); } else { return false; } } ,overlapsCallback: function(ObjectOrGroup,X,Y,InScreenSpace,Camera) { return this.overlaps(ObjectOrGroup,InScreenSpace,Camera); } ,overlapsAt: function(X,Y,ObjectOrGroup,InScreenSpace,Camera) { if(InScreenSpace == null) { InScreenSpace = false; } var group = flixel_group_FlxTypedGroup.resolveGroup(ObjectOrGroup); if(group != null) { return flixel_group_FlxTypedGroup.overlaps($bind(this,this.overlapsAtCallback),group,X,Y,InScreenSpace,Camera); } if(ObjectOrGroup.flixelType == 3) { var tilemap = ObjectOrGroup; return tilemap.overlapsAt(tilemap.x - (X - this.x),tilemap.y - (Y - this.y),this,InScreenSpace,Camera); } var object = ObjectOrGroup; if(!InScreenSpace) { if(object.x + object.get_width() > X && object.x < X + this.get_width() && object.y + object.get_height() > Y) { return object.y < Y + this.get_height(); } else { return false; } } if(Camera == null) { Camera = flixel_FlxG.camera; } var objectScreenPos = object.getScreenPosition(null,Camera); this.getScreenPosition(this._point,Camera); if(objectScreenPos.x + object.get_width() > this._point.x && objectScreenPos.x < this._point.x + this.get_width() && objectScreenPos.y + object.get_height() > this._point.y) { return objectScreenPos.y < this._point.y + this.get_height(); } else { return false; } } ,overlapsAtCallback: function(ObjectOrGroup,X,Y,InScreenSpace,Camera) { return this.overlapsAt(X,Y,ObjectOrGroup,InScreenSpace,Camera); } ,overlapsPoint: function(point,InScreenSpace,Camera) { if(InScreenSpace == null) { InScreenSpace = false; } if(!InScreenSpace) { if(point.x >= this.x && point.x < this.x + this.get_width() && point.y >= this.y) { return point.y < this.y + this.get_height(); } else { return false; } } if(Camera == null) { Camera = flixel_FlxG.camera; } var xPos = point.x - Camera.scroll.x; var yPos = point.y - Camera.scroll.y; this.getScreenPosition(this._point,Camera); if(point._weak) { point.put(); } if(xPos >= this._point.x && xPos < this._point.x + this.get_width() && yPos >= this._point.y) { return yPos < this._point.y + this.get_height(); } else { return false; } } ,inWorldBounds: function() { var tmp; var tmp1; if(this.x + this.get_width() > flixel_FlxG.worldBounds.x) { var _this = flixel_FlxG.worldBounds; tmp1 = this.x < _this.x + _this.width; } else { tmp1 = false; } if(tmp1) { tmp = this.y + this.get_height() > flixel_FlxG.worldBounds.y; } else { tmp = false; } if(tmp) { var _this1 = flixel_FlxG.worldBounds; return this.y < _this1.y + _this1.height; } else { return false; } } ,getScreenPosition: function(point,Camera) { if(point == null) { var point1 = flixel_math_FlxPoint._pool.get().set(0,0); point1._inPool = false; point = point1; } if(Camera == null) { Camera = flixel_FlxG.camera; } point.set(this.x,this.y); if(this.pixelPerfectPosition) { point.set_x(Math.floor(point.x)); point.set_y(Math.floor(point.y)); } var Y = Camera.scroll.y * this.scrollFactor.y; var _g = point; _g.set_x(_g.x - Camera.scroll.x * this.scrollFactor.x); var _g1 = point; _g1.set_y(_g1.y - Y); return point; } ,getPosition: function(point) { if(point == null) { var point1 = flixel_math_FlxPoint._pool.get().set(0,0); point1._inPool = false; point = point1; } return point.set(this.x,this.y); } ,getMidpoint: function(point) { if(point == null) { var point1 = flixel_math_FlxPoint._pool.get().set(0,0); point1._inPool = false; point = point1; } return point.set(this.x + this.get_width() * 0.5,this.y + this.get_height() * 0.5); } ,getHitbox: function(rect) { if(rect == null) { var _this = flixel_math_FlxRect._pool.get(); _this.x = 0; _this.y = 0; _this.width = 0; _this.height = 0; var rect1 = _this; rect1._inPool = false; rect = rect1; } var X = this.x; var Y = this.y; var Width = this.get_width(); var Height = this.get_height(); rect.x = X; rect.y = Y; rect.width = Width; rect.height = Height; return rect; } ,reset: function(X,Y) { this.touching = 0; this.wasTouching = 0; this.setPosition(X,Y); this.last.set(this.x,this.y); this.velocity.set(); this.revive(); } ,isOnScreen: function(Camera) { if(Camera == null) { Camera = flixel_FlxG.camera; } this.getScreenPosition(this._point,Camera); var point = this._point; var width = this.get_width(); var height = this.get_height(); if(point.x + width > Camera.viewOffsetX && point.x < Camera.viewOffsetWidth && point.y + height > Camera.viewOffsetY) { return point.y < Camera.viewOffsetHeight; } else { return false; } } ,isPixelPerfectRender: function(Camera) { if(Camera == null) { Camera = flixel_FlxG.camera; } if(this.pixelPerfectRender == null) { return Camera.pixelPerfectRender; } else { return this.pixelPerfectRender; } } ,isTouching: function(Direction) { return (this.touching & Direction) > 0; } ,justTouched: function(Direction) { if((this.touching & Direction) > 0) { return (this.wasTouching & Direction) <= 0; } else { return false; } } ,hurt: function(Damage) { this.health -= Damage; if(this.health <= 0) { this.kill(); } } ,screenCenter: function(axes) { if(axes == null) { axes = flixel_util_FlxAxes.XY; } if(axes != flixel_util_FlxAxes.Y) { this.set_x(flixel_FlxG.width / 2 - this.get_width() / 2); } if(axes != flixel_util_FlxAxes.X) { this.set_y(flixel_FlxG.height / 2 - this.get_height() / 2); } return this; } ,setPosition: function(X,Y) { if(Y == null) { Y = 0; } if(X == null) { X = 0; } this.set_x(X); this.set_y(Y); } ,setSize: function(Width,Height) { this.set_width(Width); this.set_height(Height); } ,getBoundingBox: function(camera) { this.getScreenPosition(this._point,camera); var _this = this._rect; var X = this._point.x; var Y = this._point.y; var Width = this.get_width(); var Height = this.get_height(); _this.x = X; _this.y = Y; _this.width = Width; _this.height = Height; this._rect = camera.transformRect(this._rect); if(this.isPixelPerfectRender(camera)) { var _this1 = this._rect; _this1.x = Math.floor(_this1.x); _this1.y = Math.floor(_this1.y); _this1.width = Math.floor(_this1.width); _this1.height = Math.floor(_this1.height); } return this._rect; } ,toString: function() { var value = this.x; var _this = flixel_util_LabelValuePair._pool.get(); _this.label = "x"; _this.value = value; var value1 = this.y; var _this1 = flixel_util_LabelValuePair._pool.get(); _this1.label = "y"; _this1.value = value1; var value2 = this.get_width(); var _this2 = flixel_util_LabelValuePair._pool.get(); _this2.label = "w"; _this2.value = value2; var value3 = this.get_height(); var _this3 = flixel_util_LabelValuePair._pool.get(); _this3.label = "h"; _this3.value = value3; var value4 = this.visible; var _this4 = flixel_util_LabelValuePair._pool.get(); _this4.label = "visible"; _this4.value = value4; var value5 = this.velocity; var _this5 = flixel_util_LabelValuePair._pool.get(); _this5.label = "velocity"; _this5.value = value5; return flixel_util_FlxStringUtil.getDebugString([_this,_this1,_this2,_this3,_this4,_this5]); } ,set_x: function(NewX) { return this.x = NewX; } ,set_y: function(NewY) { return this.y = NewY; } ,set_width: function(Width) { return this.width = Width; } ,set_height: function(Height) { return this.height = Height; } ,get_width: function() { return this.width; } ,get_height: function() { return this.height; } ,get_solid: function() { return (this.allowCollisions & 4369) > 0; } ,set_solid: function(Solid) { this.set_allowCollisions(Solid ? 4369 : 0); return Solid; } ,set_angle: function(Value) { return this.angle = Value; } ,set_moves: function(Value) { return this.moves = Value; } ,set_immovable: function(Value) { return this.immovable = Value; } ,set_pixelPerfectRender: function(Value) { return this.pixelPerfectRender = Value; } ,set_allowCollisions: function(Value) { return this.allowCollisions = Value; } ,set_path: function(path) { if(this.path == path) { return path; } if(this.path != null) { this.path.object = null; } if(path != null) { path.object = this; } return this.path = path; } ,__class__: flixel_FlxObject ,__properties__: $extend(flixel_FlxBasic.prototype.__properties__,{set_path:"set_path",set_allowCollisions:"set_allowCollisions",set_solid:"set_solid",get_solid:"get_solid",set_immovable:"set_immovable",set_moves:"set_moves",set_angle:"set_angle",set_pixelPerfectRender:"set_pixelPerfectRender",set_height:"set_height",get_height:"get_height",set_width:"set_width",get_width:"get_width",set_y:"set_y",set_x:"set_x"}) }); var flixel_FlxSprite = function(X,Y,SimpleGraphic) { if(Y == null) { Y = 0; } if(X == null) { X = 0; } this._facingFlip = new haxe_ds_IntMap(); this._angleChanged = true; this._cosAngle = 1; this._sinAngle = 0; this._facingVerticalMult = 1; this._facingHorizontalMult = 1; this.useColorTransform = false; this.color = 16777215; this.flipY = false; this.flipX = false; this.facing = 16; this.alpha = 1.0; this.bakedRotationAngle = 0; this.numFrames = 0; this.frameHeight = 0; this.frameWidth = 0; this.dirty = true; this.antialiasing = false; this.useFramePixels = true; flixel_FlxObject.call(this,X,Y); this.set_useFramePixels(flixel_FlxG.renderBlit); if(SimpleGraphic != null) { this.loadGraphic(SimpleGraphic); } }; $hxClasses["flixel.FlxSprite"] = flixel_FlxSprite; flixel_FlxSprite.__name__ = ["flixel","FlxSprite"]; flixel_FlxSprite.__super__ = flixel_FlxObject; flixel_FlxSprite.prototype = $extend(flixel_FlxObject.prototype,{ animation: null ,framePixels: null ,useFramePixels: null ,antialiasing: null ,dirty: null ,frame: null ,frameWidth: null ,frameHeight: null ,numFrames: null ,frames: null ,graphic: null ,bakedRotationAngle: null ,alpha: null ,facing: null ,flipX: null ,flipY: null ,origin: null ,offset: null ,scale: null ,blend: null ,color: null ,colorTransform: null ,useColorTransform: null ,clipRect: null ,shader: null ,_frame: null ,_frameGraphic: null ,_facingHorizontalMult: null ,_facingVerticalMult: null ,_flashPoint: null ,_flashRect: null ,_flashRect2: null ,_flashPointZero: null ,_matrix: null ,_halfSize: null ,_sinAngle: null ,_cosAngle: null ,_angleChanged: null ,_facingFlip: null ,initVars: function() { flixel_FlxObject.prototype.initVars.call(this); this.animation = new flixel_animation_FlxAnimationController(this); this._flashPoint = new openfl_geom_Point(); this._flashRect = new openfl_geom_Rectangle(); this._flashRect2 = new openfl_geom_Rectangle(); this._flashPointZero = new openfl_geom_Point(); var point = flixel_math_FlxPoint._pool.get().set(0,0); point._inPool = false; this.offset = point; var point1 = flixel_math_FlxPoint._pool.get().set(0,0); point1._inPool = false; this.origin = point1; var point2 = flixel_math_FlxPoint._pool.get().set(1,1); point2._inPool = false; this.scale = point2; var point3 = flixel_math_FlxPoint._pool.get().set(0,0); point3._inPool = false; this._halfSize = point3; this._matrix = new flixel_math_FlxMatrix(); this.colorTransform = new openfl_geom_ColorTransform(); } ,destroy: function() { flixel_FlxObject.prototype.destroy.call(this); this.animation = flixel_util_FlxDestroyUtil.destroy(this.animation); this.offset = flixel_util_FlxDestroyUtil.put(this.offset); this.origin = flixel_util_FlxDestroyUtil.put(this.origin); this.scale = flixel_util_FlxDestroyUtil.put(this.scale); this._halfSize = flixel_util_FlxDestroyUtil.put(this._halfSize); this.framePixels = flixel_util_FlxDestroyUtil.dispose(this.framePixels); this._flashPoint = null; this._flashRect = null; this._flashRect2 = null; this._flashPointZero = null; this._matrix = null; this.colorTransform = null; this.set_blend(null); this.set_frames(null); this.set_graphic(null); this._frame = flixel_util_FlxDestroyUtil.destroy(this._frame); this._frameGraphic = flixel_util_FlxDestroyUtil.destroy(this._frameGraphic); this.shader = null; } ,clone: function() { return new flixel_FlxSprite().loadGraphicFromSprite(this); } ,loadGraphicFromSprite: function(Sprite) { this.set_frames(Sprite.frames); this.bakedRotationAngle = Sprite.bakedRotationAngle; if(this.bakedRotationAngle > 0) { this.set_width(Sprite.get_width()); this.set_height(Sprite.get_height()); this.centerOffsets(); } this.set_antialiasing(Sprite.antialiasing); this.animation.copyFrom(Sprite.animation); this.graphicLoaded(); this.set_clipRect(Sprite.clipRect); return this; } ,loadGraphic: function(Graphic,Animated,Width,Height,Unique,Key) { if(Unique == null) { Unique = false; } if(Height == null) { Height = 0; } if(Width == null) { Width = 0; } if(Animated == null) { Animated = false; } var graph = flixel_FlxG.bitmap.add(Graphic,Unique,Key); if(graph == null) { return this; } if(Width == 0) { if(Animated) { Width = graph.height; } else { Width = graph.width; } if(Width > graph.width) { Width = graph.width; } else { Width = Width; } } if(Height == 0) { if(Animated) { Height = Width; } else { Height = graph.height; } if(Height > graph.height) { Height = graph.height; } else { Height = Height; } } if(Animated) { var point = flixel_math_FlxPoint._pool.get().set(Width,Height); point._inPool = false; this.set_frames(flixel_graphics_frames_FlxTileFrames.fromGraphic(graph,point)); } else { this.set_frames(graph.get_imageFrame()); } return this; } ,loadRotatedGraphic: function(Graphic,Rotations,Frame,AntiAliasing,AutoBuffer,Key) { if(AutoBuffer == null) { AutoBuffer = false; } if(AntiAliasing == null) { AntiAliasing = false; } if(Frame == null) { Frame = -1; } if(Rotations == null) { Rotations = 16; } var brushGraphic = flixel_FlxG.bitmap.add(Graphic,false,Key); if(brushGraphic == null) { return this; } var brush = brushGraphic.bitmap; var key = brushGraphic.key; if(Frame >= 0) { var brushSize = brush.height; var framesNum = brush.width / brushSize | 0; if(framesNum > Frame) { Frame = Frame; } else { Frame %= framesNum; } key += ":" + Frame; var full = brush; brush = new openfl_display_BitmapData(brushSize,brushSize,true,0); this._flashRect.setTo(Frame * brushSize,0,brushSize,brushSize); brush.copyPixels(full,this._flashRect,this._flashPointZero); } key += ":" + Rotations + ":" + (AutoBuffer == null ? "null" : "" + AutoBuffer); var tempGraph = flixel_FlxG.bitmap._cache.get(key); if(tempGraph == null) { var bitmap = flixel_util_FlxBitmapDataUtil.generateRotations(brush,Rotations,AntiAliasing,AutoBuffer); tempGraph = flixel_graphics_FlxGraphic.fromBitmapData(bitmap,false,key); } var max = brush.height > brush.width ? brush.height : brush.width; if(AutoBuffer) { max = max * 1.5 | 0; } else { max = max; } var point = flixel_math_FlxPoint._pool.get().set(max,max); point._inPool = false; this.set_frames(flixel_graphics_frames_FlxTileFrames.fromGraphic(tempGraph,point)); if(AutoBuffer) { this.set_width(brush.width); this.set_height(brush.height); this.centerOffsets(); } this.bakedRotationAngle = 360 / Rotations; this.animation.createPrerotated(); return this; } ,loadRotatedFrame: function(Frame,Rotations,AntiAliasing,AutoBuffer) { if(AutoBuffer == null) { AutoBuffer = false; } if(AntiAliasing == null) { AntiAliasing = false; } if(Rotations == null) { Rotations = 16; } var key = Frame.parent.key; if(Frame.name != null) { key += ":" + Frame.name; } else { var _this = Frame.frame; var value = _this.x; var _this1 = flixel_util_LabelValuePair._pool.get(); _this1.label = "x"; _this1.value = value; var value1 = _this.y; var _this2 = flixel_util_LabelValuePair._pool.get(); _this2.label = "y"; _this2.value = value1; var value2 = _this.width; var _this3 = flixel_util_LabelValuePair._pool.get(); _this3.label = "w"; _this3.value = value2; var value3 = _this.height; var _this4 = flixel_util_LabelValuePair._pool.get(); _this4.label = "h"; _this4.value = value3; key += ":" + flixel_util_FlxStringUtil.getDebugString([_this1,_this2,_this3,_this4]); } var graphic = flixel_FlxG.bitmap._cache.get(key); if(graphic == null) { graphic = flixel_graphics_FlxGraphic.fromBitmapData(Frame.paint(),false,key); } return this.loadRotatedGraphic(graphic,Rotations,-1,AntiAliasing,AutoBuffer); } ,makeGraphic: function(Width,Height,Color,Unique,Key) { if(Unique == null) { Unique = false; } if(Color == null) { Color = -1; } var graph = flixel_FlxG.bitmap.create(Width,Height,Color,Unique,Key); this.set_frames(graph.get_imageFrame()); return this; } ,graphicLoaded: function() { } ,resetSize: function() { this._flashRect.x = 0; this._flashRect.y = 0; this._flashRect.width = this.frameWidth; this._flashRect.height = this.frameHeight; } ,resetFrameSize: function() { if(this.frame != null) { this.frameWidth = this.frame.sourceSize.x | 0; this.frameHeight = this.frame.sourceSize.y | 0; } this._halfSize.set(0.5 * this.frameWidth,0.5 * this.frameHeight); this._flashRect.x = 0; this._flashRect.y = 0; this._flashRect.width = this.frameWidth; this._flashRect.height = this.frameHeight; } ,resetSizeFromFrame: function() { this.set_width(this.frameWidth); this.set_height(this.frameHeight); } ,resetFrame: function() { this.set_frame(this.frame); } ,setGraphicSize: function(Width,Height) { if(Height == null) { Height = 0; } if(Width == null) { Width = 0; } if(Width <= 0 && Height <= 0) { return; } var newScaleX = Width / this.frameWidth; var newScaleY = Height / this.frameHeight; this.scale.set(newScaleX,newScaleY); if(Width <= 0) { this.scale.set_x(newScaleY); } else if(Height <= 0) { this.scale.set_y(newScaleX); } } ,updateHitbox: function() { this.set_width(Math.abs(this.scale.x) * this.frameWidth); this.set_height(Math.abs(this.scale.y) * this.frameHeight); this.offset.set(-0.5 * (this.get_width() - this.frameWidth),-0.5 * (this.get_height() - this.frameHeight)); this.origin.set(this.frameWidth * 0.5,this.frameHeight * 0.5); } ,resetHelpers: function() { if(this.frame != null) { this.frameWidth = this.frame.sourceSize.x | 0; this.frameHeight = this.frame.sourceSize.y | 0; } this._halfSize.set(0.5 * this.frameWidth,0.5 * this.frameHeight); this._flashRect.x = 0; this._flashRect.y = 0; this._flashRect.width = this.frameWidth; this._flashRect.height = this.frameHeight; this.set_width(this.frameWidth); this.set_height(this.frameHeight); this._flashRect2.x = 0; this._flashRect2.y = 0; if(this.graphic != null) { this._flashRect2.width = this.graphic.width; this._flashRect2.height = this.graphic.height; } this.origin.set(this.frameWidth * 0.5,this.frameHeight * 0.5); if(flixel_FlxG.renderBlit) { this.dirty = true; this.updateFramePixels(); } } ,update: function(elapsed) { flixel_FlxObject.prototype.update.call(this,elapsed); this.updateAnimation(elapsed); } ,updateAnimation: function(elapsed) { this.animation.update(elapsed); } ,checkEmptyFrame: function() { if(this._frame == null) { this.loadGraphic("flixel/images/logo/default.png"); } } ,draw: function() { this.checkEmptyFrame(); if(this.alpha == 0 || this._frame.type == 2) { return; } if(this.dirty) { this.calcFrame(this.useFramePixels); } var _g = 0; var _g1 = this.get_cameras(); while(_g < _g1.length) { var camera = _g1[_g]; ++_g; if(!camera.visible || !camera.exists || !this.isOnScreen(camera)) { continue; } this.getScreenPosition(this._point,camera).subtractPoint(this.offset); if(this.isSimpleRender(camera)) { this.drawSimple(camera); } else { this.drawComplex(camera); } } } ,drawSimple: function(camera) { if(this.isPixelPerfectRender(camera)) { var _this = this._point; _this.set_x(Math.floor(_this.x)); _this.set_y(Math.floor(_this.y)); } var _this1 = this._point; var FlashPoint = this._flashPoint; if(FlashPoint == null) { FlashPoint = new openfl_geom_Point(); } FlashPoint.x = _this1.x; FlashPoint.y = _this1.y; camera.copyPixels(this._frame,this.framePixels,this._flashRect,this._flashPoint,this.colorTransform,this.blend,this.antialiasing); } ,drawComplex: function(camera) { var doFlipX = this.flipX != this._frame.flipX; var doFlipY = this.flipY != this._frame.flipY; this._frame.prepareMatrix(this._matrix,0,this.animation._curAnim != null ? doFlipX != this.animation._curAnim.flipX : doFlipX,this.animation._curAnim != null ? doFlipY != this.animation._curAnim.flipY : doFlipY); this._matrix.translate(-this.origin.x,-this.origin.y); this._matrix.scale(this.scale.x,this.scale.y); if(this.bakedRotationAngle <= 0) { if(this._angleChanged) { var radians = this.angle * (Math.PI / 180); this._sinAngle = Math.sin(radians); this._cosAngle = Math.cos(radians); this._angleChanged = false; } if(this.angle != 0) { var _this = this._matrix; var cos = this._cosAngle; var sin = this._sinAngle; var a1 = _this.a * cos - _this.b * sin; _this.b = _this.a * sin + _this.b * cos; _this.a = a1; var c1 = _this.c * cos - _this.d * sin; _this.d = _this.c * sin + _this.d * cos; _this.c = c1; var tx1 = _this.tx * cos - _this.ty * sin; _this.ty = _this.tx * sin + _this.ty * cos; _this.tx = tx1; } } var _this1 = this._point; var Y = this.origin.y; var _g = _this1; _g.set_x(_g.x + this.origin.x); var _g1 = _this1; _g1.set_y(_g1.y + Y); this._matrix.translate(this._point.x,this._point.y); if(this.isPixelPerfectRender(camera)) { this._matrix.tx = Math.floor(this._matrix.tx); this._matrix.ty = Math.floor(this._matrix.ty); } camera.drawPixels(this._frame,this.framePixels,this._matrix,this.colorTransform,this.blend,this.antialiasing,this.shader); } ,stamp: function(Brush,X,Y) { if(Y == null) { Y = 0; } if(X == null) { X = 0; } Brush.drawFrame(); if(this.graphic == null || Brush.graphic == null) { throw new js__$Boot_HaxeError("Cannot stamp to or from a FlxSprite with no graphics."); } var bitmapData = Brush.framePixels; if(this.isSimpleRenderBlit()) { this._flashPoint.x = X + this.frame.frame.x; this._flashPoint.y = Y + this.frame.frame.y; this._flashRect2.width = bitmapData.width; this._flashRect2.height = bitmapData.height; this.graphic.bitmap.copyPixels(bitmapData,this._flashRect2,this._flashPoint,null,null,true); this._flashRect2.width = this.graphic.bitmap.width; this._flashRect2.height = this.graphic.bitmap.height; } else { this._matrix.identity(); this._matrix.translate(-Brush.origin.x,-Brush.origin.y); this._matrix.scale(Brush.scale.x,Brush.scale.y); if(Brush.angle != 0) { this._matrix.rotate(Brush.angle * (Math.PI / 180)); } this._matrix.translate(X + this.frame.frame.x + Brush.origin.x,Y + this.frame.frame.y + Brush.origin.y); var brushBlend = Brush.blend; this.graphic.bitmap.draw(bitmapData,this._matrix,null,brushBlend,null,Brush.antialiasing); } if(flixel_FlxG.renderBlit) { this.dirty = true; this.calcFrame(); } } ,drawFrame: function(Force) { if(Force == null) { Force = false; } if(flixel_FlxG.renderBlit) { if(Force || this.dirty) { this.dirty = true; this.calcFrame(); } } else { this.dirty = true; this.calcFrame(true); } } ,centerOffsets: function(AdjustPosition) { if(AdjustPosition == null) { AdjustPosition = false; } this.offset.set_x((this.frameWidth - this.get_width()) * 0.5); this.offset.set_y((this.frameHeight - this.get_height()) * 0.5); if(AdjustPosition) { var _g = this; _g.set_x(_g.x + this.offset.x); var _g1 = this; _g1.set_y(_g1.y + this.offset.y); } } ,centerOrigin: function() { this.origin.set(this.frameWidth * 0.5,this.frameHeight * 0.5); } ,replaceColor: function(Color,NewColor,FetchPositions) { if(FetchPositions == null) { FetchPositions = false; } var positions = flixel_util_FlxBitmapDataUtil.replaceColor(this.graphic.bitmap,Color,NewColor,FetchPositions); if(positions != null) { this.dirty = true; } return positions; } ,setColorTransform: function(redMultiplier,greenMultiplier,blueMultiplier,alphaMultiplier,redOffset,greenOffset,blueOffset,alphaOffset) { if(alphaOffset == null) { alphaOffset = 0; } if(blueOffset == null) { blueOffset = 0; } if(greenOffset == null) { greenOffset = 0; } if(redOffset == null) { redOffset = 0; } if(alphaMultiplier == null) { alphaMultiplier = 1.0; } if(blueMultiplier == null) { blueMultiplier = 1.0; } if(greenMultiplier == null) { greenMultiplier = 1.0; } if(redMultiplier == null) { redMultiplier = 1.0; } var color = flixel_util__$FlxColor_FlxColor_$Impl_$._new(); var Value = Math.round(redMultiplier * 255); color &= -16711681; color |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 16; var Value1 = Math.round(greenMultiplier * 255); color &= -65281; color |= (Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1) << 8; var Value2 = Math.round(blueMultiplier * 255); color &= -256; color |= Value2 > 255 ? 255 : Value2 < 0 ? 0 : Value2; var Value3 = Math.round(255); color &= 16777215; color |= (Value3 > 255 ? 255 : Value3 < 0 ? 0 : Value3) << 24; this.set_color(color & 16777215); this.set_alpha(alphaMultiplier); flixel_util_FlxColorTransformUtil.setMultipliers(this.colorTransform,redMultiplier,greenMultiplier,blueMultiplier,alphaMultiplier); flixel_util_FlxColorTransformUtil.setOffsets(this.colorTransform,redOffset,greenOffset,blueOffset,alphaOffset); this.useColorTransform = this.alpha != 1 || this.color != 16777215 || flixel_util_FlxColorTransformUtil.hasRGBOffsets(this.colorTransform); this.dirty = true; } ,updateColorTransform: function() { if(this.colorTransform == null) { this.colorTransform = new openfl_geom_ColorTransform(); } this.useColorTransform = this.alpha != 1 || this.color != 16777215; if(this.useColorTransform) { flixel_util_FlxColorTransformUtil.setMultipliers(this.colorTransform,(this.color >> 16 & 255) / 255,(this.color >> 8 & 255) / 255,(this.color & 255) / 255,this.alpha); } else { flixel_util_FlxColorTransformUtil.setMultipliers(this.colorTransform,1,1,1,1); } this.dirty = true; } ,pixelsOverlapPoint: function(point,Mask,Camera) { if(Mask == null) { Mask = 255; } if(Camera == null) { Camera = flixel_FlxG.camera; } this.getScreenPosition(this._point,Camera); this._point.subtractPoint(this.offset); this._flashPoint.x = point.x - Camera.scroll.x - this._point.x; this._flashPoint.y = point.y - Camera.scroll.y - this._point.y; if(point._weak) { point.put(); } if(this._flashPoint.x < 0 || this._flashPoint.x > this.frameWidth || this._flashPoint.y < 0 || this._flashPoint.y > this.frameHeight) { return false; } else { var frameData = this.updateFramePixels(); var pixelColor = frameData.getPixel32(this._flashPoint.x | 0,this._flashPoint.y | 0); return (pixelColor >> 24 & 255) * this.alpha >= Mask; } } ,calcFrame: function(RunOnCpp) { if(RunOnCpp == null) { RunOnCpp = false; } this.checkEmptyFrame(); if(flixel_FlxG.renderTile && !RunOnCpp) { return; } this.updateFramePixels(); } ,updateFramePixels: function() { if(this._frame == null || !this.dirty) { return this.framePixels; } if(flixel_FlxG.renderTile && this._frameGraphic != null) { this.dirty = false; return this.framePixels; } var doFlipX = this.flipX != this._frame.flipX; var doFlipX1 = this.animation._curAnim != null ? doFlipX != this.animation._curAnim.flipX : doFlipX; var doFlipY = this.flipY != this._frame.flipY; var doFlipY1 = this.animation._curAnim != null ? doFlipY != this.animation._curAnim.flipY : doFlipY; if(!doFlipX1 && !doFlipY1 && this._frame.type == 0) { this.framePixels = this._frame.paint(this.framePixels,this._flashPointZero,false,true); } else { this.framePixels = this._frame.paintRotatedAndFlipped(this.framePixels,this._flashPointZero,0,doFlipX1,doFlipY1,false,true); } if(this.useColorTransform) { this.framePixels.colorTransform(this._flashRect,this.colorTransform); } if(flixel_FlxG.renderTile && this.useFramePixels) { this._frameGraphic = flixel_util_FlxDestroyUtil.destroy(this._frameGraphic); this._frameGraphic = flixel_graphics_FlxGraphic.fromBitmapData(this.framePixels,false,null,false); this._frame = this._frameGraphic.get_imageFrame().get_frame().copyTo(this._frame); } this.dirty = false; return this.framePixels; } ,getGraphicMidpoint: function(point) { if(point == null) { var point1 = flixel_math_FlxPoint._pool.get().set(0,0); point1._inPool = false; point = point1; } return point.set(this.x + this.frameWidth * 0.5,this.y + this.frameHeight * 0.5); } ,isOnScreen: function(Camera) { if(Camera == null) { Camera = flixel_FlxG.camera; } var minX = this.x - this.offset.x - Camera.scroll.x * this.scrollFactor.x; var minY = this.y - this.offset.y - Camera.scroll.y * this.scrollFactor.y; if((this.angle == 0 || this.bakedRotationAngle > 0) && this.scale.x == 1 && this.scale.y == 1) { this._point.set(minX,minY); var point = this._point; if(point.x + this.frameWidth > Camera.viewOffsetX && point.x < Camera.viewOffsetWidth && point.y + this.frameHeight > Camera.viewOffsetY) { return point.y < Camera.viewOffsetHeight; } else { return false; } } var radiusX = this._halfSize.x; var radiusY = this._halfSize.y; var ox = this.origin.x; if(ox != radiusX) { var x1 = Math.abs(ox); var x2 = Math.abs(this.frameWidth - ox); radiusX = Math.max(x2,x1); } var oy = this.origin.y; if(oy != radiusY) { var y1 = Math.abs(oy); var y2 = Math.abs(this.frameHeight - oy); radiusY = Math.max(y2,y1); } radiusX *= Math.abs(this.scale.x); radiusY *= Math.abs(this.scale.y); var radius = Math.max(radiusX,radiusY); radius *= 1.41421356237; minX += ox - radius; minY += oy - radius; var doubleRadius = 2 * radius; this._point.set(minX,minY); var point1 = this._point; if(point1.x + doubleRadius > Camera.viewOffsetX && point1.x < Camera.viewOffsetWidth && point1.y + doubleRadius > Camera.viewOffsetY) { return point1.y < Camera.viewOffsetHeight; } else { return false; } } ,isSimpleRender: function(camera) { if(flixel_FlxG.renderTile) { return false; } return this.isSimpleRenderBlit(camera); } ,isSimpleRenderBlit: function(camera) { var result = (this.angle == 0 || this.bakedRotationAngle > 0) && this.scale.x == 1 && this.scale.y == 1 && this.blend == null; if(result) { if(camera != null) { result = this.isPixelPerfectRender(camera); } else { result = this.pixelPerfectRender; } } else { result = false; } return result; } ,setFacingFlip: function(Direction,FlipX,FlipY) { this._facingFlip.h[Direction] = { x : FlipX, y : FlipY}; } ,setFrames: function(Frames,saveAnimations) { if(saveAnimations == null) { saveAnimations = true; } if(saveAnimations) { var animations = this.animation._animations; var reverse = false; var index = 0; var frameIndex = this.animation.frameIndex; var currName = null; if(this.animation._curAnim != null) { reverse = this.animation._curAnim.reversed; index = this.animation._curAnim.curFrame; currName = this.animation._curAnim.name; } this.animation._animations = null; this.set_frames(Frames); this.set_frame(this.frames.frames[frameIndex]); this.animation._animations = animations; if(currName != null) { this.animation.play(currName,false,reverse,index); } } else { this.set_frames(Frames); } return this; } ,get_pixels: function() { if(this.graphic == null) { return null; } else { return this.graphic.bitmap; } } ,set_pixels: function(Pixels) { var key = flixel_FlxG.bitmap.findKeyForBitmap(Pixels); if(key == null) { key = flixel_FlxG.bitmap.getUniqueKey(); this.set_graphic(flixel_FlxG.bitmap.add(Pixels,false,key)); } else { this.set_graphic(flixel_FlxG.bitmap._cache.get(key)); } this.set_frames(this.graphic.get_imageFrame()); return Pixels; } ,set_frame: function(Value) { this.frame = Value; if(this.frame != null) { if(this.frame != null) { this.frameWidth = this.frame.sourceSize.x | 0; this.frameHeight = this.frame.sourceSize.y | 0; } this._halfSize.set(0.5 * this.frameWidth,0.5 * this.frameHeight); this._flashRect.x = 0; this._flashRect.y = 0; this._flashRect.width = this.frameWidth; this._flashRect.height = this.frameHeight; this.dirty = true; } else if(this.frames != null && this.frames.frames != null && this.numFrames > 0) { this.frame = this.frames.frames[0]; this.dirty = true; } else { return null; } if(flixel_FlxG.renderTile) { this._frameGraphic = flixel_util_FlxDestroyUtil.destroy(this._frameGraphic); } if(this.clipRect != null) { this._frame = this.frame.clipTo(this.clipRect,this._frame); } else { this._frame = this.frame.copyTo(this._frame); } return this.frame; } ,set_facing: function(Direction) { var flip = this._facingFlip.h[Direction]; if(flip != null) { this.set_flipX(flip.x); this.set_flipY(flip.y); } return this.facing = Direction; } ,set_alpha: function(Alpha) { if(this.alpha == Alpha) { return Alpha; } var lowerBound = Alpha < 0 ? 0 : Alpha; this.alpha = lowerBound > 1 ? 1 : lowerBound; this.updateColorTransform(); return this.alpha; } ,set_color: function(Color) { if(this.color == Color) { return Color; } this.color = Color; this.updateColorTransform(); return this.color; } ,set_angle: function(Value) { var newAngle = this.angle != Value; var ret = flixel_FlxObject.prototype.set_angle.call(this,Value); if(newAngle) { this._angleChanged = true; this.animation.update(0); } return ret; } ,updateTrig: function() { if(this._angleChanged) { var radians = this.angle * (Math.PI / 180); this._sinAngle = Math.sin(radians); this._cosAngle = Math.cos(radians); this._angleChanged = false; } } ,set_blend: function(Value) { return this.blend = Value; } ,set_graphic: function(Value) { var oldGraphic = this.graphic; if(this.graphic != Value && Value != null) { var _g = Value; var _g1 = _g.get_useCount(); _g.set_useCount(_g1 + 1); } if(oldGraphic != null && oldGraphic != Value) { var _g2 = oldGraphic; var _g11 = _g2.get_useCount(); _g2.set_useCount(_g11 - 1); } return this.graphic = Value; } ,set_clipRect: function(rect) { if(rect != null) { rect.x = Math.round(rect.x); rect.y = Math.round(rect.y); rect.width = Math.round(rect.width); rect.height = Math.round(rect.height); this.clipRect = rect; } else { this.clipRect = null; } if(this.frames != null) { this.set_frame(this.frames.frames[this.animation.frameIndex]); } return rect; } ,set_frames: function(Frames) { if(this.animation != null) { this.animation.destroyAnimations(); } if(Frames != null) { this.set_graphic(Frames.parent); this.frames = Frames; this.set_frame(this.frames.frames[0]); this.numFrames = this.frames.frames.length; this.resetHelpers(); this.bakedRotationAngle = 0; this.animation.set_frameIndex(0); this.graphicLoaded(); } else { this.frames = null; this.set_frame(null); this.set_graphic(null); } return Frames; } ,set_flipX: function(Value) { if(flixel_FlxG.renderTile) { this._facingHorizontalMult = Value ? -1 : 1; } this.dirty = this.flipX != Value || this.dirty; return this.flipX = Value; } ,set_flipY: function(Value) { if(flixel_FlxG.renderTile) { this._facingVerticalMult = Value ? -1 : 1; } this.dirty = this.flipY != Value || this.dirty; return this.flipY = Value; } ,set_antialiasing: function(value) { return this.antialiasing = value; } ,set_useFramePixels: function(value) { if(flixel_FlxG.renderTile) { if(value != this.useFramePixels) { this.useFramePixels = value; this.set_frame(this.frame); if(value) { this.updateFramePixels(); } } return value; } else { this.useFramePixels = true; return true; } } ,checkFlipX: function() { var doFlipX = this.flipX != this._frame.flipX; if(this.animation._curAnim != null) { return doFlipX != this.animation._curAnim.flipX; } return doFlipX; } ,checkFlipY: function() { var doFlipY = this.flipY != this._frame.flipY; if(this.animation._curAnim != null) { return doFlipY != this.animation._curAnim.flipY; } return doFlipY; } ,__class__: flixel_FlxSprite ,__properties__: $extend(flixel_FlxObject.prototype.__properties__,{set_clipRect:"set_clipRect",set_color:"set_color",set_blend:"set_blend",set_flipY:"set_flipY",set_flipX:"set_flipX",set_facing:"set_facing",set_alpha:"set_alpha",set_graphic:"set_graphic",set_frames:"set_frames",set_frame:"set_frame",set_pixels:"set_pixels",get_pixels:"get_pixels",set_antialiasing:"set_antialiasing",set_useFramePixels:"set_useFramePixels"}) }); var flixel_IFlxSprite = function() { }; $hxClasses["flixel.IFlxSprite"] = flixel_IFlxSprite; flixel_IFlxSprite.__name__ = ["flixel","IFlxSprite"]; flixel_IFlxSprite.__interfaces__ = [flixel_IFlxBasic]; flixel_IFlxSprite.prototype = { set_immovable: null ,set_moves: null ,set_facing: null ,set_angle: null ,set_alpha: null ,set_y: null ,set_x: null ,x: null ,y: null ,alpha: null ,angle: null ,facing: null ,moves: null ,immovable: null ,offset: null ,origin: null ,scale: null ,velocity: null ,maxVelocity: null ,acceleration: null ,drag: null ,scrollFactor: null ,reset: null ,setPosition: null ,__class__: flixel_IFlxSprite ,__properties__: {set_immovable:"set_immovable",set_moves:"set_moves",set_facing:"set_facing",set_angle:"set_angle",set_alpha:"set_alpha",set_y:"set_y",set_x:"set_x"} }; var flixel_FlxSubState = function(BGColor) { if(BGColor == null) { BGColor = 0; } this._created = false; flixel_FlxState.call(this); this.closeCallback = null; this.openCallback = null; if(flixel_FlxG.renderTile) { this._bgSprite = new flixel_system_FlxBGSprite(); } this.set_bgColor(BGColor); }; $hxClasses["flixel.FlxSubState"] = flixel_FlxSubState; flixel_FlxSubState.__name__ = ["flixel","FlxSubState"]; flixel_FlxSubState.__super__ = flixel_FlxState; flixel_FlxSubState.prototype = $extend(flixel_FlxState.prototype,{ openCallback: null ,closeCallback: null ,_bgSprite: null ,_parentState: null ,_bgColor: null ,_created: null ,draw: function() { if(flixel_FlxG.renderBlit) { var _g = 0; var _g1 = this.get_cameras(); while(_g < _g1.length) { var camera = _g1[_g]; ++_g; camera.fill(this._bgColor); } } else { this._bgSprite.draw(); } flixel_FlxState.prototype.draw.call(this); } ,destroy: function() { flixel_FlxState.prototype.destroy.call(this); this.closeCallback = null; this.openCallback = null; this._parentState = null; this._bgSprite = null; } ,close: function() { if(this._parentState != null && this._parentState.subState == this) { this._parentState.closeSubState(); } } ,get_bgColor: function() { return this._bgColor; } ,set_bgColor: function(Value) { if(flixel_FlxG.renderTile && this._bgSprite != null) { this._bgSprite.get_pixels().setPixel32(0,0,Value); } return this._bgColor = Value; } ,__class__: flixel_FlxSubState }); var lime_math_Vector2 = function(x,y) { if(y == null) { y = 0; } if(x == null) { x = 0; } this.x = x; this.y = y; }; $hxClasses["lime.math.Vector2"] = lime_math_Vector2; lime_math_Vector2.__name__ = ["lime","math","Vector2"]; lime_math_Vector2.distance = function(pt1,pt2) { var dx = pt1.x - pt2.x; var dy = pt1.y - pt2.y; return Math.sqrt(dx * dx + dy * dy); }; lime_math_Vector2.interpolate = function(pt1,pt2,f,result) { if(result == null) { result = new lime_math_Vector2(); } result.x = pt2.x + f * (pt1.x - pt2.x); result.y = pt2.y + f * (pt1.y - pt2.y); return result; }; lime_math_Vector2.polar = function(len,angle,result) { if(result == null) { result = new lime_math_Vector2(); } var ya = len * Math.sin(angle); result.x = len * Math.cos(angle); result.y = ya; return result; }; lime_math_Vector2.prototype = { x: null ,y: null ,add: function(v,result) { if(result == null) { result = new lime_math_Vector2(); } result.x = v.x + this.x; result.y = v.y + this.y; return result; } ,clone: function() { return new lime_math_Vector2(this.x,this.y); } ,equals: function(toCompare) { if(toCompare != null && toCompare.x == this.x) { return toCompare.y == this.y; } else { return false; } } ,normalize: function(thickness) { if(this.x == 0 && this.y == 0) { return; } else { var norm = thickness / Math.sqrt(this.x * this.x + this.y * this.y); this.x *= norm; this.y *= norm; } } ,offset: function(dx,dy) { this.x += dx; this.y += dy; } ,setTo: function(xa,ya) { this.x = xa; this.y = ya; } ,subtract: function(v,result) { if(result == null) { result = new lime_math_Vector2(); } result.x = this.x - v.x; result.y = this.y - v.y; return result; } ,__toFlashPoint: function() { return null; } ,get_length: function() { return Math.sqrt(this.x * this.x + this.y * this.y); } ,get_lengthSquared: function() { return this.x * this.x + this.y * this.y; } ,__class__: lime_math_Vector2 ,__properties__: {get_lengthSquared:"get_lengthSquared",get_length:"get_length"} }; var openfl_display_BitmapData = function(width,height,transparent,fillColor) { if(fillColor == null) { fillColor = -1; } if(transparent == null) { transparent = true; } this.transparent = transparent; if(width == null) { width = 0; } else { width = width; } if(height == null) { height = 0; } else { height = height; } if(width < 0) { width = 0; } else { width = width; } if(height < 0) { height = 0; } else { height = height; } this.width = width; this.height = height; this.rect = new openfl_geom_Rectangle(0,0,width,height); this.__textureWidth = width; this.__textureHeight = height; if(width > 0 && height > 0) { if(transparent) { if((fillColor & -16777216) == 0) { fillColor = 0; } } else { fillColor = -16777216 | fillColor & 16777215; } fillColor = fillColor << 8 | fillColor >>> 24 & 255; this.image = new lime_graphics_Image(null,0,0,width,height,fillColor); this.image.set_transparent(transparent); this.__isValid = true; this.readable = true; } this.__renderTransform = new openfl_geom_Matrix(); this.__worldAlpha = 1; this.__worldTransform = new openfl_geom_Matrix(); this.__worldColorTransform = new openfl_geom_ColorTransform(); this.__renderable = true; }; $hxClasses["openfl.display.BitmapData"] = openfl_display_BitmapData; openfl_display_BitmapData.__name__ = ["openfl","display","BitmapData"]; openfl_display_BitmapData.__interfaces__ = [openfl_display_IBitmapDrawable]; openfl_display_BitmapData.__textureFormat = null; openfl_display_BitmapData.__textureInternalFormat = null; openfl_display_BitmapData.fromBase64 = function(base64,type) { return null; }; openfl_display_BitmapData.fromBytes = function(bytes,rawAlpha) { return null; }; openfl_display_BitmapData.fromCanvas = function(canvas,transparent) { if(transparent == null) { transparent = true; } if(canvas == null) { return null; } var bitmapData = new openfl_display_BitmapData(0,0,transparent,0); bitmapData.__fromImage(lime_graphics_Image.fromCanvas(canvas)); bitmapData.image.set_transparent(transparent); return bitmapData; }; openfl_display_BitmapData.fromFile = function(path) { return null; }; openfl_display_BitmapData.fromImage = function(image,transparent) { if(transparent == null) { transparent = true; } if(image == null || image.buffer == null) { return null; } var bitmapData = new openfl_display_BitmapData(0,0,transparent,0); bitmapData.__fromImage(image); bitmapData.image.set_transparent(transparent); if(bitmapData.image != null) { return bitmapData; } else { return null; } }; openfl_display_BitmapData.fromTexture = function(texture) { if(texture == null) { return null; } var bitmapData = new openfl_display_BitmapData(texture.__width,texture.__height,true,0); bitmapData.readable = false; bitmapData.__texture = texture; bitmapData.__textureContext = texture.__textureContext; bitmapData.image = null; return bitmapData; }; openfl_display_BitmapData.loadFromBase64 = function(base64,type) { return lime_graphics_Image.loadFromBase64(base64,type).then(function(image) { return lime_app_Future.withValue(openfl_display_BitmapData.fromImage(image)); }); }; openfl_display_BitmapData.loadFromBytes = function(bytes,rawAlpha) { return lime_graphics_Image.loadFromBytes(openfl_utils__$ByteArray_ByteArray_$Impl_$.toBytes(bytes)).then(function(image) { var bitmapData = openfl_display_BitmapData.fromImage(image); if(rawAlpha != null) { bitmapData.__applyAlpha(rawAlpha); } return lime_app_Future.withValue(bitmapData); }); }; openfl_display_BitmapData.loadFromFile = function(path) { return lime_graphics_Image.loadFromFile(path).then(function(image) { return lime_app_Future.withValue(openfl_display_BitmapData.fromImage(image)); }); }; openfl_display_BitmapData.prototype = { height: null ,image: null ,readable: null ,rect: null ,transparent: null ,width: null ,__blendMode: null ,__framebuffer: null ,__framebufferContext: null ,__indexBuffer: null ,__indexBufferContext: null ,__indexBufferData: null ,__isMask: null ,__isValid: null ,__mask: null ,__renderable: null ,__renderTransform: null ,__scrollRect: null ,__stencilBuffer: null ,__surface: null ,__symbol: null ,__texture: null ,__textureContext: null ,__textureHeight: null ,__textureVersion: null ,__textureWidth: null ,__transform: null ,__uvRect: null ,__vertexBuffer: null ,__vertexBufferContext: null ,__vertexBufferData: null ,__worldAlpha: null ,__worldColorTransform: null ,__worldTransform: null ,applyFilter: function(sourceBitmapData,sourceRect,destPoint,filter) { if(!this.readable || sourceBitmapData == null || !sourceBitmapData.readable) { return; } var needSecondBitmapData = filter.__needSecondBitmapData; var needCopyOfOriginal = filter.__preserveObject; var bitmapData2 = null; var bitmapData3 = null; if(needSecondBitmapData) { bitmapData2 = new openfl_display_BitmapData(this.width,this.height,true,0); } else { bitmapData2 = this; } if(needCopyOfOriginal) { bitmapData3 = new openfl_display_BitmapData(this.width,this.height,true,0); } if(filter.__preserveObject) { bitmapData3.copyPixels(this,this.rect,destPoint); } var lastBitmap = filter.__applyFilter(bitmapData2,this,sourceRect,destPoint); if(filter.__preserveObject) { lastBitmap.draw(bitmapData3,null,null); } if(needSecondBitmapData && lastBitmap == bitmapData2) { bitmapData2.image.version = this.image.version; this.image = bitmapData2.image; } this.image.dirty = true; this.image.version++; } ,clone: function() { var bitmapData; if(!this.__isValid) { bitmapData = new openfl_display_BitmapData(this.width,this.height,this.transparent,0); } else if(!this.readable && this.image == null) { bitmapData = new openfl_display_BitmapData(0,0,this.transparent,0); bitmapData.width = this.width; bitmapData.height = this.height; bitmapData.__textureWidth = this.__textureWidth; bitmapData.__textureHeight = this.__textureHeight; bitmapData.rect.copyFrom(this.rect); bitmapData.__framebuffer = this.__framebuffer; bitmapData.__framebufferContext = this.__framebufferContext; bitmapData.__texture = this.__texture; bitmapData.__textureContext = this.__textureContext; bitmapData.__isValid = true; } else { bitmapData = openfl_display_BitmapData.fromImage(this.image.clone(),this.transparent); } bitmapData.__worldTransform.copyFrom(this.__worldTransform); bitmapData.__renderTransform.copyFrom(this.__renderTransform); return bitmapData; } ,colorTransform: function(rect,colorTransform) { if(!this.readable) { return; } this.image.colorTransform(rect.__toLimeRectangle(),colorTransform.__toLimeColorMatrix()); } ,compare: function(otherBitmapData) { if(otherBitmapData == this) { return 0; } else if(otherBitmapData == null) { return -1; } else if(this.readable == false || otherBitmapData.readable == false) { return -2; } else if(this.width != otherBitmapData.width) { return -3; } else if(this.height != otherBitmapData.height) { return -4; } if(this.image != null && otherBitmapData.image != null && this.image.get_format() == otherBitmapData.image.get_format()) { var bytes = this.image.get_data(); var otherBytes = otherBitmapData.image.get_data(); var equal = true; var _g1 = 0; var _g = bytes.length; while(_g1 < _g) { var i = _g1++; if(bytes[i] != otherBytes[i]) { equal = false; break; } } if(equal) { return 0; } } var bitmapData = null; var foundDifference; var pixel; var otherPixel; var comparePixel; var r; var g; var b; var a; var _g11 = 0; var _g2 = this.height; while(_g11 < _g2) { var y = _g11++; var _g3 = 0; var _g21 = this.width; while(_g3 < _g21) { var x = _g3++; foundDifference = false; pixel = this.getPixel32(x,y); otherPixel = otherBitmapData.getPixel32(x,y); comparePixel = 0; if(pixel != otherPixel) { r = (pixel >>> 16 & 255) - (otherPixel >>> 16 & 255); g = (pixel >>> 8 & 255) - (otherPixel >>> 8 & 255); b = (pixel & 255) - (otherPixel & 255); if(r < 0) { r *= -1; } if(g < 0) { g *= -1; } if(b < 0) { b *= -1; } if(r == 0 && g == 0 && b == 0) { a = (pixel >>> 24 & 255) - (otherPixel >>> 24 & 255); if(a != 0) { comparePixel = (comparePixel >>> 24 & 255 & 255) << 24 | 16711680 | (comparePixel >>> 8 & 255 & 255) << 8 | comparePixel & 255 & 255; comparePixel = (comparePixel >>> 24 & 255 & 255) << 24 | (comparePixel >>> 16 & 255 & 255) << 16 | 65280 | comparePixel & 255 & 255; comparePixel = (comparePixel >>> 24 & 255 & 255) << 24 | (comparePixel >>> 16 & 255 & 255) << 16 | (comparePixel >>> 8 & 255 & 255) << 8 | 255; comparePixel = (a & 255) << 24 | (comparePixel >>> 16 & 255 & 255) << 16 | (comparePixel >>> 8 & 255 & 255) << 8 | comparePixel & 255 & 255; foundDifference = true; } } else { comparePixel = (comparePixel >>> 24 & 255 & 255) << 24 | (r & 255) << 16 | (comparePixel >>> 8 & 255 & 255) << 8 | comparePixel & 255 & 255; comparePixel = (comparePixel >>> 24 & 255 & 255) << 24 | (comparePixel >>> 16 & 255 & 255) << 16 | (g & 255) << 8 | comparePixel & 255 & 255; comparePixel = (comparePixel >>> 24 & 255 & 255) << 24 | (comparePixel >>> 16 & 255 & 255) << 16 | (comparePixel >>> 8 & 255 & 255) << 8 | b & 255; comparePixel = -16777216 | (comparePixel >>> 16 & 255 & 255) << 16 | (comparePixel >>> 8 & 255 & 255) << 8 | comparePixel & 255 & 255; foundDifference = true; } } if(foundDifference) { if(bitmapData == null) { bitmapData = new openfl_display_BitmapData(this.width,this.height,this.transparent || otherBitmapData.transparent,0); } bitmapData.setPixel32(x,y,comparePixel); } } } if(bitmapData == null) { return 0; } return bitmapData; } ,copyChannel: function(sourceBitmapData,sourceRect,destPoint,sourceChannel,destChannel) { if(!this.readable) { return; } var sourceChannel1; switch(sourceChannel) { case 1: sourceChannel1 = lime_graphics_ImageChannel.RED; break; case 2: sourceChannel1 = lime_graphics_ImageChannel.GREEN; break; case 4: sourceChannel1 = lime_graphics_ImageChannel.BLUE; break; case 8: sourceChannel1 = lime_graphics_ImageChannel.ALPHA; break; default: return; } var destChannel1; switch(destChannel) { case 1: destChannel1 = lime_graphics_ImageChannel.RED; break; case 2: destChannel1 = lime_graphics_ImageChannel.GREEN; break; case 4: destChannel1 = lime_graphics_ImageChannel.BLUE; break; case 8: destChannel1 = lime_graphics_ImageChannel.ALPHA; break; default: return; } this.image.copyChannel(sourceBitmapData.image,sourceRect.__toLimeRectangle(),destPoint.__toLimeVector2(),sourceChannel1,destChannel1); } ,copyPixels: function(sourceBitmapData,sourceRect,destPoint,alphaBitmapData,alphaPoint,mergeAlpha) { if(mergeAlpha == null) { mergeAlpha = false; } if(!this.readable || sourceBitmapData == null) { return; } if(alphaPoint != null) { openfl_display_BitmapData.__tempVector.x = alphaPoint.x; openfl_display_BitmapData.__tempVector.y = alphaPoint.y; } this.image.copyPixels(sourceBitmapData.image,sourceRect.__toLimeRectangle(),destPoint.__toLimeVector2(),alphaBitmapData != null ? alphaBitmapData.image : null,alphaPoint != null ? openfl_display_BitmapData.__tempVector : null,mergeAlpha); } ,dispose: function() { this.image = null; this.width = 0; this.height = 0; this.rect = null; this.__isValid = false; this.readable = false; this.__surface = null; this.__vertexBuffer = null; this.__framebuffer = null; this.__framebufferContext = null; this.__texture = null; this.__textureContext = null; } ,disposeImage: function() { this.readable = false; } ,draw: function(source,matrix,colorTransform,blendMode,clipRect,smoothing) { if(smoothing == null) { smoothing = false; } if(source == null) { return; } source.__update(false,true); var transform = openfl_geom_Matrix.__pool.get(); transform.copyFrom(source.__renderTransform); transform.invert(); if(matrix != null) { transform.concat(matrix); } var clipMatrix = null; if(clipRect != null) { clipMatrix = openfl_geom_Matrix.__pool.get(); clipMatrix.copyFrom(transform); clipMatrix.invert(); } var _colorTransform = new openfl_geom_ColorTransform(); _colorTransform.__copyFrom(source.__worldColorTransform); _colorTransform.__invert(); if(!this.readable && openfl_Lib.get_current().stage.context3D != null) { if(this.__textureContext == null) { this.__textureContext = lime_app_Application.current.__window.context; } if(colorTransform != null) { _colorTransform.__combine(colorTransform); } var renderer = new openfl_display_OpenGLRenderer(openfl_Lib.get_current().stage.context3D,this); renderer.__allowSmoothing = smoothing; renderer.__overrideBlendMode = blendMode; renderer.__worldTransform = transform; renderer.__worldAlpha = 1 / source.__worldAlpha; renderer.__worldColorTransform = _colorTransform; renderer.__resize(this.width,this.height); if(clipRect != null) { renderer.__pushMaskRect(clipRect,clipMatrix); } this.__drawGL(source,renderer); if(clipRect != null) { renderer.__popMaskRect(); openfl_geom_Matrix.__pool.release(clipMatrix); } } else { if(colorTransform != null) { var bounds = openfl_geom_Rectangle.__pool.get(); var boundsMatrix = openfl_geom_Matrix.__pool.get(); source.__getBounds(bounds,boundsMatrix); var width = Math.ceil(bounds.width); var height = Math.ceil(bounds.height); boundsMatrix.tx = -bounds.x; boundsMatrix.ty = -bounds.y; var copy = new openfl_display_BitmapData(width,height,true,0); copy.draw(source,boundsMatrix); copy.colorTransform(copy.rect,colorTransform); copy.__renderTransform.identity(); copy.__renderTransform.tx = bounds.x; copy.__renderTransform.ty = bounds.y; copy.__renderTransform.concat(source.__renderTransform); copy.__worldAlpha = source.__worldAlpha; copy.__worldColorTransform.__copyFrom(source.__worldColorTransform); source = copy; openfl_geom_Rectangle.__pool.release(bounds); openfl_geom_Matrix.__pool.release(boundsMatrix); } lime__$internal_graphics_ImageCanvasUtil.convertToCanvas(this.image); var renderer1 = new openfl_display_CanvasRenderer(this.image.buffer.__srcContext); renderer1.__allowSmoothing = smoothing; renderer1.__overrideBlendMode = blendMode; renderer1.__worldTransform = transform; renderer1.__worldAlpha = 1 / source.__worldAlpha; renderer1.__worldColorTransform = _colorTransform; if(clipRect != null) { renderer1.__pushMaskRect(clipRect,clipMatrix); } this.__drawCanvas(source,renderer1); if(clipRect != null) { renderer1.__popMaskRect(); openfl_geom_Matrix.__pool.release(clipMatrix); } } openfl_geom_Matrix.__pool.release(transform); } ,drawWithQuality: function(source,matrix,colorTransform,blendMode,clipRect,smoothing,quality) { if(smoothing == null) { smoothing = false; } this.draw(source,matrix,colorTransform,blendMode,clipRect,quality != 2 && smoothing); } ,encode: function(rect,compressor,byteArray) { if(!this.readable || rect == null) { byteArray = null; return byteArray; } if(byteArray == null) { var this1 = new openfl_utils_ByteArrayData(0); byteArray = this1; } var image = this.image; if(!rect.equals(this.rect)) { var matrix = openfl_geom_Matrix.__pool.get(); matrix.tx = Math.round(-rect.x); matrix.ty = Math.round(-rect.y); var bitmapData = new openfl_display_BitmapData(Math.ceil(rect.width),Math.ceil(rect.height),true,0); bitmapData.draw(this,matrix); image = bitmapData.image; openfl_geom_Matrix.__pool.release(matrix); } if(js_Boot.__instanceof(compressor,openfl_display_PNGEncoderOptions)) { byteArray.writeBytes(openfl_utils__$ByteArray_ByteArray_$Impl_$.fromBytes(image.encode(lime_graphics_ImageFileFormat.PNG)),0,0); return byteArray; } else if(js_Boot.__instanceof(compressor,openfl_display_JPEGEncoderOptions)) { byteArray.writeBytes(openfl_utils__$ByteArray_ByteArray_$Impl_$.fromBytes(image.encode(lime_graphics_ImageFileFormat.JPEG,(js_Boot.__cast(compressor , openfl_display_JPEGEncoderOptions)).quality)),0,0); return byteArray; } byteArray = null; return byteArray; } ,fillRect: function(rect,color) { this.__fillRect(rect,color,true); } ,floodFill: function(x,y,color) { if(!this.readable) { return; } this.image.floodFill(x,y,color,1); } ,generateFilterRect: function(sourceRect,filter) { return sourceRect.clone(); } ,getIndexBuffer: function(context) { var gl = context.gl; if(this.__indexBuffer == null || this.__indexBufferContext != context.__context) { var this1 = new Uint16Array(6); this.__indexBufferData = this1; this.__indexBufferData[0] = 0; this.__indexBufferData[1] = 1; this.__indexBufferData[2] = 2; this.__indexBufferData[3] = 2; this.__indexBufferData[4] = 1; this.__indexBufferData[5] = 3; this.__indexBufferContext = context.__context; this.__indexBuffer = context.createIndexBuffer(6); this.__indexBuffer.uploadFromTypedArray(this.__indexBufferData); } return this.__indexBuffer; } ,getVertexBuffer: function(context) { var gl = context.gl; if(this.__vertexBuffer == null || this.__vertexBufferContext != context.__context) { this.__uvRect = new openfl_geom_Rectangle(0,0,this.width,this.height); var uvWidth = 1; var uvHeight = 1; var this1 = new Float32Array(56); this.__vertexBufferData = this1; this.__vertexBufferData[0] = this.width; this.__vertexBufferData[1] = this.height; this.__vertexBufferData[3] = uvWidth; this.__vertexBufferData[4] = uvHeight; this.__vertexBufferData[15] = this.height; this.__vertexBufferData[18] = uvHeight; this.__vertexBufferData[28] = this.width; this.__vertexBufferData[31] = uvWidth; this.__vertexBufferContext = context.__context; this.__vertexBuffer = context.createVertexBuffer(3,14); this.__vertexBuffer.uploadFromTypedArray(this.__vertexBufferData); } return this.__vertexBuffer; } ,getColorBoundsRect: function(mask,color,findColor) { if(findColor == null) { findColor = true; } if(!this.readable) { return new openfl_geom_Rectangle(0,0,this.width,this.height); } if(!this.transparent || (mask >> 24 & 255) > 0) { var color1 = color; if((color1 >>> 24 & 255) == 0) { color1 = 0; } } var rect = this.image.getColorBoundsRect(mask,color,findColor,1); return new openfl_geom_Rectangle(rect.x,rect.y,rect.width,rect.height); } ,getPixel: function(x,y) { if(!this.readable) { return 0; } return this.image.getPixel(x,y,1); } ,getPixel32: function(x,y) { if(!this.readable) { return 0; } return this.image.getPixel32(x,y,1); } ,getPixels: function(rect) { if(!this.readable) { return null; } if(rect == null) { rect = this.rect; } var byteArray = openfl_utils__$ByteArray_ByteArray_$Impl_$.fromBytes(this.image.getPixels(rect.__toLimeRectangle(),1)); byteArray.__endian = 0; return byteArray; } ,getSurface: function() { if(!this.readable) { return null; } if(this.__surface == null) { this.__surface = lime_graphics_cairo__$CairoImageSurface_CairoImageSurface_$Impl_$.fromImage(this.image); } return this.__surface; } ,getTexture: function(context) { if(!this.__isValid) { return null; } if(this.__texture == null || this.__textureContext != context.__context) { this.__textureContext = context.__context; this.__texture = context.createRectangleTexture(this.width,this.height,1,false); this.__textureVersion = -1; } lime__$internal_graphics_ImageCanvasUtil.sync(this.image,false); if(this.image != null && this.image.version > this.__textureVersion) { if(this.__surface != null) { lime_graphics_cairo__$CairoSurface_CairoSurface_$Impl_$.flush(this.__surface); } var textureImage = this.image; if(!openfl_display3D_textures_TextureBase.__supportsBGRA && textureImage.get_format() != 0) { textureImage = textureImage.clone(); textureImage.set_format(0); } this.__texture.__uploadFromImage(textureImage); this.__textureVersion = this.image.version; this.__textureWidth = textureImage.buffer.width; this.__textureHeight = textureImage.buffer.height; } if(!this.readable && this.image != null) { this.__surface = null; this.image = null; } return this.__texture; } ,getVector: function(rect) { var pixels = this.getPixels(rect); var length = _$UInt_UInt_$Impl_$.toFloat(openfl_utils__$ByteArray_ByteArray_$Impl_$.get_length(pixels)) / _$UInt_UInt_$Impl_$.toFloat(4) | 0; var result = openfl__$Vector_Vector_$Impl_$.toIntVector(null,length,true); var _g1 = 0; var _g = length; while(_g1 < _g) { var i = _g1++; result.set(i,pixels.readUnsignedInt()); } return result; } ,histogram: function(hRect) { var rect = hRect != null ? hRect : new openfl_geom_Rectangle(0,0,this.width,this.height); var pixels = this.getPixels(rect); var _g = []; var _g1 = 0; while(_g1 < 4) { var i = _g1++; var _g2 = []; var _g3 = 0; while(_g3 < 256) { var j = _g3++; _g2.push(0); } _g.push(_g2); } var result = _g; var _g21 = 0; var _g11 = openfl_utils__$ByteArray_ByteArray_$Impl_$.get_length(pixels); while(_g21 < _g11) { var i1 = _g21++; ++result[i1 % 4][pixels.readUnsignedByte()]; } return result; } ,hitTest: function(firstPoint,firstAlphaThreshold,secondObject,secondBitmapDataPoint,secondAlphaThreshold) { if(secondAlphaThreshold == null) { secondAlphaThreshold = 1; } if(!this.readable) { return false; } if(js_Boot.__instanceof(secondObject,openfl_display_Bitmap)) { secondObject = (js_Boot.__cast(secondObject , openfl_display_Bitmap)).__bitmapData; } if(js_Boot.__instanceof(secondObject,openfl_geom_Point)) { var secondPoint = secondObject; var x = secondPoint.x - firstPoint.x | 0; var y = secondPoint.y - firstPoint.y | 0; if(this.rect.contains(x,y)) { var pixel = this.getPixel32(x,y); if((pixel >> 24 & 255) > firstAlphaThreshold) { return true; } } } else if(js_Boot.__instanceof(secondObject,openfl_display_BitmapData)) { var secondBitmapData = secondObject; var x1; var y1; if(secondBitmapDataPoint == null) { x1 = 0; y1 = 0; } else { x1 = Math.round(secondBitmapDataPoint.x - firstPoint.x); y1 = Math.round(secondBitmapDataPoint.y - firstPoint.y); } var hitRect = openfl_geom_Rectangle.__pool.get(); hitRect.setTo(x1,y1,secondBitmapData.width,secondBitmapData.height); if(this.rect.intersects(hitRect)) { if(x1 < 0) { hitRect.x = 0; hitRect.width = Math.min(secondBitmapData.width + x1,this.width); } else { hitRect.width = Math.min(secondBitmapData.width,this.width - x1); } if(y1 < 0) { hitRect.y = 0; hitRect.height = Math.min(secondBitmapData.height + y1,this.height); } else { hitRect.height = Math.min(secondBitmapData.height,this.height - y1); } var pixels = this.getPixels(hitRect); hitRect.x = x1 < 0 ? -x1 : 0; hitRect.y = y1 < 0 ? -y1 : 0; var testPixels = secondBitmapData.getPixels(hitRect); var length = hitRect.width * hitRect.height | 0; var pixel1; var testPixel; var _g1 = 0; var _g = length; while(_g1 < _g) { var i = _g1++; pixel1 = pixels.readUnsignedInt(); testPixel = testPixels.readUnsignedInt(); if(_$UInt_UInt_$Impl_$.gt(pixel1 >>> 24 & 255,firstAlphaThreshold) && _$UInt_UInt_$Impl_$.gt(testPixel >>> 24 & 255,secondAlphaThreshold)) { openfl_geom_Rectangle.__pool.release(hitRect); return true; } } } openfl_geom_Rectangle.__pool.release(hitRect); } else if(js_Boot.__instanceof(secondObject,openfl_geom_Rectangle)) { var secondRectangle = openfl_geom_Rectangle.__pool.get(); secondRectangle.copyFrom(secondObject); secondRectangle.offset(-firstPoint.x,-firstPoint.y); secondRectangle.__contract(0,0,this.width,this.height); if(secondRectangle.width > 0 && secondRectangle.height > 0) { var pixels1 = this.getPixels(secondRectangle); var length1 = _$UInt_UInt_$Impl_$.toFloat(openfl_utils__$ByteArray_ByteArray_$Impl_$.get_length(pixels1)) / _$UInt_UInt_$Impl_$.toFloat(4) | 0; var pixel2; var _g11 = 0; var _g2 = length1; while(_g11 < _g2) { var i1 = _g11++; pixel2 = pixels1.readUnsignedInt(); if(_$UInt_UInt_$Impl_$.gt(pixel2 >>> 24 & 255,firstAlphaThreshold)) { openfl_geom_Rectangle.__pool.release(secondRectangle); return true; } } } openfl_geom_Rectangle.__pool.release(secondRectangle); } return false; } ,lock: function() { } ,merge: function(sourceBitmapData,sourceRect,destPoint,redMultiplier,greenMultiplier,blueMultiplier,alphaMultiplier) { if(!this.readable || sourceBitmapData == null || !sourceBitmapData.readable || sourceRect == null || destPoint == null) { return; } this.image.merge(sourceBitmapData.image,sourceRect.__toLimeRectangle(),destPoint.__toLimeVector2(),redMultiplier,greenMultiplier,blueMultiplier,alphaMultiplier); } ,noise: function(randomSeed,low,high,channelOptions,grayScale) { if(grayScale == null) { grayScale = false; } if(channelOptions == null) { channelOptions = 7; } if(high == null) { high = 255; } if(low == null) { low = 0; } if(!this.readable) { return; } var func = function() { randomSeed = randomSeed * 1103515245 + 12345; return (Math.abs(randomSeed / 65536) | 0) % 32768; }; var rand = func; rand(); var range = high - low; var this1 = new openfl_utils_ByteArrayData(0); var data = this1; var redChannel = (channelOptions & 1) == 1; var greenChannel = (channelOptions & 2) >> 1 == 1; var blueChannel = (channelOptions & 4) >> 2 == 1; var alphaChannel = (channelOptions & 8) >> 3 == 1; var _g1 = 0; var _g = this.height; while(_g1 < _g) { var y = _g1++; var _g3 = 0; var _g2 = this.width; while(_g3 < _g2) { var x = _g3++; var red = 0; var blue = 0; var green = 0; var alpha = 255; if(grayScale) { blue = low + rand() % range; green = blue; red = green; alpha = 255; } else { if(redChannel) { red = low + rand() % range; } if(greenChannel) { green = low + rand() % range; } if(blueChannel) { blue = low + rand() % range; } if(alphaChannel) { alpha = low + rand() % range; } } var rgb = alpha; rgb = (rgb << 8) + red; rgb = (rgb << 8) + green; rgb = (rgb << 8) + blue; this.setPixel32(x,y,rgb); } } } ,paletteMap: function(sourceBitmapData,sourceRect,destPoint,redArray,greenArray,blueArray,alphaArray) { var sw = sourceRect.width | 0; var sh = sourceRect.height | 0; var pixels = sourceBitmapData.getPixels(sourceRect); var pixelValue; var r; var g; var b; var a; var color; var _g1 = 0; var _g = sh * sw; while(_g1 < _g) { var i = _g1++; pixelValue = pixels.readUnsignedInt(); if(alphaArray == null) { a = pixelValue & -16777216; } else { a = alphaArray[pixelValue >> 24 & 255]; } if(redArray == null) { r = pixelValue & 16711680; } else { r = redArray[pixelValue >> 16 & 255]; } if(greenArray == null) { g = pixelValue & 65280; } else { g = greenArray[pixelValue >> 8 & 255]; } if(blueArray == null) { b = pixelValue & 255; } else { b = blueArray[pixelValue & 255]; } color = a + r + g + b; pixels.position = i * 4; pixels.writeUnsignedInt(color); } pixels.position = 0; var destRect = openfl_geom_Rectangle.__pool.get(); destRect.setTo(destPoint.x,destPoint.y,sw,sh); this.setPixels(destRect,pixels); openfl_geom_Rectangle.__pool.release(destRect); } ,perlinNoise: function(baseX,baseY,numOctaves,randomSeed,stitch,fractalNoise,channelOptions,grayScale,offsets) { if(grayScale == null) { grayScale = false; } if(channelOptions == null) { channelOptions = 7; } if(!this.readable) { return; } var noise = new openfl__$internal_utils_PerlinNoise(randomSeed,numOctaves,channelOptions,grayScale,0.5,stitch,0.15); noise.fill(this,baseX,baseY,0); } ,scroll: function(x,y) { if(!this.readable) { return; } this.image.scroll(x,y); } ,setPixel: function(x,y,color) { if(!this.readable) { return; } this.image.setPixel(x,y,color,1); } ,setPixel32: function(x,y,color) { if(!this.readable) { return; } this.image.setPixel32(x,y,color,1); } ,setPixels: function(rect,byteArray) { if(!this.readable || rect == null) { return; } var length = rect.width * rect.height * 4; if(_$UInt_UInt_$Impl_$.toFloat(byteArray.length - byteArray.position) < length) { throw new js__$Boot_HaxeError(new openfl_errors_Error("End of file was encountered.",2030)); } this.image.setPixels(rect.__toLimeRectangle(),openfl_utils__$ByteArray_ByteArray_$Impl_$.toBytePointer(byteArray),1,openfl_utils__$Endian_Endian_$Impl_$.toLimeEndian(byteArray.__endian)); } ,setVector: function(rect,inputVector) { var this1 = new openfl_utils_ByteArrayData(0); var byteArray = this1; openfl_utils__$ByteArray_ByteArray_$Impl_$.set_length(byteArray,inputVector.get_length() * 4); var _g = 0; while(_g < inputVector.get_length()) { var color = inputVector.get(_g); ++_g; byteArray.writeUnsignedInt(color); } byteArray.position = 0; this.setPixels(rect,byteArray); } ,threshold: function(sourceBitmapData,sourceRect,destPoint,operation,threshold,color,mask,copySource) { if(copySource == null) { copySource = false; } if(mask == null) { mask = -1; } if(color == null) { color = 0; } if(sourceBitmapData == null || sourceRect == null || destPoint == null || sourceRect.x > sourceBitmapData.width || sourceRect.y > sourceBitmapData.height || destPoint.x > this.width || destPoint.y > this.height) { return 0; } return this.image.threshold(sourceBitmapData.image,sourceRect.__toLimeRectangle(),destPoint.__toLimeVector2(),operation,threshold,color,mask,copySource,1); } ,unlock: function(changeRect) { } ,__applyAlpha: function(alpha) { lime__$internal_graphics_ImageCanvasUtil.convertToCanvas(this.image); lime__$internal_graphics_ImageCanvasUtil.createImageData(this.image); var data = this.image.buffer.data; var _g1 = 0; var _g = openfl_utils__$ByteArray_ByteArray_$Impl_$.get_length(alpha); while(_g1 < _g) { var i = _g1++; data[i * 4 + 3] = alpha.readUnsignedByte(); } this.image.version++; } ,__drawCairo: function(source,renderer) { } ,__drawCanvas: function(source,renderer) { var buffer = this.image.buffer; if(!renderer.__allowSmoothing) { renderer.applySmoothing(buffer.__srcContext,false); } renderer.__render(source); if(!renderer.__allowSmoothing) { renderer.applySmoothing(buffer.__srcContext,true); } buffer.__srcContext.setTransform(1,0,0,1,0,0); buffer.__srcImageData = null; buffer.data = null; this.image.dirty = true; this.image.version++; } ,__drawGL: function(source,renderer) { var context = renderer.__context3D; var cacheRTT = context.__state.renderToTexture; var cacheRTTDepthStencil = context.__state.renderToTextureDepthStencil; var cacheRTTAntiAlias = context.__state.renderToTextureAntiAlias; var cacheRTTSurfaceSelector = context.__state.renderToTextureSurfaceSelector; context.setRenderToTexture(this.getTexture(context),true); renderer.__render(source); if(cacheRTT != null) { context.setRenderToTexture(cacheRTT,cacheRTTDepthStencil,cacheRTTAntiAlias,cacheRTTSurfaceSelector); } else { context.setRenderToBackBuffer(); } } ,__fillRect: function(rect,color,allowFramebuffer) { if(rect == null) { return; } if(this.transparent && (color & -16777216) == 0) { color = 0; } if(allowFramebuffer && this.__texture != null && this.__texture.__glFramebuffer != null && openfl_Lib.get_current().stage.__renderer.__type == "opengl") { var renderer = openfl_Lib.get_current().stage.__renderer; var context = renderer.__context3D; var color1 = color; var useScissor = !this.rect.equals(rect); var cacheRTT = context.__state.renderToTexture; var cacheRTTDepthStencil = context.__state.renderToTextureDepthStencil; var cacheRTTAntiAlias = context.__state.renderToTextureAntiAlias; var cacheRTTSurfaceSelector = context.__state.renderToTextureSurfaceSelector; context.setRenderToTexture(this.__texture); if(useScissor) { context.setScissorRectangle(rect); } context.clear((color1 >>> 16 & 255) / 255,(color1 >>> 8 & 255) / 255,(color1 & 255) / 255,this.transparent ? (color1 >>> 24 & 255) / 255 : 1,0,0,1); if(useScissor) { context.setScissorRectangle(null); } if(cacheRTT != null) { context.setRenderToTexture(cacheRTT,cacheRTTDepthStencil,cacheRTTAntiAlias,cacheRTTSurfaceSelector); } else { context.setRenderToBackBuffer(); } } else if(this.readable) { this.image.fillRect(rect.__toLimeRectangle(),color,1); } } ,__fromBase64: function(base64,type) { var image = lime_graphics_Image.fromBase64(base64,type); this.__fromImage(image); } ,__fromBytes: function(bytes,rawAlpha) { var image = lime_graphics_Image.fromBytes(openfl_utils__$ByteArray_ByteArray_$Impl_$.toBytes(bytes)); this.__fromImage(image); if(rawAlpha != null) { this.__applyAlpha(rawAlpha); } } ,__fromFile: function(path) { var image = lime_graphics_Image.fromFile(path); this.__fromImage(image); } ,__fromImage: function(image) { if(image != null && image.buffer != null) { this.image = image; this.width = image.width; this.height = image.height; this.rect = new openfl_geom_Rectangle(0,0,image.width,image.height); this.__textureWidth = this.width; this.__textureHeight = this.height; this.readable = true; this.__isValid = true; } } ,__fromSymbol: function(swf,symbol) { var _gthis = this; this.__symbol = symbol; lime_graphics_Image.loadFromFile(symbol.path).onComplete(function(image) { if(symbol.alpha != null) { lime_graphics_Image.loadFromFile(symbol.alpha).onComplete(function(alpha) { if(image != null && alpha != null) { var tmp = alpha.get_rect(); image.copyChannel(alpha,tmp,new lime_math_Vector2(),lime_graphics_ImageChannel.RED,lime_graphics_ImageChannel.ALPHA); image.buffer.premultiplied = true; image.set_premultiplied(false); } _gthis.__fromImage(image); }); } else { _gthis.__fromImage(image); } }); } ,__getBounds: function(rect,matrix) { var bounds = openfl_geom_Rectangle.__pool.get(); this.rect.__transform(bounds,matrix); rect.__expand(bounds.x,bounds.y,bounds.width,bounds.height); openfl_geom_Rectangle.__pool.release(bounds); } ,__loadFromBase64: function(base64,type) { var _gthis = this; return lime_graphics_Image.loadFromBase64(base64,type).then(function(image) { _gthis.__fromImage(image); return lime_app_Future.withValue(_gthis); }); } ,__loadFromBytes: function(bytes,rawAlpha) { var _gthis = this; return lime_graphics_Image.loadFromBytes(openfl_utils__$ByteArray_ByteArray_$Impl_$.toBytes(bytes)).then(function(image) { _gthis.__fromImage(image); if(rawAlpha != null) { _gthis.__applyAlpha(rawAlpha); } return lime_app_Future.withValue(_gthis); }); } ,__loadFromFile: function(path) { var _gthis = this; return lime_graphics_Image.loadFromFile(path).then(function(image) { _gthis.__fromImage(image); return lime_app_Future.withValue(_gthis); }); } ,__renderCairo: function(renderer) { } ,__renderCairoMask: function(renderer) { } ,__renderCanvas: function(renderer) { if(!this.readable) { return; } if(this.image.type == lime_graphics_ImageType.DATA) { lime__$internal_graphics_ImageCanvasUtil.convertToCanvas(this.image); } var context = renderer.context; context.globalAlpha = 1; renderer.setTransform(this.__renderTransform,context); context.drawImage(this.image.get_src(),0,0,this.image.width,this.image.height); } ,__renderCanvasMask: function(renderer) { } ,__renderDOM: function(renderer) { } ,__renderGL: function(renderer) { var context = renderer.__context3D; var gl = context.gl; renderer.__setBlendMode(10); var shader = renderer.__defaultDisplayShader; renderer.setShader(shader); renderer.applyBitmapData(this,renderer.__allowSmoothing && renderer.__upscaled); renderer.applyMatrix(renderer.__getMatrix(this.__worldTransform,1)); renderer.applyAlpha(this.__worldAlpha); renderer.applyColorTransform(this.__worldColorTransform); renderer.updateShader(); var vertexBuffer = this.getVertexBuffer(context); if(shader.__position != null) { context.setVertexBufferAt(shader.__position.index,vertexBuffer,0,3); } if(shader.__textureCoord != null) { context.setVertexBufferAt(shader.__textureCoord.index,vertexBuffer,3,2); } var indexBuffer = this.getIndexBuffer(context); context.drawTriangles(indexBuffer); renderer.__clearShader(); } ,__renderGLMask: function(renderer) { var context = renderer.__context3D; var gl = context.gl; var shader = renderer.__maskShader; renderer.setShader(shader); renderer.applyBitmapData(this,renderer.__allowSmoothing && renderer.__upscaled); renderer.applyMatrix(renderer.__getMatrix(this.__worldTransform,1)); renderer.updateShader(); var vertexBuffer = this.getVertexBuffer(context); if(shader.__position != null) { context.setVertexBufferAt(shader.__position.index,vertexBuffer,0,3); } if(shader.__textureCoord != null) { context.setVertexBufferAt(shader.__textureCoord.index,vertexBuffer,3,2); } var indexBuffer = this.getIndexBuffer(context); context.drawTriangles(indexBuffer); renderer.__clearShader(); } ,__resize: function(width,height) { this.width = width; this.height = height; this.rect.width = width; this.rect.height = height; this.__textureWidth = width; this.__textureHeight = height; } ,__setUVRect: function(context,x,y,width,height) { var buffer = this.getVertexBuffer(context); if(buffer != null && (width != this.__uvRect.width || height != this.__uvRect.height || x != this.__uvRect.x || y != this.__uvRect.y)) { var gl = context.gl; if(this.__uvRect == null) { this.__uvRect = new openfl_geom_Rectangle(); } this.__uvRect.setTo(x,y,width,height); var uvX = this.__textureWidth > 0 ? x / this.__textureWidth : 0; var uvY = this.__textureHeight > 0 ? y / this.__textureHeight : 0; var uvWidth = this.__textureWidth > 0 ? width / this.__textureWidth : 0; var uvHeight = this.__textureHeight > 0 ? height / this.__textureHeight : 0; this.__vertexBufferData[0] = width; this.__vertexBufferData[1] = height; this.__vertexBufferData[3] = uvX + uvWidth; this.__vertexBufferData[4] = uvY + uvHeight; this.__vertexBufferData[15] = height; this.__vertexBufferData[17] = uvX; this.__vertexBufferData[18] = uvY + uvHeight; this.__vertexBufferData[28] = width; this.__vertexBufferData[31] = uvX + uvWidth; this.__vertexBufferData[32] = uvY; this.__vertexBufferData[45] = uvX; this.__vertexBufferData[46] = uvY; this.__vertexBuffer.uploadFromTypedArray(this.__vertexBufferData); } } ,__sync: function() { lime__$internal_graphics_ImageCanvasUtil.sync(this.image,false); } ,__update: function(transformOnly,updateChildren) { this.__updateTransforms(); } ,__updateTransforms: function(overrideTransform) { if(overrideTransform == null) { this.__worldTransform.identity(); } else { this.__worldTransform.copyFrom(overrideTransform); } this.__renderTransform.copyFrom(this.__worldTransform); } ,__class__: openfl_display_BitmapData }; var flixel_addons_transition_GraphicTransTileCircle = function(width,height,transparent,fillRGBA,onload) { if(fillRGBA == null) { fillRGBA = -1; } if(transparent == null) { transparent = true; } openfl_display_BitmapData.call(this,0,0,transparent,fillRGBA); if(flixel_addons_transition_GraphicTransTileCircle.preload != null) { this.__fromImage(flixel_addons_transition_GraphicTransTileCircle.preload); } else { var _gthis = this; lime_graphics_Image.loadFromBase64(haxe_Resource.getString(flixel_addons_transition_GraphicTransTileCircle.resourceName),flixel_addons_transition_GraphicTransTileCircle.resourceType).then(function(image) { _gthis.__fromImage(image); return lime_app_Future.withValue(_gthis); }).onComplete(function(b) { if(flixel_addons_transition_GraphicTransTileCircle.preload == null) { flixel_addons_transition_GraphicTransTileCircle.preload = b.image; } if(onload != null) { onload(b); } }); } }; $hxClasses["flixel.addons.transition.GraphicTransTileCircle"] = flixel_addons_transition_GraphicTransTileCircle; flixel_addons_transition_GraphicTransTileCircle.__name__ = ["flixel","addons","transition","GraphicTransTileCircle"]; flixel_addons_transition_GraphicTransTileCircle.preload = null; flixel_addons_transition_GraphicTransTileCircle.__super__ = openfl_display_BitmapData; flixel_addons_transition_GraphicTransTileCircle.prototype = $extend(openfl_display_BitmapData.prototype,{ __class__: flixel_addons_transition_GraphicTransTileCircle }); var flixel_addons_transition_GraphicTransTileDiamond = function(width,height,transparent,fillRGBA,onload) { if(fillRGBA == null) { fillRGBA = -1; } if(transparent == null) { transparent = true; } openfl_display_BitmapData.call(this,0,0,transparent,fillRGBA); if(flixel_addons_transition_GraphicTransTileDiamond.preload != null) { this.__fromImage(flixel_addons_transition_GraphicTransTileDiamond.preload); } else { var _gthis = this; lime_graphics_Image.loadFromBase64(haxe_Resource.getString(flixel_addons_transition_GraphicTransTileDiamond.resourceName),flixel_addons_transition_GraphicTransTileDiamond.resourceType).then(function(image) { _gthis.__fromImage(image); return lime_app_Future.withValue(_gthis); }).onComplete(function(b) { if(flixel_addons_transition_GraphicTransTileDiamond.preload == null) { flixel_addons_transition_GraphicTransTileDiamond.preload = b.image; } if(onload != null) { onload(b); } }); } }; $hxClasses["flixel.addons.transition.GraphicTransTileDiamond"] = flixel_addons_transition_GraphicTransTileDiamond; flixel_addons_transition_GraphicTransTileDiamond.__name__ = ["flixel","addons","transition","GraphicTransTileDiamond"]; flixel_addons_transition_GraphicTransTileDiamond.preload = null; flixel_addons_transition_GraphicTransTileDiamond.__super__ = openfl_display_BitmapData; flixel_addons_transition_GraphicTransTileDiamond.prototype = $extend(openfl_display_BitmapData.prototype,{ __class__: flixel_addons_transition_GraphicTransTileDiamond }); var flixel_addons_transition_GraphicTransTileSquare = function(width,height,transparent,fillRGBA,onload) { if(fillRGBA == null) { fillRGBA = -1; } if(transparent == null) { transparent = true; } openfl_display_BitmapData.call(this,0,0,transparent,fillRGBA); if(flixel_addons_transition_GraphicTransTileSquare.preload != null) { this.__fromImage(flixel_addons_transition_GraphicTransTileSquare.preload); } else { var _gthis = this; lime_graphics_Image.loadFromBase64(haxe_Resource.getString(flixel_addons_transition_GraphicTransTileSquare.resourceName),flixel_addons_transition_GraphicTransTileSquare.resourceType).then(function(image) { _gthis.__fromImage(image); return lime_app_Future.withValue(_gthis); }).onComplete(function(b) { if(flixel_addons_transition_GraphicTransTileSquare.preload == null) { flixel_addons_transition_GraphicTransTileSquare.preload = b.image; } if(onload != null) { onload(b); } }); } }; $hxClasses["flixel.addons.transition.GraphicTransTileSquare"] = flixel_addons_transition_GraphicTransTileSquare; flixel_addons_transition_GraphicTransTileSquare.__name__ = ["flixel","addons","transition","GraphicTransTileSquare"]; flixel_addons_transition_GraphicTransTileSquare.preload = null; flixel_addons_transition_GraphicTransTileSquare.__super__ = openfl_display_BitmapData; flixel_addons_transition_GraphicTransTileSquare.prototype = $extend(openfl_display_BitmapData.prototype,{ __class__: flixel_addons_transition_GraphicTransTileSquare }); var flixel_addons_transition_FlxTransitionSprite = function(X,Y,Delay,Graphic,GraphicWidth,GraphicHeight,FrameRate) { if(FrameRate == null) { FrameRate = 40; } if(GraphicHeight == null) { GraphicHeight = 32; } if(GraphicWidth == null) { GraphicWidth = 32; } if(Y == null) { Y = 0; } if(X == null) { X = 0; } this._newStatus = -1; this.status = 0; this._finished = false; this._starting = true; flixel_FlxSprite.call(this,X,Y); if(Graphic == null) { Graphic = flixel_graphics_FlxGraphic.fromClass(flixel_addons_transition_GraphicTransTileDiamond); GraphicWidth = 32; GraphicHeight = 32; } this._delay = Delay; this.loadGraphic(Graphic,true,GraphicWidth,GraphicHeight); this.graphic.persist = true; this.graphic.set_destroyOnNoUse(false); var inArray = []; var outArray = []; var _g1 = 1; var _g = this.numFrames - 1; while(_g1 < _g) { var i = _g1++; inArray.push(i); } outArray = inArray.slice(); outArray.reverse(); this.animation.add("empty",[0],0,false); this.animation.add("in",inArray,FrameRate,false); this.animation.add("full",[this.numFrames - 1],0,false); this.animation.add("out",outArray,FrameRate,false); this.setStatus(3); }; $hxClasses["flixel.addons.transition.FlxTransitionSprite"] = flixel_addons_transition_FlxTransitionSprite; flixel_addons_transition_FlxTransitionSprite.__name__ = ["flixel","addons","transition","FlxTransitionSprite"]; flixel_addons_transition_FlxTransitionSprite.__super__ = flixel_FlxSprite; flixel_addons_transition_FlxTransitionSprite.prototype = $extend(flixel_FlxSprite.prototype,{ _delay: null ,_count: null ,_starting: null ,_finished: null ,status: null ,_newStatus: null ,start: function(NewStatus) { this._starting = true; this._finished = false; this._count = 0; this._newStatus = NewStatus; } ,startStatus: function(NewStatus) { this.setStatus(NewStatus); } ,setStatus: function(Status) { var anim; switch(Status) { case -1:case 2: anim = "empty"; break; case 0: anim = "in"; break; case 1: anim = "out"; break; case 3: anim = "full"; break; } this.animation.play(anim); this.animation.finishCallback = $bind(this,this.onFinishAnim); this.status = Status; } ,onFinishAnim: function(str) { if(!this._finished) { this._finished = true; var _g = this.status; switch(_g) { case 0: this.setStatus(3); break; case 1: this.setStatus(2); break; default: } } } ,update: function(elapsed) { flixel_FlxSprite.prototype.update.call(this,elapsed); if(this._starting) { this._count += elapsed; if(this._count >= this._delay) { this.onTime(); } } } ,onTime: function() { this._starting = false; this._count = 0; this.setStatus(this._newStatus); this._newStatus = -1; } ,__class__: flixel_addons_transition_FlxTransitionSprite }); var flixel_addons_transition_Transition = function(data) { flixel_FlxSubState.call(this,0); this._effect = this.createEffect(data); this._effect.scrollFactor.set(0,0); this.add(this._effect); }; $hxClasses["flixel.addons.transition.Transition"] = flixel_addons_transition_Transition; flixel_addons_transition_Transition.__name__ = ["flixel","addons","transition","Transition"]; flixel_addons_transition_Transition.__super__ = flixel_FlxSubState; flixel_addons_transition_Transition.prototype = $extend(flixel_FlxSubState.prototype,{ _effect: null ,update: function(elapsed) { flixel_FlxSubState.prototype.update.call(this,elapsed); this._effect.update(elapsed); } ,destroy: function() { flixel_FlxSubState.prototype.destroy.call(this); this.set_finishCallback(null); this._effect.destroy(); this._effect = null; } ,start: function(NewStatus) { this._effect.start(NewStatus); } ,setStatus: function(NewStatus) { this._effect.setStatus(NewStatus); } ,createEffect: function(Data) { var _g = Data.type; switch(_g) { case "fade": return new flixel_addons_transition_TransitionFade(Data); case "tiles": return new flixel_addons_transition_TransitionTiles(Data); default: return null; } } ,get_finishCallback: function() { if(this._effect != null) { return this._effect.finishCallback; } return null; } ,set_finishCallback: function(f) { if(this._effect != null) { this._effect.finishCallback = f; return f; } return null; } ,__class__: flixel_addons_transition_Transition ,__properties__: $extend(flixel_FlxSubState.prototype.__properties__,{set_finishCallback:"set_finishCallback",get_finishCallback:"get_finishCallback"}) }); var flixel_addons_transition_TransitionData = function(TransType,Color,Duration,Direction,TileData,Region) { if(Duration == null) { Duration = 1.0; } if(Color == null) { Color = -1; } if(TransType == null) { TransType = "fade"; } this.duration = 1.0; this.type = TransType; this.tileData = TileData; this.duration = Duration; this.color = Color; this.direction = Direction; if(this.direction == null) { this.direction = new flixel_math_FlxPoint(0,0); } var Value = this.direction.x; var lowerBound = Value < -1 ? -1 : Value; var tmp = lowerBound > 1; var Value1 = this.direction.y; var lowerBound1 = Value1 < -1 ? -1 : Value1; var tmp1 = lowerBound1 > 1; this.tweenOptions = { onComplete : null}; this.region = Region; if(Region == null) { this.region = new flixel_math_FlxRect(0,0,flixel_FlxG.width,flixel_FlxG.height); } }; $hxClasses["flixel.addons.transition.TransitionData"] = flixel_addons_transition_TransitionData; flixel_addons_transition_TransitionData.__name__ = ["flixel","addons","transition","TransitionData"]; flixel_addons_transition_TransitionData.__interfaces__ = [flixel_util_IFlxDestroyable]; flixel_addons_transition_TransitionData.prototype = { type: null ,tileData: null ,color: null ,duration: null ,direction: null ,tweenOptions: null ,region: null ,destroy: function() { this.tileData = null; this.direction = null; this.tweenOptions.onComplete = null; this.tweenOptions.ease = null; this.tweenOptions = null; this.region = null; this.direction = null; } ,__class__: flixel_addons_transition_TransitionData }; var flixel_group_FlxTypedSpriteGroup = function(X,Y,MaxSize) { if(MaxSize == null) { MaxSize = 0; } if(Y == null) { Y = 0; } if(X == null) { X = 0; } this._skipTransformChildren = false; this.directAlpha = false; flixel_FlxSprite.call(this,X,Y); this.group = new flixel_group_FlxTypedGroup(MaxSize); this._sprites = this.group.members; }; $hxClasses["flixel.group.FlxTypedSpriteGroup"] = flixel_group_FlxTypedSpriteGroup; flixel_group_FlxTypedSpriteGroup.__name__ = ["flixel","group","FlxTypedSpriteGroup"]; flixel_group_FlxTypedSpriteGroup.__super__ = flixel_FlxSprite; flixel_group_FlxTypedSpriteGroup.prototype = $extend(flixel_FlxSprite.prototype,{ transformChildren_flixel_math_FlxRect: function(Function,Value) { if(this.group == null) { return; } var _g = 0; var _g1 = this._sprites; while(_g < _g1.length) { var sprite = _g1[_g]; ++_g; if(sprite != null) { Function(sprite,Value); } } } ,transformChildren_openfl_display_BlendMode: function(Function,Value) { if(this.group == null) { return; } var _g = 0; var _g1 = this._sprites; while(_g < _g1.length) { var sprite = _g1[_g]; ++_g; if(sprite != null) { Function(sprite,Value); } } } ,transformChildren_Int: function(Function,Value) { if(this.group == null) { return; } var _g = 0; var _g1 = this._sprites; while(_g < _g1.length) { var sprite = _g1[_g]; ++_g; if(sprite != null) { Function(sprite,Value); } } } ,transformChildren_Float: function(Function,Value) { if(this.group == null) { return; } var _g = 0; var _g1 = this._sprites; while(_g < _g1.length) { var sprite = _g1[_g]; ++_g; if(sprite != null) { Function(sprite,Value); } } } ,transformChildren_Bool: function(Function,Value) { if(this.group == null) { return; } var _g = 0; var _g1 = this._sprites; while(_g < _g1.length) { var sprite = _g1[_g]; ++_g; if(sprite != null) { Function(sprite,Value); } } } ,transformChildren_Array_flixel_FlxCamera: function(Function,Value) { if(this.group == null) { return; } var _g = 0; var _g1 = this._sprites; while(_g < _g1.length) { var sprite = _g1[_g]; ++_g; if(sprite != null) { Function(sprite,Value); } } } ,transformChildren_flixel_FlxCamera: function(Function,Value) { if(this.group == null) { return; } var _g = 0; var _g1 = this._sprites; while(_g < _g1.length) { var sprite = _g1[_g]; ++_g; if(sprite != null) { Function(sprite,Value); } } } ,multiTransformChildren_Float: function(FunctionArray,ValueArray) { if(this.group == null) { return; } var numProps = FunctionArray.length; if(numProps > ValueArray.length) { return; } var lambda; var _g = 0; var _g1 = this._sprites; while(_g < _g1.length) { var sprite = _g1[_g]; ++_g; if(sprite != null && sprite.exists) { var _g3 = 0; var _g2 = numProps; while(_g3 < _g2) { var i = _g3++; lambda = FunctionArray[i]; lambda(sprite,ValueArray[i]); } } } } ,transformChildren_flixel_math_FlxPoint: function(Function,Value) { if(this.group == null) { return; } var _g = 0; var _g1 = this._sprites; while(_g < _g1.length) { var sprite = _g1[_g]; ++_g; if(sprite != null) { Function(sprite,Value); } } } ,group: null ,directAlpha: null ,_skipTransformChildren: null ,_sprites: null ,initVars: function() { this.flixelType = 4; this.offset = new flixel_math_FlxCallbackPoint($bind(this,this.offsetCallback)); this.origin = new flixel_math_FlxCallbackPoint($bind(this,this.originCallback)); this.scale = new flixel_math_FlxCallbackPoint($bind(this,this.scaleCallback)); this.scrollFactor = new flixel_math_FlxCallbackPoint($bind(this,this.scrollFactorCallback)); this.scale.set(1,1); this.scrollFactor.set(1,1); var point = flixel_math_FlxPoint._pool.get().set(0,0); point._inPool = false; this.velocity = point; var point1 = flixel_math_FlxPoint._pool.get().set(0,0); point1._inPool = false; this.acceleration = point1; var point2 = flixel_math_FlxPoint._pool.get().set(0,0); point2._inPool = false; this.drag = point2; var point3 = flixel_math_FlxPoint._pool.get().set(10000,10000); point3._inPool = false; this.maxVelocity = point3; } ,destroy: function() { this.offset = flixel_util_FlxDestroyUtil.destroy(this.offset); this.origin = flixel_util_FlxDestroyUtil.destroy(this.origin); this.scale = flixel_util_FlxDestroyUtil.destroy(this.scale); this.scrollFactor = flixel_util_FlxDestroyUtil.destroy(this.scrollFactor); this.group = flixel_util_FlxDestroyUtil.destroy(this.group); this._sprites = null; flixel_FlxSprite.prototype.destroy.call(this); } ,clone: function() { var newGroup = new flixel_group_FlxTypedSpriteGroup(this.x,this.y,this.group.maxSize); var _g = 0; var _g1 = this.group.members; while(_g < _g1.length) { var sprite = _g1[_g]; ++_g; if(sprite != null) { newGroup.add(sprite.clone()); } } return newGroup; } ,isOnScreen: function(Camera) { var _g = 0; var _g1 = this._sprites; while(_g < _g1.length) { var sprite = _g1[_g]; ++_g; if(sprite != null && sprite.exists && sprite.visible && sprite.isOnScreen(Camera)) { return true; } } return false; } ,overlapsPoint: function(point,InScreenSpace,Camera) { if(InScreenSpace == null) { InScreenSpace = false; } var result = false; var _g = 0; var _g1 = this._sprites; while(_g < _g1.length) { var sprite = _g1[_g]; ++_g; if(sprite != null && sprite.exists && sprite.visible) { if(!result) { result = sprite.overlapsPoint(point,InScreenSpace,Camera); } else { result = true; } } } return result; } ,pixelsOverlapPoint: function(point,Mask,Camera) { if(Mask == null) { Mask = 255; } var result = false; var _g = 0; var _g1 = this._sprites; while(_g < _g1.length) { var sprite = _g1[_g]; ++_g; if(sprite != null && sprite.exists && sprite.visible) { if(!result) { result = sprite.pixelsOverlapPoint(point,Mask,Camera); } else { result = true; } } } return result; } ,update: function(elapsed) { this.group.update(elapsed); if(this.moves) { this.updateMotion(elapsed); } } ,draw: function() { this.group.draw(); } ,replaceColor: function(Color,NewColor,FetchPositions) { if(FetchPositions == null) { FetchPositions = false; } var positions = null; if(FetchPositions) { positions = []; } var spritePositions; var _g = 0; var _g1 = this._sprites; while(_g < _g1.length) { var sprite = _g1[_g]; ++_g; if(sprite != null) { spritePositions = sprite.replaceColor(Color,NewColor,FetchPositions); if(FetchPositions) { positions = positions.concat(spritePositions); } } } return positions; } ,add: function(Sprite) { this.preAdd(Sprite); return this.group.add(Sprite); } ,insert: function(Position,Sprite) { this.preAdd(Sprite); return this.group.insert(Position,Sprite); } ,preAdd: function(Sprite) { var sprite = Sprite; var _g = sprite; _g.set_x(_g.x + this.x); var _g1 = sprite; _g1.set_y(_g1.y + this.y); var _g2 = sprite; _g2.set_alpha(_g2.alpha * this.alpha); var _this = sprite.scrollFactor; var point = this.scrollFactor; _this.set_x(point.x); _this.set_y(point.y); if(point._weak) { point.put(); } sprite.set_cameras(this._cameras); if(this.clipRect != null) { var ClipRect = this.clipRect; if(ClipRect == null) { sprite.set_clipRect(null); } else { var X = ClipRect.x - sprite.x + this.x; var Y = ClipRect.y - sprite.y + this.y; var Width = ClipRect.width; var Height = ClipRect.height; var _this1 = flixel_math_FlxRect._pool.get(); _this1.x = X; _this1.y = Y; _this1.width = Width; _this1.height = Height; var rect = _this1; rect._inPool = false; sprite.set_clipRect(rect); } } } ,recycle: function(ObjectClass,ObjectFactory,Force) { if(Force == null) { Force = false; } return this.group.recycle(ObjectClass,ObjectFactory,Force); } ,remove: function(Sprite,Splice) { if(Splice == null) { Splice = false; } var sprite = Sprite; var _g = sprite; _g.set_x(_g.x - this.x); var _g1 = sprite; _g1.set_y(_g1.y - this.y); sprite.set_cameras(null); return this.group.remove(Sprite,Splice); } ,replace: function(OldObject,NewObject) { return this.group.replace(OldObject,NewObject); } ,sort: function(Function,Order) { if(Order == null) { Order = -1; } var f = Function; var a1 = Order; var tmp = function(a2,a3) { return f(a1,a2,a3); }; this.group.members.sort(tmp); } ,getFirstAvailable: function(ObjectClass,Force) { if(Force == null) { Force = false; } return this.group.getFirstAvailable(ObjectClass,Force); } ,getFirstNull: function() { return this.group.getFirstNull(); } ,getFirstExisting: function() { return this.group.getFirstExisting(); } ,getFirstAlive: function() { return this.group.getFirstAlive(); } ,getFirstDead: function() { return this.group.getFirstDead(); } ,countLiving: function() { return this.group.countLiving(); } ,countDead: function() { return this.group.countDead(); } ,getRandom: function(StartIndex,Length) { if(Length == null) { Length = 0; } if(StartIndex == null) { StartIndex = 0; } return this.group.getRandom(StartIndex,Length); } ,iterator: function(filter) { return new flixel_group_FlxTypedGroupIterator(this.group.members,filter); } ,forEach: function(Function,Recurse) { if(Recurse == null) { Recurse = false; } this.group.forEach(Function,Recurse); } ,forEachAlive: function(Function,Recurse) { if(Recurse == null) { Recurse = false; } this.group.forEachAlive(Function,Recurse); } ,forEachDead: function(Function,Recurse) { if(Recurse == null) { Recurse = false; } this.group.forEachDead(Function,Recurse); } ,forEachExists: function(Function,Recurse) { if(Recurse == null) { Recurse = false; } this.group.forEachExists(Function,Recurse); } ,forEachOfType: function(ObjectClass,Function,Recurse) { if(Recurse == null) { Recurse = false; } this.group.forEachOfType(ObjectClass,Function,Recurse); } ,clear: function() { this.group.clear(); } ,kill: function() { flixel_FlxSprite.prototype.kill.call(this); this.group.kill(); } ,revive: function() { flixel_FlxSprite.prototype.revive.call(this); this.group.revive(); } ,reset: function(X,Y) { this.revive(); this.setPosition(X,Y); var _g = 0; var _g1 = this._sprites; while(_g < _g1.length) { var sprite = _g1[_g]; ++_g; if(sprite != null) { sprite.reset(X,Y); } } } ,setPosition: function(X,Y) { if(Y == null) { Y = 0; } if(X == null) { X = 0; } var dx = X - this.x; var dy = Y - this.y; this.multiTransformChildren_Float([$bind(this,this.xTransform),$bind(this,this.yTransform)],[dx,dy]); this._skipTransformChildren = true; this.set_x(X); this.set_y(Y); this._skipTransformChildren = false; } ,set_camera: function(Value) { if(this.get_camera() != Value) { this.transformChildren_flixel_FlxCamera($bind(this,this.cameraTransform),Value); } return flixel_FlxSprite.prototype.set_camera.call(this,Value); } ,set_cameras: function(Value) { if(this.get_cameras() != Value) { this.transformChildren_Array_flixel_FlxCamera($bind(this,this.camerasTransform),Value); } return flixel_FlxSprite.prototype.set_cameras.call(this,Value); } ,set_exists: function(Value) { if(this.exists != Value) { this.transformChildren_Bool($bind(this,this.existsTransform),Value); } return flixel_FlxSprite.prototype.set_exists.call(this,Value); } ,set_visible: function(Value) { if(this.exists && this.visible != Value) { this.transformChildren_Bool($bind(this,this.visibleTransform),Value); } return flixel_FlxSprite.prototype.set_visible.call(this,Value); } ,set_active: function(Value) { if(this.exists && this.active != Value) { this.transformChildren_Bool($bind(this,this.activeTransform),Value); } return flixel_FlxSprite.prototype.set_active.call(this,Value); } ,set_alive: function(Value) { if(this.alive != Value) { this.transformChildren_Bool($bind(this,this.aliveTransform),Value); } return flixel_FlxSprite.prototype.set_alive.call(this,Value); } ,set_x: function(Value) { if(!this._skipTransformChildren && this.exists && this.x != Value) { var offset = Value - this.x; this.transformChildren_Float($bind(this,this.xTransform),offset); } return this.x = Value; } ,set_y: function(Value) { if(!this._skipTransformChildren && this.exists && this.y != Value) { var offset = Value - this.y; this.transformChildren_Float($bind(this,this.yTransform),offset); } return this.y = Value; } ,set_angle: function(Value) { if(this.exists && this.angle != Value) { var offset = Value - this.angle; this.transformChildren_Float($bind(this,this.angleTransform),offset); } return this.angle = Value; } ,set_alpha: function(Value) { var lowerBound = Value < 0 ? 0 : Value; if(lowerBound > 1) { Value = 1; } else { Value = lowerBound; } if(this.exists && this.alpha != Value) { var factor = this.alpha > 0 ? Value / this.alpha : 0; if(!this.directAlpha && this.alpha != 0) { this.transformChildren_Float($bind(this,this.alphaTransform),factor); } else { this.transformChildren_Float($bind(this,this.directAlphaTransform),Value); } } return this.alpha = Value; } ,set_facing: function(Value) { if(this.exists && this.facing != Value) { this.transformChildren_Int($bind(this,this.facingTransform),Value); } return this.facing = Value; } ,set_flipX: function(Value) { if(this.exists && this.flipX != Value) { this.transformChildren_Bool($bind(this,this.flipXTransform),Value); } return this.flipX = Value; } ,set_flipY: function(Value) { if(this.exists && this.flipY != Value) { this.transformChildren_Bool($bind(this,this.flipYTransform),Value); } return this.flipY = Value; } ,set_moves: function(Value) { if(this.exists && this.moves != Value) { this.transformChildren_Bool($bind(this,this.movesTransform),Value); } return this.moves = Value; } ,set_immovable: function(Value) { if(this.exists && this.immovable != Value) { this.transformChildren_Bool($bind(this,this.immovableTransform),Value); } return this.immovable = Value; } ,set_solid: function(Value) { if(this.exists && (this.allowCollisions & 4369) > 0 != Value) { this.transformChildren_Bool($bind(this,this.solidTransform),Value); } return flixel_FlxSprite.prototype.set_solid.call(this,Value); } ,set_color: function(Value) { if(this.exists && this.color != Value) { this.transformChildren_Int($bind(this,this.gColorTransform),Value); } return this.color = Value; } ,set_blend: function(Value) { if(this.exists && this.blend != Value) { this.transformChildren_openfl_display_BlendMode($bind(this,this.blendTransform),Value); } return this.blend = Value; } ,set_clipRect: function(rect) { if(this.exists) { this.transformChildren_flixel_math_FlxRect($bind(this,this.clipRectTransform),rect); } return flixel_FlxSprite.prototype.set_clipRect.call(this,rect); } ,set_pixelPerfectRender: function(Value) { if(this.exists && this.pixelPerfectRender != Value) { this.transformChildren_Bool($bind(this,this.pixelPerfectTransform),Value); } return flixel_FlxSprite.prototype.set_pixelPerfectRender.call(this,Value); } ,set_width: function(Value) { return Value; } ,get_width: function() { if(this.group.length == 0) { return 0; } var minX = Infinity; var maxX = -Infinity; var _g = 0; var _g1 = this._sprites; while(_g < _g1.length) { var member = _g1[_g]; ++_g; if(member == null) { continue; } var minMemberX = member.x; var maxMemberX = minMemberX + member.get_width(); if(maxMemberX > maxX) { maxX = maxMemberX; } if(minMemberX < minX) { minX = minMemberX; } } return maxX - minX; } ,set_height: function(Value) { return Value; } ,get_height: function() { if(this.group.length == 0) { return 0; } var minY = Infinity; var maxY = -Infinity; var _g = 0; var _g1 = this._sprites; while(_g < _g1.length) { var member = _g1[_g]; ++_g; if(member == null) { continue; } var minMemberY = member.y; var maxMemberY = minMemberY + member.get_height(); if(maxMemberY > maxY) { maxY = maxMemberY; } if(minMemberY < minY) { minY = minMemberY; } } return maxY - minY; } ,get_length: function() { return this.group.length; } ,get_maxSize: function() { return this.group.maxSize; } ,set_maxSize: function(Size) { return this.group.set_maxSize(Size); } ,get_members: function() { return this.group.members; } ,xTransform: function(Sprite,X) { var _g = Sprite; _g.set_x(_g.x + X); } ,yTransform: function(Sprite,Y) { var _g = Sprite; _g.set_y(_g.y + Y); } ,angleTransform: function(Sprite,Angle) { var _g = Sprite; _g.set_angle(_g.angle + Angle); } ,alphaTransform: function(Sprite,Alpha) { if(Sprite.alpha != 0 || Alpha == 0) { var _g = Sprite; _g.set_alpha(_g.alpha * Alpha); } else { Sprite.set_alpha(1 / Alpha); } } ,directAlphaTransform: function(Sprite,Alpha) { Sprite.set_alpha(Alpha); } ,facingTransform: function(Sprite,Facing) { Sprite.set_facing(Facing); } ,flipXTransform: function(Sprite,FlipX) { Sprite.set_flipX(FlipX); } ,flipYTransform: function(Sprite,FlipY) { Sprite.set_flipY(FlipY); } ,movesTransform: function(Sprite,Moves) { Sprite.set_moves(Moves); } ,pixelPerfectTransform: function(Sprite,PixelPerfect) { Sprite.set_pixelPerfectRender(PixelPerfect); } ,gColorTransform: function(Sprite,Color) { Sprite.set_color(Color); } ,blendTransform: function(Sprite,Blend) { Sprite.set_blend(Blend); } ,immovableTransform: function(Sprite,Immovable) { Sprite.set_immovable(Immovable); } ,visibleTransform: function(Sprite,Visible) { Sprite.set_visible(Visible); } ,activeTransform: function(Sprite,Active) { Sprite.set_active(Active); } ,solidTransform: function(Sprite,Solid) { Sprite.set_solid(Solid); } ,aliveTransform: function(Sprite,Alive) { Sprite.set_alive(Alive); } ,existsTransform: function(Sprite,Exists) { Sprite.set_exists(Exists); } ,cameraTransform: function(Sprite,Camera) { Sprite.set_camera(Camera); } ,camerasTransform: function(Sprite,Cameras) { Sprite.set_cameras(Cameras); } ,offsetTransform: function(Sprite,Offset) { var _this = Sprite.offset; _this.set_x(Offset.x); _this.set_y(Offset.y); if(Offset._weak) { Offset.put(); } } ,originTransform: function(Sprite,Origin) { var _this = Sprite.origin; _this.set_x(Origin.x); _this.set_y(Origin.y); if(Origin._weak) { Origin.put(); } } ,scaleTransform: function(Sprite,Scale) { var _this = Sprite.scale; _this.set_x(Scale.x); _this.set_y(Scale.y); if(Scale._weak) { Scale.put(); } } ,scrollFactorTransform: function(Sprite,ScrollFactor) { var _this = Sprite.scrollFactor; _this.set_x(ScrollFactor.x); _this.set_y(ScrollFactor.y); if(ScrollFactor._weak) { ScrollFactor.put(); } } ,clipRectTransform: function(Sprite,ClipRect) { if(ClipRect == null) { Sprite.set_clipRect(null); } else { var X = ClipRect.x - Sprite.x + this.x; var Y = ClipRect.y - Sprite.y + this.y; var Width = ClipRect.width; var Height = ClipRect.height; var _this = flixel_math_FlxRect._pool.get(); _this.x = X; _this.y = Y; _this.width = Width; _this.height = Height; var rect = _this; rect._inPool = false; Sprite.set_clipRect(rect); } } ,offsetCallback: function(Offset) { this.transformChildren_flixel_math_FlxPoint($bind(this,this.offsetTransform),Offset); } ,originCallback: function(Origin) { this.transformChildren_flixel_math_FlxPoint($bind(this,this.originTransform),Origin); } ,scaleCallback: function(Scale) { this.transformChildren_flixel_math_FlxPoint($bind(this,this.scaleTransform),Scale); } ,scrollFactorCallback: function(ScrollFactor) { this.transformChildren_flixel_math_FlxPoint($bind(this,this.scrollFactorTransform),ScrollFactor); } ,loadGraphicFromSprite: function(Sprite) { return this; } ,loadGraphic: function(Graphic,Animated,Width,Height,Unique,Key) { if(Unique == null) { Unique = false; } if(Height == null) { Height = 0; } if(Width == null) { Width = 0; } if(Animated == null) { Animated = false; } return this; } ,loadRotatedGraphic: function(Graphic,Rotations,Frame,AntiAliasing,AutoBuffer,Key) { if(AutoBuffer == null) { AutoBuffer = false; } if(AntiAliasing == null) { AntiAliasing = false; } if(Frame == null) { Frame = -1; } if(Rotations == null) { Rotations = 16; } return this; } ,makeGraphic: function(Width,Height,Color,Unique,Key) { if(Unique == null) { Unique = false; } if(Color == null) { Color = -1; } return this; } ,set_pixels: function(Value) { return Value; } ,set_frame: function(Value) { return Value; } ,get_pixels: function() { return null; } ,calcFrame: function(RunOnCpp) { if(RunOnCpp == null) { RunOnCpp = false; } } ,resetHelpers: function() { } ,stamp: function(Brush,X,Y) { if(Y == null) { Y = 0; } if(X == null) { X = 0; } } ,set_frames: function(Frames) { return Frames; } ,updateColorTransform: function() { } ,__class__: flixel_group_FlxTypedSpriteGroup ,__properties__: $extend(flixel_FlxSprite.prototype.__properties__,{set_maxSize:"set_maxSize",get_maxSize:"get_maxSize",get_length:"get_length",get_members:"get_members"}) }); var flixel_addons_transition_TransitionEffect = function(data) { this._finalDelayTime = 0.0; this._started = false; this.finished = false; this._data = data; flixel_group_FlxTypedSpriteGroup.call(this); }; $hxClasses["flixel.addons.transition.TransitionEffect"] = flixel_addons_transition_TransitionEffect; flixel_addons_transition_TransitionEffect.__name__ = ["flixel","addons","transition","TransitionEffect"]; flixel_addons_transition_TransitionEffect.__super__ = flixel_group_FlxTypedSpriteGroup; flixel_addons_transition_TransitionEffect.prototype = $extend(flixel_group_FlxTypedSpriteGroup.prototype,{ finishCallback: null ,finished: null ,_started: null ,_endStatus: null ,_finalDelayTime: null ,_data: null ,destroy: function() { flixel_group_FlxTypedSpriteGroup.prototype.destroy.call(this); this.finishCallback = null; } ,start: function(NewStatus) { this._started = true; if(NewStatus == 0) { this._endStatus = 3; } else { this._endStatus = 2; } } ,setStatus: function(NewStatus) { } ,delayThenFinish: function() { new flixel_util_FlxTimer().start(this._finalDelayTime,$bind(this,this.onFinish)); } ,onFinish: function(f) { this.finished = true; if(this.finishCallback != null) { this.finishCallback(); this.finishCallback = null; } } ,__class__: flixel_addons_transition_TransitionEffect }); var flixel_addons_transition__$TransitionFade_GraphicDiagonalGradient = function(width,height,transparent,fillRGBA,onload) { if(fillRGBA == null) { fillRGBA = -1; } if(transparent == null) { transparent = true; } openfl_display_BitmapData.call(this,0,0,transparent,fillRGBA); if(flixel_addons_transition__$TransitionFade_GraphicDiagonalGradient.preload != null) { this.__fromImage(flixel_addons_transition__$TransitionFade_GraphicDiagonalGradient.preload); } else { var _gthis = this; lime_graphics_Image.loadFromBase64(haxe_Resource.getString(flixel_addons_transition__$TransitionFade_GraphicDiagonalGradient.resourceName),flixel_addons_transition__$TransitionFade_GraphicDiagonalGradient.resourceType).then(function(image) { _gthis.__fromImage(image); return lime_app_Future.withValue(_gthis); }).onComplete(function(b) { if(flixel_addons_transition__$TransitionFade_GraphicDiagonalGradient.preload == null) { flixel_addons_transition__$TransitionFade_GraphicDiagonalGradient.preload = b.image; } if(onload != null) { onload(b); } }); } }; $hxClasses["flixel.addons.transition._TransitionFade.GraphicDiagonalGradient"] = flixel_addons_transition__$TransitionFade_GraphicDiagonalGradient; flixel_addons_transition__$TransitionFade_GraphicDiagonalGradient.__name__ = ["flixel","addons","transition","_TransitionFade","GraphicDiagonalGradient"]; flixel_addons_transition__$TransitionFade_GraphicDiagonalGradient.preload = null; flixel_addons_transition__$TransitionFade_GraphicDiagonalGradient.__super__ = openfl_display_BitmapData; flixel_addons_transition__$TransitionFade_GraphicDiagonalGradient.prototype = $extend(openfl_display_BitmapData.prototype,{ __class__: flixel_addons_transition__$TransitionFade_GraphicDiagonalGradient }); var flixel_addons_transition_TransitionFade = function(data) { this.tweenValEnd2 = 0; this.tweenValEnd = 0; this.tweenValStart2 = 0; this.tweenValStart = 0; this.tweenStr2 = ""; this.tweenStr = ""; flixel_addons_transition_TransitionEffect.call(this,data); this.back = this.makeSprite(data.direction.x,data.direction.y); this.back.scrollFactor.set(0,0); this.add(this.back); }; $hxClasses["flixel.addons.transition.TransitionFade"] = flixel_addons_transition_TransitionFade; flixel_addons_transition_TransitionFade.__name__ = ["flixel","addons","transition","TransitionFade"]; flixel_addons_transition_TransitionFade.__super__ = flixel_addons_transition_TransitionEffect; flixel_addons_transition_TransitionFade.prototype = $extend(flixel_addons_transition_TransitionEffect.prototype,{ back: null ,tweenStr: null ,tweenStr2: null ,tweenValStart: null ,tweenValStart2: null ,tweenValEnd: null ,tweenValEnd2: null ,destroy: function() { flixel_addons_transition_TransitionEffect.prototype.destroy.call(this); this.back = null; } ,start: function(NewStatus) { flixel_addons_transition_TransitionEffect.prototype.start.call(this,NewStatus); this.setTweenValues(NewStatus,this._data.direction.x,this._data.direction.y); var _g = this.tweenStr; switch(_g) { case "alpha": this.back.set_alpha(this.tweenValStart); break; case "x": this.back.set_x(this.tweenValStart); break; case "y": this.back.set_y(this.tweenValStart); break; } var _g1 = this.tweenStr2; switch(_g1) { case "alpha": this.back.set_alpha(this.tweenValStart2); break; case "x": this.back.set_x(this.tweenValStart2); break; case "y": this.back.set_y(this.tweenValStart2); break; } var Values = { }; Values[this.tweenStr] = this.tweenValEnd; if(this.tweenStr2 != "") { Values[this.tweenStr2] = this.tweenValEnd2; } this._data.tweenOptions.onComplete = $bind(this,this.finishTween); flixel_tweens_FlxTween.tween(this.back,Values,this._data.duration,this._data.tweenOptions); } ,setTweenValues: function(NewStatus,DirX,DirY) { if(DirX == 0 && DirY == 0) { this.tweenStr = "alpha"; this.tweenValStart = NewStatus == 0 ? 0.0 : 1.0; this.tweenValEnd = NewStatus == 0 ? 1.0 : 0.0; } else if(Math.abs(DirX) > 0 && DirY == 0) { this.tweenStr = "x"; if(DirX > 0) { this.tweenValStart = NewStatus == 0 ? -this.back.get_width() : 0; this.tweenValEnd = NewStatus == 0 ? 0 : -this.back.get_width(); } else { this.tweenValStart = NewStatus == 0 ? flixel_FlxG.width : -this.back.get_width() / 2; this.tweenValEnd = NewStatus == 0 ? -this.back.get_width() / 2 : flixel_FlxG.width; } } else if(DirX == 0 && Math.abs(DirY) > 0) { this.tweenStr = "y"; if(DirY > 0) { this.tweenValStart = NewStatus == 0 ? -this.back.get_height() : 0; this.tweenValEnd = NewStatus == 0 ? 0 : -this.back.get_height(); } else { this.tweenValStart = NewStatus == 0 ? flixel_FlxG.height : -this.back.get_height() / 2; this.tweenValEnd = NewStatus == 0 ? -this.back.get_height() / 2 : flixel_FlxG.height; } } else if(Math.abs(DirX) > 0 && Math.abs(DirY) > 0) { this.tweenStr = "x"; this.tweenStr2 = "y"; if(DirX > 0) { this.tweenValStart = NewStatus == 0 ? -this.back.get_width() : 0; this.tweenValEnd = NewStatus == 0 ? 0 : -this.back.get_width(); } else { this.tweenValStart = NewStatus == 0 ? flixel_FlxG.width : -this.back.get_width() * 0.66666666666666663; this.tweenValEnd = NewStatus == 0 ? -this.back.get_width() * 0.66666666666666663 : flixel_FlxG.width; } if(DirY > 0) { this.tweenValStart2 = NewStatus == 0 ? -this.back.get_height() : 0; this.tweenValEnd2 = NewStatus == 0 ? 0 : -this.back.get_height(); } else { this.tweenValStart2 = NewStatus == 0 ? flixel_FlxG.height : -this.back.get_height() * 0.66666666666666663; this.tweenValEnd2 = NewStatus == 0 ? -this.back.get_height() * 0.66666666666666663 : flixel_FlxG.height; } } } ,makeSprite: function(DirX,DirY) { var s = new flixel_FlxSprite(0,0); var locX = 0; var locY = 0; var angle = 0; var pixels = null; if(DirX == 0 && DirY == 0) { s.makeGraphic(flixel_FlxG.width,flixel_FlxG.height,this._data.color); } else if(DirX == 0 && Math.abs(DirY) > 0) { if(DirY > 0) { locY = flixel_FlxG.height; } else { locY = 0; } if(DirY > 0) { angle = 90; } else { angle = 270; } s.makeGraphic(1,flixel_FlxG.height * 2,this._data.color); pixels = s.get_pixels(); var gvert = flixel_util_FlxGradient.createGradientBitmapData(1,flixel_FlxG.height,[this._data.color,0],1,angle); pixels.copyPixels(gvert,gvert.rect,new openfl_geom_Point(0,locY)); s.set_pixels(pixels); s.scale.set(flixel_FlxG.width,1.0); s.updateHitbox(); } else if(Math.abs(DirX) > 0 && DirY == 0) { if(DirX > 0) { locX = flixel_FlxG.width; } else { locX = 0; } if(DirX > 0) { angle = 0; } else { angle = 180; } s.makeGraphic(flixel_FlxG.width * 2,1,this._data.color); pixels = s.get_pixels(); var ghorz = flixel_util_FlxGradient.createGradientBitmapData(flixel_FlxG.width,1,[this._data.color,0],1,angle); pixels.copyPixels(ghorz,ghorz.rect,new openfl_geom_Point(locX,0)); s.set_pixels(pixels); s.scale.set(1.0,flixel_FlxG.height); s.updateHitbox(); } else if(Math.abs(DirX) > 0 && Math.abs(DirY) > 0) { if(DirY > 0) { locY = flixel_FlxG.height; } else { locY = 0; } s.loadGraphic(this.getGradient()); s.set_flipX(DirX < 0); s.set_flipY(DirY < 0); } return s; } ,getGradient: function() { var rawBmp = new flixel_addons_transition__$TransitionFade_GraphicDiagonalGradient(0,0); var gdiag = rawBmp; var gdiag_scaled = new openfl_display_BitmapData(flixel_FlxG.width * 2,flixel_FlxG.height * 2,true); var m = new openfl_geom_Matrix(); m.scale(gdiag_scaled.width / gdiag.width,gdiag_scaled.height / gdiag.height); gdiag_scaled.draw(gdiag,m,null,null,null,true); var theColor = this._data.color; var final_pixels = new openfl_display_BitmapData(flixel_FlxG.width * 3,flixel_FlxG.height * 3,true,theColor); final_pixels.copyChannel(gdiag_scaled,gdiag_scaled.rect,new openfl_geom_Point(final_pixels.width - gdiag_scaled.width,final_pixels.height - gdiag_scaled.height),1,8); gdiag.dispose(); gdiag_scaled.dispose(); return final_pixels; } ,finishTween: function(f) { this.delayThenFinish(); } ,__class__: flixel_addons_transition_TransitionFade }); var flixel_addons_transition_TransitionTiles = function(data) { this._isCenter = false; flixel_addons_transition_TransitionEffect.call(this,data); this._grpSprites = new flixel_group_FlxTypedSpriteGroup(); var delay = 0; if(data.tileData == null) { data.tileData = { asset : null, width : 32, height : 32}; } var region = data.region; var tilesX = Math.ceil(region.width / data.tileData.width); var tilesY = Math.ceil(region.height / data.tileData.height); var maxTiles = tilesX > tilesY ? tilesX : tilesY; var dTime = data.duration / maxTiles; var xDelay = dTime * Math.abs(data.direction.x); var yDelay = dTime * Math.abs(data.direction.y); var addX = data.tileData.width; var addY = data.tileData.height; var tx = 0; var ty = 0; var startX = region.x | 0; var startY = region.y | 0; if(data.direction.x < 0) { addX *= -1; startX += region.width + addX | 0; } if(data.direction.y < 0) { addY *= -1; startY += region.height + addY | 0; } tx = startX; ty = startY; var _g1 = 0; var _g = tilesY; while(_g1 < _g) { var iy = _g1++; var _g3 = 0; var _g2 = tilesX; while(_g3 < _g2) { var ix = _g3++; var frameRate = 40; if(data.tileData.frameRate != null) { frameRate = data.tileData.frameRate; } var ts = new flixel_addons_transition_FlxTransitionSprite(tx,ty,delay,data.tileData.asset,data.tileData.width,data.tileData.height,frameRate); ts.set_color(data.color); ts.scrollFactor.set(0,0); this._grpSprites.add(ts); tx += addX; delay += xDelay; } ty += addY; tx = startX; delay = (iy + 1) * yDelay; } this.add(this._grpSprites); this._isCenter = data.direction.x == 0 && data.direction.y == 0; }; $hxClasses["flixel.addons.transition.TransitionTiles"] = flixel_addons_transition_TransitionTiles; flixel_addons_transition_TransitionTiles.__name__ = ["flixel","addons","transition","TransitionTiles"]; flixel_addons_transition_TransitionTiles.__super__ = flixel_addons_transition_TransitionEffect; flixel_addons_transition_TransitionTiles.prototype = $extend(flixel_addons_transition_TransitionEffect.prototype,{ _grpSprites: null ,_isCenter: null ,destroy: function() { flixel_addons_transition_TransitionEffect.prototype.destroy.call(this); this._grpSprites = null; } ,start: function(NewStatus) { flixel_addons_transition_TransitionEffect.prototype.start.call(this,NewStatus); this._grpSprites.group.forEach(function(t) { t.start(NewStatus); },false); } ,setStatus: function(NewStatus) { flixel_addons_transition_TransitionEffect.prototype.setStatus.call(this,NewStatus); this._grpSprites.group.forEach(function(t) { t.setStatus(NewStatus); },false); } ,update: function(elapsed) { flixel_addons_transition_TransitionEffect.prototype.update.call(this,elapsed); if(this._started) { var allDone = true; var _g = 0; var _g1 = this._grpSprites.group.members; while(_g < _g1.length) { var sprite = _g1[_g]; ++_g; if(sprite.status != -1 && sprite.status != this._endStatus) { allDone = false; break; } } if(allDone) { this._started = false; this.delayThenFinish(); } } } ,__class__: flixel_addons_transition_TransitionTiles }); var flixel_animation_FlxBaseAnimation = function(Parent,Name) { this.curIndex = 0; this.parent = Parent; this.name = Name; }; $hxClasses["flixel.animation.FlxBaseAnimation"] = flixel_animation_FlxBaseAnimation; flixel_animation_FlxBaseAnimation.__name__ = ["flixel","animation","FlxBaseAnimation"]; flixel_animation_FlxBaseAnimation.__interfaces__ = [flixel_util_IFlxDestroyable]; flixel_animation_FlxBaseAnimation.prototype = { parent: null ,name: null ,curIndex: null ,set_curIndex: function(Value) { this.curIndex = Value; if(this.parent != null && this.parent._curAnim == this) { this.parent.set_frameIndex(Value); } return Value; } ,destroy: function() { this.parent = null; this.name = null; } ,update: function(elapsed) { } ,clone: function(Parent) { return null; } ,__class__: flixel_animation_FlxBaseAnimation ,__properties__: {set_curIndex:"set_curIndex"} }; var flixel_animation_FlxAnimation = function(Parent,Name,Frames,FrameRate,Looped,FlipX,FlipY) { if(FlipY == null) { FlipY = false; } if(FlipX == null) { FlipX = false; } if(Looped == null) { Looped = true; } if(FrameRate == null) { FrameRate = 0; } this._frameTimer = 0; this.flipY = false; this.flipX = false; this.reversed = false; this.looped = true; this.paused = true; this.finished = true; this.delay = 0; this.curFrame = 0; flixel_animation_FlxBaseAnimation.call(this,Parent,Name); this.set_frameRate(FrameRate); this.frames = Frames; this.looped = Looped; this.flipX = FlipX; this.flipY = FlipY; }; $hxClasses["flixel.animation.FlxAnimation"] = flixel_animation_FlxAnimation; flixel_animation_FlxAnimation.__name__ = ["flixel","animation","FlxAnimation"]; flixel_animation_FlxAnimation.__super__ = flixel_animation_FlxBaseAnimation; flixel_animation_FlxAnimation.prototype = $extend(flixel_animation_FlxBaseAnimation.prototype,{ frameRate: null ,curFrame: null ,numFrames: null ,delay: null ,finished: null ,paused: null ,looped: null ,reversed: null ,flipX: null ,flipY: null ,frames: null ,_frameTimer: null ,destroy: function() { this.frames = null; this.name = null; flixel_animation_FlxBaseAnimation.prototype.destroy.call(this); } ,play: function(Force,Reversed,Frame) { if(Frame == null) { Frame = 0; } if(Reversed == null) { Reversed = false; } if(Force == null) { Force = false; } if(!Force && !this.finished && this.reversed == Reversed) { this.paused = false; this.finished = false; return; } this.reversed = Reversed; this.paused = false; this._frameTimer = 0; this.finished = this.delay == 0; var maxFrameIndex = this.frames.length - 1; if(Frame < 0) { this.set_curFrame(flixel_FlxG.random["int"](0,maxFrameIndex)); } else { if(Frame > maxFrameIndex) { Frame = maxFrameIndex; } if(this.reversed) { Frame = maxFrameIndex - Frame; } this.set_curFrame(Frame); } if(this.finished) { var _this = this.parent; if(_this.finishCallback != null) { _this.finishCallback(this.name); } } } ,restart: function() { this.play(true,this.reversed); } ,stop: function() { this.finished = true; this.paused = true; } ,reset: function() { this.stop(); this.set_curFrame(this.reversed ? this.frames.length - 1 : 0); } ,finish: function() { this.stop(); this.set_curFrame(this.reversed ? 0 : this.frames.length - 1); } ,pause: function() { this.paused = true; } ,resume: function() { this.paused = false; } ,reverse: function() { this.reversed = !this.reversed; if(this.finished) { this.play(false,this.reversed); } } ,update: function(elapsed) { if(this.delay == 0 || this.finished || this.paused) { return; } this._frameTimer += elapsed; while(this._frameTimer > this.delay && !this.finished) { this._frameTimer -= this.delay; if(this.reversed) { if(this.looped && this.curFrame == 0) { this.set_curFrame(this.frames.length - 1); } else { var _g = this; var _g1 = _g.curFrame; _g.set_curFrame(_g1 - 1); } } else if(this.looped && this.curFrame == this.frames.length - 1) { this.set_curFrame(0); } else { var _g2 = this; var _g11 = _g2.curFrame; _g2.set_curFrame(_g11 + 1); } } } ,clone: function(Parent) { return new flixel_animation_FlxAnimation(Parent,this.name,this.frames,this.frameRate,this.looped,this.flipX,this.flipY); } ,set_frameRate: function(value) { this.delay = 0; this.frameRate = value; if(value > 0) { this.delay = 1.0 / value; } return value; } ,set_curFrame: function(Frame) { var maxFrameIndex = this.frames.length - 1; var tempFrame = this.reversed ? maxFrameIndex - Frame : Frame; if(tempFrame >= 0) { if(!this.looped && Frame > maxFrameIndex) { this.finished = true; this.curFrame = this.reversed ? 0 : maxFrameIndex; } else { this.curFrame = Frame; } } else { this.curFrame = flixel_FlxG.random["int"](0,maxFrameIndex); } this.set_curIndex(this.frames[this.curFrame]); if(this.finished && this.parent != null) { var _this = this.parent; if(_this.finishCallback != null) { _this.finishCallback(this.name); } } return Frame; } ,get_numFrames: function() { return this.frames.length; } ,__class__: flixel_animation_FlxAnimation ,__properties__: $extend(flixel_animation_FlxBaseAnimation.prototype.__properties__,{get_numFrames:"get_numFrames",set_curFrame:"set_curFrame",set_frameRate:"set_frameRate"}) }); var flixel_animation_FlxAnimationController = function(Sprite) { this.frameIndex = -1; this._sprite = Sprite; this._animations = new haxe_ds_StringMap(); }; $hxClasses["flixel.animation.FlxAnimationController"] = flixel_animation_FlxAnimationController; flixel_animation_FlxAnimationController.__name__ = ["flixel","animation","FlxAnimationController"]; flixel_animation_FlxAnimationController.__interfaces__ = [flixel_util_IFlxDestroyable]; flixel_animation_FlxAnimationController.prototype = { frameIndex: null ,frames: null ,callback: null ,finishCallback: null ,_sprite: null ,_curAnim: null ,_animations: null ,_prerotated: null ,update: function(elapsed) { if(this._curAnim != null) { this._curAnim.update(elapsed); } else if(this._prerotated != null) { this._prerotated.set_angle(this._sprite.angle); } } ,copyFrom: function(controller) { this.destroyAnimations(); var _this = controller._animations; var anim = new haxe_ds__$StringMap_StringMapIterator(_this,_this.arrayKeys()); while(anim.hasNext()) { var anim1 = anim.next(); this.add(anim1.name,anim1.frames,anim1.frameRate,anim1.looped,anim1.flipX,anim1.flipY); } if(controller._prerotated != null) { this.createPrerotated(); } if(controller.get_name() != null) { this.set_name(controller.get_name()); } this.set_frameIndex(controller.frameIndex); return this; } ,createPrerotated: function(Controller) { this.destroyAnimations(); if(Controller != null) { Controller = Controller; } else { Controller = this; } this._prerotated = new flixel_animation_FlxPrerotatedAnimation(Controller,Controller._sprite.bakedRotationAngle); this._prerotated.set_angle(this._sprite.angle); } ,destroyAnimations: function() { this.clearAnimations(); this.clearPrerotated(); } ,destroy: function() { this.destroyAnimations(); this._animations = null; this.callback = null; this._sprite = null; } ,clearPrerotated: function() { if(this._prerotated != null) { this._prerotated.destroy(); } this._prerotated = null; } ,clearAnimations: function() { if(this._animations != null) { var anim; var key = this._animations.keys(); while(key.hasNext()) { var key1 = key.next(); var _this = this._animations; if(__map_reserved[key1] != null) { anim = _this.getReserved(key1); } else { anim = _this.h[key1]; } if(anim != null) { anim.destroy(); } } } this._animations = new haxe_ds_StringMap(); this._curAnim = null; } ,add: function(Name,Frames,FrameRate,Looped,FlipX,FlipY) { if(FlipY == null) { FlipY = false; } if(FlipX == null) { FlipX = false; } if(Looped == null) { Looped = true; } if(FrameRate == null) { FrameRate = 30; } var framesToAdd = Frames; var numFrames = framesToAdd.length - 1; var i = numFrames; while(i >= 0) { if(framesToAdd[i] >= this._sprite.numFrames) { if(framesToAdd == Frames) { framesToAdd = Frames.slice(); } framesToAdd.splice(i,1); } --i; } if(framesToAdd.length > 0) { var anim = new flixel_animation_FlxAnimation(this,Name,framesToAdd,FrameRate,Looped,FlipX,FlipY); var _this = this._animations; if(__map_reserved[Name] != null) { _this.setReserved(Name,anim); } else { _this.h[Name] = anim; } } } ,remove: function(Name) { var _this = this._animations; var anim = __map_reserved[Name] != null ? _this.getReserved(Name) : _this.h[Name]; if(anim != null) { this._animations.remove(Name); anim.destroy(); } } ,append: function(Name,Frames) { var _this = this._animations; var anim = __map_reserved[Name] != null ? _this.getReserved(Name) : _this.h[Name]; if(anim == null) { var _this1 = flixel_FlxG.log; return; } var numFrames = Frames.length - 1; var i = numFrames; while(i >= 0) { if(Frames[numFrames - i] < this._sprite.numFrames) { anim.frames.push(Frames[numFrames - i]); } --i; } } ,addByNames: function(Name,FrameNames,FrameRate,Looped,FlipX,FlipY) { if(FlipY == null) { FlipY = false; } if(FlipX == null) { FlipX = false; } if(Looped == null) { Looped = true; } if(FrameRate == null) { FrameRate = 30; } if(this._sprite.frames != null) { var indices = []; this.byNamesHelper(indices,FrameNames); if(indices.length > 0) { var anim = new flixel_animation_FlxAnimation(this,Name,indices,FrameRate,Looped,FlipX,FlipY); var _this = this._animations; if(__map_reserved[Name] != null) { _this.setReserved(Name,anim); } else { _this.h[Name] = anim; } } } } ,appendByNames: function(Name,FrameNames) { var _this = this._animations; var anim = __map_reserved[Name] != null ? _this.getReserved(Name) : _this.h[Name]; if(anim == null) { var _this1 = flixel_FlxG.log; return; } if(this._sprite.frames != null) { this.byNamesHelper(anim.frames,FrameNames); } } ,addByStringIndices: function(Name,Prefix,Indices,Postfix,FrameRate,Looped,FlipX,FlipY) { if(FlipY == null) { FlipY = false; } if(FlipX == null) { FlipX = false; } if(Looped == null) { Looped = true; } if(FrameRate == null) { FrameRate = 30; } if(this._sprite.frames != null) { var frameIndices = []; this.byStringIndicesHelper(frameIndices,Prefix,Indices,Postfix); if(frameIndices.length > 0) { var anim = new flixel_animation_FlxAnimation(this,Name,frameIndices,FrameRate,Looped,FlipX,FlipY); var _this = this._animations; if(__map_reserved[Name] != null) { _this.setReserved(Name,anim); } else { _this.h[Name] = anim; } } } } ,appendByStringIndices: function(Name,Prefix,Indices,Postfix) { var _this = this._animations; var anim = __map_reserved[Name] != null ? _this.getReserved(Name) : _this.h[Name]; if(anim == null) { var _this1 = flixel_FlxG.log; return; } if(this._sprite.frames != null) { this.byStringIndicesHelper(anim.frames,Prefix,Indices,Postfix); } } ,addByIndices: function(Name,Prefix,Indices,Postfix,FrameRate,Looped,FlipX,FlipY) { if(FlipY == null) { FlipY = false; } if(FlipX == null) { FlipX = false; } if(Looped == null) { Looped = true; } if(FrameRate == null) { FrameRate = 30; } if(this._sprite.frames != null) { var frameIndices = []; this.byIndicesHelper(frameIndices,Prefix,Indices,Postfix); if(frameIndices.length > 0) { var anim = new flixel_animation_FlxAnimation(this,Name,frameIndices,FrameRate,Looped,FlipX,FlipY); var _this = this._animations; if(__map_reserved[Name] != null) { _this.setReserved(Name,anim); } else { _this.h[Name] = anim; } } } } ,appendByIndices: function(Name,Prefix,Indices,Postfix) { var _this = this._animations; var anim = __map_reserved[Name] != null ? _this.getReserved(Name) : _this.h[Name]; if(anim == null) { var _this1 = flixel_FlxG.log; return; } if(this._sprite.frames != null) { this.byIndicesHelper(anim.frames,Prefix,Indices,Postfix); } } ,findSpriteFrame: function(Prefix,Index,Postfix) { var numFrames = this._sprite.numFrames; var flxFrames = this._sprite.frames.frames; var _g1 = 0; var _g = numFrames; while(_g1 < _g) { var i = _g1++; var name = flxFrames[i].name; if(StringTools.startsWith(name,Prefix) && StringTools.endsWith(name,Postfix)) { var index = Std.parseInt(name.substring(Prefix.length,name.length - Postfix.length)); if(index != null && index == Index) { return i; } } } return -1; } ,addByPrefix: function(Name,Prefix,FrameRate,Looped,FlipX,FlipY) { if(FlipY == null) { FlipY = false; } if(FlipX == null) { FlipX = false; } if(Looped == null) { Looped = true; } if(FrameRate == null) { FrameRate = 30; } if(this._sprite.frames != null) { var animFrames = []; this.findByPrefix(animFrames,Prefix); if(animFrames.length > 0) { var frameIndices = []; this.byPrefixHelper(frameIndices,animFrames,Prefix); if(frameIndices.length > 0) { var anim = new flixel_animation_FlxAnimation(this,Name,frameIndices,FrameRate,Looped,FlipX,FlipY); var _this = this._animations; if(__map_reserved[Name] != null) { _this.setReserved(Name,anim); } else { _this.h[Name] = anim; } } } } } ,appendByPrefix: function(Name,Prefix) { var _this = this._animations; var anim = __map_reserved[Name] != null ? _this.getReserved(Name) : _this.h[Name]; if(anim == null) { var _this1 = flixel_FlxG.log; return; } if(this._sprite.frames != null) { var animFrames = []; this.findByPrefix(animFrames,Prefix); if(animFrames.length > 0) { this.byPrefixHelper(anim.frames,animFrames,Prefix); } } } ,play: function(AnimName,Force,Reversed,Frame) { if(Frame == null) { Frame = 0; } if(Reversed == null) { Reversed = false; } if(Force == null) { Force = false; } if(AnimName == null) { if(this._curAnim != null) { this._curAnim.stop(); } this._curAnim = null; } var tmp; if(AnimName != null) { var _this = this._animations; tmp = (__map_reserved[AnimName] != null ? _this.getReserved(AnimName) : _this.h[AnimName]) == null; } else { tmp = true; } if(tmp) { var _this1 = flixel_FlxG.log; return; } var oldFlipX = false; var oldFlipY = false; if(this._curAnim != null && AnimName != this._curAnim.name) { oldFlipX = this._curAnim.flipX; oldFlipY = this._curAnim.flipY; this._curAnim.stop(); } var _this2 = this._animations; this._curAnim = __map_reserved[AnimName] != null ? _this2.getReserved(AnimName) : _this2.h[AnimName]; this._curAnim.play(Force,Reversed,Frame); if(oldFlipX != this._curAnim.flipX || oldFlipY != this._curAnim.flipY) { this._sprite.dirty = true; } } ,reset: function() { if(this._curAnim != null) { this._curAnim.reset(); } } ,finish: function() { if(this._curAnim != null) { this._curAnim.finish(); } } ,stop: function() { if(this._curAnim != null) { this._curAnim.stop(); } } ,pause: function() { if(this._curAnim != null) { this._curAnim.pause(); } } ,resume: function() { if(this._curAnim != null) { this._curAnim.paused = false; } } ,reverse: function() { if(this._curAnim != null) { this._curAnim.reverse(); } } ,getByName: function(Name) { var _this = this._animations; if(__map_reserved[Name] != null) { return _this.getReserved(Name); } else { return _this.h[Name]; } } ,randomFrame: function() { if(this._curAnim != null) { this._curAnim.stop(); this._curAnim = null; } this.set_frameIndex(flixel_FlxG.random["int"](0,this._sprite.numFrames - 1)); } ,fireCallback: function() { if(this.callback != null) { var name = this._curAnim != null ? this._curAnim.name : null; var number = this._curAnim != null ? this._curAnim.curFrame : this.frameIndex; this.callback(name,number,this.frameIndex); } } ,fireFinishCallback: function(name) { if(this.finishCallback != null) { this.finishCallback(name); } } ,byNamesHelper: function(AddTo,FrameNames) { var _g = 0; while(_g < FrameNames.length) { var frameName = FrameNames[_g]; ++_g; var _this = this._sprite.frames.framesHash; if(__map_reserved[frameName] != null ? _this.existsReserved(frameName) : _this.h.hasOwnProperty(frameName)) { var _this1 = this._sprite.frames.framesHash; var frameToAdd = __map_reserved[frameName] != null ? _this1.getReserved(frameName) : _this1.h[frameName]; AddTo.push(this._sprite.frames.frames.indexOf(frameToAdd)); } } } ,byStringIndicesHelper: function(AddTo,Prefix,Indices,Postfix) { var _g = 0; while(_g < Indices.length) { var index = Indices[_g]; ++_g; var name = Prefix + index + Postfix; var _this = this._sprite.frames.framesHash; if(__map_reserved[name] != null ? _this.existsReserved(name) : _this.h.hasOwnProperty(name)) { var _this1 = this._sprite.frames.framesHash; var frameToAdd = __map_reserved[name] != null ? _this1.getReserved(name) : _this1.h[name]; AddTo.push(this._sprite.frames.frames.indexOf(frameToAdd)); } } } ,byIndicesHelper: function(AddTo,Prefix,Indices,Postfix) { var _g = 0; while(_g < Indices.length) { var index = Indices[_g]; ++_g; var indexToAdd = this.findSpriteFrame(Prefix,index,Postfix); if(indexToAdd != -1) { AddTo.push(indexToAdd); } } } ,byPrefixHelper: function(AddTo,AnimFrames,Prefix) { var name = AnimFrames[0].name; var postIndex = name.indexOf(".",Prefix.length); var postFix = name.substring(postIndex == -1 ? name.length : postIndex,name.length); flixel_graphics_frames_FlxFrame.sort(AnimFrames,Prefix.length,postFix.length); var _g = 0; while(_g < AnimFrames.length) { var animFrame = AnimFrames[_g]; ++_g; AddTo.push(this._sprite.frames.frames.indexOf(animFrame)); } } ,findByPrefix: function(AnimFrames,Prefix) { var _g = 0; var _g1 = this._sprite.frames.frames; while(_g < _g1.length) { var frame = _g1[_g]; ++_g; if(frame.name != null && StringTools.startsWith(frame.name,Prefix)) { AnimFrames.push(frame); } } } ,set_frameIndex: function(Frame) { if(this._sprite.frames != null && this._sprite.numFrames > 0) { Frame %= this._sprite.numFrames; this._sprite.set_frame(this._sprite.frames.frames[Frame]); this.frameIndex = Frame; if(this.callback != null) { var name = this._curAnim != null ? this._curAnim.name : null; var number = this._curAnim != null ? this._curAnim.curFrame : this.frameIndex; this.callback(name,number,this.frameIndex); } } return this.frameIndex; } ,get_frameName: function() { return this._sprite.frame.name; } ,set_frameName: function(Value) { var tmp; if(this._sprite.frames != null) { var _this = this._sprite.frames.framesHash; if(__map_reserved[Value] != null) { tmp = _this.existsReserved(Value); } else { tmp = _this.h.hasOwnProperty(Value); } } else { tmp = false; } if(tmp) { if(this._curAnim != null) { this._curAnim.stop(); this._curAnim = null; } var _this1 = this._sprite.frames.framesHash; var frame = __map_reserved[Value] != null ? _this1.getReserved(Value) : _this1.h[Value]; if(frame != null) { this.set_frameIndex(this._sprite.frames.frames.indexOf(frame)); } } return Value; } ,get_name: function() { var animName = null; if(this._curAnim != null) { animName = this._curAnim.name; } return animName; } ,set_name: function(AnimName) { this.play(AnimName); return AnimName; } ,get_curAnim: function() { return this._curAnim; } ,set_curAnim: function(Anim) { if(Anim != this._curAnim) { if(this._curAnim != null) { this._curAnim.stop(); } if(Anim != null) { Anim.play(); } } return this._curAnim = Anim; } ,get_paused: function() { var paused = false; if(this._curAnim != null) { paused = this._curAnim.paused; } return paused; } ,set_paused: function(Value) { if(this._curAnim != null) { if(Value) { this._curAnim.pause(); } else { this._curAnim.paused = false; } } return Value; } ,get_finished: function() { var finished = true; if(this._curAnim != null) { finished = this._curAnim.finished; } return finished; } ,set_finished: function(Value) { if(Value && this._curAnim != null) { this._curAnim.finish(); } return Value; } ,get_frames: function() { return this._sprite.numFrames; } ,getFrameIndex: function(Frame) { return this._sprite.frames.frames.indexOf(Frame); } ,__class__: flixel_animation_FlxAnimationController ,__properties__: {get_frames:"get_frames",set_finished:"set_finished",get_finished:"get_finished",set_paused:"set_paused",get_paused:"get_paused",set_name:"set_name",get_name:"get_name",set_frameName:"set_frameName",get_frameName:"get_frameName",set_frameIndex:"set_frameIndex",set_curAnim:"set_curAnim",get_curAnim:"get_curAnim"} }; var flixel_animation_FlxPrerotatedAnimation = function(Parent,Baked) { this.angle = 0; flixel_animation_FlxBaseAnimation.call(this,Parent,"prerotated_animation"); this.baked = Baked; this.rotations = Math.round(360 / Baked); }; $hxClasses["flixel.animation.FlxPrerotatedAnimation"] = flixel_animation_FlxPrerotatedAnimation; flixel_animation_FlxPrerotatedAnimation.__name__ = ["flixel","animation","FlxPrerotatedAnimation"]; flixel_animation_FlxPrerotatedAnimation.__super__ = flixel_animation_FlxBaseAnimation; flixel_animation_FlxPrerotatedAnimation.prototype = $extend(flixel_animation_FlxBaseAnimation.prototype,{ rotations: null ,baked: null ,angle: null ,set_angle: function(Value) { if(isNaN(Value)) { throw new js__$Boot_HaxeError("angle must not be NaN"); } var oldIndex = this.curIndex; var angleHelper = Math.floor(Value % 360); while(angleHelper < 0) angleHelper += 360; var newIndex = Math.floor(angleHelper / this.baked + 0.5); newIndex = newIndex % this.rotations | 0; if(oldIndex != newIndex) { this.set_curIndex(newIndex); } return this.angle = Value; } ,set_curIndex: function(Value) { this.curIndex = Value; if(this.parent != null) { this.parent.set_frameIndex(Value); } return Value; } ,clone: function(Parent) { return new flixel_animation_FlxPrerotatedAnimation(Parent,this.baked); } ,__class__: flixel_animation_FlxPrerotatedAnimation ,__properties__: $extend(flixel_animation_FlxBaseAnimation.prototype.__properties__,{set_angle:"set_angle"}) }); var flixel_util_FlxPool_$flixel_$effects_$FlxFlicker = function(classObj) { this._count = 0; this._pool = []; this._class = classObj; }; $hxClasses["flixel.util.FlxPool_flixel_effects_FlxFlicker"] = flixel_util_FlxPool_$flixel_$effects_$FlxFlicker; flixel_util_FlxPool_$flixel_$effects_$FlxFlicker.__name__ = ["flixel","util","FlxPool_flixel_effects_FlxFlicker"]; flixel_util_FlxPool_$flixel_$effects_$FlxFlicker.__interfaces__ = [flixel_util_IFlxPool]; flixel_util_FlxPool_$flixel_$effects_$FlxFlicker.prototype = { _pool: null ,_class: null ,_count: null ,get: function() { if(this._count == 0) { return Type.createInstance(this._class,[]); } return this._pool[--this._count]; } ,put: function(obj) { if(obj != null) { var i = this._pool.indexOf(obj); if(i == -1 || i >= this._count) { obj.destroy(); this._pool[this._count++] = obj; } } } ,putUnsafe: function(obj) { if(obj != null) { obj.destroy(); this._pool[this._count++] = obj; } } ,preAllocate: function(numObjects) { while(numObjects-- > 0) this._pool[this._count++] = Type.createInstance(this._class,[]); } ,clear: function() { this._count = 0; var oldPool = this._pool; this._pool = []; return oldPool; } ,get_length: function() { return this._count; } ,__class__: flixel_util_FlxPool_$flixel_$effects_$FlxFlicker ,__properties__: {get_length:"get_length"} }; var flixel_effects_FlxFlicker = function() { }; $hxClasses["flixel.effects.FlxFlicker"] = flixel_effects_FlxFlicker; flixel_effects_FlxFlicker.__name__ = ["flixel","effects","FlxFlicker"]; flixel_effects_FlxFlicker.__interfaces__ = [flixel_util_IFlxDestroyable]; flixel_effects_FlxFlicker.flicker = function(Object,Duration,Interval,EndVisibility,ForceRestart,CompletionCallback,ProgressCallback) { if(ForceRestart == null) { ForceRestart = true; } if(EndVisibility == null) { EndVisibility = true; } if(Interval == null) { Interval = 0.04; } if(Duration == null) { Duration = 1; } if(flixel_effects_FlxFlicker.isFlickering(Object)) { if(ForceRestart) { flixel_effects_FlxFlicker.stopFlickering(Object); } else { return flixel_effects_FlxFlicker._boundObjects.h[Object.__id__]; } } if(Interval <= 0) { Interval = flixel_FlxG.elapsed; } var flicker = flixel_effects_FlxFlicker._pool.get(); flicker.start(Object,Duration,Interval,EndVisibility,CompletionCallback,ProgressCallback); flixel_effects_FlxFlicker._boundObjects.set(Object,flicker); return flicker; }; flixel_effects_FlxFlicker.isFlickering = function(Object) { return flixel_effects_FlxFlicker._boundObjects.h.__keys__[Object.__id__] != null; }; flixel_effects_FlxFlicker.stopFlickering = function(Object) { var boundFlicker = flixel_effects_FlxFlicker._boundObjects.h[Object.__id__]; if(boundFlicker != null) { boundFlicker.stop(); } }; flixel_effects_FlxFlicker.prototype = { object: null ,endVisibility: null ,timer: null ,completionCallback: null ,progressCallback: null ,duration: null ,interval: null ,destroy: function() { this.object = null; this.timer = null; this.completionCallback = null; this.progressCallback = null; } ,start: function(Object,Duration,Interval,EndVisibility,CompletionCallback,ProgressCallback) { this.object = Object; this.duration = Duration; this.interval = Interval; this.completionCallback = CompletionCallback; this.progressCallback = ProgressCallback; this.endVisibility = EndVisibility; var tmp = this.duration / this.interval | 0; this.timer = new flixel_util_FlxTimer().start(this.interval,$bind(this,this.flickerProgress),tmp); } ,stop: function() { this.timer.cancel(); this.object.set_visible(true); this.release(); } ,release: function() { flixel_effects_FlxFlicker._boundObjects.remove(this.object); flixel_effects_FlxFlicker._pool.put(this); } ,flickerProgress: function(Timer) { this.object.set_visible(!this.object.visible); if(this.progressCallback != null) { this.progressCallback(this); } if(Timer.loops > 0 && Timer.loops - Timer._loopsCounter == 0) { this.object.set_visible(this.endVisibility); if(this.completionCallback != null) { this.completionCallback(this); } this.release(); } } ,__class__: flixel_effects_FlxFlicker }; var flixel_effects_particles_FlxTypedEmitter = function(X,Y,Size) { if(Size == null) { Size = 0; } if(Y == null) { Y = 0; } if(X == null) { X = 0; } this._waitForKill = false; var point = flixel_math_FlxPoint._pool.get().set(0,0); point._inPool = false; this._point = point; this._counter = 0; this._timer = 0; this._explode = true; this._quantity = 0; this.allowCollisions = 0; this.autoUpdateHitbox = false; this.immovable = false; this.elasticity = new flixel_util_helpers_FlxRangeBounds(0); this.acceleration = new flixel_util_helpers_FlxPointRangeBounds(0,0); this.drag = new flixel_util_helpers_FlxPointRangeBounds(0,0); this.color = new flixel_util_helpers_FlxRangeBounds(-1,-1); this.alpha = new flixel_util_helpers_FlxRangeBounds(1); this.scale = new flixel_util_helpers_FlxPointRangeBounds(1,1); this.lifespan = new flixel_util_helpers_FlxBounds(3); this.launchAngle = new flixel_util_helpers_FlxBounds(-180,180); this.ignoreAngularVelocity = false; this.angle = new flixel_util_helpers_FlxRangeBounds(0); this.angularVelocity = new flixel_util_helpers_FlxRangeBounds(0,0); this.angularDrag = new flixel_util_helpers_FlxRangeBounds(0,0); this.angularAcceleration = new flixel_util_helpers_FlxRangeBounds(0,0); this.speed = new flixel_util_helpers_FlxRangeBounds(0,100); this.velocity = new flixel_util_helpers_FlxPointRangeBounds(-100,-100,100,100); this.keepScaleRatio = false; this.launchMode = flixel_effects_particles_FlxEmitterMode.CIRCLE; this.height = 0; this.width = 0; this.y = 0; this.x = 0; this.frequency = 0.1; this.emitting = false; this.particleClass = flixel_effects_particles_FlxParticle; flixel_group_FlxTypedGroup.call(this,Size); this.x = X; this.y = Y; this.set_exists(false); }; $hxClasses["flixel.effects.particles.FlxTypedEmitter"] = flixel_effects_particles_FlxTypedEmitter; flixel_effects_particles_FlxTypedEmitter.__name__ = ["flixel","effects","particles","FlxTypedEmitter"]; flixel_effects_particles_FlxTypedEmitter.__super__ = flixel_group_FlxTypedGroup; flixel_effects_particles_FlxTypedEmitter.prototype = $extend(flixel_group_FlxTypedGroup.prototype,{ particleClass: null ,emitting: null ,frequency: null ,blend: null ,x: null ,y: null ,width: null ,height: null ,launchMode: null ,keepScaleRatio: null ,velocity: null ,speed: null ,angularAcceleration: null ,angularDrag: null ,angularVelocity: null ,angle: null ,ignoreAngularVelocity: null ,launchAngle: null ,lifespan: null ,scale: null ,alpha: null ,color: null ,drag: null ,acceleration: null ,elasticity: null ,immovable: null ,autoUpdateHitbox: null ,allowCollisions: null ,_quantity: null ,_explode: null ,_timer: null ,_counter: null ,_point: null ,_waitForKill: null ,destroy: function() { this.velocity = flixel_util_FlxDestroyUtil.destroy(this.velocity); this.scale = flixel_util_FlxDestroyUtil.destroy(this.scale); this.drag = flixel_util_FlxDestroyUtil.destroy(this.drag); this.acceleration = flixel_util_FlxDestroyUtil.destroy(this.acceleration); this._point = flixel_util_FlxDestroyUtil.put(this._point); this.blend = null; this.angularAcceleration = null; this.angularDrag = null; this.angularVelocity = null; this.angle = null; this.speed = null; this.launchAngle = null; this.lifespan = null; this.alpha = null; this.color = null; this.elasticity = null; flixel_group_FlxTypedGroup.prototype.destroy.call(this); } ,loadParticles: function(Graphics,Quantity,bakedRotationAngles,Multiple,AutoBuffer) { if(AutoBuffer == null) { AutoBuffer = false; } if(Multiple == null) { Multiple = false; } if(bakedRotationAngles == null) { bakedRotationAngles = 16; } if(Quantity == null) { Quantity = 50; } this.set_maxSize(Quantity); var totalFrames = 1; if(Multiple) { var sprite = new flixel_FlxSprite(); sprite.loadGraphic(Graphics,true); totalFrames = sprite.numFrames; sprite.destroy(); } var _g1 = 0; var _g = Quantity; while(_g1 < _g) { var i = _g1++; this.add(this.loadParticle(Graphics,Quantity,bakedRotationAngles,Multiple,AutoBuffer,totalFrames)); } return this; } ,loadParticle: function(Graphics,Quantity,bakedRotationAngles,Multiple,AutoBuffer,totalFrames) { if(AutoBuffer == null) { AutoBuffer = false; } if(Multiple == null) { Multiple = false; } var particle = Type.createInstance(this.particleClass,[]); var frame = Multiple ? flixel_FlxG.random["int"](0,totalFrames - 1) : -1; if(flixel_FlxG.renderBlit && bakedRotationAngles > 0) { particle.loadRotatedGraphic(Graphics,bakedRotationAngles,frame,false,AutoBuffer); } else { particle.loadGraphic(Graphics,Multiple); } if(Multiple) { particle.animation.set_frameIndex(frame); } return particle; } ,makeParticles: function(Width,Height,Color,Quantity) { if(Quantity == null) { Quantity = 50; } if(Color == null) { Color = -1; } if(Height == null) { Height = 2; } if(Width == null) { Width = 2; } var _g1 = 0; var _g = Quantity; while(_g1 < _g) { var i = _g1++; var particle = Type.createInstance(this.particleClass,[]); particle.makeGraphic(Width,Height,Color); this.add(particle); } return this; } ,update: function(elapsed) { if(this.emitting) { if(this._explode) { this.explode(); } else { this.emitContinuously(elapsed); } } else if(this._waitForKill) { this._timer += elapsed; if(this.lifespan.max > 0 && this._timer > this.lifespan.max) { this.kill(); return; } } flixel_group_FlxTypedGroup.prototype.update.call(this,elapsed); } ,explode: function() { var amount = this._quantity; if(amount <= 0 || amount > this.length) { amount = this.length; } var _g1 = 0; var _g = amount; while(_g1 < _g) { var i = _g1++; this.emitParticle(); } this.onFinished(); } ,emitContinuously: function(elapsed) { if(this.frequency <= 0) { this.emitParticleContinuously(); } else { this._timer += elapsed; while(this._timer > this.frequency) { this._timer -= this.frequency; this.emitParticleContinuously(); } } } ,emitParticleContinuously: function() { this.emitParticle(); this._counter++; if(this._quantity > 0 && this._counter >= this._quantity) { this.onFinished(); } } ,onFinished: function() { this.emitting = false; this._waitForKill = true; this._quantity = 0; } ,kill: function() { this.emitting = false; this._waitForKill = false; flixel_group_FlxTypedGroup.prototype.kill.call(this); } ,start: function(Explode,Frequency,Quantity) { if(Quantity == null) { Quantity = 0; } if(Frequency == null) { Frequency = 0.1; } if(Explode == null) { Explode = true; } this.set_exists(true); this.set_visible(true); this.emitting = true; this._explode = Explode; this.frequency = Frequency; this._quantity += Quantity; this._counter = 0; this._timer = 0; this._waitForKill = false; return this; } ,emitParticle: function() { var particle = this.recycle(this.particleClass); particle.reset(0,0); particle.set_blend(this.blend); particle.set_immovable(this.immovable); particle.set_solid((this.allowCollisions & 4369) > 0); particle.set_allowCollisions(this.allowCollisions); particle.autoUpdateHitbox = this.autoUpdateHitbox; if(this.lifespan.active) { particle.lifespan = flixel_FlxG.random["float"](this.lifespan.min,this.lifespan.max); } if(this.velocity.active) { var tmp; if(particle.lifespan > 0) { var _this = particle.velocityRange.start; var point = particle.velocityRange.end; var result = Math.abs(_this.x - point.x) <= 0.0000001 && Math.abs(_this.y - point.y) <= 0.0000001; if(point._weak) { point.put(); } tmp = !result; } else { tmp = false; } particle.velocityRange.active = tmp; if(this.launchMode == flixel_effects_particles_FlxEmitterMode.CIRCLE) { var particleAngle = 0; if(this.launchAngle.active) { particleAngle = flixel_FlxG.random["float"](this.launchAngle.min,this.launchAngle.max); } var Speed = flixel_FlxG.random["float"](this.speed.start.min,this.speed.start.max); var a = particleAngle * (Math.PI / 180); var X = Math.cos(a) * Speed; var Y = Math.sin(a) * Speed; var point1 = flixel_math_FlxPoint._pool.get().set(X,Y); point1._inPool = false; this._point = point1; particle.velocity.set_x(this._point.x); particle.velocity.set_y(this._point.y); particle.velocityRange.start.set(this._point.x,this._point.y); var Speed1 = flixel_FlxG.random["float"](this.speed.end.min,this.speed.end.max); var a1 = particleAngle * (Math.PI / 180); var X1 = Math.cos(a1) * Speed1; var Y1 = Math.sin(a1) * Speed1; var point2 = flixel_math_FlxPoint._pool.get().set(X1,Y1); point2._inPool = false; this._point = point2; particle.velocityRange.end.set(this._point.x,this._point.y); } else { particle.velocityRange.start.set_x(flixel_FlxG.random["float"](this.velocity.start.min.x,this.velocity.start.max.x)); particle.velocityRange.start.set_y(flixel_FlxG.random["float"](this.velocity.start.min.y,this.velocity.start.max.y)); particle.velocityRange.end.set_x(flixel_FlxG.random["float"](this.velocity.end.min.x,this.velocity.end.max.x)); particle.velocityRange.end.set_y(flixel_FlxG.random["float"](this.velocity.end.min.y,this.velocity.end.max.y)); particle.velocity.set_x(particle.velocityRange.start.x); particle.velocity.set_y(particle.velocityRange.start.y); } } else { particle.velocityRange.active = false; } particle.angularVelocityRange.active = particle.lifespan > 0 && this.angularVelocity.start != this.angularVelocity.end; if(!this.ignoreAngularVelocity) { if(this.angularAcceleration.active) { particle.angularAcceleration = flixel_FlxG.random["float"](this.angularAcceleration.start.min,this.angularAcceleration.start.max); } if(this.angularVelocity.active) { particle.angularVelocityRange.start = flixel_FlxG.random["float"](this.angularVelocity.start.min,this.angularVelocity.start.max); particle.angularVelocityRange.end = flixel_FlxG.random["float"](this.angularVelocity.end.min,this.angularVelocity.end.max); particle.angularVelocity = particle.angularVelocityRange.start; } if(this.angularDrag.active) { particle.angularDrag = flixel_FlxG.random["float"](this.angularDrag.start.min,this.angularDrag.start.max); } } else if(this.angularVelocity.active) { particle.angularVelocity = (flixel_FlxG.random["float"](this.angle.end.min,this.angle.end.max) - flixel_FlxG.random["float"](this.angle.start.min,this.angle.start.max)) / flixel_FlxG.random["float"](this.lifespan.min,this.lifespan.max); particle.angularVelocityRange.active = false; } if(this.angle.active) { particle.set_angle(flixel_FlxG.random["float"](this.angle.start.min,this.angle.start.max)); } if(this.scale.active) { particle.scaleRange.start.set_x(flixel_FlxG.random["float"](this.scale.start.min.x,this.scale.start.max.x)); particle.scaleRange.start.set_y(this.keepScaleRatio ? particle.scaleRange.start.x : flixel_FlxG.random["float"](this.scale.start.min.y,this.scale.start.max.y)); particle.scaleRange.end.set_x(flixel_FlxG.random["float"](this.scale.end.min.x,this.scale.end.max.x)); particle.scaleRange.end.set_y(this.keepScaleRatio ? particle.scaleRange.end.x : flixel_FlxG.random["float"](this.scale.end.min.y,this.scale.end.max.y)); var tmp1; if(particle.lifespan > 0) { var _this1 = particle.scaleRange.start; var point3 = particle.scaleRange.end; var result1 = Math.abs(_this1.x - point3.x) <= 0.0000001 && Math.abs(_this1.y - point3.y) <= 0.0000001; if(point3._weak) { point3.put(); } tmp1 = !result1; } else { tmp1 = false; } particle.scaleRange.active = tmp1; particle.scale.set_x(particle.scaleRange.start.x); particle.scale.set_y(particle.scaleRange.start.y); if(particle.autoUpdateHitbox) { particle.updateHitbox(); } } else { particle.scaleRange.active = false; } if(this.alpha.active) { particle.alphaRange.start = flixel_FlxG.random["float"](this.alpha.start.min,this.alpha.start.max); particle.alphaRange.end = flixel_FlxG.random["float"](this.alpha.end.min,this.alpha.end.max); particle.alphaRange.active = particle.lifespan > 0 && particle.alphaRange.start != particle.alphaRange.end; particle.set_alpha(particle.alphaRange.start); } else { particle.alphaRange.active = false; } if(this.color.active) { particle.colorRange.start = flixel_FlxG.random.color(this.color.start.min,this.color.start.max); particle.colorRange.end = flixel_FlxG.random.color(this.color.end.min,this.color.end.max); particle.colorRange.active = particle.lifespan > 0 && particle.colorRange.start != particle.colorRange.end; particle.set_color(particle.colorRange.start); } else { particle.colorRange.active = false; } if(this.drag.active) { particle.dragRange.start.set_x(flixel_FlxG.random["float"](this.drag.start.min.x,this.drag.start.max.x)); particle.dragRange.start.set_y(flixel_FlxG.random["float"](this.drag.start.min.y,this.drag.start.max.y)); particle.dragRange.end.set_x(flixel_FlxG.random["float"](this.drag.end.min.x,this.drag.end.max.x)); particle.dragRange.end.set_y(flixel_FlxG.random["float"](this.drag.end.min.y,this.drag.end.max.y)); var tmp2; if(particle.lifespan > 0) { var _this2 = particle.dragRange.start; var point4 = particle.dragRange.end; var result2 = Math.abs(_this2.x - point4.x) <= 0.0000001 && Math.abs(_this2.y - point4.y) <= 0.0000001; if(point4._weak) { point4.put(); } tmp2 = !result2; } else { tmp2 = false; } particle.dragRange.active = tmp2; particle.drag.set_x(particle.dragRange.start.x); particle.drag.set_y(particle.dragRange.start.y); } else { particle.dragRange.active = false; } if(this.acceleration.active) { particle.accelerationRange.start.set_x(flixel_FlxG.random["float"](this.acceleration.start.min.x,this.acceleration.start.max.x)); particle.accelerationRange.start.set_y(flixel_FlxG.random["float"](this.acceleration.start.min.y,this.acceleration.start.max.y)); particle.accelerationRange.end.set_x(flixel_FlxG.random["float"](this.acceleration.end.min.x,this.acceleration.end.max.x)); particle.accelerationRange.end.set_y(flixel_FlxG.random["float"](this.acceleration.end.min.y,this.acceleration.end.max.y)); var tmp3; if(particle.lifespan > 0) { var _this3 = particle.accelerationRange.start; var point5 = particle.accelerationRange.end; var result3 = Math.abs(_this3.x - point5.x) <= 0.0000001 && Math.abs(_this3.y - point5.y) <= 0.0000001; if(point5._weak) { point5.put(); } tmp3 = !result3; } else { tmp3 = false; } particle.accelerationRange.active = tmp3; particle.acceleration.set_x(particle.accelerationRange.start.x); particle.acceleration.set_y(particle.accelerationRange.start.y); } else { particle.accelerationRange.active = false; } if(this.elasticity.active) { particle.elasticityRange.start = flixel_FlxG.random["float"](this.elasticity.start.min,this.elasticity.start.max); particle.elasticityRange.end = flixel_FlxG.random["float"](this.elasticity.end.min,this.elasticity.end.max); particle.elasticityRange.active = particle.lifespan > 0 && particle.elasticityRange.start != particle.elasticityRange.end; particle.elasticity = particle.elasticityRange.start; } else { particle.elasticityRange.active = false; } particle.set_x(flixel_FlxG.random["float"](this.x,this.x + this.width) - particle.get_width() / 2); particle.set_y(flixel_FlxG.random["float"](this.y,this.y + this.height) - particle.get_height() / 2); if(particle.animation._curAnim != null) { particle.animation._curAnim.restart(); } particle.onEmit(); return particle; } ,focusOn: function(Object) { Object.getMidpoint(this._point); this.x = this._point.x - ((this.width | 0) >> 1); this.y = this._point.y - ((this.height | 0) >> 1); } ,setPosition: function(X,Y) { if(Y == null) { Y = 0; } if(X == null) { X = 0; } this.x = X; this.y = Y; } ,setSize: function(Width,Height) { this.width = Width; this.height = Height; } ,get_solid: function() { return (this.allowCollisions & 4369) > 0; } ,set_solid: function(Solid) { if(Solid) { this.allowCollisions = 4369; } else { this.allowCollisions = 0; } return Solid; } ,__class__: flixel_effects_particles_FlxTypedEmitter ,__properties__: $extend(flixel_group_FlxTypedGroup.prototype.__properties__,{set_solid:"set_solid",get_solid:"get_solid"}) }); var flixel_effects_particles_FlxEmitterMode = $hxClasses["flixel.effects.particles.FlxEmitterMode"] = { __ename__ : ["flixel","effects","particles","FlxEmitterMode"], __constructs__ : ["SQUARE","CIRCLE"] }; flixel_effects_particles_FlxEmitterMode.SQUARE = ["SQUARE",0]; flixel_effects_particles_FlxEmitterMode.SQUARE.toString = $estr; flixel_effects_particles_FlxEmitterMode.SQUARE.__enum__ = flixel_effects_particles_FlxEmitterMode; flixel_effects_particles_FlxEmitterMode.CIRCLE = ["CIRCLE",1]; flixel_effects_particles_FlxEmitterMode.CIRCLE.toString = $estr; flixel_effects_particles_FlxEmitterMode.CIRCLE.__enum__ = flixel_effects_particles_FlxEmitterMode; var flixel_effects_particles_IFlxParticle = function() { }; $hxClasses["flixel.effects.particles.IFlxParticle"] = flixel_effects_particles_IFlxParticle; flixel_effects_particles_IFlxParticle.__name__ = ["flixel","effects","particles","IFlxParticle"]; flixel_effects_particles_IFlxParticle.__interfaces__ = [flixel_IFlxSprite]; flixel_effects_particles_IFlxParticle.prototype = { lifespan: null ,age: null ,percent: null ,autoUpdateHitbox: null ,velocityRange: null ,angularVelocityRange: null ,scaleRange: null ,alphaRange: null ,colorRange: null ,dragRange: null ,accelerationRange: null ,elasticityRange: null ,onEmit: null ,__class__: flixel_effects_particles_IFlxParticle }; var flixel_effects_particles_FlxParticle = function() { this._delta = 0; this.autoUpdateHitbox = false; this.percent = 0; this.age = 0; this.lifespan = 0; flixel_FlxSprite.call(this); var point = flixel_math_FlxPoint._pool.get().set(0,0); point._inPool = false; var point1 = flixel_math_FlxPoint._pool.get().set(0,0); point1._inPool = false; this.velocityRange = new flixel_util_helpers_FlxRange(point,point1); this.angularVelocityRange = new flixel_util_helpers_FlxRange(0); var point2 = flixel_math_FlxPoint._pool.get().set(1,1); point2._inPool = false; var point3 = flixel_math_FlxPoint._pool.get().set(1,1); point3._inPool = false; this.scaleRange = new flixel_util_helpers_FlxRange(point2,point3); this.alphaRange = new flixel_util_helpers_FlxRange(1,1); this.colorRange = new flixel_util_helpers_FlxRange(-1); var point4 = flixel_math_FlxPoint._pool.get().set(0,0); point4._inPool = false; var point5 = flixel_math_FlxPoint._pool.get().set(0,0); point5._inPool = false; this.dragRange = new flixel_util_helpers_FlxRange(point4,point5); var point6 = flixel_math_FlxPoint._pool.get().set(0,0); point6._inPool = false; var point7 = flixel_math_FlxPoint._pool.get().set(0,0); point7._inPool = false; this.accelerationRange = new flixel_util_helpers_FlxRange(point6,point7); this.elasticityRange = new flixel_util_helpers_FlxRange(0); this.set_exists(false); }; $hxClasses["flixel.effects.particles.FlxParticle"] = flixel_effects_particles_FlxParticle; flixel_effects_particles_FlxParticle.__name__ = ["flixel","effects","particles","FlxParticle"]; flixel_effects_particles_FlxParticle.__interfaces__ = [flixel_effects_particles_IFlxParticle]; flixel_effects_particles_FlxParticle.__super__ = flixel_FlxSprite; flixel_effects_particles_FlxParticle.prototype = $extend(flixel_FlxSprite.prototype,{ lifespan: null ,age: null ,percent: null ,autoUpdateHitbox: null ,velocityRange: null ,angularVelocityRange: null ,scaleRange: null ,alphaRange: null ,colorRange: null ,dragRange: null ,accelerationRange: null ,elasticityRange: null ,_delta: null ,destroy: function() { if(this.velocityRange != null) { this.velocityRange.start = flixel_util_FlxDestroyUtil.put(this.velocityRange.start); this.velocityRange.end = flixel_util_FlxDestroyUtil.put(this.velocityRange.end); this.velocityRange = null; } if(this.scaleRange != null) { this.scaleRange.start = flixel_util_FlxDestroyUtil.put(this.scaleRange.start); this.scaleRange.end = flixel_util_FlxDestroyUtil.put(this.scaleRange.end); this.scaleRange = null; } if(this.dragRange != null) { this.dragRange.start = flixel_util_FlxDestroyUtil.put(this.dragRange.start); this.dragRange.end = flixel_util_FlxDestroyUtil.put(this.dragRange.end); this.dragRange = null; } if(this.accelerationRange != null) { this.accelerationRange.start = flixel_util_FlxDestroyUtil.put(this.accelerationRange.start); this.accelerationRange.end = flixel_util_FlxDestroyUtil.put(this.accelerationRange.end); this.angularVelocityRange = null; } this.alphaRange = null; this.colorRange = null; this.accelerationRange = null; this.elasticityRange = null; flixel_FlxSprite.prototype.destroy.call(this); } ,update: function(elapsed) { if(this.age < this.lifespan) { this.age += elapsed; } if(this.age >= this.lifespan && this.lifespan != 0) { this.kill(); } else { this._delta = elapsed / this.lifespan; this.percent = this.age / this.lifespan; if(this.velocityRange.active) { var _g = this.velocity; _g.set_x(_g.x + (this.velocityRange.end.x - this.velocityRange.start.x) * this._delta); var _g1 = this.velocity; _g1.set_y(_g1.y + (this.velocityRange.end.y - this.velocityRange.start.y) * this._delta); } if(this.angularVelocityRange.active) { this.angularVelocity += (this.angularVelocityRange.end - this.angularVelocityRange.start) * this._delta; } if(this.scaleRange.active) { var _g2 = this.scale; _g2.set_x(_g2.x + (this.scaleRange.end.x - this.scaleRange.start.x) * this._delta); var _g3 = this.scale; _g3.set_y(_g3.y + (this.scaleRange.end.y - this.scaleRange.start.y) * this._delta); if(this.autoUpdateHitbox) { this.updateHitbox(); } } if(this.alphaRange.active) { var _g4 = this; _g4.set_alpha(_g4.alpha + (this.alphaRange.end - this.alphaRange.start) * this._delta); } if(this.colorRange.active) { var Color1 = this.colorRange.start; var Color2 = this.colorRange.end; var Factor = this.percent; var r = ((Color2 >> 16 & 255) - (Color1 >> 16 & 255)) * Factor + (Color1 >> 16 & 255) | 0; var g = ((Color2 >> 8 & 255) - (Color1 >> 8 & 255)) * Factor + (Color1 >> 8 & 255) | 0; var b = ((Color2 & 255) - (Color1 & 255)) * Factor + (Color1 & 255) | 0; var a = ((Color2 >> 24 & 255) - (Color1 >> 24 & 255)) * Factor + (Color1 >> 24 & 255) | 0; var color = flixel_util__$FlxColor_FlxColor_$Impl_$._new(); color &= -16711681; color |= (r > 255 ? 255 : r < 0 ? 0 : r) << 16; color &= -65281; color |= (g > 255 ? 255 : g < 0 ? 0 : g) << 8; color &= -256; color |= b > 255 ? 255 : b < 0 ? 0 : b; color &= 16777215; color |= (a > 255 ? 255 : a < 0 ? 0 : a) << 24; this.set_color(color); } if(this.dragRange.active) { var _g5 = this.drag; _g5.set_x(_g5.x + (this.dragRange.end.x - this.dragRange.start.x) * this._delta); var _g6 = this.drag; _g6.set_y(_g6.y + (this.dragRange.end.y - this.dragRange.start.y) * this._delta); } if(this.accelerationRange.active) { var _g7 = this.acceleration; _g7.set_x(_g7.x + (this.accelerationRange.end.x - this.accelerationRange.start.x) * this._delta); var _g8 = this.acceleration; _g8.set_y(_g8.y + (this.accelerationRange.end.y - this.accelerationRange.start.y) * this._delta); } if(this.elasticityRange.active) { this.elasticity += (this.elasticityRange.end - this.elasticityRange.start) * this._delta; } } flixel_FlxSprite.prototype.update.call(this,elapsed); } ,reset: function(X,Y) { flixel_FlxSprite.prototype.reset.call(this,X,Y); this.age = 0; this.set_visible(true); } ,onEmit: function() { } ,__class__: flixel_effects_particles_FlxParticle }); var flixel_effects_postprocess_PostProcess = function(shader) { var _this = flixel_FlxG.log; }; $hxClasses["flixel.effects.postprocess.PostProcess"] = flixel_effects_postprocess_PostProcess; flixel_effects_postprocess_PostProcess.__name__ = ["flixel","effects","postprocess","PostProcess"]; flixel_effects_postprocess_PostProcess.prototype = { enable: function(to) { } ,capture: function() { } ,rebuild: function() { } ,update: function(elapsed) { } ,render: function(rect) { } ,setUniform: function(uniform,value) { } ,set_to: function(value) { return null; } ,__class__: flixel_effects_postprocess_PostProcess ,__properties__: {set_to:"set_to"} }; var flixel_graphics_FlxGraphic = function(Key,Bitmap,Persist) { this._destroyOnNoUse = true; this._useCount = 0; this.unique = false; this.isDumped = false; this.persist = false; this.height = 0; this.width = 0; this.key = Key; this.persist = Persist != null ? Persist : flixel_graphics_FlxGraphic.defaultPersist; this.frameCollections = new haxe_ds_EnumValueMap(); this.frameCollectionTypes = []; this.set_bitmap(Bitmap); this.shader = new flixel_graphics_tile_FlxGraphicsShader(); }; $hxClasses["flixel.graphics.FlxGraphic"] = flixel_graphics_FlxGraphic; flixel_graphics_FlxGraphic.__name__ = ["flixel","graphics","FlxGraphic"]; flixel_graphics_FlxGraphic.__interfaces__ = [flixel_util_IFlxDestroyable]; flixel_graphics_FlxGraphic.fromAssetKey = function(Source,Unique,Key,Cache) { if(Cache == null) { Cache = true; } if(Unique == null) { Unique = false; } var bitmap = null; if(!Cache) { if(openfl_utils_Assets.exists(Source)) { bitmap = openfl_utils_Assets.getBitmapData(Source,false); } else { var _this = flixel_FlxG.log; bitmap = null; } if(bitmap == null) { return null; } return flixel_graphics_FlxGraphic.createGraphic(bitmap,Key,Unique,Cache); } var key = flixel_FlxG.bitmap.generateKey(Source,Key,Unique); var graphic = flixel_FlxG.bitmap._cache.get(key); if(graphic != null) { return graphic; } if(openfl_utils_Assets.exists(Source)) { bitmap = openfl_utils_Assets.getBitmapData(Source,false); } else { var _this1 = flixel_FlxG.log; bitmap = null; } if(bitmap == null) { return null; } graphic = flixel_graphics_FlxGraphic.createGraphic(bitmap,key,Unique); graphic.assetsKey = Source; return graphic; }; flixel_graphics_FlxGraphic.fromClass = function(Source,Unique,Key,Cache) { if(Cache == null) { Cache = true; } if(Unique == null) { Unique = false; } var bitmap = null; if(!Cache) { bitmap = Type.createInstance(Source,[0,0]); return flixel_graphics_FlxGraphic.createGraphic(bitmap,Key,Unique,Cache); } var _this = flixel_FlxG.bitmap; var key = Type.getClassName(Source); key = flixel_FlxG.bitmap.generateKey(key,Key,Unique); var graphic = flixel_FlxG.bitmap._cache.get(key); if(graphic != null) { return graphic; } bitmap = Type.createInstance(Source,[0,0]); graphic = flixel_graphics_FlxGraphic.createGraphic(bitmap,key,Unique); graphic.assetsClass = Source; return graphic; }; flixel_graphics_FlxGraphic.fromBitmapData = function(Source,Unique,Key,Cache) { if(Cache == null) { Cache = true; } if(Unique == null) { Unique = false; } if(!Cache) { return flixel_graphics_FlxGraphic.createGraphic(Source,Key,Unique,Cache); } var key = flixel_FlxG.bitmap.findKeyForBitmap(Source); var assetKey = null; var assetClass = null; var graphic = null; if(key != null) { graphic = flixel_FlxG.bitmap._cache.get(key); assetKey = graphic.assetsKey; assetClass = graphic.assetsClass; } key = flixel_FlxG.bitmap.generateKey(key,Key,Unique); graphic = flixel_FlxG.bitmap._cache.get(key); if(graphic != null) { return graphic; } graphic = flixel_graphics_FlxGraphic.createGraphic(Source,key,Unique); graphic.assetsKey = assetKey; graphic.assetsClass = assetClass; return graphic; }; flixel_graphics_FlxGraphic.fromFrame = function(Source,Unique,Key,Cache) { if(Cache == null) { Cache = true; } if(Unique == null) { Unique = false; } var key = Source.name; if(key == null) { var _this = Source.frame; var value = _this.x; var _this1 = flixel_util_LabelValuePair._pool.get(); _this1.label = "x"; _this1.value = value; var value1 = _this.y; var _this2 = flixel_util_LabelValuePair._pool.get(); _this2.label = "y"; _this2.value = value1; var value2 = _this.width; var _this3 = flixel_util_LabelValuePair._pool.get(); _this3.label = "w"; _this3.value = value2; var value3 = _this.height; var _this4 = flixel_util_LabelValuePair._pool.get(); _this4.label = "h"; _this4.value = value3; key = flixel_util_FlxStringUtil.getDebugString([_this1,_this2,_this3,_this4]); } key = Source.parent.key + ":" + key; key = flixel_FlxG.bitmap.generateKey(key,Key,Unique); var graphic = flixel_FlxG.bitmap._cache.get(key); if(graphic != null) { return graphic; } var bitmap = Source.paint(); graphic = flixel_graphics_FlxGraphic.createGraphic(bitmap,key,Unique,Cache); var image = flixel_graphics_frames_FlxImageFrame.fromGraphic(graphic); image.frames[0].name = Source.name; return graphic; }; flixel_graphics_FlxGraphic.fromFrames = function(Source,Unique,Key) { if(Unique == null) { Unique = false; } return flixel_graphics_FlxGraphic.fromGraphic(Source.parent,Unique,Key); }; flixel_graphics_FlxGraphic.fromGraphic = function(Source,Unique,Key) { if(Unique == null) { Unique = false; } if(!Unique) { return Source; } var key = flixel_FlxG.bitmap.generateKey(Source.key,Key,Unique); var graphic = flixel_graphics_FlxGraphic.createGraphic(Source.bitmap,key,Unique); graphic.unique = Unique; graphic.assetsClass = Source.assetsClass; graphic.assetsKey = Source.assetsKey; flixel_FlxG.bitmap._cache.set(graphic.key,graphic); return graphic; }; flixel_graphics_FlxGraphic.fromRectangle = function(Width,Height,Color,Unique,Key) { if(Unique == null) { Unique = false; } var systemKey = Width + "x" + Height + ":" + Color; var key = flixel_FlxG.bitmap.generateKey(systemKey,Key,Unique); var graphic = flixel_FlxG.bitmap._cache.get(key); if(graphic != null) { return graphic; } var bitmap = new openfl_display_BitmapData(Width,Height,true,Color); return flixel_graphics_FlxGraphic.createGraphic(bitmap,key); }; flixel_graphics_FlxGraphic.getBitmap = function(Bitmap,Unique) { if(Unique == null) { Unique = false; } if(Unique) { return Bitmap.clone(); } else { return Bitmap; } }; flixel_graphics_FlxGraphic.createGraphic = function(Bitmap,Key,Unique,Cache) { if(Cache == null) { Cache = true; } if(Unique == null) { Unique = false; } if(Unique) { Bitmap = Bitmap.clone(); } else { Bitmap = Bitmap; } var graphic = null; if(Cache) { graphic = new flixel_graphics_FlxGraphic(Key,Bitmap); graphic.unique = Unique; flixel_FlxG.bitmap._cache.set(graphic.key,graphic); } else { graphic = new flixel_graphics_FlxGraphic(null,Bitmap); } return graphic; }; flixel_graphics_FlxGraphic.prototype = { key: null ,bitmap: null ,width: null ,height: null ,assetsKey: null ,assetsClass: null ,persist: null ,isDumped: null ,shader: null ,imageFrame: null ,atlasFrames: null ,frameCollections: null ,frameCollectionTypes: null ,unique: null ,_imageFrame: null ,_useCount: null ,_destroyOnNoUse: null ,dump: function() { } ,undump: function() { var newBitmap = this.getBitmapFromSystem(); if(newBitmap != null) { this.set_bitmap(newBitmap); } this.isDumped = false; } ,onContext: function() { if(this.isDumped) { this.undump(); this.dump(); } } ,onAssetsReload: function() { if(!(this.assetsClass != null || this.assetsKey != null)) { return; } var dumped = this.isDumped; this.undump(); if(dumped) { this.dump(); } } ,destroy: function() { this.set_bitmap(flixel_util_FlxDestroyUtil.dispose(this.bitmap)); this.shader = null; this.key = null; this.assetsKey = null; this.assetsClass = null; this._imageFrame = null; if(this.frameCollections == null) { return; } var collections; var _g = 0; var _g1 = this.frameCollectionTypes; while(_g < _g1.length) { var collectionType = _g1[_g]; ++_g; collections = this.frameCollections.get(collectionType); flixel_util_FlxDestroyUtil.destroyArray(collections); } this.frameCollections = null; this.frameCollectionTypes = null; } ,addFrameCollection: function(collection) { if(collection.type != null) { var type = collection.type; var collections = this.frameCollections.get(type); if(collections == null) { collections = []; this.frameCollections.set(type,collections); } var collections1 = collections; collections1.push(collection); } } ,getFramesCollections: function(type) { var collections = this.frameCollections.get(type); if(collections == null) { collections = []; this.frameCollections.set(type,collections); } return collections; } ,getEmptyFrame: function(size) { var frame = new flixel_graphics_frames_FlxFrame(this); frame.type = 2; var _this = flixel_math_FlxRect._pool.get(); _this.x = 0; _this.y = 0; _this.width = 0; _this.height = 0; var rect = _this; rect._inPool = false; frame.set_frame(rect); var _this1 = frame.sourceSize; _this1.set_x(size.x); _this1.set_y(size.y); if(size._weak) { size.put(); } return frame; } ,getBitmapFromSystem: function() { var newBitmap = null; if(this.assetsClass != null) { newBitmap = Type.createInstance(this.assetsClass,[0,0]); } else if(this.assetsKey != null) { var id = this.assetsKey; if(openfl_utils_Assets.exists(id)) { newBitmap = openfl_utils_Assets.getBitmapData(id,false); } else { var _this = flixel_FlxG.log; newBitmap = null; } } if(newBitmap != null) { if(this.unique) { return newBitmap.clone(); } else { return newBitmap; } } return null; } ,get_canBeDumped: function() { if(this.assetsClass == null) { return this.assetsKey != null; } else { return true; } } ,get_useCount: function() { return this._useCount; } ,set_useCount: function(Value) { if(Value <= 0 && this._destroyOnNoUse && !this.persist) { flixel_FlxG.bitmap.remove(this); } return this._useCount = Value; } ,get_destroyOnNoUse: function() { return this._destroyOnNoUse; } ,set_destroyOnNoUse: function(Value) { if(Value && this._useCount <= 0 && this.key != null && !this.persist) { flixel_FlxG.bitmap.remove(this); } return this._destroyOnNoUse = Value; } ,get_imageFrame: function() { if(this._imageFrame == null) { var Width = this.bitmap.width; var Height = this.bitmap.height; var _this = flixel_math_FlxRect._pool.get(); _this.x = 0; _this.y = 0; _this.width = Width; _this.height = Height; var rect = _this; rect._inPool = false; this._imageFrame = flixel_graphics_frames_FlxImageFrame.fromRectangle(this,rect); } return this._imageFrame; } ,get_atlasFrames: function() { return flixel_graphics_frames_FlxAtlasFrames.findFrame(this,null); } ,set_bitmap: function(value) { if(value != null) { this.bitmap = value; this.width = this.bitmap.width; this.height = this.bitmap.height; } return value; } ,__class__: flixel_graphics_FlxGraphic ,__properties__: {get_atlasFrames:"get_atlasFrames",get_imageFrame:"get_imageFrame",set_useCount:"set_useCount",get_useCount:"get_useCount",get_canBeDumped:"get_canBeDumped",set_destroyOnNoUse:"set_destroyOnNoUse",get_destroyOnNoUse:"get_destroyOnNoUse",set_bitmap:"set_bitmap"} }; var openfl_geom_Point = function(x,y) { if(y == null) { y = 0; } if(x == null) { x = 0; } this.x = x; this.y = y; }; $hxClasses["openfl.geom.Point"] = openfl_geom_Point; openfl_geom_Point.__name__ = ["openfl","geom","Point"]; openfl_geom_Point.__limeVector2 = null; openfl_geom_Point.distance = function(pt1,pt2) { var dx = pt1.x - pt2.x; var dy = pt1.y - pt2.y; return Math.sqrt(dx * dx + dy * dy); }; openfl_geom_Point.interpolate = function(pt1,pt2,f) { return new openfl_geom_Point(pt2.x + f * (pt1.x - pt2.x),pt2.y + f * (pt1.y - pt2.y)); }; openfl_geom_Point.polar = function(len,angle) { return new openfl_geom_Point(len * Math.cos(angle),len * Math.sin(angle)); }; openfl_geom_Point.prototype = { x: null ,y: null ,add: function(v) { return new openfl_geom_Point(v.x + this.x,v.y + this.y); } ,clone: function() { return new openfl_geom_Point(this.x,this.y); } ,copyFrom: function(sourcePoint) { this.x = sourcePoint.x; this.y = sourcePoint.y; } ,equals: function(toCompare) { if(toCompare != null && toCompare.x == this.x) { return toCompare.y == this.y; } else { return false; } } ,normalize: function(thickness) { if(this.x == 0 && this.y == 0) { return; } else { var norm = thickness / Math.sqrt(this.x * this.x + this.y * this.y); this.x *= norm; this.y *= norm; } } ,offset: function(dx,dy) { this.x += dx; this.y += dy; } ,setTo: function(xa,ya) { this.x = xa; this.y = ya; } ,subtract: function(v) { return new openfl_geom_Point(this.x - v.x,this.y - v.y); } ,toString: function() { return "(x=" + this.x + ", y=" + this.y + ")"; } ,__toLimeVector2: function() { if(openfl_geom_Point.__limeVector2 == null) { openfl_geom_Point.__limeVector2 = new lime_math_Vector2(); } var _this = openfl_geom_Point.__limeVector2; _this.x = this.x; _this.y = this.y; return openfl_geom_Point.__limeVector2; } ,get_length: function() { return Math.sqrt(this.x * this.x + this.y * this.y); } ,__class__: openfl_geom_Point ,__properties__: {get_length:"get_length"} }; var flixel_graphics_atlas_FlxAtlas = function(name,powerOfTwo,border,rotate,minSize,maxSize) { if(rotate == null) { rotate = false; } if(border == null) { border = 1; } if(powerOfTwo == null) { powerOfTwo = false; } this.powerOfTwo = false; this.allowRotation = false; this.maxHeight = 1024; this.maxWidth = 1024; this.minHeight = 128; this.minWidth = 128; this.border = 1; this.persist = false; this.nodes = new haxe_ds_StringMap(); this.name = name; this.set_powerOfTwo(powerOfTwo); this.border = border; if(minSize != null) { minSize = minSize; } else { minSize = flixel_graphics_atlas_FlxAtlas.defaultMinSize; } if(maxSize != null) { maxSize = maxSize; } else { maxSize = flixel_graphics_atlas_FlxAtlas.defaultMaxSize; } this.set_minWidth(minSize.x | 0); this.set_minHeight(minSize.y | 0); this.set_maxWidth(maxSize.x > minSize.x ? maxSize.x | 0 : this.minWidth); this.set_maxHeight(maxSize.y > minSize.x ? maxSize.y | 0 : this.minHeight); this.allowRotation = rotate; this.initRoot(); flixel_FlxG.signals.preStateCreate.add($bind(this,this.onClear)); }; $hxClasses["flixel.graphics.atlas.FlxAtlas"] = flixel_graphics_atlas_FlxAtlas; flixel_graphics_atlas_FlxAtlas.__name__ = ["flixel","graphics","atlas","FlxAtlas"]; flixel_graphics_atlas_FlxAtlas.__interfaces__ = [flixel_util_IFlxDestroyable]; flixel_graphics_atlas_FlxAtlas.prototype = { root: null ,name: null ,nodes: null ,bitmapData: null ,graphic: null ,persist: null ,border: null ,width: null ,height: null ,minWidth: null ,minHeight: null ,maxWidth: null ,maxHeight: null ,allowRotation: null ,powerOfTwo: null ,_graphic: null ,_tempStorage: null ,initRoot: function() { var rootWidth = this.minWidth; var rootHeight = this.minHeight; if(this.powerOfTwo) { rootWidth = this.getNextPowerOfTwo(rootWidth); rootHeight = this.getNextPowerOfTwo(rootHeight); } var _this = flixel_math_FlxRect._pool.get(); _this.x = 0; _this.y = 0; _this.width = rootWidth; _this.height = rootHeight; var rect = _this; rect._inPool = false; this.root = new flixel_graphics_atlas_FlxNode(rect,this); } ,addNode: function(Graphic,Key) { var key = flixel_system_FlxAssets.resolveKey(Graphic,Key); if(key == null) { return null; } if(this.hasNodeWithName(key)) { var _this = this.nodes; if(__map_reserved[key] != null) { return _this.getReserved(key); } else { return _this.h[key]; } } var data = flixel_system_FlxAssets.resolveBitmapData(Graphic); if(data == null) { return null; } if(this.root.left == null) { return this.insertFirstNodeInRoot(data,key); } if(this.root.right == null) { return this.expand(data,key); } var inserted = this.tryInsert(data,key); if(inserted != null) { return inserted; } this.wrapRoot(); return this.expand(data,key); } ,wrapRoot: function() { var temp = this.root; var Width = temp.rect.width | 0; var Height = temp.rect.height | 0; var _this = flixel_math_FlxRect._pool.get(); _this.x = 0; _this.y = 0; _this.width = Width; _this.height = Height; var rect = _this; rect._inPool = false; this.root = new flixel_graphics_atlas_FlxNode(rect,this); this.root.left = temp; } ,tryInsert: function(data,key) { var insertWidth = data.width + this.border; var insertHeight = data.height + this.border; var rotateNode = false; var nodeToInsert = this.findNodeToInsert(insertWidth,insertHeight); if(this.allowRotation) { var nodeToInsertWithRotation = this.findNodeToInsert(insertHeight,insertWidth); if(nodeToInsertWithRotation != null) { var nodeWithRotationArea = (nodeToInsertWithRotation.rect.width | 0) * (nodeToInsertWithRotation.rect.height | 0); if(nodeToInsert == null || nodeToInsert != null && (nodeToInsert.rect.width | 0) * (nodeToInsert.rect.height | 0) > nodeWithRotationArea) { nodeToInsert = nodeToInsertWithRotation; rotateNode = true; var temp = insertWidth; insertWidth = insertHeight; insertHeight = temp; } } } if(nodeToInsert != null) { var horizontally = this.needToDivideHorizontally(nodeToInsert,insertWidth,insertHeight); return this.divideNode(nodeToInsert,insertWidth,insertHeight,horizontally,data,key,rotateNode); } return null; } ,needToDivideHorizontally: function(nodeToDivide,insertWidth,insertHeight) { var dw = (nodeToDivide.rect.width | 0) - insertWidth; var dh = (nodeToDivide.rect.height | 0) - insertHeight; return dw > dh; } ,divideNode: function(nodeToDivide,insertWidth,insertHeight,divideHorizontally,firstGrandChildData,firstGrandChildKey,firstGrandChildRotated) { if(firstGrandChildRotated == null) { firstGrandChildRotated = false; } if(nodeToDivide != null) { var firstChild = null; var secondChild = null; var firstGrandChild = null; var secondGrandChild = null; var firstGrandChildFilled = firstGrandChildKey != null; if(divideHorizontally) { var X = nodeToDivide.rect.x | 0; var Y = nodeToDivide.rect.y | 0; var Height = nodeToDivide.rect.height | 0; var _this = flixel_math_FlxRect._pool.get(); _this.x = X; _this.y = Y; _this.width = insertWidth; _this.height = Height; var rect = _this; rect._inPool = false; firstChild = new flixel_graphics_atlas_FlxNode(rect,this); if((nodeToDivide.rect.width | 0) - insertWidth > 0) { var X1 = (nodeToDivide.rect.x | 0) + insertWidth; var Y1 = nodeToDivide.rect.y | 0; var Width = (nodeToDivide.rect.width | 0) - insertWidth; var Height1 = nodeToDivide.rect.height | 0; var _this1 = flixel_math_FlxRect._pool.get(); _this1.x = X1; _this1.y = Y1; _this1.width = Width; _this1.height = Height1; var rect1 = _this1; rect1._inPool = false; secondChild = new flixel_graphics_atlas_FlxNode(rect1,this); } var X2 = firstChild.rect.x | 0; var Y2 = firstChild.rect.y | 0; var _this2 = flixel_math_FlxRect._pool.get(); _this2.x = X2; _this2.y = Y2; _this2.width = insertWidth; _this2.height = insertHeight; var rect2 = _this2; rect2._inPool = false; firstGrandChild = new flixel_graphics_atlas_FlxNode(rect2,this,firstGrandChildFilled,firstGrandChildKey,firstGrandChildRotated); if((firstChild.rect.height | 0) - insertHeight > 0) { var X3 = firstChild.rect.x | 0; var Y3 = (firstChild.rect.y | 0) + insertHeight; var Height2 = (firstChild.rect.height | 0) - insertHeight; var _this3 = flixel_math_FlxRect._pool.get(); _this3.x = X3; _this3.y = Y3; _this3.width = insertWidth; _this3.height = Height2; var rect3 = _this3; rect3._inPool = false; secondGrandChild = new flixel_graphics_atlas_FlxNode(rect3,this); } } else { var X4 = nodeToDivide.rect.x | 0; var Y4 = nodeToDivide.rect.y | 0; var Width1 = nodeToDivide.rect.width | 0; var _this4 = flixel_math_FlxRect._pool.get(); _this4.x = X4; _this4.y = Y4; _this4.width = Width1; _this4.height = insertHeight; var rect4 = _this4; rect4._inPool = false; firstChild = new flixel_graphics_atlas_FlxNode(rect4,this); if((nodeToDivide.rect.height | 0) - insertHeight > 0) { var X5 = nodeToDivide.rect.x | 0; var Y5 = (nodeToDivide.rect.y | 0) + insertHeight; var Width2 = nodeToDivide.rect.width | 0; var Height3 = (nodeToDivide.rect.height | 0) - insertHeight; var _this5 = flixel_math_FlxRect._pool.get(); _this5.x = X5; _this5.y = Y5; _this5.width = Width2; _this5.height = Height3; var rect5 = _this5; rect5._inPool = false; secondChild = new flixel_graphics_atlas_FlxNode(rect5,this); } var X6 = firstChild.rect.x | 0; var Y6 = firstChild.rect.y | 0; var _this6 = flixel_math_FlxRect._pool.get(); _this6.x = X6; _this6.y = Y6; _this6.width = insertWidth; _this6.height = insertHeight; var rect6 = _this6; rect6._inPool = false; firstGrandChild = new flixel_graphics_atlas_FlxNode(rect6,this,firstGrandChildFilled,firstGrandChildKey,firstGrandChildRotated); if((firstChild.rect.width | 0) - insertWidth > 0) { var X7 = (firstChild.rect.x | 0) + insertWidth; var Y7 = firstChild.rect.y | 0; var Width3 = (firstChild.rect.width | 0) - insertWidth; var _this7 = flixel_math_FlxRect._pool.get(); _this7.x = X7; _this7.y = Y7; _this7.width = Width3; _this7.height = insertHeight; var rect7 = _this7; rect7._inPool = false; secondGrandChild = new flixel_graphics_atlas_FlxNode(rect7,this); } } firstChild.left = firstGrandChild; firstChild.right = secondGrandChild; nodeToDivide.left = firstChild; nodeToDivide.right = secondChild; if(firstGrandChildKey != null && firstGrandChildData != null) { this.expandBitmapData(); if(firstGrandChildRotated) { flixel_graphics_atlas_FlxAtlas.matrix.identity(); flixel_graphics_atlas_FlxAtlas.matrix.rotate(Math.PI / 2); flixel_graphics_atlas_FlxAtlas.matrix.translate(firstGrandChildData.height + (firstGrandChild.rect.x | 0),firstGrandChild.rect.y | 0); this.bitmapData.draw(firstGrandChildData,flixel_graphics_atlas_FlxAtlas.matrix); } else { flixel_graphics_atlas_FlxAtlas.point.setTo(firstGrandChild.rect.x | 0,firstGrandChild.rect.y | 0); this.bitmapData.copyPixels(firstGrandChildData,firstGrandChildData.rect,flixel_graphics_atlas_FlxAtlas.point); } this.addNodeToAtlasFrames(firstGrandChild); var _this8 = this.nodes; if(__map_reserved[firstGrandChildKey] != null) { _this8.setReserved(firstGrandChildKey,firstGrandChild); } else { _this8.h[firstGrandChildKey] = firstGrandChild; } } return firstGrandChild; } return null; } ,insertFirstNodeInRoot: function(data,key) { if(this.root.left == null) { var insertWidth = data.width + this.border; var insertHeight = data.height + this.border; var rootWidth = insertWidth; var rootHeight = insertHeight; if(this.powerOfTwo) { rootWidth = this.getNextPowerOfTwo(rootWidth); rootHeight = this.getNextPowerOfTwo(rootHeight); } if(this.minWidth > rootWidth) { rootWidth = this.minWidth; } else { rootWidth = rootWidth; } if(this.minHeight > rootHeight) { rootHeight = this.minHeight; } else { rootHeight = rootHeight; } if(this.powerOfTwo) { rootWidth = this.getNextPowerOfTwo(rootWidth); rootHeight = this.getNextPowerOfTwo(rootHeight); } if(this.maxWidth > 0 && rootWidth > this.maxWidth || this.maxHeight > 0 && rootHeight > this.maxHeight) { return null; } this.root.set_width(rootWidth); this.root.set_height(rootHeight); var horizontally = this.needToDivideHorizontally(this.root,insertWidth,insertHeight); return this.divideNode(this.root,insertWidth,insertHeight,horizontally,data,key); } return null; } ,expand: function(data,key) { if(this.root.right == null) { var insertWidth = data.width + this.border; var insertHeight = data.height + this.border; var addRightWidth = (this.root.rect.width | 0) + insertWidth; var addRightHeight = Math.max(this.root.rect.height | 0,insertHeight) | 0; var addBottomWidth = Math.max(this.root.rect.width | 0,insertWidth) | 0; var addBottomHeight = (this.root.rect.height | 0) + insertHeight; var addRightWidthRotate = addRightWidth; var addRightHeightRotate = addRightHeight; var addBottomWidthRotate = addBottomWidth; var addBottomHeightRotate = addBottomHeight; if(this.allowRotation) { addRightWidthRotate = (this.root.rect.width | 0) + insertHeight; addRightHeightRotate = Math.max(this.root.rect.height | 0,insertWidth) | 0; addBottomWidthRotate = Math.max(this.root.rect.width | 0,insertHeight) | 0; addBottomHeightRotate = (this.root.rect.height | 0) + insertWidth; } if(this.powerOfTwo) { addRightWidth = this.getNextPowerOfTwo(addRightWidth); addRightWidthRotate = addRightWidth; addRightHeight = this.getNextPowerOfTwo(addRightHeight); addRightHeightRotate = addRightHeight; addBottomWidth = this.getNextPowerOfTwo(addBottomWidth); addBottomWidthRotate = addBottomWidth; addBottomHeight = this.getNextPowerOfTwo(addBottomHeight); addBottomHeightRotate = addBottomHeight; if(this.allowRotation) { addRightWidthRotate = this.getNextPowerOfTwo(addRightWidthRotate); addRightHeightRotate = this.getNextPowerOfTwo(addRightHeightRotate); addBottomWidthRotate = this.getNextPowerOfTwo(addBottomWidthRotate); addBottomHeightRotate = this.getNextPowerOfTwo(addBottomHeightRotate); } } var canExpandRight = true; var canExpandBottom = true; var canExpandRightRotate = this.allowRotation; var canExpandBottomRotate = this.allowRotation; if(this.maxWidth > 0 && addRightWidth > this.maxWidth || this.maxHeight > 0 && addRightHeight > this.maxHeight) { canExpandRight = false; } if(this.maxWidth > 0 && addBottomWidth > this.maxWidth || this.maxHeight > 0 && addBottomHeight > this.maxHeight) { canExpandBottom = false; } if(this.maxWidth > 0 && addRightWidthRotate > this.maxWidth || this.maxHeight > 0 && addRightHeightRotate > this.maxHeight) { canExpandRightRotate = false; } if(this.maxWidth > 0 && addBottomWidthRotate > this.maxWidth || this.maxHeight > 0 && addBottomHeightRotate > this.maxHeight) { canExpandBottomRotate = false; } if(!canExpandRight && !canExpandBottom && !canExpandRightRotate && !canExpandBottomRotate) { return null; } var addRightArea = addRightWidth * addRightHeight; var addBottomArea = addBottomWidth * addBottomHeight; var addRightAreaRotate = addRightWidthRotate * addRightHeightRotate; var addBottomAreaRotate = addBottomWidthRotate * addBottomHeightRotate; var rotateRight = false; var rotateBottom = false; var rotateNode = false; if(canExpandRight && canExpandRightRotate && addRightArea > addRightAreaRotate || !canExpandRight && canExpandRightRotate) { addRightArea = addBottomAreaRotate; addRightWidth = addRightWidthRotate; addRightHeight = addRightHeightRotate; canExpandRight = true; rotateRight = true; } if(canExpandBottom && canExpandBottomRotate && addBottomArea > addBottomAreaRotate || !canExpandBottom && canExpandBottomRotate) { addBottomArea = addBottomAreaRotate; addBottomWidth = addBottomWidthRotate; addBottomHeight = addBottomHeightRotate; canExpandBottom = true; rotateBottom = true; } if(!canExpandRight && canExpandBottom) { addRightArea = addBottomArea + 1; rotateNode = rotateRight; } else if(canExpandRight && !canExpandBottom) { addBottomArea = addRightArea + 1; rotateNode = rotateBottom; } var dataNode = null; var temp = this.root; var insertNodeWidth = insertWidth; var insertNodeHeight = insertHeight; if(addBottomArea >= addRightArea) { if(rotateRight) { insertNodeWidth = insertHeight; insertNodeHeight = insertWidth; } this.expandRoot((temp.rect.width | 0) + insertNodeWidth,Math.max(temp.rect.height | 0,insertNodeHeight),true); dataNode = this.divideNode(this.root.right,insertNodeWidth,insertNodeHeight,true,data,key,rotateRight); this.expandRoot(addRightWidth,addRightHeight,false,true); } else { if(rotateBottom) { insertNodeWidth = insertHeight; insertNodeHeight = insertWidth; } this.expandRoot(Math.max(temp.rect.width | 0,insertNodeWidth),(temp.rect.height | 0) + insertNodeHeight,false); dataNode = this.divideNode(this.root.right,insertNodeWidth,insertNodeHeight,true,data,key,rotateBottom); this.expandRoot(addBottomWidth,addBottomHeight,false,true); } return dataNode; } return null; } ,expandRoot: function(newWidth,newHeight,divideHorizontally,decideHowToDivide) { if(decideHowToDivide == null) { decideHowToDivide = false; } if(newWidth > (this.root.rect.width | 0) || newHeight > (this.root.rect.height | 0)) { var temp = this.root; var _this = flixel_math_FlxRect._pool.get(); _this.x = 0; _this.y = 0; _this.width = newWidth; _this.height = newHeight; var rect = _this; rect._inPool = false; this.root = new flixel_graphics_atlas_FlxNode(rect,this); if(decideHowToDivide) { divideHorizontally = this.needToDivideHorizontally(this.root,temp.rect.width | 0,temp.rect.height | 0); } else { divideHorizontally = divideHorizontally; } this.divideNode(this.root,temp.rect.width | 0,temp.rect.height | 0,divideHorizontally); this.root.left.left = temp; } } ,expandBitmapData: function() { if(this.bitmapData != null && this.bitmapData.width == (this.root.rect.width | 0) && this.bitmapData.height == (this.root.rect.height | 0)) { return; } var newBitmapData = new openfl_display_BitmapData(this.root.rect.width | 0,this.root.rect.height | 0,true,0); if(this.bitmapData != null) { flixel_graphics_atlas_FlxAtlas.point.setTo(0,0); newBitmapData.copyPixels(this.bitmapData,this.bitmapData.rect,flixel_graphics_atlas_FlxAtlas.point); } this.set_bitmapData(flixel_util_FlxDestroyUtil.dispose(this.bitmapData)); this.set_bitmapData(newBitmapData); } ,getNextPowerOfTwo: function(number) { var n = number | 0; if(n > 0 && (n & n - 1) == 0) { return n; } var result = 1; while(result < n) result <<= 1; return result; } ,addNodeWithSpacesAndBorders: function(Graphic,Key,tileSize,tileSpacing,tileBorder,region) { var key = flixel_system_FlxAssets.resolveKey(Graphic,Key); if(key == null) { return null; } key = flixel_FlxG.bitmap.getKeyWithSpacesAndBorders(key,tileSize,tileSpacing,tileBorder,region); if(this.hasNodeWithName(key)) { var _this = this.nodes; return (__map_reserved[key] != null ? _this.getReserved(key) : _this.h[key]).getTileFrames(tileSize,tileSpacing,tileBorder); } var data = flixel_system_FlxAssets.resolveBitmapData(Graphic); if(data == null) { return null; } var nodeData = flixel_util_FlxBitmapDataUtil.addSpacesAndBorders(data,tileSize,tileSpacing,tileBorder,region); var node = this.addNode(nodeData,key); if(node == null) { return null; } if(tileBorder != null) { var Y = 2 * tileBorder.y; var _g = tileSize; _g.set_x(_g.x + 2 * tileBorder.x); var _g1 = tileSize; _g1.set_y(_g1.y + Y); } return node.getTileFrames(tileSize,tileSpacing,tileBorder); } ,getAtlasFrames: function() { var graph = this.get_graphic(); var atlasFrames = graph.get_atlasFrames(); if(graph.get_atlasFrames() == null) { atlasFrames = new flixel_graphics_frames_FlxAtlasFrames(graph); } var _this = this.nodes; var node = new haxe_ds__$StringMap_StringMapIterator(_this,_this.arrayKeys()); while(node.hasNext()) { var node1 = node.next(); this.addNodeToAtlasFrames(node1); } return atlasFrames; } ,addNodeToAtlasFrames: function(node) { if(this._graphic == null || this._graphic.get_atlasFrames() == null || node == null) { return; } var atlasFrames = this._graphic.get_atlasFrames(); var tmp; if(node.filled) { var key = node.key; var _this = atlasFrames.framesHash; tmp = !(__map_reserved[key] != null ? _this.existsReserved(key) : _this.h.hasOwnProperty(key)); } else { tmp = false; } if(tmp) { var X = node.rect.x | 0; var Y = node.rect.y | 0; var Width = (node.rect.width | 0) - this.border; var Height = (node.rect.height | 0) - this.border; var _this1 = flixel_math_FlxRect._pool.get(); _this1.x = X; _this1.y = Y; _this1.width = Width; _this1.height = Height; var rect = _this1; rect._inPool = false; var frame = rect; var sourceSize; if(node.rotated) { var X1 = (node.rect.height | 0) - this.border; var Y1 = (node.rect.width | 0) - this.border; var point = flixel_math_FlxPoint._pool.get().set(X1,Y1); point._inPool = false; sourceSize = point; } else { var X2 = (node.rect.width | 0) - this.border; var Y2 = (node.rect.height | 0) - this.border; var point1 = flixel_math_FlxPoint._pool.get().set(X2,Y2); point1._inPool = false; sourceSize = point1; } var point2 = flixel_math_FlxPoint._pool.get().set(0,0); point2._inPool = false; var offset = point2; var angle = node.rotated ? -90 : 0; atlasFrames.addAtlasFrame(frame,sourceSize,offset,node.key,angle); } } ,hasNodeWithName: function(nodeName) { var _this = this.nodes; if(__map_reserved[nodeName] != null) { return _this.existsReserved(nodeName); } else { return _this.h.hasOwnProperty(nodeName); } } ,getNode: function(key) { var _this = this.nodes; if(__map_reserved[key] != null) { return _this.getReserved(key); } else { return _this.h[key]; } } ,addNodes: function(bitmaps,keys) { var numKeys = keys.length; var numBitmaps = bitmaps.length; if(numBitmaps != numKeys) { return null; } this._tempStorage = []; var _g1 = 0; var _g = numBitmaps; while(_g1 < _g) { var i = _g1++; this._tempStorage.push({ bmd : bitmaps[i], keyStr : keys[i]}); } this.addFromAtlasObjects(this._tempStorage); return this; } ,addFromAtlasObjects: function(objects) { objects.sort($bind(this,this.bitmapSorter)); var numBitmaps = objects.length; var _g1 = 0; var _g = numBitmaps; while(_g1 < _g) { var i = _g1++; this.addNode(objects[i].bmd,objects[i].keyStr); } this._tempStorage = null; } ,bitmapSorter: function(obj1,obj2) { if(this.allowRotation) { var area1 = obj1.bmd.width * obj1.bmd.height; var area2 = obj2.bmd.width * obj2.bmd.height; return area2 - area1; } if(obj2.bmd.width == obj1.bmd.width) { return obj2.bmd.height - obj1.bmd.height; } return obj2.bmd.width - obj1.bmd.width; } ,createQueue: function() { this._tempStorage = []; return this; } ,addToQueue: function(data,key) { if(this._tempStorage == null) { this._tempStorage = []; } this._tempStorage.push({ bmd : data, keyStr : key}); return this; } ,generateFromQueue: function() { if(this._tempStorage != null) { this.addFromAtlasObjects(this._tempStorage); } return this; } ,onClear: function(_) { if(!this.persist || this._graphic != null && this._graphic.get_useCount() <= 0) { this.destroy(); } } ,destroy: function() { this._tempStorage = null; this.deleteSubtree(this.root); this.root = null; flixel_FlxG.bitmap.removeByKey(this.name); this.set_bitmapData(null); this.nodes = null; this._graphic = null; flixel_FlxG.signals.preStateCreate.remove($bind(this,this.onClear)); } ,clear: function() { this.deleteSubtree(this.root); this.initRoot(); flixel_FlxG.bitmap.removeByKey(this.name); this.set_bitmapData(null); this.nodes = new haxe_ds_StringMap(); this._graphic = null; } ,getLibGdxData: function() { var data = "\n"; data += this.name + "\n"; data += "format: RGBA8888\n"; data += "filter: Linear,Linear\n"; data += "repeat: none\n"; var _this = this.nodes; var node = new haxe_ds__$StringMap_StringMapIterator(_this,_this.arrayKeys()); while(node.hasNext()) { var node1 = node.next(); data += node1.key + "\n"; data += " rotate: " + (node1.rotated == null ? "null" : "" + node1.rotated) + "\n"; data += " xy: " + (node1.rect.x | 0) + ", " + (node1.rect.y | 0) + "\n"; if(this.allowRotation) { data += "size: " + (node1.rect.height | 0) + ", " + (node1.rect.width | 0) + "\n"; data += "orig: " + (node1.rect.height | 0) + ", " + (node1.rect.width | 0) + "\n"; } else { data += "size: " + (node1.rect.width | 0) + ", " + (node1.rect.height | 0) + "\n"; data += "orig: " + (node1.rect.width | 0) + ", " + (node1.rect.height | 0) + "\n"; } data += " offset: 0, 0\n"; data += " index: -1\n"; } return data; } ,deleteSubtree: function(node) { if(node != null) { if(node.left != null) { this.deleteSubtree(node.left); } if(node.right != null) { this.deleteSubtree(node.right); } node.key = null; node.left = null; node.right = null; node.rect = null; node.atlas = null; } } ,findNodeToInsert: function(insertWidth,insertHeight) { var stack = []; var current = this.root; var emptyNodes = []; var canPlaceRight = false; var canPlaceLeft = false; var looping = true; var result = null; var minArea = this.maxWidth * this.maxHeight + 1; var nodeArea; while(looping) { if(!current.filled && current.left == null && current.right == null && (current.rect.width >= insertWidth && current.rect.height >= insertHeight)) { nodeArea = (current.rect.width | 0) * (current.rect.height | 0); if(nodeArea < minArea) { minArea = nodeArea; result = current; } } if(current.right != null) { var _this = current.right; if(_this.rect.width >= insertWidth) { canPlaceRight = _this.rect.height >= insertHeight; } else { canPlaceRight = false; } } else { canPlaceRight = false; } if(current.left != null) { var _this1 = current.left; if(_this1.rect.width >= insertWidth) { canPlaceLeft = _this1.rect.height >= insertHeight; } else { canPlaceLeft = false; } } else { canPlaceLeft = false; } if(canPlaceRight && canPlaceLeft) { stack.push(current.right); current = current.left; } else if(canPlaceLeft) { current = current.left; } else if(canPlaceRight) { current = current.right; } else if(stack.length > 0) { current = stack.pop(); } else { looping = false; } } return result; } ,set_bitmapData: function(value) { if(value != null && this._graphic != null) { this._graphic.set_bitmap(value); } return this.bitmapData = value; } ,get_graphic: function() { if(this._graphic != null) { return this._graphic; } this._graphic = flixel_FlxG.bitmap.add(this.bitmapData,false,this.name); this._graphic.persist = this.persist; return this._graphic; } ,set_persist: function(value) { if(this._graphic != null) { this._graphic.persist = value; } return this.persist = value; } ,set_minWidth: function(value) { if(value <= this.maxWidth) { this.minWidth = value; if(value > this.get_width()) { this.set_width(value); } } return this.minWidth; } ,set_minHeight: function(value) { if(value <= this.maxHeight) { this.minHeight = value; if(value > this.get_height()) { this.set_height(value); } } return this.minHeight; } ,get_width: function() { if(this.root != null) { return this.root.rect.width | 0; } return 0; } ,set_width: function(value) { if(value > this.get_width()) { if(this.powerOfTwo) { value = this.getNextPowerOfTwo(value); } if(value <= this.maxWidth) { if(this.root != null && (this.root.rect.width | 0) < value) { this.expandRoot(value,this.root.rect.height | 0,this.needToDivideHorizontally(this.root,this.root.rect.width | 0,this.root.rect.height | 0)); } } } return value; } ,get_height: function() { if(this.root != null) { return this.root.rect.height | 0; } return 0; } ,set_height: function(value) { if(value > this.get_height()) { if(this.powerOfTwo) { value = this.getNextPowerOfTwo(value); } if(value <= this.maxHeight) { if(this.root != null && (this.root.rect.height | 0) < value) { this.expandRoot(this.root.rect.width | 0,value,this.needToDivideHorizontally(this.root,this.root.rect.width | 0,this.root.rect.height | 0)); } } } return value; } ,set_maxWidth: function(value) { if(value >= this.minWidth && (this.root == null || value >= this.get_width())) { this.maxWidth = value; } return this.maxWidth; } ,set_maxHeight: function(value) { if(value >= this.minHeight && (this.root == null || value >= this.get_height())) { this.maxHeight = value; } return this.maxHeight; } ,set_powerOfTwo: function(value) { if(value != this.powerOfTwo && value && this.root != null) { var nextWidth = this.getNextPowerOfTwo(this.root.rect.width | 0); var nextHeight = this.getNextPowerOfTwo(this.root.rect.height | 0); if(nextWidth != (this.root.rect.width | 0) || nextHeight != (this.root.rect.height | 0)) { if(this.maxWidth > 0 && nextWidth > this.maxWidth || this.maxHeight > 0 && nextHeight > this.maxHeight) { return false; } var temp = this.root; var _this = flixel_math_FlxRect._pool.get(); _this.x = 0; _this.y = 0; _this.width = nextWidth; _this.height = nextHeight; var rect = _this; rect._inPool = false; this.root = new flixel_graphics_atlas_FlxNode(rect,this); if(temp.left != null) { this.divideNode(this.root,temp.rect.width | 0,temp.rect.height | 0,this.needToDivideHorizontally(this.root,temp.rect.width | 0,temp.rect.height | 0)); this.root.left.left = temp; } } } return this.powerOfTwo = value; } ,__class__: flixel_graphics_atlas_FlxAtlas ,__properties__: {set_powerOfTwo:"set_powerOfTwo",set_maxHeight:"set_maxHeight",set_maxWidth:"set_maxWidth",set_minHeight:"set_minHeight",set_minWidth:"set_minWidth",set_height:"set_height",get_height:"get_height",set_width:"set_width",get_width:"get_width",set_persist:"set_persist",get_graphic:"get_graphic",set_bitmapData:"set_bitmapData"} }; var flixel_graphics_atlas_FlxNode = function(rect,atlas,filled,key,rotated) { if(rotated == null) { rotated = false; } if(key == null) { key = ""; } if(filled == null) { filled = false; } this.filled = filled; this.left = null; this.right = null; this.rect = rect; this.key = key; this.atlas = atlas; this.rotated = rotated; }; $hxClasses["flixel.graphics.atlas.FlxNode"] = flixel_graphics_atlas_FlxNode; flixel_graphics_atlas_FlxNode.__name__ = ["flixel","graphics","atlas","FlxNode"]; flixel_graphics_atlas_FlxNode.__interfaces__ = [flixel_util_IFlxDestroyable]; flixel_graphics_atlas_FlxNode.prototype = { left: null ,right: null ,rect: null ,key: null ,filled: null ,atlas: null ,x: null ,y: null ,isEmpty: null ,rotated: null ,destroy: function() { this.key = null; this.left = null; this.right = null; this.rect = null; this.atlas = null; } ,canPlace: function(width,height) { if(this.rect.width >= width) { return this.rect.height >= height; } else { return false; } } ,getTileFrames: function(tileSize,tileSpacing,tileBorder) { flixel_FlxG.bitmap.add(this.atlas.bitmapData,false,this.atlas.name); var frame = this.atlas.getAtlasFrames().framesHash.get(this.key); if(frame != null) { var tileFrames = flixel_graphics_frames_FlxTileFrames.fromFrame(frame,tileSize,tileSpacing); if(tileBorder != null) { tileFrames = tileFrames.addBorder(tileBorder); } return tileFrames; } return null; } ,getImageFrame: function() { flixel_FlxG.bitmap.add(this.atlas.bitmapData,false,this.atlas.name); var frame = this.atlas.getAtlasFrames().framesHash.get(this.key); if(frame != null) { return flixel_graphics_frames_FlxImageFrame.fromFrame(frame); } return null; } ,get_isEmpty: function() { if(!this.filled && this.left == null) { return this.right == null; } else { return false; } } ,get_x: function() { return this.rect.x | 0; } ,get_y: function() { return this.rect.y | 0; } ,get_width: function() { return this.rect.width | 0; } ,set_width: function(value) { this.rect.width = value; return value; } ,get_height: function() { return this.rect.height | 0; } ,set_height: function(value) { this.rect.height = value; return value; } ,__class__: flixel_graphics_atlas_FlxNode ,__properties__: {get_isEmpty:"get_isEmpty",set_height:"set_height",get_height:"get_height",set_width:"set_width",get_width:"get_width",get_y:"get_y",get_x:"get_x"} }; var flixel_graphics_frames_FlxFramesCollection = function(parent,type,border) { this.parent = parent; this.type = type; var tmp; if(border == null) { var point = flixel_math_FlxPoint._pool.get().set(0,0); point._inPool = false; tmp = point; } else { tmp = border; } this.border = tmp; this.frames = []; this.framesHash = new haxe_ds_StringMap(); if(parent != null) { parent.addFrameCollection(this); } }; $hxClasses["flixel.graphics.frames.FlxFramesCollection"] = flixel_graphics_frames_FlxFramesCollection; flixel_graphics_frames_FlxFramesCollection.__name__ = ["flixel","graphics","frames","FlxFramesCollection"]; flixel_graphics_frames_FlxFramesCollection.__interfaces__ = [flixel_util_IFlxDestroyable]; flixel_graphics_frames_FlxFramesCollection.prototype = { frames: null ,framesHash: null ,parent: null ,type: null ,border: null ,getByName: function(name) { var _this = this.framesHash; if(__map_reserved[name] != null) { return _this.getReserved(name); } else { return _this.h[name]; } } ,getByIndex: function(index) { return this.frames[index]; } ,getIndexByName: function(name) { var _g1 = 0; var _g = this.frames.length; while(_g1 < _g) { var i = _g1++; if(this.frames[i].name == name) { return i; } } return -1; } ,getFrameIndex: function(frame) { return this.frames.indexOf(frame); } ,destroy: function() { this.frames = flixel_util_FlxDestroyUtil.destroyArray(this.frames); this.border = flixel_util_FlxDestroyUtil.put(this.border); this.framesHash = null; this.parent = null; this.type = null; } ,addEmptyFrame: function(size) { var frame = new flixel_graphics_frames_FlxFrame(this.parent); frame.type = 2; var _this = flixel_math_FlxRect._pool.get(); _this.x = 0; _this.y = 0; _this.width = 0; _this.height = 0; var rect = _this; rect._inPool = false; frame.set_frame(rect); frame.sourceSize.set(size.width,size.height); this.frames.push(frame); return frame; } ,addSpriteSheetFrame: function(region) { var frame = new flixel_graphics_frames_FlxFrame(this.parent); frame.set_frame(this.checkFrame(region)); frame.sourceSize.set(region.width,region.height); frame.offset.set(0,0); return this.pushFrame(frame); } ,addAtlasFrame: function(frame,sourceSize,offset,name,angle,flipX,flipY) { if(flipY == null) { flipY = false; } if(flipX == null) { flipX = false; } if(angle == null) { angle = 0; } var tmp; if(name != null) { var _this = this.framesHash; if(__map_reserved[name] != null) { tmp = _this.existsReserved(name); } else { tmp = _this.h.hasOwnProperty(name); } } else { tmp = false; } if(tmp) { var _this1 = this.framesHash; if(__map_reserved[name] != null) { return _this1.getReserved(name); } else { return _this1.h[name]; } } var texFrame = new flixel_graphics_frames_FlxFrame(this.parent,angle,flipX,flipY); texFrame.name = name; texFrame.sourceSize.set(sourceSize.x,sourceSize.y); texFrame.offset.set(offset.x,offset.y); texFrame.set_frame(this.checkFrame(frame,name)); sourceSize = flixel_util_FlxDestroyUtil.put(sourceSize); offset = flixel_util_FlxDestroyUtil.put(offset); return this.pushFrame(texFrame); } ,checkFrame: function(frame,name) { var Value = frame.x; var Max = this.parent.width; var lowerBound = Value < 0 ? 0 : Value; var x = Max != null && lowerBound > Max ? Max : lowerBound; var Value1 = frame.y; var Max1 = this.parent.height; var lowerBound1 = Value1 < 0 ? 0 : Value1; var y = Max1 != null && lowerBound1 > Max1 ? Max1 : lowerBound1; var Value2 = frame.x + frame.width; var Max2 = this.parent.width; var lowerBound2 = Value2 < 0 ? 0 : Value2; var r = Max2 != null && lowerBound2 > Max2 ? Max2 : lowerBound2; var Value3 = frame.y + frame.height; var Max3 = this.parent.height; var lowerBound3 = Value3 < 0 ? 0 : Value3; var b = Max3 != null && lowerBound3 > Max3 ? Max3 : lowerBound3; frame.x = x; frame.y = y; frame.width = r - x; frame.height = b - y; if(frame.width <= 0 || frame.height <= 0) { var _this = flixel_FlxG.log; } return frame; } ,pushFrame: function(frameObj) { var name = frameObj.name; var tmp; if(name != null) { var _this = this.framesHash; if(__map_reserved[name] != null) { tmp = _this.existsReserved(name); } else { tmp = _this.h.hasOwnProperty(name); } } else { tmp = false; } if(tmp) { var _this1 = this.framesHash; if(__map_reserved[name] != null) { return _this1.getReserved(name); } else { return _this1.h[name]; } } this.frames.push(frameObj); frameObj.cacheFrameMatrix(); if(name != null) { var _this2 = this.framesHash; if(__map_reserved[name] != null) { _this2.setReserved(name,frameObj); } else { _this2.h[name] = frameObj; } } return frameObj; } ,addBorder: function(border) { throw new js__$Boot_HaxeError("To be overriden in subclasses"); } ,toString: function() { var value = this.frames; var _this = flixel_util_LabelValuePair._pool.get(); _this.label = "frames"; _this.value = value; var value1 = this.type; var _this1 = flixel_util_LabelValuePair._pool.get(); _this1.label = "type"; _this1.value = value1; return flixel_util_FlxStringUtil.getDebugString([_this,_this1]); } ,get_numFrames: function() { return this.frames.length; } ,__class__: flixel_graphics_frames_FlxFramesCollection ,__properties__: {get_numFrames:"get_numFrames"} }; var flixel_graphics_frames_FlxAtlasFrames = function(parent,border) { flixel_graphics_frames_FlxFramesCollection.call(this,parent,flixel_graphics_frames_FlxFrameCollectionType.ATLAS,border); }; $hxClasses["flixel.graphics.frames.FlxAtlasFrames"] = flixel_graphics_frames_FlxAtlasFrames; flixel_graphics_frames_FlxAtlasFrames.__name__ = ["flixel","graphics","frames","FlxAtlasFrames"]; flixel_graphics_frames_FlxAtlasFrames.fromTexturePackerJson = function(Source,Description) { var graphic = flixel_FlxG.bitmap.add(Source,false); if(graphic == null) { return null; } var frames = flixel_graphics_frames_FlxAtlasFrames.findFrame(graphic); if(frames != null) { return frames; } if(graphic == null || Description == null) { return null; } frames = new flixel_graphics_frames_FlxAtlasFrames(graphic); var data; if(typeof(Description) == "string") { var json = Description; if(openfl_utils_Assets.exists(json)) { json = openfl_utils_Assets.getText(json); } data = JSON.parse(json); } else { data = Description; } if((data.frames instanceof Array) && data.frames.__enum__ == null) { var _g = 0; var _g1 = Lambda.array(data.frames); while(_g < _g1.length) { var frame = _g1[_g]; ++_g; flixel_graphics_frames_FlxAtlasFrames.texturePackerHelper(frame.filename,frame,frames); } } else { var _g2 = 0; var _g11 = Reflect.fields(data.frames); while(_g2 < _g11.length) { var frameName = _g11[_g2]; ++_g2; flixel_graphics_frames_FlxAtlasFrames.texturePackerHelper(frameName,Reflect.field(data.frames,frameName),frames); } } return frames; }; flixel_graphics_frames_FlxAtlasFrames.texturePackerHelper = function(FrameName,FrameData,Frames) { var rotated = FrameData.rotated; var name = FrameName; var X = FrameData.sourceSize.w; var Y = FrameData.sourceSize.h; var point = flixel_math_FlxPoint._pool.get().set(X,Y); point._inPool = false; var sourceSize = point; var X1 = FrameData.spriteSourceSize.x; var Y1 = FrameData.spriteSourceSize.y; var point1 = flixel_math_FlxPoint._pool.get().set(X1,Y1); point1._inPool = false; var offset = point1; var angle = 0; var frameRect = null; if(rotated) { var X2 = FrameData.frame.x; var Y2 = FrameData.frame.y; var Width = FrameData.frame.h; var Height = FrameData.frame.w; var _this = flixel_math_FlxRect._pool.get(); _this.x = X2; _this.y = Y2; _this.width = Width; _this.height = Height; var rect = _this; rect._inPool = false; frameRect = rect; angle = -90; } else { var X3 = FrameData.frame.x; var Y3 = FrameData.frame.y; var Width1 = FrameData.frame.w; var Height1 = FrameData.frame.h; var _this1 = flixel_math_FlxRect._pool.get(); _this1.x = X3; _this1.y = Y3; _this1.width = Width1; _this1.height = Height1; var rect1 = _this1; rect1._inPool = false; frameRect = rect1; } Frames.addAtlasFrame(frameRect,sourceSize,offset,name,angle); }; flixel_graphics_frames_FlxAtlasFrames.fromLibGdx = function(Source,Description) { var graphic = flixel_FlxG.bitmap.add(Source); if(graphic == null) { return null; } var frames = flixel_graphics_frames_FlxAtlasFrames.findFrame(graphic); if(frames != null) { return frames; } if(graphic == null || Description == null) { return null; } frames = new flixel_graphics_frames_FlxAtlasFrames(graphic); if(openfl_utils_Assets.exists(Description)) { Description = openfl_utils_Assets.getText(Description); } var pack = StringTools.trim(Description); var lines = pack.split("\n"); var repeatLine = lines[3].indexOf("repeat:") > -1 ? 3 : 4; lines.splice(0,repeatLine + 1); var numElementsPerImage = 7; var numImages = lines.length / numElementsPerImage | 0; var size = []; var _g1 = 0; var _g = numImages; while(_g1 < _g) { var i = _g1++; var curIndex = i * numElementsPerImage; var name = lines[curIndex++]; var rotated = lines[curIndex++].indexOf("true") >= 0; var angle = 0; var tempString = lines[curIndex++]; var size1 = flixel_graphics_frames_FlxAtlasFrames.getDimensions(tempString,size); var imageX = size1[0]; var imageY = size1[1]; tempString = lines[curIndex++]; size1 = flixel_graphics_frames_FlxAtlasFrames.getDimensions(tempString,size1); var imageWidth = size1[0]; var imageHeight = size1[1]; var rect = null; if(rotated) { var _this = flixel_math_FlxRect._pool.get(); _this.x = imageX; _this.y = imageY; _this.width = imageHeight; _this.height = imageWidth; var rect1 = _this; rect1._inPool = false; rect = rect1; angle = 90; } else { var _this1 = flixel_math_FlxRect._pool.get(); _this1.x = imageX; _this1.y = imageY; _this1.width = imageWidth; _this1.height = imageHeight; var rect2 = _this1; rect2._inPool = false; rect = rect2; } tempString = lines[curIndex++]; size1 = flixel_graphics_frames_FlxAtlasFrames.getDimensions(tempString,size1); var point = flixel_math_FlxPoint._pool.get().set(size1[0],size1[1]); point._inPool = false; var sourceSize = point; tempString = lines[curIndex++]; size1 = flixel_graphics_frames_FlxAtlasFrames.getDimensions(tempString,size1); var Y = sourceSize.y - size1[1] - imageHeight; var point1 = flixel_math_FlxPoint._pool.get().set(size1[0],Y); point1._inPool = false; var offset = point1; frames.addAtlasFrame(rect,sourceSize,offset,name,angle); } return frames; }; flixel_graphics_frames_FlxAtlasFrames.getDimensions = function(line,size) { var colonPosition = line.indexOf(":"); var comaPosition = line.indexOf(","); size[0] = Std.parseInt(line.substring(colonPosition + 1,comaPosition)); size[1] = Std.parseInt(line.substring(comaPosition + 1,line.length)); return size; }; flixel_graphics_frames_FlxAtlasFrames.fromSparrow = function(Source,Description) { var graphic = flixel_FlxG.bitmap.add(Source); if(graphic == null) { return null; } var frames = flixel_graphics_frames_FlxAtlasFrames.findFrame(graphic); if(frames != null) { return frames; } if(graphic == null || Description == null) { return null; } frames = new flixel_graphics_frames_FlxAtlasFrames(graphic); if(openfl_utils_Assets.exists(Description)) { Description = openfl_utils_Assets.getText(Description); } var data = new haxe_xml_Fast(Xml.parse(Description).firstElement()); var _g_head = data.nodes.resolve("SubTexture").h; while(_g_head != null) { var val = _g_head.item; _g_head = _g_head.next; var texture = val; var name = texture.att.resolve("name"); var trimmed = texture.has.resolve("frameX"); var rotated = texture.has.resolve("rotated") && texture.att.resolve("rotated") == "true"; var flipX = texture.has.resolve("flipX") && texture.att.resolve("flipX") == "true"; var flipY = texture.has.resolve("flipY") && texture.att.resolve("flipY") == "true"; var X = parseFloat(texture.att.resolve("x")); var Y = parseFloat(texture.att.resolve("y")); var Width = parseFloat(texture.att.resolve("width")); var Height = parseFloat(texture.att.resolve("height")); var _this = flixel_math_FlxRect._pool.get(); _this.x = X; _this.y = Y; _this.width = Width; _this.height = Height; var rect = _this; rect._inPool = false; var rect1 = rect; var size = trimmed ? new openfl_geom_Rectangle(Std.parseInt(texture.att.resolve("frameX")),Std.parseInt(texture.att.resolve("frameY")),Std.parseInt(texture.att.resolve("frameWidth")),Std.parseInt(texture.att.resolve("frameHeight"))) : new openfl_geom_Rectangle(0,0,rect1.width,rect1.height); var angle = rotated ? -90 : 0; var X1 = -size.get_left(); var Y1 = -size.get_top(); var point = flixel_math_FlxPoint._pool.get().set(X1,Y1); point._inPool = false; var offset = point; var X2 = size.width; var Y2 = size.height; var point1 = flixel_math_FlxPoint._pool.get().set(X2,Y2); point1._inPool = false; var sourceSize = point1; if(rotated && !trimmed) { sourceSize.set(size.height,size.width); } frames.addAtlasFrame(rect1,sourceSize,offset,name,angle,flipX,flipY); } return frames; }; flixel_graphics_frames_FlxAtlasFrames.fromTexturePackerXml = function(Source,Description) { var graphic = flixel_FlxG.bitmap.add(Source,false); if(graphic == null) { return null; } var frames = flixel_graphics_frames_FlxAtlasFrames.findFrame(graphic); if(frames != null) { return frames; } if(graphic == null || Description == null) { return null; } frames = new flixel_graphics_frames_FlxAtlasFrames(graphic); if(openfl_utils_Assets.exists(Description)) { Description = openfl_utils_Assets.getText(Description); } var xml = Xml.parse(Description); var sprite = xml.firstElement().elements(); while(sprite.hasNext()) { var sprite1 = sprite.next(); var trimmed = sprite1.exists("oX") || sprite1.exists("oY"); var rotated = sprite1.exists("r") && sprite1.get("r") == "y"; var angle = rotated ? -90 : 0; var name = sprite1.get("n"); var point = flixel_math_FlxPoint._pool.get().set(0,0); point._inPool = false; var offset = point; var X = Std.parseInt(sprite1.get("x")); var Y = Std.parseInt(sprite1.get("y")); var Width = Std.parseInt(sprite1.get("w")); var Height = Std.parseInt(sprite1.get("h")); var _this = flixel_math_FlxRect._pool.get(); _this.x = X; _this.y = Y; _this.width = Width; _this.height = Height; var rect = _this; rect._inPool = false; var rect1 = rect; var X1 = rect1.width; var Y1 = rect1.height; var point1 = flixel_math_FlxPoint._pool.get().set(X1,Y1); point1._inPool = false; var sourceSize = point1; if(trimmed) { offset.set(Std.parseInt(sprite1.get("oX")),Std.parseInt(sprite1.get("oY"))); sourceSize.set(Std.parseInt(sprite1.get("oW")),Std.parseInt(sprite1.get("oH"))); } frames.addAtlasFrame(rect1,sourceSize,offset,name,angle); } return frames; }; flixel_graphics_frames_FlxAtlasFrames.fromSpriteSheetPacker = function(Source,Description) { var graphic = flixel_FlxG.bitmap.add(Source); if(graphic == null) { return null; } var frames = flixel_graphics_frames_FlxAtlasFrames.findFrame(graphic); if(frames != null) { return frames; } if(graphic == null || Description == null) { return null; } frames = new flixel_graphics_frames_FlxAtlasFrames(graphic); if(openfl_utils_Assets.exists(Description)) { Description = openfl_utils_Assets.getText(Description); } var pack = StringTools.trim(Description); var lines = pack.split("\n"); var _g1 = 0; var _g = lines.length; while(_g1 < _g) { var i = _g1++; var currImageData = lines[i].split("="); var name = StringTools.trim(currImageData[0]); var currImageRegion = StringTools.trim(currImageData[1]).split(" "); var X = Std.parseInt(currImageRegion[0]); var Y = Std.parseInt(currImageRegion[1]); var Width = Std.parseInt(currImageRegion[2]); var Height = Std.parseInt(currImageRegion[3]); var _this = flixel_math_FlxRect._pool.get(); _this.x = X; _this.y = Y; _this.width = Width; _this.height = Height; var rect = _this; rect._inPool = false; var rect1 = rect; var X1 = rect1.width; var Y1 = rect1.height; var point = flixel_math_FlxPoint._pool.get().set(X1,Y1); point._inPool = false; var sourceSize = point; var point1 = flixel_math_FlxPoint._pool.get().set(0,0); point1._inPool = false; var offset = point1; frames.addAtlasFrame(rect1,sourceSize,offset,name,0); } return frames; }; flixel_graphics_frames_FlxAtlasFrames.findFrame = function(graphic,border) { if(border == null) { var point = flixel_math_FlxPoint._pool.get().set(0,0); point._inPool = false; var point1 = point; point1._weak = true; border = point1; } var type = flixel_graphics_frames_FlxFrameCollectionType.ATLAS; var collections = graphic.frameCollections.get(type); if(collections == null) { collections = []; graphic.frameCollections.set(type,collections); } var atlasFrames = collections; var _g = 0; while(_g < atlasFrames.length) { var atlas = atlasFrames[_g]; ++_g; var _this = atlas.border; var result = Math.abs(_this.x - border.x) <= 0.0000001 && Math.abs(_this.y - border.y) <= 0.0000001; if(border._weak) { border.put(); } if(result) { return atlas; } } return null; }; flixel_graphics_frames_FlxAtlasFrames.__super__ = flixel_graphics_frames_FlxFramesCollection; flixel_graphics_frames_FlxAtlasFrames.prototype = $extend(flixel_graphics_frames_FlxFramesCollection.prototype,{ addBorder: function(border) { var point = flixel_math_FlxPoint._pool.get().set(0,0); point._inPool = false; var point1 = point; point1._weak = true; var resultBorder = point1.addPoint(this.border).addPoint(border); var atlasFrames = flixel_graphics_frames_FlxAtlasFrames.findFrame(this.parent,resultBorder); if(atlasFrames != null) { return atlasFrames; } atlasFrames = new flixel_graphics_frames_FlxAtlasFrames(this.parent,resultBorder); var _g = 0; var _g1 = this.frames; while(_g < _g1.length) { var frame = _g1[_g]; ++_g; atlasFrames.pushFrame(frame.setBorderTo(border)); } return atlasFrames; } ,__class__: flixel_graphics_frames_FlxAtlasFrames }); var flixel_graphics_frames_FlxFrame = function(parent,angle,flipX,flipY) { if(flipY == null) { flipY = false; } if(flipX == null) { flipX = false; } if(angle == null) { angle = 0; } this.matrix = new flixel_math_FlxMatrix(); this.rect = new openfl_geom_Rectangle(); this.point2 = new openfl_geom_Point(); this.point1 = new openfl_geom_Point(); this.parent = parent; this.angle = angle; this.flipX = flipX; this.flipY = flipY; this.type = 0; var point = flixel_math_FlxPoint._pool.get().set(0,0); point._inPool = false; this.sourceSize = point; var point1 = flixel_math_FlxPoint._pool.get().set(0,0); point1._inPool = false; this.offset = point1; var this1 = new Array(6); this.blitMatrix = this1; if(flixel_FlxG.renderTile) { var this2 = new Array(6); this.tileMatrix = this2; } }; $hxClasses["flixel.graphics.frames.FlxFrame"] = flixel_graphics_frames_FlxFrame; flixel_graphics_frames_FlxFrame.__name__ = ["flixel","graphics","frames","FlxFrame"]; flixel_graphics_frames_FlxFrame.__interfaces__ = [flixel_util_IFlxDestroyable]; flixel_graphics_frames_FlxFrame.sort = function(frames,prefixLength,postfixLength) { var a3 = prefixLength; var a4 = postfixLength; haxe_ds_ArraySort.sort(frames,function(a1,a2) { return flixel_graphics_frames_FlxFrame.sortByName(a1,a2,a3,a4); }); }; flixel_graphics_frames_FlxFrame.sortByName = function(frame1,frame2,prefixLength,postfixLength) { var name1 = frame1.name; var name2 = frame2.name; var num1 = Std.parseInt(name1.substring(prefixLength,name1.length - postfixLength)); var num2 = Std.parseInt(name2.substring(prefixLength,name2.length - postfixLength)); if(num1 == null) { num1 = 0; } if(num2 == null) { num2 = 0; } return num1 - num2; }; flixel_graphics_frames_FlxFrame.prototype = { point1: null ,point2: null ,rect: null ,matrix: null ,name: null ,frame: null ,uv: null ,parent: null ,angle: null ,flipX: null ,flipY: null ,sourceSize: null ,offset: null ,type: null ,tileMatrix: null ,blitMatrix: null ,cacheFrameMatrix: function() { var mat = this.matrix; mat.identity(); mat.translate(-this.frame.x,-this.frame.y); if(this.angle == 90) { mat.setTo(-mat.b,mat.a,-mat.d,mat.c,-mat.ty,mat.tx); mat.translate(this.frame.height,0); } else if(this.angle == -90) { mat.setTo(mat.b,-mat.a,mat.d,-mat.c,mat.ty,-mat.tx); mat.translate(0,this.frame.width); } mat.translate(this.offset.x,this.offset.y); this.blitMatrix[0] = this.matrix.a; this.blitMatrix[1] = this.matrix.b; this.blitMatrix[2] = this.matrix.c; this.blitMatrix[3] = this.matrix.d; this.blitMatrix[4] = this.matrix.tx; this.blitMatrix[5] = this.matrix.ty; if(flixel_FlxG.renderTile) { var mat1 = this.matrix; mat1.identity(); if(this.angle == 90) { mat1.setTo(-mat1.b,mat1.a,-mat1.d,mat1.c,-mat1.ty,mat1.tx); mat1.translate(this.frame.height,0); } else if(this.angle == -90) { mat1.setTo(mat1.b,-mat1.a,mat1.d,-mat1.c,mat1.ty,-mat1.tx); mat1.translate(0,this.frame.width); } mat1.translate(this.offset.x,this.offset.y); this.tileMatrix[0] = this.matrix.a; this.tileMatrix[1] = this.matrix.b; this.tileMatrix[2] = this.matrix.c; this.tileMatrix[3] = this.matrix.d; this.tileMatrix[4] = this.matrix.tx; this.tileMatrix[5] = this.matrix.ty; } } ,prepareBlitMatrix: function(mat,blit) { if(blit == null) { blit = true; } mat.identity(); if(blit) { mat.translate(-this.frame.x,-this.frame.y); } if(this.angle == 90) { mat.setTo(-mat.b,mat.a,-mat.d,mat.c,-mat.ty,mat.tx); mat.translate(this.frame.height,0); } else if(this.angle == -90) { mat.setTo(mat.b,-mat.a,mat.d,-mat.c,mat.ty,-mat.tx); mat.translate(0,this.frame.width); } mat.translate(this.offset.x,this.offset.y); return mat; } ,rotateAndFlip: function(mat,rotation,flipX,flipY) { if(flipY == null) { flipY = false; } if(flipX == null) { flipX = false; } if(rotation == null) { rotation = 0; } var w = this.sourceSize.x | 0; var h = this.sourceSize.y | 0; if(rotation != 0) { var t = w; w = h; h = t; if(rotation == 90) { mat.setTo(-mat.b,mat.a,-mat.d,mat.c,-mat.ty,mat.tx); mat.translate(this.sourceSize.y,0); } else if(rotation == -90 || rotation == -90) { mat.setTo(mat.b,-mat.a,mat.d,-mat.c,mat.ty,-mat.tx); mat.translate(0,this.sourceSize.x); } } if(flipX) { mat.scale(-1,1); mat.translate(w,0); } if(flipY) { mat.scale(1,-1); mat.translate(0,h); } return mat; } ,prepareTransformedBlitMatrix: function(mat,rotation,flipX,flipY) { if(flipY == null) { flipY = false; } if(flipX == null) { flipX = false; } if(rotation == null) { rotation = 0; } mat.a = this.blitMatrix[0]; mat.b = this.blitMatrix[1]; mat.c = this.blitMatrix[2]; mat.d = this.blitMatrix[3]; mat.tx = this.blitMatrix[4]; mat.ty = this.blitMatrix[5]; mat = mat; var w = this.sourceSize.x | 0; var h = this.sourceSize.y | 0; if(rotation != 0) { var t = w; w = h; h = t; if(rotation == 90) { mat.setTo(-mat.b,mat.a,-mat.d,mat.c,-mat.ty,mat.tx); mat.translate(this.sourceSize.y,0); } else if(rotation == -90 || rotation == -90) { mat.setTo(mat.b,-mat.a,mat.d,-mat.c,mat.ty,-mat.tx); mat.translate(0,this.sourceSize.x); } } if(flipX) { mat.scale(-1,1); mat.translate(w,0); } if(flipY) { mat.scale(1,-1); mat.translate(0,h); } return mat; } ,prepareMatrix: function(mat,rotation,flipX,flipY) { if(flipY == null) { flipY = false; } if(flipX == null) { flipX = false; } if(rotation == null) { rotation = 0; } if(flixel_FlxG.renderBlit) { mat.identity(); return mat; } mat.a = this.tileMatrix[0]; mat.b = this.tileMatrix[1]; mat.c = this.tileMatrix[2]; mat.d = this.tileMatrix[3]; mat.tx = this.tileMatrix[4]; mat.ty = this.tileMatrix[5]; var doFlipX = flipX != this.flipX; var doFlipY = flipY != this.flipY; if(rotation == 0 && !doFlipX && !doFlipY) { return mat; } var w = this.sourceSize.x | 0; var h = this.sourceSize.y | 0; if(rotation != 0) { var t = w; w = h; h = t; if(rotation == 90) { mat.setTo(-mat.b,mat.a,-mat.d,mat.c,-mat.ty,mat.tx); mat.translate(this.sourceSize.y,0); } else if(rotation == -90 || rotation == -90) { mat.setTo(mat.b,-mat.a,mat.d,-mat.c,mat.ty,-mat.tx); mat.translate(0,this.sourceSize.x); } } if(doFlipX) { mat.scale(-1,1); mat.translate(w,0); } if(doFlipY) { mat.scale(1,-1); mat.translate(0,h); } return mat; } ,fillBlitMatrix: function(mat) { mat.a = this.blitMatrix[0]; mat.b = this.blitMatrix[1]; mat.c = this.blitMatrix[2]; mat.d = this.blitMatrix[3]; mat.tx = this.blitMatrix[4]; mat.ty = this.blitMatrix[5]; return mat; } ,paint: function(bmd,point,mergeAlpha,disposeIfNotEqual) { if(disposeIfNotEqual == null) { disposeIfNotEqual = false; } if(mergeAlpha == null) { mergeAlpha = false; } if(point == null) { point = this.point1; point.setTo(0,0); } var bmd1 = bmd; var w = this.sourceSize.x | 0; var h = this.sourceSize.y | 0; if(0 != 0) { var t = w; w = h; h = t; } if(bmd1 != null && disposeIfNotEqual) { bmd1 = flixel_util_FlxDestroyUtil.disposeIfNotEqual(bmd1,w,h); } if(bmd1 != null && !mergeAlpha) { this.rect.setTo(point.x,point.y,w,h); bmd1.fillRect(this.rect,0); } else if(bmd1 == null) { bmd1 = new openfl_display_BitmapData(w,h,true,0); } bmd = bmd1; if(this.type == 2) { return bmd; } if(this.angle == 0) { var _this = this.offset; var FlashPoint = this.point2; if(FlashPoint == null) { FlashPoint = new openfl_geom_Point(); } FlashPoint.x = _this.x; FlashPoint.y = _this.y; this.point2.x += point.x; this.point2.y += point.y; var tmp = this.parent.bitmap; var _this1 = this.frame; var FlashRect = this.rect; if(FlashRect == null) { FlashRect = new openfl_geom_Rectangle(); } FlashRect.x = _this1.x; FlashRect.y = _this1.y; FlashRect.width = _this1.width; FlashRect.height = _this1.height; bmd.copyPixels(tmp,FlashRect,this.point2,null,null,mergeAlpha); } else { var mat = this.matrix; mat.a = this.blitMatrix[0]; mat.b = this.blitMatrix[1]; mat.c = this.blitMatrix[2]; mat.d = this.blitMatrix[3]; mat.tx = this.blitMatrix[4]; mat.ty = this.blitMatrix[5]; this.matrix.translate(point.x,point.y); var mat1 = this.matrix; var X = this.frame.x; var Y = this.frame.y; var point1 = flixel_math_FlxPoint._pool.get().set(X,Y); point1._inPool = false; var point2 = point1; point2._weak = true; var p1 = point2; var _this2 = this.frame; var X1 = _this2.x + _this2.width; var _this3 = this.frame; var Y1 = _this3.y + _this3.height; var point3 = flixel_math_FlxPoint._pool.get().set(X1,Y1); point3._inPool = false; var point4 = point3; point4._weak = true; var p2 = point4; var x1 = p1.x * mat1.a + p1.y * mat1.c + mat1.tx; var y1 = p1.x * mat1.b + p1.y * mat1.d + mat1.ty; p1.set(x1,y1); var x11 = p2.x * mat1.a + p2.y * mat1.c + mat1.tx; var y11 = p2.x * mat1.b + p2.y * mat1.d + mat1.ty; p2.set(x11,y11); var _this4 = flixel_math_FlxRect._pool.get(); _this4.x = 0; _this4.y = 0; _this4.width = 0; _this4.height = 0; var rect = _this4; rect._inPool = false; var _this5 = rect; var minX = Math.min(p1.x,p2.x); var minY = Math.min(p1.y,p2.y); var maxX = Math.max(p1.x,p2.x); var maxY = Math.max(p1.y,p2.y); if(p1._weak) { p1.put(); } if(p2._weak) { p2.put(); } _this5.x = minX; _this5.y = minY; _this5.width = maxX - minX; _this5.height = maxY - minY; var flxRect = _this5; var FlashRect1 = this.rect; if(FlashRect1 == null) { FlashRect1 = new openfl_geom_Rectangle(); } FlashRect1.x = flxRect.x; FlashRect1.y = flxRect.y; FlashRect1.width = flxRect.width; FlashRect1.height = flxRect.height; if(!flxRect._inPool) { flxRect._inPool = true; flxRect._weak = false; flixel_math_FlxRect._pool.putUnsafe(flxRect); } var rect1 = this.rect; bmd.draw(this.parent.bitmap,this.matrix,null,null,rect1); } return bmd; } ,paintRotatedAndFlipped: function(bmd,point,rotation,flipX,flipY,mergeAlpha,disposeIfNotEqual) { if(disposeIfNotEqual == null) { disposeIfNotEqual = false; } if(mergeAlpha == null) { mergeAlpha = false; } if(flipY == null) { flipY = false; } if(flipX == null) { flipX = false; } if(rotation == null) { rotation = 0; } if(this.type == 2 && rotation == 0) { return this.paint(bmd,point,mergeAlpha,disposeIfNotEqual); } if(point == null) { point = this.point2; point.setTo(0,0); } var bmd1 = bmd; var w = this.sourceSize.x | 0; var h = this.sourceSize.y | 0; if(rotation != 0) { var t = w; w = h; h = t; } if(bmd1 != null && disposeIfNotEqual) { bmd1 = flixel_util_FlxDestroyUtil.disposeIfNotEqual(bmd1,w,h); } if(bmd1 != null && !mergeAlpha) { this.rect.setTo(point.x,point.y,w,h); bmd1.fillRect(this.rect,0); } else if(bmd1 == null) { bmd1 = new openfl_display_BitmapData(w,h,true,0); } bmd = bmd1; if(this.type == 2) { return bmd; } var doFlipX = flipX != this.flipX; var doFlipY = flipY != this.flipY; this.prepareTransformedBlitMatrix(this.matrix,rotation,doFlipX,doFlipY); this.matrix.translate(point.x,point.y); var mat = this.matrix; var X = this.frame.x; var Y = this.frame.y; var point1 = flixel_math_FlxPoint._pool.get().set(X,Y); point1._inPool = false; var point2 = point1; point2._weak = true; var p1 = point2; var _this = this.frame; var X1 = _this.x + _this.width; var _this1 = this.frame; var Y1 = _this1.y + _this1.height; var point3 = flixel_math_FlxPoint._pool.get().set(X1,Y1); point3._inPool = false; var point4 = point3; point4._weak = true; var p2 = point4; var x1 = p1.x * mat.a + p1.y * mat.c + mat.tx; var y1 = p1.x * mat.b + p1.y * mat.d + mat.ty; p1.set(x1,y1); var x11 = p2.x * mat.a + p2.y * mat.c + mat.tx; var y11 = p2.x * mat.b + p2.y * mat.d + mat.ty; p2.set(x11,y11); var _this2 = flixel_math_FlxRect._pool.get(); _this2.x = 0; _this2.y = 0; _this2.width = 0; _this2.height = 0; var rect = _this2; rect._inPool = false; var _this3 = rect; var minX = Math.min(p1.x,p2.x); var minY = Math.min(p1.y,p2.y); var maxX = Math.max(p1.x,p2.x); var maxY = Math.max(p1.y,p2.y); if(p1._weak) { p1.put(); } if(p2._weak) { p2.put(); } _this3.x = minX; _this3.y = minY; _this3.width = maxX - minX; _this3.height = maxY - minY; var flxRect = _this3; var FlashRect = this.rect; if(FlashRect == null) { FlashRect = new openfl_geom_Rectangle(); } FlashRect.x = flxRect.x; FlashRect.y = flxRect.y; FlashRect.width = flxRect.width; FlashRect.height = flxRect.height; if(!flxRect._inPool) { flxRect._inPool = true; flxRect._weak = false; flixel_math_FlxRect._pool.putUnsafe(flxRect); } var rect1 = this.rect; bmd.draw(this.parent.bitmap,this.matrix,null,null,rect1); return bmd; } ,checkInputBitmap: function(bmd,point,rotation,mergeAlpha,disposeIfNotEqual) { if(disposeIfNotEqual == null) { disposeIfNotEqual = false; } if(mergeAlpha == null) { mergeAlpha = false; } if(rotation == null) { rotation = 0; } var w = this.sourceSize.x | 0; var h = this.sourceSize.y | 0; if(rotation != 0) { var t = w; w = h; h = t; } if(bmd != null && disposeIfNotEqual) { bmd = flixel_util_FlxDestroyUtil.disposeIfNotEqual(bmd,w,h); } if(bmd != null && !mergeAlpha) { this.rect.setTo(point.x,point.y,w,h); bmd.fillRect(this.rect,0); } else if(bmd == null) { bmd = new openfl_display_BitmapData(w,h,true,0); } return bmd; } ,getDrawFrameRect: function(mat) { var X = this.frame.x; var Y = this.frame.y; var point = flixel_math_FlxPoint._pool.get().set(X,Y); point._inPool = false; var point1 = point; point1._weak = true; var p1 = point1; var _this = this.frame; var X1 = _this.x + _this.width; var _this1 = this.frame; var Y1 = _this1.y + _this1.height; var point2 = flixel_math_FlxPoint._pool.get().set(X1,Y1); point2._inPool = false; var point3 = point2; point3._weak = true; var p2 = point3; var x1 = p1.x * mat.a + p1.y * mat.c + mat.tx; var y1 = p1.x * mat.b + p1.y * mat.d + mat.ty; p1.set(x1,y1); var x11 = p2.x * mat.a + p2.y * mat.c + mat.tx; var y11 = p2.x * mat.b + p2.y * mat.d + mat.ty; p2.set(x11,y11); var _this2 = flixel_math_FlxRect._pool.get(); _this2.x = 0; _this2.y = 0; _this2.width = 0; _this2.height = 0; var rect = _this2; rect._inPool = false; var _this3 = rect; var minX = Math.min(p1.x,p2.x); var minY = Math.min(p1.y,p2.y); var maxX = Math.max(p1.x,p2.x); var maxY = Math.max(p1.y,p2.y); if(p1._weak) { p1.put(); } if(p2._weak) { p2.put(); } _this3.x = minX; _this3.y = minY; _this3.width = maxX - minX; _this3.height = maxY - minY; var flxRect = _this3; var FlashRect = this.rect; if(FlashRect == null) { FlashRect = new openfl_geom_Rectangle(); } FlashRect.x = flxRect.x; FlashRect.y = flxRect.y; FlashRect.width = flxRect.width; FlashRect.height = flxRect.height; if(!flxRect._inPool) { flxRect._inPool = true; flxRect._weak = false; flixel_math_FlxRect._pool.putUnsafe(flxRect); } return this.rect; } ,subFrameTo: function(rect,frameToFill) { if(frameToFill == null) { frameToFill = new flixel_graphics_frames_FlxFrame(this.parent,this.angle); } else { frameToFill.parent = this.parent; frameToFill.angle = this.angle; frameToFill.set_frame(flixel_util_FlxDestroyUtil.put(frameToFill.frame)); } frameToFill.sourceSize.set(rect.width,rect.height); if(this.type == 2) { frameToFill.type = 2; frameToFill.offset.set(0,0); return frameToFill; } var _this = flixel_math_FlxRect._pool.get(); _this.x = 0; _this.y = 0; _this.width = 0; _this.height = 0; var rect1 = _this; rect1._inPool = false; var _this1 = rect1; _this1.width = this.frame.width; _this1.height = this.frame.height; var clippedRect = _this1; if(this.angle != 0) { clippedRect.width = this.frame.height; clippedRect.height = this.frame.width; } var ox = Math.max(this.offset.x,0); var oy = Math.max(this.offset.y,0); rect.x += -ox; rect.y += -oy; var frameRect = clippedRect.intersection(rect); clippedRect = flixel_util_FlxDestroyUtil.put(clippedRect); rect.x += ox; rect.y += oy; if(frameRect.width == 0 || frameRect.height == 0) { frameToFill.type = 2; frameRect.x = 0; frameRect.y = 0; frameRect.width = 0; frameRect.height = 0; frameToFill.set_frame(frameRect); frameToFill.offset.set(0,0); } else { frameToFill.type = 0; var _this2 = frameToFill.offset.set(frameRect.x,frameRect.y); var Y = rect.y; var _g = _this2; _g.set_x(_g.x - rect.x); var _g1 = _this2; _g1.set_y(_g1.y - Y); _this2.addPoint(this.offset); var X = frameRect.x; var Y1 = frameRect.y; var point = flixel_math_FlxPoint._pool.get().set(X,Y1); point._inPool = false; var point1 = point; point1._weak = true; var p1 = point1; var X1 = frameRect.x + frameRect.width; var Y2 = frameRect.y + frameRect.height; var point2 = flixel_math_FlxPoint._pool.get().set(X1,Y2); point2._inPool = false; var point3 = point2; point3._weak = true; var p2 = point3; this.matrix.identity(); if(this.angle == -90) { var _this3 = this.matrix; _this3.setTo(-_this3.b,_this3.a,-_this3.d,_this3.c,-_this3.ty,_this3.tx); this.matrix.translate(this.frame.width,0); } else if(this.angle == 90) { var _this4 = this.matrix; _this4.setTo(_this4.b,-_this4.a,_this4.d,-_this4.c,_this4.ty,-_this4.tx); this.matrix.translate(0,this.frame.height); } if(this.angle != 0) { var matrix = this.matrix; var x1 = p1.x * matrix.a + p1.y * matrix.c + matrix.tx; var y1 = p1.x * matrix.b + p1.y * matrix.d + matrix.ty; p1.set(x1,y1); var matrix1 = this.matrix; var x11 = p2.x * matrix1.a + p2.y * matrix1.c + matrix1.tx; var y11 = p2.x * matrix1.b + p2.y * matrix1.d + matrix1.ty; p2.set(x11,y11); } var minX = Math.min(p1.x,p2.x); var minY = Math.min(p1.y,p2.y); var maxX = Math.max(p1.x,p2.x); var maxY = Math.max(p1.y,p2.y); if(p1._weak) { p1.put(); } if(p2._weak) { p2.put(); } frameRect.x = minX; frameRect.y = minY; frameRect.width = maxX - minX; frameRect.height = maxY - minY; frameRect.x += this.frame.x; frameRect.y += this.frame.y; frameToFill.set_frame(frameRect); frameToFill.cacheFrameMatrix(); } return frameToFill; } ,setBorderTo: function(border,frameToFill) { var X = border.x; var Y = border.y; var Width = this.sourceSize.x - 2 * border.x; var Height = this.sourceSize.y - 2 * border.y; var _this = flixel_math_FlxRect._pool.get(); _this.x = X; _this.y = Y; _this.width = Width; _this.height = Height; var rect = _this; rect._inPool = false; var rect1 = rect; frameToFill = this.subFrameTo(rect1,frameToFill); frameToFill.name = this.name; rect1 = flixel_util_FlxDestroyUtil.put(rect1); return frameToFill; } ,clipTo: function(clip,clippedFrame) { if(clippedFrame == null) { clippedFrame = new flixel_graphics_frames_FlxFrame(this.parent,this.angle); } else { clippedFrame.parent = this.parent; clippedFrame.angle = this.angle; clippedFrame.set_frame(flixel_util_FlxDestroyUtil.put(clippedFrame.frame)); } var _this = clippedFrame.sourceSize; var point = this.sourceSize; _this.set_x(point.x); _this.set_y(point.y); if(point._weak) { point.put(); } clippedFrame.name = this.name; if(this.type == 2) { clippedFrame.type = 2; clippedFrame.offset.set(0,0); return clippedFrame; } var _this1 = flixel_math_FlxRect._pool.get(); _this1.x = 0; _this1.y = 0; _this1.width = 0; _this1.height = 0; var rect = _this1; rect._inPool = false; var _this2 = rect; _this2.width = this.frame.width; _this2.height = this.frame.height; var clippedRect = _this2; if(this.angle != 0) { clippedRect.width = this.frame.height; clippedRect.height = this.frame.width; } clip.x += -this.offset.x; clip.y += -this.offset.y; var frameRect = clippedRect.intersection(clip); clippedRect = flixel_util_FlxDestroyUtil.put(clippedRect); if(frameRect.width == 0 || frameRect.height == 0) { clippedFrame.type = 2; frameRect.x = 0; frameRect.y = 0; frameRect.width = 0; frameRect.height = 0; clippedFrame.set_frame(frameRect); clippedFrame.offset.set(0,0); } else { clippedFrame.type = 0; clippedFrame.offset.set(frameRect.x,frameRect.y).addPoint(this.offset); var X = frameRect.x; var Y = frameRect.y; var point1 = flixel_math_FlxPoint._pool.get().set(X,Y); point1._inPool = false; var point2 = point1; point2._weak = true; var p1 = point2; var X1 = frameRect.x + frameRect.width; var Y1 = frameRect.y + frameRect.height; var point3 = flixel_math_FlxPoint._pool.get().set(X1,Y1); point3._inPool = false; var point4 = point3; point4._weak = true; var p2 = point4; this.matrix.identity(); if(this.angle == -90) { var _this3 = this.matrix; _this3.setTo(-_this3.b,_this3.a,-_this3.d,_this3.c,-_this3.ty,_this3.tx); this.matrix.translate(this.frame.width,0); } else if(this.angle == 90) { var _this4 = this.matrix; _this4.setTo(_this4.b,-_this4.a,_this4.d,-_this4.c,_this4.ty,-_this4.tx); this.matrix.translate(0,this.frame.height); } if(this.angle != 0) { var matrix = this.matrix; var x1 = p1.x * matrix.a + p1.y * matrix.c + matrix.tx; var y1 = p1.x * matrix.b + p1.y * matrix.d + matrix.ty; p1.set(x1,y1); var matrix1 = this.matrix; var x11 = p2.x * matrix1.a + p2.y * matrix1.c + matrix1.tx; var y11 = p2.x * matrix1.b + p2.y * matrix1.d + matrix1.ty; p2.set(x11,y11); } var minX = Math.min(p1.x,p2.x); var minY = Math.min(p1.y,p2.y); var maxX = Math.max(p1.x,p2.x); var maxY = Math.max(p1.y,p2.y); if(p1._weak) { p1.put(); } if(p2._weak) { p2.put(); } frameRect.x = minX; frameRect.y = minY; frameRect.width = maxX - minX; frameRect.height = maxY - minY; frameRect.x += this.frame.x; frameRect.y += this.frame.y; clippedFrame.set_frame(frameRect); clippedFrame.cacheFrameMatrix(); } clip.x += this.offset.x; clip.y += this.offset.y; return clippedFrame; } ,copyTo: function(clone) { if(clone == null) { clone = new flixel_graphics_frames_FlxFrame(this.parent,this.angle); } else { clone.parent = this.parent; clone.angle = this.angle; clone.set_frame(flixel_util_FlxDestroyUtil.put(clone.frame)); } var _this = clone.offset; var point = this.offset; _this.set_x(point.x); _this.set_y(point.y); if(point._weak) { point.put(); } clone.flipX = this.flipX; clone.flipY = this.flipY; var _this1 = clone.sourceSize; var point1 = this.sourceSize; _this1.set_x(point1.x); _this1.set_y(point1.y); if(point1._weak) { point1.put(); } var _this2 = flixel_math_FlxRect._pool.get(); _this2.x = 0; _this2.y = 0; _this2.width = 0; _this2.height = 0; var rect = _this2; rect._inPool = false; var _this3 = rect; var Rect = this.frame; _this3.x = Rect.x; _this3.y = Rect.y; _this3.width = Rect.width; _this3.height = Rect.height; if(Rect._weak) { if(!Rect._inPool) { Rect._inPool = true; Rect._weak = false; flixel_math_FlxRect._pool.putUnsafe(Rect); } } clone.set_frame(_this3); clone.type = this.type; clone.name = this.name; clone.cacheFrameMatrix(); return clone; } ,destroy: function() { this.name = null; this.parent = null; this.sourceSize = flixel_util_FlxDestroyUtil.put(this.sourceSize); this.offset = flixel_util_FlxDestroyUtil.put(this.offset); this.set_frame(flixel_util_FlxDestroyUtil.put(this.frame)); this.uv = flixel_util_FlxDestroyUtil.put(this.uv); this.blitMatrix = null; this.tileMatrix = null; } ,toString: function() { var value = this.name; var _this = flixel_util_LabelValuePair._pool.get(); _this.label = "name"; _this.value = value; return flixel_util_FlxStringUtil.getDebugString([_this]); } ,set_frame: function(value) { if(value != null) { if(this.uv == null) { var _this = flixel_math_FlxRect._pool.get(); _this.x = 0; _this.y = 0; _this.width = 0; _this.height = 0; var rect = _this; rect._inPool = false; this.uv = rect; } var _this1 = this.uv; var Width = (value.x + value.width) / this.parent.width; var Height = (value.y + value.height) / this.parent.height; _this1.x = value.x / this.parent.width; _this1.y = value.y / this.parent.height; _this1.width = Width; _this1.height = Height; } return this.frame = value; } ,__class__: flixel_graphics_frames_FlxFrame ,__properties__: {set_frame:"set_frame"} }; var flixel_graphics_frames_FlxFrameCollectionType = $hxClasses["flixel.graphics.frames.FlxFrameCollectionType"] = { __ename__ : ["flixel","graphics","frames","FlxFrameCollectionType"], __constructs__ : ["IMAGE","TILES","ATLAS","FONT","USER","FILTER"] }; flixel_graphics_frames_FlxFrameCollectionType.IMAGE = ["IMAGE",0]; flixel_graphics_frames_FlxFrameCollectionType.IMAGE.toString = $estr; flixel_graphics_frames_FlxFrameCollectionType.IMAGE.__enum__ = flixel_graphics_frames_FlxFrameCollectionType; flixel_graphics_frames_FlxFrameCollectionType.TILES = ["TILES",1]; flixel_graphics_frames_FlxFrameCollectionType.TILES.toString = $estr; flixel_graphics_frames_FlxFrameCollectionType.TILES.__enum__ = flixel_graphics_frames_FlxFrameCollectionType; flixel_graphics_frames_FlxFrameCollectionType.ATLAS = ["ATLAS",2]; flixel_graphics_frames_FlxFrameCollectionType.ATLAS.toString = $estr; flixel_graphics_frames_FlxFrameCollectionType.ATLAS.__enum__ = flixel_graphics_frames_FlxFrameCollectionType; flixel_graphics_frames_FlxFrameCollectionType.FONT = ["FONT",3]; flixel_graphics_frames_FlxFrameCollectionType.FONT.toString = $estr; flixel_graphics_frames_FlxFrameCollectionType.FONT.__enum__ = flixel_graphics_frames_FlxFrameCollectionType; flixel_graphics_frames_FlxFrameCollectionType.USER = function(type) { var $x = ["USER",4,type]; $x.__enum__ = flixel_graphics_frames_FlxFrameCollectionType; $x.toString = $estr; return $x; }; flixel_graphics_frames_FlxFrameCollectionType.FILTER = ["FILTER",5]; flixel_graphics_frames_FlxFrameCollectionType.FILTER.toString = $estr; flixel_graphics_frames_FlxFrameCollectionType.FILTER.__enum__ = flixel_graphics_frames_FlxFrameCollectionType; var flixel_graphics_frames_FlxImageFrame = function(parent,border) { flixel_graphics_frames_FlxFramesCollection.call(this,parent,flixel_graphics_frames_FlxFrameCollectionType.IMAGE,border); }; $hxClasses["flixel.graphics.frames.FlxImageFrame"] = flixel_graphics_frames_FlxImageFrame; flixel_graphics_frames_FlxImageFrame.__name__ = ["flixel","graphics","frames","FlxImageFrame"]; flixel_graphics_frames_FlxImageFrame.fromEmptyFrame = function(graphic,frameRect) { if(graphic == null || frameRect == null) { return null; } var imageFrame = flixel_graphics_frames_FlxImageFrame.findEmptyFrame(graphic,frameRect); if(imageFrame != null) { return imageFrame; } imageFrame = new flixel_graphics_frames_FlxImageFrame(graphic); imageFrame.addEmptyFrame(frameRect); return imageFrame; }; flixel_graphics_frames_FlxImageFrame.fromFrame = function(source) { var graphic = source.parent; var rect = source.frame; var imageFrame = flixel_graphics_frames_FlxImageFrame.findFrame(graphic,rect); if(imageFrame != null) { return imageFrame; } imageFrame = new flixel_graphics_frames_FlxImageFrame(graphic); var _this = flixel_math_FlxRect._pool.get(); _this.x = 0; _this.y = 0; _this.width = 0; _this.height = 0; var rect1 = _this; rect1._inPool = false; var Rect = rect1; Rect.x = rect.x; Rect.y = rect.y; Rect.width = rect.width; Rect.height = rect.height; if(Rect._weak) { if(!Rect._inPool) { Rect._inPool = true; Rect._weak = false; flixel_math_FlxRect._pool.putUnsafe(Rect); } } imageFrame.addSpriteSheetFrame(Rect); return imageFrame; }; flixel_graphics_frames_FlxImageFrame.fromImage = function(source) { return flixel_graphics_frames_FlxImageFrame.fromRectangle(source,null); }; flixel_graphics_frames_FlxImageFrame.fromGraphic = function(graphic,region) { if(graphic == null) { return null; } var checkRegion = region; if(checkRegion == null) { var Width = graphic.width; var Height = graphic.height; var _this = flixel_math_FlxRect._pool.get(); _this.x = 0; _this.y = 0; _this.width = Width; _this.height = Height; var rect = _this; rect._inPool = false; var rect1 = rect; rect1._weak = true; checkRegion = rect1; } var imageFrame = flixel_graphics_frames_FlxImageFrame.findFrame(graphic,checkRegion); if(imageFrame != null) { return imageFrame; } imageFrame = new flixel_graphics_frames_FlxImageFrame(graphic); if(region == null) { var Width1 = graphic.width; var Height1 = graphic.height; var _this1 = flixel_math_FlxRect._pool.get(); _this1.x = 0; _this1.y = 0; _this1.width = Width1; _this1.height = Height1; var rect2 = _this1; rect2._inPool = false; region = rect2; } else { if(region.width == 0) { region.width = graphic.width - region.x; } if(region.height == 0) { region.height = graphic.height - region.y; } } imageFrame.addSpriteSheetFrame(region); return imageFrame; }; flixel_graphics_frames_FlxImageFrame.fromRectangle = function(source,region) { var graphic = flixel_FlxG.bitmap.add(source,false); return flixel_graphics_frames_FlxImageFrame.fromGraphic(graphic,region); }; flixel_graphics_frames_FlxImageFrame.fromBitmapAddSpacesAndBorders = function(source,border,region) { var graphic = flixel_FlxG.bitmap.add(source,false); if(graphic == null) { return null; } var key = flixel_FlxG.bitmap.getKeyWithSpacesAndBorders(graphic.key,null,null,border,region); var result = flixel_FlxG.bitmap._cache.get(key); if(result == null) { var bitmap = flixel_util_FlxBitmapDataUtil.addSpacesAndBorders(graphic.bitmap,null,null,border,region); result = flixel_FlxG.bitmap.add(bitmap,false,key); } var imageFrame = flixel_graphics_frames_FlxImageFrame.fromGraphic(graphic); return imageFrame.addBorder(border); }; flixel_graphics_frames_FlxImageFrame.fromFrameAddSpacesAndBorders = function(frame,border) { var bitmap = frame.paint(); return flixel_graphics_frames_FlxImageFrame.fromBitmapAddSpacesAndBorders(bitmap,border); }; flixel_graphics_frames_FlxImageFrame.findFrame = function(graphic,frameRect,frameBorder) { if(frameBorder == null) { var point = flixel_math_FlxPoint._pool.get().set(0,0); point._inPool = false; var point1 = point; point1._weak = true; frameBorder = point1; } var type = flixel_graphics_frames_FlxFrameCollectionType.IMAGE; var collections = graphic.frameCollections.get(type); if(collections == null) { collections = []; graphic.frameCollections.set(type,collections); } var imageFrames = collections; var _g = 0; while(_g < imageFrames.length) { var imageFrame = imageFrames[_g]; ++_g; var tmp; var tmp1; var rect = imageFrame.get_frame().frame; var result = Math.abs(frameRect.x - rect.x) <= 0.0000001 && Math.abs(frameRect.y - rect.y) <= 0.0000001 && Math.abs(frameRect.width - rect.width) <= 0.0000001 && Math.abs(frameRect.height - rect.height) <= 0.0000001; if(rect._weak) { if(!rect._inPool) { rect._inPool = true; rect._weak = false; flixel_math_FlxRect._pool.putUnsafe(rect); } } if(result) { var point2 = imageFrame.border; var result1 = Math.abs(frameBorder.x - point2.x) <= 0.0000001 && Math.abs(frameBorder.y - point2.y) <= 0.0000001; if(point2._weak) { point2.put(); } tmp1 = result1; } else { tmp1 = false; } if(tmp1) { tmp = imageFrame.get_frame().type != 2; } else { tmp = false; } if(tmp) { return imageFrame; } } return null; }; flixel_graphics_frames_FlxImageFrame.findEmptyFrame = function(graphic,frameRect) { var type = flixel_graphics_frames_FlxFrameCollectionType.IMAGE; var collections = graphic.frameCollections.get(type); if(collections == null) { collections = []; graphic.frameCollections.set(type,collections); } var imageFrames = collections; var _g = 0; while(_g < imageFrames.length) { var imageFrame = imageFrames[_g]; ++_g; var frame = imageFrame.get_frame(); if(frame.sourceSize.x == frameRect.width && frame.sourceSize.y == frameRect.height && frame.type == 2) { return imageFrame; } } return null; }; flixel_graphics_frames_FlxImageFrame.__super__ = flixel_graphics_frames_FlxFramesCollection; flixel_graphics_frames_FlxImageFrame.prototype = $extend(flixel_graphics_frames_FlxFramesCollection.prototype,{ frame: null ,equals: function(rect,border) { var rect1 = this.get_frame().frame; var result = Math.abs(rect.x - rect1.x) <= 0.0000001 && Math.abs(rect.y - rect1.y) <= 0.0000001 && Math.abs(rect.width - rect1.width) <= 0.0000001 && Math.abs(rect.height - rect1.height) <= 0.0000001; if(rect1._weak) { if(!rect1._inPool) { rect1._inPool = true; rect1._weak = false; flixel_math_FlxRect._pool.putUnsafe(rect1); } } if(result) { var point = this.border; var result1 = Math.abs(border.x - point.x) <= 0.0000001 && Math.abs(border.y - point.y) <= 0.0000001; if(point._weak) { point.put(); } return result1; } else { return false; } } ,addBorder: function(border) { var point = flixel_math_FlxPoint._pool.get().set(0,0); point._inPool = false; var point1 = point; point1._weak = true; var resultBorder = point1.addPoint(this.border).addPoint(border); var imageFrame = flixel_graphics_frames_FlxImageFrame.findFrame(this.parent,this.get_frame().frame,resultBorder); if(imageFrame != null) { return imageFrame; } imageFrame = new flixel_graphics_frames_FlxImageFrame(this.parent,resultBorder); imageFrame.pushFrame(this.get_frame().setBorderTo(border)); return imageFrame; } ,destroy: function() { flixel_graphics_frames_FlxFramesCollection.prototype.destroy.call(this); this.frame = flixel_util_FlxDestroyUtil.destroy(this.get_frame()); } ,get_frame: function() { return this.frames[0]; } ,__class__: flixel_graphics_frames_FlxImageFrame ,__properties__: $extend(flixel_graphics_frames_FlxFramesCollection.prototype.__properties__,{get_frame:"get_frame"}) }); var flixel_graphics_frames_FlxTileFrames = function(parent,border) { this.numCols = 0; this.numRows = 0; flixel_graphics_frames_FlxFramesCollection.call(this,parent,flixel_graphics_frames_FlxFrameCollectionType.TILES,border); }; $hxClasses["flixel.graphics.frames.FlxTileFrames"] = flixel_graphics_frames_FlxTileFrames; flixel_graphics_frames_FlxTileFrames.__name__ = ["flixel","graphics","frames","FlxTileFrames"]; flixel_graphics_frames_FlxTileFrames.fromBitmapAddSpacesAndBorders = function(source,tileSize,tileSpacing,tileBorder,region) { var graphic = flixel_FlxG.bitmap.add(source,false); if(graphic == null) { return null; } var key = flixel_FlxG.bitmap.getKeyWithSpacesAndBorders(graphic.key,tileSize,tileSpacing,tileBorder,region); var result = flixel_FlxG.bitmap._cache.get(key); if(result == null) { var bitmap = flixel_util_FlxBitmapDataUtil.addSpacesAndBorders(graphic.bitmap,tileSize,tileSpacing,tileBorder,region); result = flixel_FlxG.bitmap.add(bitmap,false,key); } var borderX = 0; var borderY = 0; if(tileBorder != null) { borderX = tileBorder.x | 0; borderY = tileBorder.y | 0; } var point = flixel_math_FlxPoint._pool.get().set(0,0); point._inPool = false; var _this = point.addPoint(tileSize); var _g = _this; _g.set_x(_g.x + 2 * borderX); var _g1 = _this; _g1.set_y(_g1.y + 2 * borderY); var tileFrames = flixel_graphics_frames_FlxTileFrames.fromGraphic(result,_this,null,tileSpacing); if(tileBorder == null) { return tileFrames; } return tileFrames.addBorder(tileBorder); }; flixel_graphics_frames_FlxTileFrames.fromFrameAddSpacesAndBorders = function(frame,tileSize,tileSpacing,tileBorder) { var bitmap = frame.paint(); return flixel_graphics_frames_FlxTileFrames.fromBitmapAddSpacesAndBorders(bitmap,tileSize,tileSpacing,tileBorder); }; flixel_graphics_frames_FlxTileFrames.fromFrame = function(frame,tileSize,tileSpacing) { var graphic = frame.parent; var tileFrames = flixel_graphics_frames_FlxTileFrames.findFrame(graphic,tileSize,null,frame,tileSpacing); if(tileFrames != null) { return tileFrames; } if(tileSpacing != null) { tileSpacing = tileSpacing; } else { var point = flixel_math_FlxPoint._pool.get().set(0,0); point._inPool = false; tileSpacing = point; } tileFrames = new flixel_graphics_frames_FlxTileFrames(graphic); tileFrames.atlasFrame = frame; tileFrames.region = frame.frame; tileFrames.tileSize = tileSize; tileFrames.tileSpacing = tileSpacing; tileSpacing.set_x(Math.floor(tileSpacing.x)); tileSpacing.set_y(Math.floor(tileSpacing.y)); tileSize.set_x(Math.floor(tileSize.x)); tileSize.set_y(Math.floor(tileSize.y)); var spacedWidth = tileSize.x + tileSpacing.x; var spacedHeight = tileSize.y + tileSpacing.y; var numRows = tileSize.y == 0 ? 1 : (frame.sourceSize.y + tileSpacing.y) / spacedHeight | 0; var numCols = tileSize.x == 0 ? 1 : (frame.sourceSize.x + tileSpacing.x) / spacedWidth | 0; var Width = tileSize.x; var Height = tileSize.y; var _this = flixel_math_FlxRect._pool.get(); _this.x = 0; _this.y = 0; _this.width = Width; _this.height = Height; var rect = _this; rect._inPool = false; var helperRect = rect; var _g1 = 0; var _g = numRows; while(_g1 < _g) { var j = _g1++; var _g3 = 0; var _g2 = numCols; while(_g3 < _g2) { var i = _g3++; helperRect.x = spacedWidth * i; helperRect.y = spacedHeight * j; tileFrames.pushFrame(frame.subFrameTo(helperRect)); } } helperRect = flixel_util_FlxDestroyUtil.put(helperRect); tileFrames.numCols = numCols; tileFrames.numRows = numRows; return tileFrames; }; flixel_graphics_frames_FlxTileFrames.fromFrames = function(Frames) { var firstFrame = Frames[0]; var graphic = firstFrame.parent; var _g = 0; while(_g < Frames.length) { var frame = Frames[_g]; ++_g; var tmp; if(frame.parent == firstFrame.parent) { var _this = frame.sourceSize; var point = firstFrame.sourceSize; var result = Math.abs(_this.x - point.x) <= 0.0000001 && Math.abs(_this.y - point.y) <= 0.0000001; if(point._weak) { point.put(); } tmp = !result; } else { tmp = true; } if(tmp) { return null; } } var tileFrames = new flixel_graphics_frames_FlxTileFrames(graphic); tileFrames.region = null; tileFrames.atlasFrame = null; var point1 = flixel_math_FlxPoint._pool.get().set(0,0); point1._inPool = false; var _this1 = point1; var point2 = firstFrame.sourceSize; _this1.set_x(point2.x); _this1.set_y(point2.y); if(point2._weak) { point2.put(); } tileFrames.tileSize = _this1; var point3 = flixel_math_FlxPoint._pool.get().set(0,0); point3._inPool = false; tileFrames.tileSpacing = point3; tileFrames.numCols = Frames.length; tileFrames.numRows = 1; var _g1 = 0; while(_g1 < Frames.length) { var frame1 = Frames[_g1]; ++_g1; tileFrames.frames.push(frame1); if(frame1.name != null) { var key = frame1.name; var _this2 = tileFrames.framesHash; if(__map_reserved[key] != null) { _this2.setReserved(key,frame1); } else { _this2.h[key] = frame1; } } } return tileFrames; }; flixel_graphics_frames_FlxTileFrames.fromAtlasByPrefix = function(Frames,Prefix) { var framesToAdd = []; var _g = 0; var _g1 = Frames.frames; while(_g < _g1.length) { var frame = _g1[_g]; ++_g; if(StringTools.startsWith(frame.name,Prefix)) { framesToAdd.push(frame); } } if(framesToAdd.length > 0) { var name = framesToAdd[0].name; var postIndex = name.indexOf(".",Prefix.length); var postFix = name.substring(postIndex == -1 ? name.length : postIndex,name.length); flixel_graphics_frames_FlxFrame.sort(framesToAdd,Prefix.length,postFix.length); return flixel_graphics_frames_FlxTileFrames.fromFrames(framesToAdd); } return null; }; flixel_graphics_frames_FlxTileFrames.fromGraphic = function(graphic,tileSize,region,tileSpacing) { var tileFrames = flixel_graphics_frames_FlxTileFrames.findFrame(graphic,tileSize,region,null,tileSpacing); if(tileFrames != null) { return tileFrames; } if(region == null) { var Width = graphic.width; var Height = graphic.height; var _this = flixel_math_FlxRect._pool.get(); _this.x = 0; _this.y = 0; _this.width = Width; _this.height = Height; var rect = _this; rect._inPool = false; region = rect; } else { if(region.width == 0) { region.width = graphic.width - region.x; } if(region.height == 0) { region.height = graphic.height - region.y; } } if(tileSpacing != null) { tileSpacing = tileSpacing; } else { var point = flixel_math_FlxPoint._pool.get().set(0,0); point._inPool = false; tileSpacing = point; } tileFrames = new flixel_graphics_frames_FlxTileFrames(graphic); tileFrames.region = region; tileFrames.atlasFrame = null; tileFrames.tileSize = tileSize; tileFrames.tileSpacing = tileSpacing; region.x = Math.floor(region.x); region.y = Math.floor(region.y); region.width = Math.floor(region.width); region.height = Math.floor(region.height); tileSpacing.set_x(Math.floor(tileSpacing.x)); tileSpacing.set_y(Math.floor(tileSpacing.y)); tileSize.set_x(Math.floor(tileSize.x)); tileSize.set_y(Math.floor(tileSize.y)); var spacedWidth = tileSize.x + tileSpacing.x; var spacedHeight = tileSize.y + tileSpacing.y; var numRows = tileSize.y == 0 ? 1 : (region.height + tileSpacing.y) / spacedHeight | 0; var numCols = tileSize.x == 0 ? 1 : (region.width + tileSpacing.x) / spacedWidth | 0; var tileRect; var _g1 = 0; var _g = numRows; while(_g1 < _g) { var j = _g1++; var _g3 = 0; var _g2 = numCols; while(_g3 < _g2) { var i = _g3++; var X = region.x + i * spacedWidth; var Y = region.y + j * spacedHeight; var Width1 = tileSize.x; var Height1 = tileSize.y; var _this1 = flixel_math_FlxRect._pool.get(); _this1.x = X; _this1.y = Y; _this1.width = Width1; _this1.height = Height1; var rect1 = _this1; rect1._inPool = false; tileRect = rect1; tileFrames.addSpriteSheetFrame(tileRect); } } tileFrames.numCols = numCols; tileFrames.numRows = numRows; return tileFrames; }; flixel_graphics_frames_FlxTileFrames.fromRectangle = function(source,tileSize,region,tileSpacing) { var graphic = flixel_FlxG.bitmap.add(source,false); if(graphic == null) { return null; } return flixel_graphics_frames_FlxTileFrames.fromGraphic(graphic,tileSize,region,tileSpacing); }; flixel_graphics_frames_FlxTileFrames.combineTileSets = function(bitmaps,tileSize,spacing,border) { var framesCollections = []; var _g = 0; while(_g < bitmaps.length) { var bitmap = bitmaps[_g]; ++_g; framesCollections.push(flixel_graphics_frames_FlxTileFrames.fromRectangle(bitmap,tileSize)); } return flixel_graphics_frames_FlxTileFrames.combineTileFrames(framesCollections,spacing,border); }; flixel_graphics_frames_FlxTileFrames.combineTileFrames = function(tileframes,spacing,border) { var totalArea = 0; var rows = 0; var cols = 0; var tileWidth = tileframes[0].frames[0].sourceSize.x | 0; var tileHeight = tileframes[0].frames[0].sourceSize.y | 0; var spaceX = 0; var spaceY = 0; if(spacing != null) { spaceX = spacing.x | 0; spaceY = spacing.y | 0; } var borderX = 0; var borderY = 0; if(border != null) { borderX = border.x | 0; borderY = border.y | 0; } var _g = 0; while(_g < tileframes.length) { var collection = tileframes[_g]; ++_g; cols = collection.numCols; rows = collection.numRows; totalArea += cols * (tileWidth + 2 * borderX) * rows * (tileHeight + 2 * borderY) | 0; } var side = Math.sqrt(totalArea); cols = side / (tileWidth + 2 * borderX) | 0; rows = Math.ceil(totalArea / (cols * (tileWidth + 2 * borderX) * (tileHeight + 2 * borderY))); var width = (cols * (tileWidth + 2 * borderX) | 0) + (cols - 1) * spaceX; var height = (rows * (tileHeight + 2 * borderY) | 0) + (rows - 1) * spaceY; var combined = new openfl_display_BitmapData(width,height,true,0); var graphic = flixel_FlxG.bitmap.add(combined); var result = new flixel_graphics_frames_FlxTileFrames(graphic); var destPoint = new openfl_geom_Point(borderX,borderY); var _this = flixel_math_FlxRect._pool.get(); _this.x = 0; _this.y = 0; _this.width = width; _this.height = height; var rect = _this; rect._inPool = false; result.region = rect; result.atlasFrame = null; var point = flixel_math_FlxPoint._pool.get().set(tileWidth,tileHeight); point._inPool = false; result.tileSize = point; var point1 = flixel_math_FlxPoint._pool.get().set(spaceX,spaceY); point1._inPool = false; result.tileSpacing = point1; result.numCols = cols; result.numRows = rows; var _g1 = 0; while(_g1 < tileframes.length) { var collection1 = tileframes[_g1]; ++_g1; var _g11 = 0; var _g2 = collection1.frames; while(_g11 < _g2.length) { var frame = _g2[_g11]; ++_g11; frame.paint(combined,destPoint,true); var X = destPoint.x; var Y = destPoint.y; var _this1 = flixel_math_FlxRect._pool.get(); _this1.x = X; _this1.y = Y; _this1.width = tileWidth; _this1.height = tileHeight; var rect1 = _this1; rect1._inPool = false; var point2 = flixel_math_FlxPoint._pool.get().set(tileWidth,tileHeight); point2._inPool = false; var point3 = flixel_math_FlxPoint._pool.get().set(0,0); point3._inPool = false; result.addAtlasFrame(rect1,point2,point3); destPoint.x += tileWidth + 2 * borderX + spaceX; if(destPoint.x >= combined.width) { destPoint.x = borderX; destPoint.y += tileHeight + 2 * borderY + spaceY; } } } flixel_util_FlxBitmapDataUtil.copyBorderPixels(combined,tileWidth,tileHeight,spaceX,spaceY,borderX,borderY,cols,rows); return result; }; flixel_graphics_frames_FlxTileFrames.findFrame = function(graphic,tileSize,region,atlasFrame,tileSpacing,border) { var type = flixel_graphics_frames_FlxFrameCollectionType.TILES; var collections = graphic.frameCollections.get(type); if(collections == null) { collections = []; graphic.frameCollections.set(type,collections); } var tileFrames = collections; var _g = 0; while(_g < tileFrames.length) { var sheet = tileFrames[_g]; ++_g; if(sheet.equals(tileSize,region,null,tileSpacing,border)) { return sheet; } } return null; }; flixel_graphics_frames_FlxTileFrames.__super__ = flixel_graphics_frames_FlxFramesCollection; flixel_graphics_frames_FlxTileFrames.prototype = $extend(flixel_graphics_frames_FlxFramesCollection.prototype,{ atlasFrame: null ,region: null ,tileSize: null ,tileSpacing: null ,numRows: null ,numCols: null ,getByTilePosition: function(column,row) { return this.frames[row * this.numCols + column]; } ,equals: function(tileSize,region,atlasFrame,tileSpacing,border) { if(this.region == null && this.atlasFrame == null) { return false; } if(atlasFrame != null) { region = atlasFrame.frame; } if(region == null) { var Width = this.parent.width; var Height = this.parent.height; var _this = flixel_math_FlxRect._pool.get(); _this.x = 0; _this.y = 0; _this.width = Width; _this.height = Height; var rect = _this; rect._inPool = false; var rect1 = rect; rect1._weak = true; region = rect1; } if(tileSpacing == null) { var point = flixel_math_FlxPoint._pool.get().set(0,0); point._inPool = false; var point1 = point; point1._weak = true; tileSpacing = point1; } if(border == null) { var point2 = flixel_math_FlxPoint._pool.get().set(0,0); point2._inPool = false; var point3 = point2; point3._weak = true; border = point3; } var tmp; var tmp1; var tmp2; if(this.atlasFrame == atlasFrame) { var _this1 = this.region; var result = Math.abs(_this1.x - region.x) <= 0.0000001 && Math.abs(_this1.y - region.y) <= 0.0000001 && Math.abs(_this1.width - region.width) <= 0.0000001 && Math.abs(_this1.height - region.height) <= 0.0000001; if(region._weak) { if(!region._inPool) { region._inPool = true; region._weak = false; flixel_math_FlxRect._pool.putUnsafe(region); } } tmp2 = result; } else { tmp2 = false; } if(tmp2) { var _this2 = this.tileSize; var result1 = Math.abs(_this2.x - tileSize.x) <= 0.0000001 && Math.abs(_this2.y - tileSize.y) <= 0.0000001; if(tileSize._weak) { tileSize.put(); } tmp1 = result1; } else { tmp1 = false; } if(tmp1) { var _this3 = this.tileSpacing; var result2 = Math.abs(_this3.x - tileSpacing.x) <= 0.0000001 && Math.abs(_this3.y - tileSpacing.y) <= 0.0000001; if(tileSpacing._weak) { tileSpacing.put(); } tmp = result2; } else { tmp = false; } if(tmp) { var _this4 = this.border; var result3 = Math.abs(_this4.x - border.x) <= 0.0000001 && Math.abs(_this4.y - border.y) <= 0.0000001; if(border._weak) { border.put(); } return result3; } else { return false; } } ,addBorder: function(border) { var point = flixel_math_FlxPoint._pool.get().set(0,0); point._inPool = false; var resultBorder = point.addPoint(this.border).addPoint(border); var point1 = flixel_math_FlxPoint._pool.get().set(0,0); point1._inPool = false; var _this = point1; var point2 = this.tileSize; _this.set_x(point2.x); _this.set_y(point2.y); if(point2._weak) { point2.put(); } var _this1 = _this; var Y = 2 * border.y; var _g = _this1; _g.set_x(_g.x - 2 * border.x); var _g1 = _this1; _g1.set_y(_g1.y - Y); var resultSize = _this1; var tileFrames = flixel_graphics_frames_FlxTileFrames.findFrame(this.parent,resultSize,this.region,this.atlasFrame,this.tileSpacing,resultBorder); if(tileFrames != null) { resultSize = flixel_util_FlxDestroyUtil.put(resultSize); return tileFrames; } tileFrames = new flixel_graphics_frames_FlxTileFrames(this.parent,resultBorder); var _this2 = flixel_math_FlxRect._pool.get(); _this2.x = 0; _this2.y = 0; _this2.width = 0; _this2.height = 0; var rect = _this2; rect._inPool = false; var _this3 = rect; var Rect = this.region; _this3.x = Rect.x; _this3.y = Rect.y; _this3.width = Rect.width; _this3.height = Rect.height; if(Rect._weak) { if(!Rect._inPool) { Rect._inPool = true; Rect._weak = false; flixel_math_FlxRect._pool.putUnsafe(Rect); } } tileFrames.region = _this3; tileFrames.atlasFrame = this.atlasFrame; tileFrames.tileSize = resultSize; var point3 = flixel_math_FlxPoint._pool.get().set(0,0); point3._inPool = false; var _this4 = point3; var point4 = this.tileSpacing; _this4.set_x(point4.x); _this4.set_y(point4.y); if(point4._weak) { point4.put(); } tileFrames.tileSpacing = _this4; var _g2 = 0; var _g11 = this.frames; while(_g2 < _g11.length) { var frame = _g11[_g2]; ++_g2; tileFrames.pushFrame(frame.setBorderTo(border)); } return tileFrames; } ,destroy: function() { flixel_graphics_frames_FlxFramesCollection.prototype.destroy.call(this); this.atlasFrame = null; this.region = flixel_util_FlxDestroyUtil.put(this.region); this.tileSize = flixel_util_FlxDestroyUtil.put(this.tileSize); this.tileSpacing = flixel_util_FlxDestroyUtil.put(this.tileSpacing); } ,__class__: flixel_graphics_frames_FlxTileFrames }); var flixel_graphics_tile_FlxDrawBaseItem = function() { this.blending = 0; this.hasColorOffsets = false; this.colored = false; this.antialiasing = false; }; $hxClasses["flixel.graphics.tile.FlxDrawBaseItem"] = flixel_graphics_tile_FlxDrawBaseItem; flixel_graphics_tile_FlxDrawBaseItem.__name__ = ["flixel","graphics","tile","FlxDrawBaseItem"]; flixel_graphics_tile_FlxDrawBaseItem.blendToInt = function(blend) { return 0; }; flixel_graphics_tile_FlxDrawBaseItem.prototype = { nextTyped: null ,next: null ,graphics: null ,antialiasing: null ,colored: null ,hasColorOffsets: null ,blending: null ,blend: null ,type: null ,reset: function() { this.graphics = null; this.antialiasing = false; this.nextTyped = null; this.next = null; } ,dispose: function() { this.graphics = null; this.next = null; this.type = null; this.nextTyped = null; } ,render: function(camera) { flixel_graphics_tile_FlxDrawBaseItem.drawCalls++; } ,addQuad: function(frame,matrix,transform) { } ,get_numVertices: function() { return 0; } ,get_numTriangles: function() { return 0; } ,__class__: flixel_graphics_tile_FlxDrawBaseItem ,__properties__: {get_numTriangles:"get_numTriangles",get_numVertices:"get_numVertices"} }; var flixel_graphics_tile_FlxDrawItemType = $hxClasses["flixel.graphics.tile.FlxDrawItemType"] = { __ename__ : ["flixel","graphics","tile","FlxDrawItemType"], __constructs__ : ["TILES","TRIANGLES"] }; flixel_graphics_tile_FlxDrawItemType.TILES = ["TILES",0]; flixel_graphics_tile_FlxDrawItemType.TILES.toString = $estr; flixel_graphics_tile_FlxDrawItemType.TILES.__enum__ = flixel_graphics_tile_FlxDrawItemType; flixel_graphics_tile_FlxDrawItemType.TRIANGLES = ["TRIANGLES",1]; flixel_graphics_tile_FlxDrawItemType.TRIANGLES.toString = $estr; flixel_graphics_tile_FlxDrawItemType.TRIANGLES.__enum__ = flixel_graphics_tile_FlxDrawItemType; var flixel_graphics_tile_FlxDrawQuadsItem = function() { flixel_graphics_tile_FlxDrawBaseItem.call(this); this.type = flixel_graphics_tile_FlxDrawItemType.TILES; this.rects = openfl__$Vector_Vector_$Impl_$.toFloatVector(null); this.transforms = openfl__$Vector_Vector_$Impl_$.toFloatVector(null); this.alphas = []; }; $hxClasses["flixel.graphics.tile.FlxDrawQuadsItem"] = flixel_graphics_tile_FlxDrawQuadsItem; flixel_graphics_tile_FlxDrawQuadsItem.__name__ = ["flixel","graphics","tile","FlxDrawQuadsItem"]; flixel_graphics_tile_FlxDrawQuadsItem.__super__ = flixel_graphics_tile_FlxDrawBaseItem; flixel_graphics_tile_FlxDrawQuadsItem.prototype = $extend(flixel_graphics_tile_FlxDrawBaseItem.prototype,{ shader: null ,rects: null ,transforms: null ,alphas: null ,colorMultipliers: null ,colorOffsets: null ,reset: function() { flixel_graphics_tile_FlxDrawBaseItem.prototype.reset.call(this); this.rects.set_length(0); this.transforms.set_length(0); this.alphas.splice(0,this.alphas.length); if(this.colorMultipliers != null) { this.colorMultipliers.splice(0,this.colorMultipliers.length); } if(this.colorOffsets != null) { this.colorOffsets.splice(0,this.colorOffsets.length); } } ,dispose: function() { flixel_graphics_tile_FlxDrawBaseItem.prototype.dispose.call(this); this.rects = null; this.transforms = null; this.alphas = null; this.colorMultipliers = null; this.colorOffsets = null; } ,addQuad: function(frame,matrix,transform) { var rect = frame.frame; this.rects.push(rect.x); this.rects.push(rect.y); this.rects.push(rect.width); this.rects.push(rect.height); this.transforms.push(matrix.a); this.transforms.push(matrix.b); this.transforms.push(matrix.c); this.transforms.push(matrix.d); this.transforms.push(matrix.tx); this.transforms.push(matrix.ty); var _g = 0; while(_g < 4) { var i = _g++; this.alphas.push(transform != null ? transform.alphaMultiplier : 1.0); } if(this.colored || this.hasColorOffsets) { if(this.colorMultipliers == null) { this.colorMultipliers = []; } if(this.colorOffsets == null) { this.colorOffsets = []; } var _g1 = 0; while(_g1 < 4) { var i1 = _g1++; if(transform != null) { this.colorMultipliers.push(transform.redMultiplier); this.colorMultipliers.push(transform.greenMultiplier); this.colorMultipliers.push(transform.blueMultiplier); this.colorOffsets.push(transform.redOffset); this.colorOffsets.push(transform.greenOffset); this.colorOffsets.push(transform.blueOffset); this.colorOffsets.push(transform.alphaOffset); } else { this.colorMultipliers.push(1); this.colorMultipliers.push(1); this.colorMultipliers.push(1); this.colorOffsets.push(0); this.colorOffsets.push(0); this.colorOffsets.push(0); this.colorOffsets.push(0); } this.colorMultipliers.push(1); } } } ,render: function(camera) { if(this.rects.get_length() == 0) { return; } var shader = this.shader != null ? this.shader : this.graphics.shader; shader.bitmap.input = this.graphics.bitmap; shader.bitmap.filter = camera.antialiasing || this.antialiasing ? 4 : 5; shader.alpha.value = this.alphas; if(this.colored || this.hasColorOffsets) { shader.colorMultiplier.value = this.colorMultipliers; shader.colorOffset.value = this.colorOffsets; } var parameter = shader.hasTransform; if(parameter.value == null) { parameter.value = []; } parameter.value[0] = true; var parameter1 = shader.hasColorTransform; if(parameter1.value == null) { parameter1.value = []; } parameter1.value[0] = this.colored || this.hasColorOffsets; camera.canvas.get_graphics().overrideBlendMode(this.blend); camera.canvas.get_graphics().beginShaderFill(shader); camera.canvas.get_graphics().drawQuads(this.rects,null,this.transforms); flixel_graphics_tile_FlxDrawBaseItem.prototype.render.call(this,camera); } ,setParameterValue: function(parameter,value) { if(parameter.value == null) { parameter.value = []; } parameter.value[0] = value; } ,__class__: flixel_graphics_tile_FlxDrawQuadsItem }); var flixel_graphics_tile_FlxDrawTrianglesItem = function() { var _this = flixel_math_FlxRect._pool.get(); _this.x = 0; _this.y = 0; _this.width = 0; _this.height = 0; var rect = _this; rect._inPool = false; this.bounds = rect; this.colorsPosition = 0; this.indicesPosition = 0; this.verticesPosition = 0; this.colors = openfl__$Vector_Vector_$Impl_$.toIntVector(null); this.uvtData = openfl__$Vector_Vector_$Impl_$.toFloatVector(null); this.indices = openfl__$Vector_Vector_$Impl_$.toIntVector(null); this.vertices = openfl__$Vector_Vector_$Impl_$.toFloatVector(null); flixel_graphics_tile_FlxDrawBaseItem.call(this); this.type = flixel_graphics_tile_FlxDrawItemType.TRIANGLES; }; $hxClasses["flixel.graphics.tile.FlxDrawTrianglesItem"] = flixel_graphics_tile_FlxDrawTrianglesItem; flixel_graphics_tile_FlxDrawTrianglesItem.__name__ = ["flixel","graphics","tile","FlxDrawTrianglesItem"]; flixel_graphics_tile_FlxDrawTrianglesItem.inflateBounds = function(bounds,x,y) { if(x < bounds.x) { bounds.width += bounds.x - x; bounds.x = x; } if(y < bounds.y) { bounds.height += bounds.y - y; bounds.y = y; } if(x > bounds.x + bounds.width) { bounds.width = x - bounds.x; } if(y > bounds.y + bounds.height) { bounds.height = y - bounds.y; } return bounds; }; flixel_graphics_tile_FlxDrawTrianglesItem.__super__ = flixel_graphics_tile_FlxDrawBaseItem; flixel_graphics_tile_FlxDrawTrianglesItem.prototype = $extend(flixel_graphics_tile_FlxDrawBaseItem.prototype,{ vertices: null ,indices: null ,uvtData: null ,colors: null ,verticesPosition: null ,indicesPosition: null ,colorsPosition: null ,bounds: null ,render: function(camera) { if(!flixel_FlxG.renderTile) { return; } if(this.get_numTriangles() <= 0) { return; } var tmp = camera.antialiasing || this.antialiasing; camera.canvas.get_graphics().beginBitmapFill(this.graphics.bitmap,null,true,tmp); camera.canvas.get_graphics().drawTriangles(this.vertices,this.indices,this.uvtData,1); camera.canvas.get_graphics().endFill(); flixel_graphics_tile_FlxDrawBaseItem.prototype.render.call(this,camera); } ,reset: function() { flixel_graphics_tile_FlxDrawBaseItem.prototype.reset.call(this); this.vertices.splice(0,this.vertices.get_length()); this.indices.splice(0,this.indices.get_length()); this.uvtData.splice(0,this.uvtData.get_length()); this.colors.splice(0,this.colors.get_length()); this.verticesPosition = 0; this.indicesPosition = 0; this.colorsPosition = 0; } ,dispose: function() { flixel_graphics_tile_FlxDrawBaseItem.prototype.dispose.call(this); this.vertices = null; this.indices = null; this.uvtData = null; this.colors = null; this.bounds = null; } ,addTriangles: function(vertices,indices,uvtData,colors,position,cameraBounds) { if(position == null) { position = flixel_graphics_tile_FlxDrawTrianglesItem.point.set(); } if(cameraBounds == null) { var _this = flixel_graphics_tile_FlxDrawTrianglesItem.rect; _this.x = 0; _this.y = 0; _this.width = flixel_FlxG.width; _this.height = flixel_FlxG.height; cameraBounds = _this; } var verticesLength = vertices.get_length(); var prevVerticesLength = this.vertices.get_length(); var numberOfVertices = verticesLength / 2 | 0; var prevIndicesLength = this.indices.get_length(); var prevUVTDataLength = this.uvtData.get_length(); var prevColorsLength = this.colors.get_length(); var prevNumberOfVertices = this.get_numVertices(); var tempX; var tempY; var i = 0; var currentVertexPosition = prevVerticesLength; while(i < verticesLength) { tempX = position.x + vertices.get(i); tempY = position.y + vertices.get(i + 1); this.vertices.set(currentVertexPosition++,tempX); this.vertices.set(currentVertexPosition++,tempY); if(i == 0) { var _this1 = this.bounds; _this1.x = tempX; _this1.y = tempY; _this1.width = 0; _this1.height = 0; } else { var bounds = this.bounds; if(tempX < bounds.x) { bounds.width += bounds.x - tempX; bounds.x = tempX; } if(tempY < bounds.y) { bounds.height += bounds.y - tempY; bounds.y = tempY; } if(tempX > bounds.x + bounds.width) { bounds.width = tempX - bounds.x; } if(tempY > bounds.y + bounds.height) { bounds.height = tempY - bounds.y; } } i += 2; } var Rect = this.bounds; var result = Rect.x + Rect.width > cameraBounds.x && Rect.x < cameraBounds.x + cameraBounds.width && Rect.y + Rect.height > cameraBounds.y && Rect.y < cameraBounds.y + cameraBounds.height; if(Rect._weak) { if(!Rect._inPool) { Rect._inPool = true; Rect._weak = false; flixel_math_FlxRect._pool.putUnsafe(Rect); } } if(!result) { this.vertices.splice(this.vertices.get_length() - verticesLength,verticesLength); } else { var uvtDataLength = uvtData.get_length(); var _g1 = 0; var _g = uvtDataLength; while(_g1 < _g) { var i1 = _g1++; this.uvtData.set(prevUVTDataLength + i1,uvtData.get(i1)); } var indicesLength = indices.get_length(); var _g11 = 0; var _g2 = indicesLength; while(_g11 < _g2) { var i2 = _g11++; this.indices.set(prevIndicesLength + i2,indices.get(i2) + prevNumberOfVertices); } if(this.colored) { var _g12 = 0; var _g3 = numberOfVertices; while(_g12 < _g3) { var i3 = _g12++; this.colors.set(prevColorsLength + i3,colors.get(i3)); } this.colorsPosition += numberOfVertices; } this.verticesPosition += verticesLength; this.indicesPosition += indicesLength; } if(position._weak) { position.put(); } if(cameraBounds._weak) { if(!cameraBounds._inPool) { cameraBounds._inPool = true; cameraBounds._weak = false; flixel_math_FlxRect._pool.putUnsafe(cameraBounds); } } } ,addQuad: function(frame,matrix,transform) { var prevVerticesPos = this.verticesPosition; var prevIndicesPos = this.indicesPosition; var prevColorsPos = this.colorsPosition; var prevNumberOfVertices = this.get_numVertices(); var point = flixel_math_FlxPoint._pool.get().set(0,0); point._inPool = false; var point1 = point; var x1 = point1.x * matrix.a + point1.y * matrix.c + matrix.tx; var y1 = point1.x * matrix.b + point1.y * matrix.d + matrix.ty; point1.set(x1,y1); this.vertices.set(prevVerticesPos,point1.x); this.vertices.set(prevVerticesPos + 1,point1.y); this.uvtData.set(prevVerticesPos,frame.uv.x); this.uvtData.set(prevVerticesPos + 1,frame.uv.y); point1.set(frame.frame.width,0); var x11 = point1.x * matrix.a + point1.y * matrix.c + matrix.tx; var y11 = point1.x * matrix.b + point1.y * matrix.d + matrix.ty; point1.set(x11,y11); this.vertices.set(prevVerticesPos + 2,point1.x); this.vertices.set(prevVerticesPos + 3,point1.y); this.uvtData.set(prevVerticesPos + 2,frame.uv.width); this.uvtData.set(prevVerticesPos + 3,frame.uv.y); point1.set(frame.frame.width,frame.frame.height); var x12 = point1.x * matrix.a + point1.y * matrix.c + matrix.tx; var y12 = point1.x * matrix.b + point1.y * matrix.d + matrix.ty; point1.set(x12,y12); this.vertices.set(prevVerticesPos + 4,point1.x); this.vertices.set(prevVerticesPos + 5,point1.y); this.uvtData.set(prevVerticesPos + 4,frame.uv.width); this.uvtData.set(prevVerticesPos + 5,frame.uv.height); point1.set(0,frame.frame.height); var x13 = point1.x * matrix.a + point1.y * matrix.c + matrix.tx; var y13 = point1.x * matrix.b + point1.y * matrix.d + matrix.ty; point1.set(x13,y13); this.vertices.set(prevVerticesPos + 6,point1.x); this.vertices.set(prevVerticesPos + 7,point1.y); point1.put(); this.uvtData.set(prevVerticesPos + 6,frame.uv.x); this.uvtData.set(prevVerticesPos + 7,frame.uv.height); this.indices.set(prevIndicesPos,prevNumberOfVertices); this.indices.set(prevIndicesPos + 1,prevNumberOfVertices + 1); this.indices.set(prevIndicesPos + 2,prevNumberOfVertices + 2); this.indices.set(prevIndicesPos + 3,prevNumberOfVertices + 2); this.indices.set(prevIndicesPos + 4,prevNumberOfVertices + 3); this.indices.set(prevIndicesPos + 5,prevNumberOfVertices); if(this.colored) { var red = 1.0; var green = 1.0; var blue = 1.0; var alpha = 1.0; if(transform != null) { red = transform.redMultiplier; green = transform.greenMultiplier; blue = transform.blueMultiplier; alpha = transform.alphaMultiplier; } var color = flixel_util__$FlxColor_FlxColor_$Impl_$._new(); var Value = Math.round(red * 255); color &= -16711681; color |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 16; var Value1 = Math.round(green * 255); color &= -65281; color |= (Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1) << 8; var Value2 = Math.round(blue * 255); color &= -256; color |= Value2 > 255 ? 255 : Value2 < 0 ? 0 : Value2; var Value3 = Math.round(alpha * 255); color &= 16777215; color |= (Value3 > 255 ? 255 : Value3 < 0 ? 0 : Value3) << 24; var color1 = color; this.colors.set(prevColorsPos,color1); this.colors.set(prevColorsPos + 1,color1); this.colors.set(prevColorsPos + 2,color1); this.colors.set(prevColorsPos + 3,color1); this.colorsPosition += 4; } this.verticesPosition += 8; this.indicesPosition += 6; } ,get_numVertices: function() { return this.vertices.get_length() / 2 | 0; } ,get_numTriangles: function() { return this.indices.get_length() / 3 | 0; } ,__class__: flixel_graphics_tile_FlxDrawTrianglesItem }); var openfl_display_Shader = function(code) { this.byteCode = code; this.precisionHint = 1; this.__glSourceDirty = true; this.__numPasses = 1; this.__data = openfl_display__$ShaderData_ShaderData_$Impl_$._new(code); }; $hxClasses["openfl.display.Shader"] = openfl_display_Shader; openfl_display_Shader.__name__ = ["openfl","display","Shader"]; openfl_display_Shader.prototype = { byteCode: null ,glProgram: null ,precisionHint: null ,program: null ,__alpha: null ,__bitmap: null ,__colorMultiplier: null ,__colorOffset: null ,__context: null ,__data: null ,__glFragmentSource: null ,__glSourceDirty: null ,__glVertexSource: null ,__hasColorTransform: null ,__inputBitmapData: null ,__isGenerated: null ,__matrix: null ,__numPasses: null ,__paramBool: null ,__paramFloat: null ,__paramInt: null ,__position: null ,__textureCoord: null ,__texture: null ,__textureSize: null ,__clearUseArray: function() { var _g = 0; var _g1 = this.__paramBool; while(_g < _g1.length) { var parameter = _g1[_g]; ++_g; parameter.__useArray = false; } var _g2 = 0; var _g11 = this.__paramFloat; while(_g2 < _g11.length) { var parameter1 = _g11[_g2]; ++_g2; parameter1.__useArray = false; } var _g3 = 0; var _g12 = this.__paramInt; while(_g3 < _g12.length) { var parameter2 = _g12[_g3]; ++_g3; parameter2.__useArray = false; } } ,__createGLShader: function(source,type) { var gl = this.__context.gl; var shader = gl.createShader(type); gl.shaderSource(shader,source); gl.compileShader(shader); if(gl.getShaderParameter(shader,gl.COMPILE_STATUS) == 0) { var message = type == gl.VERTEX_SHADER ? "Error compiling vertex shader" : "Error compiling fragment shader"; message += "\n" + gl.getShaderInfoLog(shader); message += "\n" + source; lime_utils_Log.error(message,{ fileName : "Shader.hx", lineNumber : 184, className : "openfl.display.Shader", methodName : "__createGLShader"}); } return shader; } ,__createGLProgram: function(vertexSource,fragmentSource) { var gl = this.__context.gl; var vertexShader = this.__createGLShader(vertexSource,gl.VERTEX_SHADER); var fragmentShader = this.__createGLShader(fragmentSource,gl.FRAGMENT_SHADER); var program = gl.createProgram(); var _g = 0; var _g1 = this.__paramFloat; while(_g < _g1.length) { var param = _g1[_g]; ++_g; if(param.name.indexOf("Position") > -1 && StringTools.startsWith(param.name,"openfl_")) { gl.bindAttribLocation(program,0,param.name); break; } } gl.attachShader(program,vertexShader); gl.attachShader(program,fragmentShader); gl.linkProgram(program); if(gl.getProgramParameter(program,gl.LINK_STATUS) == 0) { var message = "Unable to initialize the shader program"; message += "\n" + gl.getProgramInfoLog(program); lime_utils_Log.error(message,{ fileName : "Shader.hx", lineNumber : 224, className : "openfl.display.Shader", methodName : "__createGLProgram"}); } return program; } ,__disable: function() { if(this.program != null) { this.__disableGL(); } } ,__disableGL: function() { var gl = this.__context.gl; var textureCount = 0; var _g = 0; var _g1 = this.__inputBitmapData; while(_g < _g1.length) { var input = _g1[_g]; ++_g; input.__disableGL(this.__context,textureCount); ++textureCount; } var _g2 = 0; var _g11 = this.__paramBool; while(_g2 < _g11.length) { var parameter = _g11[_g2]; ++_g2; parameter.__disableGL(this.__context); } var _g3 = 0; var _g12 = this.__paramFloat; while(_g3 < _g12.length) { var parameter1 = _g12[_g3]; ++_g3; parameter1.__disableGL(this.__context); } var _g4 = 0; var _g13 = this.__paramInt; while(_g4 < _g13.length) { var parameter2 = _g13[_g4]; ++_g4; parameter2.__disableGL(this.__context); } this.__context.__bindGLArrayBuffer(null); if(this.__context.__context.type == "opengl") { gl.disable(gl.TEXTURE_2D); } } ,__enable: function() { this.__init(); if(this.program != null) { this.__enableGL(); } } ,__enableGL: function() { var textureCount = 0; var gl = this.__context.gl; var _g = 0; var _g1 = this.__inputBitmapData; while(_g < _g1.length) { var input = _g1[_g]; ++_g; gl.uniform1i(input.index,textureCount); ++textureCount; } if(this.__context.__context.type == "opengl" && textureCount > 0) { gl.enable(gl.TEXTURE_2D); } } ,__init: function() { if(this.__data == null) { this.__data = openfl_display__$ShaderData_ShaderData_$Impl_$._new(null); } if(this.__glFragmentSource != null && this.__glVertexSource != null && (this.program == null || this.__glSourceDirty)) { this.__initGL(); } } ,__initGL: function() { if(this.__glSourceDirty || this.__paramBool == null) { this.__glSourceDirty = false; this.program = null; this.__inputBitmapData = []; this.__paramBool = []; this.__paramFloat = []; this.__paramInt = []; this.__processGLData(this.get_glVertexSource(),"attribute"); this.__processGLData(this.get_glVertexSource(),"uniform"); this.__processGLData(this.get_glFragmentSource(),"uniform"); } if(this.__context != null && this.program == null) { var gl = this.__context.gl; var prefix = "#ifdef GL_ES\n\t\t\t\t" + (this.precisionHint == 1 ? "#ifdef GL_FRAGMENT_PRECISION_HIGH\n\t\t\t\tprecision highp float;\n\t\t\t\t#else\n\t\t\t\tprecision mediump float;\n\t\t\t\t#endif" : "precision lowp float;") + "\n\t\t\t\t#endif\n\t\t\t\t"; var vertex = prefix + this.get_glVertexSource(); var fragment = prefix + this.get_glFragmentSource(); var id = vertex + fragment; var _this = this.__context.__programs; if(__map_reserved[id] != null ? _this.existsReserved(id) : _this.h.hasOwnProperty(id)) { var _this1 = this.__context.__programs; this.program = __map_reserved[id] != null ? _this1.getReserved(id) : _this1.h[id]; } else { this.program = this.__context.createProgram(1); this.program.__glProgram = this.__createGLProgram(vertex,fragment); var value = this.program; var _this2 = this.__context.__programs; if(__map_reserved[id] != null) { _this2.setReserved(id,value); } else { _this2.h[id] = value; } } if(this.program != null) { this.glProgram = this.program.__glProgram; var _g = 0; var _g1 = this.__inputBitmapData; while(_g < _g1.length) { var input = _g1[_g]; ++_g; if(input.__isUniform) { input.index = gl.getUniformLocation(this.glProgram,input.name); } else { input.index = gl.getAttribLocation(this.glProgram,input.name); } } var _g2 = 0; var _g11 = this.__paramBool; while(_g2 < _g11.length) { var parameter = _g11[_g2]; ++_g2; if(parameter.__isUniform) { parameter.index = gl.getUniformLocation(this.glProgram,parameter.name); } else { parameter.index = gl.getAttribLocation(this.glProgram,parameter.name); } } var _g3 = 0; var _g12 = this.__paramFloat; while(_g3 < _g12.length) { var parameter1 = _g12[_g3]; ++_g3; if(parameter1.__isUniform) { parameter1.index = gl.getUniformLocation(this.glProgram,parameter1.name); } else { parameter1.index = gl.getAttribLocation(this.glProgram,parameter1.name); } } var _g4 = 0; var _g13 = this.__paramInt; while(_g4 < _g13.length) { var parameter2 = _g13[_g4]; ++_g4; if(parameter2.__isUniform) { parameter2.index = gl.getUniformLocation(this.glProgram,parameter2.name); } else { parameter2.index = gl.getAttribLocation(this.glProgram,parameter2.name); } } } } } ,__processGLData: function(source,storageType) { var lastMatch = 0; var position; var regex; var name; var type; if(storageType == "uniform") { regex = new EReg("uniform ([A-Za-z0-9]+) ([A-Za-z0-9_]+)",""); } else { regex = new EReg("attribute ([A-Za-z0-9]+) ([A-Za-z0-9_]+)",""); } while(regex.matchSub(source,lastMatch)) { type = regex.matched(1); name = regex.matched(2); if(StringTools.startsWith(name,"gl_")) { continue; } var isUniform = storageType == "uniform"; if(StringTools.startsWith(type,"sampler")) { var input = new openfl_display_ShaderInput(); input.name = name; input.__isUniform = isUniform; this.__inputBitmapData.push(input); switch(name) { case "bitmap": this.__bitmap = input; break; case "openfl_Texture": this.__texture = input; break; default: } this.__data[name] = input; if(this.__isGenerated) { this[name] = input; } } else if(!Object.prototype.hasOwnProperty.call(this.__data,name) || Reflect.field(this.__data,name) == null) { var parameterType; switch(type) { case "bool": parameterType = 0; break; case "bvec2": parameterType = 1; break; case "bvec3": parameterType = 2; break; case "bvec4": parameterType = 3; break; case "dvec2":case "vec2": parameterType = 5; break; case "dvec3":case "vec3": parameterType = 6; break; case "double":case "float": parameterType = 4; break; case "ivec3":case "uvec3": parameterType = 10; break; case "ivec4":case "uvec4": parameterType = 11; break; case "mat2":case "mat2x2": parameterType = 12; break; case "mat2x3": parameterType = 13; break; case "mat2x4": parameterType = 14; break; case "mat3x2": parameterType = 15; break; case "mat3":case "mat3x3": parameterType = 16; break; case "mat3x4": parameterType = 17; break; case "mat4":case "mat4x4": parameterType = 20; break; case "mat4x2": parameterType = 18; break; case "mat4x3": parameterType = 19; break; case "int":case "uint": parameterType = 8; break; case "ivec2":case "uvec2": parameterType = 9; break; case "dvec4":case "vec4": parameterType = 7; break; default: parameterType = null; } var length; switch(parameterType) { case 1:case 5:case 9: length = 2; break; case 3:case 7:case 11:case 12: length = 4; break; case 2:case 6:case 10: length = 3; break; case 16: length = 9; break; case 20: length = 16; break; default: length = 1; } var arrayLength; switch(parameterType) { case 12: arrayLength = 2; break; case 16: arrayLength = 3; break; case 20: arrayLength = 4; break; default: arrayLength = 1; } switch(parameterType) { case 0:case 1:case 2:case 3: var parameter = new openfl_display_ShaderParameter(); parameter.set_name(name); parameter.type = parameterType; parameter.__arrayLength = arrayLength; parameter.__isBool = true; parameter.__isUniform = isUniform; parameter.__length = length; this.__paramBool.push(parameter); if(name == "openfl_HasColorTransform") { this.__hasColorTransform = parameter; } this.__data[name] = parameter; if(this.__isGenerated) { this[name] = parameter; } break; case 8:case 9:case 10:case 11: var parameter1 = new openfl_display_ShaderParameter(); parameter1.set_name(name); parameter1.type = parameterType; parameter1.__arrayLength = arrayLength; parameter1.__isInt = true; parameter1.__isUniform = isUniform; parameter1.__length = length; this.__paramInt.push(parameter1); this.__data[name] = parameter1; if(this.__isGenerated) { this[name] = parameter1; } break; default: var parameter2 = new openfl_display_ShaderParameter(); parameter2.set_name(name); parameter2.type = parameterType; parameter2.__arrayLength = arrayLength; if(arrayLength > 0) { var elements = arrayLength * arrayLength; var this1; if(elements != null) { this1 = new Float32Array(elements); } else { this1 = null; } parameter2.__uniformMatrix = this1; } parameter2.__isFloat = true; parameter2.__isUniform = isUniform; parameter2.__length = length; this.__paramFloat.push(parameter2); if(StringTools.startsWith(name,"openfl_")) { switch(name) { case "openfl_Alpha": this.__alpha = parameter2; break; case "openfl_ColorMultiplier": this.__colorMultiplier = parameter2; break; case "openfl_ColorOffset": this.__colorOffset = parameter2; break; case "openfl_Matrix": this.__matrix = parameter2; break; case "openfl_Position": this.__position = parameter2; break; case "openfl_TextureCoord": this.__textureCoord = parameter2; break; case "openfl_TextureSize": this.__textureSize = parameter2; break; default: } } this.__data[name] = parameter2; if(this.__isGenerated) { this[name] = parameter2; } } } position = regex.matchedPos(); lastMatch = position.pos + position.len; } } ,__update: function() { if(this.program != null) { this.__updateGL(); } } ,__updateFromBuffer: function(shaderBuffer,bufferOffset) { if(this.program != null) { this.__updateGLFromBuffer(shaderBuffer,bufferOffset); } } ,__updateGL: function() { var textureCount = 0; var _g = 0; var _g1 = this.__inputBitmapData; while(_g < _g1.length) { var input = _g1[_g]; ++_g; input.__updateGL(this.__context,textureCount); ++textureCount; } var _g2 = 0; var _g11 = this.__paramBool; while(_g2 < _g11.length) { var parameter = _g11[_g2]; ++_g2; parameter.__updateGL(this.__context); } var _g3 = 0; var _g12 = this.__paramFloat; while(_g3 < _g12.length) { var parameter1 = _g12[_g3]; ++_g3; parameter1.__updateGL(this.__context); } var _g4 = 0; var _g13 = this.__paramInt; while(_g4 < _g13.length) { var parameter2 = _g13[_g4]; ++_g4; parameter2.__updateGL(this.__context); } } ,__updateGLFromBuffer: function(shaderBuffer,bufferOffset) { var textureCount = 0; var input; var inputData; var inputFilter; var inputMipFilter; var inputWrap; var _g1 = 0; var _g = shaderBuffer.inputCount; while(_g1 < _g) { var i = _g1++; input = shaderBuffer.inputRefs[i]; inputData = shaderBuffer.inputs[i]; inputFilter = shaderBuffer.inputFilter[i]; inputMipFilter = shaderBuffer.inputMipFilter[i]; inputWrap = shaderBuffer.inputWrap[i]; if(inputData != null) { input.__updateGL(this.__context,textureCount,inputData,inputFilter,inputMipFilter,inputWrap); ++textureCount; } } var gl = this.__context.gl; if(shaderBuffer.paramDataLength > 0) { if(shaderBuffer.paramDataBuffer == null) { shaderBuffer.paramDataBuffer = gl.createBuffer(); } this.__context.__bindGLArrayBuffer(shaderBuffer.paramDataBuffer); lime_graphics__$WebGLRenderContext_WebGLRenderContext_$Impl_$.bufferData(gl,gl.ARRAY_BUFFER,shaderBuffer.paramData,gl.DYNAMIC_DRAW); } else { this.__context.__bindGLArrayBuffer(null); } var boolIndex = 0; var floatIndex = 0; var intIndex = 0; var boolCount = shaderBuffer.paramBoolCount; var floatCount = shaderBuffer.paramFloatCount; var paramData = shaderBuffer.paramData; var boolRef; var floatRef; var intRef; var hasOverride; var overrideBoolValue = null; var overrideFloatValue = null; var overrideIntValue = null; var _g11 = 0; var _g2 = shaderBuffer.paramCount; while(_g11 < _g2) { var i1 = _g11++; hasOverride = false; if(i1 < boolCount) { boolRef = shaderBuffer.paramRefs_Bool[boolIndex]; var _g3 = 0; var _g21 = shaderBuffer.overrideBoolCount; while(_g3 < _g21) { var j = _g3++; if(boolRef.name == shaderBuffer.overrideBoolNames[j]) { overrideBoolValue = shaderBuffer.overrideBoolValues[j]; hasOverride = true; break; } } if(hasOverride) { boolRef.__updateGL(this.__context,overrideBoolValue); } else { boolRef.__updateGLFromBuffer(this.__context,paramData,shaderBuffer.paramPositions[i1],shaderBuffer.paramLengths[i1],bufferOffset); } ++boolIndex; } else if(i1 < boolCount + floatCount) { floatRef = shaderBuffer.paramRefs_Float[floatIndex]; var _g31 = 0; var _g22 = shaderBuffer.overrideFloatCount; while(_g31 < _g22) { var j1 = _g31++; if(floatRef.name == shaderBuffer.overrideFloatNames[j1]) { overrideFloatValue = shaderBuffer.overrideFloatValues[j1]; hasOverride = true; break; } } if(hasOverride) { floatRef.__updateGL(this.__context,overrideFloatValue); } else { floatRef.__updateGLFromBuffer(this.__context,paramData,shaderBuffer.paramPositions[i1],shaderBuffer.paramLengths[i1],bufferOffset); } ++floatIndex; } else { intRef = shaderBuffer.paramRefs_Int[intIndex]; var _g32 = 0; var _g23 = shaderBuffer.overrideIntCount; while(_g32 < _g23) { var j2 = _g32++; if(intRef.name == shaderBuffer.overrideIntNames[j2]) { overrideIntValue = shaderBuffer.overrideIntValues[j2]; hasOverride = true; break; } } if(hasOverride) { intRef.__updateGL(this.__context,overrideIntValue); } else { intRef.__updateGLFromBuffer(this.__context,paramData,shaderBuffer.paramPositions[i1],shaderBuffer.paramLengths[i1],bufferOffset); } ++intIndex; } } } ,get_data: function() { if(this.__glSourceDirty || this.__data == null) { this.__init(); } return this.__data; } ,set_data: function(value) { return this.__data = value; } ,get_glFragmentSource: function() { return this.__glFragmentSource; } ,set_glFragmentSource: function(value) { if(value != this.__glFragmentSource) { this.__glSourceDirty = true; } return this.__glFragmentSource = value; } ,get_glVertexSource: function() { return this.__glVertexSource; } ,set_glVertexSource: function(value) { if(value != this.__glVertexSource) { this.__glSourceDirty = true; } return this.__glVertexSource = value; } ,__class__: openfl_display_Shader ,__properties__: {set_glVertexSource:"set_glVertexSource",get_glVertexSource:"get_glVertexSource",set_glFragmentSource:"set_glFragmentSource",get_glFragmentSource:"get_glFragmentSource",set_data:"set_data",get_data:"get_data"} }; var openfl_display_GraphicsShader = function(code) { if(this.__glFragmentSource == null) { this.__glFragmentSource = "varying float openfl_Alphav;\n\t\tvarying vec4 openfl_ColorMultiplierv;\n\t\tvarying vec4 openfl_ColorOffsetv;\n\t\tvarying vec2 openfl_TextureCoordv;\n\t\t\n\t\tuniform bool openfl_HasColorTransform;\n\t\tuniform vec2 openfl_TextureSize;\n\t\tuniform sampler2D bitmap;\n\t\t\n\t\tvoid main(void) {\n\t\t\t\n\t\t\tvec4 color = texture2D (bitmap, openfl_TextureCoordv);\n\t\t\n\t\tif (color.a == 0.0) {\n\t\t\t\n\t\t\tgl_FragColor = vec4 (0.0, 0.0, 0.0, 0.0);\n\t\t\t\n\t\t} else if (openfl_HasColorTransform) {\n\t\t\t\n\t\t\tcolor = vec4 (color.rgb / color.a, color.a);\n\t\t\t\n\t\t\tmat4 colorMultiplier = mat4 (0);\n\t\t\tcolorMultiplier[0][0] = openfl_ColorMultiplierv.x;\n\t\t\tcolorMultiplier[1][1] = openfl_ColorMultiplierv.y;\n\t\t\tcolorMultiplier[2][2] = openfl_ColorMultiplierv.z;\n\t\t\tcolorMultiplier[3][3] = 1.0; // openfl_ColorMultiplierv.w;\n\t\t\t\n\t\t\tcolor = clamp (openfl_ColorOffsetv + (color * colorMultiplier), 0.0, 1.0);\n\t\t\t\n\t\t\tif (color.a > 0.0) {\n\t\t\t\t\n\t\t\t\tgl_FragColor = vec4 (color.rgb * color.a * openfl_Alphav, color.a * openfl_Alphav);\n\t\t\t\t\n\t\t\t} else {\n\t\t\t\t\n\t\t\t\tgl_FragColor = vec4 (0.0, 0.0, 0.0, 0.0);\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t} else {\n\t\t\t\n\t\t\tgl_FragColor = color * openfl_Alphav;\n\t\t\t\n\t\t}\n\t\t\t\n\t\t}"; } if(this.__glVertexSource == null) { this.__glVertexSource = "attribute float openfl_Alpha;\n\t\tattribute vec4 openfl_ColorMultiplier;\n\t\tattribute vec4 openfl_ColorOffset;\n\t\tattribute vec4 openfl_Position;\n\t\tattribute vec2 openfl_TextureCoord;\n\t\t\n\t\tvarying float openfl_Alphav;\n\t\tvarying vec4 openfl_ColorMultiplierv;\n\t\tvarying vec4 openfl_ColorOffsetv;\n\t\tvarying vec2 openfl_TextureCoordv;\n\t\t\n\t\tuniform mat4 openfl_Matrix;\n\t\tuniform bool openfl_HasColorTransform;\n\t\tuniform vec2 openfl_TextureSize;\n\t\t\n\t\tvoid main(void) {\n\t\t\t\n\t\t\topenfl_Alphav = openfl_Alpha;\n\t\topenfl_TextureCoordv = openfl_TextureCoord;\n\t\t\n\t\tif (openfl_HasColorTransform) {\n\t\t\t\n\t\t\topenfl_ColorMultiplierv = openfl_ColorMultiplier;\n\t\t\topenfl_ColorOffsetv = openfl_ColorOffset / 255.0;\n\t\t\t\n\t\t}\n\t\t\n\t\tgl_Position = openfl_Matrix * openfl_Position;\n\t\t\t\n\t\t}"; } openfl_display_Shader.call(this,code); this.__isGenerated = true; this.__initGL(); }; $hxClasses["openfl.display.GraphicsShader"] = openfl_display_GraphicsShader; openfl_display_GraphicsShader.__name__ = ["openfl","display","GraphicsShader"]; openfl_display_GraphicsShader.__super__ = openfl_display_Shader; openfl_display_GraphicsShader.prototype = $extend(openfl_display_Shader.prototype,{ openfl_Alpha: null ,openfl_ColorMultiplier: null ,openfl_ColorOffset: null ,openfl_Position: null ,openfl_TextureCoord: null ,openfl_Matrix: null ,openfl_HasColorTransform: null ,openfl_TextureSize: null ,bitmap: null ,__class__: openfl_display_GraphicsShader }); var flixel_graphics_tile_FlxGraphicsShader = function() { if(this.__glFragmentSource == null) { this.__glFragmentSource = "\n\t\tvarying float openfl_Alphav;\n\t\tvarying vec4 openfl_ColorMultiplierv;\n\t\tvarying vec4 openfl_ColorOffsetv;\n\t\tvarying vec2 openfl_TextureCoordv;\n\t\t\n\t\tuniform bool openfl_HasColorTransform;\n\t\tuniform vec2 openfl_TextureSize;\n\t\tuniform sampler2D bitmap;\n\n\t\tuniform bool hasTransform;\n\t\tuniform bool hasColorTransform;\n\n\t\tvec4 flixel_texture2D(sampler2D bitmap, vec2 coord)\n\t\t{\n\t\t\tvec4 color = texture2D(bitmap, coord);\n\t\t\tif (!hasTransform)\n\t\t\t\treturn color;\n\t\t\t\n\t\t\tif (color.a == 0.0)\n\t\t\t{\n\t\t\t\treturn vec4(0.0, 0.0, 0.0, 0.0);\n\t\t\t}\n\t\t\telse if (hasColorTransform)\n\t\t\t{\n\t\t\t\tcolor = vec4(color.rgb / color.a, color.a);\n\t\t\t\t\n\t\t\t\tmat4 colorMultiplier = mat4(0);\n\t\t\t\tcolorMultiplier[0][0] = openfl_ColorMultiplierv.x;\n\t\t\t\tcolorMultiplier[1][1] = openfl_ColorMultiplierv.y;\n\t\t\t\tcolorMultiplier[2][2] = openfl_ColorMultiplierv.z;\n\t\t\t\tcolorMultiplier[3][3] = openfl_ColorMultiplierv.w;\n\t\t\t\t\n\t\t\t\tcolor = clamp(openfl_ColorOffsetv + (color * colorMultiplier), 0.0, 1.0);\n\t\t\t\t\n\t\t\t\tif (color.a > 0.0)\n\t\t\t\t\treturn vec4(color.rgb * color.a * openfl_Alphav, color.a * openfl_Alphav);\n\t\t\t\telse\n\t\t\t\t\treturn vec4(0.0, 0.0, 0.0, 0.0);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\treturn color * openfl_Alphav;\n\t\t\t}\n\t\t}\n\t\n\t\t\n\t\tvoid main(void)\n\t\t{\n\t\t\tgl_FragColor = flixel_texture2D(bitmap, openfl_TextureCoordv);\n\t\t}"; } if(this.__glVertexSource == null) { this.__glVertexSource = "\n\t\tattribute float openfl_Alpha;\n\t\tattribute vec4 openfl_ColorMultiplier;\n\t\tattribute vec4 openfl_ColorOffset;\n\t\tattribute vec4 openfl_Position;\n\t\tattribute vec2 openfl_TextureCoord;\n\t\t\n\t\tvarying float openfl_Alphav;\n\t\tvarying vec4 openfl_ColorMultiplierv;\n\t\tvarying vec4 openfl_ColorOffsetv;\n\t\tvarying vec2 openfl_TextureCoordv;\n\t\t\n\t\tuniform mat4 openfl_Matrix;\n\t\tuniform bool openfl_HasColorTransform;\n\t\tuniform vec2 openfl_TextureSize;\n\n\t\t\n\t\tattribute float alpha;\n\t\tattribute vec4 colorMultiplier;\n\t\tattribute vec4 colorOffset;\n\t\tuniform bool hasColorTransform;\n\t\t\n\t\tvoid main(void)\n\t\t{\n\t\t\topenfl_Alphav = openfl_Alpha;\n\t\topenfl_TextureCoordv = openfl_TextureCoord;\n\t\t\n\t\tif (openfl_HasColorTransform) {\n\t\t\t\n\t\t\topenfl_ColorMultiplierv = openfl_ColorMultiplier;\n\t\t\topenfl_ColorOffsetv = openfl_ColorOffset / 255.0;\n\t\t\t\n\t\t}\n\t\t\n\t\tgl_Position = openfl_Matrix * openfl_Position;\n\n\t\t\t\n\t\t\topenfl_Alphav = openfl_Alpha * alpha;\n\t\t\t\n\t\t\tif (hasColorTransform)\n\t\t\t{\n\t\t\t\topenfl_ColorOffsetv = colorOffset / 255.0;\n\t\t\t\topenfl_ColorMultiplierv = colorMultiplier;\n\t\t\t}\n\t\t}"; } openfl_display_GraphicsShader.call(this); this.__isGenerated = true; this.__initGL(); }; $hxClasses["flixel.graphics.tile.FlxGraphicsShader"] = flixel_graphics_tile_FlxGraphicsShader; flixel_graphics_tile_FlxGraphicsShader.__name__ = ["flixel","graphics","tile","FlxGraphicsShader"]; flixel_graphics_tile_FlxGraphicsShader.__super__ = openfl_display_GraphicsShader; flixel_graphics_tile_FlxGraphicsShader.prototype = $extend(openfl_display_GraphicsShader.prototype,{ alpha: null ,colorMultiplier: null ,colorOffset: null ,hasColorTransform: null ,hasTransform: null ,__class__: flixel_graphics_tile_FlxGraphicsShader }); var flixel_group_FlxTypedGroupIterator = function(GroupMembers,filter) { this._groupMembers = GroupMembers; this._filter = filter; this._cursor = 0; this._length = this._groupMembers.length; }; $hxClasses["flixel.group.FlxTypedGroupIterator"] = flixel_group_FlxTypedGroupIterator; flixel_group_FlxTypedGroupIterator.__name__ = ["flixel","group","FlxTypedGroupIterator"]; flixel_group_FlxTypedGroupIterator.prototype = { _groupMembers: null ,_filter: null ,_cursor: null ,_length: null ,next: function() { if(this.hasNext()) { return this._groupMembers[this._cursor++]; } else { return null; } } ,hasNext: function() { while(this._cursor < this._length && (this._groupMembers[this._cursor] == null || this._filter != null && !this._filter(this._groupMembers[this._cursor]))) this._cursor++; return this._cursor < this._length; } ,__class__: flixel_group_FlxTypedGroupIterator }; var flixel_input_FlxAccelerometer = function() { this.z = 0; this.y = 0; this.x = 0; if(openfl_sensors_Accelerometer.get_isSupported()) { this._sensor = new openfl_sensors_Accelerometer(); this._sensor.addEventListener("update",$bind(this,this.update)); } }; $hxClasses["flixel.input.FlxAccelerometer"] = flixel_input_FlxAccelerometer; flixel_input_FlxAccelerometer.__name__ = ["flixel","input","FlxAccelerometer"]; flixel_input_FlxAccelerometer.prototype = { x: null ,y: null ,z: null ,_sensor: null ,get_isSupported: function() { return openfl_sensors_Accelerometer.get_isSupported(); } ,update: function(Event) { this.x = Event.accelerationX; this.y = Event.accelerationY; this.z = Event.accelerationZ; this.x /= 10; this.y /= 10; this.z /= 10; } ,__class__: flixel_input_FlxAccelerometer ,__properties__: {get_isSupported:"get_isSupported"} }; var flixel_input_FlxBaseKeyList = function(status,keyManager) { this.status = status; this.keyManager = keyManager; }; $hxClasses["flixel.input.FlxBaseKeyList"] = flixel_input_FlxBaseKeyList; flixel_input_FlxBaseKeyList.__name__ = ["flixel","input","FlxBaseKeyList"]; flixel_input_FlxBaseKeyList.prototype = { status: null ,keyManager: null ,check: function(keyCode) { return this.keyManager.checkStatus(keyCode,this.status); } ,get_ANY: function() { var _g = 0; var _g1 = this.keyManager._keyListArray; while(_g < _g1.length) { var key = _g1[_g]; ++_g; if(key != null && this.keyManager.checkStatus(key.ID,this.status)) { return true; } } return false; } ,__class__: flixel_input_FlxBaseKeyList ,__properties__: {get_ANY:"get_ANY"} }; var flixel_input_IFlxInput = function() { }; $hxClasses["flixel.input.IFlxInput"] = flixel_input_IFlxInput; flixel_input_IFlxInput.__name__ = ["flixel","input","IFlxInput"]; flixel_input_IFlxInput.prototype = { get_justPressed: null ,get_pressed: null ,get_released: null ,get_justReleased: null ,__class__: flixel_input_IFlxInput ,__properties__: {get_justPressed:"get_justPressed",get_pressed:"get_pressed",get_released:"get_released",get_justReleased:"get_justReleased"} }; var flixel_input_FlxInput = function(ID) { this.last = 0; this.current = 0; this.ID = ID; }; $hxClasses["flixel.input.FlxInput"] = flixel_input_FlxInput; flixel_input_FlxInput.__name__ = ["flixel","input","FlxInput"]; flixel_input_FlxInput.__interfaces__ = [flixel_input_IFlxInput]; flixel_input_FlxInput.prototype = { ID: null ,current: null ,last: null ,press: function() { this.last = this.current; this.current = this.current == 1 || this.current == 2 ? 1 : 2; } ,release: function() { this.last = this.current; this.current = this.current == 1 || this.current == 2 ? -1 : 0; } ,update: function() { if(this.last == -1 && this.current == -1) { this.current = 0; } else if(this.last == 2 && this.current == 2) { this.current = 1; } this.last = this.current; } ,reset: function() { this.current = 0; this.last = 0; } ,hasState: function(state) { switch(state) { case -1: return this.current == -1; case 0: if(this.current != 0) { return this.current == -1; } else { return true; } break; case 1: if(this.current != 1) { return this.current == 2; } else { return true; } break; case 2: return this.current == 2; } } ,get_justReleased: function() { return this.current == -1; } ,get_released: function() { if(this.current != 0) { return this.current == -1; } else { return true; } } ,get_pressed: function() { if(this.current != 1) { return this.current == 2; } else { return true; } } ,get_justPressed: function() { return this.current == 2; } ,__class__: flixel_input_FlxInput ,__properties__: {get_justPressed:"get_justPressed",get_pressed:"get_pressed",get_released:"get_released",get_justReleased:"get_justReleased"} }; var flixel_input_IFlxInputManager = function() { }; $hxClasses["flixel.input.IFlxInputManager"] = flixel_input_IFlxInputManager; flixel_input_IFlxInputManager.__name__ = ["flixel","input","IFlxInputManager"]; flixel_input_IFlxInputManager.__interfaces__ = [flixel_util_IFlxDestroyable]; flixel_input_IFlxInputManager.prototype = { reset: null ,update: null ,onFocus: null ,onFocusLost: null ,__class__: flixel_input_IFlxInputManager }; var flixel_input_FlxKeyManager = function(createKeyList) { this._keyListMap = new haxe_ds_IntMap(); this._keyListArray = []; this.preventDefaultKeys = []; this.enabled = true; openfl_Lib.get_current().stage.addEventListener("keyDown",$bind(this,this.onKeyDown)); openfl_Lib.get_current().stage.addEventListener("keyUp",$bind(this,this.onKeyUp)); this.pressed = createKeyList(1,this); this.justPressed = createKeyList(2,this); this.justReleased = createKeyList(-1,this); }; $hxClasses["flixel.input.FlxKeyManager"] = flixel_input_FlxKeyManager; flixel_input_FlxKeyManager.__name__ = ["flixel","input","FlxKeyManager"]; flixel_input_FlxKeyManager.__interfaces__ = [flixel_input_IFlxInputManager]; flixel_input_FlxKeyManager.prototype = { enabled: null ,preventDefaultKeys: null ,pressed: null ,justPressed: null ,justReleased: null ,_keyListArray: null ,_keyListMap: null ,anyPressed: function(KeyArray) { return this.checkKeyArrayState(KeyArray,1); } ,anyJustPressed: function(KeyArray) { return this.checkKeyArrayState(KeyArray,2); } ,anyJustReleased: function(KeyArray) { return this.checkKeyArrayState(KeyArray,-1); } ,firstPressed: function() { var _g = 0; var _g1 = this._keyListArray; while(_g < _g1.length) { var key = _g1[_g]; ++_g; if(key != null && (key.current == 1 || key.current == 2)) { return key.ID; } } return -1; } ,firstJustPressed: function() { var _g = 0; var _g1 = this._keyListArray; while(_g < _g1.length) { var key = _g1[_g]; ++_g; if(key != null && key.current == 2) { return key.ID; } } return -1; } ,firstJustReleased: function() { var _g = 0; var _g1 = this._keyListArray; while(_g < _g1.length) { var key = _g1[_g]; ++_g; if(key != null && key.current == -1) { return key.ID; } } return -1; } ,checkStatus: function(KeyCode,Status) { var key = this._keyListMap.get(KeyCode); if(key != null) { if(key.hasState(Status)) { return true; } } return false; } ,getIsDown: function() { var keysDown = []; var _g = 0; var _g1 = this._keyListArray; while(_g < _g1.length) { var key = _g1[_g]; ++_g; if(key != null && (key.current == 1 || key.current == 2)) { keysDown.push(key); } } return keysDown; } ,destroy: function() { this._keyListArray = null; this._keyListMap = null; } ,reset: function() { var _g = 0; var _g1 = this._keyListArray; while(_g < _g1.length) { var key = _g1[_g]; ++_g; if(key != null) { key.release(); } } } ,update: function() { var _g = 0; var _g1 = this._keyListArray; while(_g < _g1.length) { var key = _g1[_g]; ++_g; if(key != null) { key.update(); } } } ,checkKeyArrayState: function(KeyArray,State) { if(KeyArray == null) { return false; } var _g = 0; while(_g < KeyArray.length) { var code = KeyArray[_g]; ++_g; var key = this._keyListMap.get(code); if(key != null) { if(key.hasState(State)) { return true; } } } return false; } ,onKeyUp: function(event) { var c = this.resolveKeyCode(event); this.handlePreventDefaultKeys(c,event); if(this.enabled) { var key = this._keyListMap.get(c); if(key != null) { key.release(); } } } ,onKeyDown: function(event) { var c = this.resolveKeyCode(event); this.handlePreventDefaultKeys(c,event); if(this.enabled) { var key = this._keyListMap.get(c); if(key != null) { key.press(); } } } ,handlePreventDefaultKeys: function(keyCode,event) { var key = this._keyListMap.get(keyCode); if(key != null && this.preventDefaultKeys != null && this.preventDefaultKeys.indexOf(key.ID) != -1) { event.stopImmediatePropagation(); event.stopPropagation(); event.preventDefault(); } } ,inKeyArray: function(KeyArray,Event) { if(KeyArray == null) { return false; } else { var code = this.resolveKeyCode(Event); var _g = 0; while(_g < KeyArray.length) { var key = KeyArray[_g]; ++_g; if(key == code || key == -2) { return true; } } } return false; } ,resolveKeyCode: function(e) { return e.keyCode; } ,updateKeyStates: function(KeyCode,Down) { var key = this._keyListMap.get(KeyCode); if(key != null) { if(Down) { key.press(); } else { key.release(); } } } ,onFocus: function() { } ,onFocusLost: function() { this.reset(); } ,getKey: function(KeyCode) { return this._keyListMap.h[KeyCode]; } ,__class__: flixel_input_FlxKeyManager }; var flixel_input_FlxPointer = function() { this._globalScreenY = 0; this._globalScreenX = 0; this.screenY = 0; this.screenX = 0; this.y = 0; this.x = 0; }; $hxClasses["flixel.input.FlxPointer"] = flixel_input_FlxPointer; flixel_input_FlxPointer.__name__ = ["flixel","input","FlxPointer"]; flixel_input_FlxPointer.prototype = { x: null ,y: null ,screenX: null ,screenY: null ,_globalScreenX: null ,_globalScreenY: null ,getWorldPosition: function(Camera,point) { if(Camera == null) { Camera = flixel_FlxG.camera; } if(point == null) { var point1 = flixel_math_FlxPoint._pool.get().set(0,0); point1._inPool = false; point = point1; } this.getScreenPosition(Camera,flixel_input_FlxPointer._cachedPoint); point.set_x(flixel_input_FlxPointer._cachedPoint.x + Camera.scroll.x); point.set_y(flixel_input_FlxPointer._cachedPoint.y + Camera.scroll.y); return point; } ,getScreenPosition: function(Camera,point) { if(Camera == null) { Camera = flixel_FlxG.camera; } if(point == null) { var point1 = flixel_math_FlxPoint._pool.get().set(0,0); point1._inPool = false; point = point1; } point.set_x((this._globalScreenX - Camera.x + 0.5 * Camera.width * (Camera.zoom - Camera.initialZoom)) / Camera.zoom); point.set_y((this._globalScreenY - Camera.y + 0.5 * Camera.height * (Camera.zoom - Camera.initialZoom)) / Camera.zoom); return point; } ,getPositionInCameraView: function(Camera,point) { if(Camera == null) { Camera = flixel_FlxG.camera; } if(point == null) { var point1 = flixel_math_FlxPoint._pool.get().set(0,0); point1._inPool = false; point = point1; } point.set_x((this._globalScreenX - Camera.x) / Camera.zoom + Camera.viewOffsetX); point.set_y((this._globalScreenY - Camera.y) / Camera.zoom + Camera.viewOffsetY); return point; } ,getPosition: function(point) { if(point == null) { var point1 = flixel_math_FlxPoint._pool.get().set(0,0); point1._inPool = false; point = point1; } return point.set(this.x,this.y); } ,overlaps: function(ObjectOrGroup,Camera) { var _gthis = this; var result = false; var group = flixel_group_FlxTypedGroup.resolveGroup(ObjectOrGroup); if(group != null) { group.forEachExists(function(basic) { if(_gthis.overlaps(basic,Camera)) { result = true; return; } }); } else { this.getPosition(flixel_input_FlxPointer._cachedPoint); var object = ObjectOrGroup; result = object.overlapsPoint(flixel_input_FlxPointer._cachedPoint,true,Camera); } return result; } ,setGlobalScreenPositionUnsafe: function(newX,newY) { this._globalScreenX = newX / flixel_FlxG.scaleMode.scale.x | 0; this._globalScreenY = newY / flixel_FlxG.scaleMode.scale.y | 0; this.updatePositions(); } ,toString: function() { var value = this.x; var _this = flixel_util_LabelValuePair._pool.get(); _this.label = "x"; _this.value = value; var value1 = this.y; var _this1 = flixel_util_LabelValuePair._pool.get(); _this1.label = "y"; _this1.value = value1; return flixel_util_FlxStringUtil.getDebugString([_this,_this1]); } ,updatePositions: function() { this.getScreenPosition(flixel_FlxG.camera,flixel_input_FlxPointer._cachedPoint); this.screenX = flixel_input_FlxPointer._cachedPoint.x | 0; this.screenY = flixel_input_FlxPointer._cachedPoint.y | 0; this.getWorldPosition(flixel_FlxG.camera,flixel_input_FlxPointer._cachedPoint); this.x = flixel_input_FlxPointer._cachedPoint.x | 0; this.y = flixel_input_FlxPointer._cachedPoint.y | 0; } ,__class__: flixel_input_FlxPointer }; var flixel_input_FlxSwipe = function(ID,StartPosition,EndPosition,StartTimeInTicks) { this.ID = ID; this.startPosition = StartPosition; this.endPosition = EndPosition; this._startTimeInTicks = StartTimeInTicks; this._endTimeInTicks = flixel_FlxG.game.ticks; }; $hxClasses["flixel.input.FlxSwipe"] = flixel_input_FlxSwipe; flixel_input_FlxSwipe.__name__ = ["flixel","input","FlxSwipe"]; flixel_input_FlxSwipe.prototype = { ID: null ,startPosition: null ,endPosition: null ,_startTimeInTicks: null ,_endTimeInTicks: null ,toString: function() { var value = this.ID; var _this = flixel_util_LabelValuePair._pool.get(); _this.label = "ID"; _this.value = value; var value1 = this.startPosition; var _this1 = flixel_util_LabelValuePair._pool.get(); _this1.label = "start"; _this1.value = value1; var value2 = this.endPosition; var _this2 = flixel_util_LabelValuePair._pool.get(); _this2.label = "end"; _this2.value = value2; var dx = this.startPosition.x - this.endPosition.x; var dy = this.startPosition.y - this.endPosition.y; var value3 = Math.sqrt(dx * dx + dy * dy); var _this3 = flixel_util_LabelValuePair._pool.get(); _this3.label = "distance"; _this3.value = value3; var value4 = this.startPosition.angleBetween(this.endPosition); var _this4 = flixel_util_LabelValuePair._pool.get(); _this4.label = "angle"; _this4.value = value4; var value5 = (this._endTimeInTicks - this._startTimeInTicks) / 1000; var _this5 = flixel_util_LabelValuePair._pool.get(); _this5.label = "duration"; _this5.value = value5; return flixel_util_FlxStringUtil.getDebugString([_this,_this1,_this2,_this3,_this4,_this5]); } ,get_distance: function() { var dx = this.startPosition.x - this.endPosition.x; var dy = this.startPosition.y - this.endPosition.y; return Math.sqrt(dx * dx + dy * dy); } ,get_angle: function() { return this.startPosition.angleBetween(this.endPosition); } ,get_duration: function() { return (this._endTimeInTicks - this._startTimeInTicks) / 1000; } ,__class__: flixel_input_FlxSwipe ,__properties__: {get_duration:"get_duration",get_angle:"get_angle",get_distance:"get_distance"} }; var flixel_input_gamepad_FlxGamepad = function(ID,Manager,Model,Attachment) { this.buttons = []; this._deadZone = 0.15; this.axisActive = false; var _g = []; var _g1 = 0; while(_g1 < 6) { var i = _g1++; _g.push(0); } this.axis = _g; this.deadZoneMode = flixel_input_gamepad_FlxGamepadDeadZoneMode.INDEPENDENT_AXES; this.connected = true; this.id = ID; this.manager = Manager; this.pressed = new flixel_input_gamepad_lists_FlxGamepadButtonList(1,this); this.released = new flixel_input_gamepad_lists_FlxGamepadButtonList(0,this); this.justPressed = new flixel_input_gamepad_lists_FlxGamepadButtonList(2,this); this.justReleased = new flixel_input_gamepad_lists_FlxGamepadButtonList(-1,this); this.analog = new flixel_input_gamepad_lists_FlxGamepadAnalogList(this); this.motion = new flixel_input_gamepad_lists_FlxGamepadMotionValueList(this); this.pointer = new flixel_input_gamepad_lists_FlxGamepadPointerValueList(this); if(Model == null) { Model = flixel_input_gamepad_FlxGamepadModel.XINPUT; } if(Attachment == null) { Attachment = flixel_input_gamepad_FlxGamepadAttachment.NONE; } this.set_model(Model); this.detectedModel = Model; }; $hxClasses["flixel.input.gamepad.FlxGamepad"] = flixel_input_gamepad_FlxGamepad; flixel_input_gamepad_FlxGamepad.__name__ = ["flixel","input","gamepad","FlxGamepad"]; flixel_input_gamepad_FlxGamepad.__interfaces__ = [flixel_util_IFlxDestroyable]; flixel_input_gamepad_FlxGamepad.prototype = { id: null ,model: null ,detectedModel: null ,mapping: null ,connected: null ,attachment: null ,deadZoneMode: null ,pressed: null ,released: null ,justPressed: null ,justReleased: null ,analog: null ,motion: null ,pointer: null ,axis: null ,axisActive: null ,manager: null ,_deadZone: null ,_device: null ,buttons: null ,getButton: function(RawID) { if(RawID == -1) { return null; } var gamepadButton = this.buttons[RawID]; if(gamepadButton == null) { gamepadButton = new flixel_input_gamepad_FlxGamepadButton(RawID); this.buttons[RawID] = gamepadButton; } return gamepadButton; } ,applyAxisFlip: function(axisValue,axisID) { if(this.mapping.isAxisFlipped(axisID)) { axisValue *= -1; } return axisValue; } ,update: function() { var control; var button; if(this._device == null) { return; } var _g1 = 0; var _g = this._device.get_numControls(); while(_g1 < _g) { var i = _g1++; control = this._device.getControlAt(i); button = this.getButton(i); if(this.isAxisForAnalogStick(i)) { this.handleAxisMove(i,control.value,button.value); } button.value = control.value; var value = Math.abs(control.value); if(value < this.get_deadZone()) { button.release(); } else if(value > this.get_deadZone()) { button.press(); } } var _g2 = 0; var _g11 = this.buttons; while(_g2 < _g11.length) { var button1 = _g11[_g2]; ++_g2; if(button1 != null) { button1.update(); } } } ,reset: function() { var _g = 0; var _g1 = this.buttons; while(_g < _g1.length) { var button = _g1[_g]; ++_g; if(button != null) { button.reset(); } } var numAxis = this.axis.length; var _g11 = 0; var _g2 = numAxis; while(_g11 < _g2) { var i = _g11++; this.axis[i] = 0; } } ,destroy: function() { this.connected = false; this.buttons = null; this.axis = null; this.manager = null; } ,checkStatus: function(ID,Status) { switch(ID) { case -2: switch(Status) { case -1: return this.justReleased.get_ANY(); case 0: return this.released.get_ANY(); case 1: return this.pressed.get_ANY(); case 2: return this.justPressed.get_ANY(); } break; case -1: switch(Status) { case -1: return this.justReleased.get_NONE(); case 0: return this.released.get_NONE(); case 1: return this.pressed.get_NONE(); case 2: return this.justPressed.get_NONE(); } break; default: var rawID = this.mapping.getRawID(ID); var button = this.buttons[rawID]; if(button == null) { return false; } var value = button.current; switch(Status) { case -1: return value == -1; case 0: return value == 0; case 1: return value == 1; case 2: return value == 2; } } } ,checkStatusRaw: function(RawID,Status) { if(this.buttons[RawID] != null) { return this.buttons[RawID].current == Status; } return false; } ,anyPressed: function(IDArray) { var _g = 0; while(_g < IDArray.length) { var id = IDArray[_g]; ++_g; var raw = this.mapping.getRawID(id); if(this.buttons[raw] != null) { var _this = this.buttons[raw]; if(_this.current == 1 || _this.current == 2) { return true; } } } return false; } ,anyPressedRaw: function(RawIDArray) { var _g = 0; while(_g < RawIDArray.length) { var b = RawIDArray[_g]; ++_g; if(this.buttons[b] != null) { var _this = this.buttons[b]; if(_this.current == 1 || _this.current == 2) { return true; } } } return false; } ,anyJustPressed: function(IDArray) { var _g = 0; while(_g < IDArray.length) { var b = IDArray[_g]; ++_g; var raw = this.mapping.getRawID(b); if(this.buttons[raw] != null) { if(this.buttons[raw].current == 2) { return true; } } } return false; } ,anyJustPressedRaw: function(RawIDArray) { var _g = 0; while(_g < RawIDArray.length) { var b = RawIDArray[_g]; ++_g; if(this.buttons[b] != null) { if(this.buttons[b].current == 2) { return true; } } } return false; } ,anyJustReleased: function(IDArray) { var _g = 0; while(_g < IDArray.length) { var b = IDArray[_g]; ++_g; var raw = this.mapping.getRawID(b); if(this.buttons[raw] != null) { if(this.buttons[raw].current == -1) { return true; } } } return false; } ,anyJustReleasedRaw: function(RawIDArray) { var _g = 0; while(_g < RawIDArray.length) { var b = RawIDArray[_g]; ++_g; if(this.buttons[b] != null) { if(this.buttons[b].current == -1) { return true; } } } return false; } ,firstPressedID: function() { return this.mapping.getID(this.firstPressedRawID()); } ,firstPressedRawID: function() { var _g = 0; var _g1 = this.buttons; while(_g < _g1.length) { var button = _g1[_g]; ++_g; if(button != null && (button.current == 0 || button.current == -1)) { return button.ID; } } return -1; } ,firstJustPressedID: function() { return this.mapping.getID(this.firstJustPressedRawID()); } ,firstJustPressedRawID: function() { var _g = 0; var _g1 = this.buttons; while(_g < _g1.length) { var button = _g1[_g]; ++_g; if(button != null && button.current == 2) { return button.ID; } } return -1; } ,firstJustReleasedID: function() { return this.mapping.getID(this.firstJustReleasedRawID()); } ,firstJustReleasedRawID: function() { var _g = 0; var _g1 = this.buttons; while(_g < _g1.length) { var button = _g1[_g]; ++_g; if(button != null && button.current == -1) { return button.ID; } } return -1; } ,getAxis: function(AxisButtonID) { var axisValue = this.getAxisValue(this.mapping.getRawID(AxisButtonID)); if(Math.abs(axisValue) > this.get_deadZone()) { return axisValue; } else { return 0; } } ,getAxisRaw: function(RawAxisID) { var axisValue = this.getAxisValue(RawAxisID); if(Math.abs(axisValue) > this.get_deadZone()) { return axisValue; } return 0; } ,isAxisForAnalogStick: function(AxisIndex) { var leftStick = this.mapping.leftStick; var rightStick = this.mapping.rightStick; if(leftStick != null) { if(AxisIndex == leftStick.x || AxisIndex == leftStick.y) { return true; } } if(rightStick != null) { if(AxisIndex == rightStick.x || AxisIndex == rightStick.y) { return true; } } return false; } ,getAnalogStickByAxis: function(AxisIndex) { var leftStick = this.mapping.leftStick; var rightStick = this.mapping.rightStick; if(leftStick != null && AxisIndex == leftStick.x || AxisIndex == leftStick.y) { return leftStick; } if(rightStick != null && AxisIndex == rightStick.x || AxisIndex == rightStick.y) { return rightStick; } return null; } ,getXAxis: function(AxesButtonID) { return this.getAnalogXAxisValue(this.mapping.getAnalogStick(AxesButtonID)); } ,getXAxisRaw: function(Stick) { return this.getAnalogXAxisValue(Stick); } ,getYAxis: function(AxesButtonID) { return this.getYAxisRaw(this.mapping.getAnalogStick(AxesButtonID)); } ,getYAxisRaw: function(Stick) { return this.getAnalogYAxisValue(Stick); } ,getAnalogAxes: function(AxesButtonID) { var x = this.getAnalogXAxisValue(this.mapping.getAnalogStick(AxesButtonID)); var y = this.getYAxisRaw(this.mapping.getAnalogStick(AxesButtonID)); var point = flixel_math_FlxPoint._pool.get().set(x,y); point._inPool = false; return point; } ,anyButton: function(state) { if(state == null) { state = 1; } var _g = 0; var _g1 = this.buttons; while(_g < _g1.length) { var button = _g1[_g]; ++_g; if(button != null && button.hasState(state)) { return true; } } return false; } ,anyInput: function() { if(this.anyButton()) { return true; } var numAxis = this.axis.length; var _g1 = 0; var _g = numAxis; while(_g1 < _g) { var i = _g1++; if(this.axis[0] != 0) { return true; } } return false; } ,getAxisValue: function(AxisID) { var axisValue = 0; if(AxisID == -1) { return 0; } var tmp; if(this._device != null && this._device.enabled) { var Max = this._device.get_numControls() - 1; if(AxisID >= 0) { if(Max != null) { tmp = AxisID <= Max; } else { tmp = true; } } else { tmp = false; } } else { tmp = false; } if(tmp) { axisValue = this._device.getControlAt(AxisID).value; } if(this.isAxisForAnalogStick(AxisID)) { var axisValue1 = axisValue; if(this.mapping.isAxisFlipped(AxisID)) { axisValue1 *= -1; } axisValue = axisValue1; } return axisValue; } ,getAnalogXAxisValue: function(stick) { if(stick == null) { return 0; } if(this.deadZoneMode == flixel_input_gamepad_FlxGamepadDeadZoneMode.CIRCULAR) { return this.getAnalogAxisValueCircular(stick,stick.x); } else { return this.getAnalogAxisValueIndependent(stick.x); } } ,getAnalogYAxisValue: function(stick) { if(stick == null) { return 0; } if(this.deadZoneMode == flixel_input_gamepad_FlxGamepadDeadZoneMode.CIRCULAR) { return this.getAnalogAxisValueCircular(stick,stick.y); } else { return this.getAnalogAxisValueIndependent(stick.y); } } ,getAnalogAxisValueCircular: function(stick,axisID) { if(stick == null) { return 0; } var xAxis = this.getAxisValue(stick.x); var yAxis = this.getAxisValue(stick.y); var point = flixel_math_FlxPoint._pool.get().set(xAxis,yAxis); point._inPool = false; var vector = point; var length = Math.sqrt(vector.x * vector.x + vector.y * vector.y); vector.put(); if(length > this.get_deadZone()) { return this.getAxisValue(axisID); } return 0; } ,getAnalogAxisValueIndependent: function(axisID) { var axisValue = this.getAxisValue(axisID); if(Math.abs(axisValue) > this.get_deadZone()) { return axisValue; } return 0; } ,handleAxisMove: function(axis,newValue,oldValue) { var axisValue = newValue; if(this.mapping.isAxisFlipped(axis)) { axisValue *= -1; } newValue = axisValue; var axisValue1 = oldValue; if(this.mapping.isAxisFlipped(axis)) { axisValue1 *= -1; } oldValue = axisValue1; var leftStick = this.mapping.leftStick; var rightStick = this.mapping.rightStick; var stick = leftStick != null && axis == leftStick.x || axis == leftStick.y ? leftStick : rightStick != null && axis == rightStick.x || axis == rightStick.y ? rightStick : null; if(stick.mode == flixel_input_gamepad_FlxAnalogToDigitalMode.ONLY_DIGITAL || stick.mode == flixel_input_gamepad_FlxAnalogToDigitalMode.BOTH) { this.handleAxisMoveSub(stick,axis,newValue,oldValue,1.0); this.handleAxisMoveSub(stick,axis,newValue,oldValue,-1.0); var tmp = stick.mode == flixel_input_gamepad_FlxAnalogToDigitalMode.ONLY_DIGITAL; } } ,handleAxisMoveSub: function(stick,axis,value,oldValue,sign) { if(sign == null) { sign = 1.0; } var digitalButton = -1; if(axis == stick.x) { if(sign < 0) { digitalButton = stick.rawLeft; } else { digitalButton = stick.rawRight; } } else if(axis == stick.y) { if(sign < 0) { digitalButton = stick.rawUp; } else { digitalButton = stick.rawDown; } } var threshold = stick.digitalThreshold; var valueSign = value * sign; var oldValueSign = oldValue * sign; if(valueSign > threshold && oldValueSign <= threshold) { var btn = this.getButton(digitalButton); if(btn != null) { btn.press(); } } else if(valueSign <= threshold && oldValueSign > threshold) { var btn1 = this.getButton(digitalButton); if(btn1 != null) { btn1.release(); } } } ,createMappingForModel: function(model) { switch(model[1]) { case 0: return new flixel_input_gamepad_mappings_LogitechMapping(this.attachment); case 1: return new flixel_input_gamepad_mappings_OUYAMapping(this.attachment); case 2: return new flixel_input_gamepad_mappings_PS4Mapping(this.attachment); case 3: return new flixel_input_gamepad_mappings_PSVitaMapping(this.attachment); case 4: return new flixel_input_gamepad_mappings_XInputMapping(this.attachment); case 5: return new flixel_input_gamepad_mappings_MayflashWiiRemoteMapping(this.attachment); case 6: return new flixel_input_gamepad_mappings_WiiRemoteMapping(this.attachment); case 7: return new flixel_input_gamepad_mappings_MFiMapping(this.attachment); default: return new flixel_input_gamepad_mappings_XInputMapping(this.attachment); } } ,get_name: function() { if(this._device == null) { return null; } return this._device.name; } ,set_model: function(Model) { this.model = Model; this.mapping = this.createMappingForModel(this.model); return this.model; } ,set_attachment: function(Attachment) { this.attachment = Attachment; this.mapping.set_attachment(Attachment); return this.attachment; } ,get_deadZone: function() { if(this.manager == null || this.manager.globalDeadZone == null) { return this._deadZone; } else { return this.manager.globalDeadZone; } } ,set_deadZone: function(deadZone) { return this._deadZone = deadZone; } ,toString: function() { var value = this.id; var _this = flixel_util_LabelValuePair._pool.get(); _this.label = "id"; _this.value = value; var value1 = this.model; var _this1 = flixel_util_LabelValuePair._pool.get(); _this1.label = "model"; _this1.value = value1; var value2 = this.get_deadZone(); var _this2 = flixel_util_LabelValuePair._pool.get(); _this2.label = "deadZone"; _this2.value = value2; return flixel_util_FlxStringUtil.getDebugString([_this,_this1,_this2]); } ,__class__: flixel_input_gamepad_FlxGamepad ,__properties__: {set_deadZone:"set_deadZone",get_deadZone:"get_deadZone",set_attachment:"set_attachment",set_model:"set_model",get_name:"get_name"} }; var flixel_input_gamepad_FlxGamepadDeadZoneMode = $hxClasses["flixel.input.gamepad.FlxGamepadDeadZoneMode"] = { __ename__ : ["flixel","input","gamepad","FlxGamepadDeadZoneMode"], __constructs__ : ["INDEPENDENT_AXES","CIRCULAR"] }; flixel_input_gamepad_FlxGamepadDeadZoneMode.INDEPENDENT_AXES = ["INDEPENDENT_AXES",0]; flixel_input_gamepad_FlxGamepadDeadZoneMode.INDEPENDENT_AXES.toString = $estr; flixel_input_gamepad_FlxGamepadDeadZoneMode.INDEPENDENT_AXES.__enum__ = flixel_input_gamepad_FlxGamepadDeadZoneMode; flixel_input_gamepad_FlxGamepadDeadZoneMode.CIRCULAR = ["CIRCULAR",1]; flixel_input_gamepad_FlxGamepadDeadZoneMode.CIRCULAR.toString = $estr; flixel_input_gamepad_FlxGamepadDeadZoneMode.CIRCULAR.__enum__ = flixel_input_gamepad_FlxGamepadDeadZoneMode; var flixel_input_gamepad_FlxGamepadModel = $hxClasses["flixel.input.gamepad.FlxGamepadModel"] = { __ename__ : ["flixel","input","gamepad","FlxGamepadModel"], __constructs__ : ["LOGITECH","OUYA","PS4","PSVITA","XINPUT","MAYFLASH_WII_REMOTE","WII_REMOTE","MFI","UNKNOWN"] }; flixel_input_gamepad_FlxGamepadModel.LOGITECH = ["LOGITECH",0]; flixel_input_gamepad_FlxGamepadModel.LOGITECH.toString = $estr; flixel_input_gamepad_FlxGamepadModel.LOGITECH.__enum__ = flixel_input_gamepad_FlxGamepadModel; flixel_input_gamepad_FlxGamepadModel.OUYA = ["OUYA",1]; flixel_input_gamepad_FlxGamepadModel.OUYA.toString = $estr; flixel_input_gamepad_FlxGamepadModel.OUYA.__enum__ = flixel_input_gamepad_FlxGamepadModel; flixel_input_gamepad_FlxGamepadModel.PS4 = ["PS4",2]; flixel_input_gamepad_FlxGamepadModel.PS4.toString = $estr; flixel_input_gamepad_FlxGamepadModel.PS4.__enum__ = flixel_input_gamepad_FlxGamepadModel; flixel_input_gamepad_FlxGamepadModel.PSVITA = ["PSVITA",3]; flixel_input_gamepad_FlxGamepadModel.PSVITA.toString = $estr; flixel_input_gamepad_FlxGamepadModel.PSVITA.__enum__ = flixel_input_gamepad_FlxGamepadModel; flixel_input_gamepad_FlxGamepadModel.XINPUT = ["XINPUT",4]; flixel_input_gamepad_FlxGamepadModel.XINPUT.toString = $estr; flixel_input_gamepad_FlxGamepadModel.XINPUT.__enum__ = flixel_input_gamepad_FlxGamepadModel; flixel_input_gamepad_FlxGamepadModel.MAYFLASH_WII_REMOTE = ["MAYFLASH_WII_REMOTE",5]; flixel_input_gamepad_FlxGamepadModel.MAYFLASH_WII_REMOTE.toString = $estr; flixel_input_gamepad_FlxGamepadModel.MAYFLASH_WII_REMOTE.__enum__ = flixel_input_gamepad_FlxGamepadModel; flixel_input_gamepad_FlxGamepadModel.WII_REMOTE = ["WII_REMOTE",6]; flixel_input_gamepad_FlxGamepadModel.WII_REMOTE.toString = $estr; flixel_input_gamepad_FlxGamepadModel.WII_REMOTE.__enum__ = flixel_input_gamepad_FlxGamepadModel; flixel_input_gamepad_FlxGamepadModel.MFI = ["MFI",7]; flixel_input_gamepad_FlxGamepadModel.MFI.toString = $estr; flixel_input_gamepad_FlxGamepadModel.MFI.__enum__ = flixel_input_gamepad_FlxGamepadModel; flixel_input_gamepad_FlxGamepadModel.UNKNOWN = ["UNKNOWN",8]; flixel_input_gamepad_FlxGamepadModel.UNKNOWN.toString = $estr; flixel_input_gamepad_FlxGamepadModel.UNKNOWN.__enum__ = flixel_input_gamepad_FlxGamepadModel; var flixel_input_gamepad_FlxGamepadAttachment = $hxClasses["flixel.input.gamepad.FlxGamepadAttachment"] = { __ename__ : ["flixel","input","gamepad","FlxGamepadAttachment"], __constructs__ : ["WII_NUNCHUCK","WII_CLASSIC_CONTROLLER","NONE"] }; flixel_input_gamepad_FlxGamepadAttachment.WII_NUNCHUCK = ["WII_NUNCHUCK",0]; flixel_input_gamepad_FlxGamepadAttachment.WII_NUNCHUCK.toString = $estr; flixel_input_gamepad_FlxGamepadAttachment.WII_NUNCHUCK.__enum__ = flixel_input_gamepad_FlxGamepadAttachment; flixel_input_gamepad_FlxGamepadAttachment.WII_CLASSIC_CONTROLLER = ["WII_CLASSIC_CONTROLLER",1]; flixel_input_gamepad_FlxGamepadAttachment.WII_CLASSIC_CONTROLLER.toString = $estr; flixel_input_gamepad_FlxGamepadAttachment.WII_CLASSIC_CONTROLLER.__enum__ = flixel_input_gamepad_FlxGamepadAttachment; flixel_input_gamepad_FlxGamepadAttachment.NONE = ["NONE",2]; flixel_input_gamepad_FlxGamepadAttachment.NONE.toString = $estr; flixel_input_gamepad_FlxGamepadAttachment.NONE.__enum__ = flixel_input_gamepad_FlxGamepadAttachment; var flixel_input_gamepad_FlxGamepadAnalogStick = function(x,y,settings) { this.mode = flixel_input_gamepad_FlxAnalogToDigitalMode.BOTH; this.digitalThreshold = 0.5; this.rawRight = -1; this.rawLeft = -1; this.rawDown = -1; this.rawUp = -1; this.x = x; this.y = y; if(settings == null) { return; } this.mode = settings.mode != null ? settings.mode : flixel_input_gamepad_FlxAnalogToDigitalMode.BOTH; this.rawUp = settings.up != null ? settings.up : -1; this.rawDown = settings.down != null ? settings.down : -1; this.rawLeft = settings.left != null ? settings.left : -1; this.rawRight = settings.right != null ? settings.right : -1; this.digitalThreshold = settings.threshold != null ? settings.threshold : 0.5; }; $hxClasses["flixel.input.gamepad.FlxGamepadAnalogStick"] = flixel_input_gamepad_FlxGamepadAnalogStick; flixel_input_gamepad_FlxGamepadAnalogStick.__name__ = ["flixel","input","gamepad","FlxGamepadAnalogStick"]; flixel_input_gamepad_FlxGamepadAnalogStick.prototype = { x: null ,y: null ,rawUp: null ,rawDown: null ,rawLeft: null ,rawRight: null ,digitalThreshold: null ,mode: null ,toString: function() { var value = this.x; var _this = flixel_util_LabelValuePair._pool.get(); _this.label = "x"; _this.value = value; var value1 = this.y; var _this1 = flixel_util_LabelValuePair._pool.get(); _this1.label = "y"; _this1.value = value1; var value2 = this.rawUp; var _this2 = flixel_util_LabelValuePair._pool.get(); _this2.label = "rawUp"; _this2.value = value2; var value3 = this.rawDown; var _this3 = flixel_util_LabelValuePair._pool.get(); _this3.label = "rawDown"; _this3.value = value3; var value4 = this.rawLeft; var _this4 = flixel_util_LabelValuePair._pool.get(); _this4.label = "rawLeft"; _this4.value = value4; var value5 = this.rawRight; var _this5 = flixel_util_LabelValuePair._pool.get(); _this5.label = "rawRight"; _this5.value = value5; var value6 = this.digitalThreshold; var _this6 = flixel_util_LabelValuePair._pool.get(); _this6.label = "digitalThreshold"; _this6.value = value6; var value7 = this.mode; var _this7 = flixel_util_LabelValuePair._pool.get(); _this7.label = "mode"; _this7.value = value7; return flixel_util_FlxStringUtil.getDebugString([_this,_this1,_this2,_this3,_this4,_this5,_this6,_this7]); } ,__class__: flixel_input_gamepad_FlxGamepadAnalogStick }; var flixel_input_gamepad_FlxAnalogToDigitalMode = $hxClasses["flixel.input.gamepad.FlxAnalogToDigitalMode"] = { __ename__ : ["flixel","input","gamepad","FlxAnalogToDigitalMode"], __constructs__ : ["BOTH","ONLY_DIGITAL","ONLY_ANALOG"] }; flixel_input_gamepad_FlxAnalogToDigitalMode.BOTH = ["BOTH",0]; flixel_input_gamepad_FlxAnalogToDigitalMode.BOTH.toString = $estr; flixel_input_gamepad_FlxAnalogToDigitalMode.BOTH.__enum__ = flixel_input_gamepad_FlxAnalogToDigitalMode; flixel_input_gamepad_FlxAnalogToDigitalMode.ONLY_DIGITAL = ["ONLY_DIGITAL",1]; flixel_input_gamepad_FlxAnalogToDigitalMode.ONLY_DIGITAL.toString = $estr; flixel_input_gamepad_FlxAnalogToDigitalMode.ONLY_DIGITAL.__enum__ = flixel_input_gamepad_FlxAnalogToDigitalMode; flixel_input_gamepad_FlxAnalogToDigitalMode.ONLY_ANALOG = ["ONLY_ANALOG",2]; flixel_input_gamepad_FlxAnalogToDigitalMode.ONLY_ANALOG.toString = $estr; flixel_input_gamepad_FlxAnalogToDigitalMode.ONLY_ANALOG.__enum__ = flixel_input_gamepad_FlxAnalogToDigitalMode; var flixel_input_gamepad_FlxGamepadButton = function(ID) { this.value = 0; flixel_input_FlxInput.call(this,ID); }; $hxClasses["flixel.input.gamepad.FlxGamepadButton"] = flixel_input_gamepad_FlxGamepadButton; flixel_input_gamepad_FlxGamepadButton.__name__ = ["flixel","input","gamepad","FlxGamepadButton"]; flixel_input_gamepad_FlxGamepadButton.__super__ = flixel_input_FlxInput; flixel_input_gamepad_FlxGamepadButton.prototype = $extend(flixel_input_FlxInput.prototype,{ value: null ,__class__: flixel_input_gamepad_FlxGamepadButton }); var flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$ = {}; $hxClasses["flixel.input.gamepad._FlxGamepadInputID.FlxGamepadInputID_Impl_"] = flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$; flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.__name__ = ["flixel","input","gamepad","_FlxGamepadInputID","FlxGamepadInputID_Impl_"]; flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.fromString = function(s) { s = s.toUpperCase(); var _this = flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.fromStringMap; if(__map_reserved[s] != null ? _this.existsReserved(s) : _this.h.hasOwnProperty(s)) { var _this1 = flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.fromStringMap; if(__map_reserved[s] != null) { return _this1.getReserved(s); } else { return _this1.h[s]; } } else { return -1; } }; flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.toString = function(this1) { return flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.toStringMap.h[this1]; }; var openfl_ui_GameInput = function() { openfl_events_EventDispatcher.call(this); openfl_ui_GameInput.__instances.push(this); }; $hxClasses["openfl.ui.GameInput"] = openfl_ui_GameInput; openfl_ui_GameInput.__name__ = ["openfl","ui","GameInput"]; openfl_ui_GameInput.getDeviceAt = function(index) { if(index >= 0 && index < openfl_ui_GameInput.__deviceList.length) { return openfl_ui_GameInput.__deviceList[index]; } return null; }; openfl_ui_GameInput.__getDevice = function(gamepad) { if(gamepad == null) { return null; } if(openfl_ui_GameInput.__devices.h.__keys__[gamepad.__id__] == null) { var devices = lime_ui_Joystick.__getDeviceData(); var device = devices[gamepad.id].id; var devices1 = lime_ui_Joystick.__getDeviceData(); var device1 = new openfl_ui_GameInputDevice(device,devices1[gamepad.id].id); openfl_ui_GameInput.__deviceList.push(device1); openfl_ui_GameInput.__devices.set(gamepad,device1); openfl_ui_GameInput.numDevices = openfl_ui_GameInput.__deviceList.length; } return openfl_ui_GameInput.__devices.h[gamepad.__id__]; }; openfl_ui_GameInput.__onGamepadAxisMove = function(gamepad,axis,value) { var device = openfl_ui_GameInput.__getDevice(gamepad); if(device == null) { return; } if(device.enabled) { if(!device.__axis.h.hasOwnProperty(axis)) { var control; switch(axis) { case 0: control = "LEFT_X"; break; case 1: control = "LEFT_Y"; break; case 2: control = "RIGHT_X"; break; case 3: control = "RIGHT_Y"; break; case 4: control = "TRIGGER_LEFT"; break; case 5: control = "TRIGGER_RIGHT"; break; default: control = "UNKNOWN (" + axis + ")"; } var control1 = new openfl_ui_GameInputControl(device,"AXIS_" + control,-1,1); device.__axis.h[axis] = control1; device.__controls.push(control1); } var control2 = device.__axis.h[axis]; control2.value = value; control2.dispatchEvent(new openfl_events_Event("change")); } }; openfl_ui_GameInput.__onGamepadButtonDown = function(gamepad,button) { var device = openfl_ui_GameInput.__getDevice(gamepad); if(device == null) { return; } if(device.enabled) { if(!device.__button.h.hasOwnProperty(button)) { var control; switch(button) { case 0: control = "A"; break; case 1: control = "B"; break; case 2: control = "X"; break; case 3: control = "Y"; break; case 4: control = "BACK"; break; case 5: control = "GUIDE"; break; case 6: control = "START"; break; case 7: control = "LEFT_STICK"; break; case 8: control = "RIGHT_STICK"; break; case 9: control = "LEFT_SHOULDER"; break; case 10: control = "RIGHT_SHOULDER"; break; case 11: control = "DPAD_UP"; break; case 12: control = "DPAD_DOWN"; break; case 13: control = "DPAD_LEFT"; break; case 14: control = "DPAD_RIGHT"; break; default: control = "UNKNOWN (" + button + ")"; } var control1 = new openfl_ui_GameInputControl(device,"BUTTON_" + control,0,1); device.__button.h[button] = control1; device.__controls.push(control1); } var control2 = device.__button.h[button]; control2.value = 1; control2.dispatchEvent(new openfl_events_Event("change")); } }; openfl_ui_GameInput.__onGamepadButtonUp = function(gamepad,button) { var device = openfl_ui_GameInput.__getDevice(gamepad); if(device == null) { return; } if(device.enabled) { if(!device.__button.h.hasOwnProperty(button)) { var control; switch(button) { case 0: control = "A"; break; case 1: control = "B"; break; case 2: control = "X"; break; case 3: control = "Y"; break; case 4: control = "BACK"; break; case 5: control = "GUIDE"; break; case 6: control = "START"; break; case 7: control = "LEFT_STICK"; break; case 8: control = "RIGHT_STICK"; break; case 9: control = "LEFT_SHOULDER"; break; case 10: control = "RIGHT_SHOULDER"; break; case 11: control = "DPAD_UP"; break; case 12: control = "DPAD_DOWN"; break; case 13: control = "DPAD_LEFT"; break; case 14: control = "DPAD_RIGHT"; break; default: control = "UNKNOWN (" + button + ")"; } var control1 = new openfl_ui_GameInputControl(device,"BUTTON_" + control,0,1); device.__button.h[button] = control1; device.__controls.push(control1); } var control2 = device.__button.h[button]; control2.value = 0; control2.dispatchEvent(new openfl_events_Event("change")); } }; openfl_ui_GameInput.__onGamepadConnect = function(gamepad) { var device = openfl_ui_GameInput.__getDevice(gamepad); if(device == null) { return; } var _g = 0; var _g1 = openfl_ui_GameInput.__instances; while(_g < _g1.length) { var instance = _g1[_g]; ++_g; instance.dispatchEvent(new openfl_events_GameInputEvent("deviceAdded",true,false,device)); } }; openfl_ui_GameInput.__onGamepadDisconnect = function(gamepad) { var device = openfl_ui_GameInput.__devices.h[gamepad.__id__]; if(device != null) { if(openfl_ui_GameInput.__devices.h.__keys__[gamepad.__id__] != null) { HxOverrides.remove(openfl_ui_GameInput.__deviceList,openfl_ui_GameInput.__devices.h[gamepad.__id__]); openfl_ui_GameInput.__devices.remove(gamepad); } openfl_ui_GameInput.numDevices = openfl_ui_GameInput.__deviceList.length; var _g = 0; var _g1 = openfl_ui_GameInput.__instances; while(_g < _g1.length) { var instance = _g1[_g]; ++_g; instance.dispatchEvent(new openfl_events_GameInputEvent("deviceRemoved",true,false,device)); } } }; openfl_ui_GameInput.__super__ = openfl_events_EventDispatcher; openfl_ui_GameInput.prototype = $extend(openfl_events_EventDispatcher.prototype,{ addEventListener: function(type,listener,useCapture,priority,useWeakReference) { if(useWeakReference == null) { useWeakReference = false; } if(priority == null) { priority = 0; } if(useCapture == null) { useCapture = false; } openfl_events_EventDispatcher.prototype.addEventListener.call(this,type,listener,useCapture,priority,useWeakReference); if(type == "deviceAdded") { var _g = 0; var _g1 = openfl_ui_GameInput.__deviceList; while(_g < _g1.length) { var device = _g1[_g]; ++_g; this.dispatchEvent(new openfl_events_GameInputEvent("deviceAdded",true,false,device)); } } } ,__class__: openfl_ui_GameInput }); var flixel_input_gamepad_FlxGamepadManager = function() { this._activeGamepads = []; this._gamepads = []; this.deviceConnected = new flixel_util__$FlxSignal_FlxSignal1(); this.deviceDisconnected = new flixel_util__$FlxSignal_FlxSignal1(); flixel_input_gamepad_FlxGamepadManager._gameInput.addEventListener("deviceAdded",$bind(this,this.onDeviceAdded)); flixel_input_gamepad_FlxGamepadManager._gameInput.addEventListener("deviceRemoved",$bind(this,this.onDeviceRemoved)); var _g1 = 0; var _g = openfl_ui_GameInput.numDevices; while(_g1 < _g) { var i = _g1++; this.addGamepad(openfl_ui_GameInput.getDeviceAt(i)); } }; $hxClasses["flixel.input.gamepad.FlxGamepadManager"] = flixel_input_gamepad_FlxGamepadManager; flixel_input_gamepad_FlxGamepadManager.__name__ = ["flixel","input","gamepad","FlxGamepadManager"]; flixel_input_gamepad_FlxGamepadManager.__interfaces__ = [flixel_input_IFlxInputManager]; flixel_input_gamepad_FlxGamepadManager.prototype = { firstActive: null ,lastActive: null ,numActiveGamepads: null ,globalDeadZone: null ,deviceConnected: null ,deviceDisconnected: null ,_gamepads: null ,_activeGamepads: null ,getByID: function(GamepadID) { return this._activeGamepads[GamepadID]; } ,removeByID: function(GamepadID) { var gamepad = this._gamepads[GamepadID]; if(gamepad != null) { this._gamepads[GamepadID] = null; var i = this._activeGamepads.indexOf(gamepad); if(i != -1) { this._activeGamepads[i] = null; this.deviceDisconnected.dispatch(gamepad); } flixel_util_FlxDestroyUtil.destroy(gamepad); } if(this.lastActive == gamepad) { this.lastActive = null; } if(this.firstActive == gamepad) { this.firstActive = null; } } ,createByID: function(GamepadID,Model) { var gamepad = this._gamepads[GamepadID]; if(gamepad == null) { gamepad = new flixel_input_gamepad_FlxGamepad(GamepadID,this,Model); this._gamepads[GamepadID] = gamepad; var nullFound = false; var _g1 = 0; var _g = this._activeGamepads.length; while(_g1 < _g) { var i = _g1++; if(this._activeGamepads[i] == null) { this._activeGamepads[i] = gamepad; nullFound = true; break; } } if(!nullFound) { this._activeGamepads.push(gamepad); } } this.lastActive = gamepad; if(this.firstActive == null) { this.firstActive = gamepad; } return gamepad; } ,getActiveGamepadIDs: function(IDsArray) { if(IDsArray == null) { IDsArray = []; } var _g = 0; var _g1 = this._gamepads; while(_g < _g1.length) { var gamepad = _g1[_g]; ++_g; if(gamepad != null && gamepad.anyInput()) { IDsArray.push(gamepad.id); } } return IDsArray; } ,getActiveGamepads: function(GamepadArray) { if(GamepadArray == null) { GamepadArray = []; } var _g = 0; var _g1 = this._gamepads; while(_g < _g1.length) { var gamepad = _g1[_g]; ++_g; if(gamepad != null && gamepad.anyInput()) { GamepadArray.push(gamepad); } } return GamepadArray; } ,getFirstActiveGamepadID: function() { var firstActive = this.getFirstActiveGamepad(); if(firstActive == null) { return -1; } else { return firstActive.id; } } ,getFirstActiveGamepad: function() { var _g = 0; var _g1 = this._gamepads; while(_g < _g1.length) { var gamepad = _g1[_g]; ++_g; if(gamepad != null && gamepad.anyInput()) { return gamepad; } } return null; } ,anyButton: function(state) { if(state == null) { state = 1; } var _g = 0; var _g1 = this._gamepads; while(_g < _g1.length) { var gamepad = _g1[_g]; ++_g; if(gamepad != null && gamepad.anyButton(state)) { return true; } } return false; } ,anyInput: function() { var _g = 0; var _g1 = this._gamepads; while(_g < _g1.length) { var gamepad = _g1[_g]; ++_g; if(gamepad != null && gamepad.anyInput()) { return true; } } return false; } ,anyPressed: function(buttonID) { return this.anyHasState(buttonID,1); } ,anyJustPressed: function(buttonID) { return this.anyHasState(buttonID,2); } ,anyJustReleased: function(buttonID) { return this.anyHasState(buttonID,-1); } ,anyHasState: function(buttonID,state) { var _g = 0; var _g1 = this._gamepads; while(_g < _g1.length) { var gamepad = _g1[_g]; ++_g; var tmp; if(gamepad != null) { switch(buttonID) { case -2: switch(state) { case -1: tmp = gamepad.justReleased.get_ANY(); break; case 0: tmp = gamepad.released.get_ANY(); break; case 1: tmp = gamepad.pressed.get_ANY(); break; case 2: tmp = gamepad.justPressed.get_ANY(); break; } break; case -1: switch(state) { case -1: tmp = gamepad.justReleased.get_NONE(); break; case 0: tmp = gamepad.released.get_NONE(); break; case 1: tmp = gamepad.pressed.get_NONE(); break; case 2: tmp = gamepad.justPressed.get_NONE(); break; } break; default: var rawID = gamepad.mapping.getRawID(buttonID); var button = gamepad.buttons[rawID]; if(button == null) { tmp = false; } else { var value = button.current; switch(state) { case -1: tmp = value == -1; break; case 0: tmp = value == 0; break; case 1: tmp = value == 1; break; case 2: tmp = value == 2; break; } } } } else { tmp = false; } if(tmp) { return true; } } return false; } ,anyMovedXAxis: function(RawAxisID) { var _g = 0; var _g1 = this._gamepads; while(_g < _g1.length) { var gamepad = _g1[_g]; ++_g; if(gamepad == null) { continue; } var value = gamepad.getAnalogXAxisValue(RawAxisID); if(value != 0) { return value; } } return 0; } ,anyMovedYAxis: function(RawAxisID) { var _g = 0; var _g1 = this._gamepads; while(_g < _g1.length) { var gamepad = _g1[_g]; ++_g; if(gamepad == null) { continue; } var value = gamepad.getYAxisRaw(RawAxisID); if(value != 0) { return value; } } return 0; } ,destroy: function() { this._gamepads = flixel_util_FlxDestroyUtil.destroyArray(this._gamepads); this.firstActive = null; this.lastActive = null; this._gamepads = null; flixel_input_gamepad_FlxGamepadManager._gameInput.removeEventListener("deviceAdded",$bind(this,this.onDeviceAdded)); flixel_input_gamepad_FlxGamepadManager._gameInput.removeEventListener("deviceRemoved",$bind(this,this.onDeviceRemoved)); } ,reset: function() { var _g = 0; var _g1 = this._gamepads; while(_g < _g1.length) { var gamepad = _g1[_g]; ++_g; if(gamepad != null) { gamepad.reset(); } } } ,onDeviceAdded: function(Event) { this.addGamepad(Event.device); } ,onDeviceRemoved: function(Event) { this.removeGamepad(Event.device); } ,findGamepadIndex: function(Device) { if(Device == null) { return -1; } var _g1 = 0; var _g = openfl_ui_GameInput.numDevices; while(_g1 < _g) { var i = _g1++; if(openfl_ui_GameInput.getDeviceAt(i) == Device) { return i; } } return -1; } ,addGamepad: function(Device) { if(Device == null) { return; } Device.enabled = true; var id = this.findGamepadIndex(Device); if(id < 0) { return; } var gamepad = this.createByID(id,this.getModelFromDeviceName(Device.name)); gamepad._device = Device; this.deviceConnected.dispatch(gamepad); } ,getModelFromDeviceName: function(name) { if(name == null) { return flixel_input_gamepad_FlxGamepadModel.UNKNOWN; } name = StringTools.replace(StringTools.replace(name.toLowerCase(),"-",""),"_",""); if(name.indexOf("ouya") != -1) { return flixel_input_gamepad_FlxGamepadModel.OUYA; } else if(name.indexOf("wireless controller") != -1 || name.indexOf("ps4") != -1) { return flixel_input_gamepad_FlxGamepadModel.PS4; } else if(name.indexOf("logitech") != -1) { return flixel_input_gamepad_FlxGamepadModel.LOGITECH; } else if(name.indexOf("xbox") != -1 && name.indexOf("360") != -1) { return flixel_input_gamepad_FlxGamepadModel.XINPUT; } else if(name.indexOf("xinput") != -1) { return flixel_input_gamepad_FlxGamepadModel.XINPUT; } else if(name.indexOf("nintendo rvlcnt01tr") != -1) { return flixel_input_gamepad_FlxGamepadModel.WII_REMOTE; } else if(name.indexOf("nintendo rvlcnt01") != -1) { return flixel_input_gamepad_FlxGamepadModel.WII_REMOTE; } else if(name.indexOf("mayflash wiimote pc adapter") != -1) { return flixel_input_gamepad_FlxGamepadModel.MAYFLASH_WII_REMOTE; } else if(name.indexOf("mfi") != -1) { return flixel_input_gamepad_FlxGamepadModel.MFI; } else { return flixel_input_gamepad_FlxGamepadModel.UNKNOWN; } } ,removeGamepad: function(Device) { if(Device == null) { return; } var _g1 = 0; var _g = this._gamepads.length; while(_g1 < _g) { var i = _g1++; var gamepad = this._gamepads[i]; if(gamepad != null && gamepad._device == Device) { this.removeByID(i); } } } ,update: function() { var _g = 0; var _g1 = this._gamepads; while(_g < _g1.length) { var gamepad = _g1[_g]; ++_g; if(gamepad != null) { gamepad.update(); } } } ,onFocus: function() { } ,onFocusLost: function() { this.reset(); } ,get_numActiveGamepads: function() { var count = 0; var _g = 0; var _g1 = this._gamepads; while(_g < _g1.length) { var gamepad = _g1[_g]; ++_g; if(gamepad != null) { ++count; } } return count; } ,__class__: flixel_input_gamepad_FlxGamepadManager ,__properties__: {get_numActiveGamepads:"get_numActiveGamepads"} }; var flixel_input_gamepad_id_LogitechID = function() { }; $hxClasses["flixel.input.gamepad.id.LogitechID"] = flixel_input_gamepad_id_LogitechID; flixel_input_gamepad_id_LogitechID.__name__ = ["flixel","input","gamepad","id","LogitechID"]; var flixel_input_gamepad_id_MFiID = function() { }; $hxClasses["flixel.input.gamepad.id.MFiID"] = flixel_input_gamepad_id_MFiID; flixel_input_gamepad_id_MFiID.__name__ = ["flixel","input","gamepad","id","MFiID"]; var flixel_input_gamepad_id_MayflashWiiRemoteID = function() { }; $hxClasses["flixel.input.gamepad.id.MayflashWiiRemoteID"] = flixel_input_gamepad_id_MayflashWiiRemoteID; flixel_input_gamepad_id_MayflashWiiRemoteID.__name__ = ["flixel","input","gamepad","id","MayflashWiiRemoteID"]; var flixel_input_gamepad_id_OUYAID = function() { }; $hxClasses["flixel.input.gamepad.id.OUYAID"] = flixel_input_gamepad_id_OUYAID; flixel_input_gamepad_id_OUYAID.__name__ = ["flixel","input","gamepad","id","OUYAID"]; var flixel_input_gamepad_id_PS4ID = function() { }; $hxClasses["flixel.input.gamepad.id.PS4ID"] = flixel_input_gamepad_id_PS4ID; flixel_input_gamepad_id_PS4ID.__name__ = ["flixel","input","gamepad","id","PS4ID"]; var flixel_input_gamepad_id_PSVitaID = function() { }; $hxClasses["flixel.input.gamepad.id.PSVitaID"] = flixel_input_gamepad_id_PSVitaID; flixel_input_gamepad_id_PSVitaID.__name__ = ["flixel","input","gamepad","id","PSVitaID"]; var flixel_input_gamepad_id_WiiRemoteID = function() { }; $hxClasses["flixel.input.gamepad.id.WiiRemoteID"] = flixel_input_gamepad_id_WiiRemoteID; flixel_input_gamepad_id_WiiRemoteID.__name__ = ["flixel","input","gamepad","id","WiiRemoteID"]; var flixel_input_gamepad_id_XInputID = function() { }; $hxClasses["flixel.input.gamepad.id.XInputID"] = flixel_input_gamepad_id_XInputID; flixel_input_gamepad_id_XInputID.__name__ = ["flixel","input","gamepad","id","XInputID"]; var flixel_input_gamepad_lists_FlxBaseGamepadList = function(status,gamepad) { this.status = status; this.gamepad = gamepad; }; $hxClasses["flixel.input.gamepad.lists.FlxBaseGamepadList"] = flixel_input_gamepad_lists_FlxBaseGamepadList; flixel_input_gamepad_lists_FlxBaseGamepadList.__name__ = ["flixel","input","gamepad","lists","FlxBaseGamepadList"]; flixel_input_gamepad_lists_FlxBaseGamepadList.prototype = { status: null ,gamepad: null ,check: function(id) { var _this = this.gamepad; var Status = this.status; switch(id) { case -2: switch(Status) { case -1: return _this.justReleased.get_ANY(); case 0: return _this.released.get_ANY(); case 1: return _this.pressed.get_ANY(); case 2: return _this.justPressed.get_ANY(); } break; case -1: switch(Status) { case -1: return _this.justReleased.get_NONE(); case 0: return _this.released.get_NONE(); case 1: return _this.pressed.get_NONE(); case 2: return _this.justPressed.get_NONE(); } break; default: var rawID = _this.mapping.getRawID(id); var button = _this.buttons[rawID]; if(button == null) { return false; } else { var value = button.current; switch(Status) { case -1: return value == -1; case 0: return value == 0; case 1: return value == 1; case 2: return value == 2; } } } } ,checkRaw: function(id) { return this.gamepad.checkStatusRaw(id,this.status); } ,get_ANY: function() { var _g = 0; var _g1 = this.gamepad.buttons; while(_g < _g1.length) { var button = _g1[_g]; ++_g; if(button != null && this.gamepad.checkStatusRaw(button.ID,this.status)) { return true; } } return false; } ,get_ALL: function() { var _g = 0; var _g1 = this.gamepad.buttons; while(_g < _g1.length) { var button = _g1[_g]; ++_g; if(button != null && !this.gamepad.checkStatusRaw(button.ID,this.status)) { return false; } } return true; } ,get_NONE: function() { var _g = 0; var _g1 = this.gamepad.buttons; while(_g < _g1.length) { var button = _g1[_g]; ++_g; if(button != null && this.gamepad.checkStatusRaw(button.ID,this.status)) { return false; } } return true; } ,__class__: flixel_input_gamepad_lists_FlxBaseGamepadList ,__properties__: {get_NONE:"get_NONE",get_ALL:"get_ALL",get_ANY:"get_ANY"} }; var flixel_input_gamepad_lists_FlxGamepadAnalogList = function(gamepad) { this.value = new flixel_input_gamepad_lists_FlxGamepadAnalogValueList(gamepad); this.justMoved = new flixel_input_gamepad_lists_FlxGamepadAnalogStateList(2,gamepad); this.justReleased = new flixel_input_gamepad_lists_FlxGamepadAnalogStateList(-1,gamepad); }; $hxClasses["flixel.input.gamepad.lists.FlxGamepadAnalogList"] = flixel_input_gamepad_lists_FlxGamepadAnalogList; flixel_input_gamepad_lists_FlxGamepadAnalogList.__name__ = ["flixel","input","gamepad","lists","FlxGamepadAnalogList"]; flixel_input_gamepad_lists_FlxGamepadAnalogList.prototype = { value: null ,justMoved: null ,justReleased: null ,__class__: flixel_input_gamepad_lists_FlxGamepadAnalogList }; var flixel_input_gamepad_lists_FlxGamepadAnalogStateList = function(status,gamepad) { this.status = status; this.gamepad = gamepad; }; $hxClasses["flixel.input.gamepad.lists.FlxGamepadAnalogStateList"] = flixel_input_gamepad_lists_FlxGamepadAnalogStateList; flixel_input_gamepad_lists_FlxGamepadAnalogStateList.__name__ = ["flixel","input","gamepad","lists","FlxGamepadAnalogStateList"]; flixel_input_gamepad_lists_FlxGamepadAnalogStateList.prototype = { gamepad: null ,status: null ,get_LEFT_STICK: function() { return this.checkXY(19); } ,get_LEFT_STICK_X: function() { var stick = this.gamepad.mapping.getAnalogStick(19); if(stick == null) { return false; } else { return this.gamepad.checkStatusRaw(stick.x,this.status); } } ,get_LEFT_STICK_Y: function() { var stick = this.gamepad.mapping.getAnalogStick(19); if(stick == null) { return false; } else { return this.gamepad.checkStatusRaw(stick.y,this.status); } } ,get_RIGHT_STICK: function() { return this.checkXY(20); } ,get_RIGHT_STICK_X: function() { var stick = this.gamepad.mapping.getAnalogStick(20); if(stick == null) { return false; } else { return this.gamepad.checkStatusRaw(stick.x,this.status); } } ,get_RIGHT_STICK_Y: function() { var stick = this.gamepad.mapping.getAnalogStick(20); if(stick == null) { return false; } else { return this.gamepad.checkStatusRaw(stick.y,this.status); } } ,checkXY: function(id) { var stick = this.gamepad.mapping.getAnalogStick(id); if(stick == null) { return false; } var xVal = this.gamepad.checkStatusRaw(stick.x,this.status); var yVal = this.gamepad.checkStatusRaw(stick.y,this.status); if(xVal && yVal) { return true; } if(xVal) { var yReleased = this.gamepad.checkStatusRaw(stick.y,0); var yJustReleased = this.gamepad.checkStatusRaw(stick.y,-1); if(yReleased || yJustReleased) { return true; } } if(yVal) { var xReleased = this.gamepad.checkStatusRaw(stick.x,0); var xJustReleased = this.gamepad.checkStatusRaw(stick.x,-1); if(xReleased || xJustReleased) { return true; } } return false; } ,checkX: function(id) { var stick = this.gamepad.mapping.getAnalogStick(id); if(stick == null) { return false; } return this.gamepad.checkStatusRaw(stick.x,this.status); } ,checkY: function(id) { var stick = this.gamepad.mapping.getAnalogStick(id); if(stick == null) { return false; } return this.gamepad.checkStatusRaw(stick.y,this.status); } ,checkRaw: function(RawID,Status) { return this.gamepad.checkStatusRaw(RawID,Status); } ,__class__: flixel_input_gamepad_lists_FlxGamepadAnalogStateList ,__properties__: {get_RIGHT_STICK_Y:"get_RIGHT_STICK_Y",get_RIGHT_STICK_X:"get_RIGHT_STICK_X",get_RIGHT_STICK:"get_RIGHT_STICK",get_LEFT_STICK_Y:"get_LEFT_STICK_Y",get_LEFT_STICK_X:"get_LEFT_STICK_X",get_LEFT_STICK:"get_LEFT_STICK"} }; var flixel_input_gamepad_lists_FlxGamepadAnalogValueList = function(gamepad) { this.gamepad = gamepad; }; $hxClasses["flixel.input.gamepad.lists.FlxGamepadAnalogValueList"] = flixel_input_gamepad_lists_FlxGamepadAnalogValueList; flixel_input_gamepad_lists_FlxGamepadAnalogValueList.__name__ = ["flixel","input","gamepad","lists","FlxGamepadAnalogValueList"]; flixel_input_gamepad_lists_FlxGamepadAnalogValueList.prototype = { gamepad: null ,get_LEFT_STICK_X: function() { var _this = this.gamepad; return _this.getAnalogXAxisValue(_this.mapping.getAnalogStick(19)); } ,get_LEFT_STICK_Y: function() { var _this = this.gamepad; return _this.getYAxisRaw(_this.mapping.getAnalogStick(19)); } ,get_RIGHT_STICK_X: function() { var _this = this.gamepad; return _this.getAnalogXAxisValue(_this.mapping.getAnalogStick(20)); } ,get_RIGHT_STICK_Y: function() { var _this = this.gamepad; return _this.getYAxisRaw(_this.mapping.getAnalogStick(20)); } ,get_LEFT_TRIGGER: function() { return this.gamepad.getAxis(17); } ,get_RIGHT_TRIGGER: function() { return this.gamepad.getAxis(18); } ,get_POINTER_X: function() { return this.gamepad.getAxis(28); } ,get_POINTER_Y: function() { return this.gamepad.getAxis(29); } ,getAxis: function(id) { return this.gamepad.getAxis(id); } ,getXAxis: function(id) { var _this = this.gamepad; return _this.getAnalogXAxisValue(_this.mapping.getAnalogStick(id)); } ,getYAxis: function(id) { var _this = this.gamepad; return _this.getYAxisRaw(_this.mapping.getAnalogStick(id)); } ,__class__: flixel_input_gamepad_lists_FlxGamepadAnalogValueList ,__properties__: {get_POINTER_Y:"get_POINTER_Y",get_POINTER_X:"get_POINTER_X",get_RIGHT_TRIGGER:"get_RIGHT_TRIGGER",get_LEFT_TRIGGER:"get_LEFT_TRIGGER",get_RIGHT_STICK_Y:"get_RIGHT_STICK_Y",get_RIGHT_STICK_X:"get_RIGHT_STICK_X",get_LEFT_STICK_Y:"get_LEFT_STICK_Y",get_LEFT_STICK_X:"get_LEFT_STICK_X"} }; var flixel_input_gamepad_lists_FlxGamepadButtonList = function(status,gamepad) { flixel_input_gamepad_lists_FlxBaseGamepadList.call(this,status,gamepad); }; $hxClasses["flixel.input.gamepad.lists.FlxGamepadButtonList"] = flixel_input_gamepad_lists_FlxGamepadButtonList; flixel_input_gamepad_lists_FlxGamepadButtonList.__name__ = ["flixel","input","gamepad","lists","FlxGamepadButtonList"]; flixel_input_gamepad_lists_FlxGamepadButtonList.__super__ = flixel_input_gamepad_lists_FlxBaseGamepadList; flixel_input_gamepad_lists_FlxGamepadButtonList.prototype = $extend(flixel_input_gamepad_lists_FlxBaseGamepadList.prototype,{ get_A: function() { var id = 0; var _this = this.gamepad; var Status = this.status; switch(id) { case -2: switch(Status) { case -1: return _this.justReleased.get_ANY(); case 0: return _this.released.get_ANY(); case 1: return _this.pressed.get_ANY(); case 2: return _this.justPressed.get_ANY(); } break; case -1: switch(Status) { case -1: return _this.justReleased.get_NONE(); case 0: return _this.released.get_NONE(); case 1: return _this.pressed.get_NONE(); case 2: return _this.justPressed.get_NONE(); } break; default: var rawID = _this.mapping.getRawID(id); var button = _this.buttons[rawID]; if(button == null) { return false; } else { var value = button.current; switch(Status) { case -1: return value == -1; case 0: return value == 0; case 1: return value == 1; case 2: return value == 2; } } } } ,get_B: function() { var id = 1; var _this = this.gamepad; var Status = this.status; switch(id) { case -2: switch(Status) { case -1: return _this.justReleased.get_ANY(); case 0: return _this.released.get_ANY(); case 1: return _this.pressed.get_ANY(); case 2: return _this.justPressed.get_ANY(); } break; case -1: switch(Status) { case -1: return _this.justReleased.get_NONE(); case 0: return _this.released.get_NONE(); case 1: return _this.pressed.get_NONE(); case 2: return _this.justPressed.get_NONE(); } break; default: var rawID = _this.mapping.getRawID(id); var button = _this.buttons[rawID]; if(button == null) { return false; } else { var value = button.current; switch(Status) { case -1: return value == -1; case 0: return value == 0; case 1: return value == 1; case 2: return value == 2; } } } } ,get_X: function() { var id = 2; var _this = this.gamepad; var Status = this.status; switch(id) { case -2: switch(Status) { case -1: return _this.justReleased.get_ANY(); case 0: return _this.released.get_ANY(); case 1: return _this.pressed.get_ANY(); case 2: return _this.justPressed.get_ANY(); } break; case -1: switch(Status) { case -1: return _this.justReleased.get_NONE(); case 0: return _this.released.get_NONE(); case 1: return _this.pressed.get_NONE(); case 2: return _this.justPressed.get_NONE(); } break; default: var rawID = _this.mapping.getRawID(id); var button = _this.buttons[rawID]; if(button == null) { return false; } else { var value = button.current; switch(Status) { case -1: return value == -1; case 0: return value == 0; case 1: return value == 1; case 2: return value == 2; } } } } ,get_Y: function() { var id = 3; var _this = this.gamepad; var Status = this.status; switch(id) { case -2: switch(Status) { case -1: return _this.justReleased.get_ANY(); case 0: return _this.released.get_ANY(); case 1: return _this.pressed.get_ANY(); case 2: return _this.justPressed.get_ANY(); } break; case -1: switch(Status) { case -1: return _this.justReleased.get_NONE(); case 0: return _this.released.get_NONE(); case 1: return _this.pressed.get_NONE(); case 2: return _this.justPressed.get_NONE(); } break; default: var rawID = _this.mapping.getRawID(id); var button = _this.buttons[rawID]; if(button == null) { return false; } else { var value = button.current; switch(Status) { case -1: return value == -1; case 0: return value == 0; case 1: return value == 1; case 2: return value == 2; } } } } ,get_LEFT_SHOULDER: function() { var id = 4; var _this = this.gamepad; var Status = this.status; switch(id) { case -2: switch(Status) { case -1: return _this.justReleased.get_ANY(); case 0: return _this.released.get_ANY(); case 1: return _this.pressed.get_ANY(); case 2: return _this.justPressed.get_ANY(); } break; case -1: switch(Status) { case -1: return _this.justReleased.get_NONE(); case 0: return _this.released.get_NONE(); case 1: return _this.pressed.get_NONE(); case 2: return _this.justPressed.get_NONE(); } break; default: var rawID = _this.mapping.getRawID(id); var button = _this.buttons[rawID]; if(button == null) { return false; } else { var value = button.current; switch(Status) { case -1: return value == -1; case 0: return value == 0; case 1: return value == 1; case 2: return value == 2; } } } } ,get_RIGHT_SHOULDER: function() { var id = 5; var _this = this.gamepad; var Status = this.status; switch(id) { case -2: switch(Status) { case -1: return _this.justReleased.get_ANY(); case 0: return _this.released.get_ANY(); case 1: return _this.pressed.get_ANY(); case 2: return _this.justPressed.get_ANY(); } break; case -1: switch(Status) { case -1: return _this.justReleased.get_NONE(); case 0: return _this.released.get_NONE(); case 1: return _this.pressed.get_NONE(); case 2: return _this.justPressed.get_NONE(); } break; default: var rawID = _this.mapping.getRawID(id); var button = _this.buttons[rawID]; if(button == null) { return false; } else { var value = button.current; switch(Status) { case -1: return value == -1; case 0: return value == 0; case 1: return value == 1; case 2: return value == 2; } } } } ,get_BACK: function() { var id = 6; var _this = this.gamepad; var Status = this.status; switch(id) { case -2: switch(Status) { case -1: return _this.justReleased.get_ANY(); case 0: return _this.released.get_ANY(); case 1: return _this.pressed.get_ANY(); case 2: return _this.justPressed.get_ANY(); } break; case -1: switch(Status) { case -1: return _this.justReleased.get_NONE(); case 0: return _this.released.get_NONE(); case 1: return _this.pressed.get_NONE(); case 2: return _this.justPressed.get_NONE(); } break; default: var rawID = _this.mapping.getRawID(id); var button = _this.buttons[rawID]; if(button == null) { return false; } else { var value = button.current; switch(Status) { case -1: return value == -1; case 0: return value == 0; case 1: return value == 1; case 2: return value == 2; } } } } ,get_START: function() { var id = 7; var _this = this.gamepad; var Status = this.status; switch(id) { case -2: switch(Status) { case -1: return _this.justReleased.get_ANY(); case 0: return _this.released.get_ANY(); case 1: return _this.pressed.get_ANY(); case 2: return _this.justPressed.get_ANY(); } break; case -1: switch(Status) { case -1: return _this.justReleased.get_NONE(); case 0: return _this.released.get_NONE(); case 1: return _this.pressed.get_NONE(); case 2: return _this.justPressed.get_NONE(); } break; default: var rawID = _this.mapping.getRawID(id); var button = _this.buttons[rawID]; if(button == null) { return false; } else { var value = button.current; switch(Status) { case -1: return value == -1; case 0: return value == 0; case 1: return value == 1; case 2: return value == 2; } } } } ,get_LEFT_STICK_CLICK: function() { var id = 8; var _this = this.gamepad; var Status = this.status; switch(id) { case -2: switch(Status) { case -1: return _this.justReleased.get_ANY(); case 0: return _this.released.get_ANY(); case 1: return _this.pressed.get_ANY(); case 2: return _this.justPressed.get_ANY(); } break; case -1: switch(Status) { case -1: return _this.justReleased.get_NONE(); case 0: return _this.released.get_NONE(); case 1: return _this.pressed.get_NONE(); case 2: return _this.justPressed.get_NONE(); } break; default: var rawID = _this.mapping.getRawID(id); var button = _this.buttons[rawID]; if(button == null) { return false; } else { var value = button.current; switch(Status) { case -1: return value == -1; case 0: return value == 0; case 1: return value == 1; case 2: return value == 2; } } } } ,get_RIGHT_STICK_CLICK: function() { var id = 9; var _this = this.gamepad; var Status = this.status; switch(id) { case -2: switch(Status) { case -1: return _this.justReleased.get_ANY(); case 0: return _this.released.get_ANY(); case 1: return _this.pressed.get_ANY(); case 2: return _this.justPressed.get_ANY(); } break; case -1: switch(Status) { case -1: return _this.justReleased.get_NONE(); case 0: return _this.released.get_NONE(); case 1: return _this.pressed.get_NONE(); case 2: return _this.justPressed.get_NONE(); } break; default: var rawID = _this.mapping.getRawID(id); var button = _this.buttons[rawID]; if(button == null) { return false; } else { var value = button.current; switch(Status) { case -1: return value == -1; case 0: return value == 0; case 1: return value == 1; case 2: return value == 2; } } } } ,get_GUIDE: function() { var id = 10; var _this = this.gamepad; var Status = this.status; switch(id) { case -2: switch(Status) { case -1: return _this.justReleased.get_ANY(); case 0: return _this.released.get_ANY(); case 1: return _this.pressed.get_ANY(); case 2: return _this.justPressed.get_ANY(); } break; case -1: switch(Status) { case -1: return _this.justReleased.get_NONE(); case 0: return _this.released.get_NONE(); case 1: return _this.pressed.get_NONE(); case 2: return _this.justPressed.get_NONE(); } break; default: var rawID = _this.mapping.getRawID(id); var button = _this.buttons[rawID]; if(button == null) { return false; } else { var value = button.current; switch(Status) { case -1: return value == -1; case 0: return value == 0; case 1: return value == 1; case 2: return value == 2; } } } } ,get_DPAD_UP: function() { var id = 11; var _this = this.gamepad; var Status = this.status; switch(id) { case -2: switch(Status) { case -1: return _this.justReleased.get_ANY(); case 0: return _this.released.get_ANY(); case 1: return _this.pressed.get_ANY(); case 2: return _this.justPressed.get_ANY(); } break; case -1: switch(Status) { case -1: return _this.justReleased.get_NONE(); case 0: return _this.released.get_NONE(); case 1: return _this.pressed.get_NONE(); case 2: return _this.justPressed.get_NONE(); } break; default: var rawID = _this.mapping.getRawID(id); var button = _this.buttons[rawID]; if(button == null) { return false; } else { var value = button.current; switch(Status) { case -1: return value == -1; case 0: return value == 0; case 1: return value == 1; case 2: return value == 2; } } } } ,get_DPAD_DOWN: function() { var id = 12; var _this = this.gamepad; var Status = this.status; switch(id) { case -2: switch(Status) { case -1: return _this.justReleased.get_ANY(); case 0: return _this.released.get_ANY(); case 1: return _this.pressed.get_ANY(); case 2: return _this.justPressed.get_ANY(); } break; case -1: switch(Status) { case -1: return _this.justReleased.get_NONE(); case 0: return _this.released.get_NONE(); case 1: return _this.pressed.get_NONE(); case 2: return _this.justPressed.get_NONE(); } break; default: var rawID = _this.mapping.getRawID(id); var button = _this.buttons[rawID]; if(button == null) { return false; } else { var value = button.current; switch(Status) { case -1: return value == -1; case 0: return value == 0; case 1: return value == 1; case 2: return value == 2; } } } } ,get_DPAD_LEFT: function() { var id = 13; var _this = this.gamepad; var Status = this.status; switch(id) { case -2: switch(Status) { case -1: return _this.justReleased.get_ANY(); case 0: return _this.released.get_ANY(); case 1: return _this.pressed.get_ANY(); case 2: return _this.justPressed.get_ANY(); } break; case -1: switch(Status) { case -1: return _this.justReleased.get_NONE(); case 0: return _this.released.get_NONE(); case 1: return _this.pressed.get_NONE(); case 2: return _this.justPressed.get_NONE(); } break; default: var rawID = _this.mapping.getRawID(id); var button = _this.buttons[rawID]; if(button == null) { return false; } else { var value = button.current; switch(Status) { case -1: return value == -1; case 0: return value == 0; case 1: return value == 1; case 2: return value == 2; } } } } ,get_DPAD_RIGHT: function() { var id = 14; var _this = this.gamepad; var Status = this.status; switch(id) { case -2: switch(Status) { case -1: return _this.justReleased.get_ANY(); case 0: return _this.released.get_ANY(); case 1: return _this.pressed.get_ANY(); case 2: return _this.justPressed.get_ANY(); } break; case -1: switch(Status) { case -1: return _this.justReleased.get_NONE(); case 0: return _this.released.get_NONE(); case 1: return _this.pressed.get_NONE(); case 2: return _this.justPressed.get_NONE(); } break; default: var rawID = _this.mapping.getRawID(id); var button = _this.buttons[rawID]; if(button == null) { return false; } else { var value = button.current; switch(Status) { case -1: return value == -1; case 0: return value == 0; case 1: return value == 1; case 2: return value == 2; } } } } ,get_LEFT_TRIGGER_BUTTON: function() { var id = 15; var _this = this.gamepad; var Status = this.status; switch(id) { case -2: switch(Status) { case -1: return _this.justReleased.get_ANY(); case 0: return _this.released.get_ANY(); case 1: return _this.pressed.get_ANY(); case 2: return _this.justPressed.get_ANY(); } break; case -1: switch(Status) { case -1: return _this.justReleased.get_NONE(); case 0: return _this.released.get_NONE(); case 1: return _this.pressed.get_NONE(); case 2: return _this.justPressed.get_NONE(); } break; default: var rawID = _this.mapping.getRawID(id); var button = _this.buttons[rawID]; if(button == null) { return false; } else { var value = button.current; switch(Status) { case -1: return value == -1; case 0: return value == 0; case 1: return value == 1; case 2: return value == 2; } } } } ,get_RIGHT_TRIGGER_BUTTON: function() { var id = 16; var _this = this.gamepad; var Status = this.status; switch(id) { case -2: switch(Status) { case -1: return _this.justReleased.get_ANY(); case 0: return _this.released.get_ANY(); case 1: return _this.pressed.get_ANY(); case 2: return _this.justPressed.get_ANY(); } break; case -1: switch(Status) { case -1: return _this.justReleased.get_NONE(); case 0: return _this.released.get_NONE(); case 1: return _this.pressed.get_NONE(); case 2: return _this.justPressed.get_NONE(); } break; default: var rawID = _this.mapping.getRawID(id); var button = _this.buttons[rawID]; if(button == null) { return false; } else { var value = button.current; switch(Status) { case -1: return value == -1; case 0: return value == 0; case 1: return value == 1; case 2: return value == 2; } } } } ,get_LEFT_TRIGGER: function() { var id = 17; var _this = this.gamepad; var Status = this.status; switch(id) { case -2: switch(Status) { case -1: return _this.justReleased.get_ANY(); case 0: return _this.released.get_ANY(); case 1: return _this.pressed.get_ANY(); case 2: return _this.justPressed.get_ANY(); } break; case -1: switch(Status) { case -1: return _this.justReleased.get_NONE(); case 0: return _this.released.get_NONE(); case 1: return _this.pressed.get_NONE(); case 2: return _this.justPressed.get_NONE(); } break; default: var rawID = _this.mapping.getRawID(id); var button = _this.buttons[rawID]; if(button == null) { return false; } else { var value = button.current; switch(Status) { case -1: return value == -1; case 0: return value == 0; case 1: return value == 1; case 2: return value == 2; } } } } ,get_RIGHT_TRIGGER: function() { var id = 18; var _this = this.gamepad; var Status = this.status; switch(id) { case -2: switch(Status) { case -1: return _this.justReleased.get_ANY(); case 0: return _this.released.get_ANY(); case 1: return _this.pressed.get_ANY(); case 2: return _this.justPressed.get_ANY(); } break; case -1: switch(Status) { case -1: return _this.justReleased.get_NONE(); case 0: return _this.released.get_NONE(); case 1: return _this.pressed.get_NONE(); case 2: return _this.justPressed.get_NONE(); } break; default: var rawID = _this.mapping.getRawID(id); var button = _this.buttons[rawID]; if(button == null) { return false; } else { var value = button.current; switch(Status) { case -1: return value == -1; case 0: return value == 0; case 1: return value == 1; case 2: return value == 2; } } } } ,get_LEFT_ANALOG_STICK: function() { var id = 19; var _this = this.gamepad; var Status = this.status; switch(id) { case -2: switch(Status) { case -1: return _this.justReleased.get_ANY(); case 0: return _this.released.get_ANY(); case 1: return _this.pressed.get_ANY(); case 2: return _this.justPressed.get_ANY(); } break; case -1: switch(Status) { case -1: return _this.justReleased.get_NONE(); case 0: return _this.released.get_NONE(); case 1: return _this.pressed.get_NONE(); case 2: return _this.justPressed.get_NONE(); } break; default: var rawID = _this.mapping.getRawID(id); var button = _this.buttons[rawID]; if(button == null) { return false; } else { var value = button.current; switch(Status) { case -1: return value == -1; case 0: return value == 0; case 1: return value == 1; case 2: return value == 2; } } } } ,get_RIGHT_ANALOG_STICK: function() { var id = 20; var _this = this.gamepad; var Status = this.status; switch(id) { case -2: switch(Status) { case -1: return _this.justReleased.get_ANY(); case 0: return _this.released.get_ANY(); case 1: return _this.pressed.get_ANY(); case 2: return _this.justPressed.get_ANY(); } break; case -1: switch(Status) { case -1: return _this.justReleased.get_NONE(); case 0: return _this.released.get_NONE(); case 1: return _this.pressed.get_NONE(); case 2: return _this.justPressed.get_NONE(); } break; default: var rawID = _this.mapping.getRawID(id); var button = _this.buttons[rawID]; if(button == null) { return false; } else { var value = button.current; switch(Status) { case -1: return value == -1; case 0: return value == 0; case 1: return value == 1; case 2: return value == 2; } } } } ,get_DPAD: function() { var id = 21; var _this = this.gamepad; var Status = this.status; switch(id) { case -2: switch(Status) { case -1: return _this.justReleased.get_ANY(); case 0: return _this.released.get_ANY(); case 1: return _this.pressed.get_ANY(); case 2: return _this.justPressed.get_ANY(); } break; case -1: switch(Status) { case -1: return _this.justReleased.get_NONE(); case 0: return _this.released.get_NONE(); case 1: return _this.pressed.get_NONE(); case 2: return _this.justPressed.get_NONE(); } break; default: var rawID = _this.mapping.getRawID(id); var button = _this.buttons[rawID]; if(button == null) { return false; } else { var value = button.current; switch(Status) { case -1: return value == -1; case 0: return value == 0; case 1: return value == 1; case 2: return value == 2; } } } } ,get_TILT_PITCH: function() { var id = 26; var _this = this.gamepad; var Status = this.status; switch(id) { case -2: switch(Status) { case -1: return _this.justReleased.get_ANY(); case 0: return _this.released.get_ANY(); case 1: return _this.pressed.get_ANY(); case 2: return _this.justPressed.get_ANY(); } break; case -1: switch(Status) { case -1: return _this.justReleased.get_NONE(); case 0: return _this.released.get_NONE(); case 1: return _this.pressed.get_NONE(); case 2: return _this.justPressed.get_NONE(); } break; default: var rawID = _this.mapping.getRawID(id); var button = _this.buttons[rawID]; if(button == null) { return false; } else { var value = button.current; switch(Status) { case -1: return value == -1; case 0: return value == 0; case 1: return value == 1; case 2: return value == 2; } } } } ,get_TILT_ROLL: function() { var id = 27; var _this = this.gamepad; var Status = this.status; switch(id) { case -2: switch(Status) { case -1: return _this.justReleased.get_ANY(); case 0: return _this.released.get_ANY(); case 1: return _this.pressed.get_ANY(); case 2: return _this.justPressed.get_ANY(); } break; case -1: switch(Status) { case -1: return _this.justReleased.get_NONE(); case 0: return _this.released.get_NONE(); case 1: return _this.pressed.get_NONE(); case 2: return _this.justPressed.get_NONE(); } break; default: var rawID = _this.mapping.getRawID(id); var button = _this.buttons[rawID]; if(button == null) { return false; } else { var value = button.current; switch(Status) { case -1: return value == -1; case 0: return value == 0; case 1: return value == 1; case 2: return value == 2; } } } } ,get_POINTER_X: function() { var id = 28; var _this = this.gamepad; var Status = this.status; switch(id) { case -2: switch(Status) { case -1: return _this.justReleased.get_ANY(); case 0: return _this.released.get_ANY(); case 1: return _this.pressed.get_ANY(); case 2: return _this.justPressed.get_ANY(); } break; case -1: switch(Status) { case -1: return _this.justReleased.get_NONE(); case 0: return _this.released.get_NONE(); case 1: return _this.pressed.get_NONE(); case 2: return _this.justPressed.get_NONE(); } break; default: var rawID = _this.mapping.getRawID(id); var button = _this.buttons[rawID]; if(button == null) { return false; } else { var value = button.current; switch(Status) { case -1: return value == -1; case 0: return value == 0; case 1: return value == 1; case 2: return value == 2; } } } } ,get_POINTER_Y: function() { var id = 29; var _this = this.gamepad; var Status = this.status; switch(id) { case -2: switch(Status) { case -1: return _this.justReleased.get_ANY(); case 0: return _this.released.get_ANY(); case 1: return _this.pressed.get_ANY(); case 2: return _this.justPressed.get_ANY(); } break; case -1: switch(Status) { case -1: return _this.justReleased.get_NONE(); case 0: return _this.released.get_NONE(); case 1: return _this.pressed.get_NONE(); case 2: return _this.justPressed.get_NONE(); } break; default: var rawID = _this.mapping.getRawID(id); var button = _this.buttons[rawID]; if(button == null) { return false; } else { var value = button.current; switch(Status) { case -1: return value == -1; case 0: return value == 0; case 1: return value == 1; case 2: return value == 2; } } } } ,get_EXTRA_0: function() { var id = 30; var _this = this.gamepad; var Status = this.status; switch(id) { case -2: switch(Status) { case -1: return _this.justReleased.get_ANY(); case 0: return _this.released.get_ANY(); case 1: return _this.pressed.get_ANY(); case 2: return _this.justPressed.get_ANY(); } break; case -1: switch(Status) { case -1: return _this.justReleased.get_NONE(); case 0: return _this.released.get_NONE(); case 1: return _this.pressed.get_NONE(); case 2: return _this.justPressed.get_NONE(); } break; default: var rawID = _this.mapping.getRawID(id); var button = _this.buttons[rawID]; if(button == null) { return false; } else { var value = button.current; switch(Status) { case -1: return value == -1; case 0: return value == 0; case 1: return value == 1; case 2: return value == 2; } } } } ,get_EXTRA_1: function() { var id = 31; var _this = this.gamepad; var Status = this.status; switch(id) { case -2: switch(Status) { case -1: return _this.justReleased.get_ANY(); case 0: return _this.released.get_ANY(); case 1: return _this.pressed.get_ANY(); case 2: return _this.justPressed.get_ANY(); } break; case -1: switch(Status) { case -1: return _this.justReleased.get_NONE(); case 0: return _this.released.get_NONE(); case 1: return _this.pressed.get_NONE(); case 2: return _this.justPressed.get_NONE(); } break; default: var rawID = _this.mapping.getRawID(id); var button = _this.buttons[rawID]; if(button == null) { return false; } else { var value = button.current; switch(Status) { case -1: return value == -1; case 0: return value == 0; case 1: return value == 1; case 2: return value == 2; } } } } ,get_EXTRA_2: function() { var id = 32; var _this = this.gamepad; var Status = this.status; switch(id) { case -2: switch(Status) { case -1: return _this.justReleased.get_ANY(); case 0: return _this.released.get_ANY(); case 1: return _this.pressed.get_ANY(); case 2: return _this.justPressed.get_ANY(); } break; case -1: switch(Status) { case -1: return _this.justReleased.get_NONE(); case 0: return _this.released.get_NONE(); case 1: return _this.pressed.get_NONE(); case 2: return _this.justPressed.get_NONE(); } break; default: var rawID = _this.mapping.getRawID(id); var button = _this.buttons[rawID]; if(button == null) { return false; } else { var value = button.current; switch(Status) { case -1: return value == -1; case 0: return value == 0; case 1: return value == 1; case 2: return value == 2; } } } } ,get_EXTRA_3: function() { var id = 33; var _this = this.gamepad; var Status = this.status; switch(id) { case -2: switch(Status) { case -1: return _this.justReleased.get_ANY(); case 0: return _this.released.get_ANY(); case 1: return _this.pressed.get_ANY(); case 2: return _this.justPressed.get_ANY(); } break; case -1: switch(Status) { case -1: return _this.justReleased.get_NONE(); case 0: return _this.released.get_NONE(); case 1: return _this.pressed.get_NONE(); case 2: return _this.justPressed.get_NONE(); } break; default: var rawID = _this.mapping.getRawID(id); var button = _this.buttons[rawID]; if(button == null) { return false; } else { var value = button.current; switch(Status) { case -1: return value == -1; case 0: return value == 0; case 1: return value == 1; case 2: return value == 2; } } } } ,get_LEFT_STICK_DIGITAL_UP: function() { var id = 34; var _this = this.gamepad; var Status = this.status; switch(id) { case -2: switch(Status) { case -1: return _this.justReleased.get_ANY(); case 0: return _this.released.get_ANY(); case 1: return _this.pressed.get_ANY(); case 2: return _this.justPressed.get_ANY(); } break; case -1: switch(Status) { case -1: return _this.justReleased.get_NONE(); case 0: return _this.released.get_NONE(); case 1: return _this.pressed.get_NONE(); case 2: return _this.justPressed.get_NONE(); } break; default: var rawID = _this.mapping.getRawID(id); var button = _this.buttons[rawID]; if(button == null) { return false; } else { var value = button.current; switch(Status) { case -1: return value == -1; case 0: return value == 0; case 1: return value == 1; case 2: return value == 2; } } } } ,get_LEFT_STICK_DIGITAL_RIGHT: function() { var id = 35; var _this = this.gamepad; var Status = this.status; switch(id) { case -2: switch(Status) { case -1: return _this.justReleased.get_ANY(); case 0: return _this.released.get_ANY(); case 1: return _this.pressed.get_ANY(); case 2: return _this.justPressed.get_ANY(); } break; case -1: switch(Status) { case -1: return _this.justReleased.get_NONE(); case 0: return _this.released.get_NONE(); case 1: return _this.pressed.get_NONE(); case 2: return _this.justPressed.get_NONE(); } break; default: var rawID = _this.mapping.getRawID(id); var button = _this.buttons[rawID]; if(button == null) { return false; } else { var value = button.current; switch(Status) { case -1: return value == -1; case 0: return value == 0; case 1: return value == 1; case 2: return value == 2; } } } } ,get_LEFT_STICK_DIGITAL_DOWN: function() { var id = 36; var _this = this.gamepad; var Status = this.status; switch(id) { case -2: switch(Status) { case -1: return _this.justReleased.get_ANY(); case 0: return _this.released.get_ANY(); case 1: return _this.pressed.get_ANY(); case 2: return _this.justPressed.get_ANY(); } break; case -1: switch(Status) { case -1: return _this.justReleased.get_NONE(); case 0: return _this.released.get_NONE(); case 1: return _this.pressed.get_NONE(); case 2: return _this.justPressed.get_NONE(); } break; default: var rawID = _this.mapping.getRawID(id); var button = _this.buttons[rawID]; if(button == null) { return false; } else { var value = button.current; switch(Status) { case -1: return value == -1; case 0: return value == 0; case 1: return value == 1; case 2: return value == 2; } } } } ,get_LEFT_STICK_DIGITAL_LEFT: function() { var id = 37; var _this = this.gamepad; var Status = this.status; switch(id) { case -2: switch(Status) { case -1: return _this.justReleased.get_ANY(); case 0: return _this.released.get_ANY(); case 1: return _this.pressed.get_ANY(); case 2: return _this.justPressed.get_ANY(); } break; case -1: switch(Status) { case -1: return _this.justReleased.get_NONE(); case 0: return _this.released.get_NONE(); case 1: return _this.pressed.get_NONE(); case 2: return _this.justPressed.get_NONE(); } break; default: var rawID = _this.mapping.getRawID(id); var button = _this.buttons[rawID]; if(button == null) { return false; } else { var value = button.current; switch(Status) { case -1: return value == -1; case 0: return value == 0; case 1: return value == 1; case 2: return value == 2; } } } } ,get_RIGHT_STICK_DIGITAL_UP: function() { var id = 38; var _this = this.gamepad; var Status = this.status; switch(id) { case -2: switch(Status) { case -1: return _this.justReleased.get_ANY(); case 0: return _this.released.get_ANY(); case 1: return _this.pressed.get_ANY(); case 2: return _this.justPressed.get_ANY(); } break; case -1: switch(Status) { case -1: return _this.justReleased.get_NONE(); case 0: return _this.released.get_NONE(); case 1: return _this.pressed.get_NONE(); case 2: return _this.justPressed.get_NONE(); } break; default: var rawID = _this.mapping.getRawID(id); var button = _this.buttons[rawID]; if(button == null) { return false; } else { var value = button.current; switch(Status) { case -1: return value == -1; case 0: return value == 0; case 1: return value == 1; case 2: return value == 2; } } } } ,get_RIGHT_STICK_DIGITAL_RIGHT: function() { var id = 39; var _this = this.gamepad; var Status = this.status; switch(id) { case -2: switch(Status) { case -1: return _this.justReleased.get_ANY(); case 0: return _this.released.get_ANY(); case 1: return _this.pressed.get_ANY(); case 2: return _this.justPressed.get_ANY(); } break; case -1: switch(Status) { case -1: return _this.justReleased.get_NONE(); case 0: return _this.released.get_NONE(); case 1: return _this.pressed.get_NONE(); case 2: return _this.justPressed.get_NONE(); } break; default: var rawID = _this.mapping.getRawID(id); var button = _this.buttons[rawID]; if(button == null) { return false; } else { var value = button.current; switch(Status) { case -1: return value == -1; case 0: return value == 0; case 1: return value == 1; case 2: return value == 2; } } } } ,get_RIGHT_STICK_DIGITAL_DOWN: function() { var id = 40; var _this = this.gamepad; var Status = this.status; switch(id) { case -2: switch(Status) { case -1: return _this.justReleased.get_ANY(); case 0: return _this.released.get_ANY(); case 1: return _this.pressed.get_ANY(); case 2: return _this.justPressed.get_ANY(); } break; case -1: switch(Status) { case -1: return _this.justReleased.get_NONE(); case 0: return _this.released.get_NONE(); case 1: return _this.pressed.get_NONE(); case 2: return _this.justPressed.get_NONE(); } break; default: var rawID = _this.mapping.getRawID(id); var button = _this.buttons[rawID]; if(button == null) { return false; } else { var value = button.current; switch(Status) { case -1: return value == -1; case 0: return value == 0; case 1: return value == 1; case 2: return value == 2; } } } } ,get_RIGHT_STICK_DIGITAL_LEFT: function() { var id = 41; var _this = this.gamepad; var Status = this.status; switch(id) { case -2: switch(Status) { case -1: return _this.justReleased.get_ANY(); case 0: return _this.released.get_ANY(); case 1: return _this.pressed.get_ANY(); case 2: return _this.justPressed.get_ANY(); } break; case -1: switch(Status) { case -1: return _this.justReleased.get_NONE(); case 0: return _this.released.get_NONE(); case 1: return _this.pressed.get_NONE(); case 2: return _this.justPressed.get_NONE(); } break; default: var rawID = _this.mapping.getRawID(id); var button = _this.buttons[rawID]; if(button == null) { return false; } else { var value = button.current; switch(Status) { case -1: return value == -1; case 0: return value == 0; case 1: return value == 1; case 2: return value == 2; } } } } ,__class__: flixel_input_gamepad_lists_FlxGamepadButtonList ,__properties__: $extend(flixel_input_gamepad_lists_FlxBaseGamepadList.prototype.__properties__,{get_RIGHT_STICK_DIGITAL_LEFT:"get_RIGHT_STICK_DIGITAL_LEFT",get_RIGHT_STICK_DIGITAL_DOWN:"get_RIGHT_STICK_DIGITAL_DOWN",get_RIGHT_STICK_DIGITAL_RIGHT:"get_RIGHT_STICK_DIGITAL_RIGHT",get_RIGHT_STICK_DIGITAL_UP:"get_RIGHT_STICK_DIGITAL_UP",get_LEFT_STICK_DIGITAL_LEFT:"get_LEFT_STICK_DIGITAL_LEFT",get_LEFT_STICK_DIGITAL_DOWN:"get_LEFT_STICK_DIGITAL_DOWN",get_LEFT_STICK_DIGITAL_RIGHT:"get_LEFT_STICK_DIGITAL_RIGHT",get_LEFT_STICK_DIGITAL_UP:"get_LEFT_STICK_DIGITAL_UP",get_EXTRA_3:"get_EXTRA_3",get_EXTRA_2:"get_EXTRA_2",get_EXTRA_1:"get_EXTRA_1",get_EXTRA_0:"get_EXTRA_0",get_POINTER_Y:"get_POINTER_Y",get_POINTER_X:"get_POINTER_X",get_TILT_ROLL:"get_TILT_ROLL",get_TILT_PITCH:"get_TILT_PITCH",get_DPAD:"get_DPAD",get_RIGHT_ANALOG_STICK:"get_RIGHT_ANALOG_STICK",get_LEFT_ANALOG_STICK:"get_LEFT_ANALOG_STICK",get_RIGHT_TRIGGER:"get_RIGHT_TRIGGER",get_LEFT_TRIGGER:"get_LEFT_TRIGGER",get_RIGHT_TRIGGER_BUTTON:"get_RIGHT_TRIGGER_BUTTON",get_LEFT_TRIGGER_BUTTON:"get_LEFT_TRIGGER_BUTTON",get_DPAD_RIGHT:"get_DPAD_RIGHT",get_DPAD_LEFT:"get_DPAD_LEFT",get_DPAD_DOWN:"get_DPAD_DOWN",get_DPAD_UP:"get_DPAD_UP",get_GUIDE:"get_GUIDE",get_RIGHT_STICK_CLICK:"get_RIGHT_STICK_CLICK",get_LEFT_STICK_CLICK:"get_LEFT_STICK_CLICK",get_START:"get_START",get_BACK:"get_BACK",get_RIGHT_SHOULDER:"get_RIGHT_SHOULDER",get_LEFT_SHOULDER:"get_LEFT_SHOULDER",get_Y:"get_Y",get_X:"get_X",get_B:"get_B",get_A:"get_A"}) }); var flixel_input_gamepad_lists_FlxGamepadMotionValueList = function(gamepad) { this.gamepad = gamepad; }; $hxClasses["flixel.input.gamepad.lists.FlxGamepadMotionValueList"] = flixel_input_gamepad_lists_FlxGamepadMotionValueList; flixel_input_gamepad_lists_FlxGamepadMotionValueList.__name__ = ["flixel","input","gamepad","lists","FlxGamepadMotionValueList"]; flixel_input_gamepad_lists_FlxGamepadMotionValueList.prototype = { gamepad: null ,get_TILT_PITCH: function() { if(!this.gamepad.mapping.supportsMotion) { return 0; } else { return this.gamepad.getAxis(26); } } ,get_TILT_ROLL: function() { if(!this.gamepad.mapping.supportsMotion) { return 0; } else { return this.gamepad.getAxis(27); } } ,getAxis: function(id) { if(!this.gamepad.mapping.supportsMotion) { return 0; } return this.gamepad.getAxis(id); } ,get_isSupported: function() { return this.gamepad.mapping.supportsMotion; } ,__class__: flixel_input_gamepad_lists_FlxGamepadMotionValueList ,__properties__: {get_TILT_ROLL:"get_TILT_ROLL",get_TILT_PITCH:"get_TILT_PITCH",get_isSupported:"get_isSupported"} }; var flixel_input_gamepad_lists_FlxGamepadPointerValueList = function(gamepad) { this.gamepad = gamepad; }; $hxClasses["flixel.input.gamepad.lists.FlxGamepadPointerValueList"] = flixel_input_gamepad_lists_FlxGamepadPointerValueList; flixel_input_gamepad_lists_FlxGamepadPointerValueList.__name__ = ["flixel","input","gamepad","lists","FlxGamepadPointerValueList"]; flixel_input_gamepad_lists_FlxGamepadPointerValueList.prototype = { gamepad: null ,get_X: function() { if(!this.gamepad.mapping.supportsPointer) { return 0; } else { return this.gamepad.getAxis(28); } } ,get_Y: function() { if(!this.gamepad.mapping.supportsPointer) { return 0; } else { return this.gamepad.getAxis(29); } } ,getAxis: function(id) { if(!this.gamepad.mapping.supportsPointer) { return 0; } return this.gamepad.getAxis(id); } ,get_isSupported: function() { return this.gamepad.mapping.supportsPointer; } ,__class__: flixel_input_gamepad_lists_FlxGamepadPointerValueList ,__properties__: {get_Y:"get_Y",get_X:"get_X",get_isSupported:"get_isSupported"} }; var flixel_input_gamepad_mappings_FlxGamepadMapping = function(attachment) { this.attachment = flixel_input_gamepad_FlxGamepadAttachment.NONE; this.supportsPointer = false; this.supportsMotion = false; if(attachment != null) { this.set_attachment(attachment); } this.initValues(); }; $hxClasses["flixel.input.gamepad.mappings.FlxGamepadMapping"] = flixel_input_gamepad_mappings_FlxGamepadMapping; flixel_input_gamepad_mappings_FlxGamepadMapping.__name__ = ["flixel","input","gamepad","mappings","FlxGamepadMapping"]; flixel_input_gamepad_mappings_FlxGamepadMapping.prototype = { supportsMotion: null ,supportsPointer: null ,leftStick: null ,rightStick: null ,attachment: null ,manufacturer: null ,initValues: function() { } ,getAnalogStick: function(ID) { switch(ID) { case 19: return this.leftStick; case 20: return this.rightStick; default: return null; } } ,getID: function(rawID) { return -1; } ,getRawID: function(ID) { return -1; } ,isAxisFlipped: function(axisID) { return false; } ,isAxisForMotion: function(ID) { return false; } ,set_attachment: function(attachment) { return this.attachment = attachment; } ,__class__: flixel_input_gamepad_mappings_FlxGamepadMapping ,__properties__: {set_attachment:"set_attachment"} }; var flixel_input_gamepad_mappings_Manufacturer = $hxClasses["flixel.input.gamepad.mappings.Manufacturer"] = { __ename__ : ["flixel","input","gamepad","mappings","Manufacturer"], __constructs__ : ["GooglePepper","AdobeWindows","Unknown"] }; flixel_input_gamepad_mappings_Manufacturer.GooglePepper = ["GooglePepper",0]; flixel_input_gamepad_mappings_Manufacturer.GooglePepper.toString = $estr; flixel_input_gamepad_mappings_Manufacturer.GooglePepper.__enum__ = flixel_input_gamepad_mappings_Manufacturer; flixel_input_gamepad_mappings_Manufacturer.AdobeWindows = ["AdobeWindows",1]; flixel_input_gamepad_mappings_Manufacturer.AdobeWindows.toString = $estr; flixel_input_gamepad_mappings_Manufacturer.AdobeWindows.__enum__ = flixel_input_gamepad_mappings_Manufacturer; flixel_input_gamepad_mappings_Manufacturer.Unknown = ["Unknown",2]; flixel_input_gamepad_mappings_Manufacturer.Unknown.toString = $estr; flixel_input_gamepad_mappings_Manufacturer.Unknown.__enum__ = flixel_input_gamepad_mappings_Manufacturer; flixel_input_gamepad_mappings_Manufacturer.__meta__ = { obj : { SuppressWarnings : ["checkstyle:MemberName"]}}; var flixel_input_gamepad_mappings_LogitechMapping = function(attachment) { flixel_input_gamepad_mappings_FlxGamepadMapping.call(this,attachment); }; $hxClasses["flixel.input.gamepad.mappings.LogitechMapping"] = flixel_input_gamepad_mappings_LogitechMapping; flixel_input_gamepad_mappings_LogitechMapping.__name__ = ["flixel","input","gamepad","mappings","LogitechMapping"]; flixel_input_gamepad_mappings_LogitechMapping.__super__ = flixel_input_gamepad_mappings_FlxGamepadMapping; flixel_input_gamepad_mappings_LogitechMapping.prototype = $extend(flixel_input_gamepad_mappings_FlxGamepadMapping.prototype,{ initValues: function() { this.leftStick = flixel_input_gamepad_id_LogitechID.LEFT_ANALOG_STICK; this.rightStick = flixel_input_gamepad_id_LogitechID.RIGHT_ANALOG_STICK; } ,getID: function(rawID) { switch(rawID) { case -5: return 10; case 0: return 2; case 1: return 0; case 2: return 1; case 3: return 3; case 4: return 4; case 5: return 5; case 6: return 17; case 7: return 18; case 8: return 6; case 9: return 7; case 10: return 8; case 11: return 9; case 16: return 11; case 17: return 12; case 18: return 13; case 19: return 14; default: var id = rawID; if(id == this.leftStick.rawUp) { return 34; } else { var id1 = rawID; if(id1 == this.leftStick.rawDown) { return 36; } else { var id2 = rawID; if(id2 == this.leftStick.rawLeft) { return 37; } else { var id3 = rawID; if(id3 == this.leftStick.rawRight) { return 35; } else { var id4 = rawID; if(id4 == this.rightStick.rawUp) { return 38; } else { var id5 = rawID; if(id5 == this.rightStick.rawDown) { return 40; } else { var id6 = rawID; if(id6 == this.rightStick.rawLeft) { return 41; } else { var id7 = rawID; if(id7 == this.rightStick.rawRight) { return 39; } else { return -1; } } } } } } } } } } ,getRawID: function(ID) { switch(ID) { case 0: return 1; case 1: return 2; case 2: return 0; case 3: return 3; case 4: return 4; case 5: return 5; case 6: return 8; case 7: return 9; case 8: return 10; case 9: return 11; case 10: return -5; case 11: return 16; case 12: return 17; case 13: return 18; case 14: return 19; case 17: return 6; case 18: return 7; case 34: return flixel_input_gamepad_id_LogitechID.LEFT_ANALOG_STICK.rawUp; case 35: return flixel_input_gamepad_id_LogitechID.LEFT_ANALOG_STICK.rawRight; case 36: return flixel_input_gamepad_id_LogitechID.LEFT_ANALOG_STICK.rawDown; case 37: return flixel_input_gamepad_id_LogitechID.LEFT_ANALOG_STICK.rawLeft; case 38: return flixel_input_gamepad_id_LogitechID.RIGHT_ANALOG_STICK.rawUp; case 39: return flixel_input_gamepad_id_LogitechID.RIGHT_ANALOG_STICK.rawRight; case 40: return flixel_input_gamepad_id_LogitechID.RIGHT_ANALOG_STICK.rawDown; case 41: return flixel_input_gamepad_id_LogitechID.RIGHT_ANALOG_STICK.rawLeft; default: return -1; } } ,__class__: flixel_input_gamepad_mappings_LogitechMapping }); var flixel_input_gamepad_mappings_MFiMapping = function(attachment) { flixel_input_gamepad_mappings_FlxGamepadMapping.call(this,attachment); }; $hxClasses["flixel.input.gamepad.mappings.MFiMapping"] = flixel_input_gamepad_mappings_MFiMapping; flixel_input_gamepad_mappings_MFiMapping.__name__ = ["flixel","input","gamepad","mappings","MFiMapping"]; flixel_input_gamepad_mappings_MFiMapping.__super__ = flixel_input_gamepad_mappings_FlxGamepadMapping; flixel_input_gamepad_mappings_MFiMapping.prototype = $extend(flixel_input_gamepad_mappings_FlxGamepadMapping.prototype,{ initValues: function() { this.leftStick = flixel_input_gamepad_id_MFiID.LEFT_ANALOG_STICK; this.rightStick = flixel_input_gamepad_id_MFiID.RIGHT_ANALOG_STICK; } ,getID: function(rawID) { switch(rawID) { case 6: return 0; case 7: return 1; case 8: return 2; case 9: return 3; case 10: return 6; case 11: return 10; case 12: return 7; case 13: return 8; case 14: return 9; case 15: return 4; case 16: return 5; case 17: return 11; case 18: return 12; case 19: return 13; case 20: return 14; default: var id = rawID; if(id == this.leftStick.rawUp) { return 34; } else { var id1 = rawID; if(id1 == this.leftStick.rawDown) { return 36; } else { var id2 = rawID; if(id2 == this.leftStick.rawLeft) { return 37; } else { var id3 = rawID; if(id3 == this.leftStick.rawRight) { return 35; } else { var id4 = rawID; if(id4 == this.rightStick.rawUp) { return 38; } else { var id5 = rawID; if(id5 == this.rightStick.rawDown) { return 40; } else { var id6 = rawID; if(id6 == this.rightStick.rawLeft) { return 41; } else { var id7 = rawID; if(id7 == this.rightStick.rawRight) { return 39; } else { return -1; } } } } } } } } } } ,getRawID: function(ID) { switch(ID) { case 0: return 6; case 1: return 7; case 2: return 8; case 3: return 9; case 4: return 15; case 5: return 16; case 6: return 10; case 7: return 12; case 8: return 13; case 9: return 14; case 10: return 11; case 11: return 17; case 12: return 18; case 13: return 19; case 14: return 20; case 17: return 4; case 18: return 5; case 34: return flixel_input_gamepad_id_MFiID.LEFT_ANALOG_STICK.rawUp; case 35: return flixel_input_gamepad_id_MFiID.LEFT_ANALOG_STICK.rawRight; case 36: return flixel_input_gamepad_id_MFiID.LEFT_ANALOG_STICK.rawDown; case 37: return flixel_input_gamepad_id_MFiID.LEFT_ANALOG_STICK.rawLeft; case 38: return flixel_input_gamepad_id_MFiID.RIGHT_ANALOG_STICK.rawUp; case 39: return flixel_input_gamepad_id_MFiID.RIGHT_ANALOG_STICK.rawRight; case 40: return flixel_input_gamepad_id_MFiID.RIGHT_ANALOG_STICK.rawDown; case 41: return flixel_input_gamepad_id_MFiID.RIGHT_ANALOG_STICK.rawLeft; default: return -1; } } ,__class__: flixel_input_gamepad_mappings_MFiMapping }); var flixel_input_gamepad_mappings_MayflashWiiRemoteMapping = function(attachment) { flixel_input_gamepad_mappings_FlxGamepadMapping.call(this,attachment); }; $hxClasses["flixel.input.gamepad.mappings.MayflashWiiRemoteMapping"] = flixel_input_gamepad_mappings_MayflashWiiRemoteMapping; flixel_input_gamepad_mappings_MayflashWiiRemoteMapping.__name__ = ["flixel","input","gamepad","mappings","MayflashWiiRemoteMapping"]; flixel_input_gamepad_mappings_MayflashWiiRemoteMapping.__super__ = flixel_input_gamepad_mappings_FlxGamepadMapping; flixel_input_gamepad_mappings_MayflashWiiRemoteMapping.prototype = $extend(flixel_input_gamepad_mappings_FlxGamepadMapping.prototype,{ initValues: function() { this.supportsPointer = true; } ,getID: function(rawID) { var _g = this.attachment; switch(_g[1]) { case 0: return this.getIDNunchuk(rawID); case 1: return this.getIDClassicController(rawID); case 2: return this.getIDDefault(rawID); } } ,getIDClassicController: function(rawID) { switch(rawID) { case 4: return 11; case 5: return 12; case 6: return 13; case 7: return 14; case 8: return 2; case 9: return 3; case 10: return 0; case 11: return 1; case 12: return 17; case 13: return 18; case 14: return 4; case 15: return 5; case 16: return 6; case 17: return 7; case 19: return 10; default: var id = rawID; if(id == this.leftStick.rawUp) { return 34; } else { var id1 = rawID; if(id1 == this.leftStick.rawDown) { return 36; } else { var id2 = rawID; if(id2 == this.leftStick.rawLeft) { return 37; } else { var id3 = rawID; if(id3 == this.leftStick.rawRight) { return 35; } else { var id4 = rawID; if(id4 == this.rightStick.rawUp) { return 38; } else { var id5 = rawID; if(id5 == this.rightStick.rawDown) { return 40; } else { var id6 = rawID; if(id6 == this.rightStick.rawLeft) { return 41; } else { var id7 = rawID; if(id7 == this.rightStick.rawRight) { return 39; } else { return -1; } } } } } } } } } } ,getIDNunchuk: function(rawID) { switch(rawID) { case 4: return 11; case 5: return 12; case 6: return 13; case 7: return 14; case 8: return 2; case 9: return 3; case 10: return 0; case 11: return 1; case 12: return 6; case 13: return 7; case 14: return 17; case 15: return 4; case 19: return 10; default: var tmp = rawID == flixel_input_gamepad_id_MayflashWiiRemoteID.LEFT_ANALOG_STICK.rawUp; var tmp1 = rawID == flixel_input_gamepad_id_MayflashWiiRemoteID.LEFT_ANALOG_STICK.rawDown; var tmp2 = rawID == flixel_input_gamepad_id_MayflashWiiRemoteID.LEFT_ANALOG_STICK.rawLeft; var tmp3 = rawID == flixel_input_gamepad_id_MayflashWiiRemoteID.LEFT_ANALOG_STICK.rawRight; return -1; } } ,getIDDefault: function(rawID) { switch(rawID) { case 8: return 2; case 9: return 3; case 10: return 0; case 11: return 1; case 12: return 6; case 13: return 7; case 19: return 10; case 22: return 11; case 23: return 12; case 24: return 13; case 25: return 14; default: return -1; } } ,getRawID: function(ID) { var _g = this.attachment; switch(_g[1]) { case 0: return this.getRawNunchuk(ID); case 1: return this.getRawClassicController(ID); case 2: return this.getRawDefault(ID); } } ,getRawClassicController: function(ID) { switch(ID) { case 0: return 10; case 1: return 11; case 2: return 8; case 3: return 9; case 4: return 14; case 5: return 15; case 6: return 16; case 7: return 17; case 10: return 19; case 11: return 4; case 12: return 5; case 13: return 6; case 14: return 7; case 17: return 12; case 18: return 13; case 30: return -1; case 31: return -1; case 34: return flixel_input_gamepad_id_MayflashWiiRemoteID.LEFT_ANALOG_STICK.rawUp; case 35: return flixel_input_gamepad_id_MayflashWiiRemoteID.LEFT_ANALOG_STICK.rawRight; case 36: return flixel_input_gamepad_id_MayflashWiiRemoteID.LEFT_ANALOG_STICK.rawDown; case 37: return flixel_input_gamepad_id_MayflashWiiRemoteID.LEFT_ANALOG_STICK.rawLeft; case 38: return flixel_input_gamepad_id_MayflashWiiRemoteID.RIGHT_ANALOG_STICK.rawUp; case 39: return flixel_input_gamepad_id_MayflashWiiRemoteID.RIGHT_ANALOG_STICK.rawRight; case 40: return flixel_input_gamepad_id_MayflashWiiRemoteID.RIGHT_ANALOG_STICK.rawDown; case 41: return flixel_input_gamepad_id_MayflashWiiRemoteID.RIGHT_ANALOG_STICK.rawLeft; default: return this.getRawDefault(ID); } } ,getRawNunchuk: function(ID) { switch(ID) { case 0: return 10; case 1: return 11; case 2: return 8; case 3: return 9; case 4: return 15; case 6: return 12; case 7: return 13; case 10: return 19; case 11: return 4; case 12: return 5; case 13: return 6; case 14: return 7; case 17: return 14; case 28: return 2; case 29: return 3; case 34: return flixel_input_gamepad_id_MayflashWiiRemoteID.LEFT_ANALOG_STICK.rawUp; case 35: return flixel_input_gamepad_id_MayflashWiiRemoteID.LEFT_ANALOG_STICK.rawRight; case 36: return flixel_input_gamepad_id_MayflashWiiRemoteID.LEFT_ANALOG_STICK.rawDown; case 37: return flixel_input_gamepad_id_MayflashWiiRemoteID.LEFT_ANALOG_STICK.rawLeft; default: return -1; } } ,getRawDefault: function(ID) { switch(ID) { case 0: return 10; case 1: return 11; case 2: return 8; case 3: return 9; case 6: return 12; case 7: return 13; case 10: return 19; case 11: return 22; case 12: return 23; case 13: return 24; case 14: return 25; default: return -1; } } ,set_attachment: function(attachment) { var tmp; switch(attachment[1]) { case 0:case 1: tmp = flixel_input_gamepad_id_MayflashWiiRemoteID.LEFT_ANALOG_STICK; break; case 2: tmp = flixel_input_gamepad_id_MayflashWiiRemoteID.REMOTE_DPAD; break; } this.leftStick = tmp; this.rightStick = attachment[1] == 1 ? flixel_input_gamepad_id_MayflashWiiRemoteID.RIGHT_ANALOG_STICK : null; return flixel_input_gamepad_mappings_FlxGamepadMapping.prototype.set_attachment.call(this,attachment); } ,__class__: flixel_input_gamepad_mappings_MayflashWiiRemoteMapping }); var flixel_input_gamepad_mappings_OUYAMapping = function(attachment) { flixel_input_gamepad_mappings_FlxGamepadMapping.call(this,attachment); }; $hxClasses["flixel.input.gamepad.mappings.OUYAMapping"] = flixel_input_gamepad_mappings_OUYAMapping; flixel_input_gamepad_mappings_OUYAMapping.__name__ = ["flixel","input","gamepad","mappings","OUYAMapping"]; flixel_input_gamepad_mappings_OUYAMapping.__super__ = flixel_input_gamepad_mappings_FlxGamepadMapping; flixel_input_gamepad_mappings_OUYAMapping.prototype = $extend(flixel_input_gamepad_mappings_FlxGamepadMapping.prototype,{ initValues: function() { this.leftStick = flixel_input_gamepad_id_OUYAID.LEFT_ANALOG_STICK; this.rightStick = flixel_input_gamepad_id_OUYAID.RIGHT_ANALOG_STICK; } ,getID: function(rawID) { switch(rawID) { case 0: return 0; case 1: return 1; case 2: return 10; case 3: return 2; case 4: return 3; case 6: return 4; case 7: return 5; case 8: return 17; case 9: return 18; case 10: return 8; case 11: return 9; case 13: return 13; case 14: return 14; case 15: return 12; case 16: return 11; default: var id = rawID; if(id == this.leftStick.rawUp) { return 34; } else { var id1 = rawID; if(id1 == this.leftStick.rawDown) { return 36; } else { var id2 = rawID; if(id2 == this.leftStick.rawLeft) { return 37; } else { var id3 = rawID; if(id3 == this.leftStick.rawRight) { return 35; } else { var id4 = rawID; if(id4 == this.rightStick.rawUp) { return 38; } else { var id5 = rawID; if(id5 == this.rightStick.rawDown) { return 40; } else { var id6 = rawID; if(id6 == this.rightStick.rawLeft) { return 41; } else { var id7 = rawID; if(id7 == this.rightStick.rawRight) { return 39; } else { return -1; } } } } } } } } } } ,getRawID: function(ID) { switch(ID) { case 0: return 0; case 1: return 1; case 2: return 3; case 3: return 4; case 4: return 6; case 5: return 7; case 8: return 10; case 9: return 11; case 10: return 2; case 11: return 16; case 12: return 15; case 13: return 13; case 14: return 14; case 17: return 8; case 18: return 9; case 34: return flixel_input_gamepad_id_OUYAID.LEFT_ANALOG_STICK.rawUp; case 35: return flixel_input_gamepad_id_OUYAID.LEFT_ANALOG_STICK.rawRight; case 36: return flixel_input_gamepad_id_OUYAID.LEFT_ANALOG_STICK.rawDown; case 37: return flixel_input_gamepad_id_OUYAID.LEFT_ANALOG_STICK.rawLeft; case 38: return flixel_input_gamepad_id_OUYAID.RIGHT_ANALOG_STICK.rawUp; case 39: return flixel_input_gamepad_id_OUYAID.RIGHT_ANALOG_STICK.rawRight; case 40: return flixel_input_gamepad_id_OUYAID.RIGHT_ANALOG_STICK.rawDown; case 41: return flixel_input_gamepad_id_OUYAID.RIGHT_ANALOG_STICK.rawLeft; default: return -1; } } ,__class__: flixel_input_gamepad_mappings_OUYAMapping }); var flixel_input_gamepad_mappings_PS4Mapping = function(attachment) { flixel_input_gamepad_mappings_FlxGamepadMapping.call(this,attachment); }; $hxClasses["flixel.input.gamepad.mappings.PS4Mapping"] = flixel_input_gamepad_mappings_PS4Mapping; flixel_input_gamepad_mappings_PS4Mapping.__name__ = ["flixel","input","gamepad","mappings","PS4Mapping"]; flixel_input_gamepad_mappings_PS4Mapping.__super__ = flixel_input_gamepad_mappings_FlxGamepadMapping; flixel_input_gamepad_mappings_PS4Mapping.prototype = $extend(flixel_input_gamepad_mappings_FlxGamepadMapping.prototype,{ initValues: function() { this.leftStick = flixel_input_gamepad_id_PS4ID.LEFT_ANALOG_STICK; this.rightStick = flixel_input_gamepad_id_PS4ID.RIGHT_ANALOG_STICK; this.supportsMotion = true; this.supportsPointer = true; } ,getID: function(rawID) { switch(rawID) { case 6: return 0; case 7: return 1; case 8: return 2; case 9: return 3; case 10: return 6; case 11: return 10; case 12: return 7; case 13: return 8; case 14: return 9; case 15: return 4; case 16: return 5; case 17: return 11; case 18: return 12; case 19: return 13; case 20: return 14; default: var id = rawID; if(id == this.leftStick.rawUp) { return 34; } else { var id1 = rawID; if(id1 == this.leftStick.rawDown) { return 36; } else { var id2 = rawID; if(id2 == this.leftStick.rawLeft) { return 37; } else { var id3 = rawID; if(id3 == this.leftStick.rawRight) { return 35; } else { var id4 = rawID; if(id4 == this.rightStick.rawUp) { return 38; } else { var id5 = rawID; if(id5 == this.rightStick.rawDown) { return 40; } else { var id6 = rawID; if(id6 == this.rightStick.rawLeft) { return 41; } else { var id7 = rawID; if(id7 == this.rightStick.rawRight) { return 39; } else { return -1; } } } } } } } } } } ,getRawID: function(ID) { switch(ID) { case 0: return 6; case 1: return 7; case 2: return 8; case 3: return 9; case 4: return 15; case 5: return 16; case 6: return 10; case 7: return 12; case 8: return 13; case 9: return 14; case 10: return 11; case 11: return 17; case 12: return 18; case 13: return 19; case 14: return 20; case 17: return 4; case 18: return 5; case 34: return flixel_input_gamepad_id_PS4ID.LEFT_ANALOG_STICK.rawUp; case 35: return flixel_input_gamepad_id_PS4ID.LEFT_ANALOG_STICK.rawRight; case 36: return flixel_input_gamepad_id_PS4ID.LEFT_ANALOG_STICK.rawDown; case 37: return flixel_input_gamepad_id_PS4ID.LEFT_ANALOG_STICK.rawLeft; case 38: return flixel_input_gamepad_id_PS4ID.RIGHT_ANALOG_STICK.rawUp; case 39: return flixel_input_gamepad_id_PS4ID.RIGHT_ANALOG_STICK.rawRight; case 40: return flixel_input_gamepad_id_PS4ID.RIGHT_ANALOG_STICK.rawDown; case 41: return flixel_input_gamepad_id_PS4ID.RIGHT_ANALOG_STICK.rawLeft; default: return -1; } } ,__class__: flixel_input_gamepad_mappings_PS4Mapping }); var flixel_input_gamepad_mappings_PSVitaMapping = function(attachment) { flixel_input_gamepad_mappings_FlxGamepadMapping.call(this,attachment); }; $hxClasses["flixel.input.gamepad.mappings.PSVitaMapping"] = flixel_input_gamepad_mappings_PSVitaMapping; flixel_input_gamepad_mappings_PSVitaMapping.__name__ = ["flixel","input","gamepad","mappings","PSVitaMapping"]; flixel_input_gamepad_mappings_PSVitaMapping.__super__ = flixel_input_gamepad_mappings_FlxGamepadMapping; flixel_input_gamepad_mappings_PSVitaMapping.prototype = $extend(flixel_input_gamepad_mappings_FlxGamepadMapping.prototype,{ initValues: function() { this.leftStick = flixel_input_gamepad_id_PSVitaID.LEFT_ANALOG_STICK; this.rightStick = flixel_input_gamepad_id_PSVitaID.RIGHT_ANALOG_STICK; } ,getID: function(rawID) { switch(rawID) { case 6: return 0; case 7: return 1; case 8: return 2; case 9: return 3; case 10: return 6; case 12: return 7; case 15: return 4; case 16: return 5; case 17: return 11; case 18: return 12; case 19: return 13; case 20: return 14; default: var id = rawID; if(id == this.leftStick.rawUp) { return 34; } else { var id1 = rawID; if(id1 == this.leftStick.rawDown) { return 34; } else { var id2 = rawID; if(id2 == this.leftStick.rawLeft) { return 37; } else { var id3 = rawID; if(id3 == this.leftStick.rawRight) { return 35; } else { var id4 = rawID; if(id4 == this.rightStick.rawUp) { return 38; } else { var id5 = rawID; if(id5 == this.rightStick.rawDown) { return 40; } else { var id6 = rawID; if(id6 == this.rightStick.rawLeft) { return 41; } else { var id7 = rawID; if(id7 == this.rightStick.rawRight) { return 39; } else { return -1; } } } } } } } } } } ,getRawID: function(ID) { switch(ID) { case 0: return 6; case 1: return 7; case 2: return 8; case 3: return 9; case 4: return 15; case 5: return 16; case 6: return 10; case 7: return 12; case 11: return 17; case 12: return 18; case 13: return 19; case 14: return 20; case 34: return flixel_input_gamepad_id_PSVitaID.LEFT_ANALOG_STICK.rawUp; case 35: return flixel_input_gamepad_id_PSVitaID.LEFT_ANALOG_STICK.rawRight; case 36: return flixel_input_gamepad_id_PSVitaID.LEFT_ANALOG_STICK.rawDown; case 37: return flixel_input_gamepad_id_PSVitaID.LEFT_ANALOG_STICK.rawLeft; case 38: return flixel_input_gamepad_id_PSVitaID.RIGHT_ANALOG_STICK.rawUp; case 39: return flixel_input_gamepad_id_PSVitaID.RIGHT_ANALOG_STICK.rawRight; case 40: return flixel_input_gamepad_id_PSVitaID.RIGHT_ANALOG_STICK.rawDown; case 41: return flixel_input_gamepad_id_PSVitaID.RIGHT_ANALOG_STICK.rawLeft; default: return -1; } } ,isAxisFlipped: function(axisID) { if(axisID != flixel_input_gamepad_id_PSVitaID.LEFT_ANALOG_STICK.y) { return axisID == flixel_input_gamepad_id_PSVitaID.RIGHT_ANALOG_STICK.y; } else { return true; } } ,__class__: flixel_input_gamepad_mappings_PSVitaMapping }); var flixel_input_gamepad_mappings_WiiRemoteMapping = function(attachment) { flixel_input_gamepad_mappings_FlxGamepadMapping.call(this,attachment); }; $hxClasses["flixel.input.gamepad.mappings.WiiRemoteMapping"] = flixel_input_gamepad_mappings_WiiRemoteMapping; flixel_input_gamepad_mappings_WiiRemoteMapping.__name__ = ["flixel","input","gamepad","mappings","WiiRemoteMapping"]; flixel_input_gamepad_mappings_WiiRemoteMapping.__super__ = flixel_input_gamepad_mappings_FlxGamepadMapping; flixel_input_gamepad_mappings_WiiRemoteMapping.prototype = $extend(flixel_input_gamepad_mappings_FlxGamepadMapping.prototype,{ initValues: function() { this.supportsMotion = true; this.supportsPointer = false; } ,getID: function(rawID) { var _g = this.attachment; switch(_g[1]) { case 0: return this.getIDNunchuk(rawID); case 1: return this.getIDClassicController(rawID); case 2: return this.getIDDefault(rawID); } } ,getIDClassicController: function(rawID) { switch(rawID) { case 5: return 11; case 6: return 12; case 7: return 13; case 8: return 14; case 9: return 1; case 10: return 0; case 11: return 2; case 12: return 3; case 13: return 17; case 14: return 18; case 15: return 4; case 16: return 5; case 17: return 7; case 18: return 6; case 19: return 10; case 20: return 30; case 21: return 31; default: var id = rawID; if(id == this.leftStick.rawUp) { return 34; } else { var id1 = rawID; if(id1 == this.leftStick.rawDown) { return 36; } else { var id2 = rawID; if(id2 == this.leftStick.rawLeft) { return 37; } else { var id3 = rawID; if(id3 == this.leftStick.rawRight) { return 35; } else { var id4 = rawID; if(id4 == this.rightStick.rawUp) { return 38; } else { var id5 = rawID; if(id5 == this.rightStick.rawDown) { return 40; } else { var id6 = rawID; if(id6 == this.rightStick.rawLeft) { return 41; } else { var id7 = rawID; if(id7 == this.rightStick.rawRight) { return 39; } else { return -1; } } } } } } } } } } ,getIDNunchuk: function(rawID) { switch(rawID) { case 5: return 11; case 6: return 12; case 7: return 13; case 8: return 14; case 9: return 0; case 10: return 1; case 11: return 4; case 12: return 17; case 13: return 2; case 14: return 3; case 15: return 7; case 16: return 6; case 17: return 10; default: var tmp = rawID == flixel_input_gamepad_id_WiiRemoteID.LEFT_ANALOG_STICK.rawUp; var tmp1 = rawID == flixel_input_gamepad_id_WiiRemoteID.LEFT_ANALOG_STICK.rawDown; var tmp2 = rawID == flixel_input_gamepad_id_WiiRemoteID.LEFT_ANALOG_STICK.rawLeft; var tmp3 = rawID == flixel_input_gamepad_id_WiiRemoteID.LEFT_ANALOG_STICK.rawRight; return -1; } } ,getIDDefault: function(rawID) { switch(rawID) { case 9: return 2; case 10: return 3; case 11: return 0; case 12: return 1; case 13: return 7; case 14: return 6; case 15: return 10; case 22: return 11; case 23: return 12; case 24: return 13; case 25: return 14; default: return -1; } } ,getRawID: function(ID) { var _g = this.attachment; switch(_g[1]) { case 0: return this.getRawNunchuk(ID); case 1: return this.getRawClassicController(ID); case 2: return this.getRawDefault(ID); } } ,getRawClassicController: function(ID) { switch(ID) { case 0: return 10; case 1: return 9; case 2: return 11; case 3: return 12; case 4: return 15; case 5: return 16; case 6: return 18; case 7: return 17; case 10: return 19; case 11: return 5; case 12: return 6; case 13: return 7; case 14: return 8; case 17: return 13; case 18: return 14; case 30: return 20; case 31: return 21; case 34: return flixel_input_gamepad_id_WiiRemoteID.LEFT_ANALOG_STICK.rawUp; case 35: return flixel_input_gamepad_id_WiiRemoteID.LEFT_ANALOG_STICK.rawRight; case 36: return flixel_input_gamepad_id_WiiRemoteID.LEFT_ANALOG_STICK.rawDown; case 37: return flixel_input_gamepad_id_WiiRemoteID.LEFT_ANALOG_STICK.rawLeft; case 38: return flixel_input_gamepad_id_WiiRemoteID.RIGHT_ANALOG_STICK.rawUp; case 39: return flixel_input_gamepad_id_WiiRemoteID.RIGHT_ANALOG_STICK.rawRight; case 40: return flixel_input_gamepad_id_WiiRemoteID.RIGHT_ANALOG_STICK.rawDown; case 41: return flixel_input_gamepad_id_WiiRemoteID.RIGHT_ANALOG_STICK.rawLeft; default: return -1; } } ,getRawNunchuk: function(ID) { switch(ID) { case 0: return 9; case 1: return 10; case 2: return 13; case 3: return 14; case 4: return 11; case 6: return 16; case 7: return 15; case 10: return 17; case 11: return 5; case 12: return 6; case 13: return 7; case 14: return 8; case 17: return 12; case 26: return 3; case 27: return 2; case 34: return flixel_input_gamepad_id_WiiRemoteID.LEFT_ANALOG_STICK.rawUp; case 35: return flixel_input_gamepad_id_WiiRemoteID.LEFT_ANALOG_STICK.rawRight; case 36: return flixel_input_gamepad_id_WiiRemoteID.LEFT_ANALOG_STICK.rawDown; case 37: return flixel_input_gamepad_id_WiiRemoteID.LEFT_ANALOG_STICK.rawLeft; default: return -1; } } ,getRawDefault: function(ID) { switch(ID) { case 0: return 11; case 1: return 12; case 2: return 9; case 3: return 10; case 6: return 14; case 7: return 13; case 10: return 15; case 11: return 22; case 12: return 23; case 13: return 24; case 14: return 25; case 26: return 2; case 27: return 3; default: return -1; } } ,isAxisForMotion: function(ID) { if(this.attachment == flixel_input_gamepad_FlxGamepadAttachment.NONE) { if(ID == 2 || ID == 3) { return true; } } else if(this.attachment == flixel_input_gamepad_FlxGamepadAttachment.WII_NUNCHUCK) { if(ID == 3 || ID == 2) { return true; } } return false; } ,isAxisFlipped: function(axisID) { return axisID == 4; } ,set_attachment: function(attachment) { var tmp; switch(attachment[1]) { case 0:case 1: tmp = flixel_input_gamepad_id_WiiRemoteID.LEFT_ANALOG_STICK; break; case 2: tmp = flixel_input_gamepad_id_WiiRemoteID.REMOTE_DPAD; break; } this.leftStick = tmp; this.rightStick = attachment[1] == 1 ? flixel_input_gamepad_id_WiiRemoteID.RIGHT_ANALOG_STICK : null; return flixel_input_gamepad_mappings_FlxGamepadMapping.prototype.set_attachment.call(this,attachment); } ,__class__: flixel_input_gamepad_mappings_WiiRemoteMapping }); var flixel_input_gamepad_mappings_XInputMapping = function(attachment) { flixel_input_gamepad_mappings_FlxGamepadMapping.call(this,attachment); }; $hxClasses["flixel.input.gamepad.mappings.XInputMapping"] = flixel_input_gamepad_mappings_XInputMapping; flixel_input_gamepad_mappings_XInputMapping.__name__ = ["flixel","input","gamepad","mappings","XInputMapping"]; flixel_input_gamepad_mappings_XInputMapping.__super__ = flixel_input_gamepad_mappings_FlxGamepadMapping; flixel_input_gamepad_mappings_XInputMapping.prototype = $extend(flixel_input_gamepad_mappings_FlxGamepadMapping.prototype,{ initValues: function() { this.leftStick = flixel_input_gamepad_id_XInputID.LEFT_ANALOG_STICK; this.rightStick = flixel_input_gamepad_id_XInputID.RIGHT_ANALOG_STICK; } ,getID: function(rawID) { switch(rawID) { case -1: return 10; case 4: return 17; case 5: return 18; case 6: return 0; case 7: return 1; case 8: return 2; case 9: return 3; case 10: return 6; case 12: return 7; case 13: return 8; case 14: return 9; case 15: return 4; case 16: return 5; case 17: return 11; case 18: return 12; case 19: return 13; case 20: return 14; default: var id = rawID; if(id == this.leftStick.rawUp) { return 34; } else { var id1 = rawID; if(id1 == this.leftStick.rawDown) { return 36; } else { var id2 = rawID; if(id2 == this.leftStick.rawLeft) { return 37; } else { var id3 = rawID; if(id3 == this.leftStick.rawRight) { return 35; } else { var id4 = rawID; if(id4 == this.rightStick.rawUp) { return 38; } else { var id5 = rawID; if(id5 == this.rightStick.rawDown) { return 40; } else { var id6 = rawID; if(id6 == this.rightStick.rawLeft) { return 41; } else { var id7 = rawID; if(id7 == this.rightStick.rawRight) { return 39; } else { return -1; } } } } } } } } } } ,getRawID: function(ID) { switch(ID) { case 0: return 6; case 1: return 7; case 2: return 8; case 3: return 9; case 4: return 15; case 5: return 16; case 6: return 10; case 7: return 12; case 8: return 13; case 9: return 14; case 10: return -1; case 11: return 17; case 12: return 18; case 13: return 19; case 14: return 20; case 17: return 4; case 18: return 5; case 34: return flixel_input_gamepad_id_XInputID.LEFT_ANALOG_STICK.rawUp; case 35: return flixel_input_gamepad_id_XInputID.LEFT_ANALOG_STICK.rawRight; case 36: return flixel_input_gamepad_id_XInputID.LEFT_ANALOG_STICK.rawDown; case 37: return flixel_input_gamepad_id_XInputID.LEFT_ANALOG_STICK.rawLeft; case 38: return flixel_input_gamepad_id_XInputID.RIGHT_ANALOG_STICK.rawUp; case 39: return flixel_input_gamepad_id_XInputID.RIGHT_ANALOG_STICK.rawRight; case 40: return flixel_input_gamepad_id_XInputID.RIGHT_ANALOG_STICK.rawDown; case 41: return flixel_input_gamepad_id_XInputID.RIGHT_ANALOG_STICK.rawLeft; default: return -1; } } ,__class__: flixel_input_gamepad_mappings_XInputMapping }); var flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$ = {}; $hxClasses["flixel.input.keyboard._FlxKey.FlxKey_Impl_"] = flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.__name__ = ["flixel","input","keyboard","_FlxKey","FlxKey_Impl_"]; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.fromString = function(s) { s = s.toUpperCase(); var _this = flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.fromStringMap; if(__map_reserved[s] != null ? _this.existsReserved(s) : _this.h.hasOwnProperty(s)) { var _this1 = flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.fromStringMap; if(__map_reserved[s] != null) { return _this1.getReserved(s); } else { return _this1.h[s]; } } else { return -1; } }; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.toString = function(this1) { return flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.toStringMap.h[this1]; }; var flixel_input_keyboard_FlxKeyList = function(status,keyManager) { flixel_input_FlxBaseKeyList.call(this,status,keyManager); }; $hxClasses["flixel.input.keyboard.FlxKeyList"] = flixel_input_keyboard_FlxKeyList; flixel_input_keyboard_FlxKeyList.__name__ = ["flixel","input","keyboard","FlxKeyList"]; flixel_input_keyboard_FlxKeyList.__super__ = flixel_input_FlxBaseKeyList; flixel_input_keyboard_FlxKeyList.prototype = $extend(flixel_input_FlxBaseKeyList.prototype,{ get_A: function() { return this.keyManager.checkStatus(65,this.status); } ,get_B: function() { return this.keyManager.checkStatus(66,this.status); } ,get_C: function() { return this.keyManager.checkStatus(67,this.status); } ,get_D: function() { return this.keyManager.checkStatus(68,this.status); } ,get_E: function() { return this.keyManager.checkStatus(69,this.status); } ,get_F: function() { return this.keyManager.checkStatus(70,this.status); } ,get_G: function() { return this.keyManager.checkStatus(71,this.status); } ,get_H: function() { return this.keyManager.checkStatus(72,this.status); } ,get_I: function() { return this.keyManager.checkStatus(73,this.status); } ,get_J: function() { return this.keyManager.checkStatus(74,this.status); } ,get_K: function() { return this.keyManager.checkStatus(75,this.status); } ,get_L: function() { return this.keyManager.checkStatus(76,this.status); } ,get_M: function() { return this.keyManager.checkStatus(77,this.status); } ,get_N: function() { return this.keyManager.checkStatus(78,this.status); } ,get_O: function() { return this.keyManager.checkStatus(79,this.status); } ,get_P: function() { return this.keyManager.checkStatus(80,this.status); } ,get_Q: function() { return this.keyManager.checkStatus(81,this.status); } ,get_R: function() { return this.keyManager.checkStatus(82,this.status); } ,get_S: function() { return this.keyManager.checkStatus(83,this.status); } ,get_T: function() { return this.keyManager.checkStatus(84,this.status); } ,get_U: function() { return this.keyManager.checkStatus(85,this.status); } ,get_V: function() { return this.keyManager.checkStatus(86,this.status); } ,get_W: function() { return this.keyManager.checkStatus(87,this.status); } ,get_X: function() { return this.keyManager.checkStatus(88,this.status); } ,get_Y: function() { return this.keyManager.checkStatus(89,this.status); } ,get_Z: function() { return this.keyManager.checkStatus(90,this.status); } ,get_ZERO: function() { return this.keyManager.checkStatus(48,this.status); } ,get_ONE: function() { return this.keyManager.checkStatus(49,this.status); } ,get_TWO: function() { return this.keyManager.checkStatus(50,this.status); } ,get_THREE: function() { return this.keyManager.checkStatus(51,this.status); } ,get_FOUR: function() { return this.keyManager.checkStatus(52,this.status); } ,get_FIVE: function() { return this.keyManager.checkStatus(53,this.status); } ,get_SIX: function() { return this.keyManager.checkStatus(54,this.status); } ,get_SEVEN: function() { return this.keyManager.checkStatus(55,this.status); } ,get_EIGHT: function() { return this.keyManager.checkStatus(56,this.status); } ,get_NINE: function() { return this.keyManager.checkStatus(57,this.status); } ,get_PAGEUP: function() { return this.keyManager.checkStatus(33,this.status); } ,get_PAGEDOWN: function() { return this.keyManager.checkStatus(34,this.status); } ,get_HOME: function() { return this.keyManager.checkStatus(36,this.status); } ,get_END: function() { return this.keyManager.checkStatus(35,this.status); } ,get_INSERT: function() { return this.keyManager.checkStatus(45,this.status); } ,get_ESCAPE: function() { return this.keyManager.checkStatus(27,this.status); } ,get_MINUS: function() { return this.keyManager.checkStatus(189,this.status); } ,get_PLUS: function() { return this.keyManager.checkStatus(187,this.status); } ,get_DELETE: function() { return this.keyManager.checkStatus(46,this.status); } ,get_BACKSPACE: function() { return this.keyManager.checkStatus(8,this.status); } ,get_LBRACKET: function() { return this.keyManager.checkStatus(219,this.status); } ,get_RBRACKET: function() { return this.keyManager.checkStatus(221,this.status); } ,get_BACKSLASH: function() { return this.keyManager.checkStatus(220,this.status); } ,get_CAPSLOCK: function() { return this.keyManager.checkStatus(20,this.status); } ,get_SEMICOLON: function() { return this.keyManager.checkStatus(186,this.status); } ,get_QUOTE: function() { return this.keyManager.checkStatus(222,this.status); } ,get_ENTER: function() { return this.keyManager.checkStatus(13,this.status); } ,get_SHIFT: function() { return this.keyManager.checkStatus(16,this.status); } ,get_COMMA: function() { return this.keyManager.checkStatus(188,this.status); } ,get_PERIOD: function() { return this.keyManager.checkStatus(190,this.status); } ,get_SLASH: function() { return this.keyManager.checkStatus(191,this.status); } ,get_GRAVEACCENT: function() { return this.keyManager.checkStatus(192,this.status); } ,get_CONTROL: function() { return this.keyManager.checkStatus(17,this.status); } ,get_ALT: function() { return this.keyManager.checkStatus(18,this.status); } ,get_SPACE: function() { return this.keyManager.checkStatus(32,this.status); } ,get_UP: function() { return this.keyManager.checkStatus(38,this.status); } ,get_DOWN: function() { return this.keyManager.checkStatus(40,this.status); } ,get_LEFT: function() { return this.keyManager.checkStatus(37,this.status); } ,get_RIGHT: function() { return this.keyManager.checkStatus(39,this.status); } ,get_TAB: function() { return this.keyManager.checkStatus(9,this.status); } ,get_PRINTSCREEN: function() { return this.keyManager.checkStatus(301,this.status); } ,get_F1: function() { return this.keyManager.checkStatus(112,this.status); } ,get_F2: function() { return this.keyManager.checkStatus(113,this.status); } ,get_F3: function() { return this.keyManager.checkStatus(114,this.status); } ,get_F4: function() { return this.keyManager.checkStatus(115,this.status); } ,get_F5: function() { return this.keyManager.checkStatus(116,this.status); } ,get_F6: function() { return this.keyManager.checkStatus(117,this.status); } ,get_F7: function() { return this.keyManager.checkStatus(118,this.status); } ,get_F8: function() { return this.keyManager.checkStatus(119,this.status); } ,get_F9: function() { return this.keyManager.checkStatus(120,this.status); } ,get_F10: function() { return this.keyManager.checkStatus(121,this.status); } ,get_F11: function() { return this.keyManager.checkStatus(122,this.status); } ,get_F12: function() { return this.keyManager.checkStatus(123,this.status); } ,get_NUMPADONE: function() { return this.keyManager.checkStatus(97,this.status); } ,get_NUMPADTWO: function() { return this.keyManager.checkStatus(98,this.status); } ,get_NUMPADTHREE: function() { return this.keyManager.checkStatus(99,this.status); } ,get_NUMPADFOUR: function() { return this.keyManager.checkStatus(100,this.status); } ,get_NUMPADFIVE: function() { return this.keyManager.checkStatus(101,this.status); } ,get_NUMPADSIX: function() { return this.keyManager.checkStatus(102,this.status); } ,get_NUMPADSEVEN: function() { return this.keyManager.checkStatus(103,this.status); } ,get_NUMPADEIGHT: function() { return this.keyManager.checkStatus(104,this.status); } ,get_NUMPADNINE: function() { return this.keyManager.checkStatus(105,this.status); } ,get_NUMPADZERO: function() { return this.keyManager.checkStatus(96,this.status); } ,get_NUMPADMINUS: function() { return this.keyManager.checkStatus(109,this.status); } ,get_NUMPADPLUS: function() { return this.keyManager.checkStatus(107,this.status); } ,get_NUMPADPERIOD: function() { return this.keyManager.checkStatus(110,this.status); } ,get_NUMPADMULTIPLY: function() { return this.keyManager.checkStatus(106,this.status); } ,__class__: flixel_input_keyboard_FlxKeyList ,__properties__: $extend(flixel_input_FlxBaseKeyList.prototype.__properties__,{get_NUMPADMULTIPLY:"get_NUMPADMULTIPLY",get_NUMPADPERIOD:"get_NUMPADPERIOD",get_NUMPADPLUS:"get_NUMPADPLUS",get_NUMPADMINUS:"get_NUMPADMINUS",get_NUMPADZERO:"get_NUMPADZERO",get_NUMPADNINE:"get_NUMPADNINE",get_NUMPADEIGHT:"get_NUMPADEIGHT",get_NUMPADSEVEN:"get_NUMPADSEVEN",get_NUMPADSIX:"get_NUMPADSIX",get_NUMPADFIVE:"get_NUMPADFIVE",get_NUMPADFOUR:"get_NUMPADFOUR",get_NUMPADTHREE:"get_NUMPADTHREE",get_NUMPADTWO:"get_NUMPADTWO",get_NUMPADONE:"get_NUMPADONE",get_F12:"get_F12",get_F11:"get_F11",get_F10:"get_F10",get_F9:"get_F9",get_F8:"get_F8",get_F7:"get_F7",get_F6:"get_F6",get_F5:"get_F5",get_F4:"get_F4",get_F3:"get_F3",get_F2:"get_F2",get_F1:"get_F1",get_PRINTSCREEN:"get_PRINTSCREEN",get_TAB:"get_TAB",get_RIGHT:"get_RIGHT",get_LEFT:"get_LEFT",get_DOWN:"get_DOWN",get_UP:"get_UP",get_SPACE:"get_SPACE",get_ALT:"get_ALT",get_CONTROL:"get_CONTROL",get_GRAVEACCENT:"get_GRAVEACCENT",get_SLASH:"get_SLASH",get_PERIOD:"get_PERIOD",get_COMMA:"get_COMMA",get_SHIFT:"get_SHIFT",get_ENTER:"get_ENTER",get_QUOTE:"get_QUOTE",get_SEMICOLON:"get_SEMICOLON",get_CAPSLOCK:"get_CAPSLOCK",get_BACKSLASH:"get_BACKSLASH",get_RBRACKET:"get_RBRACKET",get_LBRACKET:"get_LBRACKET",get_BACKSPACE:"get_BACKSPACE",get_DELETE:"get_DELETE",get_PLUS:"get_PLUS",get_MINUS:"get_MINUS",get_ESCAPE:"get_ESCAPE",get_INSERT:"get_INSERT",get_END:"get_END",get_HOME:"get_HOME",get_PAGEDOWN:"get_PAGEDOWN",get_PAGEUP:"get_PAGEUP",get_NINE:"get_NINE",get_EIGHT:"get_EIGHT",get_SEVEN:"get_SEVEN",get_SIX:"get_SIX",get_FIVE:"get_FIVE",get_FOUR:"get_FOUR",get_THREE:"get_THREE",get_TWO:"get_TWO",get_ONE:"get_ONE",get_ZERO:"get_ZERO",get_Z:"get_Z",get_Y:"get_Y",get_X:"get_X",get_W:"get_W",get_V:"get_V",get_U:"get_U",get_T:"get_T",get_S:"get_S",get_R:"get_R",get_Q:"get_Q",get_P:"get_P",get_O:"get_O",get_N:"get_N",get_M:"get_M",get_L:"get_L",get_K:"get_K",get_J:"get_J",get_I:"get_I",get_H:"get_H",get_G:"get_G",get_F:"get_F",get_E:"get_E",get_D:"get_D",get_C:"get_C",get_B:"get_B",get_A:"get_A"}) }); var flixel_input_keyboard_FlxKeyboard = function() { flixel_input_FlxKeyManager.call(this,function(status,keyManager) { return new flixel_input_keyboard_FlxKeyList(status,keyManager); }); this.preventDefaultKeys = [38,40,37,39,32,9]; var _this = flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.fromStringMap; var code = new haxe_ds__$StringMap_StringMapIterator(_this,_this.arrayKeys()); while(code.hasNext()) { var code1 = code.next(); if(code1 != -2 && code1 != -1) { var input = new flixel_input_FlxInput(code1); this._keyListArray.push(input); this._keyListMap.h[code1] = input; } } }; $hxClasses["flixel.input.keyboard.FlxKeyboard"] = flixel_input_keyboard_FlxKeyboard; flixel_input_keyboard_FlxKeyboard.__name__ = ["flixel","input","keyboard","FlxKeyboard"]; flixel_input_keyboard_FlxKeyboard.__super__ = flixel_input_FlxKeyManager; flixel_input_keyboard_FlxKeyboard.prototype = $extend(flixel_input_FlxKeyManager.prototype,{ onKeyUp: function(event) { flixel_input_FlxKeyManager.prototype.onKeyUp.call(this,event); } ,onKeyDown: function(event) { flixel_input_FlxKeyManager.prototype.onKeyDown.call(this,event); } ,resolveKeyCode: function(e) { return e.keyCode; } ,record: function() { var data = null; var _g = 0; var _g1 = this._keyListArray; while(_g < _g1.length) { var key = _g1[_g]; ++_g; if(key == null || (key.current == 0 || key.current == -1)) { continue; } if(data == null) { data = []; } data.push(new flixel_system_replay_CodeValuePair(key.ID,key.current)); } return data; } ,playback: function(Record) { var i = 0; var l = Record.length; while(i < l) { var o = Record[i++]; var o2 = this._keyListMap.get(o.code); o2.current = o.value; } } ,__class__: flixel_input_keyboard_FlxKeyboard }); var flixel_input_mouse__$FlxMouse_GraphicCursor = function(width,height,transparent,fillRGBA,onload) { if(fillRGBA == null) { fillRGBA = -1; } if(transparent == null) { transparent = true; } openfl_display_BitmapData.call(this,0,0,transparent,fillRGBA); if(flixel_input_mouse__$FlxMouse_GraphicCursor.preload != null) { this.__fromImage(flixel_input_mouse__$FlxMouse_GraphicCursor.preload); } else { var _gthis = this; lime_graphics_Image.loadFromBase64(haxe_Resource.getString(flixel_input_mouse__$FlxMouse_GraphicCursor.resourceName),flixel_input_mouse__$FlxMouse_GraphicCursor.resourceType).then(function(image) { _gthis.__fromImage(image); return lime_app_Future.withValue(_gthis); }).onComplete(function(b) { if(flixel_input_mouse__$FlxMouse_GraphicCursor.preload == null) { flixel_input_mouse__$FlxMouse_GraphicCursor.preload = b.image; } if(onload != null) { onload(b); } }); } }; $hxClasses["flixel.input.mouse._FlxMouse.GraphicCursor"] = flixel_input_mouse__$FlxMouse_GraphicCursor; flixel_input_mouse__$FlxMouse_GraphicCursor.__name__ = ["flixel","input","mouse","_FlxMouse","GraphicCursor"]; flixel_input_mouse__$FlxMouse_GraphicCursor.preload = null; flixel_input_mouse__$FlxMouse_GraphicCursor.__super__ = openfl_display_BitmapData; flixel_input_mouse__$FlxMouse_GraphicCursor.prototype = $extend(openfl_display_BitmapData.prototype,{ __class__: flixel_input_mouse__$FlxMouse_GraphicCursor }); var flixel_input_mouse_FlxMouse = function(CursorContainer) { this._prevY = 0; this._prevX = 0; this._lastWheel = 0; this._lastY = 0; this._lastX = 0; this._visibleWhenFocusLost = true; this._wheelUsed = false; this._cursor = null; this.useSystemCursor = false; this.visible = true; this.wheel = 0; this.enabled = true; flixel_input_FlxPointer.call(this); this.cursorContainer = CursorContainer; this.cursorContainer.mouseChildren = false; this.cursorContainer.mouseEnabled = false; this._leftButton = new flixel_input_mouse_FlxMouseButton(-1); this._stage = openfl_Lib.get_current().stage; this._stage.addEventListener("mouseDown",($_=this._leftButton,$bind($_,$_.onDown))); this._stage.addEventListener("mouseUp",($_=this._leftButton,$bind($_,$_.onUp))); this._middleButton = new flixel_input_mouse_FlxMouseButton(-2); this._rightButton = new flixel_input_mouse_FlxMouseButton(-3); this._stage.addEventListener("middleMouseDown",($_=this._middleButton,$bind($_,$_.onDown))); this._stage.addEventListener("middleMouseUp",($_=this._middleButton,$bind($_,$_.onUp))); this._stage.addEventListener("rightMouseDown",($_=this._rightButton,$bind($_,$_.onDown))); this._stage.addEventListener("rightMouseUp",($_=this._rightButton,$bind($_,$_.onUp))); this._stage.addEventListener("mouseLeave",$bind(this,this.onMouseLeave)); this._stage.addEventListener("mouseWheel",$bind(this,this.onMouseWheel)); flixel_FlxG.signals.postGameStart.add($bind(this,this.onGameStart)); openfl_ui_Mouse.hide(); }; $hxClasses["flixel.input.mouse.FlxMouse"] = flixel_input_mouse_FlxMouse; flixel_input_mouse_FlxMouse.__name__ = ["flixel","input","mouse","FlxMouse"]; flixel_input_mouse_FlxMouse.__interfaces__ = [flixel_input_IFlxInputManager]; flixel_input_mouse_FlxMouse.__super__ = flixel_input_FlxPointer; flixel_input_mouse_FlxMouse.prototype = $extend(flixel_input_FlxPointer.prototype,{ enabled: null ,wheel: null ,cursorContainer: null ,visible: null ,useSystemCursor: null ,_leftButton: null ,_middleButton: null ,_rightButton: null ,_cursor: null ,_cursorBitmapData: null ,_wheelUsed: null ,_visibleWhenFocusLost: null ,_lastX: null ,_lastY: null ,_lastWheel: null ,_lastLeftButtonState: null ,_prevX: null ,_prevY: null ,_stage: null ,load: function(Graphic,Scale,XOffset,YOffset) { if(YOffset == null) { YOffset = 0; } if(XOffset == null) { XOffset = 0; } if(Scale == null) { Scale = 1; } if(this._cursor != null) { flixel_util_FlxDestroyUtil.removeChild(this.cursorContainer,this._cursor); } if(Graphic == null) { Graphic = new flixel_input_mouse__$FlxMouse_GraphicCursor(0,0); } if(js_Boot.__instanceof(Graphic,Class)) { this._cursor = Type.createInstance(Graphic,[]); } else if(js_Boot.__instanceof(Graphic,openfl_display_BitmapData)) { this._cursor = new openfl_display_Bitmap(Graphic); } else if(typeof(Graphic) == "string") { var id = Graphic; var tmp; if(openfl_utils_Assets.exists(id)) { tmp = openfl_utils_Assets.getBitmapData(id,false); } else { var _this = flixel_FlxG.log; tmp = null; } this._cursor = new openfl_display_Bitmap(tmp); } else { this._cursor = new openfl_display_Bitmap(new flixel_input_mouse__$FlxMouse_GraphicCursor(0,0)); } this._cursor.set_x(XOffset); this._cursor.set_y(YOffset); this._cursor.set_scaleX(Scale); this._cursor.set_scaleY(Scale); this.cursorContainer.addChild(this._cursor); } ,unload: function() { if(this._cursor != null) { if(this.cursorContainer.get_visible()) { this.load(); } else { this._cursor = flixel_util_FlxDestroyUtil.removeChild(this.cursorContainer,this._cursor); } } } ,destroy: function() { if(this._stage != null) { this._stage.removeEventListener("mouseDown",($_=this._leftButton,$bind($_,$_.onDown))); this._stage.removeEventListener("mouseUp",($_=this._leftButton,$bind($_,$_.onUp))); this._stage.removeEventListener("middleMouseDown",($_=this._middleButton,$bind($_,$_.onDown))); this._stage.removeEventListener("middleMouseUp",($_=this._middleButton,$bind($_,$_.onUp))); this._stage.removeEventListener("rightMouseDown",($_=this._rightButton,$bind($_,$_.onDown))); this._stage.removeEventListener("rightMouseUp",($_=this._rightButton,$bind($_,$_.onUp))); this._stage.removeEventListener("mouseLeave",$bind(this,this.onMouseLeave)); this._stage.removeEventListener("mouseWheel",$bind(this,this.onMouseWheel)); } this.cursorContainer = null; this._cursor = null; this._leftButton = flixel_util_FlxDestroyUtil.destroy(this._leftButton); this._middleButton = flixel_util_FlxDestroyUtil.destroy(this._middleButton); this._rightButton = flixel_util_FlxDestroyUtil.destroy(this._rightButton); this._cursorBitmapData = flixel_util_FlxDestroyUtil.dispose(this._cursorBitmapData); flixel_FlxG.signals.postGameStart.remove($bind(this,this.onGameStart)); } ,reset: function() { this._leftButton.reset(); this._middleButton.reset(); this._rightButton.reset(); } ,update: function() { this._prevX = this.x; this._prevY = this.y; var newX = flixel_FlxG.game.get_mouseX(); var newY = flixel_FlxG.game.get_mouseY(); this._globalScreenX = newX / flixel_FlxG.scaleMode.scale.x | 0; this._globalScreenY = newY / flixel_FlxG.scaleMode.scale.y | 0; this.updatePositions(); if(this.visible) { this.cursorContainer.set_x(flixel_FlxG.game.get_mouseX()); this.cursorContainer.set_y(flixel_FlxG.game.get_mouseY()); } this._leftButton.update(); this._middleButton.update(); this._rightButton.update(); if(!this._wheelUsed) { this.wheel = 0; } this._wheelUsed = false; } ,onFocus: function() { this.reset(); this.set_useSystemCursor(this.useSystemCursor); this.set_visible(this._visibleWhenFocusLost); } ,onFocusLost: function() { this._visibleWhenFocusLost = this.visible; if(this.visible) { this.set_visible(false); } openfl_ui_Mouse.show(); } ,onGameStart: function() { this.set_visible(this.visible); } ,onMouseWheel: function(FlashEvent) { if(this.enabled) { this._wheelUsed = true; this.wheel = FlashEvent.delta; } } ,onMouseLeave: function(_) { this._rightButton.onUp(); this._middleButton.onUp(); } ,get_justMoved: function() { if(this._prevX == this.x) { return this._prevY != this.y; } else { return true; } } ,get_pressed: function() { var _this = this._leftButton; if(_this.current != 1) { return _this.current == 2; } else { return true; } } ,get_justPressed: function() { return this._leftButton.current == 2; } ,get_justReleased: function() { return this._leftButton.current == -1; } ,get_justPressedTimeInTicks: function() { return this._leftButton.justPressedTimeInTicks; } ,get_pressedRight: function() { var _this = this._rightButton; if(_this.current != 1) { return _this.current == 2; } else { return true; } } ,get_justPressedRight: function() { return this._rightButton.current == 2; } ,get_justReleasedRight: function() { return this._rightButton.current == -1; } ,get_justPressedTimeInTicksRight: function() { return this._rightButton.justPressedTimeInTicks; } ,get_pressedMiddle: function() { var _this = this._middleButton; if(_this.current != 1) { return _this.current == 2; } else { return true; } } ,get_justPressedMiddle: function() { return this._middleButton.current == 2; } ,get_justReleasedMiddle: function() { return this._middleButton.current == -1; } ,get_justPressedTimeInTicksMiddle: function() { return this._middleButton.justPressedTimeInTicks; } ,showSystemCursor: function() { this.cursorContainer.set_visible(false); openfl_ui_Mouse.show(); } ,hideSystemCursor: function() { openfl_ui_Mouse.hide(); if(this.visible) { this.cursorContainer.set_visible(true); } } ,set_useSystemCursor: function(Value) { if(Value) { this.showSystemCursor(); } else { this.hideSystemCursor(); } return this.useSystemCursor = Value; } ,showCursor: function() { if(this.useSystemCursor) { openfl_ui_Mouse.show(); } else { if(this._cursor == null) { this.load(); } this.cursorContainer.set_visible(true); openfl_ui_Mouse.hide(); } } ,hideCursor: function() { this.cursorContainer.set_visible(false); openfl_ui_Mouse.hide(); } ,set_visible: function(Value) { if(Value) { this.showCursor(); } else { this.hideCursor(); } return this.visible = Value; } ,record: function() { if(this._lastX == this._globalScreenX && this._lastY == this._globalScreenY && this._lastLeftButtonState == this._leftButton.current && this._lastWheel == this.wheel) { return null; } this._lastX = this._globalScreenX; this._lastY = this._globalScreenY; this._lastLeftButtonState = this._leftButton.current; this._lastWheel = this.wheel; return new flixel_system_replay_MouseRecord(this._lastX,this._lastY,this._leftButton.current,this._lastWheel); } ,playback: function(Record) { if((this._lastLeftButtonState == 1 || this._lastLeftButtonState == 2) && (Record.button == 0 || Record.button == -1)) { this._stage.dispatchEvent(new openfl_events_MouseEvent("mouseUp",true,false,Record.x,Record.y)); } this._lastLeftButtonState = this._leftButton.current = Record.button; this.wheel = Record.wheel; this._globalScreenX = Record.x; this._globalScreenY = Record.y; this.updatePositions(); } ,__class__: flixel_input_mouse_FlxMouse ,__properties__: {get_justPressedTimeInTicksMiddle:"get_justPressedTimeInTicksMiddle",get_justReleasedMiddle:"get_justReleasedMiddle",get_justPressedMiddle:"get_justPressedMiddle",get_pressedMiddle:"get_pressedMiddle",get_justPressedTimeInTicksRight:"get_justPressedTimeInTicksRight",get_justReleasedRight:"get_justReleasedRight",get_justPressedRight:"get_justPressedRight",get_pressedRight:"get_pressedRight",get_justPressedTimeInTicks:"get_justPressedTimeInTicks",get_justReleased:"get_justReleased",get_justPressed:"get_justPressed",get_pressed:"get_pressed",get_justMoved:"get_justMoved",set_useSystemCursor:"set_useSystemCursor",set_visible:"set_visible"} }); var flixel_input_mouse_FlxMouseButton = function(ID) { this.justPressedTimeInTicks = -1; var point = flixel_math_FlxPoint._pool.get().set(0,0); point._inPool = false; this.justPressedPosition = point; flixel_input_FlxInput.call(this,ID); }; $hxClasses["flixel.input.mouse.FlxMouseButton"] = flixel_input_mouse_FlxMouseButton; flixel_input_mouse_FlxMouseButton.__name__ = ["flixel","input","mouse","FlxMouseButton"]; flixel_input_mouse_FlxMouseButton.__interfaces__ = [flixel_util_IFlxDestroyable]; flixel_input_mouse_FlxMouseButton.getByID = function(id) { switch(id) { case -3: return flixel_FlxG.mouse._rightButton; case -2: return flixel_FlxG.mouse._middleButton; case -1: return flixel_FlxG.mouse._leftButton; } }; flixel_input_mouse_FlxMouseButton.__super__ = flixel_input_FlxInput; flixel_input_mouse_FlxMouseButton.prototype = $extend(flixel_input_FlxInput.prototype,{ justPressedPosition: null ,justPressedTimeInTicks: null ,update: function() { flixel_input_FlxInput.prototype.update.call(this); if(this.current == 2) { this.justPressedPosition.set(flixel_FlxG.mouse.screenX,flixel_FlxG.mouse.screenY); this.justPressedTimeInTicks = flixel_FlxG.game.ticks; } else if(this.current == -1) { flixel_FlxG.swipes.push(new flixel_input_FlxSwipe(this.ID,this.justPressedPosition,flixel_FlxG.mouse.getScreenPosition(),this.justPressedTimeInTicks)); } } ,destroy: function() { this.justPressedPosition = flixel_util_FlxDestroyUtil.put(this.justPressedPosition); } ,onDown: function(_) { if(flixel_FlxG.mouse.enabled) { this.press(); } } ,onUp: function(_) { if(flixel_FlxG.mouse.enabled) { this.release(); } } ,__class__: flixel_input_mouse_FlxMouseButton }); var flixel_input_touch_FlxTouch = function(x,y,pointID) { if(pointID == null) { pointID = 0; } if(y == null) { y = 0; } if(x == null) { x = 0; } this.justPressedTimeInTicks = -1; var point = flixel_math_FlxPoint._pool.get().set(0,0); point._inPool = false; this.justPressedPosition = point; this.flashPoint = new openfl_geom_Point(); flixel_input_FlxPointer.call(this); this.input = new flixel_input_FlxInput(pointID); this.setXY(x,y); }; $hxClasses["flixel.input.touch.FlxTouch"] = flixel_input_touch_FlxTouch; flixel_input_touch_FlxTouch.__name__ = ["flixel","input","touch","FlxTouch"]; flixel_input_touch_FlxTouch.__interfaces__ = [flixel_input_IFlxInput,flixel_util_IFlxDestroyable]; flixel_input_touch_FlxTouch.__super__ = flixel_input_FlxPointer; flixel_input_touch_FlxTouch.prototype = $extend(flixel_input_FlxPointer.prototype,{ input: null ,flashPoint: null ,justPressedPosition: null ,justPressedTimeInTicks: null ,destroy: function() { this.input = null; this.justPressedPosition = flixel_util_FlxDestroyUtil.put(this.justPressedPosition); this.flashPoint = null; } ,recycle: function(x,y,pointID) { this.setXY(x,y); this.input.ID = pointID; this.input.reset(); } ,update: function() { this.input.update(); if(this.input.current == 2) { this.justPressedPosition.set(this.screenX,this.screenY); this.justPressedTimeInTicks = flixel_FlxG.game.ticks; } else if(this.input.current == -1) { flixel_FlxG.swipes.push(new flixel_input_FlxSwipe(this.input.ID,this.justPressedPosition,this.getScreenPosition(),this.justPressedTimeInTicks)); } } ,setXY: function(X,Y) { this.flashPoint.setTo(X,Y); this.flashPoint = flixel_FlxG.game.globalToLocal(this.flashPoint); this._globalScreenX = this.flashPoint.x / flixel_FlxG.scaleMode.scale.x | 0; this._globalScreenY = this.flashPoint.y / flixel_FlxG.scaleMode.scale.y | 0; this.updatePositions(); } ,get_touchPointID: function() { return this.input.ID; } ,get_justReleased: function() { return this.input.current == -1; } ,get_released: function() { var _this = this.input; if(_this.current != 0) { return _this.current == -1; } else { return true; } } ,get_pressed: function() { var _this = this.input; if(_this.current != 1) { return _this.current == 2; } else { return true; } } ,get_justPressed: function() { return this.input.current == 2; } ,__class__: flixel_input_touch_FlxTouch ,__properties__: {get_justPressed:"get_justPressed",get_pressed:"get_pressed",get_released:"get_released",get_justReleased:"get_justReleased",get_touchPointID:"get_touchPointID"} }); var flixel_input_touch_FlxTouchManager = function() { this.list = []; this._inactiveTouches = []; this._touchesCache = new haxe_ds_IntMap(); flixel_input_touch_FlxTouchManager.maxTouchPoints = openfl_ui_Multitouch.maxTouchPoints; openfl_ui_Multitouch.inputMode = 2; openfl_Lib.get_current().stage.addEventListener("touchBegin",$bind(this,this.handleTouchBegin)); openfl_Lib.get_current().stage.addEventListener("touchEnd",$bind(this,this.handleTouchEnd)); openfl_Lib.get_current().stage.addEventListener("touchMove",$bind(this,this.handleTouchMove)); }; $hxClasses["flixel.input.touch.FlxTouchManager"] = flixel_input_touch_FlxTouchManager; flixel_input_touch_FlxTouchManager.__name__ = ["flixel","input","touch","FlxTouchManager"]; flixel_input_touch_FlxTouchManager.__interfaces__ = [flixel_input_IFlxInputManager]; flixel_input_touch_FlxTouchManager.prototype = { list: null ,_inactiveTouches: null ,_touchesCache: null ,getByID: function(TouchPointID) { return this._touchesCache.h[TouchPointID]; } ,getFirst: function() { if(this.list[0] != null) { return this.list[0]; } else { return null; } } ,destroy: function() { var _g = 0; var _g1 = this.list; while(_g < _g1.length) { var touch = _g1[_g]; ++_g; touch.destroy(); } this.list = null; var _g2 = 0; var _g11 = this._inactiveTouches; while(_g2 < _g11.length) { var touch1 = _g11[_g2]; ++_g2; touch1.destroy(); } this._inactiveTouches = null; this._touchesCache = null; } ,justStarted: function(TouchArray) { if(TouchArray == null) { TouchArray = []; } var touchLen = TouchArray.length; if(touchLen > 0) { TouchArray.splice(0,touchLen); } var _g = 0; var _g1 = this.list; while(_g < _g1.length) { var touch = _g1[_g]; ++_g; if(touch.input.current == 2) { TouchArray.push(touch); } } return TouchArray; } ,justReleased: function(TouchArray) { if(TouchArray == null) { TouchArray = []; } var touchLen = TouchArray.length; if(touchLen > 0) { TouchArray.splice(0,touchLen); } var _g = 0; var _g1 = this.list; while(_g < _g1.length) { var touch = _g1[_g]; ++_g; if(touch.input.current == -1) { TouchArray.push(touch); } } return TouchArray; } ,reset: function() { var key = this._touchesCache.keys(); while(key.hasNext()) { var key1 = key.next(); this._touchesCache.remove(key1); } var _g = 0; var _g1 = this.list; while(_g < _g1.length) { var touch = _g1[_g]; ++_g; touch.input.reset(); this._inactiveTouches.push(touch); } this.list.splice(0,this.list.length); } ,handleTouchBegin: function(FlashEvent) { var touch = this._touchesCache.h[FlashEvent.touchPointID]; if(touch != null) { touch.setXY(FlashEvent.stageX | 0,FlashEvent.stageY | 0); } else { touch = this.recycle(FlashEvent.stageX | 0,FlashEvent.stageY | 0,FlashEvent.touchPointID); } touch.input.press(); } ,handleTouchEnd: function(FlashEvent) { var touch = this._touchesCache.h[FlashEvent.touchPointID]; if(touch != null) { touch.input.release(); } } ,handleTouchMove: function(FlashEvent) { var touch = this._touchesCache.h[FlashEvent.touchPointID]; if(touch != null) { touch.setXY(FlashEvent.stageX | 0,FlashEvent.stageY | 0); } } ,add: function(Touch) { this.list.push(Touch); this._touchesCache.h[Touch.input.ID] = Touch; return Touch; } ,recycle: function(X,Y,PointID) { if(this._inactiveTouches.length > 0) { var touch = this._inactiveTouches.pop(); touch.recycle(X,Y,PointID); return this.add(touch); } return this.add(new flixel_input_touch_FlxTouch(X,Y,PointID)); } ,update: function() { var i = this.list.length - 1; var touch; while(i >= 0) { touch = this.list[i]; var tmp; var _this = touch.input; if(_this.current == 0 || _this.current == -1) { tmp = touch.input.current != -1; } else { tmp = false; } if(tmp) { touch.input.reset(); this._touchesCache.remove(touch.input.ID); this.list.splice(i,1); this._inactiveTouches.push(touch); } else { touch.update(); } --i; } } ,onFocus: function() { } ,onFocusLost: function() { this.reset(); } ,__class__: flixel_input_touch_FlxTouchManager }; var flixel_math_FlxAngle = function() { }; $hxClasses["flixel.math.FlxAngle"] = flixel_math_FlxAngle; flixel_math_FlxAngle.__name__ = ["flixel","math","FlxAngle"]; flixel_math_FlxAngle.__properties__ = {get_TO_RAD:"get_TO_RAD",get_TO_DEG:"get_TO_DEG"}; flixel_math_FlxAngle.wrapAngle = function(angle) { if(angle > 180) { angle = flixel_math_FlxAngle.wrapAngle(angle - 360); } else if(angle < -180) { angle = flixel_math_FlxAngle.wrapAngle(angle + 360); } return angle; }; flixel_math_FlxAngle.asDegrees = function(radians) { return radians * (180 / Math.PI); }; flixel_math_FlxAngle.asRadians = function(degrees) { return degrees * (Math.PI / 180); }; flixel_math_FlxAngle.angleBetween = function(SpriteA,SpriteB,AsDegrees) { if(AsDegrees == null) { AsDegrees = false; } var dx = SpriteB.x + SpriteB.origin.x - (SpriteA.x + SpriteA.origin.x); var dy = SpriteB.y + SpriteB.origin.y - (SpriteA.y + SpriteA.origin.y); if(AsDegrees) { return Math.atan2(dy,dx) * (180 / Math.PI); } else { return Math.atan2(dy,dx); } }; flixel_math_FlxAngle.angleBetweenPoint = function(Sprite,Target,AsDegrees) { if(AsDegrees == null) { AsDegrees = false; } var dx = Target.x - (Sprite.x + Sprite.origin.x); var dy = Target.y - (Sprite.y + Sprite.origin.y); if(Target._weak) { Target.put(); } if(AsDegrees) { return Math.atan2(dy,dx) * (180 / Math.PI); } else { return Math.atan2(dy,dx); } }; flixel_math_FlxAngle.angleBetweenMouse = function(Object,AsDegrees) { if(AsDegrees == null) { AsDegrees = false; } if(Object == null) { return 0; } var p = Object.getScreenPosition(); var dx = flixel_FlxG.mouse.screenX - p.x; var dy = flixel_FlxG.mouse.screenY - p.y; p.put(); if(AsDegrees) { return Math.atan2(dy,dx) * (180 / Math.PI); } else { return Math.atan2(dy,dx); } }; flixel_math_FlxAngle.angleBetweenTouch = function(Object,Touch,AsDegrees) { if(AsDegrees == null) { AsDegrees = false; } var p = Object.getScreenPosition(); var dx = Touch.screenX - p.x; var dy = Touch.screenY - p.y; p.put(); if(AsDegrees) { return Math.atan2(dy,dx) * (180 / Math.PI); } else { return Math.atan2(dy,dx); } }; flixel_math_FlxAngle.angleFromFacing = function(FacingBitmask,AsDegrees) { if(AsDegrees == null) { AsDegrees = false; } var degrees; switch(FacingBitmask) { case 1: degrees = 180; break; case 16: degrees = 0; break; case 256: degrees = -90; break; case 4096: degrees = 90; break; default: var f = FacingBitmask; if(f == 257) { degrees = -135; } else { var f1 = FacingBitmask; if(f1 == 272) { degrees = -45; } else { var f2 = FacingBitmask; if(f2 == 4097) { degrees = 135; } else { var f3 = FacingBitmask; if(f3 == 4112) { degrees = 45; } else { degrees = 0; } } } } } if(AsDegrees) { return degrees; } else { return degrees * (Math.PI / 180); } }; flixel_math_FlxAngle.getCartesianCoords = function(Radius,Angle,point) { var p = point; if(p == null) { var point1 = flixel_math_FlxPoint._pool.get().set(0,0); point1._inPool = false; p = point1; } p.set_x(Radius * Math.cos(Angle * (Math.PI / 180))); p.set_y(Radius * Math.sin(Angle * (Math.PI / 180))); return p; }; flixel_math_FlxAngle.getPolarCoords = function(X,Y,point) { var p = point; if(p == null) { var point1 = flixel_math_FlxPoint._pool.get().set(0,0); point1._inPool = false; p = point1; } p.set_x(Math.sqrt(X * X + Y * Y)); p.set_y(Math.atan2(Y,X) * (180 / Math.PI)); return p; }; flixel_math_FlxAngle.get_TO_DEG = function() { return 180 / Math.PI; }; flixel_math_FlxAngle.get_TO_RAD = function() { return Math.PI / 180; }; var flixel_math_FlxMath = function() { }; $hxClasses["flixel.math.FlxMath"] = flixel_math_FlxMath; flixel_math_FlxMath.__name__ = ["flixel","math","FlxMath"]; flixel_math_FlxMath.roundDecimal = function(Value,Precision) { var mult = 1; var _g1 = 0; var _g = Precision; while(_g1 < _g) { var i = _g1++; mult *= 10; } return Math.round(Value * mult) / mult; }; flixel_math_FlxMath.bound = function(Value,Min,Max) { var lowerBound = Min != null && Value < Min ? Min : Value; if(Max != null && lowerBound > Max) { return Max; } else { return lowerBound; } }; flixel_math_FlxMath.lerp = function(a,b,ratio) { return a + ratio * (b - a); }; flixel_math_FlxMath.inBounds = function(Value,Min,Max) { if(Min == null || Value >= Min) { if(Max != null) { return Value <= Max; } else { return true; } } else { return false; } }; flixel_math_FlxMath.isOdd = function(n) { return ((n | 0) & 1) != 0; }; flixel_math_FlxMath.isEven = function(n) { return ((n | 0) & 1) == 0; }; flixel_math_FlxMath.numericComparison = function(a,b) { if(b > a) { return -1; } else if(a > b) { return 1; } return 0; }; flixel_math_FlxMath.pointInCoordinates = function(pointX,pointY,rectX,rectY,rectWidth,rectHeight) { if(pointX >= rectX && pointX <= rectX + rectWidth) { if(pointY >= rectY && pointY <= rectY + rectHeight) { return true; } } return false; }; flixel_math_FlxMath.pointInFlxRect = function(pointX,pointY,rect) { if(pointX >= rect.x && pointX <= rect.x + rect.width && pointY >= rect.y) { return pointY <= rect.y + rect.height; } else { return false; } }; flixel_math_FlxMath.mouseInFlxRect = function(useWorldCoords,rect) { if(rect == null) { return true; } if(useWorldCoords) { return flixel_math_FlxMath.pointInFlxRect(Math.floor(flixel_FlxG.mouse.x),Math.floor(flixel_FlxG.mouse.y),rect); } else { return flixel_math_FlxMath.pointInFlxRect(flixel_FlxG.mouse.screenX,flixel_FlxG.mouse.screenY,rect); } }; flixel_math_FlxMath.pointInRectangle = function(pointX,pointY,rect) { if(pointX >= rect.x && pointX <= rect.get_right() && pointY >= rect.y) { return pointY <= rect.get_bottom(); } else { return false; } }; flixel_math_FlxMath.maxAdd = function(value,amount,max,min) { if(min == null) { min = 0; } value += amount; if(value > max) { value = max; } else if(value <= min) { value = min; } return value; }; flixel_math_FlxMath.wrap = function(value,min,max) { var range = max - min + 1; if(value < min) { value += range * ((min - value) / range + 1 | 0); } return min + (value - min) % range; }; flixel_math_FlxMath.remapToRange = function(value,start1,stop1,start2,stop2) { return start2 + (value - start1) * ((stop2 - start2) / (stop1 - start1)); }; flixel_math_FlxMath.dotProduct = function(ax,ay,bx,by) { return ax * bx + ay * by; }; flixel_math_FlxMath.vectorLength = function(dx,dy) { return Math.sqrt(dx * dx + dy * dy); }; flixel_math_FlxMath.distanceBetween = function(SpriteA,SpriteB) { var dx = SpriteA.x + SpriteA.origin.x - (SpriteB.x + SpriteB.origin.x); var dy = SpriteA.y + SpriteA.origin.y - (SpriteB.y + SpriteB.origin.y); return Math.sqrt(dx * dx + dy * dy) | 0; }; flixel_math_FlxMath.isDistanceWithin = function(SpriteA,SpriteB,Distance,IncludeEqual) { if(IncludeEqual == null) { IncludeEqual = false; } var dx = SpriteA.x + SpriteA.origin.x - (SpriteB.x + SpriteB.origin.x); var dy = SpriteA.y + SpriteA.origin.y - (SpriteB.y + SpriteB.origin.y); if(IncludeEqual) { return dx * dx + dy * dy <= Distance * Distance; } else { return dx * dx + dy * dy < Distance * Distance; } }; flixel_math_FlxMath.distanceToPoint = function(Sprite,Target) { var dx = Sprite.x + Sprite.origin.x - Target.x; var dy = Sprite.y + Sprite.origin.y - Target.y; if(Target._weak) { Target.put(); } return Math.sqrt(dx * dx + dy * dy) | 0; }; flixel_math_FlxMath.isDistanceToPointWithin = function(Sprite,Target,Distance,IncludeEqual) { if(IncludeEqual == null) { IncludeEqual = false; } var dx = Sprite.x + Sprite.origin.x - Target.x; var dy = Sprite.y + Sprite.origin.y - Target.y; if(Target._weak) { Target.put(); } if(IncludeEqual) { return dx * dx + dy * dy <= Distance * Distance; } else { return dx * dx + dy * dy < Distance * Distance; } }; flixel_math_FlxMath.distanceToMouse = function(Sprite) { var dx = Sprite.x + Sprite.origin.x - flixel_FlxG.mouse.screenX; var dy = Sprite.y + Sprite.origin.y - flixel_FlxG.mouse.screenY; return Math.sqrt(dx * dx + dy * dy) | 0; }; flixel_math_FlxMath.isDistanceToMouseWithin = function(Sprite,Distance,IncludeEqual) { if(IncludeEqual == null) { IncludeEqual = false; } var dx = Sprite.x + Sprite.origin.x - flixel_FlxG.mouse.screenX; var dy = Sprite.y + Sprite.origin.y - flixel_FlxG.mouse.screenY; if(IncludeEqual) { return dx * dx + dy * dy <= Distance * Distance; } else { return dx * dx + dy * dy < Distance * Distance; } }; flixel_math_FlxMath.distanceToTouch = function(Sprite,Touch) { var dx = Sprite.x + Sprite.origin.x - Touch.screenX; var dy = Sprite.y + Sprite.origin.y - Touch.screenY; return Math.sqrt(dx * dx + dy * dy) | 0; }; flixel_math_FlxMath.isDistanceToTouchWithin = function(Sprite,Touch,Distance,IncludeEqual) { if(IncludeEqual == null) { IncludeEqual = false; } var dx = Sprite.x + Sprite.origin.x - Touch.screenX; var dy = Sprite.y + Sprite.origin.y - Touch.screenY; if(IncludeEqual) { return dx * dx + dy * dy <= Distance * Distance; } else { return dx * dx + dy * dy < Distance * Distance; } }; flixel_math_FlxMath.getDecimals = function(n) { var helperArray = (n == null ? "null" : "" + n).split("."); var decimals = 0; if(helperArray.length > 1) { decimals = helperArray[1].length; } return decimals; }; flixel_math_FlxMath.equal = function(aValueA,aValueB,aDiff) { if(aDiff == null) { aDiff = 0.0000001; } return Math.abs(aValueA - aValueB) <= aDiff; }; flixel_math_FlxMath.signOf = function(n) { if(n < 0) { return -1; } else { return 1; } }; flixel_math_FlxMath.sameSign = function(a,b) { return (a < 0 ? -1 : 1) == (b < 0 ? -1 : 1); }; flixel_math_FlxMath.fastSin = function(n) { n *= 0.3183098862; if(n > 1) { n -= Math.ceil(n) >> 1 << 1; } else if(n < -1) { n += Math.ceil(-n) >> 1 << 1; } if(n > 0) { return n * (3.1 + n * (0.5 + n * (-7.2 + n * 3.6))); } else { return n * (3.1 - n * (0.5 + n * (7.2 + n * 3.6))); } }; flixel_math_FlxMath.fastCos = function(n) { var n1 = n + 1.570796327; n1 *= 0.3183098862; if(n1 > 1) { n1 -= Math.ceil(n1) >> 1 << 1; } else if(n1 < -1) { n1 += Math.ceil(-n1) >> 1 << 1; } if(n1 > 0) { return n1 * (3.1 + n1 * (0.5 + n1 * (-7.2 + n1 * 3.6))); } else { return n1 * (3.1 - n1 * (0.5 + n1 * (7.2 + n1 * 3.6))); } }; flixel_math_FlxMath.sinh = function(n) { return (Math.exp(n) - Math.exp(-n)) / 2; }; flixel_math_FlxMath.maxInt = function(a,b) { if(a > b) { return a; } else { return b; } }; flixel_math_FlxMath.minInt = function(a,b) { if(a > b) { return b; } else { return a; } }; flixel_math_FlxMath.absInt = function(n) { if(n > 0) { return n; } else { return -n; } }; var flixel_math_FlxMatrix = function(a,b,c,d,tx,ty) { openfl_geom_Matrix.call(this,a,b,c,d,tx,ty); }; $hxClasses["flixel.math.FlxMatrix"] = flixel_math_FlxMatrix; flixel_math_FlxMatrix.__name__ = ["flixel","math","FlxMatrix"]; flixel_math_FlxMatrix.__super__ = openfl_geom_Matrix; flixel_math_FlxMatrix.prototype = $extend(openfl_geom_Matrix.prototype,{ rotateWithTrig: function(cos,sin) { var a1 = this.a * cos - this.b * sin; this.b = this.a * sin + this.b * cos; this.a = a1; var c1 = this.c * cos - this.d * sin; this.d = this.c * sin + this.d * cos; this.c = c1; var tx1 = this.tx * cos - this.ty * sin; this.ty = this.tx * sin + this.ty * cos; this.tx = tx1; return this; } ,rotateBy180: function() { this.setTo(-this.a,-this.b,-this.c,-this.d,-this.tx,-this.ty); return this; } ,rotateByPositive90: function() { this.setTo(-this.b,this.a,-this.d,this.c,-this.ty,this.tx); return this; } ,rotateByNegative90: function() { this.setTo(this.b,-this.a,this.d,-this.c,this.ty,-this.tx); return this; } ,transformX: function(px,py) { return px * this.a + py * this.c + this.tx; } ,transformY: function(px,py) { return px * this.b + py * this.d + this.ty; } ,__class__: flixel_math_FlxMatrix }); var flixel_math_FlxCallbackPoint = function(setXCallback,setYCallback,setXYCallback) { flixel_math_FlxPoint.call(this); this._setXCallback = setXCallback; this._setYCallback = setXYCallback; this._setXYCallback = setXYCallback; if(this._setXCallback != null) { if(this._setYCallback == null) { this._setYCallback = setXCallback; } if(this._setXYCallback == null) { this._setXYCallback = setXCallback; } } }; $hxClasses["flixel.math.FlxCallbackPoint"] = flixel_math_FlxCallbackPoint; flixel_math_FlxCallbackPoint.__name__ = ["flixel","math","FlxCallbackPoint"]; flixel_math_FlxCallbackPoint.__super__ = flixel_math_FlxPoint; flixel_math_FlxCallbackPoint.prototype = $extend(flixel_math_FlxPoint.prototype,{ _setXCallback: null ,_setYCallback: null ,_setXYCallback: null ,set: function(X,Y) { if(Y == null) { Y = 0; } if(X == null) { X = 0; } flixel_math_FlxPoint.prototype.set.call(this,X,Y); if(this._setXYCallback != null) { this._setXYCallback(this); } return this; } ,set_x: function(Value) { flixel_math_FlxPoint.prototype.set_x.call(this,Value); if(this._setXCallback != null) { this._setXCallback(this); } return Value; } ,set_y: function(Value) { flixel_math_FlxPoint.prototype.set_y.call(this,Value); if(this._setYCallback != null) { this._setYCallback(this); } return Value; } ,destroy: function() { flixel_math_FlxPoint.prototype.destroy.call(this); this._setXCallback = null; this._setYCallback = null; this._setXYCallback = null; } ,put: function() { } ,__class__: flixel_math_FlxCallbackPoint }); var flixel_math__$FlxVector_FlxVector_$Impl_$ = {}; $hxClasses["flixel.math._FlxVector.FlxVector_Impl_"] = flixel_math__$FlxVector_FlxVector_$Impl_$; flixel_math__$FlxVector_FlxVector_$Impl_$.__name__ = ["flixel","math","_FlxVector","FlxVector_Impl_"]; flixel_math__$FlxVector_FlxVector_$Impl_$.__properties__ = {get_ly:"get_ly",get_lx:"get_lx",get_ry:"get_ry",get_rx:"get_rx",set_radians:"set_radians",get_radians:"get_radians",set_degrees:"set_degrees",get_degrees:"get_degrees",get_lengthSquared:"get_lengthSquared",set_length:"set_length",get_length:"get_length",get_dy:"get_dy",get_dx:"get_dx",set_y:"set_y",get_y:"get_y",set_x:"set_x",get_x:"get_x",get_pool:"get_pool"}; flixel_math__$FlxVector_FlxVector_$Impl_$.get = function(x,y) { if(y == null) { y = 0; } if(x == null) { x = 0; } var point = flixel_math_FlxPoint._pool.get().set(x,y); point._inPool = false; return point; }; flixel_math__$FlxVector_FlxVector_$Impl_$.weak = function(x,y) { if(y == null) { y = 0; } if(x == null) { x = 0; } var point = flixel_math_FlxPoint._pool.get().set(x,y); point._inPool = false; var point1 = point; point1._weak = true; return point1; }; flixel_math__$FlxVector_FlxVector_$Impl_$._new = function(x,y) { if(y == null) { y = 0; } if(x == null) { x = 0; } var this1 = new flixel_math_FlxPoint(x,y); return this1; }; flixel_math__$FlxVector_FlxVector_$Impl_$.set = function(this1,x,y) { if(y == null) { y = 0; } if(x == null) { x = 0; } return this1.set(x,y); }; flixel_math__$FlxVector_FlxVector_$Impl_$.add = function(this1,x,y) { if(y == null) { y = 0; } if(x == null) { x = 0; } var _g = this1; _g.set_x(_g.x + x); var _g1 = this1; _g1.set_y(_g1.y + y); return this1; }; flixel_math__$FlxVector_FlxVector_$Impl_$.addPoint = function(this1,point) { return this1.addPoint(point); }; flixel_math__$FlxVector_FlxVector_$Impl_$.subtract = function(this1,x,y) { if(y == null) { y = 0; } if(x == null) { x = 0; } var _g = this1; _g.set_x(_g.x - x); var _g1 = this1; _g1.set_y(_g1.y - y); return this1; }; flixel_math__$FlxVector_FlxVector_$Impl_$.subtractPoint = function(this1,point) { return this1.subtractPoint(point); }; flixel_math__$FlxVector_FlxVector_$Impl_$.scale = function(this1,k) { return this1.scale(k); }; flixel_math__$FlxVector_FlxVector_$Impl_$.scaleNew = function(this1,k) { return flixel_math__$FlxVector_FlxVector_$Impl_$.clone(this1).scale(k); }; flixel_math__$FlxVector_FlxVector_$Impl_$.addNew = function(this1,v) { return flixel_math__$FlxVector_FlxVector_$Impl_$.clone(this1).addPoint(v); }; flixel_math__$FlxVector_FlxVector_$Impl_$.subtractNew = function(this1,v) { return flixel_math__$FlxVector_FlxVector_$Impl_$.clone(this1).subtractPoint(v); }; flixel_math__$FlxVector_FlxVector_$Impl_$.copyFrom = function(this1,point) { this1.set_x(point.x); this1.set_y(point.y); if(point._weak) { point.put(); } return this1; }; flixel_math__$FlxVector_FlxVector_$Impl_$.copyFromFlash = function(this1,flashPoint) { this1.set_x(flashPoint.x); this1.set_y(flashPoint.y); return this1; }; flixel_math__$FlxVector_FlxVector_$Impl_$.floor = function(this1) { this1.set_x(Math.floor(this1.x)); this1.set_y(Math.floor(this1.y)); return this1; }; flixel_math__$FlxVector_FlxVector_$Impl_$.ceil = function(this1) { this1.set_x(Math.ceil(this1.x)); this1.set_y(Math.ceil(this1.y)); return this1; }; flixel_math__$FlxVector_FlxVector_$Impl_$.round = function(this1) { this1.set_x(Math.round(this1.x)); this1.set_y(Math.round(this1.y)); return this1; }; flixel_math__$FlxVector_FlxVector_$Impl_$.rotate = function(this1,pivot,angle) { return this1.rotate(pivot,angle); }; flixel_math__$FlxVector_FlxVector_$Impl_$.transform = function(this1,matrix) { var x1 = this1.x * matrix.a + this1.y * matrix.c + matrix.tx; var y1 = this1.x * matrix.b + this1.y * matrix.d + matrix.ty; return this1.set(x1,y1); }; flixel_math__$FlxVector_FlxVector_$Impl_$.dotProduct = function(this1,v) { var dp = this1.x * v.x + this1.y * v.y; if(v._weak) { v.put(); } return dp; }; flixel_math__$FlxVector_FlxVector_$Impl_$.dotProductWeak = function(this1,v) { return this1.x * v.x + this1.y * v.y; }; flixel_math__$FlxVector_FlxVector_$Impl_$.dotProdWithNormalizing = function(this1,v) { var normalized = flixel_math__$FlxVector_FlxVector_$Impl_$.normalize(flixel_math__$FlxVector_FlxVector_$Impl_$.clone(v,flixel_math__$FlxVector_FlxVector_$Impl_$._vector1)); if(v._weak) { v.put(); } return this1.x * normalized.x + this1.y * normalized.y; }; flixel_math__$FlxVector_FlxVector_$Impl_$.isPerpendicular = function(this1,v) { var dp = this1.x * v.x + this1.y * v.y; if(v._weak) { v.put(); } return Math.abs(dp) < 9.9999999999999984e-015; }; flixel_math__$FlxVector_FlxVector_$Impl_$.crossProductLength = function(this1,v) { var cp = this1.x * v.y - this1.y * v.x; if(v._weak) { v.put(); } return cp; }; flixel_math__$FlxVector_FlxVector_$Impl_$.crossProductLengthWeak = function(this1,v) { return this1.x * v.y - this1.y * v.x; }; flixel_math__$FlxVector_FlxVector_$Impl_$.isParallel = function(this1,v) { var p = Math.abs(this1.x * v.y - this1.y * v.x) < 9.9999999999999984e-015; if(v._weak) { v.put(); } return p; }; flixel_math__$FlxVector_FlxVector_$Impl_$.isParallelWeak = function(this1,v) { return Math.abs(this1.x * v.y - this1.y * v.x) < 9.9999999999999984e-015; }; flixel_math__$FlxVector_FlxVector_$Impl_$.isZero = function(this1) { if(Math.abs(this1.x) < 0.0000001) { return Math.abs(this1.y) < 0.0000001; } else { return false; } }; flixel_math__$FlxVector_FlxVector_$Impl_$.zero = function(this1) { this1.set_x(this1.set_y(0)); return this1; }; flixel_math__$FlxVector_FlxVector_$Impl_$.normalize = function(this1) { if(Math.abs(this1.x) < 0.0000001 && Math.abs(this1.y) < 0.0000001) { return this1; } return this1.scale(1 / Math.sqrt(this1.x * this1.x + this1.y * this1.y)); }; flixel_math__$FlxVector_FlxVector_$Impl_$.isNormalized = function(this1) { return Math.abs(this1.x * this1.x + this1.y * this1.y - 1) < 9.9999999999999984e-015; }; flixel_math__$FlxVector_FlxVector_$Impl_$.rotateByRadians = function(this1,rads) { var s = Math.sin(rads); var c = Math.cos(rads); var tempX = this1.x; this1.set_x(tempX * c - this1.y * s); this1.set_y(tempX * s + this1.y * c); return this1; }; flixel_math__$FlxVector_FlxVector_$Impl_$.rotateByDegrees = function(this1,degs) { var rads = degs * (Math.PI / 180); var s = Math.sin(rads); var c = Math.cos(rads); var tempX = this1.x; this1.set_x(tempX * c - this1.y * s); this1.set_y(tempX * s + this1.y * c); return this1; }; flixel_math__$FlxVector_FlxVector_$Impl_$.rotateWithTrig = function(this1,sin,cos) { var tempX = this1.x; this1.set_x(tempX * cos - this1.y * sin); this1.set_y(tempX * sin + this1.y * cos); return this1; }; flixel_math__$FlxVector_FlxVector_$Impl_$.rightNormal = function(this1,vec) { if(vec == null) { var point = flixel_math_FlxPoint._pool.get().set(0,0); point._inPool = false; vec = point; } vec.set(-this1.y,this1.x); return vec; }; flixel_math__$FlxVector_FlxVector_$Impl_$.leftNormal = function(this1,vec) { if(vec == null) { var point = flixel_math_FlxPoint._pool.get().set(0,0); point._inPool = false; vec = point; } vec.set(this1.y,-this1.x); return vec; }; flixel_math__$FlxVector_FlxVector_$Impl_$.negate = function(this1) { var _g = this1; _g.set_x(_g.x * -1); var _g1 = this1; _g1.set_y(_g1.y * -1); return this1; }; flixel_math__$FlxVector_FlxVector_$Impl_$.negateNew = function(this1) { var this2 = flixel_math__$FlxVector_FlxVector_$Impl_$.clone(this1); var _g = this2; _g.set_x(_g.x * -1); var _g1 = this2; _g1.set_y(_g1.y * -1); return this2; }; flixel_math__$FlxVector_FlxVector_$Impl_$.projectTo = function(this1,v,proj) { var dp = this1.x * v.x + this1.y * v.y; var lenSq = v.x * v.x + v.y * v.y; if(proj == null) { var point = flixel_math_FlxPoint._pool.get().set(0,0); point._inPool = false; proj = point; } proj.set(dp * v.x / lenSq,dp * v.y / lenSq); if(v._weak) { v.put(); } return proj; }; flixel_math__$FlxVector_FlxVector_$Impl_$.projectToNormalized = function(this1,v,proj) { var proj1 = proj; var dp = this1.x * v.x + this1.y * v.y; if(proj1 == null) { var point = flixel_math_FlxPoint._pool.get().set(0,0); point._inPool = false; proj1 = point; } proj = proj1.set(dp * v.x,dp * v.y); if(v._weak) { v.put(); } return proj; }; flixel_math__$FlxVector_FlxVector_$Impl_$.projectToNormalizedWeak = function(this1,v,proj) { var dp = this1.x * v.x + this1.y * v.y; if(proj == null) { var point = flixel_math_FlxPoint._pool.get().set(0,0); point._inPool = false; proj = point; } return proj.set(dp * v.x,dp * v.y); }; flixel_math__$FlxVector_FlxVector_$Impl_$.perpProduct = function(this1,v) { var pp = this1.y * v.x + -this1.x * v.y; if(v._weak) { v.put(); } return pp; }; flixel_math__$FlxVector_FlxVector_$Impl_$.perpProductWeak = function(this1,v) { return this1.y * v.x + -this1.x * v.y; }; flixel_math__$FlxVector_FlxVector_$Impl_$.ratio = function(this1,a,b,v) { var r; if(Math.abs(this1.x * v.y - this1.y * v.x) < 9.9999999999999984e-015) { r = NaN; } else if(this1.x * this1.x + this1.y * this1.y < 9.9999999999999984e-015 || v.x * v.x + v.y * v.y < 9.9999999999999984e-015) { r = NaN; } else { flixel_math__$FlxVector_FlxVector_$Impl_$._vector1 = flixel_math__$FlxVector_FlxVector_$Impl_$.clone(b,flixel_math__$FlxVector_FlxVector_$Impl_$._vector1); var _this = flixel_math__$FlxVector_FlxVector_$Impl_$._vector1; var _g = _this; _g.set_x(_g.x - a.x); var _g1 = _this; _g1.set_y(_g1.y - a.y); var this2 = flixel_math__$FlxVector_FlxVector_$Impl_$._vector1; r = (this2.y * v.x + -this2.x * v.y) / (this1.y * v.x + -this1.x * v.y); } if(a._weak) { a.put(); } if(b._weak) { b.put(); } if(v._weak) { v.put(); } return r; }; flixel_math__$FlxVector_FlxVector_$Impl_$.ratioWeak = function(this1,a,b,v) { if(Math.abs(this1.x * v.y - this1.y * v.x) < 9.9999999999999984e-015) { return NaN; } if(this1.x * this1.x + this1.y * this1.y < 9.9999999999999984e-015 || v.x * v.x + v.y * v.y < 9.9999999999999984e-015) { return NaN; } flixel_math__$FlxVector_FlxVector_$Impl_$._vector1 = flixel_math__$FlxVector_FlxVector_$Impl_$.clone(b,flixel_math__$FlxVector_FlxVector_$Impl_$._vector1); var _this = flixel_math__$FlxVector_FlxVector_$Impl_$._vector1; var _g = _this; _g.set_x(_g.x - a.x); var _g1 = _this; _g1.set_y(_g1.y - a.y); var this2 = flixel_math__$FlxVector_FlxVector_$Impl_$._vector1; return (this2.y * v.x + -this2.x * v.y) / (this1.y * v.x + -this1.x * v.y); }; flixel_math__$FlxVector_FlxVector_$Impl_$.findIntersection = function(this1,a,b,v,intersection) { var t; if(Math.abs(this1.x * v.y - this1.y * v.x) < 9.9999999999999984e-015) { t = NaN; } else if(this1.x * this1.x + this1.y * this1.y < 9.9999999999999984e-015 || v.x * v.x + v.y * v.y < 9.9999999999999984e-015) { t = NaN; } else { flixel_math__$FlxVector_FlxVector_$Impl_$._vector1 = flixel_math__$FlxVector_FlxVector_$Impl_$.clone(b,flixel_math__$FlxVector_FlxVector_$Impl_$._vector1); var _this = flixel_math__$FlxVector_FlxVector_$Impl_$._vector1; var _g = _this; _g.set_x(_g.x - a.x); var _g1 = _this; _g1.set_y(_g1.y - a.y); var this2 = flixel_math__$FlxVector_FlxVector_$Impl_$._vector1; t = (this2.y * v.x + -this2.x * v.y) / (this1.y * v.x + -this1.x * v.y); } if(intersection == null) { var point = flixel_math_FlxPoint._pool.get().set(0,0); point._inPool = false; intersection = point; } if(isNaN(t)) { intersection.set(NaN,NaN); } else { intersection.set(a.x + t * this1.x,a.y + t * this1.y); } if(a._weak) { a.put(); } if(b._weak) { b.put(); } if(v._weak) { v.put(); } return intersection; }; flixel_math__$FlxVector_FlxVector_$Impl_$.findIntersectionInBounds = function(this1,a,b,v,intersection) { if(intersection == null) { var point = flixel_math_FlxPoint._pool.get().set(0,0); point._inPool = false; intersection = point; } var t1; if(Math.abs(this1.x * v.y - this1.y * v.x) < 9.9999999999999984e-015) { t1 = NaN; } else if(this1.x * this1.x + this1.y * this1.y < 9.9999999999999984e-015 || v.x * v.x + v.y * v.y < 9.9999999999999984e-015) { t1 = NaN; } else { flixel_math__$FlxVector_FlxVector_$Impl_$._vector1 = flixel_math__$FlxVector_FlxVector_$Impl_$.clone(b,flixel_math__$FlxVector_FlxVector_$Impl_$._vector1); var _this = flixel_math__$FlxVector_FlxVector_$Impl_$._vector1; var _g = _this; _g.set_x(_g.x - a.x); var _g1 = _this; _g1.set_y(_g1.y - a.y); var this2 = flixel_math__$FlxVector_FlxVector_$Impl_$._vector1; t1 = (this2.y * v.x + -this2.x * v.y) / (this1.y * v.x + -this1.x * v.y); } var t2; if(Math.abs(v.x * this1.y - v.y * this1.x) < 9.9999999999999984e-015) { t2 = NaN; } else if(v.x * v.x + v.y * v.y < 9.9999999999999984e-015 || this1.x * this1.x + this1.y * this1.y < 9.9999999999999984e-015) { t2 = NaN; } else { flixel_math__$FlxVector_FlxVector_$Impl_$._vector1 = flixel_math__$FlxVector_FlxVector_$Impl_$.clone(a,flixel_math__$FlxVector_FlxVector_$Impl_$._vector1); var _this1 = flixel_math__$FlxVector_FlxVector_$Impl_$._vector1; var _g2 = _this1; _g2.set_x(_g2.x - b.x); var _g3 = _this1; _g3.set_y(_g3.y - b.y); var this3 = flixel_math__$FlxVector_FlxVector_$Impl_$._vector1; t2 = (this3.y * this1.x + -this3.x * this1.y) / (v.y * this1.x + -v.x * this1.y); } if(!isNaN(t1) && !isNaN(t2) && t1 > 0 && t1 <= 1 && t2 > 0 && t2 <= 1) { intersection.set(a.x + t1 * this1.x,a.y + t1 * this1.y); } else { intersection.set(NaN,NaN); } if(a._weak) { a.put(); } if(b._weak) { b.put(); } if(v._weak) { v.put(); } return intersection; }; flixel_math__$FlxVector_FlxVector_$Impl_$.truncate = function(this1,max) { var l = Math.min(max,Math.sqrt(this1.x * this1.x + this1.y * this1.y)); if(!(Math.abs(this1.x) < 0.0000001 && Math.abs(this1.y) < 0.0000001)) { var a = flixel_math__$FlxVector_FlxVector_$Impl_$.get_radians(this1); this1.set_x(l * Math.cos(a)); this1.set_y(l * Math.sin(a)); } return this1; }; flixel_math__$FlxVector_FlxVector_$Impl_$.radiansBetween = function(this1,v) { var rads = Math.acos((this1.x * v.x + this1.y * v.y) / (Math.sqrt(this1.x * this1.x + this1.y * this1.y) * Math.sqrt(v.x * v.x + v.y * v.y))); if(v._weak) { v.put(); } return rads; }; flixel_math__$FlxVector_FlxVector_$Impl_$.degreesBetween = function(this1,v) { var rads = Math.acos((this1.x * v.x + this1.y * v.y) / (Math.sqrt(this1.x * this1.x + this1.y * this1.y) * Math.sqrt(v.x * v.x + v.y * v.y))); if(v._weak) { v.put(); } return rads * (180 / Math.PI); }; flixel_math__$FlxVector_FlxVector_$Impl_$.sign = function(this1,a,b) { var signFl = (a.x - this1.x) * (b.y - this1.y) - (a.y - this1.y) * (b.x - this1.x); if(a._weak) { a.put(); } if(b._weak) { b.put(); } if(signFl == 0) { return 0; } return Math.round(signFl / Math.abs(signFl)); }; flixel_math__$FlxVector_FlxVector_$Impl_$.dist = function(this1,v) { var dx = v.x - this1.x; var dy = v.y - this1.y; if(v._weak) { v.put(); } return Math.sqrt(dx * dx + dy * dy); }; flixel_math__$FlxVector_FlxVector_$Impl_$.distSquared = function(this1,v) { var dx = v.x - this1.x; var dy = v.y - this1.y; if(v._weak) { v.put(); } return dx * dx + dy * dy; }; flixel_math__$FlxVector_FlxVector_$Impl_$.bounce = function(this1,normal,bounceCoeff) { if(bounceCoeff == null) { bounceCoeff = 1; } var d = (1 + bounceCoeff) * (this1.x * normal.x + this1.y * normal.y); var _g = this1; _g.set_x(_g.x - d * normal.x); var _g1 = this1; _g1.set_y(_g1.y - d * normal.y); if(normal._weak) { normal.put(); } return this1; }; flixel_math__$FlxVector_FlxVector_$Impl_$.bounceWithFriction = function(this1,normal,bounceCoeff,friction) { if(friction == null) { friction = 0; } if(bounceCoeff == null) { bounceCoeff = 1; } var v = flixel_math__$FlxVector_FlxVector_$Impl_$.rightNormal(normal,flixel_math__$FlxVector_FlxVector_$Impl_$._vector3); var proj = flixel_math__$FlxVector_FlxVector_$Impl_$._vector1; var dp = this1.x * v.x + this1.y * v.y; if(proj == null) { var point = flixel_math_FlxPoint._pool.get().set(0,0); point._inPool = false; proj = point; } var p1 = proj.set(dp * v.x,dp * v.y); var proj1 = flixel_math__$FlxVector_FlxVector_$Impl_$._vector2; var dp1 = this1.x * normal.x + this1.y * normal.y; if(proj1 == null) { var point1 = flixel_math_FlxPoint._pool.get().set(0,0); point1._inPool = false; proj1 = point1; } var p2 = proj1.set(dp1 * normal.x,dp1 * normal.y); var bounceX = -p2.x; var bounceY = -p2.y; var frictionX = p1.x; var frictionY = p1.y; this1.set_x(bounceX * bounceCoeff + frictionX * friction); this1.set_y(bounceY * bounceCoeff + frictionY * friction); if(normal._weak) { normal.put(); } return this1; }; flixel_math__$FlxVector_FlxVector_$Impl_$.isValid = function(this1) { if(!isNaN(this1.x) && !isNaN(this1.y) && isFinite(this1.x)) { return isFinite(this1.y); } else { return false; } }; flixel_math__$FlxVector_FlxVector_$Impl_$.clone = function(this1,vec) { if(vec == null) { var point = flixel_math_FlxPoint._pool.get().set(0,0); point._inPool = false; vec = point; } vec.set_x(this1.x); vec.set_y(this1.y); return vec; }; flixel_math__$FlxVector_FlxVector_$Impl_$.get_x = function(this1) { return this1.x; }; flixel_math__$FlxVector_FlxVector_$Impl_$.set_x = function(this1,x) { return this1.set_x(x); }; flixel_math__$FlxVector_FlxVector_$Impl_$.get_y = function(this1) { return this1.y; }; flixel_math__$FlxVector_FlxVector_$Impl_$.set_y = function(this1,y) { return this1.set_y(y); }; flixel_math__$FlxVector_FlxVector_$Impl_$.get_dx = function(this1) { if(Math.abs(this1.x) < 0.0000001 && Math.abs(this1.y) < 0.0000001) { return 0; } return this1.x / Math.sqrt(this1.x * this1.x + this1.y * this1.y); }; flixel_math__$FlxVector_FlxVector_$Impl_$.get_dy = function(this1) { if(Math.abs(this1.x) < 0.0000001 && Math.abs(this1.y) < 0.0000001) { return 0; } return this1.y / Math.sqrt(this1.x * this1.x + this1.y * this1.y); }; flixel_math__$FlxVector_FlxVector_$Impl_$.get_length = function(this1) { return Math.sqrt(this1.x * this1.x + this1.y * this1.y); }; flixel_math__$FlxVector_FlxVector_$Impl_$.set_length = function(this1,l) { if(!(Math.abs(this1.x) < 0.0000001 && Math.abs(this1.y) < 0.0000001)) { var a = flixel_math__$FlxVector_FlxVector_$Impl_$.get_radians(this1); this1.set_x(l * Math.cos(a)); this1.set_y(l * Math.sin(a)); } return l; }; flixel_math__$FlxVector_FlxVector_$Impl_$.get_lengthSquared = function(this1) { return this1.x * this1.x + this1.y * this1.y; }; flixel_math__$FlxVector_FlxVector_$Impl_$.get_degrees = function(this1) { return flixel_math__$FlxVector_FlxVector_$Impl_$.get_radians(this1) * (180 / Math.PI); }; flixel_math__$FlxVector_FlxVector_$Impl_$.set_degrees = function(this1,degs) { var rads = degs * (Math.PI / 180); var len = Math.sqrt(this1.x * this1.x + this1.y * this1.y); this1.set_x(len * Math.cos(rads)); this1.set_y(len * Math.sin(rads)); return degs; }; flixel_math__$FlxVector_FlxVector_$Impl_$.get_radians = function(this1) { if(Math.abs(this1.x) < 0.0000001 && Math.abs(this1.y) < 0.0000001) { return 0; } return Math.atan2(this1.y,this1.x); }; flixel_math__$FlxVector_FlxVector_$Impl_$.set_radians = function(this1,rads) { var len = Math.sqrt(this1.x * this1.x + this1.y * this1.y); this1.set_x(len * Math.cos(rads)); this1.set_y(len * Math.sin(rads)); return rads; }; flixel_math__$FlxVector_FlxVector_$Impl_$.get_rx = function(this1) { return -this1.y; }; flixel_math__$FlxVector_FlxVector_$Impl_$.get_ry = function(this1) { return this1.x; }; flixel_math__$FlxVector_FlxVector_$Impl_$.get_lx = function(this1) { return this1.y; }; flixel_math__$FlxVector_FlxVector_$Impl_$.get_ly = function(this1) { return -this1.x; }; flixel_math__$FlxVector_FlxVector_$Impl_$.get_pool = function() { return flixel_math_FlxPoint.get_pool(); }; var flixel_math_FlxVelocity = function() { }; $hxClasses["flixel.math.FlxVelocity"] = flixel_math_FlxVelocity; flixel_math_FlxVelocity.__name__ = ["flixel","math","FlxVelocity"]; flixel_math_FlxVelocity.moveTowardsObject = function(Source,Dest,Speed,MaxTime) { if(MaxTime == null) { MaxTime = 0; } if(Speed == null) { Speed = 60; } var a = flixel_math_FlxAngle.angleBetween(Source,Dest); if(MaxTime > 0) { var dx = Source.x + Source.origin.x - (Dest.x + Dest.origin.x); var dy = Source.y + Source.origin.y - (Dest.y + Dest.origin.y); var d = Math.sqrt(dx * dx + dy * dy) | 0; Speed = d / (MaxTime / 1000) | 0; } Source.velocity.set_x(Math.cos(a) * Speed); Source.velocity.set_y(Math.sin(a) * Speed); }; flixel_math_FlxVelocity.accelerateTowardsObject = function(Source,Dest,Acceleration,MaxSpeed) { var a = flixel_math_FlxAngle.angleBetween(Source,Dest); var sinA = Math.sin(a); var cosA = Math.cos(a); Source.velocity.set(0,0); Source.acceleration.set(cosA * Acceleration,sinA * Acceleration); Source.maxVelocity.set(Math.abs(cosA * MaxSpeed),Math.abs(sinA * MaxSpeed)); }; flixel_math_FlxVelocity.moveTowardsMouse = function(Source,Speed,MaxTime) { if(MaxTime == null) { MaxTime = 0; } if(Speed == null) { Speed = 60; } var a = flixel_math_FlxAngle.angleBetweenMouse(Source); if(MaxTime > 0) { var dx = Source.x + Source.origin.x - flixel_FlxG.mouse.screenX; var dy = Source.y + Source.origin.y - flixel_FlxG.mouse.screenY; var d = Math.sqrt(dx * dx + dy * dy) | 0; Speed = d / (MaxTime / 1000) | 0; } Source.velocity.set_x(Math.cos(a) * Speed); Source.velocity.set_y(Math.sin(a) * Speed); }; flixel_math_FlxVelocity.moveTowardsTouch = function(Source,Touch,Speed,MaxTime) { if(MaxTime == null) { MaxTime = 0; } if(Speed == null) { Speed = 60; } var a = flixel_math_FlxAngle.angleBetweenTouch(Source,Touch); if(MaxTime > 0) { var dx = Source.x + Source.origin.x - Touch.screenX; var dy = Source.y + Source.origin.y - Touch.screenY; var d = Math.sqrt(dx * dx + dy * dy) | 0; Speed = d / (MaxTime / 1000) | 0; } Source.velocity.set_x(Math.cos(a) * Speed); Source.velocity.set_y(Math.sin(a) * Speed); }; flixel_math_FlxVelocity.accelerateTowardsMouse = function(Source,Acceleration,MaxSpeed) { var a = flixel_math_FlxAngle.angleBetweenMouse(Source); var sinA = Math.sin(a); var cosA = Math.cos(a); Source.velocity.set(0,0); Source.acceleration.set(cosA * Acceleration,sinA * Acceleration); Source.maxVelocity.set(Math.abs(cosA * MaxSpeed),Math.abs(sinA * MaxSpeed)); }; flixel_math_FlxVelocity.accelerateTowardsTouch = function(Source,Touch,Acceleration,MaxSpeed) { var a = flixel_math_FlxAngle.angleBetweenTouch(Source,Touch); var sinA = Math.sin(a); var cosA = Math.cos(a); Source.velocity.set(0,0); Source.acceleration.set(cosA * Acceleration,sinA * Acceleration); Source.maxVelocity.set(Math.abs(cosA * MaxSpeed),Math.abs(sinA * MaxSpeed)); }; flixel_math_FlxVelocity.moveTowardsPoint = function(Source,Target,Speed,MaxTime) { if(MaxTime == null) { MaxTime = 0; } if(Speed == null) { Speed = 60; } var a = flixel_math_FlxAngle.angleBetweenPoint(Source,Target); if(MaxTime > 0) { var dx = Source.x + Source.origin.x - Target.x; var dy = Source.y + Source.origin.y - Target.y; if(Target._weak) { Target.put(); } var d = Math.sqrt(dx * dx + dy * dy) | 0; Speed = d / (MaxTime / 1000) | 0; } Source.velocity.set_x(Math.cos(a) * Speed); Source.velocity.set_y(Math.sin(a) * Speed); if(Target._weak) { Target.put(); } }; flixel_math_FlxVelocity.accelerateTowardsPoint = function(Source,Target,Acceleration,MaxSpeed) { var a = flixel_math_FlxAngle.angleBetweenPoint(Source,Target); var sinA = Math.sin(a); var cosA = Math.cos(a); Source.velocity.set(0,0); Source.acceleration.set(cosA * Acceleration,sinA * Acceleration); Source.maxVelocity.set(Math.abs(cosA * MaxSpeed),Math.abs(sinA * MaxSpeed)); if(Target._weak) { Target.put(); } }; flixel_math_FlxVelocity.velocityFromAngle = function(Angle,Speed) { var a = Angle * (Math.PI / 180); var X = Math.cos(a) * Speed; var Y = Math.sin(a) * Speed; var point = flixel_math_FlxPoint._pool.get().set(X,Y); point._inPool = false; return point; }; flixel_math_FlxVelocity.velocityFromFacing = function(Parent,Speed) { var a = flixel_math_FlxAngle.angleFromFacing(Parent.facing); var X = Math.cos(a) * Speed; var Y = Math.sin(a) * Speed; var point = flixel_math_FlxPoint._pool.get().set(X,Y); point._inPool = false; return point; }; flixel_math_FlxVelocity.computeVelocity = function(Velocity,Acceleration,Drag,Max,Elapsed) { if(Acceleration != 0) { Velocity += Acceleration * Elapsed; } else if(Drag != 0) { var drag = Drag * Elapsed; if(Velocity - drag > 0) { Velocity -= drag; } else if(Velocity + drag < 0) { Velocity += drag; } else { Velocity = 0; } } if(Velocity != 0 && Max != 0) { if(Velocity > Max) { Velocity = Max; } else if(Velocity < -Max) { Velocity = -Max; } } return Velocity; }; flixel_math_FlxVelocity.accelerateFromAngle = function(source,radians,acceleration,maxSpeed,resetVelocity) { if(resetVelocity == null) { resetVelocity = true; } var sinA = Math.sin(radians); var cosA = Math.cos(radians); if(resetVelocity) { source.velocity.set(0,0); } source.acceleration.set(cosA * acceleration,sinA * acceleration); source.maxVelocity.set(Math.abs(cosA * maxSpeed),Math.abs(sinA * maxSpeed)); }; var flixel_system_GraphicLogo = function(width,height,transparent,fillRGBA,onload) { if(fillRGBA == null) { fillRGBA = -1; } if(transparent == null) { transparent = true; } openfl_display_BitmapData.call(this,0,0,transparent,fillRGBA); if(flixel_system_GraphicLogo.preload != null) { this.__fromImage(flixel_system_GraphicLogo.preload); } else { var _gthis = this; lime_graphics_Image.loadFromBase64(haxe_Resource.getString(flixel_system_GraphicLogo.resourceName),flixel_system_GraphicLogo.resourceType).then(function(image) { _gthis.__fromImage(image); return lime_app_Future.withValue(_gthis); }).onComplete(function(b) { if(flixel_system_GraphicLogo.preload == null) { flixel_system_GraphicLogo.preload = b.image; } if(onload != null) { onload(b); } }); } }; $hxClasses["flixel.system.GraphicLogo"] = flixel_system_GraphicLogo; flixel_system_GraphicLogo.__name__ = ["flixel","system","GraphicLogo"]; flixel_system_GraphicLogo.preload = null; flixel_system_GraphicLogo.__super__ = openfl_display_BitmapData; flixel_system_GraphicLogo.prototype = $extend(openfl_display_BitmapData.prototype,{ __class__: flixel_system_GraphicLogo }); var flixel_system_GraphicVirtualInput = function(width,height,transparent,fillRGBA,onload) { if(fillRGBA == null) { fillRGBA = -1; } if(transparent == null) { transparent = true; } openfl_display_BitmapData.call(this,0,0,transparent,fillRGBA); if(flixel_system_GraphicVirtualInput.preload != null) { this.__fromImage(flixel_system_GraphicVirtualInput.preload); } else { var _gthis = this; lime_graphics_Image.loadFromBase64(haxe_Resource.getString(flixel_system_GraphicVirtualInput.resourceName),flixel_system_GraphicVirtualInput.resourceType).then(function(image) { _gthis.__fromImage(image); return lime_app_Future.withValue(_gthis); }).onComplete(function(b) { if(flixel_system_GraphicVirtualInput.preload == null) { flixel_system_GraphicVirtualInput.preload = b.image; } if(onload != null) { onload(b); } }); } }; $hxClasses["flixel.system.GraphicVirtualInput"] = flixel_system_GraphicVirtualInput; flixel_system_GraphicVirtualInput.__name__ = ["flixel","system","GraphicVirtualInput"]; flixel_system_GraphicVirtualInput.preload = null; flixel_system_GraphicVirtualInput.__super__ = openfl_display_BitmapData; flixel_system_GraphicVirtualInput.prototype = $extend(openfl_display_BitmapData.prototype,{ __class__: flixel_system_GraphicVirtualInput }); var haxe_io_Bytes = function(data) { this.length = data.byteLength; this.b = new Uint8Array(data); this.b.bufferValue = data; data.hxBytes = this; data.bytes = this.b; }; $hxClasses["haxe.io.Bytes"] = haxe_io_Bytes; haxe_io_Bytes.__name__ = ["haxe","io","Bytes"]; haxe_io_Bytes.alloc = function(length) { return new haxe_io_Bytes(new ArrayBuffer(length)); }; haxe_io_Bytes.ofString = function(s,encoding) { var a = []; var i = 0; while(i < s.length) { var c = s.charCodeAt(i++); if(55296 <= c && c <= 56319) { c = c - 55232 << 10 | s.charCodeAt(i++) & 1023; } if(c <= 127) { a.push(c); } else if(c <= 2047) { a.push(192 | c >> 6); a.push(128 | c & 63); } else if(c <= 65535) { a.push(224 | c >> 12); a.push(128 | c >> 6 & 63); a.push(128 | c & 63); } else { a.push(240 | c >> 18); a.push(128 | c >> 12 & 63); a.push(128 | c >> 6 & 63); a.push(128 | c & 63); } } return new haxe_io_Bytes(new Uint8Array(a).buffer); }; haxe_io_Bytes.ofData = function(b) { var hb = b.hxBytes; if(hb != null) { return hb; } return new haxe_io_Bytes(b); }; haxe_io_Bytes.fastGet = function(b,pos) { return b.bytes[pos]; }; haxe_io_Bytes.prototype = { length: null ,b: null ,data: null ,get: function(pos) { return this.b[pos]; } ,set: function(pos,v) { this.b[pos] = v & 255; } ,blit: function(pos,src,srcpos,len) { if(pos < 0 || srcpos < 0 || len < 0 || pos + len > this.length || srcpos + len > src.length) { throw new js__$Boot_HaxeError(haxe_io_Error.OutsideBounds); } if(srcpos == 0 && len == src.b.byteLength) { this.b.set(src.b,pos); } else { this.b.set(src.b.subarray(srcpos,srcpos + len),pos); } } ,fill: function(pos,len,value) { var _g1 = 0; var _g = len; while(_g1 < _g) { var i = _g1++; this.b[pos++] = value & 255; } } ,sub: function(pos,len) { if(pos < 0 || len < 0 || pos + len > this.length) { throw new js__$Boot_HaxeError(haxe_io_Error.OutsideBounds); } return new haxe_io_Bytes(this.b.buffer.slice(pos + this.b.byteOffset,pos + this.b.byteOffset + len)); } ,compare: function(other) { var b1 = this.b; var b2 = other.b; var len = this.length < other.length ? this.length : other.length; var _g1 = 0; var _g = len; while(_g1 < _g) { var i = _g1++; if(b1[i] != b2[i]) { return b1[i] - b2[i]; } } return this.length - other.length; } ,initData: function() { if(this.data == null) { this.data = new DataView(this.b.buffer,this.b.byteOffset,this.b.byteLength); } } ,getDouble: function(pos) { if(this.data == null) { this.data = new DataView(this.b.buffer,this.b.byteOffset,this.b.byteLength); } return this.data.getFloat64(pos,true); } ,getFloat: function(pos) { if(this.data == null) { this.data = new DataView(this.b.buffer,this.b.byteOffset,this.b.byteLength); } return this.data.getFloat32(pos,true); } ,setDouble: function(pos,v) { if(this.data == null) { this.data = new DataView(this.b.buffer,this.b.byteOffset,this.b.byteLength); } this.data.setFloat64(pos,v,true); } ,setFloat: function(pos,v) { if(this.data == null) { this.data = new DataView(this.b.buffer,this.b.byteOffset,this.b.byteLength); } this.data.setFloat32(pos,v,true); } ,getUInt16: function(pos) { if(this.data == null) { this.data = new DataView(this.b.buffer,this.b.byteOffset,this.b.byteLength); } return this.data.getUint16(pos,true); } ,setUInt16: function(pos,v) { if(this.data == null) { this.data = new DataView(this.b.buffer,this.b.byteOffset,this.b.byteLength); } this.data.setUint16(pos,v,true); } ,getInt32: function(pos) { if(this.data == null) { this.data = new DataView(this.b.buffer,this.b.byteOffset,this.b.byteLength); } return this.data.getInt32(pos,true); } ,setInt32: function(pos,v) { if(this.data == null) { this.data = new DataView(this.b.buffer,this.b.byteOffset,this.b.byteLength); } this.data.setInt32(pos,v,true); } ,getInt64: function(pos) { var this1 = new haxe__$Int64__$_$_$Int64(this.getInt32(pos + 4),this.getInt32(pos)); return this1; } ,setInt64: function(pos,v) { this.setInt32(pos,v.low); this.setInt32(pos + 4,v.high); } ,getString: function(pos,len,encoding) { if(pos < 0 || len < 0 || pos + len > this.length) { throw new js__$Boot_HaxeError(haxe_io_Error.OutsideBounds); } var s = ""; var b = this.b; var fcc = String.fromCharCode; var i = pos; var max = pos + len; while(i < max) { var c = b[i++]; if(c < 128) { if(c == 0) { break; } s += fcc(c); } else if(c < 224) { s += fcc((c & 63) << 6 | b[i++] & 127); } else if(c < 240) { var c2 = b[i++]; s += fcc((c & 31) << 12 | (c2 & 127) << 6 | b[i++] & 127); } else { var c21 = b[i++]; var c3 = b[i++]; var u = (c & 15) << 18 | (c21 & 127) << 12 | (c3 & 127) << 6 | b[i++] & 127; s += fcc((u >> 10) + 55232); s += fcc(u & 1023 | 56320); } } return s; } ,readString: function(pos,len) { return this.getString(pos,len); } ,toString: function() { return this.getString(0,this.length); } ,toHex: function() { var s_b = ""; var chars = []; var str = "0123456789abcdef"; var _g1 = 0; var _g = str.length; while(_g1 < _g) { var i = _g1++; chars.push(HxOverrides.cca(str,i)); } var _g11 = 0; var _g2 = this.length; while(_g11 < _g2) { var i1 = _g11++; var c = this.b[i1]; s_b += String.fromCharCode(chars[c >> 4]); s_b += String.fromCharCode(chars[c & 15]); } return s_b; } ,getData: function() { return this.b.bufferValue; } ,__class__: haxe_io_Bytes }; var openfl_utils_IDataOutput = function() { }; $hxClasses["openfl.utils.IDataOutput"] = openfl_utils_IDataOutput; openfl_utils_IDataOutput.__name__ = ["openfl","utils","IDataOutput"]; openfl_utils_IDataOutput.prototype = { set_endian: null ,get_endian: null ,objectEncoding: null ,writeBoolean: null ,writeByte: null ,writeBytes: null ,writeDouble: null ,writeFloat: null ,writeInt: null ,writeMultiByte: null ,writeShort: null ,writeUTF: null ,writeUTFBytes: null ,writeUnsignedInt: null ,__class__: openfl_utils_IDataOutput ,__properties__: {set_endian:"set_endian",get_endian:"get_endian"} }; var openfl_utils_IDataInput = function() { }; $hxClasses["openfl.utils.IDataInput"] = openfl_utils_IDataInput; openfl_utils_IDataInput.__name__ = ["openfl","utils","IDataInput"]; openfl_utils_IDataInput.prototype = { set_endian: null ,get_endian: null ,get_bytesAvailable: null ,objectEncoding: null ,readBoolean: null ,readByte: null ,readBytes: null ,readDouble: null ,readFloat: null ,readInt: null ,readMultiByte: null ,readShort: null ,readUnsignedByte: null ,readUnsignedInt: null ,readUnsignedShort: null ,readUTF: null ,readUTFBytes: null ,__class__: openfl_utils_IDataInput ,__properties__: {set_endian:"set_endian",get_endian:"get_endian",get_bytesAvailable:"get_bytesAvailable"} }; var openfl_utils_ByteArrayData = function(length) { if(length == null) { length = 0; } var bytes = new haxe_io_Bytes(new ArrayBuffer(length)); haxe_io_Bytes.call(this,bytes.b.buffer); this.__length = length; if(openfl_utils_ByteArrayData.__defaultEndian == null) { if(lime_system_System.get_endianness() == lime_system_Endian.LITTLE_ENDIAN) { openfl_utils_ByteArrayData.__defaultEndian = 1; } else { openfl_utils_ByteArrayData.__defaultEndian = 0; } } this.__endian = openfl_utils_ByteArrayData.__defaultEndian; this.objectEncoding = openfl_utils_ByteArrayData.defaultObjectEncoding; this.position = 0; }; $hxClasses["openfl.utils.ByteArrayData"] = openfl_utils_ByteArrayData; openfl_utils_ByteArrayData.__name__ = ["openfl","utils","ByteArrayData"]; openfl_utils_ByteArrayData.__interfaces__ = [openfl_utils_IDataOutput,openfl_utils_IDataInput]; openfl_utils_ByteArrayData.__properties__ = {set_defaultEndian:"set_defaultEndian",get_defaultEndian:"get_defaultEndian"}; openfl_utils_ByteArrayData.fromBytes = function(bytes) { var result = new openfl_utils_ByteArrayData(); result.__fromBytes(bytes); return result; }; openfl_utils_ByteArrayData.get_defaultEndian = function() { if(openfl_utils_ByteArrayData.__defaultEndian == null) { if(lime_system_System.get_endianness() == lime_system_Endian.LITTLE_ENDIAN) { openfl_utils_ByteArrayData.__defaultEndian = 1; } else { openfl_utils_ByteArrayData.__defaultEndian = 0; } } return openfl_utils_ByteArrayData.__defaultEndian; }; openfl_utils_ByteArrayData.set_defaultEndian = function(value) { return openfl_utils_ByteArrayData.__defaultEndian = value; }; openfl_utils_ByteArrayData.__super__ = haxe_io_Bytes; openfl_utils_ByteArrayData.prototype = $extend(haxe_io_Bytes.prototype,{ objectEncoding: null ,position: null ,__endian: null ,__length: null ,clear: function() { this.length = 0; this.position = 0; } ,compress: function(algorithm) { if(algorithm == null) { algorithm = 2; } if(this.__length > this.length) { var cacheLength = this.length; this.length = this.__length; var data = new haxe_io_Bytes(new ArrayBuffer(cacheLength)); data.blit(0,this,0,cacheLength); this.b = data.b; this.__length = data.length; this.data = data.data; this.length = cacheLength; } var limeBytes = this; var bytes; switch(algorithm) { case 0: bytes = lime_utils__$Bytes_Bytes_$Impl_$.compress(limeBytes,lime_utils_CompressionAlgorithm.DEFLATE); break; case 1: bytes = lime_utils__$Bytes_Bytes_$Impl_$.compress(limeBytes,lime_utils_CompressionAlgorithm.LZMA); break; default: bytes = lime_utils__$Bytes_Bytes_$Impl_$.compress(limeBytes,lime_utils_CompressionAlgorithm.ZLIB); } if(bytes != null) { this.b = bytes.b; this.__length = bytes.length; this.data = bytes.data; this.length = this.__length; this.position = this.length; } } ,deflate: function() { this.compress(0); } ,inflate: function() { this.uncompress(0); } ,readBoolean: function() { if(this.position < this.length) { return this.b[this.position++] != 0; } else { throw new js__$Boot_HaxeError(new openfl_errors_EOFError()); } } ,readByte: function() { var value = this.readUnsignedByte(); if((value & 128) != 0) { return value - 256; } else { return value; } } ,readBytes: function(bytes,offset,length) { if(length == null) { length = 0; } if(offset == null) { offset = 0; } if(length == 0) { length = this.length - this.position; } if(this.position + length > this.length) { throw new js__$Boot_HaxeError(new openfl_errors_EOFError()); } if(bytes.length < offset + length) { bytes.__resize(offset + length); } bytes.blit(offset,this,this.position,length); this.position += length; } ,readDouble: function() { if(this.__endian == 1) { if(this.position + 8 > this.length) { throw new js__$Boot_HaxeError(new openfl_errors_EOFError()); } this.position += 8; return this.getDouble(this.position - 8); } else { var ch1 = this.readInt(); var ch2 = this.readInt(); return haxe_io_FPHelper.i64ToDouble(ch2,ch1); } } ,readFloat: function() { if(this.__endian == 1) { if(this.position + 4 > this.length) { throw new js__$Boot_HaxeError(new openfl_errors_EOFError()); } this.position += 4; return this.getFloat(this.position - 4); } else { return haxe_io_FPHelper.i32ToFloat(this.readInt()); } } ,readInt: function() { var ch1 = this.readUnsignedByte(); var ch2 = this.readUnsignedByte(); var ch3 = this.readUnsignedByte(); var ch4 = this.readUnsignedByte(); if(this.__endian == 1) { return ch4 << 24 | ch3 << 16 | ch2 << 8 | ch1; } else { return ch1 << 24 | ch2 << 16 | ch3 << 8 | ch4; } } ,readMultiByte: function(length,charSet) { return this.readUTFBytes(length); } ,readObject: function() { var _g = this.objectEncoding; switch(_g) { case 0: var input = new haxe_io_BytesInput(this,this.position); var reader = new format_amf_Reader(input); var data = reader.read(); this.position = input.pos; return data; case 3: var input1 = new haxe_io_BytesInput(this,this.position); var reader1 = new format_amf3_Reader(input1); var data1 = reader1.read(); this.position = input1.pos; return data1; case 10: var data2 = this.readUTF(); return haxe_Unserializer.run(data2); case 12: var data3 = this.readUTF(); return JSON.parse(data3); default: return null; } } ,readShort: function() { var ch1 = this.readUnsignedByte(); var ch2 = this.readUnsignedByte(); var value; if(this.__endian == 1) { value = ch2 << 8 | ch1; } else { value = ch1 << 8 | ch2; } if((value & 32768) != 0) { return value - 65536; } else { return value; } } ,readUnsignedByte: function() { if(this.position < this.length) { return this.b[this.position++]; } else { throw new js__$Boot_HaxeError(new openfl_errors_EOFError()); } } ,readUnsignedInt: function() { var ch1 = this.readUnsignedByte(); var ch2 = this.readUnsignedByte(); var ch3 = this.readUnsignedByte(); var ch4 = this.readUnsignedByte(); if(this.__endian == 1) { return ch4 << 24 | ch3 << 16 | ch2 << 8 | ch1; } else { return ch1 << 24 | ch2 << 16 | ch3 << 8 | ch4; } } ,readUnsignedShort: function() { var ch1 = this.readUnsignedByte(); var ch2 = this.readUnsignedByte(); if(this.__endian == 1) { return (ch2 << 8) + ch1; } else { return ch1 << 8 | ch2; } } ,readUTF: function() { var bytesCount = this.readUnsignedShort(); return this.readUTFBytes(bytesCount); } ,readUTFBytes: function(length) { if(this.position + length > this.length) { throw new js__$Boot_HaxeError(new openfl_errors_EOFError()); } this.position += length; return this.getString(this.position - length,length); } ,uncompress: function(algorithm) { if(algorithm == null) { algorithm = 2; } if(this.__length > this.length) { var cacheLength = this.length; this.length = this.__length; var data = new haxe_io_Bytes(new ArrayBuffer(cacheLength)); data.blit(0,this,0,cacheLength); this.b = data.b; this.__length = data.length; this.data = data.data; this.length = cacheLength; } var limeBytes = this; var bytes; switch(algorithm) { case 0: bytes = lime_utils__$Bytes_Bytes_$Impl_$.decompress(limeBytes,lime_utils_CompressionAlgorithm.DEFLATE); break; case 1: bytes = lime_utils__$Bytes_Bytes_$Impl_$.decompress(limeBytes,lime_utils_CompressionAlgorithm.LZMA); break; default: bytes = lime_utils__$Bytes_Bytes_$Impl_$.decompress(limeBytes,lime_utils_CompressionAlgorithm.ZLIB); } if(bytes != null) { this.b = bytes.b; this.__length = bytes.length; this.data = bytes.data; this.length = this.__length; } this.position = 0; } ,writeBoolean: function(value) { this.writeByte(value ? 1 : 0); } ,writeByte: function(value) { this.__resize(this.position + 1); this.b[this.position++] = value & 255 & 255; } ,writeBytes: function(bytes,offset,length) { if(length == null) { length = 0; } if(offset == null) { offset = 0; } if(openfl_utils__$ByteArray_ByteArray_$Impl_$.get_length(bytes) == 0) { return; } if(length == 0) { length = openfl_utils__$ByteArray_ByteArray_$Impl_$.get_length(bytes) - offset; } this.__resize(this.position + length); this.blit(this.position,bytes,offset,length); this.position = this.position + length; } ,writeDouble: function(value) { var int64 = haxe_io_FPHelper.doubleToI64(value); if(this.__endian == 1) { this.writeInt(int64.low); this.writeInt(int64.high); } else { this.writeInt(int64.high); this.writeInt(int64.low); } } ,writeFloat: function(value) { if(this.__endian == 1) { this.__resize(this.position + 4); this.setFloat(this.position,value); this.position += 4; } else { var $int = haxe_io_FPHelper.floatToI32(value); this.writeInt($int); } } ,writeInt: function(value) { this.__resize(this.position + 4); if(this.__endian == 1) { this.b[this.position++] = value & 255 & 255; this.b[this.position++] = value >> 8 & 255 & 255; this.b[this.position++] = value >> 16 & 255 & 255; this.b[this.position++] = value >> 24 & 255 & 255; } else { this.b[this.position++] = value >> 24 & 255 & 255; this.b[this.position++] = value >> 16 & 255 & 255; this.b[this.position++] = value >> 8 & 255 & 255; this.b[this.position++] = value & 255 & 255; } } ,writeMultiByte: function(value,charSet) { this.writeUTFBytes(value); } ,writeObject: function(object) { var _g = this.objectEncoding; switch(_g) { case 0: var value = format_amf_Tools.encode(object); var output = new haxe_io_BytesOutput(); var writer = new format_amf_Writer(output); writer.write(value); this.writeBytes(openfl_utils__$ByteArray_ByteArray_$Impl_$.fromBytes(output.getBytes())); break; case 3: var value1 = format_amf3_Tools.encode(object); var output1 = new haxe_io_BytesOutput(); var writer1 = new format_amf3_Writer(output1); writer1.write(value1); this.writeBytes(openfl_utils__$ByteArray_ByteArray_$Impl_$.fromBytes(output1.getBytes())); break; case 10: var value2 = haxe_Serializer.run(object); this.writeUTF(value2); break; case 12: var value3 = JSON.stringify(object); this.writeUTF(value3); break; default: return; } } ,writeShort: function(value) { this.__resize(this.position + 2); if(this.__endian == 1) { this.b[this.position++] = value & 255; this.b[this.position++] = value >> 8 & 255; } else { this.b[this.position++] = value >> 8 & 255; this.b[this.position++] = value & 255; } } ,writeUnsignedInt: function(value) { this.writeInt(value); } ,writeUTF: function(value) { var bytes = haxe_io_Bytes.ofString(value); this.writeShort(bytes.length); this.writeBytes(openfl_utils__$ByteArray_ByteArray_$Impl_$.fromBytes(bytes)); } ,writeUTFBytes: function(value) { var bytes = haxe_io_Bytes.ofString(value); this.writeBytes(openfl_utils__$ByteArray_ByteArray_$Impl_$.fromBytes(haxe_io_Bytes.ofString(value))); } ,__fromBytes: function(bytes) { this.b = bytes.b; this.__length = bytes.length; this.data = bytes.data; this.length = bytes.length; } ,__resize: function(size) { if(size > this.__length) { var bytes = new haxe_io_Bytes(new ArrayBuffer((size + 1) * 3 >> 1)); if(this.__length > 0) { var cacheLength = this.length; this.length = this.__length; bytes.blit(0,this,0,this.__length); this.length = cacheLength; } this.b = bytes.b; this.__length = bytes.length; this.data = bytes.data; } if(this.length < size) { this.length = size; } } ,__setData: function(bytes) { this.b = bytes.b; this.__length = bytes.length; this.data = bytes.data; } ,get_bytesAvailable: function() { return this.length - this.position; } ,get_endian: function() { return this.__endian; } ,set_endian: function(value) { return this.__endian = value; } ,__class__: openfl_utils_ByteArrayData ,__properties__: {set_endian:"set_endian",get_endian:"get_endian",get_bytesAvailable:"get_bytesAvailable"} }); var flixel_system_VirtualInputData = function(length) { if(length == null) { length = 0; } openfl_utils_ByteArrayData.call(this); var bytes = haxe_Resource.getBytes(flixel_system_VirtualInputData.resourceName); this.__fromBytes(bytes); }; $hxClasses["flixel.system.VirtualInputData"] = flixel_system_VirtualInputData; flixel_system_VirtualInputData.__name__ = ["flixel","system","VirtualInputData"]; flixel_system_VirtualInputData.__super__ = openfl_utils_ByteArrayData; flixel_system_VirtualInputData.prototype = $extend(openfl_utils_ByteArrayData.prototype,{ __class__: flixel_system_VirtualInputData }); var flixel_system_FlxAssets = function() { }; $hxClasses["flixel.system.FlxAssets"] = flixel_system_FlxAssets; flixel_system_FlxAssets.__name__ = ["flixel","system","FlxAssets"]; flixel_system_FlxAssets.drawLogo = function(graph) { graph.beginFill(47394); graph.moveTo(50,13); graph.lineTo(51,13); graph.lineTo(87,50); graph.lineTo(87,51); graph.lineTo(51,87); graph.lineTo(50,87); graph.lineTo(13,51); graph.lineTo(13,50); graph.lineTo(50,13); graph.endFill(); graph.beginFill(16761138); graph.moveTo(0,0); graph.lineTo(25,0); graph.lineTo(50,13); graph.lineTo(13,50); graph.lineTo(0,25); graph.lineTo(0,0); graph.endFill(); graph.beginFill(16066382); graph.moveTo(100,0); graph.lineTo(75,0); graph.lineTo(51,13); graph.lineTo(87,50); graph.lineTo(100,25); graph.lineTo(100,0); graph.endFill(); graph.beginFill(3555839); graph.moveTo(0,100); graph.lineTo(25,100); graph.lineTo(50,87); graph.lineTo(13,51); graph.lineTo(0,75); graph.lineTo(0,100); graph.endFill(); graph.beginFill(314875); graph.moveTo(100,100); graph.lineTo(75,100); graph.lineTo(51,87); graph.lineTo(87,51); graph.lineTo(100,75); graph.lineTo(100,100); graph.endFill(); }; flixel_system_FlxAssets.getBitmapData = function(id) { if(openfl_utils_Assets.exists(id)) { return openfl_utils_Assets.getBitmapData(id,false); } var _this = flixel_FlxG.log; return null; }; flixel_system_FlxAssets.getBitmapFromClass = function(source) { return Type.createInstance(source,[0,0]); }; flixel_system_FlxAssets.resolveBitmapData = function(Graphic) { if(js_Boot.__instanceof(Graphic,openfl_display_BitmapData)) { return Graphic; } else if(js_Boot.__instanceof(Graphic,Class)) { return Type.createInstance(Graphic,[0,0]); } else if(typeof(Graphic) == "string") { if(openfl_utils_Assets.exists(Graphic)) { return openfl_utils_Assets.getBitmapData(Graphic,false); } else { var _this = flixel_FlxG.log; return null; } } return null; }; flixel_system_FlxAssets.resolveKey = function(Graphic,Key) { if(Key != null) { return Key; } if(js_Boot.__instanceof(Graphic,openfl_display_BitmapData)) { return Key; } else if(js_Boot.__instanceof(Graphic,Class)) { var _this = flixel_FlxG.bitmap; return Type.getClassName(Graphic); } else if(typeof(Graphic) == "string") { return Graphic; } return null; }; flixel_system_FlxAssets.getSound = function(id) { var extension = ""; extension = ".ogg"; return openfl_utils_Assets.getSound(id + extension); }; flixel_system_FlxAssets.getVirtualInputFrames = function() { var graphic = flixel_graphics_FlxGraphic.fromClass(flixel_system_GraphicVirtualInput); return flixel_graphics_frames_FlxAtlasFrames.fromSpriteSheetPacker(graphic,Std.string(new flixel_system_VirtualInputData())); }; var flixel_system_FlxBGSprite = function() { flixel_FlxSprite.call(this); this.makeGraphic(1,1,-1,true,flixel_FlxG.bitmap.getUniqueKey("bg_graphic_")); this.scrollFactor.set(); }; $hxClasses["flixel.system.FlxBGSprite"] = flixel_system_FlxBGSprite; flixel_system_FlxBGSprite.__name__ = ["flixel","system","FlxBGSprite"]; flixel_system_FlxBGSprite.__super__ = flixel_FlxSprite; flixel_system_FlxBGSprite.prototype = $extend(flixel_FlxSprite.prototype,{ draw: function() { var _g = 0; var _g1 = this.get_cameras(); while(_g < _g1.length) { var camera = _g1[_g]; ++_g; if(!camera.visible || !camera.exists) { continue; } this._matrix.identity(); this._matrix.scale(camera.viewWidth,camera.viewHeight); camera.drawPixels(this.frame,null,this._matrix,this.colorTransform); } } ,__class__: flixel_system_FlxBGSprite }); var flixel_system__$FlxBasePreloader_DefaultPreloader = function() { openfl_display_Sprite.call(this); this.addEventListener("addedToStage",$bind(this,this.onAddedToStage)); }; $hxClasses["flixel.system._FlxBasePreloader.DefaultPreloader"] = flixel_system__$FlxBasePreloader_DefaultPreloader; flixel_system__$FlxBasePreloader_DefaultPreloader.__name__ = ["flixel","system","_FlxBasePreloader","DefaultPreloader"]; flixel_system__$FlxBasePreloader_DefaultPreloader.__super__ = openfl_display_Sprite; flixel_system__$FlxBasePreloader_DefaultPreloader.prototype = $extend(openfl_display_Sprite.prototype,{ onAddedToStage: function(_) { this.removeEventListener("addedToStage",$bind(this,this.onAddedToStage)); this.onInit(); this.onUpdate(this.get_loaderInfo().bytesLoaded,this.get_loaderInfo().bytesTotal); this.addEventListener("progress",$bind(this,this.onProgress)); this.addEventListener("complete",$bind(this,this.onComplete)); } ,onComplete: function(event) { event.preventDefault(); this.removeEventListener("progress",$bind(this,this.onProgress)); this.removeEventListener("complete",$bind(this,this.onComplete)); this.onLoaded(); } ,onProgress: function(event) { this.onUpdate(event.bytesLoaded | 0,event.bytesTotal | 0); } ,onInit: function() { } ,onLoaded: function() { this.dispatchEvent(new openfl_events_Event("unload")); } ,onUpdate: function(bytesLoaded,bytesTotal) { var percentLoaded = 0.0; if(bytesTotal > 0) { percentLoaded = bytesLoaded / bytesTotal; if(percentLoaded > 1) { percentLoaded = 1; } } } ,__class__: flixel_system__$FlxBasePreloader_DefaultPreloader }); var flixel_system_FlxBasePreloader = function(MinDisplayTime,AllowedURLs) { if(MinDisplayTime == null) { MinDisplayTime = 0; } this._urlChecked = false; this._loaded = false; this._percent = 0; this.siteLockBodyText = "It appears the website you are using is hosting an unauthorized copy of this game. " + "Storage or redistribution of this content, without the express permission of the " + "developer or other copyright holder, is prohibited under copyright law.\n\n" + "Thank you for your interest in this game! Please support the developer by " + "visiting the following website to play the game:"; this.siteLockTitleText = "Sorry."; this.siteLockURLIndex = 0; this.minDisplayTime = 0; flixel_system__$FlxBasePreloader_DefaultPreloader.call(this); this.minDisplayTime = MinDisplayTime; if(AllowedURLs != null) { this.allowedURLs = AllowedURLs; } else { this.allowedURLs = []; } this._startTime = new Date().getTime(); }; $hxClasses["flixel.system.FlxBasePreloader"] = flixel_system_FlxBasePreloader; flixel_system_FlxBasePreloader.__name__ = ["flixel","system","FlxBasePreloader"]; flixel_system_FlxBasePreloader.__super__ = flixel_system__$FlxBasePreloader_DefaultPreloader; flixel_system_FlxBasePreloader.prototype = $extend(flixel_system__$FlxBasePreloader_DefaultPreloader.prototype,{ minDisplayTime: null ,allowedURLs: null ,siteLockURLIndex: null ,siteLockTitleText: null ,siteLockBodyText: null ,_percent: null ,_width: null ,_height: null ,_loaded: null ,_urlChecked: null ,_startTime: null ,create: function() { } ,onInit: function() { flixel_system__$FlxBasePreloader_DefaultPreloader.prototype.onInit.call(this); openfl_Lib.get_current().stage.set_scaleMode(2); openfl_Lib.get_current().stage.align = 6; this.create(); this.addEventListener("enterFrame",$bind(this,this.onEnterFrame)); this.checkSiteLock(); } ,onUpdate: function(bytesLoaded,bytesTotal) { this._percent = bytesTotal != 0 ? bytesLoaded / bytesTotal : 0; } ,onEnterFrame: function(E) { var time = new Date().getTime() - this._startTime; var min = this.minDisplayTime * 1000; var percent = this._percent; if(min > 0 && this._percent > time / min) { percent = time / min; } this.update(percent); if(this._loaded && (min <= 0 || time / min >= 1)) { this.removeEventListener("enterFrame",$bind(this,this.onEnterFrame)); flixel_system__$FlxBasePreloader_DefaultPreloader.prototype.onLoaded.call(this); this.destroy(); } } ,destroy: function() { } ,update: function(Percent) { } ,onLoaded: function() { this._loaded = true; this._percent = 1; } ,createBitmap: function(bitmapDataClass,onLoad) { var bmp = new openfl_display_Bitmap(); var tmp = Type.createInstance(bitmapDataClass,[0,0,true,-1,function(_) { onLoad(bmp); }]); bmp.set_bitmapData(tmp); return bmp; } ,loadBitmapData: function(bitmapDataClass,onLoad) { return Type.createInstance(bitmapDataClass,[0,0,true,-1,onLoad]); } ,checkSiteLock: function() { if(this._urlChecked) { return; } if(!this.isHostUrlAllowed()) { this.removeChildren(); this.removeEventListener("enterFrame",$bind(this,this.onEnterFrame)); this.createSiteLockFailureScreen(); } else { this._urlChecked = true; } } ,createSiteLockFailureScreen: function() { this.addChild(this.createSiteLockFailureBackground(16777215,15066597)); this.addChild(this.createSiteLockFailureIcon(15066597,0.9)); this.addChild(this.createSiteLockFailureText(30)); } ,createSiteLockFailureBackground: function(innerColor,outerColor) { var shape = new openfl_display_Shape(); var graphics = shape.get_graphics(); graphics.clear(); var fillMatrix = new openfl_geom_Matrix(); fillMatrix.createGradientBox(1,1,0,-0.5,-0.5); var scaling = Math.max(this.stage.stageWidth,this.stage.stageHeight); fillMatrix.scale(scaling,scaling); fillMatrix.translate(0.5 * this.stage.stageWidth,0.5 * this.stage.stageHeight); graphics.beginGradientFill(1,[innerColor,outerColor],[1,1],[0,255],fillMatrix); graphics.drawRect(0,0,this.stage.stageWidth,this.stage.stageHeight); graphics.endFill(); return shape; } ,createSiteLockFailureIcon: function(color,scale) { var shape = new openfl_display_Shape(); var graphics = shape.get_graphics(); graphics.clear(); graphics.beginFill(color); var a = [1,6,2,2,2,6,6,2,2,2,6,1,6,2,6,2,6,2,6,1,6,6,2,2,2,6,6]; var vector = openfl__$Vector_Vector_$Impl_$.toIntVector(null); var _g1 = 0; var _g = a.length; while(_g1 < _g) { var i = _g1++; vector.set(i,a[i]); } var tmp = vector; var a1 = [120.0,0,164,0,200,35,200,79,200,130,160,130,160,79,160,57,142,40,120,40,97,40,79,57,79,79,80,130,40,130,40,79,40,35,75,0,120,0,220,140,231,140,240,148,240,160,240,300,240,311,231,320,220,320,20,320,8,320,0,311,0,300,0,160,0,148,8,140,20,140,120,190,108,190,100,198,100,210,100,217,104,223,110,227,110,270,130,270,130,227,135,223,140,217,140,210,140,198,131,190,120,190]; var vector1 = openfl__$Vector_Vector_$Impl_$.toFloatVector(null); var _g11 = 0; var _g2 = a1.length; while(_g11 < _g2) { var i1 = _g11++; vector1.set(i1,a1[i1]); } graphics.drawPath(tmp,vector1,1); graphics.endFill(); var transformMatrix = new openfl_geom_Matrix(); transformMatrix.translate(-0.5 * shape.get_width(),-0.5 * shape.get_height()); var scaling = scale * Math.min(this.stage.stageWidth / shape.get_width(),this.stage.stageHeight / shape.get_height()); transformMatrix.scale(scaling,scaling); transformMatrix.translate(0.5 * this.stage.stageWidth,0.5 * this.stage.stageHeight); shape.get_transform().set_matrix(transformMatrix); return shape; } ,createSiteLockFailureText: function(margin) { var sprite = new openfl_display_Sprite(); var bounds = new openfl_geom_Rectangle(0,0,this.stage.stageWidth,this.stage.stageHeight); bounds.inflate(-margin,-margin); var titleText = new openfl_text_TextField(); var titleTextFormat = new openfl_text_TextFormat("_sans",33,3355443,true); titleTextFormat.align = 3; titleText.set_defaultTextFormat(titleTextFormat); titleText.set_selectable(false); titleText.set_width(bounds.width); titleText.set_text(this.siteLockTitleText); var bodyText = new openfl_text_TextField(); var bodyTextFormat = new openfl_text_TextFormat("_sans",22,3355443); bodyTextFormat.align = 2; bodyText.set_defaultTextFormat(bodyTextFormat); bodyText.set_multiline(true); bodyText.set_wordWrap(true); bodyText.set_selectable(false); bodyText.set_width(bounds.width); bodyText.set_text(this.siteLockBodyText); var hyperlinkText = new openfl_text_TextField(); var hyperlinkTextFormat = new openfl_text_TextFormat("_sans",22,7247820,true,false,true); hyperlinkTextFormat.align = 0; hyperlinkTextFormat.url = this.allowedURLs[this.siteLockURLIndex]; hyperlinkText.set_defaultTextFormat(hyperlinkTextFormat); hyperlinkText.set_selectable(true); hyperlinkText.set_width(bounds.width); hyperlinkText.set_text(this.allowedURLs[this.siteLockURLIndex]); this.adjustSiteLockTextFields(titleText,bodyText,hyperlinkText); var gutterSize = 4; titleText.set_height(titleText.get_textHeight() + gutterSize); bodyText.set_height(bodyText.get_textHeight() + gutterSize); hyperlinkText.set_height(hyperlinkText.get_textHeight() + gutterSize); titleText.set_x(bodyText.set_x(hyperlinkText.set_x(bounds.get_left()))); titleText.set_y(bounds.get_top()); bodyText.set_y(titleText.get_y() + 2.0 * titleText.get_height()); hyperlinkText.set_y(bodyText.get_y() + bodyText.get_height() + hyperlinkText.get_height()); sprite.addChild(titleText); sprite.addChild(bodyText); sprite.addChild(hyperlinkText); return sprite; } ,adjustSiteLockTextFields: function(titleText,bodyText,hyperlinkText) { } ,goToMyURL: function(e) { if(this.allowedURLs[this.siteLockURLIndex] != "localhost") { var URL = this.allowedURLs[this.siteLockURLIndex]; var prefix = ""; if(!new EReg("^https?://","").match(URL)) { prefix = "http://"; } openfl_Lib.getURL(new openfl_net_URLRequest(prefix + URL),"_blank"); } else { openfl_Lib.getURL(new openfl_net_URLRequest(this.allowedURLs[this.siteLockURLIndex])); } } ,isHostUrlAllowed: function() { if(this.allowedURLs.length == 0) { return true; } var homeURL = window.location.href; var homeDomain = flixel_util_FlxStringUtil.getDomain(homeURL); var _g = 0; var _g1 = this.allowedURLs; while(_g < _g1.length) { var allowedURL = _g1[_g]; ++_g; var allowedDomain = flixel_util_FlxStringUtil.getDomain(allowedURL); if(allowedDomain == homeDomain) { return true; } } return false; } ,__class__: flixel_system_FlxBasePreloader }); var flixel_system_FlxLinkedList = function() { this.exists = true; }; $hxClasses["flixel.system.FlxLinkedList"] = flixel_system_FlxLinkedList; flixel_system_FlxLinkedList.__name__ = ["flixel","system","FlxLinkedList"]; flixel_system_FlxLinkedList.__interfaces__ = [flixel_util_IFlxDestroyable]; flixel_system_FlxLinkedList._cachedListsHead = null; flixel_system_FlxLinkedList.recycle = function() { if(flixel_system_FlxLinkedList._cachedListsHead != null) { var cachedList = flixel_system_FlxLinkedList._cachedListsHead; flixel_system_FlxLinkedList._cachedListsHead = flixel_system_FlxLinkedList._cachedListsHead.next; flixel_system_FlxLinkedList._NUM_CACHED_FLX_LIST--; cachedList.exists = true; cachedList.next = null; return cachedList; } else { return new flixel_system_FlxLinkedList(); } }; flixel_system_FlxLinkedList.clearCache = function() { while(flixel_system_FlxLinkedList._cachedListsHead != null) { var node = flixel_system_FlxLinkedList._cachedListsHead; flixel_system_FlxLinkedList._cachedListsHead = flixel_system_FlxLinkedList._cachedListsHead.next; node.object = null; node.next = null; } flixel_system_FlxLinkedList._NUM_CACHED_FLX_LIST = 0; }; flixel_system_FlxLinkedList.prototype = { object: null ,next: null ,exists: null ,destroy: function() { if(!this.exists) { return; } this.object = null; if(this.next != null) { this.next.destroy(); } this.exists = false; this.next = flixel_system_FlxLinkedList._cachedListsHead; flixel_system_FlxLinkedList._cachedListsHead = this; flixel_system_FlxLinkedList._NUM_CACHED_FLX_LIST++; } ,__class__: flixel_system_FlxLinkedList }; var flixel_system__$FlxPreloader_GraphicLogoLight = function(width,height,transparent,fillRGBA,onload) { if(fillRGBA == null) { fillRGBA = -1; } if(transparent == null) { transparent = true; } openfl_display_BitmapData.call(this,0,0,transparent,fillRGBA); if(flixel_system__$FlxPreloader_GraphicLogoLight.preload != null) { this.__fromImage(flixel_system__$FlxPreloader_GraphicLogoLight.preload); } else { var _gthis = this; lime_graphics_Image.loadFromBase64(haxe_Resource.getString(flixel_system__$FlxPreloader_GraphicLogoLight.resourceName),flixel_system__$FlxPreloader_GraphicLogoLight.resourceType).then(function(image) { _gthis.__fromImage(image); return lime_app_Future.withValue(_gthis); }).onComplete(function(b) { if(flixel_system__$FlxPreloader_GraphicLogoLight.preload == null) { flixel_system__$FlxPreloader_GraphicLogoLight.preload = b.image; } if(onload != null) { onload(b); } }); } }; $hxClasses["flixel.system._FlxPreloader.GraphicLogoLight"] = flixel_system__$FlxPreloader_GraphicLogoLight; flixel_system__$FlxPreloader_GraphicLogoLight.__name__ = ["flixel","system","_FlxPreloader","GraphicLogoLight"]; flixel_system__$FlxPreloader_GraphicLogoLight.preload = null; flixel_system__$FlxPreloader_GraphicLogoLight.__super__ = openfl_display_BitmapData; flixel_system__$FlxPreloader_GraphicLogoLight.prototype = $extend(openfl_display_BitmapData.prototype,{ __class__: flixel_system__$FlxPreloader_GraphicLogoLight }); var flixel_system__$FlxPreloader_GraphicLogoCorners = function(width,height,transparent,fillRGBA,onload) { if(fillRGBA == null) { fillRGBA = -1; } if(transparent == null) { transparent = true; } openfl_display_BitmapData.call(this,0,0,transparent,fillRGBA); if(flixel_system__$FlxPreloader_GraphicLogoCorners.preload != null) { this.__fromImage(flixel_system__$FlxPreloader_GraphicLogoCorners.preload); } else { var _gthis = this; lime_graphics_Image.loadFromBase64(haxe_Resource.getString(flixel_system__$FlxPreloader_GraphicLogoCorners.resourceName),flixel_system__$FlxPreloader_GraphicLogoCorners.resourceType).then(function(image) { _gthis.__fromImage(image); return lime_app_Future.withValue(_gthis); }).onComplete(function(b) { if(flixel_system__$FlxPreloader_GraphicLogoCorners.preload == null) { flixel_system__$FlxPreloader_GraphicLogoCorners.preload = b.image; } if(onload != null) { onload(b); } }); } }; $hxClasses["flixel.system._FlxPreloader.GraphicLogoCorners"] = flixel_system__$FlxPreloader_GraphicLogoCorners; flixel_system__$FlxPreloader_GraphicLogoCorners.__name__ = ["flixel","system","_FlxPreloader","GraphicLogoCorners"]; flixel_system__$FlxPreloader_GraphicLogoCorners.preload = null; flixel_system__$FlxPreloader_GraphicLogoCorners.__super__ = openfl_display_BitmapData; flixel_system__$FlxPreloader_GraphicLogoCorners.prototype = $extend(openfl_display_BitmapData.prototype,{ __class__: flixel_system__$FlxPreloader_GraphicLogoCorners }); var flixel_system_FlxPreloader = function(MinDisplayTime,AllowedURLs) { if(MinDisplayTime == null) { MinDisplayTime = 0; } flixel_system_FlxBasePreloader.call(this,MinDisplayTime,AllowedURLs); }; $hxClasses["flixel.system.FlxPreloader"] = flixel_system_FlxPreloader; flixel_system_FlxPreloader.__name__ = ["flixel","system","FlxPreloader"]; flixel_system_FlxPreloader.__super__ = flixel_system_FlxBasePreloader; flixel_system_FlxPreloader.prototype = $extend(flixel_system_FlxBasePreloader.prototype,{ _buffer: null ,_bmpBar: null ,_text: null ,_logo: null ,_logoGlow: null ,create: function() { var _gthis = this; this._buffer = new openfl_display_Sprite(); this._buffer.set_scaleX(this._buffer.set_scaleY(2)); this.addChild(this._buffer); this._width = openfl_Lib.get_current().stage.stageWidth / this._buffer.get_scaleX() | 0; this._height = openfl_Lib.get_current().stage.stageHeight / this._buffer.get_scaleY() | 0; this._buffer.addChild(new openfl_display_Bitmap(new openfl_display_BitmapData(this._width,this._height,false,13406))); var logoLight = this.createBitmap(flixel_system__$FlxPreloader_GraphicLogoLight,function(logoLight1) { logoLight1.set_width(logoLight1.set_height(_gthis._height)); logoLight1.set_x((_gthis._width - logoLight1.get_width()) / 2); }); logoLight.smoothing = true; this._buffer.addChild(logoLight); this._bmpBar = new openfl_display_Bitmap(new openfl_display_BitmapData(1,7,false,6253311)); this._bmpBar.set_x(4); this._bmpBar.set_y(this._height - 11); this._buffer.addChild(this._bmpBar); this._text = new openfl_text_TextField(); this._text.set_defaultTextFormat(new openfl_text_TextFormat(flixel_system_FlxAssets.FONT_DEFAULT,8,6253311)); this._text.set_embedFonts(true); this._text.set_selectable(false); this._text.set_multiline(false); this._text.set_x(2); this._text.set_y(this._bmpBar.get_y() - 11); this._text.set_width(200); this._buffer.addChild(this._text); this._logo = new openfl_display_Sprite(); flixel_system_FlxAssets.drawLogo(this._logo.get_graphics()); this._logo.set_scaleX(this._logo.set_scaleY(this._height / 8 * 0.04)); this._logo.set_x((this._width - this._logo.get_width()) / 2); this._logo.set_y((this._height - this._logo.get_height()) / 2); this._buffer.addChild(this._logo); this._logoGlow = new openfl_display_Sprite(); flixel_system_FlxAssets.drawLogo(this._logoGlow.get_graphics()); this._logoGlow.set_blendMode(12); this._logoGlow.set_scaleX(this._logoGlow.set_scaleY(this._height / 8 * 0.04)); this._logoGlow.set_x((this._width - this._logoGlow.get_width()) / 2); this._logoGlow.set_y((this._height - this._logoGlow.get_height()) / 2); this._buffer.addChild(this._logoGlow); var corners = this.createBitmap(flixel_system__$FlxPreloader_GraphicLogoCorners,function(corners1) { corners1.set_width(_gthis._width); corners1.set_height(_gthis.get_height()); }); corners.smoothing = true; this._buffer.addChild(corners); var bitmap = new openfl_display_Bitmap(new openfl_display_BitmapData(this._width,this._height,false,16777215)); var i = 0; var j = 0; while(i < this._height) { j = 0; while(j < this._width) bitmap.get_bitmapData().setPixel(j++,i,0); i += 2; } bitmap.set_blendMode(11); bitmap.set_alpha(0.25); this._buffer.addChild(bitmap); flixel_system_FlxBasePreloader.prototype.create.call(this); } ,destroy: function() { if(this._buffer != null) { this.removeChild(this._buffer); } this._buffer = null; this._bmpBar = null; this._text = null; this._logo = null; this._logoGlow = null; flixel_system_FlxBasePreloader.prototype.destroy.call(this); } ,update: function(Percent) { this._bmpBar.set_scaleX(Percent * (this._width - 8)); this._text.set_text(Std.string(flixel_FlxG.VERSION) + " " + (Percent * 100 | 0) + "%"); if(Percent < 0.1) { this._logoGlow.set_alpha(0); this._logo.set_alpha(0); } else if(Percent < 0.15) { this._logoGlow.set_alpha(Math.random()); this._logo.set_alpha(0); } else if(Percent < 0.2) { this._logoGlow.set_alpha(0); this._logo.set_alpha(0); } else if(Percent < 0.25) { this._logoGlow.set_alpha(0); this._logo.set_alpha(Math.random()); } else if(Percent < 0.7) { this._logoGlow.set_alpha((Percent - 0.45) / 0.45); this._logo.set_alpha(1); } else if(Percent > 0.8 && Percent < 0.9) { this._logoGlow.set_alpha(1 - (Percent - 0.8) / 0.1); this._logo.set_alpha(0); } else if(Percent > 0.9) { this._buffer.set_alpha(1 - (Percent - 0.9) / 0.1); } } ,__class__: flixel_system_FlxPreloader }); var flixel_system_FlxQuadTree = function(X,Y,Width,Height,Parent) { flixel_math_FlxRect.call(this); this.x = X; this.y = Y; this.width = Width; this.height = Height; this.reset(X,Y,Width,Height,Parent); }; $hxClasses["flixel.system.FlxQuadTree"] = flixel_system_FlxQuadTree; flixel_system_FlxQuadTree.__name__ = ["flixel","system","FlxQuadTree"]; flixel_system_FlxQuadTree.divisions = null; flixel_system_FlxQuadTree._min = null; flixel_system_FlxQuadTree._object = null; flixel_system_FlxQuadTree._objectLeftEdge = null; flixel_system_FlxQuadTree._objectTopEdge = null; flixel_system_FlxQuadTree._objectRightEdge = null; flixel_system_FlxQuadTree._objectBottomEdge = null; flixel_system_FlxQuadTree._list = null; flixel_system_FlxQuadTree._useBothLists = null; flixel_system_FlxQuadTree._processingCallback = null; flixel_system_FlxQuadTree._notifyCallback = null; flixel_system_FlxQuadTree._iterator = null; flixel_system_FlxQuadTree._objectHullX = null; flixel_system_FlxQuadTree._objectHullY = null; flixel_system_FlxQuadTree._objectHullWidth = null; flixel_system_FlxQuadTree._objectHullHeight = null; flixel_system_FlxQuadTree._checkObjectHullX = null; flixel_system_FlxQuadTree._checkObjectHullY = null; flixel_system_FlxQuadTree._checkObjectHullWidth = null; flixel_system_FlxQuadTree._checkObjectHullHeight = null; flixel_system_FlxQuadTree._cachedTreesHead = null; flixel_system_FlxQuadTree.recycle = function(X,Y,Width,Height,Parent) { if(flixel_system_FlxQuadTree._cachedTreesHead != null) { var cachedTree = flixel_system_FlxQuadTree._cachedTreesHead; flixel_system_FlxQuadTree._cachedTreesHead = flixel_system_FlxQuadTree._cachedTreesHead.next; flixel_system_FlxQuadTree._NUM_CACHED_QUAD_TREES--; cachedTree.reset(X,Y,Width,Height,Parent); return cachedTree; } else { return new flixel_system_FlxQuadTree(X,Y,Width,Height,Parent); } }; flixel_system_FlxQuadTree.clearCache = function() { while(flixel_system_FlxQuadTree._cachedTreesHead != null) { var node = flixel_system_FlxQuadTree._cachedTreesHead; flixel_system_FlxQuadTree._cachedTreesHead = flixel_system_FlxQuadTree._cachedTreesHead.next; node.next = null; } flixel_system_FlxQuadTree._NUM_CACHED_QUAD_TREES = 0; }; flixel_system_FlxQuadTree.__super__ = flixel_math_FlxRect; flixel_system_FlxQuadTree.prototype = $extend(flixel_math_FlxRect.prototype,{ exists: null ,_canSubdivide: null ,_headA: null ,_tailA: null ,_headB: null ,_tailB: null ,_northWestTree: null ,_northEastTree: null ,_southEastTree: null ,_southWestTree: null ,_leftEdge: null ,_rightEdge: null ,_topEdge: null ,_bottomEdge: null ,_halfWidth: null ,_halfHeight: null ,_midpointX: null ,_midpointY: null ,next: null ,reset: function(X,Y,Width,Height,Parent) { this.exists = true; this.x = X; this.y = Y; this.width = Width; this.height = Height; this._headA = this._tailA = flixel_system_FlxLinkedList.recycle(); this._headB = this._tailB = flixel_system_FlxLinkedList.recycle(); if(Parent != null) { var iterator; var ot; if(Parent._headA.object != null) { iterator = Parent._headA; while(iterator != null) { if(this._tailA.object != null) { ot = this._tailA; this._tailA = flixel_system_FlxLinkedList.recycle(); ot.next = this._tailA; } this._tailA.object = iterator.object; iterator = iterator.next; } } if(Parent._headB.object != null) { iterator = Parent._headB; while(iterator != null) { if(this._tailB.object != null) { ot = this._tailB; this._tailB = flixel_system_FlxLinkedList.recycle(); ot.next = this._tailB; } this._tailB.object = iterator.object; iterator = iterator.next; } } } else { flixel_system_FlxQuadTree._min = Math.floor((this.width + this.height) / (2 * flixel_system_FlxQuadTree.divisions)); } this._canSubdivide = this.width > flixel_system_FlxQuadTree._min || this.height > flixel_system_FlxQuadTree._min; this._northWestTree = null; this._northEastTree = null; this._southEastTree = null; this._southWestTree = null; this._leftEdge = this.x; this._rightEdge = this.x + this.width; this._halfWidth = this.width / 2; this._midpointX = this._leftEdge + this._halfWidth; this._topEdge = this.y; this._bottomEdge = this.y + this.height; this._halfHeight = this.height / 2; this._midpointY = this._topEdge + this._halfHeight; } ,destroy: function() { this._headA = flixel_util_FlxDestroyUtil.destroy(this._headA); this._headB = flixel_util_FlxDestroyUtil.destroy(this._headB); this._tailA = flixel_util_FlxDestroyUtil.destroy(this._tailA); this._tailB = flixel_util_FlxDestroyUtil.destroy(this._tailB); this._northWestTree = flixel_util_FlxDestroyUtil.destroy(this._northWestTree); this._northEastTree = flixel_util_FlxDestroyUtil.destroy(this._northEastTree); this._southWestTree = flixel_util_FlxDestroyUtil.destroy(this._southWestTree); this._southEastTree = flixel_util_FlxDestroyUtil.destroy(this._southEastTree); flixel_system_FlxQuadTree._object = null; flixel_system_FlxQuadTree._processingCallback = null; flixel_system_FlxQuadTree._notifyCallback = null; this.exists = false; this.next = flixel_system_FlxQuadTree._cachedTreesHead; flixel_system_FlxQuadTree._cachedTreesHead = this; flixel_system_FlxQuadTree._NUM_CACHED_QUAD_TREES++; flixel_math_FlxRect.prototype.destroy.call(this); } ,load: function(ObjectOrGroup1,ObjectOrGroup2,NotifyCallback,ProcessCallback) { this.add(ObjectOrGroup1,0); if(ObjectOrGroup2 != null) { this.add(ObjectOrGroup2,1); flixel_system_FlxQuadTree._useBothLists = true; } else { flixel_system_FlxQuadTree._useBothLists = false; } flixel_system_FlxQuadTree._notifyCallback = NotifyCallback; flixel_system_FlxQuadTree._processingCallback = ProcessCallback; } ,add: function(ObjectOrGroup,list) { flixel_system_FlxQuadTree._list = list; var group = flixel_group_FlxTypedGroup.resolveGroup(ObjectOrGroup); if(group != null) { var i = 0; var basic; var members = group.members; var l = group.length; while(i < l) { basic = members[i++]; if(basic != null && basic.exists) { group = flixel_group_FlxTypedGroup.resolveGroup(basic); if(group != null) { this.add(group,list); } else { flixel_system_FlxQuadTree._object = basic; if(flixel_system_FlxQuadTree._object.exists && flixel_system_FlxQuadTree._object.allowCollisions != 0) { flixel_system_FlxQuadTree._objectLeftEdge = flixel_system_FlxQuadTree._object.x; flixel_system_FlxQuadTree._objectTopEdge = flixel_system_FlxQuadTree._object.y; flixel_system_FlxQuadTree._objectRightEdge = flixel_system_FlxQuadTree._object.x + flixel_system_FlxQuadTree._object.get_width(); flixel_system_FlxQuadTree._objectBottomEdge = flixel_system_FlxQuadTree._object.y + flixel_system_FlxQuadTree._object.get_height(); this.addObject(); } } } } } else { flixel_system_FlxQuadTree._object = ObjectOrGroup; if(flixel_system_FlxQuadTree._object.exists && flixel_system_FlxQuadTree._object.allowCollisions != 0) { flixel_system_FlxQuadTree._objectLeftEdge = flixel_system_FlxQuadTree._object.x; flixel_system_FlxQuadTree._objectTopEdge = flixel_system_FlxQuadTree._object.y; flixel_system_FlxQuadTree._objectRightEdge = flixel_system_FlxQuadTree._object.x + flixel_system_FlxQuadTree._object.get_width(); flixel_system_FlxQuadTree._objectBottomEdge = flixel_system_FlxQuadTree._object.y + flixel_system_FlxQuadTree._object.get_height(); this.addObject(); } } } ,addObject: function() { if(!this._canSubdivide || this._leftEdge >= flixel_system_FlxQuadTree._objectLeftEdge && this._rightEdge <= flixel_system_FlxQuadTree._objectRightEdge && this._topEdge >= flixel_system_FlxQuadTree._objectTopEdge && this._bottomEdge <= flixel_system_FlxQuadTree._objectBottomEdge) { this.addToList(); return; } if(flixel_system_FlxQuadTree._objectLeftEdge > this._leftEdge && flixel_system_FlxQuadTree._objectRightEdge < this._midpointX) { if(flixel_system_FlxQuadTree._objectTopEdge > this._topEdge && flixel_system_FlxQuadTree._objectBottomEdge < this._midpointY) { if(this._northWestTree == null) { this._northWestTree = flixel_system_FlxQuadTree.recycle(this._leftEdge,this._topEdge,this._halfWidth,this._halfHeight,this); } this._northWestTree.addObject(); return; } if(flixel_system_FlxQuadTree._objectTopEdge > this._midpointY && flixel_system_FlxQuadTree._objectBottomEdge < this._bottomEdge) { if(this._southWestTree == null) { this._southWestTree = flixel_system_FlxQuadTree.recycle(this._leftEdge,this._midpointY,this._halfWidth,this._halfHeight,this); } this._southWestTree.addObject(); return; } } if(flixel_system_FlxQuadTree._objectLeftEdge > this._midpointX && flixel_system_FlxQuadTree._objectRightEdge < this._rightEdge) { if(flixel_system_FlxQuadTree._objectTopEdge > this._topEdge && flixel_system_FlxQuadTree._objectBottomEdge < this._midpointY) { if(this._northEastTree == null) { this._northEastTree = flixel_system_FlxQuadTree.recycle(this._midpointX,this._topEdge,this._halfWidth,this._halfHeight,this); } this._northEastTree.addObject(); return; } if(flixel_system_FlxQuadTree._objectTopEdge > this._midpointY && flixel_system_FlxQuadTree._objectBottomEdge < this._bottomEdge) { if(this._southEastTree == null) { this._southEastTree = flixel_system_FlxQuadTree.recycle(this._midpointX,this._midpointY,this._halfWidth,this._halfHeight,this); } this._southEastTree.addObject(); return; } } if(flixel_system_FlxQuadTree._objectRightEdge > this._leftEdge && flixel_system_FlxQuadTree._objectLeftEdge < this._midpointX && flixel_system_FlxQuadTree._objectBottomEdge > this._topEdge && flixel_system_FlxQuadTree._objectTopEdge < this._midpointY) { if(this._northWestTree == null) { this._northWestTree = flixel_system_FlxQuadTree.recycle(this._leftEdge,this._topEdge,this._halfWidth,this._halfHeight,this); } this._northWestTree.addObject(); } if(flixel_system_FlxQuadTree._objectRightEdge > this._midpointX && flixel_system_FlxQuadTree._objectLeftEdge < this._rightEdge && flixel_system_FlxQuadTree._objectBottomEdge > this._topEdge && flixel_system_FlxQuadTree._objectTopEdge < this._midpointY) { if(this._northEastTree == null) { this._northEastTree = flixel_system_FlxQuadTree.recycle(this._midpointX,this._topEdge,this._halfWidth,this._halfHeight,this); } this._northEastTree.addObject(); } if(flixel_system_FlxQuadTree._objectRightEdge > this._midpointX && flixel_system_FlxQuadTree._objectLeftEdge < this._rightEdge && flixel_system_FlxQuadTree._objectBottomEdge > this._midpointY && flixel_system_FlxQuadTree._objectTopEdge < this._bottomEdge) { if(this._southEastTree == null) { this._southEastTree = flixel_system_FlxQuadTree.recycle(this._midpointX,this._midpointY,this._halfWidth,this._halfHeight,this); } this._southEastTree.addObject(); } if(flixel_system_FlxQuadTree._objectRightEdge > this._leftEdge && flixel_system_FlxQuadTree._objectLeftEdge < this._midpointX && flixel_system_FlxQuadTree._objectBottomEdge > this._midpointY && flixel_system_FlxQuadTree._objectTopEdge < this._bottomEdge) { if(this._southWestTree == null) { this._southWestTree = flixel_system_FlxQuadTree.recycle(this._leftEdge,this._midpointY,this._halfWidth,this._halfHeight,this); } this._southWestTree.addObject(); } } ,addToList: function() { var ot; if(flixel_system_FlxQuadTree._list == 0) { if(this._tailA.object != null) { ot = this._tailA; this._tailA = flixel_system_FlxLinkedList.recycle(); ot.next = this._tailA; } this._tailA.object = flixel_system_FlxQuadTree._object; } else { if(this._tailB.object != null) { ot = this._tailB; this._tailB = flixel_system_FlxLinkedList.recycle(); ot.next = this._tailB; } this._tailB.object = flixel_system_FlxQuadTree._object; } if(!this._canSubdivide) { return; } if(this._northWestTree != null) { this._northWestTree.addToList(); } if(this._northEastTree != null) { this._northEastTree.addToList(); } if(this._southEastTree != null) { this._southEastTree.addToList(); } if(this._southWestTree != null) { this._southWestTree.addToList(); } } ,execute: function() { var overlapProcessed = false; if(this._headA.object != null) { var iterator = this._headA; while(iterator != null) { flixel_system_FlxQuadTree._object = iterator.object; if(flixel_system_FlxQuadTree._useBothLists) { flixel_system_FlxQuadTree._iterator = this._headB; } else { flixel_system_FlxQuadTree._iterator = iterator.next; } if(flixel_system_FlxQuadTree._object != null && flixel_system_FlxQuadTree._object.exists && flixel_system_FlxQuadTree._object.allowCollisions > 0 && flixel_system_FlxQuadTree._iterator != null && flixel_system_FlxQuadTree._iterator.object != null && this.overlapNode()) { overlapProcessed = true; } iterator = iterator.next; } } if(this._northWestTree != null && this._northWestTree.execute()) { overlapProcessed = true; } if(this._northEastTree != null && this._northEastTree.execute()) { overlapProcessed = true; } if(this._southEastTree != null && this._southEastTree.execute()) { overlapProcessed = true; } if(this._southWestTree != null && this._southWestTree.execute()) { overlapProcessed = true; } return overlapProcessed; } ,overlapNode: function() { flixel_system_FlxQuadTree._objectHullX = flixel_system_FlxQuadTree._object.x < flixel_system_FlxQuadTree._object.last.x ? flixel_system_FlxQuadTree._object.x : flixel_system_FlxQuadTree._object.last.x; flixel_system_FlxQuadTree._objectHullY = flixel_system_FlxQuadTree._object.y < flixel_system_FlxQuadTree._object.last.y ? flixel_system_FlxQuadTree._object.y : flixel_system_FlxQuadTree._object.last.y; flixel_system_FlxQuadTree._objectHullWidth = flixel_system_FlxQuadTree._object.x - flixel_system_FlxQuadTree._object.last.x; flixel_system_FlxQuadTree._objectHullWidth = flixel_system_FlxQuadTree._object.get_width() + (flixel_system_FlxQuadTree._objectHullWidth > 0 ? flixel_system_FlxQuadTree._objectHullWidth : -flixel_system_FlxQuadTree._objectHullWidth); flixel_system_FlxQuadTree._objectHullHeight = flixel_system_FlxQuadTree._object.y - flixel_system_FlxQuadTree._object.last.y; flixel_system_FlxQuadTree._objectHullHeight = flixel_system_FlxQuadTree._object.get_height() + (flixel_system_FlxQuadTree._objectHullHeight > 0 ? flixel_system_FlxQuadTree._objectHullHeight : -flixel_system_FlxQuadTree._objectHullHeight); var overlapProcessed = false; var checkObject; while(flixel_system_FlxQuadTree._iterator != null) { checkObject = flixel_system_FlxQuadTree._iterator.object; if(flixel_system_FlxQuadTree._object == checkObject || !checkObject.exists || checkObject.allowCollisions <= 0) { flixel_system_FlxQuadTree._iterator = flixel_system_FlxQuadTree._iterator.next; continue; } flixel_system_FlxQuadTree._checkObjectHullX = checkObject.x < checkObject.last.x ? checkObject.x : checkObject.last.x; flixel_system_FlxQuadTree._checkObjectHullY = checkObject.y < checkObject.last.y ? checkObject.y : checkObject.last.y; flixel_system_FlxQuadTree._checkObjectHullWidth = checkObject.x - checkObject.last.x; flixel_system_FlxQuadTree._checkObjectHullWidth = checkObject.get_width() + (flixel_system_FlxQuadTree._checkObjectHullWidth > 0 ? flixel_system_FlxQuadTree._checkObjectHullWidth : -flixel_system_FlxQuadTree._checkObjectHullWidth); flixel_system_FlxQuadTree._checkObjectHullHeight = checkObject.y - checkObject.last.y; flixel_system_FlxQuadTree._checkObjectHullHeight = checkObject.get_height() + (flixel_system_FlxQuadTree._checkObjectHullHeight > 0 ? flixel_system_FlxQuadTree._checkObjectHullHeight : -flixel_system_FlxQuadTree._checkObjectHullHeight); if(flixel_system_FlxQuadTree._objectHullX + flixel_system_FlxQuadTree._objectHullWidth > flixel_system_FlxQuadTree._checkObjectHullX && flixel_system_FlxQuadTree._objectHullX < flixel_system_FlxQuadTree._checkObjectHullX + flixel_system_FlxQuadTree._checkObjectHullWidth && flixel_system_FlxQuadTree._objectHullY + flixel_system_FlxQuadTree._objectHullHeight > flixel_system_FlxQuadTree._checkObjectHullY && flixel_system_FlxQuadTree._objectHullY < flixel_system_FlxQuadTree._checkObjectHullY + flixel_system_FlxQuadTree._checkObjectHullHeight) { if(flixel_system_FlxQuadTree._processingCallback == null || flixel_system_FlxQuadTree._processingCallback(flixel_system_FlxQuadTree._object,checkObject)) { overlapProcessed = true; if(flixel_system_FlxQuadTree._notifyCallback != null) { flixel_system_FlxQuadTree._notifyCallback(flixel_system_FlxQuadTree._object,checkObject); } } } if(flixel_system_FlxQuadTree._iterator != null) { flixel_system_FlxQuadTree._iterator = flixel_system_FlxQuadTree._iterator.next; } } return overlapProcessed; } ,__class__: flixel_system_FlxQuadTree }); var flixel_system_FlxSound = function() { this._alreadyPaused = false; this._volumeAdjust = 1.0; this._length = 0; this._time = 0; this.loopTime = 0; flixel_FlxBasic.call(this); this.reset(); }; $hxClasses["flixel.system.FlxSound"] = flixel_system_FlxSound; flixel_system_FlxSound.__name__ = ["flixel","system","FlxSound"]; flixel_system_FlxSound.__super__ = flixel_FlxBasic; flixel_system_FlxSound.prototype = $extend(flixel_FlxBasic.prototype,{ x: null ,y: null ,persist: null ,name: null ,artist: null ,amplitude: null ,amplitudeLeft: null ,amplitudeRight: null ,autoDestroy: null ,onComplete: null ,playing: null ,group: null ,looped: null ,loopTime: null ,endTime: null ,fadeTween: null ,_sound: null ,_channel: null ,_transform: null ,_paused: null ,_volume: null ,_time: null ,_length: null ,_volumeAdjust: null ,_target: null ,_radius: null ,_proximityPan: null ,_alreadyPaused: null ,reset: function() { this.destroy(); this.x = 0; this.y = 0; this._time = 0; this._paused = false; this._volume = 1.0; this._volumeAdjust = 1.0; this.looped = false; this.loopTime = 0.0; this.endTime = 0.0; this._target = null; this._radius = 0; this._proximityPan = false; this.set_visible(false); this.amplitude = 0; this.amplitudeLeft = 0; this.amplitudeRight = 0; this.autoDestroy = false; if(this._transform == null) { this._transform = new openfl_media_SoundTransform(); } this._transform.pan = 0; } ,destroy: function() { this._transform = null; this.set_exists(false); this.set_active(false); this._target = null; this.name = null; this.artist = null; if(this._channel != null) { this._channel.removeEventListener("soundComplete",$bind(this,this.stopped)); this._channel.stop(); this._channel = null; } if(this._sound != null) { this._sound.removeEventListener("id3",$bind(this,this.gotID3)); this._sound = null; } this.onComplete = null; flixel_FlxBasic.prototype.destroy.call(this); } ,update: function(elapsed) { if(this._channel == null) { return; } this._time = this._channel.get_position(); var radialMultiplier = 1.0; if(this._target != null) { var targetPosition = this._target.getPosition(); var X = this.x; var Y = this.y; var point = flixel_math_FlxPoint._pool.get().set(X,Y); point._inPool = false; var point1 = point; point1._weak = true; radialMultiplier = targetPosition.distanceTo(point1) / this._radius; targetPosition.put(); var lowerBound = radialMultiplier < 0 ? 0 : radialMultiplier; radialMultiplier = 1 - (lowerBound > 1 ? 1 : lowerBound); if(this._proximityPan) { var d = (this.x - this._target.x) / this._radius; var lowerBound1 = d < -1 ? -1 : d; this._transform.pan = lowerBound1 > 1 ? 1 : lowerBound1; } } this._volumeAdjust = radialMultiplier; this.updateTransform(); if(this._transform.volume > 0) { this.amplitudeLeft = this._channel.leftPeak / this._transform.volume; this.amplitudeRight = this._channel.rightPeak / this._transform.volume; this.amplitude = (this.amplitudeLeft + this.amplitudeRight) * 0.5; } else { this.amplitudeLeft = 0; this.amplitudeRight = 0; this.amplitude = 0; } if(this.endTime != null && this._time >= this.endTime) { this.stopped(); } } ,kill: function() { flixel_FlxBasic.prototype.kill.call(this); this.cleanup(false); } ,loadEmbedded: function(EmbeddedSound,Looped,AutoDestroy,OnComplete) { if(AutoDestroy == null) { AutoDestroy = false; } if(Looped == null) { Looped = false; } if(EmbeddedSound == null) { return this; } this.cleanup(true); if(js_Boot.__instanceof(EmbeddedSound,openfl_media_Sound)) { this._sound = EmbeddedSound; } else if(js_Boot.__instanceof(EmbeddedSound,Class)) { this._sound = Type.createInstance(EmbeddedSound,[]); } else if(typeof(EmbeddedSound) == "string") { if(openfl_utils_Assets.exists(EmbeddedSound,"SOUND") || openfl_utils_Assets.exists(EmbeddedSound,"MUSIC")) { this._sound = openfl_utils_Assets.getSound(EmbeddedSound); } else { var _this = flixel_FlxG.log; } } return this.init(Looped,AutoDestroy,OnComplete); } ,loadStream: function(SoundURL,Looped,AutoDestroy,OnComplete) { if(AutoDestroy == null) { AutoDestroy = false; } if(Looped == null) { Looped = false; } this.cleanup(true); this._sound = new openfl_media_Sound(); this._sound.addEventListener("id3",$bind(this,this.gotID3)); this._sound.load(new openfl_net_URLRequest(SoundURL)); return this.init(Looped,AutoDestroy,OnComplete); } ,init: function(Looped,AutoDestroy,OnComplete) { if(AutoDestroy == null) { AutoDestroy = false; } if(Looped == null) { Looped = false; } this.looped = Looped; this.autoDestroy = AutoDestroy; this.updateTransform(); this.set_exists(true); this.onComplete = OnComplete; this._length = this._sound == null ? 0 : this._sound.get_length(); this.endTime = this._length; return this; } ,proximity: function(X,Y,TargetObject,Radius,Pan) { if(Pan == null) { Pan = true; } this.x = X; this.y = Y; this._target = TargetObject; this._radius = Radius; this._proximityPan = Pan; return this; } ,play: function(ForceRestart,StartTime,EndTime) { if(StartTime == null) { StartTime = 0.0; } if(ForceRestart == null) { ForceRestart = false; } if(!this.exists) { return this; } if(ForceRestart) { this.cleanup(false,true); } else if(this._channel != null) { return this; } if(this._paused) { this.resume(); } else { this.startSound(StartTime); } this.endTime = EndTime; return this; } ,resume: function() { if(this._paused) { this.startSound(this._time); } return this; } ,pause: function() { if(this._channel == null) { return this; } this._time = this._channel.get_position(); this._paused = true; this.cleanup(false,false); return this; } ,stop: function() { this.cleanup(this.autoDestroy,true); return this; } ,fadeOut: function(Duration,To,onComplete) { if(To == null) { To = 0; } if(Duration == null) { Duration = 1; } if(this.fadeTween != null) { this.fadeTween.cancel(); } this.fadeTween = flixel_tweens_FlxTween.num(this._volume,To,Duration,{ onComplete : onComplete},$bind(this,this.volumeTween)); return this; } ,fadeIn: function(Duration,From,To,onComplete) { if(To == null) { To = 1; } if(From == null) { From = 0; } if(Duration == null) { Duration = 1; } if(this._channel == null) { this.play(); } if(this.fadeTween != null) { this.fadeTween.cancel(); } this.fadeTween = flixel_tweens_FlxTween.num(From,To,Duration,{ onComplete : onComplete},$bind(this,this.volumeTween)); return this; } ,volumeTween: function(f) { this.set_volume(f); } ,getActualVolume: function() { return this._volume * this._volumeAdjust; } ,setPosition: function(X,Y) { if(Y == null) { Y = 0; } if(X == null) { X = 0; } this.x = X; this.y = Y; } ,updateTransform: function() { this._transform.volume = (flixel_FlxG.sound.muted ? 0 : 1) * flixel_FlxG.sound.volume * (this.group != null ? this.group.volume : 1) * this._volume * this._volumeAdjust; if(this._channel != null) { this._channel.set_soundTransform(this._transform); } } ,startSound: function(StartTime) { if(this._sound == null) { return; } this._time = StartTime; this._paused = false; this._channel = this._sound.play(this._time,0,this._transform); if(this._channel != null) { this._channel.addEventListener("soundComplete",$bind(this,this.stopped)); this.set_active(true); } else { this.set_exists(false); this.set_active(false); } } ,stopped: function(_) { if(this.onComplete != null) { this.onComplete(); } if(this.looped) { this.cleanup(false); this.play(false,this.loopTime,this.endTime); } else { this.cleanup(this.autoDestroy); } } ,cleanup: function(destroySound,resetPosition) { if(resetPosition == null) { resetPosition = true; } if(destroySound) { this.reset(); return; } if(this._channel != null) { this._channel.removeEventListener("soundComplete",$bind(this,this.stopped)); this._channel.stop(); this._channel = null; } this.set_active(false); if(resetPosition) { this._time = 0; this._paused = false; } } ,gotID3: function(_) { this.name = this._sound.get_id3().songName; this.artist = this._sound.get_id3().artist; this._sound.removeEventListener("id3",$bind(this,this.gotID3)); } ,onFocus: function() { if(!this._alreadyPaused) { this.resume(); } } ,onFocusLost: function() { this._alreadyPaused = this._paused; this.pause(); } ,set_group: function(group) { if(this.group != group) { var oldGroup = this.group; this.group = group; if(oldGroup != null) { oldGroup.remove(this); } if(group != null) { group.add(this); } this.updateTransform(); } return group; } ,get_playing: function() { return this._channel != null; } ,get_volume: function() { return this._volume; } ,set_volume: function(Volume) { var lowerBound = Volume < 0 ? 0 : Volume; this._volume = lowerBound > 1 ? 1 : lowerBound; this.updateTransform(); return Volume; } ,get_pan: function() { return this._transform.pan; } ,set_pan: function(pan) { return this._transform.pan = pan; } ,get_time: function() { return this._time; } ,set_time: function(time) { if(this._channel != null) { this.cleanup(false,true); this.startSound(time); } return this._time = time; } ,get_length: function() { return this._length; } ,toString: function() { var value = this._channel != null; var _this = flixel_util_LabelValuePair._pool.get(); _this.label = "playing"; _this.value = value; var value1 = this._time; var _this1 = flixel_util_LabelValuePair._pool.get(); _this1.label = "time"; _this1.value = value1; var value2 = this._length; var _this2 = flixel_util_LabelValuePair._pool.get(); _this2.label = "length"; _this2.value = value2; var value3 = this._volume; var _this3 = flixel_util_LabelValuePair._pool.get(); _this3.label = "volume"; _this3.value = value3; return flixel_util_FlxStringUtil.getDebugString([_this,_this1,_this2,_this3]); } ,__class__: flixel_system_FlxSound ,__properties__: $extend(flixel_FlxBasic.prototype.__properties__,{set_group:"set_group",get_length:"get_length",set_time:"set_time",get_time:"get_time",set_volume:"set_volume",get_volume:"get_volume",get_playing:"get_playing",set_pan:"set_pan",get_pan:"get_pan"}) }); var flixel_system_FlxSoundGroup = function(volume) { if(volume == null) { volume = 1; } this.sounds = []; this.set_volume(volume); }; $hxClasses["flixel.system.FlxSoundGroup"] = flixel_system_FlxSoundGroup; flixel_system_FlxSoundGroup.__name__ = ["flixel","system","FlxSoundGroup"]; flixel_system_FlxSoundGroup.prototype = { sounds: null ,volume: null ,add: function(sound) { if(this.sounds.indexOf(sound) < 0) { this.sounds.push(sound); sound.set_group(this); return true; } return false; } ,remove: function(sound) { if(this.sounds.indexOf(sound) >= 0) { sound.set_group(null); return HxOverrides.remove(this.sounds,sound); } return false; } ,pause: function() { var _g = 0; var _g1 = this.sounds; while(_g < _g1.length) { var sound = _g1[_g]; ++_g; sound.pause(); } } ,resume: function() { var _g = 0; var _g1 = this.sounds; while(_g < _g1.length) { var sound = _g1[_g]; ++_g; sound.resume(); } } ,set_volume: function(volume) { this.volume = volume; var _g = 0; var _g1 = this.sounds; while(_g < _g1.length) { var sound = _g1[_g]; ++_g; sound.updateTransform(); } return volume; } ,__class__: flixel_system_FlxSoundGroup ,__properties__: {set_volume:"set_volume"} }; var flixel_system_FlxSplash = function(MaxSize) { this._curPart = 0; flixel_FlxState.call(this,MaxSize); }; $hxClasses["flixel.system.FlxSplash"] = flixel_system_FlxSplash; flixel_system_FlxSplash.__name__ = ["flixel","system","FlxSplash"]; flixel_system_FlxSplash.nextState = null; flixel_system_FlxSplash.__super__ = flixel_FlxState; flixel_system_FlxSplash.prototype = $extend(flixel_FlxState.prototype,{ _sprite: null ,_gfx: null ,_text: null ,_times: null ,_colors: null ,_functions: null ,_curPart: null ,_cachedBgColor: null ,_cachedTimestep: null ,_cachedAutoPause: null ,create: function() { this._cachedBgColor = flixel_FlxG.cameras.get_bgColor(); flixel_FlxG.cameras.set_bgColor(-16777216); this._cachedTimestep = flixel_FlxG.fixedTimestep; flixel_FlxG.fixedTimestep = false; this._cachedAutoPause = flixel_FlxG.autoPause; flixel_FlxG.autoPause = false; flixel_FlxG.keys.enabled = false; this._times = [0.041,0.184,0.334,0.495,0.636]; this._colors = [47394,16761138,16066382,3555839,314875]; this._functions = [$bind(this,this.drawGreen),$bind(this,this.drawYellow),$bind(this,this.drawRed),$bind(this,this.drawBlue),$bind(this,this.drawLightBlue)]; var _g = 0; var _g1 = this._times; while(_g < _g1.length) { var time = _g1[_g]; ++_g; new flixel_util_FlxTimer().start(time,$bind(this,this.timerCallback)); } var stageWidth = openfl_Lib.get_current().stage.stageWidth; var stageHeight = openfl_Lib.get_current().stage.stageHeight; this._sprite = new openfl_display_Sprite(); openfl_Lib.get_current().stage.addChild(this._sprite); this._gfx = this._sprite.get_graphics(); this._text = new openfl_text_TextField(); this._text.set_selectable(false); this._text.set_embedFonts(true); var dtf = new openfl_text_TextFormat(flixel_system_FlxAssets.FONT_DEFAULT,16,16777215); dtf.align = 0; this._text.set_defaultTextFormat(dtf); this._text.set_text("HaxeFlixel"); openfl_Lib.get_current().stage.addChild(this._text); this.onResize(stageWidth,stageHeight); var extension = ""; extension = ".ogg"; flixel_FlxG.sound.load(openfl_utils_Assets.getSound("flixel/sounds/flixel" + extension)).play(); } ,destroy: function() { this._sprite = null; this._gfx = null; this._text = null; this._times = null; this._colors = null; this._functions = null; flixel_FlxState.prototype.destroy.call(this); } ,onResize: function(Width,Height) { flixel_FlxState.prototype.onResize.call(this,Width,Height); this._sprite.set_x(Width / 2); this._sprite.set_y(Height / 2 - 20 * flixel_FlxG.game.get_scaleY()); this._text.set_width(Width / flixel_FlxG.game.get_scaleX()); this._text.set_x(0); this._text.set_y(this._sprite.get_y() + 80 * flixel_FlxG.game.get_scaleY()); this._sprite.set_scaleX(this._text.set_scaleX(flixel_FlxG.game.get_scaleX())); this._sprite.set_scaleY(this._text.set_scaleY(flixel_FlxG.game.get_scaleY())); } ,timerCallback: function(Timer) { this._functions[this._curPart](); this._text.set_textColor(this._colors[this._curPart]); this._text.set_text("HaxeFlixel"); this._curPart++; if(this._curPart == 5) { flixel_tweens_FlxTween.tween(this._sprite,{ alpha : 0},3.0,{ ease : flixel_tweens_FlxEase.quadOut, onComplete : $bind(this,this.onComplete)}); flixel_tweens_FlxTween.tween(this._text,{ alpha : 0},3.0,{ ease : flixel_tweens_FlxEase.quadOut}); } } ,drawGreen: function() { this._gfx.beginFill(47394); this._gfx.moveTo(0,-37); this._gfx.lineTo(1,-37); this._gfx.lineTo(37,0); this._gfx.lineTo(37,1); this._gfx.lineTo(1,37); this._gfx.lineTo(0,37); this._gfx.lineTo(-37,1); this._gfx.lineTo(-37,0); this._gfx.lineTo(0,-37); this._gfx.endFill(); } ,drawYellow: function() { this._gfx.beginFill(16761138); this._gfx.moveTo(-50,-50); this._gfx.lineTo(-25,-50); this._gfx.lineTo(0,-37); this._gfx.lineTo(-37,0); this._gfx.lineTo(-50,-25); this._gfx.lineTo(-50,-50); this._gfx.endFill(); } ,drawRed: function() { this._gfx.beginFill(16066382); this._gfx.moveTo(50,-50); this._gfx.lineTo(25,-50); this._gfx.lineTo(1,-37); this._gfx.lineTo(37,0); this._gfx.lineTo(50,-25); this._gfx.lineTo(50,-50); this._gfx.endFill(); } ,drawBlue: function() { this._gfx.beginFill(3555839); this._gfx.moveTo(-50,50); this._gfx.lineTo(-25,50); this._gfx.lineTo(0,37); this._gfx.lineTo(-37,1); this._gfx.lineTo(-50,25); this._gfx.lineTo(-50,50); this._gfx.endFill(); } ,drawLightBlue: function() { this._gfx.beginFill(314875); this._gfx.moveTo(50,50); this._gfx.lineTo(25,50); this._gfx.lineTo(1,37); this._gfx.lineTo(37,1); this._gfx.lineTo(50,25); this._gfx.lineTo(50,50); this._gfx.endFill(); } ,onComplete: function(Tween) { flixel_FlxG.cameras.set_bgColor(this._cachedBgColor); flixel_FlxG.fixedTimestep = this._cachedTimestep; flixel_FlxG.autoPause = this._cachedAutoPause; flixel_FlxG.keys.enabled = true; openfl_Lib.get_current().stage.removeChild(this._sprite); openfl_Lib.get_current().stage.removeChild(this._text); var nextState = Type.createInstance(flixel_system_FlxSplash.nextState,[]); if(flixel_FlxG.game._state.switchTo(nextState)) { flixel_FlxG.game._requestedState = nextState; } flixel_FlxG.game._gameJustStarted = true; } ,__class__: flixel_system_FlxSplash }); var flixel_system_debug_DebuggerUtil = function() { }; $hxClasses["flixel.system.debug.DebuggerUtil"] = flixel_system_debug_DebuggerUtil; flixel_system_debug_DebuggerUtil.__name__ = ["flixel","system","debug","DebuggerUtil"]; flixel_system_debug_DebuggerUtil.createTextField = function(X,Y,Color,Size) { if(Size == null) { Size = 12; } if(Color == null) { Color = -1; } if(Y == null) { Y = 0; } if(X == null) { X = 0; } return flixel_system_debug_DebuggerUtil.initTextField(new openfl_text_TextField(),X,Y,Color,Size); }; flixel_system_debug_DebuggerUtil.initTextField = function(tf,X,Y,Color,Size) { if(Size == null) { Size = 12; } if(Color == null) { Color = -1; } if(Y == null) { Y = 0; } if(X == null) { X = 0; } tf.set_x(X); tf.set_y(Y); tf.set_multiline(false); tf.set_wordWrap(false); tf.set_embedFonts(true); tf.set_selectable(false); tf.set_defaultTextFormat(new openfl_text_TextFormat(flixel_system_FlxAssets.FONT_DEBUGGER,Size,Color & 16777215)); tf.set_alpha((Color >> 24 & 255) / 255); tf.set_autoSize(1); return tf; }; flixel_system_debug_DebuggerUtil.fixSize = function(bitmapData) { Reflect.setProperty(bitmapData,"width",11); Reflect.setProperty(bitmapData,"height",11); return bitmapData; }; var flixel_system_debug__$FlxDebugger_GraphicFlixel = function(width,height,transparent,fillRGBA,onload) { if(fillRGBA == null) { fillRGBA = -1; } if(transparent == null) { transparent = true; } openfl_display_BitmapData.call(this,0,0,transparent,fillRGBA); if(flixel_system_debug__$FlxDebugger_GraphicFlixel.preload != null) { this.__fromImage(flixel_system_debug__$FlxDebugger_GraphicFlixel.preload); } else { var _gthis = this; lime_graphics_Image.loadFromBase64(haxe_Resource.getString(flixel_system_debug__$FlxDebugger_GraphicFlixel.resourceName),flixel_system_debug__$FlxDebugger_GraphicFlixel.resourceType).then(function(image) { _gthis.__fromImage(image); return lime_app_Future.withValue(_gthis); }).onComplete(function(b) { if(flixel_system_debug__$FlxDebugger_GraphicFlixel.preload == null) { flixel_system_debug__$FlxDebugger_GraphicFlixel.preload = b.image; } if(onload != null) { onload(b); } }); } }; $hxClasses["flixel.system.debug._FlxDebugger.GraphicFlixel"] = flixel_system_debug__$FlxDebugger_GraphicFlixel; flixel_system_debug__$FlxDebugger_GraphicFlixel.__name__ = ["flixel","system","debug","_FlxDebugger","GraphicFlixel"]; flixel_system_debug__$FlxDebugger_GraphicFlixel.preload = null; flixel_system_debug__$FlxDebugger_GraphicFlixel.__super__ = openfl_display_BitmapData; flixel_system_debug__$FlxDebugger_GraphicFlixel.prototype = $extend(openfl_display_BitmapData.prototype,{ __class__: flixel_system_debug__$FlxDebugger_GraphicFlixel }); var flixel_system_debug__$FlxDebugger_GraphicDrawDebug = function(width,height,transparent,fillRGBA,onload) { if(fillRGBA == null) { fillRGBA = -1; } if(transparent == null) { transparent = true; } openfl_display_BitmapData.call(this,0,0,transparent,fillRGBA); if(flixel_system_debug__$FlxDebugger_GraphicDrawDebug.preload != null) { this.__fromImage(flixel_system_debug__$FlxDebugger_GraphicDrawDebug.preload); } else { var _gthis = this; lime_graphics_Image.loadFromBase64(haxe_Resource.getString(flixel_system_debug__$FlxDebugger_GraphicDrawDebug.resourceName),flixel_system_debug__$FlxDebugger_GraphicDrawDebug.resourceType).then(function(image) { _gthis.__fromImage(image); return lime_app_Future.withValue(_gthis); }).onComplete(function(b) { if(flixel_system_debug__$FlxDebugger_GraphicDrawDebug.preload == null) { flixel_system_debug__$FlxDebugger_GraphicDrawDebug.preload = b.image; } if(onload != null) { onload(b); } }); } }; $hxClasses["flixel.system.debug._FlxDebugger.GraphicDrawDebug"] = flixel_system_debug__$FlxDebugger_GraphicDrawDebug; flixel_system_debug__$FlxDebugger_GraphicDrawDebug.__name__ = ["flixel","system","debug","_FlxDebugger","GraphicDrawDebug"]; flixel_system_debug__$FlxDebugger_GraphicDrawDebug.preload = null; flixel_system_debug__$FlxDebugger_GraphicDrawDebug.__super__ = openfl_display_BitmapData; flixel_system_debug__$FlxDebugger_GraphicDrawDebug.prototype = $extend(openfl_display_BitmapData.prototype,{ __class__: flixel_system_debug__$FlxDebugger_GraphicDrawDebug }); var flixel_system_debug_GraphicLog = function(width,height,transparent,fillRGBA,onload) { if(fillRGBA == null) { fillRGBA = -1; } if(transparent == null) { transparent = true; } openfl_display_BitmapData.call(this,0,0,transparent,fillRGBA); if(flixel_system_debug_GraphicLog.preload != null) { this.__fromImage(flixel_system_debug_GraphicLog.preload); } else { var _gthis = this; lime_graphics_Image.loadFromBase64(haxe_Resource.getString(flixel_system_debug_GraphicLog.resourceName),flixel_system_debug_GraphicLog.resourceType).then(function(image) { _gthis.__fromImage(image); return lime_app_Future.withValue(_gthis); }).onComplete(function(b) { if(flixel_system_debug_GraphicLog.preload == null) { flixel_system_debug_GraphicLog.preload = b.image; } if(onload != null) { onload(b); } }); } }; $hxClasses["flixel.system.debug.GraphicLog"] = flixel_system_debug_GraphicLog; flixel_system_debug_GraphicLog.__name__ = ["flixel","system","debug","GraphicLog"]; flixel_system_debug_GraphicLog.preload = null; flixel_system_debug_GraphicLog.__super__ = openfl_display_BitmapData; flixel_system_debug_GraphicLog.prototype = $extend(openfl_display_BitmapData.prototype,{ __class__: flixel_system_debug_GraphicLog }); var flixel_system_debug_GraphicStats = function(width,height,transparent,fillRGBA,onload) { if(fillRGBA == null) { fillRGBA = -1; } if(transparent == null) { transparent = true; } openfl_display_BitmapData.call(this,0,0,transparent,fillRGBA); if(flixel_system_debug_GraphicStats.preload != null) { this.__fromImage(flixel_system_debug_GraphicStats.preload); } else { var _gthis = this; lime_graphics_Image.loadFromBase64(haxe_Resource.getString(flixel_system_debug_GraphicStats.resourceName),flixel_system_debug_GraphicStats.resourceType).then(function(image) { _gthis.__fromImage(image); return lime_app_Future.withValue(_gthis); }).onComplete(function(b) { if(flixel_system_debug_GraphicStats.preload == null) { flixel_system_debug_GraphicStats.preload = b.image; } if(onload != null) { onload(b); } }); } }; $hxClasses["flixel.system.debug.GraphicStats"] = flixel_system_debug_GraphicStats; flixel_system_debug_GraphicStats.__name__ = ["flixel","system","debug","GraphicStats"]; flixel_system_debug_GraphicStats.preload = null; flixel_system_debug_GraphicStats.__super__ = openfl_display_BitmapData; flixel_system_debug_GraphicStats.prototype = $extend(openfl_display_BitmapData.prototype,{ __class__: flixel_system_debug_GraphicStats }); var flixel_system_debug_GraphicWatch = function(width,height,transparent,fillRGBA,onload) { if(fillRGBA == null) { fillRGBA = -1; } if(transparent == null) { transparent = true; } openfl_display_BitmapData.call(this,0,0,transparent,fillRGBA); if(flixel_system_debug_GraphicWatch.preload != null) { this.__fromImage(flixel_system_debug_GraphicWatch.preload); } else { var _gthis = this; lime_graphics_Image.loadFromBase64(haxe_Resource.getString(flixel_system_debug_GraphicWatch.resourceName),flixel_system_debug_GraphicWatch.resourceType).then(function(image) { _gthis.__fromImage(image); return lime_app_Future.withValue(_gthis); }).onComplete(function(b) { if(flixel_system_debug_GraphicWatch.preload == null) { flixel_system_debug_GraphicWatch.preload = b.image; } if(onload != null) { onload(b); } }); } }; $hxClasses["flixel.system.debug.GraphicWatch"] = flixel_system_debug_GraphicWatch; flixel_system_debug_GraphicWatch.__name__ = ["flixel","system","debug","GraphicWatch"]; flixel_system_debug_GraphicWatch.preload = null; flixel_system_debug_GraphicWatch.__super__ = openfl_display_BitmapData; flixel_system_debug_GraphicWatch.prototype = $extend(openfl_display_BitmapData.prototype,{ __class__: flixel_system_debug_GraphicWatch }); var flixel_system_debug_GraphicBitmapLog = function(width,height,transparent,fillRGBA,onload) { if(fillRGBA == null) { fillRGBA = -1; } if(transparent == null) { transparent = true; } openfl_display_BitmapData.call(this,0,0,transparent,fillRGBA); if(flixel_system_debug_GraphicBitmapLog.preload != null) { this.__fromImage(flixel_system_debug_GraphicBitmapLog.preload); } else { var _gthis = this; lime_graphics_Image.loadFromBase64(haxe_Resource.getString(flixel_system_debug_GraphicBitmapLog.resourceName),flixel_system_debug_GraphicBitmapLog.resourceType).then(function(image) { _gthis.__fromImage(image); return lime_app_Future.withValue(_gthis); }).onComplete(function(b) { if(flixel_system_debug_GraphicBitmapLog.preload == null) { flixel_system_debug_GraphicBitmapLog.preload = b.image; } if(onload != null) { onload(b); } }); } }; $hxClasses["flixel.system.debug.GraphicBitmapLog"] = flixel_system_debug_GraphicBitmapLog; flixel_system_debug_GraphicBitmapLog.__name__ = ["flixel","system","debug","GraphicBitmapLog"]; flixel_system_debug_GraphicBitmapLog.preload = null; flixel_system_debug_GraphicBitmapLog.__super__ = openfl_display_BitmapData; flixel_system_debug_GraphicBitmapLog.prototype = $extend(openfl_display_BitmapData.prototype,{ __class__: flixel_system_debug_GraphicBitmapLog }); var flixel_system_debug_GraphicConsole = function(width,height,transparent,fillRGBA,onload) { if(fillRGBA == null) { fillRGBA = -1; } if(transparent == null) { transparent = true; } openfl_display_BitmapData.call(this,0,0,transparent,fillRGBA); if(flixel_system_debug_GraphicConsole.preload != null) { this.__fromImage(flixel_system_debug_GraphicConsole.preload); } else { var _gthis = this; lime_graphics_Image.loadFromBase64(haxe_Resource.getString(flixel_system_debug_GraphicConsole.resourceName),flixel_system_debug_GraphicConsole.resourceType).then(function(image) { _gthis.__fromImage(image); return lime_app_Future.withValue(_gthis); }).onComplete(function(b) { if(flixel_system_debug_GraphicConsole.preload == null) { flixel_system_debug_GraphicConsole.preload = b.image; } if(onload != null) { onload(b); } }); } }; $hxClasses["flixel.system.debug.GraphicConsole"] = flixel_system_debug_GraphicConsole; flixel_system_debug_GraphicConsole.__name__ = ["flixel","system","debug","GraphicConsole"]; flixel_system_debug_GraphicConsole.preload = null; flixel_system_debug_GraphicConsole.__super__ = openfl_display_BitmapData; flixel_system_debug_GraphicConsole.prototype = $extend(openfl_display_BitmapData.prototype,{ __class__: flixel_system_debug_GraphicConsole }); var flixel_system_debug_GraphicArrowLeft = function(width,height,transparent,fillRGBA,onload) { if(fillRGBA == null) { fillRGBA = -1; } if(transparent == null) { transparent = true; } openfl_display_BitmapData.call(this,0,0,transparent,fillRGBA); if(flixel_system_debug_GraphicArrowLeft.preload != null) { this.__fromImage(flixel_system_debug_GraphicArrowLeft.preload); } else { var _gthis = this; lime_graphics_Image.loadFromBase64(haxe_Resource.getString(flixel_system_debug_GraphicArrowLeft.resourceName),flixel_system_debug_GraphicArrowLeft.resourceType).then(function(image) { _gthis.__fromImage(image); return lime_app_Future.withValue(_gthis); }).onComplete(function(b) { if(flixel_system_debug_GraphicArrowLeft.preload == null) { flixel_system_debug_GraphicArrowLeft.preload = b.image; } if(onload != null) { onload(b); } }); } }; $hxClasses["flixel.system.debug.GraphicArrowLeft"] = flixel_system_debug_GraphicArrowLeft; flixel_system_debug_GraphicArrowLeft.__name__ = ["flixel","system","debug","GraphicArrowLeft"]; flixel_system_debug_GraphicArrowLeft.preload = null; flixel_system_debug_GraphicArrowLeft.__super__ = openfl_display_BitmapData; flixel_system_debug_GraphicArrowLeft.prototype = $extend(openfl_display_BitmapData.prototype,{ __class__: flixel_system_debug_GraphicArrowLeft }); var flixel_system_debug_GraphicArrowRight = function(width,height,transparent,fillRGBA,onload) { if(fillRGBA == null) { fillRGBA = -1; } if(transparent == null) { transparent = true; } openfl_display_BitmapData.call(this,0,0,transparent,fillRGBA); if(flixel_system_debug_GraphicArrowRight.preload != null) { this.__fromImage(flixel_system_debug_GraphicArrowRight.preload); } else { var _gthis = this; lime_graphics_Image.loadFromBase64(haxe_Resource.getString(flixel_system_debug_GraphicArrowRight.resourceName),flixel_system_debug_GraphicArrowRight.resourceType).then(function(image) { _gthis.__fromImage(image); return lime_app_Future.withValue(_gthis); }).onComplete(function(b) { if(flixel_system_debug_GraphicArrowRight.preload == null) { flixel_system_debug_GraphicArrowRight.preload = b.image; } if(onload != null) { onload(b); } }); } }; $hxClasses["flixel.system.debug.GraphicArrowRight"] = flixel_system_debug_GraphicArrowRight; flixel_system_debug_GraphicArrowRight.__name__ = ["flixel","system","debug","GraphicArrowRight"]; flixel_system_debug_GraphicArrowRight.preload = null; flixel_system_debug_GraphicArrowRight.__super__ = openfl_display_BitmapData; flixel_system_debug_GraphicArrowRight.prototype = $extend(openfl_display_BitmapData.prototype,{ __class__: flixel_system_debug_GraphicArrowRight }); var flixel_system_debug_GraphicCloseButton = function(width,height,transparent,fillRGBA,onload) { if(fillRGBA == null) { fillRGBA = -1; } if(transparent == null) { transparent = true; } openfl_display_BitmapData.call(this,0,0,transparent,fillRGBA); if(flixel_system_debug_GraphicCloseButton.preload != null) { this.__fromImage(flixel_system_debug_GraphicCloseButton.preload); } else { var _gthis = this; lime_graphics_Image.loadFromBase64(haxe_Resource.getString(flixel_system_debug_GraphicCloseButton.resourceName),flixel_system_debug_GraphicCloseButton.resourceType).then(function(image) { _gthis.__fromImage(image); return lime_app_Future.withValue(_gthis); }).onComplete(function(b) { if(flixel_system_debug_GraphicCloseButton.preload == null) { flixel_system_debug_GraphicCloseButton.preload = b.image; } if(onload != null) { onload(b); } }); } }; $hxClasses["flixel.system.debug.GraphicCloseButton"] = flixel_system_debug_GraphicCloseButton; flixel_system_debug_GraphicCloseButton.__name__ = ["flixel","system","debug","GraphicCloseButton"]; flixel_system_debug_GraphicCloseButton.preload = null; flixel_system_debug_GraphicCloseButton.__super__ = openfl_display_BitmapData; flixel_system_debug_GraphicCloseButton.prototype = $extend(openfl_display_BitmapData.prototype,{ __class__: flixel_system_debug_GraphicCloseButton }); var flixel_system_debug_GraphicInteractive = function(width,height,transparent,fillRGBA,onload) { if(fillRGBA == null) { fillRGBA = -1; } if(transparent == null) { transparent = true; } openfl_display_BitmapData.call(this,0,0,transparent,fillRGBA); if(flixel_system_debug_GraphicInteractive.preload != null) { this.__fromImage(flixel_system_debug_GraphicInteractive.preload); } else { var _gthis = this; lime_graphics_Image.loadFromBase64(haxe_Resource.getString(flixel_system_debug_GraphicInteractive.resourceName),flixel_system_debug_GraphicInteractive.resourceType).then(function(image) { _gthis.__fromImage(image); return lime_app_Future.withValue(_gthis); }).onComplete(function(b) { if(flixel_system_debug_GraphicInteractive.preload == null) { flixel_system_debug_GraphicInteractive.preload = b.image; } if(onload != null) { onload(b); } }); } }; $hxClasses["flixel.system.debug.GraphicInteractive"] = flixel_system_debug_GraphicInteractive; flixel_system_debug_GraphicInteractive.__name__ = ["flixel","system","debug","GraphicInteractive"]; flixel_system_debug_GraphicInteractive.preload = null; flixel_system_debug_GraphicInteractive.__super__ = openfl_display_BitmapData; flixel_system_debug_GraphicInteractive.prototype = $extend(openfl_display_BitmapData.prototype,{ __class__: flixel_system_debug_GraphicInteractive }); var flixel_system_debug_FlxDebugger = function() { openfl_display_Sprite.call(this); }; $hxClasses["flixel.system.debug.FlxDebugger"] = flixel_system_debug_FlxDebugger; flixel_system_debug_FlxDebugger.__name__ = ["flixel","system","debug","FlxDebugger"]; flixel_system_debug_FlxDebugger.__super__ = openfl_display_Sprite; flixel_system_debug_FlxDebugger.prototype = $extend(openfl_display_Sprite.prototype,{ __class__: flixel_system_debug_FlxDebugger }); var flixel_system_debug_FlxDebuggerLayout = $hxClasses["flixel.system.debug.FlxDebuggerLayout"] = { __ename__ : ["flixel","system","debug","FlxDebuggerLayout"], __constructs__ : ["STANDARD","MICRO","BIG","TOP","LEFT","RIGHT"] }; flixel_system_debug_FlxDebuggerLayout.STANDARD = ["STANDARD",0]; flixel_system_debug_FlxDebuggerLayout.STANDARD.toString = $estr; flixel_system_debug_FlxDebuggerLayout.STANDARD.__enum__ = flixel_system_debug_FlxDebuggerLayout; flixel_system_debug_FlxDebuggerLayout.MICRO = ["MICRO",1]; flixel_system_debug_FlxDebuggerLayout.MICRO.toString = $estr; flixel_system_debug_FlxDebuggerLayout.MICRO.__enum__ = flixel_system_debug_FlxDebuggerLayout; flixel_system_debug_FlxDebuggerLayout.BIG = ["BIG",2]; flixel_system_debug_FlxDebuggerLayout.BIG.toString = $estr; flixel_system_debug_FlxDebuggerLayout.BIG.__enum__ = flixel_system_debug_FlxDebuggerLayout; flixel_system_debug_FlxDebuggerLayout.TOP = ["TOP",3]; flixel_system_debug_FlxDebuggerLayout.TOP.toString = $estr; flixel_system_debug_FlxDebuggerLayout.TOP.__enum__ = flixel_system_debug_FlxDebuggerLayout; flixel_system_debug_FlxDebuggerLayout.LEFT = ["LEFT",4]; flixel_system_debug_FlxDebuggerLayout.LEFT.toString = $estr; flixel_system_debug_FlxDebuggerLayout.LEFT.__enum__ = flixel_system_debug_FlxDebuggerLayout; flixel_system_debug_FlxDebuggerLayout.RIGHT = ["RIGHT",5]; flixel_system_debug_FlxDebuggerLayout.RIGHT.toString = $estr; flixel_system_debug_FlxDebuggerLayout.RIGHT.__enum__ = flixel_system_debug_FlxDebuggerLayout; var flixel_system_debug_Tooltip = function() { }; $hxClasses["flixel.system.debug.Tooltip"] = flixel_system_debug_Tooltip; flixel_system_debug_Tooltip.__name__ = ["flixel","system","debug","Tooltip"]; flixel_system_debug_Tooltip._container = null; flixel_system_debug_Tooltip.init = function(container) { flixel_system_debug_Tooltip._container = container; }; flixel_system_debug_Tooltip.add = function(element,text) { var tooltip = new flixel_system_debug_TooltipOverlay(element,text); flixel_system_debug_Tooltip._container.addChild(tooltip); flixel_system_debug_Tooltip._tooltips.push(tooltip); return tooltip; }; flixel_system_debug_Tooltip.remove = function(element) { var removed = false; var _g1 = 0; var _g = flixel_system_debug_Tooltip._tooltips.length; while(_g1 < _g) { var i = _g1++; if(flixel_system_debug_Tooltip._tooltips[i] != null && flixel_system_debug_Tooltip._tooltips[i].owner == element) { var tooltip = flixel_system_debug_Tooltip._tooltips.splice(i,1)[0]; tooltip.destroy(); removed = true; break; } } return removed; }; var flixel_system_debug_TooltipOverlay = function(target,text,width,height) { if(height == null) { height = 0; } if(width == null) { width = 0; } openfl_display_Sprite.call(this); this.owner = target; this.maxSize = new openfl_geom_Point(width,height); this._shadow = new openfl_display_Bitmap(new openfl_display_BitmapData(1,2,true,-16777216)); this._background = new openfl_display_Bitmap(new openfl_display_BitmapData(1,1,true,-12961222)); this.textField = flixel_system_debug_DebuggerUtil.createTextField(2,1); this.textField.set_alpha(0.8); this.textField.set_text(text); this.textField.set_wordWrap(true); this.addChild(this._shadow); this.addChild(this._background); this.addChild(this.textField); this.updateSize(); this.setVisible(false); if(this.owner != null) { this.owner.addEventListener("mouseOver",$bind(this,this.handleMouseEvents)); this.owner.addEventListener("mouseOut",$bind(this,this.handleMouseEvents)); } }; $hxClasses["flixel.system.debug.TooltipOverlay"] = flixel_system_debug_TooltipOverlay; flixel_system_debug_TooltipOverlay.__name__ = ["flixel","system","debug","TooltipOverlay"]; flixel_system_debug_TooltipOverlay.__super__ = openfl_display_Sprite; flixel_system_debug_TooltipOverlay.prototype = $extend(openfl_display_Sprite.prototype,{ _width: null ,_height: null ,_background: null ,_shadow: null ,textField: null ,owner: null ,maxSize: null ,destroy: function() { this._shadow = flixel_util_FlxDestroyUtil.removeChild(this,this._shadow); this._background = flixel_util_FlxDestroyUtil.removeChild(this,this._background); this.textField = flixel_util_FlxDestroyUtil.removeChild(this,this.textField); this.maxSize = null; if(this.owner != null) { this.owner.removeEventListener("mouseOver",$bind(this,this.handleMouseEvents)); this.owner.removeEventListener("mouseOut",$bind(this,this.handleMouseEvents)); } this.owner = null; } ,resize: function(Width,Height) { this.maxSize.x = Math.abs(Width) | 0; this.maxSize.y = Math.abs(Height) | 0; this.updateSize(); } ,reposition: function(X,Y) { this.set_x(X); this.set_y(Y); this.ensureOnScreen(); } ,setVisible: function(Value) { this.set_visible(Value); if(this.get_visible()) { this.parent.addChild(this); this.ensureOnScreen(); } } ,setText: function(Text) { this.textField.set_text(Text); this.updateSize(); this.ensureOnScreen(); } ,toggleVisible: function() { this.setVisible(!this.get_visible()); } ,putOnTop: function() { this.parent.addChild(this); } ,update: function() { } ,updateSize: function() { this._width = ((this.maxSize.x <= 0 ? this.textField.get_textWidth() : Math.abs(this.maxSize.x)) | 0) + 8; this._height = ((this.maxSize.y <= 0 ? this.textField.get_textHeight() : Math.abs(this.maxSize.y)) | 0) + 8; this._background.set_scaleX(this._width); this._background.set_scaleY(this._height); this._shadow.set_scaleX(this._width); this._shadow.set_y(this._height); this.textField.set_width(this._width); } ,ensureOnScreen: function() { this.set_x(this.get_x() < 0 ? 0 : this.get_x()); this.set_y(this.get_y() < 0 ? 0 : this.get_y()); var offsetX = this.get_x() + this.get_width() >= openfl_Lib.get_current().stage.stageWidth ? openfl_Lib.get_current().stage.stageWidth - (this.get_x() + this.get_width()) : 0; var offsetY = this.get_y() + this.get_height() >= openfl_Lib.get_current().stage.stageHeight ? openfl_Lib.get_current().stage.stageHeight - (this.get_y() + this.get_height()) : 0; var _g = this; _g.set_x(_g.get_x() + offsetX); var _g1 = this; _g1.set_y(_g1.get_y() + offsetY); } ,handleMouseEvents: function(event) { if(event.type == "mouseOver" && !this.get_visible()) { this.set_x(event.stageX + 10); this.set_y(event.stageY + 10); this.setVisible(true); } else if(event.type == "mouseOut") { this.setVisible(false); } } ,__class__: flixel_system_debug_TooltipOverlay }); var flixel_system_debug__$Window_GraphicWindowHandle = function(width,height,transparent,fillRGBA,onload) { if(fillRGBA == null) { fillRGBA = -1; } if(transparent == null) { transparent = true; } openfl_display_BitmapData.call(this,0,0,transparent,fillRGBA); if(flixel_system_debug__$Window_GraphicWindowHandle.preload != null) { this.__fromImage(flixel_system_debug__$Window_GraphicWindowHandle.preload); } else { var _gthis = this; lime_graphics_Image.loadFromBase64(haxe_Resource.getString(flixel_system_debug__$Window_GraphicWindowHandle.resourceName),flixel_system_debug__$Window_GraphicWindowHandle.resourceType).then(function(image) { _gthis.__fromImage(image); return lime_app_Future.withValue(_gthis); }).onComplete(function(b) { if(flixel_system_debug__$Window_GraphicWindowHandle.preload == null) { flixel_system_debug__$Window_GraphicWindowHandle.preload = b.image; } if(onload != null) { onload(b); } }); } }; $hxClasses["flixel.system.debug._Window.GraphicWindowHandle"] = flixel_system_debug__$Window_GraphicWindowHandle; flixel_system_debug__$Window_GraphicWindowHandle.__name__ = ["flixel","system","debug","_Window","GraphicWindowHandle"]; flixel_system_debug__$Window_GraphicWindowHandle.preload = null; flixel_system_debug__$Window_GraphicWindowHandle.__super__ = openfl_display_BitmapData; flixel_system_debug__$Window_GraphicWindowHandle.prototype = $extend(openfl_display_BitmapData.prototype,{ __class__: flixel_system_debug__$Window_GraphicWindowHandle }); var flixel_system_debug_Window = function(Title,Icon,Width,Height,Resizable,Bounds,Closable,AlwaysOnTop) { if(AlwaysOnTop == null) { AlwaysOnTop = true; } if(Closable == null) { Closable = false; } if(Resizable == null) { Resizable = true; } if(Height == null) { Height = 0; } if(Width == null) { Width = 0; } openfl_display_Sprite.call(this); this.minSize = new openfl_geom_Point(50,30); this._width = Math.abs(Width) | 0; this._height = Math.abs(Height) | 0; this.updateBounds(Bounds); this._drag = new openfl_geom_Point(); this._resizable = Resizable; this._closable = Closable; this._alwaysOnTop = AlwaysOnTop; this._shadow = new openfl_display_Bitmap(new openfl_display_BitmapData(1,2,true,-16777216)); this._background = new openfl_display_Bitmap(new openfl_display_BitmapData(1,1,true,-580952225)); this._header = new openfl_display_Bitmap(new openfl_display_BitmapData(1,15,true,-1157627904)); this._background.set_y(this._header.get_height()); this._title = flixel_system_debug_DebuggerUtil.createTextField(2,-1); this._title.set_alpha(0.8); this._title.set_text(Title); this.addChild(this._shadow); this.addChild(this._background); this.addChild(this._header); this.addChild(this._title); if(Icon != null) { flixel_system_debug_DebuggerUtil.fixSize(Icon); this._icon = new openfl_display_Bitmap(Icon); this._icon.set_x(5); this._icon.set_y(2); this._icon.set_alpha(0.8); this._title.set_x(this._icon.get_x() + this._icon.get_width() + 2); this.addChild(this._icon); } if(this._resizable) { this._handle = new openfl_display_Bitmap(flixel_system_debug_DebuggerUtil.fixSize(new flixel_system_debug__$Window_GraphicWindowHandle(0,0))); this.addChild(this._handle); } if(Closable) { this._closeButton = new flixel_system_ui_FlxSystemButton(new flixel_system_debug_GraphicCloseButton(0,0),$bind(this,this.close)); this._closeButton.set_alpha(0.8); this.addChild(this._closeButton); } else { this._id = flixel_system_debug_Window.WINDOW_AMOUNT; this.loadSaveData(); flixel_system_debug_Window.WINDOW_AMOUNT++; } if(this._width != 0 || this._height != 0) { this.updateSize(); } this.bound(); this.addEventListener("enterFrame",$bind(this,this.init)); }; $hxClasses["flixel.system.debug.Window"] = flixel_system_debug_Window; flixel_system_debug_Window.__name__ = ["flixel","system","debug","Window"]; flixel_system_debug_Window.__super__ = openfl_display_Sprite; flixel_system_debug_Window.prototype = $extend(openfl_display_Sprite.prototype,{ minSize: null ,maxSize: null ,toggleButton: null ,_width: null ,_height: null ,_bounds: null ,_background: null ,_header: null ,_shadow: null ,_title: null ,_handle: null ,_icon: null ,_closeButton: null ,_overHeader: null ,_overHandle: null ,_drag: null ,_dragging: null ,_resizing: null ,_resizable: null ,_closable: null ,_alwaysOnTop: null ,_id: null ,destroy: function() { this.minSize = null; this.maxSize = null; this._bounds = null; if(this._shadow != null) { this.removeChild(this._shadow); } this._shadow = null; if(this._background != null) { this.removeChild(this._background); } this._background = null; if(this._header != null) { this.removeChild(this._header); } this._header = null; if(this._title != null) { this.removeChild(this._title); } this._title = null; if(this._handle != null) { this.removeChild(this._handle); } this._handle = null; this._drag = null; this._closeButton = flixel_util_FlxDestroyUtil.destroy(this._closeButton); var stage = openfl_Lib.get_current().stage; if(stage.hasEventListener("mouseMove")) { stage.removeEventListener("mouseMove",$bind(this,this.onMouseMove)); } if(this.hasEventListener("mouseDown")) { this.removeEventListener("mouseDown",$bind(this,this.onMouseDown)); } if(stage.hasEventListener("mouseUp")) { stage.removeEventListener("mouseUp",$bind(this,this.onMouseUp)); } } ,resize: function(Width,Height) { this._width = Math.abs(Width) | 0; this._height = Math.abs(Height) | 0; this.updateSize(); } ,reposition: function(X,Y) { this.set_x(X); this.set_y(Y); this.bound(); } ,updateBounds: function(Bounds) { this._bounds = Bounds; if(this._bounds != null) { this.maxSize = new openfl_geom_Point(this._bounds.width,this._bounds.height); } else { this.maxSize = new openfl_geom_Point(1.79e+308,1.79e+308); } } ,setVisible: function(Value) { this.set_visible(Value); if(!this._closable) { flixel_FlxG.save.data.windowSettings[this._id] = this.get_visible(); flixel_FlxG.save.flush(); } if(this.toggleButton != null) { this.toggleButton.set_toggled(!this.get_visible()); } if(this.get_visible() && this._alwaysOnTop) { this.parent.addChild(this); } } ,toggleVisible: function() { this.setVisible(!this.get_visible()); } ,putOnTop: function() { this.parent.addChild(this); } ,loadSaveData: function() { if(flixel_FlxG.save.data.windowSettings != null) { this.set_visible(flixel_FlxG.save.data.windowSettings[this._id]); } else { this.initSaveData(); this.loadSaveData(); } } ,initSaveData: function() { var settings = []; var _g = 0; while(_g < 10) { var i = _g++; settings[i] = true; } flixel_FlxG.save.data.windowSettings = settings; flixel_FlxG.save.flush(); } ,update: function() { } ,init: function(E) { if(this.stage == null) { return; } this.removeEventListener("enterFrame",$bind(this,this.init)); this.stage.addEventListener("mouseMove",$bind(this,this.onMouseMove)); this.stage.addEventListener("mouseUp",$bind(this,this.onMouseUp)); this.addEventListener("mouseDown",$bind(this,this.onMouseDown)); } ,onMouseMove: function(E) { var mouseX = this.get_mouseX() < 0 ? 0 : this.get_mouseX(); var mouseY = this.get_mouseY() < 0 ? 0 : this.get_mouseY(); if(!this.parent.get_visible()) { this._overHandle = this._overHeader = false; return; } if(this._dragging) { this._overHeader = true; this.reposition(this.parent.get_mouseX() - this._drag.x,this.parent.get_mouseY() - this._drag.y); } else if(this._resizing) { this._overHandle = true; this.resize(mouseX - this._drag.x,mouseY - this._drag.y); } else if(mouseX >= 0 && mouseX <= this._width && mouseY >= 0 && mouseY <= this._height) { this._overHeader = mouseX <= this._header.get_width() && mouseY <= this._header.get_height(); if(this._resizable) { this._overHandle = mouseX >= this._width - this._handle.get_width() && mouseY >= this._height - this._handle.get_height(); } } else { this._overHandle = this._overHeader = false; } } ,onMouseDown: function(E) { if(this._overHeader) { if(this._alwaysOnTop) { this.parent.addChild(this); } this._dragging = true; this._drag.x = this.get_mouseX(); this._drag.y = this.get_mouseY(); } else if(this._overHandle) { if(this._alwaysOnTop) { this.parent.addChild(this); } this._resizing = true; var tmp = this._width; var tmp1 = this.get_mouseX(); this._drag.x = tmp - tmp1; var tmp2 = this._height; var tmp3 = this.get_mouseY(); this._drag.y = tmp2 - tmp3; } } ,onMouseUp: function(E) { this._dragging = false; this._resizing = false; } ,bound: function() { if(this._bounds != null) { var Value = this.get_x(); var Min = this._bounds.get_left(); var Max = this._bounds.get_right() - this._width; var lowerBound = Min != null && Value < Min ? Min : Value; this.set_x(Max != null && lowerBound > Max ? Max : lowerBound); var Value1 = this.get_y(); var Min1 = this._bounds.get_top(); var Max1 = this._bounds.get_bottom() - this._height; var lowerBound1 = Min1 != null && Value1 < Min1 ? Min1 : Value1; this.set_y(Max1 != null && lowerBound1 > Max1 ? Max1 : lowerBound1); } } ,updateSize: function() { var Value = this._width; var Min = this.minSize.x; var Max = this.maxSize.x; var lowerBound = Min != null && Value < Min ? Min : Value; this._width = (Max != null && lowerBound > Max ? Max : lowerBound) | 0; var Value1 = this._height; var Min1 = this.minSize.y; var Max1 = this.maxSize.y; var lowerBound1 = Min1 != null && Value1 < Min1 ? Min1 : Value1; this._height = (Max1 != null && lowerBound1 > Max1 ? Max1 : lowerBound1) | 0; this._header.set_scaleX(this._width); this._background.set_scaleX(this._width); this._background.set_scaleY(this._height - this._header.get_height()); this._shadow.set_scaleX(this._width); this._shadow.set_y(this._height); this._title.set_width(this._width - 4); if(this._resizable) { this._handle.set_x(this._width - this._handle.get_width()); this._handle.set_y(this._height - this._handle.get_height()); } if(this._closeButton != null) { this._closeButton.set_x(this._width - this._closeButton.get_width() - 3); this._closeButton.set_y(3); } } ,close: function() { this.destroy(); } ,__class__: flixel_system_debug_Window }); var flixel_system_debug_completion_CompletionList = function(capacity) { this.upperVisibleIndex = 0; this.lowerVisibleIndex = 0; this.selectedIndex = 0; this.entries = []; openfl_display_Sprite.call(this); this.set_visible(false); this.upperVisibleIndex = capacity - 1; this.actualHeight = capacity * 20; this.createPopupEntries(capacity); this.createScrollBar(); this.updateSelectedItem(); openfl_Lib.get_current().stage.addEventListener("keyDown",$bind(this,this.onKeyDown)); }; $hxClasses["flixel.system.debug.completion.CompletionList"] = flixel_system_debug_completion_CompletionList; flixel_system_debug_completion_CompletionList.__name__ = ["flixel","system","debug","completion","CompletionList"]; flixel_system_debug_completion_CompletionList.__super__ = openfl_display_Sprite; flixel_system_debug_completion_CompletionList.prototype = $extend(openfl_display_Sprite.prototype,{ completed: null ,selectionChanged: null ,closed: null ,filter: null ,items: null ,entries: null ,originalItems: null ,selectedIndex: null ,lowerVisibleIndex: null ,upperVisibleIndex: null ,scrollBar: null ,actualHeight: null ,show: function(x,items) { this.set_visible(true); this.set_x(x); this.originalItems = items; this.set_filter(""); this.updateEntries(); } ,setY: function(y) { this.set_y(y - this.actualHeight); } ,close: function() { this.set_visible(false); this.set_filter(null); if(this.closed != null) { this.closed(); } } ,createPopupEntries: function(amount) { var _g1 = 0; var _g = amount; while(_g1 < _g) { var i = _g1++; var entry = new flixel_system_debug_completion_CompletionListEntry(); this.entries.push(entry); this.addChild(entry); entry.set_y(20 * i); } } ,createScrollBar: function() { this.scrollBar = new flixel_system_debug_completion_CompletionListScrollBar(150,0,5,this.actualHeight); this.addChild(this.scrollBar); } ,onKeyDown: function(e) { if(!this.get_visible()) { return; } var _g = e.keyCode; switch(_g) { case 13: if(this.completed != null) { this.completed(this.items[this.selectedIndex]); } this.close(); return; case 27: this.close(); return; case 38: this.updateIndices(-1); break; case 40: this.updateIndices(1); break; } this.updateEntries(); } ,updateIndices: function(modifier) { this.selectedIndex = this.bound(this.selectedIndex + modifier); var Value = this.selectedIndex; var Min = this.lowerVisibleIndex; var Max = this.upperVisibleIndex; if((Min == null || Value >= Min) && (Max == null || Value <= Max)) { return; } this.lowerVisibleIndex = this.bound(this.lowerVisibleIndex + modifier); this.upperVisibleIndex = this.bound(this.upperVisibleIndex + modifier); var range = this.upperVisibleIndex - this.lowerVisibleIndex; if(range == this.items.length) { return; } if(this.lowerVisibleIndex == 0) { this.upperVisibleIndex = this.entries.length - 1; } else if(this.upperVisibleIndex == this.items.length - 1) { this.lowerVisibleIndex = this.items.length - this.entries.length; } } ,bound: function(index) { var Max = this.items.length - 1; var lowerBound = index < 0 ? 0 : index; return (Max != null && lowerBound > Max ? Max : lowerBound) | 0; } ,updateEntries: function() { this.updateLabels(); this.updateSelectedItem(); this.scrollBar.updateHandle(this.lowerVisibleIndex,this.items.length,this.entries.length); } ,updateLabels: function() { var _g1 = 0; var _g = this.entries.length; while(_g1 < _g) { var i = _g1++; var selectedItem = this.items[this.lowerVisibleIndex + i]; if(selectedItem == null) { selectedItem = ""; } this.entries[i].setItem(selectedItem); } } ,updateSelectedItem: function() { var _g = 0; var _g1 = this.entries; while(_g < _g1.length) { var entry = _g1[_g]; ++_g; entry.set_selected(false); } this.entries[this.selectedIndex - this.lowerVisibleIndex].set_selected(true); if(this.selectionChanged != null) { this.selectionChanged(this.items[this.selectedIndex]); } } ,setItems: function(items) { if(items == null) { return; } if(items.length == 0) { this.close(); } this.items = items; this.selectedIndex = 0; this.lowerVisibleIndex = 0; this.upperVisibleIndex = this.entries.length - 1; this.updateEntries(); } ,filterItems: function(filter) { if(filter == null) { filter = ""; } var tmp = this.originalItems.filter(function(item) { return item.toLowerCase().indexOf(filter.toLowerCase()) != -1; }); return this.sortItems(filter,tmp); } ,sortItems: function(filter,items) { var _gthis = this; if(filter == "") { return items; } items.sort(function(a,b) { var valueA = _gthis.startsWithExt(a,filter); var valueB = _gthis.startsWithExt(b,filter); if(valueA > valueB) { return -valueA; } if(valueB > valueA) { return valueB; } if(valueA == valueB) { return a.length - b.length | 0; } return 0; }); return items; } ,startsWithExt: function(s,start) { if(StringTools.startsWith(s,start)) { return 2; } var _this_r = new RegExp("^[_]+","".split("u").join("")); if(StringTools.startsWith(s.replace(_this_r,""),start)) { return 1; } return 0; } ,set_filter: function(filter) { if(filter == this.filter) { return filter; } this.setItems(this.filterItems(filter)); return this.filter = filter; } ,__class__: flixel_system_debug_completion_CompletionList ,__properties__: $extend(openfl_display_Sprite.prototype.__properties__,{set_filter:"set_filter"}) }); var flixel_system_debug_completion_CompletionListEntry = function() { this.selected = false; openfl_display_Sprite.call(this); this.initBitmapDatas(); this.addChild(this.background = new openfl_display_Bitmap()); this.background.set_bitmapData(flixel_system_debug_completion_CompletionListEntry.normalBitmapData); this.label = flixel_system_debug_DebuggerUtil.createTextField(); this.label.set_x(4); this.addChild(this.label); }; $hxClasses["flixel.system.debug.completion.CompletionListEntry"] = flixel_system_debug_completion_CompletionListEntry; flixel_system_debug_completion_CompletionListEntry.__name__ = ["flixel","system","debug","completion","CompletionListEntry"]; flixel_system_debug_completion_CompletionListEntry.normalBitmapData = null; flixel_system_debug_completion_CompletionListEntry.highlightBitmapData = null; flixel_system_debug_completion_CompletionListEntry.__super__ = openfl_display_Sprite; flixel_system_debug_completion_CompletionListEntry.prototype = $extend(openfl_display_Sprite.prototype,{ selected: null ,background: null ,label: null ,initBitmapDatas: function() { if(flixel_system_debug_completion_CompletionListEntry.normalBitmapData == null) { flixel_system_debug_completion_CompletionListEntry.normalBitmapData = new openfl_display_BitmapData(150,20,true,-10526881); } if(flixel_system_debug_completion_CompletionListEntry.highlightBitmapData == null) { flixel_system_debug_completion_CompletionListEntry.highlightBitmapData = new openfl_display_BitmapData(150,20,true,-9605779); } } ,setItem: function(item) { this.label.set_text(item); if(this.label.get_width() > 150) { this.label.set_width(150); this.label.set_autoSize(2); } } ,set_selected: function(selected) { if(selected == this.selected) { return selected; } this.background.set_bitmapData(selected ? flixel_system_debug_completion_CompletionListEntry.highlightBitmapData : flixel_system_debug_completion_CompletionListEntry.normalBitmapData); return this.selected = selected; } ,__class__: flixel_system_debug_completion_CompletionListEntry ,__properties__: $extend(openfl_display_Sprite.prototype.__properties__,{set_selected:"set_selected"}) }); var flixel_system_debug_completion_CompletionListScrollBar = function(x,y,width,height) { openfl_display_Sprite.call(this); this.set_x(x); this.set_y(y); this.addChild(new openfl_display_Bitmap(new openfl_display_BitmapData(width,height,true,-12303292))); this.handle = new openfl_display_Bitmap(new openfl_display_BitmapData(width,1,true,-14540254)); this.addChild(this.handle); }; $hxClasses["flixel.system.debug.completion.CompletionListScrollBar"] = flixel_system_debug_completion_CompletionListScrollBar; flixel_system_debug_completion_CompletionListScrollBar.__name__ = ["flixel","system","debug","completion","CompletionListScrollBar"]; flixel_system_debug_completion_CompletionListScrollBar.__super__ = openfl_display_Sprite; flixel_system_debug_completion_CompletionListScrollBar.prototype = $extend(openfl_display_Sprite.prototype,{ handle: null ,updateHandle: function(lower,items,entries) { this.handle.set_scaleY(Math.min(this.get_height() / items * entries,this.get_height())); this.handle.set_y(this.get_height() / items * lower); var tmp = this.handle; var Value = this.handle.get_y(); var Max = this.get_height() - this.handle.get_scaleY(); var lowerBound = Value < 0 ? 0 : Value; tmp.set_y(Max != null && lowerBound > Max ? Max : lowerBound); } ,__class__: flixel_system_debug_completion_CompletionListScrollBar }); var flixel_system_debug_console_ConsoleUtil = function() { }; $hxClasses["flixel.system.debug.console.ConsoleUtil"] = flixel_system_debug_console_ConsoleUtil; flixel_system_debug_console_ConsoleUtil.__name__ = ["flixel","system","debug","console","ConsoleUtil"]; flixel_system_debug_console_ConsoleUtil.parser = null; flixel_system_debug_console_ConsoleUtil.interp = null; flixel_system_debug_console_ConsoleUtil.init = function() { flixel_system_debug_console_ConsoleUtil.parser = new hscript_Parser(); flixel_system_debug_console_ConsoleUtil.parser.allowJSON = true; flixel_system_debug_console_ConsoleUtil.parser.allowTypes = true; flixel_system_debug_console_ConsoleUtil.interp = new flixel_system_debug_console__$ConsoleUtil_Interp(); }; flixel_system_debug_console_ConsoleUtil.parseCommand = function(Input) { if(StringTools.endsWith(Input,";")) { Input = HxOverrides.substr(Input,0,-1); } return flixel_system_debug_console_ConsoleUtil.parser.parseString(Input); }; flixel_system_debug_console_ConsoleUtil.runCommand = function(Input) { return flixel_system_debug_console_ConsoleUtil.interp.expr(flixel_system_debug_console_ConsoleUtil.parseCommand(Input)); }; flixel_system_debug_console_ConsoleUtil.runExpr = function(expr) { return flixel_system_debug_console_ConsoleUtil.interp.expr(expr); }; flixel_system_debug_console_ConsoleUtil.registerObject = function(ObjectAlias,AnyObject) { if(AnyObject == null || Reflect.isObject(AnyObject)) { var _this = flixel_system_debug_console_ConsoleUtil.interp.variables; var value = AnyObject; if(__map_reserved[ObjectAlias] != null) { _this.setReserved(ObjectAlias,value); } else { _this.h[ObjectAlias] = value; } } }; flixel_system_debug_console_ConsoleUtil.registerFunction = function(FunctionAlias,Function) { if(Reflect.isFunction(Function)) { var _this = flixel_system_debug_console_ConsoleUtil.interp.variables; var value = Function; if(__map_reserved[FunctionAlias] != null) { _this.setReserved(FunctionAlias,value); } else { _this.h[FunctionAlias] = value; } } }; flixel_system_debug_console_ConsoleUtil.getFields = function(Object) { var fields = []; if(js_Boot.__instanceof(Object,Class)) { fields = Type.getClassFields(Object); } else if(js_Boot.__instanceof(Object,Enum)) { fields = Object.__constructs__.slice(); } else if(Reflect.isObject(Object)) { var o = Object; fields = Type.getInstanceFields(o == null ? null : js_Boot.getClass(o)); } HxOverrides.remove(fields,"__constructs__"); var filteredFields = []; var _g = 0; while(_g < fields.length) { var field = fields[_g]; ++_g; if(StringTools.startsWith(field,"get_") || StringTools.startsWith(field,"set_")) { var name = HxOverrides.substr(field,4,null); if(fields.indexOf(name) == -1 && filteredFields.indexOf(name) == -1) { filteredFields.push(name); } } else { filteredFields.push(field); } } return flixel_system_debug_console_ConsoleUtil.sortFields(filteredFields); }; flixel_system_debug_console_ConsoleUtil.sortFields = function(fields) { var underscoreList = []; fields = fields.filter(function(field) { if(StringTools.startsWith(field,"_")) { underscoreList.push(field); return false; } return true; }); flixel_util_FlxStringUtil.sortAlphabetically(fields); flixel_util_FlxStringUtil.sortAlphabetically(underscoreList); return fields.concat(underscoreList); }; flixel_system_debug_console_ConsoleUtil.log = function(Text) { flixel_FlxG.log.advanced([Text],flixel_system_debug_log_LogStyle.CONSOLE); }; var hscript_Interp = function() { var _gthis = this; this.variables = new haxe_ds_StringMap(); this.locals = new haxe_ds_StringMap(); this.declared = []; var _this = this.variables; if(__map_reserved["null"] != null) { _this.setReserved("null",null); } else { _this.h["null"] = null; } var _this1 = this.variables; if(__map_reserved["true"] != null) { _this1.setReserved("true",true); } else { _this1.h["true"] = true; } var _this2 = this.variables; if(__map_reserved["false"] != null) { _this2.setReserved("false",false); } else { _this2.h["false"] = false; } var _this3 = this.variables; var value = Reflect.makeVarArgs(function(el) { var inf = _gthis.posInfos(); var v = el.shift(); if(el.length > 0) { inf.customParams = el; } haxe_Log.trace(Std.string(v),inf); }); if(__map_reserved["trace"] != null) { _this3.setReserved("trace",value); } else { _this3.h["trace"] = value; } this.initOps(); }; $hxClasses["hscript.Interp"] = hscript_Interp; hscript_Interp.__name__ = ["hscript","Interp"]; hscript_Interp.prototype = { variables: null ,locals: null ,binops: null ,depth: null ,inTry: null ,declared: null ,returnValue: null ,posInfos: function() { return { fileName : "hscript", lineNumber : 0}; } ,initOps: function() { var me = this; this.binops = new haxe_ds_StringMap(); var _this = this.binops; if(__map_reserved["+"] != null) { _this.setReserved("+",function(e11,e21) { return me.expr(e11) + me.expr(e21); }); } else { _this.h["+"] = function(e11,e21) { return me.expr(e11) + me.expr(e21); }; } var _this1 = this.binops; if(__map_reserved["-"] != null) { _this1.setReserved("-",function(e121,e221) { return me.expr(e121) - me.expr(e221); }); } else { _this1.h["-"] = function(e121,e221) { return me.expr(e121) - me.expr(e221); }; } var _this2 = this.binops; if(__map_reserved["*"] != null) { _this2.setReserved("*",function(e131,e231) { return me.expr(e131) * me.expr(e231); }); } else { _this2.h["*"] = function(e131,e231) { return me.expr(e131) * me.expr(e231); }; } var _this3 = this.binops; if(__map_reserved["/"] != null) { _this3.setReserved("/",function(e141,e241) { return me.expr(e141) / me.expr(e241); }); } else { _this3.h["/"] = function(e141,e241) { return me.expr(e141) / me.expr(e241); }; } var _this4 = this.binops; if(__map_reserved["%"] != null) { _this4.setReserved("%",function(e151,e251) { return me.expr(e151) % me.expr(e251); }); } else { _this4.h["%"] = function(e151,e251) { return me.expr(e151) % me.expr(e251); }; } var _this5 = this.binops; if(__map_reserved["&"] != null) { _this5.setReserved("&",function(e161,e261) { return me.expr(e161) & me.expr(e261); }); } else { _this5.h["&"] = function(e161,e261) { return me.expr(e161) & me.expr(e261); }; } var _this6 = this.binops; if(__map_reserved["|"] != null) { _this6.setReserved("|",function(e171,e271) { return me.expr(e171) | me.expr(e271); }); } else { _this6.h["|"] = function(e171,e271) { return me.expr(e171) | me.expr(e271); }; } var _this7 = this.binops; if(__map_reserved["^"] != null) { _this7.setReserved("^",function(e181,e281) { return me.expr(e181) ^ me.expr(e281); }); } else { _this7.h["^"] = function(e181,e281) { return me.expr(e181) ^ me.expr(e281); }; } var _this8 = this.binops; if(__map_reserved["<<"] != null) { _this8.setReserved("<<",function(e191,e291) { return me.expr(e191) << me.expr(e291); }); } else { _this8.h["<<"] = function(e191,e291) { return me.expr(e191) << me.expr(e291); }; } var _this9 = this.binops; if(__map_reserved[">>"] != null) { _this9.setReserved(">>",function(e1101,e2101) { return me.expr(e1101) >> me.expr(e2101); }); } else { _this9.h[">>"] = function(e1101,e2101) { return me.expr(e1101) >> me.expr(e2101); }; } var _this10 = this.binops; if(__map_reserved[">>>"] != null) { _this10.setReserved(">>>",function(e1111,e2111) { return me.expr(e1111) >>> me.expr(e2111); }); } else { _this10.h[">>>"] = function(e1111,e2111) { return me.expr(e1111) >>> me.expr(e2111); }; } var _this11 = this.binops; if(__map_reserved["=="] != null) { _this11.setReserved("==",function(e1121,e2121) { return me.expr(e1121) == me.expr(e2121); }); } else { _this11.h["=="] = function(e1121,e2121) { return me.expr(e1121) == me.expr(e2121); }; } var _this12 = this.binops; if(__map_reserved["!="] != null) { _this12.setReserved("!=",function(e1131,e2131) { return me.expr(e1131) != me.expr(e2131); }); } else { _this12.h["!="] = function(e1131,e2131) { return me.expr(e1131) != me.expr(e2131); }; } var _this13 = this.binops; if(__map_reserved[">="] != null) { _this13.setReserved(">=",function(e1141,e2141) { return me.expr(e1141) >= me.expr(e2141); }); } else { _this13.h[">="] = function(e1141,e2141) { return me.expr(e1141) >= me.expr(e2141); }; } var _this14 = this.binops; if(__map_reserved["<="] != null) { _this14.setReserved("<=",function(e1151,e2151) { return me.expr(e1151) <= me.expr(e2151); }); } else { _this14.h["<="] = function(e1151,e2151) { return me.expr(e1151) <= me.expr(e2151); }; } var _this15 = this.binops; if(__map_reserved[">"] != null) { _this15.setReserved(">",function(e1161,e2161) { return me.expr(e1161) > me.expr(e2161); }); } else { _this15.h[">"] = function(e1161,e2161) { return me.expr(e1161) > me.expr(e2161); }; } var _this16 = this.binops; if(__map_reserved["<"] != null) { _this16.setReserved("<",function(e1171,e2171) { return me.expr(e1171) < me.expr(e2171); }); } else { _this16.h["<"] = function(e1171,e2171) { return me.expr(e1171) < me.expr(e2171); }; } var _this17 = this.binops; if(__map_reserved["||"] != null) { _this17.setReserved("||",function(e1181,e2181) { if(me.expr(e1181) != true) { return me.expr(e2181) == true; } else { return true; } }); } else { _this17.h["||"] = function(e1181,e2181) { if(me.expr(e1181) != true) { return me.expr(e2181) == true; } else { return true; } }; } var _this18 = this.binops; if(__map_reserved["&&"] != null) { _this18.setReserved("&&",function(e1191,e2191) { if(me.expr(e1191) == true) { return me.expr(e2191) == true; } else { return false; } }); } else { _this18.h["&&"] = function(e1191,e2191) { if(me.expr(e1191) == true) { return me.expr(e2191) == true; } else { return false; } }; } var _this19 = this.binops; var value = $bind(this,this.assign); if(__map_reserved["="] != null) { _this19.setReserved("=",value); } else { _this19.h["="] = value; } var _this20 = this.binops; if(__map_reserved["..."] != null) { _this20.setReserved("...",function(e1201,e2201) { return new IntIterator(me.expr(e1201),me.expr(e2201)); }); } else { _this20.h["..."] = function(e1201,e2201) { return new IntIterator(me.expr(e1201),me.expr(e2201)); }; } this.assignOp("+=",function(v1,v2) { return v1 + v2; }); this.assignOp("-=",function(v11,v21) { return v11 - v21; }); this.assignOp("*=",function(v12,v22) { return v12 * v22; }); this.assignOp("/=",function(v13,v23) { return v13 / v23; }); this.assignOp("%=",function(v14,v24) { return v14 % v24; }); this.assignOp("&=",function(v15,v25) { return v15 & v25; }); this.assignOp("|=",function(v16,v26) { return v16 | v26; }); this.assignOp("^=",function(v17,v27) { return v17 ^ v27; }); this.assignOp("<<=",function(v18,v28) { return v18 << v28; }); this.assignOp(">>=",function(v19,v29) { return v19 >> v29; }); this.assignOp(">>>=",function(v110,v210) { return v110 >>> v210; }); } ,assign: function(e1,e2) { var v = this.expr(e2); switch(e1[1]) { case 1: var id = e1[2]; var l = this.locals.get(id); if(l == null) { this.variables.set(id,v); } else { l.r = v; } break; case 5: var f = e1[3]; var e = e1[2]; v = this.set(this.expr(e),f,v); break; case 16: var index = e1[3]; var e3 = e1[2]; var arr = this.expr(e3); var index1 = this.expr(index); if(js_Boot.__instanceof(arr,haxe_IMap)) { (js_Boot.__cast(arr , haxe_IMap)).set(index1,v); } else { arr[index1] = v; } break; default: var e4 = hscript_Error.EInvalidOp("="); throw new js__$Boot_HaxeError(e4); } return v; } ,assignOp: function(op,fop) { var me = this; var _this = this.binops; if(__map_reserved[op] != null) { _this.setReserved(op,function(e11,e21) { return me.evalAssignOp(op,fop,e11,e21); }); } else { _this.h[op] = function(e11,e21) { return me.evalAssignOp(op,fop,e11,e21); }; } } ,evalAssignOp: function(op,fop,e1,e2) { var v; switch(e1[1]) { case 1: var id = e1[2]; var l = this.locals.get(id); v = fop(this.expr(e1),this.expr(e2)); if(l == null) { this.variables.set(id,v); } else { l.r = v; } break; case 5: var f = e1[3]; var e = e1[2]; var obj = this.expr(e); v = fop(this.get(obj,f),this.expr(e2)); v = this.set(obj,f,v); break; case 16: var index = e1[3]; var e3 = e1[2]; var arr = this.expr(e3); var index1 = this.expr(index); if(js_Boot.__instanceof(arr,haxe_IMap)) { v = fop((js_Boot.__cast(arr , haxe_IMap)).get(index1),this.expr(e2)); (js_Boot.__cast(arr , haxe_IMap)).set(index1,v); } else { v = fop(arr[index1],this.expr(e2)); arr[index1] = v; } break; default: var e4 = hscript_Error.EInvalidOp(op); throw new js__$Boot_HaxeError(e4); } return v; } ,increment: function(e,prefix,delta) { switch(e[1]) { case 1: var id = e[2]; var l = this.locals.get(id); var v = l == null ? this.variables.get(id) : l.r; if(prefix) { v += delta; if(l == null) { this.variables.set(id,v); } else { l.r = v; } } else if(l == null) { this.variables.set(id,v + delta); } else { l.r = v + delta; } return v; case 5: var f = e[3]; var e1 = e[2]; var obj = this.expr(e1); var v1 = this.get(obj,f); if(prefix) { v1 += delta; this.set(obj,f,v1); } else { this.set(obj,f,v1 + delta); } return v1; case 16: var index = e[3]; var e2 = e[2]; var arr = this.expr(e2); var index1 = this.expr(index); if(js_Boot.__instanceof(arr,haxe_IMap)) { var v2 = (js_Boot.__cast(arr , haxe_IMap)).get(index1); if(prefix) { v2 += delta; (js_Boot.__cast(arr , haxe_IMap)).set(index1,v2); } else { (js_Boot.__cast(arr , haxe_IMap)).set(index1,v2 + delta); } return v2; } else { var v3 = arr[index1]; if(prefix) { v3 += delta; arr[index1] = v3; } else { arr[index1] = v3 + delta; } return v3; } break; default: var e3 = hscript_Error.EInvalidOp(delta > 0 ? "++" : "--"); throw new js__$Boot_HaxeError(e3); } } ,execute: function(expr) { this.depth = 0; this.locals = new haxe_ds_StringMap(); this.declared = []; return this.exprReturn(expr); } ,exprReturn: function(e) { try { return this.expr(e); } catch( e1 ) { haxe_CallStack.lastException = e1; if (e1 instanceof js__$Boot_HaxeError) e1 = e1.val; if( js_Boot.__instanceof(e1,hscript__$Interp_Stop) ) { switch(e1[1]) { case 0: throw new js__$Boot_HaxeError("Invalid break"); break; case 1: throw new js__$Boot_HaxeError("Invalid continue"); break; case 2: var v = this.returnValue; this.returnValue = null; return v; } } else throw(e1); } } ,duplicate: function(h) { var h2 = new haxe_ds_StringMap(); var k = h.keys(); while(k.hasNext()) { var k1 = k.next(); var value = __map_reserved[k1] != null ? h.getReserved(k1) : h.h[k1]; if(__map_reserved[k1] != null) { h2.setReserved(k1,value); } else { h2.h[k1] = value; } } return h2; } ,restore: function(old) { while(this.declared.length > old) { var d = this.declared.pop(); var key = d.n; var value = d.old; var _this = this.locals; if(__map_reserved[key] != null) { _this.setReserved(key,value); } else { _this.h[key] = value; } } } ,edef: function(e) { return e; } ,error: function(e,rethrow) { if(rethrow == null) { rethrow = false; } if(rethrow) { throw new js__$Boot_HaxeError(e); } else { throw new js__$Boot_HaxeError(e); } } ,rethrow: function(e) { throw js__$Boot_HaxeError.wrap(e); } ,resolve: function(id) { var _this = this.locals; var l = __map_reserved[id] != null ? _this.getReserved(id) : _this.h[id]; if(l != null) { return l.r; } var _this1 = this.variables; var v = __map_reserved[id] != null ? _this1.getReserved(id) : _this1.h[id]; var tmp; if(v == null) { var _this2 = this.variables; tmp = !(__map_reserved[id] != null ? _this2.existsReserved(id) : _this2.h.hasOwnProperty(id)); } else { tmp = false; } if(tmp) { var e = hscript_Error.EUnknownVariable(id); throw new js__$Boot_HaxeError(e); } return v; } ,expr: function(e) { var _gthis = this; switch(e[1]) { case 0: var c = e[2]; switch(c[1]) { case 0: var v = c[2]; return v; case 1: var f = c[2]; return f; case 2: var s = c[2]; return s; } break; case 1: var id = e[2]; return this.resolve(id); case 2: var e1 = e[4]; var n = e[2]; this.declared.push({ n : n, old : this.locals.get(n)}); this.locals.set(n,{ r : e1 == null ? null : this.expr(e1)}); return null; case 3: var e2 = e[2]; return this.expr(e2); case 4: var exprs = e[2]; var old = this.declared.length; var v1 = null; var _g = 0; while(_g < exprs.length) { var e3 = exprs[_g]; ++_g; v1 = this.expr(e3); } this.restore(old); return v1; case 5: var f1 = e[3]; var e4 = e[2]; return this.get(this.expr(e4),f1); case 6: var e21 = e[4]; var e11 = e[3]; var op = e[2]; var fop = this.binops.get(op); if(fop == null) { var e5 = hscript_Error.EInvalidOp(op); throw new js__$Boot_HaxeError(e5); } return fop(e11,e21); case 7: var e6 = e[4]; var prefix = e[3]; var op1 = e[2]; switch(op1) { case "!": return this.expr(e6) != true; case "++": return this.increment(e6,prefix,1); case "-": return -this.expr(e6); case "--": return this.increment(e6,prefix,-1); case "~": return ~this.expr(e6); default: var e7 = hscript_Error.EInvalidOp(op1); throw new js__$Boot_HaxeError(e7); } break; case 8: var params = e[3]; var e8 = e[2]; var args = []; var _g1 = 0; while(_g1 < params.length) { var p = params[_g1]; ++_g1; args.push(this.expr(p)); } if(e8[1] == 5) { var f2 = e8[3]; var e9 = e8[2]; var obj = this.expr(e9); if(obj == null) { var e10 = hscript_Error.EInvalidAccess(f2); throw new js__$Boot_HaxeError(e10); } return this.fcall(obj,f2,args); } else { return this.call(null,this.expr(e8),args); } break; case 9: var e22 = e[4]; var e12 = e[3]; var econd = e[2]; if(this.expr(econd) == true) { return this.expr(e12); } else if(e22 == null) { return null; } else { return this.expr(e22); } break; case 10: var e13 = e[3]; var econd1 = e[2]; this.whileLoop(econd1,e13); return null; case 11: var e14 = e[4]; var it = e[3]; var v2 = e[2]; this.forLoop(v2,it,e14); return null; case 12: throw new js__$Boot_HaxeError(hscript__$Interp_Stop.SBreak); break; case 13: throw new js__$Boot_HaxeError(hscript__$Interp_Stop.SContinue); break; case 14: var name = e[4]; var fexpr = e[3]; var params1 = e[2]; var capturedLocals = this.duplicate(this.locals); var me = this; var hasOpt = false; var minParams = 0; var _g2 = 0; while(_g2 < params1.length) { var p1 = params1[_g2]; ++_g2; if(p1.opt) { hasOpt = true; } else { minParams += 1; } } var f3 = function(args1) { if(args1.length != params1.length) { if(args1.length < minParams) { var str = "Invalid number of parameters. Got " + args1.length + ", required " + minParams; if(name != null) { str += " for function '" + name + "'"; } throw new js__$Boot_HaxeError(str); } var args2 = []; var extraParams = args1.length - minParams; var pos = 0; var _g3 = 0; while(_g3 < params1.length) { var p2 = params1[_g3]; ++_g3; if(p2.opt) { if(extraParams > 0) { args2.push(args1[pos++]); --extraParams; } else { args2.push(null); } } else { args2.push(args1[pos++]); } } args1 = args2; } var old1 = me.locals; var depth = me.depth; me.depth++; me.locals = me.duplicate(capturedLocals); var _g11 = 0; var _g4 = params1.length; while(_g11 < _g4) { var i = _g11++; me.locals.set(params1[i].name,{ r : args1[i]}); } var r = null; if(_gthis.inTry) { try { r = me.exprReturn(fexpr); } catch( e15 ) { haxe_CallStack.lastException = e15; if (e15 instanceof js__$Boot_HaxeError) e15 = e15.val; me.locals = old1; me.depth = depth; throw js__$Boot_HaxeError.wrap(e15); } } else { r = me.exprReturn(fexpr); } me.locals = old1; me.depth = depth; return r; }; var f4 = Reflect.makeVarArgs(f3); if(name != null) { if(this.depth == 0) { this.variables.set(name,f4); } else { var tmp = this.declared; var tmp1 = this.locals.get(name); tmp.push({ n : name, old : tmp1}); var ref = { r : f4}; this.locals.set(name,ref); if(__map_reserved[name] != null) { capturedLocals.setReserved(name,ref); } else { capturedLocals.h[name] = ref; } } } return f4; case 15: var e16 = e[2]; this.returnValue = e16 == null ? null : this.expr(e16); throw new js__$Boot_HaxeError(hscript__$Interp_Stop.SReturn); break; case 16: var index = e[3]; var e17 = e[2]; var arr = this.expr(e17); var index1 = this.expr(index); if(js_Boot.__instanceof(arr,haxe_IMap)) { return (js_Boot.__cast(arr , haxe_IMap)).get(index1); } else { return arr[index1]; } break; case 17: var arr1 = e[2]; var tmp2; if(arr1.length > 0) { var _g5 = arr1[0]; if(_g5[1] == 6) { if(_g5[2] == "=>") { tmp2 = true; } else { tmp2 = false; } } else { tmp2 = false; } } else { tmp2 = false; } if(tmp2) { var isAllString = true; var isAllInt = true; var isAllObject = true; var isAllEnum = true; var keys = []; var values = []; var _g12 = 0; while(_g12 < arr1.length) { var e18 = arr1[_g12]; ++_g12; if(e18[1] == 6) { if(e18[2] == "=>") { var eValue = e18[4]; var eKey = e18[3]; var key = this.expr(eKey); var value = this.expr(eValue); if(isAllString) { isAllString = typeof(key) == "string"; } else { isAllString = false; } if(isAllInt) { if(typeof(key) == "number") { isAllInt = ((key | 0) === key); } else { isAllInt = false; } } else { isAllInt = false; } if(isAllObject) { isAllObject = Reflect.isObject(key); } else { isAllObject = false; } if(isAllEnum) { isAllEnum = Reflect.isEnumValue(key); } else { isAllEnum = false; } keys.push(key); values.push(value); } else { throw new js__$Boot_HaxeError("=> expected"); } } else { throw new js__$Boot_HaxeError("=> expected"); } } var map; if(isAllInt) { map = new haxe_ds_IntMap(); } else if(isAllString) { map = new haxe_ds_StringMap(); } else if(isAllEnum) { map = new haxe_ds_EnumValueMap(); } else if(isAllObject) { map = new haxe_ds_ObjectMap(); } else { throw new js__$Boot_HaxeError("Inconsistent key types"); } var _g21 = 0; var _g13 = keys.length; while(_g21 < _g13) { var n1 = _g21++; (js_Boot.__cast(map , haxe_IMap)).set(keys[n1],values[n1]); } return map; } else { var a = []; var _g14 = 0; while(_g14 < arr1.length) { var e19 = arr1[_g14]; ++_g14; a.push(this.expr(e19)); } return a; } break; case 18: var params2 = e[3]; var cl = e[2]; var a1 = []; var _g6 = 0; while(_g6 < params2.length) { var e20 = params2[_g6]; ++_g6; a1.push(this.expr(e20)); } return this.cnew(cl,a1); case 19: var e23 = e[2]; throw js__$Boot_HaxeError.wrap(this.expr(e23)); break; case 20: var ecatch = e[5]; var n2 = e[3]; var e24 = e[2]; var old2 = this.declared.length; var oldTry = this.inTry; try { this.inTry = true; var v3 = this.expr(e24); this.restore(old2); this.inTry = oldTry; return v3; } catch( $e0 ) { haxe_CallStack.lastException = $e0; if ($e0 instanceof js__$Boot_HaxeError) $e0 = $e0.val; if( js_Boot.__instanceof($e0,hscript__$Interp_Stop) ) { var err = $e0; this.inTry = oldTry; throw new js__$Boot_HaxeError(err); } else { var err1 = $e0; this.restore(old2); this.inTry = oldTry; this.declared.push({ n : n2, old : this.locals.get(n2)}); this.locals.set(n2,{ r : err1}); var v4 = this.expr(ecatch); this.restore(old2); return v4; } } break; case 21: var fl = e[2]; var o = { }; var _g7 = 0; while(_g7 < fl.length) { var f5 = fl[_g7]; ++_g7; this.set(o,f5.name,this.expr(f5.e)); } return o; case 22: var e25 = e[4]; var e110 = e[3]; var econd2 = e[2]; if(this.expr(econd2) == true) { return this.expr(e110); } else { return this.expr(e25); } break; case 23: var def = e[4]; var cases = e[3]; var e26 = e[2]; var val = this.expr(e26); var match = false; var _g8 = 0; while(_g8 < cases.length) { var c1 = cases[_g8]; ++_g8; var _g15 = 0; var _g22 = c1.values; while(_g15 < _g22.length) { var v5 = _g22[_g15]; ++_g15; if(this.expr(v5) == val) { match = true; break; } } if(match) { val = this.expr(c1.expr); break; } } if(!match) { if(def == null) { val = null; } else { val = this.expr(def); } } return val; case 24: var e27 = e[3]; var econd3 = e[2]; this.doWhileLoop(econd3,e27); return null; case 25: var e28 = e[4]; return this.expr(e28); } } ,doWhileLoop: function(econd,e) { var old = this.declared.length; try { while(true) { try { this.expr(e); } catch( err ) { haxe_CallStack.lastException = err; if (err instanceof js__$Boot_HaxeError) err = err.val; if( js_Boot.__instanceof(err,hscript__$Interp_Stop) ) { switch(err[1]) { case 0: throw "__break__"; break; case 1: break; case 2: throw new js__$Boot_HaxeError(err); break; } } else throw(err); } if(!(this.expr(econd) == true)) { throw "__break__"; } } } catch( e ) { if( e != "__break__" ) throw e; } this.restore(old); } ,whileLoop: function(econd,e) { var old = this.declared.length; try { while(this.expr(econd) == true) try { this.expr(e); } catch( err ) { haxe_CallStack.lastException = err; if (err instanceof js__$Boot_HaxeError) err = err.val; if( js_Boot.__instanceof(err,hscript__$Interp_Stop) ) { switch(err[1]) { case 0: throw "__break__"; break; case 1: break; case 2: throw new js__$Boot_HaxeError(err); break; } } else throw(err); } } catch( e ) { if( e != "__break__" ) throw e; } this.restore(old); } ,makeIterator: function(v) { try { v = $iterator(v)(); } catch( e ) { haxe_CallStack.lastException = e; } if(v.hasNext == null || v.next == null) { var e1 = hscript_Error.EInvalidIterator(v); throw new js__$Boot_HaxeError(e1); } return v; } ,forLoop: function(n,it,e) { var old = this.declared.length; var _this = this.locals; this.declared.push({ n : n, old : __map_reserved[n] != null ? _this.getReserved(n) : _this.h[n]}); var it1 = this.makeIterator(this.expr(it)); try { while(it1.hasNext()) { var this1 = this.locals; var value = { r : it1.next()}; var _this1 = this1; if(__map_reserved[n] != null) { _this1.setReserved(n,value); } else { _this1.h[n] = value; } try { this.expr(e); } catch( err ) { haxe_CallStack.lastException = err; if (err instanceof js__$Boot_HaxeError) err = err.val; if( js_Boot.__instanceof(err,hscript__$Interp_Stop) ) { switch(err[1]) { case 0: throw "__break__"; break; case 1: break; case 2: throw new js__$Boot_HaxeError(err); break; } } else throw(err); } } } catch( e ) { if( e != "__break__" ) throw e; } this.restore(old); } ,isMap: function(o) { return js_Boot.__instanceof(o,haxe_IMap); } ,getMapValue: function(map,key) { return (js_Boot.__cast(map , haxe_IMap)).get(key); } ,setMapValue: function(map,key,value) { (js_Boot.__cast(map , haxe_IMap)).set(key,value); } ,get: function(o,f) { if(o == null) { var e = hscript_Error.EInvalidAccess(f); throw new js__$Boot_HaxeError(e); } return Reflect.getProperty(o,f); } ,set: function(o,f,v) { if(o == null) { var e = hscript_Error.EInvalidAccess(f); throw new js__$Boot_HaxeError(e); } Reflect.setProperty(o,f,v); return v; } ,fcall: function(o,f,args) { return this.call(o,this.get(o,f),args); } ,call: function(o,f,args) { return f.apply(o,args); } ,cnew: function(cl,args) { var c = Type.resolveClass(cl); if(c == null) { c = this.resolve(cl); } return Type.createInstance(c,args); } ,__class__: hscript_Interp }; var flixel_system_debug_console__$ConsoleUtil_Interp = function() { hscript_Interp.call(this); }; $hxClasses["flixel.system.debug.console._ConsoleUtil.Interp"] = flixel_system_debug_console__$ConsoleUtil_Interp; flixel_system_debug_console__$ConsoleUtil_Interp.__name__ = ["flixel","system","debug","console","_ConsoleUtil","Interp"]; flixel_system_debug_console__$ConsoleUtil_Interp.__super__ = hscript_Interp; flixel_system_debug_console__$ConsoleUtil_Interp.prototype = $extend(hscript_Interp.prototype,{ getGlobals: function() { return this.toArray(this.locals.keys()).concat(this.toArray(this.variables.keys())); } ,toArray: function(iterator) { var array = []; var element = iterator; while(element.hasNext()) { var element1 = element.next(); array.push(element1); } return array; } ,get: function(o,f) { if(o == null) { var e = hscript_Error.EInvalidAccess(f); throw new js__$Boot_HaxeError(e); } return Reflect.getProperty(o,f); } ,set: function(o,f,v) { if(o == null) { var e = hscript_Error.EInvalidAccess(f); throw new js__$Boot_HaxeError(e); } Reflect.setProperty(o,f,v); return v; } ,__class__: flixel_system_debug_console__$ConsoleUtil_Interp }); var flixel_system_debug_interaction_Interaction = function(container) { this._flixelPointer = new flixel_input_FlxPointer(); this._debuggerInteraction = false; this._keysUp = new haxe_ds_IntMap(); this._keysDown = new haxe_ds_IntMap(); this._turn = 2; this._tools = []; this.shouldDrawItemsSelection = true; this.pointerPressed = false; this.pointerJustReleased = false; this.pointerJustPressed = false; this.flixelPointer = new flixel_math_FlxPoint(); this.selectedItems = new flixel_group_FlxTypedGroup(); flixel_system_debug_Window.call(this,"Tools",new flixel_system_debug_GraphicInteractive(0,0),40,25,false); this.reposition(2,100); this._container = container; this._customCursor = new openfl_display_Sprite(); this._customCursor.mouseEnabled = false; this._container.addChild(this._customCursor); this.addTool(new flixel_system_debug_interaction_tools_Pointer()); this.addTool(new flixel_system_debug_interaction_tools_Mover()); this.addTool(new flixel_system_debug_interaction_tools_Eraser()); this.addTool(new flixel_system_debug_interaction_tools_Transform()); flixel_FlxG.signals.postDraw.add($bind(this,this.postDraw)); flixel_FlxG["debugger"].visibilityChanged.add($bind(this,this.handleDebuggerVisibilityChanged)); openfl_Lib.get_current().stage.addEventListener("mouseMove",$bind(this,this.updateMouse)); openfl_Lib.get_current().stage.addEventListener("mouseDown",$bind(this,this.handleMouseClick)); openfl_Lib.get_current().stage.addEventListener("mouseUp",$bind(this,this.handleMouseClick)); openfl_Lib.get_current().stage.addEventListener("keyDown",$bind(this,this.handleKeyEvent)); openfl_Lib.get_current().stage.addEventListener("keyUp",$bind(this,this.handleKeyEvent)); this._container.addEventListener("mouseOver",$bind(this,this.handleMouseInDebugger)); this._container.addEventListener("mouseOut",$bind(this,this.handleMouseInDebugger)); }; $hxClasses["flixel.system.debug.interaction.Interaction"] = flixel_system_debug_interaction_Interaction; flixel_system_debug_interaction_Interaction.__name__ = ["flixel","system","debug","interaction","Interaction"]; flixel_system_debug_interaction_Interaction.__super__ = flixel_system_debug_Window; flixel_system_debug_interaction_Interaction.prototype = $extend(flixel_system_debug_Window.prototype,{ activeTool: null ,selectedItems: null ,flixelPointer: null ,pointerJustPressed: null ,pointerJustReleased: null ,pointerPressed: null ,shouldDrawItemsSelection: null ,_container: null ,_customCursor: null ,_tools: null ,_turn: null ,_keysDown: null ,_keysUp: null ,_wasMouseVisible: null ,_wasUsingSystemCursor: null ,_debuggerInteraction: null ,_flixelPointer: null ,handleDebuggerVisibilityChanged: function() { if(flixel_FlxG["debugger"].visible) { this.saveSystemCursorInfo(); } else { this.restoreSystemCursor(); } } ,updateMouse: function(event) { if(event.stageX == null || event.stageY == null) { return; } var offsetX = 0.0; var offsetY = 0.0; if(this.activeTool != null) { var cursorIcon = this.activeTool.cursor; if(cursorIcon != null) { offsetX = cursorIcon.width / flixel_FlxG.scaleMode.scale.x / 2; offsetY = cursorIcon.height / flixel_FlxG.scaleMode.scale.y / 2; } } this._customCursor.set_x(event.stageX + offsetX); this._customCursor.set_y(event.stageY + offsetY); var _this = this._flixelPointer; _this._globalScreenX = event.stageX / flixel_FlxG.scaleMode.scale.x | 0; _this._globalScreenY = event.stageY / flixel_FlxG.scaleMode.scale.y | 0; _this.updatePositions(); this.flixelPointer.set_x(this._flixelPointer.x + offsetX); this.flixelPointer.set_y(this._flixelPointer.y + offsetY); } ,handleMouseClick: function(event) { if(event.type == "mouseDown" && this.belongsToDebugger(event.target)) { return; } this.pointerJustPressed = event.type == "mouseDown"; this.pointerJustReleased = event.type == "mouseUp"; if(this.pointerJustPressed) { this.pointerPressed = true; } else if(this.pointerJustReleased) { this.pointerPressed = false; } } ,belongsToDebugger: function(object) { if(object == null) { return false; } else if(js_Boot.__instanceof(object,flixel_system_debug_FlxDebugger)) { return true; } return this.belongsToDebugger(object.parent); } ,handleMouseInDebugger: function(event) { if(!this.isActive()) { return; } if(event.type == "mouseOver") { this._debuggerInteraction = true; } else if(event.type == "mouseOut") { this._debuggerInteraction = false; } event.stopPropagation(); } ,handleKeyEvent: function(event) { if(event.type == "keyDown") { this._keysDown.h[event.keyCode] = true; } else if(event.type == "keyUp") { this._keysDown.h[event.keyCode] = false; this._keysUp.h[event.keyCode] = this._turn; } } ,countToolsWithUIButton: function() { var count = 0; var _g = 0; var _g1 = this._tools; while(_g < _g1.length) { var tool = _g1[_g]; ++_g; if(tool.button != null) { ++count; } } return count; } ,addTool: function(tool) { tool.init(this); this._tools.push(tool); var button = tool.button; if(button == null) { return; } var buttonsPerLine = 2; var buttons = this.countToolsWithUIButton(); var lines = Math.ceil(buttons / buttonsPerLine) | 0; var slot = buttons / lines | 0; button.set_x(-15 + slot * 25); button.set_y(20 * lines); this.addChild(button); this.resize(25 * Math.min(buttons,buttonsPerLine) + 10,25 * lines + 10); } ,destroy: function() { flixel_FlxG.signals.postDraw.remove($bind(this,this.postDraw)); flixel_FlxG["debugger"].visibilityChanged.remove($bind(this,this.handleDebuggerVisibilityChanged)); openfl_Lib.get_current().stage.removeEventListener("mouseMove",$bind(this,this.updateMouse)); openfl_Lib.get_current().stage.removeEventListener("mouseDown",$bind(this,this.handleMouseClick)); openfl_Lib.get_current().stage.removeEventListener("mouseUp",$bind(this,this.handleMouseClick)); openfl_Lib.get_current().stage.removeEventListener("keyDown",$bind(this,this.handleKeyEvent)); openfl_Lib.get_current().stage.removeEventListener("keyUp",$bind(this,this.handleKeyEvent)); if(this._container != null) { this._container.removeEventListener("mouseOver",$bind(this,this.handleMouseInDebugger)); this._container.removeEventListener("mouseOut",$bind(this,this.handleMouseInDebugger)); } if(this._customCursor != null) { this._customCursor.parent.removeChild(this._customCursor); this._customCursor = null; } this._tools = flixel_util_FlxDestroyUtil.destroyArray(this._tools); this.selectedItems = flixel_util_FlxDestroyUtil.destroy(this.selectedItems); this.flixelPointer = flixel_util_FlxDestroyUtil.destroy(this.flixelPointer); this._keysDown = null; this._keysUp = null; } ,isActive: function() { if(flixel_FlxG["debugger"].visible) { return this.get_visible(); } else { return false; } } ,update: function() { if(!this.isActive()) { return; } this.updateCustomCursors(); var _g = 0; var _g1 = this._tools; while(_g < _g1.length) { var tool = _g1[_g]; ++_g; tool.update(); } this.pointerJustPressed = false; this.pointerJustReleased = false; this._turn++; } ,postDraw: function() { if(!this.isActive()) { return; } var _g = 0; var _g1 = this._tools; while(_g < _g1.length) { var tool = _g1[_g]; ++_g; tool.draw(); } if(this.shouldDrawItemsSelection) { this.drawItemsSelection(); } } ,getDebugGraphics: function() { if(flixel_FlxG.renderBlit) { flixel_util_FlxSpriteUtil.flashGfx.clear(); return flixel_util_FlxSpriteUtil.flashGfx; } return null; } ,drawItemsSelection: function() { var gfx = this.getDebugGraphics(); if(gfx == null) { return; } var member = new flixel_group_FlxTypedGroupIterator(this.selectedItems.members,null); while(member.hasNext()) { var member1 = member.next(); if(member1 != null && member1.scrollFactor != null && member1.isOnScreen()) { gfx.lineStyle(0.9,16711680); gfx.drawRect(member1.x - flixel_FlxG.camera.scroll.x,member1.y - flixel_FlxG.camera.scroll.y,member1.get_width(),member1.get_height()); } } if(flixel_FlxG.renderBlit) { flixel_FlxG.camera.buffer.draw(flixel_util_FlxSpriteUtil.flashGfxSprite); } } ,getTool: function(className) { var _g = 0; var _g1 = this._tools; while(_g < _g1.length) { var tool = _g1[_g]; ++_g; if(js_Boot.__instanceof(tool,className)) { return tool; } } return null; } ,toggleVisible: function() { flixel_system_debug_Window.prototype.toggleVisible.call(this); if(!this.get_visible()) { this.setActiveTool(null); this.restoreSystemCursor(); } } ,registerCustomCursor: function(name,icon) { if(icon == null) { return; } var sprite = new openfl_display_Sprite(); sprite.set_visible(false); sprite.set_name(name); sprite.addChild(new openfl_display_Bitmap(icon)); this._customCursor.addChild(sprite); } ,updateCustomCursors: function() { if(this.activeTool != null && !this._debuggerInteraction) { if(this.activeTool.cursor != null) { var cursorInUse = this.activeTool.cursorInUse == "" ? this.activeTool.getName() : this.activeTool.cursorInUse; var _g1 = 0; var _g = this._customCursor.get_numChildren(); while(_g1 < _g) { var i = _g1++; var sprite = this._customCursor.getChildAt(i); sprite.set_visible(sprite.get_name() == cursorInUse); } if(flixel_FlxG.mouse.visible) { flixel_FlxG.mouse.set_visible(false); } } else { flixel_FlxG.mouse.set_useSystemCursor(true); } } else { flixel_FlxG.mouse.set_useSystemCursor(true); } } ,saveSystemCursorInfo: function() { this._wasMouseVisible = flixel_FlxG.mouse.visible; this._wasUsingSystemCursor = flixel_FlxG.mouse.useSystemCursor; } ,restoreSystemCursor: function() { flixel_FlxG.mouse.set_useSystemCursor(this._wasUsingSystemCursor); flixel_FlxG.mouse.set_visible(this._wasMouseVisible); this._customCursor.set_visible(false); } ,setActiveTool: function(value) { if(this.activeTool != null) { this.activeTool.deactivate(); this.activeTool.button.set_toggled(true); } if(this.activeTool == value) { value = null; } this.activeTool = value; if(this.activeTool != null) { this.setToolsCursorVisibility(true); this.activeTool.button.set_toggled(false); this.activeTool.activate(); this.updateCustomCursors(); } else { this.setSystemCursorVisibility(true); } } ,setSystemCursorVisibility: function(status) { flixel_FlxG.mouse.set_useSystemCursor(status); this._customCursor.set_visible(!status); } ,setToolsCursorVisibility: function(status) { flixel_FlxG.mouse.set_useSystemCursor(false); this._customCursor.set_visible(status); if(status) { return; } var _g1 = 0; var _g = this._customCursor.get_numChildren(); while(_g1 < _g) { var i = _g1++; this._customCursor.getChildAt(i).set_visible(false); } } ,clearSelection: function() { this.selectedItems.clear(); } ,keyPressed: function(key) { return this._keysDown.h[key]; } ,keyJustPressed: function(key) { var value = this._keysUp.h[key] == null ? 0 : this._keysUp.h[key]; return this._turn - value == 1; } ,findItemsWithinState: function(items,state,area) { this.findItemsWithinArea(items,state.members,area); if(state.subState != null) { this.findItemsWithinState(items,state.subState,area); } } ,findItemsWithinArea: function(items,members,area) { var i = members.length; while(i-- > 0) { var member = members[i]; if(member == null || !member.visible || !member.exists) { continue; } var group = flixel_group_FlxTypedGroup.resolveGroup(member); if(group != null) { this.findItemsWithinArea(items,group.members,area); } else { var tmp; if(js_Boot.__instanceof(member,flixel_FlxSprite)) { var Rect = (js_Boot.__cast(member , flixel_FlxSprite)).getHitbox(); var result = Rect.x + Rect.width > area.x && Rect.x < area.x + area.width && Rect.y + Rect.height > area.y && Rect.y < area.y + area.height; if(Rect._weak) { if(!Rect._inPool) { Rect._inPool = true; Rect._weak = false; flixel_math_FlxRect._pool.putUnsafe(Rect); } } tmp = result; } else { tmp = false; } if(tmp) { items.push(member); } } } } ,__class__: flixel_system_debug_interaction_Interaction }); var flixel_system_debug_interaction_tools_GraphicEraserTool = function(width,height,transparent,fillRGBA,onload) { if(fillRGBA == null) { fillRGBA = -1; } if(transparent == null) { transparent = true; } openfl_display_BitmapData.call(this,0,0,transparent,fillRGBA); if(flixel_system_debug_interaction_tools_GraphicEraserTool.preload != null) { this.__fromImage(flixel_system_debug_interaction_tools_GraphicEraserTool.preload); } else { var _gthis = this; lime_graphics_Image.loadFromBase64(haxe_Resource.getString(flixel_system_debug_interaction_tools_GraphicEraserTool.resourceName),flixel_system_debug_interaction_tools_GraphicEraserTool.resourceType).then(function(image) { _gthis.__fromImage(image); return lime_app_Future.withValue(_gthis); }).onComplete(function(b) { if(flixel_system_debug_interaction_tools_GraphicEraserTool.preload == null) { flixel_system_debug_interaction_tools_GraphicEraserTool.preload = b.image; } if(onload != null) { onload(b); } }); } }; $hxClasses["flixel.system.debug.interaction.tools.GraphicEraserTool"] = flixel_system_debug_interaction_tools_GraphicEraserTool; flixel_system_debug_interaction_tools_GraphicEraserTool.__name__ = ["flixel","system","debug","interaction","tools","GraphicEraserTool"]; flixel_system_debug_interaction_tools_GraphicEraserTool.preload = null; flixel_system_debug_interaction_tools_GraphicEraserTool.__super__ = openfl_display_BitmapData; flixel_system_debug_interaction_tools_GraphicEraserTool.prototype = $extend(openfl_display_BitmapData.prototype,{ __class__: flixel_system_debug_interaction_tools_GraphicEraserTool }); var flixel_system_debug_interaction_tools_Tool = function() { this._name = "(Unknown tool)"; this.cursorInUse = ""; openfl_display_Sprite.call(this); }; $hxClasses["flixel.system.debug.interaction.tools.Tool"] = flixel_system_debug_interaction_tools_Tool; flixel_system_debug_interaction_tools_Tool.__name__ = ["flixel","system","debug","interaction","tools","Tool"]; flixel_system_debug_interaction_tools_Tool.__interfaces__ = [flixel_util_IFlxDestroyable]; flixel_system_debug_interaction_tools_Tool.__super__ = openfl_display_Sprite; flixel_system_debug_interaction_tools_Tool.prototype = $extend(openfl_display_Sprite.prototype,{ button: null ,cursor: null ,cursorInUse: null ,_name: null ,_shortcut: null ,_brain: null ,init: function(brain) { this._brain = brain; return this; } ,update: function() { } ,draw: function() { } ,activate: function() { } ,deactivate: function() { } ,destroy: function() { } ,isActive: function() { if(this._brain.activeTool == this) { return this._brain.get_visible(); } else { return false; } } ,setButton: function(Icon) { this.button = new flixel_system_ui_FlxSystemButton(Type.createInstance(Icon,[0,0]),$bind(this,this.onButtonClicked),true); this.button.set_toggled(true); var tooltip = this._name; if(this._shortcut != null) { tooltip += " (" + this._shortcut + ")"; } flixel_system_debug_Tooltip.add(this.button,tooltip); } ,setCursor: function(Icon) { this.cursor = Icon; this._brain.registerCustomCursor(this._name,this.cursor); } ,setCursorInUse: function(customCursorName) { this.cursorInUse = customCursorName; } ,useDefaultCursor: function() { if(this.cursorInUse != "") { this.cursorInUse = ""; } } ,onButtonClicked: function() { this._brain.setActiveTool(this); } ,getName: function() { return this._name; } ,__class__: flixel_system_debug_interaction_tools_Tool }); var flixel_system_debug_interaction_tools_Eraser = function() { flixel_system_debug_interaction_tools_Tool.call(this); }; $hxClasses["flixel.system.debug.interaction.tools.Eraser"] = flixel_system_debug_interaction_tools_Eraser; flixel_system_debug_interaction_tools_Eraser.__name__ = ["flixel","system","debug","interaction","tools","Eraser"]; flixel_system_debug_interaction_tools_Eraser.__super__ = flixel_system_debug_interaction_tools_Tool; flixel_system_debug_interaction_tools_Eraser.prototype = $extend(flixel_system_debug_interaction_tools_Tool.prototype,{ init: function(Brain) { flixel_system_debug_interaction_tools_Tool.prototype.init.call(this,Brain); this._name = "Eraser"; return this; } ,update: function() { if(this._brain.keyJustPressed(46)) { this.doDeletion(this._brain.keyPressed(16)); } } ,activate: function() { this.doDeletion(this._brain.keyPressed(16)); this._brain.setActiveTool(null); } ,doDeletion: function(remove) { var selectedItems = this._brain.selectedItems; if(selectedItems != null) { this.findAndDelete(selectedItems,remove); selectedItems.clear(); } } ,findAndDelete: function(items,remove) { if(remove == null) { remove = false; } var member = new flixel_group_FlxTypedGroupIterator(items.members,null); while(member.hasNext()) { var member1 = member.next(); if(member1 == null) { continue; } if(!js_Boot.__instanceof(member1,flixel_group_FlxTypedGroup)) { member1.kill(); if(remove) { this.removeFromMemory(member1,flixel_FlxG.game._state); } } } } ,removeFromMemory: function(item,parentGroup) { var _g = 0; var _g1 = parentGroup.members; while(_g < _g1.length) { var member = _g1[_g]; ++_g; if(member == null) { continue; } if(js_Boot.__instanceof(member,flixel_group_FlxTypedGroup)) { this.removeFromMemory(item,member); } else if(member == item) { parentGroup.remove(member); } } } ,__class__: flixel_system_debug_interaction_tools_Eraser }); var flixel_system_debug_interaction_tools_GraphicMoverTool = function(width,height,transparent,fillRGBA,onload) { if(fillRGBA == null) { fillRGBA = -1; } if(transparent == null) { transparent = true; } openfl_display_BitmapData.call(this,0,0,transparent,fillRGBA); if(flixel_system_debug_interaction_tools_GraphicMoverTool.preload != null) { this.__fromImage(flixel_system_debug_interaction_tools_GraphicMoverTool.preload); } else { var _gthis = this; lime_graphics_Image.loadFromBase64(haxe_Resource.getString(flixel_system_debug_interaction_tools_GraphicMoverTool.resourceName),flixel_system_debug_interaction_tools_GraphicMoverTool.resourceType).then(function(image) { _gthis.__fromImage(image); return lime_app_Future.withValue(_gthis); }).onComplete(function(b) { if(flixel_system_debug_interaction_tools_GraphicMoverTool.preload == null) { flixel_system_debug_interaction_tools_GraphicMoverTool.preload = b.image; } if(onload != null) { onload(b); } }); } }; $hxClasses["flixel.system.debug.interaction.tools.GraphicMoverTool"] = flixel_system_debug_interaction_tools_GraphicMoverTool; flixel_system_debug_interaction_tools_GraphicMoverTool.__name__ = ["flixel","system","debug","interaction","tools","GraphicMoverTool"]; flixel_system_debug_interaction_tools_GraphicMoverTool.preload = null; flixel_system_debug_interaction_tools_GraphicMoverTool.__super__ = openfl_display_BitmapData; flixel_system_debug_interaction_tools_GraphicMoverTool.prototype = $extend(openfl_display_BitmapData.prototype,{ __class__: flixel_system_debug_interaction_tools_GraphicMoverTool }); var flixel_system_debug_interaction_tools_Mover = function() { this._dragging = false; flixel_system_debug_interaction_tools_Tool.call(this); }; $hxClasses["flixel.system.debug.interaction.tools.Mover"] = flixel_system_debug_interaction_tools_Mover; flixel_system_debug_interaction_tools_Mover.__name__ = ["flixel","system","debug","interaction","tools","Mover"]; flixel_system_debug_interaction_tools_Mover.__super__ = flixel_system_debug_interaction_tools_Tool; flixel_system_debug_interaction_tools_Mover.prototype = $extend(flixel_system_debug_interaction_tools_Tool.prototype,{ _dragging: null ,_lastCursorPosition: null ,init: function(brain) { flixel_system_debug_interaction_tools_Tool.prototype.init.call(this,brain); this._lastCursorPosition = new flixel_math_FlxPoint(brain.flixelPointer.x,brain.flixelPointer.x); this._name = "Mover"; this._shortcut = "Shift"; this.setButton(flixel_system_debug_interaction_tools_GraphicMoverTool); this.setCursor(new flixel_system_debug_interaction_tools_GraphicMoverTool(0,0)); return this; } ,update: function() { if(!this.isActive() && !this._brain.keyPressed(16)) { return; } if(this._brain.pointerPressed && !this._dragging) { this.startDragging(); } else if(this._brain.pointerPressed && this._dragging) { this.doDragging(); } else if(this._brain.pointerJustReleased) { this.stopDragging(); } this._lastCursorPosition.set_x(this._brain.flixelPointer.x); this._lastCursorPosition.set_y(this._brain.flixelPointer.y); } ,stopDragging: function() { this._dragging = false; } ,startDragging: function() { if(this._dragging) { return; } this._dragging = true; if(!this.isActive() && js_Boot.__instanceof(this._brain.activeTool,flixel_system_debug_interaction_tools_Pointer)) { (js_Boot.__cast(this._brain.activeTool , flixel_system_debug_interaction_tools_Pointer)).cancelSelection(); } } ,doDragging: function() { var dx = this._brain.flixelPointer.x - this._lastCursorPosition.x; var dy = this._brain.flixelPointer.y - this._lastCursorPosition.y; var _g = 0; var _g1 = this._brain.selectedItems.members; while(_g < _g1.length) { var member = _g1[_g]; ++_g; if(!js_Boot.__instanceof(member,flixel_FlxObject)) { continue; } var object = member; if(object != null) { var _g2 = object; _g2.set_x(_g2.x + dx); var _g21 = object; _g21.set_y(_g21.y + dy); } } } ,__class__: flixel_system_debug_interaction_tools_Mover }); var flixel_system_debug_interaction_tools_GraphicCursorCross = function(width,height,transparent,fillRGBA,onload) { if(fillRGBA == null) { fillRGBA = -1; } if(transparent == null) { transparent = true; } openfl_display_BitmapData.call(this,0,0,transparent,fillRGBA); if(flixel_system_debug_interaction_tools_GraphicCursorCross.preload != null) { this.__fromImage(flixel_system_debug_interaction_tools_GraphicCursorCross.preload); } else { var _gthis = this; lime_graphics_Image.loadFromBase64(haxe_Resource.getString(flixel_system_debug_interaction_tools_GraphicCursorCross.resourceName),flixel_system_debug_interaction_tools_GraphicCursorCross.resourceType).then(function(image) { _gthis.__fromImage(image); return lime_app_Future.withValue(_gthis); }).onComplete(function(b) { if(flixel_system_debug_interaction_tools_GraphicCursorCross.preload == null) { flixel_system_debug_interaction_tools_GraphicCursorCross.preload = b.image; } if(onload != null) { onload(b); } }); } }; $hxClasses["flixel.system.debug.interaction.tools.GraphicCursorCross"] = flixel_system_debug_interaction_tools_GraphicCursorCross; flixel_system_debug_interaction_tools_GraphicCursorCross.__name__ = ["flixel","system","debug","interaction","tools","GraphicCursorCross"]; flixel_system_debug_interaction_tools_GraphicCursorCross.preload = null; flixel_system_debug_interaction_tools_GraphicCursorCross.__super__ = openfl_display_BitmapData; flixel_system_debug_interaction_tools_GraphicCursorCross.prototype = $extend(openfl_display_BitmapData.prototype,{ __class__: flixel_system_debug_interaction_tools_GraphicCursorCross }); var flixel_system_debug_interaction_tools_Pointer = function() { this._itemsInSelectionArea = []; this._selectionArea = new flixel_math_FlxRect(); this._selectionCancelled = false; this._selectionHappening = false; this._selectionEndPoint = new flixel_math_FlxPoint(); this._selectionStartPoint = new flixel_math_FlxPoint(); flixel_system_debug_interaction_tools_Tool.call(this); }; $hxClasses["flixel.system.debug.interaction.tools.Pointer"] = flixel_system_debug_interaction_tools_Pointer; flixel_system_debug_interaction_tools_Pointer.__name__ = ["flixel","system","debug","interaction","tools","Pointer"]; flixel_system_debug_interaction_tools_Pointer.__super__ = flixel_system_debug_interaction_tools_Tool; flixel_system_debug_interaction_tools_Pointer.prototype = $extend(flixel_system_debug_interaction_tools_Tool.prototype,{ _selectionStartPoint: null ,_selectionEndPoint: null ,_selectionHappening: null ,_selectionCancelled: null ,_selectionArea: null ,_itemsInSelectionArea: null ,init: function(brain) { flixel_system_debug_interaction_tools_Tool.prototype.init.call(this,brain); this._name = "Pointer"; this.setButton(flixel_system_debug_interaction_tools_GraphicCursorCross); this.setCursor(new flixel_system_debug_interaction_tools_GraphicCursorCross(0,0)); return this; } ,update: function() { if(!this.isActive()) { return; } if(this._brain.pointerJustPressed && !this._selectionHappening) { this.startSelection(); } if(this._selectionHappening) { this._selectionEndPoint.set(this._brain.flixelPointer.x,this._brain.flixelPointer.y); this.calculateSelectionArea(); } if(!this._brain.pointerJustReleased) { return; } if(this._selectionHappening) { this.stopSelection(); } if(this._itemsInSelectionArea.length > 0) { this.handleItemAddition(this._itemsInSelectionArea); } else if(!this._brain.keyPressed(17) && !this._selectionCancelled) { this._brain.clearSelection(); } } ,calculateSelectionArea: function() { this._selectionArea.x = this._selectionStartPoint.x; this._selectionArea.y = this._selectionStartPoint.y; this._selectionArea.width = this._selectionEndPoint.x - this._selectionArea.x; this._selectionArea.height = this._selectionEndPoint.y - this._selectionArea.y; if(this._selectionArea.width < 0) { this._selectionArea.width *= -1; this._selectionArea.x -= this._selectionArea.width; } if(this._selectionArea.height < 0) { this._selectionArea.height *= -1; this._selectionArea.y -= this._selectionArea.height; } } ,startSelection: function() { this._selectionHappening = true; this._selectionCancelled = false; this._selectionStartPoint.set(this._brain.flixelPointer.x,this._brain.flixelPointer.y); flixel_util_FlxArrayUtil.clearArray(this._itemsInSelectionArea); this.updateConsoleSelection(); } ,cancelSelection: function() { if(!this._selectionHappening) { return; } this._selectionCancelled = true; this.stopSelection(false); } ,stopSelection: function(findItems) { if(findItems == null) { findItems = true; } if(!this._selectionHappening) { return; } this._selectionEndPoint.set(this._brain.flixelPointer.x,this._brain.flixelPointer.y); this.calculateSelectionArea(); if(findItems) { this._brain.findItemsWithinState(this._itemsInSelectionArea,flixel_FlxG.game._state,this._selectionArea); this.updateConsoleSelection(); } this._selectionHappening = false; var _this = this._selectionArea; _this.x = 0; _this.y = 0; _this.width = 0; _this.height = 0; } ,updateConsoleSelection: function() { var _this = flixel_FlxG.console; var AnyObject; var _g = this._itemsInSelectionArea.length; switch(_g) { case 0: AnyObject = null; break; case 1: AnyObject = this._itemsInSelectionArea[0]; break; default: AnyObject = this._itemsInSelectionArea; } } ,handleItemAddition: function(itemsInSelectionArea) { var adding = this._brain.keyPressed(17); var selectedItems = this._brain.selectedItems; if(itemsInSelectionArea.length == 0) { return; } if(!adding) { this._brain.clearSelection(); } var _g = 0; while(_g < itemsInSelectionArea.length) { var item = itemsInSelectionArea[_g]; ++_g; if(selectedItems.members.indexOf(item) != -1 && adding) { selectedItems.remove(item); } else { selectedItems.add(item); } } } ,draw: function() { var gfx = this._brain.getDebugGraphics(); if(gfx == null) { return; } if(this._selectionHappening) { gfx.lineStyle(0.9,12255232); gfx.drawRect(this._selectionArea.x - flixel_FlxG.camera.scroll.x,this._selectionArea.y - flixel_FlxG.camera.scroll.y,this._selectionArea.width,this._selectionArea.height); } if(flixel_FlxG.renderBlit) { flixel_FlxG.camera.buffer.draw(flixel_util_FlxSpriteUtil.flashGfxSprite); } } ,__class__: flixel_system_debug_interaction_tools_Pointer }); var flixel_system_debug_interaction_tools_GraphicTransformTool = function(width,height,transparent,fillRGBA,onload) { if(fillRGBA == null) { fillRGBA = -1; } if(transparent == null) { transparent = true; } openfl_display_BitmapData.call(this,0,0,transparent,fillRGBA); if(flixel_system_debug_interaction_tools_GraphicTransformTool.preload != null) { this.__fromImage(flixel_system_debug_interaction_tools_GraphicTransformTool.preload); } else { var _gthis = this; lime_graphics_Image.loadFromBase64(haxe_Resource.getString(flixel_system_debug_interaction_tools_GraphicTransformTool.resourceName),flixel_system_debug_interaction_tools_GraphicTransformTool.resourceType).then(function(image) { _gthis.__fromImage(image); return lime_app_Future.withValue(_gthis); }).onComplete(function(b) { if(flixel_system_debug_interaction_tools_GraphicTransformTool.preload == null) { flixel_system_debug_interaction_tools_GraphicTransformTool.preload = b.image; } if(onload != null) { onload(b); } }); } }; $hxClasses["flixel.system.debug.interaction.tools.GraphicTransformTool"] = flixel_system_debug_interaction_tools_GraphicTransformTool; flixel_system_debug_interaction_tools_GraphicTransformTool.__name__ = ["flixel","system","debug","interaction","tools","GraphicTransformTool"]; flixel_system_debug_interaction_tools_GraphicTransformTool.preload = null; flixel_system_debug_interaction_tools_GraphicTransformTool.__super__ = openfl_display_BitmapData; flixel_system_debug_interaction_tools_GraphicTransformTool.prototype = $extend(openfl_display_BitmapData.prototype,{ __class__: flixel_system_debug_interaction_tools_GraphicTransformTool }); var flixel_system_debug_interaction_tools_GraphicTransformCursorDefault = function(width,height,transparent,fillRGBA,onload) { if(fillRGBA == null) { fillRGBA = -1; } if(transparent == null) { transparent = true; } openfl_display_BitmapData.call(this,0,0,transparent,fillRGBA); if(flixel_system_debug_interaction_tools_GraphicTransformCursorDefault.preload != null) { this.__fromImage(flixel_system_debug_interaction_tools_GraphicTransformCursorDefault.preload); } else { var _gthis = this; lime_graphics_Image.loadFromBase64(haxe_Resource.getString(flixel_system_debug_interaction_tools_GraphicTransformCursorDefault.resourceName),flixel_system_debug_interaction_tools_GraphicTransformCursorDefault.resourceType).then(function(image) { _gthis.__fromImage(image); return lime_app_Future.withValue(_gthis); }).onComplete(function(b) { if(flixel_system_debug_interaction_tools_GraphicTransformCursorDefault.preload == null) { flixel_system_debug_interaction_tools_GraphicTransformCursorDefault.preload = b.image; } if(onload != null) { onload(b); } }); } }; $hxClasses["flixel.system.debug.interaction.tools.GraphicTransformCursorDefault"] = flixel_system_debug_interaction_tools_GraphicTransformCursorDefault; flixel_system_debug_interaction_tools_GraphicTransformCursorDefault.__name__ = ["flixel","system","debug","interaction","tools","GraphicTransformCursorDefault"]; flixel_system_debug_interaction_tools_GraphicTransformCursorDefault.preload = null; flixel_system_debug_interaction_tools_GraphicTransformCursorDefault.__super__ = openfl_display_BitmapData; flixel_system_debug_interaction_tools_GraphicTransformCursorDefault.prototype = $extend(openfl_display_BitmapData.prototype,{ __class__: flixel_system_debug_interaction_tools_GraphicTransformCursorDefault }); var flixel_system_debug_interaction_tools_GraphicTransformCursorScaleY = function(width,height,transparent,fillRGBA,onload) { if(fillRGBA == null) { fillRGBA = -1; } if(transparent == null) { transparent = true; } openfl_display_BitmapData.call(this,0,0,transparent,fillRGBA); if(flixel_system_debug_interaction_tools_GraphicTransformCursorScaleY.preload != null) { this.__fromImage(flixel_system_debug_interaction_tools_GraphicTransformCursorScaleY.preload); } else { var _gthis = this; lime_graphics_Image.loadFromBase64(haxe_Resource.getString(flixel_system_debug_interaction_tools_GraphicTransformCursorScaleY.resourceName),flixel_system_debug_interaction_tools_GraphicTransformCursorScaleY.resourceType).then(function(image) { _gthis.__fromImage(image); return lime_app_Future.withValue(_gthis); }).onComplete(function(b) { if(flixel_system_debug_interaction_tools_GraphicTransformCursorScaleY.preload == null) { flixel_system_debug_interaction_tools_GraphicTransformCursorScaleY.preload = b.image; } if(onload != null) { onload(b); } }); } }; $hxClasses["flixel.system.debug.interaction.tools.GraphicTransformCursorScaleY"] = flixel_system_debug_interaction_tools_GraphicTransformCursorScaleY; flixel_system_debug_interaction_tools_GraphicTransformCursorScaleY.__name__ = ["flixel","system","debug","interaction","tools","GraphicTransformCursorScaleY"]; flixel_system_debug_interaction_tools_GraphicTransformCursorScaleY.preload = null; flixel_system_debug_interaction_tools_GraphicTransformCursorScaleY.__super__ = openfl_display_BitmapData; flixel_system_debug_interaction_tools_GraphicTransformCursorScaleY.prototype = $extend(openfl_display_BitmapData.prototype,{ __class__: flixel_system_debug_interaction_tools_GraphicTransformCursorScaleY }); var flixel_system_debug_interaction_tools_GraphicTransformCursorScaleX = function(width,height,transparent,fillRGBA,onload) { if(fillRGBA == null) { fillRGBA = -1; } if(transparent == null) { transparent = true; } openfl_display_BitmapData.call(this,0,0,transparent,fillRGBA); if(flixel_system_debug_interaction_tools_GraphicTransformCursorScaleX.preload != null) { this.__fromImage(flixel_system_debug_interaction_tools_GraphicTransformCursorScaleX.preload); } else { var _gthis = this; lime_graphics_Image.loadFromBase64(haxe_Resource.getString(flixel_system_debug_interaction_tools_GraphicTransformCursorScaleX.resourceName),flixel_system_debug_interaction_tools_GraphicTransformCursorScaleX.resourceType).then(function(image) { _gthis.__fromImage(image); return lime_app_Future.withValue(_gthis); }).onComplete(function(b) { if(flixel_system_debug_interaction_tools_GraphicTransformCursorScaleX.preload == null) { flixel_system_debug_interaction_tools_GraphicTransformCursorScaleX.preload = b.image; } if(onload != null) { onload(b); } }); } }; $hxClasses["flixel.system.debug.interaction.tools.GraphicTransformCursorScaleX"] = flixel_system_debug_interaction_tools_GraphicTransformCursorScaleX; flixel_system_debug_interaction_tools_GraphicTransformCursorScaleX.__name__ = ["flixel","system","debug","interaction","tools","GraphicTransformCursorScaleX"]; flixel_system_debug_interaction_tools_GraphicTransformCursorScaleX.preload = null; flixel_system_debug_interaction_tools_GraphicTransformCursorScaleX.__super__ = openfl_display_BitmapData; flixel_system_debug_interaction_tools_GraphicTransformCursorScaleX.prototype = $extend(openfl_display_BitmapData.prototype,{ __class__: flixel_system_debug_interaction_tools_GraphicTransformCursorScaleX }); var flixel_system_debug_interaction_tools_GraphicTransformCursorScaleXY = function(width,height,transparent,fillRGBA,onload) { if(fillRGBA == null) { fillRGBA = -1; } if(transparent == null) { transparent = true; } openfl_display_BitmapData.call(this,0,0,transparent,fillRGBA); if(flixel_system_debug_interaction_tools_GraphicTransformCursorScaleXY.preload != null) { this.__fromImage(flixel_system_debug_interaction_tools_GraphicTransformCursorScaleXY.preload); } else { var _gthis = this; lime_graphics_Image.loadFromBase64(haxe_Resource.getString(flixel_system_debug_interaction_tools_GraphicTransformCursorScaleXY.resourceName),flixel_system_debug_interaction_tools_GraphicTransformCursorScaleXY.resourceType).then(function(image) { _gthis.__fromImage(image); return lime_app_Future.withValue(_gthis); }).onComplete(function(b) { if(flixel_system_debug_interaction_tools_GraphicTransformCursorScaleXY.preload == null) { flixel_system_debug_interaction_tools_GraphicTransformCursorScaleXY.preload = b.image; } if(onload != null) { onload(b); } }); } }; $hxClasses["flixel.system.debug.interaction.tools.GraphicTransformCursorScaleXY"] = flixel_system_debug_interaction_tools_GraphicTransformCursorScaleXY; flixel_system_debug_interaction_tools_GraphicTransformCursorScaleXY.__name__ = ["flixel","system","debug","interaction","tools","GraphicTransformCursorScaleXY"]; flixel_system_debug_interaction_tools_GraphicTransformCursorScaleXY.preload = null; flixel_system_debug_interaction_tools_GraphicTransformCursorScaleXY.__super__ = openfl_display_BitmapData; flixel_system_debug_interaction_tools_GraphicTransformCursorScaleXY.prototype = $extend(openfl_display_BitmapData.prototype,{ __class__: flixel_system_debug_interaction_tools_GraphicTransformCursorScaleXY }); var flixel_system_debug_interaction_tools_GraphicTransformCursorRotate = function(width,height,transparent,fillRGBA,onload) { if(fillRGBA == null) { fillRGBA = -1; } if(transparent == null) { transparent = true; } openfl_display_BitmapData.call(this,0,0,transparent,fillRGBA); if(flixel_system_debug_interaction_tools_GraphicTransformCursorRotate.preload != null) { this.__fromImage(flixel_system_debug_interaction_tools_GraphicTransformCursorRotate.preload); } else { var _gthis = this; lime_graphics_Image.loadFromBase64(haxe_Resource.getString(flixel_system_debug_interaction_tools_GraphicTransformCursorRotate.resourceName),flixel_system_debug_interaction_tools_GraphicTransformCursorRotate.resourceType).then(function(image) { _gthis.__fromImage(image); return lime_app_Future.withValue(_gthis); }).onComplete(function(b) { if(flixel_system_debug_interaction_tools_GraphicTransformCursorRotate.preload == null) { flixel_system_debug_interaction_tools_GraphicTransformCursorRotate.preload = b.image; } if(onload != null) { onload(b); } }); } }; $hxClasses["flixel.system.debug.interaction.tools.GraphicTransformCursorRotate"] = flixel_system_debug_interaction_tools_GraphicTransformCursorRotate; flixel_system_debug_interaction_tools_GraphicTransformCursorRotate.__name__ = ["flixel","system","debug","interaction","tools","GraphicTransformCursorRotate"]; flixel_system_debug_interaction_tools_GraphicTransformCursorRotate.preload = null; flixel_system_debug_interaction_tools_GraphicTransformCursorRotate.__super__ = openfl_display_BitmapData; flixel_system_debug_interaction_tools_GraphicTransformCursorRotate.prototype = $extend(openfl_display_BitmapData.prototype,{ __class__: flixel_system_debug_interaction_tools_GraphicTransformCursorRotate }); var flixel_system_debug_interaction_tools_Transform = function() { this._mouseCursor = new flixel_math_FlxPoint(); this._targetArea = new flixel_math_FlxRect(); this._markers = []; this._actionScaleDirection = new flixel_math_FlxPoint(); this._actionStartPoint = new flixel_math_FlxPoint(); this._actionTargetStartScale = new flixel_math_FlxPoint(); flixel_system_debug_interaction_tools_Tool.call(this); }; $hxClasses["flixel.system.debug.interaction.tools.Transform"] = flixel_system_debug_interaction_tools_Transform; flixel_system_debug_interaction_tools_Transform.__name__ = ["flixel","system","debug","interaction","tools","Transform"]; flixel_system_debug_interaction_tools_Transform.__super__ = flixel_system_debug_interaction_tools_Tool; flixel_system_debug_interaction_tools_Transform.prototype = $extend(flixel_system_debug_interaction_tools_Tool.prototype,{ _actionTargetStartScale: null ,_actionTargetStartAngle: null ,_actionStartPoint: null ,_actionHappening: null ,_actionMarker: null ,_actionScaleDirection: null ,_tooltip: null ,_markers: null ,_target: null ,_targetArea: null ,_mouseCursor: null ,init: function(brain) { flixel_system_debug_interaction_tools_Tool.prototype.init.call(this,brain); this._name = "Transform"; this.setButton(flixel_system_debug_interaction_tools_GraphicTransformTool); this.setCursor(new flixel_system_debug_interaction_tools_GraphicTransformCursorDefault(0,0)); brain.registerCustomCursor("transformRotate",new flixel_system_debug_interaction_tools_GraphicTransformCursorRotate(0,0)); brain.registerCustomCursor("transformScaleX",new flixel_system_debug_interaction_tools_GraphicTransformCursorScaleX(0,0)); brain.registerCustomCursor("transformScaleY",new flixel_system_debug_interaction_tools_GraphicTransformCursorScaleY(0,0)); brain.registerCustomCursor("transformScaleXY",new flixel_system_debug_interaction_tools_GraphicTransformCursorScaleXY(0,0)); this._tooltip = flixel_system_debug_Tooltip.add(null,""); this._tooltip.textField.set_wordWrap(false); var _g = 0; while(_g < 4) { var i = _g++; this._markers.push(new flixel_math_FlxPoint()); } this.stopAction(); return this; } ,updateTargetArea: function() { if(this._target == null) { var _this = this._targetArea; _this.x = 0; _this.y = 0; var _this1 = this._targetArea; _this1.width = 0; _this1.height = 0; } else { var _this2 = this._targetArea; _this2.x = this._target.x - flixel_FlxG.camera.scroll.x; _this2.y = this._target.y - flixel_FlxG.camera.scroll.y; var _this3 = this._targetArea; var Width = this._target.get_width(); var Height = this._target.get_height(); _this3.width = Width; _this3.height = Height; } } ,startAction: function(whichMarker) { if(this._actionHappening) { return; } this._actionHappening = true; this._actionMarker = whichMarker; this._actionStartPoint.set(this._brain.flixelPointer.x - flixel_FlxG.camera.scroll.x,this._brain.flixelPointer.y - flixel_FlxG.camera.scroll.y); this._actionTargetStartAngle = flixel_math_FlxAngle.angleBetweenPoint(this._target,this._markers[0],true); this._actionTargetStartScale.set(this._target.scale.x,this._target.scale.y); } ,stopAction: function() { this._actionHappening = false; this._actionMarker = -1; this._tooltip.setVisible(false); } ,getCursorNameByMarker: function(marker) { switch(marker) { case 0: return "transformRotate"; case 1: return "transformScaleX"; case 2: return "transformScaleXY"; case 3: return "transformScaleY"; default: return ""; } } ,handleInteractionsWithMarkersUI: function() { if(this._actionHappening) { return; } var cursorName = ""; var _g1 = 0; var _g = this._markers.length; while(_g1 < _g) { var i = _g1++; if(this._mouseCursor.distanceTo(this._markers[i]) <= 5.0) { cursorName = this.getCursorNameByMarker(i); if(this._brain.pointerJustPressed) { this.startAction(i); break; } } } if(cursorName != "") { this.setCursorInUse(cursorName); } else { this.useDefaultCursor(); } } ,formatFloat: function(number) { var value = flixel_math_FlxMath.roundDecimal(number,flixel_FlxG["debugger"].precision); if(value == null) { return "null"; } else { return "" + value; } } ,showTooltip: function(text) { if(!this._tooltip.get_visible()) { this._tooltip.setVisible(true); } this._tooltip.set_x(this._target.x - flixel_FlxG.camera.scroll.x); this._tooltip.set_y(this._target.y - flixel_FlxG.camera.scroll.y); this._tooltip.setText(text); } ,updateScaleActionDirection: function() { var deltaX = this._mouseCursor.x - this._actionStartPoint.x; var deltaY = this._mouseCursor.y - this._actionStartPoint.y; this._actionScaleDirection.set_x(deltaX >= 0 ? 1 : -1); this._actionScaleDirection.set_y(deltaY >= 0 ? 1 : -1); } ,updateScaleAction: function() { this.updateScaleActionDirection(); var deltaX = this._actionScaleDirection.x * Math.abs(this._mouseCursor.x - this._actionStartPoint.x) / 10.0; var deltaY = this._actionScaleDirection.y * Math.abs(this._mouseCursor.y - this._actionStartPoint.y) / 10.0; if(this._actionMarker == 1 || this._actionMarker == 2) { this._target.scale.set_x(this._actionTargetStartScale.x + deltaX); } if(this._actionMarker == 2 || this._actionMarker == 3) { this._target.scale.set_y(this._actionTargetStartScale.y + deltaY); } this._target.updateHitbox(); var _this = this._target; _this.origin.set(_this.frameWidth * 0.5,_this.frameHeight * 0.5); this.showTooltip("w: " + this.formatFloat(this._target.get_width()) + "\nh: " + this.formatFloat(this._target.get_height())); } ,updateRotateAction: function() { this._target.set_angle(flixel_math_FlxAngle.angleBetweenPoint(this._target,this._brain.flixelPointer,true) - this._actionTargetStartAngle); this.showTooltip("deg: " + this.formatFloat(this._target.angle) + "\nrad: " + this.formatFloat(this._target.angle * (Math.PI / 180))); } ,updateAction: function() { if(!this._actionHappening || this._actionMarker < 0) { return; } if(this._actionMarker == 0) { this.updateRotateAction(); } else { this.updateScaleAction(); } } ,updateMarkersPosition: function() { var topLeftX = this._targetArea.x - 5.0; var topLeftY = this._targetArea.y - 5.0; var width = this._targetArea.width + 10.; var height = this._targetArea.height + 10.; this._markers[0].set(topLeftX,topLeftY); this._markers[1].set(topLeftX + width,topLeftY); this._markers[2].set(topLeftX + width,topLeftY + height); this._markers[3].set(topLeftX,topLeftY + height); if(this._target.angle != 0) { this.updateMarkersRotation(width,height); } } ,updateMarkersRotation: function(outlineWidth,outlineHeight) { var rotationAngleRad = this._target.angle * (Math.PI / 180); var originX = this._markers[0].x + outlineWidth / 2; var originY = this._markers[0].y + outlineHeight / 2; var n = rotationAngleRad + 1.570796327; n *= 0.3183098862; if(n > 1) { n -= Math.ceil(n) >> 1 << 1; } else if(n < -1) { n += Math.ceil(-n) >> 1 << 1; } var cos = n > 0 ? n * (3.1 + n * (0.5 + n * (-7.2 + n * 3.6))) : n * (3.1 - n * (0.5 + n * (7.2 + n * 3.6))); var n1 = rotationAngleRad; n1 *= 0.3183098862; if(n1 > 1) { n1 -= Math.ceil(n1) >> 1 << 1; } else if(n1 < -1) { n1 += Math.ceil(-n1) >> 1 << 1; } var sin = n1 > 0 ? n1 * (3.1 + n1 * (0.5 + n1 * (-7.2 + n1 * 3.6))) : n1 * (3.1 - n1 * (0.5 + n1 * (7.2 + n1 * 3.6))); var _g = 0; var _g1 = this._markers; while(_g < _g1.length) { var marker = _g1[_g]; ++_g; var rotatedX = (marker.x - originX) * cos - (marker.y - originY) * sin; var rotatedY = (marker.x - originX) * sin + (marker.y - originY) * cos; marker.set(rotatedX + originX,rotatedY + originY); } } ,update: function() { if(!this.isActive() || this._target == null) { return; } this._mouseCursor.set_x(this._brain.flixelPointer.x - flixel_FlxG.camera.scroll.x); this._mouseCursor.set_y(this._brain.flixelPointer.y - flixel_FlxG.camera.scroll.y); this.updateTargetArea(); this.updateMarkersPosition(); this.handleInteractionsWithMarkersUI(); if(this._actionHappening) { this.updateAction(); if(this._brain.pointerJustReleased) { this.stopAction(); } } } ,drawTargetAreaOutline: function(gfx) { gfx.lineStyle(0.9,-65281,1.0,false,2,2); gfx.moveTo(this._markers[0].x,this._markers[0].y); var _g1 = 0; var _g = this._markers.length; while(_g1 < _g) { var i = _g1++; gfx.lineTo(this._markers[i].x,this._markers[i].y); } gfx.lineTo(this._markers[0].x,this._markers[0].y); } ,drawMarkers: function(gfx) { gfx.lineStyle(0.9,-65281,1.0,false,2,2); gfx.beginFill(-65281); var _g1 = 0; var _g = this._markers.length; while(_g1 < _g) { var i = _g1++; if(i == 0) { gfx.drawCircle(this._markers[i].x,this._markers[i].y,2.7); } else { gfx.drawRect(this._markers[i].x - 1.5,this._markers[i].y - 1.5,3.0,3.0); } } gfx.endFill(); } ,draw: function() { var gfx = this._brain.getDebugGraphics(); if(gfx == null || this._target == null || !this.isActive()) { return; } this.drawTargetAreaOutline(gfx); this.drawMarkers(gfx); if(flixel_FlxG.renderBlit) { flixel_FlxG.camera.buffer.draw(flixel_util_FlxSpriteUtil.flashGfxSprite); } } ,activate: function() { this._target = null; if(this._brain.selectedItems.length == 0) { return; } var member = new flixel_group_FlxTypedGroupIterator(this._brain.selectedItems.members,null); while(member.hasNext()) { var member1 = member.next(); if(member1 != null && member1.scrollFactor != null && member1.isOnScreen()) { this._target = member1; break; } } this._brain.shouldDrawItemsSelection = false; } ,deactivate: function() { this._brain.shouldDrawItemsSelection = true; } ,__class__: flixel_system_debug_interaction_tools_Transform }); var flixel_system_debug_log_LogStyle = function(Prefix,Color,Size,Bold,Italic,Underlined,ErrorSound,OpenConsole,CallbackFunction) { if(OpenConsole == null) { OpenConsole = false; } if(Underlined == null) { Underlined = false; } if(Italic == null) { Italic = false; } if(Bold == null) { Bold = false; } if(Size == null) { Size = 12; } if(Color == null) { Color = "FFFFFF"; } if(Prefix == null) { Prefix = ""; } this.prefix = Prefix; this.color = Color; this.size = Size; this.bold = Bold; this.italic = Italic; this.underlined = Underlined; this.errorSound = ErrorSound; this.openConsole = OpenConsole; this.callbackFunction = CallbackFunction; }; $hxClasses["flixel.system.debug.log.LogStyle"] = flixel_system_debug_log_LogStyle; flixel_system_debug_log_LogStyle.__name__ = ["flixel","system","debug","log","LogStyle"]; flixel_system_debug_log_LogStyle.prototype = { prefix: null ,color: null ,size: null ,bold: null ,italic: null ,underlined: null ,errorSound: null ,openConsole: null ,callbackFunction: null ,__class__: flixel_system_debug_log_LogStyle }; var flixel_system_debug_stats__$Stats_GraphicMinimizeButton = function(width,height,transparent,fillRGBA,onload) { if(fillRGBA == null) { fillRGBA = -1; } if(transparent == null) { transparent = true; } openfl_display_BitmapData.call(this,0,0,transparent,fillRGBA); if(flixel_system_debug_stats__$Stats_GraphicMinimizeButton.preload != null) { this.__fromImage(flixel_system_debug_stats__$Stats_GraphicMinimizeButton.preload); } else { var _gthis = this; lime_graphics_Image.loadFromBase64(haxe_Resource.getString(flixel_system_debug_stats__$Stats_GraphicMinimizeButton.resourceName),flixel_system_debug_stats__$Stats_GraphicMinimizeButton.resourceType).then(function(image) { _gthis.__fromImage(image); return lime_app_Future.withValue(_gthis); }).onComplete(function(b) { if(flixel_system_debug_stats__$Stats_GraphicMinimizeButton.preload == null) { flixel_system_debug_stats__$Stats_GraphicMinimizeButton.preload = b.image; } if(onload != null) { onload(b); } }); } }; $hxClasses["flixel.system.debug.stats._Stats.GraphicMinimizeButton"] = flixel_system_debug_stats__$Stats_GraphicMinimizeButton; flixel_system_debug_stats__$Stats_GraphicMinimizeButton.__name__ = ["flixel","system","debug","stats","_Stats","GraphicMinimizeButton"]; flixel_system_debug_stats__$Stats_GraphicMinimizeButton.preload = null; flixel_system_debug_stats__$Stats_GraphicMinimizeButton.__super__ = openfl_display_BitmapData; flixel_system_debug_stats__$Stats_GraphicMinimizeButton.prototype = $extend(openfl_display_BitmapData.prototype,{ __class__: flixel_system_debug_stats__$Stats_GraphicMinimizeButton }); var flixel_system_debug_stats__$Stats_GraphicMaximizeButton = function(width,height,transparent,fillRGBA,onload) { if(fillRGBA == null) { fillRGBA = -1; } if(transparent == null) { transparent = true; } openfl_display_BitmapData.call(this,0,0,transparent,fillRGBA); if(flixel_system_debug_stats__$Stats_GraphicMaximizeButton.preload != null) { this.__fromImage(flixel_system_debug_stats__$Stats_GraphicMaximizeButton.preload); } else { var _gthis = this; lime_graphics_Image.loadFromBase64(haxe_Resource.getString(flixel_system_debug_stats__$Stats_GraphicMaximizeButton.resourceName),flixel_system_debug_stats__$Stats_GraphicMaximizeButton.resourceType).then(function(image) { _gthis.__fromImage(image); return lime_app_Future.withValue(_gthis); }).onComplete(function(b) { if(flixel_system_debug_stats__$Stats_GraphicMaximizeButton.preload == null) { flixel_system_debug_stats__$Stats_GraphicMaximizeButton.preload = b.image; } if(onload != null) { onload(b); } }); } }; $hxClasses["flixel.system.debug.stats._Stats.GraphicMaximizeButton"] = flixel_system_debug_stats__$Stats_GraphicMaximizeButton; flixel_system_debug_stats__$Stats_GraphicMaximizeButton.__name__ = ["flixel","system","debug","stats","_Stats","GraphicMaximizeButton"]; flixel_system_debug_stats__$Stats_GraphicMaximizeButton.preload = null; flixel_system_debug_stats__$Stats_GraphicMaximizeButton.__super__ = openfl_display_BitmapData; flixel_system_debug_stats__$Stats_GraphicMaximizeButton.prototype = $extend(openfl_display_BitmapData.prototype,{ __class__: flixel_system_debug_stats__$Stats_GraphicMaximizeButton }); var flixel_system_debug_watch_Watch = function(Title,Icon,Width,Height,Resizable,Bounds,Closable,AlwaysOnTop) { flixel_system_debug_Window.call(this,Title,Icon,Width,Height,Resizable,Bounds,Closable,AlwaysOnTop); }; $hxClasses["flixel.system.debug.watch.Watch"] = flixel_system_debug_watch_Watch; flixel_system_debug_watch_Watch.__name__ = ["flixel","system","debug","watch","Watch"]; flixel_system_debug_watch_Watch.__super__ = flixel_system_debug_Window; flixel_system_debug_watch_Watch.prototype = $extend(flixel_system_debug_Window.prototype,{ __class__: flixel_system_debug_watch_Watch }); var flixel_system_debug_watch_Tracker = function(Title,Icon,Width,Height,Resizable,Bounds,Closable,AlwaysOnTop) { flixel_system_debug_watch_Watch.call(this,Title,Icon,Width,Height,Resizable,Bounds,Closable,AlwaysOnTop); }; $hxClasses["flixel.system.debug.watch.Tracker"] = flixel_system_debug_watch_Tracker; flixel_system_debug_watch_Tracker.__name__ = ["flixel","system","debug","watch","Tracker"]; flixel_system_debug_watch_Tracker.__super__ = flixel_system_debug_watch_Watch; flixel_system_debug_watch_Tracker.prototype = $extend(flixel_system_debug_watch_Watch.prototype,{ __class__: flixel_system_debug_watch_Tracker }); var flixel_system_debug_watch_TrackerProfile = function(ObjectClass,Variables,Extensions) { this.objectClass = ObjectClass; this.variables = Variables; this.extensions = Extensions; }; $hxClasses["flixel.system.debug.watch.TrackerProfile"] = flixel_system_debug_watch_TrackerProfile; flixel_system_debug_watch_TrackerProfile.__name__ = ["flixel","system","debug","watch","TrackerProfile"]; flixel_system_debug_watch_TrackerProfile.prototype = { objectClass: null ,variables: null ,extensions: null ,toString: function() { var value = this.variables; var _this = flixel_util_LabelValuePair._pool.get(); _this.label = "variables"; _this.value = value; var value1 = this.extensions; var _this1 = flixel_util_LabelValuePair._pool.get(); _this1.label = "extensions"; _this1.value = value1; return flixel_util_FlxStringUtil.getDebugString([_this,_this1]); } ,__class__: flixel_system_debug_watch_TrackerProfile }; var flixel_system_frontEnds_FlxBrowser = $hxClasses["flixel.system.frontEnds.FlxBrowser"] = { __ename__ : ["flixel","system","frontEnds","FlxBrowser"], __constructs__ : ["INTERNET_EXPLORER","CHROME","FIREFOX","SAFARI","OPERA","UNKNOWN"] }; flixel_system_frontEnds_FlxBrowser.INTERNET_EXPLORER = ["INTERNET_EXPLORER",0]; flixel_system_frontEnds_FlxBrowser.INTERNET_EXPLORER.toString = $estr; flixel_system_frontEnds_FlxBrowser.INTERNET_EXPLORER.__enum__ = flixel_system_frontEnds_FlxBrowser; flixel_system_frontEnds_FlxBrowser.CHROME = ["CHROME",1]; flixel_system_frontEnds_FlxBrowser.CHROME.toString = $estr; flixel_system_frontEnds_FlxBrowser.CHROME.__enum__ = flixel_system_frontEnds_FlxBrowser; flixel_system_frontEnds_FlxBrowser.FIREFOX = ["FIREFOX",2]; flixel_system_frontEnds_FlxBrowser.FIREFOX.toString = $estr; flixel_system_frontEnds_FlxBrowser.FIREFOX.__enum__ = flixel_system_frontEnds_FlxBrowser; flixel_system_frontEnds_FlxBrowser.SAFARI = ["SAFARI",3]; flixel_system_frontEnds_FlxBrowser.SAFARI.toString = $estr; flixel_system_frontEnds_FlxBrowser.SAFARI.__enum__ = flixel_system_frontEnds_FlxBrowser; flixel_system_frontEnds_FlxBrowser.OPERA = ["OPERA",4]; flixel_system_frontEnds_FlxBrowser.OPERA.toString = $estr; flixel_system_frontEnds_FlxBrowser.OPERA.__enum__ = flixel_system_frontEnds_FlxBrowser; flixel_system_frontEnds_FlxBrowser.UNKNOWN = ["UNKNOWN",5]; flixel_system_frontEnds_FlxBrowser.UNKNOWN.toString = $estr; flixel_system_frontEnds_FlxBrowser.UNKNOWN.__enum__ = flixel_system_frontEnds_FlxBrowser; var flixel_system_frontEnds_FlxPlatform = $hxClasses["flixel.system.frontEnds.FlxPlatform"] = { __ename__ : ["flixel","system","frontEnds","FlxPlatform"], __constructs__ : ["WINDOWS","LINUX","MAC","ANDROID","BLACKBERRY","WINDOWS_PHONE","IOS","UNKNOWN"] }; flixel_system_frontEnds_FlxPlatform.WINDOWS = ["WINDOWS",0]; flixel_system_frontEnds_FlxPlatform.WINDOWS.toString = $estr; flixel_system_frontEnds_FlxPlatform.WINDOWS.__enum__ = flixel_system_frontEnds_FlxPlatform; flixel_system_frontEnds_FlxPlatform.LINUX = ["LINUX",1]; flixel_system_frontEnds_FlxPlatform.LINUX.toString = $estr; flixel_system_frontEnds_FlxPlatform.LINUX.__enum__ = flixel_system_frontEnds_FlxPlatform; flixel_system_frontEnds_FlxPlatform.MAC = ["MAC",2]; flixel_system_frontEnds_FlxPlatform.MAC.toString = $estr; flixel_system_frontEnds_FlxPlatform.MAC.__enum__ = flixel_system_frontEnds_FlxPlatform; flixel_system_frontEnds_FlxPlatform.ANDROID = ["ANDROID",3]; flixel_system_frontEnds_FlxPlatform.ANDROID.toString = $estr; flixel_system_frontEnds_FlxPlatform.ANDROID.__enum__ = flixel_system_frontEnds_FlxPlatform; flixel_system_frontEnds_FlxPlatform.BLACKBERRY = ["BLACKBERRY",4]; flixel_system_frontEnds_FlxPlatform.BLACKBERRY.toString = $estr; flixel_system_frontEnds_FlxPlatform.BLACKBERRY.__enum__ = flixel_system_frontEnds_FlxPlatform; flixel_system_frontEnds_FlxPlatform.WINDOWS_PHONE = ["WINDOWS_PHONE",5]; flixel_system_frontEnds_FlxPlatform.WINDOWS_PHONE.toString = $estr; flixel_system_frontEnds_FlxPlatform.WINDOWS_PHONE.__enum__ = flixel_system_frontEnds_FlxPlatform; flixel_system_frontEnds_FlxPlatform.IOS = function(device) { var $x = ["IOS",6,device]; $x.__enum__ = flixel_system_frontEnds_FlxPlatform; $x.toString = $estr; return $x; }; flixel_system_frontEnds_FlxPlatform.UNKNOWN = ["UNKNOWN",7]; flixel_system_frontEnds_FlxPlatform.UNKNOWN.toString = $estr; flixel_system_frontEnds_FlxPlatform.UNKNOWN.__enum__ = flixel_system_frontEnds_FlxPlatform; var flixel_system_frontEnds_FlxIOSDevice = $hxClasses["flixel.system.frontEnds.FlxIOSDevice"] = { __ename__ : ["flixel","system","frontEnds","FlxIOSDevice"], __constructs__ : ["IPHONE","IPAD","IPOD"] }; flixel_system_frontEnds_FlxIOSDevice.IPHONE = ["IPHONE",0]; flixel_system_frontEnds_FlxIOSDevice.IPHONE.toString = $estr; flixel_system_frontEnds_FlxIOSDevice.IPHONE.__enum__ = flixel_system_frontEnds_FlxIOSDevice; flixel_system_frontEnds_FlxIOSDevice.IPAD = ["IPAD",1]; flixel_system_frontEnds_FlxIOSDevice.IPAD.toString = $estr; flixel_system_frontEnds_FlxIOSDevice.IPAD.__enum__ = flixel_system_frontEnds_FlxIOSDevice; flixel_system_frontEnds_FlxIOSDevice.IPOD = ["IPOD",2]; flixel_system_frontEnds_FlxIOSDevice.IPOD.toString = $estr; flixel_system_frontEnds_FlxIOSDevice.IPOD.__enum__ = flixel_system_frontEnds_FlxIOSDevice; var flixel_system_frontEnds_PluginFrontEnd = function() { this.list = []; this.add_flixel_util_FlxTimerManager(flixel_util_FlxTimer.globalManager = new flixel_util_FlxTimerManager()); this.add_flixel_tweens_FlxTweenManager(flixel_tweens_FlxTween.globalManager = new flixel_tweens_FlxTweenManager()); }; $hxClasses["flixel.system.frontEnds.PluginFrontEnd"] = flixel_system_frontEnds_PluginFrontEnd; flixel_system_frontEnds_PluginFrontEnd.__name__ = ["flixel","system","frontEnds","PluginFrontEnd"]; flixel_system_frontEnds_PluginFrontEnd.prototype = { add_flixel_tweens_FlxTweenManager: function(Plugin) { var _g = 0; var _g1 = this.list; while(_g < _g1.length) { var plugin = _g1[_g]; ++_g; if(flixel_util_FlxStringUtil.getClassName(Plugin,true) == flixel_util_FlxStringUtil.getClassName(plugin,true)) { return Plugin; } } this.list.push(Plugin); return Plugin; } ,add_flixel_util_FlxTimerManager: function(Plugin) { var _g = 0; var _g1 = this.list; while(_g < _g1.length) { var plugin = _g1[_g]; ++_g; if(flixel_util_FlxStringUtil.getClassName(Plugin,true) == flixel_util_FlxStringUtil.getClassName(plugin,true)) { return Plugin; } } this.list.push(Plugin); return Plugin; } ,list: null ,get: function(ClassType) { var _g = 0; var _g1 = this.list; while(_g < _g1.length) { var plugin = _g1[_g]; ++_g; if(js_Boot.__instanceof(plugin,ClassType)) { return plugin; } } return null; } ,remove: function(Plugin) { var i = this.list.length - 1; while(i >= 0) { if(this.list[i] == Plugin) { this.list.splice(i,1); return Plugin; } --i; } return Plugin; } ,removeType: function(ClassType) { var results = false; var i = this.list.length - 1; while(i >= 0) { if(js_Boot.__instanceof(this.list[i],ClassType)) { this.list.splice(i,1); results = true; } --i; } return results; } ,update: function(elapsed) { var _g = 0; var _g1 = this.list; while(_g < _g1.length) { var plugin = _g1[_g]; ++_g; if(plugin.exists && plugin.active) { plugin.update(elapsed); } } } ,draw: function() { var _g = 0; var _g1 = this.list; while(_g < _g1.length) { var plugin = _g1[_g]; ++_g; if(plugin.exists && plugin.visible) { plugin.draw(); } } } ,__class__: flixel_system_frontEnds_PluginFrontEnd }; var flixel_system_frontEnds_SoundFrontEnd = function() { this.volume = 1; this.list = new flixel_group_FlxTypedGroup(); this.defaultSoundGroup = new flixel_system_FlxSoundGroup(); this.defaultMusicGroup = new flixel_system_FlxSoundGroup(); this.soundTrayEnabled = true; this.muteKeys = [48,96]; this.volumeDownKeys = [189,109]; this.volumeUpKeys = [187,107]; this.muted = false; this.loadSavedPrefs(); }; $hxClasses["flixel.system.frontEnds.SoundFrontEnd"] = flixel_system_frontEnds_SoundFrontEnd; flixel_system_frontEnds_SoundFrontEnd.__name__ = ["flixel","system","frontEnds","SoundFrontEnd"]; flixel_system_frontEnds_SoundFrontEnd.prototype = { music: null ,muted: null ,volumeHandler: null ,volumeUpKeys: null ,volumeDownKeys: null ,muteKeys: null ,soundTrayEnabled: null ,defaultMusicGroup: null ,defaultSoundGroup: null ,list: null ,volume: null ,playMusic: function(Music,Volume,Looped,Group) { if(Looped == null) { Looped = true; } if(Volume == null) { Volume = 1; } if(this.music == null) { this.music = new flixel_system_FlxSound(); } else if(this.music.active) { var _this = this.music; _this.cleanup(_this.autoDestroy,true); } this.music.loadEmbedded(Music,Looped); this.music.set_volume(Volume); this.music.persist = true; this.music.set_group(Group == null ? this.defaultMusicGroup : Group); this.music.play(); } ,load: function(EmbeddedSound,Volume,Looped,Group,AutoDestroy,AutoPlay,URL,OnComplete) { if(AutoPlay == null) { AutoPlay = false; } if(AutoDestroy == null) { AutoDestroy = false; } if(Looped == null) { Looped = false; } if(Volume == null) { Volume = 1; } if(EmbeddedSound == null && URL == null) { var _this = flixel_FlxG.log; return null; } var sound = this.list.recycle(flixel_system_FlxSound); if(EmbeddedSound != null) { sound.loadEmbedded(EmbeddedSound,Looped,AutoDestroy,OnComplete); } else { sound.loadStream(URL,Looped,AutoDestroy,OnComplete); } sound.set_volume(Volume); if(AutoPlay) { sound.play(); } sound.set_group(Group == null ? this.defaultSoundGroup : Group); return sound; } ,cache: function(EmbeddedSound) { if(openfl_utils_Assets.exists(EmbeddedSound,"SOUND") || openfl_utils_Assets.exists(EmbeddedSound,"MUSIC")) { return openfl_utils_Assets.getSound(EmbeddedSound,true); } var _this = flixel_FlxG.log; return null; } ,cacheAll: function() { var _g = 0; var _g1 = openfl_utils_Assets.list("SOUND"); while(_g < _g1.length) { var id = _g1[_g]; ++_g; if(openfl_utils_Assets.exists(id,"SOUND") || openfl_utils_Assets.exists(id,"MUSIC")) { openfl_utils_Assets.getSound(id,true); } else { var _this = flixel_FlxG.log; } } } ,play: function(EmbeddedSound,Volume,Looped,Group,AutoDestroy,OnComplete) { if(AutoDestroy == null) { AutoDestroy = true; } if(Looped == null) { Looped = false; } if(Volume == null) { Volume = 1; } if(typeof(EmbeddedSound) == "string") { if(openfl_utils_Assets.exists(EmbeddedSound,"SOUND") || openfl_utils_Assets.exists(EmbeddedSound,"MUSIC")) { EmbeddedSound = openfl_utils_Assets.getSound(EmbeddedSound,true); } else { var _this = flixel_FlxG.log; EmbeddedSound = null; } } var sound = this.list.recycle(flixel_system_FlxSound).loadEmbedded(EmbeddedSound,Looped,AutoDestroy,OnComplete); sound.set_volume(Volume); sound.set_group(Group == null ? this.defaultSoundGroup : Group); return sound.play(); } ,stream: function(URL,Volume,Looped,Group,AutoDestroy,OnComplete) { if(AutoDestroy == null) { AutoDestroy = true; } if(Looped == null) { Looped = false; } if(Volume == null) { Volume = 1; } return this.load(null,Volume,Looped,null,AutoDestroy,true,URL,OnComplete); } ,pause: function() { if(this.music != null && this.music.exists && this.music.active) { this.music.pause(); } var _g = 0; var _g1 = this.list.members; while(_g < _g1.length) { var sound = _g1[_g]; ++_g; if(sound != null && sound.exists && sound.active) { sound.pause(); } } } ,resume: function() { if(this.music != null && this.music.exists) { this.music.resume(); } var _g = 0; var _g1 = this.list.members; while(_g < _g1.length) { var sound = _g1[_g]; ++_g; if(sound != null && sound.exists) { sound.resume(); } } } ,destroy: function(ForceDestroy) { if(ForceDestroy == null) { ForceDestroy = false; } if(this.music != null && (ForceDestroy || !this.music.persist)) { this.destroySound(this.music); this.music = null; } var _g = 0; var _g1 = this.list.members; while(_g < _g1.length) { var sound = _g1[_g]; ++_g; if(sound != null && (ForceDestroy || !sound.persist)) { this.destroySound(sound); } } } ,destroySound: function(sound) { this.defaultMusicGroup.remove(sound); this.defaultSoundGroup.remove(sound); sound.destroy(); } ,toggleMuted: function() { this.muted = !this.muted; if(this.volumeHandler != null) { this.volumeHandler(this.muted ? 0 : this.volume); } this.showSoundTray(); } ,changeVolume: function(Amount) { this.muted = false; var _g = this; _g.set_volume(_g.volume + Amount); this.showSoundTray(); } ,showSoundTray: function() { if(flixel_FlxG.game.soundTray != null && this.soundTrayEnabled) { flixel_FlxG.game.soundTray.show(); } } ,update: function(elapsed) { if(this.music != null && this.music.active) { this.music.update(elapsed); } if(this.list != null && this.list.active) { this.list.update(elapsed); } if(flixel_FlxG.keys.checkKeyArrayState(this.muteKeys,-1)) { this.toggleMuted(); } else if(flixel_FlxG.keys.checkKeyArrayState(this.volumeUpKeys,-1)) { this.changeVolume(0.1); } else if(flixel_FlxG.keys.checkKeyArrayState(this.volumeDownKeys,-1)) { this.changeVolume(-0.1); } } ,onFocusLost: function() { if(this.music != null) { this.music.onFocusLost(); } var _g = 0; var _g1 = this.list.members; while(_g < _g1.length) { var sound = _g1[_g]; ++_g; if(sound != null) { sound.onFocusLost(); } } } ,onFocus: function() { if(this.music != null) { this.music.onFocus(); } var _g = 0; var _g1 = this.list.members; while(_g < _g1.length) { var sound = _g1[_g]; ++_g; if(sound != null) { sound.onFocus(); } } } ,loadSavedPrefs: function() { if(flixel_FlxG.save.data.volume != null) { this.set_volume(flixel_FlxG.save.data.volume); } if(flixel_FlxG.save.data.mute != null) { this.muted = flixel_FlxG.save.data.mute; } } ,set_volume: function(Volume) { var lowerBound = Volume < 0 ? 0 : Volume; if(lowerBound > 1) { Volume = 1; } else { Volume = lowerBound; } if(this.volumeHandler != null) { var param = this.muted ? 0 : Volume; this.volumeHandler(param); } return this.volume = Volume; } ,__class__: flixel_system_frontEnds_SoundFrontEnd ,__properties__: {set_volume:"set_volume"} }; var flixel_system_frontEnds_VCRFrontEnd = function() { this.stepRequested = false; this.paused = false; }; $hxClasses["flixel.system.frontEnds.VCRFrontEnd"] = flixel_system_frontEnds_VCRFrontEnd; flixel_system_frontEnds_VCRFrontEnd.__name__ = ["flixel","system","frontEnds","VCRFrontEnd"]; flixel_system_frontEnds_VCRFrontEnd.prototype = { paused: null ,stepRequested: null ,pause: function() { if(!this.paused) { if(!flixel_FlxG.mouse.useSystemCursor) { openfl_ui_Mouse.show(); } this.paused = true; } } ,resume: function() { if(this.paused) { if(!flixel_FlxG.mouse.useSystemCursor) { openfl_ui_Mouse.hide(); } this.paused = false; } } ,__class__: flixel_system_frontEnds_VCRFrontEnd }; var flixel_system_macros_FlxMacroUtil = function() { }; $hxClasses["flixel.system.macros.FlxMacroUtil"] = flixel_system_macros_FlxMacroUtil; flixel_system_macros_FlxMacroUtil.__name__ = ["flixel","system","macros","FlxMacroUtil"]; var flixel_system_replay_CodeValuePair = function(code,value) { this.code = code; this.value = value; }; $hxClasses["flixel.system.replay.CodeValuePair"] = flixel_system_replay_CodeValuePair; flixel_system_replay_CodeValuePair.__name__ = ["flixel","system","replay","CodeValuePair"]; flixel_system_replay_CodeValuePair.prototype = { code: null ,value: null ,__class__: flixel_system_replay_CodeValuePair }; var flixel_system_replay_MouseRecord = function(x,y,button,wheel) { this.x = x; this.y = y; this.button = button; this.wheel = wheel; }; $hxClasses["flixel.system.replay.MouseRecord"] = flixel_system_replay_MouseRecord; flixel_system_replay_MouseRecord.__name__ = ["flixel","system","replay","MouseRecord"]; flixel_system_replay_MouseRecord.prototype = { x: null ,y: null ,button: null ,wheel: null ,__class__: flixel_system_replay_MouseRecord }; var flixel_system_ui_FlxSoundTray = function() { this._defaultScale = 2.0; this._width = 80; openfl_display_Sprite.call(this); this.set_visible(false); this.set_scaleX(this._defaultScale); this.set_scaleY(this._defaultScale); var tmp = new openfl_display_Bitmap(new openfl_display_BitmapData(this._width,30,true,2130706432)); this.screenCenter(); this.addChild(tmp); var text = new openfl_text_TextField(); text.set_width(tmp.get_width()); text.set_height(tmp.get_height()); text.set_multiline(true); text.set_wordWrap(true); text.set_selectable(false); var dtf = new openfl_text_TextFormat(flixel_system_FlxAssets.FONT_DEFAULT,10,16777215); dtf.align = 0; text.set_defaultTextFormat(dtf); this.addChild(text); text.set_text("VOLUME"); text.set_y(16); var bx = 10; var by = 14; this._bars = []; var _g = 0; while(_g < 10) { var i = _g++; tmp = new openfl_display_Bitmap(new openfl_display_BitmapData(4,i + 1,false,-1)); tmp.set_x(bx); tmp.set_y(by); this.addChild(tmp); this._bars.push(tmp); bx += 6; --by; } this.set_y(-this.get_height()); this.set_visible(false); }; $hxClasses["flixel.system.ui.FlxSoundTray"] = flixel_system_ui_FlxSoundTray; flixel_system_ui_FlxSoundTray.__name__ = ["flixel","system","ui","FlxSoundTray"]; flixel_system_ui_FlxSoundTray.__super__ = openfl_display_Sprite; flixel_system_ui_FlxSoundTray.prototype = $extend(openfl_display_Sprite.prototype,{ active: null ,_timer: null ,_bars: null ,_width: null ,_defaultScale: null ,update: function(MS) { if(this._timer > 0) { this._timer -= MS / 1000; } else if(this.get_y() > -this.get_height()) { var _g = this; _g.set_y(_g.get_y() - MS / 1000 * flixel_FlxG.height * 2); if(this.get_y() <= -this.get_height()) { this.set_visible(false); this.active = false; flixel_FlxG.save.data.mute = flixel_FlxG.sound.muted; flixel_FlxG.save.data.volume = flixel_FlxG.sound.volume; flixel_FlxG.save.flush(); } } } ,show: function(Silent) { if(Silent == null) { Silent = false; } if(!Silent) { var extension = ""; extension = ".ogg"; var sound = openfl_utils_Assets.getSound("flixel/sounds/beep" + extension); if(sound != null) { flixel_FlxG.sound.load(sound).play(); } } this._timer = 1; this.set_y(0); this.set_visible(true); this.active = true; var globalVolume = Math.round(flixel_FlxG.sound.volume * 10); if(flixel_FlxG.sound.muted) { globalVolume = 0; } var _g1 = 0; var _g = this._bars.length; while(_g1 < _g) { var i = _g1++; if(i < globalVolume) { this._bars[i].set_alpha(1); } else { this._bars[i].set_alpha(0.5); } } } ,screenCenter: function() { this.set_scaleX(this._defaultScale); this.set_scaleY(this._defaultScale); this.set_x(0.5 * (openfl_Lib.get_current().stage.stageWidth - this._width * this._defaultScale) - flixel_FlxG.game.get_x()); } ,__class__: flixel_system_ui_FlxSoundTray }); var flixel_system_ui_FlxSystemButton = function(Icon,UpHandler,ToggleMode) { if(ToggleMode == null) { ToggleMode = false; } this._mouseDown = false; this.toggled = false; this.toggleMode = false; this.enabled = true; openfl_display_Sprite.call(this); if(Icon != null) { this.changeIcon(Icon); } this.upHandler = UpHandler; this.toggleMode = ToggleMode; this.addEventListener("mouseUp",$bind(this,this.onMouseUp)); this.addEventListener("mouseDown",$bind(this,this.onMouseDown)); this.addEventListener("mouseOut",$bind(this,this.onMouseOut)); this.addEventListener("mouseOver",$bind(this,this.onMouseOver)); }; $hxClasses["flixel.system.ui.FlxSystemButton"] = flixel_system_ui_FlxSystemButton; flixel_system_ui_FlxSystemButton.__name__ = ["flixel","system","ui","FlxSystemButton"]; flixel_system_ui_FlxSystemButton.__interfaces__ = [flixel_util_IFlxDestroyable]; flixel_system_ui_FlxSystemButton.__super__ = openfl_display_Sprite; flixel_system_ui_FlxSystemButton.prototype = $extend(openfl_display_Sprite.prototype,{ upHandler: null ,enabled: null ,toggleMode: null ,toggled: null ,_icon: null ,_mouseDown: null ,changeIcon: function(Icon) { if(this._icon != null) { this.removeChild(this._icon); } flixel_system_debug_DebuggerUtil.fixSize(Icon); this._icon = new openfl_display_Bitmap(Icon); this.addChild(this._icon); } ,destroy: function() { this.removeEventListener("mouseUp",$bind(this,this.onMouseUp)); this.removeEventListener("mouseDown",$bind(this,this.onMouseDown)); this.removeEventListener("mouseOut",$bind(this,this.onMouseOut)); this.removeEventListener("mouseOver",$bind(this,this.onMouseOver)); this._icon = null; this.upHandler = null; } ,onMouseUp: function(_) { if(this.enabled && this._mouseDown) { this.set_toggled(!this.toggled); this._mouseDown = false; if(this.upHandler != null) { this.upHandler(); } } } ,onMouseDown: function(_) { this._mouseDown = true; } ,onMouseOver: function(_) { if(this.enabled) { var _g = this; _g.set_alpha(_g.get_alpha() - 0.2); } } ,onMouseOut: function(_) { if(this.enabled) { var _g = this; _g.set_alpha(_g.get_alpha() + 0.2); } } ,set_toggled: function(Value) { if(this.toggleMode) { this.set_alpha(Value ? 0.3 : 1); } return this.toggled = Value; } ,__class__: flixel_system_ui_FlxSystemButton ,__properties__: $extend(openfl_display_Sprite.prototype.__properties__,{set_toggled:"set_toggled"}) }); var flixel_text_FlxText = function(X,Y,FieldWidth,Text,Size,EmbeddedFont) { if(EmbeddedFont == null) { EmbeddedFont = true; } if(Size == null) { Size = 8; } if(FieldWidth == null) { FieldWidth = 0; } if(Y == null) { Y = 0; } if(X == null) { X = 0; } this._hasBorderAlpha = false; this._regen = true; this._formatRanges = []; this.borderQuality = 1; this.borderSize = 1; this.borderColor = 0; this.borderStyle = flixel_text_FlxTextBorderStyle.NONE; this.text = ""; flixel_FlxSprite.call(this,X,Y); if(Text == null || Text == "") { this.set_text(""); Text = " "; } else { this.set_text(Text); } this.textField = new openfl_text_TextField(); this.textField.set_selectable(false); this.textField.set_multiline(true); this.textField.set_wordWrap(true); this._defaultFormat = new openfl_text_TextFormat(null,Size,16777215); this.set_font(flixel_system_FlxAssets.FONT_DEFAULT); this._formatAdjusted = new openfl_text_TextFormat(); this.textField.set_defaultTextFormat(this._defaultFormat); this.textField.set_text(Text); this.set_fieldWidth(FieldWidth); this.textField.set_embedFonts(EmbeddedFont); this.textField.set_sharpness(100); this.textField.set_height(Text.length <= 0 ? 1 : 10); this.set_allowCollisions(0); this.set_moves(false); this.drawFrame(); var point = flixel_math_FlxPoint._pool.get().set(1,1); point._inPool = false; this.shadowOffset = point; }; $hxClasses["flixel.text.FlxText"] = flixel_text_FlxText; flixel_text_FlxText.__name__ = ["flixel","text","FlxText"]; flixel_text_FlxText.__super__ = flixel_FlxSprite; flixel_text_FlxText.prototype = $extend(flixel_FlxSprite.prototype,{ text: null ,borderStyle: null ,borderColor: null ,borderSize: null ,borderQuality: null ,textField: null ,shadowOffset: null ,_defaultFormat: null ,_formatAdjusted: null ,_formatRanges: null ,_font: null ,_regen: null ,_borderPixels: null ,_borderColorTransform: null ,_hasBorderAlpha: null ,destroy: function() { this.textField = null; this._font = null; this._defaultFormat = null; this._formatAdjusted = null; this.shadowOffset = flixel_util_FlxDestroyUtil.put(this.shadowOffset); flixel_FlxSprite.prototype.destroy.call(this); } ,drawFrame: function(Force) { if(Force == null) { Force = false; } this._regen = this._regen || Force; flixel_FlxSprite.prototype.drawFrame.call(this,this._regen); } ,stampOnAtlas: function(atlas) { this.regenGraphic(); var node = atlas.addNode(this.graphic.bitmap,this.graphic.key); var result = node != null; if(node != null) { this.set_frames(node.getImageFrame()); } return result; } ,applyMarkup: function(input,rules) { if(rules == null || rules.length == 0) { return this; } this.clearFormats(); var rangeStarts = []; var rangeEnds = []; var rulesToApply = []; var i = 0; var _g = 0; while(_g < rules.length) { var rule = rules[_g]; ++_g; if(rule.marker == null || rule.format == null) { continue; } var start = false; var markerLength = rule.marker.length; if(input.indexOf(rule.marker) == -1) { continue; } var _g2 = 0; var _g1 = input.length; while(_g2 < _g1) { var charIndex = _g2++; if(haxe_Utf8.compare(HxOverrides.substr(input,charIndex,markerLength),rule.marker) != 0) { continue; } if(start) { start = false; rangeEnds.push(charIndex); } else { start = true; rangeStarts.push(charIndex); rulesToApply.push(rule); } } if(start) { rangeEnds.push(-1); } ++i; } var _g3 = 0; while(_g3 < rules.length) { var rule1 = rules[_g3]; ++_g3; input = StringTools.replace(input,rule1.marker,""); } var _g11 = 0; var _g4 = rangeStarts.length; while(_g11 < _g4) { var i1 = _g11++; var delIndex = rangeStarts[i1]; var markerLength1 = rulesToApply[i1].marker.length; var _g31 = 0; var _g21 = rangeStarts.length; while(_g31 < _g21) { var j = _g31++; if(rangeStarts[j] > delIndex) { rangeStarts[j] -= markerLength1; } if(rangeEnds[j] > delIndex) { rangeEnds[j] -= markerLength1; } } delIndex = rangeEnds[i1]; var _g32 = 0; var _g22 = rangeStarts.length; while(_g32 < _g22) { var j1 = _g32++; if(rangeStarts[j1] > delIndex) { rangeStarts[j1] -= markerLength1; } if(rangeEnds[j1] > delIndex) { rangeEnds[j1] -= markerLength1; } } } this.set_text(input); var _g12 = 0; var _g5 = rangeStarts.length; while(_g12 < _g5) { var i2 = _g12++; this.addFormat(rulesToApply[i2].format,rangeStarts[i2],rangeEnds[i2]); } return this; } ,addFormat: function(Format,Start,End) { if(End == null) { End = -1; } if(Start == null) { Start = -1; } this._formatRanges.push(new flixel_text__$FlxText_FlxTextFormatRange(Format,Start,End)); this._formatRanges.sort(function(left,right) { if(left.range.start < right.range.start) { return -1; } else { return 1; } }); this._regen = true; return this; } ,removeFormat: function(Format,Start,End) { var _g = 0; var _g1 = this._formatRanges; while(_g < _g1.length) { var formatRange = _g1[_g]; ++_g; if(formatRange.format != Format) { continue; } if(Start != null && End != null && (Start > formatRange.range.end || End < formatRange.range.start)) { continue; } HxOverrides.remove(this._formatRanges,formatRange); } this._regen = true; return this; } ,clearFormats: function() { this._formatRanges = []; this.textField.set_defaultTextFormat(this._defaultFormat); this.textField.setTextFormat(this._defaultFormat); this._regen = true; return this; } ,setFormat: function(Font,Size,Color,Alignment,BorderStyle,BorderColor,EmbeddedFont) { if(EmbeddedFont == null) { EmbeddedFont = true; } if(BorderColor == null) { BorderColor = 0; } if(Color == null) { Color = -1; } if(Size == null) { Size = 8; } if(BorderStyle == null) { BorderStyle = flixel_text_FlxTextBorderStyle.NONE; } else { BorderStyle = BorderStyle; } if(EmbeddedFont) { this.set_font(Font); } else if(Font != null) { this.set_systemFont(Font); } this.set_size(Size); this.set_color(Color); if(Alignment != null) { this.set_alignment(Alignment); } this.set_borderStyle(BorderStyle); this.set_borderColor(BorderColor); this.set_borderSize(1); this.set_borderQuality(1); this.textField.set_defaultTextFormat(this._defaultFormat); this.textField.setTextFormat(this._defaultFormat); this._regen = true; return this; } ,setBorderStyle: function(Style,Color,Size,Quality) { if(Quality == null) { Quality = 1; } if(Size == null) { Size = 1; } if(Color == null) { Color = 0; } this.set_borderStyle(Style); this.set_borderColor(Color); this.set_borderSize(Size); this.set_borderQuality(Quality); return this; } ,updateHitbox: function() { this.regenGraphic(); flixel_FlxSprite.prototype.updateHitbox.call(this); } ,set_fieldWidth: function(value) { if(this.textField == null) { return value; } if(value <= 0) { this.set_wordWrap(false); this.set_autoSize(true); } else { this.set_autoSize(false); this.set_wordWrap(true); this.textField.set_width(value); } this._regen = true; return value; } ,get_fieldWidth: function() { if(this.textField != null) { return this.textField.get_width(); } else { return 0; } } ,set_autoSize: function(value) { if(this.textField != null) { this.textField.set_autoSize(value ? 1 : 2); this._regen = true; } return value; } ,get_autoSize: function() { if(this.textField != null) { return this.textField.get_autoSize() != 2; } else { return false; } } ,set_text: function(Text) { this.text = Text; if(this.textField != null) { var ot = this.textField.get_text(); this.textField.set_text(Text); this._regen = this.textField.get_text() != ot || this._regen; } return Text; } ,get_size: function() { return this._defaultFormat.size | 0; } ,set_size: function(Size) { this._defaultFormat.size = Size; this.textField.set_defaultTextFormat(this._defaultFormat); this.textField.setTextFormat(this._defaultFormat); this._regen = true; return Size; } ,set_color: function(Color) { if(this._defaultFormat.color == (Color & 16777215)) { return Color; } this._defaultFormat.color = Color & 16777215; this.color = Color; this.textField.set_defaultTextFormat(this._defaultFormat); this.textField.setTextFormat(this._defaultFormat); this._regen = true; return Color; } ,get_font: function() { return this._font; } ,set_font: function(Font) { this.textField.set_embedFonts(true); if(Font != null) { var newFontName = Font; if(openfl_utils_Assets.exists(Font,"FONT")) { newFontName = openfl_utils_Assets.getFont(Font).name; } this._defaultFormat.font = newFontName; } else { this._defaultFormat.font = flixel_system_FlxAssets.FONT_DEFAULT; } this.textField.set_defaultTextFormat(this._defaultFormat); this.textField.setTextFormat(this._defaultFormat); this._regen = true; return this._font = this._defaultFormat.font; } ,get_embedded: function() { return this.textField.set_embedFonts(true); } ,get_systemFont: function() { return this._defaultFormat.font; } ,set_systemFont: function(Font) { this.textField.set_embedFonts(false); this._defaultFormat.font = Font; this.textField.set_defaultTextFormat(this._defaultFormat); this.textField.setTextFormat(this._defaultFormat); this._regen = true; return Font; } ,get_bold: function() { return this._defaultFormat.bold; } ,set_bold: function(value) { if(this._defaultFormat.bold != value) { this._defaultFormat.bold = value; this.textField.set_defaultTextFormat(this._defaultFormat); this.textField.setTextFormat(this._defaultFormat); this._regen = true; } return value; } ,get_italic: function() { return this._defaultFormat.italic; } ,set_italic: function(value) { if(this._defaultFormat.italic != value) { this._defaultFormat.italic = value; this.textField.set_defaultTextFormat(this._defaultFormat); this.textField.setTextFormat(this._defaultFormat); this._regen = true; } return value; } ,get_wordWrap: function() { return this.textField.get_wordWrap(); } ,set_wordWrap: function(value) { if(this.textField.get_wordWrap() != value) { this.textField.set_wordWrap(value); this._regen = true; } return value; } ,get_alignment: function() { return flixel_text__$FlxText_FlxTextAlign_$Impl_$.fromOpenFL(this._defaultFormat.align); } ,set_alignment: function(Alignment) { this._defaultFormat.align = flixel_text__$FlxText_FlxTextAlign_$Impl_$.toOpenFL(Alignment); this.textField.set_defaultTextFormat(this._defaultFormat); this.textField.setTextFormat(this._defaultFormat); this._regen = true; return Alignment; } ,set_borderStyle: function(style) { if(style != this.borderStyle) { this._regen = true; } return this.borderStyle = style; } ,set_borderColor: function(Color) { if(this.borderColor != Color && this.borderStyle != flixel_text_FlxTextBorderStyle.NONE) { this._regen = true; } this._hasBorderAlpha = (Color >> 24 & 255) / 255 < 1; return this.borderColor = Color; } ,set_borderSize: function(Value) { if(Value != this.borderSize && this.borderStyle != flixel_text_FlxTextBorderStyle.NONE) { this._regen = true; } return this.borderSize = Value; } ,set_borderQuality: function(Value) { var lowerBound = Value < 0 ? 0 : Value; if(lowerBound > 1) { Value = 1; } else { Value = lowerBound; } if(Value != this.borderQuality && this.borderStyle != flixel_text_FlxTextBorderStyle.NONE) { this._regen = true; } return this.borderQuality = Value; } ,set_graphic: function(Value) { var oldGraphic = this.graphic; var graph = flixel_FlxSprite.prototype.set_graphic.call(this,Value); flixel_FlxG.bitmap.removeIfNoUse(oldGraphic); return graph; } ,get_width: function() { this.regenGraphic(); return flixel_FlxSprite.prototype.get_width.call(this); } ,get_height: function() { this.regenGraphic(); return flixel_FlxSprite.prototype.get_height.call(this); } ,updateColorTransform: function() { if(this.colorTransform == null) { this.colorTransform = new openfl_geom_ColorTransform(); } if(this.alpha != 1) { this.colorTransform.alphaMultiplier = this.alpha; this.useColorTransform = true; } else { this.colorTransform.alphaMultiplier = 1; this.useColorTransform = false; } this.dirty = true; } ,regenGraphic: function() { if(this.textField == null || !this._regen) { return; } var oldWidth = 0; var oldHeight = 4; if(this.graphic != null) { oldWidth = this.graphic.width; oldHeight = this.graphic.height; } var newWidth = this.textField.get_width(); var newHeight = this.textField.get_textHeight() + 4; if(this.textField.get_textHeight() == 0) { newHeight = oldHeight; } if(oldWidth != newWidth || oldHeight != newHeight) { this.set_height(newHeight); var key = flixel_FlxG.bitmap.getUniqueKey("text"); this.makeGraphic(newWidth | 0,newHeight | 0,0,false,key); if(this._hasBorderAlpha) { this._borderPixels = this.graphic.bitmap.clone(); } this.frameHeight = this.get_height() | 0; this.textField.set_height(this.get_height() * 1.2); this._flashRect.x = 0; this._flashRect.y = 0; this._flashRect.width = newWidth; this._flashRect.height = newHeight; } else { this.graphic.bitmap.fillRect(this._flashRect,0); if(this._hasBorderAlpha) { if(this._borderPixels == null) { this._borderPixels = new openfl_display_BitmapData(this.frameWidth,this.frameHeight,true); } else { this._borderPixels.fillRect(this._flashRect,0); } } } if(this.textField != null && this.textField.get_text() != null && lime_text__$UTF8String_UTF8String_$Impl_$.get_length(this.textField.get_text()) > 0) { this.copyTextFormat(this._defaultFormat,this._formatAdjusted); this._matrix.identity(); this.applyBorderStyle(); if(!(!this._hasBorderAlpha)) { if(this._borderColorTransform == null) { this._borderColorTransform = new openfl_geom_ColorTransform(); } this._borderColorTransform.alphaMultiplier = (this.borderColor >> 24 & 255) / 255; this._borderPixels.colorTransform(this._borderPixels.rect,this._borderColorTransform); this.graphic.bitmap.draw(this._borderPixels); } this.applyFormats(this._formatAdjusted,false); this.drawTextFieldTo(this.graphic.bitmap); } this._regen = false; this.set_frame(this.frame); } ,drawTextFieldTo: function(graphic) { graphic.draw(this.textField,this._matrix); } ,draw: function() { this.regenGraphic(); flixel_FlxSprite.prototype.draw.call(this); } ,calcFrame: function(RunOnCpp) { if(RunOnCpp == null) { RunOnCpp = false; } if(this.textField == null) { return; } if(flixel_FlxG.renderTile && !RunOnCpp) { return; } this.regenGraphic(); flixel_FlxSprite.prototype.calcFrame.call(this,RunOnCpp); } ,applyBorderStyle: function() { var iterations = this.borderSize * this.borderQuality | 0; if(iterations <= 0) { iterations = 1; } var delta = this.borderSize / iterations; var _g = this.borderStyle; switch(_g[1]) { case 0: break; case 1: this.applyFormats(this._formatAdjusted,true); var _g1 = 0; var _g2 = iterations; while(_g1 < _g2) { var i = _g1++; var graphic = this._hasBorderAlpha ? this._borderPixels : this.graphic.bitmap; this._matrix.translate(delta,delta); this.drawTextFieldTo(graphic); } this._matrix.translate(-this.shadowOffset.x * this.borderSize,-this.shadowOffset.y * this.borderSize); break; case 2: this.applyFormats(this._formatAdjusted,true); var curDelta = delta; var _g11 = 0; var _g3 = iterations; while(_g11 < _g3) { var i1 = _g11++; var graphic1 = this._hasBorderAlpha ? this._borderPixels : this.graphic.bitmap; this._matrix.translate(-curDelta,-curDelta); this.drawTextFieldTo(graphic1); var graphic2 = this._hasBorderAlpha ? this._borderPixels : this.graphic.bitmap; this._matrix.translate(curDelta,0); this.drawTextFieldTo(graphic2); var graphic3 = this._hasBorderAlpha ? this._borderPixels : this.graphic.bitmap; this._matrix.translate(curDelta,0); this.drawTextFieldTo(graphic3); var graphic4 = this._hasBorderAlpha ? this._borderPixels : this.graphic.bitmap; this._matrix.translate(0,curDelta); this.drawTextFieldTo(graphic4); var graphic5 = this._hasBorderAlpha ? this._borderPixels : this.graphic.bitmap; this._matrix.translate(0,curDelta); this.drawTextFieldTo(graphic5); var graphic6 = this._hasBorderAlpha ? this._borderPixels : this.graphic.bitmap; this._matrix.translate(-curDelta,0); this.drawTextFieldTo(graphic6); var graphic7 = this._hasBorderAlpha ? this._borderPixels : this.graphic.bitmap; this._matrix.translate(-curDelta,0); this.drawTextFieldTo(graphic7); var graphic8 = this._hasBorderAlpha ? this._borderPixels : this.graphic.bitmap; this._matrix.translate(0,-curDelta); this.drawTextFieldTo(graphic8); this._matrix.translate(curDelta,0); curDelta += delta; } break; case 3: this.applyFormats(this._formatAdjusted,true); var curDelta1 = delta; var _g12 = 0; var _g4 = iterations; while(_g12 < _g4) { var i2 = _g12++; var graphic9 = this._hasBorderAlpha ? this._borderPixels : this.graphic.bitmap; this._matrix.translate(-curDelta1,-curDelta1); this.drawTextFieldTo(graphic9); var graphic10 = this._hasBorderAlpha ? this._borderPixels : this.graphic.bitmap; this._matrix.translate(curDelta1 * 2,0); this.drawTextFieldTo(graphic10); var graphic11 = this._hasBorderAlpha ? this._borderPixels : this.graphic.bitmap; this._matrix.translate(0,curDelta1 * 2); this.drawTextFieldTo(graphic11); var graphic12 = this._hasBorderAlpha ? this._borderPixels : this.graphic.bitmap; this._matrix.translate(-curDelta1 * 2,0); this.drawTextFieldTo(graphic12); this._matrix.translate(curDelta1,-curDelta1); curDelta1 += delta; } break; } } ,applyBorderTransparency: function() { if(!this._hasBorderAlpha) { return; } if(this._borderColorTransform == null) { this._borderColorTransform = new openfl_geom_ColorTransform(); } this._borderColorTransform.alphaMultiplier = (this.borderColor >> 24 & 255) / 255; this._borderPixels.colorTransform(this._borderPixels.rect,this._borderColorTransform); this.graphic.bitmap.draw(this._borderPixels); } ,copyTextWithOffset: function(x,y) { var graphic = this._hasBorderAlpha ? this._borderPixels : this.graphic.bitmap; this._matrix.translate(x,y); this.drawTextFieldTo(graphic); } ,applyFormats: function(FormatAdjusted,UseBorderColor) { if(UseBorderColor == null) { UseBorderColor = false; } this.copyTextFormat(this._defaultFormat,FormatAdjusted,false); FormatAdjusted.color = UseBorderColor ? this.borderColor & 16777215 : this._defaultFormat.color; this.textField.setTextFormat(FormatAdjusted); var _g = 0; var _g1 = this._formatRanges; while(_g < _g1.length) { var formatRange = _g1[_g]; ++_g; if(lime_text__$UTF8String_UTF8String_$Impl_$.get_length(this.textField.get_text()) - 1 < formatRange.range.start) { break; } else { var textFormat = formatRange.format.format; this.copyTextFormat(textFormat,FormatAdjusted,false); FormatAdjusted.color = UseBorderColor ? formatRange.format.borderColor & 16777215 : textFormat.color; } this.textField.setTextFormat(FormatAdjusted,formatRange.range.start,Math.min(formatRange.range.end,lime_text__$UTF8String_UTF8String_$Impl_$.get_length(this.textField.get_text())) | 0); } } ,copyTextFormat: function(from,to,withAlign) { if(withAlign == null) { withAlign = true; } to.font = from.font; to.bold = from.bold; to.italic = from.italic; to.size = from.size; to.color = from.color; if(withAlign) { to.align = from.align; } } ,dtfCopy: function() { var dtf = this.textField.get_defaultTextFormat(); return new openfl_text_TextFormat(dtf.font,dtf.size,dtf.color,dtf.bold,dtf.italic,dtf.underline,dtf.url,dtf.target,dtf.align); } ,updateDefaultFormat: function() { this.textField.set_defaultTextFormat(this._defaultFormat); this.textField.setTextFormat(this._defaultFormat); this._regen = true; } ,set_frames: function(Frames) { flixel_FlxSprite.prototype.set_frames.call(this,Frames); this._regen = false; return Frames; } ,__class__: flixel_text_FlxText ,__properties__: $extend(flixel_FlxSprite.prototype.__properties__,{set_autoSize:"set_autoSize",get_autoSize:"get_autoSize",set_fieldWidth:"set_fieldWidth",get_fieldWidth:"get_fieldWidth",set_borderQuality:"set_borderQuality",set_borderSize:"set_borderSize",set_borderColor:"set_borderColor",set_borderStyle:"set_borderStyle",set_alignment:"set_alignment",get_alignment:"get_alignment",set_wordWrap:"set_wordWrap",get_wordWrap:"get_wordWrap",set_italic:"set_italic",get_italic:"get_italic",set_bold:"set_bold",get_bold:"get_bold",set_systemFont:"set_systemFont",get_systemFont:"get_systemFont",get_embedded:"get_embedded",set_font:"set_font",get_font:"get_font",set_size:"set_size",get_size:"get_size",set_text:"set_text"}) }); var flixel_text_FlxTextFormat = function(FontColor,Bold,Italic,BorderColor) { this.format = new openfl_text_TextFormat(null,null,FontColor,Bold,Italic); this.borderColor = BorderColor == null ? 0 : BorderColor; }; $hxClasses["flixel.text.FlxTextFormat"] = flixel_text_FlxTextFormat; flixel_text_FlxTextFormat.__name__ = ["flixel","text","FlxTextFormat"]; flixel_text_FlxTextFormat.prototype = { borderColor: null ,format: null ,__class__: flixel_text_FlxTextFormat }; var flixel_text__$FlxText_FlxTextFormatRange = function(format,start,end) { this.range = new flixel_util_helpers_FlxRange(start,end); this.format = format; }; $hxClasses["flixel.text._FlxText.FlxTextFormatRange"] = flixel_text__$FlxText_FlxTextFormatRange; flixel_text__$FlxText_FlxTextFormatRange.__name__ = ["flixel","text","_FlxText","FlxTextFormatRange"]; flixel_text__$FlxText_FlxTextFormatRange.prototype = { range: null ,format: null ,__class__: flixel_text__$FlxText_FlxTextFormatRange }; var flixel_text_FlxTextFormatMarkerPair = function(format,marker) { this.format = format; this.marker = marker; }; $hxClasses["flixel.text.FlxTextFormatMarkerPair"] = flixel_text_FlxTextFormatMarkerPair; flixel_text_FlxTextFormatMarkerPair.__name__ = ["flixel","text","FlxTextFormatMarkerPair"]; flixel_text_FlxTextFormatMarkerPair.prototype = { format: null ,marker: null ,__class__: flixel_text_FlxTextFormatMarkerPair }; var flixel_text_FlxTextBorderStyle = $hxClasses["flixel.text.FlxTextBorderStyle"] = { __ename__ : ["flixel","text","FlxTextBorderStyle"], __constructs__ : ["NONE","SHADOW","OUTLINE","OUTLINE_FAST"] }; flixel_text_FlxTextBorderStyle.NONE = ["NONE",0]; flixel_text_FlxTextBorderStyle.NONE.toString = $estr; flixel_text_FlxTextBorderStyle.NONE.__enum__ = flixel_text_FlxTextBorderStyle; flixel_text_FlxTextBorderStyle.SHADOW = ["SHADOW",1]; flixel_text_FlxTextBorderStyle.SHADOW.toString = $estr; flixel_text_FlxTextBorderStyle.SHADOW.__enum__ = flixel_text_FlxTextBorderStyle; flixel_text_FlxTextBorderStyle.OUTLINE = ["OUTLINE",2]; flixel_text_FlxTextBorderStyle.OUTLINE.toString = $estr; flixel_text_FlxTextBorderStyle.OUTLINE.__enum__ = flixel_text_FlxTextBorderStyle; flixel_text_FlxTextBorderStyle.OUTLINE_FAST = ["OUTLINE_FAST",3]; flixel_text_FlxTextBorderStyle.OUTLINE_FAST.toString = $estr; flixel_text_FlxTextBorderStyle.OUTLINE_FAST.__enum__ = flixel_text_FlxTextBorderStyle; var flixel_text__$FlxText_FlxTextAlign_$Impl_$ = {}; $hxClasses["flixel.text._FlxText.FlxTextAlign_Impl_"] = flixel_text__$FlxText_FlxTextAlign_$Impl_$; flixel_text__$FlxText_FlxTextAlign_$Impl_$.__name__ = ["flixel","text","_FlxText","FlxTextAlign_Impl_"]; flixel_text__$FlxText_FlxTextAlign_$Impl_$.fromOpenFL = function(align) { switch(align) { case 0: return "center"; case 2: return "justify"; case 3: return "left"; case 4: return "right"; default: return "left"; } }; flixel_text__$FlxText_FlxTextAlign_$Impl_$.toOpenFL = function(align) { switch(align) { case "center": return 0; case "justify": return 2; case "left": return 3; case "right": return 4; default: return 3; } }; var flixel_tile_FlxBaseTilemap = function() { this._collideIndex = 0; this._drawIndex = 0; this._startingIndex = 0; this._tileObjects = []; this.totalTiles = 0; this.heightInTiles = 0; this.widthInTiles = 0; this.auto = flixel_tile_FlxTilemapAutoTiling.OFF; flixel_FlxObject.call(this); this.flixelType = 3; this.set_immovable(true); this.set_moves(false); }; $hxClasses["flixel.tile.FlxBaseTilemap"] = flixel_tile_FlxBaseTilemap; flixel_tile_FlxBaseTilemap.__name__ = ["flixel","tile","FlxBaseTilemap"]; flixel_tile_FlxBaseTilemap.__super__ = flixel_FlxObject; flixel_tile_FlxBaseTilemap.prototype = $extend(flixel_FlxObject.prototype,{ auto: null ,widthInTiles: null ,heightInTiles: null ,totalTiles: null ,customTileRemap: null ,_randomIndices: null ,_randomChoices: null ,_randomLambda: null ,_tileObjects: null ,_startingIndex: null ,_data: null ,_drawIndex: null ,_collideIndex: null ,updateTile: function(Index) { throw new js__$Boot_HaxeError("updateTile must be implemented"); } ,cacheGraphics: function(TileWidth,TileHeight,TileGraphic) { throw new js__$Boot_HaxeError("cacheGraphics must be implemented"); } ,initTileObjects: function() { throw new js__$Boot_HaxeError("initTileObjects must be implemented"); } ,updateMap: function() { throw new js__$Boot_HaxeError("updateMap must be implemented"); } ,computeDimensions: function() { throw new js__$Boot_HaxeError("computeDimensions must be implemented"); } ,getTileIndexByCoords: function(Coord) { throw new js__$Boot_HaxeError("getTileIndexByCoords must be implemented"); } ,getTileCoordsByIndex: function(Index,Midpoint) { if(Midpoint == null) { Midpoint = true; } throw new js__$Boot_HaxeError("getTileCoordsByIndex must be implemented"); } ,ray: function(Start,End,Result,Resolution) { if(Resolution == null) { Resolution = 1; } throw new js__$Boot_HaxeError("ray must be implemented"); } ,overlapsWithCallback: function(Object,Callback,FlipCallbackParams,Position) { if(FlipCallbackParams == null) { FlipCallbackParams = false; } throw new js__$Boot_HaxeError("overlapsWithCallback must be implemented"); } ,setDirty: function(Dirty) { if(Dirty == null) { Dirty = true; } throw new js__$Boot_HaxeError("setDirty must be implemented"); } ,destroy: function() { this._data = null; flixel_FlxObject.prototype.destroy.call(this); } ,loadMapFromCSV: function(MapData,TileGraphic,TileWidth,TileHeight,AutoTile,StartingIndex,DrawIndex,CollideIndex) { if(CollideIndex == null) { CollideIndex = 1; } if(DrawIndex == null) { DrawIndex = 1; } if(StartingIndex == null) { StartingIndex = 0; } if(TileHeight == null) { TileHeight = 0; } if(TileWidth == null) { TileWidth = 0; } if(openfl_utils_Assets.exists(MapData)) { MapData = openfl_utils_Assets.getText(MapData); } this._data = []; var columns; var regex = new EReg("[ \t]*((\r\n)|\r|\n)[ \t]*","g"); var lines = regex.split(MapData); var rows = lines.filter(function(line) { return line != ""; }); this.heightInTiles = rows.length; this.widthInTiles = 0; var row = 0; while(row < this.heightInTiles) { var rowString = rows[row]; if(StringTools.endsWith(rowString,",")) { rowString = HxOverrides.substr(rowString,0,rowString.length - 1); } columns = rowString.split(","); if(columns.length == 0) { this.heightInTiles--; continue; } if(this.widthInTiles == 0) { this.widthInTiles = columns.length; } var column = 0; while(column < this.widthInTiles) { var columnString = columns[column]; var curTile = Std.parseInt(columnString); if(curTile == null) { throw new js__$Boot_HaxeError("String in row " + row + ", column " + column + " is not a valid integer: \"" + columnString + "\""); } if(curTile < 0) { curTile = 0; } this._data.push(curTile); ++column; } ++row; } this.loadMapHelper(TileGraphic,TileWidth,TileHeight,AutoTile,StartingIndex,DrawIndex,CollideIndex); return this; } ,loadMapFromArray: function(MapData,WidthInTiles,HeightInTiles,TileGraphic,TileWidth,TileHeight,AutoTile,StartingIndex,DrawIndex,CollideIndex) { if(CollideIndex == null) { CollideIndex = 1; } if(DrawIndex == null) { DrawIndex = 1; } if(StartingIndex == null) { StartingIndex = 0; } if(TileHeight == null) { TileHeight = 0; } if(TileWidth == null) { TileWidth = 0; } this.widthInTiles = WidthInTiles; this.heightInTiles = HeightInTiles; this._data = MapData.slice(); this.loadMapHelper(TileGraphic,TileWidth,TileHeight,AutoTile,StartingIndex,DrawIndex,CollideIndex); return this; } ,loadMapFrom2DArray: function(MapData,TileGraphic,TileWidth,TileHeight,AutoTile,StartingIndex,DrawIndex,CollideIndex) { if(CollideIndex == null) { CollideIndex = 1; } if(DrawIndex == null) { DrawIndex = 1; } if(StartingIndex == null) { StartingIndex = 0; } if(TileHeight == null) { TileHeight = 0; } if(TileWidth == null) { TileWidth = 0; } this.widthInTiles = MapData[0].length; this.heightInTiles = MapData.length; this._data = flixel_util_FlxArrayUtil.flatten2DArray_Int(MapData); this.loadMapHelper(TileGraphic,TileWidth,TileHeight,AutoTile,StartingIndex,DrawIndex,CollideIndex); return this; } ,loadMapFromGraphic: function(MapGraphic,Invert,Scale,ColorMap,TileGraphic,TileWidth,TileHeight,AutoTile,StartingIndex,DrawIndex,CollideIndex) { if(CollideIndex == null) { CollideIndex = 1; } if(DrawIndex == null) { DrawIndex = 1; } if(StartingIndex == null) { StartingIndex = 0; } if(TileHeight == null) { TileHeight = 0; } if(TileWidth == null) { TileWidth = 0; } if(Scale == null) { Scale = 1; } if(Invert == null) { Invert = false; } var mapBitmap = flixel_system_FlxAssets.resolveBitmapData(MapGraphic); var mapData = flixel_util_FlxStringUtil.bitmapToCSV(mapBitmap,Invert,Scale,ColorMap); return this.loadMapFromCSV(mapData,TileGraphic,TileWidth,TileHeight,AutoTile,StartingIndex,DrawIndex,CollideIndex); } ,loadMapHelper: function(TileGraphic,TileWidth,TileHeight,AutoTile,StartingIndex,DrawIndex,CollideIndex) { if(CollideIndex == null) { CollideIndex = 1; } if(DrawIndex == null) { DrawIndex = 1; } if(StartingIndex == null) { StartingIndex = 0; } if(TileHeight == null) { TileHeight = 0; } if(TileWidth == null) { TileWidth = 0; } this.totalTiles = this._data.length; this.auto = AutoTile == null ? flixel_tile_FlxTilemapAutoTiling.OFF : AutoTile; this._startingIndex = StartingIndex <= 0 ? 0 : StartingIndex; if(this.auto != flixel_tile_FlxTilemapAutoTiling.OFF) { this._startingIndex = 1; DrawIndex = 1; CollideIndex = 1; } this._drawIndex = DrawIndex; this._collideIndex = CollideIndex; this.applyAutoTile(); this.applyCustomRemap(); this.randomizeIndices(); this.cacheGraphics(TileWidth,TileHeight,TileGraphic); this.postGraphicLoad(); } ,postGraphicLoad: function() { this.initTileObjects(); this.computeDimensions(); this.updateMap(); } ,applyAutoTile: function() { if(this.auto != flixel_tile_FlxTilemapAutoTiling.OFF) { var i = 0; while(i < this.totalTiles) this.autoTile(i++); } } ,applyCustomRemap: function() { var i = 0; if(this.customTileRemap != null) { while(i < this.totalTiles) { var oldIndex = this._data[i]; var newIndex = oldIndex; if(oldIndex < this.customTileRemap.length) { newIndex = this.customTileRemap[oldIndex]; } this._data[i] = newIndex; ++i; } } } ,randomizeIndices: function() { var i = 0; if(this._randomIndices != null) { var randLambda = this._randomLambda != null ? this._randomLambda : function() { return flixel_FlxG.random["float"](); }; while(i < this.totalTiles) { var oldIndex = this._data[i]; var j = 0; var newIndex = oldIndex; var _g = 0; var _g1 = this._randomIndices; while(_g < _g1.length) { var rand = _g1[_g]; ++_g; if(oldIndex == rand) { var k = randLambda() * this._randomChoices[j].length | 0; newIndex = this._randomChoices[j][k]; } ++j; } this._data[i] = newIndex; ++i; } } } ,autoTile: function(Index) { if(this._data[Index] == 0) { return; } if(this.auto == flixel_tile_FlxTilemapAutoTiling.FULL) { this.autoTileFull(Index); return; } this._data[Index] = 0; if(Index - this.widthInTiles < 0 || this._data[Index - this.widthInTiles] > 0) { this._data[Index] += 1; } if(Index % this.widthInTiles >= this.widthInTiles - 1 || this._data[Index + 1] > 0) { this._data[Index] += 2; } if((Index + this.widthInTiles | 0) >= this.totalTiles || this._data[Index + this.widthInTiles] > 0) { this._data[Index] += 4; } if(Index % this.widthInTiles <= 0 || this._data[Index - 1] > 0) { this._data[Index] += 8; } if(this.auto == flixel_tile_FlxTilemapAutoTiling.ALT && this._data[Index] == 15) { if(Index % this.widthInTiles > 0 && (Index + this.widthInTiles | 0) < this.totalTiles && this._data[Index + this.widthInTiles - 1] <= 0) { this._data[Index] = 1; } if(Index % this.widthInTiles > 0 && Index - this.widthInTiles >= 0 && this._data[Index - this.widthInTiles - 1] <= 0) { this._data[Index] = 2; } if(Index % this.widthInTiles < this.widthInTiles - 1 && Index - this.widthInTiles >= 0 && this._data[Index - this.widthInTiles + 1] <= 0) { this._data[Index] = 4; } if(Index % this.widthInTiles < this.widthInTiles - 1 && (Index + this.widthInTiles | 0) < this.totalTiles && this._data[Index + this.widthInTiles + 1] <= 0) { this._data[Index] = 8; } } this._data[Index] += 1; } ,autoTileFull: function(Index) { this._data[Index] = 0; var wallUp = Index - this.widthInTiles < 0; var wallRight = Index % this.widthInTiles >= this.widthInTiles - 1; var wallDown = (Index + this.widthInTiles | 0) >= this.totalTiles; var wallLeft = Index % this.widthInTiles <= 0; var up = wallUp || this._data[Index - this.widthInTiles] > 0; var upRight = wallUp || wallRight || this._data[Index - this.widthInTiles + 1] > 0; var right = wallRight || this._data[Index + 1] > 0; var rightDown = wallRight || wallDown || this._data[Index + this.widthInTiles + 1] > 0; var down = wallDown || this._data[Index + this.widthInTiles] > 0; var downLeft = wallDown || wallLeft || this._data[Index + this.widthInTiles - 1] > 0; var left = wallLeft || this._data[Index - 1] > 0; var leftUp = wallLeft || wallUp || this._data[Index - this.widthInTiles - 1] > 0; if(up) { this._data[Index] += 1; } if(upRight && up && right) { this._data[Index] += 2; } if(right) { this._data[Index] += 4; } if(rightDown && right && down) { this._data[Index] += 8; } if(down) { this._data[Index] += 16; } if(downLeft && down && left) { this._data[Index] += 32; } if(left) { this._data[Index] += 64; } if(leftUp && left && up) { this._data[Index] += 128; } this._data[Index] -= flixel_tile_FlxBaseTilemap.offsetAutoTile[this._data[Index]] - 1; } ,setCustomTileMappings: function(mappings,randomIndices,randomChoices,randomLambda) { this.customTileRemap = mappings; this._randomIndices = randomIndices; this._randomChoices = randomChoices; this._randomLambda = randomLambda; if(this._randomIndices != null && (this._randomChoices == null || this._randomChoices.length == 0)) { throw new js__$Boot_HaxeError("You must provide valid 'randomChoices' if you wish to randomize tilemap indices, please read documentation of 'setCustomTileMappings' function."); } } ,getTile: function(X,Y) { return this._data[Y * this.widthInTiles + X]; } ,getTileByIndex: function(Index) { return this._data[Index]; } ,getTileCollisions: function(Index) { return this._tileObjects[Index].allowCollisions; } ,getTileInstances: function(Index) { var array = null; var i = 0; var l = this.widthInTiles * this.heightInTiles; while(i < l) { if(this._data[i] == Index) { if(array == null) { array = []; } array.push(i); } ++i; } return array; } ,setTile: function(X,Y,Tile,UpdateGraphics) { if(UpdateGraphics == null) { UpdateGraphics = true; } if(X >= this.widthInTiles || Y >= this.heightInTiles) { return false; } return this.setTileByIndex(Y * this.widthInTiles + X,Tile,UpdateGraphics); } ,setTileByIndex: function(Index,Tile,UpdateGraphics) { if(UpdateGraphics == null) { UpdateGraphics = true; } if(Index >= this._data.length) { return false; } var ok = true; this._data[Index] = Tile; if(!UpdateGraphics) { return ok; } this.setDirty(); if(this.auto == flixel_tile_FlxTilemapAutoTiling.OFF) { this.updateTile(this._data[Index]); return ok; } var i; var row = (Index / this.widthInTiles | 0) - 1; var rowLength = row + 3; var column = Index % this.widthInTiles - 1; var columnHeight = column + 3; while(row < rowLength) { column = columnHeight - 3; while(column < columnHeight) { if(row >= 0 && row < this.heightInTiles && column >= 0 && column < this.widthInTiles) { i = row * this.widthInTiles + column; this.autoTile(i); this.updateTile(this._data[i]); } ++column; } ++row; } return ok; } ,setTileProperties: function(Tile,AllowCollisions,Callback,CallbackFilter,Range) { if(Range == null) { Range = 1; } if(AllowCollisions == null) { AllowCollisions = 4369; } if(Range <= 0) { Range = 1; } var tile; var i = Tile; var l = Tile + Range; var maxIndex = this._tileObjects.length; if(l > maxIndex) { throw new js__$Boot_HaxeError("Index " + l + " exceeds the maximum tile index of " + maxIndex + ". Please verify the Tile (" + Tile + ") and Range (" + Range + ") parameters."); } while(i < l) { tile = this._tileObjects[i++]; tile.set_allowCollisions(AllowCollisions); tile.callbackFunction = Callback; tile.filter = CallbackFilter; } } ,getData: function(Simple) { if(Simple == null) { Simple = false; } if(!Simple) { return this._data; } var i = 0; var l = this._data.length; var data = []; flixel_util_FlxArrayUtil.setLength_Int(data,l); while(i < l) { data[i] = this._tileObjects[this._data[i]].allowCollisions > 0 ? 1 : 0; ++i; } return data; } ,findPath: function(Start,End,Simplify,RaySimplify,DiagonalPolicy) { if(DiagonalPolicy == null) { DiagonalPolicy = 2; } if(RaySimplify == null) { RaySimplify = false; } if(Simplify == null) { Simplify = true; } var startIndex = this.getTileIndexByCoords(Start); var endIndex = this.getTileIndexByCoords(End); if(startIndex < 0 || endIndex < 0) { return null; } if(this._tileObjects[this._data[startIndex]].allowCollisions > 0 || this._tileObjects[this._data[endIndex]].allowCollisions > 0) { return null; } var distances = this.computePathDistance(startIndex,endIndex,DiagonalPolicy); if(distances == null) { return null; } var points = []; this.walkPath(distances,endIndex,points); var node = points[points.length - 1]; node.set_x(Start.x); node.set_y(Start.y); if(Start._weak) { Start.put(); } node = points[0]; node.set_x(End.x); node.set_y(End.y); if(End._weak) { End.put(); } if(Simplify) { this.simplifyPath(points); } if(RaySimplify) { this.raySimplifyPath(points); } var path = []; var i = points.length - 1; while(i >= 0) { node = points[i--]; if(node != null) { path.push(node); } } return path; } ,computePathDistance: function(StartIndex,EndIndex,DiagonalPolicy,StopOnEnd) { if(StopOnEnd == null) { StopOnEnd = true; } var mapSize = this.widthInTiles * this.heightInTiles; var distances = []; flixel_util_FlxArrayUtil.setLength_Int(distances,mapSize); var i = 0; while(i < mapSize) { if(this._tileObjects[this._data[i]].allowCollisions != 0) { distances[i] = -2; } else { distances[i] = -1; } ++i; } distances[StartIndex] = 0; var distance = 1; var neighbors = [StartIndex]; var current; var currentIndex; var left; var right; var up; var down; var currentLength; var foundEnd = false; while(neighbors.length > 0) { current = neighbors; neighbors = []; i = 0; currentLength = current.length; while(i < currentLength) { currentIndex = current[i++]; if(currentIndex == (EndIndex | 0)) { foundEnd = true; if(StopOnEnd) { neighbors = []; break; } } left = currentIndex % this.widthInTiles > 0; right = currentIndex % this.widthInTiles < this.widthInTiles - 1; up = currentIndex / this.widthInTiles > 0; down = currentIndex / this.widthInTiles < this.heightInTiles - 1; var index; if(up) { index = currentIndex - this.widthInTiles; if(distances[index] == -1) { distances[index] = distance; neighbors.push(index); } } if(right) { index = currentIndex + 1; if(distances[index] == -1) { distances[index] = distance; neighbors.push(index); } } if(down) { index = currentIndex + this.widthInTiles; if(distances[index] == -1) { distances[index] = distance; neighbors.push(index); } } if(left) { index = currentIndex - 1; if(distances[index] == -1) { distances[index] = distance; neighbors.push(index); } } if(DiagonalPolicy != 0) { var wideDiagonal = DiagonalPolicy == 2; if(up && right) { index = currentIndex - this.widthInTiles + 1; if(wideDiagonal && distances[index] == -1 && distances[currentIndex - this.widthInTiles] >= -1 && distances[currentIndex + 1] >= -1) { distances[index] = distance; neighbors.push(index); } else if(!wideDiagonal && distances[index] == -1) { distances[index] = distance; neighbors.push(index); } } if(right && down) { index = currentIndex + this.widthInTiles + 1; if(wideDiagonal && distances[index] == -1 && distances[currentIndex + this.widthInTiles] >= -1 && distances[currentIndex + 1] >= -1) { distances[index] = distance; neighbors.push(index); } else if(!wideDiagonal && distances[index] == -1) { distances[index] = distance; neighbors.push(index); } } if(left && down) { index = currentIndex + this.widthInTiles - 1; if(wideDiagonal && distances[index] == -1 && distances[currentIndex + this.widthInTiles] >= -1 && distances[currentIndex - 1] >= -1) { distances[index] = distance; neighbors.push(index); } else if(!wideDiagonal && distances[index] == -1) { distances[index] = distance; neighbors.push(index); } } if(up && left) { index = currentIndex - this.widthInTiles - 1; if(wideDiagonal && distances[index] == -1 && distances[currentIndex - this.widthInTiles] >= -1 && distances[currentIndex - 1] >= -1) { distances[index] = distance; neighbors.push(index); } else if(!wideDiagonal && distances[index] == -1) { distances[index] = distance; neighbors.push(index); } } } } ++distance; } if(!foundEnd) { distances = null; } return distances; } ,walkPath: function(Data,Start,Points) { Points.push(this.getTileCoordsByIndex(Start)); if(Data[Start] == 0) { return; } var left = Start % this.widthInTiles > 0; var right = Start % this.widthInTiles < this.widthInTiles - 1; var up = Start / this.widthInTiles > 0; var down = Start / this.widthInTiles < this.heightInTiles - 1; var current = Data[Start]; var i; if(up) { i = Start - this.widthInTiles; if(i >= 0 && Data[i] >= 0 && Data[i] < current) { this.walkPath(Data,i,Points); return; } } if(right) { i = Start + 1; if(i >= 0 && Data[i] >= 0 && Data[i] < current) { this.walkPath(Data,i,Points); return; } } if(down) { i = Start + this.widthInTiles; if(i >= 0 && Data[i] >= 0 && Data[i] < current) { this.walkPath(Data,i,Points); return; } } if(left) { i = Start - 1; if(i >= 0 && Data[i] >= 0 && Data[i] < current) { this.walkPath(Data,i,Points); return; } } if(up && right) { i = Start - this.widthInTiles + 1; if(i >= 0 && Data[i] >= 0 && Data[i] < current) { this.walkPath(Data,i,Points); return; } } if(right && down) { i = Start + this.widthInTiles + 1; if(i >= 0 && Data[i] >= 0 && Data[i] < current) { this.walkPath(Data,i,Points); return; } } if(left && down) { i = Start + this.widthInTiles - 1; if(i >= 0 && Data[i] >= 0 && Data[i] < current) { this.walkPath(Data,i,Points); return; } } if(up && left) { i = Start - this.widthInTiles - 1; if(i >= 0 && Data[i] >= 0 && Data[i] < current) { this.walkPath(Data,i,Points); return; } } return; } ,simplifyPath: function(Points) { var deltaPrevious; var deltaNext; var last = Points[0]; var node; var i = 1; var l = Points.length - 1; while(i < l) { node = Points[i]; deltaPrevious = (node.x - last.x) / (node.y - last.y); deltaNext = (node.x - Points[i + 1].x) / (node.y - Points[i + 1].y); if(last.x == Points[i + 1].x || last.y == Points[i + 1].y || deltaPrevious == deltaNext) { Points[i] = null; } else { last = node; } ++i; } } ,raySimplifyPath: function(Points) { var source = Points[0]; var lastIndex = -1; var node; var i = 1; var l = Points.length; while(i < l) { node = Points[i++]; if(node == null) { continue; } if(this.ray(source,node,this._point)) { if(lastIndex >= 0) { Points[lastIndex] = null; } } else { source = Points[lastIndex]; } lastIndex = i - 1; } } ,overlaps: function(ObjectOrGroup,InScreenSpace,Camera) { if(InScreenSpace == null) { InScreenSpace = false; } var group = flixel_group_FlxTypedGroup.resolveGroup(ObjectOrGroup); if(group != null) { return flixel_group_FlxTypedGroup.overlaps($bind(this,this.tilemapOverlapsCallback),group,0,0,InScreenSpace,Camera); } else if(ObjectOrGroup.flixelType == 1 || ObjectOrGroup.flixelType == 3 ? this.overlapsWithCallback(ObjectOrGroup) : this.overlaps(ObjectOrGroup,false,null)) { return true; } return false; } ,tilemapOverlapsCallback: function(ObjectOrGroup,X,Y,InScreenSpace,Camera) { if(InScreenSpace == null) { InScreenSpace = false; } if(Y == null) { Y = 0; } if(X == null) { X = 0; } if(ObjectOrGroup.flixelType == 1 || ObjectOrGroup.flixelType == 3) { return this.overlapsWithCallback(ObjectOrGroup); } else { return this.overlaps(ObjectOrGroup,InScreenSpace,Camera); } } ,overlapsAt: function(X,Y,ObjectOrGroup,InScreenSpace,Camera) { if(InScreenSpace == null) { InScreenSpace = false; } var group = flixel_group_FlxTypedGroup.resolveGroup(ObjectOrGroup); if(group != null) { return flixel_group_FlxTypedGroup.overlaps($bind(this,this.tilemapOverlapsAtCallback),group,X,Y,InScreenSpace,Camera); } else if(ObjectOrGroup.flixelType == 1 || ObjectOrGroup.flixelType == 3 ? this.overlapsWithCallback(ObjectOrGroup,null,false,this._point.set(X,Y)) : this.overlapsAt(X,Y,ObjectOrGroup,InScreenSpace,Camera)) { return true; } return false; } ,tilemapOverlapsAtCallback: function(ObjectOrGroup,X,Y,InScreenSpace,Camera) { if(ObjectOrGroup.flixelType == 1 || ObjectOrGroup.flixelType == 3) { return this.overlapsWithCallback(ObjectOrGroup,null,false,this._point.set(X,Y)); } else { return this.overlapsAt(X,Y,ObjectOrGroup,InScreenSpace,Camera); } } ,overlapsPoint: function(WorldPoint,InScreenSpace,Camera) { if(InScreenSpace == null) { InScreenSpace = false; } if(InScreenSpace) { if(Camera == null) { Camera = flixel_FlxG.camera; } WorldPoint.subtractPoint(Camera.scroll); if(WorldPoint._weak) { WorldPoint.put(); } } return this.tileAtPointAllowsCollisions(WorldPoint); } ,tileAtPointAllowsCollisions: function(point) { var tileIndex = this.getTileIndexByCoords(point); if(tileIndex < 0 || tileIndex >= this._data.length) { return false; } return this._tileObjects[this._data[tileIndex]].allowCollisions > 0; } ,getBounds: function(Bounds) { if(Bounds == null) { var _this = flixel_math_FlxRect._pool.get(); _this.x = 0; _this.y = 0; _this.width = 0; _this.height = 0; var rect = _this; rect._inPool = false; Bounds = rect; } var X = this.x; var Y = this.y; var Width = this.get_width(); var Height = this.get_height(); Bounds.x = X; Bounds.y = Y; Bounds.width = Width; Bounds.height = Height; return Bounds; } ,__class__: flixel_tile_FlxBaseTilemap }); var flixel_tile_FlxTilemapAutoTiling = $hxClasses["flixel.tile.FlxTilemapAutoTiling"] = { __ename__ : ["flixel","tile","FlxTilemapAutoTiling"], __constructs__ : ["OFF","AUTO","ALT","FULL"] }; flixel_tile_FlxTilemapAutoTiling.OFF = ["OFF",0]; flixel_tile_FlxTilemapAutoTiling.OFF.toString = $estr; flixel_tile_FlxTilemapAutoTiling.OFF.__enum__ = flixel_tile_FlxTilemapAutoTiling; flixel_tile_FlxTilemapAutoTiling.AUTO = ["AUTO",1]; flixel_tile_FlxTilemapAutoTiling.AUTO.toString = $estr; flixel_tile_FlxTilemapAutoTiling.AUTO.__enum__ = flixel_tile_FlxTilemapAutoTiling; flixel_tile_FlxTilemapAutoTiling.ALT = ["ALT",2]; flixel_tile_FlxTilemapAutoTiling.ALT.toString = $estr; flixel_tile_FlxTilemapAutoTiling.ALT.__enum__ = flixel_tile_FlxTilemapAutoTiling; flixel_tile_FlxTilemapAutoTiling.FULL = ["FULL",3]; flixel_tile_FlxTilemapAutoTiling.FULL.toString = $estr; flixel_tile_FlxTilemapAutoTiling.FULL.__enum__ = flixel_tile_FlxTilemapAutoTiling; var flixel_tile_FlxTileblock = function(X,Y,Width,Height) { flixel_FlxSprite.call(this,X,Y); this.makeGraphic(Width,Height,0,true); this.set_active(false); this.set_immovable(true); this.set_moves(false); }; $hxClasses["flixel.tile.FlxTileblock"] = flixel_tile_FlxTileblock; flixel_tile_FlxTileblock.__name__ = ["flixel","tile","FlxTileblock"]; flixel_tile_FlxTileblock.__super__ = flixel_FlxSprite; flixel_tile_FlxTileblock.prototype = $extend(flixel_FlxSprite.prototype,{ tileSprite: null ,destroy: function() { this.tileSprite = flixel_util_FlxDestroyUtil.destroy(this.tileSprite); flixel_FlxSprite.prototype.destroy.call(this); } ,loadFrames: function(tileFrames,empties) { if(empties == null) { empties = 0; } if(tileFrames == null) { return this; } this.tileSprite = this.tileSprite == null ? new flixel_FlxSprite() : this.tileSprite; this.tileSprite.set_frames(tileFrames); var spriteWidth = this.tileSprite.get_width() | 0; var spriteHeight = this.tileSprite.get_height() | 0; var total = this.tileSprite.numFrames + empties; var regen = false; if(this.get_width() % this.tileSprite.get_width() != 0) { this.set_width((this.get_width() / spriteWidth + 1 | 0) * spriteWidth); regen = true; } if(this.get_height() % this.tileSprite.get_height() != 0) { this.set_height((this.get_height() / spriteHeight + 1 | 0) * spriteHeight); regen = true; } if(regen) { this.makeGraphic(this.get_width() | 0,this.get_height() | 0,0,true); } else { flixel_util_FlxSpriteUtil.fill(this,0); } var row = 0; var column; var destinationX; var destinationY = 0; var widthInTiles = this.get_width() / spriteWidth | 0; var heightInTiles = this.get_height() / spriteHeight | 0; while(row < heightInTiles) { destinationX = 0; column = 0; while(column < widthInTiles) { if(flixel_FlxG.random["float"]() * total > empties) { this.tileSprite.animation.randomFrame(); this.tileSprite.drawFrame(); this.stamp(this.tileSprite,destinationX,destinationY); } destinationX += spriteWidth; ++column; } destinationY += spriteHeight; ++row; } this.dirty = true; return this; } ,loadTiles: function(TileGraphic,TileWidth,TileHeight,Empties) { if(Empties == null) { Empties = 0; } if(TileHeight == null) { TileHeight = 0; } if(TileWidth == null) { TileWidth = 0; } if(TileGraphic == null) { return this; } var graph = flixel_FlxG.bitmap.add(TileGraphic); if(graph == null) { return this; } if(TileWidth == 0) { TileWidth = graph.height; if(TileWidth > graph.width) { TileWidth = graph.width; } else { TileWidth = TileWidth; } } if(TileHeight == 0) { TileHeight = TileWidth; if(TileHeight > graph.height) { TileHeight = graph.height; } else { TileHeight = TileHeight; } } var point = flixel_math_FlxPoint._pool.get().set(TileWidth,TileHeight); point._inPool = false; var tileFrames = flixel_graphics_frames_FlxTileFrames.fromGraphic(graph,point); return this.loadFrames(tileFrames,Empties); } ,setTile: function(x,y,index) { this.tileSprite.animation.set_frameIndex(index); this.stamp(this.tileSprite,x * (this.tileSprite.get_width() | 0),y * (this.tileSprite.get_height() | 0)); this.dirty = true; } ,__class__: flixel_tile_FlxTileblock }); var flixel_tweens_FlxEase = function() { }; $hxClasses["flixel.tweens.FlxEase"] = flixel_tweens_FlxEase; flixel_tweens_FlxEase.__name__ = ["flixel","tweens","FlxEase"]; flixel_tweens_FlxEase.linear = function(t) { return t; }; flixel_tweens_FlxEase.quadIn = function(t) { return t * t; }; flixel_tweens_FlxEase.quadOut = function(t) { return -t * (t - 2); }; flixel_tweens_FlxEase.quadInOut = function(t) { if(t <= .5) { return t * t * 2; } else { return 1 - --t * t * 2; } }; flixel_tweens_FlxEase.cubeIn = function(t) { return t * t * t; }; flixel_tweens_FlxEase.cubeOut = function(t) { return 1 + --t * t * t; }; flixel_tweens_FlxEase.cubeInOut = function(t) { if(t <= .5) { return t * t * t * 4; } else { return 1 + --t * t * t * 4; } }; flixel_tweens_FlxEase.quartIn = function(t) { return t * t * t * t; }; flixel_tweens_FlxEase.quartOut = function(t) { return 1 - --t * t * t * t; }; flixel_tweens_FlxEase.quartInOut = function(t) { if(t <= .5) { return t * t * t * t * 8; } else { t = t * 2 - 2; return (1 - t * t * t * t) / 2 + .5; } }; flixel_tweens_FlxEase.quintIn = function(t) { return t * t * t * t * t; }; flixel_tweens_FlxEase.quintOut = function(t) { return --t * t * t * t * t + 1; }; flixel_tweens_FlxEase.quintInOut = function(t) { if((t *= 2) < 1) { return t * t * t * t * t / 2; } else { return ((t -= 2) * t * t * t * t + 2) / 2; } }; flixel_tweens_FlxEase.smoothStepIn = function(t) { var t1 = t / 2; return 2 * (t1 * t1 * (t1 * -2 + 3)); }; flixel_tweens_FlxEase.smoothStepOut = function(t) { var t1 = t / 2 + 0.5; return 2 * (t1 * t1 * (t1 * -2 + 3)) - 1; }; flixel_tweens_FlxEase.smoothStepInOut = function(t) { return t * t * (t * -2 + 3); }; flixel_tweens_FlxEase.smootherStepIn = function(t) { var t1 = t / 2; return 2 * (t1 * t1 * t1 * (t1 * (t1 * 6 - 15) + 10)); }; flixel_tweens_FlxEase.smootherStepOut = function(t) { var t1 = t / 2 + 0.5; return 2 * (t1 * t1 * t1 * (t1 * (t1 * 6 - 15) + 10)) - 1; }; flixel_tweens_FlxEase.smootherStepInOut = function(t) { return t * t * t * (t * (t * 6 - 15) + 10); }; flixel_tweens_FlxEase.sineIn = function(t) { return -Math.cos(flixel_tweens_FlxEase.PI2 * t) + 1; }; flixel_tweens_FlxEase.sineOut = function(t) { return Math.sin(flixel_tweens_FlxEase.PI2 * t); }; flixel_tweens_FlxEase.sineInOut = function(t) { return -Math.cos(Math.PI * t) / 2 + .5; }; flixel_tweens_FlxEase.bounceIn = function(t) { t = 1 - t; if(t < flixel_tweens_FlxEase.B1) { return 1 - 7.5625 * t * t; } if(t < flixel_tweens_FlxEase.B2) { return 1 - (7.5625 * (t - flixel_tweens_FlxEase.B3) * (t - flixel_tweens_FlxEase.B3) + .75); } if(t < flixel_tweens_FlxEase.B4) { return 1 - (7.5625 * (t - flixel_tweens_FlxEase.B5) * (t - flixel_tweens_FlxEase.B5) + .9375); } return 1 - (7.5625 * (t - flixel_tweens_FlxEase.B6) * (t - flixel_tweens_FlxEase.B6) + .984375); }; flixel_tweens_FlxEase.bounceOut = function(t) { if(t < flixel_tweens_FlxEase.B1) { return 7.5625 * t * t; } if(t < flixel_tweens_FlxEase.B2) { return 7.5625 * (t - flixel_tweens_FlxEase.B3) * (t - flixel_tweens_FlxEase.B3) + .75; } if(t < flixel_tweens_FlxEase.B4) { return 7.5625 * (t - flixel_tweens_FlxEase.B5) * (t - flixel_tweens_FlxEase.B5) + .9375; } return 7.5625 * (t - flixel_tweens_FlxEase.B6) * (t - flixel_tweens_FlxEase.B6) + .984375; }; flixel_tweens_FlxEase.bounceInOut = function(t) { if(t < .5) { t = 1 - t * 2; if(t < flixel_tweens_FlxEase.B1) { return (1 - 7.5625 * t * t) / 2; } if(t < flixel_tweens_FlxEase.B2) { return (1 - (7.5625 * (t - flixel_tweens_FlxEase.B3) * (t - flixel_tweens_FlxEase.B3) + .75)) / 2; } if(t < flixel_tweens_FlxEase.B4) { return (1 - (7.5625 * (t - flixel_tweens_FlxEase.B5) * (t - flixel_tweens_FlxEase.B5) + .9375)) / 2; } return (1 - (7.5625 * (t - flixel_tweens_FlxEase.B6) * (t - flixel_tweens_FlxEase.B6) + .984375)) / 2; } t = t * 2 - 1; if(t < flixel_tweens_FlxEase.B1) { return 7.5625 * t * t / 2 + .5; } if(t < flixel_tweens_FlxEase.B2) { return (7.5625 * (t - flixel_tweens_FlxEase.B3) * (t - flixel_tweens_FlxEase.B3) + .75) / 2 + .5; } if(t < flixel_tweens_FlxEase.B4) { return (7.5625 * (t - flixel_tweens_FlxEase.B5) * (t - flixel_tweens_FlxEase.B5) + .9375) / 2 + .5; } return (7.5625 * (t - flixel_tweens_FlxEase.B6) * (t - flixel_tweens_FlxEase.B6) + .984375) / 2 + .5; }; flixel_tweens_FlxEase.circIn = function(t) { return -(Math.sqrt(1 - t * t) - 1); }; flixel_tweens_FlxEase.circOut = function(t) { return Math.sqrt(1 - (t - 1) * (t - 1)); }; flixel_tweens_FlxEase.circInOut = function(t) { if(t <= .5) { return (Math.sqrt(1 - t * t * 4) - 1) / -2; } else { return (Math.sqrt(1 - (t * 2 - 2) * (t * 2 - 2)) + 1) / 2; } }; flixel_tweens_FlxEase.expoIn = function(t) { return Math.pow(2,10 * (t - 1)); }; flixel_tweens_FlxEase.expoOut = function(t) { return -Math.pow(2,-10 * t) + 1; }; flixel_tweens_FlxEase.expoInOut = function(t) { if(t < .5) { return Math.pow(2,10 * (t * 2 - 1)) / 2; } else { return (-Math.pow(2,-10 * (t * 2 - 1)) + 2) / 2; } }; flixel_tweens_FlxEase.backIn = function(t) { return t * t * (2.70158 * t - 1.70158); }; flixel_tweens_FlxEase.backOut = function(t) { return 1 - --t * t * (-2.70158 * t - 1.70158); }; flixel_tweens_FlxEase.backInOut = function(t) { t *= 2; if(t < 1) { return t * t * (2.70158 * t - 1.70158) / 2; } --t; return (1 - --t * t * (-2.70158 * t - 1.70158)) / 2 + .5; }; flixel_tweens_FlxEase.elasticIn = function(t) { return -(flixel_tweens_FlxEase.ELASTIC_AMPLITUDE * Math.pow(2,10 * --t) * Math.sin((t - flixel_tweens_FlxEase.ELASTIC_PERIOD / (2 * Math.PI) * Math.asin(1 / flixel_tweens_FlxEase.ELASTIC_AMPLITUDE)) * (2 * Math.PI) / flixel_tweens_FlxEase.ELASTIC_PERIOD)); }; flixel_tweens_FlxEase.elasticOut = function(t) { return flixel_tweens_FlxEase.ELASTIC_AMPLITUDE * Math.pow(2,-10 * t) * Math.sin((t - flixel_tweens_FlxEase.ELASTIC_PERIOD / (2 * Math.PI) * Math.asin(1 / flixel_tweens_FlxEase.ELASTIC_AMPLITUDE)) * (2 * Math.PI) / flixel_tweens_FlxEase.ELASTIC_PERIOD) + 1; }; flixel_tweens_FlxEase.elasticInOut = function(t) { if(t < 0.5) { return -0.5 * (Math.pow(2,10 * (t -= 0.5)) * Math.sin((t - flixel_tweens_FlxEase.ELASTIC_PERIOD / 4) * (2 * Math.PI) / flixel_tweens_FlxEase.ELASTIC_PERIOD)); } return Math.pow(2,-10 * (t -= 0.5)) * Math.sin((t - flixel_tweens_FlxEase.ELASTIC_PERIOD / 4) * (2 * Math.PI) / flixel_tweens_FlxEase.ELASTIC_PERIOD) * 0.5 + 1; }; var flixel_tweens_FlxTween = function(Options,manager) { this._waitingForRestart = false; this._running = false; this._delayToUse = 0; this._secondsSinceStart = 0; this.loopDelay = 0; this.startDelay = 0; this.executions = 0; this.scale = 0; this.duration = 0; this.active = false; Options = this.resolveTweenOptions(Options); this.set_type(Options.type); this.onStart = Options.onStart; this.onUpdate = Options.onUpdate; this.onComplete = Options.onComplete; this.ease = Options.ease; this.setDelays(Options.startDelay,Options.loopDelay); this.manager = manager != null ? manager : flixel_tweens_FlxTween.globalManager; }; $hxClasses["flixel.tweens.FlxTween"] = flixel_tweens_FlxTween; flixel_tweens_FlxTween.__name__ = ["flixel","tweens","FlxTween"]; flixel_tweens_FlxTween.__interfaces__ = [flixel_util_IFlxDestroyable]; flixel_tweens_FlxTween.globalManager = null; flixel_tweens_FlxTween.tween = function(Object,Values,Duration,Options) { if(Duration == null) { Duration = 1; } return flixel_tweens_FlxTween.globalManager.tween(Object,Values,Duration,Options); }; flixel_tweens_FlxTween.num = function(FromValue,ToValue,Duration,Options,TweenFunction) { if(Duration == null) { Duration = 1; } return flixel_tweens_FlxTween.globalManager.num(FromValue,ToValue,Duration,Options,TweenFunction); }; flixel_tweens_FlxTween.angle = function(Sprite,FromAngle,ToAngle,Duration,Options) { if(Duration == null) { Duration = 1; } return flixel_tweens_FlxTween.globalManager.angle(Sprite,FromAngle,ToAngle,Duration,Options); }; flixel_tweens_FlxTween.color = function(Sprite,Duration,FromColor,ToColor,Options) { if(Duration == null) { Duration = 1; } return flixel_tweens_FlxTween.globalManager.color(Sprite,Duration,FromColor,ToColor,Options); }; flixel_tweens_FlxTween.linearMotion = function(Object,FromX,FromY,ToX,ToY,DurationOrSpeed,UseDuration,Options) { if(UseDuration == null) { UseDuration = true; } if(DurationOrSpeed == null) { DurationOrSpeed = 1; } return flixel_tweens_FlxTween.globalManager.linearMotion(Object,FromX,FromY,ToX,ToY,DurationOrSpeed,UseDuration,Options); }; flixel_tweens_FlxTween.quadMotion = function(Object,FromX,FromY,ControlX,ControlY,ToX,ToY,DurationOrSpeed,UseDuration,Options) { if(UseDuration == null) { UseDuration = true; } if(DurationOrSpeed == null) { DurationOrSpeed = 1; } return flixel_tweens_FlxTween.globalManager.quadMotion(Object,FromX,FromY,ControlX,ControlY,ToX,ToY,DurationOrSpeed,UseDuration,Options); }; flixel_tweens_FlxTween.cubicMotion = function(Object,FromX,FromY,aX,aY,bX,bY,ToX,ToY,Duration,Options) { if(Duration == null) { Duration = 1; } return flixel_tweens_FlxTween.globalManager.cubicMotion(Object,FromX,FromY,aX,aY,bX,bY,ToX,ToY,Duration,Options); }; flixel_tweens_FlxTween.circularMotion = function(Object,CenterX,CenterY,Radius,Angle,Clockwise,DurationOrSpeed,UseDuration,Options) { if(UseDuration == null) { UseDuration = true; } if(DurationOrSpeed == null) { DurationOrSpeed = 1; } return flixel_tweens_FlxTween.globalManager.circularMotion(Object,CenterX,CenterY,Radius,Angle,Clockwise,DurationOrSpeed,UseDuration,Options); }; flixel_tweens_FlxTween.linearPath = function(Object,Points,DurationOrSpeed,UseDuration,Options) { if(UseDuration == null) { UseDuration = true; } if(DurationOrSpeed == null) { DurationOrSpeed = 1; } return flixel_tweens_FlxTween.globalManager.linearPath(Object,Points,DurationOrSpeed,UseDuration,Options); }; flixel_tweens_FlxTween.quadPath = function(Object,Points,DurationOrSpeed,UseDuration,Options) { if(UseDuration == null) { UseDuration = true; } if(DurationOrSpeed == null) { DurationOrSpeed = 1; } return flixel_tweens_FlxTween.globalManager.quadPath(Object,Points,DurationOrSpeed,UseDuration,Options); }; flixel_tweens_FlxTween.prototype = { manager: null ,active: null ,duration: null ,ease: null ,onStart: null ,onUpdate: null ,onComplete: null ,type: null ,finished: null ,scale: null ,backward: null ,executions: null ,startDelay: null ,loopDelay: null ,_secondsSinceStart: null ,_delayToUse: null ,_running: null ,_waitingForRestart: null ,_chainedTweens: null ,_nextTweenInChain: null ,resolveTweenOptions: function(Options) { if(Options == null) { Options = { type : 8}; } if(Options.type == null) { Options.type = 8; } return Options; } ,destroy: function() { this.onStart = null; this.onUpdate = null; this.onComplete = null; this.ease = null; this.manager = null; this._chainedTweens = null; this._nextTweenInChain = null; } ,then: function(tween) { return this.addChainedTween(tween); } ,wait: function(delay) { return this.addChainedTween(flixel_tweens_FlxTween.num(0,0,delay)); } ,addChainedTween: function(tween) { tween.setVarsOnEnd(); tween.manager.remove(tween,false); if(this._chainedTweens == null) { this._chainedTweens = []; } this._chainedTweens.push(tween); return this; } ,update: function(elapsed) { this._secondsSinceStart += elapsed; var delay = this.executions > 0 ? this.loopDelay : this.startDelay; if(this._secondsSinceStart < delay) { return; } this.scale = Math.max(this._secondsSinceStart - delay,0) / this.duration; if(this.ease != null) { this.scale = this.ease(this.scale); } if(this.backward) { this.scale = 1 - this.scale; } if(this._secondsSinceStart > delay && !this._running) { this._running = true; if(this.onStart != null) { this.onStart(this); } } if(this._secondsSinceStart >= this.duration + delay) { this.scale = this.backward ? 0 : 1; this.finished = true; } else if(this.onUpdate != null) { this.onUpdate(this); } } ,start: function() { this._waitingForRestart = false; this._secondsSinceStart = 0; this._delayToUse = this.executions > 0 ? this.loopDelay : this.startDelay; if(this.duration == 0) { this.set_active(false); return this; } this.set_active(true); this._running = false; this.finished = false; return this; } ,cancel: function() { this.onEnd(); if(this.manager != null) { this.manager.remove(this); } } ,cancelChain: function() { if(this._nextTweenInChain != null) { this._nextTweenInChain.cancelChain(); } if(this._chainedTweens != null) { this._chainedTweens = null; } this.cancel(); } ,finish: function() { this.executions++; if(this.onComplete != null) { this.onComplete(this); } var type = this.type & ~16; if(type == 1 || type == 8) { this.onEnd(); this._secondsSinceStart = this.duration + this.startDelay; if(type == 8 && this.manager != null) { this.manager.remove(this); } } if(type == 2 || type == 4) { this._secondsSinceStart = (this._secondsSinceStart - this._delayToUse) % this.duration + this._delayToUse; this.scale = Math.max(this._secondsSinceStart - this._delayToUse,0) / this.duration; if(this.ease != null && this.scale > 0 && this.scale < 1) { this.scale = this.ease(this.scale); } if(type == 4) { this.backward = !this.backward; if(this.backward) { this.scale = 1 - this.scale; } } this.restart(); } } ,onEnd: function() { this.setVarsOnEnd(); this.processTweenChain(); } ,setVarsOnEnd: function() { this.set_active(false); this._running = false; this.finished = true; } ,processTweenChain: function() { if(this._chainedTweens == null || this._chainedTweens.length <= 0) { return; } this._nextTweenInChain = this._chainedTweens.shift(); this.doNextTween(this._nextTweenInChain); this._chainedTweens = null; } ,doNextTween: function(tween) { if(!tween.active) { tween.start(); this.manager.add_flixel_tweens_FlxTween(tween); } tween.setChain(this._chainedTweens); } ,setChain: function(previousChain) { if(previousChain == null) { return; } if(this._chainedTweens == null) { this._chainedTweens = previousChain; } else { this._chainedTweens = this._chainedTweens.concat(previousChain); } } ,restart: function() { if(this.active) { this.start(); } else { this._waitingForRestart = true; } } ,setDelays: function(StartDelay,LoopDelay) { this.set_startDelay(StartDelay != null ? StartDelay : 0); this.set_loopDelay(LoopDelay != null ? LoopDelay : 0); return this; } ,set_startDelay: function(value) { var dly = Math.abs(value); if(this.executions == 0) { this._secondsSinceStart = this.duration * (Math.max(this._secondsSinceStart - this._delayToUse,0) / this.duration) + Math.max(dly - this.startDelay,0); this._delayToUse = dly; } return this.startDelay = dly; } ,set_loopDelay: function(value) { var dly = Math.abs(value); if(this.executions > 0) { this._secondsSinceStart = this.duration * (Math.max(this._secondsSinceStart - this._delayToUse,0) / this.duration) + Math.max(dly - this.loopDelay,0); this._delayToUse = dly; } return this.loopDelay = dly; } ,get_percent: function() { return Math.max(this._secondsSinceStart - this._delayToUse,0) / this.duration; } ,set_percent: function(value) { return this._secondsSinceStart = this.duration * value + this._delayToUse; } ,set_type: function(value) { if(value == 0) { value = 8; } else if(value == 16) { value = 1 | 16; } this.backward = (value & 16) > 0; return this.type = value; } ,set_active: function(active) { this.active = active; if(this._waitingForRestart) { this.restart(); } return active; } ,__class__: flixel_tweens_FlxTween ,__properties__: {set_loopDelay:"set_loopDelay",set_startDelay:"set_startDelay",set_percent:"set_percent",get_percent:"get_percent",set_type:"set_type",set_active:"set_active"} }; var flixel_tweens_FlxTweenManager = function() { this._tweens = []; flixel_FlxBasic.call(this); this.set_visible(false); flixel_FlxG.signals.preStateSwitch.add($bind(this,this.clear)); }; $hxClasses["flixel.tweens.FlxTweenManager"] = flixel_tweens_FlxTweenManager; flixel_tweens_FlxTweenManager.__name__ = ["flixel","tweens","FlxTweenManager"]; flixel_tweens_FlxTweenManager.__super__ = flixel_FlxBasic; flixel_tweens_FlxTweenManager.prototype = $extend(flixel_FlxBasic.prototype,{ add_flixel_tweens_motion_QuadPath: function(Tween,Start) { if(Start == null) { Start = false; } if(Tween == null) { return null; } this._tweens.push(Tween); if(Start) { Tween.start(); } return Tween; } ,add_flixel_tweens_motion_LinearPath: function(Tween,Start) { if(Start == null) { Start = false; } if(Tween == null) { return null; } this._tweens.push(Tween); if(Start) { Tween.start(); } return Tween; } ,add_flixel_tweens_motion_CircularMotion: function(Tween,Start) { if(Start == null) { Start = false; } if(Tween == null) { return null; } this._tweens.push(Tween); if(Start) { Tween.start(); } return Tween; } ,add_flixel_tweens_motion_CubicMotion: function(Tween,Start) { if(Start == null) { Start = false; } if(Tween == null) { return null; } this._tweens.push(Tween); if(Start) { Tween.start(); } return Tween; } ,add_flixel_tweens_motion_QuadMotion: function(Tween,Start) { if(Start == null) { Start = false; } if(Tween == null) { return null; } this._tweens.push(Tween); if(Start) { Tween.start(); } return Tween; } ,add_flixel_tweens_motion_LinearMotion: function(Tween,Start) { if(Start == null) { Start = false; } if(Tween == null) { return null; } this._tweens.push(Tween); if(Start) { Tween.start(); } return Tween; } ,add_flixel_tweens_misc_ColorTween: function(Tween,Start) { if(Start == null) { Start = false; } if(Tween == null) { return null; } this._tweens.push(Tween); if(Start) { Tween.start(); } return Tween; } ,add_flixel_tweens_misc_AngleTween: function(Tween,Start) { if(Start == null) { Start = false; } if(Tween == null) { return null; } this._tweens.push(Tween); if(Start) { Tween.start(); } return Tween; } ,add_flixel_tweens_misc_NumTween: function(Tween,Start) { if(Start == null) { Start = false; } if(Tween == null) { return null; } this._tweens.push(Tween); if(Start) { Tween.start(); } return Tween; } ,add_flixel_tweens_FlxTween: function(Tween,Start) { if(Start == null) { Start = false; } if(Tween == null) { return null; } this._tweens.push(Tween); if(Start) { Tween.start(); } return Tween; } ,add_flixel_tweens_misc_VarTween: function(Tween,Start) { if(Start == null) { Start = false; } if(Tween == null) { return null; } this._tweens.push(Tween); if(Start) { Tween.start(); } return Tween; } ,_tweens: null ,tween: function(Object,Values,Duration,Options) { if(Duration == null) { Duration = 1; } var tween = new flixel_tweens_misc_VarTween(Options,this); tween.tween(Object,Values,Duration); return this.add_flixel_tweens_misc_VarTween(tween); } ,num: function(FromValue,ToValue,Duration,Options,TweenFunction) { if(Duration == null) { Duration = 1; } var tween = new flixel_tweens_misc_NumTween(Options,this); tween.tween(FromValue,ToValue,Duration,TweenFunction); return this.add_flixel_tweens_misc_NumTween(tween); } ,angle: function(Sprite,FromAngle,ToAngle,Duration,Options) { if(Duration == null) { Duration = 1; } var tween = new flixel_tweens_misc_AngleTween(Options,this); tween.tween(FromAngle,ToAngle,Duration,Sprite); return this.add_flixel_tweens_misc_AngleTween(tween); } ,color: function(Sprite,Duration,FromColor,ToColor,Options) { if(Duration == null) { Duration = 1; } var tween = new flixel_tweens_misc_ColorTween(Options,this); tween.tween(Duration,FromColor,ToColor,Sprite); return this.add_flixel_tweens_misc_ColorTween(tween); } ,linearMotion: function(Object,FromX,FromY,ToX,ToY,DurationOrSpeed,UseDuration,Options) { if(UseDuration == null) { UseDuration = true; } if(DurationOrSpeed == null) { DurationOrSpeed = 1; } var tween = new flixel_tweens_motion_LinearMotion(Options,this); tween.setObject(Object); tween.setMotion(FromX,FromY,ToX,ToY,DurationOrSpeed,UseDuration); return this.add_flixel_tweens_motion_LinearMotion(tween); } ,quadMotion: function(Object,FromX,FromY,ControlX,ControlY,ToX,ToY,DurationOrSpeed,UseDuration,Options) { if(UseDuration == null) { UseDuration = true; } if(DurationOrSpeed == null) { DurationOrSpeed = 1; } var tween = new flixel_tweens_motion_QuadMotion(Options,this); tween.setObject(Object); tween.setMotion(FromX,FromY,ControlX,ControlY,ToX,ToY,DurationOrSpeed,UseDuration); return this.add_flixel_tweens_motion_QuadMotion(tween); } ,cubicMotion: function(Object,FromX,FromY,aX,aY,bX,bY,ToX,ToY,Duration,Options) { if(Duration == null) { Duration = 1; } var tween = new flixel_tweens_motion_CubicMotion(Options,this); tween.setObject(Object); tween.setMotion(FromX,FromY,aX,aY,bX,bY,ToX,ToY,Duration); return this.add_flixel_tweens_motion_CubicMotion(tween); } ,circularMotion: function(Object,CenterX,CenterY,Radius,Angle,Clockwise,DurationOrSpeed,UseDuration,Options) { if(UseDuration == null) { UseDuration = true; } if(DurationOrSpeed == null) { DurationOrSpeed = 1; } var tween = new flixel_tweens_motion_CircularMotion(Options,this); tween.setObject(Object); tween.setMotion(CenterX,CenterY,Radius,Angle,Clockwise,DurationOrSpeed,UseDuration); return this.add_flixel_tweens_motion_CircularMotion(tween); } ,linearPath: function(Object,Points,DurationOrSpeed,UseDuration,Options) { if(UseDuration == null) { UseDuration = true; } if(DurationOrSpeed == null) { DurationOrSpeed = 1; } var tween = new flixel_tweens_motion_LinearPath(Options,this); if(Points != null) { var _g = 0; while(_g < Points.length) { var point = Points[_g]; ++_g; tween.addPoint(point.x,point.y); } } tween.setObject(Object); tween.setMotion(DurationOrSpeed,UseDuration); return this.add_flixel_tweens_motion_LinearPath(tween); } ,quadPath: function(Object,Points,DurationOrSpeed,UseDuration,Options) { if(UseDuration == null) { UseDuration = true; } if(DurationOrSpeed == null) { DurationOrSpeed = 1; } var tween = new flixel_tweens_motion_QuadPath(Options,this); if(Points != null) { var _g = 0; while(_g < Points.length) { var point = Points[_g]; ++_g; tween.addPoint(point.x,point.y); } } tween.setObject(Object); tween.setMotion(DurationOrSpeed,UseDuration); return this.add_flixel_tweens_motion_QuadPath(tween); } ,destroy: function() { flixel_FlxBasic.prototype.destroy.call(this); flixel_FlxG.signals.preStateSwitch.remove($bind(this,this.clear)); } ,update: function(elapsed) { var finishedTweens = null; var _g = 0; var _g1 = this._tweens; while(_g < _g1.length) { var tween = _g1[_g]; ++_g; if(!tween.active) { continue; } tween.update(elapsed); if(tween.finished) { if(finishedTweens == null) { finishedTweens = []; } finishedTweens.push(tween); } } if(finishedTweens != null) { while(finishedTweens.length > 0) finishedTweens.shift().finish(); } } ,remove: function(Tween,Destroy) { if(Destroy == null) { Destroy = true; } if(Tween == null) { return null; } Tween.set_active(false); if(Destroy) { Tween.destroy(); } var array = this._tweens; var index = array.indexOf(Tween); if(index != -1) { array[index] = array[array.length - 1]; array.pop(); } return Tween; } ,clear: function() { var _g = 0; var _g1 = this._tweens; while(_g < _g1.length) { var tween = _g1[_g]; ++_g; if(tween != null) { tween.set_active(false); tween.destroy(); } } this._tweens.splice(0,this._tweens.length); } ,completeAll: function() { var _g = 0; var _g1 = this._tweens; while(_g < _g1.length) { var tween = _g1[_g]; ++_g; if((tween.type & 2) == 0 && (tween.type & 4) == 0 && tween.active) { tween.update(1.79e+308); } } } ,forEach: function(Function) { var _g = 0; var _g1 = this._tweens; while(_g < _g1.length) { var tween = _g1[_g]; ++_g; Function(tween); } } ,__class__: flixel_tweens_FlxTweenManager }); var flixel_tweens_misc_AngleTween = function(Options,manager) { flixel_tweens_FlxTween.call(this,Options,manager); }; $hxClasses["flixel.tweens.misc.AngleTween"] = flixel_tweens_misc_AngleTween; flixel_tweens_misc_AngleTween.__name__ = ["flixel","tweens","misc","AngleTween"]; flixel_tweens_misc_AngleTween.__super__ = flixel_tweens_FlxTween; flixel_tweens_misc_AngleTween.prototype = $extend(flixel_tweens_FlxTween.prototype,{ angle: null ,sprite: null ,_start: null ,_range: null ,destroy: function() { flixel_tweens_FlxTween.prototype.destroy.call(this); this.sprite = null; } ,tween: function(FromAngle,ToAngle,Duration,Sprite) { this._start = this.angle = FromAngle; this._range = ToAngle - this.angle; this.duration = Duration; this.sprite = Sprite; if(this.sprite != null) { this.sprite.set_angle(this.angle % 360); } this.start(); return this; } ,update: function(elapsed) { flixel_tweens_FlxTween.prototype.update.call(this,elapsed); this.angle = this._start + this._range * this.scale; if(this.sprite != null) { var spriteAngle = this.angle % 360; this.sprite.set_angle(spriteAngle); } } ,__class__: flixel_tweens_misc_AngleTween }); var flixel_tweens_misc_ColorTween = function(Options,manager) { flixel_tweens_FlxTween.call(this,Options,manager); }; $hxClasses["flixel.tweens.misc.ColorTween"] = flixel_tweens_misc_ColorTween; flixel_tweens_misc_ColorTween.__name__ = ["flixel","tweens","misc","ColorTween"]; flixel_tweens_misc_ColorTween.__super__ = flixel_tweens_FlxTween; flixel_tweens_misc_ColorTween.prototype = $extend(flixel_tweens_FlxTween.prototype,{ color: null ,startColor: null ,endColor: null ,sprite: null ,destroy: function() { flixel_tweens_FlxTween.prototype.destroy.call(this); this.sprite = null; } ,tween: function(Duration,FromColor,ToColor,Sprite) { this.color = this.startColor = FromColor; this.endColor = ToColor; this.duration = Duration; this.sprite = Sprite; this.start(); return this; } ,update: function(elapsed) { flixel_tweens_FlxTween.prototype.update.call(this,elapsed); var Color1 = this.startColor; var Color2 = this.endColor; var Factor = this.scale; var r = ((Color2 >> 16 & 255) - (Color1 >> 16 & 255)) * Factor + (Color1 >> 16 & 255) | 0; var g = ((Color2 >> 8 & 255) - (Color1 >> 8 & 255)) * Factor + (Color1 >> 8 & 255) | 0; var b = ((Color2 & 255) - (Color1 & 255)) * Factor + (Color1 & 255) | 0; var a = ((Color2 >> 24 & 255) - (Color1 >> 24 & 255)) * Factor + (Color1 >> 24 & 255) | 0; var color = flixel_util__$FlxColor_FlxColor_$Impl_$._new(); color &= -16711681; color |= (r > 255 ? 255 : r < 0 ? 0 : r) << 16; color &= -65281; color |= (g > 255 ? 255 : g < 0 ? 0 : g) << 8; color &= -256; color |= b > 255 ? 255 : b < 0 ? 0 : b; color &= 16777215; color |= (a > 255 ? 255 : a < 0 ? 0 : a) << 24; this.color = color; if(this.sprite != null) { this.sprite.set_color(this.color); this.sprite.set_alpha((this.color >> 24 & 255) / 255); } } ,__class__: flixel_tweens_misc_ColorTween }); var flixel_tweens_misc_NumTween = function(Options,manager) { flixel_tweens_FlxTween.call(this,Options,manager); }; $hxClasses["flixel.tweens.misc.NumTween"] = flixel_tweens_misc_NumTween; flixel_tweens_misc_NumTween.__name__ = ["flixel","tweens","misc","NumTween"]; flixel_tweens_misc_NumTween.__super__ = flixel_tweens_FlxTween; flixel_tweens_misc_NumTween.prototype = $extend(flixel_tweens_FlxTween.prototype,{ value: null ,_tweenFunction: null ,_start: null ,_range: null ,destroy: function() { flixel_tweens_FlxTween.prototype.destroy.call(this); this._tweenFunction = null; } ,tween: function(fromValue,toValue,duration,tweenFunction) { this._tweenFunction = tweenFunction; this._start = this.value = fromValue; this._range = toValue - this.value; this.duration = duration; this.start(); return this; } ,update: function(elapsed) { flixel_tweens_FlxTween.prototype.update.call(this,elapsed); this.value = this._start + this._range * this.scale; if(this._tweenFunction != null) { this._tweenFunction(this.value); } } ,__class__: flixel_tweens_misc_NumTween }); var flixel_tweens_misc_VarTween = function(options,manager) { flixel_tweens_FlxTween.call(this,options,manager); }; $hxClasses["flixel.tweens.misc.VarTween"] = flixel_tweens_misc_VarTween; flixel_tweens_misc_VarTween.__name__ = ["flixel","tweens","misc","VarTween"]; flixel_tweens_misc_VarTween.__super__ = flixel_tweens_FlxTween; flixel_tweens_misc_VarTween.prototype = $extend(flixel_tweens_FlxTween.prototype,{ _object: null ,_properties: null ,_propertyInfos: null ,tween: function(object,properties,duration) { this._object = object; this._properties = properties; this._propertyInfos = []; this.duration = duration; this.start(); return this; } ,update: function(elapsed) { var delay = this.executions > 0 ? this.loopDelay : this.startDelay; if(this._secondsSinceStart < delay) { flixel_tweens_FlxTween.prototype.update.call(this,elapsed); } else { if(this._propertyInfos.length == 0) { this.initializeVars(); } flixel_tweens_FlxTween.prototype.update.call(this,elapsed); var _g = 0; var _g1 = this._propertyInfos; while(_g < _g1.length) { var info = _g1[_g]; ++_g; Reflect.setProperty(info.object,info.field,info.startValue + info.range * this.scale); } } } ,initializeVars: function() { var fieldPaths; if(Reflect.isObject(this._properties)) { fieldPaths = Reflect.fields(this._properties); } else { throw new js__$Boot_HaxeError("Unsupported properties container - use an object containing key/value pairs."); } var _g = 0; while(_g < fieldPaths.length) { var fieldPath = fieldPaths[_g]; ++_g; var target = this._object; var path = fieldPath.split("."); var field = path.pop(); var _g1 = 0; while(_g1 < path.length) { var component = path[_g1]; ++_g1; target = Reflect.getProperty(target,component); if(!Reflect.isObject(target)) { throw new js__$Boot_HaxeError("The object does not have the property \"" + component + "\" in \"" + fieldPath + "\""); } } if(Reflect.getProperty(target,field) == null) { throw new js__$Boot_HaxeError("The object does not have the property \"" + field + "\""); } var value = Reflect.getProperty(target,field); if(isNaN(value)) { throw new js__$Boot_HaxeError("The property \"" + field + "\" is not numeric."); } var targetValue = Reflect.getProperty(this._properties,fieldPath); this._propertyInfos.push({ object : target, field : field, startValue : value, range : targetValue - value}); } } ,destroy: function() { flixel_tweens_FlxTween.prototype.destroy.call(this); this._object = null; this._properties = null; this._propertyInfos = null; } ,__class__: flixel_tweens_misc_VarTween }); var flixel_tweens_motion_Motion = function(Options,manager) { this.y = 0; this.x = 0; flixel_tweens_FlxTween.call(this,Options,manager); }; $hxClasses["flixel.tweens.motion.Motion"] = flixel_tweens_motion_Motion; flixel_tweens_motion_Motion.__name__ = ["flixel","tweens","motion","Motion"]; flixel_tweens_motion_Motion.__super__ = flixel_tweens_FlxTween; flixel_tweens_motion_Motion.prototype = $extend(flixel_tweens_FlxTween.prototype,{ x: null ,y: null ,_object: null ,_wasObjectImmovable: null ,destroy: function() { flixel_tweens_FlxTween.prototype.destroy.call(this); this._object = null; } ,setObject: function(object) { this._object = object; this._wasObjectImmovable = this._object.immovable; this._object.set_immovable(true); return this; } ,update: function(elapsed) { flixel_tweens_FlxTween.prototype.update.call(this,elapsed); this.postUpdate(); } ,onEnd: function() { this._object.set_immovable(this._wasObjectImmovable); flixel_tweens_FlxTween.prototype.onEnd.call(this); } ,postUpdate: function() { if(this._object != null) { this._object.setPosition(this.x,this.y); } } ,__class__: flixel_tweens_motion_Motion }); var flixel_tweens_motion_CircularMotion = function(Options,manager) { this._angleFinish = 0; this._angleStart = 0; this._radius = 0; this._centerY = 0; this._centerX = 0; this.angle = 0; flixel_tweens_motion_Motion.call(this,Options,manager); }; $hxClasses["flixel.tweens.motion.CircularMotion"] = flixel_tweens_motion_CircularMotion; flixel_tweens_motion_CircularMotion.__name__ = ["flixel","tweens","motion","CircularMotion"]; flixel_tweens_motion_CircularMotion.__super__ = flixel_tweens_motion_Motion; flixel_tweens_motion_CircularMotion.prototype = $extend(flixel_tweens_motion_Motion.prototype,{ angle: null ,_centerX: null ,_centerY: null ,_radius: null ,_angleStart: null ,_angleFinish: null ,setMotion: function(CenterX,CenterY,Radius,Angle,Clockwise,DurationOrSpeed,UseDuration) { if(UseDuration == null) { UseDuration = true; } this._centerX = CenterX; this._centerY = CenterY; this._radius = Radius; this.angle = this._angleStart = Angle * Math.PI / -180; this._angleFinish = Math.PI * 2 * (Clockwise ? 1 : -1); if(UseDuration) { this.duration = DurationOrSpeed; } else { this.duration = this._radius * (Math.PI * 2) / DurationOrSpeed; } this.start(); return this; } ,update: function(elapsed) { flixel_tweens_motion_Motion.prototype.update.call(this,elapsed); this.angle = this._angleStart + this._angleFinish * this.scale; this.x = this._centerX + Math.cos(this.angle) * this._radius; this.y = this._centerY + Math.sin(this.angle) * this._radius; if(this.finished) { this.postUpdate(); } } ,get_circumference: function() { return this._radius * (Math.PI * 2); } ,__class__: flixel_tweens_motion_CircularMotion ,__properties__: $extend(flixel_tweens_motion_Motion.prototype.__properties__,{get_circumference:"get_circumference"}) }); var flixel_tweens_motion_CubicMotion = function(Options,manager) { this._tt = 0; this._ttt = 0; this._bY = 0; this._bX = 0; this._aY = 0; this._aX = 0; this._toY = 0; this._toX = 0; this._fromY = 0; this._fromX = 0; flixel_tweens_motion_Motion.call(this,Options,manager); }; $hxClasses["flixel.tweens.motion.CubicMotion"] = flixel_tweens_motion_CubicMotion; flixel_tweens_motion_CubicMotion.__name__ = ["flixel","tweens","motion","CubicMotion"]; flixel_tweens_motion_CubicMotion.__super__ = flixel_tweens_motion_Motion; flixel_tweens_motion_CubicMotion.prototype = $extend(flixel_tweens_motion_Motion.prototype,{ _fromX: null ,_fromY: null ,_toX: null ,_toY: null ,_aX: null ,_aY: null ,_bX: null ,_bY: null ,_ttt: null ,_tt: null ,setMotion: function(fromX,fromY,aX,aY,bX,bY,toX,toY,duration) { this.x = this._fromX = fromX; this.y = this._fromY = fromY; this._aX = aX; this._aY = aY; this._bX = bX; this._bY = bY; this._toX = toX; this._toY = toY; this.duration = duration; this.start(); return this; } ,update: function(elapsed) { flixel_tweens_motion_Motion.prototype.update.call(this,elapsed); this.x = this.scale * this.scale * this.scale * (this._toX + 3 * (this._aX - this._bX) - this._fromX) + 3 * this.scale * this.scale * (this._fromX - 2 * this._aX + this._bX) + 3 * this.scale * (this._aX - this._fromX) + this._fromX; this.y = this.scale * this.scale * this.scale * (this._toY + 3 * (this._aY - this._bY) - this._fromY) + 3 * this.scale * this.scale * (this._fromY - 2 * this._aY + this._bY) + 3 * this.scale * (this._aY - this._fromY) + this._fromY; if(this.finished) { this.postUpdate(); } } ,__class__: flixel_tweens_motion_CubicMotion }); var flixel_tweens_motion_LinearMotion = function(Options,manager) { this._distance = -1; this._moveY = 0; this._moveX = 0; this._fromY = 0; this._fromX = 0; flixel_tweens_motion_Motion.call(this,Options,manager); }; $hxClasses["flixel.tweens.motion.LinearMotion"] = flixel_tweens_motion_LinearMotion; flixel_tweens_motion_LinearMotion.__name__ = ["flixel","tweens","motion","LinearMotion"]; flixel_tweens_motion_LinearMotion.__super__ = flixel_tweens_motion_Motion; flixel_tweens_motion_LinearMotion.prototype = $extend(flixel_tweens_motion_Motion.prototype,{ _fromX: null ,_fromY: null ,_moveX: null ,_moveY: null ,_distance: null ,setMotion: function(FromX,FromY,ToX,ToY,DurationOrSpeed,UseDuration) { if(UseDuration == null) { UseDuration = true; } this._distance = -1; this.x = this._fromX = FromX; this.y = this._fromY = FromY; this._moveX = ToX - FromX; this._moveY = ToY - FromY; if(UseDuration) { this.duration = DurationOrSpeed; } else { this.duration = this.get_distance() / DurationOrSpeed; } this.start(); return this; } ,update: function(elapsed) { flixel_tweens_motion_Motion.prototype.update.call(this,elapsed); this.x = this._fromX + this._moveX * this.scale; this.y = this._fromY + this._moveY * this.scale; if(this.x == this._fromX + this._moveX && this.y == this._fromY + this._moveY && this.active && this._secondsSinceStart >= this.duration) { this.finished = true; } if(this.finished) { this.postUpdate(); } } ,get_distance: function() { if(this._distance >= 0) { return this._distance; } return this._distance = Math.sqrt(this._moveX * this._moveX + this._moveY * this._moveY); } ,__class__: flixel_tweens_motion_LinearMotion ,__properties__: $extend(flixel_tweens_motion_Motion.prototype.__properties__,{get_distance:"get_distance"}) }); var flixel_tweens_motion_LinearPath = function(Options,manager) { this._index = 0; this._speed = 0; this.distance = 0; flixel_tweens_motion_Motion.call(this,Options,manager); this.points = []; this._pointD = [0]; this._pointT = [0]; }; $hxClasses["flixel.tweens.motion.LinearPath"] = flixel_tweens_motion_LinearPath; flixel_tweens_motion_LinearPath.__name__ = ["flixel","tweens","motion","LinearPath"]; flixel_tweens_motion_LinearPath.__super__ = flixel_tweens_motion_Motion; flixel_tweens_motion_LinearPath.prototype = $extend(flixel_tweens_motion_Motion.prototype,{ distance: null ,points: null ,_pointD: null ,_pointT: null ,_speed: null ,_index: null ,_last: null ,_prevPoint: null ,_nextPoint: null ,destroy: function() { flixel_tweens_motion_Motion.prototype.destroy.call(this); var _g = 0; var _g1 = this.points; while(_g < _g1.length) { var point = _g1[_g]; ++_g; point = flixel_util_FlxDestroyUtil.put(point); } this._last = flixel_util_FlxDestroyUtil.put(this._last); this._prevPoint = flixel_util_FlxDestroyUtil.put(this._prevPoint); this._nextPoint = flixel_util_FlxDestroyUtil.put(this._nextPoint); } ,setMotion: function(DurationOrSpeed,UseDuration) { if(UseDuration == null) { UseDuration = true; } this.updatePath(); if(UseDuration) { this.duration = DurationOrSpeed; this._speed = this.distance / DurationOrSpeed; } else { this.duration = this.distance / DurationOrSpeed; this._speed = DurationOrSpeed; } this.start(); return this; } ,addPoint: function(x,y) { if(y == null) { y = 0; } if(x == null) { x = 0; } if(this._last != null) { this.distance += Math.sqrt((x - this._last.x) * (x - this._last.x) + (y - this._last.y) * (y - this._last.y)); this._pointD[this.points.length] = this.distance; } var tmp = this.points; var tmp1 = this.points.length; var point = flixel_math_FlxPoint._pool.get().set(x,y); point._inPool = false; tmp[tmp1] = this._last = point; return this; } ,getPoint: function(index) { if(index == null) { index = 0; } if(this.points.length == 0) { throw new js__$Boot_HaxeError("No points have been added to the path yet."); } return this.points[index % this.points.length]; } ,start: function() { this._index = this.backward ? this.points.length - 1 : 0; flixel_tweens_motion_Motion.prototype.start.call(this); return this; } ,update: function(elapsed) { flixel_tweens_motion_Motion.prototype.update.call(this,elapsed); var td; var tt; if(this.points == null) { return; } if(!this.backward) { if(this._index < this.points.length - 1) { while(this.scale > this._pointT[this._index + 1]) { this._index++; if(this._index == this.points.length - 1) { this._index -= 1; break; } } } td = this._pointT[this._index]; tt = this._pointT[this._index + 1] - td; td = (this.scale - td) / tt; this._prevPoint = this.points[this._index]; this._nextPoint = this.points[this._index + 1]; this.x = this._prevPoint.x + (this._nextPoint.x - this._prevPoint.x) * td; this.y = this._prevPoint.y + (this._nextPoint.y - this._prevPoint.y) * td; } else { if(this._index > 0) { while(this.scale < this._pointT[this._index - 1]) { this._index -= 1; if(this._index == 0) { this._index += 1; break; } } } td = this._pointT[this._index]; tt = this._pointT[this._index - 1] - td; td = (this.scale - td) / tt; this._prevPoint = this.points[this._index]; this._nextPoint = this.points[this._index - 1]; this.x = this._prevPoint.x + (this._nextPoint.x - this._prevPoint.x) * td; this.y = this._prevPoint.y + (this._nextPoint.y - this._prevPoint.y) * td; } flixel_tweens_motion_Motion.prototype.postUpdate.call(this); } ,updatePath: function() { if(this.points.length < 2) { throw new js__$Boot_HaxeError("A LinearPath must have at least 2 points to operate."); } if(this._pointD.length == this._pointT.length) { return; } var i = 0; while(i < this.points.length) this._pointT[i] = this._pointD[i++] / this.distance; } ,__class__: flixel_tweens_motion_LinearPath }); var flixel_tweens_motion_QuadMotion = function(Options,manager) { this._controlY = 0; this._controlX = 0; this._toY = 0; this._toX = 0; this._fromY = 0; this._fromX = 0; this._distance = -1; flixel_tweens_motion_Motion.call(this,Options,manager); }; $hxClasses["flixel.tweens.motion.QuadMotion"] = flixel_tweens_motion_QuadMotion; flixel_tweens_motion_QuadMotion.__name__ = ["flixel","tweens","motion","QuadMotion"]; flixel_tweens_motion_QuadMotion.__super__ = flixel_tweens_motion_Motion; flixel_tweens_motion_QuadMotion.prototype = $extend(flixel_tweens_motion_Motion.prototype,{ _distance: null ,_fromX: null ,_fromY: null ,_toX: null ,_toY: null ,_controlX: null ,_controlY: null ,setMotion: function(FromX,FromY,ControlX,ControlY,ToX,ToY,DurationOrSpeed,UseDuration) { if(UseDuration == null) { UseDuration = true; } this._distance = -1; this.x = this._fromX = FromX; this.y = this._fromY = FromY; this._controlX = ControlX; this._controlY = ControlY; this._toX = ToX; this._toY = ToY; if(UseDuration) { this.duration = DurationOrSpeed; } else { this.duration = this.get_distance() / DurationOrSpeed; } this.start(); return this; } ,update: function(elapsed) { flixel_tweens_motion_Motion.prototype.update.call(this,elapsed); this.x = this._fromX * (1 - this.scale) * (1 - this.scale) + this._controlX * 2 * (1 - this.scale) * this.scale + this._toX * this.scale * this.scale; this.y = this._fromY * (1 - this.scale) * (1 - this.scale) + this._controlY * 2 * (1 - this.scale) * this.scale + this._toY * this.scale * this.scale; if(this.finished) { this.postUpdate(); } } ,get_distance: function() { if(this._distance >= 0) { return this._distance; } var point = flixel_math_FlxPoint._pool.get().set(0,0); point._inPool = false; var p1 = point; var point1 = flixel_math_FlxPoint._pool.get().set(0,0); point1._inPool = false; var p2 = point1; p1.set_x(this.x - 2 * this._controlX + this._toX); p1.set_y(this.y - 2 * this._controlY + this._toY); p2.set_x(2 * this._controlX - 2 * this.x); p2.set_y(2 * this._controlY - 2 * this.y); var a = 4 * (p1.x * p1.x + p1.y * p1.y); var b = 4 * (p1.x * p2.x + p1.y * p2.y); var c = p2.x * p2.x + p2.y * p2.y; var abc = 2 * Math.sqrt(a + b + c); var a2 = Math.sqrt(a); var a32 = 2 * a * a2; var c2 = 2 * Math.sqrt(c); var ba = b / a2; p1.put(); p2.put(); return (a32 * abc + a2 * b * (abc - c2) + (4 * c * a - b * b) * Math.log((2 * a2 + ba + abc) / (ba + c2))) / (4 * a32); } ,__class__: flixel_tweens_motion_QuadMotion ,__properties__: $extend(flixel_tweens_motion_Motion.prototype.__properties__,{get_distance:"get_distance"}) }); var flixel_tweens_motion_QuadPath = function(Options,manager) { this._updateCurve = true; this._numSegs = 0; this._index = 0; this._speed = 0; this._distance = 0; flixel_tweens_motion_Motion.call(this,Options,manager); this._points = []; this._curveT = []; this._curveD = []; }; $hxClasses["flixel.tweens.motion.QuadPath"] = flixel_tweens_motion_QuadPath; flixel_tweens_motion_QuadPath.__name__ = ["flixel","tweens","motion","QuadPath"]; flixel_tweens_motion_QuadPath.__super__ = flixel_tweens_motion_Motion; flixel_tweens_motion_QuadPath.prototype = $extend(flixel_tweens_motion_Motion.prototype,{ _points: null ,_distance: null ,_speed: null ,_index: null ,_numSegs: null ,_updateCurve: null ,_curveT: null ,_curveD: null ,_a: null ,_b: null ,_c: null ,destroy: function() { flixel_tweens_motion_Motion.prototype.destroy.call(this); var _g = 0; var _g1 = this._points; while(_g < _g1.length) { var point = _g1[_g]; ++_g; point = flixel_util_FlxDestroyUtil.put(point); } this._a = flixel_util_FlxDestroyUtil.put(this._a); this._b = flixel_util_FlxDestroyUtil.put(this._b); this._c = flixel_util_FlxDestroyUtil.put(this._c); } ,setMotion: function(DurationOrSpeed,UseDuration) { if(UseDuration == null) { UseDuration = true; } this.updatePath(); if(UseDuration) { this.duration = DurationOrSpeed; this._speed = this._distance / DurationOrSpeed; } else { this.duration = this._distance / DurationOrSpeed; this._speed = DurationOrSpeed; } this.start(); return this; } ,addPoint: function(x,y) { if(y == null) { y = 0; } if(x == null) { x = 0; } this._updateCurve = true; var tmp = this._points; var point = flixel_math_FlxPoint._pool.get().set(x,y); point._inPool = false; tmp.push(point); return this; } ,getPoint: function(index) { if(index == null) { index = 0; } if(this._points.length == 0) { throw new js__$Boot_HaxeError("No points have been added to the path yet."); } return this._points[index % this._points.length]; } ,start: function() { this._index = this.backward ? this._numSegs - 1 : 0; flixel_tweens_motion_Motion.prototype.start.call(this); return this; } ,update: function(elapsed) { flixel_tweens_motion_Motion.prototype.update.call(this,elapsed); var td; var tt; if(!this.backward && this._points != null) { if(this._index < this._numSegs - 1) { while(this.scale > this._curveT[this._index + 1]) { this._index++; if(this._index == this._numSegs - 1) { break; } } } td = this._curveT[this._index]; tt = this._curveT[this._index + 1] - td; td = (this.scale - td) / tt; this._a = this._points[this._index * 2]; this._b = this._points[this._index * 2 + 1]; this._c = this._points[this._index * 2 + 2]; this.x = this._a.x * (1 - td) * (1 - td) + this._b.x * 2 * (1 - td) * td + this._c.x * td * td; this.y = this._a.y * (1 - td) * (1 - td) + this._b.y * 2 * (1 - td) * td + this._c.y * td * td; } else if(this._points != null) { if(this._index > 0) { while(this.scale < this._curveT[this._index]) { this._index--; if(this._index == 0) { break; } } } td = this._curveT[this._index + 1]; tt = this._curveT[this._index] - td; td = (this.scale - td) / tt; this._a = this._points[this._index * 2 + 2]; this._b = this._points[this._index * 2 + 1]; this._c = this._points[this._index * 2]; this.x = this._a.x * (1 - td) * (1 - td) + this._b.x * 2 * (1 - td) * td + this._c.x * td * td; this.y = this._a.y * (1 - td) * (1 - td) + this._b.y * 2 * (1 - td) * td + this._c.y * td * td; } flixel_tweens_motion_Motion.prototype.postUpdate.call(this); } ,updatePath: function() { if((this._points.length - 1) % 2 != 0 || this._points.length < 3) { throw new js__$Boot_HaxeError("A QuadPath must have at least 3 points to operate and number of points must be a odd."); } if(!this._updateCurve) { return; } this._updateCurve = false; var i = 0; var j = 0; this._distance = 0; this._numSegs = (this._points.length - 1) / 2 | 0; while(i < this._numSegs) { j = i * 2; this._curveD[i] = this.getCurveLength(this._points[j],this._points[j + 1],this._points[j + 2]); this._distance += this._curveD[i++]; } i = 0; var d = 0; while(i < this._numSegs) { d += this._curveD[i]; this._curveT[i++] = d / this._distance; } this._curveT[this._numSegs - 1] = 1; this._curveT.unshift(0); } ,getCurveLength: function(start,control,finish) { var point = flixel_math_FlxPoint._pool.get().set(0,0); point._inPool = false; var p1 = point; var point1 = flixel_math_FlxPoint._pool.get().set(0,0); point1._inPool = false; var p2 = point1; p1.set_x(start.x - 2 * control.x + finish.x); p1.set_y(start.y - 2 * control.y + finish.y); p2.set_x(2 * control.x - 2 * start.x); p2.set_y(2 * control.y - 2 * start.y); var a = 4 * (p1.x * p1.x + p1.y * p1.y); var b = 4 * (p1.x * p2.x + p1.y * p2.y); var c = p2.x * p2.x + p2.y * p2.y; var abc = 2 * Math.sqrt(a + b + c); var a2 = Math.sqrt(a); var a32 = 2 * a * a2; var c2 = 2 * Math.sqrt(c); var ba = b / a2; p1.put(); p2.put(); return (a32 * abc + a2 * b * (abc - c2) + (4 * c * a - b * b) * Math.log((2 * a2 + ba + abc) / (ba + c2))) / (4 * a32); } ,__class__: flixel_tweens_motion_QuadPath }); var flixel_util_FlxArrayUtil = function() { }; $hxClasses["flixel.util.FlxArrayUtil"] = flixel_util_FlxArrayUtil; flixel_util_FlxArrayUtil.__name__ = ["flixel","util","FlxArrayUtil"]; flixel_util_FlxArrayUtil.setLength_Int = function(array,newLength) { if(newLength < 0) { return array; } var oldLength = array.length; var diff = newLength - oldLength; if(diff >= 0) { return array; } diff = -diff; var _g1 = 0; var _g = diff; while(_g1 < _g) { var i = _g1++; array.pop(); } return array; }; flixel_util_FlxArrayUtil.flatten2DArray_Int = function(array) { var result = []; var _g = 0; while(_g < array.length) { var innerArray = array[_g]; ++_g; var _g1 = 0; while(_g1 < innerArray.length) { var element = innerArray[_g1]; ++_g1; result.push(element); } } return result; }; flixel_util_FlxArrayUtil.fastSplice_flixel_util_FlxTimer = function(array,element) { var index = array.indexOf(element); if(index != -1) { array[index] = array[array.length - 1]; array.pop(); return array; } return array; }; flixel_util_FlxArrayUtil.fastSplice_flixel_tweens_FlxTween = function(array,element) { var index = array.indexOf(element); if(index != -1) { array[index] = array[array.length - 1]; array.pop(); return array; } return array; }; flixel_util_FlxArrayUtil.swapAndPop_fastSplice_T = function(array,index) { array[index] = array[array.length - 1]; array.pop(); return array; }; flixel_util_FlxArrayUtil.setLength_flixel_group_FlxTypedGroup_T = function(array,newLength) { if(newLength < 0) { return array; } var oldLength = array.length; var diff = newLength - oldLength; if(diff >= 0) { return array; } diff = -diff; var _g1 = 0; var _g = diff; while(_g1 < _g) { var i = _g1++; array.pop(); } return array; }; flixel_util_FlxArrayUtil.clearArray = function(array,recursive) { if(recursive == null) { recursive = false; } if(array == null) { return array; } if(recursive) { while(array.length > 0) { var thing = array.pop(); if((thing instanceof Array) && thing.__enum__ == null) { flixel_util_FlxArrayUtil.clearArray(array,recursive); } } } else { while(array.length > 0) array.pop(); } return array; }; flixel_util_FlxArrayUtil.equals = function(array1,array2) { if(array1 == null && array2 == null) { return true; } if(array1 == null && array2 != null) { return false; } if(array1 != null && array2 == null) { return false; } if(array1.length != array2.length) { return false; } var _g1 = 0; var _g = array1.length; while(_g1 < _g) { var i = _g1++; if(array1[i] != array2[i]) { return false; } } return true; }; flixel_util_FlxArrayUtil.last = function(array) { if(array == null || array.length == 0) { return null; } return array[array.length - 1]; }; flixel_util_FlxArrayUtil.safePush = function(array,element) { if(array == null) { array = []; } array.push(element); return array; }; flixel_util_FlxArrayUtil.contains = function(array,element) { return array.indexOf(element) != -1; }; var flixel_util_FlxAxes = $hxClasses["flixel.util.FlxAxes"] = { __ename__ : ["flixel","util","FlxAxes"], __constructs__ : ["X","Y","XY"] }; flixel_util_FlxAxes.X = ["X",0]; flixel_util_FlxAxes.X.toString = $estr; flixel_util_FlxAxes.X.__enum__ = flixel_util_FlxAxes; flixel_util_FlxAxes.Y = ["Y",1]; flixel_util_FlxAxes.Y.toString = $estr; flixel_util_FlxAxes.Y.__enum__ = flixel_util_FlxAxes; flixel_util_FlxAxes.XY = ["XY",2]; flixel_util_FlxAxes.XY.toString = $estr; flixel_util_FlxAxes.XY.__enum__ = flixel_util_FlxAxes; var flixel_util_FlxBitmapDataPool = function() { }; $hxClasses["flixel.util.FlxBitmapDataPool"] = flixel_util_FlxBitmapDataPool; flixel_util_FlxBitmapDataPool.__name__ = ["flixel","util","FlxBitmapDataPool"]; flixel_util_FlxBitmapDataPool.__properties__ = {set_maxLength:"set_maxLength"}; flixel_util_FlxBitmapDataPool.get = function(w,h,transparent,fillColor,exactSize) { if(exactSize == null) { exactSize = false; } if(transparent == null) { transparent = true; } var res = null; var node = flixel_util_FlxBitmapDataPool._head; while(node != null) { var bmd = node.bmd; if(bmd.transparent == transparent && bmd.width >= w && bmd.height >= h && (!exactSize || exactSize && bmd.width == w && bmd.height == h)) { res = bmd; if(node.prev != null) { node.prev.next = node.next; } if(node.next != null) { node.next.prev = node.prev; } if(node == flixel_util_FlxBitmapDataPool._head) { flixel_util_FlxBitmapDataPool._head = node.next; } if(node == flixel_util_FlxBitmapDataPool._tail) { flixel_util_FlxBitmapDataPool._tail = node.prev; } node = null; flixel_util_FlxBitmapDataPool.$length--; break; } node = node.next; } if(res != null) { if(fillColor != null) { flixel_util_FlxBitmapDataPool._rect.x = 0; flixel_util_FlxBitmapDataPool._rect.y = 0; flixel_util_FlxBitmapDataPool._rect.width = w; flixel_util_FlxBitmapDataPool._rect.height = h; res.fillRect(flixel_util_FlxBitmapDataPool._rect,fillColor); } } else { res = new openfl_display_BitmapData(w,h,transparent,fillColor != null ? fillColor : -1); } return res; }; flixel_util_FlxBitmapDataPool.put = function(bmd) { if(flixel_util_FlxBitmapDataPool.$length >= flixel_util_FlxBitmapDataPool.maxLength) { var last = flixel_util_FlxBitmapDataPool._tail; last.bmd.dispose(); if(last.prev != null) { last.prev.next = null; flixel_util_FlxBitmapDataPool._tail = last.prev; } last = null; flixel_util_FlxBitmapDataPool.$length--; } var node = new flixel_util__$FlxBitmapDataPool_FlxBitmapDataPoolNode(bmd); node.next = flixel_util_FlxBitmapDataPool._head; if(flixel_util_FlxBitmapDataPool._head == null) { flixel_util_FlxBitmapDataPool._head = flixel_util_FlxBitmapDataPool._tail = node; } else { flixel_util_FlxBitmapDataPool._head = node; node.next.prev = node; } flixel_util_FlxBitmapDataPool.$length++; }; flixel_util_FlxBitmapDataPool.clear = function() { var node = flixel_util_FlxBitmapDataPool._head; while(node != null) { var bmd = node.bmd; bmd.dispose(); bmd = null; node = node.next; } flixel_util_FlxBitmapDataPool.$length = 0; flixel_util_FlxBitmapDataPool._head = flixel_util_FlxBitmapDataPool._tail = null; }; flixel_util_FlxBitmapDataPool.set_maxLength = function(value) { if(flixel_util_FlxBitmapDataPool.maxLength != value) { var node = flixel_util_FlxBitmapDataPool._tail; while(node != null && flixel_util_FlxBitmapDataPool.$length > value) { var bmd = node.bmd; bmd.dispose(); bmd = null; node = node.prev; flixel_util_FlxBitmapDataPool.$length--; } } return flixel_util_FlxBitmapDataPool.maxLength = value; }; var flixel_util__$FlxBitmapDataPool_FlxBitmapDataPoolNode = function(bmd,prev,next) { this.bmd = bmd; this.prev = prev; this.next = next; }; $hxClasses["flixel.util._FlxBitmapDataPool.FlxBitmapDataPoolNode"] = flixel_util__$FlxBitmapDataPool_FlxBitmapDataPoolNode; flixel_util__$FlxBitmapDataPool_FlxBitmapDataPoolNode.__name__ = ["flixel","util","_FlxBitmapDataPool","FlxBitmapDataPoolNode"]; flixel_util__$FlxBitmapDataPool_FlxBitmapDataPoolNode.prototype = { bmd: null ,prev: null ,next: null ,__class__: flixel_util__$FlxBitmapDataPool_FlxBitmapDataPoolNode }; var flixel_util_FlxBitmapDataUtil = function() { }; $hxClasses["flixel.util.FlxBitmapDataUtil"] = flixel_util_FlxBitmapDataUtil; flixel_util_FlxBitmapDataUtil.__name__ = ["flixel","util","FlxBitmapDataUtil"]; flixel_util_FlxBitmapDataUtil.merge = function(sourceBitmapData,sourceRect,destBitmapData,destPoint,redMultiplier,greenMultiplier,blueMultiplier,alphaMultiplier) { if(destPoint.x >= destBitmapData.width || destPoint.y >= destBitmapData.height || sourceRect.x >= sourceBitmapData.width || sourceRect.y >= sourceBitmapData.height || sourceRect.x + sourceRect.width <= 0 || sourceRect.y + sourceRect.height <= 0) { return; } while(sourceRect.x + sourceRect.width > sourceBitmapData.width || sourceRect.y + sourceRect.height > sourceBitmapData.height || sourceRect.x < 0 || sourceRect.y < 0 || destPoint.x < 0 || destPoint.y < 0) { if(sourceRect.x + sourceRect.width > sourceBitmapData.width) { sourceRect.width = sourceBitmapData.width - sourceRect.x; } if(sourceRect.y + sourceRect.height > sourceBitmapData.height) { sourceRect.height = sourceBitmapData.height - sourceRect.y; } if(sourceRect.x < 0) { destPoint.x -= sourceRect.x; sourceRect.width += sourceRect.x; sourceRect.x = 0; } if(sourceRect.y < 0) { destPoint.y -= sourceRect.y; sourceRect.height += sourceRect.y; sourceRect.y = 0; } if(destPoint.x >= destBitmapData.width || destPoint.y >= destBitmapData.height) { return; } if(destPoint.x < 0) { sourceRect.x -= destPoint.x; sourceRect.width += destPoint.x; destPoint.x = 0; } if(destPoint.y < 0) { sourceRect.y -= destPoint.y; sourceRect.height += destPoint.y; destPoint.y = 0; } } if(sourceRect.width <= 0 || sourceRect.height <= 0) { return; } var startSourceX = Math.round(sourceRect.x); var startSourceY = Math.round(sourceRect.y); var width = Math.round(sourceRect.width); var height = Math.round(sourceRect.height); var sourceX = startSourceX; var sourceY = startSourceY; var destX = Math.round(destPoint.x); var destY = Math.round(destPoint.y); var currX = destX; var currY = destY; var sourceColor; var destColor; var resultRed; var resultGreen; var resultBlue; var resultAlpha; var resultColor = 0; destBitmapData.lock(); var _g1 = 0; var _g = width; while(_g1 < _g) { var i = _g1++; var _g3 = 0; var _g2 = height; while(_g3 < _g2) { var j = _g3++; sourceX = startSourceX + i; sourceY = startSourceY + j; currX = destX + i; currY = destY + j; sourceColor = sourceBitmapData.getPixel32(sourceX,sourceY); destColor = destBitmapData.getPixel32(currX,currY); resultRed = ((sourceColor >> 16 & 255) * redMultiplier + (destColor >> 16 & 255) * (256 - redMultiplier)) / 256 | 0; resultGreen = ((sourceColor >> 8 & 255) * greenMultiplier + (destColor >> 8 & 255) * (256 - greenMultiplier)) / 256 | 0; resultBlue = ((sourceColor & 255) * blueMultiplier + (destColor & 255) * (256 - blueMultiplier)) / 256 | 0; resultAlpha = ((sourceColor >> 24 & 255) * alphaMultiplier + (destColor >> 24 & 255) * (256 - alphaMultiplier)) / 256 | 0; var color = flixel_util__$FlxColor_FlxColor_$Impl_$._new(); color &= -16711681; color |= (resultRed > 255 ? 255 : resultRed < 0 ? 0 : resultRed) << 16; color &= -65281; color |= (resultGreen > 255 ? 255 : resultGreen < 0 ? 0 : resultGreen) << 8; color &= -256; color |= resultBlue > 255 ? 255 : resultBlue < 0 ? 0 : resultBlue; color &= 16777215; color |= (resultAlpha > 255 ? 255 : resultAlpha < 0 ? 0 : resultAlpha) << 24; resultColor = color; destBitmapData.setPixel32(currX,currY,resultColor); } } destBitmapData.unlock(); }; flixel_util_FlxBitmapDataUtil.mergeColorComponent = function(source,dest,multiplier) { return (source * multiplier + dest * (256 - multiplier)) / 256 | 0; }; flixel_util_FlxBitmapDataUtil.compare = function(Bitmap1,Bitmap2) { if(Bitmap1 == Bitmap2) { return 0; } if(Bitmap1.width != Bitmap2.width) { return -3; } else if(Bitmap1.height != Bitmap2.height) { return -4; } else { var width = Bitmap1.width; var height = Bitmap1.height; var result = new openfl_display_BitmapData(width,height,true,0); var identical = true; var _g1 = 0; var _g = width; while(_g1 < _g) { var i = _g1++; var _g3 = 0; var _g2 = height; while(_g3 < _g2) { var j = _g3++; var pixel1 = Bitmap1.getPixel32(i,j); var pixel2 = Bitmap2.getPixel32(i,j); if(pixel1 != pixel2) { identical = false; if((pixel1 & 16777215) != (pixel2 & 16777215)) { var diff = (pixel1 >> 16 & 255) - (pixel2 >> 16 & 255); var Red = diff >= 0 ? diff : 256 + diff; var diff1 = (pixel1 >> 8 & 255) - (pixel2 >> 8 & 255); var Green = diff1 >= 0 ? diff1 : 256 + diff1; var diff2 = (pixel1 & 255) - (pixel2 & 255); var Blue = diff2 >= 0 ? diff2 : 256 + diff2; var color = flixel_util__$FlxColor_FlxColor_$Impl_$._new(); color &= -16711681; color |= (Red > 255 ? 255 : Red < 0 ? 0 : Red) << 16; color &= -65281; color |= (Green > 255 ? 255 : Green < 0 ? 0 : Green) << 8; color &= -256; color |= Blue > 255 ? 255 : Blue < 0 ? 0 : Blue; color &= 16777215; color |= -16777216; result.setPixel32(i,j,color); } else { var alpha1 = pixel1 >> 24 & 255; var alpha2 = pixel2 >> 24 & 255; if(alpha1 != alpha2) { var diff3 = alpha1 - alpha2; var Alpha = diff3 >= 0 ? diff3 : 256 + diff3; var color1 = flixel_util__$FlxColor_FlxColor_$Impl_$._new(); color1 &= -16711681; color1 |= 16711680; color1 &= -65281; color1 |= 65280; color1 &= -256; color1 |= 255; color1 &= 16777215; color1 |= (Alpha > 255 ? 255 : Alpha < 0 ? 0 : Alpha) << 24; result.setPixel32(i,j,color1); } } } } } if(!identical) { return result; } } return 0; }; flixel_util_FlxBitmapDataUtil.getDiff = function(value1,value2) { var diff = value1 - value2; if(diff >= 0) { return diff; } else { return 256 + diff; } }; flixel_util_FlxBitmapDataUtil.getMemorySize = function(bitmapData) { return bitmapData.width * bitmapData.height * 4; }; flixel_util_FlxBitmapDataUtil.replaceColor = function(bitmapData,color,newColor,fetchPositions,rect) { if(fetchPositions == null) { fetchPositions = false; } var positions = null; if(fetchPositions) { positions = []; } var startX = 0; var startY = 0; var columns = bitmapData.width; var rows = bitmapData.height; if(rect != null) { startX = rect.x | 0; startY = rect.y | 0; columns = rect.width | 0; rows = rect.height | 0; } columns = Math.max(columns,bitmapData.width) | 0; rows = Math.max(rows,bitmapData.height) | 0; var row = 0; var column = 0; var x; var y; var changed = false; bitmapData.lock(); while(row < rows) { column = 0; while(column < columns) { x = startX + column; y = startY + row; if(bitmapData.getPixel32(x,y) == color) { bitmapData.setPixel32(x,y,newColor); changed = true; if(fetchPositions) { var point = flixel_math_FlxPoint._pool.get().set(x,y); point._inPool = false; positions.push(point); } } ++column; } ++row; } bitmapData.unlock(); if(changed && positions == null) { positions = []; } return positions; }; flixel_util_FlxBitmapDataUtil.addSpacesAndBorders = function(bitmapData,frameSize,spacing,border,region) { if(region == null) { var Width = bitmapData.width; var Height = bitmapData.height; var _this = flixel_math_FlxRect._pool.get(); _this.x = 0; _this.y = 0; _this.width = Width; _this.height = Height; var rect = _this; rect._inPool = false; region = rect; } var frameWidth = region.width | 0; var frameHeight = region.height | 0; if(frameSize != null) { frameWidth = frameSize.x | 0; frameHeight = frameSize.y | 0; } var numHorizontalFrames = region.width / frameWidth | 0; var numVerticalFrames = region.height / frameHeight | 0; var spaceX = 0; var spaceY = 0; if(spacing != null) { spaceX = spacing.x | 0; spaceY = spacing.y | 0; } var borderX = 0; var borderY = 0; if(border != null) { borderX = border.x | 0; borderY = border.y | 0; } var result = new openfl_display_BitmapData(region.width + (numHorizontalFrames - 1) * spaceX + 2 * numHorizontalFrames * borderX | 0,region.height + (numVerticalFrames - 1) * spaceY + 2 * numVerticalFrames * borderY | 0,true,0); result.lock(); var tempRect = new openfl_geom_Rectangle(0,0,frameWidth,frameHeight); var tempPoint = new openfl_geom_Point(); var _g1 = 0; var _g = numHorizontalFrames; while(_g1 < _g) { var i = _g1++; tempPoint.x = i * (frameWidth + spaceX + 2 * borderX) + borderX; tempRect.x = i * frameWidth + region.x; var _g3 = 0; var _g2 = numVerticalFrames; while(_g3 < _g2) { var j = _g3++; tempPoint.y = j * (frameHeight + spaceY + 2 * borderY) + borderY; tempRect.y = j * frameHeight + region.y; result.copyPixels(bitmapData,tempRect,tempPoint); } } result.unlock(); flixel_util_FlxBitmapDataUtil.copyBorderPixels(result,frameWidth,frameHeight,spaceX,spaceY,borderX,borderY,numHorizontalFrames,numVerticalFrames); return result; }; flixel_util_FlxBitmapDataUtil.copyBorderPixels = function(bitmapData,frameWidth,frameHeight,spaceX,spaceY,borderX,borderY,horizontalFrames,verticalFrames) { var tempRect = new openfl_geom_Rectangle(0,0,1,bitmapData.height); var tempPoint = new openfl_geom_Point(); bitmapData.lock(); var _g1 = 0; var _g = horizontalFrames; while(_g1 < _g) { var i = _g1++; tempRect.x = i * (frameWidth + 2 * borderX + spaceX) + borderX; var _g3 = 0; var _g2 = borderX; while(_g3 < _g2) { var j = _g3++; tempPoint.x = tempRect.x - j - 1; bitmapData.copyPixels(bitmapData,tempRect,tempPoint); } tempRect.x += frameWidth - 1; var _g31 = 0; var _g21 = borderX; while(_g31 < _g21) { var j1 = _g31++; tempPoint.x = tempRect.x + j1 + 1; bitmapData.copyPixels(bitmapData,tempRect,tempPoint); } } tempPoint.setTo(0,0); tempRect.setTo(0,0,bitmapData.width,1); var _g11 = 0; var _g4 = verticalFrames; while(_g11 < _g4) { var i1 = _g11++; tempRect.y = i1 * (frameHeight + 2 * borderY + spaceY) + borderY; var _g32 = 0; var _g22 = borderY; while(_g32 < _g22) { var j2 = _g32++; tempPoint.y = tempRect.y - j2 - 1; bitmapData.copyPixels(bitmapData,tempRect,tempPoint); } tempRect.y += frameHeight - 1; var _g33 = 0; var _g23 = borderY; while(_g33 < _g23) { var j3 = _g33++; tempPoint.y = tempRect.y + j3 + 1; bitmapData.copyPixels(bitmapData,tempRect,tempPoint); } } bitmapData.unlock(); return bitmapData; }; flixel_util_FlxBitmapDataUtil.generateRotations = function(brush,rotations,antiAliasing,autoBuffer) { if(autoBuffer == null) { autoBuffer = false; } if(antiAliasing == null) { antiAliasing = false; } if(rotations == null) { rotations = 16; } var brushWidth = brush.width; var brushHeight = brush.height; var max = brushHeight > brushWidth ? brushHeight : brushWidth; if(autoBuffer) { max = max * 1.5 | 0; } else { max = max; } var rows = Math.sqrt(rotations) | 0; var columns = Math.ceil(rotations / rows); var bakedRotationAngle = 360 / rotations; var width = max * columns; var height = max * rows; var result = new openfl_display_BitmapData(width,height,true,0); var row = 0; var column = 0; var bakedAngle = 0; var halfBrushWidth = brushWidth * 0.5 | 0; var halfBrushHeight = brushHeight * 0.5 | 0; var midpointX = max * 0.5 | 0; var midpointY = max * 0.5 | 0; while(row < rows) { column = 0; while(column < columns) { flixel_util_FlxBitmapDataUtil.matrix.identity(); flixel_util_FlxBitmapDataUtil.matrix.translate(-halfBrushWidth,-halfBrushHeight); flixel_util_FlxBitmapDataUtil.matrix.rotate(bakedAngle * (Math.PI / 180)); flixel_util_FlxBitmapDataUtil.matrix.translate(max * column + midpointX,midpointY); bakedAngle += bakedRotationAngle; result.draw(brush,flixel_util_FlxBitmapDataUtil.matrix,null,null,null,antiAliasing); ++column; } midpointY += max; ++row; } return result; }; var flixel_util_FlxCollision = function() { }; $hxClasses["flixel.util.FlxCollision"] = flixel_util_FlxCollision; flixel_util_FlxCollision.__name__ = ["flixel","util","FlxCollision"]; flixel_util_FlxCollision.pixelPerfectCheck = function(Contact,Target,AlphaTolerance,Camera) { if(AlphaTolerance == null) { AlphaTolerance = 1; } var considerRotation = Contact.angle != 0 || Target.angle != 0; if(Camera != null) { Camera = Camera; } else { Camera = flixel_FlxG.camera; } flixel_util_FlxCollision.pointA.set_x(Contact.x - (Camera.scroll.x * Contact.scrollFactor.x | 0) - Contact.offset.x); flixel_util_FlxCollision.pointA.set_y(Contact.y - (Camera.scroll.y * Contact.scrollFactor.y | 0) - Contact.offset.y); flixel_util_FlxCollision.pointB.set_x(Target.x - (Camera.scroll.x * Target.scrollFactor.x | 0) - Target.offset.x); flixel_util_FlxCollision.pointB.set_y(Target.y - (Camera.scroll.y * Target.scrollFactor.y | 0) - Target.offset.y); if(considerRotation) { Contact.origin.copyTo(flixel_util_FlxCollision.centerA); Target.origin.copyTo(flixel_util_FlxCollision.centerB); var this1 = flixel_util_FlxCollision.centerA; var lengthA = Math.sqrt(this1.x * this1.x + this1.y * this1.y); flixel_util_FlxCollision.boundsA.x = flixel_util_FlxCollision.pointA.x + flixel_util_FlxCollision.centerA.x - lengthA; flixel_util_FlxCollision.boundsA.y = flixel_util_FlxCollision.pointA.y + flixel_util_FlxCollision.centerA.y - lengthA; flixel_util_FlxCollision.boundsA.width = lengthA * 2; flixel_util_FlxCollision.boundsA.height = flixel_util_FlxCollision.boundsA.width; var this2 = flixel_util_FlxCollision.centerB; var lengthB = Math.sqrt(this2.x * this2.x + this2.y * this2.y); flixel_util_FlxCollision.boundsB.x = flixel_util_FlxCollision.pointB.x + flixel_util_FlxCollision.centerB.x - lengthB; flixel_util_FlxCollision.boundsB.y = flixel_util_FlxCollision.pointB.y + flixel_util_FlxCollision.centerB.y - lengthB; flixel_util_FlxCollision.boundsB.width = lengthB * 2; flixel_util_FlxCollision.boundsB.height = flixel_util_FlxCollision.boundsB.width; } else { flixel_util_FlxCollision.boundsA.x = flixel_util_FlxCollision.pointA.x; flixel_util_FlxCollision.boundsA.y = flixel_util_FlxCollision.pointA.y; flixel_util_FlxCollision.boundsA.width = Contact.frameWidth; flixel_util_FlxCollision.boundsA.height = Contact.frameHeight; flixel_util_FlxCollision.boundsB.x = flixel_util_FlxCollision.pointB.x; flixel_util_FlxCollision.boundsB.y = flixel_util_FlxCollision.pointB.y; flixel_util_FlxCollision.boundsB.width = Target.frameWidth; flixel_util_FlxCollision.boundsB.height = Target.frameHeight; } var _this = flixel_util_FlxCollision.intersect; _this.x = 0; _this.y = 0; _this.width = 0; _this.height = 0; flixel_util_FlxCollision.boundsA.intersection(flixel_util_FlxCollision.boundsB,_this); var tmp; var tmp1; var _this1 = flixel_util_FlxCollision.intersect; if(!(_this1.width == 0 || _this1.height == 0)) { tmp1 = flixel_util_FlxCollision.intersect.width < 1; } else { tmp1 = true; } if(!tmp1) { tmp = flixel_util_FlxCollision.intersect.height < 1; } else { tmp = true; } if(tmp) { return false; } flixel_util_FlxCollision.matrixA.identity(); flixel_util_FlxCollision.matrixA.translate(-(flixel_util_FlxCollision.intersect.x - flixel_util_FlxCollision.boundsA.x),-(flixel_util_FlxCollision.intersect.y - flixel_util_FlxCollision.boundsA.y)); flixel_util_FlxCollision.matrixB.identity(); flixel_util_FlxCollision.matrixB.translate(-(flixel_util_FlxCollision.intersect.x - flixel_util_FlxCollision.boundsB.x),-(flixel_util_FlxCollision.intersect.y - flixel_util_FlxCollision.boundsB.y)); Contact.drawFrame(); Target.drawFrame(); var testA = Contact.framePixels; var testB = Target.framePixels; var overlapWidth = flixel_util_FlxCollision.intersect.width | 0; var overlapHeight = flixel_util_FlxCollision.intersect.height | 0; if(considerRotation) { flixel_util_FlxCollision.testMatrix.identity(); flixel_util_FlxCollision.testMatrix.translate(-Contact.origin.x,-Contact.origin.y); flixel_util_FlxCollision.testMatrix.rotate(Contact.angle * (Math.PI / 180)); flixel_util_FlxCollision.testMatrix.translate(flixel_util_FlxCollision.boundsA.width / 2,flixel_util_FlxCollision.boundsA.height / 2); var testA2 = flixel_util_FlxBitmapDataPool.get(Math.floor(flixel_util_FlxCollision.boundsA.width),Math.floor(flixel_util_FlxCollision.boundsA.height),true,0,false); testA2.draw(testA,flixel_util_FlxCollision.testMatrix,null,null,null,false); testA = testA2; flixel_util_FlxCollision.testMatrix.identity(); flixel_util_FlxCollision.testMatrix.translate(-Target.origin.x,-Target.origin.y); flixel_util_FlxCollision.testMatrix.rotate(Target.angle * (Math.PI / 180)); flixel_util_FlxCollision.testMatrix.translate(flixel_util_FlxCollision.boundsB.width / 2,flixel_util_FlxCollision.boundsB.height / 2); var testB2 = flixel_util_FlxBitmapDataPool.get(Math.floor(flixel_util_FlxCollision.boundsB.width),Math.floor(flixel_util_FlxCollision.boundsB.height),true,0,false); testB2.draw(testB,flixel_util_FlxCollision.testMatrix,null,null,null,false); testB = testB2; } flixel_util_FlxCollision.boundsA.x = -flixel_util_FlxCollision.matrixA.tx | 0; flixel_util_FlxCollision.boundsA.y = -flixel_util_FlxCollision.matrixA.ty | 0; flixel_util_FlxCollision.boundsA.width = overlapWidth; flixel_util_FlxCollision.boundsA.height = overlapHeight; flixel_util_FlxCollision.boundsB.x = -flixel_util_FlxCollision.matrixB.tx | 0; flixel_util_FlxCollision.boundsB.y = -flixel_util_FlxCollision.matrixB.ty | 0; flixel_util_FlxCollision.boundsB.width = overlapWidth; flixel_util_FlxCollision.boundsB.height = overlapHeight; var _this2 = flixel_util_FlxCollision.boundsA; var FlashRect = flixel_util_FlxCollision.flashRect; if(FlashRect == null) { FlashRect = new openfl_geom_Rectangle(); } FlashRect.x = _this2.x; FlashRect.y = _this2.y; FlashRect.width = _this2.width; FlashRect.height = _this2.height; var pixelsA = testA.getPixels(flixel_util_FlxCollision.flashRect); var _this3 = flixel_util_FlxCollision.boundsB; var FlashRect1 = flixel_util_FlxCollision.flashRect; if(FlashRect1 == null) { FlashRect1 = new openfl_geom_Rectangle(); } FlashRect1.x = _this3.x; FlashRect1.y = _this3.y; FlashRect1.width = _this3.width; FlashRect1.height = _this3.height; var pixelsB = testB.getPixels(flixel_util_FlxCollision.flashRect); var hit = false; var alphaA = 0; var alphaB = 0; var overlapPixels = overlapWidth * overlapHeight; var alphaIdx = 0; var _g1 = 0; var _g = Math.ceil(overlapPixels / 2); while(_g1 < _g) { var i = _g1++; alphaIdx = i << 3; pixelsA.position = pixelsB.position = alphaIdx; alphaA = pixelsA.readUnsignedByte(); alphaB = pixelsB.readUnsignedByte(); if(alphaA >= AlphaTolerance && alphaB >= AlphaTolerance) { hit = true; break; } } if(!hit) { var _g11 = 0; var _g2 = overlapPixels >> 1; while(_g11 < _g2) { var i1 = _g11++; alphaIdx = (i1 << 3) + 4; pixelsA.position = pixelsB.position = alphaIdx; alphaA = pixelsA.readUnsignedByte(); alphaB = pixelsB.readUnsignedByte(); if(alphaA >= AlphaTolerance && alphaB >= AlphaTolerance) { hit = true; break; } } } if(considerRotation) { flixel_util_FlxBitmapDataPool.put(testA); flixel_util_FlxBitmapDataPool.put(testB); } return hit; }; flixel_util_FlxCollision.pixelPerfectPointCheck = function(PointX,PointY,Target,AlphaTolerance) { if(AlphaTolerance == null) { AlphaTolerance = 1; } if(!flixel_math_FlxMath.pointInCoordinates(PointX,PointY,Math.floor(Target.x),Math.floor(Target.y),Target.get_width() | 0,Target.get_height() | 0)) { return false; } if(flixel_FlxG.renderTile) { Target.drawFrame(); } var test = Target.framePixels; var pixelAlpha = flixel_util__$FlxColor_FlxColor_$Impl_$._new(test.getPixel32(Math.floor(PointX - Target.x),Math.floor(PointY - Target.y))) >> 24 & 255; if(flixel_FlxG.renderTile) { pixelAlpha = pixelAlpha * Target.alpha | 0; } return pixelAlpha >= AlphaTolerance; }; flixel_util_FlxCollision.createCameraWall = function(Camera,PlaceOutside,Thickness,AdjustWorldBounds) { if(AdjustWorldBounds == null) { AdjustWorldBounds = false; } if(PlaceOutside == null) { PlaceOutside = true; } var left = null; var right = null; var top = null; var bottom = null; if(PlaceOutside) { left = new flixel_tile_FlxTileblock(Math.floor(Camera.x - Thickness),Math.floor(Camera.y + Thickness),Thickness,Camera.height - Thickness * 2); right = new flixel_tile_FlxTileblock(Math.floor(Camera.x + Camera.width),Math.floor(Camera.y + Thickness),Thickness,Camera.height - Thickness * 2); top = new flixel_tile_FlxTileblock(Math.floor(Camera.x - Thickness),Math.floor(Camera.y - Thickness),Camera.width + Thickness * 2,Thickness); bottom = new flixel_tile_FlxTileblock(Math.floor(Camera.x - Thickness),Camera.height,Camera.width + Thickness * 2,Thickness); if(AdjustWorldBounds) { var _this = flixel_FlxG.worldBounds; _this.x = Camera.x - Thickness; _this.y = Camera.y - Thickness; _this.width = Camera.width + Thickness * 2; _this.height = Camera.height + Thickness * 2; } } else { left = new flixel_tile_FlxTileblock(Math.floor(Camera.x),Math.floor(Camera.y + Thickness),Thickness,Camera.height - Thickness * 2); right = new flixel_tile_FlxTileblock(Math.floor(Camera.x + Camera.width - Thickness),Math.floor(Camera.y + Thickness),Thickness,Camera.height - Thickness * 2); top = new flixel_tile_FlxTileblock(Math.floor(Camera.x),Math.floor(Camera.y),Camera.width,Thickness); bottom = new flixel_tile_FlxTileblock(Math.floor(Camera.x),Camera.height - Thickness,Camera.width,Thickness); if(AdjustWorldBounds) { var _this1 = flixel_FlxG.worldBounds; _this1.x = Camera.x; _this1.y = Camera.y; _this1.width = Camera.width; _this1.height = Camera.height; } } var result = new flixel_group_FlxTypedGroup(); result.add(left); result.add(right); result.add(top); result.add(bottom); return result; }; var flixel_util__$FlxColor_FlxColor_$Impl_$ = {}; $hxClasses["flixel.util._FlxColor.FlxColor_Impl_"] = flixel_util__$FlxColor_FlxColor_$Impl_$; flixel_util__$FlxColor_FlxColor_$Impl_$.__name__ = ["flixel","util","_FlxColor","FlxColor_Impl_"]; flixel_util__$FlxColor_FlxColor_$Impl_$.__properties__ = {set_lightness:"set_lightness",get_lightness:"get_lightness",set_brightness:"set_brightness",get_brightness:"get_brightness",set_saturation:"set_saturation",get_saturation:"get_saturation",set_hue:"set_hue",get_hue:"get_hue",set_black:"set_black",get_black:"get_black",set_yellow:"set_yellow",get_yellow:"get_yellow",set_magenta:"set_magenta",get_magenta:"get_magenta",set_cyan:"set_cyan",get_cyan:"get_cyan",set_alphaFloat:"set_alphaFloat",get_alphaFloat:"get_alphaFloat",set_greenFloat:"set_greenFloat",get_greenFloat:"get_greenFloat",set_blueFloat:"set_blueFloat",get_blueFloat:"get_blueFloat",set_redFloat:"set_redFloat",get_redFloat:"get_redFloat",set_alpha:"set_alpha",get_alpha:"get_alpha",set_green:"set_green",get_green:"get_green",set_blue:"set_blue",get_blue:"get_blue",set_red:"set_red",get_red:"get_red"}; flixel_util__$FlxColor_FlxColor_$Impl_$.fromInt = function(Value) { return flixel_util__$FlxColor_FlxColor_$Impl_$._new(Value); }; flixel_util__$FlxColor_FlxColor_$Impl_$.fromRGB = function(Red,Green,Blue,Alpha) { if(Alpha == null) { Alpha = 255; } var color = flixel_util__$FlxColor_FlxColor_$Impl_$._new(); color &= -16711681; color |= (Red > 255 ? 255 : Red < 0 ? 0 : Red) << 16; color &= -65281; color |= (Green > 255 ? 255 : Green < 0 ? 0 : Green) << 8; color &= -256; color |= Blue > 255 ? 255 : Blue < 0 ? 0 : Blue; color &= 16777215; color |= (Alpha > 255 ? 255 : Alpha < 0 ? 0 : Alpha) << 24; return color; }; flixel_util__$FlxColor_FlxColor_$Impl_$.fromRGBFloat = function(Red,Green,Blue,Alpha) { if(Alpha == null) { Alpha = 1; } var color = flixel_util__$FlxColor_FlxColor_$Impl_$._new(); var Value = Math.round(Red * 255); color &= -16711681; color |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 16; var Value1 = Math.round(Green * 255); color &= -65281; color |= (Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1) << 8; var Value2 = Math.round(Blue * 255); color &= -256; color |= Value2 > 255 ? 255 : Value2 < 0 ? 0 : Value2; var Value3 = Math.round(Alpha * 255); color &= 16777215; color |= (Value3 > 255 ? 255 : Value3 < 0 ? 0 : Value3) << 24; return color; }; flixel_util__$FlxColor_FlxColor_$Impl_$.fromCMYK = function(Cyan,Magenta,Yellow,Black,Alpha) { if(Alpha == null) { Alpha = 1; } var color = flixel_util__$FlxColor_FlxColor_$Impl_$._new(); var Value = (1 - Cyan) * (1 - Black); var Value1 = Math.round(Value * 255); color &= -16711681; color |= (Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1) << 16; var Value2 = (1 - Magenta) * (1 - Black); var Value3 = Math.round(Value2 * 255); color &= -65281; color |= (Value3 > 255 ? 255 : Value3 < 0 ? 0 : Value3) << 8; var Value4 = (1 - Yellow) * (1 - Black); var Value5 = Math.round(Value4 * 255); color &= -256; color |= Value5 > 255 ? 255 : Value5 < 0 ? 0 : Value5; var Value6 = Math.round(Alpha * 255); color &= 16777215; color |= (Value6 > 255 ? 255 : Value6 < 0 ? 0 : Value6) << 24; return color; }; flixel_util__$FlxColor_FlxColor_$Impl_$.fromHSB = function(Hue,Saturation,Brightness,Alpha) { if(Alpha == null) { Alpha = 1; } var color = flixel_util__$FlxColor_FlxColor_$Impl_$._new(); var chroma = Brightness * Saturation; var match = Brightness - chroma; var Hue1 = Hue; var Chroma = chroma; Hue1 %= 360; var hueD = Hue1 / 60; var mid = Chroma * (1 - Math.abs(hueD % 2 - 1)) + match; Chroma += match; var _g = hueD | 0; switch(_g) { case 0: var Value = Math.round(Chroma * 255); color &= -16711681; color |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 16; var Value1 = Math.round(mid * 255); color &= -65281; color |= (Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1) << 8; var Value2 = Math.round(match * 255); color &= -256; color |= Value2 > 255 ? 255 : Value2 < 0 ? 0 : Value2; var Value3 = Math.round(Alpha * 255); color &= 16777215; color |= (Value3 > 255 ? 255 : Value3 < 0 ? 0 : Value3) << 24; break; case 1: var Value4 = Math.round(mid * 255); color &= -16711681; color |= (Value4 > 255 ? 255 : Value4 < 0 ? 0 : Value4) << 16; var Value5 = Math.round(Chroma * 255); color &= -65281; color |= (Value5 > 255 ? 255 : Value5 < 0 ? 0 : Value5) << 8; var Value6 = Math.round(match * 255); color &= -256; color |= Value6 > 255 ? 255 : Value6 < 0 ? 0 : Value6; var Value7 = Math.round(Alpha * 255); color &= 16777215; color |= (Value7 > 255 ? 255 : Value7 < 0 ? 0 : Value7) << 24; break; case 2: var Value8 = Math.round(match * 255); color &= -16711681; color |= (Value8 > 255 ? 255 : Value8 < 0 ? 0 : Value8) << 16; var Value9 = Math.round(Chroma * 255); color &= -65281; color |= (Value9 > 255 ? 255 : Value9 < 0 ? 0 : Value9) << 8; var Value10 = Math.round(mid * 255); color &= -256; color |= Value10 > 255 ? 255 : Value10 < 0 ? 0 : Value10; var Value11 = Math.round(Alpha * 255); color &= 16777215; color |= (Value11 > 255 ? 255 : Value11 < 0 ? 0 : Value11) << 24; break; case 3: var Value12 = Math.round(match * 255); color &= -16711681; color |= (Value12 > 255 ? 255 : Value12 < 0 ? 0 : Value12) << 16; var Value13 = Math.round(mid * 255); color &= -65281; color |= (Value13 > 255 ? 255 : Value13 < 0 ? 0 : Value13) << 8; var Value14 = Math.round(Chroma * 255); color &= -256; color |= Value14 > 255 ? 255 : Value14 < 0 ? 0 : Value14; var Value15 = Math.round(Alpha * 255); color &= 16777215; color |= (Value15 > 255 ? 255 : Value15 < 0 ? 0 : Value15) << 24; break; case 4: var Value16 = Math.round(mid * 255); color &= -16711681; color |= (Value16 > 255 ? 255 : Value16 < 0 ? 0 : Value16) << 16; var Value17 = Math.round(match * 255); color &= -65281; color |= (Value17 > 255 ? 255 : Value17 < 0 ? 0 : Value17) << 8; var Value18 = Math.round(Chroma * 255); color &= -256; color |= Value18 > 255 ? 255 : Value18 < 0 ? 0 : Value18; var Value19 = Math.round(Alpha * 255); color &= 16777215; color |= (Value19 > 255 ? 255 : Value19 < 0 ? 0 : Value19) << 24; break; case 5: var Value20 = Math.round(Chroma * 255); color &= -16711681; color |= (Value20 > 255 ? 255 : Value20 < 0 ? 0 : Value20) << 16; var Value21 = Math.round(match * 255); color &= -65281; color |= (Value21 > 255 ? 255 : Value21 < 0 ? 0 : Value21) << 8; var Value22 = Math.round(mid * 255); color &= -256; color |= Value22 > 255 ? 255 : Value22 < 0 ? 0 : Value22; var Value23 = Math.round(Alpha * 255); color &= 16777215; color |= (Value23 > 255 ? 255 : Value23 < 0 ? 0 : Value23) << 24; break; } return color; }; flixel_util__$FlxColor_FlxColor_$Impl_$.fromHSL = function(Hue,Saturation,Lightness,Alpha) { if(Alpha == null) { Alpha = 1; } var color = flixel_util__$FlxColor_FlxColor_$Impl_$._new(); var chroma = (1 - Math.abs(2 * Lightness - 1)) * Saturation; var match = Lightness - chroma / 2; var Hue1 = Hue; var Chroma = chroma; Hue1 %= 360; var hueD = Hue1 / 60; var mid = Chroma * (1 - Math.abs(hueD % 2 - 1)) + match; Chroma += match; var _g = hueD | 0; switch(_g) { case 0: var Value = Math.round(Chroma * 255); color &= -16711681; color |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 16; var Value1 = Math.round(mid * 255); color &= -65281; color |= (Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1) << 8; var Value2 = Math.round(match * 255); color &= -256; color |= Value2 > 255 ? 255 : Value2 < 0 ? 0 : Value2; var Value3 = Math.round(Alpha * 255); color &= 16777215; color |= (Value3 > 255 ? 255 : Value3 < 0 ? 0 : Value3) << 24; break; case 1: var Value4 = Math.round(mid * 255); color &= -16711681; color |= (Value4 > 255 ? 255 : Value4 < 0 ? 0 : Value4) << 16; var Value5 = Math.round(Chroma * 255); color &= -65281; color |= (Value5 > 255 ? 255 : Value5 < 0 ? 0 : Value5) << 8; var Value6 = Math.round(match * 255); color &= -256; color |= Value6 > 255 ? 255 : Value6 < 0 ? 0 : Value6; var Value7 = Math.round(Alpha * 255); color &= 16777215; color |= (Value7 > 255 ? 255 : Value7 < 0 ? 0 : Value7) << 24; break; case 2: var Value8 = Math.round(match * 255); color &= -16711681; color |= (Value8 > 255 ? 255 : Value8 < 0 ? 0 : Value8) << 16; var Value9 = Math.round(Chroma * 255); color &= -65281; color |= (Value9 > 255 ? 255 : Value9 < 0 ? 0 : Value9) << 8; var Value10 = Math.round(mid * 255); color &= -256; color |= Value10 > 255 ? 255 : Value10 < 0 ? 0 : Value10; var Value11 = Math.round(Alpha * 255); color &= 16777215; color |= (Value11 > 255 ? 255 : Value11 < 0 ? 0 : Value11) << 24; break; case 3: var Value12 = Math.round(match * 255); color &= -16711681; color |= (Value12 > 255 ? 255 : Value12 < 0 ? 0 : Value12) << 16; var Value13 = Math.round(mid * 255); color &= -65281; color |= (Value13 > 255 ? 255 : Value13 < 0 ? 0 : Value13) << 8; var Value14 = Math.round(Chroma * 255); color &= -256; color |= Value14 > 255 ? 255 : Value14 < 0 ? 0 : Value14; var Value15 = Math.round(Alpha * 255); color &= 16777215; color |= (Value15 > 255 ? 255 : Value15 < 0 ? 0 : Value15) << 24; break; case 4: var Value16 = Math.round(mid * 255); color &= -16711681; color |= (Value16 > 255 ? 255 : Value16 < 0 ? 0 : Value16) << 16; var Value17 = Math.round(match * 255); color &= -65281; color |= (Value17 > 255 ? 255 : Value17 < 0 ? 0 : Value17) << 8; var Value18 = Math.round(Chroma * 255); color &= -256; color |= Value18 > 255 ? 255 : Value18 < 0 ? 0 : Value18; var Value19 = Math.round(Alpha * 255); color &= 16777215; color |= (Value19 > 255 ? 255 : Value19 < 0 ? 0 : Value19) << 24; break; case 5: var Value20 = Math.round(Chroma * 255); color &= -16711681; color |= (Value20 > 255 ? 255 : Value20 < 0 ? 0 : Value20) << 16; var Value21 = Math.round(match * 255); color &= -65281; color |= (Value21 > 255 ? 255 : Value21 < 0 ? 0 : Value21) << 8; var Value22 = Math.round(mid * 255); color &= -256; color |= Value22 > 255 ? 255 : Value22 < 0 ? 0 : Value22; var Value23 = Math.round(Alpha * 255); color &= 16777215; color |= (Value23 > 255 ? 255 : Value23 < 0 ? 0 : Value23) << 24; break; } return color; }; flixel_util__$FlxColor_FlxColor_$Impl_$.fromString = function(str) { var result = null; str = StringTools.trim(str); if(flixel_util__$FlxColor_FlxColor_$Impl_$.COLOR_REGEX.match(str)) { var hexColor = "0x" + flixel_util__$FlxColor_FlxColor_$Impl_$.COLOR_REGEX.matched(2); result = flixel_util__$FlxColor_FlxColor_$Impl_$._new(Std.parseInt(hexColor)); if(hexColor.length == 8) { var Value = Math.round(255); result &= 16777215; result |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 24; } } else { str = str.toUpperCase(); var key = flixel_util__$FlxColor_FlxColor_$Impl_$.colorLookup.keys(); while(key.hasNext()) { var key1 = key.next(); if(key1.toUpperCase() == str) { var _this = flixel_util__$FlxColor_FlxColor_$Impl_$.colorLookup; result = flixel_util__$FlxColor_FlxColor_$Impl_$._new(__map_reserved[key1] != null ? _this.getReserved(key1) : _this.h[key1]); break; } } } return result; }; flixel_util__$FlxColor_FlxColor_$Impl_$.getHSBColorWheel = function(Alpha) { if(Alpha == null) { Alpha = 255; } var _g = []; var _g1 = 0; while(_g1 < 360) { var c = _g1++; _g.push(flixel_util__$FlxColor_FlxColor_$Impl_$.fromHSB(c,1.0,1.0,Alpha)); } return _g; }; flixel_util__$FlxColor_FlxColor_$Impl_$.interpolate = function(Color1,Color2,Factor) { if(Factor == null) { Factor = 0.5; } var r = ((Color2 >> 16 & 255) - (Color1 >> 16 & 255)) * Factor + (Color1 >> 16 & 255) | 0; var g = ((Color2 >> 8 & 255) - (Color1 >> 8 & 255)) * Factor + (Color1 >> 8 & 255) | 0; var b = ((Color2 & 255) - (Color1 & 255)) * Factor + (Color1 & 255) | 0; var a = ((Color2 >> 24 & 255) - (Color1 >> 24 & 255)) * Factor + (Color1 >> 24 & 255) | 0; var color = flixel_util__$FlxColor_FlxColor_$Impl_$._new(); color &= -16711681; color |= (r > 255 ? 255 : r < 0 ? 0 : r) << 16; color &= -65281; color |= (g > 255 ? 255 : g < 0 ? 0 : g) << 8; color &= -256; color |= b > 255 ? 255 : b < 0 ? 0 : b; color &= 16777215; color |= (a > 255 ? 255 : a < 0 ? 0 : a) << 24; return color; }; flixel_util__$FlxColor_FlxColor_$Impl_$.gradient = function(Color1,Color2,Steps,Ease) { var output = []; if(Ease == null) { Ease = function(t) { return t; }; } var _g1 = 0; var _g = Steps; while(_g1 < _g) { var step = _g1++; var Factor = Ease(step / (Steps - 1)); var r = ((Color2 >> 16 & 255) - (Color1 >> 16 & 255)) * Factor + (Color1 >> 16 & 255) | 0; var g = ((Color2 >> 8 & 255) - (Color1 >> 8 & 255)) * Factor + (Color1 >> 8 & 255) | 0; var b = ((Color2 & 255) - (Color1 & 255)) * Factor + (Color1 & 255) | 0; var a = ((Color2 >> 24 & 255) - (Color1 >> 24 & 255)) * Factor + (Color1 >> 24 & 255) | 0; var color = flixel_util__$FlxColor_FlxColor_$Impl_$._new(); color &= -16711681; color |= (r > 255 ? 255 : r < 0 ? 0 : r) << 16; color &= -65281; color |= (g > 255 ? 255 : g < 0 ? 0 : g) << 8; color &= -256; color |= b > 255 ? 255 : b < 0 ? 0 : b; color &= 16777215; color |= (a > 255 ? 255 : a < 0 ? 0 : a) << 24; output[step] = color; } return output; }; flixel_util__$FlxColor_FlxColor_$Impl_$.multiply = function(lhs,rhs) { var Red = (lhs >> 16 & 255) / 255 * ((rhs >> 16 & 255) / 255); var Green = (lhs >> 8 & 255) / 255 * ((rhs >> 8 & 255) / 255); var Blue = (lhs & 255) / 255 * ((rhs & 255) / 255); var color = flixel_util__$FlxColor_FlxColor_$Impl_$._new(); var Value = Math.round(Red * 255); color &= -16711681; color |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 16; var Value1 = Math.round(Green * 255); color &= -65281; color |= (Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1) << 8; var Value2 = Math.round(Blue * 255); color &= -256; color |= Value2 > 255 ? 255 : Value2 < 0 ? 0 : Value2; var Value3 = Math.round(255); color &= 16777215; color |= (Value3 > 255 ? 255 : Value3 < 0 ? 0 : Value3) << 24; return color; }; flixel_util__$FlxColor_FlxColor_$Impl_$.add = function(lhs,rhs) { var Red = (lhs >> 16 & 255) + (rhs >> 16 & 255); var Green = (lhs >> 8 & 255) + (rhs >> 8 & 255); var Blue = (lhs & 255) + (rhs & 255); var color = flixel_util__$FlxColor_FlxColor_$Impl_$._new(); color &= -16711681; color |= (Red > 255 ? 255 : Red < 0 ? 0 : Red) << 16; color &= -65281; color |= (Green > 255 ? 255 : Green < 0 ? 0 : Green) << 8; color &= -256; color |= Blue > 255 ? 255 : Blue < 0 ? 0 : Blue; color &= 16777215; color |= -16777216; return color; }; flixel_util__$FlxColor_FlxColor_$Impl_$.subtract = function(lhs,rhs) { var Red = (lhs >> 16 & 255) - (rhs >> 16 & 255); var Green = (lhs >> 8 & 255) - (rhs >> 8 & 255); var Blue = (lhs & 255) - (rhs & 255); var color = flixel_util__$FlxColor_FlxColor_$Impl_$._new(); color &= -16711681; color |= (Red > 255 ? 255 : Red < 0 ? 0 : Red) << 16; color &= -65281; color |= (Green > 255 ? 255 : Green < 0 ? 0 : Green) << 8; color &= -256; color |= Blue > 255 ? 255 : Blue < 0 ? 0 : Blue; color &= 16777215; color |= -16777216; return color; }; flixel_util__$FlxColor_FlxColor_$Impl_$.getComplementHarmony = function(this1) { return flixel_util__$FlxColor_FlxColor_$Impl_$.fromHSB(flixel_math_FlxMath.wrap((flixel_util__$FlxColor_FlxColor_$Impl_$.get_hue(this1) | 0) + 180,0,350),Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)),(Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)) - Math.min((this1 >> 16 & 255) / 255,Math.min((this1 >> 8 & 255) / 255,(this1 & 255) / 255))) / Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)),(this1 >> 24 & 255) / 255); }; flixel_util__$FlxColor_FlxColor_$Impl_$.getAnalogousHarmony = function(this1,Threshold) { if(Threshold == null) { Threshold = 30; } var warmer = flixel_util__$FlxColor_FlxColor_$Impl_$.fromHSB(flixel_math_FlxMath.wrap((flixel_util__$FlxColor_FlxColor_$Impl_$.get_hue(this1) | 0) - Threshold,0,350),(Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)) - Math.min((this1 >> 16 & 255) / 255,Math.min((this1 >> 8 & 255) / 255,(this1 & 255) / 255))) / Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)),Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)),(this1 >> 24 & 255) / 255); var colder = flixel_util__$FlxColor_FlxColor_$Impl_$.fromHSB(flixel_math_FlxMath.wrap((flixel_util__$FlxColor_FlxColor_$Impl_$.get_hue(this1) | 0) + Threshold,0,350),(Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)) - Math.min((this1 >> 16 & 255) / 255,Math.min((this1 >> 8 & 255) / 255,(this1 & 255) / 255))) / Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)),Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)),(this1 >> 24 & 255) / 255); return { original : this1, warmer : warmer, colder : colder}; }; flixel_util__$FlxColor_FlxColor_$Impl_$.getSplitComplementHarmony = function(this1,Threshold) { if(Threshold == null) { Threshold = 30; } var oppositeHue = flixel_math_FlxMath.wrap((flixel_util__$FlxColor_FlxColor_$Impl_$.get_hue(this1) | 0) + 180,0,350); var warmer = flixel_util__$FlxColor_FlxColor_$Impl_$.fromHSB(flixel_math_FlxMath.wrap(oppositeHue - Threshold,0,350),(Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)) - Math.min((this1 >> 16 & 255) / 255,Math.min((this1 >> 8 & 255) / 255,(this1 & 255) / 255))) / Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)),Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)),(this1 >> 24 & 255) / 255); var colder = flixel_util__$FlxColor_FlxColor_$Impl_$.fromHSB(flixel_math_FlxMath.wrap(oppositeHue + Threshold,0,350),(Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)) - Math.min((this1 >> 16 & 255) / 255,Math.min((this1 >> 8 & 255) / 255,(this1 & 255) / 255))) / Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)),Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)),(this1 >> 24 & 255) / 255); return { original : this1, warmer : warmer, colder : colder}; }; flixel_util__$FlxColor_FlxColor_$Impl_$.getTriadicHarmony = function(this1) { var triadic1 = flixel_util__$FlxColor_FlxColor_$Impl_$.fromHSB(flixel_math_FlxMath.wrap((flixel_util__$FlxColor_FlxColor_$Impl_$.get_hue(this1) | 0) + 120,0,359),(Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)) - Math.min((this1 >> 16 & 255) / 255,Math.min((this1 >> 8 & 255) / 255,(this1 & 255) / 255))) / Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)),Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)),(this1 >> 24 & 255) / 255); var triadic2 = flixel_util__$FlxColor_FlxColor_$Impl_$.fromHSB(flixel_math_FlxMath.wrap((flixel_util__$FlxColor_FlxColor_$Impl_$.get_hue(triadic1) | 0) + 120,0,359),(Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)) - Math.min((this1 >> 16 & 255) / 255,Math.min((this1 >> 8 & 255) / 255,(this1 & 255) / 255))) / Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)),Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)),(this1 >> 24 & 255) / 255); return { color1 : this1, color2 : triadic1, color3 : triadic2}; }; flixel_util__$FlxColor_FlxColor_$Impl_$.to24Bit = function(this1) { return this1 & 16777215; }; flixel_util__$FlxColor_FlxColor_$Impl_$.toHexString = function(this1,Alpha,Prefix) { if(Prefix == null) { Prefix = true; } if(Alpha == null) { Alpha = true; } var tmp = Alpha ? StringTools.hex(this1 >> 24 & 255,2) : ""; return (Prefix ? "0x" : "") + tmp + StringTools.hex(this1 >> 16 & 255,2) + StringTools.hex(this1 >> 8 & 255,2) + StringTools.hex(this1 & 255,2); }; flixel_util__$FlxColor_FlxColor_$Impl_$.toWebString = function(this1) { return "#" + ("" + StringTools.hex(this1 >> 16 & 255,2) + StringTools.hex(this1 >> 8 & 255,2) + StringTools.hex(this1 & 255,2)); }; flixel_util__$FlxColor_FlxColor_$Impl_$.getColorInfo = function(this1) { var result = "0x" + StringTools.hex(this1 >> 24 & 255,2) + StringTools.hex(this1 >> 16 & 255,2) + StringTools.hex(this1 >> 8 & 255,2) + StringTools.hex(this1 & 255,2) + "\n"; result += "Alpha: " + (this1 >> 24 & 255) + " Red: " + (this1 >> 16 & 255) + " Green: " + (this1 >> 8 & 255) + " Blue: " + (this1 & 255) + "\n"; result += "Hue: " + flixel_math_FlxMath.roundDecimal(flixel_util__$FlxColor_FlxColor_$Impl_$.get_hue(this1),2) + " Saturation: " + flixel_math_FlxMath.roundDecimal((Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)) - Math.min((this1 >> 16 & 255) / 255,Math.min((this1 >> 8 & 255) / 255,(this1 & 255) / 255))) / Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)),2) + " Brightness: " + flixel_math_FlxMath.roundDecimal(Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)),2) + " Lightness: " + flixel_math_FlxMath.roundDecimal((Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)) + Math.min((this1 >> 16 & 255) / 255,Math.min((this1 >> 8 & 255) / 255,(this1 & 255) / 255))) / 2,2); return result; }; flixel_util__$FlxColor_FlxColor_$Impl_$.getDarkened = function(this1,Factor) { if(Factor == null) { Factor = 0.2; } var lowerBound = Factor < 0 ? 0 : Factor; if(lowerBound > 1) { Factor = 1; } else { Factor = lowerBound; } var output = this1; var Value = (Math.max((output >> 16 & 255) / 255,Math.max((output >> 8 & 255) / 255,(output & 255) / 255)) + Math.min((output >> 16 & 255) / 255,Math.min((output >> 8 & 255) / 255,(output & 255) / 255))) / 2 * (1 - Factor); var Hue = flixel_util__$FlxColor_FlxColor_$Impl_$.get_hue(output); var Alpha = (output >> 24 & 255) / 255; var chroma = (1 - Math.abs(2 * Value - 1)) * ((Math.max((output >> 16 & 255) / 255,Math.max((output >> 8 & 255) / 255,(output & 255) / 255)) - Math.min((output >> 16 & 255) / 255,Math.min((output >> 8 & 255) / 255,(output & 255) / 255))) / Math.max((output >> 16 & 255) / 255,Math.max((output >> 8 & 255) / 255,(output & 255) / 255))); var match = Value - chroma / 2; var Hue1 = Hue; var Chroma = chroma; Hue1 %= 360; var hueD = Hue1 / 60; var mid = Chroma * (1 - Math.abs(hueD % 2 - 1)) + match; Chroma += match; var _g = hueD | 0; switch(_g) { case 0: var Value1 = Math.round(Chroma * 255); output &= -16711681; output |= (Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1) << 16; var Value2 = Math.round(mid * 255); output &= -65281; output |= (Value2 > 255 ? 255 : Value2 < 0 ? 0 : Value2) << 8; var Value3 = Math.round(match * 255); output &= -256; output |= Value3 > 255 ? 255 : Value3 < 0 ? 0 : Value3; var Value4 = Math.round(Alpha * 255); output &= 16777215; output |= (Value4 > 255 ? 255 : Value4 < 0 ? 0 : Value4) << 24; break; case 1: var Value5 = Math.round(mid * 255); output &= -16711681; output |= (Value5 > 255 ? 255 : Value5 < 0 ? 0 : Value5) << 16; var Value6 = Math.round(Chroma * 255); output &= -65281; output |= (Value6 > 255 ? 255 : Value6 < 0 ? 0 : Value6) << 8; var Value7 = Math.round(match * 255); output &= -256; output |= Value7 > 255 ? 255 : Value7 < 0 ? 0 : Value7; var Value8 = Math.round(Alpha * 255); output &= 16777215; output |= (Value8 > 255 ? 255 : Value8 < 0 ? 0 : Value8) << 24; break; case 2: var Value9 = Math.round(match * 255); output &= -16711681; output |= (Value9 > 255 ? 255 : Value9 < 0 ? 0 : Value9) << 16; var Value10 = Math.round(Chroma * 255); output &= -65281; output |= (Value10 > 255 ? 255 : Value10 < 0 ? 0 : Value10) << 8; var Value11 = Math.round(mid * 255); output &= -256; output |= Value11 > 255 ? 255 : Value11 < 0 ? 0 : Value11; var Value12 = Math.round(Alpha * 255); output &= 16777215; output |= (Value12 > 255 ? 255 : Value12 < 0 ? 0 : Value12) << 24; break; case 3: var Value13 = Math.round(match * 255); output &= -16711681; output |= (Value13 > 255 ? 255 : Value13 < 0 ? 0 : Value13) << 16; var Value14 = Math.round(mid * 255); output &= -65281; output |= (Value14 > 255 ? 255 : Value14 < 0 ? 0 : Value14) << 8; var Value15 = Math.round(Chroma * 255); output &= -256; output |= Value15 > 255 ? 255 : Value15 < 0 ? 0 : Value15; var Value16 = Math.round(Alpha * 255); output &= 16777215; output |= (Value16 > 255 ? 255 : Value16 < 0 ? 0 : Value16) << 24; break; case 4: var Value17 = Math.round(mid * 255); output &= -16711681; output |= (Value17 > 255 ? 255 : Value17 < 0 ? 0 : Value17) << 16; var Value18 = Math.round(match * 255); output &= -65281; output |= (Value18 > 255 ? 255 : Value18 < 0 ? 0 : Value18) << 8; var Value19 = Math.round(Chroma * 255); output &= -256; output |= Value19 > 255 ? 255 : Value19 < 0 ? 0 : Value19; var Value20 = Math.round(Alpha * 255); output &= 16777215; output |= (Value20 > 255 ? 255 : Value20 < 0 ? 0 : Value20) << 24; break; case 5: var Value21 = Math.round(Chroma * 255); output &= -16711681; output |= (Value21 > 255 ? 255 : Value21 < 0 ? 0 : Value21) << 16; var Value22 = Math.round(match * 255); output &= -65281; output |= (Value22 > 255 ? 255 : Value22 < 0 ? 0 : Value22) << 8; var Value23 = Math.round(mid * 255); output &= -256; output |= Value23 > 255 ? 255 : Value23 < 0 ? 0 : Value23; var Value24 = Math.round(Alpha * 255); output &= 16777215; output |= (Value24 > 255 ? 255 : Value24 < 0 ? 0 : Value24) << 24; break; } return output; }; flixel_util__$FlxColor_FlxColor_$Impl_$.getLightened = function(this1,Factor) { if(Factor == null) { Factor = 0.2; } var lowerBound = Factor < 0 ? 0 : Factor; if(lowerBound > 1) { Factor = 1; } else { Factor = lowerBound; } var output = this1; var Value = (Math.max((output >> 16 & 255) / 255,Math.max((output >> 8 & 255) / 255,(output & 255) / 255)) + Math.min((output >> 16 & 255) / 255,Math.min((output >> 8 & 255) / 255,(output & 255) / 255))) / 2 + (1 - (Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)) + Math.min((this1 >> 16 & 255) / 255,Math.min((this1 >> 8 & 255) / 255,(this1 & 255) / 255))) / 2) * Factor; var Hue = flixel_util__$FlxColor_FlxColor_$Impl_$.get_hue(output); var Alpha = (output >> 24 & 255) / 255; var chroma = (1 - Math.abs(2 * Value - 1)) * ((Math.max((output >> 16 & 255) / 255,Math.max((output >> 8 & 255) / 255,(output & 255) / 255)) - Math.min((output >> 16 & 255) / 255,Math.min((output >> 8 & 255) / 255,(output & 255) / 255))) / Math.max((output >> 16 & 255) / 255,Math.max((output >> 8 & 255) / 255,(output & 255) / 255))); var match = Value - chroma / 2; var Hue1 = Hue; var Chroma = chroma; Hue1 %= 360; var hueD = Hue1 / 60; var mid = Chroma * (1 - Math.abs(hueD % 2 - 1)) + match; Chroma += match; var _g = hueD | 0; switch(_g) { case 0: var Value1 = Math.round(Chroma * 255); output &= -16711681; output |= (Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1) << 16; var Value2 = Math.round(mid * 255); output &= -65281; output |= (Value2 > 255 ? 255 : Value2 < 0 ? 0 : Value2) << 8; var Value3 = Math.round(match * 255); output &= -256; output |= Value3 > 255 ? 255 : Value3 < 0 ? 0 : Value3; var Value4 = Math.round(Alpha * 255); output &= 16777215; output |= (Value4 > 255 ? 255 : Value4 < 0 ? 0 : Value4) << 24; break; case 1: var Value5 = Math.round(mid * 255); output &= -16711681; output |= (Value5 > 255 ? 255 : Value5 < 0 ? 0 : Value5) << 16; var Value6 = Math.round(Chroma * 255); output &= -65281; output |= (Value6 > 255 ? 255 : Value6 < 0 ? 0 : Value6) << 8; var Value7 = Math.round(match * 255); output &= -256; output |= Value7 > 255 ? 255 : Value7 < 0 ? 0 : Value7; var Value8 = Math.round(Alpha * 255); output &= 16777215; output |= (Value8 > 255 ? 255 : Value8 < 0 ? 0 : Value8) << 24; break; case 2: var Value9 = Math.round(match * 255); output &= -16711681; output |= (Value9 > 255 ? 255 : Value9 < 0 ? 0 : Value9) << 16; var Value10 = Math.round(Chroma * 255); output &= -65281; output |= (Value10 > 255 ? 255 : Value10 < 0 ? 0 : Value10) << 8; var Value11 = Math.round(mid * 255); output &= -256; output |= Value11 > 255 ? 255 : Value11 < 0 ? 0 : Value11; var Value12 = Math.round(Alpha * 255); output &= 16777215; output |= (Value12 > 255 ? 255 : Value12 < 0 ? 0 : Value12) << 24; break; case 3: var Value13 = Math.round(match * 255); output &= -16711681; output |= (Value13 > 255 ? 255 : Value13 < 0 ? 0 : Value13) << 16; var Value14 = Math.round(mid * 255); output &= -65281; output |= (Value14 > 255 ? 255 : Value14 < 0 ? 0 : Value14) << 8; var Value15 = Math.round(Chroma * 255); output &= -256; output |= Value15 > 255 ? 255 : Value15 < 0 ? 0 : Value15; var Value16 = Math.round(Alpha * 255); output &= 16777215; output |= (Value16 > 255 ? 255 : Value16 < 0 ? 0 : Value16) << 24; break; case 4: var Value17 = Math.round(mid * 255); output &= -16711681; output |= (Value17 > 255 ? 255 : Value17 < 0 ? 0 : Value17) << 16; var Value18 = Math.round(match * 255); output &= -65281; output |= (Value18 > 255 ? 255 : Value18 < 0 ? 0 : Value18) << 8; var Value19 = Math.round(Chroma * 255); output &= -256; output |= Value19 > 255 ? 255 : Value19 < 0 ? 0 : Value19; var Value20 = Math.round(Alpha * 255); output &= 16777215; output |= (Value20 > 255 ? 255 : Value20 < 0 ? 0 : Value20) << 24; break; case 5: var Value21 = Math.round(Chroma * 255); output &= -16711681; output |= (Value21 > 255 ? 255 : Value21 < 0 ? 0 : Value21) << 16; var Value22 = Math.round(match * 255); output &= -65281; output |= (Value22 > 255 ? 255 : Value22 < 0 ? 0 : Value22) << 8; var Value23 = Math.round(mid * 255); output &= -256; output |= Value23 > 255 ? 255 : Value23 < 0 ? 0 : Value23; var Value24 = Math.round(Alpha * 255); output &= 16777215; output |= (Value24 > 255 ? 255 : Value24 < 0 ? 0 : Value24) << 24; break; } return output; }; flixel_util__$FlxColor_FlxColor_$Impl_$.getInverted = function(this1) { var oldAlpha = this1 >> 24 & 255; var lhs = -1; var Red = (lhs >> 16 & 255) - (this1 >> 16 & 255); var Green = (lhs >> 8 & 255) - (this1 >> 8 & 255); var Blue = (lhs & 255) - (this1 & 255); var color = flixel_util__$FlxColor_FlxColor_$Impl_$._new(); color &= -16711681; color |= (Red > 255 ? 255 : Red < 0 ? 0 : Red) << 16; color &= -65281; color |= (Green > 255 ? 255 : Green < 0 ? 0 : Green) << 8; color &= -256; color |= Blue > 255 ? 255 : Blue < 0 ? 0 : Blue; color &= 16777215; color |= -16777216; var output = color; output &= 16777215; output |= (oldAlpha > 255 ? 255 : oldAlpha < 0 ? 0 : oldAlpha) << 24; return output; }; flixel_util__$FlxColor_FlxColor_$Impl_$.setRGB = function(this1,Red,Green,Blue,Alpha) { if(Alpha == null) { Alpha = 255; } this1 &= -16711681; this1 |= (Red > 255 ? 255 : Red < 0 ? 0 : Red) << 16; this1 &= -65281; this1 |= (Green > 255 ? 255 : Green < 0 ? 0 : Green) << 8; this1 &= -256; this1 |= Blue > 255 ? 255 : Blue < 0 ? 0 : Blue; this1 &= 16777215; this1 |= (Alpha > 255 ? 255 : Alpha < 0 ? 0 : Alpha) << 24; return this1; }; flixel_util__$FlxColor_FlxColor_$Impl_$.setRGBFloat = function(this1,Red,Green,Blue,Alpha) { if(Alpha == null) { Alpha = 1; } var Value = Math.round(Red * 255); this1 &= -16711681; this1 |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 16; var Value1 = Math.round(Green * 255); this1 &= -65281; this1 |= (Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1) << 8; var Value2 = Math.round(Blue * 255); this1 &= -256; this1 |= Value2 > 255 ? 255 : Value2 < 0 ? 0 : Value2; var Value3 = Math.round(Alpha * 255); this1 &= 16777215; this1 |= (Value3 > 255 ? 255 : Value3 < 0 ? 0 : Value3) << 24; return this1; }; flixel_util__$FlxColor_FlxColor_$Impl_$.setCMYK = function(this1,Cyan,Magenta,Yellow,Black,Alpha) { if(Alpha == null) { Alpha = 1; } var Value = (1 - Cyan) * (1 - Black); var Value1 = Math.round(Value * 255); this1 &= -16711681; this1 |= (Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1) << 16; var Value2 = (1 - Magenta) * (1 - Black); var Value3 = Math.round(Value2 * 255); this1 &= -65281; this1 |= (Value3 > 255 ? 255 : Value3 < 0 ? 0 : Value3) << 8; var Value4 = (1 - Yellow) * (1 - Black); var Value5 = Math.round(Value4 * 255); this1 &= -256; this1 |= Value5 > 255 ? 255 : Value5 < 0 ? 0 : Value5; var Value6 = Math.round(Alpha * 255); this1 &= 16777215; this1 |= (Value6 > 255 ? 255 : Value6 < 0 ? 0 : Value6) << 24; return this1; }; flixel_util__$FlxColor_FlxColor_$Impl_$.setHSB = function(this1,Hue,Saturation,Brightness,Alpha) { var chroma = Brightness * Saturation; var match = Brightness - chroma; var Hue1 = Hue; var Chroma = chroma; Hue1 %= 360; var hueD = Hue1 / 60; var mid = Chroma * (1 - Math.abs(hueD % 2 - 1)) + match; Chroma += match; var _g = hueD | 0; switch(_g) { case 0: var Value = Math.round(Chroma * 255); this1 &= -16711681; this1 |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 16; var Value1 = Math.round(mid * 255); this1 &= -65281; this1 |= (Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1) << 8; var Value2 = Math.round(match * 255); this1 &= -256; this1 |= Value2 > 255 ? 255 : Value2 < 0 ? 0 : Value2; var Value3 = Math.round(Alpha * 255); this1 &= 16777215; this1 |= (Value3 > 255 ? 255 : Value3 < 0 ? 0 : Value3) << 24; break; case 1: var Value4 = Math.round(mid * 255); this1 &= -16711681; this1 |= (Value4 > 255 ? 255 : Value4 < 0 ? 0 : Value4) << 16; var Value5 = Math.round(Chroma * 255); this1 &= -65281; this1 |= (Value5 > 255 ? 255 : Value5 < 0 ? 0 : Value5) << 8; var Value6 = Math.round(match * 255); this1 &= -256; this1 |= Value6 > 255 ? 255 : Value6 < 0 ? 0 : Value6; var Value7 = Math.round(Alpha * 255); this1 &= 16777215; this1 |= (Value7 > 255 ? 255 : Value7 < 0 ? 0 : Value7) << 24; break; case 2: var Value8 = Math.round(match * 255); this1 &= -16711681; this1 |= (Value8 > 255 ? 255 : Value8 < 0 ? 0 : Value8) << 16; var Value9 = Math.round(Chroma * 255); this1 &= -65281; this1 |= (Value9 > 255 ? 255 : Value9 < 0 ? 0 : Value9) << 8; var Value10 = Math.round(mid * 255); this1 &= -256; this1 |= Value10 > 255 ? 255 : Value10 < 0 ? 0 : Value10; var Value11 = Math.round(Alpha * 255); this1 &= 16777215; this1 |= (Value11 > 255 ? 255 : Value11 < 0 ? 0 : Value11) << 24; break; case 3: var Value12 = Math.round(match * 255); this1 &= -16711681; this1 |= (Value12 > 255 ? 255 : Value12 < 0 ? 0 : Value12) << 16; var Value13 = Math.round(mid * 255); this1 &= -65281; this1 |= (Value13 > 255 ? 255 : Value13 < 0 ? 0 : Value13) << 8; var Value14 = Math.round(Chroma * 255); this1 &= -256; this1 |= Value14 > 255 ? 255 : Value14 < 0 ? 0 : Value14; var Value15 = Math.round(Alpha * 255); this1 &= 16777215; this1 |= (Value15 > 255 ? 255 : Value15 < 0 ? 0 : Value15) << 24; break; case 4: var Value16 = Math.round(mid * 255); this1 &= -16711681; this1 |= (Value16 > 255 ? 255 : Value16 < 0 ? 0 : Value16) << 16; var Value17 = Math.round(match * 255); this1 &= -65281; this1 |= (Value17 > 255 ? 255 : Value17 < 0 ? 0 : Value17) << 8; var Value18 = Math.round(Chroma * 255); this1 &= -256; this1 |= Value18 > 255 ? 255 : Value18 < 0 ? 0 : Value18; var Value19 = Math.round(Alpha * 255); this1 &= 16777215; this1 |= (Value19 > 255 ? 255 : Value19 < 0 ? 0 : Value19) << 24; break; case 5: var Value20 = Math.round(Chroma * 255); this1 &= -16711681; this1 |= (Value20 > 255 ? 255 : Value20 < 0 ? 0 : Value20) << 16; var Value21 = Math.round(match * 255); this1 &= -65281; this1 |= (Value21 > 255 ? 255 : Value21 < 0 ? 0 : Value21) << 8; var Value22 = Math.round(mid * 255); this1 &= -256; this1 |= Value22 > 255 ? 255 : Value22 < 0 ? 0 : Value22; var Value23 = Math.round(Alpha * 255); this1 &= 16777215; this1 |= (Value23 > 255 ? 255 : Value23 < 0 ? 0 : Value23) << 24; break; } return this1; }; flixel_util__$FlxColor_FlxColor_$Impl_$.setHSL = function(this1,Hue,Saturation,Lightness,Alpha) { var chroma = (1 - Math.abs(2 * Lightness - 1)) * Saturation; var match = Lightness - chroma / 2; var Hue1 = Hue; var Chroma = chroma; Hue1 %= 360; var hueD = Hue1 / 60; var mid = Chroma * (1 - Math.abs(hueD % 2 - 1)) + match; Chroma += match; var _g = hueD | 0; switch(_g) { case 0: var Value = Math.round(Chroma * 255); this1 &= -16711681; this1 |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 16; var Value1 = Math.round(mid * 255); this1 &= -65281; this1 |= (Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1) << 8; var Value2 = Math.round(match * 255); this1 &= -256; this1 |= Value2 > 255 ? 255 : Value2 < 0 ? 0 : Value2; var Value3 = Math.round(Alpha * 255); this1 &= 16777215; this1 |= (Value3 > 255 ? 255 : Value3 < 0 ? 0 : Value3) << 24; break; case 1: var Value4 = Math.round(mid * 255); this1 &= -16711681; this1 |= (Value4 > 255 ? 255 : Value4 < 0 ? 0 : Value4) << 16; var Value5 = Math.round(Chroma * 255); this1 &= -65281; this1 |= (Value5 > 255 ? 255 : Value5 < 0 ? 0 : Value5) << 8; var Value6 = Math.round(match * 255); this1 &= -256; this1 |= Value6 > 255 ? 255 : Value6 < 0 ? 0 : Value6; var Value7 = Math.round(Alpha * 255); this1 &= 16777215; this1 |= (Value7 > 255 ? 255 : Value7 < 0 ? 0 : Value7) << 24; break; case 2: var Value8 = Math.round(match * 255); this1 &= -16711681; this1 |= (Value8 > 255 ? 255 : Value8 < 0 ? 0 : Value8) << 16; var Value9 = Math.round(Chroma * 255); this1 &= -65281; this1 |= (Value9 > 255 ? 255 : Value9 < 0 ? 0 : Value9) << 8; var Value10 = Math.round(mid * 255); this1 &= -256; this1 |= Value10 > 255 ? 255 : Value10 < 0 ? 0 : Value10; var Value11 = Math.round(Alpha * 255); this1 &= 16777215; this1 |= (Value11 > 255 ? 255 : Value11 < 0 ? 0 : Value11) << 24; break; case 3: var Value12 = Math.round(match * 255); this1 &= -16711681; this1 |= (Value12 > 255 ? 255 : Value12 < 0 ? 0 : Value12) << 16; var Value13 = Math.round(mid * 255); this1 &= -65281; this1 |= (Value13 > 255 ? 255 : Value13 < 0 ? 0 : Value13) << 8; var Value14 = Math.round(Chroma * 255); this1 &= -256; this1 |= Value14 > 255 ? 255 : Value14 < 0 ? 0 : Value14; var Value15 = Math.round(Alpha * 255); this1 &= 16777215; this1 |= (Value15 > 255 ? 255 : Value15 < 0 ? 0 : Value15) << 24; break; case 4: var Value16 = Math.round(mid * 255); this1 &= -16711681; this1 |= (Value16 > 255 ? 255 : Value16 < 0 ? 0 : Value16) << 16; var Value17 = Math.round(match * 255); this1 &= -65281; this1 |= (Value17 > 255 ? 255 : Value17 < 0 ? 0 : Value17) << 8; var Value18 = Math.round(Chroma * 255); this1 &= -256; this1 |= Value18 > 255 ? 255 : Value18 < 0 ? 0 : Value18; var Value19 = Math.round(Alpha * 255); this1 &= 16777215; this1 |= (Value19 > 255 ? 255 : Value19 < 0 ? 0 : Value19) << 24; break; case 5: var Value20 = Math.round(Chroma * 255); this1 &= -16711681; this1 |= (Value20 > 255 ? 255 : Value20 < 0 ? 0 : Value20) << 16; var Value21 = Math.round(match * 255); this1 &= -65281; this1 |= (Value21 > 255 ? 255 : Value21 < 0 ? 0 : Value21) << 8; var Value22 = Math.round(mid * 255); this1 &= -256; this1 |= Value22 > 255 ? 255 : Value22 < 0 ? 0 : Value22; var Value23 = Math.round(Alpha * 255); this1 &= 16777215; this1 |= (Value23 > 255 ? 255 : Value23 < 0 ? 0 : Value23) << 24; break; } return this1; }; flixel_util__$FlxColor_FlxColor_$Impl_$.setHSChromaMatch = function(this1,Hue,Saturation,Chroma,Match,Alpha) { Hue %= 360; var hueD = Hue / 60; var mid = Chroma * (1 - Math.abs(hueD % 2 - 1)) + Match; Chroma += Match; var _g = hueD | 0; switch(_g) { case 0: var Value = Math.round(Chroma * 255); this1 &= -16711681; this1 |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 16; var Value1 = Math.round(mid * 255); this1 &= -65281; this1 |= (Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1) << 8; var Value2 = Math.round(Match * 255); this1 &= -256; this1 |= Value2 > 255 ? 255 : Value2 < 0 ? 0 : Value2; var Value3 = Math.round(Alpha * 255); this1 &= 16777215; this1 |= (Value3 > 255 ? 255 : Value3 < 0 ? 0 : Value3) << 24; break; case 1: var Value4 = Math.round(mid * 255); this1 &= -16711681; this1 |= (Value4 > 255 ? 255 : Value4 < 0 ? 0 : Value4) << 16; var Value5 = Math.round(Chroma * 255); this1 &= -65281; this1 |= (Value5 > 255 ? 255 : Value5 < 0 ? 0 : Value5) << 8; var Value6 = Math.round(Match * 255); this1 &= -256; this1 |= Value6 > 255 ? 255 : Value6 < 0 ? 0 : Value6; var Value7 = Math.round(Alpha * 255); this1 &= 16777215; this1 |= (Value7 > 255 ? 255 : Value7 < 0 ? 0 : Value7) << 24; break; case 2: var Value8 = Math.round(Match * 255); this1 &= -16711681; this1 |= (Value8 > 255 ? 255 : Value8 < 0 ? 0 : Value8) << 16; var Value9 = Math.round(Chroma * 255); this1 &= -65281; this1 |= (Value9 > 255 ? 255 : Value9 < 0 ? 0 : Value9) << 8; var Value10 = Math.round(mid * 255); this1 &= -256; this1 |= Value10 > 255 ? 255 : Value10 < 0 ? 0 : Value10; var Value11 = Math.round(Alpha * 255); this1 &= 16777215; this1 |= (Value11 > 255 ? 255 : Value11 < 0 ? 0 : Value11) << 24; break; case 3: var Value12 = Math.round(Match * 255); this1 &= -16711681; this1 |= (Value12 > 255 ? 255 : Value12 < 0 ? 0 : Value12) << 16; var Value13 = Math.round(mid * 255); this1 &= -65281; this1 |= (Value13 > 255 ? 255 : Value13 < 0 ? 0 : Value13) << 8; var Value14 = Math.round(Chroma * 255); this1 &= -256; this1 |= Value14 > 255 ? 255 : Value14 < 0 ? 0 : Value14; var Value15 = Math.round(Alpha * 255); this1 &= 16777215; this1 |= (Value15 > 255 ? 255 : Value15 < 0 ? 0 : Value15) << 24; break; case 4: var Value16 = Math.round(mid * 255); this1 &= -16711681; this1 |= (Value16 > 255 ? 255 : Value16 < 0 ? 0 : Value16) << 16; var Value17 = Math.round(Match * 255); this1 &= -65281; this1 |= (Value17 > 255 ? 255 : Value17 < 0 ? 0 : Value17) << 8; var Value18 = Math.round(Chroma * 255); this1 &= -256; this1 |= Value18 > 255 ? 255 : Value18 < 0 ? 0 : Value18; var Value19 = Math.round(Alpha * 255); this1 &= 16777215; this1 |= (Value19 > 255 ? 255 : Value19 < 0 ? 0 : Value19) << 24; break; case 5: var Value20 = Math.round(Chroma * 255); this1 &= -16711681; this1 |= (Value20 > 255 ? 255 : Value20 < 0 ? 0 : Value20) << 16; var Value21 = Math.round(Match * 255); this1 &= -65281; this1 |= (Value21 > 255 ? 255 : Value21 < 0 ? 0 : Value21) << 8; var Value22 = Math.round(mid * 255); this1 &= -256; this1 |= Value22 > 255 ? 255 : Value22 < 0 ? 0 : Value22; var Value23 = Math.round(Alpha * 255); this1 &= 16777215; this1 |= (Value23 > 255 ? 255 : Value23 < 0 ? 0 : Value23) << 24; break; } return this1; }; flixel_util__$FlxColor_FlxColor_$Impl_$._new = function(Value) { if(Value == null) { Value = 0; } var this1 = Value; return this1; }; flixel_util__$FlxColor_FlxColor_$Impl_$.getThis = function(this1) { return this1; }; flixel_util__$FlxColor_FlxColor_$Impl_$.validate = function(this1) { }; flixel_util__$FlxColor_FlxColor_$Impl_$.get_red = function(this1) { return this1 >> 16 & 255; }; flixel_util__$FlxColor_FlxColor_$Impl_$.get_green = function(this1) { return this1 >> 8 & 255; }; flixel_util__$FlxColor_FlxColor_$Impl_$.get_blue = function(this1) { return this1 & 255; }; flixel_util__$FlxColor_FlxColor_$Impl_$.get_alpha = function(this1) { return this1 >> 24 & 255; }; flixel_util__$FlxColor_FlxColor_$Impl_$.get_redFloat = function(this1) { return (this1 >> 16 & 255) / 255; }; flixel_util__$FlxColor_FlxColor_$Impl_$.get_greenFloat = function(this1) { return (this1 >> 8 & 255) / 255; }; flixel_util__$FlxColor_FlxColor_$Impl_$.get_blueFloat = function(this1) { return (this1 & 255) / 255; }; flixel_util__$FlxColor_FlxColor_$Impl_$.get_alphaFloat = function(this1) { return (this1 >> 24 & 255) / 255; }; flixel_util__$FlxColor_FlxColor_$Impl_$.set_red = function(this1,Value) { this1 &= -16711681; this1 |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 16; return Value; }; flixel_util__$FlxColor_FlxColor_$Impl_$.set_green = function(this1,Value) { this1 &= -65281; this1 |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 8; return Value; }; flixel_util__$FlxColor_FlxColor_$Impl_$.set_blue = function(this1,Value) { this1 &= -256; this1 |= Value > 255 ? 255 : Value < 0 ? 0 : Value; return Value; }; flixel_util__$FlxColor_FlxColor_$Impl_$.set_alpha = function(this1,Value) { this1 &= 16777215; this1 |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 24; return Value; }; flixel_util__$FlxColor_FlxColor_$Impl_$.set_redFloat = function(this1,Value) { var Value1 = Math.round(Value * 255); this1 &= -16711681; this1 |= (Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1) << 16; return Value; }; flixel_util__$FlxColor_FlxColor_$Impl_$.set_greenFloat = function(this1,Value) { var Value1 = Math.round(Value * 255); this1 &= -65281; this1 |= (Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1) << 8; return Value; }; flixel_util__$FlxColor_FlxColor_$Impl_$.set_blueFloat = function(this1,Value) { var Value1 = Math.round(Value * 255); this1 &= -256; this1 |= Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1; return Value; }; flixel_util__$FlxColor_FlxColor_$Impl_$.set_alphaFloat = function(this1,Value) { var Value1 = Math.round(Value * 255); this1 &= 16777215; this1 |= (Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1) << 24; return Value; }; flixel_util__$FlxColor_FlxColor_$Impl_$.get_cyan = function(this1) { return (1 - (this1 >> 16 & 255) / 255 - (1 - Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)))) / Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)); }; flixel_util__$FlxColor_FlxColor_$Impl_$.get_magenta = function(this1) { return (1 - (this1 >> 8 & 255) / 255 - (1 - Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)))) / Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)); }; flixel_util__$FlxColor_FlxColor_$Impl_$.get_yellow = function(this1) { return (1 - (this1 & 255) / 255 - (1 - Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)))) / Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)); }; flixel_util__$FlxColor_FlxColor_$Impl_$.get_black = function(this1) { return 1 - Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)); }; flixel_util__$FlxColor_FlxColor_$Impl_$.set_cyan = function(this1,Value) { var Magenta = (1 - (this1 >> 8 & 255) / 255 - (1 - Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)))) / Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)); var Yellow = (1 - (this1 & 255) / 255 - (1 - Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)))) / Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)); var Black = 1 - Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)); var Alpha = (this1 >> 24 & 255) / 255; var Value1 = (1 - Value) * (1 - Black); var Value2 = Math.round(Value1 * 255); this1 &= -16711681; this1 |= (Value2 > 255 ? 255 : Value2 < 0 ? 0 : Value2) << 16; var Value3 = (1 - Magenta) * (1 - Black); var Value4 = Math.round(Value3 * 255); this1 &= -65281; this1 |= (Value4 > 255 ? 255 : Value4 < 0 ? 0 : Value4) << 8; var Value5 = (1 - Yellow) * (1 - Black); var Value6 = Math.round(Value5 * 255); this1 &= -256; this1 |= Value6 > 255 ? 255 : Value6 < 0 ? 0 : Value6; var Value7 = Math.round(Alpha * 255); this1 &= 16777215; this1 |= (Value7 > 255 ? 255 : Value7 < 0 ? 0 : Value7) << 24; return Value; }; flixel_util__$FlxColor_FlxColor_$Impl_$.set_magenta = function(this1,Value) { var Yellow = (1 - (this1 & 255) / 255 - (1 - Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)))) / Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)); var Black = 1 - Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)); var Alpha = (this1 >> 24 & 255) / 255; var Value1 = (1 - (1 - (this1 >> 16 & 255) / 255 - (1 - Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)))) / Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255))) * (1 - Black); var Value2 = Math.round(Value1 * 255); this1 &= -16711681; this1 |= (Value2 > 255 ? 255 : Value2 < 0 ? 0 : Value2) << 16; var Value3 = (1 - Value) * (1 - Black); var Value4 = Math.round(Value3 * 255); this1 &= -65281; this1 |= (Value4 > 255 ? 255 : Value4 < 0 ? 0 : Value4) << 8; var Value5 = (1 - Yellow) * (1 - Black); var Value6 = Math.round(Value5 * 255); this1 &= -256; this1 |= Value6 > 255 ? 255 : Value6 < 0 ? 0 : Value6; var Value7 = Math.round(Alpha * 255); this1 &= 16777215; this1 |= (Value7 > 255 ? 255 : Value7 < 0 ? 0 : Value7) << 24; return Value; }; flixel_util__$FlxColor_FlxColor_$Impl_$.set_yellow = function(this1,Value) { var Magenta = (1 - (this1 >> 8 & 255) / 255 - (1 - Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)))) / Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)); var Black = 1 - Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)); var Alpha = (this1 >> 24 & 255) / 255; var Value1 = (1 - (1 - (this1 >> 16 & 255) / 255 - (1 - Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)))) / Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255))) * (1 - Black); var Value2 = Math.round(Value1 * 255); this1 &= -16711681; this1 |= (Value2 > 255 ? 255 : Value2 < 0 ? 0 : Value2) << 16; var Value3 = (1 - Magenta) * (1 - Black); var Value4 = Math.round(Value3 * 255); this1 &= -65281; this1 |= (Value4 > 255 ? 255 : Value4 < 0 ? 0 : Value4) << 8; var Value5 = (1 - Value) * (1 - Black); var Value6 = Math.round(Value5 * 255); this1 &= -256; this1 |= Value6 > 255 ? 255 : Value6 < 0 ? 0 : Value6; var Value7 = Math.round(Alpha * 255); this1 &= 16777215; this1 |= (Value7 > 255 ? 255 : Value7 < 0 ? 0 : Value7) << 24; return Value; }; flixel_util__$FlxColor_FlxColor_$Impl_$.set_black = function(this1,Value) { var Magenta = (1 - (this1 >> 8 & 255) / 255 - (1 - Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)))) / Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)); var Yellow = (1 - (this1 & 255) / 255 - (1 - Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)))) / Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)); var Alpha = (this1 >> 24 & 255) / 255; var Value1 = (1 - (1 - (this1 >> 16 & 255) / 255 - (1 - Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)))) / Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255))) * (1 - Value); var Value2 = Math.round(Value1 * 255); this1 &= -16711681; this1 |= (Value2 > 255 ? 255 : Value2 < 0 ? 0 : Value2) << 16; var Value3 = (1 - Magenta) * (1 - Value); var Value4 = Math.round(Value3 * 255); this1 &= -65281; this1 |= (Value4 > 255 ? 255 : Value4 < 0 ? 0 : Value4) << 8; var Value5 = (1 - Yellow) * (1 - Value); var Value6 = Math.round(Value5 * 255); this1 &= -256; this1 |= Value6 > 255 ? 255 : Value6 < 0 ? 0 : Value6; var Value7 = Math.round(Alpha * 255); this1 &= 16777215; this1 |= (Value7 > 255 ? 255 : Value7 < 0 ? 0 : Value7) << 24; return Value; }; flixel_util__$FlxColor_FlxColor_$Impl_$.get_hue = function(this1) { var hueRad = Math.atan2(Math.sqrt(3) * ((this1 >> 8 & 255) / 255 - (this1 & 255) / 255),2 * ((this1 >> 16 & 255) / 255) - (this1 >> 8 & 255) / 255 - (this1 & 255) / 255); var hue = 0; if(hueRad != 0) { hue = 180 / Math.PI * Math.atan2(Math.sqrt(3) * ((this1 >> 8 & 255) / 255 - (this1 & 255) / 255),2 * ((this1 >> 16 & 255) / 255) - (this1 >> 8 & 255) / 255 - (this1 & 255) / 255); } if(hue < 0) { return hue + 360; } else { return hue; } }; flixel_util__$FlxColor_FlxColor_$Impl_$.get_brightness = function(this1) { return Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)); }; flixel_util__$FlxColor_FlxColor_$Impl_$.get_saturation = function(this1) { return (Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)) - Math.min((this1 >> 16 & 255) / 255,Math.min((this1 >> 8 & 255) / 255,(this1 & 255) / 255))) / Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)); }; flixel_util__$FlxColor_FlxColor_$Impl_$.get_lightness = function(this1) { return (Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)) + Math.min((this1 >> 16 & 255) / 255,Math.min((this1 >> 8 & 255) / 255,(this1 & 255) / 255))) / 2; }; flixel_util__$FlxColor_FlxColor_$Impl_$.set_hue = function(this1,Value) { var Brightness = Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)); var Alpha = (this1 >> 24 & 255) / 255; var chroma = Brightness * ((Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)) - Math.min((this1 >> 16 & 255) / 255,Math.min((this1 >> 8 & 255) / 255,(this1 & 255) / 255))) / Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255))); var match = Brightness - chroma; var Hue = Value; var Chroma = chroma; Hue %= 360; var hueD = Hue / 60; var mid = Chroma * (1 - Math.abs(hueD % 2 - 1)) + match; Chroma += match; var _g = hueD | 0; switch(_g) { case 0: var Value1 = Math.round(Chroma * 255); this1 &= -16711681; this1 |= (Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1) << 16; var Value2 = Math.round(mid * 255); this1 &= -65281; this1 |= (Value2 > 255 ? 255 : Value2 < 0 ? 0 : Value2) << 8; var Value3 = Math.round(match * 255); this1 &= -256; this1 |= Value3 > 255 ? 255 : Value3 < 0 ? 0 : Value3; var Value4 = Math.round(Alpha * 255); this1 &= 16777215; this1 |= (Value4 > 255 ? 255 : Value4 < 0 ? 0 : Value4) << 24; break; case 1: var Value5 = Math.round(mid * 255); this1 &= -16711681; this1 |= (Value5 > 255 ? 255 : Value5 < 0 ? 0 : Value5) << 16; var Value6 = Math.round(Chroma * 255); this1 &= -65281; this1 |= (Value6 > 255 ? 255 : Value6 < 0 ? 0 : Value6) << 8; var Value7 = Math.round(match * 255); this1 &= -256; this1 |= Value7 > 255 ? 255 : Value7 < 0 ? 0 : Value7; var Value8 = Math.round(Alpha * 255); this1 &= 16777215; this1 |= (Value8 > 255 ? 255 : Value8 < 0 ? 0 : Value8) << 24; break; case 2: var Value9 = Math.round(match * 255); this1 &= -16711681; this1 |= (Value9 > 255 ? 255 : Value9 < 0 ? 0 : Value9) << 16; var Value10 = Math.round(Chroma * 255); this1 &= -65281; this1 |= (Value10 > 255 ? 255 : Value10 < 0 ? 0 : Value10) << 8; var Value11 = Math.round(mid * 255); this1 &= -256; this1 |= Value11 > 255 ? 255 : Value11 < 0 ? 0 : Value11; var Value12 = Math.round(Alpha * 255); this1 &= 16777215; this1 |= (Value12 > 255 ? 255 : Value12 < 0 ? 0 : Value12) << 24; break; case 3: var Value13 = Math.round(match * 255); this1 &= -16711681; this1 |= (Value13 > 255 ? 255 : Value13 < 0 ? 0 : Value13) << 16; var Value14 = Math.round(mid * 255); this1 &= -65281; this1 |= (Value14 > 255 ? 255 : Value14 < 0 ? 0 : Value14) << 8; var Value15 = Math.round(Chroma * 255); this1 &= -256; this1 |= Value15 > 255 ? 255 : Value15 < 0 ? 0 : Value15; var Value16 = Math.round(Alpha * 255); this1 &= 16777215; this1 |= (Value16 > 255 ? 255 : Value16 < 0 ? 0 : Value16) << 24; break; case 4: var Value17 = Math.round(mid * 255); this1 &= -16711681; this1 |= (Value17 > 255 ? 255 : Value17 < 0 ? 0 : Value17) << 16; var Value18 = Math.round(match * 255); this1 &= -65281; this1 |= (Value18 > 255 ? 255 : Value18 < 0 ? 0 : Value18) << 8; var Value19 = Math.round(Chroma * 255); this1 &= -256; this1 |= Value19 > 255 ? 255 : Value19 < 0 ? 0 : Value19; var Value20 = Math.round(Alpha * 255); this1 &= 16777215; this1 |= (Value20 > 255 ? 255 : Value20 < 0 ? 0 : Value20) << 24; break; case 5: var Value21 = Math.round(Chroma * 255); this1 &= -16711681; this1 |= (Value21 > 255 ? 255 : Value21 < 0 ? 0 : Value21) << 16; var Value22 = Math.round(match * 255); this1 &= -65281; this1 |= (Value22 > 255 ? 255 : Value22 < 0 ? 0 : Value22) << 8; var Value23 = Math.round(mid * 255); this1 &= -256; this1 |= Value23 > 255 ? 255 : Value23 < 0 ? 0 : Value23; var Value24 = Math.round(Alpha * 255); this1 &= 16777215; this1 |= (Value24 > 255 ? 255 : Value24 < 0 ? 0 : Value24) << 24; break; } return Value; }; flixel_util__$FlxColor_FlxColor_$Impl_$.set_saturation = function(this1,Value) { var Hue = flixel_util__$FlxColor_FlxColor_$Impl_$.get_hue(this1); var Brightness = Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)); var Alpha = (this1 >> 24 & 255) / 255; var chroma = Brightness * Value; var match = Brightness - chroma; var Hue1 = Hue; var Chroma = chroma; Hue1 %= 360; var hueD = Hue1 / 60; var mid = Chroma * (1 - Math.abs(hueD % 2 - 1)) + match; Chroma += match; var _g = hueD | 0; switch(_g) { case 0: var Value1 = Math.round(Chroma * 255); this1 &= -16711681; this1 |= (Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1) << 16; var Value2 = Math.round(mid * 255); this1 &= -65281; this1 |= (Value2 > 255 ? 255 : Value2 < 0 ? 0 : Value2) << 8; var Value3 = Math.round(match * 255); this1 &= -256; this1 |= Value3 > 255 ? 255 : Value3 < 0 ? 0 : Value3; var Value4 = Math.round(Alpha * 255); this1 &= 16777215; this1 |= (Value4 > 255 ? 255 : Value4 < 0 ? 0 : Value4) << 24; break; case 1: var Value5 = Math.round(mid * 255); this1 &= -16711681; this1 |= (Value5 > 255 ? 255 : Value5 < 0 ? 0 : Value5) << 16; var Value6 = Math.round(Chroma * 255); this1 &= -65281; this1 |= (Value6 > 255 ? 255 : Value6 < 0 ? 0 : Value6) << 8; var Value7 = Math.round(match * 255); this1 &= -256; this1 |= Value7 > 255 ? 255 : Value7 < 0 ? 0 : Value7; var Value8 = Math.round(Alpha * 255); this1 &= 16777215; this1 |= (Value8 > 255 ? 255 : Value8 < 0 ? 0 : Value8) << 24; break; case 2: var Value9 = Math.round(match * 255); this1 &= -16711681; this1 |= (Value9 > 255 ? 255 : Value9 < 0 ? 0 : Value9) << 16; var Value10 = Math.round(Chroma * 255); this1 &= -65281; this1 |= (Value10 > 255 ? 255 : Value10 < 0 ? 0 : Value10) << 8; var Value11 = Math.round(mid * 255); this1 &= -256; this1 |= Value11 > 255 ? 255 : Value11 < 0 ? 0 : Value11; var Value12 = Math.round(Alpha * 255); this1 &= 16777215; this1 |= (Value12 > 255 ? 255 : Value12 < 0 ? 0 : Value12) << 24; break; case 3: var Value13 = Math.round(match * 255); this1 &= -16711681; this1 |= (Value13 > 255 ? 255 : Value13 < 0 ? 0 : Value13) << 16; var Value14 = Math.round(mid * 255); this1 &= -65281; this1 |= (Value14 > 255 ? 255 : Value14 < 0 ? 0 : Value14) << 8; var Value15 = Math.round(Chroma * 255); this1 &= -256; this1 |= Value15 > 255 ? 255 : Value15 < 0 ? 0 : Value15; var Value16 = Math.round(Alpha * 255); this1 &= 16777215; this1 |= (Value16 > 255 ? 255 : Value16 < 0 ? 0 : Value16) << 24; break; case 4: var Value17 = Math.round(mid * 255); this1 &= -16711681; this1 |= (Value17 > 255 ? 255 : Value17 < 0 ? 0 : Value17) << 16; var Value18 = Math.round(match * 255); this1 &= -65281; this1 |= (Value18 > 255 ? 255 : Value18 < 0 ? 0 : Value18) << 8; var Value19 = Math.round(Chroma * 255); this1 &= -256; this1 |= Value19 > 255 ? 255 : Value19 < 0 ? 0 : Value19; var Value20 = Math.round(Alpha * 255); this1 &= 16777215; this1 |= (Value20 > 255 ? 255 : Value20 < 0 ? 0 : Value20) << 24; break; case 5: var Value21 = Math.round(Chroma * 255); this1 &= -16711681; this1 |= (Value21 > 255 ? 255 : Value21 < 0 ? 0 : Value21) << 16; var Value22 = Math.round(match * 255); this1 &= -65281; this1 |= (Value22 > 255 ? 255 : Value22 < 0 ? 0 : Value22) << 8; var Value23 = Math.round(mid * 255); this1 &= -256; this1 |= Value23 > 255 ? 255 : Value23 < 0 ? 0 : Value23; var Value24 = Math.round(Alpha * 255); this1 &= 16777215; this1 |= (Value24 > 255 ? 255 : Value24 < 0 ? 0 : Value24) << 24; break; } return Value; }; flixel_util__$FlxColor_FlxColor_$Impl_$.set_brightness = function(this1,Value) { var Hue = flixel_util__$FlxColor_FlxColor_$Impl_$.get_hue(this1); var Alpha = (this1 >> 24 & 255) / 255; var chroma = Value * ((Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)) - Math.min((this1 >> 16 & 255) / 255,Math.min((this1 >> 8 & 255) / 255,(this1 & 255) / 255))) / Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255))); var match = Value - chroma; var Hue1 = Hue; var Chroma = chroma; Hue1 %= 360; var hueD = Hue1 / 60; var mid = Chroma * (1 - Math.abs(hueD % 2 - 1)) + match; Chroma += match; var _g = hueD | 0; switch(_g) { case 0: var Value1 = Math.round(Chroma * 255); this1 &= -16711681; this1 |= (Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1) << 16; var Value2 = Math.round(mid * 255); this1 &= -65281; this1 |= (Value2 > 255 ? 255 : Value2 < 0 ? 0 : Value2) << 8; var Value3 = Math.round(match * 255); this1 &= -256; this1 |= Value3 > 255 ? 255 : Value3 < 0 ? 0 : Value3; var Value4 = Math.round(Alpha * 255); this1 &= 16777215; this1 |= (Value4 > 255 ? 255 : Value4 < 0 ? 0 : Value4) << 24; break; case 1: var Value5 = Math.round(mid * 255); this1 &= -16711681; this1 |= (Value5 > 255 ? 255 : Value5 < 0 ? 0 : Value5) << 16; var Value6 = Math.round(Chroma * 255); this1 &= -65281; this1 |= (Value6 > 255 ? 255 : Value6 < 0 ? 0 : Value6) << 8; var Value7 = Math.round(match * 255); this1 &= -256; this1 |= Value7 > 255 ? 255 : Value7 < 0 ? 0 : Value7; var Value8 = Math.round(Alpha * 255); this1 &= 16777215; this1 |= (Value8 > 255 ? 255 : Value8 < 0 ? 0 : Value8) << 24; break; case 2: var Value9 = Math.round(match * 255); this1 &= -16711681; this1 |= (Value9 > 255 ? 255 : Value9 < 0 ? 0 : Value9) << 16; var Value10 = Math.round(Chroma * 255); this1 &= -65281; this1 |= (Value10 > 255 ? 255 : Value10 < 0 ? 0 : Value10) << 8; var Value11 = Math.round(mid * 255); this1 &= -256; this1 |= Value11 > 255 ? 255 : Value11 < 0 ? 0 : Value11; var Value12 = Math.round(Alpha * 255); this1 &= 16777215; this1 |= (Value12 > 255 ? 255 : Value12 < 0 ? 0 : Value12) << 24; break; case 3: var Value13 = Math.round(match * 255); this1 &= -16711681; this1 |= (Value13 > 255 ? 255 : Value13 < 0 ? 0 : Value13) << 16; var Value14 = Math.round(mid * 255); this1 &= -65281; this1 |= (Value14 > 255 ? 255 : Value14 < 0 ? 0 : Value14) << 8; var Value15 = Math.round(Chroma * 255); this1 &= -256; this1 |= Value15 > 255 ? 255 : Value15 < 0 ? 0 : Value15; var Value16 = Math.round(Alpha * 255); this1 &= 16777215; this1 |= (Value16 > 255 ? 255 : Value16 < 0 ? 0 : Value16) << 24; break; case 4: var Value17 = Math.round(mid * 255); this1 &= -16711681; this1 |= (Value17 > 255 ? 255 : Value17 < 0 ? 0 : Value17) << 16; var Value18 = Math.round(match * 255); this1 &= -65281; this1 |= (Value18 > 255 ? 255 : Value18 < 0 ? 0 : Value18) << 8; var Value19 = Math.round(Chroma * 255); this1 &= -256; this1 |= Value19 > 255 ? 255 : Value19 < 0 ? 0 : Value19; var Value20 = Math.round(Alpha * 255); this1 &= 16777215; this1 |= (Value20 > 255 ? 255 : Value20 < 0 ? 0 : Value20) << 24; break; case 5: var Value21 = Math.round(Chroma * 255); this1 &= -16711681; this1 |= (Value21 > 255 ? 255 : Value21 < 0 ? 0 : Value21) << 16; var Value22 = Math.round(match * 255); this1 &= -65281; this1 |= (Value22 > 255 ? 255 : Value22 < 0 ? 0 : Value22) << 8; var Value23 = Math.round(mid * 255); this1 &= -256; this1 |= Value23 > 255 ? 255 : Value23 < 0 ? 0 : Value23; var Value24 = Math.round(Alpha * 255); this1 &= 16777215; this1 |= (Value24 > 255 ? 255 : Value24 < 0 ? 0 : Value24) << 24; break; } return Value; }; flixel_util__$FlxColor_FlxColor_$Impl_$.set_lightness = function(this1,Value) { var Hue = flixel_util__$FlxColor_FlxColor_$Impl_$.get_hue(this1); var Alpha = (this1 >> 24 & 255) / 255; var chroma = (1 - Math.abs(2 * Value - 1)) * ((Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)) - Math.min((this1 >> 16 & 255) / 255,Math.min((this1 >> 8 & 255) / 255,(this1 & 255) / 255))) / Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255))); var match = Value - chroma / 2; var Hue1 = Hue; var Chroma = chroma; Hue1 %= 360; var hueD = Hue1 / 60; var mid = Chroma * (1 - Math.abs(hueD % 2 - 1)) + match; Chroma += match; var _g = hueD | 0; switch(_g) { case 0: var Value1 = Math.round(Chroma * 255); this1 &= -16711681; this1 |= (Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1) << 16; var Value2 = Math.round(mid * 255); this1 &= -65281; this1 |= (Value2 > 255 ? 255 : Value2 < 0 ? 0 : Value2) << 8; var Value3 = Math.round(match * 255); this1 &= -256; this1 |= Value3 > 255 ? 255 : Value3 < 0 ? 0 : Value3; var Value4 = Math.round(Alpha * 255); this1 &= 16777215; this1 |= (Value4 > 255 ? 255 : Value4 < 0 ? 0 : Value4) << 24; break; case 1: var Value5 = Math.round(mid * 255); this1 &= -16711681; this1 |= (Value5 > 255 ? 255 : Value5 < 0 ? 0 : Value5) << 16; var Value6 = Math.round(Chroma * 255); this1 &= -65281; this1 |= (Value6 > 255 ? 255 : Value6 < 0 ? 0 : Value6) << 8; var Value7 = Math.round(match * 255); this1 &= -256; this1 |= Value7 > 255 ? 255 : Value7 < 0 ? 0 : Value7; var Value8 = Math.round(Alpha * 255); this1 &= 16777215; this1 |= (Value8 > 255 ? 255 : Value8 < 0 ? 0 : Value8) << 24; break; case 2: var Value9 = Math.round(match * 255); this1 &= -16711681; this1 |= (Value9 > 255 ? 255 : Value9 < 0 ? 0 : Value9) << 16; var Value10 = Math.round(Chroma * 255); this1 &= -65281; this1 |= (Value10 > 255 ? 255 : Value10 < 0 ? 0 : Value10) << 8; var Value11 = Math.round(mid * 255); this1 &= -256; this1 |= Value11 > 255 ? 255 : Value11 < 0 ? 0 : Value11; var Value12 = Math.round(Alpha * 255); this1 &= 16777215; this1 |= (Value12 > 255 ? 255 : Value12 < 0 ? 0 : Value12) << 24; break; case 3: var Value13 = Math.round(match * 255); this1 &= -16711681; this1 |= (Value13 > 255 ? 255 : Value13 < 0 ? 0 : Value13) << 16; var Value14 = Math.round(mid * 255); this1 &= -65281; this1 |= (Value14 > 255 ? 255 : Value14 < 0 ? 0 : Value14) << 8; var Value15 = Math.round(Chroma * 255); this1 &= -256; this1 |= Value15 > 255 ? 255 : Value15 < 0 ? 0 : Value15; var Value16 = Math.round(Alpha * 255); this1 &= 16777215; this1 |= (Value16 > 255 ? 255 : Value16 < 0 ? 0 : Value16) << 24; break; case 4: var Value17 = Math.round(mid * 255); this1 &= -16711681; this1 |= (Value17 > 255 ? 255 : Value17 < 0 ? 0 : Value17) << 16; var Value18 = Math.round(match * 255); this1 &= -65281; this1 |= (Value18 > 255 ? 255 : Value18 < 0 ? 0 : Value18) << 8; var Value19 = Math.round(Chroma * 255); this1 &= -256; this1 |= Value19 > 255 ? 255 : Value19 < 0 ? 0 : Value19; var Value20 = Math.round(Alpha * 255); this1 &= 16777215; this1 |= (Value20 > 255 ? 255 : Value20 < 0 ? 0 : Value20) << 24; break; case 5: var Value21 = Math.round(Chroma * 255); this1 &= -16711681; this1 |= (Value21 > 255 ? 255 : Value21 < 0 ? 0 : Value21) << 16; var Value22 = Math.round(match * 255); this1 &= -65281; this1 |= (Value22 > 255 ? 255 : Value22 < 0 ? 0 : Value22) << 8; var Value23 = Math.round(mid * 255); this1 &= -256; this1 |= Value23 > 255 ? 255 : Value23 < 0 ? 0 : Value23; var Value24 = Math.round(Alpha * 255); this1 &= 16777215; this1 |= (Value24 > 255 ? 255 : Value24 < 0 ? 0 : Value24) << 24; break; } return Value; }; flixel_util__$FlxColor_FlxColor_$Impl_$.maxColor = function(this1) { return Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)); }; flixel_util__$FlxColor_FlxColor_$Impl_$.minColor = function(this1) { return Math.min((this1 >> 16 & 255) / 255,Math.min((this1 >> 8 & 255) / 255,(this1 & 255) / 255)); }; flixel_util__$FlxColor_FlxColor_$Impl_$.boundChannel = function(this1,Value) { if(Value > 255) { return 255; } else if(Value < 0) { return 0; } else { return Value; } }; var flixel_util_FlxColorTransformUtil = function() { }; $hxClasses["flixel.util.FlxColorTransformUtil"] = flixel_util_FlxColorTransformUtil; flixel_util_FlxColorTransformUtil.__name__ = ["flixel","util","FlxColorTransformUtil"]; flixel_util_FlxColorTransformUtil.setMultipliers = function(transform,red,green,blue,alpha) { transform.redMultiplier = red; transform.greenMultiplier = green; transform.blueMultiplier = blue; transform.alphaMultiplier = alpha; return transform; }; flixel_util_FlxColorTransformUtil.setOffsets = function(transform,red,green,blue,alpha) { transform.redOffset = red; transform.greenOffset = green; transform.blueOffset = blue; transform.alphaOffset = alpha; return transform; }; flixel_util_FlxColorTransformUtil.hasRGBMultipliers = function(transform) { if(!(transform.redMultiplier != 1 || transform.greenMultiplier != 1)) { return transform.blueMultiplier != 1; } else { return true; } }; flixel_util_FlxColorTransformUtil.hasRGBAMultipliers = function(transform) { if(!flixel_util_FlxColorTransformUtil.hasRGBMultipliers(transform)) { return transform.alphaMultiplier != 1; } else { return true; } }; flixel_util_FlxColorTransformUtil.hasRGBOffsets = function(transform) { if(!(transform.redOffset != 0 || transform.greenOffset != 0)) { return transform.blueOffset != 0; } else { return true; } }; flixel_util_FlxColorTransformUtil.hasRGBAOffsets = function(transform) { if(!flixel_util_FlxColorTransformUtil.hasRGBOffsets(transform)) { return transform.alphaOffset != 0; } else { return true; } }; var flixel_util_FlxDestroyUtil = function() { }; $hxClasses["flixel.util.FlxDestroyUtil"] = flixel_util_FlxDestroyUtil; flixel_util_FlxDestroyUtil.__name__ = ["flixel","util","FlxDestroyUtil"]; flixel_util_FlxDestroyUtil.destroy = function(object) { if(object != null) { object.destroy(); } return null; }; flixel_util_FlxDestroyUtil.destroyArray = function(array) { if(array != null) { var _g = 0; while(_g < array.length) { var e = array[_g]; ++_g; flixel_util_FlxDestroyUtil.destroy(e); } array.splice(0,array.length); } return null; }; flixel_util_FlxDestroyUtil.put = function(object) { if(object != null) { object.put(); } return null; }; flixel_util_FlxDestroyUtil.putArray = function(array) { if(array != null) { var _g = 0; while(_g < array.length) { var e = array[_g]; ++_g; flixel_util_FlxDestroyUtil.put(e); } array.splice(0,array.length); } return null; }; flixel_util_FlxDestroyUtil.dispose = function(bitmapData) { if(bitmapData != null) { bitmapData.dispose(); } return null; }; flixel_util_FlxDestroyUtil.disposeIfNotEqual = function(bitmapData,width,height) { if(bitmapData != null && (bitmapData.width != width || bitmapData.height != height)) { bitmapData.dispose(); return null; } else if(bitmapData != null) { return bitmapData; } return null; }; flixel_util_FlxDestroyUtil.removeChild = function(parent,child) { if(parent != null && child != null && parent.contains(child)) { parent.removeChild(child); } return null; }; var flixel_util_FlxGradient = function() { }; $hxClasses["flixel.util.FlxGradient"] = flixel_util_FlxGradient; flixel_util_FlxGradient.__name__ = ["flixel","util","FlxGradient"]; flixel_util_FlxGradient.createGradientMatrix = function(width,height,colors,chunkSize,rotation) { if(rotation == null) { rotation = 90; } if(chunkSize == null) { chunkSize = 1; } var gradientMatrix = new openfl_geom_Matrix(); var rot = rotation * (Math.PI / 180); gradientMatrix.createGradientBox(width,_$UInt_UInt_$Impl_$.toFloat(height) / _$UInt_UInt_$Impl_$.toFloat(chunkSize),rot,0,0); var alpha = []; var _g1 = 0; var _g = colors.length; while(_g1 < _g) { var ai = _g1++; alpha.push((colors[ai] >> 24 & 255) / 255); } var ratio = []; if(colors.length == 2) { ratio[0] = 0; ratio[1] = 255; } else { var spread = 255 / (colors.length - 1) | 0; ratio.push(0); var _g11 = 1; var _g2 = colors.length - 1; while(_g11 < _g2) { var ri = _g11++; ratio.push(ri * spread); } ratio.push(255); } return { matrix : gradientMatrix, alpha : alpha, ratio : ratio}; }; flixel_util_FlxGradient.createGradientArray = function(width,height,colors,chunkSize,rotation,interpolate) { if(interpolate == null) { interpolate = true; } if(rotation == null) { rotation = 90; } if(chunkSize == null) { chunkSize = 1; } var data = flixel_util_FlxGradient.createGradientBitmapData(width,height,colors,chunkSize,rotation,interpolate); var result = []; var _g1 = 0; var _g = data.height; while(_g1 < _g) { var y = _g1++; result.push(data.getPixel32(0,y)); } return result; }; flixel_util_FlxGradient.createGradientFlxSprite = function(width,height,colors,chunkSize,rotation,interpolate) { if(interpolate == null) { interpolate = true; } if(rotation == null) { rotation = 90; } if(chunkSize == null) { chunkSize = 1; } var data = flixel_util_FlxGradient.createGradientBitmapData(width,height,colors,chunkSize,rotation,interpolate); var dest = new flixel_FlxSprite(); dest.set_pixels(data); return dest; }; flixel_util_FlxGradient.createGradientBitmapData = function(width,height,colors,chunkSize,rotation,interpolate) { if(interpolate == null) { interpolate = true; } if(rotation == null) { rotation = 90; } if(chunkSize == null) { chunkSize = 1; } if(_$UInt_UInt_$Impl_$.gt(1,width)) { width = 1; } if(_$UInt_UInt_$Impl_$.gt(1,height)) { height = 1; } var gradient = flixel_util_FlxGradient.createGradientMatrix(width,height,colors,chunkSize,rotation); var shape = new openfl_display_Shape(); var interpolationMethod = interpolate ? 1 : 0; shape.get_graphics().beginGradientFill(0,colors,gradient.alpha,gradient.ratio,gradient.matrix,0,interpolationMethod,0); shape.get_graphics().drawRect(0,0,_$UInt_UInt_$Impl_$.toFloat(width),_$UInt_UInt_$Impl_$.toFloat(height) / _$UInt_UInt_$Impl_$.toFloat(chunkSize)); var data = new openfl_display_BitmapData(width,height,true,0); if(chunkSize == 1) { data.draw(shape); } else { var tempBitmap = new openfl_display_Bitmap(new openfl_display_BitmapData(width,_$UInt_UInt_$Impl_$.toFloat(height) / _$UInt_UInt_$Impl_$.toFloat(chunkSize) | 0,true,0)); tempBitmap.get_bitmapData().draw(shape); tempBitmap.set_scaleY(_$UInt_UInt_$Impl_$.toFloat(chunkSize)); var sM = new openfl_geom_Matrix(); sM.scale(tempBitmap.get_scaleX(),tempBitmap.get_scaleY()); data.draw(tempBitmap,sM); } return data; }; flixel_util_FlxGradient.overlayGradientOnFlxSprite = function(dest,width,height,colors,destX,destY,chunkSize,rotation,interpolate) { if(interpolate == null) { interpolate = true; } if(rotation == null) { rotation = 90; } if(chunkSize == null) { chunkSize = 1; } if(destY == null) { destY = 0; } if(destX == null) { destX = 0; } if(width > dest.get_width()) { width = dest.get_width() | 0; } if(height > dest.get_height()) { height = dest.get_height() | 0; } var source = flixel_util_FlxGradient.createGradientFlxSprite(width,height,colors,chunkSize,rotation,interpolate); dest.stamp(source,destX,destY); source.destroy(); return dest; }; flixel_util_FlxGradient.overlayGradientOnBitmapData = function(dest,width,height,colors,destX,destY,chunkSize,rotation,interpolate) { if(interpolate == null) { interpolate = true; } if(rotation == null) { rotation = 90; } if(chunkSize == null) { chunkSize = 1; } if(destY == null) { destY = 0; } if(destX == null) { destX = 0; } if(width > dest.width) { width = dest.width; } if(height > dest.height) { height = dest.height; } var source = flixel_util_FlxGradient.createGradientBitmapData(width,height,colors,chunkSize,rotation,interpolate); dest.copyPixels(source,new openfl_geom_Rectangle(0,0,source.width,source.height),new openfl_geom_Point(destX,destY),null,null,true); source.dispose(); return dest; }; var flixel_util_FlxHorizontalAlign = $hxClasses["flixel.util.FlxHorizontalAlign"] = { __ename__ : ["flixel","util","FlxHorizontalAlign"], __constructs__ : ["LEFT","CENTER","RIGHT"] }; flixel_util_FlxHorizontalAlign.LEFT = ["LEFT",0]; flixel_util_FlxHorizontalAlign.LEFT.toString = $estr; flixel_util_FlxHorizontalAlign.LEFT.__enum__ = flixel_util_FlxHorizontalAlign; flixel_util_FlxHorizontalAlign.CENTER = ["CENTER",1]; flixel_util_FlxHorizontalAlign.CENTER.toString = $estr; flixel_util_FlxHorizontalAlign.CENTER.__enum__ = flixel_util_FlxHorizontalAlign; flixel_util_FlxHorizontalAlign.RIGHT = ["RIGHT",2]; flixel_util_FlxHorizontalAlign.RIGHT.toString = $estr; flixel_util_FlxHorizontalAlign.RIGHT.__enum__ = flixel_util_FlxHorizontalAlign; var flixel_util_FlxPath = function(Nodes) { this._firstUpdate = false; this._wasObjectImmovable = null; this._autoRotate = false; this._inc = 1; this.finished = false; this.nodeIndex = 0; this.active = false; this.autoCenter = true; this.angle = 0; this.speed = 0; if(Nodes != null) { this._nodes = Nodes.slice(); } else { this._nodes = []; } }; $hxClasses["flixel.util.FlxPath"] = flixel_util_FlxPath; flixel_util_FlxPath.__name__ = ["flixel","util","FlxPath"]; flixel_util_FlxPath.__interfaces__ = [flixel_util_IFlxDestroyable]; flixel_util_FlxPath.prototype = { _nodes: null ,speed: null ,angle: null ,autoCenter: null ,active: null ,onComplete: null ,nodeIndex: null ,finished: null ,_mode: null ,_inc: null ,_autoRotate: null ,_wasObjectImmovable: null ,_firstUpdate: null ,object: null ,reset: function() { this.autoCenter = true; return this; } ,setProperties: function(Speed,Mode,AutoRotate) { if(AutoRotate == null) { AutoRotate = false; } if(Mode == null) { Mode = 0; } if(Speed == null) { Speed = 100; } this.speed = Math.abs(Speed); this._mode = Mode; this._autoRotate = AutoRotate; return this; } ,start: function(Nodes,Speed,Mode,AutoRotate,NodesAsReference) { if(NodesAsReference == null) { NodesAsReference = false; } if(AutoRotate == null) { AutoRotate = false; } if(Mode == null) { Mode = 0; } if(Speed == null) { Speed = 100; } if(Nodes != null) { if(NodesAsReference) { this._nodes = Nodes; } else { this._nodes = Nodes.slice(); } } this.setProperties(Speed,Mode,AutoRotate); if(this._nodes.length > 0) { this.restart(); } return this; } ,restart: function() { this.finished = false; this._firstUpdate = true; this.active = this._nodes.length > 0; if(!this.active) { return this; } if(this._mode == 1 || this._mode == 256) { this.nodeIndex = this._nodes.length - 1; this._inc = -1; } else { this.nodeIndex = 0; this._inc = 1; } return this; } ,setNode: function(NodeIndex) { if(NodeIndex < 0) { NodeIndex = 0; } else if(NodeIndex > this._nodes.length - 1) { NodeIndex = this._nodes.length - 1; } this.nodeIndex = NodeIndex; this.advancePath(); return this; } ,update: function(elapsed) { if(this.object == null) { return; } if(this._firstUpdate) { this._wasObjectImmovable = this.object.immovable; this.object.set_immovable(true); this._firstUpdate = false; } flixel_util_FlxPath._point.set_x(this.object.x); flixel_util_FlxPath._point.set_y(this.object.y); if(this.autoCenter) { var _this = flixel_util_FlxPath._point; var X = this.object.get_width() * 0.5; var Y = this.object.get_height() * 0.5; var _g = _this; _g.set_x(_g.x + X); var _g1 = _this; _g1.set_y(_g1.y + Y); } var node = this._nodes[this.nodeIndex]; var deltaX = node.x - flixel_util_FlxPath._point.x; var deltaY = node.y - flixel_util_FlxPath._point.y; var horizontalOnly = (this._mode & 65536) > 0; var verticalOnly = (this._mode & 1048576) > 0; if(horizontalOnly) { if((deltaX > 0 ? deltaX : -deltaX) < this.speed * elapsed) { node = this.advancePath(); } } else if(verticalOnly) { if((deltaY > 0 ? deltaY : -deltaY) < this.speed * elapsed) { node = this.advancePath(); } } else if(Math.sqrt(deltaX * deltaX + deltaY * deltaY) < this.speed * elapsed) { node = this.advancePath(); } if(this.object != null && this.speed != 0) { flixel_util_FlxPath._point.set_x(this.object.x); flixel_util_FlxPath._point.set_y(this.object.y); if(this.autoCenter) { var _this1 = flixel_util_FlxPath._point; var X1 = this.object.get_width() * 0.5; var Y1 = this.object.get_height() * 0.5; var _g2 = _this1; _g2.set_x(_g2.x + X1); var _g3 = _this1; _g3.set_y(_g3.y + Y1); } var _this2 = flixel_util_FlxPath._point; var result = Math.abs(_this2.x - node.x) <= 0.0000001 && Math.abs(_this2.y - node.y) <= 0.0000001; if(node._weak) { node.put(); } if(!result) { this.calculateVelocity(node,horizontalOnly,verticalOnly); } else { this.object.velocity.set(); } if(this._autoRotate) { this.object.angularVelocity = 0; this.object.angularAcceleration = 0; this.object.set_angle(this.angle); } if(this.finished) { this.cancel(); } } } ,calculateVelocity: function(node,horizontalOnly,verticalOnly) { if(horizontalOnly || flixel_util_FlxPath._point.y == node.y) { this.object.velocity.set_x(flixel_util_FlxPath._point.x < node.x ? this.speed : -this.speed); this.angle = this.object.velocity.x < 0 ? -90 : 90; if(!horizontalOnly) { this.object.velocity.set_y(0); } } else if(verticalOnly || flixel_util_FlxPath._point.x == node.x) { this.object.velocity.set_y(flixel_util_FlxPath._point.y < node.y ? this.speed : -this.speed); this.angle = this.object.velocity.y < 0 ? 0 : 180; if(!verticalOnly) { this.object.velocity.set_x(0); } } else { this.object.velocity.set_x(flixel_util_FlxPath._point.x < node.x ? this.speed : -this.speed); this.object.velocity.set_y(flixel_util_FlxPath._point.y < node.y ? this.speed : -this.speed); this.angle = flixel_util_FlxPath._point.angleBetween(node); this.object.velocity.set(0,-this.speed); var tmp = this.object.velocity; var point = flixel_math_FlxPoint._pool.get().set(0,0); point._inPool = false; var point1 = point; point1._weak = true; tmp.rotate(point1,this.angle); } } ,advancePath: function(Snap) { if(Snap == null) { Snap = true; } if(Snap) { var oldNode = this._nodes[this.nodeIndex]; if(oldNode != null) { if((this._mode & 1048576) == 0) { this.object.set_x(oldNode.x); if(this.autoCenter) { var _g = this.object; _g.set_x(_g.x - this.object.get_width() * 0.5); } } if((this._mode & 65536) == 0) { this.object.set_y(oldNode.y); if(this.autoCenter) { var _g1 = this.object; _g1.set_y(_g1.y - this.object.get_height() * 0.5); } } } } var callComplete = false; this.nodeIndex += this._inc; if((this._mode & 1) > 0) { if(this.nodeIndex < 0) { this.nodeIndex = 0; callComplete = true; this.onEnd(); } } else if((this._mode & 16) > 0) { if(this.nodeIndex >= this._nodes.length) { callComplete = true; this.nodeIndex = 0; } } else if((this._mode & 256) > 0) { if(this.nodeIndex < 0) { this.nodeIndex = this._nodes.length - 1; callComplete = true; if(this.nodeIndex < 0) { this.nodeIndex = 0; } } } else if((this._mode & 4096) > 0) { if(this._inc > 0) { if(this.nodeIndex >= this._nodes.length) { this.nodeIndex = this._nodes.length - 2; callComplete = true; if(this.nodeIndex < 0) { this.nodeIndex = 0; } this._inc = -this._inc; } } else if(this.nodeIndex < 0) { this.nodeIndex = 1; callComplete = true; if(this.nodeIndex >= this._nodes.length) { this.nodeIndex = this._nodes.length - 1; } if(this.nodeIndex < 0) { this.nodeIndex = 0; } this._inc = -this._inc; } } else if(this.nodeIndex >= this._nodes.length) { this.nodeIndex = this._nodes.length - 1; callComplete = true; this.onEnd(); } if(callComplete && this.onComplete != null) { this.onComplete(this); } return this._nodes[this.nodeIndex]; } ,cancel: function() { this.onEnd(); if(this.object != null) { this.object.velocity.set(0,0); } return this; } ,onEnd: function() { this.finished = true; this.active = false; if(this._wasObjectImmovable != null) { this.object.set_immovable(this._wasObjectImmovable); } this._wasObjectImmovable = null; } ,destroy: function() { flixel_util_FlxDestroyUtil.putArray(this._nodes); this._nodes = null; this.object = null; this.onComplete = null; } ,add: function(X,Y) { var tmp = this._nodes; var point = flixel_math_FlxPoint._pool.get().set(X,Y); point._inPool = false; tmp.push(point); return this; } ,addAt: function(X,Y,Index) { if(Index < 0) { return this; } var _this = this._nodes; var point = flixel_math_FlxPoint._pool.get().set(X,Y); point._inPool = false; _this.splice(Index,0,point); return this; } ,addPoint: function(Node,AsReference) { if(AsReference == null) { AsReference = false; } if(AsReference) { this._nodes.push(Node); } else { var tmp = this._nodes; var X = Node.x; var Y = Node.y; var point = flixel_math_FlxPoint._pool.get().set(X,Y); point._inPool = false; tmp.push(point); } return this; } ,addPointAt: function(Node,Index,AsReference) { if(AsReference == null) { AsReference = false; } if(Index < 0) { return this; } if(AsReference) { this._nodes.splice(Index,0,Node); } else { var _this = this._nodes; var X = Node.x; var Y = Node.y; var point = flixel_math_FlxPoint._pool.get().set(X,Y); point._inPool = false; _this.splice(Index,0,point); } return this; } ,remove: function(Node) { var index = this._nodes.indexOf(Node); if(index >= 0) { return this._nodes.splice(index,1)[0]; } return null; } ,removeAt: function(Index) { if(this._nodes.length <= 0) { return null; } if(Index >= this._nodes.length - 1) { this._nodes.pop(); } return this._nodes.splice(Index,1)[0]; } ,head: function() { if(this._nodes.length > 0) { return this._nodes[0]; } return null; } ,tail: function() { if(this._nodes.length > 0) { return this._nodes[this._nodes.length - 1]; } return null; } ,get_nodes: function() { return this._nodes; } ,set_nodes: function(Nodes) { if(Nodes != null) { this._nodes = Nodes; } return this._nodes; } ,__class__: flixel_util_FlxPath ,__properties__: {set_nodes:"set_nodes",get_nodes:"get_nodes"} }; var flixel_util_FlxPool = function(classObj) { this._count = 0; this._pool = []; this._class = classObj; }; $hxClasses["flixel.util.FlxPool"] = flixel_util_FlxPool; flixel_util_FlxPool.__name__ = ["flixel","util","FlxPool"]; flixel_util_FlxPool.__interfaces__ = [flixel_util_IFlxPool]; flixel_util_FlxPool.prototype = { _pool: null ,_class: null ,_count: null ,get: function() { if(this._count == 0) { return Type.createInstance(this._class,[]); } return this._pool[--this._count]; } ,put: function(obj) { if(obj != null) { var i = this._pool.indexOf(obj); if(i == -1 || i >= this._count) { obj.destroy(); this._pool[this._count++] = obj; } } } ,putUnsafe: function(obj) { if(obj != null) { obj.destroy(); this._pool[this._count++] = obj; } } ,preAllocate: function(numObjects) { while(numObjects-- > 0) this._pool[this._count++] = Type.createInstance(this._class,[]); } ,clear: function() { this._count = 0; var oldPool = this._pool; this._pool = []; return oldPool; } ,get_length: function() { return this._count; } ,__class__: flixel_util_FlxPool ,__properties__: {get_length:"get_length"} }; var flixel_util_FlxPool_$flixel_$util_$LabelValuePair = function(classObj) { this._count = 0; this._pool = []; this._class = classObj; }; $hxClasses["flixel.util.FlxPool_flixel_util_LabelValuePair"] = flixel_util_FlxPool_$flixel_$util_$LabelValuePair; flixel_util_FlxPool_$flixel_$util_$LabelValuePair.__name__ = ["flixel","util","FlxPool_flixel_util_LabelValuePair"]; flixel_util_FlxPool_$flixel_$util_$LabelValuePair.__interfaces__ = [flixel_util_IFlxPool]; flixel_util_FlxPool_$flixel_$util_$LabelValuePair.prototype = { _pool: null ,_class: null ,_count: null ,get: function() { if(this._count == 0) { return Type.createInstance(this._class,[]); } return this._pool[--this._count]; } ,put: function(obj) { if(obj != null) { var i = this._pool.indexOf(obj); if(i == -1 || i >= this._count) { obj.destroy(); this._pool[this._count++] = obj; } } } ,putUnsafe: function(obj) { if(obj != null) { obj.destroy(); this._pool[this._count++] = obj; } } ,preAllocate: function(numObjects) { while(numObjects-- > 0) this._pool[this._count++] = Type.createInstance(this._class,[]); } ,clear: function() { this._count = 0; var oldPool = this._pool; this._pool = []; return oldPool; } ,get_length: function() { return this._count; } ,__class__: flixel_util_FlxPool_$flixel_$util_$LabelValuePair ,__properties__: {get_length:"get_length"} }; var flixel_util_FlxSaveStatus = $hxClasses["flixel.util.FlxSaveStatus"] = { __ename__ : ["flixel","util","FlxSaveStatus"], __constructs__ : ["SUCCESS","PENDING","ERROR"] }; flixel_util_FlxSaveStatus.SUCCESS = ["SUCCESS",0]; flixel_util_FlxSaveStatus.SUCCESS.toString = $estr; flixel_util_FlxSaveStatus.SUCCESS.__enum__ = flixel_util_FlxSaveStatus; flixel_util_FlxSaveStatus.PENDING = ["PENDING",1]; flixel_util_FlxSaveStatus.PENDING.toString = $estr; flixel_util_FlxSaveStatus.PENDING.__enum__ = flixel_util_FlxSaveStatus; flixel_util_FlxSaveStatus.ERROR = ["ERROR",2]; flixel_util_FlxSaveStatus.ERROR.toString = $estr; flixel_util_FlxSaveStatus.ERROR.__enum__ = flixel_util_FlxSaveStatus; var flixel_util__$FlxSignal_FlxTypedSignal_$Impl_$ = {}; $hxClasses["flixel.util._FlxSignal.FlxTypedSignal_Impl_"] = flixel_util__$FlxSignal_FlxTypedSignal_$Impl_$; flixel_util__$FlxSignal_FlxTypedSignal_$Impl_$.__name__ = ["flixel","util","_FlxSignal","FlxTypedSignal_Impl_"]; flixel_util__$FlxSignal_FlxTypedSignal_$Impl_$.__properties__ = {get_dispatch:"get_dispatch"}; flixel_util__$FlxSignal_FlxTypedSignal_$Impl_$.add = function(this1,listener) { this1.add(listener); }; flixel_util__$FlxSignal_FlxTypedSignal_$Impl_$.addOnce = function(this1,listener) { this1.addOnce(listener); }; flixel_util__$FlxSignal_FlxTypedSignal_$Impl_$.remove = function(this1,listener) { this1.remove(listener); }; flixel_util__$FlxSignal_FlxTypedSignal_$Impl_$.has = function(this1,listener) { return this1.has(listener); }; flixel_util__$FlxSignal_FlxTypedSignal_$Impl_$.removeAll = function(this1) { this1.removeAll(); }; flixel_util__$FlxSignal_FlxTypedSignal_$Impl_$.get_dispatch = function(this1) { return this1.dispatch; }; flixel_util__$FlxSignal_FlxTypedSignal_$Impl_$.toSignal0 = function(signal) { return new flixel_util__$FlxSignal_FlxSignal0(); }; flixel_util__$FlxSignal_FlxTypedSignal_$Impl_$.toSignal1 = function(signal) { return new flixel_util__$FlxSignal_FlxSignal1(); }; flixel_util__$FlxSignal_FlxTypedSignal_$Impl_$.toSignal2 = function(signal) { return new flixel_util__$FlxSignal_FlxSignal2(); }; flixel_util__$FlxSignal_FlxTypedSignal_$Impl_$.toSignal3 = function(signal) { return new flixel_util__$FlxSignal_FlxSignal3(); }; flixel_util__$FlxSignal_FlxTypedSignal_$Impl_$.toSignal4 = function(signal) { return new flixel_util__$FlxSignal_FlxSignal4(); }; var flixel_util__$FlxSignal_FlxSignalHandler = function(listener,dispatchOnce) { this.dispatchOnce = false; this.listener = listener; this.dispatchOnce = dispatchOnce; }; $hxClasses["flixel.util._FlxSignal.FlxSignalHandler"] = flixel_util__$FlxSignal_FlxSignalHandler; flixel_util__$FlxSignal_FlxSignalHandler.__name__ = ["flixel","util","_FlxSignal","FlxSignalHandler"]; flixel_util__$FlxSignal_FlxSignalHandler.__interfaces__ = [flixel_util_IFlxDestroyable]; flixel_util__$FlxSignal_FlxSignalHandler.prototype = { listener: null ,dispatchOnce: null ,destroy: function() { this.listener = null; } ,__class__: flixel_util__$FlxSignal_FlxSignalHandler }; var flixel_util_IFlxSignal = function() { }; $hxClasses["flixel.util.IFlxSignal"] = flixel_util_IFlxSignal; flixel_util_IFlxSignal.__name__ = ["flixel","util","IFlxSignal"]; flixel_util_IFlxSignal.__interfaces__ = [flixel_util_IFlxDestroyable]; flixel_util_IFlxSignal.prototype = { dispatch: null ,add: null ,addOnce: null ,remove: null ,removeAll: null ,has: null ,__class__: flixel_util_IFlxSignal }; var flixel_util__$FlxSignal_FlxBaseSignal = function() { this.processingListeners = false; this.handlers = []; this.pendingRemove = []; }; $hxClasses["flixel.util._FlxSignal.FlxBaseSignal"] = flixel_util__$FlxSignal_FlxBaseSignal; flixel_util__$FlxSignal_FlxBaseSignal.__name__ = ["flixel","util","_FlxSignal","FlxBaseSignal"]; flixel_util__$FlxSignal_FlxBaseSignal.__interfaces__ = [flixel_util_IFlxSignal]; flixel_util__$FlxSignal_FlxBaseSignal.prototype = { dispatch: null ,handlers: null ,pendingRemove: null ,processingListeners: null ,add: function(listener) { if(listener != null) { this.registerListener(listener,false); } } ,addOnce: function(listener) { if(listener != null) { this.registerListener(listener,true); } } ,remove: function(listener) { if(listener != null) { var handler = this.getHandler(listener); if(handler != null) { if(this.processingListeners) { this.pendingRemove.push(handler); } else { HxOverrides.remove(this.handlers,handler); handler.destroy(); } } } } ,has: function(listener) { if(listener == null) { return false; } return this.getHandler(listener) != null; } ,removeAll: function() { flixel_util_FlxDestroyUtil.destroyArray(this.handlers); } ,destroy: function() { flixel_util_FlxDestroyUtil.destroyArray(this.handlers); this.handlers = null; this.pendingRemove = null; } ,registerListener: function(listener,dispatchOnce) { var handler = this.getHandler(listener); if(handler == null) { handler = new flixel_util__$FlxSignal_FlxSignalHandler(listener,dispatchOnce); this.handlers.push(handler); return handler; } else if(handler.dispatchOnce != dispatchOnce) { throw new js__$Boot_HaxeError("You cannot addOnce() then add() the same listener without removing the relationship first."); } else { return handler; } } ,getHandler: function(listener) { var _g = 0; var _g1 = this.handlers; while(_g < _g1.length) { var handler = _g1[_g]; ++_g; if(handler.listener == listener) { return handler; } } return null; } ,__class__: flixel_util__$FlxSignal_FlxBaseSignal }; var flixel_util__$FlxSignal_FlxSignal0 = function() { flixel_util__$FlxSignal_FlxBaseSignal.call(this); this.dispatch = $bind(this,this.dispatch0); }; $hxClasses["flixel.util._FlxSignal.FlxSignal0"] = flixel_util__$FlxSignal_FlxSignal0; flixel_util__$FlxSignal_FlxSignal0.__name__ = ["flixel","util","_FlxSignal","FlxSignal0"]; flixel_util__$FlxSignal_FlxSignal0.__super__ = flixel_util__$FlxSignal_FlxBaseSignal; flixel_util__$FlxSignal_FlxSignal0.prototype = $extend(flixel_util__$FlxSignal_FlxBaseSignal.prototype,{ dispatch0: function() { this.processingListeners = true; var _g = 0; var _g1 = this.handlers; while(_g < _g1.length) { var handler = _g1[_g]; ++_g; handler.listener(); if(handler.dispatchOnce) { this.remove(handler.listener); } } this.processingListeners = false; var _g2 = 0; var _g11 = this.pendingRemove; while(_g2 < _g11.length) { var handler1 = _g11[_g2]; ++_g2; this.remove(handler1.listener); } if(this.pendingRemove.length > 0) { this.pendingRemove = []; } } ,__class__: flixel_util__$FlxSignal_FlxSignal0 }); var flixel_util__$FlxSignal_FlxSignal1 = function() { flixel_util__$FlxSignal_FlxBaseSignal.call(this); this.dispatch = $bind(this,this.dispatch1); }; $hxClasses["flixel.util._FlxSignal.FlxSignal1"] = flixel_util__$FlxSignal_FlxSignal1; flixel_util__$FlxSignal_FlxSignal1.__name__ = ["flixel","util","_FlxSignal","FlxSignal1"]; flixel_util__$FlxSignal_FlxSignal1.__super__ = flixel_util__$FlxSignal_FlxBaseSignal; flixel_util__$FlxSignal_FlxSignal1.prototype = $extend(flixel_util__$FlxSignal_FlxBaseSignal.prototype,{ dispatch1: function(value1) { this.processingListeners = true; var _g = 0; var _g1 = this.handlers; while(_g < _g1.length) { var handler = _g1[_g]; ++_g; handler.listener(value1); if(handler.dispatchOnce) { this.remove(handler.listener); } } this.processingListeners = false; var _g2 = 0; var _g11 = this.pendingRemove; while(_g2 < _g11.length) { var handler1 = _g11[_g2]; ++_g2; this.remove(handler1.listener); } if(this.pendingRemove.length > 0) { this.pendingRemove = []; } } ,__class__: flixel_util__$FlxSignal_FlxSignal1 }); var flixel_util__$FlxSignal_FlxSignal2 = function() { flixel_util__$FlxSignal_FlxBaseSignal.call(this); this.dispatch = $bind(this,this.dispatch2); }; $hxClasses["flixel.util._FlxSignal.FlxSignal2"] = flixel_util__$FlxSignal_FlxSignal2; flixel_util__$FlxSignal_FlxSignal2.__name__ = ["flixel","util","_FlxSignal","FlxSignal2"]; flixel_util__$FlxSignal_FlxSignal2.__super__ = flixel_util__$FlxSignal_FlxBaseSignal; flixel_util__$FlxSignal_FlxSignal2.prototype = $extend(flixel_util__$FlxSignal_FlxBaseSignal.prototype,{ dispatch2: function(value1,value2) { this.processingListeners = true; var _g = 0; var _g1 = this.handlers; while(_g < _g1.length) { var handler = _g1[_g]; ++_g; handler.listener(value1,value2); if(handler.dispatchOnce) { this.remove(handler.listener); } } this.processingListeners = false; var _g2 = 0; var _g11 = this.pendingRemove; while(_g2 < _g11.length) { var handler1 = _g11[_g2]; ++_g2; this.remove(handler1.listener); } if(this.pendingRemove.length > 0) { this.pendingRemove = []; } } ,__class__: flixel_util__$FlxSignal_FlxSignal2 }); var flixel_util__$FlxSignal_FlxSignal3 = function() { flixel_util__$FlxSignal_FlxBaseSignal.call(this); this.dispatch = $bind(this,this.dispatch3); }; $hxClasses["flixel.util._FlxSignal.FlxSignal3"] = flixel_util__$FlxSignal_FlxSignal3; flixel_util__$FlxSignal_FlxSignal3.__name__ = ["flixel","util","_FlxSignal","FlxSignal3"]; flixel_util__$FlxSignal_FlxSignal3.__super__ = flixel_util__$FlxSignal_FlxBaseSignal; flixel_util__$FlxSignal_FlxSignal3.prototype = $extend(flixel_util__$FlxSignal_FlxBaseSignal.prototype,{ dispatch3: function(value1,value2,value3) { this.processingListeners = true; var _g = 0; var _g1 = this.handlers; while(_g < _g1.length) { var handler = _g1[_g]; ++_g; handler.listener(value1,value2,value3); if(handler.dispatchOnce) { this.remove(handler.listener); } } this.processingListeners = false; var _g2 = 0; var _g11 = this.pendingRemove; while(_g2 < _g11.length) { var handler1 = _g11[_g2]; ++_g2; this.remove(handler1.listener); } if(this.pendingRemove.length > 0) { this.pendingRemove = []; } } ,__class__: flixel_util__$FlxSignal_FlxSignal3 }); var flixel_util__$FlxSignal_FlxSignal4 = function() { flixel_util__$FlxSignal_FlxBaseSignal.call(this); this.dispatch = $bind(this,this.dispatch4); }; $hxClasses["flixel.util._FlxSignal.FlxSignal4"] = flixel_util__$FlxSignal_FlxSignal4; flixel_util__$FlxSignal_FlxSignal4.__name__ = ["flixel","util","_FlxSignal","FlxSignal4"]; flixel_util__$FlxSignal_FlxSignal4.__super__ = flixel_util__$FlxSignal_FlxBaseSignal; flixel_util__$FlxSignal_FlxSignal4.prototype = $extend(flixel_util__$FlxSignal_FlxBaseSignal.prototype,{ dispatch4: function(value1,value2,value3,value4) { this.processingListeners = true; var _g = 0; var _g1 = this.handlers; while(_g < _g1.length) { var handler = _g1[_g]; ++_g; handler.listener(value1,value2,value3,value4); if(handler.dispatchOnce) { this.remove(handler.listener); } } this.processingListeners = false; var _g2 = 0; var _g11 = this.pendingRemove; while(_g2 < _g11.length) { var handler1 = _g11[_g2]; ++_g2; this.remove(handler1.listener); } if(this.pendingRemove.length > 0) { this.pendingRemove = []; } } ,__class__: flixel_util__$FlxSignal_FlxSignal4 }); var flixel_util__$FlxSignal_Macro = function() { }; $hxClasses["flixel.util._FlxSignal.Macro"] = flixel_util__$FlxSignal_Macro; flixel_util__$FlxSignal_Macro.__name__ = ["flixel","util","_FlxSignal","Macro"]; var flixel_util_FlxSort = function() { }; $hxClasses["flixel.util.FlxSort"] = flixel_util_FlxSort; flixel_util_FlxSort.__name__ = ["flixel","util","FlxSort"]; flixel_util_FlxSort.byY = function(Order,Obj1,Obj2) { var Value1 = Obj1.y; var Value2 = Obj2.y; var result = 0; if(Value1 < Value2) { result = Order; } else if(Value1 > Value2) { result = -Order; } return result; }; flixel_util_FlxSort.byValues = function(Order,Value1,Value2) { var result = 0; if(Value1 < Value2) { result = Order; } else if(Value1 > Value2) { result = -Order; } return result; }; var flixel_util_FlxSpriteUtil = function() { }; $hxClasses["flixel.util.FlxSpriteUtil"] = flixel_util_FlxSpriteUtil; flixel_util_FlxSpriteUtil.__name__ = ["flixel","util","FlxSpriteUtil"]; flixel_util_FlxSpriteUtil.alphaMask = function(output,source,mask) { var data = flixel_system_FlxAssets.resolveBitmapData(source); var maskData = flixel_system_FlxAssets.resolveBitmapData(mask); if(data == null || maskData == null) { return null; } data = data.clone(); data.copyChannel(maskData,new openfl_geom_Rectangle(0,0,data.width,data.height),new openfl_geom_Point(),8,8); output.set_pixels(data); return output; }; flixel_util_FlxSpriteUtil.alphaMaskFlxSprite = function(sprite,mask,output) { sprite.drawFrame(); var data = sprite.get_pixels().clone(); data.copyChannel(mask.get_pixels(),new openfl_geom_Rectangle(0,0,sprite.get_width(),sprite.get_height()),new openfl_geom_Point(),8,8); output.set_pixels(data); return output; }; flixel_util_FlxSpriteUtil.screenWrap = function(sprite,Left,Right,Top,Bottom) { if(Bottom == null) { Bottom = true; } if(Top == null) { Top = true; } if(Right == null) { Right = true; } if(Left == null) { Left = true; } if(Left && sprite.x + sprite.frameWidth / 2 <= 0) { sprite.set_x(flixel_FlxG.width); } else if(Right && sprite.x >= flixel_FlxG.width) { sprite.set_x(0); } if(Top && sprite.y + sprite.frameHeight / 2 <= 0) { sprite.set_y(flixel_FlxG.height); } else if(Bottom && sprite.y >= flixel_FlxG.height) { sprite.set_y(0); } return sprite; }; flixel_util_FlxSpriteUtil.bound = function(sprite,MinX,MaxX,MinY,MaxY) { if(MaxY == null) { MaxY = 0; } if(MinY == null) { MinY = 0; } if(MaxX == null) { MaxX = 0; } if(MinX == null) { MinX = 0; } if(MaxX <= 0) { MaxX = flixel_FlxG.width; } if(MaxY <= 0) { MaxY = flixel_FlxG.height; } MaxX -= sprite.frameWidth; MaxY -= sprite.frameHeight; var Value = sprite.x; var lowerBound = MinX != null && Value < MinX ? MinX : Value; sprite.set_x(MaxX != null && lowerBound > MaxX ? MaxX : lowerBound); var Value1 = sprite.y; var lowerBound1 = MinY != null && Value1 < MinY ? MinY : Value1; sprite.set_y(MaxY != null && lowerBound1 > MaxY ? MaxY : lowerBound1); return sprite; }; flixel_util_FlxSpriteUtil.space = function(objects,startX,startY,horizontalSpacing,verticalSpacing,spaceFromBounds,position) { if(spaceFromBounds == null) { spaceFromBounds = false; } var prevWidth = 0; var runningX = 0; if(horizontalSpacing != null) { if(spaceFromBounds) { prevWidth = objects[0].get_width(); } runningX = startX; } else { runningX = objects[0].x; } var prevHeight = 0; var runningY = 0; if(verticalSpacing != null) { if(spaceFromBounds) { prevHeight = objects[0].get_height(); } runningY = startY; } else { runningY = objects[0].y; } if(position != null) { position(objects[0],runningX,runningY); } else { objects[0].set_x(runningX); objects[0].set_y(runningY); } var curX = 0; var curY = 0; var _g1 = 1; var _g = objects.length; while(_g1 < _g) { var i = _g1++; var object = objects[i]; if(horizontalSpacing != null) { curX = runningX + prevWidth + horizontalSpacing; runningX = curX; } else { curX = object.x; } if(verticalSpacing != null) { curY = runningY + prevHeight + verticalSpacing; runningY = curY; } else { curY = object.y; } if(position != null) { position(object,curX,curY); } else { object.set_x(curX); object.set_y(curY); } if(spaceFromBounds) { prevWidth = object.get_width(); prevHeight = object.get_height(); } } }; flixel_util_FlxSpriteUtil.drawLine = function(sprite,StartX,StartY,EndX,EndY,lineStyle,drawStyle) { var lineStyle1 = lineStyle; if(lineStyle1 == null) { lineStyle1 = { thickness : 1, color : -1}; } if(lineStyle1.thickness == null) { lineStyle1.thickness = 1; } if(lineStyle1.color == null) { lineStyle1.color = -1; } lineStyle = lineStyle1; flixel_util_FlxSpriteUtil.flashGfx.clear(); if(lineStyle != null) { var color = lineStyle.color == null ? -16777216 : lineStyle.color; if(lineStyle.thickness == null) { lineStyle.thickness = 1; } if(lineStyle.pixelHinting == null) { lineStyle.pixelHinting = false; } if(lineStyle.miterLimit == null) { lineStyle.miterLimit = 3; } flixel_util_FlxSpriteUtil.flashGfx.lineStyle(lineStyle.thickness,color & 16777215,(color >> 24 & 255) / 255,lineStyle.pixelHinting,lineStyle.scaleMode,lineStyle.capsStyle,lineStyle.jointStyle,lineStyle.miterLimit); } if(0 != 0) { flixel_util_FlxSpriteUtil.flashGfx.beginFill(0 & 16777215,(0 >> 24 & 255) / 255); } flixel_util_FlxSpriteUtil.flashGfx.moveTo(StartX,StartY); flixel_util_FlxSpriteUtil.flashGfx.lineTo(EndX,EndY); flixel_util_FlxSpriteUtil.flashGfx.endFill(); flixel_util_FlxSpriteUtil.updateSpriteGraphic(sprite,drawStyle); return sprite; }; flixel_util_FlxSpriteUtil.drawCurve = function(sprite,StartX,StartY,EndX,EndY,ControlX,ControlY,FillColor,lineStyle,drawStyle) { if(FillColor == null) { FillColor = 0; } var lineStyle1 = lineStyle; if(lineStyle1 == null) { lineStyle1 = { thickness : 1, color : -1}; } if(lineStyle1.thickness == null) { lineStyle1.thickness = 1; } if(lineStyle1.color == null) { lineStyle1.color = -1; } lineStyle = lineStyle1; flixel_util_FlxSpriteUtil.flashGfx.clear(); if(lineStyle != null) { var color = lineStyle.color == null ? -16777216 : lineStyle.color; if(lineStyle.thickness == null) { lineStyle.thickness = 1; } if(lineStyle.pixelHinting == null) { lineStyle.pixelHinting = false; } if(lineStyle.miterLimit == null) { lineStyle.miterLimit = 3; } flixel_util_FlxSpriteUtil.flashGfx.lineStyle(lineStyle.thickness,color & 16777215,(color >> 24 & 255) / 255,lineStyle.pixelHinting,lineStyle.scaleMode,lineStyle.capsStyle,lineStyle.jointStyle,lineStyle.miterLimit); } if(FillColor != 0) { flixel_util_FlxSpriteUtil.flashGfx.beginFill(FillColor & 16777215,(FillColor >> 24 & 255) / 255); } flixel_util_FlxSpriteUtil.flashGfx.moveTo(StartX,StartY); flixel_util_FlxSpriteUtil.flashGfx.curveTo(EndX,EndY,ControlX,ControlY); flixel_util_FlxSpriteUtil.flashGfx.endFill(); flixel_util_FlxSpriteUtil.updateSpriteGraphic(sprite,drawStyle); return sprite; }; flixel_util_FlxSpriteUtil.drawRect = function(sprite,X,Y,Width,Height,FillColor,lineStyle,drawStyle) { if(FillColor == null) { FillColor = -1; } flixel_util_FlxSpriteUtil.flashGfx.clear(); if(lineStyle != null) { var color = lineStyle.color == null ? -16777216 : lineStyle.color; if(lineStyle.thickness == null) { lineStyle.thickness = 1; } if(lineStyle.pixelHinting == null) { lineStyle.pixelHinting = false; } if(lineStyle.miterLimit == null) { lineStyle.miterLimit = 3; } flixel_util_FlxSpriteUtil.flashGfx.lineStyle(lineStyle.thickness,color & 16777215,(color >> 24 & 255) / 255,lineStyle.pixelHinting,lineStyle.scaleMode,lineStyle.capsStyle,lineStyle.jointStyle,lineStyle.miterLimit); } if(FillColor != 0) { flixel_util_FlxSpriteUtil.flashGfx.beginFill(FillColor & 16777215,(FillColor >> 24 & 255) / 255); } flixel_util_FlxSpriteUtil.flashGfx.drawRect(X,Y,Width,Height); flixel_util_FlxSpriteUtil.flashGfx.endFill(); flixel_util_FlxSpriteUtil.updateSpriteGraphic(sprite,drawStyle); return sprite; }; flixel_util_FlxSpriteUtil.drawRoundRect = function(sprite,X,Y,Width,Height,EllipseWidth,EllipseHeight,FillColor,lineStyle,drawStyle) { if(FillColor == null) { FillColor = -1; } flixel_util_FlxSpriteUtil.flashGfx.clear(); if(lineStyle != null) { var color = lineStyle.color == null ? -16777216 : lineStyle.color; if(lineStyle.thickness == null) { lineStyle.thickness = 1; } if(lineStyle.pixelHinting == null) { lineStyle.pixelHinting = false; } if(lineStyle.miterLimit == null) { lineStyle.miterLimit = 3; } flixel_util_FlxSpriteUtil.flashGfx.lineStyle(lineStyle.thickness,color & 16777215,(color >> 24 & 255) / 255,lineStyle.pixelHinting,lineStyle.scaleMode,lineStyle.capsStyle,lineStyle.jointStyle,lineStyle.miterLimit); } if(FillColor != 0) { flixel_util_FlxSpriteUtil.flashGfx.beginFill(FillColor & 16777215,(FillColor >> 24 & 255) / 255); } flixel_util_FlxSpriteUtil.flashGfx.drawRoundRect(X,Y,Width,Height,EllipseWidth,EllipseHeight); flixel_util_FlxSpriteUtil.flashGfx.endFill(); flixel_util_FlxSpriteUtil.updateSpriteGraphic(sprite,drawStyle); return sprite; }; flixel_util_FlxSpriteUtil.drawCircle = function(sprite,X,Y,Radius,FillColor,lineStyle,drawStyle) { if(FillColor == null) { FillColor = -1; } if(Radius == null) { Radius = -1; } if(Y == null) { Y = -1; } if(X == null) { X = -1; } if(X == -1 || Y == -1) { var midPoint = sprite.getGraphicMidpoint(); if(X == -1) { X = midPoint.x - sprite.x; } if(Y == -1) { Y = midPoint.y - sprite.y; } midPoint.put(); } if(Radius < 1) { var minVal = Math.min(sprite.frameWidth,sprite.frameHeight); Radius = minVal / 2; } flixel_util_FlxSpriteUtil.flashGfx.clear(); if(lineStyle != null) { var color = lineStyle.color == null ? -16777216 : lineStyle.color; if(lineStyle.thickness == null) { lineStyle.thickness = 1; } if(lineStyle.pixelHinting == null) { lineStyle.pixelHinting = false; } if(lineStyle.miterLimit == null) { lineStyle.miterLimit = 3; } flixel_util_FlxSpriteUtil.flashGfx.lineStyle(lineStyle.thickness,color & 16777215,(color >> 24 & 255) / 255,lineStyle.pixelHinting,lineStyle.scaleMode,lineStyle.capsStyle,lineStyle.jointStyle,lineStyle.miterLimit); } if(FillColor != 0) { flixel_util_FlxSpriteUtil.flashGfx.beginFill(FillColor & 16777215,(FillColor >> 24 & 255) / 255); } flixel_util_FlxSpriteUtil.flashGfx.drawCircle(X,Y,Radius); flixel_util_FlxSpriteUtil.flashGfx.endFill(); flixel_util_FlxSpriteUtil.updateSpriteGraphic(sprite,drawStyle); return sprite; }; flixel_util_FlxSpriteUtil.drawEllipse = function(sprite,X,Y,Width,Height,FillColor,lineStyle,drawStyle) { if(FillColor == null) { FillColor = -1; } flixel_util_FlxSpriteUtil.flashGfx.clear(); if(lineStyle != null) { var color = lineStyle.color == null ? -16777216 : lineStyle.color; if(lineStyle.thickness == null) { lineStyle.thickness = 1; } if(lineStyle.pixelHinting == null) { lineStyle.pixelHinting = false; } if(lineStyle.miterLimit == null) { lineStyle.miterLimit = 3; } flixel_util_FlxSpriteUtil.flashGfx.lineStyle(lineStyle.thickness,color & 16777215,(color >> 24 & 255) / 255,lineStyle.pixelHinting,lineStyle.scaleMode,lineStyle.capsStyle,lineStyle.jointStyle,lineStyle.miterLimit); } if(FillColor != 0) { flixel_util_FlxSpriteUtil.flashGfx.beginFill(FillColor & 16777215,(FillColor >> 24 & 255) / 255); } flixel_util_FlxSpriteUtil.flashGfx.drawEllipse(X,Y,Width,Height); flixel_util_FlxSpriteUtil.flashGfx.endFill(); flixel_util_FlxSpriteUtil.updateSpriteGraphic(sprite,drawStyle); return sprite; }; flixel_util_FlxSpriteUtil.drawTriangle = function(sprite,X,Y,Height,FillColor,lineStyle,drawStyle) { if(FillColor == null) { FillColor = -1; } flixel_util_FlxSpriteUtil.flashGfx.clear(); if(lineStyle != null) { var color = lineStyle.color == null ? -16777216 : lineStyle.color; if(lineStyle.thickness == null) { lineStyle.thickness = 1; } if(lineStyle.pixelHinting == null) { lineStyle.pixelHinting = false; } if(lineStyle.miterLimit == null) { lineStyle.miterLimit = 3; } flixel_util_FlxSpriteUtil.flashGfx.lineStyle(lineStyle.thickness,color & 16777215,(color >> 24 & 255) / 255,lineStyle.pixelHinting,lineStyle.scaleMode,lineStyle.capsStyle,lineStyle.jointStyle,lineStyle.miterLimit); } if(FillColor != 0) { flixel_util_FlxSpriteUtil.flashGfx.beginFill(FillColor & 16777215,(FillColor >> 24 & 255) / 255); } flixel_util_FlxSpriteUtil.flashGfx.moveTo(X + Height / 2,Y); flixel_util_FlxSpriteUtil.flashGfx.lineTo(X + Height,Height + Y); flixel_util_FlxSpriteUtil.flashGfx.lineTo(X,Height + Y); flixel_util_FlxSpriteUtil.flashGfx.lineTo(X + Height / 2,Y); flixel_util_FlxSpriteUtil.flashGfx.endFill(); flixel_util_FlxSpriteUtil.updateSpriteGraphic(sprite,drawStyle); return sprite; }; flixel_util_FlxSpriteUtil.drawPolygon = function(sprite,Vertices,FillColor,lineStyle,drawStyle) { if(FillColor == null) { FillColor = -1; } flixel_util_FlxSpriteUtil.flashGfx.clear(); if(lineStyle != null) { var color = lineStyle.color == null ? -16777216 : lineStyle.color; if(lineStyle.thickness == null) { lineStyle.thickness = 1; } if(lineStyle.pixelHinting == null) { lineStyle.pixelHinting = false; } if(lineStyle.miterLimit == null) { lineStyle.miterLimit = 3; } flixel_util_FlxSpriteUtil.flashGfx.lineStyle(lineStyle.thickness,color & 16777215,(color >> 24 & 255) / 255,lineStyle.pixelHinting,lineStyle.scaleMode,lineStyle.capsStyle,lineStyle.jointStyle,lineStyle.miterLimit); } if(FillColor != 0) { flixel_util_FlxSpriteUtil.flashGfx.beginFill(FillColor & 16777215,(FillColor >> 24 & 255) / 255); } var p = Vertices.shift(); flixel_util_FlxSpriteUtil.flashGfx.moveTo(p.x,p.y); var _g = 0; while(_g < Vertices.length) { var p1 = Vertices[_g]; ++_g; flixel_util_FlxSpriteUtil.flashGfx.lineTo(p1.x,p1.y); } flixel_util_FlxSpriteUtil.flashGfx.endFill(); flixel_util_FlxSpriteUtil.updateSpriteGraphic(sprite,drawStyle); Vertices.unshift(p); return sprite; }; flixel_util_FlxSpriteUtil.beginDraw = function(FillColor,lineStyle) { flixel_util_FlxSpriteUtil.flashGfx.clear(); if(lineStyle != null) { var color = lineStyle.color == null ? -16777216 : lineStyle.color; if(lineStyle.thickness == null) { lineStyle.thickness = 1; } if(lineStyle.pixelHinting == null) { lineStyle.pixelHinting = false; } if(lineStyle.miterLimit == null) { lineStyle.miterLimit = 3; } flixel_util_FlxSpriteUtil.flashGfx.lineStyle(lineStyle.thickness,color & 16777215,(color >> 24 & 255) / 255,lineStyle.pixelHinting,lineStyle.scaleMode,lineStyle.capsStyle,lineStyle.jointStyle,lineStyle.miterLimit); } if(FillColor != 0) { flixel_util_FlxSpriteUtil.flashGfx.beginFill(FillColor & 16777215,(FillColor >> 24 & 255) / 255); } }; flixel_util_FlxSpriteUtil.endDraw = function(sprite,drawStyle) { flixel_util_FlxSpriteUtil.flashGfx.endFill(); flixel_util_FlxSpriteUtil.updateSpriteGraphic(sprite,drawStyle); return sprite; }; flixel_util_FlxSpriteUtil.updateSpriteGraphic = function(sprite,drawStyle) { if(drawStyle == null) { drawStyle = { smoothing : false}; } else if(drawStyle.smoothing == null) { drawStyle.smoothing = false; } sprite.get_pixels().draw(flixel_util_FlxSpriteUtil.flashGfxSprite,drawStyle.matrix,drawStyle.colorTransform,drawStyle.blendMode,drawStyle.clipRect,drawStyle.smoothing); sprite.dirty = true; return sprite; }; flixel_util_FlxSpriteUtil.setLineStyle = function(lineStyle) { if(lineStyle != null) { var color = lineStyle.color == null ? -16777216 : lineStyle.color; if(lineStyle.thickness == null) { lineStyle.thickness = 1; } if(lineStyle.pixelHinting == null) { lineStyle.pixelHinting = false; } if(lineStyle.miterLimit == null) { lineStyle.miterLimit = 3; } flixel_util_FlxSpriteUtil.flashGfx.lineStyle(lineStyle.thickness,color & 16777215,(color >> 24 & 255) / 255,lineStyle.pixelHinting,lineStyle.scaleMode,lineStyle.capsStyle,lineStyle.jointStyle,lineStyle.miterLimit); } }; flixel_util_FlxSpriteUtil.getDefaultLineStyle = function(lineStyle) { if(lineStyle == null) { lineStyle = { thickness : 1, color : -1}; } if(lineStyle.thickness == null) { lineStyle.thickness = 1; } if(lineStyle.color == null) { lineStyle.color = -1; } return lineStyle; }; flixel_util_FlxSpriteUtil.fill = function(sprite,FillColor) { sprite.get_pixels().fillRect(sprite.get_pixels().rect,FillColor); if(sprite.get_pixels() != sprite.framePixels) { sprite.dirty = true; } return sprite; }; flixel_util_FlxSpriteUtil.flicker = function(Object,Duration,Interval,EndVisibility,ForceRestart,CompletionCallback,ProgressCallback) { if(ForceRestart == null) { ForceRestart = true; } if(EndVisibility == null) { EndVisibility = true; } if(Interval == null) { Interval = 0.04; } if(Duration == null) { Duration = 1; } return flixel_effects_FlxFlicker.flicker(Object,Duration,Interval,EndVisibility,ForceRestart,CompletionCallback,ProgressCallback); }; flixel_util_FlxSpriteUtil.isFlickering = function(Object) { return flixel_effects_FlxFlicker.isFlickering(Object); }; flixel_util_FlxSpriteUtil.stopFlickering = function(Object) { flixel_effects_FlxFlicker.stopFlickering(Object); return Object; }; flixel_util_FlxSpriteUtil.fadeIn = function(sprite,Duration,ResetAlpha,OnComplete) { if(Duration == null) { Duration = 1; } if(ResetAlpha) { sprite.set_alpha(0); } var a1 = sprite; var tmp = function(f) { flixel_util_FlxSpriteUtil.alphaTween(a1,f); }; flixel_tweens_FlxTween.num(sprite.alpha,1,Duration,{ onComplete : OnComplete},tmp); return sprite; }; flixel_util_FlxSpriteUtil.fadeOut = function(sprite,Duration,OnComplete) { if(Duration == null) { Duration = 1; } var a1 = sprite; var tmp = function(f) { flixel_util_FlxSpriteUtil.alphaTween(a1,f); }; flixel_tweens_FlxTween.num(sprite.alpha,0,Duration,{ onComplete : OnComplete},tmp); return sprite; }; flixel_util_FlxSpriteUtil.alphaTween = function(sprite,f) { sprite.set_alpha(f); }; var flixel_util_FlxStringUtil = function() { }; $hxClasses["flixel.util.FlxStringUtil"] = flixel_util_FlxStringUtil; flixel_util_FlxStringUtil.__name__ = ["flixel","util","FlxStringUtil"]; flixel_util_FlxStringUtil.formatTicks = function(StartTicks,EndTicks) { return Math.abs(EndTicks - StartTicks) / 1000 + "s"; }; flixel_util_FlxStringUtil.formatTime = function(Seconds,ShowMS) { if(ShowMS == null) { ShowMS = false; } var timeString = (Seconds / 60 | 0) + ":"; var timeStringHelper = (Seconds | 0) % 60; if(timeStringHelper < 10) { timeString += "0"; } timeString += timeStringHelper; if(ShowMS) { timeString += "."; timeStringHelper = (Seconds - (Seconds | 0)) * 100 | 0; if(timeStringHelper < 10) { timeString += "0"; } timeString += timeStringHelper; } return timeString; }; flixel_util_FlxStringUtil.formatArray = function(AnyArray) { var string = ""; if(AnyArray != null && AnyArray.length > 0) { string = Std.string(AnyArray[0]); var i = 1; var l = AnyArray.length; while(i < l) string += ", " + Std.string(AnyArray[i++]); } return string; }; flixel_util_FlxStringUtil.formatStringMap = function(AnyMap) { var string = ""; var key = AnyMap.keys(); while(key.hasNext()) { var key1 = key.next(); string += key1 == null ? "null" : "" + key1; string += ", "; } return string.substring(0,string.length - 2); }; flixel_util_FlxStringUtil.formatMoney = function(Amount,ShowDecimal,EnglishStyle) { if(EnglishStyle == null) { EnglishStyle = true; } if(ShowDecimal == null) { ShowDecimal = true; } var isNegative = Amount < 0; Amount = Math.abs(Amount); var string = ""; var comma = ""; var amount = Math.floor(Amount); while(amount > 0) { if(string.length > 0 && comma.length <= 0) { if(EnglishStyle) { comma = ","; } else { comma = "."; } } var zeroes = ""; var helper = amount - Math.floor(amount / 1000) * 1000; amount = Math.floor(amount / 1000); if(amount > 0) { if(helper < 100) { zeroes += "0"; } if(helper < 10) { zeroes += "0"; } } string = zeroes + helper + comma + string; } if(string == "") { string = "0"; } if(ShowDecimal) { amount = Math.floor(Amount * 100) - Math.floor(Amount) * 100; string += EnglishStyle ? "." : ","; if(amount < 10) { string += "0"; } string += amount; } if(isNegative) { string = "-" + string; } return string; }; flixel_util_FlxStringUtil.formatBytes = function(Bytes,Precision) { if(Precision == null) { Precision = 2; } var units = ["Bytes","kB","MB","GB","TB","PB"]; var curUnit = 0; while(Bytes >= 1024 && curUnit < units.length - 1) { Bytes /= 1024; ++curUnit; } return flixel_math_FlxMath.roundDecimal(Bytes,Precision) + units[curUnit]; }; flixel_util_FlxStringUtil.filterDigits = function(Input) { var output_b = ""; var _g1 = 0; var _g = Input.length; while(_g1 < _g) { var i = _g1++; var c = HxOverrides.cca(Input,i); if(c >= 48 && c <= 57) { output_b += String.fromCharCode(c); } } return output_b; }; flixel_util_FlxStringUtil.htmlFormat = function(Text,Size,Color,Bold,Italic,Underlined) { if(Underlined == null) { Underlined = false; } if(Italic == null) { Italic = false; } if(Bold == null) { Bold = false; } if(Color == null) { Color = "FFFFFF"; } if(Size == null) { Size = 12; } var prefix = ""; var suffix = ""; if(Bold) { prefix = "" + prefix; suffix += ""; } if(Italic) { prefix = "" + prefix; suffix += ""; } if(Underlined) { prefix = "" + prefix; suffix += ""; } return prefix + Text + suffix; }; flixel_util_FlxStringUtil.getClassName = function(objectOrClass,simple) { if(simple == null) { simple = false; } var cl; if(js_Boot.__instanceof(objectOrClass,Class)) { cl = objectOrClass; } else { var o = objectOrClass; if(o == null) { cl = null; } else { cl = js_Boot.getClass(o); } } return flixel_util_FlxStringUtil.formatPackage(Type.getClassName(cl),simple); }; flixel_util_FlxStringUtil.getEnumName = function(enumValueOrEnum,simple) { if(simple == null) { simple = false; } var e; if(js_Boot.__instanceof(enumValueOrEnum,Enum)) { e = enumValueOrEnum; } else { e = Type.getEnum(enumValueOrEnum); } return flixel_util_FlxStringUtil.formatPackage(Type.getEnumName(e),simple); }; flixel_util_FlxStringUtil.formatPackage = function(s,simple) { if(s == null) { return null; } s = StringTools.replace(s,"::","."); if(simple) { s = HxOverrides.substr(s,s.lastIndexOf(".") + 1,null); } return s; }; flixel_util_FlxStringUtil.getHost = function(url) { var hostFromURL = new EReg("^(?:[a-z][a-z0-9+\\-.]*://)?(?:[a-z0-9\\-._~%!$&'()*+,;=]+@)?([a-z0-9\\-._~%]{3,}|\\[[a-f0-9:.]+\\])?(?::[0-9]+)?","i"); if(hostFromURL.match(url)) { var host = hostFromURL.matched(1); if(host != null) { return decodeURIComponent(host.split("+").join(" ")).toLowerCase(); } else { return ""; } } return ""; }; flixel_util_FlxStringUtil.getDomain = function(url) { var host = flixel_util_FlxStringUtil.getHost(url); var isLocalhostOrIpAddress = new EReg("^(localhost|[0-9.]+|\\[[a-f0-9:.]+\\])$","i"); var domainFromHost = new EReg("^(?:[a-z0-9\\-]+\\.)*([a-z0-9\\-]+\\.[a-z0-9\\-]+)$","i"); if(!isLocalhostOrIpAddress.match(host) && domainFromHost.match(host)) { var domain = domainFromHost.matched(1); if(domain != null) { return domain.toLowerCase(); } else { return ""; } } return ""; }; flixel_util_FlxStringUtil.sameClassName = function(Obj1,Obj2,Simple) { if(Simple == null) { Simple = true; } return flixel_util_FlxStringUtil.getClassName(Obj1,Simple) == flixel_util_FlxStringUtil.getClassName(Obj2,Simple); }; flixel_util_FlxStringUtil.toIntArray = function(Data) { if(Data != null && Data != "") { var strArray = Data.split(","); var iArray = []; var _g = 0; while(_g < strArray.length) { var str = strArray[_g]; ++_g; iArray.push(Std.parseInt(str)); } return iArray; } return null; }; flixel_util_FlxStringUtil.toFloatArray = function(Data) { if(Data != null && Data != "") { var strArray = Data.split(","); var fArray = []; var _g = 0; while(_g < strArray.length) { var str = strArray[_g]; ++_g; fArray.push(parseFloat(str)); } return fArray; } return null; }; flixel_util_FlxStringUtil.arrayToCSV = function(Data,Width,Invert) { if(Invert == null) { Invert = false; } var row = 0; var column; var csv = ""; var height = Data.length / Width | 0; var index; var offset = 0; while(row < height) { column = 0; while(column < Width) { index = Data[offset]; if(Invert) { if(index == 0) { index = 1; } else if(index == 1) { index = 0; } } if(column == 0) { if(row == 0) { csv += index; } else { csv += "\n" + index; } } else { csv += ", " + index; } ++column; ++offset; } ++row; } return csv; }; flixel_util_FlxStringUtil.bitmapToCSV = function(Bitmap,Invert,Scale,ColorMap) { if(Scale == null) { Scale = 1; } if(Invert == null) { Invert = false; } if(Scale < 1) { Scale = 1; } if(Scale > 1) { var bd = Bitmap; Bitmap = new openfl_display_BitmapData(Bitmap.width * Scale,Bitmap.height * Scale); var bdW = bd.width; var bdH = bd.height; var pCol = 0; var _g1 = 0; var _g = bdW; while(_g1 < _g) { var i = _g1++; var _g3 = 0; var _g2 = bdH; while(_g3 < _g2) { var j = _g3++; pCol = bd.getPixel(i,j); var _g5 = 0; var _g4 = Scale; while(_g5 < _g4) { var k = _g5++; var _g7 = 0; var _g6 = Scale; while(_g7 < _g6) { var m = _g7++; Bitmap.setPixel(i * Scale + k,j * Scale + m,pCol); } } } } } if(ColorMap != null) { var _g11 = 0; var _g8 = ColorMap.length; while(_g11 < _g8) { var i1 = _g11++; ColorMap[i1] = ColorMap[i1] & 16777215; } } var row = 0; var column; var pixel; var csv = ""; var bitmapWidth = Bitmap.width; var bitmapHeight = Bitmap.height; while(row < bitmapHeight) { column = 0; while(column < bitmapWidth) { pixel = Bitmap.getPixel(column,row); if(ColorMap != null) { pixel = ColorMap.indexOf(pixel); } else if(Invert && pixel > 0 || !Invert && pixel == 0) { pixel = 1; } else { pixel = 0; } if(column == 0) { if(row == 0) { csv += pixel; } else { csv += "\n" + pixel; } } else { csv += ", " + pixel; } ++column; } ++row; } return csv; }; flixel_util_FlxStringUtil.imageToCSV = function(ImageFile,Invert,Scale,ColorMap) { if(Scale == null) { Scale = 1; } if(Invert == null) { Invert = false; } var tempBitmapData; if(typeof(ImageFile) == "string") { var id = ImageFile; if(openfl_utils_Assets.exists(id)) { tempBitmapData = openfl_utils_Assets.getBitmapData(id,false); } else { var _this = flixel_FlxG.log; tempBitmapData = null; } } else { tempBitmapData = Type.createInstance(ImageFile,[]).bitmapData; } return flixel_util_FlxStringUtil.bitmapToCSV(tempBitmapData,Invert,Scale,ColorMap); }; flixel_util_FlxStringUtil.getDebugString = function(LabelValuePairs) { var output = "("; var _g = 0; while(_g < LabelValuePairs.length) { var pair = LabelValuePairs[_g]; ++_g; output += pair.label + ": "; var value = pair.value; if(typeof(value) == "number") { value = flixel_math_FlxMath.roundDecimal(value,flixel_FlxG["debugger"].precision); } output += Std.string(value) + " | "; flixel_util_LabelValuePair._pool.put(pair); } output = StringTools.trim(HxOverrides.substr(output,0,output.length - 2)); return output + ")"; }; flixel_util_FlxStringUtil.contains = function(s,str) { return s.indexOf(str) != -1; }; flixel_util_FlxStringUtil.remove = function(s,sub) { return StringTools.replace(s,sub,""); }; flixel_util_FlxStringUtil.insert = function(s,pos,insertion) { return s.substring(0,pos) + insertion + HxOverrides.substr(s,pos,null); }; flixel_util_FlxStringUtil.sortAlphabetically = function(list) { list.sort(function(a,b) { a = a.toLowerCase(); b = b.toLowerCase(); if(a < b) { return -1; } if(a > b) { return 1; } return 0; }); return list; }; flixel_util_FlxStringUtil.isNullOrEmpty = function(s) { if(s != null) { return s.length == 0; } else { return true; } }; var flixel_util_LabelValuePair = function() { }; $hxClasses["flixel.util.LabelValuePair"] = flixel_util_LabelValuePair; flixel_util_LabelValuePair.__name__ = ["flixel","util","LabelValuePair"]; flixel_util_LabelValuePair.__interfaces__ = [flixel_util_IFlxDestroyable]; flixel_util_LabelValuePair.weak = function(label,value) { var _this = flixel_util_LabelValuePair._pool.get(); _this.label = label; _this.value = value; return _this; }; flixel_util_LabelValuePair.prototype = { label: null ,value: null ,create: function(label,value) { this.label = label; this.value = value; return this; } ,put: function() { flixel_util_LabelValuePair._pool.put(this); } ,destroy: function() { this.label = null; this.value = null; } ,__class__: flixel_util_LabelValuePair }; var flixel_util_FlxTimer = function(manager) { this._inManager = false; this._loopsCounter = 0; this._timeCounter = 0; this.finished = false; this.active = false; this.loops = 0; this.time = 0; this.manager = manager != null ? manager : flixel_util_FlxTimer.globalManager; }; $hxClasses["flixel.util.FlxTimer"] = flixel_util_FlxTimer; flixel_util_FlxTimer.__name__ = ["flixel","util","FlxTimer"]; flixel_util_FlxTimer.__interfaces__ = [flixel_util_IFlxDestroyable]; flixel_util_FlxTimer.globalManager = null; flixel_util_FlxTimer.prototype = { manager: null ,time: null ,loops: null ,active: null ,finished: null ,onComplete: null ,_timeCounter: null ,_loopsCounter: null ,_inManager: null ,destroy: function() { this.onComplete = null; } ,start: function(Time,OnComplete,Loops) { if(Loops == null) { Loops = 1; } if(Time == null) { Time = 1; } if(this.manager != null && !this._inManager) { this.manager.add(this); this._inManager = true; } this.active = true; this.finished = false; this.time = Math.abs(Time); if(Loops < 0) { Loops *= -1; } this.loops = Loops; this.onComplete = OnComplete; this._timeCounter = 0; this._loopsCounter = 0; return this; } ,reset: function(NewTime) { if(NewTime == null) { NewTime = -1; } if(NewTime < 0) { NewTime = this.time; } this.start(NewTime,this.onComplete,this.loops); return this; } ,cancel: function() { this.finished = true; this.active = false; if(this.manager != null && this._inManager) { this.manager.remove(this); this._inManager = false; } } ,update: function(elapsed) { this._timeCounter += elapsed; while(this._timeCounter >= this.time && this.active && !this.finished) { this._timeCounter -= this.time; this._loopsCounter++; if(this.loops > 0 && this._loopsCounter >= this.loops) { this.finished = true; } } } ,onLoopFinished: function() { if(this.finished) { this.cancel(); } if(this.onComplete != null) { this.onComplete(this); } } ,get_timeLeft: function() { return this.time - this._timeCounter; } ,get_elapsedTime: function() { return this._timeCounter; } ,get_loopsLeft: function() { return this.loops - this._loopsCounter; } ,get_elapsedLoops: function() { return this._loopsCounter; } ,get_progress: function() { if(this.time > 0) { return this._timeCounter / this.time; } else { return 0; } } ,__class__: flixel_util_FlxTimer ,__properties__: {get_progress:"get_progress",get_elapsedLoops:"get_elapsedLoops",get_loopsLeft:"get_loopsLeft",get_elapsedTime:"get_elapsedTime",get_timeLeft:"get_timeLeft"} }; var flixel_util_FlxTimerManager = function() { this._timers = []; flixel_FlxBasic.call(this); this.set_visible(false); flixel_FlxG.signals.preStateSwitch.add($bind(this,this.clear)); }; $hxClasses["flixel.util.FlxTimerManager"] = flixel_util_FlxTimerManager; flixel_util_FlxTimerManager.__name__ = ["flixel","util","FlxTimerManager"]; flixel_util_FlxTimerManager.__super__ = flixel_FlxBasic; flixel_util_FlxTimerManager.prototype = $extend(flixel_FlxBasic.prototype,{ _timers: null ,destroy: function() { flixel_util_FlxArrayUtil.clearArray(this._timers); this._timers = null; flixel_FlxG.signals.preStateSwitch.remove($bind(this,this.clear)); flixel_FlxBasic.prototype.destroy.call(this); } ,update: function(elapsed) { var loopedTimers = null; var _g = 0; var _g1 = this._timers; while(_g < _g1.length) { var timer = _g1[_g]; ++_g; if(timer.active && !timer.finished && timer.time >= 0) { var timerLoops = timer._loopsCounter; timer.update(elapsed); if(timerLoops != timer._loopsCounter) { if(loopedTimers == null) { loopedTimers = []; } loopedTimers.push(timer); } } } if(loopedTimers != null) { while(loopedTimers.length > 0) loopedTimers.shift().onLoopFinished(); } } ,add: function(Timer) { this._timers.push(Timer); } ,remove: function(Timer) { var array = this._timers; var index = array.indexOf(Timer); if(index != -1) { array[index] = array[array.length - 1]; array.pop(); } } ,completeAll: function() { var timersToFinish = []; var _g = 0; var _g1 = this._timers; while(_g < _g1.length) { var timer = _g1[_g]; ++_g; if(timer.loops > 0 && timer.active) { timersToFinish.push(timer); } } var _g2 = 0; while(_g2 < timersToFinish.length) { var timer1 = timersToFinish[_g2]; ++_g2; while(!timer1.finished) { timer1.update(timer1.time - timer1._timeCounter); timer1.onLoopFinished(); } } } ,clear: function() { flixel_util_FlxArrayUtil.clearArray(this._timers); } ,forEach: function(Function) { var _g = 0; var _g1 = this._timers; while(_g < _g1.length) { var timer = _g1[_g]; ++_g; Function(timer); } } ,__class__: flixel_util_FlxTimerManager }); var flixel_util_FlxVerticalAlign = $hxClasses["flixel.util.FlxVerticalAlign"] = { __ename__ : ["flixel","util","FlxVerticalAlign"], __constructs__ : ["TOP","CENTER","BOTTOM"] }; flixel_util_FlxVerticalAlign.TOP = ["TOP",0]; flixel_util_FlxVerticalAlign.TOP.toString = $estr; flixel_util_FlxVerticalAlign.TOP.__enum__ = flixel_util_FlxVerticalAlign; flixel_util_FlxVerticalAlign.CENTER = ["CENTER",1]; flixel_util_FlxVerticalAlign.CENTER.toString = $estr; flixel_util_FlxVerticalAlign.CENTER.__enum__ = flixel_util_FlxVerticalAlign; flixel_util_FlxVerticalAlign.BOTTOM = ["BOTTOM",2]; flixel_util_FlxVerticalAlign.BOTTOM.toString = $estr; flixel_util_FlxVerticalAlign.BOTTOM.__enum__ = flixel_util_FlxVerticalAlign; var flixel_util_helpers_FlxBounds = function(min,max) { this.active = true; this.min = min; this.max = max == null ? min : max; }; $hxClasses["flixel.util.helpers.FlxBounds"] = flixel_util_helpers_FlxBounds; flixel_util_helpers_FlxBounds.__name__ = ["flixel","util","helpers","FlxBounds"]; flixel_util_helpers_FlxBounds.prototype = { min: null ,max: null ,active: null ,set: function(min,max) { this.min = min; this.max = max == null ? min : max; return this; } ,equals: function(otherBounds) { if(this.min == otherBounds.min) { return this.max == otherBounds.max; } else { return false; } } ,toString: function() { var value = this.min; var _this = flixel_util_LabelValuePair._pool.get(); _this.label = "min"; _this.value = value; var value1 = this.max; var _this1 = flixel_util_LabelValuePair._pool.get(); _this1.label = "max"; _this1.value = value1; return flixel_util_FlxStringUtil.getDebugString([_this,_this1]); } ,__class__: flixel_util_helpers_FlxBounds }; var flixel_util_helpers_FlxPointRangeBounds = function(startMinX,startMinY,startMaxX,startMaxY,endMinX,endMinY,endMaxX,endMaxY) { this.active = true; var point = flixel_math_FlxPoint._pool.get().set(0,0); point._inPool = false; var point1 = flixel_math_FlxPoint._pool.get().set(0,0); point1._inPool = false; this.start = new flixel_util_helpers_FlxBounds(point,point1); var point2 = flixel_math_FlxPoint._pool.get().set(0,0); point2._inPool = false; var point3 = flixel_math_FlxPoint._pool.get().set(0,0); point3._inPool = false; this.end = new flixel_util_helpers_FlxBounds(point2,point3); this.set(startMinX,startMinY,startMaxX,startMaxY,endMinX,endMinY,endMaxX,endMaxY); }; $hxClasses["flixel.util.helpers.FlxPointRangeBounds"] = flixel_util_helpers_FlxPointRangeBounds; flixel_util_helpers_FlxPointRangeBounds.__name__ = ["flixel","util","helpers","FlxPointRangeBounds"]; flixel_util_helpers_FlxPointRangeBounds.__interfaces__ = [flixel_util_IFlxDestroyable]; flixel_util_helpers_FlxPointRangeBounds.prototype = { start: null ,end: null ,active: null ,set: function(startMinX,startMinY,startMaxX,startMaxY,endMinX,endMinY,endMaxX,endMaxY) { this.start.min.set_x(startMinX); this.start.min.set_y(startMinY == null ? this.start.min.x : startMinY); this.start.max.set_x(startMaxX == null ? this.start.min.x : startMaxX); this.start.max.set_y(startMaxY == null ? this.start.min.y : startMaxY); this.end.min.set_x(endMinX == null ? this.start.min.x : endMinX); this.end.min.set_y(endMinY == null ? this.start.min.y : endMinY); this.end.max.set_x(endMaxX == null ? endMinX == null ? this.start.max.x : this.end.min.x : endMaxX); this.end.max.set_y(endMaxY == null ? endMinY == null ? this.start.max.y : this.end.min.y : endMaxY); return this; } ,equals: function(OtherFlxPointRangeBounds) { var tmp; var tmp1; var _this = this.start.min; var point = OtherFlxPointRangeBounds.start.min; var result = Math.abs(_this.x - point.x) <= 0.0000001 && Math.abs(_this.y - point.y) <= 0.0000001; if(point._weak) { point.put(); } if(result) { var _this1 = this.start.max; var point1 = OtherFlxPointRangeBounds.start.max; var result1 = Math.abs(_this1.x - point1.x) <= 0.0000001 && Math.abs(_this1.y - point1.y) <= 0.0000001; if(point1._weak) { point1.put(); } tmp1 = result1; } else { tmp1 = false; } if(tmp1) { var _this2 = this.end.min; var point2 = OtherFlxPointRangeBounds.end.min; var result2 = Math.abs(_this2.x - point2.x) <= 0.0000001 && Math.abs(_this2.y - point2.y) <= 0.0000001; if(point2._weak) { point2.put(); } tmp = result2; } else { tmp = false; } if(tmp) { var _this3 = this.end.max; var point3 = OtherFlxPointRangeBounds.end.max; var result3 = Math.abs(_this3.x - point3.x) <= 0.0000001 && Math.abs(_this3.y - point3.y) <= 0.0000001; if(point3._weak) { point3.put(); } return result3; } else { return false; } } ,toString: function() { var value = this.start.min.x; var _this = flixel_util_LabelValuePair._pool.get(); _this.label = "start.min.x"; _this.value = value; var value1 = this.start.min.y; var _this1 = flixel_util_LabelValuePair._pool.get(); _this1.label = "start.min.y"; _this1.value = value1; var value2 = this.start.max.x; var _this2 = flixel_util_LabelValuePair._pool.get(); _this2.label = "start.max.x"; _this2.value = value2; var value3 = this.start.max.y; var _this3 = flixel_util_LabelValuePair._pool.get(); _this3.label = "start.max.y"; _this3.value = value3; var value4 = this.end.min.x; var _this4 = flixel_util_LabelValuePair._pool.get(); _this4.label = "end.min.x"; _this4.value = value4; var value5 = this.end.min.y; var _this5 = flixel_util_LabelValuePair._pool.get(); _this5.label = "end.min.y"; _this5.value = value5; var value6 = this.end.max.x; var _this6 = flixel_util_LabelValuePair._pool.get(); _this6.label = "end.max.x"; _this6.value = value6; var value7 = this.end.max.y; var _this7 = flixel_util_LabelValuePair._pool.get(); _this7.label = "end.max.y"; _this7.value = value7; return flixel_util_FlxStringUtil.getDebugString([_this,_this1,_this2,_this3,_this4,_this5,_this6,_this7]); } ,destroy: function() { this.start.min = flixel_util_FlxDestroyUtil.put(this.start.min); this.start.max = flixel_util_FlxDestroyUtil.put(this.start.max); this.end.min = flixel_util_FlxDestroyUtil.put(this.end.min); this.end.max = flixel_util_FlxDestroyUtil.put(this.end.max); } ,__class__: flixel_util_helpers_FlxPointRangeBounds }; var flixel_util_helpers_FlxRange = function(start,end) { this.active = true; this.start = start; this.end = end == null ? start : end; }; $hxClasses["flixel.util.helpers.FlxRange"] = flixel_util_helpers_FlxRange; flixel_util_helpers_FlxRange.__name__ = ["flixel","util","helpers","FlxRange"]; flixel_util_helpers_FlxRange.prototype = { start: null ,end: null ,active: null ,set: function(start,end) { this.start = start; this.end = end == null ? start : end; return this; } ,equals: function(OtherFlxRange) { if(this.start == OtherFlxRange.start) { return this.end == OtherFlxRange.end; } else { return false; } } ,toString: function() { var value = this.start; var _this = flixel_util_LabelValuePair._pool.get(); _this.label = "start"; _this.value = value; var value1 = this.end; var _this1 = flixel_util_LabelValuePair._pool.get(); _this1.label = "end"; _this1.value = value1; return flixel_util_FlxStringUtil.getDebugString([_this,_this1]); } ,__class__: flixel_util_helpers_FlxRange }; var flixel_util_helpers_FlxRangeBounds = function(startMin,startMax,endMin,endMax) { this.active = true; this.start = new flixel_util_helpers_FlxBounds(startMin,startMax == null ? startMin : startMax); this.end = new flixel_util_helpers_FlxBounds(endMin == null ? startMin : endMin,endMax == null ? this.start.max : endMax); }; $hxClasses["flixel.util.helpers.FlxRangeBounds"] = flixel_util_helpers_FlxRangeBounds; flixel_util_helpers_FlxRangeBounds.__name__ = ["flixel","util","helpers","FlxRangeBounds"]; flixel_util_helpers_FlxRangeBounds.prototype = { start: null ,end: null ,active: null ,set: function(startMin,startMax,endMin,endMax) { this.start.min = startMin; this.start.max = startMax == null ? this.start.min : startMax; this.end.min = endMin == null ? this.start.min : endMin; this.end.max = endMax == null ? endMin == null ? this.start.max : this.end.min : endMax; return this; } ,equals: function(OtherRangeBounds) { var _this = this.start; var otherBounds = OtherRangeBounds.start; if(_this.min == otherBounds.min && _this.max == otherBounds.max) { var _this1 = this.end; var otherBounds1 = OtherRangeBounds.end; if(_this1.min == otherBounds1.min) { return _this1.max == otherBounds1.max; } else { return false; } } else { return false; } } ,toString: function() { var value = this.start.min; var _this = flixel_util_LabelValuePair._pool.get(); _this.label = "start.min"; _this.value = value; var value1 = this.start.min; var _this1 = flixel_util_LabelValuePair._pool.get(); _this1.label = "start.max"; _this1.value = value1; var value2 = this.end.min; var _this2 = flixel_util_LabelValuePair._pool.get(); _this2.label = "end.min"; _this2.value = value2; var value3 = this.end.max; var _this3 = flixel_util_LabelValuePair._pool.get(); _this3.label = "end.max"; _this3.value = value3; return flixel_util_FlxStringUtil.getDebugString([_this,_this1,_this2,_this3]); } ,__class__: flixel_util_helpers_FlxRangeBounds }; var format_amf_Reader = function(i) { this.i = i; i.set_bigEndian(true); }; $hxClasses["format.amf.Reader"] = format_amf_Reader; format_amf_Reader.__name__ = ["format","amf","Reader"]; format_amf_Reader.prototype = { i: null ,readObject: function() { var h = new haxe_ds_StringMap(); while(true) { var c1 = this.i.readByte(); var c2 = this.i.readByte(); var name = this.i.readString(c1 << 8 | c2); var k = this.i.readByte(); if(k == 9) { break; } var value = this.readWithCode(k); if(__map_reserved[name] != null) { h.setReserved(name,value); } else { h.h[name] = value; } } return h; } ,readArray: function(n) { var a = []; var _g1 = 0; var _g = n; while(_g1 < _g) { var i = _g1++; a.push(this.read()); } return a; } ,readInt: function() { return this.i.readInt32(); } ,readWithCode: function(id) { var i = this.i; switch(id) { case 0: return format_amf_Value.ANumber(i.readDouble()); case 1: var _g = i.readByte(); var tmp; switch(_g) { case 0: tmp = false; break; case 1: tmp = true; break; default: throw new js__$Boot_HaxeError("Invalid AMF"); } return format_amf_Value.ABool(tmp); case 2: return format_amf_Value.AString(i.readString(i.readUInt16())); case 5: return format_amf_Value.ANull; case 6: return format_amf_Value.AUndefined; case 7: throw new js__$Boot_HaxeError("Not supported : Reference"); break; case 3:case 8: var ismixed = id == 8; var size = ismixed ? this.i.readInt32() : null; return format_amf_Value.AObject(this.readObject(),size); case 10: return format_amf_Value.AArray(this.readArray(this.i.readInt32())); case 11: var time_ms = i.readDouble(); var tz_min = i.readUInt16(); return format_amf_Value.ADate(new Date(time_ms + tz_min * 60 * 1000.0)); case 12: return format_amf_Value.AString(i.readString(this.i.readInt32())); default: throw new js__$Boot_HaxeError("Unknown AMF " + id); } } ,read: function() { return this.readWithCode(this.i.readByte()); } ,__class__: format_amf_Reader }; var format_amf_Tools = function() { }; $hxClasses["format.amf.Tools"] = format_amf_Tools; format_amf_Tools.__name__ = ["format","amf","Tools"]; format_amf_Tools.encode = function(o) { var _g = Type["typeof"](o); switch(_g[1]) { case 0: return format_amf_Value.ANull; case 1: return format_amf_Value.ANumber(o); case 2: return format_amf_Value.ANumber(o); case 3: return format_amf_Value.ABool(o); case 4: var h = new haxe_ds_StringMap(); var _g1 = 0; var _g11 = Reflect.fields(o); while(_g1 < _g11.length) { var f = _g11[_g1]; ++_g1; var value = format_amf_Tools.encode(Reflect.field(o,f)); if(__map_reserved[f] != null) { h.setReserved(f,value); } else { h.h[f] = value; } } return format_amf_Value.AObject(h); case 6: var c = _g[2]; switch(c) { case Array: var o1 = o; var a = []; var _g2 = 0; while(_g2 < o1.length) { var v = o1[_g2]; ++_g2; a.push(format_amf_Tools.encode(v)); } return format_amf_Value.AArray(a); case String: return format_amf_Value.AString(o); case haxe_ds_StringMap: var o2 = o; var h1 = new haxe_ds_StringMap(); var f1 = o2.keys(); while(f1.hasNext()) { var f2 = f1.next(); var value1 = format_amf_Tools.encode(__map_reserved[f2] != null ? o2.getReserved(f2) : o2.h[f2]); if(__map_reserved[f2] != null) { h1.setReserved(f2,value1); } else { h1.h[f2] = value1; } } return format_amf_Value.AObject(h1); default: throw new js__$Boot_HaxeError("Can't encode instance of " + Type.getClassName(c)); } break; default: throw new js__$Boot_HaxeError("Can't encode " + Std.string(o)); } }; format_amf_Tools.number = function(a) { if(a == null) { return null; } if(a[1] == 0) { var n = a[2]; return n; } else { return null; } }; format_amf_Tools.string = function(a) { if(a == null) { return null; } if(a[1] == 2) { var s = a[2]; return s; } else { return null; } }; format_amf_Tools.object = function(a) { if(a == null) { return null; } if(a[1] == 3) { var o = a[2]; return o; } else { return null; } }; format_amf_Tools.abool = function(a) { if(a == null) { return null; } if(a[1] == 1) { var b = a[2]; return b; } else { return null; } }; format_amf_Tools.array = function(a) { if(a == null) { return null; } if(a[1] == 7) { var a1 = a[2]; return a1; } else { return null; } }; var format_amf_Value = $hxClasses["format.amf.Value"] = { __ename__ : ["format","amf","Value"], __constructs__ : ["ANumber","ABool","AString","AObject","ADate","AUndefined","ANull","AArray"] }; format_amf_Value.ANumber = function(f) { var $x = ["ANumber",0,f]; $x.__enum__ = format_amf_Value; $x.toString = $estr; return $x; }; format_amf_Value.ABool = function(b) { var $x = ["ABool",1,b]; $x.__enum__ = format_amf_Value; $x.toString = $estr; return $x; }; format_amf_Value.AString = function(s) { var $x = ["AString",2,s]; $x.__enum__ = format_amf_Value; $x.toString = $estr; return $x; }; format_amf_Value.AObject = function(fields,size) { var $x = ["AObject",3,fields,size]; $x.__enum__ = format_amf_Value; $x.toString = $estr; return $x; }; format_amf_Value.ADate = function(d) { var $x = ["ADate",4,d]; $x.__enum__ = format_amf_Value; $x.toString = $estr; return $x; }; format_amf_Value.AUndefined = ["AUndefined",5]; format_amf_Value.AUndefined.toString = $estr; format_amf_Value.AUndefined.__enum__ = format_amf_Value; format_amf_Value.ANull = ["ANull",6]; format_amf_Value.ANull.toString = $estr; format_amf_Value.ANull.__enum__ = format_amf_Value; format_amf_Value.AArray = function(values) { var $x = ["AArray",7,values]; $x.__enum__ = format_amf_Value; $x.toString = $estr; return $x; }; var format_amf_Writer = function(o) { this.o = o; o.set_bigEndian(true); }; $hxClasses["format.amf.Writer"] = format_amf_Writer; format_amf_Writer.__name__ = ["format","amf","Writer"]; format_amf_Writer.prototype = { o: null ,write: function(v) { var o = this.o; switch(v[1]) { case 0: var n = v[2]; o.writeByte(0); o.writeDouble(n); break; case 1: var b = v[2]; o.writeByte(1); o.writeByte(b ? 1 : 0); break; case 2: var s = v[2]; if(s.length <= 65535) { o.writeByte(2); o.writeUInt16(s.length); } else { o.writeByte(12); o.writeInt32(s.length); } o.writeString(s); break; case 3: var size = v[3]; var h = v[2]; if(size == null) { o.writeByte(3); } else { o.writeByte(8); o.writeInt32(size); } var f = h.keys(); while(f.hasNext()) { var f1 = f.next(); o.writeUInt16(f1.length); o.writeString(f1); this.write(__map_reserved[f1] != null ? h.getReserved(f1) : h.h[f1]); } o.writeByte(0); o.writeByte(0); o.writeByte(9); break; case 4: var d = v[2]; o.writeByte(11); o.writeDouble(d.getTime()); o.writeUInt16(0); break; case 5: o.writeByte(6); break; case 6: o.writeByte(5); break; case 7: var a = v[2]; o.writeByte(10); o.writeInt32(a.length); var _g = 0; while(_g < a.length) { var f2 = a[_g]; ++_g; this.write(f2); } break; } } ,__class__: format_amf_Writer }; var format_amf3_Amf3Array = function(initA,initExtra) { this.a = initA; this.extra = initExtra; }; $hxClasses["format.amf3.Amf3Array"] = format_amf3_Amf3Array; format_amf3_Amf3Array.__name__ = ["format","amf3","Amf3Array"]; format_amf3_Amf3Array.prototype = { a: null ,extra: null ,__class__: format_amf3_Amf3Array }; var format_amf3_Reader = function(i) { this.complexObjectsTable = []; this.objectTraitsTable = []; this.stringTable = []; this.i = i; i.set_bigEndian(true); }; $hxClasses["format.amf3.Reader"] = format_amf3_Reader; format_amf3_Reader.__name__ = ["format","amf3","Reader"]; format_amf3_Reader.prototype = { complexObjectsTable: null ,objectTraitsTable: null ,stringTable: null ,i: null ,readObject: function() { var dyn = false; var isExternalizable = false; var className = null; var sealedMemberNames = []; var n = this.readInt(); if((n & 1) == 0) { return this.complexObjectsTable[n >> 1]; } else if((n & 3) == 1) { n >>= 3; var refTraits = this.objectTraitsTable[n]; dyn = refTraits.isDynamic; isExternalizable = refTraits.isExternalizable; sealedMemberNames = refTraits.sealedMemberNames; } else if((n & 7) == 3) { dyn = (n >> 3 & 1) == 1; n >>= 4; className = this.readString(); var _g1 = 0; var _g = n; while(_g1 < _g) { var j = _g1++; sealedMemberNames.push(format_amf3_Tools.decode(this.readString())); } this.objectTraitsTable.push({ isExternalizable : isExternalizable, isDynamic : dyn, className : className, sealedMemberNames : sealedMemberNames}); } else if((n & 7) == 7) { isExternalizable = true; className = this.readString(); haxe_Log.trace(format_amf3_Tools.decode(className),{ fileName : "Reader.hx", lineNumber : 108, className : "format.amf3.Reader", methodName : "readObject"}); } else { throw new js__$Boot_HaxeError("Invalid object traits"); } var h = new haxe_ds_StringMap(); var ret = format_amf3_Value.AObject(h); this.complexObjectsTable.push(ret); if(!isExternalizable) { var _g11 = 0; var _g2 = sealedMemberNames.length; while(_g11 < _g2) { var j1 = _g11++; var value = this.read(); var key = sealedMemberNames[j1]; if(__map_reserved[key] != null) { h.setReserved(key,value); } else { h.h[key] = value; } } if(dyn) { var s; while(true) { s = format_amf3_Tools.decode(this.readString()); if(s == "") { break; } var value1 = this.read(); if(__map_reserved[s] != null) { h.setReserved(s,value1); } else { h.h[s] = value1; } } } } else { throw new js__$Boot_HaxeError("Externalizable not supported"); } return ret; } ,readMap: function() { var n = this.readInt(); if((n & 1) == 0) { return this.complexObjectsTable[n >> 1]; } n >>= 1; var h = new haxe_ds_EnumValueMap(); var ret = format_amf3_Value.AMap(h); this.complexObjectsTable.push(ret); this.i.readByte(); var _g1 = 0; var _g = n; while(_g1 < _g) { var i = _g1++; h.set(this.read(),this.read()); } return ret; } ,readArray: function() { var n = this.readInt(); if((n & 1) == 0) { return this.complexObjectsTable[n >> 1]; } n >>= 1; var a = []; var m = new haxe_ds_StringMap(); var ret = format_amf3_Value.AArray(a,m); this.complexObjectsTable.push(ret); var assocName = format_amf3_Tools.decode(this.readString()); while(assocName.length != 0) { var v = this.read(); if(__map_reserved[assocName] != null) { m.setReserved(assocName,v); } else { m.h[assocName] = v; } assocName = format_amf3_Tools.decode(this.readString()); } var _g1 = 0; var _g = n; while(_g1 < _g) { var i = _g1++; a.push(this.read()); } return ret; } ,readIntVector: function() { var header = this.readInt(); if((header & 1) == 0) { return this.complexObjectsTable[header >> 1]; } var len = header >> 1; var fixed = this.i.readByte() != 0; var a; if(fixed) { var this1 = new Array(len); a = this1; } else { a = []; } var _g1 = 0; var _g = len; while(_g1 < _g) { var r = _g1++; a[r] = format_amf3_Value.AInt(this.i.readInt32()); } var ret = fixed ? format_amf3_Value.AVector(a) : format_amf3_Value.AArray(a); this.complexObjectsTable.push(ret); return ret; } ,readDoubleVector: function() { var header = this.readInt(); if((header & 1) == 0) { return this.complexObjectsTable[header >> 1]; } var len = header >> 1; var fixed = this.i.readByte() != 0; var a; if(fixed) { var this1 = new Array(len); a = this1; } else { a = []; } var _g1 = 0; var _g = len; while(_g1 < _g) { var r = _g1++; a[r] = format_amf3_Value.ANumber(this.i.readDouble()); } var ret = fixed ? format_amf3_Value.AVector(a) : format_amf3_Value.AArray(a); this.complexObjectsTable.push(ret); return ret; } ,readObjectVector: function() { var header = this.readInt(); if((header & 1) == 0) { return this.complexObjectsTable[header >> 1]; } var len = header >> 1; var fixed = this.i.readByte() != 0; var objectTypeName = format_amf3_Tools.decode(this.readString()); haxe_Log.trace("readObjectVector name:" + objectTypeName,{ fileName : "Reader.hx", lineNumber : 259, className : "format.amf3.Reader", methodName : "readObjectVector"}); var VC = Type.resolveClass(objectTypeName); haxe_Log.trace("VC:" + Std.string(VC),{ fileName : "Reader.hx", lineNumber : 261, className : "format.amf3.Reader", methodName : "readObjectVector"}); var a; var ret; if(fixed) { var this1 = new Array(len); a = this1; ret = format_amf3_Value.AVector(a); } else { a = []; ret = format_amf3_Value.AArray(a); } this.complexObjectsTable.push(ret); var _g1 = 0; var _g = len; while(_g1 < _g) { var r = _g1++; a[r] = this.read(); } return ret; } ,readBytes: function() { var n = this.readInt(); if((n & 1) == 0) { return this.complexObjectsTable[n >> 1]; } n >>= 1; var b = new haxe_io_Bytes(new ArrayBuffer(n)); var _g1 = 0; var _g = n; while(_g1 < _g) { var j = _g1++; var v = this.i.readByte(); b.b[j] = v & 255; } var ret = format_amf3_Value.ABytes(b); this.complexObjectsTable.push(ret); return ret; } ,readInt: function(signExtend,preShift) { if(preShift == null) { preShift = 0; } if(signExtend == null) { signExtend = false; } var c = this.i.readByte() & 255; if(c < 128) { return c >> preShift; } var ret = (c & 127) << 7; c = this.i.readByte() & 255; if(c < 128) { return (ret | c) >> preShift; } ret |= c & 127; ret <<= 7; c = this.i.readByte() & 255; if(c < 128) { return (ret | c) >> preShift; } ret |= c & 127; ret <<= 8; c = this.i.readByte() & 255; ret |= c; if(signExtend && (ret & 268435456) != 0) { ret |= -536870912; } return ret >> preShift; } ,readString: function() { var header = this.readInt(); if((header & 1) == 0) { var strRefIdx = header >> 1; return this.stringTable[strRefIdx]; } var len = header >> 1; return this.readStringNoHeader(len); } ,readStringNoHeader: function(len) { if(len == 0) { return format_amf3_Value.AString(""); } var u = new haxe_Utf8(len); var c = 0; var d = 0; var j = 0; var it = 0; while(j < len) { c = this.i.readByte(); if(c < 128) { it = 0; d = c; } else if(c < 224) { it = 1; d = c & 31; } else if(c < 240) { it = 2; d = c & 15; } else if(c < 241) { it = 3; d = c & 7; } c = it; while(c-- > 0) { d <<= 6; d |= this.i.readByte() & 63; } j += it + 1; if(d != 1) { u.__b += String.fromCharCode(d); } } var ret = format_amf3_Value.AString(u.__b); this.stringTable.push(ret); return ret; } ,readDate: function() { var n = this.readInt(); if((n & 1) == 0) { return this.complexObjectsTable[n >> 1]; } var t = this.i.readDouble(); var date = new Date(t); var ret = format_amf3_Value.ADate(date); this.complexObjectsTable.push(ret); return ret; } ,readXml: function() { var n = this.readInt(); if((n & 1) == 0) { return this.complexObjectsTable[n >> 1]; } n >>= 1; var xml = Xml.parse(format_amf3_Tools.decode(this.readStringNoHeader(n))); var ret = format_amf3_Value.AXml(xml); this.complexObjectsTable.push(ret); return ret; } ,readWithCode: function(id) { var i = this.i; switch(id) { case 0: return format_amf3_Value.AUndefined; case 1: return format_amf3_Value.ANull; case 2: return format_amf3_Value.ABool(false); case 3: return format_amf3_Value.ABool(true); case 4: return format_amf3_Value.AInt(this.readInt(true)); case 5: return format_amf3_Value.ANumber(i.readDouble()); case 6: return this.readString(); case 7: throw new js__$Boot_HaxeError("XMLDocument unsupported"); break; case 8: return this.readDate(); case 9: return this.readArray(); case 10: return this.readObject(); case 11: return this.readXml(); case 12: return this.readBytes(); case 13:case 14: return this.readIntVector(); case 15: return this.readDoubleVector(); case 16: return this.readObjectVector(); case 17: return this.readMap(); default: throw new js__$Boot_HaxeError("Unknown AMF " + id); } } ,read: function() { return this.readWithCode(this.i.readByte()); } ,__class__: format_amf3_Reader }; var format_amf3_Tools = function() { }; $hxClasses["format.amf3.Tools"] = format_amf3_Tools; format_amf3_Tools.__name__ = ["format","amf3","Tools"]; format_amf3_Tools.encode = function(o) { var _g = Type["typeof"](o); switch(_g[1]) { case 0: return format_amf3_Value.ANull; case 1: return format_amf3_Value.AInt(o); case 2: return format_amf3_Value.ANumber(o); case 3: return format_amf3_Value.ABool(o); case 4: var h = new haxe_ds_StringMap(); var _g1 = 0; var _g11 = Reflect.fields(o); while(_g1 < _g11.length) { var f = _g11[_g1]; ++_g1; var value = format_amf3_Tools.encode(Reflect.field(o,f)); if(__map_reserved[f] != null) { h.setReserved(f,value); } else { h.h[f] = value; } } return format_amf3_Value.AObject(h); case 6: var c = _g[2]; switch(c) { case Array: var o1 = o; var a = []; var _g2 = 0; while(_g2 < o1.length) { var v = o1[_g2]; ++_g2; a.push(format_amf3_Tools.encode(v)); } return format_amf3_Value.AArray(a); case Date: return format_amf3_Value.ADate(o); case String: return format_amf3_Value.AString(o); case Xml: return format_amf3_Value.AXml(o); case format_amf3_Amf3Array: var o2 = o; var a1 = []; var m = new haxe_ds_StringMap(); var _g3 = 0; var _g12 = o2.a; while(_g3 < _g12.length) { var v1 = _g12[_g3]; ++_g3; a1.push(format_amf3_Tools.encode(v1)); } var k = o2.extra.iterator(); while(k.hasNext()) { var k1 = k.next(); var v2 = format_amf3_Tools.encode(o2.extra.get(k1)); if(__map_reserved[k1] != null) { m.setReserved(k1,v2); } else { m.h[k1] = v2; } } return format_amf3_Value.AArray(a1,m); case haxe_ds_IntMap:case haxe_ds_ObjectMap:case haxe_ds_StringMap: var o3 = o; var h1 = new haxe_ds_EnumValueMap(); var f1 = o3.keys(); while(f1.hasNext()) { var f2 = f1.next(); h1.set(format_amf3_Tools.encode(f2),format_amf3_Tools.encode(o3.get(f2))); } return format_amf3_Value.AMap(h1); case haxe_ds__$Vector_Vector_$Impl_$: var o4 = o; var length = o4.length; var this1 = new Array(length); var a2 = this1; var _g13 = 0; var _g4 = o4.length; while(_g13 < _g4) { var i = _g13++; a2[i] = format_amf3_Tools.encode(o4[i]); } return format_amf3_Value.AVector(a2); case haxe_io_Bytes: return format_amf3_Value.ABytes(o); default: var h2 = new haxe_ds_StringMap(); var i1 = 0; var _g5 = 0; var o5 = o; var _g14 = Type.getInstanceFields(o5 == null ? null : js_Boot.getClass(o5)); while(_g5 < _g14.length) { var f3 = _g14[_g5]; ++_g5; var value1 = format_amf3_Tools.encode(Reflect.getProperty(o,f3)); if(__map_reserved[f3] != null) { h2.setReserved(f3,value1); } else { h2.h[f3] = value1; } ++i1; } return format_amf3_Value.AObject(h2,i1); } break; default: throw new js__$Boot_HaxeError("Can't encode " + Std.string(o)); } }; format_amf3_Tools.decode = function(a) { switch(a[1]) { case 0: return format_amf3_Tools.undefined(a); case 1: return format_amf3_Tools.anull(a); case 2: return format_amf3_Tools.bool(a); case 3: return format_amf3_Tools["int"](a); case 4: return format_amf3_Tools.number(a); case 5: return format_amf3_Tools.string(a); case 6: return format_amf3_Tools.date(a); case 7: return format_amf3_Tools.object(a); case 8: return format_amf3_Tools.array(a); case 9: return format_amf3_Tools.vector(a); case 10: return format_amf3_Tools.xml(a); case 11: return format_amf3_Tools.bytes(a); case 12: return format_amf3_Tools.map(a); } }; format_amf3_Tools.undefined = function(a) { return null; }; format_amf3_Tools.anull = function(a) { return null; }; format_amf3_Tools.bool = function(a) { if(a == null) { return null; } if(a[1] == 2) { var b = a[2]; return b; } else { return null; } }; format_amf3_Tools["int"] = function(a) { if(a == null) { return null; } if(a[1] == 3) { var n = a[2]; return n; } else { return null; } }; format_amf3_Tools.number = function(a) { if(a == null) { return null; } if(a[1] == 4) { var n = a[2]; return n; } else { return null; } }; format_amf3_Tools.string = function(a) { if(a == null) { return null; } if(a[1] == 5) { var s = a[2]; return s; } else { return null; } }; format_amf3_Tools.date = function(a) { if(a == null) { return null; } if(a[1] == 6) { var d = a[2]; return d; } else { return null; } }; format_amf3_Tools.array = function(a) { if(a == null) { return null; } if(a[1] == 8) { var m = a[3]; var a1 = a[2]; var b = []; var _g = 0; while(_g < a1.length) { var f = a1[_g]; ++_g; b.push(format_amf3_Tools.decode(f)); } var c = new haxe_ds_StringMap(); var mk = m.keys(); while(mk.hasNext()) { var mk1 = mk.next(); var v = format_amf3_Tools.decode(__map_reserved[mk1] != null ? m.getReserved(mk1) : m.h[mk1]); var value = v; if(__map_reserved[mk1] != null) { c.setReserved(mk1,value); } else { c.h[mk1] = value; } } return new format_amf3_Amf3Array(b,c); } else { return null; } }; format_amf3_Tools.vector = function(a) { if(a == null) { return null; } if(a[1] == 9) { var a1 = a[2]; var length = a1.length; var this1 = new Array(length); var v = this1; var _g1 = 0; var _g = a1.length; while(_g1 < _g) { var i = _g1++; v[i] = format_amf3_Tools.decode(a1[i]); } return v; } else { return null; } }; format_amf3_Tools.object = function(a) { if(a == null) { return null; } if(a[1] == 7) { var o = a[2]; var m = new haxe_ds_StringMap(); var f = o.keys(); while(f.hasNext()) { var f1 = f.next(); var value = format_amf3_Tools.decode(__map_reserved[f1] != null ? o.getReserved(f1) : o.h[f1]); if(__map_reserved[f1] != null) { m.setReserved(f1,value); } else { m.h[f1] = value; } } return m; } else { return null; } }; format_amf3_Tools.xml = function(a) { if(a == null) { return null; } if(a[1] == 10) { var x = a[2]; return x; } else { return null; } }; format_amf3_Tools.bytes = function(a) { if(a == null) { return null; } if(a[1] == 11) { var b = a[2]; return b; } else { return null; } }; format_amf3_Tools.map = function(a) { if(a == null) { return null; } if(a[1] == 12) { var m = a[2]; var p = new haxe_ds_EnumValueMap(); var f = m.keys(); while(f.hasNext()) { var f1 = f.next(); p.set(format_amf3_Tools.decode(f1),format_amf3_Tools.decode(m.get(f1))); } return p; } else { return null; } }; var format_amf3_Value = $hxClasses["format.amf3.Value"] = { __ename__ : ["format","amf3","Value"], __constructs__ : ["AUndefined","ANull","ABool","AInt","ANumber","AString","ADate","AObject","AArray","AVector","AXml","ABytes","AMap"] }; format_amf3_Value.AUndefined = ["AUndefined",0]; format_amf3_Value.AUndefined.toString = $estr; format_amf3_Value.AUndefined.__enum__ = format_amf3_Value; format_amf3_Value.ANull = ["ANull",1]; format_amf3_Value.ANull.toString = $estr; format_amf3_Value.ANull.__enum__ = format_amf3_Value; format_amf3_Value.ABool = function(b) { var $x = ["ABool",2,b]; $x.__enum__ = format_amf3_Value; $x.toString = $estr; return $x; }; format_amf3_Value.AInt = function(i) { var $x = ["AInt",3,i]; $x.__enum__ = format_amf3_Value; $x.toString = $estr; return $x; }; format_amf3_Value.ANumber = function(f) { var $x = ["ANumber",4,f]; $x.__enum__ = format_amf3_Value; $x.toString = $estr; return $x; }; format_amf3_Value.AString = function(s) { var $x = ["AString",5,s]; $x.__enum__ = format_amf3_Value; $x.toString = $estr; return $x; }; format_amf3_Value.ADate = function(d) { var $x = ["ADate",6,d]; $x.__enum__ = format_amf3_Value; $x.toString = $estr; return $x; }; format_amf3_Value.AObject = function(fields,size) { var $x = ["AObject",7,fields,size]; $x.__enum__ = format_amf3_Value; $x.toString = $estr; return $x; }; format_amf3_Value.AArray = function(values,extra) { var $x = ["AArray",8,values,extra]; $x.__enum__ = format_amf3_Value; $x.toString = $estr; return $x; }; format_amf3_Value.AVector = function(values) { var $x = ["AVector",9,values]; $x.__enum__ = format_amf3_Value; $x.toString = $estr; return $x; }; format_amf3_Value.AXml = function(x) { var $x = ["AXml",10,x]; $x.__enum__ = format_amf3_Value; $x.toString = $estr; return $x; }; format_amf3_Value.ABytes = function(b) { var $x = ["ABytes",11,b]; $x.__enum__ = format_amf3_Value; $x.toString = $estr; return $x; }; format_amf3_Value.AMap = function(m) { var $x = ["AMap",12,m]; $x.__enum__ = format_amf3_Value; $x.toString = $estr; return $x; }; var format_amf3_Writer = function(o) { this.o = o; o.set_bigEndian(true); }; $hxClasses["format.amf3.Writer"] = format_amf3_Writer; format_amf3_Writer.__name__ = ["format","amf3","Writer"]; format_amf3_Writer.prototype = { o: null ,writeInt: function(i) { if(i > 268435455 || i < -268435456) { this.o.writeByte(5); this.o.writeDouble(i); } else { this.o.writeByte(4); this.writeUInt(i); } } ,writeUInt: function(u,shiftLeft) { if(shiftLeft == null) { shiftLeft = false; } if(shiftLeft) { u = u << 1 | 1; } if((u >>> 31 & 1) == 1) { u = u & 536870911; } var bits = 22; var started = false; var chunk = u >>> bits - 1; if(_$UInt_UInt_$Impl_$.gt(chunk,0)) { chunk = chunk >>> 1; this.o.writeByte(chunk | 128); u = u - (chunk << bits); ++bits; started = true; } bits -= 8; chunk = u >>> bits; if(started || _$UInt_UInt_$Impl_$.gt(chunk,0)) { this.o.writeByte(chunk | 128); u = u - (chunk << bits); started = true; } bits -= 7; chunk = u >>> bits; if(started || _$UInt_UInt_$Impl_$.gt(chunk,0)) { this.o.writeByte(chunk | 128); u = u - (chunk << bits); started = true; } this.o.writeByte(u); } ,writeString: function(s) { this.writeUInt(s.length,true); var j = 0; var it = 0; var _g1 = 0; var _g = s.length; while(_g1 < _g) { var i = _g1++; j = HxOverrides.cca(s,i); if(j < 127) { this.o.writeByte(j); it = 0; } else if(j < 2047) { this.o.writeByte(j >> 6 | 192); j &= 63; it = 1; } else if(j < 65535) { this.o.writeByte(j >> 12 | 224); j &= 4095; it = 2; } else if(j < 1114111) { this.o.writeByte(j >> 18 | 240); j &= 196607; it = 3; } while(it-- > 0) this.o.writeByte(j >> 6 * it); } } ,writeObject: function(h,size) { if(size == null) { this.o.writeByte(11); } else { this.writeUInt(size << 4 | 3); } this.o.writeByte(1); if(size == null) { var f = h.keys(); while(f.hasNext()) { var f1 = f.next(); this.writeString(f1); this.write(__map_reserved[f1] != null ? h.getReserved(f1) : h.h[f1]); } this.o.writeByte(1); } else { var k = []; var f2 = h.keys(); while(f2.hasNext()) { var f3 = f2.next(); k.push(f3); this.writeString(f3); } var _g1 = 0; var _g = k.length; while(_g1 < _g) { var i = _g1++; var key = k[i]; this.write(__map_reserved[key] != null ? h.getReserved(key) : h.h[key]); } } } ,write: function(v) { var o = this.o; switch(v[1]) { case 0: o.writeByte(0); break; case 1: o.writeByte(1); break; case 2: var b = v[2]; o.writeByte(b ? 3 : 2); break; case 3: var i = v[2]; this.writeInt(i); break; case 4: var n = v[2]; o.writeByte(5); o.writeDouble(n); break; case 5: var s = v[2]; o.writeByte(6); this.writeString(s); break; case 6: var d = v[2]; o.writeByte(8); o.writeByte(1); o.writeDouble(d.getTime()); break; case 7: var n1 = v[3]; var h = v[2]; o.writeByte(10); this.writeObject(h,n1); break; case 8: var extra = v[3]; var a = v[2]; o.writeByte(9); this.writeUInt(a.length,true); if(extra != null) { var mk = extra.keys(); while(mk.hasNext()) { var mk1 = mk.next(); o.writeString(mk1); this.write(__map_reserved[mk1] != null ? extra.getReserved(mk1) : extra.h[mk1]); } } o.writeByte(1); var _g = 0; while(_g < a.length) { var f = a[_g]; ++_g; this.write(f); } break; case 10: var x = v[2]; o.writeByte(11); this.writeString(haxe_xml_Printer.print(x)); break; case 11: var b1 = v[2]; o.writeByte(12); this.writeUInt(b1.length,true); o.write(b1); break; case 12: var m = v[2]; o.writeByte(17); this.writeUInt(Lambda.count(m),true); o.writeByte(0); var f1 = m.keys(); while(f1.hasNext()) { var f2 = f1.next(); this.write(f2); this.write(m.get(f2)); } break; default: throw new js__$Boot_HaxeError("Unsupported type"); } } ,__class__: format_amf3_Writer }; var format_jpg_Writer = function(out) { this.YTable = []; this.UVTable = []; this.fdtbl_Y = []; this.fdtbl_UV = []; var _g = 0; while(_g < 64) { var i = _g++; this.YTable.push(0); this.UVTable.push(0); this.fdtbl_Y.push(0.0); this.fdtbl_UV.push(0.0); } this.bitcode = new haxe_ds_IntMap(); this.category = new haxe_ds_IntMap(); this.byteout = out; this.bytenew = 0; this.bytepos = 7; this.YDC_HT = new haxe_ds_IntMap(); this.UVDC_HT = new haxe_ds_IntMap(); this.YAC_HT = new haxe_ds_IntMap(); this.UVAC_HT = new haxe_ds_IntMap(); this.YDU = []; this.UDU = []; this.VDU = []; this.DU = []; var _g1 = 0; while(_g1 < 64) { var i1 = _g1++; this.YDU.push(0.0); this.UDU.push(0.0); this.VDU.push(0.0); this.DU.push(0.0); } this.initZigZag(); this.initLuminance(); this.initChrominance(); this.initHuffmanTbl(); this.initCategoryNumber(); }; $hxClasses["format.jpg.Writer"] = format_jpg_Writer; format_jpg_Writer.__name__ = ["format","jpg","Writer"]; format_jpg_Writer.prototype = { ZigZag: null ,initZigZag: function() { this.ZigZag = [0,1,5,6,14,15,27,28,2,4,7,13,16,26,29,42,3,8,12,17,25,30,41,43,9,11,18,24,31,40,44,53,10,19,23,32,39,45,52,54,20,22,33,38,46,51,55,60,21,34,37,47,50,56,59,61,35,36,48,49,57,58,62,63]; } ,YTable: null ,UVTable: null ,fdtbl_Y: null ,fdtbl_UV: null ,initQuantTables: function(sf) { var YQT = [16,11,10,16,24,40,51,61,12,12,14,19,26,58,60,55,14,13,16,24,40,57,69,56,14,17,22,29,51,87,80,62,18,22,37,56,68,109,103,77,24,35,55,64,81,104,113,92,49,64,78,87,103,121,120,101,72,92,95,98,112,100,103,99]; var _g = 0; while(_g < 64) { var i = _g++; var t = Math.floor((YQT[i] * sf + 50) / 100); if(t < 1) { t = 1; } else if(t > 255) { t = 255; } this.YTable[this.ZigZag[i]] = t; } var UVQT = [17,18,24,47,99,99,99,99,18,21,26,66,99,99,99,99,24,26,56,99,99,99,99,99,47,66,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99]; var _g1 = 0; while(_g1 < 64) { var j = _g1++; var u = Math.floor((UVQT[j] * sf + 50) / 100); if(u < 1) { u = 1; } else if(u > 255) { u = 255; } this.UVTable[this.ZigZag[j]] = u; } var aasf = [1.0,1.387039845,1.306562965,1.175875602,1.0,0.785694958,0.541196100,0.275899379]; var k = 0; var _g2 = 0; while(_g2 < 8) { var row = _g2++; var _g11 = 0; while(_g11 < 8) { var col = _g11++; this.fdtbl_Y[k] = 1.0 / (this.YTable[this.ZigZag[k]] * aasf[row] * aasf[col] * 8.0); this.fdtbl_UV[k] = 1.0 / (this.UVTable[this.ZigZag[k]] * aasf[row] * aasf[col] * 8.0); ++k; } } } ,std_dc_luminance_nrcodes: null ,std_dc_luminance_values: null ,std_ac_luminance_nrcodes: null ,std_ac_luminance_values: null ,initLuminance: function() { this.std_dc_luminance_nrcodes = [0,0,1,5,1,1,1,1,1,1,0,0,0,0,0,0,0]; this.std_dc_luminance_values = this.strIntsToBytes("0,1,2,3,4,5,6,7,8,9,10,11"); this.std_ac_luminance_nrcodes = [0,0,2,1,3,3,2,4,3,5,5,4,4,0,0,1,125]; this.std_ac_luminance_values = this.strIntsToBytes("0x01,0x02,0x03,0x00,0x04,0x11,0x05,0x12," + "0x21,0x31,0x41,0x06,0x13,0x51,0x61,0x07," + "0x22,0x71,0x14,0x32,0x81,0x91,0xa1,0x08," + "0x23,0x42,0xb1,0xc1,0x15,0x52,0xd1,0xf0," + "0x24,0x33,0x62,0x72,0x82,0x09,0x0a,0x16," + "0x17,0x18,0x19,0x1a,0x25,0x26,0x27,0x28," + "0x29,0x2a,0x34,0x35,0x36,0x37,0x38,0x39," + "0x3a,0x43,0x44,0x45,0x46,0x47,0x48,0x49," + "0x4a,0x53,0x54,0x55,0x56,0x57,0x58,0x59," + "0x5a,0x63,0x64,0x65,0x66,0x67,0x68,0x69," + "0x6a,0x73,0x74,0x75,0x76,0x77,0x78,0x79," + "0x7a,0x83,0x84,0x85,0x86,0x87,0x88,0x89," + "0x8a,0x92,0x93,0x94,0x95,0x96,0x97,0x98," + "0x99,0x9a,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7," + "0xa8,0xa9,0xaa,0xb2,0xb3,0xb4,0xb5,0xb6," + "0xb7,0xb8,0xb9,0xba,0xc2,0xc3,0xc4,0xc5," + "0xc6,0xc7,0xc8,0xc9,0xca,0xd2,0xd3,0xd4," + "0xd5,0xd6,0xd7,0xd8,0xd9,0xda,0xe1,0xe2," + "0xe3,0xe4,0xe5,0xe6,0xe7,0xe8,0xe9,0xea," + "0xf1,0xf2,0xf3,0xf4,0xf5,0xf6,0xf7,0xf8," + "0xf9,0xfa"); } ,strIntsToBytes: function(s) { var len = s.length; var b = new haxe_io_BytesBuffer(); var val = 0; var i = 0; var _g1 = 0; var _g = len; while(_g1 < _g) { var j = _g1++; if(s.charAt(j) == ",") { val = Std.parseInt(HxOverrides.substr(s,i,j - i)); b.b.push(val); i = j + 1; } } if(i < len) { val = Std.parseInt(HxOverrides.substr(s,i,null)); b.b.push(val); } return b.getBytes(); } ,std_dc_chrominance_nrcodes: null ,std_dc_chrominance_values: null ,std_ac_chrominance_nrcodes: null ,std_ac_chrominance_values: null ,initChrominance: function() { this.std_dc_chrominance_nrcodes = [0,0,3,1,1,1,1,1,1,1,1,1,0,0,0,0,0]; this.std_dc_chrominance_values = this.strIntsToBytes("0,1,2,3,4,5,6,7,8,9,10,11"); this.std_ac_chrominance_nrcodes = [0,0,2,1,2,4,4,3,4,7,5,4,4,0,1,2,119]; this.std_ac_chrominance_values = this.strIntsToBytes("0x00,0x01,0x02,0x03,0x11,0x04,0x05,0x21," + "0x31,0x06,0x12,0x41,0x51,0x07,0x61,0x71," + "0x13,0x22,0x32,0x81,0x08,0x14,0x42,0x91," + "0xa1,0xb1,0xc1,0x09,0x23,0x33,0x52,0xf0," + "0x15,0x62,0x72,0xd1,0x0a,0x16,0x24,0x34," + "0xe1,0x25,0xf1,0x17,0x18,0x19,0x1a,0x26," + "0x27,0x28,0x29,0x2a,0x35,0x36,0x37,0x38," + "0x39,0x3a,0x43,0x44,0x45,0x46,0x47,0x48," + "0x49,0x4a,0x53,0x54,0x55,0x56,0x57,0x58," + "0x59,0x5a,0x63,0x64,0x65,0x66,0x67,0x68," + "0x69,0x6a,0x73,0x74,0x75,0x76,0x77,0x78," + "0x79,0x7a,0x82,0x83,0x84,0x85,0x86,0x87," + "0x88,0x89,0x8a,0x92,0x93,0x94,0x95,0x96," + "0x97,0x98,0x99,0x9a,0xa2,0xa3,0xa4,0xa5," + "0xa6,0xa7,0xa8,0xa9,0xaa,0xb2,0xb3,0xb4," + "0xb5,0xb6,0xb7,0xb8,0xb9,0xba,0xc2,0xc3," + "0xc4,0xc5,0xc6,0xc7,0xc8,0xc9,0xca,0xd2," + "0xd3,0xd4,0xd5,0xd6,0xd7,0xd8,0xd9,0xda," + "0xe2,0xe3,0xe4,0xe5,0xe6,0xe7,0xe8,0xe9," + "0xea,0xf2,0xf3,0xf4,0xf5,0xf6,0xf7,0xf8," + "0xf9,0xfa"); } ,YDC_HT: null ,UVDC_HT: null ,YAC_HT: null ,UVAC_HT: null ,initHuffmanTbl: function() { this.YDC_HT = this.computeHuffmanTbl(this.std_dc_luminance_nrcodes,this.std_dc_luminance_values); this.UVDC_HT = this.computeHuffmanTbl(this.std_dc_chrominance_nrcodes,this.std_dc_chrominance_values); this.YAC_HT = this.computeHuffmanTbl(this.std_ac_luminance_nrcodes,this.std_ac_luminance_values); this.UVAC_HT = this.computeHuffmanTbl(this.std_ac_chrominance_nrcodes,this.std_ac_chrominance_values); } ,computeHuffmanTbl: function(nrcodes,std_table) { var codevalue = 0; var pos_in_table = 0; var HT = new haxe_ds_IntMap(); var _g = 1; while(_g < 17) { var k = _g++; var end = nrcodes[k]; var _g2 = 0; var _g1 = end; while(_g2 < _g1) { var j = _g2++; var idx = std_table.b[pos_in_table]; var value = new format_jpg__$Writer_BitString(k,codevalue); HT.h[idx] = value; ++pos_in_table; ++codevalue; } codevalue *= 2; } return HT; } ,bitcode: null ,category: null ,initCategoryNumber: function() { var nrlower = 1; var nrupper = 2; var idx; var _g = 1; while(_g < 16) { var cat = _g++; var _g2 = nrlower; var _g1 = nrupper; while(_g2 < _g1) { var nr = _g2++; idx = 32767 + nr; this.category.h[idx] = cat; var this1 = this.bitcode; var value = new format_jpg__$Writer_BitString(cat,nr); this1.h[idx] = value; } var nrneg = -(nrupper - 1); while(nrneg <= -nrlower) { idx = 32767 + nrneg; this.category.h[idx] = cat; var this2 = this.bitcode; var value1 = new format_jpg__$Writer_BitString(cat,nrupper - 1 + nrneg); this2.h[idx] = value1; ++nrneg; } nrlower <<= 1; nrupper <<= 1; } } ,byteout: null ,bytenew: null ,bytepos: null ,writeBits: function(bs) { var value = bs.val; var posval = bs.len - 1; while(posval >= 0) { if((value & 1 << posval) != 0) { this.bytenew |= 1 << this.bytepos; } --posval; this.bytepos--; if(this.bytepos < 0) { if(this.bytenew == 255) { this.byteout.writeByte(255); this.byteout.writeByte(0); } else { this.byteout.writeByte(this.bytenew); } this.bytepos = 7; this.bytenew = 0; } } } ,writeWord: function(val) { this.byteout.writeByte(val >> 8 & 255); this.byteout.writeByte(val & 255); } ,fDCTQuant: function(data,fdtbl) { var dataOff = 0; var _g = 0; while(_g < 8) { var i = _g++; var tmp0 = data[dataOff] + data[dataOff + 7]; var tmp7 = data[dataOff] - data[dataOff + 7]; var tmp1 = data[dataOff + 1] + data[dataOff + 6]; var tmp6 = data[dataOff + 1] - data[dataOff + 6]; var tmp2 = data[dataOff + 2] + data[dataOff + 5]; var tmp5 = data[dataOff + 2] - data[dataOff + 5]; var tmp3 = data[dataOff + 3] + data[dataOff + 4]; var tmp4 = data[dataOff + 3] - data[dataOff + 4]; var tmp10 = tmp0 + tmp3; var tmp13 = tmp0 - tmp3; var tmp11 = tmp1 + tmp2; var tmp12 = tmp1 - tmp2; data[dataOff] = tmp10 + tmp11; data[dataOff + 4] = tmp10 - tmp11; var z1 = (tmp12 + tmp13) * 0.707106781; data[dataOff + 2] = tmp13 + z1; data[dataOff + 6] = tmp13 - z1; tmp10 = tmp4 + tmp5; tmp11 = tmp5 + tmp6; tmp12 = tmp6 + tmp7; var z5 = (tmp10 - tmp12) * 0.382683433; var z2 = 0.541196100 * tmp10 + z5; var z4 = 1.306562965 * tmp12 + z5; var z3 = tmp11 * 0.707106781; var z11 = tmp7 + z3; var z13 = tmp7 - z3; data[dataOff + 5] = z13 + z2; data[dataOff + 3] = z13 - z2; data[dataOff + 1] = z11 + z4; data[dataOff + 7] = z11 - z4; dataOff += 8; } dataOff = 0; var _g1 = 0; while(_g1 < 8) { var j = _g1++; var tmp0p2 = data[dataOff] + data[dataOff + 56]; var tmp7p2 = data[dataOff] - data[dataOff + 56]; var tmp1p2 = data[dataOff + 8] + data[dataOff + 48]; var tmp6p2 = data[dataOff + 8] - data[dataOff + 48]; var tmp2p2 = data[dataOff + 16] + data[dataOff + 40]; var tmp5p2 = data[dataOff + 16] - data[dataOff + 40]; var tmp3p2 = data[dataOff + 24] + data[dataOff + 32]; var tmp4p2 = data[dataOff + 24] - data[dataOff + 32]; var tmp10p2 = tmp0p2 + tmp3p2; var tmp13p2 = tmp0p2 - tmp3p2; var tmp11p2 = tmp1p2 + tmp2p2; var tmp12p2 = tmp1p2 - tmp2p2; data[dataOff] = tmp10p2 + tmp11p2; data[dataOff + 32] = tmp10p2 - tmp11p2; var z1p2 = (tmp12p2 + tmp13p2) * 0.707106781; data[dataOff + 16] = tmp13p2 + z1p2; data[dataOff + 48] = tmp13p2 - z1p2; tmp10p2 = tmp4p2 + tmp5p2; tmp11p2 = tmp5p2 + tmp6p2; tmp12p2 = tmp6p2 + tmp7p2; var z5p2 = (tmp10p2 - tmp12p2) * 0.382683433; var z2p2 = 0.541196100 * tmp10p2 + z5p2; var z4p2 = 1.306562965 * tmp12p2 + z5p2; var z3p2 = tmp11p2 * 0.707106781; var z11p2 = tmp7p2 + z3p2; var z13p2 = tmp7p2 - z3p2; data[dataOff + 40] = z13p2 + z2p2; data[dataOff + 24] = z13p2 - z2p2; data[dataOff + 8] = z11p2 + z4p2; data[dataOff + 56] = z11p2 - z4p2; ++dataOff; } var _g2 = 0; while(_g2 < 64) { var k = _g2++; data[k] = Math.round(data[k] * fdtbl[k]); } return data; } ,b: function(v) { this.byteout.writeByte(v); } ,writeAPP0: function() { this.byteout.writeByte(255); this.byteout.writeByte(224); this.byteout.writeByte(0); this.byteout.writeByte(16); this.byteout.writeByte(74); this.byteout.writeByte(70); this.byteout.writeByte(73); this.byteout.writeByte(70); this.byteout.writeByte(0); this.byteout.writeByte(1); this.byteout.writeByte(1); this.byteout.writeByte(0); this.byteout.writeByte(0); this.byteout.writeByte(1); this.byteout.writeByte(0); this.byteout.writeByte(1); this.byteout.writeByte(0); this.byteout.writeByte(0); } ,writeDQT: function() { this.byteout.writeByte(255); this.byteout.writeByte(219); this.byteout.writeByte(0); this.byteout.writeByte(132); this.byteout.writeByte(0); var _g = 0; while(_g < 64) { var j = _g++; this.byteout.writeByte(this.YTable[j]); } this.byteout.writeByte(1); var _g1 = 0; while(_g1 < 64) { var j1 = _g1++; this.byteout.writeByte(this.UVTable[j1]); } } ,writeSOF0: function(width,height) { this.byteout.writeByte(255); this.byteout.writeByte(192); this.byteout.writeByte(0); this.byteout.writeByte(17); this.byteout.writeByte(8); this.byteout.writeByte(height >> 8 & 255); this.byteout.writeByte(height & 255); this.byteout.writeByte(width >> 8 & 255); this.byteout.writeByte(width & 255); this.byteout.writeByte(3); this.byteout.writeByte(1); this.byteout.writeByte(17); this.byteout.writeByte(0); this.byteout.writeByte(2); this.byteout.writeByte(17); this.byteout.writeByte(1); this.byteout.writeByte(3); this.byteout.writeByte(17); this.byteout.writeByte(1); } ,writeDHT: function() { this.byteout.writeByte(255); this.byteout.writeByte(196); this.byteout.writeByte(1); this.byteout.writeByte(162); this.byteout.writeByte(0); var _g = 1; while(_g < 17) { var j = _g++; this.byteout.writeByte(this.std_dc_luminance_nrcodes[j]); } this.byteout.write(this.std_dc_luminance_values); this.byteout.writeByte(16); var _g1 = 1; while(_g1 < 17) { var j1 = _g1++; this.byteout.writeByte(this.std_ac_luminance_nrcodes[j1]); } this.byteout.write(this.std_ac_luminance_values); this.byteout.writeByte(1); var _g2 = 1; while(_g2 < 17) { var j2 = _g2++; this.byteout.writeByte(this.std_dc_chrominance_nrcodes[j2]); } this.byteout.write(this.std_dc_chrominance_values); this.byteout.writeByte(17); var _g3 = 1; while(_g3 < 17) { var j3 = _g3++; this.byteout.writeByte(this.std_ac_chrominance_nrcodes[j3]); } this.byteout.write(this.std_ac_chrominance_values); } ,writeSOS: function() { this.byteout.writeByte(255); this.byteout.writeByte(218); this.byteout.writeByte(0); this.byteout.writeByte(12); this.byteout.writeByte(3); this.byteout.writeByte(1); this.byteout.writeByte(0); this.byteout.writeByte(2); this.byteout.writeByte(17); this.byteout.writeByte(3); this.byteout.writeByte(17); this.byteout.writeByte(0); this.byteout.writeByte(63); this.byteout.writeByte(0); } ,DU: null ,processDU: function(CDU,fdtbl,DC,HTDC,HTAC) { var EOB = HTAC.h[0]; var M16zeroes = HTAC.h[240]; var DU_DCT = this.fDCTQuant(CDU,fdtbl); var _g = 0; while(_g < 64) { var i = _g++; this.DU[this.ZigZag[i]] = DU_DCT[i]; } var idx; var Diff = this.DU[0] - DC | 0; DC = this.DU[0]; if(Diff == 0) { this.writeBits(HTDC.h[0]); } else { idx = 32767 + Diff; this.writeBits(HTDC.h[this.category.h[idx]]); this.writeBits(this.bitcode.h[idx]); } var end0pos = 63; while(end0pos > 0 && this.DU[end0pos] == 0.0) --end0pos; if(end0pos == 0) { this.writeBits(EOB); return DC; } var i1 = 1; while(i1 <= end0pos) { var startpos = i1; while(this.DU[i1] == 0.0 && i1 <= end0pos) ++i1; var nrzeroes = i1 - startpos; if(nrzeroes >= 16) { var _g1 = 0; var _g2 = nrzeroes >> 4; while(_g1 < _g2) { var nrmarker = _g1++; this.writeBits(M16zeroes); } nrzeroes &= 15; } idx = 32767 + (this.DU[i1] | 0); this.writeBits(HTAC.h[nrzeroes * 16 + this.category.h[idx]]); this.writeBits(this.bitcode.h[idx]); ++i1; } if(end0pos != 63) { this.writeBits(EOB); } return DC; } ,YDU: null ,UDU: null ,VDU: null ,RGB2YUV: function(img,width,xpos,ypos) { var pos = 0; var _g = 0; while(_g < 8) { var y = _g++; var offset = (y + ypos) * width + xpos << 2; var _g1 = 0; while(_g1 < 8) { var x = _g1++; ++offset; var R = img.b[offset++]; var G = img.b[offset++]; var B = img.b[offset++]; this.YDU[pos] = 0.29900 * R + 0.58700 * G + 0.11400 * B - 128; this.UDU[pos] = -0.16874 * R + -0.33126 * G + 0.50000 * B; this.VDU[pos] = 0.50000 * R + -0.41869 * G + -0.08131 * B; ++pos; } } } ,write: function(image) { var quality = image.quality; if(quality <= 0) { quality = 1; } if(quality > 100) { quality = 100; } var sf = quality < 50 ? 5000 / quality | 0 : 200 - quality * 2 | 0; this.initQuantTables(sf); this.bytenew = 0; this.bytepos = 7; var width = image.width; var height = image.height; this.writeWord(65496); this.writeAPP0(); this.writeDQT(); this.writeSOF0(width,height); this.writeDHT(); this.writeSOS(); var DCY = 0.0; var DCU = 0.0; var DCV = 0.0; this.bytenew = 0; this.bytepos = 7; var ypos = 0; while(ypos < height) { var xpos = 0; while(xpos < width) { this.RGB2YUV(image.pixels,width,xpos,ypos); DCY = this.processDU(this.YDU,this.fdtbl_Y,DCY,this.YDC_HT,this.YAC_HT); DCU = this.processDU(this.UDU,this.fdtbl_UV,DCU,this.UVDC_HT,this.UVAC_HT); DCV = this.processDU(this.VDU,this.fdtbl_UV,DCV,this.UVDC_HT,this.UVAC_HT); xpos += 8; } ypos += 8; } if(this.bytepos >= 0) { var fillbits = new format_jpg__$Writer_BitString(this.bytepos + 1,(1 << this.bytepos + 1) - 1); this.writeBits(fillbits); } this.writeWord(65497); } ,__class__: format_jpg_Writer }; var format_jpg__$Writer_BitString = function(l,v) { this.len = l; this.val = v; }; $hxClasses["format.jpg._Writer.BitString"] = format_jpg__$Writer_BitString; format_jpg__$Writer_BitString.__name__ = ["format","jpg","_Writer","BitString"]; format_jpg__$Writer_BitString.prototype = { len: null ,val: null ,__class__: format_jpg__$Writer_BitString }; var format_png_Color = $hxClasses["format.png.Color"] = { __ename__ : ["format","png","Color"], __constructs__ : ["ColGrey","ColTrue","ColIndexed"] }; format_png_Color.ColGrey = function(alpha) { var $x = ["ColGrey",0,alpha]; $x.__enum__ = format_png_Color; $x.toString = $estr; return $x; }; format_png_Color.ColTrue = function(alpha) { var $x = ["ColTrue",1,alpha]; $x.__enum__ = format_png_Color; $x.toString = $estr; return $x; }; format_png_Color.ColIndexed = ["ColIndexed",2]; format_png_Color.ColIndexed.toString = $estr; format_png_Color.ColIndexed.__enum__ = format_png_Color; var format_png_Chunk = $hxClasses["format.png.Chunk"] = { __ename__ : ["format","png","Chunk"], __constructs__ : ["CEnd","CHeader","CData","CPalette","CUnknown"] }; format_png_Chunk.CEnd = ["CEnd",0]; format_png_Chunk.CEnd.toString = $estr; format_png_Chunk.CEnd.__enum__ = format_png_Chunk; format_png_Chunk.CHeader = function(h) { var $x = ["CHeader",1,h]; $x.__enum__ = format_png_Chunk; $x.toString = $estr; return $x; }; format_png_Chunk.CData = function(b) { var $x = ["CData",2,b]; $x.__enum__ = format_png_Chunk; $x.toString = $estr; return $x; }; format_png_Chunk.CPalette = function(b) { var $x = ["CPalette",3,b]; $x.__enum__ = format_png_Chunk; $x.toString = $estr; return $x; }; format_png_Chunk.CUnknown = function(id,data) { var $x = ["CUnknown",4,id,data]; $x.__enum__ = format_png_Chunk; $x.toString = $estr; return $x; }; var format_png_Reader = function(i) { this.i = i; i.set_bigEndian(true); this.checkCRC = true; }; $hxClasses["format.png.Reader"] = format_png_Reader; format_png_Reader.__name__ = ["format","png","Reader"]; format_png_Reader.prototype = { i: null ,checkCRC: null ,read: function() { var _g = 0; var _g1 = [137,80,78,71,13,10,26,10]; while(_g < _g1.length) { var b = _g1[_g]; ++_g; if(this.i.readByte() != b) { throw new js__$Boot_HaxeError("Invalid header"); } } var l = new List(); while(true) { var c = this.readChunk(); l.add(c); if(c == format_png_Chunk.CEnd) { break; } } return l; } ,readHeader: function(i) { i.set_bigEndian(true); var width = i.readInt32(); var height = i.readInt32(); var colbits = i.readByte(); var color = i.readByte(); var color1; switch(color) { case 0: color1 = format_png_Color.ColGrey(false); break; case 2: color1 = format_png_Color.ColTrue(false); break; case 3: color1 = format_png_Color.ColIndexed; break; case 4: color1 = format_png_Color.ColGrey(true); break; case 6: color1 = format_png_Color.ColTrue(true); break; default: throw new js__$Boot_HaxeError("Unknown color model " + color + ":" + colbits); } var compress = i.readByte(); var filter = i.readByte(); if(compress != 0 || filter != 0) { throw new js__$Boot_HaxeError("Invalid header"); } var interlace = i.readByte(); if(interlace != 0 && interlace != 1) { throw new js__$Boot_HaxeError("Invalid header"); } return { width : width, height : height, colbits : colbits, color : color1, interlaced : interlace == 1}; } ,readChunk: function() { var dataLen = this.i.readInt32(); var id = this.i.readString(4); var data = this.i.read(dataLen); var crc = this.i.readInt32(); if(this.checkCRC) { var c = new haxe_crypto_Crc32(); var _g = 0; while(_g < 4) { var i = _g++; c["byte"](HxOverrides.cca(id,i)); } c.update(data,0,data.length); if(c.get() != crc) { throw new js__$Boot_HaxeError("CRC check failure"); } } switch(id) { case "IDAT": return format_png_Chunk.CData(data); case "IEND": return format_png_Chunk.CEnd; case "IHDR": return format_png_Chunk.CHeader(this.readHeader(new haxe_io_BytesInput(data))); case "PLTE": return format_png_Chunk.CPalette(data); default: return format_png_Chunk.CUnknown(id,data); } } ,__class__: format_png_Reader }; var format_png_Tools = function() { }; $hxClasses["format.png.Tools"] = format_png_Tools; format_png_Tools.__name__ = ["format","png","Tools"]; format_png_Tools.getHeader = function(d) { var _g_head = d.h; while(_g_head != null) { var val = _g_head.item; _g_head = _g_head.next; var c = val; if(c[1] == 1) { var h = c[2]; return h; } } throw new js__$Boot_HaxeError("Header not found"); }; format_png_Tools.getPalette = function(d) { var _g_head = d.h; while(_g_head != null) { var val = _g_head.item; _g_head = _g_head.next; var c = val; if(c[1] == 3) { var b = c[2]; return b; } } return null; }; format_png_Tools.filter = function(data,x,y,stride,prev,p,numChannels) { if(numChannels == null) { numChannels = 4; } var b = y == 0 ? 0 : data.b[p - stride]; var c = x == 0 || y == 0 ? 0 : data.b[p - stride - numChannels]; var k = prev + b - c; var pa = k - prev; if(pa < 0) { pa = -pa; } var pb = k - b; if(pb < 0) { pb = -pb; } var pc = k - c; if(pc < 0) { pc = -pc; } if(pa <= pb && pa <= pc) { return prev; } else if(pb <= pc) { return b; } else { return c; } }; format_png_Tools.reverseBytes = function(b) { var p = 0; var _g1 = 0; var _g = b.length >> 2; while(_g1 < _g) { var i = _g1++; var b1 = b.b[p]; var g = b.b[p + 1]; var r = b.b[p + 2]; var a = b.b[p + 3]; b.b[p++] = a & 255; b.b[p++] = r & 255; b.b[p++] = g & 255; b.b[p++] = b1 & 255; } }; format_png_Tools.extractGrey = function(d) { var h = format_png_Tools.getHeader(d); var grey = new haxe_io_Bytes(new ArrayBuffer(h.width * h.height)); var data = null; var fullData = null; var _g_head = d.h; while(_g_head != null) { var val = _g_head.item; _g_head = _g_head.next; var c = val; if(c[1] == 2) { var b = c[2]; if(fullData != null) { var b1 = fullData.b; var b2 = b.b; var _g1 = 0; var _g = b.length; while(_g1 < _g) { var i = _g1++; fullData.b.push(b2[i]); } } else if(data == null) { data = b; } else { fullData = new haxe_io_BytesBuffer(); var b11 = fullData.b; var b21 = data.b; var _g11 = 0; var _g2 = data.length; while(_g11 < _g2) { var i1 = _g11++; fullData.b.push(b21[i1]); } var b12 = fullData.b; var b22 = b.b; var _g12 = 0; var _g3 = b.length; while(_g12 < _g3) { var i2 = _g12++; fullData.b.push(b22[i2]); } data = null; } } } if(fullData != null) { data = fullData.getBytes(); } if(data == null) { throw new js__$Boot_HaxeError("Data not found"); } data = format_tools_Inflate.run(data); var r = 0; var w = 0; var _g4 = h.color; if(_g4[1] == 0) { var alpha = _g4[2]; if(h.colbits != 8) { throw new js__$Boot_HaxeError("Unsupported color mode"); } var width = h.width; var stride = (alpha ? 2 : 1) * width + 1; if(data.length < h.height * stride) { throw new js__$Boot_HaxeError("Not enough data"); } var rinc = alpha ? 2 : 1; var _g13 = 0; var _g5 = h.height; while(_g13 < _g5) { var y = _g13++; var f = data.b[r++]; switch(f) { case 0: var _g31 = 0; var _g21 = width; while(_g31 < _g21) { var x = _g31++; var v = data.b[r]; r += rinc; grey.b[w++] = v & 255; } break; case 1: var cv = 0; var _g32 = 0; var _g22 = width; while(_g32 < _g22) { var x1 = _g32++; cv += data.b[r]; r += rinc; grey.b[w++] = cv & 255; } break; case 2: var stride1 = y == 0 ? 0 : width; var _g33 = 0; var _g23 = width; while(_g33 < _g23) { var x2 = _g33++; var v1 = data.b[r] + grey.b[w - stride1]; r += rinc; grey.b[w++] = v1 & 255; } break; case 3: var cv1 = 0; var stride2 = y == 0 ? 0 : width; var _g34 = 0; var _g24 = width; while(_g34 < _g24) { var x3 = _g34++; cv1 = data.b[r] + (cv1 + grey.b[w - stride2] >> 1) & 255; r += rinc; grey.b[w++] = cv1 & 255; } break; case 4: var stride3 = width; var cv2 = 0; var _g35 = 0; var _g25 = width; while(_g35 < _g25) { var x4 = _g35++; var b3 = y == 0 ? 0 : grey.b[w - stride3]; var c1 = x4 == 0 || y == 0 ? 0 : grey.b[w - stride3 - 1]; var k = cv2 + b3 - c1; var pa = k - cv2; if(pa < 0) { pa = -pa; } var pb = k - b3; if(pb < 0) { pb = -pb; } var pc = k - c1; if(pc < 0) { pc = -pc; } cv2 = (pa <= pb && pa <= pc ? cv2 : pb <= pc ? b3 : c1) + data.b[r] & 255; r += rinc; grey.b[w++] = cv2 & 255; } break; default: throw new js__$Boot_HaxeError("Invalid filter " + f); } } } else { throw new js__$Boot_HaxeError("Unsupported color mode"); } return grey; }; format_png_Tools.extract32 = function(d,bytes,flipY) { var h = format_png_Tools.getHeader(d); var bgra = bytes == null ? new haxe_io_Bytes(new ArrayBuffer(h.width * h.height * 4)) : bytes; var data = null; var fullData = null; var _g_head = d.h; while(_g_head != null) { var val = _g_head.item; _g_head = _g_head.next; var c = val; if(c[1] == 2) { var b = c[2]; if(fullData != null) { var b1 = fullData.b; var b2 = b.b; var _g1 = 0; var _g = b.length; while(_g1 < _g) { var i = _g1++; fullData.b.push(b2[i]); } } else if(data == null) { data = b; } else { fullData = new haxe_io_BytesBuffer(); var b11 = fullData.b; var b21 = data.b; var _g11 = 0; var _g2 = data.length; while(_g11 < _g2) { var i1 = _g11++; fullData.b.push(b21[i1]); } var b12 = fullData.b; var b22 = b.b; var _g12 = 0; var _g3 = b.length; while(_g12 < _g3) { var i2 = _g12++; fullData.b.push(b22[i2]); } data = null; } } } if(fullData != null) { data = fullData.getBytes(); } if(data == null) { throw new js__$Boot_HaxeError("Data not found"); } data = format_tools_Inflate.run(data); var r = 0; var w = 0; var lineDelta = 0; if(flipY) { lineDelta = -h.width * 8; w = (h.height - 1) * (h.width * 4); } var flipY1 = flipY ? -1 : 1; var _g4 = h.color; switch(_g4[1]) { case 0: var alpha = _g4[2]; if(h.colbits != 8) { throw new js__$Boot_HaxeError("Unsupported color mode"); } var width = h.width; var stride = (alpha ? 2 : 1) * width + 1; if(data.length < h.height * stride) { throw new js__$Boot_HaxeError("Not enough data"); } var alphvaIdx = -1; if(!alpha) { var _g_head1 = d.h; while(_g_head1 != null) { var val1 = _g_head1.item; _g_head1 = _g_head1.next; var t = val1; if(t[1] == 4) { if(t[2] == "tRNS") { var data1 = t[3]; if(data1.length >= 2) { alphvaIdx = data1.b[1]; } break; } } } } var _g13 = 0; var _g5 = h.height; while(_g13 < _g5) { var y = _g13++; var f = data.b[r++]; switch(f) { case 0: if(alpha) { var _g31 = 0; var _g21 = width; while(_g31 < _g21) { var x = _g31++; var v = data.b[r++]; bgra.b[w++] = v & 255; bgra.b[w++] = v & 255; bgra.b[w++] = v & 255; bgra.b[w++] = data.b[r++] & 255; } } else { var _g32 = 0; var _g22 = width; while(_g32 < _g22) { var x1 = _g32++; var v1 = data.b[r++]; bgra.b[w++] = v1 & 255; bgra.b[w++] = v1 & 255; bgra.b[w++] = v1 & 255; bgra.b[w++] = (v1 == alphvaIdx ? 0 : 255) & 255; } } break; case 1: var cv = 0; var ca = 0; if(alpha) { var _g33 = 0; var _g23 = width; while(_g33 < _g23) { var x2 = _g33++; cv += data.b[r++]; bgra.b[w++] = cv & 255; bgra.b[w++] = cv & 255; bgra.b[w++] = cv & 255; ca += data.b[r++]; bgra.b[w++] = ca & 255; } } else { var _g34 = 0; var _g24 = width; while(_g34 < _g24) { var x3 = _g34++; cv += data.b[r++]; bgra.b[w++] = cv & 255; bgra.b[w++] = cv & 255; bgra.b[w++] = cv & 255; bgra.b[w++] = (cv == alphvaIdx ? 0 : 255) & 255; } } break; case 2: var stride1 = y == 0 ? 0 : width * 4 * flipY1; if(alpha) { var _g35 = 0; var _g25 = width; while(_g35 < _g25) { var x4 = _g35++; var v2 = data.b[r++] + bgra.b[w - stride1]; bgra.b[w++] = v2 & 255; bgra.b[w++] = v2 & 255; bgra.b[w++] = v2 & 255; bgra.b[w++] = data.b[r++] + bgra.b[w - stride1] & 255; } } else { var _g36 = 0; var _g26 = width; while(_g36 < _g26) { var x5 = _g36++; var v3 = data.b[r++] + bgra.b[w - stride1]; bgra.b[w++] = v3 & 255; bgra.b[w++] = v3 & 255; bgra.b[w++] = v3 & 255; bgra.b[w++] = (v3 == alphvaIdx ? 0 : 255) & 255; } } break; case 3: var cv1 = 0; var ca1 = 0; var stride2 = y == 0 ? 0 : width * 4 * flipY1; if(alpha) { var _g37 = 0; var _g27 = width; while(_g37 < _g27) { var x6 = _g37++; cv1 = data.b[r++] + (cv1 + bgra.b[w - stride2] >> 1) & 255; bgra.b[w++] = cv1 & 255; bgra.b[w++] = cv1 & 255; bgra.b[w++] = cv1 & 255; ca1 = data.b[r++] + (ca1 + bgra.b[w - stride2] >> 1) & 255; bgra.b[w++] = ca1 & 255; } } else { var _g38 = 0; var _g28 = width; while(_g38 < _g28) { var x7 = _g38++; cv1 = data.b[r++] + (cv1 + bgra.b[w - stride2] >> 1) & 255; bgra.b[w++] = cv1 & 255; bgra.b[w++] = cv1 & 255; bgra.b[w++] = cv1 & 255; bgra.b[w++] = (cv1 == alphvaIdx ? 0 : 255) & 255; } } break; case 4: var stride3 = width * 4 * flipY1; var cv2 = 0; var ca2 = 0; if(alpha) { var _g39 = 0; var _g29 = width; while(_g39 < _g29) { var x8 = _g39++; var b3 = y == 0 ? 0 : bgra.b[w - stride3]; var c1 = x8 == 0 || y == 0 ? 0 : bgra.b[w - stride3 - 4]; var k = cv2 + b3 - c1; var pa = k - cv2; if(pa < 0) { pa = -pa; } var pb = k - b3; if(pb < 0) { pb = -pb; } var pc = k - c1; if(pc < 0) { pc = -pc; } cv2 = (pa <= pb && pa <= pc ? cv2 : pb <= pc ? b3 : c1) + data.b[r++] & 255; bgra.b[w++] = cv2 & 255; bgra.b[w++] = cv2 & 255; bgra.b[w++] = cv2 & 255; var b4 = y == 0 ? 0 : bgra.b[w - stride3]; var c2 = x8 == 0 || y == 0 ? 0 : bgra.b[w - stride3 - 4]; var k1 = ca2 + b4 - c2; var pa1 = k1 - ca2; if(pa1 < 0) { pa1 = -pa1; } var pb1 = k1 - b4; if(pb1 < 0) { pb1 = -pb1; } var pc1 = k1 - c2; if(pc1 < 0) { pc1 = -pc1; } ca2 = (pa1 <= pb1 && pa1 <= pc1 ? ca2 : pb1 <= pc1 ? b4 : c2) + data.b[r++] & 255; bgra.b[w++] = ca2 & 255; } } else { var _g310 = 0; var _g210 = width; while(_g310 < _g210) { var x9 = _g310++; var b5 = y == 0 ? 0 : bgra.b[w - stride3]; var c3 = x9 == 0 || y == 0 ? 0 : bgra.b[w - stride3 - 4]; var k2 = cv2 + b5 - c3; var pa2 = k2 - cv2; if(pa2 < 0) { pa2 = -pa2; } var pb2 = k2 - b5; if(pb2 < 0) { pb2 = -pb2; } var pc2 = k2 - c3; if(pc2 < 0) { pc2 = -pc2; } cv2 = (pa2 <= pb2 && pa2 <= pc2 ? cv2 : pb2 <= pc2 ? b5 : c3) + data.b[r++] & 255; bgra.b[w++] = cv2 & 255; bgra.b[w++] = cv2 & 255; bgra.b[w++] = cv2 & 255; bgra.b[w++] = (cv2 == alphvaIdx ? 0 : 255) & 255; } } break; default: throw new js__$Boot_HaxeError("Invalid filter " + f); } w += lineDelta; } break; case 1: var alpha1 = _g4[2]; if(h.colbits != 8) { throw new js__$Boot_HaxeError("Unsupported color mode"); } var width1 = h.width; var stride4 = (alpha1 ? 4 : 3) * width1 + 1; if(data.length < h.height * stride4) { throw new js__$Boot_HaxeError("Not enough data"); } var alphaRed = -1; var alphaGreen = -1; var alphaBlue = -1; if(!alpha1) { var _g_head2 = d.h; while(_g_head2 != null) { var val2 = _g_head2.item; _g_head2 = _g_head2.next; var t1 = val2; if(t1[1] == 4) { if(t1[2] == "tRNS") { var data2 = t1[3]; if(data2.length >= 6) { alphaRed = data2.b[1]; alphaGreen = data2.b[3]; alphaBlue = data2.b[5]; } break; } } } } var cr = 0; var cg = 0; var cb = 0; var ca3 = 0; var _g14 = 0; var _g6 = h.height; while(_g14 < _g6) { var y1 = _g14++; var f1 = data.b[r++]; switch(f1) { case 0: if(alpha1) { var _g311 = 0; var _g211 = width1; while(_g311 < _g211) { var x10 = _g311++; bgra.b[w++] = data.b[r + 2] & 255; bgra.b[w++] = data.b[r + 1] & 255; bgra.b[w++] = data.b[r] & 255; bgra.b[w++] = data.b[r + 3] & 255; r += 4; } } else { var _g312 = 0; var _g212 = width1; while(_g312 < _g212) { var x11 = _g312++; cb = data.b[r + 2]; bgra.b[w++] = cb & 255; cg = data.b[r + 1]; bgra.b[w++] = cg & 255; cr = data.b[r]; bgra.b[w++] = cr & 255; bgra.b[w++] = (cr == alphaRed && cg == alphaGreen && cb == alphaBlue ? 0 : 255) & 255; r += 3; } } break; case 1: ca3 = 0; cb = ca3; cg = cb; cr = cg; if(alpha1) { var _g313 = 0; var _g213 = width1; while(_g313 < _g213) { var x12 = _g313++; cb += data.b[r + 2]; bgra.b[w++] = cb & 255; cg += data.b[r + 1]; bgra.b[w++] = cg & 255; cr += data.b[r]; bgra.b[w++] = cr & 255; ca3 += data.b[r + 3]; bgra.b[w++] = ca3 & 255; r += 4; } } else { var _g314 = 0; var _g214 = width1; while(_g314 < _g214) { var x13 = _g314++; cb += data.b[r + 2]; bgra.b[w++] = cb & 255; cg += data.b[r + 1]; bgra.b[w++] = cg & 255; cr += data.b[r]; bgra.b[w++] = cr & 255; bgra.b[w++] = (cr == alphaRed && cg == alphaGreen && cb == alphaBlue ? 0 : 255) & 255; r += 3; } } break; case 2: var stride5 = y1 == 0 ? 0 : width1 * 4 * flipY1; if(alpha1) { var _g315 = 0; var _g215 = width1; while(_g315 < _g215) { var x14 = _g315++; bgra.b[w] = data.b[r + 2] + bgra.b[w - stride5] & 255; ++w; bgra.b[w] = data.b[r + 1] + bgra.b[w - stride5] & 255; ++w; bgra.b[w] = data.b[r] + bgra.b[w - stride5] & 255; ++w; bgra.b[w] = data.b[r + 3] + bgra.b[w - stride5] & 255; ++w; r += 4; } } else { var _g316 = 0; var _g216 = width1; while(_g316 < _g216) { var x15 = _g316++; cb = data.b[r + 2] + bgra.b[w - stride5]; bgra.b[w] = cb & 255; ++w; cg = data.b[r + 1] + bgra.b[w - stride5]; bgra.b[w] = cg & 255; ++w; cr = data.b[r] + bgra.b[w - stride5]; bgra.b[w] = cr & 255; ++w; bgra.b[w++] = (cr == alphaRed && cg == alphaGreen && cb == alphaBlue ? 0 : 255) & 255; r += 3; } } break; case 3: ca3 = 0; cb = ca3; cg = cb; cr = cg; var stride6 = y1 == 0 ? 0 : width1 * 4 * flipY1; if(alpha1) { var _g317 = 0; var _g217 = width1; while(_g317 < _g217) { var x16 = _g317++; cb = data.b[r + 2] + (cb + bgra.b[w - stride6] >> 1) & 255; bgra.b[w++] = cb & 255; cg = data.b[r + 1] + (cg + bgra.b[w - stride6] >> 1) & 255; bgra.b[w++] = cg & 255; cr = data.b[r] + (cr + bgra.b[w - stride6] >> 1) & 255; bgra.b[w++] = cr & 255; ca3 = data.b[r + 3] + (ca3 + bgra.b[w - stride6] >> 1) & 255; bgra.b[w++] = ca3 & 255; r += 4; } } else { var _g318 = 0; var _g218 = width1; while(_g318 < _g218) { var x17 = _g318++; cb = data.b[r + 2] + (cb + bgra.b[w - stride6] >> 1) & 255; bgra.b[w++] = cb & 255; cg = data.b[r + 1] + (cg + bgra.b[w - stride6] >> 1) & 255; bgra.b[w++] = cg & 255; cr = data.b[r] + (cr + bgra.b[w - stride6] >> 1) & 255; bgra.b[w++] = cr & 255; bgra.b[w++] = (cr == alphaRed && cg == alphaGreen && cb == alphaBlue ? 0 : 255) & 255; r += 3; } } break; case 4: var stride7 = width1 * 4 * flipY1; ca3 = 0; cb = ca3; cg = cb; cr = cg; if(alpha1) { var _g319 = 0; var _g219 = width1; while(_g319 < _g219) { var x18 = _g319++; var b6 = y1 == 0 ? 0 : bgra.b[w - stride7]; var c4 = x18 == 0 || y1 == 0 ? 0 : bgra.b[w - stride7 - 4]; var k3 = cb + b6 - c4; var pa3 = k3 - cb; if(pa3 < 0) { pa3 = -pa3; } var pb3 = k3 - b6; if(pb3 < 0) { pb3 = -pb3; } var pc3 = k3 - c4; if(pc3 < 0) { pc3 = -pc3; } cb = (pa3 <= pb3 && pa3 <= pc3 ? cb : pb3 <= pc3 ? b6 : c4) + data.b[r + 2] & 255; bgra.b[w++] = cb & 255; var b7 = y1 == 0 ? 0 : bgra.b[w - stride7]; var c5 = x18 == 0 || y1 == 0 ? 0 : bgra.b[w - stride7 - 4]; var k4 = cg + b7 - c5; var pa4 = k4 - cg; if(pa4 < 0) { pa4 = -pa4; } var pb4 = k4 - b7; if(pb4 < 0) { pb4 = -pb4; } var pc4 = k4 - c5; if(pc4 < 0) { pc4 = -pc4; } cg = (pa4 <= pb4 && pa4 <= pc4 ? cg : pb4 <= pc4 ? b7 : c5) + data.b[r + 1] & 255; bgra.b[w++] = cg & 255; var b8 = y1 == 0 ? 0 : bgra.b[w - stride7]; var c6 = x18 == 0 || y1 == 0 ? 0 : bgra.b[w - stride7 - 4]; var k5 = cr + b8 - c6; var pa5 = k5 - cr; if(pa5 < 0) { pa5 = -pa5; } var pb5 = k5 - b8; if(pb5 < 0) { pb5 = -pb5; } var pc5 = k5 - c6; if(pc5 < 0) { pc5 = -pc5; } cr = (pa5 <= pb5 && pa5 <= pc5 ? cr : pb5 <= pc5 ? b8 : c6) + data.b[r] & 255; bgra.b[w++] = cr & 255; var b9 = y1 == 0 ? 0 : bgra.b[w - stride7]; var c7 = x18 == 0 || y1 == 0 ? 0 : bgra.b[w - stride7 - 4]; var k6 = ca3 + b9 - c7; var pa6 = k6 - ca3; if(pa6 < 0) { pa6 = -pa6; } var pb6 = k6 - b9; if(pb6 < 0) { pb6 = -pb6; } var pc6 = k6 - c7; if(pc6 < 0) { pc6 = -pc6; } ca3 = (pa6 <= pb6 && pa6 <= pc6 ? ca3 : pb6 <= pc6 ? b9 : c7) + data.b[r + 3] & 255; bgra.b[w++] = ca3 & 255; r += 4; } } else { var _g320 = 0; var _g220 = width1; while(_g320 < _g220) { var x19 = _g320++; var b10 = y1 == 0 ? 0 : bgra.b[w - stride7]; var c8 = x19 == 0 || y1 == 0 ? 0 : bgra.b[w - stride7 - 4]; var k7 = cb + b10 - c8; var pa7 = k7 - cb; if(pa7 < 0) { pa7 = -pa7; } var pb7 = k7 - b10; if(pb7 < 0) { pb7 = -pb7; } var pc7 = k7 - c8; if(pc7 < 0) { pc7 = -pc7; } cb = (pa7 <= pb7 && pa7 <= pc7 ? cb : pb7 <= pc7 ? b10 : c8) + data.b[r + 2] & 255; bgra.b[w++] = cb & 255; var b13 = y1 == 0 ? 0 : bgra.b[w - stride7]; var c9 = x19 == 0 || y1 == 0 ? 0 : bgra.b[w - stride7 - 4]; var k8 = cg + b13 - c9; var pa8 = k8 - cg; if(pa8 < 0) { pa8 = -pa8; } var pb8 = k8 - b13; if(pb8 < 0) { pb8 = -pb8; } var pc8 = k8 - c9; if(pc8 < 0) { pc8 = -pc8; } cg = (pa8 <= pb8 && pa8 <= pc8 ? cg : pb8 <= pc8 ? b13 : c9) + data.b[r + 1] & 255; bgra.b[w++] = cg & 255; var b14 = y1 == 0 ? 0 : bgra.b[w - stride7]; var c10 = x19 == 0 || y1 == 0 ? 0 : bgra.b[w - stride7 - 4]; var k9 = cr + b14 - c10; var pa9 = k9 - cr; if(pa9 < 0) { pa9 = -pa9; } var pb9 = k9 - b14; if(pb9 < 0) { pb9 = -pb9; } var pc9 = k9 - c10; if(pc9 < 0) { pc9 = -pc9; } cr = (pa9 <= pb9 && pa9 <= pc9 ? cr : pb9 <= pc9 ? b14 : c10) + data.b[r] & 255; bgra.b[w++] = cr & 255; bgra.b[w++] = (cr == alphaRed && cg == alphaGreen && cb == alphaBlue ? 0 : 255) & 255; r += 3; } } break; default: throw new js__$Boot_HaxeError("Invalid filter " + f1); } w += lineDelta; } break; case 2: var pal = format_png_Tools.getPalette(d); if(pal == null) { throw new js__$Boot_HaxeError("PNG Palette is missing"); } var alpha2 = null; var _g_head3 = d.h; while(_g_head3 != null) { var val3 = _g_head3.item; _g_head3 = _g_head3.next; var t2 = val3; if(t2[1] == 4) { if(t2[2] == "tRNS") { var data3 = t2[3]; alpha2 = data3; break; } } } if(alpha2 != null && alpha2.length < 1 << h.colbits) { var alpha21 = new haxe_io_Bytes(new ArrayBuffer(1 << h.colbits)); alpha21.blit(0,alpha2,0,alpha2.length); alpha21.fill(alpha2.length,alpha21.length - alpha2.length,255); alpha2 = alpha21; } var width2 = h.width; var stride8 = Math.ceil(width2 * h.colbits / 8) + 1; if(data.length < h.height * stride8) { throw new js__$Boot_HaxeError("Not enough data"); } var tmp = h.width * h.colbits; var rline = tmp >> 3; var _g15 = 0; var _g7 = h.height; while(_g15 < _g7) { var y2 = _g15++; var f2 = data.b[r++]; if(f2 == 0) { r += rline; continue; } switch(f2) { case 1: var c11 = 0; var _g321 = 0; var _g221 = width2; while(_g321 < _g221) { var x20 = _g321++; var v4 = data.b[r]; c11 += v4; data.b[r++] = c11 & 255 & 255; } break; case 2: var stride9 = y2 == 0 ? 0 : rline + 1; var _g322 = 0; var _g222 = width2; while(_g322 < _g222) { var x21 = _g322++; var v5 = data.b[r]; data.b[r] = v5 + data.b[r - stride9] & 255; ++r; } break; case 3: var c12 = 0; var stride10 = y2 == 0 ? 0 : rline + 1; var _g323 = 0; var _g223 = width2; while(_g323 < _g223) { var x22 = _g323++; var v6 = data.b[r]; c12 = v6 + (c12 + data.b[r - stride10] >> 1) & 255; data.b[r++] = c12 & 255; } break; case 4: var stride11 = rline + 1; var c13 = 0; var _g324 = 0; var _g224 = width2; while(_g324 < _g224) { var x23 = _g324++; var v7 = data.b[r]; var b15 = y2 == 0 ? 0 : data.b[r - stride11]; var c14 = x23 == 0 || y2 == 0 ? 0 : data.b[r - stride11 - 1]; var k10 = c13 + b15 - c14; var pa10 = k10 - c13; if(pa10 < 0) { pa10 = -pa10; } var pb10 = k10 - b15; if(pb10 < 0) { pb10 = -pb10; } var pc10 = k10 - c14; if(pc10 < 0) { pc10 = -pc10; } c13 = (pa10 <= pb10 && pa10 <= pc10 ? c13 : pb10 <= pc10 ? b15 : c14) + v7 & 255; data.b[r++] = c13 & 255; } break; default: throw new js__$Boot_HaxeError("Invalid filter " + f2); } } var r1 = 0; if(h.colbits == 8) { var _g16 = 0; var _g8 = h.height; while(_g16 < _g8) { var y3 = _g16++; ++r1; var _g325 = 0; var _g225 = h.width; while(_g325 < _g225) { var x24 = _g325++; var c15 = data.b[r1++]; bgra.b[w++] = pal.b[c15 * 3 + 2] & 255; bgra.b[w++] = pal.b[c15 * 3 + 1] & 255; bgra.b[w++] = pal.b[c15 * 3] & 255; bgra.b[w++] = (alpha2 != null ? alpha2.b[c15] : 255) & 255; } w += lineDelta; } } else if(h.colbits < 8) { var req = h.colbits; var mask = (1 << req) - 1; var _g17 = 0; var _g9 = h.height; while(_g17 < _g9) { var y4 = _g17++; ++r1; var bits = 0; var nbits = 0; var v8; var _g326 = 0; var _g226 = h.width; while(_g326 < _g226) { var x25 = _g326++; if(nbits < req) { bits = bits << 8 | data.b[r1++]; nbits += 8; } var c16 = bits >>> nbits - req & mask; nbits -= req; bgra.b[w++] = pal.b[c16 * 3 + 2] & 255; bgra.b[w++] = pal.b[c16 * 3 + 1] & 255; bgra.b[w++] = pal.b[c16 * 3] & 255; bgra.b[w++] = (alpha2 != null ? alpha2.b[c16] : 255) & 255; } w += lineDelta; } } else { throw new js__$Boot_HaxeError(h.colbits + " indexed bits per pixel not supported"); } break; } return bgra; }; format_png_Tools.buildGrey = function(width,height,data,level) { if(level == null) { level = 9; } var rgb = new haxe_io_Bytes(new ArrayBuffer(width * height + height)); var w = 0; var r = 0; var _g1 = 0; var _g = height; while(_g1 < _g) { var y = _g1++; rgb.b[w++] = 0; var _g3 = 0; var _g2 = width; while(_g3 < _g2) { var x = _g3++; rgb.b[w++] = data.b[r++] & 255; } } var l = new List(); l.add(format_png_Chunk.CHeader({ width : width, height : height, colbits : 8, color : format_png_Color.ColGrey(false), interlaced : false})); l.add(format_png_Chunk.CData(format_tools_Deflate.run(rgb,level))); l.add(format_png_Chunk.CEnd); return l; }; format_png_Tools.buildIndexed = function(width,height,data,palette,level) { if(level == null) { level = 9; } var rgb = new haxe_io_Bytes(new ArrayBuffer(width * height + height)); var w = 0; var r = 0; var _g1 = 0; var _g = height; while(_g1 < _g) { var y = _g1++; rgb.b[w++] = 0; var _g3 = 0; var _g2 = width; while(_g3 < _g2) { var x = _g3++; rgb.b[w++] = data.b[r++] & 255; } } var l = new List(); l.add(format_png_Chunk.CHeader({ width : width, height : height, colbits : 8, color : format_png_Color.ColIndexed, interlaced : false})); l.add(format_png_Chunk.CPalette(palette)); l.add(format_png_Chunk.CData(format_tools_Deflate.run(rgb,level))); l.add(format_png_Chunk.CEnd); return l; }; format_png_Tools.buildRGB = function(width,height,data,level) { if(level == null) { level = 9; } var rgb = new haxe_io_Bytes(new ArrayBuffer(width * height * 3 + height)); var w = 0; var r = 0; var _g1 = 0; var _g = height; while(_g1 < _g) { var y = _g1++; rgb.b[w++] = 0; var _g3 = 0; var _g2 = width; while(_g3 < _g2) { var x = _g3++; rgb.b[w++] = data.b[r + 2] & 255; rgb.b[w++] = data.b[r + 1] & 255; rgb.b[w++] = data.b[r] & 255; r += 3; } } var l = new List(); l.add(format_png_Chunk.CHeader({ width : width, height : height, colbits : 8, color : format_png_Color.ColTrue(false), interlaced : false})); l.add(format_png_Chunk.CData(format_tools_Deflate.run(rgb,level))); l.add(format_png_Chunk.CEnd); return l; }; format_png_Tools.build32ARGB = function(width,height,data,level) { if(level == null) { level = 9; } var rgba = new haxe_io_Bytes(new ArrayBuffer(width * height * 4 + height)); var w = 0; var r = 0; var _g1 = 0; var _g = height; while(_g1 < _g) { var y = _g1++; rgba.b[w++] = 0; var _g3 = 0; var _g2 = width; while(_g3 < _g2) { var x = _g3++; rgba.b[w++] = data.b[r + 1] & 255; rgba.b[w++] = data.b[r + 2] & 255; rgba.b[w++] = data.b[r + 3] & 255; rgba.b[w++] = data.b[r] & 255; r += 4; } } var l = new List(); l.add(format_png_Chunk.CHeader({ width : width, height : height, colbits : 8, color : format_png_Color.ColTrue(true), interlaced : false})); l.add(format_png_Chunk.CData(format_tools_Deflate.run(rgba,level))); l.add(format_png_Chunk.CEnd); return l; }; format_png_Tools.build32BGRA = function(width,height,data,level) { if(level == null) { level = 9; } var rgba = new haxe_io_Bytes(new ArrayBuffer(width * height * 4 + height)); var w = 0; var r = 0; var _g1 = 0; var _g = height; while(_g1 < _g) { var y = _g1++; rgba.b[w++] = 0; var _g3 = 0; var _g2 = width; while(_g3 < _g2) { var x = _g3++; rgba.b[w++] = data.b[r + 2] & 255; rgba.b[w++] = data.b[r + 1] & 255; rgba.b[w++] = data.b[r] & 255; rgba.b[w++] = data.b[r + 3] & 255; r += 4; } } var l = new List(); l.add(format_png_Chunk.CHeader({ width : width, height : height, colbits : 8, color : format_png_Color.ColTrue(true), interlaced : false})); l.add(format_png_Chunk.CData(format_tools_Deflate.run(rgba,level))); l.add(format_png_Chunk.CEnd); return l; }; var format_png_Writer = function(o) { this.o = o; o.set_bigEndian(true); }; $hxClasses["format.png.Writer"] = format_png_Writer; format_png_Writer.__name__ = ["format","png","Writer"]; format_png_Writer.prototype = { o: null ,write: function(png) { var _g = 0; var _g1 = [137,80,78,71,13,10,26,10]; while(_g < _g1.length) { var b = _g1[_g]; ++_g; this.o.writeByte(b); } var _g_head = png.h; while(_g_head != null) { var val = _g_head.item; _g_head = _g_head.next; var c = val; switch(c[1]) { case 0: this.writeChunk("IEND",new haxe_io_Bytes(new ArrayBuffer(0))); break; case 1: var h = c[2]; var b1 = new haxe_io_BytesOutput(); b1.set_bigEndian(true); b1.writeInt32(h.width); b1.writeInt32(h.height); b1.writeByte(h.colbits); var _g2 = h.color; var tmp; switch(_g2[1]) { case 0: var alpha = _g2[2]; if(alpha) { tmp = 4; } else { tmp = 0; } break; case 1: var alpha1 = _g2[2]; if(alpha1) { tmp = 6; } else { tmp = 2; } break; case 2: tmp = 3; break; } b1.writeByte(tmp); b1.writeByte(0); b1.writeByte(0); b1.writeByte(h.interlaced ? 1 : 0); this.writeChunk("IHDR",b1.getBytes()); break; case 2: var d = c[2]; this.writeChunk("IDAT",d); break; case 3: var b2 = c[2]; this.writeChunk("PLTE",b2); break; case 4: var data = c[3]; var id = c[2]; this.writeChunk(id,data); break; } } } ,writeChunk: function(id,data) { this.o.writeInt32(data.length); this.o.writeString(id); this.o.write(data); var crc = new haxe_crypto_Crc32(); var _g = 0; while(_g < 4) { var i = _g++; crc["byte"](HxOverrides.cca(id,i)); } crc.update(data,0,data.length); this.o.writeInt32(crc.get()); } ,__class__: format_png_Writer }; var format_swf_SWFTag = $hxClasses["format.swf.SWFTag"] = { __ename__ : ["format","swf","SWFTag"], __constructs__ : ["TShowFrame","TShape","TMorphShape","TFont","TFontInfo","TBackgroundColor","TDoActions","TClip","TPlaceObject2","TPlaceObject3","TRemoveObject2","TFrameLabel","TExport","TDoInitActions","TActionScript3","TSymbolClass","TExportAssets","TSandBox","TBitsLossless","TBitsLossless2","TBitsJPEG","TJPEGTables","TBinaryData","TSound","TScenes","TUnknown"] }; format_swf_SWFTag.TShowFrame = ["TShowFrame",0]; format_swf_SWFTag.TShowFrame.toString = $estr; format_swf_SWFTag.TShowFrame.__enum__ = format_swf_SWFTag; format_swf_SWFTag.TShape = function(id,data) { var $x = ["TShape",1,id,data]; $x.__enum__ = format_swf_SWFTag; $x.toString = $estr; return $x; }; format_swf_SWFTag.TMorphShape = function(id,data) { var $x = ["TMorphShape",2,id,data]; $x.__enum__ = format_swf_SWFTag; $x.toString = $estr; return $x; }; format_swf_SWFTag.TFont = function(id,data) { var $x = ["TFont",3,id,data]; $x.__enum__ = format_swf_SWFTag; $x.toString = $estr; return $x; }; format_swf_SWFTag.TFontInfo = function(id,data) { var $x = ["TFontInfo",4,id,data]; $x.__enum__ = format_swf_SWFTag; $x.toString = $estr; return $x; }; format_swf_SWFTag.TBackgroundColor = function(color) { var $x = ["TBackgroundColor",5,color]; $x.__enum__ = format_swf_SWFTag; $x.toString = $estr; return $x; }; format_swf_SWFTag.TDoActions = function(data) { var $x = ["TDoActions",6,data]; $x.__enum__ = format_swf_SWFTag; $x.toString = $estr; return $x; }; format_swf_SWFTag.TClip = function(id,frames,tags) { var $x = ["TClip",7,id,frames,tags]; $x.__enum__ = format_swf_SWFTag; $x.toString = $estr; return $x; }; format_swf_SWFTag.TPlaceObject2 = function(po) { var $x = ["TPlaceObject2",8,po]; $x.__enum__ = format_swf_SWFTag; $x.toString = $estr; return $x; }; format_swf_SWFTag.TPlaceObject3 = function(po) { var $x = ["TPlaceObject3",9,po]; $x.__enum__ = format_swf_SWFTag; $x.toString = $estr; return $x; }; format_swf_SWFTag.TRemoveObject2 = function(depth) { var $x = ["TRemoveObject2",10,depth]; $x.__enum__ = format_swf_SWFTag; $x.toString = $estr; return $x; }; format_swf_SWFTag.TFrameLabel = function(label,anchor) { var $x = ["TFrameLabel",11,label,anchor]; $x.__enum__ = format_swf_SWFTag; $x.toString = $estr; return $x; }; format_swf_SWFTag.TExport = function(el) { var $x = ["TExport",12,el]; $x.__enum__ = format_swf_SWFTag; $x.toString = $estr; return $x; }; format_swf_SWFTag.TDoInitActions = function(id,data) { var $x = ["TDoInitActions",13,id,data]; $x.__enum__ = format_swf_SWFTag; $x.toString = $estr; return $x; }; format_swf_SWFTag.TActionScript3 = function(data,context) { var $x = ["TActionScript3",14,data,context]; $x.__enum__ = format_swf_SWFTag; $x.toString = $estr; return $x; }; format_swf_SWFTag.TSymbolClass = function(symbols) { var $x = ["TSymbolClass",15,symbols]; $x.__enum__ = format_swf_SWFTag; $x.toString = $estr; return $x; }; format_swf_SWFTag.TExportAssets = function(symbols) { var $x = ["TExportAssets",16,symbols]; $x.__enum__ = format_swf_SWFTag; $x.toString = $estr; return $x; }; format_swf_SWFTag.TSandBox = function(useDirectBlit,useGpu,hasMeta,useAs3,useNetwork) { var $x = ["TSandBox",17,useDirectBlit,useGpu,hasMeta,useAs3,useNetwork]; $x.__enum__ = format_swf_SWFTag; $x.toString = $estr; return $x; }; format_swf_SWFTag.TBitsLossless = function(data) { var $x = ["TBitsLossless",18,data]; $x.__enum__ = format_swf_SWFTag; $x.toString = $estr; return $x; }; format_swf_SWFTag.TBitsLossless2 = function(data) { var $x = ["TBitsLossless2",19,data]; $x.__enum__ = format_swf_SWFTag; $x.toString = $estr; return $x; }; format_swf_SWFTag.TBitsJPEG = function(id,data) { var $x = ["TBitsJPEG",20,id,data]; $x.__enum__ = format_swf_SWFTag; $x.toString = $estr; return $x; }; format_swf_SWFTag.TJPEGTables = function(data) { var $x = ["TJPEGTables",21,data]; $x.__enum__ = format_swf_SWFTag; $x.toString = $estr; return $x; }; format_swf_SWFTag.TBinaryData = function(id,data) { var $x = ["TBinaryData",22,id,data]; $x.__enum__ = format_swf_SWFTag; $x.toString = $estr; return $x; }; format_swf_SWFTag.TSound = function(data) { var $x = ["TSound",23,data]; $x.__enum__ = format_swf_SWFTag; $x.toString = $estr; return $x; }; format_swf_SWFTag.TScenes = function(scenes,labels) { var $x = ["TScenes",24,scenes,labels]; $x.__enum__ = format_swf_SWFTag; $x.toString = $estr; return $x; }; format_swf_SWFTag.TUnknown = function(id,data) { var $x = ["TUnknown",25,id,data]; $x.__enum__ = format_swf_SWFTag; $x.toString = $estr; return $x; }; var format_swf_PlaceObject = function() { }; $hxClasses["format.swf.PlaceObject"] = format_swf_PlaceObject; format_swf_PlaceObject.__name__ = ["format","swf","PlaceObject"]; format_swf_PlaceObject.prototype = { depth: null ,move: null ,cid: null ,matrix: null ,color: null ,ratio: null ,instanceName: null ,clipDepth: null ,events: null ,filters: null ,blendMode: null ,bitmapCache: null ,hasImage: null ,className: null ,__class__: format_swf_PlaceObject }; var format_swf_ShapeData = $hxClasses["format.swf.ShapeData"] = { __ename__ : ["format","swf","ShapeData"], __constructs__ : ["SHDShape1","SHDShape2","SHDShape3","SHDShape4"] }; format_swf_ShapeData.SHDShape1 = function(bounds,shapes) { var $x = ["SHDShape1",0,bounds,shapes]; $x.__enum__ = format_swf_ShapeData; $x.toString = $estr; return $x; }; format_swf_ShapeData.SHDShape2 = function(bounds,shapes) { var $x = ["SHDShape2",1,bounds,shapes]; $x.__enum__ = format_swf_ShapeData; $x.toString = $estr; return $x; }; format_swf_ShapeData.SHDShape3 = function(bounds,shapes) { var $x = ["SHDShape3",2,bounds,shapes]; $x.__enum__ = format_swf_ShapeData; $x.toString = $estr; return $x; }; format_swf_ShapeData.SHDShape4 = function(data) { var $x = ["SHDShape4",3,data]; $x.__enum__ = format_swf_ShapeData; $x.toString = $estr; return $x; }; var format_swf_MorphShapeData = $hxClasses["format.swf.MorphShapeData"] = { __ename__ : ["format","swf","MorphShapeData"], __constructs__ : ["MSDShape1","MSDShape2"] }; format_swf_MorphShapeData.MSDShape1 = function(data) { var $x = ["MSDShape1",0,data]; $x.__enum__ = format_swf_MorphShapeData; $x.toString = $estr; return $x; }; format_swf_MorphShapeData.MSDShape2 = function(data) { var $x = ["MSDShape2",1,data]; $x.__enum__ = format_swf_MorphShapeData; $x.toString = $estr; return $x; }; var format_swf_MorphFillStyle = $hxClasses["format.swf.MorphFillStyle"] = { __ename__ : ["format","swf","MorphFillStyle"], __constructs__ : ["MFSSolid","MFSLinearGradient","MFSRadialGradient","MFSBitmap"] }; format_swf_MorphFillStyle.MFSSolid = function(startColor,endColor) { var $x = ["MFSSolid",0,startColor,endColor]; $x.__enum__ = format_swf_MorphFillStyle; $x.toString = $estr; return $x; }; format_swf_MorphFillStyle.MFSLinearGradient = function(startMatrix,endMatrix,gradients) { var $x = ["MFSLinearGradient",1,startMatrix,endMatrix,gradients]; $x.__enum__ = format_swf_MorphFillStyle; $x.toString = $estr; return $x; }; format_swf_MorphFillStyle.MFSRadialGradient = function(startMatrix,endMatrix,gradients) { var $x = ["MFSRadialGradient",2,startMatrix,endMatrix,gradients]; $x.__enum__ = format_swf_MorphFillStyle; $x.toString = $estr; return $x; }; format_swf_MorphFillStyle.MFSBitmap = function(cid,startMatrix,endMatrix,repeat,smooth) { var $x = ["MFSBitmap",3,cid,startMatrix,endMatrix,repeat,smooth]; $x.__enum__ = format_swf_MorphFillStyle; $x.toString = $estr; return $x; }; var format_swf_Morph2LineStyle = $hxClasses["format.swf.Morph2LineStyle"] = { __ename__ : ["format","swf","Morph2LineStyle"], __constructs__ : ["M2LSNoFill","M2LSFill"] }; format_swf_Morph2LineStyle.M2LSNoFill = function(startColor,endColor,data) { var $x = ["M2LSNoFill",0,startColor,endColor,data]; $x.__enum__ = format_swf_Morph2LineStyle; $x.toString = $estr; return $x; }; format_swf_Morph2LineStyle.M2LSFill = function(fill,data) { var $x = ["M2LSFill",1,fill,data]; $x.__enum__ = format_swf_Morph2LineStyle; $x.toString = $estr; return $x; }; var format_swf_ShapeRecord = $hxClasses["format.swf.ShapeRecord"] = { __ename__ : ["format","swf","ShapeRecord"], __constructs__ : ["SHREnd","SHRChange","SHREdge","SHRCurvedEdge"] }; format_swf_ShapeRecord.SHREnd = ["SHREnd",0]; format_swf_ShapeRecord.SHREnd.toString = $estr; format_swf_ShapeRecord.SHREnd.__enum__ = format_swf_ShapeRecord; format_swf_ShapeRecord.SHRChange = function(data) { var $x = ["SHRChange",1,data]; $x.__enum__ = format_swf_ShapeRecord; $x.toString = $estr; return $x; }; format_swf_ShapeRecord.SHREdge = function(dx,dy) { var $x = ["SHREdge",2,dx,dy]; $x.__enum__ = format_swf_ShapeRecord; $x.toString = $estr; return $x; }; format_swf_ShapeRecord.SHRCurvedEdge = function(cdx,cdy,adx,ady) { var $x = ["SHRCurvedEdge",3,cdx,cdy,adx,ady]; $x.__enum__ = format_swf_ShapeRecord; $x.toString = $estr; return $x; }; var format_swf_FillStyle = $hxClasses["format.swf.FillStyle"] = { __ename__ : ["format","swf","FillStyle"], __constructs__ : ["FSSolid","FSSolidAlpha","FSLinearGradient","FSRadialGradient","FSFocalGradient","FSBitmap"] }; format_swf_FillStyle.FSSolid = function(rgb) { var $x = ["FSSolid",0,rgb]; $x.__enum__ = format_swf_FillStyle; $x.toString = $estr; return $x; }; format_swf_FillStyle.FSSolidAlpha = function(rgb) { var $x = ["FSSolidAlpha",1,rgb]; $x.__enum__ = format_swf_FillStyle; $x.toString = $estr; return $x; }; format_swf_FillStyle.FSLinearGradient = function(mat,grad) { var $x = ["FSLinearGradient",2,mat,grad]; $x.__enum__ = format_swf_FillStyle; $x.toString = $estr; return $x; }; format_swf_FillStyle.FSRadialGradient = function(mat,grad) { var $x = ["FSRadialGradient",3,mat,grad]; $x.__enum__ = format_swf_FillStyle; $x.toString = $estr; return $x; }; format_swf_FillStyle.FSFocalGradient = function(mat,grad) { var $x = ["FSFocalGradient",4,mat,grad]; $x.__enum__ = format_swf_FillStyle; $x.toString = $estr; return $x; }; format_swf_FillStyle.FSBitmap = function(cid,mat,repeat,smooth) { var $x = ["FSBitmap",5,cid,mat,repeat,smooth]; $x.__enum__ = format_swf_FillStyle; $x.toString = $estr; return $x; }; var format_swf_LineStyleData = $hxClasses["format.swf.LineStyleData"] = { __ename__ : ["format","swf","LineStyleData"], __constructs__ : ["LSRGB","LSRGBA","LS2"] }; format_swf_LineStyleData.LSRGB = function(rgb) { var $x = ["LSRGB",0,rgb]; $x.__enum__ = format_swf_LineStyleData; $x.toString = $estr; return $x; }; format_swf_LineStyleData.LSRGBA = function(rgba) { var $x = ["LSRGBA",1,rgba]; $x.__enum__ = format_swf_LineStyleData; $x.toString = $estr; return $x; }; format_swf_LineStyleData.LS2 = function(data) { var $x = ["LS2",2,data]; $x.__enum__ = format_swf_LineStyleData; $x.toString = $estr; return $x; }; var format_swf_LineCapStyle = $hxClasses["format.swf.LineCapStyle"] = { __ename__ : ["format","swf","LineCapStyle"], __constructs__ : ["LCRound","LCNone","LCSquare"] }; format_swf_LineCapStyle.LCRound = ["LCRound",0]; format_swf_LineCapStyle.LCRound.toString = $estr; format_swf_LineCapStyle.LCRound.__enum__ = format_swf_LineCapStyle; format_swf_LineCapStyle.LCNone = ["LCNone",1]; format_swf_LineCapStyle.LCNone.toString = $estr; format_swf_LineCapStyle.LCNone.__enum__ = format_swf_LineCapStyle; format_swf_LineCapStyle.LCSquare = ["LCSquare",2]; format_swf_LineCapStyle.LCSquare.toString = $estr; format_swf_LineCapStyle.LCSquare.__enum__ = format_swf_LineCapStyle; var format_swf_LineJoinStyle = $hxClasses["format.swf.LineJoinStyle"] = { __ename__ : ["format","swf","LineJoinStyle"], __constructs__ : ["LJRound","LJBevel","LJMiter"] }; format_swf_LineJoinStyle.LJRound = ["LJRound",0]; format_swf_LineJoinStyle.LJRound.toString = $estr; format_swf_LineJoinStyle.LJRound.__enum__ = format_swf_LineJoinStyle; format_swf_LineJoinStyle.LJBevel = ["LJBevel",1]; format_swf_LineJoinStyle.LJBevel.toString = $estr; format_swf_LineJoinStyle.LJBevel.__enum__ = format_swf_LineJoinStyle; format_swf_LineJoinStyle.LJMiter = function(limitFactor) { var $x = ["LJMiter",2,limitFactor]; $x.__enum__ = format_swf_LineJoinStyle; $x.toString = $estr; return $x; }; var format_swf_LS2Fill = $hxClasses["format.swf.LS2Fill"] = { __ename__ : ["format","swf","LS2Fill"], __constructs__ : ["LS2FColor","LS2FStyle"] }; format_swf_LS2Fill.LS2FColor = function(color) { var $x = ["LS2FColor",0,color]; $x.__enum__ = format_swf_LS2Fill; $x.toString = $estr; return $x; }; format_swf_LS2Fill.LS2FStyle = function(style) { var $x = ["LS2FStyle",1,style]; $x.__enum__ = format_swf_LS2Fill; $x.toString = $estr; return $x; }; var format_swf_GradRecord = $hxClasses["format.swf.GradRecord"] = { __ename__ : ["format","swf","GradRecord"], __constructs__ : ["GRRGB","GRRGBA"] }; format_swf_GradRecord.GRRGB = function(pos,col) { var $x = ["GRRGB",0,pos,col]; $x.__enum__ = format_swf_GradRecord; $x.toString = $estr; return $x; }; format_swf_GradRecord.GRRGBA = function(pos,col) { var $x = ["GRRGBA",1,pos,col]; $x.__enum__ = format_swf_GradRecord; $x.toString = $estr; return $x; }; var format_swf_SpreadMode = $hxClasses["format.swf.SpreadMode"] = { __ename__ : ["format","swf","SpreadMode"], __constructs__ : ["SMPad","SMReflect","SMRepeat","SMReserved"] }; format_swf_SpreadMode.SMPad = ["SMPad",0]; format_swf_SpreadMode.SMPad.toString = $estr; format_swf_SpreadMode.SMPad.__enum__ = format_swf_SpreadMode; format_swf_SpreadMode.SMReflect = ["SMReflect",1]; format_swf_SpreadMode.SMReflect.toString = $estr; format_swf_SpreadMode.SMReflect.__enum__ = format_swf_SpreadMode; format_swf_SpreadMode.SMRepeat = ["SMRepeat",2]; format_swf_SpreadMode.SMRepeat.toString = $estr; format_swf_SpreadMode.SMRepeat.__enum__ = format_swf_SpreadMode; format_swf_SpreadMode.SMReserved = ["SMReserved",3]; format_swf_SpreadMode.SMReserved.toString = $estr; format_swf_SpreadMode.SMReserved.__enum__ = format_swf_SpreadMode; var format_swf_InterpolationMode = $hxClasses["format.swf.InterpolationMode"] = { __ename__ : ["format","swf","InterpolationMode"], __constructs__ : ["IMNormalRGB","IMLinearRGB","IMReserved1","IMReserved2"] }; format_swf_InterpolationMode.IMNormalRGB = ["IMNormalRGB",0]; format_swf_InterpolationMode.IMNormalRGB.toString = $estr; format_swf_InterpolationMode.IMNormalRGB.__enum__ = format_swf_InterpolationMode; format_swf_InterpolationMode.IMLinearRGB = ["IMLinearRGB",1]; format_swf_InterpolationMode.IMLinearRGB.toString = $estr; format_swf_InterpolationMode.IMLinearRGB.__enum__ = format_swf_InterpolationMode; format_swf_InterpolationMode.IMReserved1 = ["IMReserved1",2]; format_swf_InterpolationMode.IMReserved1.toString = $estr; format_swf_InterpolationMode.IMReserved1.__enum__ = format_swf_InterpolationMode; format_swf_InterpolationMode.IMReserved2 = ["IMReserved2",3]; format_swf_InterpolationMode.IMReserved2.toString = $estr; format_swf_InterpolationMode.IMReserved2.__enum__ = format_swf_InterpolationMode; var format_swf_BlendMode = $hxClasses["format.swf.BlendMode"] = { __ename__ : ["format","swf","BlendMode"], __constructs__ : ["BNormal","BLayer","BMultiply","BScreen","BLighten","BDarken","BDifference","BAdd","BSubtract","BInvert","BAlpha","BErase","BOverlay","BHardLight"] }; format_swf_BlendMode.BNormal = ["BNormal",0]; format_swf_BlendMode.BNormal.toString = $estr; format_swf_BlendMode.BNormal.__enum__ = format_swf_BlendMode; format_swf_BlendMode.BLayer = ["BLayer",1]; format_swf_BlendMode.BLayer.toString = $estr; format_swf_BlendMode.BLayer.__enum__ = format_swf_BlendMode; format_swf_BlendMode.BMultiply = ["BMultiply",2]; format_swf_BlendMode.BMultiply.toString = $estr; format_swf_BlendMode.BMultiply.__enum__ = format_swf_BlendMode; format_swf_BlendMode.BScreen = ["BScreen",3]; format_swf_BlendMode.BScreen.toString = $estr; format_swf_BlendMode.BScreen.__enum__ = format_swf_BlendMode; format_swf_BlendMode.BLighten = ["BLighten",4]; format_swf_BlendMode.BLighten.toString = $estr; format_swf_BlendMode.BLighten.__enum__ = format_swf_BlendMode; format_swf_BlendMode.BDarken = ["BDarken",5]; format_swf_BlendMode.BDarken.toString = $estr; format_swf_BlendMode.BDarken.__enum__ = format_swf_BlendMode; format_swf_BlendMode.BDifference = ["BDifference",6]; format_swf_BlendMode.BDifference.toString = $estr; format_swf_BlendMode.BDifference.__enum__ = format_swf_BlendMode; format_swf_BlendMode.BAdd = ["BAdd",7]; format_swf_BlendMode.BAdd.toString = $estr; format_swf_BlendMode.BAdd.__enum__ = format_swf_BlendMode; format_swf_BlendMode.BSubtract = ["BSubtract",8]; format_swf_BlendMode.BSubtract.toString = $estr; format_swf_BlendMode.BSubtract.__enum__ = format_swf_BlendMode; format_swf_BlendMode.BInvert = ["BInvert",9]; format_swf_BlendMode.BInvert.toString = $estr; format_swf_BlendMode.BInvert.__enum__ = format_swf_BlendMode; format_swf_BlendMode.BAlpha = ["BAlpha",10]; format_swf_BlendMode.BAlpha.toString = $estr; format_swf_BlendMode.BAlpha.__enum__ = format_swf_BlendMode; format_swf_BlendMode.BErase = ["BErase",11]; format_swf_BlendMode.BErase.toString = $estr; format_swf_BlendMode.BErase.__enum__ = format_swf_BlendMode; format_swf_BlendMode.BOverlay = ["BOverlay",12]; format_swf_BlendMode.BOverlay.toString = $estr; format_swf_BlendMode.BOverlay.__enum__ = format_swf_BlendMode; format_swf_BlendMode.BHardLight = ["BHardLight",13]; format_swf_BlendMode.BHardLight.toString = $estr; format_swf_BlendMode.BHardLight.__enum__ = format_swf_BlendMode; var format_swf_Filter = $hxClasses["format.swf.Filter"] = { __ename__ : ["format","swf","Filter"], __constructs__ : ["FDropShadow","FBlur","FGlow","FBevel","FGradientGlow","FColorMatrix","FGradientBevel"] }; format_swf_Filter.FDropShadow = function(data) { var $x = ["FDropShadow",0,data]; $x.__enum__ = format_swf_Filter; $x.toString = $estr; return $x; }; format_swf_Filter.FBlur = function(data) { var $x = ["FBlur",1,data]; $x.__enum__ = format_swf_Filter; $x.toString = $estr; return $x; }; format_swf_Filter.FGlow = function(data) { var $x = ["FGlow",2,data]; $x.__enum__ = format_swf_Filter; $x.toString = $estr; return $x; }; format_swf_Filter.FBevel = function(data) { var $x = ["FBevel",3,data]; $x.__enum__ = format_swf_Filter; $x.toString = $estr; return $x; }; format_swf_Filter.FGradientGlow = function(data) { var $x = ["FGradientGlow",4,data]; $x.__enum__ = format_swf_Filter; $x.toString = $estr; return $x; }; format_swf_Filter.FColorMatrix = function(data) { var $x = ["FColorMatrix",5,data]; $x.__enum__ = format_swf_Filter; $x.toString = $estr; return $x; }; format_swf_Filter.FGradientBevel = function(data) { var $x = ["FGradientBevel",6,data]; $x.__enum__ = format_swf_Filter; $x.toString = $estr; return $x; }; var format_swf_JPEGData = $hxClasses["format.swf.JPEGData"] = { __ename__ : ["format","swf","JPEGData"], __constructs__ : ["JDJPEG1","JDJPEG2","JDJPEG3"] }; format_swf_JPEGData.JDJPEG1 = function(data) { var $x = ["JDJPEG1",0,data]; $x.__enum__ = format_swf_JPEGData; $x.toString = $estr; return $x; }; format_swf_JPEGData.JDJPEG2 = function(data) { var $x = ["JDJPEG2",1,data]; $x.__enum__ = format_swf_JPEGData; $x.toString = $estr; return $x; }; format_swf_JPEGData.JDJPEG3 = function(data,mask) { var $x = ["JDJPEG3",2,data,mask]; $x.__enum__ = format_swf_JPEGData; $x.toString = $estr; return $x; }; var format_swf_ColorModel = $hxClasses["format.swf.ColorModel"] = { __ename__ : ["format","swf","ColorModel"], __constructs__ : ["CM8Bits","CM15Bits","CM24Bits","CM32Bits"] }; format_swf_ColorModel.CM8Bits = function(ncolors) { var $x = ["CM8Bits",0,ncolors]; $x.__enum__ = format_swf_ColorModel; $x.toString = $estr; return $x; }; format_swf_ColorModel.CM15Bits = ["CM15Bits",1]; format_swf_ColorModel.CM15Bits.toString = $estr; format_swf_ColorModel.CM15Bits.__enum__ = format_swf_ColorModel; format_swf_ColorModel.CM24Bits = ["CM24Bits",2]; format_swf_ColorModel.CM24Bits.toString = $estr; format_swf_ColorModel.CM24Bits.__enum__ = format_swf_ColorModel; format_swf_ColorModel.CM32Bits = ["CM32Bits",3]; format_swf_ColorModel.CM32Bits.toString = $estr; format_swf_ColorModel.CM32Bits.__enum__ = format_swf_ColorModel; var format_swf_SoundData = $hxClasses["format.swf.SoundData"] = { __ename__ : ["format","swf","SoundData"], __constructs__ : ["SDMp3","SDRaw","SDOther"] }; format_swf_SoundData.SDMp3 = function(seek,data) { var $x = ["SDMp3",0,seek,data]; $x.__enum__ = format_swf_SoundData; $x.toString = $estr; return $x; }; format_swf_SoundData.SDRaw = function(data) { var $x = ["SDRaw",1,data]; $x.__enum__ = format_swf_SoundData; $x.toString = $estr; return $x; }; format_swf_SoundData.SDOther = function(data) { var $x = ["SDOther",2,data]; $x.__enum__ = format_swf_SoundData; $x.toString = $estr; return $x; }; var format_swf_SoundFormat = $hxClasses["format.swf.SoundFormat"] = { __ename__ : ["format","swf","SoundFormat"], __constructs__ : ["SFNativeEndianUncompressed","SFADPCM","SFMP3","SFLittleEndianUncompressed","SFNellymoser16k","SFNellymoser8k","SFNellymoser","SFSpeex"] }; format_swf_SoundFormat.SFNativeEndianUncompressed = ["SFNativeEndianUncompressed",0]; format_swf_SoundFormat.SFNativeEndianUncompressed.toString = $estr; format_swf_SoundFormat.SFNativeEndianUncompressed.__enum__ = format_swf_SoundFormat; format_swf_SoundFormat.SFADPCM = ["SFADPCM",1]; format_swf_SoundFormat.SFADPCM.toString = $estr; format_swf_SoundFormat.SFADPCM.__enum__ = format_swf_SoundFormat; format_swf_SoundFormat.SFMP3 = ["SFMP3",2]; format_swf_SoundFormat.SFMP3.toString = $estr; format_swf_SoundFormat.SFMP3.__enum__ = format_swf_SoundFormat; format_swf_SoundFormat.SFLittleEndianUncompressed = ["SFLittleEndianUncompressed",3]; format_swf_SoundFormat.SFLittleEndianUncompressed.toString = $estr; format_swf_SoundFormat.SFLittleEndianUncompressed.__enum__ = format_swf_SoundFormat; format_swf_SoundFormat.SFNellymoser16k = ["SFNellymoser16k",4]; format_swf_SoundFormat.SFNellymoser16k.toString = $estr; format_swf_SoundFormat.SFNellymoser16k.__enum__ = format_swf_SoundFormat; format_swf_SoundFormat.SFNellymoser8k = ["SFNellymoser8k",5]; format_swf_SoundFormat.SFNellymoser8k.toString = $estr; format_swf_SoundFormat.SFNellymoser8k.__enum__ = format_swf_SoundFormat; format_swf_SoundFormat.SFNellymoser = ["SFNellymoser",6]; format_swf_SoundFormat.SFNellymoser.toString = $estr; format_swf_SoundFormat.SFNellymoser.__enum__ = format_swf_SoundFormat; format_swf_SoundFormat.SFSpeex = ["SFSpeex",7]; format_swf_SoundFormat.SFSpeex.toString = $estr; format_swf_SoundFormat.SFSpeex.__enum__ = format_swf_SoundFormat; var format_swf_SoundRate = $hxClasses["format.swf.SoundRate"] = { __ename__ : ["format","swf","SoundRate"], __constructs__ : ["SR5k","SR11k","SR22k","SR44k"] }; format_swf_SoundRate.SR5k = ["SR5k",0]; format_swf_SoundRate.SR5k.toString = $estr; format_swf_SoundRate.SR5k.__enum__ = format_swf_SoundRate; format_swf_SoundRate.SR11k = ["SR11k",1]; format_swf_SoundRate.SR11k.toString = $estr; format_swf_SoundRate.SR11k.__enum__ = format_swf_SoundRate; format_swf_SoundRate.SR22k = ["SR22k",2]; format_swf_SoundRate.SR22k.toString = $estr; format_swf_SoundRate.SR22k.__enum__ = format_swf_SoundRate; format_swf_SoundRate.SR44k = ["SR44k",3]; format_swf_SoundRate.SR44k.toString = $estr; format_swf_SoundRate.SR44k.__enum__ = format_swf_SoundRate; var format_swf_FontData = $hxClasses["format.swf.FontData"] = { __ename__ : ["format","swf","FontData"], __constructs__ : ["FDFont1","FDFont2","FDFont3"] }; format_swf_FontData.FDFont1 = function(data) { var $x = ["FDFont1",0,data]; $x.__enum__ = format_swf_FontData; $x.toString = $estr; return $x; }; format_swf_FontData.FDFont2 = function(hasWideChars,data) { var $x = ["FDFont2",1,hasWideChars,data]; $x.__enum__ = format_swf_FontData; $x.toString = $estr; return $x; }; format_swf_FontData.FDFont3 = function(data) { var $x = ["FDFont3",2,data]; $x.__enum__ = format_swf_FontData; $x.toString = $estr; return $x; }; var format_swf_FontInfoData = $hxClasses["format.swf.FontInfoData"] = { __ename__ : ["format","swf","FontInfoData"], __constructs__ : ["FIDFont1","FIDFont2"] }; format_swf_FontInfoData.FIDFont1 = function(shiftJIS,isANSI,hasWideCodes,data) { var $x = ["FIDFont1",0,shiftJIS,isANSI,hasWideCodes,data]; $x.__enum__ = format_swf_FontInfoData; $x.toString = $estr; return $x; }; format_swf_FontInfoData.FIDFont2 = function(language,data) { var $x = ["FIDFont2",1,language,data]; $x.__enum__ = format_swf_FontInfoData; $x.toString = $estr; return $x; }; var format_swf_LangCode = $hxClasses["format.swf.LangCode"] = { __ename__ : ["format","swf","LangCode"], __constructs__ : ["LCNone","LCLatin","LCJapanese","LCKorean","LCSimplifiedChinese","LCTraditionalChinese"] }; format_swf_LangCode.LCNone = ["LCNone",0]; format_swf_LangCode.LCNone.toString = $estr; format_swf_LangCode.LCNone.__enum__ = format_swf_LangCode; format_swf_LangCode.LCLatin = ["LCLatin",1]; format_swf_LangCode.LCLatin.toString = $estr; format_swf_LangCode.LCLatin.__enum__ = format_swf_LangCode; format_swf_LangCode.LCJapanese = ["LCJapanese",2]; format_swf_LangCode.LCJapanese.toString = $estr; format_swf_LangCode.LCJapanese.__enum__ = format_swf_LangCode; format_swf_LangCode.LCKorean = ["LCKorean",3]; format_swf_LangCode.LCKorean.toString = $estr; format_swf_LangCode.LCKorean.__enum__ = format_swf_LangCode; format_swf_LangCode.LCSimplifiedChinese = ["LCSimplifiedChinese",4]; format_swf_LangCode.LCSimplifiedChinese.toString = $estr; format_swf_LangCode.LCSimplifiedChinese.__enum__ = format_swf_LangCode; format_swf_LangCode.LCTraditionalChinese = ["LCTraditionalChinese",5]; format_swf_LangCode.LCTraditionalChinese.toString = $estr; format_swf_LangCode.LCTraditionalChinese.__enum__ = format_swf_LangCode; var format_tools_Deflate = function() { }; $hxClasses["format.tools.Deflate"] = format_tools_Deflate; format_tools_Deflate.__name__ = ["format","tools","Deflate"]; format_tools_Deflate.run = function(b,level) { if(level == null) { level = 9; } return haxe_zip_Compress.run(b,level); }; var format_tools_Inflate = function() { }; $hxClasses["format.tools.Inflate"] = format_tools_Inflate; format_tools_Inflate.__name__ = ["format","tools","Inflate"]; format_tools_Inflate.run = function(bytes) { return haxe_zip_Uncompress.run(bytes); }; var haxe_StackItem = $hxClasses["haxe.StackItem"] = { __ename__ : ["haxe","StackItem"], __constructs__ : ["CFunction","Module","FilePos","Method","LocalFunction"] }; haxe_StackItem.CFunction = ["CFunction",0]; haxe_StackItem.CFunction.toString = $estr; haxe_StackItem.CFunction.__enum__ = haxe_StackItem; haxe_StackItem.Module = function(m) { var $x = ["Module",1,m]; $x.__enum__ = haxe_StackItem; $x.toString = $estr; return $x; }; haxe_StackItem.FilePos = function(s,file,line) { var $x = ["FilePos",2,s,file,line]; $x.__enum__ = haxe_StackItem; $x.toString = $estr; return $x; }; haxe_StackItem.Method = function(classname,method) { var $x = ["Method",3,classname,method]; $x.__enum__ = haxe_StackItem; $x.toString = $estr; return $x; }; haxe_StackItem.LocalFunction = function(v) { var $x = ["LocalFunction",4,v]; $x.__enum__ = haxe_StackItem; $x.toString = $estr; return $x; }; var haxe_CallStack = function() { }; $hxClasses["haxe.CallStack"] = haxe_CallStack; haxe_CallStack.__name__ = ["haxe","CallStack"]; haxe_CallStack.lastException = null; haxe_CallStack.getStack = function(e) { if(e == null) { return []; } var oldValue = Error.prepareStackTrace; Error.prepareStackTrace = function(error,callsites) { var stack = []; var _g = 0; while(_g < callsites.length) { var site = callsites[_g]; ++_g; if(haxe_CallStack.wrapCallSite != null) { site = haxe_CallStack.wrapCallSite(site); } var method = null; var fullName = site.getFunctionName(); if(fullName != null) { var idx = fullName.lastIndexOf("."); if(idx >= 0) { var className = HxOverrides.substr(fullName,0,idx); var methodName = HxOverrides.substr(fullName,idx + 1,null); method = haxe_StackItem.Method(className,methodName); } } stack.push(haxe_StackItem.FilePos(method,site.getFileName(),site.getLineNumber())); } return stack; }; var a = haxe_CallStack.makeStack(e.stack); Error.prepareStackTrace = oldValue; return a; }; haxe_CallStack.wrapCallSite = null; haxe_CallStack.callStack = function() { try { throw new Error(); } catch( e ) { haxe_CallStack.lastException = e; if (e instanceof js__$Boot_HaxeError) e = e.val; var a = haxe_CallStack.getStack(e); a.shift(); return a; } }; haxe_CallStack.exceptionStack = function() { return haxe_CallStack.getStack(haxe_CallStack.lastException); }; haxe_CallStack.toString = function(stack) { var b = new StringBuf(); var _g = 0; while(_g < stack.length) { var s = stack[_g]; ++_g; b.b += "\nCalled from "; haxe_CallStack.itemToString(b,s); } return b.b; }; haxe_CallStack.itemToString = function(b,s) { switch(s[1]) { case 0: b.b += "a C function"; break; case 1: var m = s[2]; b.b += "module "; b.b += m == null ? "null" : "" + m; break; case 2: var line = s[4]; var file = s[3]; var s1 = s[2]; if(s1 != null) { haxe_CallStack.itemToString(b,s1); b.b += " ("; } b.b += file == null ? "null" : "" + file; b.b += " line "; b.b += line == null ? "null" : "" + line; if(s1 != null) { b.b += ")"; } break; case 3: var meth = s[3]; var cname = s[2]; b.b += cname == null ? "null" : "" + cname; b.b += "."; b.b += meth == null ? "null" : "" + meth; break; case 4: var n = s[2]; b.b += "local function #"; b.b += n == null ? "null" : "" + n; break; } }; haxe_CallStack.makeStack = function(s) { if(s == null) { return []; } else if(typeof(s) == "string") { var stack = s.split("\n"); if(stack[0] == "Error") { stack.shift(); } var m = []; var rie10 = new EReg("^ at ([A-Za-z0-9_. ]+) \\(([^)]+):([0-9]+):([0-9]+)\\)$",""); var _g = 0; while(_g < stack.length) { var line = stack[_g]; ++_g; if(rie10.match(line)) { var path = rie10.matched(1).split("."); var meth = path.pop(); var file = rie10.matched(2); var line1 = Std.parseInt(rie10.matched(3)); m.push(haxe_StackItem.FilePos(meth == "Anonymous function" ? haxe_StackItem.LocalFunction() : meth == "Global code" ? null : haxe_StackItem.Method(path.join("."),meth),file,line1)); } else { m.push(haxe_StackItem.Module(StringTools.trim(line))); } } return m; } else { return s; } }; var haxe__$Int64__$_$_$Int64 = function(high,low) { this.high = high; this.low = low; }; $hxClasses["haxe._Int64.___Int64"] = haxe__$Int64__$_$_$Int64; haxe__$Int64__$_$_$Int64.__name__ = ["haxe","_Int64","___Int64"]; haxe__$Int64__$_$_$Int64.prototype = { high: null ,low: null ,__class__: haxe__$Int64__$_$_$Int64 }; var haxe_Resource = function() { }; $hxClasses["haxe.Resource"] = haxe_Resource; haxe_Resource.__name__ = ["haxe","Resource"]; haxe_Resource.content = null; haxe_Resource.getString = function(name) { var _g = 0; var _g1 = haxe_Resource.content; while(_g < _g1.length) { var x = _g1[_g]; ++_g; if(x.name == name) { if(x.str != null) { return x.str; } var b = haxe_crypto_Base64.decode(x.data); return b.toString(); } } return null; }; haxe_Resource.getBytes = function(name) { var _g = 0; var _g1 = haxe_Resource.content; while(_g < _g1.length) { var x = _g1[_g]; ++_g; if(x.name == name) { if(x.str != null) { return haxe_io_Bytes.ofString(x.str); } return haxe_crypto_Base64.decode(x.data); } } return null; }; var haxe_Serializer = function() { this.buf = new StringBuf(); this.cache = []; this.useCache = haxe_Serializer.USE_CACHE; this.useEnumIndex = haxe_Serializer.USE_ENUM_INDEX; this.shash = new haxe_ds_StringMap(); this.scount = 0; }; $hxClasses["haxe.Serializer"] = haxe_Serializer; haxe_Serializer.__name__ = ["haxe","Serializer"]; haxe_Serializer.run = function(v) { var s = new haxe_Serializer(); s.serialize(v); return s.toString(); }; haxe_Serializer.prototype = { buf: null ,cache: null ,shash: null ,scount: null ,useCache: null ,useEnumIndex: null ,toString: function() { return this.buf.b; } ,serializeString: function(s) { var _this = this.shash; var x = __map_reserved[s] != null ? _this.getReserved(s) : _this.h[s]; if(x != null) { this.buf.b += "R"; this.buf.b += x == null ? "null" : "" + x; return; } var _this1 = this.shash; var value = this.scount++; if(__map_reserved[s] != null) { _this1.setReserved(s,value); } else { _this1.h[s] = value; } this.buf.b += "y"; s = encodeURIComponent(s); this.buf.b += Std.string(s.length); this.buf.b += ":"; this.buf.b += s == null ? "null" : "" + s; } ,serializeRef: function(v) { var vt = typeof(v); var _g1 = 0; var _g = this.cache.length; while(_g1 < _g) { var i = _g1++; var ci = this.cache[i]; if(typeof(ci) == vt && ci == v) { this.buf.b += "r"; this.buf.b += i == null ? "null" : "" + i; return true; } } this.cache.push(v); return false; } ,serializeFields: function(v) { var _g = 0; var _g1 = Reflect.fields(v); while(_g < _g1.length) { var f = _g1[_g]; ++_g; this.serializeString(f); this.serialize(Reflect.field(v,f)); } this.buf.b += "g"; } ,serialize: function(v) { var _g = Type["typeof"](v); switch(_g[1]) { case 0: this.buf.b += "n"; break; case 1: var v1 = v; if(v1 == 0) { this.buf.b += "z"; return; } this.buf.b += "i"; this.buf.b += v1 == null ? "null" : "" + v1; break; case 2: var v2 = v; if(isNaN(v2)) { this.buf.b += "k"; } else if(!isFinite(v2)) { this.buf.b += v2 < 0 ? "m" : "p"; } else { this.buf.b += "d"; this.buf.b += v2 == null ? "null" : "" + v2; } break; case 3: this.buf.b += v ? "t" : "f"; break; case 4: if(js_Boot.__instanceof(v,Class)) { var className = Type.getClassName(v); this.buf.b += "A"; this.serializeString(className); } else if(js_Boot.__instanceof(v,Enum)) { this.buf.b += "B"; this.serializeString(Type.getEnumName(v)); } else { if(this.useCache && this.serializeRef(v)) { return; } this.buf.b += "o"; this.serializeFields(v); } break; case 5: throw new js__$Boot_HaxeError("Cannot serialize function"); break; case 6: var c = _g[2]; if(c == String) { this.serializeString(v); return; } if(this.useCache && this.serializeRef(v)) { return; } switch(c) { case Array: var ucount = 0; this.buf.b += "a"; var l = v["length"]; var _g1 = 0; var _g2 = l; while(_g1 < _g2) { var i = _g1++; if(v[i] == null) { ++ucount; } else { if(ucount > 0) { if(ucount == 1) { this.buf.b += "n"; } else { this.buf.b += "u"; this.buf.b += ucount == null ? "null" : "" + ucount; } ucount = 0; } this.serialize(v[i]); } } if(ucount > 0) { if(ucount == 1) { this.buf.b += "n"; } else { this.buf.b += "u"; this.buf.b += ucount == null ? "null" : "" + ucount; } } this.buf.b += "h"; break; case Date: var d = v; this.buf.b += "v"; this.buf.b += Std.string(d.getTime()); break; case List: this.buf.b += "l"; var v3 = v; var _g_head = v3.h; while(_g_head != null) { var val = _g_head.item; _g_head = _g_head.next; var i1 = val; this.serialize(i1); } this.buf.b += "h"; break; case haxe_ds_IntMap: this.buf.b += "q"; var v4 = v; var k = v4.keys(); while(k.hasNext()) { var k1 = k.next(); this.buf.b += ":"; this.buf.b += k1 == null ? "null" : "" + k1; this.serialize(v4.h[k1]); } this.buf.b += "h"; break; case haxe_ds_ObjectMap: this.buf.b += "M"; var v5 = v; var k2 = v5.keys(); while(k2.hasNext()) { var k3 = k2.next(); var id = Reflect.field(k3,"__id__"); Reflect.deleteField(k3,"__id__"); this.serialize(k3); k3["__id__"] = id; this.serialize(v5.h[k3.__id__]); } this.buf.b += "h"; break; case haxe_ds_StringMap: this.buf.b += "b"; var v6 = v; var k4 = v6.keys(); while(k4.hasNext()) { var k5 = k4.next(); this.serializeString(k5); this.serialize(__map_reserved[k5] != null ? v6.getReserved(k5) : v6.h[k5]); } this.buf.b += "h"; break; case haxe_io_Bytes: var v7 = v; this.buf.b += "s"; this.buf.b += Std.string(Math.ceil(v7.length * 8 / 6)); this.buf.b += ":"; var i2 = 0; var max = v7.length - 2; var b64 = haxe_Serializer.BASE64_CODES; if(b64 == null) { var length = haxe_Serializer.BASE64.length; var this1 = new Array(length); b64 = this1; var _g11 = 0; var _g3 = haxe_Serializer.BASE64.length; while(_g11 < _g3) { var i3 = _g11++; b64[i3] = HxOverrides.cca(haxe_Serializer.BASE64,i3); } haxe_Serializer.BASE64_CODES = b64; } while(i2 < max) { var b1 = v7.b[i2++]; var b2 = v7.b[i2++]; var b3 = v7.b[i2++]; this.buf.b += String.fromCharCode(b64[b1 >> 2]); this.buf.b += String.fromCharCode(b64[(b1 << 4 | b2 >> 4) & 63]); this.buf.b += String.fromCharCode(b64[(b2 << 2 | b3 >> 6) & 63]); this.buf.b += String.fromCharCode(b64[b3 & 63]); } if(i2 == max) { var b11 = v7.b[i2++]; var b21 = v7.b[i2++]; this.buf.b += String.fromCharCode(b64[b11 >> 2]); this.buf.b += String.fromCharCode(b64[(b11 << 4 | b21 >> 4) & 63]); this.buf.b += String.fromCharCode(b64[b21 << 2 & 63]); } else if(i2 == max + 1) { var b12 = v7.b[i2++]; this.buf.b += String.fromCharCode(b64[b12 >> 2]); this.buf.b += String.fromCharCode(b64[b12 << 4 & 63]); } break; default: if(this.useCache) { this.cache.pop(); } if(v.hxSerialize != null) { this.buf.b += "C"; this.serializeString(Type.getClassName(c)); if(this.useCache) { this.cache.push(v); } v.hxSerialize(this); this.buf.b += "g"; } else { this.buf.b += "c"; this.serializeString(Type.getClassName(c)); if(this.useCache) { this.cache.push(v); } this.serializeFields(v); } } break; case 7: var e = _g[2]; if(this.useCache) { if(this.serializeRef(v)) { return; } this.cache.pop(); } this.buf.b += Std.string(this.useEnumIndex ? "j" : "w"); this.serializeString(Type.getEnumName(e)); if(this.useEnumIndex) { this.buf.b += ":"; this.buf.b += Std.string(v[1]); } else { this.serializeString(v[0]); } this.buf.b += ":"; var l1 = v["length"]; this.buf.b += Std.string(l1 - 2); var _g12 = 2; var _g4 = l1; while(_g12 < _g4) { var i4 = _g12++; this.serialize(v[i4]); } if(this.useCache) { this.cache.push(v); } break; default: throw new js__$Boot_HaxeError("Cannot serialize " + Std.string(v)); } } ,__class__: haxe_Serializer }; var haxe_Timer = function(time_ms) { var me = this; this.id = setInterval(function() { me.run(); },time_ms); }; $hxClasses["haxe.Timer"] = haxe_Timer; haxe_Timer.__name__ = ["haxe","Timer"]; haxe_Timer.delay = function(f,time_ms) { var t = new haxe_Timer(time_ms); t.run = function() { t.stop(); f(); }; return t; }; haxe_Timer.measure = function(f,pos) { var t0 = new Date().getTime() / 1000; var r = f(); haxe_Log.trace(new Date().getTime() / 1000 - t0 + "s",pos); return r; }; haxe_Timer.stamp = function() { return new Date().getTime() / 1000; }; haxe_Timer.prototype = { id: null ,stop: function() { if(this.id == null) { return; } clearInterval(this.id); this.id = null; } ,run: function() { } ,__class__: haxe_Timer }; var haxe__$Unserializer_DefaultResolver = function() { }; $hxClasses["haxe._Unserializer.DefaultResolver"] = haxe__$Unserializer_DefaultResolver; haxe__$Unserializer_DefaultResolver.__name__ = ["haxe","_Unserializer","DefaultResolver"]; haxe__$Unserializer_DefaultResolver.prototype = { resolveClass: function(name) { return Type.resolveClass(name); } ,resolveEnum: function(name) { return Type.resolveEnum(name); } ,__class__: haxe__$Unserializer_DefaultResolver }; var haxe_Unserializer = function(buf) { this.buf = buf; this.length = buf.length; this.pos = 0; this.scache = []; this.cache = []; var r = haxe_Unserializer.DEFAULT_RESOLVER; if(r == null) { r = new haxe__$Unserializer_DefaultResolver(); haxe_Unserializer.DEFAULT_RESOLVER = r; } this.resolver = r; }; $hxClasses["haxe.Unserializer"] = haxe_Unserializer; haxe_Unserializer.__name__ = ["haxe","Unserializer"]; haxe_Unserializer.initCodes = function() { var codes = []; var _g1 = 0; var _g = haxe_Unserializer.BASE64.length; while(_g1 < _g) { var i = _g1++; codes[haxe_Unserializer.BASE64.charCodeAt(i)] = i; } return codes; }; haxe_Unserializer.run = function(v) { return new haxe_Unserializer(v).unserialize(); }; haxe_Unserializer.prototype = { buf: null ,pos: null ,length: null ,cache: null ,scache: null ,resolver: null ,setResolver: function(r) { if(r == null) { if(haxe__$Unserializer_NullResolver.instance == null) { haxe__$Unserializer_NullResolver.instance = new haxe__$Unserializer_NullResolver(); } this.resolver = haxe__$Unserializer_NullResolver.instance; } else { this.resolver = r; } } ,readDigits: function() { var k = 0; var s = false; var fpos = this.pos; while(true) { var c = this.buf.charCodeAt(this.pos); if(c != c) { break; } if(c == 45) { if(this.pos != fpos) { break; } s = true; this.pos++; continue; } if(c < 48 || c > 57) { break; } k = k * 10 + (c - 48); this.pos++; } if(s) { k *= -1; } return k; } ,readFloat: function() { var p1 = this.pos; while(true) { var c = this.buf.charCodeAt(this.pos); if(c != c) { break; } if(c >= 43 && c < 58 || c == 101 || c == 69) { this.pos++; } else { break; } } return parseFloat(HxOverrides.substr(this.buf,p1,this.pos - p1)); } ,unserializeObject: function(o) { while(true) { if(this.pos >= this.length) { throw new js__$Boot_HaxeError("Invalid object"); } if(this.buf.charCodeAt(this.pos) == 103) { break; } var k = this.unserialize(); if(typeof(k) != "string") { throw new js__$Boot_HaxeError("Invalid object key"); } var v = this.unserialize(); o[k] = v; } this.pos++; } ,unserializeEnum: function(edecl,tag) { if(this.buf.charCodeAt(this.pos++) != 58) { throw new js__$Boot_HaxeError("Invalid enum format"); } var nargs = this.readDigits(); if(nargs == 0) { return Type.createEnum(edecl,tag); } var args = []; while(nargs-- > 0) args.push(this.unserialize()); return Type.createEnum(edecl,tag,args); } ,unserialize: function() { var _g = this.buf.charCodeAt(this.pos++); switch(_g) { case 65: var name = this.unserialize(); var cl = this.resolver.resolveClass(name); if(cl == null) { throw new js__$Boot_HaxeError("Class not found " + name); } return cl; case 66: var name1 = this.unserialize(); var e = this.resolver.resolveEnum(name1); if(e == null) { throw new js__$Boot_HaxeError("Enum not found " + name1); } return e; case 67: var name2 = this.unserialize(); var cl1 = this.resolver.resolveClass(name2); if(cl1 == null) { throw new js__$Boot_HaxeError("Class not found " + name2); } var o = Type.createEmptyInstance(cl1); this.cache.push(o); o.hxUnserialize(this); if(this.buf.charCodeAt(this.pos++) != 103) { throw new js__$Boot_HaxeError("Invalid custom data"); } return o; case 77: var h = new haxe_ds_ObjectMap(); this.cache.push(h); var buf = this.buf; while(this.buf.charCodeAt(this.pos) != 104) { var s = this.unserialize(); h.set(s,this.unserialize()); } this.pos++; return h; case 82: var n = this.readDigits(); if(n < 0 || n >= this.scache.length) { throw new js__$Boot_HaxeError("Invalid string reference"); } return this.scache[n]; case 97: var buf1 = this.buf; var a = []; this.cache.push(a); while(true) { var c = this.buf.charCodeAt(this.pos); if(c == 104) { this.pos++; break; } if(c == 117) { this.pos++; var n1 = this.readDigits(); a[a.length + n1 - 1] = null; } else { a.push(this.unserialize()); } } return a; case 98: var h1 = new haxe_ds_StringMap(); this.cache.push(h1); var buf2 = this.buf; while(this.buf.charCodeAt(this.pos) != 104) { var s1 = this.unserialize(); var value = this.unserialize(); if(__map_reserved[s1] != null) { h1.setReserved(s1,value); } else { h1.h[s1] = value; } } this.pos++; return h1; case 99: var name3 = this.unserialize(); var cl2 = this.resolver.resolveClass(name3); if(cl2 == null) { throw new js__$Boot_HaxeError("Class not found " + name3); } var o1 = Type.createEmptyInstance(cl2); this.cache.push(o1); this.unserializeObject(o1); return o1; case 100: return this.readFloat(); case 102: return false; case 105: return this.readDigits(); case 106: var name4 = this.unserialize(); var edecl = this.resolver.resolveEnum(name4); if(edecl == null) { throw new js__$Boot_HaxeError("Enum not found " + name4); } this.pos++; var index = this.readDigits(); var tag = edecl.__constructs__.slice()[index]; if(tag == null) { throw new js__$Boot_HaxeError("Unknown enum index " + name4 + "@" + index); } var e1 = this.unserializeEnum(edecl,tag); this.cache.push(e1); return e1; case 107: return NaN; case 108: var l = new List(); this.cache.push(l); var buf3 = this.buf; while(this.buf.charCodeAt(this.pos) != 104) l.add(this.unserialize()); this.pos++; return l; case 109: return -Infinity; case 110: return null; case 111: var o2 = { }; this.cache.push(o2); this.unserializeObject(o2); return o2; case 112: return Infinity; case 113: var h2 = new haxe_ds_IntMap(); this.cache.push(h2); var buf4 = this.buf; var c1 = this.buf.charCodeAt(this.pos++); while(c1 == 58) { var i = this.readDigits(); var value1 = this.unserialize(); h2.h[i] = value1; c1 = this.buf.charCodeAt(this.pos++); } if(c1 != 104) { throw new js__$Boot_HaxeError("Invalid IntMap format"); } return h2; case 114: var n2 = this.readDigits(); if(n2 < 0 || n2 >= this.cache.length) { throw new js__$Boot_HaxeError("Invalid reference"); } return this.cache[n2]; case 115: var len = this.readDigits(); var buf5 = this.buf; if(this.buf.charCodeAt(this.pos++) != 58 || this.length - this.pos < len) { throw new js__$Boot_HaxeError("Invalid bytes length"); } var codes = haxe_Unserializer.CODES; if(codes == null) { codes = haxe_Unserializer.initCodes(); haxe_Unserializer.CODES = codes; } var i1 = this.pos; var rest = len & 3; var size = (len >> 2) * 3 + (rest >= 2 ? rest - 1 : 0); var max = i1 + (len - rest); var bytes = new haxe_io_Bytes(new ArrayBuffer(size)); var bpos = 0; while(i1 < max) { var c11 = codes[buf5.charCodeAt(i1++)]; var c2 = codes[buf5.charCodeAt(i1++)]; bytes.b[bpos++] = (c11 << 2 | c2 >> 4) & 255; var c3 = codes[buf5.charCodeAt(i1++)]; bytes.b[bpos++] = (c2 << 4 | c3 >> 2) & 255; var c4 = codes[buf5.charCodeAt(i1++)]; bytes.b[bpos++] = (c3 << 6 | c4) & 255; } if(rest >= 2) { var c12 = codes[buf5.charCodeAt(i1++)]; var c21 = codes[buf5.charCodeAt(i1++)]; bytes.b[bpos++] = (c12 << 2 | c21 >> 4) & 255; if(rest == 3) { var c31 = codes[buf5.charCodeAt(i1++)]; bytes.b[bpos++] = (c21 << 4 | c31 >> 2) & 255; } } this.pos += len; this.cache.push(bytes); return bytes; case 116: return true; case 118: var d; if(this.buf.charCodeAt(this.pos) >= 48 && this.buf.charCodeAt(this.pos) <= 57 && this.buf.charCodeAt(this.pos + 1) >= 48 && this.buf.charCodeAt(this.pos + 1) <= 57 && this.buf.charCodeAt(this.pos + 2) >= 48 && this.buf.charCodeAt(this.pos + 2) <= 57 && this.buf.charCodeAt(this.pos + 3) >= 48 && this.buf.charCodeAt(this.pos + 3) <= 57 && this.buf.charCodeAt(this.pos + 4) == 45) { d = HxOverrides.strDate(HxOverrides.substr(this.buf,this.pos,19)); this.pos += 19; } else { var t = this.readFloat(); d = new Date(t); } this.cache.push(d); return d; case 119: var name5 = this.unserialize(); var edecl1 = this.resolver.resolveEnum(name5); if(edecl1 == null) { throw new js__$Boot_HaxeError("Enum not found " + name5); } var e2 = this.unserializeEnum(edecl1,this.unserialize()); this.cache.push(e2); return e2; case 120: throw js__$Boot_HaxeError.wrap(this.unserialize()); break; case 121: var len1 = this.readDigits(); if(this.buf.charCodeAt(this.pos++) != 58 || this.length - this.pos < len1) { throw new js__$Boot_HaxeError("Invalid string length"); } var s2 = HxOverrides.substr(this.buf,this.pos,len1); this.pos += len1; s2 = decodeURIComponent(s2.split("+").join(" ")); this.scache.push(s2); return s2; case 122: return 0; default: } this.pos--; throw new js__$Boot_HaxeError("Invalid char " + this.buf.charAt(this.pos) + " at position " + this.pos); } ,__class__: haxe_Unserializer }; var haxe__$Unserializer_NullResolver = function() { }; $hxClasses["haxe._Unserializer.NullResolver"] = haxe__$Unserializer_NullResolver; haxe__$Unserializer_NullResolver.__name__ = ["haxe","_Unserializer","NullResolver"]; haxe__$Unserializer_NullResolver.instance = null; haxe__$Unserializer_NullResolver.prototype = { resolveClass: function(name) { return null; } ,resolveEnum: function(name) { return null; } ,__class__: haxe__$Unserializer_NullResolver }; var haxe_Utf8 = function(size) { this.__b = ""; }; $hxClasses["haxe.Utf8"] = haxe_Utf8; haxe_Utf8.__name__ = ["haxe","Utf8"]; haxe_Utf8.compare = function(a,b) { if(a > b) { return 1; } else if(a == b) { return 0; } else { return -1; } }; haxe_Utf8.prototype = { __b: null ,__class__: haxe_Utf8 }; var haxe_crypto_Adler32 = function() { this.a1 = 1; this.a2 = 0; }; $hxClasses["haxe.crypto.Adler32"] = haxe_crypto_Adler32; haxe_crypto_Adler32.__name__ = ["haxe","crypto","Adler32"]; haxe_crypto_Adler32.read = function(i) { var a = new haxe_crypto_Adler32(); var a2a = i.readByte(); var a2b = i.readByte(); var a1a = i.readByte(); var a1b = i.readByte(); a.a1 = a1a << 8 | a1b; a.a2 = a2a << 8 | a2b; return a; }; haxe_crypto_Adler32.prototype = { a1: null ,a2: null ,update: function(b,pos,len) { var a1 = this.a1; var a2 = this.a2; var _g1 = pos; var _g = pos + len; while(_g1 < _g) { var p = _g1++; var c = b.b[p]; a1 = (a1 + c) % 65521; a2 = (a2 + a1) % 65521; } this.a1 = a1; this.a2 = a2; } ,equals: function(a) { if(a.a1 == this.a1) { return a.a2 == this.a2; } else { return false; } } ,__class__: haxe_crypto_Adler32 }; var haxe_crypto_Base64 = function() { }; $hxClasses["haxe.crypto.Base64"] = haxe_crypto_Base64; haxe_crypto_Base64.__name__ = ["haxe","crypto","Base64"]; haxe_crypto_Base64.encode = function(bytes,complement) { if(complement == null) { complement = true; } var str = new haxe_crypto_BaseCode(haxe_crypto_Base64.BYTES).encodeBytes(bytes).toString(); if(complement) { var _g = bytes.length % 3; switch(_g) { case 1: str += "=="; break; case 2: str += "="; break; default: } } return str; }; haxe_crypto_Base64.decode = function(str,complement) { if(complement == null) { complement = true; } if(complement) { while(HxOverrides.cca(str,str.length - 1) == 61) str = HxOverrides.substr(str,0,-1); } return new haxe_crypto_BaseCode(haxe_crypto_Base64.BYTES).decodeBytes(haxe_io_Bytes.ofString(str)); }; var haxe_crypto_BaseCode = function(base) { var len = base.length; var nbits = 1; while(len > 1 << nbits) ++nbits; if(nbits > 8 || len != 1 << nbits) { throw new js__$Boot_HaxeError("BaseCode : base length must be a power of two."); } this.base = base; this.nbits = nbits; }; $hxClasses["haxe.crypto.BaseCode"] = haxe_crypto_BaseCode; haxe_crypto_BaseCode.__name__ = ["haxe","crypto","BaseCode"]; haxe_crypto_BaseCode.prototype = { base: null ,nbits: null ,tbl: null ,encodeBytes: function(b) { var nbits = this.nbits; var base = this.base; var size = b.length * 8 / nbits | 0; var out = new haxe_io_Bytes(new ArrayBuffer(size + (b.length * 8 % nbits == 0 ? 0 : 1))); var buf = 0; var curbits = 0; var mask = (1 << nbits) - 1; var pin = 0; var pout = 0; while(pout < size) { while(curbits < nbits) { curbits += 8; buf <<= 8; buf |= b.b[pin++]; } curbits -= nbits; out.b[pout++] = base.b[buf >> curbits & mask] & 255; } if(curbits > 0) { out.b[pout++] = base.b[buf << nbits - curbits & mask] & 255; } return out; } ,initTable: function() { var tbl = []; var _g = 0; while(_g < 256) { var i = _g++; tbl[i] = -1; } var _g1 = 0; var _g2 = this.base.length; while(_g1 < _g2) { var i1 = _g1++; tbl[this.base.b[i1]] = i1; } this.tbl = tbl; } ,decodeBytes: function(b) { var nbits = this.nbits; var base = this.base; if(this.tbl == null) { this.initTable(); } var tbl = this.tbl; var size = b.length * nbits >> 3; var out = new haxe_io_Bytes(new ArrayBuffer(size)); var buf = 0; var curbits = 0; var pin = 0; var pout = 0; while(pout < size) { while(curbits < 8) { curbits += nbits; buf <<= nbits; var i = tbl[b.b[pin++]]; if(i == -1) { throw new js__$Boot_HaxeError("BaseCode : invalid encoded char"); } buf |= i; } curbits -= 8; out.b[pout++] = buf >> curbits & 255 & 255; } return out; } ,__class__: haxe_crypto_BaseCode }; var haxe_crypto_Crc32 = function() { this.crc = -1; }; $hxClasses["haxe.crypto.Crc32"] = haxe_crypto_Crc32; haxe_crypto_Crc32.__name__ = ["haxe","crypto","Crc32"]; haxe_crypto_Crc32.prototype = { crc: null ,'byte': function(b) { var tmp = (this.crc ^ b) & 255; var _g = 0; while(_g < 8) { var j = _g++; if((tmp & 1) == 1) { tmp = tmp >>> 1 ^ -306674912; } else { tmp >>>= 1; } } this.crc = this.crc >>> 8 ^ tmp; } ,update: function(b,pos,len) { var b1 = b.b.bufferValue; var _g1 = pos; var _g = pos + len; while(_g1 < _g) { var i = _g1++; var tmp = (this.crc ^ b1.bytes[i]) & 255; var _g2 = 0; while(_g2 < 8) { var j = _g2++; if((tmp & 1) == 1) { tmp = tmp >>> 1 ^ -306674912; } else { tmp >>>= 1; } } this.crc = this.crc >>> 8 ^ tmp; } } ,get: function() { return this.crc ^ -1; } ,__class__: haxe_crypto_Crc32 }; var haxe_ds_ArraySort = function() { }; $hxClasses["haxe.ds.ArraySort"] = haxe_ds_ArraySort; haxe_ds_ArraySort.__name__ = ["haxe","ds","ArraySort"]; haxe_ds_ArraySort.sort = function(a,cmp) { haxe_ds_ArraySort.rec(a,cmp,0,a.length); }; haxe_ds_ArraySort.rec = function(a,cmp,from,to) { var middle = from + to >> 1; if(to - from < 12) { if(to <= from) { return; } var _g1 = from + 1; var _g = to; while(_g1 < _g) { var i = _g1++; var j = i; while(j > from) { if(cmp(a[j],a[j - 1]) < 0) { haxe_ds_ArraySort.swap(a,j - 1,j); } else { break; } --j; } } return; } haxe_ds_ArraySort.rec(a,cmp,from,middle); haxe_ds_ArraySort.rec(a,cmp,middle,to); haxe_ds_ArraySort.doMerge(a,cmp,from,middle,to,middle - from,to - middle); }; haxe_ds_ArraySort.doMerge = function(a,cmp,from,pivot,to,len1,len2) { var first_cut; var second_cut; var len11; var len22; var new_mid; if(len1 == 0 || len2 == 0) { return; } if(len1 + len2 == 2) { if(cmp(a[pivot],a[from]) < 0) { haxe_ds_ArraySort.swap(a,pivot,from); } return; } if(len1 > len2) { len11 = len1 >> 1; first_cut = from + len11; second_cut = haxe_ds_ArraySort.lower(a,cmp,pivot,to,first_cut); len22 = second_cut - pivot; } else { len22 = len2 >> 1; second_cut = pivot + len22; first_cut = haxe_ds_ArraySort.upper(a,cmp,from,pivot,second_cut); len11 = first_cut - from; } haxe_ds_ArraySort.rotate(a,cmp,first_cut,pivot,second_cut); new_mid = first_cut + len22; haxe_ds_ArraySort.doMerge(a,cmp,from,first_cut,new_mid,len11,len22); haxe_ds_ArraySort.doMerge(a,cmp,new_mid,second_cut,to,len1 - len11,len2 - len22); }; haxe_ds_ArraySort.rotate = function(a,cmp,from,mid,to) { var n; if(from == mid || mid == to) { return; } n = haxe_ds_ArraySort.gcd(to - from,mid - from); while(n-- != 0) { var val = a[from + n]; var shift = mid - from; var p1 = from + n; var p2 = from + n + shift; while(p2 != from + n) { a[p1] = a[p2]; p1 = p2; if(to - p2 > shift) { p2 += shift; } else { p2 = from + (shift - (to - p2)); } } a[p1] = val; } }; haxe_ds_ArraySort.gcd = function(m,n) { while(n != 0) { var t = m % n; m = n; n = t; } return m; }; haxe_ds_ArraySort.upper = function(a,cmp,from,to,val) { var len = to - from; var half; var mid; while(len > 0) { half = len >> 1; mid = from + half; if(cmp(a[val],a[mid]) < 0) { len = half; } else { from = mid + 1; len = len - half - 1; } } return from; }; haxe_ds_ArraySort.lower = function(a,cmp,from,to,val) { var len = to - from; var half; var mid; while(len > 0) { half = len >> 1; mid = from + half; if(cmp(a[mid],a[val]) < 0) { from = mid + 1; len = len - half - 1; } else { len = half; } } return from; }; haxe_ds_ArraySort.swap = function(a,i,j) { var tmp = a[i]; a[i] = a[j]; a[j] = tmp; }; var haxe_ds_BalancedTree = function() { }; $hxClasses["haxe.ds.BalancedTree"] = haxe_ds_BalancedTree; haxe_ds_BalancedTree.__name__ = ["haxe","ds","BalancedTree"]; haxe_ds_BalancedTree.prototype = { root: null ,set: function(key,value) { this.root = this.setLoop(key,value,this.root); } ,get: function(key) { var node = this.root; while(node != null) { var c = this.compare(key,node.key); if(c == 0) { return node.value; } if(c < 0) { node = node.left; } else { node = node.right; } } return null; } ,remove: function(key) { try { this.root = this.removeLoop(key,this.root); return true; } catch( e ) { haxe_CallStack.lastException = e; if (e instanceof js__$Boot_HaxeError) e = e.val; if( js_Boot.__instanceof(e,String) ) { return false; } else throw(e); } } ,exists: function(key) { var node = this.root; while(node != null) { var c = this.compare(key,node.key); if(c == 0) { return true; } else if(c < 0) { node = node.left; } else { node = node.right; } } return false; } ,iterator: function() { var ret = []; this.iteratorLoop(this.root,ret); return HxOverrides.iter(ret); } ,keys: function() { var ret = []; this.keysLoop(this.root,ret); return HxOverrides.iter(ret); } ,setLoop: function(k,v,node) { if(node == null) { return new haxe_ds_TreeNode(null,k,v,null); } var c = this.compare(k,node.key); if(c == 0) { return new haxe_ds_TreeNode(node.left,k,v,node.right,node == null ? 0 : node._height); } else if(c < 0) { var nl = this.setLoop(k,v,node.left); return this.balance(nl,node.key,node.value,node.right); } else { var nr = this.setLoop(k,v,node.right); return this.balance(node.left,node.key,node.value,nr); } } ,removeLoop: function(k,node) { if(node == null) { throw new js__$Boot_HaxeError("Not_found"); } var c = this.compare(k,node.key); if(c == 0) { return this.merge(node.left,node.right); } else if(c < 0) { return this.balance(this.removeLoop(k,node.left),node.key,node.value,node.right); } else { return this.balance(node.left,node.key,node.value,this.removeLoop(k,node.right)); } } ,iteratorLoop: function(node,acc) { if(node != null) { this.iteratorLoop(node.left,acc); acc.push(node.value); this.iteratorLoop(node.right,acc); } } ,keysLoop: function(node,acc) { if(node != null) { this.keysLoop(node.left,acc); acc.push(node.key); this.keysLoop(node.right,acc); } } ,merge: function(t1,t2) { if(t1 == null) { return t2; } if(t2 == null) { return t1; } var t = this.minBinding(t2); return this.balance(t1,t.key,t.value,this.removeMinBinding(t2)); } ,minBinding: function(t) { if(t == null) { throw new js__$Boot_HaxeError("Not_found"); } else if(t.left == null) { return t; } else { return this.minBinding(t.left); } } ,removeMinBinding: function(t) { if(t.left == null) { return t.right; } else { return this.balance(this.removeMinBinding(t.left),t.key,t.value,t.right); } } ,balance: function(l,k,v,r) { var hl = l == null ? 0 : l._height; var hr = r == null ? 0 : r._height; if(hl > hr + 2) { var _this = l.left; var _this1 = l.right; if((_this == null ? 0 : _this._height) >= (_this1 == null ? 0 : _this1._height)) { return new haxe_ds_TreeNode(l.left,l.key,l.value,new haxe_ds_TreeNode(l.right,k,v,r)); } else { return new haxe_ds_TreeNode(new haxe_ds_TreeNode(l.left,l.key,l.value,l.right.left),l.right.key,l.right.value,new haxe_ds_TreeNode(l.right.right,k,v,r)); } } else if(hr > hl + 2) { var _this2 = r.right; var _this3 = r.left; if((_this2 == null ? 0 : _this2._height) > (_this3 == null ? 0 : _this3._height)) { return new haxe_ds_TreeNode(new haxe_ds_TreeNode(l,k,v,r.left),r.key,r.value,r.right); } else { return new haxe_ds_TreeNode(new haxe_ds_TreeNode(l,k,v,r.left.left),r.left.key,r.left.value,new haxe_ds_TreeNode(r.left.right,r.key,r.value,r.right)); } } else { return new haxe_ds_TreeNode(l,k,v,r,(hl > hr ? hl : hr) + 1); } } ,compare: function(k1,k2) { return Reflect.compare(k1,k2); } ,__class__: haxe_ds_BalancedTree }; var haxe_ds_TreeNode = function(l,k,v,r,h) { if(h == null) { h = -1; } this.left = l; this.key = k; this.value = v; this.right = r; if(h == -1) { var tmp; var _this = this.left; var _this1 = this.right; if((_this == null ? 0 : _this._height) > (_this1 == null ? 0 : _this1._height)) { var _this2 = this.left; if(_this2 == null) { tmp = 0; } else { tmp = _this2._height; } } else { var _this3 = this.right; if(_this3 == null) { tmp = 0; } else { tmp = _this3._height; } } this._height = tmp + 1; } else { this._height = h; } }; $hxClasses["haxe.ds.TreeNode"] = haxe_ds_TreeNode; haxe_ds_TreeNode.__name__ = ["haxe","ds","TreeNode"]; haxe_ds_TreeNode.prototype = { left: null ,right: null ,key: null ,value: null ,_height: null ,__class__: haxe_ds_TreeNode }; var haxe_ds_EnumValueMap = function() { haxe_ds_BalancedTree.call(this); }; $hxClasses["haxe.ds.EnumValueMap"] = haxe_ds_EnumValueMap; haxe_ds_EnumValueMap.__name__ = ["haxe","ds","EnumValueMap"]; haxe_ds_EnumValueMap.__interfaces__ = [haxe_IMap]; haxe_ds_EnumValueMap.__super__ = haxe_ds_BalancedTree; haxe_ds_EnumValueMap.prototype = $extend(haxe_ds_BalancedTree.prototype,{ compare: function(k1,k2) { var d = k1[1] - k2[1]; if(d != 0) { return d; } var p1 = k1.slice(2); var p2 = k2.slice(2); if(p1.length == 0 && p2.length == 0) { return 0; } return this.compareArgs(p1,p2); } ,compareArgs: function(a1,a2) { var ld = a1.length - a2.length; if(ld != 0) { return ld; } var _g1 = 0; var _g = a1.length; while(_g1 < _g) { var i = _g1++; var d = this.compareArg(a1[i],a2[i]); if(d != 0) { return d; } } return 0; } ,compareArg: function(v1,v2) { if(Reflect.isEnumValue(v1) && Reflect.isEnumValue(v2)) { return this.compare(v1,v2); } else if((v1 instanceof Array) && v1.__enum__ == null && ((v2 instanceof Array) && v2.__enum__ == null)) { return this.compareArgs(v1,v2); } else { return Reflect.compare(v1,v2); } } ,__class__: haxe_ds_EnumValueMap }); var haxe_ds_GenericCell = function(elt,next) { this.elt = elt; this.next = next; }; $hxClasses["haxe.ds.GenericCell"] = haxe_ds_GenericCell; haxe_ds_GenericCell.__name__ = ["haxe","ds","GenericCell"]; haxe_ds_GenericCell.prototype = { elt: null ,next: null ,__class__: haxe_ds_GenericCell }; var haxe_ds_GenericStack = function() { }; $hxClasses["haxe.ds.GenericStack"] = haxe_ds_GenericStack; haxe_ds_GenericStack.__name__ = ["haxe","ds","GenericStack"]; haxe_ds_GenericStack.prototype = { head: null ,__class__: haxe_ds_GenericStack }; var haxe_ds_IntMap = function() { this.h = { }; }; $hxClasses["haxe.ds.IntMap"] = haxe_ds_IntMap; haxe_ds_IntMap.__name__ = ["haxe","ds","IntMap"]; haxe_ds_IntMap.__interfaces__ = [haxe_IMap]; haxe_ds_IntMap.prototype = { h: null ,set: function(key,value) { this.h[key] = value; } ,get: function(key) { return this.h[key]; } ,exists: function(key) { return this.h.hasOwnProperty(key); } ,remove: function(key) { if(!this.h.hasOwnProperty(key)) { return false; } delete(this.h[key]); return true; } ,keys: function() { var a = []; for( var key in this.h ) if(this.h.hasOwnProperty(key)) { a.push(key | 0); } return HxOverrides.iter(a); } ,iterator: function() { return { ref : this.h, it : this.keys(), hasNext : function() { return this.it.hasNext(); }, next : function() { var i = this.it.next(); return this.ref[i]; }}; } ,__class__: haxe_ds_IntMap }; var haxe_ds__$StringMap_StringMapIterator = function(map,keys) { this.map = map; this.keys = keys; this.index = 0; this.count = keys.length; }; $hxClasses["haxe.ds._StringMap.StringMapIterator"] = haxe_ds__$StringMap_StringMapIterator; haxe_ds__$StringMap_StringMapIterator.__name__ = ["haxe","ds","_StringMap","StringMapIterator"]; haxe_ds__$StringMap_StringMapIterator.prototype = { map: null ,keys: null ,index: null ,count: null ,hasNext: function() { return this.index < this.count; } ,next: function() { var _this = this.map; var key = this.keys[this.index++]; if(__map_reserved[key] != null) { return _this.getReserved(key); } else { return _this.h[key]; } } ,__class__: haxe_ds__$StringMap_StringMapIterator }; var haxe_ds_StringMap = function() { this.h = { }; }; $hxClasses["haxe.ds.StringMap"] = haxe_ds_StringMap; haxe_ds_StringMap.__name__ = ["haxe","ds","StringMap"]; haxe_ds_StringMap.__interfaces__ = [haxe_IMap]; haxe_ds_StringMap.prototype = { h: null ,rh: null ,set: function(key,value) { if(__map_reserved[key] != null) { this.setReserved(key,value); } else { this.h[key] = value; } } ,get: function(key) { if(__map_reserved[key] != null) { return this.getReserved(key); } return this.h[key]; } ,exists: function(key) { if(__map_reserved[key] != null) { return this.existsReserved(key); } return this.h.hasOwnProperty(key); } ,setReserved: function(key,value) { if(this.rh == null) { this.rh = { }; } this.rh["$" + key] = value; } ,getReserved: function(key) { if(this.rh == null) { return null; } else { return this.rh["$" + key]; } } ,existsReserved: function(key) { if(this.rh == null) { return false; } return this.rh.hasOwnProperty("$" + key); } ,remove: function(key) { if(__map_reserved[key] != null) { key = "$" + key; if(this.rh == null || !this.rh.hasOwnProperty(key)) { return false; } delete(this.rh[key]); return true; } else { if(!this.h.hasOwnProperty(key)) { return false; } delete(this.h[key]); return true; } } ,keys: function() { return HxOverrides.iter(this.arrayKeys()); } ,arrayKeys: function() { var out = []; for( var key in this.h ) { if(this.h.hasOwnProperty(key)) { out.push(key); } } if(this.rh != null) { for( var key in this.rh ) { if(key.charCodeAt(0) == 36) { out.push(key.substr(1)); } } } return out; } ,iterator: function() { return new haxe_ds__$StringMap_StringMapIterator(this,this.arrayKeys()); } ,__class__: haxe_ds_StringMap }; var haxe_ds__$Vector_Vector_$Impl_$ = {}; $hxClasses["haxe.ds._Vector.Vector_Impl_"] = haxe_ds__$Vector_Vector_$Impl_$; haxe_ds__$Vector_Vector_$Impl_$.__name__ = ["haxe","ds","_Vector","Vector_Impl_"]; haxe_ds__$Vector_Vector_$Impl_$.__properties__ = {get_length:"get_length"}; haxe_ds__$Vector_Vector_$Impl_$._new = function(length) { var this1 = new Array(length); return this1; }; haxe_ds__$Vector_Vector_$Impl_$.get = function(this1,index) { return this1[index]; }; haxe_ds__$Vector_Vector_$Impl_$.set = function(this1,index,val) { return this1[index] = val; }; haxe_ds__$Vector_Vector_$Impl_$.get_length = function(this1) { return this1.length; }; haxe_ds__$Vector_Vector_$Impl_$.blit = function(src,srcPos,dest,destPos,len) { if(src == dest) { if(srcPos < destPos) { var i = srcPos + len; var j = destPos + len; var _g1 = 0; var _g = len; while(_g1 < _g) { var k = _g1++; --i; --j; src[j] = src[i]; } } else if(srcPos > destPos) { var i1 = srcPos; var j1 = destPos; var _g11 = 0; var _g2 = len; while(_g11 < _g2) { var k1 = _g11++; src[j1] = src[i1]; ++i1; ++j1; } } } else { var _g12 = 0; var _g3 = len; while(_g12 < _g3) { var i2 = _g12++; dest[destPos + i2] = src[srcPos + i2]; } } }; haxe_ds__$Vector_Vector_$Impl_$.toArray = function(this1) { return this1.slice(0); }; haxe_ds__$Vector_Vector_$Impl_$.toData = function(this1) { return this1; }; haxe_ds__$Vector_Vector_$Impl_$.fromData = function(data) { return data; }; haxe_ds__$Vector_Vector_$Impl_$.fromArrayCopy = function(array) { return array.slice(0); }; haxe_ds__$Vector_Vector_$Impl_$.copy = function(this1) { var length = this1.length; var this2 = new Array(length); var r = this2; haxe_ds__$Vector_Vector_$Impl_$.blit(this1,0,r,0,this1.length); return r; }; haxe_ds__$Vector_Vector_$Impl_$.join = function(this1,sep) { var b_b = ""; var i = 0; var len = this1.length; var _g1 = 0; var _g = len; while(_g1 < _g) { var i1 = _g1++; b_b += Std.string(Std.string(this1[i1])); if(i1 < len - 1) { b_b += sep == null ? "null" : "" + sep; } } return b_b; }; haxe_ds__$Vector_Vector_$Impl_$.map = function(this1,f) { var length = this1.length; var this2 = new Array(length); var r = this2; var i = 0; var len = length; var _g1 = 0; var _g = len; while(_g1 < _g) { var i1 = _g1++; var v = f(this1[i1]); r[i1] = v; } return r; }; haxe_ds__$Vector_Vector_$Impl_$.sort = function(this1,f) { this1.sort(f); }; var haxe_io_BytesBuffer = function() { this.b = []; }; $hxClasses["haxe.io.BytesBuffer"] = haxe_io_BytesBuffer; haxe_io_BytesBuffer.__name__ = ["haxe","io","BytesBuffer"]; haxe_io_BytesBuffer.prototype = { b: null ,getBytes: function() { var bytes = new haxe_io_Bytes(new Uint8Array(this.b).buffer); this.b = null; return bytes; } ,__class__: haxe_io_BytesBuffer }; var haxe_io_Input = function() { }; $hxClasses["haxe.io.Input"] = haxe_io_Input; haxe_io_Input.__name__ = ["haxe","io","Input"]; haxe_io_Input.prototype = { bigEndian: null ,readByte: function() { throw new js__$Boot_HaxeError("Not implemented"); } ,readBytes: function(s,pos,len) { var k = len; var b = s.b; if(pos < 0 || len < 0 || pos + len > s.length) { throw new js__$Boot_HaxeError(haxe_io_Error.OutsideBounds); } try { while(k > 0) { b[pos] = this.readByte(); ++pos; --k; } } catch( eof ) { haxe_CallStack.lastException = eof; if (eof instanceof js__$Boot_HaxeError) eof = eof.val; if( js_Boot.__instanceof(eof,haxe_io_Eof) ) { } else throw(eof); } return len - k; } ,set_bigEndian: function(b) { this.bigEndian = b; return b; } ,readFullBytes: function(s,pos,len) { while(len > 0) { var k = this.readBytes(s,pos,len); if(k == 0) { throw new js__$Boot_HaxeError(haxe_io_Error.Blocked); } pos += k; len -= k; } } ,read: function(nbytes) { var s = new haxe_io_Bytes(new ArrayBuffer(nbytes)); var p = 0; while(nbytes > 0) { var k = this.readBytes(s,p,nbytes); if(k == 0) { throw new js__$Boot_HaxeError(haxe_io_Error.Blocked); } p += k; nbytes -= k; } return s; } ,readDouble: function() { var i1 = this.readInt32(); var i2 = this.readInt32(); if(this.bigEndian) { return haxe_io_FPHelper.i64ToDouble(i2,i1); } else { return haxe_io_FPHelper.i64ToDouble(i1,i2); } } ,readUInt16: function() { var ch1 = this.readByte(); var ch2 = this.readByte(); if(this.bigEndian) { return ch2 | ch1 << 8; } else { return ch1 | ch2 << 8; } } ,readInt32: function() { var ch1 = this.readByte(); var ch2 = this.readByte(); var ch3 = this.readByte(); var ch4 = this.readByte(); if(this.bigEndian) { return ch4 | ch3 << 8 | ch2 << 16 | ch1 << 24; } else { return ch1 | ch2 << 8 | ch3 << 16 | ch4 << 24; } } ,readString: function(len) { var b = new haxe_io_Bytes(new ArrayBuffer(len)); this.readFullBytes(b,0,len); return b.toString(); } ,__class__: haxe_io_Input ,__properties__: {set_bigEndian:"set_bigEndian"} }; var haxe_io_BytesInput = function(b,pos,len) { if(pos == null) { pos = 0; } if(len == null) { len = b.length - pos; } if(pos < 0 || len < 0 || pos + len > b.length) { throw new js__$Boot_HaxeError(haxe_io_Error.OutsideBounds); } this.b = b.b; this.pos = pos; this.len = len; this.totlen = len; }; $hxClasses["haxe.io.BytesInput"] = haxe_io_BytesInput; haxe_io_BytesInput.__name__ = ["haxe","io","BytesInput"]; haxe_io_BytesInput.__super__ = haxe_io_Input; haxe_io_BytesInput.prototype = $extend(haxe_io_Input.prototype,{ b: null ,pos: null ,len: null ,totlen: null ,readByte: function() { if(this.len == 0) { throw new js__$Boot_HaxeError(new haxe_io_Eof()); } this.len--; return this.b[this.pos++]; } ,readBytes: function(buf,pos,len) { if(pos < 0 || len < 0 || pos + len > buf.length) { throw new js__$Boot_HaxeError(haxe_io_Error.OutsideBounds); } if(this.len == 0 && len > 0) { throw new js__$Boot_HaxeError(new haxe_io_Eof()); } if(this.len < len) { len = this.len; } var b1 = this.b; var b2 = buf.b; var _g1 = 0; var _g = len; while(_g1 < _g) { var i = _g1++; b2[pos + i] = b1[this.pos + i]; } this.pos += len; this.len -= len; return len; } ,__class__: haxe_io_BytesInput }); var haxe_io_Output = function() { }; $hxClasses["haxe.io.Output"] = haxe_io_Output; haxe_io_Output.__name__ = ["haxe","io","Output"]; haxe_io_Output.prototype = { bigEndian: null ,writeByte: function(c) { throw new js__$Boot_HaxeError("Not implemented"); } ,writeBytes: function(s,pos,len) { if(pos < 0 || len < 0 || pos + len > s.length) { throw new js__$Boot_HaxeError(haxe_io_Error.OutsideBounds); } var b = s.b; var k = len; while(k > 0) { this.writeByte(b[pos]); ++pos; --k; } return len; } ,set_bigEndian: function(b) { this.bigEndian = b; return b; } ,write: function(s) { var l = s.length; var p = 0; while(l > 0) { var k = this.writeBytes(s,p,l); if(k == 0) { throw new js__$Boot_HaxeError(haxe_io_Error.Blocked); } p += k; l -= k; } } ,writeFullBytes: function(s,pos,len) { while(len > 0) { var k = this.writeBytes(s,pos,len); pos += k; len -= k; } } ,writeDouble: function(x) { var i64 = haxe_io_FPHelper.doubleToI64(x); if(this.bigEndian) { this.writeInt32(i64.high); this.writeInt32(i64.low); } else { this.writeInt32(i64.low); this.writeInt32(i64.high); } } ,writeUInt16: function(x) { if(x < 0 || x >= 65536) { throw new js__$Boot_HaxeError(haxe_io_Error.Overflow); } if(this.bigEndian) { this.writeByte(x >> 8); this.writeByte(x & 255); } else { this.writeByte(x & 255); this.writeByte(x >> 8); } } ,writeInt32: function(x) { if(this.bigEndian) { this.writeByte(x >>> 24); this.writeByte(x >> 16 & 255); this.writeByte(x >> 8 & 255); this.writeByte(x & 255); } else { this.writeByte(x & 255); this.writeByte(x >> 8 & 255); this.writeByte(x >> 16 & 255); this.writeByte(x >>> 24); } } ,writeString: function(s) { var b = haxe_io_Bytes.ofString(s); this.writeFullBytes(b,0,b.length); } ,__class__: haxe_io_Output ,__properties__: {set_bigEndian:"set_bigEndian"} }; var haxe_io_BytesOutput = function() { this.b = new haxe_io_BytesBuffer(); }; $hxClasses["haxe.io.BytesOutput"] = haxe_io_BytesOutput; haxe_io_BytesOutput.__name__ = ["haxe","io","BytesOutput"]; haxe_io_BytesOutput.__super__ = haxe_io_Output; haxe_io_BytesOutput.prototype = $extend(haxe_io_Output.prototype,{ b: null ,writeByte: function(c) { this.b.b.push(c); } ,writeBytes: function(buf,pos,len) { var _this = this.b; if(pos < 0 || len < 0 || pos + len > buf.length) { throw new js__$Boot_HaxeError(haxe_io_Error.OutsideBounds); } var b1 = _this.b; var b2 = buf.b; var _g1 = pos; var _g = pos + len; while(_g1 < _g) { var i = _g1++; _this.b.push(b2[i]); } return len; } ,getBytes: function() { return this.b.getBytes(); } ,__class__: haxe_io_BytesOutput }); var haxe_io_Eof = function() { }; $hxClasses["haxe.io.Eof"] = haxe_io_Eof; haxe_io_Eof.__name__ = ["haxe","io","Eof"]; haxe_io_Eof.prototype = { toString: function() { return "Eof"; } ,__class__: haxe_io_Eof }; var haxe_io_Error = $hxClasses["haxe.io.Error"] = { __ename__ : ["haxe","io","Error"], __constructs__ : ["Blocked","Overflow","OutsideBounds","Custom"] }; haxe_io_Error.Blocked = ["Blocked",0]; haxe_io_Error.Blocked.toString = $estr; haxe_io_Error.Blocked.__enum__ = haxe_io_Error; haxe_io_Error.Overflow = ["Overflow",1]; haxe_io_Error.Overflow.toString = $estr; haxe_io_Error.Overflow.__enum__ = haxe_io_Error; haxe_io_Error.OutsideBounds = ["OutsideBounds",2]; haxe_io_Error.OutsideBounds.toString = $estr; haxe_io_Error.OutsideBounds.__enum__ = haxe_io_Error; haxe_io_Error.Custom = function(e) { var $x = ["Custom",3,e]; $x.__enum__ = haxe_io_Error; $x.toString = $estr; return $x; }; var haxe_io_FPHelper = function() { }; $hxClasses["haxe.io.FPHelper"] = haxe_io_FPHelper; haxe_io_FPHelper.__name__ = ["haxe","io","FPHelper"]; haxe_io_FPHelper.i32ToFloat = function(i) { var sign = 1 - (i >>> 31 << 1); var exp = i >>> 23 & 255; var sig = i & 8388607; if(sig == 0 && exp == 0) { return 0.0; } return sign * (1 + Math.pow(2,-23) * sig) * Math.pow(2,exp - 127); }; haxe_io_FPHelper.floatToI32 = function(f) { if(f == 0) { return 0; } var af = f < 0 ? -f : f; var exp = Math.floor(Math.log(af) / 0.6931471805599453); if(exp < -127) { exp = -127; } else if(exp > 128) { exp = 128; } var sig = Math.round((af / Math.pow(2,exp) - 1) * 8388608); if(sig == 8388608 && exp < 128) { sig = 0; ++exp; } return (f < 0 ? -2147483648 : 0) | exp + 127 << 23 | sig; }; haxe_io_FPHelper.i64ToDouble = function(low,high) { var sign = 1 - (high >>> 31 << 1); var exp = (high >> 20 & 2047) - 1023; var sig = (high & 1048575) * 4294967296. + (low >>> 31) * 2147483648. + (low & 2147483647); if(sig == 0 && exp == -1023) { return 0.0; } return sign * (1.0 + Math.pow(2,-52) * sig) * Math.pow(2,exp); }; haxe_io_FPHelper.doubleToI64 = function(v) { var i64 = haxe_io_FPHelper.i64tmp; if(v == 0) { i64.low = 0; i64.high = 0; } else if(!isFinite(v)) { if(v > 0) { i64.low = 0; i64.high = 2146435072; } else { i64.low = 0; i64.high = -1048576; } } else { var av = v < 0 ? -v : v; var exp = Math.floor(Math.log(av) / 0.6931471805599453); var sig = Math.round((av / Math.pow(2,exp) - 1) * 4503599627370496.); var sig_l = sig | 0; var sig_h = sig / 4294967296.0 | 0; i64.low = sig_l; i64.high = (v < 0 ? -2147483648 : 0) | exp + 1023 << 20 | sig_h; } return i64; }; var haxe_io_Path = function(path) { switch(path) { case ".":case "..": this.dir = path; this.file = ""; return; } var c1 = path.lastIndexOf("/"); var c2 = path.lastIndexOf("\\"); if(c1 < c2) { this.dir = HxOverrides.substr(path,0,c2); path = HxOverrides.substr(path,c2 + 1,null); this.backslash = true; } else if(c2 < c1) { this.dir = HxOverrides.substr(path,0,c1); path = HxOverrides.substr(path,c1 + 1,null); } else { this.dir = null; } var cp = path.lastIndexOf("."); if(cp != -1) { this.ext = HxOverrides.substr(path,cp + 1,null); this.file = HxOverrides.substr(path,0,cp); } else { this.ext = null; this.file = path; } }; $hxClasses["haxe.io.Path"] = haxe_io_Path; haxe_io_Path.__name__ = ["haxe","io","Path"]; haxe_io_Path.directory = function(path) { var s = new haxe_io_Path(path); if(s.dir == null) { return ""; } return s.dir; }; haxe_io_Path.prototype = { dir: null ,file: null ,ext: null ,backslash: null ,__class__: haxe_io_Path }; var haxe_io_StringInput = function(s) { haxe_io_BytesInput.call(this,haxe_io_Bytes.ofString(s)); }; $hxClasses["haxe.io.StringInput"] = haxe_io_StringInput; haxe_io_StringInput.__name__ = ["haxe","io","StringInput"]; haxe_io_StringInput.__super__ = haxe_io_BytesInput; haxe_io_StringInput.prototype = $extend(haxe_io_BytesInput.prototype,{ __class__: haxe_io_StringInput }); var haxe_xml__$Fast_NodeAccess = function(x) { this.__x = x; }; $hxClasses["haxe.xml._Fast.NodeAccess"] = haxe_xml__$Fast_NodeAccess; haxe_xml__$Fast_NodeAccess.__name__ = ["haxe","xml","_Fast","NodeAccess"]; haxe_xml__$Fast_NodeAccess.prototype = { __x: null ,__class__: haxe_xml__$Fast_NodeAccess }; var haxe_xml__$Fast_AttribAccess = function(x) { this.__x = x; }; $hxClasses["haxe.xml._Fast.AttribAccess"] = haxe_xml__$Fast_AttribAccess; haxe_xml__$Fast_AttribAccess.__name__ = ["haxe","xml","_Fast","AttribAccess"]; haxe_xml__$Fast_AttribAccess.prototype = { __x: null ,resolve: function(name) { if(this.__x.nodeType == Xml.Document) { throw new js__$Boot_HaxeError("Cannot access document attribute " + name); } var v = this.__x.get(name); if(v == null) { var _this = this.__x; if(_this.nodeType != Xml.Element) { throw new js__$Boot_HaxeError("Bad node type, expected Element but found " + _this.nodeType); } throw new js__$Boot_HaxeError(_this.nodeName + " is missing attribute " + name); } return v; } ,__class__: haxe_xml__$Fast_AttribAccess }; var haxe_xml__$Fast_HasAttribAccess = function(x) { this.__x = x; }; $hxClasses["haxe.xml._Fast.HasAttribAccess"] = haxe_xml__$Fast_HasAttribAccess; haxe_xml__$Fast_HasAttribAccess.__name__ = ["haxe","xml","_Fast","HasAttribAccess"]; haxe_xml__$Fast_HasAttribAccess.prototype = { __x: null ,resolve: function(name) { if(this.__x.nodeType == Xml.Document) { throw new js__$Boot_HaxeError("Cannot access document attribute " + name); } return this.__x.exists(name); } ,__class__: haxe_xml__$Fast_HasAttribAccess }; var haxe_xml__$Fast_HasNodeAccess = function(x) { this.__x = x; }; $hxClasses["haxe.xml._Fast.HasNodeAccess"] = haxe_xml__$Fast_HasNodeAccess; haxe_xml__$Fast_HasNodeAccess.__name__ = ["haxe","xml","_Fast","HasNodeAccess"]; haxe_xml__$Fast_HasNodeAccess.prototype = { __x: null ,__class__: haxe_xml__$Fast_HasNodeAccess }; var haxe_xml__$Fast_NodeListAccess = function(x) { this.__x = x; }; $hxClasses["haxe.xml._Fast.NodeListAccess"] = haxe_xml__$Fast_NodeListAccess; haxe_xml__$Fast_NodeListAccess.__name__ = ["haxe","xml","_Fast","NodeListAccess"]; haxe_xml__$Fast_NodeListAccess.prototype = { __x: null ,resolve: function(name) { var l = new List(); var x = this.__x.elementsNamed(name); while(x.hasNext()) { var x1 = x.next(); l.add(new haxe_xml_Fast(x1)); } return l; } ,__class__: haxe_xml__$Fast_NodeListAccess }; var haxe_xml_Fast = function(x) { if(x.nodeType != Xml.Document && x.nodeType != Xml.Element) { throw new js__$Boot_HaxeError("Invalid nodeType " + x.nodeType); } this.x = x; this.node = new haxe_xml__$Fast_NodeAccess(x); this.nodes = new haxe_xml__$Fast_NodeListAccess(x); this.att = new haxe_xml__$Fast_AttribAccess(x); this.has = new haxe_xml__$Fast_HasAttribAccess(x); this.hasNode = new haxe_xml__$Fast_HasNodeAccess(x); }; $hxClasses["haxe.xml.Fast"] = haxe_xml_Fast; haxe_xml_Fast.__name__ = ["haxe","xml","Fast"]; haxe_xml_Fast.prototype = { x: null ,node: null ,nodes: null ,att: null ,has: null ,hasNode: null ,__class__: haxe_xml_Fast }; var haxe_xml_XmlParserException = function(message,xml,position) { this.xml = xml; this.message = message; this.position = position; this.lineNumber = 1; this.positionAtLine = 0; var _g1 = 0; var _g = position; while(_g1 < _g) { var i = _g1++; var c = xml.charCodeAt(i); if(c == 10) { this.lineNumber++; this.positionAtLine = 0; } else if(c != 13) { this.positionAtLine++; } } }; $hxClasses["haxe.xml.XmlParserException"] = haxe_xml_XmlParserException; haxe_xml_XmlParserException.__name__ = ["haxe","xml","XmlParserException"]; haxe_xml_XmlParserException.prototype = { message: null ,lineNumber: null ,positionAtLine: null ,position: null ,xml: null ,toString: function() { return Type.getClassName(js_Boot.getClass(this)) + ": " + this.message + " at line " + this.lineNumber + " char " + this.positionAtLine; } ,__class__: haxe_xml_XmlParserException }; var haxe_xml_Parser = function() { }; $hxClasses["haxe.xml.Parser"] = haxe_xml_Parser; haxe_xml_Parser.__name__ = ["haxe","xml","Parser"]; haxe_xml_Parser.parse = function(str,strict) { if(strict == null) { strict = false; } var doc = Xml.createDocument(); haxe_xml_Parser.doParse(str,strict,0,doc); return doc; }; haxe_xml_Parser.doParse = function(str,strict,p,parent) { if(p == null) { p = 0; } var xml = null; var state = 1; var next = 1; var aname = null; var start = 0; var nsubs = 0; var nbrackets = 0; var c = str.charCodeAt(p); var buf = new StringBuf(); var escapeNext = 1; var attrValQuote = -1; while(c == c) { switch(state) { case 0: switch(c) { case 9:case 10:case 13:case 32: break; default: state = next; continue; } break; case 1: if(c == 60) { state = 0; next = 2; } else { start = p; state = 13; continue; } break; case 2: switch(c) { case 33: if(str.charCodeAt(p + 1) == 91) { p += 2; if(HxOverrides.substr(str,p,6).toUpperCase() != "CDATA[") { throw new js__$Boot_HaxeError(new haxe_xml_XmlParserException("Expected = 97 && c <= 122 || c >= 65 && c <= 90 || c >= 48 && c <= 57 || c == 58 || c == 46 || c == 95 || c == 45)) { if(p == start) { throw new js__$Boot_HaxeError(new haxe_xml_XmlParserException("Expected node name",str,p)); } xml = Xml.createElement(HxOverrides.substr(str,start,p - start)); parent.addChild(xml); ++nsubs; state = 0; next = 4; continue; } break; case 4: switch(c) { case 47: state = 11; break; case 62: state = 9; break; default: state = 5; start = p; continue; } break; case 5: if(!(c >= 97 && c <= 122 || c >= 65 && c <= 90 || c >= 48 && c <= 57 || c == 58 || c == 46 || c == 95 || c == 45)) { var tmp; if(start == p) { throw new js__$Boot_HaxeError(new haxe_xml_XmlParserException("Expected attribute name",str,p)); } tmp = HxOverrides.substr(str,start,p - start); aname = tmp; if(xml.exists(aname)) { throw new js__$Boot_HaxeError(new haxe_xml_XmlParserException("Duplicate attribute [" + aname + "]",str,p)); } state = 0; next = 6; continue; } break; case 6: if(c == 61) { state = 0; next = 7; } else { throw new js__$Boot_HaxeError(new haxe_xml_XmlParserException("Expected =",str,p)); } break; case 7: switch(c) { case 34:case 39: buf = new StringBuf(); state = 8; start = p + 1; attrValQuote = c; break; default: throw new js__$Boot_HaxeError(new haxe_xml_XmlParserException("Expected \"",str,p)); } break; case 8: switch(c) { case 38: var len = p - start; buf.b += len == null ? HxOverrides.substr(str,start,null) : HxOverrides.substr(str,start,len); state = 18; escapeNext = 8; start = p + 1; break; case 60:case 62: if(strict) { throw new js__$Boot_HaxeError(new haxe_xml_XmlParserException("Invalid unescaped " + String.fromCharCode(c) + " in attribute value",str,p)); } else if(c == attrValQuote) { var len1 = p - start; buf.b += len1 == null ? HxOverrides.substr(str,start,null) : HxOverrides.substr(str,start,len1); var val = buf.b; buf = new StringBuf(); xml.set(aname,val); state = 0; next = 4; } break; default: if(c == attrValQuote) { var len2 = p - start; buf.b += len2 == null ? HxOverrides.substr(str,start,null) : HxOverrides.substr(str,start,len2); var val1 = buf.b; buf = new StringBuf(); xml.set(aname,val1); state = 0; next = 4; } } break; case 9: p = haxe_xml_Parser.doParse(str,strict,p,xml); start = p; state = 1; break; case 10: if(!(c >= 97 && c <= 122 || c >= 65 && c <= 90 || c >= 48 && c <= 57 || c == 58 || c == 46 || c == 95 || c == 45)) { if(start == p) { throw new js__$Boot_HaxeError(new haxe_xml_XmlParserException("Expected node name",str,p)); } var v = HxOverrides.substr(str,start,p - start); if(parent.nodeType != Xml.Element) { throw new js__$Boot_HaxeError("Bad node type, expected Element but found " + parent.nodeType); } if(v != parent.nodeName) { if(parent.nodeType != Xml.Element) { throw new js__$Boot_HaxeError("Bad node type, expected Element but found " + parent.nodeType); } throw new js__$Boot_HaxeError(new haxe_xml_XmlParserException("Expected ",str,p)); } state = 0; next = 12; continue; } break; case 11: if(c == 62) { state = 1; } else { throw new js__$Boot_HaxeError(new haxe_xml_XmlParserException("Expected >",str,p)); } break; case 12: if(c == 62) { if(nsubs == 0) { parent.addChild(Xml.createPCData("")); } return p; } else { throw new js__$Boot_HaxeError(new haxe_xml_XmlParserException("Expected >",str,p)); } break; case 13: if(c == 60) { var len3 = p - start; buf.b += len3 == null ? HxOverrides.substr(str,start,null) : HxOverrides.substr(str,start,len3); var child = Xml.createPCData(buf.b); buf = new StringBuf(); parent.addChild(child); ++nsubs; state = 0; next = 2; } else if(c == 38) { var len4 = p - start; buf.b += len4 == null ? HxOverrides.substr(str,start,null) : HxOverrides.substr(str,start,len4); state = 18; escapeNext = 13; start = p + 1; } break; case 14: if(c == 63 && str.charCodeAt(p + 1) == 62) { ++p; var str1 = HxOverrides.substr(str,start + 1,p - start - 2); parent.addChild(Xml.createProcessingInstruction(str1)); ++nsubs; state = 1; } break; case 15: if(c == 45 && str.charCodeAt(p + 1) == 45 && str.charCodeAt(p + 2) == 62) { parent.addChild(Xml.createComment(HxOverrides.substr(str,start,p - start))); ++nsubs; p += 2; state = 1; } break; case 16: if(c == 91) { ++nbrackets; } else if(c == 93) { --nbrackets; } else if(c == 62 && nbrackets == 0) { parent.addChild(Xml.createDocType(HxOverrides.substr(str,start,p - start))); ++nsubs; state = 1; } break; case 17: if(c == 93 && str.charCodeAt(p + 1) == 93 && str.charCodeAt(p + 2) == 62) { var child1 = Xml.createCData(HxOverrides.substr(str,start,p - start)); parent.addChild(child1); ++nsubs; p += 2; state = 1; } break; case 18: if(c == 59) { var s = HxOverrides.substr(str,start,p - start); if(s.charCodeAt(0) == 35) { var c1 = s.charCodeAt(1) == 120 ? Std.parseInt("0" + HxOverrides.substr(s,1,s.length - 1)) : Std.parseInt(HxOverrides.substr(s,1,s.length - 1)); buf.b += String.fromCharCode(c1); } else { var _this = haxe_xml_Parser.escapes; if(!(__map_reserved[s] != null ? _this.existsReserved(s) : _this.h.hasOwnProperty(s))) { if(strict) { throw new js__$Boot_HaxeError(new haxe_xml_XmlParserException("Undefined entity: " + s,str,p)); } buf.b += Std.string("&" + s + ";"); } else { var _this1 = haxe_xml_Parser.escapes; var x = __map_reserved[s] != null ? _this1.getReserved(s) : _this1.h[s]; buf.b += Std.string(x); } } start = p + 1; state = escapeNext; } else if(!(c >= 97 && c <= 122 || c >= 65 && c <= 90 || c >= 48 && c <= 57 || c == 58 || c == 46 || c == 95 || c == 45) && c != 35) { if(strict) { throw new js__$Boot_HaxeError(new haxe_xml_XmlParserException("Invalid character in entity: " + String.fromCharCode(c),str,p)); } buf.b += "&"; var len5 = p - start; buf.b += len5 == null ? HxOverrides.substr(str,start,null) : HxOverrides.substr(str,start,len5); start = p--; state = escapeNext; } break; } c = str.charCodeAt(++p); } if(state == 1) { start = p; state = 13; } if(state == 13) { if(p != start || nsubs == 0) { var len6 = p - start; buf.b += len6 == null ? HxOverrides.substr(str,start,null) : HxOverrides.substr(str,start,len6); parent.addChild(Xml.createPCData(buf.b)); ++nsubs; } return p; } if(!strict && state == 18 && escapeNext == 13) { buf.b += "&"; var len7 = p - start; buf.b += len7 == null ? HxOverrides.substr(str,start,null) : HxOverrides.substr(str,start,len7); parent.addChild(Xml.createPCData(buf.b)); ++nsubs; return p; } throw new js__$Boot_HaxeError(new haxe_xml_XmlParserException("Unexpected end",str,p)); }; var haxe_xml_Printer = function(pretty) { this.output = new StringBuf(); this.pretty = pretty; }; $hxClasses["haxe.xml.Printer"] = haxe_xml_Printer; haxe_xml_Printer.__name__ = ["haxe","xml","Printer"]; haxe_xml_Printer.print = function(xml,pretty) { if(pretty == null) { pretty = false; } var printer = new haxe_xml_Printer(pretty); printer.writeNode(xml,""); return printer.output.b; }; haxe_xml_Printer.prototype = { output: null ,pretty: null ,writeNode: function(value,tabs) { var _g = value.nodeType; switch(_g) { case 0: this.output.b += Std.string(tabs + "<"); if(value.nodeType != Xml.Element) { throw new js__$Boot_HaxeError("Bad node type, expected Element but found " + value.nodeType); } this.output.b += Std.string(value.nodeName); var attribute = value.attributes(); while(attribute.hasNext()) { var attribute1 = attribute.next(); this.output.b += Std.string(" " + attribute1 + "=\""); var input = StringTools.htmlEscape(value.get(attribute1),true); this.output.b += Std.string(input); this.output.b += "\""; } if(this.hasChildren(value)) { this.output.b += ">"; if(this.pretty) { this.output.b += "\n"; } if(value.nodeType != Xml.Document && value.nodeType != Xml.Element) { throw new js__$Boot_HaxeError("Bad node type, expected Element or Document but found " + value.nodeType); } var child = HxOverrides.iter(value.children); while(child.hasNext()) { var child1 = child.next(); this.writeNode(child1,this.pretty ? tabs + "\t" : tabs); } this.output.b += Std.string(tabs + ""; if(this.pretty) { this.output.b += "\n"; } } else { this.output.b += "/>"; if(this.pretty) { this.output.b += "\n"; } } break; case 1: if(value.nodeType == Xml.Document || value.nodeType == Xml.Element) { throw new js__$Boot_HaxeError("Bad node type, unexpected " + value.nodeType); } var nodeValue = value.nodeValue; if(nodeValue.length != 0) { var input1 = tabs + StringTools.htmlEscape(nodeValue); this.output.b += Std.string(input1); if(this.pretty) { this.output.b += "\n"; } } break; case 2: this.output.b += Std.string(tabs + ""; if(this.pretty) { this.output.b += "\n"; } break; case 3: if(value.nodeType == Xml.Document || value.nodeType == Xml.Element) { throw new js__$Boot_HaxeError("Bad node type, unexpected " + value.nodeType); } var commentContent = value.nodeValue; var _this_r = new RegExp("[\n\r\t]+","g".split("u").join("")); commentContent = commentContent.replace(_this_r,""); commentContent = ""; this.output.b += tabs == null ? "null" : "" + tabs; var input3 = StringTools.trim(commentContent); this.output.b += Std.string(input3); if(this.pretty) { this.output.b += "\n"; } break; case 4: if(value.nodeType == Xml.Document || value.nodeType == Xml.Element) { throw new js__$Boot_HaxeError("Bad node type, unexpected " + value.nodeType); } this.output.b += Std.string(""); if(this.pretty) { this.output.b += "\n"; } break; case 5: if(value.nodeType == Xml.Document || value.nodeType == Xml.Element) { throw new js__$Boot_HaxeError("Bad node type, unexpected " + value.nodeType); } this.output.b += Std.string(""); if(this.pretty) { this.output.b += "\n"; } break; case 6: if(value.nodeType != Xml.Document && value.nodeType != Xml.Element) { throw new js__$Boot_HaxeError("Bad node type, expected Element or Document but found " + value.nodeType); } var child2 = HxOverrides.iter(value.children); while(child2.hasNext()) { var child3 = child2.next(); this.writeNode(child3,tabs); } break; } } ,hasChildren: function(value) { if(value.nodeType != Xml.Document && value.nodeType != Xml.Element) { throw new js__$Boot_HaxeError("Bad node type, expected Element or Document but found " + value.nodeType); } var child = HxOverrides.iter(value.children); while(child.hasNext()) { var child1 = child.next(); var _g = child1.nodeType; switch(_g) { case 0:case 1: return true; case 2:case 3: if(child1.nodeType == Xml.Document || child1.nodeType == Xml.Element) { throw new js__$Boot_HaxeError("Bad node type, unexpected " + child1.nodeType); } if(StringTools.ltrim(child1.nodeValue).length != 0) { return true; } break; default: } } return false; } ,__class__: haxe_xml_Printer }; var haxe_zip_Compress = function() { }; $hxClasses["haxe.zip.Compress"] = haxe_zip_Compress; haxe_zip_Compress.__name__ = ["haxe","zip","Compress"]; haxe_zip_Compress.run = function(s,level) { throw new js__$Boot_HaxeError("Not implemented for this platform"); }; var haxe_zip_Huffman = $hxClasses["haxe.zip.Huffman"] = { __ename__ : ["haxe","zip","Huffman"], __constructs__ : ["Found","NeedBit","NeedBits"] }; haxe_zip_Huffman.Found = function(i) { var $x = ["Found",0,i]; $x.__enum__ = haxe_zip_Huffman; $x.toString = $estr; return $x; }; haxe_zip_Huffman.NeedBit = function(left,right) { var $x = ["NeedBit",1,left,right]; $x.__enum__ = haxe_zip_Huffman; $x.toString = $estr; return $x; }; haxe_zip_Huffman.NeedBits = function(n,table) { var $x = ["NeedBits",2,n,table]; $x.__enum__ = haxe_zip_Huffman; $x.toString = $estr; return $x; }; var haxe_zip_HuffTools = function() { }; $hxClasses["haxe.zip.HuffTools"] = haxe_zip_HuffTools; haxe_zip_HuffTools.__name__ = ["haxe","zip","HuffTools"]; haxe_zip_HuffTools.prototype = { treeDepth: function(t) { switch(t[1]) { case 0: return 0; case 1: var b = t[3]; var a = t[2]; var da = this.treeDepth(a); var db = this.treeDepth(b); return 1 + (da < db ? da : db); case 2: throw new js__$Boot_HaxeError("assert"); break; } } ,treeCompress: function(t) { var d = this.treeDepth(t); if(d == 0) { return t; } if(d == 1) { if(t[1] == 1) { var b = t[3]; var a = t[2]; return haxe_zip_Huffman.NeedBit(this.treeCompress(a),this.treeCompress(b)); } else { throw new js__$Boot_HaxeError("assert"); } } var size = 1 << d; var table = []; var _g1 = 0; var _g = size; while(_g1 < _g) { var i = _g1++; table.push(haxe_zip_Huffman.Found(-1)); } this.treeWalk(table,0,0,d,t); return haxe_zip_Huffman.NeedBits(d,table); } ,treeWalk: function(table,p,cd,d,t) { if(t[1] == 1) { var b = t[3]; var a = t[2]; if(d > 0) { this.treeWalk(table,p,cd + 1,d - 1,a); this.treeWalk(table,p | 1 << cd,cd + 1,d - 1,b); } else { table[p] = this.treeCompress(t); } } else { table[p] = this.treeCompress(t); } } ,treeMake: function(bits,maxbits,v,len) { if(len > maxbits) { throw new js__$Boot_HaxeError("Invalid huffman"); } var idx = v << 5 | len; if(bits.h.hasOwnProperty(idx)) { return haxe_zip_Huffman.Found(bits.h[idx]); } v <<= 1; ++len; return haxe_zip_Huffman.NeedBit(this.treeMake(bits,maxbits,v,len),this.treeMake(bits,maxbits,v | 1,len)); } ,make: function(lengths,pos,nlengths,maxbits) { var counts = []; var tmp = []; if(maxbits > 32) { throw new js__$Boot_HaxeError("Invalid huffman"); } var _g1 = 0; var _g = maxbits; while(_g1 < _g) { var i = _g1++; counts.push(0); tmp.push(0); } var _g11 = 0; var _g2 = nlengths; while(_g11 < _g2) { var i1 = _g11++; var p = lengths[i1 + pos]; if(p >= maxbits) { throw new js__$Boot_HaxeError("Invalid huffman"); } counts[p]++; } var code = 0; var _g12 = 1; var _g3 = maxbits - 1; while(_g12 < _g3) { var i2 = _g12++; code = code + counts[i2] << 1; tmp[i2] = code; } var bits = new haxe_ds_IntMap(); var _g13 = 0; var _g4 = nlengths; while(_g13 < _g4) { var i3 = _g13++; var l = lengths[i3 + pos]; if(l != 0) { var n = tmp[l - 1]; tmp[l - 1] = n + 1; bits.h[n << 5 | l] = i3; } } return this.treeCompress(haxe_zip_Huffman.NeedBit(this.treeMake(bits,maxbits,0,1),this.treeMake(bits,maxbits,1,1))); } ,__class__: haxe_zip_HuffTools }; var haxe_zip__$InflateImpl_Window = function(hasCrc) { this.buffer = new haxe_io_Bytes(new ArrayBuffer(65536)); this.pos = 0; if(hasCrc) { this.crc = new haxe_crypto_Adler32(); } }; $hxClasses["haxe.zip._InflateImpl.Window"] = haxe_zip__$InflateImpl_Window; haxe_zip__$InflateImpl_Window.__name__ = ["haxe","zip","_InflateImpl","Window"]; haxe_zip__$InflateImpl_Window.prototype = { buffer: null ,pos: null ,crc: null ,slide: function() { if(this.crc != null) { this.crc.update(this.buffer,0,32768); } var b = new haxe_io_Bytes(new ArrayBuffer(65536)); this.pos -= 32768; b.blit(0,this.buffer,32768,this.pos); this.buffer = b; } ,addBytes: function(b,p,len) { if(this.pos + len > 65536) { this.slide(); } this.buffer.blit(this.pos,b,p,len); this.pos += len; } ,addByte: function(c) { if(this.pos == 65536) { this.slide(); } this.buffer.b[this.pos] = c & 255; this.pos++; } ,getLastChar: function() { return this.buffer.b[this.pos - 1]; } ,available: function() { return this.pos; } ,checksum: function() { if(this.crc != null) { this.crc.update(this.buffer,0,this.pos); } return this.crc; } ,__class__: haxe_zip__$InflateImpl_Window }; var haxe_zip__$InflateImpl_State = $hxClasses["haxe.zip._InflateImpl.State"] = { __ename__ : ["haxe","zip","_InflateImpl","State"], __constructs__ : ["Head","Block","CData","Flat","Crc","Dist","DistOne","Done"] }; haxe_zip__$InflateImpl_State.Head = ["Head",0]; haxe_zip__$InflateImpl_State.Head.toString = $estr; haxe_zip__$InflateImpl_State.Head.__enum__ = haxe_zip__$InflateImpl_State; haxe_zip__$InflateImpl_State.Block = ["Block",1]; haxe_zip__$InflateImpl_State.Block.toString = $estr; haxe_zip__$InflateImpl_State.Block.__enum__ = haxe_zip__$InflateImpl_State; haxe_zip__$InflateImpl_State.CData = ["CData",2]; haxe_zip__$InflateImpl_State.CData.toString = $estr; haxe_zip__$InflateImpl_State.CData.__enum__ = haxe_zip__$InflateImpl_State; haxe_zip__$InflateImpl_State.Flat = ["Flat",3]; haxe_zip__$InflateImpl_State.Flat.toString = $estr; haxe_zip__$InflateImpl_State.Flat.__enum__ = haxe_zip__$InflateImpl_State; haxe_zip__$InflateImpl_State.Crc = ["Crc",4]; haxe_zip__$InflateImpl_State.Crc.toString = $estr; haxe_zip__$InflateImpl_State.Crc.__enum__ = haxe_zip__$InflateImpl_State; haxe_zip__$InflateImpl_State.Dist = ["Dist",5]; haxe_zip__$InflateImpl_State.Dist.toString = $estr; haxe_zip__$InflateImpl_State.Dist.__enum__ = haxe_zip__$InflateImpl_State; haxe_zip__$InflateImpl_State.DistOne = ["DistOne",6]; haxe_zip__$InflateImpl_State.DistOne.toString = $estr; haxe_zip__$InflateImpl_State.DistOne.__enum__ = haxe_zip__$InflateImpl_State; haxe_zip__$InflateImpl_State.Done = ["Done",7]; haxe_zip__$InflateImpl_State.Done.toString = $estr; haxe_zip__$InflateImpl_State.Done.__enum__ = haxe_zip__$InflateImpl_State; var haxe_zip_InflateImpl = function(i,header,crc) { if(crc == null) { crc = true; } if(header == null) { header = true; } this["final"] = false; this.htools = new haxe_zip_HuffTools(); this.huffman = this.buildFixedHuffman(); this.huffdist = null; this.len = 0; this.dist = 0; this.state = header ? haxe_zip__$InflateImpl_State.Head : haxe_zip__$InflateImpl_State.Block; this.input = i; this.bits = 0; this.nbits = 0; this.needed = 0; this.output = null; this.outpos = 0; this.lengths = []; var _g = 0; while(_g < 19) { var i1 = _g++; this.lengths.push(-1); } this.window = new haxe_zip__$InflateImpl_Window(crc); }; $hxClasses["haxe.zip.InflateImpl"] = haxe_zip_InflateImpl; haxe_zip_InflateImpl.__name__ = ["haxe","zip","InflateImpl"]; haxe_zip_InflateImpl.run = function(i,bufsize) { if(bufsize == null) { bufsize = 65536; } var buf = new haxe_io_Bytes(new ArrayBuffer(bufsize)); var output = new haxe_io_BytesBuffer(); var inflate = new haxe_zip_InflateImpl(i); while(true) { var len = inflate.readBytes(buf,0,bufsize); if(len < 0 || len > buf.length) { throw new js__$Boot_HaxeError(haxe_io_Error.OutsideBounds); } var b1 = output.b; var b2 = buf.b; var _g1 = 0; var _g = len; while(_g1 < _g) { var i1 = _g1++; output.b.push(b2[i1]); } if(len < bufsize) { break; } } return output.getBytes(); }; haxe_zip_InflateImpl.prototype = { nbits: null ,bits: null ,state: null ,'final': null ,huffman: null ,huffdist: null ,htools: null ,len: null ,dist: null ,needed: null ,output: null ,outpos: null ,input: null ,lengths: null ,window: null ,buildFixedHuffman: function() { if(haxe_zip_InflateImpl.FIXED_HUFFMAN != null) { return haxe_zip_InflateImpl.FIXED_HUFFMAN; } var a = []; var _g = 0; while(_g < 288) { var n = _g++; a.push(n <= 143 ? 8 : n <= 255 ? 9 : n <= 279 ? 7 : 8); } haxe_zip_InflateImpl.FIXED_HUFFMAN = this.htools.make(a,0,288,10); return haxe_zip_InflateImpl.FIXED_HUFFMAN; } ,readBytes: function(b,pos,len) { this.needed = len; this.outpos = pos; this.output = b; if(len > 0) { while(this.inflateLoop()) { } } return len - this.needed; } ,getBits: function(n) { while(this.nbits < n) { this.bits |= this.input.readByte() << this.nbits; this.nbits += 8; } var b = this.bits & (1 << n) - 1; this.nbits -= n; this.bits >>= n; return b; } ,getBit: function() { if(this.nbits == 0) { this.nbits = 8; this.bits = this.input.readByte(); } var b = (this.bits & 1) == 1; this.nbits--; this.bits >>= 1; return b; } ,getRevBits: function(n) { if(n == 0) { return 0; } else if(this.getBit()) { return 1 << n - 1 | this.getRevBits(n - 1); } else { return this.getRevBits(n - 1); } } ,resetBits: function() { this.bits = 0; this.nbits = 0; } ,addBytes: function(b,p,len) { this.window.addBytes(b,p,len); this.output.blit(this.outpos,b,p,len); this.needed -= len; this.outpos += len; } ,addByte: function(b) { this.window.addByte(b); this.output.b[this.outpos] = b & 255; this.needed--; this.outpos++; } ,addDistOne: function(n) { var c = this.window.getLastChar(); var _g1 = 0; var _g = n; while(_g1 < _g) { var i = _g1++; this.addByte(c); } } ,addDist: function(d,len) { this.addBytes(this.window.buffer,this.window.pos - d,len); } ,applyHuffman: function(h) { switch(h[1]) { case 0: var n = h[2]; return n; case 1: var b = h[3]; var a = h[2]; return this.applyHuffman(this.getBit() ? b : a); case 2: var tbl = h[3]; var n1 = h[2]; return this.applyHuffman(tbl[this.getBits(n1)]); } } ,inflateLengths: function(a,max) { var i = 0; var prev = 0; while(i < max) { var n = this.applyHuffman(this.huffman); switch(n) { case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 10:case 11:case 12:case 13:case 14:case 15: prev = n; a[i] = n; ++i; break; case 16: var end = i + 3 + this.getBits(2); if(end > max) { throw new js__$Boot_HaxeError("Invalid data"); } while(i < end) { a[i] = prev; ++i; } break; case 17: i += 3 + this.getBits(3); if(i > max) { throw new js__$Boot_HaxeError("Invalid data"); } break; case 18: i += 11 + this.getBits(7); if(i > max) { throw new js__$Boot_HaxeError("Invalid data"); } break; default: throw new js__$Boot_HaxeError("Invalid data"); } } } ,inflateLoop: function() { var _g = this.state; switch(_g[1]) { case 0: var cmf = this.input.readByte(); var cm = cmf & 15; var cinfo = cmf >> 4; if(cm != 8) { throw new js__$Boot_HaxeError("Invalid data"); } var flg = this.input.readByte(); var fdict = (flg & 32) != 0; if(((cmf << 8) + flg) % 31 != 0) { throw new js__$Boot_HaxeError("Invalid data"); } if(fdict) { throw new js__$Boot_HaxeError("Unsupported dictionary"); } this.state = haxe_zip__$InflateImpl_State.Block; return true; case 1: this["final"] = this.getBit(); var _g1 = this.getBits(2); switch(_g1) { case 0: this.len = this.input.readUInt16(); var nlen = this.input.readUInt16(); if(nlen != 65535 - this.len) { throw new js__$Boot_HaxeError("Invalid data"); } this.state = haxe_zip__$InflateImpl_State.Flat; var r = this.inflateLoop(); this.resetBits(); return r; case 1: this.huffman = this.buildFixedHuffman(); this.huffdist = null; this.state = haxe_zip__$InflateImpl_State.CData; return true; case 2: var hlit = this.getBits(5) + 257; var hdist = this.getBits(5) + 1; var hclen = this.getBits(4) + 4; var _g11 = 0; var _g2 = hclen; while(_g11 < _g2) { var i = _g11++; this.lengths[haxe_zip_InflateImpl.CODE_LENGTHS_POS[i]] = this.getBits(3); } var _g3 = hclen; while(_g3 < 19) { var i1 = _g3++; this.lengths[haxe_zip_InflateImpl.CODE_LENGTHS_POS[i1]] = 0; } this.huffman = this.htools.make(this.lengths,0,19,8); var lengths = []; var _g12 = 0; var _g4 = hlit + hdist; while(_g12 < _g4) { var i2 = _g12++; lengths.push(0); } this.inflateLengths(lengths,hlit + hdist); this.huffdist = this.htools.make(lengths,hlit,hdist,16); this.huffman = this.htools.make(lengths,0,hlit,16); this.state = haxe_zip__$InflateImpl_State.CData; return true; default: throw new js__$Boot_HaxeError("Invalid data"); } break; case 2: var n = this.applyHuffman(this.huffman); if(n < 256) { this.addByte(n); return this.needed > 0; } else if(n == 256) { this.state = this["final"] ? haxe_zip__$InflateImpl_State.Crc : haxe_zip__$InflateImpl_State.Block; return true; } else { n -= 257; var extra_bits = haxe_zip_InflateImpl.LEN_EXTRA_BITS_TBL[n]; if(extra_bits == -1) { throw new js__$Boot_HaxeError("Invalid data"); } this.len = haxe_zip_InflateImpl.LEN_BASE_VAL_TBL[n] + this.getBits(extra_bits); var dist_code = this.huffdist == null ? this.getRevBits(5) : this.applyHuffman(this.huffdist); extra_bits = haxe_zip_InflateImpl.DIST_EXTRA_BITS_TBL[dist_code]; if(extra_bits == -1) { throw new js__$Boot_HaxeError("Invalid data"); } this.dist = haxe_zip_InflateImpl.DIST_BASE_VAL_TBL[dist_code] + this.getBits(extra_bits); if(this.dist > this.window.available()) { throw new js__$Boot_HaxeError("Invalid data"); } this.state = this.dist == 1 ? haxe_zip__$InflateImpl_State.DistOne : haxe_zip__$InflateImpl_State.Dist; return true; } break; case 3: var rlen = this.len < this.needed ? this.len : this.needed; var bytes = this.input.read(rlen); this.len -= rlen; this.addBytes(bytes,0,rlen); if(this.len == 0) { this.state = this["final"] ? haxe_zip__$InflateImpl_State.Crc : haxe_zip__$InflateImpl_State.Block; } return this.needed > 0; case 4: var calc = this.window.checksum(); if(calc == null) { this.state = haxe_zip__$InflateImpl_State.Done; return true; } var crc = haxe_crypto_Adler32.read(this.input); if(!calc.equals(crc)) { throw new js__$Boot_HaxeError("Invalid CRC"); } this.state = haxe_zip__$InflateImpl_State.Done; return true; case 5: while(this.len > 0 && this.needed > 0) { var rdist = this.len < this.dist ? this.len : this.dist; var rlen1 = this.needed < rdist ? this.needed : rdist; this.addDist(this.dist,rlen1); this.len -= rlen1; } if(this.len == 0) { this.state = haxe_zip__$InflateImpl_State.CData; } return this.needed > 0; case 6: var rlen2 = this.len < this.needed ? this.len : this.needed; this.addDistOne(rlen2); this.len -= rlen2; if(this.len == 0) { this.state = haxe_zip__$InflateImpl_State.CData; } return this.needed > 0; case 7: return false; } } ,__class__: haxe_zip_InflateImpl }; var haxe_zip_Uncompress = function() { }; $hxClasses["haxe.zip.Uncompress"] = haxe_zip_Uncompress; haxe_zip_Uncompress.__name__ = ["haxe","zip","Uncompress"]; haxe_zip_Uncompress.run = function(src,bufsize) { return haxe_zip_InflateImpl.run(new haxe_io_BytesInput(src),bufsize); }; var hscript_Const = $hxClasses["hscript.Const"] = { __ename__ : ["hscript","Const"], __constructs__ : ["CInt","CFloat","CString"] }; hscript_Const.CInt = function(v) { var $x = ["CInt",0,v]; $x.__enum__ = hscript_Const; $x.toString = $estr; return $x; }; hscript_Const.CFloat = function(f) { var $x = ["CFloat",1,f]; $x.__enum__ = hscript_Const; $x.toString = $estr; return $x; }; hscript_Const.CString = function(s) { var $x = ["CString",2,s]; $x.__enum__ = hscript_Const; $x.toString = $estr; return $x; }; var hscript_Expr = $hxClasses["hscript.Expr"] = { __ename__ : ["hscript","Expr"], __constructs__ : ["EConst","EIdent","EVar","EParent","EBlock","EField","EBinop","EUnop","ECall","EIf","EWhile","EFor","EBreak","EContinue","EFunction","EReturn","EArray","EArrayDecl","ENew","EThrow","ETry","EObject","ETernary","ESwitch","EDoWhile","EMeta"] }; hscript_Expr.EConst = function(c) { var $x = ["EConst",0,c]; $x.__enum__ = hscript_Expr; $x.toString = $estr; return $x; }; hscript_Expr.EIdent = function(v) { var $x = ["EIdent",1,v]; $x.__enum__ = hscript_Expr; $x.toString = $estr; return $x; }; hscript_Expr.EVar = function(n,t,e) { var $x = ["EVar",2,n,t,e]; $x.__enum__ = hscript_Expr; $x.toString = $estr; return $x; }; hscript_Expr.EParent = function(e) { var $x = ["EParent",3,e]; $x.__enum__ = hscript_Expr; $x.toString = $estr; return $x; }; hscript_Expr.EBlock = function(e) { var $x = ["EBlock",4,e]; $x.__enum__ = hscript_Expr; $x.toString = $estr; return $x; }; hscript_Expr.EField = function(e,f) { var $x = ["EField",5,e,f]; $x.__enum__ = hscript_Expr; $x.toString = $estr; return $x; }; hscript_Expr.EBinop = function(op,e1,e2) { var $x = ["EBinop",6,op,e1,e2]; $x.__enum__ = hscript_Expr; $x.toString = $estr; return $x; }; hscript_Expr.EUnop = function(op,prefix,e) { var $x = ["EUnop",7,op,prefix,e]; $x.__enum__ = hscript_Expr; $x.toString = $estr; return $x; }; hscript_Expr.ECall = function(e,params) { var $x = ["ECall",8,e,params]; $x.__enum__ = hscript_Expr; $x.toString = $estr; return $x; }; hscript_Expr.EIf = function(cond,e1,e2) { var $x = ["EIf",9,cond,e1,e2]; $x.__enum__ = hscript_Expr; $x.toString = $estr; return $x; }; hscript_Expr.EWhile = function(cond,e) { var $x = ["EWhile",10,cond,e]; $x.__enum__ = hscript_Expr; $x.toString = $estr; return $x; }; hscript_Expr.EFor = function(v,it,e) { var $x = ["EFor",11,v,it,e]; $x.__enum__ = hscript_Expr; $x.toString = $estr; return $x; }; hscript_Expr.EBreak = ["EBreak",12]; hscript_Expr.EBreak.toString = $estr; hscript_Expr.EBreak.__enum__ = hscript_Expr; hscript_Expr.EContinue = ["EContinue",13]; hscript_Expr.EContinue.toString = $estr; hscript_Expr.EContinue.__enum__ = hscript_Expr; hscript_Expr.EFunction = function(args,e,name,ret) { var $x = ["EFunction",14,args,e,name,ret]; $x.__enum__ = hscript_Expr; $x.toString = $estr; return $x; }; hscript_Expr.EReturn = function(e) { var $x = ["EReturn",15,e]; $x.__enum__ = hscript_Expr; $x.toString = $estr; return $x; }; hscript_Expr.EArray = function(e,index) { var $x = ["EArray",16,e,index]; $x.__enum__ = hscript_Expr; $x.toString = $estr; return $x; }; hscript_Expr.EArrayDecl = function(e) { var $x = ["EArrayDecl",17,e]; $x.__enum__ = hscript_Expr; $x.toString = $estr; return $x; }; hscript_Expr.ENew = function(cl,params) { var $x = ["ENew",18,cl,params]; $x.__enum__ = hscript_Expr; $x.toString = $estr; return $x; }; hscript_Expr.EThrow = function(e) { var $x = ["EThrow",19,e]; $x.__enum__ = hscript_Expr; $x.toString = $estr; return $x; }; hscript_Expr.ETry = function(e,v,t,ecatch) { var $x = ["ETry",20,e,v,t,ecatch]; $x.__enum__ = hscript_Expr; $x.toString = $estr; return $x; }; hscript_Expr.EObject = function(fl) { var $x = ["EObject",21,fl]; $x.__enum__ = hscript_Expr; $x.toString = $estr; return $x; }; hscript_Expr.ETernary = function(cond,e1,e2) { var $x = ["ETernary",22,cond,e1,e2]; $x.__enum__ = hscript_Expr; $x.toString = $estr; return $x; }; hscript_Expr.ESwitch = function(e,cases,defaultExpr) { var $x = ["ESwitch",23,e,cases,defaultExpr]; $x.__enum__ = hscript_Expr; $x.toString = $estr; return $x; }; hscript_Expr.EDoWhile = function(cond,e) { var $x = ["EDoWhile",24,cond,e]; $x.__enum__ = hscript_Expr; $x.toString = $estr; return $x; }; hscript_Expr.EMeta = function(name,args,e) { var $x = ["EMeta",25,name,args,e]; $x.__enum__ = hscript_Expr; $x.toString = $estr; return $x; }; var hscript_CType = $hxClasses["hscript.CType"] = { __ename__ : ["hscript","CType"], __constructs__ : ["CTPath","CTFun","CTAnon","CTParent"] }; hscript_CType.CTPath = function(path,params) { var $x = ["CTPath",0,path,params]; $x.__enum__ = hscript_CType; $x.toString = $estr; return $x; }; hscript_CType.CTFun = function(args,ret) { var $x = ["CTFun",1,args,ret]; $x.__enum__ = hscript_CType; $x.toString = $estr; return $x; }; hscript_CType.CTAnon = function(fields) { var $x = ["CTAnon",2,fields]; $x.__enum__ = hscript_CType; $x.toString = $estr; return $x; }; hscript_CType.CTParent = function(t) { var $x = ["CTParent",3,t]; $x.__enum__ = hscript_CType; $x.toString = $estr; return $x; }; var hscript_Error = $hxClasses["hscript.Error"] = { __ename__ : ["hscript","Error"], __constructs__ : ["EInvalidChar","EUnexpected","EUnterminatedString","EUnterminatedComment","EInvalidPreprocessor","EUnknownVariable","EInvalidIterator","EInvalidOp","EInvalidAccess","ECustom"] }; hscript_Error.EInvalidChar = function(c) { var $x = ["EInvalidChar",0,c]; $x.__enum__ = hscript_Error; $x.toString = $estr; return $x; }; hscript_Error.EUnexpected = function(s) { var $x = ["EUnexpected",1,s]; $x.__enum__ = hscript_Error; $x.toString = $estr; return $x; }; hscript_Error.EUnterminatedString = ["EUnterminatedString",2]; hscript_Error.EUnterminatedString.toString = $estr; hscript_Error.EUnterminatedString.__enum__ = hscript_Error; hscript_Error.EUnterminatedComment = ["EUnterminatedComment",3]; hscript_Error.EUnterminatedComment.toString = $estr; hscript_Error.EUnterminatedComment.__enum__ = hscript_Error; hscript_Error.EInvalidPreprocessor = function(msg) { var $x = ["EInvalidPreprocessor",4,msg]; $x.__enum__ = hscript_Error; $x.toString = $estr; return $x; }; hscript_Error.EUnknownVariable = function(v) { var $x = ["EUnknownVariable",5,v]; $x.__enum__ = hscript_Error; $x.toString = $estr; return $x; }; hscript_Error.EInvalidIterator = function(v) { var $x = ["EInvalidIterator",6,v]; $x.__enum__ = hscript_Error; $x.toString = $estr; return $x; }; hscript_Error.EInvalidOp = function(op) { var $x = ["EInvalidOp",7,op]; $x.__enum__ = hscript_Error; $x.toString = $estr; return $x; }; hscript_Error.EInvalidAccess = function(f) { var $x = ["EInvalidAccess",8,f]; $x.__enum__ = hscript_Error; $x.toString = $estr; return $x; }; hscript_Error.ECustom = function(msg) { var $x = ["ECustom",9,msg]; $x.__enum__ = hscript_Error; $x.toString = $estr; return $x; }; var hscript_ModuleDecl = $hxClasses["hscript.ModuleDecl"] = { __ename__ : ["hscript","ModuleDecl"], __constructs__ : ["DPackage","DImport","DClass","DTypedef"] }; hscript_ModuleDecl.DPackage = function(path) { var $x = ["DPackage",0,path]; $x.__enum__ = hscript_ModuleDecl; $x.toString = $estr; return $x; }; hscript_ModuleDecl.DImport = function(path,everything) { var $x = ["DImport",1,path,everything]; $x.__enum__ = hscript_ModuleDecl; $x.toString = $estr; return $x; }; hscript_ModuleDecl.DClass = function(c) { var $x = ["DClass",2,c]; $x.__enum__ = hscript_ModuleDecl; $x.toString = $estr; return $x; }; hscript_ModuleDecl.DTypedef = function(c) { var $x = ["DTypedef",3,c]; $x.__enum__ = hscript_ModuleDecl; $x.toString = $estr; return $x; }; var hscript_FieldAccess = $hxClasses["hscript.FieldAccess"] = { __ename__ : ["hscript","FieldAccess"], __constructs__ : ["APublic","APrivate","AInline","AOverride","AStatic","AMacro"] }; hscript_FieldAccess.APublic = ["APublic",0]; hscript_FieldAccess.APublic.toString = $estr; hscript_FieldAccess.APublic.__enum__ = hscript_FieldAccess; hscript_FieldAccess.APrivate = ["APrivate",1]; hscript_FieldAccess.APrivate.toString = $estr; hscript_FieldAccess.APrivate.__enum__ = hscript_FieldAccess; hscript_FieldAccess.AInline = ["AInline",2]; hscript_FieldAccess.AInline.toString = $estr; hscript_FieldAccess.AInline.__enum__ = hscript_FieldAccess; hscript_FieldAccess.AOverride = ["AOverride",3]; hscript_FieldAccess.AOverride.toString = $estr; hscript_FieldAccess.AOverride.__enum__ = hscript_FieldAccess; hscript_FieldAccess.AStatic = ["AStatic",4]; hscript_FieldAccess.AStatic.toString = $estr; hscript_FieldAccess.AStatic.__enum__ = hscript_FieldAccess; hscript_FieldAccess.AMacro = ["AMacro",5]; hscript_FieldAccess.AMacro.toString = $estr; hscript_FieldAccess.AMacro.__enum__ = hscript_FieldAccess; var hscript_FieldKind = $hxClasses["hscript.FieldKind"] = { __ename__ : ["hscript","FieldKind"], __constructs__ : ["KFunction","KVar"] }; hscript_FieldKind.KFunction = function(f) { var $x = ["KFunction",0,f]; $x.__enum__ = hscript_FieldKind; $x.toString = $estr; return $x; }; hscript_FieldKind.KVar = function(v) { var $x = ["KVar",1,v]; $x.__enum__ = hscript_FieldKind; $x.toString = $estr; return $x; }; var hscript__$Interp_Stop = $hxClasses["hscript._Interp.Stop"] = { __ename__ : ["hscript","_Interp","Stop"], __constructs__ : ["SBreak","SContinue","SReturn"] }; hscript__$Interp_Stop.SBreak = ["SBreak",0]; hscript__$Interp_Stop.SBreak.toString = $estr; hscript__$Interp_Stop.SBreak.__enum__ = hscript__$Interp_Stop; hscript__$Interp_Stop.SContinue = ["SContinue",1]; hscript__$Interp_Stop.SContinue.toString = $estr; hscript__$Interp_Stop.SContinue.__enum__ = hscript__$Interp_Stop; hscript__$Interp_Stop.SReturn = ["SReturn",2]; hscript__$Interp_Stop.SReturn.toString = $estr; hscript__$Interp_Stop.SReturn.__enum__ = hscript__$Interp_Stop; var hscript_Token = $hxClasses["hscript.Token"] = { __ename__ : ["hscript","Token"], __constructs__ : ["TEof","TConst","TId","TOp","TPOpen","TPClose","TBrOpen","TBrClose","TDot","TComma","TSemicolon","TBkOpen","TBkClose","TQuestion","TDoubleDot","TMeta","TPrepro"] }; hscript_Token.TEof = ["TEof",0]; hscript_Token.TEof.toString = $estr; hscript_Token.TEof.__enum__ = hscript_Token; hscript_Token.TConst = function(c) { var $x = ["TConst",1,c]; $x.__enum__ = hscript_Token; $x.toString = $estr; return $x; }; hscript_Token.TId = function(s) { var $x = ["TId",2,s]; $x.__enum__ = hscript_Token; $x.toString = $estr; return $x; }; hscript_Token.TOp = function(s) { var $x = ["TOp",3,s]; $x.__enum__ = hscript_Token; $x.toString = $estr; return $x; }; hscript_Token.TPOpen = ["TPOpen",4]; hscript_Token.TPOpen.toString = $estr; hscript_Token.TPOpen.__enum__ = hscript_Token; hscript_Token.TPClose = ["TPClose",5]; hscript_Token.TPClose.toString = $estr; hscript_Token.TPClose.__enum__ = hscript_Token; hscript_Token.TBrOpen = ["TBrOpen",6]; hscript_Token.TBrOpen.toString = $estr; hscript_Token.TBrOpen.__enum__ = hscript_Token; hscript_Token.TBrClose = ["TBrClose",7]; hscript_Token.TBrClose.toString = $estr; hscript_Token.TBrClose.__enum__ = hscript_Token; hscript_Token.TDot = ["TDot",8]; hscript_Token.TDot.toString = $estr; hscript_Token.TDot.__enum__ = hscript_Token; hscript_Token.TComma = ["TComma",9]; hscript_Token.TComma.toString = $estr; hscript_Token.TComma.__enum__ = hscript_Token; hscript_Token.TSemicolon = ["TSemicolon",10]; hscript_Token.TSemicolon.toString = $estr; hscript_Token.TSemicolon.__enum__ = hscript_Token; hscript_Token.TBkOpen = ["TBkOpen",11]; hscript_Token.TBkOpen.toString = $estr; hscript_Token.TBkOpen.__enum__ = hscript_Token; hscript_Token.TBkClose = ["TBkClose",12]; hscript_Token.TBkClose.toString = $estr; hscript_Token.TBkClose.__enum__ = hscript_Token; hscript_Token.TQuestion = ["TQuestion",13]; hscript_Token.TQuestion.toString = $estr; hscript_Token.TQuestion.__enum__ = hscript_Token; hscript_Token.TDoubleDot = ["TDoubleDot",14]; hscript_Token.TDoubleDot.toString = $estr; hscript_Token.TDoubleDot.__enum__ = hscript_Token; hscript_Token.TMeta = function(s) { var $x = ["TMeta",15,s]; $x.__enum__ = hscript_Token; $x.toString = $estr; return $x; }; hscript_Token.TPrepro = function(s) { var $x = ["TPrepro",16,s]; $x.__enum__ = hscript_Token; $x.toString = $estr; return $x; }; var hscript_Parser = function() { this.uid = 0; this.preprocesorValues = new haxe_ds_StringMap(); this.line = 1; this.opChars = "+*/-=!><&|^%~"; this.identChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_"; var priorities = [["%"],["*","/"],["+","-"],["<<",">>",">>>"],["|","&","^"],["==","!=",">","<",">=","<="],["..."],["&&"],["||"],["=","+=","-=","*=","/=","%=","<<=",">>=",">>>=","|=","&=","^=","=>"]]; this.opPriority = new haxe_ds_StringMap(); this.opRightAssoc = new haxe_ds_StringMap(); this.unops = new haxe_ds_StringMap(); var _g1 = 0; var _g = priorities.length; while(_g1 < _g) { var i = _g1++; var _g2 = 0; var _g3 = priorities[i]; while(_g2 < _g3.length) { var x = _g3[_g2]; ++_g2; var _this = this.opPriority; if(__map_reserved[x] != null) { _this.setReserved(x,i); } else { _this.h[x] = i; } if(i == 9) { var _this1 = this.opRightAssoc; if(__map_reserved[x] != null) { _this1.setReserved(x,true); } else { _this1.h[x] = true; } } } } var _g4 = 0; var _g11 = ["!","++","--","-","~"]; while(_g4 < _g11.length) { var x1 = _g11[_g4]; ++_g4; var _this2 = this.unops; var value = x1 == "++" || x1 == "--"; if(__map_reserved[x1] != null) { _this2.setReserved(x1,value); } else { _this2.h[x1] = value; } } }; $hxClasses["hscript.Parser"] = hscript_Parser; hscript_Parser.__name__ = ["hscript","Parser"]; hscript_Parser.prototype = { line: null ,opChars: null ,identChars: null ,opPriority: null ,opRightAssoc: null ,unops: null ,preprocesorValues: null ,allowJSON: null ,allowTypes: null ,allowMetadata: null ,input: null ,'char': null ,ops: null ,idents: null ,uid: null ,tokens: null ,error: function(err,pmin,pmax) { throw new js__$Boot_HaxeError(err); } ,invalidChar: function(c) { throw new js__$Boot_HaxeError(hscript_Error.EInvalidChar(c)); } ,initParser: function(origin) { this.preprocStack = []; this.tokens = new haxe_ds_GenericStack(); this["char"] = -1; this.ops = []; this.idents = []; this.uid = 0; var _g1 = 0; var _g = this.opChars.length; while(_g1 < _g) { var i = _g1++; this.ops[HxOverrides.cca(this.opChars,i)] = true; } var _g11 = 0; var _g2 = this.identChars.length; while(_g11 < _g2) { var i1 = _g11++; this.idents[HxOverrides.cca(this.identChars,i1)] = true; } } ,parseString: function(s,origin) { if(origin == null) { origin = "hscript"; } return this.parse(new haxe_io_StringInput(s),origin); } ,parse: function(s,origin) { if(origin == null) { origin = "hscript"; } this.initParser(origin); this.input = s; var a = []; while(true) { var tk = this.token(); if(tk == hscript_Token.TEof) { break; } var _this = this.tokens; _this.head = new haxe_ds_GenericCell(tk,_this.head); this.parseFullExpr(a); } if(a.length == 1) { return a[0]; } else { return hscript_Expr.EBlock(a); } } ,unexpected: function(tk) { throw new js__$Boot_HaxeError(hscript_Error.EUnexpected(this.tokenString(tk))); } ,push: function(tk) { var _this = this.tokens; _this.head = new haxe_ds_GenericCell(tk,_this.head); } ,ensure: function(tk) { var t = this.token(); if(t != tk) { this.unexpected(t); } } ,ensureToken: function(tk) { var t = this.token(); if(!Type.enumEq(t,tk)) { this.unexpected(t); } } ,maybe: function(tk) { var t = this.token(); if(Type.enumEq(t,tk)) { return true; } var _this = this.tokens; _this.head = new haxe_ds_GenericCell(t,_this.head); return false; } ,getIdent: function() { var tk = this.token(); if(tk[1] == 2) { var id = tk[2]; return id; } else { this.unexpected(tk); return null; } } ,expr: function(e) { return e; } ,pmin: function(e) { return 0; } ,pmax: function(e) { return 0; } ,mk: function(e,pmin,pmax) { return e; } ,isBlock: function(e) { switch(e[1]) { case 2: var e1 = e[4]; var t = e[3]; if(e1 != null) { return this.isBlock(e1); } else if(t != null) { if(t == null) { return false; } else if(t[1] == 2) { return true; } else { return false; } } else { return false; } break; case 6: var e2 = e[4]; return this.isBlock(e2); case 7: var e3 = e[4]; var prefix = e[3]; if(!prefix) { return this.isBlock(e3); } else { return false; } break; case 9: var e21 = e[4]; var e11 = e[3]; if(e21 != null) { return this.isBlock(e21); } else { return this.isBlock(e11); } break; case 10: var e4 = e[3]; return this.isBlock(e4); case 11: var e5 = e[4]; return this.isBlock(e5); case 14: var e6 = e[3]; return this.isBlock(e6); case 15: var e7 = e[2]; if(e7 != null) { return this.isBlock(e7); } else { return false; } break; case 20: var e8 = e[5]; return this.isBlock(e8); case 4:case 21:case 23: return true; case 24: var e9 = e[3]; return this.isBlock(e9); case 25: var e10 = e[4]; return this.isBlock(e10); default: return false; } } ,parseFullExpr: function(exprs) { var e = this.parseExpr(); exprs.push(e); var tk = this.token(); while(tk == hscript_Token.TComma && e[1] == 2) { e = this.parseStructure("var"); exprs.push(e); tk = this.token(); } if(tk != hscript_Token.TSemicolon && tk != hscript_Token.TEof) { if(this.isBlock(e)) { var _this = this.tokens; _this.head = new haxe_ds_GenericCell(tk,_this.head); } else { this.unexpected(tk); } } } ,parseObject: function(p1) { var fl = []; try { while(true) { var tk = this.token(); var id = null; switch(tk[1]) { case 1: var c = tk[2]; if(!this.allowJSON) { this.unexpected(tk); } if(c[1] == 2) { var s = c[2]; id = s; } else { this.unexpected(tk); } break; case 2: var i = tk[2]; id = i; break; case 7: throw "__break__"; break; default: this.unexpected(tk); } var t = this.token(); if(t != hscript_Token.TDoubleDot) { this.unexpected(t); } fl.push({ name : id, e : this.parseExpr()}); tk = this.token(); switch(tk[1]) { case 7: throw "__break__"; break; case 9: break; default: this.unexpected(tk); } } } catch( e ) { if( e != "__break__" ) throw e; } return this.parseExprNext(hscript_Expr.EObject(fl)); } ,parseExpr: function() { var tk = this.token(); switch(tk[1]) { case 1: var c = tk[2]; return this.parseExprNext(hscript_Expr.EConst(c)); case 2: var id = tk[2]; var e = this.parseStructure(id); if(e == null) { e = hscript_Expr.EIdent(id); } return this.parseExprNext(e); case 3: var op = tk[2]; if(this.unops.exists(op)) { var start = 0; var e1 = this.parseExpr(); if(op == "-") { if(e1[1] == 0) { switch(e1[2][1]) { case 0: var i = e1[2][2]; return hscript_Expr.EConst(hscript_Const.CInt(-i)); case 1: var f = e1[2][2]; return hscript_Expr.EConst(hscript_Const.CFloat(-f)); default: } } } return this.makeUnop(op,e1); } return this.unexpected(tk); case 4: var e2 = this.parseExpr(); var t = this.token(); if(t != hscript_Token.TPClose) { this.unexpected(t); } return this.parseExprNext(hscript_Expr.EParent(e2)); case 6: tk = this.token(); switch(tk[1]) { case 1: var c1 = tk[2]; if(this.allowJSON) { if(c1[1] == 2) { var tk2 = this.token(); var _this = this.tokens; _this.head = new haxe_ds_GenericCell(tk2,_this.head); var _this1 = this.tokens; _this1.head = new haxe_ds_GenericCell(tk,_this1.head); if(tk2[1] == 14) { return this.parseExprNext(this.parseObject(0)); } } else { var _this2 = this.tokens; _this2.head = new haxe_ds_GenericCell(tk,_this2.head); } } else { var _this3 = this.tokens; _this3.head = new haxe_ds_GenericCell(tk,_this3.head); } break; case 2: var tk21 = this.token(); var _this4 = this.tokens; _this4.head = new haxe_ds_GenericCell(tk21,_this4.head); var _this5 = this.tokens; _this5.head = new haxe_ds_GenericCell(tk,_this5.head); if(tk21[1] == 14) { return this.parseExprNext(this.parseObject(0)); } break; case 7: return this.parseExprNext(hscript_Expr.EObject([])); default: var _this6 = this.tokens; _this6.head = new haxe_ds_GenericCell(tk,_this6.head); } var a = []; while(true) { this.parseFullExpr(a); tk = this.token(); if(tk == hscript_Token.TBrClose) { break; } var _this7 = this.tokens; _this7.head = new haxe_ds_GenericCell(tk,_this7.head); } return hscript_Expr.EBlock(a); case 11: var a1 = []; tk = this.token(); while(tk != hscript_Token.TBkClose) { var _this8 = this.tokens; _this8.head = new haxe_ds_GenericCell(tk,_this8.head); a1.push(this.parseExpr()); tk = this.token(); if(tk == hscript_Token.TComma) { tk = this.token(); } } if(a1.length == 1) { var _g = a1[0]; switch(_g[1]) { case 10:case 11:case 24: var tmp = "__a_" + this.uid++; var e3 = hscript_Expr.EBlock([hscript_Expr.EVar(tmp,null,hscript_Expr.EArrayDecl([])),this.mapCompr(tmp,a1[0]),hscript_Expr.EIdent(tmp)]); return this.parseExprNext(e3); default: } } return this.parseExprNext(hscript_Expr.EArrayDecl(a1)); case 15: var id1 = tk[2]; if(this.allowMetadata) { var args = this.parseMetaArgs(); return hscript_Expr.EMeta(id1,args,this.parseExpr()); } else { return this.unexpected(tk); } break; default: return this.unexpected(tk); } } ,parseMetaArgs: function() { var tk = this.token(); if(tk != hscript_Token.TPOpen) { var _this = this.tokens; _this.head = new haxe_ds_GenericCell(tk,_this.head); return null; } var args = []; tk = this.token(); if(tk != hscript_Token.TPClose) { var _this1 = this.tokens; _this1.head = new haxe_ds_GenericCell(tk,_this1.head); try { while(true) { args.push(this.parseExpr()); var _g = this.token(); switch(_g[1]) { case 5: throw "__break__"; break; case 9: break; default: var tk1 = _g; this.unexpected(tk1); } } } catch( e ) { if( e != "__break__" ) throw e; } } return args; } ,mapCompr: function(tmp,e) { var edef; switch(e[1]) { case 3: var e2 = e[2]; edef = hscript_Expr.EParent(this.mapCompr(tmp,e2)); break; case 4: if(e[2].length == 1) { var e1 = e[2][0]; edef = hscript_Expr.EBlock([this.mapCompr(tmp,e1)]); } else { edef = hscript_Expr.ECall(hscript_Expr.EField(hscript_Expr.EIdent(tmp),"push"),[e]); } break; case 9: var e21 = e[4]; var e11 = e[3]; var cond = e[2]; if(e21 == null) { edef = hscript_Expr.EIf(cond,this.mapCompr(tmp,e11),null); } else { edef = hscript_Expr.ECall(hscript_Expr.EField(hscript_Expr.EIdent(tmp),"push"),[e]); } break; case 10: var e22 = e[3]; var cond1 = e[2]; edef = hscript_Expr.EWhile(cond1,this.mapCompr(tmp,e22)); break; case 11: var e23 = e[4]; var it = e[3]; var v = e[2]; edef = hscript_Expr.EFor(v,it,this.mapCompr(tmp,e23)); break; case 24: var e24 = e[3]; var cond2 = e[2]; edef = hscript_Expr.EDoWhile(cond2,this.mapCompr(tmp,e24)); break; default: edef = hscript_Expr.ECall(hscript_Expr.EField(hscript_Expr.EIdent(tmp),"push"),[e]); } return edef; } ,makeUnop: function(op,e) { switch(e[1]) { case 6: var e2 = e[4]; var e1 = e[3]; var bop = e[2]; return hscript_Expr.EBinop(bop,this.makeUnop(op,e1),e2); case 22: var e3 = e[4]; var e21 = e[3]; var e11 = e[2]; return hscript_Expr.ETernary(this.makeUnop(op,e11),e21,e3); default: return hscript_Expr.EUnop(op,true,e); } } ,makeBinop: function(op,e1,e) { switch(e[1]) { case 6: var e3 = e[4]; var e2 = e[3]; var op2 = e[2]; if(this.opPriority.get(op) <= this.opPriority.get(op2) && !this.opRightAssoc.exists(op)) { return hscript_Expr.EBinop(op2,this.makeBinop(op,e1,e2),e3); } else { return hscript_Expr.EBinop(op,e1,e); } break; case 22: var e4 = e[4]; var e31 = e[3]; var e21 = e[2]; if(this.opRightAssoc.exists(op)) { return hscript_Expr.EBinop(op,e1,e); } else { return hscript_Expr.ETernary(this.makeBinop(op,e1,e21),e31,e4); } break; default: return hscript_Expr.EBinop(op,e1,e); } } ,parseStructure: function(id) { switch(id) { case "break": return hscript_Expr.EBreak; case "continue": return hscript_Expr.EContinue; case "do": var e = this.parseExpr(); var tk = this.token(); if(tk[1] == 2) { if(tk[2] != "while") { this.unexpected(tk); } } else { this.unexpected(tk); } var econd = this.parseExpr(); return hscript_Expr.EDoWhile(econd,e); case "else": return this.unexpected(hscript_Token.TId(id)); case "for": var t = this.token(); if(t != hscript_Token.TPOpen) { this.unexpected(t); } var vname = this.getIdent(); var t1 = this.token(); if(!Type.enumEq(t1,hscript_Token.TId("in"))) { this.unexpected(t1); } var eiter = this.parseExpr(); var t2 = this.token(); if(t2 != hscript_Token.TPClose) { this.unexpected(t2); } var e1 = this.parseExpr(); return hscript_Expr.EFor(vname,eiter,e1); case "function": var tk1 = this.token(); var name = null; if(tk1[1] == 2) { var id1 = tk1[2]; name = id1; } else { var _this = this.tokens; _this.head = new haxe_ds_GenericCell(tk1,_this.head); } var inf = this.parseFunctionDecl(); var e2 = inf.body; var pmax = 0; return hscript_Expr.EFunction(inf.args,inf.body,name,inf.ret); case "if": var t3 = this.token(); if(t3 != hscript_Token.TPOpen) { this.unexpected(t3); } var cond = this.parseExpr(); var t4 = this.token(); if(t4 != hscript_Token.TPClose) { this.unexpected(t4); } var e11 = this.parseExpr(); var e21 = null; var semic = false; var tk2 = this.token(); if(tk2 == hscript_Token.TSemicolon) { semic = true; tk2 = this.token(); } if(Type.enumEq(tk2,hscript_Token.TId("else"))) { e21 = this.parseExpr(); } else { var _this1 = this.tokens; _this1.head = new haxe_ds_GenericCell(tk2,_this1.head); if(semic) { var _this2 = this.tokens; _this2.head = new haxe_ds_GenericCell(hscript_Token.TSemicolon,_this2.head); } } return hscript_Expr.EIf(cond,e11,e21); case "inline": if(!this.maybe(hscript_Token.TId("function"))) { this.unexpected(hscript_Token.TId("inline")); } return this.parseStructure("function"); case "new": var a = []; a.push(this.getIdent()); var next = true; while(next) { var tk3 = this.token(); switch(tk3[1]) { case 4: next = false; break; case 8: a.push(this.getIdent()); break; default: this.unexpected(tk3); } } var args = this.parseExprList(hscript_Token.TPClose); return hscript_Expr.ENew(a.join("."),args); case "return": var tk4 = this.token(); var _this3 = this.tokens; _this3.head = new haxe_ds_GenericCell(tk4,_this3.head); var e3 = tk4 == hscript_Token.TSemicolon ? null : this.parseExpr(); return hscript_Expr.EReturn(e3); case "switch": var e4 = this.parseExpr(); var def = null; var cases = []; var t5 = this.token(); if(t5 != hscript_Token.TBrOpen) { this.unexpected(t5); } try { while(true) { var tk5 = this.token(); switch(tk5[1]) { case 2: switch(tk5[2]) { case "case": var c = { values : [], expr : null}; cases.push(c); try { while(true) { var e5 = this.parseExpr(); c.values.push(e5); tk5 = this.token(); switch(tk5[1]) { case 9: break; case 14: throw "__break__"; break; default: this.unexpected(tk5); } } } catch( e ) { if( e != "__break__" ) throw e; } var exprs = []; try { while(true) { tk5 = this.token(); var _this4 = this.tokens; _this4.head = new haxe_ds_GenericCell(tk5,_this4.head); switch(tk5[1]) { case 2: switch(tk5[2]) { case "case":case "default": throw "__break__"; break; default: this.parseFullExpr(exprs); } break; case 7: throw "__break__"; break; default: this.parseFullExpr(exprs); } } } catch( e ) { if( e != "__break__" ) throw e; } var tmp; if(exprs.length == 1) { tmp = exprs[0]; } else if(exprs.length == 0) { tmp = hscript_Expr.EBlock([]); } else { var e6 = exprs[exprs.length - 1]; var pmax1 = 0; tmp = hscript_Expr.EBlock(exprs); } c.expr = tmp; break; case "default": if(def != null) { this.unexpected(tk5); } var t6 = this.token(); if(t6 != hscript_Token.TDoubleDot) { this.unexpected(t6); } var exprs1 = []; try { while(true) { tk5 = this.token(); var _this5 = this.tokens; _this5.head = new haxe_ds_GenericCell(tk5,_this5.head); switch(tk5[1]) { case 2: switch(tk5[2]) { case "case":case "default": throw "__break__"; break; default: this.parseFullExpr(exprs1); } break; case 7: throw "__break__"; break; default: this.parseFullExpr(exprs1); } } } catch( e ) { if( e != "__break__" ) throw e; } if(exprs1.length == 1) { def = exprs1[0]; } else if(exprs1.length == 0) { def = hscript_Expr.EBlock([]); } else { var e7 = exprs1[exprs1.length - 1]; var pmax2 = 0; def = hscript_Expr.EBlock(exprs1); } break; default: this.unexpected(tk5); } break; case 7: throw "__break__"; break; default: this.unexpected(tk5); } } } catch( e ) { if( e != "__break__" ) throw e; } return hscript_Expr.ESwitch(e4,cases,def); case "throw": var e8 = this.parseExpr(); return hscript_Expr.EThrow(e8); case "try": var e9 = this.parseExpr(); var t7 = this.token(); if(!Type.enumEq(t7,hscript_Token.TId("catch"))) { this.unexpected(t7); } var t8 = this.token(); if(t8 != hscript_Token.TPOpen) { this.unexpected(t8); } var vname1 = this.getIdent(); var t9 = this.token(); if(t9 != hscript_Token.TDoubleDot) { this.unexpected(t9); } var t10 = null; if(this.allowTypes) { t10 = this.parseType(); } else { var t11 = this.token(); if(!Type.enumEq(t11,hscript_Token.TId("Dynamic"))) { this.unexpected(t11); } } var t12 = this.token(); if(t12 != hscript_Token.TPClose) { this.unexpected(t12); } var ec = this.parseExpr(); return hscript_Expr.ETry(e9,vname1,t10,ec); case "var": var ident = this.getIdent(); var tk6 = this.token(); var t13 = null; if(tk6 == hscript_Token.TDoubleDot && this.allowTypes) { t13 = this.parseType(); tk6 = this.token(); } var e10 = null; if(Type.enumEq(tk6,hscript_Token.TOp("="))) { e10 = this.parseExpr(); } else { var _this6 = this.tokens; _this6.head = new haxe_ds_GenericCell(tk6,_this6.head); } return hscript_Expr.EVar(ident,t13,e10); case "while": var econd1 = this.parseExpr(); var e12 = this.parseExpr(); return hscript_Expr.EWhile(econd1,e12); default: return null; } } ,parseExprNext: function(e1) { var tk = this.token(); switch(tk[1]) { case 3: var op = tk[2]; if(this.unops.get(op)) { if(this.isBlock(e1) || e1[1] == 3) { var _this = this.tokens; _this.head = new haxe_ds_GenericCell(tk,_this.head); return e1; } return this.parseExprNext(hscript_Expr.EUnop(op,false,e1)); } return this.makeBinop(op,e1,this.parseExpr()); case 4: return this.parseExprNext(hscript_Expr.ECall(e1,this.parseExprList(hscript_Token.TPClose))); case 8: var field = this.getIdent(); return this.parseExprNext(hscript_Expr.EField(e1,field)); case 11: var e2 = this.parseExpr(); var t = this.token(); if(t != hscript_Token.TBkClose) { this.unexpected(t); } return this.parseExprNext(hscript_Expr.EArray(e1,e2)); case 13: var e21 = this.parseExpr(); var t1 = this.token(); if(t1 != hscript_Token.TDoubleDot) { this.unexpected(t1); } var e3 = this.parseExpr(); return hscript_Expr.ETernary(e1,e21,e3); default: var _this1 = this.tokens; _this1.head = new haxe_ds_GenericCell(tk,_this1.head); return e1; } } ,parseFunctionDecl: function() { var t = this.token(); if(t != hscript_Token.TPOpen) { this.unexpected(t); } var args = []; var tk = this.token(); if(tk != hscript_Token.TPClose) { var done = false; while(!done) { var name = null; var opt = false; if(tk[1] == 13) { opt = true; tk = this.token(); } if(tk[1] == 2) { var id = tk[2]; name = id; } else { this.unexpected(tk); } var arg = { name : name}; args.push(arg); if(opt) { arg.opt = true; } if(this.allowTypes) { if(this.maybe(hscript_Token.TDoubleDot)) { arg.t = this.parseType(); } if(this.maybe(hscript_Token.TOp("="))) { arg.value = this.parseExpr(); } } tk = this.token(); switch(tk[1]) { case 5: done = true; break; case 9: tk = this.token(); break; default: this.unexpected(tk); } } } var ret = null; if(this.allowTypes) { tk = this.token(); if(tk != hscript_Token.TDoubleDot) { var _this = this.tokens; _this.head = new haxe_ds_GenericCell(tk,_this.head); } else { ret = this.parseType(); } } return { args : args, ret : ret, body : this.parseExpr()}; } ,parsePath: function() { var path = [this.getIdent()]; while(true) { var t = this.token(); if(t != hscript_Token.TDot) { var _this = this.tokens; _this.head = new haxe_ds_GenericCell(t,_this.head); break; } path.push(this.getIdent()); } return path; } ,parseType: function() { var t = this.token(); switch(t[1]) { case 2: var v = t[2]; var _this = this.tokens; _this.head = new haxe_ds_GenericCell(t,_this.head); var path = this.parsePath(); var params = null; t = this.token(); if(t[1] == 3) { var op = t[2]; if(op == "<") { params = []; try { while(true) { params.push(this.parseType()); t = this.token(); switch(t[1]) { case 3: var op1 = t[2]; if(op1 == ">") { throw "__break__"; } if(HxOverrides.cca(op1,0) == 62) { var _this1 = this.tokens; _this1.head = new haxe_ds_GenericCell(hscript_Token.TOp(HxOverrides.substr(op1,1,null)),_this1.head); throw "__break__"; } break; case 9: continue; break; default: } this.unexpected(t); } } catch( e ) { if( e != "__break__" ) throw e; } } else { var _this2 = this.tokens; _this2.head = new haxe_ds_GenericCell(t,_this2.head); } } else { var _this3 = this.tokens; _this3.head = new haxe_ds_GenericCell(t,_this3.head); } return this.parseTypeNext(hscript_CType.CTPath(path,params)); case 4: var t1 = this.parseType(); var t2 = this.token(); if(t2 != hscript_Token.TPClose) { this.unexpected(t2); } return this.parseTypeNext(hscript_CType.CTParent(t1)); case 6: var fields = []; var meta = null; try { while(true) { t = this.token(); switch(t[1]) { case 2: if(t[2] == "var") { var name = this.getIdent(); var t3 = this.token(); if(t3 != hscript_Token.TDoubleDot) { this.unexpected(t3); } fields.push({ name : name, t : this.parseType(), meta : meta}); meta = null; var t4 = this.token(); if(t4 != hscript_Token.TSemicolon) { this.unexpected(t4); } } else { var name1 = t[2]; var t5 = this.token(); if(t5 != hscript_Token.TDoubleDot) { this.unexpected(t5); } fields.push({ name : name1, t : this.parseType(), meta : meta}); t = this.token(); switch(t[1]) { case 7: throw "__break__"; break; case 9: break; default: this.unexpected(t); } } break; case 7: throw "__break__"; break; case 15: var name2 = t[2]; if(meta == null) { meta = []; } meta.push({ name : name2, params : this.parseMetaArgs()}); break; default: this.unexpected(t); } } } catch( e ) { if( e != "__break__" ) throw e; } return this.parseTypeNext(hscript_CType.CTAnon(fields)); default: return this.unexpected(t); } } ,parseTypeNext: function(t) { var tk = this.token(); if(tk[1] == 3) { var op = tk[2]; if(op != "->") { var _this = this.tokens; _this.head = new haxe_ds_GenericCell(tk,_this.head); return t; } } else { var _this1 = this.tokens; _this1.head = new haxe_ds_GenericCell(tk,_this1.head); return t; } var t2 = this.parseType(); if(t2[1] == 1) { var args = t2[2]; args.unshift(t); return t2; } else { return hscript_CType.CTFun([t],t2); } } ,parseExprList: function(etk) { var args = []; var tk = this.token(); if(tk == etk) { return args; } var _this = this.tokens; _this.head = new haxe_ds_GenericCell(tk,_this.head); while(true) { args.push(this.parseExpr()); tk = this.token(); if(tk[1] != 9) { if(tk == etk) { break; } this.unexpected(tk); } } return args; } ,parseModule: function(content,origin) { if(origin == null) { origin = "hscript"; } this.initParser(origin); this.input = new haxe_io_StringInput(content); this.allowTypes = true; this.allowMetadata = true; var decls = []; while(true) { var tk = this.token(); if(tk == hscript_Token.TEof) { break; } var _this = this.tokens; _this.head = new haxe_ds_GenericCell(tk,_this.head); decls.push(this.parseModuleDecl()); } return decls; } ,parseMetadata: function() { var meta = []; while(true) { var tk = this.token(); if(tk[1] == 15) { var name = tk[2]; meta.push({ name : name, params : this.parseMetaArgs()}); } else { var _this = this.tokens; _this.head = new haxe_ds_GenericCell(tk,_this.head); break; } } return meta; } ,parseParams: function() { if(this.maybe(hscript_Token.TOp("<"))) { throw new js__$Boot_HaxeError(hscript_Error.EInvalidOp("Unsupported class type parameters")); } return { }; } ,parseModuleDecl: function() { var meta = this.parseMetadata(); var ident = this.getIdent(); var isPrivate = false; var isExtern = false; try { while(true) { switch(ident) { case "extern": isExtern = true; break; case "private": isPrivate = true; break; default: throw "__break__"; } ident = this.getIdent(); } } catch( e ) { if( e != "__break__" ) throw e; } switch(ident) { case "class": var name = this.getIdent(); var params = this.parseParams(); var extend = null; var implement = []; try { while(true) { var t = this.token(); if(t[1] == 2) { switch(t[2]) { case "extends": extend = this.parseType(); break; case "implements": implement.push(this.parseType()); break; default: var _this = this.tokens; _this.head = new haxe_ds_GenericCell(t,_this.head); throw "__break__"; } } else { var _this1 = this.tokens; _this1.head = new haxe_ds_GenericCell(t,_this1.head); throw "__break__"; } } } catch( e ) { if( e != "__break__" ) throw e; } var fields = []; var t1 = this.token(); if(t1 != hscript_Token.TBrOpen) { this.unexpected(t1); } while(!this.maybe(hscript_Token.TBrClose)) fields.push(this.parseField()); return hscript_ModuleDecl.DClass({ name : name, meta : meta, params : params, extend : extend, implement : implement, fields : fields, isPrivate : isPrivate, isExtern : isExtern}); case "import": var path = [this.getIdent()]; var star = false; while(true) { var t2 = this.token(); if(t2 != hscript_Token.TDot) { var _this2 = this.tokens; _this2.head = new haxe_ds_GenericCell(t2,_this2.head); break; } t2 = this.token(); switch(t2[1]) { case 2: var id = t2[2]; path.push(id); break; case 3: if(t2[2] == "*") { star = true; } else { this.unexpected(t2); } break; default: this.unexpected(t2); } } var t3 = this.token(); if(t3 != hscript_Token.TSemicolon) { this.unexpected(t3); } return hscript_ModuleDecl.DImport(path,star); case "package": var path1 = this.parsePath(); var t4 = this.token(); if(t4 != hscript_Token.TSemicolon) { this.unexpected(t4); } return hscript_ModuleDecl.DPackage(path1); case "typedef": var name1 = this.getIdent(); var params1 = this.parseParams(); var t5 = this.token(); if(!Type.enumEq(t5,hscript_Token.TOp("="))) { this.unexpected(t5); } var t6 = this.parseType(); return hscript_ModuleDecl.DTypedef({ name : name1, meta : meta, params : params1, isPrivate : isPrivate, t : t6}); default: this.unexpected(hscript_Token.TId(ident)); } return null; } ,parseField: function() { var meta = this.parseMetadata(); var access = []; while(true) { var id = this.getIdent(); switch(id) { case "function": var name = this.getIdent(); var inf = this.parseFunctionDecl(); return { name : name, meta : meta, access : access, kind : hscript_FieldKind.KFunction({ args : inf.args, expr : inf.body, ret : inf.ret})}; case "inline": access.push(hscript_FieldAccess.AInline); break; case "macro": access.push(hscript_FieldAccess.AMacro); break; case "override": access.push(hscript_FieldAccess.AOverride); break; case "private": access.push(hscript_FieldAccess.APrivate); break; case "public": access.push(hscript_FieldAccess.APublic); break; case "static": access.push(hscript_FieldAccess.AStatic); break; case "var": var name1 = this.getIdent(); var get = null; var set = null; if(this.maybe(hscript_Token.TPOpen)) { get = this.getIdent(); var t = this.token(); if(t != hscript_Token.TComma) { this.unexpected(t); } set = this.getIdent(); var t1 = this.token(); if(t1 != hscript_Token.TPClose) { this.unexpected(t1); } } var type = this.maybe(hscript_Token.TDoubleDot) ? this.parseType() : null; var expr = this.maybe(hscript_Token.TOp("=")) ? this.parseExpr() : null; if(expr != null) { if(this.isBlock(expr)) { this.maybe(hscript_Token.TSemicolon); } else { var t2 = this.token(); if(t2 != hscript_Token.TSemicolon) { this.unexpected(t2); } } } else if(type != null && type[1] == 2) { this.maybe(hscript_Token.TSemicolon); } else { var t3 = this.token(); if(t3 != hscript_Token.TSemicolon) { this.unexpected(t3); } } return { name : name1, meta : meta, access : access, kind : hscript_FieldKind.KVar({ get : get, set : set, type : type, expr : expr})}; default: this.unexpected(hscript_Token.TId(id)); } } } ,incPos: function() { } ,readChar: function() { try { return this.input.readByte(); } catch( e ) { haxe_CallStack.lastException = e; return 0; } } ,readString: function(until) { var c = 0; var b = new haxe_io_BytesOutput(); var esc = false; var old = this.line; var s = this.input; while(true) { try { c = s.readByte(); } catch( e ) { haxe_CallStack.lastException = e; this.line = old; throw new js__$Boot_HaxeError(hscript_Error.EUnterminatedString); } if(esc) { esc = false; switch(c) { case 34:case 39:case 92: b.writeByte(c); break; case 47: if(this.allowJSON) { b.writeByte(c); } else { this.invalidChar(c); } break; case 110: b.writeByte(10); break; case 114: b.writeByte(13); break; case 116: b.writeByte(9); break; case 117: if(!this.allowJSON) { this.invalidChar(c); } var code = null; try { code = s.readString(4); } catch( e1 ) { haxe_CallStack.lastException = e1; this.line = old; throw new js__$Boot_HaxeError(hscript_Error.EUnterminatedString); } var k = 0; var _g = 0; while(_g < 4) { var i = _g++; k <<= 4; var $char = HxOverrides.cca(code,i); if($char == null) { this.invalidChar($char); } else { switch($char) { case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57: k += $char - 48; break; case 65:case 66:case 67:case 68:case 69:case 70: k += $char - 55; break; case 97:case 98:case 99:case 100:case 101:case 102: k += $char - 87; break; default: this.invalidChar($char); } } } if(k <= 127) { b.writeByte(k); } else if(k <= 2047) { b.writeByte(192 | k >> 6); b.writeByte(128 | k & 63); } else { b.writeByte(224 | k >> 12); b.writeByte(128 | k >> 6 & 63); b.writeByte(128 | k & 63); } break; default: this.invalidChar(c); } } else if(c == 92) { esc = true; } else if(c == until) { break; } else { if(c == 10) { this.line++; } b.writeByte(c); } } return b.getBytes().toString(); } ,token: function() { if(this.tokens.head != null) { var _this = this.tokens; var k = _this.head; if(k == null) { return null; } else { _this.head = k.next; return k.elt; } } var $char; if(this["char"] < 0) { $char = this.readChar(); } else { $char = this["char"]; this["char"] = -1; } while(true) { switch($char) { case 0: return hscript_Token.TEof; case 10: this.line++; break; case 9:case 13:case 32: break; case 35: $char = this.readChar(); if(this.idents[$char]) { var id = String.fromCharCode($char); while(true) { $char = this.readChar(); if(!this.idents[$char]) { this["char"] = $char; return this.preprocess(id); } id += String.fromCharCode($char); } } this.invalidChar($char); break; case 34:case 39: return hscript_Token.TConst(hscript_Const.CString(this.readString($char))); case 40: return hscript_Token.TPOpen; case 41: return hscript_Token.TPClose; case 44: return hscript_Token.TComma; case 46: $char = this.readChar(); switch($char) { case 46: $char = this.readChar(); if($char != 46) { this.invalidChar($char); } return hscript_Token.TOp("..."); case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57: var n = $char - 48; var exp = 1; while(true) { $char = this.readChar(); exp *= 10; switch($char) { case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57: n = n * 10 + ($char - 48); break; default: this["char"] = $char; return hscript_Token.TConst(hscript_Const.CFloat(n / exp)); } } break; default: this["char"] = $char; return hscript_Token.TDot; } break; case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57: var n1 = ($char - 48) * 1.0; var exp1 = 0.; while(true) { $char = this.readChar(); exp1 *= 10; switch($char) { case 46: if(exp1 > 0) { if(exp1 == 10 && this.readChar() == 46) { var _this1 = this.tokens; _this1.head = new haxe_ds_GenericCell(hscript_Token.TOp("..."),_this1.head); var i = n1 | 0; return hscript_Token.TConst(i == n1 ? hscript_Const.CInt(i) : hscript_Const.CFloat(n1)); } this.invalidChar($char); } exp1 = 1.; break; case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57: n1 = n1 * 10 + ($char - 48); break; case 69:case 101: var tk = this.token(); var pow = null; switch(tk[1]) { case 1: if(tk[2][1] == 0) { var e = tk[2][2]; pow = e; } else { var _this2 = this.tokens; _this2.head = new haxe_ds_GenericCell(tk,_this2.head); } break; case 3: if(tk[2] == "-") { tk = this.token(); if(tk[1] == 1) { if(tk[2][1] == 0) { var e1 = tk[2][2]; pow = -e1; } else { var _this3 = this.tokens; _this3.head = new haxe_ds_GenericCell(tk,_this3.head); } } else { var _this4 = this.tokens; _this4.head = new haxe_ds_GenericCell(tk,_this4.head); } } else { var _this5 = this.tokens; _this5.head = new haxe_ds_GenericCell(tk,_this5.head); } break; default: var _this6 = this.tokens; _this6.head = new haxe_ds_GenericCell(tk,_this6.head); } if(pow == null) { this.invalidChar($char); } return hscript_Token.TConst(hscript_Const.CFloat(Math.pow(10,pow) / exp1 * n1 * 10)); case 120: if(n1 > 0 || exp1 > 0) { this.invalidChar($char); } var n2 = 0; while(true) { $char = this.readChar(); switch($char) { case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57: n2 = (n2 << 4) + $char - 48; break; case 65:case 66:case 67:case 68:case 69:case 70: n2 = (n2 << 4) + ($char - 55); break; case 97:case 98:case 99:case 100:case 101:case 102: n2 = (n2 << 4) + ($char - 87); break; default: this["char"] = $char; return hscript_Token.TConst(hscript_Const.CInt(n2)); } } break; default: this["char"] = $char; var i1 = n1 | 0; return hscript_Token.TConst(exp1 > 0 ? hscript_Const.CFloat(n1 * 10 / exp1) : i1 == n1 ? hscript_Const.CInt(i1) : hscript_Const.CFloat(n1)); } } break; case 58: return hscript_Token.TDoubleDot; case 59: return hscript_Token.TSemicolon; case 61: $char = this.readChar(); if($char == 61) { return hscript_Token.TOp("=="); } else if($char == 62) { return hscript_Token.TOp("=>"); } this["char"] = $char; return hscript_Token.TOp("="); case 63: return hscript_Token.TQuestion; case 64: $char = this.readChar(); if(this.idents[$char] || $char == 58) { var id1 = String.fromCharCode($char); while(true) { $char = this.readChar(); if(!this.idents[$char]) { this["char"] = $char; return hscript_Token.TMeta(id1); } id1 += String.fromCharCode($char); } } this.invalidChar($char); break; case 91: return hscript_Token.TBkOpen; case 93: return hscript_Token.TBkClose; case 123: return hscript_Token.TBrOpen; case 125: return hscript_Token.TBrClose; default: if(this.ops[$char]) { var op = String.fromCharCode($char); var prev = -1; while(true) { $char = this.readChar(); if(!this.ops[$char] || prev == 61) { if(HxOverrides.cca(op,0) == 47) { return this.tokenComment(op,$char); } this["char"] = $char; return hscript_Token.TOp(op); } prev = $char; op += String.fromCharCode($char); } } if(this.idents[$char]) { var id2 = String.fromCharCode($char); while(true) { $char = this.readChar(); if(!this.idents[$char]) { this["char"] = $char; return hscript_Token.TId(id2); } id2 += String.fromCharCode($char); } } this.invalidChar($char); } $char = this.readChar(); } } ,preprocValue: function(id) { var _this = this.preprocesorValues; if(__map_reserved[id] != null) { return _this.getReserved(id); } else { return _this.h[id]; } } ,preprocStack: null ,parsePreproCond: function() { var tk = this.token(); switch(tk[1]) { case 2: var id = tk[2]; return hscript_Expr.EIdent(id); case 3: if(tk[2] == "!") { return hscript_Expr.EUnop("!",true,this.parsePreproCond()); } else { return this.unexpected(tk); } break; case 4: var _this = this.tokens; _this.head = new haxe_ds_GenericCell(hscript_Token.TPOpen,_this.head); return this.parseExpr(); default: return this.unexpected(tk); } } ,evalPreproCond: function(e) { switch(e[1]) { case 1: var id = e[2]; return this.preprocValue(id) != null; case 3: var e1 = e[2]; return this.evalPreproCond(e1); case 6: switch(e[2]) { case "&&": var e2 = e[4]; var e11 = e[3]; if(this.evalPreproCond(e11)) { return this.evalPreproCond(e2); } else { return false; } break; case "||": var e21 = e[4]; var e12 = e[3]; if(!this.evalPreproCond(e12)) { return this.evalPreproCond(e21); } else { return true; } break; default: throw new js__$Boot_HaxeError(hscript_Error.EInvalidPreprocessor("Can't eval " + e[0])); } break; case 7: if(e[2] == "!") { var e3 = e[4]; return !this.evalPreproCond(e3); } else { throw new js__$Boot_HaxeError(hscript_Error.EInvalidPreprocessor("Can't eval " + e[0])); } break; default: throw new js__$Boot_HaxeError(hscript_Error.EInvalidPreprocessor("Can't eval " + e[0])); } } ,preprocess: function(id) { switch(id) { case "else":case "elseif": if(this.preprocStack.length > 0) { if(this.preprocStack[this.preprocStack.length - 1].r) { this.preprocStack[this.preprocStack.length - 1].r = false; this.skipTokens(); return this.token(); } else if(id == "else") { this.preprocStack.pop(); this.preprocStack.push({ r : true}); return this.token(); } else { this.preprocStack.pop(); return this.preprocess("if"); } } else { return hscript_Token.TPrepro(id); } break; case "end": if(this.preprocStack.length > 0) { this.preprocStack.pop(); return this.token(); } else { return hscript_Token.TPrepro(id); } break; case "if": var e = this.parsePreproCond(); if(this.evalPreproCond(e)) { this.preprocStack.push({ r : true}); return this.token(); } this.preprocStack.push({ r : false}); this.skipTokens(); return this.token(); default: return hscript_Token.TPrepro(id); } } ,skipTokens: function() { var spos = this.preprocStack.length - 1; var obj = this.preprocStack[spos]; var pos = 0; while(true) { var tk = this.token(); if(tk == hscript_Token.TEof) { throw new js__$Boot_HaxeError(hscript_Error.EInvalidPreprocessor("Unclosed")); } if(this.preprocStack[spos] != obj) { var _this = this.tokens; _this.head = new haxe_ds_GenericCell(tk,_this.head); break; } } } ,tokenComment: function(op,$char) { var c = HxOverrides.cca(op,1); var s = this.input; if(c == 47) { try { while($char != 13 && $char != 10) $char = s.readByte(); this["char"] = $char; } catch( e ) { haxe_CallStack.lastException = e; } return this.token(); } if(c == 42) { var old = this.line; if(op == "/**/") { this["char"] = $char; return this.token(); } try { while(true) { while($char != 42) { if($char == 10) { this.line++; } $char = s.readByte(); } $char = s.readByte(); if($char == 47) { break; } } } catch( e1 ) { haxe_CallStack.lastException = e1; this.line = old; throw new js__$Boot_HaxeError(hscript_Error.EUnterminatedComment); } return this.token(); } this["char"] = $char; return hscript_Token.TOp(op); } ,constString: function(c) { switch(c[1]) { case 0: var v = c[2]; if(v == null) { return "null"; } else { return "" + v; } break; case 1: var f = c[2]; if(f == null) { return "null"; } else { return "" + f; } break; case 2: var s = c[2]; return s; } } ,tokenString: function(t) { switch(t[1]) { case 0: return ""; case 1: var c = t[2]; return this.constString(c); case 2: var s = t[2]; return s; case 3: var s1 = t[2]; return s1; case 4: return "("; case 5: return ")"; case 6: return "{"; case 7: return "}"; case 8: return "."; case 9: return ","; case 10: return ";"; case 11: return "["; case 12: return "]"; case 13: return "?"; case 14: return ":"; case 15: var id = t[2]; return "@" + id; case 16: var id1 = t[2]; return "#" + id1; } } ,__class__: hscript_Parser }; var js__$Boot_HaxeError = function(val) { Error.call(this); this.val = val; this.message = String(val); if(Error.captureStackTrace) { Error.captureStackTrace(this,js__$Boot_HaxeError); } }; $hxClasses["js._Boot.HaxeError"] = js__$Boot_HaxeError; js__$Boot_HaxeError.__name__ = ["js","_Boot","HaxeError"]; js__$Boot_HaxeError.wrap = function(val) { if((val instanceof Error)) { return val; } else { return new js__$Boot_HaxeError(val); } }; js__$Boot_HaxeError.__super__ = Error; js__$Boot_HaxeError.prototype = $extend(Error.prototype,{ val: null ,__class__: js__$Boot_HaxeError }); var js_Browser = function() { }; $hxClasses["js.Browser"] = js_Browser; js_Browser.__name__ = ["js","Browser"]; js_Browser.getLocalStorage = function() { try { var s = window.localStorage; s.getItem(""); return s; } catch( e ) { haxe_CallStack.lastException = e; return null; } }; js_Browser.alert = function(v) { window.alert(js_Boot.__string_rec(v,"")); }; var js_html__$CanvasElement_CanvasUtil = function() { }; $hxClasses["js.html._CanvasElement.CanvasUtil"] = js_html__$CanvasElement_CanvasUtil; js_html__$CanvasElement_CanvasUtil.__name__ = ["js","html","_CanvasElement","CanvasUtil"]; js_html__$CanvasElement_CanvasUtil.getContextWebGL = function(canvas,attribs) { var _g = 0; var _g1 = ["webgl","experimental-webgl"]; while(_g < _g1.length) { var name = _g1[_g]; ++_g; var ctx = canvas.getContext(name,attribs); if(ctx != null) { return ctx; } } return null; }; var js_html_compat_ArrayBuffer = function(a) { if((a instanceof Array) && a.__enum__ == null) { this.a = a; this.byteLength = a.length; } else { var len = a; this.a = []; var _g1 = 0; var _g = len; while(_g1 < _g) { var i = _g1++; this.a[i] = 0; } this.byteLength = len; } }; $hxClasses["js.html.compat.ArrayBuffer"] = js_html_compat_ArrayBuffer; js_html_compat_ArrayBuffer.__name__ = ["js","html","compat","ArrayBuffer"]; js_html_compat_ArrayBuffer.sliceImpl = function(begin,end) { var u = new Uint8Array(this,begin,end == null ? null : end - begin); var result = new ArrayBuffer(u.byteLength); var resultArray = new Uint8Array(result); resultArray.set(u); return result; }; js_html_compat_ArrayBuffer.prototype = { byteLength: null ,a: null ,slice: function(begin,end) { return new js_html_compat_ArrayBuffer(this.a.slice(begin,end)); } ,__class__: js_html_compat_ArrayBuffer }; var js_html_compat_DataView = function(buffer,byteOffset,byteLength) { this.buf = buffer; this.offset = byteOffset == null ? 0 : byteOffset; this.length = byteLength == null ? buffer.byteLength - this.offset : byteLength; if(this.offset < 0 || this.length < 0 || this.offset + this.length > buffer.byteLength) { throw new js__$Boot_HaxeError(haxe_io_Error.OutsideBounds); } this.byteLength = this.length; this.byteOffset = this.offset; this.buffer = this.buf; }; $hxClasses["js.html.compat.DataView"] = js_html_compat_DataView; js_html_compat_DataView.__name__ = ["js","html","compat","DataView"]; js_html_compat_DataView.prototype = { buf: null ,offset: null ,length: null ,byteLength: null ,byteOffset: null ,buffer: null ,getInt8: function(byteOffset) { var v = this.buf.a[this.offset + byteOffset]; if(v >= 128) { return v - 256; } else { return v; } } ,getUint8: function(byteOffset) { return this.buf.a[this.offset + byteOffset]; } ,getInt16: function(byteOffset,littleEndian) { var v = this.getUint16(byteOffset,littleEndian); if(v >= 32768) { return v - 65536; } else { return v; } } ,getUint16: function(byteOffset,littleEndian) { if(littleEndian) { return this.buf.a[this.offset + byteOffset] | this.buf.a[this.offset + byteOffset + 1] << 8; } else { return this.buf.a[this.offset + byteOffset] << 8 | this.buf.a[this.offset + byteOffset + 1]; } } ,getInt32: function(byteOffset,littleEndian) { var p = this.offset + byteOffset; var a = this.buf.a[p++]; var b = this.buf.a[p++]; var c = this.buf.a[p++]; var d = this.buf.a[p++]; if(littleEndian) { return a | b << 8 | c << 16 | d << 24; } else { return d | c << 8 | b << 16 | a << 24; } } ,getUint32: function(byteOffset,littleEndian) { var v = this.getInt32(byteOffset,littleEndian); if(v < 0) { return v + 4294967296.; } else { return v; } } ,getFloat32: function(byteOffset,littleEndian) { return haxe_io_FPHelper.i32ToFloat(this.getInt32(byteOffset,littleEndian)); } ,getFloat64: function(byteOffset,littleEndian) { var a = this.getInt32(byteOffset,littleEndian); var b = this.getInt32(byteOffset + 4,littleEndian); return haxe_io_FPHelper.i64ToDouble(littleEndian ? a : b,littleEndian ? b : a); } ,setInt8: function(byteOffset,value) { this.buf.a[byteOffset + this.offset] = value < 0 ? value + 128 & 255 : value & 255; } ,setUint8: function(byteOffset,value) { this.buf.a[byteOffset + this.offset] = value & 255; } ,setInt16: function(byteOffset,value,littleEndian) { this.setUint16(byteOffset,value < 0 ? value + 65536 : value,littleEndian); } ,setUint16: function(byteOffset,value,littleEndian) { var p = byteOffset + this.offset; if(littleEndian) { this.buf.a[p] = value & 255; this.buf.a[p++] = value >> 8 & 255; } else { this.buf.a[p++] = value >> 8 & 255; this.buf.a[p] = value & 255; } } ,setInt32: function(byteOffset,value,littleEndian) { this.setUint32(byteOffset,value,littleEndian); } ,setUint32: function(byteOffset,value,littleEndian) { var p = byteOffset + this.offset; if(littleEndian) { this.buf.a[p++] = value & 255; this.buf.a[p++] = value >> 8 & 255; this.buf.a[p++] = value >> 16 & 255; this.buf.a[p++] = value >>> 24; } else { this.buf.a[p++] = value >>> 24; this.buf.a[p++] = value >> 16 & 255; this.buf.a[p++] = value >> 8 & 255; this.buf.a[p++] = value & 255; } } ,setFloat32: function(byteOffset,value,littleEndian) { this.setUint32(byteOffset,haxe_io_FPHelper.floatToI32(value),littleEndian); } ,setFloat64: function(byteOffset,value,littleEndian) { var i64 = haxe_io_FPHelper.doubleToI64(value); if(littleEndian) { this.setUint32(byteOffset,i64.low); this.setUint32(byteOffset,i64.high); } else { this.setUint32(byteOffset,i64.high); this.setUint32(byteOffset,i64.low); } } ,__class__: js_html_compat_DataView }; var js_html_compat_Float32Array = function() { }; $hxClasses["js.html.compat.Float32Array"] = js_html_compat_Float32Array; js_html_compat_Float32Array.__name__ = ["js","html","compat","Float32Array"]; js_html_compat_Float32Array._new = function(arg1,offset,length) { var arr; if(typeof(arg1) == "number") { arr = []; var _g1 = 0; var _g = arg1; while(_g1 < _g) { var i = _g1++; arr[i] = 0; } arr.byteLength = arr.length << 2; arr.byteOffset = 0; var _g2 = []; var _g21 = 0; var _g11 = arr.length << 2; while(_g21 < _g11) { var i1 = _g21++; _g2.push(0); } arr.buffer = new js_html_compat_ArrayBuffer(_g2); } else if(js_Boot.__instanceof(arg1,js_html_compat_ArrayBuffer)) { var buffer = arg1; if(offset == null) { offset = 0; } if(length == null) { length = buffer.byteLength - offset >> 2; } arr = []; var _g12 = 0; var _g3 = length; while(_g12 < _g3) { var i2 = _g12++; var val = buffer.a[offset++] | buffer.a[offset++] << 8 | buffer.a[offset++] << 16 | buffer.a[offset++] << 24; arr.push(haxe_io_FPHelper.i32ToFloat(val)); } arr.byteLength = arr.length << 2; arr.byteOffset = offset; arr.buffer = buffer; } else if((arg1 instanceof Array) && arg1.__enum__ == null) { arr = arg1.slice(); var buffer1 = []; var _g4 = 0; while(_g4 < arr.length) { var f = arr[_g4]; ++_g4; var i3 = haxe_io_FPHelper.floatToI32(f); buffer1.push(i3 & 255); buffer1.push(i3 >> 8 & 255); buffer1.push(i3 >> 16 & 255); buffer1.push(i3 >>> 24); } arr.byteLength = arr.length << 2; arr.byteOffset = 0; arr.buffer = new js_html_compat_ArrayBuffer(buffer1); } else { throw new js__$Boot_HaxeError("TODO " + Std.string(arg1)); } arr.subarray = js_html_compat_Float32Array._subarray; arr.set = js_html_compat_Float32Array._set; return arr; }; js_html_compat_Float32Array._set = function(arg,offset) { if(js_Boot.__instanceof(arg.buffer,js_html_compat_ArrayBuffer)) { var a = arg; if(arg.byteLength + offset > this.byteLength) { throw new js__$Boot_HaxeError("set() outside of range"); } var _g1 = 0; var _g = arg.byteLength; while(_g1 < _g) { var i = _g1++; this[i + offset] = a[i]; } } else if((arg instanceof Array) && arg.__enum__ == null) { var a1 = arg; if(a1.length + offset > this.byteLength) { throw new js__$Boot_HaxeError("set() outside of range"); } var _g11 = 0; var _g2 = a1.length; while(_g11 < _g2) { var i1 = _g11++; this[i1 + offset] = a1[i1]; } } else { throw new js__$Boot_HaxeError("TODO"); } }; js_html_compat_Float32Array._subarray = function(start,end) { var a = js_html_compat_Float32Array._new(this.slice(start,end)); a.byteOffset = start * 4; return a; }; var js_html_compat_Float64Array = function() { }; $hxClasses["js.html.compat.Float64Array"] = js_html_compat_Float64Array; js_html_compat_Float64Array.__name__ = ["js","html","compat","Float64Array"]; js_html_compat_Float64Array._new = function(arg1,offset,length) { var arr; if(typeof(arg1) == "number") { arr = []; var _g1 = 0; var _g = arg1; while(_g1 < _g) { var i = _g1++; arr[i] = 0; } arr.byteLength = arr.length << 3; arr.byteOffset = 0; var _g2 = []; var _g21 = 0; var _g11 = arr.length << 3; while(_g21 < _g11) { var i1 = _g21++; _g2.push(0); } arr.buffer = new js_html_compat_ArrayBuffer(_g2); } else if(js_Boot.__instanceof(arg1,js_html_compat_ArrayBuffer)) { var buffer = arg1; if(offset == null) { offset = 0; } if(length == null) { length = buffer.byteLength - offset >> 3; } arr = []; var _g12 = 0; var _g3 = length; while(_g12 < _g3) { var i2 = _g12++; var val1 = buffer.a[offset++] | buffer.a[offset++] << 8 | buffer.a[offset++] << 16 | buffer.a[offset++] << 24; var val2 = buffer.a[offset++] | buffer.a[offset++] << 8 | buffer.a[offset++] << 16 | buffer.a[offset++] << 24; arr.push(haxe_io_FPHelper.i64ToDouble(val1,val2)); } arr.byteLength = arr.length << 3; arr.byteOffset = offset; arr.buffer = buffer; } else if((arg1 instanceof Array) && arg1.__enum__ == null) { arr = arg1.slice(); var buffer1 = []; var _g4 = 0; while(_g4 < arr.length) { var f = arr[_g4]; ++_g4; var v = haxe_io_FPHelper.doubleToI64(f); var i3 = v.low; buffer1.push(i3 & 255); buffer1.push(i3 >> 8 & 255); buffer1.push(i3 >> 16 & 255); buffer1.push(i3 >>> 24); var i4 = v.high; buffer1.push(i4 & 255); buffer1.push(i4 >> 8 & 255); buffer1.push(i4 >> 16 & 255); buffer1.push(i4 >>> 24); } arr.byteLength = arr.length << 3; arr.byteOffset = 0; arr.buffer = new js_html_compat_ArrayBuffer(buffer1); } else { throw new js__$Boot_HaxeError("TODO " + Std.string(arg1)); } arr.subarray = js_html_compat_Float64Array._subarray; arr.set = js_html_compat_Float64Array._set; return arr; }; js_html_compat_Float64Array._set = function(arg,offset) { if(js_Boot.__instanceof(arg.buffer,js_html_compat_ArrayBuffer)) { var a = arg; if(arg.byteLength + offset > this.byteLength) { throw new js__$Boot_HaxeError("set() outside of range"); } var _g1 = 0; var _g = arg.byteLength; while(_g1 < _g) { var i = _g1++; this[i + offset] = a[i]; } } else if((arg instanceof Array) && arg.__enum__ == null) { var a1 = arg; if(a1.length + offset > this.byteLength) { throw new js__$Boot_HaxeError("set() outside of range"); } var _g11 = 0; var _g2 = a1.length; while(_g11 < _g2) { var i1 = _g11++; this[i1 + offset] = a1[i1]; } } else { throw new js__$Boot_HaxeError("TODO"); } }; js_html_compat_Float64Array._subarray = function(start,end) { var a = js_html_compat_Float64Array._new(this.slice(start,end)); a.byteOffset = start * 8; return a; }; var js_html_compat_Uint8Array = function() { }; $hxClasses["js.html.compat.Uint8Array"] = js_html_compat_Uint8Array; js_html_compat_Uint8Array.__name__ = ["js","html","compat","Uint8Array"]; js_html_compat_Uint8Array._new = function(arg1,offset,length) { var arr; if(typeof(arg1) == "number") { arr = []; var _g1 = 0; var _g = arg1; while(_g1 < _g) { var i = _g1++; arr[i] = 0; } arr.byteLength = arr.length; arr.byteOffset = 0; arr.buffer = new js_html_compat_ArrayBuffer(arr); } else if(js_Boot.__instanceof(arg1,js_html_compat_ArrayBuffer)) { var buffer = arg1; if(offset == null) { offset = 0; } if(length == null) { length = buffer.byteLength - offset; } if(offset == 0) { arr = buffer.a; } else { arr = buffer.a.slice(offset,offset + length); } arr.byteLength = arr.length; arr.byteOffset = offset; arr.buffer = buffer; } else if((arg1 instanceof Array) && arg1.__enum__ == null) { arr = arg1.slice(); arr.byteLength = arr.length; arr.byteOffset = 0; arr.buffer = new js_html_compat_ArrayBuffer(arr); } else { throw new js__$Boot_HaxeError("TODO " + Std.string(arg1)); } arr.subarray = js_html_compat_Uint8Array._subarray; arr.set = js_html_compat_Uint8Array._set; return arr; }; js_html_compat_Uint8Array._set = function(arg,offset) { if(js_Boot.__instanceof(arg.buffer,js_html_compat_ArrayBuffer)) { var a = arg; if(arg.byteLength + offset > this.byteLength) { throw new js__$Boot_HaxeError("set() outside of range"); } var _g1 = 0; var _g = arg.byteLength; while(_g1 < _g) { var i = _g1++; this[i + offset] = a[i]; } } else if((arg instanceof Array) && arg.__enum__ == null) { var a1 = arg; if(a1.length + offset > this.byteLength) { throw new js__$Boot_HaxeError("set() outside of range"); } var _g11 = 0; var _g2 = a1.length; while(_g11 < _g2) { var i1 = _g11++; this[i1 + offset] = a1[i1]; } } else { throw new js__$Boot_HaxeError("TODO"); } }; js_html_compat_Uint8Array._subarray = function(start,end) { var a = js_html_compat_Uint8Array._new(this.slice(start,end)); a.byteOffset = start; return a; }; var lime__$internal_backend_html5_GameDeviceData = function() { this.connected = true; this.buttons = []; this.axes = []; }; $hxClasses["lime._internal.backend.html5.GameDeviceData"] = lime__$internal_backend_html5_GameDeviceData; lime__$internal_backend_html5_GameDeviceData.__name__ = ["lime","_internal","backend","html5","GameDeviceData"]; lime__$internal_backend_html5_GameDeviceData.prototype = { connected: null ,id: null ,isGamepad: null ,buttons: null ,axes: null ,__class__: lime__$internal_backend_html5_GameDeviceData }; var lime__$internal_backend_html5_HTML5AudioSource = function(parent) { this.parent = parent; this.id = -1; this.gain = 1; this.position = new lime_math_Vector4(); }; $hxClasses["lime._internal.backend.html5.HTML5AudioSource"] = lime__$internal_backend_html5_HTML5AudioSource; lime__$internal_backend_html5_HTML5AudioSource.__name__ = ["lime","_internal","backend","html5","HTML5AudioSource"]; lime__$internal_backend_html5_HTML5AudioSource.prototype = { completed: null ,gain: null ,id: null ,length: null ,loops: null ,parent: null ,playing: null ,position: null ,dispose: function() { } ,init: function() { } ,play: function() { if(this.playing || this.parent.buffer == null || this.parent.buffer.__srcHowl == null) { return; } this.playing = true; var time = this.getCurrentTime(); this.completed = false; var cacheVolume = this.parent.buffer.__srcHowl._volume; this.parent.buffer.__srcHowl._volume = this.parent.get_gain(); this.id = this.parent.buffer.__srcHowl.play(); this.parent.buffer.__srcHowl._volume = cacheVolume; this.setPosition(this.parent.get_position()); this.parent.buffer.__srcHowl.on("end",$bind(this,this.howl_onEnd),this.id); this.setCurrentTime(time); } ,pause: function() { this.playing = false; if(this.parent.buffer != null && this.parent.buffer.__srcHowl != null) { this.parent.buffer.__srcHowl.pause(this.id); } } ,stop: function() { this.playing = false; if(this.parent.buffer != null && this.parent.buffer.__srcHowl != null) { this.parent.buffer.__srcHowl.stop(this.id); } } ,howl_onEnd: function() { this.playing = false; if(this.loops > 0) { this.loops--; this.stop(); this.play(); return; } else if(this.parent.buffer != null && this.parent.buffer.__srcHowl != null) { this.parent.buffer.__srcHowl.stop(this.id); } this.completed = true; this.parent.onComplete.dispatch(); } ,getCurrentTime: function() { if(this.id == -1) { return 0; } if(this.completed) { return this.getLength(); } else if(this.parent.buffer != null && this.parent.buffer.__srcHowl != null) { var time = (this.parent.buffer.__srcHowl.seek(this.id) * 1000 | 0) - this.parent.offset; if(time < 0) { return 0; } return time; } return 0; } ,setCurrentTime: function(value) { if(this.parent.buffer != null && this.parent.buffer.__srcHowl != null) { var pos = (value + this.parent.offset) / 1000; if(pos < 0) { pos = 0; } this.parent.buffer.__srcHowl.seek(pos,this.id); } return value; } ,getGain: function() { return this.gain; } ,setGain: function(value) { if(this.parent.buffer != null && this.parent.buffer.__srcHowl != null && this.id != -1) { this.parent.buffer.__srcHowl.volume(value,this.id); } return this.gain = value; } ,getLength: function() { if(this.length != 0) { return this.length; } if(this.parent.buffer != null && this.parent.buffer.__srcHowl != null) { return this.parent.buffer.__srcHowl.duration() * 1000 | 0; } return 0; } ,setLength: function(value) { return this.length = value; } ,getLoops: function() { return this.loops; } ,setLoops: function(value) { return this.loops = value; } ,getPosition: function() { return this.position; } ,setPosition: function(value) { this.position.x = value.x; this.position.y = value.y; this.position.z = value.z; this.position.w = value.w; if(this.parent.buffer.__srcHowl != null && ($_=this.parent.buffer.__srcHowl,$bind($_,$_.pos)) != null) { this.parent.buffer.__srcHowl.pos(this.position.x,this.position.y,this.position.z,this.id); } return this.position; } ,__class__: lime__$internal_backend_html5_HTML5AudioSource }; var lime__$internal_backend_html5_HTML5HTTPRequest = function() { this.validStatus0 = new EReg("Tizen","gi").match(window.navigator.userAgent); }; $hxClasses["lime._internal.backend.html5.HTML5HTTPRequest"] = lime__$internal_backend_html5_HTML5HTTPRequest; lime__$internal_backend_html5_HTML5HTTPRequest.__name__ = ["lime","_internal","backend","html5","HTML5HTTPRequest"]; lime__$internal_backend_html5_HTML5HTTPRequest.originElement = null; lime__$internal_backend_html5_HTML5HTTPRequest.originHostname = null; lime__$internal_backend_html5_HTML5HTTPRequest.originPort = null; lime__$internal_backend_html5_HTML5HTTPRequest.originProtocol = null; lime__$internal_backend_html5_HTML5HTTPRequest.supportsImageProgress = null; lime__$internal_backend_html5_HTML5HTTPRequest.loadImage = function(uri) { var promise = new lime_app_Promise(); if(lime__$internal_backend_html5_HTML5HTTPRequest.activeRequests < lime__$internal_backend_html5_HTML5HTTPRequest.requestLimit) { lime__$internal_backend_html5_HTML5HTTPRequest.activeRequests++; lime__$internal_backend_html5_HTML5HTTPRequest.__loadImage(uri,promise); } else { lime__$internal_backend_html5_HTML5HTTPRequest.requestQueue.add({ instance : null, uri : uri, promise : promise, type : "IMAGE"}); } return promise.future; }; lime__$internal_backend_html5_HTML5HTTPRequest.processQueue = function() { if(lime__$internal_backend_html5_HTML5HTTPRequest.activeRequests < lime__$internal_backend_html5_HTML5HTTPRequest.requestLimit && lime__$internal_backend_html5_HTML5HTTPRequest.requestQueue.length > 0) { lime__$internal_backend_html5_HTML5HTTPRequest.activeRequests++; var queueItem = lime__$internal_backend_html5_HTML5HTTPRequest.requestQueue.pop(); var _g = queueItem.type; switch(_g) { case "BINARY": queueItem.instance.__loadData(queueItem.uri,queueItem.promise); break; case "IMAGE": lime__$internal_backend_html5_HTML5HTTPRequest.__loadImage(queueItem.uri,queueItem.promise); break; case "TEXT": queueItem.instance.__loadText(queueItem.uri,queueItem.promise); break; default: lime__$internal_backend_html5_HTML5HTTPRequest.activeRequests--; } } }; lime__$internal_backend_html5_HTML5HTTPRequest.__fixHostname = function(hostname) { if(hostname == null) { return ""; } else { return hostname; } }; lime__$internal_backend_html5_HTML5HTTPRequest.__fixPort = function(port,protocol) { if(port == null || port == "") { switch(protocol) { case "ftp:": return "21"; case "gopher:": return "70"; case "http:": return "80"; case "https:": return "443"; case "ws:": return "80"; case "wss:": return "443"; default: return ""; } } return port; }; lime__$internal_backend_html5_HTML5HTTPRequest.__fixProtocol = function(protocol) { if(protocol == null || protocol == "") { return "http:"; } else { return protocol; } }; lime__$internal_backend_html5_HTML5HTTPRequest.__isSameOrigin = function(path) { if(lime__$internal_backend_html5_HTML5HTTPRequest.originElement == null) { lime__$internal_backend_html5_HTML5HTTPRequest.originElement = window.document.createElement("a"); lime__$internal_backend_html5_HTML5HTTPRequest.originHostname = lime__$internal_backend_html5_HTML5HTTPRequest.__fixHostname(window.location.hostname); lime__$internal_backend_html5_HTML5HTTPRequest.originProtocol = lime__$internal_backend_html5_HTML5HTTPRequest.__fixProtocol(window.location.protocol); lime__$internal_backend_html5_HTML5HTTPRequest.originPort = lime__$internal_backend_html5_HTML5HTTPRequest.__fixPort(window.location.port,lime__$internal_backend_html5_HTML5HTTPRequest.originProtocol); } var a = lime__$internal_backend_html5_HTML5HTTPRequest.originElement; a.href = path; if(a.hostname == "") { a.href = a.href; } var hostname = lime__$internal_backend_html5_HTML5HTTPRequest.__fixHostname(a.hostname); var protocol = lime__$internal_backend_html5_HTML5HTTPRequest.__fixProtocol(a.protocol); var port = lime__$internal_backend_html5_HTML5HTTPRequest.__fixPort(a.port,protocol); var sameHost = hostname == "" || hostname == lime__$internal_backend_html5_HTML5HTTPRequest.originHostname; var samePort = port == "" || port == lime__$internal_backend_html5_HTML5HTTPRequest.originPort; if(protocol != "file:" && sameHost) { return samePort; } else { return false; } }; lime__$internal_backend_html5_HTML5HTTPRequest.__loadImage = function(uri,promise) { var image = new Image(); if(!lime__$internal_backend_html5_HTML5HTTPRequest.__isSameOrigin(uri)) { image.crossOrigin = "Anonymous"; } if(lime__$internal_backend_html5_HTML5HTTPRequest.supportsImageProgress == null) { lime__$internal_backend_html5_HTML5HTTPRequest.supportsImageProgress = 'onprogress' in image; } if(lime__$internal_backend_html5_HTML5HTTPRequest.supportsImageProgress || StringTools.startsWith(uri,"data:")) { image.addEventListener("load",function(event) { var buffer = new lime_graphics_ImageBuffer(null,image.width,image.height); buffer.__srcImage = image; lime__$internal_backend_html5_HTML5HTTPRequest.activeRequests--; lime__$internal_backend_html5_HTML5HTTPRequest.processQueue(); promise.complete(new lime_graphics_Image(buffer)); },false); image.addEventListener("progress",function(event1) { promise.progress(event1.loaded,event1.total); },false); image.addEventListener("error",function(event2) { lime__$internal_backend_html5_HTML5HTTPRequest.activeRequests--; lime__$internal_backend_html5_HTML5HTTPRequest.processQueue(); promise.error(event2.detail); },false); image.src = uri; } else { var request = new XMLHttpRequest(); request.onload = function(_) { lime__$internal_backend_html5_HTML5HTTPRequest.activeRequests--; lime__$internal_backend_html5_HTML5HTTPRequest.processQueue(); var img = new lime_graphics_Image(); img.__fromBytes(haxe_io_Bytes.ofData(request.response),function(img1) { promise.complete(img1); }); }; request.onerror = function(event3) { promise.error(event3.message); }; request.onprogress = function(event4) { if(event4.lengthComputable) { promise.progress(event4.loaded,event4.total); } }; request.open("GET",uri,true); request.responseType = "arraybuffer"; request.overrideMimeType("text/plain; charset=x-user-defined"); request.send(null); } }; lime__$internal_backend_html5_HTML5HTTPRequest.prototype = { binary: null ,parent: null ,request: null ,validStatus0: null ,cancel: function() { if(this.request != null) { this.request.abort(); } } ,init: function(parent) { this.parent = parent; } ,load: function(uri,progress,readyStateChange) { this.request = new XMLHttpRequest(); if(this.parent.method == "POST") { this.request.upload.addEventListener("progress",progress,false); } else { this.request.addEventListener("progress",progress,false); } this.request.onreadystatechange = readyStateChange; var query = ""; if(this.parent.data == null) { var key = this.parent.formData.keys(); while(key.hasNext()) { var key1 = key.next(); if(query.length > 0) { query += "&"; } var query1 = encodeURIComponent(key1) + "="; var _this = this.parent.formData; var s = Std.string(__map_reserved[key1] != null ? _this.getReserved(key1) : _this.h[key1]); query += query1 + encodeURIComponent(s); } if(this.parent.method == "GET" && query != "") { if(uri.indexOf("?") > -1) { uri += "&" + query; } else { uri += "?" + query; } query = ""; } } this.request.open(Std.string(this.parent.method),uri,true); if(this.parent.timeout > 0) { this.request.timeout = this.parent.timeout; } if(this.binary) { this.request.responseType = "arraybuffer"; } var contentType = null; var _g = 0; var _g1 = this.parent.headers; while(_g < _g1.length) { var header = _g1[_g]; ++_g; if(header.name == "Content-Type") { contentType = header.value; } else { this.request.setRequestHeader(header.name,header.value); } } if(this.parent.contentType != null) { contentType = this.parent.contentType; } if(contentType == null) { if(this.parent.data != null) { contentType = "application/octet-stream"; } else if(query != "") { contentType = "application/x-www-form-urlencoded"; } } if(contentType != null) { this.request.setRequestHeader("Content-Type",contentType); } if(this.parent.withCredentials) { this.request.withCredentials = true; } if(this.parent.data != null) { this.request.send(this.parent.data.b.bufferValue); } else { this.request.send(query); } } ,loadData: function(uri) { var promise = new lime_app_Promise(); if(lime__$internal_backend_html5_HTML5HTTPRequest.activeRequests < lime__$internal_backend_html5_HTML5HTTPRequest.requestLimit) { lime__$internal_backend_html5_HTML5HTTPRequest.activeRequests++; this.__loadData(uri,promise); } else { lime__$internal_backend_html5_HTML5HTTPRequest.requestQueue.add({ instance : this, uri : uri, promise : promise, type : "BINARY"}); } return promise.future; } ,loadText: function(uri) { var promise = new lime_app_Promise(); if(lime__$internal_backend_html5_HTML5HTTPRequest.activeRequests < lime__$internal_backend_html5_HTML5HTTPRequest.requestLimit) { lime__$internal_backend_html5_HTML5HTTPRequest.activeRequests++; this.__loadText(uri,promise); } else { lime__$internal_backend_html5_HTML5HTTPRequest.requestQueue.add({ instance : this, uri : uri, promise : promise, type : "TEXT"}); } return promise.future; } ,processResponse: function() { if(this.parent.enableResponseHeaders) { this.parent.responseHeaders = []; var name; var value; var _g = 0; var _g1 = this.request.getAllResponseHeaders().split("\n"); while(_g < _g1.length) { var line = _g1[_g]; ++_g; name = StringTools.trim(HxOverrides.substr(line,0,line.indexOf(":"))); value = StringTools.trim(HxOverrides.substr(line,line.indexOf(":") + 1,null)); if(name != "") { this.parent.responseHeaders.push(new lime_net_HTTPRequestHeader(name,value)); } } } this.parent.responseStatus = this.request.status; } ,__loadData: function(uri,promise) { var _gthis = this; var progress = function(event) { promise.progress(event.loaded,event.total); }; var readyStateChange = function(event1) { if(_gthis.request.readyState != 4) { return; } if(_gthis.request.status != null && (_gthis.request.status >= 200 && _gthis.request.status < 400 || _gthis.validStatus0 && _gthis.request.status == 0)) { var bytes = null; if(_gthis.request.responseType == "") { if(_gthis.request.responseText != null) { bytes = haxe_io_Bytes.ofString(_gthis.request.responseText); } } else if(_gthis.request.response != null) { bytes = haxe_io_Bytes.ofData(_gthis.request.response); } _gthis.processResponse(); promise.complete(bytes); } else { _gthis.processResponse(); promise.error(_gthis.request.status); } _gthis.request = null; lime__$internal_backend_html5_HTML5HTTPRequest.activeRequests--; lime__$internal_backend_html5_HTML5HTTPRequest.processQueue(); }; this.binary = true; this.load(uri,progress,readyStateChange); } ,__loadText: function(uri,promise) { var _gthis = this; var progress = function(event) { promise.progress(event.loaded,event.total); }; var readyStateChange = function(event1) { if(_gthis.request.readyState != 4) { return; } if(_gthis.request.status != null && (_gthis.request.status >= 200 && _gthis.request.status <= 400 || _gthis.validStatus0 && _gthis.request.status == 0)) { _gthis.processResponse(); promise.complete(_gthis.request.responseText); } else { _gthis.processResponse(); promise.error(_gthis.request.status); } _gthis.request = null; lime__$internal_backend_html5_HTML5HTTPRequest.activeRequests--; lime__$internal_backend_html5_HTML5HTTPRequest.processQueue(); }; this.binary = false; this.load(uri,progress,readyStateChange); } ,__class__: lime__$internal_backend_html5_HTML5HTTPRequest }; var lime__$internal_backend_html5_HTML5Window = function(parent) { this.unusedTouchesPool = new List(); this.scale = 1.0; this.currentTouches = new haxe_ds_IntMap(); this.parent = parent; this.cursor = lime_ui_MouseCursor.DEFAULT; this.cacheMouseX = 0; this.cacheMouseY = 0; var attributes = parent.__attributes; if(!Object.prototype.hasOwnProperty.call(attributes,"context")) { attributes.context = { }; } this.renderType = attributes.context.type; if(Object.prototype.hasOwnProperty.call(attributes,"element")) { parent.element = attributes.element; } var element = parent.element; if(Object.prototype.hasOwnProperty.call(attributes,"allowHighDPI") && attributes.allowHighDPI && this.renderType != "dom") { this.scale = window.devicePixelRatio; } parent.__scale = this.scale; this.setWidth = Object.prototype.hasOwnProperty.call(attributes,"width") ? attributes.width : 0; this.setHeight = Object.prototype.hasOwnProperty.call(attributes,"height") ? attributes.height : 0; parent.__width = this.setWidth; parent.__height = this.setHeight; parent.id = lime__$internal_backend_html5_HTML5Window.windowID++; if(js_Boot.__instanceof(element,HTMLCanvasElement)) { this.canvas = element; } else if(this.renderType == "dom") { this.div = window.document.createElement("div"); } else { this.canvas = window.document.createElement("canvas"); } if(this.canvas != null) { var style = this.canvas.style; style.setProperty("-webkit-transform","translateZ(0)",null); style.setProperty("transform","translateZ(0)",null); } else if(this.div != null) { var style1 = this.div.style; style1.setProperty("-webkit-transform","translate3D(0,0,0)",null); style1.setProperty("transform","translate3D(0,0,0)",null); style1.position = "relative"; style1.overflow = "hidden"; style1.setProperty("-webkit-user-select","none",null); style1.setProperty("-moz-user-select","none",null); style1.setProperty("-ms-user-select","none",null); style1.setProperty("-o-user-select","none",null); } if(parent.__width == 0 && parent.__height == 0) { if(element != null) { parent.__width = element.clientWidth; parent.__height = element.clientHeight; } else { parent.__width = window.innerWidth; parent.__height = window.innerHeight; } this.cacheElementWidth = parent.__width; this.cacheElementHeight = parent.__height; this.resizeElement = true; } if(this.canvas != null) { this.canvas.width = Math.round(parent.__width * this.scale); this.canvas.height = Math.round(parent.__height * this.scale); this.canvas.style.width = parent.__width + "px"; this.canvas.style.height = parent.__height + "px"; } else { this.div.style.width = parent.__width + "px"; this.div.style.height = parent.__height + "px"; } if(Object.prototype.hasOwnProperty.call(attributes,"resizable") && attributes.resizable || !Object.prototype.hasOwnProperty.call(attributes,"width") && this.setWidth == 0 && this.setHeight == 0) { parent.__resizable = true; } this.updateSize(); if(element != null) { if(this.canvas != null) { if(element != this.canvas) { element.appendChild(this.canvas); } } else { element.appendChild(this.div); } var events = ["mousedown","mouseenter","mouseleave","mousemove","mouseup","wheel"]; var _g = 0; while(_g < events.length) { var event = events[_g]; ++_g; element.addEventListener(event,$bind(this,this.handleMouseEvent),true); } window.document.addEventListener("dragstart",function(e) { if(e.target.nodeName.toLowerCase() == "img" && e.cancelable) { e.preventDefault(); return false; } return true; },false); element.addEventListener("contextmenu",$bind(this,this.handleContextMenuEvent),true); element.addEventListener("touchstart",$bind(this,this.handleTouchEvent),true); element.addEventListener("touchmove",$bind(this,this.handleTouchEvent),true); element.addEventListener("touchend",$bind(this,this.handleTouchEvent),true); element.addEventListener("touchcancel",$bind(this,this.handleTouchEvent),true); element.addEventListener("gamepadconnected",$bind(this,this.handleGamepadEvent),true); element.addEventListener("gamepaddisconnected",$bind(this,this.handleGamepadEvent),true); } this.createContext(); if(parent.context.type == "webgl") { this.canvas.addEventListener("webglcontextlost",$bind(this,this.handleContextEvent),false); this.canvas.addEventListener("webglcontextrestored",$bind(this,this.handleContextEvent),false); } }; $hxClasses["lime._internal.backend.html5.HTML5Window"] = lime__$internal_backend_html5_HTML5Window; lime__$internal_backend_html5_HTML5Window.__name__ = ["lime","_internal","backend","html5","HTML5Window"]; lime__$internal_backend_html5_HTML5Window.textInput = null; lime__$internal_backend_html5_HTML5Window.prototype = { canvas: null ,div: null ,cacheElementHeight: null ,cacheElementWidth: null ,cacheMouseX: null ,cacheMouseY: null ,cursor: null ,currentTouches: null ,isFullscreen: null ,parent: null ,primaryTouch: null ,renderType: null ,requestedFullscreen: null ,resizeElement: null ,scale: null ,setHeight: null ,setWidth: null ,textInputEnabled: null ,unusedTouchesPool: null ,alert: function(message,title) { if(message != null) { js_Browser.alert(message); } } ,close: function() { this.parent.application.__removeWindow(this.parent); } ,createContext: function() { var context = new lime_graphics_RenderContext(); var contextAttributes = this.parent.__attributes.context; context.window = this.parent; context.attributes = contextAttributes; if(this.div != null) { context.dom = this.div; context.type = "dom"; context.version = ""; } else if(this.canvas != null) { var webgl = null; var forceCanvas = this.renderType == "canvas"; var forceWebGL = this.renderType == "opengl" || this.renderType == "opengles" || this.renderType == "webgl"; var allowWebGL2 = !Object.prototype.hasOwnProperty.call(contextAttributes,"version") || contextAttributes.version != "1"; var isWebGL2 = false; if(forceWebGL || !forceCanvas && (!Object.prototype.hasOwnProperty.call(contextAttributes,"hardware") || contextAttributes.hardware)) { var transparentBackground = Object.prototype.hasOwnProperty.call(contextAttributes,"background") && contextAttributes.background == null; var colorDepth = Object.prototype.hasOwnProperty.call(contextAttributes,"colorDepth") ? contextAttributes.colorDepth : 16; var options = Object.prototype.hasOwnProperty.call(contextAttributes,"antialiasing"); var options1 = { alpha : transparentBackground || colorDepth > 16, antialias : options, depth : Object.prototype.hasOwnProperty.call(contextAttributes,"depth") ? contextAttributes.depth : true, premultipliedAlpha : true, stencil : Object.prototype.hasOwnProperty.call(contextAttributes,"stencil") && contextAttributes.stencil, preserveDrawingBuffer : false}; var glContextType = ["webgl","experimental-webgl"]; if(allowWebGL2) { glContextType.unshift("webgl2"); } var _g = 0; while(_g < glContextType.length) { var name = glContextType[_g]; ++_g; webgl = this.canvas.getContext(name,options1); if(webgl != null && name == "webgl2") { isWebGL2 = true; } if(webgl != null) { break; } } } if(webgl == null) { context.canvas2D = this.canvas.getContext("2d"); context.type = "canvas"; context.version = ""; } else { context.webgl = lime_graphics__$WebGLRenderContext_WebGLRenderContext_$Impl_$.fromWebGL2RenderContext(webgl); if(isWebGL2) { context.webgl2 = webgl; } if(lime_graphics_opengl_GL.context == null) { lime_graphics_opengl_GL.context = webgl; lime_graphics_opengl_GL.type = "webgl"; lime_graphics_opengl_GL.version = isWebGL2 ? 2 : 1; } context.type = "webgl"; context.version = isWebGL2 ? "2" : "1"; } } this.parent.context = context; } ,focus: function() { } ,getCursor: function() { return this.cursor; } ,getDisplay: function() { return lime_system_System.getDisplay(0); } ,getDisplayMode: function() { return lime_system_System.getDisplay(0).currentMode; } ,getFrameRate: function() { if(this.parent.application == null) { return 0; } if(this.parent.application.__backend.framePeriod < 0) { return 60; } else if(this.parent.application.__backend.framePeriod == 1000) { return 0; } else { return 1000 / this.parent.application.__backend.framePeriod; } } ,getMouseLock: function() { return false; } ,getTextInputEnabled: function() { return this.textInputEnabled; } ,handleContextEvent: function(event) { var _g = event.type; switch(_g) { case "webglcontextlost": if(event.cancelable) { event.preventDefault(); } var tmp = lime_graphics_opengl_GL.context != null; this.parent.context = null; this.parent.onRenderContextLost.dispatch(); break; case "webglcontextrestored": this.createContext(); this.parent.onRenderContextRestored.dispatch(this.parent.context); break; default: } } ,handleContextMenuEvent: function(event) { if((this.parent.onMouseUp.canceled || this.parent.onMouseDown.canceled) && event.cancelable) { event.preventDefault(); } } ,handleCutOrCopyEvent: function(event) { event.clipboardData.setData("text/plain",lime_system_Clipboard.get_text()); if(event.cancelable) { event.preventDefault(); } } ,handleFocusEvent: function(event) { var _gthis = this; if(this.textInputEnabled) { if(event.relatedTarget == null || this.isDescendent(event.relatedTarget)) { haxe_Timer.delay(function() { if(_gthis.textInputEnabled) { lime__$internal_backend_html5_HTML5Window.textInput.focus(); } },20); } } } ,handleFullscreenEvent: function(event) { var fullscreenElement = document.fullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement || document.msFullscreenElement; if(fullscreenElement != null) { this.isFullscreen = true; this.parent.__fullscreen = true; if(this.requestedFullscreen) { this.requestedFullscreen = false; this.parent.onFullscreen.dispatch(); } } else { this.isFullscreen = false; this.parent.__fullscreen = false; this.parent.onRestore.dispatch(); var changeEvents = ["fullscreenchange","mozfullscreenchange","webkitfullscreenchange","MSFullscreenChange"]; var errorEvents = ["fullscreenerror","mozfullscreenerror","webkitfullscreenerror","MSFullscreenError"]; var _g1 = 0; var _g = changeEvents.length; while(_g1 < _g) { var i = _g1++; window.document.removeEventListener(changeEvents[i],$bind(this,this.handleFullscreenEvent),false); window.document.removeEventListener(errorEvents[i],$bind(this,this.handleFullscreenEvent),false); } } } ,handleGamepadEvent: function(event) { var _g = event.type; switch(_g) { case "gamepadconnected": lime_ui_Joystick.__connect(event.gamepad.index); if(event.gamepad.mapping == "standard") { lime_ui_Gamepad.__connect(event.gamepad.index); } break; case "gamepaddisconnected": lime_ui_Joystick.__disconnect(event.gamepad.index); lime_ui_Gamepad.__disconnect(event.gamepad.index); break; default: } } ,handleInputEvent: function(event) { if(lime__$internal_backend_html5_HTML5Window.textInput.value != lime__$internal_backend_html5_HTML5Window.dummyCharacter) { var value = StringTools.replace(lime__$internal_backend_html5_HTML5Window.textInput.value,lime__$internal_backend_html5_HTML5Window.dummyCharacter,""); if(value.length > 0) { this.parent.onTextInput.dispatch(value); } lime__$internal_backend_html5_HTML5Window.textInput.value = lime__$internal_backend_html5_HTML5Window.dummyCharacter; } } ,handleMouseEvent: function(event) { var x = 0.0; var y = 0.0; if(event.type != "wheel") { if(this.parent.element != null) { if(this.canvas != null) { var rect = this.canvas.getBoundingClientRect(); x = (event.clientX - rect.left) * (this.parent.__width / rect.width); y = (event.clientY - rect.top) * (this.parent.__height / rect.height); } else if(this.div != null) { var rect1 = this.div.getBoundingClientRect(); x = event.clientX - rect1.left; y = event.clientY - rect1.top; } else { var rect2 = this.parent.element.getBoundingClientRect(); x = (event.clientX - rect2.left) * (this.parent.__width / rect2.width); y = (event.clientY - rect2.top) * (this.parent.__height / rect2.height); } } else { x = event.clientX; y = event.clientY; } var _g = event.type; switch(_g) { case "mousedown": if(event.currentTarget == this.parent.element) { window.addEventListener("mouseup",$bind(this,this.handleMouseEvent)); } this.parent.onMouseDown.dispatch(x,y,event.button); if(this.parent.onMouseDown.canceled && event.cancelable) { event.preventDefault(); } break; case "mouseenter": if(event.target == this.parent.element) { this.parent.onEnter.dispatch(); if(this.parent.onEnter.canceled && event.cancelable) { event.preventDefault(); } } break; case "mouseleave": if(event.target == this.parent.element) { this.parent.onLeave.dispatch(); if(this.parent.onLeave.canceled && event.cancelable) { event.preventDefault(); } } break; case "mousemove": if(x != this.cacheMouseX || y != this.cacheMouseY) { this.parent.onMouseMove.dispatch(x,y); this.parent.onMouseMoveRelative.dispatch(x - this.cacheMouseX,y - this.cacheMouseY); if((this.parent.onMouseMove.canceled || this.parent.onMouseMoveRelative.canceled) && event.cancelable) { event.preventDefault(); } } break; case "mouseup": window.removeEventListener("mouseup",$bind(this,this.handleMouseEvent)); if(event.currentTarget == this.parent.element) { event.stopPropagation(); } this.parent.onMouseUp.dispatch(x,y,event.button); if(this.parent.onMouseUp.canceled && event.cancelable) { event.preventDefault(); } break; default: } this.cacheMouseX = x; this.cacheMouseY = y; } else { var deltaMode; var _g1 = event.deltaMode; switch(_g1) { case 0: deltaMode = lime_ui_MouseWheelMode.PIXELS; break; case 1: deltaMode = lime_ui_MouseWheelMode.LINES; break; case 2: deltaMode = lime_ui_MouseWheelMode.PAGES; break; default: deltaMode = lime_ui_MouseWheelMode.UNKNOWN; } this.parent.onMouseWheel.dispatch(event.deltaX,-event.deltaY,deltaMode); if(this.parent.onMouseWheel.canceled && event.cancelable) { event.preventDefault(); } } } ,handlePasteEvent: function(event) { if(event.clipboardData.types.indexOf("text/plain") > -1) { var text = event.clipboardData.getData("text/plain"); lime_system_Clipboard.set_text(text); if(this.textInputEnabled) { this.parent.onTextInput.dispatch(text); } if(event.cancelable) { event.preventDefault(); } } } ,handleResizeEvent: function(event) { this.primaryTouch = null; this.updateSize(); } ,handleTouchEvent: function(event) { if(event.cancelable) { event.preventDefault(); } var rect = null; if(this.parent.element != null) { if(this.canvas != null) { rect = this.canvas.getBoundingClientRect(); } else if(this.div != null) { rect = this.div.getBoundingClientRect(); } else { rect = this.parent.element.getBoundingClientRect(); } } var windowWidth = this.setWidth; var windowHeight = this.setHeight; if(windowWidth == 0 || windowHeight == 0) { if(rect != null) { windowWidth = rect.width; windowHeight = rect.height; } else { windowWidth = 1; windowHeight = 1; } } var touch; var x; var y; var cacheX; var cacheY; var _g = 0; var _g1 = event.changedTouches; while(_g < _g1.length) { var data = _g1[_g]; ++_g; x = 0.0; y = 0.0; if(rect != null) { x = (data.clientX - rect.left) * (windowWidth / rect.width); y = (data.clientY - rect.top) * (windowHeight / rect.height); } else { x = data.clientX; y = data.clientY; } if(event.type == "touchstart") { touch = this.unusedTouchesPool.pop(); if(touch == null) { touch = new lime_ui_Touch(x / windowWidth,y / windowHeight,data.identifier,0,0,data.force,this.parent.id); } else { touch.x = x / windowWidth; touch.y = y / windowHeight; touch.id = data.identifier; touch.dx = 0; touch.dy = 0; touch.pressure = data.force; touch.device = this.parent.id; } this.currentTouches.h[data.identifier] = touch; lime_ui_Touch.onStart.dispatch(touch); if(this.primaryTouch == null) { this.primaryTouch = touch; } if(touch == this.primaryTouch) { this.parent.onMouseDown.dispatch(x,y,0); } } else { touch = this.currentTouches.h[data.identifier]; if(touch != null) { cacheX = touch.x; cacheY = touch.y; touch.x = x / windowWidth; touch.y = y / windowHeight; touch.dx = touch.x - cacheX; touch.dy = touch.y - cacheY; touch.pressure = data.force; var _g2 = event.type; switch(_g2) { case "touchcancel": lime_ui_Touch.onCancel.dispatch(touch); this.currentTouches.remove(data.identifier); this.unusedTouchesPool.add(touch); if(touch == this.primaryTouch) { this.primaryTouch = null; } break; case "touchend": lime_ui_Touch.onEnd.dispatch(touch); this.currentTouches.remove(data.identifier); this.unusedTouchesPool.add(touch); if(touch == this.primaryTouch) { this.parent.onMouseUp.dispatch(x,y,0); this.primaryTouch = null; } break; case "touchmove": lime_ui_Touch.onMove.dispatch(touch); if(touch == this.primaryTouch) { this.parent.onMouseMove.dispatch(x,y); } break; default: } } } } } ,isDescendent: function(node) { if(node == this.parent.element) { return true; } while(node != null) { if(node.parentNode == this.parent.element) { return true; } node = node.parentNode; } return false; } ,move: function(x,y) { } ,readPixels: function(rect) { if(this.canvas != null) { var stageRect = new lime_math_Rectangle(0,0,this.canvas.width,this.canvas.height); if(rect == null) { rect = stageRect; } else { rect.intersection(stageRect,rect); } if(rect.width > 0 && rect.height > 0) { var canvas2 = window.document.createElement("canvas"); canvas2.width = rect.width | 0; canvas2.height = rect.height | 0; var context = canvas2.getContext("2d"); context.drawImage(this.canvas,-rect.x,-rect.y); return lime_graphics_Image.fromCanvas(canvas2); } } return null; } ,resize: function(width,height) { } ,setBorderless: function(value) { return value; } ,setClipboard: function(value) { var inputEnabled = this.textInputEnabled; this.setTextInputEnabled(true); var cacheText = lime__$internal_backend_html5_HTML5Window.textInput.value; lime__$internal_backend_html5_HTML5Window.textInput.value = value; lime__$internal_backend_html5_HTML5Window.textInput.select(); if(window.document.queryCommandEnabled("copy")) { window.document.execCommand("copy"); } lime__$internal_backend_html5_HTML5Window.textInput.value = cacheText; this.setTextInputEnabled(inputEnabled); } ,setCursor: function(value) { if(this.cursor != value) { if(value == null) { this.parent.element.style.cursor = "none"; } else { var tmp; switch(value[1]) { case 0: tmp = "default"; break; case 1: tmp = "crosshair"; break; case 3: tmp = "move"; break; case 4: tmp = "pointer"; break; case 5: tmp = "nesw-resize"; break; case 6: tmp = "ns-resize"; break; case 7: tmp = "nwse-resize"; break; case 8: tmp = "ew-resize"; break; case 9: tmp = "text"; break; case 10: tmp = "wait"; break; case 11: tmp = "wait"; break; default: tmp = "auto"; } this.parent.element.style.cursor = tmp; } this.cursor = value; } return this.cursor; } ,setDisplayMode: function(value) { return value; } ,setFrameRate: function(value) { if(this.parent.application != null) { if(value >= 60) { if(this.parent == this.parent.application.__window) { this.parent.application.__backend.framePeriod = -1; } } else if(value > 0) { if(this.parent == this.parent.application.__window) { this.parent.application.__backend.framePeriod = 1000 / value; } } else if(this.parent == this.parent.application.__window) { this.parent.application.__backend.framePeriod = 1000; } } return value; } ,setFullscreen: function(value) { if(value) { if(!this.requestedFullscreen && !this.isFullscreen) { this.requestedFullscreen = true; if(($_=this.parent.element,$bind($_,$_.requestFullscreen))) { document.addEventListener("fullscreenchange",$bind(this,this.handleFullscreenEvent),false); document.addEventListener("fullscreenerror",$bind(this,this.handleFullscreenEvent),false); this.parent.element.requestFullscreen(); } else if(this.parent.element.mozRequestFullScreen) { document.addEventListener("mozfullscreenchange",$bind(this,this.handleFullscreenEvent),false); document.addEventListener("mozfullscreenerror",$bind(this,this.handleFullscreenEvent),false); this.parent.element.mozRequestFullScreen(); } else if(this.parent.element.webkitRequestFullscreen) { document.addEventListener("webkitfullscreenchange",$bind(this,this.handleFullscreenEvent),false); document.addEventListener("webkitfullscreenerror",$bind(this,this.handleFullscreenEvent),false); this.parent.element.webkitRequestFullscreen(); } else if(this.parent.element.msRequestFullscreen) { document.addEventListener("MSFullscreenChange",$bind(this,this.handleFullscreenEvent),false); document.addEventListener("MSFullscreenError",$bind(this,this.handleFullscreenEvent),false); this.parent.element.msRequestFullscreen(); } } } else if(this.isFullscreen) { this.requestedFullscreen = false; if(document.exitFullscreen) { document.exitFullscreen(); } else if(document.mozCancelFullScreen) { document.mozCancelFullScreen(); } else if(document.webkitExitFullscreen) { document.webkitExitFullscreen(); } else if(document.msExitFullscreen) { document.msExitFullscreen(); } } return value; } ,setIcon: function(image) { lime__$internal_graphics_ImageCanvasUtil.convertToCanvas(image); var link = window.document.querySelector("link[rel*='icon']"); if(link == null) { link = window.document.createElement("link"); } link.type = "image/x-icon"; link.rel = "shortcut icon"; link.href = image.buffer.get_src().toDataURL("image/x-icon"); window.document.getElementsByTagName("head")[0].appendChild(link); } ,setMaximized: function(value) { return false; } ,setMinimized: function(value) { return false; } ,setMouseLock: function(value) { } ,setResizable: function(value) { return value; } ,setTextInputEnabled: function(value) { if(value) { if(lime__$internal_backend_html5_HTML5Window.textInput == null) { lime__$internal_backend_html5_HTML5Window.textInput = window.document.createElement("input"); lime__$internal_backend_html5_HTML5Window.textInput.type = "text"; lime__$internal_backend_html5_HTML5Window.textInput.style.position = "absolute"; lime__$internal_backend_html5_HTML5Window.textInput.style.opacity = "0"; lime__$internal_backend_html5_HTML5Window.textInput.style.color = "transparent"; lime__$internal_backend_html5_HTML5Window.textInput.value = lime__$internal_backend_html5_HTML5Window.dummyCharacter; lime__$internal_backend_html5_HTML5Window.textInput.autocapitalize = "off"; lime__$internal_backend_html5_HTML5Window.textInput.autocorrect = "off"; lime__$internal_backend_html5_HTML5Window.textInput.autocomplete = "off"; lime__$internal_backend_html5_HTML5Window.textInput.style.left = "0px"; lime__$internal_backend_html5_HTML5Window.textInput.style.top = "50%"; if(new EReg("(iPad|iPhone|iPod).*OS 8_","gi").match(window.navigator.userAgent)) { lime__$internal_backend_html5_HTML5Window.textInput.style.fontSize = "0px"; lime__$internal_backend_html5_HTML5Window.textInput.style.width = "0px"; lime__$internal_backend_html5_HTML5Window.textInput.style.height = "0px"; } else { lime__$internal_backend_html5_HTML5Window.textInput.style.width = "1px"; lime__$internal_backend_html5_HTML5Window.textInput.style.height = "1px"; } lime__$internal_backend_html5_HTML5Window.textInput.style.pointerEvents = "none"; lime__$internal_backend_html5_HTML5Window.textInput.style.zIndex = "-10000000"; } if(lime__$internal_backend_html5_HTML5Window.textInput.parentNode == null) { this.parent.element.appendChild(lime__$internal_backend_html5_HTML5Window.textInput); } if(!this.textInputEnabled) { lime__$internal_backend_html5_HTML5Window.textInput.addEventListener("input",$bind(this,this.handleInputEvent),true); lime__$internal_backend_html5_HTML5Window.textInput.addEventListener("blur",$bind(this,this.handleFocusEvent),true); lime__$internal_backend_html5_HTML5Window.textInput.addEventListener("cut",$bind(this,this.handleCutOrCopyEvent),true); lime__$internal_backend_html5_HTML5Window.textInput.addEventListener("copy",$bind(this,this.handleCutOrCopyEvent),true); lime__$internal_backend_html5_HTML5Window.textInput.addEventListener("paste",$bind(this,this.handlePasteEvent),true); } lime__$internal_backend_html5_HTML5Window.textInput.focus(); lime__$internal_backend_html5_HTML5Window.textInput.select(); } else if(lime__$internal_backend_html5_HTML5Window.textInput != null) { lime__$internal_backend_html5_HTML5Window.textInput.removeEventListener("input",$bind(this,this.handleInputEvent),true); lime__$internal_backend_html5_HTML5Window.textInput.removeEventListener("blur",$bind(this,this.handleFocusEvent),true); lime__$internal_backend_html5_HTML5Window.textInput.removeEventListener("cut",$bind(this,this.handleCutOrCopyEvent),true); lime__$internal_backend_html5_HTML5Window.textInput.removeEventListener("copy",$bind(this,this.handleCutOrCopyEvent),true); lime__$internal_backend_html5_HTML5Window.textInput.removeEventListener("paste",$bind(this,this.handlePasteEvent),true); lime__$internal_backend_html5_HTML5Window.textInput.blur(); } return this.textInputEnabled = value; } ,setTitle: function(value) { if(value != null) { window.document.title = value; } return value; } ,updateSize: function() { if(!this.parent.__resizable) { return; } var elementWidth; var elementHeight; if(this.parent.element != null) { elementWidth = this.parent.element.clientWidth; elementHeight = this.parent.element.clientHeight; } else { elementWidth = window.innerWidth; elementHeight = window.innerHeight; } if(elementWidth != this.cacheElementWidth || elementHeight != this.cacheElementHeight) { this.cacheElementWidth = elementWidth; this.cacheElementHeight = elementHeight; var stretch = this.resizeElement || this.setWidth == 0 && this.setHeight == 0; if(this.parent.element != null && (this.div == null || this.div != null && stretch)) { if(stretch) { if(this.parent.__width != elementWidth || this.parent.__height != elementHeight) { this.parent.__width = elementWidth; this.parent.__height = elementHeight; if(this.canvas != null) { if(this.parent.element != this.canvas) { this.canvas.width = Math.round(elementWidth * this.scale); this.canvas.height = Math.round(elementHeight * this.scale); this.canvas.style.width = elementWidth + "px"; this.canvas.style.height = elementHeight + "px"; } } else { this.div.style.width = elementWidth + "px"; this.div.style.height = elementHeight + "px"; } this.parent.onResize.dispatch(elementWidth,elementHeight); } } else { var scaleX = this.setWidth != 0 ? elementWidth / this.setWidth : 1; var scaleY = this.setHeight != 0 ? elementHeight / this.setHeight : 1; var targetWidth = elementWidth; var targetHeight = elementHeight; var marginLeft = 0; var marginTop = 0; if(scaleX < scaleY) { targetHeight = Math.floor(this.setHeight * scaleX); marginTop = Math.floor((elementHeight - targetHeight) / 2); } else { targetWidth = Math.floor(this.setWidth * scaleY); marginLeft = Math.floor((elementWidth - targetWidth) / 2); } if(this.canvas != null) { if(this.parent.element != this.canvas) { this.canvas.style.width = targetWidth + "px"; this.canvas.style.height = targetHeight + "px"; this.canvas.style.marginLeft = marginLeft + "px"; this.canvas.style.marginTop = marginTop + "px"; } } else { this.div.style.width = targetWidth + "px"; this.div.style.height = targetHeight + "px"; this.div.style.marginLeft = marginLeft + "px"; this.div.style.marginTop = marginTop + "px"; } } } } } ,warpMouse: function(x,y) { } ,__class__: lime__$internal_backend_html5_HTML5Window }; var lime__$internal_backend_native_NativeCFFI = function() { }; $hxClasses["lime._internal.backend.native.NativeCFFI"] = lime__$internal_backend_native_NativeCFFI; lime__$internal_backend_native_NativeCFFI.__name__ = ["lime","_internal","backend","native","NativeCFFI"]; var lime__$internal_format_BMP = function() { }; $hxClasses["lime._internal.format.BMP"] = lime__$internal_format_BMP; lime__$internal_format_BMP.__name__ = ["lime","_internal","format","BMP"]; lime__$internal_format_BMP.encode = function(image,type) { if(image.get_premultiplied() || image.get_format() != 0) { image = image.clone(); image.set_premultiplied(false); image.set_format(0); } if(type == null) { type = lime__$internal_format_BMPType.RGB; } var fileHeaderLength = 14; var infoHeaderLength = 40; var pixelValuesLength = image.width * image.height * 4; if(type != null) { switch(type[1]) { case 0: pixelValuesLength = (image.width * 3 + image.width * 3 % 4) * image.height; break; case 1: infoHeaderLength = 108; break; case 2: fileHeaderLength = 0; pixelValuesLength += image.width * image.height; break; } } var data = new haxe_io_Bytes(new ArrayBuffer(fileHeaderLength + infoHeaderLength + pixelValuesLength)); var position = 0; if(fileHeaderLength > 0) { data.b[position++] = 66; data.b[position++] = 77; data.setInt32(position,data.length); position += 4; data.setUInt16(position,0); position += 2; data.setUInt16(position,0); position += 2; data.setInt32(position,fileHeaderLength + infoHeaderLength); position += 4; } data.setInt32(position,infoHeaderLength); position += 4; data.setInt32(position,image.width); position += 4; data.setInt32(position,type == lime__$internal_format_BMPType.ICO ? image.height * 2 : image.height); position += 4; data.setUInt16(position,1); position += 2; data.setUInt16(position,type == lime__$internal_format_BMPType.RGB ? 24 : 32); position += 2; data.setInt32(position,type == lime__$internal_format_BMPType.BITFIELD ? 3 : 0); position += 4; data.setInt32(position,pixelValuesLength); position += 4; data.setInt32(position,11824); position += 4; data.setInt32(position,11824); position += 4; data.setInt32(position,0); position += 4; data.setInt32(position,0); position += 4; if(type == lime__$internal_format_BMPType.BITFIELD) { data.setInt32(position,16711680); position += 4; data.setInt32(position,65280); position += 4; data.setInt32(position,255); position += 4; data.setInt32(position,-16777216); position += 4; data.b[position++] = 32; data.b[position++] = 110; data.b[position++] = 105; data.b[position++] = 87; var _g = 0; while(_g < 48) { var i = _g++; data.b[position++] = 0; } } var pixels = image.getPixels(new lime_math_Rectangle(0,0,image.width,image.height),1); var readPosition = 0; var a; var r; var g; var b; if(type != null) { switch(type[1]) { case 0: var _g1 = 0; var _g2 = image.height; while(_g1 < _g2) { var y = _g1++; readPosition = (image.height - 1 - y) * 4 * image.width; var _g3 = 0; var _g21 = image.width; while(_g3 < _g21) { var x = _g3++; a = pixels.b[readPosition++]; r = pixels.b[readPosition++]; g = pixels.b[readPosition++]; b = pixels.b[readPosition++]; data.b[position++] = b & 255; data.b[position++] = g & 255; data.b[position++] = r & 255; } var _g31 = 0; var _g22 = image.width * 3 % 4; while(_g31 < _g22) { var i1 = _g31++; data.b[position++] = 0; } } break; case 1: var _g11 = 0; var _g4 = image.height; while(_g11 < _g4) { var y1 = _g11++; readPosition = (image.height - 1 - y1) * 4 * image.width; var _g32 = 0; var _g23 = image.width; while(_g32 < _g23) { var x1 = _g32++; a = pixels.b[readPosition++]; r = pixels.b[readPosition++]; g = pixels.b[readPosition++]; b = pixels.b[readPosition++]; data.b[position++] = b & 255; data.b[position++] = g & 255; data.b[position++] = r & 255; data.b[position++] = a & 255; } } break; case 2: var andMask = new haxe_io_Bytes(new ArrayBuffer(image.width * image.height)); var maskPosition = 0; var _g12 = 0; var _g5 = image.height; while(_g12 < _g5) { var y2 = _g12++; readPosition = (image.height - 1 - y2) * 4 * image.width; var _g33 = 0; var _g24 = image.width; while(_g33 < _g24) { var x2 = _g33++; a = pixels.b[readPosition++]; r = pixels.b[readPosition++]; g = pixels.b[readPosition++]; b = pixels.b[readPosition++]; data.b[position++] = b & 255; data.b[position++] = g & 255; data.b[position++] = r & 255; data.b[position++] = a & 255; andMask.b[maskPosition++] = 0; } } data.blit(position,andMask,0,image.width * image.height); break; } } return data; }; var lime__$internal_format_BMPType = $hxClasses["lime._internal.format.BMPType"] = { __ename__ : ["lime","_internal","format","BMPType"], __constructs__ : ["RGB","BITFIELD","ICO"] }; lime__$internal_format_BMPType.RGB = ["RGB",0]; lime__$internal_format_BMPType.RGB.toString = $estr; lime__$internal_format_BMPType.RGB.__enum__ = lime__$internal_format_BMPType; lime__$internal_format_BMPType.BITFIELD = ["BITFIELD",1]; lime__$internal_format_BMPType.BITFIELD.toString = $estr; lime__$internal_format_BMPType.BITFIELD.__enum__ = lime__$internal_format_BMPType; lime__$internal_format_BMPType.ICO = ["ICO",2]; lime__$internal_format_BMPType.ICO.toString = $estr; lime__$internal_format_BMPType.ICO.__enum__ = lime__$internal_format_BMPType; var lime__$internal_format_Deflate = function() { }; $hxClasses["lime._internal.format.Deflate"] = lime__$internal_format_Deflate; lime__$internal_format_Deflate.__name__ = ["lime","_internal","format","Deflate"]; lime__$internal_format_Deflate.compress = function(bytes) { var data = pako.deflateRaw(bytes.b.bufferValue); return haxe_io_Bytes.ofData(data); }; lime__$internal_format_Deflate.decompress = function(bytes) { var data = pako.inflateRaw(bytes.b.bufferValue); return haxe_io_Bytes.ofData(data); }; var lime__$internal_format_GZip = function() { }; $hxClasses["lime._internal.format.GZip"] = lime__$internal_format_GZip; lime__$internal_format_GZip.__name__ = ["lime","_internal","format","GZip"]; lime__$internal_format_GZip.compress = function(bytes) { var data = pako.gzip(bytes.b.bufferValue); return haxe_io_Bytes.ofData(data); }; lime__$internal_format_GZip.decompress = function(bytes) { var data = pako.ungzip(bytes.b.bufferValue); return haxe_io_Bytes.ofData(data); }; var lime__$internal_format_JPEG = function() { }; $hxClasses["lime._internal.format.JPEG"] = lime__$internal_format_JPEG; lime__$internal_format_JPEG.__name__ = ["lime","_internal","format","JPEG"]; lime__$internal_format_JPEG.decodeBytes = function(bytes,decodeData) { if(decodeData == null) { decodeData = true; } return null; }; lime__$internal_format_JPEG.decodeFile = function(path,decodeData) { if(decodeData == null) { decodeData = true; } return null; }; lime__$internal_format_JPEG.encode = function(image,quality) { if(image.get_premultiplied() || image.get_format() != 0) { image = image.clone(); image.set_premultiplied(false); image.set_format(0); } lime__$internal_graphics_ImageCanvasUtil.convertToCanvas(image,false); if(image.buffer.__srcCanvas != null) { var data = image.buffer.__srcCanvas.toDataURL("image/jpeg",quality / 100); var buffer = window.atob(data.split(";base64,")[1]); var bytes = new haxe_io_Bytes(new ArrayBuffer(buffer.length)); var _g1 = 0; var _g = buffer.length; while(_g1 < _g) { var i = _g1++; var v = HxOverrides.cca(buffer,i); bytes.b[i] = v & 255; } return bytes; } return null; }; var lime__$internal_format_LZMA = function() { }; $hxClasses["lime._internal.format.LZMA"] = lime__$internal_format_LZMA; lime__$internal_format_LZMA.__name__ = ["lime","_internal","format","LZMA"]; lime__$internal_format_LZMA.compress = function(bytes) { return null; }; lime__$internal_format_LZMA.decompress = function(bytes) { return null; }; var lime__$internal_format_PNG = function() { }; $hxClasses["lime._internal.format.PNG"] = lime__$internal_format_PNG; lime__$internal_format_PNG.__name__ = ["lime","_internal","format","PNG"]; lime__$internal_format_PNG.decodeBytes = function(bytes,decodeData) { if(decodeData == null) { decodeData = true; } return null; }; lime__$internal_format_PNG.decodeFile = function(path,decodeData) { if(decodeData == null) { decodeData = true; } return null; }; lime__$internal_format_PNG.encode = function(image) { if(image.get_premultiplied() || image.get_format() != 0) { image = image.clone(); image.set_premultiplied(false); image.set_format(0); } lime__$internal_graphics_ImageCanvasUtil.convertToCanvas(image,false); if(image.buffer.__srcCanvas != null) { var data = image.buffer.__srcCanvas.toDataURL("image/png"); var buffer = window.atob(data.split(";base64,")[1]); var bytes = new haxe_io_Bytes(new ArrayBuffer(buffer.length)); var _g1 = 0; var _g = buffer.length; while(_g1 < _g) { var i = _g1++; var v = HxOverrides.cca(buffer,i); bytes.b[i] = v & 255; } return bytes; } return null; }; var lime__$internal_format_Zlib = function() { }; $hxClasses["lime._internal.format.Zlib"] = lime__$internal_format_Zlib; lime__$internal_format_Zlib.__name__ = ["lime","_internal","format","Zlib"]; lime__$internal_format_Zlib.compress = function(bytes) { var data = pako.deflate(bytes.b.bufferValue); return haxe_io_Bytes.ofData(data); }; lime__$internal_format_Zlib.decompress = function(bytes) { var data = pako.inflate(bytes.b.bufferValue); return haxe_io_Bytes.ofData(data); }; var lime__$internal_graphics_ImageCanvasUtil = function() { }; $hxClasses["lime._internal.graphics.ImageCanvasUtil"] = lime__$internal_graphics_ImageCanvasUtil; lime__$internal_graphics_ImageCanvasUtil.__name__ = ["lime","_internal","graphics","ImageCanvasUtil"]; lime__$internal_graphics_ImageCanvasUtil.colorTransform = function(image,rect,colorMatrix) { lime__$internal_graphics_ImageCanvasUtil.convertToData(image); lime__$internal_graphics_ImageDataUtil.colorTransform(image,rect,colorMatrix); }; lime__$internal_graphics_ImageCanvasUtil.convertToCanvas = function(image,clear) { if(clear == null) { clear = false; } var buffer = image.buffer; if(buffer.__srcImage != null) { if(buffer.__srcCanvas == null) { lime__$internal_graphics_ImageCanvasUtil.createCanvas(image,buffer.__srcImage.width,buffer.__srcImage.height); buffer.__srcContext.drawImage(buffer.__srcImage,0,0); } buffer.__srcImage = null; } else if(buffer.__srcCanvas == null && buffer.data != null) { image.set_transparent(true); lime__$internal_graphics_ImageCanvasUtil.createCanvas(image,buffer.width,buffer.height); lime__$internal_graphics_ImageCanvasUtil.createImageData(image); buffer.__srcContext.putImageData(buffer.__srcImageData,0,0); } else if(image.type == lime_graphics_ImageType.DATA && buffer.__srcImageData != null && image.dirty) { buffer.__srcContext.putImageData(buffer.__srcImageData,0,0); image.dirty = false; } if(clear) { buffer.data = null; buffer.__srcImageData = null; } else if(buffer.data == null && buffer.__srcImageData != null) { buffer.data = buffer.__srcImageData.data; } image.type = lime_graphics_ImageType.CANVAS; }; lime__$internal_graphics_ImageCanvasUtil.convertToData = function(image,clear) { if(clear == null) { clear = false; } var buffer = image.buffer; if(buffer.__srcImage != null) { lime__$internal_graphics_ImageCanvasUtil.convertToCanvas(image); } if(buffer.__srcCanvas != null && buffer.data == null) { lime__$internal_graphics_ImageCanvasUtil.createImageData(image); if(image.type == lime_graphics_ImageType.CANVAS) { image.dirty = false; } } else if(image.type == lime_graphics_ImageType.CANVAS && buffer.__srcCanvas != null && image.dirty) { if(buffer.__srcImageData == null) { lime__$internal_graphics_ImageCanvasUtil.createImageData(image); } else { buffer.__srcImageData = buffer.__srcContext.getImageData(0,0,buffer.width,buffer.height); var elements = buffer.__srcImageData.data.buffer; var this1; if(elements != null) { this1 = new Uint8Array(elements); } else { this1 = null; } buffer.data = this1; } image.dirty = false; } if(clear) { image.buffer.__srcCanvas = null; image.buffer.__srcContext = null; } image.type = lime_graphics_ImageType.DATA; }; lime__$internal_graphics_ImageCanvasUtil.copyChannel = function(image,sourceImage,sourceRect,destPoint,sourceChannel,destChannel) { lime__$internal_graphics_ImageCanvasUtil.convertToData(sourceImage); lime__$internal_graphics_ImageCanvasUtil.convertToData(image); lime__$internal_graphics_ImageDataUtil.copyChannel(image,sourceImage,sourceRect,destPoint,sourceChannel,destChannel); }; lime__$internal_graphics_ImageCanvasUtil.copyPixels = function(image,sourceImage,sourceRect,destPoint,alphaImage,alphaPoint,mergeAlpha) { if(mergeAlpha == null) { mergeAlpha = false; } if(destPoint == null || destPoint.x >= image.width || destPoint.y >= image.height || sourceRect == null || sourceRect.width < 1 || sourceRect.height < 1) { return; } if(alphaImage != null && alphaImage.get_transparent()) { if(alphaPoint == null) { alphaPoint = new lime_math_Vector2(); } var tempData = image.clone(); tempData.copyChannel(alphaImage,new lime_math_Rectangle(alphaPoint.x,alphaPoint.y,sourceRect.width,sourceRect.height),new lime_math_Vector2(sourceRect.x,sourceRect.y),lime_graphics_ImageChannel.ALPHA,lime_graphics_ImageChannel.ALPHA); sourceImage = tempData; } lime__$internal_graphics_ImageCanvasUtil.convertToCanvas(image,true); if(!mergeAlpha) { if(image.get_transparent() && sourceImage.get_transparent()) { image.buffer.__srcContext.clearRect(destPoint.x + image.offsetX,destPoint.y + image.offsetY,sourceRect.width + image.offsetX,sourceRect.height + image.offsetY); } } lime__$internal_graphics_ImageCanvasUtil.convertToCanvas(sourceImage); if(sourceImage.buffer.get_src() != null) { image.buffer.__srcContext.globalCompositeOperation = "source-over"; image.buffer.__srcContext.drawImage(sourceImage.buffer.get_src(),sourceRect.x + sourceImage.offsetX | 0,sourceRect.y + sourceImage.offsetY | 0,sourceRect.width | 0,sourceRect.height | 0,destPoint.x + image.offsetX | 0,destPoint.y + image.offsetY | 0,sourceRect.width | 0,sourceRect.height | 0); } image.dirty = true; image.version++; }; lime__$internal_graphics_ImageCanvasUtil.createCanvas = function(image,width,height) { var buffer = image.buffer; if(buffer.__srcCanvas == null) { buffer.__srcCanvas = window.document.createElement("canvas"); buffer.__srcCanvas.width = width; buffer.__srcCanvas.height = height; if(!image.get_transparent()) { if(!image.get_transparent()) { buffer.__srcCanvas.setAttribute("moz-opaque","true"); } buffer.__srcContext = buffer.__srcCanvas.getContext ("2d", { alpha: false }); } else { buffer.__srcContext = buffer.__srcCanvas.getContext("2d"); } buffer.__srcContext.imageSmoothingEnabled = false; } }; lime__$internal_graphics_ImageCanvasUtil.createImageData = function(image) { var buffer = image.buffer; if(buffer.__srcImageData == null) { if(buffer.data == null) { buffer.__srcImageData = buffer.__srcContext.getImageData(0,0,buffer.width,buffer.height); } else { buffer.__srcImageData = buffer.__srcContext.createImageData(buffer.width,buffer.height); buffer.__srcImageData.data.set(buffer.data); } var elements = buffer.__srcImageData.data.buffer; var this1; if(elements != null) { this1 = new Uint8Array(elements); } else { this1 = null; } buffer.data = this1; } }; lime__$internal_graphics_ImageCanvasUtil.fillRect = function(image,rect,color,format) { lime__$internal_graphics_ImageCanvasUtil.convertToCanvas(image); var r; var g; var b; var a; if(format == 1) { r = color >> 16 & 255; g = color >> 8 & 255; b = color & 255; if(image.get_transparent()) { a = color >> 24 & 255; } else { a = 255; } } else { r = color >> 24 & 255; g = color >> 16 & 255; b = color >> 8 & 255; if(image.get_transparent()) { a = color & 255; } else { a = 255; } } if(rect.x == 0 && rect.y == 0 && rect.width == image.width && rect.height == image.height) { if(image.get_transparent() && a == 0) { image.buffer.__srcCanvas.width = image.buffer.width; return; } } if(a < 255) { image.buffer.__srcContext.clearRect(rect.x + image.offsetX,rect.y + image.offsetY,rect.width + image.offsetX,rect.height + image.offsetY); } if(a > 0) { image.buffer.__srcContext.fillStyle = "rgba(" + r + ", " + g + ", " + b + ", " + a / 255 + ")"; image.buffer.__srcContext.fillRect(rect.x + image.offsetX,rect.y + image.offsetY,rect.width + image.offsetX,rect.height + image.offsetY); } image.dirty = true; image.version++; }; lime__$internal_graphics_ImageCanvasUtil.floodFill = function(image,x,y,color,format) { lime__$internal_graphics_ImageCanvasUtil.convertToData(image); lime__$internal_graphics_ImageDataUtil.floodFill(image,x,y,color,format); }; lime__$internal_graphics_ImageCanvasUtil.getPixel = function(image,x,y,format) { lime__$internal_graphics_ImageCanvasUtil.convertToData(image); return lime__$internal_graphics_ImageDataUtil.getPixel(image,x,y,format); }; lime__$internal_graphics_ImageCanvasUtil.getPixel32 = function(image,x,y,format) { lime__$internal_graphics_ImageCanvasUtil.convertToData(image); return lime__$internal_graphics_ImageDataUtil.getPixel32(image,x,y,format); }; lime__$internal_graphics_ImageCanvasUtil.getPixels = function(image,rect,format) { lime__$internal_graphics_ImageCanvasUtil.convertToData(image); return lime__$internal_graphics_ImageDataUtil.getPixels(image,rect,format); }; lime__$internal_graphics_ImageCanvasUtil.merge = function(image,sourceImage,sourceRect,destPoint,redMultiplier,greenMultiplier,blueMultiplier,alphaMultiplier) { lime__$internal_graphics_ImageCanvasUtil.convertToData(sourceImage); lime__$internal_graphics_ImageCanvasUtil.convertToData(image); lime__$internal_graphics_ImageDataUtil.merge(image,sourceImage,sourceRect,destPoint,redMultiplier,greenMultiplier,blueMultiplier,alphaMultiplier); }; lime__$internal_graphics_ImageCanvasUtil.resize = function(image,newWidth,newHeight) { var buffer = image.buffer; if(buffer.__srcCanvas == null) { lime__$internal_graphics_ImageCanvasUtil.createCanvas(image,newWidth,newHeight); buffer.__srcContext.drawImage(buffer.get_src(),0,0,newWidth,newHeight); } else { lime__$internal_graphics_ImageCanvasUtil.convertToCanvas(image,true); var sourceCanvas = buffer.__srcCanvas; buffer.__srcCanvas = null; lime__$internal_graphics_ImageCanvasUtil.createCanvas(image,newWidth,newHeight); buffer.__srcContext.drawImage(sourceCanvas,0,0,newWidth,newHeight); } buffer.__srcImageData = null; buffer.data = null; image.dirty = true; image.version++; }; lime__$internal_graphics_ImageCanvasUtil.scroll = function(image,x,y) { if(x % image.width == 0 && y % image.height == 0) { return; } var copy = image.clone(); lime__$internal_graphics_ImageCanvasUtil.convertToCanvas(image,true); image.buffer.__srcContext.clearRect(x,y,image.width,image.height); image.buffer.__srcContext.drawImage(copy.get_src(),x,y); image.dirty = true; image.version++; }; lime__$internal_graphics_ImageCanvasUtil.setPixel = function(image,x,y,color,format) { lime__$internal_graphics_ImageCanvasUtil.convertToData(image); lime__$internal_graphics_ImageDataUtil.setPixel(image,x,y,color,format); }; lime__$internal_graphics_ImageCanvasUtil.setPixel32 = function(image,x,y,color,format) { lime__$internal_graphics_ImageCanvasUtil.convertToData(image); lime__$internal_graphics_ImageDataUtil.setPixel32(image,x,y,color,format); }; lime__$internal_graphics_ImageCanvasUtil.setPixels = function(image,rect,bytePointer,format,endian) { lime__$internal_graphics_ImageCanvasUtil.convertToData(image); lime__$internal_graphics_ImageDataUtil.setPixels(image,rect,bytePointer,format,endian); }; lime__$internal_graphics_ImageCanvasUtil.sync = function(image,clear) { if(image == null) { return; } if(image.type == lime_graphics_ImageType.CANVAS && (image.buffer.__srcCanvas != null || image.buffer.data != null)) { lime__$internal_graphics_ImageCanvasUtil.convertToCanvas(image,clear); } else if(image.type == lime_graphics_ImageType.DATA) { lime__$internal_graphics_ImageCanvasUtil.convertToData(image,clear); } }; var lime__$internal_graphics_ImageDataUtil = function() { }; $hxClasses["lime._internal.graphics.ImageDataUtil"] = lime__$internal_graphics_ImageDataUtil; lime__$internal_graphics_ImageDataUtil.__name__ = ["lime","_internal","graphics","ImageDataUtil"]; lime__$internal_graphics_ImageDataUtil.displaceMap = function(target,source,map,mapPoint,componentX,componentY,smooth) { var targetData = target.buffer.data; var sourceData = source.buffer.data; var mapData = map.buffer.data; var targetFormat = target.buffer.format; var sourceFormat = source.buffer.format; var mapFormat = map.buffer.format; var targetPremultiplied = target.get_premultiplied(); var sourcePremultiplied = source.get_premultiplied(); var mapPremultiplied = map.get_premultiplied(); var sourceView = new lime__$internal_graphics__$ImageDataUtil_ImageDataView(source); var mapView = new lime__$internal_graphics__$ImageDataUtil_ImageDataView(map); var row; var sourceOffset; var sourcePixel; var mapPixel; var targetPixel; var mapPixelX; var mapPixelY; var mapPixelA; var s1; var s2; var s3; var s4; var mPointXFloor; var mPointYFloor; var disOffsetXFloor; var disOffsetYFloor; var disX; var disY; var _g1 = 0; var _g = sourceView.height; while(_g1 < _g) { var y = _g1++; row = sourceView.byteOffset + sourceView.stride * y; var _g3 = 0; var _g2 = sourceView.width; while(_g3 < _g2) { var x = _g3++; sourceOffset = row + x * 4; mPointXFloor = mapPoint.x | 0; mPointYFloor = mapPoint.y | 0; if(smooth) { var offset = sourceView.byteOffset + sourceView.stride * (y - mPointYFloor + 1) + (x - mPointXFloor) * 4; switch(mapFormat) { case 0: s1 = (mapData[offset] & 255) << 24 | (mapData[offset + 1] & 255) << 16 | (mapData[offset + 2] & 255) << 8 | mapData[offset + 3] & 255; break; case 1: s1 = (mapData[offset + 1] & 255) << 24 | (mapData[offset + 2] & 255) << 16 | (mapData[offset + 3] & 255) << 8 | mapData[offset] & 255; break; case 2: s1 = (mapData[offset + 2] & 255) << 24 | (mapData[offset + 1] & 255) << 16 | (mapData[offset] & 255) << 8 | mapData[offset + 3] & 255; break; } if(mapPremultiplied) { if((s1 & 255) != 0 && (s1 & 255) != 255) { lime_math__$RGBA_RGBA_$Impl_$.unmult = 255.0 / (s1 & 255); s1 = (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((s1 >>> 24 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 24 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((s1 >>> 16 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 16 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((s1 >>> 8 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 8 | s1 & 255 & 255; } } var offset1 = sourceView.byteOffset + sourceView.stride * (y - mPointYFloor) + (x - mPointXFloor + 1) * 4; switch(mapFormat) { case 0: s2 = (mapData[offset1] & 255) << 24 | (mapData[offset1 + 1] & 255) << 16 | (mapData[offset1 + 2] & 255) << 8 | mapData[offset1 + 3] & 255; break; case 1: s2 = (mapData[offset1 + 1] & 255) << 24 | (mapData[offset1 + 2] & 255) << 16 | (mapData[offset1 + 3] & 255) << 8 | mapData[offset1] & 255; break; case 2: s2 = (mapData[offset1 + 2] & 255) << 24 | (mapData[offset1 + 1] & 255) << 16 | (mapData[offset1] & 255) << 8 | mapData[offset1 + 3] & 255; break; } if(mapPremultiplied) { if((s2 & 255) != 0 && (s2 & 255) != 255) { lime_math__$RGBA_RGBA_$Impl_$.unmult = 255.0 / (s2 & 255); s2 = (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((s2 >>> 24 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 24 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((s2 >>> 16 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 16 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((s2 >>> 8 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 8 | s2 & 255 & 255; } } var offset2 = sourceView.byteOffset + sourceView.stride * (y - mPointYFloor + 1) + (x - mPointXFloor + 1) * 4; switch(mapFormat) { case 0: s3 = (mapData[offset2] & 255) << 24 | (mapData[offset2 + 1] & 255) << 16 | (mapData[offset2 + 2] & 255) << 8 | mapData[offset2 + 3] & 255; break; case 1: s3 = (mapData[offset2 + 1] & 255) << 24 | (mapData[offset2 + 2] & 255) << 16 | (mapData[offset2 + 3] & 255) << 8 | mapData[offset2] & 255; break; case 2: s3 = (mapData[offset2 + 2] & 255) << 24 | (mapData[offset2 + 1] & 255) << 16 | (mapData[offset2] & 255) << 8 | mapData[offset2 + 3] & 255; break; } if(mapPremultiplied) { if((s3 & 255) != 0 && (s3 & 255) != 255) { lime_math__$RGBA_RGBA_$Impl_$.unmult = 255.0 / (s3 & 255); s3 = (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((s3 >>> 24 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 24 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((s3 >>> 16 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 16 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((s3 >>> 8 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 8 | s3 & 255 & 255; } } var offset3 = sourceView.byteOffset + sourceView.stride * (y - mPointYFloor) + (x - mPointXFloor) * 4; switch(mapFormat) { case 0: s4 = (mapData[offset3] & 255) << 24 | (mapData[offset3 + 1] & 255) << 16 | (mapData[offset3 + 2] & 255) << 8 | mapData[offset3 + 3] & 255; break; case 1: s4 = (mapData[offset3 + 1] & 255) << 24 | (mapData[offset3 + 2] & 255) << 16 | (mapData[offset3 + 3] & 255) << 8 | mapData[offset3] & 255; break; case 2: s4 = (mapData[offset3 + 2] & 255) << 24 | (mapData[offset3 + 1] & 255) << 16 | (mapData[offset3] & 255) << 8 | mapData[offset3 + 3] & 255; break; } if(mapPremultiplied) { if((s4 & 255) != 0 && (s4 & 255) != 255) { lime_math__$RGBA_RGBA_$Impl_$.unmult = 255.0 / (s4 & 255); s4 = (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((s4 >>> 24 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 24 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((s4 >>> 16 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 16 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((s4 >>> 8 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 8 | s4 & 255 & 255; } } mapPixel = lime__$internal_graphics_ImageDataUtil.bilinear(s1,s2,s3,s4,mapPoint.x - mPointXFloor,mapPoint.y - mPointYFloor); } else { var offset4 = mapView.byteOffset + mapView.stride * (y - mPointYFloor) + (x - mPointXFloor) * 4; switch(mapFormat) { case 0: mapPixel = (mapData[offset4] & 255) << 24 | (mapData[offset4 + 1] & 255) << 16 | (mapData[offset4 + 2] & 255) << 8 | mapData[offset4 + 3] & 255; break; case 1: mapPixel = (mapData[offset4 + 1] & 255) << 24 | (mapData[offset4 + 2] & 255) << 16 | (mapData[offset4 + 3] & 255) << 8 | mapData[offset4] & 255; break; case 2: mapPixel = (mapData[offset4 + 2] & 255) << 24 | (mapData[offset4 + 1] & 255) << 16 | (mapData[offset4] & 255) << 8 | mapData[offset4 + 3] & 255; break; } if(mapPremultiplied) { if((mapPixel & 255) != 0 && (mapPixel & 255) != 255) { lime_math__$RGBA_RGBA_$Impl_$.unmult = 255.0 / (mapPixel & 255); mapPixel = (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((mapPixel >>> 24 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 24 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((mapPixel >>> 16 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 16 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((mapPixel >>> 8 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 8 | mapPixel & 255 & 255; } } } mapPixelA = (mapPixel & 255) / 255.0; mapPixelX = ((mapPixel >>> 24 & 255) - 128) / 255.0 * mapPixelA; mapPixelY = ((mapPixel >>> 16 & 255) - 128) / 255.0 * mapPixelA; disX = mapPixelX * componentX.x + mapPixelY * componentY.x; disY = mapPixelX * componentX.y + mapPixelY * componentY.y; disOffsetXFloor = Math.floor(disX * sourceView.width); disOffsetYFloor = Math.floor(disY * sourceView.height); if(smooth) { var offset5 = sourceView.byteOffset + sourceView.stride * (y + disOffsetYFloor + 1) + (x + disOffsetXFloor) * 4; switch(sourceFormat) { case 0: s1 = (sourceData[offset5] & 255) << 24 | (sourceData[offset5 + 1] & 255) << 16 | (sourceData[offset5 + 2] & 255) << 8 | sourceData[offset5 + 3] & 255; break; case 1: s1 = (sourceData[offset5 + 1] & 255) << 24 | (sourceData[offset5 + 2] & 255) << 16 | (sourceData[offset5 + 3] & 255) << 8 | sourceData[offset5] & 255; break; case 2: s1 = (sourceData[offset5 + 2] & 255) << 24 | (sourceData[offset5 + 1] & 255) << 16 | (sourceData[offset5] & 255) << 8 | sourceData[offset5 + 3] & 255; break; } if(sourcePremultiplied) { if((s1 & 255) != 0 && (s1 & 255) != 255) { lime_math__$RGBA_RGBA_$Impl_$.unmult = 255.0 / (s1 & 255); s1 = (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((s1 >>> 24 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 24 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((s1 >>> 16 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 16 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((s1 >>> 8 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 8 | s1 & 255 & 255; } } var offset6 = sourceView.byteOffset + sourceView.stride * (y + disOffsetYFloor) + (x + disOffsetXFloor + 1) * 4; switch(sourceFormat) { case 0: s2 = (sourceData[offset6] & 255) << 24 | (sourceData[offset6 + 1] & 255) << 16 | (sourceData[offset6 + 2] & 255) << 8 | sourceData[offset6 + 3] & 255; break; case 1: s2 = (sourceData[offset6 + 1] & 255) << 24 | (sourceData[offset6 + 2] & 255) << 16 | (sourceData[offset6 + 3] & 255) << 8 | sourceData[offset6] & 255; break; case 2: s2 = (sourceData[offset6 + 2] & 255) << 24 | (sourceData[offset6 + 1] & 255) << 16 | (sourceData[offset6] & 255) << 8 | sourceData[offset6 + 3] & 255; break; } if(sourcePremultiplied) { if((s2 & 255) != 0 && (s2 & 255) != 255) { lime_math__$RGBA_RGBA_$Impl_$.unmult = 255.0 / (s2 & 255); s2 = (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((s2 >>> 24 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 24 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((s2 >>> 16 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 16 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((s2 >>> 8 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 8 | s2 & 255 & 255; } } var offset7 = sourceView.byteOffset + sourceView.stride * (y + disOffsetYFloor + 1) + (x + disOffsetXFloor + 1) * 4; switch(sourceFormat) { case 0: s3 = (sourceData[offset7] & 255) << 24 | (sourceData[offset7 + 1] & 255) << 16 | (sourceData[offset7 + 2] & 255) << 8 | sourceData[offset7 + 3] & 255; break; case 1: s3 = (sourceData[offset7 + 1] & 255) << 24 | (sourceData[offset7 + 2] & 255) << 16 | (sourceData[offset7 + 3] & 255) << 8 | sourceData[offset7] & 255; break; case 2: s3 = (sourceData[offset7 + 2] & 255) << 24 | (sourceData[offset7 + 1] & 255) << 16 | (sourceData[offset7] & 255) << 8 | sourceData[offset7 + 3] & 255; break; } if(sourcePremultiplied) { if((s3 & 255) != 0 && (s3 & 255) != 255) { lime_math__$RGBA_RGBA_$Impl_$.unmult = 255.0 / (s3 & 255); s3 = (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((s3 >>> 24 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 24 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((s3 >>> 16 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 16 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((s3 >>> 8 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 8 | s3 & 255 & 255; } } var offset8 = sourceView.byteOffset + sourceView.stride * (y + disOffsetYFloor) + (x + disOffsetXFloor) * 4; switch(sourceFormat) { case 0: s4 = (sourceData[offset8] & 255) << 24 | (sourceData[offset8 + 1] & 255) << 16 | (sourceData[offset8 + 2] & 255) << 8 | sourceData[offset8 + 3] & 255; break; case 1: s4 = (sourceData[offset8 + 1] & 255) << 24 | (sourceData[offset8 + 2] & 255) << 16 | (sourceData[offset8 + 3] & 255) << 8 | sourceData[offset8] & 255; break; case 2: s4 = (sourceData[offset8 + 2] & 255) << 24 | (sourceData[offset8 + 1] & 255) << 16 | (sourceData[offset8] & 255) << 8 | sourceData[offset8 + 3] & 255; break; } if(sourcePremultiplied) { if((s4 & 255) != 0 && (s4 & 255) != 255) { lime_math__$RGBA_RGBA_$Impl_$.unmult = 255.0 / (s4 & 255); s4 = (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((s4 >>> 24 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 24 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((s4 >>> 16 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 16 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((s4 >>> 8 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 8 | s4 & 255 & 255; } } sourcePixel = lime__$internal_graphics_ImageDataUtil.bilinear(s1,s2,s3,s4,disX * sourceView.width - disOffsetXFloor,disY * sourceView.height - disOffsetYFloor); } else { var offset9 = sourceView.byteOffset + sourceView.stride * (y + disOffsetYFloor) + (x + disOffsetXFloor) * 4; switch(sourceFormat) { case 0: sourcePixel = (sourceData[offset9] & 255) << 24 | (sourceData[offset9 + 1] & 255) << 16 | (sourceData[offset9 + 2] & 255) << 8 | sourceData[offset9 + 3] & 255; break; case 1: sourcePixel = (sourceData[offset9 + 1] & 255) << 24 | (sourceData[offset9 + 2] & 255) << 16 | (sourceData[offset9 + 3] & 255) << 8 | sourceData[offset9] & 255; break; case 2: sourcePixel = (sourceData[offset9 + 2] & 255) << 24 | (sourceData[offset9 + 1] & 255) << 16 | (sourceData[offset9] & 255) << 8 | sourceData[offset9 + 3] & 255; break; } if(sourcePremultiplied) { if((sourcePixel & 255) != 0 && (sourcePixel & 255) != 255) { lime_math__$RGBA_RGBA_$Impl_$.unmult = 255.0 / (sourcePixel & 255); sourcePixel = (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((sourcePixel >>> 24 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 24 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((sourcePixel >>> 16 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 16 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((sourcePixel >>> 8 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 8 | sourcePixel & 255 & 255; } } } if(targetPremultiplied) { if((sourcePixel & 255) == 0) { if(sourcePixel != 0) { sourcePixel = 0; } } else if((sourcePixel & 255) != 255) { lime_math__$RGBA_RGBA_$Impl_$.a16 = lime_math__$RGBA_RGBA_$Impl_$.__alpha16[sourcePixel & 255]; sourcePixel = ((sourcePixel >>> 24 & 255) * lime_math__$RGBA_RGBA_$Impl_$.a16 >> 16 & 255) << 24 | ((sourcePixel >>> 16 & 255) * lime_math__$RGBA_RGBA_$Impl_$.a16 >> 16 & 255) << 16 | ((sourcePixel >>> 8 & 255) * lime_math__$RGBA_RGBA_$Impl_$.a16 >> 16 & 255) << 8 | sourcePixel & 255 & 255; } } switch(targetFormat) { case 0: targetData[sourceOffset] = sourcePixel >>> 24 & 255; targetData[sourceOffset + 1] = sourcePixel >>> 16 & 255; targetData[sourceOffset + 2] = sourcePixel >>> 8 & 255; targetData[sourceOffset + 3] = sourcePixel & 255; break; case 1: targetData[sourceOffset] = sourcePixel & 255; targetData[sourceOffset + 1] = sourcePixel >>> 24 & 255; targetData[sourceOffset + 2] = sourcePixel >>> 16 & 255; targetData[sourceOffset + 3] = sourcePixel >>> 8 & 255; break; case 2: targetData[sourceOffset] = sourcePixel >>> 8 & 255; targetData[sourceOffset + 1] = sourcePixel >>> 16 & 255; targetData[sourceOffset + 2] = sourcePixel >>> 24 & 255; targetData[sourceOffset + 3] = sourcePixel & 255; break; } } } target.dirty = true; target.version++; }; lime__$internal_graphics_ImageDataUtil.bilinear = function(s1,s2,s3,s4,su,sv) { return lime__$internal_graphics_ImageDataUtil.lerpRGBA(lime__$internal_graphics_ImageDataUtil.lerpRGBA(s4,s2,su),lime__$internal_graphics_ImageDataUtil.lerpRGBA(s1,s3,su),sv); }; lime__$internal_graphics_ImageDataUtil.lerpRGBA = function(v0,v1,x) { var this1 = 0; var result = this1; var value = Math.floor(lime__$internal_graphics_ImageDataUtil.lerp(v0 >>> 24 & 255,v1 >>> 24 & 255,x)); result = (value & 255) << 24 | (result >>> 16 & 255 & 255) << 16 | (result >>> 8 & 255 & 255) << 8 | result & 255 & 255; var value1 = Math.floor(lime__$internal_graphics_ImageDataUtil.lerp(v0 >>> 16 & 255,v1 >>> 16 & 255,x)); result = (result >>> 24 & 255 & 255) << 24 | (value1 & 255) << 16 | (result >>> 8 & 255 & 255) << 8 | result & 255 & 255; var value2 = Math.floor(lime__$internal_graphics_ImageDataUtil.lerp(v0 >>> 8 & 255,v1 >>> 8 & 255,x)); result = (result >>> 24 & 255 & 255) << 24 | (result >>> 16 & 255 & 255) << 16 | (value2 & 255) << 8 | result & 255 & 255; var value3 = Math.floor(lime__$internal_graphics_ImageDataUtil.lerp(v0 & 255,v1 & 255,x)); result = (result >>> 24 & 255 & 255) << 24 | (result >>> 16 & 255 & 255) << 16 | (result >>> 8 & 255 & 255) << 8 | value3 & 255; return result; }; lime__$internal_graphics_ImageDataUtil.lerp4f = function(v0,v1,x) { return new lime_math_Vector4(lime__$internal_graphics_ImageDataUtil.lerp(v0.x,v1.x,x),lime__$internal_graphics_ImageDataUtil.lerp(v0.y,v1.y,x),lime__$internal_graphics_ImageDataUtil.lerp(v0.z,v1.z,x),lime__$internal_graphics_ImageDataUtil.lerp(v0.w,v1.w,x)); }; lime__$internal_graphics_ImageDataUtil.lerp = function(v0,v1,x) { return (1.0 - x) * v0 + x * v1; }; lime__$internal_graphics_ImageDataUtil.colorTransform = function(image,rect,colorMatrix) { var data = image.buffer.data; if(data == null) { return; } var format = image.buffer.format; var premultiplied = image.buffer.premultiplied; var dataView = new lime__$internal_graphics__$ImageDataUtil_ImageDataView(image,rect); var alphaTable = lime_math__$ColorMatrix_ColorMatrix_$Impl_$.getAlphaTable(colorMatrix); var redTable = lime_math__$ColorMatrix_ColorMatrix_$Impl_$.getRedTable(colorMatrix); var greenTable = lime_math__$ColorMatrix_ColorMatrix_$Impl_$.getGreenTable(colorMatrix); var blueTable = lime_math__$ColorMatrix_ColorMatrix_$Impl_$.getBlueTable(colorMatrix); var row; var offset; var pixel; var _g1 = 0; var _g = dataView.height; while(_g1 < _g) { var y = _g1++; row = dataView.byteOffset + dataView.stride * y; var _g3 = 0; var _g2 = dataView.width; while(_g3 < _g2) { var x = _g3++; offset = row + x * 4; switch(format) { case 0: pixel = (data[offset] & 255) << 24 | (data[offset + 1] & 255) << 16 | (data[offset + 2] & 255) << 8 | data[offset + 3] & 255; break; case 1: pixel = (data[offset + 1] & 255) << 24 | (data[offset + 2] & 255) << 16 | (data[offset + 3] & 255) << 8 | data[offset] & 255; break; case 2: pixel = (data[offset + 2] & 255) << 24 | (data[offset + 1] & 255) << 16 | (data[offset] & 255) << 8 | data[offset + 3] & 255; break; } if(premultiplied) { if((pixel & 255) != 0 && (pixel & 255) != 255) { lime_math__$RGBA_RGBA_$Impl_$.unmult = 255.0 / (pixel & 255); pixel = (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((pixel >>> 24 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 24 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((pixel >>> 16 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 16 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((pixel >>> 8 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 8 | pixel & 255 & 255; } } pixel = (redTable[pixel >>> 24 & 255] & 255) << 24 | (greenTable[pixel >>> 16 & 255] & 255) << 16 | (blueTable[pixel >>> 8 & 255] & 255) << 8 | alphaTable[pixel & 255] & 255; if(premultiplied) { if((pixel & 255) == 0) { if(pixel != 0) { pixel = 0; } } else if((pixel & 255) != 255) { lime_math__$RGBA_RGBA_$Impl_$.a16 = lime_math__$RGBA_RGBA_$Impl_$.__alpha16[pixel & 255]; pixel = ((pixel >>> 24 & 255) * lime_math__$RGBA_RGBA_$Impl_$.a16 >> 16 & 255) << 24 | ((pixel >>> 16 & 255) * lime_math__$RGBA_RGBA_$Impl_$.a16 >> 16 & 255) << 16 | ((pixel >>> 8 & 255) * lime_math__$RGBA_RGBA_$Impl_$.a16 >> 16 & 255) << 8 | pixel & 255 & 255; } } switch(format) { case 0: data[offset] = pixel >>> 24 & 255; data[offset + 1] = pixel >>> 16 & 255; data[offset + 2] = pixel >>> 8 & 255; data[offset + 3] = pixel & 255; break; case 1: data[offset] = pixel & 255; data[offset + 1] = pixel >>> 24 & 255; data[offset + 2] = pixel >>> 16 & 255; data[offset + 3] = pixel >>> 8 & 255; break; case 2: data[offset] = pixel >>> 8 & 255; data[offset + 1] = pixel >>> 16 & 255; data[offset + 2] = pixel >>> 24 & 255; data[offset + 3] = pixel & 255; break; } } } image.dirty = true; image.version++; }; lime__$internal_graphics_ImageDataUtil.copyChannel = function(image,sourceImage,sourceRect,destPoint,sourceChannel,destChannel) { var destIdx; switch(destChannel[1]) { case 0: destIdx = 0; break; case 1: destIdx = 1; break; case 2: destIdx = 2; break; case 3: destIdx = 3; break; } var srcIdx; switch(sourceChannel[1]) { case 0: srcIdx = 0; break; case 1: srcIdx = 1; break; case 2: srcIdx = 2; break; case 3: srcIdx = 3; break; } var srcData = sourceImage.buffer.data; var destData = image.buffer.data; if(srcData == null || destData == null) { return; } var srcView = new lime__$internal_graphics__$ImageDataUtil_ImageDataView(sourceImage,sourceRect); var destView = new lime__$internal_graphics__$ImageDataUtil_ImageDataView(image,new lime_math_Rectangle(destPoint.x,destPoint.y,srcView.width,srcView.height)); var srcFormat = sourceImage.buffer.format; var destFormat = image.buffer.format; var srcPremultiplied = sourceImage.buffer.premultiplied; var destPremultiplied = image.buffer.premultiplied; var srcPosition; var destPosition; var srcPixel; var destPixel; var value = 0; var _g1 = 0; var _g = destView.height; while(_g1 < _g) { var y = _g1++; srcPosition = srcView.byteOffset + srcView.stride * y; destPosition = destView.byteOffset + destView.stride * y; var _g3 = 0; var _g2 = destView.width; while(_g3 < _g2) { var x = _g3++; switch(srcFormat) { case 0: srcPixel = (srcData[srcPosition] & 255) << 24 | (srcData[srcPosition + 1] & 255) << 16 | (srcData[srcPosition + 2] & 255) << 8 | srcData[srcPosition + 3] & 255; break; case 1: srcPixel = (srcData[srcPosition + 1] & 255) << 24 | (srcData[srcPosition + 2] & 255) << 16 | (srcData[srcPosition + 3] & 255) << 8 | srcData[srcPosition] & 255; break; case 2: srcPixel = (srcData[srcPosition + 2] & 255) << 24 | (srcData[srcPosition + 1] & 255) << 16 | (srcData[srcPosition] & 255) << 8 | srcData[srcPosition + 3] & 255; break; } if(srcPremultiplied) { if((srcPixel & 255) != 0 && (srcPixel & 255) != 255) { lime_math__$RGBA_RGBA_$Impl_$.unmult = 255.0 / (srcPixel & 255); srcPixel = (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((srcPixel >>> 24 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 24 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((srcPixel >>> 16 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 16 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((srcPixel >>> 8 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 8 | srcPixel & 255 & 255; } } switch(destFormat) { case 0: destPixel = (destData[destPosition] & 255) << 24 | (destData[destPosition + 1] & 255) << 16 | (destData[destPosition + 2] & 255) << 8 | destData[destPosition + 3] & 255; break; case 1: destPixel = (destData[destPosition + 1] & 255) << 24 | (destData[destPosition + 2] & 255) << 16 | (destData[destPosition + 3] & 255) << 8 | destData[destPosition] & 255; break; case 2: destPixel = (destData[destPosition + 2] & 255) << 24 | (destData[destPosition + 1] & 255) << 16 | (destData[destPosition] & 255) << 8 | destData[destPosition + 3] & 255; break; } if(destPremultiplied) { if((destPixel & 255) != 0 && (destPixel & 255) != 255) { lime_math__$RGBA_RGBA_$Impl_$.unmult = 255.0 / (destPixel & 255); destPixel = (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((destPixel >>> 24 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 24 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((destPixel >>> 16 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 16 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((destPixel >>> 8 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 8 | destPixel & 255 & 255; } } switch(srcIdx) { case 0: value = srcPixel >>> 24 & 255; break; case 1: value = srcPixel >>> 16 & 255; break; case 2: value = srcPixel >>> 8 & 255; break; case 3: value = srcPixel & 255; break; } switch(destIdx) { case 0: destPixel = (value & 255) << 24 | (destPixel >>> 16 & 255 & 255) << 16 | (destPixel >>> 8 & 255 & 255) << 8 | destPixel & 255 & 255; break; case 1: destPixel = (destPixel >>> 24 & 255 & 255) << 24 | (value & 255) << 16 | (destPixel >>> 8 & 255 & 255) << 8 | destPixel & 255 & 255; break; case 2: destPixel = (destPixel >>> 24 & 255 & 255) << 24 | (destPixel >>> 16 & 255 & 255) << 16 | (value & 255) << 8 | destPixel & 255 & 255; break; case 3: destPixel = (destPixel >>> 24 & 255 & 255) << 24 | (destPixel >>> 16 & 255 & 255) << 16 | (destPixel >>> 8 & 255 & 255) << 8 | value & 255; break; } if(destPremultiplied) { if((destPixel & 255) == 0) { if(destPixel != 0) { destPixel = 0; } } else if((destPixel & 255) != 255) { lime_math__$RGBA_RGBA_$Impl_$.a16 = lime_math__$RGBA_RGBA_$Impl_$.__alpha16[destPixel & 255]; destPixel = ((destPixel >>> 24 & 255) * lime_math__$RGBA_RGBA_$Impl_$.a16 >> 16 & 255) << 24 | ((destPixel >>> 16 & 255) * lime_math__$RGBA_RGBA_$Impl_$.a16 >> 16 & 255) << 16 | ((destPixel >>> 8 & 255) * lime_math__$RGBA_RGBA_$Impl_$.a16 >> 16 & 255) << 8 | destPixel & 255 & 255; } } switch(destFormat) { case 0: destData[destPosition] = destPixel >>> 24 & 255; destData[destPosition + 1] = destPixel >>> 16 & 255; destData[destPosition + 2] = destPixel >>> 8 & 255; destData[destPosition + 3] = destPixel & 255; break; case 1: destData[destPosition] = destPixel & 255; destData[destPosition + 1] = destPixel >>> 24 & 255; destData[destPosition + 2] = destPixel >>> 16 & 255; destData[destPosition + 3] = destPixel >>> 8 & 255; break; case 2: destData[destPosition] = destPixel >>> 8 & 255; destData[destPosition + 1] = destPixel >>> 16 & 255; destData[destPosition + 2] = destPixel >>> 24 & 255; destData[destPosition + 3] = destPixel & 255; break; } srcPosition += 4; destPosition += 4; } } image.dirty = true; image.version++; }; lime__$internal_graphics_ImageDataUtil.copyPixels = function(image,sourceImage,sourceRect,destPoint,alphaImage,alphaPoint,mergeAlpha) { if(mergeAlpha == null) { mergeAlpha = false; } if(image.width == sourceImage.width && image.height == sourceImage.height && sourceRect.width == sourceImage.width && sourceRect.height == sourceImage.height && sourceRect.x == 0 && sourceRect.y == 0 && destPoint.x == 0 && destPoint.y == 0 && alphaImage == null && alphaPoint == null && mergeAlpha == false && image.get_format() == sourceImage.get_format()) { image.buffer.data.set(sourceImage.buffer.data); } else { var sourceData = sourceImage.buffer.data; var destData = image.buffer.data; if(sourceData == null || destData == null) { return; } var sourceView = new lime__$internal_graphics__$ImageDataUtil_ImageDataView(sourceImage,sourceRect); var destRect = new lime_math_Rectangle(destPoint.x,destPoint.y,sourceView.width,sourceView.height); var destView = new lime__$internal_graphics__$ImageDataUtil_ImageDataView(image,destRect); var sourceFormat = sourceImage.buffer.format; var destFormat = image.buffer.format; var sourcePosition; var destPosition; var sourceAlpha; var destAlpha; var oneMinusSourceAlpha; var blendAlpha; var sourcePixel; var destPixel; var sourcePremultiplied = sourceImage.buffer.premultiplied; var destPremultiplied = image.buffer.premultiplied; var sourceBytesPerPixel = sourceImage.buffer.bitsPerPixel / 8 | 0; var destBytesPerPixel = image.buffer.bitsPerPixel / 8 | 0; var useAlphaImage = alphaImage != null && alphaImage.get_transparent(); var blend = mergeAlpha || useAlphaImage && !image.get_transparent(); if(!useAlphaImage) { if(blend) { var _g1 = 0; var _g = destView.height; while(_g1 < _g) { var y = _g1++; sourcePosition = sourceView.byteOffset + sourceView.stride * y; destPosition = destView.byteOffset + destView.stride * y; var _g3 = 0; var _g2 = destView.width; while(_g3 < _g2) { var x = _g3++; switch(sourceFormat) { case 0: sourcePixel = (sourceData[sourcePosition] & 255) << 24 | (sourceData[sourcePosition + 1] & 255) << 16 | (sourceData[sourcePosition + 2] & 255) << 8 | sourceData[sourcePosition + 3] & 255; break; case 1: sourcePixel = (sourceData[sourcePosition + 1] & 255) << 24 | (sourceData[sourcePosition + 2] & 255) << 16 | (sourceData[sourcePosition + 3] & 255) << 8 | sourceData[sourcePosition] & 255; break; case 2: sourcePixel = (sourceData[sourcePosition + 2] & 255) << 24 | (sourceData[sourcePosition + 1] & 255) << 16 | (sourceData[sourcePosition] & 255) << 8 | sourceData[sourcePosition + 3] & 255; break; } if(sourcePremultiplied) { if((sourcePixel & 255) != 0 && (sourcePixel & 255) != 255) { lime_math__$RGBA_RGBA_$Impl_$.unmult = 255.0 / (sourcePixel & 255); sourcePixel = (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((sourcePixel >>> 24 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 24 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((sourcePixel >>> 16 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 16 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((sourcePixel >>> 8 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 8 | sourcePixel & 255 & 255; } } switch(destFormat) { case 0: destPixel = (destData[destPosition] & 255) << 24 | (destData[destPosition + 1] & 255) << 16 | (destData[destPosition + 2] & 255) << 8 | destData[destPosition + 3] & 255; break; case 1: destPixel = (destData[destPosition + 1] & 255) << 24 | (destData[destPosition + 2] & 255) << 16 | (destData[destPosition + 3] & 255) << 8 | destData[destPosition] & 255; break; case 2: destPixel = (destData[destPosition + 2] & 255) << 24 | (destData[destPosition + 1] & 255) << 16 | (destData[destPosition] & 255) << 8 | destData[destPosition + 3] & 255; break; } if(destPremultiplied) { if((destPixel & 255) != 0 && (destPixel & 255) != 255) { lime_math__$RGBA_RGBA_$Impl_$.unmult = 255.0 / (destPixel & 255); destPixel = (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((destPixel >>> 24 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 24 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((destPixel >>> 16 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 16 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((destPixel >>> 8 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 8 | destPixel & 255 & 255; } } sourceAlpha = (sourcePixel & 255) / 255.0; destAlpha = (destPixel & 255) / 255.0; oneMinusSourceAlpha = 1 - sourceAlpha; blendAlpha = sourceAlpha + destAlpha * oneMinusSourceAlpha; if(blendAlpha == 0) { destPixel = 0; } else { var value = lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round(((sourcePixel >>> 24 & 255) * sourceAlpha + (destPixel >>> 24 & 255) * destAlpha * oneMinusSourceAlpha) / blendAlpha)]; destPixel = (value & 255) << 24 | (destPixel >>> 16 & 255 & 255) << 16 | (destPixel >>> 8 & 255 & 255) << 8 | destPixel & 255 & 255; var value1 = lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round(((sourcePixel >>> 16 & 255) * sourceAlpha + (destPixel >>> 16 & 255) * destAlpha * oneMinusSourceAlpha) / blendAlpha)]; destPixel = (destPixel >>> 24 & 255 & 255) << 24 | (value1 & 255) << 16 | (destPixel >>> 8 & 255 & 255) << 8 | destPixel & 255 & 255; var value2 = lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round(((sourcePixel >>> 8 & 255) * sourceAlpha + (destPixel >>> 8 & 255) * destAlpha * oneMinusSourceAlpha) / blendAlpha)]; destPixel = (destPixel >>> 24 & 255 & 255) << 24 | (destPixel >>> 16 & 255 & 255) << 16 | (value2 & 255) << 8 | destPixel & 255 & 255; var value3 = lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round(blendAlpha * 255.0)]; destPixel = (destPixel >>> 24 & 255 & 255) << 24 | (destPixel >>> 16 & 255 & 255) << 16 | (destPixel >>> 8 & 255 & 255) << 8 | value3 & 255; } if(destPremultiplied) { if((destPixel & 255) == 0) { if(destPixel != 0) { destPixel = 0; } } else if((destPixel & 255) != 255) { lime_math__$RGBA_RGBA_$Impl_$.a16 = lime_math__$RGBA_RGBA_$Impl_$.__alpha16[destPixel & 255]; destPixel = ((destPixel >>> 24 & 255) * lime_math__$RGBA_RGBA_$Impl_$.a16 >> 16 & 255) << 24 | ((destPixel >>> 16 & 255) * lime_math__$RGBA_RGBA_$Impl_$.a16 >> 16 & 255) << 16 | ((destPixel >>> 8 & 255) * lime_math__$RGBA_RGBA_$Impl_$.a16 >> 16 & 255) << 8 | destPixel & 255 & 255; } } switch(destFormat) { case 0: destData[destPosition] = destPixel >>> 24 & 255; destData[destPosition + 1] = destPixel >>> 16 & 255; destData[destPosition + 2] = destPixel >>> 8 & 255; destData[destPosition + 3] = destPixel & 255; break; case 1: destData[destPosition] = destPixel & 255; destData[destPosition + 1] = destPixel >>> 24 & 255; destData[destPosition + 2] = destPixel >>> 16 & 255; destData[destPosition + 3] = destPixel >>> 8 & 255; break; case 2: destData[destPosition] = destPixel >>> 8 & 255; destData[destPosition + 1] = destPixel >>> 16 & 255; destData[destPosition + 2] = destPixel >>> 24 & 255; destData[destPosition + 3] = destPixel & 255; break; } sourcePosition += 4; destPosition += 4; } } } else if(sourceFormat == destFormat && sourcePremultiplied == destPremultiplied && sourceBytesPerPixel == destBytesPerPixel) { var _g11 = 0; var _g4 = destView.height; while(_g11 < _g4) { var y1 = _g11++; sourcePosition = sourceView.byteOffset + sourceView.stride * y1; destPosition = destView.byteOffset + destView.stride * y1; destData.set(sourceData.subarray(sourcePosition,sourcePosition + destView.width * destBytesPerPixel),destPosition); } } else { var _g12 = 0; var _g5 = destView.height; while(_g12 < _g5) { var y2 = _g12++; sourcePosition = sourceView.byteOffset + sourceView.stride * y2; destPosition = destView.byteOffset + destView.stride * y2; var _g31 = 0; var _g21 = destView.width; while(_g31 < _g21) { var x1 = _g31++; switch(sourceFormat) { case 0: sourcePixel = (sourceData[sourcePosition] & 255) << 24 | (sourceData[sourcePosition + 1] & 255) << 16 | (sourceData[sourcePosition + 2] & 255) << 8 | sourceData[sourcePosition + 3] & 255; break; case 1: sourcePixel = (sourceData[sourcePosition + 1] & 255) << 24 | (sourceData[sourcePosition + 2] & 255) << 16 | (sourceData[sourcePosition + 3] & 255) << 8 | sourceData[sourcePosition] & 255; break; case 2: sourcePixel = (sourceData[sourcePosition + 2] & 255) << 24 | (sourceData[sourcePosition + 1] & 255) << 16 | (sourceData[sourcePosition] & 255) << 8 | sourceData[sourcePosition + 3] & 255; break; } if(sourcePremultiplied) { if((sourcePixel & 255) != 0 && (sourcePixel & 255) != 255) { lime_math__$RGBA_RGBA_$Impl_$.unmult = 255.0 / (sourcePixel & 255); sourcePixel = (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((sourcePixel >>> 24 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 24 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((sourcePixel >>> 16 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 16 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((sourcePixel >>> 8 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 8 | sourcePixel & 255 & 255; } } if(destPremultiplied) { if((sourcePixel & 255) == 0) { if(sourcePixel != 0) { sourcePixel = 0; } } else if((sourcePixel & 255) != 255) { lime_math__$RGBA_RGBA_$Impl_$.a16 = lime_math__$RGBA_RGBA_$Impl_$.__alpha16[sourcePixel & 255]; sourcePixel = ((sourcePixel >>> 24 & 255) * lime_math__$RGBA_RGBA_$Impl_$.a16 >> 16 & 255) << 24 | ((sourcePixel >>> 16 & 255) * lime_math__$RGBA_RGBA_$Impl_$.a16 >> 16 & 255) << 16 | ((sourcePixel >>> 8 & 255) * lime_math__$RGBA_RGBA_$Impl_$.a16 >> 16 & 255) << 8 | sourcePixel & 255 & 255; } } switch(destFormat) { case 0: destData[destPosition] = sourcePixel >>> 24 & 255; destData[destPosition + 1] = sourcePixel >>> 16 & 255; destData[destPosition + 2] = sourcePixel >>> 8 & 255; destData[destPosition + 3] = sourcePixel & 255; break; case 1: destData[destPosition] = sourcePixel & 255; destData[destPosition + 1] = sourcePixel >>> 24 & 255; destData[destPosition + 2] = sourcePixel >>> 16 & 255; destData[destPosition + 3] = sourcePixel >>> 8 & 255; break; case 2: destData[destPosition] = sourcePixel >>> 8 & 255; destData[destPosition + 1] = sourcePixel >>> 16 & 255; destData[destPosition + 2] = sourcePixel >>> 24 & 255; destData[destPosition + 3] = sourcePixel & 255; break; } sourcePosition += 4; destPosition += 4; } } } } else { if(alphaPoint == null) { alphaPoint = new lime_math_Vector2(); } var alphaData = alphaImage.buffer.data; var alphaFormat = alphaImage.buffer.format; var alphaPosition; var alphaPixel; var alphaView = new lime__$internal_graphics__$ImageDataUtil_ImageDataView(alphaImage,new lime_math_Rectangle(alphaPoint.x,alphaPoint.y,alphaImage.width,alphaImage.height)); alphaView.offset(sourceView.x,sourceView.y); destView.clip(destPoint.x | 0,destPoint.y | 0,alphaView.width,alphaView.height); if(blend) { var _g13 = 0; var _g6 = destView.height; while(_g13 < _g6) { var y3 = _g13++; sourcePosition = sourceView.byteOffset + sourceView.stride * y3; destPosition = destView.byteOffset + destView.stride * y3; alphaPosition = alphaView.byteOffset + alphaView.stride * y3; var _g32 = 0; var _g22 = destView.width; while(_g32 < _g22) { var x2 = _g32++; switch(sourceFormat) { case 0: sourcePixel = (sourceData[sourcePosition] & 255) << 24 | (sourceData[sourcePosition + 1] & 255) << 16 | (sourceData[sourcePosition + 2] & 255) << 8 | sourceData[sourcePosition + 3] & 255; break; case 1: sourcePixel = (sourceData[sourcePosition + 1] & 255) << 24 | (sourceData[sourcePosition + 2] & 255) << 16 | (sourceData[sourcePosition + 3] & 255) << 8 | sourceData[sourcePosition] & 255; break; case 2: sourcePixel = (sourceData[sourcePosition + 2] & 255) << 24 | (sourceData[sourcePosition + 1] & 255) << 16 | (sourceData[sourcePosition] & 255) << 8 | sourceData[sourcePosition + 3] & 255; break; } if(sourcePremultiplied) { if((sourcePixel & 255) != 0 && (sourcePixel & 255) != 255) { lime_math__$RGBA_RGBA_$Impl_$.unmult = 255.0 / (sourcePixel & 255); sourcePixel = (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((sourcePixel >>> 24 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 24 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((sourcePixel >>> 16 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 16 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((sourcePixel >>> 8 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 8 | sourcePixel & 255 & 255; } } switch(destFormat) { case 0: destPixel = (destData[destPosition] & 255) << 24 | (destData[destPosition + 1] & 255) << 16 | (destData[destPosition + 2] & 255) << 8 | destData[destPosition + 3] & 255; break; case 1: destPixel = (destData[destPosition + 1] & 255) << 24 | (destData[destPosition + 2] & 255) << 16 | (destData[destPosition + 3] & 255) << 8 | destData[destPosition] & 255; break; case 2: destPixel = (destData[destPosition + 2] & 255) << 24 | (destData[destPosition + 1] & 255) << 16 | (destData[destPosition] & 255) << 8 | destData[destPosition + 3] & 255; break; } if(destPremultiplied) { if((destPixel & 255) != 0 && (destPixel & 255) != 255) { lime_math__$RGBA_RGBA_$Impl_$.unmult = 255.0 / (destPixel & 255); destPixel = (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((destPixel >>> 24 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 24 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((destPixel >>> 16 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 16 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((destPixel >>> 8 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 8 | destPixel & 255 & 255; } } switch(alphaFormat) { case 0: alphaPixel = (alphaData[alphaPosition] & 255) << 24 | (alphaData[alphaPosition + 1] & 255) << 16 | (alphaData[alphaPosition + 2] & 255) << 8 | alphaData[alphaPosition + 3] & 255; break; case 1: alphaPixel = (alphaData[alphaPosition + 1] & 255) << 24 | (alphaData[alphaPosition + 2] & 255) << 16 | (alphaData[alphaPosition + 3] & 255) << 8 | alphaData[alphaPosition] & 255; break; case 2: alphaPixel = (alphaData[alphaPosition + 2] & 255) << 24 | (alphaData[alphaPosition + 1] & 255) << 16 | (alphaData[alphaPosition] & 255) << 8 | alphaData[alphaPosition + 3] & 255; break; } sourceAlpha = (alphaPixel & 255) / 255.0 * ((sourcePixel & 255) / 255.0); if(sourceAlpha > 0) { destAlpha = (destPixel & 255) / 255.0; oneMinusSourceAlpha = 1 - sourceAlpha; blendAlpha = sourceAlpha + destAlpha * oneMinusSourceAlpha; var value4 = lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round(((sourcePixel >>> 24 & 255) * sourceAlpha + (destPixel >>> 24 & 255) * destAlpha * oneMinusSourceAlpha) / blendAlpha)]; destPixel = (value4 & 255) << 24 | (destPixel >>> 16 & 255 & 255) << 16 | (destPixel >>> 8 & 255 & 255) << 8 | destPixel & 255 & 255; var value5 = lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round(((sourcePixel >>> 16 & 255) * sourceAlpha + (destPixel >>> 16 & 255) * destAlpha * oneMinusSourceAlpha) / blendAlpha)]; destPixel = (destPixel >>> 24 & 255 & 255) << 24 | (value5 & 255) << 16 | (destPixel >>> 8 & 255 & 255) << 8 | destPixel & 255 & 255; var value6 = lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round(((sourcePixel >>> 8 & 255) * sourceAlpha + (destPixel >>> 8 & 255) * destAlpha * oneMinusSourceAlpha) / blendAlpha)]; destPixel = (destPixel >>> 24 & 255 & 255) << 24 | (destPixel >>> 16 & 255 & 255) << 16 | (value6 & 255) << 8 | destPixel & 255 & 255; var value7 = lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round(blendAlpha * 255.0)]; destPixel = (destPixel >>> 24 & 255 & 255) << 24 | (destPixel >>> 16 & 255 & 255) << 16 | (destPixel >>> 8 & 255 & 255) << 8 | value7 & 255; if(destPremultiplied) { if((destPixel & 255) == 0) { if(destPixel != 0) { destPixel = 0; } } else if((destPixel & 255) != 255) { lime_math__$RGBA_RGBA_$Impl_$.a16 = lime_math__$RGBA_RGBA_$Impl_$.__alpha16[destPixel & 255]; destPixel = ((destPixel >>> 24 & 255) * lime_math__$RGBA_RGBA_$Impl_$.a16 >> 16 & 255) << 24 | ((destPixel >>> 16 & 255) * lime_math__$RGBA_RGBA_$Impl_$.a16 >> 16 & 255) << 16 | ((destPixel >>> 8 & 255) * lime_math__$RGBA_RGBA_$Impl_$.a16 >> 16 & 255) << 8 | destPixel & 255 & 255; } } switch(destFormat) { case 0: destData[destPosition] = destPixel >>> 24 & 255; destData[destPosition + 1] = destPixel >>> 16 & 255; destData[destPosition + 2] = destPixel >>> 8 & 255; destData[destPosition + 3] = destPixel & 255; break; case 1: destData[destPosition] = destPixel & 255; destData[destPosition + 1] = destPixel >>> 24 & 255; destData[destPosition + 2] = destPixel >>> 16 & 255; destData[destPosition + 3] = destPixel >>> 8 & 255; break; case 2: destData[destPosition] = destPixel >>> 8 & 255; destData[destPosition + 1] = destPixel >>> 16 & 255; destData[destPosition + 2] = destPixel >>> 24 & 255; destData[destPosition + 3] = destPixel & 255; break; } } sourcePosition += 4; destPosition += 4; alphaPosition += 4; } } } else { var _g14 = 0; var _g7 = destView.height; while(_g14 < _g7) { var y4 = _g14++; sourcePosition = sourceView.byteOffset + sourceView.stride * y4; destPosition = destView.byteOffset + destView.stride * y4; alphaPosition = alphaView.byteOffset + alphaView.stride * y4; var _g33 = 0; var _g23 = destView.width; while(_g33 < _g23) { var x3 = _g33++; switch(sourceFormat) { case 0: sourcePixel = (sourceData[sourcePosition] & 255) << 24 | (sourceData[sourcePosition + 1] & 255) << 16 | (sourceData[sourcePosition + 2] & 255) << 8 | sourceData[sourcePosition + 3] & 255; break; case 1: sourcePixel = (sourceData[sourcePosition + 1] & 255) << 24 | (sourceData[sourcePosition + 2] & 255) << 16 | (sourceData[sourcePosition + 3] & 255) << 8 | sourceData[sourcePosition] & 255; break; case 2: sourcePixel = (sourceData[sourcePosition + 2] & 255) << 24 | (sourceData[sourcePosition + 1] & 255) << 16 | (sourceData[sourcePosition] & 255) << 8 | sourceData[sourcePosition + 3] & 255; break; } if(sourcePremultiplied) { if((sourcePixel & 255) != 0 && (sourcePixel & 255) != 255) { lime_math__$RGBA_RGBA_$Impl_$.unmult = 255.0 / (sourcePixel & 255); sourcePixel = (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((sourcePixel >>> 24 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 24 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((sourcePixel >>> 16 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 16 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((sourcePixel >>> 8 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 8 | sourcePixel & 255 & 255; } } switch(alphaFormat) { case 0: alphaPixel = (alphaData[alphaPosition] & 255) << 24 | (alphaData[alphaPosition + 1] & 255) << 16 | (alphaData[alphaPosition + 2] & 255) << 8 | alphaData[alphaPosition + 3] & 255; break; case 1: alphaPixel = (alphaData[alphaPosition + 1] & 255) << 24 | (alphaData[alphaPosition + 2] & 255) << 16 | (alphaData[alphaPosition + 3] & 255) << 8 | alphaData[alphaPosition] & 255; break; case 2: alphaPixel = (alphaData[alphaPosition + 2] & 255) << 24 | (alphaData[alphaPosition + 1] & 255) << 16 | (alphaData[alphaPosition] & 255) << 8 | alphaData[alphaPosition + 3] & 255; break; } var value8 = Math.round((sourcePixel & 255) * ((alphaPixel & 255) / 255)); sourcePixel = (sourcePixel >>> 24 & 255 & 255) << 24 | (sourcePixel >>> 16 & 255 & 255) << 16 | (sourcePixel >>> 8 & 255 & 255) << 8 | value8 & 255; if(destPremultiplied) { if((sourcePixel & 255) == 0) { if(sourcePixel != 0) { sourcePixel = 0; } } else if((sourcePixel & 255) != 255) { lime_math__$RGBA_RGBA_$Impl_$.a16 = lime_math__$RGBA_RGBA_$Impl_$.__alpha16[sourcePixel & 255]; sourcePixel = ((sourcePixel >>> 24 & 255) * lime_math__$RGBA_RGBA_$Impl_$.a16 >> 16 & 255) << 24 | ((sourcePixel >>> 16 & 255) * lime_math__$RGBA_RGBA_$Impl_$.a16 >> 16 & 255) << 16 | ((sourcePixel >>> 8 & 255) * lime_math__$RGBA_RGBA_$Impl_$.a16 >> 16 & 255) << 8 | sourcePixel & 255 & 255; } } switch(destFormat) { case 0: destData[destPosition] = sourcePixel >>> 24 & 255; destData[destPosition + 1] = sourcePixel >>> 16 & 255; destData[destPosition + 2] = sourcePixel >>> 8 & 255; destData[destPosition + 3] = sourcePixel & 255; break; case 1: destData[destPosition] = sourcePixel & 255; destData[destPosition + 1] = sourcePixel >>> 24 & 255; destData[destPosition + 2] = sourcePixel >>> 16 & 255; destData[destPosition + 3] = sourcePixel >>> 8 & 255; break; case 2: destData[destPosition] = sourcePixel >>> 8 & 255; destData[destPosition + 1] = sourcePixel >>> 16 & 255; destData[destPosition + 2] = sourcePixel >>> 24 & 255; destData[destPosition + 3] = sourcePixel & 255; break; } sourcePosition += 4; destPosition += 4; alphaPosition += 4; } } } } } image.dirty = true; image.version++; }; lime__$internal_graphics_ImageDataUtil.fillRect = function(image,rect,color,format) { var fillColor; switch(format) { case 1: var argb = color; var this1 = 0; var rgba = this1; rgba = (argb >>> 16 & 255 & 255) << 24 | (argb >>> 8 & 255 & 255) << 16 | (argb & 255 & 255) << 8 | argb >>> 24 & 255 & 255; fillColor = rgba; break; case 2: var bgra = color; var this2 = 0; var rgba1 = this2; rgba1 = (bgra >>> 8 & 255 & 255) << 24 | (bgra >>> 16 & 255 & 255) << 16 | (bgra >>> 24 & 255 & 255) << 8 | bgra & 255 & 255; fillColor = rgba1; break; default: fillColor = color; } if(!image.get_transparent()) { fillColor = (fillColor >>> 24 & 255 & 255) << 24 | (fillColor >>> 16 & 255 & 255) << 16 | (fillColor >>> 8 & 255 & 255) << 8 | 255; } var data = image.buffer.data; if(data == null) { return; } var format1 = image.buffer.format; var premultiplied = image.buffer.premultiplied; if(premultiplied) { if((fillColor & 255) == 0) { if(fillColor != 0) { fillColor = 0; } } else if((fillColor & 255) != 255) { lime_math__$RGBA_RGBA_$Impl_$.a16 = lime_math__$RGBA_RGBA_$Impl_$.__alpha16[fillColor & 255]; fillColor = ((fillColor >>> 24 & 255) * lime_math__$RGBA_RGBA_$Impl_$.a16 >> 16 & 255) << 24 | ((fillColor >>> 16 & 255) * lime_math__$RGBA_RGBA_$Impl_$.a16 >> 16 & 255) << 16 | ((fillColor >>> 8 & 255) * lime_math__$RGBA_RGBA_$Impl_$.a16 >> 16 & 255) << 8 | fillColor & 255 & 255; } } var dataView = new lime__$internal_graphics__$ImageDataUtil_ImageDataView(image,rect); var row; var _g1 = 0; var _g = dataView.height; while(_g1 < _g) { var y = _g1++; row = dataView.byteOffset + dataView.stride * y; var _g3 = 0; var _g2 = dataView.width; while(_g3 < _g2) { var x = _g3++; var offset = row + x * 4; switch(format1) { case 0: data[offset] = fillColor >>> 24 & 255; data[offset + 1] = fillColor >>> 16 & 255; data[offset + 2] = fillColor >>> 8 & 255; data[offset + 3] = fillColor & 255; break; case 1: data[offset] = fillColor & 255; data[offset + 1] = fillColor >>> 24 & 255; data[offset + 2] = fillColor >>> 16 & 255; data[offset + 3] = fillColor >>> 8 & 255; break; case 2: data[offset] = fillColor >>> 8 & 255; data[offset + 1] = fillColor >>> 16 & 255; data[offset + 2] = fillColor >>> 24 & 255; data[offset + 3] = fillColor & 255; break; } } } image.dirty = true; image.version++; }; lime__$internal_graphics_ImageDataUtil.floodFill = function(image,x,y,color,format) { var data = image.buffer.data; if(data == null) { return; } if(format == 1) { color = (color & 16777215) << 8 | color >> 24 & 255; } var format1 = image.buffer.format; var premultiplied = image.buffer.premultiplied; var fillColor = color; var hitColor; var offset = (y + image.offsetY) * (image.buffer.width * 4) + (x + image.offsetX) * 4; switch(format1) { case 0: hitColor = (data[offset] & 255) << 24 | (data[offset + 1] & 255) << 16 | (data[offset + 2] & 255) << 8 | data[offset + 3] & 255; break; case 1: hitColor = (data[offset + 1] & 255) << 24 | (data[offset + 2] & 255) << 16 | (data[offset + 3] & 255) << 8 | data[offset] & 255; break; case 2: hitColor = (data[offset + 2] & 255) << 24 | (data[offset + 1] & 255) << 16 | (data[offset] & 255) << 8 | data[offset + 3] & 255; break; } if(premultiplied) { if((hitColor & 255) != 0 && (hitColor & 255) != 255) { lime_math__$RGBA_RGBA_$Impl_$.unmult = 255.0 / (hitColor & 255); hitColor = (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((hitColor >>> 24 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 24 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((hitColor >>> 16 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 16 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((hitColor >>> 8 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 8 | hitColor & 255 & 255; } } if(!image.get_transparent()) { fillColor = (fillColor >>> 24 & 255 & 255) << 24 | (fillColor >>> 16 & 255 & 255) << 16 | (fillColor >>> 8 & 255 & 255) << 8 | 255; hitColor = (hitColor >>> 24 & 255 & 255) << 24 | (hitColor >>> 16 & 255 & 255) << 16 | (hitColor >>> 8 & 255 & 255) << 8 | 255; } if(fillColor == hitColor) { return; } if(premultiplied) { if((fillColor & 255) == 0) { if(fillColor != 0) { fillColor = 0; } } else if((fillColor & 255) != 255) { lime_math__$RGBA_RGBA_$Impl_$.a16 = lime_math__$RGBA_RGBA_$Impl_$.__alpha16[fillColor & 255]; fillColor = ((fillColor >>> 24 & 255) * lime_math__$RGBA_RGBA_$Impl_$.a16 >> 16 & 255) << 24 | ((fillColor >>> 16 & 255) * lime_math__$RGBA_RGBA_$Impl_$.a16 >> 16 & 255) << 16 | ((fillColor >>> 8 & 255) * lime_math__$RGBA_RGBA_$Impl_$.a16 >> 16 & 255) << 8 | fillColor & 255 & 255; } } var dx = [0,-1,1,0]; var dy = [-1,0,0,1]; var minX = -image.offsetX; var minY = -image.offsetY; var maxX = minX + image.width; var maxY = minY + image.height; var queue = []; queue.push(x); queue.push(y); var curPointX; var curPointY; var nextPointX; var nextPointY; var nextPointOffset; var readColor; while(queue.length > 0) { curPointY = queue.pop(); curPointX = queue.pop(); var _g = 0; while(_g < 4) { var i = _g++; nextPointX = curPointX + dx[i]; nextPointY = curPointY + dy[i]; if(nextPointX < minX || nextPointY < minY || nextPointX >= maxX || nextPointY >= maxY) { continue; } nextPointOffset = (nextPointY * image.width + nextPointX) * 4; switch(format1) { case 0: readColor = (data[nextPointOffset] & 255) << 24 | (data[nextPointOffset + 1] & 255) << 16 | (data[nextPointOffset + 2] & 255) << 8 | data[nextPointOffset + 3] & 255; break; case 1: readColor = (data[nextPointOffset + 1] & 255) << 24 | (data[nextPointOffset + 2] & 255) << 16 | (data[nextPointOffset + 3] & 255) << 8 | data[nextPointOffset] & 255; break; case 2: readColor = (data[nextPointOffset + 2] & 255) << 24 | (data[nextPointOffset + 1] & 255) << 16 | (data[nextPointOffset] & 255) << 8 | data[nextPointOffset + 3] & 255; break; } if(premultiplied) { if((readColor & 255) != 0 && (readColor & 255) != 255) { lime_math__$RGBA_RGBA_$Impl_$.unmult = 255.0 / (readColor & 255); readColor = (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((readColor >>> 24 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 24 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((readColor >>> 16 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 16 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((readColor >>> 8 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 8 | readColor & 255 & 255; } } if(readColor == hitColor) { switch(format1) { case 0: data[nextPointOffset] = fillColor >>> 24 & 255; data[nextPointOffset + 1] = fillColor >>> 16 & 255; data[nextPointOffset + 2] = fillColor >>> 8 & 255; data[nextPointOffset + 3] = fillColor & 255; break; case 1: data[nextPointOffset] = fillColor & 255; data[nextPointOffset + 1] = fillColor >>> 24 & 255; data[nextPointOffset + 2] = fillColor >>> 16 & 255; data[nextPointOffset + 3] = fillColor >>> 8 & 255; break; case 2: data[nextPointOffset] = fillColor >>> 8 & 255; data[nextPointOffset + 1] = fillColor >>> 16 & 255; data[nextPointOffset + 2] = fillColor >>> 24 & 255; data[nextPointOffset + 3] = fillColor & 255; break; } queue.push(nextPointX); queue.push(nextPointY); } } } image.dirty = true; image.version++; }; lime__$internal_graphics_ImageDataUtil.gaussianBlur = function(image,sourceImage,sourceRect,destPoint,blurX,blurY,quality,strength,color) { if(strength == null) { strength = 1; } if(quality == null) { quality = 1; } if(blurY == null) { blurY = 4; } if(blurX == null) { blurX = 4; } var imagePremultiplied = image.get_premultiplied(); var sourceImagePremultiplied = sourceImage.get_premultiplied(); if(imagePremultiplied) { image.set_premultiplied(false); } if(sourceImagePremultiplied) { sourceImage.set_premultiplied(false); } var imgB = image.get_data(); var imgA = sourceImage.get_data(); var w = sourceRect.width | 0; var h = sourceRect.height | 0; var bx = blurX | 0; var by = blurY | 0; var oX = destPoint.x | 0; var oY = destPoint.y | 0; var n = quality * 2 - 1; var rng = Math.pow(2,quality) * 0.125; var bxs = lime__$internal_graphics_ImageDataUtil.__getBoxesForGaussianBlur(bx * rng,n); var bys = lime__$internal_graphics_ImageDataUtil.__getBoxesForGaussianBlur(by * rng,n); var offset = (w * oY + oX) * 4 | 0; lime__$internal_graphics_ImageDataUtil.__boxBlur(imgA,imgB,w,h,(bxs[0] - 1) / 2,(bys[0] - 1) / 2); var bIndex = 1; var _g1 = 0; var _g = n / 2 | 0; while(_g1 < _g) { var i = _g1++; lime__$internal_graphics_ImageDataUtil.__boxBlur(imgB,imgA,w,h,(bxs[bIndex] - 1) / 2,(bys[bIndex] - 1) / 2); lime__$internal_graphics_ImageDataUtil.__boxBlur(imgA,imgB,w,h,(bxs[bIndex + 1] - 1) / 2,(bys[bIndex + 1] - 1) / 2); bIndex += 2; } var x; var y; if(offset != 0 || strength != 1) { if(offset <= 0) { y = 0; while(y < h) { x = 0; while(x < w) { lime__$internal_graphics_ImageDataUtil.__translatePixel(imgB,sourceImage.get_rect(),image.get_rect(),destPoint,x,y,strength); ++x; } ++y; } } else { y = h - 1; while(y >= 0) { x = w - 1; while(x >= 0) { lime__$internal_graphics_ImageDataUtil.__translatePixel(imgB,sourceImage.get_rect(),image.get_rect(),destPoint,x,y,strength); --x; } --y; } } } image.dirty = true; image.version++; sourceImage.dirty = true; sourceImage.version++; if(imagePremultiplied) { image.set_premultiplied(true); } if(sourceImagePremultiplied) { sourceImage.set_premultiplied(true); } if(imgB == image.get_data()) { return image; } return sourceImage; }; lime__$internal_graphics_ImageDataUtil.getColorBoundsRect = function(image,mask,color,findColor,format) { var left = image.width + 1; var right = 0; var top = image.height + 1; var bottom = 0; var _color; var _mask; switch(format) { case 1: var argb = color; var this1 = 0; var rgba = this1; rgba = (argb >>> 16 & 255 & 255) << 24 | (argb >>> 8 & 255 & 255) << 16 | (argb & 255 & 255) << 8 | argb >>> 24 & 255 & 255; _color = rgba; var argb1 = mask; var this2 = 0; var rgba1 = this2; rgba1 = (argb1 >>> 16 & 255 & 255) << 24 | (argb1 >>> 8 & 255 & 255) << 16 | (argb1 & 255 & 255) << 8 | argb1 >>> 24 & 255 & 255; _mask = rgba1; break; case 2: var bgra = color; var this3 = 0; var rgba2 = this3; rgba2 = (bgra >>> 8 & 255 & 255) << 24 | (bgra >>> 16 & 255 & 255) << 16 | (bgra >>> 24 & 255 & 255) << 8 | bgra & 255 & 255; _color = rgba2; var bgra1 = mask; var this4 = 0; var rgba3 = this4; rgba3 = (bgra1 >>> 8 & 255 & 255) << 24 | (bgra1 >>> 16 & 255 & 255) << 16 | (bgra1 >>> 24 & 255 & 255) << 8 | bgra1 & 255 & 255; _mask = rgba3; break; default: _color = color; _mask = mask; } if(!image.get_transparent()) { _color = (_color >>> 24 & 255 & 255) << 24 | (_color >>> 16 & 255 & 255) << 16 | (_color >>> 8 & 255 & 255) << 8 | 255; _mask = (_mask >>> 24 & 255 & 255) << 24 | (_mask >>> 16 & 255 & 255) << 16 | (_mask >>> 8 & 255 & 255) << 8 | 255; } var pixel; var hit; var _g1 = 0; var _g = image.width; while(_g1 < _g) { var x = _g1++; hit = false; var _g3 = 0; var _g2 = image.height; while(_g3 < _g2) { var y = _g3++; pixel = image.getPixel32(x,y,0); if(findColor) { hit = (pixel & _mask) == _color; } else { hit = (pixel & _mask) != _color; } if(hit) { if(x < left) { left = x; } break; } } if(hit) { break; } } var ix; var _g11 = 0; var _g4 = image.width; while(_g11 < _g4) { var x1 = _g11++; ix = image.width - 1 - x1; hit = false; var _g31 = 0; var _g21 = image.height; while(_g31 < _g21) { var y1 = _g31++; pixel = image.getPixel32(ix,y1,0); if(findColor) { hit = (pixel & _mask) == _color; } else { hit = (pixel & _mask) != _color; } if(hit) { if(ix > right) { right = ix; } break; } } if(hit) { break; } } var _g12 = 0; var _g5 = image.height; while(_g12 < _g5) { var y2 = _g12++; hit = false; var _g32 = 0; var _g22 = image.width; while(_g32 < _g22) { var x2 = _g32++; pixel = image.getPixel32(x2,y2,0); if(findColor) { hit = (pixel & _mask) == _color; } else { hit = (pixel & _mask) != _color; } if(hit) { if(y2 < top) { top = y2; } break; } } if(hit) { break; } } var iy; var _g13 = 0; var _g6 = image.height; while(_g13 < _g6) { var y3 = _g13++; iy = image.height - 1 - y3; hit = false; var _g33 = 0; var _g23 = image.width; while(_g33 < _g23) { var x3 = _g33++; pixel = image.getPixel32(x3,iy,0); if(findColor) { hit = (pixel & _mask) == _color; } else { hit = (pixel & _mask) != _color; } if(hit) { if(iy > bottom) { bottom = iy; } break; } } if(hit) { break; } } var w = right - left; var h = bottom - top; if(w > 0) { ++w; } if(h > 0) { ++h; } if(w < 0) { w = 0; } if(h < 0) { h = 0; } if(left == right) { w = 1; } if(top == bottom) { h = 1; } if(left > image.width) { left = 0; } if(top > image.height) { top = 0; } return new lime_math_Rectangle(left,top,w,h); }; lime__$internal_graphics_ImageDataUtil.getPixel = function(image,x,y,format) { var pixel; var data = image.buffer.data; var offset = 4 * (y + image.offsetY) * image.buffer.width + (x + image.offsetX) * 4; var premultiplied = image.buffer.premultiplied; switch(image.buffer.format) { case 0: pixel = (data[offset] & 255) << 24 | (data[offset + 1] & 255) << 16 | (data[offset + 2] & 255) << 8 | data[offset + 3] & 255; break; case 1: pixel = (data[offset + 1] & 255) << 24 | (data[offset + 2] & 255) << 16 | (data[offset + 3] & 255) << 8 | data[offset] & 255; break; case 2: pixel = (data[offset + 2] & 255) << 24 | (data[offset + 1] & 255) << 16 | (data[offset] & 255) << 8 | data[offset + 3] & 255; break; } if(premultiplied) { if((pixel & 255) != 0 && (pixel & 255) != 255) { lime_math__$RGBA_RGBA_$Impl_$.unmult = 255.0 / (pixel & 255); pixel = (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((pixel >>> 24 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 24 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((pixel >>> 16 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 16 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((pixel >>> 8 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 8 | pixel & 255 & 255; } } pixel = (pixel >>> 24 & 255 & 255) << 24 | (pixel >>> 16 & 255 & 255) << 16 | (pixel >>> 8 & 255 & 255) << 8 | 0; switch(format) { case 1: var this1 = 0; var argb = this1; argb = (pixel & 255 & 255) << 24 | (pixel >>> 24 & 255 & 255) << 16 | (pixel >>> 16 & 255 & 255) << 8 | pixel >>> 8 & 255 & 255; return argb; case 2: var this2 = 0; var bgra = this2; bgra = (pixel >>> 8 & 255 & 255) << 24 | (pixel >>> 16 & 255 & 255) << 16 | (pixel >>> 24 & 255 & 255) << 8 | pixel & 255 & 255; return bgra; default: return pixel; } }; lime__$internal_graphics_ImageDataUtil.getPixel32 = function(image,x,y,format) { var pixel; var data = image.buffer.data; var offset = 4 * (y + image.offsetY) * image.buffer.width + (x + image.offsetX) * 4; var premultiplied = image.buffer.premultiplied; switch(image.buffer.format) { case 0: pixel = (data[offset] & 255) << 24 | (data[offset + 1] & 255) << 16 | (data[offset + 2] & 255) << 8 | data[offset + 3] & 255; break; case 1: pixel = (data[offset + 1] & 255) << 24 | (data[offset + 2] & 255) << 16 | (data[offset + 3] & 255) << 8 | data[offset] & 255; break; case 2: pixel = (data[offset + 2] & 255) << 24 | (data[offset + 1] & 255) << 16 | (data[offset] & 255) << 8 | data[offset + 3] & 255; break; } if(premultiplied) { if((pixel & 255) != 0 && (pixel & 255) != 255) { lime_math__$RGBA_RGBA_$Impl_$.unmult = 255.0 / (pixel & 255); pixel = (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((pixel >>> 24 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 24 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((pixel >>> 16 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 16 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((pixel >>> 8 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 8 | pixel & 255 & 255; } } switch(format) { case 1: var this1 = 0; var argb = this1; argb = (pixel & 255 & 255) << 24 | (pixel >>> 24 & 255 & 255) << 16 | (pixel >>> 16 & 255 & 255) << 8 | pixel >>> 8 & 255 & 255; return argb; case 2: var this2 = 0; var bgra = this2; bgra = (pixel >>> 8 & 255 & 255) << 24 | (pixel >>> 16 & 255 & 255) << 16 | (pixel >>> 24 & 255 & 255) << 8 | pixel & 255 & 255; return bgra; default: return pixel; } }; lime__$internal_graphics_ImageDataUtil.getPixels = function(image,rect,format) { if(image.buffer.data == null) { return null; } var length = rect.width * rect.height | 0; var bytes = new haxe_io_Bytes(new ArrayBuffer(length * 4)); var data = image.buffer.data; var sourceFormat = image.buffer.format; var premultiplied = image.buffer.premultiplied; var dataView = new lime__$internal_graphics__$ImageDataUtil_ImageDataView(image,rect); var position; var argb; var bgra; var pixel; var destPosition = 0; var _g1 = 0; var _g = dataView.height; while(_g1 < _g) { var y = _g1++; position = dataView.byteOffset + dataView.stride * y; var _g3 = 0; var _g2 = dataView.width; while(_g3 < _g2) { var x = _g3++; switch(sourceFormat) { case 0: pixel = (data[position] & 255) << 24 | (data[position + 1] & 255) << 16 | (data[position + 2] & 255) << 8 | data[position + 3] & 255; break; case 1: pixel = (data[position + 1] & 255) << 24 | (data[position + 2] & 255) << 16 | (data[position + 3] & 255) << 8 | data[position] & 255; break; case 2: pixel = (data[position + 2] & 255) << 24 | (data[position + 1] & 255) << 16 | (data[position] & 255) << 8 | data[position + 3] & 255; break; } if(premultiplied) { if((pixel & 255) != 0 && (pixel & 255) != 255) { lime_math__$RGBA_RGBA_$Impl_$.unmult = 255.0 / (pixel & 255); pixel = (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((pixel >>> 24 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 24 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((pixel >>> 16 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 16 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((pixel >>> 8 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 8 | pixel & 255 & 255; } } switch(format) { case 1: var this1 = 0; var argb1 = this1; argb1 = (pixel & 255 & 255) << 24 | (pixel >>> 24 & 255 & 255) << 16 | (pixel >>> 16 & 255 & 255) << 8 | pixel >>> 8 & 255 & 255; argb = argb1; pixel = argb; break; case 2: var this2 = 0; var bgra1 = this2; bgra1 = (pixel >>> 8 & 255 & 255) << 24 | (pixel >>> 16 & 255 & 255) << 16 | (pixel >>> 24 & 255 & 255) << 8 | pixel & 255 & 255; bgra = bgra1; pixel = bgra; break; default: } bytes.b[destPosition++] = pixel >>> 24 & 255 & 255; bytes.b[destPosition++] = pixel >>> 16 & 255 & 255; bytes.b[destPosition++] = pixel >>> 8 & 255 & 255; bytes.b[destPosition++] = pixel & 255 & 255; position += 4; } } return bytes; }; lime__$internal_graphics_ImageDataUtil.merge = function(image,sourceImage,sourceRect,destPoint,redMultiplier,greenMultiplier,blueMultiplier,alphaMultiplier) { if(image.buffer.data == null || sourceImage.buffer.data == null) { return; } var sourceView = new lime__$internal_graphics__$ImageDataUtil_ImageDataView(sourceImage,sourceRect); var destView = new lime__$internal_graphics__$ImageDataUtil_ImageDataView(image,new lime_math_Rectangle(destPoint.x,destPoint.y,sourceView.width,sourceView.height)); var sourceData = sourceImage.buffer.data; var destData = image.buffer.data; var sourceFormat = sourceImage.buffer.format; var destFormat = image.buffer.format; var sourcePremultiplied = sourceImage.buffer.premultiplied; var destPremultiplied = image.buffer.premultiplied; var sourcePosition; var destPosition; var sourcePixel; var destPixel; var _g1 = 0; var _g = destView.height; while(_g1 < _g) { var y = _g1++; sourcePosition = sourceView.byteOffset + sourceView.stride * y; destPosition = destView.byteOffset + destView.stride * y; var _g3 = 0; var _g2 = destView.width; while(_g3 < _g2) { var x = _g3++; switch(sourceFormat) { case 0: sourcePixel = (sourceData[sourcePosition] & 255) << 24 | (sourceData[sourcePosition + 1] & 255) << 16 | (sourceData[sourcePosition + 2] & 255) << 8 | sourceData[sourcePosition + 3] & 255; break; case 1: sourcePixel = (sourceData[sourcePosition + 1] & 255) << 24 | (sourceData[sourcePosition + 2] & 255) << 16 | (sourceData[sourcePosition + 3] & 255) << 8 | sourceData[sourcePosition] & 255; break; case 2: sourcePixel = (sourceData[sourcePosition + 2] & 255) << 24 | (sourceData[sourcePosition + 1] & 255) << 16 | (sourceData[sourcePosition] & 255) << 8 | sourceData[sourcePosition + 3] & 255; break; } if(sourcePremultiplied) { if((sourcePixel & 255) != 0 && (sourcePixel & 255) != 255) { lime_math__$RGBA_RGBA_$Impl_$.unmult = 255.0 / (sourcePixel & 255); sourcePixel = (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((sourcePixel >>> 24 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 24 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((sourcePixel >>> 16 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 16 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((sourcePixel >>> 8 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 8 | sourcePixel & 255 & 255; } } switch(destFormat) { case 0: destPixel = (destData[destPosition] & 255) << 24 | (destData[destPosition + 1] & 255) << 16 | (destData[destPosition + 2] & 255) << 8 | destData[destPosition + 3] & 255; break; case 1: destPixel = (destData[destPosition + 1] & 255) << 24 | (destData[destPosition + 2] & 255) << 16 | (destData[destPosition + 3] & 255) << 8 | destData[destPosition] & 255; break; case 2: destPixel = (destData[destPosition + 2] & 255) << 24 | (destData[destPosition + 1] & 255) << 16 | (destData[destPosition] & 255) << 8 | destData[destPosition + 3] & 255; break; } if(destPremultiplied) { if((destPixel & 255) != 0 && (destPixel & 255) != 255) { lime_math__$RGBA_RGBA_$Impl_$.unmult = 255.0 / (destPixel & 255); destPixel = (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((destPixel >>> 24 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 24 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((destPixel >>> 16 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 16 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((destPixel >>> 8 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 8 | destPixel & 255 & 255; } } var value = ((sourcePixel >>> 24 & 255) * redMultiplier + (destPixel >>> 24 & 255) * (256 - redMultiplier)) / 256 | 0; destPixel = (value & 255) << 24 | (destPixel >>> 16 & 255 & 255) << 16 | (destPixel >>> 8 & 255 & 255) << 8 | destPixel & 255 & 255; var value1 = ((sourcePixel >>> 16 & 255) * greenMultiplier + (destPixel >>> 16 & 255) * (256 - greenMultiplier)) / 256 | 0; destPixel = (destPixel >>> 24 & 255 & 255) << 24 | (value1 & 255) << 16 | (destPixel >>> 8 & 255 & 255) << 8 | destPixel & 255 & 255; var value2 = ((sourcePixel >>> 8 & 255) * blueMultiplier + (destPixel >>> 8 & 255) * (256 - blueMultiplier)) / 256 | 0; destPixel = (destPixel >>> 24 & 255 & 255) << 24 | (destPixel >>> 16 & 255 & 255) << 16 | (value2 & 255) << 8 | destPixel & 255 & 255; var value3 = ((sourcePixel & 255) * alphaMultiplier + (destPixel & 255) * (256 - alphaMultiplier)) / 256 | 0; destPixel = (destPixel >>> 24 & 255 & 255) << 24 | (destPixel >>> 16 & 255 & 255) << 16 | (destPixel >>> 8 & 255 & 255) << 8 | value3 & 255; if(destPremultiplied) { if((destPixel & 255) == 0) { if(destPixel != 0) { destPixel = 0; } } else if((destPixel & 255) != 255) { lime_math__$RGBA_RGBA_$Impl_$.a16 = lime_math__$RGBA_RGBA_$Impl_$.__alpha16[destPixel & 255]; destPixel = ((destPixel >>> 24 & 255) * lime_math__$RGBA_RGBA_$Impl_$.a16 >> 16 & 255) << 24 | ((destPixel >>> 16 & 255) * lime_math__$RGBA_RGBA_$Impl_$.a16 >> 16 & 255) << 16 | ((destPixel >>> 8 & 255) * lime_math__$RGBA_RGBA_$Impl_$.a16 >> 16 & 255) << 8 | destPixel & 255 & 255; } } switch(destFormat) { case 0: destData[destPosition] = destPixel >>> 24 & 255; destData[destPosition + 1] = destPixel >>> 16 & 255; destData[destPosition + 2] = destPixel >>> 8 & 255; destData[destPosition + 3] = destPixel & 255; break; case 1: destData[destPosition] = destPixel & 255; destData[destPosition + 1] = destPixel >>> 24 & 255; destData[destPosition + 2] = destPixel >>> 16 & 255; destData[destPosition + 3] = destPixel >>> 8 & 255; break; case 2: destData[destPosition] = destPixel >>> 8 & 255; destData[destPosition + 1] = destPixel >>> 16 & 255; destData[destPosition + 2] = destPixel >>> 24 & 255; destData[destPosition + 3] = destPixel & 255; break; } sourcePosition += 4; destPosition += 4; } } image.dirty = true; image.version++; }; lime__$internal_graphics_ImageDataUtil.multiplyAlpha = function(image) { var data = image.buffer.data; if(data == null || !image.buffer.transparent) { return; } var format = image.buffer.format; var length = data.length / 4 | 0; var pixel; var _g1 = 0; var _g = length; while(_g1 < _g) { var i = _g1++; var offset = i * 4; switch(format) { case 0: pixel = (data[offset] & 255) << 24 | (data[offset + 1] & 255) << 16 | (data[offset + 2] & 255) << 8 | data[offset + 3] & 255; break; case 1: pixel = (data[offset + 1] & 255) << 24 | (data[offset + 2] & 255) << 16 | (data[offset + 3] & 255) << 8 | data[offset] & 255; break; case 2: pixel = (data[offset + 2] & 255) << 24 | (data[offset + 1] & 255) << 16 | (data[offset] & 255) << 8 | data[offset + 3] & 255; break; } var offset1 = i * 4; if((pixel & 255) == 0) { if(pixel != 0) { pixel = 0; } } else if((pixel & 255) != 255) { lime_math__$RGBA_RGBA_$Impl_$.a16 = lime_math__$RGBA_RGBA_$Impl_$.__alpha16[pixel & 255]; pixel = ((pixel >>> 24 & 255) * lime_math__$RGBA_RGBA_$Impl_$.a16 >> 16 & 255) << 24 | ((pixel >>> 16 & 255) * lime_math__$RGBA_RGBA_$Impl_$.a16 >> 16 & 255) << 16 | ((pixel >>> 8 & 255) * lime_math__$RGBA_RGBA_$Impl_$.a16 >> 16 & 255) << 8 | pixel & 255 & 255; } switch(format) { case 0: data[offset1] = pixel >>> 24 & 255; data[offset1 + 1] = pixel >>> 16 & 255; data[offset1 + 2] = pixel >>> 8 & 255; data[offset1 + 3] = pixel & 255; break; case 1: data[offset1] = pixel & 255; data[offset1 + 1] = pixel >>> 24 & 255; data[offset1 + 2] = pixel >>> 16 & 255; data[offset1 + 3] = pixel >>> 8 & 255; break; case 2: data[offset1] = pixel >>> 8 & 255; data[offset1 + 1] = pixel >>> 16 & 255; data[offset1 + 2] = pixel >>> 24 & 255; data[offset1 + 3] = pixel & 255; break; } } image.buffer.premultiplied = true; image.dirty = true; image.version++; }; lime__$internal_graphics_ImageDataUtil.resize = function(image,newWidth,newHeight) { var buffer = image.buffer; if(buffer.width == newWidth && buffer.height == newHeight) { return; } var elements = newWidth * newHeight * 4; var this1; if(elements != null) { this1 = new Uint8Array(elements); } else { this1 = null; } var newBuffer = new lime_graphics_ImageBuffer(this1,newWidth,newHeight); var imageWidth = image.width; var imageHeight = image.height; var data = image.get_data(); var newData = newBuffer.data; var sourceIndex; var sourceIndexX; var sourceIndexY; var sourceIndexXY; var index; var sourceX; var sourceY; var u; var v; var uRatio; var vRatio; var uOpposite; var vOpposite; var _g1 = 0; var _g = newHeight; while(_g1 < _g) { var y = _g1++; var _g3 = 0; var _g2 = newWidth; while(_g3 < _g2) { var x = _g3++; u = (x + 0.5) / newWidth * imageWidth - 0.5; v = (y + 0.5) / newHeight * imageHeight - 0.5; sourceX = u | 0; sourceY = v | 0; sourceIndex = (sourceY * imageWidth + sourceX) * 4; if(sourceX < imageWidth - 1) { sourceIndexX = sourceIndex + 4; } else { sourceIndexX = sourceIndex; } if(sourceY < imageHeight - 1) { sourceIndexY = sourceIndex + imageWidth * 4; } else { sourceIndexY = sourceIndex; } if(sourceIndexX != sourceIndex) { sourceIndexXY = sourceIndexY + 4; } else { sourceIndexXY = sourceIndexY; } index = (y * newWidth + x) * 4; uRatio = u - sourceX; vRatio = v - sourceY; uOpposite = 1 - uRatio; vOpposite = 1 - vRatio; newData[index] = (_$UInt_UInt_$Impl_$.toFloat(data[sourceIndex]) * uOpposite + _$UInt_UInt_$Impl_$.toFloat(data[sourceIndexX]) * uRatio) * vOpposite + (_$UInt_UInt_$Impl_$.toFloat(data[sourceIndexY]) * uOpposite + _$UInt_UInt_$Impl_$.toFloat(data[sourceIndexXY]) * uRatio) * vRatio | 0; newData[index + 1] = (_$UInt_UInt_$Impl_$.toFloat(data[sourceIndex + 1]) * uOpposite + _$UInt_UInt_$Impl_$.toFloat(data[sourceIndexX + 1]) * uRatio) * vOpposite + (_$UInt_UInt_$Impl_$.toFloat(data[sourceIndexY + 1]) * uOpposite + _$UInt_UInt_$Impl_$.toFloat(data[sourceIndexXY + 1]) * uRatio) * vRatio | 0; newData[index + 2] = (_$UInt_UInt_$Impl_$.toFloat(data[sourceIndex + 2]) * uOpposite + _$UInt_UInt_$Impl_$.toFloat(data[sourceIndexX + 2]) * uRatio) * vOpposite + (_$UInt_UInt_$Impl_$.toFloat(data[sourceIndexY + 2]) * uOpposite + _$UInt_UInt_$Impl_$.toFloat(data[sourceIndexXY + 2]) * uRatio) * vRatio | 0; if(data[sourceIndexX + 3] == 0 || data[sourceIndexY + 3] == 0 || data[sourceIndexXY + 3] == 0) { newData[index + 3] = 0; } else { newData[index + 3] = data[sourceIndex + 3]; } } } buffer.data = newBuffer.data; buffer.width = newWidth; buffer.height = newHeight; buffer.__srcImage = null; buffer.__srcImageData = null; buffer.__srcCanvas = null; buffer.__srcContext = null; image.dirty = true; image.version++; }; lime__$internal_graphics_ImageDataUtil.resizeBuffer = function(image,newWidth,newHeight) { var buffer = image.buffer; var data = image.get_data(); var elements = newWidth * newHeight * 4; var this1; if(elements != null) { this1 = new Uint8Array(elements); } else { this1 = null; } var newData = this1; var sourceIndex; var index; var _g1 = 0; var _g = buffer.height; while(_g1 < _g) { var y = _g1++; var _g3 = 0; var _g2 = buffer.width; while(_g3 < _g2) { var x = _g3++; sourceIndex = (y * buffer.width + x) * 4; index = (y * newWidth + x) * 4; newData[index] = data[sourceIndex]; newData[index + 1] = data[sourceIndex + 1]; newData[index + 2] = data[sourceIndex + 2]; newData[index + 3] = data[sourceIndex + 3]; } } buffer.data = newData; buffer.width = newWidth; buffer.height = newHeight; buffer.__srcImage = null; buffer.__srcImageData = null; buffer.__srcCanvas = null; buffer.__srcContext = null; image.dirty = true; image.version++; }; lime__$internal_graphics_ImageDataUtil.setFormat = function(image,format) { var data = image.buffer.data; if(data == null) { return; } var index; var a16; var length = data.length / 4 | 0; var r1; var g1; var b1; var a1; var r2; var g2; var b2; var a2; var r; var g; var b; var a; var _g = image.get_format(); switch(_g) { case 0: r1 = 0; g1 = 1; b1 = 2; a1 = 3; break; case 1: r1 = 1; g1 = 2; b1 = 3; a1 = 0; break; case 2: r1 = 2; g1 = 1; b1 = 0; a1 = 3; break; } switch(format) { case 0: r2 = 0; g2 = 1; b2 = 2; a2 = 3; break; case 1: r2 = 1; g2 = 2; b2 = 3; a2 = 0; break; case 2: r2 = 2; g2 = 1; b2 = 0; a2 = 3; break; } var _g2 = 0; var _g1 = length; while(_g2 < _g1) { var i = _g2++; index = i * 4; r = data[index + r1]; g = data[index + g1]; b = data[index + b1]; a = data[index + a1]; data[index + r2] = r; data[index + g2] = g; data[index + b2] = b; data[index + a2] = a; } image.buffer.format = format; image.dirty = true; image.version++; }; lime__$internal_graphics_ImageDataUtil.setPixel = function(image,x,y,color,format) { var pixel; switch(format) { case 1: var argb = color; var this1 = 0; var rgba = this1; rgba = (argb >>> 16 & 255 & 255) << 24 | (argb >>> 8 & 255 & 255) << 16 | (argb & 255 & 255) << 8 | argb >>> 24 & 255 & 255; pixel = rgba; break; case 2: var bgra = color; var this2 = 0; var rgba1 = this2; rgba1 = (bgra >>> 8 & 255 & 255) << 24 | (bgra >>> 16 & 255 & 255) << 16 | (bgra >>> 24 & 255 & 255) << 8 | bgra & 255 & 255; pixel = rgba1; break; default: pixel = color; } var this3 = 0; var source = this3; var data = image.buffer.data; var offset = 4 * (y + image.offsetY) * image.buffer.width + (x + image.offsetX) * 4; var premultiplied = image.buffer.premultiplied; switch(image.buffer.format) { case 0: source = (data[offset] & 255) << 24 | (data[offset + 1] & 255) << 16 | (data[offset + 2] & 255) << 8 | data[offset + 3] & 255; break; case 1: source = (data[offset + 1] & 255) << 24 | (data[offset + 2] & 255) << 16 | (data[offset + 3] & 255) << 8 | data[offset] & 255; break; case 2: source = (data[offset + 2] & 255) << 24 | (data[offset + 1] & 255) << 16 | (data[offset] & 255) << 8 | data[offset + 3] & 255; break; } if(premultiplied) { if((source & 255) != 0 && (source & 255) != 255) { lime_math__$RGBA_RGBA_$Impl_$.unmult = 255.0 / (source & 255); source = (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((source >>> 24 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 24 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((source >>> 16 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 16 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((source >>> 8 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 8 | source & 255 & 255; } } var value = source & 255; pixel = (pixel >>> 24 & 255 & 255) << 24 | (pixel >>> 16 & 255 & 255) << 16 | (pixel >>> 8 & 255 & 255) << 8 | value & 255; var data1 = image.buffer.data; var offset1 = 4 * (y + image.offsetY) * image.buffer.width + (x + image.offsetX) * 4; if(image.buffer.premultiplied) { if((pixel & 255) == 0) { if(pixel != 0) { pixel = 0; } } else if((pixel & 255) != 255) { lime_math__$RGBA_RGBA_$Impl_$.a16 = lime_math__$RGBA_RGBA_$Impl_$.__alpha16[pixel & 255]; pixel = ((pixel >>> 24 & 255) * lime_math__$RGBA_RGBA_$Impl_$.a16 >> 16 & 255) << 24 | ((pixel >>> 16 & 255) * lime_math__$RGBA_RGBA_$Impl_$.a16 >> 16 & 255) << 16 | ((pixel >>> 8 & 255) * lime_math__$RGBA_RGBA_$Impl_$.a16 >> 16 & 255) << 8 | pixel & 255 & 255; } } switch(image.buffer.format) { case 0: data1[offset1] = pixel >>> 24 & 255; data1[offset1 + 1] = pixel >>> 16 & 255; data1[offset1 + 2] = pixel >>> 8 & 255; data1[offset1 + 3] = pixel & 255; break; case 1: data1[offset1] = pixel & 255; data1[offset1 + 1] = pixel >>> 24 & 255; data1[offset1 + 2] = pixel >>> 16 & 255; data1[offset1 + 3] = pixel >>> 8 & 255; break; case 2: data1[offset1] = pixel >>> 8 & 255; data1[offset1 + 1] = pixel >>> 16 & 255; data1[offset1 + 2] = pixel >>> 24 & 255; data1[offset1 + 3] = pixel & 255; break; } image.dirty = true; image.version++; }; lime__$internal_graphics_ImageDataUtil.setPixel32 = function(image,x,y,color,format) { var pixel; switch(format) { case 1: var argb = color; var this1 = 0; var rgba = this1; rgba = (argb >>> 16 & 255 & 255) << 24 | (argb >>> 8 & 255 & 255) << 16 | (argb & 255 & 255) << 8 | argb >>> 24 & 255 & 255; pixel = rgba; break; case 2: var bgra = color; var this2 = 0; var rgba1 = this2; rgba1 = (bgra >>> 8 & 255 & 255) << 24 | (bgra >>> 16 & 255 & 255) << 16 | (bgra >>> 24 & 255 & 255) << 8 | bgra & 255 & 255; pixel = rgba1; break; default: pixel = color; } if(!image.get_transparent()) { pixel = (pixel >>> 24 & 255 & 255) << 24 | (pixel >>> 16 & 255 & 255) << 16 | (pixel >>> 8 & 255 & 255) << 8 | 255; } var data = image.buffer.data; var offset = 4 * (y + image.offsetY) * image.buffer.width + (x + image.offsetX) * 4; if(image.buffer.premultiplied) { if((pixel & 255) == 0) { if(pixel != 0) { pixel = 0; } } else if((pixel & 255) != 255) { lime_math__$RGBA_RGBA_$Impl_$.a16 = lime_math__$RGBA_RGBA_$Impl_$.__alpha16[pixel & 255]; pixel = ((pixel >>> 24 & 255) * lime_math__$RGBA_RGBA_$Impl_$.a16 >> 16 & 255) << 24 | ((pixel >>> 16 & 255) * lime_math__$RGBA_RGBA_$Impl_$.a16 >> 16 & 255) << 16 | ((pixel >>> 8 & 255) * lime_math__$RGBA_RGBA_$Impl_$.a16 >> 16 & 255) << 8 | pixel & 255 & 255; } } switch(image.buffer.format) { case 0: data[offset] = pixel >>> 24 & 255; data[offset + 1] = pixel >>> 16 & 255; data[offset + 2] = pixel >>> 8 & 255; data[offset + 3] = pixel & 255; break; case 1: data[offset] = pixel & 255; data[offset + 1] = pixel >>> 24 & 255; data[offset + 2] = pixel >>> 16 & 255; data[offset + 3] = pixel >>> 8 & 255; break; case 2: data[offset] = pixel >>> 8 & 255; data[offset + 1] = pixel >>> 16 & 255; data[offset + 2] = pixel >>> 24 & 255; data[offset + 3] = pixel & 255; break; } image.dirty = true; image.version++; }; lime__$internal_graphics_ImageDataUtil.setPixels = function(image,rect,bytePointer,format,endian) { if(image.buffer.data == null) { return; } var data = image.buffer.data; var sourceFormat = image.buffer.format; var premultiplied = image.buffer.premultiplied; var dataView = new lime__$internal_graphics__$ImageDataUtil_ImageDataView(image,rect); var row; var color; var pixel; var transparent = image.get_transparent(); var bytes = bytePointer.bytes; var dataPosition = bytePointer.offset; var littleEndian = endian != lime_system_Endian.BIG_ENDIAN; var _g1 = 0; var _g = dataView.height; while(_g1 < _g) { var y = _g1++; row = dataView.byteOffset + dataView.stride * y; var _g3 = 0; var _g2 = dataView.width; while(_g3 < _g2) { var x = _g3++; if(littleEndian) { color = bytes.getInt32(dataPosition); } else { color = bytes.b[dataPosition + 3] | bytes.b[dataPosition + 2] << 8 | bytes.b[dataPosition + 1] << 16 | bytes.b[dataPosition] << 24; } dataPosition += 4; switch(format) { case 1: var argb = color; var this1 = 0; var rgba = this1; rgba = (argb >>> 16 & 255 & 255) << 24 | (argb >>> 8 & 255 & 255) << 16 | (argb & 255 & 255) << 8 | argb >>> 24 & 255 & 255; pixel = rgba; break; case 2: var bgra = color; var this2 = 0; var rgba1 = this2; rgba1 = (bgra >>> 8 & 255 & 255) << 24 | (bgra >>> 16 & 255 & 255) << 16 | (bgra >>> 24 & 255 & 255) << 8 | bgra & 255 & 255; pixel = rgba1; break; default: pixel = color; } if(!transparent) { pixel = (pixel >>> 24 & 255 & 255) << 24 | (pixel >>> 16 & 255 & 255) << 16 | (pixel >>> 8 & 255 & 255) << 8 | 255; } var offset = row + x * 4; if(premultiplied) { if((pixel & 255) == 0) { if(pixel != 0) { pixel = 0; } } else if((pixel & 255) != 255) { lime_math__$RGBA_RGBA_$Impl_$.a16 = lime_math__$RGBA_RGBA_$Impl_$.__alpha16[pixel & 255]; pixel = ((pixel >>> 24 & 255) * lime_math__$RGBA_RGBA_$Impl_$.a16 >> 16 & 255) << 24 | ((pixel >>> 16 & 255) * lime_math__$RGBA_RGBA_$Impl_$.a16 >> 16 & 255) << 16 | ((pixel >>> 8 & 255) * lime_math__$RGBA_RGBA_$Impl_$.a16 >> 16 & 255) << 8 | pixel & 255 & 255; } } switch(sourceFormat) { case 0: data[offset] = pixel >>> 24 & 255; data[offset + 1] = pixel >>> 16 & 255; data[offset + 2] = pixel >>> 8 & 255; data[offset + 3] = pixel & 255; break; case 1: data[offset] = pixel & 255; data[offset + 1] = pixel >>> 24 & 255; data[offset + 2] = pixel >>> 16 & 255; data[offset + 3] = pixel >>> 8 & 255; break; case 2: data[offset] = pixel >>> 8 & 255; data[offset + 1] = pixel >>> 16 & 255; data[offset + 2] = pixel >>> 24 & 255; data[offset + 3] = pixel & 255; break; } } } image.dirty = true; image.version++; }; lime__$internal_graphics_ImageDataUtil.threshold = function(image,sourceImage,sourceRect,destPoint,operation,threshold,color,mask,copySource,format) { var _color; var _mask; var _threshold; switch(format) { case 1: var argb = color; var this1 = 0; var rgba = this1; rgba = (argb >>> 16 & 255 & 255) << 24 | (argb >>> 8 & 255 & 255) << 16 | (argb & 255 & 255) << 8 | argb >>> 24 & 255 & 255; _color = rgba; var argb1 = mask; var this2 = 0; var rgba1 = this2; rgba1 = (argb1 >>> 16 & 255 & 255) << 24 | (argb1 >>> 8 & 255 & 255) << 16 | (argb1 & 255 & 255) << 8 | argb1 >>> 24 & 255 & 255; _mask = rgba1; var argb2 = threshold; var this3 = 0; var rgba2 = this3; rgba2 = (argb2 >>> 16 & 255 & 255) << 24 | (argb2 >>> 8 & 255 & 255) << 16 | (argb2 & 255 & 255) << 8 | argb2 >>> 24 & 255 & 255; _threshold = rgba2; break; case 2: var bgra = color; var this4 = 0; var rgba3 = this4; rgba3 = (bgra >>> 8 & 255 & 255) << 24 | (bgra >>> 16 & 255 & 255) << 16 | (bgra >>> 24 & 255 & 255) << 8 | bgra & 255 & 255; _color = rgba3; var bgra1 = mask; var this5 = 0; var rgba4 = this5; rgba4 = (bgra1 >>> 8 & 255 & 255) << 24 | (bgra1 >>> 16 & 255 & 255) << 16 | (bgra1 >>> 24 & 255 & 255) << 8 | bgra1 & 255 & 255; _mask = rgba4; var bgra2 = threshold; var this6 = 0; var rgba5 = this6; rgba5 = (bgra2 >>> 8 & 255 & 255) << 24 | (bgra2 >>> 16 & 255 & 255) << 16 | (bgra2 >>> 24 & 255 & 255) << 8 | bgra2 & 255 & 255; _threshold = rgba5; break; default: _color = color; _mask = mask; _threshold = threshold; } var _operation; switch(operation) { case "!=": _operation = 0; break; case "<": _operation = 2; break; case "<=": _operation = 3; break; case "==": _operation = 1; break; case ">": _operation = 4; break; case ">=": _operation = 5; break; default: _operation = -1; } if(_operation == -1) { return 0; } var srcData = sourceImage.buffer.data; var destData = image.buffer.data; if(srcData == null || destData == null) { return 0; } var hits = 0; var srcView = new lime__$internal_graphics__$ImageDataUtil_ImageDataView(sourceImage,sourceRect); var destView = new lime__$internal_graphics__$ImageDataUtil_ImageDataView(image,new lime_math_Rectangle(destPoint.x,destPoint.y,srcView.width,srcView.height)); var srcFormat = sourceImage.buffer.format; var destFormat = image.buffer.format; var srcPremultiplied = sourceImage.buffer.premultiplied; var destPremultiplied = image.buffer.premultiplied; var srcPosition; var destPosition; var srcPixel; var destPixel; var pixelMask; var test; var value; var _g1 = 0; var _g = destView.height; while(_g1 < _g) { var y = _g1++; srcPosition = srcView.byteOffset + srcView.stride * y; destPosition = destView.byteOffset + destView.stride * y; var _g3 = 0; var _g2 = destView.width; while(_g3 < _g2) { var x = _g3++; switch(srcFormat) { case 0: srcPixel = (srcData[srcPosition] & 255) << 24 | (srcData[srcPosition + 1] & 255) << 16 | (srcData[srcPosition + 2] & 255) << 8 | srcData[srcPosition + 3] & 255; break; case 1: srcPixel = (srcData[srcPosition + 1] & 255) << 24 | (srcData[srcPosition + 2] & 255) << 16 | (srcData[srcPosition + 3] & 255) << 8 | srcData[srcPosition] & 255; break; case 2: srcPixel = (srcData[srcPosition + 2] & 255) << 24 | (srcData[srcPosition + 1] & 255) << 16 | (srcData[srcPosition] & 255) << 8 | srcData[srcPosition + 3] & 255; break; } if(srcPremultiplied) { if((srcPixel & 255) != 0 && (srcPixel & 255) != 255) { lime_math__$RGBA_RGBA_$Impl_$.unmult = 255.0 / (srcPixel & 255); srcPixel = (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((srcPixel >>> 24 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 24 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((srcPixel >>> 16 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 16 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((srcPixel >>> 8 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 8 | srcPixel & 255 & 255; } } pixelMask = srcPixel & _mask; var tmp1; var tmp2; tmp1 = pixelMask >>> 24 & 255; tmp2 = _threshold >>> 24 & 255; if(tmp1 != tmp2) { if(_$UInt_UInt_$Impl_$.gt(tmp1,tmp2)) { value = 1; } else { value = -1; } } else { tmp1 = pixelMask >>> 16 & 255; tmp2 = _threshold >>> 16 & 255; if(tmp1 != tmp2) { if(_$UInt_UInt_$Impl_$.gt(tmp1,tmp2)) { value = 1; } else { value = -1; } } else { tmp1 = pixelMask >>> 8 & 255; tmp2 = _threshold >>> 8 & 255; if(tmp1 != tmp2) { if(_$UInt_UInt_$Impl_$.gt(tmp1,tmp2)) { value = 1; } else { value = -1; } } else { tmp1 = pixelMask & 255; tmp2 = _threshold & 255; if(tmp1 != tmp2) { if(_$UInt_UInt_$Impl_$.gt(tmp1,tmp2)) { value = 1; } else { value = -1; } } else { value = 0; } } } } switch(_operation) { case 0: test = value != 0; break; case 1: test = value == 0; break; case 2: test = value == -1; break; case 3: if(value != 0) { test = value == -1; } else { test = true; } break; case 4: test = value == 1; break; case 5: if(value != 0) { test = value == 1; } else { test = true; } break; default: test = false; } if(test) { if(destPremultiplied) { if((_color & 255) == 0) { if(_color != 0) { _color = 0; } } else if((_color & 255) != 255) { lime_math__$RGBA_RGBA_$Impl_$.a16 = lime_math__$RGBA_RGBA_$Impl_$.__alpha16[_color & 255]; _color = ((_color >>> 24 & 255) * lime_math__$RGBA_RGBA_$Impl_$.a16 >> 16 & 255) << 24 | ((_color >>> 16 & 255) * lime_math__$RGBA_RGBA_$Impl_$.a16 >> 16 & 255) << 16 | ((_color >>> 8 & 255) * lime_math__$RGBA_RGBA_$Impl_$.a16 >> 16 & 255) << 8 | _color & 255 & 255; } } switch(destFormat) { case 0: destData[destPosition] = _color >>> 24 & 255; destData[destPosition + 1] = _color >>> 16 & 255; destData[destPosition + 2] = _color >>> 8 & 255; destData[destPosition + 3] = _color & 255; break; case 1: destData[destPosition] = _color & 255; destData[destPosition + 1] = _color >>> 24 & 255; destData[destPosition + 2] = _color >>> 16 & 255; destData[destPosition + 3] = _color >>> 8 & 255; break; case 2: destData[destPosition] = _color >>> 8 & 255; destData[destPosition + 1] = _color >>> 16 & 255; destData[destPosition + 2] = _color >>> 24 & 255; destData[destPosition + 3] = _color & 255; break; } ++hits; } else if(copySource) { if(destPremultiplied) { if((srcPixel & 255) == 0) { if(srcPixel != 0) { srcPixel = 0; } } else if((srcPixel & 255) != 255) { lime_math__$RGBA_RGBA_$Impl_$.a16 = lime_math__$RGBA_RGBA_$Impl_$.__alpha16[srcPixel & 255]; srcPixel = ((srcPixel >>> 24 & 255) * lime_math__$RGBA_RGBA_$Impl_$.a16 >> 16 & 255) << 24 | ((srcPixel >>> 16 & 255) * lime_math__$RGBA_RGBA_$Impl_$.a16 >> 16 & 255) << 16 | ((srcPixel >>> 8 & 255) * lime_math__$RGBA_RGBA_$Impl_$.a16 >> 16 & 255) << 8 | srcPixel & 255 & 255; } } switch(destFormat) { case 0: destData[destPosition] = srcPixel >>> 24 & 255; destData[destPosition + 1] = srcPixel >>> 16 & 255; destData[destPosition + 2] = srcPixel >>> 8 & 255; destData[destPosition + 3] = srcPixel & 255; break; case 1: destData[destPosition] = srcPixel & 255; destData[destPosition + 1] = srcPixel >>> 24 & 255; destData[destPosition + 2] = srcPixel >>> 16 & 255; destData[destPosition + 3] = srcPixel >>> 8 & 255; break; case 2: destData[destPosition] = srcPixel >>> 8 & 255; destData[destPosition + 1] = srcPixel >>> 16 & 255; destData[destPosition + 2] = srcPixel >>> 24 & 255; destData[destPosition + 3] = srcPixel & 255; break; } } srcPosition += 4; destPosition += 4; } } if(hits > 0) { image.dirty = true; image.version++; } return hits; }; lime__$internal_graphics_ImageDataUtil.unmultiplyAlpha = function(image) { var data = image.buffer.data; if(data == null) { return; } var format = image.buffer.format; var length = data.length / 4 | 0; var pixel; var _g1 = 0; var _g = length; while(_g1 < _g) { var i = _g1++; var offset = i * 4; switch(format) { case 0: pixel = (data[offset] & 255) << 24 | (data[offset + 1] & 255) << 16 | (data[offset + 2] & 255) << 8 | data[offset + 3] & 255; break; case 1: pixel = (data[offset + 1] & 255) << 24 | (data[offset + 2] & 255) << 16 | (data[offset + 3] & 255) << 8 | data[offset] & 255; break; case 2: pixel = (data[offset + 2] & 255) << 24 | (data[offset + 1] & 255) << 16 | (data[offset] & 255) << 8 | data[offset + 3] & 255; break; } if((pixel & 255) != 0 && (pixel & 255) != 255) { lime_math__$RGBA_RGBA_$Impl_$.unmult = 255.0 / (pixel & 255); pixel = (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((pixel >>> 24 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 24 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((pixel >>> 16 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 16 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((pixel >>> 8 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 8 | pixel & 255 & 255; } var offset1 = i * 4; switch(format) { case 0: data[offset1] = pixel >>> 24 & 255; data[offset1 + 1] = pixel >>> 16 & 255; data[offset1 + 2] = pixel >>> 8 & 255; data[offset1 + 3] = pixel & 255; break; case 1: data[offset1] = pixel & 255; data[offset1 + 1] = pixel >>> 24 & 255; data[offset1 + 2] = pixel >>> 16 & 255; data[offset1 + 3] = pixel >>> 8 & 255; break; case 2: data[offset1] = pixel >>> 8 & 255; data[offset1 + 1] = pixel >>> 16 & 255; data[offset1 + 2] = pixel >>> 24 & 255; data[offset1 + 3] = pixel & 255; break; } } image.buffer.premultiplied = false; image.dirty = true; image.version++; }; lime__$internal_graphics_ImageDataUtil.__boxBlur = function(imgA,imgB,w,h,bx,by) { imgB.set(imgA); var bx1 = bx | 0; var by1 = by | 0; lime__$internal_graphics_ImageDataUtil.__boxBlurH(imgB,imgA,w,h,bx1,0); lime__$internal_graphics_ImageDataUtil.__boxBlurH(imgB,imgA,w,h,bx1,1); lime__$internal_graphics_ImageDataUtil.__boxBlurH(imgB,imgA,w,h,bx1,2); lime__$internal_graphics_ImageDataUtil.__boxBlurH(imgB,imgA,w,h,bx1,3); var iarr = 1 / (by1 + by1 + 1); var ws = w * 4; var ti; var li; var ri; var fv; var lv; var val; var _g1 = 0; var _g = w; while(_g1 < _g) { var i = _g1++; ti = i * 4; li = ti; ri = ti + by1 * ws; fv = imgA[ti]; lv = imgA[ti + ws * (h - 1)]; val = (by1 + 1) * fv; var _g3 = 0; var _g2 = by1; while(_g3 < _g2) { var j = _g3++; val = val + imgA[ti + j * ws]; } var _g31 = 0; var _g21 = by1 + 1; while(_g31 < _g21) { var j1 = _g31++; val = val + (imgA[ri] - fv); imgB[ti] = Math.round(_$UInt_UInt_$Impl_$.toFloat(val) * iarr); ri += ws; ti += ws; } var _g32 = by1 + 1; var _g22 = h - by1; while(_g32 < _g22) { var j2 = _g32++; val = val + (imgA[ri] - imgA[li]); imgB[ti] = Math.round(_$UInt_UInt_$Impl_$.toFloat(val) * iarr); li += ws; ri += ws; ti += ws; } var _g33 = h - by1; var _g23 = h; while(_g33 < _g23) { var j3 = _g33++; val = val + (lv - imgA[li]); imgB[ti] = Math.round(_$UInt_UInt_$Impl_$.toFloat(val) * iarr); li += ws; ti += ws; } } var iarr1 = 1 / (by1 + by1 + 1); var ws1 = w * 4; var ti1; var li1; var ri1; var fv1; var lv1; var val1; var _g11 = 0; var _g4 = w; while(_g11 < _g4) { var i1 = _g11++; ti1 = i1 * 4 + 1; li1 = ti1; ri1 = ti1 + by1 * ws1; fv1 = imgA[ti1]; lv1 = imgA[ti1 + ws1 * (h - 1)]; val1 = (by1 + 1) * fv1; var _g34 = 0; var _g24 = by1; while(_g34 < _g24) { var j4 = _g34++; val1 = val1 + imgA[ti1 + j4 * ws1]; } var _g35 = 0; var _g25 = by1 + 1; while(_g35 < _g25) { var j5 = _g35++; val1 = val1 + (imgA[ri1] - fv1); imgB[ti1] = Math.round(_$UInt_UInt_$Impl_$.toFloat(val1) * iarr1); ri1 += ws1; ti1 += ws1; } var _g36 = by1 + 1; var _g26 = h - by1; while(_g36 < _g26) { var j6 = _g36++; val1 = val1 + (imgA[ri1] - imgA[li1]); imgB[ti1] = Math.round(_$UInt_UInt_$Impl_$.toFloat(val1) * iarr1); li1 += ws1; ri1 += ws1; ti1 += ws1; } var _g37 = h - by1; var _g27 = h; while(_g37 < _g27) { var j7 = _g37++; val1 = val1 + (lv1 - imgA[li1]); imgB[ti1] = Math.round(_$UInt_UInt_$Impl_$.toFloat(val1) * iarr1); li1 += ws1; ti1 += ws1; } } var iarr2 = 1 / (by1 + by1 + 1); var ws2 = w * 4; var ti2; var li2; var ri2; var fv2; var lv2; var val2; var _g12 = 0; var _g5 = w; while(_g12 < _g5) { var i2 = _g12++; ti2 = i2 * 4 + 2; li2 = ti2; ri2 = ti2 + by1 * ws2; fv2 = imgA[ti2]; lv2 = imgA[ti2 + ws2 * (h - 1)]; val2 = (by1 + 1) * fv2; var _g38 = 0; var _g28 = by1; while(_g38 < _g28) { var j8 = _g38++; val2 = val2 + imgA[ti2 + j8 * ws2]; } var _g39 = 0; var _g29 = by1 + 1; while(_g39 < _g29) { var j9 = _g39++; val2 = val2 + (imgA[ri2] - fv2); imgB[ti2] = Math.round(_$UInt_UInt_$Impl_$.toFloat(val2) * iarr2); ri2 += ws2; ti2 += ws2; } var _g310 = by1 + 1; var _g210 = h - by1; while(_g310 < _g210) { var j10 = _g310++; val2 = val2 + (imgA[ri2] - imgA[li2]); imgB[ti2] = Math.round(_$UInt_UInt_$Impl_$.toFloat(val2) * iarr2); li2 += ws2; ri2 += ws2; ti2 += ws2; } var _g311 = h - by1; var _g211 = h; while(_g311 < _g211) { var j11 = _g311++; val2 = val2 + (lv2 - imgA[li2]); imgB[ti2] = Math.round(_$UInt_UInt_$Impl_$.toFloat(val2) * iarr2); li2 += ws2; ti2 += ws2; } } var iarr3 = 1 / (by1 + by1 + 1); var ws3 = w * 4; var ti3; var li3; var ri3; var fv3; var lv3; var val3; var _g13 = 0; var _g6 = w; while(_g13 < _g6) { var i3 = _g13++; ti3 = i3 * 4 + 3; li3 = ti3; ri3 = ti3 + by1 * ws3; fv3 = imgA[ti3]; lv3 = imgA[ti3 + ws3 * (h - 1)]; val3 = (by1 + 1) * fv3; var _g312 = 0; var _g212 = by1; while(_g312 < _g212) { var j12 = _g312++; val3 = val3 + imgA[ti3 + j12 * ws3]; } var _g313 = 0; var _g213 = by1 + 1; while(_g313 < _g213) { var j13 = _g313++; val3 = val3 + (imgA[ri3] - fv3); imgB[ti3] = Math.round(_$UInt_UInt_$Impl_$.toFloat(val3) * iarr3); ri3 += ws3; ti3 += ws3; } var _g314 = by1 + 1; var _g214 = h - by1; while(_g314 < _g214) { var j14 = _g314++; val3 = val3 + (imgA[ri3] - imgA[li3]); imgB[ti3] = Math.round(_$UInt_UInt_$Impl_$.toFloat(val3) * iarr3); li3 += ws3; ri3 += ws3; ti3 += ws3; } var _g315 = h - by1; var _g215 = h; while(_g315 < _g215) { var j15 = _g315++; val3 = val3 + (lv3 - imgA[li3]); imgB[ti3] = Math.round(_$UInt_UInt_$Impl_$.toFloat(val3) * iarr3); li3 += ws3; ti3 += ws3; } } }; lime__$internal_graphics_ImageDataUtil.__boxBlurH = function(imgA,imgB,w,h,r,off) { var iarr = 1 / (r + r + 1); var ti; var li; var ri; var fv; var lv; var val; var _g1 = 0; var _g = h; while(_g1 < _g) { var i = _g1++; ti = i * w; li = ti; ri = ti + r; fv = imgA[ti * 4 + off]; lv = imgA[(ti + w - 1) * 4 + off]; val = (r + 1) * fv; var _g3 = 0; var _g2 = r; while(_g3 < _g2) { var j = _g3++; val = val + imgA[(ti + j) * 4 + off]; } var _g31 = 0; var _g21 = r + 1; while(_g31 < _g21) { var j1 = _g31++; val = val + (imgA[ri * 4 + off] - fv); imgB[ti * 4 + off] = Math.round(_$UInt_UInt_$Impl_$.toFloat(val) * iarr); ++ri; ++ti; } var _g32 = r + 1; var _g22 = w - r; while(_g32 < _g22) { var j2 = _g32++; val = val + (imgA[ri * 4 + off] - imgA[li * 4 + off]); imgB[ti * 4 + off] = Math.round(_$UInt_UInt_$Impl_$.toFloat(val) * iarr); ++ri; ++li; ++ti; } var _g33 = w - r; var _g23 = w; while(_g33 < _g23) { var j3 = _g33++; val = val + (lv - imgA[li * 4 + off]); imgB[ti * 4 + off] = Math.round(_$UInt_UInt_$Impl_$.toFloat(val) * iarr); ++li; ++ti; } } }; lime__$internal_graphics_ImageDataUtil.__boxBlurT = function(imgA,imgB,w,h,r,off) { var iarr = 1 / (r + r + 1); var ws = w * 4; var ti; var li; var ri; var fv; var lv; var val; var _g1 = 0; var _g = w; while(_g1 < _g) { var i = _g1++; ti = i * 4 + off; li = ti; ri = ti + r * ws; fv = imgA[ti]; lv = imgA[ti + ws * (h - 1)]; val = (r + 1) * fv; var _g3 = 0; var _g2 = r; while(_g3 < _g2) { var j = _g3++; val = val + imgA[ti + j * ws]; } var _g31 = 0; var _g21 = r + 1; while(_g31 < _g21) { var j1 = _g31++; val = val + (imgA[ri] - fv); imgB[ti] = Math.round(_$UInt_UInt_$Impl_$.toFloat(val) * iarr); ri += ws; ti += ws; } var _g32 = r + 1; var _g22 = h - r; while(_g32 < _g22) { var j2 = _g32++; val = val + (imgA[ri] - imgA[li]); imgB[ti] = Math.round(_$UInt_UInt_$Impl_$.toFloat(val) * iarr); li += ws; ri += ws; ti += ws; } var _g33 = h - r; var _g23 = h; while(_g33 < _g23) { var j3 = _g33++; val = val + (lv - imgA[li]); imgB[ti] = Math.round(_$UInt_UInt_$Impl_$.toFloat(val) * iarr); li += ws; ti += ws; } } }; lime__$internal_graphics_ImageDataUtil.__calculateSourceOffset = function(sourceRect,destPoint,destX,destY) { var sourceX = destX - (destPoint.x | 0); var sourceY = destY - (destPoint.y | 0); var offset = 0; if(sourceX < 0 || sourceY < 0 || sourceX >= sourceRect.width || sourceY >= sourceRect.height) { offset = -1; } else { offset = 4 * (sourceY * (sourceRect.width | 0) + sourceX); } return offset; }; lime__$internal_graphics_ImageDataUtil.__getBoxesForGaussianBlur = function(sigma,n) { var wIdeal = Math.sqrt(12 * sigma * sigma / n + 1); var wl = Math.floor(wIdeal); if(wl % 2 == 0) { --wl; } var wu = wl + 2; var mIdeal = (12 * sigma * sigma - n * wl * wl - 4 * n * wl - 3 * n) / (-4 * wl - 4); var m = Math.round(mIdeal); var sizes = []; var _g1 = 0; var _g = n; while(_g1 < _g) { var i = _g1++; sizes.push(i < m ? wl : wu); } return sizes; }; lime__$internal_graphics_ImageDataUtil.__pixelCompare = function(n1,n2) { var tmp1; var tmp2; tmp1 = n1 >>> 24 & 255; tmp2 = n2 >>> 24 & 255; if(tmp1 != tmp2) { if(_$UInt_UInt_$Impl_$.gt(tmp1,tmp2)) { return 1; } else { return -1; } } else { tmp1 = n1 >>> 16 & 255; tmp2 = n2 >>> 16 & 255; if(tmp1 != tmp2) { if(_$UInt_UInt_$Impl_$.gt(tmp1,tmp2)) { return 1; } else { return -1; } } else { tmp1 = n1 >>> 8 & 255; tmp2 = n2 >>> 8 & 255; if(tmp1 != tmp2) { if(_$UInt_UInt_$Impl_$.gt(tmp1,tmp2)) { return 1; } else { return -1; } } else { tmp1 = n1 & 255; tmp2 = n2 & 255; if(tmp1 != tmp2) { if(_$UInt_UInt_$Impl_$.gt(tmp1,tmp2)) { return 1; } else { return -1; } } else { return 0; } } } } }; lime__$internal_graphics_ImageDataUtil.__translatePixel = function(imgB,sourceRect,destRect,destPoint,destX,destY,strength) { var d = 4 * (destY * (destRect.width | 0) + destX); var s = lime__$internal_graphics_ImageDataUtil.__calculateSourceOffset(sourceRect,destPoint,destX,destY); if(s < 0) { imgB[d] = imgB[d + 1] = imgB[d + 2] = imgB[d + 3] = 0; } else { imgB[d] = imgB[s]; imgB[d + 1] = imgB[s + 1]; imgB[d + 2] = imgB[s + 2]; var a = _$UInt_UInt_$Impl_$.toFloat(imgB[s + 3]) * strength | 0; imgB[d + 3] = a < 0 ? 0 : a > 255 ? 255 : a; } }; var lime__$internal_graphics__$ImageDataUtil_ImageDataView = function(image,rect) { this.image = image; if(rect == null) { this.rect = image.get_rect(); } else { if(rect.x < 0) { rect.x = 0; } if(rect.y < 0) { rect.y = 0; } if(rect.x + rect.width > image.width) { rect.width = image.width - rect.x; } if(rect.y + rect.height > image.height) { rect.height = image.height - rect.y; } if(rect.width < 0) { rect.width = 0; } if(rect.height < 0) { rect.height = 0; } this.rect = rect; } this.stride = image.buffer.get_stride(); this.__update(); }; $hxClasses["lime._internal.graphics._ImageDataUtil.ImageDataView"] = lime__$internal_graphics__$ImageDataUtil_ImageDataView; lime__$internal_graphics__$ImageDataUtil_ImageDataView.__name__ = ["lime","_internal","graphics","_ImageDataUtil","ImageDataView"]; lime__$internal_graphics__$ImageDataUtil_ImageDataView.prototype = { x: null ,y: null ,height: null ,width: null ,byteOffset: null ,image: null ,rect: null ,stride: null ,tempRect: null ,clip: function(x,y,width,height) { if(this.tempRect == null) { this.tempRect = new lime_math_Rectangle(); } this.tempRect.setTo(x,y,width,height); this.rect.intersection(this.tempRect,this.rect); this.__update(); } ,hasRow: function(y) { if(y >= 0) { return y < this.height; } else { return false; } } ,offset: function(x,y) { if(x < 0) { this.rect.x += x; if(this.rect.x < 0) { this.rect.x = 0; } } else { this.rect.x += x; this.rect.width -= x; } if(y < 0) { this.rect.y += y; if(this.rect.y < 0) { this.rect.y = 0; } } else { this.rect.y += y; this.rect.height -= y; } this.__update(); } ,row: function(y) { return this.byteOffset + this.stride * y; } ,__update: function() { this.x = Math.ceil(this.rect.x); this.y = Math.ceil(this.rect.y); this.width = Math.floor(this.rect.width); this.height = Math.floor(this.rect.height); this.byteOffset = this.stride * (this.y + this.image.offsetY) + (this.x + this.image.offsetX) * 4; } ,__class__: lime__$internal_graphics__$ImageDataUtil_ImageDataView }; var lime__$internal_macros_AssetsMacro = function() { }; $hxClasses["lime._internal.macros.AssetsMacro"] = lime__$internal_macros_AssetsMacro; lime__$internal_macros_AssetsMacro.__name__ = ["lime","_internal","macros","AssetsMacro"]; var lime__$internal_unifill__$CodePoint_CodePoint_$Impl_$ = {}; $hxClasses["lime._internal.unifill._CodePoint.CodePoint_Impl_"] = lime__$internal_unifill__$CodePoint_CodePoint_$Impl_$; lime__$internal_unifill__$CodePoint_CodePoint_$Impl_$.__name__ = ["lime","_internal","unifill","_CodePoint","CodePoint_Impl_"]; lime__$internal_unifill__$CodePoint_CodePoint_$Impl_$.fromInt = function(code) { if(!(0 <= code && code <= 1114111 && !(55296 <= code && code <= 56319) && !(56320 <= code && code <= 57343))) { throw new js__$Boot_HaxeError(new lime__$internal_unifill_InvalidCodePoint(code)); } var this1 = code; return this1; }; lime__$internal_unifill__$CodePoint_CodePoint_$Impl_$.cons = function(a,b) { var this1; if(a <= 65535) { var this2 = String.fromCharCode(a); var this3 = this2; this1 = this3; } else { var this4 = String.fromCharCode((a >> 10) + 55232) + String.fromCharCode(a & 1023 | 56320); var this5 = this4; this1 = this5; } return this1 + b; }; lime__$internal_unifill__$CodePoint_CodePoint_$Impl_$.snoc = function(a,b) { var this1; if(b <= 65535) { var this2 = String.fromCharCode(b); var this3 = this2; this1 = this3; } else { var this4 = String.fromCharCode((b >> 10) + 55232) + String.fromCharCode(b & 1023 | 56320); var this5 = this4; this1 = this5; } return a + this1; }; lime__$internal_unifill__$CodePoint_CodePoint_$Impl_$.addInt = function(a,b) { var code = a + b; if(!(0 <= code && code <= 1114111 && !(55296 <= code && code <= 56319) && !(56320 <= code && code <= 57343))) { throw new js__$Boot_HaxeError(new lime__$internal_unifill_InvalidCodePoint(code)); } var this1 = code; return this1; }; lime__$internal_unifill__$CodePoint_CodePoint_$Impl_$.sub = function(a,b) { return a - b; }; lime__$internal_unifill__$CodePoint_CodePoint_$Impl_$.subInt = function(a,b) { var code = a - b; if(!(0 <= code && code <= 1114111 && !(55296 <= code && code <= 56319) && !(56320 <= code && code <= 57343))) { throw new js__$Boot_HaxeError(new lime__$internal_unifill_InvalidCodePoint(code)); } var this1 = code; return this1; }; lime__$internal_unifill__$CodePoint_CodePoint_$Impl_$._new = function(code) { var this1 = code; return this1; }; lime__$internal_unifill__$CodePoint_CodePoint_$Impl_$.toString = function(this1) { var this2; if(this1 <= 65535) { var this3 = String.fromCharCode(this1); var this4 = this3; this2 = this4; } else { var this5 = String.fromCharCode((this1 >> 10) + 55232) + String.fromCharCode(this1 & 1023 | 56320); var this6 = this5; this2 = this6; } return this2; }; lime__$internal_unifill__$CodePoint_CodePoint_$Impl_$.toInt = function(this1) { return this1; }; var lime__$internal_unifill_CodePointIter = function(s) { this.i = 0; this.string = s; this.index = 0; this.endIndex = s.length; }; $hxClasses["lime._internal.unifill.CodePointIter"] = lime__$internal_unifill_CodePointIter; lime__$internal_unifill_CodePointIter.__name__ = ["lime","_internal","unifill","CodePointIter"]; lime__$internal_unifill_CodePointIter.prototype = { string: null ,index: null ,endIndex: null ,hasNext: function() { return this.index < this.endIndex; } ,i: null ,next: function() { this.i = this.index; var tmp = this; var tmp1 = tmp.index; var this1 = this.string; var this2 = this1; var c = this2.charCodeAt(this.index); tmp.index = tmp1 + (!(55296 <= c && c <= 56319) ? 1 : 2); var this3 = this.string; var this4 = this3; return lime__$internal_unifill__$Utf16_Utf16_$Impl_$.codePointAt(this4,this.i); } ,__class__: lime__$internal_unifill_CodePointIter }; var lime__$internal_unifill_Exception = function() { }; $hxClasses["lime._internal.unifill.Exception"] = lime__$internal_unifill_Exception; lime__$internal_unifill_Exception.__name__ = ["lime","_internal","unifill","Exception"]; lime__$internal_unifill_Exception.prototype = { toString: function() { throw new js__$Boot_HaxeError(null); } ,__class__: lime__$internal_unifill_Exception }; var lime__$internal_unifill_InvalidCodePoint = function(code) { lime__$internal_unifill_Exception.call(this); this.code = code; }; $hxClasses["lime._internal.unifill.InvalidCodePoint"] = lime__$internal_unifill_InvalidCodePoint; lime__$internal_unifill_InvalidCodePoint.__name__ = ["lime","_internal","unifill","InvalidCodePoint"]; lime__$internal_unifill_InvalidCodePoint.__super__ = lime__$internal_unifill_Exception; lime__$internal_unifill_InvalidCodePoint.prototype = $extend(lime__$internal_unifill_Exception.prototype,{ code: null ,toString: function() { return "InvalidCodePoint(code: " + this.code + ")"; } ,__class__: lime__$internal_unifill_InvalidCodePoint }); var lime__$internal_unifill_InvalidCodeUnitSequence = function(index) { lime__$internal_unifill_Exception.call(this); this.index = index; }; $hxClasses["lime._internal.unifill.InvalidCodeUnitSequence"] = lime__$internal_unifill_InvalidCodeUnitSequence; lime__$internal_unifill_InvalidCodeUnitSequence.__name__ = ["lime","_internal","unifill","InvalidCodeUnitSequence"]; lime__$internal_unifill_InvalidCodeUnitSequence.__super__ = lime__$internal_unifill_Exception; lime__$internal_unifill_InvalidCodeUnitSequence.prototype = $extend(lime__$internal_unifill_Exception.prototype,{ index: null ,toString: function() { return "InvalidCodeUnitSequence(index: " + this.index + ")"; } ,__class__: lime__$internal_unifill_InvalidCodeUnitSequence }); var lime__$internal_unifill_InternalEncoding = function() { }; $hxClasses["lime._internal.unifill.InternalEncoding"] = lime__$internal_unifill_InternalEncoding; lime__$internal_unifill_InternalEncoding.__name__ = ["lime","_internal","unifill","InternalEncoding"]; lime__$internal_unifill_InternalEncoding.__properties__ = {get_internalEncoding:"get_internalEncoding"}; lime__$internal_unifill_InternalEncoding.get_internalEncoding = function() { return "UTF-16"; }; lime__$internal_unifill_InternalEncoding.codeUnitAt = function(s,index) { var this1 = s; var this2 = this1; return this2.charCodeAt(index); }; lime__$internal_unifill_InternalEncoding.codePointAt = function(s,index) { var this1 = s; var this2 = this1; return lime__$internal_unifill__$Utf16_Utf16_$Impl_$.codePointAt(this2,index); }; lime__$internal_unifill_InternalEncoding.charAt = function(s,index) { var this1 = s; var this2 = this1; var this3 = this2; var c = this3.charCodeAt(index); var this4 = HxOverrides.substr(this3,index,!(55296 <= c && c <= 56319) ? 1 : 2); var this5 = this4; return this5; }; lime__$internal_unifill_InternalEncoding.codePointCount = function(s,beginIndex,endIndex) { var this1 = s; var this2 = this1; return lime__$internal_unifill__$Utf16_Utf16_$Impl_$.codePointCount(this2,beginIndex,endIndex); }; lime__$internal_unifill_InternalEncoding.codePointWidthAt = function(s,index) { var this1 = s; var this2 = this1; var c = this2.charCodeAt(index); if(!(55296 <= c && c <= 56319)) { return 1; } else { return 2; } }; lime__$internal_unifill_InternalEncoding.codePointWidthBefore = function(s,index) { var this1 = s; var this2 = this1; var c = this2.charCodeAt(index - 1); if(!(56320 <= c && c <= 57343)) { return 1; } else { return 2; } }; lime__$internal_unifill_InternalEncoding.offsetByCodePoints = function(s,index,codePointOffset) { var this1 = s; var this2 = this1; var this3 = this2; if(codePointOffset >= 0) { var index1 = index; var len = this3.length; var i = 0; while(i < codePointOffset && index1 < len) { var c = this3.charCodeAt(index1); index1 += !(55296 <= c && c <= 56319) ? 1 : 2; ++i; } return index1; } else { var index2 = index; var count = 0; while(count < -codePointOffset && 0 < index2) { var c1 = this3.charCodeAt(index2 - 1); index2 -= !(56320 <= c1 && c1 <= 57343) ? 1 : 2; ++count; } return index2; } }; lime__$internal_unifill_InternalEncoding.backwardOffsetByCodePoints = function(s,index,codePointOffset) { var this1 = s; var this2 = this1; var this3 = this2; var codePointOffset1 = -codePointOffset; if(codePointOffset1 >= 0) { var index1 = index; var len = this3.length; var i = 0; while(i < codePointOffset1 && index1 < len) { var c = this3.charCodeAt(index1); index1 += !(55296 <= c && c <= 56319) ? 1 : 2; ++i; } return index1; } else { var index2 = index; var count = 0; while(count < -codePointOffset1 && 0 < index2) { var c1 = this3.charCodeAt(index2 - 1); index2 -= !(56320 <= c1 && c1 <= 57343) ? 1 : 2; ++count; } return index2; } }; lime__$internal_unifill_InternalEncoding.fromCodePoint = function(codePoint) { var this1; if(codePoint <= 65535) { var this2 = String.fromCharCode(codePoint); var this3 = this2; this1 = this3; } else { var this4 = String.fromCharCode((codePoint >> 10) + 55232) + String.fromCharCode(codePoint & 1023 | 56320); var this5 = this4; this1 = this5; } return this1; }; lime__$internal_unifill_InternalEncoding.fromCodePoints = function(codePoints) { var this1 = new StringBuf(); var buf = this1; var c = $iterator(codePoints)(); while(c.hasNext()) { var c1 = c.next(); if(c1 <= 65535) { buf.b += String.fromCharCode(c1); } else { buf.b += String.fromCharCode((c1 >> 10) + 55232); buf.b += String.fromCharCode(c1 & 1023 | 56320); } } var this2 = buf.b; var this3 = this2; return this3; }; lime__$internal_unifill_InternalEncoding.validate = function(s) { var this1 = s; var this2 = this1; lime__$internal_unifill__$Utf16_Utf16_$Impl_$.validate(this2); }; lime__$internal_unifill_InternalEncoding.isValidString = function(s) { try { var this1 = s; var this2 = this1; lime__$internal_unifill__$Utf16_Utf16_$Impl_$.validate(this2); return true; } catch( e ) { haxe_CallStack.lastException = e; if (e instanceof js__$Boot_HaxeError) e = e.val; if( js_Boot.__instanceof(e,lime__$internal_unifill_InvalidCodeUnitSequence) ) { return false; } else throw(e); } }; lime__$internal_unifill_InternalEncoding.encodeWith = function(f,c) { if(c <= 65535) { f(c); } else { f((c >> 10) + 55232); f(c & 1023 | 56320); } }; var lime__$internal_unifill_InternalEncodingIter = function(s,beginIndex,endIndex) { this.i = 0; this.string = s; this.index = beginIndex; this.endIndex = endIndex; }; $hxClasses["lime._internal.unifill.InternalEncodingIter"] = lime__$internal_unifill_InternalEncodingIter; lime__$internal_unifill_InternalEncodingIter.__name__ = ["lime","_internal","unifill","InternalEncodingIter"]; lime__$internal_unifill_InternalEncodingIter.prototype = { string: null ,index: null ,endIndex: null ,hasNext: function() { return this.index < this.endIndex; } ,i: null ,next: function() { this.i = this.index; var tmp = this; var tmp1 = tmp.index; var this1 = this.string; var this2 = this1; var c = this2.charCodeAt(this.index); tmp.index = tmp1 + (!(55296 <= c && c <= 56319) ? 1 : 2); return this.i; } ,__class__: lime__$internal_unifill_InternalEncodingIter }; var lime__$internal_unifill_Unicode = function() { }; $hxClasses["lime._internal.unifill.Unicode"] = lime__$internal_unifill_Unicode; lime__$internal_unifill_Unicode.__name__ = ["lime","_internal","unifill","Unicode"]; lime__$internal_unifill_Unicode.decodeSurrogate = function(hi,lo) { return hi - 55232 << 10 | lo & 1023; }; lime__$internal_unifill_Unicode.encodeHighSurrogate = function(c) { return (c >> 10) + 55232; }; lime__$internal_unifill_Unicode.encodeLowSurrogate = function(c) { return c & 1023 | 56320; }; lime__$internal_unifill_Unicode.isScalar = function(code) { if(0 <= code && code <= 1114111 && !(55296 <= code && code <= 56319)) { return !(56320 <= code && code <= 57343); } else { return false; } }; lime__$internal_unifill_Unicode.isHighSurrogate = function(code) { if(55296 <= code) { return code <= 56319; } else { return false; } }; lime__$internal_unifill_Unicode.isLowSurrogate = function(code) { if(56320 <= code) { return code <= 57343; } else { return false; } }; var lime__$internal_unifill_Unifill = function() { }; $hxClasses["lime._internal.unifill.Unifill"] = lime__$internal_unifill_Unifill; lime__$internal_unifill_Unifill.__name__ = ["lime","_internal","unifill","Unifill"]; lime__$internal_unifill_Unifill.uLength = function(s) { var this1 = s; var this2 = this1; return lime__$internal_unifill__$Utf16_Utf16_$Impl_$.codePointCount(this2,0,s.length); }; lime__$internal_unifill_Unifill.uCharAt = function(s,index) { var this1 = s; var this2 = this1; var this3 = this2; var i; if(index >= 0) { var index1 = 0; var len = this3.length; var i1 = 0; while(i1 < index && index1 < len) { var c = this3.charCodeAt(index1); index1 += !(55296 <= c && c <= 56319) ? 1 : 2; ++i1; } i = index1; } else { var index2 = 0; var count = 0; while(count < -index && 0 < index2) { var c1 = this3.charCodeAt(index2 - 1); index2 -= !(56320 <= c1 && c1 <= 57343) ? 1 : 2; ++count; } i = index2; } var this4 = s; var this5 = this4; var this6 = this5; var c2 = this6.charCodeAt(i); var this7 = HxOverrides.substr(this6,i,!(55296 <= c2 && c2 <= 56319) ? 1 : 2); var this8 = this7; return this8; }; lime__$internal_unifill_Unifill.uCharCodeAt = function(s,index) { var this1 = s; var this2 = this1; var this3 = this2; var i; if(index >= 0) { var index1 = 0; var len = this3.length; var i1 = 0; while(i1 < index && index1 < len) { var c = this3.charCodeAt(index1); index1 += !(55296 <= c && c <= 56319) ? 1 : 2; ++i1; } i = index1; } else { var index2 = 0; var count = 0; while(count < -index && 0 < index2) { var c1 = this3.charCodeAt(index2 - 1); index2 -= !(56320 <= c1 && c1 <= 57343) ? 1 : 2; ++count; } i = index2; } var this4 = s; var this5 = this4; return lime__$internal_unifill__$Utf16_Utf16_$Impl_$.codePointAt(this5,i); }; lime__$internal_unifill_Unifill.uCodePointAt = function(s,index) { var this1 = s; var this2 = this1; var this3 = this2; var i; if(index >= 0) { var index1 = 0; var len = this3.length; var i1 = 0; while(i1 < index && index1 < len) { var c = this3.charCodeAt(index1); index1 += !(55296 <= c && c <= 56319) ? 1 : 2; ++i1; } i = index1; } else { var index2 = 0; var count = 0; while(count < -index && 0 < index2) { var c1 = this3.charCodeAt(index2 - 1); index2 -= !(56320 <= c1 && c1 <= 57343) ? 1 : 2; ++count; } i = index2; } var this4 = s; var this5 = this4; return lime__$internal_unifill__$Utf16_Utf16_$Impl_$.codePointAt(this5,i); }; lime__$internal_unifill_Unifill.uIndexOf = function(s,value,startIndex) { if(startIndex == null) { startIndex = 0; } var this1 = s; var this2 = this1; var this3 = this2; var index; if(startIndex >= 0) { var index1 = 0; var len = this3.length; var i = 0; while(i < startIndex && index1 < len) { var c = this3.charCodeAt(index1); index1 += !(55296 <= c && c <= 56319) ? 1 : 2; ++i; } index = index1; } else { var index2 = 0; var count = 0; while(count < -startIndex && 0 < index2) { var c1 = this3.charCodeAt(index2 - 1); index2 -= !(56320 <= c1 && c1 <= 57343) ? 1 : 2; ++count; } index = index2; } var index3 = s.indexOf(value,index); if(index3 >= 0) { var this4 = s; var this5 = this4; return lime__$internal_unifill__$Utf16_Utf16_$Impl_$.codePointCount(this5,0,index3); } else { return -1; } }; lime__$internal_unifill_Unifill.uLastIndexOf = function(s,value,startIndex) { if(startIndex == null) { startIndex = s.length - 1; } var this1 = s; var this2 = this1; var this3 = this2; var index; if(startIndex >= 0) { var index1 = 0; var len = this3.length; var i = 0; while(i < startIndex && index1 < len) { var c = this3.charCodeAt(index1); index1 += !(55296 <= c && c <= 56319) ? 1 : 2; ++i; } index = index1; } else { var index2 = 0; var count = 0; while(count < -startIndex && 0 < index2) { var c1 = this3.charCodeAt(index2 - 1); index2 -= !(56320 <= c1 && c1 <= 57343) ? 1 : 2; ++count; } index = index2; } var index3 = s.lastIndexOf(value,index); if(index3 >= 0) { var this4 = s; var this5 = this4; return lime__$internal_unifill__$Utf16_Utf16_$Impl_$.codePointCount(this5,0,index3); } else { return -1; } }; lime__$internal_unifill_Unifill.uSplit = function(s,delimiter) { if(delimiter.length == 0) { var _g = []; var _g1_string; var _g1_index; var _g1_i; var _g1_endIndex; _g1_i = 0; _g1_string = s; _g1_index = 0; _g1_endIndex = s.length; while(_g1_index < _g1_endIndex) { _g1_i = _g1_index; var this1 = _g1_string; var this2 = this1; var c = this2.charCodeAt(_g1_index); _g1_index += !(55296 <= c && c <= 56319) ? 1 : 2; var i = _g1_i; var this3 = s; var this4 = this3; var this5 = this4; var c1 = this5.charCodeAt(i); var this6 = HxOverrides.substr(this5,i,!(55296 <= c1 && c1 <= 56319) ? 1 : 2); var this7 = this6; _g.push(this7); } return _g; } else { return s.split(delimiter); } }; lime__$internal_unifill_Unifill.uSubstr = function(s,startIndex,length) { var index = startIndex >= 0 ? 0 : s.length; var this1 = s; var this2 = this1; var this3 = this2; var si; if(startIndex >= 0) { var index1 = index; var len = this3.length; var i = 0; while(i < startIndex && index1 < len) { var c = this3.charCodeAt(index1); index1 += !(55296 <= c && c <= 56319) ? 1 : 2; ++i; } si = index1; } else { var index2 = index; var count = 0; while(count < -startIndex && 0 < index2) { var c1 = this3.charCodeAt(index2 - 1); index2 -= !(56320 <= c1 && c1 <= 57343) ? 1 : 2; ++count; } si = index2; } var ei; if(length == null) { ei = s.length; } else if(length < 0) { ei = si; } else { var this4 = s; var this5 = this4; var this6 = this5; if(length >= 0) { var index3 = si; var len1 = this6.length; var i1 = 0; while(i1 < length && index3 < len1) { var c2 = this6.charCodeAt(index3); index3 += !(55296 <= c2 && c2 <= 56319) ? 1 : 2; ++i1; } ei = index3; } else { var index4 = si; var count1 = 0; while(count1 < -length && 0 < index4) { var c3 = this6.charCodeAt(index4 - 1); index4 -= !(56320 <= c3 && c3 <= 57343) ? 1 : 2; ++count1; } ei = index4; } } return s.substring(si,ei); }; lime__$internal_unifill_Unifill.uSubstring = function(s,startIndex,endIndex) { var si; if(startIndex < 0) { si = 0; } else { var this1 = s; var this2 = this1; var this3 = this2; if(startIndex >= 0) { var index = 0; var len = this3.length; var i = 0; while(i < startIndex && index < len) { var c = this3.charCodeAt(index); index += !(55296 <= c && c <= 56319) ? 1 : 2; ++i; } si = index; } else { var index1 = 0; var count = 0; while(count < -startIndex && 0 < index1) { var c1 = this3.charCodeAt(index1 - 1); index1 -= !(56320 <= c1 && c1 <= 57343) ? 1 : 2; ++count; } si = index1; } } var ei; if(endIndex == null) { ei = s.length; } else if(endIndex < 0) { ei = 0; } else { var this4 = s; var this5 = this4; var this6 = this5; if(endIndex >= 0) { var index2 = 0; var len1 = this6.length; var i1 = 0; while(i1 < endIndex && index2 < len1) { var c2 = this6.charCodeAt(index2); index2 += !(55296 <= c2 && c2 <= 56319) ? 1 : 2; ++i1; } ei = index2; } else { var index3 = 0; var count1 = 0; while(count1 < -endIndex && 0 < index3) { var c3 = this6.charCodeAt(index3 - 1); index3 -= !(56320 <= c3 && c3 <= 57343) ? 1 : 2; ++count1; } ei = index3; } } return s.substring(si,ei); }; lime__$internal_unifill_Unifill.uIterator = function(s) { return new lime__$internal_unifill_CodePointIter(s); }; lime__$internal_unifill_Unifill.uCompare = function(a,b) { var aiter_string; var aiter_index; var aiter_i; var aiter_endIndex; aiter_i = 0; aiter_string = a; aiter_index = 0; aiter_endIndex = a.length; var biter_string; var biter_index; var biter_i; var biter_endIndex; biter_i = 0; biter_string = b; biter_index = 0; biter_endIndex = b.length; while(aiter_index < aiter_endIndex && biter_index < biter_endIndex) { aiter_i = aiter_index; var this1 = aiter_string; var this2 = this1; var c = this2.charCodeAt(aiter_index); aiter_index += !(55296 <= c && c <= 56319) ? 1 : 2; var this3 = a; var this4 = this3; var acode = lime__$internal_unifill__$Utf16_Utf16_$Impl_$.codePointAt(this4,aiter_i); biter_i = biter_index; var this5 = biter_string; var this6 = this5; var c1 = this6.charCodeAt(biter_index); biter_index += !(55296 <= c1 && c1 <= 56319) ? 1 : 2; var this7 = b; var this8 = this7; var bcode = lime__$internal_unifill__$Utf16_Utf16_$Impl_$.codePointAt(this8,biter_i); if(acode < bcode) { return -1; } if(acode > bcode) { return 1; } } if(biter_index < biter_endIndex) { return -1; } if(aiter_index < aiter_endIndex) { return 1; } return 0; }; lime__$internal_unifill_Unifill.uToString = function(codePoints) { var this1 = new StringBuf(); var buf = this1; var c = $iterator(codePoints)(); while(c.hasNext()) { var c1 = c.next(); if(c1 <= 65535) { buf.b += String.fromCharCode(c1); } else { buf.b += String.fromCharCode((c1 >> 10) + 55232); buf.b += String.fromCharCode(c1 & 1023 | 56320); } } var this2 = buf.b; var this3 = this2; return this3; }; lime__$internal_unifill_Unifill.uAddChar = function(sb,c) { var c1 = c; if(c1 <= 65535) { sb.b += String.fromCharCode(c1); } else { sb.b += String.fromCharCode((c1 >> 10) + 55232); sb.b += String.fromCharCode(c1 & 1023 | 56320); } }; var lime__$internal_unifill__$Utf16_Utf16_$Impl_$ = {}; $hxClasses["lime._internal.unifill._Utf16.Utf16_Impl_"] = lime__$internal_unifill__$Utf16_Utf16_$Impl_$; lime__$internal_unifill__$Utf16_Utf16_$Impl_$.__name__ = ["lime","_internal","unifill","_Utf16","Utf16_Impl_"]; lime__$internal_unifill__$Utf16_Utf16_$Impl_$.__properties__ = {get_length:"get_length"}; lime__$internal_unifill__$Utf16_Utf16_$Impl_$.fromCodePoint = function(codePoint) { if(codePoint <= 65535) { var this1 = String.fromCharCode(codePoint); var this2 = this1; return this2; } else { var this3 = String.fromCharCode((codePoint >> 10) + 55232) + String.fromCharCode(codePoint & 1023 | 56320); var this4 = this3; return this4; } }; lime__$internal_unifill__$Utf16_Utf16_$Impl_$.fromCodePoints = function(codePoints) { var this1 = new StringBuf(); var buf = this1; var c = $iterator(codePoints)(); while(c.hasNext()) { var c1 = c.next(); if(c1 <= 65535) { buf.b += String.fromCharCode(c1); } else { buf.b += String.fromCharCode((c1 >> 10) + 55232); buf.b += String.fromCharCode(c1 & 1023 | 56320); } } var this2 = buf.b; var this3 = this2; return this3; }; lime__$internal_unifill__$Utf16_Utf16_$Impl_$.fromString = function(s) { var this1 = s; var this2 = this1; return this2; }; lime__$internal_unifill__$Utf16_Utf16_$Impl_$.fromArray = function(a) { var buf_b = ""; var _g = 0; while(_g < a.length) { var x = a[_g]; ++_g; buf_b += String.fromCharCode(x); } var this1 = buf_b; var this2 = this1; return this2; }; lime__$internal_unifill__$Utf16_Utf16_$Impl_$.encodeWith = function(f,c) { if(c <= 65535) { f(c); } else { f((c >> 10) + 55232); f(c & 1023 | 56320); } }; lime__$internal_unifill__$Utf16_Utf16_$Impl_$.codeUnitAt = function(this1,index) { return this1.charCodeAt(index); }; lime__$internal_unifill__$Utf16_Utf16_$Impl_$.codePointAt = function(this1,index) { return lime__$internal_unifill__$Utf16_Utf16Impl.decode_code_point(this1.length,function(i) { return this1.charCodeAt(i); },index); }; lime__$internal_unifill__$Utf16_Utf16_$Impl_$.charAt = function(this1,index) { var c = this1.charCodeAt(index); var this2 = HxOverrides.substr(this1,index,!(55296 <= c && c <= 56319) ? 1 : 2); var this3 = this2; return this3; }; lime__$internal_unifill__$Utf16_Utf16_$Impl_$.codePointCount = function(this1,beginIndex,endIndex) { var index = beginIndex; var i = 0; while(index < endIndex) { var c = this1.charCodeAt(index); index += !(55296 <= c && c <= 56319) ? 1 : 2; ++i; } return i; }; lime__$internal_unifill__$Utf16_Utf16_$Impl_$.codePointWidthAt = function(this1,index) { var c = this1.charCodeAt(index); if(!(55296 <= c && c <= 56319)) { return 1; } else { return 2; } }; lime__$internal_unifill__$Utf16_Utf16_$Impl_$.codePointWidthBefore = function(this1,index) { var c = this1.charCodeAt(index - 1); if(!(56320 <= c && c <= 57343)) { return 1; } else { return 2; } }; lime__$internal_unifill__$Utf16_Utf16_$Impl_$.offsetByCodePoints = function(this1,index,codePointOffset) { if(codePointOffset >= 0) { var index1 = index; var len = this1.length; var i = 0; while(i < codePointOffset && index1 < len) { var c = this1.charCodeAt(index1); index1 += !(55296 <= c && c <= 56319) ? 1 : 2; ++i; } return index1; } else { var index2 = index; var count = 0; while(count < -codePointOffset && 0 < index2) { var c1 = this1.charCodeAt(index2 - 1); index2 -= !(56320 <= c1 && c1 <= 57343) ? 1 : 2; ++count; } return index2; } }; lime__$internal_unifill__$Utf16_Utf16_$Impl_$.substr = function(this1,index,len) { var this2 = HxOverrides.substr(this1,index,len); var this3 = this2; return this3; }; lime__$internal_unifill__$Utf16_Utf16_$Impl_$.validate = function(this1) { var len = this1.length; var accessor = function(i) { return this1.charCodeAt(i); }; var i1 = 0; while(i1 < len) { lime__$internal_unifill__$Utf16_Utf16Impl.decode_code_point(len,accessor,i1); var c = this1.charCodeAt(i1); i1 += !(55296 <= c && c <= 56319) ? 1 : 2; } }; lime__$internal_unifill__$Utf16_Utf16_$Impl_$.toString = function(this1) { return this1; }; lime__$internal_unifill__$Utf16_Utf16_$Impl_$.toArray = function(this1) { var i = 0; var len = this1.length; var _g = []; while(i < len) _g.push(this1.charCodeAt(i++)); return _g; }; lime__$internal_unifill__$Utf16_Utf16_$Impl_$._new = function(s) { var this1 = s; return this1; }; lime__$internal_unifill__$Utf16_Utf16_$Impl_$.get_length = function(this1) { return this1.length; }; lime__$internal_unifill__$Utf16_Utf16_$Impl_$.forward_offset_by_code_points = function(this1,index,codePointOffset) { var len = this1.length; var i = 0; while(i < codePointOffset && index < len) { var c = this1.charCodeAt(index); index += !(55296 <= c && c <= 56319) ? 1 : 2; ++i; } return index; }; lime__$internal_unifill__$Utf16_Utf16_$Impl_$.backward_offset_by_code_points = function(this1,index,codePointOffset) { var count = 0; while(count < codePointOffset && 0 < index) { var c = this1.charCodeAt(index - 1); index -= !(56320 <= c && c <= 57343) ? 1 : 2; ++count; } return index; }; var lime__$internal_unifill__$Utf16_Utf16Impl = function() { }; $hxClasses["lime._internal.unifill._Utf16.Utf16Impl"] = lime__$internal_unifill__$Utf16_Utf16Impl; lime__$internal_unifill__$Utf16_Utf16Impl.__name__ = ["lime","_internal","unifill","_Utf16","Utf16Impl"]; lime__$internal_unifill__$Utf16_Utf16Impl.code_point_width = function(c) { if(!(55296 <= c && c <= 56319)) { return 1; } else { return 2; } }; lime__$internal_unifill__$Utf16_Utf16Impl.find_prev_code_point = function(accessor,index) { var c = accessor(index - 1); if(!(56320 <= c && c <= 57343)) { return 1; } else { return 2; } }; lime__$internal_unifill__$Utf16_Utf16Impl.encode_code_point = function(addUnit,codePoint) { if(codePoint <= 65535) { addUnit(codePoint); } else { addUnit((codePoint >> 10) + 55232); addUnit(codePoint & 1023 | 56320); } }; lime__$internal_unifill__$Utf16_Utf16Impl.decode_code_point = function(len,accessor,index) { if(index < 0 || len <= index) { throw new js__$Boot_HaxeError(new lime__$internal_unifill_InvalidCodeUnitSequence(index)); } var hi = accessor(index); if(55296 <= hi && hi <= 56319) { if(index + 1 < 0 || len <= index + 1) { throw new js__$Boot_HaxeError(new lime__$internal_unifill_InvalidCodeUnitSequence(index)); } var lo = accessor(index + 1); if(56320 <= lo && lo <= 57343) { return hi - 55232 << 10 | lo & 1023; } else { throw new js__$Boot_HaxeError(new lime__$internal_unifill_InvalidCodeUnitSequence(index)); } } else if(56320 <= hi && hi <= 57343) { throw new js__$Boot_HaxeError(new lime__$internal_unifill_InvalidCodeUnitSequence(index)); } else { return hi; } }; var lime__$internal_unifill__$Utf16_StringU16Buffer_$Impl_$ = {}; $hxClasses["lime._internal.unifill._Utf16.StringU16Buffer_Impl_"] = lime__$internal_unifill__$Utf16_StringU16Buffer_$Impl_$; lime__$internal_unifill__$Utf16_StringU16Buffer_$Impl_$.__name__ = ["lime","_internal","unifill","_Utf16","StringU16Buffer_Impl_"]; lime__$internal_unifill__$Utf16_StringU16Buffer_$Impl_$._new = function() { var this1 = new StringBuf(); return this1; }; lime__$internal_unifill__$Utf16_StringU16Buffer_$Impl_$.addUnit = function(this1,unit) { this1.b += String.fromCharCode(unit); }; lime__$internal_unifill__$Utf16_StringU16Buffer_$Impl_$.getStringU16 = function(this1) { var this2 = this1.b; return this2; }; var lime__$internal_unifill__$Utf16_StringU16_$Impl_$ = {}; $hxClasses["lime._internal.unifill._Utf16.StringU16_Impl_"] = lime__$internal_unifill__$Utf16_StringU16_$Impl_$; lime__$internal_unifill__$Utf16_StringU16_$Impl_$.__name__ = ["lime","_internal","unifill","_Utf16","StringU16_Impl_"]; lime__$internal_unifill__$Utf16_StringU16_$Impl_$.__properties__ = {get_length:"get_length"}; lime__$internal_unifill__$Utf16_StringU16_$Impl_$.fromString = function(s) { var this1 = s; return this1; }; lime__$internal_unifill__$Utf16_StringU16_$Impl_$.fromCodeUnit = function(u) { var this1 = String.fromCharCode(u); return this1; }; lime__$internal_unifill__$Utf16_StringU16_$Impl_$.fromTwoCodeUnits = function(u0,u1) { var this1 = String.fromCharCode(u0) + String.fromCharCode(u1); return this1; }; lime__$internal_unifill__$Utf16_StringU16_$Impl_$.ofArray = function(a) { var buf_b = ""; var _g = 0; while(_g < a.length) { var x = a[_g]; ++_g; buf_b += String.fromCharCode(x); } var this1 = buf_b; return this1; }; lime__$internal_unifill__$Utf16_StringU16_$Impl_$.fromArray = function(a) { var buf_b = ""; var _g = 0; while(_g < a.length) { var x = a[_g]; ++_g; buf_b += String.fromCharCode(x); } var this1 = buf_b; return this1; }; lime__$internal_unifill__$Utf16_StringU16_$Impl_$.codeUnitAt = function(this1,index) { return this1.charCodeAt(index); }; lime__$internal_unifill__$Utf16_StringU16_$Impl_$.substr = function(this1,index,len) { var this2 = HxOverrides.substr(this1,index,len); return this2; }; lime__$internal_unifill__$Utf16_StringU16_$Impl_$.toString = function(this1) { return this1; }; lime__$internal_unifill__$Utf16_StringU16_$Impl_$.toArray = function(this1) { var i = 0; var len = this1.length; var _g = []; while(i < len) _g.push(this1.charCodeAt(i++)); return _g; }; lime__$internal_unifill__$Utf16_StringU16_$Impl_$._new = function(s) { var this1 = s; return this1; }; lime__$internal_unifill__$Utf16_StringU16_$Impl_$.get_length = function(this1) { return this1.length; }; var lime_app_Event = function() { this.canceled = false; this.__listeners = []; this.__priorities = []; this.__repeat = []; }; $hxClasses["lime.app.Event"] = lime_app_Event; lime_app_Event.__name__ = ["lime","app","Event"]; lime_app_Event.prototype = { canceled: null ,__listeners: null ,__repeat: null ,__priorities: null ,add: function(listener,once,priority) { if(priority == null) { priority = 0; } if(once == null) { once = false; } var _g1 = 0; var _g = this.__priorities.length; while(_g1 < _g) { var i = _g1++; if(priority > this.__priorities[i]) { this.__listeners.splice(i,0,listener); this.__priorities.splice(i,0,priority); this.__repeat.splice(i,0,!once); return; } } this.__listeners.push(listener); this.__priorities.push(priority); this.__repeat.push(!once); } ,cancel: function() { this.canceled = true; } ,dispatch: null ,has: function(listener) { var _g = 0; var _g1 = this.__listeners; while(_g < _g1.length) { var l = _g1[_g]; ++_g; if(Reflect.compareMethods(l,listener)) { return true; } } return false; } ,remove: function(listener) { var i = this.__listeners.length; while(--i >= 0) if(Reflect.compareMethods(this.__listeners[i],listener)) { this.__listeners.splice(i,1); this.__priorities.splice(i,1); this.__repeat.splice(i,1); } } ,__class__: lime_app_Event }; var lime_app_Future = function(work,async) { if(async == null) { async = false; } if(work != null) { if(async) { var promise = new lime_app_Promise(); promise.future = this; lime_app__$Future_FutureWork.queue({ promise : promise, work : work}); } else { try { this.value = work(); this.isComplete = true; } catch( e ) { haxe_CallStack.lastException = e; if (e instanceof js__$Boot_HaxeError) e = e.val; this.error = e; this.isError = true; } } } }; $hxClasses["lime.app.Future"] = lime_app_Future; lime_app_Future.__name__ = ["lime","app","Future"]; lime_app_Future.ofEvents = function(onComplete,onError,onProgress) { var promise = new lime_app_Promise(); onComplete.add(function(data) { promise.complete(data); },true); if(onError != null) { onError.add(function(error) { promise.error(error); },true); } if(onProgress != null) { onProgress.add(function(progress,total) { promise.progress(progress,total); },true); } return promise.future; }; lime_app_Future.withError = function(error) { var future = new lime_app_Future(); future.isError = true; future.error = error; return future; }; lime_app_Future.withValue = function(value) { var future = new lime_app_Future(); future.isComplete = true; future.value = value; return future; }; lime_app_Future.prototype = { error: null ,isComplete: null ,isError: null ,value: null ,__completeListeners: null ,__errorListeners: null ,__progressListeners: null ,onComplete: function(listener) { if(listener != null) { if(this.isComplete) { listener(this.value); } else if(!this.isError) { if(this.__completeListeners == null) { this.__completeListeners = []; } this.__completeListeners.push(listener); } } return this; } ,onError: function(listener) { if(listener != null) { if(this.isError) { listener(this.error); } else if(!this.isComplete) { if(this.__errorListeners == null) { this.__errorListeners = []; } this.__errorListeners.push(listener); } } return this; } ,onProgress: function(listener) { if(listener != null) { if(this.__progressListeners == null) { this.__progressListeners = []; } this.__progressListeners.push(listener); } return this; } ,ready: function(waitTime) { if(waitTime == null) { waitTime = -1; } if(this.isComplete || this.isError) { return this; } else { lime_utils_Log.warn("Cannot block thread in JavaScript",{ fileName : "Future.hx", lineNumber : 239, className : "lime.app.Future", methodName : "ready"}); return this; } } ,result: function(waitTime) { if(waitTime == null) { waitTime = -1; } this.ready(waitTime); if(this.isComplete) { return this.value; } else { return null; } } ,then: function(next) { if(this.isComplete) { return next(this.value); } else if(this.isError) { var future = new lime_app_Future(); future.isError = true; future.error = this.error; return future; } else { var promise = new lime_app_Promise(); this.onError($bind(promise,promise.error)); this.onProgress($bind(promise,promise.progress)); this.onComplete(function(val) { var future1 = next(val); future1.onError($bind(promise,promise.error)); future1.onComplete($bind(promise,promise.complete)); }); return promise.future; } } ,__class__: lime_app_Future }; var lime_app__$Future_FutureWork = function() { }; $hxClasses["lime.app._Future.FutureWork"] = lime_app__$Future_FutureWork; lime_app__$Future_FutureWork.__name__ = ["lime","app","_Future","FutureWork"]; lime_app__$Future_FutureWork.threadPool = null; lime_app__$Future_FutureWork.queue = function(state) { if(lime_app__$Future_FutureWork.threadPool == null) { lime_app__$Future_FutureWork.threadPool = new lime_system_ThreadPool(); lime_app__$Future_FutureWork.threadPool.doWork.add(lime_app__$Future_FutureWork.threadPool_doWork); lime_app__$Future_FutureWork.threadPool.onComplete.add(lime_app__$Future_FutureWork.threadPool_onComplete); lime_app__$Future_FutureWork.threadPool.onError.add(lime_app__$Future_FutureWork.threadPool_onError); } lime_app__$Future_FutureWork.threadPool.queue(state); }; lime_app__$Future_FutureWork.threadPool_doWork = function(state) { try { var result = state.work(); lime_app__$Future_FutureWork.threadPool.sendComplete({ promise : state.promise, result : result}); } catch( e ) { haxe_CallStack.lastException = e; if (e instanceof js__$Boot_HaxeError) e = e.val; lime_app__$Future_FutureWork.threadPool.sendError({ promise : state.promise, error : e}); } }; lime_app__$Future_FutureWork.threadPool_onComplete = function(state) { state.promise.complete(state.result); }; lime_app__$Future_FutureWork.threadPool_onError = function(state) { state.promise.error(state.error); }; var lime_app_Promise = function() { this.future = new lime_app_Future(); }; $hxClasses["lime.app.Promise"] = lime_app_Promise; lime_app_Promise.__name__ = ["lime","app","Promise"]; lime_app_Promise.prototype = { future: null ,isComplete: null ,isError: null ,complete: function(data) { if(!this.future.isError) { this.future.isComplete = true; this.future.value = data; if(this.future.__completeListeners != null) { var _g = 0; var _g1 = this.future.__completeListeners; while(_g < _g1.length) { var listener = _g1[_g]; ++_g; listener(data); } this.future.__completeListeners = null; } } return this; } ,completeWith: function(future) { future.onComplete($bind(this,this.complete)); future.onError($bind(this,this.error)); future.onProgress($bind(this,this.progress)); return this; } ,error: function(msg) { if(!this.future.isComplete) { this.future.isError = true; this.future.error = msg; if(this.future.__errorListeners != null) { var _g = 0; var _g1 = this.future.__errorListeners; while(_g < _g1.length) { var listener = _g1[_g]; ++_g; listener(msg); } this.future.__errorListeners = null; } } return this; } ,progress: function(progress,total) { if(!this.future.isError && !this.future.isComplete) { if(this.future.__progressListeners != null) { var _g = 0; var _g1 = this.future.__progressListeners; while(_g < _g1.length) { var listener = _g1[_g]; ++_g; listener(progress,total); } } } return this; } ,get_isComplete: function() { return this.future.isComplete; } ,get_isError: function() { return this.future.isError; } ,__class__: lime_app_Promise ,__properties__: {get_isError:"get_isError",get_isComplete:"get_isComplete"} }; var lime_app__$Event_$Dynamic_$Void = function() { this.canceled = false; this.__listeners = []; this.__priorities = []; this.__repeat = []; }; $hxClasses["lime.app._Event_Dynamic_Void"] = lime_app__$Event_$Dynamic_$Void; lime_app__$Event_$Dynamic_$Void.__name__ = ["lime","app","_Event_Dynamic_Void"]; lime_app__$Event_$Dynamic_$Void.prototype = { canceled: null ,__repeat: null ,__priorities: null ,add: function(listener,once,priority) { if(priority == null) { priority = 0; } if(once == null) { once = false; } var _g1 = 0; var _g = this.__priorities.length; while(_g1 < _g) { var i = _g1++; if(priority > this.__priorities[i]) { this.__listeners.splice(i,0,listener); this.__priorities.splice(i,0,priority); this.__repeat.splice(i,0,!once); return; } } this.__listeners.push(listener); this.__priorities.push(priority); this.__repeat.push(!once); } ,cancel: function() { this.canceled = true; } ,has: function(listener) { var _g = 0; var _g1 = this.__listeners; while(_g < _g1.length) { var l = _g1[_g]; ++_g; if(Reflect.compareMethods(l,listener)) { return true; } } return false; } ,remove: function(listener) { var i = this.__listeners.length; while(--i >= 0) if(Reflect.compareMethods(this.__listeners[i],listener)) { this.__listeners.splice(i,1); this.__priorities.splice(i,1); this.__repeat.splice(i,1); } } ,__listeners: null ,dispatch: function(a) { this.canceled = false; var listeners = this.__listeners; var repeat = this.__repeat; var i = 0; while(i < listeners.length) { listeners[i](a); if(!repeat[i]) { this.remove(listeners[i]); } else { ++i; } if(this.canceled) { break; } } } ,__class__: lime_app__$Event_$Dynamic_$Void }; var lime_app__$Event_$Float_$Float_$Float_$Void = function() { this.canceled = false; this.__listeners = []; this.__priorities = []; this.__repeat = []; }; $hxClasses["lime.app._Event_Float_Float_Float_Void"] = lime_app__$Event_$Float_$Float_$Float_$Void; lime_app__$Event_$Float_$Float_$Float_$Void.__name__ = ["lime","app","_Event_Float_Float_Float_Void"]; lime_app__$Event_$Float_$Float_$Float_$Void.prototype = { canceled: null ,__repeat: null ,__priorities: null ,add: function(listener,once,priority) { if(priority == null) { priority = 0; } if(once == null) { once = false; } var _g1 = 0; var _g = this.__priorities.length; while(_g1 < _g) { var i = _g1++; if(priority > this.__priorities[i]) { this.__listeners.splice(i,0,listener); this.__priorities.splice(i,0,priority); this.__repeat.splice(i,0,!once); return; } } this.__listeners.push(listener); this.__priorities.push(priority); this.__repeat.push(!once); } ,cancel: function() { this.canceled = true; } ,has: function(listener) { var _g = 0; var _g1 = this.__listeners; while(_g < _g1.length) { var l = _g1[_g]; ++_g; if(Reflect.compareMethods(l,listener)) { return true; } } return false; } ,remove: function(listener) { var i = this.__listeners.length; while(--i >= 0) if(Reflect.compareMethods(this.__listeners[i],listener)) { this.__listeners.splice(i,1); this.__priorities.splice(i,1); this.__repeat.splice(i,1); } } ,__listeners: null ,dispatch: function(a,a1,a2) { this.canceled = false; var listeners = this.__listeners; var repeat = this.__repeat; var i = 0; while(i < listeners.length) { listeners[i](a,a1,a2); if(!repeat[i]) { this.remove(listeners[i]); } else { ++i; } if(this.canceled) { break; } } } ,__class__: lime_app__$Event_$Float_$Float_$Float_$Void }; var lime_app__$Event_$Float_$Float_$Int_$Void = function() { this.canceled = false; this.__listeners = []; this.__priorities = []; this.__repeat = []; }; $hxClasses["lime.app._Event_Float_Float_Int_Void"] = lime_app__$Event_$Float_$Float_$Int_$Void; lime_app__$Event_$Float_$Float_$Int_$Void.__name__ = ["lime","app","_Event_Float_Float_Int_Void"]; lime_app__$Event_$Float_$Float_$Int_$Void.prototype = { canceled: null ,__repeat: null ,__priorities: null ,add: function(listener,once,priority) { if(priority == null) { priority = 0; } if(once == null) { once = false; } var _g1 = 0; var _g = this.__priorities.length; while(_g1 < _g) { var i = _g1++; if(priority > this.__priorities[i]) { this.__listeners.splice(i,0,listener); this.__priorities.splice(i,0,priority); this.__repeat.splice(i,0,!once); return; } } this.__listeners.push(listener); this.__priorities.push(priority); this.__repeat.push(!once); } ,cancel: function() { this.canceled = true; } ,has: function(listener) { var _g = 0; var _g1 = this.__listeners; while(_g < _g1.length) { var l = _g1[_g]; ++_g; if(Reflect.compareMethods(l,listener)) { return true; } } return false; } ,remove: function(listener) { var i = this.__listeners.length; while(--i >= 0) if(Reflect.compareMethods(this.__listeners[i],listener)) { this.__listeners.splice(i,1); this.__priorities.splice(i,1); this.__repeat.splice(i,1); } } ,__listeners: null ,dispatch: function(a,a1,a2) { this.canceled = false; var listeners = this.__listeners; var repeat = this.__repeat; var i = 0; while(i < listeners.length) { listeners[i](a,a1,a2); if(!repeat[i]) { this.remove(listeners[i]); } else { ++i; } if(this.canceled) { break; } } } ,__class__: lime_app__$Event_$Float_$Float_$Int_$Void }; var lime_app__$Event_$Float_$Float_$Void = function() { this.canceled = false; this.__listeners = []; this.__priorities = []; this.__repeat = []; }; $hxClasses["lime.app._Event_Float_Float_Void"] = lime_app__$Event_$Float_$Float_$Void; lime_app__$Event_$Float_$Float_$Void.__name__ = ["lime","app","_Event_Float_Float_Void"]; lime_app__$Event_$Float_$Float_$Void.prototype = { canceled: null ,__repeat: null ,__priorities: null ,add: function(listener,once,priority) { if(priority == null) { priority = 0; } if(once == null) { once = false; } var _g1 = 0; var _g = this.__priorities.length; while(_g1 < _g) { var i = _g1++; if(priority > this.__priorities[i]) { this.__listeners.splice(i,0,listener); this.__priorities.splice(i,0,priority); this.__repeat.splice(i,0,!once); return; } } this.__listeners.push(listener); this.__priorities.push(priority); this.__repeat.push(!once); } ,cancel: function() { this.canceled = true; } ,has: function(listener) { var _g = 0; var _g1 = this.__listeners; while(_g < _g1.length) { var l = _g1[_g]; ++_g; if(Reflect.compareMethods(l,listener)) { return true; } } return false; } ,remove: function(listener) { var i = this.__listeners.length; while(--i >= 0) if(Reflect.compareMethods(this.__listeners[i],listener)) { this.__listeners.splice(i,1); this.__priorities.splice(i,1); this.__repeat.splice(i,1); } } ,__listeners: null ,dispatch: function(a,a1) { this.canceled = false; var listeners = this.__listeners; var repeat = this.__repeat; var i = 0; while(i < listeners.length) { listeners[i](a,a1); if(!repeat[i]) { this.remove(listeners[i]); } else { ++i; } if(this.canceled) { break; } } } ,__class__: lime_app__$Event_$Float_$Float_$Void }; var lime_app__$Event_$Float_$Float_$lime_$ui_$MouseButton_$Void = function() { this.canceled = false; this.__listeners = []; this.__priorities = []; this.__repeat = []; }; $hxClasses["lime.app._Event_Float_Float_lime_ui_MouseButton_Void"] = lime_app__$Event_$Float_$Float_$lime_$ui_$MouseButton_$Void; lime_app__$Event_$Float_$Float_$lime_$ui_$MouseButton_$Void.__name__ = ["lime","app","_Event_Float_Float_lime_ui_MouseButton_Void"]; lime_app__$Event_$Float_$Float_$lime_$ui_$MouseButton_$Void.prototype = { canceled: null ,__repeat: null ,__priorities: null ,add: function(listener,once,priority) { if(priority == null) { priority = 0; } if(once == null) { once = false; } var _g1 = 0; var _g = this.__priorities.length; while(_g1 < _g) { var i = _g1++; if(priority > this.__priorities[i]) { this.__listeners.splice(i,0,listener); this.__priorities.splice(i,0,priority); this.__repeat.splice(i,0,!once); return; } } this.__listeners.push(listener); this.__priorities.push(priority); this.__repeat.push(!once); } ,cancel: function() { this.canceled = true; } ,has: function(listener) { var _g = 0; var _g1 = this.__listeners; while(_g < _g1.length) { var l = _g1[_g]; ++_g; if(Reflect.compareMethods(l,listener)) { return true; } } return false; } ,remove: function(listener) { var i = this.__listeners.length; while(--i >= 0) if(Reflect.compareMethods(this.__listeners[i],listener)) { this.__listeners.splice(i,1); this.__priorities.splice(i,1); this.__repeat.splice(i,1); } } ,__listeners: null ,dispatch: function(a,a1,a2) { this.canceled = false; var listeners = this.__listeners; var repeat = this.__repeat; var i = 0; while(i < listeners.length) { listeners[i](a,a1,a2); if(!repeat[i]) { this.remove(listeners[i]); } else { ++i; } if(this.canceled) { break; } } } ,__class__: lime_app__$Event_$Float_$Float_$lime_$ui_$MouseButton_$Void }; var lime_app__$Event_$Float_$Float_$lime_$ui_$MouseWheelMode_$Void = function() { this.canceled = false; this.__listeners = []; this.__priorities = []; this.__repeat = []; }; $hxClasses["lime.app._Event_Float_Float_lime_ui_MouseWheelMode_Void"] = lime_app__$Event_$Float_$Float_$lime_$ui_$MouseWheelMode_$Void; lime_app__$Event_$Float_$Float_$lime_$ui_$MouseWheelMode_$Void.__name__ = ["lime","app","_Event_Float_Float_lime_ui_MouseWheelMode_Void"]; lime_app__$Event_$Float_$Float_$lime_$ui_$MouseWheelMode_$Void.prototype = { canceled: null ,__repeat: null ,__priorities: null ,add: function(listener,once,priority) { if(priority == null) { priority = 0; } if(once == null) { once = false; } var _g1 = 0; var _g = this.__priorities.length; while(_g1 < _g) { var i = _g1++; if(priority > this.__priorities[i]) { this.__listeners.splice(i,0,listener); this.__priorities.splice(i,0,priority); this.__repeat.splice(i,0,!once); return; } } this.__listeners.push(listener); this.__priorities.push(priority); this.__repeat.push(!once); } ,cancel: function() { this.canceled = true; } ,has: function(listener) { var _g = 0; var _g1 = this.__listeners; while(_g < _g1.length) { var l = _g1[_g]; ++_g; if(Reflect.compareMethods(l,listener)) { return true; } } return false; } ,remove: function(listener) { var i = this.__listeners.length; while(--i >= 0) if(Reflect.compareMethods(this.__listeners[i],listener)) { this.__listeners.splice(i,1); this.__priorities.splice(i,1); this.__repeat.splice(i,1); } } ,__listeners: null ,dispatch: function(a,a1,a2) { this.canceled = false; var listeners = this.__listeners; var repeat = this.__repeat; var i = 0; while(i < listeners.length) { listeners[i](a,a1,a2); if(!repeat[i]) { this.remove(listeners[i]); } else { ++i; } if(this.canceled) { break; } } } ,__class__: lime_app__$Event_$Float_$Float_$lime_$ui_$MouseWheelMode_$Void }; var lime_app__$Event_$Int_$Float_$Float_$Void = function() { this.canceled = false; this.__listeners = []; this.__priorities = []; this.__repeat = []; }; $hxClasses["lime.app._Event_Int_Float_Float_Void"] = lime_app__$Event_$Int_$Float_$Float_$Void; lime_app__$Event_$Int_$Float_$Float_$Void.__name__ = ["lime","app","_Event_Int_Float_Float_Void"]; lime_app__$Event_$Int_$Float_$Float_$Void.prototype = { canceled: null ,__repeat: null ,__priorities: null ,add: function(listener,once,priority) { if(priority == null) { priority = 0; } if(once == null) { once = false; } var _g1 = 0; var _g = this.__priorities.length; while(_g1 < _g) { var i = _g1++; if(priority > this.__priorities[i]) { this.__listeners.splice(i,0,listener); this.__priorities.splice(i,0,priority); this.__repeat.splice(i,0,!once); return; } } this.__listeners.push(listener); this.__priorities.push(priority); this.__repeat.push(!once); } ,cancel: function() { this.canceled = true; } ,has: function(listener) { var _g = 0; var _g1 = this.__listeners; while(_g < _g1.length) { var l = _g1[_g]; ++_g; if(Reflect.compareMethods(l,listener)) { return true; } } return false; } ,remove: function(listener) { var i = this.__listeners.length; while(--i >= 0) if(Reflect.compareMethods(this.__listeners[i],listener)) { this.__listeners.splice(i,1); this.__priorities.splice(i,1); this.__repeat.splice(i,1); } } ,__listeners: null ,dispatch: function(a,a1,a2) { this.canceled = false; var listeners = this.__listeners; var repeat = this.__repeat; var i = 0; while(i < listeners.length) { listeners[i](a,a1,a2); if(!repeat[i]) { this.remove(listeners[i]); } else { ++i; } if(this.canceled) { break; } } } ,__class__: lime_app__$Event_$Int_$Float_$Float_$Void }; var lime_app__$Event_$Int_$Float_$Void = function() { this.canceled = false; this.__listeners = []; this.__priorities = []; this.__repeat = []; }; $hxClasses["lime.app._Event_Int_Float_Void"] = lime_app__$Event_$Int_$Float_$Void; lime_app__$Event_$Int_$Float_$Void.__name__ = ["lime","app","_Event_Int_Float_Void"]; lime_app__$Event_$Int_$Float_$Void.prototype = { canceled: null ,__repeat: null ,__priorities: null ,add: function(listener,once,priority) { if(priority == null) { priority = 0; } if(once == null) { once = false; } var _g1 = 0; var _g = this.__priorities.length; while(_g1 < _g) { var i = _g1++; if(priority > this.__priorities[i]) { this.__listeners.splice(i,0,listener); this.__priorities.splice(i,0,priority); this.__repeat.splice(i,0,!once); return; } } this.__listeners.push(listener); this.__priorities.push(priority); this.__repeat.push(!once); } ,cancel: function() { this.canceled = true; } ,has: function(listener) { var _g = 0; var _g1 = this.__listeners; while(_g < _g1.length) { var l = _g1[_g]; ++_g; if(Reflect.compareMethods(l,listener)) { return true; } } return false; } ,remove: function(listener) { var i = this.__listeners.length; while(--i >= 0) if(Reflect.compareMethods(this.__listeners[i],listener)) { this.__listeners.splice(i,1); this.__priorities.splice(i,1); this.__repeat.splice(i,1); } } ,__listeners: null ,dispatch: function(a,a1) { this.canceled = false; var listeners = this.__listeners; var repeat = this.__repeat; var i = 0; while(i < listeners.length) { listeners[i](a,a1); if(!repeat[i]) { this.remove(listeners[i]); } else { ++i; } if(this.canceled) { break; } } } ,__class__: lime_app__$Event_$Int_$Float_$Void }; var lime_app__$Event_$Int_$Int_$Void = function() { this.canceled = false; this.__listeners = []; this.__priorities = []; this.__repeat = []; }; $hxClasses["lime.app._Event_Int_Int_Void"] = lime_app__$Event_$Int_$Int_$Void; lime_app__$Event_$Int_$Int_$Void.__name__ = ["lime","app","_Event_Int_Int_Void"]; lime_app__$Event_$Int_$Int_$Void.prototype = { canceled: null ,__repeat: null ,__priorities: null ,add: function(listener,once,priority) { if(priority == null) { priority = 0; } if(once == null) { once = false; } var _g1 = 0; var _g = this.__priorities.length; while(_g1 < _g) { var i = _g1++; if(priority > this.__priorities[i]) { this.__listeners.splice(i,0,listener); this.__priorities.splice(i,0,priority); this.__repeat.splice(i,0,!once); return; } } this.__listeners.push(listener); this.__priorities.push(priority); this.__repeat.push(!once); } ,cancel: function() { this.canceled = true; } ,has: function(listener) { var _g = 0; var _g1 = this.__listeners; while(_g < _g1.length) { var l = _g1[_g]; ++_g; if(Reflect.compareMethods(l,listener)) { return true; } } return false; } ,remove: function(listener) { var i = this.__listeners.length; while(--i >= 0) if(Reflect.compareMethods(this.__listeners[i],listener)) { this.__listeners.splice(i,1); this.__priorities.splice(i,1); this.__repeat.splice(i,1); } } ,__listeners: null ,dispatch: function(a,a1) { this.canceled = false; var listeners = this.__listeners; var repeat = this.__repeat; var i = 0; while(i < listeners.length) { listeners[i](a,a1); if(!repeat[i]) { this.remove(listeners[i]); } else { ++i; } if(this.canceled) { break; } } } ,__class__: lime_app__$Event_$Int_$Int_$Void }; var lime_app__$Event_$Int_$Void = function() { this.canceled = false; this.__listeners = []; this.__priorities = []; this.__repeat = []; }; $hxClasses["lime.app._Event_Int_Void"] = lime_app__$Event_$Int_$Void; lime_app__$Event_$Int_$Void.__name__ = ["lime","app","_Event_Int_Void"]; lime_app__$Event_$Int_$Void.prototype = { canceled: null ,__repeat: null ,__priorities: null ,add: function(listener,once,priority) { if(priority == null) { priority = 0; } if(once == null) { once = false; } var _g1 = 0; var _g = this.__priorities.length; while(_g1 < _g) { var i = _g1++; if(priority > this.__priorities[i]) { this.__listeners.splice(i,0,listener); this.__priorities.splice(i,0,priority); this.__repeat.splice(i,0,!once); return; } } this.__listeners.push(listener); this.__priorities.push(priority); this.__repeat.push(!once); } ,cancel: function() { this.canceled = true; } ,has: function(listener) { var _g = 0; var _g1 = this.__listeners; while(_g < _g1.length) { var l = _g1[_g]; ++_g; if(Reflect.compareMethods(l,listener)) { return true; } } return false; } ,remove: function(listener) { var i = this.__listeners.length; while(--i >= 0) if(Reflect.compareMethods(this.__listeners[i],listener)) { this.__listeners.splice(i,1); this.__priorities.splice(i,1); this.__repeat.splice(i,1); } } ,__listeners: null ,dispatch: function(a) { this.canceled = false; var listeners = this.__listeners; var repeat = this.__repeat; var i = 0; while(i < listeners.length) { listeners[i](a); if(!repeat[i]) { this.remove(listeners[i]); } else { ++i; } if(this.canceled) { break; } } } ,__class__: lime_app__$Event_$Int_$Void }; var lime_app__$Event_$Int_$lime_$ui_$JoystickHatPosition_$Void = function() { this.canceled = false; this.__listeners = []; this.__priorities = []; this.__repeat = []; }; $hxClasses["lime.app._Event_Int_lime_ui_JoystickHatPosition_Void"] = lime_app__$Event_$Int_$lime_$ui_$JoystickHatPosition_$Void; lime_app__$Event_$Int_$lime_$ui_$JoystickHatPosition_$Void.__name__ = ["lime","app","_Event_Int_lime_ui_JoystickHatPosition_Void"]; lime_app__$Event_$Int_$lime_$ui_$JoystickHatPosition_$Void.prototype = { canceled: null ,__repeat: null ,__priorities: null ,add: function(listener,once,priority) { if(priority == null) { priority = 0; } if(once == null) { once = false; } var _g1 = 0; var _g = this.__priorities.length; while(_g1 < _g) { var i = _g1++; if(priority > this.__priorities[i]) { this.__listeners.splice(i,0,listener); this.__priorities.splice(i,0,priority); this.__repeat.splice(i,0,!once); return; } } this.__listeners.push(listener); this.__priorities.push(priority); this.__repeat.push(!once); } ,cancel: function() { this.canceled = true; } ,has: function(listener) { var _g = 0; var _g1 = this.__listeners; while(_g < _g1.length) { var l = _g1[_g]; ++_g; if(Reflect.compareMethods(l,listener)) { return true; } } return false; } ,remove: function(listener) { var i = this.__listeners.length; while(--i >= 0) if(Reflect.compareMethods(this.__listeners[i],listener)) { this.__listeners.splice(i,1); this.__priorities.splice(i,1); this.__repeat.splice(i,1); } } ,__listeners: null ,dispatch: function(a,a1) { this.canceled = false; var listeners = this.__listeners; var repeat = this.__repeat; var i = 0; while(i < listeners.length) { listeners[i](a,a1); if(!repeat[i]) { this.remove(listeners[i]); } else { ++i; } if(this.canceled) { break; } } } ,__class__: lime_app__$Event_$Int_$lime_$ui_$JoystickHatPosition_$Void }; var lime_app__$Event_$String_$Int_$Int_$Void = function() { this.canceled = false; this.__listeners = []; this.__priorities = []; this.__repeat = []; }; $hxClasses["lime.app._Event_String_Int_Int_Void"] = lime_app__$Event_$String_$Int_$Int_$Void; lime_app__$Event_$String_$Int_$Int_$Void.__name__ = ["lime","app","_Event_String_Int_Int_Void"]; lime_app__$Event_$String_$Int_$Int_$Void.prototype = { canceled: null ,__repeat: null ,__priorities: null ,add: function(listener,once,priority) { if(priority == null) { priority = 0; } if(once == null) { once = false; } var _g1 = 0; var _g = this.__priorities.length; while(_g1 < _g) { var i = _g1++; if(priority > this.__priorities[i]) { this.__listeners.splice(i,0,listener); this.__priorities.splice(i,0,priority); this.__repeat.splice(i,0,!once); return; } } this.__listeners.push(listener); this.__priorities.push(priority); this.__repeat.push(!once); } ,cancel: function() { this.canceled = true; } ,has: function(listener) { var _g = 0; var _g1 = this.__listeners; while(_g < _g1.length) { var l = _g1[_g]; ++_g; if(Reflect.compareMethods(l,listener)) { return true; } } return false; } ,remove: function(listener) { var i = this.__listeners.length; while(--i >= 0) if(Reflect.compareMethods(this.__listeners[i],listener)) { this.__listeners.splice(i,1); this.__priorities.splice(i,1); this.__repeat.splice(i,1); } } ,__listeners: null ,dispatch: function(a,a1,a2) { this.canceled = false; var listeners = this.__listeners; var repeat = this.__repeat; var i = 0; while(i < listeners.length) { listeners[i](a,a1,a2); if(!repeat[i]) { this.remove(listeners[i]); } else { ++i; } if(this.canceled) { break; } } } ,__class__: lime_app__$Event_$String_$Int_$Int_$Void }; var lime_app__$Event_$String_$Void = function() { this.canceled = false; this.__listeners = []; this.__priorities = []; this.__repeat = []; }; $hxClasses["lime.app._Event_String_Void"] = lime_app__$Event_$String_$Void; lime_app__$Event_$String_$Void.__name__ = ["lime","app","_Event_String_Void"]; lime_app__$Event_$String_$Void.prototype = { canceled: null ,__repeat: null ,__priorities: null ,add: function(listener,once,priority) { if(priority == null) { priority = 0; } if(once == null) { once = false; } var _g1 = 0; var _g = this.__priorities.length; while(_g1 < _g) { var i = _g1++; if(priority > this.__priorities[i]) { this.__listeners.splice(i,0,listener); this.__priorities.splice(i,0,priority); this.__repeat.splice(i,0,!once); return; } } this.__listeners.push(listener); this.__priorities.push(priority); this.__repeat.push(!once); } ,cancel: function() { this.canceled = true; } ,has: function(listener) { var _g = 0; var _g1 = this.__listeners; while(_g < _g1.length) { var l = _g1[_g]; ++_g; if(Reflect.compareMethods(l,listener)) { return true; } } return false; } ,remove: function(listener) { var i = this.__listeners.length; while(--i >= 0) if(Reflect.compareMethods(this.__listeners[i],listener)) { this.__listeners.splice(i,1); this.__priorities.splice(i,1); this.__repeat.splice(i,1); } } ,__listeners: null ,dispatch: function(a) { this.canceled = false; var listeners = this.__listeners; var repeat = this.__repeat; var i = 0; while(i < listeners.length) { listeners[i](a); if(!repeat[i]) { this.remove(listeners[i]); } else { ++i; } if(this.canceled) { break; } } } ,__class__: lime_app__$Event_$String_$Void }; var lime_app__$Event_$Void_$Void = function() { this.canceled = false; this.__listeners = []; this.__priorities = []; this.__repeat = []; }; $hxClasses["lime.app._Event_Void_Void"] = lime_app__$Event_$Void_$Void; lime_app__$Event_$Void_$Void.__name__ = ["lime","app","_Event_Void_Void"]; lime_app__$Event_$Void_$Void.prototype = { canceled: null ,__repeat: null ,__priorities: null ,add: function(listener,once,priority) { if(priority == null) { priority = 0; } if(once == null) { once = false; } var _g1 = 0; var _g = this.__priorities.length; while(_g1 < _g) { var i = _g1++; if(priority > this.__priorities[i]) { this.__listeners.splice(i,0,listener); this.__priorities.splice(i,0,priority); this.__repeat.splice(i,0,!once); return; } } this.__listeners.push(listener); this.__priorities.push(priority); this.__repeat.push(!once); } ,cancel: function() { this.canceled = true; } ,has: function(listener) { var _g = 0; var _g1 = this.__listeners; while(_g < _g1.length) { var l = _g1[_g]; ++_g; if(Reflect.compareMethods(l,listener)) { return true; } } return false; } ,remove: function(listener) { var i = this.__listeners.length; while(--i >= 0) if(Reflect.compareMethods(this.__listeners[i],listener)) { this.__listeners.splice(i,1); this.__priorities.splice(i,1); this.__repeat.splice(i,1); } } ,__listeners: null ,dispatch: function() { this.canceled = false; var listeners = this.__listeners; var repeat = this.__repeat; var i = 0; while(i < listeners.length) { listeners[i](); if(!repeat[i]) { this.remove(listeners[i]); } else { ++i; } if(this.canceled) { break; } } } ,__class__: lime_app__$Event_$Void_$Void }; var lime_app__$Event_$haxe_$Function_$Void = function() { this.canceled = false; this.__listeners = []; this.__priorities = []; this.__repeat = []; }; $hxClasses["lime.app._Event_haxe_Function_Void"] = lime_app__$Event_$haxe_$Function_$Void; lime_app__$Event_$haxe_$Function_$Void.__name__ = ["lime","app","_Event_haxe_Function_Void"]; lime_app__$Event_$haxe_$Function_$Void.prototype = { canceled: null ,__repeat: null ,__priorities: null ,add: function(listener,once,priority) { if(priority == null) { priority = 0; } if(once == null) { once = false; } var _g1 = 0; var _g = this.__priorities.length; while(_g1 < _g) { var i = _g1++; if(priority > this.__priorities[i]) { this.__listeners.splice(i,0,listener); this.__priorities.splice(i,0,priority); this.__repeat.splice(i,0,!once); return; } } this.__listeners.push(listener); this.__priorities.push(priority); this.__repeat.push(!once); } ,cancel: function() { this.canceled = true; } ,has: function(listener) { var _g = 0; var _g1 = this.__listeners; while(_g < _g1.length) { var l = _g1[_g]; ++_g; if(Reflect.compareMethods(l,listener)) { return true; } } return false; } ,remove: function(listener) { var i = this.__listeners.length; while(--i >= 0) if(Reflect.compareMethods(this.__listeners[i],listener)) { this.__listeners.splice(i,1); this.__priorities.splice(i,1); this.__repeat.splice(i,1); } } ,__listeners: null ,dispatch: function(a) { this.canceled = false; var listeners = this.__listeners; var repeat = this.__repeat; var i = 0; while(i < listeners.length) { listeners[i](a); if(!repeat[i]) { this.remove(listeners[i]); } else { ++i; } if(this.canceled) { break; } } } ,__class__: lime_app__$Event_$haxe_$Function_$Void }; var lime_app__$Event_$lime_$graphics_$RenderContext_$Void = function() { this.canceled = false; this.__listeners = []; this.__priorities = []; this.__repeat = []; }; $hxClasses["lime.app._Event_lime_graphics_RenderContext_Void"] = lime_app__$Event_$lime_$graphics_$RenderContext_$Void; lime_app__$Event_$lime_$graphics_$RenderContext_$Void.__name__ = ["lime","app","_Event_lime_graphics_RenderContext_Void"]; lime_app__$Event_$lime_$graphics_$RenderContext_$Void.prototype = { canceled: null ,__repeat: null ,__priorities: null ,add: function(listener,once,priority) { if(priority == null) { priority = 0; } if(once == null) { once = false; } var _g1 = 0; var _g = this.__priorities.length; while(_g1 < _g) { var i = _g1++; if(priority > this.__priorities[i]) { this.__listeners.splice(i,0,listener); this.__priorities.splice(i,0,priority); this.__repeat.splice(i,0,!once); return; } } this.__listeners.push(listener); this.__priorities.push(priority); this.__repeat.push(!once); } ,cancel: function() { this.canceled = true; } ,has: function(listener) { var _g = 0; var _g1 = this.__listeners; while(_g < _g1.length) { var l = _g1[_g]; ++_g; if(Reflect.compareMethods(l,listener)) { return true; } } return false; } ,remove: function(listener) { var i = this.__listeners.length; while(--i >= 0) if(Reflect.compareMethods(this.__listeners[i],listener)) { this.__listeners.splice(i,1); this.__priorities.splice(i,1); this.__repeat.splice(i,1); } } ,__listeners: null ,dispatch: function(a) { this.canceled = false; var listeners = this.__listeners; var repeat = this.__repeat; var i = 0; while(i < listeners.length) { listeners[i](a); if(!repeat[i]) { this.remove(listeners[i]); } else { ++i; } if(this.canceled) { break; } } } ,__class__: lime_app__$Event_$lime_$graphics_$RenderContext_$Void }; var lime_app__$Event_$lime_$ui_$GamepadAxis_$Float_$Void = function() { this.canceled = false; this.__listeners = []; this.__priorities = []; this.__repeat = []; }; $hxClasses["lime.app._Event_lime_ui_GamepadAxis_Float_Void"] = lime_app__$Event_$lime_$ui_$GamepadAxis_$Float_$Void; lime_app__$Event_$lime_$ui_$GamepadAxis_$Float_$Void.__name__ = ["lime","app","_Event_lime_ui_GamepadAxis_Float_Void"]; lime_app__$Event_$lime_$ui_$GamepadAxis_$Float_$Void.prototype = { canceled: null ,__repeat: null ,__priorities: null ,add: function(listener,once,priority) { if(priority == null) { priority = 0; } if(once == null) { once = false; } var _g1 = 0; var _g = this.__priorities.length; while(_g1 < _g) { var i = _g1++; if(priority > this.__priorities[i]) { this.__listeners.splice(i,0,listener); this.__priorities.splice(i,0,priority); this.__repeat.splice(i,0,!once); return; } } this.__listeners.push(listener); this.__priorities.push(priority); this.__repeat.push(!once); } ,cancel: function() { this.canceled = true; } ,has: function(listener) { var _g = 0; var _g1 = this.__listeners; while(_g < _g1.length) { var l = _g1[_g]; ++_g; if(Reflect.compareMethods(l,listener)) { return true; } } return false; } ,remove: function(listener) { var i = this.__listeners.length; while(--i >= 0) if(Reflect.compareMethods(this.__listeners[i],listener)) { this.__listeners.splice(i,1); this.__priorities.splice(i,1); this.__repeat.splice(i,1); } } ,__listeners: null ,dispatch: function(a,a1) { this.canceled = false; var listeners = this.__listeners; var repeat = this.__repeat; var i = 0; while(i < listeners.length) { listeners[i](a,a1); if(!repeat[i]) { this.remove(listeners[i]); } else { ++i; } if(this.canceled) { break; } } } ,__class__: lime_app__$Event_$lime_$ui_$GamepadAxis_$Float_$Void }; var lime_app__$Event_$lime_$ui_$GamepadButton_$Void = function() { this.canceled = false; this.__listeners = []; this.__priorities = []; this.__repeat = []; }; $hxClasses["lime.app._Event_lime_ui_GamepadButton_Void"] = lime_app__$Event_$lime_$ui_$GamepadButton_$Void; lime_app__$Event_$lime_$ui_$GamepadButton_$Void.__name__ = ["lime","app","_Event_lime_ui_GamepadButton_Void"]; lime_app__$Event_$lime_$ui_$GamepadButton_$Void.prototype = { canceled: null ,__repeat: null ,__priorities: null ,add: function(listener,once,priority) { if(priority == null) { priority = 0; } if(once == null) { once = false; } var _g1 = 0; var _g = this.__priorities.length; while(_g1 < _g) { var i = _g1++; if(priority > this.__priorities[i]) { this.__listeners.splice(i,0,listener); this.__priorities.splice(i,0,priority); this.__repeat.splice(i,0,!once); return; } } this.__listeners.push(listener); this.__priorities.push(priority); this.__repeat.push(!once); } ,cancel: function() { this.canceled = true; } ,has: function(listener) { var _g = 0; var _g1 = this.__listeners; while(_g < _g1.length) { var l = _g1[_g]; ++_g; if(Reflect.compareMethods(l,listener)) { return true; } } return false; } ,remove: function(listener) { var i = this.__listeners.length; while(--i >= 0) if(Reflect.compareMethods(this.__listeners[i],listener)) { this.__listeners.splice(i,1); this.__priorities.splice(i,1); this.__repeat.splice(i,1); } } ,__listeners: null ,dispatch: function(a) { this.canceled = false; var listeners = this.__listeners; var repeat = this.__repeat; var i = 0; while(i < listeners.length) { listeners[i](a); if(!repeat[i]) { this.remove(listeners[i]); } else { ++i; } if(this.canceled) { break; } } } ,__class__: lime_app__$Event_$lime_$ui_$GamepadButton_$Void }; var lime_app__$Event_$lime_$ui_$Gamepad_$Void = function() { this.canceled = false; this.__listeners = []; this.__priorities = []; this.__repeat = []; }; $hxClasses["lime.app._Event_lime_ui_Gamepad_Void"] = lime_app__$Event_$lime_$ui_$Gamepad_$Void; lime_app__$Event_$lime_$ui_$Gamepad_$Void.__name__ = ["lime","app","_Event_lime_ui_Gamepad_Void"]; lime_app__$Event_$lime_$ui_$Gamepad_$Void.prototype = { canceled: null ,__repeat: null ,__priorities: null ,add: function(listener,once,priority) { if(priority == null) { priority = 0; } if(once == null) { once = false; } var _g1 = 0; var _g = this.__priorities.length; while(_g1 < _g) { var i = _g1++; if(priority > this.__priorities[i]) { this.__listeners.splice(i,0,listener); this.__priorities.splice(i,0,priority); this.__repeat.splice(i,0,!once); return; } } this.__listeners.push(listener); this.__priorities.push(priority); this.__repeat.push(!once); } ,cancel: function() { this.canceled = true; } ,has: function(listener) { var _g = 0; var _g1 = this.__listeners; while(_g < _g1.length) { var l = _g1[_g]; ++_g; if(Reflect.compareMethods(l,listener)) { return true; } } return false; } ,remove: function(listener) { var i = this.__listeners.length; while(--i >= 0) if(Reflect.compareMethods(this.__listeners[i],listener)) { this.__listeners.splice(i,1); this.__priorities.splice(i,1); this.__repeat.splice(i,1); } } ,__listeners: null ,dispatch: function(a) { this.canceled = false; var listeners = this.__listeners; var repeat = this.__repeat; var i = 0; while(i < listeners.length) { listeners[i](a); if(!repeat[i]) { this.remove(listeners[i]); } else { ++i; } if(this.canceled) { break; } } } ,__class__: lime_app__$Event_$lime_$ui_$Gamepad_$Void }; var lime_app__$Event_$lime_$ui_$Joystick_$Void = function() { this.canceled = false; this.__listeners = []; this.__priorities = []; this.__repeat = []; }; $hxClasses["lime.app._Event_lime_ui_Joystick_Void"] = lime_app__$Event_$lime_$ui_$Joystick_$Void; lime_app__$Event_$lime_$ui_$Joystick_$Void.__name__ = ["lime","app","_Event_lime_ui_Joystick_Void"]; lime_app__$Event_$lime_$ui_$Joystick_$Void.prototype = { canceled: null ,__repeat: null ,__priorities: null ,add: function(listener,once,priority) { if(priority == null) { priority = 0; } if(once == null) { once = false; } var _g1 = 0; var _g = this.__priorities.length; while(_g1 < _g) { var i = _g1++; if(priority > this.__priorities[i]) { this.__listeners.splice(i,0,listener); this.__priorities.splice(i,0,priority); this.__repeat.splice(i,0,!once); return; } } this.__listeners.push(listener); this.__priorities.push(priority); this.__repeat.push(!once); } ,cancel: function() { this.canceled = true; } ,has: function(listener) { var _g = 0; var _g1 = this.__listeners; while(_g < _g1.length) { var l = _g1[_g]; ++_g; if(Reflect.compareMethods(l,listener)) { return true; } } return false; } ,remove: function(listener) { var i = this.__listeners.length; while(--i >= 0) if(Reflect.compareMethods(this.__listeners[i],listener)) { this.__listeners.splice(i,1); this.__priorities.splice(i,1); this.__repeat.splice(i,1); } } ,__listeners: null ,dispatch: function(a) { this.canceled = false; var listeners = this.__listeners; var repeat = this.__repeat; var i = 0; while(i < listeners.length) { listeners[i](a); if(!repeat[i]) { this.remove(listeners[i]); } else { ++i; } if(this.canceled) { break; } } } ,__class__: lime_app__$Event_$lime_$ui_$Joystick_$Void }; var lime_app__$Event_$lime_$ui_$KeyCode_$lime_$ui_$KeyModifier_$Void = function() { this.canceled = false; this.__listeners = []; this.__priorities = []; this.__repeat = []; }; $hxClasses["lime.app._Event_lime_ui_KeyCode_lime_ui_KeyModifier_Void"] = lime_app__$Event_$lime_$ui_$KeyCode_$lime_$ui_$KeyModifier_$Void; lime_app__$Event_$lime_$ui_$KeyCode_$lime_$ui_$KeyModifier_$Void.__name__ = ["lime","app","_Event_lime_ui_KeyCode_lime_ui_KeyModifier_Void"]; lime_app__$Event_$lime_$ui_$KeyCode_$lime_$ui_$KeyModifier_$Void.prototype = { canceled: null ,__repeat: null ,__priorities: null ,add: function(listener,once,priority) { if(priority == null) { priority = 0; } if(once == null) { once = false; } var _g1 = 0; var _g = this.__priorities.length; while(_g1 < _g) { var i = _g1++; if(priority > this.__priorities[i]) { this.__listeners.splice(i,0,listener); this.__priorities.splice(i,0,priority); this.__repeat.splice(i,0,!once); return; } } this.__listeners.push(listener); this.__priorities.push(priority); this.__repeat.push(!once); } ,cancel: function() { this.canceled = true; } ,has: function(listener) { var _g = 0; var _g1 = this.__listeners; while(_g < _g1.length) { var l = _g1[_g]; ++_g; if(Reflect.compareMethods(l,listener)) { return true; } } return false; } ,remove: function(listener) { var i = this.__listeners.length; while(--i >= 0) if(Reflect.compareMethods(this.__listeners[i],listener)) { this.__listeners.splice(i,1); this.__priorities.splice(i,1); this.__repeat.splice(i,1); } } ,__listeners: null ,dispatch: function(a,a1) { this.canceled = false; var listeners = this.__listeners; var repeat = this.__repeat; var i = 0; while(i < listeners.length) { listeners[i](a,a1); if(!repeat[i]) { this.remove(listeners[i]); } else { ++i; } if(this.canceled) { break; } } } ,__class__: lime_app__$Event_$lime_$ui_$KeyCode_$lime_$ui_$KeyModifier_$Void }; var lime_app__$Event_$lime_$ui_$Touch_$Void = function() { this.canceled = false; this.__listeners = []; this.__priorities = []; this.__repeat = []; }; $hxClasses["lime.app._Event_lime_ui_Touch_Void"] = lime_app__$Event_$lime_$ui_$Touch_$Void; lime_app__$Event_$lime_$ui_$Touch_$Void.__name__ = ["lime","app","_Event_lime_ui_Touch_Void"]; lime_app__$Event_$lime_$ui_$Touch_$Void.prototype = { canceled: null ,__repeat: null ,__priorities: null ,add: function(listener,once,priority) { if(priority == null) { priority = 0; } if(once == null) { once = false; } var _g1 = 0; var _g = this.__priorities.length; while(_g1 < _g) { var i = _g1++; if(priority > this.__priorities[i]) { this.__listeners.splice(i,0,listener); this.__priorities.splice(i,0,priority); this.__repeat.splice(i,0,!once); return; } } this.__listeners.push(listener); this.__priorities.push(priority); this.__repeat.push(!once); } ,cancel: function() { this.canceled = true; } ,has: function(listener) { var _g = 0; var _g1 = this.__listeners; while(_g < _g1.length) { var l = _g1[_g]; ++_g; if(Reflect.compareMethods(l,listener)) { return true; } } return false; } ,remove: function(listener) { var i = this.__listeners.length; while(--i >= 0) if(Reflect.compareMethods(this.__listeners[i],listener)) { this.__listeners.splice(i,1); this.__priorities.splice(i,1); this.__repeat.splice(i,1); } } ,__listeners: null ,dispatch: function(a) { this.canceled = false; var listeners = this.__listeners; var repeat = this.__repeat; var i = 0; while(i < listeners.length) { listeners[i](a); if(!repeat[i]) { this.remove(listeners[i]); } else { ++i; } if(this.canceled) { break; } } } ,__class__: lime_app__$Event_$lime_$ui_$Touch_$Void }; var lime_app__$Event_$lime_$ui_$Window_$Void = function() { this.canceled = false; this.__listeners = []; this.__priorities = []; this.__repeat = []; }; $hxClasses["lime.app._Event_lime_ui_Window_Void"] = lime_app__$Event_$lime_$ui_$Window_$Void; lime_app__$Event_$lime_$ui_$Window_$Void.__name__ = ["lime","app","_Event_lime_ui_Window_Void"]; lime_app__$Event_$lime_$ui_$Window_$Void.prototype = { canceled: null ,__repeat: null ,__priorities: null ,add: function(listener,once,priority) { if(priority == null) { priority = 0; } if(once == null) { once = false; } var _g1 = 0; var _g = this.__priorities.length; while(_g1 < _g) { var i = _g1++; if(priority > this.__priorities[i]) { this.__listeners.splice(i,0,listener); this.__priorities.splice(i,0,priority); this.__repeat.splice(i,0,!once); return; } } this.__listeners.push(listener); this.__priorities.push(priority); this.__repeat.push(!once); } ,cancel: function() { this.canceled = true; } ,has: function(listener) { var _g = 0; var _g1 = this.__listeners; while(_g < _g1.length) { var l = _g1[_g]; ++_g; if(Reflect.compareMethods(l,listener)) { return true; } } return false; } ,remove: function(listener) { var i = this.__listeners.length; while(--i >= 0) if(Reflect.compareMethods(this.__listeners[i],listener)) { this.__listeners.splice(i,1); this.__priorities.splice(i,1); this.__repeat.splice(i,1); } } ,__listeners: null ,dispatch: function(a) { this.canceled = false; var listeners = this.__listeners; var repeat = this.__repeat; var i = 0; while(i < listeners.length) { listeners[i](a); if(!repeat[i]) { this.remove(listeners[i]); } else { ++i; } if(this.canceled) { break; } } } ,__class__: lime_app__$Event_$lime_$ui_$Window_$Void }; var lime_app__$Event_$ofEvents_$T_$Void = function() { this.canceled = false; this.__listeners = []; this.__priorities = []; this.__repeat = []; }; $hxClasses["lime.app._Event_ofEvents_T_Void"] = lime_app__$Event_$ofEvents_$T_$Void; lime_app__$Event_$ofEvents_$T_$Void.__name__ = ["lime","app","_Event_ofEvents_T_Void"]; lime_app__$Event_$ofEvents_$T_$Void.prototype = { canceled: null ,__repeat: null ,__priorities: null ,add: function(listener,once,priority) { if(priority == null) { priority = 0; } if(once == null) { once = false; } var _g1 = 0; var _g = this.__priorities.length; while(_g1 < _g) { var i = _g1++; if(priority > this.__priorities[i]) { this.__listeners.splice(i,0,listener); this.__priorities.splice(i,0,priority); this.__repeat.splice(i,0,!once); return; } } this.__listeners.push(listener); this.__priorities.push(priority); this.__repeat.push(!once); } ,cancel: function() { this.canceled = true; } ,has: function(listener) { var _g = 0; var _g1 = this.__listeners; while(_g < _g1.length) { var l = _g1[_g]; ++_g; if(Reflect.compareMethods(l,listener)) { return true; } } return false; } ,remove: function(listener) { var i = this.__listeners.length; while(--i >= 0) if(Reflect.compareMethods(this.__listeners[i],listener)) { this.__listeners.splice(i,1); this.__priorities.splice(i,1); this.__repeat.splice(i,1); } } ,__listeners: null ,dispatch: function(a) { this.canceled = false; var listeners = this.__listeners; var repeat = this.__repeat; var i = 0; while(i < listeners.length) { listeners[i](a); if(!repeat[i]) { this.remove(listeners[i]); } else { ++i; } if(this.canceled) { break; } } } ,__class__: lime_app__$Event_$ofEvents_$T_$Void }; var lime_graphics__$CairoRenderContext_CairoRenderContext_$Impl_$ = {}; $hxClasses["lime.graphics._CairoRenderContext.CairoRenderContext_Impl_"] = lime_graphics__$CairoRenderContext_CairoRenderContext_$Impl_$; lime_graphics__$CairoRenderContext_CairoRenderContext_$Impl_$.__name__ = ["lime","graphics","_CairoRenderContext","CairoRenderContext_Impl_"]; lime_graphics__$CairoRenderContext_CairoRenderContext_$Impl_$.fromRenderContext = function(context) { return context.cairo; }; var lime_graphics__$Canvas2DRenderContext_Canvas2DRenderContext_$Impl_$ = {}; $hxClasses["lime.graphics._Canvas2DRenderContext.Canvas2DRenderContext_Impl_"] = lime_graphics__$Canvas2DRenderContext_Canvas2DRenderContext_$Impl_$; lime_graphics__$Canvas2DRenderContext_Canvas2DRenderContext_$Impl_$.__name__ = ["lime","graphics","_Canvas2DRenderContext","Canvas2DRenderContext_Impl_"]; lime_graphics__$Canvas2DRenderContext_Canvas2DRenderContext_$Impl_$.fromRenderContext = function(context) { return context.canvas2D; }; var lime_graphics__$DOMRenderContext_DOMRenderContext_$Impl_$ = {}; $hxClasses["lime.graphics._DOMRenderContext.DOMRenderContext_Impl_"] = lime_graphics__$DOMRenderContext_DOMRenderContext_$Impl_$; lime_graphics__$DOMRenderContext_DOMRenderContext_$Impl_$.__name__ = ["lime","graphics","_DOMRenderContext","DOMRenderContext_Impl_"]; lime_graphics__$DOMRenderContext_DOMRenderContext_$Impl_$.fromRenderContext = function(context) { return context.dom; }; var lime_graphics__$FlashRenderContext_FlashRenderContext_$Impl_$ = {}; $hxClasses["lime.graphics._FlashRenderContext.FlashRenderContext_Impl_"] = lime_graphics__$FlashRenderContext_FlashRenderContext_$Impl_$; lime_graphics__$FlashRenderContext_FlashRenderContext_$Impl_$.__name__ = ["lime","graphics","_FlashRenderContext","FlashRenderContext_Impl_"]; lime_graphics__$FlashRenderContext_FlashRenderContext_$Impl_$.fromRenderContext = function(context) { return null; }; var lime_graphics_Image = function(buffer,offsetX,offsetY,width,height,color,type) { if(height == null) { height = -1; } if(width == null) { width = -1; } if(offsetY == null) { offsetY = 0; } if(offsetX == null) { offsetX = 0; } this.offsetX = offsetX; this.offsetY = offsetY; this.width = width; this.height = height; this.version = 0; if(type == null) { type = lime_graphics_ImageType.CANVAS; } this.type = type; if(buffer == null) { if(width > 0 && height > 0) { var _g = this.type; switch(_g[1]) { case 0: this.buffer = new lime_graphics_ImageBuffer(null,width,height); lime__$internal_graphics_ImageCanvasUtil.createCanvas(this,width,height); if(color != null && color != 0) { this.fillRect(new lime_math_Rectangle(0,0,width,height),color); } break; case 1: var elements = width * height * 4; var this1; if(elements != null) { this1 = new Uint8Array(elements); } else { this1 = null; } this.buffer = new lime_graphics_ImageBuffer(this1,width,height); if(color != null && color != 0) { this.fillRect(new lime_math_Rectangle(0,0,width,height),color); } break; case 2: break; default: } } } else { this.__fromImageBuffer(buffer); } }; $hxClasses["lime.graphics.Image"] = lime_graphics_Image; lime_graphics_Image.__name__ = ["lime","graphics","Image"]; lime_graphics_Image.__base64Encoder = null; lime_graphics_Image.fromBase64 = function(base64,type) { if(base64 == null) { return null; } var image = new lime_graphics_Image(); image.__fromBase64(base64,type); return image; }; lime_graphics_Image.fromBitmapData = function(bitmapData) { if(bitmapData == null) { return null; } return bitmapData.image; }; lime_graphics_Image.fromBytes = function(bytes) { if(bytes == null) { return null; } var image = new lime_graphics_Image(); if(image.__fromBytes(bytes)) { return image; } else { return null; } }; lime_graphics_Image.fromCanvas = function(canvas) { if(canvas == null) { return null; } var buffer = new lime_graphics_ImageBuffer(null,canvas.width,canvas.height); buffer.set_src(canvas); var image = new lime_graphics_Image(buffer); image.type = lime_graphics_ImageType.CANVAS; return image; }; lime_graphics_Image.fromFile = function(path) { if(path == null) { return null; } var image = new lime_graphics_Image(); if(image.__fromFile(path)) { return image; } else { return null; } }; lime_graphics_Image.fromImageElement = function(image) { if(image == null) { return null; } var buffer = new lime_graphics_ImageBuffer(null,image.width,image.height); buffer.set_src(image); var _image = new lime_graphics_Image(buffer); _image.type = lime_graphics_ImageType.CANVAS; return _image; }; lime_graphics_Image.loadFromBase64 = function(base64,type) { if(base64 == null || type == null) { return lime_app_Future.withValue(null); } return lime__$internal_backend_html5_HTML5HTTPRequest.loadImage("data:" + type + ";base64," + base64); }; lime_graphics_Image.loadFromBytes = function(bytes) { if(bytes == null) { return lime_app_Future.withValue(null); } var type = ""; if(lime_graphics_Image.__isPNG(bytes)) { type = "image/png"; } else if(lime_graphics_Image.__isJPG(bytes)) { type = "image/jpeg"; } else if(lime_graphics_Image.__isGIF(bytes)) { type = "image/gif"; } else if(lime_graphics_Image.__isWebP(bytes)) { type = "image/webp"; } else { return lime_app_Future.withValue(null); } return lime_graphics_Image.loadFromBase64(lime_graphics_Image.__base64Encode(bytes),type); }; lime_graphics_Image.loadFromFile = function(path) { if(path == null) { return lime_app_Future.withValue(null); } return lime__$internal_backend_html5_HTML5HTTPRequest.loadImage(path); }; lime_graphics_Image.__base64Encode = function(bytes) { var extension; var _g = bytes.length % 3; switch(_g) { case 1: extension = "=="; break; case 2: extension = "="; break; default: extension = ""; } if(lime_graphics_Image.__base64Encoder == null) { lime_graphics_Image.__base64Encoder = new haxe_crypto_BaseCode(haxe_io_Bytes.ofString(lime_graphics_Image.__base64Chars)); } return lime_graphics_Image.__base64Encoder.encodeBytes(bytes).toString() + extension; }; lime_graphics_Image.__isGIF = function(bytes) { if(bytes == null || bytes.length < 6) { return false; } var header = bytes.getString(0,6); if(header != "GIF87a") { return header == "GIF89a"; } else { return true; } }; lime_graphics_Image.__isJPG = function(bytes) { if(bytes == null || bytes.length < 4) { return false; } if(bytes.b[0] == 255 && bytes.b[1] == 216 && bytes.b[bytes.length - 2] == 255) { return bytes.b[bytes.length - 1] == 217; } else { return false; } }; lime_graphics_Image.__isPNG = function(bytes) { if(bytes == null || bytes.length < 8) { return false; } if(bytes.b[0] == 137 && bytes.b[1] == 80 && bytes.b[2] == 78 && bytes.b[3] == 71 && bytes.b[4] == 13 && bytes.b[5] == 10 && bytes.b[6] == 26) { return bytes.b[7] == 10; } else { return false; } }; lime_graphics_Image.__isWebP = function(bytes) { if(bytes == null || bytes.length < 16) { return false; } if(bytes.getString(0,4) == "RIFF") { return bytes.getString(8,4) == "WEBP"; } else { return false; } }; lime_graphics_Image.prototype = { buffer: null ,dirty: null ,height: null ,offsetX: null ,offsetY: null ,rect: null ,type: null ,version: null ,width: null ,x: null ,y: null ,clone: function() { if(this.buffer != null) { if(this.type == lime_graphics_ImageType.CANVAS) { lime__$internal_graphics_ImageCanvasUtil.convertToCanvas(this); } else { lime__$internal_graphics_ImageCanvasUtil.convertToData(this); } var image = new lime_graphics_Image(this.buffer.clone(),this.offsetX,this.offsetY,this.width,this.height,null,this.type); image.version = this.version; return image; } else { return new lime_graphics_Image(null,this.offsetX,this.offsetY,this.width,this.height,null,this.type); } } ,colorTransform: function(rect,colorMatrix) { rect = this.__clipRect(rect); if(this.buffer == null || rect == null) { return; } var _g = this.type; switch(_g[1]) { case 0: lime__$internal_graphics_ImageCanvasUtil.colorTransform(this,rect,colorMatrix); break; case 1: lime__$internal_graphics_ImageCanvasUtil.convertToData(this); lime__$internal_graphics_ImageDataUtil.colorTransform(this,rect,colorMatrix); break; case 2: rect.offset(this.offsetX,this.offsetY); this.buffer.__srcBitmapData.colorTransform(rect.__toFlashRectangle(),lime_math__$ColorMatrix_ColorMatrix_$Impl_$.__toFlashColorTransform(colorMatrix)); break; default: } } ,copyChannel: function(sourceImage,sourceRect,destPoint,sourceChannel,destChannel) { sourceRect = this.__clipRect(sourceRect); if(this.buffer == null || sourceRect == null) { return; } if(destChannel == lime_graphics_ImageChannel.ALPHA && !this.get_transparent()) { return; } if(sourceRect.width <= 0 || sourceRect.height <= 0) { return; } if(sourceRect.x + sourceRect.width > sourceImage.width) { sourceRect.width = sourceImage.width - sourceRect.x; } if(sourceRect.y + sourceRect.height > sourceImage.height) { sourceRect.height = sourceImage.height - sourceRect.y; } var _g = this.type; switch(_g[1]) { case 0: lime__$internal_graphics_ImageCanvasUtil.copyChannel(this,sourceImage,sourceRect,destPoint,sourceChannel,destChannel); break; case 1: lime__$internal_graphics_ImageCanvasUtil.convertToData(this); lime__$internal_graphics_ImageCanvasUtil.convertToData(sourceImage); lime__$internal_graphics_ImageDataUtil.copyChannel(this,sourceImage,sourceRect,destPoint,sourceChannel,destChannel); break; case 2: var srcChannel; switch(sourceChannel[1]) { case 0: srcChannel = 1; break; case 1: srcChannel = 2; break; case 2: srcChannel = 4; break; case 3: srcChannel = 8; break; } var dstChannel; switch(destChannel[1]) { case 0: dstChannel = 1; break; case 1: dstChannel = 2; break; case 2: dstChannel = 4; break; case 3: dstChannel = 8; break; } sourceRect.offset(sourceImage.offsetX,sourceImage.offsetY); destPoint.offset(this.offsetX,this.offsetY); this.buffer.__srcBitmapData.copyChannel(sourceImage.buffer.get_src(),sourceRect.__toFlashRectangle(),destPoint.__toFlashPoint(),srcChannel,dstChannel); break; default: } } ,copyPixels: function(sourceImage,sourceRect,destPoint,alphaImage,alphaPoint,mergeAlpha) { if(mergeAlpha == null) { mergeAlpha = false; } if(this.buffer == null || sourceImage == null) { return; } if(sourceRect.width <= 0 || sourceRect.height <= 0) { return; } if(this.width <= 0 || this.height <= 0) { return; } if(sourceRect.x + sourceRect.width > sourceImage.width) { sourceRect.width = sourceImage.width - sourceRect.x; } if(sourceRect.y + sourceRect.height > sourceImage.height) { sourceRect.height = sourceImage.height - sourceRect.y; } if(sourceRect.x < 0) { sourceRect.width += sourceRect.x; sourceRect.x = 0; } if(sourceRect.y < 0) { sourceRect.height += sourceRect.y; sourceRect.y = 0; } if(destPoint.x + sourceRect.width > this.width) { sourceRect.width = this.width - destPoint.x; } if(destPoint.y + sourceRect.height > this.height) { sourceRect.height = this.height - destPoint.y; } if(destPoint.x < 0) { sourceRect.width += destPoint.x; sourceRect.x -= destPoint.x; destPoint.x = 0; } if(destPoint.y < 0) { sourceRect.height += destPoint.y; sourceRect.y -= destPoint.y; destPoint.y = 0; } if(sourceImage == this && destPoint.x < sourceRect.get_right() && destPoint.y < sourceRect.get_bottom()) { sourceImage = this.clone(); } var _g = this.type; switch(_g[1]) { case 0: if(alphaImage != null || sourceImage.type != lime_graphics_ImageType.CANVAS) { lime__$internal_graphics_ImageCanvasUtil.convertToData(this); lime__$internal_graphics_ImageCanvasUtil.convertToData(sourceImage); if(alphaImage != null) { lime__$internal_graphics_ImageCanvasUtil.convertToData(alphaImage); } lime__$internal_graphics_ImageDataUtil.copyPixels(this,sourceImage,sourceRect,destPoint,alphaImage,alphaPoint,mergeAlpha); } else { lime__$internal_graphics_ImageCanvasUtil.convertToCanvas(this); lime__$internal_graphics_ImageCanvasUtil.convertToCanvas(sourceImage); lime__$internal_graphics_ImageCanvasUtil.copyPixels(this,sourceImage,sourceRect,destPoint,alphaImage,alphaPoint,mergeAlpha); } break; case 1: lime__$internal_graphics_ImageCanvasUtil.convertToData(this); lime__$internal_graphics_ImageCanvasUtil.convertToData(sourceImage); if(alphaImage != null) { lime__$internal_graphics_ImageCanvasUtil.convertToData(alphaImage); } lime__$internal_graphics_ImageDataUtil.copyPixels(this,sourceImage,sourceRect,destPoint,alphaImage,alphaPoint,mergeAlpha); break; case 2: sourceRect.offset(sourceImage.offsetX,sourceImage.offsetY); destPoint.offset(this.offsetX,this.offsetY); if(alphaImage != null && alphaPoint != null) { alphaPoint.offset(alphaImage.offsetX,alphaImage.offsetY); } this.buffer.__srcBitmapData.copyPixels(sourceImage.buffer.__srcBitmapData,sourceRect.__toFlashRectangle(),destPoint.__toFlashPoint(),alphaImage != null ? alphaImage.buffer.get_src() : null,alphaPoint != null ? alphaPoint.__toFlashPoint() : null,mergeAlpha); break; default: } } ,encode: function(format,quality) { if(quality == null) { quality = 90; } if(format == null) { return lime__$internal_format_PNG.encode(this); } else { switch(format[1]) { case 0: return lime__$internal_format_BMP.encode(this); case 1: return lime__$internal_format_JPEG.encode(this,quality); case 2: return lime__$internal_format_PNG.encode(this); } } } ,fillRect: function(rect,color,format) { rect = this.__clipRect(rect); if(this.buffer == null || rect == null) { return; } var _g = this.type; switch(_g[1]) { case 0: lime__$internal_graphics_ImageCanvasUtil.fillRect(this,rect,color,format); break; case 1: lime__$internal_graphics_ImageCanvasUtil.convertToData(this); if(this.buffer.data.length == 0) { return; } lime__$internal_graphics_ImageDataUtil.fillRect(this,rect,color,format); break; case 2: rect.offset(this.offsetX,this.offsetY); var argb; if(format == null) { var rgba = color; var this1 = 0; var argb1 = this1; argb1 = (rgba & 255 & 255) << 24 | (rgba >>> 24 & 255 & 255) << 16 | (rgba >>> 16 & 255 & 255) << 8 | rgba >>> 8 & 255 & 255; argb = argb1; } else { switch(format) { case 1: argb = color; break; case 2: var bgra = color; var this2 = 0; var argb2 = this2; argb2 = (bgra & 255 & 255) << 24 | (bgra >>> 8 & 255 & 255) << 16 | (bgra >>> 16 & 255 & 255) << 8 | bgra >>> 24 & 255 & 255; argb = argb2; break; default: var rgba1 = color; var this3 = 0; var argb3 = this3; argb3 = (rgba1 & 255 & 255) << 24 | (rgba1 >>> 24 & 255 & 255) << 16 | (rgba1 >>> 16 & 255 & 255) << 8 | rgba1 >>> 8 & 255 & 255; argb = argb3; } } this.buffer.__srcBitmapData.fillRect(rect.__toFlashRectangle(),argb); break; default: } } ,floodFill: function(x,y,color,format) { if(this.buffer == null) { return; } var _g = this.type; switch(_g[1]) { case 0: lime__$internal_graphics_ImageCanvasUtil.floodFill(this,x,y,color,format); break; case 1: lime__$internal_graphics_ImageCanvasUtil.convertToData(this); lime__$internal_graphics_ImageDataUtil.floodFill(this,x,y,color,format); break; case 2: var argb; if(format == null) { var rgba = color; var this1 = 0; var argb1 = this1; argb1 = (rgba & 255 & 255) << 24 | (rgba >>> 24 & 255 & 255) << 16 | (rgba >>> 16 & 255 & 255) << 8 | rgba >>> 8 & 255 & 255; argb = argb1; } else { switch(format) { case 1: argb = color; break; case 2: var bgra = color; var this2 = 0; var argb2 = this2; argb2 = (bgra & 255 & 255) << 24 | (bgra >>> 8 & 255 & 255) << 16 | (bgra >>> 16 & 255 & 255) << 8 | bgra >>> 24 & 255 & 255; argb = argb2; break; default: var rgba1 = color; var this3 = 0; var argb3 = this3; argb3 = (rgba1 & 255 & 255) << 24 | (rgba1 >>> 24 & 255 & 255) << 16 | (rgba1 >>> 16 & 255 & 255) << 8 | rgba1 >>> 8 & 255 & 255; argb = argb3; } } this.buffer.__srcBitmapData.floodFill(x + this.offsetX,y + this.offsetY,argb); break; default: } } ,getColorBoundsRect: function(mask,color,findColor,format) { if(findColor == null) { findColor = true; } if(this.buffer == null) { return null; } var _g = this.type; switch(_g[1]) { case 0: lime__$internal_graphics_ImageCanvasUtil.convertToData(this); return lime__$internal_graphics_ImageDataUtil.getColorBoundsRect(this,mask,color,findColor,format); case 1: return lime__$internal_graphics_ImageDataUtil.getColorBoundsRect(this,mask,color,findColor,format); case 2: var rect = this.buffer.__srcBitmapData.getColorBoundsRect(mask,color,findColor); return new lime_math_Rectangle(rect.x,rect.y,rect.width,rect.height); default: return null; } } ,getPixel: function(x,y,format) { if(this.buffer == null || x < 0 || y < 0 || x >= this.width || y >= this.height) { return 0; } var _g = this.type; switch(_g[1]) { case 0: return lime__$internal_graphics_ImageCanvasUtil.getPixel(this,x,y,format); case 1: lime__$internal_graphics_ImageCanvasUtil.convertToData(this); return lime__$internal_graphics_ImageDataUtil.getPixel(this,x,y,format); case 2: var color = this.buffer.__srcBitmapData.getPixel(x + this.offsetX,y + this.offsetY); if(format == null) { var this1 = 0; var rgba = this1; rgba = (color >>> 16 & 255 & 255) << 24 | (color >>> 8 & 255 & 255) << 16 | (color & 255 & 255) << 8 | color >>> 24 & 255 & 255; var rgba1 = rgba; return rgba1; } else { switch(format) { case 1: return color; case 2: var this2 = 0; var bgra = this2; bgra = (color & 255 & 255) << 24 | (color >>> 8 & 255 & 255) << 16 | (color >>> 16 & 255 & 255) << 8 | color >>> 24 & 255 & 255; var bgra1 = bgra; return bgra1; default: var this3 = 0; var rgba2 = this3; rgba2 = (color >>> 16 & 255 & 255) << 24 | (color >>> 8 & 255 & 255) << 16 | (color & 255 & 255) << 8 | color >>> 24 & 255 & 255; var rgba3 = rgba2; return rgba3; } } break; default: return 0; } } ,getPixel32: function(x,y,format) { if(this.buffer == null || x < 0 || y < 0 || x >= this.width || y >= this.height) { return 0; } var _g = this.type; switch(_g[1]) { case 0: return lime__$internal_graphics_ImageCanvasUtil.getPixel32(this,x,y,format); case 1: lime__$internal_graphics_ImageCanvasUtil.convertToData(this); return lime__$internal_graphics_ImageDataUtil.getPixel32(this,x,y,format); case 2: var color = this.buffer.__srcBitmapData.getPixel32(x + this.offsetX,y + this.offsetY); if(format == null) { var this1 = 0; var rgba = this1; rgba = (color >>> 16 & 255 & 255) << 24 | (color >>> 8 & 255 & 255) << 16 | (color & 255 & 255) << 8 | color >>> 24 & 255 & 255; var rgba1 = rgba; return rgba1; } else { switch(format) { case 1: return color; case 2: var this2 = 0; var bgra = this2; bgra = (color & 255 & 255) << 24 | (color >>> 8 & 255 & 255) << 16 | (color >>> 16 & 255 & 255) << 8 | color >>> 24 & 255 & 255; var bgra1 = bgra; return bgra1; default: var this3 = 0; var rgba2 = this3; rgba2 = (color >>> 16 & 255 & 255) << 24 | (color >>> 8 & 255 & 255) << 16 | (color & 255 & 255) << 8 | color >>> 24 & 255 & 255; var rgba3 = rgba2; return rgba3; } } break; default: return 0; } } ,getPixels: function(rect,format) { if(this.buffer == null) { return null; } var _g = this.type; switch(_g[1]) { case 0: return lime__$internal_graphics_ImageCanvasUtil.getPixels(this,rect,format); case 1: lime__$internal_graphics_ImageCanvasUtil.convertToData(this); return lime__$internal_graphics_ImageDataUtil.getPixels(this,rect,format); case 2: return null; default: return null; } } ,merge: function(sourceImage,sourceRect,destPoint,redMultiplier,greenMultiplier,blueMultiplier,alphaMultiplier) { if(this.buffer == null || sourceImage == null) { return; } var _g = this.type; switch(_g[1]) { case 0: lime__$internal_graphics_ImageCanvasUtil.convertToCanvas(this); lime__$internal_graphics_ImageCanvasUtil.merge(this,sourceImage,sourceRect,destPoint,redMultiplier,greenMultiplier,blueMultiplier,alphaMultiplier); break; case 1: lime__$internal_graphics_ImageCanvasUtil.convertToData(this); lime__$internal_graphics_ImageCanvasUtil.convertToData(sourceImage); lime__$internal_graphics_ImageDataUtil.merge(this,sourceImage,sourceRect,destPoint,redMultiplier,greenMultiplier,blueMultiplier,alphaMultiplier); break; case 2: sourceRect.offset(this.offsetX,this.offsetY); this.buffer.__srcBitmapData.merge(sourceImage.buffer.__srcBitmapData,sourceRect.__toFlashRectangle(),destPoint.__toFlashPoint(),redMultiplier,greenMultiplier,blueMultiplier,alphaMultiplier); break; default: return; } } ,resize: function(newWidth,newHeight) { var _g = this.type; switch(_g[1]) { case 0: lime__$internal_graphics_ImageCanvasUtil.resize(this,newWidth,newHeight); break; case 1: lime__$internal_graphics_ImageDataUtil.resize(this,newWidth,newHeight); break; case 2: break; default: } this.buffer.width = newWidth; this.buffer.height = newHeight; this.offsetX = 0; this.offsetY = 0; this.width = newWidth; this.height = newHeight; } ,scroll: function(x,y) { if(this.buffer == null) { return; } var _g = this.type; switch(_g[1]) { case 0: lime__$internal_graphics_ImageCanvasUtil.scroll(this,x,y); break; case 1: this.copyPixels(this,this.get_rect(),new lime_math_Vector2(x,y)); break; case 2: this.buffer.__srcBitmapData.scroll(x + this.offsetX,y + this.offsetX); break; default: } } ,setPixel: function(x,y,color,format) { if(this.buffer == null || x < 0 || y < 0 || x >= this.width || y >= this.height) { return; } var _g = this.type; switch(_g[1]) { case 0: lime__$internal_graphics_ImageCanvasUtil.setPixel(this,x,y,color,format); break; case 1: lime__$internal_graphics_ImageCanvasUtil.convertToData(this); lime__$internal_graphics_ImageDataUtil.setPixel(this,x,y,color,format); break; case 2: var argb; if(format == null) { var rgba = color; var this1 = 0; var argb1 = this1; argb1 = (rgba & 255 & 255) << 24 | (rgba >>> 24 & 255 & 255) << 16 | (rgba >>> 16 & 255 & 255) << 8 | rgba >>> 8 & 255 & 255; argb = argb1; } else { switch(format) { case 1: argb = color; break; case 2: var bgra = color; var this2 = 0; var argb2 = this2; argb2 = (bgra & 255 & 255) << 24 | (bgra >>> 8 & 255 & 255) << 16 | (bgra >>> 16 & 255 & 255) << 8 | bgra >>> 24 & 255 & 255; argb = argb2; break; default: var rgba1 = color; var this3 = 0; var argb3 = this3; argb3 = (rgba1 & 255 & 255) << 24 | (rgba1 >>> 24 & 255 & 255) << 16 | (rgba1 >>> 16 & 255 & 255) << 8 | rgba1 >>> 8 & 255 & 255; argb = argb3; } } this.buffer.__srcBitmapData.setPixel(x + this.offsetX,y + this.offsetX,argb); break; default: } } ,setPixel32: function(x,y,color,format) { if(this.buffer == null || x < 0 || y < 0 || x >= this.width || y >= this.height) { return; } var _g = this.type; switch(_g[1]) { case 0: lime__$internal_graphics_ImageCanvasUtil.setPixel32(this,x,y,color,format); break; case 1: lime__$internal_graphics_ImageCanvasUtil.convertToData(this); lime__$internal_graphics_ImageDataUtil.setPixel32(this,x,y,color,format); break; case 2: var argb; if(format == null) { var rgba = color; var this1 = 0; var argb1 = this1; argb1 = (rgba & 255 & 255) << 24 | (rgba >>> 24 & 255 & 255) << 16 | (rgba >>> 16 & 255 & 255) << 8 | rgba >>> 8 & 255 & 255; argb = argb1; } else { switch(format) { case 1: argb = color; break; case 2: var bgra = color; var this2 = 0; var argb2 = this2; argb2 = (bgra & 255 & 255) << 24 | (bgra >>> 8 & 255 & 255) << 16 | (bgra >>> 16 & 255 & 255) << 8 | bgra >>> 24 & 255 & 255; argb = argb2; break; default: var rgba1 = color; var this3 = 0; var argb3 = this3; argb3 = (rgba1 & 255 & 255) << 24 | (rgba1 >>> 24 & 255 & 255) << 16 | (rgba1 >>> 16 & 255 & 255) << 8 | rgba1 >>> 8 & 255 & 255; argb = argb3; } } this.buffer.__srcBitmapData.setPixel32(x + this.offsetX,y + this.offsetY,argb); break; default: } } ,setPixels: function(rect,bytePointer,format,endian) { rect = this.__clipRect(rect); if(this.buffer == null || rect == null) { return; } if(endian == null) { endian = lime_system_Endian.BIG_ENDIAN; } var _g = this.type; switch(_g[1]) { case 0: lime__$internal_graphics_ImageCanvasUtil.setPixels(this,rect,bytePointer,format,endian); break; case 1: lime__$internal_graphics_ImageCanvasUtil.convertToData(this); lime__$internal_graphics_ImageDataUtil.setPixels(this,rect,bytePointer,format,endian); break; case 2: break; default: } } ,threshold: function(sourceImage,sourceRect,destPoint,operation,threshold,color,mask,copySource,format) { if(copySource == null) { copySource = false; } if(mask == null) { mask = -1; } if(color == null) { color = 0; } if(this.buffer == null || sourceImage == null || sourceRect == null) { return 0; } var _g = this.type; switch(_g[1]) { case 0:case 1: lime__$internal_graphics_ImageCanvasUtil.convertToData(this); lime__$internal_graphics_ImageCanvasUtil.convertToData(sourceImage); return lime__$internal_graphics_ImageDataUtil.threshold(this,sourceImage,sourceRect,destPoint,operation,threshold,color,mask,copySource,format); case 2: var _color; if(format == null) { var rgba = color; var this1 = 0; var argb = this1; argb = (rgba & 255 & 255) << 24 | (rgba >>> 24 & 255 & 255) << 16 | (rgba >>> 16 & 255 & 255) << 8 | rgba >>> 8 & 255 & 255; _color = argb; } else { switch(format) { case 1: _color = color; break; case 2: var bgra = color; var this2 = 0; var argb1 = this2; argb1 = (bgra & 255 & 255) << 24 | (bgra >>> 8 & 255 & 255) << 16 | (bgra >>> 16 & 255 & 255) << 8 | bgra >>> 24 & 255 & 255; _color = argb1; break; default: var rgba1 = color; var this3 = 0; var argb2 = this3; argb2 = (rgba1 & 255 & 255) << 24 | (rgba1 >>> 24 & 255 & 255) << 16 | (rgba1 >>> 16 & 255 & 255) << 8 | rgba1 >>> 8 & 255 & 255; _color = argb2; } } var _mask; if(format == null) { var rgba2 = mask; var this4 = 0; var argb3 = this4; argb3 = (rgba2 & 255 & 255) << 24 | (rgba2 >>> 24 & 255 & 255) << 16 | (rgba2 >>> 16 & 255 & 255) << 8 | rgba2 >>> 8 & 255 & 255; _mask = argb3; } else { switch(format) { case 1: _mask = mask; break; case 2: var bgra1 = mask; var this5 = 0; var argb4 = this5; argb4 = (bgra1 & 255 & 255) << 24 | (bgra1 >>> 8 & 255 & 255) << 16 | (bgra1 >>> 16 & 255 & 255) << 8 | bgra1 >>> 24 & 255 & 255; _mask = argb4; break; default: var rgba3 = mask; var this6 = 0; var argb5 = this6; argb5 = (rgba3 & 255 & 255) << 24 | (rgba3 >>> 24 & 255 & 255) << 16 | (rgba3 >>> 16 & 255 & 255) << 8 | rgba3 >>> 8 & 255 & 255; _mask = argb5; } } sourceRect.offset(sourceImage.offsetX,sourceImage.offsetY); destPoint.offset(this.offsetX,this.offsetY); return this.buffer.__srcBitmapData.threshold(sourceImage.buffer.get_src(),sourceRect.__toFlashRectangle(),destPoint.__toFlashPoint(),operation,threshold,_color,_mask,copySource); default: } return 0; } ,__clipRect: function(r) { if(r == null) { return null; } if(r.x < 0) { r.width -= -r.x; r.x = 0; if(r.x + r.width <= 0) { return null; } } if(r.y < 0) { r.height -= -r.y; r.y = 0; if(r.y + r.height <= 0) { return null; } } if(r.x + r.width >= this.width) { r.width -= r.x + r.width - this.width; if(r.width <= 0) { return null; } } if(r.y + r.height >= this.height) { r.height -= r.y + r.height - this.height; if(r.height <= 0) { return null; } } return r; } ,__fromBase64: function(base64,type,onload) { var _gthis = this; var image = new Image(); var image_onLoaded = function(event) { _gthis.buffer = new lime_graphics_ImageBuffer(null,image.width,image.height); _gthis.buffer.__srcImage = image; _gthis.offsetX = 0; _gthis.offsetY = 0; _gthis.width = _gthis.buffer.width; _gthis.height = _gthis.buffer.height; if(onload != null) { onload(_gthis); } }; image.addEventListener("load",image_onLoaded,false); image.src = "data:" + type + ";base64," + base64; } ,__fromBytes: function(bytes,onload) { var type = ""; if(lime_graphics_Image.__isPNG(bytes)) { type = "image/png"; } else if(lime_graphics_Image.__isJPG(bytes)) { type = "image/jpeg"; } else if(lime_graphics_Image.__isGIF(bytes)) { type = "image/gif"; } else { return false; } this.__fromBase64(lime_graphics_Image.__base64Encode(bytes),type,onload); return true; } ,__fromFile: function(path,onload,onerror) { var _gthis = this; var image = new Image(); if(!lime__$internal_backend_html5_HTML5HTTPRequest.__isSameOrigin(path)) { image.crossOrigin = "Anonymous"; } image.onload = function(_) { _gthis.buffer = new lime_graphics_ImageBuffer(null,image.width,image.height); _gthis.buffer.__srcImage = image; _gthis.width = image.width; _gthis.height = image.height; if(onload != null) { onload(_gthis); } }; image.onerror = function(_1) { if(onerror != null) { onerror(); } }; image.src = path; var image1 = image.complete; return true; } ,__fromImageBuffer: function(buffer) { this.buffer = buffer; if(buffer != null) { if(this.width == -1) { this.width = buffer.width; } if(this.height == -1) { this.height = buffer.height; } } } ,get_data: function() { if(this.buffer.data == null && this.buffer.width > 0 && this.buffer.height > 0) { lime__$internal_graphics_ImageCanvasUtil.convertToData(this); } return this.buffer.data; } ,set_data: function(value) { return this.buffer.data = value; } ,get_format: function() { return this.buffer.format; } ,set_format: function(value) { if(this.buffer.format != value) { var _g = this.type; if(_g[1] == 1) { lime__$internal_graphics_ImageDataUtil.setFormat(this,value); } } return this.buffer.format = value; } ,get_powerOfTwo: function() { if(this.buffer.width != 0 && (this.buffer.width & ~this.buffer.width + 1) == this.buffer.width) { if(this.buffer.height != 0) { return (this.buffer.height & ~this.buffer.height + 1) == this.buffer.height; } else { return false; } } else { return false; } } ,set_powerOfTwo: function(value) { if(value != this.get_powerOfTwo()) { var newWidth = 1; var newHeight = 1; while(newWidth < this.buffer.width) newWidth <<= 1; while(newHeight < this.buffer.height) newHeight <<= 1; if(newWidth == this.buffer.width && newHeight == this.buffer.height) { return value; } var _g = this.type; switch(_g[1]) { case 0: lime__$internal_graphics_ImageCanvasUtil.convertToData(this); lime__$internal_graphics_ImageDataUtil.resizeBuffer(this,newWidth,newHeight); break; case 1: lime__$internal_graphics_ImageDataUtil.resizeBuffer(this,newWidth,newHeight); break; case 2: break; default: } } return value; } ,get_premultiplied: function() { return this.buffer.premultiplied; } ,set_premultiplied: function(value) { if(value && !this.buffer.premultiplied) { var _g = this.type; switch(_g[1]) { case 0:case 1: lime__$internal_graphics_ImageCanvasUtil.convertToData(this); lime__$internal_graphics_ImageDataUtil.multiplyAlpha(this); break; default: } } else if(!value && this.buffer.premultiplied) { var _g1 = this.type; if(_g1[1] == 1) { lime__$internal_graphics_ImageCanvasUtil.convertToData(this); lime__$internal_graphics_ImageDataUtil.unmultiplyAlpha(this); } } return value; } ,get_rect: function() { return new lime_math_Rectangle(0,0,this.width,this.height); } ,get_src: function() { if(this.buffer.__srcCanvas == null && (this.buffer.data != null || this.type == lime_graphics_ImageType.DATA)) { lime__$internal_graphics_ImageCanvasUtil.convertToCanvas(this); } return this.buffer.get_src(); } ,set_src: function(value) { return this.buffer.set_src(value); } ,get_transparent: function() { if(this.buffer == null) { return false; } return this.buffer.transparent; } ,set_transparent: function(value) { if(this.buffer == null) { return false; } return this.buffer.transparent = value; } ,__class__: lime_graphics_Image ,__properties__: {set_transparent:"set_transparent",get_transparent:"get_transparent",set_src:"set_src",get_src:"get_src",get_rect:"get_rect",set_premultiplied:"set_premultiplied",get_premultiplied:"get_premultiplied",set_powerOfTwo:"set_powerOfTwo",get_powerOfTwo:"get_powerOfTwo",set_format:"set_format",get_format:"get_format",set_data:"set_data",get_data:"get_data"} }; var lime_graphics_ImageBuffer = function(data,width,height,bitsPerPixel,format) { if(bitsPerPixel == null) { bitsPerPixel = 32; } if(height == null) { height = 0; } if(width == null) { width = 0; } this.data = data; this.width = width; this.height = height; this.bitsPerPixel = bitsPerPixel; this.format = format == null ? 0 : format; this.premultiplied = false; this.transparent = true; }; $hxClasses["lime.graphics.ImageBuffer"] = lime_graphics_ImageBuffer; lime_graphics_ImageBuffer.__name__ = ["lime","graphics","ImageBuffer"]; lime_graphics_ImageBuffer.prototype = { bitsPerPixel: null ,data: null ,format: null ,height: null ,premultiplied: null ,transparent: null ,width: null ,__srcBitmapData: null ,__srcCanvas: null ,__srcContext: null ,__srcCustom: null ,__srcImage: null ,__srcImageData: null ,clone: function() { var buffer = new lime_graphics_ImageBuffer(this.data,this.width,this.height,this.bitsPerPixel); if(this.data != null) { var elements = this.data.byteLength; var this1; if(elements != null) { this1 = new Uint8Array(elements); } else { this1 = null; } buffer.data = this1; var view = this.data; var this2; if(view != null) { this2 = new Uint8Array(view); } else { this2 = null; } var copy = this2; buffer.data.set(copy); } else if(this.__srcImageData != null) { buffer.__srcCanvas = window.document.createElement("canvas"); buffer.__srcContext = buffer.__srcCanvas.getContext("2d"); buffer.__srcCanvas.width = this.__srcImageData.width; buffer.__srcCanvas.height = this.__srcImageData.height; buffer.__srcImageData = buffer.__srcContext.createImageData(this.__srcImageData.width,this.__srcImageData.height); var copy1 = new Uint8ClampedArray(this.__srcImageData.data); buffer.__srcImageData.data.set(copy1); } else if(this.__srcCanvas != null) { buffer.__srcCanvas = window.document.createElement("canvas"); buffer.__srcContext = buffer.__srcCanvas.getContext("2d"); buffer.__srcCanvas.width = this.__srcCanvas.width; buffer.__srcCanvas.height = this.__srcCanvas.height; buffer.__srcContext.drawImage(this.__srcCanvas,0,0); } else { buffer.__srcImage = this.__srcImage; } buffer.bitsPerPixel = this.bitsPerPixel; buffer.format = this.format; buffer.premultiplied = this.premultiplied; buffer.transparent = this.transparent; return buffer; } ,get_src: function() { if(this.__srcImage != null) { return this.__srcImage; } return this.__srcCanvas; } ,set_src: function(value) { if(js_Boot.__instanceof(value,Image)) { this.__srcImage = value; } else if(js_Boot.__instanceof(value,HTMLCanvasElement)) { this.__srcCanvas = value; this.__srcContext = this.__srcCanvas.getContext("2d"); } return value; } ,get_stride: function() { return this.width * 4; } ,__class__: lime_graphics_ImageBuffer ,__properties__: {get_stride:"get_stride",set_src:"set_src",get_src:"get_src"} }; var lime_graphics_ImageChannel = $hxClasses["lime.graphics.ImageChannel"] = { __ename__ : ["lime","graphics","ImageChannel"], __constructs__ : ["RED","GREEN","BLUE","ALPHA"] }; lime_graphics_ImageChannel.RED = ["RED",0]; lime_graphics_ImageChannel.RED.toString = $estr; lime_graphics_ImageChannel.RED.__enum__ = lime_graphics_ImageChannel; lime_graphics_ImageChannel.GREEN = ["GREEN",1]; lime_graphics_ImageChannel.GREEN.toString = $estr; lime_graphics_ImageChannel.GREEN.__enum__ = lime_graphics_ImageChannel; lime_graphics_ImageChannel.BLUE = ["BLUE",2]; lime_graphics_ImageChannel.BLUE.toString = $estr; lime_graphics_ImageChannel.BLUE.__enum__ = lime_graphics_ImageChannel; lime_graphics_ImageChannel.ALPHA = ["ALPHA",3]; lime_graphics_ImageChannel.ALPHA.toString = $estr; lime_graphics_ImageChannel.ALPHA.__enum__ = lime_graphics_ImageChannel; var lime_graphics_ImageFileFormat = $hxClasses["lime.graphics.ImageFileFormat"] = { __ename__ : ["lime","graphics","ImageFileFormat"], __constructs__ : ["BMP","JPEG","PNG"] }; lime_graphics_ImageFileFormat.BMP = ["BMP",0]; lime_graphics_ImageFileFormat.BMP.toString = $estr; lime_graphics_ImageFileFormat.BMP.__enum__ = lime_graphics_ImageFileFormat; lime_graphics_ImageFileFormat.JPEG = ["JPEG",1]; lime_graphics_ImageFileFormat.JPEG.toString = $estr; lime_graphics_ImageFileFormat.JPEG.__enum__ = lime_graphics_ImageFileFormat; lime_graphics_ImageFileFormat.PNG = ["PNG",2]; lime_graphics_ImageFileFormat.PNG.toString = $estr; lime_graphics_ImageFileFormat.PNG.__enum__ = lime_graphics_ImageFileFormat; var lime_graphics_ImageType = $hxClasses["lime.graphics.ImageType"] = { __ename__ : ["lime","graphics","ImageType"], __constructs__ : ["CANVAS","DATA","FLASH","CUSTOM"] }; lime_graphics_ImageType.CANVAS = ["CANVAS",0]; lime_graphics_ImageType.CANVAS.toString = $estr; lime_graphics_ImageType.CANVAS.__enum__ = lime_graphics_ImageType; lime_graphics_ImageType.DATA = ["DATA",1]; lime_graphics_ImageType.DATA.toString = $estr; lime_graphics_ImageType.DATA.__enum__ = lime_graphics_ImageType; lime_graphics_ImageType.FLASH = ["FLASH",2]; lime_graphics_ImageType.FLASH.toString = $estr; lime_graphics_ImageType.FLASH.__enum__ = lime_graphics_ImageType; lime_graphics_ImageType.CUSTOM = ["CUSTOM",3]; lime_graphics_ImageType.CUSTOM.toString = $estr; lime_graphics_ImageType.CUSTOM.__enum__ = lime_graphics_ImageType; var lime_graphics__$OpenGLES2RenderContext_OpenGLES2RenderContext_$Impl_$ = {}; $hxClasses["lime.graphics._OpenGLES2RenderContext.OpenGLES2RenderContext_Impl_"] = lime_graphics__$OpenGLES2RenderContext_OpenGLES2RenderContext_$Impl_$; lime_graphics__$OpenGLES2RenderContext_OpenGLES2RenderContext_$Impl_$.__name__ = ["lime","graphics","_OpenGLES2RenderContext","OpenGLES2RenderContext_Impl_"]; lime_graphics__$OpenGLES2RenderContext_OpenGLES2RenderContext_$Impl_$.fromGL = function(gl) { return null; }; lime_graphics__$OpenGLES2RenderContext_OpenGLES2RenderContext_$Impl_$.fromOpenGLES3RenderContext = function(gl) { return null; }; lime_graphics__$OpenGLES2RenderContext_OpenGLES2RenderContext_$Impl_$.fromRenderContext = function(context) { return null; }; lime_graphics__$OpenGLES2RenderContext_OpenGLES2RenderContext_$Impl_$.fromWebGLRenderContext = function(gl) { return null; }; var lime_graphics__$OpenGLES3RenderContext_OpenGLES3RenderContext_$Impl_$ = {}; $hxClasses["lime.graphics._OpenGLES3RenderContext.OpenGLES3RenderContext_Impl_"] = lime_graphics__$OpenGLES3RenderContext_OpenGLES3RenderContext_$Impl_$; lime_graphics__$OpenGLES3RenderContext_OpenGLES3RenderContext_$Impl_$.__name__ = ["lime","graphics","_OpenGLES3RenderContext","OpenGLES3RenderContext_Impl_"]; lime_graphics__$OpenGLES3RenderContext_OpenGLES3RenderContext_$Impl_$.fromRenderContext = function(context) { return null; }; lime_graphics__$OpenGLES3RenderContext_OpenGLES3RenderContext_$Impl_$.fromGL = function(gl) { return null; }; lime_graphics__$OpenGLES3RenderContext_OpenGLES3RenderContext_$Impl_$.fromOpenGLES2RenderContext = function(context) { return null; }; lime_graphics__$OpenGLES3RenderContext_OpenGLES3RenderContext_$Impl_$.fromWebGLRenderContext = function(context) { return null; }; lime_graphics__$OpenGLES3RenderContext_OpenGLES3RenderContext_$Impl_$.fromWebGL2RenderContext = function(context) { return null; }; var lime_graphics__$OpenGLRenderContext_OpenGLRenderContext_$Impl_$ = {}; $hxClasses["lime.graphics._OpenGLRenderContext.OpenGLRenderContext_Impl_"] = lime_graphics__$OpenGLRenderContext_OpenGLRenderContext_$Impl_$; lime_graphics__$OpenGLRenderContext_OpenGLRenderContext_$Impl_$.__name__ = ["lime","graphics","_OpenGLRenderContext","OpenGLRenderContext_Impl_"]; lime_graphics__$OpenGLRenderContext_OpenGLRenderContext_$Impl_$.fromRenderContext = function(context) { return null; }; var lime_graphics_RenderContext = function() { }; $hxClasses["lime.graphics.RenderContext"] = lime_graphics_RenderContext; lime_graphics_RenderContext.__name__ = ["lime","graphics","RenderContext"]; lime_graphics_RenderContext.prototype = { attributes: null ,cairo: null ,canvas2D: null ,dom: null ,flash: null ,gl: null ,gles2: null ,gles3: null ,type: null ,version: null ,webgl: null ,webgl2: null ,window: null ,__class__: lime_graphics_RenderContext }; var lime_graphics__$WebGL2RenderContext_WebGL2RenderContext_$Impl_$ = {}; $hxClasses["lime.graphics._WebGL2RenderContext.WebGL2RenderContext_Impl_"] = lime_graphics__$WebGL2RenderContext_WebGL2RenderContext_$Impl_$; lime_graphics__$WebGL2RenderContext_WebGL2RenderContext_$Impl_$.__name__ = ["lime","graphics","_WebGL2RenderContext","WebGL2RenderContext_Impl_"]; lime_graphics__$WebGL2RenderContext_WebGL2RenderContext_$Impl_$.bufferData = function(this1,target,srcData,usage,srcOffset,length) { if(srcOffset != null) { this1.bufferData(target,srcData,usage,srcOffset,length); } else { this1.bufferData(target,srcData,usage); } }; lime_graphics__$WebGL2RenderContext_WebGL2RenderContext_$Impl_$.bufferSubData = function(this1,target,dstByteOffset,srcData,srcOffset,length) { if(srcOffset != null) { this1.bufferSubData(target,dstByteOffset,srcData,srcOffset,length); } else { this1.bufferSubData(target,dstByteOffset,srcData); } }; lime_graphics__$WebGL2RenderContext_WebGL2RenderContext_$Impl_$.compressedTexImage2D = function(this1,target,level,internalformat,width,height,border,srcData,srcOffset,srcLengthOverride) { if(srcOffset != null) { this1.compressedTexImage2D(target,level,internalformat,width,height,border,srcData,srcOffset,srcLengthOverride); } else { this1.compressedTexImage2D(target,level,internalformat,width,height,border,srcData); } }; lime_graphics__$WebGL2RenderContext_WebGL2RenderContext_$Impl_$.compressedTexSubImage2D = function(this1,target,level,xoffset,yoffset,width,height,format,srcData,srcOffset,srcLengthOverride) { if(srcOffset != null) { this1.compressedTexSubImage2D(target,level,xoffset,yoffset,width,height,format,srcData,srcOffset,srcLengthOverride); } else { this1.compressedTexSubImage2D(target,level,xoffset,yoffset,width,height,format,srcData); } }; lime_graphics__$WebGL2RenderContext_WebGL2RenderContext_$Impl_$.getBufferSubData = function(this1,target,srcByteOffset,dstData,srcOffset,length) { if(srcOffset != null) { this1.getBufferSubData(target,srcByteOffset,dstData,srcOffset,length); } else { this1.getBufferSubData(target,srcByteOffset,dstData); } }; lime_graphics__$WebGL2RenderContext_WebGL2RenderContext_$Impl_$.readPixels = function(this1,x,y,width,height,format,type,pixels,dstOffset) { if(dstOffset != null) { this1.readPixels(x,y,width,height,format,type,pixels,dstOffset); } else { this1.readPixels(x,y,width,height,format,type,pixels); } }; lime_graphics__$WebGL2RenderContext_WebGL2RenderContext_$Impl_$.texImage2D = function(this1,target,level,internalformat,width,height,border,format,type,srcData,srcOffset) { if(srcOffset != null) { this1.texImage2D(target,level,internalformat,width,height,border,format,type,srcData,srcOffset); } else if(format != null) { this1.texImage2D(target,level,internalformat,width,height,border,format,type,srcData); } else { this1.texImage2D(target,level,internalformat,width,height,border); } }; lime_graphics__$WebGL2RenderContext_WebGL2RenderContext_$Impl_$.texSubImage2D = function(this1,target,level,xoffset,yoffset,width,height,format,type,srcData,srcOffset) { if(srcOffset != null) { this1.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,srcData,srcOffset); } else if(type != null) { this1.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,srcData); } else { this1.texSubImage2D(target,level,xoffset,yoffset,width,height,format); } }; lime_graphics__$WebGL2RenderContext_WebGL2RenderContext_$Impl_$.uniform1fv = function(this1,location,data,srcOffset,srcLength) { if(srcOffset != null) { this1.uniform1fv(location,data,srcOffset,srcLength); } else { this1.uniform1fv(location,data); } }; lime_graphics__$WebGL2RenderContext_WebGL2RenderContext_$Impl_$.uniform1iv = function(this1,location,data,srcOffset,srcLength) { if(srcOffset != null) { this1.uniform1iv(location,data,srcOffset,srcLength); } else { this1.uniform1iv(location,data); } }; lime_graphics__$WebGL2RenderContext_WebGL2RenderContext_$Impl_$.uniform2fv = function(this1,location,data,srcOffset,srcLength) { if(srcOffset != null) { this1.uniform2fv(location,data,srcOffset,srcLength); } else { this1.uniform2fv(location,data); } }; lime_graphics__$WebGL2RenderContext_WebGL2RenderContext_$Impl_$.uniform2iv = function(this1,location,data,srcOffset,srcLength) { if(srcOffset != null) { this1.uniform2iv(location,data,srcOffset,srcLength); } else { this1.uniform2iv(location,data); } }; lime_graphics__$WebGL2RenderContext_WebGL2RenderContext_$Impl_$.uniform3fv = function(this1,location,data,srcOffset,srcLength) { if(srcOffset != null) { this1.uniform3fv(location,data,srcOffset,srcLength); } else { this1.uniform3fv(location,data); } }; lime_graphics__$WebGL2RenderContext_WebGL2RenderContext_$Impl_$.uniform3iv = function(this1,location,data,srcOffset,srcLength) { if(srcOffset != null) { this1.uniform3iv(location,data,srcOffset,srcLength); } else { this1.uniform3iv(location,data); } }; lime_graphics__$WebGL2RenderContext_WebGL2RenderContext_$Impl_$.uniform4fv = function(this1,location,data,srcOffset,srcLength) { if(srcOffset != null) { this1.uniform4fv(location,data,srcOffset,srcLength); } else { this1.uniform4fv(location,data); } }; lime_graphics__$WebGL2RenderContext_WebGL2RenderContext_$Impl_$.uniform4iv = function(this1,location,data,srcOffset,srcLength) { if(srcOffset != null) { this1.uniform4iv(location,data,srcOffset,srcLength); } else { this1.uniform4iv(location,data); } }; lime_graphics__$WebGL2RenderContext_WebGL2RenderContext_$Impl_$.uniformMatrix2fv = function(this1,location,transpose,data,srcOffset,srcLength) { if(srcOffset != null) { this1.uniformMatrix2fv(location,transpose,data,srcOffset,srcLength); } else { this1.uniformMatrix2fv(location,transpose,data); } }; lime_graphics__$WebGL2RenderContext_WebGL2RenderContext_$Impl_$.uniformMatrix3fv = function(this1,location,transpose,data,srcOffset,srcLength) { if(srcOffset != null) { this1.uniformMatrix3fv(location,transpose,data,srcOffset,srcLength); } else { this1.uniformMatrix3fv(location,transpose,data); } }; lime_graphics__$WebGL2RenderContext_WebGL2RenderContext_$Impl_$.uniformMatrix4fv = function(this1,location,transpose,data,srcOffset,srcLength) { if(srcOffset != null) { this1.uniformMatrix4fv(location,transpose,data,srcOffset,srcLength); } else { this1.uniformMatrix4fv(location,transpose,data); } }; lime_graphics__$WebGL2RenderContext_WebGL2RenderContext_$Impl_$.fromGL = function(gl) { return null; }; lime_graphics__$WebGL2RenderContext_WebGL2RenderContext_$Impl_$.fromRenderContext = function(context) { return context.webgl2; }; lime_graphics__$WebGL2RenderContext_WebGL2RenderContext_$Impl_$.toWebGLRenderContext = function(gl) { return gl; }; var lime_graphics__$WebGLRenderContext_WebGLRenderContext_$Impl_$ = {}; $hxClasses["lime.graphics._WebGLRenderContext.WebGLRenderContext_Impl_"] = lime_graphics__$WebGLRenderContext_WebGLRenderContext_$Impl_$; lime_graphics__$WebGLRenderContext_WebGLRenderContext_$Impl_$.__name__ = ["lime","graphics","_WebGLRenderContext","WebGLRenderContext_Impl_"]; lime_graphics__$WebGLRenderContext_WebGLRenderContext_$Impl_$.bufferData = function(this1,target,srcData,usage) { this1.bufferData(target,srcData,usage); }; lime_graphics__$WebGLRenderContext_WebGLRenderContext_$Impl_$.bufferSubData = function(this1,target,offset,srcData) { this1.bufferSubData(target,offset,srcData); }; lime_graphics__$WebGLRenderContext_WebGLRenderContext_$Impl_$.compressedTexImage2D = function(this1,target,level,internalformat,width,height,border,srcData) { this1.compressedTexImage2D(target,level,internalformat,width,height,border,srcData); }; lime_graphics__$WebGLRenderContext_WebGLRenderContext_$Impl_$.compressedTexSubImage2D = function(this1,target,level,xoffset,yoffset,width,height,format,srcData) { this1.compressedTexSubImage2D(target,level,xoffset,yoffset,width,height,format,srcData); }; lime_graphics__$WebGLRenderContext_WebGLRenderContext_$Impl_$.readPixels = function(this1,x,y,width,height,format,type,pixels) { this1.readPixels(x,y,width,height,format,type,pixels); }; lime_graphics__$WebGLRenderContext_WebGLRenderContext_$Impl_$.texImage2D = function(this1,target,level,internalformat,width,height,border,format,type,srcData) { if(format != null) { this1.texImage2D(target,level,internalformat,width,height,border,format,type,srcData); } else { this1.texImage2D(target,level,internalformat,width,height,border); } }; lime_graphics__$WebGLRenderContext_WebGLRenderContext_$Impl_$.texSubImage2D = function(this1,target,level,xoffset,yoffset,width,height,format,type,srcData) { if(type != null) { this1.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,srcData); } else { this1.texSubImage2D(target,level,xoffset,yoffset,width,height,format); } }; lime_graphics__$WebGLRenderContext_WebGLRenderContext_$Impl_$.uniformMatrix2fv = function(this1,location,transpose,v) { this1.uniformMatrix2fv(location,transpose,v); }; lime_graphics__$WebGLRenderContext_WebGLRenderContext_$Impl_$.uniformMatrix3fv = function(this1,location,transpose,v) { this1.uniformMatrix3fv(location,transpose,v); }; lime_graphics__$WebGLRenderContext_WebGLRenderContext_$Impl_$.uniformMatrix4fv = function(this1,location,transpose,v) { this1.uniformMatrix4fv(location,transpose,v); }; lime_graphics__$WebGLRenderContext_WebGLRenderContext_$Impl_$.fromWebGL2RenderContext = function(gl) { return gl; }; lime_graphics__$WebGLRenderContext_WebGLRenderContext_$Impl_$.fromRenderContext = function(context) { return context.webgl; }; lime_graphics__$WebGLRenderContext_WebGLRenderContext_$Impl_$.fromGL = function(gl) { return lime_graphics_opengl_GL.context; }; var lime_graphics_cairo_Cairo = function(surface) { var tmp = surface != null; }; $hxClasses["lime.graphics.cairo.Cairo"] = lime_graphics_cairo_Cairo; lime_graphics_cairo_Cairo.__name__ = ["lime","graphics","cairo","Cairo"]; lime_graphics_cairo_Cairo.__properties__ = {get_versionString:"get_versionString",get_version:"get_version"}; lime_graphics_cairo_Cairo.version = null; lime_graphics_cairo_Cairo.versionString = null; lime_graphics_cairo_Cairo.get_version = function() { return 0; }; lime_graphics_cairo_Cairo.get_versionString = function() { return ""; }; lime_graphics_cairo_Cairo.prototype = { target: null ,userData: null ,handle: null ,arc: function(xc,yc,radius,angle1,angle2) { } ,arcNegative: function(xc,yc,radius,angle1,angle2) { } ,clip: function() { } ,clipExtents: function(x1,y1,x2,y2) { } ,clipPreserve: function() { } ,closePath: function() { } ,copyPage: function() { } ,curveTo: function(x1,y1,x2,y2,x3,y3) { } ,fill: function() { } ,fillExtents: function(x1,y1,x2,y2) { } ,fillPreserve: function() { } ,getOperator: function() { return 0; } ,identityMatrix: function() { } ,inClip: function(x,y) { return false; } ,inFill: function(x,y) { return false; } ,inStroke: function(x,y) { return false; } ,lineTo: function(x,y) { } ,mask: function(pattern) { } ,maskSurface: function(surface,x,y) { } ,moveTo: function(x,y) { } ,newPath: function() { } ,paint: function() { } ,paintWithAlpha: function(alpha) { } ,popGroup: function() { return null; } ,popGroupToSource: function() { } ,pushGroup: function() { } ,pushGroupWithContent: function(content) { } ,recreate: function(surface) { } ,rectangle: function(x,y,width,height) { } ,relCurveTo: function(dx1,dy1,dx2,dy2,dx3,dy3) { } ,relLineTo: function(dx,dy) { } ,relMoveTo: function(dx,dy) { } ,resetClip: function() { } ,restore: function() { } ,rotate: function(amount) { } ,save: function() { } ,scale: function(x,y) { } ,setFontSize: function(size) { } ,setOperator: function(value) { return value; } ,setSourceRGB: function(r,g,b) { } ,setSourceRGBA: function(r,g,b,a) { } ,setSourceSurface: function(surface,x,y) { } ,showGlyphs: function(glyphs) { } ,showPage: function() { } ,showText: function(utf8) { } ,status: function() { return 0; } ,stroke: function() { } ,strokeExtents: function(x1,y1,x2,y2) { } ,strokePreserve: function() { } ,textPath: function(utf8) { } ,transform: function(matrix) { } ,translate: function(x,y) { } ,get_antialias: function() { return 0; } ,set_antialias: function(value) { return value; } ,get_currentPoint: function() { return null; } ,get_dash: function() { return []; } ,set_dash: function(value) { return value; } ,get_dashCount: function() { return 0; } ,get_fillRule: function() { return 0; } ,set_fillRule: function(value) { return value; } ,get_fontFace: function() { return 0; } ,set_fontFace: function(value) { return value; } ,get_fontOptions: function() { return null; } ,set_fontOptions: function(value) { return value; } ,get_groupTarget: function() { return 0; } ,get_hasCurrentPoint: function() { return false; } ,get_lineCap: function() { return 0; } ,set_lineCap: function(value) { return value; } ,get_lineJoin: function() { return 0; } ,set_lineJoin: function(value) { return value; } ,get_lineWidth: function() { return 0; } ,set_lineWidth: function(value) { return value; } ,get_matrix: function() { return null; } ,set_matrix: function(value) { return value; } ,get_miterLimit: function() { return 0; } ,set_miterLimit: function(value) { return value; } ,get_operator: function() { return 0; } ,set_operator: function(value) { return value; } ,get_source: function() { return 0; } ,set_source: function(value) { return value; } ,get_target: function() { return 0; } ,get_tolerance: function() { return 0; } ,set_tolerance: function(value) { return value; } ,__class__: lime_graphics_cairo_Cairo ,__properties__: {set_tolerance:"set_tolerance",get_tolerance:"get_tolerance",get_target:"get_target",set_source:"set_source",get_source:"get_source",set_operator:"set_operator",get_operator:"get_operator",set_miterLimit:"set_miterLimit",get_miterLimit:"get_miterLimit",set_matrix:"set_matrix",get_matrix:"get_matrix",set_lineWidth:"set_lineWidth",get_lineWidth:"get_lineWidth",set_lineJoin:"set_lineJoin",get_lineJoin:"get_lineJoin",set_lineCap:"set_lineCap",get_lineCap:"get_lineCap",get_hasCurrentPoint:"get_hasCurrentPoint",get_groupTarget:"get_groupTarget",set_fontOptions:"set_fontOptions",get_fontOptions:"get_fontOptions",set_fontFace:"set_fontFace",get_fontFace:"get_fontFace",set_fillRule:"set_fillRule",get_fillRule:"get_fillRule",get_dashCount:"get_dashCount",set_dash:"set_dash",get_dash:"get_dash",get_currentPoint:"get_currentPoint",set_antialias:"set_antialias",get_antialias:"get_antialias"} }; var lime_graphics_cairo__$CairoFTFontFace_CairoFTFontFace_$Impl_$ = {}; $hxClasses["lime.graphics.cairo._CairoFTFontFace.CairoFTFontFace_Impl_"] = lime_graphics_cairo__$CairoFTFontFace_CairoFTFontFace_$Impl_$; lime_graphics_cairo__$CairoFTFontFace_CairoFTFontFace_$Impl_$.__name__ = ["lime","graphics","cairo","_CairoFTFontFace","CairoFTFontFace_Impl_"]; lime_graphics_cairo__$CairoFTFontFace_CairoFTFontFace_$Impl_$._new = function() { var this1 = 0; return this1; }; lime_graphics_cairo__$CairoFTFontFace_CairoFTFontFace_$Impl_$.create = function(face,loadFlags) { return 0; }; var lime_graphics_cairo__$CairoFontFace_CairoFontFace_$Impl_$ = {}; $hxClasses["lime.graphics.cairo._CairoFontFace.CairoFontFace_Impl_"] = lime_graphics_cairo__$CairoFontFace_CairoFontFace_$Impl_$; lime_graphics_cairo__$CairoFontFace_CairoFontFace_$Impl_$.__name__ = ["lime","graphics","cairo","_CairoFontFace","CairoFontFace_Impl_"]; lime_graphics_cairo__$CairoFontFace_CairoFontFace_$Impl_$._new = function() { var this1 = null; return this1; }; lime_graphics_cairo__$CairoFontFace_CairoFontFace_$Impl_$.status = function(this1) { return 0; }; var lime_graphics_cairo__$CairoFontOptions_CairoFontOptions_$Impl_$ = {}; $hxClasses["lime.graphics.cairo._CairoFontOptions.CairoFontOptions_Impl_"] = lime_graphics_cairo__$CairoFontOptions_CairoFontOptions_$Impl_$; lime_graphics_cairo__$CairoFontOptions_CairoFontOptions_$Impl_$.__name__ = ["lime","graphics","cairo","_CairoFontOptions","CairoFontOptions_Impl_"]; lime_graphics_cairo__$CairoFontOptions_CairoFontOptions_$Impl_$.__properties__ = {set_subpixelOrder:"set_subpixelOrder",get_subpixelOrder:"get_subpixelOrder",set_hintStyle:"set_hintStyle",get_hintStyle:"get_hintStyle",set_hintMetrics:"set_hintMetrics",get_hintMetrics:"get_hintMetrics",set_antialias:"set_antialias",get_antialias:"get_antialias"}; lime_graphics_cairo__$CairoFontOptions_CairoFontOptions_$Impl_$._new = function() { var this1 = null; return this1; }; lime_graphics_cairo__$CairoFontOptions_CairoFontOptions_$Impl_$.get_antialias = function(this1) { return 0; }; lime_graphics_cairo__$CairoFontOptions_CairoFontOptions_$Impl_$.set_antialias = function(this1,value) { return value; }; lime_graphics_cairo__$CairoFontOptions_CairoFontOptions_$Impl_$.get_hintMetrics = function(this1) { return 0; }; lime_graphics_cairo__$CairoFontOptions_CairoFontOptions_$Impl_$.set_hintMetrics = function(this1,value) { return value; }; lime_graphics_cairo__$CairoFontOptions_CairoFontOptions_$Impl_$.get_hintStyle = function(this1) { return 0; }; lime_graphics_cairo__$CairoFontOptions_CairoFontOptions_$Impl_$.set_hintStyle = function(this1,value) { return value; }; lime_graphics_cairo__$CairoFontOptions_CairoFontOptions_$Impl_$.get_subpixelOrder = function(this1) { return 0; }; lime_graphics_cairo__$CairoFontOptions_CairoFontOptions_$Impl_$.set_subpixelOrder = function(this1,value) { return value; }; var lime_graphics_cairo_CairoGlyph = function(index,x,y) { if(y == null) { y = 0; } if(x == null) { x = 0; } this.index = index; this.x = x; this.y = y; }; $hxClasses["lime.graphics.cairo.CairoGlyph"] = lime_graphics_cairo_CairoGlyph; lime_graphics_cairo_CairoGlyph.__name__ = ["lime","graphics","cairo","CairoGlyph"]; lime_graphics_cairo_CairoGlyph.prototype = { index: null ,x: null ,y: null ,__class__: lime_graphics_cairo_CairoGlyph }; var lime_graphics_cairo__$CairoImageSurface_CairoImageSurface_$Impl_$ = {}; $hxClasses["lime.graphics.cairo._CairoImageSurface.CairoImageSurface_Impl_"] = lime_graphics_cairo__$CairoImageSurface_CairoImageSurface_$Impl_$; lime_graphics_cairo__$CairoImageSurface_CairoImageSurface_$Impl_$.__name__ = ["lime","graphics","cairo","_CairoImageSurface","CairoImageSurface_Impl_"]; lime_graphics_cairo__$CairoImageSurface_CairoImageSurface_$Impl_$.__properties__ = {get_width:"get_width",get_stride:"get_stride",get_height:"get_height",get_format:"get_format",get_data:"get_data"}; lime_graphics_cairo__$CairoImageSurface_CairoImageSurface_$Impl_$._new = function(format,width,height) { var this1 = 0; return this1; }; lime_graphics_cairo__$CairoImageSurface_CairoImageSurface_$Impl_$.create = function(data,format,width,height,stride) { return 0; }; lime_graphics_cairo__$CairoImageSurface_CairoImageSurface_$Impl_$.fromImage = function(image) { return null; }; lime_graphics_cairo__$CairoImageSurface_CairoImageSurface_$Impl_$.get_data = function(this1) { return lime_utils__$DataPointer_DataPointer_$Impl_$.fromInt(0); }; lime_graphics_cairo__$CairoImageSurface_CairoImageSurface_$Impl_$.get_format = function(this1) { return 0; }; lime_graphics_cairo__$CairoImageSurface_CairoImageSurface_$Impl_$.get_height = function(this1) { return 0; }; lime_graphics_cairo__$CairoImageSurface_CairoImageSurface_$Impl_$.get_stride = function(this1) { return 0; }; lime_graphics_cairo__$CairoImageSurface_CairoImageSurface_$Impl_$.get_width = function(this1) { return 0; }; var lime_graphics_cairo__$CairoPattern_CairoPattern_$Impl_$ = {}; $hxClasses["lime.graphics.cairo._CairoPattern.CairoPattern_Impl_"] = lime_graphics_cairo__$CairoPattern_CairoPattern_$Impl_$; lime_graphics_cairo__$CairoPattern_CairoPattern_$Impl_$.__name__ = ["lime","graphics","cairo","_CairoPattern","CairoPattern_Impl_"]; lime_graphics_cairo__$CairoPattern_CairoPattern_$Impl_$.__properties__ = {set_matrix:"set_matrix",get_matrix:"get_matrix",set_filter:"set_filter",get_filter:"get_filter",set_extend:"set_extend",get_extend:"get_extend",get_colorStopCount:"get_colorStopCount"}; lime_graphics_cairo__$CairoPattern_CairoPattern_$Impl_$._new = function(handle) { var this1 = handle; return this1; }; lime_graphics_cairo__$CairoPattern_CairoPattern_$Impl_$.addColorStopRGB = function(this1,offset,r,g,b) { }; lime_graphics_cairo__$CairoPattern_CairoPattern_$Impl_$.addColorStopRGBA = function(this1,offset,r,g,b,a) { }; lime_graphics_cairo__$CairoPattern_CairoPattern_$Impl_$.createForSurface = function(surface) { return 0; }; lime_graphics_cairo__$CairoPattern_CairoPattern_$Impl_$.createLinear = function(x0,y0,x1,y1) { return 0; }; lime_graphics_cairo__$CairoPattern_CairoPattern_$Impl_$.createRadial = function(cx0,cy0,radius0,cx1,cy1,radius1) { return 0; }; lime_graphics_cairo__$CairoPattern_CairoPattern_$Impl_$.createRGB = function(r,g,b) { return 0; }; lime_graphics_cairo__$CairoPattern_CairoPattern_$Impl_$.createRGBA = function(r,g,b,a) { return 0; }; lime_graphics_cairo__$CairoPattern_CairoPattern_$Impl_$.get_colorStopCount = function(this1) { return 0; }; lime_graphics_cairo__$CairoPattern_CairoPattern_$Impl_$.get_extend = function(this1) { return 0; }; lime_graphics_cairo__$CairoPattern_CairoPattern_$Impl_$.set_extend = function(this1,value) { return value; }; lime_graphics_cairo__$CairoPattern_CairoPattern_$Impl_$.get_filter = function(this1) { return 0; }; lime_graphics_cairo__$CairoPattern_CairoPattern_$Impl_$.set_filter = function(this1,value) { return value; }; lime_graphics_cairo__$CairoPattern_CairoPattern_$Impl_$.get_matrix = function(this1) { return null; }; lime_graphics_cairo__$CairoPattern_CairoPattern_$Impl_$.set_matrix = function(this1,value) { return value; }; var lime_graphics_cairo__$CairoSurface_CairoSurface_$Impl_$ = {}; $hxClasses["lime.graphics.cairo._CairoSurface.CairoSurface_Impl_"] = lime_graphics_cairo__$CairoSurface_CairoSurface_$Impl_$; lime_graphics_cairo__$CairoSurface_CairoSurface_$Impl_$.__name__ = ["lime","graphics","cairo","_CairoSurface","CairoSurface_Impl_"]; lime_graphics_cairo__$CairoSurface_CairoSurface_$Impl_$.flush = function(this1) { }; var lime_graphics_opengl_GL = function() { }; $hxClasses["lime.graphics.opengl.GL"] = lime_graphics_opengl_GL; lime_graphics_opengl_GL.__name__ = ["lime","graphics","opengl","GL"]; lime_graphics_opengl_GL.context = null; lime_graphics_opengl_GL.type = null; lime_graphics_opengl_GL.version = null; lime_graphics_opengl_GL.activeTexture = function(texture) { lime_graphics_opengl_GL.context.activeTexture(texture); }; lime_graphics_opengl_GL.attachShader = function(program,shader) { lime_graphics_opengl_GL.context.attachShader(program,shader); }; lime_graphics_opengl_GL.beginQuery = function(target,query) { lime_graphics_opengl_GL.context.beginQuery(target,query); }; lime_graphics_opengl_GL.beginTransformFeedback = function(primitiveNode) { lime_graphics_opengl_GL.context.beginTransformFeedback(primitiveNode); }; lime_graphics_opengl_GL.bindAttribLocation = function(program,index,name) { lime_graphics_opengl_GL.context.bindAttribLocation(program,index,name); }; lime_graphics_opengl_GL.bindBuffer = function(target,buffer) { lime_graphics_opengl_GL.context.bindBuffer(target,buffer); }; lime_graphics_opengl_GL.bindBufferBase = function(target,index,buffer) { lime_graphics_opengl_GL.context.bindBufferBase(target,index,buffer); }; lime_graphics_opengl_GL.bindBufferRange = function(target,index,buffer,offset,size) { lime_graphics_opengl_GL.context.bindBufferRange(target,index,buffer,offset,lime_utils__$DataPointer_DataPointer_$Impl_$.fromInt(size)); }; lime_graphics_opengl_GL.bindFramebuffer = function(target,framebuffer) { lime_graphics_opengl_GL.context.bindFramebuffer(target,framebuffer); }; lime_graphics_opengl_GL.bindRenderbuffer = function(target,renderbuffer) { lime_graphics_opengl_GL.context.bindRenderbuffer(target,renderbuffer); }; lime_graphics_opengl_GL.bindSampler = function(unit,sampler) { lime_graphics_opengl_GL.context.bindSampler(unit,sampler); }; lime_graphics_opengl_GL.bindTexture = function(target,texture) { lime_graphics_opengl_GL.context.bindTexture(target,texture); }; lime_graphics_opengl_GL.bindTransformFeedback = function(target,transformFeedback) { lime_graphics_opengl_GL.context.bindTransformFeedback(target,transformFeedback); }; lime_graphics_opengl_GL.bindVertexArray = function(vertexArray) { lime_graphics_opengl_GL.context.bindVertexArray(vertexArray); }; lime_graphics_opengl_GL.blitFramebuffer = function(srcX0,srcY0,srcX1,srcY1,dstX0,dstY0,dstX1,dstY1,mask,filter) { lime_graphics_opengl_GL.context.blitFramebuffer(srcX0,srcY0,srcX1,srcY1,dstX0,dstY0,dstX1,dstY1,mask,filter); }; lime_graphics_opengl_GL.blendColor = function(red,green,blue,alpha) { lime_graphics_opengl_GL.context.blendColor(red,green,blue,alpha); }; lime_graphics_opengl_GL.blendEquation = function(mode) { lime_graphics_opengl_GL.context.blendEquation(mode); }; lime_graphics_opengl_GL.blendEquationSeparate = function(modeRGB,modeAlpha) { lime_graphics_opengl_GL.context.blendEquationSeparate(modeRGB,modeAlpha); }; lime_graphics_opengl_GL.blendFunc = function(sfactor,dfactor) { lime_graphics_opengl_GL.context.blendFunc(sfactor,dfactor); }; lime_graphics_opengl_GL.blendFuncSeparate = function(srcRGB,dstRGB,srcAlpha,dstAlpha) { lime_graphics_opengl_GL.context.blendFuncSeparate(srcRGB,dstRGB,srcAlpha,dstAlpha); }; lime_graphics_opengl_GL.bufferDataWEBGL = function(target,srcData,usage,srcOffset,length) { var this1 = lime_graphics_opengl_GL.context; if(srcOffset != null) { this1.bufferData(target,srcData,usage,srcOffset,length); } else { this1.bufferData(target,srcData,usage); } }; lime_graphics_opengl_GL.bufferSubDataWEBGL = function(target,dstByteOffset,srcData,srcOffset,length) { var this1 = lime_graphics_opengl_GL.context; if(srcOffset != null) { this1.bufferSubData(target,dstByteOffset,srcData,srcOffset,length); } else { this1.bufferSubData(target,dstByteOffset,srcData); } }; lime_graphics_opengl_GL.checkFramebufferStatus = function(target) { return lime_graphics_opengl_GL.context.checkFramebufferStatus(target); }; lime_graphics_opengl_GL.clear = function(mask) { lime_graphics_opengl_GL.context.clear(mask); }; lime_graphics_opengl_GL.clearBufferfi = function(buffer,drawbuffer,depth,stencil) { lime_graphics_opengl_GL.context.clearBufferfi(buffer,drawbuffer,depth,stencil); }; lime_graphics_opengl_GL.clearBufferfvWEBGL = function(buffer,drawbuffer,values,srcOffset) { lime_graphics_opengl_GL.context.clearBufferfv(buffer,drawbuffer,values,srcOffset); }; lime_graphics_opengl_GL.clearBufferivWEBGL = function(buffer,drawbuffer,values,srcOffset) { lime_graphics_opengl_GL.context.clearBufferiv(buffer,drawbuffer,values,srcOffset); }; lime_graphics_opengl_GL.clearBufferuivWEBGL = function(buffer,drawbuffer,values,srcOffset) { lime_graphics_opengl_GL.context.clearBufferuiv(buffer,drawbuffer,values,srcOffset); }; lime_graphics_opengl_GL.clearColor = function(red,green,blue,alpha) { lime_graphics_opengl_GL.context.clearColor(red,green,blue,alpha); }; lime_graphics_opengl_GL.clearDepth = function(depth) { lime_graphics_opengl_GL.context.clearDepth(depth); }; lime_graphics_opengl_GL.clearStencil = function(s) { lime_graphics_opengl_GL.context.clearStencil(s); }; lime_graphics_opengl_GL.clientWaitSync = function(sync,flags,timeout) { return lime_graphics_opengl_GL.context.clientWaitSync(sync,flags,timeout); }; lime_graphics_opengl_GL.colorMask = function(red,green,blue,alpha) { lime_graphics_opengl_GL.context.colorMask(red,green,blue,alpha); }; lime_graphics_opengl_GL.compileShader = function(shader) { lime_graphics_opengl_GL.context.compileShader(shader); }; lime_graphics_opengl_GL.compressedTexImage2DWEBGL = function(target,level,internalformat,width,height,border,srcData,srcOffset,srcLengthOverride) { var this1 = lime_graphics_opengl_GL.context; if(srcOffset != null) { this1.compressedTexImage2D(target,level,internalformat,width,height,border,srcData,srcOffset,srcLengthOverride); } else { this1.compressedTexImage2D(target,level,internalformat,width,height,border,srcData); } }; lime_graphics_opengl_GL.compressedTexImage3DWEBGL = function(target,level,internalformat,width,height,depth,border,srcData,srcOffset,srcLengthOverride) { lime_graphics_opengl_GL.context.compressedTexImage3D(target,level,internalformat,width,height,depth,border,srcData,srcOffset,srcLengthOverride); }; lime_graphics_opengl_GL.compressedTexSubImage2DWEBGL = function(target,level,xoffset,yoffset,width,height,format,srcData,srcOffset,srcLengthOverride) { var this1 = lime_graphics_opengl_GL.context; if(srcOffset != null) { this1.compressedTexSubImage2D(target,level,xoffset,yoffset,width,height,format,srcData,srcOffset,srcLengthOverride); } else { this1.compressedTexSubImage2D(target,level,xoffset,yoffset,width,height,format,srcData); } }; lime_graphics_opengl_GL.compressedTexSubImage3DWEBGL = function(target,level,xoffset,yoffset,zoffset,width,height,depth,format,srcData,srcOffset,srcLengthOverride) { lime_graphics_opengl_GL.context.compressedTexSubImage3D(target,level,xoffset,yoffset,zoffset,width,height,depth,format,srcData,srcOffset,srcLengthOverride); }; lime_graphics_opengl_GL.copyTexImage2D = function(target,level,internalformat,x,y,width,height,border) { lime_graphics_opengl_GL.context.copyTexImage2D(target,level,internalformat,x,y,width,height,border); }; lime_graphics_opengl_GL.copyTexSubImage2D = function(target,level,xoffset,yoffset,x,y,width,height) { lime_graphics_opengl_GL.context.copyTexSubImage2D(target,level,xoffset,yoffset,x,y,width,height); }; lime_graphics_opengl_GL.copyTexSubImage3D = function(target,level,xoffset,yoffset,zoffset,x,y,width,height) { lime_graphics_opengl_GL.context.copyTexSubImage3D(target,level,xoffset,yoffset,zoffset,x,y,width,height); }; lime_graphics_opengl_GL.createBuffer = function() { return lime_graphics_opengl_GL.context.createBuffer(); }; lime_graphics_opengl_GL.createFramebuffer = function() { return lime_graphics_opengl_GL.context.createFramebuffer(); }; lime_graphics_opengl_GL.createProgram = function() { return lime_graphics_opengl_GL.context.createProgram(); }; lime_graphics_opengl_GL.createQuery = function() { return lime_graphics_opengl_GL.context.createQuery(); }; lime_graphics_opengl_GL.createRenderbuffer = function() { return lime_graphics_opengl_GL.context.createRenderbuffer(); }; lime_graphics_opengl_GL.createSampler = function() { return lime_graphics_opengl_GL.context.createSampler(); }; lime_graphics_opengl_GL.createShader = function(type) { return lime_graphics_opengl_GL.context.createShader(type); }; lime_graphics_opengl_GL.createTexture = function() { return lime_graphics_opengl_GL.context.createTexture(); }; lime_graphics_opengl_GL.createTransformFeedback = function() { return lime_graphics_opengl_GL.context.createTransformFeedback(); }; lime_graphics_opengl_GL.createVertexArray = function() { return lime_graphics_opengl_GL.context.createVertexArray(); }; lime_graphics_opengl_GL.cullFace = function(mode) { lime_graphics_opengl_GL.context.cullFace(mode); }; lime_graphics_opengl_GL.deleteBuffer = function(buffer) { lime_graphics_opengl_GL.context.deleteBuffer(buffer); }; lime_graphics_opengl_GL.deleteFramebuffer = function(framebuffer) { lime_graphics_opengl_GL.context.deleteFramebuffer(framebuffer); }; lime_graphics_opengl_GL.deleteProgram = function(program) { lime_graphics_opengl_GL.context.deleteProgram(program); }; lime_graphics_opengl_GL.deleteQuery = function(query) { lime_graphics_opengl_GL.context.deleteQuery(query); }; lime_graphics_opengl_GL.deleteRenderbuffer = function(renderbuffer) { lime_graphics_opengl_GL.context.deleteRenderbuffer(renderbuffer); }; lime_graphics_opengl_GL.deleteSampler = function(sampler) { lime_graphics_opengl_GL.context.deleteSampler(sampler); }; lime_graphics_opengl_GL.deleteShader = function(shader) { lime_graphics_opengl_GL.context.deleteShader(shader); }; lime_graphics_opengl_GL.deleteSync = function(sync) { lime_graphics_opengl_GL.context.deleteSync(sync); }; lime_graphics_opengl_GL.deleteTexture = function(texture) { lime_graphics_opengl_GL.context.deleteTexture(texture); }; lime_graphics_opengl_GL.deleteTransformFeedback = function(transformFeedback) { lime_graphics_opengl_GL.context.deleteTransformFeedback(transformFeedback); }; lime_graphics_opengl_GL.deleteVertexArray = function(vertexArray) { lime_graphics_opengl_GL.context.deleteVertexArray(vertexArray); }; lime_graphics_opengl_GL.depthFunc = function(func) { lime_graphics_opengl_GL.context.depthFunc(func); }; lime_graphics_opengl_GL.depthMask = function(flag) { lime_graphics_opengl_GL.context.depthMask(flag); }; lime_graphics_opengl_GL.depthRange = function(zNear,zFar) { lime_graphics_opengl_GL.context.depthRange(zNear,zFar); }; lime_graphics_opengl_GL.detachShader = function(program,shader) { lime_graphics_opengl_GL.context.detachShader(program,shader); }; lime_graphics_opengl_GL.disable = function(cap) { lime_graphics_opengl_GL.context.disable(cap); }; lime_graphics_opengl_GL.disableVertexAttribArray = function(index) { lime_graphics_opengl_GL.context.disableVertexAttribArray(index); }; lime_graphics_opengl_GL.drawArrays = function(mode,first,count) { lime_graphics_opengl_GL.context.drawArrays(mode,first,count); }; lime_graphics_opengl_GL.drawArraysInstanced = function(mode,first,count,instanceCount) { lime_graphics_opengl_GL.context.drawArraysInstanced(mode,first,count,instanceCount); }; lime_graphics_opengl_GL.drawBuffers = function(buffers) { lime_graphics_opengl_GL.context.drawBuffers(buffers); }; lime_graphics_opengl_GL.drawElements = function(mode,count,type,offset) { lime_graphics_opengl_GL.context.drawElements(mode,count,type,offset); }; lime_graphics_opengl_GL.drawElementsInstanced = function(mode,count,type,offset,instanceCount) { lime_graphics_opengl_GL.context.drawElementsInstanced(mode,count,type,offset,instanceCount); }; lime_graphics_opengl_GL.drawRangeElements = function(mode,start,end,count,type,offset) { lime_graphics_opengl_GL.context.drawRangeElements(mode,start,end,count,type,offset); }; lime_graphics_opengl_GL.enable = function(cap) { lime_graphics_opengl_GL.context.enable(cap); }; lime_graphics_opengl_GL.enableVertexAttribArray = function(index) { lime_graphics_opengl_GL.context.enableVertexAttribArray(index); }; lime_graphics_opengl_GL.endQuery = function(target) { lime_graphics_opengl_GL.context.endQuery(target); }; lime_graphics_opengl_GL.endTransformFeedback = function() { lime_graphics_opengl_GL.context.endTransformFeedback(); }; lime_graphics_opengl_GL.fenceSync = function(condition,flags) { return lime_graphics_opengl_GL.context.fenceSync(condition,flags); }; lime_graphics_opengl_GL.finish = function() { lime_graphics_opengl_GL.context.finish(); }; lime_graphics_opengl_GL.flush = function() { lime_graphics_opengl_GL.context.flush(); }; lime_graphics_opengl_GL.framebufferRenderbuffer = function(target,attachment,renderbuffertarget,renderbuffer) { lime_graphics_opengl_GL.context.framebufferRenderbuffer(target,attachment,renderbuffertarget,renderbuffer); }; lime_graphics_opengl_GL.framebufferTexture2D = function(target,attachment,textarget,texture,level) { lime_graphics_opengl_GL.context.framebufferTexture2D(target,attachment,textarget,texture,level); }; lime_graphics_opengl_GL.framebufferTextureLayer = function(target,attachment,texture,level,layer) { lime_graphics_opengl_GL.context.framebufferTextureLayer(target,attachment,texture,level,layer); }; lime_graphics_opengl_GL.frontFace = function(mode) { lime_graphics_opengl_GL.context.frontFace(mode); }; lime_graphics_opengl_GL.generateMipmap = function(target) { lime_graphics_opengl_GL.context.generateMipmap(target); }; lime_graphics_opengl_GL.getActiveAttrib = function(program,index) { return lime_graphics_opengl_GL.context.getActiveAttrib(program,index); }; lime_graphics_opengl_GL.getActiveUniform = function(program,index) { return lime_graphics_opengl_GL.context.getActiveUniform(program,index); }; lime_graphics_opengl_GL.getActiveUniformBlockName = function(program,uniformBlockIndex) { return lime_graphics_opengl_GL.context.getActiveUniformBlockName(program,uniformBlockIndex); }; lime_graphics_opengl_GL.getActiveUniformBlockParameter = function(program,uniformBlockIndex,pname) { return lime_graphics_opengl_GL.context.getActiveUniformBlockParameter(program,uniformBlockIndex,pname); }; lime_graphics_opengl_GL.getActiveUniforms = function(program,uniformIndices,pname) { return lime_graphics_opengl_GL.context.getActiveUniforms(program,uniformIndices,pname); }; lime_graphics_opengl_GL.getAttachedShaders = function(program) { return lime_graphics_opengl_GL.context.getAttachedShaders(program); }; lime_graphics_opengl_GL.getAttribLocation = function(program,name) { return lime_graphics_opengl_GL.context.getAttribLocation(program,name); }; lime_graphics_opengl_GL.getBufferParameter = function(target,pname) { return lime_graphics_opengl_GL.context.getBufferParameter(target,pname); }; lime_graphics_opengl_GL.getBufferSubDataWEBGL = function(target,srcByteOffset,dstData,srcOffset,length) { var this1 = lime_graphics_opengl_GL.context; if(srcOffset != null) { this1.getBufferSubData(target,srcByteOffset,dstData,srcOffset,length); } else { this1.getBufferSubData(target,srcByteOffset,dstData); } }; lime_graphics_opengl_GL.getContextAttributes = function() { return lime_graphics_opengl_GL.context.getContextAttributes(); }; lime_graphics_opengl_GL.getError = function() { return lime_graphics_opengl_GL.context.getError(); }; lime_graphics_opengl_GL.getExtension = function(name) { return lime_graphics_opengl_GL.context.getExtension(name); }; lime_graphics_opengl_GL.getFragDataLocation = function(program,name) { return lime_graphics_opengl_GL.context.getFragDataLocation(program,name); }; lime_graphics_opengl_GL.getFramebufferAttachmentParameter = function(target,attachment,pname) { return lime_graphics_opengl_GL.context.getFramebufferAttachmentParameter(target,attachment,pname); }; lime_graphics_opengl_GL.getIndexedParameter = function(target,index) { return lime_graphics_opengl_GL.context.getIndexedParameter(target,index); }; lime_graphics_opengl_GL.getInternalformatParameter = function(target,internalformat,pname) { return lime_graphics_opengl_GL.context.getInternalformatParameter(target,internalformat,pname); }; lime_graphics_opengl_GL.getParameter = function(pname) { return lime_graphics_opengl_GL.context.getParameter(pname); }; lime_graphics_opengl_GL.getProgramInfoLog = function(program) { return lime_graphics_opengl_GL.context.getProgramInfoLog(program); }; lime_graphics_opengl_GL.getProgramParameter = function(program,pname) { return lime_graphics_opengl_GL.context.getProgramParameter(program,pname); }; lime_graphics_opengl_GL.getQuery = function(target,pname) { return lime_graphics_opengl_GL.context.getQuery(target,pname); }; lime_graphics_opengl_GL.getQueryParameter = function(query,pname) { return lime_graphics_opengl_GL.context.getQueryParameter(query,pname); }; lime_graphics_opengl_GL.getRenderbufferParameter = function(target,pname) { return lime_graphics_opengl_GL.context.getRenderbufferParameter(target,pname); }; lime_graphics_opengl_GL.getSamplerParameter = function(sampler,pname) { return lime_graphics_opengl_GL.context.getSamplerParameter(sampler,pname); }; lime_graphics_opengl_GL.getShaderInfoLog = function(shader) { return lime_graphics_opengl_GL.context.getShaderInfoLog(shader); }; lime_graphics_opengl_GL.getShaderParameter = function(shader,pname) { return lime_graphics_opengl_GL.context.getShaderParameter(shader,pname); }; lime_graphics_opengl_GL.getShaderPrecisionFormat = function(shadertype,precisiontype) { return lime_graphics_opengl_GL.context.getShaderPrecisionFormat(shadertype,precisiontype); }; lime_graphics_opengl_GL.getShaderSource = function(shader) { return lime_graphics_opengl_GL.context.getShaderSource(shader); }; lime_graphics_opengl_GL.getSupportedExtensions = function() { return lime_graphics_opengl_GL.context.getSupportedExtensions(); }; lime_graphics_opengl_GL.getSyncParameter = function(sync,pname) { return lime_graphics_opengl_GL.context.getSyncParameter(sync,pname); }; lime_graphics_opengl_GL.getTexParameter = function(target,pname) { return lime_graphics_opengl_GL.context.getTexParameter(target,pname); }; lime_graphics_opengl_GL.getTransformFeedbackVarying = function(program,index) { return lime_graphics_opengl_GL.context.getTransformFeedbackVarying(program,index); }; lime_graphics_opengl_GL.getUniform = function(program,location) { return lime_graphics_opengl_GL.context.getUniform(program,location); }; lime_graphics_opengl_GL.getUniformBlockIndex = function(program,uniformBlockName) { return lime_graphics_opengl_GL.context.getUniformBlockIndex(program,uniformBlockName); }; lime_graphics_opengl_GL.getUniformIndices = function(program,uniformNames) { return lime_graphics_opengl_GL.context.getUniformIndices(program,uniformNames); }; lime_graphics_opengl_GL.getUniformLocation = function(program,name) { return lime_graphics_opengl_GL.context.getUniformLocation(program,name); }; lime_graphics_opengl_GL.getVertexAttrib = function(index,pname) { return lime_graphics_opengl_GL.context.getVertexAttrib(index,pname); }; lime_graphics_opengl_GL.getVertexAttribOffset = function(index,pname) { return lime_utils__$DataPointer_DataPointer_$Impl_$.fromInt(lime_graphics_opengl_GL.context.getVertexAttribOffset(index,pname)); }; lime_graphics_opengl_GL.hint = function(target,mode) { lime_graphics_opengl_GL.context.hint(target,mode); }; lime_graphics_opengl_GL.invalidateFramebuffer = function(target,attachments) { lime_graphics_opengl_GL.context.invalidateFramebuffer(target,attachments); }; lime_graphics_opengl_GL.invalidateSubFramebuffer = function(target,attachments,x,y,width,height) { lime_graphics_opengl_GL.context.invalidateSubFramebuffer(target,attachments,x,y,width,height); }; lime_graphics_opengl_GL.isBuffer = function(buffer) { return lime_graphics_opengl_GL.context.isBuffer(buffer); }; lime_graphics_opengl_GL.isContextLost = function() { return lime_graphics_opengl_GL.context.isContextLost(); }; lime_graphics_opengl_GL.isEnabled = function(cap) { return lime_graphics_opengl_GL.context.isEnabled(cap); }; lime_graphics_opengl_GL.isFramebuffer = function(framebuffer) { return lime_graphics_opengl_GL.context.isFramebuffer(framebuffer); }; lime_graphics_opengl_GL.isProgram = function(program) { return lime_graphics_opengl_GL.context.isProgram(program); }; lime_graphics_opengl_GL.isQuery = function(query) { return lime_graphics_opengl_GL.context.isQuery(query); }; lime_graphics_opengl_GL.isRenderbuffer = function(renderbuffer) { return lime_graphics_opengl_GL.context.isRenderbuffer(renderbuffer); }; lime_graphics_opengl_GL.isSampler = function(sampler) { return lime_graphics_opengl_GL.context.isSampler(sampler); }; lime_graphics_opengl_GL.isShader = function(shader) { return lime_graphics_opengl_GL.context.isShader(shader); }; lime_graphics_opengl_GL.isSync = function(sync) { return lime_graphics_opengl_GL.context.isSync(sync); }; lime_graphics_opengl_GL.isTexture = function(texture) { return lime_graphics_opengl_GL.context.isTexture(texture); }; lime_graphics_opengl_GL.isTransformFeedback = function(transformFeedback) { return lime_graphics_opengl_GL.context.isTransformFeedback(transformFeedback); }; lime_graphics_opengl_GL.isVertexArray = function(vertexArray) { return lime_graphics_opengl_GL.context.isVertexArray(vertexArray); }; lime_graphics_opengl_GL.lineWidth = function(width) { lime_graphics_opengl_GL.context.lineWidth(width); }; lime_graphics_opengl_GL.linkProgram = function(program) { lime_graphics_opengl_GL.context.linkProgram(program); }; lime_graphics_opengl_GL.pauseTransformFeedback = function() { lime_graphics_opengl_GL.context.pauseTransformFeedback(); }; lime_graphics_opengl_GL.pixelStorei = function(pname,param) { lime_graphics_opengl_GL.context.pixelStorei(pname,param); }; lime_graphics_opengl_GL.polygonOffset = function(factor,units) { lime_graphics_opengl_GL.context.polygonOffset(factor,units); }; lime_graphics_opengl_GL.readBuffer = function(src) { lime_graphics_opengl_GL.context.readBuffer(src); }; lime_graphics_opengl_GL.readPixelsWEBGL = function(x,y,width,height,format,type,pixels,dstOffset) { var this1 = lime_graphics_opengl_GL.context; if(dstOffset != null) { this1.readPixels(x,y,width,height,format,type,pixels,dstOffset); } else { this1.readPixels(x,y,width,height,format,type,pixels); } }; lime_graphics_opengl_GL.renderbufferStorage = function(target,internalformat,width,height) { lime_graphics_opengl_GL.context.renderbufferStorage(target,internalformat,width,height); }; lime_graphics_opengl_GL.renderbufferStorageMultisample = function(target,samples,internalformat,width,height) { lime_graphics_opengl_GL.context.renderbufferStorageMultisample(target,samples,internalformat,width,height); }; lime_graphics_opengl_GL.resumeTransformFeedback = function() { lime_graphics_opengl_GL.context.resumeTransformFeedback(); }; lime_graphics_opengl_GL.sampleCoverage = function(value,invert) { lime_graphics_opengl_GL.context.sampleCoverage(value,invert); }; lime_graphics_opengl_GL.samplerParameterf = function(sampler,pname,param) { lime_graphics_opengl_GL.context.samplerParameterf(sampler,pname,param); }; lime_graphics_opengl_GL.samplerParameteri = function(sampler,pname,param) { lime_graphics_opengl_GL.context.samplerParameteri(sampler,pname,param); }; lime_graphics_opengl_GL.scissor = function(x,y,width,height) { lime_graphics_opengl_GL.context.scissor(x,y,width,height); }; lime_graphics_opengl_GL.shaderSource = function(shader,source) { lime_graphics_opengl_GL.context.shaderSource(shader,source); }; lime_graphics_opengl_GL.stencilFunc = function(func,ref,mask) { lime_graphics_opengl_GL.context.stencilFunc(func,ref,mask); }; lime_graphics_opengl_GL.stencilFuncSeparate = function(face,func,ref,mask) { lime_graphics_opengl_GL.context.stencilFuncSeparate(face,func,ref,mask); }; lime_graphics_opengl_GL.stencilMask = function(mask) { lime_graphics_opengl_GL.context.stencilMask(mask); }; lime_graphics_opengl_GL.stencilMaskSeparate = function(face,mask) { lime_graphics_opengl_GL.context.stencilMaskSeparate(face,mask); }; lime_graphics_opengl_GL.stencilOp = function(fail,zfail,zpass) { lime_graphics_opengl_GL.context.stencilOp(fail,zfail,zpass); }; lime_graphics_opengl_GL.stencilOpSeparate = function(face,fail,zfail,zpass) { lime_graphics_opengl_GL.context.stencilOpSeparate(face,fail,zfail,zpass); }; lime_graphics_opengl_GL.texImage2DWEBGL = function(target,level,internalformat,width,height,border,format,type,srcData,srcOffset) { var this1 = lime_graphics_opengl_GL.context; if(srcOffset != null) { this1.texImage2D(target,level,internalformat,width,height,border,format,type,srcData,srcOffset); } else if(format != null) { this1.texImage2D(target,level,internalformat,width,height,border,format,type,srcData); } else { this1.texImage2D(target,level,internalformat,width,height,border); } }; lime_graphics_opengl_GL.texImage3DWEBGL = function(target,level,internalformat,width,height,depth,border,format,type,srcData,srcOffset) { lime_graphics_opengl_GL.context.texImage3D(target,level,internalformat,width,height,depth,border,format,type,srcData,srcOffset); }; lime_graphics_opengl_GL.texStorage2D = function(target,level,internalformat,width,height) { lime_graphics_opengl_GL.context.texStorage2D(target,level,internalformat,width,height); }; lime_graphics_opengl_GL.texStorage3D = function(target,level,internalformat,width,height,depth) { lime_graphics_opengl_GL.context.texStorage3D(target,level,internalformat,width,height,depth); }; lime_graphics_opengl_GL.texParameterf = function(target,pname,param) { lime_graphics_opengl_GL.context.texParameterf(target,pname,param); }; lime_graphics_opengl_GL.texParameteri = function(target,pname,param) { lime_graphics_opengl_GL.context.texParameteri(target,pname,param); }; lime_graphics_opengl_GL.texSubImage2DWEBGL = function(target,level,xoffset,yoffset,width,height,format,type,srcData,srcOffset) { var this1 = lime_graphics_opengl_GL.context; if(srcOffset != null) { this1.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,srcData,srcOffset); } else if(type != null) { this1.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,srcData); } else { this1.texSubImage2D(target,level,xoffset,yoffset,width,height,format); } }; lime_graphics_opengl_GL.texSubImage3DWEBGL = function(target,level,xoffset,yoffset,zoffset,width,height,depth,format,type,source,srcOffset) { lime_graphics_opengl_GL.context.texSubImage3D(target,level,xoffset,yoffset,zoffset,width,height,depth,format,type,source,srcOffset); }; lime_graphics_opengl_GL.transformFeedbackVaryings = function(program,varyings,bufferMode) { lime_graphics_opengl_GL.context.transformFeedbackVaryings(program,varyings,bufferMode); }; lime_graphics_opengl_GL.uniform1f = function(location,v0) { lime_graphics_opengl_GL.context.uniform1f(location,v0); }; lime_graphics_opengl_GL.uniform1fvWEBGL = function(location,data,srcOffset,srcLength) { var this1 = lime_graphics_opengl_GL.context; if(srcOffset != null) { this1.uniform1fv(location,data,srcOffset,srcLength); } else { this1.uniform1fv(location,data); } }; lime_graphics_opengl_GL.uniform1i = function(location,v0) { lime_graphics_opengl_GL.context.uniform1i(location,v0); }; lime_graphics_opengl_GL.uniform1ivWEBGL = function(location,data,srcOffset,srcLength) { var this1 = lime_graphics_opengl_GL.context; if(srcOffset != null) { this1.uniform1iv(location,data,srcOffset,srcLength); } else { this1.uniform1iv(location,data); } }; lime_graphics_opengl_GL.uniform1ui = function(location,v0) { lime_graphics_opengl_GL.context.uniform1ui(location,v0); }; lime_graphics_opengl_GL.uniform1uivWEBGL = function(location,data,srcOffset,srcLength) { lime_graphics_opengl_GL.context.uniform1uiv(location,data,srcOffset,srcLength); }; lime_graphics_opengl_GL.uniform2f = function(location,v0,v1) { lime_graphics_opengl_GL.context.uniform2f(location,v0,v1); }; lime_graphics_opengl_GL.uniform2fvWEBGL = function(location,data,srcOffset,srcLength) { lime_graphics__$WebGL2RenderContext_WebGL2RenderContext_$Impl_$.uniform2fv(lime_graphics_opengl_GL.context,location,data,srcOffset,srcLength); }; lime_graphics_opengl_GL.uniform2i = function(location,x,y) { lime_graphics_opengl_GL.context.uniform2i(location,x,y); }; lime_graphics_opengl_GL.uniform2ivWEBGL = function(location,data,srcOffset,srcLength) { var this1 = lime_graphics_opengl_GL.context; if(srcOffset != null) { this1.uniform2iv(location,data,srcOffset,srcLength); } else { this1.uniform2iv(location,data); } }; lime_graphics_opengl_GL.uniform2ui = function(location,x,y) { lime_graphics_opengl_GL.context.uniform2ui(location,x,y); }; lime_graphics_opengl_GL.uniform2uivWEBGL = function(location,data,srcOffset,srcLength) { lime_graphics_opengl_GL.context.uniform2uiv(location,data,srcOffset,srcLength); }; lime_graphics_opengl_GL.uniform3f = function(location,v0,v1,v2) { lime_graphics_opengl_GL.context.uniform3f(location,v0,v1,v2); }; lime_graphics_opengl_GL.uniform3fvWEBGL = function(location,data,srcOffset,srcLength) { var this1 = lime_graphics_opengl_GL.context; if(srcOffset != null) { this1.uniform3fv(location,data,srcOffset,srcLength); } else { this1.uniform3fv(location,data); } }; lime_graphics_opengl_GL.uniform3i = function(location,v0,v1,v2) { lime_graphics_opengl_GL.context.uniform3i(location,v0,v1,v2); }; lime_graphics_opengl_GL.uniform3ivWEBGL = function(location,data,srcOffset,srcLength) { var this1 = lime_graphics_opengl_GL.context; if(srcOffset != null) { this1.uniform3iv(location,data,srcOffset,srcLength); } else { this1.uniform3iv(location,data); } }; lime_graphics_opengl_GL.uniform3ui = function(location,v0,v1,v2) { lime_graphics_opengl_GL.context.uniform3ui(location,v0,v1,v2); }; lime_graphics_opengl_GL.uniform3uivWEBGL = function(location,data,srcOffset,srcLength) { lime_graphics_opengl_GL.context.uniform3uiv(location,data,srcOffset,srcLength); }; lime_graphics_opengl_GL.uniform4f = function(location,v0,v1,v2,v3) { lime_graphics_opengl_GL.context.uniform4f(location,v0,v1,v2,v3); }; lime_graphics_opengl_GL.uniform4fvWEBGL = function(location,data,srcOffset,srcLength) { var this1 = lime_graphics_opengl_GL.context; if(srcOffset != null) { this1.uniform4fv(location,data,srcOffset,srcLength); } else { this1.uniform4fv(location,data); } }; lime_graphics_opengl_GL.uniform4i = function(location,v0,v1,v2,v3) { lime_graphics_opengl_GL.context.uniform4i(location,v0,v1,v2,v3); }; lime_graphics_opengl_GL.uniform4ivWEBGL = function(location,data,srcOffset,srcLength) { var this1 = lime_graphics_opengl_GL.context; if(srcOffset != null) { this1.uniform4iv(location,data,srcOffset,srcLength); } else { this1.uniform4iv(location,data); } }; lime_graphics_opengl_GL.uniform4ui = function(location,v0,v1,v2,v3) { lime_graphics_opengl_GL.context.uniform4ui(location,v0,v1,v2,v3); }; lime_graphics_opengl_GL.uniform4uivWEBGL = function(location,data,srcOffset,srcLength) { lime_graphics_opengl_GL.context.uniform4uiv(location,data,srcOffset,srcLength); }; lime_graphics_opengl_GL.uniformBlockBinding = function(program,uniformBlockIndex,uniformBlockBinding) { lime_graphics_opengl_GL.context.uniformBlockBinding(program,uniformBlockIndex,uniformBlockBinding); }; lime_graphics_opengl_GL.uniformMatrix2fvWEBGL = function(location,transpose,v,srcOffset,srcLength) { var this1 = lime_graphics_opengl_GL.context; if(srcOffset != null) { this1.uniformMatrix2fv(location,transpose,v,srcOffset,srcLength); } else { this1.uniformMatrix2fv(location,transpose,v); } }; lime_graphics_opengl_GL.uniformMatrix2x3fvWEBGL = function(location,transpose,v,srcOffset,srcLength) { lime_graphics_opengl_GL.context.uniformMatrix2x3fv(location,transpose,v,srcOffset,srcLength); }; lime_graphics_opengl_GL.uniformMatrix2x4fvWEBGL = function(location,transpose,v,srcOffset,srcLength) { lime_graphics_opengl_GL.context.uniformMatrix2x4fv(location,transpose,v,srcOffset,srcLength); }; lime_graphics_opengl_GL.uniformMatrix3fvWEBGL = function(location,transpose,v,srcOffset,srcLength) { var this1 = lime_graphics_opengl_GL.context; if(srcOffset != null) { this1.uniformMatrix3fv(location,transpose,v,srcOffset,srcLength); } else { this1.uniformMatrix3fv(location,transpose,v); } }; lime_graphics_opengl_GL.uniformMatrix3x2fvWEBGL = function(location,transpose,v,srcOffset,srcLength) { lime_graphics_opengl_GL.context.uniformMatrix3x2fv(location,transpose,v,srcOffset,srcLength); }; lime_graphics_opengl_GL.uniformMatrix3x4fvWEBGL = function(location,transpose,v,srcOffset,srcLength) { lime_graphics_opengl_GL.context.uniformMatrix3x4fv(location,transpose,v,srcOffset,srcLength); }; lime_graphics_opengl_GL.uniformMatrix4fvWEBGL = function(location,transpose,v,srcOffset,srcLength) { var this1 = lime_graphics_opengl_GL.context; if(srcOffset != null) { this1.uniformMatrix4fv(location,transpose,v,srcOffset,srcLength); } else { this1.uniformMatrix4fv(location,transpose,v); } }; lime_graphics_opengl_GL.uniformMatrix4x2fvWEBGL = function(location,transpose,v,srcOffset,srcLength) { lime_graphics_opengl_GL.context.uniformMatrix4x2fv(location,transpose,v,srcOffset,srcLength); }; lime_graphics_opengl_GL.uniformMatrix4x3fvWEBGL = function(location,transpose,v,srcOffset,srcLength) { lime_graphics_opengl_GL.context.uniformMatrix4x3fv(location,transpose,v,srcOffset,srcLength); }; lime_graphics_opengl_GL.useProgram = function(program) { lime_graphics_opengl_GL.context.useProgram(program); }; lime_graphics_opengl_GL.validateProgram = function(program) { lime_graphics_opengl_GL.context.validateProgram(program); }; lime_graphics_opengl_GL.vertexAttrib1f = function(index,v0) { lime_graphics_opengl_GL.context.vertexAttrib1f(index,v0); }; lime_graphics_opengl_GL.vertexAttrib1fv = function(index,v) { lime_graphics_opengl_GL.context.vertexAttrib1fv(index,v); }; lime_graphics_opengl_GL.vertexAttrib1fvWEBGL = function(index,v) { lime_graphics_opengl_GL.context.vertexAttrib1fv(index,v); }; lime_graphics_opengl_GL.vertexAttrib2f = function(index,v0,v1) { lime_graphics_opengl_GL.context.vertexAttrib2f(index,v0,v1); }; lime_graphics_opengl_GL.vertexAttrib2fv = function(index,v) { lime_graphics_opengl_GL.context.vertexAttrib2fv(index,v); }; lime_graphics_opengl_GL.vertexAttrib2fvWEBGL = function(index,v) { lime_graphics_opengl_GL.context.vertexAttrib2fv(index,v); }; lime_graphics_opengl_GL.vertexAttrib3f = function(index,v0,v1,v2) { lime_graphics_opengl_GL.context.vertexAttrib3f(index,v0,v1,v2); }; lime_graphics_opengl_GL.vertexAttrib3fv = function(index,v) { lime_graphics_opengl_GL.context.vertexAttrib3fv(index,v); }; lime_graphics_opengl_GL.vertexAttrib3fvWEBGL = function(index,v) { lime_graphics_opengl_GL.context.vertexAttrib3fv(index,v); }; lime_graphics_opengl_GL.vertexAttrib4f = function(index,v0,v1,v2,v3) { lime_graphics_opengl_GL.context.vertexAttrib4f(index,v0,v1,v2,v3); }; lime_graphics_opengl_GL.vertexAttrib4fv = function(index,v) { lime_graphics_opengl_GL.context.vertexAttrib4fv(index,v); }; lime_graphics_opengl_GL.vertexAttrib4fvWEBGL = function(index,v) { lime_graphics_opengl_GL.context.vertexAttrib4fv(index,v); }; lime_graphics_opengl_GL.vertexAttribDivisor = function(index,divisor) { lime_graphics_opengl_GL.context.vertexAttribDivisor(index,divisor); }; lime_graphics_opengl_GL.vertexAttribI4i = function(index,v0,v1,v2,v3) { lime_graphics_opengl_GL.context.vertexAttribI4i(index,v0,v1,v2,v3); }; lime_graphics_opengl_GL.vertexAttribI4iv = function(index,v) { lime_graphics_opengl_GL.context.vertexAttribI4iv(index,v); }; lime_graphics_opengl_GL.vertexAttribI4ivWEBGL = function(index,v) { lime_graphics_opengl_GL.context.vertexAttribI4iv(index,v); }; lime_graphics_opengl_GL.vertexAttribI4ui = function(index,v0,v1,v2,v3) { lime_graphics_opengl_GL.context.vertexAttribI4ui(index,v0,v1,v2,v3); }; lime_graphics_opengl_GL.vertexAttribI4uiv = function(index,v) { lime_graphics_opengl_GL.context.vertexAttribI4uiv(index,v); }; lime_graphics_opengl_GL.vertexAttribI4uivWEBGL = function(index,v) { lime_graphics_opengl_GL.context.vertexAttribI4uiv(index,v); }; lime_graphics_opengl_GL.vertexAttribIPointer = function(index,size,type,stride,offset) { lime_graphics_opengl_GL.context.vertexAttribIPointer(index,size,type,stride,offset); }; lime_graphics_opengl_GL.vertexAttribPointer = function(index,size,type,normalized,stride,offset) { lime_graphics_opengl_GL.context.vertexAttribPointer(index,size,type,normalized,stride,offset); }; lime_graphics_opengl_GL.viewport = function(x,y,width,height) { lime_graphics_opengl_GL.context.viewport(x,y,width,height); }; lime_graphics_opengl_GL.waitSync = function(sync,flags,timeout) { lime_graphics_opengl_GL.context.waitSync(sync,flags,timeout); }; lime_graphics_opengl_GL.__getObjectID = function(object) { if(object == null) { return 0; } else { return object.id; } }; var lime_graphics_opengl__$GLProgram_GLProgram_$Impl_$ = {}; $hxClasses["lime.graphics.opengl._GLProgram.GLProgram_Impl_"] = lime_graphics_opengl__$GLProgram_GLProgram_$Impl_$; lime_graphics_opengl__$GLProgram_GLProgram_$Impl_$.__name__ = ["lime","graphics","opengl","_GLProgram","GLProgram_Impl_"]; lime_graphics_opengl__$GLProgram_GLProgram_$Impl_$.fromSources = function(gl,vertexSource,fragmentSource) { var vertexShader = lime_graphics_opengl__$GLShader_GLShader_$Impl_$.fromSource(gl,vertexSource,gl.VERTEX_SHADER); var fragmentShader = lime_graphics_opengl__$GLShader_GLShader_$Impl_$.fromSource(gl,fragmentSource,gl.FRAGMENT_SHADER); var program = gl.createProgram(); gl.attachShader(program,vertexShader); gl.attachShader(program,fragmentShader); gl.linkProgram(program); if(gl.getProgramParameter(program,35714) == 0) { var message = "Unable to initialize the shader program"; message += "\n" + lime_graphics_opengl_GL.context.getProgramInfoLog(program); lime_utils_Log.error(message,{ fileName : "GLProgram.hx", lineNumber : 40, className : "lime.graphics.opengl._GLProgram.GLProgram_Impl_", methodName : "fromSources"}); } return program; }; var lime_graphics_opengl__$GLShader_GLShader_$Impl_$ = {}; $hxClasses["lime.graphics.opengl._GLShader.GLShader_Impl_"] = lime_graphics_opengl__$GLShader_GLShader_$Impl_$; lime_graphics_opengl__$GLShader_GLShader_$Impl_$.__name__ = ["lime","graphics","opengl","_GLShader","GLShader_Impl_"]; lime_graphics_opengl__$GLShader_GLShader_$Impl_$.fromSource = function(gl,source,type) { var shader = gl.createShader(type); gl.shaderSource(shader,source); gl.compileShader(shader); if(gl.getShaderParameter(shader,gl.COMPILE_STATUS) == 0) { var message; if(type == gl.VERTEX_SHADER) { message = "Error compiling vertex shader"; } else if(type == gl.FRAGMENT_SHADER) { message = "Error compiling fragment shader"; } else { message = "Error compiling unknown shader type"; } message += "\n" + gl.getShaderInfoLog(shader); lime_utils_Log.error(message,{ fileName : "GLShader.hx", lineNumber : 41, className : "lime.graphics.opengl._GLShader.GLShader_Impl_", methodName : "fromSource"}); } return shader; }; var lime_graphics_opengl_ext_KHR_$debug = function() { this.STACK_UNDERFLOW = 1284; this.STACK_OVERFLOW = 1283; this.CONTEXT_FLAG_DEBUG_BIT = 2; this.DEBUG_OUTPUT = 37600; this.DEBUG_SEVERITY_LOW = 37192; this.DEBUG_SEVERITY_MEDIUM = 37191; this.DEBUG_SEVERITY_HIGH = 37190; this.DEBUG_LOGGED_MESSAGES = 37189; this.MAX_DEBUG_LOGGED_MESSAGES = 37188; this.MAX_DEBUG_MESSAGE_LENGTH = 37187; this.MAX_LABEL_LENGTH = 33512; this.SAMPLER = 33510; this.QUERY = 33507; this.PROGRAM = 33506; this.SHADER = 33505; this.BUFFER = 33504; this.DEBUG_GROUP_STACK_DEPTH = 33389; this.MAX_DEBUG_GROUP_STACK_DEPTH = 33388; this.DEBUG_SEVERITY_NOTIFICATION = 33387; this.DEBUG_TYPE_POP_GROUP = 33386; this.DEBUG_TYPE_PUSH_GROUP = 33385; this.DEBUG_TYPE_MARKER = 33384; this.DEBUG_TYPE_OTHER = 33361; this.DEBUG_TYPE_PERFORMANCE = 33360; this.DEBUG_TYPE_PORTABILITY = 33359; this.DEBUG_TYPE_UNDEFINED_BEHAVIOR = 33358; this.DEBUG_TYPE_DEPRECATED_BEHAVIOR = 33357; this.DEBUG_TYPE_ERROR = 33356; this.DEBUG_SOURCE_OTHER = 33355; this.DEBUG_SOURCE_APPLICATION = 33354; this.DEBUG_SOURCE_THIRD_PARTY = 33353; this.DEBUG_SOURCE_SHADER_COMPILER = 33352; this.DEBUG_SOURCE_WINDOW_SYSTEM = 33351; this.DEBUG_SOURCE_API = 33350; this.DEBUG_CALLBACK_USER_PARAM = 33349; this.DEBUG_CALLBACK_FUNCTION = 33348; this.DEBUG_NEXT_LOGGED_MESSAGE_LENGTH = 33347; this.DEBUG_OUTPUT_SYNCHRONOUS = 33346; }; $hxClasses["lime.graphics.opengl.ext.KHR_debug"] = lime_graphics_opengl_ext_KHR_$debug; lime_graphics_opengl_ext_KHR_$debug.__name__ = ["lime","graphics","opengl","ext","KHR_debug"]; lime_graphics_opengl_ext_KHR_$debug.prototype = { DEBUG_OUTPUT_SYNCHRONOUS: null ,DEBUG_NEXT_LOGGED_MESSAGE_LENGTH: null ,DEBUG_CALLBACK_FUNCTION: null ,DEBUG_CALLBACK_USER_PARAM: null ,DEBUG_SOURCE_API: null ,DEBUG_SOURCE_WINDOW_SYSTEM: null ,DEBUG_SOURCE_SHADER_COMPILER: null ,DEBUG_SOURCE_THIRD_PARTY: null ,DEBUG_SOURCE_APPLICATION: null ,DEBUG_SOURCE_OTHER: null ,DEBUG_TYPE_ERROR: null ,DEBUG_TYPE_DEPRECATED_BEHAVIOR: null ,DEBUG_TYPE_UNDEFINED_BEHAVIOR: null ,DEBUG_TYPE_PORTABILITY: null ,DEBUG_TYPE_PERFORMANCE: null ,DEBUG_TYPE_OTHER: null ,DEBUG_TYPE_MARKER: null ,DEBUG_TYPE_PUSH_GROUP: null ,DEBUG_TYPE_POP_GROUP: null ,DEBUG_SEVERITY_NOTIFICATION: null ,MAX_DEBUG_GROUP_STACK_DEPTH: null ,DEBUG_GROUP_STACK_DEPTH: null ,BUFFER: null ,SHADER: null ,PROGRAM: null ,QUERY: null ,SAMPLER: null ,MAX_LABEL_LENGTH: null ,MAX_DEBUG_MESSAGE_LENGTH: null ,MAX_DEBUG_LOGGED_MESSAGES: null ,DEBUG_LOGGED_MESSAGES: null ,DEBUG_SEVERITY_HIGH: null ,DEBUG_SEVERITY_MEDIUM: null ,DEBUG_SEVERITY_LOW: null ,DEBUG_OUTPUT: null ,CONTEXT_FLAG_DEBUG_BIT: null ,STACK_OVERFLOW: null ,STACK_UNDERFLOW: null ,__class__: lime_graphics_opengl_ext_KHR_$debug }; var lime_math__$ARGB_ARGB_$Impl_$ = {}; $hxClasses["lime.math._ARGB.ARGB_Impl_"] = lime_math__$ARGB_ARGB_$Impl_$; lime_math__$ARGB_ARGB_$Impl_$.__name__ = ["lime","math","_ARGB","ARGB_Impl_"]; lime_math__$ARGB_ARGB_$Impl_$.__properties__ = {set_r:"set_r",get_r:"get_r",set_g:"set_g",get_g:"get_g",set_b:"set_b",get_b:"get_b",set_a:"set_a",get_a:"get_a"}; lime_math__$ARGB_ARGB_$Impl_$.a16 = null; lime_math__$ARGB_ARGB_$Impl_$.unmult = null; lime_math__$ARGB_ARGB_$Impl_$._new = function(argb) { if(argb == null) { argb = 0; } var this1 = argb; return this1; }; lime_math__$ARGB_ARGB_$Impl_$.create = function(a,r,g,b) { var this1 = 0; var argb = this1; argb = (a & 255) << 24 | (r & 255) << 16 | (g & 255) << 8 | b & 255; return argb; }; lime_math__$ARGB_ARGB_$Impl_$.multiplyAlpha = function(this1) { if((this1 >>> 24 & 255) == 0) { this1 = 0; } else if((this1 >>> 24 & 255) != 255) { lime_math__$ARGB_ARGB_$Impl_$.a16 = lime_math__$RGBA_RGBA_$Impl_$.__alpha16[this1 >>> 24 & 255]; this1 = (this1 >>> 24 & 255 & 255) << 24 | ((this1 >>> 16 & 255) * lime_math__$ARGB_ARGB_$Impl_$.a16 >> 16 & 255) << 16 | ((this1 >>> 8 & 255) * lime_math__$ARGB_ARGB_$Impl_$.a16 >> 16 & 255) << 8 | (this1 & 255) * lime_math__$ARGB_ARGB_$Impl_$.a16 >> 16 & 255; } }; lime_math__$ARGB_ARGB_$Impl_$.readUInt8 = function(this1,data,offset,format,premultiplied) { if(premultiplied == null) { premultiplied = false; } if(format == null) { format = 0; } switch(format) { case 0: this1 = (data[offset + 1] & 255) << 24 | (data[offset + 2] & 255) << 16 | (data[offset + 3] & 255) << 8 | data[offset] & 255; break; case 1: this1 = (data[offset + 2] & 255) << 24 | (data[offset + 3] & 255) << 16 | (data[offset] & 255) << 8 | data[offset + 1] & 255; break; case 2: this1 = (data[offset + 1] & 255) << 24 | (data[offset] & 255) << 16 | (data[offset + 3] & 255) << 8 | data[offset + 2] & 255; break; } if(premultiplied) { if((this1 >>> 24 & 255) != 0 && (this1 >>> 24 & 255) != 255) { lime_math__$ARGB_ARGB_$Impl_$.unmult = 255.0 / (this1 >>> 24 & 255); this1 = (this1 >>> 24 & 255 & 255) << 24 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.floor((this1 >>> 16 & 255) * lime_math__$ARGB_ARGB_$Impl_$.unmult)] & 255) << 16 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.floor((this1 >>> 8 & 255) * lime_math__$ARGB_ARGB_$Impl_$.unmult)] & 255) << 8 | lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.floor((this1 & 255) * lime_math__$ARGB_ARGB_$Impl_$.unmult)] & 255; } } }; lime_math__$ARGB_ARGB_$Impl_$.set = function(this1,a,r,g,b) { this1 = (a & 255) << 24 | (r & 255) << 16 | (g & 255) << 8 | b & 255; }; lime_math__$ARGB_ARGB_$Impl_$.unmultiplyAlpha = function(this1) { if((this1 >>> 24 & 255) != 0 && (this1 >>> 24 & 255) != 255) { lime_math__$ARGB_ARGB_$Impl_$.unmult = 255.0 / (this1 >>> 24 & 255); this1 = (this1 >>> 24 & 255 & 255) << 24 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.floor((this1 >>> 16 & 255) * lime_math__$ARGB_ARGB_$Impl_$.unmult)] & 255) << 16 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.floor((this1 >>> 8 & 255) * lime_math__$ARGB_ARGB_$Impl_$.unmult)] & 255) << 8 | lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.floor((this1 & 255) * lime_math__$ARGB_ARGB_$Impl_$.unmult)] & 255; } }; lime_math__$ARGB_ARGB_$Impl_$.writeUInt8 = function(this1,data,offset,format,premultiplied) { if(premultiplied == null) { premultiplied = false; } if(format == null) { format = 0; } if(premultiplied) { if((this1 >>> 24 & 255) == 0) { this1 = 0; } else if((this1 >>> 24 & 255) != 255) { lime_math__$ARGB_ARGB_$Impl_$.a16 = lime_math__$RGBA_RGBA_$Impl_$.__alpha16[this1 >>> 24 & 255]; this1 = (this1 >>> 24 & 255 & 255) << 24 | ((this1 >>> 16 & 255) * lime_math__$ARGB_ARGB_$Impl_$.a16 >> 16 & 255) << 16 | ((this1 >>> 8 & 255) * lime_math__$ARGB_ARGB_$Impl_$.a16 >> 16 & 255) << 8 | (this1 & 255) * lime_math__$ARGB_ARGB_$Impl_$.a16 >> 16 & 255; } } switch(format) { case 0: data[offset] = this1 >>> 16 & 255; data[offset + 1] = this1 >>> 8 & 255; data[offset + 2] = this1 & 255; data[offset + 3] = this1 >>> 24 & 255; break; case 1: data[offset] = this1 >>> 24 & 255; data[offset + 1] = this1 >>> 16 & 255; data[offset + 2] = this1 >>> 8 & 255; data[offset + 3] = this1 & 255; break; case 2: data[offset] = this1 & 255; data[offset + 1] = this1 >>> 8 & 255; data[offset + 2] = this1 >>> 16 & 255; data[offset + 3] = this1 >>> 24 & 255; break; } }; lime_math__$ARGB_ARGB_$Impl_$.__fromBGRA = function(bgra) { var this1 = 0; var argb = this1; argb = (bgra & 255 & 255) << 24 | (bgra >>> 8 & 255 & 255) << 16 | (bgra >>> 16 & 255 & 255) << 8 | bgra >>> 24 & 255 & 255; return argb; }; lime_math__$ARGB_ARGB_$Impl_$.__fromRGBA = function(rgba) { var this1 = 0; var argb = this1; argb = (rgba & 255 & 255) << 24 | (rgba >>> 24 & 255 & 255) << 16 | (rgba >>> 16 & 255 & 255) << 8 | rgba >>> 8 & 255 & 255; return argb; }; lime_math__$ARGB_ARGB_$Impl_$.get_a = function(this1) { return this1 >>> 24 & 255; }; lime_math__$ARGB_ARGB_$Impl_$.set_a = function(this1,value) { this1 = (value & 255) << 24 | (this1 >>> 16 & 255 & 255) << 16 | (this1 >>> 8 & 255 & 255) << 8 | this1 & 255 & 255; return value; }; lime_math__$ARGB_ARGB_$Impl_$.get_b = function(this1) { return this1 & 255; }; lime_math__$ARGB_ARGB_$Impl_$.set_b = function(this1,value) { this1 = (this1 >>> 24 & 255 & 255) << 24 | (this1 >>> 16 & 255 & 255) << 16 | (this1 >>> 8 & 255 & 255) << 8 | value & 255; return value; }; lime_math__$ARGB_ARGB_$Impl_$.get_g = function(this1) { return this1 >>> 8 & 255; }; lime_math__$ARGB_ARGB_$Impl_$.set_g = function(this1,value) { this1 = (this1 >>> 24 & 255 & 255) << 24 | (this1 >>> 16 & 255 & 255) << 16 | (value & 255) << 8 | this1 & 255 & 255; return value; }; lime_math__$ARGB_ARGB_$Impl_$.get_r = function(this1) { return this1 >>> 16 & 255; }; lime_math__$ARGB_ARGB_$Impl_$.set_r = function(this1,value) { this1 = (this1 >>> 24 & 255 & 255) << 24 | (value & 255) << 16 | (this1 >>> 8 & 255 & 255) << 8 | this1 & 255 & 255; return value; }; var lime_math__$BGRA_BGRA_$Impl_$ = {}; $hxClasses["lime.math._BGRA.BGRA_Impl_"] = lime_math__$BGRA_BGRA_$Impl_$; lime_math__$BGRA_BGRA_$Impl_$.__name__ = ["lime","math","_BGRA","BGRA_Impl_"]; lime_math__$BGRA_BGRA_$Impl_$.__properties__ = {set_r:"set_r",get_r:"get_r",set_g:"set_g",get_g:"get_g",set_b:"set_b",get_b:"get_b",set_a:"set_a",get_a:"get_a"}; lime_math__$BGRA_BGRA_$Impl_$.a16 = null; lime_math__$BGRA_BGRA_$Impl_$.unmult = null; lime_math__$BGRA_BGRA_$Impl_$._new = function(bgra) { if(bgra == null) { bgra = 0; } var this1 = bgra; return this1; }; lime_math__$BGRA_BGRA_$Impl_$.create = function(b,g,r,a) { var this1 = 0; var bgra = this1; bgra = (b & 255) << 24 | (g & 255) << 16 | (r & 255) << 8 | a & 255; return bgra; }; lime_math__$BGRA_BGRA_$Impl_$.multiplyAlpha = function(this1) { if((this1 & 255) == 0) { this1 = 0; } else if((this1 & 255) != 255) { lime_math__$BGRA_BGRA_$Impl_$.a16 = lime_math__$RGBA_RGBA_$Impl_$.__alpha16[this1 & 255]; this1 = ((this1 >>> 24 & 255) * lime_math__$BGRA_BGRA_$Impl_$.a16 >> 16 & 255) << 24 | ((this1 >>> 16 & 255) * lime_math__$BGRA_BGRA_$Impl_$.a16 >> 16 & 255) << 16 | ((this1 >>> 8 & 255) * lime_math__$BGRA_BGRA_$Impl_$.a16 >> 16 & 255) << 8 | this1 & 255 & 255; } }; lime_math__$BGRA_BGRA_$Impl_$.readUInt8 = function(this1,data,offset,format,premultiplied) { if(premultiplied == null) { premultiplied = false; } if(format == null) { format = 0; } switch(format) { case 0: this1 = (data[offset + 2] & 255) << 24 | (data[offset + 1] & 255) << 16 | (data[offset] & 255) << 8 | data[offset + 3] & 255; break; case 1: this1 = (data[offset + 3] & 255) << 24 | (data[offset + 2] & 255) << 16 | (data[offset + 1] & 255) << 8 | data[offset] & 255; break; case 2: this1 = (data[offset] & 255) << 24 | (data[offset + 1] & 255) << 16 | (data[offset + 2] & 255) << 8 | data[offset + 3] & 255; break; } if(premultiplied) { if((this1 & 255) != 0 && (this1 & 255) != 255) { lime_math__$BGRA_BGRA_$Impl_$.unmult = 255.0 / (this1 & 255); this1 = (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.floor((this1 >>> 24 & 255) * lime_math__$BGRA_BGRA_$Impl_$.unmult)] & 255) << 24 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.floor((this1 >>> 16 & 255) * lime_math__$BGRA_BGRA_$Impl_$.unmult)] & 255) << 16 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.floor((this1 >>> 8 & 255) * lime_math__$BGRA_BGRA_$Impl_$.unmult)] & 255) << 8 | this1 & 255 & 255; } } }; lime_math__$BGRA_BGRA_$Impl_$.set = function(this1,b,g,r,a) { this1 = (b & 255) << 24 | (g & 255) << 16 | (r & 255) << 8 | a & 255; }; lime_math__$BGRA_BGRA_$Impl_$.unmultiplyAlpha = function(this1) { if((this1 & 255) != 0 && (this1 & 255) != 255) { lime_math__$BGRA_BGRA_$Impl_$.unmult = 255.0 / (this1 & 255); this1 = (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.floor((this1 >>> 24 & 255) * lime_math__$BGRA_BGRA_$Impl_$.unmult)] & 255) << 24 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.floor((this1 >>> 16 & 255) * lime_math__$BGRA_BGRA_$Impl_$.unmult)] & 255) << 16 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.floor((this1 >>> 8 & 255) * lime_math__$BGRA_BGRA_$Impl_$.unmult)] & 255) << 8 | this1 & 255 & 255; } }; lime_math__$BGRA_BGRA_$Impl_$.writeUInt8 = function(this1,data,offset,format,premultiplied) { if(premultiplied == null) { premultiplied = false; } if(format == null) { format = 0; } if(premultiplied) { if((this1 & 255) == 0) { this1 = 0; } else if((this1 & 255) != 255) { lime_math__$BGRA_BGRA_$Impl_$.a16 = lime_math__$RGBA_RGBA_$Impl_$.__alpha16[this1 & 255]; this1 = ((this1 >>> 24 & 255) * lime_math__$BGRA_BGRA_$Impl_$.a16 >> 16 & 255) << 24 | ((this1 >>> 16 & 255) * lime_math__$BGRA_BGRA_$Impl_$.a16 >> 16 & 255) << 16 | ((this1 >>> 8 & 255) * lime_math__$BGRA_BGRA_$Impl_$.a16 >> 16 & 255) << 8 | this1 & 255 & 255; } } switch(format) { case 0: data[offset] = this1 >>> 8 & 255; data[offset + 1] = this1 >>> 16 & 255; data[offset + 2] = this1 >>> 24 & 255; data[offset + 3] = this1 & 255; break; case 1: data[offset] = this1 & 255; data[offset + 1] = this1 >>> 8 & 255; data[offset + 2] = this1 >>> 16 & 255; data[offset + 3] = this1 >>> 24 & 255; break; case 2: data[offset] = this1 >>> 24 & 255; data[offset + 1] = this1 >>> 16 & 255; data[offset + 2] = this1 >>> 8 & 255; data[offset + 3] = this1 & 255; break; } }; lime_math__$BGRA_BGRA_$Impl_$.__fromARGB = function(argb) { var this1 = 0; var bgra = this1; bgra = (argb & 255 & 255) << 24 | (argb >>> 8 & 255 & 255) << 16 | (argb >>> 16 & 255 & 255) << 8 | argb >>> 24 & 255 & 255; return bgra; }; lime_math__$BGRA_BGRA_$Impl_$.__fromRGBA = function(rgba) { var this1 = 0; var bgra = this1; bgra = (rgba >>> 8 & 255 & 255) << 24 | (rgba >>> 16 & 255 & 255) << 16 | (rgba >>> 24 & 255 & 255) << 8 | rgba & 255 & 255; return bgra; }; lime_math__$BGRA_BGRA_$Impl_$.get_a = function(this1) { return this1 & 255; }; lime_math__$BGRA_BGRA_$Impl_$.set_a = function(this1,value) { this1 = (this1 >>> 24 & 255 & 255) << 24 | (this1 >>> 16 & 255 & 255) << 16 | (this1 >>> 8 & 255 & 255) << 8 | value & 255; return value; }; lime_math__$BGRA_BGRA_$Impl_$.get_b = function(this1) { return this1 >>> 24 & 255; }; lime_math__$BGRA_BGRA_$Impl_$.set_b = function(this1,value) { this1 = (value & 255) << 24 | (this1 >>> 16 & 255 & 255) << 16 | (this1 >>> 8 & 255 & 255) << 8 | this1 & 255 & 255; return value; }; lime_math__$BGRA_BGRA_$Impl_$.get_g = function(this1) { return this1 >>> 16 & 255; }; lime_math__$BGRA_BGRA_$Impl_$.set_g = function(this1,value) { this1 = (this1 >>> 24 & 255 & 255) << 24 | (value & 255) << 16 | (this1 >>> 8 & 255 & 255) << 8 | this1 & 255 & 255; return value; }; lime_math__$BGRA_BGRA_$Impl_$.get_r = function(this1) { return this1 >>> 8 & 255; }; lime_math__$BGRA_BGRA_$Impl_$.set_r = function(this1,value) { this1 = (this1 >>> 24 & 255 & 255) << 24 | (this1 >>> 16 & 255 & 255) << 16 | (value & 255) << 8 | this1 & 255 & 255; return value; }; var lime_math__$ColorMatrix_ColorMatrix_$Impl_$ = {}; $hxClasses["lime.math._ColorMatrix.ColorMatrix_Impl_"] = lime_math__$ColorMatrix_ColorMatrix_$Impl_$; lime_math__$ColorMatrix_ColorMatrix_$Impl_$.__name__ = ["lime","math","_ColorMatrix","ColorMatrix_Impl_"]; lime_math__$ColorMatrix_ColorMatrix_$Impl_$.__properties__ = {set_redOffset:"set_redOffset",get_redOffset:"get_redOffset",set_redMultiplier:"set_redMultiplier",get_redMultiplier:"get_redMultiplier",set_greenOffset:"set_greenOffset",get_greenOffset:"get_greenOffset",set_greenMultiplier:"set_greenMultiplier",get_greenMultiplier:"get_greenMultiplier",set_color:"set_color",get_color:"get_color",set_blueOffset:"set_blueOffset",get_blueOffset:"get_blueOffset",set_blueMultiplier:"set_blueMultiplier",get_blueMultiplier:"get_blueMultiplier",set_alphaOffset:"set_alphaOffset",get_alphaOffset:"get_alphaOffset",set_alphaMultiplier:"set_alphaMultiplier",get_alphaMultiplier:"get_alphaMultiplier"}; lime_math__$ColorMatrix_ColorMatrix_$Impl_$.__alphaTable = null; lime_math__$ColorMatrix_ColorMatrix_$Impl_$.__blueTable = null; lime_math__$ColorMatrix_ColorMatrix_$Impl_$.__greenTable = null; lime_math__$ColorMatrix_ColorMatrix_$Impl_$.__redTable = null; lime_math__$ColorMatrix_ColorMatrix_$Impl_$._new = function(data) { var this1; if(data != null && data.length == 20) { this1 = data; } else { var array = lime_math__$ColorMatrix_ColorMatrix_$Impl_$.__identity; var this2; if(array != null) { this2 = new Float32Array(array); } else { this2 = null; } this1 = this2; } return this1; }; lime_math__$ColorMatrix_ColorMatrix_$Impl_$.clone = function(this1) { var this2; if(this1 != null) { this2 = new Float32Array(this1); } else { this2 = null; } return lime_math__$ColorMatrix_ColorMatrix_$Impl_$._new(this2); }; lime_math__$ColorMatrix_ColorMatrix_$Impl_$.concat = function(this1,second) { var _g = this1; _g[0] += second[0]; var _g1 = this1; _g1[6] += second[6]; var _g2 = this1; _g2[12] += second[12]; var _g3 = this1; _g3[18] += second[18]; }; lime_math__$ColorMatrix_ColorMatrix_$Impl_$.copyFrom = function(this1,other) { this1.set(other); }; lime_math__$ColorMatrix_ColorMatrix_$Impl_$.identity = function(this1) { this1[0] = 1; this1[1] = 0; this1[2] = 0; this1[3] = 0; this1[4] = 0; this1[5] = 0; this1[6] = 1; this1[7] = 0; this1[8] = 0; this1[9] = 0; this1[10] = 0; this1[11] = 0; this1[12] = 1; this1[13] = 0; this1[14] = 0; this1[15] = 0; this1[16] = 0; this1[17] = 0; this1[18] = 1; this1[19] = 0; }; lime_math__$ColorMatrix_ColorMatrix_$Impl_$.getAlphaTable = function(this1) { if(lime_math__$ColorMatrix_ColorMatrix_$Impl_$.__alphaTable == null) { var this2 = new Uint8Array(256); lime_math__$ColorMatrix_ColorMatrix_$Impl_$.__alphaTable = this2; } var value; lime_math__$ColorMatrix_ColorMatrix_$Impl_$.__alphaTable[0] = 0; var _g = 1; while(_g < 256) { var i = _g++; value = Math.floor(i * this1[18] + this1[19] * 255); if(value > 255) { value = 255; } if(value < 0) { value = 0; } lime_math__$ColorMatrix_ColorMatrix_$Impl_$.__alphaTable[i] = value; } return lime_math__$ColorMatrix_ColorMatrix_$Impl_$.__alphaTable; }; lime_math__$ColorMatrix_ColorMatrix_$Impl_$.getBlueTable = function(this1) { if(lime_math__$ColorMatrix_ColorMatrix_$Impl_$.__blueTable == null) { var this2 = new Uint8Array(256); lime_math__$ColorMatrix_ColorMatrix_$Impl_$.__blueTable = this2; } var value; var _g = 0; while(_g < 256) { var i = _g++; value = Math.floor(i * this1[12] + this1[14] * 255); if(value > 255) { value = 255; } if(value < 0) { value = 0; } lime_math__$ColorMatrix_ColorMatrix_$Impl_$.__blueTable[i] = value; } return lime_math__$ColorMatrix_ColorMatrix_$Impl_$.__blueTable; }; lime_math__$ColorMatrix_ColorMatrix_$Impl_$.getGreenTable = function(this1) { if(lime_math__$ColorMatrix_ColorMatrix_$Impl_$.__greenTable == null) { var this2 = new Uint8Array(256); lime_math__$ColorMatrix_ColorMatrix_$Impl_$.__greenTable = this2; } var value; var _g = 0; while(_g < 256) { var i = _g++; value = Math.floor(i * this1[6] + this1[9] * 255); if(value > 255) { value = 255; } if(value < 0) { value = 0; } lime_math__$ColorMatrix_ColorMatrix_$Impl_$.__greenTable[i] = value; } return lime_math__$ColorMatrix_ColorMatrix_$Impl_$.__greenTable; }; lime_math__$ColorMatrix_ColorMatrix_$Impl_$.getRedTable = function(this1) { if(lime_math__$ColorMatrix_ColorMatrix_$Impl_$.__redTable == null) { var this2 = new Uint8Array(256); lime_math__$ColorMatrix_ColorMatrix_$Impl_$.__redTable = this2; } var value; var _g = 0; while(_g < 256) { var i = _g++; value = Math.floor(i * this1[0] + this1[4] * 255); if(value > 255) { value = 255; } if(value < 0) { value = 0; } lime_math__$ColorMatrix_ColorMatrix_$Impl_$.__redTable[i] = value; } return lime_math__$ColorMatrix_ColorMatrix_$Impl_$.__redTable; }; lime_math__$ColorMatrix_ColorMatrix_$Impl_$.__toFlashColorTransform = function(this1) { return null; }; lime_math__$ColorMatrix_ColorMatrix_$Impl_$.get_alphaMultiplier = function(this1) { return this1[18]; }; lime_math__$ColorMatrix_ColorMatrix_$Impl_$.set_alphaMultiplier = function(this1,value) { return this1[18] = value; }; lime_math__$ColorMatrix_ColorMatrix_$Impl_$.get_alphaOffset = function(this1) { return this1[19] * 255; }; lime_math__$ColorMatrix_ColorMatrix_$Impl_$.set_alphaOffset = function(this1,value) { return this1[19] = value / 255; }; lime_math__$ColorMatrix_ColorMatrix_$Impl_$.get_blueMultiplier = function(this1) { return this1[12]; }; lime_math__$ColorMatrix_ColorMatrix_$Impl_$.set_blueMultiplier = function(this1,value) { return this1[12] = value; }; lime_math__$ColorMatrix_ColorMatrix_$Impl_$.get_blueOffset = function(this1) { return this1[14] * 255; }; lime_math__$ColorMatrix_ColorMatrix_$Impl_$.set_blueOffset = function(this1,value) { return this1[14] = value / 255; }; lime_math__$ColorMatrix_ColorMatrix_$Impl_$.get_color = function(this1) { return (this1[4] * 255 | 0) << 16 | (this1[9] * 255 | 0) << 8 | (this1[14] * 255 | 0); }; lime_math__$ColorMatrix_ColorMatrix_$Impl_$.set_color = function(this1,value) { this1[4] = (value >> 16 & 255) / 255; this1[9] = (value >> 8 & 255) / 255; this1[14] = (value & 255) / 255; this1[0] = 0; this1[6] = 0; this1[12] = 0; return lime_math__$ColorMatrix_ColorMatrix_$Impl_$.get_color(this1); }; lime_math__$ColorMatrix_ColorMatrix_$Impl_$.get_greenMultiplier = function(this1) { return this1[6]; }; lime_math__$ColorMatrix_ColorMatrix_$Impl_$.set_greenMultiplier = function(this1,value) { return this1[6] = value; }; lime_math__$ColorMatrix_ColorMatrix_$Impl_$.get_greenOffset = function(this1) { return this1[9] * 255; }; lime_math__$ColorMatrix_ColorMatrix_$Impl_$.set_greenOffset = function(this1,value) { return this1[9] = value / 255; }; lime_math__$ColorMatrix_ColorMatrix_$Impl_$.get_redMultiplier = function(this1) { return this1[0]; }; lime_math__$ColorMatrix_ColorMatrix_$Impl_$.set_redMultiplier = function(this1,value) { return this1[0] = value; }; lime_math__$ColorMatrix_ColorMatrix_$Impl_$.get_redOffset = function(this1) { return this1[4] * 255; }; lime_math__$ColorMatrix_ColorMatrix_$Impl_$.set_redOffset = function(this1,value) { return this1[4] = value / 255; }; lime_math__$ColorMatrix_ColorMatrix_$Impl_$.get = function(this1,index) { return this1[index]; }; lime_math__$ColorMatrix_ColorMatrix_$Impl_$.set = function(this1,index,value) { return this1[index] = value; }; var lime_math__$Matrix4_Matrix4_$Impl_$ = {}; $hxClasses["lime.math._Matrix4.Matrix4_Impl_"] = lime_math__$Matrix4_Matrix4_$Impl_$; lime_math__$Matrix4_Matrix4_$Impl_$.__name__ = ["lime","math","_Matrix4","Matrix4_Impl_"]; lime_math__$Matrix4_Matrix4_$Impl_$.__properties__ = {set_position:"set_position",get_position:"get_position",get_determinant:"get_determinant"}; lime_math__$Matrix4_Matrix4_$Impl_$._new = function(data) { var this1; if(data != null && data.length == 16) { this1 = data; } else { var array = lime_math__$Matrix4_Matrix4_$Impl_$.__identity; var this2; if(array != null) { this2 = new Float32Array(array); } else { this2 = null; } this1 = this2; } return this1; }; lime_math__$Matrix4_Matrix4_$Impl_$.append = function(this1,lhs) { var m111 = this1[0]; var m121 = this1[4]; var m131 = this1[8]; var m141 = this1[12]; var m112 = this1[1]; var m122 = this1[5]; var m132 = this1[9]; var m142 = this1[13]; var m113 = this1[2]; var m123 = this1[6]; var m133 = this1[10]; var m143 = this1[14]; var m114 = this1[3]; var m124 = this1[7]; var m134 = this1[11]; var m144 = this1[15]; var m211 = lime_math__$Matrix4_Matrix4_$Impl_$.get(lhs,0); var m221 = lime_math__$Matrix4_Matrix4_$Impl_$.get(lhs,4); var m231 = lime_math__$Matrix4_Matrix4_$Impl_$.get(lhs,8); var m241 = lime_math__$Matrix4_Matrix4_$Impl_$.get(lhs,12); var m212 = lime_math__$Matrix4_Matrix4_$Impl_$.get(lhs,1); var m222 = lime_math__$Matrix4_Matrix4_$Impl_$.get(lhs,5); var m232 = lime_math__$Matrix4_Matrix4_$Impl_$.get(lhs,9); var m242 = lime_math__$Matrix4_Matrix4_$Impl_$.get(lhs,13); var m213 = lime_math__$Matrix4_Matrix4_$Impl_$.get(lhs,2); var m223 = lime_math__$Matrix4_Matrix4_$Impl_$.get(lhs,6); var m233 = lime_math__$Matrix4_Matrix4_$Impl_$.get(lhs,10); var m243 = lime_math__$Matrix4_Matrix4_$Impl_$.get(lhs,14); var m214 = lime_math__$Matrix4_Matrix4_$Impl_$.get(lhs,3); var m224 = lime_math__$Matrix4_Matrix4_$Impl_$.get(lhs,7); var m234 = lime_math__$Matrix4_Matrix4_$Impl_$.get(lhs,11); var m244 = lime_math__$Matrix4_Matrix4_$Impl_$.get(lhs,15); this1[0] = m111 * m211 + m112 * m221 + m113 * m231 + m114 * m241; this1[1] = m111 * m212 + m112 * m222 + m113 * m232 + m114 * m242; this1[2] = m111 * m213 + m112 * m223 + m113 * m233 + m114 * m243; this1[3] = m111 * m214 + m112 * m224 + m113 * m234 + m114 * m244; this1[4] = m121 * m211 + m122 * m221 + m123 * m231 + m124 * m241; this1[5] = m121 * m212 + m122 * m222 + m123 * m232 + m124 * m242; this1[6] = m121 * m213 + m122 * m223 + m123 * m233 + m124 * m243; this1[7] = m121 * m214 + m122 * m224 + m123 * m234 + m124 * m244; this1[8] = m131 * m211 + m132 * m221 + m133 * m231 + m134 * m241; this1[9] = m131 * m212 + m132 * m222 + m133 * m232 + m134 * m242; this1[10] = m131 * m213 + m132 * m223 + m133 * m233 + m134 * m243; this1[11] = m131 * m214 + m132 * m224 + m133 * m234 + m134 * m244; this1[12] = m141 * m211 + m142 * m221 + m143 * m231 + m144 * m241; this1[13] = m141 * m212 + m142 * m222 + m143 * m232 + m144 * m242; this1[14] = m141 * m213 + m142 * m223 + m143 * m233 + m144 * m243; this1[15] = m141 * m214 + m142 * m224 + m143 * m234 + m144 * m244; }; lime_math__$Matrix4_Matrix4_$Impl_$.appendRotation = function(this1,degrees,axis,pivotPoint) { var m = lime_math__$Matrix4_Matrix4_$Impl_$.__getAxisRotation(this1,axis.x,axis.y,axis.z,degrees); if(pivotPoint != null) { var p = pivotPoint; lime_math__$Matrix4_Matrix4_$Impl_$.appendTranslation(m,p.x,p.y,p.z); } lime_math__$Matrix4_Matrix4_$Impl_$.append(this1,m); }; lime_math__$Matrix4_Matrix4_$Impl_$.appendScale = function(this1,xScale,yScale,zScale) { var array = [xScale,0.0,0.0,0.0,0.0,yScale,0.0,0.0,0.0,0.0,zScale,0.0,0.0,0.0,0.0,1.0]; var this2; if(array != null) { this2 = new Float32Array(array); } else { this2 = null; } lime_math__$Matrix4_Matrix4_$Impl_$.append(this1,lime_math__$Matrix4_Matrix4_$Impl_$._new(this2)); }; lime_math__$Matrix4_Matrix4_$Impl_$.appendTranslation = function(this1,x,y,z) { this1[12] += x; this1[13] += y; this1[14] += z; }; lime_math__$Matrix4_Matrix4_$Impl_$.clone = function(this1) { var this2; if(this1 != null) { this2 = new Float32Array(this1); } else { this2 = null; } return lime_math__$Matrix4_Matrix4_$Impl_$._new(this2); }; lime_math__$Matrix4_Matrix4_$Impl_$.copyColumnFrom = function(this1,column,vector) { switch(column) { case 0: this1[0] = vector.x; this1[1] = vector.y; this1[2] = vector.z; this1[3] = vector.w; break; case 1: this1[4] = vector.x; this1[5] = vector.y; this1[6] = vector.z; this1[7] = vector.w; break; case 2: this1[8] = vector.x; this1[9] = vector.y; this1[10] = vector.z; this1[11] = vector.w; break; case 3: this1[12] = vector.x; this1[13] = vector.y; this1[14] = vector.z; this1[15] = vector.w; break; default: lime_utils_Log.error("Column " + column + " out of bounds [0, ..., 3]",{ fileName : "Matrix4.hx", lineNumber : 185, className : "lime.math._Matrix4.Matrix4_Impl_", methodName : "copyColumnFrom"}); } }; lime_math__$Matrix4_Matrix4_$Impl_$.copyColumnTo = function(this1,column,vector) { switch(column) { case 0: vector.x = this1[0]; vector.y = this1[1]; vector.z = this1[2]; vector.w = this1[3]; break; case 1: vector.x = this1[4]; vector.y = this1[5]; vector.z = this1[6]; vector.w = this1[7]; break; case 2: vector.x = this1[8]; vector.y = this1[9]; vector.z = this1[10]; vector.w = this1[11]; break; case 3: vector.x = this1[12]; vector.y = this1[13]; vector.z = this1[14]; vector.w = this1[15]; break; default: lime_utils_Log.error("Column " + column + " out of bounds [0, ..., 3]",{ fileName : "Matrix4.hx", lineNumber : 231, className : "lime.math._Matrix4.Matrix4_Impl_", methodName : "copyColumnTo"}); } }; lime_math__$Matrix4_Matrix4_$Impl_$.copyFrom = function(this1,other) { this1.set(other); }; lime_math__$Matrix4_Matrix4_$Impl_$.copyRowFrom = function(this1,row,vector) { switch(row) { case 0: this1[0] = vector.x; this1[4] = vector.y; this1[8] = vector.z; this1[12] = vector.w; break; case 1: this1[1] = vector.x; this1[5] = vector.y; this1[9] = vector.z; this1[13] = vector.w; break; case 2: this1[2] = vector.x; this1[6] = vector.y; this1[10] = vector.z; this1[14] = vector.w; break; case 3: this1[3] = vector.x; this1[7] = vector.y; this1[11] = vector.z; this1[15] = vector.w; break; default: lime_utils_Log.error("Row " + row + " out of bounds [0, ..., 3]",{ fileName : "Matrix4.hx", lineNumber : 288, className : "lime.math._Matrix4.Matrix4_Impl_", methodName : "copyRowFrom"}); } }; lime_math__$Matrix4_Matrix4_$Impl_$.copyRowTo = function(this1,row,vector) { switch(row) { case 0: vector.x = this1[0]; vector.y = this1[4]; vector.z = this1[8]; vector.w = this1[12]; break; case 1: vector.x = this1[1]; vector.y = this1[5]; vector.z = this1[9]; vector.w = this1[13]; break; case 2: vector.x = this1[2]; vector.y = this1[6]; vector.z = this1[10]; vector.w = this1[14]; break; case 3: vector.x = this1[3]; vector.y = this1[7]; vector.z = this1[11]; vector.w = this1[15]; break; default: lime_utils_Log.error("Row " + row + " out of bounds [0, ..., 3]",{ fileName : "Matrix4.hx", lineNumber : 334, className : "lime.math._Matrix4.Matrix4_Impl_", methodName : "copyRowTo"}); } }; lime_math__$Matrix4_Matrix4_$Impl_$.create2D = function(this1,a,b,c,d,tx,ty) { if(ty == null) { ty = 0; } if(tx == null) { tx = 0; } this1[0] = a; this1[1] = b; this1[2] = 0; this1[3] = 0; this1[4] = c; this1[5] = d; this1[6] = 0; this1[7] = 0; this1[8] = 0; this1[9] = 0; this1[10] = 1; this1[11] = 0; this1[12] = tx; this1[13] = ty; this1[14] = 0; this1[15] = 1; }; lime_math__$Matrix4_Matrix4_$Impl_$.createOrtho = function(this1,left,right,bottom,top,zNear,zFar) { var sx = 1.0 / (right - left); var sy = 1.0 / (top - bottom); var sz = 1.0 / (zFar - zNear); this1[0] = 2 * sx; this1[1] = 0; this1[2] = 0; this1[3] = 0; this1[4] = 0; this1[5] = 2 * sy; this1[6] = 0; this1[7] = 0; this1[8] = 0; this1[9] = 0; this1[10] = -2 * sz; this1[11] = 0; this1[12] = -(left + right) * sx; this1[13] = -(bottom + top) * sy; this1[14] = -(zNear + zFar) * sz; this1[15] = 1; }; lime_math__$Matrix4_Matrix4_$Impl_$.deltaTransformVector = function(this1,v,result) { if(result == null) { result = new lime_math_Vector4(); } var x = v.x; var y = v.y; var z = v.z; result.x = x * this1[0] + y * this1[4] + z * this1[8] + this1[3]; result.y = x * this1[1] + y * this1[5] + z * this1[9] + this1[7]; result.z = x * this1[2] + y * this1[6] + z * this1[10] + this1[11]; return result; }; lime_math__$Matrix4_Matrix4_$Impl_$.fromMatrix3 = function(matrix3) { var mat = lime_math__$Matrix4_Matrix4_$Impl_$._new(); lime_math__$Matrix4_Matrix4_$Impl_$.create2D(mat,matrix3.a,matrix3.b,matrix3.c,matrix3.d,matrix3.tx,matrix3.ty); return mat; }; lime_math__$Matrix4_Matrix4_$Impl_$.identity = function(this1) { this1[0] = 1; this1[1] = 0; this1[2] = 0; this1[3] = 0; this1[4] = 0; this1[5] = 1; this1[6] = 0; this1[7] = 0; this1[8] = 0; this1[9] = 0; this1[10] = 1; this1[11] = 0; this1[12] = 0; this1[13] = 0; this1[14] = 0; this1[15] = 1; }; lime_math__$Matrix4_Matrix4_$Impl_$.interpolate = function(thisMat,toMat,percent,result) { if(result == null) { result = lime_math__$Matrix4_Matrix4_$Impl_$._new(); } var _g = 0; while(_g < 16) { var i = _g++; lime_math__$Matrix4_Matrix4_$Impl_$.set(result,i,lime_math__$Matrix4_Matrix4_$Impl_$.get(thisMat,i) + (lime_math__$Matrix4_Matrix4_$Impl_$.get(toMat,i) - lime_math__$Matrix4_Matrix4_$Impl_$.get(thisMat,i)) * percent); } return result; }; lime_math__$Matrix4_Matrix4_$Impl_$.interpolateTo = function(this1,toMat,percent) { var _g = 0; while(_g < 16) { var i = _g++; this1[i] += (lime_math__$Matrix4_Matrix4_$Impl_$.get(toMat,i) - this1[i]) * percent; } }; lime_math__$Matrix4_Matrix4_$Impl_$.invert = function(this1) { var d = lime_math__$Matrix4_Matrix4_$Impl_$.get_determinant(this1); var invertable = Math.abs(d) > 0.00000000001; if(invertable) { d = 1 / d; var m11 = this1[0]; var m21 = this1[4]; var m31 = this1[8]; var m41 = this1[12]; var m12 = this1[1]; var m22 = this1[5]; var m32 = this1[9]; var m42 = this1[13]; var m13 = this1[2]; var m23 = this1[6]; var m33 = this1[10]; var m43 = this1[14]; var m14 = this1[3]; var m24 = this1[7]; var m34 = this1[11]; var m44 = this1[15]; this1[0] = d * (m22 * (m33 * m44 - m43 * m34) - m32 * (m23 * m44 - m43 * m24) + m42 * (m23 * m34 - m33 * m24)); this1[1] = -d * (m12 * (m33 * m44 - m43 * m34) - m32 * (m13 * m44 - m43 * m14) + m42 * (m13 * m34 - m33 * m14)); this1[2] = d * (m12 * (m23 * m44 - m43 * m24) - m22 * (m13 * m44 - m43 * m14) + m42 * (m13 * m24 - m23 * m14)); this1[3] = -d * (m12 * (m23 * m34 - m33 * m24) - m22 * (m13 * m34 - m33 * m14) + m32 * (m13 * m24 - m23 * m14)); this1[4] = -d * (m21 * (m33 * m44 - m43 * m34) - m31 * (m23 * m44 - m43 * m24) + m41 * (m23 * m34 - m33 * m24)); this1[5] = d * (m11 * (m33 * m44 - m43 * m34) - m31 * (m13 * m44 - m43 * m14) + m41 * (m13 * m34 - m33 * m14)); this1[6] = -d * (m11 * (m23 * m44 - m43 * m24) - m21 * (m13 * m44 - m43 * m14) + m41 * (m13 * m24 - m23 * m14)); this1[7] = d * (m11 * (m23 * m34 - m33 * m24) - m21 * (m13 * m34 - m33 * m14) + m31 * (m13 * m24 - m23 * m14)); this1[8] = d * (m21 * (m32 * m44 - m42 * m34) - m31 * (m22 * m44 - m42 * m24) + m41 * (m22 * m34 - m32 * m24)); this1[9] = -d * (m11 * (m32 * m44 - m42 * m34) - m31 * (m12 * m44 - m42 * m14) + m41 * (m12 * m34 - m32 * m14)); this1[10] = d * (m11 * (m22 * m44 - m42 * m24) - m21 * (m12 * m44 - m42 * m14) + m41 * (m12 * m24 - m22 * m14)); this1[11] = -d * (m11 * (m22 * m34 - m32 * m24) - m21 * (m12 * m34 - m32 * m14) + m31 * (m12 * m24 - m22 * m14)); this1[12] = -d * (m21 * (m32 * m43 - m42 * m33) - m31 * (m22 * m43 - m42 * m23) + m41 * (m22 * m33 - m32 * m23)); this1[13] = d * (m11 * (m32 * m43 - m42 * m33) - m31 * (m12 * m43 - m42 * m13) + m41 * (m12 * m33 - m32 * m13)); this1[14] = -d * (m11 * (m22 * m43 - m42 * m23) - m21 * (m12 * m43 - m42 * m13) + m41 * (m12 * m23 - m22 * m13)); this1[15] = d * (m11 * (m22 * m33 - m32 * m23) - m21 * (m12 * m33 - m32 * m13) + m31 * (m12 * m23 - m22 * m13)); } return invertable; }; lime_math__$Matrix4_Matrix4_$Impl_$.pointAt = function(this1,pos,at,up) { if(at == null) { at = new lime_math_Vector4(0,0,1); } if(up == null) { up = new lime_math_Vector4(0,1,0); } var result = null; if(result == null) { result = new lime_math_Vector4(); } result.x = pos.x - at.x; result.y = pos.y - at.y; result.z = pos.z - at.z; var dir = result; var vup = new lime_math_Vector4(up.x,up.y,up.z,up.w); var right; var l = Math.sqrt(dir.x * dir.x + dir.y * dir.y + dir.z * dir.z); if(l != 0) { dir.x /= l; dir.y /= l; dir.z /= l; } var l1 = Math.sqrt(vup.x * vup.x + vup.y * vup.y + vup.z * vup.z); if(l1 != 0) { vup.x /= l1; vup.y /= l1; vup.z /= l1; } var dir2 = new lime_math_Vector4(dir.x,dir.y,dir.z,dir.w); var s = vup.x * dir.x + vup.y * dir.y + vup.z * dir.z; dir2.x *= s; dir2.y *= s; dir2.z *= s; var result1 = null; if(result1 == null) { result1 = new lime_math_Vector4(); } result1.x = vup.x - dir2.x; result1.y = vup.y - dir2.y; result1.z = vup.z - dir2.z; vup = result1; if(Math.sqrt(vup.x * vup.x + vup.y * vup.y + vup.z * vup.z) > 0) { var l2 = Math.sqrt(vup.x * vup.x + vup.y * vup.y + vup.z * vup.z); if(l2 != 0) { vup.x /= l2; vup.y /= l2; vup.z /= l2; } } else if(dir.x != 0) { vup = new lime_math_Vector4(-dir.y,dir.x,0); } else { vup = new lime_math_Vector4(1,0,0); } var result2 = null; if(result2 == null) { result2 = new lime_math_Vector4(); } var ya = vup.z * dir.x - vup.x * dir.z; var za = vup.x * dir.y - vup.y * dir.x; result2.x = vup.y * dir.z - vup.z * dir.y; result2.y = ya; result2.z = za; result2.w = 1; right = result2; var l3 = Math.sqrt(right.x * right.x + right.y * right.y + right.z * right.z); if(l3 != 0) { right.x /= l3; right.y /= l3; right.z /= l3; } this1[0] = right.x; this1[4] = right.y; this1[8] = right.z; this1[12] = 0.0; this1[1] = vup.x; this1[5] = vup.y; this1[9] = vup.z; this1[13] = 0.0; this1[2] = dir.x; this1[6] = dir.y; this1[10] = dir.z; this1[14] = 0.0; this1[3] = pos.x; this1[7] = pos.y; this1[11] = pos.z; this1[15] = 1.0; }; lime_math__$Matrix4_Matrix4_$Impl_$.prepend = function(this1,rhs) { var m111 = lime_math__$Matrix4_Matrix4_$Impl_$.get(rhs,0); var m121 = lime_math__$Matrix4_Matrix4_$Impl_$.get(rhs,4); var m131 = lime_math__$Matrix4_Matrix4_$Impl_$.get(rhs,8); var m141 = lime_math__$Matrix4_Matrix4_$Impl_$.get(rhs,12); var m112 = lime_math__$Matrix4_Matrix4_$Impl_$.get(rhs,1); var m122 = lime_math__$Matrix4_Matrix4_$Impl_$.get(rhs,5); var m132 = lime_math__$Matrix4_Matrix4_$Impl_$.get(rhs,9); var m142 = lime_math__$Matrix4_Matrix4_$Impl_$.get(rhs,13); var m113 = lime_math__$Matrix4_Matrix4_$Impl_$.get(rhs,2); var m123 = lime_math__$Matrix4_Matrix4_$Impl_$.get(rhs,6); var m133 = lime_math__$Matrix4_Matrix4_$Impl_$.get(rhs,10); var m143 = lime_math__$Matrix4_Matrix4_$Impl_$.get(rhs,14); var m114 = lime_math__$Matrix4_Matrix4_$Impl_$.get(rhs,3); var m124 = lime_math__$Matrix4_Matrix4_$Impl_$.get(rhs,7); var m134 = lime_math__$Matrix4_Matrix4_$Impl_$.get(rhs,11); var m144 = lime_math__$Matrix4_Matrix4_$Impl_$.get(rhs,15); var m211 = this1[0]; var m221 = this1[4]; var m231 = this1[8]; var m241 = this1[12]; var m212 = this1[1]; var m222 = this1[5]; var m232 = this1[9]; var m242 = this1[13]; var m213 = this1[2]; var m223 = this1[6]; var m233 = this1[10]; var m243 = this1[14]; var m214 = this1[3]; var m224 = this1[7]; var m234 = this1[11]; var m244 = this1[15]; this1[0] = m111 * m211 + m112 * m221 + m113 * m231 + m114 * m241; this1[1] = m111 * m212 + m112 * m222 + m113 * m232 + m114 * m242; this1[2] = m111 * m213 + m112 * m223 + m113 * m233 + m114 * m243; this1[3] = m111 * m214 + m112 * m224 + m113 * m234 + m114 * m244; this1[4] = m121 * m211 + m122 * m221 + m123 * m231 + m124 * m241; this1[5] = m121 * m212 + m122 * m222 + m123 * m232 + m124 * m242; this1[6] = m121 * m213 + m122 * m223 + m123 * m233 + m124 * m243; this1[7] = m121 * m214 + m122 * m224 + m123 * m234 + m124 * m244; this1[8] = m131 * m211 + m132 * m221 + m133 * m231 + m134 * m241; this1[9] = m131 * m212 + m132 * m222 + m133 * m232 + m134 * m242; this1[10] = m131 * m213 + m132 * m223 + m133 * m233 + m134 * m243; this1[11] = m131 * m214 + m132 * m224 + m133 * m234 + m134 * m244; this1[12] = m141 * m211 + m142 * m221 + m143 * m231 + m144 * m241; this1[13] = m141 * m212 + m142 * m222 + m143 * m232 + m144 * m242; this1[14] = m141 * m213 + m142 * m223 + m143 * m233 + m144 * m243; this1[15] = m141 * m214 + m142 * m224 + m143 * m234 + m144 * m244; }; lime_math__$Matrix4_Matrix4_$Impl_$.prependRotation = function(this1,degrees,axis,pivotPoint) { var m = lime_math__$Matrix4_Matrix4_$Impl_$.__getAxisRotation(this1,axis.x,axis.y,axis.z,degrees); if(pivotPoint != null) { var p = pivotPoint; lime_math__$Matrix4_Matrix4_$Impl_$.appendTranslation(m,p.x,p.y,p.z); } lime_math__$Matrix4_Matrix4_$Impl_$.prepend(this1,m); }; lime_math__$Matrix4_Matrix4_$Impl_$.prependScale = function(this1,xScale,yScale,zScale) { var array = [xScale,0.0,0.0,0.0,0.0,yScale,0.0,0.0,0.0,0.0,zScale,0.0,0.0,0.0,0.0,1.0]; var this2; if(array != null) { this2 = new Float32Array(array); } else { this2 = null; } lime_math__$Matrix4_Matrix4_$Impl_$.prepend(this1,lime_math__$Matrix4_Matrix4_$Impl_$._new(this2)); }; lime_math__$Matrix4_Matrix4_$Impl_$.prependTranslation = function(this1,x,y,z) { var m = lime_math__$Matrix4_Matrix4_$Impl_$._new(); lime_math__$Matrix4_Matrix4_$Impl_$.set_position(m,new lime_math_Vector4(x,y,z)); lime_math__$Matrix4_Matrix4_$Impl_$.prepend(this1,m); }; lime_math__$Matrix4_Matrix4_$Impl_$.transformVector = function(this1,v,result) { if(result == null) { result = new lime_math_Vector4(); } var x = v.x; var y = v.y; var z = v.z; result.x = x * this1[0] + y * this1[4] + z * this1[8] + this1[12]; result.y = x * this1[1] + y * this1[5] + z * this1[9] + this1[13]; result.z = x * this1[2] + y * this1[6] + z * this1[10] + this1[14]; result.w = x * this1[3] + y * this1[7] + z * this1[11] + this1[15]; return result; }; lime_math__$Matrix4_Matrix4_$Impl_$.transformVectors = function(this1,ain,aout) { var i = 0; var x; var y; var z; while(i + 3 <= ain.length) { x = ain[i]; y = ain[i + 1]; z = ain[i + 2]; aout[i] = x * this1[0] + y * this1[4] + z * this1[8] + this1[12]; aout[i + 1] = x * this1[1] + y * this1[5] + z * this1[9] + this1[13]; aout[i + 2] = x * this1[2] + y * this1[6] + z * this1[10] + this1[14]; i += 3; } }; lime_math__$Matrix4_Matrix4_$Impl_$.transpose = function(this1) { var temp = this1[1]; this1[1] = this1[4]; this1[4] = temp; var temp1 = this1[2]; this1[2] = this1[8]; this1[8] = temp1; var temp2 = this1[3]; this1[3] = this1[12]; this1[12] = temp2; var temp3 = this1[6]; this1[6] = this1[9]; this1[9] = temp3; var temp4 = this1[7]; this1[7] = this1[13]; this1[13] = temp4; var temp5 = this1[11]; this1[11] = this1[14]; this1[14] = temp5; }; lime_math__$Matrix4_Matrix4_$Impl_$.__getAxisRotation = function(this1,x,y,z,degrees) { var m = lime_math__$Matrix4_Matrix4_$Impl_$._new(); var a1 = new lime_math_Vector4(x,y,z); var rad = -degrees * (Math.PI / 180); var c = Math.cos(rad); var s = Math.sin(rad); var t = 1.0 - c; lime_math__$Matrix4_Matrix4_$Impl_$.set(m,0,c + a1.x * a1.x * t); lime_math__$Matrix4_Matrix4_$Impl_$.set(m,5,c + a1.y * a1.y * t); lime_math__$Matrix4_Matrix4_$Impl_$.set(m,10,c + a1.z * a1.z * t); var tmp1 = a1.x * a1.y * t; var tmp2 = a1.z * s; lime_math__$Matrix4_Matrix4_$Impl_$.set(m,4,tmp1 + tmp2); lime_math__$Matrix4_Matrix4_$Impl_$.set(m,1,tmp1 - tmp2); tmp1 = a1.x * a1.z * t; tmp2 = a1.y * s; lime_math__$Matrix4_Matrix4_$Impl_$.set(m,8,tmp1 - tmp2); lime_math__$Matrix4_Matrix4_$Impl_$.set(m,2,tmp1 + tmp2); tmp1 = a1.y * a1.z * t; tmp2 = a1.x * s; lime_math__$Matrix4_Matrix4_$Impl_$.set(m,9,tmp1 + tmp2); lime_math__$Matrix4_Matrix4_$Impl_$.set(m,6,tmp1 - tmp2); return m; }; lime_math__$Matrix4_Matrix4_$Impl_$.__swap = function(this1,a,b) { var temp = this1[a]; this1[a] = this1[b]; this1[b] = temp; }; lime_math__$Matrix4_Matrix4_$Impl_$.get_determinant = function(this1) { return (this1[0] * this1[5] - this1[4] * this1[1]) * (this1[10] * this1[15] - this1[14] * this1[11]) - (this1[0] * this1[9] - this1[8] * this1[1]) * (this1[6] * this1[15] - this1[14] * this1[7]) + (this1[0] * this1[13] - this1[12] * this1[1]) * (this1[6] * this1[11] - this1[10] * this1[7]) + (this1[4] * this1[9] - this1[8] * this1[5]) * (this1[2] * this1[15] - this1[14] * this1[3]) - (this1[4] * this1[13] - this1[12] * this1[5]) * (this1[2] * this1[11] - this1[10] * this1[3]) + (this1[8] * this1[13] - this1[12] * this1[9]) * (this1[2] * this1[7] - this1[6] * this1[3]); }; lime_math__$Matrix4_Matrix4_$Impl_$.get_position = function(this1) { return new lime_math_Vector4(this1[12],this1[13],this1[14]); }; lime_math__$Matrix4_Matrix4_$Impl_$.set_position = function(this1,val) { this1[12] = val.x; this1[13] = val.y; this1[14] = val.z; return val; }; lime_math__$Matrix4_Matrix4_$Impl_$.get = function(this1,index) { return this1[index]; }; lime_math__$Matrix4_Matrix4_$Impl_$.set = function(this1,index,value) { this1[index] = value; return value; }; var lime_math__$RGBA_RGBA_$Impl_$ = {}; $hxClasses["lime.math._RGBA.RGBA_Impl_"] = lime_math__$RGBA_RGBA_$Impl_$; lime_math__$RGBA_RGBA_$Impl_$.__name__ = ["lime","math","_RGBA","RGBA_Impl_"]; lime_math__$RGBA_RGBA_$Impl_$.__properties__ = {set_r:"set_r",get_r:"get_r",set_g:"set_g",get_g:"get_g",set_b:"set_b",get_b:"get_b",set_a:"set_a",get_a:"get_a"}; lime_math__$RGBA_RGBA_$Impl_$.__alpha16 = null; lime_math__$RGBA_RGBA_$Impl_$.__clamp = null; lime_math__$RGBA_RGBA_$Impl_$.a16 = null; lime_math__$RGBA_RGBA_$Impl_$.unmult = null; lime_math__$RGBA_RGBA_$Impl_$._new = function(rgba) { if(rgba == null) { rgba = 0; } var this1 = rgba; return this1; }; lime_math__$RGBA_RGBA_$Impl_$.create = function(r,g,b,a) { var this1 = 0; var rgba = this1; rgba = (r & 255) << 24 | (g & 255) << 16 | (b & 255) << 8 | a & 255; return rgba; }; lime_math__$RGBA_RGBA_$Impl_$.multiplyAlpha = function(this1) { if((this1 & 255) == 0) { if(this1 != 0) { this1 = 0; } } else if((this1 & 255) != 255) { lime_math__$RGBA_RGBA_$Impl_$.a16 = lime_math__$RGBA_RGBA_$Impl_$.__alpha16[this1 & 255]; this1 = ((this1 >>> 24 & 255) * lime_math__$RGBA_RGBA_$Impl_$.a16 >> 16 & 255) << 24 | ((this1 >>> 16 & 255) * lime_math__$RGBA_RGBA_$Impl_$.a16 >> 16 & 255) << 16 | ((this1 >>> 8 & 255) * lime_math__$RGBA_RGBA_$Impl_$.a16 >> 16 & 255) << 8 | this1 & 255 & 255; } }; lime_math__$RGBA_RGBA_$Impl_$.readUInt8 = function(this1,data,offset,format,premultiplied) { if(premultiplied == null) { premultiplied = false; } if(format == null) { format = 0; } switch(format) { case 0: this1 = (data[offset] & 255) << 24 | (data[offset + 1] & 255) << 16 | (data[offset + 2] & 255) << 8 | data[offset + 3] & 255; break; case 1: this1 = (data[offset + 1] & 255) << 24 | (data[offset + 2] & 255) << 16 | (data[offset + 3] & 255) << 8 | data[offset] & 255; break; case 2: this1 = (data[offset + 2] & 255) << 24 | (data[offset + 1] & 255) << 16 | (data[offset] & 255) << 8 | data[offset + 3] & 255; break; } if(premultiplied) { if((this1 & 255) != 0 && (this1 & 255) != 255) { lime_math__$RGBA_RGBA_$Impl_$.unmult = 255.0 / (this1 & 255); this1 = (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((this1 >>> 24 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 24 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((this1 >>> 16 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 16 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((this1 >>> 8 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 8 | this1 & 255 & 255; } } }; lime_math__$RGBA_RGBA_$Impl_$.set = function(this1,r,g,b,a) { this1 = (r & 255) << 24 | (g & 255) << 16 | (b & 255) << 8 | a & 255; }; lime_math__$RGBA_RGBA_$Impl_$.unmultiplyAlpha = function(this1) { if((this1 & 255) != 0 && (this1 & 255) != 255) { lime_math__$RGBA_RGBA_$Impl_$.unmult = 255.0 / (this1 & 255); this1 = (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((this1 >>> 24 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 24 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((this1 >>> 16 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 16 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((this1 >>> 8 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 8 | this1 & 255 & 255; } }; lime_math__$RGBA_RGBA_$Impl_$.writeUInt8 = function(this1,data,offset,format,premultiplied) { if(premultiplied == null) { premultiplied = false; } if(format == null) { format = 0; } if(premultiplied) { if((this1 & 255) == 0) { if(this1 != 0) { this1 = 0; } } else if((this1 & 255) != 255) { lime_math__$RGBA_RGBA_$Impl_$.a16 = lime_math__$RGBA_RGBA_$Impl_$.__alpha16[this1 & 255]; this1 = ((this1 >>> 24 & 255) * lime_math__$RGBA_RGBA_$Impl_$.a16 >> 16 & 255) << 24 | ((this1 >>> 16 & 255) * lime_math__$RGBA_RGBA_$Impl_$.a16 >> 16 & 255) << 16 | ((this1 >>> 8 & 255) * lime_math__$RGBA_RGBA_$Impl_$.a16 >> 16 & 255) << 8 | this1 & 255 & 255; } } switch(format) { case 0: data[offset] = this1 >>> 24 & 255; data[offset + 1] = this1 >>> 16 & 255; data[offset + 2] = this1 >>> 8 & 255; data[offset + 3] = this1 & 255; break; case 1: data[offset] = this1 & 255; data[offset + 1] = this1 >>> 24 & 255; data[offset + 2] = this1 >>> 16 & 255; data[offset + 3] = this1 >>> 8 & 255; break; case 2: data[offset] = this1 >>> 8 & 255; data[offset + 1] = this1 >>> 16 & 255; data[offset + 2] = this1 >>> 24 & 255; data[offset + 3] = this1 & 255; break; } }; lime_math__$RGBA_RGBA_$Impl_$.__fromARGB = function(argb) { var this1 = 0; var rgba = this1; rgba = (argb >>> 16 & 255 & 255) << 24 | (argb >>> 8 & 255 & 255) << 16 | (argb & 255 & 255) << 8 | argb >>> 24 & 255 & 255; return rgba; }; lime_math__$RGBA_RGBA_$Impl_$.__fromBGRA = function(bgra) { var this1 = 0; var rgba = this1; rgba = (bgra >>> 8 & 255 & 255) << 24 | (bgra >>> 16 & 255 & 255) << 16 | (bgra >>> 24 & 255 & 255) << 8 | bgra & 255 & 255; return rgba; }; lime_math__$RGBA_RGBA_$Impl_$.get_a = function(this1) { return this1 & 255; }; lime_math__$RGBA_RGBA_$Impl_$.set_a = function(this1,value) { this1 = (this1 >>> 24 & 255 & 255) << 24 | (this1 >>> 16 & 255 & 255) << 16 | (this1 >>> 8 & 255 & 255) << 8 | value & 255; return value; }; lime_math__$RGBA_RGBA_$Impl_$.get_b = function(this1) { return this1 >>> 8 & 255; }; lime_math__$RGBA_RGBA_$Impl_$.set_b = function(this1,value) { this1 = (this1 >>> 24 & 255 & 255) << 24 | (this1 >>> 16 & 255 & 255) << 16 | (value & 255) << 8 | this1 & 255 & 255; return value; }; lime_math__$RGBA_RGBA_$Impl_$.get_g = function(this1) { return this1 >>> 16 & 255; }; lime_math__$RGBA_RGBA_$Impl_$.set_g = function(this1,value) { this1 = (this1 >>> 24 & 255 & 255) << 24 | (value & 255) << 16 | (this1 >>> 8 & 255 & 255) << 8 | this1 & 255 & 255; return value; }; lime_math__$RGBA_RGBA_$Impl_$.get_r = function(this1) { return this1 >>> 24 & 255; }; lime_math__$RGBA_RGBA_$Impl_$.set_r = function(this1,value) { this1 = (value & 255) << 24 | (this1 >>> 16 & 255 & 255) << 16 | (this1 >>> 8 & 255 & 255) << 8 | this1 & 255 & 255; return value; }; var lime_math_Rectangle = function(x,y,width,height) { if(height == null) { height = 0; } if(width == null) { width = 0; } if(y == null) { y = 0; } if(x == null) { x = 0; } this.x = x; this.y = y; this.width = width; this.height = height; }; $hxClasses["lime.math.Rectangle"] = lime_math_Rectangle; lime_math_Rectangle.__name__ = ["lime","math","Rectangle"]; lime_math_Rectangle.prototype = { height: null ,width: null ,x: null ,y: null ,clone: function() { return new lime_math_Rectangle(this.x,this.y,this.width,this.height); } ,contains: function(x,y) { if(x >= this.x && y >= this.y && x < this.get_right()) { return y < this.get_bottom(); } else { return false; } } ,containsPoint: function(point) { return this.containsVector(point); } ,containsRect: function(rect) { if(rect.width <= 0 || rect.height <= 0) { if(rect.x > this.x && rect.y > this.y && rect.get_right() < this.get_right()) { return rect.get_bottom() < this.get_bottom(); } else { return false; } } else if(rect.x >= this.x && rect.y >= this.y && rect.get_right() <= this.get_right()) { return rect.get_bottom() <= this.get_bottom(); } else { return false; } } ,containsVector: function(vector) { return this.contains(vector.x,vector.y); } ,copyFrom: function(sourceRect) { this.x = sourceRect.x; this.y = sourceRect.y; this.width = sourceRect.width; this.height = sourceRect.height; } ,equals: function(toCompare) { if(toCompare != null && this.x == toCompare.x && this.y == toCompare.y && this.width == toCompare.width) { return this.height == toCompare.height; } else { return false; } } ,inflate: function(dx,dy) { this.x -= dx; this.width += dx * 2; this.y -= dy; this.height += dy * 2; } ,inflateVector: function(vector) { this.inflate(vector.x,vector.y); } ,intersection: function(toIntersect,result) { if(result == null) { result = new lime_math_Rectangle(); } var x0 = this.x < toIntersect.x ? toIntersect.x : this.x; var x1 = this.get_right() > toIntersect.get_right() ? toIntersect.get_right() : this.get_right(); if(x1 <= x0) { result.setEmpty(); return result; } var y0 = this.y < toIntersect.y ? toIntersect.y : this.y; var y1 = this.get_bottom() > toIntersect.get_bottom() ? toIntersect.get_bottom() : this.get_bottom(); if(y1 <= y0) { result.setEmpty(); return result; } result.x = x0; result.y = y0; result.width = x1 - x0; result.height = y1 - y0; return result; } ,intersects: function(toIntersect) { var x0 = this.x < toIntersect.x ? toIntersect.x : this.x; var x1 = this.get_right() > toIntersect.get_right() ? toIntersect.get_right() : this.get_right(); if(x1 <= x0) { return false; } var y0 = this.y < toIntersect.y ? toIntersect.y : this.y; var y1 = this.get_bottom() > toIntersect.get_bottom() ? toIntersect.get_bottom() : this.get_bottom(); return y1 > y0; } ,isEmpty: function() { if(!(this.width <= 0)) { return this.height <= 0; } else { return true; } } ,offset: function(dx,dy) { this.x += dx; this.y += dy; } ,offsetVector: function(vector) { this.x += vector.x; this.y += vector.y; } ,setEmpty: function() { this.x = this.y = this.width = this.height = 0; } ,setTo: function(xa,ya,widtha,heighta) { this.x = xa; this.y = ya; this.width = widtha; this.height = heighta; } ,union: function(toUnion,result) { if(result == null) { result = new lime_math_Rectangle(); } if(this.width == 0 || this.height == 0) { result.copyFrom(toUnion); } else if(toUnion.width == 0 || toUnion.height == 0) { result.copyFrom(this); } else { var x0 = this.x > toUnion.x ? toUnion.x : this.x; var x1 = this.get_right() < toUnion.get_right() ? toUnion.get_right() : this.get_right(); var y0 = this.y > toUnion.y ? toUnion.y : this.y; var y1 = this.get_bottom() < toUnion.get_bottom() ? toUnion.get_bottom() : this.get_bottom(); result.setTo(x0,y0,x1 - x0,y1 - y0); } return result; } ,__toFlashRectangle: function() { return null; } ,get_bottom: function() { return this.y + this.height; } ,set_bottom: function(b) { this.height = b - this.y; return b; } ,get_bottomRight: function() { return new lime_math_Vector2(this.x + this.width,this.y + this.height); } ,set_bottomRight: function(p) { this.width = p.x - this.x; this.height = p.y - this.y; return p.clone(); } ,get_left: function() { return this.x; } ,set_left: function(l) { this.width -= l - this.x; this.x = l; return l; } ,get_right: function() { return this.x + this.width; } ,set_right: function(r) { this.width = r - this.x; return r; } ,get_size: function() { return new lime_math_Vector2(this.width,this.height); } ,set_size: function(p) { this.width = p.x; this.height = p.y; return p.clone(); } ,get_top: function() { return this.y; } ,set_top: function(t) { this.height -= t - this.y; this.y = t; return t; } ,get_topLeft: function() { return new lime_math_Vector2(this.x,this.y); } ,set_topLeft: function(p) { this.x = p.x; this.y = p.y; return p.clone(); } ,__class__: lime_math_Rectangle ,__properties__: {set_topLeft:"set_topLeft",get_topLeft:"get_topLeft",set_top:"set_top",get_top:"get_top",set_size:"set_size",get_size:"get_size",set_right:"set_right",get_right:"get_right",set_left:"set_left",get_left:"get_left",set_bottomRight:"set_bottomRight",get_bottomRight:"get_bottomRight",set_bottom:"set_bottom",get_bottom:"get_bottom"} }; var lime_math_Vector4 = function(x,y,z,w) { if(w == null) { w = 0.; } if(z == null) { z = 0.; } if(y == null) { y = 0.; } if(x == null) { x = 0.; } this.w = w; this.x = x; this.y = y; this.z = z; }; $hxClasses["lime.math.Vector4"] = lime_math_Vector4; lime_math_Vector4.__name__ = ["lime","math","Vector4"]; lime_math_Vector4.__properties__ = {get_Z_AXIS:"get_Z_AXIS",get_Y_AXIS:"get_Y_AXIS",get_X_AXIS:"get_X_AXIS"}; lime_math_Vector4.angleBetween = function(a,b) { var a0 = new lime_math_Vector4(a.x,a.y,a.z,a.w); var l = Math.sqrt(a0.x * a0.x + a0.y * a0.y + a0.z * a0.z); if(l != 0) { a0.x /= l; a0.y /= l; a0.z /= l; } var b0 = new lime_math_Vector4(b.x,b.y,b.z,b.w); var l1 = Math.sqrt(b0.x * b0.x + b0.y * b0.y + b0.z * b0.z); if(l1 != 0) { b0.x /= l1; b0.y /= l1; b0.z /= l1; } return Math.acos(a0.x * b0.x + a0.y * b0.y + a0.z * b0.z); }; lime_math_Vector4.distance = function(pt1,pt2) { var x = pt2.x - pt1.x; var y = pt2.y - pt1.y; var z = pt2.z - pt1.z; return Math.sqrt(x * x + y * y + z * z); }; lime_math_Vector4.distanceSquared = function(pt1,pt2) { var x = pt2.x - pt1.x; var y = pt2.y - pt1.y; var z = pt2.z - pt1.z; return x * x + y * y + z * z; }; lime_math_Vector4.get_X_AXIS = function() { return new lime_math_Vector4(1,0,0); }; lime_math_Vector4.get_Y_AXIS = function() { return new lime_math_Vector4(0,1,0); }; lime_math_Vector4.get_Z_AXIS = function() { return new lime_math_Vector4(0,0,1); }; lime_math_Vector4.prototype = { w: null ,x: null ,y: null ,z: null ,add: function(a,result) { if(result == null) { result = new lime_math_Vector4(); } result.x = this.x + a.x; result.y = this.y + a.y; result.z = this.z + a.z; return result; } ,clone: function() { return new lime_math_Vector4(this.x,this.y,this.z,this.w); } ,copyFrom: function(sourceVector4) { this.x = sourceVector4.x; this.y = sourceVector4.y; this.z = sourceVector4.z; } ,crossProduct: function(a,result) { if(result == null) { result = new lime_math_Vector4(); } var ya = this.z * a.x - this.x * a.z; var za = this.x * a.y - this.y * a.x; result.x = this.y * a.z - this.z * a.y; result.y = ya; result.z = za; result.w = 1; return result; } ,decrementBy: function(a) { this.x -= a.x; this.y -= a.y; this.z -= a.z; } ,dotProduct: function(a) { return this.x * a.x + this.y * a.y + this.z * a.z; } ,equals: function(toCompare,allFour) { if(allFour == null) { allFour = false; } if(this.x == toCompare.x && this.y == toCompare.y && this.z == toCompare.z) { if(!(!allFour)) { return this.w == toCompare.w; } else { return true; } } else { return false; } } ,incrementBy: function(a) { this.x += a.x; this.y += a.y; this.z += a.z; } ,nearEquals: function(toCompare,tolerance,allFour) { if(allFour == null) { allFour = false; } if(Math.abs(this.x - toCompare.x) < tolerance && Math.abs(this.y - toCompare.y) < tolerance && Math.abs(this.z - toCompare.z) < tolerance) { if(!(!allFour)) { return Math.abs(this.w - toCompare.w) < tolerance; } else { return true; } } else { return false; } } ,negate: function() { this.x *= -1; this.y *= -1; this.z *= -1; } ,normalize: function() { var l = Math.sqrt(this.x * this.x + this.y * this.y + this.z * this.z); if(l != 0) { this.x /= l; this.y /= l; this.z /= l; } return l; } ,project: function() { this.x /= this.w; this.y /= this.w; this.z /= this.w; } ,scaleBy: function(s) { this.x *= s; this.y *= s; this.z *= s; } ,setTo: function(xa,ya,za) { this.x = xa; this.y = ya; this.z = za; } ,subtract: function(a,result) { if(result == null) { result = new lime_math_Vector4(); } result.x = this.x - a.x; result.y = this.y - a.y; result.z = this.z - a.z; return result; } ,toString: function() { return "Vector4(" + this.x + ", " + this.y + ", " + this.z + ")"; } ,get_length: function() { return Math.sqrt(this.x * this.x + this.y * this.y + this.z * this.z); } ,get_lengthSquared: function() { return this.x * this.x + this.y * this.y + this.z * this.z; } ,__class__: lime_math_Vector4 ,__properties__: {get_lengthSquared:"get_lengthSquared",get_length:"get_length"} }; var lime_media_AudioBuffer = function() { }; $hxClasses["lime.media.AudioBuffer"] = lime_media_AudioBuffer; lime_media_AudioBuffer.__name__ = ["lime","media","AudioBuffer"]; lime_media_AudioBuffer.fromBase64 = function(base64String) { if(base64String == null) { return null; } if(base64String.indexOf(",") == -1) { base64String = "data:" + lime_media_AudioBuffer.__getCodec(haxe_crypto_Base64.decode(base64String)) + ";base64," + base64String; } var audioBuffer = new lime_media_AudioBuffer(); audioBuffer.set_src(new Howl({ src : [base64String], html5 : true, preload : false})); return audioBuffer; }; lime_media_AudioBuffer.fromBytes = function(bytes) { if(bytes == null) { return null; } var audioBuffer = new lime_media_AudioBuffer(); audioBuffer.set_src(new Howl({ src : ["data:" + lime_media_AudioBuffer.__getCodec(bytes) + ";base64," + haxe_crypto_Base64.encode(bytes)], html5 : true, preload : false})); return audioBuffer; }; lime_media_AudioBuffer.fromFile = function(path) { if(path == null) { return null; } var audioBuffer = new lime_media_AudioBuffer(); audioBuffer.__srcHowl = new Howl({ src : [path], preload : false}); return audioBuffer; }; lime_media_AudioBuffer.fromFiles = function(paths) { var audioBuffer = new lime_media_AudioBuffer(); audioBuffer.__srcHowl = new Howl({ src : paths, preload : false}); return audioBuffer; }; lime_media_AudioBuffer.fromVorbisFile = function(vorbisFile) { return null; }; lime_media_AudioBuffer.loadFromFile = function(path) { var promise = new lime_app_Promise(); var audioBuffer = lime_media_AudioBuffer.fromFile(path); if(audioBuffer != null) { if(audioBuffer != null) { audioBuffer.__srcHowl.on("load",function() { promise.complete(audioBuffer); }); audioBuffer.__srcHowl.on("loaderror",function(id,msg) { promise.error(msg); }); audioBuffer.__srcHowl.load(); } } else { promise.error(null); } return promise.future; }; lime_media_AudioBuffer.loadFromFiles = function(paths) { var promise = new lime_app_Promise(); var audioBuffer = lime_media_AudioBuffer.fromFiles(paths); if(audioBuffer != null) { audioBuffer.__srcHowl.on("load",function() { promise.complete(audioBuffer); }); audioBuffer.__srcHowl.on("loaderror",function() { promise.error(null); }); audioBuffer.__srcHowl.load(); } else { promise.error(null); } return promise.future; }; lime_media_AudioBuffer.__getCodec = function(bytes) { var signature = bytes.getString(0,4); switch(signature) { case "OggS": return "audio/ogg"; case "RIFF": if(bytes.getString(8,4) == "WAVE") { return "audio/wav"; } else { var _g = bytes.b[2]; var _g1 = bytes.b[1]; var _g2 = bytes.b[0]; switch(_g2) { case 73: if(_g1 == 68) { if(_g == 51) { return "audio/mp3"; } } break; case 255: switch(_g1) { case 243:case 250:case 251: return "audio/mp3"; default: } break; default: } } break; case "fLaC": return "audio/flac"; default: var _g3 = bytes.b[2]; var _g11 = bytes.b[1]; var _g21 = bytes.b[0]; switch(_g21) { case 73: if(_g11 == 68) { if(_g3 == 51) { return "audio/mp3"; } } break; case 255: switch(_g11) { case 243:case 250:case 251: return "audio/mp3"; default: } break; default: } } lime_utils_Log.error("Unsupported sound format",{ fileName : "AudioBuffer.hx", lineNumber : 443, className : "lime.media.AudioBuffer", methodName : "__getCodec"}); return null; }; lime_media_AudioBuffer.prototype = { bitsPerSample: null ,channels: null ,data: null ,sampleRate: null ,__srcAudio: null ,__srcBuffer: null ,__srcCustom: null ,__srcHowl: null ,__srcSound: null ,__srcVorbisFile: null ,dispose: function() { this.__srcHowl.unload(); } ,get_src: function() { return this.__srcHowl; } ,set_src: function(value) { return this.__srcHowl = value; } ,__class__: lime_media_AudioBuffer ,__properties__: {set_src:"set_src",get_src:"get_src"} }; var lime_media_AudioContext = function(type) { if(type != "custom") { if(type == null || type == "web") { try { window.AudioContext = window.AudioContext || window.webkitAudioContext; this.web = new window.AudioContext (); this.type = "web"; } catch( e ) { haxe_CallStack.lastException = e; } } if(this.web == null && type != "web") { this.html5 = new lime_media_HTML5AudioContext(); this.type = "html5"; } } else { this.type = "custom"; } }; $hxClasses["lime.media.AudioContext"] = lime_media_AudioContext; lime_media_AudioContext.__name__ = ["lime","media","AudioContext"]; lime_media_AudioContext.prototype = { custom: null ,flash: null ,html5: null ,openal: null ,type: null ,web: null ,__class__: lime_media_AudioContext }; var lime_media_AudioManager = function() { }; $hxClasses["lime.media.AudioManager"] = lime_media_AudioManager; lime_media_AudioManager.__name__ = ["lime","media","AudioManager"]; lime_media_AudioManager.context = null; lime_media_AudioManager.init = function(context) { if(lime_media_AudioManager.context == null) { if(context == null) { lime_media_AudioManager.context = new lime_media_AudioContext(); context = lime_media_AudioManager.context; if(context.type == "openal") { var alc = context.openal; var device = alc.openDevice(); var ctx = alc.createContext(device); alc.makeContextCurrent(ctx); alc.processContext(ctx); } } lime_media_AudioManager.context = context; } }; lime_media_AudioManager.resume = function() { if(lime_media_AudioManager.context != null && lime_media_AudioManager.context.type == "openal") { var alc = lime_media_AudioManager.context.openal; var currentContext = alc.getCurrentContext(); if(currentContext != null) { var device = alc.getContextsDevice(currentContext); alc.resumeDevice(device); alc.processContext(currentContext); } } }; lime_media_AudioManager.shutdown = function() { if(lime_media_AudioManager.context != null && lime_media_AudioManager.context.type == "openal") { var alc = lime_media_AudioManager.context.openal; var currentContext = alc.getCurrentContext(); if(currentContext != null) { var device = alc.getContextsDevice(currentContext); alc.makeContextCurrent(null); alc.destroyContext(currentContext); if(device != null) { alc.closeDevice(device); } } } lime_media_AudioManager.context = null; }; lime_media_AudioManager.suspend = function() { if(lime_media_AudioManager.context != null && lime_media_AudioManager.context.type == "openal") { var alc = lime_media_AudioManager.context.openal; var currentContext = alc.getCurrentContext(); if(currentContext != null) { alc.suspendContext(currentContext); var device = alc.getContextsDevice(currentContext); alc.pauseDevice(device); } } }; var lime_media_AudioSource = function(buffer,offset,length,loops) { if(loops == null) { loops = 0; } if(offset == null) { offset = 0; } this.onComplete = new lime_app__$Event_$Void_$Void(); this.buffer = buffer; this.offset = offset; this.__backend = new lime__$internal_backend_html5_HTML5AudioSource(this); if(length != null && length != 0) { this.set_length(length); } this.set_loops(loops); if(buffer != null) { this.init(); } }; $hxClasses["lime.media.AudioSource"] = lime_media_AudioSource; lime_media_AudioSource.__name__ = ["lime","media","AudioSource"]; lime_media_AudioSource.prototype = { onComplete: null ,buffer: null ,offset: null ,__backend: null ,dispose: function() { this.__backend.dispose(); } ,init: function() { this.__backend.init(); } ,play: function() { this.__backend.play(); } ,pause: function() { this.__backend.pause(); } ,stop: function() { this.__backend.stop(); } ,get_currentTime: function() { return this.__backend.getCurrentTime(); } ,set_currentTime: function(value) { return this.__backend.setCurrentTime(value); } ,get_gain: function() { return this.__backend.getGain(); } ,set_gain: function(value) { return this.__backend.setGain(value); } ,get_length: function() { return this.__backend.getLength(); } ,set_length: function(value) { return this.__backend.setLength(value); } ,get_loops: function() { return this.__backend.getLoops(); } ,set_loops: function(value) { return this.__backend.setLoops(value); } ,get_position: function() { return this.__backend.getPosition(); } ,set_position: function(value) { return this.__backend.setPosition(value); } ,__class__: lime_media_AudioSource ,__properties__: {set_position:"set_position",get_position:"get_position",set_loops:"set_loops",get_loops:"get_loops",set_length:"set_length",get_length:"get_length",set_gain:"set_gain",get_gain:"get_gain",set_currentTime:"set_currentTime",get_currentTime:"get_currentTime"} }; var lime_media_FlashAudioContext = function() { }; $hxClasses["lime.media.FlashAudioContext"] = lime_media_FlashAudioContext; lime_media_FlashAudioContext.__name__ = ["lime","media","FlashAudioContext"]; lime_media_FlashAudioContext.prototype = { createBuffer: function(stream,context) { return null; } ,getBytesLoaded: function(buffer) { return 0; } ,getBytesTotal: function(buffer) { return 0; } ,getID3: function(buffer) { return null; } ,getIsBuffering: function(buffer) { return false; } ,getIsURLInaccessible: function(buffer) { return false; } ,getLength: function(buffer) { return 0; } ,getURL: function(buffer) { return null; } ,close: function(buffer) { } ,extract: function(buffer,target,length,startPosition) { if(startPosition == null) { startPosition = -1; } return 0; } ,load: function(buffer,stream,context) { } ,loadCompressedDataFromByteArray: function(buffer,bytes,bytesLength) { } ,loadPCMFromByteArray: function(buffer,bytes,samples,format,stereo,sampleRate) { if(sampleRate == null) { sampleRate = 44100; } if(stereo == null) { stereo = true; } } ,play: function(buffer,startTime,loops,sndTransform) { if(loops == null) { loops = 0; } if(startTime == null) { startTime = 0; } return null; } ,__class__: lime_media_FlashAudioContext }; var lime_media_HTML5AudioContext = function() { this.NETWORK_NO_SOURCE = 3; this.NETWORK_LOADING = 2; this.NETWORK_IDLE = 1; this.NETWORK_EMPTY = 0; this.HAVE_NOTHING = 0; this.HAVE_METADATA = 1; this.HAVE_FUTURE_DATA = 3; this.HAVE_ENOUGH_DATA = 4; this.HAVE_CURRENT_DATA = 2; }; $hxClasses["lime.media.HTML5AudioContext"] = lime_media_HTML5AudioContext; lime_media_HTML5AudioContext.__name__ = ["lime","media","HTML5AudioContext"]; lime_media_HTML5AudioContext.prototype = { HAVE_CURRENT_DATA: null ,HAVE_ENOUGH_DATA: null ,HAVE_FUTURE_DATA: null ,HAVE_METADATA: null ,HAVE_NOTHING: null ,NETWORK_EMPTY: null ,NETWORK_IDLE: null ,NETWORK_LOADING: null ,NETWORK_NO_SOURCE: null ,canPlayType: function(buffer,type) { if(buffer.__srcAudio != null) { return buffer.__srcAudio.canPlayType(type); } return null; } ,createBuffer: function(urlString) { var buffer = new lime_media_AudioBuffer(); buffer.__srcAudio = new Audio(); buffer.__srcAudio.src = urlString; return buffer; } ,getAutoplay: function(buffer) { if(buffer.__srcAudio != null) { return buffer.__srcAudio.autoplay; } return false; } ,getBuffered: function(buffer) { if(buffer.__srcAudio != null) { return buffer.__srcAudio.buffered; } return null; } ,getCurrentSrc: function(buffer) { if(buffer.__srcAudio != null) { return buffer.__srcAudio.currentSrc; } return null; } ,getCurrentTime: function(buffer) { if(buffer.__srcAudio != null) { return buffer.__srcAudio.currentTime; } return 0; } ,getDefaultPlaybackRate: function(buffer) { if(buffer.__srcAudio != null) { return buffer.__srcAudio.defaultPlaybackRate; } return 1; } ,getDuration: function(buffer) { if(buffer.__srcAudio != null) { return buffer.__srcAudio.duration; } return 0; } ,getEnded: function(buffer) { if(buffer.__srcAudio != null) { return buffer.__srcAudio.ended; } return false; } ,getError: function(buffer) { if(buffer.__srcAudio != null) { return buffer.__srcAudio.error; } return null; } ,getLoop: function(buffer) { if(buffer.__srcAudio != null) { return buffer.__srcAudio.loop; } return false; } ,getMuted: function(buffer) { if(buffer.__srcAudio != null) { return buffer.__srcAudio.muted; } return false; } ,getNetworkState: function(buffer) { if(buffer.__srcAudio != null) { return buffer.__srcAudio.networkState; } return 0; } ,getPaused: function(buffer) { if(buffer.__srcAudio != null) { return buffer.__srcAudio.paused; } return false; } ,getPlaybackRate: function(buffer) { if(buffer.__srcAudio != null) { return buffer.__srcAudio.playbackRate; } return 1; } ,getPlayed: function(buffer) { if(buffer.__srcAudio != null) { return buffer.__srcAudio.played; } return null; } ,getPreload: function(buffer) { if(buffer.__srcAudio != null) { return buffer.__srcAudio.preload; } return null; } ,getReadyState: function(buffer) { if(buffer.__srcAudio != null) { return buffer.__srcAudio.readyState; } return 0; } ,getSeekable: function(buffer) { if(buffer.__srcAudio != null) { return buffer.__srcAudio.seekable; } return null; } ,getSeeking: function(buffer) { if(buffer.__srcAudio != null) { return buffer.__srcAudio.seeking; } return false; } ,getSrc: function(buffer) { if(buffer.__srcAudio != null) { return buffer.__srcAudio.src; } return null; } ,getStartTime: function(buffer) { if(buffer.__srcAudio != null) { return buffer.__srcAudio.playbackRate; } return 0; } ,getVolume: function(buffer) { if(buffer.__srcAudio != null) { return buffer.__srcAudio.volume; } return 1; } ,load: function(buffer) { if(buffer.__srcAudio != null) { buffer.__srcAudio.load(); } } ,pause: function(buffer) { if(buffer.__srcAudio != null) { buffer.__srcAudio.pause(); } } ,play: function(buffer) { if(buffer.__srcAudio != null) { buffer.__srcAudio.play(); } } ,setAutoplay: function(buffer,value) { if(buffer.__srcAudio != null) { buffer.__srcAudio.autoplay = value; } } ,setCurrentTime: function(buffer,value) { if(buffer.__srcAudio != null) { buffer.__srcAudio.currentTime = value; } } ,setDefaultPlaybackRate: function(buffer,value) { if(buffer.__srcAudio != null) { buffer.__srcAudio.defaultPlaybackRate = value; } } ,setLoop: function(buffer,value) { if(buffer.__srcAudio != null) { buffer.__srcAudio.loop = value; } } ,setMuted: function(buffer,value) { if(buffer.__srcAudio != null) { buffer.__srcAudio.muted = value; } } ,setPlaybackRate: function(buffer,value) { if(buffer.__srcAudio != null) { buffer.__srcAudio.playbackRate = value; } } ,setPreload: function(buffer,value) { if(buffer.__srcAudio != null) { buffer.__srcAudio.preload = value; } } ,setSrc: function(buffer,value) { if(buffer.__srcAudio != null) { buffer.__srcAudio.src = value; } } ,setVolume: function(buffer,value) { if(buffer.__srcAudio != null) { buffer.__srcAudio.volume = value; } } ,__class__: lime_media_HTML5AudioContext }; var lime_media_OpenALAudioContext = function() { this.ALL_DEVICES_SPECIFIER = 4115; this.DEFAULT_ALL_DEVICES_SPECIFIER = 4114; this.ENUMERATE_ALL_EXT = 1; this.DEVICE_SPECIFIER = 4101; this.DEFAULT_DEVICE_SPECIFIER = 4100; this.ALL_ATTRIBUTES = 4099; this.ATTRIBUTES_SIZE = 4098; this.INVALID_CONTEXT = 40962; this.INVALID_DEVICE = 40961; this.STEREO_SOURCES = 4113; this.MONO_SOURCES = 4112; this.SYNC = 4105; this.REFRESH = 4104; this.EXPONENT_DISTANCE_CLAMPED = 53254; this.EXPONENT_DISTANCE = 53253; this.LINEAR_DISTANCE_CLAMPED = 53252; this.LINEAR_DISTANCE = 53251; this.INVERSE_DISTANCE_CLAMPED = 53250; this.INVERSE_DISTANCE = 53249; this.DISTANCE_MODEL = 53248; this.DOPPLER_VELOCITY = 49153; this.SPEED_OF_SOUND = 49155; this.DOPPLER_FACTOR = 49152; this.EXTENSIONS = 45060; this.RENDERER = 45059; this.VERSION = 45058; this.VENDOR = 45057; this.OUT_OF_MEMORY = 40965; this.INVALID_OPERATION = 40964; this.INVALID_VALUE = 40963; this.INVALID_ENUM = 40962; this.INVALID_NAME = 40961; this.NO_ERROR = 0; this.SIZE = 8196; this.CHANNELS = 8195; this.BITS = 8194; this.FREQUENCY = 8193; this.FORMAT_STEREO16 = 4355; this.FORMAT_STEREO8 = 4354; this.FORMAT_MONO16 = 4353; this.FORMAT_MONO8 = 4352; this.UNDETERMINED = 4144; this.STREAMING = 4137; this.STATIC = 4136; this.SOURCE_TYPE = 4135; this.BYTE_OFFSET = 4134; this.SAMPLE_OFFSET = 4133; this.SEC_OFFSET = 4132; this.MAX_DISTANCE = 4131; this.CONE_OUTER_GAIN = 4130; this.ROLLOFF_FACTOR = 4129; this.REFERENCE_DISTANCE = 4128; this.BUFFERS_PROCESSED = 4118; this.BUFFERS_QUEUED = 4117; this.STOPPED = 4116; this.PAUSED = 4115; this.PLAYING = 4114; this.INITIAL = 4113; this.SOURCE_STATE = 4112; this.ORIENTATION = 4111; this.MAX_GAIN = 4110; this.MIN_GAIN = 4109; this.GAIN = 4106; this.BUFFER = 4105; this.LOOPING = 4103; this.VELOCITY = 4102; this.DIRECTION = 4101; this.POSITION = 4100; this.PITCH = 4099; this.CONE_OUTER_ANGLE = 4098; this.CONE_INNER_ANGLE = 4097; this.SOURCE_RELATIVE = 514; this.TRUE = 1; this.FALSE = 0; this.NONE = 0; }; $hxClasses["lime.media.OpenALAudioContext"] = lime_media_OpenALAudioContext; lime_media_OpenALAudioContext.__name__ = ["lime","media","OpenALAudioContext"]; lime_media_OpenALAudioContext.prototype = { NONE: null ,FALSE: null ,TRUE: null ,SOURCE_RELATIVE: null ,CONE_INNER_ANGLE: null ,CONE_OUTER_ANGLE: null ,PITCH: null ,POSITION: null ,DIRECTION: null ,VELOCITY: null ,LOOPING: null ,BUFFER: null ,GAIN: null ,MIN_GAIN: null ,MAX_GAIN: null ,ORIENTATION: null ,SOURCE_STATE: null ,INITIAL: null ,PLAYING: null ,PAUSED: null ,STOPPED: null ,BUFFERS_QUEUED: null ,BUFFERS_PROCESSED: null ,REFERENCE_DISTANCE: null ,ROLLOFF_FACTOR: null ,CONE_OUTER_GAIN: null ,MAX_DISTANCE: null ,SEC_OFFSET: null ,SAMPLE_OFFSET: null ,BYTE_OFFSET: null ,SOURCE_TYPE: null ,STATIC: null ,STREAMING: null ,UNDETERMINED: null ,FORMAT_MONO8: null ,FORMAT_MONO16: null ,FORMAT_STEREO8: null ,FORMAT_STEREO16: null ,FREQUENCY: null ,BITS: null ,CHANNELS: null ,SIZE: null ,NO_ERROR: null ,INVALID_NAME: null ,INVALID_ENUM: null ,INVALID_VALUE: null ,INVALID_OPERATION: null ,OUT_OF_MEMORY: null ,VENDOR: null ,VERSION: null ,RENDERER: null ,EXTENSIONS: null ,DOPPLER_FACTOR: null ,SPEED_OF_SOUND: null ,DOPPLER_VELOCITY: null ,DISTANCE_MODEL: null ,INVERSE_DISTANCE: null ,INVERSE_DISTANCE_CLAMPED: null ,LINEAR_DISTANCE: null ,LINEAR_DISTANCE_CLAMPED: null ,EXPONENT_DISTANCE: null ,EXPONENT_DISTANCE_CLAMPED: null ,REFRESH: null ,SYNC: null ,MONO_SOURCES: null ,STEREO_SOURCES: null ,INVALID_DEVICE: null ,INVALID_CONTEXT: null ,ATTRIBUTES_SIZE: null ,ALL_ATTRIBUTES: null ,DEFAULT_DEVICE_SPECIFIER: null ,DEVICE_SPECIFIER: null ,ENUMERATE_ALL_EXT: null ,DEFAULT_ALL_DEVICES_SPECIFIER: null ,ALL_DEVICES_SPECIFIER: null ,bufferData: function(buffer,format,data,size,freq) { lime_media_openal_AL.bufferData(buffer,format,data,size,freq); } ,buffer3f: function(buffer,param,value1,value2,value3) { lime_media_openal_AL.buffer3f(buffer,param,value1,value2,value3); } ,buffer3i: function(buffer,param,value1,value2,value3) { lime_media_openal_AL.buffer3i(buffer,param,value1,value2,value3); } ,bufferf: function(buffer,param,value) { lime_media_openal_AL.bufferf(buffer,param,value); } ,bufferfv: function(buffer,param,values) { lime_media_openal_AL.bufferfv(buffer,param,values); } ,bufferi: function(buffer,param,value) { lime_media_openal_AL.bufferi(buffer,param,value); } ,bufferiv: function(buffer,param,values) { lime_media_openal_AL.bufferiv(buffer,param,values); } ,closeDevice: function(device) { return lime_media_openal_ALC.closeDevice(device); } ,createContext: function(device,attrlist) { return lime_media_openal_ALC.createContext(device,attrlist); } ,createBuffer: function() { return lime_media_openal_AL.createBuffer(); } ,createSource: function() { return lime_media_openal_AL.createSource(); } ,deleteBuffer: function(buffer) { lime_media_openal_AL.deleteBuffer(buffer); } ,deleteBuffers: function(buffers) { lime_media_openal_AL.deleteBuffers(buffers); } ,deleteSource: function(source) { lime_media_openal_AL.deleteSource(source); } ,deleteSources: function(sources) { lime_media_openal_AL.deleteSources(sources); } ,destroyContext: function(context) { if(context == null) { return; } lime_media_openal_ALC.destroyContext(context); } ,disable: function(capability) { lime_media_openal_AL.disable(capability); } ,distanceModel: function(distanceModel) { lime_media_openal_AL.distanceModel(distanceModel); } ,dopplerFactor: function(value) { lime_media_openal_AL.dopplerFactor(value); } ,dopplerVelocity: function(value) { lime_media_openal_AL.dopplerVelocity(value); } ,enable: function(capability) { lime_media_openal_AL.enable(capability); } ,genSource: function() { return this.createSource(); } ,genSources: function(n) { return lime_media_openal_AL.genSources(n); } ,genBuffer: function() { return this.createBuffer(); } ,genBuffers: function(n) { return lime_media_openal_AL.genBuffers(n); } ,getBoolean: function(param) { return lime_media_openal_AL.getBoolean(param); } ,getBooleanv: function(param,count) { if(count == null) { count = 1; } return lime_media_openal_AL.getBooleanv(param,count); } ,getBuffer3f: function(buffer,param) { return lime_media_openal_AL.getBuffer3f(buffer,param); } ,getBuffer3i: function(buffer,param) { return lime_media_openal_AL.getBuffer3i(buffer,param); } ,getBufferf: function(buffer,param) { return lime_media_openal_AL.getBufferf(buffer,param); } ,getBufferfv: function(buffer,param,count) { if(count == null) { count = 1; } return lime_media_openal_AL.getBufferfv(buffer,param,count); } ,getBufferi: function(buffer,param) { return lime_media_openal_AL.getBufferi(buffer,param); } ,getBufferiv: function(buffer,param,count) { if(count == null) { count = 1; } return lime_media_openal_AL.getBufferiv(buffer,param,count); } ,getContextsDevice: function(context) { if(context == null) { return null; } return lime_media_openal_ALC.getContextsDevice(context); } ,getCurrentContext: function() { return lime_media_openal_ALC.getCurrentContext(); } ,getDouble: function(param) { return lime_media_openal_AL.getDouble(param); } ,getDoublev: function(param,count) { if(count == null) { count = 1; } return lime_media_openal_AL.getDoublev(param,count); } ,getEnumValue: function(ename) { return lime_media_openal_AL.getEnumValue(ename); } ,getError: function(device) { if(device == null) { return lime_media_openal_AL.getError(); } else { return lime_media_openal_ALC.getError(device); } } ,getErrorString: function(device) { if(device == null) { return lime_media_openal_AL.getErrorString(); } else { return lime_media_openal_ALC.getErrorString(device); } } ,getFloat: function(param) { return lime_media_openal_AL.getFloat(param); } ,getFloatv: function(param,count) { if(count == null) { count = 1; } return lime_media_openal_AL.getFloatv(param,count); } ,getInteger: function(param) { return lime_media_openal_AL.getInteger(param); } ,getIntegerv: function(param,count,device) { if(count == null) { count = 1; } if(device == null) { return lime_media_openal_AL.getIntegerv(param,count); } else { return lime_media_openal_ALC.getIntegerv(device,param,count); } } ,getListener3f: function(param) { return lime_media_openal_AL.getListener3f(param); } ,getListener3i: function(param) { return lime_media_openal_AL.getListener3i(param); } ,getListenerf: function(param) { return lime_media_openal_AL.getListenerf(param); } ,getListenerfv: function(param,count) { if(count == null) { count = 1; } return lime_media_openal_AL.getListenerfv(param,count); } ,getListeneri: function(param) { return lime_media_openal_AL.getListeneri(param); } ,getListeneriv: function(param,count) { if(count == null) { count = 1; } return lime_media_openal_AL.getListeneriv(param,count); } ,getProcAddress: function(fname) { return lime_media_openal_AL.getProcAddress(fname); } ,getSource3f: function(source,param) { return lime_media_openal_AL.getSource3f(source,param); } ,getSourcef: function(source,param) { return lime_media_openal_AL.getSourcef(source,param); } ,getSource3i: function(source,param) { return lime_media_openal_AL.getSource3i(source,param); } ,getSourcefv: function(source,param,count) { if(count == null) { count = 1; } return lime_media_openal_AL.getSourcefv(source,param); } ,getSourcei: function(source,param) { return lime_media_openal_AL.getSourcei(source,param); } ,getSourceiv: function(source,param,count) { if(count == null) { count = 1; } return lime_media_openal_AL.getSourceiv(source,param,count); } ,getString: function(param,device) { if(device == null) { return lime_media_openal_AL.getString(param); } else { return lime_media_openal_ALC.getString(device,param); } } ,isBuffer: function(buffer) { return lime_media_openal_AL.isBuffer(buffer); } ,isEnabled: function(capability) { return lime_media_openal_AL.isEnabled(capability); } ,isExtensionPresent: function(extname) { return lime_media_openal_AL.isExtensionPresent(extname); } ,isSource: function(source) { return lime_media_openal_AL.isSource(source); } ,listener3f: function(param,value1,value2,value3) { lime_media_openal_AL.listener3f(param,value1,value2,value3); } ,listener3i: function(param,value1,value2,value3) { lime_media_openal_AL.listener3i(param,value1,value2,value3); } ,listenerf: function(param,value) { lime_media_openal_AL.listenerf(param,value); } ,listenerfv: function(param,values) { lime_media_openal_AL.listenerfv(param,values); } ,listeneri: function(param,value) { lime_media_openal_AL.listeneri(param,value); } ,listeneriv: function(param,values) { lime_media_openal_AL.listeneriv(param,values); } ,makeContextCurrent: function(context) { return lime_media_openal_ALC.makeContextCurrent(context); } ,openDevice: function(deviceName) { return lime_media_openal_ALC.openDevice(deviceName); } ,pauseDevice: function(device) { lime_media_openal_ALC.pauseDevice(device); } ,processContext: function(context) { lime_media_openal_ALC.processContext(context); } ,resumeDevice: function(device) { lime_media_openal_ALC.resumeDevice(device); } ,source3f: function(source,param,value1,value2,value3) { lime_media_openal_AL.source3f(source,param,value1,value2,value3); } ,source3i: function(source,param,value1,value2,value3) { lime_media_openal_AL.source3i(source,param,value1,value2,value3); } ,sourcef: function(source,param,value) { lime_media_openal_AL.sourcef(source,param,value); } ,sourcefv: function(source,param,values) { lime_media_openal_AL.sourcefv(source,param,values); } ,sourcei: function(source,param,value) { lime_media_openal_AL.sourcei(source,param,value); } ,sourceiv: function(source,param,values) { lime_media_openal_AL.sourceiv(source,param,values); } ,sourcePlay: function(source) { lime_media_openal_AL.sourcePlay(source); } ,sourcePlayv: function(sources) { lime_media_openal_AL.sourcePlayv(sources); } ,sourceStop: function(source) { lime_media_openal_AL.sourceStop(source); } ,sourceStopv: function(sources) { lime_media_openal_AL.sourceStopv(sources); } ,sourceRewind: function(source) { lime_media_openal_AL.sourceRewind(source); } ,sourceRewindv: function(sources) { lime_media_openal_AL.sourceRewindv(sources); } ,sourcePause: function(source) { lime_media_openal_AL.sourcePause(source); } ,sourcePausev: function(sources) { lime_media_openal_AL.sourcePausev(sources); } ,sourceQueueBuffer: function(source,buffer) { lime_media_openal_AL.sourceQueueBuffer(source,buffer); } ,sourceQueueBuffers: function(source,nb,buffers) { lime_media_openal_AL.sourceQueueBuffers(source,nb,buffers); } ,sourceUnqueueBuffer: function(source) { return lime_media_openal_AL.sourceUnqueueBuffer(source); } ,sourceUnqueueBuffers: function(source,nb) { return lime_media_openal_AL.sourceUnqueueBuffers(source,nb); } ,speedOfSound: function(value) { lime_media_openal_AL.speedOfSound(value); } ,suspendContext: function(context) { lime_media_openal_ALC.suspendContext(context); } ,__class__: lime_media_OpenALAudioContext }; var lime_media_openal_AL = function() { }; $hxClasses["lime.media.openal.AL"] = lime_media_openal_AL; lime_media_openal_AL.__name__ = ["lime","media","openal","AL"]; lime_media_openal_AL.removeDirectFilter = function(source) { }; lime_media_openal_AL.removeSend = function(source,index) { }; lime_media_openal_AL.auxf = function(aux,param,value) { }; lime_media_openal_AL.auxfv = function(aux,param,values) { }; lime_media_openal_AL.auxi = function(aux,param,value) { }; lime_media_openal_AL.auxiv = function(aux,param,values) { }; lime_media_openal_AL.bufferData = function(buffer,format,data,size,freq) { }; lime_media_openal_AL.buffer3f = function(buffer,param,value1,value2,value3) { }; lime_media_openal_AL.buffer3i = function(buffer,param,value1,value2,value3) { }; lime_media_openal_AL.bufferf = function(buffer,param,value) { }; lime_media_openal_AL.bufferfv = function(buffer,param,values) { }; lime_media_openal_AL.bufferi = function(buffer,param,value) { }; lime_media_openal_AL.bufferiv = function(buffer,param,values) { }; lime_media_openal_AL.createAux = function() { return null; }; lime_media_openal_AL.createBuffer = function() { return null; }; lime_media_openal_AL.createEffect = function() { return null; }; lime_media_openal_AL.createFilter = function() { return null; }; lime_media_openal_AL.createSource = function() { return null; }; lime_media_openal_AL.deleteBuffer = function(buffer) { }; lime_media_openal_AL.deleteBuffers = function(buffers) { }; lime_media_openal_AL.deleteSource = function(source) { }; lime_media_openal_AL.deleteSources = function(sources) { }; lime_media_openal_AL.disable = function(capability) { }; lime_media_openal_AL.distanceModel = function(distanceModel) { }; lime_media_openal_AL.dopplerFactor = function(value) { }; lime_media_openal_AL.dopplerVelocity = function(value) { }; lime_media_openal_AL.effectf = function(effect,param,value) { }; lime_media_openal_AL.effectfv = function(effect,param,values) { }; lime_media_openal_AL.effecti = function(effect,param,value) { }; lime_media_openal_AL.effectiv = function(effect,param,values) { }; lime_media_openal_AL.enable = function(capability) { }; lime_media_openal_AL.genSource = function() { return null; }; lime_media_openal_AL.genSources = function(n) { return null; }; lime_media_openal_AL.genBuffer = function() { return null; }; lime_media_openal_AL.genBuffers = function(n) { return null; }; lime_media_openal_AL.getBoolean = function(param) { return false; }; lime_media_openal_AL.getBooleanv = function(param,count) { if(count == null) { count = 1; } return null; }; lime_media_openal_AL.getBuffer3f = function(buffer,param) { return null; }; lime_media_openal_AL.getBuffer3i = function(buffer,param) { return null; }; lime_media_openal_AL.getBufferf = function(buffer,param) { return 0; }; lime_media_openal_AL.getBufferfv = function(buffer,param,count) { if(count == null) { count = 1; } return null; }; lime_media_openal_AL.getBufferi = function(buffer,param) { return 0; }; lime_media_openal_AL.getBufferiv = function(buffer,param,count) { if(count == null) { count = 1; } return null; }; lime_media_openal_AL.getDouble = function(param) { return 0; }; lime_media_openal_AL.getDoublev = function(param,count) { if(count == null) { count = 1; } return null; }; lime_media_openal_AL.getEnumValue = function(ename) { return 0; }; lime_media_openal_AL.getError = function() { return 0; }; lime_media_openal_AL.getErrorString = function() { var _g = lime_media_openal_AL.getError(); switch(_g) { case 40961: return "INVALID_NAME: Invalid parameter name"; case 40962: return "INVALID_ENUM: Invalid enum value"; case 40963: return "INVALID_VALUE: Invalid parameter value"; case 40964: return "INVALID_OPERATION: Illegal operation or call"; case 40965: return "OUT_OF_MEMORY: OpenAL has run out of memory"; default: return ""; } }; lime_media_openal_AL.getFilteri = function(filter,param) { return 0; }; lime_media_openal_AL.getFloat = function(param) { return 0; }; lime_media_openal_AL.getFloatv = function(param,count) { if(count == null) { count = 1; } return null; }; lime_media_openal_AL.getInteger = function(param) { return 0; }; lime_media_openal_AL.getIntegerv = function(param,count) { if(count == null) { count = 1; } return null; }; lime_media_openal_AL.getListener3f = function(param) { return null; }; lime_media_openal_AL.getListener3i = function(param) { return null; }; lime_media_openal_AL.getListenerf = function(param) { return 0; }; lime_media_openal_AL.getListenerfv = function(param,count) { if(count == null) { count = 1; } return null; }; lime_media_openal_AL.getListeneri = function(param) { return 0; }; lime_media_openal_AL.getListeneriv = function(param,count) { if(count == null) { count = 1; } return null; }; lime_media_openal_AL.getParameter = function(param) { return null; }; lime_media_openal_AL.getProcAddress = function(fname) { return null; }; lime_media_openal_AL.getSource3f = function(source,param) { return null; }; lime_media_openal_AL.getSourcef = function(source,param) { return 0; }; lime_media_openal_AL.getSource3i = function(source,param) { return null; }; lime_media_openal_AL.getSourcefv = function(source,param,count) { if(count == null) { count = 1; } return null; }; lime_media_openal_AL.getSourcei = function(source,param) { return 0; }; lime_media_openal_AL.getSourceiv = function(source,param,count) { if(count == null) { count = 1; } return null; }; lime_media_openal_AL.getString = function(param) { return null; }; lime_media_openal_AL.isBuffer = function(buffer) { return false; }; lime_media_openal_AL.isEnabled = function(capability) { return false; }; lime_media_openal_AL.isExtensionPresent = function(extname) { return false; }; lime_media_openal_AL.isAux = function(aux) { return false; }; lime_media_openal_AL.isEffect = function(effect) { return false; }; lime_media_openal_AL.isFilter = function(filter) { return false; }; lime_media_openal_AL.isSource = function(source) { return false; }; lime_media_openal_AL.listener3f = function(param,value1,value2,value3) { }; lime_media_openal_AL.listener3i = function(param,value1,value2,value3) { }; lime_media_openal_AL.listenerf = function(param,value) { }; lime_media_openal_AL.listenerfv = function(param,values) { }; lime_media_openal_AL.listeneri = function(param,value) { }; lime_media_openal_AL.listeneriv = function(param,values) { }; lime_media_openal_AL.source3f = function(source,param,value1,value2,value3) { }; lime_media_openal_AL.source3i = function(source,param,value1,value2,value3) { }; lime_media_openal_AL.sourcef = function(source,param,value) { }; lime_media_openal_AL.sourcefv = function(source,param,values) { }; lime_media_openal_AL.sourcei = function(source,param,value) { }; lime_media_openal_AL.filteri = function(filter,param,value) { }; lime_media_openal_AL.filterf = function(filter,param,value) { }; lime_media_openal_AL.sourceiv = function(source,param,values) { }; lime_media_openal_AL.sourcePlay = function(source) { }; lime_media_openal_AL.sourcePlayv = function(sources) { }; lime_media_openal_AL.sourceStop = function(source) { }; lime_media_openal_AL.sourceStopv = function(sources) { }; lime_media_openal_AL.sourceRewind = function(source) { }; lime_media_openal_AL.sourceRewindv = function(sources) { }; lime_media_openal_AL.sourcePause = function(source) { }; lime_media_openal_AL.sourcePausev = function(sources) { }; lime_media_openal_AL.sourceQueueBuffer = function(source,buffer) { }; lime_media_openal_AL.sourceQueueBuffers = function(source,nb,buffers) { }; lime_media_openal_AL.sourceUnqueueBuffer = function(source) { return 0; }; lime_media_openal_AL.sourceUnqueueBuffers = function(source,nb) { return null; }; lime_media_openal_AL.speedOfSound = function(value) { }; var lime_media_openal__$ALAuxiliaryEffectSlot_ALAuxiliaryEffectSlot_$Impl_$ = {}; $hxClasses["lime.media.openal._ALAuxiliaryEffectSlot.ALAuxiliaryEffectSlot_Impl_"] = lime_media_openal__$ALAuxiliaryEffectSlot_ALAuxiliaryEffectSlot_$Impl_$; lime_media_openal__$ALAuxiliaryEffectSlot_ALAuxiliaryEffectSlot_$Impl_$.__name__ = ["lime","media","openal","_ALAuxiliaryEffectSlot","ALAuxiliaryEffectSlot_Impl_"]; lime_media_openal__$ALAuxiliaryEffectSlot_ALAuxiliaryEffectSlot_$Impl_$._new = function(handle) { var this1 = handle; return this1; }; var lime_media_openal__$ALBuffer_ALBuffer_$Impl_$ = {}; $hxClasses["lime.media.openal._ALBuffer.ALBuffer_Impl_"] = lime_media_openal__$ALBuffer_ALBuffer_$Impl_$; lime_media_openal__$ALBuffer_ALBuffer_$Impl_$.__name__ = ["lime","media","openal","_ALBuffer","ALBuffer_Impl_"]; lime_media_openal__$ALBuffer_ALBuffer_$Impl_$._new = function(handle) { var this1 = handle; return this1; }; var lime_media_openal_ALC = function() { }; $hxClasses["lime.media.openal.ALC"] = lime_media_openal_ALC; lime_media_openal_ALC.__name__ = ["lime","media","openal","ALC"]; lime_media_openal_ALC.closeDevice = function(device) { return false; }; lime_media_openal_ALC.createContext = function(device,attrlist) { return null; }; lime_media_openal_ALC.destroyContext = function(context) { }; lime_media_openal_ALC.getContextsDevice = function(context) { return null; }; lime_media_openal_ALC.getCurrentContext = function() { return null; }; lime_media_openal_ALC.getError = function(device) { return 0; }; lime_media_openal_ALC.getErrorString = function(device) { var _g = lime_media_openal_ALC.getError(device); switch(_g) { case 40961: return "INVALID_DEVICE: Invalid device (or no device?)"; case 40962: return "INVALID_CONTEXT: Invalid context (or no context?)"; case 40963: return "INVALID_ENUM: Invalid enum value"; case 40964: return "INVALID_VALUE: Invalid param value"; case 40965: return "OUT_OF_MEMORY: OpenAL has run out of memory"; default: return ""; } }; lime_media_openal_ALC.getIntegerv = function(device,param,size) { return null; }; lime_media_openal_ALC.getString = function(device,param) { return null; }; lime_media_openal_ALC.makeContextCurrent = function(context) { return false; }; lime_media_openal_ALC.openDevice = function(deviceName) { return null; }; lime_media_openal_ALC.pauseDevice = function(device) { }; lime_media_openal_ALC.processContext = function(context) { }; lime_media_openal_ALC.resumeDevice = function(device) { }; lime_media_openal_ALC.suspendContext = function(context) { }; var lime_media_openal__$ALContext_ALContext_$Impl_$ = {}; $hxClasses["lime.media.openal._ALContext.ALContext_Impl_"] = lime_media_openal__$ALContext_ALContext_$Impl_$; lime_media_openal__$ALContext_ALContext_$Impl_$.__name__ = ["lime","media","openal","_ALContext","ALContext_Impl_"]; lime_media_openal__$ALContext_ALContext_$Impl_$._new = function(handle) { var this1 = handle; return this1; }; var lime_media_openal__$ALDevice_ALDevice_$Impl_$ = {}; $hxClasses["lime.media.openal._ALDevice.ALDevice_Impl_"] = lime_media_openal__$ALDevice_ALDevice_$Impl_$; lime_media_openal__$ALDevice_ALDevice_$Impl_$.__name__ = ["lime","media","openal","_ALDevice","ALDevice_Impl_"]; lime_media_openal__$ALDevice_ALDevice_$Impl_$._new = function(handle) { var this1 = handle; return this1; }; var lime_media_openal__$ALEffect_ALEffect_$Impl_$ = {}; $hxClasses["lime.media.openal._ALEffect.ALEffect_Impl_"] = lime_media_openal__$ALEffect_ALEffect_$Impl_$; lime_media_openal__$ALEffect_ALEffect_$Impl_$.__name__ = ["lime","media","openal","_ALEffect","ALEffect_Impl_"]; lime_media_openal__$ALEffect_ALEffect_$Impl_$._new = function(handle) { var this1 = handle; return this1; }; var lime_media_openal__$ALFilter_ALFilter_$Impl_$ = {}; $hxClasses["lime.media.openal._ALFilter.ALFilter_Impl_"] = lime_media_openal__$ALFilter_ALFilter_$Impl_$; lime_media_openal__$ALFilter_ALFilter_$Impl_$.__name__ = ["lime","media","openal","_ALFilter","ALFilter_Impl_"]; lime_media_openal__$ALFilter_ALFilter_$Impl_$._new = function(handle) { var this1 = handle; return this1; }; var lime_media_openal__$ALSource_ALSource_$Impl_$ = {}; $hxClasses["lime.media.openal._ALSource.ALSource_Impl_"] = lime_media_openal__$ALSource_ALSource_$Impl_$; lime_media_openal__$ALSource_ALSource_$Impl_$.__name__ = ["lime","media","openal","_ALSource","ALSource_Impl_"]; lime_media_openal__$ALSource_ALSource_$Impl_$._new = function(handle) { var this1 = handle; return this1; }; var lime_media_vorbis_VorbisComment = function() { }; $hxClasses["lime.media.vorbis.VorbisComment"] = lime_media_vorbis_VorbisComment; lime_media_vorbis_VorbisComment.__name__ = ["lime","media","vorbis","VorbisComment"]; lime_media_vorbis_VorbisComment.prototype = { userComments: null ,vendor: null ,__class__: lime_media_vorbis_VorbisComment }; var lime_media_vorbis_VorbisFile = function(handle) { this.handle = handle; }; $hxClasses["lime.media.vorbis.VorbisFile"] = lime_media_vorbis_VorbisFile; lime_media_vorbis_VorbisFile.__name__ = ["lime","media","vorbis","VorbisFile"]; lime_media_vorbis_VorbisFile.fromBytes = function(bytes) { return null; }; lime_media_vorbis_VorbisFile.fromFile = function(path) { return null; }; lime_media_vorbis_VorbisFile.prototype = { bitstream: null ,handle: null ,bitrate: function(bitstream) { if(bitstream == null) { bitstream = -1; } return 0; } ,bitrateInstant: function() { return 0; } ,clear: function() { } ,comment: function(bitstream) { if(bitstream == null) { bitstream = -1; } return null; } ,crosslap: function(other) { return 0; } ,info: function(bitstream) { if(bitstream == null) { bitstream = -1; } return null; } ,pcmSeek: function(pos) { return 0; } ,pcmSeekLap: function(pos) { return 0; } ,pcmSeekPage: function(pos) { return 0; } ,pcmSeekPageLap: function(pos) { return 0; } ,pcmTell: function() { var this1 = new haxe__$Int64__$_$_$Int64(0,0); return this1; } ,pcmTotal: function(bitstream) { if(bitstream == null) { bitstream = -1; } var this1 = new haxe__$Int64__$_$_$Int64(0,0); return this1; } ,rawSeek: function(pos) { return 0; } ,rawSeekLap: function(pos) { return 0; } ,rawTell: function() { var this1 = new haxe__$Int64__$_$_$Int64(0,0); return this1; } ,rawTotal: function(bitstream) { if(bitstream == null) { bitstream = -1; } var this1 = new haxe__$Int64__$_$_$Int64(0,0); return this1; } ,read: function(buffer,position,length,bigEndianPacking,wordSize,signed) { if(signed == null) { signed = true; } if(wordSize == null) { wordSize = 2; } if(bigEndianPacking == null) { bigEndianPacking = false; } if(length == null) { length = 4096; } return 0; } ,readFloat: function(pcmChannels,samples) { return 0; } ,seekable: function() { return false; } ,serialNumber: function(bitstream) { if(bitstream == null) { bitstream = -1; } return 0; } ,streams: function() { return 0; } ,timeSeek: function(s) { return 0; } ,timeSeekLap: function(s) { return 0; } ,timeSeekPage: function(s) { return 0; } ,timeSeekPageLap: function(s) { return 0; } ,timeTell: function() { return 0; } ,timeTotal: function(bitstream) { if(bitstream == null) { bitstream = -1; } return 0; } ,__class__: lime_media_vorbis_VorbisFile }; var lime_media_vorbis_VorbisInfo = function() { }; $hxClasses["lime.media.vorbis.VorbisInfo"] = lime_media_vorbis_VorbisInfo; lime_media_vorbis_VorbisInfo.__name__ = ["lime","media","vorbis","VorbisInfo"]; lime_media_vorbis_VorbisInfo.prototype = { bitrateLower: null ,bitrateNominal: null ,bitrateUpper: null ,channels: null ,rate: null ,version: null ,__class__: lime_media_vorbis_VorbisInfo }; var lime_net__$IHTTPRequest = function() { }; $hxClasses["lime.net._IHTTPRequest"] = lime_net__$IHTTPRequest; lime_net__$IHTTPRequest.__name__ = ["lime","net","_IHTTPRequest"]; lime_net__$IHTTPRequest.prototype = { contentType: null ,data: null ,enableResponseHeaders: null ,followRedirects: null ,formData: null ,headers: null ,method: null ,responseHeaders: null ,responseStatus: null ,timeout: null ,uri: null ,userAgent: null ,withCredentials: null ,cancel: null ,__class__: lime_net__$IHTTPRequest }; var lime_net__$HTTPRequest_AbstractHTTPRequest = function(uri) { this.uri = uri; this.contentType = "application/x-www-form-urlencoded"; this.followRedirects = true; this.enableResponseHeaders = false; this.formData = new haxe_ds_StringMap(); this.headers = []; this.method = "GET"; this.timeout = 30000; this.withCredentials = false; this.__backend = new lime__$internal_backend_html5_HTML5HTTPRequest(); this.__backend.init(this); }; $hxClasses["lime.net._HTTPRequest.AbstractHTTPRequest"] = lime_net__$HTTPRequest_AbstractHTTPRequest; lime_net__$HTTPRequest_AbstractHTTPRequest.__name__ = ["lime","net","_HTTPRequest","AbstractHTTPRequest"]; lime_net__$HTTPRequest_AbstractHTTPRequest.__interfaces__ = [lime_net__$IHTTPRequest]; lime_net__$HTTPRequest_AbstractHTTPRequest.prototype = { contentType: null ,data: null ,enableResponseHeaders: null ,followRedirects: null ,formData: null ,headers: null ,method: null ,responseData: null ,responseHeaders: null ,responseStatus: null ,timeout: null ,uri: null ,userAgent: null ,withCredentials: null ,__backend: null ,cancel: function() { this.__backend.cancel(); } ,load: function(uri) { return null; } ,__class__: lime_net__$HTTPRequest_AbstractHTTPRequest }; var lime_net_HTTPRequest = function(uri) { lime_net__$HTTPRequest_AbstractHTTPRequest.call(this,uri); }; $hxClasses["lime.net.HTTPRequest"] = lime_net_HTTPRequest; lime_net_HTTPRequest.__name__ = ["lime","net","HTTPRequest"]; lime_net_HTTPRequest.__super__ = lime_net__$HTTPRequest_AbstractHTTPRequest; lime_net_HTTPRequest.prototype = $extend(lime_net__$HTTPRequest_AbstractHTTPRequest.prototype,{ __class__: lime_net_HTTPRequest }); var lime_net__$HTTPRequest_$Bytes = function(uri) { lime_net__$HTTPRequest_AbstractHTTPRequest.call(this,uri); }; $hxClasses["lime.net._HTTPRequest_Bytes"] = lime_net__$HTTPRequest_$Bytes; lime_net__$HTTPRequest_$Bytes.__name__ = ["lime","net","_HTTPRequest_Bytes"]; lime_net__$HTTPRequest_$Bytes.__super__ = lime_net__$HTTPRequest_AbstractHTTPRequest; lime_net__$HTTPRequest_$Bytes.prototype = $extend(lime_net__$HTTPRequest_AbstractHTTPRequest.prototype,{ fromBytes: function(bytes) { return bytes; } ,load: function(uri) { var _gthis = this; if(uri != null) { this.uri = uri; } var promise = new lime_app_Promise(); var future = this.__backend.loadData(this.uri); future.onProgress($bind(promise,promise.progress)); future.onError($bind(promise,promise.error)); future.onComplete(function(bytes) { _gthis.responseData = _gthis.fromBytes(bytes); promise.complete(_gthis.responseData); }); return promise.future; } ,__class__: lime_net__$HTTPRequest_$Bytes }); var lime_net__$HTTPRequest_$String = function(uri) { lime_net__$HTTPRequest_AbstractHTTPRequest.call(this,uri); }; $hxClasses["lime.net._HTTPRequest_String"] = lime_net__$HTTPRequest_$String; lime_net__$HTTPRequest_$String.__name__ = ["lime","net","_HTTPRequest_String"]; lime_net__$HTTPRequest_$String.__super__ = lime_net__$HTTPRequest_AbstractHTTPRequest; lime_net__$HTTPRequest_$String.prototype = $extend(lime_net__$HTTPRequest_AbstractHTTPRequest.prototype,{ load: function(uri) { var _gthis = this; if(uri != null) { this.uri = uri; } var promise = new lime_app_Promise(); var future = this.__backend.loadText(this.uri); future.onProgress($bind(promise,promise.progress)); future.onError($bind(promise,promise.error)); future.onComplete(function(text) { _gthis.responseData = text; promise.complete(_gthis.responseData); }); return promise.future; } ,__class__: lime_net__$HTTPRequest_$String }); var lime_net_HTTPRequestHeader = function(name,value) { if(value == null) { value = ""; } this.name = name; this.value = value; }; $hxClasses["lime.net.HTTPRequestHeader"] = lime_net_HTTPRequestHeader; lime_net_HTTPRequestHeader.__name__ = ["lime","net","HTTPRequestHeader"]; lime_net_HTTPRequestHeader.prototype = { name: null ,value: null ,__class__: lime_net_HTTPRequestHeader }; var lime_net__$HTTPRequest_$lime_$text_$Font = function(uri) { lime_net__$HTTPRequest_$Bytes.call(this,uri); }; $hxClasses["lime.net._HTTPRequest_lime_text_Font"] = lime_net__$HTTPRequest_$lime_$text_$Font; lime_net__$HTTPRequest_$lime_$text_$Font.__name__ = ["lime","net","_HTTPRequest_lime_text_Font"]; lime_net__$HTTPRequest_$lime_$text_$Font.__super__ = lime_net__$HTTPRequest_$Bytes; lime_net__$HTTPRequest_$lime_$text_$Font.prototype = $extend(lime_net__$HTTPRequest_$Bytes.prototype,{ fromBytes: function(bytes) { return lime_text_Font.fromBytes(bytes); } ,__class__: lime_net__$HTTPRequest_$lime_$text_$Font }); var lime_net__$HTTPRequest_$lime_$utils_$Bytes = function(uri) { lime_net__$HTTPRequest_$Bytes.call(this,uri); }; $hxClasses["lime.net._HTTPRequest_lime_utils_Bytes"] = lime_net__$HTTPRequest_$lime_$utils_$Bytes; lime_net__$HTTPRequest_$lime_$utils_$Bytes.__name__ = ["lime","net","_HTTPRequest_lime_utils_Bytes"]; lime_net__$HTTPRequest_$lime_$utils_$Bytes.__super__ = lime_net__$HTTPRequest_$Bytes; lime_net__$HTTPRequest_$lime_$utils_$Bytes.prototype = $extend(lime_net__$HTTPRequest_$Bytes.prototype,{ fromBytes: function(bytes) { return lime_utils__$Bytes_Bytes_$Impl_$.fromBytes(bytes); } ,__class__: lime_net__$HTTPRequest_$lime_$utils_$Bytes }); var lime_net__$HTTPRequest_$openfl_$utils_$ByteArray = function(uri) { lime_net__$HTTPRequest_$Bytes.call(this,uri); }; $hxClasses["lime.net._HTTPRequest_openfl_utils_ByteArray"] = lime_net__$HTTPRequest_$openfl_$utils_$ByteArray; lime_net__$HTTPRequest_$openfl_$utils_$ByteArray.__name__ = ["lime","net","_HTTPRequest_openfl_utils_ByteArray"]; lime_net__$HTTPRequest_$openfl_$utils_$ByteArray.__super__ = lime_net__$HTTPRequest_$Bytes; lime_net__$HTTPRequest_$openfl_$utils_$ByteArray.prototype = $extend(lime_net__$HTTPRequest_$Bytes.prototype,{ fromBytes: function(bytes) { return openfl_utils__$ByteArray_ByteArray_$Impl_$.fromBytes(bytes); } ,__class__: lime_net__$HTTPRequest_$openfl_$utils_$ByteArray }); var lime_system_CFFI = function() { }; $hxClasses["lime.system.CFFI"] = lime_system_CFFI; lime_system_CFFI.__name__ = ["lime","system","CFFI"]; lime_system_CFFI.available = null; lime_system_CFFI.enabled = null; lime_system_CFFI.load = function(library,method,args,lazy) { if(lazy == null) { lazy = false; } if(args == null) { args = 0; } if(!lime_system_CFFI.enabled) { return Reflect.makeVarArgs(function(__) { return { }; }); } var result = null; return result; }; lime_system_CFFI.__findHaxelib = function(library) { return ""; }; lime_system_CFFI.__loaderTrace = function(message) { }; lime_system_CFFI.__sysName = function() { return null; }; lime_system_CFFI.__tryLoad = function(name,library,func,args) { return null; }; var lime_system__$CFFIPointer_CFFIPointer_$Impl_$ = {}; $hxClasses["lime.system._CFFIPointer.CFFIPointer_Impl_"] = lime_system__$CFFIPointer_CFFIPointer_$Impl_$; lime_system__$CFFIPointer_CFFIPointer_$Impl_$.__name__ = ["lime","system","_CFFIPointer","CFFIPointer_Impl_"]; lime_system__$CFFIPointer_CFFIPointer_$Impl_$._new = function(handle) { var this1 = handle; return this1; }; lime_system__$CFFIPointer_CFFIPointer_$Impl_$.get = function(this1) { var tmp = this1 != null; return 0; }; lime_system__$CFFIPointer_CFFIPointer_$Impl_$.equals = function(a,b) { return lime_system__$CFFIPointer_CFFIPointer_$Impl_$.get(a) == b; }; lime_system__$CFFIPointer_CFFIPointer_$Impl_$.equalsPointer = function(a,b) { return lime_system__$CFFIPointer_CFFIPointer_$Impl_$.get(a) == lime_system__$CFFIPointer_CFFIPointer_$Impl_$.get(b); }; lime_system__$CFFIPointer_CFFIPointer_$Impl_$.greaterThan = function(a,b) { return lime_system__$CFFIPointer_CFFIPointer_$Impl_$.get(a) > b; }; lime_system__$CFFIPointer_CFFIPointer_$Impl_$.greaterThanPointer = function(a,b) { return lime_system__$CFFIPointer_CFFIPointer_$Impl_$.get(a) > lime_system__$CFFIPointer_CFFIPointer_$Impl_$.get(b); }; lime_system__$CFFIPointer_CFFIPointer_$Impl_$.greaterThanOrEqual = function(a,b) { return lime_system__$CFFIPointer_CFFIPointer_$Impl_$.get(a) >= b; }; lime_system__$CFFIPointer_CFFIPointer_$Impl_$.greaterThanOrEqualPointer = function(a,b) { return lime_system__$CFFIPointer_CFFIPointer_$Impl_$.get(a) >= lime_system__$CFFIPointer_CFFIPointer_$Impl_$.get(b); }; lime_system__$CFFIPointer_CFFIPointer_$Impl_$.lessThan = function(a,b) { return lime_system__$CFFIPointer_CFFIPointer_$Impl_$.get(a) < b; }; lime_system__$CFFIPointer_CFFIPointer_$Impl_$.lessThanPointer = function(a,b) { return lime_system__$CFFIPointer_CFFIPointer_$Impl_$.get(a) < lime_system__$CFFIPointer_CFFIPointer_$Impl_$.get(b); }; lime_system__$CFFIPointer_CFFIPointer_$Impl_$.lessThanOrEqual = function(a,b) { return lime_system__$CFFIPointer_CFFIPointer_$Impl_$.get(a) <= b; }; lime_system__$CFFIPointer_CFFIPointer_$Impl_$.lessThanOrEqualPointer = function(a,b) { return lime_system__$CFFIPointer_CFFIPointer_$Impl_$.get(a) <= lime_system__$CFFIPointer_CFFIPointer_$Impl_$.get(b); }; lime_system__$CFFIPointer_CFFIPointer_$Impl_$.notEquals = function(a,b) { return lime_system__$CFFIPointer_CFFIPointer_$Impl_$.get(a) != b; }; lime_system__$CFFIPointer_CFFIPointer_$Impl_$.notEqualsPointer = function(a,b) { return lime_system__$CFFIPointer_CFFIPointer_$Impl_$.get(a) != lime_system__$CFFIPointer_CFFIPointer_$Impl_$.get(b); }; var lime_system_Clipboard = function() { }; $hxClasses["lime.system.Clipboard"] = lime_system_Clipboard; lime_system_Clipboard.__name__ = ["lime","system","Clipboard"]; lime_system_Clipboard.__properties__ = {set_text:"set_text",get_text:"get_text"}; lime_system_Clipboard._text = null; lime_system_Clipboard.__update = function() { var cacheText = lime_system_Clipboard._text; if(lime_system_Clipboard._text != cacheText) { lime_system_Clipboard.onUpdate.dispatch(); } }; lime_system_Clipboard.get_text = function() { lime_system_Clipboard.__update(); return lime_system_Clipboard._text; }; lime_system_Clipboard.set_text = function(value) { var cacheText = lime_system_Clipboard._text; lime_system_Clipboard._text = value; var $window = lime_app_Application.current.__window; if($window != null) { $window.__backend.setClipboard(value); } if(lime_system_Clipboard._text != cacheText) { lime_system_Clipboard.onUpdate.dispatch(); } return value; }; var lime_system_Display = function() { }; $hxClasses["lime.system.Display"] = lime_system_Display; lime_system_Display.__name__ = ["lime","system","Display"]; lime_system_Display.prototype = { bounds: null ,currentMode: null ,id: null ,dpi: null ,name: null ,supportedModes: null ,__class__: lime_system_Display }; var lime_system_DisplayMode = function(width,height,refreshRate,pixelFormat) { this.width = width; this.height = height; this.refreshRate = refreshRate; this.pixelFormat = pixelFormat; }; $hxClasses["lime.system.DisplayMode"] = lime_system_DisplayMode; lime_system_DisplayMode.__name__ = ["lime","system","DisplayMode"]; lime_system_DisplayMode.prototype = { height: null ,pixelFormat: null ,refreshRate: null ,width: null ,__class__: lime_system_DisplayMode }; var lime_system_Endian = $hxClasses["lime.system.Endian"] = { __ename__ : ["lime","system","Endian"], __constructs__ : ["LITTLE_ENDIAN","BIG_ENDIAN"] }; lime_system_Endian.LITTLE_ENDIAN = ["LITTLE_ENDIAN",0]; lime_system_Endian.LITTLE_ENDIAN.toString = $estr; lime_system_Endian.LITTLE_ENDIAN.__enum__ = lime_system_Endian; lime_system_Endian.BIG_ENDIAN = ["BIG_ENDIAN",1]; lime_system_Endian.BIG_ENDIAN.toString = $estr; lime_system_Endian.BIG_ENDIAN.__enum__ = lime_system_Endian; var lime_system_JNI = function() { }; $hxClasses["lime.system.JNI"] = lime_system_JNI; lime_system_JNI.__name__ = ["lime","system","JNI"]; lime_system_JNI.callMember = function(method,jobject,a) { var _g = a.length; switch(_g) { case 0: return method(jobject); case 1: return method(jobject,a[0]); case 2: return method(jobject,a[0],a[1]); case 3: return method(jobject,a[0],a[1],a[2]); case 4: return method(jobject,a[0],a[1],a[2],a[3]); case 5: return method(jobject,a[0],a[1],a[2],a[3],a[4]); case 6: return method(jobject,a[0],a[1],a[2],a[3],a[4],a[5]); case 7: return method(jobject,a[0],a[1],a[2],a[3],a[4],a[5],a[6]); default: return null; } }; lime_system_JNI.callStatic = function(method,a) { var _g = a.length; switch(_g) { case 0: return method(); case 1: return method(a[0]); case 2: return method(a[0],a[1]); case 3: return method(a[0],a[1],a[2]); case 4: return method(a[0],a[1],a[2],a[3]); case 5: return method(a[0],a[1],a[2],a[3],a[4]); case 6: return method(a[0],a[1],a[2],a[3],a[4],a[5]); case 7: return method(a[0],a[1],a[2],a[3],a[4],a[5],a[6]); default: return null; } }; lime_system_JNI.createMemberField = function(className,memberName,signature) { lime_system_JNI.init(); return null; }; lime_system_JNI.createMemberMethod = function(className,memberName,signature,useArray,quietFail) { if(quietFail == null) { quietFail = false; } if(useArray == null) { useArray = false; } lime_system_JNI.init(); return null; }; lime_system_JNI.createStaticField = function(className,memberName,signature) { lime_system_JNI.init(); return null; }; lime_system_JNI.createStaticMethod = function(className,memberName,signature,useArray,quietFail) { if(quietFail == null) { quietFail = false; } if(useArray == null) { useArray = false; } lime_system_JNI.init(); return null; }; lime_system_JNI.getEnv = function() { lime_system_JNI.init(); return null; }; lime_system_JNI.init = function() { if(!lime_system_JNI.initialized) { lime_system_JNI.initialized = true; } }; lime_system_JNI.onCallback = function(object,method,args) { var field = Reflect.field(object,method); if(field != null) { if(args == null) { args = []; } return field.apply(object,args); } haxe_Log.trace("onCallback - unknown field " + method,{ fileName : "JNI.hx", lineNumber : 184, className : "lime.system.JNI", methodName : "onCallback"}); return null; }; lime_system_JNI.postUICallback = function(callback) { callback(); }; var lime_system_JNIMemberField = function(field) { this.field = field; }; $hxClasses["lime.system.JNIMemberField"] = lime_system_JNIMemberField; lime_system_JNIMemberField.__name__ = ["lime","system","JNIMemberField"]; lime_system_JNIMemberField.prototype = { field: null ,get: function(jobject) { return null; } ,set: function(jobject,value) { return value; } ,__class__: lime_system_JNIMemberField }; var lime_system_JNIStaticField = function(field) { this.field = field; }; $hxClasses["lime.system.JNIStaticField"] = lime_system_JNIStaticField; lime_system_JNIStaticField.__name__ = ["lime","system","JNIStaticField"]; lime_system_JNIStaticField.prototype = { field: null ,get: function() { return null; } ,set: function(value) { return value; } ,__class__: lime_system_JNIStaticField }; var lime_system_JNIMethod = function(method) { this.method = method; }; $hxClasses["lime.system.JNIMethod"] = lime_system_JNIMethod; lime_system_JNIMethod.__name__ = ["lime","system","JNIMethod"]; lime_system_JNIMethod.prototype = { method: null ,callMember: function(args) { return null; } ,callStatic: function(args) { return null; } ,getMemberMethod: function(useArray) { if(useArray) { return $bind(this,this.callMember); } else { return Reflect.makeVarArgs($bind(this,this.callMember)); } } ,getStaticMethod: function(useArray) { if(useArray) { return $bind(this,this.callStatic); } else { return Reflect.makeVarArgs($bind(this,this.callStatic)); } } ,__class__: lime_system_JNIMethod }; var lime_system__$Locale_Locale_$Impl_$ = {}; $hxClasses["lime.system._Locale.Locale_Impl_"] = lime_system__$Locale_Locale_$Impl_$; lime_system__$Locale_Locale_$Impl_$.__name__ = ["lime","system","_Locale","Locale_Impl_"]; lime_system__$Locale_Locale_$Impl_$.__properties__ = {get_region:"get_region",get_language:"get_language",get_systemLocale:"get_systemLocale",set_currentLocale:"set_currentLocale",get_currentLocale:"get_currentLocale"}; lime_system__$Locale_Locale_$Impl_$.currentLocale = null; lime_system__$Locale_Locale_$Impl_$.__systemLocale = null; lime_system__$Locale_Locale_$Impl_$._new = function(value) { var this1 = value; return this1; }; lime_system__$Locale_Locale_$Impl_$.equals = function(a,b) { var language = lime_system__$Locale_Locale_$Impl_$.get_language(a); var region = lime_system__$Locale_Locale_$Impl_$.get_region(a); var language2 = lime_system__$Locale_Locale_$Impl_$.get_language(b); var region2 = lime_system__$Locale_Locale_$Impl_$.get_region(b); var languageMatch = language == language2; var regionMatch = region == region2; if(!languageMatch && language != null && language2 != null) { languageMatch = language.toLowerCase() == language2.toLowerCase(); } if(!regionMatch && region != null && region2 != null) { regionMatch = region.toLowerCase() == region2.toLowerCase(); } if(languageMatch) { return regionMatch; } else { return false; } }; lime_system__$Locale_Locale_$Impl_$.__init = function() { if(lime_system__$Locale_Locale_$Impl_$.__systemLocale == null) { var locale = null; locale = navigator.language; if(locale != null) { lime_system__$Locale_Locale_$Impl_$.__systemLocale = locale; } else { lime_system__$Locale_Locale_$Impl_$.__systemLocale = "en-US"; } lime_system__$Locale_Locale_$Impl_$.set_currentLocale(lime_system__$Locale_Locale_$Impl_$.__systemLocale); } }; lime_system__$Locale_Locale_$Impl_$.get_language = function(this1) { if(this1 != null) { var index = this1.indexOf("_"); if(index > -1) { var dashIndex = this1.indexOf("-"); if(dashIndex > -1 && dashIndex < index) { index = dashIndex; } return this1.substring(0,index); } index = this1.indexOf("-"); if(index > -1) { return this1.substring(0,index); } } return this1; }; lime_system__$Locale_Locale_$Impl_$.get_region = function(this1) { if(this1 != null) { var underscoreIndex = this1.indexOf("_"); var dotIndex = this1.indexOf("."); var dashIndex = this1.indexOf("-"); if(underscoreIndex > -1) { if(dotIndex > -1) { return this1.substring(underscoreIndex + 1,dotIndex); } else { return this1.substring(underscoreIndex + 1); } } else if(dashIndex > -1) { if(dotIndex > -1) { return this1.substring(dashIndex + 1,dotIndex); } else { return this1.substring(dashIndex + 1); } } } return null; }; lime_system__$Locale_Locale_$Impl_$.get_currentLocale = function() { lime_system__$Locale_Locale_$Impl_$.__init(); return lime_system__$Locale_Locale_$Impl_$.currentLocale; }; lime_system__$Locale_Locale_$Impl_$.set_currentLocale = function(value) { lime_system__$Locale_Locale_$Impl_$.__init(); return lime_system__$Locale_Locale_$Impl_$.currentLocale = value; }; lime_system__$Locale_Locale_$Impl_$.get_systemLocale = function() { lime_system__$Locale_Locale_$Impl_$.__init(); return lime_system__$Locale_Locale_$Impl_$.__systemLocale; }; var lime_system_Sensor = function(type,id) { this.onUpdate = new lime_app__$Event_$Float_$Float_$Float_$Void(); this.type = type; this.id = id; }; $hxClasses["lime.system.Sensor"] = lime_system_Sensor; lime_system_Sensor.__name__ = ["lime","system","Sensor"]; lime_system_Sensor.getSensors = function(type) { if(type == null) { return lime_system_Sensor.sensors.slice(); } else { var result = []; var _g = 0; var _g1 = lime_system_Sensor.sensors; while(_g < _g1.length) { var sensor = _g1[_g]; ++_g; if(sensor.type == type) { result.push(sensor); } } return result; } }; lime_system_Sensor.registerSensor = function(type,id) { var sensor = new lime_system_Sensor(type,id); lime_system_Sensor.sensors.push(sensor); lime_system_Sensor.sensorByID.h[id] = sensor; return sensor; }; lime_system_Sensor.prototype = { id: null ,onUpdate: null ,type: null ,__class__: lime_system_Sensor }; var lime_system_SensorType = $hxClasses["lime.system.SensorType"] = { __ename__ : ["lime","system","SensorType"], __constructs__ : ["ACCELEROMETER"] }; lime_system_SensorType.ACCELEROMETER = ["ACCELEROMETER",0]; lime_system_SensorType.ACCELEROMETER.toString = $estr; lime_system_SensorType.ACCELEROMETER.__enum__ = lime_system_SensorType; var lime_system_System = function() { }; $hxClasses["lime.system.System"] = lime_system_System; lime_system_System.__name__ = ["lime","system","System"]; lime_system_System.__properties__ = {get_userDirectory:"get_userDirectory",get_platformVersion:"get_platformVersion",get_platformName:"get_platformName",get_platformLabel:"get_platformLabel",get_numDisplays:"get_numDisplays",get_fontsDirectory:"get_fontsDirectory",get_endianness:"get_endianness",get_documentsDirectory:"get_documentsDirectory",get_deviceVendor:"get_deviceVendor",get_deviceModel:"get_deviceModel",get_desktopDirectory:"get_desktopDirectory",get_applicationStorageDirectory:"get_applicationStorageDirectory",get_applicationDirectory:"get_applicationDirectory",set_allowScreenTimeout:"set_allowScreenTimeout",get_allowScreenTimeout:"get_allowScreenTimeout"}; lime_system_System.disableCFFI = null; lime_system_System.__applicationDirectory = null; lime_system_System.__applicationEntryPoint = null; lime_system_System.__applicationStorageDirectory = null; lime_system_System.__desktopDirectory = null; lime_system_System.__deviceModel = null; lime_system_System.__deviceVendor = null; lime_system_System.__documentsDirectory = null; lime_system_System.__endianness = null; lime_system_System.__fontsDirectory = null; lime_system_System.__platformLabel = null; lime_system_System.__platformName = null; lime_system_System.__platformVersion = null; lime_system_System.__userDirectory = null; lime_system_System.embed = $hx_exports["lime"]["embed"] = function(projectName,element,width,height,config) { if(lime_system_System.__applicationEntryPoint == null) { return; } var _this = lime_system_System.__applicationEntryPoint; if(__map_reserved[projectName] != null ? _this.existsReserved(projectName) : _this.h.hasOwnProperty(projectName)) { var htmlElement = null; if(typeof(element) == "string") { htmlElement = window.document.getElementById(element); } else if(element == null) { htmlElement = window.document.createElement("div"); } else { htmlElement = element; } if(htmlElement == null) { window.console.log("[lime.embed] ERROR: Cannot find target element: " + Std.string(element)); return; } if(width == null) { width = 0; } if(height == null) { height = 0; } if(config == null) { config = { }; } if(Object.prototype.hasOwnProperty.call(config,"background") && typeof(config.background) == "string") { var background = StringTools.replace(Std.string(config.background),"#",""); if(background.indexOf("0x") > -1) { config.background = Std.parseInt(background); } else { config.background = Std.parseInt("0x" + background); } } config.element = htmlElement; config.width = width; config.height = height; var _this1 = lime_system_System.__applicationEntryPoint; (__map_reserved[projectName] != null ? _this1.getReserved(projectName) : _this1.h[projectName])(config); } }; lime_system_System.exit = function(code) { }; lime_system_System.getDisplay = function(id) { if(id == 0) { var display = new lime_system_Display(); display.id = 0; display.name = "Generic Display"; display.dpi = 96 * window.devicePixelRatio; display.currentMode = new lime_system_DisplayMode(window.screen.width,window.screen.height,60,1); display.supportedModes = [display.currentMode]; display.bounds = new lime_math_Rectangle(0,0,display.currentMode.width,display.currentMode.height); return display; } return null; }; lime_system_System.getTimer = function() { return window.performance.now() | 0; }; lime_system_System.load = function(library,method,args,lazy) { if(lazy == null) { lazy = false; } if(args == null) { args = 0; } return lime_system_CFFI.load(library,method,args,lazy); }; lime_system_System.openFile = function(path) { if(path != null) { window.open(path,"_blank"); } }; lime_system_System.openURL = function(url,target) { if(target == null) { target = "_blank"; } if(url != null) { window.open(url,target); } }; lime_system_System.__copyMissingFields = function(target,source) { if(source == null || target == null) { return; } var _g = 0; var _g1 = Reflect.fields(source); while(_g < _g1.length) { var field = _g1[_g]; ++_g; if(!Object.prototype.hasOwnProperty.call(target,field)) { target[field] = Reflect.field(source,field); } } }; lime_system_System.__getDirectory = function(type) { return null; }; lime_system_System.__parseBool = function(value) { return value == "true"; }; lime_system_System.__registerEntryPoint = function(projectName,entryPoint) { if(lime_system_System.__applicationEntryPoint == null) { lime_system_System.__applicationEntryPoint = new haxe_ds_StringMap(); } var _this = lime_system_System.__applicationEntryPoint; if(__map_reserved[projectName] != null) { _this.setReserved(projectName,entryPoint); } else { _this.h[projectName] = entryPoint; } }; lime_system_System.__runProcess = function(command,args) { return null; }; lime_system_System.get_allowScreenTimeout = function() { return true; }; lime_system_System.set_allowScreenTimeout = function(value) { return true; }; lime_system_System.get_applicationDirectory = function() { if(lime_system_System.__applicationDirectory == null) { lime_system_System.__applicationDirectory = lime_system_System.__getDirectory(0); } return lime_system_System.__applicationDirectory; }; lime_system_System.get_applicationStorageDirectory = function() { if(lime_system_System.__applicationStorageDirectory == null) { lime_system_System.__applicationStorageDirectory = lime_system_System.__getDirectory(1); } return lime_system_System.__applicationStorageDirectory; }; lime_system_System.get_deviceModel = function() { var tmp = lime_system_System.__deviceModel == null; return lime_system_System.__deviceModel; }; lime_system_System.get_deviceVendor = function() { var tmp = lime_system_System.__deviceVendor == null; return lime_system_System.__deviceVendor; }; lime_system_System.get_desktopDirectory = function() { if(lime_system_System.__desktopDirectory == null) { lime_system_System.__desktopDirectory = lime_system_System.__getDirectory(2); } return lime_system_System.__desktopDirectory; }; lime_system_System.get_documentsDirectory = function() { if(lime_system_System.__documentsDirectory == null) { lime_system_System.__documentsDirectory = lime_system_System.__getDirectory(3); } return lime_system_System.__documentsDirectory; }; lime_system_System.get_endianness = function() { if(lime_system_System.__endianness == null) { var arrayBuffer = new ArrayBuffer(2); var this1; if(arrayBuffer != null) { this1 = new Uint8Array(arrayBuffer,0); } else { this1 = null; } var uint8Array = this1; var this2; if(arrayBuffer != null) { this2 = new Uint16Array(arrayBuffer,0); } else { this2 = null; } var uint16array = this2; uint8Array[0] = 170; uint8Array[1] = 187; if(uint16array[0] == 43707) { lime_system_System.__endianness = lime_system_Endian.BIG_ENDIAN; } else { lime_system_System.__endianness = lime_system_Endian.LITTLE_ENDIAN; } } return lime_system_System.__endianness; }; lime_system_System.get_fontsDirectory = function() { if(lime_system_System.__fontsDirectory == null) { lime_system_System.__fontsDirectory = lime_system_System.__getDirectory(4); } return lime_system_System.__fontsDirectory; }; lime_system_System.get_numDisplays = function() { return 1; }; lime_system_System.get_platformLabel = function() { if(lime_system_System.__platformLabel == null) { var name = lime_system_System.get_platformName(); var version = lime_system_System.get_platformVersion(); if(name != null && version != null) { lime_system_System.__platformLabel = name + " " + version; } else if(name != null) { lime_system_System.__platformLabel = name; } } return lime_system_System.__platformLabel; }; lime_system_System.get_platformName = function() { if(lime_system_System.__platformName == null) { lime_system_System.__platformName = "HTML5"; } return lime_system_System.__platformName; }; lime_system_System.get_platformVersion = function() { var tmp = lime_system_System.__platformVersion == null; return lime_system_System.__platformVersion; }; lime_system_System.get_userDirectory = function() { if(lime_system_System.__userDirectory == null) { lime_system_System.__userDirectory = lime_system_System.__getDirectory(5); } return lime_system_System.__userDirectory; }; var lime_system_ThreadPool = function(minThreads,maxThreads) { if(maxThreads == null) { maxThreads = 1; } if(minThreads == null) { minThreads = 0; } this.onRun = new lime_app__$Event_$haxe_$Function_$Void(); this.onProgress = new lime_app__$Event_$haxe_$Function_$Void(); this.onError = new lime_app__$Event_$haxe_$Function_$Void(); this.onComplete = new lime_app__$Event_$haxe_$Function_$Void(); this.doWork = new lime_app__$Event_$haxe_$Function_$Void(); this.minThreads = minThreads; this.maxThreads = maxThreads; this.currentThreads = 0; }; $hxClasses["lime.system.ThreadPool"] = lime_system_ThreadPool; lime_system_ThreadPool.__name__ = ["lime","system","ThreadPool"]; lime_system_ThreadPool.prototype = { currentThreads: null ,doWork: null ,maxThreads: null ,minThreads: null ,onComplete: null ,onError: null ,onProgress: null ,onRun: null ,queue: function(state) { this.runWork(state); } ,sendComplete: function(state) { this.onComplete.dispatch(state); } ,sendError: function(state) { this.onError.dispatch(state); } ,sendProgress: function(state) { this.onProgress.dispatch(state); } ,runWork: function(state) { this.onRun.dispatch(state); this.doWork.dispatch(state); } ,__class__: lime_system_ThreadPool }; var lime_system__$ThreadPool_ThreadPoolMessageType = $hxClasses["lime.system._ThreadPool.ThreadPoolMessageType"] = { __ename__ : ["lime","system","_ThreadPool","ThreadPoolMessageType"], __constructs__ : ["COMPLETE","ERROR","EXIT","PROGRESS","WORK"] }; lime_system__$ThreadPool_ThreadPoolMessageType.COMPLETE = ["COMPLETE",0]; lime_system__$ThreadPool_ThreadPoolMessageType.COMPLETE.toString = $estr; lime_system__$ThreadPool_ThreadPoolMessageType.COMPLETE.__enum__ = lime_system__$ThreadPool_ThreadPoolMessageType; lime_system__$ThreadPool_ThreadPoolMessageType.ERROR = ["ERROR",1]; lime_system__$ThreadPool_ThreadPoolMessageType.ERROR.toString = $estr; lime_system__$ThreadPool_ThreadPoolMessageType.ERROR.__enum__ = lime_system__$ThreadPool_ThreadPoolMessageType; lime_system__$ThreadPool_ThreadPoolMessageType.EXIT = ["EXIT",2]; lime_system__$ThreadPool_ThreadPoolMessageType.EXIT.toString = $estr; lime_system__$ThreadPool_ThreadPoolMessageType.EXIT.__enum__ = lime_system__$ThreadPool_ThreadPoolMessageType; lime_system__$ThreadPool_ThreadPoolMessageType.PROGRESS = ["PROGRESS",3]; lime_system__$ThreadPool_ThreadPoolMessageType.PROGRESS.toString = $estr; lime_system__$ThreadPool_ThreadPoolMessageType.PROGRESS.__enum__ = lime_system__$ThreadPool_ThreadPoolMessageType; lime_system__$ThreadPool_ThreadPoolMessageType.WORK = ["WORK",4]; lime_system__$ThreadPool_ThreadPoolMessageType.WORK.toString = $estr; lime_system__$ThreadPool_ThreadPoolMessageType.WORK.__enum__ = lime_system__$ThreadPool_ThreadPoolMessageType; var lime_system__$ThreadPool_ThreadPoolMessage = function(type,state) { this.type = type; this.state = state; }; $hxClasses["lime.system._ThreadPool.ThreadPoolMessage"] = lime_system__$ThreadPool_ThreadPoolMessage; lime_system__$ThreadPool_ThreadPoolMessage.__name__ = ["lime","system","_ThreadPool","ThreadPoolMessage"]; lime_system__$ThreadPool_ThreadPoolMessage.prototype = { state: null ,type: null ,__class__: lime_system__$ThreadPool_ThreadPoolMessage }; var lime_text__$Glyph_Glyph_$Impl_$ = {}; $hxClasses["lime.text._Glyph.Glyph_Impl_"] = lime_text__$Glyph_Glyph_$Impl_$; lime_text__$Glyph_Glyph_$Impl_$.__name__ = ["lime","text","_Glyph","Glyph_Impl_"]; lime_text__$Glyph_Glyph_$Impl_$._new = function(i) { var this1 = i; return this1; }; var lime_text_GlyphMetrics = function() { }; $hxClasses["lime.text.GlyphMetrics"] = lime_text_GlyphMetrics; lime_text_GlyphMetrics.__name__ = ["lime","text","GlyphMetrics"]; lime_text_GlyphMetrics.prototype = { advance: null ,height: null ,horizontalBearing: null ,verticalBearing: null ,__class__: lime_text_GlyphMetrics }; var lime_text__$UTF8String_UTF8String_$Impl_$ = {}; $hxClasses["lime.text._UTF8String.UTF8String_Impl_"] = lime_text__$UTF8String_UTF8String_$Impl_$; lime_text__$UTF8String_UTF8String_$Impl_$.__name__ = ["lime","text","_UTF8String","UTF8String_Impl_"]; lime_text__$UTF8String_UTF8String_$Impl_$.__properties__ = {get_length:"get_length"}; lime_text__$UTF8String_UTF8String_$Impl_$._new = function(str) { var this1 = new String(str); return this1; }; lime_text__$UTF8String_UTF8String_$Impl_$.charAt = function(this1,index) { var this2 = this1; var this3 = this2; var this4 = this3; var i; if(index >= 0) { var index1 = 0; var len = this4.length; var i1 = 0; while(i1 < index && index1 < len) { var c = this4.charCodeAt(index1); index1 += !(55296 <= c && c <= 56319) ? 1 : 2; ++i1; } i = index1; } else { var index2 = 0; var count = 0; while(count < -index && 0 < index2) { var c1 = this4.charCodeAt(index2 - 1); index2 -= !(56320 <= c1 && c1 <= 57343) ? 1 : 2; ++count; } i = index2; } var this5 = this1; var this6 = this5; var this7 = this6; var c2 = this7.charCodeAt(i); var this8 = HxOverrides.substr(this7,i,!(55296 <= c2 && c2 <= 56319) ? 1 : 2); var this9 = this8; return this9; }; lime_text__$UTF8String_UTF8String_$Impl_$.charCodeAt = function(this1,index) { var tmp; if(index >= 0) { var this2 = this1; var this3 = this2; tmp = index >= lime__$internal_unifill__$Utf16_Utf16_$Impl_$.codePointCount(this3,0,this1.length); } else { tmp = true; } if(tmp) { return null; } var this4 = this1; var this5 = this4; var this6 = this5; var i; if(index >= 0) { var index1 = 0; var len = this6.length; var i1 = 0; while(i1 < index && index1 < len) { var c = this6.charCodeAt(index1); index1 += !(55296 <= c && c <= 56319) ? 1 : 2; ++i1; } i = index1; } else { var index2 = 0; var count = 0; while(count < -index && 0 < index2) { var c1 = this6.charCodeAt(index2 - 1); index2 -= !(56320 <= c1 && c1 <= 57343) ? 1 : 2; ++count; } i = index2; } var this7 = this1; var this8 = this7; return lime__$internal_unifill__$Utf16_Utf16_$Impl_$.codePointAt(this8,i); }; lime_text__$UTF8String_UTF8String_$Impl_$.fromCharCode = function(code) { if(!(0 <= code && code <= 1114111 && !(55296 <= code && code <= 56319) && !(56320 <= code && code <= 57343))) { throw new js__$Boot_HaxeError(new lime__$internal_unifill_InvalidCodePoint(code)); } var this1 = code; var this2 = this1; var this3; if(this2 <= 65535) { var this4 = String.fromCharCode(this2); var this5 = this4; this3 = this5; } else { var this6 = String.fromCharCode((this2 >> 10) + 55232) + String.fromCharCode(this2 & 1023 | 56320); var this7 = this6; this3 = this7; } return this3; }; lime_text__$UTF8String_UTF8String_$Impl_$.fromCharCodes = function(codes) { var s = ""; var _g = 0; while(_g < codes.length) { var code = codes[_g]; ++_g; if(!(0 <= code && code <= 1114111 && !(55296 <= code && code <= 56319) && !(56320 <= code && code <= 57343))) { throw new js__$Boot_HaxeError(new lime__$internal_unifill_InvalidCodePoint(code)); } var this1 = code; var b = this1; var this2; if(b <= 65535) { var this3 = String.fromCharCode(b); var this4 = this3; this2 = this4; } else { var this5 = String.fromCharCode((b >> 10) + 55232) + String.fromCharCode(b & 1023 | 56320); var this6 = this5; this2 = this6; } s += this2; } return s; }; lime_text__$UTF8String_UTF8String_$Impl_$.indexOf = function(this1,str,startIndex) { if(startIndex == null) { startIndex = 0; } var this2 = this1; var this3 = this2; var this4 = this3; var index; if(startIndex >= 0) { var index1 = 0; var len = this4.length; var i = 0; while(i < startIndex && index1 < len) { var c = this4.charCodeAt(index1); index1 += !(55296 <= c && c <= 56319) ? 1 : 2; ++i; } index = index1; } else { var index2 = 0; var count = 0; while(count < -startIndex && 0 < index2) { var c1 = this4.charCodeAt(index2 - 1); index2 -= !(56320 <= c1 && c1 <= 57343) ? 1 : 2; ++count; } index = index2; } var index3 = this1.indexOf(str,index); if(index3 >= 0) { var this5 = this1; var this6 = this5; return lime__$internal_unifill__$Utf16_Utf16_$Impl_$.codePointCount(this6,0,index3); } else { return -1; } }; lime_text__$UTF8String_UTF8String_$Impl_$.lastIndexOf = function(this1,str,startIndex) { var startIndex1 = startIndex; if(startIndex1 == null) { startIndex1 = this1.length - 1; } var this2 = this1; var this3 = this2; var this4 = this3; var index; if(startIndex1 >= 0) { var index1 = 0; var len = this4.length; var i = 0; while(i < startIndex1 && index1 < len) { var c = this4.charCodeAt(index1); index1 += !(55296 <= c && c <= 56319) ? 1 : 2; ++i; } index = index1; } else { var index2 = 0; var count = 0; while(count < -startIndex1 && 0 < index2) { var c1 = this4.charCodeAt(index2 - 1); index2 -= !(56320 <= c1 && c1 <= 57343) ? 1 : 2; ++count; } index = index2; } var index3 = this1.lastIndexOf(str,index); if(index3 >= 0) { var this5 = this1; var this6 = this5; return lime__$internal_unifill__$Utf16_Utf16_$Impl_$.codePointCount(this6,0,index3); } else { return -1; } }; lime_text__$UTF8String_UTF8String_$Impl_$.split = function(this1,delimiter) { if(delimiter.length == 0) { var _g = []; var _g1_string; var _g1_index; var _g1_i; var _g1_endIndex; _g1_i = 0; _g1_string = this1; _g1_index = 0; _g1_endIndex = this1.length; while(_g1_index < _g1_endIndex) { _g1_i = _g1_index; var this2 = _g1_string; var this3 = this2; var c = this3.charCodeAt(_g1_index); _g1_index += !(55296 <= c && c <= 56319) ? 1 : 2; var i = _g1_i; var this4 = this1; var this5 = this4; var this6 = this5; var c1 = this6.charCodeAt(i); var this7 = HxOverrides.substr(this6,i,!(55296 <= c1 && c1 <= 56319) ? 1 : 2); var this8 = this7; _g.push(this8); } return _g; } else { return this1.split(delimiter); } }; lime_text__$UTF8String_UTF8String_$Impl_$.substr = function(this1,pos,len) { if(len == null) { len = lime_text__$UTF8String_UTF8String_$Impl_$.get_length(this1) - pos; } return HxOverrides.substr(this1,pos,len); }; lime_text__$UTF8String_UTF8String_$Impl_$.substring = function(this1,startIndex,endIndex) { var si; if(startIndex < 0) { si = 0; } else { var this2 = this1; var this3 = this2; var this4 = this3; if(startIndex >= 0) { var index = 0; var len = this4.length; var i = 0; while(i < startIndex && index < len) { var c = this4.charCodeAt(index); index += !(55296 <= c && c <= 56319) ? 1 : 2; ++i; } si = index; } else { var index1 = 0; var count = 0; while(count < -startIndex && 0 < index1) { var c1 = this4.charCodeAt(index1 - 1); index1 -= !(56320 <= c1 && c1 <= 57343) ? 1 : 2; ++count; } si = index1; } } var ei; if(endIndex == null) { ei = this1.length; } else if(endIndex < 0) { ei = 0; } else { var this5 = this1; var this6 = this5; var this7 = this6; if(endIndex >= 0) { var index2 = 0; var len1 = this7.length; var i1 = 0; while(i1 < endIndex && index2 < len1) { var c2 = this7.charCodeAt(index2); index2 += !(55296 <= c2 && c2 <= 56319) ? 1 : 2; ++i1; } ei = index2; } else { var index3 = 0; var count1 = 0; while(count1 < -endIndex && 0 < index3) { var c3 = this7.charCodeAt(index3 - 1); index3 -= !(56320 <= c3 && c3 <= 57343) ? 1 : 2; ++count1; } ei = index3; } } return this1.substring(si,ei); }; lime_text__$UTF8String_UTF8String_$Impl_$.toLowerCase = function(this1,locale) { return this1.toLowerCase(); }; lime_text__$UTF8String_UTF8String_$Impl_$.toLowerCaseLocaleFixes = function(v,locale) { var _g = lime_system__$Locale_Locale_$Impl_$.get_language(locale); if(_g == "tr") { if(v == 50352) { return 105; } else { return v; } } else { return v; } }; lime_text__$UTF8String_UTF8String_$Impl_$.toString = function(this1) { return this1; }; lime_text__$UTF8String_UTF8String_$Impl_$.toUpperCase = function(this1,locale) { return this1.toUpperCase(); }; lime_text__$UTF8String_UTF8String_$Impl_$.toUpperCaseLocaleFixes = function(v,locale) { var _g = lime_system__$Locale_Locale_$Impl_$.get_language(locale); if(_g == "tr") { if(v == 105) { return 50352; } else { return v; } } else { return v; } }; lime_text__$UTF8String_UTF8String_$Impl_$.equals = function(a,b) { if(a == null || b == null) { return a == b; } return lime__$internal_unifill_Unifill.uCompare(a,b) == 0; }; lime_text__$UTF8String_UTF8String_$Impl_$.lt = function(a,b) { if(b == null) { return false; } if(a == null) { return true; } return lime__$internal_unifill_Unifill.uCompare(a,b) == -1; }; lime_text__$UTF8String_UTF8String_$Impl_$.gt = function(a,b) { if(a == null) { return false; } if(b == null) { return true; } return lime__$internal_unifill_Unifill.uCompare(a,b) == 1; }; lime_text__$UTF8String_UTF8String_$Impl_$.lteq = function(a,b) { if(b == null) { return a == null; } if(a == null) { return true; } return lime__$internal_unifill_Unifill.uCompare(a,b) != 1; }; lime_text__$UTF8String_UTF8String_$Impl_$.gteq = function(a,b) { if(a == null) { return b == null; } if(b == null) { return true; } return lime__$internal_unifill_Unifill.uCompare(a,b) != -1; }; lime_text__$UTF8String_UTF8String_$Impl_$.plus = function(a,b) { if(a == null && b == null) { return null; } if(a == null) { return b; } if(b == null) { return a; } var sb_b = ""; sb_b += Std.string(lime_text__$UTF8String_UTF8String_$Impl_$.toString(a)); sb_b += Std.string(lime_text__$UTF8String_UTF8String_$Impl_$.toString(b)); return sb_b; }; lime_text__$UTF8String_UTF8String_$Impl_$.fromDynamic = function(value) { return Std.string(value); }; lime_text__$UTF8String_UTF8String_$Impl_$.get_length = function(this1) { if(this1 == null) { return 0; } else { var this2 = this1; var this3 = this2; return lime__$internal_unifill__$Utf16_Utf16_$Impl_$.codePointCount(this3,0,this1.length); } }; var lime_text__$UTF8String_Utf8Ext = function() { }; $hxClasses["lime.text._UTF8String.Utf8Ext"] = lime_text__$UTF8String_Utf8Ext; lime_text__$UTF8String_Utf8Ext.__name__ = ["lime","text","_UTF8String","Utf8Ext"]; lime_text__$UTF8String_Utf8Ext.fillUpperToLowerMap = function(map) { var i = 0; var _g = 0; while(_g < 26) { var i1 = _g++; var v = 97 + i1; map.h[65 + i1] = v; } var _g1 = 0; while(_g1 < 23) { var i2 = _g1++; var v1 = 224 + i2; map.h[192 + i2] = v1; } var _g2 = 0; while(_g2 < 7) { var i3 = _g2++; var v2 = 248 + i3; map.h[216 + i3] = v2; } while(i < 48) { var v3 = 257 + i; map.h[256 + i] = v3; i += 2; } i = 0; map.h[304] = 105; while(i < 6) { var v4 = 307 + i; map.h[306 + i] = v4; i += 2; } i = 0; while(i < 16) { var v5 = 314 + i; map.h[313 + i] = v5; i += 2; } i = 0; while(i < 46) { var v6 = 331 + i; map.h[330 + i] = v6; i += 2; } i = 0; map.h[376] = 255; while(i < 6) { var v7 = 378 + i; map.h[377 + i] = v7; i += 2; } i = 0; map.h[385] = 595; while(i < 4) { var v8 = 387 + i; map.h[386 + i] = v8; i += 2; } i = 0; map.h[390] = 596; map.h[391] = 392; var _g3 = 0; while(_g3 < 2) { var i4 = _g3++; var v9 = 598 + i4; map.h[393 + i4] = v9; } map.h[395] = 396; map.h[398] = 477; map.h[399] = 601; map.h[400] = 603; map.h[401] = 402; map.h[403] = 608; map.h[404] = 611; map.h[406] = 617; map.h[407] = 616; map.h[408] = 409; map.h[412] = 623; map.h[413] = 626; map.h[415] = 629; while(i < 6) { var v10 = 417 + i; map.h[416 + i] = v10; i += 2; } i = 0; map.h[422] = 640; map.h[423] = 424; map.h[425] = 643; map.h[428] = 429; map.h[430] = 648; map.h[431] = 432; var _g4 = 0; while(_g4 < 2) { var i5 = _g4++; var v11 = 650 + i5; map.h[433 + i5] = v11; } while(i < 4) { var v12 = 436 + i; map.h[435 + i] = v12; i += 2; } i = 0; map.h[439] = 658; map.h[440] = 441; map.h[444] = 445; map.h[452] = 454; map.h[455] = 457; map.h[458] = 460; while(i < 16) { var v13 = 462 + i; map.h[461 + i] = v13; i += 2; } i = 0; while(i < 18) { var v14 = 479 + i; map.h[478 + i] = v14; i += 2; } i = 0; map.h[497] = 499; map.h[500] = 501; map.h[502] = 405; map.h[503] = 447; while(i < 40) { var v15 = 505 + i; map.h[504 + i] = v15; i += 2; } i = 0; map.h[544] = 414; while(i < 18) { var v16 = 547 + i; map.h[546 + i] = v16; i += 2; } i = 0; map.h[570] = 11365; map.h[571] = 572; map.h[573] = 410; map.h[574] = 11366; map.h[577] = 578; map.h[579] = 384; map.h[580] = 649; map.h[581] = 652; while(i < 10) { var v17 = 583 + i; map.h[582 + i] = v17; i += 2; } i = 0; while(i < 4) { var v18 = 881 + i; map.h[880 + i] = v18; i += 2; } i = 0; map.h[886] = 887; map.h[895] = 1011; map.h[902] = 940; var _g5 = 0; while(_g5 < 3) { var i6 = _g5++; var v19 = 941 + i6; map.h[904 + i6] = v19; } map.h[908] = 972; var _g6 = 0; while(_g6 < 2) { var i7 = _g6++; var v20 = 973 + i7; map.h[910 + i7] = v20; } var _g7 = 0; while(_g7 < 17) { var i8 = _g7++; var v21 = 945 + i8; map.h[913 + i8] = v21; } var _g8 = 0; while(_g8 < 9) { var i9 = _g8++; var v22 = 963 + i9; map.h[931 + i9] = v22; } map.h[975] = 983; while(i < 24) { var v23 = 985 + i; map.h[984 + i] = v23; i += 2; } i = 0; map.h[1012] = 952; map.h[1015] = 1016; map.h[1017] = 1010; map.h[1018] = 1019; var _g9 = 0; while(_g9 < 3) { var i10 = _g9++; var v24 = 891 + i10; map.h[1021 + i10] = v24; } var _g10 = 0; while(_g10 < 16) { var i11 = _g10++; var v25 = 1104 + i11; map.h[1024 + i11] = v25; } var _g11 = 0; while(_g11 < 32) { var i12 = _g11++; var v26 = 1072 + i12; map.h[1040 + i12] = v26; } while(i < 34) { var v27 = 1121 + i; map.h[1120 + i] = v27; i += 2; } i = 0; while(i < 54) { var v28 = 1163 + i; map.h[1162 + i] = v28; i += 2; } i = 0; map.h[1216] = 1231; while(i < 14) { var v29 = 1218 + i; map.h[1217 + i] = v29; i += 2; } i = 0; while(i < 96) { var v30 = 1233 + i; map.h[1232 + i] = v30; i += 2; } i = 0; var _g12 = 0; while(_g12 < 38) { var i13 = _g12++; var v31 = 1377 + i13; map.h[1329 + i13] = v31; } var _g13 = 0; while(_g13 < 38) { var i14 = _g13++; var v32 = 11520 + i14; map.h[4256 + i14] = v32; } map.h[4295] = 11559; map.h[4301] = 11565; var _g14 = 0; while(_g14 < 80) { var i15 = _g14++; var v33 = 43888 + i15; map.h[5024 + i15] = v33; } var _g15 = 0; while(_g15 < 6) { var i16 = _g15++; var v34 = 5112 + i16; map.h[5104 + i16] = v34; } while(i < 150) { var v35 = 7681 + i; map.h[7680 + i] = v35; i += 2; } i = 0; map.h[7838] = 223; while(i < 96) { var v36 = 7841 + i; map.h[7840 + i] = v36; i += 2; } i = 0; var _g16 = 0; while(_g16 < 8) { var i17 = _g16++; var v37 = 7936 + i17; map.h[7944 + i17] = v37; } var _g17 = 0; while(_g17 < 6) { var i18 = _g17++; var v38 = 7952 + i18; map.h[7960 + i18] = v38; } var _g18 = 0; while(_g18 < 8) { var i19 = _g18++; var v39 = 7968 + i19; map.h[7976 + i19] = v39; } var _g19 = 0; while(_g19 < 8) { var i20 = _g19++; var v40 = 7984 + i20; map.h[7992 + i20] = v40; } var _g20 = 0; while(_g20 < 6) { var i21 = _g20++; var v41 = 8000 + i21; map.h[8008 + i21] = v41; } while(i < 8) { var v42 = 8017 + i; map.h[8025 + i] = v42; i += 2; } i = 0; var _g21 = 0; while(_g21 < 8) { var i22 = _g21++; var v43 = 8032 + i22; map.h[8040 + i22] = v43; } var _g22 = 0; while(_g22 < 2) { var i23 = _g22++; var v44 = 8112 + i23; map.h[8120 + i23] = v44; } var _g23 = 0; while(_g23 < 2) { var i24 = _g23++; var v45 = 8048 + i24; map.h[8122 + i24] = v45; } var _g24 = 0; while(_g24 < 4) { var i25 = _g24++; var v46 = 8050 + i25; map.h[8136 + i25] = v46; } var _g25 = 0; while(_g25 < 2) { var i26 = _g25++; var v47 = 8144 + i26; map.h[8152 + i26] = v47; } var _g26 = 0; while(_g26 < 2) { var i27 = _g26++; var v48 = 8054 + i27; map.h[8154 + i27] = v48; } var _g27 = 0; while(_g27 < 2) { var i28 = _g27++; var v49 = 8160 + i28; map.h[8168 + i28] = v49; } var _g28 = 0; while(_g28 < 2) { var i29 = _g28++; var v50 = 8058 + i29; map.h[8170 + i29] = v50; } map.h[8172] = 8165; var _g29 = 0; while(_g29 < 2) { var i30 = _g29++; var v51 = 8056 + i30; map.h[8184 + i30] = v51; } var _g30 = 0; while(_g30 < 2) { var i31 = _g30++; var v52 = 8060 + i31; map.h[8186 + i31] = v52; } map.h[8486] = 969; map.h[8490] = 107; map.h[8491] = 229; map.h[8498] = 8526; map.h[8579] = 8580; var _g31 = 0; while(_g31 < 47) { var i32 = _g31++; var v53 = 11312 + i32; map.h[11264 + i32] = v53; } map.h[11360] = 11361; map.h[11362] = 619; map.h[11363] = 7549; map.h[11364] = 637; while(i < 6) { var v54 = 11368 + i; map.h[11367 + i] = v54; i += 2; } i = 0; map.h[11373] = 593; map.h[11374] = 625; map.h[11375] = 592; map.h[11376] = 594; map.h[11378] = 11379; map.h[11381] = 11382; var _g32 = 0; while(_g32 < 2) { var i33 = _g32++; var v55 = 575 + i33; map.h[11390 + i33] = v55; } while(i < 100) { var v56 = 11393 + i; map.h[11392 + i] = v56; i += 2; } i = 0; while(i < 4) { var v57 = 11500 + i; map.h[11499 + i] = v57; i += 2; } i = 0; map.h[11506] = 11507; while(i < 46) { var v58 = 42561 + i; map.h[42560 + i] = v58; i += 2; } i = 0; while(i < 28) { var v59 = 42625 + i; map.h[42624 + i] = v59; i += 2; } i = 0; while(i < 14) { var v60 = 42787 + i; map.h[42786 + i] = v60; i += 2; } i = 0; while(i < 62) { var v61 = 42803 + i; map.h[42802 + i] = v61; i += 2; } i = 0; while(i < 4) { var v62 = 42874 + i; map.h[42873 + i] = v62; i += 2; } i = 0; map.h[42877] = 7545; while(i < 10) { var v63 = 42879 + i; map.h[42878 + i] = v63; i += 2; } i = 0; map.h[42891] = 42892; map.h[42893] = 613; while(i < 4) { var v64 = 42897 + i; map.h[42896 + i] = v64; i += 2; } i = 0; while(i < 20) { var v65 = 42903 + i; map.h[42902 + i] = v65; i += 2; } i = 0; map.h[42922] = 614; map.h[42923] = 604; map.h[42924] = 609; map.h[42925] = 620; map.h[42926] = 618; map.h[42928] = 670; map.h[42929] = 647; map.h[42930] = 669; map.h[42931] = 43859; while(i < 4) { var v66 = 42933 + i; map.h[42932 + i] = v66; i += 2; } i = 0; var _g33 = 0; while(_g33 < 26) { var i34 = _g33++; var v67 = 65345 + i34; map.h[65313 + i34] = v67; } var _g34 = 0; while(_g34 < 40) { var i35 = _g34++; var v68 = 66600 + i35; map.h[66560 + i35] = v68; } var _g35 = 0; while(_g35 < 36) { var i36 = _g35++; var v69 = 66776 + i36; map.h[66736 + i36] = v69; } var _g36 = 0; while(_g36 < 51) { var i37 = _g36++; var v70 = 68800 + i37; map.h[68736 + i37] = v70; } var _g37 = 0; while(_g37 < 32) { var i38 = _g37++; var v71 = 71872 + i38; map.h[71840 + i38] = v71; } var _g38 = 0; while(_g38 < 34) { var i39 = _g38++; var v72 = 125218 + i39; map.h[125184 + i39] = v72; } }; lime_text__$UTF8String_Utf8Ext.fillLowerToUpperMap = function(map) { var i = 0; var _g = 0; while(_g < 26) { var i1 = _g++; var v = 65 + i1; map.h[97 + i1] = v; } map.h[181] = 924; var _g1 = 0; while(_g1 < 23) { var i2 = _g1++; var v1 = 192 + i2; map.h[224 + i2] = v1; } var _g2 = 0; while(_g2 < 7) { var i3 = _g2++; var v2 = 216 + i3; map.h[248 + i3] = v2; } map.h[255] = 376; while(i < 48) { var v3 = 256 + i; map.h[257 + i] = v3; i += 2; } i = 0; map.h[305] = 73; while(i < 6) { var v4 = 306 + i; map.h[307 + i] = v4; i += 2; } i = 0; while(i < 16) { var v5 = 313 + i; map.h[314 + i] = v5; i += 2; } i = 0; while(i < 46) { var v6 = 330 + i; map.h[331 + i] = v6; i += 2; } i = 0; while(i < 6) { var v7 = 377 + i; map.h[378 + i] = v7; i += 2; } i = 0; map.h[383] = 83; map.h[384] = 579; while(i < 4) { var v8 = 386 + i; map.h[387 + i] = v8; i += 2; } i = 0; map.h[392] = 391; map.h[396] = 395; map.h[402] = 401; map.h[405] = 502; map.h[409] = 408; map.h[410] = 573; map.h[414] = 544; while(i < 6) { var v9 = 416 + i; map.h[417 + i] = v9; i += 2; } i = 0; map.h[424] = 423; map.h[429] = 428; map.h[432] = 431; while(i < 4) { var v10 = 435 + i; map.h[436 + i] = v10; i += 2; } i = 0; map.h[441] = 440; map.h[445] = 444; map.h[447] = 503; map.h[454] = 452; map.h[457] = 455; map.h[460] = 458; while(i < 16) { var v11 = 461 + i; map.h[462 + i] = v11; i += 2; } i = 0; map.h[477] = 398; while(i < 18) { var v12 = 478 + i; map.h[479 + i] = v12; i += 2; } i = 0; map.h[496] = 74; map.h[499] = 497; map.h[501] = 500; while(i < 40) { var v13 = 504 + i; map.h[505 + i] = v13; i += 2; } i = 0; while(i < 18) { var v14 = 546 + i; map.h[547 + i] = v14; i += 2; } i = 0; map.h[572] = 571; var _g3 = 0; while(_g3 < 2) { var i4 = _g3++; var v15 = 11390 + i4; map.h[575 + i4] = v15; } map.h[578] = 577; while(i < 10) { var v16 = 582 + i; map.h[583 + i] = v16; i += 2; } i = 0; map.h[592] = 11375; map.h[593] = 11373; map.h[594] = 11376; map.h[595] = 385; map.h[596] = 390; var _g4 = 0; while(_g4 < 2) { var i5 = _g4++; var v17 = 393 + i5; map.h[598 + i5] = v17; } map.h[601] = 399; map.h[603] = 400; map.h[604] = 42923; map.h[608] = 403; map.h[609] = 42924; map.h[611] = 404; map.h[613] = 42893; map.h[614] = 42922; map.h[616] = 407; map.h[617] = 406; map.h[618] = 42926; map.h[619] = 11362; map.h[620] = 42925; map.h[623] = 412; map.h[625] = 11374; map.h[626] = 413; map.h[629] = 415; map.h[637] = 11364; map.h[640] = 422; map.h[643] = 425; map.h[647] = 42929; map.h[648] = 430; map.h[649] = 580; var _g5 = 0; while(_g5 < 2) { var i6 = _g5++; var v18 = 433 + i6; map.h[650 + i6] = v18; } map.h[652] = 581; map.h[658] = 439; map.h[669] = 42930; map.h[670] = 42928; while(i < 4) { var v19 = 880 + i; map.h[881 + i] = v19; i += 2; } i = 0; map.h[887] = 886; var _g6 = 0; while(_g6 < 3) { var i7 = _g6++; var v20 = 1021 + i7; map.h[891 + i7] = v20; } map.h[912] = 938; map.h[940] = 902; var _g7 = 0; while(_g7 < 3) { var i8 = _g7++; var v21 = 904 + i8; map.h[941 + i8] = v21; } map.h[944] = 939; var _g8 = 0; while(_g8 < 17) { var i9 = _g8++; var v22 = 913 + i9; map.h[945 + i9] = v22; } map.h[962] = 931; var _g9 = 0; while(_g9 < 9) { var i10 = _g9++; var v23 = 931 + i10; map.h[963 + i10] = v23; } map.h[972] = 908; var _g10 = 0; while(_g10 < 2) { var i11 = _g10++; var v24 = 910 + i11; map.h[973 + i11] = v24; } map.h[976] = 914; map.h[977] = 920; map.h[981] = 934; map.h[982] = 928; map.h[983] = 975; while(i < 24) { var v25 = 984 + i; map.h[985 + i] = v25; i += 2; } i = 0; map.h[1008] = 922; map.h[1009] = 929; map.h[1010] = 1017; map.h[1011] = 895; map.h[1013] = 917; map.h[1016] = 1015; map.h[1019] = 1018; var _g11 = 0; while(_g11 < 32) { var i12 = _g11++; var v26 = 1040 + i12; map.h[1072 + i12] = v26; } var _g12 = 0; while(_g12 < 16) { var i13 = _g12++; var v27 = 1024 + i13; map.h[1104 + i13] = v27; } while(i < 34) { var v28 = 1120 + i; map.h[1121 + i] = v28; i += 2; } i = 0; while(i < 54) { var v29 = 1162 + i; map.h[1163 + i] = v29; i += 2; } i = 0; while(i < 14) { var v30 = 1217 + i; map.h[1218 + i] = v30; i += 2; } i = 0; map.h[1231] = 1216; while(i < 96) { var v31 = 1232 + i; map.h[1233 + i] = v31; i += 2; } i = 0; var _g13 = 0; while(_g13 < 38) { var i14 = _g13++; var v32 = 1329 + i14; map.h[1377 + i14] = v32; } var _g14 = 0; while(_g14 < 6) { var i15 = _g14++; var v33 = 5104 + i15; map.h[5112 + i15] = v33; } map.h[7296] = 1042; map.h[7297] = 1044; map.h[7298] = 1054; var _g15 = 0; while(_g15 < 2) { var i16 = _g15++; var v34 = 1057 + i16; map.h[7299 + i16] = v34; } map.h[7301] = 1058; map.h[7302] = 1066; map.h[7303] = 1122; map.h[7304] = 42570; map.h[7545] = 42877; map.h[7549] = 11363; while(i < 150) { var v35 = 7680 + i; map.h[7681 + i] = v35; i += 2; } i = 0; map.h[7830] = 72; map.h[7831] = 84; map.h[7832] = 87; map.h[7833] = 89; map.h[7835] = 7776; while(i < 96) { var v36 = 7840 + i; map.h[7841 + i] = v36; i += 2; } i = 0; var _g16 = 0; while(_g16 < 8) { var i17 = _g16++; var v37 = 7944 + i17; map.h[7936 + i17] = v37; } var _g17 = 0; while(_g17 < 6) { var i18 = _g17++; var v38 = 7960 + i18; map.h[7952 + i18] = v38; } var _g18 = 0; while(_g18 < 8) { var i19 = _g18++; var v39 = 7976 + i19; map.h[7968 + i19] = v39; } var _g19 = 0; while(_g19 < 8) { var i20 = _g19++; var v40 = 7992 + i20; map.h[7984 + i20] = v40; } var _g20 = 0; while(_g20 < 6) { var i21 = _g20++; var v41 = 8008 + i21; map.h[8000 + i21] = v41; } map.h[8016] = 933; map.h[8017] = 8025; map.h[8018] = 933; map.h[8019] = 8027; map.h[8020] = 933; map.h[8021] = 8029; map.h[8022] = 933; map.h[8023] = 8031; var _g21 = 0; while(_g21 < 8) { var i22 = _g21++; var v42 = 8040 + i22; map.h[8032 + i22] = v42; } var _g22 = 0; while(_g22 < 2) { var i23 = _g22++; var v43 = 8122 + i23; map.h[8048 + i23] = v43; } var _g23 = 0; while(_g23 < 4) { var i24 = _g23++; var v44 = 8136 + i24; map.h[8050 + i24] = v44; } var _g24 = 0; while(_g24 < 2) { var i25 = _g24++; var v45 = 8154 + i25; map.h[8054 + i25] = v45; } var _g25 = 0; while(_g25 < 2) { var i26 = _g25++; var v46 = 8184 + i26; map.h[8056 + i26] = v46; } var _g26 = 0; while(_g26 < 2) { var i27 = _g26++; var v47 = 8170 + i27; map.h[8058 + i27] = v47; } var _g27 = 0; while(_g27 < 2) { var i28 = _g27++; var v48 = 8186 + i28; map.h[8060 + i28] = v48; } var _g28 = 0; while(_g28 < 8) { var i29 = _g28++; var v49 = 8072 + i29; map.h[8064 + i29] = v49; } var _g29 = 0; while(_g29 < 8) { var i30 = _g29++; var v50 = 8088 + i30; map.h[8080 + i30] = v50; } var _g30 = 0; while(_g30 < 8) { var i31 = _g30++; var v51 = 8104 + i31; map.h[8096 + i31] = v51; } var _g31 = 0; while(_g31 < 3) { var i32 = _g31++; var v52 = 8120 + i32; map.h[8112 + i32] = v52; } map.h[8115] = 8124; map.h[8116] = 902; map.h[8118] = 913; map.h[8119] = 913; map.h[8126] = 921; map.h[8130] = 8138; map.h[8131] = 8140; map.h[8132] = 905; map.h[8134] = 919; map.h[8135] = 919; var _g32 = 0; while(_g32 < 2) { var i33 = _g32++; var v53 = 8152 + i33; map.h[8144 + i33] = v53; } map.h[8146] = 938; map.h[8147] = 938; map.h[8150] = 921; map.h[8151] = 938; var _g33 = 0; while(_g33 < 2) { var i34 = _g33++; var v54 = 8168 + i34; map.h[8160 + i34] = v54; } map.h[8162] = 939; map.h[8163] = 939; map.h[8164] = 929; map.h[8165] = 8172; map.h[8166] = 933; map.h[8167] = 939; map.h[8178] = 8186; map.h[8179] = 8188; map.h[8180] = 911; map.h[8182] = 937; map.h[8183] = 937; map.h[8526] = 8498; map.h[8580] = 8579; var _g34 = 0; while(_g34 < 47) { var i35 = _g34++; var v55 = 11264 + i35; map.h[11312 + i35] = v55; } map.h[11361] = 11360; map.h[11365] = 570; map.h[11366] = 574; while(i < 6) { var v56 = 11367 + i; map.h[11368 + i] = v56; i += 2; } i = 0; map.h[11379] = 11378; map.h[11382] = 11381; while(i < 100) { var v57 = 11392 + i; map.h[11393 + i] = v57; i += 2; } i = 0; while(i < 4) { var v58 = 11499 + i; map.h[11500 + i] = v58; i += 2; } i = 0; map.h[11507] = 11506; var _g35 = 0; while(_g35 < 38) { var i36 = _g35++; var v59 = 4256 + i36; map.h[11520 + i36] = v59; } map.h[11559] = 4295; map.h[11565] = 4301; while(i < 46) { var v60 = 42560 + i; map.h[42561 + i] = v60; i += 2; } i = 0; while(i < 28) { var v61 = 42624 + i; map.h[42625 + i] = v61; i += 2; } i = 0; while(i < 14) { var v62 = 42786 + i; map.h[42787 + i] = v62; i += 2; } i = 0; while(i < 62) { var v63 = 42802 + i; map.h[42803 + i] = v63; i += 2; } i = 0; while(i < 4) { var v64 = 42873 + i; map.h[42874 + i] = v64; i += 2; } i = 0; while(i < 10) { var v65 = 42878 + i; map.h[42879 + i] = v65; i += 2; } i = 0; map.h[42892] = 42891; while(i < 4) { var v66 = 42896 + i; map.h[42897 + i] = v66; i += 2; } i = 0; while(i < 20) { var v67 = 42902 + i; map.h[42903 + i] = v67; i += 2; } i = 0; while(i < 4) { var v68 = 42932 + i; map.h[42933 + i] = v68; i += 2; } i = 0; map.h[43859] = 42931; var _g36 = 0; while(_g36 < 80) { var i37 = _g36++; var v69 = 5024 + i37; map.h[43888 + i37] = v69; } var _g37 = 0; while(_g37 < 26) { var i38 = _g37++; var v70 = 65313 + i38; map.h[65345 + i38] = v70; } var _g38 = 0; while(_g38 < 40) { var i39 = _g38++; var v71 = 66560 + i39; map.h[66600 + i39] = v71; } var _g39 = 0; while(_g39 < 36) { var i40 = _g39++; var v72 = 66736 + i40; map.h[66776 + i40] = v72; } var _g40 = 0; while(_g40 < 51) { var i41 = _g40++; var v73 = 68736 + i41; map.h[68800 + i41] = v73; } var _g41 = 0; while(_g41 < 32) { var i42 = _g41++; var v74 = 71840 + i42; map.h[71872 + i42] = v74; } var _g42 = 0; while(_g42 < 34) { var i43 = _g42++; var v75 = 125184 + i43; map.h[125218 + i43] = v75; } }; var lime_text_harfbuzz_HB = function() { }; $hxClasses["lime.text.harfbuzz.HB"] = lime_text_harfbuzz_HB; lime_text_harfbuzz_HB.__name__ = ["lime","text","harfbuzz","HB"]; lime_text_harfbuzz_HB.shape = function(font,buffer,features) { }; var lime_text_harfbuzz__$HBBlob_HBBlob_$Impl_$ = {}; $hxClasses["lime.text.harfbuzz._HBBlob.HBBlob_Impl_"] = lime_text_harfbuzz__$HBBlob_HBBlob_$Impl_$; lime_text_harfbuzz__$HBBlob_HBBlob_$Impl_$.__name__ = ["lime","text","harfbuzz","_HBBlob","HBBlob_Impl_"]; lime_text_harfbuzz__$HBBlob_HBBlob_$Impl_$.__properties__ = {get_length:"get_length",get_immutable:"get_immutable",get_dataWritable:"get_dataWritable",get_data:"get_data",get_empty:"get_empty"}; lime_text_harfbuzz__$HBBlob_HBBlob_$Impl_$._new = function(data,length,memoryMode) { var this1 = null; return this1; }; lime_text_harfbuzz__$HBBlob_HBBlob_$Impl_$.createSubBlob = function(this1,offset,length) { return null; }; lime_text_harfbuzz__$HBBlob_HBBlob_$Impl_$.makeImmutable = function(this1) { }; lime_text_harfbuzz__$HBBlob_HBBlob_$Impl_$.get_data = function(this1) { return 0; }; lime_text_harfbuzz__$HBBlob_HBBlob_$Impl_$.get_dataWritable = function(this1) { return 0; }; lime_text_harfbuzz__$HBBlob_HBBlob_$Impl_$.get_empty = function() { return null; }; lime_text_harfbuzz__$HBBlob_HBBlob_$Impl_$.get_immutable = function(this1) { return false; }; lime_text_harfbuzz__$HBBlob_HBBlob_$Impl_$.get_length = function(this1) { return 0; }; var lime_text_harfbuzz__$HBBuffer_HBBuffer_$Impl_$ = {}; $hxClasses["lime.text.harfbuzz._HBBuffer.HBBuffer_Impl_"] = lime_text_harfbuzz__$HBBuffer_HBBuffer_$Impl_$; lime_text_harfbuzz__$HBBuffer_HBBuffer_$Impl_$.__name__ = ["lime","text","harfbuzz","_HBBuffer","HBBuffer_Impl_"]; lime_text_harfbuzz__$HBBuffer_HBBuffer_$Impl_$.__properties__ = {set_segmentProperties:"set_segmentProperties",get_segmentProperties:"get_segmentProperties",set_script:"set_script",get_script:"get_script",set_replacementCodepoint:"set_replacementCodepoint",get_replacementCodepoint:"get_replacementCodepoint",set_length:"set_length",get_length:"get_length",set_language:"set_language",get_language:"get_language",set_flags:"set_flags",get_flags:"get_flags",set_direction:"set_direction",get_direction:"get_direction",set_contentType:"set_contentType",get_contentType:"get_contentType",set_clusterLevel:"set_clusterLevel",get_clusterLevel:"get_clusterLevel",get_allocationSuccessful:"get_allocationSuccessful"}; lime_text_harfbuzz__$HBBuffer_HBBuffer_$Impl_$._new = function() { var this1 = null; return this1; }; lime_text_harfbuzz__$HBBuffer_HBBuffer_$Impl_$.add = function(this1,codepoint,cluster) { }; lime_text_harfbuzz__$HBBuffer_HBBuffer_$Impl_$.addCodepoints = function(this1,text,textLength,itemOffset,itemLength) { }; lime_text_harfbuzz__$HBBuffer_HBBuffer_$Impl_$.addUTF8 = function(this1,text,itemOffset,itemLength) { }; lime_text_harfbuzz__$HBBuffer_HBBuffer_$Impl_$.addUTF16 = function(this1,text,textLength,itemOffset,itemLength) { }; lime_text_harfbuzz__$HBBuffer_HBBuffer_$Impl_$.addUTF32 = function(this1,text,textLength,itemOffset,itemLength) { }; lime_text_harfbuzz__$HBBuffer_HBBuffer_$Impl_$.clearContents = function(this1) { }; lime_text_harfbuzz__$HBBuffer_HBBuffer_$Impl_$.getGlyphInfo = function(this1) { return null; }; lime_text_harfbuzz__$HBBuffer_HBBuffer_$Impl_$.getGlyphPositions = function(this1) { return null; }; lime_text_harfbuzz__$HBBuffer_HBBuffer_$Impl_$.guessSegmentProperties = function(this1) { }; lime_text_harfbuzz__$HBBuffer_HBBuffer_$Impl_$.normalizeGlyphs = function(this1) { }; lime_text_harfbuzz__$HBBuffer_HBBuffer_$Impl_$.preallocate = function(this1,size) { return false; }; lime_text_harfbuzz__$HBBuffer_HBBuffer_$Impl_$.reset = function(this1) { }; lime_text_harfbuzz__$HBBuffer_HBBuffer_$Impl_$.reverse = function(this1) { }; lime_text_harfbuzz__$HBBuffer_HBBuffer_$Impl_$.reverseClusters = function(this1) { }; lime_text_harfbuzz__$HBBuffer_HBBuffer_$Impl_$.get_allocationSuccessful = function(this1) { return false; }; lime_text_harfbuzz__$HBBuffer_HBBuffer_$Impl_$.get_clusterLevel = function(this1) { return 0; }; lime_text_harfbuzz__$HBBuffer_HBBuffer_$Impl_$.set_clusterLevel = function(this1,value) { return value; }; lime_text_harfbuzz__$HBBuffer_HBBuffer_$Impl_$.get_contentType = function(this1) { return 0; }; lime_text_harfbuzz__$HBBuffer_HBBuffer_$Impl_$.set_contentType = function(this1,value) { return value; }; lime_text_harfbuzz__$HBBuffer_HBBuffer_$Impl_$.get_direction = function(this1) { return 0; }; lime_text_harfbuzz__$HBBuffer_HBBuffer_$Impl_$.set_direction = function(this1,value) { return value; }; lime_text_harfbuzz__$HBBuffer_HBBuffer_$Impl_$.get_empty = function() { return null; }; lime_text_harfbuzz__$HBBuffer_HBBuffer_$Impl_$.get_flags = function(this1) { return 0; }; lime_text_harfbuzz__$HBBuffer_HBBuffer_$Impl_$.set_flags = function(this1,value) { return value; }; lime_text_harfbuzz__$HBBuffer_HBBuffer_$Impl_$.get_language = function(this1) { return null; }; lime_text_harfbuzz__$HBBuffer_HBBuffer_$Impl_$.set_language = function(this1,value) { return value; }; lime_text_harfbuzz__$HBBuffer_HBBuffer_$Impl_$.get_length = function(this1) { return 0; }; lime_text_harfbuzz__$HBBuffer_HBBuffer_$Impl_$.set_length = function(this1,value) { return value; }; lime_text_harfbuzz__$HBBuffer_HBBuffer_$Impl_$.get_replacementCodepoint = function(this1) { return 0; }; lime_text_harfbuzz__$HBBuffer_HBBuffer_$Impl_$.set_replacementCodepoint = function(this1,value) { return value; }; lime_text_harfbuzz__$HBBuffer_HBBuffer_$Impl_$.get_script = function(this1) { return 0; }; lime_text_harfbuzz__$HBBuffer_HBBuffer_$Impl_$.set_script = function(this1,value) { return value; }; lime_text_harfbuzz__$HBBuffer_HBBuffer_$Impl_$.get_segmentProperties = function(this1) { return null; }; lime_text_harfbuzz__$HBBuffer_HBBuffer_$Impl_$.set_segmentProperties = function(this1,value) { return value; }; var lime_text_harfbuzz__$HBFTFont_HBFTFont_$Impl_$ = {}; $hxClasses["lime.text.harfbuzz._HBFTFont.HBFTFont_Impl_"] = lime_text_harfbuzz__$HBFTFont_HBFTFont_$Impl_$; lime_text_harfbuzz__$HBFTFont_HBFTFont_$Impl_$.__name__ = ["lime","text","harfbuzz","_HBFTFont","HBFTFont_Impl_"]; lime_text_harfbuzz__$HBFTFont_HBFTFont_$Impl_$.__properties__ = {set_loadFlags:"set_loadFlags",get_loadFlags:"get_loadFlags"}; lime_text_harfbuzz__$HBFTFont_HBFTFont_$Impl_$._new = function(font) { var this1; if(font.src != null) { this1 = null; } else { this1 = null; } return this1; }; lime_text_harfbuzz__$HBFTFont_HBFTFont_$Impl_$.get_loadFlags = function(this1) { return 0; }; lime_text_harfbuzz__$HBFTFont_HBFTFont_$Impl_$.set_loadFlags = function(this1,value) { return value; }; var lime_text_harfbuzz__$HBFace_HBFace_$Impl_$ = {}; $hxClasses["lime.text.harfbuzz._HBFace.HBFace_Impl_"] = lime_text_harfbuzz__$HBFace_HBFace_$Impl_$; lime_text_harfbuzz__$HBFace_HBFace_$Impl_$.__name__ = ["lime","text","harfbuzz","_HBFace","HBFace_Impl_"]; lime_text_harfbuzz__$HBFace_HBFace_$Impl_$.__properties__ = {set_upem:"set_upem",get_upem:"get_upem",set_index:"set_index",get_index:"get_index",get_immutable:"get_immutable",set_glyphCount:"set_glyphCount",get_glyphCount:"get_glyphCount",get_empty:"get_empty"}; lime_text_harfbuzz__$HBFace_HBFace_$Impl_$._new = function(blob,index) { var this1 = null; return this1; }; lime_text_harfbuzz__$HBFace_HBFace_$Impl_$.get_empty = function() { return null; }; lime_text_harfbuzz__$HBFace_HBFace_$Impl_$.get_glyphCount = function(this1) { return 0; }; lime_text_harfbuzz__$HBFace_HBFace_$Impl_$.set_glyphCount = function(this1,value) { return value; }; lime_text_harfbuzz__$HBFace_HBFace_$Impl_$.get_immutable = function(this1) { return false; }; lime_text_harfbuzz__$HBFace_HBFace_$Impl_$.get_index = function(this1) { return 0; }; lime_text_harfbuzz__$HBFace_HBFace_$Impl_$.set_index = function(this1,value) { return value; }; lime_text_harfbuzz__$HBFace_HBFace_$Impl_$.get_upem = function(this1) { return 0; }; lime_text_harfbuzz__$HBFace_HBFace_$Impl_$.set_upem = function(this1,value) { return value; }; var lime_text_harfbuzz_HBFeature = function() { }; $hxClasses["lime.text.harfbuzz.HBFeature"] = lime_text_harfbuzz_HBFeature; lime_text_harfbuzz_HBFeature.__name__ = ["lime","text","harfbuzz","HBFeature"]; lime_text_harfbuzz_HBFeature.prototype = { __class__: lime_text_harfbuzz_HBFeature }; var lime_text_harfbuzz__$HBFont_HBFont_$Impl_$ = {}; $hxClasses["lime.text.harfbuzz._HBFont.HBFont_Impl_"] = lime_text_harfbuzz__$HBFont_HBFont_$Impl_$; lime_text_harfbuzz__$HBFont_HBFont_$Impl_$.__name__ = ["lime","text","harfbuzz","_HBFont","HBFont_Impl_"]; lime_text_harfbuzz__$HBFont_HBFont_$Impl_$.__properties__ = {set_scale:"set_scale",get_scale:"get_scale",set_ppem:"set_ppem",get_ppem:"get_ppem",get_parent:"get_parent",get_immutable:"get_immutable",get_face:"get_face",get_empty:"get_empty"}; lime_text_harfbuzz__$HBFont_HBFont_$Impl_$._new = function(face) { var this1 = null; return this1; }; lime_text_harfbuzz__$HBFont_HBFont_$Impl_$.addGlyphOriginForDirection = function(this1,glyph,direction,x,y) { }; lime_text_harfbuzz__$HBFont_HBFont_$Impl_$.createSubFont = function(this1) { return null; }; lime_text_harfbuzz__$HBFont_HBFont_$Impl_$.getGlyphAdvanceForDirection = function(this1,glyph,direction) { return null; }; lime_text_harfbuzz__$HBFont_HBFont_$Impl_$.getGlyphKerningForDirection = function(this1,glyph,firstGlyph,secondGlyph,direction) { return null; }; lime_text_harfbuzz__$HBFont_HBFont_$Impl_$.getGlyphOriginForDirection = function(this1,glyph,direction) { return null; }; lime_text_harfbuzz__$HBFont_HBFont_$Impl_$.glyphFromString = function(this1,s) { return 0; }; lime_text_harfbuzz__$HBFont_HBFont_$Impl_$.glyphToString = function(this1,codepoint) { return null; }; lime_text_harfbuzz__$HBFont_HBFont_$Impl_$.makeImmutable = function(this1) { }; lime_text_harfbuzz__$HBFont_HBFont_$Impl_$.subtractGlyphOriginForDirection = function(this1,glyph,direction,x,y) { }; lime_text_harfbuzz__$HBFont_HBFont_$Impl_$.get_empty = function() { return null; }; lime_text_harfbuzz__$HBFont_HBFont_$Impl_$.get_face = function(this1) { return null; }; lime_text_harfbuzz__$HBFont_HBFont_$Impl_$.get_immutable = function(this1) { return false; }; lime_text_harfbuzz__$HBFont_HBFont_$Impl_$.get_parent = function(this1) { return null; }; lime_text_harfbuzz__$HBFont_HBFont_$Impl_$.get_ppem = function(this1) { return null; }; lime_text_harfbuzz__$HBFont_HBFont_$Impl_$.set_ppem = function(this1,value) { return value; }; lime_text_harfbuzz__$HBFont_HBFont_$Impl_$.get_scale = function(this1) { return null; }; lime_text_harfbuzz__$HBFont_HBFont_$Impl_$.set_scale = function(this1,value) { return value; }; var lime_text_harfbuzz_HBGlyphInfo = function() { }; $hxClasses["lime.text.harfbuzz.HBGlyphInfo"] = lime_text_harfbuzz_HBGlyphInfo; lime_text_harfbuzz_HBGlyphInfo.__name__ = ["lime","text","harfbuzz","HBGlyphInfo"]; lime_text_harfbuzz_HBGlyphInfo.prototype = { codepoint: null ,mask: null ,cluster: null ,__class__: lime_text_harfbuzz_HBGlyphInfo }; var lime_text_harfbuzz_HBGlyphPosition = function() { }; $hxClasses["lime.text.harfbuzz.HBGlyphPosition"] = lime_text_harfbuzz_HBGlyphPosition; lime_text_harfbuzz_HBGlyphPosition.__name__ = ["lime","text","harfbuzz","HBGlyphPosition"]; lime_text_harfbuzz_HBGlyphPosition.prototype = { xAdvance: null ,xOffset: null ,yAdvance: null ,yOffset: null ,__class__: lime_text_harfbuzz_HBGlyphPosition }; var lime_text_harfbuzz__$HBLanguage_HBLanguage_$Impl_$ = {}; $hxClasses["lime.text.harfbuzz._HBLanguage.HBLanguage_Impl_"] = lime_text_harfbuzz__$HBLanguage_HBLanguage_$Impl_$; lime_text_harfbuzz__$HBLanguage_HBLanguage_$Impl_$.__name__ = ["lime","text","harfbuzz","_HBLanguage","HBLanguage_Impl_"]; lime_text_harfbuzz__$HBLanguage_HBLanguage_$Impl_$._new = function(language) { var this1 = null; return this1; }; lime_text_harfbuzz__$HBLanguage_HBLanguage_$Impl_$.toString = function(this1) { return null; }; lime_text_harfbuzz__$HBLanguage_HBLanguage_$Impl_$.fromString = function(value) { return lime_text_harfbuzz__$HBLanguage_HBLanguage_$Impl_$._new(value); }; var lime_text_harfbuzz_HBSegmentProperties = function() { }; $hxClasses["lime.text.harfbuzz.HBSegmentProperties"] = lime_text_harfbuzz_HBSegmentProperties; lime_text_harfbuzz_HBSegmentProperties.__name__ = ["lime","text","harfbuzz","HBSegmentProperties"]; lime_text_harfbuzz_HBSegmentProperties.prototype = { __class__: lime_text_harfbuzz_HBSegmentProperties }; var lime_ui_Gamepad = function(id) { this.onDisconnect = new lime_app__$Event_$Void_$Void(); this.onButtonUp = new lime_app__$Event_$lime_$ui_$GamepadButton_$Void(); this.onButtonDown = new lime_app__$Event_$lime_$ui_$GamepadButton_$Void(); this.onAxisMove = new lime_app__$Event_$lime_$ui_$GamepadAxis_$Float_$Void(); this.id = id; this.connected = true; }; $hxClasses["lime.ui.Gamepad"] = lime_ui_Gamepad; lime_ui_Gamepad.__name__ = ["lime","ui","Gamepad"]; lime_ui_Gamepad.addMappings = function(mappings) { }; lime_ui_Gamepad.__connect = function(id) { if(!lime_ui_Gamepad.devices.h.hasOwnProperty(id)) { var gamepad = new lime_ui_Gamepad(id); lime_ui_Gamepad.devices.h[id] = gamepad; lime_ui_Gamepad.onConnect.dispatch(gamepad); } }; lime_ui_Gamepad.__disconnect = function(id) { var gamepad = lime_ui_Gamepad.devices.h[id]; if(gamepad != null) { gamepad.connected = false; } lime_ui_Gamepad.devices.remove(id); if(gamepad != null) { gamepad.onDisconnect.dispatch(); } }; lime_ui_Gamepad.prototype = { connected: null ,id: null ,onAxisMove: null ,onButtonDown: null ,onButtonUp: null ,onDisconnect: null ,get_guid: function() { var devices = lime_ui_Joystick.__getDeviceData(); return devices[this.id].id; } ,get_name: function() { var devices = lime_ui_Joystick.__getDeviceData(); return devices[this.id].id; } ,__class__: lime_ui_Gamepad ,__properties__: {get_name:"get_name",get_guid:"get_guid"} }; var lime_ui__$GamepadAxis_GamepadAxis_$Impl_$ = {}; $hxClasses["lime.ui._GamepadAxis.GamepadAxis_Impl_"] = lime_ui__$GamepadAxis_GamepadAxis_$Impl_$; lime_ui__$GamepadAxis_GamepadAxis_$Impl_$.__name__ = ["lime","ui","_GamepadAxis","GamepadAxis_Impl_"]; lime_ui__$GamepadAxis_GamepadAxis_$Impl_$.toString = function(this1) { switch(this1) { case 0: return "LEFT_X"; case 1: return "LEFT_Y"; case 2: return "RIGHT_X"; case 3: return "RIGHT_Y"; case 4: return "TRIGGER_LEFT"; case 5: return "TRIGGER_RIGHT"; default: return "UNKNOWN (" + this1 + ")"; } }; var lime_ui__$GamepadButton_GamepadButton_$Impl_$ = {}; $hxClasses["lime.ui._GamepadButton.GamepadButton_Impl_"] = lime_ui__$GamepadButton_GamepadButton_$Impl_$; lime_ui__$GamepadButton_GamepadButton_$Impl_$.__name__ = ["lime","ui","_GamepadButton","GamepadButton_Impl_"]; lime_ui__$GamepadButton_GamepadButton_$Impl_$.toString = function(this1) { switch(this1) { case 0: return "A"; case 1: return "B"; case 2: return "X"; case 3: return "Y"; case 4: return "BACK"; case 5: return "GUIDE"; case 6: return "START"; case 7: return "LEFT_STICK"; case 8: return "RIGHT_STICK"; case 9: return "LEFT_SHOULDER"; case 10: return "RIGHT_SHOULDER"; case 11: return "DPAD_UP"; case 12: return "DPAD_DOWN"; case 13: return "DPAD_LEFT"; case 14: return "DPAD_RIGHT"; default: return "UNKNOWN (" + this1 + ")"; } }; var lime_ui_Joystick = function(id) { this.onTrackballMove = new lime_app__$Event_$Int_$Float_$Float_$Void(); this.onHatMove = new lime_app__$Event_$Int_$lime_$ui_$JoystickHatPosition_$Void(); this.onDisconnect = new lime_app__$Event_$Void_$Void(); this.onButtonUp = new lime_app__$Event_$Int_$Void(); this.onButtonDown = new lime_app__$Event_$Int_$Void(); this.onAxisMove = new lime_app__$Event_$Int_$Float_$Void(); this.id = id; this.connected = true; }; $hxClasses["lime.ui.Joystick"] = lime_ui_Joystick; lime_ui_Joystick.__name__ = ["lime","ui","Joystick"]; lime_ui_Joystick.__connect = function(id) { if(!lime_ui_Joystick.devices.h.hasOwnProperty(id)) { var joystick = new lime_ui_Joystick(id); lime_ui_Joystick.devices.h[id] = joystick; lime_ui_Joystick.onConnect.dispatch(joystick); } }; lime_ui_Joystick.__disconnect = function(id) { var joystick = lime_ui_Joystick.devices.h[id]; if(joystick != null) { joystick.connected = false; } lime_ui_Joystick.devices.remove(id); if(joystick != null) { joystick.onDisconnect.dispatch(); } }; lime_ui_Joystick.__getDeviceData = function() { if(navigator.getGamepads) { return navigator.getGamepads(); } else if(navigator.webkitGetGamepads) { return navigator.webkitGetGamepads(); } else { return null; } }; lime_ui_Joystick.prototype = { connected: null ,id: null ,onAxisMove: null ,onButtonDown: null ,onButtonUp: null ,onDisconnect: null ,onHatMove: null ,onTrackballMove: null ,get_guid: function() { var devices = lime_ui_Joystick.__getDeviceData(); return devices[this.id].id; } ,get_name: function() { var devices = lime_ui_Joystick.__getDeviceData(); return devices[this.id].id; } ,get_numAxes: function() { var devices = lime_ui_Joystick.__getDeviceData(); return devices[this.id].axes.length; } ,get_numButtons: function() { var devices = lime_ui_Joystick.__getDeviceData(); return devices[this.id].buttons.length; } ,get_numHats: function() { return 0; } ,get_numTrackballs: function() { return 0; } ,__class__: lime_ui_Joystick ,__properties__: {get_numTrackballs:"get_numTrackballs",get_numHats:"get_numHats",get_numButtons:"get_numButtons",get_numAxes:"get_numAxes",get_name:"get_name",get_guid:"get_guid"} }; var lime_ui__$JoystickHatPosition_JoystickHatPosition_$Impl_$ = {}; $hxClasses["lime.ui._JoystickHatPosition.JoystickHatPosition_Impl_"] = lime_ui__$JoystickHatPosition_JoystickHatPosition_$Impl_$; lime_ui__$JoystickHatPosition_JoystickHatPosition_$Impl_$.__name__ = ["lime","ui","_JoystickHatPosition","JoystickHatPosition_Impl_"]; lime_ui__$JoystickHatPosition_JoystickHatPosition_$Impl_$.__properties__ = {set_up:"set_up",get_up:"get_up",set_right:"set_right",get_right:"get_right",set_left:"set_left",get_left:"get_left",set_down:"set_down",get_down:"get_down",set_center:"set_center",get_center:"get_center"}; lime_ui__$JoystickHatPosition_JoystickHatPosition_$Impl_$._new = function(value) { var this1 = value; return this1; }; lime_ui__$JoystickHatPosition_JoystickHatPosition_$Impl_$.get_center = function(this1) { return this1 == 0; }; lime_ui__$JoystickHatPosition_JoystickHatPosition_$Impl_$.set_center = function(this1,value) { if(value) { this1 = 0; } return value; }; lime_ui__$JoystickHatPosition_JoystickHatPosition_$Impl_$.get_down = function(this1) { return (this1 & 4) > 0; }; lime_ui__$JoystickHatPosition_JoystickHatPosition_$Impl_$.set_down = function(this1,value) { if(value) { this1 |= 4; } else { this1 &= 268435455 - 4; } return value; }; lime_ui__$JoystickHatPosition_JoystickHatPosition_$Impl_$.get_left = function(this1) { return (this1 & 8) > 0; }; lime_ui__$JoystickHatPosition_JoystickHatPosition_$Impl_$.set_left = function(this1,value) { if(value) { this1 |= 8; } else { this1 &= 268435455 - 8; } return value; }; lime_ui__$JoystickHatPosition_JoystickHatPosition_$Impl_$.get_right = function(this1) { return (this1 & 2) > 0; }; lime_ui__$JoystickHatPosition_JoystickHatPosition_$Impl_$.set_right = function(this1,value) { if(value) { this1 |= 2; } else { this1 &= 268435455 - 2; } return value; }; lime_ui__$JoystickHatPosition_JoystickHatPosition_$Impl_$.get_up = function(this1) { return (this1 & 1) > 0; }; lime_ui__$JoystickHatPosition_JoystickHatPosition_$Impl_$.set_up = function(this1,value) { if(value) { this1 |= 1; } else { this1 &= 268435455 - 1; } return value; }; var lime_ui__$KeyCode_KeyCode_$Impl_$ = {}; $hxClasses["lime.ui._KeyCode.KeyCode_Impl_"] = lime_ui__$KeyCode_KeyCode_$Impl_$; lime_ui__$KeyCode_KeyCode_$Impl_$.__name__ = ["lime","ui","_KeyCode","KeyCode_Impl_"]; lime_ui__$KeyCode_KeyCode_$Impl_$.fromScanCode = function(scanCode) { return 0; }; lime_ui__$KeyCode_KeyCode_$Impl_$.toScanCode = function(keyCode) { return 0; }; lime_ui__$KeyCode_KeyCode_$Impl_$.gt = function(a,b) { return a > b; }; lime_ui__$KeyCode_KeyCode_$Impl_$.gte = function(a,b) { return a >= b; }; lime_ui__$KeyCode_KeyCode_$Impl_$.lt = function(a,b) { return a < b; }; lime_ui__$KeyCode_KeyCode_$Impl_$.lte = function(a,b) { return a <= b; }; lime_ui__$KeyCode_KeyCode_$Impl_$.plus = function(a,b) { return a + b; }; var lime_ui__$KeyModifier_KeyModifier_$Impl_$ = {}; $hxClasses["lime.ui._KeyModifier.KeyModifier_Impl_"] = lime_ui__$KeyModifier_KeyModifier_$Impl_$; lime_ui__$KeyModifier_KeyModifier_$Impl_$.__name__ = ["lime","ui","_KeyModifier","KeyModifier_Impl_"]; lime_ui__$KeyModifier_KeyModifier_$Impl_$.__properties__ = {set_shiftKey:"set_shiftKey",get_shiftKey:"get_shiftKey",set_numLock:"set_numLock",get_numLock:"get_numLock",set_metaKey:"set_metaKey",get_metaKey:"get_metaKey",set_ctrlKey:"set_ctrlKey",get_ctrlKey:"get_ctrlKey",set_capsLock:"set_capsLock",get_capsLock:"get_capsLock",set_altKey:"set_altKey",get_altKey:"get_altKey"}; lime_ui__$KeyModifier_KeyModifier_$Impl_$.get_altKey = function(this1) { if((this1 & 256) <= 0) { return (this1 & 512) > 0; } else { return true; } }; lime_ui__$KeyModifier_KeyModifier_$Impl_$.set_altKey = function(this1,value) { if(value) { this1 |= 768; } else { this1 &= 268435455 - 768; } return value; }; lime_ui__$KeyModifier_KeyModifier_$Impl_$.get_capsLock = function(this1) { if((this1 & 8192) <= 0) { return (this1 & 8192) > 0; } else { return true; } }; lime_ui__$KeyModifier_KeyModifier_$Impl_$.set_capsLock = function(this1,value) { if(value) { this1 |= 8192; } else { this1 &= 268435455 - 8192; } return value; }; lime_ui__$KeyModifier_KeyModifier_$Impl_$.get_ctrlKey = function(this1) { if((this1 & 64) <= 0) { return (this1 & 128) > 0; } else { return true; } }; lime_ui__$KeyModifier_KeyModifier_$Impl_$.set_ctrlKey = function(this1,value) { if(value) { this1 |= 192; } else { this1 &= 268435455 - 192; } return value; }; lime_ui__$KeyModifier_KeyModifier_$Impl_$.get_metaKey = function(this1) { if((this1 & 1024) <= 0) { return (this1 & 2048) > 0; } else { return true; } }; lime_ui__$KeyModifier_KeyModifier_$Impl_$.set_metaKey = function(this1,value) { if(value) { this1 |= 3072; } else { this1 &= 268435455 - 3072; } return value; }; lime_ui__$KeyModifier_KeyModifier_$Impl_$.get_numLock = function(this1) { if((this1 & 4096) <= 0) { return (this1 & 4096) > 0; } else { return true; } }; lime_ui__$KeyModifier_KeyModifier_$Impl_$.set_numLock = function(this1,value) { if(value) { this1 |= 4096; } else { this1 &= 268435455 - 4096; } return value; }; lime_ui__$KeyModifier_KeyModifier_$Impl_$.get_shiftKey = function(this1) { if((this1 & 1) <= 0) { return (this1 & 2) > 0; } else { return true; } }; lime_ui__$KeyModifier_KeyModifier_$Impl_$.set_shiftKey = function(this1,value) { if(value) { this1 |= 3; } else { this1 &= 268435455 - 3; } return value; }; var lime_ui_MouseCursor = $hxClasses["lime.ui.MouseCursor"] = { __ename__ : ["lime","ui","MouseCursor"], __constructs__ : ["ARROW","CROSSHAIR","DEFAULT","MOVE","POINTER","RESIZE_NESW","RESIZE_NS","RESIZE_NWSE","RESIZE_WE","TEXT","WAIT","WAIT_ARROW","CUSTOM"] }; lime_ui_MouseCursor.ARROW = ["ARROW",0]; lime_ui_MouseCursor.ARROW.toString = $estr; lime_ui_MouseCursor.ARROW.__enum__ = lime_ui_MouseCursor; lime_ui_MouseCursor.CROSSHAIR = ["CROSSHAIR",1]; lime_ui_MouseCursor.CROSSHAIR.toString = $estr; lime_ui_MouseCursor.CROSSHAIR.__enum__ = lime_ui_MouseCursor; lime_ui_MouseCursor.DEFAULT = ["DEFAULT",2]; lime_ui_MouseCursor.DEFAULT.toString = $estr; lime_ui_MouseCursor.DEFAULT.__enum__ = lime_ui_MouseCursor; lime_ui_MouseCursor.MOVE = ["MOVE",3]; lime_ui_MouseCursor.MOVE.toString = $estr; lime_ui_MouseCursor.MOVE.__enum__ = lime_ui_MouseCursor; lime_ui_MouseCursor.POINTER = ["POINTER",4]; lime_ui_MouseCursor.POINTER.toString = $estr; lime_ui_MouseCursor.POINTER.__enum__ = lime_ui_MouseCursor; lime_ui_MouseCursor.RESIZE_NESW = ["RESIZE_NESW",5]; lime_ui_MouseCursor.RESIZE_NESW.toString = $estr; lime_ui_MouseCursor.RESIZE_NESW.__enum__ = lime_ui_MouseCursor; lime_ui_MouseCursor.RESIZE_NS = ["RESIZE_NS",6]; lime_ui_MouseCursor.RESIZE_NS.toString = $estr; lime_ui_MouseCursor.RESIZE_NS.__enum__ = lime_ui_MouseCursor; lime_ui_MouseCursor.RESIZE_NWSE = ["RESIZE_NWSE",7]; lime_ui_MouseCursor.RESIZE_NWSE.toString = $estr; lime_ui_MouseCursor.RESIZE_NWSE.__enum__ = lime_ui_MouseCursor; lime_ui_MouseCursor.RESIZE_WE = ["RESIZE_WE",8]; lime_ui_MouseCursor.RESIZE_WE.toString = $estr; lime_ui_MouseCursor.RESIZE_WE.__enum__ = lime_ui_MouseCursor; lime_ui_MouseCursor.TEXT = ["TEXT",9]; lime_ui_MouseCursor.TEXT.toString = $estr; lime_ui_MouseCursor.TEXT.__enum__ = lime_ui_MouseCursor; lime_ui_MouseCursor.WAIT = ["WAIT",10]; lime_ui_MouseCursor.WAIT.toString = $estr; lime_ui_MouseCursor.WAIT.__enum__ = lime_ui_MouseCursor; lime_ui_MouseCursor.WAIT_ARROW = ["WAIT_ARROW",11]; lime_ui_MouseCursor.WAIT_ARROW.toString = $estr; lime_ui_MouseCursor.WAIT_ARROW.__enum__ = lime_ui_MouseCursor; lime_ui_MouseCursor.CUSTOM = ["CUSTOM",12]; lime_ui_MouseCursor.CUSTOM.toString = $estr; lime_ui_MouseCursor.CUSTOM.__enum__ = lime_ui_MouseCursor; var lime_ui_MouseWheelMode = $hxClasses["lime.ui.MouseWheelMode"] = { __ename__ : ["lime","ui","MouseWheelMode"], __constructs__ : ["PIXELS","LINES","PAGES","UNKNOWN"] }; lime_ui_MouseWheelMode.PIXELS = ["PIXELS",0]; lime_ui_MouseWheelMode.PIXELS.toString = $estr; lime_ui_MouseWheelMode.PIXELS.__enum__ = lime_ui_MouseWheelMode; lime_ui_MouseWheelMode.LINES = ["LINES",1]; lime_ui_MouseWheelMode.LINES.toString = $estr; lime_ui_MouseWheelMode.LINES.__enum__ = lime_ui_MouseWheelMode; lime_ui_MouseWheelMode.PAGES = ["PAGES",2]; lime_ui_MouseWheelMode.PAGES.toString = $estr; lime_ui_MouseWheelMode.PAGES.__enum__ = lime_ui_MouseWheelMode; lime_ui_MouseWheelMode.UNKNOWN = ["UNKNOWN",3]; lime_ui_MouseWheelMode.UNKNOWN.toString = $estr; lime_ui_MouseWheelMode.UNKNOWN.__enum__ = lime_ui_MouseWheelMode; var lime_ui__$ScanCode_ScanCode_$Impl_$ = {}; $hxClasses["lime.ui._ScanCode.ScanCode_Impl_"] = lime_ui__$ScanCode_ScanCode_$Impl_$; lime_ui__$ScanCode_ScanCode_$Impl_$.__name__ = ["lime","ui","_ScanCode","ScanCode_Impl_"]; lime_ui__$ScanCode_ScanCode_$Impl_$.fromKeyCode = function(keyCode) { return lime_ui__$KeyCode_KeyCode_$Impl_$.toScanCode(keyCode); }; lime_ui__$ScanCode_ScanCode_$Impl_$.toKeyCode = function(scanCode) { return lime_ui__$KeyCode_KeyCode_$Impl_$.fromScanCode(scanCode); }; lime_ui__$ScanCode_ScanCode_$Impl_$.gt = function(a,b) { return a > b; }; lime_ui__$ScanCode_ScanCode_$Impl_$.gte = function(a,b) { return a >= b; }; lime_ui__$ScanCode_ScanCode_$Impl_$.lt = function(a,b) { return a < b; }; lime_ui__$ScanCode_ScanCode_$Impl_$.lte = function(a,b) { return a <= b; }; lime_ui__$ScanCode_ScanCode_$Impl_$.plus = function(a,b) { return a + b; }; var lime_ui_Touch = function(x,y,id,dx,dy,pressure,device) { this.x = x; this.y = y; this.id = id; this.dx = dx; this.dy = dy; this.pressure = pressure; this.device = device; }; $hxClasses["lime.ui.Touch"] = lime_ui_Touch; lime_ui_Touch.__name__ = ["lime","ui","Touch"]; lime_ui_Touch.prototype = { device: null ,dx: null ,dy: null ,id: null ,pressure: null ,x: null ,y: null ,__class__: lime_ui_Touch }; var lime_ui_Window = function(application,attributes) { this.onTextInput = new lime_app__$Event_$String_$Void(); this.onTextEdit = new lime_app__$Event_$String_$Int_$Int_$Void(); this.onRestore = new lime_app__$Event_$Void_$Void(); this.onResize = new lime_app__$Event_$Int_$Int_$Void(); this.onRenderContextRestored = new lime_app__$Event_$lime_$graphics_$RenderContext_$Void(); this.onRenderContextLost = new lime_app__$Event_$Void_$Void(); this.onRender = new lime_app__$Event_$lime_$graphics_$RenderContext_$Void(); this.onMove = new lime_app__$Event_$Float_$Float_$Void(); this.onMouseWheel = new lime_app__$Event_$Float_$Float_$lime_$ui_$MouseWheelMode_$Void(); this.onMouseUp = new lime_app__$Event_$Float_$Float_$Int_$Void(); this.onMouseMoveRelative = new lime_app__$Event_$Float_$Float_$Void(); this.onMouseMove = new lime_app__$Event_$Float_$Float_$Void(); this.onMouseDown = new lime_app__$Event_$Float_$Float_$lime_$ui_$MouseButton_$Void(); this.onMinimize = new lime_app__$Event_$Void_$Void(); this.onMaximize = new lime_app__$Event_$Void_$Void(); this.onLeave = new lime_app__$Event_$Void_$Void(); this.onKeyUp = new lime_app__$Event_$lime_$ui_$KeyCode_$lime_$ui_$KeyModifier_$Void(); this.onKeyDown = new lime_app__$Event_$lime_$ui_$KeyCode_$lime_$ui_$KeyModifier_$Void(); this.onFullscreen = new lime_app__$Event_$Void_$Void(); this.onFocusOut = new lime_app__$Event_$Void_$Void(); this.onFocusIn = new lime_app__$Event_$Void_$Void(); this.onExpose = new lime_app__$Event_$Void_$Void(); this.onEnter = new lime_app__$Event_$Void_$Void(); this.onDropFile = new lime_app__$Event_$String_$Void(); this.onDeactivate = new lime_app__$Event_$Void_$Void(); this.onClose = new lime_app__$Event_$Void_$Void(); this.onActivate = new lime_app__$Event_$Void_$Void(); this.application = application; this.__attributes = attributes != null ? attributes : { }; if(Object.prototype.hasOwnProperty.call(this.__attributes,"parameters")) { this.parameters = this.__attributes.parameters; } this.__width = 0; this.__height = 0; this.__fullscreen = false; this.__scale = 1; this.__x = 0; this.__y = 0; this.__title = ""; this.id = -1; this.__backend = new lime__$internal_backend_html5_HTML5Window(this); }; $hxClasses["lime.ui.Window"] = lime_ui_Window; lime_ui_Window.__name__ = ["lime","ui","Window"]; lime_ui_Window.prototype = { application: null ,context: null ,display: null ,element: null ,hidden: null ,id: null ,onActivate: null ,onClose: null ,onDeactivate: null ,onDropFile: null ,onEnter: null ,onExpose: null ,onFocusIn: null ,onFocusOut: null ,onFullscreen: null ,onKeyDown: null ,onKeyUp: null ,onLeave: null ,onMaximize: null ,onMinimize: null ,onMouseDown: null ,onMouseMove: null ,onMouseMoveRelative: null ,onMouseUp: null ,onMouseWheel: null ,onMove: null ,onRender: null ,onRenderContextLost: null ,onRenderContextRestored: null ,onResize: null ,onRestore: null ,onTextEdit: null ,onTextInput: null ,parameters: null ,scale: null ,stage: null ,__attributes: null ,__backend: null ,__borderless: null ,__fullscreen: null ,__height: null ,__hidden: null ,__maximized: null ,__minimized: null ,__resizable: null ,__scale: null ,__title: null ,__width: null ,__x: null ,__y: null ,alert: function(message,title) { this.__backend.alert(message,title); } ,close: function() { this.__backend.close(); } ,focus: function() { this.__backend.focus(); } ,move: function(x,y) { this.__backend.move(x,y); this.__x = x; this.__y = y; } ,readPixels: function(rect) { return this.__backend.readPixels(rect); } ,resize: function(width,height) { this.__backend.resize(width,height); this.__width = width; this.__height = height; } ,setIcon: function(image) { if(image == null) { return; } this.__backend.setIcon(image); } ,toString: function() { return "[object Window]"; } ,warpMouse: function(x,y) { this.__backend.warpMouse(x,y); } ,get_cursor: function() { return this.__backend.getCursor(); } ,set_cursor: function(value) { return this.__backend.setCursor(value); } ,get_display: function() { return this.__backend.getDisplay(); } ,get_displayMode: function() { return this.__backend.getDisplayMode(); } ,set_displayMode: function(value) { return this.__backend.setDisplayMode(value); } ,get_borderless: function() { return this.__borderless; } ,set_borderless: function(value) { return this.__borderless = this.__backend.setBorderless(value); } ,get_frameRate: function() { return this.__backend.getFrameRate(); } ,set_frameRate: function(value) { return this.__backend.setFrameRate(value); } ,get_fullscreen: function() { return this.__fullscreen; } ,set_fullscreen: function(value) { return this.__fullscreen = this.__backend.setFullscreen(value); } ,get_height: function() { return this.__height; } ,set_height: function(value) { this.resize(this.__width,value); return this.__height; } ,get_hidden: function() { return this.__hidden; } ,get_maximized: function() { return this.__maximized; } ,set_maximized: function(value) { this.__minimized = false; return this.__maximized = this.__backend.setMaximized(value); } ,get_minimized: function() { return this.__minimized; } ,set_minimized: function(value) { this.__maximized = false; return this.__minimized = this.__backend.setMinimized(value); } ,get_mouseLock: function() { return this.__backend.getMouseLock(); } ,set_mouseLock: function(value) { this.__backend.setMouseLock(value); return value; } ,get_resizable: function() { return this.__resizable; } ,set_resizable: function(value) { this.__resizable = this.__backend.setResizable(value); return this.__resizable; } ,get_scale: function() { return this.__scale; } ,get_textInputEnabled: function() { return this.__backend.getTextInputEnabled(); } ,set_textInputEnabled: function(value) { return this.__backend.setTextInputEnabled(value); } ,get_title: function() { return this.__title; } ,set_title: function(value) { return this.__title = this.__backend.setTitle(value); } ,get_width: function() { return this.__width; } ,set_width: function(value) { this.resize(value,this.__height); return this.__width; } ,get_x: function() { return this.__x; } ,set_x: function(value) { this.move(value,this.__y); return this.__x; } ,get_y: function() { return this.__y; } ,set_y: function(value) { this.move(this.__x,value); return this.__y; } ,__class__: lime_ui_Window ,__properties__: {set_y:"set_y",get_y:"get_y",set_x:"set_x",get_x:"get_x",set_width:"set_width",get_width:"get_width",set_title:"set_title",get_title:"get_title",set_textInputEnabled:"set_textInputEnabled",get_textInputEnabled:"get_textInputEnabled",get_scale:"get_scale",set_resizable:"set_resizable",get_resizable:"get_resizable",set_mouseLock:"set_mouseLock",get_mouseLock:"get_mouseLock",set_minimized:"set_minimized",get_minimized:"get_minimized",set_maximized:"set_maximized",get_maximized:"get_maximized",get_hidden:"get_hidden",set_height:"set_height",get_height:"get_height",set_fullscreen:"set_fullscreen",get_fullscreen:"get_fullscreen",set_frameRate:"set_frameRate",get_frameRate:"get_frameRate",set_displayMode:"set_displayMode",get_displayMode:"get_displayMode",get_display:"get_display",set_cursor:"set_cursor",get_cursor:"get_cursor",set_borderless:"set_borderless",get_borderless:"get_borderless"} }; var lime_utils_TAError = $hxClasses["lime.utils.TAError"] = { __ename__ : ["lime","utils","TAError"], __constructs__ : ["RangeError"] }; lime_utils_TAError.RangeError = ["RangeError",0]; lime_utils_TAError.RangeError.toString = $estr; lime_utils_TAError.RangeError.__enum__ = lime_utils_TAError; var lime_utils_AssetCache = function() { this.enabled = true; this.audio = new haxe_ds_StringMap(); this.font = new haxe_ds_StringMap(); this.image = new haxe_ds_StringMap(); this.version = 346336; }; $hxClasses["lime.utils.AssetCache"] = lime_utils_AssetCache; lime_utils_AssetCache.__name__ = ["lime","utils","AssetCache"]; lime_utils_AssetCache.prototype = { audio: null ,enabled: null ,image: null ,font: null ,version: null ,exists: function(id,type) { if(type == "IMAGE" || type == null) { var _this = this.image; if(__map_reserved[id] != null ? _this.existsReserved(id) : _this.h.hasOwnProperty(id)) { return true; } } if(type == "FONT" || type == null) { var _this1 = this.font; if(__map_reserved[id] != null ? _this1.existsReserved(id) : _this1.h.hasOwnProperty(id)) { return true; } } if(type == "SOUND" || type == "MUSIC" || type == null) { var _this2 = this.audio; if(__map_reserved[id] != null ? _this2.existsReserved(id) : _this2.h.hasOwnProperty(id)) { return true; } } return false; } ,set: function(id,type,asset) { switch(type) { case "FONT": this.font.set(id,asset); break; case "IMAGE": if(!js_Boot.__instanceof(asset,lime_graphics_Image)) { throw new js__$Boot_HaxeError("Cannot cache non-Image asset: " + Std.string(asset) + " as Image"); } this.image.set(id,asset); break; case "MUSIC":case "SOUND": if(!js_Boot.__instanceof(asset,lime_media_AudioBuffer)) { throw new js__$Boot_HaxeError("Cannot cache non-AudioBuffer asset: " + Std.string(asset) + " as AudioBuffer"); } this.audio.set(id,asset); break; default: throw new js__$Boot_HaxeError(type + " assets are not cachable"); } } ,clear: function(prefix) { if(prefix == null) { this.audio = new haxe_ds_StringMap(); this.font = new haxe_ds_StringMap(); this.image = new haxe_ds_StringMap(); } else { var keys = this.audio.keys(); var key = keys; while(key.hasNext()) { var key1 = key.next(); if(StringTools.startsWith(key1,prefix)) { this.audio.remove(key1); } } var keys1 = this.font.keys(); var key2 = keys1; while(key2.hasNext()) { var key3 = key2.next(); if(StringTools.startsWith(key3,prefix)) { this.font.remove(key3); } } var keys2 = this.image.keys(); var key4 = keys2; while(key4.hasNext()) { var key5 = key4.next(); if(StringTools.startsWith(key5,prefix)) { this.image.remove(key5); } } } } ,__class__: lime_utils_AssetCache }; var lime_utils_AssetLibrary = function() { this.types = new haxe_ds_StringMap(); this.sizes = new haxe_ds_StringMap(); this.preload = new haxe_ds_StringMap(); this.paths = new haxe_ds_StringMap(); this.pathGroups = new haxe_ds_StringMap(); this.classTypes = new haxe_ds_StringMap(); this.cachedText = new haxe_ds_StringMap(); this.cachedImages = new haxe_ds_StringMap(); this.cachedFonts = new haxe_ds_StringMap(); this.cachedBytes = new haxe_ds_StringMap(); this.cachedAudioBuffers = new haxe_ds_StringMap(); this.onChange = new lime_app__$Event_$Void_$Void(); this.bytesLoaded = 0; this.bytesTotal = 0; }; $hxClasses["lime.utils.AssetLibrary"] = lime_utils_AssetLibrary; lime_utils_AssetLibrary.__name__ = ["lime","utils","AssetLibrary"]; lime_utils_AssetLibrary.fromBytes = function(bytes,rootPath) { return lime_utils_AssetLibrary.fromManifest(lime_utils_AssetManifest.fromBytes(bytes,rootPath)); }; lime_utils_AssetLibrary.fromFile = function(path,rootPath) { return lime_utils_AssetLibrary.fromManifest(lime_utils_AssetManifest.fromFile(path,rootPath)); }; lime_utils_AssetLibrary.fromManifest = function(manifest) { if(manifest == null) { return null; } var library = null; if(manifest.libraryType == null) { library = new lime_utils_AssetLibrary(); } else { var libraryClass = Type.resolveClass(manifest.libraryType); if(libraryClass != null) { library = Type.createInstance(libraryClass,manifest.libraryArgs); } else { lime_utils_Log.warn("Could not find library type: " + manifest.libraryType,{ fileName : "AssetLibrary.hx", lineNumber : 141, className : "lime.utils.AssetLibrary", methodName : "fromManifest"}); return null; } } library.__fromManifest(manifest); return library; }; lime_utils_AssetLibrary.loadFromBytes = function(bytes,rootPath) { return lime_utils_AssetManifest.loadFromBytes(bytes,rootPath).then(function(manifest) { return lime_utils_AssetLibrary.loadFromManifest(manifest); }); }; lime_utils_AssetLibrary.loadFromFile = function(path,rootPath) { return lime_utils_AssetManifest.loadFromFile(path,rootPath).then(function(manifest) { return lime_utils_AssetLibrary.loadFromManifest(manifest); }); }; lime_utils_AssetLibrary.loadFromManifest = function(manifest) { var library = lime_utils_AssetLibrary.fromManifest(manifest); if(library != null) { return library.load(); } else { return lime_app_Future.withError("Could not load asset manifest"); } }; lime_utils_AssetLibrary.prototype = { onChange: null ,assetsLoaded: null ,assetsTotal: null ,bytesLoaded: null ,bytesLoadedCache: null ,bytesTotal: null ,cachedAudioBuffers: null ,cachedBytes: null ,cachedFonts: null ,cachedImages: null ,cachedText: null ,classTypes: null ,loaded: null ,pathGroups: null ,paths: null ,preload: null ,promise: null ,sizes: null ,types: null ,exists: function(id,type) { var requestedType = type != null ? js_Boot.__cast(type , String) : null; var _this = this.types; var assetType = __map_reserved[id] != null ? _this.getReserved(id) : _this.h[id]; if(assetType != null) { if(assetType == requestedType || (requestedType == "SOUND" || requestedType == "MUSIC") && (assetType == "MUSIC" || assetType == "SOUND")) { return true; } if(requestedType == "BINARY" || requestedType == null || assetType == "BINARY" && requestedType == "TEXT") { return true; } } return false; } ,getAsset: function(id,type) { switch(type) { case "BINARY": return this.getBytes(id); case "FONT": return this.getFont(id); case "IMAGE": return this.getImage(id); case "MUSIC":case "SOUND": return this.getAudioBuffer(id); case "TEMPLATE": throw new js__$Boot_HaxeError("Not sure how to get template: " + id); break; case "TEXT": return this.getText(id); default: throw new js__$Boot_HaxeError("Unknown asset type: " + type); } } ,getAudioBuffer: function(id) { var _this = this.cachedAudioBuffers; if(__map_reserved[id] != null ? _this.existsReserved(id) : _this.h.hasOwnProperty(id)) { var _this1 = this.cachedAudioBuffers; if(__map_reserved[id] != null) { return _this1.getReserved(id); } else { return _this1.h[id]; } } else { var _this2 = this.classTypes; if(__map_reserved[id] != null ? _this2.existsReserved(id) : _this2.h.hasOwnProperty(id)) { var _this3 = this.classTypes; return lime_media_AudioBuffer.fromBytes(js_Boot.__cast(Type.createInstance(__map_reserved[id] != null ? _this3.getReserved(id) : _this3.h[id],[]) , haxe_io_Bytes)); } else { var _this4 = this.paths; return lime_media_AudioBuffer.fromFile(__map_reserved[id] != null ? _this4.getReserved(id) : _this4.h[id]); } } } ,getBytes: function(id) { var _this = this.cachedBytes; if(__map_reserved[id] != null ? _this.existsReserved(id) : _this.h.hasOwnProperty(id)) { var _this1 = this.cachedBytes; if(__map_reserved[id] != null) { return _this1.getReserved(id); } else { return _this1.h[id]; } } else { var _this2 = this.cachedText; if(__map_reserved[id] != null ? _this2.existsReserved(id) : _this2.h.hasOwnProperty(id)) { var _this3 = this.cachedText; var bytes = lime_utils__$Bytes_Bytes_$Impl_$.ofString(__map_reserved[id] != null ? _this3.getReserved(id) : _this3.h[id]); var _this4 = this.cachedBytes; if(__map_reserved[id] != null) { _this4.setReserved(id,bytes); } else { _this4.h[id] = bytes; } return bytes; } else { var _this5 = this.classTypes; if(__map_reserved[id] != null ? _this5.existsReserved(id) : _this5.h.hasOwnProperty(id)) { var _this6 = this.classTypes; return js_Boot.__cast(Type.createInstance(__map_reserved[id] != null ? _this6.getReserved(id) : _this6.h[id],[]) , haxe_io_Bytes); } else { var _this7 = this.paths; return lime_utils__$Bytes_Bytes_$Impl_$.fromFile(__map_reserved[id] != null ? _this7.getReserved(id) : _this7.h[id]); } } } } ,getFont: function(id) { var _this = this.cachedFonts; if(__map_reserved[id] != null ? _this.existsReserved(id) : _this.h.hasOwnProperty(id)) { var _this1 = this.cachedFonts; if(__map_reserved[id] != null) { return _this1.getReserved(id); } else { return _this1.h[id]; } } else { var _this2 = this.classTypes; if(__map_reserved[id] != null ? _this2.existsReserved(id) : _this2.h.hasOwnProperty(id)) { var _this3 = this.classTypes; return js_Boot.__cast(Type.createInstance(__map_reserved[id] != null ? _this3.getReserved(id) : _this3.h[id],[]) , lime_text_Font); } else { var _this4 = this.paths; return lime_text_Font.fromFile(__map_reserved[id] != null ? _this4.getReserved(id) : _this4.h[id]); } } } ,getImage: function(id) { var _this = this.cachedImages; if(__map_reserved[id] != null ? _this.existsReserved(id) : _this.h.hasOwnProperty(id)) { var _this1 = this.cachedImages; if(__map_reserved[id] != null) { return _this1.getReserved(id); } else { return _this1.h[id]; } } else { var _this2 = this.classTypes; if(__map_reserved[id] != null ? _this2.existsReserved(id) : _this2.h.hasOwnProperty(id)) { var _this3 = this.classTypes; return js_Boot.__cast(Type.createInstance(__map_reserved[id] != null ? _this3.getReserved(id) : _this3.h[id],[]) , lime_graphics_Image); } else { var _this4 = this.paths; return lime_graphics_Image.fromFile(__map_reserved[id] != null ? _this4.getReserved(id) : _this4.h[id]); } } } ,getPath: function(id) { var _this = this.paths; if(__map_reserved[id] != null ? _this.existsReserved(id) : _this.h.hasOwnProperty(id)) { var _this1 = this.paths; if(__map_reserved[id] != null) { return _this1.getReserved(id); } else { return _this1.h[id]; } } else { var _this2 = this.pathGroups; if(__map_reserved[id] != null ? _this2.existsReserved(id) : _this2.h.hasOwnProperty(id)) { var _this3 = this.pathGroups; return (__map_reserved[id] != null ? _this3.getReserved(id) : _this3.h[id])[0]; } else { return null; } } } ,getText: function(id) { var _this = this.cachedText; if(__map_reserved[id] != null ? _this.existsReserved(id) : _this.h.hasOwnProperty(id)) { var _this1 = this.cachedText; if(__map_reserved[id] != null) { return _this1.getReserved(id); } else { return _this1.h[id]; } } else { var bytes = this.getBytes(id); if(bytes == null) { return null; } else { return bytes.getString(0,bytes.length); } } } ,isLocal: function(id,type) { var _this = this.classTypes; if(__map_reserved[id] != null ? _this.existsReserved(id) : _this.h.hasOwnProperty(id)) { return true; } var requestedType = type != null ? js_Boot.__cast(type , String) : null; switch(requestedType) { case "FONT": return this.cachedFonts.exists(id); case "IMAGE": return this.cachedImages.exists(id); case "MUSIC":case "SOUND": return this.cachedAudioBuffers.exists(id); default: if(!this.cachedBytes.exists(id)) { return this.cachedText.exists(id); } else { return true; } } } ,list: function(type) { var requestedType = type != null ? js_Boot.__cast(type , String) : null; var items = []; var id = this.types.keys(); while(id.hasNext()) { var id1 = id.next(); if(requestedType == null || this.exists(id1,type)) { items.push(id1); } } return items; } ,loadAsset: function(id,type) { switch(type) { case "BINARY": return this.loadBytes(id); case "FONT": return this.loadFont(id); case "IMAGE": return this.loadImage(id); case "MUSIC":case "SOUND": return this.loadAudioBuffer(id); case "TEMPLATE": throw new js__$Boot_HaxeError("Not sure how to load template: " + id); break; case "TEXT": return this.loadText(id); default: throw new js__$Boot_HaxeError("Unknown asset type: " + type); } } ,load: function() { if(this.loaded) { return lime_app_Future.withValue(this); } if(this.promise == null) { this.promise = new lime_app_Promise(); this.bytesLoadedCache = new haxe_ds_StringMap(); this.assetsLoaded = 0; this.assetsTotal = 1; var id = this.preload.keys(); while(id.hasNext()) { var id1 = id.next(); var _this = this.preload; if(!(__map_reserved[id1] != null ? _this.getReserved(id1) : _this.h[id1])) { continue; } var _this1 = this.types; lime_utils_Log.verbose("Preloading asset: " + id1 + " [" + (__map_reserved[id1] != null ? _this1.getReserved(id1) : _this1.h[id1]) + "]",{ fileName : "AssetLibrary.hx", lineNumber : 453, className : "lime.utils.AssetLibrary", methodName : "load"}); var _g = this.types.get(id1); if(_g != null) { switch(_g) { case "BINARY": this.assetsTotal++; var future = this.loadBytes(id1); future.onProgress((function(id2,f) { return function(a1,a2) { f[0](id2[0],a1,a2); }; })([id1],[$bind(this,this.load_onProgress)])); future.onError((function(id3,f1) { return function(a11) { f1[0](id3[0],a11); }; })([id1],[$bind(this,this.load_onError)])); future.onComplete((function(id4,f2) { return function(a12) { f2[0](id4[0],a12); }; })([id1],[$bind(this,this.loadBytes_onComplete)])); break; case "FONT": this.assetsTotal++; var future1 = this.loadFont(id1); future1.onProgress((function(id5,f3) { return function(a13,a21) { f3[0](id5[0],a13,a21); }; })([id1],[$bind(this,this.load_onProgress)])); future1.onError((function(id6,f4) { return function(a14) { f4[0](id6[0],a14); }; })([id1],[$bind(this,this.load_onError)])); future1.onComplete((function(id7,f5) { return function(a15) { f5[0](id7[0],a15); }; })([id1],[$bind(this,this.loadFont_onComplete)])); break; case "IMAGE": this.assetsTotal++; var future2 = this.loadImage(id1); future2.onProgress((function(id8,f6) { return function(a16,a22) { f6[0](id8[0],a16,a22); }; })([id1],[$bind(this,this.load_onProgress)])); future2.onError((function(id9,f7) { return function(a17) { f7[0](id9[0],a17); }; })([id1],[$bind(this,this.load_onError)])); future2.onComplete((function(id10,f8) { return function(a18) { f8[0](id10[0],a18); }; })([id1],[$bind(this,this.loadImage_onComplete)])); break; case "MUSIC":case "SOUND": this.assetsTotal++; var future3 = this.loadAudioBuffer(id1); future3.onProgress((function(id11,f9) { return function(a19,a23) { f9[0](id11[0],a19,a23); }; })([id1],[$bind(this,this.load_onProgress)])); future3.onError((function(id12,f10) { return function(a110) { f10[0](id12[0],a110); }; })([id1],[$bind(this,this.loadAudioBuffer_onError)])); future3.onComplete((function(id13,f11) { return function(a111) { f11[0](id13[0],a111); }; })([id1],[$bind(this,this.loadAudioBuffer_onComplete)])); break; case "TEXT": this.assetsTotal++; var future4 = this.loadText(id1); future4.onProgress((function(id14,f12) { return function(a112,a24) { f12[0](id14[0],a112,a24); }; })([id1],[$bind(this,this.load_onProgress)])); future4.onError((function(id15,f13) { return function(a113) { f13[0](id15[0],a113); }; })([id1],[$bind(this,this.load_onError)])); future4.onComplete((function(id16,f14) { return function(a114) { f14[0](id16[0],a114); }; })([id1],[$bind(this,this.loadText_onComplete)])); break; default: } } } this.__assetLoaded(null); } return this.promise.future; } ,loadAudioBuffer: function(id) { var _this = this.cachedAudioBuffers; if(__map_reserved[id] != null ? _this.existsReserved(id) : _this.h.hasOwnProperty(id)) { var _this1 = this.cachedAudioBuffers; return lime_app_Future.withValue(__map_reserved[id] != null ? _this1.getReserved(id) : _this1.h[id]); } else { var _this2 = this.classTypes; if(__map_reserved[id] != null ? _this2.existsReserved(id) : _this2.h.hasOwnProperty(id)) { var _this3 = this.classTypes; return lime_app_Future.withValue(Type.createInstance(__map_reserved[id] != null ? _this3.getReserved(id) : _this3.h[id],[])); } else { var _this4 = this.pathGroups; if(__map_reserved[id] != null ? _this4.existsReserved(id) : _this4.h.hasOwnProperty(id)) { var _this5 = this.pathGroups; return lime_media_AudioBuffer.loadFromFiles(__map_reserved[id] != null ? _this5.getReserved(id) : _this5.h[id]); } else { var _this6 = this.paths; return lime_media_AudioBuffer.loadFromFile(__map_reserved[id] != null ? _this6.getReserved(id) : _this6.h[id]); } } } } ,loadBytes: function(id) { var _this = this.cachedBytes; if(__map_reserved[id] != null ? _this.existsReserved(id) : _this.h.hasOwnProperty(id)) { var _this1 = this.cachedBytes; return lime_app_Future.withValue(__map_reserved[id] != null ? _this1.getReserved(id) : _this1.h[id]); } else { var _this2 = this.classTypes; if(__map_reserved[id] != null ? _this2.existsReserved(id) : _this2.h.hasOwnProperty(id)) { var _this3 = this.classTypes; return lime_app_Future.withValue(Type.createInstance(__map_reserved[id] != null ? _this3.getReserved(id) : _this3.h[id],[])); } else { var _this4 = this.paths; return lime_utils__$Bytes_Bytes_$Impl_$.loadFromFile(__map_reserved[id] != null ? _this4.getReserved(id) : _this4.h[id]); } } } ,loadFont: function(id) { var _this = this.cachedFonts; if(__map_reserved[id] != null ? _this.existsReserved(id) : _this.h.hasOwnProperty(id)) { var _this1 = this.cachedFonts; return lime_app_Future.withValue(__map_reserved[id] != null ? _this1.getReserved(id) : _this1.h[id]); } else { var _this2 = this.classTypes; if(__map_reserved[id] != null ? _this2.existsReserved(id) : _this2.h.hasOwnProperty(id)) { var _this3 = this.classTypes; var font = Type.createInstance(__map_reserved[id] != null ? _this3.getReserved(id) : _this3.h[id],[]); return font.__loadFromName(font.name); } else { var _this4 = this.paths; return lime_text_Font.loadFromName(__map_reserved[id] != null ? _this4.getReserved(id) : _this4.h[id]); } } } ,loadImage: function(id) { var _this = this.cachedImages; if(__map_reserved[id] != null ? _this.existsReserved(id) : _this.h.hasOwnProperty(id)) { var _this1 = this.cachedImages; return lime_app_Future.withValue(__map_reserved[id] != null ? _this1.getReserved(id) : _this1.h[id]); } else { var _this2 = this.classTypes; if(__map_reserved[id] != null ? _this2.existsReserved(id) : _this2.h.hasOwnProperty(id)) { var _this3 = this.classTypes; return lime_app_Future.withValue(Type.createInstance(__map_reserved[id] != null ? _this3.getReserved(id) : _this3.h[id],[])); } else { var _this4 = this.paths; return lime_graphics_Image.loadFromFile(__map_reserved[id] != null ? _this4.getReserved(id) : _this4.h[id]); } } } ,loadText: function(id) { var _this = this.cachedText; if(__map_reserved[id] != null ? _this.existsReserved(id) : _this.h.hasOwnProperty(id)) { var _this1 = this.cachedText; return lime_app_Future.withValue(__map_reserved[id] != null ? _this1.getReserved(id) : _this1.h[id]); } else { var tmp; var _this2 = this.cachedBytes; if(!(__map_reserved[id] != null ? _this2.existsReserved(id) : _this2.h.hasOwnProperty(id))) { var _this3 = this.classTypes; if(__map_reserved[id] != null) { tmp = _this3.existsReserved(id); } else { tmp = _this3.h.hasOwnProperty(id); } } else { tmp = true; } if(tmp) { var bytes = this.getBytes(id); if(bytes == null) { return lime_app_Future.withValue(null); } else { var text = bytes.getString(0,bytes.length); var _this4 = this.cachedText; if(__map_reserved[id] != null) { _this4.setReserved(id,text); } else { _this4.h[id] = text; } return lime_app_Future.withValue(text); } } else { var request = new lime_net__$HTTPRequest_$String(); var _this5 = this.paths; return request.load(__map_reserved[id] != null ? _this5.getReserved(id) : _this5.h[id]); } } } ,unload: function() { } ,__assetLoaded: function(id) { this.assetsLoaded++; if(id != null) { var _this = this.types; lime_utils_Log.verbose("Loaded asset: " + id + " [" + (__map_reserved[id] != null ? _this.getReserved(id) : _this.h[id]) + "] (" + (this.assetsLoaded - 1) + "/" + (this.assetsTotal - 1) + ")",{ fileName : "AssetLibrary.hx", lineNumber : 699, className : "lime.utils.AssetLibrary", methodName : "__assetLoaded"}); } if(id != null) { var _this1 = this.sizes; var size = __map_reserved[id] != null ? _this1.getReserved(id) : _this1.h[id]; var _this2 = this.bytesLoadedCache; if(!(__map_reserved[id] != null ? _this2.existsReserved(id) : _this2.h.hasOwnProperty(id))) { this.bytesLoaded += size; } else { var _this3 = this.bytesLoadedCache; var cache = __map_reserved[id] != null ? _this3.getReserved(id) : _this3.h[id]; if(cache < size) { this.bytesLoaded += size - cache; } } var _this4 = this.bytesLoadedCache; if(__map_reserved[id] != null) { _this4.setReserved(id,size); } else { _this4.h[id] = size; } } if(this.assetsLoaded < this.assetsTotal) { this.promise.progress(this.bytesLoaded,this.bytesTotal); } else { this.loaded = true; this.promise.progress(this.bytesTotal,this.bytesTotal); this.promise.complete(this); } } ,__cacheBreak: function(path) { return lime_utils_Assets.__cacheBreak(path); } ,__fromManifest: function(manifest) { var hasSize = manifest.version >= 2; var size; var id; var pathGroup; var classRef; var basePath = manifest.rootPath; if(basePath == null) { basePath = ""; } if(basePath != "") { basePath += "/"; } var _g = 0; var _g1 = manifest.assets; while(_g < _g1.length) { var asset = _g1[_g]; ++_g; if(hasSize && Object.prototype.hasOwnProperty.call(asset,"size")) { size = asset.size; } else { size = 100; } id = asset.id; if(Object.prototype.hasOwnProperty.call(asset,"path")) { var this1 = this.paths; var value = this.__cacheBreak(basePath + Std.string(Reflect.field(asset,"path"))); var _this = this1; if(__map_reserved[id] != null) { _this.setReserved(id,value); } else { _this.h[id] = value; } } if(Object.prototype.hasOwnProperty.call(asset,"pathGroup")) { pathGroup = Reflect.field(asset,"pathGroup"); var _g3 = 0; var _g2 = pathGroup.length; while(_g3 < _g2) { var i = _g3++; pathGroup[i] = this.__cacheBreak(basePath + pathGroup[i]); } var _this1 = this.pathGroups; if(__map_reserved[id] != null) { _this1.setReserved(id,pathGroup); } else { _this1.h[id] = pathGroup; } } var _this2 = this.sizes; if(__map_reserved[id] != null) { _this2.setReserved(id,size); } else { _this2.h[id] = size; } var value1 = asset.type; var _this3 = this.types; if(__map_reserved[id] != null) { _this3.setReserved(id,value1); } else { _this3.h[id] = value1; } if(Object.prototype.hasOwnProperty.call(asset,"preload")) { var this2 = this.preload; var value2 = Reflect.field(asset,"preload"); var _this4 = this2; if(__map_reserved[id] != null) { _this4.setReserved(id,value2); } else { _this4.h[id] = value2; } } if(Object.prototype.hasOwnProperty.call(asset,"className")) { classRef = Type.resolveClass(Reflect.field(asset,"className")); var _this5 = this.classTypes; if(__map_reserved[id] != null) { _this5.setReserved(id,classRef); } else { _this5.h[id] = classRef; } } } this.bytesTotal = 0; var _g4 = 0; var _g11 = manifest.assets; while(_g4 < _g11.length) { var asset1 = _g11[_g4]; ++_g4; id = asset1.id; var tmp; var _this6 = this.preload; if(__map_reserved[id] != null ? _this6.existsReserved(id) : _this6.h.hasOwnProperty(id)) { var _this7 = this.preload; if(__map_reserved[id] != null) { tmp = _this7.getReserved(id); } else { tmp = _this7.h[id]; } } else { tmp = false; } if(tmp) { var _this8 = this.sizes; this.bytesTotal += __map_reserved[id] != null ? _this8.getReserved(id) : _this8.h[id]; } } } ,loadAudioBuffer_onComplete: function(id,audioBuffer) { var _this = this.cachedAudioBuffers; if(__map_reserved[id] != null) { _this.setReserved(id,audioBuffer); } else { _this.h[id] = audioBuffer; } var _this1 = this.pathGroups; if(__map_reserved[id] != null ? _this1.existsReserved(id) : _this1.h.hasOwnProperty(id)) { var _this2 = this.pathGroups; var pathGroup = __map_reserved[id] != null ? _this2.getReserved(id) : _this2.h[id]; var otherID = this.pathGroups.keys(); while(otherID.hasNext()) { var otherID1 = otherID.next(); if(otherID1 == id) { continue; } var _g = 0; while(_g < pathGroup.length) { var path = pathGroup[_g]; ++_g; var _this3 = this.pathGroups; if((__map_reserved[otherID1] != null ? _this3.getReserved(otherID1) : _this3.h[otherID1]).indexOf(path) > -1) { var _this4 = this.cachedAudioBuffers; if(__map_reserved[otherID1] != null) { _this4.setReserved(otherID1,audioBuffer); } else { _this4.h[otherID1] = audioBuffer; } break; } } } } this.__assetLoaded(id); } ,loadAudioBuffer_onError: function(id,message) { if(message != null && message != "") { lime_utils_Log.warn("Could not load \"" + id + "\": " + Std.string(message),{ fileName : "AssetLibrary.hx", lineNumber : 872, className : "lime.utils.AssetLibrary", methodName : "loadAudioBuffer_onError"}); } else { lime_utils_Log.warn("Could not load \"" + id + "\"",{ fileName : "AssetLibrary.hx", lineNumber : 876, className : "lime.utils.AssetLibrary", methodName : "loadAudioBuffer_onError"}); } this.loadAudioBuffer_onComplete(id,new lime_media_AudioBuffer()); } ,loadBytes_onComplete: function(id,bytes) { var _this = this.cachedBytes; if(__map_reserved[id] != null) { _this.setReserved(id,bytes); } else { _this.h[id] = bytes; } this.__assetLoaded(id); } ,loadFont_onComplete: function(id,font) { var _this = this.cachedFonts; if(__map_reserved[id] != null) { _this.setReserved(id,font); } else { _this.h[id] = font; } this.__assetLoaded(id); } ,loadImage_onComplete: function(id,image) { var _this = this.cachedImages; if(__map_reserved[id] != null) { _this.setReserved(id,image); } else { _this.h[id] = image; } this.__assetLoaded(id); } ,loadText_onComplete: function(id,text) { var _this = this.cachedText; if(__map_reserved[id] != null) { _this.setReserved(id,text); } else { _this.h[id] = text; } this.__assetLoaded(id); } ,load_onError: function(id,message) { if(message != null && message != "") { this.promise.error("Error loading asset \"" + id + "\": " + Std.string(message)); } else { this.promise.error("Error loading asset \"" + id + "\""); } } ,load_onProgress: function(id,bytesLoaded,bytesTotal) { if(bytesLoaded > 0) { var _this = this.sizes; var size = __map_reserved[id] != null ? _this.getReserved(id) : _this.h[id]; var percent; if(bytesTotal > 0) { percent = bytesLoaded / bytesTotal; if(percent > 1) { percent = 1; } bytesLoaded = Math.floor(percent * size); } else if(bytesLoaded > size) { bytesLoaded = size; } var _this1 = this.bytesLoadedCache; if(__map_reserved[id] != null ? _this1.existsReserved(id) : _this1.h.hasOwnProperty(id)) { var _this2 = this.bytesLoadedCache; var cache = __map_reserved[id] != null ? _this2.getReserved(id) : _this2.h[id]; if(bytesLoaded != cache) { this.bytesLoaded += bytesLoaded - cache; } } else { this.bytesLoaded += bytesLoaded; } var _this3 = this.bytesLoadedCache; if(__map_reserved[id] != null) { _this3.setReserved(id,bytesLoaded); } else { _this3.h[id] = bytesLoaded; } this.promise.progress(this.bytesLoaded,this.bytesTotal); } } ,__class__: lime_utils_AssetLibrary }; var lime_utils_AssetManifest = function() { this.assets = []; this.libraryArgs = []; this.version = 2; }; $hxClasses["lime.utils.AssetManifest"] = lime_utils_AssetManifest; lime_utils_AssetManifest.__name__ = ["lime","utils","AssetManifest"]; lime_utils_AssetManifest.fromBytes = function(bytes,rootPath) { if(bytes != null) { return lime_utils_AssetManifest.parse(bytes.getString(0,bytes.length),rootPath); } else { return null; } }; lime_utils_AssetManifest.fromFile = function(path,rootPath) { path = lime_utils_AssetManifest.__resolvePath(path); rootPath = lime_utils_AssetManifest.__resolveRootPath(rootPath,path); if(path == null) { return null; } return lime_utils_AssetManifest.fromBytes(lime_utils__$Bytes_Bytes_$Impl_$.fromFile(path),rootPath); }; lime_utils_AssetManifest.loadFromBytes = function(bytes,rootPath) { return lime_app_Future.withValue(lime_utils_AssetManifest.fromBytes(bytes,rootPath)); }; lime_utils_AssetManifest.loadFromFile = function(path,rootPath) { path = lime_utils_AssetManifest.__resolvePath(path); rootPath = lime_utils_AssetManifest.__resolveRootPath(rootPath,path); if(path == null) { return null; } return lime_utils__$Bytes_Bytes_$Impl_$.loadFromFile(path).then(function(bytes) { return lime_app_Future.withValue(lime_utils_AssetManifest.fromBytes(bytes,rootPath)); }); }; lime_utils_AssetManifest.parse = function(data,rootPath) { if(data == null || data == "") { return null; } var manifestData = JSON.parse(data); var manifest = new lime_utils_AssetManifest(); manifest.name = manifestData.name; manifest.libraryType = manifestData.libraryType; manifest.libraryArgs = manifestData.libraryArgs; manifest.assets = haxe_Unserializer.run(manifestData.assets); if(Object.prototype.hasOwnProperty.call(manifestData,"rootPath")) { manifest.rootPath = manifestData.rootPath; } if(rootPath != null && rootPath != "") { if(manifest.rootPath == null || manifest.rootPath == "") { manifest.rootPath = rootPath; } else { manifest.rootPath = rootPath + "/" + manifest.rootPath; } } return manifest; }; lime_utils_AssetManifest.__resolvePath = function(path) { if(path == null) { return null; } var queryIndex = path.indexOf("?"); var basePath; if(queryIndex > -1) { basePath = HxOverrides.substr(path,0,queryIndex); } else { basePath = path; } StringTools.replace(basePath,"\\","/"); while(StringTools.endsWith(basePath,"/")) basePath = HxOverrides.substr(basePath,0,basePath.length - 1); if(StringTools.endsWith(basePath,".bundle")) { if(queryIndex > -1) { return basePath + "/library.json" + HxOverrides.substr(path,queryIndex,null); } else { return basePath + "/library.json"; } } else { return path; } }; lime_utils_AssetManifest.__resolveRootPath = function(rootPath,path) { if(rootPath != null) { return rootPath; } var queryIndex = path.indexOf("?"); if(queryIndex > -1) { rootPath = HxOverrides.substr(path,0,queryIndex); } else { rootPath = path; } StringTools.replace(rootPath,"\\","/"); while(StringTools.endsWith(rootPath,"/")) { if(rootPath == "/") { return rootPath; } rootPath = HxOverrides.substr(rootPath,0,rootPath.length - 1); } if(StringTools.endsWith(rootPath,".bundle")) { return rootPath; } else { return haxe_io_Path.directory(rootPath); } }; lime_utils_AssetManifest.prototype = { assets: null ,libraryArgs: null ,libraryType: null ,name: null ,rootPath: null ,version: null ,serialize: function() { var manifestData = { }; manifestData.version = this.version; manifestData.libraryType = this.libraryType; manifestData.libraryArgs = this.libraryArgs; manifestData.name = this.name; manifestData.assets = haxe_Serializer.run(this.assets); manifestData.rootPath = this.rootPath; return JSON.stringify(manifestData); } ,__class__: lime_utils_AssetManifest }; var lime_utils_Assets = function() { }; $hxClasses["lime.utils.Assets"] = lime_utils_Assets; lime_utils_Assets.__name__ = ["lime","utils","Assets"]; lime_utils_Assets.defaultRootPath = null; lime_utils_Assets.exists = function(id,type) { if(type == null) { type = "BINARY"; } var symbol_symbolName; var symbol_libraryName; var symbol_library; var colonIndex = id.indexOf(":"); symbol_libraryName = id.substring(0,colonIndex); symbol_symbolName = id.substring(colonIndex + 1); symbol_library = lime_utils_Assets.getLibrary(symbol_libraryName); if(symbol_library != null) { return symbol_library.exists(symbol_symbolName,type); } return false; }; lime_utils_Assets.getAsset = function(id,type,useCache) { if(useCache && lime_utils_Assets.cache.enabled) { switch(type) { case "BINARY":case "TEXT": useCache = false; break; case "FONT": var font = lime_utils_Assets.cache.font.get(id); if(font != null) { return font; } break; case "IMAGE": var image = lime_utils_Assets.cache.image.get(id); if(lime_utils_Assets.isValidImage(image)) { return image; } break; case "MUSIC":case "SOUND": var audio = lime_utils_Assets.cache.audio.get(id); if(lime_utils_Assets.isValidAudio(audio)) { return audio; } break; case "TEMPLATE": throw new js__$Boot_HaxeError("Not sure how to get template: " + id); break; default: return null; } } var symbol_symbolName; var symbol_libraryName; var symbol_library; var colonIndex = id.indexOf(":"); symbol_libraryName = id.substring(0,colonIndex); symbol_symbolName = id.substring(colonIndex + 1); symbol_library = lime_utils_Assets.getLibrary(symbol_libraryName); if(symbol_library != null) { if(symbol_library.exists(symbol_symbolName,type)) { if(symbol_library.isLocal(symbol_symbolName,type)) { var asset = symbol_library.getAsset(symbol_symbolName,type); if(useCache && lime_utils_Assets.cache.enabled) { lime_utils_Assets.cache.set(id,type,asset); } return asset; } else { lime_utils_Log.error(type + " asset \"" + id + "\" exists, but only asynchronously",{ fileName : "Assets.hx", lineNumber : 160, className : "lime.utils.Assets", methodName : "getAsset"}); } } else { lime_utils_Log.error("There is no " + type + " asset with an ID of \"" + id + "\"",{ fileName : "Assets.hx", lineNumber : 166, className : "lime.utils.Assets", methodName : "getAsset"}); } } else { lime_utils_Log.error(lime_utils_Assets.__libraryNotFound(symbol_libraryName),{ fileName : "Assets.hx", lineNumber : 172, className : "lime.utils.Assets", methodName : "getAsset"}); } return null; }; lime_utils_Assets.getAudioBuffer = function(id,useCache) { if(useCache == null) { useCache = true; } return lime_utils_Assets.getAsset(id,"SOUND",useCache); }; lime_utils_Assets.getBytes = function(id) { return lime_utils_Assets.getAsset(id,"BINARY",false); }; lime_utils_Assets.getFont = function(id,useCache) { if(useCache == null) { useCache = true; } return lime_utils_Assets.getAsset(id,"FONT",useCache); }; lime_utils_Assets.getImage = function(id,useCache) { if(useCache == null) { useCache = true; } return lime_utils_Assets.getAsset(id,"IMAGE",useCache); }; lime_utils_Assets.getLibrary = function(name) { if(name == null || name == "") { name = "default"; } var _this = lime_utils_Assets.libraries; if(__map_reserved[name] != null) { return _this.getReserved(name); } else { return _this.h[name]; } }; lime_utils_Assets.getPath = function(id) { var symbol_symbolName; var symbol_libraryName; var symbol_library; var colonIndex = id.indexOf(":"); symbol_libraryName = id.substring(0,colonIndex); symbol_symbolName = id.substring(colonIndex + 1); symbol_library = lime_utils_Assets.getLibrary(symbol_libraryName); if(symbol_library != null) { if(symbol_library.exists(symbol_symbolName,null)) { return symbol_library.getPath(symbol_symbolName); } else { lime_utils_Log.error("There is no asset with an ID of \"" + id + "\"",{ fileName : "Assets.hx", lineNumber : 269, className : "lime.utils.Assets", methodName : "getPath"}); } } else { lime_utils_Log.error(lime_utils_Assets.__libraryNotFound(symbol_libraryName),{ fileName : "Assets.hx", lineNumber : 275, className : "lime.utils.Assets", methodName : "getPath"}); } return null; }; lime_utils_Assets.getText = function(id) { return lime_utils_Assets.getAsset(id,"TEXT",false); }; lime_utils_Assets.hasLibrary = function(name) { if(name == null || name == "") { name = "default"; } var _this = lime_utils_Assets.libraries; if(__map_reserved[name] != null) { return _this.existsReserved(name); } else { return _this.h.hasOwnProperty(name); } }; lime_utils_Assets.isLocal = function(id,type,useCache) { if(useCache == null) { useCache = true; } if(useCache && lime_utils_Assets.cache.enabled) { if(lime_utils_Assets.cache.exists(id,type)) { return true; } } var symbol_symbolName; var symbol_libraryName; var symbol_library; var colonIndex = id.indexOf(":"); symbol_libraryName = id.substring(0,colonIndex); symbol_symbolName = id.substring(colonIndex + 1); symbol_library = lime_utils_Assets.getLibrary(symbol_libraryName); if(symbol_library != null) { return symbol_library.isLocal(symbol_symbolName,type); } else { return false; } }; lime_utils_Assets.isValidAudio = function(buffer) { return buffer != null; }; lime_utils_Assets.isValidImage = function(image) { if(image != null) { return image.buffer != null; } else { return false; } }; lime_utils_Assets.list = function(type) { var items = []; var _this = lime_utils_Assets.libraries; var library = new haxe_ds__$StringMap_StringMapIterator(_this,_this.arrayKeys()); while(library.hasNext()) { var library1 = library.next(); var libraryItems = library1.list(type); if(libraryItems != null) { items = items.concat(libraryItems); } } return items; }; lime_utils_Assets.loadAsset = function(id,type,useCache) { if(useCache && lime_utils_Assets.cache.enabled) { switch(type) { case "BINARY":case "TEXT": useCache = false; break; case "FONT": var font = lime_utils_Assets.cache.font.get(id); if(font != null) { return lime_app_Future.withValue(font); } break; case "IMAGE": var image = lime_utils_Assets.cache.image.get(id); if(lime_utils_Assets.isValidImage(image)) { return lime_app_Future.withValue(image); } break; case "MUSIC":case "SOUND": var audio = lime_utils_Assets.cache.audio.get(id); if(lime_utils_Assets.isValidAudio(audio)) { return lime_app_Future.withValue(audio); } break; case "TEMPLATE": throw new js__$Boot_HaxeError("Not sure how to get template: " + id); break; default: return null; } } var symbol_symbolName; var symbol_libraryName; var symbol_library; var colonIndex = id.indexOf(":"); symbol_libraryName = id.substring(0,colonIndex); symbol_symbolName = id.substring(colonIndex + 1); symbol_library = lime_utils_Assets.getLibrary(symbol_libraryName); if(symbol_library != null) { if(symbol_library.exists(symbol_symbolName,type)) { var future = symbol_library.loadAsset(symbol_symbolName,type); if(useCache && lime_utils_Assets.cache.enabled) { future.onComplete(function(asset) { lime_utils_Assets.cache.set(id,type,asset); }); } return future; } else { return lime_app_Future.withError("There is no " + type + " asset with an ID of \"" + id + "\""); } } else { return lime_app_Future.withError(lime_utils_Assets.__libraryNotFound(symbol_libraryName)); } }; lime_utils_Assets.loadAudioBuffer = function(id,useCache) { if(useCache == null) { useCache = true; } return lime_utils_Assets.loadAsset(id,"SOUND",useCache); }; lime_utils_Assets.loadBytes = function(id) { return lime_utils_Assets.loadAsset(id,"BINARY",false); }; lime_utils_Assets.loadFont = function(id,useCache) { if(useCache == null) { useCache = true; } return lime_utils_Assets.loadAsset(id,"FONT",useCache); }; lime_utils_Assets.loadImage = function(id,useCache) { if(useCache == null) { useCache = true; } return lime_utils_Assets.loadAsset(id,"IMAGE",useCache); }; lime_utils_Assets.loadLibrary = function(id) { var promise = new lime_app_Promise(); var library = lime_utils_Assets.getLibrary(id); if(library != null) { return library.load(); } var path = id; var rootPath = null; var _this = lime_utils_Assets.libraryPaths; if(__map_reserved[id] != null ? _this.existsReserved(id) : _this.h.hasOwnProperty(id)) { var _this1 = lime_utils_Assets.libraryPaths; if(__map_reserved[id] != null) { path = _this1.getReserved(id); } else { path = _this1.h[id]; } rootPath = lime_utils_Assets.defaultRootPath; } else { if(StringTools.endsWith(path,".bundle")) { path += "/library.json"; } path = lime_utils_Assets.__cacheBreak(path); } lime_utils_AssetManifest.loadFromFile(path,rootPath).onComplete(function(manifest) { if(manifest == null) { promise.error("Cannot parse asset manifest for library \"" + id + "\""); return; } var library1 = lime_utils_AssetLibrary.fromManifest(manifest); if(library1 == null) { promise.error("Cannot open library \"" + id + "\""); } else { var _this2 = lime_utils_Assets.libraries; if(__map_reserved[id] != null) { _this2.setReserved(id,library1); } else { _this2.h[id] = library1; } library1.onChange.add(($_=lime_utils_Assets.onChange,$bind($_,$_.dispatch))); var tmp = library1.load(); promise.completeWith(tmp); } }).onError(function(_) { promise.error("There is no asset library with an ID of \"" + id + "\""); }); return promise.future; }; lime_utils_Assets.loadText = function(id) { return lime_utils_Assets.loadAsset(id,"TEXT",false); }; lime_utils_Assets.registerLibrary = function(name,library) { var _this = lime_utils_Assets.libraries; if(__map_reserved[name] != null ? _this.existsReserved(name) : _this.h.hasOwnProperty(name)) { var _this1 = lime_utils_Assets.libraries; if((__map_reserved[name] != null ? _this1.getReserved(name) : _this1.h[name]) == library) { return; } else { lime_utils_Assets.unloadLibrary(name); } } if(library != null) { library.onChange.add(lime_utils_Assets.library_onChange); } var _this2 = lime_utils_Assets.libraries; if(__map_reserved[name] != null) { _this2.setReserved(name,library); } else { _this2.h[name] = library; } }; lime_utils_Assets.unloadLibrary = function(name) { var _this = lime_utils_Assets.libraries; var library = __map_reserved[name] != null ? _this.getReserved(name) : _this.h[name]; if(library != null) { lime_utils_Assets.cache.clear(name + ":"); library.onChange.remove(lime_utils_Assets.library_onChange); library.unload(); } lime_utils_Assets.libraries.remove(name); }; lime_utils_Assets.__cacheBreak = function(path) { if(lime_utils_Assets.cache.version > 0) { if(path.indexOf("?") > -1) { path += "&" + lime_utils_Assets.cache.version; } else { path += "?" + lime_utils_Assets.cache.version; } } return path; }; lime_utils_Assets.__libraryNotFound = function(name) { if(name == null || name == "") { name = "default"; } if(lime_app_Application.current != null && lime_app_Application.current.__preloader != null && !lime_app_Application.current.__preloader.complete) { return "There is no asset library named \"" + name + "\", or it is not yet preloaded"; } else { return "There is no asset library named \"" + name + "\""; } }; lime_utils_Assets.library_onChange = function() { lime_utils_Assets.cache.clear(); lime_utils_Assets.onChange.dispatch(); }; var lime_utils__$Assets_LibrarySymbol = function(id) { var colonIndex = id.indexOf(":"); this.libraryName = id.substring(0,colonIndex); this.symbolName = id.substring(colonIndex + 1); this.library = lime_utils_Assets.getLibrary(this.libraryName); }; $hxClasses["lime.utils._Assets.LibrarySymbol"] = lime_utils__$Assets_LibrarySymbol; lime_utils__$Assets_LibrarySymbol.__name__ = ["lime","utils","_Assets","LibrarySymbol"]; lime_utils__$Assets_LibrarySymbol.prototype = { library: null ,libraryName: null ,symbolName: null ,isLocal: function(type) { return this.library.isLocal(this.symbolName,type); } ,exists: function(type) { return this.library.exists(this.symbolName,type); } ,__class__: lime_utils__$Assets_LibrarySymbol }; var lime_utils__$BytePointer_BytePointer_$Impl_$ = {}; $hxClasses["lime.utils._BytePointer.BytePointer_Impl_"] = lime_utils__$BytePointer_BytePointer_$Impl_$; lime_utils__$BytePointer_BytePointer_$Impl_$.__name__ = ["lime","utils","_BytePointer","BytePointer_Impl_"]; lime_utils__$BytePointer_BytePointer_$Impl_$._new = function(bytes,offset) { if(offset == null) { offset = 0; } var this1 = new lime_utils_BytePointerData(bytes,offset); return this1; }; lime_utils__$BytePointer_BytePointer_$Impl_$.set = function(this1,bytes,bufferView,buffer,offset) { if(buffer != null) { bytes = haxe_io_Bytes.ofData(buffer); } if(bytes != null || bufferView == null) { this1.bytes = bytes; this1.offset = offset != null ? offset : 0; } else { this1.bytes = haxe_io_Bytes.ofData(bufferView.buffer); this1.offset = offset != null ? bufferView.byteOffset + offset : bufferView.byteOffset; } }; lime_utils__$BytePointer_BytePointer_$Impl_$.__arrayGet = function(this1,index) { if(this1.bytes != null) { return this1.bytes.b[index + this1.offset]; } else { return 0; } }; lime_utils__$BytePointer_BytePointer_$Impl_$.__arraySet = function(this1,index,value) { if(this1.bytes == null) { this1.bytes.b[index + this1.offset] = value & 255; } return value; }; lime_utils__$BytePointer_BytePointer_$Impl_$.fromArrayBufferView = function(arrayBufferView) { if(arrayBufferView == null) { return null; } return new lime_utils_BytePointerData(haxe_io_Bytes.ofData(arrayBufferView.buffer),arrayBufferView.byteOffset); }; lime_utils__$BytePointer_BytePointer_$Impl_$.fromArrayBuffer = function(buffer) { if(buffer == null) { return null; } return new lime_utils_BytePointerData(haxe_io_Bytes.ofData(buffer),0); }; lime_utils__$BytePointer_BytePointer_$Impl_$.fromBytes = function(bytes) { return new lime_utils_BytePointerData(bytes,0); }; lime_utils__$BytePointer_BytePointer_$Impl_$.fromBytesData = function(bytesData) { if(bytesData == null) { return new lime_utils_BytePointerData(null,0); } else { return new lime_utils_BytePointerData(haxe_io_Bytes.ofData(bytesData),0); } }; lime_utils__$BytePointer_BytePointer_$Impl_$.fromFile = function(path) { return new lime_utils_BytePointerData(lime_utils__$Bytes_Bytes_$Impl_$.fromFile(path),0); }; lime_utils__$BytePointer_BytePointer_$Impl_$.fromLimeBytes = function(bytes) { return new lime_utils_BytePointerData(bytes,0); }; lime_utils__$BytePointer_BytePointer_$Impl_$.toUInt8Array = function(bytePointer) { var buffer = bytePointer.bytes.b.bufferValue; var byteoffset = bytePointer.offset / 8 | 0; var this1; if(buffer != null) { this1 = new Uint8Array(buffer,byteoffset); } else { this1 = null; } return this1; }; lime_utils__$BytePointer_BytePointer_$Impl_$.toUInt8ClampedArray = function(bytePointer) { if(bytePointer == null || bytePointer.bytes == null) { return null; } var buffer = bytePointer.bytes.b.bufferValue; var byteoffset = bytePointer.offset / 8 | 0; var this1; if(buffer != null) { this1 = new Uint8ClampedArray(buffer,byteoffset); } else { this1 = null; } return this1; }; lime_utils__$BytePointer_BytePointer_$Impl_$.toInt8Array = function(bytePointer) { if(bytePointer == null || bytePointer.bytes == null) { return null; } var buffer = bytePointer.bytes.b.bufferValue; var byteoffset = bytePointer.offset / 8 | 0; var this1; if(buffer != null) { this1 = new Int8Array(buffer,byteoffset); } else { this1 = null; } return this1; }; lime_utils__$BytePointer_BytePointer_$Impl_$.toUInt16Array = function(bytePointer) { if(bytePointer == null || bytePointer.bytes == null) { return null; } var buffer = bytePointer.bytes.b.bufferValue; var byteoffset = bytePointer.offset / 16 | 0; var this1; if(buffer != null) { this1 = new Uint16Array(buffer,byteoffset); } else { this1 = null; } return this1; }; lime_utils__$BytePointer_BytePointer_$Impl_$.toInt16Array = function(bytePointer) { if(bytePointer == null || bytePointer.bytes == null) { return null; } var buffer = bytePointer.bytes.b.bufferValue; var byteoffset = bytePointer.offset / 16 | 0; var this1; if(buffer != null) { this1 = new Int16Array(buffer,byteoffset); } else { this1 = null; } return this1; }; lime_utils__$BytePointer_BytePointer_$Impl_$.toUInt32Array = function(bytePointer) { if(bytePointer == null || bytePointer.bytes == null) { return null; } var buffer = bytePointer.bytes.b.bufferValue; var byteoffset = bytePointer.offset / 32 | 0; var this1; if(buffer != null) { this1 = new Uint32Array(buffer,byteoffset); } else { this1 = null; } return this1; }; lime_utils__$BytePointer_BytePointer_$Impl_$.toInt32Array = function(bytePointer) { if(bytePointer == null || bytePointer.bytes == null) { return null; } var buffer = bytePointer.bytes.b.bufferValue; var byteoffset = bytePointer.offset / 32 | 0; var this1; if(buffer != null) { this1 = new Int32Array(buffer,byteoffset); } else { this1 = null; } return this1; }; lime_utils__$BytePointer_BytePointer_$Impl_$.toFloat32Array = function(bytePointer) { if(bytePointer == null || bytePointer.bytes == null) { return null; } var buffer = bytePointer.bytes.b.bufferValue; var byteoffset = bytePointer.offset / 32 | 0; var this1; if(buffer != null) { this1 = new Float32Array(buffer,byteoffset); } else { this1 = null; } return this1; }; lime_utils__$BytePointer_BytePointer_$Impl_$.toFloat64Array = function(bytePointer) { if(bytePointer == null || bytePointer.bytes == null) { return null; } var buffer = bytePointer.bytes.b.bufferValue; var byteoffset = bytePointer.offset / 64 | 0; var this1; if(buffer != null) { this1 = new Float64Array(buffer,byteoffset); } else { this1 = null; } return this1; }; var lime_utils_BytePointerData = function(bytes,offset) { this.bytes = bytes; this.offset = offset; }; $hxClasses["lime.utils.BytePointerData"] = lime_utils_BytePointerData; lime_utils_BytePointerData.__name__ = ["lime","utils","BytePointerData"]; lime_utils_BytePointerData.prototype = { bytes: null ,offset: null ,__class__: lime_utils_BytePointerData }; var lime_utils__$Bytes_Bytes_$Impl_$ = {}; $hxClasses["lime.utils._Bytes.Bytes_Impl_"] = lime_utils__$Bytes_Bytes_$Impl_$; lime_utils__$Bytes_Bytes_$Impl_$.__name__ = ["lime","utils","_Bytes","Bytes_Impl_"]; lime_utils__$Bytes_Bytes_$Impl_$._new = function(length,bytesData) { var this1 = new haxe_io_Bytes(bytesData); return this1; }; lime_utils__$Bytes_Bytes_$Impl_$.alloc = function(length) { return new haxe_io_Bytes(new ArrayBuffer(length)); }; lime_utils__$Bytes_Bytes_$Impl_$.compress = function(this1,algorithm) { switch(algorithm[1]) { case 0: return lime__$internal_format_Deflate.compress(this1); case 1: return lime__$internal_format_GZip.compress(this1); case 2: return lime__$internal_format_LZMA.compress(this1); case 3: return lime__$internal_format_Zlib.compress(this1); } }; lime_utils__$Bytes_Bytes_$Impl_$.decompress = function(this1,algorithm) { switch(algorithm[1]) { case 0: return lime__$internal_format_Deflate.decompress(this1); case 1: return lime__$internal_format_GZip.decompress(this1); case 2: return lime__$internal_format_LZMA.decompress(this1); case 3: return lime__$internal_format_Zlib.decompress(this1); } }; lime_utils__$Bytes_Bytes_$Impl_$.fastGet = function(b,pos) { return b.bytes[pos]; }; lime_utils__$Bytes_Bytes_$Impl_$.fromBytes = function(bytes) { if(bytes == null) { return null; } return lime_utils__$Bytes_Bytes_$Impl_$._new(bytes.length,bytes.b.bufferValue); }; lime_utils__$Bytes_Bytes_$Impl_$.fromFile = function(path) { return null; }; lime_utils__$Bytes_Bytes_$Impl_$.loadFromBytes = function(bytes) { return lime_app_Future.withValue(lime_utils__$Bytes_Bytes_$Impl_$.fromBytes(bytes)); }; lime_utils__$Bytes_Bytes_$Impl_$.loadFromFile = function(path) { var request = new lime_net__$HTTPRequest_$lime_$utils_$Bytes(); return request.load(path); }; lime_utils__$Bytes_Bytes_$Impl_$.ofData = function(b) { var bytes = haxe_io_Bytes.ofData(b); return lime_utils__$Bytes_Bytes_$Impl_$._new(bytes.length,bytes.b.bufferValue); }; lime_utils__$Bytes_Bytes_$Impl_$.ofString = function(s) { var bytes = haxe_io_Bytes.ofString(s); return lime_utils__$Bytes_Bytes_$Impl_$._new(bytes.length,bytes.b.bufferValue); }; var lime_utils_CompressionAlgorithm = $hxClasses["lime.utils.CompressionAlgorithm"] = { __ename__ : ["lime","utils","CompressionAlgorithm"], __constructs__ : ["DEFLATE","GZIP","LZMA","ZLIB"] }; lime_utils_CompressionAlgorithm.DEFLATE = ["DEFLATE",0]; lime_utils_CompressionAlgorithm.DEFLATE.toString = $estr; lime_utils_CompressionAlgorithm.DEFLATE.__enum__ = lime_utils_CompressionAlgorithm; lime_utils_CompressionAlgorithm.GZIP = ["GZIP",1]; lime_utils_CompressionAlgorithm.GZIP.toString = $estr; lime_utils_CompressionAlgorithm.GZIP.__enum__ = lime_utils_CompressionAlgorithm; lime_utils_CompressionAlgorithm.LZMA = ["LZMA",2]; lime_utils_CompressionAlgorithm.LZMA.toString = $estr; lime_utils_CompressionAlgorithm.LZMA.__enum__ = lime_utils_CompressionAlgorithm; lime_utils_CompressionAlgorithm.ZLIB = ["ZLIB",3]; lime_utils_CompressionAlgorithm.ZLIB.toString = $estr; lime_utils_CompressionAlgorithm.ZLIB.__enum__ = lime_utils_CompressionAlgorithm; var lime_utils__$DataPointer_DataPointer_$Impl_$ = {}; $hxClasses["lime.utils._DataPointer.DataPointer_Impl_"] = lime_utils__$DataPointer_DataPointer_$Impl_$; lime_utils__$DataPointer_DataPointer_$Impl_$.__name__ = ["lime","utils","_DataPointer","DataPointer_Impl_"]; lime_utils__$DataPointer_DataPointer_$Impl_$._new = function(data) { var this1 = data; return this1; }; lime_utils__$DataPointer_DataPointer_$Impl_$.fromInt = function(value) { return lime_utils__$DataPointer_DataPointer_$Impl_$._new(new lime_utils_DataPointerObject(null,null,value)); }; lime_utils__$DataPointer_DataPointer_$Impl_$.fromFloat = function(value) { return lime_utils__$DataPointer_DataPointer_$Impl_$._new(new lime_utils_DataPointerObject(null,null,value | 0)); }; lime_utils__$DataPointer_DataPointer_$Impl_$.fromBytesPointer = function(pointer) { return lime_utils__$DataPointer_DataPointer_$Impl_$._new(new lime_utils_DataPointerObject(null,pointer.bytes.b.bufferValue,pointer.offset)); }; lime_utils__$DataPointer_DataPointer_$Impl_$.fromArrayBufferView = function(arrayBufferView) { return lime_utils__$DataPointer_DataPointer_$Impl_$._new(new lime_utils_DataPointerObject(arrayBufferView)); }; lime_utils__$DataPointer_DataPointer_$Impl_$.fromArrayBuffer = function(buffer) { return lime_utils__$DataPointer_DataPointer_$Impl_$._new(new lime_utils_DataPointerObject(null,buffer)); }; lime_utils__$DataPointer_DataPointer_$Impl_$.fromBytes = function(bytes) { return lime_utils__$DataPointer_DataPointer_$Impl_$.fromArrayBuffer(bytes.b.bufferValue); }; lime_utils__$DataPointer_DataPointer_$Impl_$.fromBytesData = function(bytesData) { return lime_utils__$DataPointer_DataPointer_$Impl_$.fromArrayBuffer(bytesData); }; lime_utils__$DataPointer_DataPointer_$Impl_$.fromLimeBytes = function(bytes) { return lime_utils__$DataPointer_DataPointer_$Impl_$.fromBytes(bytes); }; lime_utils__$DataPointer_DataPointer_$Impl_$.fromCFFIPointer = function(pointer) { return null; }; lime_utils__$DataPointer_DataPointer_$Impl_$.fromFile = function(path) { return null; }; lime_utils__$DataPointer_DataPointer_$Impl_$.toBufferOrBufferView = function(this1,length) { var data = this1; if (!data) return null; var _g = data.type; switch(_g[1]) { case 0: if(length == null) { length = data.buffer.byteLength; } if(data.offset == 0 && length == data.buffer.byteLength) { return data.buffer; } else { var buffer = data.buffer; var byteoffset = data.offset; var this2; if(buffer != null) { if(length == null) { this2 = new Uint8Array(buffer,byteoffset); } else { this2 = new Uint8Array(buffer,byteoffset,length); } } else { this2 = null; } return this2; } break; case 1: if(length == null) { length = data.bufferView.byteLength; } if(data.offset == 0 && length == data.bufferView.byteLength) { return data.bufferView; } else { var buffer1 = data.bufferView.buffer; var byteoffset1 = data.bufferView.byteOffset + data.offset; var this3; if(buffer1 != null) { if(length == null) { this3 = new Uint8Array(buffer1,byteoffset1); } else { this3 = new Uint8Array(buffer1,byteoffset1,length); } } else { this3 = null; } return this3; } break; default: return null; } }; lime_utils__$DataPointer_DataPointer_$Impl_$.toBufferView = function(this1,length) { var data = this1; if (!data) return null; var _g = data.type; switch(_g[1]) { case 0: if(length == null) { length = data.buffer.byteLength; } var buffer = data.buffer; var byteoffset = data.offset; var this2; if(buffer != null) { if(length == null) { this2 = new Uint8Array(buffer,byteoffset); } else { this2 = new Uint8Array(buffer,byteoffset,length); } } else { this2 = null; } return this2; case 1: if(length == null) { length = data.bufferView.byteLength; } if(data.offset == 0 && length == data.bufferView.byteLength) { return data.bufferView; } else { var buffer1 = data.bufferView.buffer; var byteoffset1 = data.bufferView.byteOffset + data.offset; var this3; if(buffer1 != null) { if(length == null) { this3 = new Uint8Array(buffer1,byteoffset1); } else { this3 = new Uint8Array(buffer1,byteoffset1,length); } } else { this3 = null; } return this3; } break; default: return null; } }; lime_utils__$DataPointer_DataPointer_$Impl_$.toFloat32Array = function(this1,length) { var data = this1; if (!data) return null; var _g = data.type; switch(_g[1]) { case 0: if(length == null) { length = data.buffer.byteLength; } var buffer = data.buffer; var byteoffset = data.offset; var len = length / 4 | 0; var this2; if(buffer != null) { if(len == null) { this2 = new Float32Array(buffer,byteoffset); } else { this2 = new Float32Array(buffer,byteoffset,len); } } else { this2 = null; } return this2; case 1: if(length == null) { length = data.bufferView.byteLength; } if(data.offset == 0 && length == data.bufferView.byteLength && data.bufferView.constructor == Float32Array) { return data.bufferView; } else { if(length > data.bufferView.byteLength) { length = data.bufferView.byteLength; } var buffer1 = data.bufferView.buffer; var byteoffset1 = data.bufferView.byteOffset + data.offset; var len1 = length / 4 | 0; var this3; if(buffer1 != null) { if(len1 == null) { this3 = new Float32Array(buffer1,byteoffset1); } else { this3 = new Float32Array(buffer1,byteoffset1,len1); } } else { this3 = null; } return this3; } break; default: return null; } }; lime_utils__$DataPointer_DataPointer_$Impl_$.toInt32Array = function(this1,length) { var data = this1; if (!data) return null; var _g = data.type; switch(_g[1]) { case 0: if(length == null) { length = data.buffer.byteLength; } var buffer = data.buffer; var byteoffset = data.offset; var len = length / 4 | 0; var this2; if(buffer != null) { if(len == null) { this2 = new Int32Array(buffer,byteoffset); } else { this2 = new Int32Array(buffer,byteoffset,len); } } else { this2 = null; } return this2; case 1: if(length == null) { length = data.bufferView.byteLength; } if(data.offset == 0 && length == data.bufferView.byteLength && data.bufferView.constructor == Int32Array) { return data.bufferView; } else { var buffer1 = data.bufferView.buffer; var byteoffset1 = data.bufferView.byteOffset + data.offset; var len1 = length / 4 | 0; var this3; if(buffer1 != null) { if(len1 == null) { this3 = new Int32Array(buffer1,byteoffset1); } else { this3 = new Int32Array(buffer1,byteoffset1,len1); } } else { this3 = null; } return this3; } break; default: return null; } }; lime_utils__$DataPointer_DataPointer_$Impl_$.toUInt8Array = function(this1,length) { var data = this1; if (!data) return null; var _g = data.type; switch(_g[1]) { case 0: if(length == null) { length = data.buffer.byteLength; } var buffer = data.buffer; var byteoffset = data.offset; var this2; if(buffer != null) { if(length == null) { this2 = new Uint8Array(buffer,byteoffset); } else { this2 = new Uint8Array(buffer,byteoffset,length); } } else { this2 = null; } return this2; case 1: if(length == null) { length = data.bufferView.byteLength; } if(data.offset == 0 && length == data.bufferView.byteLength && data.bufferView.constructor == Uint8Array) { return data.bufferView; } else { var buffer1 = data.bufferView.buffer; var byteoffset1 = data.bufferView.byteOffset + data.offset; var this3; if(buffer1 != null) { if(length == null) { this3 = new Uint8Array(buffer1,byteoffset1); } else { this3 = new Uint8Array(buffer1,byteoffset1,length); } } else { this3 = null; } return this3; } break; default: return null; } }; lime_utils__$DataPointer_DataPointer_$Impl_$.toUInt32Array = function(this1,length) { var data = this1; if (!data) return null; var _g = data.type; switch(_g[1]) { case 0: if(length == null) { length = data.buffer.byteLength; } var buffer = data.buffer; var byteoffset = data.offset; var len = length / 4 | 0; var this2; if(buffer != null) { if(len == null) { this2 = new Uint32Array(buffer,byteoffset); } else { this2 = new Uint32Array(buffer,byteoffset,len); } } else { this2 = null; } return this2; case 1: if(length == null) { length = data.bufferView.byteLength; } if(data.offset == 0 && length == data.bufferView.byteLength && data.bufferView.constructor == Uint32Array) { return data.bufferView; } else { var buffer1 = data.bufferView.buffer; var byteoffset1 = data.bufferView.byteOffset + data.offset; var len1 = length / 4 | 0; var this3; if(buffer1 != null) { if(len1 == null) { this3 = new Uint32Array(buffer1,byteoffset1); } else { this3 = new Uint32Array(buffer1,byteoffset1,len1); } } else { this3 = null; } return this3; } break; default: return null; } }; lime_utils__$DataPointer_DataPointer_$Impl_$.toValue = function(this1) { var data = this1; if (!data) return 0; if (typeof data === 'number') return data; var _g = data.type; if(_g[1] == 2) { return data.offset; } else { return 0; } }; lime_utils__$DataPointer_DataPointer_$Impl_$.__withOffset = function(data,offset) { return null; }; lime_utils__$DataPointer_DataPointer_$Impl_$.equals = function(a,b) { return a == b; }; lime_utils__$DataPointer_DataPointer_$Impl_$.equalsPointer = function(a,b) { return a == b; }; lime_utils__$DataPointer_DataPointer_$Impl_$.greaterThan = function(a,b) { return a > b; }; lime_utils__$DataPointer_DataPointer_$Impl_$.greaterThanPointer = function(a,b) { return lime_system__$CFFIPointer_CFFIPointer_$Impl_$.get(a) > lime_system__$CFFIPointer_CFFIPointer_$Impl_$.get(b); }; lime_utils__$DataPointer_DataPointer_$Impl_$.greaterThanOrEqual = function(a,b) { return a >= b; }; lime_utils__$DataPointer_DataPointer_$Impl_$.greaterThanOrEqualPointer = function(a,b) { return lime_system__$CFFIPointer_CFFIPointer_$Impl_$.get(a) >= lime_system__$CFFIPointer_CFFIPointer_$Impl_$.get(b); }; lime_utils__$DataPointer_DataPointer_$Impl_$.lessThan = function(a,b) { return a < b; }; lime_utils__$DataPointer_DataPointer_$Impl_$.lessThanPointer = function(a,b) { return lime_system__$CFFIPointer_CFFIPointer_$Impl_$.get(a) < lime_system__$CFFIPointer_CFFIPointer_$Impl_$.get(b); }; lime_utils__$DataPointer_DataPointer_$Impl_$.lessThanOrEqual = function(a,b) { return a <= b; }; lime_utils__$DataPointer_DataPointer_$Impl_$.lessThanOrEqualPointer = function(a,b) { return lime_system__$CFFIPointer_CFFIPointer_$Impl_$.get(a) <= lime_system__$CFFIPointer_CFFIPointer_$Impl_$.get(b); }; lime_utils__$DataPointer_DataPointer_$Impl_$.notEquals = function(a,b) { return a != b; }; lime_utils__$DataPointer_DataPointer_$Impl_$.notEqualsPointer = function(a,b) { return a != b; }; lime_utils__$DataPointer_DataPointer_$Impl_$.plus = function(a,b) { return lime_utils__$DataPointer_DataPointer_$Impl_$.__withOffset(a,b); }; lime_utils__$DataPointer_DataPointer_$Impl_$.plusPointer = function(a,b) { return lime_utils__$DataPointer_DataPointer_$Impl_$.__withOffset(a,b | 0); }; lime_utils__$DataPointer_DataPointer_$Impl_$.minus = function(a,b) { return lime_utils__$DataPointer_DataPointer_$Impl_$.__withOffset(a,-b); }; lime_utils__$DataPointer_DataPointer_$Impl_$.minusPointer = function(a,b) { return lime_utils__$DataPointer_DataPointer_$Impl_$.__withOffset(a,-(b | 0)); }; var lime_utils_DataPointerObject = function(bufferView,buffer,offset) { if(offset == null) { offset = 0; } if(bufferView != null) { this.bufferView = bufferView; this.type = lime_utils_DataPointerObjectType.BUFFER_VIEW; } else if(buffer != null) { this.buffer = buffer; this.type = lime_utils_DataPointerObjectType.BUFFER; } else { this.type = lime_utils_DataPointerObjectType.VALUE; } this.offset = offset; }; $hxClasses["lime.utils.DataPointerObject"] = lime_utils_DataPointerObject; lime_utils_DataPointerObject.__name__ = ["lime","utils","DataPointerObject"]; lime_utils_DataPointerObject.prototype = { buffer: null ,bufferView: null ,offset: null ,type: null ,__class__: lime_utils_DataPointerObject }; var lime_utils_DataPointerObjectType = $hxClasses["lime.utils.DataPointerObjectType"] = { __ename__ : ["lime","utils","DataPointerObjectType"], __constructs__ : ["BUFFER","BUFFER_VIEW","VALUE"] }; lime_utils_DataPointerObjectType.BUFFER = ["BUFFER",0]; lime_utils_DataPointerObjectType.BUFFER.toString = $estr; lime_utils_DataPointerObjectType.BUFFER.__enum__ = lime_utils_DataPointerObjectType; lime_utils_DataPointerObjectType.BUFFER_VIEW = ["BUFFER_VIEW",1]; lime_utils_DataPointerObjectType.BUFFER_VIEW.toString = $estr; lime_utils_DataPointerObjectType.BUFFER_VIEW.__enum__ = lime_utils_DataPointerObjectType; lime_utils_DataPointerObjectType.VALUE = ["VALUE",2]; lime_utils_DataPointerObjectType.VALUE.toString = $estr; lime_utils_DataPointerObjectType.VALUE.__enum__ = lime_utils_DataPointerObjectType; var lime_utils__$Float32Array_Float32Array_$Impl_$ = {}; $hxClasses["lime.utils._Float32Array.Float32Array_Impl_"] = lime_utils__$Float32Array_Float32Array_$Impl_$; lime_utils__$Float32Array_Float32Array_$Impl_$.__name__ = ["lime","utils","_Float32Array","Float32Array_Impl_"]; lime_utils__$Float32Array_Float32Array_$Impl_$.fromBytes = function(bytes,byteOffset,len) { if(byteOffset == null) { byteOffset = 0; } if(byteOffset == null) { return new Float32Array(bytes.b.bufferValue); } if(len == null) { return new Float32Array(bytes.b.bufferValue,byteOffset); } return new Float32Array(bytes.b.bufferValue,byteOffset,len); }; lime_utils__$Float32Array_Float32Array_$Impl_$.toBytes = function(this1) { return new haxe_io_Bytes(new Uint8Array(this1.buffer)); }; lime_utils__$Float32Array_Float32Array_$Impl_$.toString = function(this1) { if(this1 != null) { return "Float32Array [byteLength:" + this1.byteLength + ", length:" + this1.length + "]"; } else { return null; } }; var lime_utils__$Float64Array_Float64Array_$Impl_$ = {}; $hxClasses["lime.utils._Float64Array.Float64Array_Impl_"] = lime_utils__$Float64Array_Float64Array_$Impl_$; lime_utils__$Float64Array_Float64Array_$Impl_$.__name__ = ["lime","utils","_Float64Array","Float64Array_Impl_"]; lime_utils__$Float64Array_Float64Array_$Impl_$.fromBytes = function(bytes,byteOffset,len) { if(byteOffset == null) { byteOffset = 0; } if(byteOffset == null) { return new Float64Array(bytes.b.bufferValue); } if(len == null) { return new Float64Array(bytes.b.bufferValue,byteOffset); } return new Float64Array(bytes.b.bufferValue,byteOffset,len); }; lime_utils__$Float64Array_Float64Array_$Impl_$.toBytes = function(this1) { return new haxe_io_Bytes(new Uint8Array(this1.buffer)); }; lime_utils__$Float64Array_Float64Array_$Impl_$.toString = function(this1) { if(this1 != null) { return "Float64Array [byteLength:" + this1.byteLength + ", length:" + this1.length + "]"; } else { return null; } }; var lime_utils__$Int16Array_Int16Array_$Impl_$ = {}; $hxClasses["lime.utils._Int16Array.Int16Array_Impl_"] = lime_utils__$Int16Array_Int16Array_$Impl_$; lime_utils__$Int16Array_Int16Array_$Impl_$.__name__ = ["lime","utils","_Int16Array","Int16Array_Impl_"]; lime_utils__$Int16Array_Int16Array_$Impl_$.fromBytes = function(bytes,byteOffset,len) { if(byteOffset == null) { byteOffset = 0; } if(byteOffset == null) { return new Int16Array(bytes.b.bufferValue); } if(len == null) { return new Int16Array(bytes.b.bufferValue,byteOffset); } return new Int16Array(bytes.b.bufferValue,byteOffset,len); }; lime_utils__$Int16Array_Int16Array_$Impl_$.toBytes = function(this1) { return new haxe_io_Bytes(new Uint8Array(this1.buffer)); }; lime_utils__$Int16Array_Int16Array_$Impl_$.toString = function(this1) { if(this1 != null) { return "Int16Array [byteLength:" + this1.byteLength + ", length:" + this1.length + "]"; } else { return null; } }; var lime_utils__$Int32Array_Int32Array_$Impl_$ = {}; $hxClasses["lime.utils._Int32Array.Int32Array_Impl_"] = lime_utils__$Int32Array_Int32Array_$Impl_$; lime_utils__$Int32Array_Int32Array_$Impl_$.__name__ = ["lime","utils","_Int32Array","Int32Array_Impl_"]; lime_utils__$Int32Array_Int32Array_$Impl_$.fromBytes = function(bytes,byteOffset,len) { if(byteOffset == null) { byteOffset = 0; } if(byteOffset == null) { return new Int32Array(bytes.b.bufferValue); } if(len == null) { return new Int32Array(bytes.b.bufferValue,byteOffset); } return new Int32Array(bytes.b.bufferValue,byteOffset,len); }; lime_utils__$Int32Array_Int32Array_$Impl_$.toBytes = function(this1) { return new haxe_io_Bytes(new Uint8Array(this1.buffer)); }; lime_utils__$Int32Array_Int32Array_$Impl_$.toString = function(this1) { if(this1 != null) { return "Int32Array [byteLength:" + this1.byteLength + ", length:" + this1.length + "]"; } else { return null; } }; var lime_utils__$Int8Array_Int8Array_$Impl_$ = {}; $hxClasses["lime.utils._Int8Array.Int8Array_Impl_"] = lime_utils__$Int8Array_Int8Array_$Impl_$; lime_utils__$Int8Array_Int8Array_$Impl_$.__name__ = ["lime","utils","_Int8Array","Int8Array_Impl_"]; lime_utils__$Int8Array_Int8Array_$Impl_$.fromBytes = function(bytes,byteOffset,len) { if(byteOffset == null) { byteOffset = 0; } return new Int8Array(bytes.b.bufferValue,byteOffset,len); }; lime_utils__$Int8Array_Int8Array_$Impl_$.toBytes = function(this1) { return new haxe_io_Bytes(new Uint8Array(this1.buffer)); }; lime_utils__$Int8Array_Int8Array_$Impl_$.toString = function(this1) { if(this1 != null) { return "Int8Array [byteLength:" + this1.byteLength + ", length:" + this1.length + "]"; } else { return null; } }; var lime_utils_Log = function() { }; $hxClasses["lime.utils.Log"] = lime_utils_Log; lime_utils_Log.__name__ = ["lime","utils","Log"]; lime_utils_Log.level = null; lime_utils_Log.debug = function(message,info) { if(lime_utils_Log.level >= 4) { console.debug("[" + info.className + "] " + Std.string(message)); } }; lime_utils_Log.error = function(message,info) { if(lime_utils_Log.level >= 1) { var message1 = "[" + info.className + "] ERROR: " + Std.string(message); if(lime_utils_Log.throwErrors) { throw new js__$Boot_HaxeError(message1); } else { console.error(message1); } } }; lime_utils_Log.info = function(message,info) { if(lime_utils_Log.level >= 3) { console.info("[" + info.className + "] " + Std.string(message)); } }; lime_utils_Log.print = function(message) { console.log(message); }; lime_utils_Log.println = function(message) { console.log(message); }; lime_utils_Log.verbose = function(message,info) { if(lime_utils_Log.level >= 5) { console.log("[" + info.className + "] " + Std.string(message)); } }; lime_utils_Log.warn = function(message,info) { if(lime_utils_Log.level >= 2) { console.warn("[" + info.className + "] WARNING: " + Std.string(message)); } }; var lime_utils__$LogLevel_LogLevel_$Impl_$ = {}; $hxClasses["lime.utils._LogLevel.LogLevel_Impl_"] = lime_utils__$LogLevel_LogLevel_$Impl_$; lime_utils__$LogLevel_LogLevel_$Impl_$.__name__ = ["lime","utils","_LogLevel","LogLevel_Impl_"]; lime_utils__$LogLevel_LogLevel_$Impl_$.gt = function(a,b) { return a > b; }; lime_utils__$LogLevel_LogLevel_$Impl_$.gte = function(a,b) { return a >= b; }; lime_utils__$LogLevel_LogLevel_$Impl_$.lt = function(a,b) { return a < b; }; lime_utils__$LogLevel_LogLevel_$Impl_$.lte = function(a,b) { return a <= b; }; var lime_utils_Preloader = function() { this.bytesTotalCache = new haxe_ds_StringMap(); this.bytesLoadedCache2 = new haxe_ds_StringMap(); this.bytesLoadedCache = new haxe_ds_ObjectMap(); this.onProgress = new lime_app__$Event_$Int_$Int_$Void(); this.onComplete = new lime_app__$Event_$Void_$Void(); this.bytesLoaded = 0; this.bytesTotal = 0; this.libraries = []; this.libraryNames = []; this.onProgress.add($bind(this,this.update)); }; $hxClasses["lime.utils.Preloader"] = lime_utils_Preloader; lime_utils_Preloader.__name__ = ["lime","utils","Preloader"]; lime_utils_Preloader.prototype = { complete: null ,onComplete: null ,onProgress: null ,bytesLoaded: null ,bytesLoadedCache: null ,bytesLoadedCache2: null ,bytesTotal: null ,bytesTotalCache: null ,initLibraryNames: null ,libraries: null ,libraryNames: null ,loadedLibraries: null ,loadedStage: null ,preloadComplete: null ,preloadStarted: null ,simulateProgress: null ,addLibrary: function(library) { this.libraries.push(library); } ,addLibraryName: function(name) { if(this.libraryNames.indexOf(name) == -1) { this.libraryNames.push(name); } } ,load: function() { var _gthis = this; var _g = 0; var _g1 = this.libraries; while(_g < _g1.length) { var library = _g1[_g]; ++_g; this.bytesTotal += library.bytesTotal; } this.loadedLibraries = -1; this.preloadStarted = false; var _g2 = 0; var _g11 = this.libraries; while(_g2 < _g11.length) { var library1 = [_g11[_g2]]; ++_g2; lime_utils_Log.verbose("Preloading asset library",{ fileName : "Preloader.hx", lineNumber : 150, className : "lime.utils.Preloader", methodName : "load"}); library1[0].load().onProgress((function(library2) { return function(loaded,total) { if(_gthis.bytesLoadedCache.h.__keys__[library2[0].__id__] == null) { _gthis.bytesLoaded += loaded; } else { _gthis.bytesLoaded += loaded - _gthis.bytesLoadedCache.h[library2[0].__id__]; } _gthis.bytesLoadedCache.set(library2[0],loaded); if(!_gthis.simulateProgress) { _gthis.onProgress.dispatch(_gthis.bytesLoaded,_gthis.bytesTotal); } }; })(library1)).onComplete((function(library3) { return function(_) { if(_gthis.bytesLoadedCache.h.__keys__[library3[0].__id__] == null) { _gthis.bytesLoaded += library3[0].bytesTotal; } else { _gthis.bytesLoaded += library3[0].bytesTotal - _gthis.bytesLoadedCache.h[library3[0].__id__]; } _gthis.loadedAssetLibrary(); }; })(library1)).onError((function() { return function(e) { lime_utils_Log.error(e,{ fileName : "Preloader.hx", lineNumber : 188, className : "lime.utils.Preloader", methodName : "load"}); }; })()); } var _g3 = 0; var _g12 = this.libraryNames; while(_g3 < _g12.length) { var name = _g12[_g3]; ++_g3; this.bytesTotal += 200; } this.loadedLibraries++; this.preloadStarted = true; this.updateProgress(); } ,loadedAssetLibrary: function(name) { this.loadedLibraries++; var current = this.loadedLibraries; if(!this.preloadStarted) { ++current; } var totalLibraries = this.libraries.length + this.libraryNames.length; if(name != null) { lime_utils_Log.verbose("Loaded asset library: " + name + " [" + current + "/" + totalLibraries + "]",{ fileName : "Preloader.hx", lineNumber : 220, className : "lime.utils.Preloader", methodName : "loadedAssetLibrary"}); } else { lime_utils_Log.verbose("Loaded asset library [" + current + "/" + totalLibraries + "]",{ fileName : "Preloader.hx", lineNumber : 224, className : "lime.utils.Preloader", methodName : "loadedAssetLibrary"}); } this.updateProgress(); } ,start: function() { if(this.complete || this.simulateProgress || !this.preloadComplete) { return; } this.complete = true; this.onComplete.dispatch(); } ,update: function(loaded,total) { } ,updateProgress: function() { var _gthis = this; if(!this.simulateProgress) { this.onProgress.dispatch(this.bytesLoaded,this.bytesTotal); } if(this.loadedLibraries == this.libraries.length && !this.initLibraryNames) { this.initLibraryNames = true; var _g = 0; var _g1 = this.libraryNames; while(_g < _g1.length) { var name = [_g1[_g]]; ++_g; lime_utils_Log.verbose("Preloading asset library: " + name[0],{ fileName : "Preloader.hx", lineNumber : 273, className : "lime.utils.Preloader", methodName : "updateProgress"}); lime_utils_Assets.loadLibrary(name[0]).onProgress((function(name1) { return function(loaded,total) { if(total > 0) { var _this = _gthis.bytesTotalCache; if(!(__map_reserved[name1[0]] != null ? _this.existsReserved(name1[0]) : _this.h.hasOwnProperty(name1[0]))) { var _this1 = _gthis.bytesTotalCache; if(__map_reserved[name1[0]] != null) { _this1.setReserved(name1[0],total); } else { _this1.h[name1[0]] = total; } _gthis.bytesTotal += total - 200; } if(loaded > total) { loaded = total; } var _this2 = _gthis.bytesLoadedCache2; if(!(__map_reserved[name1[0]] != null ? _this2.existsReserved(name1[0]) : _this2.h.hasOwnProperty(name1[0]))) { _gthis.bytesLoaded += loaded; } else { var _this3 = _gthis.bytesLoadedCache2; _gthis.bytesLoaded += loaded - (__map_reserved[name1[0]] != null ? _this3.getReserved(name1[0]) : _this3.h[name1[0]]); } var _this4 = _gthis.bytesLoadedCache2; if(__map_reserved[name1[0]] != null) { _this4.setReserved(name1[0],loaded); } else { _this4.h[name1[0]] = loaded; } if(!_gthis.simulateProgress) { _gthis.onProgress.dispatch(_gthis.bytesLoaded,_gthis.bytesTotal); } } }; })(name)).onComplete((function(name2) { return function(library) { var total1 = 200; var _this5 = _gthis.bytesTotalCache; if(__map_reserved[name2[0]] != null ? _this5.existsReserved(name2[0]) : _this5.h.hasOwnProperty(name2[0])) { var _this6 = _gthis.bytesTotalCache; if(__map_reserved[name2[0]] != null) { total1 = _this6.getReserved(name2[0]); } else { total1 = _this6.h[name2[0]]; } } var _this7 = _gthis.bytesLoadedCache2; if(!(__map_reserved[name2[0]] != null ? _this7.existsReserved(name2[0]) : _this7.h.hasOwnProperty(name2[0]))) { _gthis.bytesLoaded += total1; } else { var _this8 = _gthis.bytesLoadedCache2; _gthis.bytesLoaded += total1 - (__map_reserved[name2[0]] != null ? _this8.getReserved(name2[0]) : _this8.h[name2[0]]); } _gthis.loadedAssetLibrary(name2[0]); }; })(name)).onError((function() { return function(e) { lime_utils_Log.error(e,{ fileName : "Preloader.hx", lineNumber : 332, className : "lime.utils.Preloader", methodName : "updateProgress"}); }; })()); } } if(!this.simulateProgress && this.loadedLibraries == this.libraries.length + this.libraryNames.length) { if(!this.preloadComplete) { this.preloadComplete = true; lime_utils_Log.verbose("Preload complete",{ fileName : "Preloader.hx", lineNumber : 346, className : "lime.utils.Preloader", methodName : "updateProgress"}); } this.start(); } } ,__class__: lime_utils_Preloader }; var lime_utils__$UInt16Array_UInt16Array_$Impl_$ = {}; $hxClasses["lime.utils._UInt16Array.UInt16Array_Impl_"] = lime_utils__$UInt16Array_UInt16Array_$Impl_$; lime_utils__$UInt16Array_UInt16Array_$Impl_$.__name__ = ["lime","utils","_UInt16Array","UInt16Array_Impl_"]; lime_utils__$UInt16Array_UInt16Array_$Impl_$.fromBytes = function(bytes,byteOffset,len) { if(byteOffset == null) { byteOffset = 0; } if(byteOffset == null) { return new Uint16Array(bytes.b.bufferValue); } if(len == null) { return new Uint16Array(bytes.b.bufferValue,byteOffset); } return new Uint16Array(bytes.b.bufferValue,byteOffset,len); }; lime_utils__$UInt16Array_UInt16Array_$Impl_$.toBytes = function(this1) { return new haxe_io_Bytes(new Uint8Array(this1.buffer)); }; lime_utils__$UInt16Array_UInt16Array_$Impl_$.toString = function(this1) { if(this1 != null) { return "UInt16Array [byteLength:" + this1.byteLength + ", length:" + this1.length + "]"; } else { return null; } }; var lime_utils__$UInt32Array_UInt32Array_$Impl_$ = {}; $hxClasses["lime.utils._UInt32Array.UInt32Array_Impl_"] = lime_utils__$UInt32Array_UInt32Array_$Impl_$; lime_utils__$UInt32Array_UInt32Array_$Impl_$.__name__ = ["lime","utils","_UInt32Array","UInt32Array_Impl_"]; lime_utils__$UInt32Array_UInt32Array_$Impl_$.fromBytes = function(bytes,byteOffset,len) { if(byteOffset == null) { byteOffset = 0; } if(byteOffset == null) { return new Uint32Array(bytes.b.bufferValue); } if(len == null) { return new Uint32Array(bytes.b.bufferValue,byteOffset); } return new Uint32Array(bytes.b.bufferValue,byteOffset,len); }; lime_utils__$UInt32Array_UInt32Array_$Impl_$.toBytes = function(this1) { return new haxe_io_Bytes(new Uint8Array(this1.buffer)); }; lime_utils__$UInt32Array_UInt32Array_$Impl_$.toString = function(this1) { if(this1 != null) { return "UInt32Array [byteLength:" + this1.byteLength + ", length:" + this1.length + "]"; } else { return null; } }; var lime_utils__$UInt8Array_UInt8Array_$Impl_$ = {}; $hxClasses["lime.utils._UInt8Array.UInt8Array_Impl_"] = lime_utils__$UInt8Array_UInt8Array_$Impl_$; lime_utils__$UInt8Array_UInt8Array_$Impl_$.__name__ = ["lime","utils","_UInt8Array","UInt8Array_Impl_"]; lime_utils__$UInt8Array_UInt8Array_$Impl_$.fromBytes = function(bytes,byteOffset,len) { if(byteOffset == null) { return new Uint8Array(bytes.b.bufferValue); } if(len == null) { return new Uint8Array(bytes.b.bufferValue,byteOffset); } return new Uint8Array(bytes.b.bufferValue,byteOffset,len); }; lime_utils__$UInt8Array_UInt8Array_$Impl_$.toBytes = function(this1) { return new haxe_io_Bytes(new Uint8Array(this1.buffer)); }; lime_utils__$UInt8Array_UInt8Array_$Impl_$.toString = function(this1) { if(this1 != null) { return "UInt8Array [byteLength:" + this1.byteLength + ", length:" + this1.length + "]"; } else { return null; } }; var lime_utils__$UInt8ClampedArray_UInt8ClampedArray_$Impl_$ = {}; $hxClasses["lime.utils._UInt8ClampedArray.UInt8ClampedArray_Impl_"] = lime_utils__$UInt8ClampedArray_UInt8ClampedArray_$Impl_$; lime_utils__$UInt8ClampedArray_UInt8ClampedArray_$Impl_$.__name__ = ["lime","utils","_UInt8ClampedArray","UInt8ClampedArray_Impl_"]; lime_utils__$UInt8ClampedArray_UInt8ClampedArray_$Impl_$.fromBytes = function(bytes,byteOffset,len) { if(byteOffset == null) { byteOffset = 0; } if(byteOffset == null) { return new Uint8ClampedArray(bytes.b.bufferValue); } if(len == null) { return new Uint8ClampedArray(bytes.b.bufferValue,byteOffset); } return new Uint8ClampedArray(bytes.b.bufferValue,byteOffset,len); }; lime_utils__$UInt8ClampedArray_UInt8ClampedArray_$Impl_$.toBytes = function(this1) { return new haxe_io_Bytes(new Uint8Array(this1.buffer)); }; lime_utils__$UInt8ClampedArray_UInt8ClampedArray_$Impl_$.toString = function(this1) { if(this1 != null) { return "UInt8ClampedArray [byteLength:" + this1.byteLength + ", length:" + this1.length + "]"; } else { return null; } }; lime_utils__$UInt8ClampedArray_UInt8ClampedArray_$Impl_$._clamp = function(_in) { var _out = _in | 0; if(_out > 255) { _out = 255; } else { _out = _out; } if(_out < 0) { return 0; } else { return _out; } }; var nova_animation_Action = function(initFn,updateFn,length) { this.initFn = initFn; this.updateFn = updateFn; this.object = { }; this.length = length; }; $hxClasses["nova.animation.Action"] = nova_animation_Action; nova_animation_Action.__name__ = ["nova","animation","Action"]; nova_animation_Action.prototype = { initFn: null ,updateFn: null ,object: null ,length: null ,init: function(sprite) { this.initFn(sprite,this.object); } ,update: function(sprite,frame) { this.updateFn(sprite,frame,this.object); } ,__class__: nova_animation_Action }; var nova_animation_Actor = function(sprite,action,isDoneA) { this.currentFrame = 0; this.tag = null; this._id = -1; var _gthis = this; this.sprite = sprite; this.action = action; this.isDone = function() { return isDoneA(_gthis); }; this.prevSets = []; this.nextSets = []; this.currentFrame = 0; this.callback = null; }; $hxClasses["nova.animation.Actor"] = nova_animation_Actor; nova_animation_Actor.__name__ = ["nova","animation","Actor"]; nova_animation_Actor.prototype = { _id: null ,tag: null ,currentFrame: null ,sprite: null ,action: null ,callback: null ,isDone: null ,prevSets: null ,nextSets: null ,setCallback: function(callback) { this.callback = callback; } ,addAsDependencyOf: function(other) { this.nextSets.push(other); other.prevSets.push(this); } ,dependOn: function(other) { other.nextSets.push(this); this.prevSets.push(other); } ,__class__: nova_animation_Actor }; var nova_animation_Director = function() { this.paused = false; this.nextID = 0; this._animationInfoMap = new haxe_ds_ObjectMap(); this._liveActors = []; }; $hxClasses["nova.animation.Director"] = nova_animation_Director; nova_animation_Director.__name__ = ["nova","animation","Director"]; nova_animation_Director._noopAction = function(frames) { return new nova_animation_Action(function(sprite,object) { },function(sprite1,frame,object1) { },frames); }; nova_animation_Director._fadeInAction = function(frames) { return new nova_animation_Action(function(sprite,object) { sprite.set_alpha(0); },function(sprite1,frame,object1) { sprite1.set_alpha(frame / frames); },frames); }; nova_animation_Director._fadeOutAction = function(frames) { return new nova_animation_Action(function(sprite,object) { sprite.set_alpha(1); },function(sprite1,frame,object1) { sprite1.set_alpha(1.0 - frame / frames); },frames); }; nova_animation_Director._moveToAction = function(point,frames) { return new nova_animation_Action(function(sprite,object) { object.x = sprite.x; object.y = sprite.y; },function(sprite1,frame,object1) { var _g = sprite1; _g.set_x(_g.x + 1.0 / frames * (nova_utils__$Pair_Pair_$Impl_$.get_x(point) - object1.x)); var _g1 = sprite1; _g1.set_y(_g1.y + 1.0 / frames * (nova_utils__$Pair_Pair_$Impl_$.get_y(point) - object1.y)); },frames); }; nova_animation_Director._moveByAction = function(point,frames) { return new nova_animation_Action(function(sprite,object) { object.x = sprite.x; object.y = sprite.y; object.point = point; },function(sprite1,frame,object1) { var _g = sprite1; _g.set_x(_g.x + 1.0 / frames * object1.point[0]); var _g1 = sprite1; _g1.set_y(_g1.y + 1.0 / frames * object1.point[1]); },frames); }; nova_animation_Director._bobAction = function(point,reps,frames) { return new nova_animation_Action(function(sprite,object) { object.x = sprite.x; object.y = sprite.y; object.point = point; object.reps = reps; },function(sprite1,frame,object1) { if(frame == frames) { sprite1.set_x(object1.x); sprite1.set_y(object1.y); return; } var pct = frame / frames * reps; pct -= Math.floor(pct); if(pct < 0.25) { pct = 4 * pct; } else if(pct < 0.75) { pct = 1.0 - 4.0 * (pct - 0.25); } else { pct = -1.0 + 4.0 * (pct - 0.75); } sprite1.set_x(object1.x + object1.point[0] * pct); sprite1.set_y(object1.y + object1.point[1] * pct); },frames); }; nova_animation_Director._jumpInArcAction = function(verticalDist,frames) { return new nova_animation_Action(function(sprite,object) { object.mult = verticalDist / (frames * frames / 4 + 0.2 | 0); },function(sprite1,frame,object1) { var dist = 2 * frame - frames - 1; sprite1.set_y(sprite1.y + dist * object1.mult); },frames); }; nova_animation_Director.getID = function() { return nova_animation_Director.instance.nextID++; }; nova_animation_Director.directorChainableFn = function(action,sprite,tag) { if(js_Boot.__instanceof(sprite,flixel_FlxSprite) || sprite == null) { var a = new nova_animation_Actor(sprite != null ? js_Boot.__cast(sprite , flixel_FlxSprite) : null,action,function(a1) { return a1.currentFrame == a1.action.length; }); a._id = nova_animation_Director.instance.nextID++; a.tag = tag; if(action.initFn != null) { action.init(sprite != null ? js_Boot.__cast(sprite , flixel_FlxSprite) : null); } nova_animation_Director.instance._liveActors.push(a); return a; } var prevActor = js_Boot.__cast(sprite , nova_animation_Actor); if(prevActor.action == null && prevActor.callback == null) { prevActor.action = action; prevActor.isDone = function() { return prevActor.currentFrame == prevActor.action.length; }; return prevActor; } var a2 = new nova_animation_Actor(prevActor.sprite,action,function(a3) { return a3.currentFrame == a3.action.length; }); a2._id = nova_animation_Director.getID(); a2.tag = tag; a2.dependOn(prevActor); return a2; }; nova_animation_Director.fadeIn = function(sprite,frames,tag) { return nova_animation_Director.directorChainableFn(nova_animation_Director._fadeInAction(frames),sprite,tag); }; nova_animation_Director.fadeOut = function(sprite,frames,tag) { return nova_animation_Director.directorChainableFn(nova_animation_Director._fadeOutAction(frames),sprite,tag); }; nova_animation_Director.moveTo = function(sprite,point,frames,tag) { return nova_animation_Director.directorChainableFn(nova_animation_Director._moveToAction(point,frames),sprite,tag); }; nova_animation_Director.moveBy = function(sprite,point,frames,tag) { return nova_animation_Director.directorChainableFn(nova_animation_Director._moveByAction(point,frames),sprite,tag); }; nova_animation_Director.bob = function(sprite,point,reps,frames,tag) { return nova_animation_Director.directorChainableFn(nova_animation_Director._bobAction(point,reps,frames),sprite,tag); }; nova_animation_Director.jumpInArc = function(sprite,verticalDist,frames,tag) { var startPoint; if(js_Boot.__instanceof(sprite,flixel_FlxSprite)) { startPoint = nova_utils__$Pair_Pair_$Impl_$.fromIntArray([(js_Boot.__cast(sprite , flixel_FlxSprite)).x | 0,(js_Boot.__cast(sprite , flixel_FlxSprite)).y | 0]); } else { startPoint = nova_utils__$Pair_Pair_$Impl_$.fromIntArray([(js_Boot.__cast(sprite , nova_animation_Actor)).sprite.x | 0,(js_Boot.__cast(sprite , nova_animation_Actor)).sprite.y | 0]); } return nova_animation_Director.directorChainableFn(nova_animation_Director._jumpInArcAction(verticalDist,frames),sprite,tag); }; nova_animation_Director.wait = function(sprite,frames,tag) { if(frames == null) { return nova_animation_Director.directorChainableFn(nova_animation_Director._noopAction(js_Boot.__cast(sprite , Int)),null,tag); } var ootSprite = null; if(sprite != null) { if(js_Boot.__instanceof(sprite,flixel_FlxSprite)) { ootSprite = js_Boot.__cast(sprite , flixel_FlxSprite); } else { ootSprite = js_Boot.__cast(sprite , nova_animation_Actor); } } return nova_animation_Director.directorChainableFn(nova_animation_Director._noopAction(frames),ootSprite,tag); }; nova_animation_Director.call = function(actor,callback) { actor.setCallback(callback); return actor; }; nova_animation_Director.then = function(prevActor,newActor) { var a = new nova_animation_Actor(newActor,null,null); a._id = nova_animation_Director.instance.nextID++; a.dependOn(prevActor); return a; }; nova_animation_Director.afterAll = function(sprite,prevActors) { var a = new nova_animation_Actor(sprite,null,null); a._id = nova_animation_Director.instance.nextID++; var _g = 0; while(_g < prevActors.length) { var prevActor = prevActors[_g]; ++_g; a.dependOn(prevActor); } return a; }; nova_animation_Director.skipToEnd = function(actor) { if(actor.action != null) { actor.action.update(actor.sprite,actor.action.length); } var _g = 0; var _g1 = actor.nextSets; while(_g < _g1.length) { var nextActor = _g1[_g]; ++_g; HxOverrides.remove(nextActor.prevSets,actor); if(nextActor.prevSets.length == 0) { if(nextActor.action != null) { nextActor.action.init(nextActor.sprite); } nova_animation_Director.instance._liveActors.push(nextActor); } } if(actor.callback != null) { actor.callback(actor.sprite); } HxOverrides.remove(nova_animation_Director.instance._liveActors,actor); }; nova_animation_Director.actorsWithTag = function(tag) { return nova_animation_Director.instance._liveActors.filter(function(a) { return a.tag == tag; }); }; nova_animation_Director.update = function() { if(!nova_animation_Director.instance.paused) { nova_animation_Director.instance._update(); } }; nova_animation_Director.pause = function() { nova_animation_Director.instance.paused = true; }; nova_animation_Director.resume = function() { nova_animation_Director.instance.paused = false; }; nova_animation_Director.clear = function() { nova_animation_Director.instance._liveActors.splice(0,nova_animation_Director.instance._liveActors.length); }; nova_animation_Director.clearTag = function(tag) { var i = nova_animation_Director.instance._liveActors.length - 1; while(i >= 0) { if(nova_animation_Director.instance._liveActors[i].tag == tag) { nova_animation_Director.instance._liveActors.splice(i,1); } --i; } }; nova_animation_Director.prototype = { nextID: null ,_liveActors: null ,_animationInfoMap: null ,paused: null ,_update: function() { var i = nova_animation_Director.instance._liveActors.length - 1; while(i >= 0) { var liveActor = nova_animation_Director.instance._liveActors[i]; liveActor.currentFrame += 1; if(liveActor.action != null) { liveActor.action.update(liveActor.sprite,liveActor.currentFrame); } if(liveActor.action == null || liveActor.isDone != null && liveActor.isDone()) { if(liveActor.callback != null) { liveActor.callback(liveActor.sprite); } var _g = 0; var _g1 = liveActor.nextSets; while(_g < _g1.length) { var nextActor = _g1[_g]; ++_g; HxOverrides.remove(nextActor.prevSets,liveActor); if(nextActor.prevSets.length == 0) { if(nextActor.action != null) { nextActor.action.init(nextActor.sprite); } if(nextActor.action == null) { nova_animation_Director.instance._liveActors.splice(0,0,nextActor); ++i; } else { nova_animation_Director.instance._liveActors.push(nextActor); } } } nova_animation_Director.instance._liveActors.splice(i,1); } --i; } } ,__class__: nova_animation_Director }; var nova_input_Focusable = function() { }; $hxClasses["nova.input.Focusable"] = nova_input_Focusable; nova_input_Focusable.__name__ = ["nova","input","Focusable"]; nova_input_Focusable.prototype = { handleInput: null ,__class__: nova_input_Focusable }; var nova_input_Button = $hxClasses["nova.input.Button"] = { __ename__ : ["nova","input","Button"], __constructs__ : ["CONFIRM","CANCEL","LEFT","RIGHT","UP","DOWN","START","SELECT","X","Y","Z","LB","LT","RB","RT","D_LEFT","D_RIGHT","D_UP","D_DOWN","LEFT_CLICK","RIGHT_CLICK"] }; nova_input_Button.CONFIRM = ["CONFIRM",0]; nova_input_Button.CONFIRM.toString = $estr; nova_input_Button.CONFIRM.__enum__ = nova_input_Button; nova_input_Button.CANCEL = ["CANCEL",1]; nova_input_Button.CANCEL.toString = $estr; nova_input_Button.CANCEL.__enum__ = nova_input_Button; nova_input_Button.LEFT = ["LEFT",2]; nova_input_Button.LEFT.toString = $estr; nova_input_Button.LEFT.__enum__ = nova_input_Button; nova_input_Button.RIGHT = ["RIGHT",3]; nova_input_Button.RIGHT.toString = $estr; nova_input_Button.RIGHT.__enum__ = nova_input_Button; nova_input_Button.UP = ["UP",4]; nova_input_Button.UP.toString = $estr; nova_input_Button.UP.__enum__ = nova_input_Button; nova_input_Button.DOWN = ["DOWN",5]; nova_input_Button.DOWN.toString = $estr; nova_input_Button.DOWN.__enum__ = nova_input_Button; nova_input_Button.START = ["START",6]; nova_input_Button.START.toString = $estr; nova_input_Button.START.__enum__ = nova_input_Button; nova_input_Button.SELECT = ["SELECT",7]; nova_input_Button.SELECT.toString = $estr; nova_input_Button.SELECT.__enum__ = nova_input_Button; nova_input_Button.X = ["X",8]; nova_input_Button.X.toString = $estr; nova_input_Button.X.__enum__ = nova_input_Button; nova_input_Button.Y = ["Y",9]; nova_input_Button.Y.toString = $estr; nova_input_Button.Y.__enum__ = nova_input_Button; nova_input_Button.Z = ["Z",10]; nova_input_Button.Z.toString = $estr; nova_input_Button.Z.__enum__ = nova_input_Button; nova_input_Button.LB = ["LB",11]; nova_input_Button.LB.toString = $estr; nova_input_Button.LB.__enum__ = nova_input_Button; nova_input_Button.LT = ["LT",12]; nova_input_Button.LT.toString = $estr; nova_input_Button.LT.__enum__ = nova_input_Button; nova_input_Button.RB = ["RB",13]; nova_input_Button.RB.toString = $estr; nova_input_Button.RB.__enum__ = nova_input_Button; nova_input_Button.RT = ["RT",14]; nova_input_Button.RT.toString = $estr; nova_input_Button.RT.__enum__ = nova_input_Button; nova_input_Button.D_LEFT = ["D_LEFT",15]; nova_input_Button.D_LEFT.toString = $estr; nova_input_Button.D_LEFT.__enum__ = nova_input_Button; nova_input_Button.D_RIGHT = ["D_RIGHT",16]; nova_input_Button.D_RIGHT.toString = $estr; nova_input_Button.D_RIGHT.__enum__ = nova_input_Button; nova_input_Button.D_UP = ["D_UP",17]; nova_input_Button.D_UP.toString = $estr; nova_input_Button.D_UP.__enum__ = nova_input_Button; nova_input_Button.D_DOWN = ["D_DOWN",18]; nova_input_Button.D_DOWN.toString = $estr; nova_input_Button.D_DOWN.__enum__ = nova_input_Button; nova_input_Button.LEFT_CLICK = ["LEFT_CLICK",19]; nova_input_Button.LEFT_CLICK.toString = $estr; nova_input_Button.LEFT_CLICK.__enum__ = nova_input_Button; nova_input_Button.RIGHT_CLICK = ["RIGHT_CLICK",20]; nova_input_Button.RIGHT_CLICK.toString = $estr; nova_input_Button.RIGHT_CLICK.__enum__ = nova_input_Button; var nova_input_InputController = function() { this._inputMap = new haxe_ds_EnumValueMap(); this._disabled = []; }; $hxClasses["nova.input.InputController"] = nova_input_InputController; nova_input_InputController.__name__ = ["nova","input","InputController"]; nova_input_InputController.addKeyMapping = function(keyCode,button) { if(!nova_input_InputController.instance._inputMap.exists(button)) { nova_input_InputController.instance._inputMap.set(button,[]); } nova_input_InputController.instance._inputMap.get(button).push(keyCode); }; nova_input_InputController.justPressed = function(button) { if(nova_input_InputController.instance._disabled.indexOf(button) != -1) { return false; } if(nova_input_InputController.instance._inputMap.exists(button)) { if(flixel_FlxG.keys.checkKeyArrayState(nova_input_InputController.instance._inputMap.get(button),2)) { return true; } } return false; }; nova_input_InputController.pressed = function(button) { if(nova_input_InputController.instance._disabled.indexOf(button) != -1) { return false; } if(nova_input_InputController.instance._inputMap.exists(button)) { if(flixel_FlxG.keys.checkKeyArrayState(nova_input_InputController.instance._inputMap.get(button),1)) { return true; } } return false; }; nova_input_InputController.justReleased = function(button) { if(nova_input_InputController.instance._inputMap.exists(button)) { if(flixel_FlxG.keys.checkKeyArrayState(nova_input_InputController.instance._inputMap.get(button),-1)) { return true; } } return false; }; nova_input_InputController.consume = function(button) { nova_input_InputController.instance._disabled.push(button); }; nova_input_InputController.update = function() { nova_input_InputController.instance._disabled = []; }; nova_input_InputController.prototype = { _inputMap: null ,_disabled: null ,__class__: nova_input_InputController }; var nova_render_FlxLocalSprite = function(X,Y,SimpleGraphic) { if(Y == null) { Y = 0; } if(X == null) { X = 0; } this._skipTransformChildren = false; this.globalOffset = nova_utils__$Pair_Pair_$Impl_$.fromFloatArray([0,0]); this.globalAlpha = 1; this.children = []; flixel_FlxSprite.call(this,X,Y,SimpleGraphic); }; $hxClasses["nova.render.FlxLocalSprite"] = nova_render_FlxLocalSprite; nova_render_FlxLocalSprite.__name__ = ["nova","render","FlxLocalSprite"]; nova_render_FlxLocalSprite.__super__ = flixel_FlxSprite; nova_render_FlxLocalSprite.prototype = $extend(flixel_FlxSprite.prototype,{ globalOffset: null ,globalAlpha: null ,children: null ,_skipTransformChildren: null ,checkEmptyFrame: function() { return; } ,preAdd: function(Sprite,relative) { Sprite.globalOffset = nova_utils__$Pair_Pair_$Impl_$.fromFloatArray([nova_utils__$Pair_Pair_$Impl_$.get_x(this.globalOffset) + this.x,nova_utils__$Pair_Pair_$Impl_$.get_y(this.globalOffset) + this.y]); if(!relative) { var _g = Sprite; _g.set_x(_g.x - nova_utils__$Pair_Pair_$Impl_$.get_x(this.globalOffset)); var _g1 = Sprite; _g1.set_y(_g1.y - nova_utils__$Pair_Pair_$Impl_$.get_y(this.globalOffset)); } else { Sprite.set_x(Sprite.x); Sprite.set_y(Sprite.y); } } ,add: function(Sprite,relative) { if(relative == null) { relative = true; } if(js_Boot.__instanceof(Sprite,nova_render_FlxLocalSprite)) { this.preAdd(js_Boot.__cast(Sprite , nova_render_FlxLocalSprite),relative); return this.children.push(js_Boot.__cast(Sprite , nova_render_FlxLocalSprite)); } var wrapper = new nova_render_LocalWrapper(Sprite); this.preAdd(wrapper,relative); return this.children.push(wrapper); } ,remove: function(sprite,Splice) { if(Splice == null) { Splice = false; } if(js_Boot.__instanceof(sprite,nova_render_FlxLocalSprite)) { sprite.set_cameras(null); return HxOverrides.remove(this.children,js_Boot.__cast(sprite , nova_render_FlxLocalSprite)); } return false; } ,isOnScreen: function(Camera) { var minX = this.get_globalX(); var minY = this.get_globalY(); var maxX = this.get_globalX() + this.get_width(); var maxY = this.get_globalY() + this.get_height(); if(minX <= flixel_FlxG.width || maxX >= 0) { if(minY <= flixel_FlxG.height) { return maxY >= 0; } else { return false; } } else { return false; } } ,draw: function() { if(this._frame != null) { flixel_FlxSprite.prototype.draw.call(this); } var _g = 0; var _g1 = this.children; while(_g < _g1.length) { var child = _g1[_g]; ++_g; child.draw(); } } ,sort: function(Function) { this.children.sort(Function); } ,set_x: function(Value) { this.x = Value; if(!this._skipTransformChildren) { this._percolate(function(n,v) { nova_utils__$Pair_Pair_$Impl_$.set_x(n.globalOffset,v); },function(n1) { return nova_utils__$Pair_Pair_$Impl_$.get_x(n1.globalOffset) + n1.x; }); } return this.x; } ,set_y: function(Value) { this.y = Value; if(!this._skipTransformChildren) { this._percolate(function(n,v) { nova_utils__$Pair_Pair_$Impl_$.set_y(n.globalOffset,v); },function(n1) { return nova_utils__$Pair_Pair_$Impl_$.get_y(n1.globalOffset) + n1.y; }); } return this.y; } ,set_alpha: function(Value) { this.alpha = Value; if(!this._skipTransformChildren) { this._percolate(function(n,v) { n.globalAlpha = v; n.updateColorTransform(); },function(n1) { return n1.globalAlpha * n1.alpha; }); } return Value; } ,updateColorTransform: function() { if(this.colorTransform == null) { this.colorTransform = new openfl_geom_ColorTransform(); } this.useColorTransform = this.alpha * this.globalAlpha != 1 || this.color != 16777215; if(this.useColorTransform) { flixel_util_FlxColorTransformUtil.setMultipliers(this.colorTransform,(this.color >> 16 & 255) / 255,(this.color >> 8 & 255) / 255,(this.color & 255) / 255,this.alpha * this.globalAlpha); } else { flixel_util_FlxColorTransformUtil.setMultipliers(this.colorTransform,1,1,1,1); } this.dirty = true; } ,get_globalX: function() { return nova_utils__$Pair_Pair_$Impl_$.get_x(this.globalOffset) + this.x; } ,set_globalX: function(v) { this.set_x(v - nova_utils__$Pair_Pair_$Impl_$.get_x(this.globalOffset)); return v; } ,get_globalY: function() { return nova_utils__$Pair_Pair_$Impl_$.get_y(this.globalOffset) + this.y; } ,set_globalY: function(v) { this.set_y(v - nova_utils__$Pair_Pair_$Impl_$.get_y(this.globalOffset)); return v; } ,get_xy: function() { return nova_utils__$Pair_Pair_$Impl_$.fromFloatArray([this.x,this.y]); } ,set_xy: function(xy) { this.set_x(nova_utils__$Pair_Pair_$Impl_$.get_x(xy)); this.set_y(nova_utils__$Pair_Pair_$Impl_$.get_y(xy)); return xy; } ,setPositionNoChildren: function(pos) { var _g = 0; var _g1 = this.children; while(_g < _g1.length) { var child = _g1[_g]; ++_g; child._skipTransformChildren = true; var _g2 = child; _g2.set_x(_g2.x + (this.x - nova_utils__$Pair_Pair_$Impl_$.get_x(pos))); var _g21 = child; _g21.set_y(_g21.y + (this.y - nova_utils__$Pair_Pair_$Impl_$.get_y(pos))); child._skipTransformChildren = false; } this._skipTransformChildren = true; this.set_x(nova_utils__$Pair_Pair_$Impl_$.get_x(pos)); this.set_y(nova_utils__$Pair_Pair_$Impl_$.get_y(pos)); this._skipTransformChildren = false; } ,drawSimple: function(camera) { if(this.isPixelPerfectRender(camera)) { var _this = this._point; _this.set_x(Math.floor(_this.x)); _this.set_y(Math.floor(_this.y)); } var tmp = this._point.x; var tmp1 = nova_utils__$Pair_Pair_$Impl_$.get_x(this.globalOffset); this._flashPoint.x = tmp + tmp1; var tmp2 = this._point.y; var tmp3 = nova_utils__$Pair_Pair_$Impl_$.get_y(this.globalOffset); this._flashPoint.y = tmp2 + tmp3; camera.copyPixels(this._frame,this.framePixels,this._flashRect,this._flashPoint,this.colorTransform,this.blend,this.antialiasing); } ,drawComplex: function(camera) { var doFlipX = this.flipX != this._frame.flipX; var doFlipY = this.flipY != this._frame.flipY; this._frame.prepareMatrix(this._matrix,0,this.animation._curAnim != null ? doFlipX != this.animation._curAnim.flipX : doFlipX,this.animation._curAnim != null ? doFlipY != this.animation._curAnim.flipY : doFlipY); this._matrix.translate(-this.origin.x,-this.origin.y); this._matrix.scale(this.scale.x,this.scale.y); if(this.bakedRotationAngle <= 0) { if(this._angleChanged) { var radians = this.angle * (Math.PI / 180); this._sinAngle = Math.sin(radians); this._cosAngle = Math.cos(radians); this._angleChanged = false; } if(this.angle != 0) { var _this = this._matrix; var cos = this._cosAngle; var sin = this._sinAngle; var a1 = _this.a * cos - _this.b * sin; _this.b = _this.a * sin + _this.b * cos; _this.a = a1; var c1 = _this.c * cos - _this.d * sin; _this.d = _this.c * sin + _this.d * cos; _this.c = c1; var tx1 = _this.tx * cos - _this.ty * sin; _this.ty = _this.tx * sin + _this.ty * cos; _this.tx = tx1; } } var _this1 = this._point; var Y = this.origin.y; var _g = _this1; _g.set_x(_g.x + this.origin.x); var _g1 = _this1; _g1.set_y(_g1.y + Y); this._matrix.translate(this._point.x + nova_utils__$Pair_Pair_$Impl_$.get_x(this.globalOffset),this._point.y + nova_utils__$Pair_Pair_$Impl_$.get_y(this.globalOffset)); if(this.isPixelPerfectRender(camera)) { this._matrix.tx = Math.floor(this._matrix.tx); this._matrix.ty = Math.floor(this._matrix.ty); } camera.drawPixels(this._frame,this.framePixels,this._matrix,this.colorTransform,this.blend,this.antialiasing,this.shader); } ,_percolate: function(applyFn,computeFn) { var _g = 0; var _g1 = this.children; while(_g < _g1.length) { var child = _g1[_g]; ++_g; applyFn(child,computeFn(this)); child._percolate(applyFn,computeFn); } } ,update: function(elapsed) { flixel_FlxSprite.prototype.update.call(this,elapsed); var _g = 0; var _g1 = this.children; while(_g < _g1.length) { var child = _g1[_g]; ++_g; child.update(elapsed); } } ,__class__: nova_render_FlxLocalSprite ,__properties__: $extend(flixel_FlxSprite.prototype.__properties__,{set_xy:"set_xy",get_xy:"get_xy",set_globalY:"set_globalY",get_globalY:"get_globalY",set_globalX:"set_globalX",get_globalX:"get_globalX"}) }); var nova_render_LocalWrapper = function(sprite) { var recordSpritePosn = nova_utils__$Pair_Pair_$Impl_$.fromFloatArray([sprite.x,sprite.y]); this._sprite = sprite; nova_render_FlxLocalSprite.call(this); this.set_x(nova_utils__$Pair_Pair_$Impl_$.get_x(recordSpritePosn)); this.set_y(nova_utils__$Pair_Pair_$Impl_$.get_y(recordSpritePosn)); this.set_width(sprite.get_width()); this.set_height(sprite.get_height()); }; $hxClasses["nova.render.LocalWrapper"] = nova_render_LocalWrapper; nova_render_LocalWrapper.__name__ = ["nova","render","LocalWrapper"]; nova_render_LocalWrapper.__super__ = nova_render_FlxLocalSprite; nova_render_LocalWrapper.prototype = $extend(nova_render_FlxLocalSprite.prototype,{ _sprite: null ,toT: function(sprite) { return new nova_render_LocalWrapper(sprite); } ,set_x: function(Value) { this.x = Value; return Value; } ,set_y: function(Value) { this.y = Value; return Value; } ,set_scale: function(Value) { this.scale = Value; if(!this._skipTransformChildren) { this._sprite.scale = Value; } return Value; } ,set_alpha: function(Value) { this.alpha = Value; if(!this._skipTransformChildren) { this._sprite.set_alpha(Value * this.globalAlpha); } return Value; } ,get_pixels: function() { return this._sprite.get_pixels(); } ,set_pixels: function(Pixels) { return this._sprite.set_pixels(Pixels); } ,updateColorTransform: function() { this._sprite.set_alpha(this.alpha * this.globalAlpha); } ,draw: function() { if(this.visible) { this._sprite.set_x(this.get_globalX()); this._sprite.set_y(this.get_globalY()); this._sprite.draw(); } } ,destroy: function() { this._sprite.destroy(); nova_render_FlxLocalSprite.prototype.destroy.call(this); } ,update: function(elapsed) { nova_render_FlxLocalSprite.prototype.update.call(this,elapsed); this._sprite.updateAnimation(elapsed); } ,__class__: nova_render_LocalWrapper }); var nova_render_NovaEmitter = function(X,Y,limit) { if(limit == null) { limit = -1; } if(Y == null) { Y = 0.0; } if(X == null) { X = 0.0; } this.colorTransformB = nova_utils__$Pair_Pair_$Impl_$.fromFloatArray([0.0,0.0]); this.colorTransformG = nova_utils__$Pair_Pair_$Impl_$.fromFloatArray([0.0,0.0]); this.colorTransformR = nova_utils__$Pair_Pair_$Impl_$.fromFloatArray([0.0,0.0]); this.onFinished = null; this.onCreate = null; this.rate = 0; this.endAlpha = null; this.startAlpha = nova_utils__$Pair_Pair_$Impl_$.fromFloatArray([1.0,1.0]); this.launchAngle = nova_utils__$Pair_Pair_$Impl_$.fromFloatArray([0,2 * Math.PI]); this.speed = nova_utils__$Pair_Pair_$Impl_$.fromFloatArray([300,300]); this.lifespan = nova_utils__$Pair_Pair_$Impl_$.fromFloatArray([1,1]); this.limit = -1; this.emitting = true; this.markForDeletion = false; this._waitForKill = false; this._timer = 0; nova_render_FlxLocalSprite.call(this); this.particles = []; this.set_xy(nova_utils__$Pair_Pair_$Impl_$.fromFloatArray([X,Y])); this.limit = limit; }; $hxClasses["nova.render.NovaEmitter"] = nova_render_NovaEmitter; nova_render_NovaEmitter.__name__ = ["nova","render","NovaEmitter"]; nova_render_NovaEmitter.__super__ = nova_render_FlxLocalSprite; nova_render_NovaEmitter.prototype = $extend(nova_render_FlxLocalSprite.prototype,{ _timer: null ,_waitForKill: null ,markForDeletion: null ,emitting: null ,limit: null ,particles: null ,lifespan: null ,speed: null ,launchAngle: null ,startAlpha: null ,endAlpha: null ,rate: null ,onCreate: null ,onFinished: null ,colorTransformR: null ,colorTransformG: null ,colorTransformB: null ,destroy: function() { this.lifespan = null; this.speed = null; this.launchAngle = null; this.startAlpha = null; this.endAlpha = null; this.colorTransformR = null; this.colorTransformG = null; this.colorTransformB = null; nova_render_FlxLocalSprite.prototype.destroy.call(this); } ,loadParticle: function(Graphics,Quantity,bakedRotationAngles,graphicsTableDims,getFrames,Options) { var particle = new flixel_effects_particles_FlxParticle(); if(flixel_FlxG.renderBlit && bakedRotationAngles > 0) { particle.loadRotatedGraphic(Graphics,bakedRotationAngles,1,false,Options != null && Object.prototype.hasOwnProperty.call(Options,"autoBuffer") && Options.autoBuffer); } else if(nova_utils__$Pair_Pair_$Impl_$.equals(graphicsTableDims,nova_utils__$Pair_Pair_$Impl_$.toArray(null)) || nova_utils__$Pair_Pair_$Impl_$.get_x(graphicsTableDims) == 1 && nova_utils__$Pair_Pair_$Impl_$.get_y(graphicsTableDims) == 1) { particle.loadGraphic(Graphics,false); } else { particle.loadGraphic(Graphics,true,Graphics.width / nova_utils__$Pair_Pair_$Impl_$.get_x(graphicsTableDims) | 0,Graphics.height / nova_utils__$Pair_Pair_$Impl_$.get_y(graphicsTableDims) | 0); if(getFrames == null) { particle.animation.set_frameIndex(0); } else { var res = getFrames(); particle.animation.add("normal",res,Options != null && Object.prototype.hasOwnProperty.call(Options,"frameRate") ? Options.frameRate : nova_render_NovaEmitter.DEFAULT_PARTICLE_FPS,Options != null && Object.prototype.hasOwnProperty.call(Options,"looping") && Options.looping); particle.animation.play("normal"); } } return particle; } ,addParticles: function(Graphics,Quantity,bakedRotationAngles,graphicsTableDims,getFrames,options) { if(bakedRotationAngles == null) { bakedRotationAngles = 1; } if(Quantity == null) { Quantity = 50; } var totalFrames = 1; var _g1 = 0; var _g = Quantity; while(_g1 < _g) { var i = _g1++; this.particles.push(new nova_render_NovaParticle(this.loadParticle(Graphics,Quantity,bakedRotationAngles,graphicsTableDims,getFrames,options))); } nova_utils_ArrayUtils.randomShuffle(this.particles); return this; } ,addSimpleParticles: function(color,sideLength,Quantity) { if(Quantity == null) { Quantity = 50; } if(sideLength == null) { sideLength = 3; } if(color == null) { color = 0; } var squareBD = new openfl_display_BitmapData(sideLength,sideLength); squareBD.fillRect(squareBD.rect,color); return this.addParticles(squareBD,Quantity); } ,tryEmit: function() { if(this.particles.length == 0) { return; } if(this.limit == 0) { return; } else if(this.limit > 0) { --this.limit; } this.emitParticle(this.particles[this.particles.length - 1]); this.particles.splice(this.particles.length - 1,1); if(this.limit == 0) { this._waitForKill = true; this.emitting = false; if(this.onFinished != null) { this.onFinished(); } } } ,update: function(elapsed) { if(this.markForDeletion) { return; } if(this.emitting) { if(this.rate <= 0) { this.tryEmit(); } else { this._timer += elapsed; while(this._timer > this.rate) { this._timer -= this.rate; this.tryEmit(); } } } else if(this._waitForKill) { this._timer += elapsed; if(nova_utils__$Pair_Pair_$Impl_$.get_y(this.lifespan) > 0 && this._timer > nova_utils__$Pair_Pair_$Impl_$.get_y(this.lifespan)) { this.markForDeletion = true; return; } } nova_render_FlxLocalSprite.prototype.update.call(this,elapsed); var i = this.children.length - 1; while(i >= 0) { var c = this.children[i]; var cp = js_Boot.__cast(c , nova_render_NovaParticle); if(cp.markedForDeath) { cp.reset(0,0); this.particles.push(cp); HxOverrides.remove(this.children,c); } --i; } } ,emitParticle: function(particle) { if(Math.abs(nova_utils__$Pair_Pair_$Impl_$.get_x(this.colorTransformR)) > 1e-6 || Math.abs(nova_utils__$Pair_Pair_$Impl_$.get_x(this.colorTransformG)) > 1e-6 || Math.abs(nova_utils__$Pair_Pair_$Impl_$.get_x(this.colorTransformB)) > 1e-6) { var adjustR = flixel_FlxG.random["float"](nova_utils__$Pair_Pair_$Impl_$.get_x(this.colorTransformR),nova_utils__$Pair_Pair_$Impl_$.get_y(this.colorTransformR)); var adjustG = flixel_FlxG.random["float"](nova_utils__$Pair_Pair_$Impl_$.get_x(this.colorTransformG),nova_utils__$Pair_Pair_$Impl_$.get_y(this.colorTransformG)); var adjustB = flixel_FlxG.random["float"](nova_utils__$Pair_Pair_$Impl_$.get_x(this.colorTransformB),nova_utils__$Pair_Pair_$Impl_$.get_y(this.colorTransformB)); particle.setColorTransform(1.0,1.0,1.0,1.0,adjustR | 0,adjustG | 0,adjustB | 0,0); } particle.lifespan = nova_utils__$Pair_Pair_$Impl_$.get_x(this.lifespan) + Math.random() * (nova_utils__$Pair_Pair_$Impl_$.get_y(this.lifespan) - nova_utils__$Pair_Pair_$Impl_$.get_x(this.lifespan)); var startAlphaV = nova_utils__$Pair_Pair_$Impl_$.get_x(this.startAlpha) + Math.random() * (nova_utils__$Pair_Pair_$Impl_$.get_y(this.startAlpha) - nova_utils__$Pair_Pair_$Impl_$.get_x(this.startAlpha)); var speedV = nova_utils__$Pair_Pair_$Impl_$.get_x(this.speed) + Math.random() * (nova_utils__$Pair_Pair_$Impl_$.get_y(this.speed) - nova_utils__$Pair_Pair_$Impl_$.get_x(this.speed)); var launchV = nova_utils__$Pair_Pair_$Impl_$.get_x(this.launchAngle) + Math.random() * (nova_utils__$Pair_Pair_$Impl_$.get_y(this.launchAngle) - nova_utils__$Pair_Pair_$Impl_$.get_x(this.launchAngle)); var endAlphaV = this.endAlpha != null ? nova_utils__$Pair_Pair_$Impl_$.get_x(this.endAlpha) + Math.random() * (nova_utils__$Pair_Pair_$Impl_$.get_y(this.endAlpha) - nova_utils__$Pair_Pair_$Impl_$.get_x(this.endAlpha)) : startAlphaV; particle.alphaRange = nova_utils__$Pair_Pair_$Impl_$.fromFloatArray([startAlphaV,endAlphaV]); particle.set_alpha(nova_utils__$Pair_Pair_$Impl_$.get_x(particle.alphaRange)); particle.velocity.set(speedV * Math.cos(launchV),speedV * Math.sin(launchV)); if(this.onCreate != null) { this.onCreate(particle); } this.add(particle); return particle; } ,__class__: nova_render_NovaEmitter }); var nova_render_NovaParticle = function(sprite) { this.percent = 0; this._delta = 0; this.onUpdate = null; this.alphaRange = nova_utils__$Pair_Pair_$Impl_$.fromFloatArray([1,1]); this.velocityMultiplier = nova_utils__$Pair_Pair_$Impl_$.fromFloatArray([1,1]); this.age = 0; this.markedForDeath = false; this.lifespan = 1; nova_render_LocalWrapper.call(this,sprite); this.set_exists(false); }; $hxClasses["nova.render.NovaParticle"] = nova_render_NovaParticle; nova_render_NovaParticle.__name__ = ["nova","render","NovaParticle"]; nova_render_NovaParticle.__super__ = nova_render_LocalWrapper; nova_render_NovaParticle.prototype = $extend(nova_render_LocalWrapper.prototype,{ lifespan: null ,markedForDeath: null ,age: null ,velocityMultiplier: null ,alphaRange: null ,onUpdate: null ,_delta: null ,percent: null ,destroy: function() { nova_render_LocalWrapper.prototype.destroy.call(this); } ,get_animation: function() { return this._sprite.animation; } ,update: function(elapsed) { if(this.age < this.lifespan) { this.age += elapsed; } if(this.age >= this.lifespan && this.lifespan != 0) { this.markedForDeath = true; return; } else { this._delta = elapsed / this.lifespan; this.percent = this.age / this.lifespan; if(this.onUpdate != null) { this.onUpdate(this); } if(this.alpha != 0) { this.set_alpha(nova_utils__$Pair_Pair_$Impl_$.get_x(this.alphaRange) + this.percent * (nova_utils__$Pair_Pair_$Impl_$.get_y(this.alphaRange) - nova_utils__$Pair_Pair_$Impl_$.get_x(this.alphaRange))); } } nova_render_LocalWrapper.prototype.update.call(this,elapsed); if(this._sprite.animation._curAnim != null && this._sprite.animation._curAnim.frames.length > 1 && this._sprite.animation.get_finished()) { this.markedForDeath = true; } } ,reset: function(X,Y) { nova_render_LocalWrapper.prototype.reset.call(this,X,Y); this.age = 0; this.markedForDeath = false; this.set_visible(true); } ,onEmit: function() { } ,__class__: nova_render_NovaParticle }); var nova_render_TiledBitmapData = function(graphicAsset,tileWidth,tileHeight,transform) { if(tileHeight == null) { tileHeight = 0; } if(tileWidth == null) { tileWidth = 0; } this.graphic = flixel_FlxG.bitmap.add(graphicAsset); if(this.graphic == null) { return; } this.tileWidth = tileWidth == 0 ? this.graphic.bitmap.width : tileWidth; this.tileHeight = tileHeight == 0 ? this.graphic.bitmap.height : tileHeight; this.transform = transform; this.numColumns = this.graphic.bitmap.width / tileWidth | 0; this.numRows = this.graphic.bitmap.height / tileHeight | 0; }; $hxClasses["nova.render.TiledBitmapData"] = nova_render_TiledBitmapData; nova_render_TiledBitmapData.__name__ = ["nova","render","TiledBitmapData"]; nova_render_TiledBitmapData.prototype = { graphic: null ,tileWidth: null ,tileHeight: null ,numRows: null ,numColumns: null ,transform: null ,getTile: function(coords) { var pairCoords = (nova_utils_BitmapDataUtils.toIntPairFn(this.numColumns))(coords); var tile = new openfl_display_BitmapData(this.tileWidth,this.tileHeight); tile.copyPixels(this.graphic.bitmap,new openfl_geom_Rectangle(nova_utils__$Pair_Pair_$Impl_$.get_x(pairCoords) * this.tileWidth,nova_utils__$Pair_Pair_$Impl_$.get_y(pairCoords) * this.tileHeight,this.tileWidth,this.tileHeight),new openfl_geom_Point(0,0)); if(this.transform == null) { return tile; } return this.transform(tile); } ,stitchTiles: function(coords) { var pairCoords = coords.map(nova_utils_BitmapDataUtils.toIntPairFn(this.numColumns)); var tile = new openfl_display_BitmapData(coords.length * this.tileWidth,this.tileHeight); var _g1 = 0; var _g = coords.length; while(_g1 < _g) { var i = _g1++; tile.copyPixels(this.graphic.bitmap,new openfl_geom_Rectangle(nova_utils__$Pair_Pair_$Impl_$.get_x(pairCoords[i]) * this.tileWidth,nova_utils__$Pair_Pair_$Impl_$.get_y(pairCoords[i]) * this.tileHeight,this.tileWidth,this.tileHeight),new openfl_geom_Point(i * this.tileWidth,0)); } if(this.transform == null) { return tile; } return this.transform(tile); } ,__class__: nova_render_TiledBitmapData }; var nova_ui_dialog_DialogBox = function(messages,options) { this.optionsOffset = nova_utils__$Pair_Pair_$Impl_$.fromIntArray([0,0]); this.selectOptionSprite = null; this.canAdvance = true; this.boxCallbackStr = null; this.emitCallback = null; this.boxCallback = null; this.callback = null; this.textPreprocess = null; this.textOffset = nova_utils__$Pair_Pair_$Impl_$.fromIntArray([0,0]); this.speakerOffset = nova_utils__$Pair_Pair_$Impl_$.fromIntArray([0,0]); this.speakerImage = null; this.speakerPadding = 6; this.speakerBackground = null; this.speakerText = null; this.dialogSpeakerSprite = null; this.speakerSpriteMap = null; this.speakerSprite = null; this.currentSpeaker = ""; this.lastSpeaker = ""; this.globalScale = 1; this.bgSprite = null; this.textPadding = nova_utils__$Pair_Pair_$Impl_$.fromIntArray([6,5]); this.backgroundPadding = nova_utils__$Pair_Pair_$Impl_$.fromIntArray([0,0]); this.choiceIndicator = null; this.choiceSprite = null; this.choiceIndex = 0; this.mode = nova_ui_dialog_DialogBoxMode.NORMAL; this.advanceIndicatorSprite = null; this.advanceSound = null; this.advancing = false; this.advanceLength = 8; this.advanceStyle = nova_ui_dialog_DialogAdvanceStyle.NONE; this.position = nova_ui_dialog_DialogBoxPosition.BOTTOM; this.align = nova_ui_dialog_DialogBoxAlign.LEFT; this.finished = false; this.skip = true; this.abort = false; nova_render_FlxLocalSprite.call(this); if(messages != null) { nova_input_InputController.consume(nova_input_Button.CONFIRM); this.messages = messages; this.pointer = new nova_ui_dialog_DialogSequencePointer(messages,0); this.labelMap = new haxe_ds_StringMap(); var _g1 = 0; var _g = this.messages.get_length(); while(_g1 < _g) { var i = _g1++; var node = this.messages.sequence[i]; if(node.type == nova_ui_dialog_SyntaxNodeType.LABEL) { var key = node.value; var _this = this.labelMap; if(__map_reserved[key] != null) { _this.setReserved(key,i); } else { _this.h[key] = i; } } } } this.options = options; this.labels = new haxe_ds_StringMap(); this.variables = new haxe_ds_StringMap(); this.globalVariables = new haxe_ds_StringMap(); this.globalReferences = []; this.choicesTaken = []; if(Object.prototype.hasOwnProperty.call(options,"scale")) { this["globalScale"] = Reflect.field(options,"scale"); } var _g2 = 0; var _g11 = ["abort","align","skip","advanceStyle","advanceLength","advanceSound","callback","abortCallback","emitCallback","selectOptionSprite","globalVariables","speakerSpriteMap","textPreprocess","textPadding"]; while(_g2 < _g11.length) { var supportedField = _g11[_g2]; ++_g2; if(Object.prototype.hasOwnProperty.call(options,supportedField)) { this[supportedField] = Reflect.field(options,supportedField); } } this.textPadding = nova_utils__$Pair_Pair_$Impl_$.multiply(this.textPadding,this.globalScale); if(Object.prototype.hasOwnProperty.call(options,"background")) { var bgSrc = new flixel_FlxSprite(); var bitmapData = nova_utils_BitmapDataUtils.loadFromObject(options.background); bgSrc.loadGraphic(bitmapData); this.bgSprite = new nova_render_LocalWrapper(bgSrc); this.add(this.bgSprite); this.set_width(this.bgSprite.get_width()); this.set_height(this.bgSprite.get_height()); } if(Object.prototype.hasOwnProperty.call(options,"speakerSprite")) { this.speakerSprite = nova_utils_BitmapDataUtils.loadTilesFromObject(options.speakerSprite); this.speakerSpriteData = options.speakerSprite; } if(Object.prototype.hasOwnProperty.call(options,"speakerBackground")) { var dialogSpeakerSrc = new flixel_FlxSprite(); var bitmapData1 = nova_utils_BitmapDataUtils.loadFromObject(options.speakerBackground); this.speakerBackground = options.speakerBackground; dialogSpeakerSrc.loadGraphic(bitmapData1); this.dialogSpeakerSprite = new nova_render_LocalWrapper(dialogSpeakerSrc); this.add(this.dialogSpeakerSprite); if(Object.prototype.hasOwnProperty.call(options.speakerBackground,"offset")) { this.speakerOffset = nova_utils__$Pair_Pair_$Impl_$.fromIntArray([options.speakerBackground.offset.x * this.globalScale | 0,options.speakerBackground.offset.y * this.globalScale | 0]); } if(Object.prototype.hasOwnProperty.call(options.speakerBackground,"padding")) { this.speakerPadding = options.speakerBackground.padding; } if(Object.prototype.hasOwnProperty.call(options.speakerBackground,"textOffset")) { this.textOffset = nova_utils__$Pair_Pair_$Impl_$.fromIntArray([options.speakerBackground.textOffset.x * this.globalScale | 0,options.speakerBackground.textOffset.y * this.globalScale | 0]); } this.speakerBoxTop = -this.dialogSpeakerSprite.get_height() + nova_utils__$Pair_Pair_$Impl_$.get_y(this.speakerOffset); this.dialogSpeakerSprite.set_y(this.speakerBoxTop); this.dialogSpeakerSprite.set_x(5 * this.globalScale + nova_utils__$Pair_Pair_$Impl_$.get_x(this.speakerOffset)); this.dialogSpeakerSprite.set_visible(false); } this.speakerPadding *= this.globalScale; if(nova_utils_StructureUtils.prop(options,"selectOptionSprite.offset") != null) { this.optionsOffset = nova_utils__$Pair_Pair_$Impl_$.fromIntArray([nova_utils_StructureUtils.prop(options,"selectOptionSprite.offset.x") | 0,nova_utils_StructureUtils.prop(options,"selectOptionSprite.offset.y") | 0]); } if(Object.prototype.hasOwnProperty.call(options,"advanceIndicator")) { var advanceIndicatorSrc = new flixel_FlxSprite(); var advanceIndicator = options.advanceIndicator; if(!Object.prototype.hasOwnProperty.call(advanceIndicator,"nextFrames")) { haxe_Log.trace("Warning: parameter `advanceIndicator` has no Array field `nextFrames`!",{ fileName : "DialogBox.hx", lineNumber : 288, className : "nova.ui.dialog.DialogBox", methodName : "new"}); } if(!Object.prototype.hasOwnProperty.call(advanceIndicator,"finishFrames")) { haxe_Log.trace("Warning: parameter `advanceIndicator` has no Array field `finishFrames`!",{ fileName : "DialogBox.hx", lineNumber : 291, className : "nova.ui.dialog.DialogBox", methodName : "new"}); } this.advanceIndicatorInfo = { image : nova_utils_BitmapDataUtils.loadFromObject(advanceIndicator), nextFrames : Object.prototype.hasOwnProperty.call(advanceIndicator,"nextFrames") ? advanceIndicator.nextFrames : [0], finishFrames : Object.prototype.hasOwnProperty.call(advanceIndicator,"finishFrames") ? advanceIndicator.finishFrames : [0]}; advanceIndicatorSrc.loadGraphic(this.advanceIndicatorInfo.image,true,Object.prototype.hasOwnProperty.call(advanceIndicator,"width") ? advanceIndicator.width : advanceIndicator.image.width,Object.prototype.hasOwnProperty.call(advanceIndicator,"height") ? advanceIndicator.height : advanceIndicator.image.height); advanceIndicatorSrc.animation.add("next",this.advanceIndicatorInfo.nextFrames,5); advanceIndicatorSrc.animation.add("finish",this.advanceIndicatorInfo.finishFrames,5); advanceIndicatorSrc.animation.play("next"); advanceIndicatorSrc.set_x(this.get_width() - advanceIndicatorSrc.get_width() - nova_utils__$Pair_Pair_$Impl_$.get_x(this.textPadding)); advanceIndicatorSrc.set_y(this.get_height() - advanceIndicatorSrc.get_height() - nova_utils__$Pair_Pair_$Impl_$.get_y(this.textPadding)); this.advanceIndicatorSprite = new nova_render_LocalWrapper(advanceIndicatorSrc); if(advanceIndicator.animation != null) { var destination = { x : advanceIndicator.animation.x + advanceIndicatorSrc.x, y : advanceIndicator.animation.y + advanceIndicatorSrc.y}; this.advanceIndicatorTween = flixel_tweens_FlxTween.tween(this.advanceIndicatorSprite,destination,0.3,{ ease : flixel_tweens_FlxEase.expoInOut, type : 4}); } this.add(this.advanceIndicatorSprite); } if(Object.prototype.hasOwnProperty.call(options,"beforeMount")) { options.beforeMount(this); } this.text = new nova_render_LocalWrapper(new flixel_text_FlxText()); this.add(this.text); this.setTextFormat(this.text._sprite,options.textFormat); if(messages != null) { if(this.pointer.get().type != nova_ui_dialog_SyntaxNodeType.TEXT && this.pointer.get().type != nova_ui_dialog_SyntaxNodeType.CHOICE_BOX) { this.advanceUntilBlocked(false); } if(this.pointer.get().type == nova_ui_dialog_SyntaxNodeType.RETURN) { if(this.callback != null) { this.callback(this.pointer.get().value); } else { haxe_Log.trace("Warning: called RETURN statement without any callback function!",{ fileName : "DialogBox.hx", lineNumber : 334, className : "nova.ui.dialog.DialogBox", methodName : "new"}); } this.finished = true; return; } this.renderText(this.parseDialogNode()); } }; $hxClasses["nova.ui.dialog.DialogBox"] = nova_ui_dialog_DialogBox; nova_ui_dialog_DialogBox.__name__ = ["nova","ui","dialog","DialogBox"]; nova_ui_dialog_DialogBox.__interfaces__ = [nova_input_Focusable]; nova_ui_dialog_DialogBox._typeOutAction = function(text,frames) { return new nova_animation_Action(function(sprite,object) { object.text = text; (js_Boot.__cast(sprite , flixel_text_FlxText)).set_text(""); },function(sprite1,frame,object1) { var textSprite = js_Boot.__cast(sprite1 , flixel_text_FlxText); var utf8Text = lime_text__$UTF8String_UTF8String_$Impl_$._new(object1.text); var prevLength = lime_text__$UTF8String_UTF8String_$Impl_$.get_length(utf8Text) * (frame - 1) / frames | 0; var newLength = lime_text__$UTF8String_UTF8String_$Impl_$.get_length(utf8Text) * frame / frames | 0; var newSubstring = lime_text__$UTF8String_UTF8String_$Impl_$.substring(utf8Text,prevLength,newLength); var firstSpace = newSubstring.indexOf(" "); if(firstSpace != -1) { textSprite.set_text(lime_text__$UTF8String_UTF8String_$Impl_$.substring(utf8Text,0,newLength)); var lastSpace = prevLength + newSubstring.lastIndexOf(" "); var nextSpace = lime_text__$UTF8String_UTF8String_$Impl_$.indexOf(utf8Text," ",lastSpace + 1); if(nextSpace == -1) { nextSpace = lime_text__$UTF8String_UTF8String_$Impl_$.get_length(utf8Text); } var lines = textSprite.textField.get_numLines(); textSprite.set_text(lime_text__$UTF8String_UTF8String_$Impl_$.substring(utf8Text,0,nextSpace)); if(textSprite.textField.get_numLines() > lines) { textSprite.set_text(lime_text__$UTF8String_UTF8String_$Impl_$.substring(utf8Text,0,prevLength + firstSpace) + "\n" + lime_text__$UTF8String_UTF8String_$Impl_$.substring(utf8Text,prevLength + firstSpace + 1,newLength)); } else { textSprite.set_text(lime_text__$UTF8String_UTF8String_$Impl_$.substring(utf8Text,0,newLength)); } } else { textSprite.set_text(lime_text__$UTF8String_UTF8String_$Impl_$.substring(utf8Text,0,newLength)); } },frames); }; nova_ui_dialog_DialogBox._slideInAction = function(direction,frames) { return new nova_animation_Action(function(sprite,object) { if(direction.charAt(0) == "l") { object.direction = [-1,0]; } else if(direction.charAt(0) == "r") { object.direction = [1,0]; } else if(direction.charAt(0) == "u") { object.direction = [0,-1]; } else if(direction.charAt(0) == "d") { object.direction = [0,1]; } else { haxe_Log.trace("Error: unknown `slideIn` direction " + direction + " (defaulting to right)",{ fileName : "DialogBox.hx", lineNumber : 171, className : "nova.ui.dialog.DialogBox", methodName : "_slideInAction"}); object.direction = [1,0]; } object.bitmapData = sprite.get_pixels().clone(); },function(sprite1,frame,object1) { sprite1.get_pixels().copyPixels(object1.bitmapData,object1.bitmapData.rect,new openfl_geom_Point(0,0)); var ratio = (frames - frame) / frames; if(object1.direction[1] == 0) { var wid = object1.bitmapData.width * ratio | 0; sprite1.get_pixels().fillRect(new openfl_geom_Rectangle(object1.direction[0] < 0 ? object1.bitmapData.width - wid : 0,0,wid,object1.bitmapData.height),0); } else { var hei = object1.bitmapData.height * ratio | 0; sprite1.get_pixels().fillRect(new openfl_geom_Rectangle(0,object1.direction[1] < 0 ? object1.bitmapData.height - hei : 0,object1.bitmapData.width,hei),0); } },frames); }; nova_ui_dialog_DialogBox.typeOut = function(sprite,text,frames) { return nova_animation_Director.directorChainableFn(nova_ui_dialog_DialogBox._typeOutAction(text,frames),js_Boot.__cast(sprite , flixel_FlxSprite),"__dialogTransition"); }; nova_ui_dialog_DialogBox.slideIn = function(sprite,startOffset,frames) { return nova_animation_Director.directorChainableFn(nova_ui_dialog_DialogBox._slideInAction(startOffset,frames),js_Boot.__cast(sprite , flixel_FlxSprite),"__slideInTransition"); }; nova_ui_dialog_DialogBox.__super__ = nova_render_FlxLocalSprite; nova_ui_dialog_DialogBox.prototype = $extend(nova_render_FlxLocalSprite.prototype,{ abort: null ,skip: null ,finished: null ,labelMap: null ,align: null ,position: null ,advanceStyle: null ,advanceLength: null ,advancing: null ,advanceSound: null ,advanceIndicatorInfo: null ,advanceIndicatorSprite: null ,advanceIndicatorTween: null ,mode: null ,choices: null ,choiceIndex: null ,choiceSprite: null ,choiceIndicator: null ,backgroundPadding: null ,textPadding: null ,textFormat: null ,optionsTextFormat: null ,bgSprite: null ,text: null ,nextText: null ,copiedText: null ,messages: null ,bottomImageStore: null ,globalScale: null ,lastSpeaker: null ,currentSpeaker: null ,speakerSprite: null ,speakerSpriteData: null ,speakerSpriteMap: null ,dialogSpeakerSprite: null ,speakerText: null ,speakerBackground: null ,speakerPadding: null ,speakerImage: null ,speakerOffset: null ,textOffset: null ,textPreprocess: null ,callback: null ,boxCallback: null ,emitCallback: null ,boxCallbackStr: null ,canAdvance: null ,options: null ,optionsTween: null ,selectOptionSprite: null ,optionsOffset: null ,speakerBoxTop: null ,choicesTaken: null ,variables: null ,globalVariables: null ,globalReferences: null ,pointer: null ,labels: null ,parseDialogNode: function() { var current = this.pointer.get(); if(current.type == nova_ui_dialog_SyntaxNodeType.TEXT) { var build = nova_utils_StructureUtils.clone(current.value); return build; } if(current.type == nova_ui_dialog_SyntaxNodeType.CHOICE_BOX) { var build1 = { text : "", choices : []}; var _g = 0; var _g1 = current.child.sequence; while(_g < _g1.length) { var child = _g1[_g]; ++_g; if(child.type == nova_ui_dialog_SyntaxNodeType.TEXT) { build1 = nova_utils_StructureUtils.merge(build1,child.value); } } this.scrapeChoices(current.child,build1.choices); return build1; } return null; } ,scrapeChoices: function(sequence,choices) { var _g = 0; var _g1 = sequence.sequence; while(_g < _g1.length) { var s = _g1[_g]; ++_g; if(s.type == nova_ui_dialog_SyntaxNodeType.CHOICE) { choices.push([s.value.text,s.value.tag]); } else if(s.type == nova_ui_dialog_SyntaxNodeType.IF) { var mergedVariables = new haxe_ds_StringMap(); var k = this.globalVariables.keys(); while(k.hasNext()) { var k1 = k.next(); var _this = this.globalVariables; var value = __map_reserved[k1] != null ? _this.getReserved(k1) : _this.h[k1]; if(__map_reserved[k1] != null) { mergedVariables.setReserved(k1,value); } else { mergedVariables.h[k1] = value; } } var k2 = this.variables.keys(); while(k2.hasNext()) { var k3 = k2.next(); if(this.globalReferences.indexOf(k3) == -1) { var _this1 = this.globalVariables; var value1 = __map_reserved[k3] != null ? _this1.getReserved(k3) : _this1.h[k3]; if(__map_reserved[k3] != null) { mergedVariables.setReserved(k3,value1); } else { mergedVariables.h[k3] = value1; } } } var exp = s.value.evaluate(mergedVariables); if(exp.type == nova_ui_dialog_ExpressionNodeType.INTEGER && exp.value > 0) { this.scrapeChoices(s.child,choices); } } } } ,advanceUntilBlocked: function(stepFirst) { if(stepFirst == null) { stepFirst = true; } var steppedFirst = false; while(true) { if(stepFirst || steppedFirst) { this.pointer.step(); } steppedFirst = true; var node = this.pointer.get(); if(node == null || node.type == nova_ui_dialog_SyntaxNodeType.TEXT || node.type == nova_ui_dialog_SyntaxNodeType.CHOICE_BOX || node.type == nova_ui_dialog_SyntaxNodeType.RETURN || node.type == nova_ui_dialog_SyntaxNodeType.FUNCTION) { return; } else if(node.type == nova_ui_dialog_SyntaxNodeType.JUMP) { var label = node.value; var _this = this.labelMap; if(__map_reserved[label] != null ? _this.existsReserved(label) : _this.h.hasOwnProperty(label)) { this.pointer.sequence = this.messages; var _this1 = this.labelMap; var tmp = __map_reserved[label] != null ? _this1.getReserved(label) : _this1.h[label]; this.pointer.index = tmp; } else if(label == "end") { this.pointer.sequence = null; return; } else { haxe_Log.trace("Label " + label + " doesn't exist!",{ fileName : "DialogBox.hx", lineNumber : 407, className : "nova.ui.dialog.DialogBox", methodName : "advanceUntilBlocked"}); } } else if(node.type == nova_ui_dialog_SyntaxNodeType.IF) { var mergedVariables = new haxe_ds_StringMap(); var k = this.globalVariables.keys(); while(k.hasNext()) { var k1 = k.next(); var _this2 = this.globalVariables; var value = __map_reserved[k1] != null ? _this2.getReserved(k1) : _this2.h[k1]; if(__map_reserved[k1] != null) { mergedVariables.setReserved(k1,value); } else { mergedVariables.h[k1] = value; } } var k2 = this.variables.keys(); while(k2.hasNext()) { var k3 = k2.next(); if(this.globalReferences.indexOf(k3) == -1) { var _this3 = this.globalVariables; var value1 = __map_reserved[k3] != null ? _this3.getReserved(k3) : _this3.h[k3]; if(__map_reserved[k3] != null) { mergedVariables.setReserved(k3,value1); } else { mergedVariables.h[k3] = value1; } } } var exp = node.value.evaluate(mergedVariables); if(exp.type == nova_ui_dialog_ExpressionNodeType.INTEGER && exp.value > 0) { this.pointer.sequence = node.child; this.pointer.index = -1; } } else if(node.type == nova_ui_dialog_SyntaxNodeType.VARIABLE_ASSIGN) { var global = false; if(this.globalReferences.indexOf(node.value.name) != -1) { global = true; } var tmp1; var key = node.value.name; var _this4 = this.globalVariables; if(__map_reserved[key] != null ? _this4.existsReserved(key) : _this4.h.hasOwnProperty(key)) { var key1 = node.value.name; var _this5 = this.variables; tmp1 = !(__map_reserved[key1] != null ? _this5.existsReserved(key1) : _this5.h.hasOwnProperty(key1)); } else { tmp1 = false; } if(tmp1) { global = true; } if(global) { var key2 = node.value.name; var _this6 = this.globalVariables; var value2 = node.value.value; if(__map_reserved[key2] != null) { _this6.setReserved(key2,value2); } else { _this6.h[key2] = value2; } } else { var key3 = node.value.name; var _this7 = this.variables; var value3 = node.value.value; if(__map_reserved[key3] != null) { _this7.setReserved(key3,value3); } else { _this7.h[key3] = value3; } } } else if(node.type == nova_ui_dialog_SyntaxNodeType.GLOBAL) { this.globalReferences.push(node.value); } else if(node.type == nova_ui_dialog_SyntaxNodeType.EMIT) { this.emitCallback(node.value); } else if(node.type == nova_ui_dialog_SyntaxNodeType.DEBUG) { var mergedVariables1 = new haxe_ds_StringMap(); var k4 = this.globalVariables.keys(); while(k4.hasNext()) { var k5 = k4.next(); var _this8 = this.globalVariables; var value4 = __map_reserved[k5] != null ? _this8.getReserved(k5) : _this8.h[k5]; if(__map_reserved[k5] != null) { mergedVariables1.setReserved(k5,value4); } else { mergedVariables1.h[k5] = value4; } } var k6 = this.variables.keys(); while(k6.hasNext()) { var k7 = k6.next(); if(this.globalReferences.indexOf(k7) == -1) { var _this9 = this.globalVariables; var value5 = __map_reserved[k7] != null ? _this9.getReserved(k7) : _this9.h[k7]; if(__map_reserved[k7] != null) { mergedVariables1.setReserved(k7,value5); } else { mergedVariables1.h[k7] = value5; } } } var key4 = node.value.name; haxe_Log.trace("DEBUG [line " + Std.string(node.value.line) + "]: " + Std.string(node.value.name) + " = " + Std.string(__map_reserved[key4] != null ? mergedVariables1.getReserved(key4) : mergedVariables1.h[key4]),{ fileName : "DialogBox.hx", lineNumber : 451, className : "nova.ui.dialog.DialogBox", methodName : "advanceUntilBlocked"}); } } } ,renderText: function(message) { var _gthis = this; var nextTextStr; var nextSpeaker = ""; if(this.speakerText != null) { this.remove(this.speakerText); this.speakerText.destroy(); } if(typeof(message) == "string") { nextTextStr = message; if(this.textPreprocess != null) { nextTextStr = this.textPreprocess(this,nextTextStr); } } else { if(Object.prototype.hasOwnProperty.call(message,"text")) { nextTextStr = message.text; } else { nextTextStr = ""; } if(this.textPreprocess != null) { nextTextStr = this.textPreprocess(this,nextTextStr); } nextSpeaker = message.speaker; if(nextSpeaker == null) { nextSpeaker = ""; } if(this.choiceSprite != null) { this.remove(this.choiceSprite); this.choiceSprite.destroy(); this.choiceSprite = null; this.remove(this.choiceIndicator); this.choiceIndicator.destroy(); } if(Object.prototype.hasOwnProperty.call(message,"choices")) { var _g = []; var _g1 = 0; var _g2 = js_Boot.__cast(message.choices , Array); while(_g1 < _g2.length) { var i = _g2[_g1]; ++_g1; _g.push(i[0]); } this.choices = _g; this.choiceIndex = 0; this.mode = nova_ui_dialog_DialogBoxMode.SELECT_OPTION; var strIndex = 0; var choiceText = new flixel_text_FlxText(0,0,0); if(Object.prototype.hasOwnProperty.call(this.options,"choiceTextFormat")) { this.setTextFormat(choiceText,nova_utils_StructureUtils.merge(this.options.choiceTextFormat,{ size : 5})); } else { this.setTextFormat(choiceText,nova_utils_StructureUtils.merge(this.options.textFormat,{ size : 5})); } this.choiceSprite = new nova_render_LocalWrapper(choiceText); this.add(this.choiceSprite); var selectWrapper = new flixel_FlxSprite(); if(this.selectOptionSprite != null) { selectWrapper.loadGraphic(nova_utils_BitmapDataUtils.loadFromObject(this.selectOptionSprite)); } else { haxe_Log.trace("Warning: `selectOptionSprite` is null!",{ fileName : "DialogBox.hx", lineNumber : 507, className : "nova.ui.dialog.DialogBox", methodName : "renderText"}); } this.choiceIndicator = new nova_render_LocalWrapper(selectWrapper); this.add(this.choiceIndicator); } else { this.mode = nova_ui_dialog_DialogBoxMode.NORMAL; nextTextStr = message.text; if(this.textPreprocess != null) { nextTextStr = this.textPreprocess(this,nextTextStr); } } } var tmp = nextSpeaker != this.currentSpeaker && this.dialogSpeakerSprite != null; var textX = nova_utils__$Pair_Pair_$Impl_$.get_x(this.textPadding) + (Object.prototype.hasOwnProperty.call(this.options,"textOffset") ? this.options.textOffset[0] : 0); if(this.speakerImage != null) { this.remove(this.speakerImage); this.speakerImage = null; } if(nextSpeaker != "") { if(Object.prototype.hasOwnProperty.call(this.options,"speakerBackground")) { if(this.dialogSpeakerSprite != null) { this.dialogSpeakerSprite.set_visible(true); } this.speakerText = new nova_render_LocalWrapper(new flixel_text_FlxText(0,0,0,nextSpeaker)); this.setTextFormat(this.speakerText._sprite,this.options.textFormat); this.speakerText.set_x(5 * this.globalScale + nova_utils__$Pair_Pair_$Impl_$.get_x(this.speakerOffset) + nova_utils__$Pair_Pair_$Impl_$.get_x(this.textOffset) + this.speakerPadding); this.speakerText.set_y(this.speakerBoxTop + this.dialogSpeakerSprite.get_height() - this.speakerText.get_height() - 4 * this.globalScale + nova_utils__$Pair_Pair_$Impl_$.get_y(this.textOffset)); this.speakerText.set_width(this.speakerText._sprite.get_width()); if(this.speakerBackground != null) { var speakerBitmapData = nova_utils_BitmapDataUtils.loadFromObject(this.speakerBackground); this.dialogSpeakerSprite._sprite.loadGraphic(nova_utils_BitmapDataUtils.horizontalStretchCenter(speakerBitmapData,this.speakerPadding,(this.speakerText.get_width() | 0) + 2 * this.speakerPadding)); } this.add(this.speakerText); } var tmp1; if(this.speakerSpriteMap != null && this.speakerSprite != null) { var _this = this.speakerSpriteMap; if(__map_reserved[nextSpeaker] != null) { tmp1 = _this.existsReserved(nextSpeaker); } else { tmp1 = _this.h.hasOwnProperty(nextSpeaker); } } else { tmp1 = false; } if(tmp1) { var tmp2; var tmp3 = ((function($this) { var $r; var this11 = $this.speakerSpriteMap; $r = (function($this) { var $r; var _this1 = this11; $r = __map_reserved[nextSpeaker] != null ? _this1.getReserved(nextSpeaker) : _this1.h[nextSpeaker]; return $r; }($this)); return $r; }(this)) instanceof Array); if(tmp3) { var this11 = this.speakerSpriteMap; var _this2 = this11; tmp2 = (__map_reserved[nextSpeaker] != null ? _this2.getReserved(nextSpeaker) : _this2.h[nextSpeaker]).__enum__ == null; } else { tmp2 = false; } if(tmp2) { var _this3 = this.speakerSpriteMap; var loc = __map_reserved[nextSpeaker] != null ? _this3.getReserved(nextSpeaker) : _this3.h[nextSpeaker]; this.speakerImage = new nova_render_LocalWrapper(new flixel_FlxSprite(null,null,this.speakerSprite.getTile(loc))); } else { var _this4 = this.speakerSpriteMap; var m = __map_reserved[nextSpeaker] != null ? _this4.getReserved(nextSpeaker) : _this4.h[nextSpeaker]; if(Object.prototype.hasOwnProperty.call(message,"mood")) { var mood = message.mood; if(__map_reserved[mood] != null ? m.existsReserved(mood) : m.h.hasOwnProperty(mood)) { var loc1 = __map_reserved[mood] != null ? m.getReserved(mood) : m.h[mood]; this.speakerImage = new nova_render_LocalWrapper(new flixel_FlxSprite(null,null,this.speakerSprite.getTile(loc1))); } } else if(__map_reserved["default"] != null ? m.existsReserved("default") : m.h.hasOwnProperty("default")) { var loc2 = __map_reserved["default"] != null ? m.getReserved("default") : m.h["default"]; this.speakerImage = new nova_render_LocalWrapper(new flixel_FlxSprite(null,null,this.speakerSprite.getTile(loc2))); } } } if(this.speakerImage != null) { this.add(this.speakerImage); this.speakerImage.set_y((this.bgSprite.get_height() - this.speakerImage.get_height()) / 2 + (Object.prototype.hasOwnProperty.call(this.speakerSpriteData,"offset") ? this.speakerSpriteData.offset[1] : 0)); this.speakerImage.set_x(nova_utils__$Pair_Pair_$Impl_$.get_x(this.textPadding) + (Object.prototype.hasOwnProperty.call(this.speakerSpriteData,"offset") ? this.speakerSpriteData.offset[0] : 0)); textX += nova_utils__$Pair_Pair_$Impl_$.get_x(this.textPadding) + (this.speakerImage.get_width() | 0); if(this.lastSpeaker != nextSpeaker && Object.prototype.hasOwnProperty.call(this.speakerSpriteData,"transitionIn")) { this.speakerSpriteData.transitionIn(this.speakerImage); } } this.lastSpeaker = nextSpeaker; } else if(this.dialogSpeakerSprite != null) { this.dialogSpeakerSprite.set_visible(false); } if(this.advanceStyle == nova_ui_dialog_DialogAdvanceStyle.NONE) { this.remove(this.text); this.text.destroy(); this.text = new nova_render_LocalWrapper(new flixel_text_FlxText(0,0,this.bgSprite.get_width() - textX - nova_utils__$Pair_Pair_$Impl_$.get_x(this.textPadding),nextTextStr)); this.setTextFormat(this.text._sprite,this.options.textFormat); this.text.set_x(textX); this.text.set_y(nova_utils__$Pair_Pair_$Impl_$.get_y(this.textPadding) + (Object.prototype.hasOwnProperty.call(this.options,"textOffset") ? this.options.textOffset[1] : 0)); this.text._sprite.set_fieldWidth(this.bgSprite.get_width() - nova_utils__$Pair_Pair_$Impl_$.get_x(this.textPadding) - this.text.x); if(this.choiceSprite != null) { this.choiceSprite.set_x(textX + this.choiceIndicator.get_width() + this.globalScale * nova_utils__$Pair_Pair_$Impl_$.get_x(this.optionsOffset)); if(nextTextStr.length > 0) { this.choiceSprite.set_y(this.text.y + this.text._sprite.textField.getLineMetrics(0).height + 5 + this.globalScale * nova_utils__$Pair_Pair_$Impl_$.get_y(this.optionsOffset)); } else { this.choiceSprite.set_y(this.text.y + this.globalScale * nova_utils__$Pair_Pair_$Impl_$.get_y(this.optionsOffset)); } this.redrawOptions(); } this.add(this.text); if(this.advanceIndicatorSprite != null) { this.advanceIndicatorSprite.set_visible(true); } } else if(this.advanceStyle == nova_ui_dialog_DialogAdvanceStyle.SCROLL) { this.advancing = true; if(this.advanceIndicatorSprite != null) { this.advanceIndicatorSprite.set_visible(false); } this.nextText = new nova_render_LocalWrapper(new flixel_text_FlxText(0,0,this.bgSprite.get_width() - 2 * nova_utils__$Pair_Pair_$Impl_$.get_x(this.textPadding),nextTextStr)); this.nextText.set_x(textX); this.nextText.set_y(nova_utils__$Pair_Pair_$Impl_$.get_y(this.textPadding) + this.bgSprite.get_height()); this.setTextFormat(this.nextText._sprite,this.options.textFormat); this.nextText._sprite.draw(); this.bottomImageStore = new flixel_FlxSprite(); this.bottomImageStore.set_pixels(this.nextText._sprite.get_pixels().clone()); this.add(this.nextText); nova_animation_Director.call(nova_animation_Director.afterAll(null,[nova_animation_Director.moveBy(this.text,nova_utils__$Pair_Pair_$Impl_$.fromIntArray([0,-(this.bgSprite.get_height() | 0)]),this.advanceLength,"__dialogTransition"),nova_animation_Director.moveBy(this.nextText,nova_utils__$Pair_Pair_$Impl_$.fromIntArray([0,-(this.bgSprite.get_height() | 0)]),this.advanceLength,"__dialogTransition")]),function(sprite) { _gthis.remove(_gthis.text); _gthis.text.destroy(); _gthis.text = _gthis.nextText; _gthis.advancing = false; if(_gthis.advanceIndicatorSprite != null) { _gthis.advanceIndicatorSprite.set_visible(true); } }); } else if(this.advanceStyle == nova_ui_dialog_DialogAdvanceStyle.TYPEWRITER) { this.advancing = true; if(this.advanceIndicatorSprite != null) { this.advanceIndicatorSprite.set_visible(false); } this.remove(this.text); this.text.destroy(); this.text = new nova_render_LocalWrapper(new flixel_text_FlxText(textX,nova_utils__$Pair_Pair_$Impl_$.get_y(this.textPadding),this.bgSprite.get_width() - textX - nova_utils__$Pair_Pair_$Impl_$.get_x(this.textPadding),nextTextStr)); this.add(this.text); this.setTextFormat(this.text._sprite,this.options.textFormat); if(this.choiceSprite != null) { this.choiceSprite.set_x(textX + this.choiceIndicator.get_width() + this.globalScale * nova_utils__$Pair_Pair_$Impl_$.get_x(this.optionsOffset)); if(nextTextStr.length > 0) { this.choiceSprite.set_y(this.text.y + this.text._sprite.textField.getLineMetrics(0).height + 5 + this.globalScale * nova_utils__$Pair_Pair_$Impl_$.get_y(this.optionsOffset)); } else { this.choiceSprite.set_y(this.text.y + this.globalScale * nova_utils__$Pair_Pair_$Impl_$.get_y(this.optionsOffset)); } this.choiceSprite.set_visible(false); this.choiceIndicator.set_visible(false); this.redrawOptions(); } nova_animation_Director.call(nova_ui_dialog_DialogBox.typeOut(this.text._sprite,nextTextStr,this.advanceLength),function(sprite1) { _gthis.advancing = false; if(_gthis.advanceIndicatorSprite != null) { _gthis.advanceIndicatorSprite.set_visible(true); } if(_gthis.choiceSprite != null) { _gthis.choiceSprite.set_visible(true); _gthis.choiceIndicator.set_visible(true); } }); } } ,advanceAndRender: function() { this.advanceUntilBlocked(); if(this.pointer.get() != null) { if(this.pointer.get().type == nova_ui_dialog_SyntaxNodeType.RETURN) { if(this.callback != null) { this.callback(this.pointer.get().value); } else { haxe_Log.trace("Warning: called RETURN statement without any callback function!",{ fileName : "DialogBox.hx", lineNumber : 669, className : "nova.ui.dialog.DialogBox", methodName : "advanceAndRender"}); } this.finished = true; return; } else if(this.pointer.get().type == nova_ui_dialog_SyntaxNodeType.FUNCTION) { this.pointer.get().value(this); return; } this.renderText(this.parseDialogNode()); } else { if(this.callback != null && this.boxCallbackStr == null) { this.callback(); } this.finished = true; } } ,redrawOptions: function() { var choiceTextStr = this.choices.join("\n"); var lineHeight = this.choiceSprite._sprite.textField.getLineMetrics(0).height; var anchor = 0; if(this.choices.length * lineHeight > this.bgSprite.get_height() - 2 * nova_utils__$Pair_Pair_$Impl_$.get_y(this.textPadding)) { anchor = this.choiceIndex - 1; if(anchor < 0) { anchor = 0; } if(anchor > this.choices.length - 4) { anchor = this.choices.length - 4; } var _g = []; var _g2 = anchor; var _g1 = anchor + 4; while(_g2 < _g1) { var i = _g2++; _g.push(this.choices[i]); } choiceTextStr = _g.join("\n"); } this.choiceSprite._sprite.set_text(choiceTextStr); this.choiceIndicator.set_x(this.choiceSprite.x - this.choiceIndicator.get_width() - 5); this.choiceIndicator.set_y(this.choiceSprite.y + (this.choiceIndex - anchor) * this.choiceSprite._sprite.textField.getLineMetrics(0).height); } ,handleInput: function() { var message = this.parseDialogNode(); var advance = nova_input_InputController.justPressed(nova_input_Button.CONFIRM); if(advance) { nova_input_InputController.consume(nova_input_Button.CONFIRM); } if(this.mode == nova_ui_dialog_DialogBoxMode.NORMAL) { if(advance && this.canAdvance) { if(!this.advancing) { this.advanceAndRender(); } else if(this.skip) { var advanceTransitions = nova_animation_Director.actorsWithTag("__dialogTransition"); var _g1 = 0; var _g = advanceTransitions.length; while(_g1 < _g) { var i = _g1++; nova_animation_Director.skipToEnd(advanceTransitions[i]); } } } } else if(this.mode == nova_ui_dialog_DialogBoxMode.SELECT_OPTION) { if(nova_input_InputController.justPressed(nova_input_Button.DOWN)) { if(this.choiceIndex < this.choices.length - 1) { ++this.choiceIndex; this.redrawOptions(); } } else if(nova_input_InputController.justPressed(nova_input_Button.UP)) { if(this.choiceIndex > 0) { --this.choiceIndex; this.redrawOptions(); } } else if(advance) { var jumpToLabel = message.choices[this.choiceIndex][1]; var _this = this.labelMap; if(__map_reserved[jumpToLabel] != null ? _this.existsReserved(jumpToLabel) : _this.h.hasOwnProperty(jumpToLabel)) { this.pointer.sequence = this.messages; var _this1 = this.labelMap; var tmp = __map_reserved[jumpToLabel] != null ? _this1.getReserved(jumpToLabel) : _this1.h[jumpToLabel]; this.pointer.index = tmp; if(this.choicesTaken.indexOf(jumpToLabel) == -1) { this.choicesTaken.push(jumpToLabel); } this.advanceAndRender(); } else if(jumpToLabel == "end") { if(this.callback != null && this.boxCallbackStr == null) { this.callback(); } this.finished = true; } else { haxe_Log.trace("No label " + jumpToLabel + " found!",{ fileName : "DialogBox.hx", lineNumber : 759, className : "nova.ui.dialog.DialogBox", methodName : "handleInput"}); this.advanceAndRender(); } } } } ,setLocked: function(locked) { this.canAdvance = locked; } ,update: function(elapsed) { nova_render_FlxLocalSprite.prototype.update.call(this,elapsed); if(this.advancing && this.advanceStyle == nova_ui_dialog_DialogAdvanceStyle.SCROLL) { var top = nova_utils__$Pair_Pair_$Impl_$.get_y(this.textPadding); var bottom = this.bgSprite.get_height() - nova_utils__$Pair_Pair_$Impl_$.get_y(this.textPadding); if(this.text.y < top) { var transparentRect = new openfl_display_BitmapData(this.text.get_width() | 0,top - this.text.y | 0,true,0); this.text._sprite.get_pixels().copyPixels(transparentRect,transparentRect.rect,new openfl_geom_Point(0,0)); } if(this.nextText.y + this.nextText.get_height() + nova_utils__$Pair_Pair_$Impl_$.get_y(this.textPadding) > bottom) { var transparentRect1 = new openfl_display_BitmapData(this.nextText.get_width() | 0,this.nextText.y + this.nextText.get_height() + nova_utils__$Pair_Pair_$Impl_$.get_y(this.textPadding) - bottom | 0,true,0); this.nextText._sprite.set_pixels(this.bottomImageStore.get_pixels().clone()); this.nextText._sprite.get_pixels().copyPixels(transparentRect1,transparentRect1.rect,new openfl_geom_Point(0,this.nextText._sprite.get_height() - transparentRect1.height)); } else if(this.bottomImageStore != null) { this.nextText._sprite.set_pixels(this.bottomImageStore.get_pixels().clone()); this.bottomImageStore = null; } } } ,setTextFormat: function(text,format) { var font = Object.prototype.hasOwnProperty.call(format,"font") ? format.font : null; var size = (Object.prototype.hasOwnProperty.call(format,"size") ? format.size * this.globalScale : 5 * this.globalScale) | 0; var color = Object.prototype.hasOwnProperty.call(format,"color") ? format.color : -16777216; text.setFormat(font,size,color); } ,__class__: nova_ui_dialog_DialogBox }); var nova_ui_dialog_ControlledDialogBox = function(options) { nova_ui_dialog_DialogBox.call(this,null,options); }; $hxClasses["nova.ui.dialog.ControlledDialogBox"] = nova_ui_dialog_ControlledDialogBox; nova_ui_dialog_ControlledDialogBox.__name__ = ["nova","ui","dialog","ControlledDialogBox"]; nova_ui_dialog_ControlledDialogBox.__super__ = nova_ui_dialog_DialogBox; nova_ui_dialog_ControlledDialogBox.prototype = $extend(nova_ui_dialog_DialogBox.prototype,{ message: null ,handleInput: function() { haxe_Log.trace("Warning: handleInput should not be called on a ControlledDialogBox!",{ fileName : "ControlledDialogBox.hx", lineNumber : 27, className : "nova.ui.dialog.ControlledDialogBox", methodName : "handleInput"}); } ,setText: function(text) { this.message = text; this.renderText(text); } ,__class__: nova_ui_dialog_ControlledDialogBox }); var nova_ui_dialog_DialogBoxPosition = $hxClasses["nova.ui.dialog.DialogBoxPosition"] = { __ename__ : ["nova","ui","dialog","DialogBoxPosition"], __constructs__ : ["TOP","MIDDLE","BOTTOM"] }; nova_ui_dialog_DialogBoxPosition.TOP = ["TOP",0]; nova_ui_dialog_DialogBoxPosition.TOP.toString = $estr; nova_ui_dialog_DialogBoxPosition.TOP.__enum__ = nova_ui_dialog_DialogBoxPosition; nova_ui_dialog_DialogBoxPosition.MIDDLE = ["MIDDLE",1]; nova_ui_dialog_DialogBoxPosition.MIDDLE.toString = $estr; nova_ui_dialog_DialogBoxPosition.MIDDLE.__enum__ = nova_ui_dialog_DialogBoxPosition; nova_ui_dialog_DialogBoxPosition.BOTTOM = ["BOTTOM",2]; nova_ui_dialog_DialogBoxPosition.BOTTOM.toString = $estr; nova_ui_dialog_DialogBoxPosition.BOTTOM.__enum__ = nova_ui_dialog_DialogBoxPosition; var nova_ui_dialog_DialogBoxAlign = $hxClasses["nova.ui.dialog.DialogBoxAlign"] = { __ename__ : ["nova","ui","dialog","DialogBoxAlign"], __constructs__ : ["LEFT","CENTER","RIGHT"] }; nova_ui_dialog_DialogBoxAlign.LEFT = ["LEFT",0]; nova_ui_dialog_DialogBoxAlign.LEFT.toString = $estr; nova_ui_dialog_DialogBoxAlign.LEFT.__enum__ = nova_ui_dialog_DialogBoxAlign; nova_ui_dialog_DialogBoxAlign.CENTER = ["CENTER",1]; nova_ui_dialog_DialogBoxAlign.CENTER.toString = $estr; nova_ui_dialog_DialogBoxAlign.CENTER.__enum__ = nova_ui_dialog_DialogBoxAlign; nova_ui_dialog_DialogBoxAlign.RIGHT = ["RIGHT",2]; nova_ui_dialog_DialogBoxAlign.RIGHT.toString = $estr; nova_ui_dialog_DialogBoxAlign.RIGHT.__enum__ = nova_ui_dialog_DialogBoxAlign; var nova_ui_dialog_DialogBoxMode = $hxClasses["nova.ui.dialog.DialogBoxMode"] = { __ename__ : ["nova","ui","dialog","DialogBoxMode"], __constructs__ : ["NORMAL","SELECT_OPTION"] }; nova_ui_dialog_DialogBoxMode.NORMAL = ["NORMAL",0]; nova_ui_dialog_DialogBoxMode.NORMAL.toString = $estr; nova_ui_dialog_DialogBoxMode.NORMAL.__enum__ = nova_ui_dialog_DialogBoxMode; nova_ui_dialog_DialogBoxMode.SELECT_OPTION = ["SELECT_OPTION",1]; nova_ui_dialog_DialogBoxMode.SELECT_OPTION.toString = $estr; nova_ui_dialog_DialogBoxMode.SELECT_OPTION.__enum__ = nova_ui_dialog_DialogBoxMode; var nova_ui_dialog_DialogBoxAddons = function() { }; $hxClasses["nova.ui.dialog.DialogBoxAddons"] = nova_ui_dialog_DialogBoxAddons; nova_ui_dialog_DialogBoxAddons.__name__ = ["nova","ui","dialog","DialogBoxAddons"]; nova_ui_dialog_DialogBoxAddons.parseVariableCodes = function(code) { var codeMatch = code + "([a-z]+)?" + code; return function(db,text) { return new EReg(codeMatch,"ig").map(text,function(e) { var s = e.matched(1); var _this = db.variables; if(__map_reserved[s] != null ? _this.existsReserved(s) : _this.h.hasOwnProperty(s)) { var _this1 = db.variables; if(__map_reserved[s] != null) { return _this1.getReserved(s); } else { return _this1.h[s]; } } else { var _this2 = db.globalVariables; if(__map_reserved[s] != null ? _this2.existsReserved(s) : _this2.h.hasOwnProperty(s)) { var _this3 = db.globalVariables; if(__map_reserved[s] != null) { return _this3.getReserved(s); } else { return _this3.h[s]; } } } haxe_Log.trace("Warning: unknown variable " + s,{ fileName : "DialogBoxAddons.hx", lineNumber : 19, className : "nova.ui.dialog.DialogBoxAddons", methodName : "parseVariableCodes"}); return codeMatch; }); }; }; var nova_ui_dialog_SyntaxNodeType = $hxClasses["nova.ui.dialog.SyntaxNodeType"] = { __ename__ : ["nova","ui","dialog","SyntaxNodeType"], __constructs__ : ["DEBUG","TEXT","CHOICE","CHOICE_BOX","LABEL","VARIABLE_ASSIGN","IF","FUNCTION","JUMP","EMIT","GLOBAL","RETURN","EXPRESSION"] }; nova_ui_dialog_SyntaxNodeType.DEBUG = ["DEBUG",0]; nova_ui_dialog_SyntaxNodeType.DEBUG.toString = $estr; nova_ui_dialog_SyntaxNodeType.DEBUG.__enum__ = nova_ui_dialog_SyntaxNodeType; nova_ui_dialog_SyntaxNodeType.TEXT = ["TEXT",1]; nova_ui_dialog_SyntaxNodeType.TEXT.toString = $estr; nova_ui_dialog_SyntaxNodeType.TEXT.__enum__ = nova_ui_dialog_SyntaxNodeType; nova_ui_dialog_SyntaxNodeType.CHOICE = ["CHOICE",2]; nova_ui_dialog_SyntaxNodeType.CHOICE.toString = $estr; nova_ui_dialog_SyntaxNodeType.CHOICE.__enum__ = nova_ui_dialog_SyntaxNodeType; nova_ui_dialog_SyntaxNodeType.CHOICE_BOX = ["CHOICE_BOX",3]; nova_ui_dialog_SyntaxNodeType.CHOICE_BOX.toString = $estr; nova_ui_dialog_SyntaxNodeType.CHOICE_BOX.__enum__ = nova_ui_dialog_SyntaxNodeType; nova_ui_dialog_SyntaxNodeType.LABEL = ["LABEL",4]; nova_ui_dialog_SyntaxNodeType.LABEL.toString = $estr; nova_ui_dialog_SyntaxNodeType.LABEL.__enum__ = nova_ui_dialog_SyntaxNodeType; nova_ui_dialog_SyntaxNodeType.VARIABLE_ASSIGN = ["VARIABLE_ASSIGN",5]; nova_ui_dialog_SyntaxNodeType.VARIABLE_ASSIGN.toString = $estr; nova_ui_dialog_SyntaxNodeType.VARIABLE_ASSIGN.__enum__ = nova_ui_dialog_SyntaxNodeType; nova_ui_dialog_SyntaxNodeType.IF = ["IF",6]; nova_ui_dialog_SyntaxNodeType.IF.toString = $estr; nova_ui_dialog_SyntaxNodeType.IF.__enum__ = nova_ui_dialog_SyntaxNodeType; nova_ui_dialog_SyntaxNodeType.FUNCTION = ["FUNCTION",7]; nova_ui_dialog_SyntaxNodeType.FUNCTION.toString = $estr; nova_ui_dialog_SyntaxNodeType.FUNCTION.__enum__ = nova_ui_dialog_SyntaxNodeType; nova_ui_dialog_SyntaxNodeType.JUMP = ["JUMP",8]; nova_ui_dialog_SyntaxNodeType.JUMP.toString = $estr; nova_ui_dialog_SyntaxNodeType.JUMP.__enum__ = nova_ui_dialog_SyntaxNodeType; nova_ui_dialog_SyntaxNodeType.EMIT = ["EMIT",9]; nova_ui_dialog_SyntaxNodeType.EMIT.toString = $estr; nova_ui_dialog_SyntaxNodeType.EMIT.__enum__ = nova_ui_dialog_SyntaxNodeType; nova_ui_dialog_SyntaxNodeType.GLOBAL = ["GLOBAL",10]; nova_ui_dialog_SyntaxNodeType.GLOBAL.toString = $estr; nova_ui_dialog_SyntaxNodeType.GLOBAL.__enum__ = nova_ui_dialog_SyntaxNodeType; nova_ui_dialog_SyntaxNodeType.RETURN = ["RETURN",11]; nova_ui_dialog_SyntaxNodeType.RETURN.toString = $estr; nova_ui_dialog_SyntaxNodeType.RETURN.__enum__ = nova_ui_dialog_SyntaxNodeType; nova_ui_dialog_SyntaxNodeType.EXPRESSION = ["EXPRESSION",12]; nova_ui_dialog_SyntaxNodeType.EXPRESSION.toString = $estr; nova_ui_dialog_SyntaxNodeType.EXPRESSION.__enum__ = nova_ui_dialog_SyntaxNodeType; var nova_ui_dialog_DialogSequencePointer = function(sequence,index) { this.sequence = sequence; this.index = index; }; $hxClasses["nova.ui.dialog.DialogSequencePointer"] = nova_ui_dialog_DialogSequencePointer; nova_ui_dialog_DialogSequencePointer.__name__ = ["nova","ui","dialog","DialogSequencePointer"]; nova_ui_dialog_DialogSequencePointer.prototype = { sequence: null ,index: null ,step: function() { while(true) { this.index++; if(this.index < this.sequence.get_length()) { return; } var pt = this.sequence.parent; if(pt == null) { this.sequence = null; this.index = 0; return; } this.sequence = pt.sequence; this.index = pt.index; } } ,get: function() { if(this.sequence == null) { return null; } return this.sequence.sequence[this.index]; } ,__class__: nova_ui_dialog_DialogSequencePointer }; var nova_ui_dialog_DialogSyntaxNode = function(type,value,child) { this.type = type; this.value = value; this.child = child; }; $hxClasses["nova.ui.dialog.DialogSyntaxNode"] = nova_ui_dialog_DialogSyntaxNode; nova_ui_dialog_DialogSyntaxNode.__name__ = ["nova","ui","dialog","DialogSyntaxNode"]; nova_ui_dialog_DialogSyntaxNode.spaces = function(num) { var s = ""; var _g1 = 0; var _g = num; while(_g1 < _g) { var i = _g1++; s += " "; } return s; }; nova_ui_dialog_DialogSyntaxNode.prototype = { type: null ,value: null ,child: null ,_printableForm: function(indent) { if(indent == null) { indent = 0; } var r = [nova_ui_dialog_DialogSyntaxNode.spaces(indent) + "[" + Std.string(this.type) + ": " + Std.string(this.value) + "]"]; if(this.child != null) { nova_utils_ArrayUtils.extend(r,this.child._printableForm(indent + 4)); } return r; } ,toString: function() { return this._printableForm().join("\n"); } ,__class__: nova_ui_dialog_DialogSyntaxNode }; var nova_ui_dialog_DialogNodeSequence = function() { this.parent = null; this.sequence = []; }; $hxClasses["nova.ui.dialog.DialogNodeSequence"] = nova_ui_dialog_DialogNodeSequence; nova_ui_dialog_DialogNodeSequence.__name__ = ["nova","ui","dialog","DialogNodeSequence"]; nova_ui_dialog_DialogNodeSequence.prototype = { sequence: null ,parent: null ,length: null ,get_length: function() { return this.sequence.length; } ,toString: function() { return this._printableForm().join("\n"); } ,_printableForm: function(indent) { if(indent == null) { indent = 0; } var r = []; var _g = 0; var _g1 = this.sequence; while(_g < _g1.length) { var s = _g1[_g]; ++_g; nova_utils_ArrayUtils.extend(r,s._printableForm(indent)); } return r; } ,__class__: nova_ui_dialog_DialogNodeSequence ,__properties__: {get_length:"get_length"} }; var nova_ui_dialog_DialogTokenType = $hxClasses["nova.ui.dialog.DialogTokenType"] = { __ename__ : ["nova","ui","dialog","DialogTokenType"], __constructs__ : ["INT","FLOAT","VARIABLE","RESERVED","STRING","ARITHMETIC_OP","EQUALS_SIGN","DOUBLE_EQUALS_SIGN","LESS_THAN_SIGN","LESS_THAN_EQUALS_SIGN","GREATER_THAN_SIGN","GREATER_THAN_EQUALS_SIGN","OPEN_PARENTHESIS","CLOSE_PARENTHESIS","COLON","COMMA","CHOICE","DOLLAR_SIGN"] }; nova_ui_dialog_DialogTokenType.INT = ["INT",0]; nova_ui_dialog_DialogTokenType.INT.toString = $estr; nova_ui_dialog_DialogTokenType.INT.__enum__ = nova_ui_dialog_DialogTokenType; nova_ui_dialog_DialogTokenType.FLOAT = ["FLOAT",1]; nova_ui_dialog_DialogTokenType.FLOAT.toString = $estr; nova_ui_dialog_DialogTokenType.FLOAT.__enum__ = nova_ui_dialog_DialogTokenType; nova_ui_dialog_DialogTokenType.VARIABLE = ["VARIABLE",2]; nova_ui_dialog_DialogTokenType.VARIABLE.toString = $estr; nova_ui_dialog_DialogTokenType.VARIABLE.__enum__ = nova_ui_dialog_DialogTokenType; nova_ui_dialog_DialogTokenType.RESERVED = ["RESERVED",3]; nova_ui_dialog_DialogTokenType.RESERVED.toString = $estr; nova_ui_dialog_DialogTokenType.RESERVED.__enum__ = nova_ui_dialog_DialogTokenType; nova_ui_dialog_DialogTokenType.STRING = ["STRING",4]; nova_ui_dialog_DialogTokenType.STRING.toString = $estr; nova_ui_dialog_DialogTokenType.STRING.__enum__ = nova_ui_dialog_DialogTokenType; nova_ui_dialog_DialogTokenType.ARITHMETIC_OP = ["ARITHMETIC_OP",5]; nova_ui_dialog_DialogTokenType.ARITHMETIC_OP.toString = $estr; nova_ui_dialog_DialogTokenType.ARITHMETIC_OP.__enum__ = nova_ui_dialog_DialogTokenType; nova_ui_dialog_DialogTokenType.EQUALS_SIGN = ["EQUALS_SIGN",6]; nova_ui_dialog_DialogTokenType.EQUALS_SIGN.toString = $estr; nova_ui_dialog_DialogTokenType.EQUALS_SIGN.__enum__ = nova_ui_dialog_DialogTokenType; nova_ui_dialog_DialogTokenType.DOUBLE_EQUALS_SIGN = ["DOUBLE_EQUALS_SIGN",7]; nova_ui_dialog_DialogTokenType.DOUBLE_EQUALS_SIGN.toString = $estr; nova_ui_dialog_DialogTokenType.DOUBLE_EQUALS_SIGN.__enum__ = nova_ui_dialog_DialogTokenType; nova_ui_dialog_DialogTokenType.LESS_THAN_SIGN = ["LESS_THAN_SIGN",8]; nova_ui_dialog_DialogTokenType.LESS_THAN_SIGN.toString = $estr; nova_ui_dialog_DialogTokenType.LESS_THAN_SIGN.__enum__ = nova_ui_dialog_DialogTokenType; nova_ui_dialog_DialogTokenType.LESS_THAN_EQUALS_SIGN = ["LESS_THAN_EQUALS_SIGN",9]; nova_ui_dialog_DialogTokenType.LESS_THAN_EQUALS_SIGN.toString = $estr; nova_ui_dialog_DialogTokenType.LESS_THAN_EQUALS_SIGN.__enum__ = nova_ui_dialog_DialogTokenType; nova_ui_dialog_DialogTokenType.GREATER_THAN_SIGN = ["GREATER_THAN_SIGN",10]; nova_ui_dialog_DialogTokenType.GREATER_THAN_SIGN.toString = $estr; nova_ui_dialog_DialogTokenType.GREATER_THAN_SIGN.__enum__ = nova_ui_dialog_DialogTokenType; nova_ui_dialog_DialogTokenType.GREATER_THAN_EQUALS_SIGN = ["GREATER_THAN_EQUALS_SIGN",11]; nova_ui_dialog_DialogTokenType.GREATER_THAN_EQUALS_SIGN.toString = $estr; nova_ui_dialog_DialogTokenType.GREATER_THAN_EQUALS_SIGN.__enum__ = nova_ui_dialog_DialogTokenType; nova_ui_dialog_DialogTokenType.OPEN_PARENTHESIS = ["OPEN_PARENTHESIS",12]; nova_ui_dialog_DialogTokenType.OPEN_PARENTHESIS.toString = $estr; nova_ui_dialog_DialogTokenType.OPEN_PARENTHESIS.__enum__ = nova_ui_dialog_DialogTokenType; nova_ui_dialog_DialogTokenType.CLOSE_PARENTHESIS = ["CLOSE_PARENTHESIS",13]; nova_ui_dialog_DialogTokenType.CLOSE_PARENTHESIS.toString = $estr; nova_ui_dialog_DialogTokenType.CLOSE_PARENTHESIS.__enum__ = nova_ui_dialog_DialogTokenType; nova_ui_dialog_DialogTokenType.COLON = ["COLON",14]; nova_ui_dialog_DialogTokenType.COLON.toString = $estr; nova_ui_dialog_DialogTokenType.COLON.__enum__ = nova_ui_dialog_DialogTokenType; nova_ui_dialog_DialogTokenType.COMMA = ["COMMA",15]; nova_ui_dialog_DialogTokenType.COMMA.toString = $estr; nova_ui_dialog_DialogTokenType.COMMA.__enum__ = nova_ui_dialog_DialogTokenType; nova_ui_dialog_DialogTokenType.CHOICE = ["CHOICE",16]; nova_ui_dialog_DialogTokenType.CHOICE.toString = $estr; nova_ui_dialog_DialogTokenType.CHOICE.__enum__ = nova_ui_dialog_DialogTokenType; nova_ui_dialog_DialogTokenType.DOLLAR_SIGN = ["DOLLAR_SIGN",17]; nova_ui_dialog_DialogTokenType.DOLLAR_SIGN.toString = $estr; nova_ui_dialog_DialogTokenType.DOLLAR_SIGN.__enum__ = nova_ui_dialog_DialogTokenType; var nova_ui_dialog_DialogToken = function(type,value) { this.value = null; this.type = type; this.value = value; }; $hxClasses["nova.ui.dialog.DialogToken"] = nova_ui_dialog_DialogToken; nova_ui_dialog_DialogToken.__name__ = ["nova","ui","dialog","DialogToken"]; nova_ui_dialog_DialogToken.prototype = { type: null ,value: null ,__class__: nova_ui_dialog_DialogToken }; var nova_ui_dialog_DialogParser = function() { }; $hxClasses["nova.ui.dialog.DialogParser"] = nova_ui_dialog_DialogParser; nova_ui_dialog_DialogParser.__name__ = ["nova","ui","dialog","DialogParser"]; nova_ui_dialog_DialogParser.isAlphabetic = function(c) { if(!(c >= 97 && c <= 122 || c >= 65 && c <= 90)) { if(c >= 48) { return c <= 57; } else { return false; } } else { return true; } }; nova_ui_dialog_DialogParser.isValidVariableChar = function(c) { if(c != 95) { return nova_ui_dialog_DialogParser.isAlphabetic(c); } else { return true; } }; nova_ui_dialog_DialogParser.indexOfTokenType = function(arr,type,start) { if(start == null) { start = 0; } var i = start; while(i < arr.length) { if(arr[i].type == type) { return i; } ++i; } return -1; }; nova_ui_dialog_DialogParser.parseLine = function(text) { var builtTokens = []; var i = 0; while(i < text.length) if(nova_utils_CharUtils.isDigit(HxOverrides.cca(text,i)) || i < text.length - 1 && text.charAt(i) == "-" && nova_utils_CharUtils.isDigit(HxOverrides.cca(text,i + 1))) { var anchorI = i; if(text.charAt(i) == "-") { ++i; } var periodCount = 0; while(i < text.length && (HxOverrides.cca(text,i) >= 48 && HxOverrides.cca(text,i) <= 57 || HxOverrides.cca(text,i) == 46)) { ++i; if(HxOverrides.cca(text,i) == 46) { ++periodCount; } } var textStr = HxOverrides.substr(text,anchorI,i - anchorI); if(periodCount == 0) { builtTokens.push(new nova_ui_dialog_DialogToken(nova_ui_dialog_DialogTokenType.INT,Std.parseInt(textStr))); } else if(periodCount == 1) { builtTokens.push(new nova_ui_dialog_DialogToken(nova_ui_dialog_DialogTokenType.FLOAT,parseFloat(textStr))); } else { haxe_Log.trace("Error: Too many periods for string " + textStr,{ fileName : "DialogParser.hx", lineNumber : 113, className : "nova.ui.dialog.DialogParser", methodName : "parseLine"}); } } else if(text.charAt(i) == "\"" || text.charAt(i) == "'") { var pt = i + 1; var next = text.indexOf(text.charAt(i),pt); while(next != -1 && text.charAt(next - 1) == "\\") { pt = next + 1; next = text.indexOf(text.charAt(i),pt); } if(next != -1) { builtTokens.push(new nova_ui_dialog_DialogToken(nova_ui_dialog_DialogTokenType.STRING,StringTools.replace(HxOverrides.substr(text,i + 1,next - (i + 1)),"\\",""))); i = next + 1; } else { haxe_Log.trace("Error: unterminated string: [" + text + "]!",{ fileName : "DialogParser.hx", lineNumber : 126, className : "nova.ui.dialog.DialogParser", methodName : "parseLine"}); return null; } } else if(text.charAt(i) == "(") { builtTokens.push(new nova_ui_dialog_DialogToken(nova_ui_dialog_DialogTokenType.OPEN_PARENTHESIS)); ++i; } else if(text.charAt(i) == ")") { builtTokens.push(new nova_ui_dialog_DialogToken(nova_ui_dialog_DialogTokenType.CLOSE_PARENTHESIS)); ++i; } else if(["+","-","*","/"].indexOf(text.charAt(i)) != -1) { builtTokens.push(new nova_ui_dialog_DialogToken(nova_ui_dialog_DialogTokenType.ARITHMETIC_OP,text.charAt(i))); ++i; } else if(text.charAt(i) == ":") { builtTokens.push(new nova_ui_dialog_DialogToken(nova_ui_dialog_DialogTokenType.COLON)); ++i; } else if(text.charAt(i) == ",") { builtTokens.push(new nova_ui_dialog_DialogToken(nova_ui_dialog_DialogTokenType.COMMA)); ++i; } else if(text.charAt(i) == ">") { if(builtTokens.length == 0) { builtTokens.push(new nova_ui_dialog_DialogToken(nova_ui_dialog_DialogTokenType.RESERVED,"choice")); ++i; } else if(text.charAt(i + 1) == "=") { builtTokens.push(new nova_ui_dialog_DialogToken(nova_ui_dialog_DialogTokenType.GREATER_THAN_EQUALS_SIGN,null)); i += 2; } else { builtTokens.push(new nova_ui_dialog_DialogToken(nova_ui_dialog_DialogTokenType.GREATER_THAN_SIGN,null)); ++i; } } else if(text.charAt(i) == "<") { if(i < text.length - 1 && text.charAt(i + 1) == "=") { builtTokens.push(new nova_ui_dialog_DialogToken(nova_ui_dialog_DialogTokenType.LESS_THAN_EQUALS_SIGN,null)); i += 2; } else { builtTokens.push(new nova_ui_dialog_DialogToken(nova_ui_dialog_DialogTokenType.LESS_THAN_SIGN,null)); ++i; } } else if(text.charAt(i) == "#") { break; } else if(text.charAt(i) == "$") { builtTokens.push(new nova_ui_dialog_DialogToken(nova_ui_dialog_DialogTokenType.DOLLAR_SIGN)); ++i; } else if(text.charAt(i) == "=") { if(i < text.length - 1 && text.charAt(i + 1) == "=") { builtTokens.push(new nova_ui_dialog_DialogToken(nova_ui_dialog_DialogTokenType.DOUBLE_EQUALS_SIGN)); i += 2; } else { builtTokens.push(new nova_ui_dialog_DialogToken(nova_ui_dialog_DialogTokenType.EQUALS_SIGN)); ++i; } } else if(nova_ui_dialog_DialogParser.isValidVariableChar(HxOverrides.cca(text,i))) { var anchorI1 = i; while(i < text.length && nova_ui_dialog_DialogParser.isValidVariableChar(HxOverrides.cca(text,i))) ++i; var resultString = HxOverrides.substr(text,anchorI1,i - anchorI1); if(nova_ui_dialog_DialogParser.RESERVED_STRINGS.indexOf(resultString) != -1) { builtTokens.push(new nova_ui_dialog_DialogToken(nova_ui_dialog_DialogTokenType.RESERVED,resultString)); } else if(resultString.toLowerCase() == "true") { builtTokens.push(new nova_ui_dialog_DialogToken(nova_ui_dialog_DialogTokenType.INT,1)); } else if(resultString.toLowerCase() == "false") { builtTokens.push(new nova_ui_dialog_DialogToken(nova_ui_dialog_DialogTokenType.INT,0)); } else { builtTokens.push(new nova_ui_dialog_DialogToken(nova_ui_dialog_DialogTokenType.VARIABLE,resultString)); } } else { ++i; } return builtTokens; }; nova_ui_dialog_DialogParser.parseFile = function(path) { var text = openfl_utils_Assets.getText(path).split("\n").filter(function(s) { return StringTools.trim(s) != ""; }); return nova_ui_dialog_DialogParser.parseLines(text); }; nova_ui_dialog_DialogParser.parseLines = function(text) { var characters = new haxe_ds_StringMap(); var builtText = []; var labelToApply = null; var rootSequence = new nova_ui_dialog_DialogNodeSequence(); var callStack = [rootSequence]; var parseType_0 = "normal"; var indentStack = [0]; var _g1 = 0; var _g = text.length; while(_g1 < _g) { var i = _g1++; var line = text[i]; var tokens = nova_ui_dialog_DialogParser.parseLine(line); if(tokens.length == 0) { continue; } var indentation = 0; while(indentation < line.length && (line.charAt(indentation) == " " || line.charAt(indentation) == "\t")) ++indentation; if(indentation > nova_utils_ArrayUtils.last(indentStack)) { if(callStack.length > indentStack.length) { indentStack.push(indentation); } else { haxe_Log.trace("Improper indentation at line " + i + ": " + line,{ fileName : "DialogParser.hx", lineNumber : 233, className : "nova.ui.dialog.DialogParser", methodName : "parseLines"}); } } while(indentation < nova_utils_ArrayUtils.last(indentStack)) { indentStack.pop(); callStack.pop(); } if(tokens[0].type == nova_ui_dialog_DialogTokenType.RESERVED) { if(tokens[0].value == "define") { var shortName = nova_ui_dialog_DialogParser.indexOfTokenType(tokens,nova_ui_dialog_DialogTokenType.VARIABLE); var tk = nova_ui_dialog_DialogParser.indexOfTokenType(tokens,nova_ui_dialog_DialogTokenType.OPEN_PARENTHESIS); var k = tokens[shortName].value; var v = tokens[tk + 1].value; var value = v; if(__map_reserved[k] != null) { characters.setReserved(k,value); } else { characters.h[k] = value; } } if(tokens[0].value == "global") { var i1 = 1; if([nova_ui_dialog_DialogTokenType.VARIABLE,nova_ui_dialog_DialogTokenType.STRING].indexOf(tokens[i1].type) == -1) { haxe_Log.trace("Line " + i1 + ": unknown token " + Std.string(tokens[i1].value) + " after \"global\". Should be a variable.",{ fileName : "DialogParser.hx", lineNumber : 250, className : "nova.ui.dialog.DialogParser", methodName : "parseLines"}); } nova_utils_ArrayUtils.last(callStack).sequence.push(new nova_ui_dialog_DialogSyntaxNode(nova_ui_dialog_SyntaxNodeType.GLOBAL,tokens[i1].value)); while(i1 < tokens.length - 1) if(tokens[i1 + 1].type == nova_ui_dialog_DialogTokenType.COMMA && [nova_ui_dialog_DialogTokenType.VARIABLE,nova_ui_dialog_DialogTokenType.STRING].indexOf(tokens[i1 + 2].type) != -1) { i1 += 2; nova_utils_ArrayUtils.last(callStack).sequence.push(new nova_ui_dialog_DialogSyntaxNode(nova_ui_dialog_SyntaxNodeType.GLOBAL,tokens[i1].value)); } else { haxe_Log.trace("Line " + i1 + ": unknown token " + Std.string(tokens[i1].value) + ". Should be a comma-separated list of variables.",{ fileName : "DialogParser.hx", lineNumber : 258, className : "nova.ui.dialog.DialogParser", methodName : "parseLines"}); } } else if(tokens[0].value == "label") { var newNode = new nova_ui_dialog_DialogSyntaxNode(nova_ui_dialog_SyntaxNodeType.LABEL,tokens[1].value); nova_utils_ArrayUtils.last(callStack).sequence.push(newNode); } else if(tokens[0].value == "return") { var s1 = nova_ui_dialog_DialogParser.indexOfTokenType(tokens,nova_ui_dialog_DialogTokenType.VARIABLE); var s2 = nova_ui_dialog_DialogParser.indexOfTokenType(tokens,nova_ui_dialog_DialogTokenType.STRING); var labelName = tokens[Math.max(s1,s2) | 0].value; nova_utils_ArrayUtils.last(callStack).sequence.push(new nova_ui_dialog_DialogSyntaxNode(nova_ui_dialog_SyntaxNodeType.RETURN,labelName)); } else if(tokens[0].value == "debug") { var newNode1 = new nova_ui_dialog_DialogSyntaxNode(nova_ui_dialog_SyntaxNodeType.DEBUG,{ line : i + 1, name : tokens[1].value}); nova_utils_ArrayUtils.last(callStack).sequence.push(newNode1); } else if(tokens[0].value == "jump") { var s11 = nova_ui_dialog_DialogParser.indexOfTokenType(tokens,nova_ui_dialog_DialogTokenType.VARIABLE); var s21 = nova_ui_dialog_DialogParser.indexOfTokenType(tokens,nova_ui_dialog_DialogTokenType.STRING); var labelName1 = tokens[Math.max(s11,s21) | 0].value; nova_utils_ArrayUtils.last(callStack).sequence.push(new nova_ui_dialog_DialogSyntaxNode(nova_ui_dialog_SyntaxNodeType.JUMP,labelName1)); } else if(tokens[0].value == "emit") { var s12 = nova_ui_dialog_DialogParser.indexOfTokenType(tokens,nova_ui_dialog_DialogTokenType.VARIABLE,1); var s22 = nova_ui_dialog_DialogParser.indexOfTokenType(tokens,nova_ui_dialog_DialogTokenType.STRING,1); var labelName2 = tokens[Math.max(s12,s22) | 0].value; nova_utils_ArrayUtils.last(callStack).sequence.push(new nova_ui_dialog_DialogSyntaxNode(nova_ui_dialog_SyntaxNodeType.EMIT,labelName2)); } else if(tokens[0].value == "wait") { var s13 = nova_ui_dialog_DialogParser.indexOfTokenType(tokens,nova_ui_dialog_DialogTokenType.FLOAT,1); var tokenValue = [tokens[s13].value]; nova_utils_ArrayUtils.last(callStack).sequence.push(new nova_ui_dialog_DialogSyntaxNode(nova_ui_dialog_SyntaxNodeType.FUNCTION,(function(tokenValue1) { return function(k1) { k1.skip = false; k1.canAdvance = false; nova_animation_Director.call(nova_animation_Director.wait(k1,60 * tokenValue1[0] | 0),(function() { return function(s) { (js_Boot.__cast(s , nova_ui_dialog_DialogBox)).skip = true; (js_Boot.__cast(s , nova_ui_dialog_DialogBox)).canAdvance = true; (js_Boot.__cast(s , nova_ui_dialog_DialogBox)).advanceAndRender(); }; })()); }; })(tokenValue))); } else if(tokens[0].value == "choice") { var s14 = nova_ui_dialog_DialogParser.indexOfTokenType(tokens,nova_ui_dialog_DialogTokenType.STRING); var s23 = nova_ui_dialog_DialogParser.indexOfTokenType(tokens,nova_ui_dialog_DialogTokenType.STRING,s14 + 1); var s2_2 = nova_ui_dialog_DialogParser.indexOfTokenType(tokens,nova_ui_dialog_DialogTokenType.VARIABLE,s14 + 1); var s3 = s23 > s2_2 ? s23 : s2_2; if(s3 == -1) { haxe_Log.trace("Error: Could not parse choice on line " + (i + 1) + ": " + line,{ fileName : "DialogParser.hx", lineNumber : 300, className : "nova.ui.dialog.DialogParser", methodName : "parseLines"}); } var newNode2 = new nova_ui_dialog_DialogSyntaxNode(nova_ui_dialog_SyntaxNodeType.CHOICE,{ text : tokens[s14].value, tag : tokens[s3].value}); nova_utils_ArrayUtils.last(callStack).sequence.push(newNode2); } else if(tokens[0].value == "choice_box") { var newNode3 = new nova_ui_dialog_DialogSyntaxNode(nova_ui_dialog_SyntaxNodeType.CHOICE_BOX,null,new nova_ui_dialog_DialogNodeSequence()); var tmp = nova_utils_ArrayUtils.last(callStack); var tmp1 = nova_utils_ArrayUtils.last(callStack).get_length(); newNode3.child.parent = new nova_ui_dialog_DialogSequencePointer(tmp,tmp1); nova_utils_ArrayUtils.last(callStack).sequence.push(newNode3); callStack.push(newNode3.child); } else if(tokens[0].value == "if") { var newNode4 = new nova_ui_dialog_DialogSyntaxNode(nova_ui_dialog_SyntaxNodeType.IF,null,new nova_ui_dialog_DialogNodeSequence()); if(tokens[tokens.length - 1].type != nova_ui_dialog_DialogTokenType.COLON) { haxe_Log.trace("[Warning] Statement on line " + (i + 1) + " should end in a colon. (" + line + ")",{ fileName : "DialogParser.hx", lineNumber : 313, className : "nova.ui.dialog.DialogParser", methodName : "parseLines"}); newNode4.value = nova_ui_dialog_DialogParser.parseExpression(tokens.slice(1,tokens.length)); } else { newNode4.value = nova_ui_dialog_DialogParser.parseExpression(tokens.slice(1,tokens.length - 1)); } var tmp2 = nova_utils_ArrayUtils.last(callStack); var tmp3 = nova_utils_ArrayUtils.last(callStack).get_length(); newNode4.child.parent = new nova_ui_dialog_DialogSequencePointer(tmp2,tmp3); nova_utils_ArrayUtils.last(callStack).sequence.push(newNode4); callStack.push(newNode4.child); } } else if(tokens[0].type == nova_ui_dialog_DialogTokenType.VARIABLE) { if(tokens[1].type == nova_ui_dialog_DialogTokenType.EQUALS_SIGN) { var newNode5 = new nova_ui_dialog_DialogSyntaxNode(nova_ui_dialog_SyntaxNodeType.VARIABLE_ASSIGN,{ name : tokens[0].value, value : tokens[2].value}); nova_utils_ArrayUtils.last(callStack).sequence.push(newNode5); } else { var speaker = tokens[0].value; if(__map_reserved[speaker] != null ? characters.existsReserved(speaker) : characters.h.hasOwnProperty(speaker)) { speaker = __map_reserved[speaker] != null ? characters.getReserved(speaker) : characters.h[speaker]; } var nextToken = nova_ui_dialog_DialogParser.indexOfTokenType(tokens,nova_ui_dialog_DialogTokenType.STRING,1); if(nextToken == -1) { haxe_Log.trace("[Warning] No value found for variable " + Std.string(tokens[0].value) + ". (" + line + ")",{ fileName : "DialogParser.hx", lineNumber : 333, className : "nova.ui.dialog.DialogParser", methodName : "parseLines"}); } nova_utils_ArrayUtils.last(callStack).sequence.push(new nova_ui_dialog_DialogSyntaxNode(nova_ui_dialog_SyntaxNodeType.TEXT,{ text : tokens[nextToken].value, speaker : speaker})); } } else if(tokens[0].type == nova_ui_dialog_DialogTokenType.STRING) { if(tokens.length > 1 && tokens[1].type == nova_ui_dialog_DialogTokenType.STRING) { nova_utils_ArrayUtils.last(callStack).sequence.push(new nova_ui_dialog_DialogSyntaxNode(nova_ui_dialog_SyntaxNodeType.TEXT,{ text : tokens[1].value, speaker : tokens[0].value})); } else { nova_utils_ArrayUtils.last(callStack).sequence.push(new nova_ui_dialog_DialogSyntaxNode(nova_ui_dialog_SyntaxNodeType.TEXT,{ text : tokens[0].value})); } } } return rootSequence; }; nova_ui_dialog_DialogParser.parseExpression = function(tokens) { if(tokens.length == 1) { if(tokens[0].type == nova_ui_dialog_DialogTokenType.STRING || tokens[0].type == nova_ui_dialog_DialogTokenType.INT || tokens[0].type == nova_ui_dialog_DialogTokenType.FLOAT) { return new nova_ui_dialog_ExpressionNode(tokens[0].type == nova_ui_dialog_DialogTokenType.STRING ? nova_ui_dialog_ExpressionNodeType.STRING : tokens[0].type == nova_ui_dialog_DialogTokenType.INT ? nova_ui_dialog_ExpressionNodeType.INTEGER : nova_ui_dialog_ExpressionNodeType.FLOAT,tokens[0].value); } else if(tokens[0].type == nova_ui_dialog_DialogTokenType.VARIABLE) { return new nova_ui_dialog_ExpressionNode(nova_ui_dialog_ExpressionNodeType.VARIABLE,tokens[0].value); } else { haxe_Log.trace("Can't parse single token with type " + Std.string(tokens[0].type) + "!",{ fileName : "DialogParser.hx", lineNumber : 355, className : "nova.ui.dialog.DialogParser", methodName : "parseExpression"}); return null; } } if(tokens[0].type == nova_ui_dialog_DialogTokenType.OPEN_PARENTHESIS && tokens[tokens.length - 1].type == nova_ui_dialog_DialogTokenType.CLOSE_PARENTHESIS) { tokens = tokens.slice(1,tokens.length - 1); } var outsideIndices = nova_ui_dialog_DialogParser.findOutsideTokenIndices(tokens); var _g = 0; while(_g < outsideIndices.length) { var index = outsideIndices[_g]; ++_g; var tok = tokens[index]; if(tok.type == nova_ui_dialog_DialogTokenType.RESERVED && (tok.value == "and" || tok.value == "or")) { var root = new nova_ui_dialog_ExpressionNode(tok.value == "and" ? nova_ui_dialog_ExpressionNodeType.AND : nova_ui_dialog_ExpressionNodeType.OR,null); root.leftChild = nova_ui_dialog_DialogParser.parseExpression(tokens.slice(0,index)); root.rightChild = nova_ui_dialog_DialogParser.parseExpression(tokens.slice(index + 1,tokens.length)); return root; } } var _g1 = 0; while(_g1 < outsideIndices.length) { var index1 = outsideIndices[_g1]; ++_g1; var tok1 = tokens[index1]; if(tok1.type == nova_ui_dialog_DialogTokenType.DOUBLE_EQUALS_SIGN) { var root1 = new nova_ui_dialog_ExpressionNode(nova_ui_dialog_ExpressionNodeType.EQUALS,null); root1.leftChild = nova_ui_dialog_DialogParser.parseExpression(tokens.slice(0,index1)); root1.rightChild = nova_ui_dialog_DialogParser.parseExpression(tokens.slice(index1 + 1,tokens.length)); return root1; } else if(tok1.type == nova_ui_dialog_DialogTokenType.LESS_THAN_SIGN) { var root2 = new nova_ui_dialog_ExpressionNode(nova_ui_dialog_ExpressionNodeType.LESS_THAN,null); root2.leftChild = nova_ui_dialog_DialogParser.parseExpression(tokens.slice(0,index1)); root2.rightChild = nova_ui_dialog_DialogParser.parseExpression(tokens.slice(index1 + 1,tokens.length)); return root2; } else if(tok1.type == nova_ui_dialog_DialogTokenType.LESS_THAN_EQUALS_SIGN) { var root3 = new nova_ui_dialog_ExpressionNode(nova_ui_dialog_ExpressionNodeType.LESS_THAN_EQUALS,null); root3.leftChild = nova_ui_dialog_DialogParser.parseExpression(tokens.slice(0,index1)); root3.rightChild = nova_ui_dialog_DialogParser.parseExpression(tokens.slice(index1 + 1,tokens.length)); return root3; } else if(tok1.type == nova_ui_dialog_DialogTokenType.GREATER_THAN_SIGN) { var root4 = new nova_ui_dialog_ExpressionNode(nova_ui_dialog_ExpressionNodeType.GREATER_THAN,null); root4.leftChild = nova_ui_dialog_DialogParser.parseExpression(tokens.slice(0,index1)); root4.rightChild = nova_ui_dialog_DialogParser.parseExpression(tokens.slice(index1 + 1,tokens.length)); return root4; } else if(tok1.type == nova_ui_dialog_DialogTokenType.ARITHMETIC_OP) { var root5 = new nova_ui_dialog_ExpressionNode(nova_ui_dialog_ExpressionNodeType.ARITHMETIC_NODE,tok1.value); root5.leftChild = nova_ui_dialog_DialogParser.parseExpression(tokens.slice(0,index1)); root5.rightChild = nova_ui_dialog_DialogParser.parseExpression(tokens.slice(index1 + 1,tokens.length)); return root5; } else if(tok1.type == nova_ui_dialog_DialogTokenType.GREATER_THAN_EQUALS_SIGN) { var root6 = new nova_ui_dialog_ExpressionNode(nova_ui_dialog_ExpressionNodeType.GREATER_THAN_EQUALS,null); root6.leftChild = nova_ui_dialog_DialogParser.parseExpression(tokens.slice(0,index1)); root6.rightChild = nova_ui_dialog_DialogParser.parseExpression(tokens.slice(index1 + 1,tokens.length)); return root6; } } if(tokens[0].type == nova_ui_dialog_DialogTokenType.RESERVED && tokens[0].value == "not") { var root7 = new nova_ui_dialog_ExpressionNode(nova_ui_dialog_ExpressionNodeType.NOT,null); root7.leftChild = nova_ui_dialog_DialogParser.parseExpression(tokens.slice(1,tokens.length)); } if(tokens[0].type == nova_ui_dialog_DialogTokenType.VARIABLE && tokens[1].type == nova_ui_dialog_DialogTokenType.OPEN_PARENTHESIS && tokens[tokens.length - 1].type == nova_ui_dialog_DialogTokenType.CLOSE_PARENTHESIS) { var root8 = new nova_ui_dialog_ExpressionNode(nova_ui_dialog_ExpressionNodeType.FUNCTION,tokens[0].value); root8.leftChild = nova_ui_dialog_DialogParser.parseExpression(tokens.slice(2,tokens.length - 1)); return root8; } return null; }; nova_ui_dialog_DialogParser.findOutsideTokenIndices = function(tokens) { var pCount = 0; var r = []; var _g1 = 0; var _g = tokens.length; while(_g1 < _g) { var i = _g1++; if(tokens[i].type == nova_ui_dialog_DialogTokenType.OPEN_PARENTHESIS) { ++pCount; } else if(tokens[i].type == nova_ui_dialog_DialogTokenType.CLOSE_PARENTHESIS) { --pCount; } else if(pCount == 0) { r.push(i); } } return r; }; var nova_ui_dialog_ExpressionNodeType = $hxClasses["nova.ui.dialog.ExpressionNodeType"] = { __ename__ : ["nova","ui","dialog","ExpressionNodeType"], __constructs__ : ["VARIABLE","FUNCTION","ARITHMETIC_NODE","STRING","INTEGER","FLOAT","AND","OR","NOT","EQUALS","LESS_THAN","GREATER_THAN","LESS_THAN_EQUALS","GREATER_THAN_EQUALS"] }; nova_ui_dialog_ExpressionNodeType.VARIABLE = ["VARIABLE",0]; nova_ui_dialog_ExpressionNodeType.VARIABLE.toString = $estr; nova_ui_dialog_ExpressionNodeType.VARIABLE.__enum__ = nova_ui_dialog_ExpressionNodeType; nova_ui_dialog_ExpressionNodeType.FUNCTION = ["FUNCTION",1]; nova_ui_dialog_ExpressionNodeType.FUNCTION.toString = $estr; nova_ui_dialog_ExpressionNodeType.FUNCTION.__enum__ = nova_ui_dialog_ExpressionNodeType; nova_ui_dialog_ExpressionNodeType.ARITHMETIC_NODE = ["ARITHMETIC_NODE",2]; nova_ui_dialog_ExpressionNodeType.ARITHMETIC_NODE.toString = $estr; nova_ui_dialog_ExpressionNodeType.ARITHMETIC_NODE.__enum__ = nova_ui_dialog_ExpressionNodeType; nova_ui_dialog_ExpressionNodeType.STRING = ["STRING",3]; nova_ui_dialog_ExpressionNodeType.STRING.toString = $estr; nova_ui_dialog_ExpressionNodeType.STRING.__enum__ = nova_ui_dialog_ExpressionNodeType; nova_ui_dialog_ExpressionNodeType.INTEGER = ["INTEGER",4]; nova_ui_dialog_ExpressionNodeType.INTEGER.toString = $estr; nova_ui_dialog_ExpressionNodeType.INTEGER.__enum__ = nova_ui_dialog_ExpressionNodeType; nova_ui_dialog_ExpressionNodeType.FLOAT = ["FLOAT",5]; nova_ui_dialog_ExpressionNodeType.FLOAT.toString = $estr; nova_ui_dialog_ExpressionNodeType.FLOAT.__enum__ = nova_ui_dialog_ExpressionNodeType; nova_ui_dialog_ExpressionNodeType.AND = ["AND",6]; nova_ui_dialog_ExpressionNodeType.AND.toString = $estr; nova_ui_dialog_ExpressionNodeType.AND.__enum__ = nova_ui_dialog_ExpressionNodeType; nova_ui_dialog_ExpressionNodeType.OR = ["OR",7]; nova_ui_dialog_ExpressionNodeType.OR.toString = $estr; nova_ui_dialog_ExpressionNodeType.OR.__enum__ = nova_ui_dialog_ExpressionNodeType; nova_ui_dialog_ExpressionNodeType.NOT = ["NOT",8]; nova_ui_dialog_ExpressionNodeType.NOT.toString = $estr; nova_ui_dialog_ExpressionNodeType.NOT.__enum__ = nova_ui_dialog_ExpressionNodeType; nova_ui_dialog_ExpressionNodeType.EQUALS = ["EQUALS",9]; nova_ui_dialog_ExpressionNodeType.EQUALS.toString = $estr; nova_ui_dialog_ExpressionNodeType.EQUALS.__enum__ = nova_ui_dialog_ExpressionNodeType; nova_ui_dialog_ExpressionNodeType.LESS_THAN = ["LESS_THAN",10]; nova_ui_dialog_ExpressionNodeType.LESS_THAN.toString = $estr; nova_ui_dialog_ExpressionNodeType.LESS_THAN.__enum__ = nova_ui_dialog_ExpressionNodeType; nova_ui_dialog_ExpressionNodeType.GREATER_THAN = ["GREATER_THAN",11]; nova_ui_dialog_ExpressionNodeType.GREATER_THAN.toString = $estr; nova_ui_dialog_ExpressionNodeType.GREATER_THAN.__enum__ = nova_ui_dialog_ExpressionNodeType; nova_ui_dialog_ExpressionNodeType.LESS_THAN_EQUALS = ["LESS_THAN_EQUALS",12]; nova_ui_dialog_ExpressionNodeType.LESS_THAN_EQUALS.toString = $estr; nova_ui_dialog_ExpressionNodeType.LESS_THAN_EQUALS.__enum__ = nova_ui_dialog_ExpressionNodeType; nova_ui_dialog_ExpressionNodeType.GREATER_THAN_EQUALS = ["GREATER_THAN_EQUALS",13]; nova_ui_dialog_ExpressionNodeType.GREATER_THAN_EQUALS.toString = $estr; nova_ui_dialog_ExpressionNodeType.GREATER_THAN_EQUALS.__enum__ = nova_ui_dialog_ExpressionNodeType; var nova_ui_dialog_ExpressionNode = function(type,value) { this.rightChild = null; this.leftChild = null; this.type = type; this.value = value; }; $hxClasses["nova.ui.dialog.ExpressionNode"] = nova_ui_dialog_ExpressionNode; nova_ui_dialog_ExpressionNode.__name__ = ["nova","ui","dialog","ExpressionNode"]; nova_ui_dialog_ExpressionNode.prototype = { type: null ,value: null ,leftChild: null ,rightChild: null ,evaluate: function(variableMap) { if(this.type == nova_ui_dialog_ExpressionNodeType.STRING || this.type == nova_ui_dialog_ExpressionNodeType.INTEGER) { return this; } if(this.type == nova_ui_dialog_ExpressionNodeType.VARIABLE) { var key = this.value; if(!(__map_reserved[key] != null ? variableMap.existsReserved(key) : variableMap.h.hasOwnProperty(key))) { return nova_ui_dialog_ExpressionNode.FALSE; } var key1 = this.value; var v = __map_reserved[key1] != null ? variableMap.getReserved(key1) : variableMap.h[key1]; if(typeof(v) == "number" && ((v | 0) === v)) { var key2 = this.value; return new nova_ui_dialog_ExpressionNode(nova_ui_dialog_ExpressionNodeType.INTEGER,__map_reserved[key2] != null ? variableMap.getReserved(key2) : variableMap.h[key2]); } else { var tmp = typeof((function($this) { var $r; var key3 = $this.value; $r = __map_reserved[key3] != null ? variableMap.getReserved(key3) : variableMap.h[key3]; return $r; }(this))); if(tmp == "number") { var key4 = this.value; return new nova_ui_dialog_ExpressionNode(nova_ui_dialog_ExpressionNodeType.FLOAT,__map_reserved[key4] != null ? variableMap.getReserved(key4) : variableMap.h[key4]); } else { var tmp1 = typeof((function($this) { var $r; var key5 = $this.value; $r = __map_reserved[key5] != null ? variableMap.getReserved(key5) : variableMap.h[key5]; return $r; }(this))); if(tmp1 == "string") { var key6 = this.value; return new nova_ui_dialog_ExpressionNode(nova_ui_dialog_ExpressionNodeType.STRING,__map_reserved[key6] != null ? variableMap.getReserved(key6) : variableMap.h[key6]); } } } var key7 = this.value; haxe_Log.trace("Unknown type for variable " + Std.string(this.value) + " (value " + Std.string(__map_reserved[key7] != null ? variableMap.getReserved(key7) : variableMap.h[key7]) + ")",{ fileName : "ExpressionNode.hx", lineNumber : 62, className : "nova.ui.dialog.ExpressionNode", methodName : "evaluate"}); return null; } if(this.type == nova_ui_dialog_ExpressionNodeType.FUNCTION) { var key8 = this.value; if(!(__map_reserved[key8] != null ? variableMap.existsReserved(key8) : variableMap.h.hasOwnProperty(key8))) { haxe_Log.trace("Function " + Std.string(this.value) + " -- not found in variableMap! (defaulting to FALSE)",{ fileName : "ExpressionNode.hx", lineNumber : 67, className : "nova.ui.dialog.ExpressionNode", methodName : "evaluate"}); return nova_ui_dialog_ExpressionNode.FALSE; } var key9 = this.value; var fn = __map_reserved[key9] != null ? variableMap.getReserved(key9) : variableMap.h[key9]; var result = fn(this.leftChild.evaluate(variableMap).value); if(typeof(result) == "number" && ((result | 0) === result)) { return new nova_ui_dialog_ExpressionNode(nova_ui_dialog_ExpressionNodeType.INTEGER,js_Boot.__cast(result , Int)); } else if(typeof(result) == "number") { return new nova_ui_dialog_ExpressionNode(nova_ui_dialog_ExpressionNodeType.FLOAT,js_Boot.__cast(result , Float)); } else if(typeof(result) == "boolean") { return new nova_ui_dialog_ExpressionNode(nova_ui_dialog_ExpressionNodeType.INTEGER,js_Boot.__cast(result , Bool) ? 1 : 0); } else if(typeof(result) == "string") { return new nova_ui_dialog_ExpressionNode(nova_ui_dialog_ExpressionNodeType.STRING,js_Boot.__cast(result , String)); } haxe_Log.trace("Unknown function result for function with name " + Std.string(this.value) + " (value " + result + ")",{ fileName : "ExpressionNode.hx", lineNumber : 81, className : "nova.ui.dialog.ExpressionNode", methodName : "evaluate"}); return null; } if(this.type == nova_ui_dialog_ExpressionNodeType.ARITHMETIC_NODE) { if(this.leftChild == null || this.rightChild == null) { haxe_Log.trace("Attempt to evaluate ARITHMETIC_NODE op with a null child!",{ fileName : "ExpressionNode.hx", lineNumber : 86, className : "nova.ui.dialog.ExpressionNode", methodName : "evaluate"}); return null; } var leftResult = this.leftChild.evaluate(variableMap); var rightResult = this.rightChild.evaluate(variableMap); if(leftResult.type != nova_ui_dialog_ExpressionNodeType.INTEGER && leftResult.type != nova_ui_dialog_ExpressionNodeType.FLOAT || rightResult.type != nova_ui_dialog_ExpressionNodeType.INTEGER && rightResult.type != nova_ui_dialog_ExpressionNodeType.FLOAT) { haxe_Log.trace("Attempt to evaluate ARITHMETIC_NODE op with non-numbers!",{ fileName : "ExpressionNode.hx", lineNumber : 94, className : "nova.ui.dialog.ExpressionNode", methodName : "evaluate"}); return null; } var resultType = leftResult.type == nova_ui_dialog_ExpressionNodeType.FLOAT || rightResult.type == nova_ui_dialog_ExpressionNodeType.FLOAT ? nova_ui_dialog_ExpressionNodeType.FLOAT : nova_ui_dialog_ExpressionNodeType.INTEGER; if(this.value == "+") { return new nova_ui_dialog_ExpressionNode(resultType,leftResult.value + rightResult.value); } else if(this.value == "-") { return new nova_ui_dialog_ExpressionNode(resultType,leftResult.value - rightResult.value); } else if(this.value == "*") { return new nova_ui_dialog_ExpressionNode(resultType,leftResult.value * rightResult.value); } else if(this.value == "/") { var result1 = leftResult.value / rightResult.value; return new nova_ui_dialog_ExpressionNode(resultType,resultType == nova_ui_dialog_ExpressionNodeType.INTEGER ? result1 | 0 : result1); } haxe_Log.trace("Unknown op " + Std.string(this.value),{ fileName : "ExpressionNode.hx", lineNumber : 109, className : "nova.ui.dialog.ExpressionNode", methodName : "evaluate"}); return null; } if(this.type == nova_ui_dialog_ExpressionNodeType.EQUALS || this.type == nova_ui_dialog_ExpressionNodeType.LESS_THAN || this.type == nova_ui_dialog_ExpressionNodeType.GREATER_THAN || this.type == nova_ui_dialog_ExpressionNodeType.LESS_THAN_EQUALS || this.type == nova_ui_dialog_ExpressionNodeType.GREATER_THAN_EQUALS) { if(this.leftChild == null || this.rightChild == null) { haxe_Log.trace("Attempt to evaluate comparison op with a null child!",{ fileName : "ExpressionNode.hx", lineNumber : 115, className : "nova.ui.dialog.ExpressionNode", methodName : "evaluate"}); return null; } var leftResult1 = this.leftChild.evaluate(variableMap); var rightResult1 = this.rightChild.evaluate(variableMap); if(leftResult1.type != nova_ui_dialog_ExpressionNodeType.INTEGER && leftResult1.type != nova_ui_dialog_ExpressionNodeType.FLOAT || rightResult1.type != nova_ui_dialog_ExpressionNodeType.INTEGER && rightResult1.type != nova_ui_dialog_ExpressionNodeType.FLOAT) { if(leftResult1.type != rightResult1.type) { haxe_Log.trace("Warning: Attempt to evaluate type " + Std.string(this.type) + " on incompatible values " + Std.string(leftResult1) + " and " + Std.string(rightResult1) + ". (Returning FALSE)",{ fileName : "ExpressionNode.hx", lineNumber : 123, className : "nova.ui.dialog.ExpressionNode", methodName : "evaluate"}); return nova_ui_dialog_ExpressionNode.FALSE; } } if(this.type == nova_ui_dialog_ExpressionNodeType.EQUALS) { if(leftResult1.value == rightResult1.value) { return nova_ui_dialog_ExpressionNode.TRUE; } else { return nova_ui_dialog_ExpressionNode.FALSE; } } if(this.type == nova_ui_dialog_ExpressionNodeType.LESS_THAN) { if(leftResult1.value < rightResult1.value) { return nova_ui_dialog_ExpressionNode.TRUE; } else { return nova_ui_dialog_ExpressionNode.FALSE; } } if(this.type == nova_ui_dialog_ExpressionNodeType.LESS_THAN_EQUALS) { if(leftResult1.value <= rightResult1.value) { return nova_ui_dialog_ExpressionNode.TRUE; } else { return nova_ui_dialog_ExpressionNode.FALSE; } } if(this.type == nova_ui_dialog_ExpressionNodeType.GREATER_THAN) { if(leftResult1.value > rightResult1.value) { return nova_ui_dialog_ExpressionNode.TRUE; } else { return nova_ui_dialog_ExpressionNode.FALSE; } } if(this.type == nova_ui_dialog_ExpressionNodeType.GREATER_THAN_EQUALS) { if(leftResult1.value >= rightResult1.value) { return nova_ui_dialog_ExpressionNode.TRUE; } else { return nova_ui_dialog_ExpressionNode.FALSE; } } return nova_ui_dialog_ExpressionNode.TRUE; } if(this.type == nova_ui_dialog_ExpressionNodeType.AND || this.type == nova_ui_dialog_ExpressionNodeType.OR) { if(this.leftChild == null || this.rightChild == null) { haxe_Log.trace("Attempt to evaluate AND op with a null child!",{ fileName : "ExpressionNode.hx", lineNumber : 148, className : "nova.ui.dialog.ExpressionNode", methodName : "evaluate"}); return null; } var leftResult2 = this.leftChild.evaluate(variableMap); var rightResult2 = this.rightChild.evaluate(variableMap); if(leftResult2.type != nova_ui_dialog_ExpressionNodeType.INTEGER || rightResult2.type != nova_ui_dialog_ExpressionNodeType.INTEGER) { haxe_Log.trace("Attempt to evaluate " + Std.string(this.type) + " op with types " + Std.string(leftResult2.type) + " and " + Std.string(rightResult2.type) + "!",{ fileName : "ExpressionNode.hx", lineNumber : 154, className : "nova.ui.dialog.ExpressionNode", methodName : "evaluate"}); return null; } if(this.type == nova_ui_dialog_ExpressionNodeType.AND) { if(leftResult2.value > 0 && rightResult2.value > 0) { return nova_ui_dialog_ExpressionNode.TRUE; } return nova_ui_dialog_ExpressionNode.FALSE; } else { if(leftResult2.value > 0 || rightResult2.value > 0) { return nova_ui_dialog_ExpressionNode.TRUE; } return nova_ui_dialog_ExpressionNode.FALSE; } } if(this.type == nova_ui_dialog_ExpressionNodeType.NOT) { if(this.leftChild == null) { haxe_Log.trace("Attempt to evaluate NOT op with a null child!",{ fileName : "ExpressionNode.hx", lineNumber : 171, className : "nova.ui.dialog.ExpressionNode", methodName : "evaluate"}); return null; } var result2 = this.leftChild.evaluate(variableMap); if(result2.type != nova_ui_dialog_ExpressionNodeType.INTEGER) { haxe_Log.trace("Attempt to evaluate NOT op with type " + Std.string(result2.type) + "!",{ fileName : "ExpressionNode.hx", lineNumber : 177, className : "nova.ui.dialog.ExpressionNode", methodName : "evaluate"}); return null; } if(result2.value > 0) { return nova_ui_dialog_ExpressionNode.FALSE; } return nova_ui_dialog_ExpressionNode.TRUE; } return null; } ,toString: function() { return this._printableForm().join("\n"); } ,_printableForm: function(indent) { if(indent == null) { indent = 0; } var r = []; r.push(nova_ui_dialog_DialogSyntaxNode.spaces(indent) + "> " + Std.string(this.type) + ": " + Std.string(this.value)); if(this.leftChild != null) { nova_utils_ArrayUtils.extend(r,this.leftChild._printableForm(indent + 4)); } if(this.rightChild != null) { nova_utils_ArrayUtils.extend(r,this.rightChild._printableForm(indent + 4)); } return r; } ,__class__: nova_ui_dialog_ExpressionNode }; var nova_utils_ArrayUtils = function() { }; $hxClasses["nova.utils.ArrayUtils"] = nova_utils_ArrayUtils; nova_utils_ArrayUtils.__name__ = ["nova","utils","ArrayUtils"]; nova_utils_ArrayUtils.foldFn = function(a,cmpFn) { var foldf = function(a1,b) { if(b == null) { return a1; } return cmpFn(a1,b); }; return Lambda.fold(a,foldf,null); }; nova_utils_ArrayUtils.min = function(a) { return nova_utils_ArrayUtils.foldFn(a,Math.min); }; nova_utils_ArrayUtils.max = function(a) { return nova_utils_ArrayUtils.foldFn(a,Math.max); }; nova_utils_ArrayUtils.minBy = function(a,cmpFn) { var bestIndex = 0; var bestValue = cmpFn(a[0]); var _g1 = 1; var _g = a.length; while(_g1 < _g) { var i = _g1++; var value = cmpFn(a[i]); if(value < bestValue) { bestValue = value; bestIndex = i; } } return a[bestIndex]; }; nova_utils_ArrayUtils.last = function(a) { return a[a.length - 1]; }; nova_utils_ArrayUtils.indexOf = function(a,element,cmpFn) { var _g1 = 0; var _g = a.length; while(_g1 < _g) { var i = _g1++; if(cmpFn == null && a[i] == element) { return i; } if(cmpFn != null && cmpFn(a[i],element)) { return i; } } return -1; }; nova_utils_ArrayUtils.indices = function(a,b) { var r = []; var _g = 0; while(_g < b.length) { var i = b[_g]; ++_g; r.push(a[i]); } return r; }; nova_utils_ArrayUtils.extend = function(a,b) { var _g = 0; while(_g < b.length) { var k = b[_g]; ++_g; a.push(k); } return a; }; nova_utils_ArrayUtils.remove = function(a,element,cmpFn) { var index = nova_utils_ArrayUtils.indexOf(a,element,cmpFn); if(index != -1) { a.splice(index,1); } return index != -1; }; nova_utils_ArrayUtils.exactMatch = function(a,b) { if(a.length != b.length) { return false; } var _g1 = 0; var _g = a.length; while(_g1 < _g) { var i = _g1++; if(a[i] != b[i]) { return false; } } return true; }; nova_utils_ArrayUtils.unorderedMatch = function(a,b,fn) { if(a.length != b.length) { return false; } var sa = a.slice(); sa.sort(fn); var sb = b.slice(); sb.sort(fn); return nova_utils_ArrayUtils.exactMatch(sa,sb); }; nova_utils_ArrayUtils.unorderedStringMatch = function(a,b) { return nova_utils_ArrayUtils.unorderedMatch(a,b,function(a1,b1) { if(a1 < b1) { return -1; } else { return 1; } }); }; nova_utils_ArrayUtils.randomShuffle = function(a) { var _g1 = 0; var _g = a.length; while(_g1 < _g) { var i = _g1++; var t = a[i]; var pivot = Std.random(a.length - i) + i; a[i] = a[pivot]; a[pivot] = t; } }; nova_utils_ArrayUtils.filterByIndex = function(a,fn) { var ret = []; var _g1 = 0; var _g = a.length; while(_g1 < _g) { var i = _g1++; if(fn(i)) { ret.push(a[i]); } } return ret; }; nova_utils_ArrayUtils.eachRow = function(a,fn) { var _g1 = 0; var _g = a.length; while(_g1 < _g) { var i = _g1++; a[i] = fn(a[i]); } return a; }; nova_utils_ArrayUtils.to2D = function(a,columns) { if(a.length % columns != 0) { haxe_Log.trace("Warning: called `to2D` where length (" + Std.string(a) + ".length) doesn't evenly divide " + columns,{ fileName : "ArrayUtils.hx", lineNumber : 133, className : "nova.utils.ArrayUtils", methodName : "to2D"}); } var builtArray = []; var index = 0; while(index < a.length) { builtArray.push(a.slice(index,index + columns)); index += columns; } return builtArray; }; var nova_utils_BitmapDataUtils = function() { }; $hxClasses["nova.utils.BitmapDataUtils"] = nova_utils_BitmapDataUtils; nova_utils_BitmapDataUtils.__name__ = ["nova","utils","BitmapDataUtils"]; nova_utils_BitmapDataUtils.scaleFn = function(scaleX,scaleY) { return function(bitmapData) { var newBitmapData = new openfl_display_BitmapData(bitmapData.width * scaleX,bitmapData.height * scaleY,true,0); var mx = new openfl_geom_Matrix(scaleX,0,0,scaleY); newBitmapData.draw(bitmapData,mx); return newBitmapData; }; }; nova_utils_BitmapDataUtils.rotateFn = function(rotation) { return function(bitmapData) { var newBitmapData = new openfl_display_BitmapData(bitmapData.width,bitmapData.height,true,0); var mx = new openfl_geom_Matrix(); mx.translate(-bitmapData.width / 2,-bitmapData.height / 2); mx.rotate(rotation); mx.translate(bitmapData.width / 2,bitmapData.height / 2); newBitmapData.draw(bitmapData,mx); return newBitmapData; }; }; nova_utils_BitmapDataUtils.horizontalStretchCenter = function(bitmapData,borderWidth,targetWidth) { var resultBitmapData = new openfl_display_BitmapData(targetWidth,bitmapData.height,true,0); var middleWidth = bitmapData.width - 2 * borderWidth; var middleBitmapData = new openfl_display_BitmapData(middleWidth,bitmapData.height,true,0); middleBitmapData.copyPixels(bitmapData,new openfl_geom_Rectangle(borderWidth,0,middleWidth,bitmapData.height),new openfl_geom_Point(0,0)); resultBitmapData.copyPixels(bitmapData,new openfl_geom_Rectangle(0,0,borderWidth,bitmapData.height),new openfl_geom_Point(0,0)); resultBitmapData.copyPixels(bitmapData,new openfl_geom_Rectangle(borderWidth + middleWidth,0,borderWidth,bitmapData.height),new openfl_geom_Point(targetWidth - borderWidth,0)); var mx = new openfl_geom_Matrix((targetWidth - 2 * borderWidth) / middleWidth,0,0,1); mx.translate(borderWidth,0); resultBitmapData.draw(middleBitmapData,mx); return resultBitmapData; }; nova_utils_BitmapDataUtils.verticalStretchCenter = function(bitmapData,borderHeight,targetHeight) { var resultBitmapData = new openfl_display_BitmapData(bitmapData.width,targetHeight,true,0); var middleHeight = bitmapData.height - 2 * borderHeight; var middleBitmapData = new openfl_display_BitmapData(bitmapData.width,middleHeight); middleBitmapData.copyPixels(bitmapData,new openfl_geom_Rectangle(0,borderHeight,bitmapData.width,middleHeight),new openfl_geom_Point(0,0)); resultBitmapData.copyPixels(bitmapData,new openfl_geom_Rectangle(0,0,bitmapData.width,borderHeight),new openfl_geom_Point(0,0)); resultBitmapData.copyPixels(bitmapData,new openfl_geom_Rectangle(0,borderHeight + middleHeight,bitmapData.width,borderHeight),new openfl_geom_Point(0,targetHeight - borderHeight)); var mx = new openfl_geom_Matrix(1,0,0,(targetHeight - 2 * borderHeight) / middleHeight); mx.translate(0,borderHeight); resultBitmapData.draw(middleBitmapData,mx); return resultBitmapData; }; nova_utils_BitmapDataUtils.getSpriteFromSheetFn = function(sourceBitmapData,tileDimensions) { return function(tileCoords,transformFn) { var tile = new openfl_display_BitmapData(nova_utils__$Pair_Pair_$Impl_$.get_x(tileDimensions),nova_utils__$Pair_Pair_$Impl_$.get_y(tileDimensions),true,0); var tmp = new openfl_geom_Rectangle(nova_utils__$Pair_Pair_$Impl_$.get_x(tileCoords) * nova_utils__$Pair_Pair_$Impl_$.get_x(tileDimensions),nova_utils__$Pair_Pair_$Impl_$.get_y(tileCoords) * nova_utils__$Pair_Pair_$Impl_$.get_y(tileDimensions),nova_utils__$Pair_Pair_$Impl_$.get_x(tileDimensions),nova_utils__$Pair_Pair_$Impl_$.get_y(tileDimensions)); tile.copyPixels(sourceBitmapData,tmp,new openfl_geom_Point(0,0)); if(transformFn == null) { return tile; } else { return transformFn(tile); } }; }; nova_utils_BitmapDataUtils.stitchSpriteSheetsFn = function(sourceBitmapData,tileDimensions) { return function(tiles,transformFn,columns) { if(columns == null) { columns = 0; } var transformedBitmapData = []; var getSpriteFn = nova_utils_BitmapDataUtils.getSpriteFromSheetFn(sourceBitmapData,tileDimensions); var _g1 = 0; var _g = tiles.length; while(_g1 < _g) { var i = _g1++; var tileCoords = tiles[i]; if(nova_utils__$Pair_Pair_$Impl_$.get_x(tileCoords) >= 0 && nova_utils__$Pair_Pair_$Impl_$.get_y(tileCoords) >= 0) { transformedBitmapData.push(getSpriteFn(tileCoords,transformFn)); } else { var transparentBD = new openfl_display_BitmapData(nova_utils__$Pair_Pair_$Impl_$.get_x(tileDimensions),nova_utils__$Pair_Pair_$Impl_$.get_y(tileDimensions),true,0); if(transformFn != null) { transparentBD = transformFn(transparentBD); } transformedBitmapData.push(transparentBD); } } var returnBitmapData; if(columns == 0) { returnBitmapData = new openfl_display_BitmapData(transformedBitmapData[0].width * tiles.length,transformedBitmapData[0].height,true,0); } else { returnBitmapData = new openfl_display_BitmapData(transformedBitmapData[0].width * columns,transformedBitmapData[0].height * Math.ceil(tiles.length / columns - 0.0001),true,0); } var intPairFromColumn = nova_utils_BitmapDataUtils.intToIntPairFn(columns); var _g11 = 0; var _g2 = transformedBitmapData.length; while(_g11 < _g2) { var i1 = _g11++; var transformedTile = transformedBitmapData[i1]; var pointCoords = intPairFromColumn(i1); returnBitmapData.copyPixels(transformedTile,transformedTile.rect,new openfl_geom_Point(nova_utils__$Pair_Pair_$Impl_$.get_x(pointCoords) * transformedBitmapData[0].width,nova_utils__$Pair_Pair_$Impl_$.get_y(pointCoords) * transformedBitmapData[0].height)); } return returnBitmapData; }; }; nova_utils_BitmapDataUtils.crop = function(bitmapData,point,dims) { var newBitmapData = new openfl_display_BitmapData(nova_utils__$Pair_Pair_$Impl_$.get_x(dims),nova_utils__$Pair_Pair_$Impl_$.get_y(dims)); newBitmapData.copyPixels(bitmapData,new openfl_geom_Rectangle(nova_utils__$Pair_Pair_$Impl_$.get_x(point),nova_utils__$Pair_Pair_$Impl_$.get_y(point),nova_utils__$Pair_Pair_$Impl_$.get_x(point) + nova_utils__$Pair_Pair_$Impl_$.get_x(dims),nova_utils__$Pair_Pair_$Impl_$.get_y(point) + nova_utils__$Pair_Pair_$Impl_$.get_y(dims)),new openfl_geom_Point(0,0)); return newBitmapData; }; nova_utils_BitmapDataUtils.intToIntPairFn = function(columns) { if(columns == 0) { return function(id) { return nova_utils__$Pair_Pair_$Impl_$.fromIntArray([id,0]); }; } return function(id1) { return nova_utils__$Pair_Pair_$Impl_$.fromIntArray([id1 % columns,id1 / columns | 0]); }; }; nova_utils_BitmapDataUtils.toIntPairFn = function(columns) { if(columns == 0) { return function(id) { if(typeof(id) == "number" && ((id | 0) === id)) { return nova_utils__$Pair_Pair_$Impl_$.fromIntArray([id,0]); } return id; }; } return function(id1) { if(typeof(id1) == "number" && ((id1 | 0) === id1)) { return nova_utils__$Pair_Pair_$Impl_$.fromIntArray([id1 % columns,id1 / columns | 0]); } return id1; }; }; nova_utils_BitmapDataUtils.loadFromObject = function(object) { if(!Object.prototype.hasOwnProperty.call(object,"image")) { haxe_Log.trace("Error: object " + Std.string(object) + " has no `image` field!",{ fileName : "BitmapDataUtils.hx", lineNumber : 170, className : "nova.utils.BitmapDataUtils", methodName : "loadFromObject"}); return null; } var toReturn = openfl_utils_Assets.getBitmapData(object.image); if(Object.prototype.hasOwnProperty.call(object,"transform")) { toReturn = object.transform(toReturn); } return toReturn; }; nova_utils_BitmapDataUtils.loadTilesFromObject = function(object) { if(!Object.prototype.hasOwnProperty.call(object,"image")) { haxe_Log.trace("Error: object " + Std.string(object) + " has no `image` field!",{ fileName : "BitmapDataUtils.hx", lineNumber : 182, className : "nova.utils.BitmapDataUtils", methodName : "loadTilesFromObject"}); return null; } var tileWidth = 0; var tileHeight = 0; if(Object.prototype.hasOwnProperty.call(object,"width")) { tileWidth = object.width; } if(Object.prototype.hasOwnProperty.call(object,"tileWidth")) { tileWidth = object.tileWidth; } if(Object.prototype.hasOwnProperty.call(object,"height")) { tileHeight = object.height; } if(Object.prototype.hasOwnProperty.call(object,"tileHeight")) { tileHeight = object.tileHeight; } return new nova_render_TiledBitmapData(object.image,tileWidth,tileHeight,nova_utils_StructureUtils.prop(object,"transform")); }; var nova_utils_CharUtils = function() { }; $hxClasses["nova.utils.CharUtils"] = nova_utils_CharUtils; nova_utils_CharUtils.__name__ = ["nova","utils","CharUtils"]; nova_utils_CharUtils.isDigit = function(code) { if(code >= 48) { return code <= 57; } else { return false; } }; var nova_utils__$Pair_Pair_$Impl_$ = {}; $hxClasses["nova.utils._Pair.Pair_Impl_"] = nova_utils__$Pair_Pair_$Impl_$; nova_utils__$Pair_Pair_$Impl_$.__name__ = ["nova","utils","_Pair","Pair_Impl_"]; nova_utils__$Pair_Pair_$Impl_$.__properties__ = {get_second:"get_second",get_first:"get_first",set_y:"set_y",get_y:"get_y",set_x:"set_x",get_x:"get_x"}; nova_utils__$Pair_Pair_$Impl_$._new = function(x,y) { var this1 = [x,y]; return this1; }; nova_utils__$Pair_Pair_$Impl_$.get_x = function(this1) { return this1[0]; }; nova_utils__$Pair_Pair_$Impl_$.set_x = function(this1,x) { this1[0] = x; return x; }; nova_utils__$Pair_Pair_$Impl_$.get_y = function(this1) { return this1[1]; }; nova_utils__$Pair_Pair_$Impl_$.set_y = function(this1,y) { this1[1] = y; return y; }; nova_utils__$Pair_Pair_$Impl_$.get_first = function(this1) { return this1[0]; }; nova_utils__$Pair_Pair_$Impl_$.get_second = function(this1) { return this1[1]; }; nova_utils__$Pair_Pair_$Impl_$.fromIntArray = function(a) { if(a.length != 2) { haxe_Log.trace("Error: `fromArray` must have exactly two arguments.",{ fileName : "Pair.hx", lineNumber : 39, className : "nova.utils._Pair.Pair_Impl_", methodName : "fromIntArray"}); return null; } var this1 = [a[0],a[1]]; return this1; }; nova_utils__$Pair_Pair_$Impl_$.fromFloatArray = function(a) { if(a.length != 2) { haxe_Log.trace("Error: `fromArray` must have exactly two arguments.",{ fileName : "Pair.hx", lineNumber : 48, className : "nova.utils._Pair.Pair_Impl_", methodName : "fromFloatArray"}); return null; } var this1 = [a[0],a[1]]; return this1; }; nova_utils__$Pair_Pair_$Impl_$.fromFlxPoint = function(a) { var this1 = [a.x,a.y]; return this1; }; nova_utils__$Pair_Pair_$Impl_$.toArray = function(this1) { return this1; }; nova_utils__$Pair_Pair_$Impl_$.add = function(this1,rhs) { var this2 = [this1[0] + rhs[0],this1[1] + rhs[1]]; return this2; }; nova_utils__$Pair_Pair_$Impl_$.subtract = function(this1,rhs) { var this2 = [this1[0] - rhs[0],this1[1] - rhs[1]]; return this2; }; nova_utils__$Pair_Pair_$Impl_$.multiply = function(this1,rhs) { var this2 = [this1[0] * rhs,this1[1] * rhs]; return this2; }; nova_utils__$Pair_Pair_$Impl_$.negate = function(this1) { var this2 = [-this1[0],-this1[1]]; return this2; }; nova_utils__$Pair_Pair_$Impl_$.equals = function(this1,rhs) { if(rhs == null) { return this1 == null; } if(this1[0] == rhs[0]) { return this1[1] == rhs[1]; } else { return false; } }; nova_utils__$Pair_Pair_$Impl_$.norm = function(this1) { return Math.sqrt(this1[0] * this1[0] + this1[1] * this1[1]); }; nova_utils__$Pair_Pair_$Impl_$.normSquared = function(this1) { return this1[0] * this1[0] + this1[1] * this1[1]; }; nova_utils__$Pair_Pair_$Impl_$.copy = function(this1) { var this2 = [this1[0],this1[1]]; return this2; }; nova_utils__$Pair_Pair_$Impl_$.toString = function(this1) { return "(" + Std.string(this1[0]) + ", " + Std.string(this1[1]) + ")"; }; var nova_utils_StructureUtils = function() { }; $hxClasses["nova.utils.StructureUtils"] = nova_utils_StructureUtils; nova_utils_StructureUtils.__name__ = ["nova","utils","StructureUtils"]; nova_utils_StructureUtils.merge = function(struct1,struct2) { var merged = { }; if(struct2 != null) { var _g = 0; var _g1 = Reflect.fields(struct2); while(_g < _g1.length) { var field = _g1[_g]; ++_g; merged[field] = Reflect.field(struct2,field); } } if(struct1 != null) { var _g2 = 0; var _g11 = Reflect.fields(struct1); while(_g2 < _g11.length) { var field1 = _g11[_g2]; ++_g2; if(!Object.prototype.hasOwnProperty.call(merged,field1)) { merged[field1] = Reflect.field(struct1,field1); } } } return merged; }; nova_utils_StructureUtils.clone = function(struct) { if(struct == null) { return null; } var newStruct = { }; var _g = 0; var _g1 = Reflect.fields(struct); while(_g < _g1.length) { var field = _g1[_g]; ++_g; newStruct[field] = Reflect.field(struct,field); } return newStruct; }; nova_utils_StructureUtils.prop = function(struct,prop) { var splitProp = prop.split("."); var index = 0; var point = struct; while(index < splitProp.length) if(Object.prototype.hasOwnProperty.call(point,splitProp[index])) { point = Reflect.field(point,splitProp[index]); ++index; } else { return null; } return point; }; var openfl_Lib = function() { }; $hxClasses["openfl.Lib"] = openfl_Lib; openfl_Lib.__name__ = ["openfl","Lib"]; openfl_Lib.__properties__ = {get_current:"get_current",get_application:"get_application"}; openfl_Lib["as"] = function(v,c) { if(js_Boot.__instanceof(v,c)) { return v; } else { return null; } }; openfl_Lib.attach = function(name) { return new openfl_display_MovieClip(); }; openfl_Lib.clearInterval = function(id) { if(openfl_Lib.__timers.h.hasOwnProperty(id)) { var timer = openfl_Lib.__timers.h[id]; timer.stop(); openfl_Lib.__timers.remove(id); } }; openfl_Lib.clearTimeout = function(id) { if(openfl_Lib.__timers.h.hasOwnProperty(id)) { var timer = openfl_Lib.__timers.h[id]; timer.stop(); openfl_Lib.__timers.remove(id); } }; openfl_Lib.getDefinitionByName = function(name) { return Type.resolveClass(name); }; openfl_Lib.getQualifiedClassName = function(value) { var o = value; return Type.getClassName(o == null ? null : js_Boot.getClass(o)); }; openfl_Lib.getQualifiedSuperclassName = function(value) { var o = value; var ref = Type.getSuperClass(o == null ? null : js_Boot.getClass(o)); if(ref != null) { return Type.getClassName(ref); } else { return null; } }; openfl_Lib.getTimer = function() { return lime_system_System.getTimer(); }; openfl_Lib.getURL = function(request,target) { openfl_Lib.navigateToURL(request,target); }; openfl_Lib.navigateToURL = function(request,window) { if(window == null) { window = "_blank"; } var uri = request.url; if(Type["typeof"](request.data) == ValueType.TObject) { var query = ""; var fields = Reflect.fields(request.data); var _g = 0; while(_g < fields.length) { var field = fields[_g]; ++_g; if(query.length > 0) { query += "&"; } var query1 = encodeURIComponent(field) + "="; var s = Std.string(Reflect.field(request.data,field)); query += query1 + encodeURIComponent(s); } if(uri.indexOf("?") > -1) { uri += "&" + query; } else { uri += "?" + query; } } lime_system_System.openURL(uri,window); }; openfl_Lib.notImplemented = function(posInfo) { var api = posInfo.className + "." + posInfo.methodName; var _this = openfl_Lib.__sentWarnings; if(!(__map_reserved[api] != null ? _this.existsReserved(api) : _this.h.hasOwnProperty(api))) { var _this1 = openfl_Lib.__sentWarnings; if(__map_reserved[api] != null) { _this1.setReserved(api,true); } else { _this1.h[api] = true; } lime_utils_Log.warn(posInfo.methodName + " is not implemented",posInfo); } }; openfl_Lib.preventDefaultTouchMove = function() { window.document.addEventListener("touchmove",function(evt) { evt.preventDefault(); },false); }; openfl_Lib.sendToURL = function(request) { var urlLoader = new openfl_net_URLLoader(); urlLoader.load(request); }; openfl_Lib.setInterval = function(closure,delay,args) { var id = ++openfl_Lib.__lastTimerID; var timer = new haxe_Timer(delay); openfl_Lib.__timers.h[id] = timer; timer.run = function() { closure.apply(closure,args == null ? [] : args); }; return id; }; openfl_Lib.setTimeout = function(closure,delay,args) { var id = ++openfl_Lib.__lastTimerID; var this1 = openfl_Lib.__timers; var v = haxe_Timer.delay(function() { closure.apply(closure,args == null ? [] : args); },delay); this1.h[id] = v; return id; }; openfl_Lib.trace = function(arg) { haxe_Log.trace(arg,{ fileName : "Lib.hx", lineNumber : 289, className : "openfl.Lib", methodName : "trace"}); }; openfl_Lib.get_application = function() { return openfl__$internal_Lib.application; }; openfl_Lib.get_current = function() { if(openfl__$internal_Lib.current == null) { openfl__$internal_Lib.current = new openfl_display_MovieClip(); } return openfl__$internal_Lib.current; }; var openfl__$Vector_IVector = function() { }; $hxClasses["openfl._Vector.IVector"] = openfl__$Vector_IVector; openfl__$Vector_IVector.__name__ = ["openfl","_Vector","IVector"]; openfl__$Vector_IVector.prototype = { set_length: null ,get_length: null ,fixed: null ,concat: null ,copy: null ,get: null ,indexOf: null ,insertAt: null ,iterator: null ,join: null ,lastIndexOf: null ,pop: null ,push: null ,removeAt: null ,reverse: null ,set: null ,shift: null ,slice: null ,sort: null ,splice: null ,toString: null ,unshift: null ,__class__: openfl__$Vector_IVector ,__properties__: {set_length:"set_length",get_length:"get_length"} }; var openfl__$Vector_BoolVector = function(length,fixed,array) { if(array == null) { array = []; } this.__array = array; if(length != null && length > 0) { this.set_length(length); } this.fixed = fixed == true; }; $hxClasses["openfl._Vector.BoolVector"] = openfl__$Vector_BoolVector; openfl__$Vector_BoolVector.__name__ = ["openfl","_Vector","BoolVector"]; openfl__$Vector_BoolVector.__interfaces__ = [openfl__$Vector_IVector]; openfl__$Vector_BoolVector.prototype = { fixed: null ,__array: null ,concat: function(a) { if(a == null) { return new openfl__$Vector_BoolVector(null,null,this.__array.slice()); } else { var other = a; if(other.__array.length > 0) { return new openfl__$Vector_BoolVector(null,null,this.__array.concat(other.__array)); } else { return new openfl__$Vector_BoolVector(null,null,this.__array.slice()); } } } ,copy: function() { return new openfl__$Vector_BoolVector(null,this.fixed,this.__array.slice()); } ,get: function(index) { if(index >= this.__array.length) { return false; } else { return this.__array[index]; } } ,indexOf: function(x,from) { if(from == null) { from = 0; } var _g1 = from; var _g = this.__array.length; while(_g1 < _g) { var i = _g1++; if(this.__array[i] == x) { return i; } } return -1; } ,insertAt: function(index,element) { if(!this.fixed || index < this.__array.length) { this.__array.splice(index,0,element); } } ,iterator: function() { return HxOverrides.iter(this.__array); } ,join: function(sep) { if(sep == null) { sep = ","; } return this.__array.join(sep); } ,lastIndexOf: function(x,from) { var i = from == null || from >= this.__array.length ? this.__array.length - 1 : from; while(i >= 0) { if(this.__array[i] == x) { return i; } --i; } return -1; } ,pop: function() { if(!this.fixed) { return this.__array.pop(); } else { return null; } } ,push: function(x) { if(!this.fixed) { return this.__array.push(x); } else { return this.__array.length; } } ,removeAt: function(index) { if(!this.fixed || index < this.__array.length) { return this.__array.splice(index,1)[0]; } return false; } ,reverse: function() { this.__array.reverse(); return this; } ,set: function(index,value) { if(!this.fixed || index < this.__array.length) { return this.__array[index] = value; } else { return value; } } ,shift: function() { if(!this.fixed) { return this.__array.shift(); } else { return null; } } ,slice: function(startIndex,endIndex) { if(endIndex == null) { endIndex = 16777215; } if(startIndex == null) { startIndex = 0; } return new openfl__$Vector_BoolVector(null,null,this.__array.slice(startIndex,endIndex)); } ,sort: function(f) { this.__array.sort(f); } ,splice: function(pos,len) { return new openfl__$Vector_BoolVector(null,null,this.__array.splice(pos,len)); } ,toJSON: function() { return this.__array; } ,toString: function() { if(this.__array != null) { return this.__array.toString(); } else { return null; } } ,unshift: function(x) { if(!this.fixed) { this.__array.unshift(x); } } ,get_length: function() { return this.__array.length; } ,set_length: function(value) { if(!this.fixed) { var currentLength = this.__array.length; if(value < 0) { value = 0; } if(value > currentLength) { var _g1 = currentLength; var _g = value; while(_g1 < _g) { var i = _g1++; this.__array[i] = false; } } else { while(this.__array.length > value) this.__array.pop(); } } return this.__array.length; } ,__class__: openfl__$Vector_BoolVector ,__properties__: {set_length:"set_length",get_length:"get_length"} }; var openfl__$Vector_FloatVector = function(length,fixed,array,forceCopy) { if(forceCopy == null) { forceCopy = false; } if(forceCopy) { this.__array = []; if(array != null) { var _g1 = 0; var _g = array.length; while(_g1 < _g) { var i = _g1++; this.__array[i] = array[i]; } } } else { if(array == null) { array = []; } this.__array = array; } if(length != null && length > 0) { this.set_length(length); } this.fixed = fixed == true; }; $hxClasses["openfl._Vector.FloatVector"] = openfl__$Vector_FloatVector; openfl__$Vector_FloatVector.__name__ = ["openfl","_Vector","FloatVector"]; openfl__$Vector_FloatVector.__interfaces__ = [openfl__$Vector_IVector]; openfl__$Vector_FloatVector.prototype = { fixed: null ,__array: null ,concat: function(a) { if(a == null) { return new openfl__$Vector_FloatVector(null,null,this.__array.slice()); } else { var other = a; if(other.__array.length > 0) { return new openfl__$Vector_FloatVector(null,null,this.__array.concat(other.__array)); } else { return new openfl__$Vector_FloatVector(null,null,this.__array.slice()); } } } ,copy: function() { return new openfl__$Vector_FloatVector(null,this.fixed,this.__array.slice()); } ,get: function(index) { return this.__array[index]; } ,indexOf: function(x,from) { if(from == null) { from = 0; } var _g1 = from; var _g = this.__array.length; while(_g1 < _g) { var i = _g1++; if(this.__array[i] == x) { return i; } } return -1; } ,insertAt: function(index,element) { if(!this.fixed || index < this.__array.length) { this.__array.splice(index,0,element); } } ,iterator: function() { return HxOverrides.iter(this.__array); } ,join: function(sep) { if(sep == null) { sep = ","; } return this.__array.join(sep); } ,lastIndexOf: function(x,from) { var i = from == null || from >= this.__array.length ? this.__array.length - 1 : from; while(i >= 0) { if(this.__array[i] == x) { return i; } --i; } return -1; } ,pop: function() { if(!this.fixed) { return this.__array.pop(); } else { return null; } } ,push: function(x) { if(!this.fixed) { return this.__array.push(x); } else { return this.__array.length; } } ,removeAt: function(index) { if(!this.fixed || index < this.__array.length) { return this.__array.splice(index,1)[0]; } return 0; } ,reverse: function() { this.__array.reverse(); return this; } ,set: function(index,value) { if(!this.fixed || index < this.__array.length) { return this.__array[index] = value; } else { return value; } } ,shift: function() { if(!this.fixed) { return this.__array.shift(); } else { return null; } } ,slice: function(startIndex,endIndex) { if(endIndex == null) { endIndex = 16777215; } if(startIndex == null) { startIndex = 0; } return new openfl__$Vector_FloatVector(null,null,this.__array.slice(startIndex,endIndex)); } ,sort: function(f) { this.__array.sort(f); } ,splice: function(pos,len) { return new openfl__$Vector_FloatVector(null,null,this.__array.splice(pos,len)); } ,toJSON: function() { return this.__array; } ,toString: function() { if(this.__array != null) { return this.__array.toString(); } else { return null; } } ,unshift: function(x) { if(!this.fixed) { this.__array.unshift(x); } } ,get_length: function() { return this.__array.length; } ,set_length: function(value) { if(value != this.__array.length && !this.fixed) { var currentLength = this.__array.length; if(value < 0) { value = 0; } if(value > currentLength) { var _g1 = currentLength; var _g = value; while(_g1 < _g) { var i = _g1++; this.__array[i] = 0; } } else { while(this.__array.length > value) this.__array.pop(); } } return this.__array.length; } ,__class__: openfl__$Vector_FloatVector ,__properties__: {set_length:"set_length",get_length:"get_length"} }; var openfl__$Vector_FunctionVector = function(length,fixed,array) { if(array == null) { array = []; } this.__array = array; if(length != null && length > 0) { this.set_length(length); } this.fixed = fixed == true; }; $hxClasses["openfl._Vector.FunctionVector"] = openfl__$Vector_FunctionVector; openfl__$Vector_FunctionVector.__name__ = ["openfl","_Vector","FunctionVector"]; openfl__$Vector_FunctionVector.__interfaces__ = [openfl__$Vector_IVector]; openfl__$Vector_FunctionVector.prototype = { fixed: null ,__array: null ,concat: function(a) { if(a == null) { return new openfl__$Vector_FunctionVector(null,null,this.__array.slice()); } else { var other = a; if(other.__array.length > 0) { return new openfl__$Vector_FunctionVector(null,null,this.__array.concat(other.__array)); } else { return new openfl__$Vector_FunctionVector(null,null,this.__array.slice()); } } } ,copy: function() { return new openfl__$Vector_FunctionVector(null,this.fixed,this.__array.slice()); } ,get: function(index) { if(index >= this.__array.length) { return null; } else { return this.__array[index]; } } ,indexOf: function(x,from) { if(from == null) { from = 0; } var _g1 = from; var _g = this.__array.length; while(_g1 < _g) { var i = _g1++; if(Reflect.compareMethods(this.__array[i],x)) { return i; } } return -1; } ,insertAt: function(index,element) { if(!this.fixed || index < this.__array.length) { this.__array.splice(index,0,element); } } ,iterator: function() { return HxOverrides.iter(this.__array); } ,join: function(sep) { if(sep == null) { sep = ","; } return this.__array.join(sep); } ,lastIndexOf: function(x,from) { var i = from == null || from >= this.__array.length ? this.__array.length - 1 : from; while(i >= 0) { if(Reflect.compareMethods(this.__array[i],x)) { return i; } --i; } return -1; } ,pop: function() { if(!this.fixed) { return this.__array.pop(); } else { return null; } } ,push: function(x) { if(!this.fixed) { return this.__array.push(x); } else { return this.__array.length; } } ,removeAt: function(index) { if(!this.fixed || index < this.__array.length) { return this.__array.splice(index,1)[0]; } return null; } ,reverse: function() { this.__array.reverse(); return this; } ,set: function(index,value) { if(!this.fixed || index < this.__array.length) { return this.__array[index] = value; } else { return value; } } ,shift: function() { if(!this.fixed) { return this.__array.shift(); } else { return null; } } ,slice: function(startIndex,endIndex) { if(endIndex == null) { endIndex = 16777215; } if(startIndex == null) { startIndex = 0; } return new openfl__$Vector_FunctionVector(null,null,this.__array.slice(startIndex,endIndex)); } ,sort: function(f) { this.__array.sort(f); } ,splice: function(pos,len) { return new openfl__$Vector_FunctionVector(null,null,this.__array.splice(pos,len)); } ,toJSON: function() { return this.__array; } ,toString: function() { if(this.__array != null) { return this.__array.toString(); } else { return null; } } ,unshift: function(x) { if(!this.fixed) { this.__array.unshift(x); } } ,get_length: function() { return this.__array.length; } ,set_length: function(value) { if(!this.fixed) { var currentLength = this.__array.length; if(value < 0) { value = 0; } if(value > currentLength) { var _g1 = currentLength; var _g = value; while(_g1 < _g) { var i = _g1++; this.__array[i] = null; } } else { while(this.__array.length > value) this.__array.pop(); } } return this.__array.length; } ,__class__: openfl__$Vector_FunctionVector ,__properties__: {set_length:"set_length",get_length:"get_length"} }; var openfl__$Vector_IntVector = function(length,fixed,array) { if(array == null) { array = []; } this.__array = array; if(length != null && length > 0) { this.set_length(length); } this.fixed = fixed == true; }; $hxClasses["openfl._Vector.IntVector"] = openfl__$Vector_IntVector; openfl__$Vector_IntVector.__name__ = ["openfl","_Vector","IntVector"]; openfl__$Vector_IntVector.__interfaces__ = [openfl__$Vector_IVector]; openfl__$Vector_IntVector.prototype = { fixed: null ,__array: null ,concat: function(a) { if(a == null) { return new openfl__$Vector_IntVector(null,null,this.__array.slice()); } else { var other = a; if(other.__array.length > 0) { return new openfl__$Vector_IntVector(null,null,this.__array.concat(other.__array)); } else { return new openfl__$Vector_IntVector(null,null,this.__array.slice()); } } } ,copy: function() { return new openfl__$Vector_IntVector(null,this.fixed,this.__array.slice()); } ,get: function(index) { return this.__array[index]; } ,indexOf: function(x,from) { if(from == null) { from = 0; } var _g1 = from; var _g = this.__array.length; while(_g1 < _g) { var i = _g1++; if(this.__array[i] == x) { return i; } } return -1; } ,insertAt: function(index,element) { if(!this.fixed || index < this.__array.length) { this.__array.splice(index,0,element); } } ,iterator: function() { return HxOverrides.iter(this.__array); } ,join: function(sep) { if(sep == null) { sep = ","; } return this.__array.join(sep); } ,lastIndexOf: function(x,from) { var i = from == null || from >= this.__array.length ? this.__array.length - 1 : from; while(i >= 0) { if(this.__array[i] == x) { return i; } --i; } return -1; } ,pop: function() { if(!this.fixed) { return this.__array.pop(); } else { return null; } } ,push: function(x) { if(!this.fixed) { return this.__array.push(x); } else { return this.__array.length; } } ,removeAt: function(index) { if(!this.fixed || index < this.__array.length) { return this.__array.splice(index,1)[0]; } return 0; } ,reverse: function() { this.__array.reverse(); return this; } ,set: function(index,value) { if(!this.fixed || index < this.__array.length) { return this.__array[index] = value; } else { return value; } } ,shift: function() { if(!this.fixed) { return this.__array.shift(); } else { return null; } } ,slice: function(startIndex,endIndex) { if(endIndex == null) { endIndex = 16777215; } if(startIndex == null) { startIndex = 0; } return new openfl__$Vector_IntVector(null,null,this.__array.slice(startIndex,endIndex)); } ,sort: function(f) { this.__array.sort(f); } ,splice: function(pos,len) { return new openfl__$Vector_IntVector(null,null,this.__array.splice(pos,len)); } ,toJSON: function() { return this.__array; } ,toString: function() { if(this.__array != null) { return this.__array.toString(); } else { return null; } } ,unshift: function(x) { if(!this.fixed) { this.__array.unshift(x); } } ,get_length: function() { return this.__array.length; } ,set_length: function(value) { if(!this.fixed) { var currentLength = this.__array.length; if(value < 0) { value = 0; } if(value > currentLength) { var _g1 = currentLength; var _g = value; while(_g1 < _g) { var i = _g1++; this.__array[i] = 0; } } else { while(this.__array.length > value) this.__array.pop(); } } return this.__array.length; } ,__class__: openfl__$Vector_IntVector ,__properties__: {set_length:"set_length",get_length:"get_length"} }; var openfl__$Vector_ObjectVector = function(length,fixed,array,forceCopy) { if(forceCopy == null) { forceCopy = false; } if(forceCopy) { this.__array = []; if(array != null) { var _g1 = 0; var _g = array.length; while(_g1 < _g) { var i = _g1++; this.__array[i] = array[i]; } } } else { if(array == null) { array = []; } this.__array = array; } if(length != null && length > 0) { this.set_length(length); } this.fixed = fixed == true; }; $hxClasses["openfl._Vector.ObjectVector"] = openfl__$Vector_ObjectVector; openfl__$Vector_ObjectVector.__name__ = ["openfl","_Vector","ObjectVector"]; openfl__$Vector_ObjectVector.__interfaces__ = [openfl__$Vector_IVector]; openfl__$Vector_ObjectVector.prototype = { fixed: null ,__array: null ,concat: function(a) { if(a == null) { return new openfl__$Vector_ObjectVector(null,null,this.__array.slice()); } else { var other = a; if(other.__array.length > 0) { return new openfl__$Vector_ObjectVector(null,null,this.__array.concat(other.__array)); } else { return new openfl__$Vector_ObjectVector(null,null,this.__array.slice()); } } } ,copy: function() { return new openfl__$Vector_ObjectVector(null,null,this.__array.slice()); } ,get: function(index) { return this.__array[index]; } ,indexOf: function(x,from) { if(from == null) { from = 0; } var _g1 = from; var _g = this.__array.length; while(_g1 < _g) { var i = _g1++; if(this.__array[i] == x) { return i; } } return -1; } ,insertAt: function(index,element) { if(!this.fixed || index < this.__array.length) { this.__array.splice(index,0,element); } } ,iterator: function() { return HxOverrides.iter(this.__array); } ,join: function(sep) { if(sep == null) { sep = ","; } return this.__array.join(sep); } ,lastIndexOf: function(x,from) { var i = from == null || from >= this.__array.length ? this.__array.length - 1 : from; while(i >= 0) { if(this.__array[i] == x) { return i; } --i; } return -1; } ,pop: function() { if(!this.fixed) { return this.__array.pop(); } else { return null; } } ,push: function(x) { if(!this.fixed) { return this.__array.push(x); } else { return this.__array.length; } } ,removeAt: function(index) { if(!this.fixed || index < this.__array.length) { return this.__array.splice(index,1)[0]; } return null; } ,reverse: function() { this.__array.reverse(); return this; } ,set: function(index,value) { if(!this.fixed || index < this.__array.length) { return this.__array[index] = value; } else { return value; } } ,shift: function() { if(!this.fixed) { return this.__array.shift(); } else { return null; } } ,slice: function(startIndex,endIndex) { if(endIndex == null) { endIndex = 16777215; } if(startIndex == null) { startIndex = 0; } return new openfl__$Vector_ObjectVector(null,null,this.__array.slice(startIndex,endIndex)); } ,sort: function(f) { this.__array.sort(f); } ,splice: function(pos,len) { return new openfl__$Vector_ObjectVector(null,null,this.__array.splice(pos,len)); } ,toJSON: function() { return this.__array; } ,toString: function() { if(this.__array != null) { return this.__array.toString(); } else { return null; } } ,unshift: function(x) { if(!this.fixed) { this.__array.unshift(x); } } ,get_length: function() { return this.__array.length; } ,set_length: function(value) { if(!this.fixed) { var currentLength = this.__array.length; if(value < 0) { value = 0; } if(value > currentLength) { var _g1 = currentLength; var _g = value; while(_g1 < _g) { var i = _g1++; this.__array.push(null); } } else { while(this.__array.length > value) this.__array.pop(); } } return this.__array.length; } ,__class__: openfl__$Vector_ObjectVector ,__properties__: {set_length:"set_length",get_length:"get_length"} }; var openfl__$internal_Lib = function() { }; $hxClasses["openfl._internal.Lib"] = openfl__$internal_Lib; openfl__$internal_Lib.__name__ = ["openfl","_internal","Lib"]; openfl__$internal_Lib.application = null; openfl__$internal_Lib.current = null; openfl__$internal_Lib.notImplemented = function(posInfo) { var api = posInfo.className + "." + posInfo.methodName; var _this = openfl__$internal_Lib.__sentWarnings; if(!(__map_reserved[api] != null ? _this.existsReserved(api) : _this.h.hasOwnProperty(api))) { var _this1 = openfl__$internal_Lib.__sentWarnings; if(__map_reserved[api] != null) { _this1.setReserved(api,true); } else { _this1.h[api] = true; } lime_utils_Log.warn(posInfo.methodName + " is not implemented",posInfo); } }; var openfl__$internal_formats_agal_AGALConverter = function() { }; $hxClasses["openfl._internal.formats.agal.AGALConverter"] = openfl__$internal_formats_agal_AGALConverter; openfl__$internal_formats_agal_AGALConverter.__name__ = ["openfl","_internal","formats","agal","AGALConverter"]; openfl__$internal_formats_agal_AGALConverter.prefixFromType = function(regType,programType) { switch(regType) { case 0: return "va"; case 1: if(programType == openfl__$internal_formats_agal__$AGALConverter_ProgramType.VERTEX) { return "vc"; } else { return "fc"; } break; case 2: if(programType == openfl__$internal_formats_agal__$AGALConverter_ProgramType.VERTEX) { return "vt"; } else { return "ft"; } break; case 3: return "output_"; case 4: return "v"; case 5: return "sampler"; default: throw new js__$Boot_HaxeError(new openfl_errors_IllegalOperationError("Invalid data!")); } }; openfl__$internal_formats_agal_AGALConverter.readUInt64 = function(byteArray) { var low = byteArray.readInt(); var high = byteArray.readInt(); var this1 = new haxe__$Int64__$_$_$Int64(high,low); return this1; }; openfl__$internal_formats_agal_AGALConverter.convertToGLSL = function(agal,samplerState) { agal.position = 0; agal.__endian = 1; var magic = agal.readByte() & 255; if(magic == 176) { return agal.readUTF(); } if(magic != 160) { throw new js__$Boot_HaxeError(new openfl_errors_IllegalOperationError("Magic value must be 0xA0, may not be AGAL")); } var version = agal.readInt(); if(version != 1) { throw new js__$Boot_HaxeError(new openfl_errors_IllegalOperationError("Version must be 1")); } var shaderTypeID = agal.readByte() & 255; if(shaderTypeID != 161) { throw new js__$Boot_HaxeError(new openfl_errors_IllegalOperationError("Shader type ID must be 0xA1")); } var programType = (agal.readByte() & 255) == 0 ? openfl__$internal_formats_agal__$AGALConverter_ProgramType.VERTEX : openfl__$internal_formats_agal__$AGALConverter_ProgramType.FRAGMENT; var map = new openfl__$internal_formats_agal_RegisterMap(); var sb_b = ""; while(true) { var a = agal.position; if(!_$UInt_UInt_$Impl_$.gt(openfl_utils__$ByteArray_ByteArray_$Impl_$.get_length(agal),a)) { break; } var opcode = agal.readInt(); var dest = agal.readUnsignedInt(); var source1 = openfl__$internal_formats_agal_AGALConverter.readUInt64(agal); var source2 = openfl__$internal_formats_agal_AGALConverter.readUInt64(agal); var dr = openfl__$internal_formats_agal__$AGALConverter_DestRegister.parse(dest,programType); var sr1 = openfl__$internal_formats_agal__$AGALConverter_SourceRegister.parse(source1,programType,dr.mask); var sr2 = openfl__$internal_formats_agal__$AGALConverter_SourceRegister.parse(source2,programType,dr.mask); sb_b += "\t"; switch(opcode) { case 0: sb_b += Std.string(dr.toGLSL() + " = " + sr1.toGLSL() + "; // mov"); map.addDR(dr,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr1,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); break; case 1: sb_b += Std.string(dr.toGLSL() + " = " + sr1.toGLSL() + " + " + sr2.toGLSL() + "; // add"); map.addDR(dr,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr1,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr2,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); break; case 2: sb_b += Std.string(dr.toGLSL() + " = " + sr1.toGLSL() + " - " + sr2.toGLSL() + "; // sub"); map.addDR(dr,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr1,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr2,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); break; case 3: sb_b += Std.string(dr.toGLSL() + " = " + sr1.toGLSL() + " * " + sr2.toGLSL() + "; // mul"); map.addDR(dr,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr1,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr2,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); break; case 4: sb_b += Std.string(dr.toGLSL() + " = " + sr1.toGLSL() + " / " + sr2.toGLSL() + "; // div"); map.addDR(dr,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr1,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr2,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); break; case 5: var sr = sr1.toGLSL(); if(sr.indexOf(".") > -1) { sb_b += Std.string(dr.toGLSL() + " = 1.0 / " + sr1.toGLSL() + "; // rcp"); } else { sb_b += Std.string(dr.toGLSL() + " = vec4(1) / " + sr1.toGLSL() + "; // rcp"); } map.addDR(dr,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr1,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); break; case 6: sb_b += Std.string(dr.toGLSL() + " = min(" + sr1.toGLSL() + ", " + sr2.toGLSL() + "); // min"); map.addDR(dr,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr1,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr2,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); break; case 7: sb_b += Std.string(dr.toGLSL() + " = max(" + sr1.toGLSL() + ", " + sr2.toGLSL() + "); // max"); map.addDR(dr,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr1,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr2,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); break; case 8: sb_b += Std.string(dr.toGLSL() + " = fract(" + sr1.toGLSL() + "); // frc"); map.addDR(dr,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr1,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); break; case 9: sb_b += Std.string(dr.toGLSL() + " = sqrt(" + sr1.toGLSL() + "); // sqrt"); map.addDR(dr,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr1,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); break; case 10: sb_b += Std.string(dr.toGLSL() + " = inversesqrt(" + sr1.toGLSL() + "); // rsq"); map.addDR(dr,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr1,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); break; case 11: sb_b += Std.string(dr.toGLSL() + " = pow(" + sr1.toGLSL() + ", " + sr2.toGLSL() + "); // pow"); map.addDR(dr,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr1,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr2,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); break; case 12: sb_b += Std.string(dr.toGLSL() + " = log2(" + sr1.toGLSL() + "); // log"); map.addDR(dr,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr1,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); break; case 13: sb_b += Std.string(dr.toGLSL() + " = exp2(" + sr1.toGLSL() + "); // exp"); map.addDR(dr,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr1,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); break; case 14: sb_b += Std.string(dr.toGLSL() + " = normalize(" + sr1.toGLSL() + "); // normalize"); map.addDR(dr,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr1,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); break; case 15: sb_b += Std.string(dr.toGLSL() + " = sin(" + sr1.toGLSL() + "); // sin"); map.addDR(dr,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr1,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); break; case 16: sb_b += Std.string(dr.toGLSL() + " = cos(" + sr1.toGLSL() + "); // cos"); map.addDR(dr,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr1,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); break; case 17: sr1.sourceMask = sr2.sourceMask = 7; sb_b += Std.string(dr.toGLSL() + " = cross(vec3(" + sr1.toGLSL() + "), vec3(" + sr2.toGLSL() + ")); // crs"); map.addDR(dr,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr1,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr2,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); break; case 18: sr1.sourceMask = sr2.sourceMask = 7; sb_b += Std.string(dr.toGLSL() + " = vec4(dot(vec3(" + sr1.toGLSL() + "), vec3(" + sr2.toGLSL() + ")))" + dr.getWriteMask() + "; // dp3"); map.addDR(dr,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr1,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr2,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); break; case 19: sr1.sourceMask = sr2.sourceMask = 15; sb_b += Std.string(dr.toGLSL() + " = vec4(dot(vec4(" + sr1.toGLSL() + "), vec4(" + sr2.toGLSL() + ")))" + dr.getWriteMask() + "; // dp4"); map.addDR(dr,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr1,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr2,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); break; case 20: sb_b += Std.string(dr.toGLSL() + " = abs(" + sr1.toGLSL() + "); // abs"); map.addDR(dr,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr1,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); break; case 21: sb_b += Std.string(dr.toGLSL() + " = -" + sr1.toGLSL() + "; // neg"); map.addDR(dr,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr1,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); break; case 22: sb_b += Std.string(dr.toGLSL() + " = clamp(" + sr1.toGLSL() + ", 0.0, 1.0); // saturate"); map.addDR(dr,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr1,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); break; case 23: var existingUsage = map.getRegisterUsage(sr2); if(existingUsage != openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4 && existingUsage != openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4_ARRAY) { sb_b += Std.string(dr.toGLSL() + " = " + sr1.toGLSL() + " * mat3(" + sr2.toGLSL(false) + "); // m33"); map.addDR(dr,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr1,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr2,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.MATRIX_4_4); } else { sr1.sourceMask = sr2.sourceMask = 7; sb_b += Std.string(dr.toGLSL() + " = vec3(" + "dot(" + sr1.toGLSL(true) + "," + sr2.toGLSL(true,0) + "), " + "dot(" + sr1.toGLSL(true) + "," + sr2.toGLSL(true,1) + ")," + "dot(" + sr1.toGLSL(true) + "," + sr2.toGLSL(true,2) + ")); // m33"); map.addDR(dr,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr1,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr2,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4,0); map.addSR(sr2,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4,1); map.addSR(sr2,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4,2); } break; case 24: var existingUsage1 = map.getRegisterUsage(sr2); if(existingUsage1 != openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4 && existingUsage1 != openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4_ARRAY) { sb_b += Std.string(dr.toGLSL() + " = " + sr1.toGLSL() + " * " + sr2.toGLSL(false) + "; // m44"); map.addDR(dr,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr1,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr2,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.MATRIX_4_4); } else { sr1.sourceMask = sr2.sourceMask = 15; sb_b += Std.string(dr.toGLSL() + " = vec4(" + "dot(" + sr1.toGLSL(true) + "," + sr2.toGLSL(true,0) + "), " + "dot(" + sr1.toGLSL(true) + "," + sr2.toGLSL(true,1) + "), " + "dot(" + sr1.toGLSL(true) + "," + sr2.toGLSL(true,2) + "), " + "dot(" + sr1.toGLSL(true) + "," + sr2.toGLSL(true,3) + ")); // m44"); map.addDR(dr,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr1,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr2,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4,0); map.addSR(sr2,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4,1); map.addSR(sr2,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4,2); map.addSR(sr2,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4,3); } break; case 25: dr.mask &= 7; var existingUsage2 = map.getRegisterUsage(sr2); if(existingUsage2 != openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4 && existingUsage2 != openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4_ARRAY) { sb_b += Std.string(dr.toGLSL() + " = " + sr1.toGLSL() + " * " + sr2.toGLSL(false) + "; // m34"); map.addDR(dr,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr1,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr2,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.MATRIX_4_4); } else { sr1.sourceMask = sr2.sourceMask = 15; sb_b += Std.string(dr.toGLSL() + " = vec3(" + "dot(" + sr1.toGLSL(true) + "," + sr2.toGLSL(true,0) + "), " + "dot(" + sr1.toGLSL(true) + "," + sr2.toGLSL(true,1) + ")," + "dot(" + sr1.toGLSL(true) + "," + sr2.toGLSL(true,2) + ")); // m34"); map.addDR(dr,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr1,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr2,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4,0); map.addSR(sr2,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4,1); map.addSR(sr2,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4,2); } break; case 39: sr1.sourceMask = 15; sb_b += Std.string("if (any(lessThan(" + sr1.toGLSL() + ", vec4(0)))) discard;"); map.addSR(sr1,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); break; case 40: var sampler = openfl__$internal_formats_agal__$AGALConverter_SamplerRegister.parse(source2,programType); var _g = sampler.d; switch(_g) { case 0: if(sampler.t == 2) { sr1.sourceMask = 3; map.addSaR(sampler,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.SAMPLER_2D_ALPHA); sb_b += Std.string("if (" + sampler.toGLSL() + "_alphaEnabled) {\n"); sb_b += Std.string("\t\t" + dr.toGLSL() + " = vec4(texture2D(" + sampler.toGLSL() + ", " + sr1.toGLSL() + ").xyz, texture2D(" + sampler.toGLSL() + "_alpha, " + sr1.toGLSL() + ").x); // tex + alpha\n"); sb_b += "\t} else {\n"; sb_b += Std.string("\t\t" + dr.toGLSL() + " = texture2D(" + sampler.toGLSL() + ", " + sr1.toGLSL() + "); // tex\n"); sb_b += "\t}"; } else { sr1.sourceMask = 3; map.addSaR(sampler,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.SAMPLER_2D); sb_b += Std.string(dr.toGLSL() + " = texture2D(" + sampler.toGLSL() + ", " + sr1.toGLSL() + "); // tex"); } break; case 1: if(sampler.t == 2) { sr1.sourceMask = 7; map.addSaR(sampler,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.SAMPLER_CUBE_ALPHA); sb_b += Std.string("if (" + sampler.toGLSL() + "_alphaEnabled) {\n"); sb_b += Std.string("\t\t" + dr.toGLSL() + " = vec4(textureCube(" + sampler.toGLSL() + ", " + sr1.toGLSL() + ").xyz, textureCube(" + sampler.toGLSL() + "_alpha, " + sr1.toGLSL() + ").x); // tex + alpha\n"); sb_b += "\t} else {\n"; sb_b += Std.string("\t\t" + dr.toGLSL() + " = textureCube(" + sampler.toGLSL() + ", " + sr1.toGLSL() + "); // tex"); sb_b += "\t}"; } else { sr1.sourceMask = 7; sb_b += Std.string(dr.toGLSL() + " = textureCube(" + sampler.toGLSL() + ", " + sr1.toGLSL() + "); // tex"); map.addSaR(sampler,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.SAMPLER_CUBE); } break; } map.addDR(dr,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr1,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); if(samplerState != null) { samplerState[sampler.n] = sampler.toSamplerState(); } break; case 41: sr1.sourceMask = sr2.sourceMask = 15; sb_b += Std.string(dr.toGLSL() + " = vec4(greaterThanEqual(" + sr1.toGLSL() + ", " + sr2.toGLSL() + "))" + dr.getWriteMask() + "; // ste"); map.addDR(dr,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr1,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr2,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); break; case 42: sr1.sourceMask = sr2.sourceMask = 15; sb_b += Std.string(dr.toGLSL() + " = vec4(lessThan(" + sr1.toGLSL() + ", " + sr2.toGLSL() + "))" + dr.getWriteMask() + "; // slt"); map.addDR(dr,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr1,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr2,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); break; case 44: sr1.sourceMask = sr2.sourceMask = 15; sb_b += Std.string(dr.toGLSL() + " = vec4(equal(" + sr1.toGLSL() + ", " + sr2.toGLSL() + "))" + dr.getWriteMask() + "; // seq"); map.addDR(dr,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr1,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr2,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); break; case 45: sr1.sourceMask = sr2.sourceMask = 15; sb_b += Std.string(dr.toGLSL() + " = vec4(notEqual(" + sr1.toGLSL() + ", " + sr2.toGLSL() + "))" + dr.getWriteMask() + "; // sne"); map.addDR(dr,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr1,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr2,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); break; default: throw new js__$Boot_HaxeError(new openfl_errors_IllegalOperationError("Opcode " + opcode)); } sb_b += "\n"; } if(openfl__$internal_formats_agal_AGALConverter.limitedProfile == null) { var version1 = lime_graphics_opengl_GL.context.getParameter(7938); openfl__$internal_formats_agal_AGALConverter.limitedProfile = version1.indexOf("OpenGL ES") > -1 || version1.indexOf("WebGL") > -1; } var glsl_b = ""; glsl_b += Std.string("// AGAL " + (programType == openfl__$internal_formats_agal__$AGALConverter_ProgramType.VERTEX ? "vertex" : "fragment") + " shader\n"); if(openfl__$internal_formats_agal_AGALConverter.limitedProfile) { glsl_b += "#version 100\n"; glsl_b += "precision highp float;\n"; } else { glsl_b += "#version 120\n"; } glsl_b += Std.string(map.toGLSL(false)); if(programType == openfl__$internal_formats_agal__$AGALConverter_ProgramType.VERTEX) { glsl_b += "uniform vec4 vcPositionScale;\n"; } glsl_b += "void main() {\n"; glsl_b += Std.string(map.toGLSL(true)); glsl_b += Std.string(sb_b); if(programType == openfl__$internal_formats_agal__$AGALConverter_ProgramType.VERTEX) { glsl_b += "\tgl_Position *= vcPositionScale;\n"; } glsl_b += "}\n"; return glsl_b; }; var openfl__$internal_formats_agal__$AGALConverter_DestRegister = function() { }; $hxClasses["openfl._internal.formats.agal._AGALConverter.DestRegister"] = openfl__$internal_formats_agal__$AGALConverter_DestRegister; openfl__$internal_formats_agal__$AGALConverter_DestRegister.__name__ = ["openfl","_internal","formats","agal","_AGALConverter","DestRegister"]; openfl__$internal_formats_agal__$AGALConverter_DestRegister.parse = function(v,programType) { var dr = new openfl__$internal_formats_agal__$AGALConverter_DestRegister(); dr.programType = programType; dr.type = v >>> 24 & 15; dr.mask = v >>> 16 & 15; dr.n = v & 65535; return dr; }; openfl__$internal_formats_agal__$AGALConverter_DestRegister.prototype = { mask: null ,n: null ,programType: null ,type: null ,getWriteMask: function() { var str = "."; if((this.mask & 1) != 0) { str += "x"; } if((this.mask & 2) != 0) { str += "y"; } if((this.mask & 4) != 0) { str += "z"; } if((this.mask & 8) != 0) { str += "w"; } return str; } ,toGLSL: function(useMask) { if(useMask == null) { useMask = true; } var str; if(this.type == 3) { if(this.programType == openfl__$internal_formats_agal__$AGALConverter_ProgramType.VERTEX) { str = "gl_Position"; } else { str = "gl_FragColor"; } } else { str = openfl__$internal_formats_agal_AGALConverter.prefixFromType(this.type,this.programType) + this.n; } if(useMask && this.mask != 15) { str += this.getWriteMask(); } return str; } ,__class__: openfl__$internal_formats_agal__$AGALConverter_DestRegister }; var openfl__$internal_formats_agal__$AGALConverter_ProgramType = $hxClasses["openfl._internal.formats.agal._AGALConverter.ProgramType"] = { __ename__ : ["openfl","_internal","formats","agal","_AGALConverter","ProgramType"], __constructs__ : ["VERTEX","FRAGMENT"] }; openfl__$internal_formats_agal__$AGALConverter_ProgramType.VERTEX = ["VERTEX",0]; openfl__$internal_formats_agal__$AGALConverter_ProgramType.VERTEX.toString = $estr; openfl__$internal_formats_agal__$AGALConverter_ProgramType.VERTEX.__enum__ = openfl__$internal_formats_agal__$AGALConverter_ProgramType; openfl__$internal_formats_agal__$AGALConverter_ProgramType.FRAGMENT = ["FRAGMENT",1]; openfl__$internal_formats_agal__$AGALConverter_ProgramType.FRAGMENT.toString = $estr; openfl__$internal_formats_agal__$AGALConverter_ProgramType.FRAGMENT.__enum__ = openfl__$internal_formats_agal__$AGALConverter_ProgramType; var openfl__$internal_formats_agal_RegisterMap = function() { this.mEntries = []; }; $hxClasses["openfl._internal.formats.agal.RegisterMap"] = openfl__$internal_formats_agal_RegisterMap; openfl__$internal_formats_agal_RegisterMap.__name__ = ["openfl","_internal","formats","agal","RegisterMap"]; openfl__$internal_formats_agal_RegisterMap.prototype = { mEntries: null ,add: function(type,name,number,usage) { var _g = 0; var _g1 = this.mEntries; while(_g < _g1.length) { var entry = _g1[_g]; ++_g; if(entry.type == type && entry.name == name && entry.number == number) { if(entry.usage != usage) { throw new js__$Boot_HaxeError(new openfl_errors_IllegalOperationError("Cannot use register in multiple ways yet (mat4/vec4)")); } return; } } var entry1 = new openfl__$internal_formats_agal__$AGALConverter_RegisterMapEntry(); entry1.type = type; entry1.name = name; entry1.number = number; entry1.usage = usage; this.mEntries.push(entry1); } ,addDR: function(dr,usage) { this.add(dr.type,dr.toGLSL(false),dr.n,usage); } ,addSaR: function(sr,usage) { this.add(sr.type,sr.toGLSL(),sr.n,usage); } ,addSR: function(sr,usage,offset) { if(offset == null) { offset = 0; } if(sr.d != 0) { this.add(sr.itype,openfl__$internal_formats_agal_AGALConverter.prefixFromType(sr.itype,sr.programType) + sr.n,sr.n,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4); this.add(sr.type,openfl__$internal_formats_agal_AGALConverter.prefixFromType(sr.type,sr.programType) + sr.o,sr.o,openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4_ARRAY); return; } this.add(sr.type,sr.toGLSL(false,offset),sr.n + offset,usage); } ,getRegisterUsage: function(sr) { if(sr.d != 0) { return openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4_ARRAY; } return this.getUsage(sr.type,sr.toGLSL(false),sr.n); } ,getUsage: function(type,name,number) { var _g = 0; var _g1 = this.mEntries; while(_g < _g1.length) { var entry = _g1[_g]; ++_g; if(entry.type == type && entry.name == name && entry.number == number) { return entry.usage; } } return openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.UNUSED; } ,toGLSL: function(tempRegistersOnly) { this.mEntries.sort(function(a,b) { return a.number - b.number; }); var entry; this.mEntries.sort(function(a1,b1) { return js_Boot.__cast(a1.type , Int) - js_Boot.__cast(b1.type , Int); }); var sb_b = ""; var _g1 = 0; var _g = this.mEntries.length; while(_g1 < _g) { var i = _g1++; entry = this.mEntries[i]; if(tempRegistersOnly && entry.type != 2 || !tempRegistersOnly && entry.type == 2) { continue; } if(entry.type == 3) { continue; } var _g2 = entry.type; switch(_g2) { case 0: sb_b += "attribute "; break; case 1: sb_b += "uniform "; break; case 2: sb_b += "\t"; break; case 3: break; case 4: sb_b += "varying "; break; case 5: sb_b += "uniform "; break; default: throw new js__$Boot_HaxeError(new openfl_errors_IllegalOperationError()); } var _g3 = entry.usage; switch(_g3[1]) { case 0: haxe_Log.trace("Missing switch patten: RegisterUsage.UNUSED",{ fileName : "AGALConverter.hx", lineNumber : 831, className : "openfl._internal.formats.agal.RegisterMap", methodName : "toGLSL"}); break; case 1: sb_b += "vec4 "; break; case 2: sb_b += "mat4 "; break; case 3: sb_b += "sampler2D "; break; case 4: break; case 5: sb_b += "samplerCube "; break; case 6: break; case 7: sb_b += "vec4 "; break; } if(entry.usage == openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.SAMPLER_2D_ALPHA) { sb_b += "sampler2D "; sb_b += Std.string(entry.name); sb_b += ";\n"; sb_b += "uniform "; sb_b += "sampler2D "; sb_b += Std.string(entry.name + "_alpha"); sb_b += ";\n"; sb_b += "uniform "; sb_b += "bool "; sb_b += Std.string(entry.name + "_alphaEnabled"); sb_b += ";\n"; } else if(entry.usage == openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.SAMPLER_CUBE_ALPHA) { sb_b += "samplerCube "; sb_b += Std.string(entry.name); sb_b += ";\n"; sb_b += "uniform "; sb_b += "samplerCube "; sb_b += Std.string(entry.name + "_alpha"); sb_b += ";\n"; sb_b += "uniform "; sb_b += "bool "; sb_b += Std.string(entry.name + "_alphaEnabled"); sb_b += ";\n"; } else if(entry.usage == openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4_ARRAY) { sb_b += Std.string(entry.name + "[128]"); sb_b += ";\n"; } else { sb_b += Std.string(entry.name); sb_b += ";\n"; } } return sb_b; } ,__class__: openfl__$internal_formats_agal_RegisterMap }; var openfl__$internal_formats_agal__$AGALConverter_RegisterMapEntry = function() { }; $hxClasses["openfl._internal.formats.agal._AGALConverter.RegisterMapEntry"] = openfl__$internal_formats_agal__$AGALConverter_RegisterMapEntry; openfl__$internal_formats_agal__$AGALConverter_RegisterMapEntry.__name__ = ["openfl","_internal","formats","agal","_AGALConverter","RegisterMapEntry"]; openfl__$internal_formats_agal__$AGALConverter_RegisterMapEntry.prototype = { name: null ,number: null ,type: null ,usage: null ,__class__: openfl__$internal_formats_agal__$AGALConverter_RegisterMapEntry }; var openfl__$internal_formats_agal__$AGALConverter_RegisterUsage = $hxClasses["openfl._internal.formats.agal._AGALConverter.RegisterUsage"] = { __ename__ : ["openfl","_internal","formats","agal","_AGALConverter","RegisterUsage"], __constructs__ : ["UNUSED","VECTOR_4","MATRIX_4_4","SAMPLER_2D","SAMPLER_2D_ALPHA","SAMPLER_CUBE","SAMPLER_CUBE_ALPHA","VECTOR_4_ARRAY"] }; openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.UNUSED = ["UNUSED",0]; openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.UNUSED.toString = $estr; openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.UNUSED.__enum__ = openfl__$internal_formats_agal__$AGALConverter_RegisterUsage; openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4 = ["VECTOR_4",1]; openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4.toString = $estr; openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4.__enum__ = openfl__$internal_formats_agal__$AGALConverter_RegisterUsage; openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.MATRIX_4_4 = ["MATRIX_4_4",2]; openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.MATRIX_4_4.toString = $estr; openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.MATRIX_4_4.__enum__ = openfl__$internal_formats_agal__$AGALConverter_RegisterUsage; openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.SAMPLER_2D = ["SAMPLER_2D",3]; openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.SAMPLER_2D.toString = $estr; openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.SAMPLER_2D.__enum__ = openfl__$internal_formats_agal__$AGALConverter_RegisterUsage; openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.SAMPLER_2D_ALPHA = ["SAMPLER_2D_ALPHA",4]; openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.SAMPLER_2D_ALPHA.toString = $estr; openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.SAMPLER_2D_ALPHA.__enum__ = openfl__$internal_formats_agal__$AGALConverter_RegisterUsage; openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.SAMPLER_CUBE = ["SAMPLER_CUBE",5]; openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.SAMPLER_CUBE.toString = $estr; openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.SAMPLER_CUBE.__enum__ = openfl__$internal_formats_agal__$AGALConverter_RegisterUsage; openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.SAMPLER_CUBE_ALPHA = ["SAMPLER_CUBE_ALPHA",6]; openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.SAMPLER_CUBE_ALPHA.toString = $estr; openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.SAMPLER_CUBE_ALPHA.__enum__ = openfl__$internal_formats_agal__$AGALConverter_RegisterUsage; openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4_ARRAY = ["VECTOR_4_ARRAY",7]; openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4_ARRAY.toString = $estr; openfl__$internal_formats_agal__$AGALConverter_RegisterUsage.VECTOR_4_ARRAY.__enum__ = openfl__$internal_formats_agal__$AGALConverter_RegisterUsage; var openfl__$internal_formats_agal__$AGALConverter_SamplerRegister = function() { }; $hxClasses["openfl._internal.formats.agal._AGALConverter.SamplerRegister"] = openfl__$internal_formats_agal__$AGALConverter_SamplerRegister; openfl__$internal_formats_agal__$AGALConverter_SamplerRegister.__name__ = ["openfl","_internal","formats","agal","_AGALConverter","SamplerRegister"]; openfl__$internal_formats_agal__$AGALConverter_SamplerRegister.parse = function(v,programType) { var sr = new openfl__$internal_formats_agal__$AGALConverter_SamplerRegister(); sr.programType = programType; var b = 60; b &= 63; var a; if(b == 0) { var this1 = new haxe__$Int64__$_$_$Int64(v.high,v.low); a = this1; } else if(b < 32) { var this2 = new haxe__$Int64__$_$_$Int64(v.high >> b,v.high << 32 - b | v.low >>> b); a = this2; } else { var this3 = new haxe__$Int64__$_$_$Int64(v.high >> 31,v.high >> b - 32); a = this3; } var this4 = new haxe__$Int64__$_$_$Int64(0,15); var b1 = this4; var this5 = new haxe__$Int64__$_$_$Int64(a.high & b1.high,a.low & b1.low); sr.f = this5.low; var b2 = 56; b2 &= 63; var a1; if(b2 == 0) { var this6 = new haxe__$Int64__$_$_$Int64(v.high,v.low); a1 = this6; } else if(b2 < 32) { var this7 = new haxe__$Int64__$_$_$Int64(v.high >> b2,v.high << 32 - b2 | v.low >>> b2); a1 = this7; } else { var this8 = new haxe__$Int64__$_$_$Int64(v.high >> 31,v.high >> b2 - 32); a1 = this8; } var this9 = new haxe__$Int64__$_$_$Int64(0,15); var b3 = this9; var this10 = new haxe__$Int64__$_$_$Int64(a1.high & b3.high,a1.low & b3.low); sr.m = this10.low; var b4 = 52; b4 &= 63; var a2; if(b4 == 0) { var this11 = new haxe__$Int64__$_$_$Int64(v.high,v.low); a2 = this11; } else if(b4 < 32) { var this12 = new haxe__$Int64__$_$_$Int64(v.high >> b4,v.high << 32 - b4 | v.low >>> b4); a2 = this12; } else { var this13 = new haxe__$Int64__$_$_$Int64(v.high >> 31,v.high >> b4 - 32); a2 = this13; } var this14 = new haxe__$Int64__$_$_$Int64(0,15); var b5 = this14; var this15 = new haxe__$Int64__$_$_$Int64(a2.high & b5.high,a2.low & b5.low); sr.w = this15.low; var b6 = 48; b6 &= 63; var a3; if(b6 == 0) { var this16 = new haxe__$Int64__$_$_$Int64(v.high,v.low); a3 = this16; } else if(b6 < 32) { var this17 = new haxe__$Int64__$_$_$Int64(v.high >> b6,v.high << 32 - b6 | v.low >>> b6); a3 = this17; } else { var this18 = new haxe__$Int64__$_$_$Int64(v.high >> 31,v.high >> b6 - 32); a3 = this18; } var this19 = new haxe__$Int64__$_$_$Int64(0,15); var b7 = this19; var this20 = new haxe__$Int64__$_$_$Int64(a3.high & b7.high,a3.low & b7.low); sr.s = this20.low; var b8 = 44; b8 &= 63; var a4; if(b8 == 0) { var this21 = new haxe__$Int64__$_$_$Int64(v.high,v.low); a4 = this21; } else if(b8 < 32) { var this22 = new haxe__$Int64__$_$_$Int64(v.high >> b8,v.high << 32 - b8 | v.low >>> b8); a4 = this22; } else { var this23 = new haxe__$Int64__$_$_$Int64(v.high >> 31,v.high >> b8 - 32); a4 = this23; } var this24 = new haxe__$Int64__$_$_$Int64(0,15); var b9 = this24; var this25 = new haxe__$Int64__$_$_$Int64(a4.high & b9.high,a4.low & b9.low); sr.d = this25.low; var b10 = 40; b10 &= 63; var a5; if(b10 == 0) { var this26 = new haxe__$Int64__$_$_$Int64(v.high,v.low); a5 = this26; } else if(b10 < 32) { var this27 = new haxe__$Int64__$_$_$Int64(v.high >> b10,v.high << 32 - b10 | v.low >>> b10); a5 = this27; } else { var this28 = new haxe__$Int64__$_$_$Int64(v.high >> 31,v.high >> b10 - 32); a5 = this28; } var this29 = new haxe__$Int64__$_$_$Int64(0,15); var b11 = this29; var this30 = new haxe__$Int64__$_$_$Int64(a5.high & b11.high,a5.low & b11.low); sr.t = this30.low; var b12 = 32; b12 &= 63; var a6; if(b12 == 0) { var this31 = new haxe__$Int64__$_$_$Int64(v.high,v.low); a6 = this31; } else if(b12 < 32) { var this32 = new haxe__$Int64__$_$_$Int64(v.high >> b12,v.high << 32 - b12 | v.low >>> b12); a6 = this32; } else { var this33 = new haxe__$Int64__$_$_$Int64(v.high >> 31,v.high >> b12 - 32); a6 = this33; } var this34 = new haxe__$Int64__$_$_$Int64(0,15); var b13 = this34; var this35 = new haxe__$Int64__$_$_$Int64(a6.high & b13.high,a6.low & b13.low); sr.type = this35.low; var b14 = 16; b14 &= 63; var a7; if(b14 == 0) { var this36 = new haxe__$Int64__$_$_$Int64(v.high,v.low); a7 = this36; } else if(b14 < 32) { var this37 = new haxe__$Int64__$_$_$Int64(v.high >> b14,v.high << 32 - b14 | v.low >>> b14); a7 = this37; } else { var this38 = new haxe__$Int64__$_$_$Int64(v.high >> 31,v.high >> b14 - 32); a7 = this38; } var this39 = new haxe__$Int64__$_$_$Int64(0,255); var b15 = this39; var this40 = new haxe__$Int64__$_$_$Int64(a7.high & b15.high,a7.low & b15.low); sr.b = this40.low; var this41 = new haxe__$Int64__$_$_$Int64(0,65535); var b16 = this41; var this42 = new haxe__$Int64__$_$_$Int64(v.high & b16.high,v.low & b16.low); sr.n = this42.low; return sr; }; openfl__$internal_formats_agal__$AGALConverter_SamplerRegister.prototype = { b: null ,d: null ,f: null ,m: null ,n: null ,programType: null ,s: null ,t: null ,type: null ,w: null ,toGLSL: function() { var str = openfl__$internal_formats_agal_AGALConverter.prefixFromType(this.type,this.programType) + this.n; return str; } ,toSamplerState: function() { var wrap; var filter; var mipfilter; var _g = this.f; switch(_g) { case 0: filter = 5; break; case 1: filter = 4; break; default: throw new js__$Boot_HaxeError(new openfl_errors_IllegalOperationError()); } var _g1 = this.m; switch(_g1) { case 0: mipfilter = 2; break; case 1: mipfilter = 1; break; case 2: mipfilter = 0; break; default: throw new js__$Boot_HaxeError(new openfl_errors_IllegalOperationError()); } var _g2 = this.w; switch(_g2) { case 0: wrap = 0; break; case 1: wrap = 2; break; default: throw new js__$Boot_HaxeError(new openfl_errors_IllegalOperationError()); } var ignoreSampler = (this.s & 4) == 4; var centroid = (this.s & 1) == 1; var textureAlpha = this.t == 2; var lodBias = (this.b << 24 >> 24) / 8.0; return new openfl__$internal_renderer_SamplerState(wrap,filter,mipfilter,lodBias,ignoreSampler,centroid,textureAlpha); } ,__class__: openfl__$internal_formats_agal__$AGALConverter_SamplerRegister }; var openfl__$internal_formats_agal__$AGALConverter_SourceRegister = function() { }; $hxClasses["openfl._internal.formats.agal._AGALConverter.SourceRegister"] = openfl__$internal_formats_agal__$AGALConverter_SourceRegister; openfl__$internal_formats_agal__$AGALConverter_SourceRegister.__name__ = ["openfl","_internal","formats","agal","_AGALConverter","SourceRegister"]; openfl__$internal_formats_agal__$AGALConverter_SourceRegister.parse = function(v,programType,sourceMask) { var sr = new openfl__$internal_formats_agal__$AGALConverter_SourceRegister(); sr.programType = programType; var b = 63; b &= 63; var a; if(b == 0) { var this1 = new haxe__$Int64__$_$_$Int64(v.high,v.low); a = this1; } else if(b < 32) { var this2 = new haxe__$Int64__$_$_$Int64(v.high >> b,v.high << 32 - b | v.low >>> b); a = this2; } else { var this3 = new haxe__$Int64__$_$_$Int64(v.high >> 31,v.high >> b - 32); a = this3; } var this4 = new haxe__$Int64__$_$_$Int64(0,1); var b1 = this4; var this5 = new haxe__$Int64__$_$_$Int64(a.high & b1.high,a.low & b1.low); sr.d = this5.low; var b2 = 48; b2 &= 63; var a1; if(b2 == 0) { var this6 = new haxe__$Int64__$_$_$Int64(v.high,v.low); a1 = this6; } else if(b2 < 32) { var this7 = new haxe__$Int64__$_$_$Int64(v.high >> b2,v.high << 32 - b2 | v.low >>> b2); a1 = this7; } else { var this8 = new haxe__$Int64__$_$_$Int64(v.high >> 31,v.high >> b2 - 32); a1 = this8; } var this9 = new haxe__$Int64__$_$_$Int64(0,3); var b3 = this9; var this10 = new haxe__$Int64__$_$_$Int64(a1.high & b3.high,a1.low & b3.low); sr.q = this10.low; var b4 = 40; b4 &= 63; var a2; if(b4 == 0) { var this11 = new haxe__$Int64__$_$_$Int64(v.high,v.low); a2 = this11; } else if(b4 < 32) { var this12 = new haxe__$Int64__$_$_$Int64(v.high >> b4,v.high << 32 - b4 | v.low >>> b4); a2 = this12; } else { var this13 = new haxe__$Int64__$_$_$Int64(v.high >> 31,v.high >> b4 - 32); a2 = this13; } var this14 = new haxe__$Int64__$_$_$Int64(0,15); var b5 = this14; var this15 = new haxe__$Int64__$_$_$Int64(a2.high & b5.high,a2.low & b5.low); sr.itype = this15.low; var b6 = 32; b6 &= 63; var a3; if(b6 == 0) { var this16 = new haxe__$Int64__$_$_$Int64(v.high,v.low); a3 = this16; } else if(b6 < 32) { var this17 = new haxe__$Int64__$_$_$Int64(v.high >> b6,v.high << 32 - b6 | v.low >>> b6); a3 = this17; } else { var this18 = new haxe__$Int64__$_$_$Int64(v.high >> 31,v.high >> b6 - 32); a3 = this18; } var this19 = new haxe__$Int64__$_$_$Int64(0,15); var b7 = this19; var this20 = new haxe__$Int64__$_$_$Int64(a3.high & b7.high,a3.low & b7.low); sr.type = this20.low; var b8 = 24; b8 &= 63; var a4; if(b8 == 0) { var this21 = new haxe__$Int64__$_$_$Int64(v.high,v.low); a4 = this21; } else if(b8 < 32) { var this22 = new haxe__$Int64__$_$_$Int64(v.high >> b8,v.high << 32 - b8 | v.low >>> b8); a4 = this22; } else { var this23 = new haxe__$Int64__$_$_$Int64(v.high >> 31,v.high >> b8 - 32); a4 = this23; } var this24 = new haxe__$Int64__$_$_$Int64(0,255); var b9 = this24; var this25 = new haxe__$Int64__$_$_$Int64(a4.high & b9.high,a4.low & b9.low); sr.s = this25.low; var b10 = 16; b10 &= 63; var a5; if(b10 == 0) { var this26 = new haxe__$Int64__$_$_$Int64(v.high,v.low); a5 = this26; } else if(b10 < 32) { var this27 = new haxe__$Int64__$_$_$Int64(v.high >> b10,v.high << 32 - b10 | v.low >>> b10); a5 = this27; } else { var this28 = new haxe__$Int64__$_$_$Int64(v.high >> 31,v.high >> b10 - 32); a5 = this28; } var this29 = new haxe__$Int64__$_$_$Int64(0,255); var b11 = this29; var this30 = new haxe__$Int64__$_$_$Int64(a5.high & b11.high,a5.low & b11.low); sr.o = this30.low; var this31 = new haxe__$Int64__$_$_$Int64(0,65535); var b12 = this31; var this32 = new haxe__$Int64__$_$_$Int64(v.high & b12.high,v.low & b12.low); sr.n = this32.low; sr.sourceMask = sourceMask; return sr; }; openfl__$internal_formats_agal__$AGALConverter_SourceRegister.prototype = { d: null ,itype: null ,n: null ,o: null ,programType: null ,q: null ,s: null ,sourceMask: null ,type: null ,toGLSL: function(emitSwizzle,offset) { if(offset == null) { offset = 0; } if(emitSwizzle == null) { emitSwizzle = true; } if(this.type == 3) { if(this.programType == openfl__$internal_formats_agal__$AGALConverter_ProgramType.VERTEX) { return "gl_Position"; } else { return "gl_FragColor"; } } var fullxyzw = this.s == 228 && this.sourceMask == 15; var swizzle = ""; if(this.type != 5 && !fullxyzw) { var _g = 0; while(_g < 4) { var i = _g++; if((this.sourceMask & 1 << i) != 0) { var _g1 = this.s >> i * 2 & 3; switch(_g1) { case 0: swizzle += "x"; break; case 1: swizzle += "y"; break; case 2: swizzle += "z"; break; case 3: swizzle += "w"; break; } } } } var str = openfl__$internal_formats_agal_AGALConverter.prefixFromType(this.type,this.programType); if(this.d == 0) { str += this.n + offset; } else { str += this.o; var indexComponent = String.fromCharCode(HxOverrides.cca("x",0) + this.q); var indexRegister = openfl__$internal_formats_agal_AGALConverter.prefixFromType(this.itype,this.programType) + this.n + "." + indexComponent; str += "[ int(" + indexRegister + ") +" + offset + "]"; } if(emitSwizzle && swizzle != "") { str += "." + swizzle; } return str; } ,__class__: openfl__$internal_formats_agal__$AGALConverter_SourceRegister }; var openfl__$internal_formats_atf_ATFReader = function(data,byteArrayOffset) { this.version = 0; data.position = byteArrayOffset; var signature = data.readUTFBytes(3); data.position = byteArrayOffset; if(signature != "ATF") { throw new js__$Boot_HaxeError(new openfl_errors_IllegalOperationError("ATF signature not found")); } var length = 0; if(data.b[byteArrayOffset + 6] == 255) { this.version = data.b[byteArrayOffset + 7]; data.position = byteArrayOffset + 8; length = this.__readUInt32(data); } else { this.version = 0; data.position = byteArrayOffset + 3; length = this.__readUInt24(data); } if(_$UInt_UInt_$Impl_$.gt(js_Boot.__cast(byteArrayOffset + length , Int),openfl_utils__$ByteArray_ByteArray_$Impl_$.get_length(data))) { throw new js__$Boot_HaxeError(new openfl_errors_IllegalOperationError("ATF length exceeds byte array length")); } this.data = data; }; $hxClasses["openfl._internal.formats.atf.ATFReader"] = openfl__$internal_formats_atf_ATFReader; openfl__$internal_formats_atf_ATFReader.__name__ = ["openfl","_internal","formats","atf","ATFReader"]; openfl__$internal_formats_atf_ATFReader.prototype = { atfFormat: null ,cubeMap: null ,data: null ,height: null ,mipCount: null ,version: null ,width: null ,readHeader: function(__width,__height,cubeMap) { var tdata = this.data.readUnsignedByte(); var type = tdata >>> 7; if(!cubeMap && type != 0) { throw new js__$Boot_HaxeError(new openfl_errors_IllegalOperationError("ATF Cube map not expected")); } if(cubeMap && type != 1) { throw new js__$Boot_HaxeError(new openfl_errors_IllegalOperationError("ATF Cube map expected")); } this.cubeMap = cubeMap; this.atfFormat = tdata & 127; if(this.atfFormat != 3 && this.atfFormat != 5) { lime_utils_Log.warn("Only ATF block compressed textures without JPEG-XR+LZMA are supported",{ fileName : "ATFReader.hx", lineNumber : 107, className : "openfl._internal.formats.atf.ATFReader", methodName : "readHeader"}); } this.width = 1 << this.data.readUnsignedByte(); this.height = 1 << this.data.readUnsignedByte(); if(this.width != __width || this.height != __height) { throw new js__$Boot_HaxeError(new openfl_errors_IllegalOperationError("ATF width and height dont match")); } this.mipCount = this.data.readUnsignedByte(); return this.atfFormat == 5; } ,readTextures: function(uploadCallback) { var gpuFormats = this.version < 3 ? 3 : 4; var sideCount = this.cubeMap ? 6 : 1; var _g1 = 0; var _g = sideCount; while(_g1 < _g) { var side = _g1++; var _g3 = 0; var _g2 = this.mipCount; while(_g3 < _g2) { var level = _g3++; var _g5 = 0; var _g4 = gpuFormats; while(_g5 < _g4) { var gpuFormat = _g5++; var blockLength = this.version == 0 ? this.__readUInt24(this.data) : this.__readUInt32(this.data); if(_$UInt_UInt_$Impl_$.gt(this.data.position + blockLength,openfl_utils__$ByteArray_ByteArray_$Impl_$.get_length(this.data))) { throw new js__$Boot_HaxeError(new openfl_errors_IllegalOperationError("Block length exceeds ATF file length")); } if(_$UInt_UInt_$Impl_$.gt(blockLength,0)) { var bytes = new haxe_io_Bytes(new ArrayBuffer(blockLength)); this.data.readBytes(openfl_utils__$ByteArray_ByteArray_$Impl_$.fromBytes(bytes),0,blockLength); uploadCallback(side,level,gpuFormat,this.width >> level,this.height >> level,blockLength,bytes); } } } } } ,__readUInt24: function(data) { var value = data.readUnsignedByte() << 16; value = value | data.readUnsignedByte() << 8; value = value | data.readUnsignedByte(); return value; } ,__readUInt32: function(data) { var value = data.readUnsignedByte() << 24; value = value | data.readUnsignedByte() << 16; value = value | data.readUnsignedByte() << 8; value = value | data.readUnsignedByte(); return value; } ,__class__: openfl__$internal_formats_atf_ATFReader }; var openfl__$internal_formats_html_HTMLParser = function() { }; $hxClasses["openfl._internal.formats.html.HTMLParser"] = openfl__$internal_formats_html_HTMLParser; openfl__$internal_formats_html_HTMLParser.__name__ = ["openfl","_internal","formats","html","HTMLParser"]; openfl__$internal_formats_html_HTMLParser.parse = function(value,textFormat,textFormatRanges) { value = value.replace(openfl__$internal_formats_html_HTMLParser.__regexBreakTag.r,"\n"); value = value.replace(openfl__$internal_formats_html_HTMLParser.__regexEntities[0].r,"\""); value = value.replace(openfl__$internal_formats_html_HTMLParser.__regexEntities[1].r,"'"); value = value.replace(openfl__$internal_formats_html_HTMLParser.__regexEntities[2].r,"&"); value = value.replace(openfl__$internal_formats_html_HTMLParser.__regexEntities[5].r," "); var segments = value.split("<"); if(segments.length == 1) { value = value.replace(openfl__$internal_formats_html_HTMLParser.__regexHTMLTag.r,""); if(textFormatRanges.get_length() > 1) { textFormatRanges.splice(1,textFormatRanges.get_length() - 1); } value = value.replace(openfl__$internal_formats_html_HTMLParser.__regexEntities[3].r,"<"); value = value.replace(openfl__$internal_formats_html_HTMLParser.__regexEntities[4].r,">"); var range = textFormatRanges.get(0); range.format = textFormat; range.start = 0; range.end = value.length; return value; } else { textFormatRanges.splice(0,textFormatRanges.get_length()); value = ""; var segment; var _g1 = 0; var _g = segments.length; while(_g1 < _g) { var i = _g1++; segment = segments[i]; segment = segment.replace(openfl__$internal_formats_html_HTMLParser.__regexEntities[3].r,"<"); segment = segment.replace(openfl__$internal_formats_html_HTMLParser.__regexEntities[4].r,">"); segments[i] = segment; } var formatStack = [textFormat.clone()]; var tagStack = []; var sub; var noLineBreak = false; var _g2 = 0; while(_g2 < segments.length) { var segment1 = segments[_g2]; ++_g2; if(segment1 == "") { continue; } var isClosingTag = HxOverrides.substr(segment1,0,1) == "/"; var tagEndIndex = segment1.indexOf(">"); var start = tagEndIndex + 1; var spaceIndex = segment1.indexOf(" "); var tagName = segment1.substring(isClosingTag ? 1 : 0,spaceIndex > -1 && spaceIndex < tagEndIndex ? spaceIndex : tagEndIndex); var format; if(isClosingTag) { if(tagName.toLowerCase() != tagStack[tagStack.length - 1].toLowerCase()) { haxe_Log.trace("Invalid HTML, unexpected closing tag ignored: " + tagName,{ fileName : "HTMLParser.hx", lineNumber : 101, className : "openfl._internal.formats.html.HTMLParser", methodName : "parse"}); continue; } tagStack.pop(); formatStack.pop(); format = formatStack[formatStack.length - 1].clone(); if(tagName.toLowerCase() == "p" && textFormatRanges.get_length() > 0) { value += "\n"; noLineBreak = true; } if(start < segment1.length) { sub = HxOverrides.substr(segment1,start,null); textFormatRanges.push(new openfl__$internal_text_TextFormatRange(format,value.length,value.length + sub.length)); value += sub; noLineBreak = false; } } else { format = formatStack[formatStack.length - 1].clone(); if(tagEndIndex > -1) { var _g11 = tagName.toLowerCase(); switch(_g11) { case "a": if(openfl__$internal_formats_html_HTMLParser.__regexHref.match(segment1)) { format.url = openfl__$internal_formats_html_HTMLParser.__getAttributeMatch(openfl__$internal_formats_html_HTMLParser.__regexHref); } break; case "b": format.bold = true; break; case "em":case "i": format.italic = true; break; case "font": if(openfl__$internal_formats_html_HTMLParser.__regexFace.match(segment1)) { format.font = openfl__$internal_formats_html_HTMLParser.__getAttributeMatch(openfl__$internal_formats_html_HTMLParser.__regexFace); } if(openfl__$internal_formats_html_HTMLParser.__regexColor.match(segment1)) { format.color = Std.parseInt("0x" + openfl__$internal_formats_html_HTMLParser.__getAttributeMatch(openfl__$internal_formats_html_HTMLParser.__regexColor)); } if(openfl__$internal_formats_html_HTMLParser.__regexSize.match(segment1)) { var sizeAttr = openfl__$internal_formats_html_HTMLParser.__getAttributeMatch(openfl__$internal_formats_html_HTMLParser.__regexSize); var firstChar = HxOverrides.cca(sizeAttr,0); if(firstChar == 43 || firstChar == 45) { var parentFormat = formatStack.length >= 2 ? formatStack[formatStack.length - 2] : textFormat; format.size = parentFormat.size + Std.parseInt(sizeAttr); } else { format.size = Std.parseInt(sizeAttr); } } break; case "p": if(textFormatRanges.get_length() > 0 && !noLineBreak) { value += "\n"; } if(openfl__$internal_formats_html_HTMLParser.__regexAlign.match(segment1)) { var align = openfl__$internal_formats_html_HTMLParser.__getAttributeMatch(openfl__$internal_formats_html_HTMLParser.__regexAlign).toLowerCase(); format.align = openfl_text__$TextFormatAlign_TextFormatAlign_$Impl_$.fromString(align); } break; case "textformat": if(openfl__$internal_formats_html_HTMLParser.__regexBlockIndent.match(segment1)) { format.blockIndent = Std.parseInt(openfl__$internal_formats_html_HTMLParser.__getAttributeMatch(openfl__$internal_formats_html_HTMLParser.__regexBlockIndent)); } if(openfl__$internal_formats_html_HTMLParser.__regexIndent.match(segment1)) { format.indent = Std.parseInt(openfl__$internal_formats_html_HTMLParser.__getAttributeMatch(openfl__$internal_formats_html_HTMLParser.__regexIndent)); } if(openfl__$internal_formats_html_HTMLParser.__regexLeading.match(segment1)) { format.leading = Std.parseInt(openfl__$internal_formats_html_HTMLParser.__getAttributeMatch(openfl__$internal_formats_html_HTMLParser.__regexLeading)); } if(openfl__$internal_formats_html_HTMLParser.__regexLeftMargin.match(segment1)) { format.leftMargin = Std.parseInt(openfl__$internal_formats_html_HTMLParser.__getAttributeMatch(openfl__$internal_formats_html_HTMLParser.__regexLeftMargin)); } if(openfl__$internal_formats_html_HTMLParser.__regexRightMargin.match(segment1)) { format.rightMargin = Std.parseInt(openfl__$internal_formats_html_HTMLParser.__getAttributeMatch(openfl__$internal_formats_html_HTMLParser.__regexRightMargin)); } if(openfl__$internal_formats_html_HTMLParser.__regexTabStops.match(segment1)) { var values = openfl__$internal_formats_html_HTMLParser.__getAttributeMatch(openfl__$internal_formats_html_HTMLParser.__regexTabStops).split(" "); var tabStops = []; var _g12 = 0; while(_g12 < values.length) { var stop = values[_g12]; ++_g12; tabStops.push(Std.parseInt(stop)); } format.tabStops = tabStops; } break; case "u": format.underline = true; break; } formatStack.push(format); tagStack.push(tagName); if(start < segment1.length) { sub = segment1.substring(start); textFormatRanges.push(new openfl__$internal_text_TextFormatRange(format,value.length,value.length + sub.length)); value += sub; noLineBreak = false; } } else { textFormatRanges.push(new openfl__$internal_text_TextFormatRange(format,value.length,value.length + segment1.length)); value += segment1; noLineBreak = false; } } } if(textFormatRanges.get_length() == 0) { textFormatRanges.push(new openfl__$internal_text_TextFormatRange(formatStack[0],0,0)); } } return value; }; openfl__$internal_formats_html_HTMLParser.__getAttributeMatch = function(regex) { if(regex.matched(2) != null) { return regex.matched(2); } else { return regex.matched(3); } }; var openfl__$internal_formats_swf_FilterType = $hxClasses["openfl._internal.formats.swf.FilterType"] = { __ename__ : ["openfl","_internal","formats","swf","FilterType"], __constructs__ : ["BlurFilter","ColorMatrixFilter","DropShadowFilter","GlowFilter"] }; openfl__$internal_formats_swf_FilterType.BlurFilter = function(blurX,blurY,quality) { var $x = ["BlurFilter",0,blurX,blurY,quality]; $x.__enum__ = openfl__$internal_formats_swf_FilterType; $x.toString = $estr; return $x; }; openfl__$internal_formats_swf_FilterType.ColorMatrixFilter = function(matrix) { var $x = ["ColorMatrixFilter",1,matrix]; $x.__enum__ = openfl__$internal_formats_swf_FilterType; $x.toString = $estr; return $x; }; openfl__$internal_formats_swf_FilterType.DropShadowFilter = function(distance,angle,color,alpha,blurX,blurY,strength,quality,inner,knockout,hideObject) { var $x = ["DropShadowFilter",2,distance,angle,color,alpha,blurX,blurY,strength,quality,inner,knockout,hideObject]; $x.__enum__ = openfl__$internal_formats_swf_FilterType; $x.toString = $estr; return $x; }; openfl__$internal_formats_swf_FilterType.GlowFilter = function(color,alpha,blurX,blurY,strength,quality,inner,knockout) { var $x = ["GlowFilter",3,color,alpha,blurX,blurY,strength,quality,inner,knockout]; $x.__enum__ = openfl__$internal_formats_swf_FilterType; $x.toString = $estr; return $x; }; var openfl__$internal_formats_swf_SWFLite = function() { this.symbols = new haxe_ds_IntMap(); }; $hxClasses["openfl._internal.formats.swf.SWFLite"] = openfl__$internal_formats_swf_SWFLite; openfl__$internal_formats_swf_SWFLite.__name__ = ["openfl","_internal","formats","swf","SWFLite"]; openfl__$internal_formats_swf_SWFLite.resolveClass = function(name) { var value = Type.resolveClass(name); if(value == null) { value = Type.resolveClass(StringTools.replace(name,"openfl._legacy","openfl")); } if(value == null) { value = Type.resolveClass(StringTools.replace(name,"openfl._v2","openfl")); } return value; }; openfl__$internal_formats_swf_SWFLite.resolveEnum = function(name) { var value = Type.resolveEnum(name); if(value == null) { value = Type.resolveEnum(StringTools.replace(name,"openfl._legacy","openfl")); } if(value == null) { value = Type.resolveEnum(StringTools.replace(name,"openfl._v2","openfl")); } return value; }; openfl__$internal_formats_swf_SWFLite.unserialize = function(data) { if(data == null) { return null; } var unserializer = new haxe_Unserializer(data); unserializer.setResolver({ resolveClass : openfl__$internal_formats_swf_SWFLite.resolveClass, resolveEnum : openfl__$internal_formats_swf_SWFLite.resolveEnum}); return unserializer.unserialize(); }; openfl__$internal_formats_swf_SWFLite.prototype = { frameRate: null ,library: null ,root: null ,symbols: null ,createButton: function(className) { return null; } ,createMovieClip: function(className) { if(className == null) { className = ""; } if(className == "") { return this.root.__createObject(this); } else { var symbol = this.symbols.iterator(); while(symbol.hasNext()) { var symbol1 = symbol.next(); if(symbol1.className == className) { if(js_Boot.__instanceof(symbol1,openfl__$internal_symbols_SpriteSymbol)) { return (js_Boot.__cast(symbol1 , openfl__$internal_symbols_SpriteSymbol)).__createObject(this); } } } } return null; } ,getBitmapData: function(className) { var symbol = this.symbols.iterator(); while(symbol.hasNext()) { var symbol1 = symbol.next(); if(symbol1.className == className) { if(js_Boot.__instanceof(symbol1,openfl__$internal_symbols_BitmapSymbol)) { var bitmap = symbol1; return openfl_utils_Assets.getBitmapData(bitmap.path); } } } return null; } ,hasSymbol: function(className) { var symbol = this.symbols.iterator(); while(symbol.hasNext()) { var symbol1 = symbol.next(); if(symbol1.className == className) { return true; } } return false; } ,serialize: function() { var serializer = new haxe_Serializer(); serializer.serialize(this); return serializer.toString(); } ,__class__: openfl__$internal_formats_swf_SWFLite }; var openfl_utils_AssetLibrary = function() { lime_utils_AssetLibrary.call(this); }; $hxClasses["openfl.utils.AssetLibrary"] = openfl_utils_AssetLibrary; openfl_utils_AssetLibrary.__name__ = ["openfl","utils","AssetLibrary"]; openfl_utils_AssetLibrary.fromBytes = function(bytes,rootPath) { return openfl_utils_AssetLibrary.fromManifest(lime_utils_AssetManifest.fromBytes(openfl_utils__$ByteArray_ByteArray_$Impl_$.toBytes(bytes),rootPath)); }; openfl_utils_AssetLibrary.fromFile = function(path,rootPath) { return openfl_utils_AssetLibrary.fromManifest(lime_utils_AssetManifest.fromFile(path,rootPath)); }; openfl_utils_AssetLibrary.fromManifest = function(manifest) { var library = lime_utils_AssetLibrary.fromManifest(manifest); if(library != null) { if(js_Boot.__instanceof(library,openfl_utils_AssetLibrary)) { return library; } else { var _library = new openfl_utils_AssetLibrary(); _library.__proxy = library; return _library; } } else { return null; } }; openfl_utils_AssetLibrary.loadFromBytes = function(bytes,rootPath) { return lime_utils_AssetManifest.loadFromBytes(openfl_utils__$ByteArray_ByteArray_$Impl_$.toBytes(bytes),rootPath).then(function(manifest) { return openfl_utils_AssetLibrary.loadFromManifest(manifest); }); }; openfl_utils_AssetLibrary.loadFromFile = function(path,rootPath) { return lime_utils_AssetManifest.loadFromFile(path,rootPath).then(function(manifest) { return openfl_utils_AssetLibrary.loadFromManifest(manifest); }); }; openfl_utils_AssetLibrary.loadFromManifest = function(manifest) { var library = openfl_utils_AssetLibrary.fromManifest(manifest); if(library != null) { return library.load().then(function(library1) { return lime_app_Future.withValue(library1); }); } else { return lime_app_Future.withError("Could not load asset manifest"); } }; openfl_utils_AssetLibrary.__super__ = lime_utils_AssetLibrary; openfl_utils_AssetLibrary.prototype = $extend(lime_utils_AssetLibrary.prototype,{ __proxy: null ,exists: function(id,type) { if(this.__proxy != null) { return this.__proxy.exists(id,type); } else { return lime_utils_AssetLibrary.prototype.exists.call(this,id,type); } } ,getAsset: function(id,type) { if(this.__proxy != null) { return this.__proxy.getAsset(id,type); } else { return lime_utils_AssetLibrary.prototype.getAsset.call(this,id,type); } } ,getAudioBuffer: function(id) { if(this.__proxy != null) { return this.__proxy.getAudioBuffer(id); } else { return lime_utils_AssetLibrary.prototype.getAudioBuffer.call(this,id); } } ,getBytes: function(id) { if(this.__proxy != null) { return this.__proxy.getBytes(id); } else { return lime_utils_AssetLibrary.prototype.getBytes.call(this,id); } } ,getFont: function(id) { if(this.__proxy != null) { return this.__proxy.getFont(id); } else { return lime_utils_AssetLibrary.prototype.getFont.call(this,id); } } ,getImage: function(id) { if(this.__proxy != null) { return this.__proxy.getImage(id); } else { return lime_utils_AssetLibrary.prototype.getImage.call(this,id); } } ,getMovieClip: function(id) { return null; } ,getPath: function(id) { if(this.__proxy != null) { return this.__proxy.getPath(id); } else { return lime_utils_AssetLibrary.prototype.getPath.call(this,id); } } ,getText: function(id) { if(this.__proxy != null) { return this.__proxy.getText(id); } else { return lime_utils_AssetLibrary.prototype.getText.call(this,id); } } ,isLocal: function(id,type) { if(this.__proxy != null) { return this.__proxy.isLocal(id,type); } else { return lime_utils_AssetLibrary.prototype.isLocal.call(this,id,type); } } ,list: function(type) { if(this.__proxy != null) { return this.__proxy.list(type); } else { return lime_utils_AssetLibrary.prototype.list.call(this,type); } } ,loadAsset: function(id,type) { if(this.__proxy != null) { return this.__proxy.loadAsset(id,type); } else { return lime_utils_AssetLibrary.prototype.loadAsset.call(this,id,type); } } ,load: function() { if(this.__proxy != null) { return this.__proxy.load(); } else { return lime_utils_AssetLibrary.prototype.load.call(this); } } ,loadAudioBuffer: function(id) { if(this.__proxy != null) { return this.__proxy.loadAudioBuffer(id); } else { return lime_utils_AssetLibrary.prototype.loadAudioBuffer.call(this,id); } } ,loadBytes: function(id) { if(this.__proxy != null) { return this.__proxy.loadBytes(id); } else { return lime_utils_AssetLibrary.prototype.loadBytes.call(this,id); } } ,loadFont: function(id) { if(this.__proxy != null) { return this.__proxy.loadFont(id); } else { return lime_utils_AssetLibrary.prototype.loadFont.call(this,id); } } ,loadImage: function(id) { if(this.__proxy != null) { return this.__proxy.loadImage(id); } else { return lime_utils_AssetLibrary.prototype.loadImage.call(this,id); } } ,loadMovieClip: function(id) { return lime_app_Future.withValue(this.getMovieClip(id)); } ,loadText: function(id) { if(this.__proxy != null) { return this.__proxy.loadText(id); } else { return lime_utils_AssetLibrary.prototype.loadText.call(this,id); } } ,unload: function() { if(this.__proxy != null) { this.__proxy.unload(); return; } else { lime_utils_AssetLibrary.prototype.unload.call(this); return; } } ,__class__: openfl_utils_AssetLibrary }); var openfl__$internal_formats_swf_SWFLiteLibrary = function(id,uuid) { openfl_utils_AssetLibrary.call(this); this.id = id; this.instanceID = uuid != null ? uuid : id; this.alphaCheck = new haxe_ds_StringMap(); this.imageClassNames = new haxe_ds_StringMap(); this.rootPath = ""; }; $hxClasses["openfl._internal.formats.swf.SWFLiteLibrary"] = openfl__$internal_formats_swf_SWFLiteLibrary; openfl__$internal_formats_swf_SWFLiteLibrary.__name__ = ["openfl","_internal","formats","swf","SWFLiteLibrary"]; openfl__$internal_formats_swf_SWFLiteLibrary.__super__ = openfl_utils_AssetLibrary; openfl__$internal_formats_swf_SWFLiteLibrary.prototype = $extend(openfl_utils_AssetLibrary.prototype,{ alphaCheck: null ,id: null ,imageClassNames: null ,instanceID: null ,preloading: null ,rootPath: null ,swf: null ,exists: function(id,type) { if(this.swf == null) { return false; } if(id == "" && type == "MOVIE_CLIP") { return true; } if(type == "IMAGE" || type == "MOVIE_CLIP") { if(this.swf != null) { return this.swf.hasSymbol(id); } else { return false; } } return false; } ,getImage: function(id) { var _this = this.imageClassNames; if(__map_reserved[id] != null ? _this.existsReserved(id) : _this.h.hasOwnProperty(id)) { var _this1 = this.imageClassNames; if(__map_reserved[id] != null) { id = _this1.getReserved(id); } else { id = _this1.h[id]; } } var _this2 = this.alphaCheck; if(!(__map_reserved[id] != null ? _this2.existsReserved(id) : _this2.h.hasOwnProperty(id))) { var symbol = this.swf.symbols.iterator(); while(symbol.hasNext()) { var symbol1 = symbol.next(); if(js_Boot.__instanceof(symbol1,openfl__$internal_symbols_BitmapSymbol) && (js_Boot.__cast(symbol1 , openfl__$internal_symbols_BitmapSymbol)).path == id) { var bitmapSymbol = symbol1; if(bitmapSymbol.alpha != null) { var image = openfl_utils_AssetLibrary.prototype.getImage.call(this,id); var alpha = openfl_utils_AssetLibrary.prototype.getImage.call(this,bitmapSymbol.alpha); this.__copyChannel(image,alpha); var _this3 = this.cachedImages; if(__map_reserved[id] != null) { _this3.setReserved(id,image); } else { _this3.h[id] = image; } this.cachedImages.remove(bitmapSymbol.alpha); var _this4 = this.alphaCheck; if(__map_reserved[id] != null) { _this4.setReserved(id,true); } else { _this4.h[id] = true; } return image; } } } } return openfl_utils_AssetLibrary.prototype.getImage.call(this,id); } ,getMovieClip: function(id) { if(this.swf != null) { return this.swf.createMovieClip(id); } else { return null; } } ,isLocal: function(id,type) { return true; } ,load: function() { var _gthis = this; if(this.id != null) { var key = this.id; var _this = this.preload; if(__map_reserved[key] != null) { _this.setReserved(key,true); } else { _this.h[key] = true; } } var promise = new lime_app_Promise(); this.preloading = true; var onComplete = function(data) { var key1 = _gthis.id; var _this1 = _gthis.cachedText; if(__map_reserved[key1] != null) { _this1.setReserved(key1,data); } else { _this1.h[key1] = data; } _gthis.swf = openfl__$internal_formats_swf_SWFLite.unserialize(data); _gthis.swf.library = _gthis; var bitmapSymbol; var symbol = _gthis.swf.symbols.iterator(); while(symbol.hasNext()) { var symbol1 = symbol.next(); if(js_Boot.__instanceof(symbol1,openfl__$internal_symbols_BitmapSymbol)) { bitmapSymbol = symbol1; if(bitmapSymbol.className != null) { var key2 = bitmapSymbol.className; var value = bitmapSymbol.path; var _this2 = _gthis.imageClassNames; if(__map_reserved[key2] != null) { _this2.setReserved(key2,value); } else { _this2.h[key2] = value; } } } } var key3 = _gthis.instanceID; var value1 = _gthis.swf; var _this3 = openfl__$internal_formats_swf_SWFLite.instances; if(__map_reserved[key3] != null) { _this3.setReserved(key3,value1); } else { _this3.h[key3] = value1; } _gthis.__load().onProgress($bind(promise,promise.progress)).onError($bind(promise,promise.error)).onComplete(function(_) { _gthis.preloading = false; promise.complete(_gthis); }); }; if(openfl_utils_Assets.exists(this.id)) { var id = this.paths.keys(); while(id.hasNext()) { var id1 = id.next(); var _this4 = this.preload; if(__map_reserved[id1] != null) { _this4.setReserved(id1,true); } else { _this4.h[id1] = true; } } this.loadText(this.id).onError($bind(promise,promise.error)).onComplete(onComplete); } else { var id2 = this.paths.keys(); while(id2.hasNext()) { var id3 = id2.next(); var _this5 = this.preload; if(__map_reserved[id3] != null) { _this5.setReserved(id3,true); } else { _this5.h[id3] = true; } } var path = null; var key4 = this.id; var _this6 = this.paths; if(__map_reserved[key4] != null ? _this6.existsReserved(key4) : _this6.h.hasOwnProperty(key4)) { var key5 = this.id; var _this7 = this.paths; if(__map_reserved[key5] != null) { path = _this7.getReserved(key5); } else { path = _this7.h[key5]; } } else if(this.rootPath != null && this.rootPath != "") { path = this.rootPath + "/" + this.id; } else { path = this.id; } var loader = new openfl_net_URLLoader(); loader.addEventListener("complete",function(_1) { onComplete(loader.data); }); loader.addEventListener("ioError",function(e) { promise.error(e); }); loader.load(new openfl_net_URLRequest(path)); } return promise.future; } ,loadImage: function(id) { var _gthis = this; var _this = this.imageClassNames; if(__map_reserved[id] != null ? _this.existsReserved(id) : _this.h.hasOwnProperty(id)) { var _this1 = this.imageClassNames; if(__map_reserved[id] != null) { id = _this1.getReserved(id); } else { id = _this1.h[id]; } } var tmp; if(!this.preloading) { var _this2 = this.alphaCheck; tmp = !(__map_reserved[id] != null ? _this2.existsReserved(id) : _this2.h.hasOwnProperty(id)); } else { tmp = false; } if(tmp) { var symbol = this.swf.symbols.iterator(); while(symbol.hasNext()) { var symbol1 = symbol.next(); if(js_Boot.__instanceof(symbol1,openfl__$internal_symbols_BitmapSymbol) && (js_Boot.__cast(symbol1 , openfl__$internal_symbols_BitmapSymbol)).path == id) { var bitmapSymbol = [symbol1]; if(bitmapSymbol[0].alpha != null) { var promise = [new lime_app_Promise()]; this.__loadImage(id).onError(($_=promise[0],$bind($_,$_.error))).onComplete((function(promise1,bitmapSymbol1) { return function(image) { _gthis.__loadImage(bitmapSymbol1[0].alpha).onError(($_=promise1[0],$bind($_,$_.error))).onComplete((function(promise2,bitmapSymbol2) { return function(alpha) { _gthis.__copyChannel(image,alpha); var _this3 = _gthis.cachedImages; if(__map_reserved[id] != null) { _this3.setReserved(id,image); } else { _this3.h[id] = image; } _gthis.cachedImages.remove(bitmapSymbol2[0].alpha); var _this4 = _gthis.alphaCheck; if(__map_reserved[id] != null) { _this4.setReserved(id,true); } else { _this4.h[id] = true; } promise2[0].complete(image); }; })(promise1,bitmapSymbol1)); }; })(promise,bitmapSymbol)); return promise[0].future; } } } } return openfl_utils_AssetLibrary.prototype.loadImage.call(this,id); } ,unload: function() { if(this.swf == null) { return; } var tmp; var key = this.instanceID; var _this = openfl__$internal_formats_swf_SWFLite.instances; if(__map_reserved[key] != null ? _this.existsReserved(key) : _this.h.hasOwnProperty(key)) { var key1 = this.instanceID; var _this1 = openfl__$internal_formats_swf_SWFLite.instances; tmp = (__map_reserved[key1] != null ? _this1.getReserved(key1) : _this1.h[key1]) == this.swf; } else { tmp = false; } if(tmp) { openfl__$internal_formats_swf_SWFLite.instances.remove(this.instanceID); } var bitmap; var symbol = this.swf.symbols.iterator(); while(symbol.hasNext()) { var symbol1 = symbol.next(); if(js_Boot.__instanceof(symbol1,openfl__$internal_symbols_BitmapSymbol)) { bitmap = symbol1; openfl_utils_Assets.cache.removeBitmapData(bitmap.path); } } } ,__copyChannel: function(image,alpha) { if(alpha != null) { image.copyChannel(alpha,alpha.get_rect(),new lime_math_Vector2(),lime_graphics_ImageChannel.RED,lime_graphics_ImageChannel.ALPHA); } image.buffer.premultiplied = true; image.set_premultiplied(false); } ,__fromManifest: function(manifest) { this.rootPath = manifest.rootPath; openfl_utils_AssetLibrary.prototype.__fromManifest.call(this,manifest); this.bytesTotal = 0; var id = this.paths.keys(); while(id.hasNext()) { var id1 = id.next(); var _this = this.sizes; this.bytesTotal += __map_reserved[id1] != null ? _this.getReserved(id1) : _this.h[id1]; } } ,__load: function() { return openfl_utils_AssetLibrary.prototype.load.call(this); } ,__loadImage: function(id) { return openfl_utils_AssetLibrary.prototype.loadImage.call(this,id); } ,__class__: openfl__$internal_formats_swf_SWFLiteLibrary }); var openfl__$internal_formats_swf_ShapeCommand = $hxClasses["openfl._internal.formats.swf.ShapeCommand"] = { __ename__ : ["openfl","_internal","formats","swf","ShapeCommand"], __constructs__ : ["BeginBitmapFill","BeginFill","BeginGradientFill","CurveTo","EndFill","LineStyle","LineTo","MoveTo"] }; openfl__$internal_formats_swf_ShapeCommand.BeginBitmapFill = function(bitmap,matrix,repeat,smooth) { var $x = ["BeginBitmapFill",0,bitmap,matrix,repeat,smooth]; $x.__enum__ = openfl__$internal_formats_swf_ShapeCommand; $x.toString = $estr; return $x; }; openfl__$internal_formats_swf_ShapeCommand.BeginFill = function(color,alpha) { var $x = ["BeginFill",1,color,alpha]; $x.__enum__ = openfl__$internal_formats_swf_ShapeCommand; $x.toString = $estr; return $x; }; openfl__$internal_formats_swf_ShapeCommand.BeginGradientFill = function(fillType,colors,alphas,ratios,matrix,spreadMethod,interpolationMethod,focalPointRatio) { var $x = ["BeginGradientFill",2,fillType,colors,alphas,ratios,matrix,spreadMethod,interpolationMethod,focalPointRatio]; $x.__enum__ = openfl__$internal_formats_swf_ShapeCommand; $x.toString = $estr; return $x; }; openfl__$internal_formats_swf_ShapeCommand.CurveTo = function(controlX,controlY,anchorX,anchorY) { var $x = ["CurveTo",3,controlX,controlY,anchorX,anchorY]; $x.__enum__ = openfl__$internal_formats_swf_ShapeCommand; $x.toString = $estr; return $x; }; openfl__$internal_formats_swf_ShapeCommand.EndFill = ["EndFill",4]; openfl__$internal_formats_swf_ShapeCommand.EndFill.toString = $estr; openfl__$internal_formats_swf_ShapeCommand.EndFill.__enum__ = openfl__$internal_formats_swf_ShapeCommand; openfl__$internal_formats_swf_ShapeCommand.LineStyle = function(thickness,color,alpha,pixelHinting,scaleMode,caps,joints,miterLimit) { var $x = ["LineStyle",5,thickness,color,alpha,pixelHinting,scaleMode,caps,joints,miterLimit]; $x.__enum__ = openfl__$internal_formats_swf_ShapeCommand; $x.toString = $estr; return $x; }; openfl__$internal_formats_swf_ShapeCommand.LineTo = function(x,y) { var $x = ["LineTo",6,x,y]; $x.__enum__ = openfl__$internal_formats_swf_ShapeCommand; $x.toString = $estr; return $x; }; openfl__$internal_formats_swf_ShapeCommand.MoveTo = function(x,y) { var $x = ["MoveTo",7,x,y]; $x.__enum__ = openfl__$internal_formats_swf_ShapeCommand; $x.toString = $estr; return $x; }; var openfl__$internal_renderer_DrawCommandBuffer = function() { if(openfl__$internal_renderer_DrawCommandBuffer.empty == null) { this.types = []; this.b = []; this.i = []; this.f = []; this.o = []; this.ff = []; this.ii = []; this.copyOnWrite = true; } else { this.clear(); } }; $hxClasses["openfl._internal.renderer.DrawCommandBuffer"] = openfl__$internal_renderer_DrawCommandBuffer; openfl__$internal_renderer_DrawCommandBuffer.__name__ = ["openfl","_internal","renderer","DrawCommandBuffer"]; openfl__$internal_renderer_DrawCommandBuffer.prototype = { types: null ,b: null ,copyOnWrite: null ,f: null ,ff: null ,i: null ,ii: null ,o: null ,append: function(other) { if(this.get_length() == 0) { this.types = other.types; this.b = other.b; this.i = other.i; this.f = other.f; this.o = other.o; this.ff = other.ff; this.ii = other.ii; this.copyOnWrite = other.copyOnWrite = true; return other; } var data = new openfl__$internal_renderer_DrawCommandReader(other); var _g = 0; var _g1 = other.types; while(_g < _g1.length) { var type = _g1[_g]; ++_g; switch(type[1]) { case 0: var _g2 = data.prev; switch(_g2[1]) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl__$internal_renderer_DrawCommandType.BEGIN_BITMAP_FILL; var this1 = data; var c = this1; this.beginBitmapFill(c.buffer.o[c.oPos],c.buffer.o[c.oPos + 1],c.buffer.b[c.bPos],c.buffer.b[c.bPos + 1]); break; case 1: var _g3 = data.prev; switch(_g3[1]) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl__$internal_renderer_DrawCommandType.BEGIN_FILL; var this2 = data; var c1 = this2; this.beginFill(c1.buffer.i[c1.iPos],c1.buffer.f[c1.fPos]); break; case 2: var _g4 = data.prev; switch(_g4[1]) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl__$internal_renderer_DrawCommandType.BEGIN_GRADIENT_FILL; var this3 = data; var c2 = this3; this.beginGradientFill(c2.buffer.o[c2.oPos],c2.buffer.ii[c2.iiPos],c2.buffer.ff[c2.ffPos],c2.buffer.ii[c2.iiPos + 1],c2.buffer.o[c2.oPos + 1],c2.buffer.o[c2.oPos + 2],c2.buffer.o[c2.oPos + 3],c2.buffer.f[c2.fPos]); break; case 3: var _g5 = data.prev; switch(_g5[1]) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl__$internal_renderer_DrawCommandType.BEGIN_SHADER_FILL; var this4 = data; var c3 = this4; this.beginShaderFill(c3.buffer.o[c3.oPos]); break; case 4: var _g6 = data.prev; switch(_g6[1]) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl__$internal_renderer_DrawCommandType.CUBIC_CURVE_TO; var this5 = data; var c4 = this5; this.cubicCurveTo(c4.buffer.f[c4.fPos],c4.buffer.f[c4.fPos + 1],c4.buffer.f[c4.fPos + 2],c4.buffer.f[c4.fPos + 3],c4.buffer.f[c4.fPos + 4],c4.buffer.f[c4.fPos + 5]); break; case 5: var _g7 = data.prev; switch(_g7[1]) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl__$internal_renderer_DrawCommandType.CURVE_TO; var this6 = data; var c5 = this6; this.curveTo(c5.buffer.f[c5.fPos],c5.buffer.f[c5.fPos + 1],c5.buffer.f[c5.fPos + 2],c5.buffer.f[c5.fPos + 3]); break; case 6: var _g8 = data.prev; switch(_g8[1]) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl__$internal_renderer_DrawCommandType.DRAW_CIRCLE; var this7 = data; var c6 = this7; this.drawCircle(c6.buffer.f[c6.fPos],c6.buffer.f[c6.fPos + 1],c6.buffer.f[c6.fPos + 2]); break; case 7: var _g9 = data.prev; switch(_g9[1]) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl__$internal_renderer_DrawCommandType.DRAW_ELLIPSE; var this8 = data; var c7 = this8; this.drawEllipse(c7.buffer.f[c7.fPos],c7.buffer.f[c7.fPos + 1],c7.buffer.f[c7.fPos + 2],c7.buffer.f[c7.fPos + 3]); break; case 8: var _g10 = data.prev; switch(_g10[1]) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl__$internal_renderer_DrawCommandType.DRAW_QUADS; var this9 = data; var c8 = this9; this.drawQuads(c8.buffer.o[c8.oPos],c8.buffer.o[c8.oPos + 1],c8.buffer.o[c8.oPos + 2]); break; case 9: var _g11 = data.prev; switch(_g11[1]) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl__$internal_renderer_DrawCommandType.DRAW_RECT; var this10 = data; var c9 = this10; this.drawRect(c9.buffer.f[c9.fPos],c9.buffer.f[c9.fPos + 1],c9.buffer.f[c9.fPos + 2],c9.buffer.f[c9.fPos + 3]); break; case 10: var _g12 = data.prev; switch(_g12[1]) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl__$internal_renderer_DrawCommandType.DRAW_ROUND_RECT; var this11 = data; var c10 = this11; this.drawRoundRect(c10.buffer.f[c10.fPos],c10.buffer.f[c10.fPos + 1],c10.buffer.f[c10.fPos + 2],c10.buffer.f[c10.fPos + 3],c10.buffer.f[c10.fPos + 4],c10.buffer.o[c10.oPos]); break; case 12: var _g13 = data.prev; switch(_g13[1]) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl__$internal_renderer_DrawCommandType.DRAW_TRIANGLES; var this12 = data; var c11 = this12; this.drawTriangles(c11.buffer.o[c11.oPos],c11.buffer.o[c11.oPos + 1],c11.buffer.o[c11.oPos + 2],c11.buffer.o[c11.oPos + 3]); break; case 13: var _g14 = data.prev; switch(_g14[1]) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl__$internal_renderer_DrawCommandType.END_FILL; var this13 = data; var c12 = this13; this.endFill(); break; case 14: var _g15 = data.prev; switch(_g15[1]) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl__$internal_renderer_DrawCommandType.LINE_BITMAP_STYLE; var this14 = data; var c13 = this14; this.lineBitmapStyle(c13.buffer.o[c13.oPos],c13.buffer.o[c13.oPos + 1],c13.buffer.b[c13.bPos],c13.buffer.b[c13.bPos + 1]); break; case 15: var _g16 = data.prev; switch(_g16[1]) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl__$internal_renderer_DrawCommandType.LINE_GRADIENT_STYLE; var this15 = data; var c14 = this15; this.lineGradientStyle(c14.buffer.o[c14.oPos],c14.buffer.ii[c14.iiPos],c14.buffer.ff[c14.ffPos],c14.buffer.ii[c14.iiPos + 1],c14.buffer.o[c14.oPos + 1],c14.buffer.o[c14.oPos + 2],c14.buffer.o[c14.oPos + 3],c14.buffer.f[c14.fPos]); break; case 16: var _g17 = data.prev; switch(_g17[1]) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl__$internal_renderer_DrawCommandType.LINE_STYLE; var this16 = data; var c15 = this16; this.lineStyle(c15.buffer.o[c15.oPos],c15.buffer.i[c15.iPos],c15.buffer.f[c15.fPos],c15.buffer.b[c15.bPos],c15.buffer.o[c15.oPos + 1],c15.buffer.o[c15.oPos + 2],c15.buffer.o[c15.oPos + 3],c15.buffer.f[c15.fPos + 1]); break; case 17: var _g18 = data.prev; switch(_g18[1]) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl__$internal_renderer_DrawCommandType.LINE_TO; var this17 = data; var c16 = this17; this.lineTo(c16.buffer.f[c16.fPos],c16.buffer.f[c16.fPos + 1]); break; case 18: var _g19 = data.prev; switch(_g19[1]) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl__$internal_renderer_DrawCommandType.MOVE_TO; var this18 = data; var c17 = this18; this.moveTo(c17.buffer.f[c17.fPos],c17.buffer.f[c17.fPos + 1]); break; case 20: var _g20 = data.prev; switch(_g20[1]) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl__$internal_renderer_DrawCommandType.OVERRIDE_MATRIX; var this19 = data; var c18 = this19; this.overrideMatrix(c18.buffer.o[c18.oPos]); break; case 21: var _g21 = data.prev; switch(_g21[1]) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl__$internal_renderer_DrawCommandType.WINDING_EVEN_ODD; var this20 = data; var c19 = this20; this.windingEvenOdd(); break; case 22: var _g22 = data.prev; switch(_g22[1]) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl__$internal_renderer_DrawCommandType.WINDING_NON_ZERO; var this21 = data; var c20 = this21; this.windingNonZero(); break; default: } } data.destroy(); return other; } ,beginBitmapFill: function(bitmap,matrix,repeat,smooth) { this.prepareWrite(); this.types.push(openfl__$internal_renderer_DrawCommandType.BEGIN_BITMAP_FILL); this.o.push(bitmap); this.o.push(matrix); this.b.push(repeat); this.b.push(smooth); } ,beginFill: function(color,alpha) { this.prepareWrite(); this.types.push(openfl__$internal_renderer_DrawCommandType.BEGIN_FILL); this.i.push(color); this.f.push(alpha); } ,beginGradientFill: function(type,colors,alphas,ratios,matrix,spreadMethod,interpolationMethod,focalPointRatio) { this.prepareWrite(); this.types.push(openfl__$internal_renderer_DrawCommandType.BEGIN_GRADIENT_FILL); this.o.push(type); this.ii.push(colors); this.ff.push(alphas); this.ii.push(ratios); this.o.push(matrix); this.o.push(spreadMethod); this.o.push(interpolationMethod); this.f.push(focalPointRatio); } ,beginShaderFill: function(shaderBuffer) { this.prepareWrite(); this.types.push(openfl__$internal_renderer_DrawCommandType.BEGIN_SHADER_FILL); this.o.push(shaderBuffer); } ,clear: function() { this.types = openfl__$internal_renderer_DrawCommandBuffer.empty.types; this.b = openfl__$internal_renderer_DrawCommandBuffer.empty.b; this.i = openfl__$internal_renderer_DrawCommandBuffer.empty.i; this.f = openfl__$internal_renderer_DrawCommandBuffer.empty.f; this.o = openfl__$internal_renderer_DrawCommandBuffer.empty.o; this.ff = openfl__$internal_renderer_DrawCommandBuffer.empty.ff; this.ii = openfl__$internal_renderer_DrawCommandBuffer.empty.ii; this.copyOnWrite = true; } ,copy: function() { var copy = new openfl__$internal_renderer_DrawCommandBuffer(); copy.append(this); return copy; } ,cubicCurveTo: function(controlX1,controlY1,controlX2,controlY2,anchorX,anchorY) { this.prepareWrite(); this.types.push(openfl__$internal_renderer_DrawCommandType.CUBIC_CURVE_TO); this.f.push(controlX1); this.f.push(controlY1); this.f.push(controlX2); this.f.push(controlY2); this.f.push(anchorX); this.f.push(anchorY); } ,curveTo: function(controlX,controlY,anchorX,anchorY) { this.prepareWrite(); this.types.push(openfl__$internal_renderer_DrawCommandType.CURVE_TO); this.f.push(controlX); this.f.push(controlY); this.f.push(anchorX); this.f.push(anchorY); } ,destroy: function() { this.clear(); this.types = null; this.b = null; this.i = null; this.f = null; this.o = null; this.ff = null; this.ii = null; } ,drawCircle: function(x,y,radius) { this.prepareWrite(); this.types.push(openfl__$internal_renderer_DrawCommandType.DRAW_CIRCLE); this.f.push(x); this.f.push(y); this.f.push(radius); } ,drawEllipse: function(x,y,width,height) { this.prepareWrite(); this.types.push(openfl__$internal_renderer_DrawCommandType.DRAW_ELLIPSE); this.f.push(x); this.f.push(y); this.f.push(width); this.f.push(height); } ,drawQuads: function(rects,indices,transforms) { this.prepareWrite(); this.types.push(openfl__$internal_renderer_DrawCommandType.DRAW_QUADS); this.o.push(rects); this.o.push(indices); this.o.push(transforms); } ,drawRect: function(x,y,width,height) { this.prepareWrite(); this.types.push(openfl__$internal_renderer_DrawCommandType.DRAW_RECT); this.f.push(x); this.f.push(y); this.f.push(width); this.f.push(height); } ,drawRoundRect: function(x,y,width,height,ellipseWidth,ellipseHeight) { this.prepareWrite(); this.types.push(openfl__$internal_renderer_DrawCommandType.DRAW_ROUND_RECT); this.f.push(x); this.f.push(y); this.f.push(width); this.f.push(height); this.f.push(ellipseWidth); this.o.push(ellipseHeight); } ,drawTriangles: function(vertices,indices,uvtData,culling) { this.prepareWrite(); this.types.push(openfl__$internal_renderer_DrawCommandType.DRAW_TRIANGLES); this.o.push(vertices); this.o.push(indices); this.o.push(uvtData); this.o.push(culling); } ,endFill: function() { this.prepareWrite(); this.types.push(openfl__$internal_renderer_DrawCommandType.END_FILL); } ,lineBitmapStyle: function(bitmap,matrix,repeat,smooth) { this.prepareWrite(); this.types.push(openfl__$internal_renderer_DrawCommandType.LINE_BITMAP_STYLE); this.o.push(bitmap); this.o.push(matrix); this.b.push(repeat); this.b.push(smooth); } ,lineGradientStyle: function(type,colors,alphas,ratios,matrix,spreadMethod,interpolationMethod,focalPointRatio) { this.prepareWrite(); this.types.push(openfl__$internal_renderer_DrawCommandType.LINE_GRADIENT_STYLE); this.o.push(type); this.ii.push(colors); this.ff.push(alphas); this.ii.push(ratios); this.o.push(matrix); this.o.push(spreadMethod); this.o.push(interpolationMethod); this.f.push(focalPointRatio); } ,lineStyle: function(thickness,color,alpha,pixelHinting,scaleMode,caps,joints,miterLimit) { this.prepareWrite(); this.types.push(openfl__$internal_renderer_DrawCommandType.LINE_STYLE); this.o.push(thickness); this.i.push(color); this.f.push(alpha); this.b.push(pixelHinting); this.o.push(scaleMode); this.o.push(caps); this.o.push(joints); this.f.push(miterLimit); } ,lineTo: function(x,y) { this.prepareWrite(); this.types.push(openfl__$internal_renderer_DrawCommandType.LINE_TO); this.f.push(x); this.f.push(y); } ,moveTo: function(x,y) { this.prepareWrite(); this.types.push(openfl__$internal_renderer_DrawCommandType.MOVE_TO); this.f.push(x); this.f.push(y); } ,prepareWrite: function() { if(this.copyOnWrite) { this.types = this.types.slice(); this.b = this.b.slice(); this.i = this.i.slice(); this.f = this.f.slice(); this.o = this.o.slice(); this.ff = this.ff.slice(); this.ii = this.ii.slice(); this.copyOnWrite = false; } } ,overrideBlendMode: function(blendMode) { this.prepareWrite(); this.types.push(openfl__$internal_renderer_DrawCommandType.OVERRIDE_BLEND_MODE); this.o.push(blendMode); } ,overrideMatrix: function(matrix) { this.prepareWrite(); this.types.push(openfl__$internal_renderer_DrawCommandType.OVERRIDE_MATRIX); this.o.push(matrix); } ,windingEvenOdd: function() { this.prepareWrite(); this.types.push(openfl__$internal_renderer_DrawCommandType.WINDING_EVEN_ODD); } ,windingNonZero: function() { this.prepareWrite(); this.types.push(openfl__$internal_renderer_DrawCommandType.WINDING_NON_ZERO); } ,get_length: function() { return this.types.length; } ,__class__: openfl__$internal_renderer_DrawCommandBuffer ,__properties__: {get_length:"get_length"} }; var openfl__$internal_renderer_DrawCommandReader = function(buffer) { this.buffer = buffer; this.bPos = this.iPos = this.fPos = this.oPos = this.ffPos = this.iiPos = this.tsPos = 0; this.prev = openfl__$internal_renderer_DrawCommandType.UNKNOWN; }; $hxClasses["openfl._internal.renderer.DrawCommandReader"] = openfl__$internal_renderer_DrawCommandReader; openfl__$internal_renderer_DrawCommandReader.__name__ = ["openfl","_internal","renderer","DrawCommandReader"]; openfl__$internal_renderer_DrawCommandReader.prototype = { buffer: null ,bPos: null ,iiPos: null ,iPos: null ,ffPos: null ,fPos: null ,oPos: null ,prev: null ,tsPos: null ,advance: function() { var _g = this.prev; switch(_g[1]) { case 0: this.oPos += 2; this.bPos += 2; break; case 1: this.iPos += 1; this.fPos += 1; break; case 2: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 3: this.oPos += 1; break; case 4: this.fPos += 6; break; case 5: this.fPos += 4; break; case 6: this.fPos += 3; break; case 7: this.fPos += 4; break; case 8: this.oPos += 3; break; case 9: this.fPos += 4; break; case 10: this.fPos += 5; this.oPos += 1; break; case 12: this.oPos += 4; break; case 13: break; case 14: this.oPos += 2; this.bPos += 2; break; case 15: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 16: this.oPos += 4; this.iPos += 1; this.fPos += 2; this.bPos += 1; break; case 17: this.fPos += 2; break; case 18: this.fPos += 2; break; case 19: this.oPos += 1; break; case 20: this.oPos += 1; break; case 21:case 22: break; default: } } ,bool: function(index) { return this.buffer.b[this.bPos + index]; } ,destroy: function() { this.buffer = null; this.reset(); } ,fArr: function(index) { return this.buffer.ff[this.ffPos + index]; } ,'float': function(index) { return this.buffer.f[this.fPos + index]; } ,iArr: function(index) { return this.buffer.ii[this.iiPos + index]; } ,'int': function(index) { return this.buffer.i[this.iPos + index]; } ,obj: function(index) { return this.buffer.o[this.oPos + index]; } ,readBeginBitmapFill: function() { var _g = this.prev; switch(_g[1]) { case 0: this.oPos += 2; this.bPos += 2; break; case 1: this.iPos += 1; this.fPos += 1; break; case 2: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 3: this.oPos += 1; break; case 4: this.fPos += 6; break; case 5: this.fPos += 4; break; case 6: this.fPos += 3; break; case 7: this.fPos += 4; break; case 8: this.oPos += 3; break; case 9: this.fPos += 4; break; case 10: this.fPos += 5; this.oPos += 1; break; case 12: this.oPos += 4; break; case 13: break; case 14: this.oPos += 2; this.bPos += 2; break; case 15: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 16: this.oPos += 4; this.iPos += 1; this.fPos += 2; this.bPos += 1; break; case 17: this.fPos += 2; break; case 18: this.fPos += 2; break; case 19: this.oPos += 1; break; case 20: this.oPos += 1; break; case 21:case 22: break; default: } this.prev = openfl__$internal_renderer_DrawCommandType.BEGIN_BITMAP_FILL; var this1 = this; return this1; } ,readBeginFill: function() { var _g = this.prev; switch(_g[1]) { case 0: this.oPos += 2; this.bPos += 2; break; case 1: this.iPos += 1; this.fPos += 1; break; case 2: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 3: this.oPos += 1; break; case 4: this.fPos += 6; break; case 5: this.fPos += 4; break; case 6: this.fPos += 3; break; case 7: this.fPos += 4; break; case 8: this.oPos += 3; break; case 9: this.fPos += 4; break; case 10: this.fPos += 5; this.oPos += 1; break; case 12: this.oPos += 4; break; case 13: break; case 14: this.oPos += 2; this.bPos += 2; break; case 15: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 16: this.oPos += 4; this.iPos += 1; this.fPos += 2; this.bPos += 1; break; case 17: this.fPos += 2; break; case 18: this.fPos += 2; break; case 19: this.oPos += 1; break; case 20: this.oPos += 1; break; case 21:case 22: break; default: } this.prev = openfl__$internal_renderer_DrawCommandType.BEGIN_FILL; var this1 = this; return this1; } ,readBeginGradientFill: function() { var _g = this.prev; switch(_g[1]) { case 0: this.oPos += 2; this.bPos += 2; break; case 1: this.iPos += 1; this.fPos += 1; break; case 2: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 3: this.oPos += 1; break; case 4: this.fPos += 6; break; case 5: this.fPos += 4; break; case 6: this.fPos += 3; break; case 7: this.fPos += 4; break; case 8: this.oPos += 3; break; case 9: this.fPos += 4; break; case 10: this.fPos += 5; this.oPos += 1; break; case 12: this.oPos += 4; break; case 13: break; case 14: this.oPos += 2; this.bPos += 2; break; case 15: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 16: this.oPos += 4; this.iPos += 1; this.fPos += 2; this.bPos += 1; break; case 17: this.fPos += 2; break; case 18: this.fPos += 2; break; case 19: this.oPos += 1; break; case 20: this.oPos += 1; break; case 21:case 22: break; default: } this.prev = openfl__$internal_renderer_DrawCommandType.BEGIN_GRADIENT_FILL; var this1 = this; return this1; } ,readBeginShaderFill: function() { var _g = this.prev; switch(_g[1]) { case 0: this.oPos += 2; this.bPos += 2; break; case 1: this.iPos += 1; this.fPos += 1; break; case 2: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 3: this.oPos += 1; break; case 4: this.fPos += 6; break; case 5: this.fPos += 4; break; case 6: this.fPos += 3; break; case 7: this.fPos += 4; break; case 8: this.oPos += 3; break; case 9: this.fPos += 4; break; case 10: this.fPos += 5; this.oPos += 1; break; case 12: this.oPos += 4; break; case 13: break; case 14: this.oPos += 2; this.bPos += 2; break; case 15: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 16: this.oPos += 4; this.iPos += 1; this.fPos += 2; this.bPos += 1; break; case 17: this.fPos += 2; break; case 18: this.fPos += 2; break; case 19: this.oPos += 1; break; case 20: this.oPos += 1; break; case 21:case 22: break; default: } this.prev = openfl__$internal_renderer_DrawCommandType.BEGIN_SHADER_FILL; var this1 = this; return this1; } ,readCubicCurveTo: function() { var _g = this.prev; switch(_g[1]) { case 0: this.oPos += 2; this.bPos += 2; break; case 1: this.iPos += 1; this.fPos += 1; break; case 2: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 3: this.oPos += 1; break; case 4: this.fPos += 6; break; case 5: this.fPos += 4; break; case 6: this.fPos += 3; break; case 7: this.fPos += 4; break; case 8: this.oPos += 3; break; case 9: this.fPos += 4; break; case 10: this.fPos += 5; this.oPos += 1; break; case 12: this.oPos += 4; break; case 13: break; case 14: this.oPos += 2; this.bPos += 2; break; case 15: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 16: this.oPos += 4; this.iPos += 1; this.fPos += 2; this.bPos += 1; break; case 17: this.fPos += 2; break; case 18: this.fPos += 2; break; case 19: this.oPos += 1; break; case 20: this.oPos += 1; break; case 21:case 22: break; default: } this.prev = openfl__$internal_renderer_DrawCommandType.CUBIC_CURVE_TO; var this1 = this; return this1; } ,readCurveTo: function() { var _g = this.prev; switch(_g[1]) { case 0: this.oPos += 2; this.bPos += 2; break; case 1: this.iPos += 1; this.fPos += 1; break; case 2: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 3: this.oPos += 1; break; case 4: this.fPos += 6; break; case 5: this.fPos += 4; break; case 6: this.fPos += 3; break; case 7: this.fPos += 4; break; case 8: this.oPos += 3; break; case 9: this.fPos += 4; break; case 10: this.fPos += 5; this.oPos += 1; break; case 12: this.oPos += 4; break; case 13: break; case 14: this.oPos += 2; this.bPos += 2; break; case 15: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 16: this.oPos += 4; this.iPos += 1; this.fPos += 2; this.bPos += 1; break; case 17: this.fPos += 2; break; case 18: this.fPos += 2; break; case 19: this.oPos += 1; break; case 20: this.oPos += 1; break; case 21:case 22: break; default: } this.prev = openfl__$internal_renderer_DrawCommandType.CURVE_TO; var this1 = this; return this1; } ,readDrawCircle: function() { var _g = this.prev; switch(_g[1]) { case 0: this.oPos += 2; this.bPos += 2; break; case 1: this.iPos += 1; this.fPos += 1; break; case 2: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 3: this.oPos += 1; break; case 4: this.fPos += 6; break; case 5: this.fPos += 4; break; case 6: this.fPos += 3; break; case 7: this.fPos += 4; break; case 8: this.oPos += 3; break; case 9: this.fPos += 4; break; case 10: this.fPos += 5; this.oPos += 1; break; case 12: this.oPos += 4; break; case 13: break; case 14: this.oPos += 2; this.bPos += 2; break; case 15: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 16: this.oPos += 4; this.iPos += 1; this.fPos += 2; this.bPos += 1; break; case 17: this.fPos += 2; break; case 18: this.fPos += 2; break; case 19: this.oPos += 1; break; case 20: this.oPos += 1; break; case 21:case 22: break; default: } this.prev = openfl__$internal_renderer_DrawCommandType.DRAW_CIRCLE; var this1 = this; return this1; } ,readDrawEllipse: function() { var _g = this.prev; switch(_g[1]) { case 0: this.oPos += 2; this.bPos += 2; break; case 1: this.iPos += 1; this.fPos += 1; break; case 2: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 3: this.oPos += 1; break; case 4: this.fPos += 6; break; case 5: this.fPos += 4; break; case 6: this.fPos += 3; break; case 7: this.fPos += 4; break; case 8: this.oPos += 3; break; case 9: this.fPos += 4; break; case 10: this.fPos += 5; this.oPos += 1; break; case 12: this.oPos += 4; break; case 13: break; case 14: this.oPos += 2; this.bPos += 2; break; case 15: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 16: this.oPos += 4; this.iPos += 1; this.fPos += 2; this.bPos += 1; break; case 17: this.fPos += 2; break; case 18: this.fPos += 2; break; case 19: this.oPos += 1; break; case 20: this.oPos += 1; break; case 21:case 22: break; default: } this.prev = openfl__$internal_renderer_DrawCommandType.DRAW_ELLIPSE; var this1 = this; return this1; } ,readDrawQuads: function() { var _g = this.prev; switch(_g[1]) { case 0: this.oPos += 2; this.bPos += 2; break; case 1: this.iPos += 1; this.fPos += 1; break; case 2: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 3: this.oPos += 1; break; case 4: this.fPos += 6; break; case 5: this.fPos += 4; break; case 6: this.fPos += 3; break; case 7: this.fPos += 4; break; case 8: this.oPos += 3; break; case 9: this.fPos += 4; break; case 10: this.fPos += 5; this.oPos += 1; break; case 12: this.oPos += 4; break; case 13: break; case 14: this.oPos += 2; this.bPos += 2; break; case 15: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 16: this.oPos += 4; this.iPos += 1; this.fPos += 2; this.bPos += 1; break; case 17: this.fPos += 2; break; case 18: this.fPos += 2; break; case 19: this.oPos += 1; break; case 20: this.oPos += 1; break; case 21:case 22: break; default: } this.prev = openfl__$internal_renderer_DrawCommandType.DRAW_QUADS; var this1 = this; return this1; } ,readDrawRect: function() { var _g = this.prev; switch(_g[1]) { case 0: this.oPos += 2; this.bPos += 2; break; case 1: this.iPos += 1; this.fPos += 1; break; case 2: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 3: this.oPos += 1; break; case 4: this.fPos += 6; break; case 5: this.fPos += 4; break; case 6: this.fPos += 3; break; case 7: this.fPos += 4; break; case 8: this.oPos += 3; break; case 9: this.fPos += 4; break; case 10: this.fPos += 5; this.oPos += 1; break; case 12: this.oPos += 4; break; case 13: break; case 14: this.oPos += 2; this.bPos += 2; break; case 15: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 16: this.oPos += 4; this.iPos += 1; this.fPos += 2; this.bPos += 1; break; case 17: this.fPos += 2; break; case 18: this.fPos += 2; break; case 19: this.oPos += 1; break; case 20: this.oPos += 1; break; case 21:case 22: break; default: } this.prev = openfl__$internal_renderer_DrawCommandType.DRAW_RECT; var this1 = this; return this1; } ,readDrawRoundRect: function() { var _g = this.prev; switch(_g[1]) { case 0: this.oPos += 2; this.bPos += 2; break; case 1: this.iPos += 1; this.fPos += 1; break; case 2: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 3: this.oPos += 1; break; case 4: this.fPos += 6; break; case 5: this.fPos += 4; break; case 6: this.fPos += 3; break; case 7: this.fPos += 4; break; case 8: this.oPos += 3; break; case 9: this.fPos += 4; break; case 10: this.fPos += 5; this.oPos += 1; break; case 12: this.oPos += 4; break; case 13: break; case 14: this.oPos += 2; this.bPos += 2; break; case 15: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 16: this.oPos += 4; this.iPos += 1; this.fPos += 2; this.bPos += 1; break; case 17: this.fPos += 2; break; case 18: this.fPos += 2; break; case 19: this.oPos += 1; break; case 20: this.oPos += 1; break; case 21:case 22: break; default: } this.prev = openfl__$internal_renderer_DrawCommandType.DRAW_ROUND_RECT; var this1 = this; return this1; } ,readDrawTriangles: function() { var _g = this.prev; switch(_g[1]) { case 0: this.oPos += 2; this.bPos += 2; break; case 1: this.iPos += 1; this.fPos += 1; break; case 2: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 3: this.oPos += 1; break; case 4: this.fPos += 6; break; case 5: this.fPos += 4; break; case 6: this.fPos += 3; break; case 7: this.fPos += 4; break; case 8: this.oPos += 3; break; case 9: this.fPos += 4; break; case 10: this.fPos += 5; this.oPos += 1; break; case 12: this.oPos += 4; break; case 13: break; case 14: this.oPos += 2; this.bPos += 2; break; case 15: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 16: this.oPos += 4; this.iPos += 1; this.fPos += 2; this.bPos += 1; break; case 17: this.fPos += 2; break; case 18: this.fPos += 2; break; case 19: this.oPos += 1; break; case 20: this.oPos += 1; break; case 21:case 22: break; default: } this.prev = openfl__$internal_renderer_DrawCommandType.DRAW_TRIANGLES; var this1 = this; return this1; } ,readEndFill: function() { var _g = this.prev; switch(_g[1]) { case 0: this.oPos += 2; this.bPos += 2; break; case 1: this.iPos += 1; this.fPos += 1; break; case 2: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 3: this.oPos += 1; break; case 4: this.fPos += 6; break; case 5: this.fPos += 4; break; case 6: this.fPos += 3; break; case 7: this.fPos += 4; break; case 8: this.oPos += 3; break; case 9: this.fPos += 4; break; case 10: this.fPos += 5; this.oPos += 1; break; case 12: this.oPos += 4; break; case 13: break; case 14: this.oPos += 2; this.bPos += 2; break; case 15: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 16: this.oPos += 4; this.iPos += 1; this.fPos += 2; this.bPos += 1; break; case 17: this.fPos += 2; break; case 18: this.fPos += 2; break; case 19: this.oPos += 1; break; case 20: this.oPos += 1; break; case 21:case 22: break; default: } this.prev = openfl__$internal_renderer_DrawCommandType.END_FILL; var this1 = this; return this1; } ,readLineBitmapStyle: function() { var _g = this.prev; switch(_g[1]) { case 0: this.oPos += 2; this.bPos += 2; break; case 1: this.iPos += 1; this.fPos += 1; break; case 2: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 3: this.oPos += 1; break; case 4: this.fPos += 6; break; case 5: this.fPos += 4; break; case 6: this.fPos += 3; break; case 7: this.fPos += 4; break; case 8: this.oPos += 3; break; case 9: this.fPos += 4; break; case 10: this.fPos += 5; this.oPos += 1; break; case 12: this.oPos += 4; break; case 13: break; case 14: this.oPos += 2; this.bPos += 2; break; case 15: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 16: this.oPos += 4; this.iPos += 1; this.fPos += 2; this.bPos += 1; break; case 17: this.fPos += 2; break; case 18: this.fPos += 2; break; case 19: this.oPos += 1; break; case 20: this.oPos += 1; break; case 21:case 22: break; default: } this.prev = openfl__$internal_renderer_DrawCommandType.LINE_BITMAP_STYLE; var this1 = this; return this1; } ,readLineGradientStyle: function() { var _g = this.prev; switch(_g[1]) { case 0: this.oPos += 2; this.bPos += 2; break; case 1: this.iPos += 1; this.fPos += 1; break; case 2: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 3: this.oPos += 1; break; case 4: this.fPos += 6; break; case 5: this.fPos += 4; break; case 6: this.fPos += 3; break; case 7: this.fPos += 4; break; case 8: this.oPos += 3; break; case 9: this.fPos += 4; break; case 10: this.fPos += 5; this.oPos += 1; break; case 12: this.oPos += 4; break; case 13: break; case 14: this.oPos += 2; this.bPos += 2; break; case 15: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 16: this.oPos += 4; this.iPos += 1; this.fPos += 2; this.bPos += 1; break; case 17: this.fPos += 2; break; case 18: this.fPos += 2; break; case 19: this.oPos += 1; break; case 20: this.oPos += 1; break; case 21:case 22: break; default: } this.prev = openfl__$internal_renderer_DrawCommandType.LINE_GRADIENT_STYLE; var this1 = this; return this1; } ,readLineStyle: function() { var _g = this.prev; switch(_g[1]) { case 0: this.oPos += 2; this.bPos += 2; break; case 1: this.iPos += 1; this.fPos += 1; break; case 2: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 3: this.oPos += 1; break; case 4: this.fPos += 6; break; case 5: this.fPos += 4; break; case 6: this.fPos += 3; break; case 7: this.fPos += 4; break; case 8: this.oPos += 3; break; case 9: this.fPos += 4; break; case 10: this.fPos += 5; this.oPos += 1; break; case 12: this.oPos += 4; break; case 13: break; case 14: this.oPos += 2; this.bPos += 2; break; case 15: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 16: this.oPos += 4; this.iPos += 1; this.fPos += 2; this.bPos += 1; break; case 17: this.fPos += 2; break; case 18: this.fPos += 2; break; case 19: this.oPos += 1; break; case 20: this.oPos += 1; break; case 21:case 22: break; default: } this.prev = openfl__$internal_renderer_DrawCommandType.LINE_STYLE; var this1 = this; return this1; } ,readLineTo: function() { var _g = this.prev; switch(_g[1]) { case 0: this.oPos += 2; this.bPos += 2; break; case 1: this.iPos += 1; this.fPos += 1; break; case 2: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 3: this.oPos += 1; break; case 4: this.fPos += 6; break; case 5: this.fPos += 4; break; case 6: this.fPos += 3; break; case 7: this.fPos += 4; break; case 8: this.oPos += 3; break; case 9: this.fPos += 4; break; case 10: this.fPos += 5; this.oPos += 1; break; case 12: this.oPos += 4; break; case 13: break; case 14: this.oPos += 2; this.bPos += 2; break; case 15: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 16: this.oPos += 4; this.iPos += 1; this.fPos += 2; this.bPos += 1; break; case 17: this.fPos += 2; break; case 18: this.fPos += 2; break; case 19: this.oPos += 1; break; case 20: this.oPos += 1; break; case 21:case 22: break; default: } this.prev = openfl__$internal_renderer_DrawCommandType.LINE_TO; var this1 = this; return this1; } ,readMoveTo: function() { var _g = this.prev; switch(_g[1]) { case 0: this.oPos += 2; this.bPos += 2; break; case 1: this.iPos += 1; this.fPos += 1; break; case 2: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 3: this.oPos += 1; break; case 4: this.fPos += 6; break; case 5: this.fPos += 4; break; case 6: this.fPos += 3; break; case 7: this.fPos += 4; break; case 8: this.oPos += 3; break; case 9: this.fPos += 4; break; case 10: this.fPos += 5; this.oPos += 1; break; case 12: this.oPos += 4; break; case 13: break; case 14: this.oPos += 2; this.bPos += 2; break; case 15: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 16: this.oPos += 4; this.iPos += 1; this.fPos += 2; this.bPos += 1; break; case 17: this.fPos += 2; break; case 18: this.fPos += 2; break; case 19: this.oPos += 1; break; case 20: this.oPos += 1; break; case 21:case 22: break; default: } this.prev = openfl__$internal_renderer_DrawCommandType.MOVE_TO; var this1 = this; return this1; } ,readOverrideBlendMode: function() { var _g = this.prev; switch(_g[1]) { case 0: this.oPos += 2; this.bPos += 2; break; case 1: this.iPos += 1; this.fPos += 1; break; case 2: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 3: this.oPos += 1; break; case 4: this.fPos += 6; break; case 5: this.fPos += 4; break; case 6: this.fPos += 3; break; case 7: this.fPos += 4; break; case 8: this.oPos += 3; break; case 9: this.fPos += 4; break; case 10: this.fPos += 5; this.oPos += 1; break; case 12: this.oPos += 4; break; case 13: break; case 14: this.oPos += 2; this.bPos += 2; break; case 15: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 16: this.oPos += 4; this.iPos += 1; this.fPos += 2; this.bPos += 1; break; case 17: this.fPos += 2; break; case 18: this.fPos += 2; break; case 19: this.oPos += 1; break; case 20: this.oPos += 1; break; case 21:case 22: break; default: } this.prev = openfl__$internal_renderer_DrawCommandType.OVERRIDE_BLEND_MODE; var this1 = this; return this1; } ,readOverrideMatrix: function() { var _g = this.prev; switch(_g[1]) { case 0: this.oPos += 2; this.bPos += 2; break; case 1: this.iPos += 1; this.fPos += 1; break; case 2: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 3: this.oPos += 1; break; case 4: this.fPos += 6; break; case 5: this.fPos += 4; break; case 6: this.fPos += 3; break; case 7: this.fPos += 4; break; case 8: this.oPos += 3; break; case 9: this.fPos += 4; break; case 10: this.fPos += 5; this.oPos += 1; break; case 12: this.oPos += 4; break; case 13: break; case 14: this.oPos += 2; this.bPos += 2; break; case 15: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 16: this.oPos += 4; this.iPos += 1; this.fPos += 2; this.bPos += 1; break; case 17: this.fPos += 2; break; case 18: this.fPos += 2; break; case 19: this.oPos += 1; break; case 20: this.oPos += 1; break; case 21:case 22: break; default: } this.prev = openfl__$internal_renderer_DrawCommandType.OVERRIDE_MATRIX; var this1 = this; return this1; } ,readWindingEvenOdd: function() { var _g = this.prev; switch(_g[1]) { case 0: this.oPos += 2; this.bPos += 2; break; case 1: this.iPos += 1; this.fPos += 1; break; case 2: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 3: this.oPos += 1; break; case 4: this.fPos += 6; break; case 5: this.fPos += 4; break; case 6: this.fPos += 3; break; case 7: this.fPos += 4; break; case 8: this.oPos += 3; break; case 9: this.fPos += 4; break; case 10: this.fPos += 5; this.oPos += 1; break; case 12: this.oPos += 4; break; case 13: break; case 14: this.oPos += 2; this.bPos += 2; break; case 15: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 16: this.oPos += 4; this.iPos += 1; this.fPos += 2; this.bPos += 1; break; case 17: this.fPos += 2; break; case 18: this.fPos += 2; break; case 19: this.oPos += 1; break; case 20: this.oPos += 1; break; case 21:case 22: break; default: } this.prev = openfl__$internal_renderer_DrawCommandType.WINDING_EVEN_ODD; var this1 = this; return this1; } ,readWindingNonZero: function() { var _g = this.prev; switch(_g[1]) { case 0: this.oPos += 2; this.bPos += 2; break; case 1: this.iPos += 1; this.fPos += 1; break; case 2: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 3: this.oPos += 1; break; case 4: this.fPos += 6; break; case 5: this.fPos += 4; break; case 6: this.fPos += 3; break; case 7: this.fPos += 4; break; case 8: this.oPos += 3; break; case 9: this.fPos += 4; break; case 10: this.fPos += 5; this.oPos += 1; break; case 12: this.oPos += 4; break; case 13: break; case 14: this.oPos += 2; this.bPos += 2; break; case 15: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 16: this.oPos += 4; this.iPos += 1; this.fPos += 2; this.bPos += 1; break; case 17: this.fPos += 2; break; case 18: this.fPos += 2; break; case 19: this.oPos += 1; break; case 20: this.oPos += 1; break; case 21:case 22: break; default: } this.prev = openfl__$internal_renderer_DrawCommandType.WINDING_NON_ZERO; var this1 = this; return this1; } ,reset: function() { this.bPos = this.iPos = this.fPos = this.oPos = this.ffPos = this.iiPos = this.tsPos = 0; } ,skip: function(type) { var _g = this.prev; switch(_g[1]) { case 0: this.oPos += 2; this.bPos += 2; break; case 1: this.iPos += 1; this.fPos += 1; break; case 2: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 3: this.oPos += 1; break; case 4: this.fPos += 6; break; case 5: this.fPos += 4; break; case 6: this.fPos += 3; break; case 7: this.fPos += 4; break; case 8: this.oPos += 3; break; case 9: this.fPos += 4; break; case 10: this.fPos += 5; this.oPos += 1; break; case 12: this.oPos += 4; break; case 13: break; case 14: this.oPos += 2; this.bPos += 2; break; case 15: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 16: this.oPos += 4; this.iPos += 1; this.fPos += 2; this.bPos += 1; break; case 17: this.fPos += 2; break; case 18: this.fPos += 2; break; case 19: this.oPos += 1; break; case 20: this.oPos += 1; break; case 21:case 22: break; default: } this.prev = type; } ,__class__: openfl__$internal_renderer_DrawCommandReader }; var openfl__$internal_renderer__$DrawCommandReader_BeginBitmapFillView_$Impl_$ = {}; $hxClasses["openfl._internal.renderer._DrawCommandReader.BeginBitmapFillView_Impl_"] = openfl__$internal_renderer__$DrawCommandReader_BeginBitmapFillView_$Impl_$; openfl__$internal_renderer__$DrawCommandReader_BeginBitmapFillView_$Impl_$.__name__ = ["openfl","_internal","renderer","_DrawCommandReader","BeginBitmapFillView_Impl_"]; openfl__$internal_renderer__$DrawCommandReader_BeginBitmapFillView_$Impl_$.__properties__ = {get_smooth:"get_smooth",get_repeat:"get_repeat",get_matrix:"get_matrix",get_bitmap:"get_bitmap"}; openfl__$internal_renderer__$DrawCommandReader_BeginBitmapFillView_$Impl_$._new = function(d) { var this1 = d; return this1; }; openfl__$internal_renderer__$DrawCommandReader_BeginBitmapFillView_$Impl_$.get_bitmap = function(this1) { return this1.buffer.o[this1.oPos]; }; openfl__$internal_renderer__$DrawCommandReader_BeginBitmapFillView_$Impl_$.get_matrix = function(this1) { return this1.buffer.o[this1.oPos + 1]; }; openfl__$internal_renderer__$DrawCommandReader_BeginBitmapFillView_$Impl_$.get_repeat = function(this1) { return this1.buffer.b[this1.bPos]; }; openfl__$internal_renderer__$DrawCommandReader_BeginBitmapFillView_$Impl_$.get_smooth = function(this1) { return this1.buffer.b[this1.bPos + 1]; }; var openfl__$internal_renderer__$DrawCommandReader_BeginFillView_$Impl_$ = {}; $hxClasses["openfl._internal.renderer._DrawCommandReader.BeginFillView_Impl_"] = openfl__$internal_renderer__$DrawCommandReader_BeginFillView_$Impl_$; openfl__$internal_renderer__$DrawCommandReader_BeginFillView_$Impl_$.__name__ = ["openfl","_internal","renderer","_DrawCommandReader","BeginFillView_Impl_"]; openfl__$internal_renderer__$DrawCommandReader_BeginFillView_$Impl_$.__properties__ = {get_alpha:"get_alpha",get_color:"get_color"}; openfl__$internal_renderer__$DrawCommandReader_BeginFillView_$Impl_$._new = function(d) { var this1 = d; return this1; }; openfl__$internal_renderer__$DrawCommandReader_BeginFillView_$Impl_$.get_color = function(this1) { return this1.buffer.i[this1.iPos]; }; openfl__$internal_renderer__$DrawCommandReader_BeginFillView_$Impl_$.get_alpha = function(this1) { return this1.buffer.f[this1.fPos]; }; var openfl__$internal_renderer__$DrawCommandReader_BeginGradientFillView_$Impl_$ = {}; $hxClasses["openfl._internal.renderer._DrawCommandReader.BeginGradientFillView_Impl_"] = openfl__$internal_renderer__$DrawCommandReader_BeginGradientFillView_$Impl_$; openfl__$internal_renderer__$DrawCommandReader_BeginGradientFillView_$Impl_$.__name__ = ["openfl","_internal","renderer","_DrawCommandReader","BeginGradientFillView_Impl_"]; openfl__$internal_renderer__$DrawCommandReader_BeginGradientFillView_$Impl_$.__properties__ = {get_focalPointRatio:"get_focalPointRatio",get_interpolationMethod:"get_interpolationMethod",get_spreadMethod:"get_spreadMethod",get_matrix:"get_matrix",get_ratios:"get_ratios",get_alphas:"get_alphas",get_colors:"get_colors",get_type:"get_type"}; openfl__$internal_renderer__$DrawCommandReader_BeginGradientFillView_$Impl_$._new = function(d) { var this1 = d; return this1; }; openfl__$internal_renderer__$DrawCommandReader_BeginGradientFillView_$Impl_$.get_type = function(this1) { return this1.buffer.o[this1.oPos]; }; openfl__$internal_renderer__$DrawCommandReader_BeginGradientFillView_$Impl_$.get_colors = function(this1) { return this1.buffer.ii[this1.iiPos]; }; openfl__$internal_renderer__$DrawCommandReader_BeginGradientFillView_$Impl_$.get_alphas = function(this1) { return this1.buffer.ff[this1.ffPos]; }; openfl__$internal_renderer__$DrawCommandReader_BeginGradientFillView_$Impl_$.get_ratios = function(this1) { return this1.buffer.ii[this1.iiPos + 1]; }; openfl__$internal_renderer__$DrawCommandReader_BeginGradientFillView_$Impl_$.get_matrix = function(this1) { return this1.buffer.o[this1.oPos + 1]; }; openfl__$internal_renderer__$DrawCommandReader_BeginGradientFillView_$Impl_$.get_spreadMethod = function(this1) { return this1.buffer.o[this1.oPos + 2]; }; openfl__$internal_renderer__$DrawCommandReader_BeginGradientFillView_$Impl_$.get_interpolationMethod = function(this1) { return this1.buffer.o[this1.oPos + 3]; }; openfl__$internal_renderer__$DrawCommandReader_BeginGradientFillView_$Impl_$.get_focalPointRatio = function(this1) { return this1.buffer.f[this1.fPos]; }; var openfl__$internal_renderer__$DrawCommandReader_BeginShaderFillView_$Impl_$ = {}; $hxClasses["openfl._internal.renderer._DrawCommandReader.BeginShaderFillView_Impl_"] = openfl__$internal_renderer__$DrawCommandReader_BeginShaderFillView_$Impl_$; openfl__$internal_renderer__$DrawCommandReader_BeginShaderFillView_$Impl_$.__name__ = ["openfl","_internal","renderer","_DrawCommandReader","BeginShaderFillView_Impl_"]; openfl__$internal_renderer__$DrawCommandReader_BeginShaderFillView_$Impl_$.__properties__ = {get_shaderBuffer:"get_shaderBuffer"}; openfl__$internal_renderer__$DrawCommandReader_BeginShaderFillView_$Impl_$._new = function(d) { var this1 = d; return this1; }; openfl__$internal_renderer__$DrawCommandReader_BeginShaderFillView_$Impl_$.get_shaderBuffer = function(this1) { return this1.buffer.o[this1.oPos]; }; var openfl__$internal_renderer__$DrawCommandReader_CubicCurveToView_$Impl_$ = {}; $hxClasses["openfl._internal.renderer._DrawCommandReader.CubicCurveToView_Impl_"] = openfl__$internal_renderer__$DrawCommandReader_CubicCurveToView_$Impl_$; openfl__$internal_renderer__$DrawCommandReader_CubicCurveToView_$Impl_$.__name__ = ["openfl","_internal","renderer","_DrawCommandReader","CubicCurveToView_Impl_"]; openfl__$internal_renderer__$DrawCommandReader_CubicCurveToView_$Impl_$.__properties__ = {get_anchorY:"get_anchorY",get_anchorX:"get_anchorX",get_controlY2:"get_controlY2",get_controlX2:"get_controlX2",get_controlY1:"get_controlY1",get_controlX1:"get_controlX1"}; openfl__$internal_renderer__$DrawCommandReader_CubicCurveToView_$Impl_$._new = function(d) { var this1 = d; return this1; }; openfl__$internal_renderer__$DrawCommandReader_CubicCurveToView_$Impl_$.get_controlX1 = function(this1) { return this1.buffer.f[this1.fPos]; }; openfl__$internal_renderer__$DrawCommandReader_CubicCurveToView_$Impl_$.get_controlY1 = function(this1) { return this1.buffer.f[this1.fPos + 1]; }; openfl__$internal_renderer__$DrawCommandReader_CubicCurveToView_$Impl_$.get_controlX2 = function(this1) { return this1.buffer.f[this1.fPos + 2]; }; openfl__$internal_renderer__$DrawCommandReader_CubicCurveToView_$Impl_$.get_controlY2 = function(this1) { return this1.buffer.f[this1.fPos + 3]; }; openfl__$internal_renderer__$DrawCommandReader_CubicCurveToView_$Impl_$.get_anchorX = function(this1) { return this1.buffer.f[this1.fPos + 4]; }; openfl__$internal_renderer__$DrawCommandReader_CubicCurveToView_$Impl_$.get_anchorY = function(this1) { return this1.buffer.f[this1.fPos + 5]; }; var openfl__$internal_renderer__$DrawCommandReader_CurveToView_$Impl_$ = {}; $hxClasses["openfl._internal.renderer._DrawCommandReader.CurveToView_Impl_"] = openfl__$internal_renderer__$DrawCommandReader_CurveToView_$Impl_$; openfl__$internal_renderer__$DrawCommandReader_CurveToView_$Impl_$.__name__ = ["openfl","_internal","renderer","_DrawCommandReader","CurveToView_Impl_"]; openfl__$internal_renderer__$DrawCommandReader_CurveToView_$Impl_$.__properties__ = {get_anchorY:"get_anchorY",get_anchorX:"get_anchorX",get_controlY:"get_controlY",get_controlX:"get_controlX"}; openfl__$internal_renderer__$DrawCommandReader_CurveToView_$Impl_$._new = function(d) { var this1 = d; return this1; }; openfl__$internal_renderer__$DrawCommandReader_CurveToView_$Impl_$.get_controlX = function(this1) { return this1.buffer.f[this1.fPos]; }; openfl__$internal_renderer__$DrawCommandReader_CurveToView_$Impl_$.get_controlY = function(this1) { return this1.buffer.f[this1.fPos + 1]; }; openfl__$internal_renderer__$DrawCommandReader_CurveToView_$Impl_$.get_anchorX = function(this1) { return this1.buffer.f[this1.fPos + 2]; }; openfl__$internal_renderer__$DrawCommandReader_CurveToView_$Impl_$.get_anchorY = function(this1) { return this1.buffer.f[this1.fPos + 3]; }; var openfl__$internal_renderer__$DrawCommandReader_DrawCircleView_$Impl_$ = {}; $hxClasses["openfl._internal.renderer._DrawCommandReader.DrawCircleView_Impl_"] = openfl__$internal_renderer__$DrawCommandReader_DrawCircleView_$Impl_$; openfl__$internal_renderer__$DrawCommandReader_DrawCircleView_$Impl_$.__name__ = ["openfl","_internal","renderer","_DrawCommandReader","DrawCircleView_Impl_"]; openfl__$internal_renderer__$DrawCommandReader_DrawCircleView_$Impl_$.__properties__ = {get_radius:"get_radius",get_y:"get_y",get_x:"get_x"}; openfl__$internal_renderer__$DrawCommandReader_DrawCircleView_$Impl_$._new = function(d) { var this1 = d; return this1; }; openfl__$internal_renderer__$DrawCommandReader_DrawCircleView_$Impl_$.get_x = function(this1) { return this1.buffer.f[this1.fPos]; }; openfl__$internal_renderer__$DrawCommandReader_DrawCircleView_$Impl_$.get_y = function(this1) { return this1.buffer.f[this1.fPos + 1]; }; openfl__$internal_renderer__$DrawCommandReader_DrawCircleView_$Impl_$.get_radius = function(this1) { return this1.buffer.f[this1.fPos + 2]; }; var openfl__$internal_renderer__$DrawCommandReader_DrawEllipseView_$Impl_$ = {}; $hxClasses["openfl._internal.renderer._DrawCommandReader.DrawEllipseView_Impl_"] = openfl__$internal_renderer__$DrawCommandReader_DrawEllipseView_$Impl_$; openfl__$internal_renderer__$DrawCommandReader_DrawEllipseView_$Impl_$.__name__ = ["openfl","_internal","renderer","_DrawCommandReader","DrawEllipseView_Impl_"]; openfl__$internal_renderer__$DrawCommandReader_DrawEllipseView_$Impl_$.__properties__ = {get_height:"get_height",get_width:"get_width",get_y:"get_y",get_x:"get_x"}; openfl__$internal_renderer__$DrawCommandReader_DrawEllipseView_$Impl_$._new = function(d) { var this1 = d; return this1; }; openfl__$internal_renderer__$DrawCommandReader_DrawEllipseView_$Impl_$.get_x = function(this1) { return this1.buffer.f[this1.fPos]; }; openfl__$internal_renderer__$DrawCommandReader_DrawEllipseView_$Impl_$.get_y = function(this1) { return this1.buffer.f[this1.fPos + 1]; }; openfl__$internal_renderer__$DrawCommandReader_DrawEllipseView_$Impl_$.get_width = function(this1) { return this1.buffer.f[this1.fPos + 2]; }; openfl__$internal_renderer__$DrawCommandReader_DrawEllipseView_$Impl_$.get_height = function(this1) { return this1.buffer.f[this1.fPos + 3]; }; var openfl__$internal_renderer__$DrawCommandReader_DrawQuadsView_$Impl_$ = {}; $hxClasses["openfl._internal.renderer._DrawCommandReader.DrawQuadsView_Impl_"] = openfl__$internal_renderer__$DrawCommandReader_DrawQuadsView_$Impl_$; openfl__$internal_renderer__$DrawCommandReader_DrawQuadsView_$Impl_$.__name__ = ["openfl","_internal","renderer","_DrawCommandReader","DrawQuadsView_Impl_"]; openfl__$internal_renderer__$DrawCommandReader_DrawQuadsView_$Impl_$.__properties__ = {get_transforms:"get_transforms",get_indices:"get_indices",get_rects:"get_rects"}; openfl__$internal_renderer__$DrawCommandReader_DrawQuadsView_$Impl_$._new = function(d) { var this1 = d; return this1; }; openfl__$internal_renderer__$DrawCommandReader_DrawQuadsView_$Impl_$.get_rects = function(this1) { return this1.buffer.o[this1.oPos]; }; openfl__$internal_renderer__$DrawCommandReader_DrawQuadsView_$Impl_$.get_indices = function(this1) { return this1.buffer.o[this1.oPos + 1]; }; openfl__$internal_renderer__$DrawCommandReader_DrawQuadsView_$Impl_$.get_transforms = function(this1) { return this1.buffer.o[this1.oPos + 2]; }; var openfl__$internal_renderer__$DrawCommandReader_DrawRectView_$Impl_$ = {}; $hxClasses["openfl._internal.renderer._DrawCommandReader.DrawRectView_Impl_"] = openfl__$internal_renderer__$DrawCommandReader_DrawRectView_$Impl_$; openfl__$internal_renderer__$DrawCommandReader_DrawRectView_$Impl_$.__name__ = ["openfl","_internal","renderer","_DrawCommandReader","DrawRectView_Impl_"]; openfl__$internal_renderer__$DrawCommandReader_DrawRectView_$Impl_$.__properties__ = {get_height:"get_height",get_width:"get_width",get_y:"get_y",get_x:"get_x"}; openfl__$internal_renderer__$DrawCommandReader_DrawRectView_$Impl_$._new = function(d) { var this1 = d; return this1; }; openfl__$internal_renderer__$DrawCommandReader_DrawRectView_$Impl_$.get_x = function(this1) { return this1.buffer.f[this1.fPos]; }; openfl__$internal_renderer__$DrawCommandReader_DrawRectView_$Impl_$.get_y = function(this1) { return this1.buffer.f[this1.fPos + 1]; }; openfl__$internal_renderer__$DrawCommandReader_DrawRectView_$Impl_$.get_width = function(this1) { return this1.buffer.f[this1.fPos + 2]; }; openfl__$internal_renderer__$DrawCommandReader_DrawRectView_$Impl_$.get_height = function(this1) { return this1.buffer.f[this1.fPos + 3]; }; var openfl__$internal_renderer__$DrawCommandReader_DrawRoundRectView_$Impl_$ = {}; $hxClasses["openfl._internal.renderer._DrawCommandReader.DrawRoundRectView_Impl_"] = openfl__$internal_renderer__$DrawCommandReader_DrawRoundRectView_$Impl_$; openfl__$internal_renderer__$DrawCommandReader_DrawRoundRectView_$Impl_$.__name__ = ["openfl","_internal","renderer","_DrawCommandReader","DrawRoundRectView_Impl_"]; openfl__$internal_renderer__$DrawCommandReader_DrawRoundRectView_$Impl_$.__properties__ = {get_ellipseHeight:"get_ellipseHeight",get_ellipseWidth:"get_ellipseWidth",get_height:"get_height",get_width:"get_width",get_y:"get_y",get_x:"get_x"}; openfl__$internal_renderer__$DrawCommandReader_DrawRoundRectView_$Impl_$._new = function(d) { var this1 = d; return this1; }; openfl__$internal_renderer__$DrawCommandReader_DrawRoundRectView_$Impl_$.get_x = function(this1) { return this1.buffer.f[this1.fPos]; }; openfl__$internal_renderer__$DrawCommandReader_DrawRoundRectView_$Impl_$.get_y = function(this1) { return this1.buffer.f[this1.fPos + 1]; }; openfl__$internal_renderer__$DrawCommandReader_DrawRoundRectView_$Impl_$.get_width = function(this1) { return this1.buffer.f[this1.fPos + 2]; }; openfl__$internal_renderer__$DrawCommandReader_DrawRoundRectView_$Impl_$.get_height = function(this1) { return this1.buffer.f[this1.fPos + 3]; }; openfl__$internal_renderer__$DrawCommandReader_DrawRoundRectView_$Impl_$.get_ellipseWidth = function(this1) { return this1.buffer.f[this1.fPos + 4]; }; openfl__$internal_renderer__$DrawCommandReader_DrawRoundRectView_$Impl_$.get_ellipseHeight = function(this1) { return this1.buffer.o[this1.oPos]; }; var openfl__$internal_renderer__$DrawCommandReader_DrawTrianglesView_$Impl_$ = {}; $hxClasses["openfl._internal.renderer._DrawCommandReader.DrawTrianglesView_Impl_"] = openfl__$internal_renderer__$DrawCommandReader_DrawTrianglesView_$Impl_$; openfl__$internal_renderer__$DrawCommandReader_DrawTrianglesView_$Impl_$.__name__ = ["openfl","_internal","renderer","_DrawCommandReader","DrawTrianglesView_Impl_"]; openfl__$internal_renderer__$DrawCommandReader_DrawTrianglesView_$Impl_$.__properties__ = {get_culling:"get_culling",get_uvtData:"get_uvtData",get_indices:"get_indices",get_vertices:"get_vertices"}; openfl__$internal_renderer__$DrawCommandReader_DrawTrianglesView_$Impl_$._new = function(d) { var this1 = d; return this1; }; openfl__$internal_renderer__$DrawCommandReader_DrawTrianglesView_$Impl_$.get_vertices = function(this1) { return this1.buffer.o[this1.oPos]; }; openfl__$internal_renderer__$DrawCommandReader_DrawTrianglesView_$Impl_$.get_indices = function(this1) { return this1.buffer.o[this1.oPos + 1]; }; openfl__$internal_renderer__$DrawCommandReader_DrawTrianglesView_$Impl_$.get_uvtData = function(this1) { return this1.buffer.o[this1.oPos + 2]; }; openfl__$internal_renderer__$DrawCommandReader_DrawTrianglesView_$Impl_$.get_culling = function(this1) { return this1.buffer.o[this1.oPos + 3]; }; var openfl__$internal_renderer__$DrawCommandReader_EndFillView_$Impl_$ = {}; $hxClasses["openfl._internal.renderer._DrawCommandReader.EndFillView_Impl_"] = openfl__$internal_renderer__$DrawCommandReader_EndFillView_$Impl_$; openfl__$internal_renderer__$DrawCommandReader_EndFillView_$Impl_$.__name__ = ["openfl","_internal","renderer","_DrawCommandReader","EndFillView_Impl_"]; openfl__$internal_renderer__$DrawCommandReader_EndFillView_$Impl_$._new = function(d) { var this1 = d; return this1; }; var openfl__$internal_renderer__$DrawCommandReader_LineBitmapStyleView_$Impl_$ = {}; $hxClasses["openfl._internal.renderer._DrawCommandReader.LineBitmapStyleView_Impl_"] = openfl__$internal_renderer__$DrawCommandReader_LineBitmapStyleView_$Impl_$; openfl__$internal_renderer__$DrawCommandReader_LineBitmapStyleView_$Impl_$.__name__ = ["openfl","_internal","renderer","_DrawCommandReader","LineBitmapStyleView_Impl_"]; openfl__$internal_renderer__$DrawCommandReader_LineBitmapStyleView_$Impl_$.__properties__ = {get_smooth:"get_smooth",get_repeat:"get_repeat",get_matrix:"get_matrix",get_bitmap:"get_bitmap"}; openfl__$internal_renderer__$DrawCommandReader_LineBitmapStyleView_$Impl_$._new = function(d) { var this1 = d; return this1; }; openfl__$internal_renderer__$DrawCommandReader_LineBitmapStyleView_$Impl_$.get_bitmap = function(this1) { return this1.buffer.o[this1.oPos]; }; openfl__$internal_renderer__$DrawCommandReader_LineBitmapStyleView_$Impl_$.get_matrix = function(this1) { return this1.buffer.o[this1.oPos + 1]; }; openfl__$internal_renderer__$DrawCommandReader_LineBitmapStyleView_$Impl_$.get_repeat = function(this1) { return this1.buffer.b[this1.bPos]; }; openfl__$internal_renderer__$DrawCommandReader_LineBitmapStyleView_$Impl_$.get_smooth = function(this1) { return this1.buffer.b[this1.bPos + 1]; }; var openfl__$internal_renderer__$DrawCommandReader_LineGradientStyleView_$Impl_$ = {}; $hxClasses["openfl._internal.renderer._DrawCommandReader.LineGradientStyleView_Impl_"] = openfl__$internal_renderer__$DrawCommandReader_LineGradientStyleView_$Impl_$; openfl__$internal_renderer__$DrawCommandReader_LineGradientStyleView_$Impl_$.__name__ = ["openfl","_internal","renderer","_DrawCommandReader","LineGradientStyleView_Impl_"]; openfl__$internal_renderer__$DrawCommandReader_LineGradientStyleView_$Impl_$.__properties__ = {get_focalPointRatio:"get_focalPointRatio",get_interpolationMethod:"get_interpolationMethod",get_spreadMethod:"get_spreadMethod",get_matrix:"get_matrix",get_ratios:"get_ratios",get_alphas:"get_alphas",get_colors:"get_colors",get_type:"get_type"}; openfl__$internal_renderer__$DrawCommandReader_LineGradientStyleView_$Impl_$._new = function(d) { var this1 = d; return this1; }; openfl__$internal_renderer__$DrawCommandReader_LineGradientStyleView_$Impl_$.get_type = function(this1) { return this1.buffer.o[this1.oPos]; }; openfl__$internal_renderer__$DrawCommandReader_LineGradientStyleView_$Impl_$.get_colors = function(this1) { return this1.buffer.ii[this1.iiPos]; }; openfl__$internal_renderer__$DrawCommandReader_LineGradientStyleView_$Impl_$.get_alphas = function(this1) { return this1.buffer.ff[this1.ffPos]; }; openfl__$internal_renderer__$DrawCommandReader_LineGradientStyleView_$Impl_$.get_ratios = function(this1) { return this1.buffer.ii[this1.iiPos + 1]; }; openfl__$internal_renderer__$DrawCommandReader_LineGradientStyleView_$Impl_$.get_matrix = function(this1) { return this1.buffer.o[this1.oPos + 1]; }; openfl__$internal_renderer__$DrawCommandReader_LineGradientStyleView_$Impl_$.get_spreadMethod = function(this1) { return this1.buffer.o[this1.oPos + 2]; }; openfl__$internal_renderer__$DrawCommandReader_LineGradientStyleView_$Impl_$.get_interpolationMethod = function(this1) { return this1.buffer.o[this1.oPos + 3]; }; openfl__$internal_renderer__$DrawCommandReader_LineGradientStyleView_$Impl_$.get_focalPointRatio = function(this1) { return this1.buffer.f[this1.fPos]; }; var openfl__$internal_renderer__$DrawCommandReader_LineStyleView_$Impl_$ = {}; $hxClasses["openfl._internal.renderer._DrawCommandReader.LineStyleView_Impl_"] = openfl__$internal_renderer__$DrawCommandReader_LineStyleView_$Impl_$; openfl__$internal_renderer__$DrawCommandReader_LineStyleView_$Impl_$.__name__ = ["openfl","_internal","renderer","_DrawCommandReader","LineStyleView_Impl_"]; openfl__$internal_renderer__$DrawCommandReader_LineStyleView_$Impl_$.__properties__ = {get_miterLimit:"get_miterLimit",get_joints:"get_joints",get_caps:"get_caps",get_scaleMode:"get_scaleMode",get_pixelHinting:"get_pixelHinting",get_alpha:"get_alpha",get_color:"get_color",get_thickness:"get_thickness"}; openfl__$internal_renderer__$DrawCommandReader_LineStyleView_$Impl_$._new = function(d) { var this1 = d; return this1; }; openfl__$internal_renderer__$DrawCommandReader_LineStyleView_$Impl_$.get_thickness = function(this1) { return this1.buffer.o[this1.oPos]; }; openfl__$internal_renderer__$DrawCommandReader_LineStyleView_$Impl_$.get_color = function(this1) { return this1.buffer.i[this1.iPos]; }; openfl__$internal_renderer__$DrawCommandReader_LineStyleView_$Impl_$.get_alpha = function(this1) { return this1.buffer.f[this1.fPos]; }; openfl__$internal_renderer__$DrawCommandReader_LineStyleView_$Impl_$.get_pixelHinting = function(this1) { return this1.buffer.b[this1.bPos]; }; openfl__$internal_renderer__$DrawCommandReader_LineStyleView_$Impl_$.get_scaleMode = function(this1) { return this1.buffer.o[this1.oPos + 1]; }; openfl__$internal_renderer__$DrawCommandReader_LineStyleView_$Impl_$.get_caps = function(this1) { return this1.buffer.o[this1.oPos + 2]; }; openfl__$internal_renderer__$DrawCommandReader_LineStyleView_$Impl_$.get_joints = function(this1) { return this1.buffer.o[this1.oPos + 3]; }; openfl__$internal_renderer__$DrawCommandReader_LineStyleView_$Impl_$.get_miterLimit = function(this1) { return this1.buffer.f[this1.fPos + 1]; }; var openfl__$internal_renderer__$DrawCommandReader_LineToView_$Impl_$ = {}; $hxClasses["openfl._internal.renderer._DrawCommandReader.LineToView_Impl_"] = openfl__$internal_renderer__$DrawCommandReader_LineToView_$Impl_$; openfl__$internal_renderer__$DrawCommandReader_LineToView_$Impl_$.__name__ = ["openfl","_internal","renderer","_DrawCommandReader","LineToView_Impl_"]; openfl__$internal_renderer__$DrawCommandReader_LineToView_$Impl_$.__properties__ = {get_y:"get_y",get_x:"get_x"}; openfl__$internal_renderer__$DrawCommandReader_LineToView_$Impl_$._new = function(d) { var this1 = d; return this1; }; openfl__$internal_renderer__$DrawCommandReader_LineToView_$Impl_$.get_x = function(this1) { return this1.buffer.f[this1.fPos]; }; openfl__$internal_renderer__$DrawCommandReader_LineToView_$Impl_$.get_y = function(this1) { return this1.buffer.f[this1.fPos + 1]; }; var openfl__$internal_renderer__$DrawCommandReader_MoveToView_$Impl_$ = {}; $hxClasses["openfl._internal.renderer._DrawCommandReader.MoveToView_Impl_"] = openfl__$internal_renderer__$DrawCommandReader_MoveToView_$Impl_$; openfl__$internal_renderer__$DrawCommandReader_MoveToView_$Impl_$.__name__ = ["openfl","_internal","renderer","_DrawCommandReader","MoveToView_Impl_"]; openfl__$internal_renderer__$DrawCommandReader_MoveToView_$Impl_$.__properties__ = {get_y:"get_y",get_x:"get_x"}; openfl__$internal_renderer__$DrawCommandReader_MoveToView_$Impl_$._new = function(d) { var this1 = d; return this1; }; openfl__$internal_renderer__$DrawCommandReader_MoveToView_$Impl_$.get_x = function(this1) { return this1.buffer.f[this1.fPos]; }; openfl__$internal_renderer__$DrawCommandReader_MoveToView_$Impl_$.get_y = function(this1) { return this1.buffer.f[this1.fPos + 1]; }; var openfl__$internal_renderer__$DrawCommandReader_OverrideBlendModeView_$Impl_$ = {}; $hxClasses["openfl._internal.renderer._DrawCommandReader.OverrideBlendModeView_Impl_"] = openfl__$internal_renderer__$DrawCommandReader_OverrideBlendModeView_$Impl_$; openfl__$internal_renderer__$DrawCommandReader_OverrideBlendModeView_$Impl_$.__name__ = ["openfl","_internal","renderer","_DrawCommandReader","OverrideBlendModeView_Impl_"]; openfl__$internal_renderer__$DrawCommandReader_OverrideBlendModeView_$Impl_$.__properties__ = {get_blendMode:"get_blendMode"}; openfl__$internal_renderer__$DrawCommandReader_OverrideBlendModeView_$Impl_$._new = function(d) { var this1 = d; return this1; }; openfl__$internal_renderer__$DrawCommandReader_OverrideBlendModeView_$Impl_$.get_blendMode = function(this1) { return this1.buffer.o[this1.oPos]; }; var openfl__$internal_renderer__$DrawCommandReader_OverrideMatrixView_$Impl_$ = {}; $hxClasses["openfl._internal.renderer._DrawCommandReader.OverrideMatrixView_Impl_"] = openfl__$internal_renderer__$DrawCommandReader_OverrideMatrixView_$Impl_$; openfl__$internal_renderer__$DrawCommandReader_OverrideMatrixView_$Impl_$.__name__ = ["openfl","_internal","renderer","_DrawCommandReader","OverrideMatrixView_Impl_"]; openfl__$internal_renderer__$DrawCommandReader_OverrideMatrixView_$Impl_$.__properties__ = {get_matrix:"get_matrix"}; openfl__$internal_renderer__$DrawCommandReader_OverrideMatrixView_$Impl_$._new = function(d) { var this1 = d; return this1; }; openfl__$internal_renderer__$DrawCommandReader_OverrideMatrixView_$Impl_$.get_matrix = function(this1) { return this1.buffer.o[this1.oPos]; }; var openfl__$internal_renderer__$DrawCommandReader_WindingEvenOddView_$Impl_$ = {}; $hxClasses["openfl._internal.renderer._DrawCommandReader.WindingEvenOddView_Impl_"] = openfl__$internal_renderer__$DrawCommandReader_WindingEvenOddView_$Impl_$; openfl__$internal_renderer__$DrawCommandReader_WindingEvenOddView_$Impl_$.__name__ = ["openfl","_internal","renderer","_DrawCommandReader","WindingEvenOddView_Impl_"]; openfl__$internal_renderer__$DrawCommandReader_WindingEvenOddView_$Impl_$._new = function(d) { var this1 = d; return this1; }; var openfl__$internal_renderer__$DrawCommandReader_WindingNonZeroView_$Impl_$ = {}; $hxClasses["openfl._internal.renderer._DrawCommandReader.WindingNonZeroView_Impl_"] = openfl__$internal_renderer__$DrawCommandReader_WindingNonZeroView_$Impl_$; openfl__$internal_renderer__$DrawCommandReader_WindingNonZeroView_$Impl_$.__name__ = ["openfl","_internal","renderer","_DrawCommandReader","WindingNonZeroView_Impl_"]; openfl__$internal_renderer__$DrawCommandReader_WindingNonZeroView_$Impl_$._new = function(d) { var this1 = d; return this1; }; var openfl__$internal_renderer_DrawCommandType = $hxClasses["openfl._internal.renderer.DrawCommandType"] = { __ename__ : ["openfl","_internal","renderer","DrawCommandType"], __constructs__ : ["BEGIN_BITMAP_FILL","BEGIN_FILL","BEGIN_GRADIENT_FILL","BEGIN_SHADER_FILL","CUBIC_CURVE_TO","CURVE_TO","DRAW_CIRCLE","DRAW_ELLIPSE","DRAW_QUADS","DRAW_RECT","DRAW_ROUND_RECT","DRAW_TILES","DRAW_TRIANGLES","END_FILL","LINE_BITMAP_STYLE","LINE_GRADIENT_STYLE","LINE_STYLE","LINE_TO","MOVE_TO","OVERRIDE_BLEND_MODE","OVERRIDE_MATRIX","WINDING_EVEN_ODD","WINDING_NON_ZERO","UNKNOWN"] }; openfl__$internal_renderer_DrawCommandType.BEGIN_BITMAP_FILL = ["BEGIN_BITMAP_FILL",0]; openfl__$internal_renderer_DrawCommandType.BEGIN_BITMAP_FILL.toString = $estr; openfl__$internal_renderer_DrawCommandType.BEGIN_BITMAP_FILL.__enum__ = openfl__$internal_renderer_DrawCommandType; openfl__$internal_renderer_DrawCommandType.BEGIN_FILL = ["BEGIN_FILL",1]; openfl__$internal_renderer_DrawCommandType.BEGIN_FILL.toString = $estr; openfl__$internal_renderer_DrawCommandType.BEGIN_FILL.__enum__ = openfl__$internal_renderer_DrawCommandType; openfl__$internal_renderer_DrawCommandType.BEGIN_GRADIENT_FILL = ["BEGIN_GRADIENT_FILL",2]; openfl__$internal_renderer_DrawCommandType.BEGIN_GRADIENT_FILL.toString = $estr; openfl__$internal_renderer_DrawCommandType.BEGIN_GRADIENT_FILL.__enum__ = openfl__$internal_renderer_DrawCommandType; openfl__$internal_renderer_DrawCommandType.BEGIN_SHADER_FILL = ["BEGIN_SHADER_FILL",3]; openfl__$internal_renderer_DrawCommandType.BEGIN_SHADER_FILL.toString = $estr; openfl__$internal_renderer_DrawCommandType.BEGIN_SHADER_FILL.__enum__ = openfl__$internal_renderer_DrawCommandType; openfl__$internal_renderer_DrawCommandType.CUBIC_CURVE_TO = ["CUBIC_CURVE_TO",4]; openfl__$internal_renderer_DrawCommandType.CUBIC_CURVE_TO.toString = $estr; openfl__$internal_renderer_DrawCommandType.CUBIC_CURVE_TO.__enum__ = openfl__$internal_renderer_DrawCommandType; openfl__$internal_renderer_DrawCommandType.CURVE_TO = ["CURVE_TO",5]; openfl__$internal_renderer_DrawCommandType.CURVE_TO.toString = $estr; openfl__$internal_renderer_DrawCommandType.CURVE_TO.__enum__ = openfl__$internal_renderer_DrawCommandType; openfl__$internal_renderer_DrawCommandType.DRAW_CIRCLE = ["DRAW_CIRCLE",6]; openfl__$internal_renderer_DrawCommandType.DRAW_CIRCLE.toString = $estr; openfl__$internal_renderer_DrawCommandType.DRAW_CIRCLE.__enum__ = openfl__$internal_renderer_DrawCommandType; openfl__$internal_renderer_DrawCommandType.DRAW_ELLIPSE = ["DRAW_ELLIPSE",7]; openfl__$internal_renderer_DrawCommandType.DRAW_ELLIPSE.toString = $estr; openfl__$internal_renderer_DrawCommandType.DRAW_ELLIPSE.__enum__ = openfl__$internal_renderer_DrawCommandType; openfl__$internal_renderer_DrawCommandType.DRAW_QUADS = ["DRAW_QUADS",8]; openfl__$internal_renderer_DrawCommandType.DRAW_QUADS.toString = $estr; openfl__$internal_renderer_DrawCommandType.DRAW_QUADS.__enum__ = openfl__$internal_renderer_DrawCommandType; openfl__$internal_renderer_DrawCommandType.DRAW_RECT = ["DRAW_RECT",9]; openfl__$internal_renderer_DrawCommandType.DRAW_RECT.toString = $estr; openfl__$internal_renderer_DrawCommandType.DRAW_RECT.__enum__ = openfl__$internal_renderer_DrawCommandType; openfl__$internal_renderer_DrawCommandType.DRAW_ROUND_RECT = ["DRAW_ROUND_RECT",10]; openfl__$internal_renderer_DrawCommandType.DRAW_ROUND_RECT.toString = $estr; openfl__$internal_renderer_DrawCommandType.DRAW_ROUND_RECT.__enum__ = openfl__$internal_renderer_DrawCommandType; openfl__$internal_renderer_DrawCommandType.DRAW_TILES = ["DRAW_TILES",11]; openfl__$internal_renderer_DrawCommandType.DRAW_TILES.toString = $estr; openfl__$internal_renderer_DrawCommandType.DRAW_TILES.__enum__ = openfl__$internal_renderer_DrawCommandType; openfl__$internal_renderer_DrawCommandType.DRAW_TRIANGLES = ["DRAW_TRIANGLES",12]; openfl__$internal_renderer_DrawCommandType.DRAW_TRIANGLES.toString = $estr; openfl__$internal_renderer_DrawCommandType.DRAW_TRIANGLES.__enum__ = openfl__$internal_renderer_DrawCommandType; openfl__$internal_renderer_DrawCommandType.END_FILL = ["END_FILL",13]; openfl__$internal_renderer_DrawCommandType.END_FILL.toString = $estr; openfl__$internal_renderer_DrawCommandType.END_FILL.__enum__ = openfl__$internal_renderer_DrawCommandType; openfl__$internal_renderer_DrawCommandType.LINE_BITMAP_STYLE = ["LINE_BITMAP_STYLE",14]; openfl__$internal_renderer_DrawCommandType.LINE_BITMAP_STYLE.toString = $estr; openfl__$internal_renderer_DrawCommandType.LINE_BITMAP_STYLE.__enum__ = openfl__$internal_renderer_DrawCommandType; openfl__$internal_renderer_DrawCommandType.LINE_GRADIENT_STYLE = ["LINE_GRADIENT_STYLE",15]; openfl__$internal_renderer_DrawCommandType.LINE_GRADIENT_STYLE.toString = $estr; openfl__$internal_renderer_DrawCommandType.LINE_GRADIENT_STYLE.__enum__ = openfl__$internal_renderer_DrawCommandType; openfl__$internal_renderer_DrawCommandType.LINE_STYLE = ["LINE_STYLE",16]; openfl__$internal_renderer_DrawCommandType.LINE_STYLE.toString = $estr; openfl__$internal_renderer_DrawCommandType.LINE_STYLE.__enum__ = openfl__$internal_renderer_DrawCommandType; openfl__$internal_renderer_DrawCommandType.LINE_TO = ["LINE_TO",17]; openfl__$internal_renderer_DrawCommandType.LINE_TO.toString = $estr; openfl__$internal_renderer_DrawCommandType.LINE_TO.__enum__ = openfl__$internal_renderer_DrawCommandType; openfl__$internal_renderer_DrawCommandType.MOVE_TO = ["MOVE_TO",18]; openfl__$internal_renderer_DrawCommandType.MOVE_TO.toString = $estr; openfl__$internal_renderer_DrawCommandType.MOVE_TO.__enum__ = openfl__$internal_renderer_DrawCommandType; openfl__$internal_renderer_DrawCommandType.OVERRIDE_BLEND_MODE = ["OVERRIDE_BLEND_MODE",19]; openfl__$internal_renderer_DrawCommandType.OVERRIDE_BLEND_MODE.toString = $estr; openfl__$internal_renderer_DrawCommandType.OVERRIDE_BLEND_MODE.__enum__ = openfl__$internal_renderer_DrawCommandType; openfl__$internal_renderer_DrawCommandType.OVERRIDE_MATRIX = ["OVERRIDE_MATRIX",20]; openfl__$internal_renderer_DrawCommandType.OVERRIDE_MATRIX.toString = $estr; openfl__$internal_renderer_DrawCommandType.OVERRIDE_MATRIX.__enum__ = openfl__$internal_renderer_DrawCommandType; openfl__$internal_renderer_DrawCommandType.WINDING_EVEN_ODD = ["WINDING_EVEN_ODD",21]; openfl__$internal_renderer_DrawCommandType.WINDING_EVEN_ODD.toString = $estr; openfl__$internal_renderer_DrawCommandType.WINDING_EVEN_ODD.__enum__ = openfl__$internal_renderer_DrawCommandType; openfl__$internal_renderer_DrawCommandType.WINDING_NON_ZERO = ["WINDING_NON_ZERO",22]; openfl__$internal_renderer_DrawCommandType.WINDING_NON_ZERO.toString = $estr; openfl__$internal_renderer_DrawCommandType.WINDING_NON_ZERO.__enum__ = openfl__$internal_renderer_DrawCommandType; openfl__$internal_renderer_DrawCommandType.UNKNOWN = ["UNKNOWN",23]; openfl__$internal_renderer_DrawCommandType.UNKNOWN.toString = $estr; openfl__$internal_renderer_DrawCommandType.UNKNOWN.__enum__ = openfl__$internal_renderer_DrawCommandType; var openfl__$internal_renderer_SamplerState = function(wrap,filter,mipfilter,lodBias,ignoreSampler,centroid,textureAlpha) { if(textureAlpha == null) { textureAlpha = false; } if(centroid == null) { centroid = false; } if(ignoreSampler == null) { ignoreSampler = false; } if(lodBias == null) { lodBias = 0.0; } if(mipfilter == null) { mipfilter = 2; } if(filter == null) { filter = 5; } if(wrap == null) { wrap = 0; } this.wrap = wrap; this.filter = filter; this.mipfilter = mipfilter; this.lodBias = lodBias; this.ignoreSampler = ignoreSampler; this.centroid = centroid; this.textureAlpha = textureAlpha; }; $hxClasses["openfl._internal.renderer.SamplerState"] = openfl__$internal_renderer_SamplerState; openfl__$internal_renderer_SamplerState.__name__ = ["openfl","_internal","renderer","SamplerState"]; openfl__$internal_renderer_SamplerState.prototype = { centroid: null ,filter: null ,ignoreSampler: null ,lodBias: null ,mipfilter: null ,mipmapGenerated: null ,textureAlpha: null ,wrap: null ,clone: function() { var copy = new openfl__$internal_renderer_SamplerState(this.wrap,this.filter,this.mipfilter,this.lodBias,this.ignoreSampler,this.centroid,this.textureAlpha); copy.mipmapGenerated = this.mipmapGenerated; return copy; } ,copyFrom: function(other) { if(other == null || other.ignoreSampler) { return; } this.wrap = other.wrap; this.filter = other.filter; this.mipfilter = other.mipfilter; this.lodBias = other.lodBias; this.centroid = other.centroid; this.textureAlpha = other.textureAlpha; } ,equals: function(other) { if(other == null) { return false; } if(this.wrap == other.wrap && this.filter == other.filter && this.mipfilter == other.mipfilter && this.lodBias == other.lodBias) { return this.textureAlpha == other.textureAlpha; } else { return false; } } ,__class__: openfl__$internal_renderer_SamplerState }; var openfl__$internal_renderer_ShaderBuffer = function() { this.inputRefs = []; this.inputFilter = []; this.inputMipFilter = []; this.inputs = []; this.inputWrap = []; this.overrideIntNames = []; this.overrideIntValues = []; this.overrideFloatNames = []; this.overrideFloatValues = []; this.overrideBoolNames = []; this.overrideBoolValues = []; this.paramLengths = []; this.paramPositions = []; this.paramRefs_Bool = []; this.paramRefs_Float = []; this.paramRefs_Int = []; this.paramTypes = []; }; $hxClasses["openfl._internal.renderer.ShaderBuffer"] = openfl__$internal_renderer_ShaderBuffer; openfl__$internal_renderer_ShaderBuffer.__name__ = ["openfl","_internal","renderer","ShaderBuffer"]; openfl__$internal_renderer_ShaderBuffer.prototype = { inputCount: null ,inputRefs: null ,inputFilter: null ,inputMipFilter: null ,inputs: null ,inputWrap: null ,overrideBoolCount: null ,overrideBoolNames: null ,overrideBoolValues: null ,overrideFloatCount: null ,overrideFloatNames: null ,overrideFloatValues: null ,overrideIntCount: null ,overrideIntNames: null ,overrideIntValues: null ,paramBoolCount: null ,paramCount: null ,paramData: null ,paramDataBuffer: null ,paramDataLength: null ,paramFloatCount: null ,paramIntCount: null ,paramLengths: null ,paramPositions: null ,paramRefs_Bool: null ,paramRefs_Float: null ,paramRefs_Int: null ,paramTypes: null ,shader: null ,addBoolOverride: function(name,values) { this.overrideBoolNames[this.overrideBoolCount] = name; this.overrideBoolValues[this.overrideBoolCount] = values; this.overrideBoolCount++; } ,addFloatOverride: function(name,values) { this.overrideFloatNames[this.overrideFloatCount] = name; this.overrideFloatValues[this.overrideFloatCount] = values; this.overrideFloatCount++; } ,addIntOverride: function(name,values) { this.overrideIntNames[this.overrideIntCount] = name; this.overrideIntValues[this.overrideIntCount] = values; this.overrideIntCount++; } ,clearOverride: function() { this.overrideIntCount = 0; this.overrideFloatCount = 0; this.overrideBoolCount = 0; } ,update: function(shader) { this.inputCount = 0; this.overrideIntCount = 0; this.overrideFloatCount = 0; this.overrideBoolCount = 0; this.paramBoolCount = 0; this.paramCount = 0; this.paramDataLength = 0; this.paramFloatCount = 0; this.paramIntCount = 0; this.shader = null; if(shader == null) { return; } shader.__init(); this.inputCount = shader.__inputBitmapData.length; var input; var _g1 = 0; var _g = this.inputCount; while(_g1 < _g) { var i = _g1++; input = shader.__inputBitmapData[i]; this.inputs[i] = input.input; this.inputFilter[i] = input.filter; this.inputMipFilter[i] = input.mipFilter; this.inputRefs[i] = input; this.inputWrap[i] = input.wrap; } var boolCount = shader.__paramBool.length; var floatCount = shader.__paramFloat.length; var intCount = shader.__paramInt.length; this.paramCount = boolCount + floatCount + intCount; this.paramBoolCount = boolCount; this.paramFloatCount = floatCount; this.paramIntCount = intCount; var paramLength = 0; var length = 0; var p = 0; var param; var _g11 = 0; var _g2 = boolCount; while(_g11 < _g2) { var i1 = _g11++; param = shader.__paramBool[i1]; this.paramPositions[p] = this.paramDataLength; if(param.value != null) { length = param.value.length; } else { length = 0; } this.paramLengths[p] = length; this.paramDataLength += length; this.paramTypes[p] = 0; this.paramRefs_Bool[i1] = param; ++p; } var param1; var _g12 = 0; var _g3 = floatCount; while(_g12 < _g3) { var i2 = _g12++; param1 = shader.__paramFloat[i2]; this.paramPositions[p] = this.paramDataLength; if(param1.value != null) { length = param1.value.length; } else { length = 0; } this.paramLengths[p] = length; this.paramDataLength += length; this.paramTypes[p] = 1; this.paramRefs_Float[i2] = param1; ++p; } var param2; var _g13 = 0; var _g4 = intCount; while(_g13 < _g4) { var i3 = _g13++; param2 = shader.__paramInt[i3]; this.paramPositions[p] = this.paramDataLength; if(param2.value != null) { length = param2.value.length; } else { length = 0; } this.paramLengths[p] = length; this.paramDataLength += length; this.paramTypes[p] = 2; this.paramRefs_Int[i3] = param2; ++p; } if(this.paramDataLength > 0) { if(this.paramData == null) { var elements = this.paramDataLength; var this1; if(elements != null) { this1 = new Float32Array(elements); } else { this1 = null; } this.paramData = this1; } else if(this.paramDataLength > this.paramData.length) { var elements1 = this.paramDataLength; var this2; if(elements1 != null) { this2 = new Float32Array(elements1); } else { this2 = null; } var data = this2; data.set(this.paramData); this.paramData = data; } } var boolIndex = 0; var floatIndex = 0; var intIndex = 0; var paramPosition = 0; var boolParam; var floatParam; var intParam; var length1; var _g14 = 0; var _g5 = this.paramCount; while(_g14 < _g5) { var i4 = _g14++; length1 = this.paramLengths[i4]; if(i4 < boolCount) { boolParam = this.paramRefs_Bool[boolIndex]; ++boolIndex; var _g31 = 0; var _g21 = length1; while(_g31 < _g21) { var j = _g31++; this.paramData[paramPosition] = boolParam.value[j] ? 1 : 0; ++paramPosition; } } else if(i4 < boolCount + floatCount) { floatParam = this.paramRefs_Float[floatIndex]; ++floatIndex; var _g32 = 0; var _g22 = length1; while(_g32 < _g22) { var j1 = _g32++; this.paramData[paramPosition] = floatParam.value[j1]; ++paramPosition; } } else { intParam = this.paramRefs_Int[intIndex]; ++intIndex; var _g33 = 0; var _g23 = length1; while(_g33 < _g23) { var j2 = _g33++; this.paramData[paramPosition] = intParam.value[j2]; ++paramPosition; } } } this.shader = shader; } ,__class__: openfl__$internal_renderer_ShaderBuffer }; var openfl__$internal_renderer_cairo_CairoBitmap = function() { }; $hxClasses["openfl._internal.renderer.cairo.CairoBitmap"] = openfl__$internal_renderer_cairo_CairoBitmap; openfl__$internal_renderer_cairo_CairoBitmap.__name__ = ["openfl","_internal","renderer","cairo","CairoBitmap"]; openfl__$internal_renderer_cairo_CairoBitmap.render = function(bitmap,renderer) { if(!bitmap.__renderable) { return; } var alpha = renderer.__getAlpha(bitmap.__worldAlpha); if(alpha > 0 && bitmap.__bitmapData != null && bitmap.__bitmapData.__isValid) { var cairo = renderer.cairo; renderer.__setBlendMode(bitmap.__worldBlendMode); renderer.__pushMaskObject(bitmap); renderer.applyMatrix(bitmap.__renderTransform,cairo); var surface = bitmap.__bitmapData.getSurface(); if(surface != null) { var pattern = lime_graphics_cairo__$CairoPattern_CairoPattern_$Impl_$.createForSurface(surface); lime_graphics_cairo__$CairoPattern_CairoPattern_$Impl_$.set_filter(pattern,renderer.__allowSmoothing && bitmap.smoothing ? 1 : 3); cairo.set_source(pattern); if(alpha == 1) { cairo.paint(); } else { cairo.paintWithAlpha(alpha); } } renderer.__popMaskObject(bitmap); } }; var openfl__$internal_renderer_cairo_CairoDisplayObject = function() { }; $hxClasses["openfl._internal.renderer.cairo.CairoDisplayObject"] = openfl__$internal_renderer_cairo_CairoDisplayObject; openfl__$internal_renderer_cairo_CairoDisplayObject.__name__ = ["openfl","_internal","renderer","cairo","CairoDisplayObject"]; openfl__$internal_renderer_cairo_CairoDisplayObject.render = function(displayObject,renderer) { }; var openfl__$internal_renderer_cairo_CairoGraphics = function() { }; $hxClasses["openfl._internal.renderer.cairo.CairoGraphics"] = openfl__$internal_renderer_cairo_CairoGraphics; openfl__$internal_renderer_cairo_CairoGraphics.__name__ = ["openfl","_internal","renderer","cairo","CairoGraphics"]; openfl__$internal_renderer_cairo_CairoGraphics.hitTest = function(graphics,x,y) { return false; }; openfl__$internal_renderer_cairo_CairoGraphics.render = function(graphics,renderer) { }; openfl__$internal_renderer_cairo_CairoGraphics.renderMask = function(graphics,renderer) { }; var openfl__$internal_renderer_cairo_CairoTextField = function() { }; $hxClasses["openfl._internal.renderer.cairo.CairoTextField"] = openfl__$internal_renderer_cairo_CairoTextField; openfl__$internal_renderer_cairo_CairoTextField.__name__ = ["openfl","_internal","renderer","cairo","CairoTextField"]; openfl__$internal_renderer_cairo_CairoTextField.render = function(textField,renderer,transform) { }; var openfl__$internal_renderer_canvas_CanvasBitmap = function() { }; $hxClasses["openfl._internal.renderer.canvas.CanvasBitmap"] = openfl__$internal_renderer_canvas_CanvasBitmap; openfl__$internal_renderer_canvas_CanvasBitmap.__name__ = ["openfl","_internal","renderer","canvas","CanvasBitmap"]; openfl__$internal_renderer_canvas_CanvasBitmap.render = function(bitmap,renderer) { if(!bitmap.__renderable) { return; } var alpha = renderer.__getAlpha(bitmap.__worldAlpha); if(alpha > 0 && bitmap.__bitmapData != null && bitmap.__bitmapData.__isValid && bitmap.__bitmapData.readable) { var context = renderer.context; renderer.__setBlendMode(bitmap.__worldBlendMode); renderer.__pushMaskObject(bitmap,false); lime__$internal_graphics_ImageCanvasUtil.convertToCanvas(bitmap.__bitmapData.image); context.globalAlpha = alpha; var scrollRect = bitmap.__scrollRect; renderer.setTransform(bitmap.__renderTransform,context); if(!renderer.__allowSmoothing || !bitmap.smoothing) { context.imageSmoothingEnabled = false; } if(scrollRect == null) { context.drawImage(bitmap.__bitmapData.image.get_src(),0,0,bitmap.__bitmapData.image.width,bitmap.__bitmapData.image.height); } else { context.drawImage(bitmap.__bitmapData.image.get_src(),scrollRect.x,scrollRect.y,scrollRect.width,scrollRect.height); } if(!renderer.__allowSmoothing || !bitmap.smoothing) { context.imageSmoothingEnabled = true; } renderer.__popMaskObject(bitmap,false); } }; var openfl__$internal_renderer_canvas_CanvasDisplayObject = function() { }; $hxClasses["openfl._internal.renderer.canvas.CanvasDisplayObject"] = openfl__$internal_renderer_canvas_CanvasDisplayObject; openfl__$internal_renderer_canvas_CanvasDisplayObject.__name__ = ["openfl","_internal","renderer","canvas","CanvasDisplayObject"]; openfl__$internal_renderer_canvas_CanvasDisplayObject.render = function(displayObject,renderer) { if(displayObject.opaqueBackground == null && displayObject.__graphics == null) { return; } if(!displayObject.__renderable) { return; } var alpha = renderer.__getAlpha(displayObject.__worldAlpha); if(alpha <= 0) { return; } if(displayObject.opaqueBackground != null && !displayObject.__isCacheBitmapRender && displayObject.get_width() > 0 && displayObject.get_height() > 0) { renderer.__setBlendMode(displayObject.__worldBlendMode); renderer.__pushMaskObject(displayObject); var context = renderer.context; renderer.setTransform(displayObject.__renderTransform,context); var color = displayObject.opaqueBackground; context.fillStyle = "rgb(" + (color >>> 16 & 255) + "," + (color >>> 8 & 255) + "," + (color & 255) + ")"; context.fillRect(0,0,displayObject.get_width(),displayObject.get_height()); renderer.__popMaskObject(displayObject); } if(displayObject.__graphics != null) { if(!(!displayObject.__renderable)) { var alpha1 = renderer.__getAlpha(displayObject.__worldAlpha); if(!(alpha1 <= 0)) { var graphics = displayObject.__graphics; if(graphics != null) { openfl__$internal_renderer_canvas_CanvasGraphics.render(graphics,renderer); var bounds = graphics.__bounds; var width = graphics.__width; var height = graphics.__height; if(graphics.__canvas != null) { var context1 = renderer.context; var scrollRect = displayObject.__scrollRect; if(width > 0 && height > 0 && (scrollRect == null || scrollRect.width > 0 && scrollRect.height > 0)) { renderer.__setBlendMode(displayObject.__worldBlendMode); renderer.__pushMaskObject(displayObject); context1.globalAlpha = alpha1; renderer.setTransform(graphics.__worldTransform,context1); if(renderer.__isDOM) { var reverseScale = 1 / renderer.pixelRatio; context1.scale(reverseScale,reverseScale); } context1.drawImage(graphics.__canvas,0,0,width,height); renderer.__popMaskObject(displayObject); } } } } } } }; var openfl__$internal_renderer_canvas_CanvasGraphics = function() { }; $hxClasses["openfl._internal.renderer.canvas.CanvasGraphics"] = openfl__$internal_renderer_canvas_CanvasGraphics; openfl__$internal_renderer_canvas_CanvasGraphics.__name__ = ["openfl","_internal","renderer","canvas","CanvasGraphics"]; openfl__$internal_renderer_canvas_CanvasGraphics.allowSmoothing = null; openfl__$internal_renderer_canvas_CanvasGraphics.bitmapFill = null; openfl__$internal_renderer_canvas_CanvasGraphics.bitmapStroke = null; openfl__$internal_renderer_canvas_CanvasGraphics.bitmapRepeat = null; openfl__$internal_renderer_canvas_CanvasGraphics.bounds = null; openfl__$internal_renderer_canvas_CanvasGraphics.graphics = null; openfl__$internal_renderer_canvas_CanvasGraphics.hasFill = null; openfl__$internal_renderer_canvas_CanvasGraphics.hasStroke = null; openfl__$internal_renderer_canvas_CanvasGraphics.hitTesting = null; openfl__$internal_renderer_canvas_CanvasGraphics.inversePendingMatrix = null; openfl__$internal_renderer_canvas_CanvasGraphics.pendingMatrix = null; openfl__$internal_renderer_canvas_CanvasGraphics.windingRule = null; openfl__$internal_renderer_canvas_CanvasGraphics.worldAlpha = null; openfl__$internal_renderer_canvas_CanvasGraphics.context = null; openfl__$internal_renderer_canvas_CanvasGraphics.hitTestCanvas = null; openfl__$internal_renderer_canvas_CanvasGraphics.hitTestContext = null; openfl__$internal_renderer_canvas_CanvasGraphics.closePath = function(strokeBefore) { if(strokeBefore == null) { strokeBefore = false; } if(openfl__$internal_renderer_canvas_CanvasGraphics.context.strokeStyle == null) { return; } if(!strokeBefore) { openfl__$internal_renderer_canvas_CanvasGraphics.context.closePath(); } openfl__$internal_renderer_canvas_CanvasGraphics.context.stroke(); if(strokeBefore) { openfl__$internal_renderer_canvas_CanvasGraphics.context.closePath(); } openfl__$internal_renderer_canvas_CanvasGraphics.context.beginPath(); }; openfl__$internal_renderer_canvas_CanvasGraphics.createBitmapFill = function(bitmap,bitmapRepeat,smooth) { lime__$internal_graphics_ImageCanvasUtil.convertToCanvas(bitmap.image); openfl__$internal_renderer_canvas_CanvasGraphics.setSmoothing(smooth); return openfl__$internal_renderer_canvas_CanvasGraphics.context.createPattern(bitmap.image.get_src(),bitmapRepeat ? "repeat" : "no-repeat"); }; openfl__$internal_renderer_canvas_CanvasGraphics.createGradientPattern = function(type,colors,alphas,ratios,matrix,spreadMethod,interpolationMethod,focalPointRatio) { var gradientFill = null; var point = null; var point2 = null; var releaseMatrix = false; if(matrix == null) { matrix = openfl_geom_Matrix.__pool.get(); releaseMatrix = true; } switch(type) { case 0: point = openfl_geom_Point.__pool.get(); point.setTo(-819.2,0); var px = point.x; var py = point.y; point.x = px * matrix.a + py * matrix.c + matrix.tx; point.y = px * matrix.b + py * matrix.d + matrix.ty; point2 = openfl_geom_Point.__pool.get(); point2.setTo(819.2,0); var px1 = point2.x; var py1 = point2.y; point2.x = px1 * matrix.a + py1 * matrix.c + matrix.tx; point2.y = px1 * matrix.b + py1 * matrix.d + matrix.ty; gradientFill = openfl__$internal_renderer_canvas_CanvasGraphics.context.createLinearGradient(point.x,point.y,point2.x,point2.y); break; case 1: point = openfl_geom_Point.__pool.get(); point.setTo(1638.4,0); var px2 = point.x; var py2 = point.y; point.x = px2 * matrix.a + py2 * matrix.c + matrix.tx; point.y = px2 * matrix.b + py2 * matrix.d + matrix.ty; gradientFill = openfl__$internal_renderer_canvas_CanvasGraphics.context.createRadialGradient(matrix.tx,matrix.ty,0,matrix.tx,matrix.ty,Math.abs((point.x - matrix.tx) / 2)); break; } var rgb; var alpha; var r; var g; var b; var ratio; var _g1 = 0; var _g = colors.length; while(_g1 < _g) { var i = _g1++; rgb = colors[i]; alpha = alphas[i]; r = (rgb & 16711680) >>> 16; g = (rgb & 65280) >>> 8; b = rgb & 255; ratio = ratios[i] / 255; if(ratio < 0) { ratio = 0; } if(ratio > 1) { ratio = 1; } gradientFill.addColorStop(ratio,"rgba(" + r + ", " + g + ", " + b + ", " + alpha + ")"); } if(point != null) { openfl_geom_Point.__pool.release(point); } if(point2 != null) { openfl_geom_Point.__pool.release(point2); } if(releaseMatrix) { openfl_geom_Matrix.__pool.release(matrix); } return gradientFill; }; openfl__$internal_renderer_canvas_CanvasGraphics.createTempPatternCanvas = function(bitmap,repeat,width,height) { var canvas = window.document.createElement("canvas"); var context = canvas.getContext("2d"); canvas.width = width; canvas.height = height; var tmp = bitmap.image.get_src(); context.fillStyle = context.createPattern(tmp,repeat ? "repeat" : "no-repeat"); context.beginPath(); context.moveTo(0,0); context.lineTo(0,height); context.lineTo(width,height); context.lineTo(width,0); context.lineTo(0,0); context.closePath(); if(!openfl__$internal_renderer_canvas_CanvasGraphics.hitTesting) { context.fill(openfl__$internal_renderer_canvas_CanvasGraphics.windingRule); } return canvas; }; openfl__$internal_renderer_canvas_CanvasGraphics.drawRoundRect = function(x,y,width,height,ellipseWidth,ellipseHeight) { if(ellipseHeight == null) { ellipseHeight = ellipseWidth; } ellipseWidth *= 0.5; ellipseHeight *= 0.5; if(ellipseWidth > width / 2) { ellipseWidth = width / 2; } if(ellipseHeight > height / 2) { ellipseHeight = height / 2; } var xe = x + width; var ye = y + height; var cx1 = -ellipseWidth + ellipseWidth * openfl__$internal_renderer_canvas_CanvasGraphics.SIN45; var cx2 = -ellipseWidth + ellipseWidth * openfl__$internal_renderer_canvas_CanvasGraphics.TAN22; var cy1 = -ellipseHeight + ellipseHeight * openfl__$internal_renderer_canvas_CanvasGraphics.SIN45; var cy2 = -ellipseHeight + ellipseHeight * openfl__$internal_renderer_canvas_CanvasGraphics.TAN22; openfl__$internal_renderer_canvas_CanvasGraphics.context.moveTo(xe,ye - ellipseHeight); openfl__$internal_renderer_canvas_CanvasGraphics.context.quadraticCurveTo(xe,ye + cy2,xe + cx1,ye + cy1); openfl__$internal_renderer_canvas_CanvasGraphics.context.quadraticCurveTo(xe + cx2,ye,xe - ellipseWidth,ye); openfl__$internal_renderer_canvas_CanvasGraphics.context.lineTo(x + ellipseWidth,ye); openfl__$internal_renderer_canvas_CanvasGraphics.context.quadraticCurveTo(x - cx2,ye,x - cx1,ye + cy1); openfl__$internal_renderer_canvas_CanvasGraphics.context.quadraticCurveTo(x,ye + cy2,x,ye - ellipseHeight); openfl__$internal_renderer_canvas_CanvasGraphics.context.lineTo(x,y + ellipseHeight); openfl__$internal_renderer_canvas_CanvasGraphics.context.quadraticCurveTo(x,y - cy2,x - cx1,y - cy1); openfl__$internal_renderer_canvas_CanvasGraphics.context.quadraticCurveTo(x - cx2,y,x + ellipseWidth,y); openfl__$internal_renderer_canvas_CanvasGraphics.context.lineTo(xe - ellipseWidth,y); openfl__$internal_renderer_canvas_CanvasGraphics.context.quadraticCurveTo(xe + cx2,y,xe + cx1,y - cy1); openfl__$internal_renderer_canvas_CanvasGraphics.context.quadraticCurveTo(xe,y - cy2,xe,y + ellipseHeight); openfl__$internal_renderer_canvas_CanvasGraphics.context.lineTo(xe,ye - ellipseHeight); }; openfl__$internal_renderer_canvas_CanvasGraphics.endFill = function() { openfl__$internal_renderer_canvas_CanvasGraphics.context.beginPath(); openfl__$internal_renderer_canvas_CanvasGraphics.playCommands(openfl__$internal_renderer_canvas_CanvasGraphics.fillCommands,false); openfl__$internal_renderer_canvas_CanvasGraphics.fillCommands.clear(); }; openfl__$internal_renderer_canvas_CanvasGraphics.endStroke = function() { openfl__$internal_renderer_canvas_CanvasGraphics.context.beginPath(); openfl__$internal_renderer_canvas_CanvasGraphics.playCommands(openfl__$internal_renderer_canvas_CanvasGraphics.strokeCommands,true); openfl__$internal_renderer_canvas_CanvasGraphics.context.closePath(); openfl__$internal_renderer_canvas_CanvasGraphics.strokeCommands.clear(); }; openfl__$internal_renderer_canvas_CanvasGraphics.hitTest = function(graphics,x,y) { openfl__$internal_renderer_canvas_CanvasGraphics.bounds = graphics.__bounds; openfl__$internal_renderer_canvas_CanvasGraphics.graphics = graphics; if(graphics.__commands.get_length() == 0 || openfl__$internal_renderer_canvas_CanvasGraphics.bounds == null || openfl__$internal_renderer_canvas_CanvasGraphics.bounds.width <= 0 || openfl__$internal_renderer_canvas_CanvasGraphics.bounds.height <= 0) { return false; } else { openfl__$internal_renderer_canvas_CanvasGraphics.hitTesting = true; var transform = graphics.__renderTransform; var px = x * transform.a + y * transform.c + transform.tx; var py = x * transform.b + y * transform.d + transform.ty; x = px; y = py; x -= openfl__$internal_renderer_canvas_CanvasGraphics.bounds.x * transform.a + openfl__$internal_renderer_canvas_CanvasGraphics.bounds.y * transform.c + transform.tx; y -= openfl__$internal_renderer_canvas_CanvasGraphics.bounds.x * transform.b + openfl__$internal_renderer_canvas_CanvasGraphics.bounds.y * transform.d + transform.ty; var cacheCanvas = graphics.__canvas; var cacheContext = graphics.__context; graphics.__canvas = openfl__$internal_renderer_canvas_CanvasGraphics.hitTestCanvas; graphics.__context = openfl__$internal_renderer_canvas_CanvasGraphics.hitTestContext; openfl__$internal_renderer_canvas_CanvasGraphics.context = graphics.__context; openfl__$internal_renderer_canvas_CanvasGraphics.context.setTransform(transform.a,transform.b,transform.c,transform.d,transform.tx,transform.ty); openfl__$internal_renderer_canvas_CanvasGraphics.fillCommands.clear(); openfl__$internal_renderer_canvas_CanvasGraphics.strokeCommands.clear(); openfl__$internal_renderer_canvas_CanvasGraphics.hasFill = false; openfl__$internal_renderer_canvas_CanvasGraphics.hasStroke = false; openfl__$internal_renderer_canvas_CanvasGraphics.bitmapFill = null; openfl__$internal_renderer_canvas_CanvasGraphics.bitmapRepeat = false; openfl__$internal_renderer_canvas_CanvasGraphics.windingRule = "evenodd"; var data = new openfl__$internal_renderer_DrawCommandReader(graphics.__commands); var _g = 0; var _g1 = graphics.__commands.types; while(_g < _g1.length) { var type = _g1[_g]; ++_g; switch(type[1]) { case 0:case 1:case 2:case 3: openfl__$internal_renderer_canvas_CanvasGraphics.endFill(); if(openfl__$internal_renderer_canvas_CanvasGraphics.hasFill && openfl__$internal_renderer_canvas_CanvasGraphics.context.isPointInPath(x,y,openfl__$internal_renderer_canvas_CanvasGraphics.windingRule)) { data.destroy(); graphics.__canvas = cacheCanvas; graphics.__context = cacheContext; return true; } openfl__$internal_renderer_canvas_CanvasGraphics.endStroke(); if(openfl__$internal_renderer_canvas_CanvasGraphics.hasStroke && openfl__$internal_renderer_canvas_CanvasGraphics.context.isPointInStroke(x,y)) { data.destroy(); graphics.__canvas = cacheCanvas; graphics.__context = cacheContext; return true; } if(type == openfl__$internal_renderer_DrawCommandType.BEGIN_BITMAP_FILL) { var _g2 = data.prev; switch(_g2[1]) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl__$internal_renderer_DrawCommandType.BEGIN_BITMAP_FILL; var this1 = data; var c = this1; openfl__$internal_renderer_canvas_CanvasGraphics.fillCommands.beginBitmapFill(c.buffer.o[c.oPos],c.buffer.o[c.oPos + 1],c.buffer.b[c.bPos],c.buffer.b[c.bPos + 1]); openfl__$internal_renderer_canvas_CanvasGraphics.strokeCommands.beginBitmapFill(c.buffer.o[c.oPos],c.buffer.o[c.oPos + 1],c.buffer.b[c.bPos],c.buffer.b[c.bPos + 1]); } else if(type == openfl__$internal_renderer_DrawCommandType.BEGIN_GRADIENT_FILL) { var _g3 = data.prev; switch(_g3[1]) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl__$internal_renderer_DrawCommandType.BEGIN_GRADIENT_FILL; var this2 = data; var c1 = this2; openfl__$internal_renderer_canvas_CanvasGraphics.fillCommands.beginGradientFill(c1.buffer.o[c1.oPos],c1.buffer.ii[c1.iiPos],c1.buffer.ff[c1.ffPos],c1.buffer.ii[c1.iiPos + 1],c1.buffer.o[c1.oPos + 1],c1.buffer.o[c1.oPos + 2],c1.buffer.o[c1.oPos + 3],c1.buffer.f[c1.fPos]); openfl__$internal_renderer_canvas_CanvasGraphics.strokeCommands.beginGradientFill(c1.buffer.o[c1.oPos],c1.buffer.ii[c1.iiPos],c1.buffer.ff[c1.ffPos],c1.buffer.ii[c1.iiPos + 1],c1.buffer.o[c1.oPos + 1],c1.buffer.o[c1.oPos + 2],c1.buffer.o[c1.oPos + 3],c1.buffer.f[c1.fPos]); } else if(type == openfl__$internal_renderer_DrawCommandType.BEGIN_SHADER_FILL) { var _g4 = data.prev; switch(_g4[1]) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl__$internal_renderer_DrawCommandType.BEGIN_SHADER_FILL; var this3 = data; var c2 = this3; openfl__$internal_renderer_canvas_CanvasGraphics.fillCommands.beginShaderFill(c2.buffer.o[c2.oPos]); openfl__$internal_renderer_canvas_CanvasGraphics.strokeCommands.beginShaderFill(c2.buffer.o[c2.oPos]); } else { var _g5 = data.prev; switch(_g5[1]) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl__$internal_renderer_DrawCommandType.BEGIN_FILL; var this4 = data; var c3 = this4; openfl__$internal_renderer_canvas_CanvasGraphics.fillCommands.beginFill(c3.buffer.i[c3.iPos],1); openfl__$internal_renderer_canvas_CanvasGraphics.strokeCommands.beginFill(c3.buffer.i[c3.iPos],1); } break; case 4: var _g6 = data.prev; switch(_g6[1]) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl__$internal_renderer_DrawCommandType.CUBIC_CURVE_TO; var this5 = data; var c4 = this5; openfl__$internal_renderer_canvas_CanvasGraphics.fillCommands.cubicCurveTo(c4.buffer.f[c4.fPos],c4.buffer.f[c4.fPos + 1],c4.buffer.f[c4.fPos + 2],c4.buffer.f[c4.fPos + 3],c4.buffer.f[c4.fPos + 4],c4.buffer.f[c4.fPos + 5]); openfl__$internal_renderer_canvas_CanvasGraphics.strokeCommands.cubicCurveTo(c4.buffer.f[c4.fPos],c4.buffer.f[c4.fPos + 1],c4.buffer.f[c4.fPos + 2],c4.buffer.f[c4.fPos + 3],c4.buffer.f[c4.fPos + 4],c4.buffer.f[c4.fPos + 5]); break; case 5: var _g7 = data.prev; switch(_g7[1]) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl__$internal_renderer_DrawCommandType.CURVE_TO; var this6 = data; var c5 = this6; openfl__$internal_renderer_canvas_CanvasGraphics.fillCommands.curveTo(c5.buffer.f[c5.fPos],c5.buffer.f[c5.fPos + 1],c5.buffer.f[c5.fPos + 2],c5.buffer.f[c5.fPos + 3]); openfl__$internal_renderer_canvas_CanvasGraphics.strokeCommands.curveTo(c5.buffer.f[c5.fPos],c5.buffer.f[c5.fPos + 1],c5.buffer.f[c5.fPos + 2],c5.buffer.f[c5.fPos + 3]); break; case 6: var _g8 = data.prev; switch(_g8[1]) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl__$internal_renderer_DrawCommandType.DRAW_CIRCLE; var this7 = data; var c6 = this7; openfl__$internal_renderer_canvas_CanvasGraphics.fillCommands.drawCircle(c6.buffer.f[c6.fPos],c6.buffer.f[c6.fPos + 1],c6.buffer.f[c6.fPos + 2]); openfl__$internal_renderer_canvas_CanvasGraphics.strokeCommands.drawCircle(c6.buffer.f[c6.fPos],c6.buffer.f[c6.fPos + 1],c6.buffer.f[c6.fPos + 2]); break; case 7: var _g9 = data.prev; switch(_g9[1]) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl__$internal_renderer_DrawCommandType.DRAW_ELLIPSE; var this8 = data; var c7 = this8; openfl__$internal_renderer_canvas_CanvasGraphics.fillCommands.drawEllipse(c7.buffer.f[c7.fPos],c7.buffer.f[c7.fPos + 1],c7.buffer.f[c7.fPos + 2],c7.buffer.f[c7.fPos + 3]); openfl__$internal_renderer_canvas_CanvasGraphics.strokeCommands.drawEllipse(c7.buffer.f[c7.fPos],c7.buffer.f[c7.fPos + 1],c7.buffer.f[c7.fPos + 2],c7.buffer.f[c7.fPos + 3]); break; case 9: var _g10 = data.prev; switch(_g10[1]) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl__$internal_renderer_DrawCommandType.DRAW_RECT; var this9 = data; var c8 = this9; openfl__$internal_renderer_canvas_CanvasGraphics.fillCommands.drawRect(c8.buffer.f[c8.fPos],c8.buffer.f[c8.fPos + 1],c8.buffer.f[c8.fPos + 2],c8.buffer.f[c8.fPos + 3]); openfl__$internal_renderer_canvas_CanvasGraphics.strokeCommands.drawRect(c8.buffer.f[c8.fPos],c8.buffer.f[c8.fPos + 1],c8.buffer.f[c8.fPos + 2],c8.buffer.f[c8.fPos + 3]); break; case 10: var _g11 = data.prev; switch(_g11[1]) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl__$internal_renderer_DrawCommandType.DRAW_ROUND_RECT; var this10 = data; var c9 = this10; openfl__$internal_renderer_canvas_CanvasGraphics.fillCommands.drawRoundRect(c9.buffer.f[c9.fPos],c9.buffer.f[c9.fPos + 1],c9.buffer.f[c9.fPos + 2],c9.buffer.f[c9.fPos + 3],c9.buffer.f[c9.fPos + 4],c9.buffer.o[c9.oPos]); openfl__$internal_renderer_canvas_CanvasGraphics.strokeCommands.drawRoundRect(c9.buffer.f[c9.fPos],c9.buffer.f[c9.fPos + 1],c9.buffer.f[c9.fPos + 2],c9.buffer.f[c9.fPos + 3],c9.buffer.f[c9.fPos + 4],c9.buffer.o[c9.oPos]); break; case 13: var _g12 = data.prev; switch(_g12[1]) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl__$internal_renderer_DrawCommandType.END_FILL; var this11 = data; openfl__$internal_renderer_canvas_CanvasGraphics.endFill(); if(openfl__$internal_renderer_canvas_CanvasGraphics.hasFill && openfl__$internal_renderer_canvas_CanvasGraphics.context.isPointInPath(x,y,openfl__$internal_renderer_canvas_CanvasGraphics.windingRule)) { data.destroy(); graphics.__canvas = cacheCanvas; graphics.__context = cacheContext; return true; } openfl__$internal_renderer_canvas_CanvasGraphics.endStroke(); if(openfl__$internal_renderer_canvas_CanvasGraphics.hasStroke && openfl__$internal_renderer_canvas_CanvasGraphics.context.isPointInStroke(x,y)) { data.destroy(); graphics.__canvas = cacheCanvas; graphics.__context = cacheContext; return true; } openfl__$internal_renderer_canvas_CanvasGraphics.hasFill = false; openfl__$internal_renderer_canvas_CanvasGraphics.bitmapFill = null; break; case 14: var _g13 = data.prev; switch(_g13[1]) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl__$internal_renderer_DrawCommandType.LINE_BITMAP_STYLE; var this12 = data; var c10 = this12; openfl__$internal_renderer_canvas_CanvasGraphics.strokeCommands.lineBitmapStyle(c10.buffer.o[c10.oPos],c10.buffer.o[c10.oPos + 1],c10.buffer.b[c10.bPos],c10.buffer.b[c10.bPos + 1]); break; case 15: var _g14 = data.prev; switch(_g14[1]) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl__$internal_renderer_DrawCommandType.LINE_GRADIENT_STYLE; var this13 = data; var c11 = this13; openfl__$internal_renderer_canvas_CanvasGraphics.strokeCommands.lineGradientStyle(c11.buffer.o[c11.oPos],c11.buffer.ii[c11.iiPos],c11.buffer.ff[c11.ffPos],c11.buffer.ii[c11.iiPos + 1],c11.buffer.o[c11.oPos + 1],c11.buffer.o[c11.oPos + 2],c11.buffer.o[c11.oPos + 3],c11.buffer.f[c11.fPos]); break; case 16: var _g15 = data.prev; switch(_g15[1]) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl__$internal_renderer_DrawCommandType.LINE_STYLE; var this14 = data; var c12 = this14; openfl__$internal_renderer_canvas_CanvasGraphics.strokeCommands.lineStyle(c12.buffer.o[c12.oPos],c12.buffer.i[c12.iPos],1,c12.buffer.b[c12.bPos],c12.buffer.o[c12.oPos + 1],c12.buffer.o[c12.oPos + 2],c12.buffer.o[c12.oPos + 3],c12.buffer.f[c12.fPos + 1]); break; case 17: var _g16 = data.prev; switch(_g16[1]) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl__$internal_renderer_DrawCommandType.LINE_TO; var this15 = data; var c13 = this15; openfl__$internal_renderer_canvas_CanvasGraphics.fillCommands.lineTo(c13.buffer.f[c13.fPos],c13.buffer.f[c13.fPos + 1]); openfl__$internal_renderer_canvas_CanvasGraphics.strokeCommands.lineTo(c13.buffer.f[c13.fPos],c13.buffer.f[c13.fPos + 1]); break; case 18: var _g17 = data.prev; switch(_g17[1]) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl__$internal_renderer_DrawCommandType.MOVE_TO; var this16 = data; var c14 = this16; openfl__$internal_renderer_canvas_CanvasGraphics.fillCommands.moveTo(c14.buffer.f[c14.fPos],c14.buffer.f[c14.fPos + 1]); openfl__$internal_renderer_canvas_CanvasGraphics.strokeCommands.moveTo(c14.buffer.f[c14.fPos],c14.buffer.f[c14.fPos + 1]); break; case 21: openfl__$internal_renderer_canvas_CanvasGraphics.windingRule = "evenodd"; break; case 22: openfl__$internal_renderer_canvas_CanvasGraphics.windingRule = "nonzero"; break; default: var _g18 = data.prev; switch(_g18[1]) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = type; } } var hitTest = false; if(openfl__$internal_renderer_canvas_CanvasGraphics.fillCommands.get_length() > 0) { openfl__$internal_renderer_canvas_CanvasGraphics.endFill(); } if(openfl__$internal_renderer_canvas_CanvasGraphics.hasFill && openfl__$internal_renderer_canvas_CanvasGraphics.context.isPointInPath(x,y,openfl__$internal_renderer_canvas_CanvasGraphics.windingRule)) { hitTest = true; } if(openfl__$internal_renderer_canvas_CanvasGraphics.strokeCommands.get_length() > 0) { openfl__$internal_renderer_canvas_CanvasGraphics.endStroke(); } if(openfl__$internal_renderer_canvas_CanvasGraphics.hasStroke && openfl__$internal_renderer_canvas_CanvasGraphics.context.isPointInStroke(x,y)) { hitTest = true; } data.destroy(); graphics.__canvas = cacheCanvas; graphics.__context = cacheContext; return hitTest; } }; openfl__$internal_renderer_canvas_CanvasGraphics.isCCW = function(x1,y1,x2,y2,x3,y3) { return (x2 - x1) * (y3 - y1) - (y2 - y1) * (x3 - x1) < 0; }; openfl__$internal_renderer_canvas_CanvasGraphics.normalizeUVT = function(uvt,skipT) { if(skipT == null) { skipT = false; } var max = -Infinity; var tmp = -Infinity; var len = uvt.get_length(); var _g1 = 1; var _g = len + 1; while(_g1 < _g) { var t = _g1++; if(skipT && t % 3 == 0) { continue; } tmp = uvt.get(t - 1); if(max < tmp) { max = tmp; } } if(!skipT) { return { max : max, uvt : uvt}; } var result = openfl__$Vector_Vector_$Impl_$.toFloatVector(null); var _g11 = 1; var _g2 = len + 1; while(_g11 < _g2) { var t1 = _g11++; if(skipT && t1 % 3 == 0) { continue; } result.push(uvt.get(t1 - 1)); } return { max : max, uvt : result}; }; openfl__$internal_renderer_canvas_CanvasGraphics.playCommands = function(commands,stroke) { if(stroke == null) { stroke = false; } openfl__$internal_renderer_canvas_CanvasGraphics.bounds = openfl__$internal_renderer_canvas_CanvasGraphics.graphics.__bounds; var offsetX = openfl__$internal_renderer_canvas_CanvasGraphics.bounds.x; var offsetY = openfl__$internal_renderer_canvas_CanvasGraphics.bounds.y; var positionX = 0.0; var positionY = 0.0; var closeGap = false; var startX = 0.0; var startY = 0.0; var setStart = false; openfl__$internal_renderer_canvas_CanvasGraphics.windingRule = "evenodd"; openfl__$internal_renderer_canvas_CanvasGraphics.setSmoothing(true); var hasPath = false; var data = new openfl__$internal_renderer_DrawCommandReader(commands); var x; var y; var width; var height; var kappa = .5522848; var ox; var oy; var xe; var ye; var xm; var ym; var r; var g; var b; var optimizationUsed; var canOptimizeMatrix; var st; var sr; var sb; var sl; var stl = null; var sbr = null; var _g = 0; var _g1 = commands.types; try { while(_g < _g1.length) { var type = _g1[_g]; ++_g; switch(type[1]) { case 0: var _g2 = data.prev; switch(_g2[1]) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl__$internal_renderer_DrawCommandType.BEGIN_BITMAP_FILL; var this1 = data; var c = this1; openfl__$internal_renderer_canvas_CanvasGraphics.bitmapFill = c.buffer.o[c.oPos]; openfl__$internal_renderer_canvas_CanvasGraphics.context.fillStyle = openfl__$internal_renderer_canvas_CanvasGraphics.createBitmapFill(c.buffer.o[c.oPos],c.buffer.b[c.bPos],c.buffer.b[c.bPos + 1]); openfl__$internal_renderer_canvas_CanvasGraphics.hasFill = true; if(c.buffer.o[c.oPos + 1] != null) { openfl__$internal_renderer_canvas_CanvasGraphics.pendingMatrix = c.buffer.o[c.oPos + 1]; openfl__$internal_renderer_canvas_CanvasGraphics.inversePendingMatrix = c.buffer.o[c.oPos + 1].clone(); openfl__$internal_renderer_canvas_CanvasGraphics.inversePendingMatrix.invert(); } else { openfl__$internal_renderer_canvas_CanvasGraphics.pendingMatrix = null; openfl__$internal_renderer_canvas_CanvasGraphics.inversePendingMatrix = null; } break; case 1: var _g3 = data.prev; switch(_g3[1]) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl__$internal_renderer_DrawCommandType.BEGIN_FILL; var this2 = data; var c1 = this2; if(c1.buffer.f[c1.fPos] < 0.005) { openfl__$internal_renderer_canvas_CanvasGraphics.hasFill = false; } else { if(c1.buffer.f[c1.fPos] == 1) { var tmp = StringTools.hex(c1.buffer.i[c1.iPos] & 16777215,6); openfl__$internal_renderer_canvas_CanvasGraphics.context.fillStyle = "#" + tmp; } else { r = (c1.buffer.i[c1.iPos] & 16711680) >>> 16; g = (c1.buffer.i[c1.iPos] & 65280) >>> 8; b = c1.buffer.i[c1.iPos] & 255; openfl__$internal_renderer_canvas_CanvasGraphics.context.fillStyle = "rgba(" + r + ", " + g + ", " + b + ", " + c1.buffer.f[c1.fPos] + ")"; } openfl__$internal_renderer_canvas_CanvasGraphics.bitmapFill = null; openfl__$internal_renderer_canvas_CanvasGraphics.setSmoothing(true); openfl__$internal_renderer_canvas_CanvasGraphics.hasFill = true; } break; case 2: var _g4 = data.prev; switch(_g4[1]) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl__$internal_renderer_DrawCommandType.BEGIN_GRADIENT_FILL; var this3 = data; var c2 = this3; openfl__$internal_renderer_canvas_CanvasGraphics.context.fillStyle = openfl__$internal_renderer_canvas_CanvasGraphics.createGradientPattern(c2.buffer.o[c2.oPos],c2.buffer.ii[c2.iiPos],c2.buffer.ff[c2.ffPos],c2.buffer.ii[c2.iiPos + 1],c2.buffer.o[c2.oPos + 1],c2.buffer.o[c2.oPos + 2],c2.buffer.o[c2.oPos + 3],c2.buffer.f[c2.fPos]); openfl__$internal_renderer_canvas_CanvasGraphics.bitmapFill = null; openfl__$internal_renderer_canvas_CanvasGraphics.setSmoothing(true); openfl__$internal_renderer_canvas_CanvasGraphics.hasFill = true; break; case 3: var _g5 = data.prev; switch(_g5[1]) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl__$internal_renderer_DrawCommandType.BEGIN_SHADER_FILL; var this4 = data; var c3 = this4; var shaderBuffer = c3.buffer.o[c3.oPos]; if(shaderBuffer.inputCount > 0) { openfl__$internal_renderer_canvas_CanvasGraphics.bitmapFill = shaderBuffer.inputs[0]; openfl__$internal_renderer_canvas_CanvasGraphics.context.fillStyle = openfl__$internal_renderer_canvas_CanvasGraphics.createBitmapFill(openfl__$internal_renderer_canvas_CanvasGraphics.bitmapFill,shaderBuffer.inputWrap[0] != 0,shaderBuffer.inputFilter[0] != 5); openfl__$internal_renderer_canvas_CanvasGraphics.hasFill = true; openfl__$internal_renderer_canvas_CanvasGraphics.pendingMatrix = null; openfl__$internal_renderer_canvas_CanvasGraphics.inversePendingMatrix = null; } break; case 4: var _g6 = data.prev; switch(_g6[1]) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl__$internal_renderer_DrawCommandType.CUBIC_CURVE_TO; var this5 = data; var c4 = this5; hasPath = true; openfl__$internal_renderer_canvas_CanvasGraphics.context.bezierCurveTo(c4.buffer.f[c4.fPos] - offsetX,c4.buffer.f[c4.fPos + 1] - offsetY,c4.buffer.f[c4.fPos + 2] - offsetX,c4.buffer.f[c4.fPos + 3] - offsetY,c4.buffer.f[c4.fPos + 4] - offsetX,c4.buffer.f[c4.fPos + 5] - offsetY); break; case 5: var _g7 = data.prev; switch(_g7[1]) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl__$internal_renderer_DrawCommandType.CURVE_TO; var this6 = data; var c5 = this6; hasPath = true; openfl__$internal_renderer_canvas_CanvasGraphics.context.quadraticCurveTo(c5.buffer.f[c5.fPos] - offsetX,c5.buffer.f[c5.fPos + 1] - offsetY,c5.buffer.f[c5.fPos + 2] - offsetX,c5.buffer.f[c5.fPos + 3] - offsetY); break; case 6: var _g8 = data.prev; switch(_g8[1]) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl__$internal_renderer_DrawCommandType.DRAW_CIRCLE; var this7 = data; var c6 = this7; hasPath = true; openfl__$internal_renderer_canvas_CanvasGraphics.context.moveTo(c6.buffer.f[c6.fPos] - offsetX + c6.buffer.f[c6.fPos + 2],c6.buffer.f[c6.fPos + 1] - offsetY); openfl__$internal_renderer_canvas_CanvasGraphics.context.arc(c6.buffer.f[c6.fPos] - offsetX,c6.buffer.f[c6.fPos + 1] - offsetY,c6.buffer.f[c6.fPos + 2],0,Math.PI * 2,true); break; case 7: var _g9 = data.prev; switch(_g9[1]) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl__$internal_renderer_DrawCommandType.DRAW_ELLIPSE; var this8 = data; var c7 = this8; hasPath = true; x = c7.buffer.f[c7.fPos]; y = c7.buffer.f[c7.fPos + 1]; width = c7.buffer.f[c7.fPos + 2]; height = c7.buffer.f[c7.fPos + 3]; x -= offsetX; y -= offsetY; ox = width / 2 * kappa; oy = height / 2 * kappa; xe = x + width; ye = y + height; xm = x + width / 2; ym = y + height / 2; openfl__$internal_renderer_canvas_CanvasGraphics.context.moveTo(x,ym); openfl__$internal_renderer_canvas_CanvasGraphics.context.bezierCurveTo(x,ym - oy,xm - ox,y,xm,y); openfl__$internal_renderer_canvas_CanvasGraphics.context.bezierCurveTo(xm + ox,y,xe,ym - oy,xe,ym); openfl__$internal_renderer_canvas_CanvasGraphics.context.bezierCurveTo(xe,ym + oy,xm + ox,ye,xm,ye); openfl__$internal_renderer_canvas_CanvasGraphics.context.bezierCurveTo(xm - ox,ye,x,ym + oy,x,ym); break; case 8: var _g10 = data.prev; switch(_g10[1]) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl__$internal_renderer_DrawCommandType.DRAW_QUADS; var this9 = data; var c8 = this9; var rects = c8.buffer.o[c8.oPos]; var indices = c8.buffer.o[c8.oPos + 1]; var transforms = c8.buffer.o[c8.oPos + 2]; var hasIndices = indices != null; var transformABCD = false; var transformXY = false; var length = hasIndices ? indices.get_length() : Math.floor(rects.get_length() / 4); if(length == 0) { return; } if(transforms != null) { if(transforms.get_length() >= length * 6) { transformABCD = true; transformXY = true; } else if(transforms.get_length() >= length * 4) { transformABCD = true; } else if(transforms.get_length() >= length * 2) { transformXY = true; } } var tileRect = openfl_geom_Rectangle.__pool.get(); var tileTransform = openfl_geom_Matrix.__pool.get(); var sourceRect = openfl__$internal_renderer_canvas_CanvasGraphics.bitmapFill != null ? openfl__$internal_renderer_canvas_CanvasGraphics.bitmapFill.rect : null; var transform = openfl__$internal_renderer_canvas_CanvasGraphics.graphics.__renderTransform; var alpha = openfl__$internal_renderer_canvas_CanvasGraphics.worldAlpha; var ri; var ti; openfl__$internal_renderer_canvas_CanvasGraphics.context.save(); var _g31 = 0; var _g21 = length; while(_g31 < _g21) { var i = _g31++; if(hasIndices) { ri = indices.get(i) * 4; } else { ri = i * 4; } if(ri < 0) { continue; } tileRect.setTo(rects.get(ri),rects.get(ri + 1),rects.get(ri + 2),rects.get(ri + 3)); if(tileRect.width <= 0 || tileRect.height <= 0) { continue; } if(transformABCD && transformXY) { ti = i * 6; tileTransform.setTo(transforms.get(ti),transforms.get(ti + 1),transforms.get(ti + 2),transforms.get(ti + 3),transforms.get(ti + 4),transforms.get(ti + 5)); } else if(transformABCD) { ti = i * 4; tileTransform.setTo(transforms.get(ti),transforms.get(ti + 1),transforms.get(ti + 2),transforms.get(ti + 3),tileRect.x,tileRect.y); } else if(transformXY) { ti = i * 2; tileTransform.tx = transforms.get(ti); tileTransform.ty = transforms.get(ti + 1); } else { tileTransform.tx = tileRect.x; tileTransform.ty = tileRect.y; } tileTransform.tx += positionX - offsetX; tileTransform.ty += positionY - offsetY; tileTransform.concat(transform); openfl__$internal_renderer_canvas_CanvasGraphics.context.setTransform(tileTransform.a,tileTransform.b,tileTransform.c,tileTransform.d,tileTransform.tx,tileTransform.ty); if(openfl__$internal_renderer_canvas_CanvasGraphics.bitmapFill != null) { openfl__$internal_renderer_canvas_CanvasGraphics.context.drawImage(openfl__$internal_renderer_canvas_CanvasGraphics.bitmapFill.image.get_src(),tileRect.x,tileRect.y,tileRect.width,tileRect.height,0,0,tileRect.width,tileRect.height); } else { openfl__$internal_renderer_canvas_CanvasGraphics.context.fillRect(0,0,tileRect.width,tileRect.height); } } openfl_geom_Rectangle.__pool.release(tileRect); openfl_geom_Matrix.__pool.release(tileTransform); openfl__$internal_renderer_canvas_CanvasGraphics.context.restore(); break; case 9: var _g11 = data.prev; switch(_g11[1]) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl__$internal_renderer_DrawCommandType.DRAW_RECT; var this10 = data; var c9 = this10; optimizationUsed = false; if(openfl__$internal_renderer_canvas_CanvasGraphics.bitmapFill != null && !openfl__$internal_renderer_canvas_CanvasGraphics.hitTesting) { st = 0; sr = 0; sb = 0; sl = 0; canOptimizeMatrix = true; if(openfl__$internal_renderer_canvas_CanvasGraphics.pendingMatrix != null) { if(openfl__$internal_renderer_canvas_CanvasGraphics.pendingMatrix.b != 0 || openfl__$internal_renderer_canvas_CanvasGraphics.pendingMatrix.c != 0) { canOptimizeMatrix = false; } else { if(stl == null) { stl = openfl_geom_Point.__pool.get(); } if(sbr == null) { sbr = openfl_geom_Point.__pool.get(); } stl.setTo(c9.buffer.f[c9.fPos],c9.buffer.f[c9.fPos + 1]); var _this = openfl__$internal_renderer_canvas_CanvasGraphics.inversePendingMatrix; var px = stl.x; var py = stl.y; stl.x = px * _this.a + py * _this.c + _this.tx; stl.y = px * _this.b + py * _this.d + _this.ty; sbr.setTo(c9.buffer.f[c9.fPos] + c9.buffer.f[c9.fPos + 2],c9.buffer.f[c9.fPos + 1] + c9.buffer.f[c9.fPos + 3]); var _this1 = openfl__$internal_renderer_canvas_CanvasGraphics.inversePendingMatrix; var px1 = sbr.x; var py1 = sbr.y; sbr.x = px1 * _this1.a + py1 * _this1.c + _this1.tx; sbr.y = px1 * _this1.b + py1 * _this1.d + _this1.ty; st = stl.y; sl = stl.x; sb = sbr.y; sr = sbr.x; } } else { st = c9.buffer.f[c9.fPos + 1]; sl = c9.buffer.f[c9.fPos]; sb = c9.buffer.f[c9.fPos + 1] + c9.buffer.f[c9.fPos + 3]; sr = c9.buffer.f[c9.fPos] + c9.buffer.f[c9.fPos + 2]; } if(canOptimizeMatrix && st >= 0 && sl >= 0 && sr <= openfl__$internal_renderer_canvas_CanvasGraphics.bitmapFill.width && sb <= openfl__$internal_renderer_canvas_CanvasGraphics.bitmapFill.height) { optimizationUsed = true; if(!openfl__$internal_renderer_canvas_CanvasGraphics.hitTesting) { openfl__$internal_renderer_canvas_CanvasGraphics.context.drawImage(openfl__$internal_renderer_canvas_CanvasGraphics.bitmapFill.image.get_src(),sl,st,sr - sl,sb - st,c9.buffer.f[c9.fPos] - offsetX,c9.buffer.f[c9.fPos + 1] - offsetY,c9.buffer.f[c9.fPos + 2],c9.buffer.f[c9.fPos + 3]); } } } if(!optimizationUsed) { hasPath = true; openfl__$internal_renderer_canvas_CanvasGraphics.context.rect(c9.buffer.f[c9.fPos] - offsetX,c9.buffer.f[c9.fPos + 1] - offsetY,c9.buffer.f[c9.fPos + 2],c9.buffer.f[c9.fPos + 3]); } break; case 10: var _g12 = data.prev; switch(_g12[1]) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl__$internal_renderer_DrawCommandType.DRAW_ROUND_RECT; var this11 = data; var c10 = this11; hasPath = true; openfl__$internal_renderer_canvas_CanvasGraphics.drawRoundRect(c10.buffer.f[c10.fPos] - offsetX,c10.buffer.f[c10.fPos + 1] - offsetY,c10.buffer.f[c10.fPos + 2],c10.buffer.f[c10.fPos + 3],c10.buffer.f[c10.fPos + 4],c10.buffer.o[c10.oPos]); break; case 12: var _g13 = data.prev; switch(_g13[1]) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl__$internal_renderer_DrawCommandType.DRAW_TRIANGLES; var this12 = data; var c11 = this12; var v = c11.buffer.o[c11.oPos]; var ind = c11.buffer.o[c11.oPos + 1]; var uvt = c11.buffer.o[c11.oPos + 2]; var pattern = null; var colorFill = openfl__$internal_renderer_canvas_CanvasGraphics.bitmapFill == null; if(colorFill && uvt != null) { throw "__break__"; } if(!colorFill) { if(uvt == null) { uvt = openfl__$Vector_Vector_$Impl_$.toFloatVector(null); var _g32 = 0; var _g22 = v.get_length() / 2 | 0; while(_g32 < _g22) { var i1 = _g32++; uvt.push(v.get(i1 * 2) - offsetX / openfl__$internal_renderer_canvas_CanvasGraphics.bitmapFill.width); uvt.push(v.get(i1 * 2 + 1) - offsetY / openfl__$internal_renderer_canvas_CanvasGraphics.bitmapFill.height); } } var skipT = uvt.get_length() != v.get_length(); var normalizedUVT = openfl__$internal_renderer_canvas_CanvasGraphics.normalizeUVT(uvt,skipT); var maxUVT = normalizedUVT.max; uvt = normalizedUVT.uvt; if(maxUVT > 1) { pattern = openfl__$internal_renderer_canvas_CanvasGraphics.createTempPatternCanvas(openfl__$internal_renderer_canvas_CanvasGraphics.bitmapFill,openfl__$internal_renderer_canvas_CanvasGraphics.bitmapRepeat,openfl__$internal_renderer_canvas_CanvasGraphics.bounds.width | 0,openfl__$internal_renderer_canvas_CanvasGraphics.bounds.height | 0); } else { pattern = openfl__$internal_renderer_canvas_CanvasGraphics.createTempPatternCanvas(openfl__$internal_renderer_canvas_CanvasGraphics.bitmapFill,openfl__$internal_renderer_canvas_CanvasGraphics.bitmapRepeat,openfl__$internal_renderer_canvas_CanvasGraphics.bitmapFill.width,openfl__$internal_renderer_canvas_CanvasGraphics.bitmapFill.height); } } var i2 = 0; var l = ind.get_length(); var a_; var b_; var c_; var iax; var iay; var ibx; var iby; var icx; var icy; var x1; var y1; var x2; var y2; var x3; var y3; var uvx1; var uvy1; var uvx2; var uvy2; var uvx3; var uvy3; var denom; var t1; var t2; var t3; var t4; var dx; var dy; while(i2 < l) { a_ = i2; b_ = i2 + 1; c_ = i2 + 2; iax = ind.get(a_) * 2; iay = ind.get(a_) * 2 + 1; ibx = ind.get(b_) * 2; iby = ind.get(b_) * 2 + 1; icx = ind.get(c_) * 2; icy = ind.get(c_) * 2 + 1; x1 = v.get(iax) - offsetX; y1 = v.get(iay) - offsetY; x2 = v.get(ibx) - offsetX; y2 = v.get(iby) - offsetY; x3 = v.get(icx) - offsetX; y3 = v.get(icy) - offsetY; var _g23 = c11.buffer.o[c11.oPos + 3]; switch(_g23) { case 0: if((x2 - x1) * (y3 - y1) - (y2 - y1) * (x3 - x1) < 0) { i2 += 3; continue; } break; case 2: if(!((x2 - x1) * (y3 - y1) - (y2 - y1) * (x3 - x1) < 0)) { i2 += 3; continue; } break; default: } if(colorFill) { openfl__$internal_renderer_canvas_CanvasGraphics.context.beginPath(); openfl__$internal_renderer_canvas_CanvasGraphics.context.moveTo(x1,y1); openfl__$internal_renderer_canvas_CanvasGraphics.context.lineTo(x2,y2); openfl__$internal_renderer_canvas_CanvasGraphics.context.lineTo(x3,y3); openfl__$internal_renderer_canvas_CanvasGraphics.context.closePath(); if(!openfl__$internal_renderer_canvas_CanvasGraphics.hitTesting) { openfl__$internal_renderer_canvas_CanvasGraphics.context.fill(openfl__$internal_renderer_canvas_CanvasGraphics.windingRule); } i2 += 3; continue; } uvx1 = uvt.get(iax) * pattern.width; uvx2 = uvt.get(ibx) * pattern.width; uvx3 = uvt.get(icx) * pattern.width; uvy1 = uvt.get(iay) * pattern.height; uvy2 = uvt.get(iby) * pattern.height; uvy3 = uvt.get(icy) * pattern.height; denom = uvx1 * (uvy3 - uvy2) - uvx2 * uvy3 + uvx3 * uvy2 + (uvx2 - uvx3) * uvy1; if(denom == 0) { i2 += 3; openfl__$internal_renderer_canvas_CanvasGraphics.context.restore(); continue; } openfl__$internal_renderer_canvas_CanvasGraphics.context.save(); openfl__$internal_renderer_canvas_CanvasGraphics.context.beginPath(); openfl__$internal_renderer_canvas_CanvasGraphics.context.moveTo(x1,y1); openfl__$internal_renderer_canvas_CanvasGraphics.context.lineTo(x2,y2); openfl__$internal_renderer_canvas_CanvasGraphics.context.lineTo(x3,y3); openfl__$internal_renderer_canvas_CanvasGraphics.context.closePath(); openfl__$internal_renderer_canvas_CanvasGraphics.context.clip(); t1 = -(uvy1 * (x3 - x2) - uvy2 * x3 + uvy3 * x2 + (uvy2 - uvy3) * x1) / denom; t2 = (uvy2 * y3 + uvy1 * (y2 - y3) - uvy3 * y2 + (uvy3 - uvy2) * y1) / denom; t3 = (uvx1 * (x3 - x2) - uvx2 * x3 + uvx3 * x2 + (uvx2 - uvx3) * x1) / denom; t4 = -(uvx2 * y3 + uvx1 * (y2 - y3) - uvx3 * y2 + (uvx3 - uvx2) * y1) / denom; dx = (uvx1 * (uvy3 * x2 - uvy2 * x3) + uvy1 * (uvx2 * x3 - uvx3 * x2) + (uvx3 * uvy2 - uvx2 * uvy3) * x1) / denom; dy = (uvx1 * (uvy3 * y2 - uvy2 * y3) + uvy1 * (uvx2 * y3 - uvx3 * y2) + (uvx3 * uvy2 - uvx2 * uvy3) * y1) / denom; openfl__$internal_renderer_canvas_CanvasGraphics.context.transform(t1,t2,t3,t4,dx,dy); openfl__$internal_renderer_canvas_CanvasGraphics.context.drawImage(pattern,0,0,pattern.width,pattern.height); openfl__$internal_renderer_canvas_CanvasGraphics.context.restore(); i2 += 3; } break; case 14: var _g14 = data.prev; switch(_g14[1]) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl__$internal_renderer_DrawCommandType.LINE_BITMAP_STYLE; var this13 = data; var c12 = this13; if(stroke && openfl__$internal_renderer_canvas_CanvasGraphics.hasStroke) { openfl__$internal_renderer_canvas_CanvasGraphics.closePath(); } openfl__$internal_renderer_canvas_CanvasGraphics.context.moveTo(positionX - offsetX,positionY - offsetY); openfl__$internal_renderer_canvas_CanvasGraphics.context.strokeStyle = openfl__$internal_renderer_canvas_CanvasGraphics.createBitmapFill(c12.buffer.o[c12.oPos],c12.buffer.b[c12.bPos],c12.buffer.b[c12.bPos + 1]); openfl__$internal_renderer_canvas_CanvasGraphics.hasStroke = true; break; case 15: var _g15 = data.prev; switch(_g15[1]) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl__$internal_renderer_DrawCommandType.LINE_GRADIENT_STYLE; var this14 = data; var c13 = this14; if(stroke && openfl__$internal_renderer_canvas_CanvasGraphics.hasStroke) { openfl__$internal_renderer_canvas_CanvasGraphics.closePath(); } openfl__$internal_renderer_canvas_CanvasGraphics.context.moveTo(positionX - offsetX,positionY - offsetY); openfl__$internal_renderer_canvas_CanvasGraphics.context.strokeStyle = openfl__$internal_renderer_canvas_CanvasGraphics.createGradientPattern(c13.buffer.o[c13.oPos],c13.buffer.ii[c13.iiPos],c13.buffer.ff[c13.ffPos],c13.buffer.ii[c13.iiPos + 1],c13.buffer.o[c13.oPos + 1],c13.buffer.o[c13.oPos + 2],c13.buffer.o[c13.oPos + 3],c13.buffer.f[c13.fPos]); openfl__$internal_renderer_canvas_CanvasGraphics.setSmoothing(true); openfl__$internal_renderer_canvas_CanvasGraphics.hasStroke = true; break; case 16: var _g16 = data.prev; switch(_g16[1]) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl__$internal_renderer_DrawCommandType.LINE_STYLE; var this15 = data; var c14 = this15; if(stroke && openfl__$internal_renderer_canvas_CanvasGraphics.hasStroke) { openfl__$internal_renderer_canvas_CanvasGraphics.closePath(true); } openfl__$internal_renderer_canvas_CanvasGraphics.context.moveTo(positionX - offsetX,positionY - offsetY); if(c14.buffer.o[c14.oPos] == null) { openfl__$internal_renderer_canvas_CanvasGraphics.hasStroke = false; } else { openfl__$internal_renderer_canvas_CanvasGraphics.context.lineWidth = c14.buffer.o[c14.oPos] > 0 ? c14.buffer.o[c14.oPos] : 1; var tmp1 = c14.buffer.o[c14.oPos + 3] == null ? "round" : openfl_display__$JointStyle_JointStyle_$Impl_$.toString(c14.buffer.o[c14.oPos + 3]).toLowerCase(); openfl__$internal_renderer_canvas_CanvasGraphics.context.lineJoin = tmp1; var tmp2; if(c14.buffer.o[c14.oPos + 2] == null) { tmp2 = "round"; } else { var _g24 = c14.buffer.o[c14.oPos + 2]; if(_g24 == 0) { tmp2 = "butt"; } else { tmp2 = openfl_display__$CapsStyle_CapsStyle_$Impl_$.toString(c14.buffer.o[c14.oPos + 2]).toLowerCase(); } } openfl__$internal_renderer_canvas_CanvasGraphics.context.lineCap = tmp2; openfl__$internal_renderer_canvas_CanvasGraphics.context.miterLimit = c14.buffer.f[c14.fPos + 1]; if(c14.buffer.f[c14.fPos] == 1) { var tmp3 = StringTools.hex(c14.buffer.i[c14.iPos] & 16777215,6); openfl__$internal_renderer_canvas_CanvasGraphics.context.strokeStyle = "#" + tmp3; } else { r = (c14.buffer.i[c14.iPos] & 16711680) >>> 16; g = (c14.buffer.i[c14.iPos] & 65280) >>> 8; b = c14.buffer.i[c14.iPos] & 255; openfl__$internal_renderer_canvas_CanvasGraphics.context.strokeStyle = "rgba(" + r + ", " + g + ", " + b + ", " + c14.buffer.f[c14.fPos] + ")"; } openfl__$internal_renderer_canvas_CanvasGraphics.setSmoothing(true); openfl__$internal_renderer_canvas_CanvasGraphics.hasStroke = true; } break; case 17: var _g17 = data.prev; switch(_g17[1]) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl__$internal_renderer_DrawCommandType.LINE_TO; var this16 = data; var c15 = this16; hasPath = true; openfl__$internal_renderer_canvas_CanvasGraphics.context.lineTo(c15.buffer.f[c15.fPos] - offsetX,c15.buffer.f[c15.fPos + 1] - offsetY); positionX = c15.buffer.f[c15.fPos]; positionY = c15.buffer.f[c15.fPos + 1]; if(positionX == startX && positionY == startY) { closeGap = true; } break; case 18: var _g18 = data.prev; switch(_g18[1]) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl__$internal_renderer_DrawCommandType.MOVE_TO; var this17 = data; var c16 = this17; openfl__$internal_renderer_canvas_CanvasGraphics.context.moveTo(c16.buffer.f[c16.fPos] - offsetX,c16.buffer.f[c16.fPos + 1] - offsetY); positionX = c16.buffer.f[c16.fPos]; positionY = c16.buffer.f[c16.fPos + 1]; if(setStart) { closeGap = true; } startX = c16.buffer.f[c16.fPos]; startY = c16.buffer.f[c16.fPos + 1]; setStart = true; break; case 21: openfl__$internal_renderer_canvas_CanvasGraphics.windingRule = "evenodd"; break; case 22: openfl__$internal_renderer_canvas_CanvasGraphics.windingRule = "nonzero"; break; default: var _g19 = data.prev; switch(_g19[1]) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = type; } } } catch( e ) { if( e != "__break__" ) throw e; } if(stl != null) { openfl_geom_Point.__pool.release(stl); } if(sbr != null) { openfl_geom_Point.__pool.release(sbr); } data.destroy(); if(hasPath) { if(stroke && openfl__$internal_renderer_canvas_CanvasGraphics.hasStroke) { if(openfl__$internal_renderer_canvas_CanvasGraphics.hasFill && closeGap) { openfl__$internal_renderer_canvas_CanvasGraphics.context.lineTo(startX - offsetX,startY - offsetY); openfl__$internal_renderer_canvas_CanvasGraphics.closePath(false); } else if(closeGap && positionX == startX && positionY == startY) { openfl__$internal_renderer_canvas_CanvasGraphics.closePath(false); } if(!openfl__$internal_renderer_canvas_CanvasGraphics.hitTesting) { openfl__$internal_renderer_canvas_CanvasGraphics.context.stroke(); } } if(!stroke) { if(openfl__$internal_renderer_canvas_CanvasGraphics.hasFill || openfl__$internal_renderer_canvas_CanvasGraphics.bitmapFill != null) { openfl__$internal_renderer_canvas_CanvasGraphics.context.translate(-openfl__$internal_renderer_canvas_CanvasGraphics.bounds.x,-openfl__$internal_renderer_canvas_CanvasGraphics.bounds.y); if(openfl__$internal_renderer_canvas_CanvasGraphics.pendingMatrix != null) { openfl__$internal_renderer_canvas_CanvasGraphics.context.transform(openfl__$internal_renderer_canvas_CanvasGraphics.pendingMatrix.a,openfl__$internal_renderer_canvas_CanvasGraphics.pendingMatrix.b,openfl__$internal_renderer_canvas_CanvasGraphics.pendingMatrix.c,openfl__$internal_renderer_canvas_CanvasGraphics.pendingMatrix.d,openfl__$internal_renderer_canvas_CanvasGraphics.pendingMatrix.tx,openfl__$internal_renderer_canvas_CanvasGraphics.pendingMatrix.ty); if(!openfl__$internal_renderer_canvas_CanvasGraphics.hitTesting) { openfl__$internal_renderer_canvas_CanvasGraphics.context.fill(openfl__$internal_renderer_canvas_CanvasGraphics.windingRule); } openfl__$internal_renderer_canvas_CanvasGraphics.context.transform(openfl__$internal_renderer_canvas_CanvasGraphics.inversePendingMatrix.a,openfl__$internal_renderer_canvas_CanvasGraphics.inversePendingMatrix.b,openfl__$internal_renderer_canvas_CanvasGraphics.inversePendingMatrix.c,openfl__$internal_renderer_canvas_CanvasGraphics.inversePendingMatrix.d,openfl__$internal_renderer_canvas_CanvasGraphics.inversePendingMatrix.tx,openfl__$internal_renderer_canvas_CanvasGraphics.inversePendingMatrix.ty); } else if(!openfl__$internal_renderer_canvas_CanvasGraphics.hitTesting) { openfl__$internal_renderer_canvas_CanvasGraphics.context.fill(openfl__$internal_renderer_canvas_CanvasGraphics.windingRule); } openfl__$internal_renderer_canvas_CanvasGraphics.context.translate(openfl__$internal_renderer_canvas_CanvasGraphics.bounds.x,openfl__$internal_renderer_canvas_CanvasGraphics.bounds.y); openfl__$internal_renderer_canvas_CanvasGraphics.context.closePath(); } } } }; openfl__$internal_renderer_canvas_CanvasGraphics.render = function(graphics,renderer) { graphics.__update(renderer.__worldTransform); if(graphics.__softwareDirty) { openfl__$internal_renderer_canvas_CanvasGraphics.hitTesting = false; openfl__$internal_renderer_canvas_CanvasGraphics.graphics = graphics; openfl__$internal_renderer_canvas_CanvasGraphics.allowSmoothing = renderer.__allowSmoothing; openfl__$internal_renderer_canvas_CanvasGraphics.worldAlpha = renderer.__getAlpha(graphics.__owner.__worldAlpha); openfl__$internal_renderer_canvas_CanvasGraphics.bounds = graphics.__bounds; var width = graphics.__width; var height = graphics.__height; if(!graphics.__visible || graphics.__commands.get_length() == 0 || openfl__$internal_renderer_canvas_CanvasGraphics.bounds == null || width < 1 || height < 1) { graphics.__canvas = null; graphics.__context = null; graphics.__bitmap = null; } else { if(graphics.__canvas == null) { graphics.__canvas = window.document.createElement("canvas"); graphics.__context = graphics.__canvas.getContext("2d"); } openfl__$internal_renderer_canvas_CanvasGraphics.context = graphics.__context; var transform = graphics.__renderTransform; var canvas = graphics.__canvas; var scale = renderer.pixelRatio; var scaledWidth = width * scale | 0; var scaledHeight = height * scale | 0; renderer.__setBlendModeContext(openfl__$internal_renderer_canvas_CanvasGraphics.context,10); if(renderer.__isDOM) { if(canvas.width == scaledWidth && canvas.height == scaledHeight) { openfl__$internal_renderer_canvas_CanvasGraphics.context.clearRect(0,0,scaledWidth,scaledHeight); } else { canvas.width = scaledWidth; canvas.height = scaledHeight; canvas.style.width = width + "px"; canvas.style.height = height + "px"; } var transform1 = graphics.__renderTransform; openfl__$internal_renderer_canvas_CanvasGraphics.context.setTransform(transform1.a * scale,transform1.b * scale,transform1.c * scale,transform1.d * scale,transform1.tx * scale,transform1.ty * scale); } else { if(canvas.width == scaledWidth && canvas.height == scaledHeight) { openfl__$internal_renderer_canvas_CanvasGraphics.context.closePath(); openfl__$internal_renderer_canvas_CanvasGraphics.context.setTransform(1,0,0,1,0,0); openfl__$internal_renderer_canvas_CanvasGraphics.context.clearRect(0,0,scaledWidth,scaledHeight); } else { canvas.width = width; canvas.height = height; } openfl__$internal_renderer_canvas_CanvasGraphics.context.setTransform(transform.a,transform.b,transform.c,transform.d,transform.tx,transform.ty); } openfl__$internal_renderer_canvas_CanvasGraphics.fillCommands.clear(); openfl__$internal_renderer_canvas_CanvasGraphics.strokeCommands.clear(); openfl__$internal_renderer_canvas_CanvasGraphics.hasFill = false; openfl__$internal_renderer_canvas_CanvasGraphics.hasStroke = false; openfl__$internal_renderer_canvas_CanvasGraphics.bitmapFill = null; openfl__$internal_renderer_canvas_CanvasGraphics.bitmapRepeat = false; var hasLineStyle = false; var initStrokeX = 0.0; var initStrokeY = 0.0; openfl__$internal_renderer_canvas_CanvasGraphics.windingRule = "evenodd"; var data = new openfl__$internal_renderer_DrawCommandReader(graphics.__commands); var _g = 0; var _g1 = graphics.__commands.types; while(_g < _g1.length) { var type = _g1[_g]; ++_g; switch(type[1]) { case 0:case 1:case 2:case 3: openfl__$internal_renderer_canvas_CanvasGraphics.endFill(); openfl__$internal_renderer_canvas_CanvasGraphics.endStroke(); if(type == openfl__$internal_renderer_DrawCommandType.BEGIN_BITMAP_FILL) { var _g2 = data.prev; switch(_g2[1]) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl__$internal_renderer_DrawCommandType.BEGIN_BITMAP_FILL; var this1 = data; var c = this1; openfl__$internal_renderer_canvas_CanvasGraphics.fillCommands.beginBitmapFill(c.buffer.o[c.oPos],c.buffer.o[c.oPos + 1],c.buffer.b[c.bPos],c.buffer.b[c.bPos + 1]); openfl__$internal_renderer_canvas_CanvasGraphics.strokeCommands.beginBitmapFill(c.buffer.o[c.oPos],c.buffer.o[c.oPos + 1],c.buffer.b[c.bPos],c.buffer.b[c.bPos + 1]); } else if(type == openfl__$internal_renderer_DrawCommandType.BEGIN_GRADIENT_FILL) { var _g3 = data.prev; switch(_g3[1]) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl__$internal_renderer_DrawCommandType.BEGIN_GRADIENT_FILL; var this2 = data; var c1 = this2; openfl__$internal_renderer_canvas_CanvasGraphics.fillCommands.beginGradientFill(c1.buffer.o[c1.oPos],c1.buffer.ii[c1.iiPos],c1.buffer.ff[c1.ffPos],c1.buffer.ii[c1.iiPos + 1],c1.buffer.o[c1.oPos + 1],c1.buffer.o[c1.oPos + 2],c1.buffer.o[c1.oPos + 3],c1.buffer.f[c1.fPos]); openfl__$internal_renderer_canvas_CanvasGraphics.strokeCommands.beginGradientFill(c1.buffer.o[c1.oPos],c1.buffer.ii[c1.iiPos],c1.buffer.ff[c1.ffPos],c1.buffer.ii[c1.iiPos + 1],c1.buffer.o[c1.oPos + 1],c1.buffer.o[c1.oPos + 2],c1.buffer.o[c1.oPos + 3],c1.buffer.f[c1.fPos]); } else if(type == openfl__$internal_renderer_DrawCommandType.BEGIN_SHADER_FILL) { var _g4 = data.prev; switch(_g4[1]) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl__$internal_renderer_DrawCommandType.BEGIN_SHADER_FILL; var this3 = data; var c2 = this3; openfl__$internal_renderer_canvas_CanvasGraphics.fillCommands.beginShaderFill(c2.buffer.o[c2.oPos]); openfl__$internal_renderer_canvas_CanvasGraphics.strokeCommands.beginShaderFill(c2.buffer.o[c2.oPos]); } else { var _g5 = data.prev; switch(_g5[1]) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl__$internal_renderer_DrawCommandType.BEGIN_FILL; var this4 = data; var c3 = this4; openfl__$internal_renderer_canvas_CanvasGraphics.fillCommands.beginFill(c3.buffer.i[c3.iPos],c3.buffer.f[c3.fPos]); openfl__$internal_renderer_canvas_CanvasGraphics.strokeCommands.beginFill(c3.buffer.i[c3.iPos],c3.buffer.f[c3.fPos]); } break; case 4: var _g6 = data.prev; switch(_g6[1]) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl__$internal_renderer_DrawCommandType.CUBIC_CURVE_TO; var this5 = data; var c4 = this5; openfl__$internal_renderer_canvas_CanvasGraphics.fillCommands.cubicCurveTo(c4.buffer.f[c4.fPos],c4.buffer.f[c4.fPos + 1],c4.buffer.f[c4.fPos + 2],c4.buffer.f[c4.fPos + 3],c4.buffer.f[c4.fPos + 4],c4.buffer.f[c4.fPos + 5]); if(hasLineStyle) { openfl__$internal_renderer_canvas_CanvasGraphics.strokeCommands.cubicCurveTo(c4.buffer.f[c4.fPos],c4.buffer.f[c4.fPos + 1],c4.buffer.f[c4.fPos + 2],c4.buffer.f[c4.fPos + 3],c4.buffer.f[c4.fPos + 4],c4.buffer.f[c4.fPos + 5]); } else { initStrokeX = c4.buffer.f[c4.fPos + 4]; initStrokeY = c4.buffer.f[c4.fPos + 5]; } break; case 5: var _g7 = data.prev; switch(_g7[1]) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl__$internal_renderer_DrawCommandType.CURVE_TO; var this6 = data; var c5 = this6; openfl__$internal_renderer_canvas_CanvasGraphics.fillCommands.curveTo(c5.buffer.f[c5.fPos],c5.buffer.f[c5.fPos + 1],c5.buffer.f[c5.fPos + 2],c5.buffer.f[c5.fPos + 3]); if(hasLineStyle) { openfl__$internal_renderer_canvas_CanvasGraphics.strokeCommands.curveTo(c5.buffer.f[c5.fPos],c5.buffer.f[c5.fPos + 1],c5.buffer.f[c5.fPos + 2],c5.buffer.f[c5.fPos + 3]); } else { initStrokeX = c5.buffer.f[c5.fPos + 2]; initStrokeY = c5.buffer.f[c5.fPos + 3]; } break; case 6: var _g8 = data.prev; switch(_g8[1]) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl__$internal_renderer_DrawCommandType.DRAW_CIRCLE; var this7 = data; var c6 = this7; openfl__$internal_renderer_canvas_CanvasGraphics.fillCommands.drawCircle(c6.buffer.f[c6.fPos],c6.buffer.f[c6.fPos + 1],c6.buffer.f[c6.fPos + 2]); if(hasLineStyle) { openfl__$internal_renderer_canvas_CanvasGraphics.strokeCommands.drawCircle(c6.buffer.f[c6.fPos],c6.buffer.f[c6.fPos + 1],c6.buffer.f[c6.fPos + 2]); } break; case 7: var _g9 = data.prev; switch(_g9[1]) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl__$internal_renderer_DrawCommandType.DRAW_ELLIPSE; var this8 = data; var c7 = this8; openfl__$internal_renderer_canvas_CanvasGraphics.fillCommands.drawEllipse(c7.buffer.f[c7.fPos],c7.buffer.f[c7.fPos + 1],c7.buffer.f[c7.fPos + 2],c7.buffer.f[c7.fPos + 3]); if(hasLineStyle) { openfl__$internal_renderer_canvas_CanvasGraphics.strokeCommands.drawEllipse(c7.buffer.f[c7.fPos],c7.buffer.f[c7.fPos + 1],c7.buffer.f[c7.fPos + 2],c7.buffer.f[c7.fPos + 3]); } break; case 8: var _g10 = data.prev; switch(_g10[1]) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl__$internal_renderer_DrawCommandType.DRAW_QUADS; var this9 = data; var c8 = this9; openfl__$internal_renderer_canvas_CanvasGraphics.fillCommands.drawQuads(c8.buffer.o[c8.oPos],c8.buffer.o[c8.oPos + 1],c8.buffer.o[c8.oPos + 2]); break; case 9: var _g11 = data.prev; switch(_g11[1]) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl__$internal_renderer_DrawCommandType.DRAW_RECT; var this10 = data; var c9 = this10; openfl__$internal_renderer_canvas_CanvasGraphics.fillCommands.drawRect(c9.buffer.f[c9.fPos],c9.buffer.f[c9.fPos + 1],c9.buffer.f[c9.fPos + 2],c9.buffer.f[c9.fPos + 3]); if(hasLineStyle) { openfl__$internal_renderer_canvas_CanvasGraphics.strokeCommands.drawRect(c9.buffer.f[c9.fPos],c9.buffer.f[c9.fPos + 1],c9.buffer.f[c9.fPos + 2],c9.buffer.f[c9.fPos + 3]); } break; case 10: var _g12 = data.prev; switch(_g12[1]) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl__$internal_renderer_DrawCommandType.DRAW_ROUND_RECT; var this11 = data; var c10 = this11; openfl__$internal_renderer_canvas_CanvasGraphics.fillCommands.drawRoundRect(c10.buffer.f[c10.fPos],c10.buffer.f[c10.fPos + 1],c10.buffer.f[c10.fPos + 2],c10.buffer.f[c10.fPos + 3],c10.buffer.f[c10.fPos + 4],c10.buffer.o[c10.oPos]); if(hasLineStyle) { openfl__$internal_renderer_canvas_CanvasGraphics.strokeCommands.drawRoundRect(c10.buffer.f[c10.fPos],c10.buffer.f[c10.fPos + 1],c10.buffer.f[c10.fPos + 2],c10.buffer.f[c10.fPos + 3],c10.buffer.f[c10.fPos + 4],c10.buffer.o[c10.oPos]); } break; case 12: var _g13 = data.prev; switch(_g13[1]) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl__$internal_renderer_DrawCommandType.DRAW_TRIANGLES; var this12 = data; var c11 = this12; openfl__$internal_renderer_canvas_CanvasGraphics.fillCommands.drawTriangles(c11.buffer.o[c11.oPos],c11.buffer.o[c11.oPos + 1],c11.buffer.o[c11.oPos + 2],c11.buffer.o[c11.oPos + 3]); break; case 13: var _g14 = data.prev; switch(_g14[1]) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl__$internal_renderer_DrawCommandType.END_FILL; var this13 = data; openfl__$internal_renderer_canvas_CanvasGraphics.endFill(); openfl__$internal_renderer_canvas_CanvasGraphics.endStroke(); openfl__$internal_renderer_canvas_CanvasGraphics.hasFill = false; hasLineStyle = false; openfl__$internal_renderer_canvas_CanvasGraphics.bitmapFill = null; initStrokeX = 0; initStrokeY = 0; break; case 14: var _g15 = data.prev; switch(_g15[1]) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl__$internal_renderer_DrawCommandType.LINE_BITMAP_STYLE; var this14 = data; var c12 = this14; if(!hasLineStyle && (initStrokeX != 0 || initStrokeY != 0)) { openfl__$internal_renderer_canvas_CanvasGraphics.strokeCommands.moveTo(initStrokeX,initStrokeY); initStrokeX = 0; initStrokeY = 0; } hasLineStyle = true; openfl__$internal_renderer_canvas_CanvasGraphics.strokeCommands.lineBitmapStyle(c12.buffer.o[c12.oPos],c12.buffer.o[c12.oPos + 1],c12.buffer.b[c12.bPos],c12.buffer.b[c12.bPos + 1]); break; case 15: var _g16 = data.prev; switch(_g16[1]) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl__$internal_renderer_DrawCommandType.LINE_GRADIENT_STYLE; var this15 = data; var c13 = this15; if(!hasLineStyle && (initStrokeX != 0 || initStrokeY != 0)) { openfl__$internal_renderer_canvas_CanvasGraphics.strokeCommands.moveTo(initStrokeX,initStrokeY); initStrokeX = 0; initStrokeY = 0; } hasLineStyle = true; openfl__$internal_renderer_canvas_CanvasGraphics.strokeCommands.lineGradientStyle(c13.buffer.o[c13.oPos],c13.buffer.ii[c13.iiPos],c13.buffer.ff[c13.ffPos],c13.buffer.ii[c13.iiPos + 1],c13.buffer.o[c13.oPos + 1],c13.buffer.o[c13.oPos + 2],c13.buffer.o[c13.oPos + 3],c13.buffer.f[c13.fPos]); break; case 16: var _g17 = data.prev; switch(_g17[1]) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl__$internal_renderer_DrawCommandType.LINE_STYLE; var this16 = data; var c14 = this16; if(!hasLineStyle && c14.buffer.o[c14.oPos] != null) { if(initStrokeX != 0 || initStrokeY != 0) { openfl__$internal_renderer_canvas_CanvasGraphics.strokeCommands.moveTo(initStrokeX,initStrokeY); initStrokeX = 0; initStrokeY = 0; } } hasLineStyle = c14.buffer.o[c14.oPos] != null; openfl__$internal_renderer_canvas_CanvasGraphics.strokeCommands.lineStyle(c14.buffer.o[c14.oPos],c14.buffer.i[c14.iPos],c14.buffer.f[c14.fPos],c14.buffer.b[c14.bPos],c14.buffer.o[c14.oPos + 1],c14.buffer.o[c14.oPos + 2],c14.buffer.o[c14.oPos + 3],c14.buffer.f[c14.fPos + 1]); break; case 17: var _g18 = data.prev; switch(_g18[1]) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl__$internal_renderer_DrawCommandType.LINE_TO; var this17 = data; var c15 = this17; openfl__$internal_renderer_canvas_CanvasGraphics.fillCommands.lineTo(c15.buffer.f[c15.fPos],c15.buffer.f[c15.fPos + 1]); if(hasLineStyle) { openfl__$internal_renderer_canvas_CanvasGraphics.strokeCommands.lineTo(c15.buffer.f[c15.fPos],c15.buffer.f[c15.fPos + 1]); } else { initStrokeX = c15.buffer.f[c15.fPos]; initStrokeY = c15.buffer.f[c15.fPos + 1]; } break; case 18: var _g19 = data.prev; switch(_g19[1]) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl__$internal_renderer_DrawCommandType.MOVE_TO; var this18 = data; var c16 = this18; openfl__$internal_renderer_canvas_CanvasGraphics.fillCommands.moveTo(c16.buffer.f[c16.fPos],c16.buffer.f[c16.fPos + 1]); if(hasLineStyle) { openfl__$internal_renderer_canvas_CanvasGraphics.strokeCommands.moveTo(c16.buffer.f[c16.fPos],c16.buffer.f[c16.fPos + 1]); } else { initStrokeX = c16.buffer.f[c16.fPos]; initStrokeY = c16.buffer.f[c16.fPos + 1]; } break; case 19: var _g20 = data.prev; switch(_g20[1]) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl__$internal_renderer_DrawCommandType.OVERRIDE_BLEND_MODE; var this19 = data; var c17 = this19; renderer.__setBlendModeContext(openfl__$internal_renderer_canvas_CanvasGraphics.context,c17.buffer.o[c17.oPos]); break; case 21: var _g21 = data.prev; switch(_g21[1]) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl__$internal_renderer_DrawCommandType.WINDING_EVEN_ODD; var this20 = data; openfl__$internal_renderer_canvas_CanvasGraphics.fillCommands.windingEvenOdd(); openfl__$internal_renderer_canvas_CanvasGraphics.windingRule = "evenodd"; break; case 22: var _g22 = data.prev; switch(_g22[1]) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl__$internal_renderer_DrawCommandType.WINDING_NON_ZERO; var this21 = data; openfl__$internal_renderer_canvas_CanvasGraphics.fillCommands.windingNonZero(); openfl__$internal_renderer_canvas_CanvasGraphics.windingRule = "nonzero"; break; default: var _g23 = data.prev; switch(_g23[1]) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = type; } } if(openfl__$internal_renderer_canvas_CanvasGraphics.fillCommands.get_length() > 0) { openfl__$internal_renderer_canvas_CanvasGraphics.endFill(); } if(openfl__$internal_renderer_canvas_CanvasGraphics.strokeCommands.get_length() > 0) { openfl__$internal_renderer_canvas_CanvasGraphics.endStroke(); } data.destroy(); graphics.__bitmap = openfl_display_BitmapData.fromCanvas(graphics.__canvas); } graphics.__softwareDirty = false; graphics.set___dirty(false); } }; openfl__$internal_renderer_canvas_CanvasGraphics.renderMask = function(graphics,renderer) { if(graphics.__commands.get_length() != 0) { openfl__$internal_renderer_canvas_CanvasGraphics.context = renderer.context; var positionX = 0.0; var positionY = 0.0; var offsetX = 0; var offsetY = 0; var data = new openfl__$internal_renderer_DrawCommandReader(graphics.__commands); var x; var y; var width; var height; var kappa = .5522848; var ox; var oy; var xe; var ye; var xm; var ym; var _g = 0; var _g1 = graphics.__commands.types; while(_g < _g1.length) { var type = _g1[_g]; ++_g; switch(type[1]) { case 4: var _g2 = data.prev; switch(_g2[1]) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl__$internal_renderer_DrawCommandType.CUBIC_CURVE_TO; var this1 = data; var c = this1; openfl__$internal_renderer_canvas_CanvasGraphics.context.bezierCurveTo(c.buffer.f[c.fPos] - offsetX,c.buffer.f[c.fPos + 1] - offsetY,c.buffer.f[c.fPos + 2] - offsetX,c.buffer.f[c.fPos + 3] - offsetY,c.buffer.f[c.fPos + 4] - offsetX,c.buffer.f[c.fPos + 5] - offsetY); positionX = c.buffer.f[c.fPos + 4]; positionY = c.buffer.f[c.fPos + 5]; break; case 5: var _g3 = data.prev; switch(_g3[1]) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl__$internal_renderer_DrawCommandType.CURVE_TO; var this2 = data; var c1 = this2; openfl__$internal_renderer_canvas_CanvasGraphics.context.quadraticCurveTo(c1.buffer.f[c1.fPos] - offsetX,c1.buffer.f[c1.fPos + 1] - offsetY,c1.buffer.f[c1.fPos + 2] - offsetX,c1.buffer.f[c1.fPos + 3] - offsetY); positionX = c1.buffer.f[c1.fPos + 2]; positionY = c1.buffer.f[c1.fPos + 3]; break; case 6: var _g4 = data.prev; switch(_g4[1]) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl__$internal_renderer_DrawCommandType.DRAW_CIRCLE; var this3 = data; var c2 = this3; openfl__$internal_renderer_canvas_CanvasGraphics.context.arc(c2.buffer.f[c2.fPos] - offsetX,c2.buffer.f[c2.fPos + 1] - offsetY,c2.buffer.f[c2.fPos + 2],0,Math.PI * 2,true); break; case 7: var _g5 = data.prev; switch(_g5[1]) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl__$internal_renderer_DrawCommandType.DRAW_ELLIPSE; var this4 = data; var c3 = this4; x = c3.buffer.f[c3.fPos]; y = c3.buffer.f[c3.fPos + 1]; width = c3.buffer.f[c3.fPos + 2]; height = c3.buffer.f[c3.fPos + 3]; x -= offsetX; y -= offsetY; ox = width / 2 * kappa; oy = height / 2 * kappa; xe = x + width; ye = y + height; xm = x + width / 2; ym = y + height / 2; openfl__$internal_renderer_canvas_CanvasGraphics.context.moveTo(x,ym); openfl__$internal_renderer_canvas_CanvasGraphics.context.bezierCurveTo(x,ym - oy,xm - ox,y,xm,y); openfl__$internal_renderer_canvas_CanvasGraphics.context.bezierCurveTo(xm + ox,y,xe,ym - oy,xe,ym); openfl__$internal_renderer_canvas_CanvasGraphics.context.bezierCurveTo(xe,ym + oy,xm + ox,ye,xm,ye); openfl__$internal_renderer_canvas_CanvasGraphics.context.bezierCurveTo(xm - ox,ye,x,ym + oy,x,ym); break; case 9: var _g6 = data.prev; switch(_g6[1]) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl__$internal_renderer_DrawCommandType.DRAW_RECT; var this5 = data; var c4 = this5; openfl__$internal_renderer_canvas_CanvasGraphics.context.beginPath(); openfl__$internal_renderer_canvas_CanvasGraphics.context.rect(c4.buffer.f[c4.fPos] - offsetX,c4.buffer.f[c4.fPos + 1] - offsetY,c4.buffer.f[c4.fPos + 2],c4.buffer.f[c4.fPos + 3]); openfl__$internal_renderer_canvas_CanvasGraphics.context.closePath(); break; case 10: var _g7 = data.prev; switch(_g7[1]) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl__$internal_renderer_DrawCommandType.DRAW_ROUND_RECT; var this6 = data; var c5 = this6; openfl__$internal_renderer_canvas_CanvasGraphics.drawRoundRect(c5.buffer.f[c5.fPos] - offsetX,c5.buffer.f[c5.fPos + 1] - offsetY,c5.buffer.f[c5.fPos + 2],c5.buffer.f[c5.fPos + 3],c5.buffer.f[c5.fPos + 4],c5.buffer.o[c5.oPos]); break; case 17: var _g8 = data.prev; switch(_g8[1]) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl__$internal_renderer_DrawCommandType.LINE_TO; var this7 = data; var c6 = this7; openfl__$internal_renderer_canvas_CanvasGraphics.context.lineTo(c6.buffer.f[c6.fPos] - offsetX,c6.buffer.f[c6.fPos + 1] - offsetY); positionX = c6.buffer.f[c6.fPos]; positionY = c6.buffer.f[c6.fPos + 1]; break; case 18: var _g9 = data.prev; switch(_g9[1]) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl__$internal_renderer_DrawCommandType.MOVE_TO; var this8 = data; var c7 = this8; openfl__$internal_renderer_canvas_CanvasGraphics.context.moveTo(c7.buffer.f[c7.fPos] - offsetX,c7.buffer.f[c7.fPos + 1] - offsetY); positionX = c7.buffer.f[c7.fPos]; positionY = c7.buffer.f[c7.fPos + 1]; break; default: var _g10 = data.prev; switch(_g10[1]) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = type; } } data.destroy(); } }; openfl__$internal_renderer_canvas_CanvasGraphics.setSmoothing = function(smooth) { if(!openfl__$internal_renderer_canvas_CanvasGraphics.allowSmoothing) { smooth = false; } if(openfl__$internal_renderer_canvas_CanvasGraphics.context.imageSmoothingEnabled != smooth) { openfl__$internal_renderer_canvas_CanvasGraphics.context.imageSmoothingEnabled = smooth; } }; var openfl__$internal_renderer_canvas_CanvasShape = function() { }; $hxClasses["openfl._internal.renderer.canvas.CanvasShape"] = openfl__$internal_renderer_canvas_CanvasShape; openfl__$internal_renderer_canvas_CanvasShape.__name__ = ["openfl","_internal","renderer","canvas","CanvasShape"]; openfl__$internal_renderer_canvas_CanvasShape.render = function(shape,renderer) { if(!shape.__renderable) { return; } var alpha = renderer.__getAlpha(shape.__worldAlpha); if(alpha <= 0) { return; } var graphics = shape.__graphics; if(graphics != null) { openfl__$internal_renderer_canvas_CanvasGraphics.render(graphics,renderer); var bounds = graphics.__bounds; var width = graphics.__width; var height = graphics.__height; if(graphics.__canvas != null) { var context = renderer.context; var scrollRect = shape.__scrollRect; if(width > 0 && height > 0 && (scrollRect == null || scrollRect.width > 0 && scrollRect.height > 0)) { renderer.__setBlendMode(shape.__worldBlendMode); renderer.__pushMaskObject(shape); context.globalAlpha = alpha; renderer.setTransform(graphics.__worldTransform,context); if(renderer.__isDOM) { var reverseScale = 1 / renderer.pixelRatio; context.scale(reverseScale,reverseScale); } context.drawImage(graphics.__canvas,0,0,width,height); renderer.__popMaskObject(shape); } } } }; var openfl__$internal_renderer_canvas_CanvasTextField = function() { }; $hxClasses["openfl._internal.renderer.canvas.CanvasTextField"] = openfl__$internal_renderer_canvas_CanvasTextField; openfl__$internal_renderer_canvas_CanvasTextField.__name__ = ["openfl","_internal","renderer","canvas","CanvasTextField"]; openfl__$internal_renderer_canvas_CanvasTextField.context = null; openfl__$internal_renderer_canvas_CanvasTextField.clearRect = null; openfl__$internal_renderer_canvas_CanvasTextField.render = function(textField,renderer,transform) { var textEngine = textField.__textEngine; var bounds = textEngine.background || textEngine.border ? textEngine.bounds : textEngine.textBounds; var graphics = textField.__graphics; if(textField.__dirty) { textField.__updateLayout(); if(graphics.__bounds == null) { graphics.__bounds = new openfl_geom_Rectangle(); } graphics.__bounds.copyFrom(bounds); } graphics.__update(renderer.__worldTransform); if(textField.__dirty || graphics.__softwareDirty) { var width = graphics.__width; var height = graphics.__height; if((textEngine.text == null || lime_text__$UTF8String_UTF8String_$Impl_$.equals(textEngine.text,"")) && !textEngine.background && !textEngine.border && !textEngine.__hasFocus && (textEngine.type != 1 || !textEngine.selectable) || (textEngine.width <= 0 || textEngine.height <= 0) && textEngine.autoSize != 2) { textField.__graphics.__canvas = null; textField.__graphics.__context = null; textField.__graphics.__bitmap = null; textField.__graphics.__softwareDirty = false; textField.__graphics.set___dirty(false); textField.__dirty = false; } else { if(textField.__graphics.__canvas == null) { textField.__graphics.__canvas = window.document.createElement("canvas"); textField.__graphics.__context = textField.__graphics.__canvas.getContext("2d"); } openfl__$internal_renderer_canvas_CanvasTextField.context = graphics.__context; var transform1 = graphics.__renderTransform; if(renderer.__isDOM) { var scale = renderer.pixelRatio; graphics.__canvas.width = width * scale | 0; graphics.__canvas.height = height * scale | 0; graphics.__canvas.style.width = width + "px"; graphics.__canvas.style.height = height + "px"; var matrix = openfl_geom_Matrix.__pool.get(); matrix.copyFrom(transform1); matrix.scale(scale,scale); renderer.setTransform(matrix,openfl__$internal_renderer_canvas_CanvasTextField.context); openfl_geom_Matrix.__pool.release(matrix); } else { graphics.__canvas.width = width; graphics.__canvas.height = height; openfl__$internal_renderer_canvas_CanvasTextField.context.setTransform(transform1.a,transform1.b,transform1.c,transform1.d,transform1.tx,transform1.ty); } if(openfl__$internal_renderer_canvas_CanvasTextField.clearRect == null) { openfl__$internal_renderer_canvas_CanvasTextField.clearRect = (typeof navigator !== 'undefined' && typeof navigator['isCocoonJS'] !== 'undefined'); } if(openfl__$internal_renderer_canvas_CanvasTextField.clearRect) { openfl__$internal_renderer_canvas_CanvasTextField.context.clearRect(0,0,graphics.__canvas.width,graphics.__canvas.height); } if(textEngine.text != null && textEngine.text != "" || textEngine.__hasFocus) { var text = textEngine.text; if(!renderer.__allowSmoothing || textEngine.antiAliasType == 0 && textEngine.sharpness == 400) { graphics.__context.imageSmoothingEnabled = false; } else { graphics.__context.imageSmoothingEnabled = true; } if(textEngine.border || textEngine.background) { openfl__$internal_renderer_canvas_CanvasTextField.context.rect(0.5,0.5,bounds.width - 1,bounds.height - 1); if(textEngine.background) { var tmp = StringTools.hex(textEngine.backgroundColor & 16777215,6); openfl__$internal_renderer_canvas_CanvasTextField.context.fillStyle = "#" + tmp; openfl__$internal_renderer_canvas_CanvasTextField.context.fill(); } if(textEngine.border) { openfl__$internal_renderer_canvas_CanvasTextField.context.lineWidth = 1; var tmp1 = StringTools.hex(textEngine.borderColor & 16777215,6); openfl__$internal_renderer_canvas_CanvasTextField.context.strokeStyle = "#" + tmp1; openfl__$internal_renderer_canvas_CanvasTextField.context.stroke(); } } openfl__$internal_renderer_canvas_CanvasTextField.context.textBaseline = "alphabetic"; openfl__$internal_renderer_canvas_CanvasTextField.context.textAlign = "start"; var scrollX = -textField.get_scrollH(); var scrollY = 0.0; var _g1 = 0; var _g = textField.get_scrollV() - 1; while(_g1 < _g) { var i = _g1++; scrollY -= textEngine.lineHeights.get(i); } var advance; var _g2 = 0; var _g11 = textEngine.layoutGroups; while(_g2 < _g11.get_length()) { var group = _g11.get(_g2); ++_g2; if(group.lineIndex < textField.get_scrollV() - 1) { continue; } if(group.lineIndex > textField.get_scrollV() + textEngine.bottomScrollV - 2) { break; } var color = "#" + StringTools.hex(group.format.color & 16777215,6); openfl__$internal_renderer_canvas_CanvasTextField.context.font = openfl__$internal_text_TextEngine.getFont(group.format); openfl__$internal_renderer_canvas_CanvasTextField.context.fillStyle = color; openfl__$internal_renderer_canvas_CanvasTextField.context.fillText(lime_text__$UTF8String_UTF8String_$Impl_$.substring(text,group.startIndex,group.endIndex),group.offsetX + scrollX - bounds.x,group.offsetY + group.ascent + scrollY - bounds.y); if(textField.__caretIndex > -1 && textEngine.selectable) { if(textField.__selectionIndex == textField.__caretIndex) { if(textField.__showCursor && group.startIndex <= textField.__caretIndex && group.endIndex >= textField.__caretIndex) { advance = 0.0; var _g3 = 0; var _g21 = textField.__caretIndex - group.startIndex; while(_g3 < _g21) { var i1 = _g3++; if(group.positions.length <= i1) { break; } advance += group.positions[i1]; } var scrollY1 = 0.0; var _g31 = textField.get_scrollV(); var _g22 = group.lineIndex + 1; while(_g31 < _g22) { var i2 = _g31++; scrollY1 += textEngine.lineHeights.get(i2 - 1); } openfl__$internal_renderer_canvas_CanvasTextField.context.beginPath(); var tmp2 = StringTools.hex(group.format.color & 16777215,6); openfl__$internal_renderer_canvas_CanvasTextField.context.strokeStyle = "#" + tmp2; openfl__$internal_renderer_canvas_CanvasTextField.context.moveTo(group.offsetX + advance - textField.get_scrollH() - bounds.x,scrollY1 + 2 - bounds.y); openfl__$internal_renderer_canvas_CanvasTextField.context.lineWidth = 1; openfl__$internal_renderer_canvas_CanvasTextField.context.lineTo(group.offsetX + advance - textField.get_scrollH() - bounds.x,scrollY1 + openfl__$internal_text_TextEngine.getFormatHeight(textField.get_defaultTextFormat()) - 1 - bounds.y); openfl__$internal_renderer_canvas_CanvasTextField.context.stroke(); openfl__$internal_renderer_canvas_CanvasTextField.context.closePath(); } } else if(group.startIndex <= textField.__caretIndex && group.endIndex >= textField.__caretIndex || group.startIndex <= textField.__selectionIndex && group.endIndex >= textField.__selectionIndex || group.startIndex > textField.__caretIndex && group.endIndex < textField.__selectionIndex || group.startIndex > textField.__selectionIndex && group.endIndex < textField.__caretIndex) { var selectionStart = Math.min(textField.__selectionIndex,textField.__caretIndex) | 0; var selectionEnd = Math.max(textField.__selectionIndex,textField.__caretIndex) | 0; if(group.startIndex > selectionStart) { selectionStart = group.startIndex; } if(group.endIndex < selectionEnd) { selectionEnd = group.endIndex; } var start; var end; start = textField.getCharBoundaries(selectionStart); if(selectionEnd >= lime_text__$UTF8String_UTF8String_$Impl_$.get_length(textEngine.text)) { end = textField.getCharBoundaries(lime_text__$UTF8String_UTF8String_$Impl_$.get_length(textEngine.text) - 1); end.x += end.width + 2; } else { end = textField.getCharBoundaries(selectionEnd); } if(start != null && end != null) { openfl__$internal_renderer_canvas_CanvasTextField.context.fillStyle = "#000000"; openfl__$internal_renderer_canvas_CanvasTextField.context.fillRect(start.x + scrollX,start.y + scrollY,end.x - start.x,group.height); openfl__$internal_renderer_canvas_CanvasTextField.context.fillStyle = "#FFFFFF"; openfl__$internal_renderer_canvas_CanvasTextField.context.fillText(lime_text__$UTF8String_UTF8String_$Impl_$.substring(text,selectionStart,selectionEnd),scrollX + start.x,group.offsetY + group.ascent + scrollY); } } } if(group.format.underline) { openfl__$internal_renderer_canvas_CanvasTextField.context.beginPath(); openfl__$internal_renderer_canvas_CanvasTextField.context.strokeStyle = color; openfl__$internal_renderer_canvas_CanvasTextField.context.lineWidth = 1; var x = group.offsetX + scrollX - bounds.x; var y = Math.floor(group.offsetY + scrollY + group.ascent - bounds.y) + 0.5; openfl__$internal_renderer_canvas_CanvasTextField.context.moveTo(x,y); openfl__$internal_renderer_canvas_CanvasTextField.context.lineTo(x + group.width,y); openfl__$internal_renderer_canvas_CanvasTextField.context.stroke(); openfl__$internal_renderer_canvas_CanvasTextField.context.closePath(); } } } else { if(textEngine.border || textEngine.background) { if(textEngine.border) { openfl__$internal_renderer_canvas_CanvasTextField.context.rect(0.5,0.5,bounds.width - 1,bounds.height - 1); } else { openfl__$internal_renderer_canvas_CanvasTextField.context.rect(0,0,bounds.width,bounds.height); } if(textEngine.background) { var tmp3 = StringTools.hex(textEngine.backgroundColor & 16777215,6); openfl__$internal_renderer_canvas_CanvasTextField.context.fillStyle = "#" + tmp3; openfl__$internal_renderer_canvas_CanvasTextField.context.fill(); } if(textEngine.border) { openfl__$internal_renderer_canvas_CanvasTextField.context.lineWidth = 1; openfl__$internal_renderer_canvas_CanvasTextField.context.lineCap = "square"; var tmp4 = StringTools.hex(textEngine.borderColor & 16777215,6); openfl__$internal_renderer_canvas_CanvasTextField.context.strokeStyle = "#" + tmp4; openfl__$internal_renderer_canvas_CanvasTextField.context.stroke(); } } if(textField.__caretIndex > -1 && textEngine.selectable && textField.__showCursor) { var scrollX1 = -textField.get_scrollH(); var scrollY2 = 0.0; var _g12 = 0; var _g4 = textField.get_scrollV() - 1; while(_g12 < _g4) { var i3 = _g12++; scrollY2 += textEngine.lineHeights.get(i3); } openfl__$internal_renderer_canvas_CanvasTextField.context.beginPath(); var tmp5 = StringTools.hex(textField.get_defaultTextFormat().color & 16777215,6); openfl__$internal_renderer_canvas_CanvasTextField.context.strokeStyle = "#" + tmp5; openfl__$internal_renderer_canvas_CanvasTextField.context.moveTo(scrollX1 + 2.5,scrollY2 + 2.5); openfl__$internal_renderer_canvas_CanvasTextField.context.lineWidth = 1; openfl__$internal_renderer_canvas_CanvasTextField.context.lineTo(scrollX1 + 2.5,scrollY2 + openfl__$internal_text_TextEngine.getFormatHeight(textField.get_defaultTextFormat()) - 1); openfl__$internal_renderer_canvas_CanvasTextField.context.stroke(); openfl__$internal_renderer_canvas_CanvasTextField.context.closePath(); } } graphics.__bitmap = openfl_display_BitmapData.fromCanvas(textField.__graphics.__canvas); graphics.__visible = true; textField.__dirty = false; graphics.__softwareDirty = false; graphics.set___dirty(false); } } }; var openfl__$internal_renderer_context3D_Context3DBitmap = function() { }; $hxClasses["openfl._internal.renderer.context3D.Context3DBitmap"] = openfl__$internal_renderer_context3D_Context3DBitmap; openfl__$internal_renderer_context3D_Context3DBitmap.__name__ = ["openfl","_internal","renderer","context3D","Context3DBitmap"]; openfl__$internal_renderer_context3D_Context3DBitmap.render = function(bitmap,renderer) { if(!bitmap.__renderable || bitmap.__worldAlpha <= 0) { return; } if(bitmap.__bitmapData != null && bitmap.__bitmapData.__isValid) { var context = renderer.__context3D; renderer.__setBlendMode(bitmap.__worldBlendMode); renderer.__pushMaskObject(bitmap); var shader = renderer.__initDisplayShader(bitmap.__worldShader); renderer.setShader(shader); renderer.applyBitmapData(bitmap.__bitmapData,renderer.__allowSmoothing && (bitmap.smoothing || renderer.__upscaled)); renderer.applyMatrix(renderer.__getMatrix(bitmap.__renderTransform,bitmap.pixelSnapping)); renderer.applyAlpha(bitmap.__worldAlpha); renderer.applyColorTransform(bitmap.__worldColorTransform); renderer.updateShader(); var vertexBuffer = bitmap.__bitmapData.getVertexBuffer(context); if(shader.__position != null) { context.setVertexBufferAt(shader.__position.index,vertexBuffer,0,3); } if(shader.__textureCoord != null) { context.setVertexBufferAt(shader.__textureCoord.index,vertexBuffer,3,2); } var indexBuffer = bitmap.__bitmapData.getIndexBuffer(context); context.drawTriangles(indexBuffer); renderer.__clearShader(); renderer.__popMaskObject(bitmap); } }; openfl__$internal_renderer_context3D_Context3DBitmap.renderMask = function(bitmap,renderer) { if(bitmap.__bitmapData != null && bitmap.__bitmapData.__isValid) { var context = renderer.__context3D; var shader = renderer.__maskShader; renderer.setShader(shader); renderer.applyBitmapData(openfl__$internal_renderer_context3D_Context3DMaskShader.opaqueBitmapData,true); renderer.applyMatrix(renderer.__getMatrix(bitmap.__renderTransform,bitmap.pixelSnapping)); renderer.updateShader(); var vertexBuffer = bitmap.__bitmapData.getVertexBuffer(context); if(shader.__position != null) { context.setVertexBufferAt(shader.__position.index,vertexBuffer,0,3); } if(shader.__textureCoord != null) { context.setVertexBufferAt(shader.__textureCoord.index,vertexBuffer,3,2); } var indexBuffer = bitmap.__bitmapData.getIndexBuffer(context); context.drawTriangles(indexBuffer); renderer.__clearShader(); } }; var openfl__$internal_renderer_context3D_Context3DBuffer = function(context3D,elementType,elementCount,dataPerVertex) { this.context3D = context3D; this.elementType = elementType; this.dataPerVertex = dataPerVertex; this.indexCount = 0; this.vertexCount = 0; this.resize(elementCount); }; $hxClasses["openfl._internal.renderer.context3D.Context3DBuffer"] = openfl__$internal_renderer_context3D_Context3DBuffer; openfl__$internal_renderer_context3D_Context3DBuffer.__name__ = ["openfl","_internal","renderer","context3D","Context3DBuffer"]; openfl__$internal_renderer_context3D_Context3DBuffer.prototype = { dataPerVertex: null ,elementCount: null ,elementType: null ,indexBufferData: null ,indexBuffers: null ,indexCount: null ,vertexBuffer: null ,vertexBufferData: null ,vertexCount: null ,context3D: null ,drawElements: function(start,length) { if(length == null) { length = -1; } if(this.indexCount == 0 || this.vertexCount == 0) { return; } var _g = this.elementType; if(_g[1] == 0) { if(length == -1) { length = this.elementCount * 2; } if(start < 10922 && length - start < 10922) { this.context3D.drawTriangles(this.indexBuffers[0],start * 2,length * 2); } else { var end = start + length; while(start < end) { var arrayBufferIndex = Math.floor(start / 10922); length = Math.min(end - start,10922) | 0; if(length <= 0) { break; } this.context3D.drawTriangles(this.indexBuffers[arrayBufferIndex],(start - arrayBufferIndex * 10922) * 6,length * 2); start += length; } } } } ,flushVertexBufferData: function() { if(this.vertexBufferData.length > this.vertexCount) { this.vertexCount = this.vertexBufferData.length; this.vertexBuffer = this.context3D.createVertexBuffer(this.vertexCount,this.dataPerVertex,0); } this.vertexBuffer.uploadFromTypedArray(this.vertexBufferData); } ,resize: function(elementCount,dataPerVertex) { if(dataPerVertex == null) { dataPerVertex = -1; } this.elementCount = elementCount; if(dataPerVertex == -1) { dataPerVertex = this.dataPerVertex; } if(dataPerVertex != this.dataPerVertex) { this.vertexBuffer = null; this.vertexCount = 0; this.dataPerVertex = dataPerVertex; } var numVertices = 0; var _g = this.elementType; switch(_g[1]) { case 0: numVertices = elementCount * 4; break; case 1: numVertices = elementCount * 3; break; case 2: numVertices = elementCount * 3; break; } var vertexLength = numVertices * dataPerVertex; if(this.vertexBufferData == null) { var this1; if(vertexLength != null) { this1 = new Float32Array(vertexLength); } else { this1 = null; } this.vertexBufferData = this1; } else if(vertexLength > this.vertexBufferData.length) { var cacheBufferData = this.vertexBufferData; var this2; if(vertexLength != null) { this2 = new Float32Array(vertexLength); } else { this2 = null; } this.vertexBufferData = this2; this.vertexBufferData.set(cacheBufferData); } } ,__class__: openfl__$internal_renderer_context3D_Context3DBuffer }; var openfl__$internal_renderer_context3D_Context3DElementType = $hxClasses["openfl._internal.renderer.context3D.Context3DElementType"] = { __ename__ : ["openfl","_internal","renderer","context3D","Context3DElementType"], __constructs__ : ["QUADS","TRIANGLES","TRIANGLE_INDICES"] }; openfl__$internal_renderer_context3D_Context3DElementType.QUADS = ["QUADS",0]; openfl__$internal_renderer_context3D_Context3DElementType.QUADS.toString = $estr; openfl__$internal_renderer_context3D_Context3DElementType.QUADS.__enum__ = openfl__$internal_renderer_context3D_Context3DElementType; openfl__$internal_renderer_context3D_Context3DElementType.TRIANGLES = ["TRIANGLES",1]; openfl__$internal_renderer_context3D_Context3DElementType.TRIANGLES.toString = $estr; openfl__$internal_renderer_context3D_Context3DElementType.TRIANGLES.__enum__ = openfl__$internal_renderer_context3D_Context3DElementType; openfl__$internal_renderer_context3D_Context3DElementType.TRIANGLE_INDICES = ["TRIANGLE_INDICES",2]; openfl__$internal_renderer_context3D_Context3DElementType.TRIANGLE_INDICES.toString = $estr; openfl__$internal_renderer_context3D_Context3DElementType.TRIANGLE_INDICES.__enum__ = openfl__$internal_renderer_context3D_Context3DElementType; var openfl__$internal_renderer_context3D_Context3DDisplayObject = function() { }; $hxClasses["openfl._internal.renderer.context3D.Context3DDisplayObject"] = openfl__$internal_renderer_context3D_Context3DDisplayObject; openfl__$internal_renderer_context3D_Context3DDisplayObject.__name__ = ["openfl","_internal","renderer","context3D","Context3DDisplayObject"]; openfl__$internal_renderer_context3D_Context3DDisplayObject.render = function(displayObject,renderer) { if(displayObject.opaqueBackground == null && displayObject.__graphics == null) { return; } if(!displayObject.__renderable || displayObject.__worldAlpha <= 0) { return; } if(displayObject.opaqueBackground != null && !displayObject.__isCacheBitmapRender && displayObject.get_width() > 0 && displayObject.get_height() > 0) { renderer.__setBlendMode(displayObject.__worldBlendMode); renderer.__pushMaskObject(displayObject); var context = renderer.__context3D; var rect = openfl_geom_Rectangle.__pool.get(); rect.setTo(0,0,displayObject.get_width(),displayObject.get_height()); renderer.__pushMaskRect(rect,displayObject.__renderTransform); var color = displayObject.opaqueBackground; context.clear((color >>> 16 & 255) / 255,(color >>> 8 & 255) / 255,(color & 255) / 255,1,0,0,1); renderer.__popMaskRect(); renderer.__popMaskObject(displayObject); openfl_geom_Rectangle.__pool.release(rect); } if(displayObject.__graphics != null) { openfl__$internal_renderer_context3D_Context3DShape.render(displayObject,renderer); } }; openfl__$internal_renderer_context3D_Context3DDisplayObject.renderMask = function(displayObject,renderer) { if(displayObject.opaqueBackground == null && displayObject.__graphics == null) { return; } var tmp = displayObject.opaqueBackground != null && !displayObject.__isCacheBitmapRender && displayObject.get_width() > 0 && displayObject.get_height() > 0; if(displayObject.__graphics != null) { openfl__$internal_renderer_context3D_Context3DShape.renderMask(displayObject,renderer); } }; var openfl__$internal_renderer_context3D_Context3DGraphics = function() { }; $hxClasses["openfl._internal.renderer.context3D.Context3DGraphics"] = openfl__$internal_renderer_context3D_Context3DGraphics; openfl__$internal_renderer_context3D_Context3DGraphics.__name__ = ["openfl","_internal","renderer","context3D","Context3DGraphics"]; openfl__$internal_renderer_context3D_Context3DGraphics.maskRender = null; openfl__$internal_renderer_context3D_Context3DGraphics.buildBuffer = function(graphics,renderer) { var quadBufferPosition = 0; var triangleIndexBufferPosition = 0; var vertexBufferPosition = 0; var vertexBufferPositionUVT = 0; var data = new openfl__$internal_renderer_DrawCommandReader(graphics.__commands); var context = renderer.__context3D; var tileRect = openfl_geom_Rectangle.__pool.get(); var tileTransform = openfl_geom_Matrix.__pool.get(); var bitmap = null; var _g = 0; var _g1 = graphics.__commands.types; while(_g < _g1.length) { var type = _g1[_g]; ++_g; switch(type[1]) { case 0: var _g2 = data.prev; switch(_g2[1]) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl__$internal_renderer_DrawCommandType.BEGIN_BITMAP_FILL; var this1 = data; var c = this1; bitmap = c.buffer.o[c.oPos]; break; case 1: bitmap = null; var _g3 = data.prev; switch(_g3[1]) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = type; break; case 3: var _g4 = data.prev; switch(_g4[1]) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl__$internal_renderer_DrawCommandType.BEGIN_SHADER_FILL; var this2 = data; var c1 = this2; var shaderBuffer = c1.buffer.o[c1.oPos]; if(shaderBuffer == null || shaderBuffer.shader == null || shaderBuffer.shader.__bitmap == null) { bitmap = null; } else { bitmap = c1.buffer.o[c1.oPos].shader.__bitmap.input; } break; case 8: if(bitmap != null) { var _g5 = data.prev; switch(_g5[1]) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl__$internal_renderer_DrawCommandType.DRAW_QUADS; var this3 = data; var c2 = this3; var rects = c2.buffer.o[c2.oPos]; var indices = c2.buffer.o[c2.oPos + 1]; var transforms = c2.buffer.o[c2.oPos + 2]; var hasIndices = indices != null; var transformABCD = false; var transformXY = false; var length = hasIndices ? indices.get_length() : Math.floor(rects.get_length() / 4); if(length == 0) { return; } if(transforms != null) { if(transforms.get_length() >= length * 6) { transformABCD = true; transformXY = true; } else if(transforms.get_length() >= length * 4) { transformABCD = true; } else if(transforms.get_length() >= length * 2) { transformXY = true; } } var dataPerVertex = 4; var stride = dataPerVertex * 4; if(graphics.__quadBuffer == null) { graphics.__quadBuffer = new openfl__$internal_renderer_context3D_Context3DBuffer(context,openfl__$internal_renderer_context3D_Context3DElementType.QUADS,length,dataPerVertex); } else { graphics.__quadBuffer.resize(quadBufferPosition + length,dataPerVertex); } var vertexOffset; var alpha = 1.0; var tileData; var id; var bitmapWidth; var bitmapHeight; var tileWidth; var tileHeight; var uvX; var uvY; var uvWidth; var uvHeight; var x; var y; var x2; var y2; var x3; var y3; var x4; var y4; var ri; var ti; var vertexBufferData = graphics.__quadBuffer.vertexBufferData; bitmapWidth = bitmap.width; bitmapHeight = bitmap.height; var sourceRect = bitmap.rect; var _g31 = 0; var _g21 = length; while(_g31 < _g21) { var i = _g31++; vertexOffset = (quadBufferPosition + i) * stride; if(hasIndices) { ri = indices.get(i) * 4; } else { ri = i * 4; } if(ri < 0) { continue; } tileRect.setTo(rects.get(ri),rects.get(ri + 1),rects.get(ri + 2),rects.get(ri + 3)); tileWidth = tileRect.width; tileHeight = tileRect.height; if(tileWidth <= 0 || tileHeight <= 0) { continue; } if(transformABCD && transformXY) { ti = i * 6; tileTransform.setTo(transforms.get(ti),transforms.get(ti + 1),transforms.get(ti + 2),transforms.get(ti + 3),transforms.get(ti + 4),transforms.get(ti + 5)); } else if(transformABCD) { ti = i * 4; tileTransform.setTo(transforms.get(ti),transforms.get(ti + 1),transforms.get(ti + 2),transforms.get(ti + 3),tileRect.x,tileRect.y); } else if(transformXY) { ti = i * 2; tileTransform.tx = transforms.get(ti); tileTransform.ty = transforms.get(ti + 1); } else { tileTransform.tx = tileRect.x; tileTransform.ty = tileRect.y; } uvX = tileRect.x / bitmapWidth; uvY = tileRect.y / bitmapHeight; uvWidth = tileRect.get_right() / bitmapWidth; uvHeight = tileRect.get_bottom() / bitmapHeight; x = 0 * tileTransform.a + 0 * tileTransform.c + tileTransform.tx; y = 0 * tileTransform.b + 0 * tileTransform.d + tileTransform.ty; x2 = tileWidth * tileTransform.a + 0 * tileTransform.c + tileTransform.tx; y2 = tileWidth * tileTransform.b + 0 * tileTransform.d + tileTransform.ty; x3 = 0 * tileTransform.a + tileHeight * tileTransform.c + tileTransform.tx; y3 = 0 * tileTransform.b + tileHeight * tileTransform.d + tileTransform.ty; x4 = tileWidth * tileTransform.a + tileHeight * tileTransform.c + tileTransform.tx; y4 = tileWidth * tileTransform.b + tileHeight * tileTransform.d + tileTransform.ty; vertexBufferData[vertexOffset] = x; vertexBufferData[vertexOffset + 1] = y; vertexBufferData[vertexOffset + 2] = uvX; vertexBufferData[vertexOffset + 3] = uvY; vertexBufferData[vertexOffset + dataPerVertex] = x2; vertexBufferData[vertexOffset + dataPerVertex + 1] = y2; vertexBufferData[vertexOffset + dataPerVertex + 2] = uvWidth; vertexBufferData[vertexOffset + dataPerVertex + 3] = uvY; vertexBufferData[vertexOffset + dataPerVertex * 2] = x3; vertexBufferData[vertexOffset + dataPerVertex * 2 + 1] = y3; vertexBufferData[vertexOffset + dataPerVertex * 2 + 2] = uvX; vertexBufferData[vertexOffset + dataPerVertex * 2 + 3] = uvHeight; vertexBufferData[vertexOffset + dataPerVertex * 3] = x4; vertexBufferData[vertexOffset + dataPerVertex * 3 + 1] = y4; vertexBufferData[vertexOffset + dataPerVertex * 3 + 2] = uvWidth; vertexBufferData[vertexOffset + dataPerVertex * 3 + 3] = uvHeight; } quadBufferPosition += length; } break; case 12: var _g6 = data.prev; switch(_g6[1]) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl__$internal_renderer_DrawCommandType.DRAW_TRIANGLES; var this4 = data; var c3 = this4; var vertices = c3.buffer.o[c3.oPos]; var indices1 = c3.buffer.o[c3.oPos + 1]; var uvtData = c3.buffer.o[c3.oPos + 2]; var culling = c3.buffer.o[c3.oPos + 3]; var hasIndices1 = indices1 != null; var numVertices = Math.floor(vertices.get_length() / 2); var length1 = hasIndices1 ? indices1.get_length() : numVertices; var hasUVData = uvtData != null; var hasUVTData = hasUVData && uvtData.get_length() >= numVertices * 3; var vertLength = hasUVTData ? 4 : 2; var uvStride = hasUVTData ? 3 : 2; var dataPerVertex1 = vertLength + 2; var vertexOffset1 = hasUVTData ? vertexBufferPositionUVT : vertexBufferPosition; openfl__$internal_renderer_context3D_Context3DGraphics.resizeVertexBuffer(graphics,hasUVTData,vertexOffset1 + length1 * dataPerVertex1); var vertexBufferData1 = hasUVTData ? graphics.__vertexBufferDataUVT : graphics.__vertexBufferData; var offset; var vertOffset; var uvOffset; var t; var _g32 = 0; var _g22 = length1; while(_g32 < _g22) { var i1 = _g32++; offset = vertexOffset1 + i1 * dataPerVertex1; if(hasIndices1) { vertOffset = indices1.get(i1) * 2; } else { vertOffset = i1 * 2; } if(hasIndices1) { uvOffset = indices1.get(i1) * uvStride; } else { uvOffset = i1 * uvStride; } if(hasUVTData) { t = uvtData.get(uvOffset + 2); vertexBufferData1[offset] = vertices.get(vertOffset) / t; vertexBufferData1[offset + 1] = vertices.get(vertOffset + 1) / t; vertexBufferData1[offset + 2] = 0; vertexBufferData1[offset + 3] = 1 / t; } else { vertexBufferData1[offset] = vertices.get(vertOffset); vertexBufferData1[offset + 1] = vertices.get(vertOffset + 1); } vertexBufferData1[offset + vertLength] = hasUVData ? uvtData.get(uvOffset) : 0; vertexBufferData1[offset + vertLength + 1] = hasUVData ? uvtData.get(uvOffset + 1) : 0; } if(hasUVTData) { vertexBufferPositionUVT += length1 * dataPerVertex1; } else { vertexBufferPosition += length1 * dataPerVertex1; } break; case 13: bitmap = null; break; default: var _g7 = data.prev; switch(_g7[1]) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = type; } } if(quadBufferPosition > 0) { graphics.__quadBuffer.flushVertexBufferData(); } if(triangleIndexBufferPosition > 0) { var buffer = graphics.__triangleIndexBuffer; if(buffer == null || triangleIndexBufferPosition > graphics.__triangleIndexBufferCount) { buffer = context.createIndexBuffer(triangleIndexBufferPosition,0); graphics.__triangleIndexBuffer = buffer; graphics.__triangleIndexBufferCount = triangleIndexBufferPosition; } buffer.uploadFromTypedArray(graphics.__triangleIndexBufferData); } if(vertexBufferPosition > 0) { var buffer1 = graphics.__vertexBuffer; if(buffer1 == null || vertexBufferPosition > graphics.__vertexBufferCount) { buffer1 = context.createVertexBuffer(vertexBufferPosition,4,0); graphics.__vertexBuffer = buffer1; graphics.__vertexBufferCount = vertexBufferPosition; } buffer1.uploadFromTypedArray(graphics.__vertexBufferData); } if(vertexBufferPositionUVT > 0) { var buffer2 = graphics.__vertexBufferUVT; if(buffer2 == null || vertexBufferPositionUVT > graphics.__vertexBufferCountUVT) { buffer2 = context.createVertexBuffer(vertexBufferPositionUVT,6,0); graphics.__vertexBufferUVT = buffer2; graphics.__vertexBufferCountUVT = vertexBufferPositionUVT; } buffer2.uploadFromTypedArray(graphics.__vertexBufferDataUVT); } openfl_geom_Rectangle.__pool.release(tileRect); openfl_geom_Matrix.__pool.release(tileTransform); }; openfl__$internal_renderer_context3D_Context3DGraphics.isCompatible = function(graphics) { var data = new openfl__$internal_renderer_DrawCommandReader(graphics.__commands); var hasColorFill = false; var hasBitmapFill = false; var hasShaderFill = false; var _g = 0; var _g1 = graphics.__commands.types; while(_g < _g1.length) { var type = _g1[_g]; ++_g; switch(type[1]) { case 0: hasBitmapFill = true; hasColorFill = false; hasShaderFill = false; var _g2 = data.prev; switch(_g2[1]) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = type; break; case 1: hasBitmapFill = false; hasColorFill = true; hasShaderFill = false; var _g3 = data.prev; switch(_g3[1]) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = type; break; case 3: hasBitmapFill = false; hasColorFill = false; hasShaderFill = true; var _g4 = data.prev; switch(_g4[1]) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = type; break; case 8: if(hasBitmapFill || hasShaderFill) { var _g5 = data.prev; switch(_g5[1]) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = type; } else { data.destroy(); return false; } break; case 9: if(hasColorFill) { var _g6 = data.prev; switch(_g6[1]) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = type; } else { data.destroy(); return false; } break; case 12: if(hasBitmapFill || hasShaderFill) { var _g7 = data.prev; switch(_g7[1]) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = type; } else { data.destroy(); return false; } break; case 13: hasBitmapFill = false; hasColorFill = false; hasShaderFill = false; var _g8 = data.prev; switch(_g8[1]) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = type; break; case 18: var _g9 = data.prev; switch(_g9[1]) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = type; break; case 19: var _g10 = data.prev; switch(_g10[1]) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = type; break; default: data.destroy(); return false; } } data.destroy(); return true; }; openfl__$internal_renderer_context3D_Context3DGraphics.render = function(graphics,renderer) { if(!graphics.__visible || graphics.__commands.get_length() == 0) { return; } if(graphics.__bitmap != null && !graphics.__dirty || !openfl__$internal_renderer_context3D_Context3DGraphics.isCompatible(graphics)) { var cacheTransform = renderer.__softwareRenderer.__worldTransform; renderer.__softwareRenderer.__worldTransform = renderer.__worldTransform; openfl__$internal_renderer_canvas_CanvasGraphics.render(graphics,renderer.__softwareRenderer); renderer.__softwareRenderer.__worldTransform = cacheTransform; } else { graphics.__bitmap = null; graphics.__update(renderer.__worldTransform); var bounds = graphics.__bounds; var width = graphics.__width; var height = graphics.__height; if(bounds != null && width >= 1 && height >= 1) { if(graphics.__hardwareDirty || graphics.__quadBuffer == null && graphics.__vertexBuffer == null && graphics.__vertexBufferUVT == null) { openfl__$internal_renderer_context3D_Context3DGraphics.buildBuffer(graphics,renderer); } var data = new openfl__$internal_renderer_DrawCommandReader(graphics.__commands); var context = renderer.__context3D; var gl = context.gl; var matrix = openfl_geom_Matrix.__pool.get(); var shaderBuffer = null; var bitmap = null; var repeat = false; var smooth = false; var fill = null; var positionX = 0.0; var positionY = 0.0; var quadBufferPosition = 0; var shaderBufferOffset = 0; var triangleIndexBufferPosition = 0; var vertexBufferPosition = 0; var vertexBufferPositionUVT = 0; var _g = 0; var _g1 = graphics.__commands.types; while(_g < _g1.length) { var type = _g1[_g]; ++_g; switch(type[1]) { case 0: var _g2 = data.prev; switch(_g2[1]) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl__$internal_renderer_DrawCommandType.BEGIN_BITMAP_FILL; var this1 = data; var c = this1; bitmap = c.buffer.o[c.oPos]; repeat = c.buffer.b[c.bPos]; smooth = c.buffer.b[c.bPos + 1]; shaderBuffer = null; fill = null; break; case 1: var _g3 = data.prev; switch(_g3[1]) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl__$internal_renderer_DrawCommandType.BEGIN_FILL; var this2 = data; var c1 = this2; var color = c1.buffer.i[c1.iPos] | 0; var alpha = c1.buffer.f[c1.fPos] * 255 | 0; fill = color & 16777215 | alpha << 24; shaderBuffer = null; bitmap = null; break; case 3: var _g4 = data.prev; switch(_g4[1]) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl__$internal_renderer_DrawCommandType.BEGIN_SHADER_FILL; var this3 = data; var c2 = this3; shaderBuffer = c2.buffer.o[c2.oPos]; shaderBufferOffset = 0; if(shaderBuffer == null || shaderBuffer.shader == null || shaderBuffer.shader.__bitmap == null) { bitmap = null; } else { bitmap = shaderBuffer.shader.__bitmap.input; } fill = null; break; case 8: if(bitmap != null) { var _g5 = data.prev; switch(_g5[1]) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl__$internal_renderer_DrawCommandType.DRAW_QUADS; var this4 = data; var c3 = this4; var rects = c3.buffer.o[c3.oPos]; var indices = c3.buffer.o[c3.oPos + 1]; var transforms = c3.buffer.o[c3.oPos + 2]; var hasIndices = indices != null; var length = hasIndices ? indices.get_length() : Math.floor(rects.get_length() / 4); var uMatrix = renderer.__getMatrix(graphics.__owner.__renderTransform,1); var shader; if(shaderBuffer != null && !openfl__$internal_renderer_context3D_Context3DGraphics.maskRender) { shader = renderer.__initShaderBuffer(shaderBuffer); renderer.__setShaderBuffer(shaderBuffer); renderer.applyMatrix(uMatrix); renderer.applyBitmapData(bitmap,false,repeat); renderer.applyAlpha(graphics.__owner.__worldAlpha); renderer.applyColorTransform(graphics.__owner.__worldColorTransform); } else { if(openfl__$internal_renderer_context3D_Context3DGraphics.maskRender) { shader = renderer.__maskShader; } else { shader = renderer.__initGraphicsShader(null); } renderer.setShader(shader); renderer.applyMatrix(uMatrix); renderer.applyBitmapData(bitmap,renderer.__allowSmoothing && smooth,repeat); renderer.applyAlpha(graphics.__owner.__worldAlpha); renderer.applyColorTransform(graphics.__owner.__worldColorTransform); renderer.updateShader(); } var end = quadBufferPosition + length; while(quadBufferPosition < end) { length = Math.min(end - quadBufferPosition,context.__quadIndexBufferElements) | 0; if(length <= 0) { break; } if(shaderBuffer != null && !openfl__$internal_renderer_context3D_Context3DGraphics.maskRender) { renderer.__updateShaderBuffer(shaderBufferOffset); } if(shader.__position != null) { context.setVertexBufferAt(shader.__position.index,graphics.__quadBuffer.vertexBuffer,quadBufferPosition * 16,2); } if(shader.__textureCoord != null) { context.setVertexBufferAt(shader.__textureCoord.index,graphics.__quadBuffer.vertexBuffer,quadBufferPosition * 16 + 2,2); } context.drawTriangles(context.__quadIndexBuffer,0,length * 2); shaderBufferOffset += length * 4; quadBufferPosition += length; } renderer.__clearShader(); } break; case 9: if(fill != null) { var _g6 = data.prev; switch(_g6[1]) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl__$internal_renderer_DrawCommandType.DRAW_RECT; var this5 = data; var c4 = this5; var x = c4.buffer.f[c4.fPos]; var y = c4.buffer.f[c4.fPos + 1]; var width1 = c4.buffer.f[c4.fPos + 2]; var height1 = c4.buffer.f[c4.fPos + 3]; var color1 = fill; openfl__$internal_renderer_context3D_Context3DGraphics.tempColorTransform.redOffset = color1 >>> 16 & 255; openfl__$internal_renderer_context3D_Context3DGraphics.tempColorTransform.greenOffset = color1 >>> 8 & 255; openfl__$internal_renderer_context3D_Context3DGraphics.tempColorTransform.blueOffset = color1 & 255; openfl__$internal_renderer_context3D_Context3DGraphics.tempColorTransform.__combine(graphics.__owner.__worldColorTransform); matrix.identity(); matrix.scale(width1,height1); matrix.tx = x; matrix.ty = y; matrix.concat(graphics.__owner.__renderTransform); var shader1 = openfl__$internal_renderer_context3D_Context3DGraphics.maskRender ? renderer.__maskShader : renderer.__initGraphicsShader(null); renderer.setShader(shader1); renderer.applyMatrix(renderer.__getMatrix(matrix,1)); renderer.applyBitmapData(openfl__$internal_renderer_context3D_Context3DGraphics.blankBitmapData,renderer.__allowSmoothing,repeat); renderer.applyAlpha((color1 >>> 24 & 255) / 255 * graphics.__owner.__worldAlpha); renderer.applyColorTransform(openfl__$internal_renderer_context3D_Context3DGraphics.tempColorTransform); renderer.updateShader(); var vertexBuffer = openfl__$internal_renderer_context3D_Context3DGraphics.blankBitmapData.getVertexBuffer(context); if(shader1.__position != null) { context.setVertexBufferAt(shader1.__position.index,vertexBuffer,0,3); } if(shader1.__textureCoord != null) { context.setVertexBufferAt(shader1.__textureCoord.index,vertexBuffer,3,2); } var indexBuffer = openfl__$internal_renderer_context3D_Context3DGraphics.blankBitmapData.getIndexBuffer(context); context.drawTriangles(indexBuffer); shaderBufferOffset += 4; renderer.__clearShader(); } break; case 12: var _g7 = data.prev; switch(_g7[1]) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl__$internal_renderer_DrawCommandType.DRAW_TRIANGLES; var this6 = data; var c5 = this6; var vertices = c5.buffer.o[c5.oPos]; var indices1 = c5.buffer.o[c5.oPos + 1]; var uvtData = c5.buffer.o[c5.oPos + 2]; var culling = c5.buffer.o[c5.oPos + 3]; var hasIndices1 = indices1 != null; var numVertices = Math.floor(vertices.get_length() / 2); var length1 = hasIndices1 ? indices1.get_length() : numVertices; var hasUVData = uvtData != null; var hasUVTData = hasUVData && uvtData.get_length() >= numVertices * 3; var vertLength = hasUVTData ? 4 : 2; var uvStride = hasUVTData ? 3 : 2; var dataPerVertex = vertLength + 2; var vertexBuffer1 = hasUVTData ? graphics.__vertexBufferUVT : graphics.__vertexBuffer; var bufferPosition = hasUVTData ? vertexBufferPositionUVT : vertexBufferPosition; var uMatrix1 = renderer.__getMatrix(graphics.__owner.__renderTransform,1); var shader2; if(shaderBuffer != null && !openfl__$internal_renderer_context3D_Context3DGraphics.maskRender) { shader2 = renderer.__initShaderBuffer(shaderBuffer); renderer.__setShaderBuffer(shaderBuffer); renderer.applyMatrix(uMatrix1); renderer.applyBitmapData(bitmap,false,repeat); renderer.applyAlpha(1); renderer.applyColorTransform(null); renderer.__updateShaderBuffer(shaderBufferOffset); } else { if(openfl__$internal_renderer_context3D_Context3DGraphics.maskRender) { shader2 = renderer.__maskShader; } else { shader2 = renderer.__initGraphicsShader(null); } renderer.setShader(shader2); renderer.applyMatrix(uMatrix1); renderer.applyBitmapData(bitmap,renderer.__allowSmoothing && smooth,repeat); renderer.applyAlpha(graphics.__owner.__worldAlpha); renderer.applyColorTransform(graphics.__owner.__worldColorTransform); renderer.updateShader(); } if(shader2.__position != null) { context.setVertexBufferAt(shader2.__position.index,vertexBuffer1,bufferPosition,hasUVTData ? 4 : 2); } if(shader2.__textureCoord != null) { context.setVertexBufferAt(shader2.__textureCoord.index,vertexBuffer1,bufferPosition + vertLength,2); } switch(culling) { case 0: context.setCulling(0); break; case 2: context.setCulling(1); break; default: } context.__drawTriangles(bufferPosition,length1); shaderBufferOffset += length1; if(hasUVData) { vertexBufferPositionUVT += dataPerVertex * length1; } else { vertexBufferPosition += dataPerVertex * length1; } if(culling != 1) { context.setCulling(0); } renderer.__clearShader(); break; case 13: bitmap = null; fill = null; shaderBuffer = null; var _g8 = data.prev; switch(_g8[1]) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = type; break; case 18: var _g9 = data.prev; switch(_g9[1]) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl__$internal_renderer_DrawCommandType.MOVE_TO; var this7 = data; var c6 = this7; positionX = c6.buffer.f[c6.fPos]; positionY = c6.buffer.f[c6.fPos + 1]; break; case 19: var _g10 = data.prev; switch(_g10[1]) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl__$internal_renderer_DrawCommandType.OVERRIDE_BLEND_MODE; var this8 = data; var c7 = this8; renderer.__setBlendMode(c7.buffer.o[c7.oPos]); break; default: var _g11 = data.prev; switch(_g11[1]) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = type; } } openfl_geom_Matrix.__pool.release(matrix); } graphics.__hardwareDirty = false; graphics.set___dirty(false); } }; openfl__$internal_renderer_context3D_Context3DGraphics.renderMask = function(graphics,renderer) { openfl__$internal_renderer_context3D_Context3DGraphics.maskRender = true; openfl__$internal_renderer_context3D_Context3DGraphics.render(graphics,renderer); openfl__$internal_renderer_context3D_Context3DGraphics.maskRender = false; }; openfl__$internal_renderer_context3D_Context3DGraphics.resizeIndexBuffer = function(graphics,isQuad,length) { if(isQuad) { return; } var buffer = isQuad ? null : graphics.__triangleIndexBufferData; var position = 0; var newBuffer = null; if(buffer == null) { var this1; if(length != null) { this1 = new Uint16Array(length); } else { this1 = null; } newBuffer = this1; } else if(length > buffer.length) { var this2; if(length != null) { this2 = new Uint16Array(length); } else { this2 = null; } newBuffer = this2; newBuffer.set(buffer); position = buffer.length; } if(newBuffer != null) { if(!isQuad) { graphics.__triangleIndexBufferData = newBuffer; } } }; openfl__$internal_renderer_context3D_Context3DGraphics.resizeVertexBuffer = function(graphics,hasUVTData,length) { var buffer = hasUVTData ? graphics.__vertexBufferDataUVT : graphics.__vertexBufferData; var newBuffer = null; if(buffer == null) { var this1; if(length != null) { this1 = new Float32Array(length); } else { this1 = null; } newBuffer = this1; } else if(length > buffer.length) { var this2; if(length != null) { this2 = new Float32Array(length); } else { this2 = null; } newBuffer = this2; newBuffer.set(buffer); } if(newBuffer != null) { if(hasUVTData) { graphics.__vertexBufferDataUVT = newBuffer; } else { graphics.__vertexBufferData = newBuffer; } } }; var openfl__$internal_renderer_context3D_Context3DMaskShader = function() { if(this.__glFragmentSource == null) { this.__glFragmentSource = "varying vec2 openfl_TextureCoordv;\n\t\t\n\t\tuniform sampler2D openfl_Texture;\n\t\t\n\t\tvoid main(void) {\n\t\t\t\n\t\t\tvec4 color = texture2D (openfl_Texture, openfl_TextureCoordv);\n\t\t\t\n\t\t\tif (color.a == 0.0) {\n\t\t\t\t\n\t\t\t\tdiscard;\n\t\t\t\t\n\t\t\t} else {\n\t\t\t\t\n\t\t\t\tgl_FragColor = color;\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t}"; } if(this.__glVertexSource == null) { this.__glVertexSource = "attribute vec4 openfl_Position;\n\t\tattribute vec2 openfl_TextureCoord;\n\t\tvarying vec2 openfl_TextureCoordv;\n\t\t\n\t\tuniform mat4 openfl_Matrix;\n\t\t\n\t\tvoid main(void) {\n\t\t\t\n\t\t\topenfl_TextureCoordv = openfl_TextureCoord;\n\t\t\t\n\t\t\tgl_Position = openfl_Matrix * openfl_Position;\n\t\t\t\n\t\t}"; } openfl_display_Shader.call(this); this.__isGenerated = true; this.__initGL(); }; $hxClasses["openfl._internal.renderer.context3D.Context3DMaskShader"] = openfl__$internal_renderer_context3D_Context3DMaskShader; openfl__$internal_renderer_context3D_Context3DMaskShader.__name__ = ["openfl","_internal","renderer","context3D","Context3DMaskShader"]; openfl__$internal_renderer_context3D_Context3DMaskShader.__super__ = openfl_display_Shader; openfl__$internal_renderer_context3D_Context3DMaskShader.prototype = $extend(openfl_display_Shader.prototype,{ openfl_Position: null ,openfl_TextureCoord: null ,openfl_Matrix: null ,openfl_Texture: null ,__class__: openfl__$internal_renderer_context3D_Context3DMaskShader }); var openfl__$internal_renderer_context3D_Context3DShape = function() { }; $hxClasses["openfl._internal.renderer.context3D.Context3DShape"] = openfl__$internal_renderer_context3D_Context3DShape; openfl__$internal_renderer_context3D_Context3DShape.__name__ = ["openfl","_internal","renderer","context3D","Context3DShape"]; openfl__$internal_renderer_context3D_Context3DShape.render = function(shape,renderer) { if(!shape.__renderable || shape.__worldAlpha <= 0) { return; } var graphics = shape.__graphics; if(graphics != null) { renderer.__setBlendMode(shape.__worldBlendMode); renderer.__pushMaskObject(shape); openfl__$internal_renderer_context3D_Context3DGraphics.render(graphics,renderer); var bounds = graphics.__bounds; if(graphics.__bitmap != null && graphics.__visible) { var context = renderer.__context3D; var shader = renderer.__initDisplayShader(shape.__worldShader); renderer.setShader(shader); renderer.applyBitmapData(graphics.__bitmap,renderer.__allowSmoothing); renderer.applyMatrix(renderer.__getMatrix(graphics.__worldTransform,1)); renderer.applyAlpha(shape.__worldAlpha); renderer.applyColorTransform(shape.__worldColorTransform); renderer.updateShader(); var vertexBuffer = graphics.__bitmap.getVertexBuffer(context); if(shader.__position != null) { context.setVertexBufferAt(shader.__position.index,vertexBuffer,0,3); } if(shader.__textureCoord != null) { context.setVertexBufferAt(shader.__textureCoord.index,vertexBuffer,3,2); } var indexBuffer = graphics.__bitmap.getIndexBuffer(context); context.drawTriangles(indexBuffer); renderer.__clearShader(); } renderer.__popMaskObject(shape); } }; openfl__$internal_renderer_context3D_Context3DShape.renderMask = function(shape,renderer) { var graphics = shape.__graphics; if(graphics != null) { openfl__$internal_renderer_context3D_Context3DGraphics.renderMask(graphics,renderer); var bounds = graphics.__bounds; if(graphics.__bitmap != null) { var context = renderer.__context3D; var shader = renderer.__maskShader; renderer.setShader(shader); renderer.applyBitmapData(graphics.__bitmap,renderer.__allowSmoothing); renderer.applyMatrix(renderer.__getMatrix(graphics.__worldTransform,1)); renderer.updateShader(); var vertexBuffer = graphics.__bitmap.getVertexBuffer(context); if(shader.__position != null) { context.setVertexBufferAt(shader.__position.index,vertexBuffer,0,3); } if(shader.__textureCoord != null) { context.setVertexBufferAt(shader.__textureCoord.index,vertexBuffer,3,2); } var indexBuffer = graphics.__bitmap.getIndexBuffer(context); context.drawTriangles(indexBuffer); renderer.__clearShader(); } } }; var openfl__$internal_renderer_context3D_Context3DState = function() { this.backBufferEnableDepthAndStencil = false; this.blendDestinationAlphaFactor = 9; this.blendSourceAlphaFactor = 2; this.blendDestinationRGBFactor = 9; this.blendSourceRGBFactor = 2; this.colorMaskRed = true; this.colorMaskGreen = true; this.colorMaskBlue = true; this.colorMaskAlpha = true; this.culling = 3; this.depthCompareMode = 4; this.depthMask = true; this.samplerStates = []; this.scissorRectangle = new openfl_geom_Rectangle(); this.stencilCompareMode = 0; this.stencilDepthFail = 5; this.stencilFail = 5; this.stencilPass = 5; this.stencilReadMask = 255; this.stencilReferenceValue = 0; this.stencilTriangleFace = 2; this.stencilWriteMask = 255; this.textures = []; this.__frontFaceGLCCW = true; this.__glBlendEquation = 32774; }; $hxClasses["openfl._internal.renderer.context3D.Context3DState"] = openfl__$internal_renderer_context3D_Context3DState; openfl__$internal_renderer_context3D_Context3DState.__name__ = ["openfl","_internal","renderer","context3D","Context3DState"]; openfl__$internal_renderer_context3D_Context3DState.prototype = { backBufferEnableDepthAndStencil: null ,blendDestinationAlphaFactor: null ,blendSourceAlphaFactor: null ,blendDestinationRGBFactor: null ,blendSourceRGBFactor: null ,colorMaskRed: null ,colorMaskGreen: null ,colorMaskBlue: null ,colorMaskAlpha: null ,culling: null ,depthCompareMode: null ,depthMask: null ,program: null ,renderToTexture: null ,renderToTextureAntiAlias: null ,renderToTextureDepthStencil: null ,renderToTextureSurfaceSelector: null ,samplerStates: null ,scissorEnabled: null ,scissorRectangle: null ,stencilCompareMode: null ,stencilDepthFail: null ,stencilFail: null ,stencilPass: null ,stencilReadMask: null ,stencilReferenceValue: null ,stencilTriangleFace: null ,stencilWriteMask: null ,textures: null ,shader: null ,__currentGLArrayBuffer: null ,__currentGLElementArrayBuffer: null ,__currentGLFramebuffer: null ,__currentGLTexture2D: null ,__currentGLTextureCubeMap: null ,__enableGLBlend: null ,__enableGLCullFace: null ,__enableGLDepthTest: null ,__enableGLScissorTest: null ,__enableGLStencilTest: null ,__frontFaceGLCCW: null ,__glBlendEquation: null ,__primaryGLFramebuffer: null ,__rttDepthGLRenderbuffer: null ,__rttGLFramebuffer: null ,__rttGLRenderbuffer: null ,__rttStencilGLRenderbuffer: null ,__class__: openfl__$internal_renderer_context3D_Context3DState }; var openfl__$internal_renderer_dom_DOMBitmap = function() { }; $hxClasses["openfl._internal.renderer.dom.DOMBitmap"] = openfl__$internal_renderer_dom_DOMBitmap; openfl__$internal_renderer_dom_DOMBitmap.__name__ = ["openfl","_internal","renderer","dom","DOMBitmap"]; openfl__$internal_renderer_dom_DOMBitmap.clear = function(bitmap,renderer) { if(bitmap.__image != null) { renderer.element.removeChild(bitmap.__image); bitmap.__image = null; bitmap.__style = null; } if(bitmap.__canvas != null) { renderer.element.removeChild(bitmap.__canvas); bitmap.__canvas = null; bitmap.__style = null; } }; openfl__$internal_renderer_dom_DOMBitmap.render = function(bitmap,renderer) { if(bitmap.stage != null && bitmap.__worldVisible && bitmap.__renderable && bitmap.__bitmapData != null && bitmap.__bitmapData.__isValid && bitmap.__bitmapData.readable) { renderer.__pushMaskObject(bitmap); if(bitmap.__bitmapData.image.buffer.__srcImage != null) { openfl__$internal_renderer_dom_DOMBitmap.renderImage(bitmap,renderer); } else { openfl__$internal_renderer_dom_DOMBitmap.renderCanvas(bitmap,renderer); } renderer.__popMaskObject(bitmap); } else { openfl__$internal_renderer_dom_DOMBitmap.clear(bitmap,renderer); } }; openfl__$internal_renderer_dom_DOMBitmap.renderCanvas = function(bitmap,renderer) { if(bitmap.__image != null) { renderer.element.removeChild(bitmap.__image); bitmap.__image = null; } if(bitmap.__canvas == null) { bitmap.__canvas = window.document.createElement("canvas"); bitmap.__context = bitmap.__canvas.getContext("2d"); bitmap.__imageVersion = -1; if(!renderer.__allowSmoothing || !bitmap.smoothing) { bitmap.__context.imageSmoothingEnabled = false; } renderer.__initializeElement(bitmap,bitmap.__canvas); } if(bitmap.__imageVersion != bitmap.__bitmapData.image.version) { lime__$internal_graphics_ImageCanvasUtil.convertToCanvas(bitmap.__bitmapData.image); bitmap.__canvas.width = bitmap.__bitmapData.width + 1; bitmap.__canvas.width = bitmap.__bitmapData.width; bitmap.__canvas.height = bitmap.__bitmapData.height; bitmap.__context.drawImage(bitmap.__bitmapData.image.buffer.__srcCanvas,0,0); bitmap.__imageVersion = bitmap.__bitmapData.image.version; } renderer.__updateClip(bitmap); renderer.__applyStyle(bitmap,true,true,true); }; openfl__$internal_renderer_dom_DOMBitmap.renderImage = function(bitmap,renderer) { if(bitmap.__canvas != null) { renderer.element.removeChild(bitmap.__canvas); bitmap.__canvas = null; } if(bitmap.__image == null) { bitmap.__image = window.document.createElement("img"); bitmap.__image.crossOrigin = "Anonymous"; bitmap.__image.src = bitmap.__bitmapData.image.buffer.__srcImage.src; renderer.__initializeElement(bitmap,bitmap.__image); } renderer.__updateClip(bitmap); renderer.__applyStyle(bitmap,true,true,true); }; var openfl__$internal_renderer_dom_DOMDisplayObject = function() { }; $hxClasses["openfl._internal.renderer.dom.DOMDisplayObject"] = openfl__$internal_renderer_dom_DOMDisplayObject; openfl__$internal_renderer_dom_DOMDisplayObject.__name__ = ["openfl","_internal","renderer","dom","DOMDisplayObject"]; openfl__$internal_renderer_dom_DOMDisplayObject.clear = function(displayObject,renderer) { openfl__$internal_renderer_dom_DOMShape.clear(displayObject,renderer); }; openfl__$internal_renderer_dom_DOMDisplayObject.render = function(displayObject,renderer) { var tmp = displayObject.opaqueBackground != null && !displayObject.__isCacheBitmapRender && displayObject.get_width() > 0 && displayObject.get_height() > 0; var graphics = displayObject.__graphics; if(displayObject.stage != null && displayObject.__worldVisible && displayObject.__renderable && graphics != null) { openfl__$internal_renderer_canvas_CanvasGraphics.render(graphics,renderer.__canvasRenderer); if(graphics.__softwareDirty || displayObject.__worldAlphaChanged || displayObject.__canvas != graphics.__canvas) { if(graphics.__canvas != null) { if(displayObject.__canvas != graphics.__canvas) { if(displayObject.__canvas != null) { renderer.element.removeChild(displayObject.__canvas); } displayObject.__canvas = graphics.__canvas; displayObject.__context = graphics.__context; renderer.__initializeElement(displayObject,displayObject.__canvas); } } else { openfl__$internal_renderer_dom_DOMShape.clear(displayObject,renderer); } } if(displayObject.__canvas != null) { renderer.__pushMaskObject(displayObject); var cacheTransform = displayObject.__renderTransform; displayObject.__renderTransform = graphics.__worldTransform; if(graphics.__transformDirty) { graphics.__transformDirty = false; displayObject.__renderTransformChanged = true; } renderer.__updateClip(displayObject); renderer.__applyStyle(displayObject,true,true,true); displayObject.__renderTransform = cacheTransform; renderer.__popMaskObject(displayObject); } } else { openfl__$internal_renderer_dom_DOMShape.clear(displayObject,renderer); } }; var openfl__$internal_renderer_dom_DOMShape = function() { }; $hxClasses["openfl._internal.renderer.dom.DOMShape"] = openfl__$internal_renderer_dom_DOMShape; openfl__$internal_renderer_dom_DOMShape.__name__ = ["openfl","_internal","renderer","dom","DOMShape"]; openfl__$internal_renderer_dom_DOMShape.clear = function(shape,renderer) { if(shape.__canvas != null) { renderer.element.removeChild(shape.__canvas); shape.__canvas = null; shape.__style = null; } }; openfl__$internal_renderer_dom_DOMShape.render = function(shape,renderer) { var graphics = shape.__graphics; if(shape.stage != null && shape.__worldVisible && shape.__renderable && graphics != null) { openfl__$internal_renderer_canvas_CanvasGraphics.render(graphics,renderer.__canvasRenderer); if(graphics.__softwareDirty || shape.__worldAlphaChanged || shape.__canvas != graphics.__canvas) { if(graphics.__canvas != null) { if(shape.__canvas != graphics.__canvas) { if(shape.__canvas != null) { renderer.element.removeChild(shape.__canvas); } shape.__canvas = graphics.__canvas; shape.__context = graphics.__context; renderer.__initializeElement(shape,shape.__canvas); } } else { openfl__$internal_renderer_dom_DOMShape.clear(shape,renderer); } } if(shape.__canvas != null) { renderer.__pushMaskObject(shape); var cacheTransform = shape.__renderTransform; shape.__renderTransform = graphics.__worldTransform; if(graphics.__transformDirty) { graphics.__transformDirty = false; shape.__renderTransformChanged = true; } renderer.__updateClip(shape); renderer.__applyStyle(shape,true,true,true); shape.__renderTransform = cacheTransform; renderer.__popMaskObject(shape); } } else { openfl__$internal_renderer_dom_DOMShape.clear(shape,renderer); } }; var openfl__$internal_renderer_dom_DOMTextField = function() { }; $hxClasses["openfl._internal.renderer.dom.DOMTextField"] = openfl__$internal_renderer_dom_DOMTextField; openfl__$internal_renderer_dom_DOMTextField.__name__ = ["openfl","_internal","renderer","dom","DOMTextField"]; openfl__$internal_renderer_dom_DOMTextField.clear = function(textField,renderer) { if(textField.__div != null) { renderer.element.removeChild(textField.__div); textField.__div = null; textField.__style = null; } }; openfl__$internal_renderer_dom_DOMTextField.measureText = function(textField) { var textEngine = textField.__textEngine; var div = textField.__div; if(div == null) { div = window.document.createElement("div"); var _this_r = new RegExp("\n","g".split("u").join("")); div.innerHTML = textEngine.text.replace(_this_r,"
"); div.style.setProperty("font",openfl__$internal_text_TextEngine.getFont(textField.__textFormat),null); div.style.setProperty("pointer-events","none",null); div.style.position = "absolute"; div.style.top = "110%"; window.document.body.appendChild(div); } textEngine.__measuredWidth = div.clientWidth; if(textField.__div == null) { div.style.width = Std.string(textEngine.width - 4) + "px"; } textEngine.__measuredHeight = div.clientHeight; if(textField.__div == null) { window.document.body.removeChild(div); } }; openfl__$internal_renderer_dom_DOMTextField.render = function(textField,renderer) { var textEngine = textField.__textEngine; if(textField.stage != null && textField.__worldVisible && textField.__renderable) { if(textField.__dirty || textField.__renderTransformChanged || textField.__div == null) { if(textEngine.text != "" || textEngine.background || textEngine.border || textEngine.type == 1) { if(textField.__div == null) { textField.__div = window.document.createElement("div"); renderer.__initializeElement(textField,textField.__div); textField.__style.setProperty("outline","none",null); textField.__div.addEventListener("input",function(event) { event.preventDefault(); if(textField.get_htmlText() != textField.__div.innerHTML) { textField.set_htmlText(textField.__div.innerHTML); var textField1 = textField.__displayAsPassword; textField.__dirty = false; } },true); } if(!textEngine.wordWrap) { textField.__style.setProperty("white-space","nowrap",null); } else { textField.__style.setProperty("word-wrap","break-word",null); } textField.__style.setProperty("overflow","hidden",null); if(textEngine.selectable) { textField.__style.setProperty("cursor","text",null); textField.__style.setProperty("-webkit-user-select","text",null); textField.__style.setProperty("-moz-user-select","text",null); textField.__style.setProperty("-ms-user-select","text",null); textField.__style.setProperty("-o-user-select","text",null); } else { textField.__style.setProperty("cursor","inherit",null); } textField.__div.contentEditable = textEngine.type == 1; var style = textField.__style; if(textEngine.background) { style.setProperty("background-color","#" + StringTools.hex(textEngine.backgroundColor & 16777215,6),null); } else { style.removeProperty("background-color"); } var w = textEngine.width; var h = textEngine.height; var scale = 1; var unscaledSize = textField.__textFormat.size; var scaledSize = unscaledSize; var t = textField.__renderTransform; if(t.a != 1.0 || t.d != 1.0) { if(t.a == t.d) { scale = t.a; t.a = t.d = 1.0; } else if(t.a > t.d) { scale = t.a; t.d /= t.a; t.a = 1.0; } else { scale = t.d; t.a /= t.d; t.d = 1.0; } scaledSize *= scale; w = Math.ceil(w * scale); h = Math.ceil(h * scale); } textField.__textFormat.size = scaledSize; var text = textEngine.text; var adjustment = 0; if(!textField.__isHTML) { text = StringTools.htmlEscape(text); } else { var matchText = text; while(openfl__$internal_renderer_dom_DOMTextField.__regexFont.match(matchText)) { var fontText = openfl__$internal_renderer_dom_DOMTextField.__regexFont.matched(0); var style1 = ""; if(openfl__$internal_renderer_dom_DOMTextField.__regexFace.match(fontText)) { style1 += "font-family:'" + openfl__$internal_renderer_dom_DOMTextField.__getAttributeMatch(openfl__$internal_renderer_dom_DOMTextField.__regexFace) + "';"; } if(openfl__$internal_renderer_dom_DOMTextField.__regexColor.match(fontText)) { style1 += "color:#" + openfl__$internal_renderer_dom_DOMTextField.__getAttributeMatch(openfl__$internal_renderer_dom_DOMTextField.__regexColor) + ";"; } if(openfl__$internal_renderer_dom_DOMTextField.__regexSize.match(fontText)) { var sizeAttr = openfl__$internal_renderer_dom_DOMTextField.__getAttributeMatch(openfl__$internal_renderer_dom_DOMTextField.__regexSize); var firstChar = HxOverrides.cca(sizeAttr,0); var size; adjustment = parseFloat(sizeAttr) * scale; if(firstChar == 43 || firstChar == 45) { size = scaledSize + adjustment; } else { size = adjustment; } style1 += "font-size:" + size + "px;"; } text = StringTools.replace(text,fontText,""); matchText = openfl__$internal_renderer_dom_DOMTextField.__regexFont.matchedRight(); } text = text.replace(openfl__$internal_renderer_dom_DOMTextField.__regexCloseFont.r,""); } text = StringTools.replace(text,"

"); textField.__div.innerHTML = tmp; var _this_r1 = new RegExp("\n","g".split("u").join("")); var tmp1 = textField.__div.innerHTML.replace(_this_r1,"
"); textField.__div.innerHTML = tmp1; var _this_r2 = new RegExp("\r","g".split("u").join("")); var tmp2 = textField.__div.innerHTML.replace(_this_r2,"
"); textField.__div.innerHTML = tmp2; style.setProperty("font",openfl__$internal_text_TextEngine.getFont(textField.__textFormat),null); textField.__textFormat.size = unscaledSize; textField.__textFormat.leading = unscaledLeading; style.setProperty("top","3px",null); if(textEngine.border) { style.setProperty("border","solid 1px #" + StringTools.hex(textEngine.borderColor & 16777215,6),null); textField.__renderTransform.translate(-1,-1); textField.__renderTransformChanged = true; textField.__transformDirty = true; } else if(style.border != "") { style.removeProperty("border"); textField.__renderTransformChanged = true; } style.setProperty("color","#" + StringTools.hex(textField.__textFormat.color & 16777215,6),null); style.setProperty("width",w + "px",null); style.setProperty("height",h + "px",null); var _g = textField.__textFormat.align; switch(_g) { case 0: style.setProperty("text-align","center",null); break; case 4: style.setProperty("text-align","right",null); break; default: style.setProperty("text-align","left",null); } textField.__dirty = false; } else if(textField.__div != null) { renderer.element.removeChild(textField.__div); textField.__div = null; } } if(textField.__div != null) { var old = renderer.__roundPixels; renderer.__roundPixels = true; renderer.__updateClip(textField); renderer.__applyStyle(textField,true,true,true); renderer.__roundPixels = old; } } else { openfl__$internal_renderer_dom_DOMTextField.clear(textField,renderer); } }; openfl__$internal_renderer_dom_DOMTextField.__getAttributeMatch = function(regex) { if(regex.matched(2) != null) { return regex.matched(2); } else { return regex.matched(3); } }; var openfl__$internal_symbols_SWFSymbol = function() { }; $hxClasses["openfl._internal.symbols.SWFSymbol"] = openfl__$internal_symbols_SWFSymbol; openfl__$internal_symbols_SWFSymbol.__name__ = ["openfl","_internal","symbols","SWFSymbol"]; openfl__$internal_symbols_SWFSymbol.prototype = { className: null ,id: null ,__createObject: function(swf) { return null; } ,__class__: openfl__$internal_symbols_SWFSymbol }; var openfl__$internal_symbols_BitmapSymbol = function() { openfl__$internal_symbols_SWFSymbol.call(this); }; $hxClasses["openfl._internal.symbols.BitmapSymbol"] = openfl__$internal_symbols_BitmapSymbol; openfl__$internal_symbols_BitmapSymbol.__name__ = ["openfl","_internal","symbols","BitmapSymbol"]; openfl__$internal_symbols_BitmapSymbol.__super__ = openfl__$internal_symbols_SWFSymbol; openfl__$internal_symbols_BitmapSymbol.prototype = $extend(openfl__$internal_symbols_SWFSymbol.prototype,{ alpha: null ,path: null ,smooth: null ,__createObject: function(swf) { return new openfl_display_Bitmap(openfl_display_BitmapData.fromImage(swf.library.getImage(this.path)),1,this.smooth != false); } ,__class__: openfl__$internal_symbols_BitmapSymbol }); var openfl__$internal_symbols_ButtonSymbol = function() { openfl__$internal_symbols_SWFSymbol.call(this); }; $hxClasses["openfl._internal.symbols.ButtonSymbol"] = openfl__$internal_symbols_ButtonSymbol; openfl__$internal_symbols_ButtonSymbol.__name__ = ["openfl","_internal","symbols","ButtonSymbol"]; openfl__$internal_symbols_ButtonSymbol.__super__ = openfl__$internal_symbols_SWFSymbol; openfl__$internal_symbols_ButtonSymbol.prototype = $extend(openfl__$internal_symbols_SWFSymbol.prototype,{ downState: null ,hitState: null ,overState: null ,upState: null ,__createObject: function(swf) { var simpleButton = null; openfl_display_SimpleButton.__initSWF = swf; openfl_display_SimpleButton.__initSymbol = this; if(this.className != null) { var symbolType = Type.resolveClass(this.className); if(symbolType != null) { simpleButton = Type.createInstance(symbolType,[]); } } if(simpleButton == null) { simpleButton = new openfl_display_SimpleButton(); } return simpleButton; } ,__class__: openfl__$internal_symbols_ButtonSymbol }); var openfl__$internal_symbols_DynamicTextSymbol = function() { openfl__$internal_symbols_SWFSymbol.call(this); }; $hxClasses["openfl._internal.symbols.DynamicTextSymbol"] = openfl__$internal_symbols_DynamicTextSymbol; openfl__$internal_symbols_DynamicTextSymbol.__name__ = ["openfl","_internal","symbols","DynamicTextSymbol"]; openfl__$internal_symbols_DynamicTextSymbol.__super__ = openfl__$internal_symbols_SWFSymbol; openfl__$internal_symbols_DynamicTextSymbol.prototype = $extend(openfl__$internal_symbols_SWFSymbol.prototype,{ align: null ,border: null ,color: null ,fontHeight: null ,fontID: null ,fontName: null ,height: null ,html: null ,indent: null ,input: null ,leading: null ,leftMargin: null ,multiline: null ,password: null ,rightMargin: null ,selectable: null ,text: null ,width: null ,wordWrap: null ,x: null ,y: null ,__createObject: function(swf) { var textField = new openfl_text_TextField(); textField.__fromSymbol(swf,this); return textField; } ,__class__: openfl__$internal_symbols_DynamicTextSymbol }); var openfl__$internal_symbols_FontSymbol = function() { openfl__$internal_symbols_SWFSymbol.call(this); }; $hxClasses["openfl._internal.symbols.FontSymbol"] = openfl__$internal_symbols_FontSymbol; openfl__$internal_symbols_FontSymbol.__name__ = ["openfl","_internal","symbols","FontSymbol"]; openfl__$internal_symbols_FontSymbol.__super__ = openfl__$internal_symbols_SWFSymbol; openfl__$internal_symbols_FontSymbol.prototype = $extend(openfl__$internal_symbols_SWFSymbol.prototype,{ advances: null ,ascent: null ,bold: null ,codes: null ,descent: null ,glyphs: null ,italic: null ,leading: null ,name: null ,__class__: openfl__$internal_symbols_FontSymbol }); var openfl__$internal_symbols_ShapeSymbol = function() { openfl__$internal_symbols_SWFSymbol.call(this); }; $hxClasses["openfl._internal.symbols.ShapeSymbol"] = openfl__$internal_symbols_ShapeSymbol; openfl__$internal_symbols_ShapeSymbol.__name__ = ["openfl","_internal","symbols","ShapeSymbol"]; openfl__$internal_symbols_ShapeSymbol.__super__ = openfl__$internal_symbols_SWFSymbol; openfl__$internal_symbols_ShapeSymbol.prototype = $extend(openfl__$internal_symbols_SWFSymbol.prototype,{ commands: null ,rendered: null ,__createObject: function(swf) { var shape = new openfl_display_Shape(); var graphics = shape.get_graphics(); if(this.rendered != null) { graphics.copyFrom(this.rendered.get_graphics()); return shape; } var _g = 0; var _g1 = this.commands; while(_g < _g1.length) { var command = _g1[_g]; ++_g; switch(command[1]) { case 0: var smooth = command[5]; var repeat = command[4]; var matrix = command[3]; var bitmapID = command[2]; var bitmapSymbol = swf.symbols.get(bitmapID); var bitmap = swf.library.getImage(bitmapSymbol.path); if(bitmap != null) { graphics.beginBitmapFill(openfl_display_BitmapData.fromImage(bitmap),matrix,repeat,smooth); } break; case 1: var alpha = command[3]; var color = command[2]; graphics.beginFill(color,alpha); break; case 2: var focalPointRatio = command[9]; var interpolationMethod = command[8]; var spreadMethod = command[7]; var matrix1 = command[6]; var ratios = command[5]; var alphas = command[4]; var colors = command[3]; var fillType = command[2]; graphics.beginGradientFill(fillType,colors,alphas,ratios,matrix1,spreadMethod,interpolationMethod,focalPointRatio); break; case 3: var anchorY = command[5]; var anchorX = command[4]; var controlY = command[3]; var controlX = command[2]; graphics.curveTo(controlX,controlY,anchorX,anchorY); break; case 4: graphics.endFill(); break; case 5: var miterLimit = command[9]; var joints = command[8]; var caps = command[7]; var scaleMode = command[6]; var pixelHinting = command[5]; var alpha1 = command[4]; var color1 = command[3]; var thickness = command[2]; if(thickness != null) { graphics.lineStyle(thickness,color1,alpha1,pixelHinting,scaleMode,caps,joints,miterLimit); } else { graphics.lineStyle(); } break; case 6: var y = command[3]; var x = command[2]; graphics.lineTo(x,y); break; case 7: var y1 = command[3]; var x1 = command[2]; graphics.moveTo(x1,y1); break; } } this.commands = null; this.rendered = new openfl_display_Shape(); this.rendered.get_graphics().copyFrom(shape.get_graphics()); return shape; } ,__class__: openfl__$internal_symbols_ShapeSymbol }); var openfl__$internal_symbols_SpriteSymbol = function() { openfl__$internal_symbols_SWFSymbol.call(this); this.frames = []; }; $hxClasses["openfl._internal.symbols.SpriteSymbol"] = openfl__$internal_symbols_SpriteSymbol; openfl__$internal_symbols_SpriteSymbol.__name__ = ["openfl","_internal","symbols","SpriteSymbol"]; openfl__$internal_symbols_SpriteSymbol.__super__ = openfl__$internal_symbols_SWFSymbol; openfl__$internal_symbols_SpriteSymbol.prototype = $extend(openfl__$internal_symbols_SWFSymbol.prototype,{ baseClassName: null ,frames: null ,__createObject: function(swf) { openfl_display_MovieClip.__initSWF = swf; openfl_display_MovieClip.__initSymbol = this; var symbolType = null; if(this.className != null) { symbolType = Type.resolveClass(this.className); var tmp = symbolType == null; } if(symbolType == null && this.baseClassName != null) { symbolType = Type.resolveClass(this.baseClassName); var tmp1 = symbolType == null; } var movieClip = null; if(symbolType != null) { movieClip = Type.createInstance(symbolType,[]); } else { movieClip = new openfl_display_MovieClip(); } return movieClip; } ,__class__: openfl__$internal_symbols_SpriteSymbol }); var openfl__$internal_symbols_StaticTextSymbol = function() { openfl__$internal_symbols_SWFSymbol.call(this); }; $hxClasses["openfl._internal.symbols.StaticTextSymbol"] = openfl__$internal_symbols_StaticTextSymbol; openfl__$internal_symbols_StaticTextSymbol.__name__ = ["openfl","_internal","symbols","StaticTextSymbol"]; openfl__$internal_symbols_StaticTextSymbol.__super__ = openfl__$internal_symbols_SWFSymbol; openfl__$internal_symbols_StaticTextSymbol.prototype = $extend(openfl__$internal_symbols_SWFSymbol.prototype,{ matrix: null ,records: null ,rendered: null ,__createObject: function(swf) { var staticText = new openfl_text_StaticText(); var graphics = staticText.__graphics; if(this.rendered != null) { staticText.text = this.rendered.text; graphics.copyFrom(this.rendered.__graphics); return staticText; } var text = ""; if(this.records != null) { var font = null; var color = 16777215; var offsetX = this.matrix.tx; var offsetY = this.matrix.ty; var scale; var index; var code; var _g = 0; var _g1 = this.records; while(_g < _g1.length) { var record = _g1[_g]; ++_g; if(record.fontID != null) { font = swf.symbols.h[record.fontID]; } if(record.offsetX != null) { offsetX = this.matrix.tx + record.offsetX * 0.05; } if(record.offsetY != null) { offsetY = this.matrix.ty + record.offsetY * 0.05; } if(record.color != null) { color = record.color; } if(font != null) { scale = record.fontHeight / 1024 * 0.05; var _g3 = 0; var _g2 = record.glyphs.length; while(_g3 < _g2) { var i = _g3++; index = record.glyphs[i]; text += String.fromCharCode(font.codes[index]); var _g4 = 0; var _g5 = font.glyphs[index]; while(_g4 < _g5.length) { var command = _g5[_g4]; ++_g4; switch(command[1]) { case 1: var alpha = command[3]; graphics.beginFill(color & 16777215,(color >> 24 & 255) / 255); break; case 3: var anchorY = command[5]; var anchorX = command[4]; var controlY = command[3]; var controlX = command[2]; graphics.curveTo(controlX * scale + offsetX,controlY * scale + offsetY,anchorX * scale + offsetX,anchorY * scale + offsetY); break; case 4: graphics.endFill(); break; case 5: var miterLimit = command[9]; var joints = command[8]; var caps = command[7]; var scaleMode = command[6]; var pixelHinting = command[5]; var alpha1 = command[4]; var color1 = command[3]; var thickness = command[2]; if(thickness != null) { graphics.lineStyle(thickness,color1,alpha1,pixelHinting,scaleMode,caps,joints,miterLimit); } else { graphics.lineStyle(); } break; case 6: var y = command[3]; var x = command[2]; graphics.lineTo(x * scale + offsetX,y * scale + offsetY); break; case 7: var y1 = command[3]; var x1 = command[2]; graphics.moveTo(x1 * scale + offsetX,y1 * scale + offsetY); break; default: } } offsetX += record.advances[i] * 0.05; } } } } staticText.text = text; this.records = null; this.rendered = new openfl_text_StaticText(); this.rendered.text = text; this.rendered.__graphics.copyFrom(staticText.__graphics); return staticText; } ,__class__: openfl__$internal_symbols_StaticTextSymbol }); var openfl__$internal_symbols_StaticTextRecord = function() { }; $hxClasses["openfl._internal.symbols.StaticTextRecord"] = openfl__$internal_symbols_StaticTextRecord; openfl__$internal_symbols_StaticTextRecord.__name__ = ["openfl","_internal","symbols","StaticTextRecord"]; openfl__$internal_symbols_StaticTextRecord.prototype = { advances: null ,color: null ,fontHeight: null ,fontID: null ,glyphs: null ,offsetX: null ,offsetY: null ,__class__: openfl__$internal_symbols_StaticTextRecord }; var openfl__$internal_symbols_timeline_Frame = function() { }; $hxClasses["openfl._internal.symbols.timeline.Frame"] = openfl__$internal_symbols_timeline_Frame; openfl__$internal_symbols_timeline_Frame.__name__ = ["openfl","_internal","symbols","timeline","Frame"]; openfl__$internal_symbols_timeline_Frame.prototype = { label: null ,objects: null ,script: null ,scriptSource: null ,__class__: openfl__$internal_symbols_timeline_Frame }; var openfl__$internal_symbols_timeline_FrameObject = function() { }; $hxClasses["openfl._internal.symbols.timeline.FrameObject"] = openfl__$internal_symbols_timeline_FrameObject; openfl__$internal_symbols_timeline_FrameObject.__name__ = ["openfl","_internal","symbols","timeline","FrameObject"]; openfl__$internal_symbols_timeline_FrameObject.prototype = { blendMode: null ,cacheAsBitmap: null ,clipDepth: null ,colorTransform: null ,depth: null ,filters: null ,id: null ,matrix: null ,name: null ,symbol: null ,type: null ,visible: null ,__class__: openfl__$internal_symbols_timeline_FrameObject }; var openfl__$internal_symbols_timeline_FrameObjectType = $hxClasses["openfl._internal.symbols.timeline.FrameObjectType"] = { __ename__ : ["openfl","_internal","symbols","timeline","FrameObjectType"], __constructs__ : ["CREATE","UPDATE","DESTROY"] }; openfl__$internal_symbols_timeline_FrameObjectType.CREATE = ["CREATE",0]; openfl__$internal_symbols_timeline_FrameObjectType.CREATE.toString = $estr; openfl__$internal_symbols_timeline_FrameObjectType.CREATE.__enum__ = openfl__$internal_symbols_timeline_FrameObjectType; openfl__$internal_symbols_timeline_FrameObjectType.UPDATE = ["UPDATE",1]; openfl__$internal_symbols_timeline_FrameObjectType.UPDATE.toString = $estr; openfl__$internal_symbols_timeline_FrameObjectType.UPDATE.__enum__ = openfl__$internal_symbols_timeline_FrameObjectType; openfl__$internal_symbols_timeline_FrameObjectType.DESTROY = ["DESTROY",2]; openfl__$internal_symbols_timeline_FrameObjectType.DESTROY.toString = $estr; openfl__$internal_symbols_timeline_FrameObjectType.DESTROY.__enum__ = openfl__$internal_symbols_timeline_FrameObjectType; var openfl__$internal_text_GlyphPosition = function(glyph,advance,offset) { this.glyph = glyph; this.advance = advance; if(offset != null) { this.offset = offset; } else { this.offset = new lime_math_Vector2(); } }; $hxClasses["openfl._internal.text.GlyphPosition"] = openfl__$internal_text_GlyphPosition; openfl__$internal_text_GlyphPosition.__name__ = ["openfl","_internal","text","GlyphPosition"]; openfl__$internal_text_GlyphPosition.prototype = { advance: null ,glyph: null ,offset: null ,__class__: openfl__$internal_text_GlyphPosition }; var openfl__$internal_text_TextEngine = function(textField) { this.textField = textField; this.width = 100; this.height = 100; this.set_text(""); this.bounds = new openfl_geom_Rectangle(0,0,0,0); this.textBounds = new openfl_geom_Rectangle(0,0,0,0); this.type = 0; this.autoSize = 2; this.embedFonts = false; this.selectable = true; this.borderColor = 0; this.border = false; this.backgroundColor = 16777215; this.background = false; this.gridFitType = 1; this.maxChars = 0; this.multiline = false; this.sharpness = 0; this.scrollH = 0; this.scrollV = 1; this.wordWrap = false; this.lineAscents = openfl__$Vector_Vector_$Impl_$.toFloatVector(null); this.lineBreaks = openfl__$Vector_Vector_$Impl_$.toIntVector(null); this.lineDescents = openfl__$Vector_Vector_$Impl_$.toFloatVector(null); this.lineLeadings = openfl__$Vector_Vector_$Impl_$.toFloatVector(null); this.lineHeights = openfl__$Vector_Vector_$Impl_$.toFloatVector(null); this.lineWidths = openfl__$Vector_Vector_$Impl_$.toFloatVector(null); this.layoutGroups = openfl__$Vector_Vector_$Impl_$.toObjectVector(null); this.textFormatRanges = openfl__$Vector_Vector_$Impl_$.toObjectVector(null); openfl__$internal_text_TextEngine.__canvas = window.document.createElement("canvas"); openfl__$internal_text_TextEngine.__context = openfl__$internal_text_TextEngine.__canvas.getContext("2d"); }; $hxClasses["openfl._internal.text.TextEngine"] = openfl__$internal_text_TextEngine; openfl__$internal_text_TextEngine.__name__ = ["openfl","_internal","text","TextEngine"]; openfl__$internal_text_TextEngine.__canvas = null; openfl__$internal_text_TextEngine.__context = null; openfl__$internal_text_TextEngine.findFont = function(name) { var _this = openfl_text_Font.__fontByName; if(__map_reserved[name] != null) { return _this.getReserved(name); } else { return _this.h[name]; } }; openfl__$internal_text_TextEngine.findFontVariant = function(format) { var fontName = format.font; var bold = format.bold; var italic = format.italic; if(fontName == null) { fontName = "_serif"; } var fontNamePrefix = StringTools.replace(StringTools.replace(fontName," Normal","")," Regular",""); var tmp; if(bold && italic) { var _this = openfl_text_Font.__fontByName; var key = fontNamePrefix + " Bold Italic"; if(__map_reserved[key] != null) { tmp = _this.existsReserved(key); } else { tmp = _this.h.hasOwnProperty(key); } } else { tmp = false; } if(tmp) { return openfl__$internal_text_TextEngine.findFont(fontNamePrefix + " Bold Italic"); } else { var tmp1; if(bold) { var _this1 = openfl_text_Font.__fontByName; var key1 = fontNamePrefix + " Bold"; if(__map_reserved[key1] != null) { tmp1 = _this1.existsReserved(key1); } else { tmp1 = _this1.h.hasOwnProperty(key1); } } else { tmp1 = false; } if(tmp1) { return openfl__$internal_text_TextEngine.findFont(fontNamePrefix + " Bold"); } else { var tmp2; if(italic) { var _this2 = openfl_text_Font.__fontByName; var key2 = fontNamePrefix + " Italic"; if(__map_reserved[key2] != null) { tmp2 = _this2.existsReserved(key2); } else { tmp2 = _this2.h.hasOwnProperty(key2); } } else { tmp2 = false; } if(tmp2) { return openfl__$internal_text_TextEngine.findFont(fontNamePrefix + " Italic"); } } } return openfl__$internal_text_TextEngine.findFont(fontName); }; openfl__$internal_text_TextEngine.getFormatHeight = function(format) { var ascent; var descent; var leading; openfl__$internal_text_TextEngine.__context.font = openfl__$internal_text_TextEngine.getFont(format); var font = openfl__$internal_text_TextEngine.getFontInstance(format); if(format.__ascent != null) { ascent = format.size * format.__ascent; descent = format.size * format.__descent; } else if(font != null && font.unitsPerEM != 0) { ascent = font.ascender / font.unitsPerEM * format.size; descent = Math.abs(font.descender / font.unitsPerEM * format.size); } else { ascent = format.size; descent = format.size * 0.185; } leading = format.leading; return ascent + descent + leading; }; openfl__$internal_text_TextEngine.getFont = function(format) { var fontName = format.font; var bold = format.bold; var italic = format.italic; if(fontName == null) { fontName = "_serif"; } var fontNamePrefix = StringTools.replace(StringTools.replace(fontName," Normal","")," Regular",""); var tmp; if(bold && italic) { var _this = openfl_text_Font.__fontByName; var key = fontNamePrefix + " Bold Italic"; if(__map_reserved[key] != null) { tmp = _this.existsReserved(key); } else { tmp = _this.h.hasOwnProperty(key); } } else { tmp = false; } if(tmp) { fontName = fontNamePrefix + " Bold Italic"; bold = false; italic = false; } else { var tmp1; if(bold) { var _this1 = openfl_text_Font.__fontByName; var key1 = fontNamePrefix + " Bold"; if(__map_reserved[key1] != null) { tmp1 = _this1.existsReserved(key1); } else { tmp1 = _this1.h.hasOwnProperty(key1); } } else { tmp1 = false; } if(tmp1) { fontName = fontNamePrefix + " Bold"; bold = false; } else { var tmp2; if(italic) { var _this2 = openfl_text_Font.__fontByName; var key2 = fontNamePrefix + " Italic"; if(__map_reserved[key2] != null) { tmp2 = _this2.existsReserved(key2); } else { tmp2 = _this2.h.hasOwnProperty(key2); } } else { tmp2 = false; } if(tmp2) { fontName = fontNamePrefix + " Italic"; italic = false; } else { if(bold && (fontName.indexOf(" Bold ") > -1 || StringTools.endsWith(fontName," Bold"))) { bold = false; } if(italic && (fontName.indexOf(" Italic ") > -1 || StringTools.endsWith(fontName," Italic"))) { italic = false; } } } } var font = italic ? "italic " : "normal "; font += "normal "; font += bold ? "bold " : "normal "; font += format.size + "px"; font += "/" + (format.leading + format.size + 3) + "px "; var font1; switch(fontName) { case "_sans": font1 = "sans-serif"; break; case "_serif": font1 = "serif"; break; case "_typewriter": font1 = "monospace"; break; default: var _this_r = new RegExp("^[\\s'\"]+(.*)[\\s'\"]+$","".split("u").join("")); font1 = "'" + fontName.replace(_this_r,"$1") + "'"; } font += "" + font1; return font; }; openfl__$internal_text_TextEngine.getFontInstance = function(format) { return openfl__$internal_text_TextEngine.findFontVariant(format); }; openfl__$internal_text_TextEngine.prototype = { antiAliasType: null ,autoSize: null ,background: null ,backgroundColor: null ,border: null ,borderColor: null ,bottomScrollV: null ,bounds: null ,caretIndex: null ,embedFonts: null ,gridFitType: null ,height: null ,layoutGroups: null ,lineAscents: null ,lineBreaks: null ,lineDescents: null ,lineLeadings: null ,lineHeights: null ,lineWidths: null ,maxChars: null ,maxScrollH: null ,maxScrollV: null ,multiline: null ,numLines: null ,restrict: null ,scrollH: null ,scrollV: null ,selectable: null ,sharpness: null ,text: null ,textBounds: null ,textHeight: null ,textFormatRanges: null ,textWidth: null ,type: null ,width: null ,wordWrap: null ,textField: null ,__cursorTimer: null ,__hasFocus: null ,__isKeyDown: null ,__measuredHeight: null ,__measuredWidth: null ,__restrictRegexp: null ,__selectionStart: null ,__showCursor: null ,__textFormat: null ,__textLayout: null ,__texture: null ,__useIntAdvances: null ,__cairoFont: null ,__font: null ,createRestrictRegexp: function(restrict) { var declinedRange = new EReg("\\^(.-.|.)","gu"); var declined = ""; var accepted = declinedRange.map(restrict,function(ereg) { declined += ereg.matched(1); return ""; }); var testRegexpParts = []; if(accepted.length > 0) { testRegexpParts.push("[^" + restrict + "]"); } if(declined.length > 0) { testRegexpParts.push("[" + declined + "]"); } return new EReg("(" + testRegexpParts.join("|") + ")","g"); } ,getBounds: function() { var padding = this.border ? 1 : 0; this.bounds.width = this.width + padding; this.bounds.height = this.height + padding; var x = this.width; var y = this.width; var _g = 0; var _g1 = this.layoutGroups; while(_g < _g1.get_length()) { var group = _g1.get(_g); ++_g; if(group.offsetX < x) { x = group.offsetX; } if(group.offsetY < y) { y = group.offsetY; } } if(x >= this.width) { x = 2; } if(y >= this.height) { y = 2; } var textHeight = this.textHeight * 1.185; this.textBounds.setTo(Math.max(x - 2,0),Math.max(y - 2,0),Math.min(this.textWidth + 4,this.bounds.width + 4),Math.min(textHeight + 4,this.bounds.height + 4)); } ,getLine: function(index) { if(index < 0 || index > this.lineBreaks.get_length() + 1) { return null; } if(this.lineBreaks.get_length() == 0) { return this.text; } else { return lime_text__$UTF8String_UTF8String_$Impl_$.substring(this.text,index > 0 ? this.lineBreaks.get(index - 1) : 0,this.lineBreaks.get(index)); } } ,getLineBreakIndex: function(startIndex) { if(startIndex == null) { startIndex = 0; } var cr = lime_text__$UTF8String_UTF8String_$Impl_$.indexOf(this.text,"\n",startIndex); var lf = lime_text__$UTF8String_UTF8String_$Impl_$.indexOf(this.text,"\r",startIndex); if(cr == -1) { return lf; } if(lf == -1) { return cr; } if(cr < lf) { return cr; } else { return lf; } } ,getLineMeasurements: function() { this.lineAscents.set_length(0); this.lineDescents.set_length(0); this.lineLeadings.set_length(0); this.lineHeights.set_length(0); this.lineWidths.set_length(0); var currentLineAscent = 0.0; var currentLineDescent = 0.0; var currentLineLeading = null; var currentLineHeight = 0.0; var currentLineWidth = 0.0; var currentTextHeight = 0.0; this.textWidth = 0; this.textHeight = 0; this.numLines = 1; this.bottomScrollV = 0; this.maxScrollH = 0; var _g = 0; var _g1 = this.layoutGroups; while(_g < _g1.get_length()) { var group = _g1.get(_g); ++_g; while(group.lineIndex > this.numLines - 1) { this.lineAscents.push(currentLineAscent); this.lineDescents.push(currentLineDescent); this.lineLeadings.push(currentLineLeading != null ? currentLineLeading : 0); this.lineHeights.push(currentLineHeight); this.lineWidths.push(currentLineWidth); currentLineAscent = 0; currentLineDescent = 0; currentLineLeading = null; currentLineHeight = 0; currentLineWidth = 0; this.numLines++; if(this.textHeight <= this.height - 2) { this.bottomScrollV++; } } currentLineAscent = Math.max(currentLineAscent,group.ascent); currentLineDescent = Math.max(currentLineDescent,group.descent); if(currentLineLeading == null) { currentLineLeading = group.leading; } else { currentLineLeading = Math.max(currentLineLeading,group.leading) | 0; } currentLineHeight = Math.max(currentLineHeight,group.height); currentLineWidth = group.offsetX - 2 + group.width; if(currentLineWidth > this.textWidth) { this.textWidth = currentLineWidth; } currentTextHeight = group.offsetY - 2 + group.ascent + group.descent; if(currentTextHeight > this.textHeight) { this.textHeight = currentTextHeight; } } if(this.textHeight == 0 && this.textField != null && this.textField.get_type() == 1) { var currentFormat = this.textField.__textFormat; var ascent; var descent; var leading; var heightValue; var font = openfl__$internal_text_TextEngine.getFontInstance(currentFormat); if(currentFormat.__ascent != null) { ascent = currentFormat.size * currentFormat.__ascent; descent = currentFormat.size * currentFormat.__descent; } else if(font != null && font.unitsPerEM != 0) { ascent = font.ascender / font.unitsPerEM * currentFormat.size; descent = Math.abs(font.descender / font.unitsPerEM * currentFormat.size); } else { ascent = currentFormat.size; descent = currentFormat.size * 0.185; } leading = currentFormat.leading; heightValue = ascent + descent + leading; currentLineAscent = ascent; currentLineDescent = descent; currentLineLeading = leading; currentTextHeight = ascent + descent; this.textHeight = currentTextHeight; } this.lineAscents.push(currentLineAscent); this.lineDescents.push(currentLineDescent); this.lineLeadings.push(currentLineLeading != null ? currentLineLeading : 0); this.lineHeights.push(currentLineHeight); this.lineWidths.push(currentLineWidth); if(this.numLines == 1) { this.bottomScrollV = 1; if(currentLineLeading > 0) { this.textHeight += currentLineLeading; } } else if(this.textHeight <= this.height - 2) { this.bottomScrollV++; } if(this.autoSize != 2) { var _g2 = this.autoSize; switch(_g2) { case 0:case 1:case 3: if(!this.wordWrap) { this.width = this.textWidth + 4; } this.height = this.textHeight + 4; this.bottomScrollV = this.numLines; break; default: } } if(this.textWidth > this.width - 4) { this.maxScrollH = this.textWidth - this.width + 4 | 0; } else { this.maxScrollH = 0; } this.maxScrollV = this.numLines - this.bottomScrollV + 1; if(this.scrollV > this.maxScrollV) { this.scrollV = this.maxScrollV; } if(this.scrollH > this.maxScrollH) { this.scrollH = this.maxScrollH; } } ,getLayoutGroups: function() { var _gthis = this; this.layoutGroups.set_length(0); if(this.text == null || lime_text__$UTF8String_UTF8String_$Impl_$.equals(this.text,"")) { return; } var rangeIndex = -1; var formatRange = null; var font = null; var currentFormat = openfl_text_TextField.__defaultTextFormat.clone(); var leading = 0; var ascent = 0.0; var maxAscent = 0.0; var descent = 0.0; var layoutGroup = null; var positions = null; var widthValue = 0.0; var heightValue = 0.0; var maxHeightValue = 0.0; var previousSpaceIndex = -2; var spaceIndex = lime_text__$UTF8String_UTF8String_$Impl_$.indexOf(this.text," "); var breakIndex = this.getLineBreakIndex(); var offsetX = 2.0; var offsetY = 2.0; var textIndex = 0; var lineIndex = 0; var lineFormat = null; var getPositions = function(text,startIndex,endIndex) { var positions1 = []; var letterSpacing = 0.0; if(formatRange.format.letterSpacing != null) { letterSpacing = formatRange.format.letterSpacing; } if(_gthis.__useIntAdvances == null) { var getPositions1 = new EReg("Trident/7.0",""); _gthis.__useIntAdvances = getPositions1.match(window.navigator.userAgent); } if(_gthis.__useIntAdvances) { var previousWidth = 0.0; var width; var _g1 = startIndex; var _g = endIndex; while(_g1 < _g) { var i = _g1++; width = openfl__$internal_text_TextEngine.__context.measureText(lime_text__$UTF8String_UTF8String_$Impl_$.substring(text,startIndex,i + 1)).width; positions1.push(width - previousWidth); previousWidth = width; } } else { var _g11 = startIndex; var _g2 = endIndex; while(_g11 < _g2) { var i1 = _g11++; var advance; if(i1 < lime_text__$UTF8String_UTF8String_$Impl_$.get_length(text) - 1) { var nextWidth = openfl__$internal_text_TextEngine.__context.measureText(lime_text__$UTF8String_UTF8String_$Impl_$.charAt(text,i1 + 1)).width; var twoWidths = openfl__$internal_text_TextEngine.__context.measureText(lime_text__$UTF8String_UTF8String_$Impl_$.substr(text,i1,2)).width; advance = twoWidths - nextWidth; } else { advance = openfl__$internal_text_TextEngine.__context.measureText(lime_text__$UTF8String_UTF8String_$Impl_$.charAt(text,i1)).width; } positions1.push(advance); } } return positions1; }; var getPositionsWidth = function(positions2) { var width1 = 0.0; var _g3 = 0; while(_g3 < positions2.length) { var position = positions2[_g3]; ++_g3; width1 += position; } return width1; }; var getTextWidth = function(text1) { return openfl__$internal_text_TextEngine.__context.measureText(text1).width; }; var nextLayoutGroup = function(startIndex1,endIndex1) { if(layoutGroup == null || layoutGroup.startIndex != layoutGroup.endIndex) { layoutGroup = new openfl__$internal_text_TextLayoutGroup(formatRange.format,startIndex1,endIndex1); _gthis.layoutGroups.push(layoutGroup); } else { layoutGroup.format = formatRange.format; layoutGroup.startIndex = startIndex1; layoutGroup.endIndex = endIndex1; } }; var setLineMetrics = function() { if(currentFormat.__ascent != null) { ascent = currentFormat.size * currentFormat.__ascent; descent = currentFormat.size * currentFormat.__descent; } else if(font != null && font.unitsPerEM != 0) { ascent = font.ascender / font.unitsPerEM * currentFormat.size; descent = Math.abs(font.descender / font.unitsPerEM * currentFormat.size); } else { ascent = currentFormat.size; descent = currentFormat.size * 0.185; } leading = currentFormat.leading; heightValue = ascent + descent + leading; if(heightValue > maxHeightValue) { maxHeightValue = heightValue; } if(ascent > maxAscent) { maxAscent = ascent; } }; var nextFormatRange = function() { var nextFormatRange1 = _gthis.textFormatRanges.get_length() - 1; if(rangeIndex < nextFormatRange1) { rangeIndex += 1; formatRange = _gthis.textFormatRanges.get(rangeIndex); currentFormat.__merge(formatRange.format); openfl__$internal_text_TextEngine.__context.font = openfl__$internal_text_TextEngine.getFont(currentFormat); font = openfl__$internal_text_TextEngine.getFontInstance(currentFormat); } }; var setFormattedPositions = function(startIndex2,endIndex2) { if(endIndex2 <= formatRange.end) { positions = getPositions(_gthis.text,startIndex2,endIndex2); widthValue = getPositionsWidth(positions); } else { var tempIndex = startIndex2; var tempRangeEnd = formatRange.end; var countRanges = 0; positions = []; widthValue = 0; while(true) { if(tempIndex != tempRangeEnd) { var tempPositions = getPositions(_gthis.text,tempIndex,tempRangeEnd); positions = positions.concat(tempPositions); } if(tempRangeEnd != endIndex2) { nextFormatRange(); tempIndex = tempRangeEnd; if(endIndex2 < formatRange.end) { tempRangeEnd = endIndex2; } else { tempRangeEnd = formatRange.end; } ++countRanges; } else { widthValue = getPositionsWidth(positions); break; } } rangeIndex -= countRanges + 1; nextFormatRange(); } }; var placeFormattedText = function(endIndex3) { if(endIndex3 <= formatRange.end) { positions = getPositions(_gthis.text,textIndex,endIndex3); widthValue = getPositionsWidth(positions); nextLayoutGroup(textIndex,endIndex3); layoutGroup.positions = positions; layoutGroup.offsetX = offsetX; layoutGroup.ascent = ascent; layoutGroup.descent = descent; layoutGroup.leading = leading; layoutGroup.lineIndex = lineIndex; layoutGroup.offsetY = offsetY; layoutGroup.width = widthValue; layoutGroup.height = heightValue; offsetX += widthValue; if(endIndex3 == formatRange.end) { layoutGroup = null; nextFormatRange(); setLineMetrics(); } } else { while(true) { var tempRangeEnd1 = endIndex3 < formatRange.end ? endIndex3 : formatRange.end; if(textIndex != tempRangeEnd1) { positions = getPositions(_gthis.text,textIndex,tempRangeEnd1); widthValue = getPositionsWidth(positions); nextLayoutGroup(textIndex,tempRangeEnd1); layoutGroup.positions = positions; layoutGroup.offsetX = offsetX; layoutGroup.ascent = ascent; layoutGroup.descent = descent; layoutGroup.leading = leading; layoutGroup.lineIndex = lineIndex; layoutGroup.offsetY = offsetY; layoutGroup.width = widthValue; layoutGroup.height = heightValue; offsetX += widthValue; textIndex = tempRangeEnd1; } if(tempRangeEnd1 == formatRange.end) { layoutGroup = null; } if(tempRangeEnd1 == endIndex3) { break; } nextFormatRange(); setLineMetrics(); } } textIndex = endIndex3; }; var alignBaseline = function() { setLineMetrics(); var i2 = _gthis.layoutGroups.get_length(); while(--i2 > -1) { var lg = _gthis.layoutGroups.get(i2); if(lg.lineIndex < lineIndex) { break; } if(lg.lineIndex > lineIndex) { continue; } lg.ascent = maxAscent; lg.height = maxHeightValue; } offsetY += maxHeightValue; maxAscent = 0.0; maxHeightValue = 0.0; lineIndex += 1; offsetX = 2; }; var breakLongWords = function(endIndex4) { var remainingPositions = positions; var i3; var bufferCount; var placeIndex; var positionWidth; var currentPosition; var tempPositions1; var tempWidth = getPositionsWidth(remainingPositions); while(offsetX + tempWidth > _gthis.width - 2) { bufferCount = 0; i3 = bufferCount; positionWidth = 0.0; while(offsetX + positionWidth < _gthis.width - 2) { currentPosition = remainingPositions[i3]; if(currentPosition == 0.0) { ++i3; ++bufferCount; } else { positionWidth += currentPosition; ++i3; } } if(i3 < 2 && positionWidth + offsetX > _gthis.width - 2) { if(textIndex + i3 - bufferCount == endIndex4) { break; } } else { while(offsetX + positionWidth > _gthis.width - 2) { --i3; if(i3 - bufferCount > 0) { setFormattedPositions(textIndex,textIndex + i3 - bufferCount); positionWidth = widthValue; } else { i3 = 1; bufferCount = 0; setFormattedPositions(textIndex,textIndex + 1); positionWidth = 0; } } } placeIndex = textIndex + i3 - bufferCount; placeFormattedText(placeIndex); alignBaseline(); setFormattedPositions(placeIndex,endIndex4); remainingPositions = positions; tempWidth = widthValue; } }; var placeText = function(endIndex5) { if(_gthis.width >= 4 && _gthis.wordWrap) { breakLongWords(endIndex5); } placeFormattedText(endIndex5); }; nextFormatRange(); setLineMetrics(); lineFormat = formatRange.format; var wrap; var maxLoops = lime_text__$UTF8String_UTF8String_$Impl_$.get_length(this.text) + 1; while(textIndex < maxLoops) if(breakIndex > -1 && (spaceIndex == -1 || breakIndex < spaceIndex)) { if(textIndex <= breakIndex) { setFormattedPositions(textIndex,breakIndex); placeText(breakIndex); layoutGroup = null; } else if(layoutGroup != null && layoutGroup.startIndex != layoutGroup.endIndex) { if(layoutGroup.endIndex == spaceIndex) { layoutGroup.width -= layoutGroup.positions[layoutGroup.positions.length - 1]; } layoutGroup = null; } if(formatRange.end == breakIndex) { nextFormatRange(); setLineMetrics(); lineFormat = formatRange.format; } if(breakIndex >= lime_text__$UTF8String_UTF8String_$Impl_$.get_length(this.text) - 1) { offsetY -= maxHeightValue; } alignBaseline(); textIndex = breakIndex + 1; breakIndex = this.getLineBreakIndex(textIndex); } else if(spaceIndex > -1) { if(layoutGroup != null && layoutGroup.startIndex != layoutGroup.endIndex) { layoutGroup = null; } wrap = false; while(true) { var tmp = lime_text__$UTF8String_UTF8String_$Impl_$.get_length(this.text); if(textIndex >= tmp) { break; } var endIndex6 = -1; if(spaceIndex == -1) { endIndex6 = breakIndex; } else { endIndex6 = spaceIndex + 1; if(breakIndex > -1 && breakIndex < endIndex6) { endIndex6 = breakIndex; } } if(endIndex6 == -1) { endIndex6 = lime_text__$UTF8String_UTF8String_$Impl_$.get_length(this.text); } setFormattedPositions(textIndex,endIndex6); if(lineFormat.align == 2) { if(positions.length > 0 && textIndex == previousSpaceIndex) { textIndex += 1; var spaceWidth = positions.shift(); widthValue -= spaceWidth; offsetX += spaceWidth; } if(positions.length > 0 && endIndex6 == spaceIndex + 1) { --endIndex6; var spaceWidth1 = positions.pop(); widthValue -= spaceWidth1; } } if(this.wordWrap) { if(offsetX + widthValue > this.width - 2) { wrap = true; if(positions.length > 0 && endIndex6 == spaceIndex + 1) { var lastPosition = positions[positions.length - 1]; var spaceWidth2 = lastPosition; if(offsetX + widthValue - spaceWidth2 <= this.width - 2) { wrap = false; } } } } if(wrap) { if(lineFormat.align != 2 && (layoutGroup != null || this.layoutGroups.get_length() > 0)) { var previous = layoutGroup; if(previous == null) { previous = this.layoutGroups.get(this.layoutGroups.get_length() - 1); } previous.width -= previous.positions[previous.positions.length - 1]; previous.endIndex--; } var i4 = this.layoutGroups.get_length() - 1; var offsetCount = 0; while(true) { layoutGroup = this.layoutGroups.get(i4); if(i4 > 0 && layoutGroup.startIndex > previousSpaceIndex) { ++offsetCount; } else { break; } --i4; } if(textIndex == previousSpaceIndex + 1) { alignBaseline(); } offsetX = 2; if(offsetCount > 0) { var bumpX = this.layoutGroups.get(this.layoutGroups.get_length() - offsetCount).offsetX; var _g12 = this.layoutGroups.get_length() - offsetCount; var _g4 = this.layoutGroups.get_length(); while(_g12 < _g4) { var i5 = _g12++; layoutGroup = this.layoutGroups.get(i5); layoutGroup.offsetX -= bumpX; layoutGroup.offsetY = offsetY; layoutGroup.lineIndex = lineIndex; offsetX += layoutGroup.width; } } placeText(endIndex6); wrap = false; } else if(layoutGroup != null && textIndex == spaceIndex) { if(lineFormat.align != 2) { layoutGroup.endIndex = spaceIndex; layoutGroup.positions = layoutGroup.positions.concat(positions); layoutGroup.width += widthValue; } offsetX += widthValue; textIndex = endIndex6; } else if(layoutGroup == null || lineFormat.align == 2) { placeText(endIndex6); } else { var tempRangeEnd2 = endIndex6 < formatRange.end ? endIndex6 : formatRange.end; if(tempRangeEnd2 < endIndex6) { positions = getPositions(this.text,textIndex,tempRangeEnd2); widthValue = getPositionsWidth(positions); } layoutGroup.endIndex = tempRangeEnd2; layoutGroup.positions = layoutGroup.positions.concat(positions); layoutGroup.width += widthValue; offsetX += widthValue; if(tempRangeEnd2 == formatRange.end) { layoutGroup = null; nextFormatRange(); setLineMetrics(); textIndex = tempRangeEnd2; if(tempRangeEnd2 != endIndex6) { placeFormattedText(endIndex6); } } if(breakIndex == endIndex6) { ++endIndex6; } textIndex = endIndex6; } var nextSpaceIndex = lime_text__$UTF8String_UTF8String_$Impl_$.indexOf(this.text," ",textIndex); if(breakIndex == previousSpaceIndex) { layoutGroup.endIndex = breakIndex; if(breakIndex - layoutGroup.startIndex - layoutGroup.positions.length < 0) { layoutGroup.positions.push(0.0); } textIndex = breakIndex + 1; } previousSpaceIndex = spaceIndex; spaceIndex = nextSpaceIndex; var tmp1; if(!(breakIndex > -1 && breakIndex <= textIndex && (spaceIndex > breakIndex || spaceIndex == -1))) { var tmp2 = lime_text__$UTF8String_UTF8String_$Impl_$.get_length(this.text); tmp1 = textIndex > tmp2; } else { tmp1 = true; } if(tmp1) { break; } } } else { var tmp3 = lime_text__$UTF8String_UTF8String_$Impl_$.get_length(this.text); if(textIndex < tmp3) { var tmp4 = lime_text__$UTF8String_UTF8String_$Impl_$.get_length(this.text); setFormattedPositions(textIndex,tmp4); placeText(lime_text__$UTF8String_UTF8String_$Impl_$.get_length(this.text)); alignBaseline(); } textIndex += 1; } } ,restrictText: function(value) { if(value == null) { return value; } if(this.__restrictRegexp != null) { value = this.__restrictRegexp.split(value).join(""); } return value; } ,setTextAlignment: function() { var lineIndex = -1; var offsetX = 0.0; var totalWidth = this.width - 4; var group; var lineLength; var lineMeasurementsDirty = false; var _g1 = 0; var _g = this.layoutGroups.get_length(); while(_g1 < _g) { var i = _g1++; group = this.layoutGroups.get(i); if(group.lineIndex != lineIndex) { lineIndex = group.lineIndex; var _g2 = group.format.align; switch(_g2) { case 0: if(this.lineWidths.get(lineIndex) < totalWidth) { offsetX = Math.round((totalWidth - this.lineWidths.get(lineIndex)) / 2); } else { offsetX = 0; } break; case 2: if(this.lineWidths.get(lineIndex) < totalWidth) { lineLength = 1; var _g3 = i + 1; var _g21 = this.layoutGroups.get_length(); while(_g3 < _g21) { var j = _g3++; if(this.layoutGroups.get(j).lineIndex == lineIndex) { if(j == 0 || lime_text__$UTF8String_UTF8String_$Impl_$.charCodeAt(this.text,this.layoutGroups.get(j).startIndex - 1) == 32) { ++lineLength; } } else { break; } } if(lineLength > 1) { group = this.layoutGroups.get(i + lineLength - 1); var endChar = lime_text__$UTF8String_UTF8String_$Impl_$.charCodeAt(this.text,group.endIndex); if(group.endIndex < lime_text__$UTF8String_UTF8String_$Impl_$.get_length(this.text) && endChar != 10 && endChar != 13) { offsetX = (totalWidth - this.lineWidths.get(lineIndex)) / (lineLength - 1); lineMeasurementsDirty = true; var j1 = 1; while(true) { this.layoutGroups.get(i + j1).offsetX += offsetX * j1; if(!(++j1 < lineLength)) { break; } } } } } offsetX = 0; break; case 4: if(this.lineWidths.get(lineIndex) < totalWidth) { offsetX = Math.round(totalWidth - this.lineWidths.get(lineIndex)); } else { offsetX = 0; } break; default: offsetX = 0; } } if(offsetX > 0) { group.offsetX += offsetX; } } if(lineMeasurementsDirty) { this.getLineMeasurements(); } } ,trimText: function(value) { if(value == null) { return value; } if(this.maxChars > 0 && lime_text__$UTF8String_UTF8String_$Impl_$.get_length(value) > this.maxChars) { value = lime_text__$UTF8String_UTF8String_$Impl_$.substr(value,0,this.maxChars); } return value; } ,update: function() { if(this.text == null || this.textFormatRanges.get_length() == 0) { this.lineAscents.set_length(0); this.lineBreaks.set_length(0); this.lineDescents.set_length(0); this.lineLeadings.set_length(0); this.lineHeights.set_length(0); this.lineWidths.set_length(0); this.layoutGroups.set_length(0); this.textWidth = 0; this.textHeight = 0; this.numLines = 1; this.maxScrollH = 0; this.maxScrollV = 1; this.bottomScrollV = 1; } else { this.getLayoutGroups(); this.getLineMeasurements(); this.setTextAlignment(); } this.getBounds(); } ,set_restrict: function(value) { if(lime_text__$UTF8String_UTF8String_$Impl_$.equals(this.restrict,value)) { return this.restrict; } this.restrict = value; if(this.restrict == null || lime_text__$UTF8String_UTF8String_$Impl_$.get_length(this.restrict) == 0) { this.__restrictRegexp = null; } else { this.__restrictRegexp = this.createRestrictRegexp(value); } return this.restrict; } ,set_text: function(value) { return this.text = value; } ,__class__: openfl__$internal_text_TextEngine ,__properties__: {set_text:"set_text",set_restrict:"set_restrict"} }; var openfl__$internal_text_TextFormatRange = function(format,start,end) { this.format = format; this.start = start; this.end = end; }; $hxClasses["openfl._internal.text.TextFormatRange"] = openfl__$internal_text_TextFormatRange; openfl__$internal_text_TextFormatRange.__name__ = ["openfl","_internal","text","TextFormatRange"]; openfl__$internal_text_TextFormatRange.prototype = { end: null ,format: null ,start: null ,__class__: openfl__$internal_text_TextFormatRange }; var openfl__$internal_text_TextLayout = function(text,font,size,direction,script,language) { if(language == null) { language = "en"; } if(script == null) { script = "Zyyy"; } if(direction == null) { direction = 4; } if(size == null) { size = 12; } if(text == null) { text = ""; } this.letterSpacing = 0; this.set_text(text); this.set_font(font); this.set_size(size); this.__direction = direction; this.__script = script; this.__language = language; this.positions = []; this.__dirty = true; this.__create(this.__direction,this.__script,this.__language); }; $hxClasses["openfl._internal.text.TextLayout"] = openfl__$internal_text_TextLayout; openfl__$internal_text_TextLayout.__name__ = ["openfl","_internal","text","TextLayout"]; openfl__$internal_text_TextLayout.prototype = { autoHint: null ,font: null ,glyphs: null ,letterSpacing: null ,positions: null ,size: null ,text: null ,__buffer: null ,__direction: null ,__dirty: null ,__handle: null ,__language: null ,__script: null ,__font: null ,__hbBuffer: null ,__hbFont: null ,__create: function(direction,script,language) { if(language.length != 4) { return; } this.__hbBuffer = lime_text_harfbuzz__$HBBuffer_HBBuffer_$Impl_$._new(); var this1 = this.__hbBuffer; switch(direction) { case 4: break; case 5: break; case 6: break; case 7: break; default: } var this2 = this.__hbBuffer; var this3 = this.__hbBuffer; var value = lime_text_harfbuzz__$HBLanguage_HBLanguage_$Impl_$._new(language); } ,__position: function() { this.positions = []; } ,get_positions: function() { if(this.__dirty) { this.__dirty = false; this.__position(); } return this.positions; } ,get_direction: function() { return this.__direction; } ,set_direction: function(value) { if(value == this.__direction) { return value; } this.__direction = value; this.__dirty = true; return value; } ,set_font: function(value) { if(value == this.font) { return value; } this.font = value; this.__dirty = true; return value; } ,get_glyphs: function() { var glyphs = []; var _g = 0; var _g1 = this.get_positions(); while(_g < _g1.length) { var position = _g1[_g]; ++_g; glyphs.push(position.glyph); } return glyphs; } ,get_language: function() { return this.__language; } ,set_language: function(value) { if(value == this.__language) { return value; } this.__language = value; this.__dirty = true; return value; } ,get_script: function() { return this.__script; } ,set_script: function(value) { if(value == this.__script) { return value; } this.__script = value; this.__dirty = true; return value; } ,set_size: function(value) { if(value == this.size) { return value; } this.size = value; this.__dirty = true; return value; } ,set_text: function(value) { if(value == this.text) { return value; } this.text = value; this.__dirty = true; return value; } ,__class__: openfl__$internal_text_TextLayout ,__properties__: {set_text:"set_text",set_size:"set_size",set_script:"set_script",get_script:"get_script",get_positions:"get_positions",set_language:"set_language",get_language:"get_language",get_glyphs:"get_glyphs",set_font:"set_font",set_direction:"set_direction",get_direction:"get_direction"} }; var openfl__$internal_text__$TextLayout_TextDirection_$Impl_$ = {}; $hxClasses["openfl._internal.text._TextLayout.TextDirection_Impl_"] = openfl__$internal_text__$TextLayout_TextDirection_$Impl_$; openfl__$internal_text__$TextLayout_TextDirection_$Impl_$.__name__ = ["openfl","_internal","text","_TextLayout","TextDirection_Impl_"]; openfl__$internal_text__$TextLayout_TextDirection_$Impl_$.__properties__ = {get_vertical:"get_vertical",get_horizontal:"get_horizontal",get_forward:"get_forward",get_backward:"get_backward"}; openfl__$internal_text__$TextLayout_TextDirection_$Impl_$.reverse = function(this1) { this1 ^= 1; }; openfl__$internal_text__$TextLayout_TextDirection_$Impl_$.toString = function(this1) { switch(this1) { case 4: return "leftToRight"; case 5: return "rightToLeft"; case 6: return "topToBottom"; case 7: return "bottomToTop"; default: return ""; } }; openfl__$internal_text__$TextLayout_TextDirection_$Impl_$.toHBDirection = function(this1) { switch(this1) { case 4: return 4; case 5: return 5; case 6: return 6; case 7: return 7; default: return 0; } }; openfl__$internal_text__$TextLayout_TextDirection_$Impl_$.get_backward = function(this1) { return (this1 & -3) == 5; }; openfl__$internal_text__$TextLayout_TextDirection_$Impl_$.get_forward = function(this1) { return (this1 & -3) == 4; }; openfl__$internal_text__$TextLayout_TextDirection_$Impl_$.get_horizontal = function(this1) { return (this1 & -2) == 4; }; openfl__$internal_text__$TextLayout_TextDirection_$Impl_$.get_vertical = function(this1) { return (this1 & -2) == 6; }; var openfl__$internal_text__$TextLayout_TextScript_$Impl_$ = {}; $hxClasses["openfl._internal.text._TextLayout.TextScript_Impl_"] = openfl__$internal_text__$TextLayout_TextScript_$Impl_$; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.__name__ = ["openfl","_internal","text","_TextLayout","TextScript_Impl_"]; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.__properties__ = {get_rightToLeft:"get_rightToLeft"}; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.toHBScript = function(this1) { return 1517910393; }; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.get_rightToLeft = function(this1) { switch(this1) { case "Arab":case "Armi":case "Avst":case "Cprt":case "Hebr":case "Khar":case "Lydi":case "Mand":case "Nkoo":case "Orkh":case "Phli":case "Phlp":case "Phnx":case "Samr":case "Sarb":case "Syrc":case "Thaa": return true; default: return false; } }; var openfl__$internal_text_TextLayoutGroup = function(format,startIndex,endIndex) { this.format = format; this.startIndex = startIndex; this.endIndex = endIndex; }; $hxClasses["openfl._internal.text.TextLayoutGroup"] = openfl__$internal_text_TextLayoutGroup; openfl__$internal_text_TextLayoutGroup.__name__ = ["openfl","_internal","text","TextLayoutGroup"]; openfl__$internal_text_TextLayoutGroup.prototype = { ascent: null ,descent: null ,endIndex: null ,format: null ,height: null ,leading: null ,lineIndex: null ,offsetX: null ,offsetY: null ,positions: null ,startIndex: null ,width: null ,getAdvance: function(index) { return this.positions[index]; } ,__class__: openfl__$internal_text_TextLayoutGroup }; var openfl__$internal_utils_AbstractNoise = function(seed,octaves,channels,grayScale,falloff,stitch,stitch_threshold) { if(stitch_threshold == null) { stitch_threshold = 0.05; } if(stitch == null) { stitch = false; } this.stitch = stitch; this.stitch_threshold = stitch_threshold; this.octaves = octaves; this.channels = channels; this.grayscale = grayScale; this.calculateOctaves(falloff); }; $hxClasses["openfl._internal.utils.AbstractNoise"] = openfl__$internal_utils_AbstractNoise; openfl__$internal_utils_AbstractNoise.__name__ = ["openfl","_internal","utils","AbstractNoise"]; openfl__$internal_utils_AbstractNoise.prototype = { octaves: null ,stitch: null ,stitch_threshold: null ,channels: null ,grayscale: null ,octaves_frequencies: null ,octaves_persistences: null ,persistence_max: null ,fill: function(bitmap,_scale_x,_scale_y,_scale_z) { } ,stitching: function(bitmap,color,px,py,stitch_w,stitch_h,width,height) { var r = color >> 16 & 255; var g = color >> 8 & 255; var b = color & 255; if(width - stitch_w < px) { var dest = bitmap.getPixel32(width - px,py); var dest_r = dest >> 16 & 255; var dest_g = dest >> 8 & 255; var dest_b = dest & 255; var u = (width - px) / stitch_w; var uu = u * u; r = this.mixI(dest_r,r,u); g = this.mixI(dest_g,g,u); b = this.mixI(dest_b,b,u); } if(height - stitch_h < py) { var dest1 = bitmap.getPixel32(px,height - py); var dest_r1 = dest1 >> 16 & 255; var dest_g1 = dest1 >> 8 & 255; var dest_b1 = dest1 & 255; var u1 = (height - py) / stitch_h; var uu1 = u1 * u1; r = this.mixI(dest_r1,r,u1); g = this.mixI(dest_g1,g,u1); b = this.mixI(dest_b1,b,u1); } return -16777216 | r << 16 | g << 8 | b; } ,color: function(r_noise,g_noise,b_noise) { var color_r = 0; var color_g = 0; var color_b = 0; if(null != r_noise) { color_r = this.noiseToColor(r_noise); } if(null != g_noise) { color_g = this.noiseToColor(g_noise); } if(null != b_noise) { color_b = this.noiseToColor(b_noise); } return -16777216 | color_r << 16 | color_g << 8 | color_b; } ,noiseToColor: function(noise) { return (noise * this.persistence_max + 1.0) * 128 | 0; } ,fade: function(t) { return t * t * t * (t * (t * 6.0 - 15.0) + 10.0); } ,mixI: function(x,y,t) { return (1.0 - t) * x + t * y | 0; } ,mix: function(x,y,t) { return (1.0 - t) * x + t * y; } ,fastfloor: function(x) { if(x > 0) { return x | 0; } else { return x - 1 | 0; } } ,dot2d: function(grad,x,y) { return grad[0] * x + grad[1] * y; } ,dot: function(grad,x,y,z) { return grad[0] * x + grad[1] * y + grad[2] * z; } ,calculateOctaves: function(fPersistence) { var fFreq; var fPers; this.octaves_frequencies = []; this.octaves_persistences = []; this.persistence_max = 0; var _g1 = 0; var _g = this.octaves; while(_g1 < _g) { var i = _g1++; fFreq = Math.pow(2.0,i); fPers = Math.pow(fPersistence,i); this.persistence_max += fPers; this.octaves_frequencies.push(fFreq); this.octaves_persistences.push(fPers); } this.persistence_max = 1.0 / this.persistence_max; } ,__class__: openfl__$internal_utils_AbstractNoise }; var openfl__$internal_utils_PerlinNoise = function(seed,octaves,channels,grayScale,falloff,stitch,stitch_threshold) { if(stitch_threshold == null) { stitch_threshold = 0.05; } if(stitch == null) { stitch = false; } openfl__$internal_utils_AbstractNoise.call(this,seed,octaves,channels,grayScale,falloff,stitch,stitch_threshold); this.p_perm = []; var _g = 0; while(_g < 512) { var i = _g++; this.p_perm[i] = openfl__$internal_utils_PerlinNoise.P[i & 255]; } this.base_factor = 0.03125; this.setSeed(seed); }; $hxClasses["openfl._internal.utils.PerlinNoise"] = openfl__$internal_utils_PerlinNoise; openfl__$internal_utils_PerlinNoise.__name__ = ["openfl","_internal","utils","PerlinNoise"]; openfl__$internal_utils_PerlinNoise.__super__ = openfl__$internal_utils_AbstractNoise; openfl__$internal_utils_PerlinNoise.prototype = $extend(openfl__$internal_utils_AbstractNoise.prototype,{ p_perm: null ,x_offset: null ,y_offset: null ,z_offset: null ,base_factor: null ,fill: function(bitmap,_scale_x,_scale_y,_scale_z) { var width = bitmap.width; var height = bitmap.height; var octaves = this.octaves; var octaves_frequencies = this.octaves_frequencies; var octaves_persistences = this.octaves_persistences; var isRed = (1 & this.channels) == 1; var isGreen = (2 & this.channels) == 2; var isBlue = (4 & this.channels) == 4; var channels = 0; if(isRed) { ++channels; } if(isGreen) { ++channels; } if(isBlue) { ++channels; } var grayscale = this.grayscale; var stitch_w = this.stitch_threshold * width | 0; var stitch_h = this.stitch_threshold * height | 0; var base_x = _scale_x * this.base_factor + this.x_offset; _scale_y = _scale_y * this.base_factor + this.y_offset; _scale_z = _scale_z * this.base_factor + this.z_offset; var g_offset = 1.0; var b_offset = 2.0; var _g1 = 0; var _g = height; while(_g1 < _g) { var py = _g1++; _scale_x = base_x; var _g3 = 0; var _g2 = width; while(_g3 < _g2) { var px = _g3++; var color1 = 0.0; var color2 = 0.0; var color3 = 0.0; var _g5 = 0; var _g4 = octaves; while(_g5 < _g4) { var i = _g5++; var frequency = octaves_frequencies[i]; var persistence = octaves_persistences[i]; color1 += this.noise(_scale_x * frequency,_scale_y * frequency,_scale_z * frequency) * persistence; if(!grayscale) { if(1 < channels) { color2 += this.noise((_scale_x + g_offset) * frequency,(_scale_y + g_offset) * frequency,_scale_z * frequency) * persistence; } if(2 < channels) { color3 += this.noise((_scale_x + b_offset) * frequency,(_scale_y + b_offset) * frequency,_scale_z * frequency) * persistence; } } } var color = 0; if(grayscale) { color = this.color(color1,color1,color1); } else if(isRed && isGreen && isBlue) { color = this.color(color1,color2,color3); } else if(isRed && isGreen) { color = this.color(color1,color2,null); } else if(isRed && isBlue) { color = this.color(color1,null,color2); } else if(isGreen && isBlue) { color = this.color(null,color1,color2); } else if(isRed) { color = this.color(color1,null,null); } else if(isGreen) { color = this.color(null,color1,null); } else if(isBlue) { color = this.color(null,null,color1); } if(this.stitch) { color = this.stitching(bitmap,color,px,py,stitch_w,stitch_h,width,height); } bitmap.setPixel32(px,py,color); _scale_x += this.base_factor; } _scale_y += this.base_factor; } } ,noise: function(x,y,z) { var xf = x - x % 1; var yf = y - y % 1; var zf = z - z % 1; x -= xf; y -= yf; z -= zf; var X = (xf | 0) & 255; var Y = (yf | 0) & 255; var Z = (zf | 0) & 255; var u = this.fade(x); var v = this.fade(y); var w = this.fade(z); var A = this.p_perm[X] + Y; var AA = this.p_perm[A] + Z; var AB = this.p_perm[A + 1] + Z; var B = this.p_perm[X + 1] + Y; var BA = this.p_perm[B] + Z; var BB = this.p_perm[B + 1] + Z; var x1 = x - 1; var y1 = y - 1; var z1 = z - 1; var hash = this.p_perm[BB + 1] & 15; var g1 = ((hash & 1) == 0 ? hash < 8 ? x1 : y1 : hash < 8 ? -x1 : -y1) + ((hash & 2) == 0 ? hash < 4 ? y1 : hash == 12 ? x1 : z1 : hash < 4 ? -y1 : hash == 14 ? -x1 : -z1); hash = this.p_perm[AB + 1] & 15; var g2 = ((hash & 1) == 0 ? hash < 8 ? x : y1 : hash < 8 ? -x : -y1) + ((hash & 2) == 0 ? hash < 4 ? y1 : hash == 12 ? x : z1 : hash < 4 ? -y1 : hash == 14 ? -x : -z1); hash = this.p_perm[BA + 1] & 15; var g3 = ((hash & 1) == 0 ? hash < 8 ? x1 : y : hash < 8 ? -x1 : -y) + ((hash & 2) == 0 ? hash < 4 ? y : hash == 12 ? x1 : z1 : hash < 4 ? -y : hash == 14 ? -x1 : -z1); hash = this.p_perm[AA + 1] & 15; var g4 = ((hash & 1) == 0 ? hash < 8 ? x : y : hash < 8 ? -x : -y) + ((hash & 2) == 0 ? hash < 4 ? y : hash == 12 ? x : z1 : hash < 4 ? -y : hash == 14 ? -x : -z1); hash = this.p_perm[BB] & 15; var g5 = ((hash & 1) == 0 ? hash < 8 ? x1 : y1 : hash < 8 ? -x1 : -y1) + ((hash & 2) == 0 ? hash < 4 ? y1 : hash == 12 ? x1 : z : hash < 4 ? -y1 : hash == 14 ? -x1 : -z); hash = this.p_perm[AB] & 15; var g6 = ((hash & 1) == 0 ? hash < 8 ? x : y1 : hash < 8 ? -x : -y1) + ((hash & 2) == 0 ? hash < 4 ? y1 : hash == 12 ? x : z : hash < 4 ? -y1 : hash == 14 ? -x : -z); hash = this.p_perm[BA] & 15; var g7 = ((hash & 1) == 0 ? hash < 8 ? x1 : y : hash < 8 ? -x1 : -y) + ((hash & 2) == 0 ? hash < 4 ? y : hash == 12 ? x1 : z : hash < 4 ? -y : hash == 14 ? -x1 : -z); hash = this.p_perm[AA] & 15; var g8 = ((hash & 1) == 0 ? hash < 8 ? x : y : hash < 8 ? -x : -y) + ((hash & 2) == 0 ? hash < 4 ? y : hash == 12 ? x : z : hash < 4 ? -y : hash == 14 ? -x : -z); g2 += u * (g1 - g2); g4 += u * (g3 - g4); g6 += u * (g5 - g6); g8 += u * (g7 - g8); g4 += v * (g2 - g4); g8 += v * (g6 - g8); return g8 + w * (g4 - g8); } ,setSeed: function(seed) { seed = seed * 16807.0 % 2147483647 | 0; this.x_offset = seed; seed = seed * 16807.0 % 2147483647 | 0; this.y_offset = seed; seed = seed * 16807.0 % 2147483647 | 0; this.z_offset = seed; } ,__class__: openfl__$internal_utils_PerlinNoise }); var openfl__$internal_utils_TouchData = function() { this.rollOutStack = []; }; $hxClasses["openfl._internal.utils.TouchData"] = openfl__$internal_utils_TouchData; openfl__$internal_utils_TouchData.__name__ = ["openfl","_internal","utils","TouchData"]; openfl__$internal_utils_TouchData.prototype = { rollOutStack: null ,touch: null ,touchDownTarget: null ,touchOverTarget: null ,reset: function() { this.touch = null; this.touchDownTarget = null; this.touchOverTarget = null; this.rollOutStack.splice(0,this.rollOutStack.length); } ,__class__: openfl__$internal_utils_TouchData }; var openfl_display_Application = function() { lime_app_Application.call(this); if(openfl__$internal_Lib.application == null) { openfl__$internal_Lib.application = this; } if(openfl__$internal_Lib.current == null) { openfl__$internal_Lib.current = new openfl_display_MovieClip(); } openfl__$internal_Lib.current.__loaderInfo = openfl_display_LoaderInfo.create(null); openfl__$internal_Lib.current.__loaderInfo.content = openfl__$internal_Lib.current; }; $hxClasses["openfl.display.Application"] = openfl_display_Application; openfl_display_Application.__name__ = ["openfl","display","Application"]; openfl_display_Application.__super__ = lime_app_Application; openfl_display_Application.prototype = $extend(lime_app_Application.prototype,{ createWindow: function(attributes) { var $window = new openfl_display_Window(this,attributes); this.__windows.push($window); this.__windowByID.h[$window.id] = $window; var f = $bind(this,this.__onWindowClose); var a1 = $window; var tmp = function() { f(a1); }; $window.onClose.add(tmp,false,-10000); if(this.__window == null) { this.__window = $window; $window.onActivate.add($bind(this,this.onWindowActivate)); $window.onRenderContextLost.add($bind(this,this.onRenderContextLost)); $window.onRenderContextRestored.add($bind(this,this.onRenderContextRestored)); $window.onDeactivate.add($bind(this,this.onWindowDeactivate)); $window.onDropFile.add($bind(this,this.onWindowDropFile)); $window.onEnter.add($bind(this,this.onWindowEnter)); $window.onExpose.add($bind(this,this.onWindowExpose)); $window.onFocusIn.add($bind(this,this.onWindowFocusIn)); $window.onFocusOut.add($bind(this,this.onWindowFocusOut)); $window.onFullscreen.add($bind(this,this.onWindowFullscreen)); $window.onKeyDown.add($bind(this,this.onKeyDown)); $window.onKeyUp.add($bind(this,this.onKeyUp)); $window.onLeave.add($bind(this,this.onWindowLeave)); $window.onMinimize.add($bind(this,this.onWindowMinimize)); $window.onMouseDown.add($bind(this,this.onMouseDown)); $window.onMouseMove.add($bind(this,this.onMouseMove)); $window.onMouseMoveRelative.add($bind(this,this.onMouseMoveRelative)); $window.onMouseUp.add($bind(this,this.onMouseUp)); $window.onMouseWheel.add($bind(this,this.onMouseWheel)); $window.onMove.add($bind(this,this.onWindowMove)); $window.onRender.add($bind(this,this.render)); $window.onResize.add($bind(this,this.onWindowResize)); $window.onRestore.add($bind(this,this.onWindowRestore)); $window.onTextEdit.add($bind(this,this.onTextEdit)); $window.onTextInput.add($bind(this,this.onTextInput)); this.onWindowCreate(); } this.onCreateWindow.dispatch($window); return $window; } ,__class__: openfl_display_Application }); var openfl_display_Bitmap = function(bitmapData,pixelSnapping,smoothing) { if(smoothing == null) { smoothing = false; } openfl_display_DisplayObject.call(this); this.__bitmapData = bitmapData; this.pixelSnapping = pixelSnapping; this.smoothing = smoothing; if(pixelSnapping == null) { this.pixelSnapping = 1; } }; $hxClasses["openfl.display.Bitmap"] = openfl_display_Bitmap; openfl_display_Bitmap.__name__ = ["openfl","display","Bitmap"]; openfl_display_Bitmap.__super__ = openfl_display_DisplayObject; openfl_display_Bitmap.prototype = $extend(openfl_display_DisplayObject.prototype,{ pixelSnapping: null ,smoothing: null ,__image: null ,__bitmapData: null ,__imageVersion: null ,__enterFrame: function(deltaTime) { if(this.__bitmapData != null && this.__bitmapData.image != null && this.__bitmapData.image.version != this.__imageVersion) { if(!this.__renderDirty) { this.__renderDirty = true; this.__setParentRenderDirty(); } } } ,__getBounds: function(rect,matrix) { if(this.__bitmapData != null) { var bounds = openfl_geom_Rectangle.__pool.get(); bounds.setTo(0,0,this.__bitmapData.width,this.__bitmapData.height); bounds.__transform(bounds,matrix); rect.__expand(bounds.x,bounds.y,bounds.width,bounds.height); openfl_geom_Rectangle.__pool.release(bounds); } } ,__hitTest: function(x,y,shapeFlag,stack,interactiveOnly,hitObject) { if(!hitObject.get_visible() || this.__isMask || this.__bitmapData == null) { return false; } if(this.get_mask() != null && !this.get_mask().__hitTestMask(x,y)) { return false; } this.__getRenderTransform(); var _this = this.__renderTransform; var norm = _this.a * _this.d - _this.b * _this.c; var px = norm == 0 ? -_this.tx : 1.0 / norm * (_this.c * (_this.ty - y) + _this.d * (x - _this.tx)); var _this1 = this.__renderTransform; var norm1 = _this1.a * _this1.d - _this1.b * _this1.c; var py = norm1 == 0 ? -_this1.ty : 1.0 / norm1 * (_this1.a * (y - _this1.ty) + _this1.b * (_this1.tx - x)); if(px > 0 && py > 0 && px <= this.__bitmapData.width && py <= this.__bitmapData.height) { if(this.__scrollRect != null && !this.__scrollRect.contains(px,py)) { return false; } if(stack != null && !interactiveOnly) { stack.push(hitObject); } return true; } return false; } ,__hitTestMask: function(x,y) { if(this.__bitmapData == null) { return false; } this.__getRenderTransform(); var _this = this.__renderTransform; var norm = _this.a * _this.d - _this.b * _this.c; var px = norm == 0 ? -_this.tx : 1.0 / norm * (_this.c * (_this.ty - y) + _this.d * (x - _this.tx)); var _this1 = this.__renderTransform; var norm1 = _this1.a * _this1.d - _this1.b * _this1.c; var py = norm1 == 0 ? -_this1.ty : 1.0 / norm1 * (_this1.a * (y - _this1.ty) + _this1.b * (_this1.tx - x)); if(px > 0 && py > 0 && px <= this.__bitmapData.width && py <= this.__bitmapData.height) { return true; } return false; } ,__renderCairo: function(renderer) { } ,__renderCairoMask: function(renderer) { renderer.cairo.rectangle(0,0,this.get_width(),this.get_height()); } ,__renderCanvas: function(renderer) { this.__updateCacheBitmap(renderer,false); if(this.__bitmapData != null && this.__bitmapData.image != null) { this.__imageVersion = this.__bitmapData.image.version; } if(this.__cacheBitmap != null && !this.__isCacheBitmapRender) { var bitmap = this.__cacheBitmap; if(!(!bitmap.__renderable)) { var alpha = renderer.__getAlpha(bitmap.__worldAlpha); if(alpha > 0 && bitmap.__bitmapData != null && bitmap.__bitmapData.__isValid && bitmap.__bitmapData.readable) { var context = renderer.context; renderer.__setBlendMode(bitmap.__worldBlendMode); renderer.__pushMaskObject(bitmap,false); lime__$internal_graphics_ImageCanvasUtil.convertToCanvas(bitmap.__bitmapData.image); context.globalAlpha = alpha; var scrollRect = bitmap.__scrollRect; renderer.setTransform(bitmap.__renderTransform,context); if(!renderer.__allowSmoothing || !bitmap.smoothing) { context.imageSmoothingEnabled = false; } if(scrollRect == null) { context.drawImage(bitmap.__bitmapData.image.get_src(),0,0,bitmap.__bitmapData.image.width,bitmap.__bitmapData.image.height); } else { context.drawImage(bitmap.__bitmapData.image.get_src(),scrollRect.x,scrollRect.y,scrollRect.width,scrollRect.height); } if(!renderer.__allowSmoothing || !bitmap.smoothing) { context.imageSmoothingEnabled = true; } renderer.__popMaskObject(bitmap,false); } } } else { if(!(this.opaqueBackground == null && this.__graphics == null)) { if(!(!this.__renderable)) { var alpha1 = renderer.__getAlpha(this.__worldAlpha); if(!(alpha1 <= 0)) { if(this.opaqueBackground != null && !this.__isCacheBitmapRender && this.get_width() > 0 && this.get_height() > 0) { renderer.__setBlendMode(this.__worldBlendMode); renderer.__pushMaskObject(this); var context1 = renderer.context; renderer.setTransform(this.__renderTransform,context1); var color = this.opaqueBackground; context1.fillStyle = "rgb(" + (color >>> 16 & 255) + "," + (color >>> 8 & 255) + "," + (color & 255) + ")"; context1.fillRect(0,0,this.get_width(),this.get_height()); renderer.__popMaskObject(this); } if(this.__graphics != null) { if(!(!this.__renderable)) { var alpha2 = renderer.__getAlpha(this.__worldAlpha); if(!(alpha2 <= 0)) { var graphics = this.__graphics; if(graphics != null) { openfl__$internal_renderer_canvas_CanvasGraphics.render(graphics,renderer); var bounds = graphics.__bounds; var width = graphics.__width; var height = graphics.__height; if(graphics.__canvas != null) { var context2 = renderer.context; var scrollRect1 = this.__scrollRect; if(width > 0 && height > 0 && (scrollRect1 == null || scrollRect1.width > 0 && scrollRect1.height > 0)) { renderer.__setBlendMode(this.__worldBlendMode); renderer.__pushMaskObject(this); context2.globalAlpha = alpha2; renderer.setTransform(graphics.__worldTransform,context2); if(renderer.__isDOM) { var reverseScale = 1 / renderer.pixelRatio; context2.scale(reverseScale,reverseScale); } context2.drawImage(graphics.__canvas,0,0,width,height); renderer.__popMaskObject(this); } } } } } } } } } if(!(!this.__renderable)) { var alpha3 = renderer.__getAlpha(this.__worldAlpha); if(alpha3 > 0 && this.__bitmapData != null && this.__bitmapData.__isValid && this.__bitmapData.readable) { var context3 = renderer.context; renderer.__setBlendMode(this.__worldBlendMode); renderer.__pushMaskObject(this,false); lime__$internal_graphics_ImageCanvasUtil.convertToCanvas(this.__bitmapData.image); context3.globalAlpha = alpha3; var scrollRect2 = this.__scrollRect; renderer.setTransform(this.__renderTransform,context3); if(!renderer.__allowSmoothing || !this.smoothing) { context3.imageSmoothingEnabled = false; } if(scrollRect2 == null) { context3.drawImage(this.__bitmapData.image.get_src(),0,0,this.__bitmapData.image.width,this.__bitmapData.image.height); } else { context3.drawImage(this.__bitmapData.image.get_src(),scrollRect2.x,scrollRect2.y,scrollRect2.width,scrollRect2.height); } if(!renderer.__allowSmoothing || !this.smoothing) { context3.imageSmoothingEnabled = true; } renderer.__popMaskObject(this,false); } } } this.__renderEvent(renderer); } ,__renderCanvasMask: function(renderer) { renderer.context.rect(0,0,this.get_width(),this.get_height()); } ,__renderDOM: function(renderer) { this.__updateCacheBitmap(renderer,false); if(this.__cacheBitmap != null && !this.__isCacheBitmapRender) { this.__renderDOMClear(renderer); this.__cacheBitmap.stage = this.stage; var bitmap = this.__cacheBitmap; if(bitmap.stage != null && bitmap.__worldVisible && bitmap.__renderable && bitmap.__bitmapData != null && bitmap.__bitmapData.__isValid && bitmap.__bitmapData.readable) { renderer.__pushMaskObject(bitmap); if(bitmap.__bitmapData.image.buffer.__srcImage != null) { openfl__$internal_renderer_dom_DOMBitmap.renderImage(bitmap,renderer); } else { openfl__$internal_renderer_dom_DOMBitmap.renderCanvas(bitmap,renderer); } renderer.__popMaskObject(bitmap); } else { openfl__$internal_renderer_dom_DOMBitmap.clear(bitmap,renderer); } } else { var tmp = this.opaqueBackground != null && !this.__isCacheBitmapRender && this.get_width() > 0 && this.get_height() > 0; var graphics = this.__graphics; if(this.stage != null && this.__worldVisible && this.__renderable && graphics != null) { openfl__$internal_renderer_canvas_CanvasGraphics.render(graphics,renderer.__canvasRenderer); if(graphics.__softwareDirty || this.__worldAlphaChanged || this.__canvas != graphics.__canvas) { if(graphics.__canvas != null) { if(this.__canvas != graphics.__canvas) { if(this.__canvas != null) { renderer.element.removeChild(this.__canvas); } this.__canvas = graphics.__canvas; this.__context = graphics.__context; renderer.__initializeElement(this,this.__canvas); } } else { openfl__$internal_renderer_dom_DOMShape.clear(this,renderer); } } if(this.__canvas != null) { renderer.__pushMaskObject(this); var cacheTransform = this.__renderTransform; this.__renderTransform = graphics.__worldTransform; if(graphics.__transformDirty) { graphics.__transformDirty = false; this.__renderTransformChanged = true; } renderer.__updateClip(this); renderer.__applyStyle(this,true,true,true); this.__renderTransform = cacheTransform; renderer.__popMaskObject(this); } } else { openfl__$internal_renderer_dom_DOMShape.clear(this,renderer); } if(this.stage != null && this.__worldVisible && this.__renderable && this.__bitmapData != null && this.__bitmapData.__isValid && this.__bitmapData.readable) { renderer.__pushMaskObject(this); if(this.__bitmapData.image.buffer.__srcImage != null) { openfl__$internal_renderer_dom_DOMBitmap.renderImage(this,renderer); } else { openfl__$internal_renderer_dom_DOMBitmap.renderCanvas(this,renderer); } renderer.__popMaskObject(this); } else { openfl__$internal_renderer_dom_DOMBitmap.clear(this,renderer); } } this.__renderEvent(renderer); } ,__renderDOMClear: function(renderer) { openfl__$internal_renderer_dom_DOMBitmap.clear(this,renderer); } ,__renderGL: function(renderer) { this.__updateCacheBitmap(renderer,false); if(this.__bitmapData != null && this.__bitmapData.image != null) { this.__imageVersion = this.__bitmapData.image.version; } if(this.__cacheBitmap != null && !this.__isCacheBitmapRender) { openfl__$internal_renderer_context3D_Context3DBitmap.render(this.__cacheBitmap,renderer); } else { if(!(this.opaqueBackground == null && this.__graphics == null)) { if(!(!this.__renderable || this.__worldAlpha <= 0)) { if(this.opaqueBackground != null && !this.__isCacheBitmapRender && this.get_width() > 0 && this.get_height() > 0) { renderer.__setBlendMode(this.__worldBlendMode); renderer.__pushMaskObject(this); var context = renderer.__context3D; var rect = openfl_geom_Rectangle.__pool.get(); rect.setTo(0,0,this.get_width(),this.get_height()); renderer.__pushMaskRect(rect,this.__renderTransform); var color = this.opaqueBackground; context.clear((color >>> 16 & 255) / 255,(color >>> 8 & 255) / 255,(color & 255) / 255,1,0,0,1); renderer.__popMaskRect(); renderer.__popMaskObject(this); openfl_geom_Rectangle.__pool.release(rect); } if(this.__graphics != null) { openfl__$internal_renderer_context3D_Context3DShape.render(this,renderer); } } } openfl__$internal_renderer_context3D_Context3DBitmap.render(this,renderer); } this.__renderEvent(renderer); } ,__renderGLMask: function(renderer) { openfl__$internal_renderer_context3D_Context3DBitmap.renderMask(this,renderer); } ,__updateCacheBitmap: function(renderer,force) { if(this.__bitmapData == null || this.__filters == null && renderer.__type == "opengl" && this.__cacheBitmap == null) { return false; } return openfl_display_DisplayObject.prototype.__updateCacheBitmap.call(this,renderer,this.__bitmapData.image != null && this.__bitmapData.image.version != this.__imageVersion); } ,get_bitmapData: function() { return this.__bitmapData; } ,set_bitmapData: function(value) { this.__bitmapData = value; this.smoothing = false; if(!this.__renderDirty) { this.__renderDirty = true; this.__setParentRenderDirty(); } var tmp = this.__filters != null; this.__imageVersion = -1; return this.__bitmapData; } ,get_height: function() { if(this.__bitmapData != null) { return this.__bitmapData.height * Math.abs(this.get_scaleY()); } return 0; } ,set_height: function(value) { if(this.__bitmapData != null) { if(value != this.__bitmapData.height) { if(!this.__renderDirty) { this.__renderDirty = true; this.__setParentRenderDirty(); } this.set_scaleY(value / this.__bitmapData.height); } return value; } return 0; } ,get_width: function() { if(this.__bitmapData != null) { return this.__bitmapData.width * Math.abs(this.__scaleX); } return 0; } ,set_width: function(value) { if(this.__bitmapData != null) { if(value != this.__bitmapData.width) { if(!this.__renderDirty) { this.__renderDirty = true; this.__setParentRenderDirty(); } this.set_scaleX(value / this.__bitmapData.width); } return value; } return 0; } ,__class__: openfl_display_Bitmap ,__properties__: $extend(openfl_display_DisplayObject.prototype.__properties__,{set_bitmapData:"set_bitmapData",get_bitmapData:"get_bitmapData"}) }); var openfl_display__$BlendMode_BlendMode_$Impl_$ = {}; $hxClasses["openfl.display._BlendMode.BlendMode_Impl_"] = openfl_display__$BlendMode_BlendMode_$Impl_$; openfl_display__$BlendMode_BlendMode_$Impl_$.__name__ = ["openfl","display","_BlendMode","BlendMode_Impl_"]; openfl_display__$BlendMode_BlendMode_$Impl_$.fromString = function(value) { switch(value) { case "add": return 0; case "alpha": return 1; case "darken": return 2; case "difference": return 3; case "erase": return 4; case "hardlight": return 5; case "invert": return 6; case "layer": return 7; case "lighten": return 8; case "multiply": return 9; case "normal": return 10; case "overlay": return 11; case "screen": return 12; case "shader": return 13; case "subtract": return 14; default: return null; } }; openfl_display__$BlendMode_BlendMode_$Impl_$.toString = function(value) { switch(value) { case 0: return "add"; case 1: return "alpha"; case 2: return "darken"; case 3: return "difference"; case 4: return "erase"; case 5: return "hardlight"; case 6: return "invert"; case 7: return "layer"; case 8: return "lighten"; case 9: return "multiply"; case 10: return "normal"; case 11: return "overlay"; case 12: return "screen"; case 13: return "shader"; case 14: return "subtract"; default: return null; } }; var openfl_display_DisplayObjectRenderer = function() { openfl_events_EventDispatcher.call(this); this.__allowSmoothing = true; this.__tempColorTransform = new openfl_geom_ColorTransform(); this.__worldAlpha = 1; }; $hxClasses["openfl.display.DisplayObjectRenderer"] = openfl_display_DisplayObjectRenderer; openfl_display_DisplayObjectRenderer.__name__ = ["openfl","display","DisplayObjectRenderer"]; openfl_display_DisplayObjectRenderer.__super__ = openfl_events_EventDispatcher; openfl_display_DisplayObjectRenderer.prototype = $extend(openfl_events_EventDispatcher.prototype,{ __allowSmoothing: null ,__blendMode: null ,__cleared: null ,__context: null ,__overrideBlendMode: null ,__roundPixels: null ,__stage: null ,__tempColorTransform: null ,__transparent: null ,__type: null ,__worldAlpha: null ,__worldColorTransform: null ,__worldTransform: null ,__clear: function() { } ,__getAlpha: function(value) { return value * this.__worldAlpha; } ,__getColorTransform: function(value) { if(this.__worldColorTransform != null) { this.__tempColorTransform.__copyFrom(this.__worldColorTransform); this.__tempColorTransform.__combine(value); return this.__tempColorTransform; } else { return value; } } ,__popMask: function() { } ,__popMaskObject: function(object,handleScrollRect) { if(handleScrollRect == null) { handleScrollRect = true; } } ,__popMaskRect: function() { } ,__pushMask: function(mask) { } ,__pushMaskObject: function(object,handleScrollRect) { if(handleScrollRect == null) { handleScrollRect = true; } } ,__pushMaskRect: function(rect,transform) { } ,__render: function(object) { } ,__resize: function(width,height) { } ,__setBlendMode: function(value) { } ,__class__: openfl_display_DisplayObjectRenderer }); var openfl_display_CairoRenderer = function(cairo) { openfl_display_DisplayObjectRenderer.call(this); }; $hxClasses["openfl.display.CairoRenderer"] = openfl_display_CairoRenderer; openfl_display_CairoRenderer.__name__ = ["openfl","display","CairoRenderer"]; openfl_display_CairoRenderer.__super__ = openfl_display_DisplayObjectRenderer; openfl_display_CairoRenderer.prototype = $extend(openfl_display_DisplayObjectRenderer.prototype,{ cairo: null ,__matrix: null ,__matrix3: null ,applyMatrix: function(transform,cairo) { if(cairo == null) { cairo = this.cairo; } this.__matrix.copyFrom(transform); if(this.cairo == cairo && this.__worldTransform != null) { this.__matrix.concat(this.__worldTransform); } this.__matrix3.a = this.__matrix.a; this.__matrix3.b = this.__matrix.b; this.__matrix3.c = this.__matrix.c; this.__matrix3.d = this.__matrix.d; if(this.__roundPixels) { this.__matrix3.tx = Math.round(this.__matrix.tx); this.__matrix3.ty = Math.round(this.__matrix.ty); } else { this.__matrix3.tx = this.__matrix.tx; this.__matrix3.ty = this.__matrix.ty; } cairo.set_matrix(this.__matrix3); } ,__clear: function() { if(this.cairo == null) { return; } this.cairo.identityMatrix(); if(this.__stage != null && this.__stage.__clearBeforeRender) { var cacheBlendMode = this.__blendMode; this.__setBlendMode(10); this.cairo.setSourceRGB(this.__stage.__colorSplit[0],this.__stage.__colorSplit[1],this.__stage.__colorSplit[2]); this.cairo.paint(); this.__setBlendMode(cacheBlendMode); } } ,__popMask: function() { this.cairo.restore(); } ,__popMaskObject: function(object,handleScrollRect) { if(handleScrollRect == null) { handleScrollRect = true; } if(!object.__isCacheBitmapRender && object.__mask != null) { this.__popMask(); } if(handleScrollRect && object.__scrollRect != null) { this.__popMaskRect(); } } ,__popMaskRect: function() { this.cairo.restore(); } ,__pushMask: function(mask) { this.cairo.save(); this.applyMatrix(mask.__renderTransform,this.cairo); this.cairo.newPath(); mask.__renderCairoMask(this); this.cairo.clip(); } ,__pushMaskObject: function(object,handleScrollRect) { if(handleScrollRect == null) { handleScrollRect = true; } if(handleScrollRect && object.__scrollRect != null) { this.__pushMaskRect(object.__scrollRect,object.__renderTransform); } if(!object.__isCacheBitmapRender && object.__mask != null) { this.__pushMask(object.__mask); } } ,__pushMaskRect: function(rect,transform) { this.cairo.save(); this.applyMatrix(transform,this.cairo); this.cairo.newPath(); this.cairo.rectangle(rect.x,rect.y,rect.width,rect.height); this.cairo.clip(); } ,__render: function(object) { if(this.cairo == null) { return; } object.__renderCairo(this); } ,__setBlendMode: function(value) { if(this.__overrideBlendMode != null) { value = this.__overrideBlendMode; } if(this.__blendMode == value) { return; } this.__blendMode = value; this.__setBlendModeCairo(this.cairo,value); } ,__setBlendModeCairo: function(cairo,value) { switch(value) { case 0: cairo.setOperator(12); break; case 2: cairo.setOperator(17); break; case 3: cairo.setOperator(23); break; case 5: cairo.setOperator(21); break; case 7: cairo.setOperator(2); break; case 8: cairo.setOperator(18); break; case 9: cairo.setOperator(14); break; case 11: cairo.setOperator(16); break; case 12: cairo.setOperator(15); break; default: cairo.setOperator(2); } } ,__class__: openfl_display_CairoRenderer }); var openfl_display_CanvasRenderer = function(context) { this.pixelRatio = 1; openfl_display_DisplayObjectRenderer.call(this); this.context = context; this.__tempMatrix = new openfl_geom_Matrix(); this.__type = "canvas"; }; $hxClasses["openfl.display.CanvasRenderer"] = openfl_display_CanvasRenderer; openfl_display_CanvasRenderer.__name__ = ["openfl","display","CanvasRenderer"]; openfl_display_CanvasRenderer.__super__ = openfl_display_DisplayObjectRenderer; openfl_display_CanvasRenderer.prototype = $extend(openfl_display_DisplayObjectRenderer.prototype,{ context: null ,pixelRatio: null ,__isDOM: null ,__tempMatrix: null ,applySmoothing: function(context,value) { context.imageSmoothingEnabled = value; } ,setTransform: function(transform,context) { if(context == null) { context = this.context; } else if(this.context == context && this.__worldTransform != null) { this.__tempMatrix.copyFrom(transform); this.__tempMatrix.concat(this.__worldTransform); transform = this.__tempMatrix; } if(this.__roundPixels) { context.setTransform(transform.a,transform.b,transform.c,transform.d,transform.tx | 0,transform.ty | 0); } else { context.setTransform(transform.a,transform.b,transform.c,transform.d,transform.tx,transform.ty); } } ,__clear: function() { if(this.__stage != null) { var cacheBlendMode = this.__blendMode; this.__blendMode = null; this.__setBlendMode(10); this.context.setTransform(1,0,0,1,0,0); this.context.globalAlpha = 1; if(!this.__stage.__transparent && this.__stage.__clearBeforeRender) { this.context.fillStyle = this.__stage.__colorString; this.context.fillRect(0,0,this.__stage.stageWidth * this.__stage.window.__scale,this.__stage.stageHeight * this.__stage.window.__scale); } else if(this.__stage.__transparent && this.__stage.__clearBeforeRender) { this.context.clearRect(0,0,this.__stage.stageWidth * this.__stage.window.__scale,this.__stage.stageHeight * this.__stage.window.__scale); } this.__setBlendMode(cacheBlendMode); } } ,__popMask: function() { this.context.restore(); } ,__popMaskObject: function(object,handleScrollRect) { if(handleScrollRect == null) { handleScrollRect = true; } if(!object.__isCacheBitmapRender && object.__mask != null) { this.__popMask(); } if(handleScrollRect && object.__scrollRect != null) { this.__popMaskRect(); } } ,__popMaskRect: function() { this.context.restore(); } ,__pushMask: function(mask) { this.context.save(); this.setTransform(mask.__renderTransform,this.context); this.context.beginPath(); mask.__renderCanvasMask(this); this.context.closePath(); this.context.clip(); } ,__pushMaskObject: function(object,handleScrollRect) { if(handleScrollRect == null) { handleScrollRect = true; } if(handleScrollRect && object.__scrollRect != null) { this.__pushMaskRect(object.__scrollRect,object.__renderTransform); } if(!object.__isCacheBitmapRender && object.__mask != null) { this.__pushMask(object.__mask); } } ,__pushMaskRect: function(rect,transform) { this.context.save(); this.setTransform(transform,this.context); this.context.beginPath(); this.context.rect(rect.x,rect.y,rect.width,rect.height); this.context.clip(); } ,__render: function(object) { object.__renderCanvas(this); } ,__setBlendMode: function(value) { if(this.__overrideBlendMode != null) { value = this.__overrideBlendMode; } if(this.__blendMode == value) { return; } this.__blendMode = value; this.__setBlendModeContext(this.context,value); } ,__setBlendModeContext: function(context,value) { switch(value) { case 0: context.globalCompositeOperation = "lighter"; break; case 2: context.globalCompositeOperation = "darken"; break; case 3: context.globalCompositeOperation = "difference"; break; case 5: context.globalCompositeOperation = "hard-light"; break; case 8: context.globalCompositeOperation = "lighten"; break; case 9: context.globalCompositeOperation = "multiply"; break; case 11: context.globalCompositeOperation = "overlay"; break; case 12: context.globalCompositeOperation = "screen"; break; default: context.globalCompositeOperation = "source-over"; } } ,__class__: openfl_display_CanvasRenderer }); var openfl_display__$CapsStyle_CapsStyle_$Impl_$ = {}; $hxClasses["openfl.display._CapsStyle.CapsStyle_Impl_"] = openfl_display__$CapsStyle_CapsStyle_$Impl_$; openfl_display__$CapsStyle_CapsStyle_$Impl_$.__name__ = ["openfl","display","_CapsStyle","CapsStyle_Impl_"]; openfl_display__$CapsStyle_CapsStyle_$Impl_$.fromInt = function(value) { return value; }; openfl_display__$CapsStyle_CapsStyle_$Impl_$.fromString = function(value) { switch(value) { case "none": return 0; case "round": return 1; case "square": return 2; default: return null; } }; openfl_display__$CapsStyle_CapsStyle_$Impl_$.toInt = function(this1) { return this1; }; openfl_display__$CapsStyle_CapsStyle_$Impl_$.toString = function(value) { switch(value) { case 0: return "none"; case 1: return "round"; case 2: return "square"; default: return null; } }; var openfl_display_DOMRenderer = function(element) { this.pixelRatio = 1; openfl_display_DisplayObjectRenderer.call(this); this.element = element; openfl_display_DisplayObject.__supportDOM = true; var prefix = (function () { var styles = window.getComputedStyle(document.documentElement, ''), pre = (Array.prototype.slice .call(styles) .join('') .match(/-(moz|webkit|ms)-/) || (styles.OLink === '' && ['', 'o']) )[1], dom = ('WebKit|Moz|MS|O').match(new RegExp('(' + pre + ')', 'i'))[1]; return { dom: dom, lowercase: pre, css: '-' + pre + '-', js: pre[0].toUpperCase() + pre.substr(1) }; })(); this.__vendorPrefix = prefix.lowercase; this.__transformProperty = prefix.lowercase == "webkit" ? "-webkit-transform" : "transform"; this.__transformOriginProperty = prefix.lowercase == "webkit" ? "-webkit-transform-origin" : "transform-origin"; this.__clipRects = []; this.__numClipRects = 0; this.__z = 0; this.__type = "dom"; this.__canvasRenderer = new openfl_display_CanvasRenderer(null); this.__canvasRenderer.__isDOM = true; }; $hxClasses["openfl.display.DOMRenderer"] = openfl_display_DOMRenderer; openfl_display_DOMRenderer.__name__ = ["openfl","display","DOMRenderer"]; openfl_display_DOMRenderer.__super__ = openfl_display_DisplayObjectRenderer; openfl_display_DOMRenderer.prototype = $extend(openfl_display_DisplayObjectRenderer.prototype,{ element: null ,pixelRatio: null ,__canvasRenderer: null ,__clipRects: null ,__currentClipRect: null ,__numClipRects: null ,__transformOriginProperty: null ,__transformProperty: null ,__vendorPrefix: null ,__z: null ,applyStyle: function(parent,childElement) { if(parent != null && childElement != null) { if(parent.__style == null || childElement.parentElement != this.element) { this.__initializeElement(parent,childElement); } parent.__style = childElement.style; this.__updateClip(parent); this.__applyStyle(parent,true,true,true); } } ,clearStyle: function(childElement) { if(childElement != null && childElement.parentElement == this.element) { this.element.removeChild(childElement); } } ,__applyStyle: function(displayObject,setTransform,setAlpha,setClip) { var style = displayObject.__style; if(setTransform && displayObject.__renderTransformChanged) { var _this = displayObject.__renderTransform; style.setProperty(this.__transformProperty,this.__roundPixels ? "matrix3d(" + _this.a + ", " + _this.b + ", 0, 0, " + _this.c + ", " + _this.d + ", 0, 0, 0, 0, 1, 0, " + (_this.tx | 0) + ", " + (_this.ty | 0) + ", 0, 1)" : "matrix3d(" + _this.a + ", " + _this.b + ", 0, 0, " + _this.c + ", " + _this.d + ", 0, 0, 0, 0, 1, 0, " + _this.tx + ", " + _this.ty + ", 0, 1)",null); } if(displayObject.__worldZ != ++this.__z) { displayObject.__worldZ = this.__z; style.setProperty("z-index",displayObject.__worldZ == null ? "null" : "" + displayObject.__worldZ,null); } if(setAlpha && displayObject.__worldAlphaChanged) { if(displayObject.__worldAlpha < 1) { style.setProperty("opacity",displayObject.__worldAlpha == null ? "null" : "" + displayObject.__worldAlpha,null); } else { style.removeProperty("opacity"); } } if(setClip && displayObject.__worldClipChanged) { if(displayObject.__worldClip == null) { style.removeProperty("clip"); } else { var clip = displayObject.__worldClip; style.setProperty("clip","rect(" + clip.y + "px, " + clip.get_right() + "px, " + clip.get_bottom() + "px, " + clip.x + "px)",null); } } } ,__initializeElement: function(displayObject,element) { var style = displayObject.__style = element.style; style.setProperty("position","absolute",null); style.setProperty("top","0",null); style.setProperty("left","0",null); style.setProperty(this.__transformOriginProperty,"0 0 0",null); this.element.appendChild(element); displayObject.__worldAlphaChanged = true; displayObject.__renderTransformChanged = true; displayObject.__worldVisibleChanged = true; displayObject.__worldClipChanged = true; displayObject.__worldClip = null; displayObject.__worldZ = -1; } ,__popMask: function() { this.__popMaskRect(); } ,__popMaskObject: function(object,handleScrollRect) { if(handleScrollRect == null) { handleScrollRect = true; } if(object.__mask != null) { this.__popMask(); } if(handleScrollRect && object.__scrollRect != null) { this.__popMaskRect(); } } ,__popMaskRect: function() { if(this.__numClipRects > 0) { this.__numClipRects--; if(this.__numClipRects > 0) { this.__currentClipRect = this.__clipRects[this.__numClipRects - 1]; } else { this.__currentClipRect = null; } } } ,__pushMask: function(mask) { this.__pushMaskRect(mask.getBounds(mask),mask.__renderTransform); } ,__pushMaskObject: function(object,handleScrollRect) { if(handleScrollRect == null) { handleScrollRect = true; } if(handleScrollRect && object.__scrollRect != null) { this.__pushMaskRect(object.__scrollRect,object.__renderTransform); } if(object.__mask != null) { this.__pushMask(object.__mask); } } ,__pushMaskRect: function(rect,transform) { if(this.__numClipRects == this.__clipRects.length) { this.__clipRects[this.__numClipRects] = new openfl_geom_Rectangle(); } var clipRect = this.__clipRects[this.__numClipRects]; rect.__transform(clipRect,transform); if(this.__numClipRects > 0) { var parentClipRect = this.__clipRects[this.__numClipRects - 1]; clipRect.__contract(parentClipRect.x,parentClipRect.y,parentClipRect.width,parentClipRect.height); } if(clipRect.height < 0) { clipRect.height = 0; } if(clipRect.width < 0) { clipRect.width = 0; } this.__currentClipRect = clipRect; this.__numClipRects++; } ,__render: function(object) { if(!this.__stage.__transparent) { this.element.style.background = this.__stage.__colorString; } else { this.element.style.background = "none"; } this.__z = 1; object.__renderDOM(this); } ,__setBlendMode: function(value) { if(this.__overrideBlendMode != null) { value = this.__overrideBlendMode; } if(this.__blendMode == value) { return; } this.__blendMode = value; } ,__updateClip: function(displayObject) { if(this.__currentClipRect == null) { displayObject.__worldClipChanged = displayObject.__worldClip != null; displayObject.__worldClip = null; } else { if(displayObject.__worldClip == null) { displayObject.__worldClip = new openfl_geom_Rectangle(); } var clip = openfl_geom_Rectangle.__pool.get(); var matrix = openfl_geom_Matrix.__pool.get(); matrix.copyFrom(displayObject.__renderTransform); matrix.invert(); this.__currentClipRect.__transform(clip,matrix); if(clip.equals(displayObject.__worldClip)) { displayObject.__worldClipChanged = false; } else { displayObject.__worldClip.copyFrom(clip); displayObject.__worldClipChanged = true; } openfl_geom_Rectangle.__pool.release(clip); openfl_geom_Matrix.__pool.release(matrix); } } ,__class__: openfl_display_DOMRenderer }); var openfl_display_DisplayObjectShader = function(code) { if(this.__glFragmentSource == null) { this.__glFragmentSource = "varying float openfl_Alphav;\n\t\tvarying vec4 openfl_ColorMultiplierv;\n\t\tvarying vec4 openfl_ColorOffsetv;\n\t\tvarying vec2 openfl_TextureCoordv;\n\t\t\n\t\tuniform bool openfl_HasColorTransform;\n\t\tuniform sampler2D openfl_Texture;\n\t\tuniform vec2 openfl_TextureSize;\n\t\t\n\t\tvoid main(void) {\n\t\t\t\n\t\t\tvec4 color = texture2D (openfl_Texture, openfl_TextureCoordv);\n\t\t\n\t\tif (color.a == 0.0) {\n\t\t\t\n\t\t\tgl_FragColor = vec4 (0.0, 0.0, 0.0, 0.0);\n\t\t\t\n\t\t} else if (openfl_HasColorTransform) {\n\t\t\t\n\t\t\tcolor = vec4 (color.rgb / color.a, color.a);\n\t\t\t\n\t\t\tmat4 colorMultiplier = mat4 (0);\n\t\t\tcolorMultiplier[0][0] = openfl_ColorMultiplierv.x;\n\t\t\tcolorMultiplier[1][1] = openfl_ColorMultiplierv.y;\n\t\t\tcolorMultiplier[2][2] = openfl_ColorMultiplierv.z;\n\t\t\tcolorMultiplier[3][3] = 1.0; // openfl_ColorMultiplierv.w;\n\t\t\t\n\t\t\tcolor = clamp (openfl_ColorOffsetv + (color * colorMultiplier), 0.0, 1.0);\n\t\t\t\n\t\t\tif (color.a > 0.0) {\n\t\t\t\t\n\t\t\t\tgl_FragColor = vec4 (color.rgb * color.a * openfl_Alphav, color.a * openfl_Alphav);\n\t\t\t\t\n\t\t\t} else {\n\t\t\t\t\n\t\t\t\tgl_FragColor = vec4 (0.0, 0.0, 0.0, 0.0);\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t} else {\n\t\t\t\n\t\t\tgl_FragColor = color * openfl_Alphav;\n\t\t\t\n\t\t}\n\t\t\t\n\t\t}"; } if(this.__glVertexSource == null) { this.__glVertexSource = "attribute float openfl_Alpha;\n\t\tattribute vec4 openfl_ColorMultiplier;\n\t\tattribute vec4 openfl_ColorOffset;\n\t\tattribute vec4 openfl_Position;\n\t\tattribute vec2 openfl_TextureCoord;\n\t\t\n\t\tvarying float openfl_Alphav;\n\t\tvarying vec4 openfl_ColorMultiplierv;\n\t\tvarying vec4 openfl_ColorOffsetv;\n\t\tvarying vec2 openfl_TextureCoordv;\n\t\t\n\t\tuniform mat4 openfl_Matrix;\n\t\tuniform bool openfl_HasColorTransform;\n\t\tuniform vec2 openfl_TextureSize;\n\t\t\n\t\tvoid main(void) {\n\t\t\t\n\t\t\topenfl_Alphav = openfl_Alpha;\n\t\topenfl_TextureCoordv = openfl_TextureCoord;\n\t\t\n\t\tif (openfl_HasColorTransform) {\n\t\t\t\n\t\t\topenfl_ColorMultiplierv = openfl_ColorMultiplier;\n\t\t\topenfl_ColorOffsetv = openfl_ColorOffset / 255.0;\n\t\t\t\n\t\t}\n\t\t\n\t\tgl_Position = openfl_Matrix * openfl_Position;\n\t\t\t\n\t\t}"; } openfl_display_Shader.call(this,code); this.__isGenerated = true; this.__initGL(); }; $hxClasses["openfl.display.DisplayObjectShader"] = openfl_display_DisplayObjectShader; openfl_display_DisplayObjectShader.__name__ = ["openfl","display","DisplayObjectShader"]; openfl_display_DisplayObjectShader.__super__ = openfl_display_Shader; openfl_display_DisplayObjectShader.prototype = $extend(openfl_display_Shader.prototype,{ openfl_Alpha: null ,openfl_ColorMultiplier: null ,openfl_ColorOffset: null ,openfl_Position: null ,openfl_TextureCoord: null ,openfl_Matrix: null ,openfl_HasColorTransform: null ,openfl_TextureSize: null ,openfl_Texture: null ,__class__: openfl_display_DisplayObjectShader }); var openfl_display_FrameLabel = function(name,frame) { openfl_events_EventDispatcher.call(this); this.__name = name; this.__frame = frame; }; $hxClasses["openfl.display.FrameLabel"] = openfl_display_FrameLabel; openfl_display_FrameLabel.__name__ = ["openfl","display","FrameLabel"]; openfl_display_FrameLabel.__super__ = openfl_events_EventDispatcher; openfl_display_FrameLabel.prototype = $extend(openfl_events_EventDispatcher.prototype,{ __frame: null ,__name: null ,get_frame: function() { return this.__frame; } ,get_name: function() { return this.__name; } ,__class__: openfl_display_FrameLabel ,__properties__: {get_name:"get_name",get_frame:"get_frame"} }); var openfl_display__$GradientType_GradientType_$Impl_$ = {}; $hxClasses["openfl.display._GradientType.GradientType_Impl_"] = openfl_display__$GradientType_GradientType_$Impl_$; openfl_display__$GradientType_GradientType_$Impl_$.__name__ = ["openfl","display","_GradientType","GradientType_Impl_"]; openfl_display__$GradientType_GradientType_$Impl_$.fromInt = function(value) { return value; }; openfl_display__$GradientType_GradientType_$Impl_$.fromString = function(value) { switch(value) { case "linear": return 0; case "radial": return 1; default: return null; } }; openfl_display__$GradientType_GradientType_$Impl_$.toInt = function(this1) { return this1; }; openfl_display__$GradientType_GradientType_$Impl_$.toString = function(value) { switch(value) { case 0: return "linear"; case 1: return "radial"; default: return null; } }; var openfl_display_Graphics = function(owner) { this.__dirty = true; this.__owner = owner; this.__commands = new openfl__$internal_renderer_DrawCommandBuffer(); this.__strokePadding = 0; this.__positionX = 0; this.__positionY = 0; this.__renderTransform = new openfl_geom_Matrix(); this.__usedShaderBuffers = new List(); this.__worldTransform = new openfl_geom_Matrix(); this.__width = 0; this.__height = 0; this.__shaderBufferPool = new lime_utils_ObjectPool(function() { return new openfl__$internal_renderer_ShaderBuffer(); }); this.moveTo(0,0); }; $hxClasses["openfl.display.Graphics"] = openfl_display_Graphics; openfl_display_Graphics.__name__ = ["openfl","display","Graphics"]; openfl_display_Graphics.prototype = { __bounds: null ,__commands: null ,__dirty: null ,__hardwareDirty: null ,__height: null ,__managed: null ,__positionX: null ,__positionY: null ,__quadBuffer: null ,__renderTransform: null ,__shaderBufferPool: null ,__softwareDirty: null ,__strokePadding: null ,__transformDirty: null ,__triangleIndexBuffer: null ,__triangleIndexBufferCount: null ,__triangleIndexBufferData: null ,__usedShaderBuffers: null ,__vertexBuffer: null ,__vertexBufferCount: null ,__vertexBufferCountUVT: null ,__vertexBufferData: null ,__vertexBufferDataUVT: null ,__vertexBufferUVT: null ,__visible: null ,__owner: null ,__width: null ,__worldTransform: null ,__canvas: null ,__context: null ,__bitmap: null ,beginBitmapFill: function(bitmap,matrix,repeat,smooth) { if(smooth == null) { smooth = false; } if(repeat == null) { repeat = true; } this.__commands.beginBitmapFill(bitmap,matrix != null ? matrix.clone() : null,repeat,smooth); this.__visible = true; } ,beginFill: function(color,alpha) { if(alpha == null) { alpha = 1; } if(color == null) { color = 0; } this.__commands.beginFill(color & 16777215,alpha); if(alpha > 0) { this.__visible = true; } } ,beginGradientFill: function(type,colors,alphas,ratios,matrix,spreadMethod,interpolationMethod,focalPointRatio) { if(focalPointRatio == null) { focalPointRatio = 0; } if(interpolationMethod == null) { interpolationMethod = 1; } if(spreadMethod == null) { spreadMethod = 0; } if(colors == null || colors.length == 0) { return; } if(alphas == null) { alphas = []; var _g1 = 0; var _g = colors.length; while(_g1 < _g) { var i = _g1++; alphas.push(1); } } if(ratios == null) { ratios = []; var _g11 = 0; var _g2 = colors.length; while(_g11 < _g2) { var i1 = _g11++; ratios.push(Math.ceil(i1 / colors.length * 255)); } } if(alphas.length < colors.length || ratios.length < colors.length) { return; } this.__commands.beginGradientFill(type,colors,alphas,ratios,matrix,spreadMethod,interpolationMethod,focalPointRatio); var _g3 = 0; while(_g3 < alphas.length) { var alpha = alphas[_g3]; ++_g3; if(alpha > 0) { this.__visible = true; break; } } } ,beginShaderFill: function(shader,matrix) { if(shader != null) { var shaderBuffer = this.__shaderBufferPool.get(); this.__usedShaderBuffers.add(shaderBuffer); shaderBuffer.update(shader); this.__commands.beginShaderFill(shaderBuffer); } } ,clear: function() { var _g_head = this.__usedShaderBuffers.h; while(_g_head != null) { var val = _g_head.item; _g_head = _g_head.next; var shaderBuffer = val; this.__shaderBufferPool.release(shaderBuffer); } this.__usedShaderBuffers.clear(); this.__commands.clear(); this.__strokePadding = 0; if(this.__bounds != null) { this.set___dirty(true); this.__transformDirty = true; this.__bounds = null; } this.__visible = false; this.__positionX = 0; this.__positionY = 0; this.moveTo(0,0); } ,copyFrom: function(sourceGraphics) { this.__bounds = sourceGraphics.__bounds != null ? sourceGraphics.__bounds.clone() : null; this.__commands = sourceGraphics.__commands.copy(); this.set___dirty(true); this.__strokePadding = sourceGraphics.__strokePadding; this.__positionX = sourceGraphics.__positionX; this.__positionY = sourceGraphics.__positionY; this.__transformDirty = true; this.__visible = sourceGraphics.__visible; } ,cubicCurveTo: function(controlX1,controlY1,controlX2,controlY2,anchorX,anchorY) { this.__inflateBounds(this.__positionX - this.__strokePadding,this.__positionY - this.__strokePadding); this.__inflateBounds(this.__positionX + this.__strokePadding,this.__positionY + this.__strokePadding); var ix1; var iy1; var ix2; var iy2; ix1 = anchorX; ix2 = anchorX; if(!((controlX1 < anchorX && controlX1 > this.__positionX || controlX1 > anchorX && controlX1 < this.__positionX) && (controlX2 < anchorX && controlX2 > this.__positionX || controlX2 > anchorX && controlX2 < this.__positionX))) { var u = 2 * this.__positionX - 4 * controlX1 + 2 * controlX2; var v = controlX1 - this.__positionX; var w = -this.__positionX + 3 * controlX1 + anchorX - 3 * controlX2; var t1 = (-u + Math.sqrt(u * u - 4 * v * w)) / (2 * w); var t2 = (-u - Math.sqrt(u * u - 4 * v * w)) / (2 * w); if(t1 > 0 && t1 < 1) { ix1 = this.__calculateBezierCubicPoint(t1,this.__positionX,controlX1,controlX2,anchorX); } if(t2 > 0 && t2 < 1) { ix2 = this.__calculateBezierCubicPoint(t2,this.__positionX,controlX1,controlX2,anchorX); } } iy1 = anchorY; iy2 = anchorY; if(!((controlY1 < anchorY && controlY1 > this.__positionX || controlY1 > anchorY && controlY1 < this.__positionX) && (controlY2 < anchorY && controlY2 > this.__positionX || controlY2 > anchorY && controlY2 < this.__positionX))) { var u1 = 2 * this.__positionX - 4 * controlY1 + 2 * controlY2; var v1 = controlY1 - this.__positionX; var w1 = -this.__positionX + 3 * controlY1 + anchorY - 3 * controlY2; var t11 = (-u1 + Math.sqrt(u1 * u1 - 4 * v1 * w1)) / (2 * w1); var t21 = (-u1 - Math.sqrt(u1 * u1 - 4 * v1 * w1)) / (2 * w1); if(t11 > 0 && t11 < 1) { iy1 = this.__calculateBezierCubicPoint(t11,this.__positionX,controlY1,controlY2,anchorY); } if(t21 > 0 && t21 < 1) { iy2 = this.__calculateBezierCubicPoint(t21,this.__positionX,controlY1,controlY2,anchorY); } } this.__inflateBounds(ix1 - this.__strokePadding,iy1 - this.__strokePadding); this.__inflateBounds(ix1 + this.__strokePadding,iy1 + this.__strokePadding); this.__inflateBounds(ix2 - this.__strokePadding,iy2 - this.__strokePadding); this.__inflateBounds(ix2 + this.__strokePadding,iy2 + this.__strokePadding); this.__positionX = anchorX; this.__positionY = anchorY; this.__inflateBounds(this.__positionX - this.__strokePadding,this.__positionY - this.__strokePadding); this.__inflateBounds(this.__positionX + this.__strokePadding,this.__positionY + this.__strokePadding); this.__commands.cubicCurveTo(controlX1,controlY1,controlX2,controlY2,anchorX,anchorY); this.set___dirty(true); } ,curveTo: function(controlX,controlY,anchorX,anchorY) { this.__inflateBounds(this.__positionX - this.__strokePadding,this.__positionY - this.__strokePadding); this.__inflateBounds(this.__positionX + this.__strokePadding,this.__positionY + this.__strokePadding); var ix; var iy; if(controlX < anchorX && controlX > this.__positionX || controlX > anchorX && controlX < this.__positionX) { ix = anchorX; } else { var tx = (this.__positionX - controlX) / (this.__positionX - 2 * controlX + anchorX); ix = this.__calculateBezierQuadPoint(tx,this.__positionX,controlX,anchorX); } if(controlY < anchorY && controlY > this.__positionY || controlY > anchorY && controlY < this.__positionY) { iy = anchorY; } else { var ty = (this.__positionY - controlY) / (this.__positionY - 2 * controlY + anchorY); iy = this.__calculateBezierQuadPoint(ty,this.__positionY,controlY,anchorY); } this.__inflateBounds(ix - this.__strokePadding,iy - this.__strokePadding); this.__inflateBounds(ix + this.__strokePadding,iy + this.__strokePadding); this.__positionX = anchorX; this.__positionY = anchorY; this.__commands.curveTo(controlX,controlY,anchorX,anchorY); this.set___dirty(true); } ,drawCircle: function(x,y,radius) { if(radius <= 0) { return; } this.__inflateBounds(x - radius - this.__strokePadding,y - radius - this.__strokePadding); this.__inflateBounds(x + radius + this.__strokePadding,y + radius + this.__strokePadding); this.__commands.drawCircle(x,y,radius); this.set___dirty(true); } ,drawEllipse: function(x,y,width,height) { if(width <= 0 || height <= 0) { return; } this.__inflateBounds(x - this.__strokePadding,y - this.__strokePadding); this.__inflateBounds(x + width + this.__strokePadding,y + height + this.__strokePadding); this.__commands.drawEllipse(x,y,width,height); this.set___dirty(true); } ,drawGraphicsData: function(graphicsData) { var fill; var bitmapFill; var gradientFill; var shaderFill; var stroke; var path; var trianglePath; var quadPath; var _g = 0; while(_g < graphicsData.get_length()) { var graphics = graphicsData.get(_g); ++_g; var _g1 = graphics.__graphicsDataType; switch(_g1) { case openfl_display_GraphicsDataType.STROKE: stroke = graphics; if(stroke.fill != null) { var thickness = stroke.thickness; if(isNaN(thickness)) { thickness = null; } var _g11 = stroke.fill.__graphicsFillType; switch(_g11) { case openfl_display_GraphicsFillType.SOLID_FILL: fill = stroke.fill; this.lineStyle(thickness,fill.color,fill.alpha,stroke.pixelHinting,stroke.scaleMode,stroke.caps,stroke.joints,stroke.miterLimit); break; case openfl_display_GraphicsFillType.GRADIENT_FILL: gradientFill = stroke.fill; this.lineStyle(thickness,0,1,stroke.pixelHinting,stroke.scaleMode,stroke.caps,stroke.joints,stroke.miterLimit); this.lineGradientStyle(gradientFill.type,gradientFill.colors,gradientFill.alphas,gradientFill.ratios,gradientFill.matrix,gradientFill.spreadMethod,gradientFill.interpolationMethod,gradientFill.focalPointRatio); break; case openfl_display_GraphicsFillType.BITMAP_FILL: bitmapFill = stroke.fill; this.lineStyle(thickness,0,1,stroke.pixelHinting,stroke.scaleMode,stroke.caps,stroke.joints,stroke.miterLimit); this.lineBitmapStyle(bitmapFill.bitmapData,bitmapFill.matrix,bitmapFill.repeat,bitmapFill.smooth); break; default: } } else { this.lineStyle(); } break; case openfl_display_GraphicsDataType.SOLID: fill = graphics; this.beginFill(fill.color,fill.alpha); break; case openfl_display_GraphicsDataType.GRADIENT: gradientFill = graphics; this.beginGradientFill(gradientFill.type,gradientFill.colors,gradientFill.alphas,gradientFill.ratios,gradientFill.matrix,gradientFill.spreadMethod,gradientFill.interpolationMethod,gradientFill.focalPointRatio); break; case openfl_display_GraphicsDataType.PATH: path = graphics; this.drawPath(path.commands,path.data,path.winding); break; case openfl_display_GraphicsDataType.BITMAP: bitmapFill = graphics; this.beginBitmapFill(bitmapFill.bitmapData,bitmapFill.matrix,bitmapFill.repeat,bitmapFill.smooth); break; case openfl_display_GraphicsDataType.END: this.endFill(); break; case openfl_display_GraphicsDataType.QUAD_PATH: quadPath = graphics; this.drawQuads(quadPath.rects,quadPath.indices,quadPath.transforms); break; case openfl_display_GraphicsDataType.TRIANGLE_PATH: trianglePath = graphics; this.drawTriangles(trianglePath.vertices,trianglePath.indices,trianglePath.uvtData,trianglePath.culling); break; case openfl_display_GraphicsDataType.SHADER: shaderFill = graphics; this.beginShaderFill(shaderFill.shader,shaderFill.matrix); break; } } } ,drawPath: function(commands,data,winding) { if(winding == null) { winding = 0; } var dataIndex = 0; if(winding == 1) { this.__commands.windingNonZero(); } var _g = 0; try { while(_g < commands.get_length()) { var command = commands.get(_g); ++_g; switch(command) { case 1: this.moveTo(data.get(dataIndex),data.get(dataIndex + 1)); dataIndex += 2; break; case 2: this.lineTo(data.get(dataIndex),data.get(dataIndex + 1)); dataIndex += 2; break; case 3: this.curveTo(data.get(dataIndex),data.get(dataIndex + 1),data.get(dataIndex + 2),data.get(dataIndex + 3)); dataIndex += 4; break; case 4: this.moveTo(data.get(dataIndex + 2),data.get(dataIndex + 3)); throw "__break__"; break; case 5: this.lineTo(data.get(dataIndex + 2),data.get(dataIndex + 3)); throw "__break__"; break; case 6: this.cubicCurveTo(data.get(dataIndex),data.get(dataIndex + 1),data.get(dataIndex + 2),data.get(dataIndex + 3),data.get(dataIndex + 4),data.get(dataIndex + 5)); dataIndex += 6; break; default: } } } catch( e ) { if( e != "__break__" ) throw e; } } ,drawQuads: function(rects,indices,transforms) { if(rects == null) { return; } var hasIndices = indices != null; var transformABCD = false; var transformXY = false; var length = hasIndices ? indices.get_length() : Math.floor(rects.get_length() / 4); if(length == 0) { return; } if(transforms != null) { if(transforms.get_length() >= length * 6) { transformABCD = true; transformXY = true; } else if(transforms.get_length() >= length * 4) { transformABCD = true; } else if(transforms.get_length() >= length * 2) { transformXY = true; } } var tileRect = openfl_geom_Rectangle.__pool.get(); var tileTransform = openfl_geom_Matrix.__pool.get(); var minX = Infinity; var minY = Infinity; var maxX = -Infinity; var maxY = -Infinity; var ri; var ti; var _g1 = 0; var _g = length; while(_g1 < _g) { var i = _g1++; if(hasIndices) { ri = indices.get(i) * 4; } else { ri = i * 4; } if(ri < 0) { continue; } tileRect.setTo(rects.get(ri),rects.get(ri + 1),rects.get(ri + 2),rects.get(ri + 3)); if(tileRect.width <= 0 || tileRect.height <= 0) { continue; } if(transformABCD && transformXY) { ti = i * 6; tileTransform.setTo(transforms.get(ti),transforms.get(ti + 1),transforms.get(ti + 2),transforms.get(ti + 3),transforms.get(ti + 4),transforms.get(ti + 5)); } else if(transformABCD) { ti = i * 4; tileTransform.setTo(transforms.get(ti),transforms.get(ti + 1),transforms.get(ti + 2),transforms.get(ti + 3),tileRect.x,tileRect.y); } else if(transformXY) { ti = i * 2; tileTransform.tx = transforms.get(ti); tileTransform.ty = transforms.get(ti + 1); } else { tileTransform.tx = tileRect.x; tileTransform.ty = tileRect.y; } tileRect.__transform(tileRect,tileTransform); if(minX > tileRect.x) { minX = tileRect.x; } if(minY > tileRect.y) { minY = tileRect.y; } if(maxX < tileRect.get_right()) { maxX = tileRect.get_right(); } if(maxY < tileRect.get_bottom()) { maxY = tileRect.get_bottom(); } } this.__inflateBounds(minX,minY); this.__inflateBounds(maxX,maxY); this.__commands.drawQuads(rects,indices,transforms); this.set___dirty(true); this.__visible = true; openfl_geom_Rectangle.__pool.release(tileRect); openfl_geom_Matrix.__pool.release(tileTransform); } ,drawRect: function(x,y,width,height) { if(width == 0 && height == 0) { return; } var xSign = width < 0 ? -1 : 1; var ySign = height < 0 ? -1 : 1; this.__inflateBounds(x - this.__strokePadding * xSign,y - this.__strokePadding * ySign); this.__inflateBounds(x + width + this.__strokePadding * xSign,y + height + this.__strokePadding * ySign); this.__commands.drawRect(x,y,width,height); this.set___dirty(true); } ,drawRoundRect: function(x,y,width,height,ellipseWidth,ellipseHeight) { if(width == 0 && height == 0) { return; } var xSign = width < 0 ? -1 : 1; var ySign = height < 0 ? -1 : 1; this.__inflateBounds(x - this.__strokePadding * xSign,y - this.__strokePadding * ySign); this.__inflateBounds(x + width + this.__strokePadding * xSign,y + height + this.__strokePadding * ySign); this.__commands.drawRoundRect(x,y,width,height,ellipseWidth,ellipseHeight); this.set___dirty(true); } ,drawRoundRectComplex: function(x,y,width,height,topLeftRadius,topRightRadius,bottomLeftRadius,bottomRightRadius) { if(width <= 0 || height <= 0) { return; } this.__inflateBounds(x - this.__strokePadding,y - this.__strokePadding); this.__inflateBounds(x + width + this.__strokePadding,y + height + this.__strokePadding); var xw = x + width; var yh = y + height; var minSize = width < height ? width * 2 : height * 2; if(topLeftRadius < minSize) { topLeftRadius = topLeftRadius; } else { topLeftRadius = minSize; } if(topRightRadius < minSize) { topRightRadius = topRightRadius; } else { topRightRadius = minSize; } if(bottomLeftRadius < minSize) { bottomLeftRadius = bottomLeftRadius; } else { bottomLeftRadius = minSize; } if(bottomRightRadius < minSize) { bottomRightRadius = bottomRightRadius; } else { bottomRightRadius = minSize; } var anchor = 1 - Math.sin(45 * (Math.PI / 180)); var control = 1 - Math.tan(22.5 * (Math.PI / 180)); var a = bottomRightRadius * anchor; var s = bottomRightRadius * control; this.moveTo(xw,yh - bottomRightRadius); this.curveTo(xw,yh - s,xw - a,yh - a); this.curveTo(xw - s,yh,xw - bottomRightRadius,yh); a = bottomLeftRadius * anchor; s = bottomLeftRadius * control; this.lineTo(x + bottomLeftRadius,yh); this.curveTo(x + s,yh,x + a,yh - a); this.curveTo(x,yh - s,x,yh - bottomLeftRadius); a = topLeftRadius * anchor; s = topLeftRadius * control; this.lineTo(x,y + topLeftRadius); this.curveTo(x,y + s,x + a,y + a); this.curveTo(x + s,y,x + topLeftRadius,y); a = topRightRadius * anchor; s = topRightRadius * control; this.lineTo(xw - topRightRadius,y); this.curveTo(xw - s,y,xw - a,y + a); this.curveTo(xw,y + s,xw,y + topRightRadius); this.lineTo(xw,yh - bottomRightRadius); this.set___dirty(true); } ,drawTriangles: function(vertices,indices,uvtData,culling) { if(culling == null) { culling = 1; } if(vertices == null || vertices.get_length() == 0) { return; } var vertLength = vertices.get_length() / 2 | 0; if(indices == null) { if(vertLength % 3 != 0) { throw new js__$Boot_HaxeError(new openfl_errors_ArgumentError("Not enough vertices to close a triangle.")); } indices = openfl__$Vector_Vector_$Impl_$.toIntVector(null); var _g1 = 0; var _g = vertLength; while(_g1 < _g) { var i = _g1++; indices.push(i); } } if(culling == null) { culling = 1; } var x; var y; var minX = Infinity; var minY = Infinity; var maxX = -Infinity; var maxY = -Infinity; var _g11 = 0; var _g2 = vertLength; while(_g11 < _g2) { var i1 = _g11++; x = vertices.get(i1 * 2); y = vertices.get(i1 * 2 + 1); if(minX > x) { minX = x; } if(minY > y) { minY = y; } if(maxX < x) { maxX = x; } if(maxY < y) { maxY = y; } } this.__inflateBounds(minX,minY); this.__inflateBounds(maxX,maxY); this.__commands.drawTriangles(vertices,indices,uvtData,culling); this.set___dirty(true); this.__visible = true; } ,endFill: function() { this.__commands.endFill(); } ,lineBitmapStyle: function(bitmap,matrix,repeat,smooth) { if(smooth == null) { smooth = false; } if(repeat == null) { repeat = true; } this.__commands.lineBitmapStyle(bitmap,matrix != null ? matrix.clone() : null,repeat,smooth); } ,lineGradientStyle: function(type,colors,alphas,ratios,matrix,spreadMethod,interpolationMethod,focalPointRatio) { if(focalPointRatio == null) { focalPointRatio = 0; } if(interpolationMethod == null) { interpolationMethod = 1; } if(spreadMethod == null) { spreadMethod = 0; } this.__commands.lineGradientStyle(type,colors,alphas,ratios,matrix,spreadMethod,interpolationMethod,focalPointRatio); } ,lineStyle: function(thickness,color,alpha,pixelHinting,scaleMode,caps,joints,miterLimit) { if(miterLimit == null) { miterLimit = 3; } if(scaleMode == null) { scaleMode = 2; } if(pixelHinting == null) { pixelHinting = false; } if(alpha == null) { alpha = 1; } if(color == null) { color = 0; } if(thickness != null) { if(joints == 1) { if(thickness > this.__strokePadding) { this.__strokePadding = thickness; } } else if(thickness / 2 > this.__strokePadding) { this.__strokePadding = thickness / 2; } } this.__commands.lineStyle(thickness,color,alpha,pixelHinting,scaleMode,caps,joints,miterLimit); if(thickness != null) { this.__visible = true; } } ,lineTo: function(x,y) { if(!isFinite(x) || !isFinite(y)) { return; } this.__inflateBounds(this.__positionX - this.__strokePadding,this.__positionY - this.__strokePadding); this.__inflateBounds(this.__positionX + this.__strokePadding,this.__positionY + this.__strokePadding); this.__positionX = x; this.__positionY = y; this.__inflateBounds(this.__positionX - this.__strokePadding,this.__positionY - this.__strokePadding); this.__inflateBounds(this.__positionX + this.__strokePadding * 2,this.__positionY + this.__strokePadding); this.__commands.lineTo(x,y); this.set___dirty(true); } ,moveTo: function(x,y) { this.__positionX = x; this.__positionY = y; this.__commands.moveTo(x,y); } ,overrideBlendMode: function(blendMode) { if(blendMode == null) { blendMode = 10; } this.__commands.overrideBlendMode(blendMode); } ,readGraphicsData: function(recurse) { if(recurse == null) { recurse = true; } var graphicsData = openfl__$Vector_Vector_$Impl_$.toObjectVector(null); this.__owner.__readGraphicsData(graphicsData,recurse); return graphicsData; } ,__calculateBezierCubicPoint: function(t,p1,p2,p3,p4) { var iT = 1 - t; return p1 * (iT * iT * iT) + 3 * p2 * t * (iT * iT) + 3 * p3 * iT * (t * t) + p4 * (t * t * t); } ,__calculateBezierQuadPoint: function(t,p1,p2,p3) { var iT = 1 - t; return iT * iT * p1 + 2 * iT * t * p2 + t * t * p3; } ,__cleanup: function() { if(this.__bounds != null && this.__canvas != null) { this.set___dirty(true); this.__transformDirty = true; } this.__bitmap = null; this.__canvas = null; this.__context = null; } ,__getBounds: function(rect,matrix) { if(this.__bounds == null) { return; } var bounds = openfl_geom_Rectangle.__pool.get(); this.__bounds.__transform(bounds,matrix); rect.__expand(bounds.x,bounds.y,bounds.width,bounds.height); openfl_geom_Rectangle.__pool.release(bounds); } ,__hitTest: function(x,y,shapeFlag,matrix) { if(this.__bounds == null) { return false; } var norm = matrix.a * matrix.d - matrix.b * matrix.c; var px = norm == 0 ? -matrix.tx : 1.0 / norm * (matrix.c * (matrix.ty - y) + matrix.d * (x - matrix.tx)); var norm1 = matrix.a * matrix.d - matrix.b * matrix.c; var py = norm1 == 0 ? -matrix.ty : 1.0 / norm1 * (matrix.a * (y - matrix.ty) + matrix.b * (matrix.tx - x)); if(px > this.__bounds.x && py > this.__bounds.y && this.__bounds.contains(px,py)) { if(shapeFlag) { return openfl__$internal_renderer_canvas_CanvasGraphics.hitTest(this,px,py); } return true; } return false; } ,__inflateBounds: function(x,y) { if(this.__bounds == null) { this.__bounds = new openfl_geom_Rectangle(x,y,0,0); this.__transformDirty = true; return; } if(x < this.__bounds.x) { this.__bounds.width += this.__bounds.x - x; this.__bounds.x = x; this.__transformDirty = true; } if(y < this.__bounds.y) { this.__bounds.height += this.__bounds.y - y; this.__bounds.y = y; this.__transformDirty = true; } if(x > this.__bounds.x + this.__bounds.width) { this.__bounds.width = x - this.__bounds.x; } if(y > this.__bounds.y + this.__bounds.height) { this.__bounds.height = y - this.__bounds.y; } } ,__readGraphicsData: function(graphicsData) { var data = new openfl__$internal_renderer_DrawCommandReader(this.__commands); var path = null; var stroke; var _g = 0; var _g1 = this.__commands.types; while(_g < _g1.length) { var type = _g1[_g]; ++_g; switch(type[1]) { case 4:case 5:case 6:case 7:case 9:case 10:case 17:case 18: if(path == null) { path = new openfl_display_GraphicsPath(); } break; default: if(path != null) { graphicsData.push(path); path = null; } } switch(type[1]) { case 0: var _g2 = data.prev; switch(_g2[1]) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl__$internal_renderer_DrawCommandType.BEGIN_BITMAP_FILL; var this1 = data; var c = this1; graphicsData.push(new openfl_display_GraphicsBitmapFill(c.buffer.o[c.oPos],c.buffer.o[c.oPos + 1],c.buffer.b[c.bPos],c.buffer.b[c.bPos + 1])); break; case 1: var _g3 = data.prev; switch(_g3[1]) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl__$internal_renderer_DrawCommandType.BEGIN_FILL; var this2 = data; var c1 = this2; graphicsData.push(new openfl_display_GraphicsSolidFill(c1.buffer.i[c1.iPos],1)); break; case 2: var _g4 = data.prev; switch(_g4[1]) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl__$internal_renderer_DrawCommandType.BEGIN_GRADIENT_FILL; var this3 = data; var c2 = this3; graphicsData.push(new openfl_display_GraphicsGradientFill(c2.buffer.o[c2.oPos],c2.buffer.ii[c2.iiPos],c2.buffer.ff[c2.ffPos],c2.buffer.ii[c2.iiPos + 1],c2.buffer.o[c2.oPos + 1],c2.buffer.o[c2.oPos + 2],c2.buffer.o[c2.oPos + 3],c2.buffer.f[c2.fPos])); break; case 3: break; case 4: var _g5 = data.prev; switch(_g5[1]) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl__$internal_renderer_DrawCommandType.CUBIC_CURVE_TO; var this4 = data; var c3 = this4; path.cubicCurveTo(c3.buffer.f[c3.fPos],c3.buffer.f[c3.fPos + 1],c3.buffer.f[c3.fPos + 2],c3.buffer.f[c3.fPos + 3],c3.buffer.f[c3.fPos + 4],c3.buffer.f[c3.fPos + 5]); break; case 5: var _g6 = data.prev; switch(_g6[1]) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl__$internal_renderer_DrawCommandType.CURVE_TO; var this5 = data; var c4 = this5; path.curveTo(c4.buffer.f[c4.fPos],c4.buffer.f[c4.fPos + 1],c4.buffer.f[c4.fPos + 2],c4.buffer.f[c4.fPos + 3]); break; case 6: var _g7 = data.prev; switch(_g7[1]) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl__$internal_renderer_DrawCommandType.DRAW_CIRCLE; var this6 = data; var c5 = this6; path.__drawCircle(c5.buffer.f[c5.fPos],c5.buffer.f[c5.fPos + 1],c5.buffer.f[c5.fPos + 2]); break; case 7: var _g8 = data.prev; switch(_g8[1]) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl__$internal_renderer_DrawCommandType.DRAW_ELLIPSE; var this7 = data; var c6 = this7; path.__drawEllipse(c6.buffer.f[c6.fPos],c6.buffer.f[c6.fPos + 1],c6.buffer.f[c6.fPos + 2],c6.buffer.f[c6.fPos + 3]); break; case 9: var _g9 = data.prev; switch(_g9[1]) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl__$internal_renderer_DrawCommandType.DRAW_RECT; var this8 = data; var c7 = this8; path.__drawRect(c7.buffer.f[c7.fPos],c7.buffer.f[c7.fPos + 1],c7.buffer.f[c7.fPos + 2],c7.buffer.f[c7.fPos + 3]); break; case 10: var _g10 = data.prev; switch(_g10[1]) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl__$internal_renderer_DrawCommandType.DRAW_ROUND_RECT; var this9 = data; var c8 = this9; path.__drawRoundRect(c8.buffer.f[c8.fPos],c8.buffer.f[c8.fPos + 1],c8.buffer.f[c8.fPos + 2],c8.buffer.f[c8.fPos + 3],c8.buffer.f[c8.fPos + 4],c8.buffer.o[c8.oPos] != null ? c8.buffer.o[c8.oPos] : c8.buffer.f[c8.fPos + 4]); break; case 13: var _g11 = data.prev; switch(_g11[1]) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl__$internal_renderer_DrawCommandType.END_FILL; var this10 = data; graphicsData.push(new openfl_display_GraphicsEndFill()); break; case 14: var _g12 = data.prev; switch(_g12[1]) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl__$internal_renderer_DrawCommandType.LINE_BITMAP_STYLE; var this11 = data; var c9 = this11; path = null; break; case 15: var _g13 = data.prev; switch(_g13[1]) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl__$internal_renderer_DrawCommandType.LINE_GRADIENT_STYLE; var this12 = data; var c10 = this12; break; case 16: var _g14 = data.prev; switch(_g14[1]) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl__$internal_renderer_DrawCommandType.LINE_STYLE; var this13 = data; var c11 = this13; stroke = new openfl_display_GraphicsStroke(c11.buffer.o[c11.oPos],c11.buffer.b[c11.bPos],c11.buffer.o[c11.oPos + 1],c11.buffer.o[c11.oPos + 2],c11.buffer.o[c11.oPos + 3],c11.buffer.f[c11.fPos + 1]); stroke.fill = new openfl_display_GraphicsSolidFill(c11.buffer.i[c11.iPos],c11.buffer.f[c11.fPos]); graphicsData.push(stroke); break; case 17: var _g15 = data.prev; switch(_g15[1]) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl__$internal_renderer_DrawCommandType.LINE_TO; var this14 = data; var c12 = this14; path.lineTo(c12.buffer.f[c12.fPos],c12.buffer.f[c12.fPos + 1]); break; case 18: var _g16 = data.prev; switch(_g16[1]) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl__$internal_renderer_DrawCommandType.MOVE_TO; var this15 = data; var c13 = this15; path.moveTo(c13.buffer.f[c13.fPos],c13.buffer.f[c13.fPos + 1]); break; default: var _g17 = data.prev; switch(_g17[1]) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = type; } } if(path != null) { graphicsData.push(path); } } ,__update: function(displayMatrix) { if(this.__bounds == null || this.__bounds.width <= 0 || this.__bounds.height <= 0) { return; } var parentTransform = this.__owner.__renderTransform; var scaleX = 1.0; var scaleY = 1.0; if(parentTransform != null) { if(parentTransform.b == 0) { scaleX = Math.abs(parentTransform.a); } else { scaleX = Math.sqrt(parentTransform.a * parentTransform.a + parentTransform.b * parentTransform.b); } if(parentTransform.c == 0) { scaleY = Math.abs(parentTransform.d); } else { scaleY = Math.sqrt(parentTransform.c * parentTransform.c + parentTransform.d * parentTransform.d); } } else { return; } if(displayMatrix != null) { if(displayMatrix.b == 0) { scaleX *= displayMatrix.a; } else { scaleX *= Math.sqrt(displayMatrix.a * displayMatrix.a + displayMatrix.b * displayMatrix.b); } if(displayMatrix.c == 0) { scaleY *= displayMatrix.d; } else { scaleY *= Math.sqrt(displayMatrix.c * displayMatrix.c + displayMatrix.d * displayMatrix.d); } } var width = this.__bounds.width * scaleX; var height = this.__bounds.height * scaleY; if(width < 1 || height < 1) { if(this.__width >= 1 || this.__height >= 1) { this.set___dirty(true); } this.__width = 0; this.__height = 0; return; } if(openfl_display_Graphics.maxTextureWidth != null && width > openfl_display_Graphics.maxTextureWidth) { width = openfl_display_Graphics.maxTextureWidth; scaleX = openfl_display_Graphics.maxTextureWidth / this.__bounds.width; } if(openfl_display_Graphics.maxTextureWidth != null && height > openfl_display_Graphics.maxTextureHeight) { height = openfl_display_Graphics.maxTextureHeight; scaleY = openfl_display_Graphics.maxTextureHeight / this.__bounds.height; } this.__renderTransform.a = width / this.__bounds.width; this.__renderTransform.d = height / this.__bounds.height; var inverseA = 1 / this.__renderTransform.a; var inverseD = 1 / this.__renderTransform.d; this.__worldTransform.a = inverseA * parentTransform.a; this.__worldTransform.b = inverseA * parentTransform.b; this.__worldTransform.c = inverseD * parentTransform.c; this.__worldTransform.d = inverseD * parentTransform.d; var x = this.__bounds.x; var y = this.__bounds.y; var tx = x * parentTransform.a + y * parentTransform.c + parentTransform.tx; var ty = x * parentTransform.b + y * parentTransform.d + parentTransform.ty; this.__worldTransform.tx = Math.floor(tx); this.__worldTransform.ty = Math.floor(ty); var _this = this.__worldTransform; var norm = _this.a * _this.d - _this.b * _this.c; this.__renderTransform.tx = norm == 0 ? -_this.tx : 1.0 / norm * (_this.c * (_this.ty - ty) + _this.d * (tx - _this.tx)); var _this1 = this.__worldTransform; var norm1 = _this1.a * _this1.d - _this1.b * _this1.c; this.__renderTransform.ty = norm1 == 0 ? -_this1.ty : 1.0 / norm1 * (_this1.a * (ty - _this1.ty) + _this1.b * (_this1.tx - tx)); var newWidth = Math.ceil(width + this.__renderTransform.tx); var newHeight = Math.ceil(height + this.__renderTransform.ty); if(newWidth != this.__width || newHeight != this.__height) { this.set___dirty(true); } this.__width = newWidth; this.__height = newHeight; } ,set___dirty: function(value) { if(value && this.__owner != null) { var _this = this.__owner; if(!_this.__renderDirty) { _this.__renderDirty = true; _this.__setParentRenderDirty(); } } if(value) { this.__softwareDirty = true; this.__hardwareDirty = true; } return this.__dirty = value; } ,__class__: openfl_display_Graphics ,__properties__: {set___dirty:"set___dirty"} }; var openfl_display_IGraphicsFill = function() { }; $hxClasses["openfl.display.IGraphicsFill"] = openfl_display_IGraphicsFill; openfl_display_IGraphicsFill.__name__ = ["openfl","display","IGraphicsFill"]; openfl_display_IGraphicsFill.prototype = { __graphicsFillType: null ,__class__: openfl_display_IGraphicsFill }; var openfl_display_IGraphicsData = function() { }; $hxClasses["openfl.display.IGraphicsData"] = openfl_display_IGraphicsData; openfl_display_IGraphicsData.__name__ = ["openfl","display","IGraphicsData"]; openfl_display_IGraphicsData.prototype = { __graphicsDataType: null ,__class__: openfl_display_IGraphicsData }; var openfl_display_GraphicsBitmapFill = function(bitmapData,matrix,repeat,smooth) { if(smooth == null) { smooth = false; } if(repeat == null) { repeat = true; } this.bitmapData = bitmapData; this.matrix = matrix; this.repeat = repeat; this.smooth = smooth; this.__graphicsDataType = openfl_display_GraphicsDataType.BITMAP; this.__graphicsFillType = openfl_display_GraphicsFillType.BITMAP_FILL; }; $hxClasses["openfl.display.GraphicsBitmapFill"] = openfl_display_GraphicsBitmapFill; openfl_display_GraphicsBitmapFill.__name__ = ["openfl","display","GraphicsBitmapFill"]; openfl_display_GraphicsBitmapFill.__interfaces__ = [openfl_display_IGraphicsFill,openfl_display_IGraphicsData]; openfl_display_GraphicsBitmapFill.prototype = { bitmapData: null ,matrix: null ,repeat: null ,smooth: null ,__graphicsDataType: null ,__graphicsFillType: null ,__class__: openfl_display_GraphicsBitmapFill }; var openfl_display_GraphicsEndFill = function() { this.__graphicsDataType = openfl_display_GraphicsDataType.END; this.__graphicsFillType = openfl_display_GraphicsFillType.END_FILL; }; $hxClasses["openfl.display.GraphicsEndFill"] = openfl_display_GraphicsEndFill; openfl_display_GraphicsEndFill.__name__ = ["openfl","display","GraphicsEndFill"]; openfl_display_GraphicsEndFill.__interfaces__ = [openfl_display_IGraphicsFill,openfl_display_IGraphicsData]; openfl_display_GraphicsEndFill.prototype = { __graphicsDataType: null ,__graphicsFillType: null ,__class__: openfl_display_GraphicsEndFill }; var openfl_display_GraphicsGradientFill = function(type,colors,alphas,ratios,matrix,spreadMethod,interpolationMethod,focalPointRatio) { if(focalPointRatio == null) { focalPointRatio = 0; } if(type == null) { type = 0; } if(spreadMethod == null) { spreadMethod = 0; } if(interpolationMethod == null) { interpolationMethod = 1; } this.type = type; this.colors = colors; this.alphas = alphas; this.ratios = ratios; this.matrix = matrix; this.spreadMethod = spreadMethod; this.interpolationMethod = interpolationMethod; this.focalPointRatio = focalPointRatio; this.__graphicsDataType = openfl_display_GraphicsDataType.GRADIENT; this.__graphicsFillType = openfl_display_GraphicsFillType.GRADIENT_FILL; }; $hxClasses["openfl.display.GraphicsGradientFill"] = openfl_display_GraphicsGradientFill; openfl_display_GraphicsGradientFill.__name__ = ["openfl","display","GraphicsGradientFill"]; openfl_display_GraphicsGradientFill.__interfaces__ = [openfl_display_IGraphicsFill,openfl_display_IGraphicsData]; openfl_display_GraphicsGradientFill.prototype = { alphas: null ,colors: null ,focalPointRatio: null ,interpolationMethod: null ,matrix: null ,ratios: null ,spreadMethod: null ,type: null ,__graphicsDataType: null ,__graphicsFillType: null ,__class__: openfl_display_GraphicsGradientFill }; var openfl_display_IGraphicsPath = function() { }; $hxClasses["openfl.display.IGraphicsPath"] = openfl_display_IGraphicsPath; openfl_display_IGraphicsPath.__name__ = ["openfl","display","IGraphicsPath"]; var openfl_display_GraphicsPath = function(commands,data,winding) { if(winding == null) { winding = 0; } this.commands = commands; this.data = data; this.winding = winding; this.__graphicsDataType = openfl_display_GraphicsDataType.PATH; }; $hxClasses["openfl.display.GraphicsPath"] = openfl_display_GraphicsPath; openfl_display_GraphicsPath.__name__ = ["openfl","display","GraphicsPath"]; openfl_display_GraphicsPath.__interfaces__ = [openfl_display_IGraphicsPath,openfl_display_IGraphicsData]; openfl_display_GraphicsPath.prototype = { commands: null ,data: null ,winding: null ,__graphicsDataType: null ,cubicCurveTo: function(controlX1,controlY1,controlX2,controlY2,anchorX,anchorY) { if(this.commands == null) { this.commands = openfl__$Vector_Vector_$Impl_$.toIntVector(null); } if(this.data == null) { this.data = openfl__$Vector_Vector_$Impl_$.toFloatVector(null); } this.commands.push(6); this.data.push(controlX1); this.data.push(controlY1); this.data.push(controlX2); this.data.push(controlY2); this.data.push(anchorX); this.data.push(anchorY); } ,curveTo: function(controlX,controlY,anchorX,anchorY) { if(this.commands == null) { this.commands = openfl__$Vector_Vector_$Impl_$.toIntVector(null); } if(this.data == null) { this.data = openfl__$Vector_Vector_$Impl_$.toFloatVector(null); } this.commands.push(3); this.data.push(controlX); this.data.push(controlY); this.data.push(anchorX); this.data.push(anchorY); } ,lineTo: function(x,y) { if(this.commands == null) { this.commands = openfl__$Vector_Vector_$Impl_$.toIntVector(null); } if(this.data == null) { this.data = openfl__$Vector_Vector_$Impl_$.toFloatVector(null); } this.commands.push(2); this.data.push(x); this.data.push(y); } ,moveTo: function(x,y) { if(this.commands == null) { this.commands = openfl__$Vector_Vector_$Impl_$.toIntVector(null); } if(this.data == null) { this.data = openfl__$Vector_Vector_$Impl_$.toFloatVector(null); } this.commands.push(1); this.data.push(x); this.data.push(y); } ,wideLineTo: function(x,y) { if(this.commands == null) { this.commands = openfl__$Vector_Vector_$Impl_$.toIntVector(null); } if(this.data == null) { this.data = openfl__$Vector_Vector_$Impl_$.toFloatVector(null); } this.commands.push(2); this.data.push(x); this.data.push(y); } ,wideMoveTo: function(x,y) { if(this.commands == null) { this.commands = openfl__$Vector_Vector_$Impl_$.toIntVector(null); } if(this.data == null) { this.data = openfl__$Vector_Vector_$Impl_$.toFloatVector(null); } this.commands.push(1); this.data.push(x); this.data.push(y); } ,__drawCircle: function(x,y,radius) { this.__drawRoundRect(x - radius,y - radius,radius * 2,radius * 2,radius * 2,radius * 2); } ,__drawEllipse: function(x,y,width,height) { this.__drawRoundRect(x,y,width,height,width,height); } ,__drawRect: function(x,y,width,height) { this.moveTo(x,y); this.lineTo(x + width,y); this.lineTo(x + width,y + height); this.lineTo(x,y + height); this.lineTo(x,y); } ,__drawRoundRect: function(x,y,width,height,ellipseWidth,ellipseHeight) { ellipseWidth *= 0.5; ellipseHeight *= 0.5; if(ellipseWidth > width / 2) { ellipseWidth = width / 2; } if(ellipseHeight > height / 2) { ellipseHeight = height / 2; } var xe = x + width; var ye = y + height; var cx1 = -ellipseWidth + ellipseWidth * openfl_display_GraphicsPath.SIN45; var cx2 = -ellipseWidth + ellipseWidth * openfl_display_GraphicsPath.TAN22; var cy1 = -ellipseHeight + ellipseHeight * openfl_display_GraphicsPath.SIN45; var cy2 = -ellipseHeight + ellipseHeight * openfl_display_GraphicsPath.TAN22; this.moveTo(xe,ye - ellipseHeight); this.curveTo(xe,ye + cy2,xe + cx1,ye + cy1); this.curveTo(xe + cx2,ye,xe - ellipseWidth,ye); this.lineTo(x + ellipseWidth,ye); this.curveTo(x - cx2,ye,x - cx1,ye + cy1); this.curveTo(x,ye + cy2,x,ye - ellipseHeight); this.lineTo(x,y + ellipseHeight); this.curveTo(x,y - cy2,x - cx1,y - cy1); this.curveTo(x - cx2,y,x + ellipseWidth,y); this.lineTo(xe - ellipseWidth,y); this.curveTo(xe + cx2,y,xe + cx1,y - cy1); this.curveTo(xe,y - cy2,xe,y + ellipseHeight); this.lineTo(xe,ye - ellipseHeight); } ,__class__: openfl_display_GraphicsPath }; var openfl_display__$GraphicsPathWinding_GraphicsPathWinding_$Impl_$ = {}; $hxClasses["openfl.display._GraphicsPathWinding.GraphicsPathWinding_Impl_"] = openfl_display__$GraphicsPathWinding_GraphicsPathWinding_$Impl_$; openfl_display__$GraphicsPathWinding_GraphicsPathWinding_$Impl_$.__name__ = ["openfl","display","_GraphicsPathWinding","GraphicsPathWinding_Impl_"]; openfl_display__$GraphicsPathWinding_GraphicsPathWinding_$Impl_$.fromString = function(value) { switch(value) { case "evenOdd": return 0; case "nonZero": return 1; default: return null; } }; openfl_display__$GraphicsPathWinding_GraphicsPathWinding_$Impl_$.toString = function(value) { switch(value) { case 0: return "evenOdd"; case 1: return "nonZero"; default: return null; } }; var openfl_display_GraphicsQuadPath = function(rects,indices,transforms) { this.rects = rects; this.indices = indices; this.transforms = transforms; this.__graphicsDataType = openfl_display_GraphicsDataType.QUAD_PATH; }; $hxClasses["openfl.display.GraphicsQuadPath"] = openfl_display_GraphicsQuadPath; openfl_display_GraphicsQuadPath.__name__ = ["openfl","display","GraphicsQuadPath"]; openfl_display_GraphicsQuadPath.__interfaces__ = [openfl_display_IGraphicsPath,openfl_display_IGraphicsData]; openfl_display_GraphicsQuadPath.prototype = { indices: null ,rects: null ,transforms: null ,__graphicsDataType: null ,__class__: openfl_display_GraphicsQuadPath }; var openfl_display_GraphicsShaderFill = function(shader,matrix) { this.shader = shader; this.matrix = matrix; this.__graphicsDataType = openfl_display_GraphicsDataType.SHADER; this.__graphicsFillType = openfl_display_GraphicsFillType.SHADER_FILL; }; $hxClasses["openfl.display.GraphicsShaderFill"] = openfl_display_GraphicsShaderFill; openfl_display_GraphicsShaderFill.__name__ = ["openfl","display","GraphicsShaderFill"]; openfl_display_GraphicsShaderFill.__interfaces__ = [openfl_display_IGraphicsFill,openfl_display_IGraphicsData]; openfl_display_GraphicsShaderFill.prototype = { shader: null ,matrix: null ,__graphicsDataType: null ,__graphicsFillType: null ,__class__: openfl_display_GraphicsShaderFill }; var openfl_display_GraphicsSolidFill = function(color,alpha) { if(alpha == null) { alpha = 1; } if(color == null) { color = 0; } this.alpha = alpha; this.color = color; this.__graphicsDataType = openfl_display_GraphicsDataType.SOLID; this.__graphicsFillType = openfl_display_GraphicsFillType.SOLID_FILL; }; $hxClasses["openfl.display.GraphicsSolidFill"] = openfl_display_GraphicsSolidFill; openfl_display_GraphicsSolidFill.__name__ = ["openfl","display","GraphicsSolidFill"]; openfl_display_GraphicsSolidFill.__interfaces__ = [openfl_display_IGraphicsFill,openfl_display_IGraphicsData]; openfl_display_GraphicsSolidFill.prototype = { alpha: null ,color: null ,__graphicsDataType: null ,__graphicsFillType: null ,__class__: openfl_display_GraphicsSolidFill }; var openfl_display_IGraphicsStroke = function() { }; $hxClasses["openfl.display.IGraphicsStroke"] = openfl_display_IGraphicsStroke; openfl_display_IGraphicsStroke.__name__ = ["openfl","display","IGraphicsStroke"]; var openfl_display_GraphicsStroke = function(thickness,pixelHinting,scaleMode,caps,joints,miterLimit,fill) { if(miterLimit == null) { miterLimit = 3; } if(joints == null) { joints = 2; } if(caps == null) { caps = 0; } if(scaleMode == null) { scaleMode = 2; } if(pixelHinting == null) { pixelHinting = false; } if(thickness == null) { thickness = NaN; } this.caps = caps; this.fill = fill; this.joints = joints; this.miterLimit = miterLimit; this.pixelHinting = pixelHinting; this.scaleMode = scaleMode; this.thickness = thickness; this.__graphicsDataType = openfl_display_GraphicsDataType.STROKE; }; $hxClasses["openfl.display.GraphicsStroke"] = openfl_display_GraphicsStroke; openfl_display_GraphicsStroke.__name__ = ["openfl","display","GraphicsStroke"]; openfl_display_GraphicsStroke.__interfaces__ = [openfl_display_IGraphicsStroke,openfl_display_IGraphicsData]; openfl_display_GraphicsStroke.prototype = { caps: null ,fill: null ,joints: null ,miterLimit: null ,pixelHinting: null ,scaleMode: null ,thickness: null ,__graphicsDataType: null ,__class__: openfl_display_GraphicsStroke }; var openfl_display_GraphicsTrianglePath = function(vertices,indices,uvtData,culling) { if(culling == null) { culling = 1; } this.vertices = vertices; this.indices = indices; this.uvtData = uvtData; this.culling = culling; this.__graphicsDataType = openfl_display_GraphicsDataType.TRIANGLE_PATH; }; $hxClasses["openfl.display.GraphicsTrianglePath"] = openfl_display_GraphicsTrianglePath; openfl_display_GraphicsTrianglePath.__name__ = ["openfl","display","GraphicsTrianglePath"]; openfl_display_GraphicsTrianglePath.__interfaces__ = [openfl_display_IGraphicsPath,openfl_display_IGraphicsData]; openfl_display_GraphicsTrianglePath.prototype = { culling: null ,indices: null ,uvtData: null ,vertices: null ,__graphicsDataType: null ,__class__: openfl_display_GraphicsTrianglePath }; var openfl_display_GraphicsDataType = $hxClasses["openfl.display.GraphicsDataType"] = { __ename__ : ["openfl","display","GraphicsDataType"], __constructs__ : ["STROKE","SOLID","GRADIENT","PATH","BITMAP","END","QUAD_PATH","TRIANGLE_PATH","SHADER"] }; openfl_display_GraphicsDataType.STROKE = ["STROKE",0]; openfl_display_GraphicsDataType.STROKE.toString = $estr; openfl_display_GraphicsDataType.STROKE.__enum__ = openfl_display_GraphicsDataType; openfl_display_GraphicsDataType.SOLID = ["SOLID",1]; openfl_display_GraphicsDataType.SOLID.toString = $estr; openfl_display_GraphicsDataType.SOLID.__enum__ = openfl_display_GraphicsDataType; openfl_display_GraphicsDataType.GRADIENT = ["GRADIENT",2]; openfl_display_GraphicsDataType.GRADIENT.toString = $estr; openfl_display_GraphicsDataType.GRADIENT.__enum__ = openfl_display_GraphicsDataType; openfl_display_GraphicsDataType.PATH = ["PATH",3]; openfl_display_GraphicsDataType.PATH.toString = $estr; openfl_display_GraphicsDataType.PATH.__enum__ = openfl_display_GraphicsDataType; openfl_display_GraphicsDataType.BITMAP = ["BITMAP",4]; openfl_display_GraphicsDataType.BITMAP.toString = $estr; openfl_display_GraphicsDataType.BITMAP.__enum__ = openfl_display_GraphicsDataType; openfl_display_GraphicsDataType.END = ["END",5]; openfl_display_GraphicsDataType.END.toString = $estr; openfl_display_GraphicsDataType.END.__enum__ = openfl_display_GraphicsDataType; openfl_display_GraphicsDataType.QUAD_PATH = ["QUAD_PATH",6]; openfl_display_GraphicsDataType.QUAD_PATH.toString = $estr; openfl_display_GraphicsDataType.QUAD_PATH.__enum__ = openfl_display_GraphicsDataType; openfl_display_GraphicsDataType.TRIANGLE_PATH = ["TRIANGLE_PATH",7]; openfl_display_GraphicsDataType.TRIANGLE_PATH.toString = $estr; openfl_display_GraphicsDataType.TRIANGLE_PATH.__enum__ = openfl_display_GraphicsDataType; openfl_display_GraphicsDataType.SHADER = ["SHADER",8]; openfl_display_GraphicsDataType.SHADER.toString = $estr; openfl_display_GraphicsDataType.SHADER.__enum__ = openfl_display_GraphicsDataType; var openfl_display_GraphicsFillType = $hxClasses["openfl.display.GraphicsFillType"] = { __ename__ : ["openfl","display","GraphicsFillType"], __constructs__ : ["SOLID_FILL","GRADIENT_FILL","BITMAP_FILL","END_FILL","SHADER_FILL"] }; openfl_display_GraphicsFillType.SOLID_FILL = ["SOLID_FILL",0]; openfl_display_GraphicsFillType.SOLID_FILL.toString = $estr; openfl_display_GraphicsFillType.SOLID_FILL.__enum__ = openfl_display_GraphicsFillType; openfl_display_GraphicsFillType.GRADIENT_FILL = ["GRADIENT_FILL",1]; openfl_display_GraphicsFillType.GRADIENT_FILL.toString = $estr; openfl_display_GraphicsFillType.GRADIENT_FILL.__enum__ = openfl_display_GraphicsFillType; openfl_display_GraphicsFillType.BITMAP_FILL = ["BITMAP_FILL",2]; openfl_display_GraphicsFillType.BITMAP_FILL.toString = $estr; openfl_display_GraphicsFillType.BITMAP_FILL.__enum__ = openfl_display_GraphicsFillType; openfl_display_GraphicsFillType.END_FILL = ["END_FILL",3]; openfl_display_GraphicsFillType.END_FILL.toString = $estr; openfl_display_GraphicsFillType.END_FILL.__enum__ = openfl_display_GraphicsFillType; openfl_display_GraphicsFillType.SHADER_FILL = ["SHADER_FILL",4]; openfl_display_GraphicsFillType.SHADER_FILL.toString = $estr; openfl_display_GraphicsFillType.SHADER_FILL.__enum__ = openfl_display_GraphicsFillType; var openfl_display__$InterpolationMethod_InterpolationMethod_$Impl_$ = {}; $hxClasses["openfl.display._InterpolationMethod.InterpolationMethod_Impl_"] = openfl_display__$InterpolationMethod_InterpolationMethod_$Impl_$; openfl_display__$InterpolationMethod_InterpolationMethod_$Impl_$.__name__ = ["openfl","display","_InterpolationMethod","InterpolationMethod_Impl_"]; openfl_display__$InterpolationMethod_InterpolationMethod_$Impl_$.fromInt = function(value) { return value; }; openfl_display__$InterpolationMethod_InterpolationMethod_$Impl_$.fromString = function(value) { switch(value) { case "linearRGB": return 0; case "rgb": return 1; default: return null; } }; openfl_display__$InterpolationMethod_InterpolationMethod_$Impl_$.toInt = function(this1) { return this1; }; openfl_display__$InterpolationMethod_InterpolationMethod_$Impl_$.toString = function(value) { switch(value) { case 0: return "linearRGB"; case 1: return "rgb"; default: return null; } }; var openfl_display_JPEGEncoderOptions = function(quality) { if(quality == null) { quality = 80; } this.quality = quality; }; $hxClasses["openfl.display.JPEGEncoderOptions"] = openfl_display_JPEGEncoderOptions; openfl_display_JPEGEncoderOptions.__name__ = ["openfl","display","JPEGEncoderOptions"]; openfl_display_JPEGEncoderOptions.prototype = { quality: null ,__class__: openfl_display_JPEGEncoderOptions }; var openfl_display__$JointStyle_JointStyle_$Impl_$ = {}; $hxClasses["openfl.display._JointStyle.JointStyle_Impl_"] = openfl_display__$JointStyle_JointStyle_$Impl_$; openfl_display__$JointStyle_JointStyle_$Impl_$.__name__ = ["openfl","display","_JointStyle","JointStyle_Impl_"]; openfl_display__$JointStyle_JointStyle_$Impl_$.fromInt = function(value) { return value; }; openfl_display__$JointStyle_JointStyle_$Impl_$.fromString = function(value) { switch(value) { case "bevel": return 0; case "miter": return 1; case "round": return 2; default: return null; } }; openfl_display__$JointStyle_JointStyle_$Impl_$.toInt = function(this1) { return this1; }; openfl_display__$JointStyle_JointStyle_$Impl_$.toString = function(value) { switch(value) { case 0: return "bevel"; case 1: return "miter"; case 2: return "round"; default: return null; } }; var openfl_display__$LineScaleMode_LineScaleMode_$Impl_$ = {}; $hxClasses["openfl.display._LineScaleMode.LineScaleMode_Impl_"] = openfl_display__$LineScaleMode_LineScaleMode_$Impl_$; openfl_display__$LineScaleMode_LineScaleMode_$Impl_$.__name__ = ["openfl","display","_LineScaleMode","LineScaleMode_Impl_"]; openfl_display__$LineScaleMode_LineScaleMode_$Impl_$.fromInt = function(value) { return value; }; openfl_display__$LineScaleMode_LineScaleMode_$Impl_$.fromString = function(value) { switch(value) { case "horizontal": return 0; case "none": return 1; case "normal": return 2; case "vertical": return 3; default: return null; } }; openfl_display__$LineScaleMode_LineScaleMode_$Impl_$.toInt = function(this1) { return this1; }; openfl_display__$LineScaleMode_LineScaleMode_$Impl_$.toString = function(value) { switch(value) { case 0: return "horizontal"; case 1: return "none"; case 2: return "normal"; case 3: return "vertical"; default: return null; } }; var openfl_display_Loader = function() { openfl_display_DisplayObjectContainer.call(this); this.contentLoaderInfo = openfl_display_LoaderInfo.create(this); this.uncaughtErrorEvents = this.contentLoaderInfo.uncaughtErrorEvents; }; $hxClasses["openfl.display.Loader"] = openfl_display_Loader; openfl_display_Loader.__name__ = ["openfl","display","Loader"]; openfl_display_Loader.__super__ = openfl_display_DisplayObjectContainer; openfl_display_Loader.prototype = $extend(openfl_display_DisplayObjectContainer.prototype,{ content: null ,contentLoaderInfo: null ,uncaughtErrorEvents: null ,__library: null ,__path: null ,__unloaded: null ,close: function() { openfl__$internal_Lib.notImplemented({ fileName : "Loader.hx", lineNumber : 213, className : "openfl.display.Loader", methodName : "close"}); } ,load: function(request,context) { this.contentLoaderInfo.loaderURL = openfl_Lib.get_current().get_loaderInfo().url; this.contentLoaderInfo.url = request.url; this.__unloaded = false; if(request.contentType == null || request.contentType == "") { var extension = ""; this.__path = request.url; var queryIndex = this.__path.indexOf("?"); if(queryIndex > -1) { this.__path = this.__path.substring(0,queryIndex); } while(StringTools.endsWith(this.__path,"/")) this.__path = this.__path.substring(0,this.__path.length - 1); if(StringTools.endsWith(this.__path,".bundle")) { this.__path += "/library.json"; if(queryIndex > -1) { request.url = this.__path + request.url.substring(queryIndex); } else { request.url = this.__path; } } var extIndex = this.__path.lastIndexOf("."); if(extIndex > -1) { extension = this.__path.substring(extIndex + 1); } var tmp; switch(extension) { case "gif": tmp = "image/gif"; break; case "jpeg":case "jpg": tmp = "image/jpeg"; break; case "js": tmp = "application/javascript"; break; case "json": tmp = "application/json"; break; case "png": tmp = "image/png"; break; case "swf": tmp = "application/x-shockwave-flash"; break; default: tmp = "application/x-www-form-urlencoded"; } this.contentLoaderInfo.contentType = tmp; } else { this.contentLoaderInfo.contentType = request.contentType; } if(this.contentLoaderInfo.contentType.indexOf("image/") > -1 && request.method == "GET" && (request.requestHeaders == null || request.requestHeaders.length == 0) && request.userAgent == null) { openfl_display_BitmapData.loadFromFile(request.url).onComplete($bind(this,this.BitmapData_onLoad)).onError($bind(this,this.BitmapData_onError)).onProgress($bind(this,this.BitmapData_onProgress)); return; } var loader = new openfl_net_URLLoader(); loader.dataFormat = 0; if(this.contentLoaderInfo.contentType.indexOf("/json") > -1 || this.contentLoaderInfo.contentType.indexOf("/javascript") > -1 || this.contentLoaderInfo.contentType.indexOf("/ecmascript") > -1) { loader.dataFormat = 1; } loader.addEventListener("complete",$bind(this,this.loader_onComplete)); loader.addEventListener("ioError",$bind(this,this.loader_onError)); loader.addEventListener("progress",$bind(this,this.loader_onProgress)); loader.load(request); } ,loadBytes: function(buffer,context) { openfl_display_BitmapData.loadFromBytes(buffer).onComplete($bind(this,this.BitmapData_onLoad)).onError($bind(this,this.BitmapData_onError)); } ,unload: function() { if(!this.__unloaded) { while(this.get_numChildren() > 0) this.removeChildAt(0); if(this.__library != null) { openfl_utils_Assets.unloadLibrary(this.contentLoaderInfo.url); this.__library = null; } this.content = null; this.contentLoaderInfo.url = null; this.contentLoaderInfo.contentType = null; this.contentLoaderInfo.content = null; this.contentLoaderInfo.bytesLoaded = 0; this.contentLoaderInfo.bytesTotal = 0; this.contentLoaderInfo.width = 0; this.contentLoaderInfo.height = 0; this.__unloaded = true; this.contentLoaderInfo.dispatchEvent(new openfl_events_Event("unload")); } } ,unloadAndStop: function(gc) { if(gc == null) { gc = true; } if(this.content != null) { this.content.__stopAllMovieClips(); } var _g1 = 0; var _g = this.get_numChildren(); while(_g1 < _g) { var i = _g1++; this.getChildAt(i).__stopAllMovieClips(); } this.unload(); var gc1 = gc; } ,__dispatchError: function(text) { var event = new openfl_events_IOErrorEvent("ioError"); event.text = text; this.contentLoaderInfo.dispatchEvent(event); } ,BitmapData_onError: function(error) { this.__dispatchError(Std.string(error)); } ,BitmapData_onLoad: function(bitmapData) { if(bitmapData == null) { this.__dispatchError("Unknown error"); return; } this.content = new openfl_display_Bitmap(bitmapData); this.contentLoaderInfo.content = this.content; var tmp = this.content.get_width() | 0; this.contentLoaderInfo.width = tmp; var tmp1 = this.content.get_height() | 0; this.contentLoaderInfo.height = tmp1; this.addChild(this.content); this.contentLoaderInfo.dispatchEvent(new openfl_events_Event("complete")); } ,BitmapData_onProgress: function(bytesLoaded,bytesTotal) { var event = new openfl_events_ProgressEvent("progress"); event.bytesLoaded = bytesLoaded; event.bytesTotal = bytesTotal; this.contentLoaderInfo.dispatchEvent(event); } ,loader_onComplete: function(event) { var _gthis = this; var loader = event.target; if(this.contentLoaderInfo.contentType != null && this.contentLoaderInfo.contentType.indexOf("/json") > -1) { var manifest = lime_utils_AssetManifest.parse(loader.data,haxe_io_Path.directory(this.__path)); if(manifest == null) { this.__dispatchError("Cannot parse asset manifest"); return; } var library = lime_utils_AssetLibrary.fromManifest(manifest); if(library == null) { this.__dispatchError("Cannot open library"); return; } if(js_Boot.__instanceof(library,openfl_utils_AssetLibrary)) { library.load().onComplete(function(_) { _gthis.__library = library; openfl_utils_Assets.registerLibrary(_gthis.contentLoaderInfo.url,_gthis.__library); if(manifest.name != null && !openfl_utils_Assets.hasLibrary(manifest.name)) { openfl_utils_Assets.registerLibrary(manifest.name,_gthis.__library); } _gthis.content = _gthis.__library.getMovieClip(""); _gthis.contentLoaderInfo.content = _gthis.content; _gthis.addChild(_gthis.content); _gthis.contentLoaderInfo.dispatchEvent(new openfl_events_Event("complete")); }).onError(function(e) { _gthis.__dispatchError(e); }); } } else if(this.contentLoaderInfo.contentType != null && (this.contentLoaderInfo.contentType.indexOf("/javascript") > -1 || this.contentLoaderInfo.contentType.indexOf("/ecmascript") > -1)) { this.content = new openfl_display_Sprite(); this.contentLoaderInfo.content = this.content; this.addChild(this.content); eval("(function () {" + Std.string(loader.data) + "})()"); this.contentLoaderInfo.dispatchEvent(new openfl_events_Event("complete")); } else { this.contentLoaderInfo.bytes = loader.data; openfl_display_BitmapData.loadFromBytes(loader.data).onComplete($bind(this,this.BitmapData_onLoad)).onError($bind(this,this.BitmapData_onError)); } } ,loader_onError: function(event) { event.target = this.contentLoaderInfo; this.contentLoaderInfo.dispatchEvent(event); } ,loader_onProgress: function(event) { event.target = this.contentLoaderInfo; this.contentLoaderInfo.dispatchEvent(event); } ,__class__: openfl_display_Loader }); var openfl_display_LoaderInfo = function() { openfl_events_EventDispatcher.call(this); this.applicationDomain = openfl_system_ApplicationDomain.currentDomain; this.bytesLoaded = 0; this.bytesTotal = 0; this.childAllowsParent = true; this.parameters = { }; }; $hxClasses["openfl.display.LoaderInfo"] = openfl_display_LoaderInfo; openfl_display_LoaderInfo.__name__ = ["openfl","display","LoaderInfo"]; openfl_display_LoaderInfo.create = function(loader) { var loaderInfo = new openfl_display_LoaderInfo(); loaderInfo.uncaughtErrorEvents = new openfl_events_UncaughtErrorEvents(); if(loader != null) { loaderInfo.loader = loader; } else { loaderInfo.url = openfl_display_LoaderInfo.__rootURL; } return loaderInfo; }; openfl_display_LoaderInfo.__super__ = openfl_events_EventDispatcher; openfl_display_LoaderInfo.prototype = $extend(openfl_events_EventDispatcher.prototype,{ applicationDomain: null ,bytes: null ,bytesLoaded: null ,bytesTotal: null ,childAllowsParent: null ,content: null ,contentType: null ,frameRate: null ,height: null ,loader: null ,loaderURL: null ,parameters: null ,parentAllowsChild: null ,sameDomain: null ,sharedEvents: null ,uncaughtErrorEvents: null ,url: null ,width: null ,__completed: null ,__complete: function() { if(!this.__completed) { if(this.bytesLoaded < this.bytesTotal) { this.bytesLoaded = this.bytesTotal; } this.__update(this.bytesLoaded,this.bytesTotal); this.__completed = true; this.dispatchEvent(new openfl_events_Event("complete")); } } ,__update: function(bytesLoaded,bytesTotal) { this.bytesLoaded = bytesLoaded; this.bytesTotal = bytesTotal; this.dispatchEvent(new openfl_events_ProgressEvent("progress",false,false,bytesLoaded,bytesTotal)); } ,__class__: openfl_display_LoaderInfo }); var openfl_display_MovieClip = function() { openfl_display_Sprite.call(this); this.__currentFrame = 1; this.__currentLabels = []; this.__instanceFields = []; this.__totalFrames = 0; this.__enabled = true; if(openfl_display_MovieClip.__initSymbol != null) { this.__swf = openfl_display_MovieClip.__initSWF; this.__symbol = openfl_display_MovieClip.__initSymbol; openfl_display_MovieClip.__initSWF = null; openfl_display_MovieClip.__initSymbol = null; this.__fromSymbol(this.__swf,this.__symbol); } }; $hxClasses["openfl.display.MovieClip"] = openfl_display_MovieClip; openfl_display_MovieClip.__name__ = ["openfl","display","MovieClip"]; openfl_display_MovieClip.__initSWF = null; openfl_display_MovieClip.__initSymbol = null; openfl_display_MovieClip.__super__ = openfl_display_Sprite; openfl_display_MovieClip.prototype = $extend(openfl_display_Sprite.prototype,{ __activeInstances: null ,__activeInstancesByFrameObjectID: null ,__currentFrame: null ,__currentFrameLabel: null ,__currentLabel: null ,__currentLabels: null ,__enabled: null ,__frameScripts: null ,__frameTime: null ,__hasDown: null ,__hasOver: null ,__hasUp: null ,__instanceFields: null ,__lastFrameScriptEval: null ,__lastFrameUpdate: null ,__mouseIsDown: null ,__playing: null ,__swf: null ,__symbol: null ,__timeElapsed: null ,__totalFrames: null ,addFrameScript: function(index,method) { if(index < 0) { return; } var frame = index + 1; if(method != null) { if(this.__frameScripts == null) { this.__frameScripts = new haxe_ds_IntMap(); } this.__frameScripts.h[frame] = method; } else if(this.__frameScripts != null) { this.__frameScripts.remove(frame); } } ,gotoAndPlay: function(frame,scene) { this.play(); this.__goto(this.__resolveFrameReference(frame)); } ,gotoAndStop: function(frame,scene) { this.stop(); this.__goto(this.__resolveFrameReference(frame)); } ,nextFrame: function() { this.stop(); this.__goto(this.__currentFrame + 1); } ,play: function() { if(this.__symbol == null || this.__playing || this.__totalFrames < 2) { return; } this.__playing = true; this.__frameTime = 1000 / this.__swf.frameRate | 0; this.__timeElapsed = 0; } ,prevFrame: function() { this.stop(); this.__goto(this.__currentFrame - 1); } ,stop: function() { this.__playing = false; } ,__enterFrame: function(deltaTime) { this.__updateFrameScript(deltaTime); this.__updateSymbol(this.__currentFrame); openfl_display_Sprite.prototype.__enterFrame.call(this,deltaTime); } ,__updateFrameScript: function(deltaTime) { if(this.__symbol != null && this.__playing) { var nextFrame = this.__getNextFrame(deltaTime); if(this.__lastFrameScriptEval == nextFrame) { openfl_display_Sprite.prototype.__enterFrame.call(this,deltaTime); return; } if(this.__frameScripts != null) { if(nextFrame < this.__currentFrame) { if(!this.__evaluateFrameScripts(this.__totalFrames)) { openfl_display_Sprite.prototype.__enterFrame.call(this,deltaTime); return; } this.__currentFrame = 1; } if(!this.__evaluateFrameScripts(nextFrame)) { openfl_display_Sprite.prototype.__enterFrame.call(this,deltaTime); return; } } else { this.__currentFrame = nextFrame; } } } ,__updateSymbol: function(targetFrame) { if(this.__symbol != null && this.__currentFrame != this.__lastFrameUpdate) { this.__updateFrameLabel(); var currentInstancesByFrameObjectID = new haxe_ds_IntMap(); var frame; var frameData; var instance; var _g1 = 0; var _g = targetFrame; while(_g1 < _g) { var i = _g1++; frame = i + 1; frameData = this.__symbol.frames[i]; if(frameData.objects == null) { continue; } var _g2 = 0; var _g3 = frameData.objects; while(_g2 < _g3.length) { var frameObject = _g3[_g2]; ++_g2; var _g4 = frameObject.type; switch(_g4[1]) { case 0: instance = this.__activeInstancesByFrameObjectID.get(frameObject.id); if(instance != null) { currentInstancesByFrameObjectID.h[frameObject.id] = instance; this.__updateDisplayObject(instance.displayObject,frameObject,true); } break; case 1: instance = currentInstancesByFrameObjectID.h[frameObject.id]; if(instance != null && instance.displayObject != null) { this.__updateDisplayObject(instance.displayObject,frameObject); } break; case 2: currentInstancesByFrameObjectID.remove(frameObject.id); break; } } } var currentInstances = []; var currentMasks = []; var instance1 = currentInstancesByFrameObjectID.iterator(); while(instance1.hasNext()) { var instance2 = instance1.next(); if(currentInstances.indexOf(instance2) == -1) { currentInstances.push(instance2); if(instance2.clipDepth > 0) { currentMasks.push(instance2); } } } currentInstances.sort($bind(this,this.__sortDepths)); var existingChild; var targetDepth; var targetChild; var child; var maskApplied; var _g11 = 0; var _g5 = currentInstances.length; while(_g11 < _g5) { var i1 = _g11++; existingChild = this.__children[i1]; instance = currentInstances[i1]; targetDepth = instance.depth; targetChild = instance.displayObject; if(existingChild != targetChild) { child = targetChild; this.addChildAt(targetChild,i1); } else { child = this.__children[i1]; } maskApplied = false; var _g21 = 0; while(_g21 < currentMasks.length) { var mask = currentMasks[_g21]; ++_g21; if(targetDepth > mask.depth && targetDepth <= mask.clipDepth) { child.set_mask(mask.displayObject); maskApplied = true; break; } } if(currentMasks.length > 0 && !maskApplied && child.get_mask() != null) { child.set_mask(null); } } var child1; var i2 = currentInstances.length; var length = this.__children.length; while(i2 < length) { child1 = this.__children[i2]; var _g6 = 0; var _g12 = this.__activeInstances; while(_g6 < _g12.length) { var instance3 = _g12[_g6]; ++_g6; if(instance3.displayObject == child1) { if(js_Boot.__instanceof(child1,openfl_display_MovieClip)) { var movie = child1; movie.gotoAndPlay(1); } this.removeChild(child1); --i2; --length; } } ++i2; } this.__lastFrameUpdate = this.__currentFrame; this.__updateInstanceFields(); } } ,__evaluateFrameScripts: function(advanceToFrame) { var _g1 = this.__currentFrame; var _g = advanceToFrame + 1; while(_g1 < _g) { var frame = _g1++; if(frame == this.__lastFrameScriptEval) { continue; } this.__lastFrameScriptEval = frame; this.__currentFrame = frame; if(this.__frameScripts.h.hasOwnProperty(frame)) { this.__updateSymbol(frame); var script = this.__frameScripts.h[frame]; script(); if(this.__currentFrame != frame) { return false; } } if(!this.__playing) { return false; } } return true; } ,__fromSymbol: function(swf,symbol) { if(this.__activeInstances != null) { return; } this.__swf = swf; this.__symbol = symbol; this.__activeInstances = []; this.__activeInstancesByFrameObjectID = new haxe_ds_IntMap(); this.__currentFrame = 1; this.__lastFrameScriptEval = -1; this.__lastFrameUpdate = -1; this.__totalFrames = this.__symbol.frames.length; var frame; var frameData; var parser = null; var _g1 = 0; var _g = this.__symbol.frames.length; while(_g1 < _g) { var i = _g1++; frame = i + 1; frameData = this.__symbol.frames[i]; if(frameData.label != null) { this.__currentLabels.push(new openfl_display_FrameLabel(frameData.label,i + 1)); } if(frameData.script != null) { if(this.__frameScripts == null) { this.__frameScripts = new haxe_ds_IntMap(); } this.__frameScripts.h[frame] = frameData.script; } else if(frameData.scriptSource != null) { if(this.__frameScripts == null) { this.__frameScripts = new haxe_ds_IntMap(); } try { if(parser == null) { parser = new hscript_Parser(); parser.allowTypes = true; } var program = [parser.parseString(frameData.scriptSource)]; var interp = [new hscript_Interp()]; var _this = interp[0].variables; if(__map_reserved["this"] != null) { _this.setReserved("this",this); } else { _this.h["this"] = this; } var script = (function(interp1,program1) { return function() { interp1[0].execute(program1[0]); }; })(interp,program); this.__frameScripts.h[frame] = script; } catch( e ) { haxe_CallStack.lastException = e; if(this.__symbol.className != null) { lime_utils_Log.warn("Unable to evaluate frame script source for symbol \"" + this.__symbol.className + "\" frame " + frame + "\n" + frameData.scriptSource,{ fileName : "MovieClip.hx", lineNumber : 734, className : "openfl.display.MovieClip", methodName : "__fromSymbol"}); } else { lime_utils_Log.warn("Unable to evaluate frame script source:\n" + frameData.scriptSource,{ fileName : "MovieClip.hx", lineNumber : 738, className : "openfl.display.MovieClip", methodName : "__fromSymbol"}); } } } } var frame1; var frameData1; var instance; var duplicate; var symbol1; var displayObject; var _g11 = 0; var _g2 = this.__totalFrames; while(_g11 < _g2) { var i1 = _g11++; frame1 = i1 + 1; frameData1 = this.__symbol.frames[i1]; if(frameData1.objects == null) { continue; } var _g21 = 0; var _g3 = frameData1.objects; while(_g21 < _g3.length) { var frameObject = _g3[_g21]; ++_g21; if(frameObject.type == openfl__$internal_symbols_timeline_FrameObjectType.CREATE) { if(this.__activeInstancesByFrameObjectID.h.hasOwnProperty(frameObject.id)) { continue; } else { instance = null; duplicate = false; var _g4 = 0; var _g5 = this.__activeInstances; while(_g4 < _g5.length) { var activeInstance = _g5[_g4]; ++_g4; if(activeInstance.displayObject != null && activeInstance.characterID == frameObject.symbol && activeInstance.depth == frameObject.depth) { instance = activeInstance; duplicate = true; break; } } } if(instance == null) { symbol1 = this.__swf.symbols.h[frameObject.symbol]; if(symbol1 != null) { displayObject = symbol1.__createObject(this.__swf); if(displayObject != null) { displayObject.parent = this; displayObject.stage = this.stage; if(this.stage != null) { displayObject.dispatchEvent(new openfl_events_Event("addedToStage",false,false)); } instance = new openfl_display__$MovieClip_FrameSymbolInstance(frame1,frameObject.id,frameObject.symbol,frameObject.depth,displayObject,frameObject.clipDepth); } } } if(instance != null) { this.__activeInstancesByFrameObjectID.h[frameObject.id] = instance; if(!duplicate) { this.__activeInstances.push(instance); this.__updateDisplayObject(instance.displayObject,frameObject); } } } } } if(this.__totalFrames > 1) { this.play(); } this.__enterFrame(0); this.__instanceFields = Type.getInstanceFields(js_Boot.getClass(this)); this.__updateInstanceFields(); } ,__getNextFrame: function(deltaTime) { var nextFrame = 0; this.__timeElapsed += deltaTime; nextFrame = this.__currentFrame + Math.floor(this.__timeElapsed / this.__frameTime); if(nextFrame < 1) { nextFrame = 1; } if(nextFrame > this.__totalFrames) { nextFrame = Math.floor((nextFrame - 1) % this.__totalFrames) + 1; } this.__timeElapsed %= this.__frameTime; return nextFrame; } ,__goto: function(frame) { if(this.__symbol == null) { return; } if(frame < 1) { frame = 1; } else if(frame > this.__totalFrames) { frame = this.__totalFrames; } this.__currentFrame = frame; this.__enterFrame(0); } ,__resolveFrameReference: function(frame) { if(typeof(frame) == "number" && ((frame | 0) === frame)) { return frame; } else if(typeof(frame) == "string") { var label = frame; var _g = 0; var _g1 = this.__currentLabels; while(_g < _g1.length) { var frameLabel = _g1[_g]; ++_g; if(frameLabel.get_name() == label) { return frameLabel.get_frame(); } } throw new js__$Boot_HaxeError(new openfl_errors_ArgumentError("Error #2109: Frame label " + label + " not found in scene.")); } else { throw new js__$Boot_HaxeError("Invalid type for frame " + Type.getClassName(frame)); } } ,__sortDepths: function(a,b) { return a.depth - b.depth; } ,__stopAllMovieClips: function() { openfl_display_Sprite.prototype.__stopAllMovieClips.call(this); this.stop(); } ,__tabTest: function(stack) { if(!this.__enabled) { return; } openfl_display_Sprite.prototype.__tabTest.call(this,stack); } ,__updateDisplayObject: function(displayObject,frameObject,reset) { if(reset == null) { reset = false; } if(displayObject == null) { return; } if(frameObject.name != null) { displayObject.set_name(frameObject.name); } if(frameObject.matrix != null) { displayObject.get_transform().set_matrix(frameObject.matrix); } if(frameObject.colorTransform != null) { displayObject.get_transform().set_colorTransform(frameObject.colorTransform); } else if(reset && !displayObject.get_transform().get_colorTransform().__isDefault(true)) { displayObject.get_transform().set_colorTransform(new openfl_geom_ColorTransform()); } if(frameObject.filters != null) { var filters = []; var _g = 0; var _g1 = frameObject.filters; while(_g < _g1.length) { var filter = _g1[_g]; ++_g; switch(filter[1]) { case 0: var quality = filter[4]; var blurY = filter[3]; var blurX = filter[2]; filters.push(new openfl_filters_BlurFilter(blurX,blurY,quality)); break; case 1: var matrix = filter[2]; filters.push(new openfl_filters_ColorMatrixFilter(matrix)); break; case 2: var hideObject = filter[12]; var knockout = filter[11]; var inner = filter[10]; var quality1 = filter[9]; var strength = filter[8]; var blurY1 = filter[7]; var blurX1 = filter[6]; var alpha = filter[5]; var color = filter[4]; var angle = filter[3]; var distance = filter[2]; filters.push(new openfl_filters_DropShadowFilter(distance,angle,color,alpha,blurX1,blurY1,strength,quality1,inner,knockout,hideObject)); break; case 3: var knockout1 = filter[9]; var inner1 = filter[8]; var quality2 = filter[7]; var strength1 = filter[6]; var blurY2 = filter[5]; var blurX2 = filter[4]; var alpha1 = filter[3]; var color1 = filter[2]; filters.push(new openfl_filters_GlowFilter(color1,alpha1,blurX2,blurY2,strength1,quality2,inner1,knockout1)); break; } } displayObject.set_filters(filters); } else { displayObject.set_filters(null); } if(frameObject.visible != null) { displayObject.set_visible(frameObject.visible); } if(frameObject.blendMode != null) { displayObject.set_blendMode(frameObject.blendMode); } var tmp = frameObject.cacheAsBitmap != null; } ,__updateFrameLabel: function() { this.__currentFrameLabel = this.__symbol.frames[this.__currentFrame - 1].label; if(this.__currentFrameLabel != null) { this.__currentLabel = this.__currentFrameLabel; } else { this.__currentLabel = null; var _g = 0; var _g1 = this.__currentLabels; while(_g < _g1.length) { var label = _g1[_g]; ++_g; if(label.get_frame() < this.__currentFrame) { this.__currentLabel = label.get_name(); } else { break; } } } } ,__updateInstanceFields: function() { var _g = 0; var _g1 = this.__instanceFields; while(_g < _g1.length) { var field = _g1[_g]; ++_g; var _g2 = 0; var _g3 = this.__children; while(_g2 < _g3.length) { var child = _g3[_g2]; ++_g2; if(child.get_name() == field) { this[field] = child; break; } } } } ,__onMouseDown: function(event) { if(this.__enabled && this.__hasDown) { this.gotoAndStop("_down"); } this.__mouseIsDown = true; this.stage.addEventListener("mouseUp",$bind(this,this.__onMouseUp),true); } ,__onMouseUp: function(event) { this.__mouseIsDown = false; if(this.stage != null) { this.stage.removeEventListener("mouseUp",$bind(this,this.__onMouseUp)); } if(event.target == this && this.__enabled && this.__hasOver) { this.gotoAndStop("_over"); } else if(this.__enabled && this.__hasUp) { this.gotoAndStop("_up"); } } ,__onRollOut: function(event) { if(!this.__enabled) { return; } if(this.__mouseIsDown && this.__hasOver) { this.gotoAndStop("_over"); } else if(this.__hasUp) { this.gotoAndStop("_up"); } } ,__onRollOver: function(event) { if(this.__enabled && this.__hasOver) { this.gotoAndStop("_over"); } } ,set_buttonMode: function(value) { if(this.__buttonMode != value) { if(value) { this.__hasDown = false; this.__hasOver = false; this.__hasUp = false; var _g = 0; var _g1 = this.__currentLabels; while(_g < _g1.length) { var frameLabel = _g1[_g]; ++_g; var _g2 = frameLabel.get_name(); switch(_g2) { case "_down": this.__hasDown = true; break; case "_over": this.__hasOver = true; break; case "_up": this.__hasUp = true; break; default: } } if(this.__hasDown || this.__hasOver || this.__hasUp) { this.addEventListener("rollOver",$bind(this,this.__onRollOver)); this.addEventListener("rollOut",$bind(this,this.__onRollOut)); this.addEventListener("mouseDown",$bind(this,this.__onMouseDown)); } } else { this.removeEventListener("rollOver",$bind(this,this.__onRollOver)); this.removeEventListener("rollOut",$bind(this,this.__onRollOut)); this.removeEventListener("mouseDown",$bind(this,this.__onMouseDown)); } this.__buttonMode = value; } return value; } ,get_currentFrame: function() { return this.__currentFrame; } ,get_currentFrameLabel: function() { return this.__currentFrameLabel; } ,get_currentLabel: function() { return this.__currentLabel; } ,get_currentLabels: function() { return this.__currentLabels; } ,get_enabled: function() { return this.__enabled; } ,set_enabled: function(value) { return this.__enabled = value; } ,get_framesLoaded: function() { return this.__totalFrames; } ,get_isPlaying: function() { return this.__playing; } ,get_totalFrames: function() { return this.__totalFrames; } ,__class__: openfl_display_MovieClip ,__properties__: $extend(openfl_display_Sprite.prototype.__properties__,{get_totalFrames:"get_totalFrames",get_isPlaying:"get_isPlaying",get_framesLoaded:"get_framesLoaded",set_enabled:"set_enabled",get_enabled:"get_enabled",get_currentLabels:"get_currentLabels",get_currentLabel:"get_currentLabel",get_currentFrameLabel:"get_currentFrameLabel",get_currentFrame:"get_currentFrame"}) }); var openfl_display__$MovieClip_FrameSymbolInstance = function(initFrame,initFrameObjectID,characterID,depth,displayObject,clipDepth) { this.initFrame = initFrame; this.initFrameObjectID = initFrameObjectID; this.characterID = characterID; this.depth = depth; this.displayObject = displayObject; this.clipDepth = clipDepth; }; $hxClasses["openfl.display._MovieClip.FrameSymbolInstance"] = openfl_display__$MovieClip_FrameSymbolInstance; openfl_display__$MovieClip_FrameSymbolInstance.__name__ = ["openfl","display","_MovieClip","FrameSymbolInstance"]; openfl_display__$MovieClip_FrameSymbolInstance.prototype = { characterID: null ,clipDepth: null ,depth: null ,displayObject: null ,initFrame: null ,initFrameObjectID: null ,__class__: openfl_display__$MovieClip_FrameSymbolInstance }; var openfl_display_OpenGLRenderer = function(context,defaultRenderTarget) { openfl_display_DisplayObjectRenderer.call(this); this.__context3D = context; this.__context = context.__context; this.gl = context.__context.webgl; this.__gl = this.gl; this.__defaultRenderTarget = defaultRenderTarget; this.__flipped = this.__defaultRenderTarget == null; if(openfl_display_Graphics.maxTextureWidth == null) { openfl_display_Graphics.maxTextureWidth = openfl_display_Graphics.maxTextureHeight = this.__gl.getParameter(this.__gl.MAX_TEXTURE_SIZE); } this.__matrix = lime_math__$Matrix4_Matrix4_$Impl_$._new(); this.__values = []; this.__softwareRenderer = new openfl_display_CanvasRenderer(null); this.__type = "opengl"; this.__setBlendMode(10); this.__context3D.__setGLBlend(true); this.__clipRects = []; this.__maskObjects = []; this.__numClipRects = 0; this.__projection = lime_math__$Matrix4_Matrix4_$Impl_$._new(); this.__projectionFlipped = lime_math__$Matrix4_Matrix4_$Impl_$._new(); this.__stencilReference = 0; this.__tempRect = new openfl_geom_Rectangle(); this.__defaultDisplayShader = new openfl_display_DisplayObjectShader(); this.__defaultGraphicsShader = new openfl_display_GraphicsShader(); this.__defaultShader = this.__defaultDisplayShader; this.__initShader(this.__defaultShader); this.__scrollRectMasks = new lime_utils_ObjectPool(function() { return new openfl_display_Shape(); }); this.__maskShader = new openfl__$internal_renderer_context3D_Context3DMaskShader(); }; $hxClasses["openfl.display.OpenGLRenderer"] = openfl_display_OpenGLRenderer; openfl_display_OpenGLRenderer.__name__ = ["openfl","display","OpenGLRenderer"]; openfl_display_OpenGLRenderer.__super__ = openfl_display_DisplayObjectRenderer; openfl_display_OpenGLRenderer.prototype = $extend(openfl_display_DisplayObjectRenderer.prototype,{ gl: null ,__context3D: null ,__clipRects: null ,__currentDisplayShader: null ,__currentGraphicsShader: null ,__currentRenderTarget: null ,__currentShader: null ,__currentShaderBuffer: null ,__defaultDisplayShader: null ,__defaultGraphicsShader: null ,__defaultRenderTarget: null ,__defaultShader: null ,__displayHeight: null ,__displayWidth: null ,__flipped: null ,__gl: null ,__height: null ,__maskShader: null ,__matrix: null ,__maskObjects: null ,__numClipRects: null ,__offsetX: null ,__offsetY: null ,__projection: null ,__projectionFlipped: null ,__scrollRectMasks: null ,__softwareRenderer: null ,__stencilReference: null ,__tempRect: null ,__updatedStencil: null ,__upscaled: null ,__values: null ,__width: null ,applyAlpha: function(alpha) { openfl_display_OpenGLRenderer.__alphaValue[0] = alpha; if(this.__currentShaderBuffer != null) { this.__currentShaderBuffer.addFloatOverride("openfl_Alpha",openfl_display_OpenGLRenderer.__alphaValue); } else if(this.__currentShader != null) { if(this.__currentShader.__alpha != null) { this.__currentShader.__alpha.value = openfl_display_OpenGLRenderer.__alphaValue; } } } ,applyBitmapData: function(bitmapData,smooth,repeat) { if(repeat == null) { repeat = false; } if(this.__currentShaderBuffer != null) { if(bitmapData != null) { openfl_display_OpenGLRenderer.__textureSizeValue[0] = bitmapData.__textureWidth; openfl_display_OpenGLRenderer.__textureSizeValue[1] = bitmapData.__textureHeight; this.__currentShaderBuffer.addFloatOverride("openfl_TextureSize",openfl_display_OpenGLRenderer.__textureSizeValue); } } else if(this.__currentShader != null) { if(this.__currentShader.__bitmap != null) { this.__currentShader.__bitmap.input = bitmapData; this.__currentShader.__bitmap.filter = smooth && this.__allowSmoothing ? 4 : 5; this.__currentShader.__bitmap.mipFilter = 2; this.__currentShader.__bitmap.wrap = repeat ? 2 : 0; } if(this.__currentShader.__texture != null) { this.__currentShader.__texture.input = bitmapData; this.__currentShader.__texture.filter = smooth && this.__allowSmoothing ? 4 : 5; this.__currentShader.__texture.mipFilter = 2; this.__currentShader.__texture.wrap = repeat ? 2 : 0; } if(this.__currentShader.__textureSize != null) { if(bitmapData != null) { openfl_display_OpenGLRenderer.__textureSizeValue[0] = bitmapData.__textureWidth; openfl_display_OpenGLRenderer.__textureSizeValue[1] = bitmapData.__textureHeight; this.__currentShader.__textureSize.value = openfl_display_OpenGLRenderer.__textureSizeValue; } else { this.__currentShader.__textureSize.value = null; } } } } ,applyColorTransform: function(colorTransform) { var enabled = colorTransform != null && !colorTransform.__isDefault(true); this.applyHasColorTransform(enabled); if(enabled) { colorTransform.__setArrays(openfl_display_OpenGLRenderer.__colorMultipliersValue,openfl_display_OpenGLRenderer.__colorOffsetsValue); if(this.__currentShaderBuffer != null) { this.__currentShaderBuffer.addFloatOverride("openfl_ColorMultiplier",openfl_display_OpenGLRenderer.__colorMultipliersValue); this.__currentShaderBuffer.addFloatOverride("openfl_ColorOffset",openfl_display_OpenGLRenderer.__colorOffsetsValue); } else if(this.__currentShader != null) { if(this.__currentShader.__colorMultiplier != null) { this.__currentShader.__colorMultiplier.value = openfl_display_OpenGLRenderer.__colorMultipliersValue; } if(this.__currentShader.__colorOffset != null) { this.__currentShader.__colorOffset.value = openfl_display_OpenGLRenderer.__colorOffsetsValue; } } } else if(this.__currentShaderBuffer != null) { this.__currentShaderBuffer.addFloatOverride("openfl_ColorMultiplier",openfl_display_OpenGLRenderer.__emptyColorValue); this.__currentShaderBuffer.addFloatOverride("openfl_ColorOffset",openfl_display_OpenGLRenderer.__emptyColorValue); } else if(this.__currentShader != null) { if(this.__currentShader.__colorMultiplier != null) { this.__currentShader.__colorMultiplier.value = openfl_display_OpenGLRenderer.__emptyColorValue; } if(this.__currentShader.__colorOffset != null) { this.__currentShader.__colorOffset.value = openfl_display_OpenGLRenderer.__emptyColorValue; } } } ,applyHasColorTransform: function(enabled) { openfl_display_OpenGLRenderer.__hasColorTransformValue[0] = enabled; if(this.__currentShaderBuffer != null) { this.__currentShaderBuffer.addBoolOverride("openfl_HasColorTransform",openfl_display_OpenGLRenderer.__hasColorTransformValue); } else if(this.__currentShader != null) { if(this.__currentShader.__hasColorTransform != null) { this.__currentShader.__hasColorTransform.value = openfl_display_OpenGLRenderer.__hasColorTransformValue; } } } ,applyMatrix: function(matrix) { if(this.__currentShaderBuffer != null) { this.__currentShaderBuffer.addFloatOverride("openfl_Matrix",matrix); } else if(this.__currentShader != null) { if(this.__currentShader.__matrix != null) { this.__currentShader.__matrix.value = matrix; } } } ,getMatrix: function(transform) { if(this.gl != null) { var values = this.__getMatrix(transform,1); var _g = 0; while(_g < 16) { var i = _g++; lime_math__$Matrix4_Matrix4_$Impl_$.set(this.__matrix,i,values[i]); } return this.__matrix; } else { lime_math__$Matrix4_Matrix4_$Impl_$.identity(this.__matrix); lime_math__$Matrix4_Matrix4_$Impl_$.set(this.__matrix,0,transform.a); lime_math__$Matrix4_Matrix4_$Impl_$.set(this.__matrix,1,transform.b); lime_math__$Matrix4_Matrix4_$Impl_$.set(this.__matrix,4,transform.c); lime_math__$Matrix4_Matrix4_$Impl_$.set(this.__matrix,5,transform.d); lime_math__$Matrix4_Matrix4_$Impl_$.set(this.__matrix,12,transform.tx); lime_math__$Matrix4_Matrix4_$Impl_$.set(this.__matrix,13,transform.ty); return this.__matrix; } } ,setShader: function(shader) { this.__currentShaderBuffer = null; if(this.__currentShader == shader) { return; } var tmp = this.__currentShader != null; if(shader == null) { this.__currentShader = null; this.__context3D.setProgram(null); return; } else { this.__currentShader = shader; this.__initShader(shader); this.__context3D.setProgram(shader.program); this.__context3D.__flushGLProgram(); this.__currentShader.__enable(); this.__context3D.__state.shader = shader; } } ,setViewport: function() { this.__gl.viewport(this.__offsetX,this.__offsetY,this.__displayWidth,this.__displayHeight); } ,updateShader: function() { if(this.__currentShader != null) { if(this.__currentShader.__position != null) { this.__currentShader.__position.__useArray = true; } if(this.__currentShader.__textureCoord != null) { this.__currentShader.__textureCoord.__useArray = true; } this.__context3D.setProgram(this.__currentShader.program); this.__context3D.__flushGLProgram(); this.__context3D.__flushGLTextures(); this.__currentShader.__update(); } } ,useAlphaArray: function() { if(this.__currentShader != null) { if(this.__currentShader.__alpha != null) { this.__currentShader.__alpha.__useArray = true; } } } ,useColorTransformArray: function() { if(this.__currentShader != null) { if(this.__currentShader.__colorMultiplier != null) { this.__currentShader.__colorMultiplier.__useArray = true; } if(this.__currentShader.__colorOffset != null) { this.__currentShader.__colorOffset.__useArray = true; } } } ,__cleanup: function() { if(this.__stencilReference > 0) { this.__stencilReference = 0; this.__context3D.setStencilActions(); this.__context3D.setStencilReferenceValue(0,0,0); } if(this.__numClipRects > 0) { this.__numClipRects = 0; this.__scissorRect(); } } ,__clear: function() { if(this.__stage == null || this.__stage.__transparent) { this.__context3D.clear(0,0,0,0,0,0,1); } else { this.__context3D.clear(this.__stage.__colorSplit[0],this.__stage.__colorSplit[1],this.__stage.__colorSplit[2],1,0,0,1); } this.__cleared = true; } ,__clearShader: function() { if(this.__currentShader != null) { if(this.__currentShaderBuffer == null) { if(this.__currentShader.__bitmap != null) { this.__currentShader.__bitmap.input = null; } } else { this.__currentShaderBuffer.clearOverride(); } if(this.__currentShader.__texture != null) { this.__currentShader.__texture.input = null; } if(this.__currentShader.__textureSize != null) { this.__currentShader.__textureSize.value = null; } if(this.__currentShader.__hasColorTransform != null) { this.__currentShader.__hasColorTransform.value = null; } if(this.__currentShader.__position != null) { this.__currentShader.__position.value = null; } if(this.__currentShader.__matrix != null) { this.__currentShader.__matrix.value = null; } this.__currentShader.__clearUseArray(); } } ,__copyShader: function(other) { this.__currentShader = other.__currentShader; this.__currentShaderBuffer = other.__currentShaderBuffer; this.__currentDisplayShader = other.__currentDisplayShader; this.__currentGraphicsShader = other.__currentGraphicsShader; } ,__getMatrix: function(transform,pixelSnapping) { var _matrix = openfl_geom_Matrix.__pool.get(); _matrix.copyFrom(transform); _matrix.concat(this.__worldTransform); if(pixelSnapping == 0 || pixelSnapping == 1 && _matrix.b == 0 && _matrix.c == 0 && (_matrix.a < 1.001 && _matrix.a > 0.999) && (_matrix.d < 1.001 && _matrix.d > 0.999)) { _matrix.tx = Math.round(_matrix.tx); _matrix.ty = Math.round(_matrix.ty); } lime_math__$Matrix4_Matrix4_$Impl_$.identity(this.__matrix); lime_math__$Matrix4_Matrix4_$Impl_$.set(this.__matrix,0,_matrix.a); lime_math__$Matrix4_Matrix4_$Impl_$.set(this.__matrix,1,_matrix.b); lime_math__$Matrix4_Matrix4_$Impl_$.set(this.__matrix,4,_matrix.c); lime_math__$Matrix4_Matrix4_$Impl_$.set(this.__matrix,5,_matrix.d); lime_math__$Matrix4_Matrix4_$Impl_$.set(this.__matrix,12,_matrix.tx); lime_math__$Matrix4_Matrix4_$Impl_$.set(this.__matrix,13,_matrix.ty); lime_math__$Matrix4_Matrix4_$Impl_$.append(this.__matrix,this.__flipped ? this.__projectionFlipped : this.__projection); var _g = 0; while(_g < 16) { var i = _g++; this.__values[i] = lime_math__$Matrix4_Matrix4_$Impl_$.get(this.__matrix,i); } openfl_geom_Matrix.__pool.release(_matrix); return this.__values; } ,__initShader: function(shader) { if(shader != null) { if(shader.__context == null) { shader.__context = this.__context3D; shader.__init(); } return shader; } return this.__defaultShader; } ,__initDisplayShader: function(shader) { if(shader != null) { if(shader.__context == null) { shader.__context = this.__context3D; shader.__init(); } return shader; } return this.__defaultDisplayShader; } ,__initGraphicsShader: function(shader) { if(shader != null) { if(shader.__context == null) { shader.__context = this.__context3D; shader.__init(); } return shader; } return this.__defaultGraphicsShader; } ,__initShaderBuffer: function(shaderBuffer) { if(shaderBuffer != null) { return this.__initGraphicsShader(shaderBuffer.shader); } return this.__defaultGraphicsShader; } ,__popMask: function() { if(this.__stencilReference == 0) { return; } var mask = this.__maskObjects.pop(); if(this.__stencilReference > 1) { this.__context3D.setStencilActions(2,1,0,0,5); this.__context3D.setStencilReferenceValue(this.__stencilReference,255,255); this.__context3D.setColorMask(false,false,false,false); mask.__renderGLMask(this); this.__stencilReference--; this.__context3D.setStencilActions(2,1,5,5,5); this.__context3D.setStencilReferenceValue(this.__stencilReference,255,0); this.__context3D.setColorMask(true,true,true,true); } else { this.__stencilReference = 0; this.__context3D.setStencilActions(); this.__context3D.setStencilReferenceValue(0,0,0); } } ,__popMaskObject: function(object,handleScrollRect) { if(handleScrollRect == null) { handleScrollRect = true; } if(object.__mask != null) { this.__popMask(); } if(handleScrollRect && object.__scrollRect != null) { if(object.__renderTransform.b != 0 || object.__renderTransform.c != 0) { this.__scrollRectMasks.release(this.__maskObjects[this.__maskObjects.length - 1]); this.__popMask(); } else { this.__popMaskRect(); } } } ,__popMaskRect: function() { if(this.__numClipRects > 0) { this.__numClipRects--; if(this.__numClipRects > 0) { this.__scissorRect(this.__clipRects[this.__numClipRects - 1]); } else { this.__scissorRect(); } } } ,__pushMask: function(mask) { if(this.__stencilReference == 0) { this.__context3D.clear(0,0,0,0,0,0,4); this.__updatedStencil = true; } this.__context3D.setStencilActions(2,1,2,5,5); this.__context3D.setStencilReferenceValue(this.__stencilReference,255,255); this.__context3D.setColorMask(false,false,false,false); mask.__renderGLMask(this); this.__maskObjects.push(mask); this.__stencilReference++; this.__context3D.setStencilActions(2,1,5,5,5); this.__context3D.setStencilReferenceValue(this.__stencilReference,255,0); this.__context3D.setColorMask(true,true,true,true); } ,__pushMaskObject: function(object,handleScrollRect) { if(handleScrollRect == null) { handleScrollRect = true; } if(handleScrollRect && object.__scrollRect != null) { if(object.__renderTransform.b != 0 || object.__renderTransform.c != 0) { var shape = this.__scrollRectMasks.get(); shape.get_graphics().clear(); shape.get_graphics().beginFill(65280); shape.get_graphics().drawRect(object.__scrollRect.x,object.__scrollRect.y,object.__scrollRect.width,object.__scrollRect.height); shape.__renderTransform.copyFrom(object.__renderTransform); this.__pushMask(shape); } else { this.__pushMaskRect(object.__scrollRect,object.__renderTransform); } } if(object.__mask != null) { this.__pushMask(object.__mask); } } ,__pushMaskRect: function(rect,transform) { if(this.__numClipRects == this.__clipRects.length) { this.__clipRects[this.__numClipRects] = new openfl_geom_Rectangle(); } var _matrix = openfl_geom_Matrix.__pool.get(); _matrix.copyFrom(transform); _matrix.concat(this.__worldTransform); var clipRect = this.__clipRects[this.__numClipRects]; rect.__transform(clipRect,_matrix); if(this.__numClipRects > 0) { var parentClipRect = this.__clipRects[this.__numClipRects - 1]; clipRect.__contract(parentClipRect.x,parentClipRect.y,parentClipRect.width,parentClipRect.height); } if(clipRect.height < 0) { clipRect.height = 0; } if(clipRect.width < 0) { clipRect.width = 0; } openfl_geom_Matrix.__pool.release(_matrix); this.__scissorRect(clipRect); this.__numClipRects++; } ,__render: function(object) { this.__context3D.setColorMask(true,true,true,true); this.__context3D.setCulling(3); this.__context3D.setDepthTest(false,0); this.__context3D.setStencilActions(); this.__context3D.setStencilReferenceValue(0,0,0); this.__context3D.setScissorRectangle(null); this.__blendMode = null; this.__setBlendMode(10); if(this.__defaultRenderTarget == null) { openfl_display_OpenGLRenderer.__scissorRectangle.setTo(this.__offsetX,this.__offsetY,this.__displayWidth,this.__displayHeight); this.__context3D.setScissorRectangle(openfl_display_OpenGLRenderer.__scissorRectangle); this.__upscaled = this.__worldTransform.a != 1 || this.__worldTransform.d != 1; object.__renderGL(this); if(this.__offsetX > 0 || this.__offsetY > 0) { if(this.__offsetX > 0) { openfl_display_OpenGLRenderer.__scissorRectangle.setTo(0,0,this.__offsetX,this.__height); this.__context3D.setScissorRectangle(openfl_display_OpenGLRenderer.__scissorRectangle); this.__context3D.__flushGL(); this.__gl.clearColor(0,0,0,1); this.__gl.clear(this.__gl.COLOR_BUFFER_BIT); openfl_display_OpenGLRenderer.__scissorRectangle.setTo(this.__offsetX + this.__displayWidth,0,this.__width,this.__height); this.__context3D.setScissorRectangle(openfl_display_OpenGLRenderer.__scissorRectangle); this.__context3D.__flushGL(); this.__gl.clearColor(0,0,0,1); this.__gl.clear(this.__gl.COLOR_BUFFER_BIT); } if(this.__offsetY > 0) { openfl_display_OpenGLRenderer.__scissorRectangle.setTo(0,0,this.__width,this.__offsetY); this.__context3D.setScissorRectangle(openfl_display_OpenGLRenderer.__scissorRectangle); this.__context3D.__flushGL(); this.__gl.clearColor(0,0,0,1); this.__gl.clear(this.__gl.COLOR_BUFFER_BIT); openfl_display_OpenGLRenderer.__scissorRectangle.setTo(0,this.__offsetY + this.__displayHeight,this.__width,this.__height); this.__context3D.setScissorRectangle(openfl_display_OpenGLRenderer.__scissorRectangle); this.__context3D.__flushGL(); this.__gl.clearColor(0,0,0,1); this.__gl.clear(this.__gl.COLOR_BUFFER_BIT); } this.__context3D.setScissorRectangle(null); } } else { openfl_display_OpenGLRenderer.__scissorRectangle.setTo(this.__offsetX,this.__offsetY,this.__displayWidth,this.__displayHeight); this.__context3D.setScissorRectangle(openfl_display_OpenGLRenderer.__scissorRectangle); var cacheMask = object.__mask; var cacheScrollRect = object.__scrollRect; object.__mask = null; object.__scrollRect = null; object.__renderGL(this); object.__mask = cacheMask; object.__scrollRect = cacheScrollRect; } this.__context3D.present(); } ,__renderFilterPass: function(source,shader,smooth,clear) { if(clear == null) { clear = true; } if(source == null || shader == null) { return; } if(this.__defaultRenderTarget == null) { return; } var cacheRTT = this.__context3D.__state.renderToTexture; var cacheRTTDepthStencil = this.__context3D.__state.renderToTextureDepthStencil; var cacheRTTAntiAlias = this.__context3D.__state.renderToTextureAntiAlias; var cacheRTTSurfaceSelector = this.__context3D.__state.renderToTextureSurfaceSelector; this.__context3D.setRenderToTexture(this.__defaultRenderTarget.getTexture(this.__context3D),false); if(clear) { this.__context3D.clear(0,0,0,0,0,0,1); } var shader1 = this.__initShader(shader); this.setShader(shader1); this.applyAlpha(1); this.applyBitmapData(source,smooth); this.applyColorTransform(null); this.applyMatrix(this.__getMatrix(source.__renderTransform,1)); this.updateShader(); var vertexBuffer = source.getVertexBuffer(this.__context3D); if(shader1.__position != null) { this.__context3D.setVertexBufferAt(shader1.__position.index,vertexBuffer,0,3); } if(shader1.__textureCoord != null) { this.__context3D.setVertexBufferAt(shader1.__textureCoord.index,vertexBuffer,3,2); } var indexBuffer = source.getIndexBuffer(this.__context3D); this.__context3D.drawTriangles(indexBuffer); if(cacheRTT != null) { this.__context3D.setRenderToTexture(cacheRTT,cacheRTTDepthStencil,cacheRTTAntiAlias,cacheRTTSurfaceSelector); } else { this.__context3D.setRenderToBackBuffer(); } this.__clearShader(); } ,__resize: function(width,height) { this.__width = width; this.__height = height; var w = this.__defaultRenderTarget == null ? this.__stage.stageWidth : this.__defaultRenderTarget.width; var h = this.__defaultRenderTarget == null ? this.__stage.stageHeight : this.__defaultRenderTarget.height; var tmp; if(this.__defaultRenderTarget == null) { var _this = this.__worldTransform; tmp = Math.round(0 * _this.a + 0 * _this.c + _this.tx); } else { tmp = 0; } this.__offsetX = tmp; var tmp1; if(this.__defaultRenderTarget == null) { var _this1 = this.__worldTransform; tmp1 = Math.round(0 * _this1.b + 0 * _this1.d + _this1.ty); } else { tmp1 = 0; } this.__offsetY = tmp1; var tmp2; if(this.__defaultRenderTarget == null) { var _this2 = this.__worldTransform; tmp2 = Math.round(w * _this2.a + 0 * _this2.c + _this2.tx - this.__offsetX); } else { tmp2 = w; } this.__displayWidth = tmp2; var tmp3; if(this.__defaultRenderTarget == null) { var _this3 = this.__worldTransform; tmp3 = Math.round(0 * _this3.b + h * _this3.d + _this3.ty - this.__offsetY); } else { tmp3 = h; } this.__displayHeight = tmp3; lime_math__$Matrix4_Matrix4_$Impl_$.createOrtho(this.__projection,0,this.__displayWidth + this.__offsetX * 2,0,this.__displayHeight + this.__offsetY * 2,-1000,1000); lime_math__$Matrix4_Matrix4_$Impl_$.createOrtho(this.__projectionFlipped,0,this.__displayWidth + this.__offsetX * 2,this.__displayHeight + this.__offsetY * 2,0,-1000,1000); } ,__resumeClipAndMask: function(childRenderer) { if(this.__stencilReference > 0) { this.__context3D.setStencilActions(2,1,5,5,5); this.__context3D.setStencilReferenceValue(this.__stencilReference,255,0); } else { this.__context3D.setStencilActions(); this.__context3D.setStencilReferenceValue(0,0,0); } if(this.__numClipRects > 0) { this.__scissorRect(this.__clipRects[this.__numClipRects - 1]); } else { this.__scissorRect(); } } ,__scissorRect: function(clipRect) { if(clipRect != null) { var x = Math.floor(clipRect.x); var y = Math.floor(clipRect.y); var width = clipRect.width > 0 ? Math.ceil(clipRect.get_right()) - x : 0; var height = clipRect.height > 0 ? Math.ceil(clipRect.get_bottom()) - y : 0; if(width < 0) { width = 0; } if(height < 0) { height = 0; } openfl_display_OpenGLRenderer.__scissorRectangle.setTo(x,y,width,height); this.__context3D.setScissorRectangle(openfl_display_OpenGLRenderer.__scissorRectangle); } else { this.__context3D.setScissorRectangle(null); } } ,__setBlendMode: function(value) { if(this.__overrideBlendMode != null) { value = this.__overrideBlendMode; } if(this.__blendMode == value) { return; } this.__blendMode = value; switch(value) { case 0: this.__context3D.setBlendFactors(2,2); break; case 9: this.__context3D.setBlendFactors(1,5); break; case 12: this.__context3D.setBlendFactors(2,6); break; case 14: this.__context3D.setBlendFactors(2,2); this.__context3D.__setGLBlendEquation(this.__gl.FUNC_REVERSE_SUBTRACT); break; default: this.__context3D.setBlendFactors(2,5); } } ,__setRenderTarget: function(renderTarget) { this.__defaultRenderTarget = renderTarget; this.__flipped = renderTarget == null; if(renderTarget != null) { this.__resize(renderTarget.width,renderTarget.height); } } ,__setShaderBuffer: function(shaderBuffer) { this.setShader(shaderBuffer.shader); this.__currentShaderBuffer = shaderBuffer; } ,__suspendClipAndMask: function() { if(this.__stencilReference > 0) { this.__context3D.setStencilActions(); this.__context3D.setStencilReferenceValue(0,0,0); } if(this.__numClipRects > 0) { this.__scissorRect(); } } ,__updateShaderBuffer: function(bufferOffset) { if(this.__currentShader != null && this.__currentShaderBuffer != null) { this.__currentShader.__updateFromBuffer(this.__currentShaderBuffer,bufferOffset); } } ,__class__: openfl_display_OpenGLRenderer }); var openfl_display_PNGEncoderOptions = function(fastCompression) { if(fastCompression == null) { fastCompression = false; } this.fastCompression = fastCompression; }; $hxClasses["openfl.display.PNGEncoderOptions"] = openfl_display_PNGEncoderOptions; openfl_display_PNGEncoderOptions.__name__ = ["openfl","display","PNGEncoderOptions"]; openfl_display_PNGEncoderOptions.prototype = { fastCompression: null ,__class__: openfl_display_PNGEncoderOptions }; var openfl_display__$PixelSnapping_PixelSnapping_$Impl_$ = {}; $hxClasses["openfl.display._PixelSnapping.PixelSnapping_Impl_"] = openfl_display__$PixelSnapping_PixelSnapping_$Impl_$; openfl_display__$PixelSnapping_PixelSnapping_$Impl_$.__name__ = ["openfl","display","_PixelSnapping","PixelSnapping_Impl_"]; openfl_display__$PixelSnapping_PixelSnapping_$Impl_$.fromString = function(value) { switch(value) { case "always": return 0; case "auto": return 1; case "never": return 2; default: return null; } }; openfl_display__$PixelSnapping_PixelSnapping_$Impl_$.toString = function(value) { switch(value) { case 0: return "always"; case 1: return "auto"; case 2: return "never"; default: return null; } }; var openfl_display_Preloader = function(display) { this.onComplete = new lime_app__$Event_$Void_$Void(); this.display = display; if(display != null) { display.addEventListener("unload",$bind(this,this.display_onUnload)); openfl_Lib.get_current().addChild(display); } }; $hxClasses["openfl.display.Preloader"] = openfl_display_Preloader; openfl_display_Preloader.__name__ = ["openfl","display","Preloader"]; openfl_display_Preloader.prototype = { onComplete: null ,complete: null ,display: null ,ready: null ,start: function() { this.ready = true; openfl_Lib.get_current().get_loaderInfo().__complete(); if(this.display != null) { var complete = new openfl_events_Event("complete",true,true); this.display.dispatchEvent(complete); if(!complete.isDefaultPrevented()) { this.display.dispatchEvent(new openfl_events_Event("unload")); } } else if(!this.complete) { this.complete = true; this.onComplete.dispatch(); } } ,update: function(loaded,total) { openfl_Lib.get_current().get_loaderInfo().__update(loaded,total); if(this.display != null) { this.display.dispatchEvent(new openfl_events_ProgressEvent("progress",true,true,loaded,total)); } } ,display_onUnload: function(event) { if(this.display != null) { this.display.removeEventListener("unload",$bind(this,this.display_onUnload)); if(this.display.parent == openfl_Lib.get_current()) { openfl_Lib.get_current().removeChild(this.display); } openfl_Lib.get_current().stage.set_focus(null); this.display = null; } if(this.ready) { if(!this.complete) { this.complete = true; this.onComplete.dispatch(); } } } ,__class__: openfl_display_Preloader }; var openfl_display_DefaultPreloader = function() { openfl_display_Sprite.call(this); var backgroundColor = this.getBackgroundColor(); var r = backgroundColor >> 16 & 255; var g = backgroundColor >> 8 & 255; var b = backgroundColor & 255; var perceivedLuminosity = 0.299 * r + 0.587 * g + 0.114 * b; var color = 0; if(perceivedLuminosity < 70) { color = 16777215; } var x = 30; var height = 7; var y = this.getHeight() / 2 - height / 2; var width = this.getWidth() - x * 2; var padding = 2; this.outline = new openfl_display_Sprite(); this.outline.get_graphics().beginFill(color,0.07); this.outline.get_graphics().drawRect(0,0,width,height); this.outline.set_x(x); this.outline.set_y(y); this.outline.set_alpha(0); this.addChild(this.outline); this.progress = new openfl_display_Sprite(); this.progress.get_graphics().beginFill(color,0.35); this.progress.get_graphics().drawRect(0,0,width - padding * 2,height - padding * 2); this.progress.set_x(x + padding); this.progress.set_y(y + padding); this.progress.set_scaleX(0); this.progress.set_alpha(0); this.addChild(this.progress); this.startAnimation = openfl_Lib.getTimer() + 100; this.endAnimation = this.startAnimation + 1000; this.addEventListener("addedToStage",$bind(this,this.this_onAddedToStage)); }; $hxClasses["openfl.display.DefaultPreloader"] = openfl_display_DefaultPreloader; openfl_display_DefaultPreloader.__name__ = ["openfl","display","DefaultPreloader"]; openfl_display_DefaultPreloader.__super__ = openfl_display_Sprite; openfl_display_DefaultPreloader.prototype = $extend(openfl_display_Sprite.prototype,{ endAnimation: null ,outline: null ,progress: null ,startAnimation: null ,getBackgroundColor: function() { var attributes = openfl_Lib.get_current().stage.window.context.attributes; if(Object.prototype.hasOwnProperty.call(attributes,"background") && attributes.background != null) { return attributes.background; } else { return 0; } } ,getHeight: function() { var height = openfl_Lib.get_current().stage.window.__height; if(height > 0) { return height; } else { return openfl_Lib.get_current().stage.stageHeight; } } ,getWidth: function() { var width = openfl_Lib.get_current().stage.window.__width; if(width > 0) { return width; } else { return openfl_Lib.get_current().stage.stageWidth; } } ,onInit: function() { this.addEventListener("enterFrame",$bind(this,this.this_onEnterFrame)); } ,onLoaded: function() { this.removeEventListener("enterFrame",$bind(this,this.this_onEnterFrame)); this.dispatchEvent(new openfl_events_Event("unload")); } ,onUpdate: function(bytesLoaded,bytesTotal) { var percentLoaded = 0.0; if(bytesTotal > 0) { percentLoaded = bytesLoaded / bytesTotal; if(percentLoaded > 1) { percentLoaded = 1; } } this.progress.set_scaleX(percentLoaded); } ,this_onAddedToStage: function(event) { this.removeEventListener("addedToStage",$bind(this,this.this_onAddedToStage)); this.onInit(); this.onUpdate(this.get_loaderInfo().bytesLoaded,this.get_loaderInfo().bytesTotal); this.addEventListener("progress",$bind(this,this.this_onProgress)); this.addEventListener("complete",$bind(this,this.this_onComplete)); } ,this_onComplete: function(event) { event.preventDefault(); this.removeEventListener("progress",$bind(this,this.this_onProgress)); this.removeEventListener("complete",$bind(this,this.this_onComplete)); this.onLoaded(); } ,this_onEnterFrame: function(event) { var elapsed = openfl_Lib.getTimer() - this.startAnimation; var total = this.endAnimation - this.startAnimation; var percent = elapsed / total; if(percent < 0) { percent = 0; } if(percent > 1) { percent = 1; } this.outline.set_alpha(percent); this.progress.set_alpha(percent); } ,this_onProgress: function(event) { this.onUpdate(event.bytesLoaded | 0,event.bytesTotal | 0); } ,__class__: openfl_display_DefaultPreloader }); var openfl_display__$ShaderData_ShaderData_$Impl_$ = {}; $hxClasses["openfl.display._ShaderData.ShaderData_Impl_"] = openfl_display__$ShaderData_ShaderData_$Impl_$; openfl_display__$ShaderData_ShaderData_$Impl_$.__name__ = ["openfl","display","_ShaderData","ShaderData_Impl_"]; openfl_display__$ShaderData_ShaderData_$Impl_$._new = function(byteArray) { var this1 = { }; return this1; }; var openfl_display_ShaderInput = function() { this.channels = 0; this.filter = 5; this.height = 0; this.index = 0; this.mipFilter = 2; this.width = 0; this.wrap = 0; }; $hxClasses["openfl.display.ShaderInput"] = openfl_display_ShaderInput; openfl_display_ShaderInput.__name__ = ["openfl","display","ShaderInput"]; openfl_display_ShaderInput.prototype = { channels: null ,filter: null ,height: null ,index: null ,input: null ,mipFilter: null ,name: null ,width: null ,wrap: null ,__isUniform: null ,__disableGL: function(context,id) { var gl = context.gl; context.setTextureAt(id,null); } ,__updateGL: function(context,id,overrideInput,overrideFilter,overrideMipFilter,overrideWrap) { var gl = context.gl; var input = overrideInput != null ? overrideInput : this.input; var filter = overrideFilter != null ? overrideFilter : this.filter; var mipFilter = overrideMipFilter != null ? overrideMipFilter : this.mipFilter; var wrap = overrideWrap != null ? overrideWrap : this.wrap; if(input != null) { var bitmapData = input; context.setTextureAt(id,bitmapData.getTexture(context)); context.setSamplerStateAt(id,wrap,filter,mipFilter); } else { context.setTextureAt(id,null); } } ,__class__: openfl_display_ShaderInput }; var openfl_display_ShaderParameter = function() { this.index = 0; }; $hxClasses["openfl.display.ShaderParameter"] = openfl_display_ShaderParameter; openfl_display_ShaderParameter.__name__ = ["openfl","display","ShaderParameter"]; openfl_display_ShaderParameter.prototype = { index: null ,name: null ,type: null ,value: null ,__arrayLength: null ,__internal: null ,__isBool: null ,__isFloat: null ,__isInt: null ,__isUniform: null ,__length: null ,__uniformMatrix: null ,__useArray: null ,__disableGL: function(context) { var gl = context.gl; if(!this.__isUniform) { var _g1 = 0; var _g = this.__arrayLength; while(_g1 < _g) { var i = _g1++; gl.disableVertexAttribArray(this.index + i); } } } ,__updateGL: function(context,overrideValue) { var gl = context.gl; var value = overrideValue != null ? overrideValue : this.value; var boolValue = this.__isBool ? value : null; var floatValue = this.__isFloat ? value : null; var intValue = this.__isInt ? value : null; if(this.__isUniform) { if(value != null && value.length >= this.__length) { var _g = this.type; switch(_g) { case 0: gl.uniform1i(this.index,boolValue[0] ? 1 : 0); break; case 1: gl.uniform2i(this.index,boolValue[0] ? 1 : 0,boolValue[1] ? 1 : 0); break; case 2: gl.uniform3i(this.index,boolValue[0] ? 1 : 0,boolValue[1] ? 1 : 0,boolValue[2] ? 1 : 0); break; case 3: gl.uniform4i(this.index,boolValue[0] ? 1 : 0,boolValue[1] ? 1 : 0,boolValue[2] ? 1 : 0,boolValue[3] ? 1 : 0); break; case 4: gl.uniform1f(this.index,floatValue[0]); break; case 5: gl.uniform2f(this.index,floatValue[0],floatValue[1]); break; case 6: gl.uniform3f(this.index,floatValue[0],floatValue[1],floatValue[2]); break; case 7: gl.uniform4f(this.index,floatValue[0],floatValue[1],floatValue[2],floatValue[3]); break; case 8: gl.uniform1i(this.index,intValue[0]); break; case 9: gl.uniform2i(this.index,intValue[0],intValue[1]); break; case 10: gl.uniform3i(this.index,intValue[0],intValue[1],intValue[2]); break; case 11: gl.uniform4i(this.index,intValue[0],intValue[1],intValue[2],intValue[3]); break; case 12: var _g1 = 0; while(_g1 < 4) { var i = _g1++; this.__uniformMatrix[i] = floatValue[i]; } lime_graphics__$WebGLRenderContext_WebGLRenderContext_$Impl_$.uniformMatrix2fv(gl,this.index,false,this.__uniformMatrix); break; case 16: var _g2 = 0; while(_g2 < 9) { var i1 = _g2++; this.__uniformMatrix[i1] = floatValue[i1]; } lime_graphics__$WebGLRenderContext_WebGLRenderContext_$Impl_$.uniformMatrix3fv(gl,this.index,false,this.__uniformMatrix); break; case 20: var _g3 = 0; while(_g3 < 16) { var i2 = _g3++; this.__uniformMatrix[i2] = floatValue[i2]; } lime_graphics__$WebGLRenderContext_WebGLRenderContext_$Impl_$.uniformMatrix4fv(gl,this.index,false,this.__uniformMatrix); break; default: } } else { var _g4 = this.type; switch(_g4) { case 1:case 9: gl.uniform2i(this.index,0,0); break; case 3:case 11: gl.uniform4i(this.index,0,0,0,0); break; case 4: gl.uniform1f(this.index,0); break; case 5: gl.uniform2f(this.index,0,0); break; case 6: gl.uniform3f(this.index,0,0,0); break; case 7: gl.uniform4f(this.index,0,0,0,0); break; case 0:case 8: gl.uniform1i(this.index,0); break; case 2:case 10: gl.uniform3i(this.index,0,0,0); break; case 12: var _g5 = 0; while(_g5 < 4) { var i3 = _g5++; this.__uniformMatrix[i3] = 0; } lime_graphics__$WebGLRenderContext_WebGLRenderContext_$Impl_$.uniformMatrix2fv(gl,this.index,false,this.__uniformMatrix); break; case 16: var _g6 = 0; while(_g6 < 9) { var i4 = _g6++; this.__uniformMatrix[i4] = 0; } lime_graphics__$WebGLRenderContext_WebGLRenderContext_$Impl_$.uniformMatrix3fv(gl,this.index,false,this.__uniformMatrix); break; case 20: var _g7 = 0; while(_g7 < 16) { var i5 = _g7++; this.__uniformMatrix[i5] = 0; } lime_graphics__$WebGLRenderContext_WebGLRenderContext_$Impl_$.uniformMatrix4fv(gl,this.index,false,this.__uniformMatrix); break; default: } } } else if(!this.__useArray && (value == null || value.length == this.__length)) { var _g11 = 0; var _g8 = this.__arrayLength; while(_g11 < _g8) { var i6 = _g11++; gl.disableVertexAttribArray(this.index + i6); } if(value != null) { var _g9 = this.type; switch(_g9) { case 0: gl.vertexAttrib1f(this.index,boolValue[0] ? 1 : 0); break; case 1: gl.vertexAttrib2f(this.index,boolValue[0] ? 1 : 0,boolValue[1] ? 1 : 0); break; case 2: gl.vertexAttrib3f(this.index,boolValue[0] ? 1 : 0,boolValue[1] ? 1 : 0,boolValue[2] ? 1 : 0); break; case 3: gl.vertexAttrib4f(this.index,boolValue[0] ? 1 : 0,boolValue[1] ? 1 : 0,boolValue[2] ? 1 : 0,boolValue[3] ? 1 : 0); break; case 4: gl.vertexAttrib1f(this.index,floatValue[0]); break; case 5: gl.vertexAttrib2f(this.index,floatValue[0],floatValue[1]); break; case 6: gl.vertexAttrib3f(this.index,floatValue[0],floatValue[1],floatValue[2]); break; case 7: gl.vertexAttrib4f(this.index,floatValue[0],floatValue[1],floatValue[2],floatValue[3]); break; case 8: gl.vertexAttrib1f(this.index,intValue[0]); break; case 9: gl.vertexAttrib2f(this.index,intValue[0],intValue[1]); break; case 10: gl.vertexAttrib3f(this.index,intValue[0],intValue[1],intValue[2]); break; case 11: gl.vertexAttrib4f(this.index,intValue[0],intValue[1],intValue[2],intValue[3]); break; case 12: var _g10 = 0; while(_g10 < 2) { var i7 = _g10++; gl.vertexAttrib2f(this.index + i7,floatValue[i7 * 2],floatValue[i7 * 2 + 1]); } break; case 16: var _g12 = 0; while(_g12 < 3) { var i8 = _g12++; gl.vertexAttrib3f(this.index + i8,floatValue[i8 * 3],floatValue[i8 * 3 + 1],floatValue[i8 * 3 + 2]); } break; case 20: var _g13 = 0; while(_g13 < 4) { var i9 = _g13++; gl.vertexAttrib4f(this.index + i9,floatValue[i9 * 4],floatValue[i9 * 4 + 1],floatValue[i9 * 4 + 2],floatValue[i9 * 4 + 3]); } break; default: } } else { var _g14 = this.type; switch(_g14) { case 1:case 5:case 9: gl.vertexAttrib2f(this.index,0,0); break; case 3:case 7:case 11: gl.vertexAttrib4f(this.index,0,0,0,0); break; case 0:case 4:case 8: gl.vertexAttrib1f(this.index,0); break; case 2:case 6:case 10: gl.vertexAttrib3f(this.index,0,0,0); break; case 12: var _g15 = 0; while(_g15 < 2) { var i10 = _g15++; gl.vertexAttrib2f(this.index + i10,0,0); } break; case 16: var _g16 = 0; while(_g16 < 3) { var i11 = _g16++; gl.vertexAttrib3f(this.index + i11,0,0,0); } break; case 20: var _g17 = 0; while(_g17 < 4) { var i12 = _g17++; gl.vertexAttrib4f(this.index + i12,0,0,0,0); } break; default: } } } else { var _g18 = 0; var _g19 = this.__arrayLength; while(_g18 < _g19) { var i13 = _g18++; gl.enableVertexAttribArray(this.index + i13); } } } ,__updateGLFromBuffer: function(context,buffer,position,length,bufferOffset) { var gl = context.gl; if(this.__isUniform) { if(length >= this.__length) { var _g = this.type; switch(_g) { case 1:case 9: gl.uniform2i(this.index,buffer[position] | 0,buffer[position + 1] | 0); break; case 3:case 11: gl.uniform4i(this.index,buffer[position] | 0,buffer[position + 1] | 0,buffer[position + 2] | 0,buffer[position + 3] | 0); break; case 4: gl.uniform1f(this.index,buffer[position]); break; case 5: gl.uniform2f(this.index,buffer[position],buffer[position + 1]); break; case 6: gl.uniform3f(this.index,buffer[position],buffer[position + 1],buffer[position + 2]); break; case 7: gl.uniform4f(this.index,buffer[position],buffer[position + 1],buffer[position + 2],buffer[position + 3]); break; case 0:case 8: gl.uniform1i(this.index,buffer[position] | 0); break; case 2:case 10: gl.uniform3i(this.index,buffer[position] | 0,buffer[position + 1] | 0,buffer[position + 2] | 0); break; case 12: var _g1 = 0; while(_g1 < 4) { var i = _g1++; this.__uniformMatrix[i] = buffer[position + i]; } lime_graphics__$WebGLRenderContext_WebGLRenderContext_$Impl_$.uniformMatrix2fv(gl,this.index,false,this.__uniformMatrix); break; case 16: var _g2 = 0; while(_g2 < 9) { var i1 = _g2++; this.__uniformMatrix[i1] = buffer[position + i1]; } lime_graphics__$WebGLRenderContext_WebGLRenderContext_$Impl_$.uniformMatrix3fv(gl,this.index,false,this.__uniformMatrix); break; case 20: var _g3 = 0; while(_g3 < 16) { var i2 = _g3++; this.__uniformMatrix[i2] = buffer[position + i2]; } lime_graphics__$WebGLRenderContext_WebGLRenderContext_$Impl_$.uniformMatrix4fv(gl,this.index,false,this.__uniformMatrix); break; default: } } } else if(!this.__internal && (length == 0 || length == this.__length)) { var _g11 = 0; var _g4 = this.__arrayLength; while(_g11 < _g4) { var i3 = _g11++; gl.disableVertexAttribArray(this.index + i3); } if(length > 0) { var _g5 = this.type; switch(_g5) { case 1:case 5:case 9: gl.vertexAttrib2f(this.index,buffer[position],buffer[position + 1]); break; case 3:case 7:case 11: gl.vertexAttrib4f(this.index,buffer[position],buffer[position + 1],buffer[position + 2],buffer[position + 3]); break; case 0:case 4:case 8: gl.vertexAttrib1f(this.index,buffer[position]); break; case 2:case 6:case 10: gl.vertexAttrib3f(this.index,buffer[position],buffer[position + 1],buffer[position + 2]); break; case 12: var _g6 = 0; while(_g6 < 2) { var i4 = _g6++; gl.vertexAttrib2f(this.index + i4,buffer[position + i4 * 2],buffer[position + i4 * 2 + 1]); } break; case 16: var _g7 = 0; while(_g7 < 3) { var i5 = _g7++; gl.vertexAttrib3f(this.index + i5,buffer[position + i5 * 3],buffer[position + i5 * 3 + 1],buffer[position + i5 * 3 + 2]); } break; case 20: var _g8 = 0; while(_g8 < 4) { var i6 = _g8++; gl.vertexAttrib4f(this.index + i6,buffer[position + i6 * 4],buffer[position + i6 * 4 + 1],buffer[position + i6 * 4 + 2],buffer[position + i6 * 4 + 3]); } break; default: } } else { var _g9 = this.type; switch(_g9) { case 1:case 5:case 9: gl.vertexAttrib2f(this.index,0,0); break; case 3:case 7:case 11: gl.vertexAttrib4f(this.index,0,0,0,0); break; case 0:case 4:case 8: gl.vertexAttrib1f(this.index,0); break; case 2:case 6:case 10: gl.vertexAttrib3f(this.index,0,0,0); break; case 12: var _g10 = 0; while(_g10 < 2) { var i7 = _g10++; gl.vertexAttrib2f(this.index + i7,0,0); } break; case 16: var _g12 = 0; while(_g12 < 3) { var i8 = _g12++; gl.vertexAttrib3f(this.index + i8,0,0,0); } break; case 20: var _g13 = 0; while(_g13 < 4) { var i9 = _g13++; gl.vertexAttrib4f(this.index + i9,0,0,0,0); } break; default: } } } else { var type = gl.FLOAT; if(this.__isBool) { type = gl.INT; } else if(this.__isInt) { type = gl.INT; } var _g14 = 0; var _g15 = this.__arrayLength; while(_g14 < _g15) { var i10 = _g14++; gl.enableVertexAttribArray(this.index + i10); } if(length > 0) { var _g16 = 0; var _g17 = this.__arrayLength; while(_g16 < _g17) { var i11 = _g16++; gl.vertexAttribPointer(this.index + i11,this.__length,type,false,this.__length * 4,(position + bufferOffset * this.__length + i11 * this.__arrayLength) * 4); } } } } ,set_name: function(value) { this.__internal = StringTools.startsWith(value,"openfl_"); return this.name = value; } ,__class__: openfl_display_ShaderParameter ,__properties__: {set_name:"set_name"} }; var openfl_display__$ShaderParameterType_ShaderParameterType_$Impl_$ = {}; $hxClasses["openfl.display._ShaderParameterType.ShaderParameterType_Impl_"] = openfl_display__$ShaderParameterType_ShaderParameterType_$Impl_$; openfl_display__$ShaderParameterType_ShaderParameterType_$Impl_$.__name__ = ["openfl","display","_ShaderParameterType","ShaderParameterType_Impl_"]; openfl_display__$ShaderParameterType_ShaderParameterType_$Impl_$.fromString = function(value) { switch(value) { case "bool": return 0; case "bool2": return 1; case "bool3": return 1; case "bool4": return 1; case "float": return 4; case "float2": return 5; case "float3": return 6; case "float4": return 7; case "int": return 8; case "int2": return 9; case "int3": return 10; case "int4": return 11; case "matrix2x2": return 12; case "matrix2x3": return 13; case "matrix2x4": return 14; case "matrix3x2": return 15; case "matrix3x3": return 16; case "matrix3x4": return 17; case "matrix4x2": return 18; case "matrix4x3": return 19; case "matrix4x4": return 20; default: return null; } }; openfl_display__$ShaderParameterType_ShaderParameterType_$Impl_$.toString = function(value) { switch(value) { case 0: return "bool"; case 1: return "bool2"; case 2: return "bool3"; case 3: return "bool4"; case 4: return "float"; case 5: return "float2"; case 6: return "float3"; case 7: return "float4"; case 8: return "int"; case 9: return "int2"; case 10: return "int3"; case 11: return "int4"; case 12: return "matrix2x2"; case 13: return "matrix2x3"; case 14: return "matrix2x4"; case 15: return "matrix3x2"; case 16: return "matrix3x3"; case 17: return "matrix3x4"; case 18: return "matrix4x2"; case 19: return "matrix4x3"; case 20: return "matrix4x4"; default: return null; } }; var openfl_display__$ShaderPrecision_ShaderPrecision_$Impl_$ = {}; $hxClasses["openfl.display._ShaderPrecision.ShaderPrecision_Impl_"] = openfl_display__$ShaderPrecision_ShaderPrecision_$Impl_$; openfl_display__$ShaderPrecision_ShaderPrecision_$Impl_$.__name__ = ["openfl","display","_ShaderPrecision","ShaderPrecision_Impl_"]; openfl_display__$ShaderPrecision_ShaderPrecision_$Impl_$.fromString = function(value) { switch(value) { case "fast": return 0; case "full": return 1; default: return null; } }; openfl_display__$ShaderPrecision_ShaderPrecision_$Impl_$.toString = function(value) { switch(value) { case 0: return "fast"; case 1: return "full"; default: return null; } }; var openfl_display_Shape = function() { openfl_display_DisplayObject.call(this); }; $hxClasses["openfl.display.Shape"] = openfl_display_Shape; openfl_display_Shape.__name__ = ["openfl","display","Shape"]; openfl_display_Shape.__super__ = openfl_display_DisplayObject; openfl_display_Shape.prototype = $extend(openfl_display_DisplayObject.prototype,{ get_graphics: function() { if(this.__graphics == null) { this.__graphics = new openfl_display_Graphics(this); } return this.__graphics; } ,__class__: openfl_display_Shape ,__properties__: $extend(openfl_display_DisplayObject.prototype.__properties__,{get_graphics:"get_graphics"}) }); var openfl_display_SimpleButton = function(upState,overState,downState,hitTestState) { openfl_display_InteractiveObject.call(this); this.enabled = true; this.trackAsMenu = false; this.useHandCursor = true; this.__upState = upState != null ? upState : new openfl_display_DisplayObject(); this.__overState = overState; this.__downState = downState; this.set_hitTestState(hitTestState != null ? hitTestState : new openfl_display_DisplayObject()); this.addEventListener("mouseDown",$bind(this,this.__this_onMouseDown)); this.addEventListener("mouseOut",$bind(this,this.__this_onMouseOut)); this.addEventListener("mouseOver",$bind(this,this.__this_onMouseOver)); this.addEventListener("mouseUp",$bind(this,this.__this_onMouseUp)); this.__tabEnabled = true; this.set___currentState(this.__upState); if(openfl_display_SimpleButton.__initSymbol != null) { var swf = openfl_display_SimpleButton.__initSWF; this.__symbol = openfl_display_SimpleButton.__initSymbol; openfl_display_SimpleButton.__initSWF = null; openfl_display_SimpleButton.__initSymbol = null; this.__fromSymbol(swf,this.__symbol); } }; $hxClasses["openfl.display.SimpleButton"] = openfl_display_SimpleButton; openfl_display_SimpleButton.__name__ = ["openfl","display","SimpleButton"]; openfl_display_SimpleButton.__initSWF = null; openfl_display_SimpleButton.__initSymbol = null; openfl_display_SimpleButton.__super__ = openfl_display_InteractiveObject; openfl_display_SimpleButton.prototype = $extend(openfl_display_InteractiveObject.prototype,{ enabled: null ,trackAsMenu: null ,useHandCursor: null ,__currentState: null ,__downState: null ,__hitTestState: null ,__ignoreEvent: null ,__overState: null ,__previousStates: null ,__soundTransform: null ,__symbol: null ,__upState: null ,__fromSymbol: function(swf,symbol) { this.__symbol = symbol; if(symbol.downState != null) { this.set_downState(symbol.downState.__createObject(swf)); } if(symbol.hitState != null) { this.set_hitTestState(symbol.hitState.__createObject(swf)); } if(symbol.overState != null) { this.set_overState(symbol.overState.__createObject(swf)); } if(symbol.upState != null) { this.set_upState(symbol.upState.__createObject(swf)); } } ,__getBounds: function(rect,matrix) { openfl_display_InteractiveObject.prototype.__getBounds.call(this,rect,matrix); var childWorldTransform = openfl_geom_Matrix.__pool.get(); var local = this.__currentState.__transform; childWorldTransform.a = local.a * matrix.a + local.b * matrix.c; childWorldTransform.b = local.a * matrix.b + local.b * matrix.d; childWorldTransform.c = local.c * matrix.a + local.d * matrix.c; childWorldTransform.d = local.c * matrix.b + local.d * matrix.d; childWorldTransform.tx = local.tx * matrix.a + local.ty * matrix.c + matrix.tx; childWorldTransform.ty = local.tx * matrix.b + local.ty * matrix.d + matrix.ty; this.__currentState.__getBounds(rect,childWorldTransform); openfl_geom_Matrix.__pool.release(childWorldTransform); } ,__getRenderBounds: function(rect,matrix) { if(this.__scrollRect != null) { openfl_display_InteractiveObject.prototype.__getRenderBounds.call(this,rect,matrix); return; } else { openfl_display_InteractiveObject.prototype.__getBounds.call(this,rect,matrix); } var childWorldTransform = openfl_geom_Matrix.__pool.get(); var local = this.__currentState.__transform; childWorldTransform.a = local.a * matrix.a + local.b * matrix.c; childWorldTransform.b = local.a * matrix.b + local.b * matrix.d; childWorldTransform.c = local.c * matrix.a + local.d * matrix.c; childWorldTransform.d = local.c * matrix.b + local.d * matrix.d; childWorldTransform.tx = local.tx * matrix.a + local.ty * matrix.c + matrix.tx; childWorldTransform.ty = local.tx * matrix.b + local.ty * matrix.d + matrix.ty; this.__currentState.__getRenderBounds(rect,childWorldTransform); openfl_geom_Matrix.__pool.release(childWorldTransform); } ,__getCursor: function() { if(this.useHandCursor && !this.__ignoreEvent && this.enabled) { return "button"; } else { return null; } } ,__hitTest: function(x,y,shapeFlag,stack,interactiveOnly,hitObject) { var hitTest = false; if(this.get_hitTestState() != null) { if(this.get_hitTestState().__hitTest(x,y,shapeFlag,stack,interactiveOnly,hitObject)) { if(stack != null) { if(stack.length == 0) { stack[0] = hitObject; } else { stack[stack.length - 1] = hitObject; } } if(!(!interactiveOnly)) { hitTest = this.mouseEnabled; } else { hitTest = true; } } } else if(this.__currentState != null) { if(!hitObject.get_visible() || this.__isMask || interactiveOnly && !this.mouseEnabled) { return false; } if(this.get_mask() != null && !this.get_mask().__hitTestMask(x,y)) { return false; } if(this.__currentState.__hitTest(x,y,shapeFlag,stack,interactiveOnly,hitObject)) { hitTest = interactiveOnly; } } if(stack != null) { while(stack.length > 1 && stack[stack.length - 1] == stack[stack.length - 2]) stack.pop(); } return hitTest; } ,__hitTestMask: function(x,y) { var hitTest = false; if(this.__currentState.__hitTestMask(x,y)) { hitTest = true; } return hitTest; } ,__renderCairo: function(renderer) { if(!this.__renderable || this.__worldAlpha <= 0 || this.__currentState == null) { return; } renderer.__pushMaskObject(this); this.__currentState.__renderCairo(renderer); renderer.__popMaskObject(this); this.__renderEvent(renderer); } ,__renderCairoMask: function(renderer) { this.__currentState.__renderCairoMask(renderer); } ,__renderCanvas: function(renderer) { if(!this.__renderable || this.__worldAlpha <= 0 || this.__currentState == null) { return; } renderer.__pushMaskObject(this); this.__currentState.__renderCanvas(renderer); renderer.__popMaskObject(this); this.__renderEvent(renderer); } ,__renderCanvasMask: function(renderer) { this.__currentState.__renderCanvasMask(renderer); } ,__renderDOM: function(renderer) { renderer.__pushMaskObject(this); var _g = 0; var _g1 = this.__previousStates; while(_g < _g1.get_length()) { var previousState = _g1.get(_g); ++_g; previousState.__renderDOM(renderer); } this.__previousStates.set_length(0); if(this.__currentState != null) { if(this.__currentState.stage != this.stage) { this.__currentState.__setStageReference(this.stage); } this.__currentState.__renderDOM(renderer); } renderer.__popMaskObject(this); this.__renderEvent(renderer); } ,__renderGL: function(renderer) { if(!this.__renderable || this.__worldAlpha <= 0 || this.__currentState == null) { return; } renderer.__pushMaskObject(this); this.__currentState.__renderGL(renderer); renderer.__popMaskObject(this); this.__renderEvent(renderer); } ,__renderGLMask: function(renderer) { if(this.__currentState == null) { return; } this.__currentState.__renderGLMask(renderer); } ,__setStageReference: function(stage) { openfl_display_InteractiveObject.prototype.__setStageReference.call(this,stage); if(this.__currentState != null) { this.__currentState.__setStageReference(stage); } if(this.get_hitTestState() != null && this.get_hitTestState() != this.__currentState) { this.get_hitTestState().__setStageReference(stage); } } ,__setTransformDirty: function() { openfl_display_InteractiveObject.prototype.__setTransformDirty.call(this); if(this.__currentState != null) { this.__currentState.__setTransformDirty(); } if(this.get_hitTestState() != null && this.get_hitTestState() != this.__currentState) { this.get_hitTestState().__setTransformDirty(); } } ,__update: function(transformOnly,updateChildren) { openfl_display_InteractiveObject.prototype.__update.call(this,transformOnly,updateChildren); if(updateChildren) { if(this.__currentState != null) { this.__currentState.__update(transformOnly,true); } if(this.get_hitTestState() != null && this.get_hitTestState() != this.__currentState) { this.get_hitTestState().__update(transformOnly,true); } } } ,__updateTransforms: function(overrideTransform) { openfl_display_InteractiveObject.prototype.__updateTransforms.call(this,overrideTransform); if(this.__currentState != null) { this.__currentState.__updateTransforms(); } if(this.get_hitTestState() != null && this.get_hitTestState() != this.__currentState) { this.get_hitTestState().__updateTransforms(); } } ,get_downState: function() { return this.__downState; } ,set_downState: function(downState) { if(this.__downState != null && this.__currentState == this.__downState) { this.set___currentState(this.__downState); } return this.__downState = downState; } ,get_hitTestState: function() { return this.__hitTestState; } ,set_hitTestState: function(hitTestState) { if(this.__hitTestState != null && this.__hitTestState != hitTestState) { if(this.__hitTestState != this.get_downState() && this.__hitTestState != this.get_upState() && this.__hitTestState != this.get_overState()) { this.__hitTestState.__renderParent = null; } } if(hitTestState != null) { hitTestState.__renderParent = this; if(!hitTestState.__renderDirty) { hitTestState.__renderDirty = true; hitTestState.__setParentRenderDirty(); } } return this.__hitTestState = hitTestState; } ,get_overState: function() { return this.__overState; } ,set_overState: function(overState) { if(this.__overState != null && this.__currentState == this.__overState) { this.set___currentState(overState); } return this.__overState = overState; } ,get_soundTransform: function() { if(this.__soundTransform == null) { this.__soundTransform = new openfl_media_SoundTransform(); } return new openfl_media_SoundTransform(this.__soundTransform.volume,this.__soundTransform.pan); } ,set_soundTransform: function(value) { this.__soundTransform = new openfl_media_SoundTransform(value.volume,value.pan); return value; } ,get_upState: function() { return this.__upState; } ,set_upState: function(upState) { if(this.__upState != null && this.__currentState == this.__upState) { this.set___currentState(upState); } return this.__upState = upState; } ,set___currentState: function(value) { if(this.__currentState != null && this.__currentState != this.get_hitTestState()) { this.__currentState.__renderParent = null; } if(value != null && value.parent != null) { value.parent.removeChild(value); } if(openfl_display_DisplayObject.__supportDOM && this.__previousStates == null) { this.__previousStates = openfl__$Vector_Vector_$Impl_$.toObjectVector(null); } if(value != this.__currentState) { if(openfl_display_DisplayObject.__supportDOM) { if(this.__currentState != null) { this.__currentState.__setStageReference(null); this.__previousStates.push(this.__currentState); } var index = this.__previousStates.indexOf(value,0); if(index > -1) { this.__previousStates.splice(index,1); } } if(value != null) { value.__renderParent = this; if(!value.__renderDirty) { value.__renderDirty = true; value.__setParentRenderDirty(); } } if(!this.__renderDirty) { this.__renderDirty = true; this.__setParentRenderDirty(); } } this.__currentState = value; return value; } ,__this_onMouseDown: function(event) { if(this.enabled) { this.set___currentState(this.get_downState()); } } ,__this_onMouseOut: function(event) { this.__ignoreEvent = false; if(this.enabled && this.get_upState() != this.__currentState) { this.set___currentState(this.get_upState()); } } ,__this_onMouseOver: function(event) { if(event.buttonDown) { this.__ignoreEvent = true; } if(this.get_overState() != this.__currentState && this.get_overState() != null && !this.__ignoreEvent && this.enabled) { this.set___currentState(this.get_overState()); } } ,__this_onMouseUp: function(event) { this.__ignoreEvent = false; if(this.enabled) { if(this.get_overState() != null) { this.set___currentState(this.get_overState()); } else { this.set___currentState(this.get_upState()); } } } ,__class__: openfl_display_SimpleButton ,__properties__: $extend(openfl_display_InteractiveObject.prototype.__properties__,{set___currentState:"set___currentState",set_upState:"set_upState",get_upState:"get_upState",set_soundTransform:"set_soundTransform",get_soundTransform:"get_soundTransform",set_overState:"set_overState",get_overState:"get_overState",set_hitTestState:"set_hitTestState",get_hitTestState:"get_hitTestState",set_downState:"set_downState",get_downState:"get_downState"}) }); var openfl_display__$SpreadMethod_SpreadMethod_$Impl_$ = {}; $hxClasses["openfl.display._SpreadMethod.SpreadMethod_Impl_"] = openfl_display__$SpreadMethod_SpreadMethod_$Impl_$; openfl_display__$SpreadMethod_SpreadMethod_$Impl_$.__name__ = ["openfl","display","_SpreadMethod","SpreadMethod_Impl_"]; openfl_display__$SpreadMethod_SpreadMethod_$Impl_$.fromInt = function(value) { return value; }; openfl_display__$SpreadMethod_SpreadMethod_$Impl_$.fromString = function(value) { switch(value) { case "pad": return 0; case "reflect": return 1; case "repeat": return 2; default: return null; } }; openfl_display__$SpreadMethod_SpreadMethod_$Impl_$.toInt = function(this1) { return this1; }; openfl_display__$SpreadMethod_SpreadMethod_$Impl_$.toString = function(value) { switch(value) { case 0: return "pad"; case 1: return "reflect"; case 2: return "repeat"; default: return null; } }; var openfl_display_Stage = function(window,color) { openfl_display_DisplayObjectContainer.call(this); this.set_name(null); this.__color = -1; this.__colorSplit = [255,255,255]; this.__colorString = "#FFFFFF"; this.__contentsScaleFactor = 1; this.__currentTabOrderIndex = 0; this.__deltaTime = 0; this.__displayState = 2; this.__mouseX = 0; this.__mouseY = 0; this.__lastClickTime = 0; this.__logicalWidth = 0; this.__logicalHeight = 0; this.__displayMatrix = new openfl_geom_Matrix(); this.__displayRect = new openfl_geom_Rectangle(); this.__renderDirty = true; this.stage3Ds = openfl__$Vector_Vector_$Impl_$.toObjectVector(null); var _g = 0; while(_g < 4) { var i = _g++; this.stage3Ds.push(new openfl_display_Stage3D(this)); } this.stage = this; this.align = 6; this.allowsFullScreen = true; this.allowsFullScreenInteractive = true; this.__quality = 1; this.__scaleMode = 2; this.showDefaultContextMenu = true; this.softKeyboardRect = new openfl_geom_Rectangle(); this.stageFocusRect = true; this.__macKeyboard = /AppleWebKit/.test (navigator.userAgent) && /Mobile\/\w+/.test (navigator.userAgent) || /Mac/.test (navigator.platform); this.__clearBeforeRender = true; this.__forceRender = false; this.__stack = []; this.__rollOutStack = []; this.__mouseOutStack = []; this.__touchData = new haxe_ds_IntMap(); this.application = window.application; this.window = window; this.set_color(color); this.__contentsScaleFactor = window.__scale; this.__wasFullscreen = window.__fullscreen; this.__resize(); if(openfl_Lib.get_current().stage == null) { this.stage.addChild(openfl_Lib.get_current()); } }; $hxClasses["openfl.display.Stage"] = openfl_display_Stage; openfl_display_Stage.__name__ = ["openfl","display","Stage"]; openfl_display_Stage.__interfaces__ = [lime_app_IModule]; openfl_display_Stage.__super__ = openfl_display_DisplayObjectContainer; openfl_display_Stage.prototype = $extend(openfl_display_DisplayObjectContainer.prototype,{ align: null ,allowsFullScreen: null ,allowsFullScreenInteractive: null ,application: null ,context3D: null ,showDefaultContextMenu: null ,softKeyboardRect: null ,stage3Ds: null ,stageFocusRect: null ,stageHeight: null ,stageWidth: null ,window: null ,__cacheFocus: null ,__clearBeforeRender: null ,__color: null ,__colorSplit: null ,__colorString: null ,__contentsScaleFactor: null ,__currentTabOrderIndex: null ,__deltaTime: null ,__dirty: null ,__displayMatrix: null ,__displayRect: null ,__displayState: null ,__dragBounds: null ,__dragObject: null ,__dragOffsetX: null ,__dragOffsetY: null ,__focus: null ,__forceRender: null ,__fullscreen: null ,__fullScreenSourceRect: null ,__invalidated: null ,__lastClickTime: null ,__logicalWidth: null ,__logicalHeight: null ,__macKeyboard: null ,__mouseDownLeft: null ,__mouseDownMiddle: null ,__mouseDownRight: null ,__mouseOutStack: null ,__mouseOverTarget: null ,__mouseX: null ,__mouseY: null ,__pendingMouseEvent: null ,__pendingMouseX: null ,__pendingMouseY: null ,__quality: null ,__renderer: null ,__rendering: null ,__rollOutStack: null ,__scaleMode: null ,__stack: null ,__touchData: null ,__transparent: null ,__wasDirty: null ,__wasFullscreen: null ,__primaryTouch: null ,invalidate: function() { this.__invalidated = true; this.__renderDirty = true; } ,localToGlobal: function(pos) { return pos.clone(); } ,onGamepadAxisMove: function(gamepad,axis,value) { try { openfl_ui_GameInput.__onGamepadAxisMove(gamepad,axis,value); } catch( e ) { haxe_CallStack.lastException = e; if (e instanceof js__$Boot_HaxeError) e = e.val; this.__handleError(e); } } ,onGamepadButtonDown: function(gamepad,button) { try { openfl_ui_GameInput.__onGamepadButtonDown(gamepad,button); } catch( e ) { haxe_CallStack.lastException = e; if (e instanceof js__$Boot_HaxeError) e = e.val; this.__handleError(e); } } ,onGamepadButtonUp: function(gamepad,button) { try { openfl_ui_GameInput.__onGamepadButtonUp(gamepad,button); } catch( e ) { haxe_CallStack.lastException = e; if (e instanceof js__$Boot_HaxeError) e = e.val; this.__handleError(e); } } ,onGamepadConnect: function(gamepad) { try { openfl_ui_GameInput.__onGamepadConnect(gamepad); } catch( e ) { haxe_CallStack.lastException = e; if (e instanceof js__$Boot_HaxeError) e = e.val; this.__handleError(e); } } ,onGamepadDisconnect: function(gamepad) { try { openfl_ui_GameInput.__onGamepadDisconnect(gamepad); } catch( e ) { haxe_CallStack.lastException = e; if (e instanceof js__$Boot_HaxeError) e = e.val; this.__handleError(e); } } ,onJoystickAxisMove: function(joystick,axis,value) { } ,onJoystickButtonDown: function(joystick,button) { } ,onJoystickButtonUp: function(joystick,button) { } ,onJoystickConnect: function(joystick) { } ,onJoystickDisconnect: function(joystick) { } ,onJoystickHatMove: function(joystick,hat,position) { } ,onJoystickTrackballMove: function(joystick,trackball,value) { } ,onKeyDown: function(window,keyCode,modifier) { if(this.window == null || this.window != window) { return; } this.__onKey("keyDown",keyCode,modifier); } ,onKeyUp: function(window,keyCode,modifier) { if(this.window == null || this.window != window) { return; } this.__onKey("keyUp",keyCode,modifier); } ,onModuleExit: function(code) { if(this.window != null) { this.__broadcastEvent(new openfl_events_Event("deactivate")); } } ,onMouseDown: function(window,x,y,button) { if(this.window == null || this.window != window) { return; } this.__dispatchPendingMouseEvent(); var type; switch(button) { case 1: type = "middleMouseDown"; break; case 2: type = "rightMouseDown"; break; default: type = "mouseDown"; } this.__onMouse(type,x * window.__scale | 0,y * window.__scale | 0,button); if(!this.showDefaultContextMenu && button == 2) { window.onMouseDown.cancel(); } } ,onMouseMove: function(window,x,y) { if(this.window == null || this.window != window) { return; } this.__pendingMouseEvent = true; this.__pendingMouseX = x * window.__scale | 0; this.__pendingMouseY = y * window.__scale | 0; } ,onMouseMoveRelative: function(window,x,y) { } ,onMouseUp: function(window,x,y,button) { if(this.window == null || this.window != window) { return; } this.__dispatchPendingMouseEvent(); var type; switch(button) { case 1: type = "middleMouseUp"; break; case 2: type = "rightMouseUp"; break; default: type = "mouseUp"; } this.__onMouse(type,x * window.__scale | 0,y * window.__scale | 0,button); if(!this.showDefaultContextMenu && button == 2) { window.onMouseUp.cancel(); } } ,onMouseWheel: function(window,deltaX,deltaY,deltaMode) { if(this.window == null || this.window != window) { return; } this.__dispatchPendingMouseEvent(); if(deltaMode == lime_ui_MouseWheelMode.PIXELS) { this.__onMouseWheel(deltaX * window.__scale | 0,deltaY * window.__scale | 0,deltaMode); } else { this.__onMouseWheel(deltaX | 0,deltaY | 0,deltaMode); } } ,onPreloadComplete: function() { } ,onPreloadProgress: function(loaded,total) { } ,onRenderContextLost: function() { this.__renderer = null; this.context3D = null; var _g = 0; var _g1 = this.stage3Ds; while(_g < _g1.get_length()) { var stage3D = _g1.get(_g); ++_g; stage3D.__lostContext(); } } ,onRenderContextRestored: function(context) { this.__createRenderer(); var _g = 0; var _g1 = this.stage3Ds; while(_g < _g1.get_length()) { var stage3D = _g1.get(_g); ++_g; stage3D.__restoreContext(); } } ,onTextEdit: function(window,text,start,length) { } ,onTextInput: function(window,text) { if(this.window == null || this.window != window) { return; } var stack = []; if(this.__focus == null) { this.__getInteractive(stack); } else { this.__focus.__getInteractive(stack); } var event = new openfl_events_TextEvent("textInput",true,true,text); if(stack.length > 0) { stack.reverse(); this.__dispatchStack(event,stack); } else { this.__dispatchEvent(event); } if(event.isDefaultPrevented()) { window.onTextInput.cancel(); } } ,onTouchCancel: function(touch) { if(this.__primaryTouch == touch) { this.__primaryTouch = null; } this.__onTouch("touchEnd",touch); } ,onTouchMove: function(touch) { this.__onTouch("touchMove",touch); } ,onTouchEnd: function(touch) { if(this.__primaryTouch == touch) { this.__primaryTouch = null; } this.__onTouch("touchEnd",touch); } ,onTouchStart: function(touch) { if(this.__primaryTouch == null) { this.__primaryTouch = touch; } this.__onTouch("touchBegin",touch); } ,onWindowActivate: function(window) { if(this.window == null || this.window != window) { return; } } ,onWindowClose: function(window) { if(this.window == window) { this.window = null; } this.__primaryTouch = null; this.__broadcastEvent(new openfl_events_Event("deactivate")); } ,onWindowCreate: function(window) { if(this.window == null || this.window != window) { return; } if(window.context != null) { this.__createRenderer(); } } ,onWindowDeactivate: function(window) { if(this.window == null || this.window != window) { return; } } ,onWindowDropFile: function(window,file) { } ,onWindowEnter: function(window) { } ,onWindowExpose: function(window) { if(this.window == null || this.window != window) { return; } this.__renderDirty = true; } ,onWindowFocusIn: function(window) { if(this.window == null || this.window != window) { return; } this.__renderDirty = true; this.__broadcastEvent(new openfl_events_Event("activate")); this.set_focus(this.__cacheFocus); } ,onWindowFocusOut: function(window) { if(this.window == null || this.window != window) { return; } this.__primaryTouch = null; this.__broadcastEvent(new openfl_events_Event("deactivate")); var currentFocus = this.get_focus(); this.set_focus(null); this.__cacheFocus = currentFocus; } ,onWindowFullscreen: function(window) { if(this.window == null || this.window != window) { return; } this.__resize(); if(!this.__wasFullscreen) { this.__wasFullscreen = true; if(this.__displayState == 2) { this.__displayState = 1; } this.__dispatchEvent(new openfl_events_FullScreenEvent("fullScreen",false,false,true,true)); } } ,onWindowLeave: function(window) { if(this.window == null || this.window != window || openfl_events_MouseEvent.__buttonDown) { return; } this.__dispatchPendingMouseEvent(); this.__dispatchEvent(new openfl_events_Event("mouseLeave")); } ,onWindowMinimize: function(window) { if(this.window == null || this.window != window) { return; } } ,onWindowMove: function(window,x,y) { } ,onWindowResize: function(window,width,height) { if(this.window == null || this.window != window) { return; } this.__resize(); if(this.__wasFullscreen && !window.__fullscreen) { this.__wasFullscreen = false; this.__displayState = 2; this.__dispatchEvent(new openfl_events_FullScreenEvent("fullScreen",false,false,false,true)); } } ,onWindowRestore: function(window) { if(this.window == null || this.window != window) { return; } if(this.__wasFullscreen && !window.__fullscreen) { this.__wasFullscreen = false; this.__displayState = 2; this.__dispatchEvent(new openfl_events_FullScreenEvent("fullScreen",false,false,false,true)); } } ,render: function(context) { if(this.__rendering) { return; } this.__rendering = true; this.__broadcastEvent(new openfl_events_Event("enterFrame")); this.__broadcastEvent(new openfl_events_Event("frameConstructed")); this.__broadcastEvent(new openfl_events_Event("exitFrame")); this.__renderable = true; this.__enterFrame(this.__deltaTime); this.__deltaTime = 0; var shouldRender = this.__renderer != null && (this.__renderDirty || this.__forceRender); if(this.__invalidated && shouldRender) { this.__invalidated = false; this.__broadcastEvent(new openfl_events_Event("render")); } this.__update(false,true); if(this.__renderer != null) { if(this.context3D != null) { var _g = 0; var _g1 = this.stage3Ds; while(_g < _g1.get_length()) { var stage3D = _g1.get(_g); ++_g; this.context3D.__renderStage3D(stage3D); } if(this.context3D.__present) { shouldRender = true; } } if(shouldRender) { var tmp = this.__renderer.__type == "cairo"; if(this.context3D == null) { this.__renderer.__clear(); } this.__renderer.__render(this); } else if(this.context3D == null) { this.window.onRender.cancel(); } if(this.context3D != null) { if(!this.context3D.__present) { this.window.onRender.cancel(); } else { if(!this.__renderer.__cleared) { this.__renderer.__clear(); } this.context3D.__present = false; this.context3D.__cleared = false; } } this.__renderer.__cleared = false; } this.__rendering = false; } ,update: function(deltaTime) { this.__deltaTime = deltaTime; this.__dispatchPendingMouseEvent(); } ,__addWindow: function(window) { if(this.window != window) { return; } var f = $bind(this,this.onWindowActivate); var a1 = window; var tmp = function() { f(a1); }; window.onActivate.add(tmp); var f1 = $bind(this,this.onWindowClose); var a11 = window; var tmp1 = function() { f1(a11); }; window.onClose.add(tmp1,false,-9000); var f2 = $bind(this,this.onWindowDeactivate); var a12 = window; var tmp2 = function() { f2(a12); }; window.onDeactivate.add(tmp2); var f3 = $bind(this,this.onWindowDropFile); var a13 = window; var tmp3 = function(a2) { f3(a13,a2); }; window.onDropFile.add(tmp3); var f4 = $bind(this,this.onWindowEnter); var a14 = window; var tmp4 = function() { f4(a14); }; window.onEnter.add(tmp4); var f5 = $bind(this,this.onWindowExpose); var a15 = window; var tmp5 = function() { f5(a15); }; window.onExpose.add(tmp5); var f6 = $bind(this,this.onWindowFocusIn); var a16 = window; var tmp6 = function() { f6(a16); }; window.onFocusIn.add(tmp6); var f7 = $bind(this,this.onWindowFocusOut); var a17 = window; var tmp7 = function() { f7(a17); }; window.onFocusOut.add(tmp7); var f8 = $bind(this,this.onWindowFullscreen); var a18 = window; var tmp8 = function() { f8(a18); }; window.onFullscreen.add(tmp8); var f9 = $bind(this,this.onKeyDown); var a19 = window; var tmp9 = function(a21,a3) { f9(a19,a21,a3); }; window.onKeyDown.add(tmp9); var f10 = $bind(this,this.onKeyUp); var a110 = window; var tmp10 = function(a22,a31) { f10(a110,a22,a31); }; window.onKeyUp.add(tmp10); var f11 = $bind(this,this.onWindowLeave); var a111 = window; var tmp11 = function() { f11(a111); }; window.onLeave.add(tmp11); var f12 = $bind(this,this.onWindowMinimize); var a112 = window; var tmp12 = function() { f12(a112); }; window.onMinimize.add(tmp12); var f13 = $bind(this,this.onMouseDown); var a113 = window; var tmp13 = function(x,y,a23) { f13(a113,x,y,a23); }; window.onMouseDown.add(tmp13); var f14 = $bind(this,this.onMouseMove); var a114 = window; var tmp14 = function(x1,y1) { f14(a114,x1,y1); }; window.onMouseMove.add(tmp14); var f15 = $bind(this,this.onMouseMoveRelative); var a115 = window; var tmp15 = function(x2,y2) { f15(a115,x2,y2); }; window.onMouseMoveRelative.add(tmp15); var f16 = $bind(this,this.onMouseUp); var a116 = window; var tmp16 = function(x3,y3,a24) { f16(a116,x3,y3,a24); }; window.onMouseUp.add(tmp16); var f17 = $bind(this,this.onMouseWheel); var a117 = window; var tmp17 = function(a25,a32,a4) { f17(a117,a25,a32,a4); }; window.onMouseWheel.add(tmp17); var f18 = $bind(this,this.onWindowMove); var a118 = window; var tmp18 = function(x4,y4) { f18(a118,x4,y4); }; window.onMove.add(tmp18); window.onRender.add($bind(this,this.render)); window.onRenderContextLost.add($bind(this,this.onRenderContextLost)); window.onRenderContextRestored.add($bind(this,this.onRenderContextRestored)); var f19 = $bind(this,this.onWindowResize); var a119 = window; var tmp19 = function(a26,a33) { f19(a119,a26,a33); }; window.onResize.add(tmp19); var f20 = $bind(this,this.onWindowRestore); var a120 = window; var tmp20 = function() { f20(a120); }; window.onRestore.add(tmp20); var f21 = $bind(this,this.onTextEdit); var a121 = window; var tmp21 = function(a27,a34,a41) { f21(a121,a27,a34,a41); }; window.onTextEdit.add(tmp21); var f22 = $bind(this,this.onTextInput); var a122 = window; var tmp22 = function(a28) { f22(a122,a28); }; window.onTextInput.add(tmp22); this.onWindowCreate(window); } ,__broadcastEvent: function(event) { var key = event.type; var _this = openfl_display_DisplayObject.__broadcastEvents; if(__map_reserved[key] != null ? _this.existsReserved(key) : _this.h.hasOwnProperty(key)) { var key1 = event.type; var _this1 = openfl_display_DisplayObject.__broadcastEvents; var dispatchers = __map_reserved[key1] != null ? _this1.getReserved(key1) : _this1.h[key1]; var _g = 0; while(_g < dispatchers.length) { var dispatcher = dispatchers[_g]; ++_g; if(dispatcher.stage == this || dispatcher.stage == null) { try { dispatcher.__dispatch(event); } catch( e ) { haxe_CallStack.lastException = e; if (e instanceof js__$Boot_HaxeError) e = e.val; this.__handleError(e); } } } } } ,__createRenderer: function() { var pixelRatio = 1; if(this.window.__scale > 1) { if(!this.window.devicePixelRatio) { pixelRatio = 1; } else { pixelRatio = true; } } var windowWidth = this.window.__width * this.window.__scale | 0; var windowHeight = this.window.__height * this.window.__scale | 0; var _g = this.window.context.type; switch(_g) { case "cairo": break; case "canvas": this.__renderer = new openfl_display_CanvasRenderer(this.window.context.canvas2D); (js_Boot.__cast(this.__renderer , openfl_display_CanvasRenderer)).pixelRatio = pixelRatio; break; case "dom": this.__renderer = new openfl_display_DOMRenderer(this.window.context.dom); (js_Boot.__cast(this.__renderer , openfl_display_DOMRenderer)).pixelRatio = pixelRatio; break; case "opengl":case "opengles":case "webgl": this.context3D = new openfl_display3D_Context3D(this); this.context3D.configureBackBuffer(windowWidth,windowHeight,0,true,true,true); this.context3D.present(); this.__renderer = new openfl_display_OpenGLRenderer(this.context3D); break; default: } if(this.__renderer != null) { var tmp = this.get_quality(); this.__renderer.__allowSmoothing = tmp != 2; this.__renderer.__worldTransform = this.__displayMatrix; this.__renderer.__stage = this; this.__renderer.__resize(windowWidth,windowHeight); } } ,__dispatchEvent: function(event) { try { return openfl_display_DisplayObjectContainer.prototype.__dispatchEvent.call(this,event); } catch( e ) { haxe_CallStack.lastException = e; if (e instanceof js__$Boot_HaxeError) e = e.val; this.__handleError(e); return false; } } ,__dispatchPendingMouseEvent: function() { if(this.__pendingMouseEvent) { this.__onMouse("mouseMove",this.__pendingMouseX,this.__pendingMouseY,0); this.__pendingMouseEvent = false; } } ,__dispatchStack: function(event,stack) { try { var target; var length = stack.length; if(length == 0) { event.eventPhase = 2; target = event.target; target.__dispatch(event); } else { event.eventPhase = 1; event.target = stack[stack.length - 1]; var _g1 = 0; var _g = length - 1; while(_g1 < _g) { var i = _g1++; stack[i].__dispatch(event); if(event.__isCanceled) { return; } } event.eventPhase = 2; target = event.target; target.__dispatch(event); if(event.__isCanceled) { return; } if(event.bubbles) { event.eventPhase = 3; var i1 = length - 2; while(i1 >= 0) { stack[i1].__dispatch(event); if(event.__isCanceled) { return; } --i1; } } } } catch( e ) { haxe_CallStack.lastException = e; if (e instanceof js__$Boot_HaxeError) e = e.val; this.__handleError(e); } } ,__dispatchTarget: function(target,event) { try { return target.__dispatchEvent(event); } catch( e ) { haxe_CallStack.lastException = e; if (e instanceof js__$Boot_HaxeError) e = e.val; this.__handleError(e); return false; } } ,__drag: function(mouse) { var parent = this.__dragObject.parent; if(parent != null) { var _this = parent.__getWorldTransform(); var norm = _this.a * _this.d - _this.b * _this.c; if(norm == 0) { mouse.x = -_this.tx; mouse.y = -_this.ty; } else { var px = 1.0 / norm * (_this.c * (_this.ty - mouse.y) + _this.d * (mouse.x - _this.tx)); mouse.y = 1.0 / norm * (_this.a * (mouse.y - _this.ty) + _this.b * (_this.tx - mouse.x)); mouse.x = px; } } var x = mouse.x + this.__dragOffsetX; var y = mouse.y + this.__dragOffsetY; if(this.__dragBounds != null) { if(x < this.__dragBounds.x) { x = this.__dragBounds.x; } else if(x > this.__dragBounds.get_right()) { x = this.__dragBounds.get_right(); } if(y < this.__dragBounds.y) { y = this.__dragBounds.y; } else if(y > this.__dragBounds.get_bottom()) { y = this.__dragBounds.get_bottom(); } } this.__dragObject.set_x(x); this.__dragObject.set_y(y); } ,__getInteractive: function(stack) { if(stack != null) { stack.push(this); } return true; } ,__globalToLocal: function(global,local) { if(global != local) { local.copyFrom(global); } return local; } ,__handleError: function(e) { var event = new openfl_events_UncaughtErrorEvent("uncaughtError",true,true,e); try { openfl_Lib.get_current().__loaderInfo.uncaughtErrorEvents.dispatchEvent(event); } catch( e1 ) { haxe_CallStack.lastException = e1; } if(!event.__preventDefault) { try { var exc = haxe_CallStack.lastException; if(exc != null && Object.prototype.hasOwnProperty.call(exc,"stack") && exc.stack != null && exc.stack != "") { console.log(exc.stack); e.stack = exc.stack; } else { var msg = haxe_CallStack.toString(haxe_CallStack.callStack()); console.log(msg); } } catch( e2 ) { haxe_CallStack.lastException = e2; } throw e; } } ,__onKey: function(type,keyCode,modifier) { this.__dispatchPendingMouseEvent(); openfl_events_MouseEvent.__altKey = lime_ui__$KeyModifier_KeyModifier_$Impl_$.get_altKey(modifier); openfl_events_MouseEvent.__commandKey = lime_ui__$KeyModifier_KeyModifier_$Impl_$.get_metaKey(modifier); openfl_events_MouseEvent.__ctrlKey = lime_ui__$KeyModifier_KeyModifier_$Impl_$.get_ctrlKey(modifier); openfl_events_MouseEvent.__shiftKey = lime_ui__$KeyModifier_KeyModifier_$Impl_$.get_shiftKey(modifier); var stack = []; if(this.__focus == null) { this.__getInteractive(stack); } else { this.__focus.__getInteractive(stack); } if(stack.length > 0) { var keyLocation; switch(keyCode) { case 1073741908:case 1073741909:case 1073741910:case 1073741911:case 1073741912:case 1073741913:case 1073741914:case 1073741915:case 1073741916:case 1073741917:case 1073741918:case 1073741919:case 1073741920:case 1073741921:case 1073741922:case 1073741923:case 1073742044: keyLocation = 3; break; case 1073742048:case 1073742049:case 1073742050:case 1073742051: keyLocation = 1; break; case 1073742052:case 1073742053:case 1073742054:case 1073742055: keyLocation = 2; break; default: keyLocation = 0; } var keyCode1; switch(keyCode) { case 8: keyCode1 = 8; break; case 9: keyCode1 = 9; break; case 13: keyCode1 = 13; break; case 27: keyCode1 = 27; break; case 32: keyCode1 = 32; break; case 33: keyCode1 = 49; break; case 34: keyCode1 = 222; break; case 35: keyCode1 = 51; break; case 36: keyCode1 = 52; break; case 37: keyCode1 = 53; break; case 38: keyCode1 = 55; break; case 39: keyCode1 = 222; break; case 40: keyCode1 = 57; break; case 41: keyCode1 = 48; break; case 42: keyCode1 = 56; break; case 44: keyCode1 = 188; break; case 45: keyCode1 = 189; break; case 46: keyCode1 = 190; break; case 47: keyCode1 = 191; break; case 48: keyCode1 = 48; break; case 49: keyCode1 = 49; break; case 50: keyCode1 = 50; break; case 51: keyCode1 = 51; break; case 52: keyCode1 = 52; break; case 53: keyCode1 = 53; break; case 54: keyCode1 = 54; break; case 55: keyCode1 = 55; break; case 56: keyCode1 = 56; break; case 57: keyCode1 = 57; break; case 58: keyCode1 = 186; break; case 59: keyCode1 = 186; break; case 60: keyCode1 = 60; break; case 61: keyCode1 = 187; break; case 62: keyCode1 = 190; break; case 63: keyCode1 = 191; break; case 64: keyCode1 = 50; break; case 91: keyCode1 = 219; break; case 92: keyCode1 = 220; break; case 93: keyCode1 = 221; break; case 94: keyCode1 = 54; break; case 95: keyCode1 = 189; break; case 96: keyCode1 = 192; break; case 97: keyCode1 = 65; break; case 98: keyCode1 = 66; break; case 99: keyCode1 = 67; break; case 100: keyCode1 = 68; break; case 101: keyCode1 = 69; break; case 102: keyCode1 = 70; break; case 103: keyCode1 = 71; break; case 104: keyCode1 = 72; break; case 105: keyCode1 = 73; break; case 106: keyCode1 = 74; break; case 107: keyCode1 = 75; break; case 108: keyCode1 = 76; break; case 109: keyCode1 = 77; break; case 110: keyCode1 = 78; break; case 111: keyCode1 = 79; break; case 112: keyCode1 = 80; break; case 113: keyCode1 = 81; break; case 114: keyCode1 = 82; break; case 115: keyCode1 = 83; break; case 116: keyCode1 = 84; break; case 117: keyCode1 = 85; break; case 118: keyCode1 = 86; break; case 119: keyCode1 = 87; break; case 120: keyCode1 = 88; break; case 121: keyCode1 = 89; break; case 122: keyCode1 = 90; break; case 127: keyCode1 = 46; break; case 1073741881: keyCode1 = 20; break; case 1073741882: keyCode1 = 112; break; case 1073741883: keyCode1 = 113; break; case 1073741884: keyCode1 = 114; break; case 1073741885: keyCode1 = 115; break; case 1073741886: keyCode1 = 116; break; case 1073741887: keyCode1 = 117; break; case 1073741888: keyCode1 = 118; break; case 1073741889: keyCode1 = 119; break; case 1073741890: keyCode1 = 120; break; case 1073741891: keyCode1 = 121; break; case 1073741892: keyCode1 = 122; break; case 1073741893: keyCode1 = 123; break; case 1073741894: keyCode1 = 301; break; case 1073741895: keyCode1 = 145; break; case 1073741896: keyCode1 = 19; break; case 1073741897: keyCode1 = 45; break; case 1073741898: keyCode1 = 36; break; case 1073741899: keyCode1 = 33; break; case 1073741901: keyCode1 = 35; break; case 1073741902: keyCode1 = 34; break; case 1073741903: keyCode1 = 39; break; case 1073741904: keyCode1 = 37; break; case 1073741905: keyCode1 = 40; break; case 1073741906: keyCode1 = 38; break; case 1073741907: keyCode1 = 144; break; case 1073741908: keyCode1 = 111; break; case 1073741909: keyCode1 = 106; break; case 1073741910: keyCode1 = 109; break; case 1073741911: keyCode1 = 107; break; case 1073741912: keyCode1 = 13; break; case 1073741913: keyCode1 = 97; break; case 1073741914: keyCode1 = 98; break; case 1073741915: keyCode1 = 99; break; case 1073741916: keyCode1 = 100; break; case 1073741917: keyCode1 = 101; break; case 1073741918: keyCode1 = 102; break; case 1073741919: keyCode1 = 103; break; case 1073741920: keyCode1 = 104; break; case 1073741921: keyCode1 = 105; break; case 1073741922: keyCode1 = 96; break; case 1073741923: keyCode1 = 110; break; case 1073741925: keyCode1 = 302; break; case 1073741928: keyCode1 = 124; break; case 1073741929: keyCode1 = 125; break; case 1073741930: keyCode1 = 126; break; case 1073741982: keyCode1 = 13; break; case 1073742044: keyCode1 = 110; break; case 1073742048: keyCode1 = 17; break; case 1073742049: keyCode1 = 16; break; case 1073742050: keyCode1 = 18; break; case 1073742051: keyCode1 = 15; break; case 1073742052: keyCode1 = 17; break; case 1073742053: keyCode1 = 16; break; case 1073742054: keyCode1 = 18; break; case 1073742055: keyCode1 = 15; break; default: keyCode1 = keyCode; } var charCode = openfl_ui_Keyboard.__getCharCode(keyCode1,lime_ui__$KeyModifier_KeyModifier_$Impl_$.get_shiftKey(modifier)); var event = new openfl_events_KeyboardEvent(type,true,true,charCode,keyCode1,keyLocation,this.__macKeyboard ? lime_ui__$KeyModifier_KeyModifier_$Impl_$.get_ctrlKey(modifier) || lime_ui__$KeyModifier_KeyModifier_$Impl_$.get_metaKey(modifier) : lime_ui__$KeyModifier_KeyModifier_$Impl_$.get_ctrlKey(modifier),lime_ui__$KeyModifier_KeyModifier_$Impl_$.get_altKey(modifier),lime_ui__$KeyModifier_KeyModifier_$Impl_$.get_shiftKey(modifier),lime_ui__$KeyModifier_KeyModifier_$Impl_$.get_ctrlKey(modifier),lime_ui__$KeyModifier_KeyModifier_$Impl_$.get_metaKey(modifier)); stack.reverse(); this.__dispatchStack(event,stack); if(event.__preventDefault) { if(type == "keyDown") { this.window.onKeyDown.cancel(); } else { this.window.onKeyUp.cancel(); } } else if(type == "keyDown" && keyCode1 == 9) { var tabStack = []; this.__tabTest(tabStack); var nextIndex = -1; var nextObject = null; var nextOffset = lime_ui__$KeyModifier_KeyModifier_$Impl_$.get_shiftKey(modifier) ? -1 : 1; if(tabStack.length > 1) { haxe_ds_ArraySort.sort(tabStack,function(a,b) { return a.get_tabIndex() - b.get_tabIndex(); }); if(tabStack[tabStack.length - 1].get_tabIndex() == -1) { if(this.get_focus() != null) { nextIndex = 0; } else { nextIndex = this.__currentTabOrderIndex; } } else { var i = 0; while(i < tabStack.length) { if(tabStack[i].get_tabIndex() > -1) { if(i > 0) { tabStack.splice(0,i); } break; } ++i; } if(this.get_focus() != null) { var index = tabStack.indexOf(this.get_focus()); if(index < 0) { nextIndex = 0; } else { nextIndex = index + nextOffset; } } else { nextIndex = this.__currentTabOrderIndex; } } } else if(tabStack.length == 1) { nextObject = tabStack[0]; if(this.get_focus() == nextObject) { nextObject = null; } } if(tabStack.length == 1 || tabStack.length == 0 && this.get_focus() != null) { nextIndex = 0; } else if(tabStack.length > 1) { if(nextIndex < 0) { nextIndex += tabStack.length; } nextIndex %= tabStack.length; nextObject = tabStack[nextIndex]; if(nextObject == this.get_focus()) { nextIndex += nextOffset; if(nextIndex < 0) { nextIndex += tabStack.length; } nextIndex %= tabStack.length; nextObject = tabStack[nextIndex]; } } var focusEvent = null; if(this.get_focus() != null) { focusEvent = new openfl_events_FocusEvent("keyFocusChange",true,true,nextObject,lime_ui__$KeyModifier_KeyModifier_$Impl_$.get_shiftKey(modifier),0); stack = []; this.get_focus().__getInteractive(stack); stack.reverse(); this.__dispatchStack(focusEvent,stack); } if(focusEvent == null || !focusEvent.isDefaultPrevented()) { this.__currentTabOrderIndex = nextIndex; if(nextObject != null) { this.set_focus(nextObject); } } } } } ,__onGamepadConnect: function(gamepad) { this.onGamepadConnect(gamepad); var f = $bind(this,this.onGamepadAxisMove); var a1 = gamepad; var tmp = function(a2,a3) { f(a1,a2,a3); }; gamepad.onAxisMove.add(tmp); var f1 = $bind(this,this.onGamepadButtonDown); var a11 = gamepad; var tmp1 = function(a21) { f1(a11,a21); }; gamepad.onButtonDown.add(tmp1); var f2 = $bind(this,this.onGamepadButtonUp); var a12 = gamepad; var tmp2 = function(a22) { f2(a12,a22); }; gamepad.onButtonUp.add(tmp2); var f3 = $bind(this,this.onGamepadDisconnect); var a13 = gamepad; var tmp3 = function() { f3(a13); }; gamepad.onDisconnect.add(tmp3); } ,__onMouse: function(type,x,y,button) { if(button > 2) { return; } var targetPoint = openfl_geom_Point.__pool.get(); targetPoint.setTo(x,y); var _this = this.__displayMatrix; var norm = _this.a * _this.d - _this.b * _this.c; if(norm == 0) { targetPoint.x = -_this.tx; targetPoint.y = -_this.ty; } else { var px = 1.0 / norm * (_this.c * (_this.ty - targetPoint.y) + _this.d * (targetPoint.x - _this.tx)); targetPoint.y = 1.0 / norm * (_this.a * (targetPoint.y - _this.ty) + _this.b * (_this.tx - targetPoint.x)); targetPoint.x = px; } this.__mouseX = targetPoint.x; this.__mouseY = targetPoint.y; var stack = []; var target = null; if(this.__hitTest(this.__mouseX,this.__mouseY,true,stack,true,this)) { target = stack[stack.length - 1]; } else { target = this; stack = [this]; } if(target == null) { target = this; } var clickType = null; switch(type) { case "middleMouseDown": this.__mouseDownMiddle = target; break; case "middleMouseUp": if(this.__mouseDownMiddle == target) { clickType = "middleClick"; } this.__mouseDownMiddle = null; break; case "mouseDown": if(target.__allowMouseFocus()) { if(this.get_focus() != null) { var focusEvent = new openfl_events_FocusEvent("mouseFocusChange",true,true,target,false,0); this.__dispatchStack(focusEvent,stack); if(!focusEvent.isDefaultPrevented()) { this.set_focus(target); } } else { this.set_focus(target); } } else { this.set_focus(null); } this.__mouseDownLeft = target; openfl_events_MouseEvent.__buttonDown = true; break; case "mouseUp": if(this.__mouseDownLeft != null) { openfl_events_MouseEvent.__buttonDown = false; if(this.__mouseDownLeft == target) { clickType = "click"; } else { this.__mouseDownLeft.dispatchEvent(openfl_events_MouseEvent.__create("releaseOutside",1,this.__mouseX,this.__mouseY,new openfl_geom_Point(this.__mouseX,this.__mouseY),this)); } this.__mouseDownLeft = null; } break; case "rightMouseDown": this.__mouseDownRight = target; break; case "rightMouseUp": if(this.__mouseDownRight == target) { clickType = "rightClick"; } this.__mouseDownRight = null; break; default: } var localPoint = openfl_geom_Point.__pool.get(); this.__dispatchStack(openfl_events_MouseEvent.__create(type,button,this.__mouseX,this.__mouseY,target.__globalToLocal(targetPoint,localPoint),target),stack); if(clickType != null) { this.__dispatchStack(openfl_events_MouseEvent.__create(clickType,button,this.__mouseX,this.__mouseY,target.__globalToLocal(targetPoint,localPoint),target),stack); if(type == "mouseUp" && (js_Boot.__cast(target , openfl_display_InteractiveObject)).doubleClickEnabled) { var currentTime = openfl_Lib.getTimer(); if(currentTime - this.__lastClickTime < 500) { this.__dispatchStack(openfl_events_MouseEvent.__create("doubleClick",button,this.__mouseX,this.__mouseY,target.__globalToLocal(targetPoint,localPoint),target),stack); this.__lastClickTime = 0; } else { this.__lastClickTime = currentTime; } } } if(openfl_ui_Mouse.__cursor == "auto" && !openfl_ui_Mouse.__hidden) { var cursor = null; if(this.__mouseDownLeft != null) { cursor = this.__mouseDownLeft.__getCursor(); } else { var _g = 0; while(_g < stack.length) { var target1 = stack[_g]; ++_g; cursor = target1.__getCursor(); if(cursor != null) { this.window.set_cursor(openfl_ui__$MouseCursor_MouseCursor_$Impl_$.toLimeCursor(cursor)); break; } } } if(cursor == null) { this.window.set_cursor(lime_ui_MouseCursor.ARROW); } } var event; if(target != this.__mouseOverTarget) { if(this.__mouseOverTarget != null) { event = openfl_events_MouseEvent.__create("mouseOut",button,this.__mouseX,this.__mouseY,this.__mouseOverTarget.__globalToLocal(targetPoint,localPoint),this.__mouseOverTarget); this.__dispatchStack(event,this.__mouseOutStack); } } var _g1 = 0; var _g11 = this.__rollOutStack; while(_g1 < _g11.length) { var target2 = _g11[_g1]; ++_g1; if(stack.indexOf(target2) == -1) { HxOverrides.remove(this.__rollOutStack,target2); event = openfl_events_MouseEvent.__create("rollOut",button,this.__mouseX,this.__mouseY,this.__mouseOverTarget.__globalToLocal(targetPoint,localPoint),this.__mouseOverTarget); event.bubbles = false; this.__dispatchTarget(target2,event); } } var _g2 = 0; while(_g2 < stack.length) { var target3 = stack[_g2]; ++_g2; if(this.__rollOutStack.indexOf(target3) == -1 && this.__mouseOverTarget != null) { if(target3.hasEventListener("rollOver")) { event = openfl_events_MouseEvent.__create("rollOver",button,this.__mouseX,this.__mouseY,this.__mouseOverTarget.__globalToLocal(targetPoint,localPoint),target3); event.bubbles = false; this.__dispatchTarget(target3,event); } if(target3.hasEventListener("rollOut") || target3.hasEventListener("rollOver")) { this.__rollOutStack.push(target3); } } } if(target != this.__mouseOverTarget) { if(target != null) { event = openfl_events_MouseEvent.__create("mouseOver",button,this.__mouseX,this.__mouseY,target.__globalToLocal(targetPoint,localPoint),target); this.__dispatchStack(event,stack); } this.__mouseOverTarget = target; this.__mouseOutStack = stack; } if(this.__dragObject != null) { this.__drag(targetPoint); var dropTarget = null; if(this.__mouseOverTarget == this.__dragObject) { var cacheMouseEnabled = this.__dragObject.mouseEnabled; var cacheMouseChildren = this.__dragObject.mouseChildren; this.__dragObject.mouseEnabled = false; this.__dragObject.mouseChildren = false; var stack1 = []; if(this.__hitTest(this.__mouseX,this.__mouseY,true,stack1,true,this)) { dropTarget = stack1[stack1.length - 1]; } this.__dragObject.mouseEnabled = cacheMouseEnabled; this.__dragObject.mouseChildren = cacheMouseChildren; } else if(this.__mouseOverTarget != this) { dropTarget = this.__mouseOverTarget; } this.__dragObject.dropTarget = dropTarget; } openfl_geom_Point.__pool.release(targetPoint); openfl_geom_Point.__pool.release(localPoint); } ,__onMouseWheel: function(deltaX,deltaY,deltaMode) { var x = this.__mouseX; var y = this.__mouseY; var stack = []; var target = null; if(this.__hitTest(this.__mouseX,this.__mouseY,true,stack,true,this)) { target = stack[stack.length - 1]; } else { target = this; stack = [this]; } if(target == null) { target = this; } var targetPoint = openfl_geom_Point.__pool.get(); targetPoint.setTo(x,y); var _this = this.__displayMatrix; var norm = _this.a * _this.d - _this.b * _this.c; if(norm == 0) { targetPoint.x = -_this.tx; targetPoint.y = -_this.ty; } else { var px = 1.0 / norm * (_this.c * (_this.ty - targetPoint.y) + _this.d * (targetPoint.x - _this.tx)); targetPoint.y = 1.0 / norm * (_this.a * (targetPoint.y - _this.ty) + _this.b * (_this.tx - targetPoint.x)); targetPoint.x = px; } var delta = deltaY | 0; this.__dispatchStack(openfl_events_MouseEvent.__create("mouseWheel",0,this.__mouseX,this.__mouseY,target.__globalToLocal(targetPoint,targetPoint),target,delta),stack); openfl_geom_Point.__pool.release(targetPoint); } ,__onTouch: function(type,touch) { var targetPoint = openfl_geom_Point.__pool.get(); targetPoint.setTo(Math.round(touch.x * this.window.__width * this.window.__scale),Math.round(touch.y * this.window.__height * this.window.__scale)); var _this = this.__displayMatrix; var norm = _this.a * _this.d - _this.b * _this.c; if(norm == 0) { targetPoint.x = -_this.tx; targetPoint.y = -_this.ty; } else { var px = 1.0 / norm * (_this.c * (_this.ty - targetPoint.y) + _this.d * (targetPoint.x - _this.tx)); targetPoint.y = 1.0 / norm * (_this.a * (targetPoint.y - _this.ty) + _this.b * (_this.tx - targetPoint.x)); targetPoint.x = px; } var touchX = targetPoint.x; var touchY = targetPoint.y; var stack = []; var target = null; if(this.__hitTest(touchX,touchY,false,stack,true,this)) { target = stack[stack.length - 1]; } else { target = this; stack = [this]; } if(target == null) { target = this; } var touchId = touch.id; var touchData = null; if(this.__touchData.h.hasOwnProperty(touchId)) { touchData = this.__touchData.h[touchId]; } else { touchData = openfl__$internal_utils_TouchData.__pool.get(); touchData.reset(); touchData.touch = touch; this.__touchData.h[touchId] = touchData; } var touchType = null; var releaseTouchData = false; switch(type) { case "touchBegin": touchData.touchDownTarget = target; break; case "touchEnd": if(touchData.touchDownTarget == target) { touchType = "touchTap"; } touchData.touchDownTarget = null; releaseTouchData = true; break; default: } var localPoint = openfl_geom_Point.__pool.get(); var isPrimaryTouchPoint = this.__primaryTouch == touch; var touchEvent = openfl_events_TouchEvent.__create(type,null,touchX,touchY,target.__globalToLocal(targetPoint,localPoint),target); touchEvent.touchPointID = touchId; touchEvent.isPrimaryTouchPoint = isPrimaryTouchPoint; touchEvent.pressure = touch.pressure; this.__dispatchStack(touchEvent,stack); if(touchType != null) { touchEvent = openfl_events_TouchEvent.__create(touchType,null,touchX,touchY,target.__globalToLocal(targetPoint,localPoint),target); touchEvent.touchPointID = touchId; touchEvent.isPrimaryTouchPoint = isPrimaryTouchPoint; touchEvent.pressure = touch.pressure; this.__dispatchStack(touchEvent,stack); } var touchOverTarget = touchData.touchOverTarget; if(target != touchOverTarget && touchOverTarget != null) { touchEvent = openfl_events_TouchEvent.__create("touchOut",null,touchX,touchY,touchOverTarget.__globalToLocal(targetPoint,localPoint),touchOverTarget); touchEvent.touchPointID = touchId; touchEvent.isPrimaryTouchPoint = isPrimaryTouchPoint; touchEvent.pressure = touch.pressure; this.__dispatchTarget(touchOverTarget,touchEvent); } var touchOutStack = touchData.rollOutStack; var _g = 0; while(_g < touchOutStack.length) { var target1 = touchOutStack[_g]; ++_g; if(stack.indexOf(target1) == -1) { HxOverrides.remove(touchOutStack,target1); touchEvent = openfl_events_TouchEvent.__create("touchRollOut",null,touchX,touchY,touchOverTarget.__globalToLocal(targetPoint,localPoint),touchOverTarget); touchEvent.touchPointID = touchId; touchEvent.isPrimaryTouchPoint = isPrimaryTouchPoint; touchEvent.bubbles = false; touchEvent.pressure = touch.pressure; this.__dispatchTarget(target1,touchEvent); } } var _g1 = 0; while(_g1 < stack.length) { var target2 = stack[_g1]; ++_g1; if(touchOutStack.indexOf(target2) == -1) { if(target2.hasEventListener("touchRollOver")) { touchEvent = openfl_events_TouchEvent.__create("touchRollOver",null,touchX,touchY,touchOverTarget.__globalToLocal(targetPoint,localPoint),target2); touchEvent.touchPointID = touchId; touchEvent.isPrimaryTouchPoint = isPrimaryTouchPoint; touchEvent.bubbles = false; touchEvent.pressure = touch.pressure; this.__dispatchTarget(target2,touchEvent); } if(target2.hasEventListener("touchRollOut")) { touchOutStack.push(target2); } } } if(target != touchOverTarget) { if(target != null) { touchEvent = openfl_events_TouchEvent.__create("touchOver",null,touchX,touchY,target.__globalToLocal(targetPoint,localPoint),target); touchEvent.touchPointID = touchId; touchEvent.isPrimaryTouchPoint = isPrimaryTouchPoint; touchEvent.bubbles = true; touchEvent.pressure = touch.pressure; this.__dispatchTarget(target,touchEvent); } touchData.touchOverTarget = target; } openfl_geom_Point.__pool.release(targetPoint); openfl_geom_Point.__pool.release(localPoint); if(releaseTouchData) { this.__touchData.remove(touchId); touchData.reset(); openfl__$internal_utils_TouchData.__pool.release(touchData); } } ,__registerLimeModule: function(application) { application.onCreateWindow.add($bind(this,this.__addWindow)); application.onUpdate.add($bind(this,this.update)); application.onExit.add($bind(this,this.onModuleExit),false,0); var gamepad = lime_ui_Gamepad.devices.iterator(); while(gamepad.hasNext()) { var gamepad1 = gamepad.next(); this.__onGamepadConnect(gamepad1); } lime_ui_Gamepad.onConnect.add($bind(this,this.__onGamepadConnect)); lime_ui_Touch.onStart.add($bind(this,this.onTouchStart)); lime_ui_Touch.onMove.add($bind(this,this.onTouchMove)); lime_ui_Touch.onEnd.add($bind(this,this.onTouchEnd)); lime_ui_Touch.onCancel.add($bind(this,this.onTouchCancel)); } ,__resize: function() { var cacheWidth = this.stageWidth; var cacheHeight = this.stageHeight; var windowWidth = this.window.__width * this.window.__scale | 0; var windowHeight = this.window.__height * this.window.__scale | 0; this.__logicalWidth = windowWidth; this.__logicalHeight = windowHeight; this.__displayMatrix.identity(); if(this.get_fullScreenSourceRect() != null && this.window.__fullscreen) { this.stageWidth = this.get_fullScreenSourceRect().width | 0; this.stageHeight = this.get_fullScreenSourceRect().height | 0; var displayScaleX = windowWidth / this.stageWidth; var displayScaleY = windowHeight / this.stageHeight; this.__displayMatrix.translate(-this.get_fullScreenSourceRect().x,-this.get_fullScreenSourceRect().y); this.__displayMatrix.scale(displayScaleX,displayScaleY); this.__displayRect.setTo(this.get_fullScreenSourceRect().get_left(),this.get_fullScreenSourceRect().get_right(),this.get_fullScreenSourceRect().get_top(),this.get_fullScreenSourceRect().get_bottom()); } else { if(this.__logicalWidth == 0 && this.__logicalHeight == 0) { this.stageWidth = windowWidth; this.stageHeight = windowHeight; } else { this.stageWidth = this.__logicalWidth; this.stageHeight = this.__logicalHeight; var scaleX = windowWidth / this.stageWidth; var scaleY = windowHeight / this.stageHeight; var targetScale = Math.min(scaleX,scaleY); var offsetX = Math.round((windowWidth - this.stageWidth * targetScale) / 2); var offsetY = Math.round((windowHeight - this.stageHeight * targetScale) / 2); this.__displayMatrix.scale(targetScale,targetScale); this.__displayMatrix.translate(offsetX,offsetY); } this.__displayRect.setTo(0,0,this.stageWidth,this.stageHeight); } if(this.context3D != null) { this.context3D.configureBackBuffer(windowWidth,windowHeight,0,true,true,true); } var _g = 0; var _g1 = this.stage3Ds; while(_g < _g1.get_length()) { var stage3D = _g1.get(_g); ++_g; stage3D.__resize(windowWidth,windowHeight); } if(this.__renderer != null) { this.__renderer.__resize(windowWidth,windowHeight); } if(this.stageWidth != cacheWidth || this.stageHeight != cacheHeight) { this.__renderDirty = true; this.__setTransformDirty(); this.__dispatchEvent(new openfl_events_Event("resize")); } } ,__setLogicalSize: function(width,height) { this.__logicalWidth = width; this.__logicalHeight = height; this.__resize(); } ,__startDrag: function(sprite,lockCenter,bounds) { if(bounds == null) { this.__dragBounds = null; } else { this.__dragBounds = new openfl_geom_Rectangle(); var right = bounds.get_right(); var bottom = bounds.get_bottom(); this.__dragBounds.x = right < bounds.x ? right : bounds.x; this.__dragBounds.y = bottom < bounds.y ? bottom : bounds.y; this.__dragBounds.width = Math.abs(bounds.width); this.__dragBounds.height = Math.abs(bounds.height); } this.__dragObject = sprite; if(this.__dragObject != null) { if(lockCenter) { this.__dragOffsetX = 0; this.__dragOffsetY = 0; } else { var mouse = openfl_geom_Point.__pool.get(); mouse.setTo(this.get_mouseX(),this.get_mouseY()); var parent = this.__dragObject.parent; if(parent != null) { var _this = parent.__getWorldTransform(); var norm = _this.a * _this.d - _this.b * _this.c; if(norm == 0) { mouse.x = -_this.tx; mouse.y = -_this.ty; } else { var px = 1.0 / norm * (_this.c * (_this.ty - mouse.y) + _this.d * (mouse.x - _this.tx)); mouse.y = 1.0 / norm * (_this.a * (mouse.y - _this.ty) + _this.b * (_this.tx - mouse.x)); mouse.x = px; } } this.__dragOffsetX = this.__dragObject.get_x() - mouse.x; this.__dragOffsetY = this.__dragObject.get_y() - mouse.y; openfl_geom_Point.__pool.release(mouse); } } } ,__stopDrag: function(sprite) { this.__dragBounds = null; this.__dragObject = null; } ,__unregisterLimeModule: function(application) { application.onCreateWindow.remove($bind(this,this.__addWindow)); application.onUpdate.remove($bind(this,this.update)); application.onExit.remove($bind(this,this.onModuleExit)); lime_ui_Gamepad.onConnect.remove($bind(this,this.__onGamepadConnect)); lime_ui_Touch.onStart.remove($bind(this,this.onTouchStart)); lime_ui_Touch.onMove.remove($bind(this,this.onTouchMove)); lime_ui_Touch.onEnd.remove($bind(this,this.onTouchEnd)); lime_ui_Touch.onCancel.remove($bind(this,this.onTouchCancel)); } ,__update: function(transformOnly,updateChildren) { if(transformOnly) { if(this.__transformDirty) { openfl_display_DisplayObjectContainer.prototype.__update.call(this,true,updateChildren); if(updateChildren) { this.__transformDirty = false; } } } else if(this.__transformDirty || this.__renderDirty) { openfl_display_DisplayObjectContainer.prototype.__update.call(this,false,updateChildren); if(updateChildren) { if(openfl_display_DisplayObject.__supportDOM) { this.__wasDirty = true; } } } else if(!this.__renderDirty && this.__wasDirty) { openfl_display_DisplayObjectContainer.prototype.__update.call(this,false,updateChildren); if(updateChildren) { this.__wasDirty = false; } } } ,get_color: function() { return this.__color; } ,set_color: function(value) { if(value == null) { this.__transparent = true; value = 0; } else { this.__transparent = false; } if(this.__color != value) { var r = (value & 16711680) >>> 16; var g = (value & 65280) >>> 8; var b = value & 255; this.__colorSplit[0] = r / 255; this.__colorSplit[1] = g / 255; this.__colorSplit[2] = b / 255; this.__colorString = "#" + StringTools.hex(value & 16777215,6); this.__renderDirty = true; this.__color = -16777216 | value & 16777215; } return value; } ,get_contentsScaleFactor: function() { return this.__contentsScaleFactor; } ,get_displayState: function() { return this.__displayState; } ,set_displayState: function(value) { if(this.window != null) { if(value == 2) { if(this.window.__fullscreen) { this.window.set_fullscreen(false); } } else if(!this.window.__fullscreen) { this.window.set_fullscreen(true); } } return this.__displayState = value; } ,get_focus: function() { return this.__focus; } ,set_focus: function(value) { if(value != this.__focus) { var oldFocus = this.__focus; this.__focus = value; this.__cacheFocus = value; if(oldFocus != null) { var event = new openfl_events_FocusEvent("focusOut",true,false,value,false,0); var stack = []; oldFocus.__getInteractive(stack); stack.reverse(); this.__dispatchStack(event,stack); } if(value != null) { var event1 = new openfl_events_FocusEvent("focusIn",true,false,oldFocus,false,0); var stack1 = []; value.__getInteractive(stack1); stack1.reverse(); this.__dispatchStack(event1,stack1); } } return value; } ,get_frameRate: function() { if(this.window != null) { return this.window.__backend.getFrameRate(); } return 0; } ,set_frameRate: function(value) { if(this.window != null) { return this.window.__backend.setFrameRate(value); } return value; } ,get_fullScreenHeight: function() { var tmp = this.window.__scale; return Math.ceil(this.window.get_display().currentMode.height * tmp); } ,get_fullScreenSourceRect: function() { if(this.__fullScreenSourceRect == null) { return null; } else { return this.__fullScreenSourceRect.clone(); } } ,set_fullScreenSourceRect: function(value) { if(value == null) { if(this.__fullScreenSourceRect != null) { this.__fullScreenSourceRect = null; this.__resize(); } } else if(!value.equals(this.__fullScreenSourceRect)) { this.__fullScreenSourceRect = value.clone(); this.__resize(); } return value; } ,get_fullScreenWidth: function() { var tmp = this.window.__scale; return Math.ceil(this.window.get_display().currentMode.width * tmp); } ,set_height: function(value) { return this.get_height(); } ,get_mouseX: function() { return this.__mouseX; } ,get_mouseY: function() { return this.__mouseY; } ,get_quality: function() { return this.__quality; } ,set_quality: function(value) { this.__quality = value; if(this.__renderer != null) { var tmp = this.get_quality(); this.__renderer.__allowSmoothing = tmp != 2; } return value; } ,set_rotation: function(value) { return 0; } ,get_scaleMode: function() { return this.__scaleMode; } ,set_scaleMode: function(value) { return this.__scaleMode = value; } ,set_scaleX: function(value) { return 0; } ,set_scaleY: function(value) { return 0; } ,get_tabEnabled: function() { return false; } ,set_tabEnabled: function(value) { throw new js__$Boot_HaxeError(new openfl_errors_IllegalOperationError("Error: The Stage class does not implement this property or method.")); } ,get_tabIndex: function() { return -1; } ,set_tabIndex: function(value) { throw new js__$Boot_HaxeError(new openfl_errors_IllegalOperationError("Error: The Stage class does not implement this property or method.")); } ,set_transform: function(value) { return this.get_transform(); } ,set_width: function(value) { return this.get_width(); } ,set_x: function(value) { return 0; } ,set_y: function(value) { return 0; } ,__class__: openfl_display_Stage ,__properties__: $extend(openfl_display_DisplayObjectContainer.prototype.__properties__,{set_scaleMode:"set_scaleMode",get_scaleMode:"get_scaleMode",set_quality:"set_quality",get_quality:"get_quality",set_fullScreenSourceRect:"set_fullScreenSourceRect",get_fullScreenSourceRect:"get_fullScreenSourceRect",get_fullScreenWidth:"get_fullScreenWidth",get_fullScreenHeight:"get_fullScreenHeight",set_frameRate:"set_frameRate",get_frameRate:"get_frameRate",set_focus:"set_focus",get_focus:"get_focus",set_displayState:"set_displayState",get_displayState:"get_displayState",get_contentsScaleFactor:"get_contentsScaleFactor",set_color:"set_color",get_color:"get_color"}) }); var openfl_display_Stage3D = function(stage) { openfl_events_EventDispatcher.call(this); this.__stage = stage; this.__height = 0; this.__projectionTransform = new openfl_geom_Matrix3D(); this.__renderTransform = new openfl_geom_Matrix3D(); this.__width = 0; this.__x = 0; this.__y = 0; this.visible = true; if(stage.stageWidth > 0 && stage.stageHeight > 0) { this.__resize(stage.stageWidth,stage.stageHeight); } }; $hxClasses["openfl.display.Stage3D"] = openfl_display_Stage3D; openfl_display_Stage3D.__name__ = ["openfl","display","Stage3D"]; openfl_display_Stage3D.__active = null; openfl_display_Stage3D.__super__ = openfl_events_EventDispatcher; openfl_display_Stage3D.prototype = $extend(openfl_events_EventDispatcher.prototype,{ context3D: null ,visible: null ,__contextLost: null ,__contextRequested: null ,__height: null ,__indexBuffer: null ,__projectionTransform: null ,__renderTransform: null ,__stage: null ,__vertexBuffer: null ,__width: null ,__x: null ,__y: null ,__canvas: null ,__renderContext: null ,__style: null ,__webgl: null ,requestContext3D: function(context3DRenderMode,profile) { if(profile == null) { profile = 0; } if(context3DRenderMode == null) { context3DRenderMode = 0; } if(this.__contextLost) { this.__contextRequested = true; return; } if(this.context3D != null) { this.__contextRequested = true; haxe_Timer.delay($bind(this,this.__dispatchCreate),1); } else if(!this.__contextRequested) { this.__contextRequested = true; haxe_Timer.delay($bind(this,this.__createContext),1); } } ,requestContext3DMatchingProfiles: function(profiles) { this.requestContext3D(); } ,__createContext: function() { var stage = this.__stage; var renderer = stage.__renderer; if(renderer.__type == "cairo" || renderer.__type == "canvas") { this.__dispatchError(); return; } if(renderer.__type == "opengl") { this.context3D = new openfl_display3D_Context3D(stage,stage.context3D.__contextState,this); this.__dispatchCreate(); } else if(renderer.__type == "dom") { this.__canvas = window.document.createElement("canvas"); this.__canvas.width = stage.stageWidth; this.__canvas.height = stage.stageHeight; var $window = stage.window; var attributes = renderer.__context.attributes; var transparentBackground = Object.prototype.hasOwnProperty.call(attributes,"background") && attributes.background == null; var colorDepth = Object.prototype.hasOwnProperty.call(attributes,"colorDepth") ? attributes.colorDepth : 32; var options = { alpha : transparentBackground || colorDepth > 16, antialias : Object.prototype.hasOwnProperty.call(attributes,"antialiasing") && attributes.antialiasing > 0, depth : true, premultipliedAlpha : true, stencil : true, preserveDrawingBuffer : false}; this.__webgl = js_html__$CanvasElement_CanvasUtil.getContextWebGL(this.__canvas,options); if(this.__webgl != null) { this.__dispatchError(); } else { this.__dispatchError(); } } } ,__dispatchError: function() { this.__contextRequested = false; this.dispatchEvent(new openfl_events_ErrorEvent("error",false,false,"Context3D not available")); } ,__dispatchCreate: function() { if(this.__contextRequested) { this.__contextRequested = false; this.dispatchEvent(new openfl_events_Event("context3DCreate")); } } ,__lostContext: function() { this.__contextLost = true; if(this.context3D != null) { this.context3D.__dispose(); this.__contextRequested = true; } } ,__resize: function(width,height) { if(width != this.__width || height != this.__height) { if(this.__canvas != null) { this.__canvas.width = width; this.__canvas.height = height; } this.__projectionTransform.copyRawDataFrom(openfl__$Vector_Vector_$Impl_$.toFloatVector(null,null,null,[2.0 / (width > 0 ? width : 1),0.0,0.0,0.0,0.0,-2.0 / (height > 0 ? height : 1),0.0,0.0,0.0,0.0,-0.001,0.0,-1.0,1.0,0.0,1.0])); this.__renderTransform.identity(); this.__renderTransform.appendTranslation(this.__x,this.__y,0); this.__renderTransform.append(this.__projectionTransform); this.__width = width; this.__height = height; } } ,__restoreContext: function() { this.__contextLost = false; this.__createContext(); } ,get_x: function() { return this.__x; } ,set_x: function(value) { if(this.__x == value) { return value; } this.__x = value; this.__renderTransform.identity(); this.__renderTransform.appendTranslation(this.__x,this.__y,0); this.__renderTransform.append(this.__projectionTransform); return value; } ,get_y: function() { return this.__y; } ,set_y: function(value) { if(this.__y == value) { return value; } this.__y = value; this.__renderTransform.identity(); this.__renderTransform.appendTranslation(this.__x,this.__y,0); this.__renderTransform.append(this.__projectionTransform); return value; } ,__class__: openfl_display_Stage3D ,__properties__: {set_y:"set_y",get_y:"get_y",set_x:"set_x",get_x:"get_x"} }); var openfl_display__$StageAlign_StageAlign_$Impl_$ = {}; $hxClasses["openfl.display._StageAlign.StageAlign_Impl_"] = openfl_display__$StageAlign_StageAlign_$Impl_$; openfl_display__$StageAlign_StageAlign_$Impl_$.__name__ = ["openfl","display","_StageAlign","StageAlign_Impl_"]; openfl_display__$StageAlign_StageAlign_$Impl_$.fromString = function(value) { switch(value) { case "bottom": return 0; case "bottomLeft": return 1; case "bottomRight": return 2; case "left": return 3; case "right": return 4; case "top": return 5; case "topLeft": return 6; case "topRight": return 7; default: return null; } }; openfl_display__$StageAlign_StageAlign_$Impl_$.toString = function(value) { switch(value) { case 0: return "bottom"; case 1: return "bottomLeft"; case 2: return "bottomRight"; case 3: return "left"; case 4: return "right"; case 5: return "top"; case 6: return "topLeft"; case 7: return "topRight"; default: return null; } }; var openfl_display__$StageDisplayState_StageDisplayState_$Impl_$ = {}; $hxClasses["openfl.display._StageDisplayState.StageDisplayState_Impl_"] = openfl_display__$StageDisplayState_StageDisplayState_$Impl_$; openfl_display__$StageDisplayState_StageDisplayState_$Impl_$.__name__ = ["openfl","display","_StageDisplayState","StageDisplayState_Impl_"]; openfl_display__$StageDisplayState_StageDisplayState_$Impl_$.fromString = function(value) { switch(value) { case "fullScreen": return 0; case "fullScreenInteractive": return 1; case "normal": return 2; default: return null; } }; openfl_display__$StageDisplayState_StageDisplayState_$Impl_$.toString = function(value) { switch(value) { case 0: return "fullScreen"; case 1: return "fullScreenInteractive"; case 2: return "normal"; default: return null; } }; var openfl_display__$StageQuality_StageQuality_$Impl_$ = {}; $hxClasses["openfl.display._StageQuality.StageQuality_Impl_"] = openfl_display__$StageQuality_StageQuality_$Impl_$; openfl_display__$StageQuality_StageQuality_$Impl_$.__name__ = ["openfl","display","_StageQuality","StageQuality_Impl_"]; openfl_display__$StageQuality_StageQuality_$Impl_$.fromString = function(value) { switch(value) { case "best": return 0; case "high": return 1; case "low": return 2; case "medium": return 3; default: return null; } }; openfl_display__$StageQuality_StageQuality_$Impl_$.toString = function(value) { switch(value) { case 0: return "best"; case 1: return "high"; case 2: return "low"; case 3: return "medium"; default: return null; } }; var openfl_display__$StageScaleMode_StageScaleMode_$Impl_$ = {}; $hxClasses["openfl.display._StageScaleMode.StageScaleMode_Impl_"] = openfl_display__$StageScaleMode_StageScaleMode_$Impl_$; openfl_display__$StageScaleMode_StageScaleMode_$Impl_$.__name__ = ["openfl","display","_StageScaleMode","StageScaleMode_Impl_"]; openfl_display__$StageScaleMode_StageScaleMode_$Impl_$.fromString = function(value) { switch(value) { case "exactFit": return 0; case "noBorder": return 1; case "noScale": return 2; case "showAll": return 3; default: return null; } }; openfl_display__$StageScaleMode_StageScaleMode_$Impl_$.toString = function(value) { switch(value) { case 0: return "exactFit"; case 1: return "noBorder"; case 2: return "noScale"; case 3: return "showAll"; default: return null; } }; var openfl_display__$TriangleCulling_TriangleCulling_$Impl_$ = {}; $hxClasses["openfl.display._TriangleCulling.TriangleCulling_Impl_"] = openfl_display__$TriangleCulling_TriangleCulling_$Impl_$; openfl_display__$TriangleCulling_TriangleCulling_$Impl_$.__name__ = ["openfl","display","_TriangleCulling","TriangleCulling_Impl_"]; openfl_display__$TriangleCulling_TriangleCulling_$Impl_$.fromString = function(value) { switch(value) { case "negative": return 0; case "none": return 1; case "positive": return 2; default: return null; } }; openfl_display__$TriangleCulling_TriangleCulling_$Impl_$.toString = function(value) { switch(value) { case 0: return "negative"; case 1: return "none"; case 2: return "positive"; default: return null; } }; var openfl_display_Window = function(application,attributes) { lime_ui_Window.call(this,application,attributes); this.stage = new openfl_display_Stage(this,Object.prototype.hasOwnProperty.call(attributes.context,"background") ? attributes.context.background : 16777215); if(Object.prototype.hasOwnProperty.call(attributes,"parameters")) { try { this.stage.get_loaderInfo().parameters = attributes.parameters; } catch( e ) { haxe_CallStack.lastException = e; } } if(Object.prototype.hasOwnProperty.call(attributes,"resizable") && !attributes.resizable) { this.stage.__setLogicalSize(attributes.width,attributes.height); } application.addModule(this.stage); }; $hxClasses["openfl.display.Window"] = openfl_display_Window; openfl_display_Window.__name__ = ["openfl","display","Window"]; openfl_display_Window.__super__ = lime_ui_Window; openfl_display_Window.prototype = $extend(lime_ui_Window.prototype,{ __class__: openfl_display_Window }); var openfl_display3D_Context3D = function(stage,contextState,stage3D) { this.totalGPUMemory = 0; this.profile = 3; this.driverInfo = "OpenGL (Direct blitting)"; this.backBufferWidth = 0; this.backBufferHeight = 0; openfl_events_EventDispatcher.call(this); this.__stage = stage; this.__contextState = contextState; this.__stage3D = stage3D; this.__context = stage.window.context; this.gl = this.__context.webgl; if(this.__contextState == null) { this.__contextState = new openfl__$internal_renderer_context3D_Context3DState(); } this.__state = new openfl__$internal_renderer_context3D_Context3DState(); var this1 = new Float32Array(512); this.__vertexConstants = this1; var this2 = new Float32Array(512); this.__fragmentConstants = this2; var array = [1.0,1.0,1.0,1.0]; var this3; if(array != null) { this3 = new Float32Array(array); } else { this3 = null; } this.__positionScale = this3; this.__programs = new haxe_ds_StringMap(); if(openfl_display3D_Context3D.GL_MAX_VIEWPORT_DIMS == -1) { openfl_display3D_Context3D.GL_MAX_VIEWPORT_DIMS = this.gl.getParameter(this.gl.MAX_VIEWPORT_DIMS); } this.maxBackBufferWidth = openfl_display3D_Context3D.GL_MAX_VIEWPORT_DIMS; this.maxBackBufferHeight = openfl_display3D_Context3D.GL_MAX_VIEWPORT_DIMS; if(openfl_display3D_Context3D.GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT == -1) { var extension = this.gl.getExtension("EXT_texture_filter_anisotropic"); if(extension == null || !Object.prototype.hasOwnProperty.call(extension,"MAX_TEXTURE_MAX_ANISOTROPY_EXT")) { extension = this.gl.getExtension("MOZ_EXT_texture_filter_anisotropic"); } if(extension == null || !Object.prototype.hasOwnProperty.call(extension,"MAX_TEXTURE_MAX_ANISOTROPY_EXT")) { extension = this.gl.getExtension("WEBKIT_EXT_texture_filter_anisotropic"); } if(extension != null) { openfl_display3D_Context3D.GL_TEXTURE_MAX_ANISOTROPY_EXT = extension.TEXTURE_MAX_ANISOTROPY_EXT; openfl_display3D_Context3D.GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT = this.gl.getParameter(extension.MAX_TEXTURE_MAX_ANISOTROPY_EXT); } else { openfl_display3D_Context3D.GL_TEXTURE_MAX_ANISOTROPY_EXT = 0; openfl_display3D_Context3D.GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT = 0; } } if(openfl_display3D_Context3D.GL_DEPTH_STENCIL == -1) { openfl_display3D_Context3D.GL_DEPTH_STENCIL = this.gl.DEPTH_STENCIL; } if(openfl_display3D_Context3D.__driverInfo == null) { var vendor = this.gl.getParameter(this.gl.VENDOR); var version = this.gl.getParameter(this.gl.VERSION); var renderer = this.gl.getParameter(this.gl.RENDERER); var glslVersion = this.gl.getParameter(this.gl.SHADING_LANGUAGE_VERSION); openfl_display3D_Context3D.__driverInfo = "OpenGL Vendor=" + vendor + " Version=" + version + " Renderer=" + renderer + " GLSL=" + glslVersion; } this.driverInfo = openfl_display3D_Context3D.__driverInfo; this.__quadIndexBufferElements = 16383; this.__quadIndexBufferCount = this.__quadIndexBufferElements * 6; var elements = this.__quadIndexBufferCount; var this4; if(elements != null) { this4 = new Uint16Array(elements); } else { this4 = null; } var data = this4; var index = 0; var vertex = 0; var _g1 = 0; var _g = this.__quadIndexBufferElements; while(_g1 < _g) { var i = _g1++; data[index] = vertex; data[index + 1] = vertex + 1; data[index + 2] = vertex + 2; data[index + 3] = vertex + 2; data[index + 4] = vertex + 1; data[index + 5] = vertex + 3; index = index + 6; vertex = vertex + 4; } this.__quadIndexBuffer = this.createIndexBuffer(this.__quadIndexBufferCount); this.__quadIndexBuffer.uploadFromTypedArray(data); }; $hxClasses["openfl.display3D.Context3D"] = openfl_display3D_Context3D; openfl_display3D_Context3D.__name__ = ["openfl","display3D","Context3D"]; openfl_display3D_Context3D.__driverInfo = null; openfl_display3D_Context3D.__super__ = openfl_events_EventDispatcher; openfl_display3D_Context3D.prototype = $extend(openfl_events_EventDispatcher.prototype,{ backBufferHeight: null ,backBufferWidth: null ,driverInfo: null ,maxBackBufferHeight: null ,maxBackBufferWidth: null ,profile: null ,totalGPUMemory: null ,gl: null ,__backBufferAntiAlias: null ,__backBufferTexture: null ,__backBufferWantsBestResolution: null ,__backBufferWantsBestResolutionOnBrowserZoom: null ,__cleared: null ,__context: null ,__contextState: null ,__renderStage3DProgram: null ,__enableErrorChecking: null ,__fragmentConstants: null ,__frontBufferTexture: null ,__positionScale: null ,__present: null ,__programs: null ,__quadIndexBuffer: null ,__quadIndexBufferCount: null ,__quadIndexBufferElements: null ,__stage: null ,__stage3D: null ,__state: null ,__vertexConstants: null ,clear: function(red,green,blue,alpha,depth,stencil,mask) { if(mask == null) { mask = 7; } if(stencil == null) { stencil = 0; } if(depth == null) { depth = 1; } if(alpha == null) { alpha = 1; } if(blue == null) { blue = 0; } if(green == null) { green = 0; } if(red == null) { red = 0; } this.__flushGLFramebuffer(); this.__flushGLViewport(); var clearMask = 0; if((mask & 1) != 0) { if(this.__state.renderToTexture == null) { if(this.__stage.context3D == this && !this.__stage.__renderer.__cleared) { this.__stage.__renderer.__cleared = true; } this.__cleared = true; } clearMask |= this.gl.COLOR_BUFFER_BIT; if(this.__contextState.colorMaskRed != true || this.__contextState.colorMaskGreen != true || this.__contextState.colorMaskBlue != true || this.__contextState.colorMaskAlpha != true) { this.gl.colorMask(true,true,true,true); this.__contextState.colorMaskRed = true; this.__contextState.colorMaskGreen = true; this.__contextState.colorMaskBlue = true; this.__contextState.colorMaskAlpha = true; } this.gl.clearColor(red,green,blue,alpha); } if((mask & 2) != 0) { clearMask |= this.gl.DEPTH_BUFFER_BIT; if(this.__contextState.depthMask != true) { this.gl.depthMask(true); this.__contextState.depthMask = true; } this.gl.clearDepth(depth); } if((mask & 4) != 0) { clearMask |= this.gl.STENCIL_BUFFER_BIT; if(this.__contextState.stencilWriteMask != 255) { this.gl.stencilMask(255); this.__contextState.stencilWriteMask = 255; } this.gl.clearStencil(stencil); this.__contextState.stencilWriteMask = 255; } if(clearMask == 0) { return; } this.__setGLScissorTest(false); this.gl.clear(clearMask); } ,configureBackBuffer: function(width,height,antiAlias,enableDepthAndStencil,wantsBestResolution,wantsBestResolutionOnBrowserZoom) { if(wantsBestResolutionOnBrowserZoom == null) { wantsBestResolutionOnBrowserZoom = false; } if(wantsBestResolution == null) { wantsBestResolution = false; } if(enableDepthAndStencil == null) { enableDepthAndStencil = true; } if(this.__stage3D == null) { this.backBufferWidth = width; this.backBufferHeight = height; this.__backBufferAntiAlias = antiAlias; this.__state.backBufferEnableDepthAndStencil = enableDepthAndStencil; this.__backBufferWantsBestResolution = wantsBestResolution; this.__backBufferWantsBestResolutionOnBrowserZoom = wantsBestResolutionOnBrowserZoom; } else { if(this.__backBufferTexture == null || this.backBufferWidth != width || this.backBufferHeight != height) { this.__backBufferTexture = this.createRectangleTexture(width,height,1,true); this.__frontBufferTexture = this.createRectangleTexture(width,height,1,true); if(this.__stage3D.__vertexBuffer == null) { this.__stage3D.__vertexBuffer = this.createVertexBuffer(4,5); } var vertexData = openfl__$Vector_Vector_$Impl_$.toFloatVector(null,null,null,[width,height,0,1,1,0,height,0,0,1,width,0,0,1,0,0,0,0,0,0.0]); this.__stage3D.__vertexBuffer.uploadFromVector(vertexData,0,20); if(this.__stage3D.__indexBuffer == null) { this.__stage3D.__indexBuffer = this.createIndexBuffer(6); var indexData = openfl__$Vector_Vector_$Impl_$.toIntVector(null,null,null,[0,1,2,2,1,3]); this.__stage3D.__indexBuffer.uploadFromVector(indexData,0,6); } } this.backBufferWidth = width; this.backBufferHeight = height; this.__backBufferAntiAlias = antiAlias; this.__state.backBufferEnableDepthAndStencil = enableDepthAndStencil; this.__backBufferWantsBestResolution = wantsBestResolution; this.__backBufferWantsBestResolutionOnBrowserZoom = wantsBestResolutionOnBrowserZoom; this.__state.__primaryGLFramebuffer = this.__backBufferTexture.__getGLFramebuffer(enableDepthAndStencil,antiAlias,0); this.__frontBufferTexture.__getGLFramebuffer(enableDepthAndStencil,antiAlias,0); } } ,createCubeTexture: function(size,format,optimizeForRenderToTexture,streamingLevels) { if(streamingLevels == null) { streamingLevels = 0; } return new openfl_display3D_textures_CubeTexture(this,size,format,optimizeForRenderToTexture,streamingLevels); } ,createIndexBuffer: function(numIndices,bufferUsage) { if(bufferUsage == null) { bufferUsage = 1; } return new openfl_display3D_IndexBuffer3D(this,numIndices,bufferUsage); } ,createProgram: function(format) { if(format == null) { format = 0; } return new openfl_display3D_Program3D(this,format); } ,createRectangleTexture: function(width,height,format,optimizeForRenderToTexture) { return new openfl_display3D_textures_RectangleTexture(this,width,height,openfl_display3D__$Context3DTextureFormat_Context3DTextureFormat_$Impl_$.toString(format),optimizeForRenderToTexture); } ,createTexture: function(width,height,format,optimizeForRenderToTexture,streamingLevels) { if(streamingLevels == null) { streamingLevels = 0; } return new openfl_display3D_textures_Texture(this,width,height,format,optimizeForRenderToTexture,streamingLevels); } ,createVertexBuffer: function(numVertices,data32PerVertex,bufferUsage) { if(bufferUsage == null) { bufferUsage = 1; } return new openfl_display3D_VertexBuffer3D(this,numVertices,data32PerVertex,openfl_display3D__$Context3DBufferUsage_Context3DBufferUsage_$Impl_$.toString(bufferUsage)); } ,createVideoTexture: function() { return new openfl_display3D_textures_VideoTexture(this); } ,dispose: function(recreate) { if(recreate == null) { recreate = true; } this.gl = null; this.__dispose(); } ,drawToBitmapData: function(destination,srcRect,destPoint) { if(destination == null) { return; } var sourceRect = srcRect != null ? srcRect.__toLimeRectangle() : new lime_math_Rectangle(0,0,this.backBufferWidth,this.backBufferHeight); var destVector = destPoint != null ? destPoint.__toLimeVector2() : new lime_math_Vector2(); if(this.__stage.context3D == this) { if(this.__stage.window != null) { if(this.__stage3D != null) { var xa = -this.__stage3D.get_x() | 0; var ya = -this.__stage3D.get_y() | 0; destVector.x = xa; destVector.y = ya; } var image = this.__stage.window.readPixels(); destination.image.copyPixels(image,sourceRect,destVector); } } else if(this.__backBufferTexture != null) { var cacheRenderToTexture = this.__state.renderToTexture; this.setRenderToBackBuffer(); this.__flushGLFramebuffer(); this.__flushGLViewport(); var elements = this.backBufferWidth * this.backBufferHeight * 4; var this1; if(elements != null) { this1 = new Uint8Array(elements); } else { this1 = null; } var data = this1; var this2 = this.gl; var width = this.backBufferWidth; var height = this.backBufferHeight; var format = this.__backBufferTexture.__format; var type = this.gl.UNSIGNED_BYTE; this2.readPixels(0,0,width,height,format,type,data); var image1 = new lime_graphics_Image(new lime_graphics_ImageBuffer(data,this.backBufferWidth,this.backBufferHeight,32,2)); destination.image.copyPixels(image1,sourceRect,destVector); if(cacheRenderToTexture != null) { this.setRenderToTexture(cacheRenderToTexture,this.__state.renderToTextureDepthStencil,this.__state.renderToTextureAntiAlias,this.__state.renderToTextureSurfaceSelector); } } } ,drawTriangles: function(indexBuffer,firstIndex,numTriangles) { if(numTriangles == null) { numTriangles = -1; } if(firstIndex == null) { firstIndex = 0; } if(this.__state.renderToTexture == null) { if(this.__stage.context3D == this && !this.__stage.__renderer.__cleared) { this.__stage.__renderer.__clear(); } else if(!this.__cleared) { this.clear(0,0,0,0,1,0,1); } } this.__flushGL(); if(this.__state.program != null) { this.__state.program.__flush(); } var count = numTriangles == -1 ? indexBuffer.__numIndices : numTriangles * 3; this.__bindGLElementArrayBuffer(indexBuffer.__id); this.gl.drawElements(this.gl.TRIANGLES,count,indexBuffer.__elementType,firstIndex); } ,present: function() { this.setRenderToBackBuffer(); if(this.__stage3D != null && this.__backBufferTexture != null) { if(!this.__cleared) { this.clear(0,0,0,0,1,0,1); } var cacheBuffer = this.__backBufferTexture; this.__backBufferTexture = this.__frontBufferTexture; this.__frontBufferTexture = cacheBuffer; this.__state.__primaryGLFramebuffer = this.__backBufferTexture.__getGLFramebuffer(this.__state.backBufferEnableDepthAndStencil,this.__backBufferAntiAlias,0); this.__cleared = false; } this.__present = true; } ,setBlendFactors: function(sourceFactor,destinationFactor) { this.setBlendFactorsSeparate(sourceFactor,destinationFactor,sourceFactor,destinationFactor); } ,setBlendFactorsSeparate: function(sourceRGBFactor,destinationRGBFactor,sourceAlphaFactor,destinationAlphaFactor) { this.__state.blendSourceRGBFactor = sourceRGBFactor; this.__state.blendDestinationRGBFactor = destinationRGBFactor; this.__state.blendSourceAlphaFactor = sourceAlphaFactor; this.__state.blendDestinationAlphaFactor = destinationAlphaFactor; this.__setGLBlendEquation(this.gl.FUNC_ADD); } ,setColorMask: function(red,green,blue,alpha) { this.__state.colorMaskRed = red; this.__state.colorMaskGreen = green; this.__state.colorMaskBlue = blue; this.__state.colorMaskAlpha = alpha; } ,setCulling: function(triangleFaceToCull) { this.__state.culling = triangleFaceToCull; } ,setDepthTest: function(depthMask,passCompareMode) { this.__state.depthMask = depthMask; this.__state.depthCompareMode = passCompareMode; } ,setProgram: function(program) { this.__state.program = program; this.__state.shader = null; if(program != null) { var _g1 = 0; var _g = program.__samplerStates.length; while(_g1 < _g) { var i = _g1++; if(this.__state.samplerStates[i] == null) { this.__state.samplerStates[i] = program.__samplerStates[i].clone(); } else { this.__state.samplerStates[i].copyFrom(program.__samplerStates[i]); } } } } ,setProgramConstantsFromByteArray: function(programType,firstRegister,numRegisters,data,byteArrayOffset) { if(numRegisters == 0 || this.__state.program == null) { return; } if(!(this.__state.program != null && this.__state.program.__format == 1)) { if(numRegisters == -1) { numRegisters = (openfl_utils__$ByteArray_ByteArray_$Impl_$.get_length(data) >>> 2) - byteArrayOffset; } var isVertex = programType == 1; var dest = isVertex ? this.__vertexConstants : this.__fragmentConstants; var bytes = openfl_utils__$ByteArray_ByteArray_$Impl_$.toBytes(data); var len = openfl_utils__$ByteArray_ByteArray_$Impl_$.get_length(data); var floatData = len == null ? new Float32Array(bytes.b.bufferValue,0) : new Float32Array(bytes.b.bufferValue,0,len); var outOffset = firstRegister * 4; var inOffset = _$UInt_UInt_$Impl_$.toFloat(byteArrayOffset) / _$UInt_UInt_$Impl_$.toFloat(4) | 0; var _g1 = 0; var _g = numRegisters * 4; while(_g1 < _g) { var i = _g1++; dest[outOffset + i] = floatData[inOffset + i]; } if(this.__state.program != null) { this.__state.program.__markDirty(isVertex,firstRegister,numRegisters); } } } ,setProgramConstantsFromMatrix: function(programType,firstRegister,matrix,transposedMatrix) { if(transposedMatrix == null) { transposedMatrix = false; } if(this.__state.program != null && this.__state.program.__format == 1) { this.__flushGLProgram(); var this1 = new Float32Array(16); var data = this1; var _g = 0; while(_g < 16) { var i = _g++; data[i] = matrix.rawData.get(i); } lime_graphics__$WebGLRenderContext_WebGLRenderContext_$Impl_$.uniformMatrix4fv(this.gl,firstRegister,transposedMatrix,data); } else { var isVertex = programType == 1; var dest = isVertex ? this.__vertexConstants : this.__fragmentConstants; var source = matrix.rawData; var i1 = firstRegister * 4; if(transposedMatrix) { dest[i1++] = source.get(0); dest[i1++] = source.get(4); dest[i1++] = source.get(8); dest[i1++] = source.get(12); dest[i1++] = source.get(1); dest[i1++] = source.get(5); dest[i1++] = source.get(9); dest[i1++] = source.get(13); dest[i1++] = source.get(2); dest[i1++] = source.get(6); dest[i1++] = source.get(10); dest[i1++] = source.get(14); dest[i1++] = source.get(3); dest[i1++] = source.get(7); dest[i1++] = source.get(11); dest[i1++] = source.get(15); } else { dest[i1++] = source.get(0); dest[i1++] = source.get(1); dest[i1++] = source.get(2); dest[i1++] = source.get(3); dest[i1++] = source.get(4); dest[i1++] = source.get(5); dest[i1++] = source.get(6); dest[i1++] = source.get(7); dest[i1++] = source.get(8); dest[i1++] = source.get(9); dest[i1++] = source.get(10); dest[i1++] = source.get(11); dest[i1++] = source.get(12); dest[i1++] = source.get(13); dest[i1++] = source.get(14); dest[i1++] = source.get(15); } if(this.__state.program != null) { this.__state.program.__markDirty(isVertex,firstRegister,4); } } } ,setProgramConstantsFromVector: function(programType,firstRegister,data,numRegisters) { if(numRegisters == null) { numRegisters = -1; } if(numRegisters == 0) { return; } if(!(this.__state.program != null && this.__state.program.__format == 1)) { if(numRegisters == -1) { numRegisters = data.get_length() >> 2; } var isVertex = programType == 1; var dest = isVertex ? this.__vertexConstants : this.__fragmentConstants; var source = data; var sourceIndex = 0; var destIndex = firstRegister * 4; var _g1 = 0; var _g = numRegisters; while(_g1 < _g) { var i = _g1++; dest[destIndex++] = source.get(sourceIndex++); dest[destIndex++] = source.get(sourceIndex++); dest[destIndex++] = source.get(sourceIndex++); dest[destIndex++] = source.get(sourceIndex++); } if(this.__state.program != null) { this.__state.program.__markDirty(isVertex,firstRegister,numRegisters); } } } ,setRenderToBackBuffer: function() { this.__state.renderToTexture = null; } ,setRenderToTexture: function(texture,enableDepthAndStencil,antiAlias,surfaceSelector) { if(surfaceSelector == null) { surfaceSelector = 0; } if(antiAlias == null) { antiAlias = 0; } if(enableDepthAndStencil == null) { enableDepthAndStencil = false; } this.__state.renderToTexture = texture; this.__state.renderToTextureDepthStencil = enableDepthAndStencil; this.__state.renderToTextureAntiAlias = antiAlias; this.__state.renderToTextureSurfaceSelector = surfaceSelector; } ,setSamplerStateAt: function(sampler,wrap,filter,mipfilter) { if(this.__state.samplerStates[sampler] == null) { this.__state.samplerStates[sampler] = new openfl__$internal_renderer_SamplerState(); } var state = this.__state.samplerStates[sampler]; state.wrap = wrap; state.filter = filter; state.mipfilter = mipfilter; } ,setScissorRectangle: function(rectangle) { if(rectangle != null) { this.__state.scissorEnabled = true; this.__state.scissorRectangle.copyFrom(rectangle); } else { this.__state.scissorEnabled = false; } } ,setStencilActions: function(triangleFace,compareMode,actionOnBothPass,actionOnDepthFail,actionOnDepthPassStencilFail) { if(actionOnDepthPassStencilFail == null) { actionOnDepthPassStencilFail = 5; } if(actionOnDepthFail == null) { actionOnDepthFail = 5; } if(actionOnBothPass == null) { actionOnBothPass = 5; } if(compareMode == null) { compareMode = 0; } if(triangleFace == null) { triangleFace = 2; } this.__state.stencilTriangleFace = triangleFace; this.__state.stencilCompareMode = compareMode; this.__state.stencilPass = actionOnBothPass; this.__state.stencilDepthFail = actionOnDepthFail; this.__state.stencilFail = actionOnDepthPassStencilFail; } ,setStencilReferenceValue: function(referenceValue,readMask,writeMask) { if(writeMask == null) { writeMask = 255; } if(readMask == null) { readMask = 255; } this.__state.stencilReferenceValue = referenceValue; this.__state.stencilReadMask = readMask; this.__state.stencilWriteMask = writeMask; } ,setTextureAt: function(sampler,texture) { this.__state.textures[sampler] = texture; } ,setVertexBufferAt: function(index,buffer,bufferOffset,format) { if(format == null) { format = 4; } if(bufferOffset == null) { bufferOffset = 0; } if(buffer == null) { this.gl.disableVertexAttribArray(index); this.__bindGLArrayBuffer(null); return; } this.__bindGLArrayBuffer(buffer.__id); this.gl.enableVertexAttribArray(index); var byteOffset = bufferOffset * 4; switch(format) { case 0: this.gl.vertexAttribPointer(index,4,this.gl.UNSIGNED_BYTE,true,buffer.__stride,byteOffset); break; case 1: this.gl.vertexAttribPointer(index,1,this.gl.FLOAT,false,buffer.__stride,byteOffset); break; case 2: this.gl.vertexAttribPointer(index,2,this.gl.FLOAT,false,buffer.__stride,byteOffset); break; case 3: this.gl.vertexAttribPointer(index,3,this.gl.FLOAT,false,buffer.__stride,byteOffset); break; case 4: this.gl.vertexAttribPointer(index,4,this.gl.FLOAT,false,buffer.__stride,byteOffset); break; default: throw new js__$Boot_HaxeError(new openfl_errors_IllegalOperationError()); } } ,__bindGLArrayBuffer: function(buffer) { if(this.__contextState.__currentGLArrayBuffer != buffer) { this.gl.bindBuffer(this.gl.ARRAY_BUFFER,buffer); this.__contextState.__currentGLArrayBuffer = buffer; } } ,__bindGLElementArrayBuffer: function(buffer) { if(this.__contextState.__currentGLElementArrayBuffer != buffer) { this.gl.bindBuffer(this.gl.ELEMENT_ARRAY_BUFFER,buffer); this.__contextState.__currentGLElementArrayBuffer = buffer; } } ,__bindGLFramebuffer: function(framebuffer) { if(this.__contextState.__currentGLFramebuffer != framebuffer) { this.gl.bindFramebuffer(this.gl.FRAMEBUFFER,framebuffer); this.__contextState.__currentGLFramebuffer = framebuffer; } } ,__bindGLTexture2D: function(texture) { this.gl.bindTexture(this.gl.TEXTURE_2D,texture); this.__contextState.__currentGLTexture2D = texture; } ,__bindGLTextureCubeMap: function(texture) { this.gl.bindTexture(this.gl.TEXTURE_CUBE_MAP,texture); this.__contextState.__currentGLTextureCubeMap = texture; } ,__dispose: function() { this.driverInfo += " (Disposed)"; if(this.__stage3D != null) { this.__stage3D.__indexBuffer = null; this.__stage3D.__vertexBuffer = null; this.__stage3D.context3D = null; this.__stage3D = null; } this.__backBufferTexture = null; this.__context = null; this.__renderStage3DProgram = null; this.__fragmentConstants = null; this.__frontBufferTexture = null; this.__positionScale = null; this.__present = false; this.__quadIndexBuffer = null; this.__stage = null; this.__vertexConstants = null; } ,__drawTriangles: function(firstIndex,count) { if(firstIndex == null) { firstIndex = 0; } if(this.__state.renderToTexture == null) { if(this.__stage.context3D == this && !this.__stage.__renderer.__cleared) { this.__stage.__renderer.__clear(); } else if(!this.__cleared) { this.clear(0,0,0,0,1,0,1); } } this.__flushGL(); if(this.__state.program != null) { this.__state.program.__flush(); } this.gl.drawArrays(this.gl.TRIANGLES,firstIndex,count); } ,__flushGL: function() { this.__flushGLProgram(); this.__flushGLFramebuffer(); this.__flushGLViewport(); this.__flushGLBlend(); if(this.__contextState.colorMaskRed != this.__state.colorMaskRed || this.__contextState.colorMaskGreen != this.__state.colorMaskGreen || this.__contextState.colorMaskBlue != this.__state.colorMaskBlue || this.__contextState.colorMaskAlpha != this.__state.colorMaskAlpha) { this.gl.colorMask(this.__state.colorMaskRed,this.__state.colorMaskGreen,this.__state.colorMaskBlue,this.__state.colorMaskAlpha); this.__contextState.colorMaskRed = this.__state.colorMaskRed; this.__contextState.colorMaskGreen = this.__state.colorMaskGreen; this.__contextState.colorMaskBlue = this.__state.colorMaskBlue; this.__contextState.colorMaskAlpha = this.__state.colorMaskAlpha; } this.__flushGLCulling(); this.__flushGLDepth(); this.__flushGLScissor(); this.__flushGLStencil(); this.__flushGLTextures(); } ,__flushGLBlend: function() { if(this.__contextState.blendDestinationRGBFactor != this.__state.blendDestinationRGBFactor || this.__contextState.blendSourceRGBFactor != this.__state.blendSourceRGBFactor || this.__contextState.blendDestinationAlphaFactor != this.__state.blendDestinationAlphaFactor || this.__contextState.blendSourceAlphaFactor != this.__state.blendSourceAlphaFactor) { this.__setGLBlend(true); if(this.__state.blendDestinationRGBFactor == this.__state.blendDestinationAlphaFactor && this.__state.blendSourceRGBFactor == this.__state.blendSourceAlphaFactor) { this.gl.blendFunc(this.__getGLBlend(this.__state.blendSourceRGBFactor),this.__getGLBlend(this.__state.blendDestinationRGBFactor)); } else { this.gl.blendFuncSeparate(this.__getGLBlend(this.__state.blendSourceRGBFactor),this.__getGLBlend(this.__state.blendDestinationRGBFactor),this.__getGLBlend(this.__state.blendSourceAlphaFactor),this.__getGLBlend(this.__state.blendDestinationAlphaFactor)); } this.__contextState.blendDestinationRGBFactor = this.__state.blendDestinationRGBFactor; this.__contextState.blendSourceRGBFactor = this.__state.blendSourceRGBFactor; this.__contextState.blendDestinationAlphaFactor = this.__state.blendDestinationAlphaFactor; this.__contextState.blendSourceAlphaFactor = this.__state.blendSourceAlphaFactor; } } ,__flushGLColor: function() { if(this.__contextState.colorMaskRed != this.__state.colorMaskRed || this.__contextState.colorMaskGreen != this.__state.colorMaskGreen || this.__contextState.colorMaskBlue != this.__state.colorMaskBlue || this.__contextState.colorMaskAlpha != this.__state.colorMaskAlpha) { this.gl.colorMask(this.__state.colorMaskRed,this.__state.colorMaskGreen,this.__state.colorMaskBlue,this.__state.colorMaskAlpha); this.__contextState.colorMaskRed = this.__state.colorMaskRed; this.__contextState.colorMaskGreen = this.__state.colorMaskGreen; this.__contextState.colorMaskBlue = this.__state.colorMaskBlue; this.__contextState.colorMaskAlpha = this.__state.colorMaskAlpha; } } ,__flushGLCulling: function() { if(this.__contextState.culling != this.__state.culling) { if(this.__state.culling == 3) { this.__setGLCullFace(false); } else { this.__setGLCullFace(true); var _g = this.__state.culling; switch(_g) { case 0: this.gl.cullFace(this.gl.BACK); break; case 1: this.gl.cullFace(this.gl.FRONT); break; case 2: this.gl.cullFace(this.gl.FRONT_AND_BACK); break; case 3: break; default: throw new js__$Boot_HaxeError(new openfl_errors_IllegalOperationError()); } } this.__contextState.culling = this.__state.culling; } } ,__flushGLDepth: function() { var depthMask = this.__state.depthMask && (this.__state.renderToTexture != null ? this.__state.renderToTextureDepthStencil : this.__state.backBufferEnableDepthAndStencil); if(this.__contextState.depthMask != depthMask) { this.gl.depthMask(depthMask); this.__contextState.depthMask = depthMask; } if(this.__contextState.depthCompareMode != this.__state.depthCompareMode) { var _g = this.__state.depthCompareMode; switch(_g) { case 0: this.gl.depthFunc(this.gl.ALWAYS); break; case 1: this.gl.depthFunc(this.gl.EQUAL); break; case 2: this.gl.depthFunc(this.gl.GREATER); break; case 3: this.gl.depthFunc(this.gl.GEQUAL); break; case 4: this.gl.depthFunc(this.gl.LESS); break; case 5: this.gl.depthFunc(this.gl.LEQUAL); break; case 6: this.gl.depthFunc(this.gl.NEVER); break; case 7: this.gl.depthFunc(this.gl.NOTEQUAL); break; default: throw new js__$Boot_HaxeError(new openfl_errors_IllegalOperationError()); } this.__contextState.depthCompareMode = this.__state.depthCompareMode; } } ,__flushGLFramebuffer: function() { if(this.__state.renderToTexture != null) { if(this.__contextState.renderToTexture != this.__state.renderToTexture || this.__contextState.renderToTextureSurfaceSelector != this.__state.renderToTextureSurfaceSelector) { var framebuffer = this.__state.renderToTexture.__getGLFramebuffer(this.__state.renderToTextureDepthStencil,this.__state.renderToTextureAntiAlias,this.__state.renderToTextureSurfaceSelector); this.__bindGLFramebuffer(framebuffer); this.__contextState.renderToTexture = this.__state.renderToTexture; this.__contextState.renderToTextureAntiAlias = this.__state.renderToTextureAntiAlias; this.__contextState.renderToTextureDepthStencil = this.__state.renderToTextureDepthStencil; this.__contextState.renderToTextureSurfaceSelector = this.__state.renderToTextureSurfaceSelector; } this.__setGLDepthTest(this.__state.renderToTextureDepthStencil); this.__setGLStencilTest(this.__state.renderToTextureDepthStencil); this.__setGLFrontFace(true); } else { if(this.__stage == null && this.backBufferWidth == 0 && this.backBufferHeight == 0) { throw new js__$Boot_HaxeError(new openfl_errors_Error("Context3D backbuffer has not been configured")); } if(this.__contextState.renderToTexture != null || this.__contextState.__currentGLFramebuffer != this.__state.__primaryGLFramebuffer || this.__contextState.backBufferEnableDepthAndStencil != this.__state.backBufferEnableDepthAndStencil) { this.__bindGLFramebuffer(this.__state.__primaryGLFramebuffer); this.__contextState.renderToTexture = null; this.__contextState.backBufferEnableDepthAndStencil = this.__state.backBufferEnableDepthAndStencil; } this.__setGLDepthTest(this.__state.backBufferEnableDepthAndStencil); this.__setGLStencilTest(this.__state.backBufferEnableDepthAndStencil); this.__setGLFrontFace(this.__stage.context3D != this); } } ,__flushGLProgram: function() { var shader = this.__state.shader; var program = this.__state.program; if(this.__contextState.shader != shader) { if(this.__contextState.shader != null) { this.__contextState.shader.__disable(); } if(shader != null) { shader.__enable(); } this.__contextState.shader = shader; } if(this.__contextState.program != program) { if(this.__contextState.program != null) { this.__contextState.program.__disable(); } if(program != null) { program.__enable(); } this.__contextState.program = program; } if(program != null && program.__format == 0) { this.__positionScale[1] = this.__stage.context3D == this && this.__state.renderToTexture == null ? 1.0 : -1.0; program.__setPositionScale(this.__positionScale); } } ,__flushGLScissor: function() { if(!this.__state.scissorEnabled) { if(this.__contextState.scissorEnabled != this.__state.scissorEnabled) { this.__setGLScissorTest(false); this.__contextState.scissorEnabled = false; } } else { this.__setGLScissorTest(true); this.__contextState.scissorEnabled = true; var scissorX = this.__state.scissorRectangle.x | 0; var scissorY = this.__state.scissorRectangle.y | 0; var scissorWidth = this.__state.scissorRectangle.width | 0; var scissorHeight = this.__state.scissorRectangle.height | 0; if(this.__state.renderToTexture == null && this.__stage3D == null) { var contextHeight = this.__stage.window.__height * this.__stage.window.__scale | 0; scissorY = contextHeight - (this.__state.scissorRectangle.height | 0) - scissorY; } if(this.__contextState.scissorRectangle.x != scissorX || this.__contextState.scissorRectangle.y != scissorY || this.__contextState.scissorRectangle.width != scissorWidth || this.__contextState.scissorRectangle.height != scissorHeight) { this.gl.scissor(scissorX,scissorY,scissorWidth,scissorHeight); this.__contextState.scissorRectangle.setTo(scissorX,scissorY,scissorWidth,scissorHeight); } } } ,__flushGLStencil: function() { if(this.__contextState.stencilTriangleFace != this.__state.stencilTriangleFace || this.__contextState.stencilPass != this.__state.stencilPass || this.__contextState.stencilDepthFail != this.__state.stencilDepthFail || this.__contextState.stencilFail != this.__state.stencilFail) { this.gl.stencilOpSeparate(this.__getGLTriangleFace(this.__state.stencilTriangleFace),this.__getGLStencilAction(this.__state.stencilFail),this.__getGLStencilAction(this.__state.stencilDepthFail),this.__getGLStencilAction(this.__state.stencilPass)); this.__contextState.stencilTriangleFace = this.__state.stencilTriangleFace; this.__contextState.stencilPass = this.__state.stencilPass; this.__contextState.stencilDepthFail = this.__state.stencilDepthFail; this.__contextState.stencilFail = this.__state.stencilFail; } if(this.__contextState.stencilWriteMask != this.__state.stencilWriteMask) { this.gl.stencilMask(this.__state.stencilWriteMask); this.__contextState.stencilWriteMask = this.__state.stencilWriteMask; } if(this.__contextState.stencilCompareMode != this.__state.stencilCompareMode || this.__contextState.stencilReferenceValue != this.__state.stencilReferenceValue || this.__contextState.stencilReadMask != this.__state.stencilReadMask) { this.gl.stencilFunc(this.__getGLCompareMode(this.__state.stencilCompareMode),this.__state.stencilReferenceValue,this.__state.stencilReadMask); this.__contextState.stencilCompareMode = this.__state.stencilCompareMode; this.__contextState.stencilReferenceValue = this.__state.stencilReferenceValue; this.__contextState.stencilReadMask = this.__state.stencilReadMask; } } ,__flushGLTextures: function() { var sampler = 0; var texture; var samplerState; var _g1 = 0; var _g = this.__state.textures.length; while(_g1 < _g) { var i = _g1++; texture = this.__state.textures[i]; samplerState = this.__state.samplerStates[i]; if(samplerState == null) { this.__state.samplerStates[i] = new openfl__$internal_renderer_SamplerState(); samplerState = this.__state.samplerStates[i]; } this.gl.activeTexture(this.gl.TEXTURE0 + sampler); if(texture != null) { if(texture.__textureTarget == this.gl.TEXTURE_2D) { this.__bindGLTexture2D(texture.__getTexture()); } else { this.__bindGLTextureCubeMap(texture.__getTexture()); } this.__contextState.textures[i] = texture; texture.__setSamplerState(samplerState); } else { this.__bindGLTexture2D(null); } if(this.__state.program != null && this.__state.program.__format == 0 && samplerState.textureAlpha) { this.gl.activeTexture(this.gl.TEXTURE0 + sampler + 4); if(texture != null && texture.__alphaTexture != null) { if(texture.__alphaTexture.__textureTarget == this.gl.TEXTURE_2D) { this.__bindGLTexture2D(texture.__alphaTexture.__getTexture()); } else { this.__bindGLTextureCubeMap(texture.__alphaTexture.__getTexture()); } texture.__alphaTexture.__setSamplerState(samplerState); this.gl.uniform1i(this.__state.program.__agalAlphaSamplerEnabled[sampler].location,1); } else { this.__bindGLTexture2D(null); this.gl.uniform1i(this.__state.program.__agalAlphaSamplerEnabled[sampler].location,0); } } ++sampler; } } ,__flushGLViewport: function() { if(this.__state.renderToTexture == null) { if(this.__stage.context3D == this) { var x = this.__stage3D == null ? 0 : this.__stage3D.get_x() | 0; var y = this.__stage.window.__height * this.__stage.window.__scale - this.backBufferHeight - (this.__stage3D == null ? 0 : this.__stage3D.get_y()) | 0; this.gl.viewport(x,y,this.backBufferWidth,this.backBufferHeight); } else { this.gl.viewport(0,0,this.backBufferWidth,this.backBufferHeight); } } else { var width = 0; var height = 0; if(js_Boot.__instanceof(this.__state.renderToTexture,openfl_display3D_textures_Texture)) { var texture2D = this.__state.renderToTexture; width = texture2D.__width; height = texture2D.__height; } else if(js_Boot.__instanceof(this.__state.renderToTexture,openfl_display3D_textures_RectangleTexture)) { var rectTexture = this.__state.renderToTexture; width = rectTexture.__width; height = rectTexture.__height; } else if(js_Boot.__instanceof(this.__state.renderToTexture,openfl_display3D_textures_CubeTexture)) { var cubeTexture = this.__state.renderToTexture; width = cubeTexture.__size; height = cubeTexture.__size; } this.gl.viewport(0,0,width,height); } } ,__getGLBlend: function(blendFactor) { switch(blendFactor) { case 0: return this.gl.DST_ALPHA; case 1: return this.gl.DST_COLOR; case 2: return this.gl.ONE; case 3: return this.gl.ONE_MINUS_DST_ALPHA; case 4: return this.gl.ONE_MINUS_DST_COLOR; case 5: return this.gl.ONE_MINUS_SRC_ALPHA; case 6: return this.gl.ONE_MINUS_SRC_COLOR; case 7: return this.gl.SRC_ALPHA; case 8: return this.gl.SRC_COLOR; case 9: return this.gl.ZERO; default: throw new js__$Boot_HaxeError(new openfl_errors_IllegalOperationError()); } } ,__getGLCompareMode: function(mode) { switch(mode) { case 0: return this.gl.ALWAYS; case 1: return this.gl.EQUAL; case 2: return this.gl.GREATER; case 3: return this.gl.GEQUAL; case 4: return this.gl.LESS; case 5: return this.gl.LEQUAL; case 6: return this.gl.NEVER; case 7: return this.gl.NOTEQUAL; default: return this.gl.EQUAL; } } ,__getGLStencilAction: function(action) { switch(action) { case 0: return this.gl.DECR; case 1: return this.gl.DECR_WRAP; case 2: return this.gl.INCR; case 3: return this.gl.INCR_WRAP; case 4: return this.gl.INVERT; case 5: return this.gl.KEEP; case 6: return this.gl.REPLACE; case 7: return this.gl.ZERO; default: return this.gl.KEEP; } } ,__getGLTriangleFace: function(face) { switch(face) { case 0: return this.gl.BACK; case 1: return this.gl.FRONT; case 2: return this.gl.FRONT_AND_BACK; case 3: return this.gl.NONE; default: return this.gl.FRONT_AND_BACK; } } ,__renderStage3D: function(stage3D) { var context = stage3D.context3D; if(context != null && context != this && context.__frontBufferTexture != null && stage3D.visible && this.backBufferHeight > 0 && this.backBufferWidth > 0) { if(this.__renderStage3DProgram == null) { var vertexAssembler = new openfl_utils_AGALMiniAssembler(); vertexAssembler.assemble(openfl_display3D__$Context3DProgramType_Context3DProgramType_$Impl_$.toString(1),"m44 op, va0, vc0\n" + "mov v0, va1"); var fragmentAssembler = new openfl_utils_AGALMiniAssembler(); fragmentAssembler.assemble(openfl_display3D__$Context3DProgramType_Context3DProgramType_$Impl_$.toString(0),"tex ft1, v0, fs0 <2d,nearest,nomip>\n" + "mov oc, ft1"); this.__renderStage3DProgram = this.createProgram(); this.__renderStage3DProgram.upload(vertexAssembler.agalcode,fragmentAssembler.agalcode); } this.setProgram(this.__renderStage3DProgram); this.setBlendFactors(2,9); this.setColorMask(true,true,true,true); this.setCulling(3); this.setDepthTest(false,0); this.setStencilActions(); this.setStencilReferenceValue(0,0,0); this.setScissorRectangle(null); this.setTextureAt(0,context.__frontBufferTexture); this.setVertexBufferAt(0,stage3D.__vertexBuffer,0,3); this.setVertexBufferAt(1,stage3D.__vertexBuffer,3,2); this.setProgramConstantsFromMatrix(1,0,stage3D.__renderTransform,true); this.drawTriangles(stage3D.__indexBuffer); this.__present = true; } } ,__setGLBlend: function(enable) { if(this.__contextState.__enableGLBlend != enable) { if(enable) { this.gl.enable(this.gl.BLEND); } else { this.gl.disable(this.gl.BLEND); } this.__contextState.__enableGLBlend = enable; } } ,__setGLBlendEquation: function(value) { if(this.__contextState.__glBlendEquation != value) { this.gl.blendEquation(value); this.__contextState.__glBlendEquation = value; } } ,__setGLCullFace: function(enable) { if(this.__contextState.__enableGLCullFace != enable) { if(enable) { this.gl.enable(this.gl.CULL_FACE); } else { this.gl.disable(this.gl.CULL_FACE); } this.__contextState.__enableGLCullFace = enable; } } ,__setGLDepthTest: function(enable) { if(this.__contextState.__enableGLDepthTest != enable) { if(enable) { this.gl.enable(this.gl.DEPTH_TEST); } else { this.gl.disable(this.gl.DEPTH_TEST); } this.__contextState.__enableGLDepthTest = enable; } } ,__setGLFrontFace: function(counterClockWise) { if(this.__contextState.__frontFaceGLCCW != counterClockWise) { this.gl.frontFace(counterClockWise ? this.gl.CCW : this.gl.CW); this.__contextState.__frontFaceGLCCW = counterClockWise; } } ,__setGLScissorTest: function(enable) { if(this.__contextState.__enableGLScissorTest != enable) { if(enable) { this.gl.enable(this.gl.SCISSOR_TEST); } else { this.gl.disable(this.gl.SCISSOR_TEST); } this.__contextState.__enableGLScissorTest = enable; } } ,__setGLStencilTest: function(enable) { if(this.__contextState.__enableGLStencilTest != enable) { if(enable) { this.gl.enable(this.gl.STENCIL_TEST); } else { this.gl.disable(this.gl.STENCIL_TEST); } this.__contextState.__enableGLStencilTest = enable; } } ,get_enableErrorChecking: function() { return this.__enableErrorChecking; } ,set_enableErrorChecking: function(value) { return this.__enableErrorChecking = value; } ,__class__: openfl_display3D_Context3D ,__properties__: {set_enableErrorChecking:"set_enableErrorChecking",get_enableErrorChecking:"get_enableErrorChecking"} }); var openfl_display3D__$Context3DBlendFactor_Context3DBlendFactor_$Impl_$ = {}; $hxClasses["openfl.display3D._Context3DBlendFactor.Context3DBlendFactor_Impl_"] = openfl_display3D__$Context3DBlendFactor_Context3DBlendFactor_$Impl_$; openfl_display3D__$Context3DBlendFactor_Context3DBlendFactor_$Impl_$.__name__ = ["openfl","display3D","_Context3DBlendFactor","Context3DBlendFactor_Impl_"]; openfl_display3D__$Context3DBlendFactor_Context3DBlendFactor_$Impl_$.fromString = function(value) { switch(value) { case "destinationAlpha": return 0; case "destinationColor": return 1; case "one": return 2; case "oneMinusDestinationAlpha": return 3; case "oneMinusDestinationColor": return 4; case "oneMinusSourceAlpha": return 5; case "oneMinusSourceColor": return 6; case "sourceAlpha": return 7; case "sourceColor": return 8; case "zero": return 9; default: return null; } }; openfl_display3D__$Context3DBlendFactor_Context3DBlendFactor_$Impl_$.toString = function(value) { switch(value) { case 0: return "destinationAlpha"; case 1: return "destinationColor"; case 2: return "one"; case 3: return "oneMinusDestinationAlpha"; case 4: return "oneMinusDestinationColor"; case 5: return "oneMinusSourceAlpha"; case 6: return "oneMinusSourceColor"; case 7: return "sourceAlpha"; case 8: return "sourceColor"; case 9: return "zero"; default: return null; } }; var openfl_display3D__$Context3DBufferUsage_Context3DBufferUsage_$Impl_$ = {}; $hxClasses["openfl.display3D._Context3DBufferUsage.Context3DBufferUsage_Impl_"] = openfl_display3D__$Context3DBufferUsage_Context3DBufferUsage_$Impl_$; openfl_display3D__$Context3DBufferUsage_Context3DBufferUsage_$Impl_$.__name__ = ["openfl","display3D","_Context3DBufferUsage","Context3DBufferUsage_Impl_"]; openfl_display3D__$Context3DBufferUsage_Context3DBufferUsage_$Impl_$.fromString = function(value) { switch(value) { case "dynamicDraw": return 0; case "staticDraw": return 1; default: return null; } }; openfl_display3D__$Context3DBufferUsage_Context3DBufferUsage_$Impl_$.toString = function(value) { switch(value) { case 0: return "dynamicDraw"; case 1: return "staticDraw"; default: return null; } }; var openfl_display3D__$Context3DCompareMode_Context3DCompareMode_$Impl_$ = {}; $hxClasses["openfl.display3D._Context3DCompareMode.Context3DCompareMode_Impl_"] = openfl_display3D__$Context3DCompareMode_Context3DCompareMode_$Impl_$; openfl_display3D__$Context3DCompareMode_Context3DCompareMode_$Impl_$.__name__ = ["openfl","display3D","_Context3DCompareMode","Context3DCompareMode_Impl_"]; openfl_display3D__$Context3DCompareMode_Context3DCompareMode_$Impl_$.fromString = function(value) { switch(value) { case "always": return 0; case "equal": return 1; case "greater": return 2; case "greaterEqual": return 3; case "less": return 4; case "lessEqual": return 5; case "never": return 6; case "notEqual": return 7; default: return null; } }; openfl_display3D__$Context3DCompareMode_Context3DCompareMode_$Impl_$.toString = function(value) { switch(value) { case 0: return "always"; case 1: return "equal"; case 2: return "greater"; case 3: return "greaterEqual"; case 4: return "less"; case 5: return "lessEqual"; case 6: return "never"; case 7: return "notEqual"; default: return null; } }; var openfl_display3D__$Context3DMipFilter_Context3DMipFilter_$Impl_$ = {}; $hxClasses["openfl.display3D._Context3DMipFilter.Context3DMipFilter_Impl_"] = openfl_display3D__$Context3DMipFilter_Context3DMipFilter_$Impl_$; openfl_display3D__$Context3DMipFilter_Context3DMipFilter_$Impl_$.__name__ = ["openfl","display3D","_Context3DMipFilter","Context3DMipFilter_Impl_"]; openfl_display3D__$Context3DMipFilter_Context3DMipFilter_$Impl_$.fromString = function(value) { switch(value) { case "miplinear": return 0; case "mipnearest": return 1; case "mipnone": return 2; default: return null; } }; openfl_display3D__$Context3DMipFilter_Context3DMipFilter_$Impl_$.toString = function(value) { switch(value) { case 0: return "miplinear"; case 1: return "mipnearest"; case 2: return "mipnone"; default: return null; } }; var openfl_display3D__$Context3DProfile_Context3DProfile_$Impl_$ = {}; $hxClasses["openfl.display3D._Context3DProfile.Context3DProfile_Impl_"] = openfl_display3D__$Context3DProfile_Context3DProfile_$Impl_$; openfl_display3D__$Context3DProfile_Context3DProfile_$Impl_$.__name__ = ["openfl","display3D","_Context3DProfile","Context3DProfile_Impl_"]; openfl_display3D__$Context3DProfile_Context3DProfile_$Impl_$.fromString = function(value) { switch(value) { case "baseline": return 0; case "baselineConstrained": return 1; case "baselineExtended": return 2; case "standard": return 3; case "standardConstrained": return 4; case "standardExtended": return 5; default: return null; } }; openfl_display3D__$Context3DProfile_Context3DProfile_$Impl_$.toString = function(value) { switch(value) { case 0: return "baseline"; case 1: return "baselineConstrained"; case 2: return "baselineExtended"; case 3: return "standard"; case 4: return "standardConstrained"; case 5: return "standardExtended"; default: return null; } }; var openfl_display3D__$Context3DProgramFormat_Context3DProgramFormat_$Impl_$ = {}; $hxClasses["openfl.display3D._Context3DProgramFormat.Context3DProgramFormat_Impl_"] = openfl_display3D__$Context3DProgramFormat_Context3DProgramFormat_$Impl_$; openfl_display3D__$Context3DProgramFormat_Context3DProgramFormat_$Impl_$.__name__ = ["openfl","display3D","_Context3DProgramFormat","Context3DProgramFormat_Impl_"]; openfl_display3D__$Context3DProgramFormat_Context3DProgramFormat_$Impl_$.fromString = function(value) { switch(value) { case "agal": return 0; case "glsl": return 1; default: return null; } }; openfl_display3D__$Context3DProgramFormat_Context3DProgramFormat_$Impl_$.toString = function(value) { switch(value) { case 0: return "agal"; case 1: return "glsl"; default: return null; } }; var openfl_display3D__$Context3DProgramType_Context3DProgramType_$Impl_$ = {}; $hxClasses["openfl.display3D._Context3DProgramType.Context3DProgramType_Impl_"] = openfl_display3D__$Context3DProgramType_Context3DProgramType_$Impl_$; openfl_display3D__$Context3DProgramType_Context3DProgramType_$Impl_$.__name__ = ["openfl","display3D","_Context3DProgramType","Context3DProgramType_Impl_"]; openfl_display3D__$Context3DProgramType_Context3DProgramType_$Impl_$.fromString = function(value) { switch(value) { case "fragment": return 0; case "vertex": return 1; default: return null; } }; openfl_display3D__$Context3DProgramType_Context3DProgramType_$Impl_$.toString = function(value) { switch(value) { case 0: return "fragment"; case 1: return "vertex"; default: return null; } }; var openfl_display3D__$Context3DRenderMode_Context3DRenderMode_$Impl_$ = {}; $hxClasses["openfl.display3D._Context3DRenderMode.Context3DRenderMode_Impl_"] = openfl_display3D__$Context3DRenderMode_Context3DRenderMode_$Impl_$; openfl_display3D__$Context3DRenderMode_Context3DRenderMode_$Impl_$.__name__ = ["openfl","display3D","_Context3DRenderMode","Context3DRenderMode_Impl_"]; openfl_display3D__$Context3DRenderMode_Context3DRenderMode_$Impl_$.fromString = function(value) { switch(value) { case "auto": return 0; case "software": return 1; default: return null; } }; openfl_display3D__$Context3DRenderMode_Context3DRenderMode_$Impl_$.toString = function(value) { switch(value) { case 0: return "auto"; case 1: return "software"; default: return null; } }; var openfl_display3D__$Context3DStencilAction_Context3DStencilAction_$Impl_$ = {}; $hxClasses["openfl.display3D._Context3DStencilAction.Context3DStencilAction_Impl_"] = openfl_display3D__$Context3DStencilAction_Context3DStencilAction_$Impl_$; openfl_display3D__$Context3DStencilAction_Context3DStencilAction_$Impl_$.__name__ = ["openfl","display3D","_Context3DStencilAction","Context3DStencilAction_Impl_"]; openfl_display3D__$Context3DStencilAction_Context3DStencilAction_$Impl_$.fromString = function(value) { switch(value) { case "decrementSaturate": return 0; case "decrementWrap": return 1; case "incrementSaturate": return 2; case "incrementWrap": return 3; case "invert": return 4; case "keep": return 5; case "set": return 6; case "zero": return 7; default: return null; } }; openfl_display3D__$Context3DStencilAction_Context3DStencilAction_$Impl_$.toString = function(value) { switch(value) { case 0: return "decrementSaturate"; case 1: return "decrementWrap"; case 2: return "incrementSaturate"; case 3: return "incrementWrap"; case 4: return "invert"; case 5: return "keep"; case 6: return "set"; case 7: return "zero"; default: return null; } }; var openfl_display3D__$Context3DTextureFilter_Context3DTextureFilter_$Impl_$ = {}; $hxClasses["openfl.display3D._Context3DTextureFilter.Context3DTextureFilter_Impl_"] = openfl_display3D__$Context3DTextureFilter_Context3DTextureFilter_$Impl_$; openfl_display3D__$Context3DTextureFilter_Context3DTextureFilter_$Impl_$.__name__ = ["openfl","display3D","_Context3DTextureFilter","Context3DTextureFilter_Impl_"]; openfl_display3D__$Context3DTextureFilter_Context3DTextureFilter_$Impl_$.fromString = function(value) { switch(value) { case "anisotropic16x": return 0; case "anisotropic2x": return 1; case "anisotropic4x": return 2; case "anisotropic8x": return 3; case "linear": return 4; case "nearest": return 5; default: return null; } }; openfl_display3D__$Context3DTextureFilter_Context3DTextureFilter_$Impl_$.toString = function(value) { switch(value) { case 0: return "anisotropic16x"; case 1: return "anisotropic2x"; case 2: return "anisotropic4x"; case 3: return "anisotropic8x"; case 4: return "linear"; case 5: return "nearest"; default: return null; } }; var openfl_display3D__$Context3DTextureFormat_Context3DTextureFormat_$Impl_$ = {}; $hxClasses["openfl.display3D._Context3DTextureFormat.Context3DTextureFormat_Impl_"] = openfl_display3D__$Context3DTextureFormat_Context3DTextureFormat_$Impl_$; openfl_display3D__$Context3DTextureFormat_Context3DTextureFormat_$Impl_$.__name__ = ["openfl","display3D","_Context3DTextureFormat","Context3DTextureFormat_Impl_"]; openfl_display3D__$Context3DTextureFormat_Context3DTextureFormat_$Impl_$.fromString = function(value) { switch(value) { case "bgrPacked565": return 0; case "bgra": return 1; case "bgraPacked4444": return 2; case "compressed": return 3; case "compressedAlpha": return 4; case "rgbaHalfFloat": return 5; default: return null; } }; openfl_display3D__$Context3DTextureFormat_Context3DTextureFormat_$Impl_$.toString = function(value) { switch(value) { case 0: return "bgrPacked565"; case 1: return "bgra"; case 2: return "bgraPacked4444"; case 3: return "compressed"; case 4: return "compressedAlpha"; case 5: return "rgbaHalfFloat"; default: return null; } }; var openfl_display3D__$Context3DTriangleFace_Context3DTriangleFace_$Impl_$ = {}; $hxClasses["openfl.display3D._Context3DTriangleFace.Context3DTriangleFace_Impl_"] = openfl_display3D__$Context3DTriangleFace_Context3DTriangleFace_$Impl_$; openfl_display3D__$Context3DTriangleFace_Context3DTriangleFace_$Impl_$.__name__ = ["openfl","display3D","_Context3DTriangleFace","Context3DTriangleFace_Impl_"]; openfl_display3D__$Context3DTriangleFace_Context3DTriangleFace_$Impl_$.fromString = function(value) { switch(value) { case "back": return 0; case "front": return 1; case "frontAndBack": return 2; case "none": return 3; default: return null; } }; openfl_display3D__$Context3DTriangleFace_Context3DTriangleFace_$Impl_$.toString = function(value) { switch(value) { case 0: return "back"; case 1: return "front"; case 2: return "frontAndBack"; case 3: return "none"; default: return null; } }; var openfl_display3D__$Context3DVertexBufferFormat_Context3DVertexBufferFormat_$Impl_$ = {}; $hxClasses["openfl.display3D._Context3DVertexBufferFormat.Context3DVertexBufferFormat_Impl_"] = openfl_display3D__$Context3DVertexBufferFormat_Context3DVertexBufferFormat_$Impl_$; openfl_display3D__$Context3DVertexBufferFormat_Context3DVertexBufferFormat_$Impl_$.__name__ = ["openfl","display3D","_Context3DVertexBufferFormat","Context3DVertexBufferFormat_Impl_"]; openfl_display3D__$Context3DVertexBufferFormat_Context3DVertexBufferFormat_$Impl_$.fromString = function(value) { switch(value) { case "bytes4": return 0; case "float1": return 1; case "float2": return 2; case "float3": return 3; case "float4": return 4; default: return null; } }; openfl_display3D__$Context3DVertexBufferFormat_Context3DVertexBufferFormat_$Impl_$.toString = function(value) { switch(value) { case 0: return "bytes4"; case 1: return "float1"; case 2: return "float2"; case 3: return "float3"; case 4: return "float4"; default: return null; } }; var openfl_display3D__$Context3DWrapMode_Context3DWrapMode_$Impl_$ = {}; $hxClasses["openfl.display3D._Context3DWrapMode.Context3DWrapMode_Impl_"] = openfl_display3D__$Context3DWrapMode_Context3DWrapMode_$Impl_$; openfl_display3D__$Context3DWrapMode_Context3DWrapMode_$Impl_$.__name__ = ["openfl","display3D","_Context3DWrapMode","Context3DWrapMode_Impl_"]; openfl_display3D__$Context3DWrapMode_Context3DWrapMode_$Impl_$.fromString = function(value) { switch(value) { case "clamp": return 0; case "clamp_u_repeat_v": return 1; case "repeat": return 2; case "repeat_u_clamp_v": return 3; default: return null; } }; openfl_display3D__$Context3DWrapMode_Context3DWrapMode_$Impl_$.toString = function(value) { switch(value) { case 0: return "clamp"; case 1: return "clamp_u_repeat_v"; case 2: return "repeat"; case 3: return "repeat_u_clamp_v"; default: return null; } }; var openfl_display3D_IndexBuffer3D = function(context3D,numIndices,bufferUsage) { this.__context = context3D; this.__numIndices = numIndices; var gl = this.__context.gl; this.__elementType = gl.UNSIGNED_SHORT; this.__id = gl.createBuffer(); this.__usage = bufferUsage == 0 ? gl.DYNAMIC_DRAW : gl.STATIC_DRAW; }; $hxClasses["openfl.display3D.IndexBuffer3D"] = openfl_display3D_IndexBuffer3D; openfl_display3D_IndexBuffer3D.__name__ = ["openfl","display3D","IndexBuffer3D"]; openfl_display3D_IndexBuffer3D.prototype = { __context: null ,__elementType: null ,__id: null ,__memoryUsage: null ,__numIndices: null ,__tempUInt16Array: null ,__usage: null ,dispose: function() { var gl = this.__context.gl; gl.deleteBuffer(this.__id); } ,uploadFromByteArray: function(data,byteArrayOffset,startOffset,count) { var offset = byteArrayOffset + startOffset * 2; var buffer = openfl_utils__$ByteArray_ByteArray_$Impl_$.toArrayBuffer(data); var this1; if(buffer != null) { if(count == null) { this1 = new Uint16Array(buffer,offset); } else { this1 = new Uint16Array(buffer,offset,count); } } else { this1 = null; } this.uploadFromTypedArray(this1); } ,uploadFromTypedArray: function(data,byteLength) { if(byteLength == null) { byteLength = -1; } if(data == null) { return; } var gl = this.__context.gl; this.__context.__bindGLElementArrayBuffer(this.__id); lime_graphics__$WebGLRenderContext_WebGLRenderContext_$Impl_$.bufferData(gl,gl.ELEMENT_ARRAY_BUFFER,data,this.__usage); } ,uploadFromVector: function(data,startOffset,count) { if(data == null) { return; } var gl = this.__context.gl; var length = startOffset + count; var existingUInt16Array = this.__tempUInt16Array; if(this.__tempUInt16Array == null || this.__tempUInt16Array.length < count) { var this1; if(count != null) { this1 = new Uint16Array(count); } else { this1 = null; } this.__tempUInt16Array = this1; if(existingUInt16Array != null) { this.__tempUInt16Array.set(existingUInt16Array); } } var _g1 = startOffset; var _g = length; while(_g1 < _g) { var i = _g1++; this.__tempUInt16Array[i - startOffset] = data.get(i); } this.uploadFromTypedArray(this.__tempUInt16Array); } ,__class__: openfl_display3D_IndexBuffer3D }; var openfl_display3D_Program3D = function(context3D,format) { this.__context = context3D; this.__format = format; if(this.__format == 0) { this.__agalSamplerUsageMask = 0; this.__agalUniforms = new List(); this.__agalSamplerUniforms = new List(); this.__agalAlphaSamplerUniforms = new List(); this.__agalAlphaSamplerEnabled = []; } else { this.__glslAttribNames = []; this.__glslAttribTypes = []; this.__glslSamplerNames = []; this.__glslUniformLocations = []; this.__glslUniformNames = []; this.__glslUniformTypes = []; } this.__samplerStates = []; }; $hxClasses["openfl.display3D.Program3D"] = openfl_display3D_Program3D; openfl_display3D_Program3D.__name__ = ["openfl","display3D","Program3D"]; openfl_display3D_Program3D.prototype = { __agalAlphaSamplerEnabled: null ,__agalAlphaSamplerUniforms: null ,__agalFragmentUniformMap: null ,__agalPositionScale: null ,__agalSamplerUniforms: null ,__agalSamplerUsageMask: null ,__agalUniforms: null ,__agalVertexUniformMap: null ,__context: null ,__format: null ,__glFragmentShader: null ,__glFragmentSource: null ,__glProgram: null ,__glslAttribNames: null ,__glslAttribTypes: null ,__glslSamplerNames: null ,__glslUniformLocations: null ,__glslUniformNames: null ,__glslUniformTypes: null ,__glVertexShader: null ,__glVertexSource: null ,__samplerStates: null ,dispose: function() { this.__deleteShaders(); } ,getAttributeIndex: function(name) { if(this.__format == 0) { if(StringTools.startsWith(name,"va")) { return Std.parseInt(name.substring(2)); } else { return -1; } } else { var _g1 = 0; var _g = this.__glslAttribNames.length; while(_g1 < _g) { var i = _g1++; if(this.__glslAttribNames[i] == name) { return i; } } return -1; } } ,getConstantIndex: function(name) { if(this.__format == 0) { if(StringTools.startsWith(name,"vc")) { return Std.parseInt(name.substring(2)); } else if(StringTools.startsWith(name,"fc")) { return Std.parseInt(name.substring(2)); } else { return -1; } } else { var _g1 = 0; var _g = this.__glslUniformNames.length; while(_g1 < _g) { var i = _g1++; if(this.__glslUniformNames[i] == name) { return this.__glslUniformLocations[i]; } } return -1; } } ,upload: function(vertexProgram,fragmentProgram) { if(this.__format != 0) { return; } var samplerStates = []; var glslVertex = openfl__$internal_formats_agal_AGALConverter.convertToGLSL(vertexProgram,null); var glslFragment = openfl__$internal_formats_agal_AGALConverter.convertToGLSL(fragmentProgram,samplerStates); if(lime_utils_Log.level == 5) { lime_utils_Log.info(glslVertex,{ fileName : "Program3D.hx", lineNumber : 180, className : "openfl.display3D.Program3D", methodName : "upload"}); lime_utils_Log.info(glslFragment,{ fileName : "Program3D.hx", lineNumber : 181, className : "openfl.display3D.Program3D", methodName : "upload"}); } this.__deleteShaders(); this.__uploadFromGLSL(glslVertex,glslFragment); this.__buildAGALUniformList(); var _g1 = 0; var _g = samplerStates.length; while(_g1 < _g) { var i = _g1++; this.__samplerStates[i] = samplerStates[i]; } } ,uploadSources: function(vertexSource,fragmentSource) { if(this.__format != 1) { return; } var prefix = "#ifdef GL_ES\n\t\t\t#ifdef GL_FRAGMENT_PRECISION_HIGH\n\t\t\tprecision highp float;\n\t\t\t#else\n\t\t\tprecision mediump float;\n\t\t\t#endif\n\t\t\t#endif\n\t\t\t"; var vertex = prefix + vertexSource; var fragment = prefix + fragmentSource; if(vertex == this.__glVertexSource && fragment == this.__glFragmentSource) { return; } this.__processGLSLData(vertexSource,"attribute"); this.__processGLSLData(vertexSource,"uniform"); this.__processGLSLData(fragmentSource,"uniform"); this.__deleteShaders(); this.__uploadFromGLSL(vertex,fragment); var samplerNames = this.__glslSamplerNames; var attribNames = this.__glslAttribNames; var attribTypes = this.__glslAttribTypes; var uniformNames = this.__glslUniformNames; var uniformTypes = this.__glslUniformTypes; this.__glslSamplerNames = []; this.__glslAttribNames = []; this.__glslAttribTypes = []; this.__glslUniformLocations = []; var gl = this.__context.gl; var index; var location; var _g = 0; while(_g < samplerNames.length) { var name = samplerNames[_g]; ++_g; index = gl.getUniformLocation(this.__glProgram,name); this.__glslSamplerNames[index] = name; } var _g1 = 0; var _g2 = attribNames.length; while(_g1 < _g2) { var i = _g1++; index = gl.getAttribLocation(this.__glProgram,attribNames[i]); this.__glslAttribNames[index] = attribNames[i]; this.__glslAttribTypes[index] = attribTypes[i]; } var _g11 = 0; var _g3 = uniformNames.length; while(_g11 < _g3) { var i1 = _g11++; location = gl.getUniformLocation(this.__glProgram,uniformNames[i1]); this.__glslUniformLocations[i1] = location; } } ,__buildAGALUniformList: function() { if(this.__format == 1) { return; } var gl = this.__context.gl; this.__agalUniforms.clear(); this.__agalSamplerUniforms.clear(); this.__agalAlphaSamplerUniforms.clear(); this.__agalAlphaSamplerEnabled = []; this.__agalSamplerUsageMask = 0; var numActive = 0; numActive = gl.getProgramParameter(this.__glProgram,gl.ACTIVE_UNIFORMS); var vertexUniforms = new List(); var fragmentUniforms = new List(); var _g1 = 0; var _g = numActive; while(_g1 < _g) { var i = _g1++; var info = gl.getActiveUniform(this.__glProgram,i); var name = info.name; var size = info.size; var uniformType = info.type; var uniform = new openfl_display3D_Uniform(this.__context); uniform.name = name; uniform.size = size; uniform.type = uniformType; uniform.location = gl.getUniformLocation(this.__glProgram,uniform.name); var indexBracket = uniform.name.indexOf("["); if(indexBracket >= 0) { uniform.name = uniform.name.substring(0,indexBracket); } var _g2 = uniform.type; switch(_g2) { case 35674: uniform.regCount = 2; break; case 35675: uniform.regCount = 3; break; case 35676: uniform.regCount = 4; break; default: uniform.regCount = 1; } uniform.regCount *= uniform.size; this.__agalUniforms.add(uniform); if(uniform.name == "vcPositionScale") { this.__agalPositionScale = uniform; } else if(StringTools.startsWith(uniform.name,"vc")) { uniform.regIndex = Std.parseInt(uniform.name.substring(2)); uniform.regData = this.__context.__vertexConstants; vertexUniforms.add(uniform); } else if(StringTools.startsWith(uniform.name,"fc")) { uniform.regIndex = Std.parseInt(uniform.name.substring(2)); uniform.regData = this.__context.__fragmentConstants; fragmentUniforms.add(uniform); } else if(StringTools.startsWith(uniform.name,"sampler") && uniform.name.indexOf("alpha") == -1) { uniform.regIndex = Std.parseInt(uniform.name.substring(7)); this.__agalSamplerUniforms.add(uniform); var _g4 = 0; var _g3 = uniform.regCount; while(_g4 < _g3) { var reg = _g4++; this.__agalSamplerUsageMask |= 1 << uniform.regIndex + reg; } } else if(StringTools.startsWith(uniform.name,"sampler") && StringTools.endsWith(uniform.name,"_alpha")) { var len = uniform.name.indexOf("_") - 7; uniform.regIndex = Std.parseInt(uniform.name.substring(7,7 + len)) + 4; this.__agalAlphaSamplerUniforms.add(uniform); } else if(StringTools.startsWith(uniform.name,"sampler") && StringTools.endsWith(uniform.name,"_alphaEnabled")) { uniform.regIndex = Std.parseInt(uniform.name.substring(7)); this.__agalAlphaSamplerEnabled[uniform.regIndex] = uniform; } if(lime_utils_Log.level == 5) { haxe_Log.trace("" + i + " name:" + uniform.name + " type:" + uniform.type + " size:" + uniform.size + " location:" + Std.string(uniform.location),{ fileName : "Program3D.hx", lineNumber : 365, className : "openfl.display3D.Program3D", methodName : "__buildAGALUniformList"}); } } this.__agalVertexUniformMap = new openfl_display3D_UniformMap(Lambda.array(vertexUniforms)); this.__agalFragmentUniformMap = new openfl_display3D_UniformMap(Lambda.array(fragmentUniforms)); } ,__deleteShaders: function() { var gl = this.__context.gl; if(this.__glProgram != null) { this.__glProgram = null; } if(this.__glVertexShader != null) { gl.deleteShader(this.__glVertexShader); this.__glVertexShader = null; } if(this.__glFragmentShader != null) { gl.deleteShader(this.__glFragmentShader); this.__glFragmentShader = null; } } ,__disable: function() { var tmp = this.__format == 1; } ,__enable: function() { var gl = this.__context.gl; gl.useProgram(this.__glProgram); if(this.__format == 0) { this.__agalVertexUniformMap.markAllDirty(); this.__agalFragmentUniformMap.markAllDirty(); var _g_head = this.__agalSamplerUniforms.h; while(_g_head != null) { var val = _g_head.item; _g_head = _g_head.next; var sampler = val; if(sampler.regCount == 1) { gl.uniform1i(sampler.location,sampler.regIndex); } else { throw new js__$Boot_HaxeError(new openfl_errors_IllegalOperationError("!!! TODO: uniform location on webgl")); } } var _g_head1 = this.__agalAlphaSamplerUniforms.h; while(_g_head1 != null) { var val1 = _g_head1.item; _g_head1 = _g_head1.next; var sampler1 = val1; if(sampler1.regCount == 1) { gl.uniform1i(sampler1.location,sampler1.regIndex); } else { throw new js__$Boot_HaxeError(new openfl_errors_IllegalOperationError("!!! TODO: uniform location on webgl")); } } } } ,__flush: function() { if(this.__format == 0) { this.__agalVertexUniformMap.flush(); this.__agalFragmentUniformMap.flush(); } else { return; } } ,__getSamplerState: function(sampler) { return this.__samplerStates[sampler]; } ,__markDirty: function(isVertex,index,count) { if(this.__format == 1) { return; } if(isVertex) { this.__agalVertexUniformMap.markDirty(index,count); } else { this.__agalFragmentUniformMap.markDirty(index,count); } } ,__processGLSLData: function(source,storageType) { var lastMatch = 0; var position; var regex; var name; var type; if(storageType == "uniform") { regex = new EReg("uniform ([A-Za-z0-9]+) ([A-Za-z0-9_]+)",""); } else { regex = new EReg("attribute ([A-Za-z0-9]+) ([A-Za-z0-9_]+)",""); } while(regex.matchSub(source,lastMatch)) { type = regex.matched(1); name = regex.matched(2); if(StringTools.startsWith(name,"gl_")) { continue; } if(StringTools.startsWith(type,"sampler")) { this.__glslSamplerNames.push(name); } else { var parameterType; switch(type) { case "bool": parameterType = 0; break; case "bvec2": parameterType = 1; break; case "bvec3": parameterType = 2; break; case "bvec4": parameterType = 3; break; case "dvec2":case "vec2": parameterType = 5; break; case "dvec3":case "vec3": parameterType = 6; break; case "double":case "float": parameterType = 4; break; case "ivec3":case "uvec3": parameterType = 10; break; case "ivec4":case "uvec4": parameterType = 11; break; case "mat2":case "mat2x2": parameterType = 12; break; case "mat2x3": parameterType = 13; break; case "mat2x4": parameterType = 14; break; case "mat3x2": parameterType = 15; break; case "mat3":case "mat3x3": parameterType = 16; break; case "mat3x4": parameterType = 17; break; case "mat4":case "mat4x4": parameterType = 20; break; case "mat4x2": parameterType = 18; break; case "mat4x3": parameterType = 19; break; case "int":case "uint": parameterType = 8; break; case "ivec2":case "uvec2": parameterType = 9; break; case "dvec4":case "vec4": parameterType = 7; break; default: parameterType = null; } if(storageType == "uniform") { this.__glslUniformNames.push(name); this.__glslUniformTypes.push(parameterType); } else { this.__glslAttribNames.push(name); this.__glslAttribTypes.push(parameterType); } } position = regex.matchedPos(); lastMatch = position.pos + position.len; } } ,__setPositionScale: function(positionScale) { if(this.__format == 1) { return; } if(this.__agalPositionScale != null) { var gl = this.__context.gl; var location = this.__agalPositionScale.location; gl.uniform4fv(location,positionScale); } } ,__setSamplerState: function(sampler,state) { this.__samplerStates[sampler] = state; } ,__uploadFromGLSL: function(vertexShaderSource,fragmentShaderSource) { var gl = this.__context.gl; this.__glVertexSource = vertexShaderSource; this.__glFragmentSource = fragmentShaderSource; this.__glVertexShader = gl.createShader(gl.VERTEX_SHADER); gl.shaderSource(this.__glVertexShader,vertexShaderSource); gl.compileShader(this.__glVertexShader); if(gl.getShaderParameter(this.__glVertexShader,gl.COMPILE_STATUS) == 0) { var message = "Error compiling vertex shader"; message += "\n" + gl.getShaderInfoLog(this.__glVertexShader); message += "\n" + vertexShaderSource; lime_utils_Log.error(message,{ fileName : "Program3D.hx", lineNumber : 697, className : "openfl.display3D.Program3D", methodName : "__uploadFromGLSL"}); } this.__glFragmentShader = gl.createShader(gl.FRAGMENT_SHADER); gl.shaderSource(this.__glFragmentShader,fragmentShaderSource); gl.compileShader(this.__glFragmentShader); if(gl.getShaderParameter(this.__glFragmentShader,gl.COMPILE_STATUS) == 0) { var message1 = "Error compiling fragment shader"; message1 += "\n" + gl.getShaderInfoLog(this.__glFragmentShader); message1 += "\n" + fragmentShaderSource; lime_utils_Log.error(message1,{ fileName : "Program3D.hx", lineNumber : 710, className : "openfl.display3D.Program3D", methodName : "__uploadFromGLSL"}); } this.__glProgram = gl.createProgram(); if(this.__format == 0) { var _g = 0; while(_g < 16) { var i = _g++; var name = "va" + i; if(vertexShaderSource.indexOf(" " + name) != -1) { gl.bindAttribLocation(this.__glProgram,i,name); } } } else { var _g1 = 0; var _g11 = this.__glslAttribNames; while(_g1 < _g11.length) { var name1 = _g11[_g1]; ++_g1; if(name1.indexOf("Position") > -1 && StringTools.startsWith(name1,"openfl_")) { gl.bindAttribLocation(this.__glProgram,0,name1); break; } } } gl.attachShader(this.__glProgram,this.__glVertexShader); gl.attachShader(this.__glProgram,this.__glFragmentShader); gl.linkProgram(this.__glProgram); if(gl.getProgramParameter(this.__glProgram,gl.LINK_STATUS) == 0) { var message2 = "Unable to initialize the shader program"; message2 += "\n" + gl.getProgramInfoLog(this.__glProgram); lime_utils_Log.error(message2,{ fileName : "Program3D.hx", lineNumber : 756, className : "openfl.display3D.Program3D", methodName : "__uploadFromGLSL"}); } } ,__class__: openfl_display3D_Program3D }; var openfl_display3D_Uniform = function(context) { this.context = context; this.isDirty = true; var this1 = new lime_utils_BytePointerData(null,0); this.regDataPointer = this1; }; $hxClasses["openfl.display3D.Uniform"] = openfl_display3D_Uniform; openfl_display3D_Uniform.__name__ = ["openfl","display3D","Uniform"]; openfl_display3D_Uniform.prototype = { name: null ,location: null ,type: null ,size: null ,regData: null ,regIndex: null ,regCount: null ,isDirty: null ,context: null ,regDataPointer: null ,flush: function() { var gl = this.context.gl; var index = this.regIndex * 4; var _g = this.type; switch(_g) { case 35664: lime_graphics__$WebGL2RenderContext_WebGL2RenderContext_$Impl_$.uniform2fv(gl,this.location,this.regData.subarray(index,index + this.regCount * 2)); break; case 35665: var location = this.location; var data = this.regData.subarray(index,index + this.regCount * 3); gl.uniform3fv(location,data); break; case 35666: var location1 = this.location; var data1 = this.regData.subarray(index,index + this.regCount * 4); gl.uniform4fv(location1,data1); break; case 35674: lime_graphics__$WebGLRenderContext_WebGLRenderContext_$Impl_$.uniformMatrix2fv(gl,this.location,false,this.regData.subarray(index,index + this.size * 2 * 2)); break; case 35675: lime_graphics__$WebGLRenderContext_WebGLRenderContext_$Impl_$.uniformMatrix3fv(gl,this.location,false,this.regData.subarray(index,index + this.size * 3 * 3)); break; case 35676: lime_graphics__$WebGLRenderContext_WebGLRenderContext_$Impl_$.uniformMatrix4fv(gl,this.location,false,this.regData.subarray(index,index + this.size * 4 * 4)); break; default: var location2 = this.location; var data2 = this.regData.subarray(index,index + this.regCount * 4); gl.uniform4fv(location2,data2); } } ,__getUniformRegisters: function(index,size) { return this.regData.subarray(index,index + size); } ,__class__: openfl_display3D_Uniform }; var openfl_display3D_UniformMap = function(list) { this.__uniforms = list; this.__uniforms.sort(function(a,b) { return Reflect.compare(a.regIndex,b.regIndex); }); var total = 0; var _g = 0; var _g1 = this.__uniforms; while(_g < _g1.length) { var uniform = _g1[_g]; ++_g; if(uniform.regIndex + uniform.regCount > total) { total = uniform.regIndex + uniform.regCount; } } this.__registerLookup = openfl__$Vector_Vector_$Impl_$.toObjectVector(null,total); var _g2 = 0; var _g11 = this.__uniforms; while(_g2 < _g11.length) { var uniform1 = _g11[_g2]; ++_g2; var _g3 = 0; var _g21 = uniform1.regCount; while(_g3 < _g21) { var i = _g3++; this.__registerLookup.set(uniform1.regIndex + i,uniform1); } } this.__anyDirty = this.__allDirty = true; }; $hxClasses["openfl.display3D.UniformMap"] = openfl_display3D_UniformMap; openfl_display3D_UniformMap.__name__ = ["openfl","display3D","UniformMap"]; openfl_display3D_UniformMap.prototype = { __allDirty: null ,__anyDirty: null ,__registerLookup: null ,__uniforms: null ,flush: function() { if(this.__anyDirty) { var _g = 0; var _g1 = this.__uniforms; while(_g < _g1.length) { var uniform = _g1[_g]; ++_g; if(this.__allDirty || uniform.isDirty) { uniform.flush(); uniform.isDirty = false; } } this.__anyDirty = this.__allDirty = false; } } ,markAllDirty: function() { this.__allDirty = true; this.__anyDirty = true; } ,markDirty: function(start,count) { if(this.__allDirty) { return; } var end = start + count; if(end > this.__registerLookup.get_length()) { end = this.__registerLookup.get_length(); } var index = start; while(index < end) { var uniform = this.__registerLookup.get(index); if(uniform != null) { uniform.isDirty = true; this.__anyDirty = true; index = uniform.regIndex + uniform.regCount; } else { ++index; } } } ,__class__: openfl_display3D_UniformMap }; var openfl_display3D_VertexBuffer3D = function(context3D,numVertices,dataPerVertex,bufferUsage) { this.__context = context3D; this.__numVertices = numVertices; this.__vertexSize = dataPerVertex; var gl = this.__context.gl; this.__id = gl.createBuffer(); this.__stride = this.__vertexSize * 4; this.__usage = openfl_display3D__$Context3DBufferUsage_Context3DBufferUsage_$Impl_$.fromString(bufferUsage) == 0 ? gl.DYNAMIC_DRAW : gl.STATIC_DRAW; }; $hxClasses["openfl.display3D.VertexBuffer3D"] = openfl_display3D_VertexBuffer3D; openfl_display3D_VertexBuffer3D.__name__ = ["openfl","display3D","VertexBuffer3D"]; openfl_display3D_VertexBuffer3D.prototype = { __context: null ,__data: null ,__id: null ,__memoryUsage: null ,__numVertices: null ,__stride: null ,__tempFloat32Array: null ,__usage: null ,__vertexSize: null ,dispose: function() { var gl = this.__context.gl; gl.deleteBuffer(this.__id); } ,uploadFromByteArray: function(data,byteArrayOffset,startVertex,numVertices) { var offset = byteArrayOffset + startVertex * this.__stride; var length = numVertices * this.__vertexSize; var buffer = openfl_utils__$ByteArray_ByteArray_$Impl_$.toArrayBuffer(data); var this1; if(buffer != null) { if(length == null) { this1 = new Float32Array(buffer,offset); } else { this1 = new Float32Array(buffer,offset,length); } } else { this1 = null; } this.uploadFromTypedArray(this1); } ,uploadFromTypedArray: function(data,byteLength) { if(byteLength == null) { byteLength = -1; } if(data == null) { return; } var gl = this.__context.gl; this.__context.__bindGLArrayBuffer(this.__id); lime_graphics__$WebGLRenderContext_WebGLRenderContext_$Impl_$.bufferData(gl,gl.ARRAY_BUFFER,data,this.__usage); } ,uploadFromVector: function(data,startVertex,numVertices) { if(data == null) { return; } var gl = this.__context.gl; var start = startVertex * this.__vertexSize; var count = numVertices * this.__vertexSize; var length = start + count; var existingFloat32Array = this.__tempFloat32Array; if(this.__tempFloat32Array == null || this.__tempFloat32Array.length < count) { var this1; if(count != null) { this1 = new Float32Array(count); } else { this1 = null; } this.__tempFloat32Array = this1; if(existingFloat32Array != null) { this.__tempFloat32Array.set(existingFloat32Array); } } var _g1 = start; var _g = length; while(_g1 < _g) { var i = _g1++; this.__tempFloat32Array[i - start] = data.get(i); } this.uploadFromTypedArray(this.__tempFloat32Array); } ,__class__: openfl_display3D_VertexBuffer3D }; var openfl_display3D_textures_TextureBase = function(context) { openfl_events_EventDispatcher.call(this); this.__context = context; var gl = this.__context.gl; this.__textureID = gl.createTexture(); this.__textureContext = this.__context.__context; if(openfl_display3D_textures_TextureBase.__supportsBGRA == null) { openfl_display3D_textures_TextureBase.__textureInternalFormat = gl.RGBA; var bgraExtension = null; if(bgraExtension != null) { openfl_display3D_textures_TextureBase.__supportsBGRA = true; openfl_display3D_textures_TextureBase.__textureFormat = bgraExtension.BGRA_EXT; if(context.__context.type == "opengles") { openfl_display3D_textures_TextureBase.__textureInternalFormat = bgraExtension.BGRA_EXT; } } else { openfl_display3D_textures_TextureBase.__supportsBGRA = false; openfl_display3D_textures_TextureBase.__textureFormat = gl.RGBA; } openfl_display3D_textures_TextureBase.__compressedFormats = new haxe_ds_IntMap(); openfl_display3D_textures_TextureBase.__compressedFormatsAlpha = new haxe_ds_IntMap(); var dxtExtension = gl.getExtension("WEBGL_compressed_texture_s3tc"); var etc1Extension = gl.getExtension("WEBGL_compressed_texture_etc1"); var pvrtcExtension = gl.getExtension("WEBKIT_WEBGL_compressed_texture_pvrtc"); if(dxtExtension != null) { var v = dxtExtension.COMPRESSED_RGBA_S3TC_DXT1_EXT; openfl_display3D_textures_TextureBase.__compressedFormats.h[0] = v; var v1 = dxtExtension.COMPRESSED_RGBA_S3TC_DXT5_EXT; openfl_display3D_textures_TextureBase.__compressedFormatsAlpha.h[0] = v1; } if(etc1Extension != null) { var v2 = etc1Extension.COMPRESSED_RGB_ETC1_WEBGL; openfl_display3D_textures_TextureBase.__compressedFormats.h[2] = v2; var v3 = etc1Extension.COMPRESSED_RGB_ETC1_WEBGL; openfl_display3D_textures_TextureBase.__compressedFormatsAlpha.h[2] = v3; } if(pvrtcExtension != null) { var v4 = pvrtcExtension.COMPRESSED_RGB_PVRTC_4BPPV1_IMG; openfl_display3D_textures_TextureBase.__compressedFormats.h[1] = v4; var v5 = pvrtcExtension.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG; openfl_display3D_textures_TextureBase.__compressedFormatsAlpha.h[1] = v5; } } this.__internalFormat = openfl_display3D_textures_TextureBase.__textureInternalFormat; this.__format = openfl_display3D_textures_TextureBase.__textureFormat; }; $hxClasses["openfl.display3D.textures.TextureBase"] = openfl_display3D_textures_TextureBase; openfl_display3D_textures_TextureBase.__name__ = ["openfl","display3D","textures","TextureBase"]; openfl_display3D_textures_TextureBase.__compressedFormats = null; openfl_display3D_textures_TextureBase.__compressedFormatsAlpha = null; openfl_display3D_textures_TextureBase.__textureFormat = null; openfl_display3D_textures_TextureBase.__textureInternalFormat = null; openfl_display3D_textures_TextureBase.__super__ = openfl_events_EventDispatcher; openfl_display3D_textures_TextureBase.prototype = $extend(openfl_events_EventDispatcher.prototype,{ __alphaTexture: null ,__context: null ,__format: null ,__glDepthRenderbuffer: null ,__glFramebuffer: null ,__glStencilRenderbuffer: null ,__height: null ,__internalFormat: null ,__optimizeForRenderToTexture: null ,__samplerState: null ,__streamingLevels: null ,__textureContext: null ,__textureID: null ,__textureTarget: null ,__width: null ,dispose: function() { var gl = this.__context.gl; if(this.__alphaTexture != null) { this.__alphaTexture.dispose(); } gl.deleteTexture(this.__textureID); } ,__getGLFramebuffer: function(enableDepthAndStencil,antiAlias,surfaceSelector) { var gl = this.__context.gl; if(this.__glFramebuffer == null) { this.__glFramebuffer = gl.createFramebuffer(); this.__context.__bindGLFramebuffer(this.__glFramebuffer); gl.framebufferTexture2D(gl.FRAMEBUFFER,gl.COLOR_ATTACHMENT0,gl.TEXTURE_2D,this.__textureID,0); if(this.__context.__enableErrorChecking) { var code = gl.checkFramebufferStatus(gl.FRAMEBUFFER); if(code != gl.FRAMEBUFFER_COMPLETE) { haxe_Log.trace("Error: Context3D.setRenderToTexture status:" + code + " width:" + this.__width + " height:" + this.__height,{ fileName : "TextureBase.hx", lineNumber : 179, className : "openfl.display3D.textures.TextureBase", methodName : "__getGLFramebuffer"}); } } } if(enableDepthAndStencil && this.__glDepthRenderbuffer == null) { this.__context.__bindGLFramebuffer(this.__glFramebuffer); if(openfl_display3D_Context3D.GL_DEPTH_STENCIL != 0) { this.__glDepthRenderbuffer = gl.createRenderbuffer(); this.__glStencilRenderbuffer = this.__glDepthRenderbuffer; gl.bindRenderbuffer(gl.RENDERBUFFER,this.__glDepthRenderbuffer); gl.renderbufferStorage(gl.RENDERBUFFER,openfl_display3D_Context3D.GL_DEPTH_STENCIL,this.__width,this.__height); gl.framebufferRenderbuffer(gl.FRAMEBUFFER,gl.DEPTH_STENCIL_ATTACHMENT,gl.RENDERBUFFER,this.__glDepthRenderbuffer); } else { this.__glDepthRenderbuffer = gl.createRenderbuffer(); this.__glStencilRenderbuffer = gl.createRenderbuffer(); gl.bindRenderbuffer(gl.RENDERBUFFER,this.__glDepthRenderbuffer); gl.renderbufferStorage(gl.RENDERBUFFER,gl.DEPTH_COMPONENT16,this.__width,this.__height); gl.bindRenderbuffer(gl.RENDERBUFFER,this.__glStencilRenderbuffer); gl.renderbufferStorage(gl.RENDERBUFFER,gl.STENCIL_INDEX8,this.__width,this.__height); gl.framebufferRenderbuffer(gl.FRAMEBUFFER,gl.DEPTH_ATTACHMENT,gl.RENDERBUFFER,this.__glDepthRenderbuffer); gl.framebufferRenderbuffer(gl.FRAMEBUFFER,gl.STENCIL_ATTACHMENT,gl.RENDERBUFFER,this.__glStencilRenderbuffer); } if(this.__context.__enableErrorChecking) { var code1 = gl.checkFramebufferStatus(gl.FRAMEBUFFER); if(code1 != gl.FRAMEBUFFER_COMPLETE) { haxe_Log.trace("Error: Context3D.setRenderToTexture status:" + code1 + " width:" + this.__width + " height:" + this.__height,{ fileName : "TextureBase.hx", lineNumber : 221, className : "openfl.display3D.textures.TextureBase", methodName : "__getGLFramebuffer"}); } } gl.bindRenderbuffer(gl.RENDERBUFFER,null); } return this.__glFramebuffer; } ,__getImage: function(bitmapData) { var image = bitmapData.image; if(!bitmapData.__isValid || image == null) { return null; } lime__$internal_graphics_ImageCanvasUtil.sync(image,false); var gl = this.__context.gl; if(image.type != lime_graphics_ImageType.DATA && !image.get_premultiplied()) { gl.pixelStorei(gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL,1); } else if(!image.get_premultiplied() && image.get_transparent()) { gl.pixelStorei(gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL,0); image = image.clone(); image.set_premultiplied(true); } if(image.get_format() != 0) { image = image.clone(); image.set_format(0); image.buffer.premultiplied = true; } return image; } ,__getTexture: function() { return this.__textureID; } ,__setSamplerState: function(state) { if(!state.equals(this.__samplerState)) { var gl = this.__context.gl; if(this.__textureTarget == this.__context.gl.TEXTURE_CUBE_MAP) { this.__context.__bindGLTextureCubeMap(this.__textureID); } else { this.__context.__bindGLTexture2D(this.__textureID); } var wrapModeS = 0; var wrapModeT = 0; var _g = state.wrap; switch(_g) { case 0: wrapModeS = gl.CLAMP_TO_EDGE; wrapModeT = gl.CLAMP_TO_EDGE; break; case 1: wrapModeS = gl.CLAMP_TO_EDGE; wrapModeT = gl.REPEAT; break; case 2: wrapModeS = gl.REPEAT; wrapModeT = gl.REPEAT; break; case 3: wrapModeS = gl.REPEAT; wrapModeT = gl.CLAMP_TO_EDGE; break; default: throw new js__$Boot_HaxeError(new openfl_errors_Error("wrap bad enum")); } var magFilter = 0; var minFilter = 0; var _g1 = state.filter; if(_g1 == 5) { magFilter = gl.NEAREST; } else { magFilter = gl.LINEAR; } var _g2 = state.mipfilter; switch(_g2) { case 0: if(state.filter == 5) { minFilter = gl.NEAREST_MIPMAP_LINEAR; } else { minFilter = gl.LINEAR_MIPMAP_LINEAR; } break; case 1: if(state.filter == 5) { minFilter = gl.NEAREST_MIPMAP_NEAREST; } else { minFilter = gl.LINEAR_MIPMAP_NEAREST; } break; case 2: if(state.filter == 5) { minFilter = gl.NEAREST; } else { minFilter = gl.LINEAR; } break; default: throw new js__$Boot_HaxeError(new openfl_errors_Error("mipfiter bad enum")); } gl.texParameteri(this.__textureTarget,gl.TEXTURE_MIN_FILTER,minFilter); gl.texParameteri(this.__textureTarget,gl.TEXTURE_MAG_FILTER,magFilter); gl.texParameteri(this.__textureTarget,gl.TEXTURE_WRAP_S,wrapModeS); gl.texParameteri(this.__textureTarget,gl.TEXTURE_WRAP_T,wrapModeT); var tmp = state.lodBias != 0.0; if(this.__samplerState == null) { this.__samplerState = state.clone(); } this.__samplerState.copyFrom(state); return true; } return false; } ,__class__: openfl_display3D_textures_TextureBase }); var openfl_display3D_textures_CubeTexture = function(context,size,format,optimizeForRenderToTexture,streamingLevels) { openfl_display3D_textures_TextureBase.call(this,context); this.__size = size; this.__width = this.__height = this.__size; this.__optimizeForRenderToTexture = optimizeForRenderToTexture; this.__streamingLevels = streamingLevels; this.__textureTarget = this.__context.gl.TEXTURE_CUBE_MAP; this.__uploadedSides = 0; }; $hxClasses["openfl.display3D.textures.CubeTexture"] = openfl_display3D_textures_CubeTexture; openfl_display3D_textures_CubeTexture.__name__ = ["openfl","display3D","textures","CubeTexture"]; openfl_display3D_textures_CubeTexture.__super__ = openfl_display3D_textures_TextureBase; openfl_display3D_textures_CubeTexture.prototype = $extend(openfl_display3D_textures_TextureBase.prototype,{ __framebufferSurface: null ,__size: null ,__uploadedSides: null ,uploadCompressedTextureFromByteArray: function(data,byteArrayOffset,async) { if(async == null) { async = false; } var _gthis = this; if(!async) { this.__uploadCompressedTextureFromByteArray(data,byteArrayOffset); } else { haxe_Timer.delay(function() { _gthis.__uploadCompressedTextureFromByteArray(data,byteArrayOffset); _gthis.dispatchEvent(new openfl_events_Event("textureReady")); },1); } } ,uploadFromBitmapData: function(source,side,miplevel,generateMipmap) { if(generateMipmap == null) { generateMipmap = false; } if(miplevel == null) { miplevel = 0; } if(source == null) { return; } var size = this.__size >> miplevel; if(size == 0) { return; } var image = this.__getImage(source); if(image == null) { return; } if(miplevel == 0 && image.buffer != null && image.buffer.data == null && image.buffer.get_src() != null) { var gl = this.__context.gl; var size1 = this.__size >> miplevel; if(size1 == 0) { return; } var target = this.__sideToTarget(side); this.__context.__bindGLTextureCubeMap(this.__textureID); lime_graphics__$WebGLRenderContext_WebGLRenderContext_$Impl_$.texImage2D(gl,target,miplevel,this.__internalFormat,this.__format,gl.UNSIGNED_BYTE,image.buffer.get_src()); this.__context.__bindGLTextureCubeMap(null); this.__uploadedSides |= 1 << side; return; } this.uploadFromTypedArray(image.get_data(),side,miplevel); } ,uploadFromByteArray: function(data,byteArrayOffset,side,miplevel) { if(miplevel == null) { miplevel = 0; } if(byteArrayOffset == 0) { this.uploadFromTypedArray(data.b,side,miplevel); return; } var buffer = openfl_utils__$ByteArray_ByteArray_$Impl_$.toArrayBuffer(data); var this1; if(buffer != null) { this1 = new Uint8Array(buffer,byteArrayOffset); } else { this1 = null; } this.uploadFromTypedArray(this1,side,miplevel); } ,uploadFromTypedArray: function(data,side,miplevel) { if(miplevel == null) { miplevel = 0; } if(data == null) { return; } var gl = this.__context.gl; var size = this.__size >> miplevel; if(size == 0) { return; } var target = this.__sideToTarget(side); this.__context.__bindGLTextureCubeMap(this.__textureID); lime_graphics__$WebGLRenderContext_WebGLRenderContext_$Impl_$.texImage2D(gl,target,miplevel,this.__internalFormat,size,size,0,this.__format,gl.UNSIGNED_BYTE,data); this.__context.__bindGLTextureCubeMap(null); this.__uploadedSides |= 1 << side; } ,__getGLFramebuffer: function(enableDepthAndStencil,antiAlias,surfaceSelector) { var gl = this.__context.gl; if(this.__glFramebuffer == null) { this.__glFramebuffer = gl.createFramebuffer(); this.__framebufferSurface = -1; } if(this.__framebufferSurface != surfaceSelector) { this.__framebufferSurface = surfaceSelector; this.__context.__bindGLFramebuffer(this.__glFramebuffer); gl.framebufferTexture2D(gl.FRAMEBUFFER,gl.COLOR_ATTACHMENT0,gl.TEXTURE_CUBE_MAP_POSITIVE_X + surfaceSelector,this.__textureID,0); if(this.__context.__enableErrorChecking) { var code = gl.checkFramebufferStatus(gl.FRAMEBUFFER); if(code != gl.FRAMEBUFFER_COMPLETE) { haxe_Log.trace("Error: Context3D.setRenderToTexture status:" + code + " width:" + this.__width + " height:" + this.__height,{ fileName : "CubeTexture.hx", lineNumber : 172, className : "openfl.display3D.textures.CubeTexture", methodName : "__getGLFramebuffer"}); } } } return openfl_display3D_textures_TextureBase.prototype.__getGLFramebuffer.call(this,enableDepthAndStencil,antiAlias,surfaceSelector); } ,__setSamplerState: function(state) { if(openfl_display3D_textures_TextureBase.prototype.__setSamplerState.call(this,state)) { var gl = this.__context.gl; if(state.mipfilter != 2 && !this.__samplerState.mipmapGenerated) { gl.generateMipmap(gl.TEXTURE_CUBE_MAP); this.__samplerState.mipmapGenerated = true; } if(openfl_display3D_Context3D.GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT != 0) { var aniso; var _g = state.filter; switch(_g) { case 0: aniso = 16; break; case 1: aniso = 2; break; case 2: aniso = 4; break; case 3: aniso = 8; break; default: aniso = 1; } if(aniso > openfl_display3D_Context3D.GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT) { aniso = openfl_display3D_Context3D.GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT; } gl.texParameterf(gl.TEXTURE_CUBE_MAP,openfl_display3D_Context3D.GL_TEXTURE_MAX_ANISOTROPY_EXT,aniso); } return true; } return false; } ,__sideToTarget: function(side) { var gl = this.__context.gl; switch(side) { case 0: return gl.TEXTURE_CUBE_MAP_POSITIVE_X; case 1: return gl.TEXTURE_CUBE_MAP_NEGATIVE_X; case 2: return gl.TEXTURE_CUBE_MAP_POSITIVE_Y; case 3: return gl.TEXTURE_CUBE_MAP_NEGATIVE_Y; case 4: return gl.TEXTURE_CUBE_MAP_POSITIVE_Z; case 5: return gl.TEXTURE_CUBE_MAP_NEGATIVE_Z; default: throw new js__$Boot_HaxeError(new openfl_errors_IllegalOperationError()); } } ,__uploadCompressedTextureFromByteArray: function(data,byteArrayOffset) { var _gthis = this; var reader = new openfl__$internal_formats_atf_ATFReader(data,byteArrayOffset); var alpha = reader.readHeader(this.__size,this.__size,true); var gl = this.__context.gl; this.__context.__bindGLTextureCubeMap(this.__textureID); var hasTexture = false; reader.readTextures(function(side,level,gpuFormat,width,height,blockLength,bytes) { var format = alpha ? openfl_display3D_textures_TextureBase.__compressedFormatsAlpha.h[gpuFormat] : openfl_display3D_textures_TextureBase.__compressedFormats.h[gpuFormat]; if(format == 0) { return; } hasTexture = true; var target = _gthis.__sideToTarget(side); _gthis.__format = format; _gthis.__internalFormat = format; if(alpha && gpuFormat == 2) { var size = blockLength / 2 | 0; var _gthis1 = _gthis.__internalFormat; var buffer = bytes.b.buffer; var this1; if(buffer != null) { if(size == null) { this1 = new Uint8Array(buffer,0); } else { this1 = new Uint8Array(buffer,0,size); } } else { this1 = null; } lime_graphics__$WebGLRenderContext_WebGLRenderContext_$Impl_$.compressedTexImage2D(gl,target,level,_gthis1,width,height,0,this1); var alphaTexture = new openfl_display3D_textures_CubeTexture(_gthis.__context,_gthis.__size,3,_gthis.__optimizeForRenderToTexture,_gthis.__streamingLevels); alphaTexture.__format = format; alphaTexture.__internalFormat = format; _gthis.__context.__bindGLTextureCubeMap(alphaTexture.__textureID); var alphaTexture1 = alphaTexture.__internalFormat; var buffer1 = bytes.b.buffer; var this2; if(buffer1 != null) { if(size == null) { this2 = new Uint8Array(buffer1,size); } else { this2 = new Uint8Array(buffer1,size,size); } } else { this2 = null; } lime_graphics__$WebGLRenderContext_WebGLRenderContext_$Impl_$.compressedTexImage2D(gl,target,level,alphaTexture1,width,height,0,this2); _gthis.__alphaTexture = alphaTexture; } else { var _gthis2 = _gthis.__internalFormat; var buffer2 = bytes.b.buffer; var this3; if(buffer2 != null) { if(blockLength == null) { this3 = new Uint8Array(buffer2,0); } else { this3 = new Uint8Array(buffer2,0,blockLength); } } else { this3 = null; } lime_graphics__$WebGLRenderContext_WebGLRenderContext_$Impl_$.compressedTexImage2D(gl,target,level,_gthis2,width,height,0,this3); } }); if(!hasTexture) { var _g = 0; while(_g < 6) { var side1 = _g++; var elements = this.__size * this.__size * 4; var this4; if(elements != null) { this4 = new Uint8Array(elements); } else { this4 = null; } var data1 = this4; var tmp = this.__sideToTarget(side1); lime_graphics__$WebGLRenderContext_WebGLRenderContext_$Impl_$.texImage2D(gl,tmp,0,this.__internalFormat,this.__size,this.__size,0,this.__format,gl.UNSIGNED_BYTE,data1); } } this.__context.__bindGLTextureCubeMap(null); } ,__class__: openfl_display3D_textures_CubeTexture }); var openfl_display3D_textures_RectangleTexture = function(context,width,height,format,optimizeForRenderToTexture) { openfl_display3D_textures_TextureBase.call(this,context); this.__width = width; this.__height = height; this.__optimizeForRenderToTexture = optimizeForRenderToTexture; this.__textureTarget = this.__context.gl.TEXTURE_2D; this.uploadFromTypedArray(null); if(optimizeForRenderToTexture) { this.__getGLFramebuffer(true,0,0); } }; $hxClasses["openfl.display3D.textures.RectangleTexture"] = openfl_display3D_textures_RectangleTexture; openfl_display3D_textures_RectangleTexture.__name__ = ["openfl","display3D","textures","RectangleTexture"]; openfl_display3D_textures_RectangleTexture.__super__ = openfl_display3D_textures_TextureBase; openfl_display3D_textures_RectangleTexture.prototype = $extend(openfl_display3D_textures_TextureBase.prototype,{ uploadFromBitmapData: function(source) { if(source == null) { return; } var image = this.__getImage(source); if(image == null) { return; } if(image.buffer != null && image.buffer.data == null && image.buffer.get_src() != null) { var gl = this.__context.gl; this.__context.__bindGLTexture2D(this.__textureID); lime_graphics__$WebGLRenderContext_WebGLRenderContext_$Impl_$.texImage2D(gl,this.__textureTarget,0,this.__internalFormat,this.__format,gl.UNSIGNED_BYTE,image.buffer.get_src()); this.__context.__bindGLTexture2D(null); return; } this.uploadFromTypedArray(image.get_data()); } ,uploadFromByteArray: function(data,byteArrayOffset) { if(byteArrayOffset == 0) { this.uploadFromTypedArray(data.b); return; } var buffer = openfl_utils__$ByteArray_ByteArray_$Impl_$.toArrayBuffer(data); var this1; if(buffer != null) { this1 = new Uint8Array(buffer,byteArrayOffset); } else { this1 = null; } this.uploadFromTypedArray(this1); } ,uploadFromTypedArray: function(data) { var gl = this.__context.gl; this.__context.__bindGLTexture2D(this.__textureID); lime_graphics__$WebGLRenderContext_WebGLRenderContext_$Impl_$.texImage2D(gl,this.__textureTarget,0,this.__internalFormat,this.__width,this.__height,0,this.__format,gl.UNSIGNED_BYTE,data); this.__context.__bindGLTexture2D(null); } ,__setSamplerState: function(state) { if(openfl_display3D_textures_TextureBase.prototype.__setSamplerState.call(this,state)) { var gl = this.__context.gl; if(openfl_display3D_Context3D.GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT != 0) { var aniso; var _g = state.filter; switch(_g) { case 0: aniso = 16; break; case 1: aniso = 2; break; case 2: aniso = 4; break; case 3: aniso = 8; break; default: aniso = 1; } if(aniso > openfl_display3D_Context3D.GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT) { aniso = openfl_display3D_Context3D.GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT; } gl.texParameterf(gl.TEXTURE_2D,openfl_display3D_Context3D.GL_TEXTURE_MAX_ANISOTROPY_EXT,aniso); } return true; } return false; } ,__uploadFromImage: function(image) { var gl = this.__context.gl; var internalFormat; var format; if(image.buffer.bitsPerPixel == 1) { internalFormat = gl.ALPHA; format = gl.ALPHA; } else { internalFormat = openfl_display3D_textures_TextureBase.__textureInternalFormat; format = openfl_display3D_textures_TextureBase.__textureFormat; } this.__context.__bindGLTexture2D(this.__textureID); if(image.type != lime_graphics_ImageType.DATA && !image.get_premultiplied()) { gl.pixelStorei(gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL,1); } else if(!image.get_premultiplied() && image.get_transparent()) { gl.pixelStorei(gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL,1); } if(image.type == lime_graphics_ImageType.DATA) { lime_graphics__$WebGLRenderContext_WebGLRenderContext_$Impl_$.texImage2D(gl,gl.TEXTURE_2D,0,internalFormat,image.buffer.width,image.buffer.height,0,format,gl.UNSIGNED_BYTE,image.get_data()); } else { lime_graphics__$WebGLRenderContext_WebGLRenderContext_$Impl_$.texImage2D(gl,gl.TEXTURE_2D,0,internalFormat,format,gl.UNSIGNED_BYTE,image.get_src()); } this.__context.__bindGLTexture2D(null); } ,__class__: openfl_display3D_textures_RectangleTexture }); var openfl_display3D_textures_Texture = function(context,width,height,format,optimizeForRenderToTexture,streamingLevels) { openfl_display3D_textures_TextureBase.call(this,context); this.__width = width; this.__height = height; this.__optimizeForRenderToTexture = optimizeForRenderToTexture; this.__streamingLevels = streamingLevels; var gl = this.__context.gl; this.__textureTarget = gl.TEXTURE_2D; this.__context.__bindGLTexture2D(this.__textureID); lime_graphics__$WebGLRenderContext_WebGLRenderContext_$Impl_$.texImage2D(gl,this.__textureTarget,0,this.__internalFormat,this.__width,this.__height,0,this.__format,gl.UNSIGNED_BYTE,null); this.__context.__bindGLTexture2D(null); if(optimizeForRenderToTexture) { this.__getGLFramebuffer(true,0,0); } }; $hxClasses["openfl.display3D.textures.Texture"] = openfl_display3D_textures_Texture; openfl_display3D_textures_Texture.__name__ = ["openfl","display3D","textures","Texture"]; openfl_display3D_textures_Texture.__super__ = openfl_display3D_textures_TextureBase; openfl_display3D_textures_Texture.prototype = $extend(openfl_display3D_textures_TextureBase.prototype,{ uploadCompressedTextureFromByteArray: function(data,byteArrayOffset,async) { if(async == null) { async = false; } var _gthis = this; if(!async) { this.__uploadCompressedTextureFromByteArray(data,byteArrayOffset); } else { haxe_Timer.delay(function() { _gthis.__uploadCompressedTextureFromByteArray(data,byteArrayOffset); _gthis.dispatchEvent(new openfl_events_Event("textureReady")); },1); } } ,uploadFromBitmapData: function(source,miplevel,generateMipmap) { if(generateMipmap == null) { generateMipmap = false; } if(miplevel == null) { miplevel = 0; } if(source == null) { return; } var width = this.__width >> miplevel; var height = this.__height >> miplevel; if(width == 0 && height == 0) { return; } if(width == 0) { width = 1; } if(height == 0) { height = 1; } if(source.width != width || source.height != height) { var copy = new openfl_display_BitmapData(width,height,true,0); copy.draw(source); source = copy; } var image = this.__getImage(source); if(image == null) { return; } if(miplevel == 0 && image.buffer != null && image.buffer.data == null && image.buffer.get_src() != null) { var gl = this.__context.gl; var width1 = this.__width >> miplevel; var height1 = this.__height >> miplevel; if(width1 == 0 && height1 == 0) { return; } if(width1 == 0) { width1 = 1; } if(height1 == 0) { height1 = 1; } this.__context.__bindGLTexture2D(this.__textureID); lime_graphics__$WebGLRenderContext_WebGLRenderContext_$Impl_$.texImage2D(gl,this.__textureTarget,miplevel,this.__internalFormat,this.__format,gl.UNSIGNED_BYTE,image.buffer.get_src()); this.__context.__bindGLTexture2D(null); return; } this.uploadFromTypedArray(image.get_data(),miplevel); } ,uploadFromByteArray: function(data,byteArrayOffset,miplevel) { if(miplevel == null) { miplevel = 0; } if(byteArrayOffset == 0) { this.uploadFromTypedArray(data.b,miplevel); return; } var buffer = openfl_utils__$ByteArray_ByteArray_$Impl_$.toArrayBuffer(data); var this1; if(buffer != null) { this1 = new Uint8Array(buffer,byteArrayOffset); } else { this1 = null; } this.uploadFromTypedArray(this1,miplevel); } ,uploadFromTypedArray: function(data,miplevel) { if(miplevel == null) { miplevel = 0; } if(data == null) { return; } var gl = this.__context.gl; var width = this.__width >> miplevel; var height = this.__height >> miplevel; if(width == 0 && height == 0) { return; } if(width == 0) { width = 1; } if(height == 0) { height = 1; } this.__context.__bindGLTexture2D(this.__textureID); lime_graphics__$WebGLRenderContext_WebGLRenderContext_$Impl_$.texImage2D(gl,this.__textureTarget,miplevel,this.__internalFormat,width,height,0,this.__format,gl.UNSIGNED_BYTE,data); this.__context.__bindGLTexture2D(null); } ,__setSamplerState: function(state) { if(openfl_display3D_textures_TextureBase.prototype.__setSamplerState.call(this,state)) { var gl = this.__context.gl; if(state.mipfilter != 2 && !this.__samplerState.mipmapGenerated) { gl.generateMipmap(gl.TEXTURE_2D); this.__samplerState.mipmapGenerated = true; } if(openfl_display3D_Context3D.GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT != 0) { var aniso; var _g = state.filter; switch(_g) { case 0: aniso = 16; break; case 1: aniso = 2; break; case 2: aniso = 4; break; case 3: aniso = 8; break; default: aniso = 1; } if(aniso > openfl_display3D_Context3D.GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT) { aniso = openfl_display3D_Context3D.GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT; } gl.texParameterf(gl.TEXTURE_2D,openfl_display3D_Context3D.GL_TEXTURE_MAX_ANISOTROPY_EXT,aniso); } return true; } return false; } ,__uploadCompressedTextureFromByteArray: function(data,byteArrayOffset) { var _gthis = this; var reader = new openfl__$internal_formats_atf_ATFReader(data,byteArrayOffset); var alpha = reader.readHeader(this.__width,this.__height,false); var context = this.__context; var gl = context.gl; this.__context.__bindGLTexture2D(this.__textureID); var hasTexture = false; reader.readTextures(function(target,level,gpuFormat,width,height,blockLength,bytes) { var format = alpha ? openfl_display3D_textures_TextureBase.__compressedFormatsAlpha.h[gpuFormat] : openfl_display3D_textures_TextureBase.__compressedFormats.h[gpuFormat]; if(format == 0) { return; } hasTexture = true; _gthis.__format = format; _gthis.__internalFormat = format; if(alpha && gpuFormat == 2) { var size = blockLength / 2 | 0; var _gthis1 = _gthis.__textureTarget; var _gthis2 = _gthis.__internalFormat; var buffer = bytes.b.buffer; var this1; if(buffer != null) { if(size == null) { this1 = new Uint8Array(buffer,0); } else { this1 = new Uint8Array(buffer,0,size); } } else { this1 = null; } lime_graphics__$WebGLRenderContext_WebGLRenderContext_$Impl_$.compressedTexImage2D(gl,_gthis1,level,_gthis2,width,height,0,this1); var alphaTexture = new openfl_display3D_textures_Texture(_gthis.__context,_gthis.__width,_gthis.__height,3,_gthis.__optimizeForRenderToTexture,_gthis.__streamingLevels); alphaTexture.__format = format; alphaTexture.__internalFormat = format; _gthis.__context.__bindGLTexture2D(alphaTexture.__textureID); var alphaTexture1 = alphaTexture.__textureTarget; var alphaTexture2 = alphaTexture.__internalFormat; var buffer1 = bytes.b.buffer; var this2; if(buffer1 != null) { if(size == null) { this2 = new Uint8Array(buffer1,size); } else { this2 = new Uint8Array(buffer1,size,size); } } else { this2 = null; } lime_graphics__$WebGLRenderContext_WebGLRenderContext_$Impl_$.compressedTexImage2D(gl,alphaTexture1,level,alphaTexture2,width,height,0,this2); _gthis.__alphaTexture = alphaTexture; } else { var _gthis3 = _gthis.__textureTarget; var _gthis4 = _gthis.__internalFormat; var buffer2 = bytes.b.buffer; var this3; if(buffer2 != null) { if(blockLength == null) { this3 = new Uint8Array(buffer2,0); } else { this3 = new Uint8Array(buffer2,0,blockLength); } } else { this3 = null; } lime_graphics__$WebGLRenderContext_WebGLRenderContext_$Impl_$.compressedTexImage2D(gl,_gthis3,level,_gthis4,width,height,0,this3); } }); if(!hasTexture) { var elements = this.__width * this.__height * 4; var this4; if(elements != null) { this4 = new Uint8Array(elements); } else { this4 = null; } var data1 = this4; lime_graphics__$WebGLRenderContext_WebGLRenderContext_$Impl_$.texImage2D(gl,this.__textureTarget,0,this.__internalFormat,this.__width,this.__height,0,this.__format,gl.UNSIGNED_BYTE,data1); } this.__context.__bindGLTexture2D(null); } ,__class__: openfl_display3D_textures_Texture }); var openfl_display3D_textures_VideoTexture = function(context) { openfl_display3D_textures_TextureBase.call(this,context); this.__textureTarget = this.__context.gl.TEXTURE_2D; }; $hxClasses["openfl.display3D.textures.VideoTexture"] = openfl_display3D_textures_VideoTexture; openfl_display3D_textures_VideoTexture.__name__ = ["openfl","display3D","textures","VideoTexture"]; openfl_display3D_textures_VideoTexture.__super__ = openfl_display3D_textures_TextureBase; openfl_display3D_textures_VideoTexture.prototype = $extend(openfl_display3D_textures_TextureBase.prototype,{ videoHeight: null ,videoWidth: null ,__netStream: null ,attachNetStream: function(netStream) { var _gthis = this; this.__netStream = netStream; if(this.__netStream.__video.readyState == 4) { haxe_Timer.delay(function() { _gthis.__textureReady(); },0); } else { this.__netStream.__video.addEventListener("canplay",function(_) { _gthis.__textureReady(); },false); } } ,__getTexture: function() { if((!this.__netStream.__video.paused || this.__netStream.get___seeking()) && this.__netStream.__video.readyState > 0) { this.__netStream.set___seeking(false); var gl = this.__context.gl; this.__context.__bindGLTexture2D(this.__textureID); lime_graphics__$WebGLRenderContext_WebGLRenderContext_$Impl_$.texImage2D(gl,gl.TEXTURE_2D,0,gl.RGBA,gl.RGBA,gl.UNSIGNED_BYTE,this.__netStream.__video); } return this.__textureID; } ,__textureReady: function() { this.videoWidth = this.__netStream.__video.videoWidth; this.videoHeight = this.__netStream.__video.videoHeight; this.dispatchEvent(new openfl_events_Event("textureReady")); } ,__class__: openfl_display3D_textures_VideoTexture }); var openfl_errors_Error = function(message,id) { if(id == null) { id = 0; } if(message == null) { message = ""; } this.message = message; this.errorID = id; this.name = "Error"; }; $hxClasses["openfl.errors.Error"] = openfl_errors_Error; openfl_errors_Error.__name__ = ["openfl","errors","Error"]; openfl_errors_Error.prototype = { errorID: null ,message: null ,name: null ,getStackTrace: function() { return haxe_CallStack.toString(haxe_CallStack.exceptionStack()); } ,toString: function() { if(this.message != null) { return this.message; } else { return "Error"; } } ,__class__: openfl_errors_Error }; var openfl_errors_ArgumentError = function(message) { if(message == null) { message = ""; } openfl_errors_Error.call(this,message); this.name = "ArgumentError"; }; $hxClasses["openfl.errors.ArgumentError"] = openfl_errors_ArgumentError; openfl_errors_ArgumentError.__name__ = ["openfl","errors","ArgumentError"]; openfl_errors_ArgumentError.__super__ = openfl_errors_Error; openfl_errors_ArgumentError.prototype = $extend(openfl_errors_Error.prototype,{ __class__: openfl_errors_ArgumentError }); var openfl_errors_IOError = function(message) { if(message == null) { message = ""; } openfl_errors_Error.call(this,message); this.name = "IOError"; }; $hxClasses["openfl.errors.IOError"] = openfl_errors_IOError; openfl_errors_IOError.__name__ = ["openfl","errors","IOError"]; openfl_errors_IOError.__super__ = openfl_errors_Error; openfl_errors_IOError.prototype = $extend(openfl_errors_Error.prototype,{ __class__: openfl_errors_IOError }); var openfl_errors_EOFError = function(message,id) { if(id == null) { id = 0; } openfl_errors_IOError.call(this,"End of file was encountered"); this.name = "EOFError"; this.errorID = 2030; }; $hxClasses["openfl.errors.EOFError"] = openfl_errors_EOFError; openfl_errors_EOFError.__name__ = ["openfl","errors","EOFError"]; openfl_errors_EOFError.__super__ = openfl_errors_IOError; openfl_errors_EOFError.prototype = $extend(openfl_errors_IOError.prototype,{ __class__: openfl_errors_EOFError }); var openfl_errors_IllegalOperationError = function(message) { if(message == null) { message = ""; } openfl_errors_Error.call(this,message,0); this.name = "IllegalOperationError"; }; $hxClasses["openfl.errors.IllegalOperationError"] = openfl_errors_IllegalOperationError; openfl_errors_IllegalOperationError.__name__ = ["openfl","errors","IllegalOperationError"]; openfl_errors_IllegalOperationError.__super__ = openfl_errors_Error; openfl_errors_IllegalOperationError.prototype = $extend(openfl_errors_Error.prototype,{ __class__: openfl_errors_IllegalOperationError }); var openfl_errors_RangeError = function(message) { if(message == null) { message = ""; } openfl_errors_Error.call(this,message,0); this.name = "RangeError"; }; $hxClasses["openfl.errors.RangeError"] = openfl_errors_RangeError; openfl_errors_RangeError.__name__ = ["openfl","errors","RangeError"]; openfl_errors_RangeError.__super__ = openfl_errors_Error; openfl_errors_RangeError.prototype = $extend(openfl_errors_Error.prototype,{ __class__: openfl_errors_RangeError }); var openfl_errors_TypeError = function(message) { if(message == null) { message = ""; } openfl_errors_Error.call(this,message,0); this.name = "TypeError"; }; $hxClasses["openfl.errors.TypeError"] = openfl_errors_TypeError; openfl_errors_TypeError.__name__ = ["openfl","errors","TypeError"]; openfl_errors_TypeError.__super__ = openfl_errors_Error; openfl_errors_TypeError.prototype = $extend(openfl_errors_Error.prototype,{ __class__: openfl_errors_TypeError }); var openfl_events_Event = function(type,bubbles,cancelable) { if(cancelable == null) { cancelable = false; } if(bubbles == null) { bubbles = false; } this.type = type; this.bubbles = bubbles; this.cancelable = cancelable; this.eventPhase = 2; }; $hxClasses["openfl.events.Event"] = openfl_events_Event; openfl_events_Event.__name__ = ["openfl","events","Event"]; openfl_events_Event.prototype = { bubbles: null ,cancelable: null ,currentTarget: null ,eventPhase: null ,target: null ,type: null ,__isCanceled: null ,__isCanceledNow: null ,__preventDefault: null ,clone: function() { var event = new openfl_events_Event(this.type,this.bubbles,this.cancelable); event.eventPhase = this.eventPhase; event.target = this.target; event.currentTarget = this.currentTarget; return event; } ,formatToString: function(className,p1,p2,p3,p4,p5) { var parameters = []; if(p1 != null) { parameters.push(p1); } if(p2 != null) { parameters.push(p2); } if(p3 != null) { parameters.push(p3); } if(p4 != null) { parameters.push(p4); } if(p5 != null) { parameters.push(p5); } return $bind(this,this.__formatToString).apply(this,[className,parameters]); } ,isDefaultPrevented: function() { return this.__preventDefault; } ,preventDefault: function() { if(this.cancelable) { this.__preventDefault = true; } } ,stopImmediatePropagation: function() { this.__isCanceled = true; this.__isCanceledNow = true; } ,stopPropagation: function() { this.__isCanceled = true; } ,toString: function() { return this.__formatToString("Event",["type","bubbles","cancelable"]); } ,__formatToString: function(className,parameters) { var output = "[" + className; var arg = null; var _g = 0; while(_g < parameters.length) { var param = parameters[_g]; ++_g; arg = Reflect.field(this,param); if(typeof(arg) == "string") { output += " " + param + "=\"" + Std.string(arg) + "\""; } else { output += " " + param + "=" + Std.string(arg); } } output += "]"; return output; } ,__class__: openfl_events_Event }; var openfl_events_AccelerometerEvent = function(type,bubbles,cancelable,timestamp,accelerationX,accelerationY,accelerationZ) { if(accelerationZ == null) { accelerationZ = 0; } if(accelerationY == null) { accelerationY = 0; } if(accelerationX == null) { accelerationX = 0; } if(timestamp == null) { timestamp = 0; } if(cancelable == null) { cancelable = false; } if(bubbles == null) { bubbles = false; } openfl_events_Event.call(this,type,bubbles,cancelable); this.timestamp = timestamp; this.accelerationX = accelerationX; this.accelerationY = accelerationY; this.accelerationZ = accelerationZ; }; $hxClasses["openfl.events.AccelerometerEvent"] = openfl_events_AccelerometerEvent; openfl_events_AccelerometerEvent.__name__ = ["openfl","events","AccelerometerEvent"]; openfl_events_AccelerometerEvent.__super__ = openfl_events_Event; openfl_events_AccelerometerEvent.prototype = $extend(openfl_events_Event.prototype,{ accelerationX: null ,accelerationY: null ,accelerationZ: null ,timestamp: null ,clone: function() { var event = new openfl_events_AccelerometerEvent(this.type,this.bubbles,this.cancelable,this.timestamp,this.accelerationX,this.accelerationY,this.accelerationZ); event.target = this.target; event.currentTarget = this.currentTarget; event.eventPhase = this.eventPhase; return event; } ,toString: function() { return this.__formatToString("AccelerometerEvent",["type","bubbles","cancelable","timestamp","accelerationX","accelerationY","accelerationZ"]); } ,__class__: openfl_events_AccelerometerEvent }); var openfl_events_ActivityEvent = function(type,bubbles,cancelable,activating) { if(activating == null) { activating = false; } if(cancelable == null) { cancelable = false; } if(bubbles == null) { bubbles = false; } openfl_events_Event.call(this,type,bubbles,cancelable); this.activating = activating; }; $hxClasses["openfl.events.ActivityEvent"] = openfl_events_ActivityEvent; openfl_events_ActivityEvent.__name__ = ["openfl","events","ActivityEvent"]; openfl_events_ActivityEvent.__super__ = openfl_events_Event; openfl_events_ActivityEvent.prototype = $extend(openfl_events_Event.prototype,{ activating: null ,clone: function() { var event = new openfl_events_ActivityEvent(this.type,this.bubbles,this.cancelable,this.activating); event.target = this.target; event.currentTarget = this.currentTarget; event.eventPhase = this.eventPhase; return event; } ,toString: function() { return this.__formatToString("ActivityEvent",["type","bubbles","cancelable","activating"]); } ,__class__: openfl_events_ActivityEvent }); var openfl_events_TextEvent = function(type,bubbles,cancelable,text) { if(text == null) { text = ""; } if(cancelable == null) { cancelable = false; } if(bubbles == null) { bubbles = false; } openfl_events_Event.call(this,type,bubbles,cancelable); this.text = text; }; $hxClasses["openfl.events.TextEvent"] = openfl_events_TextEvent; openfl_events_TextEvent.__name__ = ["openfl","events","TextEvent"]; openfl_events_TextEvent.__super__ = openfl_events_Event; openfl_events_TextEvent.prototype = $extend(openfl_events_Event.prototype,{ text: null ,clone: function() { var event = new openfl_events_TextEvent(this.type,this.bubbles,this.cancelable,this.text); event.target = this.target; event.currentTarget = this.currentTarget; event.eventPhase = this.eventPhase; return event; } ,toString: function() { return this.__formatToString("TextEvent",["type","bubbles","cancelable","text"]); } ,__class__: openfl_events_TextEvent }); var openfl_events_ErrorEvent = function(type,bubbles,cancelable,text,id) { if(id == null) { id = 0; } if(text == null) { text = ""; } if(cancelable == null) { cancelable = false; } if(bubbles == null) { bubbles = false; } openfl_events_TextEvent.call(this,type,bubbles,cancelable,text); this.errorID = id; }; $hxClasses["openfl.events.ErrorEvent"] = openfl_events_ErrorEvent; openfl_events_ErrorEvent.__name__ = ["openfl","events","ErrorEvent"]; openfl_events_ErrorEvent.__super__ = openfl_events_TextEvent; openfl_events_ErrorEvent.prototype = $extend(openfl_events_TextEvent.prototype,{ errorID: null ,clone: function() { var event = new openfl_events_ErrorEvent(this.type,this.bubbles,this.cancelable,this.text,this.errorID); event.target = this.target; event.currentTarget = this.currentTarget; event.eventPhase = this.eventPhase; return event; } ,toString: function() { return this.__formatToString("ErrorEvent",["type","bubbles","cancelable","text","errorID"]); } ,__class__: openfl_events_ErrorEvent }); var openfl_events__$EventDispatcher_DispatchIterator = function(list) { this.active = false; this.reset(list); }; $hxClasses["openfl.events._EventDispatcher.DispatchIterator"] = openfl_events__$EventDispatcher_DispatchIterator; openfl_events__$EventDispatcher_DispatchIterator.__name__ = ["openfl","events","_EventDispatcher","DispatchIterator"]; openfl_events__$EventDispatcher_DispatchIterator.prototype = { active: null ,index: null ,isCopy: null ,list: null ,copy: function() { if(!this.isCopy) { this.list = this.list.slice(); this.isCopy = true; } } ,hasNext: function() { return this.index < this.list.length; } ,next: function() { return this.list[this.index++]; } ,remove: function(listener,listIndex) { if(this.active) { if(!this.isCopy) { if(listIndex < this.index) { this.index--; } } else { var _g1 = this.index; var _g = this.list.length; while(_g1 < _g) { var i = _g1++; if(this.list[i] == listener) { this.list.splice(i,1); break; } } } } } ,reset: function(list) { this.list = list; this.isCopy = false; this.index = 0; } ,start: function() { this.active = true; } ,stop: function() { this.active = false; } ,__class__: openfl_events__$EventDispatcher_DispatchIterator }; var openfl_events__$EventDispatcher_Listener = function(callback,useCapture,priority) { this.callback = callback; this.useCapture = useCapture; this.priority = priority; }; $hxClasses["openfl.events._EventDispatcher.Listener"] = openfl_events__$EventDispatcher_Listener; openfl_events__$EventDispatcher_Listener.__name__ = ["openfl","events","_EventDispatcher","Listener"]; openfl_events__$EventDispatcher_Listener.prototype = { callback: null ,priority: null ,useCapture: null ,match: function(callback,useCapture) { if(Reflect.compareMethods(this.callback,callback)) { return this.useCapture == useCapture; } else { return false; } } ,__class__: openfl_events__$EventDispatcher_Listener }; var openfl_events_FocusEvent = function(type,bubbles,cancelable,relatedObject,shiftKey,keyCode) { if(keyCode == null) { keyCode = 0; } if(shiftKey == null) { shiftKey = false; } if(cancelable == null) { cancelable = false; } if(bubbles == null) { bubbles = false; } openfl_events_Event.call(this,type,bubbles,cancelable); this.keyCode = keyCode; this.shiftKey = shiftKey; this.relatedObject = relatedObject; }; $hxClasses["openfl.events.FocusEvent"] = openfl_events_FocusEvent; openfl_events_FocusEvent.__name__ = ["openfl","events","FocusEvent"]; openfl_events_FocusEvent.__super__ = openfl_events_Event; openfl_events_FocusEvent.prototype = $extend(openfl_events_Event.prototype,{ keyCode: null ,relatedObject: null ,shiftKey: null ,clone: function() { var event = new openfl_events_FocusEvent(this.type,this.bubbles,this.cancelable,this.relatedObject,this.shiftKey,this.keyCode); event.target = this.target; event.currentTarget = this.currentTarget; event.eventPhase = this.eventPhase; return event; } ,toString: function() { return this.__formatToString("FocusEvent",["type","bubbles","cancelable","relatedObject","shiftKey","keyCode"]); } ,__class__: openfl_events_FocusEvent }); var openfl_events_FullScreenEvent = function(type,bubbles,cancelable,fullScreen,interactive) { if(interactive == null) { interactive = false; } if(fullScreen == null) { fullScreen = false; } if(cancelable == null) { cancelable = false; } if(bubbles == null) { bubbles = false; } openfl_events_ActivityEvent.call(this,type,bubbles,cancelable); this.fullScreen = fullScreen; this.interactive = interactive; }; $hxClasses["openfl.events.FullScreenEvent"] = openfl_events_FullScreenEvent; openfl_events_FullScreenEvent.__name__ = ["openfl","events","FullScreenEvent"]; openfl_events_FullScreenEvent.__super__ = openfl_events_ActivityEvent; openfl_events_FullScreenEvent.prototype = $extend(openfl_events_ActivityEvent.prototype,{ fullScreen: null ,interactive: null ,clone: function() { var event = new openfl_events_FullScreenEvent(this.type,this.bubbles,this.cancelable,this.fullScreen,this.interactive); event.target = this.target; event.currentTarget = this.currentTarget; event.eventPhase = this.eventPhase; return event; } ,toString: function() { return this.__formatToString("FullscreenEvent",["type","bubbles","cancelable","fullscreen","interactive"]); } ,__class__: openfl_events_FullScreenEvent }); var openfl_events_GameInputEvent = function(type,bubbles,cancelable,device) { if(cancelable == null) { cancelable = false; } if(bubbles == null) { bubbles = true; } openfl_events_Event.call(this,type,bubbles,cancelable); this.device = device; }; $hxClasses["openfl.events.GameInputEvent"] = openfl_events_GameInputEvent; openfl_events_GameInputEvent.__name__ = ["openfl","events","GameInputEvent"]; openfl_events_GameInputEvent.__super__ = openfl_events_Event; openfl_events_GameInputEvent.prototype = $extend(openfl_events_Event.prototype,{ device: null ,clone: function() { var event = new openfl_events_GameInputEvent(this.type,this.bubbles,this.cancelable,this.device); event.target = this.target; event.currentTarget = this.currentTarget; event.eventPhase = this.eventPhase; return event; } ,toString: function() { return this.__formatToString("GameInputEvent",["type","bubbles","cancelable","device"]); } ,__class__: openfl_events_GameInputEvent }); var openfl_events_HTTPStatusEvent = function(type,bubbles,cancelable,status,redirected) { if(redirected == null) { redirected = false; } if(status == null) { status = 0; } if(cancelable == null) { cancelable = false; } if(bubbles == null) { bubbles = false; } this.status = status; this.redirected = redirected; openfl_events_Event.call(this,type,bubbles,cancelable); }; $hxClasses["openfl.events.HTTPStatusEvent"] = openfl_events_HTTPStatusEvent; openfl_events_HTTPStatusEvent.__name__ = ["openfl","events","HTTPStatusEvent"]; openfl_events_HTTPStatusEvent.__super__ = openfl_events_Event; openfl_events_HTTPStatusEvent.prototype = $extend(openfl_events_Event.prototype,{ redirected: null ,responseHeaders: null ,responseURL: null ,status: null ,clone: function() { var event = new openfl_events_HTTPStatusEvent(this.type,this.bubbles,this.cancelable,this.status,this.redirected); event.target = this.target; event.currentTarget = this.currentTarget; event.eventPhase = this.eventPhase; return event; } ,toString: function() { return this.__formatToString("HTTPStatusEvent",["type","bubbles","cancelable","status","redirected"]); } ,__class__: openfl_events_HTTPStatusEvent }); var openfl_events_IOErrorEvent = function(type,bubbles,cancelable,text,id) { if(id == null) { id = 0; } if(text == null) { text = ""; } if(cancelable == null) { cancelable = false; } if(bubbles == null) { bubbles = true; } openfl_events_ErrorEvent.call(this,type,bubbles,cancelable,text,id); }; $hxClasses["openfl.events.IOErrorEvent"] = openfl_events_IOErrorEvent; openfl_events_IOErrorEvent.__name__ = ["openfl","events","IOErrorEvent"]; openfl_events_IOErrorEvent.__super__ = openfl_events_ErrorEvent; openfl_events_IOErrorEvent.prototype = $extend(openfl_events_ErrorEvent.prototype,{ clone: function() { var event = new openfl_events_IOErrorEvent(this.type,this.bubbles,this.cancelable,this.text,this.errorID); event.target = this.target; event.currentTarget = this.currentTarget; event.eventPhase = this.eventPhase; return event; } ,toString: function() { return this.__formatToString("IOErrorEvent",["type","bubbles","cancelable","text","errorID"]); } ,__class__: openfl_events_IOErrorEvent }); var openfl_events_KeyboardEvent = function(type,bubbles,cancelable,charCodeValue,keyCodeValue,keyLocationValue,ctrlKeyValue,altKeyValue,shiftKeyValue,controlKeyValue,commandKeyValue) { if(commandKeyValue == null) { commandKeyValue = false; } if(controlKeyValue == null) { controlKeyValue = false; } if(shiftKeyValue == null) { shiftKeyValue = false; } if(altKeyValue == null) { altKeyValue = false; } if(ctrlKeyValue == null) { ctrlKeyValue = false; } if(keyCodeValue == null) { keyCodeValue = 0; } if(charCodeValue == null) { charCodeValue = 0; } if(cancelable == null) { cancelable = false; } if(bubbles == null) { bubbles = false; } openfl_events_Event.call(this,type,bubbles,cancelable); this.charCode = charCodeValue; this.keyCode = keyCodeValue; this.keyLocation = keyLocationValue != null ? keyLocationValue : 0; this.ctrlKey = ctrlKeyValue; this.altKey = altKeyValue; this.shiftKey = shiftKeyValue; this.controlKey = controlKeyValue; this.commandKey = commandKeyValue; }; $hxClasses["openfl.events.KeyboardEvent"] = openfl_events_KeyboardEvent; openfl_events_KeyboardEvent.__name__ = ["openfl","events","KeyboardEvent"]; openfl_events_KeyboardEvent.__super__ = openfl_events_Event; openfl_events_KeyboardEvent.prototype = $extend(openfl_events_Event.prototype,{ altKey: null ,charCode: null ,ctrlKey: null ,commandKey: null ,controlKey: null ,keyCode: null ,keyLocation: null ,shiftKey: null ,clone: function() { var event = new openfl_events_KeyboardEvent(this.type,this.bubbles,this.cancelable,this.charCode,this.keyCode,this.keyLocation,this.ctrlKey,this.altKey,this.shiftKey,this.controlKey,this.commandKey); event.target = this.target; event.currentTarget = this.currentTarget; event.eventPhase = this.eventPhase; return event; } ,toString: function() { return this.__formatToString("KeyboardEvent",["type","bubbles","cancelable","charCode","keyCode","keyLocation","ctrlKey","altKey","shiftKey"]); } ,__class__: openfl_events_KeyboardEvent }); var openfl_events_MouseEvent = function(type,bubbles,cancelable,localX,localY,relatedObject,ctrlKey,altKey,shiftKey,buttonDown,delta,commandKey,clickCount) { if(clickCount == null) { clickCount = 0; } if(commandKey == null) { commandKey = false; } if(delta == null) { delta = 0; } if(buttonDown == null) { buttonDown = false; } if(shiftKey == null) { shiftKey = false; } if(altKey == null) { altKey = false; } if(ctrlKey == null) { ctrlKey = false; } if(localY == null) { localY = 0; } if(localX == null) { localX = 0; } if(cancelable == null) { cancelable = false; } if(bubbles == null) { bubbles = true; } openfl_events_Event.call(this,type,bubbles,cancelable); this.shiftKey = shiftKey; this.altKey = altKey; this.ctrlKey = ctrlKey; this.bubbles = bubbles; this.relatedObject = relatedObject; this.delta = delta; this.localX = localX; this.localY = localY; this.buttonDown = buttonDown; this.commandKey = commandKey; this.clickCount = clickCount; this.isRelatedObjectInaccessible = false; this.stageX = NaN; this.stageY = NaN; }; $hxClasses["openfl.events.MouseEvent"] = openfl_events_MouseEvent; openfl_events_MouseEvent.__name__ = ["openfl","events","MouseEvent"]; openfl_events_MouseEvent.__altKey = null; openfl_events_MouseEvent.__buttonDown = null; openfl_events_MouseEvent.__commandKey = null; openfl_events_MouseEvent.__ctrlKey = null; openfl_events_MouseEvent.__shiftKey = null; openfl_events_MouseEvent.__create = function(type,button,stageX,stageY,local,target,delta) { if(delta == null) { delta = 0; } var event = new openfl_events_MouseEvent(type,true,false,local.x,local.y,null,openfl_events_MouseEvent.__ctrlKey,openfl_events_MouseEvent.__altKey,openfl_events_MouseEvent.__shiftKey,openfl_events_MouseEvent.__buttonDown,delta,openfl_events_MouseEvent.__commandKey); event.stageX = stageX; event.stageY = stageY; event.target = target; return event; }; openfl_events_MouseEvent.__super__ = openfl_events_Event; openfl_events_MouseEvent.prototype = $extend(openfl_events_Event.prototype,{ altKey: null ,buttonDown: null ,commandKey: null ,clickCount: null ,ctrlKey: null ,delta: null ,isRelatedObjectInaccessible: null ,localX: null ,localY: null ,relatedObject: null ,shiftKey: null ,stageX: null ,stageY: null ,clone: function() { var event = new openfl_events_MouseEvent(this.type,this.bubbles,this.cancelable,this.localX,this.localY,this.relatedObject,this.ctrlKey,this.altKey,this.shiftKey,this.buttonDown,this.delta,this.commandKey,this.clickCount); event.target = this.target; event.currentTarget = this.currentTarget; event.eventPhase = this.eventPhase; return event; } ,toString: function() { return this.__formatToString("MouseEvent",["type","bubbles","cancelable","localX","localY","relatedObject","ctrlKey","altKey","shiftKey","buttonDown","delta"]); } ,updateAfterEvent: function() { } ,__class__: openfl_events_MouseEvent }); var openfl_events_NetStatusEvent = function(type,bubbles,cancelable,info) { if(cancelable == null) { cancelable = false; } if(bubbles == null) { bubbles = false; } this.info = info; openfl_events_Event.call(this,type,bubbles,cancelable); }; $hxClasses["openfl.events.NetStatusEvent"] = openfl_events_NetStatusEvent; openfl_events_NetStatusEvent.__name__ = ["openfl","events","NetStatusEvent"]; openfl_events_NetStatusEvent.__super__ = openfl_events_Event; openfl_events_NetStatusEvent.prototype = $extend(openfl_events_Event.prototype,{ info: null ,clone: function() { var event = new openfl_events_NetStatusEvent(this.type,this.bubbles,this.cancelable,this.info); event.target = this.target; event.currentTarget = this.currentTarget; event.eventPhase = this.eventPhase; return event; } ,toString: function() { return this.__formatToString("NetStatusEvent",["type","bubbles","cancelable","info"]); } ,__class__: openfl_events_NetStatusEvent }); var openfl_events_ProgressEvent = function(type,bubbles,cancelable,bytesLoaded,bytesTotal) { if(bytesTotal == null) { bytesTotal = 0; } if(bytesLoaded == null) { bytesLoaded = 0; } if(cancelable == null) { cancelable = false; } if(bubbles == null) { bubbles = false; } openfl_events_Event.call(this,type,bubbles,cancelable); this.bytesLoaded = bytesLoaded; this.bytesTotal = bytesTotal; }; $hxClasses["openfl.events.ProgressEvent"] = openfl_events_ProgressEvent; openfl_events_ProgressEvent.__name__ = ["openfl","events","ProgressEvent"]; openfl_events_ProgressEvent.__super__ = openfl_events_Event; openfl_events_ProgressEvent.prototype = $extend(openfl_events_Event.prototype,{ bytesLoaded: null ,bytesTotal: null ,clone: function() { var event = new openfl_events_ProgressEvent(this.type,this.bubbles,this.cancelable,this.bytesLoaded,this.bytesTotal); event.target = this.target; event.currentTarget = this.currentTarget; event.eventPhase = this.eventPhase; return event; } ,toString: function() { return this.__formatToString("ProgressEvent",["type","bubbles","cancelable","bytesLoaded","bytesTotal"]); } ,__class__: openfl_events_ProgressEvent }); var openfl_events_RenderEvent = function(type,bubbles,cancelable,objectMatrix,objectColorTransform,allowSmoothing) { if(allowSmoothing == null) { allowSmoothing = true; } if(cancelable == null) { cancelable = false; } if(bubbles == null) { bubbles = false; } openfl_events_Event.call(this,type,bubbles,cancelable); this.objectMatrix = objectMatrix; this.objectColorTransform = objectColorTransform; this.allowSmoothing = allowSmoothing; }; $hxClasses["openfl.events.RenderEvent"] = openfl_events_RenderEvent; openfl_events_RenderEvent.__name__ = ["openfl","events","RenderEvent"]; openfl_events_RenderEvent.__super__ = openfl_events_Event; openfl_events_RenderEvent.prototype = $extend(openfl_events_Event.prototype,{ allowSmoothing: null ,objectColorTransform: null ,objectMatrix: null ,renderer: null ,clone: function() { var event = new openfl_events_RenderEvent(this.type,this.bubbles,this.cancelable,this.objectMatrix.clone(),this.objectColorTransform.__clone(),this.allowSmoothing); event.target = this.target; event.currentTarget = this.currentTarget; event.eventPhase = this.eventPhase; return event; } ,toString: function() { return this.__formatToString("RenderEvent",["type","bubbles","cancelable"]); } ,__class__: openfl_events_RenderEvent }); var openfl_events_SecurityErrorEvent = function(type,bubbles,cancelable,text,id) { if(id == null) { id = 0; } if(text == null) { text = ""; } if(cancelable == null) { cancelable = false; } if(bubbles == null) { bubbles = false; } openfl_events_ErrorEvent.call(this,type,bubbles,cancelable,text,id); }; $hxClasses["openfl.events.SecurityErrorEvent"] = openfl_events_SecurityErrorEvent; openfl_events_SecurityErrorEvent.__name__ = ["openfl","events","SecurityErrorEvent"]; openfl_events_SecurityErrorEvent.__super__ = openfl_events_ErrorEvent; openfl_events_SecurityErrorEvent.prototype = $extend(openfl_events_ErrorEvent.prototype,{ clone: function() { var event = new openfl_events_SecurityErrorEvent(this.type,this.bubbles,this.cancelable,this.text,this.errorID); event.target = this.target; event.currentTarget = this.currentTarget; event.eventPhase = this.eventPhase; return event; } ,toString: function() { return this.__formatToString("SecurityErrorEvent",["type","bubbles","cancelable","text","errorID"]); } ,__class__: openfl_events_SecurityErrorEvent }); var openfl_events_TouchEvent = function(type,bubbles,cancelable,touchPointID,isPrimaryTouchPoint,localX,localY,sizeX,sizeY,pressure,relatedObject,ctrlKey,altKey,shiftKey,commandKey,controlKey,timestamp,touchIntent,samples,isTouchPointCanceled) { if(isTouchPointCanceled == null) { isTouchPointCanceled = false; } if(timestamp == null) { timestamp = 0; } if(controlKey == null) { controlKey = false; } if(commandKey == null) { commandKey = false; } if(shiftKey == null) { shiftKey = false; } if(altKey == null) { altKey = false; } if(ctrlKey == null) { ctrlKey = false; } if(pressure == null) { pressure = 0; } if(sizeY == null) { sizeY = 0; } if(sizeX == null) { sizeX = 0; } if(localY == null) { localY = 0; } if(localX == null) { localX = 0; } if(isPrimaryTouchPoint == null) { isPrimaryTouchPoint = false; } if(touchPointID == null) { touchPointID = 0; } if(cancelable == null) { cancelable = false; } if(bubbles == null) { bubbles = true; } openfl_events_Event.call(this,type,bubbles,cancelable); this.touchPointID = touchPointID; this.isPrimaryTouchPoint = isPrimaryTouchPoint; this.localX = localX; this.localY = localY; this.sizeX = sizeX; this.sizeY = sizeY; this.pressure = pressure; this.relatedObject = relatedObject; this.ctrlKey = ctrlKey; this.altKey = altKey; this.shiftKey = shiftKey; this.commandKey = commandKey; this.controlKey = controlKey; this.stageX = NaN; this.stageY = NaN; }; $hxClasses["openfl.events.TouchEvent"] = openfl_events_TouchEvent; openfl_events_TouchEvent.__name__ = ["openfl","events","TouchEvent"]; openfl_events_TouchEvent.__create = function(type,touch,stageX,stageY,local,target) { var evt = new openfl_events_TouchEvent(type,true,false,0,true,local.x,local.y,1,1,1); evt.stageX = stageX; evt.stageY = stageY; evt.target = target; return evt; }; openfl_events_TouchEvent.__super__ = openfl_events_Event; openfl_events_TouchEvent.prototype = $extend(openfl_events_Event.prototype,{ altKey: null ,commandKey: null ,controlKey: null ,ctrlKey: null ,delta: null ,isPrimaryTouchPoint: null ,localX: null ,localY: null ,pressure: null ,relatedObject: null ,shiftKey: null ,sizeX: null ,sizeY: null ,stageX: null ,stageY: null ,touchPointID: null ,clone: function() { var event = new openfl_events_TouchEvent(this.type,this.bubbles,this.cancelable,this.touchPointID,this.isPrimaryTouchPoint,this.localX,this.localY,this.sizeX,this.sizeY,this.pressure,this.relatedObject,this.ctrlKey,this.altKey,this.shiftKey,this.commandKey,this.controlKey); event.target = this.target; event.currentTarget = this.currentTarget; event.eventPhase = this.eventPhase; return event; } ,toString: function() { return this.__formatToString("TouchEvent",["type","bubbles","cancelable","touchPointID","isPrimaryTouchPoint","localX","localY","sizeX","sizeY","pressure","relatedObject","ctrlKey","altKey","shiftKey","commandKey","controlKey"]); } ,updateAfterEvent: function() { } ,__class__: openfl_events_TouchEvent }); var openfl_events_UncaughtErrorEvent = function(type,bubbles,cancelable,error) { if(cancelable == null) { cancelable = true; } if(bubbles == null) { bubbles = true; } openfl_events_ErrorEvent.call(this,type,bubbles,cancelable); this.error = error; }; $hxClasses["openfl.events.UncaughtErrorEvent"] = openfl_events_UncaughtErrorEvent; openfl_events_UncaughtErrorEvent.__name__ = ["openfl","events","UncaughtErrorEvent"]; openfl_events_UncaughtErrorEvent.__super__ = openfl_events_ErrorEvent; openfl_events_UncaughtErrorEvent.prototype = $extend(openfl_events_ErrorEvent.prototype,{ error: null ,clone: function() { var event = new openfl_events_UncaughtErrorEvent(this.type,this.bubbles,this.cancelable,this.error); event.target = this.target; event.currentTarget = this.currentTarget; event.eventPhase = this.eventPhase; return event; } ,toString: function() { return this.__formatToString("UncaughtErrorEvent",["type","bubbles","cancelable","error"]); } ,__class__: openfl_events_UncaughtErrorEvent }); var openfl_events_UncaughtErrorEvents = function() { openfl_events_EventDispatcher.call(this); }; $hxClasses["openfl.events.UncaughtErrorEvents"] = openfl_events_UncaughtErrorEvents; openfl_events_UncaughtErrorEvents.__name__ = ["openfl","events","UncaughtErrorEvents"]; openfl_events_UncaughtErrorEvents.__super__ = openfl_events_EventDispatcher; openfl_events_UncaughtErrorEvents.prototype = $extend(openfl_events_EventDispatcher.prototype,{ __class__: openfl_events_UncaughtErrorEvents }); var openfl_filters_BitmapFilter = function() { this.__bottomExtension = 0; this.__leftExtension = 0; this.__needSecondBitmapData = true; this.__numShaderPasses = 0; this.__preserveObject = false; this.__rightExtension = 0; this.__shaderBlendMode = 10; this.__topExtension = 0; this.__smooth = true; }; $hxClasses["openfl.filters.BitmapFilter"] = openfl_filters_BitmapFilter; openfl_filters_BitmapFilter.__name__ = ["openfl","filters","BitmapFilter"]; openfl_filters_BitmapFilter.prototype = { __bottomExtension: null ,__leftExtension: null ,__needSecondBitmapData: null ,__numShaderPasses: null ,__preserveObject: null ,__renderDirty: null ,__rightExtension: null ,__shaderBlendMode: null ,__smooth: null ,__topExtension: null ,clone: function() { return new openfl_filters_BitmapFilter(); } ,__applyFilter: function(bitmapData,sourceBitmapData,sourceRect,destPoint) { return sourceBitmapData; } ,__initShader: function(renderer,pass) { return null; } ,__class__: openfl_filters_BitmapFilter }; var openfl_filters_BitmapFilterShader = function(code) { if(this.__glFragmentSource == null) { this.__glFragmentSource = "varying vec2 openfl_TextureCoordv;\n\t\t\n\t\tuniform sampler2D openfl_Texture;\n\t\tuniform vec2 openfl_TextureSize;\n\t\t\n\t\tvoid main(void) {\n\t\t\t\n\t\t\tgl_FragColor = texture2D (openfl_Texture, openfl_TextureCoordv);\n\t\t\t\n\t\t}"; } if(this.__glVertexSource == null) { this.__glVertexSource = "attribute vec4 openfl_Position;\n\t\tattribute vec2 openfl_TextureCoord;\n\t\t\n\t\tvarying vec2 openfl_TextureCoordv;\n\t\t\n\t\tuniform mat4 openfl_Matrix;\n\t\tuniform vec2 openfl_TextureSize;\n\t\t\n\t\tvoid main(void) {\n\t\t\t\n\t\t\topenfl_TextureCoordv = openfl_TextureCoord;\n\t\t\n\t\tgl_Position = openfl_Matrix * openfl_Position;\n\t\t\t\n\t\t}"; } openfl_display_Shader.call(this,code); this.__isGenerated = true; this.__initGL(); }; $hxClasses["openfl.filters.BitmapFilterShader"] = openfl_filters_BitmapFilterShader; openfl_filters_BitmapFilterShader.__name__ = ["openfl","filters","BitmapFilterShader"]; openfl_filters_BitmapFilterShader.__super__ = openfl_display_Shader; openfl_filters_BitmapFilterShader.prototype = $extend(openfl_display_Shader.prototype,{ openfl_Position: null ,openfl_TextureCoord: null ,openfl_Matrix: null ,openfl_TextureSize: null ,openfl_Texture: null ,__class__: openfl_filters_BitmapFilterShader }); var openfl_filters__$BlurFilter_BlurShader = function() { if(this.__glFragmentSource == null) { this.__glFragmentSource = "uniform sampler2D openfl_Texture;\n\t\t\n\t\tvarying vec2 vBlurCoords[7];\n\t\t\n\t\tvoid main(void) {\n\t\t\t\n\t\t\tvec4 sum = vec4(0.0);\n\t\t\tsum += texture2D(openfl_Texture, vBlurCoords[0]) * 0.00443;\n\t\t\tsum += texture2D(openfl_Texture, vBlurCoords[1]) * 0.05399;\n\t\t\tsum += texture2D(openfl_Texture, vBlurCoords[2]) * 0.24197;\n\t\t\tsum += texture2D(openfl_Texture, vBlurCoords[3]) * 0.39894;\n\t\t\tsum += texture2D(openfl_Texture, vBlurCoords[4]) * 0.24197;\n\t\t\tsum += texture2D(openfl_Texture, vBlurCoords[5]) * 0.05399;\n\t\t\tsum += texture2D(openfl_Texture, vBlurCoords[6]) * 0.00443;\n\t\t\t\n\t\t\tgl_FragColor = sum;\n\t\t\t\n\t\t}"; } if(this.__glVertexSource == null) { this.__glVertexSource = "attribute vec4 openfl_Position;\n\t\tattribute vec2 openfl_TextureCoord;\n\t\t\n\t\tuniform mat4 openfl_Matrix;\n\t\t\n\t\tuniform vec2 uRadius;\n\t\tvarying vec2 vBlurCoords[7];\n\t\tuniform vec2 uTextureSize;\n\t\t\n\t\tvoid main(void) {\n\t\t\t\n\t\t\tgl_Position = openfl_Matrix * openfl_Position;\n\t\t\t\n\t\t\tvec2 r = uRadius / uTextureSize;\n\t\t\tvBlurCoords[0] = openfl_TextureCoord - r * 1.0;\n\t\t\tvBlurCoords[1] = openfl_TextureCoord - r * 0.75;\n\t\t\tvBlurCoords[2] = openfl_TextureCoord - r * 0.5;\n\t\t\tvBlurCoords[3] = openfl_TextureCoord;\n\t\t\tvBlurCoords[4] = openfl_TextureCoord + r * 0.5;\n\t\t\tvBlurCoords[5] = openfl_TextureCoord + r * 0.75;\n\t\t\tvBlurCoords[6] = openfl_TextureCoord + r * 1.0;\n\t\t\t\n\t\t}"; } openfl_filters_BitmapFilterShader.call(this); this.uRadius.value = [0,0]; this.__isGenerated = true; this.__initGL(); }; $hxClasses["openfl.filters._BlurFilter.BlurShader"] = openfl_filters__$BlurFilter_BlurShader; openfl_filters__$BlurFilter_BlurShader.__name__ = ["openfl","filters","_BlurFilter","BlurShader"]; openfl_filters__$BlurFilter_BlurShader.__super__ = openfl_filters_BitmapFilterShader; openfl_filters__$BlurFilter_BlurShader.prototype = $extend(openfl_filters_BitmapFilterShader.prototype,{ __update: function() { this.uTextureSize.value = [this.__texture.input.width,this.__texture.input.height]; openfl_filters_BitmapFilterShader.prototype.__update.call(this); } ,uRadius: null ,uTextureSize: null ,__class__: openfl_filters__$BlurFilter_BlurShader }); var openfl_filters_BlurFilter = function(blurX,blurY,quality) { if(quality == null) { quality = 1; } if(blurY == null) { blurY = 4; } if(blurX == null) { blurX = 4; } openfl_filters_BitmapFilter.call(this); this.set_blurX(blurX); this.set_blurY(blurY); this.set_quality(quality); this.__needSecondBitmapData = true; this.__preserveObject = false; this.__renderDirty = true; }; $hxClasses["openfl.filters.BlurFilter"] = openfl_filters_BlurFilter; openfl_filters_BlurFilter.__name__ = ["openfl","filters","BlurFilter"]; openfl_filters_BlurFilter.__super__ = openfl_filters_BitmapFilter; openfl_filters_BlurFilter.prototype = $extend(openfl_filters_BitmapFilter.prototype,{ __blurX: null ,__blurY: null ,__horizontalPasses: null ,__quality: null ,__verticalPasses: null ,clone: function() { return new openfl_filters_BlurFilter(this.__blurX,this.__blurY,this.__quality); } ,__applyFilter: function(bitmapData,sourceBitmapData,sourceRect,destPoint) { var finalImage = lime__$internal_graphics_ImageDataUtil.gaussianBlur(bitmapData.image,sourceBitmapData.image,sourceRect.__toLimeRectangle(),destPoint.__toLimeVector2(),this.__blurX,this.__blurY,this.__quality); if(finalImage == bitmapData.image) { return bitmapData; } return sourceBitmapData; } ,__initShader: function(renderer,pass) { if(pass <= this.__horizontalPasses) { var scale = Math.pow(0.5,pass >> 1); openfl_filters_BlurFilter.__blurShader.uRadius.value[0] = this.get_blurX() * scale; openfl_filters_BlurFilter.__blurShader.uRadius.value[1] = 0; } else { var scale1 = Math.pow(0.5,pass - this.__horizontalPasses >> 1); openfl_filters_BlurFilter.__blurShader.uRadius.value[0] = 0; openfl_filters_BlurFilter.__blurShader.uRadius.value[1] = this.get_blurY() * scale1; } return openfl_filters_BlurFilter.__blurShader; } ,get_blurX: function() { return this.__blurX; } ,set_blurX: function(value) { if(value != this.__blurX) { this.__blurX = value; this.__renderDirty = true; this.__leftExtension = value > 0 ? Math.ceil(value) : 0; this.__rightExtension = this.__leftExtension; } return value; } ,get_blurY: function() { return this.__blurY; } ,set_blurY: function(value) { if(value != this.__blurY) { this.__blurY = value; this.__renderDirty = true; this.__topExtension = value > 0 ? Math.ceil(value) : 0; this.__bottomExtension = this.__topExtension; } return value; } ,get_quality: function() { return this.__quality; } ,set_quality: function(value) { this.__horizontalPasses = this.__blurX <= 0 ? 0 : Math.round(this.__blurX * (value / 4)) + 1; this.__verticalPasses = this.__blurY <= 0 ? 0 : Math.round(this.__blurY * (value / 4)) + 1; this.__numShaderPasses = this.__horizontalPasses + this.__verticalPasses; if(value != this.__quality) { this.__renderDirty = true; } return this.__quality = value; } ,__class__: openfl_filters_BlurFilter ,__properties__: {set_quality:"set_quality",get_quality:"get_quality",set_blurY:"set_blurY",get_blurY:"get_blurY",set_blurX:"set_blurX",get_blurX:"get_blurX"} }); var openfl_filters__$ColorMatrixFilter_ColorMatrixShader = function() { if(this.__glFragmentSource == null) { this.__glFragmentSource = "varying vec2 openfl_TextureCoordv;\n\t\tuniform sampler2D openfl_Texture;\n\t\t\n\t\tuniform mat4 uMultipliers;\n\t\tuniform vec4 uOffsets;\n\t\t\n\t\tvoid main(void) {\n\t\t\t\n\t\t\tvec4 color = texture2D (openfl_Texture, openfl_TextureCoordv);\n\t\t\t\n\t\t\tif (color.a == 0.0) {\n\t\t\t\t\n\t\t\t\tgl_FragColor = vec4 (0.0, 0.0, 0.0, 0.0);\n\t\t\t\t\n\t\t\t} else {\n\t\t\t\t\n\t\t\t\tcolor = vec4 (color.rgb / color.a, color.a);\n\t\t\t\tcolor = uOffsets + color * uMultipliers;\n\t\t\t\t\n\t\t\t\tgl_FragColor = vec4 (color.rgb * color.a, color.a);\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t}"; } if(this.__glVertexSource == null) { this.__glVertexSource = "attribute vec4 openfl_Position;\n\t\tattribute vec2 openfl_TextureCoord;\n\t\t\n\t\tvarying vec2 openfl_TextureCoordv;\n\t\t\n\t\tuniform mat4 openfl_Matrix;\n\t\tuniform vec2 openfl_TextureSize;\n\n\t\t\n\t\tvoid main(void) {\n\t\t\t\n\t\t\topenfl_TextureCoordv = openfl_TextureCoord;\n\t\t\n\t\tgl_Position = openfl_Matrix * openfl_Position;\n\n\t\t\t\n\t\t}"; } openfl_filters_BitmapFilterShader.call(this); this.uMultipliers.value = [1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]; this.uOffsets.value = [0,0,0,0]; this.__isGenerated = true; this.__initGL(); }; $hxClasses["openfl.filters._ColorMatrixFilter.ColorMatrixShader"] = openfl_filters__$ColorMatrixFilter_ColorMatrixShader; openfl_filters__$ColorMatrixFilter_ColorMatrixShader.__name__ = ["openfl","filters","_ColorMatrixFilter","ColorMatrixShader"]; openfl_filters__$ColorMatrixFilter_ColorMatrixShader.__super__ = openfl_filters_BitmapFilterShader; openfl_filters__$ColorMatrixFilter_ColorMatrixShader.prototype = $extend(openfl_filters_BitmapFilterShader.prototype,{ init: function(matrix) { var multipliers = this.uMultipliers.value; var offsets = this.uOffsets.value; multipliers[0] = matrix[0]; multipliers[1] = matrix[1]; multipliers[2] = matrix[2]; multipliers[3] = matrix[3]; multipliers[4] = matrix[5]; multipliers[5] = matrix[6]; multipliers[6] = matrix[7]; multipliers[7] = matrix[8]; multipliers[8] = matrix[10]; multipliers[9] = matrix[11]; multipliers[10] = matrix[12]; multipliers[11] = matrix[13]; multipliers[12] = matrix[15]; multipliers[13] = matrix[16]; multipliers[14] = matrix[17]; multipliers[15] = matrix[18]; offsets[0] = matrix[4] / 255.0; offsets[1] = matrix[9] / 255.0; offsets[2] = matrix[14] / 255.0; offsets[3] = matrix[19] / 255.0; } ,uMultipliers: null ,uOffsets: null ,__class__: openfl_filters__$ColorMatrixFilter_ColorMatrixShader }); var openfl_filters_ColorMatrixFilter = function(matrix) { openfl_filters_BitmapFilter.call(this); this.set_matrix(matrix); this.__numShaderPasses = 1; this.__needSecondBitmapData = false; }; $hxClasses["openfl.filters.ColorMatrixFilter"] = openfl_filters_ColorMatrixFilter; openfl_filters_ColorMatrixFilter.__name__ = ["openfl","filters","ColorMatrixFilter"]; openfl_filters_ColorMatrixFilter.__super__ = openfl_filters_BitmapFilter; openfl_filters_ColorMatrixFilter.prototype = $extend(openfl_filters_BitmapFilter.prototype,{ __matrix: null ,clone: function() { return new openfl_filters_ColorMatrixFilter(this.__matrix); } ,__applyFilter: function(destBitmapData,sourceBitmapData,sourceRect,destPoint) { var sourceImage = sourceBitmapData.image; var image = destBitmapData.image; lime__$internal_graphics_ImageCanvasUtil.convertToData(sourceImage); lime__$internal_graphics_ImageCanvasUtil.convertToData(image); var sourceData = sourceImage.get_data(); var destData = image.get_data(); var offsetX = destPoint.x - sourceRect.x | 0; var offsetY = destPoint.y - sourceRect.y | 0; var sourceStride = sourceBitmapData.width * 4; var destStride = destBitmapData.width * 4; var sourceFormat = sourceImage.buffer.format; var destFormat = image.buffer.format; var sourcePremultiplied = sourceImage.buffer.premultiplied; var destPremultiplied = image.buffer.premultiplied; var sourcePixel; var destPixel = 0; var sourceOffset; var destOffset; var _g1 = sourceRect.y | 0; var _g = sourceRect.height | 0; while(_g1 < _g) { var row = _g1++; var _g3 = sourceRect.x | 0; var _g2 = sourceRect.width | 0; while(_g3 < _g2) { var column = _g3++; sourceOffset = row * sourceStride + column * 4; destOffset = (row + offsetX) * destStride + (column + offsetY) * 4; switch(sourceFormat) { case 0: sourcePixel = (sourceData[sourceOffset] & 255) << 24 | (sourceData[sourceOffset + 1] & 255) << 16 | (sourceData[sourceOffset + 2] & 255) << 8 | sourceData[sourceOffset + 3] & 255; break; case 1: sourcePixel = (sourceData[sourceOffset + 1] & 255) << 24 | (sourceData[sourceOffset + 2] & 255) << 16 | (sourceData[sourceOffset + 3] & 255) << 8 | sourceData[sourceOffset] & 255; break; case 2: sourcePixel = (sourceData[sourceOffset + 2] & 255) << 24 | (sourceData[sourceOffset + 1] & 255) << 16 | (sourceData[sourceOffset] & 255) << 8 | sourceData[sourceOffset + 3] & 255; break; } if(sourcePremultiplied) { if((sourcePixel & 255) != 0 && (sourcePixel & 255) != 255) { lime_math__$RGBA_RGBA_$Impl_$.unmult = 255.0 / (sourcePixel & 255); sourcePixel = (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((sourcePixel >>> 24 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 24 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((sourcePixel >>> 16 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 16 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((sourcePixel >>> 8 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 8 | sourcePixel & 255 & 255; } } if((sourcePixel & 255) == 0) { destPixel = 0; } else { var value = Math.max(0,Math.min(this.__matrix[0] * (sourcePixel >>> 24 & 255) + this.__matrix[1] * (sourcePixel >>> 16 & 255) + this.__matrix[2] * (sourcePixel >>> 8 & 255) + this.__matrix[3] * (sourcePixel & 255) + this.__matrix[4],255)) | 0; destPixel = (value & 255) << 24 | (destPixel >>> 16 & 255 & 255) << 16 | (destPixel >>> 8 & 255 & 255) << 8 | destPixel & 255 & 255; var value1 = Math.max(0,Math.min(this.__matrix[5] * (sourcePixel >>> 24 & 255) + this.__matrix[6] * (sourcePixel >>> 16 & 255) + this.__matrix[7] * (sourcePixel >>> 8 & 255) + this.__matrix[8] * (sourcePixel & 255) + this.__matrix[9],255)) | 0; destPixel = (destPixel >>> 24 & 255 & 255) << 24 | (value1 & 255) << 16 | (destPixel >>> 8 & 255 & 255) << 8 | destPixel & 255 & 255; var value2 = Math.max(0,Math.min(this.__matrix[10] * (sourcePixel >>> 24 & 255) + this.__matrix[11] * (sourcePixel >>> 16 & 255) + this.__matrix[12] * (sourcePixel >>> 8 & 255) + this.__matrix[13] * (sourcePixel & 255) + this.__matrix[14],255)) | 0; destPixel = (destPixel >>> 24 & 255 & 255) << 24 | (destPixel >>> 16 & 255 & 255) << 16 | (value2 & 255) << 8 | destPixel & 255 & 255; var value3 = Math.max(0,Math.min(this.__matrix[15] * (sourcePixel >>> 24 & 255) + this.__matrix[16] * (sourcePixel >>> 16 & 255) + this.__matrix[17] * (sourcePixel >>> 8 & 255) + this.__matrix[18] * (sourcePixel & 255) + this.__matrix[19],255)) | 0; destPixel = (destPixel >>> 24 & 255 & 255) << 24 | (destPixel >>> 16 & 255 & 255) << 16 | (destPixel >>> 8 & 255 & 255) << 8 | value3 & 255; } if(destPremultiplied) { if((destPixel & 255) == 0) { if(destPixel != 0) { destPixel = 0; } } else if((destPixel & 255) != 255) { lime_math__$RGBA_RGBA_$Impl_$.a16 = lime_math__$RGBA_RGBA_$Impl_$.__alpha16[destPixel & 255]; destPixel = ((destPixel >>> 24 & 255) * lime_math__$RGBA_RGBA_$Impl_$.a16 >> 16 & 255) << 24 | ((destPixel >>> 16 & 255) * lime_math__$RGBA_RGBA_$Impl_$.a16 >> 16 & 255) << 16 | ((destPixel >>> 8 & 255) * lime_math__$RGBA_RGBA_$Impl_$.a16 >> 16 & 255) << 8 | destPixel & 255 & 255; } } switch(destFormat) { case 0: destData[destOffset] = destPixel >>> 24 & 255; destData[destOffset + 1] = destPixel >>> 16 & 255; destData[destOffset + 2] = destPixel >>> 8 & 255; destData[destOffset + 3] = destPixel & 255; break; case 1: destData[destOffset] = destPixel & 255; destData[destOffset + 1] = destPixel >>> 24 & 255; destData[destOffset + 2] = destPixel >>> 16 & 255; destData[destOffset + 3] = destPixel >>> 8 & 255; break; case 2: destData[destOffset] = destPixel >>> 8 & 255; destData[destOffset + 1] = destPixel >>> 16 & 255; destData[destOffset + 2] = destPixel >>> 24 & 255; destData[destOffset + 3] = destPixel & 255; break; } } } destBitmapData.image.dirty = true; return destBitmapData; } ,__initShader: function(renderer,pass) { openfl_filters_ColorMatrixFilter.__colorMatrixShader.init(this.get_matrix()); return openfl_filters_ColorMatrixFilter.__colorMatrixShader; } ,get_matrix: function() { return this.__matrix; } ,set_matrix: function(value) { if(value == null) { value = [1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,1,0]; } return this.__matrix = value; } ,__class__: openfl_filters_ColorMatrixFilter ,__properties__: {set_matrix:"set_matrix",get_matrix:"get_matrix"} }); var openfl_filters_DropShadowFilter = function(distance,angle,color,alpha,blurX,blurY,strength,quality,inner,knockout,hideObject) { if(hideObject == null) { hideObject = false; } if(knockout == null) { knockout = false; } if(inner == null) { inner = false; } if(quality == null) { quality = 1; } if(strength == null) { strength = 1; } if(blurY == null) { blurY = 4; } if(blurX == null) { blurX = 4; } if(alpha == null) { alpha = 1; } if(color == null) { color = 0; } if(angle == null) { angle = 45; } if(distance == null) { distance = 4; } openfl_filters_BitmapFilter.call(this); this.__offsetX = 0; this.__offsetY = 0; this.__distance = distance; this.__angle = angle; this.__color = color; this.__alpha = alpha; this.__blurX = blurX; this.__blurY = blurY; this.__strength = strength; this.__quality = quality; this.__inner = inner; this.__knockout = knockout; this.__hideObject = hideObject; this.__updateSize(); this.__needSecondBitmapData = true; this.__preserveObject = !this.__hideObject; this.__renderDirty = true; }; $hxClasses["openfl.filters.DropShadowFilter"] = openfl_filters_DropShadowFilter; openfl_filters_DropShadowFilter.__name__ = ["openfl","filters","DropShadowFilter"]; openfl_filters_DropShadowFilter.__super__ = openfl_filters_BitmapFilter; openfl_filters_DropShadowFilter.prototype = $extend(openfl_filters_BitmapFilter.prototype,{ __alpha: null ,__angle: null ,__blurX: null ,__blurY: null ,__color: null ,__distance: null ,__hideObject: null ,__inner: null ,__knockout: null ,__offsetX: null ,__offsetY: null ,__quality: null ,__strength: null ,clone: function() { return new openfl_filters_DropShadowFilter(this.__distance,this.__angle,this.__color,this.__alpha,this.__blurX,this.__blurY,this.__strength,this.__quality,this.__inner,this.__knockout,this.__hideObject); } ,__applyFilter: function(bitmapData,sourceBitmapData,sourceRect,destPoint) { var r = this.__color >> 16 & 255; var g = this.__color >> 8 & 255; var b = this.__color & 255; var point = new openfl_geom_Point(destPoint.x + this.__offsetX,destPoint.y + this.__offsetY); var finalImage = lime__$internal_graphics_ImageDataUtil.gaussianBlur(bitmapData.image,sourceBitmapData.image,sourceRect.__toLimeRectangle(),point.__toLimeVector2(),this.__blurX,this.__blurY,this.__quality,this.__strength); finalImage.colorTransform(finalImage.get_rect(),new openfl_geom_ColorTransform(0,0,0,this.__alpha,r,g,b,0).__toLimeColorMatrix()); if(finalImage == bitmapData.image) { return bitmapData; } return sourceBitmapData; } ,__updateSize: function() { this.__offsetX = this.__distance * Math.cos(this.__angle * Math.PI / 180) | 0; this.__offsetY = this.__distance * Math.sin(this.__angle * Math.PI / 180) | 0; this.__topExtension = Math.ceil((this.__offsetY < 0 ? -this.__offsetY : 0) + this.__blurY); this.__bottomExtension = Math.ceil((this.__offsetY > 0 ? this.__offsetY : 0) + this.__blurY); this.__leftExtension = Math.ceil((this.__offsetX < 0 ? -this.__offsetX : 0) + this.__blurX); this.__rightExtension = Math.ceil((this.__offsetX > 0 ? this.__offsetX : 0) + this.__blurX); } ,get_alpha: function() { return this.__alpha; } ,set_alpha: function(value) { if(value != this.__alpha) { this.__renderDirty = true; } return this.__alpha = value; } ,get_angle: function() { return this.__angle; } ,set_angle: function(value) { if(value != this.__angle) { this.__angle = value; this.__renderDirty = true; this.__updateSize(); } return value; } ,get_blurX: function() { return this.__blurX; } ,set_blurX: function(value) { if(value != this.__blurX) { this.__blurX = value; this.__renderDirty = true; this.__updateSize(); } return value; } ,get_blurY: function() { return this.__blurY; } ,set_blurY: function(value) { if(value != this.__blurY) { this.__blurY = value; this.__renderDirty = true; this.__updateSize(); } return value; } ,get_color: function() { return this.__color; } ,set_color: function(value) { if(value != this.__color) { this.__renderDirty = true; } return this.__color = value; } ,get_distance: function() { return this.__distance; } ,set_distance: function(value) { if(value != this.__distance) { this.__distance = value; this.__renderDirty = true; this.__updateSize(); } return value; } ,get_hideObject: function() { return this.__hideObject; } ,set_hideObject: function(value) { if(value != this.__hideObject) { this.__renderDirty = true; this.__preserveObject = !value; } return this.__hideObject = value; } ,get_inner: function() { return this.__inner; } ,set_inner: function(value) { if(value != this.__inner) { this.__renderDirty = true; } return this.__inner = value; } ,get_knockout: function() { return this.__knockout; } ,set_knockout: function(value) { if(value != this.__knockout) { this.__renderDirty = true; } return this.__knockout = value; } ,get_quality: function() { return this.__quality; } ,set_quality: function(value) { if(value != this.__quality) { this.__renderDirty = true; } return this.__quality = value; } ,get_strength: function() { return this.__strength; } ,set_strength: function(value) { if(value != this.__strength) { this.__renderDirty = true; } return this.__strength = value; } ,__class__: openfl_filters_DropShadowFilter ,__properties__: {set_strength:"set_strength",get_strength:"get_strength",set_quality:"set_quality",get_quality:"get_quality",set_knockout:"set_knockout",get_knockout:"get_knockout",set_inner:"set_inner",get_inner:"get_inner",set_hideObject:"set_hideObject",get_hideObject:"get_hideObject",set_distance:"set_distance",get_distance:"get_distance",set_color:"set_color",get_color:"get_color",set_blurY:"set_blurY",get_blurY:"get_blurY",set_blurX:"set_blurX",get_blurX:"get_blurX",set_angle:"set_angle",get_angle:"get_angle",set_alpha:"set_alpha",get_alpha:"get_alpha"} }); var openfl_filters__$GlowFilter_GlowShader = function() { if(this.__glFragmentSource == null) { this.__glFragmentSource = "uniform sampler2D openfl_Texture;\n\t\t\n\t\tuniform vec4 uColor;\n\t\t\n\t\tvarying vec2 vBlurCoords[7];\n\t\t\n\t\tvoid main(void) {\n\t\t\t\n\t\t\tfloat a = 0.0;\n\t\t\ta += texture2D(openfl_Texture, vBlurCoords[0]).a * 0.00443;\n\t\t\ta += texture2D(openfl_Texture, vBlurCoords[1]).a * 0.05399;\n\t\t\ta += texture2D(openfl_Texture, vBlurCoords[2]).a * 0.24197;\n\t\t\ta += texture2D(openfl_Texture, vBlurCoords[3]).a * 0.39894;\n\t\t\ta += texture2D(openfl_Texture, vBlurCoords[4]).a * 0.24197;\n\t\t\ta += texture2D(openfl_Texture, vBlurCoords[5]).a * 0.05399;\n\t\t\ta += texture2D(openfl_Texture, vBlurCoords[6]).a * 0.00443;\n\t\t\ta *= uColor.a;\n\t\t\t\n\t\t\tgl_FragColor = vec4(uColor.rgb * a, a);\n\t\t\t\n\t\t}"; } if(this.__glVertexSource == null) { this.__glVertexSource = "attribute vec4 openfl_Position;\n\t\tattribute vec2 openfl_TextureCoord;\n\t\t\n\t\tuniform mat4 openfl_Matrix;\n\t\tuniform vec2 openfl_TextureSize;\n\t\t\n\t\tuniform vec2 uRadius;\n\t\tvarying vec2 vBlurCoords[7];\n\t\t\n\t\tvoid main(void) {\n\t\t\t\n\t\t\tgl_Position = openfl_Matrix * openfl_Position;\n\t\t\t\n\t\t\tvec2 r = uRadius / openfl_TextureSize;\n\t\t\tvBlurCoords[0] = openfl_TextureCoord - r * 1.0;\n\t\t\tvBlurCoords[1] = openfl_TextureCoord - r * 0.75;\n\t\t\tvBlurCoords[2] = openfl_TextureCoord - r * 0.5;\n\t\t\tvBlurCoords[3] = openfl_TextureCoord;\n\t\t\tvBlurCoords[4] = openfl_TextureCoord + r * 0.5;\n\t\t\tvBlurCoords[5] = openfl_TextureCoord + r * 0.75;\n\t\t\tvBlurCoords[6] = openfl_TextureCoord + r * 1.0;\n\t\t\t\n\t\t}"; } openfl_filters_BitmapFilterShader.call(this); this.uRadius.value = [0,0]; this.uColor.value = [0,0,0,0]; this.__isGenerated = true; this.__initGL(); }; $hxClasses["openfl.filters._GlowFilter.GlowShader"] = openfl_filters__$GlowFilter_GlowShader; openfl_filters__$GlowFilter_GlowShader.__name__ = ["openfl","filters","_GlowFilter","GlowShader"]; openfl_filters__$GlowFilter_GlowShader.__super__ = openfl_filters_BitmapFilterShader; openfl_filters__$GlowFilter_GlowShader.prototype = $extend(openfl_filters_BitmapFilterShader.prototype,{ uRadius: null ,uColor: null ,__class__: openfl_filters__$GlowFilter_GlowShader }); var openfl_filters_GlowFilter = function(color,alpha,blurX,blurY,strength,quality,inner,knockout) { if(knockout == null) { knockout = false; } if(inner == null) { inner = false; } if(quality == null) { quality = 1; } if(strength == null) { strength = 2; } if(blurY == null) { blurY = 6; } if(blurX == null) { blurX = 6; } if(alpha == null) { alpha = 1; } if(color == null) { color = 16711680; } openfl_filters_BitmapFilter.call(this); this.__color = color; this.__alpha = alpha; this.set_blurX(blurX); this.set_blurY(blurY); this.__strength = strength; this.set_quality(quality); this.__inner = inner; this.__knockout = knockout; this.__needSecondBitmapData = true; this.__preserveObject = true; this.__renderDirty = true; }; $hxClasses["openfl.filters.GlowFilter"] = openfl_filters_GlowFilter; openfl_filters_GlowFilter.__name__ = ["openfl","filters","GlowFilter"]; openfl_filters_GlowFilter.__super__ = openfl_filters_BitmapFilter; openfl_filters_GlowFilter.prototype = $extend(openfl_filters_BitmapFilter.prototype,{ __alpha: null ,__blurX: null ,__blurY: null ,__color: null ,__horizontalPasses: null ,__inner: null ,__knockout: null ,__quality: null ,__strength: null ,__verticalPasses: null ,clone: function() { return new openfl_filters_GlowFilter(this.__color,this.__alpha,this.__blurX,this.__blurY,this.__strength,this.__quality,this.__inner,this.__knockout); } ,__applyFilter: function(bitmapData,sourceBitmapData,sourceRect,destPoint) { var r = this.__color >> 16 & 255; var g = this.__color >> 8 & 255; var b = this.__color & 255; var finalImage = lime__$internal_graphics_ImageDataUtil.gaussianBlur(bitmapData.image,sourceBitmapData.image,sourceRect.__toLimeRectangle(),destPoint.__toLimeVector2(),this.__blurX,this.__blurY,this.__quality,this.__strength); finalImage.colorTransform(finalImage.get_rect(),new openfl_geom_ColorTransform(0,0,0,this.__alpha,r,g,b,0).__toLimeColorMatrix()); if(finalImage == bitmapData.image) { return bitmapData; } return sourceBitmapData; } ,__initShader: function(renderer,pass) { if(pass <= this.__horizontalPasses) { var scale = Math.pow(0.5,pass >> 1); openfl_filters_GlowFilter.__glowShader.uRadius.value[0] = this.get_blurX() * scale; openfl_filters_GlowFilter.__glowShader.uRadius.value[1] = 0; } else { var scale1 = Math.pow(0.5,pass - this.__horizontalPasses >> 1); openfl_filters_GlowFilter.__glowShader.uRadius.value[0] = 0; openfl_filters_GlowFilter.__glowShader.uRadius.value[1] = this.get_blurY() * scale1; } openfl_filters_GlowFilter.__glowShader.uColor.value[0] = (this.get_color() >> 16 & 255) / 255; openfl_filters_GlowFilter.__glowShader.uColor.value[1] = (this.get_color() >> 8 & 255) / 255; openfl_filters_GlowFilter.__glowShader.uColor.value[2] = (this.get_color() & 255) / 255; openfl_filters_GlowFilter.__glowShader.uColor.value[3] = this.get_alpha() * (this.__strength / this.__numShaderPasses); return openfl_filters_GlowFilter.__glowShader; } ,get_alpha: function() { return this.__alpha; } ,set_alpha: function(value) { if(value != this.__alpha) { this.__renderDirty = true; } return this.__alpha = value; } ,get_blurX: function() { return this.__blurX; } ,set_blurX: function(value) { if(value != this.__blurX) { this.__blurX = value; this.__renderDirty = true; this.__leftExtension = value > 0 ? Math.ceil(value * 1.5) : 0; this.__rightExtension = this.__leftExtension; } return value; } ,get_blurY: function() { return this.__blurY; } ,set_blurY: function(value) { if(value != this.__blurY) { this.__blurY = value; this.__renderDirty = true; this.__topExtension = value > 0 ? Math.ceil(value * 1.5) : 0; this.__bottomExtension = this.__topExtension; } return value; } ,get_color: function() { return this.__color; } ,set_color: function(value) { if(value != this.__color) { this.__renderDirty = true; } return this.__color = value; } ,get_inner: function() { return this.__inner; } ,set_inner: function(value) { if(value != this.__inner) { this.__renderDirty = true; } return this.__inner = value; } ,get_knockout: function() { return this.__knockout; } ,set_knockout: function(value) { if(value != this.__knockout) { this.__renderDirty = true; } return this.__knockout = value; } ,get_quality: function() { return this.__quality; } ,set_quality: function(value) { this.__horizontalPasses = this.__blurX <= 0 ? 0 : Math.round(this.__blurX * (value / 4)) + 1; this.__verticalPasses = this.__blurY <= 0 ? 0 : Math.round(this.__blurY * (value / 4)) + 1; this.__numShaderPasses = this.__horizontalPasses + this.__verticalPasses; if(value != this.__quality) { this.__renderDirty = true; } return this.__quality = value; } ,get_strength: function() { return this.__strength; } ,set_strength: function(value) { if(value != this.__strength) { this.__renderDirty = true; } return this.__strength = value; } ,__class__: openfl_filters_GlowFilter ,__properties__: {set_strength:"set_strength",get_strength:"get_strength",set_quality:"set_quality",get_quality:"get_quality",set_knockout:"set_knockout",get_knockout:"get_knockout",set_inner:"set_inner",get_inner:"get_inner",set_color:"set_color",get_color:"get_color",set_blurY:"set_blurY",get_blurY:"get_blurY",set_blurX:"set_blurX",get_blurX:"get_blurX",set_alpha:"set_alpha",get_alpha:"get_alpha"} }); var openfl_geom_Matrix3D = function(v) { if(v != null && v.get_length() == 16) { this.rawData = v.concat(null); } else { this.rawData = openfl__$Vector_Vector_$Impl_$.toFloatVector(null,null,null,[1.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,1.0]); } }; $hxClasses["openfl.geom.Matrix3D"] = openfl_geom_Matrix3D; openfl_geom_Matrix3D.__name__ = ["openfl","geom","Matrix3D"]; openfl_geom_Matrix3D.create2D = function(x,y,scale,rotation) { if(rotation == null) { rotation = 0; } if(scale == null) { scale = 1; } var theta = rotation * Math.PI / 180.0; var c = Math.cos(theta); var s = Math.sin(theta); return new openfl_geom_Matrix3D(openfl__$Vector_Vector_$Impl_$.toFloatVector(null,null,null,[c * scale,-s * scale,0,0,s * scale,c * scale,0,0,0,0,1,0,x,y,0,1])); }; openfl_geom_Matrix3D.createABCD = function(a,b,c,d,tx,ty) { return new openfl_geom_Matrix3D(openfl__$Vector_Vector_$Impl_$.toFloatVector(null,null,null,[a,b,0,0,c,d,0,0,0,0,1,0,tx,ty,0,1])); }; openfl_geom_Matrix3D.createOrtho = function(x0,x1,y0,y1,zNear,zFar) { var sx = 1.0 / (x1 - x0); var sy = 1.0 / (y1 - y0); var sz = 1.0 / (zFar - zNear); return new openfl_geom_Matrix3D(openfl__$Vector_Vector_$Impl_$.toFloatVector(null,null,null,[2.0 * sx,0,0,0,0,2.0 * sy,0,0,0,0,-2.0 * sz,0,-(x0 + x1) * sx,-(y0 + y1) * sy,-(zNear + zFar) * sz,1])); }; openfl_geom_Matrix3D.interpolate = function(thisMat,toMat,percent) { var m = new openfl_geom_Matrix3D(); var _g = 0; while(_g < 16) { var i = _g++; m.rawData.set(i,thisMat.rawData.get(i) + (toMat.rawData.get(i) - thisMat.rawData.get(i)) * percent); } return m; }; openfl_geom_Matrix3D.__getAxisRotation = function(x,y,z,degrees) { var m = new openfl_geom_Matrix3D(); var a1 = new openfl_geom_Vector3D(x,y,z); var rad = -degrees * (Math.PI / 180); var c = Math.cos(rad); var s = Math.sin(rad); var t = 1.0 - c; m.rawData.set(0,c + a1.x * a1.x * t); m.rawData.set(5,c + a1.y * a1.y * t); m.rawData.set(10,c + a1.z * a1.z * t); var tmp1 = a1.x * a1.y * t; var tmp2 = a1.z * s; m.rawData.set(4,tmp1 + tmp2); m.rawData.set(1,tmp1 - tmp2); tmp1 = a1.x * a1.z * t; tmp2 = a1.y * s; m.rawData.set(8,tmp1 - tmp2); m.rawData.set(2,tmp1 + tmp2); tmp1 = a1.y * a1.z * t; tmp2 = a1.x * s; m.rawData.set(9,tmp1 + tmp2); m.rawData.set(6,tmp1 - tmp2); return m; }; openfl_geom_Matrix3D.prototype = { rawData: null ,append: function(lhs) { var m111 = this.rawData.get(0); var m121 = this.rawData.get(4); var m131 = this.rawData.get(8); var m141 = this.rawData.get(12); var m112 = this.rawData.get(1); var m122 = this.rawData.get(5); var m132 = this.rawData.get(9); var m142 = this.rawData.get(13); var m113 = this.rawData.get(2); var m123 = this.rawData.get(6); var m133 = this.rawData.get(10); var m143 = this.rawData.get(14); var m114 = this.rawData.get(3); var m124 = this.rawData.get(7); var m134 = this.rawData.get(11); var m144 = this.rawData.get(15); var m211 = lhs.rawData.get(0); var m221 = lhs.rawData.get(4); var m231 = lhs.rawData.get(8); var m241 = lhs.rawData.get(12); var m212 = lhs.rawData.get(1); var m222 = lhs.rawData.get(5); var m232 = lhs.rawData.get(9); var m242 = lhs.rawData.get(13); var m213 = lhs.rawData.get(2); var m223 = lhs.rawData.get(6); var m233 = lhs.rawData.get(10); var m243 = lhs.rawData.get(14); var m214 = lhs.rawData.get(3); var m224 = lhs.rawData.get(7); var m234 = lhs.rawData.get(11); var m244 = lhs.rawData.get(15); this.rawData.set(0,m111 * m211 + m112 * m221 + m113 * m231 + m114 * m241); this.rawData.set(1,m111 * m212 + m112 * m222 + m113 * m232 + m114 * m242); this.rawData.set(2,m111 * m213 + m112 * m223 + m113 * m233 + m114 * m243); this.rawData.set(3,m111 * m214 + m112 * m224 + m113 * m234 + m114 * m244); this.rawData.set(4,m121 * m211 + m122 * m221 + m123 * m231 + m124 * m241); this.rawData.set(5,m121 * m212 + m122 * m222 + m123 * m232 + m124 * m242); this.rawData.set(6,m121 * m213 + m122 * m223 + m123 * m233 + m124 * m243); this.rawData.set(7,m121 * m214 + m122 * m224 + m123 * m234 + m124 * m244); this.rawData.set(8,m131 * m211 + m132 * m221 + m133 * m231 + m134 * m241); this.rawData.set(9,m131 * m212 + m132 * m222 + m133 * m232 + m134 * m242); this.rawData.set(10,m131 * m213 + m132 * m223 + m133 * m233 + m134 * m243); this.rawData.set(11,m131 * m214 + m132 * m224 + m133 * m234 + m134 * m244); this.rawData.set(12,m141 * m211 + m142 * m221 + m143 * m231 + m144 * m241); this.rawData.set(13,m141 * m212 + m142 * m222 + m143 * m232 + m144 * m242); this.rawData.set(14,m141 * m213 + m142 * m223 + m143 * m233 + m144 * m243); this.rawData.set(15,m141 * m214 + m142 * m224 + m143 * m234 + m144 * m244); } ,appendRotation: function(degrees,axis,pivotPoint) { var tx; var ty; var tz = 0; ty = tz; tx = ty; if(pivotPoint != null) { tx = pivotPoint.x; ty = pivotPoint.y; tz = pivotPoint.z; } var radian = degrees * Math.PI / 180; var cos = Math.cos(radian); var sin = Math.sin(radian); var x = axis.x; var y = axis.y; var z = axis.z; var x2 = x * x; var y2 = y * y; var z2 = z * z; var ls = x2 + y2 + z2; if(ls != 0) { var l = Math.sqrt(ls); x /= l; y /= l; z /= l; x2 /= ls; y2 /= ls; z2 /= ls; } var ccos = 1 - cos; var m = new openfl_geom_Matrix3D(); var d = m.rawData; d.set(0,x2 + (y2 + z2) * cos); d.set(1,x * y * ccos + z * sin); d.set(2,x * z * ccos - y * sin); d.set(4,x * y * ccos - z * sin); d.set(5,y2 + (x2 + z2) * cos); d.set(6,y * z * ccos + x * sin); d.set(8,x * z * ccos + y * sin); d.set(9,y * z * ccos - x * sin); d.set(10,z2 + (x2 + y2) * cos); d.set(12,(tx * (y2 + z2) - x * (ty * y + tz * z)) * ccos + (ty * z - tz * y) * sin); d.set(13,(ty * (x2 + z2) - y * (tx * x + tz * z)) * ccos + (tz * x - tx * z) * sin); d.set(14,(tz * (x2 + y2) - z * (tx * x + ty * y)) * ccos + (tx * y - ty * x) * sin); this.append(m); } ,appendScale: function(xScale,yScale,zScale) { this.append(new openfl_geom_Matrix3D(openfl__$Vector_Vector_$Impl_$.toFloatVector(null,null,null,[xScale,0.0,0.0,0.0,0.0,yScale,0.0,0.0,0.0,0.0,zScale,0.0,0.0,0.0,0.0,1.0]))); } ,appendTranslation: function(x,y,z) { var _g = this.rawData; _g.set(12,_g.get(12) + x); var _g1 = this.rawData; _g1.set(13,_g1.get(13) + y); var _g2 = this.rawData; _g2.set(14,_g2.get(14) + z); } ,clone: function() { return new openfl_geom_Matrix3D(this.rawData.copy()); } ,copyColumnFrom: function(column,vector3D) { switch(column) { case 0: this.rawData.set(0,vector3D.x); this.rawData.set(1,vector3D.y); this.rawData.set(2,vector3D.z); this.rawData.set(3,vector3D.w); break; case 1: this.rawData.set(4,vector3D.x); this.rawData.set(5,vector3D.y); this.rawData.set(6,vector3D.z); this.rawData.set(7,vector3D.w); break; case 2: this.rawData.set(8,vector3D.x); this.rawData.set(9,vector3D.y); this.rawData.set(10,vector3D.z); this.rawData.set(11,vector3D.w); break; case 3: this.rawData.set(12,vector3D.x); this.rawData.set(13,vector3D.y); this.rawData.set(14,vector3D.z); this.rawData.set(15,vector3D.w); break; default: } } ,copyColumnTo: function(column,vector3D) { switch(column) { case 0: vector3D.x = this.rawData.get(0); vector3D.y = this.rawData.get(1); vector3D.z = this.rawData.get(2); vector3D.w = this.rawData.get(3); break; case 1: vector3D.x = this.rawData.get(4); vector3D.y = this.rawData.get(5); vector3D.z = this.rawData.get(6); vector3D.w = this.rawData.get(7); break; case 2: vector3D.x = this.rawData.get(8); vector3D.y = this.rawData.get(9); vector3D.z = this.rawData.get(10); vector3D.w = this.rawData.get(11); break; case 3: vector3D.x = this.rawData.get(12); vector3D.y = this.rawData.get(13); vector3D.z = this.rawData.get(14); vector3D.w = this.rawData.get(15); break; default: } } ,copyFrom: function(other) { this.rawData = other.rawData.copy(); } ,copyRawDataFrom: function(vector,index,transpose) { if(transpose == null) { transpose = false; } if(index == null) { index = 0; } if(transpose) { this.transpose(); } var length = vector.get_length() - index; var _g1 = 0; var _g = length; while(_g1 < _g) { var i = _g1++; this.rawData.set(i,vector.get(i + index)); } if(transpose) { this.transpose(); } } ,copyRawDataTo: function(vector,index,transpose) { if(transpose == null) { transpose = false; } if(index == null) { index = 0; } if(transpose) { this.transpose(); } var _g1 = 0; var _g = this.rawData.get_length(); while(_g1 < _g) { var i = _g1++; vector.set(i + index,this.rawData.get(i)); } if(transpose) { this.transpose(); } } ,copyRowFrom: function(row,vector3D) { switch(row) { case 0: this.rawData.set(0,vector3D.x); this.rawData.set(4,vector3D.y); this.rawData.set(8,vector3D.z); this.rawData.set(12,vector3D.w); break; case 1: this.rawData.set(1,vector3D.x); this.rawData.set(5,vector3D.y); this.rawData.set(9,vector3D.z); this.rawData.set(13,vector3D.w); break; case 2: this.rawData.set(2,vector3D.x); this.rawData.set(6,vector3D.y); this.rawData.set(10,vector3D.z); this.rawData.set(14,vector3D.w); break; case 3: this.rawData.set(3,vector3D.x); this.rawData.set(7,vector3D.y); this.rawData.set(11,vector3D.z); this.rawData.set(15,vector3D.w); break; default: } } ,copyRowTo: function(row,vector3D) { switch(row) { case 0: vector3D.x = this.rawData.get(0); vector3D.y = this.rawData.get(4); vector3D.z = this.rawData.get(8); vector3D.w = this.rawData.get(12); break; case 1: vector3D.x = this.rawData.get(1); vector3D.y = this.rawData.get(5); vector3D.z = this.rawData.get(9); vector3D.w = this.rawData.get(13); break; case 2: vector3D.x = this.rawData.get(2); vector3D.y = this.rawData.get(6); vector3D.z = this.rawData.get(10); vector3D.w = this.rawData.get(14); break; case 3: vector3D.x = this.rawData.get(3); vector3D.y = this.rawData.get(7); vector3D.z = this.rawData.get(11); vector3D.w = this.rawData.get(15); break; default: } } ,copyToMatrix3D: function(other) { other.rawData = this.rawData.copy(); } ,decompose: function(orientationStyle) { if(orientationStyle == null) { orientationStyle = 1; } var vec = openfl__$Vector_Vector_$Impl_$.toObjectVector(null); var m = this.clone(); var mr = m.rawData.copy(); var pos = new openfl_geom_Vector3D(mr.get(12),mr.get(13),mr.get(14)); mr.set(12,0); mr.set(13,0); mr.set(14,0); var scale = new openfl_geom_Vector3D(); scale.x = Math.sqrt(mr.get(0) * mr.get(0) + mr.get(1) * mr.get(1) + mr.get(2) * mr.get(2)); scale.y = Math.sqrt(mr.get(4) * mr.get(4) + mr.get(5) * mr.get(5) + mr.get(6) * mr.get(6)); scale.z = Math.sqrt(mr.get(8) * mr.get(8) + mr.get(9) * mr.get(9) + mr.get(10) * mr.get(10)); if(mr.get(0) * (mr.get(5) * mr.get(10) - mr.get(6) * mr.get(9)) - mr.get(1) * (mr.get(4) * mr.get(10) - mr.get(6) * mr.get(8)) + mr.get(2) * (mr.get(4) * mr.get(9) - mr.get(5) * mr.get(8)) < 0) { scale.z = -scale.z; } var _g = mr; _g.set(0,_g.get(0) / scale.x); var _g1 = mr; _g1.set(1,_g1.get(1) / scale.x); var _g2 = mr; _g2.set(2,_g2.get(2) / scale.x); var _g3 = mr; _g3.set(4,_g3.get(4) / scale.y); var _g4 = mr; _g4.set(5,_g4.get(5) / scale.y); var _g5 = mr; _g5.set(6,_g5.get(6) / scale.y); var _g6 = mr; _g6.set(8,_g6.get(8) / scale.z); var _g7 = mr; _g7.set(9,_g7.get(9) / scale.z); var _g8 = mr; _g8.set(10,_g8.get(10) / scale.z); var rot = new openfl_geom_Vector3D(); switch(orientationStyle) { case 0: rot.w = Math.acos((mr.get(0) + mr.get(5) + mr.get(10) - 1) / 2); var len = Math.sqrt((mr.get(6) - mr.get(9)) * (mr.get(6) - mr.get(9)) + (mr.get(8) - mr.get(2)) * (mr.get(8) - mr.get(2)) + (mr.get(1) - mr.get(4)) * (mr.get(1) - mr.get(4))); if(len != 0) { rot.x = (mr.get(6) - mr.get(9)) / len; rot.y = (mr.get(8) - mr.get(2)) / len; rot.z = (mr.get(1) - mr.get(4)) / len; } else { rot.x = rot.y = rot.z = 0; } break; case 1: rot.y = Math.asin(-mr.get(2)); if(mr.get(2) != 1 && mr.get(2) != -1) { rot.x = Math.atan2(mr.get(6),mr.get(10)); rot.z = Math.atan2(mr.get(1),mr.get(0)); } else { rot.z = 0; rot.x = Math.atan2(mr.get(4),mr.get(5)); } break; case 2: var tr = mr.get(0) + mr.get(5) + mr.get(10); if(tr > 0) { rot.w = Math.sqrt(1 + tr) / 2; rot.x = (mr.get(6) - mr.get(9)) / (4 * rot.w); rot.y = (mr.get(8) - mr.get(2)) / (4 * rot.w); rot.z = (mr.get(1) - mr.get(4)) / (4 * rot.w); } else if(mr.get(0) > mr.get(5) && mr.get(0) > mr.get(10)) { rot.x = Math.sqrt(1 + mr.get(0) - mr.get(5) - mr.get(10)) / 2; rot.w = (mr.get(6) - mr.get(9)) / (4 * rot.x); rot.y = (mr.get(1) + mr.get(4)) / (4 * rot.x); rot.z = (mr.get(8) + mr.get(2)) / (4 * rot.x); } else if(mr.get(5) > mr.get(10)) { rot.y = Math.sqrt(1 + mr.get(5) - mr.get(0) - mr.get(10)) / 2; rot.x = (mr.get(1) + mr.get(4)) / (4 * rot.y); rot.w = (mr.get(8) - mr.get(2)) / (4 * rot.y); rot.z = (mr.get(6) + mr.get(9)) / (4 * rot.y); } else { rot.z = Math.sqrt(1 + mr.get(10) - mr.get(0) - mr.get(5)) / 2; rot.x = (mr.get(8) + mr.get(2)) / (4 * rot.z); rot.y = (mr.get(6) + mr.get(9)) / (4 * rot.z); rot.w = (mr.get(1) - mr.get(4)) / (4 * rot.z); } break; } vec.push(pos); vec.push(rot); vec.push(scale); return vec; } ,deltaTransformVector: function(v) { var x = v.x; var y = v.y; var z = v.z; return new openfl_geom_Vector3D(x * this.rawData.get(0) + y * this.rawData.get(4) + z * this.rawData.get(8) + this.rawData.get(3),x * this.rawData.get(1) + y * this.rawData.get(5) + z * this.rawData.get(9) + this.rawData.get(7),x * this.rawData.get(2) + y * this.rawData.get(6) + z * this.rawData.get(10) + this.rawData.get(11),0); } ,identity: function() { this.rawData = openfl__$Vector_Vector_$Impl_$.toFloatVector(null,null,null,[1.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,1.0]); } ,interpolateTo: function(toMat,percent) { var _g = 0; while(_g < 16) { var i = _g++; this.rawData.set(i,this.rawData.get(i) + (toMat.rawData.get(i) - this.rawData.get(i)) * percent); } } ,invert: function() { var d = this.get_determinant(); var invertable = Math.abs(d) > 0.00000000001; if(invertable) { d = 1 / d; var m11 = this.rawData.get(0); var m21 = this.rawData.get(4); var m31 = this.rawData.get(8); var m41 = this.rawData.get(12); var m12 = this.rawData.get(1); var m22 = this.rawData.get(5); var m32 = this.rawData.get(9); var m42 = this.rawData.get(13); var m13 = this.rawData.get(2); var m23 = this.rawData.get(6); var m33 = this.rawData.get(10); var m43 = this.rawData.get(14); var m14 = this.rawData.get(3); var m24 = this.rawData.get(7); var m34 = this.rawData.get(11); var m44 = this.rawData.get(15); this.rawData.set(0,d * (m22 * (m33 * m44 - m43 * m34) - m32 * (m23 * m44 - m43 * m24) + m42 * (m23 * m34 - m33 * m24))); this.rawData.set(1,-d * (m12 * (m33 * m44 - m43 * m34) - m32 * (m13 * m44 - m43 * m14) + m42 * (m13 * m34 - m33 * m14))); this.rawData.set(2,d * (m12 * (m23 * m44 - m43 * m24) - m22 * (m13 * m44 - m43 * m14) + m42 * (m13 * m24 - m23 * m14))); this.rawData.set(3,-d * (m12 * (m23 * m34 - m33 * m24) - m22 * (m13 * m34 - m33 * m14) + m32 * (m13 * m24 - m23 * m14))); this.rawData.set(4,-d * (m21 * (m33 * m44 - m43 * m34) - m31 * (m23 * m44 - m43 * m24) + m41 * (m23 * m34 - m33 * m24))); this.rawData.set(5,d * (m11 * (m33 * m44 - m43 * m34) - m31 * (m13 * m44 - m43 * m14) + m41 * (m13 * m34 - m33 * m14))); this.rawData.set(6,-d * (m11 * (m23 * m44 - m43 * m24) - m21 * (m13 * m44 - m43 * m14) + m41 * (m13 * m24 - m23 * m14))); this.rawData.set(7,d * (m11 * (m23 * m34 - m33 * m24) - m21 * (m13 * m34 - m33 * m14) + m31 * (m13 * m24 - m23 * m14))); this.rawData.set(8,d * (m21 * (m32 * m44 - m42 * m34) - m31 * (m22 * m44 - m42 * m24) + m41 * (m22 * m34 - m32 * m24))); this.rawData.set(9,-d * (m11 * (m32 * m44 - m42 * m34) - m31 * (m12 * m44 - m42 * m14) + m41 * (m12 * m34 - m32 * m14))); this.rawData.set(10,d * (m11 * (m22 * m44 - m42 * m24) - m21 * (m12 * m44 - m42 * m14) + m41 * (m12 * m24 - m22 * m14))); this.rawData.set(11,-d * (m11 * (m22 * m34 - m32 * m24) - m21 * (m12 * m34 - m32 * m14) + m31 * (m12 * m24 - m22 * m14))); this.rawData.set(12,-d * (m21 * (m32 * m43 - m42 * m33) - m31 * (m22 * m43 - m42 * m23) + m41 * (m22 * m33 - m32 * m23))); this.rawData.set(13,d * (m11 * (m32 * m43 - m42 * m33) - m31 * (m12 * m43 - m42 * m13) + m41 * (m12 * m33 - m32 * m13))); this.rawData.set(14,-d * (m11 * (m22 * m43 - m42 * m23) - m21 * (m12 * m43 - m42 * m13) + m41 * (m12 * m23 - m22 * m13))); this.rawData.set(15,d * (m11 * (m22 * m33 - m32 * m23) - m21 * (m12 * m33 - m32 * m13) + m31 * (m12 * m23 - m22 * m13))); } return invertable; } ,pointAt: function(pos,at,up) { if(at == null) { at = new openfl_geom_Vector3D(0,0,-1); } if(up == null) { up = new openfl_geom_Vector3D(0,-1,0); } var dir = at.subtract(pos); var vup = up.clone(); var right; dir.normalize(); vup.normalize(); var dir2 = dir.clone(); dir2.scaleBy(vup.dotProduct(dir)); vup = vup.subtract(dir2); if(vup.get_length() > 0) { vup.normalize(); } else if(dir.x != 0) { vup = new openfl_geom_Vector3D(-dir.y,dir.x,0); } else { vup = new openfl_geom_Vector3D(1,0,0); } right = vup.crossProduct(dir); right.normalize(); this.rawData.set(0,right.x); this.rawData.set(4,right.y); this.rawData.set(8,right.z); this.rawData.set(12,0.0); this.rawData.set(1,vup.x); this.rawData.set(5,vup.y); this.rawData.set(9,vup.z); this.rawData.set(13,0.0); this.rawData.set(2,dir.x); this.rawData.set(6,dir.y); this.rawData.set(10,dir.z); this.rawData.set(14,0.0); this.rawData.set(3,pos.x); this.rawData.set(7,pos.y); this.rawData.set(11,pos.z); this.rawData.set(15,1.0); } ,prepend: function(rhs) { var m111 = rhs.rawData.get(0); var m121 = rhs.rawData.get(4); var m131 = rhs.rawData.get(8); var m141 = rhs.rawData.get(12); var m112 = rhs.rawData.get(1); var m122 = rhs.rawData.get(5); var m132 = rhs.rawData.get(9); var m142 = rhs.rawData.get(13); var m113 = rhs.rawData.get(2); var m123 = rhs.rawData.get(6); var m133 = rhs.rawData.get(10); var m143 = rhs.rawData.get(14); var m114 = rhs.rawData.get(3); var m124 = rhs.rawData.get(7); var m134 = rhs.rawData.get(11); var m144 = rhs.rawData.get(15); var m211 = this.rawData.get(0); var m221 = this.rawData.get(4); var m231 = this.rawData.get(8); var m241 = this.rawData.get(12); var m212 = this.rawData.get(1); var m222 = this.rawData.get(5); var m232 = this.rawData.get(9); var m242 = this.rawData.get(13); var m213 = this.rawData.get(2); var m223 = this.rawData.get(6); var m233 = this.rawData.get(10); var m243 = this.rawData.get(14); var m214 = this.rawData.get(3); var m224 = this.rawData.get(7); var m234 = this.rawData.get(11); var m244 = this.rawData.get(15); this.rawData.set(0,m111 * m211 + m112 * m221 + m113 * m231 + m114 * m241); this.rawData.set(1,m111 * m212 + m112 * m222 + m113 * m232 + m114 * m242); this.rawData.set(2,m111 * m213 + m112 * m223 + m113 * m233 + m114 * m243); this.rawData.set(3,m111 * m214 + m112 * m224 + m113 * m234 + m114 * m244); this.rawData.set(4,m121 * m211 + m122 * m221 + m123 * m231 + m124 * m241); this.rawData.set(5,m121 * m212 + m122 * m222 + m123 * m232 + m124 * m242); this.rawData.set(6,m121 * m213 + m122 * m223 + m123 * m233 + m124 * m243); this.rawData.set(7,m121 * m214 + m122 * m224 + m123 * m234 + m124 * m244); this.rawData.set(8,m131 * m211 + m132 * m221 + m133 * m231 + m134 * m241); this.rawData.set(9,m131 * m212 + m132 * m222 + m133 * m232 + m134 * m242); this.rawData.set(10,m131 * m213 + m132 * m223 + m133 * m233 + m134 * m243); this.rawData.set(11,m131 * m214 + m132 * m224 + m133 * m234 + m134 * m244); this.rawData.set(12,m141 * m211 + m142 * m221 + m143 * m231 + m144 * m241); this.rawData.set(13,m141 * m212 + m142 * m222 + m143 * m232 + m144 * m242); this.rawData.set(14,m141 * m213 + m142 * m223 + m143 * m233 + m144 * m243); this.rawData.set(15,m141 * m214 + m142 * m224 + m143 * m234 + m144 * m244); } ,prependRotation: function(degrees,axis,pivotPoint) { var tx; var ty; var tz = 0; ty = tz; tx = ty; if(pivotPoint != null) { tx = pivotPoint.x; ty = pivotPoint.y; tz = pivotPoint.z; } var radian = degrees * Math.PI / 180; var cos = Math.cos(radian); var sin = Math.sin(radian); var x = axis.x; var y = axis.y; var z = axis.z; var x2 = x * x; var y2 = y * y; var z2 = z * z; var ls = x2 + y2 + z2; if(ls != 0) { var l = Math.sqrt(ls); x /= l; y /= l; z /= l; x2 /= ls; y2 /= ls; z2 /= ls; } var ccos = 1 - cos; var m = new openfl_geom_Matrix3D(); var d = m.rawData; d.set(0,x2 + (y2 + z2) * cos); d.set(1,x * y * ccos + z * sin); d.set(2,x * z * ccos - y * sin); d.set(4,x * y * ccos - z * sin); d.set(5,y2 + (x2 + z2) * cos); d.set(6,y * z * ccos + x * sin); d.set(8,x * z * ccos + y * sin); d.set(9,y * z * ccos - x * sin); d.set(10,z2 + (x2 + y2) * cos); d.set(12,(tx * (y2 + z2) - x * (ty * y + tz * z)) * ccos + (ty * z - tz * y) * sin); d.set(13,(ty * (x2 + z2) - y * (tx * x + tz * z)) * ccos + (tz * x - tx * z) * sin); d.set(14,(tz * (x2 + y2) - z * (tx * x + ty * y)) * ccos + (tx * y - ty * x) * sin); this.prepend(m); } ,prependScale: function(xScale,yScale,zScale) { this.prepend(new openfl_geom_Matrix3D(openfl__$Vector_Vector_$Impl_$.toFloatVector(null,null,null,[xScale,0.0,0.0,0.0,0.0,yScale,0.0,0.0,0.0,0.0,zScale,0.0,0.0,0.0,0.0,1.0]))); } ,prependTranslation: function(x,y,z) { var m = new openfl_geom_Matrix3D(); m.set_position(new openfl_geom_Vector3D(x,y,z)); this.prepend(m); } ,recompose: function(components,orientationStyle) { if(components.get_length() < 3 || components.get(2).x == 0 || components.get(2).y == 0 || components.get(2).z == 0) { return false; } if(orientationStyle == null) { orientationStyle = 1; } this.identity(); var scale = []; scale[0] = scale[1] = scale[2] = components.get(2).x; scale[4] = scale[5] = scale[6] = components.get(2).y; scale[8] = scale[9] = scale[10] = components.get(2).z; if(orientationStyle == null) { var x = components.get(1).x; var y = components.get(1).y; var z = components.get(1).z; var w = components.get(1).w; if(orientationStyle == 0) { x *= Math.sin(w / 2); y *= Math.sin(w / 2); z *= Math.sin(w / 2); w = Math.cos(w / 2); } this.rawData.set(0,(1 - 2 * y * y - 2 * z * z) * scale[0]); this.rawData.set(1,(2 * x * y + 2 * w * z) * scale[1]); this.rawData.set(2,(2 * x * z - 2 * w * y) * scale[2]); this.rawData.set(3,0); this.rawData.set(4,(2 * x * y - 2 * w * z) * scale[4]); this.rawData.set(5,(1 - 2 * x * x - 2 * z * z) * scale[5]); this.rawData.set(6,(2 * y * z + 2 * w * x) * scale[6]); this.rawData.set(7,0); this.rawData.set(8,(2 * x * z + 2 * w * y) * scale[8]); this.rawData.set(9,(2 * y * z - 2 * w * x) * scale[9]); this.rawData.set(10,(1 - 2 * x * x - 2 * y * y) * scale[10]); this.rawData.set(11,0); this.rawData.set(12,components.get(0).x); this.rawData.set(13,components.get(0).y); this.rawData.set(14,components.get(0).z); this.rawData.set(15,1); } else if(orientationStyle == 1) { var cx = Math.cos(components.get(1).x); var cy = Math.cos(components.get(1).y); var cz = Math.cos(components.get(1).z); var sx = Math.sin(components.get(1).x); var sy = Math.sin(components.get(1).y); var sz = Math.sin(components.get(1).z); this.rawData.set(0,cy * cz * scale[0]); this.rawData.set(1,cy * sz * scale[1]); this.rawData.set(2,-sy * scale[2]); this.rawData.set(3,0); this.rawData.set(4,(sx * sy * cz - cx * sz) * scale[4]); this.rawData.set(5,(sx * sy * sz + cx * cz) * scale[5]); this.rawData.set(6,sx * cy * scale[6]); this.rawData.set(7,0); this.rawData.set(8,(cx * sy * cz + sx * sz) * scale[8]); this.rawData.set(9,(cx * sy * sz - sx * cz) * scale[9]); this.rawData.set(10,cx * cy * scale[10]); this.rawData.set(11,0); this.rawData.set(12,components.get(0).x); this.rawData.set(13,components.get(0).y); this.rawData.set(14,components.get(0).z); this.rawData.set(15,1); } else { var x1 = components.get(1).x; var y1 = components.get(1).y; var z1 = components.get(1).z; var w1 = components.get(1).w; if(orientationStyle == 0) { x1 *= Math.sin(w1 / 2); y1 *= Math.sin(w1 / 2); z1 *= Math.sin(w1 / 2); w1 = Math.cos(w1 / 2); } this.rawData.set(0,(1 - 2 * y1 * y1 - 2 * z1 * z1) * scale[0]); this.rawData.set(1,(2 * x1 * y1 + 2 * w1 * z1) * scale[1]); this.rawData.set(2,(2 * x1 * z1 - 2 * w1 * y1) * scale[2]); this.rawData.set(3,0); this.rawData.set(4,(2 * x1 * y1 - 2 * w1 * z1) * scale[4]); this.rawData.set(5,(1 - 2 * x1 * x1 - 2 * z1 * z1) * scale[5]); this.rawData.set(6,(2 * y1 * z1 + 2 * w1 * x1) * scale[6]); this.rawData.set(7,0); this.rawData.set(8,(2 * x1 * z1 + 2 * w1 * y1) * scale[8]); this.rawData.set(9,(2 * y1 * z1 - 2 * w1 * x1) * scale[9]); this.rawData.set(10,(1 - 2 * x1 * x1 - 2 * y1 * y1) * scale[10]); this.rawData.set(11,0); this.rawData.set(12,components.get(0).x); this.rawData.set(13,components.get(0).y); this.rawData.set(14,components.get(0).z); this.rawData.set(15,1); } if(components.get(2).x == 0) { this.rawData.set(0,1e-15); } if(components.get(2).y == 0) { this.rawData.set(5,1e-15); } if(components.get(2).z == 0) { this.rawData.set(10,1e-15); } return !(components.get(2).x == 0 || components.get(2).y == 0 || components.get(2).y == 0); } ,transformVector: function(v) { var x = v.x; var y = v.y; var z = v.z; return new openfl_geom_Vector3D(x * this.rawData.get(0) + y * this.rawData.get(4) + z * this.rawData.get(8) + this.rawData.get(12),x * this.rawData.get(1) + y * this.rawData.get(5) + z * this.rawData.get(9) + this.rawData.get(13),x * this.rawData.get(2) + y * this.rawData.get(6) + z * this.rawData.get(10) + this.rawData.get(14),x * this.rawData.get(3) + y * this.rawData.get(7) + z * this.rawData.get(11) + this.rawData.get(15)); } ,transformVectors: function(vin,vout) { var i = 0; var x; var y; var z; while(i + 3 <= vin.get_length()) { x = vin.get(i); y = vin.get(i + 1); z = vin.get(i + 2); vout.set(i,x * this.rawData.get(0) + y * this.rawData.get(4) + z * this.rawData.get(8) + this.rawData.get(12)); vout.set(i + 1,x * this.rawData.get(1) + y * this.rawData.get(5) + z * this.rawData.get(9) + this.rawData.get(13)); vout.set(i + 2,x * this.rawData.get(2) + y * this.rawData.get(6) + z * this.rawData.get(10) + this.rawData.get(14)); i += 3; } } ,transpose: function() { var oRawData = this.rawData.copy(); this.rawData.set(1,oRawData.get(4)); this.rawData.set(2,oRawData.get(8)); this.rawData.set(3,oRawData.get(12)); this.rawData.set(4,oRawData.get(1)); this.rawData.set(6,oRawData.get(9)); this.rawData.set(7,oRawData.get(13)); this.rawData.set(8,oRawData.get(2)); this.rawData.set(9,oRawData.get(6)); this.rawData.set(11,oRawData.get(14)); this.rawData.set(12,oRawData.get(3)); this.rawData.set(13,oRawData.get(7)); this.rawData.set(14,oRawData.get(11)); } ,get_determinant: function() { return (this.rawData.get(0) * this.rawData.get(5) - this.rawData.get(4) * this.rawData.get(1)) * (this.rawData.get(10) * this.rawData.get(15) - this.rawData.get(14) * this.rawData.get(11)) - (this.rawData.get(0) * this.rawData.get(9) - this.rawData.get(8) * this.rawData.get(1)) * (this.rawData.get(6) * this.rawData.get(15) - this.rawData.get(14) * this.rawData.get(7)) + (this.rawData.get(0) * this.rawData.get(13) - this.rawData.get(12) * this.rawData.get(1)) * (this.rawData.get(6) * this.rawData.get(11) - this.rawData.get(10) * this.rawData.get(7)) + (this.rawData.get(4) * this.rawData.get(9) - this.rawData.get(8) * this.rawData.get(5)) * (this.rawData.get(2) * this.rawData.get(15) - this.rawData.get(14) * this.rawData.get(3)) - (this.rawData.get(4) * this.rawData.get(13) - this.rawData.get(12) * this.rawData.get(5)) * (this.rawData.get(2) * this.rawData.get(11) - this.rawData.get(10) * this.rawData.get(3)) + (this.rawData.get(8) * this.rawData.get(13) - this.rawData.get(12) * this.rawData.get(9)) * (this.rawData.get(2) * this.rawData.get(7) - this.rawData.get(6) * this.rawData.get(3)); } ,get_position: function() { return new openfl_geom_Vector3D(this.rawData.get(12),this.rawData.get(13),this.rawData.get(14)); } ,set_position: function(val) { this.rawData.set(12,val.x); this.rawData.set(13,val.y); this.rawData.set(14,val.z); return val; } ,__class__: openfl_geom_Matrix3D ,__properties__: {set_position:"set_position",get_position:"get_position",get_determinant:"get_determinant"} }; var openfl_geom__$Orientation3D_Orientation3D_$Impl_$ = {}; $hxClasses["openfl.geom._Orientation3D.Orientation3D_Impl_"] = openfl_geom__$Orientation3D_Orientation3D_$Impl_$; openfl_geom__$Orientation3D_Orientation3D_$Impl_$.__name__ = ["openfl","geom","_Orientation3D","Orientation3D_Impl_"]; openfl_geom__$Orientation3D_Orientation3D_$Impl_$.fromString = function(value) { switch(value) { case "axisAngle": return 0; case "eulerAngles": return 1; case "quaternion": return 2; default: return null; } }; openfl_geom__$Orientation3D_Orientation3D_$Impl_$.toString = function(value) { switch(value) { case 0: return "axisAngle"; case 1: return "eulerAngles"; case 2: return "quaternion"; default: return null; } }; var openfl_geom_Transform = function(displayObject) { this.__colorTransform = new openfl_geom_ColorTransform(); this.concatenatedColorTransform = new openfl_geom_ColorTransform(); this.pixelBounds = new openfl_geom_Rectangle(); this.__displayObject = displayObject; this.__hasMatrix = true; }; $hxClasses["openfl.geom.Transform"] = openfl_geom_Transform; openfl_geom_Transform.__name__ = ["openfl","geom","Transform"]; openfl_geom_Transform.prototype = { concatenatedColorTransform: null ,pixelBounds: null ,__colorTransform: null ,__displayObject: null ,__hasMatrix: null ,__hasMatrix3D: null ,get_colorTransform: function() { return this.__colorTransform; } ,set_colorTransform: function(value) { if(!this.__colorTransform.__equals(value,false)) { this.__colorTransform.__copyFrom(value); if(value != null) { this.__displayObject.set_alpha(value.alphaMultiplier); } var _this = this.__displayObject; if(!_this.__renderDirty) { _this.__renderDirty = true; _this.__setParentRenderDirty(); } } return this.__colorTransform; } ,get_concatenatedMatrix: function() { if(this.__hasMatrix) { return this.__displayObject.__getWorldTransform().clone(); } return null; } ,get_matrix: function() { if(this.__hasMatrix) { return this.__displayObject.__transform.clone(); } return null; } ,set_matrix: function(value) { if(value == null) { this.__hasMatrix = false; return null; } this.__hasMatrix = true; this.__hasMatrix3D = false; if(this.__displayObject != null) { this.__setTransform(value.a,value.b,value.c,value.d,value.tx,value.ty); } return value; } ,get_matrix3D: function() { if(this.__hasMatrix3D) { var matrix = this.__displayObject.__transform; return new openfl_geom_Matrix3D(openfl__$Vector_Vector_$Impl_$.toFloatVector(null,null,null,[matrix.a,matrix.b,0.0,0.0,matrix.c,matrix.d,0.0,0.0,0.0,0.0,1.0,0.0,matrix.tx,matrix.ty,0.0,1.0])); } return null; } ,set_matrix3D: function(value) { if(value == null) { this.__hasMatrix3D = false; return null; } this.__hasMatrix = false; this.__hasMatrix3D = true; this.__setTransform(value.rawData.get(0),value.rawData.get(1),value.rawData.get(5),value.rawData.get(6),value.rawData.get(12),value.rawData.get(13)); return value; } ,__setTransform: function(a,b,c,d,tx,ty) { if(this.__displayObject != null) { var scaleX = 0.0; var scaleY = 0.0; if(b == 0) { scaleX = a; } else { scaleX = Math.sqrt(a * a + b * b); } if(c == 0) { scaleY = a; } else { scaleY = Math.sqrt(c * c + d * d); } this.__displayObject.__scaleX = scaleX; this.__displayObject.__scaleY = scaleY; var rotation = 180 / Math.PI * Math.atan2(d,c) - 90; if(rotation != this.__displayObject.__rotation) { this.__displayObject.__rotation = rotation; var radians = rotation * (Math.PI / 180); this.__displayObject.__rotationSine = Math.sin(radians); this.__displayObject.__rotationCosine = Math.cos(radians); } this.__displayObject.__transform.a = a; this.__displayObject.__transform.b = b; this.__displayObject.__transform.c = c; this.__displayObject.__transform.d = d; this.__displayObject.__transform.tx = tx; this.__displayObject.__transform.ty = ty; this.__displayObject.__setTransformDirty(); } } ,__class__: openfl_geom_Transform ,__properties__: {set_matrix3D:"set_matrix3D",get_matrix3D:"get_matrix3D",set_matrix:"set_matrix",get_matrix:"get_matrix",get_concatenatedMatrix:"get_concatenatedMatrix",set_colorTransform:"set_colorTransform",get_colorTransform:"get_colorTransform"} }; var openfl_geom_Vector3D = function(x,y,z,w) { if(w == null) { w = 0; } if(z == null) { z = 0; } if(y == null) { y = 0; } if(x == null) { x = 0; } this.w = w; this.x = x; this.y = y; this.z = z; }; $hxClasses["openfl.geom.Vector3D"] = openfl_geom_Vector3D; openfl_geom_Vector3D.__name__ = ["openfl","geom","Vector3D"]; openfl_geom_Vector3D.__properties__ = {get_Z_AXIS:"get_Z_AXIS",get_Y_AXIS:"get_Y_AXIS",get_X_AXIS:"get_X_AXIS"}; openfl_geom_Vector3D.angleBetween = function(a,b) { var la = a.get_length(); var lb = b.get_length(); var dot = a.dotProduct(b); if(la != 0) { dot /= la; } if(lb != 0) { dot /= lb; } return Math.acos(dot); }; openfl_geom_Vector3D.distance = function(pt1,pt2) { var x = pt2.x - pt1.x; var y = pt2.y - pt1.y; var z = pt2.z - pt1.z; return Math.sqrt(x * x + y * y + z * z); }; openfl_geom_Vector3D.get_X_AXIS = function() { return new openfl_geom_Vector3D(1,0,0); }; openfl_geom_Vector3D.get_Y_AXIS = function() { return new openfl_geom_Vector3D(0,1,0); }; openfl_geom_Vector3D.get_Z_AXIS = function() { return new openfl_geom_Vector3D(0,0,1); }; openfl_geom_Vector3D.prototype = { w: null ,x: null ,y: null ,z: null ,add: function(a) { return new openfl_geom_Vector3D(this.x + a.x,this.y + a.y,this.z + a.z); } ,clone: function() { return new openfl_geom_Vector3D(this.x,this.y,this.z,this.w); } ,copyFrom: function(sourceVector3D) { this.x = sourceVector3D.x; this.y = sourceVector3D.y; this.z = sourceVector3D.z; } ,crossProduct: function(a) { return new openfl_geom_Vector3D(this.y * a.z - this.z * a.y,this.z * a.x - this.x * a.z,this.x * a.y - this.y * a.x,1); } ,decrementBy: function(a) { this.x -= a.x; this.y -= a.y; this.z -= a.z; } ,dotProduct: function(a) { return this.x * a.x + this.y * a.y + this.z * a.z; } ,equals: function(toCompare,allFour) { if(allFour == null) { allFour = false; } if(this.x == toCompare.x && this.y == toCompare.y && this.z == toCompare.z) { if(!(!allFour)) { return this.w == toCompare.w; } else { return true; } } else { return false; } } ,incrementBy: function(a) { this.x += a.x; this.y += a.y; this.z += a.z; } ,nearEquals: function(toCompare,tolerance,allFour) { if(allFour == null) { allFour = false; } if(Math.abs(this.x - toCompare.x) < tolerance && Math.abs(this.y - toCompare.y) < tolerance && Math.abs(this.z - toCompare.z) < tolerance) { if(!(!allFour)) { return Math.abs(this.w - toCompare.w) < tolerance; } else { return true; } } else { return false; } } ,negate: function() { this.x *= -1; this.y *= -1; this.z *= -1; } ,normalize: function() { var l = this.get_length(); if(l != 0) { this.x /= l; this.y /= l; this.z /= l; } return l; } ,project: function() { this.x /= this.w; this.y /= this.w; this.z /= this.w; } ,scaleBy: function(s) { this.x *= s; this.y *= s; this.z *= s; } ,setTo: function(xa,ya,za) { this.x = xa; this.y = ya; this.z = za; } ,subtract: function(a) { return new openfl_geom_Vector3D(this.x - a.x,this.y - a.y,this.z - a.z); } ,toString: function() { return "Vector3D(" + this.x + ", " + this.y + ", " + this.z + ")"; } ,get_length: function() { return Math.sqrt(this.x * this.x + this.y * this.y + this.z * this.z); } ,get_lengthSquared: function() { return this.x * this.x + this.y * this.y + this.z * this.z; } ,__class__: openfl_geom_Vector3D ,__properties__: {get_lengthSquared:"get_lengthSquared",get_length:"get_length"} }; var openfl_media_ID3Info = function() { }; $hxClasses["openfl.media.ID3Info"] = openfl_media_ID3Info; openfl_media_ID3Info.__name__ = ["openfl","media","ID3Info"]; openfl_media_ID3Info.prototype = { album: null ,artist: null ,comment: null ,genre: null ,songName: null ,track: null ,year: null ,__class__: openfl_media_ID3Info }; var openfl_media_Sound = function(stream,context) { openfl_events_EventDispatcher.call(this,this); this.bytesLoaded = 0; this.bytesTotal = 0; this.isBuffering = false; this.url = null; if(stream != null) { this.load(stream,context); } }; $hxClasses["openfl.media.Sound"] = openfl_media_Sound; openfl_media_Sound.__name__ = ["openfl","media","Sound"]; openfl_media_Sound.fromAudioBuffer = function(buffer) { var sound = new openfl_media_Sound(); sound.__buffer = buffer; return sound; }; openfl_media_Sound.fromFile = function(path) { return openfl_media_Sound.fromAudioBuffer(lime_media_AudioBuffer.fromFile(path)); }; openfl_media_Sound.loadFromFile = function(path) { return lime_media_AudioBuffer.loadFromFile(path).then(function(audioBuffer) { return lime_app_Future.withValue(openfl_media_Sound.fromAudioBuffer(audioBuffer)); }); }; openfl_media_Sound.loadFromFiles = function(paths) { return lime_media_AudioBuffer.loadFromFiles(paths).then(function(audioBuffer) { return lime_app_Future.withValue(openfl_media_Sound.fromAudioBuffer(audioBuffer)); }); }; openfl_media_Sound.__super__ = openfl_events_EventDispatcher; openfl_media_Sound.prototype = $extend(openfl_events_EventDispatcher.prototype,{ bytesLoaded: null ,bytesTotal: null ,isBuffering: null ,url: null ,__buffer: null ,close: function() { if(this.__buffer != null) { this.__buffer.dispose(); this.__buffer = null; } } ,load: function(stream,context) { var _gthis = this; this.url = stream.url; var defaultLibrary = lime_utils_Assets.getLibrary("default"); var tmp; if(defaultLibrary != null) { var key = this.url; var _this = defaultLibrary.cachedAudioBuffers; if(__map_reserved[key] != null) { tmp = _this.existsReserved(key); } else { tmp = _this.h.hasOwnProperty(key); } } else { tmp = false; } if(tmp) { var key1 = this.url; var _this1 = defaultLibrary.cachedAudioBuffers; this.AudioBuffer_onURLLoad(__map_reserved[key1] != null ? _this1.getReserved(key1) : _this1.h[key1]); } else { lime_media_AudioBuffer.loadFromFile(this.url).onComplete($bind(this,this.AudioBuffer_onURLLoad)).onError(function(_) { _gthis.AudioBuffer_onURLLoad(null); }); } } ,loadCompressedDataFromByteArray: function(bytes,bytesLength) { if(bytes == null || bytesLength <= 0) { this.dispatchEvent(new openfl_events_IOErrorEvent("ioError")); return; } if(_$UInt_UInt_$Impl_$.gt(openfl_utils__$ByteArray_ByteArray_$Impl_$.get_length(bytes),bytesLength)) { var this1 = new openfl_utils_ByteArrayData(bytesLength); var copy = this1; copy.writeBytes(bytes,0,bytesLength); bytes = copy; } this.__buffer = lime_media_AudioBuffer.fromBytes(openfl_utils__$ByteArray_ByteArray_$Impl_$.toBytes(bytes)); if(this.__buffer == null) { this.dispatchEvent(new openfl_events_IOErrorEvent("ioError")); } else { this.dispatchEvent(new openfl_events_Event("complete")); } } ,loadPCMFromByteArray: function(bytes,samples,format,stereo,sampleRate) { if(sampleRate == null) { sampleRate = 44100; } if(stereo == null) { stereo = true; } if(format == null) { format = "float"; } if(bytes == null) { this.dispatchEvent(new openfl_events_IOErrorEvent("ioError")); return; } var audioBuffer = new lime_media_AudioBuffer(); audioBuffer.bitsPerSample = format == "float" ? 32 : 16; audioBuffer.channels = stereo ? 2 : 1; var buffer = openfl_utils__$ByteArray_ByteArray_$Impl_$.toArrayBuffer(bytes); var this1; if(buffer != null) { this1 = new Uint8Array(buffer,0); } else { this1 = null; } audioBuffer.data = this1; audioBuffer.sampleRate = sampleRate | 0; this.__buffer = audioBuffer; this.dispatchEvent(new openfl_events_Event("complete")); } ,play: function(startTime,loops,sndTransform) { if(loops == null) { loops = 0; } if(startTime == null) { startTime = 0.0; } if(this.__buffer == null || openfl_media_SoundMixer.__soundChannels.length >= 32) { return null; } if(sndTransform == null) { sndTransform = new openfl_media_SoundTransform(); } else { sndTransform = sndTransform.clone(); } var pan = openfl_media_SoundMixer.__soundTransform.pan + sndTransform.pan; if(pan > 1) { pan = 1; } if(pan < -1) { pan = -1; } var volume = openfl_media_SoundMixer.__soundTransform.volume * sndTransform.volume; var source = new lime_media_AudioSource(this.__buffer); source.offset = startTime | 0; if(loops > 1) { source.set_loops(loops - 1); } source.set_gain(volume); var position = source.get_position(); position.x = pan; position.z = -1 * Math.sqrt(1 - Math.pow(pan,2)); source.set_position(position); return new openfl_media_SoundChannel(source,sndTransform); } ,get_id3: function() { return new openfl_media_ID3Info(); } ,get_length: function() { if(this.__buffer != null) { return this.__buffer.get_src().duration() * 1000 | 0; } return 0; } ,AudioBuffer_onURLLoad: function(buffer) { if(buffer == null) { this.dispatchEvent(new openfl_events_IOErrorEvent("ioError")); } else { this.__buffer = buffer; this.dispatchEvent(new openfl_events_Event("complete")); } } ,__class__: openfl_media_Sound ,__properties__: {get_length:"get_length",get_id3:"get_id3"} }); var openfl_media_SoundChannel = function(source,soundTransform) { openfl_events_EventDispatcher.call(this,this); this.leftPeak = 1; this.rightPeak = 1; if(soundTransform != null) { this.__soundTransform = soundTransform; } else { this.__soundTransform = new openfl_media_SoundTransform(); } if(source != null) { this.__source = source; this.__source.onComplete.add($bind(this,this.source_onComplete)); this.__isValid = true; this.__source.play(); } openfl_media_SoundMixer.__registerSoundChannel(this); }; $hxClasses["openfl.media.SoundChannel"] = openfl_media_SoundChannel; openfl_media_SoundChannel.__name__ = ["openfl","media","SoundChannel"]; openfl_media_SoundChannel.__super__ = openfl_events_EventDispatcher; openfl_media_SoundChannel.prototype = $extend(openfl_events_EventDispatcher.prototype,{ leftPeak: null ,rightPeak: null ,__isValid: null ,__soundTransform: null ,__source: null ,stop: function() { openfl_media_SoundMixer.__unregisterSoundChannel(this); if(!this.__isValid) { return; } this.__source.stop(); this.__dispose(); } ,__dispose: function() { if(!this.__isValid) { return; } this.__source.onComplete.remove($bind(this,this.source_onComplete)); this.__source.dispose(); this.__isValid = false; } ,__updateTransform: function() { this.set_soundTransform(this.get_soundTransform()); } ,get_position: function() { if(!this.__isValid) { return 0; } return this.__source.get_currentTime() + this.__source.offset; } ,set_position: function(value) { if(!this.__isValid) { return 0; } this.__source.set_currentTime((value | 0) - this.__source.offset); return value; } ,get_soundTransform: function() { return this.__soundTransform.clone(); } ,set_soundTransform: function(value) { if(value != null) { this.__soundTransform.pan = value.pan; this.__soundTransform.volume = value.volume; var pan = openfl_media_SoundMixer.__soundTransform.pan + this.__soundTransform.pan; if(pan < -1) { pan = -1; } if(pan > 1) { pan = 1; } var volume = openfl_media_SoundMixer.__soundTransform.volume * this.__soundTransform.volume; if(this.__isValid) { this.__source.set_gain(volume); var position = this.__source.get_position(); position.x = pan; position.z = -1 * Math.sqrt(1 - Math.pow(pan,2)); this.__source.set_position(position); return value; } } return value; } ,source_onComplete: function() { openfl_media_SoundMixer.__unregisterSoundChannel(this); this.__dispose(); this.dispatchEvent(new openfl_events_Event("soundComplete")); } ,__class__: openfl_media_SoundChannel ,__properties__: {set_soundTransform:"set_soundTransform",get_soundTransform:"get_soundTransform",set_position:"set_position",get_position:"get_position"} }); var openfl_media_SoundLoaderContext = function(bufferTime,checkPolicyFile) { if(checkPolicyFile == null) { checkPolicyFile = false; } if(bufferTime == null) { bufferTime = 1000; } this.bufferTime = bufferTime; this.checkPolicyFile = checkPolicyFile; }; $hxClasses["openfl.media.SoundLoaderContext"] = openfl_media_SoundLoaderContext; openfl_media_SoundLoaderContext.__name__ = ["openfl","media","SoundLoaderContext"]; openfl_media_SoundLoaderContext.prototype = { bufferTime: null ,checkPolicyFile: null ,__class__: openfl_media_SoundLoaderContext }; var openfl_media_SoundTransform = function(vol,panning) { if(panning == null) { panning = 0; } if(vol == null) { vol = 1; } this.volume = vol; this.pan = panning; this.leftToLeft = 0; this.leftToRight = 0; this.rightToLeft = 0; this.rightToRight = 0; }; $hxClasses["openfl.media.SoundTransform"] = openfl_media_SoundTransform; openfl_media_SoundTransform.__name__ = ["openfl","media","SoundTransform"]; openfl_media_SoundTransform.prototype = { leftToLeft: null ,leftToRight: null ,pan: null ,rightToLeft: null ,rightToRight: null ,volume: null ,clone: function() { return new openfl_media_SoundTransform(this.volume,this.pan); } ,__class__: openfl_media_SoundTransform }; var openfl_media_SoundMixer = function() { }; $hxClasses["openfl.media.SoundMixer"] = openfl_media_SoundMixer; openfl_media_SoundMixer.__name__ = ["openfl","media","SoundMixer"]; openfl_media_SoundMixer.__properties__ = {set_soundTransform:"set_soundTransform",get_soundTransform:"get_soundTransform"}; openfl_media_SoundMixer.bufferTime = null; openfl_media_SoundMixer.areSoundsInaccessible = function() { return false; }; openfl_media_SoundMixer.stopAll = function() { var _g = 0; var _g1 = openfl_media_SoundMixer.__soundChannels; while(_g < _g1.length) { var channel = _g1[_g]; ++_g; channel.stop(); } }; openfl_media_SoundMixer.__registerSoundChannel = function(soundChannel) { openfl_media_SoundMixer.__soundChannels.push(soundChannel); }; openfl_media_SoundMixer.__unregisterSoundChannel = function(soundChannel) { HxOverrides.remove(openfl_media_SoundMixer.__soundChannels,soundChannel); }; openfl_media_SoundMixer.get_soundTransform = function() { return openfl_media_SoundMixer.__soundTransform; }; openfl_media_SoundMixer.set_soundTransform = function(value) { openfl_media_SoundMixer.__soundTransform = value.clone(); var _g = 0; var _g1 = openfl_media_SoundMixer.__soundChannels; while(_g < _g1.length) { var channel = _g1[_g]; ++_g; channel.__updateTransform(); } return value; }; var openfl_net_NetConnection = function() { openfl_events_EventDispatcher.call(this); }; $hxClasses["openfl.net.NetConnection"] = openfl_net_NetConnection; openfl_net_NetConnection.__name__ = ["openfl","net","NetConnection"]; openfl_net_NetConnection.__super__ = openfl_events_EventDispatcher; openfl_net_NetConnection.prototype = $extend(openfl_events_EventDispatcher.prototype,{ connect: function(command,_,_1,_2,_3,_4) { if(command != null) { throw new js__$Boot_HaxeError("Error: Can only connect in \"HTTP streaming\" mode"); } this.dispatchEvent(new openfl_events_NetStatusEvent("netStatus",false,true,{ code : "NetConnection.Connect.Success"})); } ,__class__: openfl_net_NetConnection }); var openfl_net_NetStream = function(connection,peerID) { openfl_events_EventDispatcher.call(this); this.__connection = connection; this.__video = window.document.createElement("video"); this.__video.setAttribute("playsinline",""); this.__video.setAttribute("webkit-playsinline",""); this.__video.addEventListener("error",$bind(this,this.video_onError),false); this.__video.addEventListener("waiting",$bind(this,this.video_onWaiting),false); this.__video.addEventListener("ended",$bind(this,this.video_onEnd),false); this.__video.addEventListener("pause",$bind(this,this.video_onPause),false); this.__video.addEventListener("seeking",$bind(this,this.video_onSeeking),false); this.__video.addEventListener("playing",$bind(this,this.video_onPlaying),false); this.__video.addEventListener("timeupdate",$bind(this,this.video_onTimeUpdate),false); this.__video.addEventListener("loadstart",$bind(this,this.video_onLoadStart),false); this.__video.addEventListener("stalled",$bind(this,this.video_onStalled),false); this.__video.addEventListener("durationchanged",$bind(this,this.video_onDurationChanged),false); this.__video.addEventListener("canplay",$bind(this,this.video_onCanPlay),false); this.__video.addEventListener("canplaythrough",$bind(this,this.video_onCanPlayThrough),false); this.__video.addEventListener("loadedmetadata",$bind(this,this.video_onLoadMetaData),false); }; $hxClasses["openfl.net.NetStream"] = openfl_net_NetStream; openfl_net_NetStream.__name__ = ["openfl","net","NetStream"]; openfl_net_NetStream.__super__ = openfl_events_EventDispatcher; openfl_net_NetStream.prototype = $extend(openfl_events_EventDispatcher.prototype,{ audioCodec: null ,bufferLength: null ,bufferTime: null ,bytesLoaded: null ,bytesTotal: null ,checkPolicyFile: null ,client: null ,currentFPS: null ,decodedFrames: null ,liveDelay: null ,objectEncoding: null ,soundTransform: null ,time: null ,videoCode: null ,__closed: null ,__connection: null ,__timer: null ,__seeking: null ,__video: null ,close: function() { if(this.__video == null) { return; } this.__closed = true; this.__video.pause(); this.__video.src = ""; this.time = 0; } ,dispose: function() { this.close(); this.__video = null; } ,pause: function() { if(this.__video != null) { this.__video.pause(); } } ,play: function(url,_,_1,_2,_3,_4) { if(this.__video == null) { return; } this.__video.src = url; this.__video.play(); } ,requestVideoStatus: function() { var _gthis = this; if(this.__video == null) { return; } if(this.__timer == null) { this.__timer = new haxe_Timer(1); } this.__timer.run = function() { if(_gthis.__video.paused) { _gthis.__playStatus("NetStream.Play.pause"); } else { _gthis.__playStatus("NetStream.Play.playing"); } _gthis.__timer.stop(); }; } ,resume: function() { if(this.__video != null) { this.__video.play(); } } ,seek: function(time) { if(this.__video == null) { return; } if(time < 0) { time = 0; } else if(time > this.__video.duration) { time = this.__video.duration; } this.set___seeking(true); this.__connection.dispatchEvent(new openfl_events_NetStatusEvent("netStatus",false,false,{ code : "NetStream.SeekStart.Notify"})); this.__video.currentTime = time; } ,togglePause: function() { if(this.__video == null) { return; } if(this.__video.paused) { this.__video.play(); } else { this.__video.pause(); } } ,__playStatus: function(code) { if(this.__video == null) { return; } if(this.client != null) { try { var handler = this.client.onPlayStatus; handler({ code : code, duration : this.__video.duration, position : this.__video.currentTime, speed : this.__video.playbackRate, start : this.__video.startTime}); } catch( e ) { haxe_CallStack.lastException = e; } } } ,video_onCanPlay: function(event) { this.__playStatus("NetStream.Play.canplay"); } ,video_onCanPlayThrough: function(event) { this.__playStatus("NetStream.Play.canplaythrough"); } ,video_onDurationChanged: function(event) { this.__playStatus("NetStream.Play.durationchanged"); } ,video_onEnd: function(event) { this.__connection.dispatchEvent(new openfl_events_NetStatusEvent("netStatus",false,false,{ code : "NetStream.Play.Stop"})); this.__connection.dispatchEvent(new openfl_events_NetStatusEvent("netStatus",false,false,{ code : "NetStream.Play.Complete"})); this.__playStatus("NetStream.Play.Complete"); } ,video_onError: function(event) { this.__connection.dispatchEvent(new openfl_events_NetStatusEvent("netStatus",false,false,{ code : "NetStream.Play.Stop"})); this.__playStatus("NetStream.Play.error"); } ,video_onLoadMetaData: function(event) { if(this.__video == null) { return; } if(this.client != null) { try { var handler = this.client.onMetaData; handler({ width : this.__video.videoWidth, height : this.__video.videoHeight, duration : this.__video.duration}); } catch( e ) { haxe_CallStack.lastException = e; } } } ,video_onLoadStart: function(event) { this.__playStatus("NetStream.Play.loadstart"); } ,video_onPause: function(event) { this.__playStatus("NetStream.Play.pause"); } ,video_onPlaying: function(event) { this.__connection.dispatchEvent(new openfl_events_NetStatusEvent("netStatus",false,false,{ code : "NetStream.Play.Start"})); this.__playStatus("NetStream.Play.playing"); } ,video_onSeeking: function(event) { this.__playStatus("NetStream.Play.seeking"); this.__connection.dispatchEvent(new openfl_events_NetStatusEvent("netStatus",false,false,{ code : "NetStream.Seek.Complete"})); } ,video_onStalled: function(event) { this.__playStatus("NetStream.Play.stalled"); } ,video_onTimeUpdate: function(event) { if(this.__video == null) { return; } this.time = this.__video.currentTime; this.__playStatus("NetStream.Play.timeupdate"); } ,video_onWaiting: function(event) { this.__playStatus("NetStream.Play.waiting"); } ,get_speed: function() { if(this.__video != null) { return this.__video.playbackRate; } else { return 1; } } ,set_speed: function(value) { if(this.__video != null) { return this.__video.playbackRate = value; } else { return value; } } ,get___seeking: function() { if(!this.__seeking) { return this.__video.seeking; } else { return true; } } ,set___seeking: function(value) { return this.__seeking = value; } ,__class__: openfl_net_NetStream ,__properties__: {set___seeking:"set___seeking",get___seeking:"get___seeking",set_speed:"set_speed",get_speed:"get_speed"} }); var openfl_net_SharedObject = function() { openfl_events_EventDispatcher.call(this); this.client = this; this.objectEncoding = openfl_net_SharedObject.defaultObjectEncoding; }; $hxClasses["openfl.net.SharedObject"] = openfl_net_SharedObject; openfl_net_SharedObject.__name__ = ["openfl","net","SharedObject"]; openfl_net_SharedObject.__sharedObjects = null; openfl_net_SharedObject.getLocal = function(name,localPath,secure) { if(secure == null) { secure = false; } var illegalValues = [" ","~","%","&","\\",";",":","\"","'",",","<",">","?","#"]; var allowed = true; if(name == null || name == "") { allowed = false; } else { var _g = 0; while(_g < illegalValues.length) { var value = illegalValues[_g]; ++_g; if(name.indexOf(value) > -1) { allowed = false; break; } } } if(!allowed) { throw new js__$Boot_HaxeError(new openfl_errors_Error("Error #2134: Cannot create SharedObject.")); } if(localPath == null) { localPath = window.location.href; } if(openfl_net_SharedObject.__sharedObjects == null) { openfl_net_SharedObject.__sharedObjects = new haxe_ds_StringMap(); if(lime_app_Application.current != null) { lime_app_Application.current.onExit.add(openfl_net_SharedObject.application_onExit); } } var id = localPath + "/" + name; var _this = openfl_net_SharedObject.__sharedObjects; if(!(__map_reserved[id] != null ? _this.existsReserved(id) : _this.h.hasOwnProperty(id))) { var sharedObject = new openfl_net_SharedObject(); sharedObject.data = { }; sharedObject.__localPath = localPath; sharedObject.__name = name; var encodedData = null; try { var storage = js_Browser.getLocalStorage(); if(storage != null) { encodedData = storage.getItem(localPath + ":" + name); } } catch( e ) { haxe_CallStack.lastException = e; } if(encodedData != null && encodedData != "") { try { var unserializer = new haxe_Unserializer(encodedData); unserializer.setResolver({ resolveEnum : Type.resolveEnum, resolveClass : openfl_net_SharedObject.__resolveClass}); sharedObject.data = unserializer.unserialize(); } catch( e1 ) { haxe_CallStack.lastException = e1; } } var _this1 = openfl_net_SharedObject.__sharedObjects; if(__map_reserved[id] != null) { _this1.setReserved(id,sharedObject); } else { _this1.h[id] = sharedObject; } } var _this2 = openfl_net_SharedObject.__sharedObjects; if(__map_reserved[id] != null) { return _this2.getReserved(id); } else { return _this2.h[id]; } }; openfl_net_SharedObject.getRemote = function(name,remotePath,persistence,secure) { if(secure == null) { secure = false; } if(persistence == null) { persistence = false; } openfl__$internal_Lib.notImplemented({ fileName : "SharedObject.hx", lineNumber : 671, className : "openfl.net.SharedObject", methodName : "getRemote"}); return null; }; openfl_net_SharedObject.__getPath = function(localPath,name) { var path = lime_system_System.get_applicationStorageDirectory() + "/" + localPath + "/"; name = StringTools.replace(name,"//","/"); name = StringTools.replace(name,"//","/"); if(StringTools.startsWith(name,"/")) { name = HxOverrides.substr(name,1,null); } if(StringTools.endsWith(name,"/")) { name = name.substring(0,name.length - 1); } if(name.indexOf("/") > -1) { var split = name.split("/"); name = ""; var _g1 = 0; var _g = split.length - 1; while(_g1 < _g) { var i = _g1++; name += "#" + split[i] + "/"; } name += split[split.length - 1]; } return path + name + ".sol"; }; openfl_net_SharedObject.__mkdir = function(directory) { }; openfl_net_SharedObject.__resolveClass = function(name) { if(name != null) { if(StringTools.startsWith(name,"neash.")) { name = StringTools.replace(name,"neash.","openfl."); } if(StringTools.startsWith(name,"native.")) { name = StringTools.replace(name,"native.","openfl."); } if(StringTools.startsWith(name,"flash.")) { name = StringTools.replace(name,"flash.","openfl."); } if(StringTools.startsWith(name,"openfl._v2.")) { name = StringTools.replace(name,"openfl._v2.","openfl."); } if(StringTools.startsWith(name,"openfl._legacy.")) { name = StringTools.replace(name,"openfl._legacy.","openfl."); } return Type.resolveClass(name); } return null; }; openfl_net_SharedObject.application_onExit = function(_) { var _this = openfl_net_SharedObject.__sharedObjects; var sharedObject = new haxe_ds__$StringMap_StringMapIterator(_this,_this.arrayKeys()); while(sharedObject.hasNext()) { var sharedObject1 = sharedObject.next(); sharedObject1.flush(); } }; openfl_net_SharedObject.__super__ = openfl_events_EventDispatcher; openfl_net_SharedObject.prototype = $extend(openfl_events_EventDispatcher.prototype,{ client: null ,data: null ,fps: null ,objectEncoding: null ,__localPath: null ,__name: null ,clear: function() { this.data = { }; try { var storage = js_Browser.getLocalStorage(); if(storage != null) { storage.removeItem(this.__localPath + ":" + this.__name); } } catch( e ) { haxe_CallStack.lastException = e; } } ,close: function() { } ,connect: function(myConnection,params) { openfl__$internal_Lib.notImplemented({ fileName : "SharedObject.hx", lineNumber : 293, className : "openfl.net.SharedObject", methodName : "connect"}); } ,flush: function(minDiskSpace) { if(minDiskSpace == null) { minDiskSpace = 0; } if(Reflect.fields(this.data).length == 0) { return 0; } var encodedData = haxe_Serializer.run(this.data); try { var storage = js_Browser.getLocalStorage(); if(storage != null) { storage.removeItem(this.__localPath + ":" + this.__name); storage.setItem(this.__localPath + ":" + this.__name,encodedData); } } catch( e ) { haxe_CallStack.lastException = e; return 1; } return 0; } ,send: function(args) { openfl__$internal_Lib.notImplemented({ fileName : "SharedObject.hx", lineNumber : 680, className : "openfl.net.SharedObject", methodName : "send"}); } ,setDirty: function(propertyName) { } ,setProperty: function(propertyName,value) { if(this.data != null) { this.data[propertyName] = value; } } ,get_size: function() { try { var d = haxe_Serializer.run(this.data); return haxe_io_Bytes.ofString(d).length; } catch( e ) { haxe_CallStack.lastException = e; return 0; } } ,__class__: openfl_net_SharedObject ,__properties__: {get_size:"get_size"} }); var openfl_net__$SharedObjectFlushStatus_SharedObjectFlushStatus_$Impl_$ = {}; $hxClasses["openfl.net._SharedObjectFlushStatus.SharedObjectFlushStatus_Impl_"] = openfl_net__$SharedObjectFlushStatus_SharedObjectFlushStatus_$Impl_$; openfl_net__$SharedObjectFlushStatus_SharedObjectFlushStatus_$Impl_$.__name__ = ["openfl","net","_SharedObjectFlushStatus","SharedObjectFlushStatus_Impl_"]; openfl_net__$SharedObjectFlushStatus_SharedObjectFlushStatus_$Impl_$.fromString = function(value) { switch(value) { case "flushed": return 0; case "pending": return 1; default: return null; } }; openfl_net__$SharedObjectFlushStatus_SharedObjectFlushStatus_$Impl_$.toString = function(value) { switch(value) { case 0: return "flushed"; case 1: return "pending"; default: return null; } }; var openfl_net_URLLoader = function(request) { openfl_events_EventDispatcher.call(this); this.bytesLoaded = 0; this.bytesTotal = 0; this.dataFormat = 1; if(request != null) { this.load(request); } }; $hxClasses["openfl.net.URLLoader"] = openfl_net_URLLoader; openfl_net_URLLoader.__name__ = ["openfl","net","URLLoader"]; openfl_net_URLLoader.__super__ = openfl_events_EventDispatcher; openfl_net_URLLoader.prototype = $extend(openfl_events_EventDispatcher.prototype,{ bytesLoaded: null ,bytesTotal: null ,data: null ,dataFormat: null ,__httpRequest: null ,close: function() { if(this.__httpRequest != null) { this.__httpRequest.cancel(); } } ,load: function(request) { var _gthis = this; if(this.dataFormat == 0) { var httpRequest = new lime_net__$HTTPRequest_$openfl_$utils_$ByteArray(); this.__prepareRequest(httpRequest,request); httpRequest.load().onProgress($bind(this,this.httpRequest_onProgress)).onError($bind(this,this.httpRequest_onError)).onComplete(function(data) { _gthis.__dispatchStatus(); _gthis.data = data; var event = new openfl_events_Event("complete"); _gthis.dispatchEvent(event); }); } else { var httpRequest1 = new lime_net__$HTTPRequest_$String(); this.__prepareRequest(httpRequest1,request); httpRequest1.load().onProgress($bind(this,this.httpRequest_onProgress)).onError($bind(this,this.httpRequest_onError)).onComplete(function(data1) { _gthis.__dispatchStatus(); _gthis.data = data1; var event1 = new openfl_events_Event("complete"); _gthis.dispatchEvent(event1); }); } } ,__dispatchStatus: function() { var event = new openfl_events_HTTPStatusEvent("httpStatus",false,false,this.__httpRequest.responseStatus); event.responseURL = this.__httpRequest.uri; var headers = []; if(this.__httpRequest.enableResponseHeaders && this.__httpRequest.responseHeaders != null) { var _g = 0; var _g1 = this.__httpRequest.responseHeaders; while(_g < _g1.length) { var header = _g1[_g]; ++_g; headers.push(new openfl_net_URLRequestHeader(header.name,header.value)); } } event.responseHeaders = headers; this.dispatchEvent(event); } ,__prepareRequest: function(httpRequest,request) { this.__httpRequest = httpRequest; this.__httpRequest.uri = request.url; var _g = request.method; var tmp; switch(_g) { case "DELETE": tmp = "DELETE"; break; case "HEAD": tmp = "HEAD"; break; case "OPTIONS": tmp = "OPTIONS"; break; case "POST": tmp = "POST"; break; case "PUT": tmp = "PUT"; break; default: tmp = "GET"; } this.__httpRequest.method = tmp; if(request.data != null) { if(Type["typeof"](request.data) == ValueType.TObject) { var fields = Reflect.fields(request.data); var _g1 = 0; while(_g1 < fields.length) { var field = fields[_g1]; ++_g1; var _this = this.__httpRequest.formData; var value = Reflect.field(request.data,field); if(__map_reserved[field] != null) { _this.setReserved(field,value); } else { _this.h[field] = value; } } } else if(js_Boot.__instanceof(request.data,haxe_io_Bytes)) { this.__httpRequest.data = request.data; } else { this.__httpRequest.data = haxe_io_Bytes.ofString(Std.string(request.data)); } } this.__httpRequest.contentType = request.contentType; if(request.requestHeaders != null) { var _g11 = 0; var _g2 = request.requestHeaders; while(_g11 < _g2.length) { var header = _g2[_g11]; ++_g11; this.__httpRequest.headers.push(new lime_net_HTTPRequestHeader(header.name,header.value)); } } this.__httpRequest.followRedirects = request.followRedirects; this.__httpRequest.timeout = request.idleTimeout | 0; this.__httpRequest.withCredentials = request.manageCookies; var userAgent = request.userAgent; if(userAgent == null) { userAgent = "Mozilla/5.0 (Windows; U; en) AppleWebKit/420+ (KHTML, like Gecko) OpenFL/1.0"; } this.__httpRequest.userAgent = request.userAgent; this.__httpRequest.enableResponseHeaders = true; } ,httpRequest_onError: function(error) { this.__dispatchStatus(); if(error == 403) { var event = new openfl_events_SecurityErrorEvent("securityError"); event.text = Std.string(error); this.dispatchEvent(event); } else { var event1 = new openfl_events_IOErrorEvent("ioError"); event1.text = Std.string(error); this.dispatchEvent(event1); } } ,httpRequest_onProgress: function(bytesLoaded,bytesTotal) { var event = new openfl_events_ProgressEvent("progress"); event.bytesLoaded = bytesLoaded; event.bytesTotal = bytesTotal; this.dispatchEvent(event); } ,__class__: openfl_net_URLLoader }); var openfl_net__$URLLoaderDataFormat_URLLoaderDataFormat_$Impl_$ = {}; $hxClasses["openfl.net._URLLoaderDataFormat.URLLoaderDataFormat_Impl_"] = openfl_net__$URLLoaderDataFormat_URLLoaderDataFormat_$Impl_$; openfl_net__$URLLoaderDataFormat_URLLoaderDataFormat_$Impl_$.__name__ = ["openfl","net","_URLLoaderDataFormat","URLLoaderDataFormat_Impl_"]; openfl_net__$URLLoaderDataFormat_URLLoaderDataFormat_$Impl_$.fromString = function(value) { switch(value) { case "binary": return 0; case "text": return 1; case "variables": return 2; default: return null; } }; openfl_net__$URLLoaderDataFormat_URLLoaderDataFormat_$Impl_$.toString = function(value) { switch(value) { case 0: return "binary"; case 1: return "text"; case 2: return "variables"; default: return null; } }; var openfl_net_URLRequest = function(url) { if(url != null) { this.url = url; } this.contentType = null; this.followRedirects = openfl_net_URLRequestDefaults.followRedirects; this.idleTimeout = openfl_net_URLRequestDefaults.idleTimeout > 0 ? openfl_net_URLRequestDefaults.idleTimeout : 30000; this.manageCookies = openfl_net_URLRequestDefaults.manageCookies; this.method = "GET"; this.requestHeaders = []; this.userAgent = openfl_net_URLRequestDefaults.userAgent; }; $hxClasses["openfl.net.URLRequest"] = openfl_net_URLRequest; openfl_net_URLRequest.__name__ = ["openfl","net","URLRequest"]; openfl_net_URLRequest.prototype = { contentType: null ,data: null ,followRedirects: null ,idleTimeout: null ,manageCookies: null ,method: null ,requestHeaders: null ,url: null ,userAgent: null ,__class__: openfl_net_URLRequest }; var openfl_net_URLRequestDefaults = function() { }; $hxClasses["openfl.net.URLRequestDefaults"] = openfl_net_URLRequestDefaults; openfl_net_URLRequestDefaults.__name__ = ["openfl","net","URLRequestDefaults"]; openfl_net_URLRequestDefaults.userAgent = null; var openfl_net_URLRequestHeader = function(name,value) { if(value == null) { value = ""; } if(name == null) { name = ""; } this.name = name; this.value = value; }; $hxClasses["openfl.net.URLRequestHeader"] = openfl_net_URLRequestHeader; openfl_net_URLRequestHeader.__name__ = ["openfl","net","URLRequestHeader"]; openfl_net_URLRequestHeader.prototype = { name: null ,value: null ,__class__: openfl_net_URLRequestHeader }; var openfl_net__$URLVariables_URLVariables_$Impl_$ = {}; $hxClasses["openfl.net._URLVariables.URLVariables_Impl_"] = openfl_net__$URLVariables_URLVariables_$Impl_$; openfl_net__$URLVariables_URLVariables_$Impl_$.__name__ = ["openfl","net","_URLVariables","URLVariables_Impl_"]; openfl_net__$URLVariables_URLVariables_$Impl_$._new = function(source) { var this1 = { }; if(source != null) { openfl_net__$URLVariables_URLVariables_$Impl_$.decode(this1,source); } return this1; }; openfl_net__$URLVariables_URLVariables_$Impl_$.decode = function(this1,source) { var fields = Reflect.fields(this1); var _g = 0; while(_g < fields.length) { var f = fields[_g]; ++_g; Reflect.deleteField(this1,f); } var fields1 = source.split(";").join("&").split("&"); var _g1 = 0; while(_g1 < fields1.length) { var f1 = fields1[_g1]; ++_g1; var eq = f1.indexOf("="); if(eq > 0) { var s = HxOverrides.substr(f1,0,eq); var field = decodeURIComponent(s.split("+").join(" ")); var s1 = HxOverrides.substr(f1,eq + 1,null); this1[field] = decodeURIComponent(s1.split("+").join(" ")); } else if(eq != 0) { this1[decodeURIComponent(f1.split("+").join(" "))] = ""; } } }; openfl_net__$URLVariables_URLVariables_$Impl_$.toString = function(this1) { var result = []; var fields = Reflect.fields(this1); var _g = 0; while(_g < fields.length) { var f = fields[_g]; ++_g; var tmp = encodeURIComponent(f) + "="; var s = Reflect.field(this1,f); result.push(tmp + encodeURIComponent(s)); } return result.join("&"); }; var openfl_sensors_Accelerometer = function() { openfl_events_EventDispatcher.call(this); openfl_sensors_Accelerometer.initialize(); this.__interval = 0; this.__muted = false; this.setRequestedUpdateInterval(openfl_sensors_Accelerometer.defaultInterval); }; $hxClasses["openfl.sensors.Accelerometer"] = openfl_sensors_Accelerometer; openfl_sensors_Accelerometer.__name__ = ["openfl","sensors","Accelerometer"]; openfl_sensors_Accelerometer.__properties__ = {get_isSupported:"get_isSupported"}; openfl_sensors_Accelerometer.initialize = function() { if(!openfl_sensors_Accelerometer.initialized) { var sensors = lime_system_Sensor.getSensors(lime_system_SensorType.ACCELEROMETER); if(sensors.length > 0) { sensors[0].onUpdate.add(openfl_sensors_Accelerometer.accelerometer_onUpdate); openfl_sensors_Accelerometer.supported = true; } openfl_sensors_Accelerometer.initialized = true; } }; openfl_sensors_Accelerometer.accelerometer_onUpdate = function(x,y,z) { openfl_sensors_Accelerometer.currentX = x; openfl_sensors_Accelerometer.currentY = y; openfl_sensors_Accelerometer.currentZ = z; }; openfl_sensors_Accelerometer.get_isSupported = function() { openfl_sensors_Accelerometer.initialize(); return openfl_sensors_Accelerometer.supported; }; openfl_sensors_Accelerometer.__super__ = openfl_events_EventDispatcher; openfl_sensors_Accelerometer.prototype = $extend(openfl_events_EventDispatcher.prototype,{ __interval: null ,__muted: null ,__timer: null ,addEventListener: function(type,listener,useCapture,priority,useWeakReference) { if(useWeakReference == null) { useWeakReference = false; } if(priority == null) { priority = 0; } if(useCapture == null) { useCapture = false; } openfl_events_EventDispatcher.prototype.addEventListener.call(this,type,listener,useCapture,priority,useWeakReference); this.update(); } ,setRequestedUpdateInterval: function(interval) { this.__interval = interval; if(this.__interval < 0) { throw new js__$Boot_HaxeError(new openfl_errors_ArgumentError()); } else if(this.__interval == 0) { this.__interval = openfl_sensors_Accelerometer.defaultInterval; } if(this.__timer != null) { this.__timer.stop(); this.__timer = null; } if(openfl_sensors_Accelerometer.supported && !this.get_muted()) { this.__timer = new haxe_Timer(this.__interval); this.__timer.run = $bind(this,this.update); } } ,update: function() { var event = new openfl_events_AccelerometerEvent("update"); event.timestamp = new Date().getTime() / 1000; event.accelerationX = openfl_sensors_Accelerometer.currentX; event.accelerationY = openfl_sensors_Accelerometer.currentY; event.accelerationZ = openfl_sensors_Accelerometer.currentZ; this.dispatchEvent(event); } ,get_muted: function() { return this.__muted; } ,set_muted: function(value) { this.__muted = value; this.setRequestedUpdateInterval(this.__interval); return value; } ,__class__: openfl_sensors_Accelerometer ,__properties__: {set_muted:"set_muted",get_muted:"get_muted"} }); var openfl_system_ApplicationDomain = function(parentDomain) { if(parentDomain != null) { this.parentDomain = parentDomain; } else { this.parentDomain = openfl_system_ApplicationDomain.currentDomain; } }; $hxClasses["openfl.system.ApplicationDomain"] = openfl_system_ApplicationDomain; openfl_system_ApplicationDomain.__name__ = ["openfl","system","ApplicationDomain"]; openfl_system_ApplicationDomain.prototype = { parentDomain: null ,getDefinition: function(name) { return Type.resolveClass(name); } ,hasDefinition: function(name) { return Type.resolveClass(name) != null; } ,__class__: openfl_system_ApplicationDomain }; var openfl_system_LoaderContext = function(checkPolicyFile,applicationDomain,securityDomain) { if(checkPolicyFile == null) { checkPolicyFile = false; } this.checkPolicyFile = checkPolicyFile; this.securityDomain = securityDomain; this.applicationDomain = applicationDomain; this.allowCodeImport = true; this.allowLoadBytesCodeExecution = true; }; $hxClasses["openfl.system.LoaderContext"] = openfl_system_LoaderContext; openfl_system_LoaderContext.__name__ = ["openfl","system","LoaderContext"]; openfl_system_LoaderContext.prototype = { allowCodeImport: null ,allowLoadBytesCodeExecution: null ,applicationDomain: null ,checkPolicyFile: null ,securityDomain: null ,__class__: openfl_system_LoaderContext }; var openfl_system_SecurityDomain = function() { }; $hxClasses["openfl.system.SecurityDomain"] = openfl_system_SecurityDomain; openfl_system_SecurityDomain.__name__ = ["openfl","system","SecurityDomain"]; openfl_system_SecurityDomain.prototype = { __class__: openfl_system_SecurityDomain }; var openfl_system_System = function() { }; $hxClasses["openfl.system.System"] = openfl_system_System; openfl_system_System.__name__ = ["openfl","system","System"]; openfl_system_System.__properties__ = {get_vmVersion:"get_vmVersion",get_totalMemory:"get_totalMemory"}; openfl_system_System.exit = function(code) { lime_system_System.exit(code); }; openfl_system_System.gc = function() { }; openfl_system_System.pause = function() { openfl__$internal_Lib.notImplemented({ fileName : "System.hx", lineNumber : 176, className : "openfl.system.System", methodName : "pause"}); }; openfl_system_System.resume = function() { openfl__$internal_Lib.notImplemented({ fileName : "System.hx", lineNumber : 193, className : "openfl.system.System", methodName : "resume"}); }; openfl_system_System.setClipboard = function(string) { lime_system_Clipboard.set_text(string); }; openfl_system_System.get_totalMemory = function() { return (window.performance && window.performance.memory) ? window.performance.memory.usedJSHeapSize : 0; }; openfl_system_System.get_vmVersion = function() { return "1.0.0"; }; var openfl_text__$AntiAliasType_AntiAliasType_$Impl_$ = {}; $hxClasses["openfl.text._AntiAliasType.AntiAliasType_Impl_"] = openfl_text__$AntiAliasType_AntiAliasType_$Impl_$; openfl_text__$AntiAliasType_AntiAliasType_$Impl_$.__name__ = ["openfl","text","_AntiAliasType","AntiAliasType_Impl_"]; openfl_text__$AntiAliasType_AntiAliasType_$Impl_$.fromString = function(value) { switch(value) { case "advanced": return 0; case "normal": return 1; default: return null; } }; openfl_text__$AntiAliasType_AntiAliasType_$Impl_$.toString = function(value) { switch(value) { case 0: return "advanced"; case 1: return "normal"; default: return null; } }; var openfl_text__$FontStyle_FontStyle_$Impl_$ = {}; $hxClasses["openfl.text._FontStyle.FontStyle_Impl_"] = openfl_text__$FontStyle_FontStyle_$Impl_$; openfl_text__$FontStyle_FontStyle_$Impl_$.__name__ = ["openfl","text","_FontStyle","FontStyle_Impl_"]; openfl_text__$FontStyle_FontStyle_$Impl_$.fromString = function(value) { switch(value) { case "bold": return 0; case "boldItalic": return 1; case "italic": return 2; case "regular": return 3; default: return null; } }; openfl_text__$FontStyle_FontStyle_$Impl_$.toString = function(value) { switch(value) { case 0: return "bold"; case 1: return "boldItalic"; case 2: return "italic"; case 3: return "regular"; default: return null; } }; var openfl_text__$FontType_FontType_$Impl_$ = {}; $hxClasses["openfl.text._FontType.FontType_Impl_"] = openfl_text__$FontType_FontType_$Impl_$; openfl_text__$FontType_FontType_$Impl_$.__name__ = ["openfl","text","_FontType","FontType_Impl_"]; openfl_text__$FontType_FontType_$Impl_$.fromString = function(value) { switch(value) { case "device": return 0; case "embedded": return 1; case "embeddedCFF": return 2; default: return null; } }; openfl_text__$FontType_FontType_$Impl_$.toString = function(value) { switch(value) { case 0: return "device"; case 1: return "embedded"; case 2: return "embeddedCFF"; default: return null; } }; var openfl_text__$GridFitType_GridFitType_$Impl_$ = {}; $hxClasses["openfl.text._GridFitType.GridFitType_Impl_"] = openfl_text__$GridFitType_GridFitType_$Impl_$; openfl_text__$GridFitType_GridFitType_$Impl_$.__name__ = ["openfl","text","_GridFitType","GridFitType_Impl_"]; openfl_text__$GridFitType_GridFitType_$Impl_$.fromString = function(value) { switch(value) { case "none": return 0; case "pixel": return 1; case "subpixel": return 2; default: return null; } }; openfl_text__$GridFitType_GridFitType_$Impl_$.toString = function(value) { switch(value) { case 0: return "none"; case 1: return "pixel"; case 2: return "subpixel"; default: return null; } }; var openfl_text_StaticText = function() { openfl_display_DisplayObject.call(this); this.__graphics = new openfl_display_Graphics(this); }; $hxClasses["openfl.text.StaticText"] = openfl_text_StaticText; openfl_text_StaticText.__name__ = ["openfl","text","StaticText"]; openfl_text_StaticText.__super__ = openfl_display_DisplayObject; openfl_text_StaticText.prototype = $extend(openfl_display_DisplayObject.prototype,{ text: null ,__class__: openfl_text_StaticText }); var openfl_text_TextField = function() { this.__forceCachedBitmapUpdate = false; this.__renderedOnCanvasWhileOnDOM = false; openfl_display_InteractiveObject.call(this); this.__caretIndex = -1; this.__displayAsPassword = false; this.__graphics = new openfl_display_Graphics(this); this.__textEngine = new openfl__$internal_text_TextEngine(this); this.__layoutDirty = true; this.__offsetX = 0; this.__offsetY = 0; this.__mouseWheelEnabled = true; this.__text = ""; if(openfl_text_TextField.__defaultTextFormat == null) { openfl_text_TextField.__defaultTextFormat = new openfl_text_TextFormat("Times New Roman",12,0,false,false,false,"","",3,0,0,0,0); openfl_text_TextField.__defaultTextFormat.blockIndent = 0; openfl_text_TextField.__defaultTextFormat.bullet = false; openfl_text_TextField.__defaultTextFormat.letterSpacing = 0; openfl_text_TextField.__defaultTextFormat.kerning = false; } this.__textFormat = openfl_text_TextField.__defaultTextFormat.clone(); this.__textEngine.textFormatRanges.push(new openfl__$internal_text_TextFormatRange(this.__textFormat,0,0)); this.addEventListener("mouseDown",$bind(this,this.this_onMouseDown)); this.addEventListener("focusIn",$bind(this,this.this_onFocusIn)); this.addEventListener("focusOut",$bind(this,this.this_onFocusOut)); this.addEventListener("keyDown",$bind(this,this.this_onKeyDown)); this.addEventListener("mouseWheel",$bind(this,this.this_onMouseWheel)); }; $hxClasses["openfl.text.TextField"] = openfl_text_TextField; openfl_text_TextField.__name__ = ["openfl","text","TextField"]; openfl_text_TextField.__defaultTextFormat = null; openfl_text_TextField.__super__ = openfl_display_InteractiveObject; openfl_text_TextField.prototype = $extend(openfl_display_InteractiveObject.prototype,{ __bounds: null ,__caretIndex: null ,__cursorTimer: null ,__dirty: null ,__displayAsPassword: null ,__domRender: null ,__inputEnabled: null ,__isHTML: null ,__layoutDirty: null ,__mouseWheelEnabled: null ,__offsetX: null ,__offsetY: null ,__selectionIndex: null ,__showCursor: null ,__symbol: null ,__text: null ,__htmlText: null ,__textEngine: null ,__textFormat: null ,__div: null ,__renderedOnCanvasWhileOnDOM: null ,__rawHtmlText: null ,__forceCachedBitmapUpdate: null ,appendText: function(text) { if(text == null || text == "") { return; } this.__dirty = true; this.__layoutDirty = true; if(!this.__renderDirty) { this.__renderDirty = true; this.__setParentRenderDirty(); } this.__updateText(lime_text__$UTF8String_UTF8String_$Impl_$.plus(this.__text,text)); this.__textEngine.textFormatRanges.get(this.__textEngine.textFormatRanges.get_length() - 1).end = lime_text__$UTF8String_UTF8String_$Impl_$.get_length(this.__text); this.__updateScrollH(); } ,getCharBoundaries: function(charIndex) { if(charIndex < 0 || charIndex > lime_text__$UTF8String_UTF8String_$Impl_$.get_length(this.__text) - 1) { return null; } var rect = new openfl_geom_Rectangle(); if(this.__getCharBoundaries(charIndex,rect)) { return rect; } else { return null; } } ,getCharIndexAtPoint: function(x,y) { if(x <= 2 || x > this.get_width() + 4 || y <= 0 || y > this.get_height() + 4) { return -1; } this.__updateLayout(); x += this.get_scrollH(); var _g1 = 0; var _g = this.get_scrollV() - 1; while(_g1 < _g) { var i = _g1++; y += this.__textEngine.lineHeights.get(i); } var _g2 = 0; var _g11 = this.__textEngine.layoutGroups; while(_g2 < _g11.get_length()) { var group = _g11.get(_g2); ++_g2; if(y >= group.offsetY && y <= group.offsetY + group.height) { if(x >= group.offsetX && x <= group.offsetX + group.width) { var advance = 0.0; var _g3 = 0; var _g21 = group.positions.length; while(_g3 < _g21) { var i1 = _g3++; advance += group.positions[i1]; if(x <= group.offsetX + advance) { return group.startIndex + i1; } } return group.endIndex; } } } return -1; } ,getFirstCharInParagraph: function(charIndex) { if(charIndex < 0 || charIndex > lime_text__$UTF8String_UTF8String_$Impl_$.get_length(this.get_text())) { return -1; } var index = this.__textEngine.getLineBreakIndex(); var startIndex = 0; while(index > -1) { if(index < charIndex) { startIndex = index + 1; } else if(index >= charIndex) { break; } index = this.__textEngine.getLineBreakIndex(index + 1); } return startIndex; } ,getLineIndexAtPoint: function(x,y) { this.__updateLayout(); if(x <= 2 || x > this.get_width() + 4 || y <= 0 || y > this.get_height() + 4) { return -1; } var _g1 = 0; var _g = this.get_scrollV() - 1; while(_g1 < _g) { var i = _g1++; y += this.__textEngine.lineHeights.get(i); } var _g2 = 0; var _g11 = this.__textEngine.layoutGroups; while(_g2 < _g11.get_length()) { var group = _g11.get(_g2); ++_g2; if(y >= group.offsetY && y <= group.offsetY + group.height) { return group.lineIndex; } } return -1; } ,getLineIndexOfChar: function(charIndex) { if(charIndex < 0 || charIndex > lime_text__$UTF8String_UTF8String_$Impl_$.get_length(this.__text)) { return -1; } this.__updateLayout(); var _g = 0; var _g1 = this.__textEngine.layoutGroups; while(_g < _g1.get_length()) { var group = _g1.get(_g); ++_g; if(group.startIndex <= charIndex && group.endIndex >= charIndex) { return group.lineIndex; } } return -1; } ,getLineLength: function(lineIndex) { this.__updateLayout(); if(lineIndex < 0 || lineIndex > this.__textEngine.numLines - 1) { return 0; } var startIndex = -1; var endIndex = -1; var _g = 0; var _g1 = this.__textEngine.layoutGroups; while(_g < _g1.get_length()) { var group = _g1.get(_g); ++_g; if(group.lineIndex == lineIndex) { if(startIndex == -1) { startIndex = group.startIndex; } } else if(group.lineIndex == lineIndex + 1) { endIndex = group.startIndex; break; } } if(endIndex == -1) { endIndex = lime_text__$UTF8String_UTF8String_$Impl_$.get_length(this.__text); } return endIndex - startIndex; } ,getLineMetrics: function(lineIndex) { this.__updateLayout(); var ascender = this.__textEngine.lineAscents.get(lineIndex); var descender = this.__textEngine.lineDescents.get(lineIndex); var leading = this.__textEngine.lineLeadings.get(lineIndex); var lineHeight = this.__textEngine.lineHeights.get(lineIndex); var lineWidth = this.__textEngine.lineWidths.get(lineIndex); var margin; var _g = this.__textFormat.align; switch(_g) { case 0: margin = (this.__textEngine.width - lineWidth) / 2; break; case 1:case 4: margin = this.__textEngine.width - lineWidth - 2; break; case 2:case 3:case 5: margin = 2; break; } return new openfl_text_TextLineMetrics(margin,lineWidth,lineHeight,ascender,descender,leading); } ,getLineOffset: function(lineIndex) { this.__updateLayout(); if(lineIndex < 0 || lineIndex > this.__textEngine.numLines - 1) { return -1; } var _g = 0; var _g1 = this.__textEngine.layoutGroups; while(_g < _g1.get_length()) { var group = _g1.get(_g); ++_g; if(group.lineIndex == lineIndex) { return group.startIndex; } } return 0; } ,getLineText: function(lineIndex) { this.__updateLayout(); if(lineIndex < 0 || lineIndex > this.__textEngine.numLines - 1) { return null; } var startIndex = -1; var endIndex = -1; var _g = 0; var _g1 = this.__textEngine.layoutGroups; while(_g < _g1.get_length()) { var group = _g1.get(_g); ++_g; if(group.lineIndex == lineIndex) { if(startIndex == -1) { startIndex = group.startIndex; } } else if(group.lineIndex == lineIndex + 1) { endIndex = group.startIndex; break; } } if(endIndex == -1) { endIndex = lime_text__$UTF8String_UTF8String_$Impl_$.get_length(this.__text); } return lime_text__$UTF8String_UTF8String_$Impl_$.substring(this.__textEngine.text,startIndex,endIndex); } ,getParagraphLength: function(charIndex) { if(charIndex < 0 || charIndex > lime_text__$UTF8String_UTF8String_$Impl_$.get_length(this.get_text())) { return -1; } var startIndex = this.getFirstCharInParagraph(charIndex); if(charIndex >= lime_text__$UTF8String_UTF8String_$Impl_$.get_length(this.get_text())) { return lime_text__$UTF8String_UTF8String_$Impl_$.get_length(this.get_text()) - startIndex + 1; } var endIndex = this.__textEngine.getLineBreakIndex(charIndex) + 1; if(endIndex == 0) { endIndex = lime_text__$UTF8String_UTF8String_$Impl_$.get_length(this.__text); } return endIndex - startIndex; } ,getTextFormat: function(beginIndex,endIndex) { if(endIndex == null) { endIndex = -1; } if(beginIndex == null) { beginIndex = -1; } var format = null; if(beginIndex >= lime_text__$UTF8String_UTF8String_$Impl_$.get_length(this.get_text()) || beginIndex < -1 || endIndex > lime_text__$UTF8String_UTF8String_$Impl_$.get_length(this.get_text()) || endIndex < -1) { throw new js__$Boot_HaxeError(new openfl_errors_RangeError("The supplied index is out of bounds")); } if(beginIndex == -1) { beginIndex = 0; } if(endIndex == -1) { endIndex = lime_text__$UTF8String_UTF8String_$Impl_$.get_length(this.get_text()); } if(beginIndex >= endIndex) { return new openfl_text_TextFormat(); } var _g = 0; var _g1 = this.__textEngine.textFormatRanges; while(_g < _g1.get_length()) { var group = _g1.get(_g); ++_g; if(group.start <= beginIndex && group.end > beginIndex || group.start < endIndex && group.end >= endIndex) { if(format == null) { format = group.format.clone(); } else { if(group.format.font != format.font) { format.font = null; } if(group.format.size != format.size) { format.size = null; } if(group.format.color != format.color) { format.color = null; } if(group.format.bold != format.bold) { format.bold = null; } if(group.format.italic != format.italic) { format.italic = null; } if(group.format.underline != format.underline) { format.underline = null; } if(group.format.url != format.url) { format.url = null; } if(group.format.target != format.target) { format.target = null; } if(group.format.align != format.align) { format.align = null; } if(group.format.leftMargin != format.leftMargin) { format.leftMargin = null; } if(group.format.rightMargin != format.rightMargin) { format.rightMargin = null; } if(group.format.indent != format.indent) { format.indent = null; } if(group.format.leading != format.leading) { format.leading = null; } if(group.format.blockIndent != format.blockIndent) { format.blockIndent = null; } if(group.format.bullet != format.bullet) { format.bullet = null; } if(group.format.kerning != format.kerning) { format.kerning = null; } if(group.format.letterSpacing != format.letterSpacing) { format.letterSpacing = null; } if(group.format.tabStops != format.tabStops) { format.tabStops = null; } } } } if(format == null) { format = new openfl_text_TextFormat(); } return format; } ,replaceSelectedText: function(value) { this.__replaceSelectedText(value,false); } ,replaceText: function(beginIndex,endIndex,newText) { this.__replaceText(beginIndex,endIndex,newText,false); } ,setSelection: function(beginIndex,endIndex) { this.__selectionIndex = beginIndex; this.__caretIndex = endIndex; this.__stopCursorTimer(); this.__startCursorTimer(); } ,setTextFormat: function(format,beginIndex,endIndex) { if(endIndex == null) { endIndex = 0; } if(beginIndex == null) { beginIndex = 0; } var max = lime_text__$UTF8String_UTF8String_$Impl_$.get_length(this.get_text()); var range; if(beginIndex < 0) { beginIndex = 0; } if(endIndex < 0) { endIndex = 0; } if(endIndex == 0) { if(beginIndex == 0) { endIndex = max; } else { endIndex = beginIndex + 1; } } if(endIndex < beginIndex) { return; } if(beginIndex == 0 && endIndex >= max) { this.__textFormat.__merge(format); var _g1 = 0; var _g = this.__textEngine.textFormatRanges.get_length(); while(_g1 < _g) { var i = _g1++; range = this.__textEngine.textFormatRanges.get(i); range.format.__merge(this.__textFormat); } } else { var index = this.__textEngine.textFormatRanges.get_length(); var searchIndex; while(index > 0) { --index; range = this.__textEngine.textFormatRanges.get(index); if(range.start == beginIndex && range.end == endIndex) { range.format = this.__textFormat.clone(); range.format.__merge(format); this.__dirty = true; this.__layoutDirty = true; if(!this.__renderDirty) { this.__renderDirty = true; this.__setParentRenderDirty(); } return; } if(range.start >= beginIndex && range.end <= endIndex) { searchIndex = this.__textEngine.textFormatRanges.indexOf(range,0); if(searchIndex > -1) { this.__textEngine.textFormatRanges.splice(searchIndex,1); } } } var prevRange = null; var nextRange = null; if(beginIndex > 0) { var _g11 = 0; var _g2 = this.__textEngine.textFormatRanges.get_length(); while(_g11 < _g2) { var i1 = _g11++; range = this.__textEngine.textFormatRanges.get(i1); if(range.end >= beginIndex) { prevRange = range; break; } } } if(endIndex < max) { var ni = this.__textEngine.textFormatRanges.get_length(); while(--ni >= 0) { range = this.__textEngine.textFormatRanges.get(ni); if(range.start <= endIndex) { nextRange = range; break; } } } if(nextRange == prevRange) { nextRange = new openfl__$internal_text_TextFormatRange(nextRange.format.clone(),nextRange.start,nextRange.end); this.__textEngine.textFormatRanges.push(nextRange); } if(prevRange != null) { prevRange.end = beginIndex; } if(nextRange != null) { nextRange.start = endIndex; } var textFormat = this.__textFormat.clone(); textFormat.__merge(format); this.__textEngine.textFormatRanges.push(new openfl__$internal_text_TextFormatRange(textFormat,beginIndex,endIndex)); this.__textEngine.textFormatRanges.sort(function(a,b) { if(a.start < b.start || a.end < b.end) { return -1; } else if(a.start > b.start || a.end > b.end) { return 1; } return 0; }); } this.__dirty = true; this.__layoutDirty = true; if(!this.__renderDirty) { this.__renderDirty = true; this.__setParentRenderDirty(); } } ,__allowMouseFocus: function() { if(!(this.__textEngine.type == 1 || this.get_tabEnabled())) { return this.get_selectable(); } else { return true; } } ,__caretBeginningOfLine: function() { if(this.__selectionIndex == this.__caretIndex || this.__caretIndex < this.__selectionIndex) { this.__caretIndex = this.getLineOffset(this.getLineIndexOfChar(this.__caretIndex)); } else { this.__selectionIndex = this.getLineOffset(this.getLineIndexOfChar(this.__selectionIndex)); } } ,__caretEndOfLine: function() { var lineIndex; if(this.__selectionIndex == this.__caretIndex) { lineIndex = this.getLineIndexOfChar(this.__caretIndex); } else { lineIndex = this.getLineIndexOfChar(Math.max(this.__caretIndex,this.__selectionIndex) | 0); } if(lineIndex < this.__textEngine.numLines - 1) { this.__caretIndex = this.getLineOffset(lineIndex + 1) - 1; } else { this.__caretIndex = lime_text__$UTF8String_UTF8String_$Impl_$.get_length(this.__text); } } ,__caretNextCharacter: function() { if(this.__caretIndex < lime_text__$UTF8String_UTF8String_$Impl_$.get_length(this.__text)) { this.__caretIndex++; } } ,__caretNextLine: function(lineIndex,caretIndex) { if(lineIndex == null) { lineIndex = this.getLineIndexOfChar(this.__caretIndex); } if(lineIndex < this.__textEngine.numLines - 1) { if(caretIndex == null) { caretIndex = this.__caretIndex; } this.__caretIndex = this.__getCharIndexOnDifferentLine(caretIndex,lineIndex + 1); } else { this.__caretIndex = lime_text__$UTF8String_UTF8String_$Impl_$.get_length(this.__text); } } ,__caretPreviousCharacter: function() { if(this.__caretIndex > 0) { this.__caretIndex--; } } ,__caretPreviousLine: function(lineIndex,caretIndex) { if(lineIndex == null) { lineIndex = this.getLineIndexOfChar(this.__caretIndex); } if(lineIndex > 0) { if(caretIndex == null) { caretIndex = this.__caretIndex; } this.__caretIndex = this.__getCharIndexOnDifferentLine(caretIndex,lineIndex - 1); } else { this.__caretIndex = 0; } } ,__disableInput: function() { if(this.__inputEnabled && this.stage != null) { this.stage.window.__backend.setTextInputEnabled(false); this.stage.window.onTextInput.remove($bind(this,this.window_onTextInput)); this.stage.window.onKeyDown.remove($bind(this,this.window_onKeyDown)); this.__inputEnabled = false; this.__stopCursorTimer(); } } ,__dispatch: function(event) { if(event.eventPhase == 2 && event.type == "mouseUp") { var event1 = event; var group = this.__getGroup(this.get_mouseX(),this.get_mouseY(),true); if(group != null) { var url = group.format.url; if(url != null && url != "") { if(StringTools.startsWith(url,"event:")) { this.dispatchEvent(new openfl_events_TextEvent("link",false,false,HxOverrides.substr(url,6,null))); } else { openfl_Lib.getURL(new openfl_net_URLRequest(url)); } } } } return openfl_display_InteractiveObject.prototype.__dispatch.call(this,event); } ,__enableInput: function() { if(this.stage != null) { this.stage.window.__backend.setTextInputEnabled(true); if(!this.__inputEnabled) { this.stage.window.__backend.setTextInputEnabled(true); if(!this.stage.window.onTextInput.has($bind(this,this.window_onTextInput))) { this.stage.window.onTextInput.add($bind(this,this.window_onTextInput)); this.stage.window.onKeyDown.add($bind(this,this.window_onKeyDown)); } this.__inputEnabled = true; this.__startCursorTimer(); } } } ,__fromSymbol: function(swf,symbol) { this.__symbol = symbol; this.set_width(symbol.width); this.set_height(symbol.height); this.__offsetX = symbol.x; this.__offsetY = symbol.y; this.set_multiline(symbol.multiline); this.set_wordWrap(symbol.wordWrap); this.set_displayAsPassword(symbol.password); if(symbol.border) { this.set_border(true); this.set_background(true); } this.set_selectable(symbol.selectable); if(symbol.input) { this.set_type(1); } var format = new openfl_text_TextFormat(); if(symbol.color != null) { format.color = symbol.color & 16777215; } format.size = Math.round(symbol.fontHeight / 20); var font = swf.symbols.h[symbol.fontID]; if(font != null) { format.__ascent = font.ascent / 20 / 1024; format.__descent = font.descent / 20 / 1024; } format.font = symbol.fontName; var found = false; var _g = format.font; if(_g == null) { found = true; } else { switch(_g) { case "":case "_sans":case "_serif":case "_typewriter": found = true; break; default: var _g1 = 0; var _g11 = openfl_text_Font.enumerateFonts(); while(_g1 < _g11.length) { var font1 = _g11[_g1]; ++_g1; if(font1.name == format.font) { found = true; break; } } } } if(!found) { var alpha_r = new RegExp("[^a-zA-Z]+","g".split("u").join("")); var _g12 = 0; var _g2 = openfl_text_Font.enumerateFonts(); while(_g12 < _g2.length) { var font2 = _g2[_g12]; ++_g12; if(HxOverrides.substr(font2.name.replace(alpha_r,""),0,symbol.fontName.length) == symbol.fontName) { format.font = font2.name; found = true; break; } } } if(found) { this.set_embedFonts(true); } else { var key = format.font; var _this = openfl_text_TextField.__missingFontWarning; if(!(__map_reserved[key] != null ? _this.existsReserved(key) : _this.h.hasOwnProperty(key))) { var k = format.font; var _this1 = openfl_text_TextField.__missingFontWarning; if(__map_reserved[k] != null) { _this1.setReserved(k,true); } else { _this1.h[k] = true; } lime_utils_Log.warn("Could not find required font \"" + format.font + "\", it has not been embedded",{ fileName : "TextField.hx", lineNumber : 1676, className : "openfl.text.TextField", methodName : "__fromSymbol"}); } } if(symbol.align != null) { if(symbol.align == "center") { format.align = 0; } else if(symbol.align == "right") { format.align = 4; } else if(symbol.align == "justify") { format.align = 2; } format.leftMargin = symbol.leftMargin / 20 | 0; format.rightMargin = symbol.rightMargin / 20 | 0; format.indent = symbol.indent / 20 | 0; format.leading = symbol.leading / 20 | 0; } this.set_defaultTextFormat(format); if(symbol.text != null) { if(symbol.html) { this.set_htmlText(symbol.text); } else { this.set_text(symbol.text); } } } ,__getAdvance: function(position) { return position; } ,__getBounds: function(rect,matrix) { this.__updateLayout(); var bounds = openfl_geom_Rectangle.__pool.get(); bounds.copyFrom(this.__textEngine.bounds); matrix.tx += this.__offsetX; matrix.ty += this.__offsetY; bounds.__transform(bounds,matrix); rect.__expand(bounds.x,bounds.y,bounds.width,bounds.height); openfl_geom_Rectangle.__pool.release(bounds); } ,__getCharBoundaries: function(charIndex,rect) { if(charIndex < 0 || charIndex > lime_text__$UTF8String_UTF8String_$Impl_$.get_length(this.__text) - 1) { return false; } this.__updateLayout(); var _g = 0; var _g1 = this.__textEngine.layoutGroups; while(_g < _g1.get_length()) { var group = _g1.get(_g); ++_g; if(charIndex >= group.startIndex && charIndex <= group.endIndex) { try { var x = group.offsetX; var _g3 = 0; var _g2 = charIndex - group.startIndex; while(_g3 < _g2) { var i = _g3++; x += group.positions[i]; } var lastPosition = group.positions[charIndex - group.startIndex]; rect.setTo(x,group.offsetY,lastPosition,group.ascent + group.descent); return true; } catch( e ) { haxe_CallStack.lastException = e; } } } return false; } ,__getCharIndexOnDifferentLine: function(charIndex,lineIndex) { if(charIndex < 0 || charIndex > lime_text__$UTF8String_UTF8String_$Impl_$.get_length(this.__text)) { return -1; } if(lineIndex < 0 || lineIndex > this.__textEngine.numLines - 1) { return -1; } var x = null; var y = null; var _g = 0; var _g1 = this.__textEngine.layoutGroups; while(_g < _g1.get_length()) { var group = _g1.get(_g); ++_g; if(charIndex >= group.startIndex && charIndex <= group.endIndex) { x = group.offsetX; var _g3 = 0; var _g2 = charIndex - group.startIndex; while(_g3 < _g2) { var i = _g3++; x += group.positions[i]; } if(y != null) { return this.__getPosition(x,y); } } if(group.lineIndex == lineIndex) { y = group.offsetY + group.height / 2; var _g31 = 0; var _g21 = this.get_scrollV() - 1; while(_g31 < _g21) { var i1 = _g31++; y -= this.__textEngine.lineHeights.get(i1); } if(x != null) { return this.__getPosition(x,y); } } } return -1; } ,__getCursor: function() { var group = this.__getGroup(this.get_mouseX(),this.get_mouseY(),true); if(group != null && group.format.url != "") { return "button"; } else if(this.__textEngine.selectable) { return "ibeam"; } return null; } ,__getGroup: function(x,y,precise) { if(precise == null) { precise = false; } this.__updateLayout(); x += this.get_scrollH(); var _g1 = 0; var _g = this.get_scrollV() - 1; while(_g1 < _g) { var i = _g1++; y += this.__textEngine.lineHeights.get(i); } if(!precise && y > this.__textEngine.textHeight) { y = this.__textEngine.textHeight; } var firstGroup = true; var group; var nextGroup; var _g11 = 0; var _g2 = this.__textEngine.layoutGroups.get_length(); while(_g11 < _g2) { var i1 = _g11++; group = this.__textEngine.layoutGroups.get(i1); if(i1 < this.__textEngine.layoutGroups.get_length() - 1) { nextGroup = this.__textEngine.layoutGroups.get(i1 + 1); } else { nextGroup = null; } if(firstGroup) { if(y < group.offsetY) { y = group.offsetY; } if(x < group.offsetX) { x = group.offsetX; } firstGroup = false; } if(y >= group.offsetY && y <= group.offsetY + group.height || !precise && nextGroup == null) { if(x >= group.offsetX && x <= group.offsetX + group.width || !precise && (nextGroup == null || nextGroup.lineIndex != group.lineIndex)) { return group; } } } return null; } ,__getPosition: function(x,y) { var group = this.__getGroup(x,y); if(group == null) { return lime_text__$UTF8String_UTF8String_$Impl_$.get_length(this.__text); } var advance = 0.0; var _g1 = 0; var _g = group.positions.length; while(_g1 < _g) { var i = _g1++; advance += group.positions[i]; if(x <= group.offsetX + advance) { if(x <= group.offsetX + (advance - group.positions[i]) + group.positions[i] / 2) { return group.startIndex + i; } else if(group.startIndex + i < group.endIndex) { return group.startIndex + i + 1; } else { return group.endIndex; } } } return group.endIndex; } ,__hitTest: function(x,y,shapeFlag,stack,interactiveOnly,hitObject) { if(!hitObject.get_visible() || this.__isMask || interactiveOnly && !this.mouseEnabled) { return false; } if(this.get_mask() != null && !this.get_mask().__hitTestMask(x,y)) { return false; } this.__getRenderTransform(); this.__updateLayout(); var _this = this.__renderTransform; var norm = _this.a * _this.d - _this.b * _this.c; var px = norm == 0 ? -_this.tx : 1.0 / norm * (_this.c * (_this.ty - y) + _this.d * (x - _this.tx)); var _this1 = this.__renderTransform; var norm1 = _this1.a * _this1.d - _this1.b * _this1.c; var py = norm1 == 0 ? -_this1.ty : 1.0 / norm1 * (_this1.a * (y - _this1.ty) + _this1.b * (_this1.tx - x)); if(this.__textEngine.bounds.contains(px,py)) { if(stack != null) { stack.push(hitObject); } return true; } return false; } ,__hitTestMask: function(x,y) { this.__getRenderTransform(); this.__updateLayout(); var _this = this.__renderTransform; var norm = _this.a * _this.d - _this.b * _this.c; var px = norm == 0 ? -_this.tx : 1.0 / norm * (_this.c * (_this.ty - y) + _this.d * (x - _this.tx)); var _this1 = this.__renderTransform; var norm1 = _this1.a * _this1.d - _this1.b * _this1.c; var py = norm1 == 0 ? -_this1.ty : 1.0 / norm1 * (_this1.a * (y - _this1.ty) + _this1.b * (_this1.tx - x)); if(this.__textEngine.bounds.contains(px,py)) { return true; } return false; } ,__renderCairo: function(renderer) { } ,__renderCanvas: function(renderer) { if(renderer.__isDOM && !this.__renderedOnCanvasWhileOnDOM) { this.__renderedOnCanvasWhileOnDOM = true; if(this.get_type() == 1) { this.replaceText(0,lime_text__$UTF8String_UTF8String_$Impl_$.get_length(this.__text),this.__text); } if(this.__isHTML) { this.__updateText(openfl__$internal_formats_html_HTMLParser.parse(this.__text,this.__textFormat,this.__textEngine.textFormatRanges)); } this.__dirty = true; this.__layoutDirty = true; if(!this.__renderDirty) { this.__renderDirty = true; this.__setParentRenderDirty(); } } if(this.get_mask() == null || this.get_mask().get_width() > 0 && this.get_mask().get_height() > 0) { this.__updateCacheBitmap(renderer,false); if(this.__cacheBitmap != null && !this.__isCacheBitmapRender) { var bitmap = this.__cacheBitmap; if(!(!bitmap.__renderable)) { var alpha = renderer.__getAlpha(bitmap.__worldAlpha); if(alpha > 0 && bitmap.__bitmapData != null && bitmap.__bitmapData.__isValid && bitmap.__bitmapData.readable) { var context = renderer.context; renderer.__setBlendMode(bitmap.__worldBlendMode); renderer.__pushMaskObject(bitmap,false); lime__$internal_graphics_ImageCanvasUtil.convertToCanvas(bitmap.__bitmapData.image); context.globalAlpha = alpha; var scrollRect = bitmap.__scrollRect; renderer.setTransform(bitmap.__renderTransform,context); if(!renderer.__allowSmoothing || !bitmap.smoothing) { context.imageSmoothingEnabled = false; } if(scrollRect == null) { context.drawImage(bitmap.__bitmapData.image.get_src(),0,0,bitmap.__bitmapData.image.width,bitmap.__bitmapData.image.height); } else { context.drawImage(bitmap.__bitmapData.image.get_src(),scrollRect.x,scrollRect.y,scrollRect.width,scrollRect.height); } if(!renderer.__allowSmoothing || !bitmap.smoothing) { context.imageSmoothingEnabled = true; } renderer.__popMaskObject(bitmap,false); } } } else { var transform = this.__worldTransform; var textEngine = this.__textEngine; var bounds = textEngine.background || textEngine.border ? textEngine.bounds : textEngine.textBounds; var graphics = this.__graphics; if(this.__dirty) { this.__updateLayout(); if(graphics.__bounds == null) { graphics.__bounds = new openfl_geom_Rectangle(); } graphics.__bounds.copyFrom(bounds); } graphics.__update(renderer.__worldTransform); if(this.__dirty || graphics.__softwareDirty) { var width = graphics.__width; var height = graphics.__height; if((textEngine.text == null || lime_text__$UTF8String_UTF8String_$Impl_$.equals(textEngine.text,"")) && !textEngine.background && !textEngine.border && !textEngine.__hasFocus && (textEngine.type != 1 || !textEngine.selectable) || (textEngine.width <= 0 || textEngine.height <= 0) && textEngine.autoSize != 2) { this.__graphics.__canvas = null; this.__graphics.__context = null; this.__graphics.__bitmap = null; this.__graphics.__softwareDirty = false; this.__graphics.set___dirty(false); this.__dirty = false; } else { if(this.__graphics.__canvas == null) { this.__graphics.__canvas = window.document.createElement("canvas"); this.__graphics.__context = this.__graphics.__canvas.getContext("2d"); } openfl__$internal_renderer_canvas_CanvasTextField.context = graphics.__context; var transform1 = graphics.__renderTransform; if(renderer.__isDOM) { var scale = renderer.pixelRatio; graphics.__canvas.width = width * scale | 0; graphics.__canvas.height = height * scale | 0; graphics.__canvas.style.width = width + "px"; graphics.__canvas.style.height = height + "px"; var matrix = openfl_geom_Matrix.__pool.get(); matrix.copyFrom(transform1); matrix.scale(scale,scale); renderer.setTransform(matrix,openfl__$internal_renderer_canvas_CanvasTextField.context); openfl_geom_Matrix.__pool.release(matrix); } else { graphics.__canvas.width = width; graphics.__canvas.height = height; openfl__$internal_renderer_canvas_CanvasTextField.context.setTransform(transform1.a,transform1.b,transform1.c,transform1.d,transform1.tx,transform1.ty); } if(openfl__$internal_renderer_canvas_CanvasTextField.clearRect == null) { openfl__$internal_renderer_canvas_CanvasTextField.clearRect = (typeof navigator !== 'undefined' && typeof navigator['isCocoonJS'] !== 'undefined'); } if(openfl__$internal_renderer_canvas_CanvasTextField.clearRect) { openfl__$internal_renderer_canvas_CanvasTextField.context.clearRect(0,0,graphics.__canvas.width,graphics.__canvas.height); } if(textEngine.text != null && textEngine.text != "" || textEngine.__hasFocus) { var text = textEngine.text; if(!renderer.__allowSmoothing || textEngine.antiAliasType == 0 && textEngine.sharpness == 400) { graphics.__context.imageSmoothingEnabled = false; } else { graphics.__context.imageSmoothingEnabled = true; } if(textEngine.border || textEngine.background) { openfl__$internal_renderer_canvas_CanvasTextField.context.rect(0.5,0.5,bounds.width - 1,bounds.height - 1); if(textEngine.background) { var tmp = StringTools.hex(textEngine.backgroundColor & 16777215,6); openfl__$internal_renderer_canvas_CanvasTextField.context.fillStyle = "#" + tmp; openfl__$internal_renderer_canvas_CanvasTextField.context.fill(); } if(textEngine.border) { openfl__$internal_renderer_canvas_CanvasTextField.context.lineWidth = 1; var tmp1 = StringTools.hex(textEngine.borderColor & 16777215,6); openfl__$internal_renderer_canvas_CanvasTextField.context.strokeStyle = "#" + tmp1; openfl__$internal_renderer_canvas_CanvasTextField.context.stroke(); } } openfl__$internal_renderer_canvas_CanvasTextField.context.textBaseline = "alphabetic"; openfl__$internal_renderer_canvas_CanvasTextField.context.textAlign = "start"; var scrollX = -this.get_scrollH(); var scrollY = 0.0; var _g1 = 0; var _g = this.get_scrollV() - 1; while(_g1 < _g) { var i = _g1++; scrollY -= textEngine.lineHeights.get(i); } var advance; var _g2 = 0; var _g11 = textEngine.layoutGroups; while(_g2 < _g11.get_length()) { var group = _g11.get(_g2); ++_g2; if(group.lineIndex < this.get_scrollV() - 1) { continue; } if(group.lineIndex > this.get_scrollV() + textEngine.bottomScrollV - 2) { break; } var color = "#" + StringTools.hex(group.format.color & 16777215,6); openfl__$internal_renderer_canvas_CanvasTextField.context.font = openfl__$internal_text_TextEngine.getFont(group.format); openfl__$internal_renderer_canvas_CanvasTextField.context.fillStyle = color; openfl__$internal_renderer_canvas_CanvasTextField.context.fillText(lime_text__$UTF8String_UTF8String_$Impl_$.substring(text,group.startIndex,group.endIndex),group.offsetX + scrollX - bounds.x,group.offsetY + group.ascent + scrollY - bounds.y); if(this.__caretIndex > -1 && textEngine.selectable) { if(this.__selectionIndex == this.__caretIndex) { if(this.__showCursor && group.startIndex <= this.__caretIndex && group.endIndex >= this.__caretIndex) { advance = 0.0; var _g3 = 0; var _g21 = this.__caretIndex - group.startIndex; while(_g3 < _g21) { var i1 = _g3++; if(group.positions.length <= i1) { break; } advance += group.positions[i1]; } var scrollY1 = 0.0; var _g31 = this.get_scrollV(); var _g22 = group.lineIndex + 1; while(_g31 < _g22) { var i2 = _g31++; scrollY1 += textEngine.lineHeights.get(i2 - 1); } openfl__$internal_renderer_canvas_CanvasTextField.context.beginPath(); var tmp2 = StringTools.hex(group.format.color & 16777215,6); openfl__$internal_renderer_canvas_CanvasTextField.context.strokeStyle = "#" + tmp2; openfl__$internal_renderer_canvas_CanvasTextField.context.moveTo(group.offsetX + advance - this.get_scrollH() - bounds.x,scrollY1 + 2 - bounds.y); openfl__$internal_renderer_canvas_CanvasTextField.context.lineWidth = 1; openfl__$internal_renderer_canvas_CanvasTextField.context.lineTo(group.offsetX + advance - this.get_scrollH() - bounds.x,scrollY1 + openfl__$internal_text_TextEngine.getFormatHeight(this.get_defaultTextFormat()) - 1 - bounds.y); openfl__$internal_renderer_canvas_CanvasTextField.context.stroke(); openfl__$internal_renderer_canvas_CanvasTextField.context.closePath(); } } else if(group.startIndex <= this.__caretIndex && group.endIndex >= this.__caretIndex || group.startIndex <= this.__selectionIndex && group.endIndex >= this.__selectionIndex || group.startIndex > this.__caretIndex && group.endIndex < this.__selectionIndex || group.startIndex > this.__selectionIndex && group.endIndex < this.__caretIndex) { var selectionStart = Math.min(this.__selectionIndex,this.__caretIndex) | 0; var selectionEnd = Math.max(this.__selectionIndex,this.__caretIndex) | 0; if(group.startIndex > selectionStart) { selectionStart = group.startIndex; } if(group.endIndex < selectionEnd) { selectionEnd = group.endIndex; } var start; var end; start = this.getCharBoundaries(selectionStart); if(selectionEnd >= lime_text__$UTF8String_UTF8String_$Impl_$.get_length(textEngine.text)) { end = this.getCharBoundaries(lime_text__$UTF8String_UTF8String_$Impl_$.get_length(textEngine.text) - 1); end.x += end.width + 2; } else { end = this.getCharBoundaries(selectionEnd); } if(start != null && end != null) { openfl__$internal_renderer_canvas_CanvasTextField.context.fillStyle = "#000000"; openfl__$internal_renderer_canvas_CanvasTextField.context.fillRect(start.x + scrollX,start.y + scrollY,end.x - start.x,group.height); openfl__$internal_renderer_canvas_CanvasTextField.context.fillStyle = "#FFFFFF"; openfl__$internal_renderer_canvas_CanvasTextField.context.fillText(lime_text__$UTF8String_UTF8String_$Impl_$.substring(text,selectionStart,selectionEnd),scrollX + start.x,group.offsetY + group.ascent + scrollY); } } } if(group.format.underline) { openfl__$internal_renderer_canvas_CanvasTextField.context.beginPath(); openfl__$internal_renderer_canvas_CanvasTextField.context.strokeStyle = color; openfl__$internal_renderer_canvas_CanvasTextField.context.lineWidth = 1; var x = group.offsetX + scrollX - bounds.x; var y = Math.floor(group.offsetY + scrollY + group.ascent - bounds.y) + 0.5; openfl__$internal_renderer_canvas_CanvasTextField.context.moveTo(x,y); openfl__$internal_renderer_canvas_CanvasTextField.context.lineTo(x + group.width,y); openfl__$internal_renderer_canvas_CanvasTextField.context.stroke(); openfl__$internal_renderer_canvas_CanvasTextField.context.closePath(); } } } else { if(textEngine.border || textEngine.background) { if(textEngine.border) { openfl__$internal_renderer_canvas_CanvasTextField.context.rect(0.5,0.5,bounds.width - 1,bounds.height - 1); } else { openfl__$internal_renderer_canvas_CanvasTextField.context.rect(0,0,bounds.width,bounds.height); } if(textEngine.background) { var tmp3 = StringTools.hex(textEngine.backgroundColor & 16777215,6); openfl__$internal_renderer_canvas_CanvasTextField.context.fillStyle = "#" + tmp3; openfl__$internal_renderer_canvas_CanvasTextField.context.fill(); } if(textEngine.border) { openfl__$internal_renderer_canvas_CanvasTextField.context.lineWidth = 1; openfl__$internal_renderer_canvas_CanvasTextField.context.lineCap = "square"; var tmp4 = StringTools.hex(textEngine.borderColor & 16777215,6); openfl__$internal_renderer_canvas_CanvasTextField.context.strokeStyle = "#" + tmp4; openfl__$internal_renderer_canvas_CanvasTextField.context.stroke(); } } if(this.__caretIndex > -1 && textEngine.selectable && this.__showCursor) { var scrollX1 = -this.get_scrollH(); var scrollY2 = 0.0; var _g12 = 0; var _g4 = this.get_scrollV() - 1; while(_g12 < _g4) { var i3 = _g12++; scrollY2 += textEngine.lineHeights.get(i3); } openfl__$internal_renderer_canvas_CanvasTextField.context.beginPath(); var tmp5 = StringTools.hex(this.get_defaultTextFormat().color & 16777215,6); openfl__$internal_renderer_canvas_CanvasTextField.context.strokeStyle = "#" + tmp5; openfl__$internal_renderer_canvas_CanvasTextField.context.moveTo(scrollX1 + 2.5,scrollY2 + 2.5); openfl__$internal_renderer_canvas_CanvasTextField.context.lineWidth = 1; openfl__$internal_renderer_canvas_CanvasTextField.context.lineTo(scrollX1 + 2.5,scrollY2 + openfl__$internal_text_TextEngine.getFormatHeight(this.get_defaultTextFormat()) - 1); openfl__$internal_renderer_canvas_CanvasTextField.context.stroke(); openfl__$internal_renderer_canvas_CanvasTextField.context.closePath(); } } graphics.__bitmap = openfl_display_BitmapData.fromCanvas(this.__graphics.__canvas); graphics.__visible = true; this.__dirty = false; graphics.__softwareDirty = false; graphics.set___dirty(false); } } var smoothingEnabled = false; if(this.__textEngine.antiAliasType == 0 && this.__textEngine.gridFitType == 1) { smoothingEnabled = renderer.context.imageSmoothingEnabled; if(smoothingEnabled) { renderer.context.imageSmoothingEnabled = false; } } if(!(this.opaqueBackground == null && this.__graphics == null)) { if(!(!this.__renderable)) { var alpha1 = renderer.__getAlpha(this.__worldAlpha); if(!(alpha1 <= 0)) { if(this.opaqueBackground != null && !this.__isCacheBitmapRender && this.get_width() > 0 && this.get_height() > 0) { renderer.__setBlendMode(this.__worldBlendMode); renderer.__pushMaskObject(this); var context1 = renderer.context; renderer.setTransform(this.__renderTransform,context1); var color1 = this.opaqueBackground; context1.fillStyle = "rgb(" + (color1 >>> 16 & 255) + "," + (color1 >>> 8 & 255) + "," + (color1 & 255) + ")"; context1.fillRect(0,0,this.get_width(),this.get_height()); renderer.__popMaskObject(this); } if(this.__graphics != null) { if(!(!this.__renderable)) { var alpha2 = renderer.__getAlpha(this.__worldAlpha); if(!(alpha2 <= 0)) { var graphics1 = this.__graphics; if(graphics1 != null) { openfl__$internal_renderer_canvas_CanvasGraphics.render(graphics1,renderer); var bounds1 = graphics1.__bounds; var width1 = graphics1.__width; var height1 = graphics1.__height; if(graphics1.__canvas != null) { var context2 = renderer.context; var scrollRect1 = this.__scrollRect; if(width1 > 0 && height1 > 0 && (scrollRect1 == null || scrollRect1.width > 0 && scrollRect1.height > 0)) { renderer.__setBlendMode(this.__worldBlendMode); renderer.__pushMaskObject(this); context2.globalAlpha = alpha2; renderer.setTransform(graphics1.__worldTransform,context2); if(renderer.__isDOM) { var reverseScale = 1 / renderer.pixelRatio; context2.scale(reverseScale,reverseScale); } context2.drawImage(graphics1.__canvas,0,0,width1,height1); renderer.__popMaskObject(this); } } } } } } } } } if(smoothingEnabled) { renderer.context.imageSmoothingEnabled = true; } } } } ,__renderDOM: function(renderer) { this.__domRender = true; this.__updateCacheBitmap(renderer,this.__forceCachedBitmapUpdate); this.__forceCachedBitmapUpdate = false; this.__domRender = false; if(this.__cacheBitmap != null && !this.__isCacheBitmapRender) { this.__renderDOMClear(renderer); this.__cacheBitmap.stage = this.stage; var bitmap = this.__cacheBitmap; if(bitmap.stage != null && bitmap.__worldVisible && bitmap.__renderable && bitmap.__bitmapData != null && bitmap.__bitmapData.__isValid && bitmap.__bitmapData.readable) { renderer.__pushMaskObject(bitmap); if(bitmap.__bitmapData.image.buffer.__srcImage != null) { openfl__$internal_renderer_dom_DOMBitmap.renderImage(bitmap,renderer); } else { openfl__$internal_renderer_dom_DOMBitmap.renderCanvas(bitmap,renderer); } renderer.__popMaskObject(bitmap); } else { openfl__$internal_renderer_dom_DOMBitmap.clear(bitmap,renderer); } } else { if(this.__renderedOnCanvasWhileOnDOM) { this.__renderedOnCanvasWhileOnDOM = false; if(this.__isHTML && this.__rawHtmlText != null) { this.__updateText(this.__rawHtmlText); this.__dirty = true; this.__layoutDirty = true; if(!this.__renderDirty) { this.__renderDirty = true; this.__setParentRenderDirty(); } } } var textField = this; var textEngine = textField.__textEngine; if(textField.stage != null && textField.__worldVisible && textField.__renderable) { if(textField.__dirty || textField.__renderTransformChanged || textField.__div == null) { if(textEngine.text != "" || textEngine.background || textEngine.border || textEngine.type == 1) { if(textField.__div == null) { textField.__div = window.document.createElement("div"); renderer.__initializeElement(textField,textField.__div); textField.__style.setProperty("outline","none",null); textField.__div.addEventListener("input",function(event) { event.preventDefault(); if(textField.get_htmlText() != textField.__div.innerHTML) { textField.set_htmlText(textField.__div.innerHTML); var textField1 = textField.__displayAsPassword; textField.__dirty = false; } },true); } if(!textEngine.wordWrap) { textField.__style.setProperty("white-space","nowrap",null); } else { textField.__style.setProperty("word-wrap","break-word",null); } textField.__style.setProperty("overflow","hidden",null); if(textEngine.selectable) { textField.__style.setProperty("cursor","text",null); textField.__style.setProperty("-webkit-user-select","text",null); textField.__style.setProperty("-moz-user-select","text",null); textField.__style.setProperty("-ms-user-select","text",null); textField.__style.setProperty("-o-user-select","text",null); } else { textField.__style.setProperty("cursor","inherit",null); } textField.__div.contentEditable = textEngine.type == 1; var style = textField.__style; if(textEngine.background) { style.setProperty("background-color","#" + StringTools.hex(textEngine.backgroundColor & 16777215,6),null); } else { style.removeProperty("background-color"); } var w = textEngine.width; var h = textEngine.height; var scale = 1; var unscaledSize = textField.__textFormat.size; var scaledSize = unscaledSize; var t = textField.__renderTransform; if(t.a != 1.0 || t.d != 1.0) { if(t.a == t.d) { scale = t.a; t.a = t.d = 1.0; } else if(t.a > t.d) { scale = t.a; t.d /= t.a; t.a = 1.0; } else { scale = t.d; t.a /= t.d; t.d = 1.0; } scaledSize *= scale; w = Math.ceil(w * scale); h = Math.ceil(h * scale); } textField.__textFormat.size = scaledSize; var text = textEngine.text; var adjustment = 0; if(!textField.__isHTML) { text = StringTools.htmlEscape(text); } else { var matchText = text; while(openfl__$internal_renderer_dom_DOMTextField.__regexFont.match(matchText)) { var fontText = openfl__$internal_renderer_dom_DOMTextField.__regexFont.matched(0); var style1 = ""; if(openfl__$internal_renderer_dom_DOMTextField.__regexFace.match(fontText)) { style1 += "font-family:'" + openfl__$internal_renderer_dom_DOMTextField.__getAttributeMatch(openfl__$internal_renderer_dom_DOMTextField.__regexFace) + "';"; } if(openfl__$internal_renderer_dom_DOMTextField.__regexColor.match(fontText)) { style1 += "color:#" + openfl__$internal_renderer_dom_DOMTextField.__getAttributeMatch(openfl__$internal_renderer_dom_DOMTextField.__regexColor) + ";"; } if(openfl__$internal_renderer_dom_DOMTextField.__regexSize.match(fontText)) { var sizeAttr = openfl__$internal_renderer_dom_DOMTextField.__getAttributeMatch(openfl__$internal_renderer_dom_DOMTextField.__regexSize); var firstChar = HxOverrides.cca(sizeAttr,0); var size; adjustment = parseFloat(sizeAttr) * scale; if(firstChar == 43 || firstChar == 45) { size = scaledSize + adjustment; } else { size = adjustment; } style1 += "font-size:" + size + "px;"; } text = StringTools.replace(text,fontText,""); matchText = openfl__$internal_renderer_dom_DOMTextField.__regexFont.matchedRight(); } text = text.replace(openfl__$internal_renderer_dom_DOMTextField.__regexCloseFont.r,""); } text = StringTools.replace(text,"

"); textField.__div.innerHTML = tmp; var _this_r1 = new RegExp("\n","g".split("u").join("")); var tmp1 = textField.__div.innerHTML.replace(_this_r1,"
"); textField.__div.innerHTML = tmp1; var _this_r2 = new RegExp("\r","g".split("u").join("")); var tmp2 = textField.__div.innerHTML.replace(_this_r2,"
"); textField.__div.innerHTML = tmp2; style.setProperty("font",openfl__$internal_text_TextEngine.getFont(textField.__textFormat),null); textField.__textFormat.size = unscaledSize; textField.__textFormat.leading = unscaledLeading; style.setProperty("top","3px",null); if(textEngine.border) { style.setProperty("border","solid 1px #" + StringTools.hex(textEngine.borderColor & 16777215,6),null); textField.__renderTransform.translate(-1,-1); textField.__renderTransformChanged = true; textField.__transformDirty = true; } else if(style.border != "") { style.removeProperty("border"); textField.__renderTransformChanged = true; } style.setProperty("color","#" + StringTools.hex(textField.__textFormat.color & 16777215,6),null); style.setProperty("width",w + "px",null); style.setProperty("height",h + "px",null); var _g = textField.__textFormat.align; switch(_g) { case 0: style.setProperty("text-align","center",null); break; case 4: style.setProperty("text-align","right",null); break; default: style.setProperty("text-align","left",null); } textField.__dirty = false; } else if(textField.__div != null) { renderer.element.removeChild(textField.__div); textField.__div = null; } } if(textField.__div != null) { var old = renderer.__roundPixels; renderer.__roundPixels = true; renderer.__updateClip(textField); renderer.__applyStyle(textField,true,true,true); renderer.__roundPixels = old; } } else { openfl__$internal_renderer_dom_DOMTextField.clear(textField,renderer); } } this.__renderEvent(renderer); } ,__renderDOMClear: function(renderer) { openfl__$internal_renderer_dom_DOMTextField.clear(this,renderer); } ,__renderGL: function(renderer) { this.__updateCacheBitmap(renderer,false); if(this.__cacheBitmap != null && !this.__isCacheBitmapRender) { openfl__$internal_renderer_context3D_Context3DBitmap.render(this.__cacheBitmap,renderer); } else { var renderer1 = renderer.__softwareRenderer; var transform = this.__worldTransform; var textEngine = this.__textEngine; var bounds = textEngine.background || textEngine.border ? textEngine.bounds : textEngine.textBounds; var graphics = this.__graphics; if(this.__dirty) { this.__updateLayout(); if(graphics.__bounds == null) { graphics.__bounds = new openfl_geom_Rectangle(); } graphics.__bounds.copyFrom(bounds); } graphics.__update(renderer1.__worldTransform); if(this.__dirty || graphics.__softwareDirty) { var width = graphics.__width; var height = graphics.__height; if((textEngine.text == null || lime_text__$UTF8String_UTF8String_$Impl_$.equals(textEngine.text,"")) && !textEngine.background && !textEngine.border && !textEngine.__hasFocus && (textEngine.type != 1 || !textEngine.selectable) || (textEngine.width <= 0 || textEngine.height <= 0) && textEngine.autoSize != 2) { this.__graphics.__canvas = null; this.__graphics.__context = null; this.__graphics.__bitmap = null; this.__graphics.__softwareDirty = false; this.__graphics.set___dirty(false); this.__dirty = false; } else { if(this.__graphics.__canvas == null) { this.__graphics.__canvas = window.document.createElement("canvas"); this.__graphics.__context = this.__graphics.__canvas.getContext("2d"); } openfl__$internal_renderer_canvas_CanvasTextField.context = graphics.__context; var transform1 = graphics.__renderTransform; if(renderer1.__isDOM) { var scale = renderer1.pixelRatio; graphics.__canvas.width = width * scale | 0; graphics.__canvas.height = height * scale | 0; graphics.__canvas.style.width = width + "px"; graphics.__canvas.style.height = height + "px"; var matrix = openfl_geom_Matrix.__pool.get(); matrix.copyFrom(transform1); matrix.scale(scale,scale); renderer1.setTransform(matrix,openfl__$internal_renderer_canvas_CanvasTextField.context); openfl_geom_Matrix.__pool.release(matrix); } else { graphics.__canvas.width = width; graphics.__canvas.height = height; openfl__$internal_renderer_canvas_CanvasTextField.context.setTransform(transform1.a,transform1.b,transform1.c,transform1.d,transform1.tx,transform1.ty); } if(openfl__$internal_renderer_canvas_CanvasTextField.clearRect == null) { openfl__$internal_renderer_canvas_CanvasTextField.clearRect = (typeof navigator !== 'undefined' && typeof navigator['isCocoonJS'] !== 'undefined'); } if(openfl__$internal_renderer_canvas_CanvasTextField.clearRect) { openfl__$internal_renderer_canvas_CanvasTextField.context.clearRect(0,0,graphics.__canvas.width,graphics.__canvas.height); } if(textEngine.text != null && textEngine.text != "" || textEngine.__hasFocus) { var text = textEngine.text; if(!renderer1.__allowSmoothing || textEngine.antiAliasType == 0 && textEngine.sharpness == 400) { graphics.__context.imageSmoothingEnabled = false; } else { graphics.__context.imageSmoothingEnabled = true; } if(textEngine.border || textEngine.background) { openfl__$internal_renderer_canvas_CanvasTextField.context.rect(0.5,0.5,bounds.width - 1,bounds.height - 1); if(textEngine.background) { var tmp = StringTools.hex(textEngine.backgroundColor & 16777215,6); openfl__$internal_renderer_canvas_CanvasTextField.context.fillStyle = "#" + tmp; openfl__$internal_renderer_canvas_CanvasTextField.context.fill(); } if(textEngine.border) { openfl__$internal_renderer_canvas_CanvasTextField.context.lineWidth = 1; var tmp1 = StringTools.hex(textEngine.borderColor & 16777215,6); openfl__$internal_renderer_canvas_CanvasTextField.context.strokeStyle = "#" + tmp1; openfl__$internal_renderer_canvas_CanvasTextField.context.stroke(); } } openfl__$internal_renderer_canvas_CanvasTextField.context.textBaseline = "alphabetic"; openfl__$internal_renderer_canvas_CanvasTextField.context.textAlign = "start"; var scrollX = -this.get_scrollH(); var scrollY = 0.0; var _g1 = 0; var _g = this.get_scrollV() - 1; while(_g1 < _g) { var i = _g1++; scrollY -= textEngine.lineHeights.get(i); } var advance; var _g2 = 0; var _g11 = textEngine.layoutGroups; while(_g2 < _g11.get_length()) { var group = _g11.get(_g2); ++_g2; if(group.lineIndex < this.get_scrollV() - 1) { continue; } if(group.lineIndex > this.get_scrollV() + textEngine.bottomScrollV - 2) { break; } var color = "#" + StringTools.hex(group.format.color & 16777215,6); openfl__$internal_renderer_canvas_CanvasTextField.context.font = openfl__$internal_text_TextEngine.getFont(group.format); openfl__$internal_renderer_canvas_CanvasTextField.context.fillStyle = color; openfl__$internal_renderer_canvas_CanvasTextField.context.fillText(lime_text__$UTF8String_UTF8String_$Impl_$.substring(text,group.startIndex,group.endIndex),group.offsetX + scrollX - bounds.x,group.offsetY + group.ascent + scrollY - bounds.y); if(this.__caretIndex > -1 && textEngine.selectable) { if(this.__selectionIndex == this.__caretIndex) { if(this.__showCursor && group.startIndex <= this.__caretIndex && group.endIndex >= this.__caretIndex) { advance = 0.0; var _g3 = 0; var _g21 = this.__caretIndex - group.startIndex; while(_g3 < _g21) { var i1 = _g3++; if(group.positions.length <= i1) { break; } advance += group.positions[i1]; } var scrollY1 = 0.0; var _g31 = this.get_scrollV(); var _g22 = group.lineIndex + 1; while(_g31 < _g22) { var i2 = _g31++; scrollY1 += textEngine.lineHeights.get(i2 - 1); } openfl__$internal_renderer_canvas_CanvasTextField.context.beginPath(); var tmp2 = StringTools.hex(group.format.color & 16777215,6); openfl__$internal_renderer_canvas_CanvasTextField.context.strokeStyle = "#" + tmp2; openfl__$internal_renderer_canvas_CanvasTextField.context.moveTo(group.offsetX + advance - this.get_scrollH() - bounds.x,scrollY1 + 2 - bounds.y); openfl__$internal_renderer_canvas_CanvasTextField.context.lineWidth = 1; openfl__$internal_renderer_canvas_CanvasTextField.context.lineTo(group.offsetX + advance - this.get_scrollH() - bounds.x,scrollY1 + openfl__$internal_text_TextEngine.getFormatHeight(this.get_defaultTextFormat()) - 1 - bounds.y); openfl__$internal_renderer_canvas_CanvasTextField.context.stroke(); openfl__$internal_renderer_canvas_CanvasTextField.context.closePath(); } } else if(group.startIndex <= this.__caretIndex && group.endIndex >= this.__caretIndex || group.startIndex <= this.__selectionIndex && group.endIndex >= this.__selectionIndex || group.startIndex > this.__caretIndex && group.endIndex < this.__selectionIndex || group.startIndex > this.__selectionIndex && group.endIndex < this.__caretIndex) { var selectionStart = Math.min(this.__selectionIndex,this.__caretIndex) | 0; var selectionEnd = Math.max(this.__selectionIndex,this.__caretIndex) | 0; if(group.startIndex > selectionStart) { selectionStart = group.startIndex; } if(group.endIndex < selectionEnd) { selectionEnd = group.endIndex; } var start; var end; start = this.getCharBoundaries(selectionStart); if(selectionEnd >= lime_text__$UTF8String_UTF8String_$Impl_$.get_length(textEngine.text)) { end = this.getCharBoundaries(lime_text__$UTF8String_UTF8String_$Impl_$.get_length(textEngine.text) - 1); end.x += end.width + 2; } else { end = this.getCharBoundaries(selectionEnd); } if(start != null && end != null) { openfl__$internal_renderer_canvas_CanvasTextField.context.fillStyle = "#000000"; openfl__$internal_renderer_canvas_CanvasTextField.context.fillRect(start.x + scrollX,start.y + scrollY,end.x - start.x,group.height); openfl__$internal_renderer_canvas_CanvasTextField.context.fillStyle = "#FFFFFF"; openfl__$internal_renderer_canvas_CanvasTextField.context.fillText(lime_text__$UTF8String_UTF8String_$Impl_$.substring(text,selectionStart,selectionEnd),scrollX + start.x,group.offsetY + group.ascent + scrollY); } } } if(group.format.underline) { openfl__$internal_renderer_canvas_CanvasTextField.context.beginPath(); openfl__$internal_renderer_canvas_CanvasTextField.context.strokeStyle = color; openfl__$internal_renderer_canvas_CanvasTextField.context.lineWidth = 1; var x = group.offsetX + scrollX - bounds.x; var y = Math.floor(group.offsetY + scrollY + group.ascent - bounds.y) + 0.5; openfl__$internal_renderer_canvas_CanvasTextField.context.moveTo(x,y); openfl__$internal_renderer_canvas_CanvasTextField.context.lineTo(x + group.width,y); openfl__$internal_renderer_canvas_CanvasTextField.context.stroke(); openfl__$internal_renderer_canvas_CanvasTextField.context.closePath(); } } } else { if(textEngine.border || textEngine.background) { if(textEngine.border) { openfl__$internal_renderer_canvas_CanvasTextField.context.rect(0.5,0.5,bounds.width - 1,bounds.height - 1); } else { openfl__$internal_renderer_canvas_CanvasTextField.context.rect(0,0,bounds.width,bounds.height); } if(textEngine.background) { var tmp3 = StringTools.hex(textEngine.backgroundColor & 16777215,6); openfl__$internal_renderer_canvas_CanvasTextField.context.fillStyle = "#" + tmp3; openfl__$internal_renderer_canvas_CanvasTextField.context.fill(); } if(textEngine.border) { openfl__$internal_renderer_canvas_CanvasTextField.context.lineWidth = 1; openfl__$internal_renderer_canvas_CanvasTextField.context.lineCap = "square"; var tmp4 = StringTools.hex(textEngine.borderColor & 16777215,6); openfl__$internal_renderer_canvas_CanvasTextField.context.strokeStyle = "#" + tmp4; openfl__$internal_renderer_canvas_CanvasTextField.context.stroke(); } } if(this.__caretIndex > -1 && textEngine.selectable && this.__showCursor) { var scrollX1 = -this.get_scrollH(); var scrollY2 = 0.0; var _g12 = 0; var _g4 = this.get_scrollV() - 1; while(_g12 < _g4) { var i3 = _g12++; scrollY2 += textEngine.lineHeights.get(i3); } openfl__$internal_renderer_canvas_CanvasTextField.context.beginPath(); var tmp5 = StringTools.hex(this.get_defaultTextFormat().color & 16777215,6); openfl__$internal_renderer_canvas_CanvasTextField.context.strokeStyle = "#" + tmp5; openfl__$internal_renderer_canvas_CanvasTextField.context.moveTo(scrollX1 + 2.5,scrollY2 + 2.5); openfl__$internal_renderer_canvas_CanvasTextField.context.lineWidth = 1; openfl__$internal_renderer_canvas_CanvasTextField.context.lineTo(scrollX1 + 2.5,scrollY2 + openfl__$internal_text_TextEngine.getFormatHeight(this.get_defaultTextFormat()) - 1); openfl__$internal_renderer_canvas_CanvasTextField.context.stroke(); openfl__$internal_renderer_canvas_CanvasTextField.context.closePath(); } } graphics.__bitmap = openfl_display_BitmapData.fromCanvas(this.__graphics.__canvas); graphics.__visible = true; this.__dirty = false; graphics.__softwareDirty = false; graphics.set___dirty(false); } } if(!(this.opaqueBackground == null && this.__graphics == null)) { if(!(!this.__renderable || this.__worldAlpha <= 0)) { if(this.opaqueBackground != null && !this.__isCacheBitmapRender && this.get_width() > 0 && this.get_height() > 0) { renderer.__setBlendMode(this.__worldBlendMode); renderer.__pushMaskObject(this); var context = renderer.__context3D; var rect = openfl_geom_Rectangle.__pool.get(); rect.setTo(0,0,this.get_width(),this.get_height()); renderer.__pushMaskRect(rect,this.__renderTransform); var color1 = this.opaqueBackground; context.clear((color1 >>> 16 & 255) / 255,(color1 >>> 8 & 255) / 255,(color1 & 255) / 255,1,0,0,1); renderer.__popMaskRect(); renderer.__popMaskObject(this); openfl_geom_Rectangle.__pool.release(rect); } if(this.__graphics != null) { openfl__$internal_renderer_context3D_Context3DShape.render(this,renderer); } } } } this.__renderEvent(renderer); } ,__renderGLMask: function(renderer) { var renderer1 = renderer.__softwareRenderer; var transform = this.__worldTransform; var textEngine = this.__textEngine; var bounds = textEngine.background || textEngine.border ? textEngine.bounds : textEngine.textBounds; var graphics = this.__graphics; if(this.__dirty) { this.__updateLayout(); if(graphics.__bounds == null) { graphics.__bounds = new openfl_geom_Rectangle(); } graphics.__bounds.copyFrom(bounds); } graphics.__update(renderer1.__worldTransform); if(this.__dirty || graphics.__softwareDirty) { var width = graphics.__width; var height = graphics.__height; if((textEngine.text == null || lime_text__$UTF8String_UTF8String_$Impl_$.equals(textEngine.text,"")) && !textEngine.background && !textEngine.border && !textEngine.__hasFocus && (textEngine.type != 1 || !textEngine.selectable) || (textEngine.width <= 0 || textEngine.height <= 0) && textEngine.autoSize != 2) { this.__graphics.__canvas = null; this.__graphics.__context = null; this.__graphics.__bitmap = null; this.__graphics.__softwareDirty = false; this.__graphics.set___dirty(false); this.__dirty = false; } else { if(this.__graphics.__canvas == null) { this.__graphics.__canvas = window.document.createElement("canvas"); this.__graphics.__context = this.__graphics.__canvas.getContext("2d"); } openfl__$internal_renderer_canvas_CanvasTextField.context = graphics.__context; var transform1 = graphics.__renderTransform; if(renderer1.__isDOM) { var scale = renderer1.pixelRatio; graphics.__canvas.width = width * scale | 0; graphics.__canvas.height = height * scale | 0; graphics.__canvas.style.width = width + "px"; graphics.__canvas.style.height = height + "px"; var matrix = openfl_geom_Matrix.__pool.get(); matrix.copyFrom(transform1); matrix.scale(scale,scale); renderer1.setTransform(matrix,openfl__$internal_renderer_canvas_CanvasTextField.context); openfl_geom_Matrix.__pool.release(matrix); } else { graphics.__canvas.width = width; graphics.__canvas.height = height; openfl__$internal_renderer_canvas_CanvasTextField.context.setTransform(transform1.a,transform1.b,transform1.c,transform1.d,transform1.tx,transform1.ty); } if(openfl__$internal_renderer_canvas_CanvasTextField.clearRect == null) { openfl__$internal_renderer_canvas_CanvasTextField.clearRect = (typeof navigator !== 'undefined' && typeof navigator['isCocoonJS'] !== 'undefined'); } if(openfl__$internal_renderer_canvas_CanvasTextField.clearRect) { openfl__$internal_renderer_canvas_CanvasTextField.context.clearRect(0,0,graphics.__canvas.width,graphics.__canvas.height); } if(textEngine.text != null && textEngine.text != "" || textEngine.__hasFocus) { var text = textEngine.text; if(!renderer1.__allowSmoothing || textEngine.antiAliasType == 0 && textEngine.sharpness == 400) { graphics.__context.imageSmoothingEnabled = false; } else { graphics.__context.imageSmoothingEnabled = true; } if(textEngine.border || textEngine.background) { openfl__$internal_renderer_canvas_CanvasTextField.context.rect(0.5,0.5,bounds.width - 1,bounds.height - 1); if(textEngine.background) { var tmp = StringTools.hex(textEngine.backgroundColor & 16777215,6); openfl__$internal_renderer_canvas_CanvasTextField.context.fillStyle = "#" + tmp; openfl__$internal_renderer_canvas_CanvasTextField.context.fill(); } if(textEngine.border) { openfl__$internal_renderer_canvas_CanvasTextField.context.lineWidth = 1; var tmp1 = StringTools.hex(textEngine.borderColor & 16777215,6); openfl__$internal_renderer_canvas_CanvasTextField.context.strokeStyle = "#" + tmp1; openfl__$internal_renderer_canvas_CanvasTextField.context.stroke(); } } openfl__$internal_renderer_canvas_CanvasTextField.context.textBaseline = "alphabetic"; openfl__$internal_renderer_canvas_CanvasTextField.context.textAlign = "start"; var scrollX = -this.get_scrollH(); var scrollY = 0.0; var _g1 = 0; var _g = this.get_scrollV() - 1; while(_g1 < _g) { var i = _g1++; scrollY -= textEngine.lineHeights.get(i); } var advance; var _g2 = 0; var _g11 = textEngine.layoutGroups; while(_g2 < _g11.get_length()) { var group = _g11.get(_g2); ++_g2; if(group.lineIndex < this.get_scrollV() - 1) { continue; } if(group.lineIndex > this.get_scrollV() + textEngine.bottomScrollV - 2) { break; } var color = "#" + StringTools.hex(group.format.color & 16777215,6); openfl__$internal_renderer_canvas_CanvasTextField.context.font = openfl__$internal_text_TextEngine.getFont(group.format); openfl__$internal_renderer_canvas_CanvasTextField.context.fillStyle = color; openfl__$internal_renderer_canvas_CanvasTextField.context.fillText(lime_text__$UTF8String_UTF8String_$Impl_$.substring(text,group.startIndex,group.endIndex),group.offsetX + scrollX - bounds.x,group.offsetY + group.ascent + scrollY - bounds.y); if(this.__caretIndex > -1 && textEngine.selectable) { if(this.__selectionIndex == this.__caretIndex) { if(this.__showCursor && group.startIndex <= this.__caretIndex && group.endIndex >= this.__caretIndex) { advance = 0.0; var _g3 = 0; var _g21 = this.__caretIndex - group.startIndex; while(_g3 < _g21) { var i1 = _g3++; if(group.positions.length <= i1) { break; } advance += group.positions[i1]; } var scrollY1 = 0.0; var _g31 = this.get_scrollV(); var _g22 = group.lineIndex + 1; while(_g31 < _g22) { var i2 = _g31++; scrollY1 += textEngine.lineHeights.get(i2 - 1); } openfl__$internal_renderer_canvas_CanvasTextField.context.beginPath(); var tmp2 = StringTools.hex(group.format.color & 16777215,6); openfl__$internal_renderer_canvas_CanvasTextField.context.strokeStyle = "#" + tmp2; openfl__$internal_renderer_canvas_CanvasTextField.context.moveTo(group.offsetX + advance - this.get_scrollH() - bounds.x,scrollY1 + 2 - bounds.y); openfl__$internal_renderer_canvas_CanvasTextField.context.lineWidth = 1; openfl__$internal_renderer_canvas_CanvasTextField.context.lineTo(group.offsetX + advance - this.get_scrollH() - bounds.x,scrollY1 + openfl__$internal_text_TextEngine.getFormatHeight(this.get_defaultTextFormat()) - 1 - bounds.y); openfl__$internal_renderer_canvas_CanvasTextField.context.stroke(); openfl__$internal_renderer_canvas_CanvasTextField.context.closePath(); } } else if(group.startIndex <= this.__caretIndex && group.endIndex >= this.__caretIndex || group.startIndex <= this.__selectionIndex && group.endIndex >= this.__selectionIndex || group.startIndex > this.__caretIndex && group.endIndex < this.__selectionIndex || group.startIndex > this.__selectionIndex && group.endIndex < this.__caretIndex) { var selectionStart = Math.min(this.__selectionIndex,this.__caretIndex) | 0; var selectionEnd = Math.max(this.__selectionIndex,this.__caretIndex) | 0; if(group.startIndex > selectionStart) { selectionStart = group.startIndex; } if(group.endIndex < selectionEnd) { selectionEnd = group.endIndex; } var start; var end; start = this.getCharBoundaries(selectionStart); if(selectionEnd >= lime_text__$UTF8String_UTF8String_$Impl_$.get_length(textEngine.text)) { end = this.getCharBoundaries(lime_text__$UTF8String_UTF8String_$Impl_$.get_length(textEngine.text) - 1); end.x += end.width + 2; } else { end = this.getCharBoundaries(selectionEnd); } if(start != null && end != null) { openfl__$internal_renderer_canvas_CanvasTextField.context.fillStyle = "#000000"; openfl__$internal_renderer_canvas_CanvasTextField.context.fillRect(start.x + scrollX,start.y + scrollY,end.x - start.x,group.height); openfl__$internal_renderer_canvas_CanvasTextField.context.fillStyle = "#FFFFFF"; openfl__$internal_renderer_canvas_CanvasTextField.context.fillText(lime_text__$UTF8String_UTF8String_$Impl_$.substring(text,selectionStart,selectionEnd),scrollX + start.x,group.offsetY + group.ascent + scrollY); } } } if(group.format.underline) { openfl__$internal_renderer_canvas_CanvasTextField.context.beginPath(); openfl__$internal_renderer_canvas_CanvasTextField.context.strokeStyle = color; openfl__$internal_renderer_canvas_CanvasTextField.context.lineWidth = 1; var x = group.offsetX + scrollX - bounds.x; var y = Math.floor(group.offsetY + scrollY + group.ascent - bounds.y) + 0.5; openfl__$internal_renderer_canvas_CanvasTextField.context.moveTo(x,y); openfl__$internal_renderer_canvas_CanvasTextField.context.lineTo(x + group.width,y); openfl__$internal_renderer_canvas_CanvasTextField.context.stroke(); openfl__$internal_renderer_canvas_CanvasTextField.context.closePath(); } } } else { if(textEngine.border || textEngine.background) { if(textEngine.border) { openfl__$internal_renderer_canvas_CanvasTextField.context.rect(0.5,0.5,bounds.width - 1,bounds.height - 1); } else { openfl__$internal_renderer_canvas_CanvasTextField.context.rect(0,0,bounds.width,bounds.height); } if(textEngine.background) { var tmp3 = StringTools.hex(textEngine.backgroundColor & 16777215,6); openfl__$internal_renderer_canvas_CanvasTextField.context.fillStyle = "#" + tmp3; openfl__$internal_renderer_canvas_CanvasTextField.context.fill(); } if(textEngine.border) { openfl__$internal_renderer_canvas_CanvasTextField.context.lineWidth = 1; openfl__$internal_renderer_canvas_CanvasTextField.context.lineCap = "square"; var tmp4 = StringTools.hex(textEngine.borderColor & 16777215,6); openfl__$internal_renderer_canvas_CanvasTextField.context.strokeStyle = "#" + tmp4; openfl__$internal_renderer_canvas_CanvasTextField.context.stroke(); } } if(this.__caretIndex > -1 && textEngine.selectable && this.__showCursor) { var scrollX1 = -this.get_scrollH(); var scrollY2 = 0.0; var _g12 = 0; var _g4 = this.get_scrollV() - 1; while(_g12 < _g4) { var i3 = _g12++; scrollY2 += textEngine.lineHeights.get(i3); } openfl__$internal_renderer_canvas_CanvasTextField.context.beginPath(); var tmp5 = StringTools.hex(this.get_defaultTextFormat().color & 16777215,6); openfl__$internal_renderer_canvas_CanvasTextField.context.strokeStyle = "#" + tmp5; openfl__$internal_renderer_canvas_CanvasTextField.context.moveTo(scrollX1 + 2.5,scrollY2 + 2.5); openfl__$internal_renderer_canvas_CanvasTextField.context.lineWidth = 1; openfl__$internal_renderer_canvas_CanvasTextField.context.lineTo(scrollX1 + 2.5,scrollY2 + openfl__$internal_text_TextEngine.getFormatHeight(this.get_defaultTextFormat()) - 1); openfl__$internal_renderer_canvas_CanvasTextField.context.stroke(); openfl__$internal_renderer_canvas_CanvasTextField.context.closePath(); } } graphics.__bitmap = openfl_display_BitmapData.fromCanvas(this.__graphics.__canvas); graphics.__visible = true; this.__dirty = false; graphics.__softwareDirty = false; graphics.set___dirty(false); } } openfl_display_InteractiveObject.prototype.__renderGLMask.call(this,renderer); } ,__replaceSelectedText: function(value,restrict) { if(restrict == null) { restrict = true; } if(value == null) { value = ""; } if(value == "" && this.__selectionIndex == this.__caretIndex) { return; } var startIndex = this.__caretIndex < this.__selectionIndex ? this.__caretIndex : this.__selectionIndex; var endIndex = this.__caretIndex > this.__selectionIndex ? this.__caretIndex : this.__selectionIndex; if(startIndex == endIndex && this.__textEngine.maxChars > 0 && lime_text__$UTF8String_UTF8String_$Impl_$.get_length(this.__text) == this.__textEngine.maxChars) { return; } if(startIndex > lime_text__$UTF8String_UTF8String_$Impl_$.get_length(this.__text)) { startIndex = lime_text__$UTF8String_UTF8String_$Impl_$.get_length(this.__text); } if(endIndex > lime_text__$UTF8String_UTF8String_$Impl_$.get_length(this.__text)) { endIndex = lime_text__$UTF8String_UTF8String_$Impl_$.get_length(this.__text); } if(endIndex < startIndex) { var cache = endIndex; endIndex = startIndex; startIndex = cache; } if(startIndex < 0) { startIndex = 0; } this.__replaceText(startIndex,endIndex,value,restrict); var i = startIndex + lime_text__$UTF8String_UTF8String_$Impl_$.get_length(js_Boot.__cast(value , String)); if(i > lime_text__$UTF8String_UTF8String_$Impl_$.get_length(this.__text)) { i = lime_text__$UTF8String_UTF8String_$Impl_$.get_length(this.__text); } this.setSelection(i,i); this.__updateScrollH(); } ,__replaceText: function(beginIndex,endIndex,newText,restrict) { if(endIndex < beginIndex || beginIndex < 0 || endIndex > lime_text__$UTF8String_UTF8String_$Impl_$.get_length(this.__text) || newText == null) { return; } if(restrict) { newText = this.__textEngine.restrictText(newText); if(this.__textEngine.maxChars > 0) { var removeLength = endIndex - beginIndex; var maxLength = this.__textEngine.maxChars - lime_text__$UTF8String_UTF8String_$Impl_$.get_length(this.__text) + removeLength; if(maxLength <= 0) { newText = ""; } else if(maxLength < newText.length) { newText = HxOverrides.substr(newText,0,maxLength); } } } this.__updateText(lime_text__$UTF8String_UTF8String_$Impl_$.substring(this.__text,0,beginIndex) + newText + lime_text__$UTF8String_UTF8String_$Impl_$.substring(this.__text,endIndex)); if(endIndex > lime_text__$UTF8String_UTF8String_$Impl_$.get_length(this.__text)) { endIndex = lime_text__$UTF8String_UTF8String_$Impl_$.get_length(this.__text); } var offset = newText.length - (endIndex - beginIndex); var i = 0; var range; while(i < this.__textEngine.textFormatRanges.get_length()) { range = this.__textEngine.textFormatRanges.get(i); if(range.start <= beginIndex && range.end >= endIndex) { range.end += offset; ++i; } else if(range.start >= beginIndex && range.end <= endIndex) { if(i > 0) { this.__textEngine.textFormatRanges.splice(i,1); } else { range.start = 0; range.end = beginIndex + newText.length; ++i; } offset -= range.end - range.start; } else if(range.start > beginIndex && range.start <= endIndex) { range.start += offset; ++i; } else { ++i; } } this.__updateScrollH(); this.__dirty = true; this.__layoutDirty = true; if(!this.__renderDirty) { this.__renderDirty = true; this.__setParentRenderDirty(); } } ,__shouldCacheHardware: function(value) { if(value == true) { return true; } else { return false; } } ,__startCursorTimer: function() { this.__cursorTimer = haxe_Timer.delay($bind(this,this.__startCursorTimer),600); this.__showCursor = !this.__showCursor; this.__dirty = true; if(!this.__renderDirty) { this.__renderDirty = true; this.__setParentRenderDirty(); } } ,__startTextInput: function() { if(this.__caretIndex < 0) { this.__caretIndex = lime_text__$UTF8String_UTF8String_$Impl_$.get_length(this.__text); this.__selectionIndex = this.__caretIndex; } var enableInput = openfl_display_DisplayObject.__supportDOM ? this.__renderedOnCanvasWhileOnDOM : true; if(enableInput) { this.__enableInput(); } } ,__stopCursorTimer: function() { if(this.__cursorTimer != null) { this.__cursorTimer.stop(); this.__cursorTimer = null; } if(this.__showCursor) { this.__showCursor = false; this.__dirty = true; if(!this.__renderDirty) { this.__renderDirty = true; this.__setParentRenderDirty(); } } } ,__stopTextInput: function() { var disableInput = openfl_display_DisplayObject.__supportDOM ? this.__renderedOnCanvasWhileOnDOM : true; if(disableInput) { this.__disableInput(); } } ,__updateCacheBitmap: function(renderer,force) { if(this.__filters == null && renderer.__type == "opengl" && this.__cacheBitmap == null && !this.__domRender) { return false; } if(openfl_display_InteractiveObject.prototype.__updateCacheBitmap.call(this,renderer,force || this.__dirty)) { if(this.__cacheBitmap != null) { this.__cacheBitmap.__renderTransform.tx -= this.__offsetX; this.__cacheBitmap.__renderTransform.ty -= this.__offsetY; } return true; } return false; } ,__updateLayout: function() { if(this.__layoutDirty) { var cacheWidth = this.__textEngine.width; var cacheHeight = this.__textEngine.height; this.__textEngine.update(); if(this.__textEngine.autoSize != 2) { if(this.__textEngine.width != cacheWidth) { var _g = this.__textEngine.autoSize; switch(_g) { case 0: var _g1 = this; _g1.set_x(_g1.get_x() + (cacheWidth - this.__textEngine.width) / 2); break; case 3: var _g2 = this; _g2.set_x(_g2.get_x() + (cacheWidth - this.__textEngine.width)); break; default: } } this.__textEngine.getBounds(); } this.__layoutDirty = false; } } ,__updateScrollH: function() { if(!this.get_multiline() && this.get_type() == 1) { this.__layoutDirty = true; this.__updateLayout(); var offsetX = this.__textEngine.textWidth - this.__textEngine.width + 4; if(offsetX > 0) { if(this.__caretIndex >= lime_text__$UTF8String_UTF8String_$Impl_$.get_length(this.get_text())) { this.set_scrollH(Math.ceil(offsetX)); } else { var caret = openfl_geom_Rectangle.__pool.get(); this.__getCharBoundaries(this.__caretIndex,caret); if(caret.x < this.get_scrollH()) { this.set_scrollH(Math.floor(caret.x - 2)); } else if(caret.x > this.get_scrollH() + this.__textEngine.width) { this.set_scrollH(Math.ceil(caret.x - this.__textEngine.width - 2)); } openfl_geom_Rectangle.__pool.release(caret); } } else { this.set_scrollH(0); } } } ,__updateText: function(value) { if(openfl_display_DisplayObject.__supportDOM && this.__renderedOnCanvasWhileOnDOM) { this.__forceCachedBitmapUpdate = this.__text != value; } this.__textEngine.set_text(value); this.__text = this.__textEngine.text; if(lime_text__$UTF8String_UTF8String_$Impl_$.get_length(this.__text) < this.__caretIndex) { this.__selectionIndex = this.__caretIndex = lime_text__$UTF8String_UTF8String_$Impl_$.get_length(this.__text); } if(!this.__displayAsPassword || openfl_display_DisplayObject.__supportDOM && !this.__renderedOnCanvasWhileOnDOM) { this.__textEngine.set_text(this.__text); } else { var length = lime_text__$UTF8String_UTF8String_$Impl_$.get_length(this.get_text()); var mask = ""; var _g1 = 0; var _g = length; while(_g1 < _g) { var i = _g1++; mask += "*"; } this.__textEngine.set_text(mask); } } ,__updateTransforms: function(overrideTransform) { openfl_display_InteractiveObject.prototype.__updateTransforms.call(this,overrideTransform); var _this = this.__renderTransform; var px = this.__offsetX; var py = this.__offsetY; _this.tx = px * _this.a + py * _this.c + _this.tx; _this.ty = px * _this.b + py * _this.d + _this.ty; } ,get_antiAliasType: function() { return this.__textEngine.antiAliasType; } ,set_antiAliasType: function(value) { var tmp = value != this.__textEngine.antiAliasType; return this.__textEngine.antiAliasType = value; } ,get_autoSize: function() { return this.__textEngine.autoSize; } ,set_autoSize: function(value) { if(value != this.__textEngine.autoSize) { this.__dirty = true; this.__layoutDirty = true; if(!this.__renderDirty) { this.__renderDirty = true; this.__setParentRenderDirty(); } } return this.__textEngine.autoSize = value; } ,get_background: function() { return this.__textEngine.background; } ,set_background: function(value) { if(value != this.__textEngine.background) { this.__dirty = true; if(!this.__renderDirty) { this.__renderDirty = true; this.__setParentRenderDirty(); } } return this.__textEngine.background = value; } ,get_backgroundColor: function() { return this.__textEngine.backgroundColor; } ,set_backgroundColor: function(value) { if(value != this.__textEngine.backgroundColor) { this.__dirty = true; if(!this.__renderDirty) { this.__renderDirty = true; this.__setParentRenderDirty(); } } return this.__textEngine.backgroundColor = value; } ,get_border: function() { return this.__textEngine.border; } ,set_border: function(value) { if(value != this.__textEngine.border) { this.__dirty = true; if(!this.__renderDirty) { this.__renderDirty = true; this.__setParentRenderDirty(); } } return this.__textEngine.border = value; } ,get_borderColor: function() { return this.__textEngine.borderColor; } ,set_borderColor: function(value) { if(value != this.__textEngine.borderColor) { this.__dirty = true; if(!this.__renderDirty) { this.__renderDirty = true; this.__setParentRenderDirty(); } } return this.__textEngine.borderColor = value; } ,get_bottomScrollV: function() { this.__updateLayout(); return this.__textEngine.bottomScrollV; } ,get_caretIndex: function() { return this.__caretIndex; } ,get_defaultTextFormat: function() { return this.__textFormat.clone(); } ,set_defaultTextFormat: function(value) { this.__textFormat.__merge(value); this.__layoutDirty = true; this.__dirty = true; if(!this.__renderDirty) { this.__renderDirty = true; this.__setParentRenderDirty(); } return value; } ,get_displayAsPassword: function() { return this.__displayAsPassword; } ,set_displayAsPassword: function(value) { if(value != this.__displayAsPassword) { this.__dirty = true; this.__layoutDirty = true; if(!this.__renderDirty) { this.__renderDirty = true; this.__setParentRenderDirty(); } this.__displayAsPassword = value; this.__updateText(this.__text); } return value; } ,get_embedFonts: function() { return this.__textEngine.embedFonts; } ,set_embedFonts: function(value) { return this.__textEngine.embedFonts = value; } ,get_gridFitType: function() { return this.__textEngine.gridFitType; } ,set_gridFitType: function(value) { return this.__textEngine.gridFitType = value; } ,get_height: function() { this.__updateLayout(); return this.__textEngine.height * Math.abs(this.get_scaleY()); } ,set_height: function(value) { if(value != this.__textEngine.height) { this.__setTransformDirty(); this.__dirty = true; this.__layoutDirty = true; if(!this.__renderDirty) { this.__renderDirty = true; this.__setParentRenderDirty(); } this.__textEngine.height = value; } return this.__textEngine.height * Math.abs(this.get_scaleY()); } ,get_htmlText: function() { if(this.__isHTML) { return this.__rawHtmlText; } else { return this.__text; } } ,set_htmlText: function(value) { if(!this.__isHTML || this.__text != value) { this.__dirty = true; this.__layoutDirty = true; if(!this.__renderDirty) { this.__renderDirty = true; this.__setParentRenderDirty(); } } this.__isHTML = true; this.__rawHtmlText = value; value = openfl__$internal_formats_html_HTMLParser.parse(value,this.__textFormat,this.__textEngine.textFormatRanges); if(openfl_display_DisplayObject.__supportDOM) { if(this.__textEngine.textFormatRanges.get_length() > 1) { this.__textEngine.textFormatRanges.splice(1,this.__textEngine.textFormatRanges.get_length() - 1); } var range = this.__textEngine.textFormatRanges.get(0); range.format = this.__textFormat; range.start = 0; if(this.__renderedOnCanvasWhileOnDOM) { range.end = value.length; this.__updateText(value); } else { range.end = this.__rawHtmlText.length; this.__updateText(this.__rawHtmlText); } } else { this.__updateText(value); } return value; } ,get_length: function() { if(this.__text != null) { return lime_text__$UTF8String_UTF8String_$Impl_$.get_length(this.__text); } return 0; } ,get_maxChars: function() { return this.__textEngine.maxChars; } ,set_maxChars: function(value) { if(value != this.__textEngine.maxChars) { this.__textEngine.maxChars = value; this.__dirty = true; this.__layoutDirty = true; if(!this.__renderDirty) { this.__renderDirty = true; this.__setParentRenderDirty(); } } return value; } ,get_maxScrollH: function() { this.__updateLayout(); return this.__textEngine.maxScrollH; } ,get_maxScrollV: function() { this.__updateLayout(); return this.__textEngine.maxScrollV; } ,get_mouseWheelEnabled: function() { return this.__mouseWheelEnabled; } ,set_mouseWheelEnabled: function(value) { return this.__mouseWheelEnabled = value; } ,get_multiline: function() { return this.__textEngine.multiline; } ,set_multiline: function(value) { if(value != this.__textEngine.multiline) { this.__dirty = true; this.__layoutDirty = true; this.__updateText(this.__text); this.__updateScrollH(); if(!this.__renderDirty) { this.__renderDirty = true; this.__setParentRenderDirty(); } } return this.__textEngine.multiline = value; } ,get_numLines: function() { this.__updateLayout(); return this.__textEngine.numLines; } ,get_restrict: function() { return this.__textEngine.restrict; } ,set_restrict: function(value) { if(this.__textEngine.restrict != value) { this.__textEngine.set_restrict(value); this.__updateText(this.__text); } return value; } ,get_scrollH: function() { return this.__textEngine.scrollH; } ,set_scrollH: function(value) { this.__updateLayout(); if(value > this.__textEngine.maxScrollH) { value = this.__textEngine.maxScrollH; } if(value < 0) { value = 0; } if(value != this.__textEngine.scrollH) { this.__dirty = true; if(!this.__renderDirty) { this.__renderDirty = true; this.__setParentRenderDirty(); } this.dispatchEvent(new openfl_events_Event("scroll")); } return this.__textEngine.scrollH = value; } ,get_scrollV: function() { return this.__textEngine.scrollV; } ,set_scrollV: function(value) { this.__updateLayout(); if(value > this.__textEngine.maxScrollV) { value = this.__textEngine.maxScrollV; } if(value < 1) { value = 1; } if(value != this.__textEngine.scrollV) { this.__dirty = true; if(!this.__renderDirty) { this.__renderDirty = true; this.__setParentRenderDirty(); } this.dispatchEvent(new openfl_events_Event("scroll")); } return this.__textEngine.scrollV = value; } ,get_selectable: function() { return this.__textEngine.selectable; } ,set_selectable: function(value) { if(value != this.__textEngine.selectable && this.get_type() == 1) { if(this.stage != null && this.stage.get_focus() == this) { this.__startTextInput(); } else if(!value) { this.__stopTextInput(); } } return this.__textEngine.selectable = value; } ,get_selectionBeginIndex: function() { return Math.min(this.__caretIndex,this.__selectionIndex) | 0; } ,get_selectionEndIndex: function() { return Math.max(this.__caretIndex,this.__selectionIndex) | 0; } ,get_sharpness: function() { return this.__textEngine.sharpness; } ,set_sharpness: function(value) { if(value != this.__textEngine.sharpness) { this.__dirty = true; if(!this.__renderDirty) { this.__renderDirty = true; this.__setParentRenderDirty(); } } return this.__textEngine.sharpness = value; } ,get_tabEnabled: function() { if(this.__tabEnabled == null) { return this.__textEngine.type == 1; } else { return this.__tabEnabled; } } ,get_text: function() { return this.__text; } ,set_text: function(value) { if(this.__isHTML || this.__text != value) { this.__dirty = true; this.__layoutDirty = true; if(!this.__renderDirty) { this.__renderDirty = true; this.__setParentRenderDirty(); } } else { return value; } if(this.__textEngine.textFormatRanges.get_length() > 1) { this.__textEngine.textFormatRanges.splice(1,this.__textEngine.textFormatRanges.get_length() - 1); } var utfValue = value; var range = this.__textEngine.textFormatRanges.get(0); range.format = this.__textFormat; range.start = 0; range.end = lime_text__$UTF8String_UTF8String_$Impl_$.get_length(utfValue); this.__isHTML = false; this.__updateText(value); return value; } ,get_textColor: function() { return this.__textFormat.color; } ,set_textColor: function(value) { if(value != this.__textFormat.color) { this.__dirty = true; if(!this.__renderDirty) { this.__renderDirty = true; this.__setParentRenderDirty(); } } var _g = 0; var _g1 = this.__textEngine.textFormatRanges; while(_g < _g1.get_length()) { var range = _g1.get(_g); ++_g; range.format.color = value; } return this.__textFormat.color = value; } ,get_textWidth: function() { this.__updateLayout(); return this.__textEngine.textWidth; } ,get_textHeight: function() { this.__updateLayout(); return this.__textEngine.textHeight; } ,get_type: function() { return this.__textEngine.type; } ,set_type: function(value) { if(value != this.__textEngine.type) { if(value == 1) { this.addEventListener("addedToStage",$bind(this,this.this_onAddedToStage)); this.this_onFocusIn(null); this.__textEngine.__useIntAdvances = true; } else { this.removeEventListener("addedToStage",$bind(this,this.this_onAddedToStage)); this.__stopTextInput(); this.__textEngine.__useIntAdvances = null; } this.__dirty = true; this.__layoutDirty = true; if(!this.__renderDirty) { this.__renderDirty = true; this.__setParentRenderDirty(); } } return this.__textEngine.type = value; } ,get_width: function() { this.__updateLayout(); return this.__textEngine.width * Math.abs(this.__scaleX); } ,set_width: function(value) { if(value != this.__textEngine.width) { this.__setTransformDirty(); this.__dirty = true; this.__layoutDirty = true; if(!this.__renderDirty) { this.__renderDirty = true; this.__setParentRenderDirty(); } this.__textEngine.width = value; } return this.__textEngine.width * Math.abs(this.__scaleX); } ,get_wordWrap: function() { return this.__textEngine.wordWrap; } ,set_wordWrap: function(value) { if(value != this.__textEngine.wordWrap) { this.__dirty = true; this.__layoutDirty = true; if(!this.__renderDirty) { this.__renderDirty = true; this.__setParentRenderDirty(); } } return this.__textEngine.wordWrap = value; } ,get_x: function() { return this.__transform.tx + this.__offsetX; } ,set_x: function(value) { if(value != this.__transform.tx + this.__offsetX) { this.__setTransformDirty(); } return this.__transform.tx = value - this.__offsetX; } ,get_y: function() { return this.__transform.ty + this.__offsetY; } ,set_y: function(value) { if(value != this.__transform.ty + this.__offsetY) { this.__setTransformDirty(); } return this.__transform.ty = value - this.__offsetY; } ,stage_onMouseMove: function(event) { if(this.stage == null) { return; } if(this.__textEngine.selectable && this.__selectionIndex >= 0) { this.__updateLayout(); var position = this.__getPosition(this.get_mouseX() + this.get_scrollH(),this.get_mouseY()); if(position != this.__caretIndex) { this.__caretIndex = position; if(openfl_display_DisplayObject.__supportDOM) { if(this.__renderedOnCanvasWhileOnDOM) { this.__forceCachedBitmapUpdate = true; } } else { this.__dirty = true; if(!this.__renderDirty) { this.__renderDirty = true; this.__setParentRenderDirty(); } } } } } ,stage_onMouseUp: function(event) { if(this.stage == null) { return; } this.stage.removeEventListener("mouseMove",$bind(this,this.stage_onMouseMove)); this.stage.removeEventListener("mouseUp",$bind(this,this.stage_onMouseUp)); if(this.stage.get_focus() == this) { this.__getWorldTransform(); this.__updateLayout(); var _this = this.__worldTransform; var px = this.get_x(); var py = this.get_y(); var norm = _this.a * _this.d - _this.b * _this.c; var px1 = norm == 0 ? -_this.tx : 1.0 / norm * (_this.c * (_this.ty - py) + _this.d * (px - _this.tx)); var _this1 = this.__worldTransform; var px2 = this.get_x(); var py1 = this.get_y(); var norm1 = _this1.a * _this1.d - _this1.b * _this1.c; var py2 = norm1 == 0 ? -_this1.ty : 1.0 / norm1 * (_this1.a * (py1 - _this1.ty) + _this1.b * (_this1.tx - px2)); var upPos = this.__getPosition(this.get_mouseX() + this.get_scrollH(),this.get_mouseY()); var leftPos; var rightPos; leftPos = Math.min(this.__selectionIndex,upPos) | 0; rightPos = Math.max(this.__selectionIndex,upPos) | 0; this.__selectionIndex = leftPos; this.__caretIndex = rightPos; if(this.__inputEnabled) { this.this_onFocusIn(null); this.__stopCursorTimer(); this.__startCursorTimer(); if(openfl_display_DisplayObject.__supportDOM && this.__renderedOnCanvasWhileOnDOM) { this.__forceCachedBitmapUpdate = true; } } } } ,this_onAddedToStage: function(event) { this.this_onFocusIn(null); } ,this_onFocusIn: function(event) { if(this.get_type() == 1 && this.stage != null && this.stage.get_focus() == this) { this.__startTextInput(); } } ,this_onFocusOut: function(event) { this.__stopCursorTimer(); if(event.relatedObject == null || !js_Boot.__instanceof(event.relatedObject,openfl_text_TextField)) { this.__stopTextInput(); } else { if(this.stage != null) { this.stage.window.onTextInput.remove($bind(this,this.window_onTextInput)); this.stage.window.onKeyDown.remove($bind(this,this.window_onKeyDown)); } this.__inputEnabled = false; } if(this.__selectionIndex != this.__caretIndex) { this.__selectionIndex = this.__caretIndex; this.__dirty = true; if(!this.__renderDirty) { this.__renderDirty = true; this.__setParentRenderDirty(); } } } ,this_onKeyDown: function(event) { if(this.get_selectable() && this.get_type() != 1 && event.keyCode == 67 && (event.commandKey || event.ctrlKey)) { if(this.__caretIndex != this.__selectionIndex) { lime_system_Clipboard.set_text(lime_text__$UTF8String_UTF8String_$Impl_$.substring(this.__text,this.__caretIndex,this.__selectionIndex)); } } } ,this_onMouseDown: function(event) { if(!this.get_selectable() && this.get_type() != 1) { return; } this.__updateLayout(); this.__caretIndex = this.__getPosition(this.get_mouseX() + this.get_scrollH(),this.get_mouseY()); this.__selectionIndex = this.__caretIndex; if(!openfl_display_DisplayObject.__supportDOM) { this.__dirty = true; if(!this.__renderDirty) { this.__renderDirty = true; this.__setParentRenderDirty(); } } this.stage.addEventListener("mouseMove",$bind(this,this.stage_onMouseMove)); this.stage.addEventListener("mouseUp",$bind(this,this.stage_onMouseUp)); } ,this_onMouseWheel: function(event) { var _g = this; _g.set_scrollV(_g.get_scrollV() - event.delta); } ,window_onKeyDown: function(key,modifier) { switch(key) { case 8: if(this.__selectionIndex == this.__caretIndex && this.__caretIndex > 0) { this.__selectionIndex = this.__caretIndex - 1; } if(this.__selectionIndex != this.__caretIndex) { this.replaceSelectedText(""); this.__selectionIndex = this.__caretIndex; this.dispatchEvent(new openfl_events_Event("change",true)); } break; case 97: if(this.get_selectable()) { if(lime_ui__$KeyModifier_KeyModifier_$Impl_$.get_metaKey(modifier) || lime_ui__$KeyModifier_KeyModifier_$Impl_$.get_ctrlKey(modifier)) { this.__caretIndex = lime_text__$UTF8String_UTF8String_$Impl_$.get_length(this.__text); this.__selectionIndex = 0; } } break; case 99: if(lime_ui__$KeyModifier_KeyModifier_$Impl_$.get_metaKey(modifier) || lime_ui__$KeyModifier_KeyModifier_$Impl_$.get_ctrlKey(modifier)) { if(this.__caretIndex != this.__selectionIndex) { lime_system_Clipboard.set_text(lime_text__$UTF8String_UTF8String_$Impl_$.substring(this.__text,this.__caretIndex,this.__selectionIndex)); } } break; case 120: if(lime_ui__$KeyModifier_KeyModifier_$Impl_$.get_metaKey(modifier) || lime_ui__$KeyModifier_KeyModifier_$Impl_$.get_ctrlKey(modifier)) { if(this.__caretIndex != this.__selectionIndex) { lime_system_Clipboard.set_text(lime_text__$UTF8String_UTF8String_$Impl_$.substring(this.__text,this.__caretIndex,this.__selectionIndex)); this.replaceSelectedText(""); this.dispatchEvent(new openfl_events_Event("change",true)); } } break; case 127: if(this.__selectionIndex == this.__caretIndex && this.__caretIndex < lime_text__$UTF8String_UTF8String_$Impl_$.get_length(this.__text)) { this.__selectionIndex = this.__caretIndex + 1; } if(this.__selectionIndex != this.__caretIndex) { this.replaceSelectedText(""); this.__selectionIndex = this.__caretIndex; this.dispatchEvent(new openfl_events_Event("change",true)); } break; case 1073741898: if(this.get_selectable()) { this.__caretBeginningOfLine(); this.__stopCursorTimer(); this.__startCursorTimer(); } break; case 1073741901: if(this.get_selectable()) { this.__caretEndOfLine(); this.__stopCursorTimer(); this.__startCursorTimer(); } break; case 1073741903: if(this.get_selectable()) { if(lime_ui__$KeyModifier_KeyModifier_$Impl_$.get_metaKey(modifier)) { this.__caretEndOfLine(); if(!lime_ui__$KeyModifier_KeyModifier_$Impl_$.get_shiftKey(modifier)) { this.__selectionIndex = this.__caretIndex; } } else if(lime_ui__$KeyModifier_KeyModifier_$Impl_$.get_shiftKey(modifier)) { this.__caretNextCharacter(); } else { if(this.__selectionIndex == this.__caretIndex) { this.__caretNextCharacter(); } else { this.__caretIndex = Math.max(this.__caretIndex,this.__selectionIndex) | 0; } this.__selectionIndex = this.__caretIndex; } this.__updateScrollH(); this.__stopCursorTimer(); this.__startCursorTimer(); } break; case 1073741904: if(this.get_selectable()) { if(lime_ui__$KeyModifier_KeyModifier_$Impl_$.get_metaKey(modifier)) { this.__caretBeginningOfLine(); if(!lime_ui__$KeyModifier_KeyModifier_$Impl_$.get_shiftKey(modifier)) { this.__selectionIndex = this.__caretIndex; } } else if(lime_ui__$KeyModifier_KeyModifier_$Impl_$.get_shiftKey(modifier)) { this.__caretPreviousCharacter(); } else { if(this.__selectionIndex == this.__caretIndex) { this.__caretPreviousCharacter(); } else { this.__caretIndex = Math.min(this.__caretIndex,this.__selectionIndex) | 0; } this.__selectionIndex = this.__caretIndex; } this.__updateScrollH(); this.__stopCursorTimer(); this.__startCursorTimer(); } break; case 1073741905: if(this.get_selectable()) { if(!this.__textEngine.multiline) { return; } if(lime_ui__$KeyModifier_KeyModifier_$Impl_$.get_shiftKey(modifier)) { this.__caretNextLine(); } else { if(this.__selectionIndex == this.__caretIndex) { this.__caretNextLine(); } else { var lineIndex = this.getLineIndexOfChar(Math.max(this.__caretIndex,this.__selectionIndex) | 0); this.__caretNextLine(lineIndex,Math.min(this.__caretIndex,this.__selectionIndex) | 0); } this.__selectionIndex = this.__caretIndex; } this.__stopCursorTimer(); this.__startCursorTimer(); } break; case 1073741906: if(this.get_selectable()) { if(!this.__textEngine.multiline) { return; } if(lime_ui__$KeyModifier_KeyModifier_$Impl_$.get_shiftKey(modifier)) { this.__caretPreviousLine(); } else { if(this.__selectionIndex == this.__caretIndex) { this.__caretPreviousLine(); } else { var lineIndex1 = this.getLineIndexOfChar(Math.min(this.__caretIndex,this.__selectionIndex) | 0); this.__caretPreviousLine(lineIndex1,Math.min(this.__caretIndex,this.__selectionIndex) | 0); } this.__selectionIndex = this.__caretIndex; } this.__stopCursorTimer(); this.__startCursorTimer(); } break; case 13:case 1073741912: if(this.__textEngine.multiline) { var te = new openfl_events_TextEvent("textInput",true,true,"\n"); this.dispatchEvent(te); if(!te.isDefaultPrevented()) { this.__replaceSelectedText("\n",true); this.dispatchEvent(new openfl_events_Event("change",true)); } } break; default: } } ,window_onTextInput: function(value) { this.__replaceSelectedText(value,true); this.dispatchEvent(new openfl_events_Event("change",true)); } ,__class__: openfl_text_TextField ,__properties__: $extend(openfl_display_InteractiveObject.prototype.__properties__,{set_wordWrap:"set_wordWrap",get_wordWrap:"get_wordWrap",set_type:"set_type",get_type:"get_type",get_textWidth:"get_textWidth",get_textHeight:"get_textHeight",set_textColor:"set_textColor",get_textColor:"get_textColor",set_text:"set_text",get_text:"get_text",set_sharpness:"set_sharpness",get_sharpness:"get_sharpness",get_selectionEndIndex:"get_selectionEndIndex",get_selectionBeginIndex:"get_selectionBeginIndex",set_selectable:"set_selectable",get_selectable:"get_selectable",set_scrollV:"set_scrollV",get_scrollV:"get_scrollV",set_scrollH:"set_scrollH",get_scrollH:"get_scrollH",set_restrict:"set_restrict",get_restrict:"get_restrict",get_numLines:"get_numLines",set_multiline:"set_multiline",get_multiline:"get_multiline",set_mouseWheelEnabled:"set_mouseWheelEnabled",get_mouseWheelEnabled:"get_mouseWheelEnabled",get_maxScrollV:"get_maxScrollV",get_maxScrollH:"get_maxScrollH",set_maxChars:"set_maxChars",get_maxChars:"get_maxChars",get_length:"get_length",set_htmlText:"set_htmlText",get_htmlText:"get_htmlText",set_gridFitType:"set_gridFitType",get_gridFitType:"get_gridFitType",set_embedFonts:"set_embedFonts",get_embedFonts:"get_embedFonts",set_displayAsPassword:"set_displayAsPassword",get_displayAsPassword:"get_displayAsPassword",set_defaultTextFormat:"set_defaultTextFormat",get_defaultTextFormat:"get_defaultTextFormat",get_caretIndex:"get_caretIndex",get_bottomScrollV:"get_bottomScrollV",set_borderColor:"set_borderColor",get_borderColor:"get_borderColor",set_border:"set_border",get_border:"get_border",set_backgroundColor:"set_backgroundColor",get_backgroundColor:"get_backgroundColor",set_background:"set_background",get_background:"get_background",set_autoSize:"set_autoSize",get_autoSize:"get_autoSize",set_antiAliasType:"set_antiAliasType",get_antiAliasType:"get_antiAliasType"}) }); var openfl_text__$TextFieldAutoSize_TextFieldAutoSize_$Impl_$ = {}; $hxClasses["openfl.text._TextFieldAutoSize.TextFieldAutoSize_Impl_"] = openfl_text__$TextFieldAutoSize_TextFieldAutoSize_$Impl_$; openfl_text__$TextFieldAutoSize_TextFieldAutoSize_$Impl_$.__name__ = ["openfl","text","_TextFieldAutoSize","TextFieldAutoSize_Impl_"]; openfl_text__$TextFieldAutoSize_TextFieldAutoSize_$Impl_$.fromString = function(value) { switch(value) { case "center": return 0; case "left": return 1; case "none": return 2; case "right": return 3; default: return null; } }; openfl_text__$TextFieldAutoSize_TextFieldAutoSize_$Impl_$.toString = function(value) { switch(value) { case 0: return "center"; case 1: return "left"; case 2: return "none"; case 3: return "right"; default: return null; } }; var openfl_text__$TextFieldType_TextFieldType_$Impl_$ = {}; $hxClasses["openfl.text._TextFieldType.TextFieldType_Impl_"] = openfl_text__$TextFieldType_TextFieldType_$Impl_$; openfl_text__$TextFieldType_TextFieldType_$Impl_$.__name__ = ["openfl","text","_TextFieldType","TextFieldType_Impl_"]; openfl_text__$TextFieldType_TextFieldType_$Impl_$.fromString = function(value) { switch(value) { case "dynamic": return 0; case "input": return 1; default: return null; } }; openfl_text__$TextFieldType_TextFieldType_$Impl_$.toString = function(value) { switch(value) { case 0: return "dynamic"; case 1: return "input"; default: return null; } }; var openfl_text_TextFormat = function(font,size,color,bold,italic,underline,url,target,align,leftMargin,rightMargin,indent,leading) { this.font = font; this.size = size; this.color = color; this.bold = bold; this.italic = italic; this.underline = underline; this.url = url; this.target = target; this.align = align; this.leftMargin = leftMargin; this.rightMargin = rightMargin; this.indent = indent; this.leading = leading; }; $hxClasses["openfl.text.TextFormat"] = openfl_text_TextFormat; openfl_text_TextFormat.__name__ = ["openfl","text","TextFormat"]; openfl_text_TextFormat.prototype = { align: null ,blockIndent: null ,bold: null ,bullet: null ,color: null ,font: null ,indent: null ,italic: null ,kerning: null ,leading: null ,leftMargin: null ,letterSpacing: null ,rightMargin: null ,size: null ,tabStops: null ,target: null ,underline: null ,url: null ,__ascent: null ,__descent: null ,clone: function() { var newFormat = new openfl_text_TextFormat(this.font,this.size,this.color,this.bold,this.italic,this.underline,this.url,this.target); newFormat.align = this.align; newFormat.leftMargin = this.leftMargin; newFormat.rightMargin = this.rightMargin; newFormat.indent = this.indent; newFormat.leading = this.leading; newFormat.blockIndent = this.blockIndent; newFormat.bullet = this.bullet; newFormat.kerning = this.kerning; newFormat.letterSpacing = this.letterSpacing; newFormat.tabStops = this.tabStops; newFormat.__ascent = this.__ascent; newFormat.__descent = this.__descent; return newFormat; } ,__merge: function(format) { if(format.font != null) { this.font = format.font; } if(format.size != null) { this.size = format.size; } if(format.color != null) { this.color = format.color; } if(format.bold != null) { this.bold = format.bold; } if(format.italic != null) { this.italic = format.italic; } if(format.underline != null) { this.underline = format.underline; } if(format.url != null && format.url != "") { this.url = format.url; } if(format.url == "" && this.url == null) { this.url = ""; } if(format.target != null) { this.target = format.target; } if(format.align != null) { this.align = format.align; } if(format.leftMargin != null) { this.leftMargin = format.leftMargin; } if(format.rightMargin != null) { this.rightMargin = format.rightMargin; } if(format.indent != null) { this.indent = format.indent; } if(format.leading != null) { this.leading = format.leading; } if(format.blockIndent != null) { this.blockIndent = format.blockIndent; } if(format.bullet != null) { this.bullet = format.bullet; } if(format.kerning != null) { this.kerning = format.kerning; } if(format.letterSpacing != null) { this.letterSpacing = format.letterSpacing; } if(format.tabStops != null) { this.tabStops = format.tabStops; } if(format.__ascent != null) { this.__ascent = format.__ascent; } if(format.__descent != null) { this.__descent = format.__descent; } } ,__class__: openfl_text_TextFormat }; var openfl_text__$TextFormatAlign_TextFormatAlign_$Impl_$ = {}; $hxClasses["openfl.text._TextFormatAlign.TextFormatAlign_Impl_"] = openfl_text__$TextFormatAlign_TextFormatAlign_$Impl_$; openfl_text__$TextFormatAlign_TextFormatAlign_$Impl_$.__name__ = ["openfl","text","_TextFormatAlign","TextFormatAlign_Impl_"]; openfl_text__$TextFormatAlign_TextFormatAlign_$Impl_$.fromString = function(value) { switch(value) { case "center": return 0; case "end": return 1; case "justify": return 2; case "left": return 3; case "right": return 4; case "start": return 5; default: return null; } }; openfl_text__$TextFormatAlign_TextFormatAlign_$Impl_$.toString = function(value) { switch(value) { case 0: return "center"; case 1: return "end"; case 2: return "justify"; case 3: return "left"; case 4: return "right"; case 5: return "start"; default: return null; } }; var openfl_text_TextLineMetrics = function(x,width,height,ascent,descent,leading) { this.x = x; this.width = width; this.height = height; this.ascent = ascent; this.descent = descent; this.leading = leading; }; $hxClasses["openfl.text.TextLineMetrics"] = openfl_text_TextLineMetrics; openfl_text_TextLineMetrics.__name__ = ["openfl","text","TextLineMetrics"]; openfl_text_TextLineMetrics.prototype = { ascent: null ,descent: null ,height: null ,leading: null ,width: null ,x: null ,__class__: openfl_text_TextLineMetrics }; var openfl_ui_GameInputControl = function(device,id,minValue,maxValue,value) { if(value == null) { value = 0; } openfl_events_EventDispatcher.call(this); this.device = device; this.id = id; this.minValue = minValue; this.maxValue = maxValue; this.value = value; }; $hxClasses["openfl.ui.GameInputControl"] = openfl_ui_GameInputControl; openfl_ui_GameInputControl.__name__ = ["openfl","ui","GameInputControl"]; openfl_ui_GameInputControl.__super__ = openfl_events_EventDispatcher; openfl_ui_GameInputControl.prototype = $extend(openfl_events_EventDispatcher.prototype,{ device: null ,id: null ,maxValue: null ,minValue: null ,value: null ,__class__: openfl_ui_GameInputControl }); var openfl_ui_GameInputDevice = function(id,name) { this.__controls = []; this.__button = new haxe_ds_IntMap(); this.__axis = new haxe_ds_IntMap(); this.id = id; this.name = name; var control; var _g = 0; while(_g < 6) { var i = _g++; control = new openfl_ui_GameInputControl(this,"AXIS_" + i,-1,1); this.__axis.h[i] = control; this.__controls.push(control); } var _g1 = 0; while(_g1 < 15) { var i1 = _g1++; control = new openfl_ui_GameInputControl(this,"BUTTON_" + i1,0,1); this.__button.h[i1] = control; this.__controls.push(control); } }; $hxClasses["openfl.ui.GameInputDevice"] = openfl_ui_GameInputDevice; openfl_ui_GameInputDevice.__name__ = ["openfl","ui","GameInputDevice"]; openfl_ui_GameInputDevice.prototype = { enabled: null ,id: null ,name: null ,sampleInterval: null ,__axis: null ,__button: null ,__controls: null ,__gamepad: null ,getCachedSamples: function(data,append) { if(append == null) { append = false; } return 0; } ,getControlAt: function(i) { if(i >= 0 && i < this.__controls.length) { return this.__controls[i]; } return null; } ,startCachingSamples: function(numSamples,controls) { } ,stopCachingSamples: function() { } ,get_numControls: function() { return this.__controls.length; } ,__class__: openfl_ui_GameInputDevice ,__properties__: {get_numControls:"get_numControls"} }; var openfl_ui_Keyboard = function() { }; $hxClasses["openfl.ui.Keyboard"] = openfl_ui_Keyboard; openfl_ui_Keyboard.__name__ = ["openfl","ui","Keyboard"]; openfl_ui_Keyboard.capsLock = null; openfl_ui_Keyboard.numLock = null; openfl_ui_Keyboard.isAccessible = function() { return false; }; openfl_ui_Keyboard.__convertKeyCode = function(key) { switch(key) { case 8: return 8; case 9: return 9; case 13: return 13; case 27: return 27; case 32: return 32; case 33: return 49; case 34: return 222; case 35: return 51; case 36: return 52; case 37: return 53; case 38: return 55; case 39: return 222; case 40: return 57; case 41: return 48; case 42: return 56; case 44: return 188; case 45: return 189; case 46: return 190; case 47: return 191; case 48: return 48; case 49: return 49; case 50: return 50; case 51: return 51; case 52: return 52; case 53: return 53; case 54: return 54; case 55: return 55; case 56: return 56; case 57: return 57; case 58: return 186; case 59: return 186; case 60: return 60; case 61: return 187; case 62: return 190; case 63: return 191; case 64: return 50; case 91: return 219; case 92: return 220; case 93: return 221; case 94: return 54; case 95: return 189; case 96: return 192; case 97: return 65; case 98: return 66; case 99: return 67; case 100: return 68; case 101: return 69; case 102: return 70; case 103: return 71; case 104: return 72; case 105: return 73; case 106: return 74; case 107: return 75; case 108: return 76; case 109: return 77; case 110: return 78; case 111: return 79; case 112: return 80; case 113: return 81; case 114: return 82; case 115: return 83; case 116: return 84; case 117: return 85; case 118: return 86; case 119: return 87; case 120: return 88; case 121: return 89; case 122: return 90; case 127: return 46; case 1073741881: return 20; case 1073741882: return 112; case 1073741883: return 113; case 1073741884: return 114; case 1073741885: return 115; case 1073741886: return 116; case 1073741887: return 117; case 1073741888: return 118; case 1073741889: return 119; case 1073741890: return 120; case 1073741891: return 121; case 1073741892: return 122; case 1073741893: return 123; case 1073741894: return 301; case 1073741895: return 145; case 1073741896: return 19; case 1073741897: return 45; case 1073741898: return 36; case 1073741899: return 33; case 1073741901: return 35; case 1073741902: return 34; case 1073741903: return 39; case 1073741904: return 37; case 1073741905: return 40; case 1073741906: return 38; case 1073741907: return 144; case 1073741908: return 111; case 1073741909: return 106; case 1073741910: return 109; case 1073741911: return 107; case 1073741912: return 13; case 1073741913: return 97; case 1073741914: return 98; case 1073741915: return 99; case 1073741916: return 100; case 1073741917: return 101; case 1073741918: return 102; case 1073741919: return 103; case 1073741920: return 104; case 1073741921: return 105; case 1073741922: return 96; case 1073741923: return 110; case 1073741925: return 302; case 1073741928: return 124; case 1073741929: return 125; case 1073741930: return 126; case 1073741982: return 13; case 1073742044: return 110; case 1073742048: return 17; case 1073742049: return 16; case 1073742050: return 18; case 1073742051: return 15; case 1073742052: return 17; case 1073742053: return 16; case 1073742054: return 18; case 1073742055: return 15; default: return key; } }; openfl_ui_Keyboard.__getCharCode = function(key,shift) { if(shift == null) { shift = false; } if(!shift) { switch(key) { case 8: return 8; case 9: return 9; case 13: return 13; case 27: return 27; case 32: return 32; case 186: return 59; case 187: return 61; case 188: return 44; case 189: return 45; case 190: return 46; case 191: return 47; case 192: return 96; case 219: return 91; case 220: return 92; case 221: return 93; case 222: return 39; } if(key >= 48 && key <= 57) { return key - 48 + 48; } if(key >= 65 && key <= 90) { return key - 65 + 97; } } else { switch(key) { case 48: return 41; case 49: return 33; case 50: return 64; case 51: return 35; case 52: return 36; case 53: return 37; case 54: return 94; case 55: return 38; case 56: return 42; case 57: return 40; case 186: return 58; case 187: return 43; case 188: return 60; case 189: return 95; case 190: return 62; case 191: return 63; case 192: return 126; case 219: return 123; case 220: return 124; case 221: return 125; case 222: return 34; } if(key >= 65 && key <= 90) { return key - 65 + 65; } } if(key >= 96 && key <= 105) { return key - 96 + 48; } switch(key) { case 8: return 8; case 13: return 13; case 46: return 127; case 106: return 42; case 107: return 43; case 108: return 44; case 110: return 45; case 111: return 46; } return 0; }; openfl_ui_Keyboard.__getKeyLocation = function(key) { switch(key) { case 1073741908:case 1073741909:case 1073741910:case 1073741911:case 1073741912:case 1073741913:case 1073741914:case 1073741915:case 1073741916:case 1073741917:case 1073741918:case 1073741919:case 1073741920:case 1073741921:case 1073741922:case 1073741923:case 1073742044: return 3; case 1073742048:case 1073742049:case 1073742050:case 1073742051: return 1; case 1073742052:case 1073742053:case 1073742054:case 1073742055: return 2; default: return 0; } }; var openfl_ui_Mouse = function() { }; $hxClasses["openfl.ui.Mouse"] = openfl_ui_Mouse; openfl_ui_Mouse.__name__ = ["openfl","ui","Mouse"]; openfl_ui_Mouse.__properties__ = {set_cursor:"set_cursor",get_cursor:"get_cursor"}; openfl_ui_Mouse.__hidden = null; openfl_ui_Mouse.hide = function() { openfl_ui_Mouse.__hidden = true; var _g = 0; var _g1 = lime_app_Application.current.__windows; while(_g < _g1.length) { var $window = _g1[_g]; ++_g; $window.set_cursor(null); } }; openfl_ui_Mouse.show = function() { openfl_ui_Mouse.__hidden = false; var cacheCursor = openfl_ui_Mouse.__cursor; openfl_ui_Mouse.__cursor = null; openfl_ui_Mouse.set_cursor(cacheCursor); }; openfl_ui_Mouse.get_cursor = function() { return openfl_ui_Mouse.__cursor; }; openfl_ui_Mouse.set_cursor = function(value) { if(value == null) { value = "auto"; } var setCursor = null; switch(value) { case "arrow": setCursor = lime_ui_MouseCursor.ARROW; break; case "button": setCursor = lime_ui_MouseCursor.POINTER; break; case "crosshair": setCursor = lime_ui_MouseCursor.CROSSHAIR; break; case "custom": setCursor = lime_ui_MouseCursor.CUSTOM; break; case "hand": setCursor = lime_ui_MouseCursor.MOVE; break; case "ibeam": setCursor = lime_ui_MouseCursor.TEXT; break; case "resize_nesw": setCursor = lime_ui_MouseCursor.RESIZE_NESW; break; case "resize_ns": setCursor = lime_ui_MouseCursor.RESIZE_NS; break; case "resize_nwse": setCursor = lime_ui_MouseCursor.RESIZE_NWSE; break; case "resize_we": setCursor = lime_ui_MouseCursor.RESIZE_WE; break; case "wait": setCursor = lime_ui_MouseCursor.WAIT; break; case "waitarrow": setCursor = lime_ui_MouseCursor.WAIT_ARROW; break; default: } if(setCursor != null && !openfl_ui_Mouse.__hidden) { var _g = 0; var _g1 = lime_app_Application.current.__windows; while(_g < _g1.length) { var $window = _g1[_g]; ++_g; $window.set_cursor(setCursor); } } return openfl_ui_Mouse.__cursor = value; }; var openfl_ui__$MouseCursor_MouseCursor_$Impl_$ = {}; $hxClasses["openfl.ui._MouseCursor.MouseCursor_Impl_"] = openfl_ui__$MouseCursor_MouseCursor_$Impl_$; openfl_ui__$MouseCursor_MouseCursor_$Impl_$.__name__ = ["openfl","ui","_MouseCursor","MouseCursor_Impl_"]; openfl_ui__$MouseCursor_MouseCursor_$Impl_$.fromLimeCursor = function(cursor) { switch(cursor[1]) { case 0: return "arrow"; case 1: return "crosshair"; case 2: return "auto"; case 3: return "hand"; case 4: return "button"; case 5: return "resize_nesw"; case 6: return "resize_ns"; case 7: return "resize_nwse"; case 8: return "resize_we"; case 9: return "ibeam"; case 10: return "wait"; case 11: return "waitarrow"; case 12: return "custom"; } }; openfl_ui__$MouseCursor_MouseCursor_$Impl_$.toLimeCursor = function(cursor) { switch(cursor) { case "arrow": return lime_ui_MouseCursor.ARROW; case "auto": return lime_ui_MouseCursor.DEFAULT; case "button": return lime_ui_MouseCursor.POINTER; case "crosshair": return lime_ui_MouseCursor.CROSSHAIR; case "custom": return lime_ui_MouseCursor.CUSTOM; case "hand": return lime_ui_MouseCursor.MOVE; case "ibeam": return lime_ui_MouseCursor.TEXT; case "resize_nesw": return lime_ui_MouseCursor.RESIZE_NESW; case "resize_ns": return lime_ui_MouseCursor.RESIZE_NS; case "resize_nwse": return lime_ui_MouseCursor.RESIZE_NWSE; case "resize_we": return lime_ui_MouseCursor.RESIZE_WE; case "wait": return lime_ui_MouseCursor.WAIT; case "waitarrow": return lime_ui_MouseCursor.WAIT_ARROW; default: return lime_ui_MouseCursor.DEFAULT; } }; var openfl_ui_Multitouch = function() { }; $hxClasses["openfl.ui.Multitouch"] = openfl_ui_Multitouch; openfl_ui_Multitouch.__name__ = ["openfl","ui","Multitouch"]; openfl_ui_Multitouch.__properties__ = {get_supportsTouchEvents:"get_supportsTouchEvents"}; openfl_ui_Multitouch.inputMode = null; openfl_ui_Multitouch.maxTouchPoints = null; openfl_ui_Multitouch.supportedGestures = null; openfl_ui_Multitouch.supportsGestureEvents = null; openfl_ui_Multitouch.get_supportsTouchEvents = function() { if(('ontouchstart' in document.documentElement) || (window.DocumentTouch && document instanceof DocumentTouch)) { return true; } return false; }; var openfl_ui__$MultitouchInputMode_MultitouchInputMode_$Impl_$ = {}; $hxClasses["openfl.ui._MultitouchInputMode.MultitouchInputMode_Impl_"] = openfl_ui__$MultitouchInputMode_MultitouchInputMode_$Impl_$; openfl_ui__$MultitouchInputMode_MultitouchInputMode_$Impl_$.__name__ = ["openfl","ui","_MultitouchInputMode","MultitouchInputMode_Impl_"]; openfl_ui__$MultitouchInputMode_MultitouchInputMode_$Impl_$.fromString = function(value) { switch(value) { case "gesture": return 0; case "none": return 1; case "touchPoint": return 2; default: return null; } }; openfl_ui__$MultitouchInputMode_MultitouchInputMode_$Impl_$.toString = function(value) { switch(value) { case 0: return "gesture"; case 1: return "none"; case 2: return "touchPoint"; default: return null; } }; var openfl_utils_AGALMiniAssembler = function(debugging) { if(debugging == null) { debugging = false; } this.debugEnabled = false; this.debugEnabled = debugging; if(!openfl_utils_AGALMiniAssembler.initialized) { openfl_utils_AGALMiniAssembler.init(); } }; $hxClasses["openfl.utils.AGALMiniAssembler"] = openfl_utils_AGALMiniAssembler; openfl_utils_AGALMiniAssembler.__name__ = ["openfl","utils","AGALMiniAssembler"]; openfl_utils_AGALMiniAssembler.init = function() { openfl_utils_AGALMiniAssembler.initialized = true; var this1 = openfl_utils_AGALMiniAssembler.OPMAP; var v = new openfl_utils__$AGALMiniAssembler_OpCode("mov",2,0,0); var _this = this1; if(__map_reserved["mov"] != null) { _this.setReserved("mov",v); } else { _this.h["mov"] = v; } var this2 = openfl_utils_AGALMiniAssembler.OPMAP; var v1 = new openfl_utils__$AGALMiniAssembler_OpCode("add",3,1,0); var _this1 = this2; if(__map_reserved["add"] != null) { _this1.setReserved("add",v1); } else { _this1.h["add"] = v1; } var this3 = openfl_utils_AGALMiniAssembler.OPMAP; var v2 = new openfl_utils__$AGALMiniAssembler_OpCode("sub",3,2,0); var _this2 = this3; if(__map_reserved["sub"] != null) { _this2.setReserved("sub",v2); } else { _this2.h["sub"] = v2; } var this4 = openfl_utils_AGALMiniAssembler.OPMAP; var v3 = new openfl_utils__$AGALMiniAssembler_OpCode("mul",3,3,0); var _this3 = this4; if(__map_reserved["mul"] != null) { _this3.setReserved("mul",v3); } else { _this3.h["mul"] = v3; } var this5 = openfl_utils_AGALMiniAssembler.OPMAP; var v4 = new openfl_utils__$AGALMiniAssembler_OpCode("div",3,4,0); var _this4 = this5; if(__map_reserved["div"] != null) { _this4.setReserved("div",v4); } else { _this4.h["div"] = v4; } var this6 = openfl_utils_AGALMiniAssembler.OPMAP; var v5 = new openfl_utils__$AGALMiniAssembler_OpCode("rcp",2,5,0); var _this5 = this6; if(__map_reserved["rcp"] != null) { _this5.setReserved("rcp",v5); } else { _this5.h["rcp"] = v5; } var this7 = openfl_utils_AGALMiniAssembler.OPMAP; var v6 = new openfl_utils__$AGALMiniAssembler_OpCode("min",3,6,0); var _this6 = this7; if(__map_reserved["min"] != null) { _this6.setReserved("min",v6); } else { _this6.h["min"] = v6; } var this8 = openfl_utils_AGALMiniAssembler.OPMAP; var v7 = new openfl_utils__$AGALMiniAssembler_OpCode("max",3,7,0); var _this7 = this8; if(__map_reserved["max"] != null) { _this7.setReserved("max",v7); } else { _this7.h["max"] = v7; } var this9 = openfl_utils_AGALMiniAssembler.OPMAP; var v8 = new openfl_utils__$AGALMiniAssembler_OpCode("frc",2,8,0); var _this8 = this9; if(__map_reserved["frc"] != null) { _this8.setReserved("frc",v8); } else { _this8.h["frc"] = v8; } var this10 = openfl_utils_AGALMiniAssembler.OPMAP; var v9 = new openfl_utils__$AGALMiniAssembler_OpCode("sqt",2,9,0); var _this9 = this10; if(__map_reserved["sqt"] != null) { _this9.setReserved("sqt",v9); } else { _this9.h["sqt"] = v9; } var this11 = openfl_utils_AGALMiniAssembler.OPMAP; var v10 = new openfl_utils__$AGALMiniAssembler_OpCode("rsq",2,10,0); var _this10 = this11; if(__map_reserved["rsq"] != null) { _this10.setReserved("rsq",v10); } else { _this10.h["rsq"] = v10; } var this12 = openfl_utils_AGALMiniAssembler.OPMAP; var v11 = new openfl_utils__$AGALMiniAssembler_OpCode("pow",3,11,0); var _this11 = this12; if(__map_reserved["pow"] != null) { _this11.setReserved("pow",v11); } else { _this11.h["pow"] = v11; } var this13 = openfl_utils_AGALMiniAssembler.OPMAP; var v12 = new openfl_utils__$AGALMiniAssembler_OpCode("log",2,12,0); var _this12 = this13; if(__map_reserved["log"] != null) { _this12.setReserved("log",v12); } else { _this12.h["log"] = v12; } var this14 = openfl_utils_AGALMiniAssembler.OPMAP; var v13 = new openfl_utils__$AGALMiniAssembler_OpCode("exp",2,13,0); var _this13 = this14; if(__map_reserved["exp"] != null) { _this13.setReserved("exp",v13); } else { _this13.h["exp"] = v13; } var this15 = openfl_utils_AGALMiniAssembler.OPMAP; var v14 = new openfl_utils__$AGALMiniAssembler_OpCode("nrm",2,14,0); var _this14 = this15; if(__map_reserved["nrm"] != null) { _this14.setReserved("nrm",v14); } else { _this14.h["nrm"] = v14; } var this16 = openfl_utils_AGALMiniAssembler.OPMAP; var v15 = new openfl_utils__$AGALMiniAssembler_OpCode("sin",2,15,0); var _this15 = this16; if(__map_reserved["sin"] != null) { _this15.setReserved("sin",v15); } else { _this15.h["sin"] = v15; } var this17 = openfl_utils_AGALMiniAssembler.OPMAP; var v16 = new openfl_utils__$AGALMiniAssembler_OpCode("cos",2,16,0); var _this16 = this17; if(__map_reserved["cos"] != null) { _this16.setReserved("cos",v16); } else { _this16.h["cos"] = v16; } var this18 = openfl_utils_AGALMiniAssembler.OPMAP; var v17 = new openfl_utils__$AGALMiniAssembler_OpCode("crs",3,17,0); var _this17 = this18; if(__map_reserved["crs"] != null) { _this17.setReserved("crs",v17); } else { _this17.h["crs"] = v17; } var this19 = openfl_utils_AGALMiniAssembler.OPMAP; var v18 = new openfl_utils__$AGALMiniAssembler_OpCode("dp3",3,18,0); var _this18 = this19; if(__map_reserved["dp3"] != null) { _this18.setReserved("dp3",v18); } else { _this18.h["dp3"] = v18; } var this20 = openfl_utils_AGALMiniAssembler.OPMAP; var v19 = new openfl_utils__$AGALMiniAssembler_OpCode("dp4",3,19,0); var _this19 = this20; if(__map_reserved["dp4"] != null) { _this19.setReserved("dp4",v19); } else { _this19.h["dp4"] = v19; } var this21 = openfl_utils_AGALMiniAssembler.OPMAP; var v20 = new openfl_utils__$AGALMiniAssembler_OpCode("abs",2,20,0); var _this20 = this21; if(__map_reserved["abs"] != null) { _this20.setReserved("abs",v20); } else { _this20.h["abs"] = v20; } var this22 = openfl_utils_AGALMiniAssembler.OPMAP; var v21 = new openfl_utils__$AGALMiniAssembler_OpCode("neg",2,21,0); var _this21 = this22; if(__map_reserved["neg"] != null) { _this21.setReserved("neg",v21); } else { _this21.h["neg"] = v21; } var this23 = openfl_utils_AGALMiniAssembler.OPMAP; var v22 = new openfl_utils__$AGALMiniAssembler_OpCode("sat",2,22,0); var _this22 = this23; if(__map_reserved["sat"] != null) { _this22.setReserved("sat",v22); } else { _this22.h["sat"] = v22; } var this24 = openfl_utils_AGALMiniAssembler.OPMAP; var v23 = new openfl_utils__$AGALMiniAssembler_OpCode("m33",3,23,16); var _this23 = this24; if(__map_reserved["m33"] != null) { _this23.setReserved("m33",v23); } else { _this23.h["m33"] = v23; } var this25 = openfl_utils_AGALMiniAssembler.OPMAP; var v24 = new openfl_utils__$AGALMiniAssembler_OpCode("m44",3,24,16); var _this24 = this25; if(__map_reserved["m44"] != null) { _this24.setReserved("m44",v24); } else { _this24.h["m44"] = v24; } var this26 = openfl_utils_AGALMiniAssembler.OPMAP; var v25 = new openfl_utils__$AGALMiniAssembler_OpCode("m34",3,25,16); var _this25 = this26; if(__map_reserved["m34"] != null) { _this25.setReserved("m34",v25); } else { _this25.h["m34"] = v25; } var this27 = openfl_utils_AGALMiniAssembler.OPMAP; var v26 = new openfl_utils__$AGALMiniAssembler_OpCode("ddx",2,26,288); var _this26 = this27; if(__map_reserved["ddx"] != null) { _this26.setReserved("ddx",v26); } else { _this26.h["ddx"] = v26; } var this28 = openfl_utils_AGALMiniAssembler.OPMAP; var v27 = new openfl_utils__$AGALMiniAssembler_OpCode("ddy",2,27,288); var _this27 = this28; if(__map_reserved["ddy"] != null) { _this27.setReserved("ddy",v27); } else { _this27.h["ddy"] = v27; } var this29 = openfl_utils_AGALMiniAssembler.OPMAP; var v28 = new openfl_utils__$AGALMiniAssembler_OpCode("ife",2,28,897); var _this28 = this29; if(__map_reserved["ife"] != null) { _this28.setReserved("ife",v28); } else { _this28.h["ife"] = v28; } var this30 = openfl_utils_AGALMiniAssembler.OPMAP; var v29 = new openfl_utils__$AGALMiniAssembler_OpCode("ine",2,29,897); var _this29 = this30; if(__map_reserved["ine"] != null) { _this29.setReserved("ine",v29); } else { _this29.h["ine"] = v29; } var this31 = openfl_utils_AGALMiniAssembler.OPMAP; var v30 = new openfl_utils__$AGALMiniAssembler_OpCode("ifg",2,30,897); var _this30 = this31; if(__map_reserved["ifg"] != null) { _this30.setReserved("ifg",v30); } else { _this30.h["ifg"] = v30; } var this32 = openfl_utils_AGALMiniAssembler.OPMAP; var v31 = new openfl_utils__$AGALMiniAssembler_OpCode("ifl",2,31,897); var _this31 = this32; if(__map_reserved["ifl"] != null) { _this31.setReserved("ifl",v31); } else { _this31.h["ifl"] = v31; } var this33 = openfl_utils_AGALMiniAssembler.OPMAP; var v32 = new openfl_utils__$AGALMiniAssembler_OpCode("els",0,32,1921); var _this32 = this33; if(__map_reserved["els"] != null) { _this32.setReserved("els",v32); } else { _this32.h["els"] = v32; } var this34 = openfl_utils_AGALMiniAssembler.OPMAP; var v33 = new openfl_utils__$AGALMiniAssembler_OpCode("eif",0,33,1409); var _this33 = this34; if(__map_reserved["eif"] != null) { _this33.setReserved("eif",v33); } else { _this33.h["eif"] = v33; } var this35 = openfl_utils_AGALMiniAssembler.OPMAP; var v34 = new openfl_utils__$AGALMiniAssembler_OpCode("kil",1,39,160); var _this34 = this35; if(__map_reserved["kil"] != null) { _this34.setReserved("kil",v34); } else { _this34.h["kil"] = v34; } var this36 = openfl_utils_AGALMiniAssembler.OPMAP; var v35 = new openfl_utils__$AGALMiniAssembler_OpCode("tex",3,40,40); var _this35 = this36; if(__map_reserved["tex"] != null) { _this35.setReserved("tex",v35); } else { _this35.h["tex"] = v35; } var this37 = openfl_utils_AGALMiniAssembler.OPMAP; var v36 = new openfl_utils__$AGALMiniAssembler_OpCode("sge",3,41,0); var _this36 = this37; if(__map_reserved["sge"] != null) { _this36.setReserved("sge",v36); } else { _this36.h["sge"] = v36; } var this38 = openfl_utils_AGALMiniAssembler.OPMAP; var v37 = new openfl_utils__$AGALMiniAssembler_OpCode("slt",3,42,0); var _this37 = this38; if(__map_reserved["slt"] != null) { _this37.setReserved("slt",v37); } else { _this37.h["slt"] = v37; } var this39 = openfl_utils_AGALMiniAssembler.OPMAP; var v38 = new openfl_utils__$AGALMiniAssembler_OpCode("sgn",2,43,0); var _this38 = this39; if(__map_reserved["sgn"] != null) { _this38.setReserved("sgn",v38); } else { _this38.h["sgn"] = v38; } var this40 = openfl_utils_AGALMiniAssembler.OPMAP; var v39 = new openfl_utils__$AGALMiniAssembler_OpCode("seq",3,44,0); var _this39 = this40; if(__map_reserved["seq"] != null) { _this39.setReserved("seq",v39); } else { _this39.h["seq"] = v39; } var this41 = openfl_utils_AGALMiniAssembler.OPMAP; var v40 = new openfl_utils__$AGALMiniAssembler_OpCode("sne",3,45,0); var _this40 = this41; if(__map_reserved["sne"] != null) { _this40.setReserved("sne",v40); } else { _this40.h["sne"] = v40; } var this42 = openfl_utils_AGALMiniAssembler.SAMPLEMAP; var v41 = new openfl_utils__$AGALMiniAssembler_Sampler("rgba",8,0); var _this41 = this42; if(__map_reserved["rgba"] != null) { _this41.setReserved("rgba",v41); } else { _this41.h["rgba"] = v41; } var this43 = openfl_utils_AGALMiniAssembler.SAMPLEMAP; var v42 = new openfl_utils__$AGALMiniAssembler_Sampler("compressed",8,1); var _this42 = this43; if(__map_reserved["compressed"] != null) { _this42.setReserved("compressed",v42); } else { _this42.h["compressed"] = v42; } var this44 = openfl_utils_AGALMiniAssembler.SAMPLEMAP; var v43 = new openfl_utils__$AGALMiniAssembler_Sampler("compressedalpha",8,2); var _this43 = this44; if(__map_reserved["compressedalpha"] != null) { _this43.setReserved("compressedalpha",v43); } else { _this43.h["compressedalpha"] = v43; } var this45 = openfl_utils_AGALMiniAssembler.SAMPLEMAP; var v44 = new openfl_utils__$AGALMiniAssembler_Sampler("dxt1",8,1); var _this44 = this45; if(__map_reserved["dxt1"] != null) { _this44.setReserved("dxt1",v44); } else { _this44.h["dxt1"] = v44; } var this46 = openfl_utils_AGALMiniAssembler.SAMPLEMAP; var v45 = new openfl_utils__$AGALMiniAssembler_Sampler("dxt5",8,2); var _this45 = this46; if(__map_reserved["dxt5"] != null) { _this45.setReserved("dxt5",v45); } else { _this45.h["dxt5"] = v45; } var this47 = openfl_utils_AGALMiniAssembler.SAMPLEMAP; var v46 = new openfl_utils__$AGALMiniAssembler_Sampler("video",8,3); var _this46 = this47; if(__map_reserved["video"] != null) { _this46.setReserved("video",v46); } else { _this46.h["video"] = v46; } var this48 = openfl_utils_AGALMiniAssembler.SAMPLEMAP; var v47 = new openfl_utils__$AGALMiniAssembler_Sampler("2d",12,0); var _this47 = this48; if(__map_reserved["2d"] != null) { _this47.setReserved("2d",v47); } else { _this47.h["2d"] = v47; } var this49 = openfl_utils_AGALMiniAssembler.SAMPLEMAP; var v48 = new openfl_utils__$AGALMiniAssembler_Sampler("3d",12,2); var _this48 = this49; if(__map_reserved["3d"] != null) { _this48.setReserved("3d",v48); } else { _this48.h["3d"] = v48; } var this50 = openfl_utils_AGALMiniAssembler.SAMPLEMAP; var v49 = new openfl_utils__$AGALMiniAssembler_Sampler("cube",12,1); var _this49 = this50; if(__map_reserved["cube"] != null) { _this49.setReserved("cube",v49); } else { _this49.h["cube"] = v49; } var this51 = openfl_utils_AGALMiniAssembler.SAMPLEMAP; var v50 = new openfl_utils__$AGALMiniAssembler_Sampler("mipnearest",24,1); var _this50 = this51; if(__map_reserved["mipnearest"] != null) { _this50.setReserved("mipnearest",v50); } else { _this50.h["mipnearest"] = v50; } var this52 = openfl_utils_AGALMiniAssembler.SAMPLEMAP; var v51 = new openfl_utils__$AGALMiniAssembler_Sampler("miplinear",24,2); var _this51 = this52; if(__map_reserved["miplinear"] != null) { _this51.setReserved("miplinear",v51); } else { _this51.h["miplinear"] = v51; } var this53 = openfl_utils_AGALMiniAssembler.SAMPLEMAP; var v52 = new openfl_utils__$AGALMiniAssembler_Sampler("mipnone",24,0); var _this52 = this53; if(__map_reserved["mipnone"] != null) { _this52.setReserved("mipnone",v52); } else { _this52.h["mipnone"] = v52; } var this54 = openfl_utils_AGALMiniAssembler.SAMPLEMAP; var v53 = new openfl_utils__$AGALMiniAssembler_Sampler("nomip",24,0); var _this53 = this54; if(__map_reserved["nomip"] != null) { _this53.setReserved("nomip",v53); } else { _this53.h["nomip"] = v53; } var this55 = openfl_utils_AGALMiniAssembler.SAMPLEMAP; var v54 = new openfl_utils__$AGALMiniAssembler_Sampler("nearest",28,0); var _this54 = this55; if(__map_reserved["nearest"] != null) { _this54.setReserved("nearest",v54); } else { _this54.h["nearest"] = v54; } var this56 = openfl_utils_AGALMiniAssembler.SAMPLEMAP; var v55 = new openfl_utils__$AGALMiniAssembler_Sampler("linear",28,1); var _this55 = this56; if(__map_reserved["linear"] != null) { _this55.setReserved("linear",v55); } else { _this55.h["linear"] = v55; } var this57 = openfl_utils_AGALMiniAssembler.SAMPLEMAP; var v56 = new openfl_utils__$AGALMiniAssembler_Sampler("anisotropic2x",28,2); var _this56 = this57; if(__map_reserved["anisotropic2x"] != null) { _this56.setReserved("anisotropic2x",v56); } else { _this56.h["anisotropic2x"] = v56; } var this58 = openfl_utils_AGALMiniAssembler.SAMPLEMAP; var v57 = new openfl_utils__$AGALMiniAssembler_Sampler("anisotropic4x",28,3); var _this57 = this58; if(__map_reserved["anisotropic4x"] != null) { _this57.setReserved("anisotropic4x",v57); } else { _this57.h["anisotropic4x"] = v57; } var this59 = openfl_utils_AGALMiniAssembler.SAMPLEMAP; var v58 = new openfl_utils__$AGALMiniAssembler_Sampler("anisotropic8x",28,4); var _this58 = this59; if(__map_reserved["anisotropic8x"] != null) { _this58.setReserved("anisotropic8x",v58); } else { _this58.h["anisotropic8x"] = v58; } var this60 = openfl_utils_AGALMiniAssembler.SAMPLEMAP; var v59 = new openfl_utils__$AGALMiniAssembler_Sampler("anisotropic16x",28,5); var _this59 = this60; if(__map_reserved["anisotropic16x"] != null) { _this59.setReserved("anisotropic16x",v59); } else { _this59.h["anisotropic16x"] = v59; } var this61 = openfl_utils_AGALMiniAssembler.SAMPLEMAP; var v60 = new openfl_utils__$AGALMiniAssembler_Sampler("centroid",16,1); var _this60 = this61; if(__map_reserved["centroid"] != null) { _this60.setReserved("centroid",v60); } else { _this60.h["centroid"] = v60; } var this62 = openfl_utils_AGALMiniAssembler.SAMPLEMAP; var v61 = new openfl_utils__$AGALMiniAssembler_Sampler("single",16,2); var _this61 = this62; if(__map_reserved["single"] != null) { _this61.setReserved("single",v61); } else { _this61.h["single"] = v61; } var this63 = openfl_utils_AGALMiniAssembler.SAMPLEMAP; var v62 = new openfl_utils__$AGALMiniAssembler_Sampler("ignoresampler",16,4); var _this62 = this63; if(__map_reserved["ignoresampler"] != null) { _this62.setReserved("ignoresampler",v62); } else { _this62.h["ignoresampler"] = v62; } var this64 = openfl_utils_AGALMiniAssembler.SAMPLEMAP; var v63 = new openfl_utils__$AGALMiniAssembler_Sampler("repeat",20,1); var _this63 = this64; if(__map_reserved["repeat"] != null) { _this63.setReserved("repeat",v63); } else { _this63.h["repeat"] = v63; } var this65 = openfl_utils_AGALMiniAssembler.SAMPLEMAP; var v64 = new openfl_utils__$AGALMiniAssembler_Sampler("wrap",20,1); var _this64 = this65; if(__map_reserved["wrap"] != null) { _this64.setReserved("wrap",v64); } else { _this64.h["wrap"] = v64; } var this66 = openfl_utils_AGALMiniAssembler.SAMPLEMAP; var v65 = new openfl_utils__$AGALMiniAssembler_Sampler("clamp",20,0); var _this65 = this66; if(__map_reserved["clamp"] != null) { _this65.setReserved("clamp",v65); } else { _this65.h["clamp"] = v65; } var this67 = openfl_utils_AGALMiniAssembler.SAMPLEMAP; var v66 = new openfl_utils__$AGALMiniAssembler_Sampler("clamp_u_repeat_v",20,2); var _this66 = this67; if(__map_reserved["clamp_u_repeat_v"] != null) { _this66.setReserved("clamp_u_repeat_v",v66); } else { _this66.h["clamp_u_repeat_v"] = v66; } var this68 = openfl_utils_AGALMiniAssembler.SAMPLEMAP; var v67 = new openfl_utils__$AGALMiniAssembler_Sampler("repeat_u_clamp_v",20,3); var _this67 = this68; if(__map_reserved["repeat_u_clamp_v"] != null) { _this67.setReserved("repeat_u_clamp_v",v67); } else { _this67.h["repeat_u_clamp_v"] = v67; } }; openfl_utils_AGALMiniAssembler.prototype = { agalcode: null ,error: null ,verbose: null ,debugEnabled: null ,assemble2: function(context3D,version,vertexSource,fragmentSource) { var agalVertex = this.assemble("vertex",vertexSource,version); var agalFragment = this.assemble("fragment",fragmentSource,version); var program = context3D.createProgram(); program.upload(agalVertex,agalFragment); return program; } ,assemble: function(mode,source,version,ignoreLimits) { if(ignoreLimits == null) { ignoreLimits = false; } if(version == null) { version = 1; } var start = openfl_Lib.getTimer(); var this1 = new openfl_utils_ByteArrayData(0); this.agalcode = this1; this.error = ""; var isFrag = false; if(mode == "fragment") { isFrag = true; } else if(mode != "vertex") { this.error = "ERROR: mode needs to be \"" + "fragment" + "\" or \"" + "vertex" + "\" but is \"" + mode + "\"."; } this.agalcode.__endian = 1; this.agalcode.writeByte(160); this.agalcode.writeUnsignedInt(version); this.agalcode.writeByte(161); this.agalcode.writeByte(isFrag ? 1 : 0); this.initregmap(version,ignoreLimits); var lines = StringTools.replace(source,"\r","\n").split("\n"); var nest = 0; var nops = 0; var lng = lines.length; var reg1 = new EReg("<.*>","g"); var reg2 = new EReg("([\\w\\.\\-\\+]+)","gi"); var reg3 = new EReg("^\\w{3}","ig"); var reg4 = new EReg("vc\\[([vofi][acostdip]?[d]?)(\\d*)?(\\.[xyzw](\\+\\d{1,3})?)?\\](\\.[xyzw]{1,4})?|([vofi][acostdip]?[d]?)(\\d*)?(\\.[xyzw]{1,4})?","gi"); var reg5 = new EReg("\\[.*\\]","ig"); var reg6 = new EReg("^\\b[A-Za-z]{1,3}","ig"); var reg7 = new EReg("\\d+",""); var reg8 = new EReg("(\\.[xyzw]{1,4})",""); var reg9 = new EReg("[A-Za-z]{1,3}","ig"); var reg10 = new EReg("(\\.[xyzw]{1,1})",""); var reg11 = new EReg("\\+\\d{1,3}","ig"); var i = 0; while(i < lng && this.error == "") { var line = StringTools.trim(lines[i]); var startcomment = line.indexOf("//"); if(startcomment != -1) { line = HxOverrides.substr(line,0,startcomment); } var optsi = reg1.match(line) ? reg1.matchedPos().pos : -1; var opts = null; if(optsi != -1) { opts = this.match(HxOverrides.substr(line,optsi,null),reg2); line = HxOverrides.substr(line,0,optsi); } var opCode = null; var opFound = null; if(reg3.match(line)) { opCode = reg3.matched(0); var _this = openfl_utils_AGALMiniAssembler.OPMAP; if(__map_reserved[opCode] != null) { opFound = _this.getReserved(opCode); } else { opFound = _this.h[opCode]; } } if(opFound == null) { if(line.length >= 3) { haxe_Log.trace("warning: bad line " + i + ": " + lines[i],{ fileName : "AGALMiniAssembler.hx", lineNumber : 284, className : "openfl.utils.AGALMiniAssembler", methodName : "assemble"}); } ++i; continue; } if(this.debugEnabled) { haxe_Log.trace(opFound,{ fileName : "AGALMiniAssembler.hx", lineNumber : 296, className : "openfl.utils.AGALMiniAssembler", methodName : "assemble"}); } if(opFound == null) { if(line.length >= 3) { haxe_Log.trace("warning: bad line " + i + ": " + lines[i],{ fileName : "AGALMiniAssembler.hx", lineNumber : 304, className : "openfl.utils.AGALMiniAssembler", methodName : "assemble"}); } ++i; continue; } line = HxOverrides.substr(line,line.indexOf(opFound.name) + opFound.name.length,null); if((opFound.flags & 256) != 0 && version < 2) { this.error = "error: opcode requires version 2."; break; } if((opFound.flags & 64) != 0 && isFrag) { this.error = "error: opcode is only allowed in vertex programs."; break; } if((opFound.flags & 32) != 0 && !isFrag) { this.error = "error: opcode is only allowed in fragment programs."; break; } if(this.verbose) { haxe_Log.trace("emit opcode=" + Std.string(opFound),{ fileName : "AGALMiniAssembler.hx", lineNumber : 338, className : "openfl.utils.AGALMiniAssembler", methodName : "assemble"}); } this.agalcode.writeUnsignedInt(opFound.emitCode); ++nops; if(nops > 4096) { this.error = "error: too many opcodes. maximum is " + 4096 + "."; break; } var regs = this.match(line,reg4); if(regs.length != opFound.numRegister) { this.error = "error: wrong number of operands. found " + regs.length + " but expected " + opFound.numRegister + "."; break; } var badreg = false; var pad = 160; var regLength = regs.length; var _g1 = 0; var _g = regLength; while(_g1 < _g) { var j = _g1++; var isRelative = false; var relreg = this.match(regs[j],reg5); if(relreg.length > 0) { regs[j] = StringTools.replace(regs[j],relreg[0],"0"); if(this.verbose) { haxe_Log.trace("IS REL",{ fileName : "AGALMiniAssembler.hx", lineNumber : 377, className : "openfl.utils.AGALMiniAssembler", methodName : "assemble"}); } isRelative = true; } var res = this.match(regs[j],reg6); if(res.length == 0) { this.error = "error: could not parse operand " + j + " (" + regs[j] + ")."; badreg = true; break; } var _this1 = openfl_utils_AGALMiniAssembler.REGMAP; var key = res[0]; var regFound = __map_reserved[key] != null ? _this1.getReserved(key) : _this1.h[key]; if(this.debugEnabled) { haxe_Log.trace(regFound,{ fileName : "AGALMiniAssembler.hx", lineNumber : 399, className : "openfl.utils.AGALMiniAssembler", methodName : "assemble"}); } if(regFound == null) { this.error = "error: could not find register name for operand " + j + " (" + regs[j] + ")."; badreg = true; break; } if(isFrag) { if((regFound.flags & 32) == 0) { this.error = "error: register operand " + j + " (" + regs[j] + ") only allowed in vertex programs."; badreg = true; break; } if(isRelative) { this.error = "error: register operand " + j + " (" + regs[j] + ") relative adressing not allowed in fragment programs."; badreg = true; break; } } else if((regFound.flags & 64) == 0) { this.error = "error: register operand " + j + " (" + regs[j] + ") only allowed in fragment programs."; badreg = true; break; } var pos = regs[j].indexOf(regFound.name) + regFound.name.length; regs[j] = HxOverrides.substr(regs[j],pos,null); var idxmatch = isRelative ? this.match(relreg[0],reg7) : this.match(regs[j],reg7); var regidx = 0; if(idxmatch.length > 0) { regidx = Std.parseInt(idxmatch[0]); } if(_$UInt_UInt_$Impl_$.gt(regidx,regFound.range)) { this.error = "error: register operand " + j + " (" + regs[j] + ") index exceeds limit of " + Std.string(_$UInt_UInt_$Impl_$.toFloat(regFound.range + 1)) + "."; badreg = true; break; } var regmask = 0; var maskmatch = this.match(regs[j],reg8); var isDest = j == 0 && (opFound.flags & 128) == 0; var isSampler = j == 2 && (opFound.flags & 8) != 0; var reltype = 0; var relsel = 0; var reloffset = 0; if(isDest && isRelative) { this.error = "error: relative can not be destination"; badreg = true; break; } if(maskmatch.length > 0) { regmask = 0; var cv = 0; var maskLength = maskmatch[0].length; var k = 1; while(k < maskLength) { cv = HxOverrides.cca(maskmatch[0],k) - 120; if(_$UInt_UInt_$Impl_$.gt(cv,2)) { cv = 3; } if(isDest) { regmask |= 1 << cv; } else { regmask = regmask | cv << (k - 1 << 1); } ++k; } if(!isDest) { while(k <= 4) { regmask = regmask | cv << (k - 1 << 1); ++k; } } } else if(isDest) { regmask = 15; } else { regmask = 228; } if(isRelative) { var relname = this.match(relreg[0],reg9); var _this2 = openfl_utils_AGALMiniAssembler.REGMAP; var key1 = relname[0]; var regFoundRel = __map_reserved[key1] != null ? _this2.getReserved(key1) : _this2.h[key1]; if(regFoundRel == null) { this.error = "error: bad index register"; badreg = true; break; } reltype = regFoundRel.emitCode; var selmatch = this.match(relreg[0],reg10); if(selmatch.length == 0) { this.error = "error: bad index register select"; badreg = true; break; } relsel = HxOverrides.cca(selmatch[0],1) - 120; if(_$UInt_UInt_$Impl_$.gt(relsel,2)) { relsel = 3; } var relofs = this.match(relreg[0],reg11); if(relofs.length > 0) { reloffset = Std.parseInt(relofs[0]); } if(reloffset < 0 || reloffset > 255) { this.error = "error: index offset " + reloffset + " out of bounds. [0..255]"; badreg = true; break; } if(this.verbose) { haxe_Log.trace("RELATIVE: type=" + reltype + "==" + relname[0] + " sel=" + Std.string(_$UInt_UInt_$Impl_$.toFloat(relsel)) + "==" + selmatch[0] + " idx=" + Std.string(_$UInt_UInt_$Impl_$.toFloat(regidx)) + " offset=" + reloffset,{ fileName : "AGALMiniAssembler.hx", lineNumber : 574, className : "openfl.utils.AGALMiniAssembler", methodName : "assemble"}); } } if(this.verbose) { haxe_Log.trace(" emit argcode=" + Std.string(regFound) + "[" + Std.string(_$UInt_UInt_$Impl_$.toFloat(regidx)) + "][" + regmask + "]",{ fileName : "AGALMiniAssembler.hx", lineNumber : 582, className : "openfl.utils.AGALMiniAssembler", methodName : "assemble"}); } if(isDest) { this.agalcode.writeShort(regidx); this.agalcode.writeByte(regmask); this.agalcode.writeByte(regFound.emitCode); pad -= 32; } else if(isSampler) { if(this.verbose) { haxe_Log.trace(" emit sampler",{ fileName : "AGALMiniAssembler.hx", lineNumber : 599, className : "openfl.utils.AGALMiniAssembler", methodName : "assemble"}); } var samplerbits = 5; var optsLength = opts == null ? 0 : opts.length; var bias = 0.0; var _g3 = 0; var _g2 = optsLength; while(_g3 < _g2) { var k1 = _g3++; if(this.verbose) { haxe_Log.trace(" opt: " + opts[k1],{ fileName : "AGALMiniAssembler.hx", lineNumber : 611, className : "openfl.utils.AGALMiniAssembler", methodName : "assemble"}); } var _this3 = openfl_utils_AGALMiniAssembler.SAMPLEMAP; var key2 = opts[k1]; var optfound = __map_reserved[key2] != null ? _this3.getReserved(key2) : _this3.h[key2]; if(optfound == null) { bias = parseFloat(opts[k1]); if(this.verbose) { haxe_Log.trace(" bias: " + bias,{ fileName : "AGALMiniAssembler.hx", lineNumber : 625, className : "openfl.utils.AGALMiniAssembler", methodName : "assemble"}); } } else { if(optfound.flag != 16) { samplerbits &= ~(15 << optfound.flag); } samplerbits = samplerbits | optfound.mask << optfound.flag; } } this.agalcode.writeShort(regidx); this.agalcode.writeByte(bias * 8.0 | 0); this.agalcode.writeByte(0); this.agalcode.writeUnsignedInt(samplerbits); if(this.verbose) { haxe_Log.trace(" bits: " + (samplerbits - 5),{ fileName : "AGALMiniAssembler.hx", lineNumber : 650, className : "openfl.utils.AGALMiniAssembler", methodName : "assemble"}); } pad -= 64; } else { if(j == 0) { this.agalcode.writeUnsignedInt(0); pad -= 32; } this.agalcode.writeShort(regidx); this.agalcode.writeByte(reloffset); this.agalcode.writeByte(regmask); this.agalcode.writeByte(regFound.emitCode); this.agalcode.writeByte(reltype); this.agalcode.writeShort(isRelative ? relsel | 32768 : 0); pad -= 64; } } var j1 = 0; while(j1 < pad) { this.agalcode.writeByte(0); j1 += 8; } if(badreg) { break; } ++i; } if(this.error != "") { this.error += "\n at line " + i + " " + lines[i]; openfl_utils__$ByteArray_ByteArray_$Impl_$.set_length(this.agalcode,0); haxe_Log.trace(this.error,{ fileName : "AGALMiniAssembler.hx", lineNumber : 703, className : "openfl.utils.AGALMiniAssembler", methodName : "assemble"}); } if(this.debugEnabled) { var dbgLine = "generated bytecode:"; var agalLength = openfl_utils__$ByteArray_ByteArray_$Impl_$.get_length(this.agalcode); var _g11 = 0; var _g4 = agalLength; while(_g11 < _g4) { var index = _g11++; if(index % 16 == 0) { dbgLine += "\n"; } if(index % 4 == 0) { dbgLine += " "; } var byteStr = StringTools.hex(this.agalcode.b[index],2); if(byteStr.length < 2) { byteStr = "0" + byteStr; } dbgLine += byteStr; } haxe_Log.trace(dbgLine,{ fileName : "AGALMiniAssembler.hx", lineNumber : 739, className : "openfl.utils.AGALMiniAssembler", methodName : "assemble"}); } if(this.verbose) { haxe_Log.trace("AGALMiniAssembler.assemble time: " + (openfl_Lib.getTimer() - start) / 1000 + "s",{ fileName : "AGALMiniAssembler.hx", lineNumber : 745, className : "openfl.utils.AGALMiniAssembler", methodName : "assemble"}); } return this.agalcode; } ,initregmap: function(version,ignorelimits) { var this1 = openfl_utils_AGALMiniAssembler.REGMAP; var v = new openfl_utils__$AGALMiniAssembler_Register("va","vertex attribute",0,ignorelimits ? 1024 : version == 1 || version == 2 ? 7 : 15,66); var _this = this1; if(__map_reserved["va"] != null) { _this.setReserved("va",v); } else { _this.h["va"] = v; } var this2 = openfl_utils_AGALMiniAssembler.REGMAP; var v1 = new openfl_utils__$AGALMiniAssembler_Register("vc","vertex constant",1,ignorelimits ? 1024 : version == 1 ? 127 : 249,66); var _this1 = this2; if(__map_reserved["vc"] != null) { _this1.setReserved("vc",v1); } else { _this1.h["vc"] = v1; } var this3 = openfl_utils_AGALMiniAssembler.REGMAP; var v2 = new openfl_utils__$AGALMiniAssembler_Register("vt","vertex temporary",2,ignorelimits ? 1024 : version == 1 ? 7 : 25,67); var _this2 = this3; if(__map_reserved["vt"] != null) { _this2.setReserved("vt",v2); } else { _this2.h["vt"] = v2; } var this4 = openfl_utils_AGALMiniAssembler.REGMAP; var v3 = new openfl_utils__$AGALMiniAssembler_Register("vo","vertex output",3,ignorelimits ? 1024 : 0,65); var _this3 = this4; if(__map_reserved["vo"] != null) { _this3.setReserved("vo",v3); } else { _this3.h["vo"] = v3; } var this5 = openfl_utils_AGALMiniAssembler.REGMAP; var v4 = new openfl_utils__$AGALMiniAssembler_Register("vi","varying",4,ignorelimits ? 1024 : version == 1 ? 7 : 9,99); var _this4 = this5; if(__map_reserved["vi"] != null) { _this4.setReserved("vi",v4); } else { _this4.h["vi"] = v4; } var this6 = openfl_utils_AGALMiniAssembler.REGMAP; var v5 = new openfl_utils__$AGALMiniAssembler_Register("fc","fragment constant",1,ignorelimits ? 1024 : version == 1 ? 27 : version == 2 ? 63 : 199,34); var _this5 = this6; if(__map_reserved["fc"] != null) { _this5.setReserved("fc",v5); } else { _this5.h["fc"] = v5; } var this7 = openfl_utils_AGALMiniAssembler.REGMAP; var v6 = new openfl_utils__$AGALMiniAssembler_Register("ft","fragment temporary",2,ignorelimits ? 1024 : version == 1 ? 7 : 25,35); var _this6 = this7; if(__map_reserved["ft"] != null) { _this6.setReserved("ft",v6); } else { _this6.h["ft"] = v6; } var this8 = openfl_utils_AGALMiniAssembler.REGMAP; var v7 = new openfl_utils__$AGALMiniAssembler_Register("fs","texture sampler",5,ignorelimits ? 1024 : 7,34); var _this7 = this8; if(__map_reserved["fs"] != null) { _this7.setReserved("fs",v7); } else { _this7.h["fs"] = v7; } var this9 = openfl_utils_AGALMiniAssembler.REGMAP; var v8 = new openfl_utils__$AGALMiniAssembler_Register("fo","fragment output",3,ignorelimits ? 1024 : version == 1 ? 0 : 3,33); var _this8 = this9; if(__map_reserved["fo"] != null) { _this8.setReserved("fo",v8); } else { _this8.h["fo"] = v8; } var this10 = openfl_utils_AGALMiniAssembler.REGMAP; var v9 = new openfl_utils__$AGALMiniAssembler_Register("fd","fragment depth output",6,ignorelimits ? 1024 : version == 1 ? -1 : 0,33); var _this9 = this10; if(__map_reserved["fd"] != null) { _this9.setReserved("fd",v9); } else { _this9.h["fd"] = v9; } var this11 = openfl_utils_AGALMiniAssembler.REGMAP; var v10 = new openfl_utils__$AGALMiniAssembler_Register("iid","instance id",7,ignorelimits ? 1024 : 0,66); var _this10 = this11; if(__map_reserved["iid"] != null) { _this10.setReserved("iid",v10); } else { _this10.h["iid"] = v10; } var this12 = openfl_utils_AGALMiniAssembler.REGMAP; var _this11 = openfl_utils_AGALMiniAssembler.REGMAP; var v11 = __map_reserved["vo"] != null ? _this11.getReserved("vo") : _this11.h["vo"]; var _this12 = this12; if(__map_reserved["op"] != null) { _this12.setReserved("op",v11); } else { _this12.h["op"] = v11; } var this13 = openfl_utils_AGALMiniAssembler.REGMAP; var _this13 = openfl_utils_AGALMiniAssembler.REGMAP; var v12 = __map_reserved["vi"] != null ? _this13.getReserved("vi") : _this13.h["vi"]; var _this14 = this13; if(__map_reserved["i"] != null) { _this14.setReserved("i",v12); } else { _this14.h["i"] = v12; } var this14 = openfl_utils_AGALMiniAssembler.REGMAP; var _this15 = openfl_utils_AGALMiniAssembler.REGMAP; var v13 = __map_reserved["vi"] != null ? _this15.getReserved("vi") : _this15.h["vi"]; var _this16 = this14; if(__map_reserved["v"] != null) { _this16.setReserved("v",v13); } else { _this16.h["v"] = v13; } var this15 = openfl_utils_AGALMiniAssembler.REGMAP; var _this17 = openfl_utils_AGALMiniAssembler.REGMAP; var v14 = __map_reserved["fo"] != null ? _this17.getReserved("fo") : _this17.h["fo"]; var _this18 = this15; if(__map_reserved["oc"] != null) { _this18.setReserved("oc",v14); } else { _this18.h["oc"] = v14; } var this16 = openfl_utils_AGALMiniAssembler.REGMAP; var _this19 = openfl_utils_AGALMiniAssembler.REGMAP; var v15 = __map_reserved["fd"] != null ? _this19.getReserved("fd") : _this19.h["fd"]; var _this20 = this16; if(__map_reserved["od"] != null) { _this20.setReserved("od",v15); } else { _this20.h["od"] = v15; } var this17 = openfl_utils_AGALMiniAssembler.REGMAP; var _this21 = openfl_utils_AGALMiniAssembler.REGMAP; var v16 = __map_reserved["vi"] != null ? _this21.getReserved("vi") : _this21.h["vi"]; var _this22 = this17; if(__map_reserved["fi"] != null) { _this22.setReserved("fi",v16); } else { _this22.h["fi"] = v16; } } ,match: function(value,reg) { var matches = []; var index = 0; var match; while(reg.matchSub(value,index)) { match = reg.matched(0); matches.push(match); index = reg.matchedPos().pos + match.length; } return matches; } ,__class__: openfl_utils_AGALMiniAssembler }; var openfl_utils__$AGALMiniAssembler_OpCode = function(name,numRegister,emitCode,flags) { this.name = name; this.numRegister = numRegister; this.emitCode = emitCode; this.flags = flags; }; $hxClasses["openfl.utils._AGALMiniAssembler.OpCode"] = openfl_utils__$AGALMiniAssembler_OpCode; openfl_utils__$AGALMiniAssembler_OpCode.__name__ = ["openfl","utils","_AGALMiniAssembler","OpCode"]; openfl_utils__$AGALMiniAssembler_OpCode.prototype = { emitCode: null ,flags: null ,name: null ,numRegister: null ,toString: function() { return "[OpCode name=\"" + this.name + "\", numRegister=" + this.numRegister + ", emitCode=" + this.emitCode + ", flags=" + this.flags + "]"; } ,__class__: openfl_utils__$AGALMiniAssembler_OpCode }; var openfl_utils__$AGALMiniAssembler_Register = function(name,longName,emitCode,range,flags) { this.name = name; this.longName = longName; this.emitCode = emitCode; this.range = range; this.flags = flags; }; $hxClasses["openfl.utils._AGALMiniAssembler.Register"] = openfl_utils__$AGALMiniAssembler_Register; openfl_utils__$AGALMiniAssembler_Register.__name__ = ["openfl","utils","_AGALMiniAssembler","Register"]; openfl_utils__$AGALMiniAssembler_Register.prototype = { emitCode: null ,name: null ,longName: null ,flags: null ,range: null ,toString: function() { return "[Register name=\"" + this.name + "\", longName=\"" + this.longName + "\", emitCode=" + Std.string(_$UInt_UInt_$Impl_$.toFloat(this.emitCode)) + ", range=" + Std.string(_$UInt_UInt_$Impl_$.toFloat(this.range)) + ", flags=" + Std.string(_$UInt_UInt_$Impl_$.toFloat(this.flags)) + "]"; } ,__class__: openfl_utils__$AGALMiniAssembler_Register }; var openfl_utils__$AGALMiniAssembler_Sampler = function(name,flag,mask) { this.name = name; this.flag = flag; this.mask = mask; }; $hxClasses["openfl.utils._AGALMiniAssembler.Sampler"] = openfl_utils__$AGALMiniAssembler_Sampler; openfl_utils__$AGALMiniAssembler_Sampler.__name__ = ["openfl","utils","_AGALMiniAssembler","Sampler"]; openfl_utils__$AGALMiniAssembler_Sampler.prototype = { flag: null ,mask: null ,name: null ,toString: function() { return "[Sampler name=\"" + this.name + "\", flag=\"" + Std.string(_$UInt_UInt_$Impl_$.toFloat(this.flag)) + "\", mask=" + Std.string(_$UInt_UInt_$Impl_$.toFloat(this.mask)) + "]"; } ,__class__: openfl_utils__$AGALMiniAssembler_Sampler }; var openfl_utils_IAssetCache = function() { }; $hxClasses["openfl.utils.IAssetCache"] = openfl_utils_IAssetCache; openfl_utils_IAssetCache.__name__ = ["openfl","utils","IAssetCache"]; openfl_utils_IAssetCache.prototype = { set_enabled: null ,get_enabled: null ,clear: null ,getBitmapData: null ,getFont: null ,getSound: null ,hasBitmapData: null ,hasFont: null ,hasSound: null ,removeBitmapData: null ,removeFont: null ,removeSound: null ,setBitmapData: null ,setFont: null ,setSound: null ,__class__: openfl_utils_IAssetCache ,__properties__: {set_enabled:"set_enabled",get_enabled:"get_enabled"} }; var openfl_utils_AssetCache = function() { this.__enabled = true; this.bitmapData = new haxe_ds_StringMap(); this.font = new haxe_ds_StringMap(); this.sound = new haxe_ds_StringMap(); }; $hxClasses["openfl.utils.AssetCache"] = openfl_utils_AssetCache; openfl_utils_AssetCache.__name__ = ["openfl","utils","AssetCache"]; openfl_utils_AssetCache.__interfaces__ = [openfl_utils_IAssetCache]; openfl_utils_AssetCache.prototype = { bitmapData: null ,font: null ,sound: null ,__enabled: null ,clear: function(prefix) { if(prefix == null) { this.bitmapData = new haxe_ds_StringMap(); this.font = new haxe_ds_StringMap(); this.sound = new haxe_ds_StringMap(); } else { var keys = this.bitmapData.keys(); var key = keys; while(key.hasNext()) { var key1 = key.next(); if(StringTools.startsWith(key1,prefix)) { this.removeBitmapData(key1); } } var keys1 = this.font.keys(); var key2 = keys1; while(key2.hasNext()) { var key3 = key2.next(); if(StringTools.startsWith(key3,prefix)) { this.removeFont(key3); } } var keys2 = this.sound.keys(); var key4 = keys2; while(key4.hasNext()) { var key5 = key4.next(); if(StringTools.startsWith(key5,prefix)) { this.removeSound(key5); } } } } ,getBitmapData: function(id) { var _this = this.bitmapData; if(__map_reserved[id] != null) { return _this.getReserved(id); } else { return _this.h[id]; } } ,getFont: function(id) { var _this = this.font; if(__map_reserved[id] != null) { return _this.getReserved(id); } else { return _this.h[id]; } } ,getSound: function(id) { var _this = this.sound; if(__map_reserved[id] != null) { return _this.getReserved(id); } else { return _this.h[id]; } } ,hasBitmapData: function(id) { var _this = this.bitmapData; if(__map_reserved[id] != null) { return _this.existsReserved(id); } else { return _this.h.hasOwnProperty(id); } } ,hasFont: function(id) { var _this = this.font; if(__map_reserved[id] != null) { return _this.existsReserved(id); } else { return _this.h.hasOwnProperty(id); } } ,hasSound: function(id) { var _this = this.sound; if(__map_reserved[id] != null) { return _this.existsReserved(id); } else { return _this.h.hasOwnProperty(id); } } ,removeBitmapData: function(id) { lime_utils_Assets.cache.image.remove(id); return this.bitmapData.remove(id); } ,removeFont: function(id) { lime_utils_Assets.cache.font.remove(id); return this.font.remove(id); } ,removeSound: function(id) { lime_utils_Assets.cache.audio.remove(id); return this.sound.remove(id); } ,setBitmapData: function(id,bitmapData) { var _this = this.bitmapData; if(__map_reserved[id] != null) { _this.setReserved(id,bitmapData); } else { _this.h[id] = bitmapData; } } ,setFont: function(id,font) { var _this = this.font; if(__map_reserved[id] != null) { _this.setReserved(id,font); } else { _this.h[id] = font; } } ,setSound: function(id,sound) { var _this = this.sound; if(__map_reserved[id] != null) { _this.setReserved(id,sound); } else { _this.h[id] = sound; } } ,get_enabled: function() { return this.__enabled; } ,set_enabled: function(value) { return this.__enabled = value; } ,__class__: openfl_utils_AssetCache ,__properties__: {set_enabled:"set_enabled",get_enabled:"get_enabled"} }; var openfl_utils_Assets = function() { }; $hxClasses["openfl.utils.Assets"] = openfl_utils_Assets; openfl_utils_Assets.__name__ = ["openfl","utils","Assets"]; openfl_utils_Assets.addEventListener = function(type,listener,useCapture,priority,useWeakReference) { if(useWeakReference == null) { useWeakReference = false; } if(priority == null) { priority = 0; } if(useCapture == null) { useCapture = false; } if(!lime_utils_Assets.onChange.has(openfl_utils_Assets.LimeAssets_onChange)) { lime_utils_Assets.onChange.add(openfl_utils_Assets.LimeAssets_onChange); } openfl_utils_Assets.dispatcher.addEventListener(type,listener,useCapture,priority,useWeakReference); }; openfl_utils_Assets.dispatchEvent = function(event) { return openfl_utils_Assets.dispatcher.dispatchEvent(event); }; openfl_utils_Assets.exists = function(id,type) { return lime_utils_Assets.exists(id,type); }; openfl_utils_Assets.getBitmapData = function(id,useCache) { if(useCache == null) { useCache = true; } if(useCache && openfl_utils_Assets.cache.get_enabled() && openfl_utils_Assets.cache.hasBitmapData(id)) { var bitmapData = openfl_utils_Assets.cache.getBitmapData(id); if(openfl_utils_Assets.isValidBitmapData(bitmapData)) { return bitmapData; } } var image = lime_utils_Assets.getImage(id,false); if(image != null) { var bitmapData1 = openfl_display_BitmapData.fromImage(image); if(useCache && openfl_utils_Assets.cache.get_enabled()) { openfl_utils_Assets.cache.setBitmapData(id,bitmapData1); } return bitmapData1; } return null; }; openfl_utils_Assets.getBytes = function(id) { return openfl_utils__$ByteArray_ByteArray_$Impl_$.fromBytes(lime_utils_Assets.getBytes(id)); }; openfl_utils_Assets.getFont = function(id,useCache) { if(useCache == null) { useCache = true; } if(useCache && openfl_utils_Assets.cache.get_enabled() && openfl_utils_Assets.cache.hasFont(id)) { return openfl_utils_Assets.cache.getFont(id); } var limeFont = lime_utils_Assets.getFont(id,false); if(limeFont != null) { var font = new openfl_text_Font(); font.__fromLimeFont(limeFont); if(useCache && openfl_utils_Assets.cache.get_enabled()) { openfl_utils_Assets.cache.setFont(id,font); } return font; } return new openfl_text_Font(); }; openfl_utils_Assets.getLibrary = function(name) { return lime_utils_Assets.getLibrary(name); }; openfl_utils_Assets.getMovieClip = function(id) { var libraryName = id.substring(0,id.indexOf(":")); var symbolName = HxOverrides.substr(id,id.indexOf(":") + 1,null); var limeLibrary = openfl_utils_Assets.getLibrary(libraryName); if(limeLibrary != null) { if(js_Boot.__instanceof(limeLibrary,openfl_utils_AssetLibrary)) { var library = limeLibrary; if(library.exists(symbolName,"MOVIE_CLIP")) { if(library.isLocal(symbolName,"MOVIE_CLIP")) { return library.getMovieClip(symbolName); } else { lime_utils_Log.error("MovieClip asset \"" + id + "\" exists, but only asynchronously",{ fileName : "Assets.hx", lineNumber : 248, className : "openfl.utils.Assets", methodName : "getMovieClip"}); return null; } } } lime_utils_Log.error("There is no MovieClip asset with an ID of \"" + id + "\"",{ fileName : "Assets.hx", lineNumber : 257, className : "openfl.utils.Assets", methodName : "getMovieClip"}); } else { lime_utils_Log.error("There is no asset library named \"" + libraryName + "\"",{ fileName : "Assets.hx", lineNumber : 261, className : "openfl.utils.Assets", methodName : "getMovieClip"}); } return null; }; openfl_utils_Assets.getMusic = function(id,useCache) { if(useCache == null) { useCache = true; } return openfl_utils_Assets.getSound(id,useCache); }; openfl_utils_Assets.getPath = function(id) { return lime_utils_Assets.getPath(id); }; openfl_utils_Assets.getSound = function(id,useCache) { if(useCache == null) { useCache = true; } if(useCache && openfl_utils_Assets.cache.get_enabled() && openfl_utils_Assets.cache.hasSound(id)) { var sound = openfl_utils_Assets.cache.getSound(id); if(openfl_utils_Assets.isValidSound(sound)) { return sound; } } var buffer = lime_utils_Assets.getAudioBuffer(id,false); if(buffer != null) { var sound1 = openfl_media_Sound.fromAudioBuffer(buffer); if(useCache && openfl_utils_Assets.cache.get_enabled()) { openfl_utils_Assets.cache.setSound(id,sound1); } return sound1; } return null; }; openfl_utils_Assets.getText = function(id) { return lime_utils_Assets.getText(id); }; openfl_utils_Assets.hasEventListener = function(type) { return openfl_utils_Assets.dispatcher.hasEventListener(type); }; openfl_utils_Assets.hasLibrary = function(name) { return lime_utils_Assets.hasLibrary(name); }; openfl_utils_Assets.isLocal = function(id,type,useCache) { if(useCache == null) { useCache = true; } if(useCache && openfl_utils_Assets.cache.get_enabled()) { if(type == "IMAGE" || type == null) { if(openfl_utils_Assets.cache.hasBitmapData(id)) { return true; } } if(type == "FONT" || type == null) { if(openfl_utils_Assets.cache.hasFont(id)) { return true; } } if(type == "SOUND" || type == "MUSIC" || type == null) { if(openfl_utils_Assets.cache.hasSound(id)) { return true; } } } var libraryName = id.substring(0,id.indexOf(":")); var symbolName = HxOverrides.substr(id,id.indexOf(":") + 1,null); var library = openfl_utils_Assets.getLibrary(libraryName); if(library != null) { return library.isLocal(symbolName,type); } return false; }; openfl_utils_Assets.isValidBitmapData = function(bitmapData) { return bitmapData != null && bitmapData.image != null; }; openfl_utils_Assets.isValidSound = function(sound) { return true; }; openfl_utils_Assets.list = function(type) { return lime_utils_Assets.list(type); }; openfl_utils_Assets.loadBitmapData = function(id,useCache) { if(useCache == null) { useCache = true; } if(useCache == null) { useCache = true; } var promise = new lime_app_Promise(); if(useCache && openfl_utils_Assets.cache.get_enabled() && openfl_utils_Assets.cache.hasBitmapData(id)) { var bitmapData = openfl_utils_Assets.cache.getBitmapData(id); if(openfl_utils_Assets.isValidBitmapData(bitmapData)) { promise.complete(bitmapData); return promise.future; } } lime_utils_Assets.loadImage(id,false).onComplete(function(image) { if(image != null) { var bitmapData1 = openfl_display_BitmapData.fromImage(image); if(useCache && openfl_utils_Assets.cache.get_enabled()) { openfl_utils_Assets.cache.setBitmapData(id,bitmapData1); } promise.complete(bitmapData1); } else { promise.error("[Assets] Could not load Image \"" + id + "\""); } }).onError($bind(promise,promise.error)).onProgress($bind(promise,promise.progress)); return promise.future; }; openfl_utils_Assets.loadBytes = function(id) { var promise = new lime_app_Promise(); var future = lime_utils_Assets.loadBytes(id); future.onComplete(function(bytes) { promise.complete(openfl_utils__$ByteArray_ByteArray_$Impl_$.fromBytes(bytes)); }); future.onProgress(function(progress,total) { promise.progress(progress,total); }); future.onError(function(msg) { promise.error(msg); }); return promise.future; }; openfl_utils_Assets.loadFont = function(id,useCache) { if(useCache == null) { useCache = true; } if(useCache == null) { useCache = true; } var promise = new lime_app_Promise(); if(useCache && openfl_utils_Assets.cache.get_enabled() && openfl_utils_Assets.cache.hasFont(id)) { var tmp = openfl_utils_Assets.cache.getFont(id); promise.complete(tmp); return promise.future; } lime_utils_Assets.loadFont(id).onComplete(function(limeFont) { var font = new openfl_text_Font(); font.__fromLimeFont(limeFont); if(useCache && openfl_utils_Assets.cache.get_enabled()) { openfl_utils_Assets.cache.setFont(id,font); } promise.complete(font); }).onError($bind(promise,promise.error)).onProgress($bind(promise,promise.progress)); return promise.future; }; openfl_utils_Assets.loadLibrary = function(name) { return lime_utils_Assets.loadLibrary(name).then(function(library) { var _library = null; if(library != null) { if(js_Boot.__instanceof(library,openfl_utils_AssetLibrary)) { _library = library; } else { _library = new openfl_utils_AssetLibrary(); _library.__proxy = library; lime_utils_Assets.registerLibrary(name,_library); } } return lime_app_Future.withValue(_library); }); }; openfl_utils_Assets.loadMusic = function(id,useCache) { if(useCache == null) { useCache = true; } if(useCache == null) { useCache = true; } var future = new lime_app_Future(function() { return openfl_utils_Assets.getMusic(id,useCache); }); return future; }; openfl_utils_Assets.loadMovieClip = function(id) { var promise = new lime_app_Promise(); var libraryName = id.substring(0,id.indexOf(":")); var symbolName = HxOverrides.substr(id,id.indexOf(":") + 1,null); var limeLibrary = openfl_utils_Assets.getLibrary(libraryName); if(limeLibrary != null) { if(js_Boot.__instanceof(limeLibrary,openfl_utils_AssetLibrary)) { var library = limeLibrary; if(library.exists(symbolName,"MOVIE_CLIP")) { promise.completeWith(library.loadMovieClip(symbolName)); return promise.future; } } promise.error("[Assets] There is no MovieClip asset with an ID of \"" + id + "\""); } else { promise.error("[Assets] There is no asset library named \"" + libraryName + "\""); } return promise.future; }; openfl_utils_Assets.loadSound = function(id,useCache) { if(useCache == null) { useCache = true; } if(useCache == null) { useCache = true; } var promise = new lime_app_Promise(); lime_utils_Assets.loadAudioBuffer(id,useCache).onComplete(function(buffer) { if(buffer != null) { var sound = openfl_media_Sound.fromAudioBuffer(buffer); if(useCache && openfl_utils_Assets.cache.get_enabled()) { openfl_utils_Assets.cache.setSound(id,sound); } promise.complete(sound); } else { promise.error("[Assets] Could not load Sound \"" + id + "\""); } }).onError($bind(promise,promise.error)).onProgress($bind(promise,promise.progress)); return promise.future; }; openfl_utils_Assets.loadText = function(id) { var future = lime_utils_Assets.loadText(id); return future; }; openfl_utils_Assets.registerLibrary = function(name,library) { lime_utils_Assets.registerLibrary(name,library); }; openfl_utils_Assets.removeEventListener = function(type,listener,capture) { if(capture == null) { capture = false; } openfl_utils_Assets.dispatcher.removeEventListener(type,listener,capture); }; openfl_utils_Assets.resolveClass = function(name) { return Type.resolveClass(name); }; openfl_utils_Assets.resolveEnum = function(name) { var value = Type.resolveEnum(name); return value; }; openfl_utils_Assets.unloadLibrary = function(name) { lime_utils_Assets.unloadLibrary(name); }; openfl_utils_Assets.LimeAssets_onChange = function() { openfl_utils_Assets.dispatchEvent(new openfl_events_Event("change")); }; var openfl_utils__$ByteArray_ByteArray_$Impl_$ = {}; $hxClasses["openfl.utils._ByteArray.ByteArray_Impl_"] = openfl_utils__$ByteArray_ByteArray_$Impl_$; openfl_utils__$ByteArray_ByteArray_$Impl_$.__name__ = ["openfl","utils","_ByteArray","ByteArray_Impl_"]; openfl_utils__$ByteArray_ByteArray_$Impl_$.__properties__ = {set_position:"set_position",get_position:"get_position",set_length:"set_length",get_length:"get_length",get_bytesAvailable:"get_bytesAvailable",set_defaultObjectEncoding:"set_defaultObjectEncoding",get_defaultObjectEncoding:"get_defaultObjectEncoding",set_defaultEndian:"set_defaultEndian",get_defaultEndian:"get_defaultEndian"}; openfl_utils__$ByteArray_ByteArray_$Impl_$._new = function(length) { if(length == null) { length = 0; } var this1 = new openfl_utils_ByteArrayData(length); return this1; }; openfl_utils__$ByteArray_ByteArray_$Impl_$.clear = function(this1) { this1.clear(); }; openfl_utils__$ByteArray_ByteArray_$Impl_$.compress = function(this1,algorithm) { this1.compress(algorithm); }; openfl_utils__$ByteArray_ByteArray_$Impl_$.deflate = function(this1) { this1.deflate(); }; openfl_utils__$ByteArray_ByteArray_$Impl_$.fromArrayBuffer = function(buffer) { if(buffer == null) { return null; } return openfl_utils_ByteArrayData.fromBytes(haxe_io_Bytes.ofData(buffer)); }; openfl_utils__$ByteArray_ByteArray_$Impl_$.fromBytes = function(bytes) { if(bytes == null) { return null; } if(js_Boot.__instanceof(bytes,openfl_utils_ByteArrayData)) { return bytes; } else { return openfl_utils_ByteArrayData.fromBytes(bytes); } }; openfl_utils__$ByteArray_ByteArray_$Impl_$.fromBytesData = function(bytesData) { if(bytesData == null) { return null; } return openfl_utils_ByteArrayData.fromBytes(haxe_io_Bytes.ofData(bytesData)); }; openfl_utils__$ByteArray_ByteArray_$Impl_$.fromFile = function(path) { return openfl_utils__$ByteArray_ByteArray_$Impl_$.fromBytes(lime_utils__$Bytes_Bytes_$Impl_$.fromFile(path)); }; openfl_utils__$ByteArray_ByteArray_$Impl_$.fromLimeBytes = function(bytes) { return openfl_utils__$ByteArray_ByteArray_$Impl_$.fromBytes(bytes); }; openfl_utils__$ByteArray_ByteArray_$Impl_$.get = function(this1,index) { return this1.b[index]; }; openfl_utils__$ByteArray_ByteArray_$Impl_$.inflate = function(this1) { this1.inflate(); }; openfl_utils__$ByteArray_ByteArray_$Impl_$.loadFromBytes = function(bytes) { return lime_utils__$Bytes_Bytes_$Impl_$.loadFromBytes(bytes).then(function(limeBytes) { var byteArray = openfl_utils__$ByteArray_ByteArray_$Impl_$.fromBytes(limeBytes); return lime_app_Future.withValue(byteArray); }); }; openfl_utils__$ByteArray_ByteArray_$Impl_$.loadFromFile = function(path) { return lime_utils__$Bytes_Bytes_$Impl_$.loadFromFile(path).then(function(limeBytes) { var byteArray = openfl_utils__$ByteArray_ByteArray_$Impl_$.fromBytes(limeBytes); return lime_app_Future.withValue(byteArray); }); }; openfl_utils__$ByteArray_ByteArray_$Impl_$.readBoolean = function(this1) { return this1.readBoolean(); }; openfl_utils__$ByteArray_ByteArray_$Impl_$.readByte = function(this1) { return this1.readByte(); }; openfl_utils__$ByteArray_ByteArray_$Impl_$.readBytes = function(this1,bytes,offset,length) { if(length == null) { length = 0; } if(offset == null) { offset = 0; } this1.readBytes(bytes,offset,length); }; openfl_utils__$ByteArray_ByteArray_$Impl_$.readDouble = function(this1) { return this1.readDouble(); }; openfl_utils__$ByteArray_ByteArray_$Impl_$.readFloat = function(this1) { return this1.readFloat(); }; openfl_utils__$ByteArray_ByteArray_$Impl_$.readInt = function(this1) { return this1.readInt(); }; openfl_utils__$ByteArray_ByteArray_$Impl_$.readMultiByte = function(this1,length,charSet) { return this1.readMultiByte(length,charSet); }; openfl_utils__$ByteArray_ByteArray_$Impl_$.readObject = function(this1) { return this1.readObject(); }; openfl_utils__$ByteArray_ByteArray_$Impl_$.readShort = function(this1) { return this1.readShort(); }; openfl_utils__$ByteArray_ByteArray_$Impl_$.readUTF = function(this1) { return this1.readUTF(); }; openfl_utils__$ByteArray_ByteArray_$Impl_$.readUTFBytes = function(this1,length) { return this1.readUTFBytes(length); }; openfl_utils__$ByteArray_ByteArray_$Impl_$.readUnsignedByte = function(this1) { return this1.readUnsignedByte(); }; openfl_utils__$ByteArray_ByteArray_$Impl_$.readUnsignedInt = function(this1) { return this1.readUnsignedInt(); }; openfl_utils__$ByteArray_ByteArray_$Impl_$.readUnsignedShort = function(this1) { return this1.readUnsignedShort(); }; openfl_utils__$ByteArray_ByteArray_$Impl_$.set = function(this1,index,value) { this1.__resize(index + 1); this1.b[index] = value & 255; return value; }; openfl_utils__$ByteArray_ByteArray_$Impl_$.toArrayBuffer = function(byteArray) { return byteArray.b.bufferValue; }; openfl_utils__$ByteArray_ByteArray_$Impl_$.toBytePointer = function(byteArray) { lime_utils__$BytePointer_BytePointer_$Impl_$.set(openfl_utils__$ByteArray_ByteArray_$Impl_$.__bytePointer,byteArray,null,null,byteArray.position); return openfl_utils__$ByteArray_ByteArray_$Impl_$.__bytePointer; }; openfl_utils__$ByteArray_ByteArray_$Impl_$.toBytes = function(byteArray) { return byteArray; }; openfl_utils__$ByteArray_ByteArray_$Impl_$.toBytesData = function(byteArray) { return byteArray.b.bufferValue; }; openfl_utils__$ByteArray_ByteArray_$Impl_$.toLimeBytes = function(byteArray) { return openfl_utils__$ByteArray_ByteArray_$Impl_$.toBytes(openfl_utils__$ByteArray_ByteArray_$Impl_$.fromBytes(openfl_utils__$ByteArray_ByteArray_$Impl_$.toBytes(byteArray))); }; openfl_utils__$ByteArray_ByteArray_$Impl_$.toString = function(this1) { return this1.toString(); }; openfl_utils__$ByteArray_ByteArray_$Impl_$.uncompress = function(this1,algorithm) { this1.uncompress(algorithm); return; }; openfl_utils__$ByteArray_ByteArray_$Impl_$.writeBoolean = function(this1,value) { this1.writeBoolean(value); }; openfl_utils__$ByteArray_ByteArray_$Impl_$.writeByte = function(this1,value) { this1.writeByte(value); }; openfl_utils__$ByteArray_ByteArray_$Impl_$.writeBytes = function(this1,bytes,offset,length) { if(length == null) { length = 0; } if(offset == null) { offset = 0; } this1.writeBytes(bytes,offset,length); }; openfl_utils__$ByteArray_ByteArray_$Impl_$.writeDouble = function(this1,value) { this1.writeDouble(value); }; openfl_utils__$ByteArray_ByteArray_$Impl_$.writeFloat = function(this1,value) { this1.writeFloat(value); }; openfl_utils__$ByteArray_ByteArray_$Impl_$.writeInt = function(this1,value) { this1.writeInt(value); }; openfl_utils__$ByteArray_ByteArray_$Impl_$.writeMultiByte = function(this1,value,charSet) { this1.writeMultiByte(value,charSet); }; openfl_utils__$ByteArray_ByteArray_$Impl_$.writeObject = function(this1,object) { this1.writeObject(object); }; openfl_utils__$ByteArray_ByteArray_$Impl_$.writeShort = function(this1,value) { this1.writeShort(value); }; openfl_utils__$ByteArray_ByteArray_$Impl_$.writeUTF = function(this1,value) { this1.writeUTF(value); }; openfl_utils__$ByteArray_ByteArray_$Impl_$.writeUTFBytes = function(this1,value) { this1.writeUTFBytes(value); }; openfl_utils__$ByteArray_ByteArray_$Impl_$.writeUnsignedInt = function(this1,value) { this1.writeUnsignedInt(value); }; openfl_utils__$ByteArray_ByteArray_$Impl_$.get_bytesAvailable = function(this1) { return this1.length - this1.position; }; openfl_utils__$ByteArray_ByteArray_$Impl_$.get_defaultEndian = function() { if(openfl_utils_ByteArrayData.__defaultEndian == null) { if(lime_system_System.get_endianness() == lime_system_Endian.LITTLE_ENDIAN) { openfl_utils_ByteArrayData.__defaultEndian = 1; } else { openfl_utils_ByteArrayData.__defaultEndian = 0; } } return openfl_utils_ByteArrayData.__defaultEndian; }; openfl_utils__$ByteArray_ByteArray_$Impl_$.set_defaultEndian = function(value) { return openfl_utils_ByteArrayData.__defaultEndian = value; }; openfl_utils__$ByteArray_ByteArray_$Impl_$.get_defaultObjectEncoding = function() { return openfl_utils_ByteArrayData.defaultObjectEncoding; }; openfl_utils__$ByteArray_ByteArray_$Impl_$.set_defaultObjectEncoding = function(value) { return openfl_utils_ByteArrayData.defaultObjectEncoding = value; }; openfl_utils__$ByteArray_ByteArray_$Impl_$.get_endian = function(this1) { return this1.__endian; }; openfl_utils__$ByteArray_ByteArray_$Impl_$.set_endian = function(this1,value) { return this1.__endian = value; }; openfl_utils__$ByteArray_ByteArray_$Impl_$.get_length = function(this1) { if(this1 == null) { return 0; } else { return this1.length; } }; openfl_utils__$ByteArray_ByteArray_$Impl_$.set_length = function(this1,value) { if(value > 0) { this1.__resize(value); if(value < this1.position) { this1.position = value; } } this1.length = value; return value; }; openfl_utils__$ByteArray_ByteArray_$Impl_$.get_objectEncoding = function(this1) { return this1.objectEncoding; }; openfl_utils__$ByteArray_ByteArray_$Impl_$.set_objectEncoding = function(this1,value) { return this1.objectEncoding = value; }; openfl_utils__$ByteArray_ByteArray_$Impl_$.get_position = function(this1) { return this1.position; }; openfl_utils__$ByteArray_ByteArray_$Impl_$.set_position = function(this1,value) { return this1.position = value; }; var openfl_utils__$CompressionAlgorithm_CompressionAlgorithm_$Impl_$ = {}; $hxClasses["openfl.utils._CompressionAlgorithm.CompressionAlgorithm_Impl_"] = openfl_utils__$CompressionAlgorithm_CompressionAlgorithm_$Impl_$; openfl_utils__$CompressionAlgorithm_CompressionAlgorithm_$Impl_$.__name__ = ["openfl","utils","_CompressionAlgorithm","CompressionAlgorithm_Impl_"]; openfl_utils__$CompressionAlgorithm_CompressionAlgorithm_$Impl_$.fromString = function(value) { switch(value) { case "deflate": return 0; case "lzma": return 1; case "zlib": return 2; default: return null; } }; openfl_utils__$CompressionAlgorithm_CompressionAlgorithm_$Impl_$.toString = function(value) { switch(value) { case 0: return "deflate"; case 1: return "lzma"; case 2: return "zlib"; default: return null; } }; var openfl_utils__$Endian_Endian_$Impl_$ = {}; $hxClasses["openfl.utils._Endian.Endian_Impl_"] = openfl_utils__$Endian_Endian_$Impl_$; openfl_utils__$Endian_Endian_$Impl_$.__name__ = ["openfl","utils","_Endian","Endian_Impl_"]; openfl_utils__$Endian_Endian_$Impl_$.fromLimeEndian = function(value) { switch(value[1]) { case 0: return 1; case 1: return 0; } }; openfl_utils__$Endian_Endian_$Impl_$.fromString = function(value) { switch(value) { case "bigEndian": return 0; case "littleEndian": return 1; default: return null; } }; openfl_utils__$Endian_Endian_$Impl_$.toLimeEndian = function(value) { switch(value) { case 0: return lime_system_Endian.BIG_ENDIAN; case 1: return lime_system_Endian.LITTLE_ENDIAN; default: return null; } }; openfl_utils__$Endian_Endian_$Impl_$.toString = function(value) { switch(value) { case 0: return "bigEndian"; case 1: return "littleEndian"; default: return null; } }; var openfl_utils__$Object_Object_$Impl_$ = {}; $hxClasses["openfl.utils._Object.Object_Impl_"] = openfl_utils__$Object_Object_$Impl_$; openfl_utils__$Object_Object_$Impl_$.__name__ = ["openfl","utils","_Object","Object_Impl_"]; openfl_utils__$Object_Object_$Impl_$._new = function() { var this1 = { }; return this1; }; openfl_utils__$Object_Object_$Impl_$.hasOwnProperty = function(this1,name) { if(this1 != null) { return Object.prototype.hasOwnProperty.call(this1,name); } else { return false; } }; openfl_utils__$Object_Object_$Impl_$.isPrototypeOf = function(this1,theClass) { var o = this1; var c = o == null ? null : js_Boot.getClass(o); while(c != null) { if(c == theClass) { return true; } c = Type.getSuperClass(c); } return false; }; openfl_utils__$Object_Object_$Impl_$.iterator = function(this1) { var fields = Reflect.fields(this1); if(fields == null) { fields = []; } return HxOverrides.iter(fields); }; openfl_utils__$Object_Object_$Impl_$.propertyIsEnumerable = function(this1,name) { if(this1 != null && Object.prototype.hasOwnProperty.call(this1,name)) { return js_Boot.__instanceof(Reflect.field(this1,name),haxe_lang_Iterable); } else { return false; } }; openfl_utils__$Object_Object_$Impl_$.toLocaleString = function(this1) { return Std.string(this1); }; openfl_utils__$Object_Object_$Impl_$.toString = function(this1) { return Std.string(this1); }; openfl_utils__$Object_Object_$Impl_$.valueOf = function(this1) { return this1; }; openfl_utils__$Object_Object_$Impl_$.__get = function(this1,key) { return Reflect.field(this1,key); }; openfl_utils__$Object_Object_$Impl_$.__set = function(this1,key,value) { this1[key] = value; return value; }; var haxe_lang_Iterator = function() { }; $hxClasses["haxe.lang.Iterator"] = haxe_lang_Iterator; haxe_lang_Iterator.__name__ = ["haxe","lang","Iterator"]; haxe_lang_Iterator.prototype = { hasNext: null ,next: null ,__class__: haxe_lang_Iterator }; var haxe_lang_Iterable = function() { }; $hxClasses["haxe.lang.Iterable"] = haxe_lang_Iterable; haxe_lang_Iterable.__name__ = ["haxe","lang","Iterable"]; haxe_lang_Iterable.prototype = { iterator: null ,__class__: haxe_lang_Iterable }; var shaders_MetaballShader = function() { if(this.__glFragmentSource == null) { this.__glFragmentSource = "\r\n\t\tvarying float openfl_Alphav;\n\t\tvarying vec4 openfl_ColorMultiplierv;\n\t\tvarying vec4 openfl_ColorOffsetv;\n\t\tvarying vec2 openfl_TextureCoordv;\n\t\t\n\t\tuniform bool openfl_HasColorTransform;\n\t\tuniform vec2 openfl_TextureSize;\n\t\tuniform sampler2D bitmap;\n\n\t\tuniform bool hasTransform;\n\t\tuniform bool hasColorTransform;\n\n\t\tvec4 flixel_texture2D(sampler2D bitmap, vec2 coord)\n\t\t{\n\t\t\tvec4 color = texture2D(bitmap, coord);\n\t\t\tif (!hasTransform)\n\t\t\t\treturn color;\n\t\t\t\n\t\t\tif (color.a == 0.0)\n\t\t\t{\n\t\t\t\treturn vec4(0.0, 0.0, 0.0, 0.0);\n\t\t\t}\n\t\t\telse if (hasColorTransform)\n\t\t\t{\n\t\t\t\tcolor = vec4(color.rgb / color.a, color.a);\n\t\t\t\t\n\t\t\t\tmat4 colorMultiplier = mat4(0);\n\t\t\t\tcolorMultiplier[0][0] = openfl_ColorMultiplierv.x;\n\t\t\t\tcolorMultiplier[1][1] = openfl_ColorMultiplierv.y;\n\t\t\t\tcolorMultiplier[2][2] = openfl_ColorMultiplierv.z;\n\t\t\t\tcolorMultiplier[3][3] = openfl_ColorMultiplierv.w;\n\t\t\t\t\n\t\t\t\tcolor = clamp(openfl_ColorOffsetv + (color * colorMultiplier), 0.0, 1.0);\n\t\t\t\t\n\t\t\t\tif (color.a > 0.0)\n\t\t\t\t\treturn vec4(color.rgb * color.a * openfl_Alphav, color.a * openfl_Alphav);\n\t\t\t\telse\n\t\t\t\t\treturn vec4(0.0, 0.0, 0.0, 0.0);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\treturn color * openfl_Alphav;\n\t\t\t}\n\t\t}\n\t\n\r\n\t\t\r\n\t\tfloat threshold = 0.5;\r\n\r\n\t\tvoid main() {\r\n\t\t\tfloat dist = 1.0 / 640.0;\r\n\t\t\tvec2 xy = openfl_TextureCoordv;\r\n\t\t\tgl_FragColor = texture2D(bitmap, openfl_TextureCoordv);\r\n\t\t\tif (gl_FragColor.b > threshold) {\r\n\t\t\t\tvec4 tr = texture2D(bitmap, vec2(xy.x + 4.0 * dist, xy.y - 4.0 * dist));\r\n\t\t\t\tvec4 bl = texture2D(bitmap, vec2(xy.x - 4.0 * dist, xy.y - 4.0 * dist));\r\n\t\t\t\tif (tr.b <= threshold && bl.b > threshold) {\r\n\t\t\t\t\tgl_FragColor = vec4(0.85, 0.85, 1.0, 1.0);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tgl_FragColor = vec4(0.6, 0.6, 1.0, 1.0);\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tvec4 d1 = texture2D(bitmap, vec2(xy.x - dist, xy.y));\r\n\t\t\t\tvec4 d2 = texture2D(bitmap, vec2(xy.x + dist, xy.y));\r\n\t\t\t\tvec4 d3 = texture2D(bitmap, vec2(xy.x, xy.y - dist));\r\n\t\t\t\tvec4 d4 = texture2D(bitmap, vec2(xy.x, xy.y + dist));\r\n\t\t\t\t\r\n\t\t\t\tif (d1.b > threshold || d2.b > threshold || d3.b > threshold || d4.b > threshold) {\r\n\t\t\t\t\tgl_FragColor = vec4(0.3, 0.4, 1.0, 1.0);\r\n\t\t\t\t} else {\r\n if (gl_FragColor.g > threshold) {\r\n vec4 tr = texture2D(bitmap, vec2(xy.x + 4.0 * dist, xy.y - 4.0 * dist));\r\n vec4 bl = texture2D(bitmap, vec2(xy.x - 4.0 * dist, xy.y - 4.0 * dist));\r\n if (tr.g <= threshold && bl.g > threshold) {\r\n gl_FragColor = vec4(0.9, 0.9, 0.9, 1.0);\r\n } else {\r\n gl_FragColor = vec4(0.3, 0.3, 0.3, 1.0);\r\n }\r\n } else {\r\n vec4 d1 = texture2D(bitmap, vec2(xy.x - dist, xy.y));\r\n vec4 d2 = texture2D(bitmap, vec2(xy.x + dist, xy.y));\r\n vec4 d3 = texture2D(bitmap, vec2(xy.x, xy.y - dist));\r\n vec4 d4 = texture2D(bitmap, vec2(xy.x, xy.y + dist));\r\n \r\n if (d1.g > threshold || d2.g > threshold || d3.g > threshold || d4.g > threshold) {\r\n gl_FragColor = vec4(0.1, 0.1, 0.1, 1.0);\r\n } else {\r\n gl_FragColor = vec4(0.0, 0.0, 0.0, 0.0);\r\n }\r\n }\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t"; } if(this.__glVertexSource == null) { this.__glVertexSource = "\n\t\tattribute float openfl_Alpha;\n\t\tattribute vec4 openfl_ColorMultiplier;\n\t\tattribute vec4 openfl_ColorOffset;\n\t\tattribute vec4 openfl_Position;\n\t\tattribute vec2 openfl_TextureCoord;\n\t\t\n\t\tvarying float openfl_Alphav;\n\t\tvarying vec4 openfl_ColorMultiplierv;\n\t\tvarying vec4 openfl_ColorOffsetv;\n\t\tvarying vec2 openfl_TextureCoordv;\n\t\t\n\t\tuniform mat4 openfl_Matrix;\n\t\tuniform bool openfl_HasColorTransform;\n\t\tuniform vec2 openfl_TextureSize;\n\n\t\t\n\t\tattribute float alpha;\n\t\tattribute vec4 colorMultiplier;\n\t\tattribute vec4 colorOffset;\n\t\tuniform bool hasColorTransform;\n\t\t\n\t\tvoid main(void)\n\t\t{\n\t\t\topenfl_Alphav = openfl_Alpha;\n\t\topenfl_TextureCoordv = openfl_TextureCoord;\n\t\t\n\t\tif (openfl_HasColorTransform) {\n\t\t\t\n\t\t\topenfl_ColorMultiplierv = openfl_ColorMultiplier;\n\t\t\topenfl_ColorOffsetv = openfl_ColorOffset / 255.0;\n\t\t\t\n\t\t}\n\t\t\n\t\tgl_Position = openfl_Matrix * openfl_Position;\n\n\t\t\t\n\t\t\topenfl_Alphav = openfl_Alpha * alpha;\n\t\t\t\n\t\t\tif (hasColorTransform)\n\t\t\t{\n\t\t\t\topenfl_ColorOffsetv = colorOffset / 255.0;\n\t\t\t\topenfl_ColorMultiplierv = colorMultiplier;\n\t\t\t}\n\t\t}"; } flixel_graphics_tile_FlxGraphicsShader.call(this); this.__isGenerated = true; this.__initGL(); }; $hxClasses["shaders.MetaballShader"] = shaders_MetaballShader; shaders_MetaballShader.__name__ = ["shaders","MetaballShader"]; shaders_MetaballShader.__super__ = flixel_graphics_tile_FlxGraphicsShader; shaders_MetaballShader.prototype = $extend(flixel_graphics_tile_FlxGraphicsShader.prototype,{ __class__: shaders_MetaballShader }); var ui_CharacterPicker = function(optionIndices) { this._index = 0; nova_render_FlxLocalSprite.call(this); this.characterThumbsBD = new nova_render_TiledBitmapData("assets/images/character_thumbs.png",48,48); this.characterImageSprites = []; var crownBitmapData = openfl_utils_Assets.getBitmapData("assets/images/character_indicator_crown.png"); this.crown = new nova_render_LocalWrapper(new flixel_FlxSprite().loadGraphic(crownBitmapData)); this.crown.set_x(8); var _g1 = 0; var _g = optionIndices.length; while(_g1 < _g) { var i = _g1++; var ind = optionIndices[i]; var thumb = new openfl_display_BitmapData(48,48,true,0); thumb.copyPixels(this.characterThumbsBD.getTile(nova_utils__$Pair_Pair_$Impl_$.fromIntArray([0,2])),new openfl_geom_Rectangle(0,0,48,48),new openfl_geom_Point(0,0)); thumb.copyPixels(this.characterThumbsBD.getTile(ind),new openfl_geom_Rectangle(0,0,48,48),new openfl_geom_Point(0,0),thumb,new openfl_geom_Point(0,0),true); var lw = new nova_render_LocalWrapper(new flixel_FlxSprite().loadGraphic(thumb)); this.add(lw); this.characterImageSprites.push(lw); lw._sprite.scale = new flixel_math_FlxPoint(0.6,0.6); lw.set_x(42 * i); } this.characterImageSprites[0]._sprite.scale = new flixel_math_FlxPoint(1,1); this.characterImageSprites[0].set_y(10); this.add(this.crown); }; $hxClasses["ui.CharacterPicker"] = ui_CharacterPicker; ui_CharacterPicker.__name__ = ["ui","CharacterPicker"]; ui_CharacterPicker.__super__ = nova_render_FlxLocalSprite; ui_CharacterPicker.prototype = $extend(nova_render_FlxLocalSprite.prototype,{ crown: null ,_index: null ,optionIndices: null ,characterThumbsBD: null ,characterImageRow: null ,characterImageSprites: null ,get_index: function() { return this._index; } ,set_index: function(index) { this.characterImageSprites[this._index]._sprite.scale = new flixel_math_FlxPoint(0.6,0.6); this.characterImageSprites[this._index].set_y(0); this._index = index; this.characterImageSprites[this._index]._sprite.scale = new flixel_math_FlxPoint(1,1); this.characterImageSprites[this._index].set_y(10); this.crown.set_x(index * 42 + 8); return index; } ,__class__: ui_CharacterPicker ,__properties__: $extend(nova_render_FlxLocalSprite.prototype.__properties__,{set_index:"set_index",get_index:"get_index"}) }); var ui_ChargeMeter = function() { this.maxWidth = 170; this.maxCharge = 25; this.charge = 0; this.meterWrapper = null; nova_render_FlxLocalSprite.call(this); this.meter = new openfl_display_BitmapData(this.maxWidth,15,true,0); this.meter.fillRect(this.meter.rect,0); this.meterWrapper = new nova_render_LocalWrapper(new flixel_FlxSprite().loadGraphic(this.meter)); this.add(this.meterWrapper); this.text = new nova_render_LocalWrapper(new flixel_text_FlxText(155,-7,this.maxWidth,"",16)); this.text._sprite.set_font(GameData.DEFAULT_FONT); this.text._sprite.set_color(GameData.DEFAULT_FONT_COLOR); this.text._sprite.set_bold(true); this.add(this.text); }; $hxClasses["ui.ChargeMeter"] = ui_ChargeMeter; ui_ChargeMeter.__name__ = ["ui","ChargeMeter"]; ui_ChargeMeter.__super__ = nova_render_FlxLocalSprite; ui_ChargeMeter.prototype = $extend(nova_render_FlxLocalSprite.prototype,{ meter: null ,meterWrapper: null ,text: null ,uiBitmapData: null ,charge: null ,maxCharge: null ,maxWidth: null ,incrementCharge: function() { if(this.charge == this.maxCharge) { return false; } this.charge += 1; this.meter.fillRect(new openfl_geom_Rectangle(0,0,(this.maxWidth - 10) / this.maxCharge * this.charge + 10,15),-34816); this.remove(this.text); this.remove(this.meterWrapper); this.meterWrapper = new nova_render_LocalWrapper(new flixel_FlxSprite().loadGraphic(this.meter)); this.add(this.meterWrapper); this.add(this.text); return true; } ,decrementCharge: function() { if(this.charge <= 1) { return false; } this.charge -= 1; this.meter.fillRect(new openfl_geom_Rectangle((this.maxWidth - 10) / this.maxCharge * this.charge + 10,0,(this.maxWidth - 10) / this.maxCharge + 1,15),0); this.remove(this.text); this.remove(this.meterWrapper); this.meterWrapper = new nova_render_LocalWrapper(new flixel_FlxSprite().loadGraphic(this.meter)); this.add(this.meterWrapper); this.add(this.text); return true; } ,resetCharge: function() { this.charge = 0; this.meter.fillRect(this.meter.rect,0); this.remove(this.meterWrapper); this.remove(this.text); } ,setMaxCharge: function(maxCharge) { this.maxCharge = maxCharge; this.resetCharge(); this.incrementCharge(); } ,setText: function(newText) { this.remove(this.text); this.text._sprite.set_text(newText); this.add(this.text); } ,getCharge: function() { return this.charge; } ,__class__: ui_ChargeMeter }); var ui_RecipeText = function(startText,backgroundImage) { nova_render_FlxLocalSprite.call(this); this.background = new nova_render_LocalWrapper(new flixel_FlxSprite().loadGraphic(backgroundImage)); this.add(this.background); this.text = new nova_render_LocalWrapper(new flixel_text_FlxText(backgroundImage.width / 2 - 320,0,640,startText,32)); this.storedText = startText; this.add(this.text); this.text._sprite.set_font(GameData.DEFAULT_FONT); this.text._sprite.set_color(GameData.DEFAULT_FONT_COLOR); this.text._sprite.set_bold(true); this.text.set_y(2); this.text._sprite.set_alignment("center"); this.set_width(this.background.get_width()); this.set_height(this.background.get_height()); }; $hxClasses["ui.RecipeText"] = ui_RecipeText; ui_RecipeText.__name__ = ["ui","RecipeText"]; ui_RecipeText.removeAlphabeticallyFirst = function(word) { var _g = []; var _g2 = 0; var _g1 = word.length; while(_g2 < _g1) { var i = _g2++; _g.push(word.charAt(i)); } var wordWithoutSpaces = _g.filter(function(x) { return x != " "; }).join(""); var _g11 = []; var _g3 = 0; var _g21 = wordWithoutSpaces.length; while(_g3 < _g21) { var i1 = _g3++; _g11.push(HxOverrides.cca(wordWithoutSpaces,i1)); } var minCharValue = Lambda.fold(_g11,function(x1,y) { return Math.min(x1,y); },999) | 0; var _g22 = []; var _g4 = 0; var _g31 = word.length; while(_g4 < _g31) { var i2 = _g4++; _g22.push(word.charAt(i2)); } return _g22.filter(function(x2) { return HxOverrides.cca(x2,0) != minCharValue; }).join(""); }; ui_RecipeText.rlSwap = function(word) { return StringTools.replace(StringTools.replace(StringTools.replace(word,"R","$"),"L","R"),"$","L"); }; ui_RecipeText.rot = function(letter,n) { var limit = HxOverrides.cca("Z",0); n = (n + 2600) % 26; var $char = HxOverrides.cca(letter,0) + n; if($char > limit) { $char -= 26; } return String.fromCharCode($char); }; ui_RecipeText.rotVowel = function(letter,n) { var vowels = ["A","E","I","O","U"]; var index = vowels.indexOf(letter); index = (index + n + 5) % 5; return vowels[index]; }; ui_RecipeText.rotateFirstLetterGen = function(amt) { return function(word) { if(word.charAt(0) == " ") { return word; } return ui_RecipeText.rot(word.charAt(0),amt) + word.substring(1); }; }; ui_RecipeText.openLetterGen = function(number) { return function(word) { if(number >= word.length) { number = word.length - 1; } if(word.charAt(number) == " ") { return word; } return word.substring(0,number) + ui_RecipeText.rot(word.charAt(number),1) + ui_RecipeText.rot(word.charAt(number),-1) + word.substring(number + 1); }; }; ui_RecipeText.openVowels = function(word) { var vowels = ["A","E","I","O","U"]; var i = word.length - 1; while(i >= 0) { var $char = word.charAt(i); if(vowels.indexOf($char) == -1) { --i; continue; } var trans = ui_RecipeText.rotVowel($char,-1) + ui_RecipeText.rotVowel($char,1); word = word.substring(0,i) + trans + word.substring(i + 1); --i; } return word; }; ui_RecipeText.spaceSwap = function(word) { var firstHalf = word.substring(0,word.length / 2 | 0); var secondHalf = word.substring(word.length / 2 | 0); return secondHalf + " " + firstHalf; }; ui_RecipeText.insertLetterGen = function(number) { return function(word) { var $char = String.fromCharCode(64 + number); return word.charAt(0) + $char + word.substring(1,word.length - 1) + $char + word.charAt(word.length - 1); }; }; ui_RecipeText.lastLettersToFrontGen = function(number) { return function(word) { if(word.length <= number) { return word; } return word.substring(word.length - number) + word.substring(0,word.length - number); }; }; ui_RecipeText.__super__ = nova_render_FlxLocalSprite; ui_RecipeText.prototype = $extend(nova_render_FlxLocalSprite.prototype,{ background: null ,storedText: null ,text: null ,useCharacterSkill: function(power,charge) { var characterIndex = js_Boot.__cast(power , Int); var fns = [ui_RecipeText.removeAlphabeticallyFirst,ui_RecipeText.rlSwap,ui_RecipeText.rotateFirstLetterGen(charge),ui_RecipeText.openVowels,ui_RecipeText.openLetterGen(charge - 1),ui_RecipeText.spaceSwap,ui_RecipeText.insertLetterGen(charge),ui_RecipeText.lastLettersToFrontGen(charge)]; this.storedText = fns[characterIndex](this.storedText); if(this.storedText.length > GameData.MAX_DISH_LENGTH) { this.storedText = this.storedText.substring(0,GameData.MAX_DISH_LENGTH); } this.storedText = StringTools.trim(this.storedText); this.storedText = StringTools.replace(this.storedText," "," "); this.text._sprite.set_text(this.storedText); if(this.storedText == "") { this.text._sprite.set_text(" "); } } ,__class__: ui_RecipeText }); var ui_StatusWindow = function(word) { this.charge = 0; nova_render_FlxLocalSprite.call(this); this.uiBitmapData = openfl_utils_Assets.getBitmapData("assets/images/ui.png"); this.backgroundBD = openfl_utils_Assets.getBitmapData("assets/images/status_bar.png"); this.backgroundChargeBD = openfl_utils_Assets.getBitmapData("assets/images/status_bar_with_charge_bar.png"); var clockBD = nova_utils_BitmapDataUtils.crop(this.uiBitmapData,nova_utils__$Pair_Pair_$Impl_$.fromIntArray([0,32]),nova_utils__$Pair_Pair_$Impl_$.fromIntArray([16,16])); this.clock = new nova_render_LocalWrapper(new flixel_FlxSprite().loadGraphic((nova_utils_BitmapDataUtils.scaleFn(2,2))(clockBD))); var targetWordText = new flixel_text_FlxText(0,0,0,"Making: " + word,20); targetWordText.set_color(GameData.DEFAULT_FONT_COLOR); targetWordText.set_bold(true); targetWordText.set_font(GameData.DEFAULT_FONT); this.targetWord = new nova_render_LocalWrapper(targetWordText); if(targetWordText.textField.get_textWidth() > 230) { targetWordText.set_size(18); var _g = this.targetWord; _g.set_y(_g.y + 1); } this.clock.set_xy(nova_utils__$Pair_Pair_$Impl_$.fromFloatArray([this.backgroundBD.width - this.clock.get_width() - 10,72])); this.targetWord.set_xy(nova_utils__$Pair_Pair_$Impl_$.fromFloatArray([395,0])); this.set_width(this.backgroundBD.width); this.background = new nova_render_LocalWrapper(new flixel_FlxSprite().loadGraphic(this.backgroundBD)); this.add(this.background); this.add(this.clock); this.add(this.targetWord); this.cookBD = openfl_utils_Assets.getBitmapData("assets/images/cook_btn.png"); this.chargeBD = openfl_utils_Assets.getBitmapData("assets/images/charge_btn.png"); this.activeCookBD = openfl_utils_Assets.getBitmapData("assets/images/cook_btn_pressed.png"); this.activeChargeBD = openfl_utils_Assets.getBitmapData("assets/images/charge_btn_pressed.png"); this.cookSprite = new nova_render_LocalWrapper(new flixel_FlxSprite().loadGraphic(this.cookBD)); this.chargeSprite = new nova_render_LocalWrapper(new flixel_FlxSprite().loadGraphic(this.chargeBD)); this.add(this.cookSprite); this.cookSprite.set_xy(nova_utils__$Pair_Pair_$Impl_$.fromFloatArray([267,4])); this.add(this.chargeSprite); this.chargeSprite.set_xy(nova_utils__$Pair_Pair_$Impl_$.fromFloatArray([380,31])); }; $hxClasses["ui.StatusWindow"] = ui_StatusWindow; ui_StatusWindow.__name__ = ["ui","StatusWindow"]; ui_StatusWindow.__super__ = nova_render_FlxLocalSprite; ui_StatusWindow.prototype = $extend(nova_render_FlxLocalSprite.prototype,{ uiBitmapData: null ,backgroundBD: null ,backgroundChargeBD: null ,cookBD: null ,chargeBD: null ,activeChargeBD: null ,activeCookBD: null ,background: null ,clock: null ,targetWord: null ,chargeSprite: null ,cookSprite: null ,charge: null ,hasCharge: null ,setClock: function(amt) { this.remove(this.clock); var xy = this.clock.get_xy(); var clockBD = nova_utils_BitmapDataUtils.crop(this.uiBitmapData,nova_utils__$Pair_Pair_$Impl_$.fromIntArray([16 * amt,32]),nova_utils__$Pair_Pair_$Impl_$.fromIntArray([16,16])); this.clock = new nova_render_LocalWrapper(new flixel_FlxSprite().loadGraphic((nova_utils_BitmapDataUtils.scaleFn(2,2))(clockBD))); this.clock.set_xy(xy); this.add(this.clock); } ,setState: function(state) { this.remove(this.chargeSprite); this.remove(this.cookSprite); if(state == "charging") { this.cookSprite = new nova_render_LocalWrapper(new flixel_FlxSprite().loadGraphic(this.cookBD)); this.chargeSprite = new nova_render_LocalWrapper(new flixel_FlxSprite().loadGraphic(this.activeChargeBD)); } else if(state == "cooking") { this.chargeSprite = new nova_render_LocalWrapper(new flixel_FlxSprite().loadGraphic(this.chargeBD)); this.cookSprite = new nova_render_LocalWrapper(new flixel_FlxSprite().loadGraphic(this.activeCookBD)); } else { this.cookSprite = new nova_render_LocalWrapper(new flixel_FlxSprite().loadGraphic(this.cookBD)); this.chargeSprite = new nova_render_LocalWrapper(new flixel_FlxSprite().loadGraphic(this.chargeBD)); } this.add(this.cookSprite); this.cookSprite.set_xy(nova_utils__$Pair_Pair_$Impl_$.fromFloatArray([267,4])); if(this.hasCharge) { this.add(this.chargeSprite); this.chargeSprite.set_xy(nova_utils__$Pair_Pair_$Impl_$.fromFloatArray([380,31])); } } ,setHasCharge: function(value) { if(this.hasCharge == value) { return; } this.hasCharge = value; this.remove(this.targetWord); this.remove(this.cookSprite); this.remove(this.chargeSprite); this.remove(this.background); var bitmap = value ? this.backgroundChargeBD : this.backgroundBD; this.background = new nova_render_LocalWrapper(new flixel_FlxSprite().loadGraphic(bitmap)); this.add(this.background); this.add(this.cookSprite); this.cookSprite.set_xy(nova_utils__$Pair_Pair_$Impl_$.fromFloatArray([267,4])); if(value) { this.add(this.chargeSprite); this.chargeSprite.set_xy(nova_utils__$Pair_Pair_$Impl_$.fromFloatArray([380,31])); } this.add(this.targetWord); } ,__class__: ui_StatusWindow }); function $iterator(o) { if( o instanceof Array ) return function() { return HxOverrides.iter(o); }; return typeof(o.iterator) == 'function' ? $bind(o,o.iterator) : o.iterator; } var $_, $fid = 0; function $bind(o,m) { if( m == null ) return null; if( m.__id__ == null ) m.__id__ = $fid++; var f; if( o.hx__closures__ == null ) o.hx__closures__ = {}; else f = o.hx__closures__[m.__id__]; if( f == null ) { f = function(){ return f.method.apply(f.scope, arguments); }; f.scope = o; f.method = m; o.hx__closures__[m.__id__] = f; } return f; } var init = lime__$internal_backend_html5_HTML5Application; var init = lime_app_Application; $hxClasses["Math"] = Math; String.prototype.__class__ = $hxClasses["String"] = String; String.__name__ = ["String"]; $hxClasses["Array"] = Array; Array.__name__ = ["Array"]; Date.prototype.__class__ = $hxClasses["Date"] = Date; Date.__name__ = ["Date"]; var Int = $hxClasses["Int"] = { __name__ : ["Int"]}; var Dynamic = $hxClasses["Dynamic"] = { __name__ : ["Dynamic"]}; var Float = $hxClasses["Float"] = Number; Float.__name__ = ["Float"]; var Bool = $hxClasses["Bool"] = Boolean; Bool.__ename__ = ["Bool"]; var Class = $hxClasses["Class"] = { __name__ : ["Class"]}; var Enum = { }; haxe_Resource.content = [{ name : "__ASSET__:bitmap_flixel_system_debug_stats__Stats_GraphicMaximizeButton", data : "aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFvQUFBQUtDQVlBQUFDTk1zKzlBQUFBQm1KTFIwUUEvd0QvQVArZ3ZhZVRBQUFBQ1hCSVdYTUFBQUIyQUFBQWRnRk9leVlJQUFBQUIzUkpUVVVIM2dNSkNSOFVCaGtEeVFBQUFFOUpSRUZVR05PdGtFRVN3REFJQW92Ly8vUDJvb2FhOUJaUFpvQXdxd0NlTlpMVUQ5ZkNIVzc2VFkyZmR3MklVOVVwZUhlVU5kMVlBRm5kTUFGUW1ndTV0eGFWM202VDV5bW9EL0gwT3ZrTFNBOUI4bis0Y2pvQUFBQUFTVVZPUks1Q1lJST0"},{ name : "__ASSET__:bitmap_flixel_system_GraphicLogo", data : "aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUdRQUFBQmtDQVlBQUFCdzRwVlVBQUFBQ1hCSVdYTUFBQXNUQUFBTEV3RUFtcHdZQUFBS1QybERRMUJRYUc5MGIzTm9iM0FnU1VORElIQnliMlpwYkdVQUFIamFuVk5uVkZQcEZqMzMzdlJDUzRpQWxFdHZVaFVJSUZKQ2k0QVVrU1lxSVFrUVNvZ2hvZGtWVWNFUlJVVUVHOGlnaUFPT2pvQ01GVkVzRElvSzJBZmtJYUtPZzZPSWlzcjc0WHVqYTlhODkrYk4vclhYUHVlczg1Mnp6d2ZBQ0F5V1NETlJOWUFNcVVJZUVlQ0R4OFRHNGVRdVFJRUtKSEFBRUFpelpDRnovU01CQVBoK1BEd3JJc0FIdmdBQmVOTUxDQURBVFp2QU1CeUgvdy9xUXBsY0FZQ0VBY0Iwa1RoTENJQVVBRUI2amtLbUFFQkdBWUNkbUNaVEFLQUVBR0RMWTJMakFGQXRBR0FuZitiVEFJQ2QrSmw3QVFCYmxDRVZBYUNSQUNBVFpZaEVBR2c3QUt6UFZvcEZBRmd3QUJSbVM4UTVBTmd0QURCSlYyWklBTEMzQU1ET0VBdXlBQWdNQURCUmlJVXBBQVI3QUdESUl5TjRBSVNaQUJSRzhsYzg4U3V1RU9jcUFBQjRtYkk4dVNRNVJZRmJDQzF4QjFkWExoNG96a2tYS3hRMllRSmhta0F1d25tWkdUS0JOQS9nODh3QUFLQ1JGUkhnZy9QOWVNNE9yczdPTm82MkRsOHQ2cjhHL3lKaVl1UCs1YytyY0VBQUFPRjBmdEgrTEMrekdvQTdCb0J0L3FJbDdnUm9YZ3VnZGZlTFpySVBRTFVBb09uYVYvTncrSDQ4UEVXaGtMbloyZVhrNU5oS3hFSmJZY3BYZmY1bndsL0FWLzFzK1g0OC9QZjE0TDdpSklFeVhZRkhCUGpnd3N6MFRLVWN6NUlKaEdMYzVvOUgvTGNMLy93ZDB5TEVTV0s1V0NvVTQxRVNjWTVFbW96ek1xVWlpVUtTS2NVbDB2OWs0dDhzK3dNKzN6VUFzR28rQVh1UkxhaGRZd1AyU3ljUVdIVEE0dmNBQVBLN2I4SFVLQWdEZ0dpRDRjOTMvKzgvL1VlZ0pRQ0Faa21TY1FBQVhrUWtMbFRLc3ovSENBQUFSS0NCS3JCQkcvVEJHQ3pBQmh6QkJkekJDL3hnTm9SQ0pNVENRaEJDQ21TQUhISmdLYXlDUWlpR3piQWRLbUF2MUVBZE5NQlJhSWFUY0E0dXdsVzREajF3RC9waENKN0JLTHlCQ1FSQnlBZ1RZU0hhaUFGaWlsZ2pqZ2dYbVlYNEljRklCQktMSkNESmlCUlJJa3VSTlVneFVvcFVJRlZJSGZJOWNnSTVoMXhHdXBFN3lBQXlndnlHdkVjeGxJR3lVVDNVRExWRHVhZzNHb1JHb2d2UVpIUXhtbzhXb0p2UWNyUWFQWXcyb2VmUXEyZ1AybzgrUThjd3dPZ1lCelBFYkRBdXhzTkNzVGdzQ1pOank3RWlyQXlyeGhxd1Zxd0R1NG4xWTgreGR3UVNnVVhBQ1RZRWQwSWdZUjVCU0ZoTVdFN1lTS2dnSENRMEVkb0pOd2tEaEZIQ0p5S1RxRXUwSnJvUitjUVlZakl4aDFoSUxDUFdFbzhUTHhCN2lFUEVOeVFTaVVNeUo3bVFBa214cEZUU0V0SkcwbTVTSStrc3FaczBTQm9qazhuYVpHdXlCem1VTENBcnlJWGtuZVRENURQa0crUWg4bHNLbldKQWNhVDRVK0lvVXNwcVNobmxFT1UwNVFabG1ESkJWYU9hVXQyb29WUVJOWTlhUXEyaHRsS3ZVWWVvRXpSMW1qbk5neFpKUzZXdG9wWFRHbWdYYVBkcHIraDB1aEhkbFI1T2w5Qlgwc3ZwUitpWDZBUDBkd3dOaGhXRHg0aG5LQm1iR0FjWVp4bDNHSytZVEtZWjA0c1p4MVF3TnpIcm1PZVpENWx2VlZncXRpcDhGWkhLQ3BWS2xTYVZHeW92VkttcXBxcmVxZ3RWODFYTFZJK3BYbE45cmtaVk0xUGpxUW5VbHF0VnFwMVE2MU1iVTJlcE82aUhxbWVvYjFRL3BINVovWWtHV2NOTXcwOURwRkdnc1YvanZNWWdDMk1aczNnc0lXc05xNFoxZ1RYRUpySE4yWHgyS3J1WS9SMjdpejJxcWFFNVF6TktNMWV6VXZPVVpqOEg0NWh4K0p4MFRnbm5LS2VYODM2SzNoVHZLZUlwRzZZMFRMa3haVnhycXBhWGxsaXJTS3RScTBmcnZUYXU3YWVkcHIxRnUxbjdnUTVCeDBvblhDZEhaNC9PQlozblU5bFQzYWNLcHhaTlBUcjFyaTZxYTZVYm9idEVkNzl1cCs2WW5yNWVnSjVNYjZmZWViM24raHg5TC8xVS9XMzZwL1ZIREZnR3N3d2tCdHNNemhnOHhUVnhiendkTDhmYjhWRkRYY05BUTZWaGxXR1g0WVNSdWRFOG85VkdqVVlQakduR1hPTWs0MjNHYmNhakpnWW1JU1pMVGVwTjdwcFNUYm1tS2FZN1REdE14ODNNemFMTjFwazFtejB4MXpMbm0rZWIxNXZmdDJCYWVGb3N0cWkydUdWSnN1UmFwbG51dHJ4dWhWbzVXYVZZVlZwZHMwYXRuYTBsMXJ1dHU2Y1JwN2xPazA2cm50Wm53N0R4dHNtMnFiY1pzT1hZQnR1dXRtMjJmV0ZuWWhkbnQ4V3V3KzZUdlpOOXVuMk4vVDBIRFlmWkRxc2RXaDErYzdSeUZEcFdPdDZhenB6dVAzM0Y5SmJwTDJkWXp4RFAyRFBqdGhQTEtjUnBuVk9iMDBkbkYyZTVjNFB6aUl1SlM0TExMcGMrTHBzYnh0M0l2ZVJLZFBWeFhlRjYwdldkbTdPYnd1Mm8yNi91TnU1cDdvZmNuOHcwbnltZVdUTnowTVBJUStCUjVkRS9DNStWTUd2ZnJINVBRMCtCWjdYbkl5OWpMNUZYcmRld3Q2VjNxdmRoN3hjKzlqNXluK00rNHp3MzNqTGVXVi9NTjhDM3lMZkxUOE52bmwrRjMwTi9JLzlrLzNyLzBRQ25nQ1VCWndPSmdVR0JXd0w3K0hwOEliK09QenJiWmZheTJlMUJqS0M1UVJWQmo0S3RndVhCclNGb3lPeVFyU0gzNTVqT2tjNXBEb1ZRZnVqVzBBZGg1bUdMdzM0TUo0V0hoVmVHUDQ1d2lGZ2EwVEdYTlhmUjNFTnozMFQ2UkpaRTNwdG5NVTg1cnkxS05TbytxaTVxUE5vM3VqUzZQOFl1WmxuTTFWaWRXRWxzU3h3NUxpcXVObTVzdnQvODdmT0g0cDNpQytON0Y1Z3Z5RjF3ZWFIT3d2U0ZweGFwTGhJc09wWkFUSWhPT0pUd1FSQXFxQmFNSmZJVGR5V09Dbm5DSGNKbklpL1JOdEdJMkVOY0toNU84a2dxVFhxUzdKRzhOWGtreFRPbExPVzVoQ2Vwa0x4TURVemRtenFlRnBwMklHMHlQVHE5TVlPU2taQnhRcW9oVFpPMlorcG41bVoyeTZ4bGhiTCt4VzZMdHk4ZWxRZkphN09RckFWWkxRcTJRcWJvVkZvbzF5b0hzbWRsVjJhL3pZbktPWmFybml2TjdjeXp5dHVRTjV6dm4vL3RFc0lTNFpLMnBZWkxWeTBkV09hOXJHbzVzanh4ZWRzSzR4VUZLNFpXQnF3OHVJcTJLbTNWVDZ2dFY1ZXVmcjBtZWsxcmdWN0J5b0xCdFFGcjZ3dFZDdVdGZmV2YzErMWRUMWd2V2QrMVlmcUduUnMrRlltS3JoVGJGNWNWZjlnbzNIamxHNGR2eXIrWjNKUzBxYXZFdVdUUFp0Sm02ZWJlTFo1YkRwYXFsK2FYRG00TjJkcTBEZDlXdE8zMTlrWGJMNWZOS051N2c3WkR1YU8vUExpOFphZkp6czA3UDFTa1ZQUlUrbFEyN3RMZHRXSFgrRzdSN2h0N3ZQWTA3TlhiVzd6My9UN0p2dHRWQVZWTjFXYlZaZnRKKzdQM1A2NkpxdW40bHZ0dFhhMU9iWEh0eHdQU0EvMEhJdzYyMTduVTFSM1NQVlJTajlZcjYwY094eCsrL3AzdmR5ME5OZzFWalp6RzRpTndSSG5rNmZjSjMvY2VEVHJhZG94N3JPRUgweDkySFdjZEwycENtdkthUnB0VG12dGJZbHU2VDh3KzBkYnEzbnI4UjlzZkQ1dzBQRmw1U3ZOVXlXbmE2WUxUazJmeXo0eWRsWjE5Zmk3NTNHRGJvclo3NTJQTzMyb1BiKys2RUhUaDBrWC9pK2M3dkR2T1hQSzRkUEt5MitVVFY3aFhtcTg2WDIzcWRPbzgvcFBUVDhlN25MdWFycmxjYTdudWVyMjFlMmIzNlJ1ZU44N2Q5TDE1OFJiLzF0V2VPVDNkdmZONmIvZkY5L1hmRnQxK2NpZjl6c3U3MlhjbjdxMjhUN3hmOUVEdFFkbEQzWWZWUDF2KzNOanYzSDlxd0hlZzg5SGNSL2NHaFlQUC9wSDFqdzlEQlkrWmo4dUdEWWJybmpnK09UbmlQM0w5NmZ5blE4OWt6eWFlRi82aS9zdXVGeFl2ZnZqVjY5Zk8wWmpSb1pmeWw1Ty9iWHlsL2VyQTZ4bXYyOGJDeGg2K3lYZ3pNVjcwVnZ2dHdYZmNkeDN2bzk4UFQrUjhJSDhvLzJqNXNmVlQwS2Y3a3htVGsvOEVBNWp6L0dNekxkc0FBQUFnWTBoU1RRQUFlaVVBQUlDREFBRDUvd0FBZ09rQUFIVXdBQURxWUFBQU9wZ0FBQmR2a2wvRlJnQUFCTTFKUkVGVWVOcnMyOCtMRzJVWXdQSFhabTZDdVhrMGRFMFRzVCtTbVQxb2Q1Rmsrd3ZwbXRHYmlFaE9YbFZRTDE0Q25rdjNYRVFESG9SQ1llbXBiS21kcE10U3dVejIxUE1jUlBCU2dwQmxZVWQ0UEd5em1VMDJ1L01tNzQvbm1mZDk0ZmtIOHVHYk4rL2tIUVpkRDVSTXgydkRqbHRnUkJjczNjanZsUnJ0dmJJUE1vY3BBK2w2QUIxM0FGMnZCYjNsUEMwSXZ6VXMrUVBaR09wQkNNR29odEFMY2d5bTJzU0dNU3o1emIyeUg2bUV3QUV5aG9rd3dPaUV3QVdTaEhubTFsUkQ3QmNidGIyU3Y2c1RBaWZJR0NaUUFiTmZiTlNHNVVhQUFRSTNTQkptMjYySS8ycjZxSUlOZ2dhSTREUE0vdm5iQlJWbmlleURMQWhEQVlJbUNPY1pSdGRad2l5UUZEQVVJZWlEekRoY0RrdCtreUpFZGtCZXpSL0JsYWh6NjJaRUZTSlRJTHRCQmZKYmIwTitzd2pQcjkyMElCZ3cyTllTc0swbDhpZ3NTeGhaUUdGWnc2Q093cktJa1p4N1gzeGdRV1RPNXRQTHFURW9vcEFDYVQrOXhBVkJFWVdaZ0VFSmhabUNRUVdGbVlSQkFZV1pob0VkaFptSWdSbUZtWXFCRllWQnh3MU14UmpORDkrOGp3amttVnN6R1dNMG4vL280UUJoakRIb2VHMlRNVENoSElMMGx2T3YvaEkxRmdNSlNqVCtIN3BiL1ZvSHhzYnZGOUZnNkVZWmx2emoxMmtQNzlpcXcyZytlUWNkaGthVWFQcmFqTUlOSGpPR0RwU3BPc2FWZUpzV1F6bEtOUHR5Mlk1YmtMbkJVOEpRaFRLemp2RUc3N1VzeGpUSzM5VjF0WFVjZ1J6K0RJNHN4dkc1L1BPN3dsSE9yR084d1ZjL3RoaVNVVXIrTHQrTGp3S2VjMlVKUXpUS2ZySEI5MUlTYkxzVml5RUhaVmh1QlBPOUh0ejFOaXlHZUJUdU9pWTIrSUhGRUljeWR4Mko1MXhOaXlFT1plNDZKamI0M2RNZ0JoMFhLbzh2R0lmQmk3SndIV21lYzVtT3dZTWlwSTdFYzY2MnhUaDkzdnF0UFBPU3Q3QTZabTN3Rm9QdjVyM1FPaWFmYzFrTVBoVGhkU1RYeTA0MXNoaDhLRkxxR0sxTHplZEI3bUhGZnVncFVSNnRYNWRYeDlVMXFLMnVBVlErZlFFV0pjVTh1UTI1UC8rUkI3SmFoMkIxRGNDaXBNVjRDVTRZZzlPUGE5THFTSTVGU1lFUnh1RDA0a0JxSGNrcGZ2WEFBcHlHTVJxUmxaeFVoMFhod0JCZHlhdzZMRXBLREpHVm5GV0hSVW1KSWFxU05IVVlqWklXUTBRbFBIVVlpY0tMc1dnbHZIV1loUEphOENVL3hpS1Z6RnRIY3M1Ly8wczJNVHJmemdleFNDV0wxSkdjTis5OFp6RVdyVVJFSFZsRUVZWVJ4cERyeFp2SzY4Z1Npa2lNMGJBK0ZKVFhrUVVVR1JoT0dFTXVQR2hycVlNeWlpeU1WSlhJcklNaWlteU1NeXVSWFFjbEZCVVlwMWFpcW83a3ZQSFRaOFpqekt4RVpSMmplZS9EZitIMVg5ZU54aml4RWgxMVlFVFJoVEZWaVk0NnNLSG94RGlxUkhjZFdGQXdZQnlCNks1RE53b1dEQ2VNQVUwZHVsQXdZVGhoREtqcVVJMkNEZU1RQkNIR2FKWS8rVXZhblMrTUdPaEJaRjNFdzRwQkFrUTB5cm50dTJneHlJQ0lRam0zY3g4MUJpbVFSVkVvWUpBRG1SZUZDZ1pKRUY0VVNoaGtRZEtpVU1NZ0RYTFdSVHlLR09SQlpxRlF4Y2dFeUNRS1pZek1nSXhRcUdOa0JtU2xEdTJWYTFCZ2ZTamt3b08yQmRFMWRRaXVyc0gwL2RnK1ZKeGVIRmdRM1JBVHkrbkhOV293ak5oWFU3UmFoeWJ2TFg1S01DekxFSk1yMS91dm1Rc1BJZ3N5LzFmVFlLVU9MZEh2MjJPR1laZ2hsbTlBbmtsY0dHRVlRb3dOMlJESFZnL3lUaGkzY21FOHNDQW5uU1YwTFNRd0RNTlBXSzBReUdBWTlyT0V0cVhwMVAvL0FOd29yczhWOE1oV0FBQUFBRWxGVGtTdVFtQ0M"},{ name : "__ASSET__:bitmap_flixel_addons_transition_GraphicTransTileDiamond", data : "aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQWlBQUFBQWdDQVlBQUFBckZzTTFBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQXlKcFZGaDBXRTFNT21OdmJTNWhaRzlpWlM1NGJYQUFBQUFBQUR3L2VIQmhZMnRsZENCaVpXZHBiajBpNzd1L0lpQnBaRDBpVnpWTk1FMXdRMlZvYVVoNmNtVlRlazVVWTNwcll6bGtJajgrSUR4NE9uaHRjRzFsZEdFZ2VHMXNibk02ZUQwaVlXUnZZbVU2Ym5NNmJXVjBZUzhpSUhnNmVHMXdkR3M5SWtGa2IySmxJRmhOVUNCRGIzSmxJRFV1TXkxak1ERXhJRFkyTGpFME5UWTJNU3dnTWpBeE1pOHdNaTh3TmkweE5EbzFOam95TnlBZ0lDQWdJQ0FnSWo0Z1BISmtaanBTUkVZZ2VHMXNibk02Y21SbVBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHhPVGs1THpBeUx6SXlMWEprWmkxemVXNTBZWGd0Ym5NaklqNGdQSEprWmpwRVpYTmpjbWx3ZEdsdmJpQnlaR1k2WVdKdmRYUTlJaUlnZUcxc2JuTTZlRzF3UFNKb2RIUndPaTh2Ym5NdVlXUnZZbVV1WTI5dEwzaGhjQzh4TGpBdklpQjRiV3h1Y3pwNGJYQk5UVDBpYUhSMGNEb3ZMMjV6TG1Ga2IySmxMbU52YlM5NFlYQXZNUzR3TDIxdEx5SWdlRzFzYm5NNmMzUlNaV1k5SW1oMGRIQTZMeTl1Y3k1aFpHOWlaUzVqYjIwdmVHRndMekV1TUM5elZIbHdaUzlTWlhOdmRYSmpaVkpsWmlNaUlIaHRjRHBEY21WaGRHOXlWRzl2YkQwaVFXUnZZbVVnVUdodmRHOXphRzl3SUVOVE5pQW9WMmx1Wkc5M2N5a2lJSGh0Y0UxTk9rbHVjM1JoYm1ObFNVUTlJbmh0Y0M1cGFXUTZNek5HUmtFd05FSXhPRVV3TVRGRk5EazVRVGRDUlVVME56Z3lPVFkyT0RjaUlIaHRjRTFOT2tSdlkzVnRaVzUwU1VROUluaHRjQzVrYVdRNk16TkdSa0V3TkVNeE9FVXdNVEZGTkRrNVFUZENSVVUwTnpneU9UWTJPRGNpUGlBOGVHMXdUVTA2UkdWeWFYWmxaRVp5YjIwZ2MzUlNaV1k2YVc1emRHRnVZMlZKUkQwaWVHMXdMbWxwWkRvek0wWkdRVEEwT1RFNFJUQXhNVVUwT1RsQk4wSkZSVFEzT0RJNU5qWTROeUlnYzNSU1pXWTZaRzlqZFcxbGJuUkpSRDBpZUcxd0xtUnBaRG96TTBaR1FUQTBRVEU0UlRBeE1VVTBPVGxCTjBKRlJUUTNPREk1TmpZNE55SXZQaUE4TDNKa1pqcEVaWE5qY21sd2RHbHZiajRnUEM5eVpHWTZVa1JHUGlBOEwzZzZlRzF3YldWMFlUNGdQRDk0Y0dGamEyVjBJR1Z1WkQwaWNpSS9QckhzdVhJQUFBTHRTVVJCVkhqYTdOakJidVVnRUVUUk1QLy96NDRpelNhenlpakdYTGZPbGJLSnpLTUZEVlRWdXE3ckF3QmV4cjhYMXpvMDc4ZERkZnp2UmIwT3pYdFhIWGMvVE92UXZEK3Q0K21IZUIyYTl4dC8zR01BZnZGSVhJZm1QWEdCWHpkOTg4UmpmQjJhdDFKN1plOHF2VnVZa3dBQmNQc0ZkaDJhOThsTDlkcjA3YzdmT2pXMnNuYVYzcW1jblp3SUlVQ0FkNHNBQ1VURFBWZlNnMHJ0bGIycjlHN3U4UzlBZ0FEdkZSK24zVnZGdlZiY2UyVnNaZTBxdlZNNU8wUUlBUUxjZW9GSUlCcnV1WkllVkdxdjdGMmxkejMrQkFnd1NueWNkbThWOTFweDc1V3hsYldyOUU3bDdCQWhCQWh3NndVaWdXaTQ1MHA2VUttOXNuZVYzdlg0Z3dEQktQRngycjFWM0d2RnZWZkdWdGF1MGp1VnMwT0VnQURCclJlSUJLTGhuaXZwUWFYMnl0NVZldGZqRHdJRW84VEhhZmRXY2E4VjkxNFpXMW03U3U5VXpnNFJBZ0lFdDE0Z0VvaUdlNjZrQjVYYUszdFg2VjJQUDBDQWpCSWZwOTFieGIxVzNIdGxiR1h0S3IxVE9UdEVDRUNBM0hxQlNDQWE3cm1TSGxScXIreGRwWGM5L2dBQk1rcDhuSFp2RmZkYWNlK1ZzWlcxcS9STzVld1FJUUFCY3VzRklvRm91T2RLZWxDcHZiSjNsZDcxK0FNWUpVQUFBQUFCOGpqcjc5K0plWC95dnlmbWZhS085ZENZeW0rc1FYdFg2ZDNDbkFBSWtCR3NRNWZwT25TcHIwM2Y3dnl0VTJNcmExZnBuY3JaSVlJQUFtU1VDSkhBTk5LREhYVklZT2IwTHZFQkVDQjR1WXVVd1BUSFZ0YXUwanVWczBNRUFRVElLQkVpZ1dta0J6dnFrTURNNlYzaUF5QkE4SElYS1lIcGo2MnNYYVYzS21lSENBSUJnbEVpUkFMVFNBOTIxQ0dCbWRPN3hBY0lFT0RsTGxJQzB4OWJXYnRLNzFUT0RoRUVBZ1NqUklnRXBwRWU3S2hEQWpPbmQ0a1BFQ0RBeTEya0JLWS90ckoybGQ2cG5CMGlpQUFCUm9rUUNVd2pQZGhSaHdSbVR1OFNId1FJZ0plN1NBbE1mMnhsN1NxOVV6azdSQkFCQW93U0lSS1lSbnF3b3c0SnpKemVKVDRJRUFBdmQ1RVNtUDdZeXRwVmVxZHlkbklpaUFBQjhKc0xUQUxUU0E5MjFDR0JtZE83T2ZIeHhhY0FBd0RrMWZzODNpRUEyd0FBQUFCSlJVNUVya0pnZ2c9PQ"},{ name : "__ASSET__:file_flixel_system_VirtualInputData", data : "YmFzZSA9IDI2NiA0NiA4NCA4NAp0aHVtYiA9IDI2NiAxMzEgNTIgNTIKYSA9IDAgMCAxMzIgNDUKYiA9IDAgNDYgMTMyIDQ1CmMgPSAwIDkyIDEzMiA0NQpkb3duID0gMCAxMzggMTMyIDQ1CmxlZnQgPSAxMzMgMCAxMzIgNDUKcmlnaHQgPSAxMzMgNDYgMTMyIDQ1CnVwID0gMTMzIDkyIDEzMiA0NQp4ID0gMjY2IDAgMTMyIDQ1CnkgPSAxMzMgMTM4IDEzMiA0NQo"},{ name : "__ASSET__:bitmap_flixel_system_debug_GraphicCloseButton", data : "aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFnQUFBQUlDQVlBQUFERUQ3NkxBQUFBQkhOQ1NWUUlDQWdJZkFoa2lBQUFBQWx3U0ZsekFBQUFkZ0FBQUhZQlRuc21DQUFBQUJsMFJWaDBVMjltZEhkaGNtVUFkM2QzTG1sdWEzTmpZWEJsTG05eVo1dnVQQm9BQUFCL1NVUkJWQmlWVFkweENzSlFFQVhIYnlTZXdNdWxUV2R2YTZPbGxXSnBDQ0syaWsxT1krY3RRc1lpcS9rREM4dnM3bHZVU3UzVXBVcFdPN1ZDM1RqU3FXVU1EK0dldisxdGlKZDZ5dm95ajl3NzhWQVhLb21SR2JCaW9nY0dBTlNrTm5GNVY0L1IzOVNFMm9hNHF2TjRkdzUzS1lBMzBBRDFQeGJXUUFGOHZwYVlyTldBYU5WMEFBQUFBRWxGVGtTdVFtQ0M"},{ name : "__ASSET__:bitmap_flixel_system_debug_GraphicBitmapLog", data : "aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFzQUFBQUxDQVlBQUFDcHJIY21BQUFBQm1KTFIwUUFBQUFBQUFENVE3dC9BQUFBQ1hCSVdYTUFBQXNUQUFBTEV3RUFtcHdZQUFBQUIzUkpUVVVIM2dRWkV4c2Fka1ZHNHdBQUFFRkpSRUZVR05PVnpjc0pBREFJQk5FdDFUSnl0UFBKS2VSbnhBd3NlSGlnOUJOUW1mRURBU3REUUdXWTRRdStjQWhQN013cytqaU94cDR5dk9ZWkxrRkFIVzZYWUMwODhkcWRBQUFBQUVsRlRrU3VRbUND"},{ name : "__ASSET__:bitmap_flixel_system_debug_GraphicStats", data : "aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFzQUFBQUxDQVlBQUFDcHJIY21BQUFBQ1hCSVdYTUFBQXNUQUFBTEV3RUFtcHdZQUFBQUlHTklVazBBQUhvbEFBQ0Fnd0FBK2Y4QUFJRHBBQUIxTUFBQTZtQUFBRHFZQUFBWGI1SmZ4VVlBQUFBeFNVUkJWSGphWXZ6Ly96OERzWUNKZ1FSQWpPTC9VRXdkaytHbTBkVE5XQlZqdFpvK3ptQWtKUVlCQUFBQS8vOERBTDhIREFscWRHWVJBQUFBQUVsRlRrU3VRbUND"},{ name : "__ASSET__:bitmap_flixel_addons_transition_GraphicTransTileSquare", data : "aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQWlBQUFBQWdDQVlBQUFBckZzTTFBQUFBQ1hCSVdYTUFBQXNUQUFBTEV3RUFtcHdZQUFBN2EybFVXSFJZVFV3NlkyOXRMbUZrYjJKbExuaHRjQUFBQUFBQVBEOTRjR0ZqYTJWMElHSmxaMmx1UFNMdnU3OGlJR2xrUFNKWE5VMHdUWEJEWldocFNIcHlaVk42VGxSamVtdGpPV1FpUHo0S1BIZzZlRzF3YldWMFlTQjRiV3h1Y3pwNFBTSmhaRzlpWlRwdWN6cHRaWFJoTHlJZ2VEcDRiWEIwYXowaVFXUnZZbVVnV0UxUUlFTnZjbVVnTlM0MUxXTXdNakVnTnprdU1UVTFOemN5TENBeU1ERTBMekF4THpFekxURTVPalEwT2pBd0lDQWdJQ0FnSUNBaVBnb2dJQ0E4Y21SbU9sSkVSaUI0Yld4dWN6cHlaR1k5SW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTHpFNU9Ua3ZNREl2TWpJdGNtUm1MWE41Ym5SaGVDMXVjeU1pUGdvZ0lDQWdJQ0E4Y21SbU9rUmxjMk55YVhCMGFXOXVJSEprWmpwaFltOTFkRDBpSWdvZ0lDQWdJQ0FnSUNBZ0lDQjRiV3h1Y3pwNGJYQTlJbWgwZEhBNkx5OXVjeTVoWkc5aVpTNWpiMjB2ZUdGd0x6RXVNQzhpQ2lBZ0lDQWdJQ0FnSUNBZ0lIaHRiRzV6T25odGNFMU5QU0pvZEhSd09pOHZibk11WVdSdlltVXVZMjl0TDNoaGNDOHhMakF2Ylcwdklnb2dJQ0FnSUNBZ0lDQWdJQ0I0Yld4dWN6cHpkRkpsWmowaWFIUjBjRG92TDI1ekxtRmtiMkpsTG1OdmJTOTRZWEF2TVM0d0wzTlVlWEJsTDFKbGMyOTFjbU5sVW1WbUl5SUtJQ0FnSUNBZ0lDQWdJQ0FnZUcxc2JuTTZjM1JGZG5ROUltaDBkSEE2THk5dWN5NWhaRzlpWlM1amIyMHZlR0Z3THpFdU1DOXpWSGx3WlM5U1pYTnZkWEpqWlVWMlpXNTBJeUlLSUNBZ0lDQWdJQ0FnSUNBZ2VHMXNibk02WkdNOUltaDBkSEE2THk5d2RYSnNMbTl5Wnk5a1l5OWxiR1Z0Wlc1MGN5OHhMakV2SWdvZ0lDQWdJQ0FnSUNBZ0lDQjRiV3h1Y3pwd2FHOTBiM05vYjNBOUltaDBkSEE2THk5dWN5NWhaRzlpWlM1amIyMHZjR2h2ZEc5emFHOXdMekV1TUM4aUNpQWdJQ0FnSUNBZ0lDQWdJSGh0Ykc1ek9uUnBabVk5SW1oMGRIQTZMeTl1Y3k1aFpHOWlaUzVqYjIwdmRHbG1aaTh4TGpBdklnb2dJQ0FnSUNBZ0lDQWdJQ0I0Yld4dWN6cGxlR2xtUFNKb2RIUndPaTh2Ym5NdVlXUnZZbVV1WTI5dEwyVjRhV1l2TVM0d0x5SStDaUFnSUNBZ0lDQWdJRHg0YlhBNlEzSmxZWFJ2Y2xSdmIydytRV1J2WW1VZ1VHaHZkRzl6YUc5d0lFTkRJREl3TVRRZ0tGZHBibVJ2ZDNNcFBDOTRiWEE2UTNKbFlYUnZjbFJ2YjJ3K0NpQWdJQ0FnSUNBZ0lEeDRiWEE2UTNKbFlYUmxSR0YwWlQ0eU1ERTBMVEE0TFRFMVZERTJPakU1T2pBNExUQTFPakF3UEM5NGJYQTZRM0psWVhSbFJHRjBaVDRLSUNBZ0lDQWdJQ0FnUEhodGNEcE5iMlJwWm5sRVlYUmxQakl3TVRRdE1EZ3RNVFZVTVRZNk16UTZNekl0TURVNk1EQThMM2h0Y0RwTmIyUnBabmxFWVhSbFBnb2dJQ0FnSUNBZ0lDQThlRzF3T2sxbGRHRmtZWFJoUkdGMFpUNHlNREUwTFRBNExURTFWREUyT2pNME9qTXlMVEExT2pBd1BDOTRiWEE2VFdWMFlXUmhkR0ZFWVhSbFBnb2dJQ0FnSUNBZ0lDQThlRzF3VFUwNlNXNXpkR0Z1WTJWSlJENTRiWEF1YVdsa09tSmxPVEZqT1dVd0xXRTNabUV0Wm1JME9TMWlZMlEwTFdVMU5qaGpZV00xWkRNNU5Ud3ZlRzF3VFUwNlNXNXpkR0Z1WTJWSlJENEtJQ0FnSUNBZ0lDQWdQSGh0Y0UxTk9rUnZZM1Z0Wlc1MFNVUStZV1J2WW1VNlpHOWphV1E2Y0dodmRHOXphRzl3T21WbE56TTFPRGhtTFRJMFl6TXRNVEZsTkMwNU9UQmlMV0kyTkRnMk1EQTRNVEpsTXp3dmVHMXdUVTA2Ukc5amRXMWxiblJKUkQ0S0lDQWdJQ0FnSUNBZ1BIaHRjRTFOT2tSbGNtbDJaV1JHY205dElISmtaanB3WVhKelpWUjVjR1U5SWxKbGMyOTFjbU5sSWo0S0lDQWdJQ0FnSUNBZ0lDQWdQSE4wVW1WbU9tbHVjM1JoYm1ObFNVUStlRzF3TG1scFpEb3pNMFpHUVRBME9URTRSVEF4TVVVME9UbEJOMEpGUlRRM09ESTVOalk0Tnp3dmMzUlNaV1k2YVc1emRHRnVZMlZKUkQ0S0lDQWdJQ0FnSUNBZ0lDQWdQSE4wVW1WbU9tUnZZM1Z0Wlc1MFNVUStlRzF3TG1ScFpEb3pNMFpHUVRBMFFURTRSVEF4TVVVME9UbEJOMEpGUlRRM09ESTVOalk0Tnp3dmMzUlNaV1k2Wkc5amRXMWxiblJKUkQ0S0lDQWdJQ0FnSUNBZ1BDOTRiWEJOVFRwRVpYSnBkbVZrUm5KdmJUNEtJQ0FnSUNBZ0lDQWdQSGh0Y0UxTk9rOXlhV2RwYm1Gc1JHOWpkVzFsYm5SSlJENTRiWEF1Wkdsa09qTXpSa1pCTURSRE1UaEZNREV4UlRRNU9VRTNRa1ZGTkRjNE1qazJOamczUEM5NGJYQk5UVHBQY21sbmFXNWhiRVJ2WTNWdFpXNTBTVVErQ2lBZ0lDQWdJQ0FnSUR4NGJYQk5UVHBJYVhOMGIzSjVQZ29nSUNBZ0lDQWdJQ0FnSUNBOGNtUm1PbE5sY1Q0S0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnUEhKa1pqcHNhU0J5WkdZNmNHRnljMlZVZVhCbFBTSlNaWE52ZFhKalpTSStDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRHh6ZEVWMmREcGhZM1JwYjI0K2MyRjJaV1E4TDNOMFJYWjBPbUZqZEdsdmJqNEtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdQSE4wUlhaME9tbHVjM1JoYm1ObFNVUStlRzF3TG1scFpEbzFNMkV6TTJFM05DMWlNVFJrTFdNMk5EQXRPVFE1TVMwd1kyTm1ObVJpWm1abVpUZzhMM04wUlhaME9tbHVjM1JoYm1ObFNVUStDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRHh6ZEVWMmREcDNhR1Z1UGpJd01UUXRNRGd0TVRWVU1UWTZNelE2TXpJdE1EVTZNREE4TDNOMFJYWjBPbmRvWlc0K0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lEeHpkRVYyZERwemIyWjBkMkZ5WlVGblpXNTBQa0ZrYjJKbElGQm9iM1J2YzJodmNDQkRReUF5TURFMElDaFhhVzVrYjNkektUd3ZjM1JGZG5RNmMyOW1kSGRoY21WQloyVnVkRDRLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnUEhOMFJYWjBPbU5vWVc1blpXUStMend2YzNSRmRuUTZZMmhoYm1kbFpENEtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1BDOXlaR1k2YkdrK0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUR4eVpHWTZiR2tnY21SbU9uQmhjbk5sVkhsd1pUMGlVbVZ6YjNWeVkyVWlQZ29nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0E4YzNSRmRuUTZZV04wYVc5dVBuTmhkbVZrUEM5emRFVjJkRHBoWTNScGIyNCtDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRHh6ZEVWMmREcHBibk4wWVc1alpVbEVQbmh0Y0M1cGFXUTZZbVU1TVdNNVpUQXRZVGRtWVMxbVlqUTVMV0pqWkRRdFpUVTJPR05oWXpWa016azFQQzl6ZEVWMmREcHBibk4wWVc1alpVbEVQZ29nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0E4YzNSRmRuUTZkMmhsYmo0eU1ERTBMVEE0TFRFMVZERTJPak0wT2pNeUxUQTFPakF3UEM5emRFVjJkRHAzYUdWdVBnb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQThjM1JGZG5RNmMyOW1kSGRoY21WQloyVnVkRDVCWkc5aVpTQlFhRzkwYjNOb2IzQWdRME1nTWpBeE5DQW9WMmx1Wkc5M2N5azhMM04wUlhaME9uTnZablIzWVhKbFFXZGxiblErQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUR4emRFVjJkRHBqYUdGdVoyVmtQaTg4TDNOMFJYWjBPbU5vWVc1blpXUStDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lEd3ZjbVJtT214cFBnb2dJQ0FnSUNBZ0lDQWdJQ0E4TDNKa1pqcFRaWEUrQ2lBZ0lDQWdJQ0FnSUR3dmVHMXdUVTA2U0dsemRHOXllVDRLSUNBZ0lDQWdJQ0FnUEdSak9tWnZjbTFoZEQ1cGJXRm5aUzl3Ym1jOEwyUmpPbVp2Y20xaGRENEtJQ0FnSUNBZ0lDQWdQSEJvYjNSdmMyaHZjRHBEYjJ4dmNrMXZaR1UrTXp3dmNHaHZkRzl6YUc5d09rTnZiRzl5VFc5a1pUNEtJQ0FnSUNBZ0lDQWdQSFJwWm1ZNlQzSnBaVzUwWVhScGIyNCtNVHd2ZEdsbVpqcFBjbWxsYm5SaGRHbHZiajRLSUNBZ0lDQWdJQ0FnUEhScFptWTZXRkpsYzI5c2RYUnBiMjQrTnpJd01EQXdMekV3TURBd1BDOTBhV1ptT2xoU1pYTnZiSFYwYVc5dVBnb2dJQ0FnSUNBZ0lDQThkR2xtWmpwWlVtVnpiMngxZEdsdmJqNDNNakF3TURBdk1UQXdNREE4TDNScFptWTZXVkpsYzI5c2RYUnBiMjQrQ2lBZ0lDQWdJQ0FnSUR4MGFXWm1PbEpsYzI5c2RYUnBiMjVWYm1sMFBqSThMM1JwWm1ZNlVtVnpiMngxZEdsdmJsVnVhWFErQ2lBZ0lDQWdJQ0FnSUR4bGVHbG1Pa052Ykc5eVUzQmhZMlUrTmpVMU16VThMMlY0YVdZNlEyOXNiM0pUY0dGalpUNEtJQ0FnSUNBZ0lDQWdQR1Y0YVdZNlVHbDRaV3hZUkdsdFpXNXphVzl1UGpVME5Ed3ZaWGhwWmpwUWFYaGxiRmhFYVcxbGJuTnBiMjQrQ2lBZ0lDQWdJQ0FnSUR4bGVHbG1PbEJwZUdWc1dVUnBiV1Z1YzJsdmJqNHpNand2WlhocFpqcFFhWGhsYkZsRWFXMWxibk5wYjI0K0NpQWdJQ0FnSUR3dmNtUm1Pa1JsYzJOeWFYQjBhVzl1UGdvZ0lDQThMM0prWmpwU1JFWStDand2ZURwNGJYQnRaWFJoUGdvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW84UDNod1lXTnJaWFFnWlc1a1BTSjNJajgralJOUkFBQUFBQ0JqU0ZKTkFBQjZKUUFBZ0lNQUFQbi9BQUNBNlFBQWRUQUFBT3BnQUFBNm1BQUFGMitTWDhWR0FBQUE3a2xFUVZSNDJ1elp3UTJBSUJRRlFUWDIzL0szQStNTmRXYzZBQTV2RS9hWjJRQ0FuS1VCY0xwL0FNaEZ3TDc2NEFJRUFCRVFHLzgzRUNBQWxDTEErQXNRQUdJUllQd1JJQUN4Q0REK0NCQ0FXQVFZZnhBZ1FDd0NqRDhJRUNBV0FjWWZFQ0FRaXdEakR3Z1FpRVdBOFFjUUlNUWl3UGdEQ0JCaUVXRDhBUkFnc1Fndy9nQUlrRmdFR0g4QWVPajRRUVNNWndRQUFRSUFjT3ZyWHpDK1BRQkFnS1NJSHdBUUlPSUhBQVFJNGdjQUJBamlCd0FCQXVJSFFJQUE0Z2RBZ0FEaUJ4QWdBT0lIRUNBQTRnY0VDQURpQndRSUFPSUhBUUlBNGdjQkFnRGlSNEFBZ1BqcHVBQUFBUC8vQXdERGpoU0RtSUFyY1FBQUFBQkpSVTVFcmtKZ2dnPT0"},{ name : "__ASSET__:bitmap_flixel_input_mouse__FlxMouse_GraphicCursor", data : "aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUJnQUFBQWdDQVlBQUFBSVhyZzRBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQW1SSlJFRlVlTnEwbHM5ckUwRVV4Nzg3MllTZ0psVFNTaVdwVnZyRElxaEZVSUtnK0NlSUlncWVGRS9pVFJDOHBMUVhqeUwwNGc5Q29tWFRKSVcwT1ZVRU1UZEJSSWs1VzZXdGtLSlNiR25EcHNuNlprMlczVFFicytua3dkdVpuVm0rbjMwenczc2pCVUxCQ0lBcGRNbGMrL3orZDlScTVMbHVBT1JhTzhrZkR5ZW5XMGJ5YU9LZVl3RGpEMDNUZEFnSlJFUkhJTkVlYUpWS0ZZeEprQ1NKajAzWVJYTC85bVZib2Q2QmtIMEV1bWxTdlNjMEVnTnc1ZXAxakE2UENJY1lnQU0rUDU0OG5zYXh3VUdoRUdaKzJTaFZNSjlLNCtqQUVXRVFDMkM3cEVKakhpeWswd2dGZzBJZ3JIRmdhYm1vaTJkbWt6amMzNzlueUM3QW44MHQvRjdmMFBlQ1F3NzE5UmtRT29xUlBRTzRmVjBwNnUzdzBCQXl5U1FDZ1VESGtLYUE0czkxYkc2VjlQN3hrVkU5a29NOVBSMUJtTjNFVWkwS2JpZkd4akNuS1BEN2ZJNGh0b0RWNGkrbzVSM2ovZlRKVXdSSk9JYllBbmgrK3I2NlpoazdNejRPSlI2SDErdHRHOEphVFg3N3NZWkt0V29aQzU4OWg5U3JtYlloTFFHcXVxTXZWYU9kRDRjeEU0M0M0M2JEVkU4aWpnR05tMjIyU3hjdUl2Nzh4WDhoY2l2eFdTV0dmUDRUYmV4K0VtcitLVjhxdFZ3MlEyQ3U4YmFBVk9JbEZ1YlQvejZTWFdBdTF1N1J0MENhQXJJa25Na2t3UXVjTE11UW1PUTBReGlRWFlEWGkxa2thR2tZWTVEZExqNzBsdnhCaDhuVVl3SGtjbThRaXo0MUw4a2lMM1pVbzdjN3Jja0c0T09IOXlnVThuQVRzMWI4cytUWFNGd1ZVbkMrRkQ3VFh4czNpemtSNGtZRUx1c0o0ZUkzbTRuYkxZT1RWS0dRM3hEeDU1YUxWNjBmSTcvRDg1ekltMTA5Z21ma3QwU0wxMi9YdmRUZTdkYjEvYThBQXdDWlVNUU16UW9keXdBQUFBQkpSVTVFcmtKZ2dnPT0"},{ name : "__ASSET__:bitmap_flixel_system_debug_stats__Stats_GraphicMinimizeButton", data : "aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFvQUFBQUtDQVlBQUFDTk1zKzlBQUFBQm1KTFIwUUEvd0QvQVArZ3ZhZVRBQUFBQ1hCSVdYTUFBQUIyQUFBQWRnRk9leVlJQUFBQUIzUkpUVVVIM2dNSkNSMDFlRVp4RlFBQUFEOUpSRUZVR05OaitQLy8vMzhHQWdDdUJzWkExb1JOREM2QnJoQ1p6L1QvLzM4bWZOWVQ0elR5QUNPNjhZeU1qRmpGbUpBbHNacUVMRWRVOEJBYjRBQzRjRkxGc3d1SW53QUFBQUJKUlU1RXJrSmdnZz09"},{ name : "__ASSET__:bitmap_flixel_system__FlxPreloader_GraphicLogoLight", data : "aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUVBQUFBQkFDQVlBQUFDcWFYSGVBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQnE1SlJFRlVlTnJVVzR0dTR6WVE1TktVYzNmcHQvYWYrcE01MjVLNFJRQ3gySnZiRi8xSTJ3Q0VaRWQyTk1QWnQwTGx6Ny9LQzMvb1NkL0RyN3JCOXNXZzZVN0E5Q295MmhjQXB3ZStpNFB2NC84Q0FSUzhSM2VBbE5ld3VBNC9RNCtTMEw0SU9EMWdDcFM0RC81cUFpeEFsSHd2SW9PVHBQQ0VtcDVHQUUwQ0orTzZqQk5rQjlSVFRLSTlDTndDR0wwWDdUd0xnS3lBWlllSUtUVTg2Z1ExSXNaN1ZRRS9TNEE4NzQ0S1h1b0RNdktPVm5XVWdJQ3NSUWNKRkpBeFJVeDdFSHlGY3dSY0EySTg4QU5rRjY5SlVRWTdEalEwaDVZQWI1RkFEdUFxRnNGNWhvQU93UHZ4K1E0cTZBYjR0Qis0eHdscTREWGdKK1cxWmc3c0VERFdMc0NpQ1hqK0ljd1ZXbkwzU1pFK0FwWkFjVlZGRmFSNGRqN0FzZ0MrSDUvWndROGcwRzRvd1EyUjdRNnZYNVhkSHlBYkFHOEtHZmdkMnU0UDRKczR4OWZqZm5ieG5YMDJTclNKM2RkMi9pU09UUnkxZFlMcjBRZDBBRDhBeTRYa2FVUjRvZkkzTWxvaXhkWGlPMG9ld1M2d21xSUdWSUFrUUlKZWp6WCszbVlrUldnS2x2Ui9lZDBtS2poTi9pY0Q5RmtjeitMMzQ5b0t6cENGbzBQZ0RmeUk1ZUZaMmUzeWlBL3draHEwOHdVQXY4SDVJb2lRU2tCUExuZitKcFpHZ0JWQ2krSVV6YWpRa3BWZURhUXZ3WDg3UUkvMVRmeE9tb1NtQUFSL0ZZUlI0RGhMMER0SU9VRnliSitVVUllN1AwQi9QNERMOVNaSWtHYkFRSUFFdjRqZEw0cGlNR21xQWp3Wi9RVFZDVklpSDdETW9BRUJBL0FuQ1QrTzQzZEJ6aG5zZWhBZzdmNFQvRThnQ3NIdlNzSlVJVzBtbzcvSVVSZ2tKd3lpL1dzRWZBSitQd2dZUzVyRzRoRHdDZjRDU2lsR2xyZ2JaS0FTckVZclo0b2hMZDNGMEhkV0NQaHhrUEN1S0dFUkpFb0h1QjdnaDBwSUFhOGxSaWVSTVZZbFd6VHJnMHd4cEJFaGZjRWlTSkFFSUFudmdvQXpSQUpwLzJkbDUyVitzRUtJYk1mN0o1RU00YkljSWJWRTFXZWx2bG9PZ0k0UUNaQ21nQXBZaGRldjRzWXQ4R05wOVlaSHdpOUtpRExCNGhSQUo4TVJuc0VSRG4vd0J4Q3dnTk5hUWZvTXdHVmtXSlQwR2plcVo3ckhUUWtSTldoalJabmdHWlNBSmpITW9JRUNic0lrQnZnQi9BMXlDU3Uxcm80RDU0d1BvQ0FaaWtwZ0xTcThLZUZ4Z0tuQ0I4aW9JTUZmSUwxdWlWTGJhNzJGWVRBVEZTaHdqTTFSeGpDUlJlejRKbXI5TTZUTkMrUU5sdXk5QnF4cEJqTzFnQlVleVZBRGtxRVJVK0hHUmlSb3prNlRrNm5TN0N5eUpZWVRzeDNpQW0xeEN0cG94ZWtZUlUzVnUwQVh1TW1aMlI4N0ZSZzcvVDJyMVYyVWZvRDNXYTk5bmhtcjNhMEE3WTk3N1d4TVQzZFk2MEV3SmtJYnRMMnNuUDllOEdZWUpLZU5aTzF3VDdTeE1HbTVpci9KSWd6dVVQL2Z4R2MyY2R3VVFsQTkzc3pBRElQUkdKcVYzbDBQMmxpeXJKV2xMWW5QVk1nRHJzcTZBUUdhU3Rnd3lSSjFoVnBDTWw3ZkhuY2VnVjlFL0Vid0MrUUJzZ3orT0k2WFl3MHlWa1VORmhIZUlOWE5BNnkrR2twdGQzYitDbVZ0aGZSMmhZS25ReW44QVNSY3dUUlFBWmFQaUtLYW1ncVQ0Z09zY1pVbCtjWG81bGdWWDRmTTd3T1dSOFNtQUk4YzVUOEthY2FPRjRNRWRxUXZuVnd6cXJvVkNDQWdZQld5bCtDUmdCV1VnSW9vR1FjWW1ZQVg0anFFdEhiY21CeVdrTkx4dllGUGtBckFqdEJGVVlFa3dsSUFubk1tQ2hSbnlvbzl0azNKNkc3S0VGVHVyblJ5NkJUeEd1bEFmOExTRklBT2taMlErRnRWT0JNR05UVnNrUGRYQXp6dVBqWkZPNWpCVGV5MGpBWVhKVS9ZamR6QWNvUnVGR0NuZHU0d2t4dm5ZMngxVlZTek83dGZ3UVIyVUFIbUJSZHh0SnhnRDU0eWNVM0E2NkdqS2V4S3I2REF6ck1DQ25jZkJ5TmFQbkZUdlArcWhNTTlDSU4zT1VFckJTYVIxR3lKTWZkTk5FS3QyV0EzU0pESHEyUDdtZDNIOUQ1VkRHbFBjZlNnNVl4Z21taDV6VXlIVjZXbXNNQjNweVpJSzhDZHBSdkFOeU5ibEFTY2xLNU9FVTdRZXo1Z0Qyb0JiL2VuTTBFdkg3Q2V5Y0dFYVFCcHg4MWxtcGRlaldFOUtUSlRLdk1qaVZCSlBKT3p3WmdMbldBTituajRqSkJHUkUvbS96elRGR21KM2ZjYURkM0lGYW80N2tyTHF6Z0U0UENUamVaSWxQV0Z1NS90Q211NUFRNGdHRVpaVlF3cHZhZkROQ2ZibmVKTEE1d3BnKzl1aVZId1hsZUlRSDlnTlRpTEUyVllxZTZpZmlGUE5IZW5HaUxraEVRQ1U4RHFyMExPRUQwMm55R2lPS0dPWnh1aldSTW9Tbmkwd2lRcFQyaVEwNGttQnp3N3RRZ0hOcDhpWW1ZeTVEMTBxRDJwVGNiTWdCTmtsNENFakpON3lmOExjS0tEck8yOE5ZTG53QXk4bHJ5MzAwODFnZG5Ka1VXSU5YVGxoQkl5NzAwUFJlNGx3RXFPTEFkcDNTQWxBSEJ5V0hNWCtHY29nQnhpSWpJeWl1STdydmt5QWlJMXpONGtUeWpqS2VDZlFVQlcyc1dwS1NJbitCTGd6eVlnVXNXak4vNi8rdS94NkticDN3QnEvZnd0d0FDRGVkRE1KazlyRWdBQUFBQkpSVTVFcmtKZ2dnPT0"},{ name : "__ASSET__:bitmap_flixel_system_debug_GraphicConsole", data : "aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFzQUFBQUxDQVlBQUFDcHJIY21BQUFBQ1hCSVdYTUFBQXNUQUFBTEV3RUFtcHdZQUFBQUlHTklVazBBQUhvbEFBQ0Fnd0FBK2Y4QUFJRHBBQUIxTUFBQTZtQUFBRHFZQUFBWGI1SmZ4VVlBQUFCVVNVUkJWSGphdEpIUkNVQWhEQVBqRzhVVjNNbmhuTVZaWE9IOFVTaFBoSW9ZeUUrNXRJRUdRRjU5T3BDRm82UXFLVzFwd0RvRERTaS91WUFGbmk0amxEM3d2SUlOWEcxMmQ0NUFCZEt1V25qMmxENEFLVWJYUXNkOGx3a0FBQUFBU1VWT1JLNUNZSUk9"},{ name : "__ASSET__:bitmap_flixel_system_debug_interaction_tools_GraphicEraserTool", data : "aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFzQUFBQUxDQVlBQUFDcHJIY21BQUFBQkhOQ1NWUUlDQWdJZkFoa2lBQUFBQWx3U0ZsekFBQUxFZ0FBQ3hJQjB0MSsvQUFBQUJ4MFJWaDBVMjltZEhkaGNtVUFRV1J2WW1VZ1JtbHlaWGR2Y210eklFTlROWEcxNHpZQUFBUW5jSEpXVjNpYzdWZGJiNkpBR0lWWGZzV0VmVjBGckZZbGFyT3hhZmJGVGJOdDBzMitVYUNXS0pjQWpiWi9iWlBkOTAzL1MvL0J1bmlqaUZ6bUJ0cVcwMkFyenN5WmM4NDNIL1h2djk4dmpNTTRpOFhpK2ZsNWJqck1FcjJ6dWFPb0U5MEh0L3JZc1ByOHk2OC9QREMwUG4vVEdva2paNmpmRzErZlhQM3E2ZHUxK2pSUnV4cC9OdUI2Y3psWXdOUjlCY3pOcWVYSjh6NnZhUGF0TGdkL0wyOExQRmdOOFNkOS9zdnlBL0JqZEFtR3RxdURWbDJzcWVLcENFNmx1blRTYkxmYm4wRkRsRVJCYkFoU295YTE1Wk9HTElwZ0EzN0FCYTg5Vjd1VHY1OWZiT2lDZDMzKzN2Y2RXUkJtczFsOWRsSzMzYkVnZGJ2ZDVUS05SaTBZVWZNZUxWK1oxeXp2MDNxUjdUcm51cWU2aHVNYnRnV1c3NVZiKzhIdjh6d0hJdGpvTXAyUXlQTHFLNDExMVRhRnVlSUlVbDBVd3BXWGl3ZWo1YUdySzc3dFh0djJkTEJXZm1HNCtzeDJKeDRZWHJXQUZNd0tmcHFkSnJneExNMmVlVDBoUGk5cFNmMDh1QWFCVWMyYTJLbUp6V3VwSTdlYWNsUDZHWm0vSGhTYlBySTE0KzR4YWZxcDNPcHNwa2NHYmEwU1lsN2hlcWlwb1lYT2d6dGRKYVdwZ2o3VlRkM3l2Y0JHYWRkR1RaWHZiTmRVL0lGaEttTmRjS3h4VDNpOW1ibS85ZDJnVW9JaUZjSXFqYXdPbUpJQllxajRTY0J1cmtQeG8rL2dmZm9QNzhENzBuL2cvTkZLbno3L2FnZlkrWE52UG45azlkVDQ5MmhoOTBHSG44MjQ4dms1Y3YwNHBSL3lFK3RuWDMraE9rQ3QvakFOb0pkL3RQclI4aWZseDgyZUZ2OTJEd2ZMbjhBQVN2cFRzaTg2ZnhpTzdERWsvRm1ad3pxQnowOVM5VW44SElILytBNFErRS9GQUtMNnk2ajY0dk9QYlFRVFlQZnhpOElmKzIrbjlQeGplOEVEcmZNUFV3dTArTm53WmVjUDZQMlM4Y2NWUisraG53UlUvZ1MxUkgwQTEzL1U3Tk1jUU9ablU5OWdBVU0veHJtbmwvLytYc2lBNHo5cDlvbjVjNmo2eWJQZjRjZnpQN0tYb3ZOUDc2TG9Ucnl1QmN1ZjFjT2puNk5lc2NkdkNuK09Rb0pTb09FL1EzQUtJUG5wRkhzQ29QV3o5Tld6S1B3RkFkNy9yUHh4MVIrZGZvNTBQZXorbjZJL3IrL3NEVVpFTmo4UysyWUN2ZjVmMktGUDRPY1M5YU03UURWL1ZBT281NS9aOVZKMlFDLy9NaEI3L083eTUzUzlKTkErLzBVamdSOURkUkt5YzgvZ0QyY1Rra01oaVo5SzMwazRDYkQ4Mi9sbElEMS9HaEdnNXM4Qk1zNGRjaWlrNVU5c1AybitKZUZJemo5SFdUOVIvdEZWc0oyQW5KdWZmN0dOSUp1ZmhCdk9PUzVYUDlZbXFPYVB1d002K1JlTC9QeHhhd0J1YmtINjM5SDVMeFk3NUZ3cVA2U2F2S2RkRG4rT2ZwaFZVYk9DNVVmOURrQ2JIMnBoakdJTmc4L21oKzJFYkdRc0F2K1IxSDlPL3JEMVYxaitNT1NJZ09TSDdZVElIZk90NUI4aVNTSEJjd0pQZnhJVDNuTWFuWjhlTndGS0o0d3k3M1ZDU3QrWXlGQVdlNUxTd3lvdkZaVFAveHZHVWFnK0pQdFI1SDFjbmZCRDRmRFZYNkZDaFFvVktueHNMQ3BVb0lCTFJtSEdqTTRBUnFxcTZnUGlQMUhNM1VabjEzZmJBQUFBU0cxclFrYjYzc3IrQUFBQUJBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQXBwRE9oQUFBNWNHMXJWRk40bk8xOTJYZmJ4cEkrYm02Y1JQSWlPNW1UZVpnWG5UUHpPNytuNUJJTHQwZFJGQ1hGbE1RUWxDM254UWNFaVZnVGVSbFpWdUxod2Y4K1hWWGRXQnFOVmFSRU9iaStVWk5ZRzE5VmY3VjBOWGowdkhlOWVERzJ6eGVPLzJKOGRMN1EvY0Y0TjlLTWZ6MCtYN1NzZWNPejVqUC9iTGpyTFJyK0sycGVIdmE5aGE3N0I0Y1RiTWQ3dHJkb0cvN1lQajFudTN2NzdBb2UvczhmRFlmWGk5NkkvZG5kbVh4Y2FCdmFWSE8xMTlwSW0ydnYyS2R6N2NJL1BENWllemJabm5kc2o2Nzl4UGFlYTMreEl5NzhjZjlrQ3BmY09jWXI3N0FPbS9PTzMrc2ZRaWQ3UjZ6bkhtdndPWHIySGg1a0QzQ2ZmWUJOYjRnYmU4K3gyVDNtRjlnYjRQZnhCQThhOVBEYllJek5NVzIwUitlTGJzdnZUV2puaEs0K3Nla21SM1E5YWc1M29KZkgwS3VHM3ovUnp4Y2QxaGh3bWY2SmljMkFiVFJZWTFCalF1TVhRdWJmVmNobzI5b08yM3JGdnYvRVBsMncxdEUrc2oyejI4Uk12eUZtK3Fvd2U4Z3gyOWN1R1M0ZnREZHMzNVUyejhUR0ltem1HZGcwbE5pNGJneWJSZ1kyYm9ld01ZM1M2T2dXd2VNUVBBN0IweUY0T2dSUHg3ZEh2N0c3VEgzYjV1M29oS0hXZE5nRy9xRVlnTTg0Z0x2YWU2WmM3eG1NVExXWTBrV1BqSUxKTG94b0dzMHNOSjBDYUVxYWxvV21wR25PY2tjblF0aHFLU0MwUnozYVkxTWJoZlE3RG1rUHgrTzU1bkpBdHppZ05nUFRZN3E0clkzWnAwOXMyeXgzMUNxeDFEMXJ1ZVBXZEN1T1c2ZnN1RTNENkZFQ295SGIrNjdLdUpYUkthUnI2NDJPMEtBRHR2MFNCK01OTldqSnRySUVRbzNWNmsrSVVHWDlLY0w3YTRtTm9QUStZdk1HTllQUTJlRG85Sm5XWElFMXZEWFd5ZVJ3MTZvNHNCb0VUWU9nYVJBMERZS21RZEEwQ2tLekZVQVQ3RUUxbXJQdjE5cm5lMG5PZXR4dGFCSk1UWUxKSVpnY2drbnRGQlNGS1J5RldUQVo2dzNURXNmWmt4UmxRazRxajlHZE0xRVdRazFDcUVrSU5Rc2k5RlNKMElUaGM4NTg5WXNjdmw1WFRUS1hya2xxblBwbzlhZjNGaWVqSWs2UE9FNDdURXN1bVczdnNiK2ZBQmVPMW5jY3JXSjhCUDJPd05PeUNCL2NuNHRQeDhxd2J4amJSUkNhM2REMkc0U1FRUWhaaEpCRkNGa1U4SUZVWXhFZlBBYUdLMnhER1F4RjNEeGh1dllYOHhFK1VlQ1hqYVJTMGJLQjFMc2NTbU9hRlR6TFVKWUtueXVEYVhTTGdmbUVnN25MRk80Q1V6Qy9CK21Henh6UWJ6aWdMeG1NVnpFWTJ6UENzUzFTTTJwSElpdU1nVk5qNDlYSTk3Y3F4ekZHcHhpQ1BaNS82RlhDYXlNeWlOK3l6KysxOTlrSkxZNmFiaFlPYmZTR1ZkNU5iVFlJTnVSUEFNN0x5alpVUSs0M1lCYWVkekQxV1duc3NnbFE2RnZISmVUbVMzSTJHbG5PaHJGU1phc0swSytNMTg3aHFCaEFWcE1BMHFlU2JvbHNhWU13Y3JPSURkUWlYN2ZRZ0VSd2F2RVlDSlZxSmFOUzFxMkEyS29PMERIYk84VUIraTVUemZUdWN2WHNMa2d0aXRIREFLTTM2Tkc3REFFblNKdCtHODlnRmFJdWpneXFWYTZIcGhzdWh3ZE1ZRUY0V25OT1huQXlBSVNKMDJKMnM2Q0NqWmxlR2ZNNSs5Qkw2bFUyWmtLamR0SFhBTnJQRHJnbDNQQ2hGS1pTd3EzdGxsY3JpK2VYSGE1WDVzeGFObTZLZ2RrVDJXWnVib29qV2NWN1U3c2RtTVpQQjlNMXlvTVorRzVOZzlBa2JTeUdwajR2N0h5UXR3WWdlaFdVY0lTMjh5cC84bEZTUXM4cTRIaDRWb1d4SzB3RDEwR0VjZmtxQ0pwbkMrY1hiQU41d2VKRERGajhNRlpvNTBZQU1WaU56MmdiNHJ3NFp0di95SWxiTzRSc2w1QkZVeGxCdG5IVHZLTkZ1SkwyZ1pwMHVOSEZtQVNnaGJrc3dOYkl3TGJKczQvTXZGSDgyaVYwV3h6ZUZzZTN4UUdtRVEwZnBwNDBvd1RlOHZnQWpYOHhNTXNGdXZFNEYrT3Rpc24vSW1xYVJMT0FvcHFHU2xGYkhFa09aQnFPZ2FJS0hLVnhuNC9qQktlSFhlMlBNaU8rRUpERnZFRTFrampRd2VoTWwyNnNjY1RqYUJaQWpxTkRuOGdnSFZIQnBBTXNSSUJwdWdrazdxU2hUcWkrVys2MFZNRzhRV001QlFscU9GdUpLZmNlUjlIdUphZllzOEVTdWVJRDlMWGZjSi83RFJxZ1MrVUVPOXBlMU1kR2pDZkpZaWQ0VXVsYW95RXFHdmc2S3dXdlBGUjl0TjUvc0wxSC9KTU1WWXBCS1ROdzllYThTS3BQN1M2dVVzOG8wNWZNcldSakp5WnVob0Y2cGFNbjU2VmNaWGJQeUFqZ3doaWxncSs5TXZDaUpqZDB0TVd3MVR2ekdKN2ZjRHhQRkRVeGtEUUYzeEVtbUcyY3NIRDRoR3EySGpyS2VLK0FJWWJBS2lPWjREcUVwTUU5RzllUXdyMFpkN1RKUzgyeElZd3RDYzhPQjdSRGlMcTgxTWpsbUxvZDJTTERoN0g0a0N5YUdRY2ZoQTg1R25Pck14NExyOUpPUm84cVVXeEdSSEdPRG52ZWJJaFQxdFFJSndqTWI1NE9tNUpQS1d5M2NOWnh1Q1E4U3IxQWlBTmJCMXdhQTVJR1lveW1lUWM5RElRYXFwSEFWRnN0QWxIM2NqSDhRUjB0OGxtQllxaTJLNkpheUh4elQ5MXpwTlFyNXdackdnUFZVb0hhc3RUSzNPUjFBazFlS01EYWVPNmZuS0V4K2o2MlBlYUE4KzhBdE80VkJub3pTQXBkb1E4S0JUc2ZpMWdza2RRV2sxTzZNNy9wNUJTSHRpa3BiSngxd1dHeXNTZzRuU1lFc2xoZllGSUx5Sm91SVl1dGlTMHFMQ3JvbU9OMndIRzBFNzZsQ3IrSEFYNjN3TFhtckJEWFNrbU5nR296cHdWU1FzaUNDQkpsS21rVnZRTFFWb0V5MElLS1N4OXplRjhpakhPZUJzRUN6d3J1dThmVjFJdXJxZWNzaVZadjZvS3FLZFZRaFVQa0NFU05WeEFGeVZNeCtSaVdDeXlOampJRGgyNXFIb3FRU3lzWlY1b2kvUVl1N28zaVNsTUZKSmJGcGhYT1ZvT3hXQjJXTkEwZHhFUEZLaDVLQUNuQ3lXRE1JMlhjS0pHcHJPSU9jbkpocWdPZGYvRmhmQkpoMVFheHFsU01MSElmWTI1MTNtdHZwV0grQ3FPQTdHSGVLWi9xRkxBV0tZM25abjZxckFPVWpMeHltS2Vab3JSY1hEemZEckNoY2JjVFFWVStmRlJMbVczTVRkWHdsaVlSbFdHNjJTaU9IcXA3RXI2cGxaL0tET0NUVXBtZzM0Z2ZmVERwQTdsSkxGb2lOd2srb0J2ZmFwQ2ZoSlpuTEZTVVBOSmltSXBTaVFGNG9pcEU0V0VpdGwyWW5UTEdQVk1mRVVOVmlsanRIWEZNVFJXbWJrZnRkM1o1WE5ybFdjMXVpOXg0VkVDUmNldUYzcWJJd0JWV1RPRXJ3YnFOZDVvSFZTZXdTRWdGcDk3a2VMYmllRG9sckhoTFNac05GVzFTUXJoS0haU3dQdkdWTHdZM1A5aWEySkxpdFRnWHluWTdIYlRRUWY4ZnBuc094a0haWTdwWmRWSzdoSjJoZUNjU1RaYVl0V1cwcVJ6VHNIM0F0dzlvZTZCL2FHSGEzTUMwYVZnTFBjUlJmVUJoa2FxZTdKVGg5dzROK1NjTWNZVHIvaWhReHpjNHN3dkpxWG1pWmtCR3QxVTFWdGVMSitzQ0syNjJ5azlZQ0N1ZXR4YnJRUGcvQjBuL0p3KzZCeHc2VSt0WG1NQnRGeWxqTEpLZU0rUGVZM3p3TWpWUmhPREZ3aHlqbzhoc0hKQzNVd2FuelJBbmJWdmJSdy95ejJ6RWxCYTVXT1duZ0V6UE44bXUwaUxyYzVYMTBHOFZzaDg1WkM4d3krTmlQZkZIWEZFSzh3K3d3RzhiSjhKaDdVeDJEWXN5T1V3VkdVV1JOUE9WVDBJU0k1aGtWcTJVOXBrOENqUjVxVEZyMGJQaGsySTh5MGJ1RGJmTE1jY2JDVE9TSHVyRXMwTXBaYmRwQW5rY0JJenYwYUY4bzMwUWRRalptcnk4R3U4cy9EdktNajZJV3lQd0cyV3lSR21hVEI2NW5UVGVlUWcraVNENEZ3YmQyeGhabHNZUWF6TktGREFIT0ZyNUxsRGwxZVRnNHhTd054Z3N1bTNGdkRoT0hlRUc4VUZvNjRpSFAvQ0lsSUtQeEVOeStpaFBDbUtHSkNDUGtqTWs2cm1tVEVFa3B0aVZmR0oyTy9FNUVrOXB6OVI1ZXFsWXdWV3J0TXExbHhkamg3TWozTGVLWnBhUmJBRDlkcFBRbDRMNW91QVBHTnhRMzFwMmVxb0MrSVdzSWxiTlJiQjNsT2s4WVJlTDVKemxxRXJKSm9LK3g4RWtVeklZTGVwYm5MRHRWMmdjOHhhVExzTzNhQmFmRTVFdzdPWW5TMFN0alJSTVpYa1cvbURZdjE0TW91dHZQWVROeG9UZGVXU0ZxWWR3SGVNTEE5NGlrS2VwZXppTUEzcU9BZG1pQWZWL3NJZXNPUmozOFpEeG1QWWRVSE1HalQrSWhuYlVJYjdjRjBJNHFVdlJQYWVwZTZwMXlhQXVzV1kvNk5FejFoODNlQUhGakx0VlY1SDNLWHdNYkwvTHB6SmhvTHJhSDh4dWlkZFZEUFpmTU9DUGQrbmloK3p6L2dqZXdES2dWNncwOEg5K1pKY3VkdkgzcjhDK1Y3Q3ZjZlByNkJVdklYYXg3d2lkSHhQZFF5NjZYVnlSNUxLQmRxRVEzNWlEbU5TbzZKNXE0ak5KZkdZdHZncmllOExGTjJZQXVleWhJYlh5dXlURUo0R29WTWVjRmppbW1tQWRFcXhUQzdhQ1lEZURjUW1KUkhDb28yYlJpeVFaeGI3VGpIM1ZCR2lSQUsxYWdEY1ltU1NJS3d6eUx3VnMwc2hVSDNOYTRKZ2JVYTZ1MTVLdElOblEvWEx3QldCaFBiUEgwOWhpKzJuSzltcFNhNUxVbXJYUWJpQzBFYnFiYm1UVnVzZERackg5TkdWN05hRzFTV2p0V21nM0VOb0FnWmtGc0FqaGhOdFBVN1pYRTFxSGhOYXBoVlpCYUkrNTBQYjRHdFlQU0hwUi8rVXhGNVBxaU5QY0k2cUp0RXNpN2RZaXJTRFNiN2xJZXpnNSt6RW93dkNDZFZDWHdSaVV0MVlUbDB2aWNtdHhWUkRYUmhBVXdzaWhOL3JJOFh5NFI0N253ejNWUkRjajBjMXEwZDNBNHIzRWlydDV3dUtGMjA5VHRsY1QycHlFTnErRmRvTllmUlJtK29PZ1lEUHdJNlA3VGpQMlZST2dSd0wwWWgxN0ZHalRYSnRxZlpUSUc1eUlFT1VoUW52ay9hYzUrNnQxVXVmWlkyajdlZ1RZUWQrSWZUTmozNnpZdHdrSllCK1Q0bFcwOVFuWFZ0Z3p4VmR0WE9HaUM1aTJpZXByUzYwa1pnZVVLYkxyWjZNVDdqVzZUanUrMTJxR2U2Y3QrZHhXMXFudGpGTjF1VWZ5TUxsLzNWL2U2S3haYklVNGJYR2N4cmhjYVIvTDllRFk1QWd5VlIya2ZzUTFKYUlvOEY5cTcxVkFydW9tYTRJeUZBbTl4N0s5SysyRXIxLzZQVjhqalc3RGFYWlROS250OGc3bWEyU3g2NnpKeUEzR2F6aUc4M0FTd3lxN2MvazRGYnZPSGVQME5NSndiS1R5RWZ3S3kwS3BiaTluN0RhNmpNbU5sR0dWSEhOUjhsS3EzS3B1Y3NjNFA1TndqaUNjeDVJL2gzMlpOZ3pIU1lOaDVySGQ4WjFkK2N4TXRKZDhvelhSN0Qwc2NzWWFFaXpBQ2F5VG4rUFhHUTNUbFExRzZCanAwMjVibjZZNVJ2cmM4dGkzMk43QU1XbzVjN2VocHpsR3lRdnJjbzlrS2Q2Lzd0K3hianprdWdIRldEUzdEUzlkZlp1bkVTb1h3b2p1bEgxaEsreTM0V1E0eXJMejBmaTVFMTQyMVRNUjNTbWtEdXZiOXp2V2hVMnVDNUgzakxGOXVaclFha0V4b0hwd2RScWRKSnpCQ0dtMVpMOGdnaWVjMlBiU0JoZmRPTTMxWXY4dnJBeHIzUDA3MW9lTlNDN2dBL0xEWlVRYkxGV251bTJycFV2bTBneWViRHJydUJLWGRvSzlMZGVZNjJwSTV0NXM2czZTRXIyYkxxeUpWR3g4VGV5MUpCV2xrbmZOTHZNYjA1VGNNdUJmbXBKUG0xTnpxcWNvZWF1VkhEMmhrcy9tOEUrSkJReXNUbEhDWHV2dXJ3bG5VN1NTOUo5VDRySDBidkg0UWhiTURhNnp4THp5M3FCL3ZkZ2JSS1pUNTRqVElkWklnMi9iWTMrdjhRMlpZaDV1SGhTZU85cVZ2emV5cnhmOTNUMzQ4eHp4czFsY0RMSEhpVGJWL3B0OElMKy8rd0pYdVhub0szOWtpUHFSY3piRVNpNFdVME1wKzVYMmhwL3hENjBSTzNJejdFL2kySzgwWFRwNmcvWGxBcmwycmsyMHo5Q21YUGNoOXRyQmhhSi9obHJCai81VyswK3RFZjZUenR4alQrVnhYKzhJM3hWMXFQWDVtZjlQVzJodDNOdGl2V1A5MHd6dEovYlpaVnZnRTJ5YjRZLzlkZGkyTnR0RDkyamlrVzMyVjJkNzRKc3Y0UkMrM1dzSGN6UVh3YlA5azUxamFrMnBsd2ZJYnBTdlVEMmZGLzZUenV4aFBmd1ZWb1RaV0sxNWxZcmpSa1ErMllnL2pod3BxczB1eVU4SzVObVdudUl4dzNvRytTaDgyUVl1M0VWZFk5Rlg2bDFDblByOE5VY09sdGhFMFpKbHVoWFJteU9zUzczaVAxWnlqdFpCM0V1WDdoVklJdmhSczNmWXg0L0JHV2JzakVmNFhyYVAyaCtweDh2OW9yVUpzWEdwbE9hTVhVMmxyVS93SlFaLzh2d3BqT1JaNHZ5TnVMWXpYZktrWGtRMS9wRDFsNVlXbnZPZkthR3JmTTBqbjdtRTBRSHFZUGJkSTdxb3ZEdjlWZ0REaWJHUWcyTXA3eGxrSEo0RmpFTWFmWm1xSDdJTS9qKzcreC9zL2dNY1QzUE1BMTd5Y1hYQ3pyeGdXayt2MlhyTE5PWTk2dlFsMnhiRjdKUWRmMHhMcFBsZEhrWVlkenZDdVVqUkZkaDVqSVZrdjk5YmRwYlpxMmJubXAxcmRxN1orWDZ6OC9lY25XMTJiYkgybTQ3SHFGT2puMm04cjV4dDFKeGRjM2JOMlRWbmYxR2N2WkhrN0h2TDBIck4wRFZEMXd4ZE0vUVh4ZENibktGL1E2My9qZDNqZCthTDNsZU90bXFPcmptNjV1aWFvNzhvamhaZWRJU2o3eTFEbXpWRDF3eGRNM1ROMEY4a1E0OFo4bkEva01kOVplaFd6ZEExUTljTVhUUDBQV1JvaFJiVWxYYzFPOStJbldVdXE5bTVadWVhblFVN2g1SmRCanZYbFhjMU85ZnNYTE56emM3cnhNNTE1VjNOMlRWbjE1eGRjL2I5NGV5NjhxNW02SnFoYTRhdUdYcGRHYnF1dktzNXV1Ym9tcU5yamw1ZmpxNHI3MnFHcmhtNlp1aWFvZGVkb2V2S3U1cWhhNGF1R2JwbTZMdGg2RDQ3Q3JRendsbFNiUWZYcHdRN1ovT2NqRm9yd1pKNVhPZXdNZHZWTFBadnhqRHFMSVhyYnFKdlQyTFBxNVl3MkExRFl0Zm9XZGxWZ2ZGajZTMk1JVU4wTXF4TWtyZE4xcFBtcldpYjBLRHRtQTZWMWJZdHJtM2hMNE84amgxMU0rMXpFclBGWDZMMi9VTnJyMGozc3JLRTY2NTdUN2p1UmJsZTlrYS80OW9IdFJITW8xeXJPbU81MHFHdU1sNG5UOVNVZkpMYUU4MzNSQTJwWDdVbldzMFQxYVYrckpzbitpamtVOGJRa1NlOEFVT1AyUjNPa1dscmhxNFp1Z2hER3pWRDF3eGQ1d3FVRFAwNDVGTnRsc25SV3pHbTJzYmUwcTgvWFVTaXVFZXhWWC9Mak45a1hzbGp2eWJuTkEvWkREaXZ6ZjVaN0hqQmZpYjdCTDlOQ24wUTkra2dYM29ZOVFFSDF2SGI2djBEbGJaVTBiMHRaTE1MdE0yeHEyay93eitGQnVicDBGVHJNaTF3MlYrd2hITzBvQlp5bk5BaHlBdUFCbmxNdzRTbXd0RWQ5aDAwYjhhT2ordlFmN0E3OVJoV0hpSkpuUHFhWVhhSnZBbzgveWY3ZmhYZ0ROcjF2d0ZpRC9ETzIvQTNkdFh2dEZuQmZOUnFKSm1IZmJRSER6Ukgwcml2R0VwTjZSZzNoNStSV1N0b3lXWk01OFErV1RleS9FSjVMT1Zwa1lFczAySGF3R1NCckFQYUFmcFNuWW1LZURFdENkTjhxMjlWdFBwcDF1NG1mTGx1bGxLdE4zRU5mTVM0ZE1ZaWowL1l5KzBJVnVKWDhuWVEwZmRzM3pCQTlHTUZaZ0tkc05oK0QvMTNIYTJienA3WlN2ajJIYzVNRGxwQnNIOHo5aDk0VjkxYllhWW43TGozWUl2UVgzck5aZnFhZmY5ZG02WkljRXM2NXczM3BlTm4vWk05VDFQUzhVMjJINlQybHYxOWpWcjJLWFhXY0NOMkxEemxMT1hJaDdFamY5ZkU3MTBXdTI3ME9lTkhQazE5em5qUFZVLzZMUFZjdVgrcXMrVTdDNmtrbisxMlpxelU0eUxPZUROa3F5dEpIMEtwcVo1elMzbFdFWVN5ZEREdm5tcHNaVzJVSTZTMGNUTFBpRExWbUdTUGtVZVJzNHFNeHNlSzQvT2VKWGxHbm1hcGU1WCs3RStVejU0eWJrcXg5QWJiQW5LNHh1dFg5UjFOeHJYQXNWTzA1WE5reHk2My82SFZoLzN3SEEzMEw0R2h1NWdYbUtFUEtXZGZWc1BRajBMWjROWGVhK2ZvVDN6MDkwY010UDNSNUhweE50eUZYMXQ3UlkwZmJqT2FUZG9LSDN5Sk5iazBsbnJWVGRMVnBWOFQ0dDlsWG5NMVRLblN6YkxhSFdIWXl0b2Q5eitNd1A5bzF2NUg3WC9jTy85RE5TWnEzNlAyUFc3ZjkvZ20rbmFHU3J3TWQ3VXcwOURsY1NGNEV5MEZMemZ1bEpkWE01TGorSlhEL3BsMmdON0t2elFiNTVvKzRUM2h1U0Mvc2h3L2NCYjRnY1lhK29GdmtQOWVoN2szNlR6MUhPb21PNCs4UEFmWHJIOEMveWxsNUlEVlNHSmI1TXlubUYya0dUV2V0eXAwM21yMHJJaXVsTk8rSDVsRUx4TlArQzg1dTdja1BYUURQZFRYVGcrM1VQK2l6MXhNczZZSy9PNU9ROHJKczV5dWJJWmIyRjdxOTRVaWh4M09kZ0lHczR3cWhIeTdNa083NG5BckFiTWVCbFpJeG5QWW9GRk9ySllBWjFLeGhuSyt4Tm0wYjVsa1B1QWNMTWpwYzJCemszUHFEMUtyRGxRWjYxWGxqbFh5aXN2OEFicyt2SjlwSHBIeUFHTlJtcGVsK29NcXVXSVBLendhVERZZ0NSanZIczVSaFRPaERmUUpRRUozRzZ1dENuMFZqbm5vUCtValZid3BhNXZuSjNkWUx6N0FQRk1GU1Jnb0F3UEhrb01lZ010YUMyY1JvOTVaRStkK2lsWGszQ2RKNUdNYWw4clh3VHcyeVNUOFhtVVU2R3lmaHhHT0ZjeVlpTXpjT21Vc1ZvTjlpRjAyeGh2aU8rdlpFVjQ5V1dsWEZtM2piNGUyQ3NWczNKOWdKUTdNNG9PUHZSMmNYejFEQnhJd3NaYURKR0RnOVlGckxQVDdtbWpGQVdlUVU1UHQ2NktYQ0RMeFVBYnVyVWpnZThSVVBMbUlveStWdnR0WHJJZHhpLzFENnRuL3cxcEh1NGg1Q0YrQnR0MkMvTE9sbWEwSlQ3VjlkdFluOUJmUGNhNDdUeHYrRFROKzBUT2lPQWg4UGdVei9kOHpLZitNSGtINnY3S3J0ZUlaNFVhUUVUYi9KaU0rWDJyWlVuK2svYWJCKzk3ZUxtSHNkL21xSmNqN3RJSzR6a0QyaFJWTlU2eGdnbml1aFQ3OWxMVno5TkpuNkoyWTZISGNoaXllc21Qb3FjdU8rMmZLTSs5eXpLZExNSS81UVlZaWQ1QS8xdDlHam80K2Uzb0ZXTmxvcjhuUTdxREgyVUxkK0FtUHB5eWloWGJjUTl1aG80MW9ZcFhjSEhWb3p2YkJFVTRpMmx1Ti9qeExSU05aWTlhOUplYlBrbVpjRTc3bEZXdVhXUEg5TGxoM0c5OWFmdnk3eUxBUTQwSHRHVVY4Vk9XZmpQamFYeUFYeXdnV1FYMkxYZWNkMXZYVG51MmdXazQ5RG45RWZncVBmNDN6YlI5eDNlcFZ3VlVDWmYxb2E0Mzk2Qjh5OEZpR0I1SjFmWlc5YU43S2FNL1RtaUthOXlpKzlVWnhGMVNNR3ZoZms4Ly9kTkVUYUNmMFJkU2FmbGtqUHgxTE9kOXpqSlVlTUpjaHBMQ0QvczkydUtleS96VkhQQnRZdlR2RlBKdUxTSnRvUDEzdUZjUGZKcTZaRXZYQTRIWE4wWGVEbU94Mi9DOEhuL28xdzBvOGRiSHg5SVB5ekUrOGxhdTMwK2FPVnFVRmFiS1V4eU90TzR4WGlJdjNYaHhnajkrdmZKMWh2T3E2L3NVcGdjUDlXMmtZbDJTeEduMjUzaUYvcGFHOCttK2RWaHBDckZWMjFZRmN3Vkt2TmJ6OXRZYWRXMkRscjFOV1RhaFpXTHdmN2hpdkQ3NWVjb1p6MlV3czEvTFZUUHgzWXVMeWE3Ni9MQ1pPcmhXc3VmaExYZmVkeHNYZnNDZTdRTjkveHZSQzFDUkd0MVdaQy9Rd0swanhwc3R6ME4zSVdqVmFSZHRnSEhTM3EyaFhWWk1ZeFMvT1lEQWFQeXZpSlJoVFhZd0NvVmFqSzdHa0cxd3YvY3d1enVhWkJlVDdERFdSbnVBU1J3bG8rUFlOcFQ3RCtZWTIycGt1U3IyRnM0dmRtTlNubURudXhxUU8vM2w0N08za2tGZFZJWmlQNnQzcXd2ZFlEL09aOTRwV1MzOW1ueTB1RFZpTHQ4ZDFKR3BCSWFkTmJGaDlicnFEbG5DT0k1enkweDJjYTRqbXAxdFlCMlBpZkFMOHBlOFc2dFA5MW8wc05LdkxhRXVhZVpoZ2I2RGZkeVVucWhtOHYzTEtRN1M2ckRiUUY3c2tEK1lPNVFQYjdxOThWQ2pHWmZJRDFwYWRhNVFMdGxrZnp2a244TEFodW9oSzVidXdQbkRGTW1relNiU3hNcWVORlRyd3Q0VzJzb25lMGYyVlNSTER1RVFlSXZaenJOeUYrRnhVdzRvcStCRkdXVmZJaVc4MGVyY254RlhYT0s2aTk2N2lsY0RNMlJ4amJ3OGpYWmdmbWVNWlFqb08rcUp0SEI4TnZrckc0SjVybCsyQmlvb3FkY3hwK1lpdjBVOXdJNUdvbkZsWVZYMTZHYVRoZjBjMkU2TC9HLzRkN1V5dUY3M2Q0Zm5DOHp3TC92a0QrdGJBLy9tOVVTRHg3M0FPQk43czZ5QXFiakRqTWczeTdKZVlyUi9pNkp6NzQvN0pkTUd1c1hOOGpvMTl2akRuSGIvWFB6eGY2SDd2Nk9oOE1XY04yK3o0UFhzUEQ3SUh1TTgrd0crOUlUWFBzZGs5NWhmWUcrRDM4UVNQSGZUdzIyQ016VEZ0dEVmc1dOZnZUV2puaEs0K3Nla21SM1E5YWc1M29KZkgwS3VHM3ovUm9UdjlFd011MHo4eHNSbXdqUVpyREdwTWFQeEJGQnNQc1FuZW5oUFlCeStSL1RwTjNjUHhHbENmQi9TVUEraXN3YjdoY3czR2ZUeGtQS1o5QjlTY1FlTlB6bnJYQzdyeEF4WVlrcEY3eHdUKy9Icnhjc1NPNlRUOEE5NU83Ti9ZOVppRUo0ZnNLU2FIL2ZORjI1dFpIcjZOWjNJMldNNkYvTDJ6MGZWaWNEU0JSOWdkanFFWkRmRkpSanVvZ0VQVWpSSHNnb3VNSnZ3N1EwTDNkMFpEYW14NDZKMmRYZnkyMDhmR25vRDZqSVo5T0dFZkx0cndmeG45ZXI1b1FtdlQxeE5xUm5EKy91QVFtbDlzT01aaDdSNTluY0RsZnJGN0NPeHdoSWdlUStmMjdTRnNHOXFuMFBTcEdkb29nVjM3Q0U3YjI3WGhZWTVmMmZCdGFPTzNnd2txMXNHRWlMS1BCQStEOWs5c3NXemFQeHZnc1dkSDJQL0pHQy9Iem9UbXJMK0RGeCtjc1F0by92R1JkYjFnZjg0WExSOGJqeHFkbW9iVXNIWUF4elAxYWZyWU1JTnhiRGZvV3JiT1c0TzNKclo3eDd0dzNHUUhSOXhrOUJLYU0zZ1EzZC90bmVJeHV6M1V1dDNlRG03dDcrQzMvdEgxWWppWWVJdkd6MDEvY2pLaUQrTkR2cVYzd2ovNHUyY0lzWDkwekxwM2ROekhhL3FqL1dNTWFFZWFnK1ptbTVtM3d5TVUyT2h3U0EwYytsODR4QXdNUllIc2RUNzFhaUxWVXlwaWpxUS93MUtMbnpCc05iQXdybzFsc2xNMDVWTW1KZFpqLzNCSXduM0ZKRDNjZWNWbzhQaytiRGdkbzg0TitTaDl5UzR6UlU1ejBDZTg5SWREaE9qSXh1T09kdkV5L1VOVWdOMGhVTUllWEhMM09XemZHOEs5ZlAvRklYdm1GM1NRN3lmdTErRDMyMFIyaGJlbXcxcFhtcnVkeGU3WUtIVEh3NlA5WU1QWnlRRGZla0JOL0IwSU9KaW5OSmFuTkpRNzhaSGNuYnVRVEp6czRHTVVmcEJ2UThCUW9vcEgwRXVDNXUrUCs5ZUwvWk16NlBqK3lTdHNiUGJOYkxIMkZiWENlREZ6NXJFeitzeXgyTy9qUGZmN3p5Tzc5dnNITU1EN0wrQkdKellTN29tTkN1MlArcnZzdG1NMFN5L0dSMFM3dTVGbS9Dc2pxWlkxYjNqV2ZDWWpldGozRmpvYnlhRC9yQjN2MmQ2aWJmaGoreFNOemY0dTJscm93d2llTzJKZ043aUJIZkUwdzNua3B5ckp4SUxPajlqMnZ5RGtMR0pldlF6enF0L1V2SFpiRmMxcnA1QjVMWVRNdjZ1UXdhVW83OUNSL29rSERnNFdEOHh1RXpQOWhwanBxOExzSWNlTURQc0hYUHArbGVPdVdWWGROZGVOWWRQSXdNYnRFRGFtVVJvZDNTSjRISUxISVhnNkJFK0g0T240OW9qeG16djFiWnUzNEI0WXpCV3diZjZoR0lEUE9JRGhha0I2NjJyMHlDaVk3TUtJcHRITVF0TXA3L3htb1NscG1yUGMwWWtRdGxvS0NPMVJqL2JZMUJZSkliWTRvR0pDYTFzYkMrT1hPMnFWV09vc2tGbnF1QzBSU3VnVlFva1NZVmFJVVpFd3F4QTZaUUt0TlVWbkt4R0UzbENEbG13clZ4eUtyaXhNcjh6N2E0bU5vUFErWXZNR05VTUU2b1JPSDFNcFY3ZklPcGtjN2xvVkIxYURvR2tRTkEyQ3BrSFFOQWlhUmtGb3RnSm9najJvUmhUS2ZyNlg1S3pIM1lZbXdkUWttQnlDeVNHWTFFNUJVWmpDVVpnRms3SGVNQzF4bkQxSlVTYmtwUElZM1RrVFpTSFVKSVNhaEZDeklFSlBsUWhOTUZYOEFSUFI5MUdUektWcmtocW5QbHI5NmIzRnlhaUkweU9PMHc3VEV2cTV5RXNzNG44VFRJa1JXc1g0Q1BvZGdhZGxFVDY0UHhlZmpwVmgzekMyaXlBMHU2SHROd2doZ3hDeUNDR0xFTElvNEFPcHhpSStlQXdNVjlpR01oaUt1Qm1tYVA3UzZHVlJlWDZDcVZTMGJDRDFMb2ZTbUdZRnp6S1VwY0xueW1BYTNXSmdQdUZnN3VKc0diM3pTNlFiUGdjVmFRUW81Rml2WWpDMlo0UmpXNlJtMUk1RVZoZ0RwOGJHcTVIdmIxV09ZNHhPTVFSN1BQL1FxNFRYUm1RUVV5M2orK3lFRmtkTk53dUhObnJES3UrbU5oc0VHL0luQU9kbFpSdXFJZmNiTUF2UE81ajZyRFIyMlFRbzlLM2pFbkx6SlRrYmpTeG53MWlwc2xVRjZGZkdhelNWSHdYSWFoSkErbFRTTFpFdGJSQkdiaGF4Z1ZyazZ4WWFrQWhPTFI0RG9WS3RaRlRLdWhVUVc5VUJPc2FpQVJpZzd6TFZUTzh1VjgvdWd0U2lHRDBNTUtMRm15NldibHdFQy9KaUdheEMxTVdSUWJYSzlkQjB3K1h3Z0Frc0NFOXJ6c2tMVGdhQU1IRmF6RzRXVkxBeDB5dGpQbWNmZWttOXlzWk1hTlJ1TUllY0hYQkx1T0ZES1V5bGhGdmJMYTlXRnM4dk8xeXZ6Sm0xYk53VUE3TW5zczNjM0JSSHNvcjNwblk3TUkyZkRxWnJsQWN6OE4yYUJxRkoybGdNVFgxZTJQa2didzFBOUNvbzRZalcydVJQUGtwSzZGa0ZIQS9QcWpCMmhXbmdPb2d3TGw4RlFmTnM0ZnlDYlNBdldIeUlBWXNmeGdydDNBZ2d2c1NaOGZlUkY0VUlxK0ZvZitURXJSMUN0a3ZJb3FtTUlOdTRhZDdSSWx4SiswQk5PdHpvWWt3QzBNSmNGbFVrcFdQYjVObEhadDRvZnUwU3VpME9iNHZqMitJQTA0aUdEMU5QbWxFQ2IzbDhnTWEvR0pqbEF0MTRuSXZ4VnNYa2Z4RTFUYUpaUUZGTlE2V29MWTRrQnpJTngwQlJCWTdTdU0vSGNZTFR3NjcyUjVrUlh3aklZdDZnR2trYzZHQjBwa3MzMWpqaWNUUUxJTWZSb1U5a2tJNm9ZTklCRmlKY1liWDV1ZlpCR3VxRTZydmxUa3NWekJzMGxsT1FvSWF6bFpoeTczRVU3VjV5aWowYkxKRXJQdURMTWNNWGgwTVpsbXFDSFcwdjZtTWp4cE5rc1JNOHFYU3QwUkFWRFh5ZGxZSlhIcW8rV3U4LytQdHI0Sk1NVllwQktUTnc5ZWE4U0twUDdTNnVVczhvMDVmTXJXUmpKeVp1d2xXLzZlakplU2xYbWQwek1nSzRNRWFwNEd1dkRMeW95UTBkYlRGczljNDhodWMzSE04VFJVMU1EK3NXSFcwV1c1MlJITEt5SGpyS2VLK0FJWWJBS2lPWjREcUVwTUU5RzllUXdyMFpkN1RKUzgyeElZd3RDYzhPQjdSRGlMcTgxTWpsbUxvZDJTTERoN0g0a0N5YUdRY2ZoQTg1R25PckE2WGU1RlhheWVoUkpZck5pQ2hvYVhMZWJJaFQxdFFJSndqTWI1NE9tNUpQS1d5M2NOWnh1Q1E4U3IxQWlBTmJCMXdhQTVJR1lveW1lUWM5RElRYXFwSEFWRnN0QWxIM2NqSDhRUjB0OGxtQllxaTJLNkpheUh4elQ5MXpwTlFyNXdackdnUFZVb0hhc3RUSzNPUjFBazFlS01EYWVPNmZuS0V4K2o2MlBlYUE4KzhBdE80VkJub3pTQXJSdXh6ZTRZcmFBaFpMSkxYRjVKVHV6Rzg2T2NXaGJVb0tHMmRkY0poc0xBcE9wd21CTE5ZWG1OUUNzcVpMeUdKcllvc0tpd282NXJnZGNCenRoRytwd3U5aGdOOHRjSzA1SzhTMVVsSWpvTnJNYVlHVUVMSWdna1NaU2xwRnJ3QzBWYUFNdEtEaTBzY2MzcGYwdWhLZUJvbitZRWNaOTkzamF1ckYxZFJ6bGtTck4zVkIxWlJxcU1JaGNnU2l4aXVJZ3VTcG1Id015d1dXUmtlWmdVTTNOUTlGeUtXVmpDdE5rWDRERi9kR2NhV3BBaExMWXRNS1o2dkJXS3dPUzVxR0R1S2hZaFVQSllBVTRXUXc1cEV5YnBUSVZGWnhCem01TU5XQnpyLzRNRDZKc0dxRFdGVXFSaGE1anpHM091KzF0OUl3ZjRWUlFQWXc3NVJQZFFwWWk1VEdjek0vVmRZQlNrWmVPY3pUVEZGYUxpNmVid2ZZMExqYmlhQXFIejZxcGN3MjVxWnFlRXVUaU1vdzNXd1VSdy9WUFFuZjFNcFBaUWJ3U2FsTTBHL0VqejZZOUlIY0pCWXRrWnNFSDlDTmJ6WElUMExMTXhZcVNoNXBNVXhGcWNRQVh6aXVRQlFlSm1MYmhka3BZOXd6OVJFeFZLV0kxZDRSeDlSVVllcDIxSDVubDhlbFhaN1Y3TGJJalVjRkZCbTNYdWh0aWd4Y1ljVVV2aEs5T3d4V1JZTzNkSzZDVTI5eVBGdHhQSjBTVnJ5bHBNMkdpallwSVZ5bERrcFluL2pLRjRPYkgyeE5iRW54V3B3TFpidWREbHJvb05OTCtmRVZhcGxqdWxsMVVydUVuYUY0SnhKTmxwaTFaYlNwSE5Pd2ZjQzNEMmg3b0g5b1lkcmN3TFJwV0FzOXhGRjlRR0dScXA0TVhpMzlUZ3QvWGxDNDdvOENkWHhEUy9yeHRRQnl6WUNNYnF0cXJLNFhUOVlGVnR4c2xaK3dFRlk4YnkzV2dmQi9EcEwrVHg1MER6aDBwdGF2TUlIYkxsTEdXQ1E5WjhhOXgvamdaV3FpQ01HTGhUbEdSNUhaT0NCdnB3eE9teUZPMm5id3JyaE14SlFXdVZqbHA0Qk16emZKcnRJaTYzT1Y5ZEJ2RmJJZk9XVDA4ZzhYNjRrLzhoODNFeStnR2RFTEVYSnFXSlRKWWFySUtJcWttYTk4RXBJWXdTU3phcVcweitSUm9NbExqVm1MbmcyZkZPTlpObkp2dUYyT09kNUltSkgwVUNlZUhVb3B1MDBUeU9NZ1lIeVBEdVViL01YSWo3bExWdlhsMVhobjRkOVJsdkZCM0JxQjN5aVRKVXJUWlBMSTdhVHh6a1B3U1FUQnZ6RG8zc2JJc2pTR1dKdFJvb0E1d05IS2Q0RXFyeVlISDZlQXZjRmcwVzByNXNWeDZnZzNpQTlDVzBjOC9JRkhwQlI4SkI2UzAwZDVVaEF6SkFGNWxKd2hVYzgxWlFvaU1jV3U1Qk96MjRuUGtYaEtlNmJPMDB2RkNxNWFwVld1dmJ3WU81d2Q0YjVWTkxPTVpBUG90NXVFdmhUTUZ3Vi9vRjFnZld2WjZha0s0QmV5aWxnMUY4SGVVYWJ6aEYwc2tuT1dveW9sbXdqNkhnZVRUTWxndEtodlFlOFd2aWp5enFjbCtCYk40bk1pRW9iZC9HU0pxTFdSZ3Frc3o4SWZEUHZYaTdWN0ZkUWdHdHBSaC9oeVh3amhwQzVGOTV5bTdxbldKWU82eEpyOW9FZlBXSC9jNEFVVU0rNVdYVVhlcC9BeHNQMHVuOHE4NE8vRmVSbThybUt3LzRJQkQ2OHRnb3Nmc3MvNzhPNGg5bmszOGdLenlDNWQ3T0x2WDRGOXIyQmY0K2JYMFN0ZVF1eGkzeEU2UHlhNmgxeDB1N2dpeWNYWGlpZkZGL21KU2tsODBUM1Z4R2VTK014YWZCWEU5NFNMYjh6ZnYwZS9aUmNYNHBOQVZLcGpUZ3NjVTAyd0RnbldxUVZiUWJDYndiaUVSQ0k0MUZHejZFV1NqR0xmYWNhK2FnSzBTSUJXTGNBYmpFenhLeEx2MGJmaHNFa2pVMzNNYVlGamJrUzV1bDVMdG9Ka1EvZkx3UmVBaGZYTUhrOWppKzJuS2R1clNhMUpVbXZXUXJ1QjBFYm9icnFSVmVzZUQ1bkY5dE9VN2RXRTFpYWh0V3VoM1VCb0EvbzFuUUFXSVp4dysybks5bXBDNjVEUU9yWFFLZ2p0TVJmYUhsL0QrZ0ZKTCtxL1BPWmlVaDF4bW50RU5aRjJTYVRkV3FRVlJQb3RGMmtQSjJjL0JrVVlYckFPNmpJWWcvTFdhdUp5U1Z4dUxhNEs0dG9JZ2tJWU9mUkdIem1lRC9mSThYeTRwNXJvWmlTNldTMjZHMWk4bHhxOXhGdTJlT0gyMDVUdDFZUTJKNkhOYTZIZElGWWZoWm4rSUNqWURQekk2TDdUakgzVkJPaVJBTDFZeHg0RjJnUnZHTytqUk43Z1JJUW9EeEhhSSs4L3pkbGZyWk02eng1RDI5Y2p3QTc2UnV5YkdmdG14YjVOU0FEN21CU3ZvcTFQdUxiQ25pbSthdU1LRjExYzRHOENodnJhVWl1SjJRRmxpdXo2MmVpRWU0MnUwNDd2dFpyaDNtbExQcmVWZFdvNzQxUmQ3cEU4VE81Zjk1YzNPbXNXV3lGT1d4eW5NUzVYMnNkeVBUZzJPWUpNVlFlcEgzRk5pU2dLL0pmYWV4V1FxN3JKbXFBTVJVTHZzV3p2U2p2aDY1ZCt6OWRJbzl0d210MFVUV3E3dklQNUdsbnNPbXN5Y29QeEdvN2hQSnpFc01ydVhENU94YTV6eHpnOWpUQWNHNmw4QkwvQ3NsQ3EyOHNadTQwdVkzSWpaVmdseDF5VXZKUXF0NnFiM0RIT3p5U2NJd2puc2VUUFlWK21EY054MG1DWWVXeDNmR2RYUGpNVDdTWGZhRTAwZXcrTG5MR0dCQXR3QXV2azUvaDFSc04wWllNUk9rYjZ0TnZXcDJtT2tUNjNQUFl0dGpkd2pGck8zRzNvYVk1UjhzSzYzQ05aaXZldiszZXNHdys1Ym9oZkU2UmYvMzZicHhFcUY4S0k3cFI5WVN2c3QrRmtPTXF5ODlINHVSTmVOdFV6RWQwcHBBN3IyL2M3MW9WTnJndVI5NHl4ZmJtYTBHcEJNYUI2Y0hVYW5TU2N3UWhwdFdTL0lJSW5uTmoyMGdZWDNUak45V0wvTDZ3TWE5ejlPOWFIalVndTRBUHl3MlZFR3l4VnA3cHRxNlZMNXRJTW5tdzY2N2dTbDNhQ3ZTM1htT3RxU09iZWJPck9raEs5bXk2c2lWUnNmRTNzdFNRVnBaSjN6Uzd6RzlPVTNETGdYNXFTVDV0VGM2cW5LSG1ybFJ3OW9aTFA1dkJQaVFVTXJFNVJ3bDdyN3E4SloxTzBrdlNmVStLeDlHN3grRUlXekEydXM4Uzg4dDZnZjcySS9BcnlZL1JaWG11SFdDTU52bTN3aS9EQlBOdzhLRHgzdEt2RWJ4MXZzbkgwQm1PUEUyMnEvVGY1UURtL05id2hWbkt4bUJwSzJhKzBOL3lNZjBpL09id1orWVY2K2Rqa0x4UnZzTDVjSU5mT3RZbjJHZHFVNno3RVhqdTRVUFRQVUN2NDBkOXEvOGwvS3gzL1NXZm0vYlp6Ry9lMjhIZWM0VGViNFpmUFhiYkZDSDdiR1g3c3I4TzJ0ZkczbmVGZkU0OXNzNzg2MndQZmZBbUg4TzFlTzVpakNYL1IrWi80ZStwTnFaY0h5RzZVcjFBOW54ZitrODdzWVQzOEZWYUUyVml0ZVpXSzQwWkVQdG1JUDQ0Y0thck5Mc2xQQ3VUWmxwN2ljZkFiM3ZDeURWeTRpN3JHb3EvVXU0UTQ5Zmxyamh3c3NZbWlKY3QwSzZJM1IxaVhlc1Yvck9RY3JZTzRseTdkSzVCRThLTm03N0NQSDRNenpOZ1pqL0M5YkIrMVAxS1BsL3RGYXhOaTQxSXBUZmdkY1pXMlBzR1hHUHpKODZjd2ttZUo4emZpMnM1MHlhdnd1K0pmODhobkxtRjBnRHFZZmZlSUxpcnZUcjhWd0hCaUxPVGdXTXA3QmhtSFp3SGprRVpmcHVxSExJUFYvT3I1d3dqamJrYzQxNC85Um4xeGRoNWpJZG52OTVhZFpmYXEyYmxtNTVxZGEzYSszK3o4UFdkbm0xMWJyUDJtNHpIcTFPaG5HdThyWnhzMVo5ZWNYWE4yemRsZkZHZHZKRG43M2pLMFhqTjB6ZEExUTljTS9VVXg5Q1puNk45UTYzOWo5L2lkK2FMM2xhT3RtcU5yanE0NXV1Ym9MNHFqaFJjZDRlaDd5OUJtemRBMVE5Y01YVFAwRjhuUVk0WTgzQS9rY1Y4WnVsVXpkTTNRTlVQWERIMFBHVnFoQlhYbFhjM09OMkpubWN0cWRxN1p1V1pud2M2aFpKZkJ6blhsWGMzT05Udlg3Rnl6OHpxeGMxMTVWM04yemRrMVo5ZWNmWDg0dTY2OHF4bTZadWlhb1d1R1hsZUdyaXZ2YW82dU9icm02SnFqMTVlajY4cTdtcUZyaHE0WnVtYm9kV2ZvdXZLdVp1aWFvV3VHcmhuNmJoaTZ6NDRDN1l4d2xsVGJ3ZlVwd2M3WlBDZWoxa3F3WkI3WE9Xek1kaldML1pzeGpEcEw0YnFiNk51VDJQT3FKUXgydzVEWU5YcFdkbFZnL0ZoNkMyUElFSjBNSzVQa2JaUDFwSGtyMmlZMGFEdW1RMlcxYll0clcvakxJSzlqUjkxTSs1ekViUEdYcUgzLzBOb3IwcjJzTE9HNjY5NFRybnRScnBlOTBlKzQ5a0Z0QlBNbzE2ck9XSzUwcUt1TTE4a1ROU1dmcFBaRTh6MVJRK3BYN1lsVzgwUjFxUi9yNW9rK0N2bVVNWFRrQ1cvQTBHTjJoM05rMnBxaGE0WXV3dEJHemRBMVE5ZTVBaVZEUHc3NVZKdGxjdlJXakttMnNiZjA2MDhYa1NqdVVXelYzekxqTjVsWDh0aXZ5VG5OUXpZRHptdXpmeFk3WHJDZnlUN0JiNU5DSDhSOU9zaVhIa1o5d0lGMS9MWjYvMENsTFZWMGJ3dlo3QUp0Yyt4cTJzL3dUNkdCZVRvMDFicE1DMXoyRnl6aEhDMm9oUnduZEFqeUFxQkJIdE13b2Fsd2RJZDlCODJic2VQak92UWY3RTQ5aHBXSFNCS252bWFZWFNLdkFzLy95YjVmQlRpRGR2MXZnTmdEdlBNMi9JMWQ5VHR0VmpBZnRScEo1bUVmN2NFRHpaRTA3aXVHVWxNNnhzM2haMlRXQ2xxeUdkTTVzVS9XalN5L1VCNUxlVnBrSU10MG1EWXdXU0RyZ0hhQXZsUm5vaUplVEV2Q05OL3FXeFd0ZnBxMXV3bGZycHVsVk90TlhBTWZNUzZkc2NqakUvWnlPNEtWK0pXOEhVVDBQZHMzREJEOVdJR1pRQ2NzdHQ5RC8xMUg2NmF6WjdZU3ZuMkhNNU9EVmhEczM0ejlCOTVWOTFhWTZRazc3ajNZSXZTWFhuT1p2bWJmZjllbUtSTGNrczU1dzMzcCtGbi9aTS9UbEhSOGsrMEhxYjFsZjEramxuMUtuVFhjaUIwTFR6bExPZkpoN01qZk5mRjdsOFd1RzMzTytKRlBVNTh6M25QVmt6NUxQVmZ1bitwcytjNUNLc2xudTUwWksvVzRpRFBlRE5ucVN0S0hVR3FxNTl4U25sVUVvU3dkekx1bkdsdFpHK1VJS1cyY3pET2lURFVtMldQa1VlU3NJcVB4c2VMNHZHZEpucEduV2VwZXBULzdFK1d6cDR5YlVpeTl3YmFBSEs3eCtsVjlSNU54TFhEc0ZHMzVITm14eSsxL2FQVmhQenhIQS8xTFlPZ3U1Z1ZtNkVQSzJaZlZNUFNqVURaNHRmZmFPZm9USC8zOUVRTnRmelM1WHB3TmQrSFgxbDVSNDRmYmpHYVR0c0lIWDJKTkxvMmxYbldUZEhYcDE0VDRkNW5YWEExVHFuU3pySFpIR0xheWRzZjlEeVB3UDVxMS8xSDdIL2ZPLzFDTmlkcjNxSDJQMi9jOXZvbStuYUVTTDhOZExjdzBkSGxjQ041RVM4SExqVHZsNWRXTTVEaCs1YkIvcGgyZ3QvSXZ6Y2E1cGs5NFQzZ3V5SzhzeHcrY0JYNmdzWVorNEJ2a3Y5ZGg3azA2VHoySHVzbk9JeS9Qd1RYcm44Qi9TaGs1WURXUzJCWTU4eWxtRjJsR2plZXRDcDIzR2owcm9pdmx0TzlISnRITHhCUCtTODd1TFVrUDNVQVA5YlhUd3kzVXYrZ3pGOU9zcVFLL3U5T1FjdklzcHl1YjRSYTJsL3A5b2NoaGg3T2RnTUVzb3dvaDM2N00wSzQ0M0VyQXJJZUJGWkx4SERab2xCT3JKY0NaVkt5aG5DOXhOdTFiSnBrUE9BY0xjdm9jMk56a25QcUQxS29EVmNaNlZibGpsYnppTW4vQXJnL3ZaNXBIcER6QVdKVG1aYW4rb0VxdTJNTUtqd2FURFVnQ3hydUhjMVRoVEdnRGZRS1EwTjNHYXF0Q1g0VmpIdnBQK1VnVmI4cmE1dm5KSGRhTER6RFBWRUVTQnNyQXdMSGtvQWZnc3RiQ1djU29kOWJFdVo5aUZUbjNTUkw1bU1hbDhuVXdqMDB5Q2I5WEdRVTYyK2RoaEdNRk15WWlNN2RPR1l2VllCOWlsNDN4aHZqT2VuYUVWMDlXMnBWRjIvamJvYTFDTVJ2M0oxaUpBN1A0NEdOdkIrZFh6OUNCQkV5czVTQUpHSGg5NEJvTC9iNG1XbkhBR2VUVVpQdTY2Q1dDVER5VWdYc3JFdmdlTVJWUEx1TG9TNlh2OWhYcllkeGkvNUI2OXYrdzF0RXVZaDdDVjZCdHR5RC9iR2xtYThKVGJaK2Q5UW45eFhPYzY4N1Robi9EakYvMGpDZ09BcDlQd1V6LzkwektQNk5Ia1A2djdHcXRlRWE0RVdTRXpiL0ppTStYV3JiVUgybS9hZkMrdDdkTEdQdGR2bW9KOGo2dElLNHprSDFoUmRNVUs1Z2dubXVoVHo5bDdSeTk5Qmw2SnlaNkhMY2hpNmZzR0hycXN1UCttZkxNdXh6ejZSTE1ZMzZRb2NnZDVJLzF0NUdqbzgrZVhnRldOdHByTXJRNzZIRzJVRGQrd3VNcGkyaWhIZmZRZHVob0k1cFlKVGRISFpxemZYQ0VrNGoyVnFNL3oxTFJTTmFZZFcrSitiT2tHZGVFYjNuRjJpVldmTDhMMXQzR3Q1WWYveTR5TE1SNFVIdEdFUjlWK1NjanZ2WVh5TVV5Z2tWUTMyTFhlWWQxL2JSbk82aVdVNC9ESDVHZnd1TmY0M3piUjF5M2VsVndsVUJaUDlwYVl6LzZod3c4bHVHQlpGMWZaUythdHpMYTg3U21pT1k5aW0rOVVkd0ZGYU1HL3Rmazh6OWQ5QVRhQ1gwUnRhWmYxc2hQeDFMTzl4eGpwUWZNWlFncDdLRC9zeDN1cWV4L3pSSFBCbGJ2VGpIUDVpTFNKdHBQbDN2RjhMZUphNlpFUFRCNFhYUDAzU0FtdXgzL3k4R25mczJ3RWs5ZGJEejlvRHp6RTIvbDZ1MjB1YU5WYVVHYUxPWHhTT3NPNHhYaTRyMFhCOWpqOXl0Zlp4aXZ1cTUvY1VyZ2NQOVdHc1lsV2F4R1g2NTN5RjlwS0svK1c2ZVZoaEJybFYxMUlGZXcxR3NOYjMrdFllY1dXUG5ybEZVVGFoWVc3NGM3eHV1RHI1ZWM0VncyRTh1MWZEVVQvNTJZdVB5YTd5K0xpWk5yQldzdS9sTFhmYWR4OFRmc3lTN1E5NTh4dlJBMWlkRnRWZVlDUGN3S1VyenA4aHgwTjdKV2pWYlJOaGdIM2UwcTJsWFZKRWJ4aXpNWWpNYlBpbmdKeGxRWG8wQ28xZWhLTE9rRzEwcy9zNHV6ZVdZQitUNURUYVFudU1SUkFocStmVU9wejNDK29ZMTJwb3RTYitIc1lqY205U2xtanJzeHFjTi9IaDU3T3pua1ZWVUk1cU42dDdyd1BkYkRmT2E5b3RYU245bG5pMHNEMXVMdGNSMkpXbERJYVJNYlZwK2I3cUFsbk9NSXAveDBCK2Nhb3ZucEZ0YkJtRGlmQUgvcHU0WDZkTDkxSXd2TjZqTGFrbVllSnRnYjZQZGR5WWxxQnUrdm5QSVFyUzZyRGZURkxzbUR1VVA1d0xiN0t4OFZpbkdaL0lDMVplY2E1WUp0MW9kei9nazhiSWd1b2xMNUxxd1BYTEZNMmt3U2Jhek1hV09GRHZ4dG9hMXNvbmQwZjJXU3hEQXVrWWVJL1J3cmR5RStGOVd3b2dwK2hGSFdGWExpRzQzZTdRbHgxVFdPcStpOXEzZ2xNSE0yeDlqYncwZ1g1a2ZtZUlhUWpvTythQnZIUjRPdmtqRzQ1OXBsZTZDaW9rb2RjMW8rNG12MEU5eElKQ3BuRmxaVm4xNEdhZmpmYUdkeXZlanREczhYbnVkWjhNOGYwTGNHL3MvdmpRSXBmNGZ6SHZBMlh3ZVJjSU5abG1tUVc3L0VEUDBRUitUY0gvZFBwZ3QyalozamMyenM4NFU1Ny9pOS91SDVRdmQ3UjBmbml6bHIyR2JINzlsN2VKQTl3SDMyQVg3ckRhbDVqczN1TWIvQTNnQy9qeWQ0N0tDSDN3WmpiSTVwb3oxaXg3cCtiMEk3SjNUMWlVMDNPYUxyVVhPNEE3MDhobDQxL1A2SkR0M3BueGh3bWY2SmljMkFiVFJZWTFCalF1TVBvdGg0aUUzd3hwekFKbmlKak5kcDZoNk8xNEQ2UEtDbkhFQm5EZllObjJzdzd1TWg0ekh0TzZEbURCcC9jdGE3WHRDTkg3QmdrQXpiTy8vSWZuNjllRGxpeDNRYS9nRnZKL1p2N0hwTXdwTkQ5aFNUdy83NW91M05MQS9md0RNNUd5em5RdjdlMmVoNk1UaWF3Q1BzRHNmUWpJYjRKS01kZGpqN2dyb3hnbDF3a2RHRWYyZEk2UDdPYUVpTkRRKzlzN09MMzNiNjJOZ1RVSi9Sc0E4bjdNTkZHLzR2bzEvUEYwMW9iZnA2UXMwSXp0OGZIRUx6aXczSE9LemRvNjhUdU53dmRnK0JIWTRRMFdQbzNMNDloRzFEK3hTYVBqVkRHeVd3YXgvQmFYdTdOanpNOFNzYnZnMXQvSFl3UWNVNm1CQTU5cEhVWWFEK2lTMldTdnRuQXp6MjdBajdQeG5qNWRpWjBKejFkL0RpZ3pOMkFjMC9Qckt1Rit6UCthTGxZK05SbzFQVGtCcldEdUI0cGo1Tkh4dG1KSTd0QmwzTDFubHI4TmJFZHU5NEY0NmI3T0NJbTR4ZVFuTUdENkw3dTcxVFBHYTNoMXEzMjl2QnJmMGQvTlkvdWw0TUJ4TnYwZmk1NlU5T1J2UmhmTWkzOUU3NEIzLzNEQ0gyajQ1Wjk0Nk8rM2hOZjdSL2pFSHNTSFBReEd3emszWjRoQUliSFE2cGdVUC9Dd3ZlWUltRGk0dnVwbGorMnNTWE1GSDVhMHZ6a1B3YmZDRUVUTGwyK09UNUZLZk9ZWnEyeWFURWV1d1BYekVSRDNkZU1mNTd2ZyszT1IyVHRQbENqWjVHcnl5SGhhWTBjVHJ6aDBORTU0ajA0bWdYbS80aHluNTNDR3l3QnhmZGZRN2I5NGJzTm9kSCs4R0dzNU1Cdm5LQW12Z0xDSEJVVFdsUVRXbE1kZUpEcWp0M0laTTMyV0Y5aC8rOU9HUW92cUI3KzM3cWczekwyTmhCRC9ZU29WVThncDc5Q1BuMzB2bTlOcGdWbXpPSXQ4Tjd4dTZuRjRJc2NUOS92ODk4Z3YzK0FRekovZ3M0NHNSR2lqeXhVUVg5L3dNQmZZTnFGQXJlelFBQUFMNXRhMEpUZUp4ZFRzc09nakFRN00zZjhCTUFnK0FSeXNPR3JScW9FYnlCc1FsWFRacVl6ZjY3TFNBSDV6S1RtWjNOeUNvMVdOUjhSSjlhNEJvOTZtYTZpVXhqRU83cEtKUkdQd3Fvemh1TmpwdnJhQS9TMHJiMEFvSU9ERUxTR1V5cmNyRHh0UVpIY0pKdlpCc0dyR2NmOW1RdnRtVSt5V1lLT2RnU3oxMlRWODdJUVJvVXNseU45bHhNbTJiNlczaHA3V3pQbzZNVC9ZTlVjeDh4OWtnSisxR0piTVJJSDRMWXAwV0gwZEQvZEIvczlxc080NUFvVTRsQld2QUZwNlpmV1NEdEJGZ0FBQXExYld0Q1ZQck95djRBZjFlNkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUI0bk8yZGpaSGJPQXhHVTBnYVNTRXBKSTJra0JTU1JsSklicENiZC9QdUMwakpXYThkMjNnem50WHFoNlFJRXFJQWtQcjVjeGlHWVJpR1lSaUdZUmlHWVhoSnZuLy8vdHZ2eDQ4Zi94MjdKMVdPZTVmaDJmbnc0Y052djY5ZnYvNnE5OXErWi8xWE9hb013L3VCdk0vaTl2Q1cvcm03dG83VmJ5ZC9ya2RYRFhzK2Z2elkxdFZLL3U3L2JILzY5T25YMzIvZnZ2Mzg4dVhMZi9xaTloZTFyL0lwS2kvTzVSam5rVTc5WEs3YXo3SGFiL21UZHAxYmFWcGYxYkZoejByT25mNHZPdmwvL3Z6NTF6YjFULzh0dVpRTWtEa3lZai9uVlA3SUZKblgvbXdYOUd2T0pUKzNFOW9DNVJ2MjdPUmZNdkw0citqa3p6SGtRbisxREpGenRSWDNXZVRITmVBK3ZqcUdQZ0RLWXoweDdObkovNnorVC9sMzd3em9lZVJlZjZzdElOZmF0aXo5ekZqSjMzb0E2UHVWbm5YRDBITk4rU1BYa2xWZDZ6NUlYL2VZd0huNFdaTEhkcm9oMjRuMWpPVmZiY1JwRFA5U2RlTCtjN1FmWGMxWW5HMGZwMTluK3lsWldkNHBEL3B0NWwzWGVTeVhzcXh0MmlCNmhqSEo2cHBoR0laaEdJWmhlRVVZeDkrVFI3RFhwLy96YnkvdldmTGQraDVjNm11Nk52V3VlSVRMNk8xcUI4L21aMGlkOEpiMnZydVc5L09kL00vWThZOThobm1lOTNXK3hDNjlsZnovaHY3ekZseis5TE5oejhPbWprMG0vWGZwMjhNWDVHdnBJNTNQa1Bva1A4NWQrUU5ONTIra2pGeVAvY2krTE5zdjdkL2FwWmZ5dHgvaVVkdEF5dDkrTmg5elB5bDlpYzRzdVNBYmJMN3M1NXowQzlobldDQWo3SFlGNTFIbnRBK1Q5bWUzSGRvTTkwS2VtUmJ5N3V6Wm1WN0szM1gwcU9PQnJ2OERkV2k5NEw1dFA0NTllMTJNMEM1K3lIM1FkbC8zLzBvNzYzam5iOHhuU3ZicjlGbGRrdDZ6NjM5QXR1a0RMdXlyS1puaGIzRi9RNWI4djVNL2ZkOCtRTWY3V0ovQXp0K1k4aWN0L0FEazA4bi9LTDFYa1QvUDl2cWJzckc4aS9URjJ4Zm4rdDdwQnZTSjJ3bTZ4Ym9ZZHY3R2xML1A2K1JQbk1xWjlGTCtuTmY1dy81MjdGdExQMXRCZmFVL0xmMTM5dTNsdGRSdDBkV1IvWDA4UjhoajVVdUVsYjh4ZllpOHAzWGw4WGptVEhyZXBoNGVWZjdETUF6RE1BekRVR05iN0p2OFBENi9aMXc5OW9BWlk3OGZ0bjN4czAyK2l3dTlGWC9EL01ObloyZlQ2dnpnMWdub0RzZUU1OXpBOUMxQ1h1dnphMTluUDh6eW9LOUdQNXlqczZzZy81WGQxM1l3Zkh6WWp0QWIySDg5eDZkSXYxREc3dHRuNTNQc3QrTXZ4MmdmMkpIeFNRM0hkUDNjZmhmWGU1SHk1L3B1WHFkOWdiYnZXdWI0RDdwNVJKN3JsL1BQN0xmek5laUk2Zi9uV01sL3BmOVhkdkQwcGFkUEhSc3A3U0w3c1dNd3poekxkbG5nazlqRkN3ei81MXJ5NzN4KzRMbGZKUy9QQlN6TzlIOXdYSURMeWJsNXpyRG5Xdkl2ME1ucE95OTRoaGZXNGM1ejlmeGY2UWEzT1QvL0hhdFF6Tnl2TmQyN1hPMWJ2ZU41Zk43WkFoakQ1L1hFalRpZDFNL2QrSjluQU9UN3Y4dktzVXg3NUQ4TXd6QU13ekFNNXhoZjRHc3p2c0RuaGo2MGt1UDRBcDhiMjl6R0YvaDY1QnFyeWZnQ1g0T2QvTWNYK1B4Y1UvN2pDM3c4cmluL1lueUJqOFhLNXplK3dHRVlobUVZaG1GNGJpNjFsWFRyaGh4aGZ4SS9iTVQzWGtQamxkOFJkbXV0ck5pOUk2N2cvZHgrWmZ1UTdpbi90RE04TTE3WEI5c2J0cm5DYS9Dc1pHejVZMy9CSnJkcVN5dWJuT1Z2ZnlKbDh2bzhMdVBLbm1DYndlcGVLRE42elBMUDl1aDFDcC9CcG16Ykt6YTcrdDkydE82YlBKbUcxeEREcjRjTnZtczNYZjh2Yk5OakcxdGcvVS9hOXZuUWJuMjkxK2Z5bW9Tcjd3dVJSOHJmNjQ2eEJwclh4SHAwa0JHNFhuYmY1RElwZno4N1YyM0djdlUxbmZ3ZGIrUmo5aCt6bi81SmV1dy8rcjZZajVGUDd2ZDZlUGVNZTdrbTJNY2grNFZsdVhvdS9xbjh1LzJkL05NWDFNVWkwYS9SN2FSLzlBMjUzVEg4Rk5iejVNSHhSMmZYLysxN0s5S1BBN2VTZjljZWJQdDNQQUg5UFgxSDNiM3Mya2JHcUpCZStpa2Y5WjJCdHV4NlNSMXc1RWUvbGZ3THIrTkw3QUNzMXB6T2U4MTcyY25mWmNqdkMvdWFSNVYva1RFeTZjZmJyYS9QY2Erbm1XbDFiV1lYbDVNK3Z5Ni8xZjdkZmF5dXpldnluSzUrbm1Ic1B3ekRNQXpETUF5d21sdDF0TCtiSy9BMytGTjJjYXpENyt6bTFxMzJlYzZGNXdvZHZUL2VncEYvajMwWXRxSGxuQnBZK2VkMzdjVzJrZHAyekQvZjViRGZxZkQzUlBEL2dZLzVXdHVUOEMxeEw1WS8zN1B4UGIvcVBCSEx6SDYyakp1SEkvM2YyZWF0LzlubXV6NjIwOWxHYS8rTTJ5Sngvdmg2c0FGeXJiOVI2RzhKT2NiRWNxWXMrSWp1cmFkdXpWbGJPeHp0cDIvbU9nRXBmMEFQdUMxZzE2Y3QyRGVML0NoN3podXgzNitiVTlMdHA5MzZ1MEN2d3JYbDMvV2ZTK1R2T1Ivbzd2eldvTC9KdUpOL1BnODZuMjdCTStrVjV3cGZXLzlmS24vcmJYU3dZMjNzdzBNKzVIR2svMVArdEkxTWsvZ1F4d2c4c2ovbkVqeHVvby9ScjI0aC84SStQZmZuM1R6eXZEYkhmenY1NDhlcjlIUDg5K2orM0dFWWhtRVlobUVZaG52Z2VNdU1tVnpGZjk2SzNmdnFjQjE0NTdZL01OZUx2QmNqL3pXZTMrRDRldWJIMFkrWmcyTy9YYWF6c3FGNERsNzY2bXlIOHJ5Z2xRL1F4eWdUMTJiNXNmODZmaCtmcHN2VDJhTmVBV3lnYVEvRmJ1YzFHam12czZrWG5sZkh6MzYzWERzVTJ6OTIvbTZPbCsyNzl1ZVNObVhNY3FYZjBmMi84MVZpVTM1MithZitvMTY1OTFVTVR6ZFBLT2w4T3l2NVU4L3BSL1Q4Tkh3LzJHYnRIN1QvMFBlMktqL0hjbzZYOTFkK3p6TFBiOFZPL3BiWm44cC9wZjlUL2puLzEzNWtqbUdyNTVqbjh1N1doOXpKMzIwVVNJczI5dXh0d0ZqL1cvL2RTdjZGL1pCK3puTXU0eExhQTNtYzBmK1FiWU0wMmJaUDNPM3ZGWHhDSHYrdFpQeWU4dmY0TCtmNDJRZVkvc0ZpTmY3YnliL0llZjdkK085VjVEOE13ekFNd3pBTXd6QU13ekFNd3pBTXd6QU13ekM4THNSUUZwZCtEd1FmL2lyV3pqRkFSMXppbjcvazNFdks4TjRRMzNKTFdQK1l0WE15ZitLeEtOK2w4dWU2amtycjdMY1d1amlVam93blB1S1NXRURpbHJ3T3psR3MrMUg5R21LajROcHg5STZkOG5kNGlRdnNZdmNwazcvcjdyaGZ5a3Q4bFkrUmRzNFhJTjdjTWVlTzFVMjhOaEJyQ0dXZlpTMHl4NXZ2K2pYNW56bVg4eDAvUzE2T1JicWtmb2s1OHMreFVlK3hybG11MTBhNU9KYnJmeEVQVGovbGZqczZQVW84bCsvYjMvNmhMZXgwQVBHNnhKSjVUa0hlRzhmcFo3ditRLzZPQ1Z6aCswNzk0bGpLUytxWGN5a242VjVMLzJkY2Z1TG5NbjJiTnUxOTFMTy90K0h2S2JrZTNHNWRUN3Y3Y3Q0ZFhodk05N05xaDM2R0lyZnVleDl3NXJuaStUSTVkNEEybEJ6Vkw5QXVISjk2TFhidE92c3IvY2Yvby9PeVRYdmVWNWNlL1kvN1NsbTVyMXIzcmNycXRhSmdKYmVNRGUzU3BHdzVqNFc4RXVlVjdaNjJtUnpWcjg4alQ4OVZlaXZvd1ZYL1B6dnUvUlA1YzQ3bjNHU2FmaDUyOGVCT3Q1dUhSSjNuTnlvdVdlZXJHeXQyT3RONVpUdjArRGpMZmFaKzZmL2RmSVczc2l2RGtkNkZUdjQ1ZjZQZzNjQjlsWHRDeHA0amRBYXY2WmpYZU82UTQ5V3RjNDlZeWI5cnI0eFRyQjlXN1p2OEw5WG51M1ZLUFcvcURFZjl2L0E4aTlXN1RDZi9vN0x6VEt6eU9nL2tSRjJ5TnR4cXJHYWRtZkpuVEpqckJIcWRMNjhyMkwxYmU0NlozeDI2Y3ZEZFEvUk5ybG5YY2FaKzRlaGJ1eHg3ajNtTHZLT3U4czE1R2dsakJjaDZRYituM3ZTNzlKSGVPOVB1ZCsrRXE3R0F4em1YckJONnlYTjZWNytVKzBpdW5QUHM4MWFIWVhnei93Q2dndm9nNEw4bG93QUFEdGR0YTBKVStzN0svZ0Iva29FQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBSGljN1oyTmtSd3BESVVkaUJOeElBN0VpVGdRQitKRUhNaGU2ZW8rMTd0blNVRFB6LzVZcjJwcVo3dHBFQklJMElPZWw1ZkJZREFZREFhRHdXQXdHQXdHZzhIZ1AvejY5ZXZsNTgrZmYzemlPdmVxNStKenBhd0FaZmozd2Y5UjZmbUsvak44Ly83OTVkT25UMzk4NGpyM01uejU4dVhmenk2K2ZmdjJPKyt3TjJVRTlQdEhSdFQ3dEo2Vm5rLzF2d0kyMGY2dTlsLzFVZnAybGFhVDErM2YrWjFkVlBLczVBUmRHcjFlcGN1dVorMjhlejV3YXVlcmV1dnNIK1ZyMzNXNXRHOTdIcG9QZVFXcS9xOTVaZldPKzU4L2YvNzNlK2d0MHYzNDhlUDN2WGlHdXFndkMwUTZ2UjdwTTBUK25pYnlpTHk1RjJXclhrZ1gxL1Y1NnFCcEl5OVBSeDMwZXZ5Tno2ci94OSt2WDcvK2Z1NEtPdnR6VFdYUjhpTk5sTTh6V1o4alBmY3krN3NNVVo3YkNKdkgzOUNacG9udmpGdGNjejFGR3Azek9MUjlSVDZrUnhmSXFlbFU3dmlnQzlxeXloM1hWQitxWnkyZjhYM1gvdnJNRmF6OGYxWm0xdi9wZjUyOGdjeis2bStvVTFaMzdCeDZWbjNSTHVLREw5QStxSDZCUEZaeWRycEFQc29oUC9jVlZaMzkrWkRQeTk4Wi8rOHhGN2pGL3VnOCtpUDE3dVNsL3BYOWZSM2l3TGJZUGY1R1d5Qi8vdmQraHF6MFVkcUxRdk9oVHBrdThMY3VLKzJSdVY1bGYyVFU1NzM4VEc4clcxekZMZmFuSFd1NzcrUU5aUFpYZjRmdnpmb29mZDM5aitvMjduSGQvU1MrSTdNL2V0QTJsdWxDMDZuTmFSZkk3L2JIUC9KTS9PVVp6VGV1SWVNejdFOWZVWDNRbndGMTllL3FieG5mSEpvZW1lbGIrajJlcFE5MGE2WElpL3Y0VGNEL2tjYnZJU2Q5THdQMXhvZGt1dEJ5TXZuSlg4ZEQrb2YvNzdLby9EcVhxZlRwdWgwTUJvUEJZREFZRERvNDk1ZmRmODN5YjhFOXVJUXJPQzN6TkgzRjI1N0NZK1hFcFZqUFpIR0JlMkpWL3VyWkZaL1djWmlQd3FuT3J1aTQ0bTN2SWF2R3RxdG5LczZxOGg5VlhIcTMvRnY1dEVkQjVkWTlFMTZuSzNKMThmeDd0ZXRNVnVYVi9QNEo1MVdsUHluL1ZqNnQwcFB6aHM0cCtoNEY1M2lRaFh5Y0ExbnByTktCeGhXN1p4NXBmL1RqbkZ6RmVXbmNYbVBtVmZyVDhtL2gweW85RWFNTHdMUEM4eUh6eXY3RTdWUVdsYlBUV2FVRHRUOXladkpuL3YvS0hwb1QrMWVjbDNQV3lyMVdITmx1K2RUMUtwOVcyUi91V1BrajVSUTkvOHhHeU56OWY2b0R6NnVTZjVjclc2RWFxK0JHOUg3RmVRVklxMXhNbDM2My9GdjV0TTVQMG9lampHZ1A5RFdlM2JXL2pobWU5bFFIcC9hL0ZlcHY0QnFVZDY5OFUyWVhydnZjd2RPZmxIOHJuOWJwS2JPM3pqc1pGN1RzekVZQjVSYXp0RHM2ZUEzNzY5akp4L2ZpS1MrSVQxUE9DM215NjFYNmsvSnY0ZE15M3M1bEE4b3BWbVV6SjNldWxPZVJaMGRubVk0OTcwcitybDZEd1dBd0dBd0dnOEVLeEw2SStaeUNkU0JybUZVc3Frc1RjOXNkL3VjZTJKRTFnRzRlV2VhdUxQY0c1MkpZZDNzTWZ3WGlINnkvZDlZbTNmcjFtZnNaTTY1UjE1U0IrRTZzOEZGbGR0Y2ZDWTlkQjZpdnhyZTY5cTluWTBpditzdWU1eG51YWIyZDk0cDc3cGYwekVHbU01N3A5RWwvOHppR3gyaXo4bmZ5eW1UTTBuWFhkOHZJOUxpRFZSeEo5K1JYNTNHVWcvQTRyZTdWMStkSm96NEhuU3VYby9GQTVleVVEM0NaOUJ4UnhaL2g4OGhIWS81YWw2cjhuZkpjeHFyTTZ2cU92TVFiVmNZVHJPemZuYmNFWGN6UytTLzRPdTMvNk1yUE0yVG5POG1yT21kQ09jaFNuWTNJOU85OFIxZCtsWmZ1MTNjWnF6S3I2enZ5Wm5vOFFjZVBrZCtLWit6c1grbC81MndSK2Zxbnl4ZDUwUDJPejlMK25zWGlzL0k5cjUyemhGV1oxZlVkZVRNOW5pQWIvNVZiOURaZjdmdTUydjh6WFZYOVg4dnU3TzhjOUtyL2E5NWQvNi9tZjEzLzE3S3JNcXZyTy9MZWF2K0FqaTAraHVHZmRIenArQ3VYYVRYK3E5eHUvNENlNGF2T24yZTZXczFaZkR6MU1VNTV4YXg4UlRmK2EvcXF6T3I2anJ6M3NELzFydGIvZWk5cm05elhQdVE4bXMvL1BZM09rWDFPbjgzbHV4aUJ6b1g1bmdFWi9EN2xkZVZYZWExa3JNcXNycS9TWkhvY0RBYUR3V0F3R0F3cTZOeGNQMWM0d0VlamtzdlhIeDhCeitJQ1didjdIc3pWT29MOTBzOUVGV2VyOW1PK1p6eUxDOHoyTWl1eXVJRHUyZFg5L3lmclY3VVZzVGE5bm5GdTJKOTduZ2R5NkhYbkluZTRQTkpVYS9UT0xwa2U5RnlnY3FTVnZtN2xHMC9nKysvVlBsWHNqNWdUZm1PSEkxUS9vL0VycnV1ZWVmYnZlN3hSK2NJc2p5eGVuWEZHSFM5WXhmdDJPTG91MXFsbkUrSFhNMzN0eUxqaUFrOVErWC9zand4K2JpWGphRlVIM2tjMERxZm4rQ2hmKzRWemJueFhmVlJuSm5oZVkrdjBreXhHN2YyRnRzZjVGYkREMGEyNER2S3I5TFVyNDRvTFBNSEsveU1yZlMvalZYYzRRczVTYUYvUHl1L2swWHk3TXpNaEQyMldjbHczVlRtTWJlcmZLSHZGMFoxd25abStkbVhjNVFKMzBPbGIrNno2ZUsvckRrZW83N1hNK3IrTzMxMy8zN0UvWnp2MUxPZHUzOUs5QTlwdmR6aTZYYTZ6MHRlVi9xL1AzMkovOS8vSTd1TS8rc2RQVnVtOFBmbTRXdGxmODg3Ry94MzdveU8vZG1YOFArSG9kcm5PVGw5WHh2K2RzNDRWcXZXL2N0NVpUSURyMm04N2poRDVzSi9PTWJObnNqbHdWbDZWUjdWK1BwbGJYK0hvZHJoT1Q3ZFQ5eDBabnhVekdBd0dnOEZnTUJpOGY4RG42TnJ2VWJpU3Q3NWI0eDd2dnRmWXdBbDJaWDlQWEJSclhqZ0ExcFNQcUFOMlBBSHJXbUo2dXEreTJ3ZGNBWTdoRkJwUDdIQ2xqcThGWWhhK2JpUitGdkI5ckw0T3gyL29lcFV6R1BIUm1BMXRTK01MNkt2amRsWEd6djVkWHJ0cHRFNjZEOTdsdUZjZFFmYTdJN1QzZUk3cmxLdnBBcEhtYXQvS2RNVDE3QndMY1F1TnN6b0hvNy9QUlQzUURYb2wxb1hmY2ZrcFEyUHgxVmtCdFVYRjBlMmtjWm0wcnNwNVVrZjlMYUVyZFF3b0QwdGNEL3RvckZEVEVTZWwzQ3BlMktHeXYxNnY3Sy94Y2RvOWJSSTllWHhMOC9MNGRzV3JaZnlKMjF6OW1ITElpcDAwQWJXZnh4ODlqcHZ4ZTFmcXVQcmRNZEw3K3dTZE96M2R0K1h5ZUJ6YTZ4TncrenR2UUQ3Nm01VEltT2tHVkZ6VWp2MHJIa094a3dZOUt1K1p5YXQ4bUw5SDhFb2RUN2hEeXVVRFYxMzVsaFY0ampFdXM1bnZ0YUFQT1Y5Rm45Q3hxZUlOdmYxVy9YSEgvZ0gxZjhyaktYYlNLT2VvNDZES2tYM1A3TDliUitVRThma2RkNmljbis3SHVnSWQyL1RqZXkzaWcyLzB2UnpjVXgxazE1VmZ5NTd2enRlRHl2NzRNdVhVSFR0cFZDYWZkeXJmem5mNmg3ZVprem9HMUFhNnA4ZkhaOWV0dHBOVC9rK2g0d2R6ek96ZWFvL2Q2cnJ2SlZxTlczNWZ5NjlrNmRhdXQ2VHhzaXVkbk5ieDlMbk1kMTNaL3pjWURBYUR3V0F3K0x1ZzZ4aGR6OXhySHRudFNZeDFrTDRyWmFkTVhhc1M3ODdXZ3U4QmIwRmVqK2V3N2pzOVIxS2hzeitjQU9sMjdLK3hGdFk3UFBjVzlIbUN0eUJ2Rm84a1R1NHhHK2UwaUQwNjM2VlE3bGJqRlFHZWRaK2pQTFRISUR3bXEveS82ak5McTNrVFE2bTRHQzhYK1RTV294eHl4eWxwUGJYK0tpOTh6bzVla0YzTFVibE8wSjB4Y1k1SHVRaU5wWGMrdzdsNzVaWGhDenhHcXZYejg0M093VmIrbjNLeU1yMXUyZDVzYi8vWWpkaW54M3l4YmJadm03WUNKK0p4WXV5dDdhTFRpOHZ1Y3AxZ1pYL3M2bVZtc2Y4VmorZzJDakFIcUd4NmtwOXpRZDVmc3J5ckdMRHVEOUo0TjdIVzdMZWpLdTVWZlkzdXJWS3VKZk1aSzcyNHYwT3VFNno4djl0ZjV3bTMycDkrU1Z6OVVmYlhmckZyZi93R2VhblBJMSszLzJwdkIzNUVlVlhsRDhDdVhxcjZubUExLzZPZWNJeTZCK1VXKzJ1NTdvZHZ0VDg2cEJ6Vnk2Nzl5VVBIRHJXNTduZlp5UWQvcnZ5ZnkrcytQOU5MZHMvbE9rRzIvdk45UlRxM3lNNWZxMjRjSzN2Ui9uWC93ejNzci9PLzZ0eHlvTE9iOTNITms3N01zMTArUHYvTFpORjlHQ3U5K1B6UDVScDhUTHlGOWVMZzlURDIvN3N4L1A1Z01CZ003b1ZzL2JlS1pZQzM5Szc1am1jNmhhN1h1dkcyaXAyZVlGZlg5eXd6eTAvalA2dTlrUUZkbDc0RlhEbjdVSUg0MSs1K3pWdXdvMnRQL3dqN1YvbHA3RWRqRlg3R0tlTUlIY1F0UEo0T2Q2YThMdjJQTTNITWZaVVA0NTUvSjNhcWRmQjNKRmF4a3F4dUdwUFJkdUh5S0xKeXNyckMvN2l1Tlk3dk1xbTlpRk03VjdpTHl2OXJqRi9QUzlIUGxQT3RPRUl2QjkzQm5XajU2RVhQMWFBZmx5ZUxPZXAzUDM5TE85SjRPdko0Ry9DNkJUeVc3SHhBdGcvYlk3UEV6NzJ1RlllbitWYjY0SG5peGhVSHUyTi85LzlBMjVhT1V4NTN6VGhDQnh5VjhuR3V3KzcvWGZ1akZ6MlA2VElIOUd5UFF0TmxObFo5WmZiM3VZaWVyYXZ5VXYwb3Q5anB3OHZoM2dsVy90OWx5dlphVkJ5aDY0UTAzZnNmNzJGL1pLS3RaVElIM3BMOUsyN3hXZmJQNW4vNFF2V1h1bzhDbjFSeGhLNVQvSC9YL3dPNy9nN2ZsT2s4bThQditIK3RXeWJQUGZ4L1p2K09XM3lHLy9jUDlmZHpzSHJ1VU9jcEdVZm81ZWpad2FwOWUxclhoYzR6cTdPWmJqZkZhdjRYY1B0WDg3L09kMmJsZFBidnVFVy9kOC81MzF2SHZkYzdnL2VGc2Y5Z2JEOFlEQWFEd1dBd0dBd0dnOEZnTUJnTUJvUEJZUEQzNFJGNzBkbjc5SkhCZmhQL3JQYTlzOGZTMzJrUllHOU05bm1FUG5WdnFjUGZhVnh4aWV4TDgzeDkvd2p2QU5JUCt6ZWV5Vk4yZFRuTlIvZnQ4YW5zcjc5andyNGo5dG5wUHJjc3oycHY4SzN5ZDN2MTFZYjZIaENIMWh2ZHNvZE0rd1Q1UGF0dFYranE4c2d5ZFYrazlvMnMvempZcjVibDZaOXFiNTQvdTlvYnNtdC8zc3RFK3ZqZjM3R2g5bjl0dkliOS9YY0gxRDcwd3c3c0k2NmdmYW5ieXhiWDliZEZPcXpzVDl1aFR6czgvNnovYzUzOGVaZWI3cUhVZlpzQjJwdSthNGw5ZnZxTTdySFZmTFZOa29idkp6Z1pRMVFYL3E2aHJHOHJxRnRYbnZxQ3pQYU12ZmlHVlpua3FlL3ZVWm4xL1hJbjl2ZTk3bHpuZjYwbjU1SjBuRlJadU05MzlJck1laTVFODZVOXFOeFhmTlBKZm5FOVg2RytBSG1xdmsyNzNQSG4yZGtCemNmM2xxL2t4NDlyL2dGMHArOWlVejB5NXZ0OHBkS3h6M20wVHRwZmZVK3Y3bVhYK1pUbWtiM2JqL2JnL2ZCMFRPQ2NVemFmY1dCRC8rM01haHhtL2JRemxpUEw2ZHl3c3o5NjFURUwvK250U08ydi9sMzNtcFBuaWYzMVhDTHRWOHZNM2wzbDg2eksvdnhQTzc0eUowQys3T05BZm5SSEc4NzhPcnFyL0tybmUrWGRkWUhLL3VvM0FXMHhpeFhvbVZGZDMxQlhuUjlXNXhzeSsxT3VqdVY2WGMrbGVwL1NjeCtkL1pISjI5Y3owTVZkZHVjV2tlNnEzTjE0ZDlLZTlOMDYycGMrMm5tS3dXRHdvZkVQaUNScW91dDN2UllBQUFEY2JXdENWUHJPeXY0QWY1N0NBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCNG5PM1NNUXJBTUF3RVFmLy92ZTRWVWhoQ1VOd2FjbE5NbzBxd042cHFOR3JPMmQzNXY3djljdm9YenJXM2dTeGRleHZJOEd4c0ExbTZ0dHBuMkxYVlBzTlhZKzF6dkZ0cm4yYzExejZYOWdBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRHNYUGJSYkNhRENScE5BQUFFZVcxclFsVDZ6c3IrQUgraU5nQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBZUp6dG1vbHQ2ekFRQlYxSUdra2hLU1NOcEpBVWtrWlNpRDgyK0dNOGJFalpzV1Q0bWdjTWRKRGlzY3RESXJYZks2V1VVa29wcFpSU1N2M1g5L2YzL3V2cmEwcUYzNE95SHBkTSt4THBYMU5WbjkxdU4rWHo4M1AvK3ZyNmMzN0xkYWNlVmRZdFZiNS9lWGs1MkdQcjlLK3Q5UC83Ky9zdlNuV3NlaitqLzJuN3orRC9tVDQrUG43YUFITUJiYU91SzR4MndYV0YxWkg0RmM2OVdacDF6RGl6dFBxemRVNFowaitrVjFBK3lqRktjNlNLVjJsVy8rZjhrZjFmZFV2d1JSLy9pYys0aUM5eW5NejVvOEtJWCtLYVowdVZWMTNYc1o2WnpVVlpIdkpqYk1yekxGdW1uMVNjV1J0SXUxUyt6K0QvRHJhYitmL3Q3ZTN3am9oOWVLYjN4MHdqZlVHYklMelM0cHoyUi95ZVZoM0xON3lYa1Y3M2ZUNlRhZEtldXJJdDV4ejQ2UDZmYWViLzdEdDlua3hLK0xEc1dPMG14MVRLVVBjei9WVGVJNi8wMzZnZFovK3U4RW9mSDliNWJBNGdIbVhrL1NmdlBZclcrRCtGelpodjZlZjVib0R0c1dIMjYreWI5TDE4TnhpTkZmayttdjAveDVEMFZaWWx5enVyN3hLUG9xMzhqeS94YmZhMW5rNS9MK2pqU1k2MTJmZG04MUhXZy94NmU4anhQTk5rek9rMjZXU1pidms3NksvYXl2K2xzbEcrQTVadCszdDc5elh0SlAzQSt3UnAwYVo0NWhUL1p6ekdKUElpelY2K0pUM3EvSytVVWtvcHBaNVRsOXJuelhUdlpTLzUxcFRySUpld1lYMGJ6YjVyK3ZmVVg3WDJlYlUvckRuVW1zbHN6WHFOMHY5OWJTTy84MGZmL0V0cklheWI5UE5yS01zNTZrZjg0ekc3djVUZTZIcVcxeXl0VWI4bTdtek5hVmJtdjRyOXN0ejdJMS9XUFBLYzlzSXp1YzZlYlNUM1hqbG5EWmQ3T1Nhd2Q3TW12TnM2eTVucmlYV1A5V2JXbXZxNlVvWDNPdGE5VEN0dFY4ZjBHWkJYWHFNZXA4UjZKZmRKbDczdXBUS2ZvKzZYYkcrai9zOWFHN1ptUDc1ck5QWlh2TnpITGVnanJQT3RDVDlXTCt5WFkxNy90eUgzSVJCN0dYWE10Y3EwVmFiWjh4clp0LzhUUVp6Ui9aSC9SMlUrUjMzK1A4WC9HWC8yL3BCMjRweTlHWTc0TS8vSldCTithcjM2bkpkN0F2aDZWS2YwUWJkUFhzL3l5ckRSUGhQM3N6OXpuWG1QeW55dXR2Qi8zMGNwbjFDbVBDOHgxakYrTXBiUm50ZUduMUl2d2hnMytJOEFHOU8rRUhOdDkzOGZjM0tQOHBqLytYOGk4eWoxKzkzL3N6S2ZxMlArejdrZE8vUitrblV0OWZFcGZZTy9pTXM4dGxYNE1idG5HTGJrL1RyblljWnc0bUxudERWN25mZ3o5eWlQbFlOL2EvRWhiU2R0eXA3WnlQK2pNcC96THNoK1c5WXBmVWZmenJwaWo5RllSZHhNcitmWC9kbjd3WnB3d3BicWxXSFVnN21rK3pmbjh0RTNHTS8zNTBaNTlURGFRTitMVEJzVFAvT2VsYm4zdFV0b2FiMUFQYjcwdjFKS0thV1VVa29wcFpSU1NsMU5PeEVSRVJFUkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJFUkdSTytRZmg1ZU9hdGs3anB3QUFBRlRiV3RDVlByT3l2NEFmNldGQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQjRuTzNXNFdtRFlCU0dVUWR4RVFkeEVCZHhFQWR4RVFleHZJRUx0NlloLzRvSjU0RkRtMC83NjAxc3psT1NKRW1TSkVtU0pFbVNKRW1TSkVtU0pFa2YwWEVjNTc3dlQrYzV5N1YzOTcrNlQvZHZYZGR6SE1kem1xYkh6K3dZL1N6MzFMMTFGc3V5UEY3SE1BeC92b2QwNzdKamxYMnpZWGF0emZzOXRYL1ZONy8ramU1ZnR1dDdWam5ybitWNm5YMzd4dG0vdWw3VC9jdHp2dTlmLzlmbmVYN2FQOWZzLzMxbDIzcnUxKy9idHYzNnpQZm52LzIvci9vZTEvZXI5MEN1MVhmN25FWFZueDNYYTVJa1NaSWtTWklrU2ZyM0JnQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBK0VBL0N2bXN1RkxhS21ZQUFDb1hiV3RDVlByT3l2NEFmOVR3QUFBQUFRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQjRuTzE5Szdqc0tOYjJra2dzRW9uRUlwRklKQllaaWNRaUk1RllKQklaaVkyTWpJeU5MSmwvVWZ1YzdwNmU2Zm5VLzlTSVduUHBQbFY3MXdtd0x1KzdMbFRtNTMwMm5nRGFzNUV0eHRkR1lJZWp3d0p3WGNVRmF3RGZoWDdEODJJZDRJRUtFQUcyQ2h2UW5pVEJkOTJUMmJHRXdmSE5mSFA4OFVOdkFKV2IzVUVyMVhFenRyNXNUeFVVNEhpZFFPRW82VER3WWJtdkt6LzNDUktnM0ZRc3BGK05BNjgzZ2JoelhKM2IzcytZWGtKc01TbjhReEh6bGRJUER5dlVhOXNvN2taNVRpSTQ5WlprVUVQTVh6a1d5TkkrVHdZd0pteXJOTGlQU1cwci91N3JicEIzN3R0SEY0OXl4YkQ0alpuZ0FUeFJxb054Q1EvUkZBa3JyNWV5aFVpVGZRejZvYTdCWmFHM0hYOXhqN211Zm42Q1d5a3VvelZqZzRrMkxOYjZ1TVhBd1lKdERwNGRCSFZQb1BqdnFEbHdYUGpUL1R3dkd3OHZQN3o4dDdoT3hEb1NucE5Od3BzRmNDbTJGU0FWOXNTY0xSelZIakp3d0NjUGgzVkxjV0FDdnJUTlg3ZmcydWJBSDlVdnVKbjdOdncwSFR4K0FJVUx0QjQzTjFQcUc0SEg0VTdkMVVKUjErSFc3ZlBycDZpVWRVM2c5M3VQanZzMXlDVXVRcVpPeVlvTEdHczZHQWxybTA3QXZHMkJPZGdQL09jQ0txZDFnVlhGZkRLb2h0a2xPOUh2RVlHYnF4MjRYVWJoWWRlU0tjOExxbEpGSlVoWFl6Qk5ad1BHUHJ2NEtTOTBhV2lUWnBqMTFRblJ1RmlHUHNyS0hLZ1N5MFhMeGZMaktSV1cxRHdQTE9rMjluTTB4ZUhBZjlZMW0zcmdZdkEvcEtKS0gvRGc5bHdiUEJsUEhFMGxUeU1vTitRMjREcW5GajBKbmFycS9kT0xCMWxCby9mQ2cwZ050cXNJa0V5Z2N6YWJ6Z05OZzFqcXlQbENZMWlkSnNlWVNyMFRkQVJsdXk3SzloTDhxTThKTXk0WWFtVW9sTTgvMUR3L25TMHg2U1J3blU4QlBRRDlmM2dVR2hLTUMvL2EvUWtmWFR4S2RNS2h0MVpubTVwZ2ZFa3NQT1M0bFgzZ1J2TU9VV3BkMEc4bFcxQmgwZjBCaURiOUdGZ1NXYi9OUE9FWHFqOFFxRmx2YUFDQVJwNFgvREEyTitHQnJSODJTa2J4bDBkYjhJVUZkM1lwbXM4M1B5d2M1RUIzamdxTkJtNU40TWVtM1JOdHpBWEthejQvOWVqSlROcHE3dyt6RlQyQTNRL2FKWGVEV29ocGVrWlVlQWFCRVBTRUpCR0JyMnRROWppYlJiZVFiZkw0Q1dwQlQ1bngxTmY2M29Dcm5odytmdjZTaHVYYzROaUdrYm9HNlVJNStyWGlDWVlMMXFRQ09GV3RxMHNjRGtQRGRyUnFZdXNQVEF2bzVlZER2QUx2Z0htdkJhRUw1eDZOTzZSdEYyb0xVQzdVQlNDWCtPUHZSR3Z4RmNMcWQvNmhWZjlGd3NLQU0vVGNxTUdVa1pXU09IanJWY0NGU3NyOHVYTVNqNk1TaVo1Y2hMTUlEdWpKbjQ0ck93WjlCd1J6clJoR0VPTWRVU2dlUzBtdDd2ZW1XTjJiaE1hb0Nya3hDOHY2L2l0TGovcW82R1JZakI5ZE8wckVvNDd2WXdpSWVDU2RwMFRSMTdmZUR4Q2VvaE5ZWUduWEhpRHNxT3ZSRUVCc3pJLzdjbTZ3YlNTQnFNWmUxem5PaE85NlFrZlBucUJSUFJYR2JtWVE1R3VFUk9yMnJHVTdDanlvL2ZnV1lkUDhQaXkxNHFLZW0yckc3MnVITUVLZlczQW85ZUlrdngwQXVvZkhvSkhiOXN4dy9UUU1ic3NaeTNGZ2xGakdrL2tKK25iUHRmYm9HTmt1ZVBWSWJvejdqVzl5bjBxK2dNODFyUEhCNFA5STRCeDFxWW54NnV1SGw0OExadUNuRmd6dDE5ZGg3QmlWaG9sYldoY1pPajQ4eDAxQVNxTTU4d0w5QXF6aUpOTnhYUlVCb1FCOVBVaUZGZ3hyQk5EK004YktHTHJqci9ucHNycDB2MUdUUFgrQ0FTd0pOOGJIQnJYZnUvM3M2dWR6RGNRK2tPT2lNL2kyNzk3Y05sdW0wV2VWcUpjTVVreU4ySTJxcVBrUnJUOFh0eWdNalNaMzNTNDNReU4rUW5zSWdsMnYwd3JYNHBkVjFGY0NzZ3czbWRJeGYycHJmb0psbEdOSHU3OXlGc3ZIK1IvUTQwVFlMaHNTUGZUTFM3VGM3dXNJeFVEZFY5M0hzVTBTQS9zdzVZQ1FBK1A3N2Vqa3ZERE9YQWJhOG5oL2tQT3Vkczl4MzA1YW9ncytJd1RHRFlPRWpPQkNSWmNKbWFVcGxZSzZKbm5ZUVgxMDVUOUMrK29MV2V4dEtNSlhTWERoZ2NteDhvRHhDN2g4dlRLWEsrajk0Rnd5dC9ZZzdkNHBrR3pjT0xmV2RHd1lCUnpCUUZvdVFyMkFvKzhZQkpWbDhZV0xqWU5TVTkvMGdjYURiVDVrbUVtQjZmNXMvdlR5SjA0TllZWmt4S0pITTdrbGpZYThJNnNwUCtpOHp5UUZBWE1mSE44SkExODFQUk95N1ZrY3gwSlNJeTFySW5GSFVDM1FaUkwrSXVkbXJjRUl3dUVsMXFrdHo1TXpIamZxME9UTXlEalVUVG1aR1lIUGlobUtMQnVzNk9SZkttNDdTSUxCK3NaRkZrTEdzWVlkMW1Oc3YzNzR6dTZ4NXczTG5WdURqaTl6WVo5bnVFa1ZGMFVJTXVVc2VnUFNNZG9YZElFYk9wSnJUTWJUNTg3QkJxSE43UnpJbVFnUDVhT0xSeW5tSE5SN0VqZktiL0RMeFc1a3FQaWs2TGZ3NFpWN1FITDFVSmcrRU1acnduZU1hOWU5dnFFTEk3Z1BhMWdYWm5tUkV0WkZ4L2VheUVHcHpVTENPY0oxVFJDdzI5NDBVRDI1WHdUVGJKS1F4bWRYajY3WWg5MU9sUlRWSTVaZmJwbUhSKytrY0FOd0N5eGFoUjRTLzFWMW16YklrL2ZEVnFhYjA3QzQ1VEJGUzVFM0tueTMvUmhkcjN1ZC9EYzFSbHpwMUxhNytucFIyQldnZWlIaGdzY0hDWFVWU0lBKzd2L3pwblZ3bXJMYTl2VlUyYU83YnpOUUtZajR0RnZnWHRVMjQ5YmE4K05nSUMyYVpDWVM0U285dGlYRXdNcG1XWkk4djE2U2c5aTNZRjgybmFqZnlIeG9IYmpNNndVejJLRStnSVF5SUJsUXVoRDZjZi9YTndjVno0NnpDLzNWRHZ3c1RuTythcnRHbVQxQ3RZcjhZQXVvN1lHemxVT244dllFYVk1Vmtpa0JVdW1RajBCTXhkOEcwcTZFaS8rSkhRSzN4NmR0WWp3eUUwWklrMUp4c0xJY3c3bEd2UjdsNC9qM1dCeTZhWTNranJMMVQyMnNSMEg5M1JDMzlOSjlPcllxR3I3TEUzVU14R1lGMkRvZFFNcXJVa2laTGdQeTJlK0tzRGJDOGJ5eHd6YU9hcERsQWFkajVrZFBjRTh0RFJENnJUWWRTQmZTL2ZyY3luOUxuY2xLNXR0VndNN3NGanE2U3NlRHZwMksvY2wyUEdkNmp1T002QVR4SVBIL0NERkdLbkZ0bVMwN2t3MUo4bzBVQURjTlB3UGVIdUpQN0NoWmNnM1paR1hIQ3MvSlJnYktGdzNsbVFuUyt0R2wvNVp5eGRoSWxoQWZ5OEZoN01mSDI2SG9wVDRZeGhBQUxLR1Z1Szh6LzRzYlJPeGFDSXU1UmZIS3hxNEIwbkZ4OE96WU4zQWJnVCs0ZzhpTTNrdXNCcEQzeFNVT3lLY2tnVHNQNHJ3L0h2MVJySElZalRhemNGQUROMkM4WVptR3VPbGVQWVFIaFAzSlV1ZTJYeGVHOVptektXMmpoTWMrd0VRekl4N0Nvd3k4WHljTjUwbit3aDNKclhVUHpZdER3Y290VW8xdUVHWGpyNFN6c3MvekgzTnpsY0R1VE0vTVBNaXRMeE8xNEJ0U0tYeE1kRjh4dStueXdUeDE5WDFGQ2tUSWVtekM4U1FVU05NUkRpdnZUZ2dkWHhVeTdMOXpCMk1CMjY4dDhuSklrVll1b0JtenBZajBHdi9PMU5hUEo0Q1I3NHlaaFNoOUMrQnZDYkx0T2wzb3JLZmJOcWRHYUd4M3NZYThRSXpTZXNaN05ycFFYNWsvREFHMkRVWHJHOUxkR05Cb3M2TDIzN21qZzhOMm91Wkxxd3d2KzBMcElrM1MvckpvTzhEWDhmSDZGK2NFMExHaGI3L3JLV2RTQW0wZ3d5U3NOYjhzSUpSRmczajhLRCtxT2hPMlo4QlY2N1dGRjBhOE5KNlo2c0FnQ2VqZ0Znanp0ZCs1dzBVMGpJRUdJWmF6Y1Q4UWJPU1lCNUQxUWE3MURvaWZGbGwydE81ek9tMVNIcW9vUndmL3NGcmZlZHBIY1lRcmR6QVJLVTU2Ky9ibjRYV0lXZlF0eFNhVnA0L293Q0tpV1JBSlBTZEpodjNPSFlNNDhMZm9HSHU3bVcySUcwd3Zmb1M1anhtRHdpSCtqOGY3L3k3alF1K3U0TmpSekVFOXFKNzQ1N3l4V1puTERIeDZCUFR3T21hSkd5UENySDl2YUxreVdHcUIrTWU4U1h3eDF0aHBNeE5CS0h6NXAzWVFaakhGQXhPbDFnMU9TNENJbWt6QXphc2EyaTZmNjlQclA5SnkyVjNEY1VKVG9GNGpieGJ5L2k1c2dDVUVlZ0xpNG9HTERhL0U5MW5TNDM1cGlPU1VnMUN1QUloeEVCN3JkU1kzS0lRRkhQbFZPMElDb1pKc0lIcEc2M2pYamdhemdhS0xUWnYzeS9JTExIeFFaZ3hXOWRhZzltdUNrU2ViVHJyMFlzeVVMNkVrUlU2VnVhb0tTQU5CMTJuZSsxRUxQWUoxTFI4dlZPWlJRVVE1azZPbzBtZlY3RmZ0OE9BbFdWcnZybHlBbjlwaDFLV2s0eldRVDYxcWNxZ1B5OUh4cWZoMUlqbmoxa0xZZW5DRHpLeldkbXlscld3OUM0TVFqeDRWeWJoWjdPakhlWjhWM0w0MWRBUDloYWJTRVF2WGJVV0RnWHFlSy95cUhlOU5HN0craXo2b1RMOXJ4ejJMY25JTU5JMEQrZXpxcC93VUwyZjlENXBGd0hJUy9zQitVSVlZcG01QzMxdWdybHhuV3hWN29hdUhrbWNhbytOWjJ3TjJVcDlYSnh1R2h3cDdSbVd3YlRIdjNnR01ld3NDM1hlK0J3Tk0vOVU3a0IwM3FDWWtrZWYrZVBwajJ2akQwRENmQzRHT25tN2Q5b256N1NZUit0cDF4VUExYzBQb0ZFUFZzVzJjOFI4NFNCaUQ0MlZtOGUrNXhuUU1rczQ4VUVwYS8vU09zRUNEaisrUStjamMvK2dkb2JzV05KMUxmSzZQSTJBT0YzMFhZWjlyRVZKTzR2K2dKNWQrU1ZVaHdtdnlWd0dBZ1V5TW0xclg5VVNZQkU1TGxjR2xCZmZNb1ZYakJneWpuTS9FOS8zZE83U2FaOHdTNzB4K1lTaGQ1YS9lSVVKcWR1Z28wV2J5eC9VZm83KzU5RnkzODBMbEJYMlNRWFZJOTFLaHBLQVJCczRDQU5WbjYvZVk3aHBOSCs0THFEdzNod3hQaTdjNnlPM0tXL2R0Tm5YdGR2YU8zY2M3TTQ3bXRUM0kvTzUzSGVtbmQ0eHVIdWo3ci8vNCtvK1hCS1NrTTNCTC9zNU5vcVMycFlPb3EzdnpMZ0IwQzY0aW9RUHpiblNhR2o4VDRPdU5aR254c0dMTVF6YXo4ejJ3eWtVSnN4bWdIcTBlMVE2RkxJQ2xHOUd1VDhnS3NwejFNTGxvL25hSHkwY1hqNUk3SGoyNjcvVk5WaVdsRS9iM204cXFpSEw4cHdEQTVNSTBuVWdZRFIwNGN1VFoxQVpMN0kyQXlYaTY3VUVjOURyS01nM2FFV1hBTHFtc0FkZmRuekJPUEdlZDYrU0QrSmtuaUtiSzdzMDJvK21ISmNIRFI4d3gxdGEzYlgzdW9WNXFybTd0MHIzVFUvMHdERU42QVl2SDdVeFloalA5bk1oVmcvYUVUVHRlQmVMK1hoVitXR093dlk2QUFXRUJHdWgyQTBkSUJYVWk0ZWNOTVlyemEwN1hTLzFVZ2o4c2lObm5jb005N3R5T2hsaDlOa05DRUZjMjI3c0FrRWJmRjZoYzdqT1diWHMwSVYwNS8rRzdyZGZjU2pSdTZSVFlFelZLMDNPRWQ0TGNYZ3lxUkovM2FLZ1BnbzMwakhyMmdydTJvOS85T1ArVjRCeFE2NVJkbDNxZEYvRHp1akcyRzNpbDRuNFhBUHkxU2pnalk3NGxnYysrRTY2M1kwWjdaUE9YRzkzZkF4MjZ2VzhkOTRoQWQ4VXdpVkZ6VUsvanVSS2FYeFhNZ2M0Z1B3Z3plVUl5eEpCN2ZMNy9CVFd6cDdpSGZjcytlSHR4S0dHL3N0dlJnbUdoUHdXQWp0RCtVWk1sOHFmTWJNR3M5alQwZ3FUUGduaHRWMG5YaG9CSDdhK21RK2dhMHZUc01STHFFcElJMnhKcjExSFcvWXd6YVVwb0c5d3N4LytBK3VQNmlScEx1cHBTaVBmRnhQQ2lGY1RDeVBiSVR3Rmcrc2puaGNxeXU0YVBQQ0h6alZzUW5yaE9kOW4wdG1IRTNQaTJvbHFBanNCNGlWeFNkSGFhQWRKZVdrcnQzV0ZjS0FIS0hzaGFtVkJGbG8vci8rNGdNWXFhM3FNRm9XaU80UGVkN0hrR01QZFRBSkJNSWNoNURzMVJBMUFQeko0UTdTTlNRTk94SmpTdllaODVFQUluTXNrQm5zU0w0TFpKRmF4Rnh6aFl5ZmhKY3RYRUNqU29FNVlxZVo3OVloL1BmNHZMdk5NYUx5T0pEWGl3M2RIY084WXlVbjRYQUtxTEFmWGlHZGJoVHpmUDdhSm83NVBWbUZXTzgxNElwMnNFOUEyN21xWGpweWprdnFBc3BZaWZNaGlIL05jcHowTUg5em9vMlpBN2x4eFJNejY5L2pUaEtmb2xpUG5VWWpidUYwSTRBZjFjb0JRZnN3Qnd0ZldheWV5clpUenF1dTFUNmJrUWtJTFk3Tm9yMDJwejhNUndqSVM0Q044bFBDWVpkSHN6UDR5akNLeDhUZ1lwY0RjUllwblVBbi91NCtrLzFHR2thZVJFRTdWWGJBaC9raFlCb2Izd2lGaVhud0xBV3RvK08zWDRuU21rYTI4REtTTlg0Y2pOVTVwdXJtTlN2WGowbEh0YndITllkakdrckRrMWlSRmZyQnFzTUV2cEdQWEJHSW9SdHRXWk45bytuZ0JVY0tFMWg0dTQyYlNrYkJvenBWUDhJdGlkNmt6dXZZaFlrT3FGNTUyclcrRTFiZmFoK0E0TXVyOVJBRDBpZFgzMmtjWnd6NWdxZUkxaTl0V0p1dTdqbCtNamFVMHJzL2xBdTFvaGtBbit0OCt1Zm1yZzBsbVUzYXdWR0pHaHROSWtIajgxaXBXZ2JRWjA2bldJWFNDSEpZNUFqdmZkaFRvT05HZzQyNE80bUtHN2RIWHNGelBBTy9vS3pwRlBwREZCTDNLTHZ3UyttUVVLRzhZUnoxSXFOY0RIKy8vTDdHbmNKbW9qQkZrZU1qcTZKRm9JS0dHdFpPWkEzejRuZWdxZUZBYUUxMHdRcksrenJOc0NGK3VIdHFtOU5scVEwY0E0ZkdBYnhqYmRJZ0xsakZnQk1kOWZnQTk2QlNjUURlNUdMYW4zdTlHUCt6K3crbGhlQXZJTFFUby9NUWlpQnp2WXpHZ3ZTeGllVmtJbjlRY00vSFpQYmhJZkdjOEVSbFB5Z3J6SkRQVUd4cVRxc08vTTNsRjdQV3RvTjVuQUYwM2xyOEIzV0ZINWNQeGNkdS9Oazg1UEwvKzJMc1gyMnZHNUN2U05Uak8zelVoTFV2REpiSXBMbGlLYmNSMFA4cFFlaVY1WDNBU3phSUc4TVhkMCtSN2pvQXRvUUFjQ3A2elJNL0JsRWg4Mi9rNThscElYdHNHcGkwazdlZTZQOHo4ZkF6aDBXd2FEVytraGtRdjZwYlVrTEIvT3JreXR0MldXSW84RmVxYmxKVW5laGtIcWE5ek1GeEZTNUd3aE0zWDZPT0RhZ1hrVDMrcy9FMStlVjhYcHZTbURRV0pEMHZYcDlVLzVJWEo2djRSaG9xUTFVN0hOYnRhWG83T0lFU1BDRkR6OU5ETjVqOXcySXFvVm9OSlMvZXJSOU4rRFE0R0NVUVRsdnlZK3VGdVB2Q01LUWdCSXpjZTkzM3Qyb1dYZ0JkZHJUOFBYVk1sc2NTaVBWVWdEOE0yMWFJOFBETHZkbERnUXVpeEFkTEMxOXNqRDFZSk0yM3R3Q0xRWmxmd2ZpUy9ZS3N0TUlvMFVaRjk1REIvdmY1OXJMRFR1QzBmTWx2M1JZa1ErTE1IUExtOXJFaUw5UkR1R2ZEZVdXeTRWSExWRTFrUHRGMEdjbnhIa0k0bHB4K2JwYlAvOHI0blBuNkZKMXF6UUZ2SUk0dlBlSDBTL2NiMWRLOTRZWlVVSmxmS1dYNnN0TGFDWmc2WUwyckJqcVJ5YnMram5nRjc0djZWTTlCS1ljYkV4ZmhIckVFT1EzME9ULzVUNG5rT1RPYUdPQ0dkT2pSSGs4LzMvK3hxVDlVaklCRGhDRm10bzZ1ZXJTc0dPSTFxa0xXRDZWb0Z2cDVsTnkyRWdPWElZRVJja0FCUHUxYm9VQTFvdHZHanphMmp5SHdvZlAwT1RKTGNKKzE2VzhYVEVqL2UvT1dRb2tUZ1dVTjJGWGRxMm1xUFhkMXNTb2dGM2JCanB6enUxakdTVjFHNlgxNGIwYjg1THEraU5aUGtNU0JxbTNvUW9SUHF2aGErZm9VbHUvRW5NSUUzdjQveGZLQUQ1Z2J3T0dmQWFuSklZN3ZBMUtUWVNTQy8yOWN4WnpUR0h1Q0N4VVZMbWpHc2ZMRzdMMXZ0WVNMMnRCc3FKOEE2Umc4ckxQeFErL3hpYVpHYVRCQUhuSmphemYvejh2VjVGZnhWS2xtMkxFaFNxNlhUZXlIdWxRNWUxbTczTVE2d0NZMkM5N3Rrd3lvVjJIalVkdzhKNFBPU0Q4MXc1V1FLMzNmOWo0ZnZYME9SOU1kb3dOaUxYdENIV2ovT2Y2em5xWkd3Nko1WU0rekZJSXNFOFNFNjJBaVpkQzhRMXovYVBOclk1eHlFV1NlMHhPeUtReVI3NDdsbDRRYy9YU3kyWGVmVi9iWHhvZngrYURHUWNEYUlpWGZEUDEvL2I2N2tJVmJrdVlXdXJaMkppZHpJMHJJMm0vWmlEd0dvdHVTQlJEcXJNd2dCUFpKWXQxZ1RXd1RwT2loUUpaRWVubDh1bFRkbitwZkhsK1BlaFNRbFcrRWM5czFmNGZ5RUJjamJwbTNmUlNEUHpzUmk3RnZ2U2NDTHhIZGZiaXhjTUFibWhncU1qWnpZcWVLVTVIL0N1aE85cmUwaVFyanhYa0tqMkNPM2NRaFpSMzQxUDU3OFBUVllFRWZtRmUwdG85WjllUE14R2Z4V0pWdzBkUE9TMVRNQ0d4LzA2ZHlSOHNHOVpnSnd0VVYwOEU4cXJ6ZG9oNFNIbG5ybjc4RWJQSG5GQUVIMHpacUZTK0NVZHU1aU5ieFhFdnc5TmpxUFFCbkt2UlBYeThmNFBLOHRPZk94WnpWbjhtWTQyL1dvYmwzSURNZEV4RldzMCtQcHBKMWpKR2Z4bWcxdzYzR1d1M3J6M0lOeCt1VkE1bXVYU01lM2ZqWSt6Q3ZZZmhpWTNqamhSb1dGd1pmWEg4ZStHNlBhSU5TQTViM09tVGRwNWx3bjFTd1F0MGR0MWlxUjFGam5tM0FkQ1pIZzNTSWRXbWI3VzJDYW1YdytvcjUwaFEvS2piQUVZWjB3T0lQOHdOSW14ZjdkNVUvY0NwWDE4L25IWnM5NXIwUERzQWRuNnpHS3Vjem9CWnJvbkw5RDhnc0FPSGVPOHMwQWgvbDBsdVlQY2VpUFhQY1JLcEhQSFlET1hmMWNnWlhvOGpWQkpSL0lQUTVPQ3J2c3dxRURvTk8zSCs3OExBOVhlSHZzMXVBSTFaN1dWZVA5amp1MVV2MGYwM1B0VkdmUWpyMUxVRzBORHhqOTBaSGpISFBTRytFeGdqTWFCT0tmMTYrbGtaM05VNGo4UFRUWjlMQXdDWDUyYWt5QWZsbHlDYTltc0JONzRubXgwem9Sc3IzT2dpenB0SWpMWDR6VzNZZ0ZsWEYwSVhQSU15NXZjNUh0NFlkOU1iN21MVWROL2JGQjNTemVON09rL0QwM3VwWWtBWG1FczFSOWYvbXhpS05UQU1ZYy84Yi9yZ3didDh3N1BNNU1kaE4yTVhqZWkyL1k2OEJDRnk5NkR3OE5ldW5WenJNK2FjVUs1T0NyQmplaG9nRWQ0akIrd1dmNFBRNU50TlFLRFRYN3RlMU1mWjhBNWJ1aVJVbGlXSFVOOVcvbXJpeGVmYUFkUHpuUkRtNWN4STFjejZBY3FtdnM2TzcwbVh4aUhSeFRiMjRLMEpweElmSW5kME9EQjZEV0NUSkdKL3p3MHlZUHY4bHhpQmFiN3gvdS9oaEdYUkQ5ZFprMTdWallxZ2xQa1BJZWIyZHRsbVkwd0xLQWhxOWdOUWJUTDJMNjg1L2FGNUtIMmpFdTRDSjl0cEp4dG5jSEczNDNEY291ZHZVLzNiME9UcmFTYS9Md3lpUW9JSC9kLzF1RWpnOE53SnlTMFJwREx2MEFoMG5zd25oZFdoQkdtV1ZlcDJNSnZaYTBzcVlvbnFvdElKN3EvOTJEbmN2MHh6dUxhNkJXREk1ck52dzlOVWxPV0d0MFFFMW02ajk5L2tscENIZEJveEh5V2VMSzNTUE5BRFRiYldYcHBWeDlzaEhkUkU4RU1FUnpoZllKNWNROFhjK0N0N0xNaFlLdXpIMzU1STZJdFR4amRDOVdScXZhM29VbWlXSlgza0czV3l4RVVmN3orQi9Hb3pIblA4WUhSOVo5ODcvd3FNRzlBb29FYlhkdVRpVjRvWUZBUEVjcHg3YXZDZzNhMnJXVm10d0hwejNidUo1cFBRVDFDZ1BzZWpJUGRnbkRrNzBPVFNpTUt2S2dRRE5hZW5vK24vM0dWNWpXeERWTFJ3KzRYdW9EcmdYZFdKdTJGS1F6VXFZUFpia0J3YisrTjU3SmQzY3g3TTZ4MnRqb0wrZzRZeC9xMWh0N0RXWkhveldZcVlWZnYwbCtISmljS1Ntc3dicVdKb3E5RXVIam9qL3QvQzVSY0wwaVQzTXpKUkF6aGRRUE9jUTlhbGx6YWpFY3I1WlcxV0F0LzdGcWxWRDU2SnhFMytWR0hnWEVSbTRTNWpyNjV5WXp0QWlOTDRsSXU4aTlEazdzSFZ0YmNaOGRSMThpc3FPWHA0L01mWEF2aUVPeGd1TGMvWk56YkZ6RjVzNVRsZFUzYk5zYTFPRnBZWFRqRCtGNXdoYXAzVWVzV1JiN25EU1lJNzR5SHJURVdabklUVXBvRHdVdHArL0huMENRUVI2UVd6aFBUOE5UZG5KMlAyOGNCMEpVWUhveXY4R2d6SjRIQXJzTDRsTGVUQnNkN3ZCd1VBYkdhSGg0N085WitScUQyUys0ek45QnJtaFNXekhVOENIRDJ0V1RLanVYb2lDdERxSDhabXFRSW1ReU5VdUVQa2ZkTmVybkdqK2UvTnhzcGJnRFNnQWlwNWdUMjFDQnNSUU1PUngwYmVjMXN2WWM2RXN5Ui8wbU4zdTJTYngreFF1dzhRVnlPakpwY05vOWs4T2o5UnFiZ2NSL2d6NkhKaFZHSlcrSzFNVHhycU83ZFRzTSszditYVXlWODY0TE8wSlh2Y3dGVWRjWnNaY0gxa21LYVFYMUJ1T3ZtN1JhZXpiVCtNZVA5R3pEQVFYc2Z5VXY1azhxWUd4VFR1cngwYXRFSDhzZlFaQlpNU1QxeW5na1JENkpRVW1meis4ZnpYMHhpdUZLem8ra054WjdyRUd3L3ErS1FsSjRwSWJEV1c2dUpSc0xtQ0cvVzV3dDNhU1lDYTE2VVExWW9kRUJ3L0ZjeTAvZXlEdk43YU5KNGdVaVhSMUp1c2dUTmlZeGxFUVJEWXZwNEJkU0pzSUdxNlRaSHdiT3A5eDJSckkxUmhkWmtNamRjek5pclpKeFRrUnZKUFZ5N1JnS25aaXE4TU9tUkhRUGJvd0RjRGs5UUE1RDZ4elVvY29SYTM1a1RlRkdSRUZvV1BnaWxma2VnUVdVZVRpMzE0L24vYWxuMDNEZVgwcjV1Ty9wdVA5TzVJbEMzcjNqU2ZSYUh0NVVhRmhBZEwrQk81UFlZQU41WE90MktKclNYMTc2RzJUcDRJZ3pxcmFYUmd4QTdoc1JTNXhUdGpwUzVGd3lCcm1Qa200WFJtZld4OGR3Vi9mejlGMFZzYlVmQ3AyRTlqd3NYYUFqeUZzS29Ra2RmNW5XRnM5ZFpibHJzcTYxR1dYTWc5RlhwdFNJVmVrMGJKc3M2eTkxSGJyZ0J6M1h0THZWRVdJa2FnOGsxV0c0VUhKckJvZllDbXp2ZWZiYlVxeVZZVHorOWZqSW0rZDNZSE82NEIwWnlhbXFpRVJpaUhZVTRpSnNMZVVIS3h1UVhLckZYRUFrUm9iTVRpWUNwMGhCSmtOSVJtUGNFa3prdnVhZDFnbUlwOVlGYXMyd1lPdXNNYytHOERya2dPTElJTmNEQVN2V2FQbjcvYWJTQm5JR1EwUE9ZU1R5UWE1M3REc0syRFlqWnBPTmVvbFBYZUpwYmkrZ0hzdFp6RG9DdFIwUVh1T0VXd09Nb2hnQXJpWmNpUmFPNXMwaHUxb1pCWDV2aFhFYXdDMXI1dmRrWkpkTE1HNHVTeE5JLzN2ODBZTFVFckt4M25kY2VYM3ZaTjZFY0hCSzVFQ0wwM1RDcldlMEc4YTVBazJaOW1LVzJ5Zi9ueFZCRmFxOXR5TnAyT3U5UnlCNGRpTDhFNzlMZWNrNityMXQzelBTZGV1QXE5ckdLTlJ3SWkyTS9vbW9mbi8vbEdKU3NsR2FkTjdXMWx6OUxYOUVhVUozUkp5d2djMW9vYjFRTmZKSHF3NU5jTFNYcTZKU1MrMmlFa3V4NWc4SDR4ZlBLWEFsalN5OFhDY3VuV1VmVXU5cVEvb2FORXRGNkptTWlEQ3JIS0N6ZjBYL2MvN2Q1N1VXZmNTaWFlUWVZVy9XOHNoeHhZT1Zob0RkWXhMemQ0SDRRLzhIK3BMNVNycVhRTCtiSmUyaVNhSVh4ekNLbVovakRHaEU5ZHdpWWp2ZmRvUHZWbDRpS2hELzYwK24vekxhUmRSSk9IV2g3M0djWEQvUDZQM1J4cXA2SWJlMHM1YUoxb2x2M1djTHoybTkwL3dhaEsvU0FGQ0dyYUdiYTV5NHlYZXpkdVQrSEpwV2NkMEhoVW9pMHZrYkR4TDdydHI0UlZXV3RncXNISmYyZFpNL0xiQUliczJuNGdZdmEvbkgrbDAxekp1YzJtVmliZHhZdEpzNGVGbG50dm9VektLV3RtVWM1a2F4N1k5ZUJ6TmFzeDc4UFRlYmRPNk9pcmVrY2R0N3crb0J1Z1NLWHpnZ0I3V0sxSGJrcEJMMDhnOWUremR6eGgyVmY4REcyRlIzOG5IRG82UGZuZmZlck1USDAzVVlqa2Q5WldJT0JjQldrY1JRYVhaZmNjNDUvSDVvc1c4SWxLaVljb1FheFFJTWRSTHhtODhQU3VVR0gyWmxtYzVRTXZjc3NxSVBlUHIvK00xblBITlNWRndnNzV6b2phRVZNck5lZFd3RlNUMlNMeWhGZVIrbWFRWTNMcVdiZmZsa2gvY3ZRNUVYbDZoanhDRzRYdHc3MC9EQ3Zmc1hnTDZ0QkR0M3lnUXFXUytWdDk0SUJzUkErWHYvZFYxbWljWVlpdFFFU0U2WGlQQmdJMFlaR2lyTE82eXBqQjdtOU9ocDQyM2VFZktUTm5uZXRseVg5WldoU1o3RGwyUG9CNXR6bVpMODU1N1Q4ekpXcXk4TjJualBBZGcxRVo1bU5hT2MrUGovLzhqUHBpV2lmV1VScmtHZEQ0eWdEeXJrUXdvT3ExSldOOU5kVHlRRzNocXpVbkh6b0RSRXlVY0g4T1RTcEtQRzlQMDlIRkpWUk16U0ZEV2JyWTJPenRsQnZjQU5VZ0ZsaGc1WlhLS00rSDhmL1FLMTA0MWcwaUdEd1RFZW0yWjV3bFFpTHlZVGpZZS9qbXNXd2JCNWNwRnM1Z21QN01qYno0bFVPZnd4Tk5tWXN1b3J5dk1zQUo1c1hwQkdGQnA1RDBOYnhOUGhwUEVUM2JnU3k3NkVqK0hqOGw5Q3pEVWg2TmVlK0QxdXFDckpmcWMvQnQrZ2J0RkYwbk1GdGlYWk95ME5melBGZ29JZDQ2Tkg4NG40TlRXSUlEWE1BRnRjVVVFVjR1NGJIMkljNzRzRDNZMWZCRjR3cWJsd0NtTlkvbWYrUDE3OTJnenBQQ1BXeE0wQm12aCtEd3RKU3p5YkdaZHZ5OWZNZEZlL0hiUVdXVzIzWm5FTUhoSWZxTldZWEtQd01UZGJrMXRsT2FRTy9qbGxZMEhqUXFCT2w1dFU5cHpRS2VjUklHRStSUE9TZU1IeWFqK2QvSEJNejlLWE1FQWpNVy8vMlFnazZmMlF4a1NKYTJVOGtLMHQ0OTJuTWtqM3ZjNWpsU3JqK2dOUm5wb2pJREFWKzMybGJVbm9uaGhpOG1nZkdSeFdlSTY5MmtaZDkyajZsUDFkK2NCK3ZjOCtnUDU3L2E3UGVRZmZYUzhOeXhiWEV4YzVyUUpaSjhIdytYbmp3YzdnLy9WelY4R0FzUkJ2bzVQWE1rZ0dwakxDTyt6V3ZCK21kVndNWGo5djh5VjZqRStqNDUzY0xnRVRUR2JWTkI0amhGdmhZWmw4NFBDVjhIZ0FUT0Yvc21ZbHdFbER6TVlhRjQrNkVWLzdBYkczZmc1aVRpbVkvTko3OXZMczZ2ZkxNZ1ErVFg2UFVsSFlnKzQ4ZCswM2dPMnVlT25ETjFuK3lIdzdpSEkxZjF2bmhjMnJZam5GM1hTUkdoNk45SFAraUZidDVxdzNYMS9zc1loZ24xZWl3VG9mTy9qM1ViN24yMXZUVU1Dd0s5YWpILzdxNzRuNld4azJMSG9QRSt3cFpsVkswaWFVMDRqWXJJWStVZlVCK2RZZHFzR04wblVQVSt1RDFVQzdGV1NqOWVQL1hqbytndmRkNnRUODNFakRHVjFoRzNLTytieHNEakJ1OXQ2K0xNM29PaTRHS2dEQUlmN0FXcmhEQll6aW9VcVBxUjdHaVp4K2JNT0QyRXd3Q3BsU1hWZXNhK1BLRXZic0VpNTEzclNJdk5MUGUxbytQOTcrKzdrTytVV0JiQlh0UHM1TUV1bVBJYnE5ZGxRTzJLNVY3MjN1dDU3emUxYzRMVGhFaGdUT1ZnVHl1M3NkVzdZTHNlWGpwTENGREN1YVpZckl1b09vSWJHYlcxK1hCK0NjT2hOTEJYQ0RYbjg3UDdlUHJaM1VzRU02OHQ3aWFkeTB2RnZUZk05dWwrYnJ4N1U2dzdlSllLSnRqRFlPTzArSnY5VTBSUlBDUmM4b1pvbUczSS93ak1IdGpEY0hJd1BBbHRYVkVWME5DQVJPbFdvQkI2YzFhTnJzczJJL24rM2o5Q3loYUpZZXh0ZGpuZDREUndPR0tTR0lHYUZSaU12bitQQ1QzeGlwandMem1DRzVyOTdPVVgvZlhrSlh3cTlEM3Z5TjdSQ3RDRUR5WkllTEgvRk12dkdmL0E4T1BZUGc1bEswdVhnZGRuNC9EbjVuR1ErM01LejZaN0RQdmd5dVZCZjAxeHV0ZHBBWnhuWWVFeEhDbWFpY0tjcTg1dGJ4R1JNaXNLWDQ2RE9Qb0U3cWZsemxIYmR6c2szZ3lrcVg1TFQ5ekJwWnlZVWNpZVhaVnM0RndZVHRTRHc4Q3ErZmorUGZFZzV3WElNeEJuMXdtRi9xNWt3ci9QNDBqeEFmc2JnbmI3VERhWldXTnZiU1RaSDV2a25IbHRxMnZJUUFoeDdKUVhrZ3BQcjV2dGV2SWtTNnV4THdJa2RTMlBVaDV1eGszdEZPMExVMEN2UXJoUDk3LzlEaDVvMk8yemhHWjM2ZHhFNFI4M0NNSTNqVWkrVExRa1F1SGJMVnRJNWY5VlluUnlnNjc3UDFsL002a3psYUd6c2hpRjAyUUZJT2t6WmdGOTJwQnpHTTNCcjVhSHdya1hUNExOTDFuWXZZS3hCWDk4ZlZ6Q1RKWFVuTVZTMmNEN1RiZUNPYm5EU2R6T0hFZkczcnhWRlJibEZLYlczZkVBTTBwU1l1WE9mZzFlS1dPM0ZkcS9kb05JNVFoYms0cmVsQ1N4TnFVRStJSndVc1FaK0t5d2Q1VVJZd3NCOElCd2ZuSDZ6K3pwWHZwWGxKL3FFVGRwVDIwQkZLbGRWNTZ3NjVqcjVLbnM4d0hwU1pFRHJ3RWlTZHBOelQ0VXhYTFNyMGMzNVNQN1NaSXBlWlZxUnRINExzY1d4SDdndUZqY2dqRHphYUJpano2a291aEh0ZS9maDcraVRSOTJvVVludTFvb3JET082Lzg4bXh3UVZyd3RDV1NXTlJhRmp0MHJsRS9oQk94OS9jZERwN3plWm52YXpFcnhyTjFOc0lkVzZ1cHpOYm9oZ3poUlBXWll6Uy94cHphODlEZEttU0VsVUlqSVgzZS8yVSt4M05oYldpaHVmL3FSek5qWHVjZTVwYzRkVG56dkxXVkcrSzRpTitDejFYcGVZZUhRanRtQ3lKWmtHazkxa1NuQ3ozSzRoeUN3VFNSN1lvbW9ZNlMzdGQ4dmtQOWs5SXp1OFQzbW1kZDJINzgvcHRYWjJvR2FGTkpXRlVPazVFaU1VRTFSaDUvY2pRRzF4SjcvT0hjNjBIa2wrbHNhcDkzdUZUd3p1R1czWFEyUEIzdkwwN0JvQ0NOWFB1azlmT3JVcVYweC9zT21HRjhETVpwcU16TlBvbFVMcHBYYno0Ky8zaU1sYyt2dkZtODVzaDc1N2UzQUcwc0IwcXllMmRuZmNsMmZpbnFYUThYMGVaeklUOTMrT2ozV0p1SmdlYm9tQjVIbDBhd3BXd2hONDZHVlp6V2ZFTnU0UlptNzdPRk9pNUFiWEVscnNIb2g1U3hmOXovMDFJR0YzVS9CeTZXanpxdjZHRkM2N3pXdXN6TUQwVWpSeHlEWnlkNVdLdEU1ZjkxaDFOWHV1U1p4NHBFS1l5WU1qSFgwYlVaaVZhMWlHRm5WNnpnVUk2enNuR052ZWVyejhpU3p3c0R6Ulp6bEI4L2Y4SzJsVURsWnlJcHF1MnE1Nmx6WE5aVTh1TDBlOTRCNnF0bU0yZjNpVzhDMGY3UEhWNFFkenBlNjd3aUFKWGRlN2tZcW1RanN4VVlJYytHZE9COXFTeHV4bmxYUmt0MkNJL0NoRmlVRWpTV2czdzgrNDFDS3dTZzZLN0NPSWhwUFk4dE83UUlzMWdKTlJ4c1BTOTRiT3J6am5lVmx1WDNIVzZ6WGV3Z0NobmdLMVBiMDd3c2U5V2VBSzh2MEpUaVZnQ2grN3NyUER3TjJNd0lwSzdBYnlBZW4rTGU1K2pVaDJWT2NQbGVULy8rRnJ6WitZNVBkZ3R4VXJZZ294TjNTQUZHTS92ZGdkODliLzJQTy94Z2ZtdVNVczhEZDBQZnorMnlsSFhDcHVNWmE2RnFSWmdUZlB1SmNjK3BqdFFVQklKTFZpelBDK0RQS2ovZS8vNTRhK0hjZlZHUWVNRlZ1ZWtUQnB3dlRkdjgzZ1BFd3VHQlBaMExwTld3Y1AyK3l1WTk1NHFRQ0I3T1huajZRaGJMai9jWDN0cExlS3VuMDBEd1c1RHl6a21adnRSWlFsMFdWS3FtNHA2UUI1bVA1Ly82MFV0eEJja3VBdUc5Z0ZEVzIzY2IvN3pEMDBGSFhQU2FWOExQaTRIWTRqbjU0dzdQTWxNZXM1ZmxRVnpvazFsY25OOTVQY2VvOEVkcTk3N002Y2YxMWFMQ1RlNUFHdUtNZE5TQ3RvUjJBMFIvdnZ5RERuck9LN0xaekVJT3hMcGN0NStzL0x6RDFheUY5OW5yTnN2YmE1azJUUDY0eXFiYVV0OWZjdjF1bld4OFZVSFByeEE4RVFxaXVjdDhwckloZ3JnN3VoTEJPSmxmTWR4bjZYUGVqZm5HUTUrSC83L2tJQXMrNmxaQ2lYN21MTGE1cmhtZ3k1aGYveVptbWVUVmFuRHhMMWZaMUkzS2QyRUErVThndkpxd1NBd1NNOG5iKy82K0FVbGdtTWp5ZGRqNUZidjF1REhxemFUSis3Y0l5TS8zLzMvbEsxLzV5bGUrOHBXdmZPVXJYL25LVjc3eWxhOTg1U3RmK2NwWHZ2S1ZyM3psSzEvNXlsZSs4cFd2Zk9VclgvbktWNzd5bGE5ODVTdGYrY3BYdnZLVnIzemxLMS81eWxlKzhwV3ZmT1VyWC9uS1Y3N3lsYTk4NVN0ZitjcFh2dktWcjN6bEsxLzV5bGUrOHBXdmZPVXJYL25LVjc3eWxhOTg1U3RmK2NwWHZ2S1ZyM3psSzEvNXlsZSs4cFd2Zk9VclgvbktWNzd5bGE5ODVTdGYrY3BYdnZLVnIzemxLMS81eWxlKzhoV0Evd2ZkbWhtWmR5bW05d0FBTWlGcFZGaDBXRTFNT21OdmJTNWhaRzlpWlM1NGJYQUFBQUFBQUR3L2VIQmhZMnRsZENCaVpXZHBiajBpNzd1L0lpQnBaRDBpVnpWTk1FMXdRMlZvYVVoNmNtVlRlazVVWTNwcll6bGtJajgrQ2p4NE9uaHRjRzFsZEdFZ2VHMXNibk02ZUQwaVlXUnZZbVU2Ym5NNmJXVjBZUzhpSUhnNmVHMXdkR3M5SWtGa2IySmxJRmhOVUNCRGIzSmxJRFV1TUMxak1EWXdJRFl4TGpFek5EYzNOeXdnTWpBeE1DOHdNaTh4TWkweE56b3pNam93TUNBZ0lDQWdJQ0FnSWo0S0lDQWdQSEprWmpwU1JFWWdlRzFzYm5NNmNtUm1QU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh4T1RrNUx6QXlMekl5TFhKa1ppMXplVzUwWVhndGJuTWpJajRLSUNBZ0lDQWdQSEprWmpwRVpYTmpjbWx3ZEdsdmJpQnlaR1k2WVdKdmRYUTlJaUlLSUNBZ0lDQWdJQ0FnSUNBZ2VHMXNibk02ZUcxd1BTSm9kSFJ3T2k4dmJuTXVZV1J2WW1VdVkyOXRMM2hoY0M4eExqQXZJajRLSUNBZ0lDQWdJQ0FnUEhodGNEcERjbVZoZEc5eVZHOXZiRDVCWkc5aVpTQkdhWEpsZDI5eWEzTWdRMU0xSURFeExqQXVNQzQwT0RRZ1YybHVaRzkzY3p3dmVHMXdPa055WldGMGIzSlViMjlzUGdvZ0lDQWdJQ0FnSUNBOGVHMXdPa055WldGMFpVUmhkR1UrTWpBeE5DMHdPQzB3TkZReE9EbzFORG8wTkZvOEwzaHRjRHBEY21WaGRHVkVZWFJsUGdvZ0lDQWdJQ0FnSUNBOGVHMXdPazF2WkdsbWVVUmhkR1UrTWpBeE5DMHdPQzB3TkZReE9Ub3dNVG93TWxvOEwzaHRjRHBOYjJScFpubEVZWFJsUGdvZ0lDQWdJQ0E4TDNKa1pqcEVaWE5qY21sd2RHbHZiajRLSUNBZ0lDQWdQSEprWmpwRVpYTmpjbWx3ZEdsdmJpQnlaR1k2WVdKdmRYUTlJaUlLSUNBZ0lDQWdJQ0FnSUNBZ2VHMXNibk02WkdNOUltaDBkSEE2THk5d2RYSnNMbTl5Wnk5a1l5OWxiR1Z0Wlc1MGN5OHhMakV2SWo0S0lDQWdJQ0FnSUNBZ1BHUmpPbVp2Y20xaGRENXBiV0ZuWlM5d2JtYzhMMlJqT21admNtMWhkRDRLSUNBZ0lDQWdQQzl5WkdZNlJHVnpZM0pwY0hScGIyNCtDaUFnSUR3dmNtUm1PbEpFUmo0S1BDOTRPbmh0Y0cxbGRHRStDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0Nqdy9lSEJoWTJ0bGRDQmxibVE5SW5jaVB6N0JGZ0ZLQUFBQVZrbEVRVlFZbFkyUndRN0FJQWhESzFmKy8wL2hYRTh1akJVekVxSThDZ1lFU1NpUENIWm1FSmFack9leGo3Z0xhbXczWWVlTDVBUGNmZDJLckFzQm9ONWZURTFkTjFMejQ1b1VIeE9xZ2V3MHZmVHI1NDV2NmNuMUlTSXBCOW9BQUFBQVNVVk9SSzVDWUlJPQ"},{ name : "__ASSET__:bitmap_flixel_system_debug_interaction_tools_GraphicTransformCursorScaleX", data : "aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFvQUFBQUtDQVlBQUFDTk1zKzlBQUFBQkhOQ1NWUUlDQWdJZkFoa2lBQUFBQWx3U0ZsekFBQUFUZ0FBQUU0QnNjMGZNd0FBQUJ4MFJWaDBVMjltZEhkaGNtVUFRV1J2WW1VZ1JtbHlaWGR2Y210eklFTlROdWk4c293QUFBQlBTVVJCVkJpVmpWQkJEc0F3Q0FLMy8vKzRZNWV5R05hREpoNVVCSlNTTUlrYW9RSW9BSXk1aktrOXRENWJHcmdBRkRVMGVZZGtMbjFXdUFsWHM5SGpzUlVmY3lWRHE4dlNQNWxUYi96SEY2VW9FeGRNWXJPSEFBQUFBRWxGVGtTdVFtQ0M"},{ name : "__ASSET__:bitmap_flixel_system_debug__FlxDebugger_GraphicDrawDebug", data : "aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFzQUFBQUxDQVlBQUFDcHJIY21BQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQUU5SlJFRlVlTnEwa01zTkFDQUlRNnRic3FCcjF2Z25haFFQTnVrRlhna3BTS0phZUZhWVFWSGg1WWdWbEFiZjFJN1E1UVRnc0pmZTBlTkJYMkFwajR4V2RxWnV4QUwzUnRJZ0dLdERGR0FBNGg0Vk01NWl5QnNBQUFBQVNVVk9SSzVDWUlJPQ"},{ name : "__ASSET__:bitmap_flixel_system_debug_interaction_tools_GraphicTransformCursorScaleY", data : "aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFvQUFBQUtDQVlBQUFDTk1zKzlBQUFBQkhOQ1NWUUlDQWdJZkFoa2lBQUFBQWx3U0ZsekFBQUFUZ0FBQUU0QnNjMGZNd0FBQUJ4MFJWaDBVMjltZEhkaGNtVUFRV1J2WW1VZ1JtbHlaWGR2Y210eklFTlROdWk4c293QUFBQkdTVVJCVkJpVmZaQkpEZ0F3Q0FLbDZmKy9iRTl0RVlPY3pFaHdRV2FHNkFJd1hNYWtkVEcyYUdhYklLUTVqcllhamNBUEhZMzhFZDVSanltN2NpS2k2ekVkRFZQSEFlQm5EaFZYand5eEFBQUFBRWxGVGtTdVFtQ0M"},{ name : "__ASSET__:bitmap_flixel_system_debug_GraphicArrowRight", data : "aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFzQUFBQUxDQVlBQUFDcHJIY21BQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQUQ1SlJFRlVlTnBpK1AvLy96SWdqZ1JpQmtJWVJNQUFRVTNJaWdscXdxWVlweVo4aWpFME1mNEhheUVLTENmSlpJcmRURlJvRUJYT1JNY2dRSUFCQU1xdGZ6aUhGZ2JoQUFBQUFFbEZUa1N1UW1DQw"},{ name : "__ASSET__:bitmap_flixel_system_debug_GraphicWatch", data : "aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFzQUFBQUxDQVlBQUFDcHJIY21BQUFBQ1hCSVdYTUFBQXNUQUFBTEV3RUFtcHdZQUFBQUlHTklVazBBQUhvbEFBQ0Fnd0FBK2Y4QUFJRHBBQUIxTUFBQTZtQUFBRHFZQUFBWGI1SmZ4VVlBQUFEY1NVUkJWSGphakpBaFM4TmhHTVIvZTFGWkdNSmd3U2FyVnNPS1dSSGJtcGo4Qkg0Q205L0JabDJ3R3NSZ0U5Um1GbHcwQ0NKWUxIZG44UDF2KzZ1SUIwOTU3cmk3NStrazRiOG9BTmdGZXhmN0d2c0ZlNHA5Z2oxb3FaTVFhVDlTSXQxSE9vNTBGdWs5MG1Xa2ZoS1N6TVRUU0xlUnVnMFI2VENTSXgwMHUxSUQxb0VIU3ZsWUNMMEJYb0ZodS9NWHNZYzlxamVzQWtkQXQzS3R6cHVSSGlPOVJicUtkRmR2T0krMDFOVG96RjVuYndEakd0c0hkb0JuWUp0U251Yk9peU90Uk9wRk9xM3VGeitkdjhOZUF5YkFNcVZzQVgrSWY4SG5BTlI0d3BRazlwRnhBQUFBQUVsRlRrU3VRbUND"},{ name : "__ASSET__:bitmap_flixel_system_debug_GraphicInteractive", data : "aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFzQUFBQUxDQVlBQUFDcHJIY21BQUFBQkhOQ1NWUUlDQWdJZkFoa2lBQUFBQWx3U0ZsekFBQUxFZ0FBQ3hJQjB0MSsvQUFBQUJ4MFJWaDBVMjltZEhkaGNtVUFRV1J2WW1VZ1JtbHlaWGR2Y210eklFTlROdWk4c293QUFBQndTVVJCVkJpVmpaR3hEWUF3REFSZnpNSTYyU0JTT3RaZ0tBWmdBYW9NUVU5SmRSUUprUXVjOE5MTHNuVitGeGFnanFQdEovbUtrdVphaXpxSkFiaXJvNWNjSlYyU1ZqTXJGNXpFQXpockRXL3liOURDeXdpMDhFNlJDelk0NTR4WitBUWJuRkxDTEN6ZWt3UnNneTgyUDZENlFrZUFUREtHQUFBQUFFbEZUa1N1UW1DQw"},{ name : "__ASSET__:bitmap_flixel_system_debug_interaction_tools_GraphicMoverTool", data : "aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFzQUFBQUxDQVlBQUFDcHJIY21BQUFBQkhOQ1NWUUlDQWdJZkFoa2lBQUFBQWx3U0ZsekFBQUxFZ0FBQ3hJQjB0MSsvQUFBQUJ4MFJWaDBVMjltZEhkaGNtVUFRV1J2WW1VZ1JtbHlaWGR2Y210eklFTlROWEcxNHpZQUFBSnZjSEpXVjNpYzdackxqdE13RklZanNiUDZFRlpZc0NGeG5LYTNxTWtJdFJyTnBtakVWQXhpbHladUoyb1RSMGxHU2ZzMnZBTUxKQ1RZSXg2QXQ1Z1ZXOERwalU0MVlzR2lxZVR6OVdyWHgxLytFeS83N2RlWEJ5VlJrdDhWM3llTkhFL1lMSXdkOWVIelZ4V0hnYVBldGtiR0tCbXd1L0JxbGJLYjFldXh2NXI3dlVDOWNGRy90TXNvaVZqdTRUSmF4SmxkT3FvWDhBbXp4ZmRxbXFoNHZTU2ZPK3FyNmdmOGJuU05CenhsdUtVYm1tKzBEZHltT20xYW5VN25KVFlOYWhEREpOVFVhTWR1bXJaaDRDMnFpOFI3UHcybTlwdmg1VlluUm81NmwrZUpUVWhSRkhyUjFIazZJN1RYNjFYYm1LWW1WbWpaTXM2OVVvdXo1NXROZHZzTVdlYW5ZWktIUE1iVjJKdncrOXhSVllRUDJPYUtrcjBvenZSMVJ0M25FU205aEZEZElQdWRxODNGYW51UU1pL242Wmp6aGJ0SmZobW1yT0RwUE1PRG14YW1va284cks2RmI4TTQ0RVhXSjhkMVQyM0podUxsaWtaWm10SFZER3RNdTdiVnRXbnovVUg5WnRGUitZZ0g0WFQ1UkhtcmFWdnRiZm5Cb2wycnlGR3YvcmVIZ2I5dllYS2ZMdFozS3ZBSlc3Q0l4WGttMmtnZnR6SHc3U2xQSXk5M3c4aWJNWkxFc3o3NU8vblA2OXZNaXBNaURpblpuMUwzMFdVZG9wd1k4TzlCa3VlWDFvOGt6dzkrOElNZi9QWDZrZVQ1cGZVanlmT0RIL3pnQjMrOWZpUjVmbW45U1BMODRBZi8yZmhSelg0TS9ucjhTUEw4MHZxUjVQbkJELzZ6OGFPYS9YWG5sOWFQSk04dnJmLzRqeGluOXRlZEgvemdQeHMva2p5L3RINGtlWDd3Z3gvODRLL1hqeVRQTDYwZjFaNGY5Uy9LeFBQbjdOUitBQUFBQUFBQUFBQUFvQjQraU9lem4wdmwwOXVQalI4di9FYmQxd01BcCtSYThaU1p3aFNzVURIYWZRS3k4QWVWbzZ2ekVKZzhjUUFBQUVodGEwSkcrdDdLL2dBQUFBUUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFLYVF6b1FBQU9TaHRhMVJUZUp6dGZkdHoyOGFTUGpZbmppUDVubXhsSC9aRlZidS8rajNGaDdpUUJCOUZVcFFVVXhJUFFkbHlYbHdnU01UYTJGYU9KQ3ZIeThML3Z0UGRnOXRnY0NVcFVRN0NXRU5pY0JsODNmTk5kMDhQY1BTcWU3TjRQYmJPRjdiM2VueDB2bEM5d2JnWEtjYi9PRDVmTkJ0NlIydWJEZTlzMkhNWERlOHRGVzhPKys1Q1ZiMkR3d21XNHozTFhiUTFiMnlkbnJQcTdqNDdnNHYvZWFQaDhHYlJIYkUvdmQzSjFVTDVYcGtxanZKTzZTcTJjcVdjSzQ1M2VIekV0ajltMnoreDdRZHMrNlV5VTNhVUlhdjlwTXk5Y2Y5a0NpZmRQY1p6NzdJbTYzUFQ2L1lQenhlRzF6MWliWit6QXUra2ErM2hUdFlBYnFGckhlQ3Y3cENLVjFqMGp2a0o5Z2I0ZXp6QmZRZGQvRFVZWTNGTUc2MFIyOWZ4dWhPcW5ORFpKeFpkNUlqT1I4WGhMclR5R0ZyVjhQb25LalNuZjZMQmFmb25PaFlEdGxGamhVYUZEb1ZYQUp0bkNXekd5b1h5bVcyYktYTmx0aXhDNnYxSHlOY2VpK0hpS3RmTGFJL3FHcFgxUjEwU0hYVzkraE9pczZUK2lCaVYwYUE3eHVneHgyaVg0WFBKa09peXY1OFpXdTg1VnQ5enJFSU1zOUNCZGtmZ2FSbUVEOWJuNG1NYU1Yd2FNWHgwTFk3UWJNaytwaEZDR2lGa0VFSUdJV1I0MXVoWGtxcGxzUy9PbEcwNG9kdXdyQlBjVUFiRFJ4ekRDZE91ZnpGOSs4enE4L1JNMTJTS2xnMmsydUZRYWxPbkJKU09TVkRpOXJXQnFYV0tnZm1VZzlsakN2ZUJmYzZWM3hoY3R2S0g4bDc1d2dIZGlpamxSL2I5UXJuSUJGUGx2VmJWQzlPKzJqRGszYmFSMFcyYkRVSVMrUUNRZE8zQ1BWY3pDMk9wbXhwaHFhdXowdGhsZCtqMmpLQXpIVUp1dmlLRG9wRTFYR29WeWE0WVpGVUIrZ2ZycCtld1Z3d2dvMGtBcVZOQnQxd09VWU13Y3JJNktxaEZ2bTRoSVVad0FqWUZuRkNwMWdCVVVyZUNqbHExZzQ1WjdSUTc2S2RNTlZNN3E5V3oxUTZxNjlHejd6aEdiOWhZY0MxRnB5Mm9tR0IwWk5sbGNHZ01IKzNPOGJGR1hXSi9xNXNnL1VjQlh1L1JwbmVZeGpEa0JHM3E0YmdKbFArbEVOMXp2RlROa1NJbUVIN2JLYTlTUm9zZ3N6bG0rc3dvUEhaVzc1VHNnbHJUSmlCaHFDbVA1QWpKLzVxaCthRVVrcTVSWU9SMC9aRVQ3SW1DUUFiY3hvRkVtMlQxT0FKOGxtK05BTG1SV2VKL0FXVEpMdkcvakV0RC9ERHVYSlNCRjhlTVhIY0MxYmswdm5OdW1jREJBSENudFdxQXh3eFhiVDRuek1SQkl4dXpLZ2F5bkJTMVpxYUI3R2psKzNoZ0hqYzFnbzR3TElhZE9pOU1qWUhpYVc0TXVxMEFPaGhCdnVCWVdzVTNpN3RtNkNKVWpIMFU2Y2lheWEwVWRFb0tvcVZyTXJSYWhGYUwwR3BSVnlZQ2hDOVRWK2pLTU1hTUQwcmcrREN3Vm16bDk1d1lpVWtvZGdoRk5ORWlLRGFXUmRFZ0ZFbkZwREEyYmNKUnk4Q3gyZUJoZ0E2UEEzUTRrbHp4V2x6eldrWWFtTFFsQWlZek9zc3A1WVQxZEthU3l1OWxlbkVoclN4bVBjdlZFanN6RE5UVGxmTWZEakRZaDMwZ3g5R1Joc2FlZlBYc1kyZCtqL3dYRDFkRmFncDNlbWtVWVFQQ1ZXckZjRlU2U3MrbEtQVXhzRGRsSm5oMnQ5NVVuTFJid21uQyt2RTVjMC91SzA3NnluSGFDbkM2WUJiSjlTMEdock40ck9NWUZaMDBQaVEwQ0pvR1FkTWdhQm9FVGFNZ05FK2xLc1JuWThxclQ1enJHN2MvKzVKRlJrMUNxRWtJTlplaTdBUDBYbTl5dk5kTm5XSGdLTEVSRzJGcUVreE5nc2ttbUd5Q3laYmEvZ053TjNHNlpRSmNJMUdtUzJaKzdTaEgvTnRjdVN4aWlwVXhIZFRtdk1oa1EwUHE1SmZ1Y25MRGdadXpKa0Zsa3ZGUGN3M3BnWkZzN0E0d3dQU2VCNXJlSTF2RnNRT3JFY09XNEFHaE5Cc3hRNWI4cG9RaEsrMk1xSXRGSStMMldyRXJEcFhmSTRjQlJPbUtKc2JmSEZtUGhLaDFLbTJGUG5xRllOTGE5Q3hxMTRlUkpMQlVNWkpremt2ZytUQm01bjlhN1p4N3dZa3NZV2k4aFc0YWdBVTRSc0g2am9OMUFsTUdIS0x0d0QwSDJ3ckNiWG5XbFYwMU9RRzhtVHlZZE1HMTlGMGhQOVNHQ3Axd0xOVUM0UXpZaWhZV0Iwc3p5ZmRCVDJjWEhUWlV2bGFMUEI4RFNnd241bUw0SW9JaFJJd2cyY05DTzlYbVZsbjJHR0ZMQTJ3RklJVklWc2JVakdNVHFCb0gxZEdFK05xTXg0aG80TTd4TUpucUVxd214OVVrWUIyVGdIVTRzSTRwK3V2d1pleC9pWFZ3cWdxKytBR20wWmo3cE9PeEgrSzBrdUU2bVNqOElOMnR3Sy9QQ3NFdmhPZ0M5RFBuWFZOaUpRYTMrd3pDbmhsSWlEMldPcGFJTktFb1JSb0hjUUFZRlgxTWlsOFUzdTBBM211TXFVQXl5bFVSKzhlZjFQYVRMVlI3WGdEZkl2WlBVMkNNT0xNQzMxcVlLSmNPYnNzb0I2NFBuT29HTVJJRVVNdG5paC9sTVdTZWpsR01mOXNWK2JmUU1NVkRlNjR0NUFod09JMXBqSDROR2YzNmNJbzgwZVIrWEpNN2NxeU1KMTFRRkdwTWdGcGpUczM4TndDdHVsSks5ajJjRVlQeUUvdVdWRmRWK1puVm5qUEljK2VTNHZQa2xhUFBXYjVmQ1JzZ3JxaG0xY0JCRXBuL2tDSEQxSENYYmIxbXYzOW0zOEJRQjg4d2Q1Smp0Wml0MW01YUlXYitNTjlqZy93SDlzL3Z1dEU5WmU0TXVpMnBKcVpkUHJCUXdzQXNQc1FVQWdyN0tmQmZjbXdCeXhOcUxDcUxRZW9QMS90QjRzRTVETmpyU1I5MmlwdnBwYkxOQk91VDA1OU5RTm9FcEprdzFMbnBHYzAyaXdFYUJmQUpCL0FOV2pSelBqV0pPaWhNYUJTTDNnaDVlNEZmWFN5QUExT01KYlV4c0huUVpGcHFXbEtLWkRCbkhrNjBZYXpDL3pJK2lRemJEUnBOQkNVdGpuR3hTU1BObE9rcEJZQldpTEEvWjZUNzg3N040Z0RMZlVwZE5tZUVQVHV0NzVlRHNZeFQ3bkxyMFkxYmo2NWRBTVFpN3VheUFTQzVpbW95Qk1rcmozcEJ3V1NibUNIcDgrV1lXOWdYeWtlQkwyRUkrcVM0a0pRRnc3VU1RN1ZwRUlhdE9JWjJDUWhiVWoyVUdqVTA5VnZGcXZHMU1FNllHbGRETEhVc3FmZTJlUGN0RHBxdmNEUkprdTJ1NkxKT0s2Ukp5a2VYUm5Ickd2azJpZFhVeUo4MEQzd1ZZZEljQ0JieG9pODZmU0g3MnB4eit4cStqSHdNTGQvMUcvc2NTVUdQWXBqNmVZRURjR0ZraUU2Tm1IUHRhMThaN3pwenZFWU1aY2tJY3YrUFk2ckxNSFZNdWNQUzRkRzFEay9xNkxRb1VvUnVpVDlIM2czZEZIL09YSWlPcDRNWWV0UC9aRERhYUZCbXEyZXpxdTFUWWtRaG55OFNleXVSaGNYOFE2bDZ3dllCM3o2ZzdRR1VPRnEzK1dEZEpnMzFJVVVGUFNEWHNGeG5mNHQ0Wm84dThSRzZVTjVnR1Z1U2ErWlVPaGtxZU5MUzBTVXRNSkdXSVJQUHdPU3FpQjV6eWxxUVV3YlZKeHlvUDZNQjdwdmxEemlJdXRLdmtON1dMcktPcG9oTG84ZE5uRGlBVEZVa29ZaGlZVFBObE1TQ0QyaU1Mb1BUZG9nVDh3UDMwY3o1TXhzeDZRQlRiT21SRDVtYXIzT09kSUJSNXpJeVZHOFZzc2VCQmZNZWs2UWg3REJQcE42THNMV3F6am1veFdjQkExOUZiNVZQQ3ZRTndUeXY3OEEzblErU3BuTWVkQytDTWZjRHJ2b29PODBnbnlGY1h2VXduend5ejJCTHJXbGYrWXBFWXNXUldLcDh2a1V6RGlZTGtnWk0wUTU4d3JaZlk4QXJiL25wS2pwd3MzZ0FWc0N3a3o5bytPbXBnam05b3U3cjZ5RGs1cDlqckhEdE9waklwTlNsU3RneDQ1TmRyblRVa004ZkNnbStqcHdDWmZhZ0dNWUpwN200RlJPTlk1TzZzaHRzTjJsWWJwWFQxaWVCNTN5QnJzeDdCanhmSXBHdHM2dExpTXNhcDAzcEVqbUlnMFFRMThyTXdLUnBMZGszVnRJSnpFUHdhUVRCZjJFUVp3Y2pGYVV4eE1CZ2ljV3VBWTVHdml0ZGVYNEFmT1VDZ3hBR0laeTJKQ0VkazN4d2cvL0ZuMzRaY1dNU2JwRW1aQ1BXcFRoem1DZUZuN2dVWHVPTWw0UFpyMWM0K1FBTURESGluWkJneXRNSkxhVXFxdGhTTm9rcnRtQk5ZYWd0eVNXbExGQ2R4NGgwSGxwbkpYSUpGMDkwZkJ0eDRjU0NtU2l0eUZTWkdaOHBBM3ZmR3d6N040dEI5RWtETG9yRndvRGNlU1NKMUVWeEhPT2N4a2NVMUdscURSZkhnQUFaRURjTUNJZkJIbXJ4WU56SFhjWmpxanVnNGd3S2J4RDE0cWhCL0xFUDRMRUpUWXJXbktiV1ZHdVNSazFpeFg3UW9oZXNQVTR3SHpIajJuZ2RtZks1Q3JqWTRUa2ZNUFE1eXUrTVIvelppOEgrYXdiOGNZOU9mc2krNzQvZ0NTd0Rlc1JLQS8veklsV3FYOFdmdndKMWI2R3VzZng1MUlxbjhLdlliNFRPaTRudUVSZGRENThtNExBTy9FRWl2akVITWFsUjBacHE0dE5KZkhvdHZncmllOHJGTjJZQU9leW1JWXJ5bXlERXA0R29aUHVjRnRpbm1tQnRFcXhkQzdhQ1lMZURmZ2tUQkdEZ1JKMGROeko1NE5lZFp0UlZFNkJCQWpScUFTN1JNMGtRMTJnYlhmcXdDVDFUdnM5cGdYMldvbHhWclNWYlFiS2grV1ZqaWsyNEZ0SGxzd0QrOXRPVTdkV2sxaVNwTld1aExTRzBFWnFiVHVTSlV5NlBnL2piVDFPMlZ4TmFtNFRXcm9XMmhOQUdDTXdzZ01VWFRyajlOR1Y3TmFHWkpEU3pGbG9Gb1QzaFF0dmp6Nkw1QTBrdmFyODg0V0tTN1hHYXUwYzFrWFpJcEoxYXBCVkUrcENMdEl0enNWZkJESzBiUEJEaU11aUQ0dFpxNG5KSVhFNHRyZ3JpMmdxY1F1ZzV0TXhhOU9mREd0R2ZEMnVxaVc1R29wdlZvbHRpeEh1RHlaL3p4SWdYYmo5TjJWNU5hSE1TMnJ3VzJoSysraWljT3d1Y2d1M0Fqb3pXbldiVVZST2dTd0owWXcxN0hHalRYSmtxZlpUSWU1emE4K2Z3ZmUwUjYwOXo2cXMxVXVYUll5ajdhZ1RZUVYrTC9kSmp2NHpZcndrSllCK0Q0bFcwOVNuWFZxaVpna21CazU5ZG5JeVA2bXRMcmlTNkNjb1VxWHFwbVdHdDFySGI4VnFqR2RaT1crS3hyYXhEMnhtSHFtS0x4RzV5LzVxL3V0NVpzOWdhY1hyR2NScmpzcGw5ekhhRWZaTTlTSmMxa05vUjE1U0lvc0MvMU5iTGdGelhSVFlFWlpoYnZjRGNxbXZsaEsvVi9DMWZJN1ZPdzI1MlVqU3A3ZkFHNW10a3NmTnNTTThOK212WWgvTnc4cnRWZHVQeWNTcDJuanZHNlhtRTRWaFA1VDM0TGVidVVjcGpUdDl0ZEJpVGF5bmRLdG5ub3VRbFZibDFYZVNPY1g0aDRCeEJPSThsWDRadG1UWTAyMDZEWWVheTZuaGxSend5RSswVlgyaEROSHNQTTFFeFJ3WFRLb1BSeWN1eDY3U0c3b2dEUm1nWXFkTk9XNTJtR1VicTNIRFpyMWh0WUJpMTdMblRVTk1NbytTSlZiRkZvaFR2WC9QdldEY2VjZDJBOUVhYTNZWVhKbnpNMHdpWkNhRkZLMFZiMkFqYnJka1pockpvZkRSZW11RnBVeTBUdnptRjFHRnoyMzdIdXJETmRTSHlTR3BXbDZzSnJSWmtlTW83bDlrd2szQUdQYVRWRXUyQ0NKNXdZTnRONjF4MDRUVFRpLzFmV0JrMnVQbDNyQTlia1ZqQUg4Z1BseEZ0TUdTTjZyU05saW9NbDNwd1o5T1o2UWhjYWdhMUxVZWJxM0pJNXU1czZzeVNFcjJiSm15SVZDeDhKY2FOSUJXcGtuZjBEck1iMDVUYzBPQ1RwdVRUNWxTZnFpbEszbW9sZTArbzVMTTVmS1JZUU1jeWl4TDJSamQvUXppYnZKV2svWnppajZVM2kvc1hvbUNXT004SzQ4cDdnLzdOWW04UW1VNmRJMDZIbUlNTnRtMlgvYjNCQitENDgzRHpZRG1SclZ4N2V5UHJadEh2N2NHZlY0aWZ4ZnhpOEQxT2xLbnlQMlFEZWYzZWExd2c2S0t0Zk1VUTlTTEhiUG1MNEpoUERRdVVycFgzL0loL1V4cXhQYmZEOWlUMi9VWlJoYjIzV0ZzK0lOZk9sWW55QmNxVTh6N0NWdHU0SnZUUFVDdjQzZytWLzFJYTRVYzRjby9kbGN0dHZTTjhrdHVoMHVkSC9qOWxvYlN4dHNWYXg5cW5hTXJQN0x2RHRzQTMyRGJEeCttWWJGdWIxZEExbXJobm0vMVZXUTM4OGdRY3dvYzk3bUtNNWtOd2IzOWp4K2hLVTJqbEFiSWJ4U3RrOStlR0grSElMcTV5dXNhTU1BdXpOYTlUY2R5S3lDY2I4U2VSUGYxc3MwdXlrd0o1dG9XN2VNS3dua0U4Q3A4Q2dldWVVZGVZOTVWNmxSQ25QbjlTbG8wcE5sRzBSSmsraStqTkVlYWxYdk1uU0ovajZPQmZTeFd1RlVnaWVQM2VKMnpqVlhDRUhqdmlNVDZtODByNVBYVi9zVjIwNGl6V0w2WFNuTEd6eWJUMUtUN080RThlUDRXZVBFc2N2eFhYZHFaTHJ0Q0txTVlmc3ZiU2lveHovaXh5T3N1MzNQT1pDeGdkb0E1bVh6MmlpOUtyMDN2UkdFNk1oV3pzUzNuM0lPTHdJbUFjMHVqTFZQMFFaZkQvMmRWL1o5Y2ZZSCthWXh6d2t2ZXJFM2JrQjZiMTlLUzJqMHhqTGxDbkw5bTJLR2FuYlA5aldzZktyL0lvd3JnN0VjNUZpcTdBem1OTUpQdnQzckt6eUY0MU85ZnNYTE56emM3M201MS80T3hzc1hQN2EzRnBmL1E2RlhvVHczM2xiSzNtN0pxemE4NnVPZnVyNHV5dEpHZmZXNFpXYTRhdUdicG02SnFodnlxRzN1WU0vU3RxL2Evc0dyOHhXL1MrY3JSUmMzVE4wVFZIMXh6OVZYRzBiMFZIT1ByZU1yUmVNM1ROMERWRDF3ejlWVEwwbUNFUDF3TjUzRmVHYnRVTVhUTjB6ZEExUTk5RGhwWm9RWjE1VjdQelV1d3NjbG5OempVNzErenNzM01vMlZXd2M1MTVWN056emM0MU85ZnN2RW5zWEdmZTFaeGRjM2JOMlRWbjN4L09yalB2YW9hdUdicG02SnFoTjVXaDY4eTdtcU5yanE0NXV1Ym96ZVhvT3ZPdVp1aWFvV3VHcmhsNjB4bTZ6cnlyR2JwbTZKcWhhNGErRzRidXM3MUFPeU9jSmVSMmNIMUtzSE0yejRtb3RSSXNtY2QxTnV1ekhjVmdueG5EeUZ3SjF5MmpiMDlqOXl1WE1Jd2Jtc0N1MGFPeXN3TGorOUpUR0VPR01ETkdtU1J2NjZ3bHpWdlJObCtEZG1JNlZGYmJubkZ0Qzk4TThpNjIxM0xhWnlkbWk3OUc3ZnMzcGIwbTNjdUtFbTY2N2ozbHVoZmxldEVhL1o1ckgrUkdNSXR5by9LTXhVeUhPc3Q0a3l4UlhiQkpha3MwM3hMVmhIYlZsbWcxUzFRVjJyRnBsdWpqa0U4WlEwZnVjQW1HSHJNcm5DUFQxZ3hkTTNRUmh0WnFocTRadW80VlNCbjZTY2lueWl5VG81L0ZtR29IVzB0dmYvb1E4ZUlleDFiOXJkSi9FM2tsai8yYW5OTmNaRFBndkRiN0dHeC9uLzEwOWczZVRRcHQ4SzlqSWwrNjZQVUJCOWIrMi9ydEE1bTJWTkc5WjhobUgzQnNqcDFOZVFrZmlRYm02ZEJVNlRBdGNOaGZHQW5uT0lJYXlIRytEa0ZjQURUSVpScm1heXJzYmJMZm9Ia3p0bjljaC82VFhhbkxzSElSU2VMVWR3eXpTK1JWNFBrLzJlL3JBR2ZRcnY4TkVIdUFWOTZCdjdHemZxL01Dc2FqMWlQSlBPeWpMWGlnMklMR2ZjTlFhZ3I3T0RuOGpNeGFRVXUyWXpybjE0bTZrV1VYaW4wcFQ0czBaQm1UYVFPVEJiSU9hQWZvUzNVbUttTEZ0QVJNODBkOW8rS29uemJhTGNPWG16WlN5dlVtcm9HUEdaZk9tT2Z4R1Z1NUU4SEtmMHZlTGlKNndlcUdBYUpYRlpnSmRNSmc5UzdhN3lxT2JpcTdaeU5oMjV1Y21Xd2NCV0g4bTdGL1lGMTFib1dabnJMOUxtQXNRbnZwSFpmcE8vYjdOMldhSXNGbndqSHZ1UzBkUCtwdjdINmFnbzV2czNxUTJrZjI5eDFxMmVmVVdjT3QyTDV3bDdPVVBSL0Y5dnhOOGQ5M1dleTgwZnVNNy9rODlUN2pMWmZkNll2VVk4WDJ5WTRXcit4TEpYbHZ0ek5qSmU4WGNjYWJJVnRkQy9vUVNrMTJuOCtrUnhWQktFc0g4NjRweDFiVVJ0RkRTdXNuOHd3dlU0NUpkaDk1SERtcVNHOThJdGsvNzE2U1IrUnBscnhWNmZmK1ZIcnZLZjJtRkV0dnNTMGdoeHM4ZjFYYlVXZGNDeHc3eGJGOGp1elk0ZU4vT09wRFBkeEhBKzFMWU9nT3hnVm1hRU9LMFpmMU1QVGpVRFo0dGd2bEhPMkpLMjkveEVEYkgwMXVGbWZESHJ4dDdTMFZYcmhOYXpacEszenhCTmJrMGxqcFdiZEpWMWQrVHZCL1Yzbk85VENsVERmTGFuZUVZU3RyZDl6KzBBTDdvMW5iSDdYOWNlL3NEMW1mcUcyUDJ2YTRmZHZqdStqVEdTcnhNbHpWd0VoRGgvdUZZRTIwSkx6Y3VGTmVYazlQanVOWER2c1h5Z0ZhSzM5WExKeHIrb3pYaFB1QytNcHE3TUJaWUFkcUcyZ0h2a2YrZXhmRzNvVGo1SE9vMit3NHN2SnNYTFArR2V5bmxKNERvMFlTMnlKSFBzZm9JczJvOGJoVm9lUFdvMmRGZEtXYzl2M0VKSHFadU1PL2k5RzlGZW1oRStpaHVuRjYrQXoxTDNyUHhUUnJLc0h2N2pTa25Eekw2Y3AydUlYVlVycy9TR0xZNFd3bllEREx5RUxJSDFkbU9LN1lmSlNBV1E4Tk15VGpNV3pRS0R1V1M0QXpxWmhET1YvaGJOcERKcGsvY0E0VzVQUWxHSE9UYytvUFVyTU9aQkhyZGNXT1pmS0t5L3dCT3o4OG4ya2VrZklBZlZHYWw2WDhneXF4WWhjelBCcE1OaUFKNk84dXpsR0ZNNkVOdEFsQVFuZnJxNjBMZlJtT2VlZy81ejNWZjFMV0RvOVA3ckpXL0FIelRCVWtvYUVNTk94TE5sb0FEaXNObkVXTVdtZE5uUHNwbHBGem55U1JqMmxjS3Q4Rzg5Z2trL0IzbFY2Z3Nqb1hQUndqbURIeEkzT2JGTEZZRC9ZaGR0a1liL20vV2N1TzhPekpUTHV5YUd0L09iUmxLR2JqL2hRemNXQVdIMnpzbmVENDZoRTZrSUNPdVJ3a0FRM1BEMXhqb04zWHhGRWNjQVk1TlZsZEI2MUVrSW1MTW5CdVJRSS9JS2IrbmZ0KzlLWFVkdnVHdFRBK1l2K1lldlEvV1drckgySVd3amVnYmJjZy8yeHBabXZDYzJXZkhmVVo3Y1Z6bk92TzA0Wi94NGhmOUlnb0RqNCtuNE9aL2grWWxGK2lSWkQrS2J0YUt4NFJiZ1FSWWYwdjB1UHpwWll0OWNmS3J3bzg3KzNqQ3ZwK2g2OWFncmhQSy9Eck5HUmZXTkUweFF3bThPZGFhTk5QV1RsSEszMkcxb21PRnNkdHlPSTUyNGZ1dW15L2Z5RTk4aTc3ZkxvRTg1Z2ZaT2pIRHZMNytzZkkzdEY3VDg4QUsrdnROUm5hSmxxY0xkU05uM0YvaWlJYU9JNjdPSGFvT0VZME1VdHVqam8wWjNXd2g1M3c5dGFqUHk5UzBVam1tSFZ1aWZtenBCblhoSWM4WSswU003NC9CZXR1NDF2TDkzOEhHUlo4UE1nOUk0K1BzdnlUSGwvN0srUmlFY0VpcUQ5ajUvbUVlZjFVc3hOa3k4bjc0VS9JVCtIKzczQys3UXJYclY0WFhDVlExbzQyTnRpTy9qRURqMVZZSUZubmw0MFh6VnZwN1hsYVUwVHpIc2UzTHVWM1FjYW9odithZlA2bmc1WkFPNkV2ZnE3cDE5WHowN0VVNHozSG1Pa0JjeG0rRkhiUi90a0pheXJiWDNQRXM0SFp1MU9Nc3ptSXRJN2pwOE90WXZqYnhEVlRmajR3V0YxenROM0FKN3NkKzh2R3UzN0hzUEx2dWxoLytsRjY1R2RlaXRuYmFYTkg2OUtDTkZtSy9aSFdIY1l6eFAzblhoeGdpeS9XdnM0d25uVmR2M0hLeCtIK3JUU01TN0pZanI2WTc1Qy8wbEJjL2JkSkt3M0IxeXE3NmtETVlLblhHdDcrV2tQekZsajUyNVJWRTNJVzlwOFBkNHpuQjFzdk9jTzVhaVlXYy9scUp2NHJNWEg1TmQ5ZkZ4TW4xd3JXWFB5MXJ2dE80K0x2MkoxOVFOdC94dlRDejBtTWJxc3lGK2hpVkpEOFRZZkhvRHVSdFdxMGlyYkJPT2h1VjlHdUt5Y3hpbCtjd2FBM2ZwSDRTOUNuT3VnRlFxNUdSMkJKSnpoZitwRWRuTTNUQzhqM0JXb2kzY0VsOWhMUThKMGxwVDdEK1lZMmpqTWRsSG9MWnhjN01hbFBNWExjaVVrZC9ybTQ3KzNFa05lVklaaVA2dDNxd2crWUQvT0Z0NHBXUzM5aDN3MHVEVmlMdDhkMUpEcUNRa3liMkxENjNMU0pJK0VjZXpqRnAwMmNhNGpHcDF1WUI2UGpmQUw4cGQ4RzZ0UDkxbzBzTkt2TDZKa3c4ekRCMWtDNzcwcE9sRE40ZitXVWgyaDFXVzJoTFhaSkZzd2R5Z2UyM1YvNXlGQ015K1JIekMwN1Z5Z1diTEUyblBOdllHR0RkeEdWeXZkaGZ1Q2FaZEpta21oalprNGJNM1RnYnd2SHlpWmFSL2RYSmtrTTR4SjVoTmpQTVhNWC9ITS9HOWJQZ2graGwzV05uUGhlb1dkN2dsOTFnLzBxZXUwcVZnbk1uTTNSOTNiUjA0WDVrVGtlNFV2SFJsdTBqZjJqd1ZmSmFOeHk3YkFheUtpb2tzZWNGby80RnUwRUorS0ppcEdGZGVXbmwwRWEvanV5bUJDOVgvSHZhSGR5cytqMmh1Y0wxM1VOK0hnRCt0WEEvN3p1S0pENDl6Z0hBay8ydFJFVko1aHhtUVp4OWt1TTFnK3hkODY5Y2Y5a3VtRG4yRDAreDhJNlgraHowK3YyRDg4WHF0YzlPanBmekZuQk50dGUxOXJEbmF3QjFsa0grS3M3cE9JVkZyMWpmb0s5QWY0ZVQzRGZRUmQvRGNaWUhOTkdhOFQyZGJ6dWhDb25kUGFKUlJjNW92TlJjYmdMclR5R1ZqVzgvb2tLemVtZmFIQ2Evb21PeFlCdDFGaWhVYUZENFEyaTJMaUlUZkQwbkdCOGNCUFJyOVBVR283WGdObzhvTHNjUUdNMTlndnZhekR1NHk3ak1kVWRVSEVHaFRjNTY5NHM2TUlQbUdOSWc5d25KdkJYTjRzM0k3YVAyZkFPZURteGZtWG5ZeEtlSExLN21CejJ6eGR0ZDJhNCtEU2V5ZGxnTlNmeTlzNUdONHZCMFFSdW9UY2NRekVhNHAyTWRsRUJoNmdiSTZpQ2s0d20vRGREUXZWMlIwTXFMTGpwM2QwZS90cnRZMkZOUUgxR3d6NGNzQThuYlhpL2pQNXh2bWhDYWRIUEV5cEdjUHorNEJDS1h5ell4MmJsSHYyY3dPbCtzYm9JN0hDRWlCNUQ0L2F0SVd3YldxZFE5S2tZV2lpQm5uVUVoKzMxTExpWjQ3Y1cvQnBhK090Z2dvcDFNQ0dpN0NQQlE2ZjlFMHRNbS9iT0JyanYyUkcyZnpMRzA3RWpvVGpyNytMSkIyZnNCSXAzZkdUY0xOaWY4MFhMdzhLbFFxV2lJUlNzSE1EK1RIMmFIaFpzd0RpMkduUXVTK1dseGtzZHk3M2pIdXczMmNVZU54bTlnZUlNYmtUMWV0MVQzS2ZYUmEzcmRYZHhhMzhYZi9XUGJoYkR3Y1JkTkY0MnZjbkppTDZNRC9tVzdnbi80dlhPRUdMdjZKZzE3K2k0aitmMFJ2dkg2TkNPRkJ1SG14MDJ2QjBlb2NCR2gwTXFZTmYvNWxQZEhUUjNpT3BibVA1cTgrbFkyRXFwc0JxZktJZGdCRXlIcXpoMWJ1T3lsaG1URW11eGR6Z2s0YjVsa2g3dXZtVTArR29mTnB5T1VlZUd2SmUrWVJlYUlxZlphQk5lZXNNaFFuUms0WDVIUFR4Ti94QVZvRGNFU3RpRFUvWmV3ZmE5SVZ6TDgxNGZzbnQrVFR0NVh1SjZEWDY5YldSWGVHbzZySFdsdWR0WjdJcU5RbGM4UE5vUE5weWREUENwQjFURW40R0FuWGxLZlhsS1hkbU05K1NwYWtNUWRyS0x0MUg0Umg2R2dLRkVKYmVnbGdUTjJ4LzNieGI3SjJmUThQMlR0MWhZN0pmZVl1VmJLdjNCaXcxbkxqdWl6d3lML1Q1ZWM3Ly9LbEsxM3orQUR0NS9EUmM2c1pCd1R5eFVhRy9VNzdITGpuRlllajArSXRydFJZcnhQNDZCWmZTTzFqWVRpQjcyM1lYS2VqTG9QeXZIZTVhN2FHdmUyRHJGd1dhL2gyTXR0R0VFOTcyMkFkYTQvd05zQVd5ZUpiQVorOTFHZ1lYZlN5S2szbitFZk8zeEp3dVcwQjZWbVlkVjlVZGRFaDExdmZvVG9yT2svb2dZbGRHZ084Ym9NY2RvbCtGRHI1eTV4RVNnOTRGYlRWaUZHR2FoQSsyT3dOTXlDQitzejhYSE5HTDROR0w0NkZvY29kbVNmVXdqaERSQ3lDQ0VERUxJOEt6UnJ5UlZDMFpIWjhvMm5OQnRXTllKYmlpRDRTT09JYmg1LzFKb3dYbWVudW1hVE5HeWdWUTdIRXB0NnBTQTBqRUpTdHkrTmpDMVRqRXduM0l3ZStoeDAzTUR3QmVCTllaZkFnOHJWRXFhMzd2STlqdDVyMVgxd3JTdk5neDV0MjFrZE50bWc1QkVQZ0FrWGJ0d3o5WE13bGpxcGtaWTZ1cXNOSGJaSGJvOUkraE1oNUNicjhpZ2FHUU5sMXBGc2lzR1dWV0Evc0g2S1lXM29nQVpUUUpJblFxNjVYS0lHb1NSazlWUlFTM3lkUXNKTVlJVHNDbmdoRXExQnFDU3VoVjAxS29kZEl5Qk5PaWduekxWVE8yc1ZzOVdPNml1UjgrKzR4aUJzM2t0UmFjdHFKaGdkR1RaWlhCb0RCL3R6dkd4UmwxaWY2dWJJUDFIQVY2VUFPNWcrUGVEb0UyOUlLYnlwUkRkYzd4VXpaRWlKaEIrMnltdlVrYUxJTE01WnZyTUtEeDJWdStVN0lKYTB5WWdZYWdwaitTSUVxaGdFck1Va3E1UllPUjAvWkVUN0ltQ1FBYmN4b0ZFbTJUMU9BSjhsbStOQUxtUldlSi9BV1RKTHZHL2pFdEQvRER1WEpTQkY4ZU1YSGNDMWJrMHZuTnVtY0RCQUhDbnRXcUF4d3hYYlQ0bnpNUkJJeHV6S2dheW5CUzFacWFCN0dqbCszaGdIamMxZ280d0xJYWRPaTlNallIaWFXNE11cTBBdWt1TXJsMEVpNC9LK1daeDF3eGRoSXF4anlJZFdUTzVsWUpPU1VHMGRFMkdWb3ZRYWhGYUxlcktSSUR3WmVvS1hSbkdtUEZCQ1J3ZkJ0YUtyZnllRXlNeENjVU9vWWdtV2dURnhySW9Hb1FpcVpnVXhxWk5PR29aT0RZYlBBelE0WEdBRGtlU0sxNkxhMTdMU0FPVHRrVEFaRVpuT2FXYzROTVZIZVgzTXIyNGtGWVdzNTdsYW9tZEdRYnE2Y3I1RHdjWTdNTStrT1BvU0VOalQ3NTY5ckV6djBmK2k0ZXJJaldGTzcwMGlyQUI0U3ExWXJncUhhWG5VcFQ2R05panVmejdpSk4yU3poTk1DdmhqM3VMazc1eW5MWUNuQzV3VmNQdEJZYXplS3pqR0JXZE5ENGtOQWlhQmtIVElHZ2FCRTJqSURSUHBTckVaMlBLcTArYzZ4dTNQL3VTUlVaTlFxaEpDRFdYb3V3RG5nbVE3YjF1Nmd3RFI0bU4yQWhUazJCcUVrdzJ3V1FUVExiVTloOWd6dXcxNW1JeXJwRW8weVV6djNaNFh1RHZPTzlld0JRcll6cW96WG1SeVlhRzFNa3YzZVhraGdNM1owMkN5aVRqbitZYTBnTWoyZGdkOExWTDRWTjJSZXpBYXNTd0pYaEFLTTFHekpBbHZ5bGh5RW83SStwaTBZaTR2VmJzaWtQbDk4aHdtVmU2b29ueE4wZldJeUZxblVwYm9ZOWVJWmkwTmoyTDJ2VmhKQWtzVll3a21mTVNlRDZNbWZtZlZqdm5YbkFpU3hnYWI2R2JCbUFCamxHd3Z1TmduY0NVUWZBTVdOODl2K1NyeGZLc0s3dHFjZ0o0TTNrdzZZSnI2YnRDZnFnTkZUcmhXS29Gd2htd0ZTMHNEcFpta3UrRG5zNHVPbXlvZkswV2VUNEdsQmhPek1Yd1JRVERDMHdHaStaL0oza3VHMUhITEF3cFJMSXlwbVljbTBEVk9LaU9Kc1RYWmp4R1JBTjNqb2ZKVkpkZ05UbXVKZ0hybUFTc3c0RjFUTkZmaHk5ai8wdXNnMU5WOE1VUE1JM0czQ2VGWkZJS2NWckpjSjFNRkg2UTdsYmcxMmVGNEJkQ2RBSDZtZk91S2JFU2c5dDlCbUhQRENURUhrc2RTMFNhVUpRaWpZTTRBSXlLUGliRkx3cnZkZ0F2clcvK2hLdk1DdGcvL3FTMm4yeWgydk1DK0JheGY1b0NZOFNaRmZqV3drUzVkSEJiUmpsd2ZlQlVONGlSSUlCYVBsUDhLSThoODNTTVl2emJyc2kvaFlZcEh0cHpiU0ZIZ01OcFRHUDBhOGpvMTRkVDVJa205K09hM0pGalpUenBncUpRWXdMVUduTnE1cjhCYU5XVlVyTHY0WXo0SXNpa3VzSWltUkhiL3EvOHVhVDRQSG5sNkhPVzcxZkNCb2dycWxrMWNKQkU1ajlreU9DRHNqL2hNcCtmK2JJbUd4OXRsRFBKc1ZyTVZtczNyUkF6ZjVnUEg3VlBYVGU2cDh5ZFFiY2wxY1MweXdjV1NoaVl4WWVZUWtCaFB3WCtTNDR0WUhsQ2pVVmxNVWo5NFhvL1NEekFWVWZyU1I5MmlwdnBwYkxOQk91VDA1OU5RTm9FcEprdzFMbnBHYzAyaXdFYUJmQUpCL0FOUGE2RVQwMUdYOWp4ZmVCa0Y0bmVDSGw3Z1Y5ZExJQURVNHdsdFRHd2VkQmtXbXBhVW9wa01HY2VUclJock1ML01qNkpETnNOR2swRUpTMk9jYkZKSTgyVTZTa0ZnRmFJc0Q5bnBQdnp2czNpQU10OVNsMDJaNFE5TzYzdmw0T3hqRlB1Y3V2UmpWdVBybDBBeENMdTVySUJJTG1LYWpJRXlTdVBla0hCWkp1WUllbno1WmhiMkJmS1I0RXY2UmxEc05RSUhKeHpHWVpxMHlBTVczRU03UklRdHFSNktEVnFhT3EzaWxYamEyR2NNRFd1aGxqcVdGTHZiZkh1V3h3MFgrRm9raVRiWGRGbG5WWklrNVNQTG8zaTFqWHliUktycVpFL2FSNzRLc0trT1JBczRrVmZkUHBDOXJVNTUvWTFmQm41R0ZxKzZ6ZjJPWktDSHNVdzlmTUNCL2lZY1FtaVV5UG1YUHZhVjhhN3poeXZFVU5aTW9MYy8rT1k2akpNSFZQdXNIUjRkSzNEa3pvNkxZb1VvVnZpejVGM1F6ZkZuek1Yb3VQcElJYmVORDFWSHA4QmxxbWV6YXEyVDRrUmhYeStTT3l0UkJZVzh3K2w2Z25iQjN6N2dMWUhVT0pvM2VhRGRaczAxSWNVRmZTQVhNTnluZjB0NHBrOXVzUkg2RUo1ZzJWc1NhNlpVK2xrcU9CSlMwZVh0TUJFV29aTVBBT1RxeUo2ekNsclFlRFIwcCtVOFBXQ3ZsbitnSU9vSy8wSzZXM3RJdXRvaXJnMGV0ekVpUVBJVkVVU2lpZ1dOdE5NU1N6NGdNYm9Namh0aHpneFA5Qi80RmttWXRJQnB0alNJeDh5TlYvbkhPa0FvODVsWktqZUttU1BBd3ZtUFQwdEFwODRJYWJlaTdDMXFzNDVxTVZuQVFOZlJXK1ZUd3IwRGNFOHIrL0FONTBQa3FaekhuUXZnakgzQTY3NktEdk5JSjhoWEY3MU1KODhNczlnUzYxcFgvbUtSR0xGa1ZpcWZMNUZNdzRtQzVJR1RORU9URStoL0ZEazZTQXI2TURONGdGWUFjTk8vcURocDZjSzV2U0t1cSt2Z3lONjhBYk91SzVaQnhPWmxMcFVDVHRtZkxMTGxZNGE4dmxESWNIWGtWT2d6QjRVd3pqaE5CZTNZcUp4YkZKWGRvUHRKZzNMclhMYStpVHduQy9RbFhtUGJ5aTl5bzJZcWF0TGlNc2FwMDNwRWptSWcwUVExOHJNd0tScExkazNWdElKekVQd2FRVEJmMkVRWndjakZhVXh4TUJnaWNXdUFZNUd2aXRkZVg0QWZPVUNneEFHSVp5MkpDRWRrM3h3Zy8vRm4zNFpjV01TYnBFbVpDUFdwVGh6bUNlRm43Z1U2Q2xXRG1hL1h2RzNkUHBQVWdzSXBqeWQwRktxb29vdFpaTzRZZ3ZXRkliYWtseFN5Z0xWZVl4STU2RjFWaUtYY1BGRXg3Y1JGMDRzbUluU2lreVZtZkdaTXJEM3ZjR3dmN1BZdUVkQkRhSmVIRFdJUC9ZQlBEYWhTZEdhMDlTYWFrM1NxRW1zMkE5YTlJSzF4d25tSTJaY0c2OGpVejVYQVJjN1BPZmpBMzh1enB0ZzltS3cvNW9CRDQ4dGdwTWZzdS83OE93aDlyMFhlWUJacEVyMXEvanpWNkR1TGRRMWxqK1BXdkVVZmhYN2pkQjVNZEU5NHFMcjRkTUVISHlzZUZKOGtWZFVDdUtMMWxRVG4wN2kwMnZ4VlJEZlV5NitNWC8rSHIzTExpN0VwNEdvWlB1Y0Z0aW5tbUJ0RXF4ZEM3YUNZTGVEZmdrVEJHRGdSSjBkTnpKNTROZWRadFJWRTZCQkFqUnFBUzdSTS8yM1NGeWc3Y1JoRTNxbWZKL1RBdnNzUmJtcVdrdTJnbVJEODh2R0ZKdHdMYUxMWndIODdhY3AyNnRKclVsU2E5WkNXMEpvSXpRM25jZ1RwMXdlQi9HM242WnNyeWEwTmdtdFhRdHRDYUVONkcwNkFTeStjTUx0cHluYnF3bk5KS0dadGRBcUNPMEpGOW9lZnhiTkgwaDZVZnZsQ1JlVGJJL1QzRDJxaWJSREl1M1VJcTBnMG9kY3BGMmNpNzBLWm1qZDRJRVFsMEVmRkxkV0U1ZEQ0bkpxY1ZVUTExYmdGRUxQb1dYV29qOGYxb2orZkZoVFRYUXpFdDJzRnQwU0k5NGJoUjdpTFk1NDRmYlRsTzNWaERZbm9jMXJvUzNocTQvQ3ViUEFLZGdPN01obzNXbEdYVFVCdWlSQU45YXd4NEUyd1JQRyt5aVI5emkxNTgvaCs5b2oxcC9tMUZkcnBNcWp4MUQyMVFpd2c3NFcrNlhIZmhteFh4TVN3RDRHeGF0bzYxT3VyVkF6QlpNQ0p6KzdPQmtmMWRlV1hFbDBFNVFwVXZWU004TmFyV08zNDdWR002eWR0c1JqVzFtSHRqTU9WY1VXaWQzay9qVi9kYjJ6WnJFMTR2U000elRHWlRQN21PMEkreVo3a0M1cklMVWpyaWtSUllGL3FhMlhBYm11aTJ3SXlqQzNlb0c1VmRmS0NWK3IrVnUrUm1xZGh0M3NwR2hTMitFTnpOZklZdWZaa0o0YjlOZXdEK2ZoNUhlcjdNYmw0MVRzUEhlTTAvTUl3N0dleW52d1c4emRvNVRIbkw3YjZEQW0xMUs2VmJMUFJjbExxbkxydXNnZDQveEN3RG1DY0I1THZnemJNbTFvdHAwR3c4eGwxZkhLam5oa0p0b3J2dENHYVBZZVpxSmlqZ3FtVlFhams1ZGoxMmtOM1JFSGpOQXdVcWVkdGpwTk00elV1ZUd5WDdIYXdEQnEyWE9ub2FZWlJza1RxMktMUkNuZXYrYmZzVzQ4NHJyaHYwMlEzdjc5TVU4alpDYUVGcTBVYldFamJMZG1aeGpLb3ZIUmVHbUdwMDIxVFB6bUZGS0h6VzM3SGV2Q050ZUZ5Q09wV1YydUpyUmFrT0VwNzF4bXcwekNHZlNRVmt1MEN5SjR3b0Z0TjYxejBZWFRUQy8yZjJGbDJPRG0zN0UrYkVWaUFYOGdQMXhHdE1HUU5hclRObHFxTUZ6cXdaMU5aNllqY0trWjFMWWNiYTdLSVptN3M2a3pTMHIwYnBxd0lWS3g4SlVZTjRKVXBFcmUwVHZNYmt4VGNrT0RUNXFTVDV0VGZhcW1LSG1ybGV3OW9aTFA1dkNSWWdFZHl5eEsyQnZkL0EzaGJQSldrdlp6aWorVzNpenVYNGlDV2VJOEs0d3I3dzM2TjR2SVc1Q2ZvTTN5VGpuRUhHeXdiWU0zd2dmemNQTmdPWkd0WENmZWRiek4rdEY3OUQxT2xLbnlQMlFENWJ4cmVNdGZCTWQ4YWxpZ2RLMjg1MGY4bS9ETzRlM0lHK3JGZlpOdktONWliZm1BWER0WEpzb1hLRlBPK3doYmJlT2EwRDlEcmVCN1AxVCtpNzhySFQvQ2tYbnZkbTVqYlF2ZjR3enZiSWJYZkRwc2l4YTgyeGtlcDJPeWJXMTh0ek44bXJobm0vMVZXUTM4OGdRY3dvYzk3bUtNSm55ajg5L3dmZXBOb1pVSHlHNFVyNURkbnh0K2hDTzd1TXJwR2pQQ0xNeld2RTdGY1NzaW4yekVuMFQyOUxQTkxzbE9DdVRaRnU3aVNmQU9iM2dLQks1N1JsMWozbGZxVlVLYyt2eEpXVGFtMkVUUkVtWDZMS0kzUjVpWGVzMmZJSDJPbzROL0xWVzRWaUNKNFBWN243Q05WOEVSZXV5SXgvaVl6aXZsOTlUOXhYYlJpck5ZdjVSS0U5NGpMdFBXcC9nNGd6OTUvQlI2OGl4eC9GWmMyNWt1dVJYZUsvNHQ5M3ptQWtZSHFJUFpWNC9vb3ZUcTlGNDBoaE5qSVJ2N1V0NDlpRGk4Q0JpSE5Qb3lWVDlFR2F6bnJlZVBJb3k3RStGY0wvYU8rbngyM3VMcy9DdHEvYS9zR3IvZFc0YldhNGF1R2JwbTZKcWh2eXFHM2s0eXRLTGRXNDQyYW82dU9icm02SnFqdnlxTzltTWNZMXlPY1g4dGFKRzlhbmF1MmJsbTU1cWQ3emM3K3pHT01VTWVyZ2Z5dUs4TTNhb1p1bWJvbXFGcmh2NnFHUG9IenRBV083Zi96REhhSDJmWEZYcmo1SDNsYkszbTdKcXphODZ1T2Z1cjRtemZxbzV3OXIxbGFMVm02SnFoYTRhdUdmb2VNclJFQytyTXU1cWRsMkpua2N0cWRxN1p1V1pubjUxRHlTN0R6blhtWGMzUU5VUFhERjB6OUtZeWRKMTVWM04wemRFMVI5Y2N2YmtjWFdmZTFleGNzM1BOempVN2J5STcxNWwzTlVQWERGMHpkTTNRbThyUWRlWmR6ZGsxWjllY1hYUDIvZUhzT3ZPdVp1aWFvV3VHcmhuNmJobTZ6L1lDN1l4d1Z2QjBmR0xvOEYwTjcySjdpV3lkelhzaWluYkNyczNqUHB2MTRZNWlzTStNWVdhdWhQdVcwYituc2Z0TmszaGI0TnJvTWRrNWd2Rjk2Wm1NSVY5a3pZUW1XVnhuOTkrOEZkM3o5V2tucGl0bGRjK2ZFZUZjdHFTdXRSSnhyNjlSMThCbTBkYWtiZVk5MXJhblhOdWlYQzlhbzk5emZZT1lBYk1vTnlyUFdJd0ExRm5HbTJTSjZvSk5VbHVpK1phb0pyU3J0a1NyV2FLcTBJNU5zMFFmaDN6S0dEcHloMHN3OUpoZDRSeVp0bWJvbXFHTE1MUldNM1ROMEhXc1FNclFUMEkrVldhWkhQMHN4bFE3MkZwNis5T0hpTisySFZ2MTU5ZUpUSjNGdXFKZm04ZHlHcjVmMUdSOWxuay9UR3JBYUJyN05BS1dnMjJ3RDdUZGw0cUp2T2lpZndkYzU1WG1pSmJBRWZsOXlxallwOUowYVpuK3NHbDZLTmViS2hyNE9IYW1WY2FyeEpFdFR6T2JmRlIxY1R5RlViZk5QZ2JidjdwbTF2R3FkVmlvTW0ycG9udlBzTzkvUUU2TG5VMTVDUitKQnVicDBGVHBNQzF3MkYrd3hlWm93eGs0eXZvNkJMRXAwQ0FYT1k4MEZmWUdGZ1RObTdIOTR6cjBuK3hLWFlhVmkwZ1NBNzFqbUYwaUM0R2w4U2Y3ZlIzZ0ROcjF2d0ZpRC9ES08vQTNkdGJ2bFZuQnFOUjZKSm1IZmJRRkR4UmIwTGh2R0VwTllSOG54MEpBUG81cHlXT215VFBtZVh4R0hIWWluT0svSlc4WE9mK0MxUTBEenIrcW9CZkFEUWFyZDlGK1Y1RmJWSWFwa2JEdFRhNFhObklRc00rTS9RUHJxbk1yZXZHVTdYY0JUSUQyMGpzKzZyeGp2MzlUcGlsTThrdzQ1ajIzcGVOSC9ZM2RUMU9RMmphckI2MzR5UDYrUTA3OG5EcHJ1QlhiRis1eWxyTG5vOWlldnluKyt5NkxuVGQ2bi9FOW42ZmVaN3psc2p0OWtYcXMyRDdaMGVLVmZha2s3KzEyWnF6ay9TSnVrODNRbnJvVzlDR1VtdXcrbjBtUEtvSlFsZzdtWFZPT3JhaU5vb2VVMWsvbUdWNm1ISlBzUHZJNGNsU1IzdmhFc24vZXZTU1B5Tk1zZWF2UzcvMnA5TjVUK2swcGx2NkpzZUJsNEwxeksxNzV1K2dKVkI3VGRjYkN3TDVUdFBiSUd1eXdscW94dXhEcTRRNGJPTzREZDNjd1lqRERzVjJNeTZ5SHU1L2hHQmk5NTNmWWIwRlBQd1cra0NpWkY2emxTZnlLSExrZWRpa256M0s2c2gxNWw5NE9iL2NIaWI4YnhoMEFnMWxHUERCLzVBY05NTkM2Y2RETHRURmkxeEc4Q3RBb094YlZ3NWdHem1mT1YraFZQR1NTK1FPaklTQ25MeG5SclFlcDhUK1pkN3N1UDFNbXIzSXkzMkpiZ0tkdlVKTld3d0x6Z0FYMGpXT0J4eUYzNDlrdWxIUHNOMWZlL29pQnRqK2EzQ3pPaGoxNEcrTmJLcnh3bTlaczBsYjQ0Z202enRsNnBXZmRwckZzNWVlRStOZ3F6N2tlL1picFpqbnRmcUVjb0V6K3pud29pTGgveGl1RHpnQmJya2JiWjRHMmF4dW83ZTl4bnVoZDZQOEp4OGxua3JiWmNhVExSVWJJS3dtMlJZNThqaDd1cG95c1JYU2xuUFo5RjEyMVVja3YxbkIwVkxudS9JeXh0NW5Ta3ZqRmZyVGtidnppOVVna2psL1pjUzNpZTFYdTZmSEloQlpFSnBwMVpLS09UTnk3eUlTc1Q5UlJpVG9xc2Zxb3hBT21wYkJ1Y1I3dzhYUHVvZnByR0hkNGhHeVhuZTBQaUc5WFlHY1lGWFgyRnl3cUc5blpZYVdCc3doUmRtN2lMRlN4bkpEN05EN21ZNW9ubFcxczBTYytXMDVaSVZVaStDN20zVFJRSGk2aTd1SzhUVGc3MkVCSmdMZCt0K1BrdWp4eEdZNXg5TDhOWmhFSisvQjNGYnhWVnVjaWp4bkJqSW52ZVcrU1hiSWV2RVBzc2pIZThuK3psaDNoMlpPWmRtWFIxdjV5YU10UXpNYjl1YkxQenZBWlBicHpuSi9jQ2M0aHQ4WC9IYTI1NkJIK1NIT0pvNVNOTTdLZmd3eVVIeGk2TDVGeDBqOWwxMG5FcmYxR1lPM3JmeEU1NTBzdFcrcFBFVlhmWTg2WCtNZkkzbEZwcDgrOWw0MHZONWxFVEJ6clcrejhMUnlYWE81Qkc5aUhYWXc1cTVpWDBNVDhCTWd5QlN2S3hEMXNSWXd2cjBlaUwxTFJTTTd1ZDI3Rlc4aVdacDRtakhtUGhlaFNuaVlVNlpuQXdEcG0waEFEYTNoK0UrVUlzMDFObENQMFB4Y2xPVU5ieE1DKzZtTGZkRzVGamo4RVhBVjNIcGVqR05mNmhyVXdMc2tmVTQvK0p5dHQ1VU5zWHVJYllLRmIwWVFzYVdacndtUGxWd1ZXeEg5Y2dSWjArQW8yNkwrdElNYXE0VGdNcTl1bTJKdWh2N2R3VG1tS1BkbkZXU1lObzdKZytkK0dGanhuKzlCZGw5V0FGOUlqNzFMNjZSS01TLzRoejFPNnhJenZUOEhheC9qVzhsSjNjS3dGYndLeVk4bTNvQ3ovcEcvUi9ncEhaUkhCSXFnL2ptOWR5dnBWTVJ2UFJUK2ZvdEFkN0lYdGhGWGtaMzUrWGZpblkxbEVFcy9ZR1QvaENndXEyUWt5cStVcytCUHlRN2ovTzR4dlh1RjY5ZXVDNnpYS2VqVEdCbnMwUDJiZ3NRcXZJT3Y4TXI1dTNncm41bW1OR05jNXhwbGNtTVh6Ky84dWpubzdZVTNsVVhlT1VvZk1ieGhoSFl5eU5kRFcraGxycGp4SFEyZllxR2h2MDRvRkdHdm5PR0tEVFhZN282Nk5kLzJPWWVmZmRURXAvaWc5OGpNdnhkelp0Rm5UZGZGUG1pempXdkNkMHNOV2ZtYjdYZ1V6a05GdFZTSWZMdnBCeE9zT3Q3TTZrY3hjeXRodU1GbmZiY2IydW1ZZ28vakZaNStnTjM2UmFBZmtBWFZRNXlFRzJoR1kyUW5PbDM1a0IzMFh2WUI4WCtES0I3cURTeHlkZ05GM2xwVDZERzNxTnRwWUhaUjZDMzJwVGt6cVUvU1ZPekdwd3o4WDk3MGRyM2xkbVFENXFONnRMdnlBY2VZdnZGVzBmdU1MKzI1d2FVRG04UjdYa2VqNkw3RGdhYzFmZFUvY3hHakpISHM0V2VNbVJsZWkxbmdMNTF4MGpLREFYL3B0b0Q3ZGI5M0lRck82akxad2ZMK2tETVU3azgwTXQ5MWYyY2hRckM2VFowTDhhNEt0Z1BiZW5YeWE5M28welVNMExxc2ZjUjd6blB0Y0ZtdlBPZjhHYThodG5POE1wZlY5T08rMlp2bTBtVlRhR0lkc1l6d1Mvclp3ckd5aWRYUi81WlBFTUM2UlI0ajlITE9qd2Y3MU00NzlsUVlqOUV1dmtSUGgyeDhvb1hOa3k1M1l0YXRZSmVDZHp0Rk9kM0hlSHVJUWN6ekNsNDZOdG1nYiswcUQ1OFJwM0hMdHNCcUlHbGJKRlUrejk3OUZPOEdKK0JYaURNVzYxZ0NVUVZxTVV0RFRTZUpyUGYzbmx4NWpHOEFEVHViOXIvcUpKR0pHV2YxdVdzTGgvajJUSkw0YXVzcnpCb284azBSOFRzZ21QWk1FWXZIbG5xQ1FYRWxjUDVma2EzMHV5YmNwejRDUWM3SC90TWdEWk5TTHRmT3dVZlB3WDVpSHhUelV2eG9QaTNaSXpjSjN3Y0xtYmJPd045cWQzQ3k2dmVINXduVmRBejdlZ0g0MThEK3ZPd3A0K251Yzk0Qm5SOXNvQXllWVpaa0dUSDJKRWZvaCtxaHpiOXcvbVM3WU9YYVB6N0d3emhmNjNQUzYvY1B6aGVwMWo0N09GM05Xc00yMjE3WDJjQ2RyZ0hYV0FmN3FEcWw0aFVYdm1KOWdiNEMveHhQY2Q5REZYNE14RnNlMDBScXhmUjJ2TzZIS0NaMTlZdEZGanVoOFZCenVRaXVQb1ZVTnIzK2lRblA2SnhxY3BuK2lZekZnR3pWV2FGVG9VSGlES0RZdVloTThyeVR3S055RVIzR2FXc1B4R2xDYkIzU1hBMmlzeG43aGZRM0dmZHhsUEthNkF5ck9vUEFtWjkyYkJWMzRBUk16aFJVK2VVZldxNXZGbXhIYngyeDRCN3ljV0wreTh6RUpUdzdaWFV3TysrZUx0anN6WEh6K3llUnNzSm9UZVh0bm81dkY0R2dDdDlBYmpxRVlEZkZPUnJ0c2QvWURkV01FVlhDUzBZVC9aa2lvM3U1b1NJVUZONzI3MjhOZnUzMHNyQW1vejJqWWh3UDI0YVFONzVmUlA4NFhUU2d0K25sQ3hRaU8zeDhjUXZHTEJmdllyTnlqbnhNNDNTOVdGNEVkamhEUlkyamN2aldFYlVQckZJbytGVU1MSmRDemp1Q3d2WjRGTjNQODFvSmZRd3QvSFV4UXNRNG1GQzdvNHhBQ25mQlBMREZSM1RzYjRMNW5SOWoreVJoUHg0NkU0cXkvaXljZm5MRVRLTjd4a1hHellIL09GeTBQQzVjS2xZcUdVTEJ5QVBzejlXbDZXTEFCNU5ocTBMa3NsWmNhTDNVczk0NTdzTjlrRjN2Y1pQUUdpak80RWRYcmRVOXhuMTRYdGE3WDNjV3QvVjM4MVQrNldRd0hFM2ZSZU5uMEppY2orakkrNUZ1NkoveUwxenREaUwyalk5YThvK00rbnRNYjdSOWZ3YlRPU0xGeHlOMWh3OTNoRVFwc2REaWtBbmI5YjBiUU5vWUVHeGh3Z2pCSEU0MmVCazdJelRFSUJhRVBNUDQwckhYWWRoZU5IUXFHUU9nUXBNUmE3QTNmTWhFUGQ5OHkvbnUxRDVjNUhaTzArWktBcmtJUHlJZmxKRFJ4T3ZPR1EwVG5pUFRpcUlkRi94QmwzeHNDRyt6QlNYdXZZUHZla0YzbThHZy8ySEIyTXNBbHhWVEVGeGhqcjVwU3A1cFNuekxqWFdxcTJtRFpUSFpaMitHLzE0Y014ZGQwYmM5THZaR0hqSTF0alBWZUlyU1NXMUN6YnlIL1dpcS8xaFlib2Vac05OZ0pyeG03bmxvSXNzVDF2UDArcy8zMyt3ZlFKZnV2WVk4VEN5bnl4RUlWOVA0UG41dUJOVm8vYlQ0QUFBQytiV3RDVTNpY1hVN0xEb0l3RU96TjMvQVRBSVBnRWNyRGhxMGFxQkc4Z2JFSlYwMmFtTTMrdXkwZ0IrY3lrNW1kemNncU5WalVmRVNmV3VBYVBlcG11b2xNWXhEdTZTaVVSajhLcU00YmpZNmI2MmdQMHRLMjlBS0NEZ3hDMGhsTXEzS3c4YlVHUjNDU2IyUWJCcXhuSC9aa0w3WmxQc2xtQ2puWUVzOWRrMWZPeUVFYUZMSmNqZlpjVEp0bStsdDRhZTFzejZPakUvMkRWSE1mTWZaSUNmdFJpV3pFU0IrQzJLZEZoOUhRLzNRZjdQYXJEdU9RS0ZPSlFWcndCYWVtWDFrZzdRUllBQUFLdFcxclFsVDZ6c3IrQUg5WHVnQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBZUp6dG5ZMlIyemdNUmxOSUdra2hLU1NOcEpBVWtrWlNTRzZRbTNmejdndEl5Vm12SGR0NE01N1Y2b2VrQ0JLaUFKRDYrWE1ZaG1FWWhtRVlobUVZaG1GNFNiNS8vLzdiNzhlUEgvOGR1eWRWam51WDRkbjU4T0hEYjcrdlg3LytxdmZhdm1mOVZ6bXFETVA3Z2J6UDR2YndsdjY1dTdhTzFXOG5mNjVIVncxN1BuNzgyTmJWU3Y3dS8yeC8rdlRwMTk5djM3NzkvUExseTMvNm92WVh0YS95S1Nvdnp1VVk1NUZPL1Z5dTJzK3gybS81azNhZFcybGFYOVd4WWM5S3pwMytMenI1Zi83OCtkYzI5VS8vTGJtVURKQTVNbUkvNTFUK3lCU1oxLzVzRi9ScnppVS90eFBhQXVVYjl1emtYekx5K0svbzVNOHg1RUovdFF5UmM3VVY5MW5reHpYZ1ByNDZoajRBeW1NOU1lelp5ZitzL2svNWQrOE02SG5rWG4rckxTRFgycllzL2N4WXlkOTZBT2o3bFo1MXc5QnpUZmtqMTVKVlhlcytTRi8zbU1CNStGbVN4M2E2SWR1SjlZemxYMjNFYVF6L1VuWGkvbk8wSDEzTldKeHRINmRmWi9zcFdWbmVLUS82YmVaZDEza3NsN0tzYmRvZ2VvWXh5ZXFhWVJpR1lSaUdZWGhGR01mZmswZXcxNmYvODI4djcxbnkzZm9lWE9wcnVqYjFybmlFeStqdGFnZlA1bWRJbmZDVzlyNjdsdmZ6bmZ6UDJQR1BmSVo1bnZkMXZzUXV2Wlg4LzRiKzh4WmMvdlN6WWMvRHBvNU5KdjEzNmR2REYrUnI2U09kejVENkpEL09YZmtEVGVkdnBJeGNqLzNJdml6YkwrM2YycVdYOHJjZjRsSGJRTXJmZmpZZmN6OHBmWW5PTExrZ0cyeSs3T2VjOUF2WVoxZ2dJK3gyQmVkUjU3UVBrL1pudHgzYURQZENucGtXOHU3czJabGV5dDkxOUtqamdhNy9BM1ZvdmVDK2JUK09mWHRkak5BdWZzaDkwSFpmOS85S08rdDQ1Mi9NWjByMjYvUlpYWkxlcyt0L1FMYnBBeTdzcXltWjRXOXhmME9XL0wrVFAzM2ZQa0RIKzFpZndNN2ZtUEluTGZ3QTVOUEoveWk5VjVFL3ovYjZtN0t4dkl2MHhkc1g1L3JlNlFiMGlkc0p1c1c2R0hiK3hwUy96K3ZrVDV6S21mUlMvcHpYK2NQK2R1eGJTejliUVgybFB5MzlkL2J0NWJYVWJkSFZrZjE5UEVmSVkrVkxoSlcvTVgySXZLZDE1ZkY0NWt4NjNxWWVIbFgrd3pBTXd6QU13MUJqVyt5Yi9Edyt2MmRjUGZhQUdXTy9IN1o5OGJOTnZvc0x2UlYvdy96RFoyZG4wK3I4NE5ZSjZBN0hoT2Zjd1BRdFFsN3I4MnRmWnovTThxQ3ZSaitjbzdPcklQK1YzZGQyTUh4ODJJN1FHOWgvUGNlblNMOVF4dTdiWitkejdMZmpMOGRvSDlpUjhVa054M1Q5M0g0WDEzdVI4dWY2Ymw2bmZZRzI3MXJtK0ErNmVVU2U2NWZ6eit5Mzh6WG9pT24vNTFqSmY2WC9WM2J3OUtXblR4MGJLZTBpKzdGak1NNGN5M1paNEpQWXhRc00vK2RhOHU5OGZ1QzVYeVV2endVc3p2Ui9jRnlBeThtNWVjNnc1MXJ5TDlESjZUc3ZlSVlYMXVIT2MvWDhYK2tHdHprLy94MnJVTXpjcnpYZHUxenRXNzNqZVh6ZTJRSVl3K2YxeEkwNG5kVFAzZmlmWndEays3L0x5ckZNZStRL0RNTXdETU13RE9jWVgrQnJNNzdBNTRZK3RKTGorQUtmRzl2Y3hoZjRldVFhcThuNEFsK0RuZnpIRi9qOFhGUCs0d3Q4UEs0cC8ySjhnWS9GeXVjM3ZzQmhHSVpoR0laaGVHNHV0WlYwNjRZY1lYOFNQMnpFOTE1RDQ1WGZFWFpycmF6WXZTT3U0UDNjZm1YN2tPNHAvN1F6UEROZTF3ZmJHN2E1d212d3JHUnMrV04vd1NhM2Frc3JtNXpsYjM4aVpmTDZQQzdqeXA1Z204SHFYaWd6ZXN6eXovYm9kUXFmd2FaczJ5czJ1L3JmZHJUdW16eVpodGNRdzYrSERiNXJOMTMvTDJ6VFl4dGJZUDFQMnZiNTBHNTl2ZGZuOHBxRXErOExrVWZLMyt1T3NRYWExOFI2ZEpBUnVGNTIzK1F5S1g4L08xZHR4bkwxTlozOEhXL2tZL1lmczUvK1NYcnNQL3ErbUkrUlQrNzNlbmozakh1NUp0akhJZnVGWmJsNkx2NnAvTHY5bmZ6VEY5VEZJdEd2MGUya2YvUU51ZDB4L0JUVzgrVEI4VWRuMS8vdGV5dlNqd08za24vWEhtejdkendCL1QxOVI5Mjk3TnBHeHFpUVh2b3BIL1dkZ2Jic2Vra2RjT1JIdjVYOEM2L2pTK3dBck5hY3pudk5lOW5KMzJYSTd3djdta2VWZjVFeE11bkgyNjJ2ejNHdnA1bHBkVzFtRjVlVFByOHV2OVgrM1gyc3JzM3I4cHl1ZnA1aDdEOE13ekFNd3pBTXNKcGJkYlMvbXl2d04vaFRkbkdzdysvczV0YXQ5bm5PaGVjS0hiMC8zb0tSZjQ5OUdMYWg1WndhV1BubmQrM0Z0cEhhZHN3LzMrV3czNm53OTBUdy80R1ArVnJiay9BdGNTK1dQOSt6OFQyLzZqd1J5OHgrdG95Ymh5UDkzOW5tcmYvWjVycyt0dFBaUm12L2pOc2ljZjc0ZXJBQmNxMi9VZWh2Q1RuR3hIS21MUGlJN3EybmJzMVpXenNjN2FkdjVqb0JLWDlBRDdndFlOZW5MZGczaS93b2U4NGJzZCt2bTFQUzdhZmQrcnRBcjhLMTVkLzFuMHZrN3prZjZPNzgxcUMveWJpVGZ6NFBPcDl1d1RQcEZlY0tYMXYvWHlwLzYyMTBzR050N01ORFB1UnhwUDlUL3JTTlRKUDRFTWNJUExJLzV4SThicUtQMGE5dUlmL0NQajMzNTkwODhydzJ4Mzg3K2VQSHEvUnovUGZvL3R4aEdJWmhHSVpoR0laNzRIakxqSmxjeFgvZWl0Mzc2bkFkZU9lMlB6RFhpN3dYSS84MW50L2crSHJteDlHUG1ZTmp2MTJtczdLaGVBNWUrdXBzaC9LOG9KVVAwTWNvRTlkbStiSC9PbjRmbjZiTDA5bWpYZ0Zzb0drUHhXN25OUm81cjdPcEY1NVh4ODkrdDF3N0ZOcy9kdjV1anBmdHUvYm5ralpsekhLbDM5SDl2L05WWWxOK2R2bW4vcU5ldWZkVkRFODNUeWpwZkRzcitWUFA2VWYwL0RSOFA5aG03UiswLzlEM3Rpby94M0tPbC9kWGZzOHl6Mi9GVHY2VzJaL0tmNlgvVS80NS85ZCtaSTVocStlWTUvTHUxb2ZjeWQ5dEZFaUxOdmJzYmNCWS8xdi8zVXIraGYyUWZzNXpMdU1TMmdONW5OSC9rRzJETk5tMlQ5enQ3eFY4UWg3L3JXVDhudkwzK0MvbitOa0htUDdCWWpYKzI4bS95SG4rM2ZqdlZlUS9ETU13RE1Nd0RNTXdETU13RE1Nd0RNTXdETU13dkM3RVVCYVhmZzhFSC80cTFzNHhRRWRjNHArLzVOeEx5dkRlRU45eVMxai9tTFZ6TW4vaXNTamZwZkxudW81SzYreTNGcm80bEk2TUp6N2lrbGhBNHBhOERzNVJyUHRSL1JwaW8rRGFjZlNPbmZKM2VJa0w3R0wzS1pPLzYrNjRYOHBMZkpXUGtYYk9GeURlM0RIbmp0Vk52RFlRYXdobG4yVXRNc2ViNy9vMStaODVsL01kUDB0ZWprVzZwSDZKT2ZMUHNWSHZzYTVacnRkR3VUaVc2MzhSRDA0LzVYNDdPajFLUEpmdjI5LytvUzNzZEFEeHVzU1NlVTVCM2h2SDZXZTcva1AramdsYzRmdE8vZUpZeWt2cWwzTXBKK2xlUy85blhIN2k1eko5bXpidGZkU3p2N2ZoN3ltNUh0eHVYVSs3KzNMZUhWNGJ6UGV6YW9kK2hpSzM3bnNmY09hNTR2a3lPWGVBTnBRYzFTL1FMaHlmZWkxMjdUcjdLLzNILzZQenNrMTczbGVYSHYyUCswcFp1YTlhOTYzSzZyV2lZQ1czakEzdDBxUnNPWStGdkJMbmxlMmV0cGtjMWEvUEkwL1BWWG9yNk1GVi96ODc3djBUK1hPTzU5eGttbjRlZHZIZ1RyZWJoMFNkNXpjcUxsbm5xeHNyZGpyVGVXVTc5UGc0eTMybWZ1bi8zWHlGdDdJcnc1SGVoVTcrT1grajROM0FmWlY3UXNhZUkzUUdyK21ZMTNqdWtPUFZyWE9QV01tL2E2K01VNndmVnUyYi9DL1Y1N3QxU2oxdjZneEgvYi93UEl2VnUwd24vNk95ODB5czhqb1A1RVJkc2piY2FxeG1uWm55WjB5WTZ3UjZuUyt2SzlpOVczdU9tZDhkdW5MdzNVUDBUYTVaMTNHbWZ1SG9XN3NjZTQ5NWk3eWpydkxOZVJvSll3WElla0cvcDk3MHUvU1IzanZUN25mdmhLdXhnTWM1bDZ3VGVzbHplbGUvbFB0SXJweno3UE5XaDJGNE0vOEFvSUw2SU9DL0phTUFBQTdYYld0Q1ZQck95djRBZjVLQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUI0bk8yZGpaRWNLUXlGSFlnVGNTQU94SWs0RUFmaVJCeklYdW5xUHRlN1owbEF6OC8rV0s5cWFtZTdhUkFTQ05DRG5wZVh3V0F3R0F3R2c4RmdNQmdNQm9QQjRELzgrdlhyNWVmUG4zOTg0anIzcXVmaWM2V3NBR1g0OThIL1VlbjVpdjR6ZlAvKy9lWFRwMDkvZk9JNjl6SjgrZkxsMzg4dXZuMzc5anZ2c0RkbEJQVDdSMGJVKzdTZWxaNVA5YjhDTnRIK3J2WmY5Vkg2ZHBXbWs5ZnQzL21kWFZUeXJPUUVYUnE5WHFYTHJtZnR2SHMrY0dybnEzcnI3Qi9sYTk5MXViUnZleDZhRDNrRnF2NnZlV1gxanZ1ZlAzLys5M3ZvTGRMOStQSGo5NzE0aHJxb0x3dEVPcjBlNlRORS9wNG04b2k4dVJkbHExNUlGOWYxZWVxZ2FTTXZUMGNkOUhyOGpjK3EvOGZmcjErLy9uN3VDanI3YzAxbDBmSWpUWlRQTTFtZkl6MzNNdnU3REZHZTJ3aWJ4OS9RbWFhSjc0eGJYSE05UlJxZDh6aTBmVVUrcEVjWHlLbnBWTzc0b0F2YXNzb2QxMVFmcW1jdG4vRjkxLzc2ekJXcy9IOVdadGIvNlgrZHZJSE0vdXB2cUZOV2Qrd2NlbFo5MFM3aWd5L1FQcWgrZ1R4V2NuYTZRRDdLSVQvM0ZWV2QvZm1Rejh2ZkdmL3ZNUmU0eGY3b1BQb2o5ZTdrcGY2Vi9YMGQ0c0MyMkQzK1Jsc2dmLzczZm9hczlGSGFpMEx6b1U2Wkx2QzNMaXZ0a2JsZVpYOWsxT2U5L0V4dksxdGN4UzMycHgxcnUrL2tEV1QyVjMrSDc4MzZLSDNkL1kvcU51NXgzZjBrdmlPelAzclFOcGJwUXRPcHpXa1h5Ty8yeHoveVRQemxHYzAzcmlIak0reFBYMUY5MEo4QmRmWHY2bThaM3h5YUhwbnBXL285bnFVUGRHdWx5SXY3K0UzQS81SEc3eUVuZlM4RDljYUhaTHJRY2pMNXlWL0hRL3FILysreXFQdzZsNm4wNmJvZERBYUR3V0F3R0F3Nk9QZVgzWC9OOG0vQlBiaUVLemd0OHpSOXhkdWV3bVBseEtWWXoyUnhnWHRpVmY3cTJSV2YxbkdZajhLcHpxN291T0p0N3lHcnhyYXJaeXJPcXZJZlZWeDZ0L3hiK2JSSFFlWFdQUk5lcHl0eWRmSDhlN1hyVEZibDFmeitDZWRWcFQ4cC8xWStyZEtUODRiT0tmb2VCZWQ0a0lWOG5BTlo2YXpTZ2NZVnUyY2VhWC8wNDV4Y3hYbHAzRjVqNWxYNjAvSnY0ZE1xUFJHakM4Q3p3dk1oODhyK3hPMVVGcFd6MDFtbEE3VS9jbWJ5Wi83L3loNmFFL3RYbkpkejFzcTlWaHpaYnZuVTlTcWZWdGtmN2xqNUkrVVVQZi9NUnNqYy9YK3FBOCtya24rWEsxdWhHcXZnUnZSK3hYa0ZTS3RjVEpkK3QveGIrYlRPVDlLSG80eG9EL1ExbnQyMXY0NFpudlpVQjZmMnZ4WHFiK0FhbEhldmZGTm1GNjc3M01IVG41Ui9LNS9XNlNtenQ4NDdHUmUwN014R0FlVVdzN1E3T25nTisrdll5Y2YzNGlrdmlFOVR6Z3Q1c3V0VitwUHliK0hUTXQ3T1pRUEtLVlpsTXlkM3JwVG5rV2RIWjVtT1BlOUsvcTVlZzhGZ01CZ01Cb1BCQ3NTK2lQbWNnblVnYTVoVkxLcExFM1BiSGY3bkh0aVJOWUJ1SGxubXJpejNCdWRpV0hkN0RIOEY0aCtzdjNmV0p0MzY5Wm43R1RPdVVkZVVnZmhPclBCUlpYYlhId21QWFFlb3I4YTN1dmF2WjJOSXIvckxudWNaN21tOW5mZUtlKzZYOU14QnBqT2U2ZlJKZi9NNGhzZG9zL0ozOHNwa3pOSjExM2ZMeVBTNGcxVWNTZmZrVitkeGxJUHdPSzN1MWRmblNhTStCNTBybDZQeFFPWHNsQTl3bWZRY1VjV2Y0ZlBJUjJQK1dwZXEvSjN5WE1hcXpPcjZqcnpFRzFYR0U2enMzNTIzQkYzTTB2a3YrRHJ0LytqS3p6Tms1enZKcXpwblFqbklVcDJOeVBUdmZFZFhmcFdYN3RkM0dhc3lxK3M3OG1aNlBFSEhqNUhmaW1mczdGL3BmK2RzRWZuNnA4c1hlZEQ5anMvUy9wN0Y0clB5UGErZHM0UlZtZFgxSFhrelBaNGdHLytWVy9RMlgrMzd1ZHIvTTExVi9WL0w3dXp2SFBTcS8ydmVYZit2NW45ZC85ZXlxektyNnp2eTNtci9nSTR0UG9iaG4zUjg2ZmdybDJrMS9xdmNiditBbnVHcnpwOW51bHJOV1h3ODlURk9lY1dzZkVVMy9tdjZxc3pxK282ODk3QS85YTdXLzNvdmE1dmMxejdrUEpyUC96Mk56cEY5VHAvTjVic1lnYzZGK1o0Qkdmdys1WFhsVjNtdFpLektySzZ2MG1SNkhBd0dnOEZnTUJnTUt1amNYRDlYT01CSG81TEwxeDhmQWMvaUFsbTcreDdNMVRxQy9kTFBSQlZucS9aanZtYzhpd3ZNOWpJcnNyaUE3dG5WL2Y4bjYxZTFGYkUydlo1eGJ0aWZlNTRIY3VoMTV5SjN1RHpTVkd2MHppNlpIdlJjb0hLa2xiNXU1UnRQNFB2djFUNVY3SStZRTM1amh5TlVQNlB4SzY3cm5ubjI3M3U4VWZuQ0xJOHNYcDF4UmgwdldNWDdkamk2THRhcFp4UGgxek45N2NpNDRnSlBVUGwvN0k4TWZtNGw0MmhWQjk1SE5BNm41L2dvWC91RmMyNThWMzFVWnlaNFhtUHI5Sk1zUnUzOWhiYkgrUld3dzlHdHVBN3lxL1MxSytPS0N6ekJ5djhqSzMwdjQxVjNPRUxPVW1oZno4cnY1TkY4dXpNeklROXRsbkpjTjFVNWpHM3EzeWg3eGRHZGNKMlp2blpsM09VQ2Q5RHBXL3VzK25pdjZ3NUhxTysxelBxL2p0OWQvOSt4UDJjNzlTem5idC9TdlFQYWIzYzR1bDJ1czlMWGxmNnZ6OTlpZi9mL3lPN2pQL3JIVDFicHZEMzV1RnJaWC9QT3h2OGQrNk1qdjNabC9EL2g2SGE1ems1ZlY4Yi9uYk9PRmFyMXYzTGVXVXlBNjlwdk80NFErYkNmempHelo3STVjRlplbFVlMWZqNlpXMS9oNkhhNFRrKzNVL2NkR1o4Vk14Z01Cb1BCWURBWXZIL0E1K2phNzFHNGtyZStXK01lNzc3WDJNQUpkbVYvVDF3VWExNDRBTmFVajZnRGRqd0I2MXBpZXJxdnN0c0hYQUdPNFJRYVQreHdwWTZ2QldJV3ZtNGtmaGJ3ZmF5K0RzZHY2SHFWTXhqeDBaZ05iVXZqQytpcjQzWlZ4czcrWFY2N2FiUk91Zy9lNWJoWEhVSDJ1eU8wOTNpTzY1U3I2UUtSNW1yZnluVEU5ZXdjQzNFTGpiTTZCNk8vejBVOTBBMTZKZGFGMzNINUtVTmo4ZFZaQWJWRnhkSHRwSEdadEs3S2VWSkgvUzJoSzNVTUtBOUxYQS83YUt4UTB4RW5wZHdxWHRpaHNyOWVyK3l2OFhIYVBXMFNQWGw4Uy9QeStIYkZxMlg4aWR0Yy9aaHl5SXFkTkFHMW44Y2ZQWTZiOFh0WDZyajYzVEhTKy9zRW5UczkzYmZsOG5nYzJ1c1RjUHM3YjBBKytwdVV5SmpwQmxSYzFJNzlLeDVEc1pNR1BTcnZtY21yZkppL1IvQktIVSs0UThybEExZGQrWllWZUk0eExyT1o3N1dnRHpsZlJaL1FzYW5pRGIzOVZ2MXh4LzRCOVgvSzR5bDIwaWpucU9PZ3lwRjl6K3kvVzBmbEJQSDVIWGVvbkovdXg3b0NIZHYwNDNzdDRvTnY5TDBjM0ZNZFpOZVZYOHVlNzg3WGc4cisrRExsMUIwN2FWUW1uM2NxMzg1MytvZTNtWk02QnRRR3VxZkh4MmZYcmJhVFUvNVBvZU1IYzh6czNtcVAzZXE2N3lWYWpWdCtYOHV2Wk9uV3JyZWs4Yklyblp6VzhmUzV6SGRkMmY4M0dBd0dnOEZnTVBpN29Pc1lYYy9jYXg3WjdVbU1kWkMrSzJXblRGMnJFdS9PMW9MdkFXOUJYby9uc080N1BVZFNvYk0vbkFEcGR1eXZzUmJXT3p6M0Z2UjVncmNnYnhhUEpFN3VNUnZudElnOU90K2xVTzVXNHhVQm5uV2ZvenkweHlBOEpxdjh2K296UzZ0NUUwT3B1Qmd2Ri9rMGxxTWNjc2NwYVQyMS9pb3ZmTTZPWHBCZHkxRzVUdENkTVhHT1I3a0lqYVYzUHNPNWUrV1Y0UXM4UnFyMTgvT056c0ZXL3A5eXNqSzlidG5lYkcvLzJJM1lwOGQ4c1cyMmI1dTJBaWZpY1dMc3JlMmkwNHZMN25LZFlHVi83T3BsWnJIL0ZZL29OZ293QjZoc2VwS2ZjMEhlWDdLOHF4aXc3Zy9TZURleDF1eTNveXJ1VlgyTjdxMVNyaVh6R1N1OXVMOURyaE9zL0wvYlgrY0p0OXFmZmtsYy9WSDIxMzZ4YTMvOEJubXB6eU5mdC85cWJ3ZCtSSGxWNVEvQXJsNnErcDVnTmYram5uQ011Z2ZsRnZ0cnVlNkhiN1UvT3FRYzFjdXUvY2xEeHc2MXVlNTMyY2tIZjY3OG44dnJQai9UUzNiUDVUcEJ0djd6ZlVVNnQ4ak9YNnR1SEN0NzBmNTEvOE05N0svenYrcmNjcUN6bS9keHpaTyt6TE5kUGo3L3kyVFJmUmdydmZqOHorVWFmRXk4aGZYaTRQVXc5dis3TWZ6K1lEQVlETzZGYlAyM2ltV0F0L1N1K1k1bk9vV3UxN3J4dG9xZG5tQlgxL2NzTTh0UDR6K3J2WkVCWFplK0JWdzUrMUNCK05mdWZzMWJzS05yVC84SSsxZjVhZXhIWXhWK3hpbmpDQjNFTFR5ZURuZW12Qzc5anpOeHpIMlZEK09lZnlkMnFuWHdkeVJXc1pLc2JocVQwWGJoOGlpeWNySzZ3dis0cmpXTzd6S3B2WWhUTzFlNGk4ci9hNHhmejB2Uno1VHpyVGhDTHdmZHdaMW8rZWhGejlXZ0g1Y25pem5xZHo5L1N6dlNlRHJ5ZUJ2d3VnVThsdXg4UUxZUDIyT3p4TSs5cmhXSHAvbFcrdUI1NHNZVkI3dGpmL2YvUU51V2psTWVkODA0UWdjY2xmSnhyc1B1LzEzN294YzlqK2t5Qi9Sc2owTFRaVFpXZldYMjk3bUlucTJyOGxMOUtMZlk2Y1BMNGQ0SlZ2N2ZaY3IyV2xRY29ldUVOTjM3SCs5aGYyU2lyV1V5Qjk2Uy9TdHU4Vm4yeitaLytFTDFsN3FQQXA5VWNZU3VVL3gvMS84RHUvNE8zNVRwUEp2RDcvaC9yVnNtenozOGYyYi9qbHQ4aHYvM0QvWDNjN0I2N2xEbktSbEg2T1hvMmNHcWZYdGExNFhPTTZ1em1XNDN4V3IrRjNEN1YvTy96bmRtNVhUMjc3aEZ2M2ZQK2Q5Yng3M1hPNFAzaGJIL1lHdy9HQXdHZzhGZ01CZ01Cb1BCWURBWURBYUR3V0R3OStFUmU5SForL1NSd1g0VC82ejJ2YlBIMHQ5cEVXQnZUUFo1aEQ1MWI2bkQzMmxjY1luc1MvTjhmZjhJN3dEU0QvczNuc2xUZG5VNXpVZjM3ZkdwN0srL1k4SytJL2JaNlQ2M0xNOXFiL0N0OG5kNzlkV0craDRRaDlZYjNiS0hUUHNFK1QycmJWZm82dkxJTW5WZnBQYU5yUDg0MksrVzVlbWZhbStlUDd2YUc3SnJmOTdMUlByNDM5K3hvZlovYmJ5Ry9mMTNCOVErOU1NTzdDT3VvSDJwMjhzVzEvVzNSVHFzN0UvYm9VODdQUCtzLzNPZC9IbVhtKzZoMUgyYkFkcWJ2bXVKZlg3NmpPNngxWHkxVFpLRzd5YzRHVU5VRi82dW9heHZLNmhiVjU3NmdzejJqTDM0aGxXWjVLbnY3MUdaOWYxeUovYjN2ZTVjNTMrdEorZVNkSnhVV2JqUGQvU0t6SG91UlBPbFBhamNWM3pUeVg1eFBWK2h2Z0I1cXI1TnU5eng1OW5aQWMzSDk1YXY1TWVQYS80QmRLZnZZbE05TXViN2ZLWFNzYzk1dEU3YVgzMVByKzVsMS9tVTVwRzkyNC8yNFAzd2RFemduRk0ybjNGZ1EvL3R6R29jWnYyME01WWp5K25jc0xNL2V0VXhDLy9wN1VqdHIvNWQ5NXFUNTRuOTlWd2k3VmZMek41ZDVmT3N5djc4VHp1K01pZEF2dXpqUUg1MFJ4dk8vRHE2cS95cTUzdmwzWFdCeXY3cU53RnRNWXNWNkpsUlhkOVFWNTBmVnVjYk12dFRybzdsZWwzUHBYcWYwbk1mbmYyUnlkdlhNOURGWFhibkZwSHVxdHpkZUhmU252VGRPdHFYUHRwNWlzRmc4S0h4RDRna2FxTHJkNzBXQUFBRWVXMXJRbFQ2enNyK0FIK2lOZ0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQWVKenRtb2x0NnpBUUJWMUlHa2toS1NTTnBKQVVra1pTaUQ4MitHTThiRWpac1dUNG1nY01kSkRpc2N0RElyWGZLNldVVWtvcHBaUlNTdjNYOS9mMy91dnJhMHFGMzRPeUhwZE0reExwWDFOVm45MXVOK1h6ODNQLyt2cjZjMzdMZGFjZVZkWXRWYjUvZVhrNTJHUHI5Syt0OVAvNysvc3ZTbldzZWorai8ybjd6K0QvbVQ0K1BuN2FBSE1CYmFPdUs0eDJ3WFdGMVpINEZjNjlXWnAxekRpenRQcXpkVTRaMGora1YxQSt5akZLYzZTS1YybFcvK2Y4a2YxZmRVdndSUi8vaWMrNGlDOXluTXo1bzhLSVgrS2FaMHVWVjEzWHNaNlp6VVZaSHZKamJNcnpMRnVtbjFTY1dSdEl1MVMreitEL0RyYWIrZi90N2Uzd2pvaDllS2IzeDB3amZVR2JJTHpTNHB6MlIveWVWaDNMTjd5WGtWNzNmVDZUYWRLZXVySXQ1eHo0NlA2ZmFlYi83RHQ5bmt4SytMRHNXTzBteDFUS1VQY3ovVlRlSTYvMDM2Z2RaLyt1OEVvZkg5YjViQTRnSG1Yay9TZnZQWXJXK0QrRnpaaHY2ZWY1Ym9EdHNXSDI2K3liOUwxOE54aU5GZmsrbXYwL3g1RDBWWllseXp1cjd4S1BvcTM4ankveGJmYTFuazUvTCtqalNZNjEyZmRtODFIV2cveDZlOGp4UE5Oa3pPazI2V1NaYnZrNzZLL2F5ditsc2xHK0E1WnQrM3Q3OXpYdEpQM0Erd1JwMGFaNDVoVC9aenpHSlBJaXpWNitKVDNxL0srVVVrb3BwWjVUbDlybnpYVHZaUy81MXBUcklKZXdZWDBiemI1cit2ZlVYN1gyZWJVL3JEblVtc2xzelhxTjB2OTliU08vODBmZi9FdHJJYXliOVBOcktNczU2a2Y4NHpHN3Y1VGU2SHFXMXl5dFViOG03bXpOYVZibXY0cjlzdHo3STEvV1BQS2M5c0l6dWM2ZWJTVDNYamxuRFpkN09TYXdkN01tdk5zNnk1bnJpWFdQOVdiV212cTZVb1gzT3RhOVRDdHRWOGYwR1pCWFhxTWVwOFI2SmZkSmw3M3VwVEtmbys2WGJHK2ovczlhRzdabVA3NXJOUFpYdk56SExlZ2pyUE90Q1Q5V0wreVhZMTcvdHlIM0lSQjdHWFhNdGNxMFZhYlo4eHJadC84VFFaelIvWkgvUjJVK1IzMytQOFgvR1gvMi9wQjI0cHk5R1k3NE0vL0pXQk4rYXIzNm5KZDdBdmg2VktmMFFiZFBYcy95eXJEUlBoUDNzejl6blhtUHlueXV0dkIvMzBjcG4xQ21QQzh4MWpGK01wYlJudGVHbjFJdndoZzMrSThBRzlPK0VITnQ5MzhmYzNLUDhwai8rWDhpOHlqMSs5My9zektmcTJQK3o3a2RPL1Ira25VdDlmRXBmWU8vaU1zOHRsWDRNYnRuR0xiay9Ucm5ZY1p3NG1MbnREVjduZmd6OXlpUGxZTi9hL0VoYlNkdHlwN1p5UCtqTXAvekxzaCtXOVlwZlVmZnpycGlqOUZZUmR4TXIrZlgvZG43d1pwd3dwYnFsV0hVZzdtayt6Zm44dEUzR00vMzUwWjU5VERhUU4rTFRCc1RQL09lbGJuM3RVdG9hYjFBUGI3MHYxSktLYVdVVWtvcHBaUlNTbDFOT3hFUkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJHUk8rUWZoNWVPYXRrN2pwd0FBQUZUYld0Q1ZQck95djRBZjZXRkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUI0bk8zVzRXbURZQlNHVVFkeEVRZHhFQmR4RUFkeEVRZXh2SUVMdDZZaC80b0o1NEZEbTAvNzYwMXN6bE9TSkVtU0pFbVNKRW1TSkVtU0pFbVNKRWtmMFhFYzU3N3ZUK2M1eTdWMzk3KzZUL2R2WGRkekhNZHptcWJIeit3WS9TejMxTDExRnN1eVBGN0hNQXgvdm9kMDc3SmpsWDJ6WVhhdHpmczl0WC9WTjcvK2plNWZ0dXQ3Vmpucm4rVjZuWDM3eHRtL3VsN1QvY3R6dnU5Zi85Zm5lWDdhUDlmcy8zMWwyM3J1MSsvYnR2MzZ6UGZudi8yL3Ivb2UxL2VyOTBDdTFYZjduRVhWbngzWGE1SWtTWklrU1pJa1NmcjNCZ0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQStFQS9Ddm1zdUZMYUttWUFBQUVGYld0Q1ZQck95djRBZjdHa0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUI0bk8zWDBRcUNRQkFGVU11Uy92OXZJMkpxUVVrR1g0SnNsam9YRGpqcnk0V2RCeDBpWWtoaTQ0ei9zRTUxRitwMm9Mb0QzM05JYzh4bll3ZmQyTjh0elMzcm5iaDIwSkY5dkpQcXJuemVtTzcyUE0vVDB5VmVPM0xxb0N2N09LYm41YjZuamZmOHZ1aWdBelhhdDJETHZZTXUxR2pKLzRRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEwRHdBbldob051d1pVQm9BQUNvWGJXdENWUHJPeXY0QWY5VHdBQUFBQVFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCNG5PMTlLN2pzS05iMmtrZ3NFb25FSXBGSUpCWVppY1FpSTVGWUpCSVppWTJNakl5TkxKbC9VZnVjN3A2ZTZmblUvOVNJV25QcFBsVjcxd213THUrN0xsVG01MzAybmdEYXM1RXR4dGRHWUlland3SndYY1VGYXdEZmhYN0Q4MklkNElFS0VBRzJDaHZRbmlUQmQ5MlQyYkdFd2ZITmZIUDg4VU52QUpXYjNVRXIxWEV6dHI1c1R4VVU0SGlkUU9FbzZURHdZYm12S3ovM0NSS2czRlFzcEYrTkE2ODNnYmh6WEozYjNzK1lYa0pzTVNuOFF4SHpsZElQRHl2VWE5c283a1o1VGlJNDlaWmtVRVBNWHprV3lOSStUd1l3Sm15ck5MaVBTVzByL3U3cmJwQjM3dHRIRjQ5eXhiRDRqWm5nQVR4UnFvTnhDUS9SRkFrcnI1ZXloVWlUZlF6Nm9hN0JaYUczSFg5eGo3bXVmbjZDV3lrdW96VmpnNGsyTE5iNnVNWEF3WUp0RHA0ZEJIVlBvUGp2cURsd1hQalQvVHd2R3c4dlA3ejh0N2hPeERvU25wTk53cHNGY0NtMkZTQVY5c1NjTFJ6VkhqSnd3Q2NQaDNWTGNXQUN2clROWDdmZzJ1YkFIOVV2dUpuN052dzBIVHgrQUlVTHRCNDNOMVBxRzRISDRVN2QxVUpSMStIVzdmUHJwNmlVZFUzZzkzdVBqdnMxeUNVdVFxWk95WW9MR0dzNkdBbHJtMDdBdkcyQk9kZ1AvT2NDS3FkMWdWWEZmREtvaHRrbE85SHZFWUdicXgyNFhVYmhZZGVTS2M4THFsSkZKVWhYWXpCTlp3UEdQcnY0S1M5MGFXaVRacGoxMVFuUnVGaUdQc3JLSEtnU3kwWEx4ZkxqS1JXVzFEd1BMT2syOW5NMHhlSEFmOVkxbTNyZ1l2QS9wS0pLSC9EZzlsd2JQQmxQSEUwbFR5TW9OK1EyNERxbkZqMEpuYXJxL2RPTEIxbEJvL2ZDZzBnTnRxc0lrRXlnY3phYnpnTk5nMWpxeVBsQ1kxaWRKc2VZU3IwVGRBUmx1eTdLOWhMOHFNOEpNeTRZYW1Vb2xNOC8xRHcvblMweDZTUnduVThCUFFEOWYzZ1VHaEtNQy8vYS9Ra2ZYVHhLZE1LaHQxWm5tNXBnZkVrc1BPUzRsWDNnUnZNT1VXcGQwRzhsVzFCaDBmMEJpRGI5R0ZnU1diL05QT0VYcWo4UXFGbHZhQUNBUnA0WC9EQTJOK0dCclI4MlNrYnhsMGRiOElVRmQzWXBtczgzUHl3YzVFQjNqZ3FOQm01TjRNZW0zUk50ekFYS2F6NC85ZWpKVE5wcTd3K3pGVDJBM1EvYUpYZURXb2hwZWtaVWVBYUJFUFNFSkJHQnIydFE5amliUmJlUWJmTDRDV3BCVDVueDFOZjYzb0Nybmh3K2Z2NlNodVhjNE5pR2tib0c2VUk1K3JYaUNZWUwxcVFDT0ZXdHEwc2NEa1BEZHJScVl1c1BUQXZvNWVkRHZBTHZnSG12QmFFTDV4Nk5PNlJ0RjJvTFVDN1VCU0NYK09QdlJHdnhGY0xxZC82aFZmOUZ3c0tBTS9UY3FNR1VrWldTT0hqclZjQ0ZTc3I4dVhNU2o2TVNpWjVjaExNSUR1akpuNDRyT3daOUJ3UnpyUmhHRU9NZFVTZ2VTMG10N3ZlbVdOMmJoTWFvQ3JreEM4djYvaXRMai9xbzZHUllqQjlkTzByRW80N3ZZd2lJZUNTZHAwVFIxN2ZlRHhDZW9oTllZR25YSGlEc3FPdlJFRUJzekkvN2NtNndiU1NCcU1aZTF6bk9oTzk2UWtmUG5xQlJQUlhHYm1ZUTVHdUVST3IyckdVN0NqeW8vZmdXWWRQOFBpeTE0cUtlbTJyRzcydUhNRUtmVzNBbzllSWt2eDBBdW9mSG9KSGI5c3h3L1RRTWJzc1p5M0ZnbEZqR2sva0orbmJQdGZib0dOa3VlUFZJYm96N2pXOXluMHErZ004MXJQSEI0UDlJNEJ4MXFZbng2dXVIbDQ4TFp1Q25GZ3p0MTlkaDdCaVZob2xiV2hjWk9qNDh4MDFBU3FNNTh3TDlBcXppSk5OeFhSVUJvUUI5UFVpRkZneHJCTkQrTThiS0dMcmpyL25wc3JwMHYxR1RQWCtDQVN3Sk44YkhCclhmdS8zczZ1ZHpEY1Era09PaU0vaTI3OTdjTmx1bTBXZVZxSmNNVWt5TjJJMnFxUGtSclQ4WHR5Z01qU1ozM1M0M1F5TitRbnNJZ2wydjB3clg0cGRWMUZjQ3NndzNtZEl4ZjJwcmZvSmxsR05IdTc5eUZzdkgrUi9RNDBUWUxoc1NQZlRMUzdUYzd1c0l4VURkVjkzSHNVMFNBL3N3NVlDUUErUDc3ZWprdkRET1hBYmE4bmgva1BPdWRzOXgzMDVhb2dzK0l3VEdEWU9Fak9CQ1JaY0ptYVVwbFlLNkpubllRWDEwNVQ5Qysrb0xXZXh0S01KWFNYRGhnY214OG9EeEM3aDh2VEtYSytqOTRGd3l0L1lnN2Q0cGtHemNPTGZXZEd3WUJSekJRRm91UXIyQW8rOFlCSlZsOFlXTGpZTlNVOS8wZ2NhRGJUNWttRW1CNmY1cy92VHlKMDROWVlaa3hLSkhNN2tsallhOEk2c3BQK2k4enlRRkFYTWZITjhKQTE4MVBST3k3VmtjeDBKU0l5MXJJbkZIVUMzUVpSTCtJdWRtcmNFSXd1RWwxcWt0ejVNekhqZnEwT1RNeURqVVRUbVpHWUhQaWhtS0xCdXM2T1JmS200N1NJTEIrc1pGRmtMR3NZWWQxbU5zdjM3NHp1Nng1dzNMblZ1RGppOXpZWjludUVrVkYwVUlNdVVzZWdQU01kb1hkSUViT3BKclRNYlQ1ODdCQnFITjdSekltUWdQNWFPTFJ5bm1ITlI3RWpmS2IvREx4VzVrcVBpazZMZnc0WlY3UUhMMVVKZytFTVpyd25lTWE5ZTl2cUVMSTdnUGExZ1habm1SRXRaRngvZWF5RUdwelVMQ09jSjFUUkN3Mjk0MFVEMjVYd1RUYkpLUXhtZFhqNjdZaDkxT2xSVFZJNVpmYnBtSFIrK2tjQU53Q3l4YWhSNFMvMVYxbXpiSWsvZkRWcWFiMDdDNDVUQkZTNUUzS255My9SaGRyM3VkL0RjMVJsenAxTGE3K25wUjJCV2dlaUhoZ3NjSENYVVZTSUErN3YvenBuVndtckxhOXZWVTJhTzdiek5RS1lqNHRGdmdYdFUyNDliYTgrTmdJQzJhWkNZUzRTbzl0aVhFd01wbVdaSTh2MTZTZzlpM1lGODJuYWpmeUh4b0hiak02d1V6MktFK2dJUXlJQmxRdWhENmNmL1hOd2NWejQ2ekMvM1ZEdndzVG5PK2FydEdtVDFDdFlyOFlBdW83WUd6bFVPbjh2WUVhWTVWa2lrQlV1bVFqMEJNeGQ4RzBxNkVpLytKSFFLM3g2ZHRZand5RTBaSWsxSnhzTEljdzdsR3ZSN2w0L2ozV0J5NmFZM2tqckwxVDIyc1IwSDkzUkMzOU5KOU9yWXFHcjdMRTNVTXhHWUYyRG9kUU1xclVraVpMZ1B5MmUrS3NEYkM4Ynl4d3phT2FwRGxBYWRqNWtkUGNFOHREUkQ2clRZZFNCZlMvZnJjeW45TG5jbEs1dHRWd003c0ZqcTZTc2VEdnAySy9jbDJQR2Q2anVPTTZBVHhJUEgvQ0RGR0tuRnRtUzA3a3cxSjhvMFVBRGNOUHdQZUh1SlA3Q2haY2czWlpHWEhDcy9KUmdiS0Z3M2xtUW5TK3RHbC81Wnl4ZGhJbGhBZnk4Rmg3TWZIMjZIb3BUNFl4aEFBTEtHVnVLOHovNHNiUk94YUNJdTVSZkhLeHE0QjBuRng4T3pZTjNBYmdUKzRnOGlNM2t1c0JwRDN4U1VPeUtja2dUc1A0cncvSHYxUnJISVlqVGF6Y0ZBRE4yQzhZWm1HdU9sZVBZUUhoUDNKVXVlMlh4ZUc5Wm16S1cyamhNYyt3RVF6SXg3Q293eThYeWNONTBuK3doM0pyWFVQell0RHdjb3RVbzF1RUdYanI0U3pzcy96SDNOemxjRHVUTS9NUE1pdEx4TzE0QnRTS1h4TWRGOHh1K255d1R4MTlYMUZDa1RJZW16QzhTUVVTTk1SRGl2dlRnZ2RYeFV5N0w5ekIyTUIyNjh0OG5KSWtWWXVvQm16cFlqMEd2L08xTmFQSjRDUjc0eVpoU2g5QytCdkNiTHRPbDNvcktmYk5xZEdhR3gzc1lhOFFJelNlc1o3TnJwUVg1ay9EQUcyRFVYckc5TGRHTkJvczZMMjM3bWpnOE4yb3VaTHF3d3YrMExwSWszUy9ySm9POERYOGZINkYrY0UwTEdoYjcvcktXZFNBbTBnd3lTc05iOHNJSlJGZzNqOEtEK3FPaE8yWjhCVjY3V0ZGMGE4Tko2WjZzQWdDZWpnRmdqenRkKzV3MFUwaklFR0laYXpjVDhRYk9TWUI1RDFRYTcxRG9pZkZsbDJ0TzV6T20xU0hxb29Sd2Yvc0ZyZmVkcEhjWVFyZHpBUktVNTYrL2JuNFhXSVdmUXR4U2FWcDQvb3dDS2lXUkFKUFNkSmh2M09IWU00OExmb0dIdTdtVzJJRzB3dmZvUzVqeG1Ed2lIK2o4ZjcveTdqUXUrdTROalJ6RUU5cUo3NDU3eXhXWm5MREh4NkJQVHdPbWFKR3lQQ3JIOXZhTGt5V0dxQitNZThTWHd4MXRocE14TkJLSHo1cDNZUVpqSEZBeE9sMWcxT1M0Q0lta3pBemFzYTJpNmY2OVByUDlKeTJWM0RjVUpUb0Y0amJ4YnkvaTVzZ0NVRWVnTGk0b0dMRGEvRTkxblM0MzVwaU9TVWcxQ3VBSWh4RUI3cmRTWTNLSVFGSFBsVk8wSUNvWkpzSUhwRzYzalhqZ2F6Z2FLTFRadjN5L0lMTEh4UVpneFc5ZGFnOW11Q2tTZWJUcnIwWXN5VUw2RWtSVTZWdWFvS1NBTkIxMm5lKzFFTFBZSjFMUjh2Vk9aUlFVUTVrNk9vMG1mVjdGZnQ4T0FsV1ZydnJseUFuOXBoMUtXazR6V1FUNjFxY3FnUHk5SHhxZmgxSWpuajFrTFllbkNEekt6V2RteWxyV3c5QzRNUWp4NFZ5YmhaN09qSGVaOFYzTDQxZEFQOWhhYlNFUXZYYlVXRGdYcWVLL3lxSGU5Tkc3RytpejZvVEw5cnh6MkxjbklNTkkwRCtlenFwL3dVTDJmOUQ1cEZ3SElTL3NCK1VJWVlwbTVDMzF1Z3JseG5XeFY3b2F1SGttY2FvK05aMndOMlVwOVhKeHVHaHdwN1JtV3diVEh2M2dHTWV3c0MzWGUrQndOTS85VTdrQjAzcUNZa2tlZitlUHBqMnZqRDBEQ2ZDNEdPbm03ZDlvbno3U1lSK3RwMXhVQTFjMFBvRkVQVnNXMmM4Ujg0U0JpRDQyVm04ZSs1eG5RTWtzNDhVRXBhLy9TT3NFQ0RqKytRK2NqYy8rZ2RvYnNXTkoxTGZLNlBJMkFPRjMwWFlaOXJFVkpPNHYrZ0o1ZCtTVlVod212eVZ3R0FnVXlNbTFyWDlVU1lCRTVMbGNHbEJmZk1vVlhqQmd5am5NL0U5LzNkTzdTYVo4d1M3MHgrWVNoZDVhL2VJVUpxZHVnbzBXYnl4L1VmbzcrNTlGeTM4MExsQlgyU1FYVkk5MUtocEtBUkJzNENBTlZuNi9lWTdocE5IKzRMcUR3M2h3eFBpN2M2eU8zS1cvZHROblh0ZHZhTzNjYzdNNDdtdFQzSS9PNTNIZW1uZDR4dUh1ajdyLy80K28rWEJLU2tNM0JML3M1Tm9xUzJwWU9vcTN2ekxnQjBDNjRpb1FQemJuU2FHajhUNE91TlpHbnhzR0xNUXphejh6Mnd5a1VKc3htZ0hxMGUxUTZGTElDbEc5R3VUOGdLc3B6MU1MbG8vbmFIeTBjWGo1STdIajI2Ny9WTlZpV2xFL2IzbThxcWlITDhwd0RBNU1JMG5VZ1lEUjA0Y3VUWjFBWkw3STJBeVhpNjdVRWM5RHJLTWczYUVXWEFMcW1zQWRmZG56Qk9QR2VkNitTRCtKa25pS2JLN3MwMm8rbUhKY0hEUjh3eDF0YTNiWDN1b1Y1cXJtN3QwcjNUVS8wd0RFTjZBWXZIN1V4WWhqUDluTWhWZy9hRVRUdGVCZUwrWGhWK1dHT3d2WTZBQVdFQkd1aDJBMGRJQlhVaTRlY05NWXJ6YTA3WFMvMVVnajhzaU5ubmNvTTk3dHlPaGxoOU5rTkNFRmMyMjdzQWtFYmZGNmhjN2pPV2JYczBJVjA1LytHN3JkZmNTalJ1NlJUWUV6VkswM09FZDRMY1hneXFSSi8zYUtnUGdvMzBqSHIyZ3J1Mm85LzlPUCtWNEJ4UTY1UmRsM3FkRi9EenVqRzJHM2lsNG40WEFQeTFTamdqWTc0bGdjKytFNjYzWTBaN1pQT1hHOTNmQXgyNnZXOGQ5NGhBZDhVd2lWRnpVSy9qdVJLYVh4WE1nYzRnUHdnemVVSXl4SkI3Zkw3L0JUV3pwN2lIZmNzK2VIdHhLR0cvc3R2UmdtR2hQd1dBanREK1VaTWw4cWZNYk1HczlqVDBncVRQZ25odFYwblhob0JIN2ErbVErZ2EwdlRzTVJMcUVwSUkyeEpyMTFIVy9Zd3phVXBvRzl3c3gvK0ErdVA2aVJwTHVwcFNpUGZGeFBDaUZjVEN5UGJJVHdGZytzam5oY3F5dTRhUFBDSHpqVnNRbnJoT2Q5bjB0bUhFM1BpMm9scUFqc0I0aVZ4U2RIYWFBZEplV2tydDNXRmNLQUhLSHNoYW1WQkZsby9yLys0Z01ZcWEzcU1Gb1dpTzRQZWQ3SGtHTVBkVEFKQk1JY2g1RHMxUkExQVB6SjRRN1NOU1FOT3hKalN2WVo4NUVBSW5Nc2tCbnNTTDRMWkpGYXhGeHpoWXlmaEpjdFhFQ2pTb0U1WXFlWjc5WWgvUGY0dkx2Tk1hTHlPSkRYaXczZEhjTzhZeVVuNFhBS3FMQWZYaUdkYmhUemZQN2FKbzc1UFZtRldPODE0SXAyc0U5QTI3bXFYanB5amt2cUFzcFlpZk1oaUgvTmNwejBNSDl6b28yWkE3bHh4Uk16NjkvalRoS2ZvbGlQblVZamJ1RjBJNEFmMWNvQlFmc3dCd3RmV2F5ZXlyWlR6cXV1MVQ2YmtRa0lMWTdOb3IwMnB6OE1Sd2pJUzRDTjhsUENZWmRIc3pQNHlqQ0t4OFRnWXBjRGNSWXBuVUFuL3U0K2svMUdHa2FlUkVFN1ZYYkFoL2toWUJvYjN3aUZpWG53TEFXdG8rTzNYNG5TbWthMjhES1NOWDRjak5VNXB1cm1OU3ZYajBsSHRid0hOWWRqR2tyRGsxaVJGZnJCcXNNRXZwR1BYQkdJb1J0dFdaTjlvK25nQlVjS0UxaDR1NDJiU2tiQm96cFZQOEl0aWQ2a3p1dlloWWtPcUY1NTJyVytFMWJmYWgrQTRNdXI5UkFEMGlkWDMya2Nad3o1Z3FlSTFpOXRXSnV1N2psK01qYVUwcnMvbEF1MW9oa0FuK3Q4K3VmbXJnMGxtVTNhd1ZHSkdodE5Ja0hqODFpcFdnYlFaMDZuV0lYU0NISlk1QWp2ZmRoVG9PTkdnNDI0TzRtS0c3ZEhYc0Z6UEFPL29LenBGUHBERkJMM0tMdndTK21RVUtHOFlSejFJcU5jREgrLy9MN0duY0ptb2pCRmtlTWpxNkpGb0lLR0d0Wk9aQTN6NG5lZ3FlRkFhRTEwd1FySyt6ck5zQ0YrdUh0cW05TmxxUTBjQTRmR0FieGpiZElnTGxqRmdCTWQ5ZmdBOTZCU2NRRGU1R0xhbjN1OUdQK3ordytsaGVBdklMUVRvL01RaWlCenZZekdndlN4aWVWa0luOVFjTS9IWlBiaElmR2M4RVJsUHlncnpKRFBVR3hxVHFzTy9NM2xGN1BXdG9ONW5BRjAzbHI4QjNXRkg1Y1B4Y2R1L05rODVQTC8rMkxzWDIydkc1Q3ZTTlRqTzN6VWhMVXZESmJJcExsaUtiY1IwUDhwUWVpVjVYM0FTemFJRzhNWGQwK1I3am9BdG9RQWNDcDZ6Uk0vQmxFaDgyL2s1OGxwSVh0c0dwaTBrN2VlNlA4ejhmQXpoMFd3YURXK2toa1F2NnBiVWtMQi9Pcmt5dHQyV1dJbzhGZXFibEpVbmVoa0hxYTl6TUZ4RlM1R3doTTNYNk9PRGFnWGtUMytzL0UxK2VWOFhwdlNtRFFXSkQwdlhwOVUvNUlYSjZ2NFJob3FRMVU3SE5idGFYbzdPSUVTUENGRHo5TkRONWo5dzJJcW9Wb05KUy9lclI5TitEUTRHQ1VRVGx2eVkrdUZ1UHZDTUtRZ0JJemNlOTMzdDJvV1hnQmRkclQ4UFhWTWxzY1NpUFZVZ0Q4TTIxYUk4UERMdmRsRGdRdWl4QWRMQzE5c2pEMVlKTTIzdHdDTFFabGZ3ZmlTL1lLc3RNSW8wVVpGOTVEQi92ZjU5ckxEVHVDMGZNbHYzUllrUStMTUhQTG05ckVpTDlSRHVHZkRlV1d5NFZITFZFMWtQdEYwR2NueEhrSTRscHgrYnBiUC84cjRuUG42RkoxcXpRRnZJSTR2UGVIMFMvY2IxZEs5NFlaVVVKbGZLV1g2c3RMYUNaZzZZTDJyQmpxUnlicytqbmdGNzR2NlZNOUJLWWNiRXhmaEhyRUVPUTMwT1QvNVQ0bmtPVE9hR09DR2RPalJIazgvMy8reHFUOVVqSUJEaENGbXRvNnVlclNzR09JMXFrTFdENlZvRnZwNWxOeTJFZ09YSVlFUmNrQUJQdTFib1VBMW90dkdqemEyanlId29mUDBPVEpMY0orMTZXOFhURWovZS9PV1Fva1RnV1VOMkZYZHEybXFQWGQxc1NvZ0YzYkJqcHp6dTFqR1NWMUc2WDE0YjBiODVMcStpTlpQa01TQnFtM29Rb1JQcXZoYStmb1VsdS9Fbk1JRTN2NC94ZktBRDVnYndPR2ZBYW5KSVk3dkExS1RZU1NDLzI5Y3haelRHSHVDQ3hVVkxtakdzZkxHN0wxdnRZU0wydEJzcUo4QTZSZzhyTFB4USsveGlhWkdhVEJBSG5KamF6Zi96OHZWNUZmeFZLbG0yTEVoU3E2WFRleUh1bFE1ZTFtNzNNUTZ3Q1kyQzk3dGt3eW9WMkhqVWR3OEo0UE9TRDgxdzVXUUszM2Y5ajRmdlgwT1I5TWRvd05pTFh0Q0hXai9PZjZ6bnFaR3c2SjVZTSt6RklJc0U4U0U2MkFpWmRDOFExei9hUE5yWTV4eUVXU2UweE95S1F5Ujc0N2xsNFFjL1hTeTJYZWZWL2JYeG9meCthREdRY0RhSWlYZkRQMS8vYjY3a0lWYmt1WVd1cloySmlkekkwckkybS9aaUR3R290dVNCUkRxck13Z0JQWkpZdDFnVFd3VHBPaWhRSlpFZW5sOHVsVGRuK3BmSGwrUGVoU1FsVytFYzlzMWY0ZnlFQmNqYnBtM2ZSU0RQenNSaTdGdnZTY0NMeEhkZmJpeGNNQWJtaGdxTWpaellxZUtVNUgvQ3VoTzlyZTBpUXJqeFhrS2oyQ08zY1FoWlIzNDFQNTc4UFRWWUVFZm1GZTB0bzlaOWVQTXhHZnhXSlZ3MGRQT1MxVE1DR3gvMDZkeVI4c0c5WmdKd3RVVjA4RThxcnpkb2g0U0hsbnJuNzhFYlBIbkZBRUgwelpxRlMrQ1VkdTVpTmJ4WEV2dzlOanFQUUJuS3ZSUFh5OGY0UEs4dE9mT3haelZuOG1ZNDIvV29ibDNJRE1kRXhGV3MwK1BwcEoxakpHZnhtZzF3NjNHV3UzcnozSU54K3VWQTVtdVhTTWUzZmpZK3pDdllmaGlZM2pqaFJvV0Z3WmZYSDhlK0c2UGFJTlNBNWIzT21UZHA1bHduMVN3UXQwZHQxaXFSMUZqbm0zQWRDWkhnM1NJZFdtYjdXMkNhbVh3K29yNTBoUS9LamJBRVlaMHdPSVA4d05JbXhmN2Q1VS9jQ3BYMTgvbkhaczk1cjBQRHNBZG42ekdLdWN6b0Jacm9uTDlEOGdzQU9IZU84czBBaC9sMGx1WVBjZWlQWFBjUktwSFBIWURPWGYxY2daWG84alZCSlIvSVBRNU9DcnZzd3FFRG9OTzNIKzc4TEE5WGVIdnMxdUFJMVo3V1ZlUDlqanUxVXYwZjAzUHRWR2ZRanIxTFVHME5EeGo5MFpIakhIUFNHK0V4Z2pNYUJPS2YxNitsa1ozTlU0ajhQVFRaOUxBd0NYNTJha3lBZmxseUNhOW1zQk43NG5teDB6b1JzcjNPZ2l6cHRJakxYNHpXM1lnRmxYRjBJWFBJTXk1dmM1SHQ0WWQ5TWI3bUxVZE4vYkZCM1N6ZU43T2svRDAzdXBZa0FYbUVzMVI5Zi9teGlLTlRBTVljLzhiL3Jnd2J0OHc3UE01TWRoTjJNWGplaTIvWTY4QkNGeTk2RHc4TmV1blZ6ck0rYWNVSzVPQ3JCamVob2dFZDRqQit3V2Y0UFE1TnROUUtEVFg3dGUxTWZaOEE1YnVpUlVsaVdIVU45Vy9tcml4ZWZhQWRQem5SRG01Y3hJMWN6NkFjcW12czZPNzBtWHhpSFJ4VGIyNEswSnB4SWZJbmQwT0RCNkRXQ1RKR0ovencweVlQdjhseGlCYWI3eC91L2hoR1hSRDlkWmsxN1ZqWXFnbFBrUEllYjJkdGxtWTB3TEtBaHE5Z05RYlRMMkw2ODUvYUY1S0gyakV1NENKOXRwSnh0bmNIRzM0M0Rjb3VkdlUvM2IwT1RyYVNhL0x3eWlRb0lIL2QvMXVFamc4TndKeVMwUnBETHYwQWgwbnN3bmhkV2hCR21XVmVwMk1KdlphMHNxWW9ucW90SUo3cS85MkRuY3YweHp1TGE2QldESTVyTnZ3OU5VbE9XR3QwUUUxbTZqOTkva2xwQ0hkQm94SHlXZUxLM1NQTkFEVGJiV1hwcFZ4OXNoSGRSRThFTUVSemhmWUo1Y1E4WGMrQ3Q3TE1oWUt1ekgzNTVJNkl0VHhqZEM5V1JxdmEzb1VtaVdKWDNrRzNXeXhFVWY3eitCL0dvekhuUDhZSFI5Wjk4Ny93cU1HOUFvb0ViWGR1VGlWNG9ZRkFQRWNweDdhdkNnM2EycldWbXR3SHB6M2J1SjVwUFFUMUNnUHNlaklQZGduRGs3ME9UU2lNS3ZLZ1FETmFlbm8rbi8zR1Y1ald4RFZMUncrNFh1b0RyZ1hkV0p1MkZLUXpVcVlQWmJrQndiKytONTdKZDNjeDdNNngydGpvTCtnNFl4L3ExaHQ3RFdaSG96V1lxWVZmdjBsK0hKaWNLU21zd2JxV0pvcTlFdUhqb2ovdC9DNVJjTDBpVDNNekpSQXpoZFFQT2NROWFsbHphakVjcjVaVzFXQXQvN0ZxbFZENTZKeEUzK1ZHSGdYRVJtNFM1anI2NXlZenRBaU5MNGxJdThpOURrN3NIVnRiY1o4ZFIxOGlzcU9YcDQvTWZYQXZpRU94Z3VMYy9aTnpiRnpGNXM1VGxkVTNiTnNhMU9GcFlYVGpEK0Y1d2hhcDNVZXNXUmI3bkRTWUk3NHlIclRFV1puSVRVcG9Ed1V0cCsvSG4wQ1FRUjZRV3poUFQ4TlRkbkoyUDI4Y0IwSlVZSG95djhHZ3pKNEhBcnNMNGxMZVRCc2Q3dkJ3VUFiR2FIaDQ3TzlaK1JxRDJTKzR6TjlCcm1oU1d6SFU4Q0hEMnRXVEtqdVhvaUN0RHFIOFptcVFJbVF5TlV1RVBrZmROZXJuR2orZS9OeHNwYmdEU2dBaXA1Z1QyMUNCc1JRTU9SeDBiZWMxc3ZZYzZFc3lSLzBtTjN1MlNieCt4UXV3OFFWeU9qSnBjTm85azhPajlScWJnY1IvZ3o2SEpoVkdKVytLMU1UeHJxTzdkVHNNKzN2K1hVeVY4NjRMTzBKWHZjd0ZVZGNac1pjSDFrbUthUVgxQnVPdm03UmFlemJUK01lUDlHekRBUVhzZnlVdjVrOHFZR3hUVHVyeDBhdEVIOHNmUVpCWk1TVDF5bmdrUkQ2SlFVbWZ6KzhmelgweGl1Rkt6bytrTnhaN3JFR3cvcStLUWxKNHBJYkRXVzZ1SlJzTG1DRy9XNXd0M2FTWUNhMTZVUTFZb2RFQncvRmN5MC9leUR2TjdhTko0Z1VpWFIxSnVzZ1ROaVl4bEVRUkRZdnA0QmRTSnNJR3E2VFpId2JPcDl4MlJySTFSaGRaa01qZGN6TmlyWkp4VGtSdkpQVnk3UmdLblppcThNT21SSFFQYm93RGNEazlRQTVENnh6VW9jb1JhMzVrVGVGR1JFRm9XUGdpbGZrZWdRV1VlVGkzMTQvbi9hbG4wM0RlWDByNXVPL3B1UDlPNUlsQzNyM2pTZlJhSHQ1VWFGaEFkTCtCTzVQWVlBTjVYT3QyS0pyU1gxNzZHMlRwNElnenFyYVhSZ3hBN2hzUlM1eFR0anBTNUZ3eUJybVBrbTRYUm1mV3g4ZHdWL2Z6OUYwVnNiVWZDcDJFOWp3c1hhQWp5RnNLb1FrZGY1bldGczlkWmJscnNxNjFHV1hNZzlGWHB0U0lWZWswYkpzczZ5OTFIYnJnQnozWHRMdlZFV0lrYWc4azFXRzRVSEpyQm9mWUNtenZlZmJiVXF5VllUeis5ZmpJbStkM1lITzY0QjBaeWFtcWlFUmlpSFlVNGlKc0xlVUhLeHVRWEtyRlhFQWtSb2JNVGlZQ3AwaEJKa05JUm1QY0Vremt2dWFkMWdtSXA5WUZhczJ3WU91c01jK0c4RHJrZ09MSUlOY0RBU3ZXYVBuNy9hYlNCbklHUTBQT1lTVHlRYTUzdERzSzJEWWpacE9OZW9sUFhlSnBiaStnSHN0WnpEb0N0UjBRWHVPRVd3T01vaGdBcmlaY2lSYU81czBodTFvWkJYNXZoWEVhd0MxcjV2ZGtaSmRMTUc0dVN4TkkvM3Y4MFlMVUVyS3gzbmRjZVgzdlpONkVjSEJLNUVDTDAzVENyV2UwRzhhNUFrMlo5bUtXMnlmL254VkJGYXE5dHlOcDJPdTlSeUI0ZGlMOEU3OUxlY2s2K3IxdDN6UFNkZXVBcTlyR0tOUndJaTJNL29tb2ZuLy9sR0pTc2xHYWRON1cxbHo5TFg5RWFVSjNSSnl3Z2Mxb29iMVFOZkpIcXc1TmNMU1hxNkpTUysyaUVrdXg1ZzhINHhmUEtYQWxqU3k4WENjdW5XVWZVdTlxUS9vYU5FdEY2Sm1NaURDckhLQ3pmMFgvYy83ZDU3VVdmY1NpYWVRZVlXL1c4c2h4eFlPVmhvRGRZeEx6ZDRINFEvOEgrcEw1U3JxWFFMK2JKZTJpU2FJWHh6Q0ttWi9qREdoRTlkd2lZanZmZG9QdlZsNGlLaEQvNjArbi96TGFSZFJKT0hXaDczR2NYRC9QNlAzUnhxcDZJYmUwczVhSjFvbHYzV2NMejJtOTAvd2FoSy9TQUZDR3JhR2JhNXk0eVhlemR1VCtISnBXY2QwSGhVb2kwdmtiRHhMN3J0cjRSVldXdGdxc0hKZjJkWk0vTGJBSWJzMm40Z1l2YS9uSCtsMDF6SnVjMm1WaWJkeFl0SnM0ZUZsbnR2b1V6S0tXdG1VYzVrYXg3WTllQnpOYXN4NzhQVGViZE82T2lyZWtjZHQ3dytvQnVnU0tYemdnQjdXSzFIYmtwQkwwOGc5ZSt6ZHp4aDJWZjhERzJGUjM4bkhEbzZQZm5mZmVyTVRIMDNVWWprZDlaV0lPQmNCV2tjUlFhWFpmY2M0NS9INW9zVzhJbEtpWWNvUWF4UUlNZFJMeG04OFBTdVVHSDJabG1jNVFNdmNzc3FJUGVQci8rTTFuUEhOU1ZGd2c3NXpvamFFVk1yTmVkV3dGU1QyU0x5aEZlUittYVFZM0xxV2JmZmxraC9jdlE1RVhsNmhqeENHNFh0dzcwL0RDdmZzWGdMNnRCRHQzeWdRcVdTK1Z0OTRJQnNSQStYdi9kVjFtaWNZWWl0UUVTRTZYaVBCZ0kwWVpHaXJMTzZ5cGpCN205T2hwNDIzZUVmS1RObm5ldGx5WDlaV2hTWjdEbDJQb0I1dHptWkw4NTU3VDh6SldxeThOMm5qUEFkZzFFWjVtTmFPYytQai8vOGpQcGlXaWZXVVJya0dkRDR5Z0R5cmtRd29PcTFKV045TmRUeVFHM2hxelVuSHpvRFJFeVVjSDhPVFNwS1BHOVAwOUhGSlZSTXpTRkRXYnJZMk96dGxCdmNBTlVnRmxoZzVaWEtLTStIOGYvUUsxMDQxZzBpR0R3VEVlbTJaNXdsUWlMeVlUalllL2ptc1d3YkI1Y3BGczVnbVA3TWpiejRsVU9md3hOTm1Zc3Vvcnl2TXNBSjVzWHBCR0ZCcDVEME5ieE5QaHBQRVQzYmdTeTc2RWorSGo4bDlDekRVaDZOZWUrRDF1cUNySmZxYy9CdCtnYnRGRjBuTUZ0aVhaT3kwTmZ6UEZnb0lkNDZOSDg0bjROVFdJSURYTUFGdGNVVUVWNHU0YkgySWM3NHNEM1kxZkJGNHdxYmx3Q21OWS9tZitQMTc5Mmd6cFBDUFd4TTBCbXZoK0R3dEpTenliR1pkdnk5Zk1kRmUvSGJRV1dXMjNabkVNSGhJZnFOV1lYS1B3TVRkYmsxdGxPYVFPL2psbFkwSGpRcUJPbDV0VTlwelFLZWNSSUdFK1JQT1NlTUh5YWorZC9IQk16OUtYTUVBak1XLy8yUWdrNmYyUXhrU0phMlU4a0swdDQ5Mm5Na2ozdmM1amxTcmorZ05SbnBvaklEQVYrMzJsYlVub25oaGk4bWdmR1J4V2VJNjkya1pkOTJqNmxQMWQrY0IrdmM4K2dQNTcvYTdQZVFmZlhTOE55eGJYRXhjNXJRSlpKOEh3K1huandjN2cvL1Z6VjhHQXNSQnZvNVBYTWtnR3BqTENPK3pXdkIrbWRWd01Yajl2OHlWNmpFK2o0NTNjTGdFVFRHYlZOQjRqaEZ2aFlabDg0UENWOEhnQVRPRi9zbVlsd0VsRHpNWWFGNCs2RVYvN0FiRzNmZzVpVGltWS9OSjc5dkxzNnZmTE1nUStUWDZQVWxIWWcrNDhkKzAzZ08ydWVPbkROMW4reUh3N2lISTFmMXZuaGMycllqbkYzWFNSR2g2TjlIUCtpRmJ0NXF3M1gxL3NzWWhnbjFlaXdUb2ZPL2ozVWI3bjIxdlRVTUN3SzlhakgvN3E3NG42V3hrMkxIb1BFK3dwWmxWSzBpYVUwNGpZcklZK1VmVUIrZFlkcXNHTjBuVVBVK3VEMVVDN0ZXU2o5ZVAvWGpvK2d2ZGQ2dFQ4M0VqREdWMWhHM0tPK2J4c0RqQnU5dDYrTE0zb09pNEdLZ0RBSWY3QVdyaERCWXppb1VxUHFSN0dpWngrYk1PRDJFd3dDcGxTWFZlc2ErUEtFdmJzRWk1MTNyU0l2TkxQZTFvK1A5NysrN2tPK1VXQmJCWHRQczVNRXVtUElicTlkbFFPMks1VjcyM3V0NTd6ZTFjNExUaEVoZ1RPVmdUeXUzc2RXN1lMc2VYanBMQ0ZEQ3VhWllySXVvT29JYkdiVzErWEIrQ2NPaE5MQlhDRFhuODdQN2VQclozVXNFTTY4dDdpYWR5MHZGdlRmTTl1bCticng3VTZ3N2VKWUtKdGpEWU9PMCtKdjlVMFJSUENSYzhvWm9tRzNJL3dqTUh0akRjSEl3UEFsdFhWRVYwTkNBUk9sV29CQjZjMWFOcnNzMkkvbiszajlDeWhhSllleHRkam5kNERSd09HS1NHSUdhRlJpTXZuK1BDVDN4aXBqd0x6bUNHNXI5N09VWC9mWGtKWHdxOUQzdnlON1JDdENFRHlaSWVMSC9GTXZ2R2YvQThPUFlQZzVsSzB1WGdkZG40L0RuNW5HUSszTUt6Nlo3RFB2Z3l1VkJmMDF4dXRkcEFaeG5ZZUV4SENtYWljS2NxODV0YnhHUk1pc0tYNDZET1BvRTdxZmx6bEhiZHpzazNneWtxWDVMVDl6QnBaeVlVY2llWFpWczRGd1lUdFNEdzhDcStmaitQZkVnNXdYSU14Qm4xd21GL3E1a3dyL1A0MGp4QWZzYmduYjdURGFaV1dOdmJTVFpINXZrbkhsdHEydklRQWh4N0pRWGtncFByNXZ0ZXZJa1M2dXhMd0lrZFMyUFVoNXV4azN0Rk8wTFUwQ3ZRcmhQOTcvOURoNW8yTzJ6aEdaMzZkeEU0UjgzQ01JM2pVaStUTFFrUXVIYkxWdEk1ZjlWWW5SeWc2NzdQMWwvTTZremxhR3pzaGlGMDJRRklPa3paZ0Y5MnBCekdNM0JyNWFId3JrWFQ0TE5MMW5ZdllLeEJYOThmVnpDVEpYVW5NVlMyY0Q3VGJlQ09ibkRTZHpPSEVmRzNyeFZGUmJsRktiVzNmRUFNMHBTWXVYT2ZnMWVLV08zRmRxL2RvTkk1UWhiazRyZWxDU3hOcVVFK0lKd1VzUVorS3l3ZDVVUll3c0I4SUJ3Zm5INnorenBYdnBYbEovcUVUZHBUMjBCRktsZFY1Nnc2NWpyNUtuczh3SHBTWkVEcndFaVNkcE56VDRVeFhMU3IwYzM1U1A3U1pJcGVaVnFSdEg0THNjV3hIN2d1RmpjZ2pEemFhQmlqejZrb3VoSHRlL2ZoNytpVFI5Mm9VWW51MW9vckRPTzYvODhteHdRVnJ3dENXU1dOUmFGanQwcmxFL2hCT3g5L2NkRHA3emVabnZhekVyeHJOMU5zSWRXNnVwek5ib2hnemhSUFdaWXpTL3hwemE4OURkS21TRWxVSWpJWDNlLzJVK3gzTmhiV2lodWYvcVJ6TmpYdWNlNXBjNGRUbnp2TFdWRytLNGlOK0N6MVhwZVllSFFqdG1DeUpaa0drOTFrU25DejNLNGh5Q3dUU1I3WW9tb1k2UzN0ZDh2a1A5azlJenU4VDNtbWRkMkg3OC9wdFhaMm9HYUZOSldGVU9rNUVpTVVFMVJoNS9jalFHMXhKNy9PSGM2MEhrbCtsc2FwOTN1RlR3enVHVzNYUTJQQjN2TDA3Qm9DQ05YUHVrOWZPclVxVjB4L3NPbUdGOERNWnBxTXpOUG9sVUxwcFhiejQrLzNpTWxjK3Z2Rm04NXNoNzU3ZTNBRzBzQjBxeWUyZG5mY2wyZmlucVhROFgwZVp6SVQ5MytPajNXSnVKZ2Vib21CNUhsMGF3cFd3aE40NkdWWnpXZkVOdTRSWm03N09GT2k1QWJYRWxyc0hvaDVTeGY5ei8wMUlHRjNVL0J5NldqenF2NkdGQzY3eld1c3pNRDBValJ4eURaeWQ1V0t0RTVmOTFoMU5YdXVTWng0cEVLWXlZTWpIWDBiVVppVmExaUdGblY2emdVSTZ6c25HTnZlZXJ6OGlTendzRHpSWnpsQjgvZjhLMmxVRGxaeUlwcXUycTU2bHpYTlpVOHVMMGU5NEI2cXRtTTJmM2lXOEMwZjdQSFY0UWR6cGU2N3dpQUpYZGU3a1lxbVFqc3hVWUljK0dkT0I5cVN4dXhubFhSa3QyQ0kvQ2hGaVVFalNXZzN3OCs0MUNLd1NnNks3Q09JaHBQWTh0TzdRSXMxZ0pOUnhzUFM5NGJPcnpqbmVWbHVYM0hXNnpYZXdnQ2huZ0sxUGIwN3dzZTlXZUFLOHYwSlRpVmdDaCs3c3JQRHdOMk13SXBLN0FieUFlbitMZTUralVoMlZPY1BsZVQvLytGcnpaK1k1UGRndHhVcllnb3hOM1NBRkdNL3ZkZ2Q4OWIvMlBPL3hnZm11U1VzOERkMFBmeisyeWxIWENwdU1aYTZGcVJaZ1RmUHVKY2MrcGp0UVVCSUpMVml6UEMrRFBLai9lLy81NGErSGNmVkdRZU1GVnVla1RCcHd2VGR2ODNnUEV3dUdCUFowTHBOV3djUDIreXVZOTU0cVFDQjdPWG5qNlFoYkxqL2NYM3RwTGVLdW4wMER3VzVEeXprbVp2dFJaUWwwV1ZLcW00cDZRQjVtUDUvLzYwVXR4QmNrdUF1RzlnRkRXMjNjYi83ekQwMEZIWFBTYVY4TFBpNEhZNGpuNTR3N1BNbE1lczVmbFFWem9rMWxjbk45NVBjZW84RWRxOTc3TTZjZjExYUxDVGU1QUd1S01kTlNDdG9SMkEwUi92dnlERG5yT0s3TFp6RUlPeExwY3Q1K3MvTHpEMWF5Rjk5bnJOc3ZiYTVrMlRQNjR5cWJhVXQ5ZmN2MXVuV3g4VlVIUHJ4QThFUXFpdWN0OHBySWhncmc3dWhMQk9KbGZNZHhuNlhQZWpmbkdRNStILzcva0lBcys2bFpDaVg3bUxMYTVyaG1neTVoZi95Wm1tZVRWYW5EeEwxZloxSTNLZDJFQStVOGd2SnF3U0F3U004bmIrLzYrQVVsZ21NanlkZGo1RmJ2MXVESHF6YVRKKzdjSXlNLzMvMy9sSzEvNXlsZSs4cFd2Zk9VclgvbktWNzd5bGE5ODVTdGYrY3BYdnZLVnIzemxLMS81eWxlKzhwV3ZmT1VyWC9uS1Y3N3lsYTk4NVN0ZitjcFh2dktWcjN6bEsxLzV5bGUrOHBXdmZPVXJYL25LVjc3eWxhOTg1U3RmK2NwWHZ2S1ZyM3psSzEvNXlsZSs4cFd2Zk9VclgvbktWNzd5bGE5ODVTdGYrY3BYdnZLVnIzemxLMS81eWxlKzhwV3ZmT1VyWC9uS1Y3N3lsYTk4NVN0ZitjcFh2dktWcjN6bEsxLzV5bGUrOGhXQS93ZmRtaG1aZHltbTl3QUFNaUZwVkZoMFdFMU1PbU52YlM1aFpHOWlaUzU0YlhBQUFBQUFBRHcvZUhCaFkydGxkQ0JpWldkcGJqMGk3N3UvSWlCcFpEMGlWelZOTUUxd1EyVm9hVWg2Y21WVGVrNVVZM3ByWXpsa0lqOCtDang0T25odGNHMWxkR0VnZUcxc2JuTTZlRDBpWVdSdlltVTZibk02YldWMFlTOGlJSGc2ZUcxd2RHczlJa0ZrYjJKbElGaE5VQ0JEYjNKbElEVXVNQzFqTURZd0lEWXhMakV6TkRjM055d2dNakF4TUM4d01pOHhNaTB4Tnpvek1qb3dNQ0FnSUNBZ0lDQWdJajRLSUNBZ1BISmtaanBTUkVZZ2VHMXNibk02Y21SbVBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHhPVGs1THpBeUx6SXlMWEprWmkxemVXNTBZWGd0Ym5NaklqNEtJQ0FnSUNBZ1BISmtaanBFWlhOamNtbHdkR2x2YmlCeVpHWTZZV0p2ZFhROUlpSUtJQ0FnSUNBZ0lDQWdJQ0FnZUcxc2JuTTZlRzF3UFNKb2RIUndPaTh2Ym5NdVlXUnZZbVV1WTI5dEwzaGhjQzh4TGpBdklqNEtJQ0FnSUNBZ0lDQWdQSGh0Y0RwRGNtVmhkRzl5Vkc5dmJENUJaRzlpWlNCR2FYSmxkMjl5YTNNZ1ExTTFJREV4TGpBdU1DNDBPRFFnVjJsdVpHOTNjend2ZUcxd09rTnlaV0YwYjNKVWIyOXNQZ29nSUNBZ0lDQWdJQ0E4ZUcxd09rTnlaV0YwWlVSaGRHVStNakF4TkMwd09DMHdORlF4T0RvME9Eb3hNMW84TDNodGNEcERjbVZoZEdWRVlYUmxQZ29nSUNBZ0lDQWdJQ0E4ZUcxd09rMXZaR2xtZVVSaGRHVStNakF4TkMwd09DMHdORlF4T0RvMU16bzFNMW84TDNodGNEcE5iMlJwWm5sRVlYUmxQZ29nSUNBZ0lDQThMM0prWmpwRVpYTmpjbWx3ZEdsdmJqNEtJQ0FnSUNBZ1BISmtaanBFWlhOamNtbHdkR2x2YmlCeVpHWTZZV0p2ZFhROUlpSUtJQ0FnSUNBZ0lDQWdJQ0FnZUcxc2JuTTZaR005SW1oMGRIQTZMeTl3ZFhKc0xtOXlaeTlrWXk5bGJHVnRaVzUwY3k4eExqRXZJajRLSUNBZ0lDQWdJQ0FnUEdSak9tWnZjbTFoZEQ1cGJXRm5aUzl3Ym1jOEwyUmpPbVp2Y20xaGRENEtJQ0FnSUNBZ1BDOXlaR1k2UkdWelkzSnBjSFJwYjI0K0NpQWdJRHd2Y21SbU9sSkVSajRLUEM5NE9uaHRjRzFsZEdFK0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2p3L2VIQmhZMnRsZENCbGJtUTlJbmNpUHo1Nm1pbURBQUFBWTBsRVFWUVlsYVdSUVE2QUlBd0VwNEFhLy85YU5WSXZhSnBTdUxpWERjdUVMU0NxU2lBRnhJZHBBRnFmd3VLOGc3dU5sdVVJUGdNWTRHNStBSWdPYmhncEFjWFVDckMyOVFic1pzU2x0Q283MjF0ZFRaYUJLbi9mK1hJTm4yWW5KOXpIUEN3UkhCUDc5aUh6QUFBQUFFbEZUa1N1UW1DQw"},{ name : "__ASSET__:bitmap_flixel_system_debug_interaction_tools_GraphicCursorCross", data : "aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFzQUFBQUxDQVlBQUFDcHJIY21BQUFBQkhOQ1NWUUlDQWdJZkFoa2lBQUFBQWx3U0ZsekFBQUxFZ0FBQ3hJQjB0MSsvQUFBQUJaMFJWaDBRM0psWVhScGIyNGdWR2x0WlFBd05TOHlPUzh4TnJ0VlFGa0FBQUFjZEVWWWRGTnZablIzWVhKbEFFRmtiMkpsSUVacGNtVjNiM0pyY3lCRFV6Ym92TEtNQUFBQUxrbEVRVlFZbFdQOC8vOC9BeGJ3bjRHQmdSRmRrQW1iU2x4Z2tDaG1ZWUI0Qmh2QUVHZGh3T0pyaG1FVUdnQjN1Z2NXZXB2bWtRQUFBQUJKUlU1RXJrSmdnZz09"},{ name : "__ASSET__:bitmap_flixel_system_debug_interaction_tools_GraphicTransformTool", data : "aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFzQUFBQUxDQVlBQUFDcHJIY21BQUFBQkhOQ1NWUUlDQWdJZkFoa2lBQUFBQWx3U0ZsekFBQUxFZ0FBQ3hJQjB0MSsvQUFBQUJ4MFJWaDBVMjltZEhkaGNtVUFRV1J2WW1VZ1JtbHlaWGR2Y210eklFTlROdWk4c293QUFBQThTVVJCVkJpVlkvei8vejhEQVFCWHdJSXVnQSt3SUxFWkNabk1SSVNCTUVNWWlWRU1CNE5JTWN5M3VJSVBMcytDUXdJclFGZU1MYXpoQmdBQTR2NE1GcEVTdzlBQUFBQUFTVVZPUks1Q1lJST0"},{ name : "__ASSET__:bitmap_flixel_system_GraphicVirtualInput", data : "aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQVk4QUFBQzNDQVlBQUFEcXhOS1RBQUFBQVhOU1IwSUFyczRjNlFBQUFBUm5RVTFCQUFDeGp3djhZUVVBQUFBSmNFaFpjd0FBRHNNQUFBN0RBY2R2cUdRQUFJLzRTVVJCVkhoZTdWMEhlQlRWMm9aQVFocEo2RFVKRUZJZ0NUV0IwRU12Z3ZUUWV4VlJxaUJGQVJYcjlkcTc2RlV2WEFWQkZPV2lRRUxvSllRV0NFMUV4UUplRkZFUkNQRDkzM3QyWmptemV6YVp0TjBOZjg3enZNOU9kcy9NZWVma20vZWRjNzRwSllqSUZpV3RlT1MxYUVhY2t4Rmw0R0RQenhaRmw2OTd3TUFQeGZZN2hyVithbXBxOUpZdFcrS2NDVzR6ejMxODh1VEphRWFjay9IL0tpWWVlWXFpSDNtUzRweUtweWpQZlZ6VStMb0pEUHhFMmVBWEthQlZBRHhvMFN1ejZPR1hMOURDNTRubVA4ZjRwNVBBYlMxOGdVVGJpMTZaSkxob3ZDU2VPdXo1TG5tRkJCWTdDWHA3S3I3TmU1WUFlTm1lcndXbE5KUjJNdlIyZFI0V3Zsci9va3lkT2xWQS93MzFVbEpTWmlVbkoxOUlUdDVNeWNtYm5BeTBtWHlCT1JqNldPSnAxOGZIangrZnhiaVFtWG1NamgwNzZsU2dUYlROTVBCZHVuUnBDWUNYN2ZocWNLdVkwUHNYcFZiNEV3TDZiNmkzNkhHYTlmQlN1c0NmeEovMDhHTk9BcmVsdFltMkRYMnM4MndZWjRIK1Blcm9mQjk5aWdoZ1FYY0s5TFpVZkJuV3ZyWHRYdzF1RlJNNlQxRWs0N0FRZmZpbGoyZ0cvMmNTeHhIVjcwOFUxYys1UUp1ZEpoRE5RblF3bDlzN0lBU09QKzM1TG42WmFESkgxTkNIaUlZc2RDN1E1aFRtdW9RNTJQSzliUjYzK1ZyK01aNE1MdzFsbkF5OVhYRFFnOFRhdnlpU2NRak9MTm9mYmRyMEpYMzAwVWYwM252djBiLys5UytuQW0ydVdyV1NObTM2aXNBRm5EUnVRdUQ0MDhDWFJmdWpJMGNPMGJadHFiUng0MWYwMVZmT0JkcmN2bjBiWldRY2hva1krRXJtVVNSaVFqWVAvSzE5WDRxRjhLUDVTNGlTUmhGMXZwc1AyVjdPQmRvY01wWm93U05DbEExOURLNlNjVmo1TG4yR1pXVStTOFUwb2tuM094ZG9jemEzRFE0cXZyYjl5M0RibUxDYUIvN1F2aXhGaTE0ZVRiT2ZKR3FZcEJaMlp3SWN3QVdjSk9JYWJ2T0ZjWXg0bUdqd0F0Y0NITUFsTzc2V2Z3VCtNZDVkdW5TcEhSRVIwZHJaQ0FzTGE5V3paODhRY05DNGdKT1ZyMjFNc0ZpUDNyejVLL3JnZy9lVnd1NU1nQU80Z0JPNGFSd05mY3hpUFJxaXZXblRKcVd3T3hQZ29CbUlMVjk4Q3I2TUloY1RpNStnMFF0WnRIdmdQRThoN000RU9DeDhsQTg5NWdSdUdrZERUT0MzeDFpMDc1MUpOUEUrMXdJY1lDRFo4V1VVaVpoQVVPaUV2V2orODRlb3h6MUVrWDNkQTcybThLbkY4enNFTnd0SEdSYStVNTlRaTdrcmNEK2JuWm92bkJ2ZmVWZXJWcTFQNmRLbDk2RHJPMVlPb2I0MTZqb1Y3U3JWeElRbE1ZZHR3Y0hCWGNGSjR3YWVIcll4a1p5Y2ZHajE2bytWWXU0S3JGbXpHbE5ZRG1QaTJMRmpoM2J1M0s0VWMxZGcxNjRkeEp4a3ZySkEyTVZFZ3dZTktDRWh3YW1JaVluSlZVeXdjUndhTVpHb0k0dTNPMkEwUzlaRGo1RERtQURmT1F2Vll1NEtQTWpubVE3NEtuV2lXdlhXRkJMYXphbW9VaTBoeDVoQVVJZ09admhjZitEcExISEdyeEp5VnlCdUtQMDE2OG0vbVp0T0hBY2NPaGhPYU9FNzRpRVdiaDRQdWdQR0xITElsOCtXL2IyOXZkOUNsNy9icWlkZG5jMm5Id3VlSjVyM0hPT2ZUZ0szdGVBRjBmYUxjWjFGY1BqNStURUp3VmVjV2RqR3hJWU5HN0krK09BRHBaQzdBaXRXTEtjdnZ2akNZVXdjUG53NGEvTm0xNDg2ZEtTa0pGTjZlcnJPVitlS1QwTk1USnMyamY3NzMvOXErUjFWM3Fjd3NWbTBQWEhpUkZNeE1mZmg2MW5kKzdGdzkzUVA5R0xKZW1EQlh3NWpBbnp2bmM3Q1BkVTljTjhzeDN6bG1Halg4VVdhL2VEdjlOQ1NHN1J3eVUxYXVOaEo0TFllZXVTR2FMdEY2NlVPWXdKQmdUKzhmWHg4bnFMWi95Q0tnbkQzY1E4MFNxSkw5ejFHL3Y3K2p6RkhId2FDUVFTRWxTOUVlNUNiWVBoRDJmRjlFZDE5cUQrUHBxYTdPcWZFcDQwem5oQmN3RW5qS3dMRE5pWTJidHlvRkhGWEFVYTJkdTFhaHpGeDlPaFJwWWk3Q3BzM2I2YmR1M2ZiOGtWZlcyUGlsVmRlb1kwYmtWUDYwTVU1cFM4Rmw1eGlZaTZmT1dQS1NDWGtyZ0NtcnFiUHZlUXdKc0FYWi93VFdMamRBVlBZeUxMaEsySmk4UEFkTk8vaFc1UTAwb1U1cFRGOHZybm9sdUNpaWdrRWhWZEVSRVE4TDk2Z21VK3JSZHhWNEZIUW4xTWZCZkViVFpzMmpVWG5BdlhyMTI5bTVUdG9udnRnMkVMbSs1Z2QzOGpJeUJibzZpY2J0aVdhNlVZNXBWbFBDazRTWHk5ZU5zUUVCRkFsT0s0QzhoNmZmdnFwdzVqSXlNaFFpcmlyZ0x6SDNyMTdaYjQ0K0h4alltSmFsaXhaa2thT0hDbnlPTzZVVXdJbmlhOWRUTXpod1g2SHU5d0hHQVZObi9PSDRKeVFrTkFBOFFEb01RRytFKzUxSDl3ekRlWmh6emNxS2tyb1JGeXpCVFNmUmR0ZGNrcmdBazdnSzhjRWdvSkhTWlpoRWsxallWT0p1S3ZBQW5mMW5rZEFtbng5ZmQ5Z3JuNE1meDVDdlkwRFQvQlZpYmlyd09aeDlWNWhkZ2ErZkRheEVueC9HYnVBSTkyTmNrbzk3NlZ6SXg0UWZEa0dYbWV1WlhqWkVCTmZmdm1sVW1qeUFwelZBcXJmekFJQ3QyN2RPb2N4Y2VUSUVhV0k1d1ZmZlBHRmdPbzNzNEI1N04rL1grYnJ5eWlyeHdTdVlITzNuQkpHZCtEcktDWm1jeGlyUk54VmdIbE1lK0FLb1Q4NURxd3h3ZjM5dHM1M1BJdTJ1d0JYWGsyYlk4KzNUSmt5SzhGMzRwVHZhTVFFSGxXeGVMc0RSazhpR2pQaHBGMU1JQ2g4UER3OHpvckYrNWF5cVBUT0YwN1g2VVI3UTl0WmNhUldlMlU5VTJnNGtLNVBXaVJJTThkTTVob0FsQzVkK2l3Nlh2Qk5lakJmT04xak11M3ROTXFLSTEzSEtldVp3dEFGZEgzS0VoWGZuOEQzeGd3ZUtibFpUdW5hZlU4SXZxVktsVHFCV09CbFEweHMyTEJCS1RLNXhUUFBQRVB6NTgrbkJRc1c1TXRBWlBOUXhjVGh3NGVWSXA1YnJGbXpodDUvLzMyQi9CaUliQjRhMzdMZzYrbnBLV0lDL2V1R09hVnNZMkltbnllcFJOd1JFdHBsVWx5cnZWYTA2bmhPV2E5bGg3T202dG1pTzRmeWZiUC9GbUxNY1dDTkNabXZTc1FkWWNEUVRPbzljSzhWUTBhZlU5WWJQUEtzcVhxMmdIbmMvNENTNzAvZ08rdkJhOElRVlZOMHJnQnlTdE1mK05NdUpoQVV2dnh4UXl4T2VaUW9na1U3SC9qNjJiZnA0czc5VnB6NzZITzZFczRNRkhWelJBTTJqL0VQQ2RMYzBiOHgxMENBZCtBR09sN3dWWWw0THZEMXU2dm80b0dqVnB4YnY0V3U5Sit0ckpzallCNlRGaHY0Wm1Sa2xHZStOd1hmV2U2WFU3cCszK002MzB0NlVNZ3hnVVNxU21SeWc2VkxsOUtERHo0b0RBUll1SENoc3A0WndEdysrK3d6aHpGeDZOQWhwWWpuQmhnTm9DMFlDQUJ4VjlVekE1aEhXbHFhekRjZ016T3pnaDRUcUdPN2o2NEU5bFUzRDBjeE1YMHVVZnNlNXZIUjZyOXBYOXBGS3g1KzVDZ2xkczh5MUduWDlRbzkvYy9NMi9YMi8wcFAvdk9tb1k0amRPTlF2bmVtVll5dE1TSHpIVGZGUFA3NzFkOTA2UEJGSy83NXdsRWFNem5MVUdmMHhDdjArbHVadCtzZCtaWGVmdSttb1k0ajRMNlBxYk9NZktFVHpQVW0rRDR3NzZhWU1sSUp1U3ZRQTlPQ3M2L1l4WVFlRk9JSG1yUkVMZUltY1Q2c0cyWDkvZ2R2MGxqT3RSbXVySjhqWUI1akYrcWtzZUVnZ0E4ODBmR0M3MENPakR6aS9OMzNVZFlmZndxT2NqbkhiYXJxNTRnaDg5anNIamJ3WGJKa1NiQ1Y3M1QzeXlsZG55SnlOT0NIamtBc0dHSmkvZnIxU3BFeGk4Y2VlNHdlZnZoaE1kcDQ2YVdYNk9XWFg2YlhYMzlkV2RjTVlCNWF6a01aRXdjUEhyUVQ4TndBeHZIdmYvOWJDQ2hHT0o5Ly9ya3dVRlZkTTRCNTdOdTN6MkZNRk9TMFlFRUEvWXQ5MXZncVkrTCtCOVFpN2dneitOQ1F5K1hMV2RTcDV4bERuYnNIWkdpL1dzb2ZmOXlpWGdPTjIzR0VyaHpLOTB5M2lyRTFKbVMrS2hGM2hLZWZFeFNzNVk4L3MyajBoRE9HT2hQdk5mTDk2NjliNGlvcXVZNGpJSGsvWllhUjc2SkZpMEowdnJNZXZLa2NZYmtLR05uZFA4dHFIdGFZTUpvSEN4OUYzSjFuZkR2aElmU2pYVG16K0VWbC9Sd1JPNEN1ajVvbmt6YWFCL2dPbkpObmZMdjRKY0hQdHB4NTVRTmwvUnd4NUVHNlBrWWtscXg4V1NoQ3JYeHhINGhLeEYwRm1NZGtTMDVKRGdydFUzd1BFVldKakJub3hnSERnSEhBUU41ODgwMXhOcStxYndZUU4xeHRKWEUyeE1TQkF3ZVVJbTRHdW5GQVBHRWMySGRNSyszY3VWTlozd3lraExreUpncHFXaEFvNkp5U281aVl5aUxadm52dXNPcVRtN3lKMitXMU4wOVJ1eTVYeEcrdE8xMms1QzNudFY4czVhRkgxTnRSb1N1ZlowNjYzeXJHMXBpUStZNjlKM2Y0Y3BPUjd3ZkxUOUdvQ1ZmRWI4UEdYcVFkdTR4OFgzcGR2UjBWY01YVjVHbEd2b3NYTDY2bDg1MHh4LzNNWStxTW5NeGpESjl4cTBUY0JMTENlNGtwS2xXNW5IR1Nyb1F6QzhWNjJRTG1NWHl1VE5wb0h1QTdnRVU3RDhqcVA1dk9yVThSL0d6TDVaUGYwSlcrTTVYclpZdkJiQjRqaldZM2QrN2NPbGErOXo3T29zMlJuZzhVZUU1cGduV2F6Um9VMnFmNEhrS3FFcG1jb0J2SHE2KythZ1dNQTZPR0R6LzhVTG1PR1VEY1B2bmtFNGN4a1o2ZXJoVHhuQ0NQT0hSQTJIR1o3ZGF0VzVYcm1BSE1ZOCtlUFE1am9pQ21CWUdDekNsSjA0TEttSmd5Z3lpUlJUczM2RG5BTXBxUVN5OGViZUMzQ1ZPTVovRmJkOXl3V3o4N2RPRlFuampWc1htQTc5akp1Y05VWGdlakNibE11Q2REL0Radm9aSHYvdlFiZHV0bkIxeHhOZkUrSTk4NWMrYUU2WHluemM2ZGVSUjJUcWtibThlVWFUbVpCd3NmUmZUS0UzNXN4QzFJNWNiR25kcVNwWnh1UFVTNVhyYUk3VWZYaDh5V1NSdk5BM3dIOEpnMEQvZ3hpYzFCS2pkMkg5YVdMT1gwU0I1cks5YkxGb1Btc3RuTk1mQTFtTWRrTjh3cGpiWG1sS3hCb1gySzczRVdxaEtaN0lBY2g2MXh2UEhHRzJKYksxZXVGRWxvMVhwbUFISER5RVhpYklnSkpLZFZJcDRkVk1ZQlVjZUlZZHUyYlpTY25LeGN6d3hnSGpBZ21hOGNFL21kRmdRS09xY2tUUXNxWTJMU05MV0k1d1E4MGtRdW0zbTBFZC82Q0IwL2NWbjdCZ1p6a3dhUFZxL3ZDRENQY2ZjNk5nL3dIY09pblZ1ODlKcWdaQzBZYmZSSk9rS252NzdOOTgrL2J0SURDOVRyTzRJbGNlN1lQTzZiYVM3WG82T3djMHFZRnB4OFgwN21NWXdGazBjUWVjSFpXVStnTDI4WDNBUW5sWE52ZmFoY0wxdkVzSG13eUlPYlJ0cG9IdUNMNUhZZWNQYnB0d1F2YTdsbnFiWmdLZWRXclZldWx5MlM1dGlabmNFOEpyaFpUaW1XeldPME5hZGtEUXJ0VTN5UHMxQ1Z5RGdDaEd6Um9rVWlyd0hUZU8yMTEyalpzbVZpQktNYlIzNXVoTXZKUEpDY1ZvbTRJOEE0bGk5Zkxzd0NwZ0V4eC9leWNlQkdQOXYxekFMbXNXdlhMb2N4Z1RaVisya1doWkZUc3BrV3RJdUpDZmV4R0hYTEc5SVBHcWVEMXE0N3B5MVpDcVovVk90bEI5elFOdVlleCtZQnZyamNOQzg0ZHR6STk4dU5ScjRyVnFyWHl3N0llNHkxNFN1Yng3M1RjMmNlenNncFRidzNKL01ZekFLSXM5aGM0a3JkN25UK3Yxc0VLWlJyUjArTDcvLytjcnYyRGRHVjczNmt5eXgrdHV0bWk1aStkTDMvTkptMDBUekFWeVhpT2VCS24rbDBmdXNld1F2bDJ0ZmZpZS8vM25sUSs0YjUvblNCTHZlKzMyN2RiQUh6U0pwaDRHc3dqN0Z1bUZNYVlaaG1zeE1LQ0lsS1pGUjQ4c2tucmNZQjA4Q25iQnd3amZ5TU9nQ0kyOGNmZit3d0ppRDZLaEZYWWRXcVZWYmpnR25vaVhIZE9HQWFNQThZZ08yNlpvRjFkK3l3M0tHcmlvbThUZ3NDaFpWVHNwa1d0SXNKaUo5S3hNMWcwQ2dXTng1ZHFFcjZ3UnZLZFhJQ3pHUFVSTWZtQWI2akorWU5zK2RaUmhlcWNpenpobktkbkREdUh2NmM1Tmc4N3JtZnpZTkhWTGxCWWVlVUprekp5VHdHekZTTGVBNDQxMmFZSUtTWDY0KzlJYjYvT2NkNDJjSTMzY2ZiclpzdFlCNTk3cE5KRzgwRGZQdk55alhPalhwUThOSEw5YmZYaU85dnZyUkMrOFpTdnBtOHlHN2RiREh3QWJyZWI3cUJyOEU4UnJsaFRtbW9JYWRrSnhRUUVwWElxUERJSTQ4STA4QVVsUTZZRDg3dThidHVIUGtkZVVEMEpjNkdtRUIrUVNYaUt2em5QLyt4bW9ZT1RESEJPQ0Q2dW5Ia2QrU1JuWG5rWlZvUUtNeWNrczNJemk0bU1QV2lFbkd6ZVBjRDNwcWk1TldVWUI0anhqczJEL0FkeGFLZFYzenltYUJuVng1NlZGMC9KeUJwUG5LQ1kvT1lPUFdtM2RSY1RpanNuTkxZeVRtWlI5OXBMTm9zUXJuRW1jVXZDRkxXa2pqVzhsdlRKTzBMUzdGTVhkbXY3eERSZmVoNnIzdGwwa2J6QU45K01KRGM0Y3hMN3drKzFqTDVNY3R2SXhab1gxakt1WlZmMksyYkxRYk9wdXU5aldabk1JL2hicGhUR21TWVpyTVRpdHlleGNyR0FUejk5Tk9FMFFjTVE0WnFYVE9BdUdFVUkzRTJ4QVRFWHlYaUtrRFlaZU1BVnE5ZUxYNkRZY2l3WGRjczBNYjI3ZHNkeGtSdXB3VUJKK2VVN0dKaUpBdGcyNjU1UjhzT0Y4WFVpbHpXcnZ1Uno1Q3ZLT3ZuQk53VE1YU3NZL01BMzFFVDhvN0JJeStLeTNYbDh1WEdIMm40bUN2Sytqa0JTZk5oNHh5YngvZ3B1VGNQb0RCelNyaXZCZHprbURDYXg5MVRpZXF5YU9jQ1Y4SzY4Wmt2YmpxMGxHdEhUeGwrRjM5ckJWTlg1MnQzTnZ5ZUxlcXplZlNZTEpNMm1nZjQ0cXFvWE9ESzNmZlQ1Wk5uQkIrVWE2ZS9NL3d1L3RiS2xSL1AwM2x1WC80OVd3eGc4K2hwZWRpZ3p0ZGdIa1BjTUtmRW96ZUpyNTFRUUV4VklxTUNoQkRDaFROZ2lCaytIMy84Y1pIQWhZSG85ZDU5OTEzRGVya0J4QTBqR1lteklTYVFYMUNKdUFvWXBXQjBnYXVxWUJ6NGhQanFOd1ZDK0hYWXJtc1dXQmNqR1ptdkhCTVlLYWoyMHhHY2tWUEMvMXppYXhjVHc4ZXJSZHdNMm5USm9uR1REL0htakFWbWNsZmZROHAxY2tLbm5pendveDJiQi9pT1pOSE9DMGFNeTZJSDV0bnpoWm1NbVhoSXVVNU93RWhveUJqSDVqRjI4azNsQ01zTUNpdW5OSEo4VHVaeEY0OGJWU0tlRGM2MjRqTmVxV1F1K2lkdHFON01Ddnd0bDI4bjhObTlZanRLd0R5NldoNFRyWkUybWdmNDlwMlJLNXdkOFlEZ29aZk1GOTZoRFMzN1dZRy81Zkx0d3p5cVVteEhpZjR6N2N6T1lCNUpzMW0wYmFibVRLQlFjMHI5RERrbE82RkFma0VsTWlvZ2Y0QnBJSWpYVzIrOVpUVVE1RUllZXVnaGc0SGtGUkEzVE10SW5BMHhrWnQ3TXJaczJTSVM3QmhaNEdZOTNVQXdMWWFycjFDbklNd0RsL3JLZk9XWUtBSTVKYnVZR0RxV1JidEwzdENoMnhuNjRZY3J2RG43c2pmdElyVklQSzljTHp0MFpLbElHdW5ZUE1CM0pBd2tEeGcrNWd6OS9MT2E3OEZERnlscDJIbmxldGxoekNUa2ZoeWJ4K2dKZVRlUFFza3A4WGttUmxuZ0pzZUUwVHk2OFY3VjdaRXJuSDNXNXFxbEhNcVBtTGRYYkVlSityM3BlcWR4TW1tamVZQnZuK201d3RsM1Znb2Vac3VQWHlRcnQ2TkV2eGxzZGhNTWZBM213ZWFpRlBFY1VHZzVwV2cyRCtNMG01MVFRSlJVSXFQQ08rKzhReXRXckRBWUNNd0RlT0tKSjZ3amtQeU1QQ0NPYUVQaWJJZ0o1QmRVSXE0Q0hqZWZtcHBxTUJDWWgyNGc4Z2pFZGwyendMcG9RK1lyeDBRUnlDblp4UVFFcWcyTGRtN1Jzc05sZXVXTjJ6TVJLTGJ6OU5ObUg2TFduYk9VNnpzQzdrVVlNTXl4ZVlEdkNCNm81eGFEUjE2bTl6NHc4clc5OTJQUkk0ZFlXTE9VNnp2Q3FJbk1kN2hqOHhneEx1L21BUlI0VG9uTlk4aW9uTXlqTTR1UFNzUWQ0SEtkTHVLTU56Y2w2L2ZMZEw1MkorWDI3RkQvYnJyZVliUk0ybWdlNEtzU2NRZTQzSE9LbUlyS1RjSGpTODUzNS8rMlludDJnSGwwR212Z2F6Q1BQbTZZVStwcHlDblpDWVV1VEdZQVU0Q0I2RmN3UWN6ZWZ2dHRZU0lBRENTL0k1RDMzMzlQYkYvaWJJZ0o1QmRVSXE0Q2hCMEdvbzlBOVBzNVlDS0FQQUxKSzlBR3RpL3psV01pTjlPQ2dHd2NRR0hrbEd5bUJlMWlZdUFJdFlqbmhFRWpqSW5iSDMrNktiWWxGMHhmSlhZOXFWemZFV0FlL1lZNk5nKzBvUkx4bkRCMW1wSHZoVjl1MmwwVys4Y2ZXVFJrNUVubCtvNkF2RWQvRzc2eWVRd2JjMU01UFdjV0JaMVR3dk90Qm8zSXlUemFzeWpWN1c0YTMzVGorbmtvWDQ5L1VMazlPOVRyUmRmYmluY0w2S1NONWdHK0VHU1QrR2JpUXRGK2JzdlhELzFUdVQwNzlKdE8xeE9OWm1jd2oxNzM4WDV4cE9jQ2haNVQ2bjZQWFZCb24rTDczRnk1QS9QUW9Sc0l6dDUxQThFbmNpQ1l0MWV0YndZd0R3aTZ4TmtRRThndnFFUmNCUWk3RHBXQjRCTWpMNGlwdkY1dUFITktTVWx4R0JPNW1SWjBWazdKWmxyUUxpYjY4MEM0RFlkWmJ0Q3N6Vmt4TFNXWCsyZGJmbHYybm5HYTVmM2xaNmxGNGtXN2JUaENCejdQN0RQWXNYbUE3M0FXN2R5Zzc2Q3pZbHBLTGt1ZnR2eTJlcTJSNzhkcnpsTFM4SXQyMjNBRTVEMzZEbkZzSGtORzVkMDhDaU9uQlBOSUdwYVRlYlRsOFYwWWk3WkpmUGZtZndReGErR3pXRlU5YW9kM3ZkOHVtTC9QcXNQaklWVmRHVkZzSHEyR3k2U041Z0crdUJmREpMNzdjSjFvMzFxbVA2V3NSeE1XYXhVczVYenFic3BDY2w1VlYwYmZhWFM5amRIc0RPYlJ3dzF6U2wwTU9TVTdvY0RsckNxUlVRR2pEdmxUdjJ0Yk5oQWd2K2FCN1VtY0RUR0JLU0tWaUtzQVlkZEhIL2lFeU9NaGhyWWprUHlhQjZiRVpMNXlUR0IwbzlwUEZaeVZVOEwvWE9KckZ4TjlPU1JiczJpYlJjdU9WK2lwWjIrZkFLR2ticjloL1IyUHY3Q2RweDg3Q2ROWDl0dFNBVGV5M1ozazJEekFkemlmWjVvRnBtaGVmZDNJZDkvK0c5YmY4U3BaMjNzL1pzODlaTmhHZGtEZW8vY2d4K2FSTklMTmcwZFVlVUZoNVpUNkQ4M0pQRnJ4K0U0bDRncWNyOVZSVEVIcEpldjduNVQxZEZ5VnpwQlJmb3p0cGF4bkFNd2pZYWhNMm1nZTRLc1NjUVhPZDV0Z2VJSnUxcysvS092cHVIcjZXNjJtcGZ6WTM2UjUySmlkd1R5NnVtRk9xYU1ocDJRbkZNZ3ZxRVJHQlhua0FRT1JSeURZRGd3RXlFMGV4Ull3RDV4OVM1d05NWUVSaEVyRVZaQkhIcnFCNkNNUTJZUnlNNXF4aGI1ZG1hOGNFMFVncDJRWEU3MEhzV2gzTW84ZWZUSU0weWd3aWdFOEdwRHI0S3hlTHVkWUFPTmFuVGJVY1FUY3lOWnpnR1B6QU45aFk4eGp6UGdNTVIybGx6Ly92RW5USHpEV2VlTnQ3VWV0L1BUekZlbzk0TFNoamlOZzZxclhRTWZtTVdEWVRidXBPVE1vekp4UzM4RTVtVWNML28vaWloMFR1RFRSZUxmejllZmZWOWJUSVg2WHl1K3orYXhmVWMrQXFKNTB2ZGxnbWJUUlBNRDM3dnRNNGRLU1YwUzdlcm0rbkVWV1VVK0grRjBxdi8vakhXVTlBL3JjVDlkYkdNM09ZQjZkZUx5cUVuRUhjRXBPcWYwWXU2RFFQc1gzRUgrVnlLZ0FjZE9oR3dpQUVZaCtPU3hHSW5tNXQwRUh6QVBDS1hFMnhBUkdEeW9SVndIQ3JrTTNFQURid0RPeVlDSVlpZVRteGtOYjZOdVUrY294VVFSeVNuWXhnY2RhcUVSY2hWWWRzeWhsS3paenV5eDdUMTMzNUNuajJmd2J5eTRxNjlrQzV0R2puMlB6QUYrVmlLc3dkRlFXN2Q1ajVMdDZyYnJ1TjJlTmZQL3owVVZsUFZ2QVBPN3E3OWc4K2czSm0za1VaazZwZDFKTzVzRkNyUlJ4RlNZdklYcmhnOXRvaHlrdlJUMGQrRjJ1ai9WVjlXVEFQSm9PbEVrYnpRTjhWU0t1d3VOOEJyOWkvVzJNWDZTdXB3Ty95L1d4dnFxZURCNTlYRzgyeU1EWFlCN3VuMU95RXdvSXYwcGtWTkROQXRDRkRrS0dUd2crNXZlUklNYmZxdlhOQU9LR1Q0bXpJU2IwS1NjejBJVWQwTTFEL3g1VFRiaHlDOUMvend2MGRXVytja3dVZ1p5U1hVemMxVjh0NGlyZ1JVMHdDeG1xZWdBdVlUVmJWd2JNbzFzZngrWUJ2a05adE0wQUR5MzhtTTFDaHFvZU1JOGx3bXhkR2NoN2RPL3IyRHo2Sk4xUzVuYXlRMkhubEhxeDJZR2JIQk5HODhEVk95b1JkeFZnSG8zN3k2U041Z0crS2hGM0ZXQWVObVpuTUkrMm8zbS9PTkpOd2prNXBSRjJRYUY5aXU4aFRpcVJjUlVnYmhCUGliTWhKdkp6TjNoaEFPYUJ2SW5NVjQ2SklwQlRzb3NKdk4raEZZdTJ1MERjQlgyM1kvTUEzNkY4aUxnTGtQZm8ydHV4ZWZRYWNNdVEwOGtKenNncDlXQ3pBemM1Sm96bTBYZ0FpMHBYOTBIVVhYUzlZVitadE5FOHdCZUpiSGRCNzZsMlptY3dqMVlqZWI5c0JOd0JuSmRUR21ZWEZOcW4rQjVUSXlxUmNSVWdiaEJQaWJNaEpqQ0NVSW00cXdEendKU2R6RmVPaVNLUVU3S0xDVHdvcjFWSDkwRTdsb3JPUFIyYkIvaXFSTnhWZ0hsMDd1WFlQTzdxeCtiQnBtZ1d6c2dwZFdPekF6YzVKb3ptMGFBZlVUak9XRzFFM0ZXb3grWVIwMXNtYlRRUDhNVVpmeThXYm5kQW4vdm9lZ09qMlJuTXcvMXpTblpDZ2VrbVFDVTByZ0N1QnNySlBEWnVWQXU1SzdCcFUvYm1VUVJ5U25ZeGdjZFZ0R0ZSVVFtNUs1RElvZHp4THNmbUFiNFE3U0dqM0FNajJEdzYyWmlkYkI3ZCs1ZzNENmZrbExoL3U3RFpnWnNjRTRhZ3VGYVB6MVliY0UvWFllRjJCelRxUTFkNDlBRnVHbW1EVUZ5TDdVUFUvMzRXN252ZEE4emxTcXpSN0F6bTBXeUlXc1JWY0ZwT0tja3VLT1NZd0puczh1WG04eDZGalJVci9pMnVMcEk0RzJJQ0FwcWM3RDVUVnlrcHllTHhJVEpmT1NhS1FFN0pMaVlTdS84bG5pZWxFbkpYQUNPTGR0MStGLzJwTW8vMlBmNFNOK2FwaE53VkdETVJaL05HdnJKNWRPMXQzanlja1ZPQ09XTmtCMjV5VEJpQzR1ZGFIZGhpeGhCRjlGQ0x1VE1SY1JkSHhUajZOaVJSSm0wUWlwOWhkSU5taUROK3BaZzdFMzJadzVDWjlHMkRuZ2ErQnZOb09rZ3Q0cTZDeUNrTnNBc0tPU2FlZSs0NUZxU1AzV0wwQVE1cjFud3M3cXFXT0J0aUFsY3ZiZCsrTFY5SjdvSUNPSUNMVFFMYUVCTkZJS2RrRnhQTjI1MFF6NHZDbFRndFdieGRDZHpFTm13Y1VYenJnNkkvVmViUnV0TUptblRmTFJvKzloYUx0MnN4Z2psTW5uYUxXbll3OHBYTm8zT3ZXOHJjanF1QVI1UmdaQWR1Y2t3WWdtSnJZQXpkaUdUUjdzWTIzWXlGTG9iRnVUNlBScHdKdE5tYzIrNDJucm4wcEs4Q28yWFNCcUhZR3QrVGJtQzBOR29lMGZDNVJBUHdpQkRjNmUxRW9NM2hEd29PNFBKVmsrNEd2ck5temFwdE5ZL0dBMW0wT2RyZEJTS24xTTh1S09TWVlQN2k3SGJ0MmpYaXlpQUlJUVRQbVVDYk1BVThCd3BjcGsxei9JS3dmL3pqSDJMMHNXUEhkbkhQQmhMb21NcHlKdEJtYXVvV3dRRmNjQVdVekZlT2lTS1FVN0tMaWZENnI3Tm9YNk1SNDRsNjlyZGNqWU41Y1dmQ2NnV1E1YkxYZHQyeUtLemVTNkkvVmViUnVQbnJYT2NhM1RmckZwdklUUjZGM0tTUjQ1MEx0SW0ycHpJSDhHMFliK1E3WThhTU9qcmZUbmV4ZWJBeHVndVFVK3JRUFFmejJPQVhTZWtWbWxBV0x1UHNpWHZvcHhEZGZRLy9sNXdFdE5XSDI3eHJBbDJyMjQzMk01ZlZ2dUV5YVlOUWJHamVrOUtiOUtRc0dON1FXVVQzTENMQ0M1d21QZXdjb0szSi9EbDRKbDFqRHZ1WnkrcTRiZ2EraXhZdENyR2FSME9PZG5mTEtjWDJzUXNLT1NhbVRwMUtDeFlzRUZmeHdFRFdyZnVNUHZ2c1U4WmFKd0Z0ZmNadHJ4YlRWZUF5Y2FMakp5M2pTaU84VVE4MzB1M2N1WjEyNzk0bEh0UHVUS0JOdEkzOEE5N3loM3N2Wkw3ejU4OFA4ZkR3RUh3eG1uS0hVWjBPUlU3SkxpWnFoVDlCOVJwOXpDT1BxK0sxcXVQNWtOWGZ6KzBzb00xUjNIYnJ6bjlSdllZcktTUnNrZWhQbFhrMGpIdUM0bHAreklaM2xhWk12MFVQekw5SnN4bXo1amtIYUF1NGg5dHUyK1V2NXJLU1lob2IrUzVjdURCVTU5dWgreTIzeXlrbGRsV2Jodysrd09KSHZuV0ZnV3dKaUthdnE3YWdYME02ME8raEhaMktpeUh0UmR2Slplc0xMc3Q5dzNUU3Z6TFhBSUNGNGs5MC9FZE51Z2dEMmNJamtLOWo3NkpmbzNyUTcwN0d4WG85Uk52SnpBRmNsamZ1SlBNTlpERXB6M3l2Z2U5Vk44d3AvUlZsbldZRFh4OWVOc1RFdUhIamhJSHdtWkU0ZzM3eHhSZUZJRG9UYUJOdFQ1OCtYWEFaTThaNlk2TmRUTEF3Q3dQQjFCYW1YNUFId011Tm5BazhjZ1J0UC9YVVU0TEwzTG5XdHpYYXhRUk0yZDF5U25qc2ljVFhMaWFDNnl3VUJoSlc3MlZxMUh3SE5XLzNQU1VrL3VSVU5HLzNyV2k3VHRRTGdrdHc3WG5nQ3pHMnhvVE9ON3JSUW1FZ2padTlUTTNiN3FDV0hiOW5VZnpKcVdqWjRWdlJkcU5tTHdndTlSc1krQWJ1M0xtelBQOTlEWHpiZFA3RHZYSktMRm10TzEyeWl3a0VoVGZ2UUFZV0gvYXVJUVRibmZCQW1XcUN0S2VuSjE0NlhoYnc4dkxLUU1jL0hCRW5CTnVkOEVCWUl3UGZBd2NPQk9sOGo0VzJkYnVjMHY3Z1ZqSmZiMTQyeEVTUEhqMkVZTHNUT25mdTdEQW1oZzBiSmdUYm5UQmdnQ1d2eEJ6Qk55QXRMUzBRZlBFZFhpZnJiamtsdktWUTZsKzdtS2hjYmJnUWJIZEN4YXBKUW95OXZiMnRNY0Y4ajRKdnJiRGhRckRkQ1NHMWpYelQwOU9EZEw1TkV2YlJrTkh1azFOQ2ZxdGhNOHRyQmVTWVFGQ1U4ZlB6ZXgyTDFUMjg2QlBmY0tXSXV3S2YrVVZRVGVZRWJnRUJBZjlncm40QUw3OGgrSHI3MFNkeDNaUWk3Z3A4RnQrZGFucjdxL2lLL20zcEhVUlpmS1pQM2QwZ3A4UWNia1Qxb25iZTVRVGZzbVhMUG9WWTRHVkRUQVFHQnRLa1NaT1VJdTRLVEo0OG1jcVZzM0JXeFVTRkNoWEVDNU5VSXU0S0xGNjhtQ3BXckNqejlXZjRjbisvaHUvQ3dzTEVGVzN1bEZPS2pJek1OaVk4UFN0UVNOZ1NwWWk3QXFGMUh5RlByMHFDTThmR000Z0h3Ti9mWC9BdFU2WUN4VFpab2hSeFZ5QzJ5U05VeHRzeDM3SUJjZFM2NDFWeFA0aXJjMHJnMExyVGRRb0lhbUVYRXdnS3o5RFEwSzRlSGg3ZjQ4K0VVdjRpejZBU2MyY0NVMmpOU3ZrSnd1Qld0MjdkVHN6VkcrQURycHVWYjdrcUlzK2dFbk5uQWxOb3pZSXFxL2o2UkVSRUpQSjNGL0RiQXdHMTZIbzQvMmQ2VGlUcWU2OXJja3JjOXRYdzdqUWpJTVRLdDM3OStzMFFDL3kzWFV6VXJsMWI1QmxVWXU1TVlBcXRWcTFhT2NaRXZYcjFSSjVCSmViT0JLYlFJalVoQnJmdzhQRE9pQWZ3bFdPaWE5ZXVicEZUd25TVlBxb0QzK3hpd3Rldm5zZ3pxTVRjbWNBVW1vOWZsREltNnRTcFk0MkpnS0I2SXMrZ0VuTm5BbE5vQVlGS3ZqNGNIOWFZcUZaekNyWHM4TGQ0ZlB0NFBteHhtYTB6TVk3YkhEbmhGclZvL3dkVnJUbEpHUk1JaXRKOFFEYm5zNk5KUEl5NmhLOHFsQ3hObzd3cTByUGVJZlNTVDZoVDhZeDNzR2c3c0dRcFFaZzVYYTVjdWZJNFB0amltS3NYd0IyZVlPRHI1VTJqYWtiU3MvVmIwa3N4Ylp5S1orcTFFRzBIZWxwR1NDcStyVnExQ21PK1UvaTNLNmdUNCtsUG4xVnVST2RDRXVsOGFBZW40anR1RTIySGxmWXg4RzNkdW5VSVlvRy9VOFlFbjNWU1FrSUM5ZS9mbjVLU2tweUt2bjM3aXJaOWZJeWNzNHNKUHNzWFFnalRtekpsaWxNeGZ2eDQwVGI2VE1HM0RNTXpQajYramh3VDFhdFhGd2FKcThWd2ViUXpnZndRMnE1VXlYSTJyUFBOS1NaS2xRNmdjaFc2Q0hHcEhqTFZxYWhhYzZKb3U1UjJncWx6WnJPMnhnU2ZVQmhpd3RNcmdLclc2RUoxb3laUlJQMnBUa1ZZNUVUUmR1blNqdm0yYU5IQ29CTStmQklkR2JPY21yWThTWEd0djNVcW1yUTRMdHIyOWc1MUdCTUlDZzhPaWxvY3ZKMXIxS2lSNU9ucHVRTmZ1d05LbFNxVlVhVktsVkhneHVKUWs3bVdBb29ZMzlMcjE2OHZFeHdjM0FhZHozVk9xZFoxQlhTK0lTRWhyZFBTMGp3UkMveDljVXdVSUdTKzBkSFJ3WWdIb0RnbUNnNUZPU2FLc2s0Z0tFcnljTld6ZlBueUxiaENKeWJmaFplbjgxblRNaTh2cjFUc2hEUEJiYVp3MjIrQ0E3aUFFN2lscEtUZ29QTUFpaHBmUnFuRXhNUWcvcTBEeDNQWGN1WEt6WFlYdmxXclZrM3MzcjA3cms1QkFKY3Nqb244d3dUZmtvemltTWdIVFBSeHNVN2tBN1o4VlRFaGdnTGc0VlBab0tDZ3RoVXFWT2lFSFlNcllpWHNoQXgyeWdLRjdmYlJKdG9HQjNBQkp6NWpRNUpSOEN5cWZCa2U2SHl1MTl4ZCtISkF4QThjT0JCY2RVR3pDZ1ZRSEJQbVlMdjlIUGhhK3hyTHhURmhEcmJiejZHUHJTaldDWE93M2I3TTExRk1JQ2lzZ2NHa2NVVkZBMzkvL3c2QmdZRWRzWk02c0pIQ2hOd1cyZ1lIWDEvZnBseDhkWDRhMXlMTGx5SE9McUtpb2lxRWhvYldybG16WmdQZUZvS2tPUSt0RXdvVGVqdmNaaXpham8yTkxhZnhrY1dzT0NieUFibXQ0cGdvSE1odEZjZEV3VU52eDB4TTZLUU41SG00Rk1qT0dNbzdHc003R2g4UUVPQVVvQzF1TXhwdGc0UE9SK09tUXBIa3EwSC9oNGhBY1JMa05tVXVWbzdGTVpFLzVJR3YyNk00SnZLSHZQTFZJQit6cW1PNk1DQzNLWE94Y2l3dXhhVzRGSmZpVWx6eVZtUTMwV0IxbWh0SGwwUXo0cHlNS0prRFE4VlJScEhsNnlZdzhNc3BKbEpUVTZPM2JOa1M1MHh3bTNudTQ1TW5UMFl6NHB5TS93OHg0VXBnS2dYM0d3eGl6R0E4eG5pTzhhWUdMT003L0lZNkNReXNvOXFXUzNCSGxHOW5XOEE3cEFlT3g0Mk1oMmZkeUhqb3dvM2pDK2ptOFhsT3hZM01CU1Rhem5oNEVyam92Q1NlT3V6NW5saENOMDgrNGxTZ1RSWGZzeTkzTEFId3NoMWZEZm9RRVZkYk9CTzJRMVBCUys5ZmxLbFRwd3JvdjZGZVNrcktyT1RrNUF0NFYwWnk4aVluQTIwbVgyQU9oajZXZU5yMThmSGp4MmN4TG1SbUhxTmp4NDQ2RldnVGJUTU1mSmN1WFZvQzRHVTd2aHJjS2liMC9rWGh2L09GL0JSZUgvZEN6R1I4d3ZpV2tkZUNkYkVOYkN0TzI3eFRDcmRYWVAzaE5rVXlEaEc4TnpNZSt1alc2VmxFMy9SaEpETGFPUmxvc3orQkE3aUFrOFpOQ0J4LzJ2UDlkaW5SL3g0aSttMHVZNDZUd1czKzhoRGRPcnZVanE5a0hsYStEQnlzdUZaYTNCakV3RTFqem9UZUxqam93bUh0WHhUSk9BUm5GdTJQTm0zNlVqekN3aFhQWUVLYnExYXRwRTJiOEhLbEZFTWZTK1poNWN1aS9kR1JJNGRvMjdaVWw3eFZFRzNpUFI0WkdZZGhJZ2Era25rVWlaaHdsWG53T3YwWWVJbi9PWWFoWExwMGlmYnYzMDlyUC8yVTNucDdHVDN6ajJmcDBjZVcwcno1QytuQmVmTnA4WkpINk1tbm5xTFhYbnRkUEJoeno1NDk5TnR2djJsckd3cTJqVGI2YWMwV1d1RTI4dFVmYmxsNFIyNEw4ZEZGbzIrZG1zM2kzWkhvREF1NUs4RWNicDE2Z01BSjNEU080R3JrK3cyUFRuK2JSL1FyQzdrcndSekFKVHUrREJ5Y09GaTl1M1RwVWpzaUlxSzFzeEVXRnRhcVo4K2V1RXNVajBRQUYzQ3k4cldOQ1JicjBaczNmMFY0VkxkSzJKMEpjQUFYY0FJM2phT2hqMW1zUjBPMDhWNE5sYkE3RStDZ0dZZ3RYM3dLdm95aUVoUDVncG5DOVpveVhtVWNabGpMc1dPWjlPNi8zcU1ac3g2Z3Uvc09wR1l0MnVRYURadkVVOXZFRGpSbTdEaDY2YVdYNlBCaFF4TW8rQUp0RjhxSWhMZWI2LzV3KzhJN29nZXgxODJNK1lmbzYwRkVYN040dXdQT0RHRXhYckFEM0RTT01peDhmMzZZUngwUHVBZVlpd08rT0p2RGQ5N1ZxbFhyVTdwMDZUM28rbTVOSzFGU20ycE9SY2RHRlJDNWVCVDB0dURnNEs3Z3BIRURUK3ZkeE5yZlhzbkp5WWZ3MUZlVm1Mc0NhOWFzeGhTV3c1ZzRkdXpZSWJ4TFF5WG1yc0N1WFR0WS9JN0pmR1hUc0l1SkJnMGFpRWV4T0JNeE1URm1ZaUpmeUs3dzc0a01UQ2RaeTlHalIrbVpaNStqbnIzN0tjMGd2MmpZcEJrMVQyZ2hIcGQvNE1BQnJWVnJBWmRFalY2QkZONmU2ZjRvTW9WM1JCeDBESityQitkazBkYzg2ampkMWszUWpmNU1tLzAzYzlPREdRY2NoQmhuUnhhK0Z6QnR4TUx0RHJnd3p5RmZQbHYyOS9iMmZndGQvdEhDNW5SMTMweTZjWHcrM1R6K29GTnhJM08rYVB1dDZVMkVZUGo1K1QydjhSVm5tN1l4c1dIRGhpdzhlVlVsNUs3QWloWEw4WklsaHpIQlo1UlptemU3ZnRTaEErOHdUMDlQMS9ucVhQRnBpQW04SFZGLy83bzY3MU9ZMkN6YTFsK3k1U0FtOGdWVjRlK2JNOVl4UlBucnI3L29nMzh2cHlIRFJsSjhRbXVuSWJwQlkwcHMzMEU4NSt2UFAvR3VJMnNCdCtZYTNYd1YzazZPL1ZIa0N1OElBc1RieDhmbnFac1pjNGhPOFJuL0tSWnVkOERwVHZUcjdtbms3KytQS3lmd05GSUloQkFKSzk4THM5MEg1K2RreC9kRmRQZUo1WDNwNXVtWjVNcWMwcTB6L2VqbXFWbUNDemhwZklWWTJNWUUzc090RW5GWEFVYTJkdTFhaHpHQk0xYVZpTHNLZUNYdDd0MjdiZm1pcjYweGdUY2ZidHlJbk5LSExzNHBmU200T0lpSmZFRXUvRGRNZnhsRGxOOHZYNlkzMzFwR25idmRwUlIzWndHamtlaVlCdlRvbzQrS3ZJcFV3TlZMbzUrbnd1czc3SThpVzlBcEVSRVI4Yng0NDJZR0MrQkpGbTEzd2FsTzlNZmUrOURUTjVvMmJSckxYSEh3K2VDeHdGYSs1MmU1RDM1K2dQN1lKOTZ2YmVBYkdSblpBbDM5L09RWUlkcnVrbE82ZVdxMjRDVHhGUWNJUHZXWWdBQ3FCTWRWUU43ajAwOC9kUmdUR1JrWlNoRjNGWkQzMkx0M3I4d1hndXdiRXhQVHNtVEpralJ5NUVpUngzR25uQkk0U1h6MW1NZ1g5TUxMQXhuSEdIVDkrblg2MS9zZlVJZE8zWlJpN2lyRU5tcEtFUkZSNGduSDE2NWRBMVVVY0I2ZzdVYXVDNityN0k4aVhYaEhlT1JzR1RyZnpHQmhPOUhHZlhDeUkxM2RQeFU5VGI2K3ZtOHdWN3cweForSDFXL2p3Qk44ZjNZai9QUUFYVTBYNW1IZ3kyZVlLOEgzMHFZeDVGWTVwYStIMElYMXd3VmZqb0hYbWF2KzRoOXJUSHo1NVpkS29ja05jRFlMcUg3TExTQnc2OWF0Y3hnVFI0NGNVWXA0Ym9CM2p3T3EzM0lMbUFldURKTDQ0ckVVWmZXWXdCVnM3cFpUd3VnT2ZHMWlJbC9RdG1FZGJlemV2WWY2SncxUmlyZTdJQ3c4aWswa0FoZG9hS3hGV1NaMkpwZUYxN1ByanlKZmVFZDhQRHc4em1MeDVwRVpSTWRadEUzaTlGZnh0T0h0bUJ5eDR6OE5SZDJzbzYyVjIzR0lFeDNwK3Y0cElwQ1pZeVp6RmU4bUxsMjY5RmxoSHVENzAwelRPTDFyTEczNFQ3OGNzZU96d2FKdTF2ZlRsZHR4aUI5bjAvVUQ5NnY0L2dTK053NXdIVGZMS1YzZlorRmJxbFNwRTRnRlhqYkV4SVlORzVRaVl4WXdqUVVMRm9nWEl6M3p6RFBLT3JtQmJCNnFtTUJWTkNvUk53dVl4dnZ2dnkrQTk1R3I2dVFHc25sb2ZQR0sxQUJQVDA4UkUraGZOOHdwcVdJaVA4Qmp4Ly9MRUdmeS8vakhQNmtaQkxwNUs3ZEhYSHdMcWxxdHVzaEpYYjE2RmJ1QWduMnBpWDR4VzdpK0FYZEU0UjN4NVk4YldMeDVaSnBheEIzZzRtbmN6Smx6dWZ5L1REcTEveFhhczdwMTdneUV6U05yLzJRUnlIeWc0VUp0UEJjbWtJUDZoc1U4bU8rUEVHMXp1UGpkV3NFbnAzTDUxek4wNnZDSHRPZS9iQ0Rmc1lFb3RxWEVEN01wNjRCbHBLVHp6Y2pJS005OGJ3cStoMmFUVytXVVRuV2lySDFpV2hCOE1jbXJDNFUxSnBCSVZZbU1XU3hjdUZDWUJ2RGdndytLTit5cDZwa0Z6QU52dnRNNDI4WEVvVU9IbENKdUZoQnltQWFBOWpBeVVOVXpDNWhIV2xxYXpEY2dNek96Z2g0VHFHTzdqNjRFOWw4M0Q1dVl5Q3R3dC8xWkJuMzMzWGMwWXZRNGlvTW9GekhVREE2bHVMZzRPblBtREhZRkJUY2NScUZ2ekJTdWE4QWRVWGhISUJRaVdHNGVtVXFVeWFKdEVtYk5ReTh3a1dQL1pmRlViRXVKNHpBUHl4VWdITWgvOENhQ0FEN3c4TGVGN3c4OCtqQUpzK2FoRjVqSXNkVEp5bTJwTVl2TjR4NEQzeVZMbGdSYitSNWlnMUhsZGx3R21NZTlPbDljWm9KWU1NVEUrdlhybFNKakZxKy8vanE5L1BMTDR0cDZqRUllZnZoaGV1eXh4NVIxelFEbW9lVThsREZ4OE9CQk93SFBEV0NXbjMvK3VSamRRRVQxOTN1cjZwb0J6R1Bmdm4wT1k2SWdwZ1VMRXVoZjdML0dWNDZKdkFCWFUvM0ZvSlF0cWRTK1UxZWxNQmNWMUkyb1IwRkJRYUovdElKOU0zVTFGdGN6NEk0b3ZDT1NlVXdod3NqQUpDNmV3aFJ1N3NxUEoxbkFGZHRTNGxnSE5vL3hjaURibUFmenhkU1NTVno4Tm5mbWdmTGptV1RsdHRTWXllWmhlZCt2enBlRkl0VEs5eURYVWVWMlhBWTI1NzFXczFPYUJ3UlVKVEptZ1RQNE45OThVeGdIREFSR2toOERnYmpoYWl1SnN5RW1jTTIrU3NUTll1Zk9uV0lxQ2ZzTkE0RlE1TWRBcElTNU1pYnlPeTBJRkZaT3lTWW1jZ3MrZ0MzbGs3V2ZVdk9XYlpXQ1hOUVFGZDBBOThPSXZwSkthL1JSZG9YckdIQkhGTjRSeVR6NExEdUQvK2NtSVp2SDVmUDdsSFhvOUJpNjhlZEpyUlpSMXJYTDZub3FIRzNQNWpIV29WQUl2cGhXTWduWlBDNy83Nml5RHYzMEROMzQrM3V0RnZoeXM2cDZTc3hnODdDT2xBVGZ1WFBuMXJsdEh2ZmJUODFsZzBMUEtXRmt0OWM2TFNnTGhUVW1JSjYyQXBNYmZQamhoMktrQUFONTlkVlhyY2lyZ1VEY1B2bmtFNGN4a1o2ZXJoUnhzOWk2ZGF1NHRGWTNFQjE1TlJDWUJ4NlBJZk9WWXlLLzA0S0ZrVk9TcGdYbG1NZ05PQkF0NVYvdmZTQkV0Mm16bG5jTVlobzBvY3BWcW9tcnNhU1NyWUh3N3diY0VZVjM1TFo1SEo1SWRJVC83eVp4OGFTTmVTanFBTCtrczhqTFJWRkhpUXcyajdUUkRvVkM4UDEybW1sY1BIdjdKbFpoSG9vNndDK1pUMnUxdEtLb284WjB5a28zanBRTTVuRmdxa0xBSGFQUWMwb3dqejBHczdNekQ1eUZxa1RHTEpCNFhybHlwZGpPRzIrOFlXY2d1YzJCUU53d21wRTRHMklDeVdtVmlKdEZjbkl5YmR1MlRZd1dJT3o1TlJDWUI4eEk1aXZIUkg2bkJRc2pweVJOQzhveFlSYkljZnpPb0xlWHZhc1UzenNCc1EyYmlqNTY0b2tuc0tzbzJPZDY2Q3RWNGQ4TXVDTUs3NGhrSHVPSkRyVXlqWXNuYnB2SHBaLzIwY1d0emUxd2RrTWNIZDJ5UUt2RlovSlhmbEJ1UzRuRGlXd2U0cHB6cFZBSXZ0K3dhSnZFeFc5dW04ZWxDMGZwNG9GSmRqaTdmU3dkM2ZtU1ZvdjUvdjJMY2x0cXdEeU1JeVdEZWFSUFVlZDJIS0RRYzBxWkhTaHJ0OEhzN013RFo2RXFrVEdMOTk1N3oyb2dHTVVzVzdhTVhudnROV0VleUljc1dyUW9WNEtYazNrZ09hMFNjYlBBVFgyeWdlQTdDRHpNQTJheWZQbnlYQmtJekdQWHJsME9Zd0xiVmUybldSUkdUc2xtV2pBMzVoSE1FQTh5L0d6ZDUzZmNpTU1Xa2ZWaXhQOFFKeFZhd2I0SG83OXNDMzl2d0IxUmVFZXNRbkhyOEJpaWd5emFKaUdieCtWZk1tbnYydEYyeU56K0pHVmR2YXpWNHZMVE11VzJsRGlVU0RmU2hqa1VDc0gzelAybUladkg1WXRuYU8rR0JYYkkzUHUyWmFwS0w3K3VWMjVMaldsc0hxTWNDc1hOOUVuMmVaMXNVUGc1SlI3WjdSNmpFZ3ByVEVCSVZDS1RHOEE4WUNLeWdVRDBZQ0s2Z1R6NTVKUEtkVzBCY2NPVFVpWE9ocGpRQlQrdmdOakRQR0Fpc29IQU9HQWl1b0dzV3JYS2JsMFZzTDBkTzNZNGpJbjhUZ3NXUms3SlpsclFySG5nbVYyYkdiUnBjN0s0VDZKSmZJczdIa2lpNDMrSjBacFdraG5pZVdCeTRlOE11Q01LNzRoa0hxT0lEckJvbTRSc0htYkt6NW4vcHN2YkU1VGJVdUlnekdPSVE2RVFmTDltMFRZSjJUek1sSjlQZjBHWEQwOVdia3NObU1jSWgwSnhjLzhFKzd4T05uQktUbW1Yd2V6c3pBTkNvaElaczRCcDRCTUdnaytjdGNPUU1JV2xBeWJ5eUNPUEdOWnpCSWdiaEZ2aWJJZ0o1QmRVSW00V01BM2RRUEFKQThHMEUweERCMHprUC8vNWozSjlXK1JrSHZtZEZpeU1uSkxOeU02c2ViekxvTk5mZjAxdDIzZFdDdTJkaXBvaHRTZ3dNSkF5TTNFYmp5anZvcy9rd3Q4WmNFY1UzaEhKUEVZUXBiYzBqWXZIY1FPcStYTHgzRjdhczZvL1plMXJvZHllSFE2MFkvTVk3RkFvQk45VDk1bkd4VE5yQkErejVlSlBSMmpQdWhtVWRmeGU1ZmJzY1QrYmgzR2taRENQdEhIcTNJNERPQ1dudE5OZ2RuYm1BU0ZSaVl4WndEeGtZTlR4OU5OUEc4d0RVSzJyQXNRTkl4aUpzeUVtSVBRcUVUY0xtSWNNZkxkNjlXcURlUUF3QmR0MVZVQzk3ZHUzTzR5Si9FNExPaUduWk1ZOEJqUG83Ny8vcGdGSlE1VUNlNmNEQ2ZUNjlldlRsU3RYMEJVb1E5QnZldUcvRGJnakN1K0laQjVEaWZhemFKdUViQjQzY01aN09kMGVWMjZmRmFOZ0N1dTdMeE9WMjdORE9zeGpvRU9oRUh4UFRUVU4yVHh1WE9mTmdac3RydDYrMGdvRlUxamZiYjlIdVQxNzNNZm1ZVFE3bzNtTXRzL3JaQU9uNUpSMkRsVUpoVFVtSUp3cWtUR0xkOTk5MTdvTTQwQ0M5L0hISHhkbnloQTdmRUlBellvb3hBMmpGNG16SVNhUVgxQ0p1RmxBN0hYZ2I5dzBCM0hHMVZjd0RYeGlWR0oyaElQdFlQUWk4NVZqQXFNRzFYNmFCUXk1b0hOSytKOUxmTTJZeHlFR1BmSFVNOVE0THVIL0pSbzFiUzc2Yk1xVUtlZ0tsRVBvTjczdzN3YmNFWVYzNUxaNUhPSVRpRFFXYlpPNG1IbmJQQzcvekdmR2lqb0NlR0dUVkw3ZDk3UzZuaTMyczNuczYyODQ4QUNyZVlEdlNSWnRrN2o0OVczenVIemhxTEtPd004ZmFMVXM1ZHRELzFMWHN3T2J4LzVCQnI0Rzg5ZzMwajZ2a3cyY2tWUEsybUV3T3p2elFINUJKVEs1QlVUdG9ZY2VFcmtOM1RqZWV1c3RJWDZZQmtJZVFiV2VMU0J1bUtxUk9CdGlBdmRwcUVUY0xHVGpRQ0lVVTJTNmNlQ0dQb3hHa0pUZnNtV0wzYm9xWUZ1NC9GZm1LOGRFRWNncDVXUWU0cXFPZmR3bk9BTlhDZXYvRjRUV3JpditweGhwYXVWTjlCMEtMeHR3UnhUZUVjazhrb2oydGpDTmk4Y2s4L2hwcjdLT2prcy84dTlheWFtdUZmdmFzbmxZSGh1dUgzakFiZk5ndnBoU01vbUxwMWVMOWxFdVg4aFExdEZ4NlR6L3JwV2M2bHB4WWlxYmgzR2taRENQdmNQczh6clp3Qms1cGF3ZFNTcWhzTVlFQkVrbE1tYUJrWWMrNHNCbGpUQU9RRGFPRlN0VzBEdnZ2S05jM3hZUVN0U1hPQnRpQXZrRmxZaWJoVHppMEkwRGtJMGpOUld2dDkxb3Q2NEsyQjdxeTN6bG1DZ0NPYVhzekNPZVFWbFpXVFJveUFpbG9QNS9RNlhLVmFsaHc0YWlUN1FpM2t6SW53YmNFWVYzUkRLUC9rUjdXTFJOd3M0OEZIV0FjNTgzWlFHMkpwUG9MOHpmSytyWllXOGJObys3SFFxRjRKdUp5MS9Od2M0OEZIV0FjMXRHMGVYL2ZhM1ZaTDY0SjBSUnp3NXNJRm43K3prVWlwdDdodGpuZGJMQlJTZmtsTEsyRDFBSmhUVW1JRVlxa1RFTGZjUUI0NEJoQUcrLy9iWVFPNXpOWThRQjQ1Q250N0xEKysrL0o5YVJPQnRpQW1kOUtoSFBEZlFSQnd3RHdIZVlxdEpISERBTzNXUnlBdXBoSFptdkhCUDVuUmFFZWNoQWYrYzNwMlF6TFppZGVZam5kT0JHUUV6YkZLTTUxWXR1S1BvT0w1YlN5dWVxL3JzakN1K0laQjU5aVhhejhKaUViQjYvc25EdGZTZldEcW12UmRPUnIrWnJ0U3dsNjl4L2xOdXp3eDZZUjAvRGdRZmNOZy9tZTR4RjJ5Ums4L2oxcHlPMGQrVUFPNlMrMzRlT2JMSCs0MFhKT3I5SnVUMDdzSUZrN2U5ajRHczBEeDRwcVhJN0RpQ2JSK0hrbE5xeWVSaEdkbmJtZ1NraWxjaVlCZWJia2VPQVllakdnYk42M1RoZ0dqcFU2OXNDNWdGeGx6Z2JZZ0w1QlpXSW13V0VFNk10TEt1TUEyYWdRMTdQRVdBMGVLUzN6RmVPaWZ4T0M4cjlwby93OHB0VHNwa1dkR1FlUFJqMDIyKy9VZXQySFpWQyt2OFZWYXBXRjFkZlhieDRFVjJFZ3I0eTlOOGRVWGhISlBQb1RiUXJ3VFF1SG4yTlY3Y1VpTmJGNy9mWTRjcnY0cDRoWTBsbjBWZHN6dzU3V3JONTlIQW9GSUp2eGoybWNmSFViZk5BSXZ6aUQ0ZnRjT1h5ZWEyR1ZFNHNWRzdQRGtmdllmTXdqcFFNNXJGN2dEcTM0d0NGbjFOaTg5aldXeVVVMXBqQUpha3FrVEVMbUljODR0Q2YyZ29Ed08vNmRKWDVhYXYzeERZa3pvYVl3QlNSU3NUTkF1WmhPK0xBZ3cxaEFEQU1mZFJoZHRvSzlURGRKZk9WWXdJakhOVis1aGI2Q0s4Z2NrcjRuMHQ4SFptSGVIM3M4eSs4UkkyYU5DdUdCRHkrQkYwMmI5NDhkQkVLK3NyUWYzZEU0UjI1YlI0SGV4SHRaTkUyQ2RrOFRKZFRqeXEzcGNSdU5vKzkzUXdISG1BMUQvQTl3cUp0RWhkUDNqWVAwK1hjZThwdEtjRUdrcFZtSENrWnpHTlhQL3U4VGpZby9KeFNHOHJhMmt2bWEyY2V5QytvUk1Zc2NCWVAwd0N3TFhuRW9VOVg1WGJrZ1ROcGliTWhKc3dtc2gxQkhybkFpT1FSaDI0Y091VDFIRUZmUitZcngwUVJ5Q21wekFOUHk2VkxsMzRYb3c2OHZyVVlSaUQzZ1Nmd1NxK3pSWjlaKy9DT0tMd2prbm5jUmJTRFJkc2tycC9KeGVNemNDTmI1aHpsZGh4aUY4eWpxME9oRUh6eGNFU1R1UDZEOVM3UW5Bc2Vqdmd0bTZOaU93NlJNWm5Od3poU01wb0hqNVJVdVIwSGNFWk9LV3VyZ2ErZGVaZzlZM1VFVEpmb2ovWkE0aGtqRGdpWmJoejZzbmx4czh6dFM1d05NWUVSZ2tyRXpRS1g0R0trQWRQQWM3S3dQUmlBYmdMNk1xQmEzeFo2WFptdkhCTkZJS2VrTW8rM0dmVE91LzlTQ21jeG1sRmsvVmpSaDlMREU5Rm4xajY4SXdydmlHUWUzWWx3dFk1WjdPdkxvamtsWit6dXBGNC9KK3lFZVhRMkhIakFiZk5ndnJnRDNDeU9MeUQ2K3A4NTQrZ005Zm81Z1Ewa0s4MDRVaktZeDA0ZUthbHlPdzdnakp4U1ZxcUJyNTE1Nk5OTGVRV0VDMGxoek8xRDlQRTNCRThYTkh6cVVLMXZDNGdiUGlYT2hwakFOSk5LeE0wQ1FvOHJ0Z0JNTitrbWdjKzhtZ2MrWmI1eVRCU0JuSkt0ZWVBeEpIVHIxaTNxM1hjQU5Xd2NYd3dIOFBYenA4aklTTkZYV2tIZmlYNjhJd3J2aUZVbzZHQlhGbTBlWGJrTGRyWmk4K2pvVUNnRTMwT1QzQWVISjlHTk5PTkl5V0FlTzNpa3BNcnRPRUNoNTVSMnQ2YXNMUWErZHVZQklWS0pqS3NBY1lNUVNwd05NYUhmRmU0dWdIa2dmeUx6bFdPaUNPU1ViTTBqaVVGNzkrNmpCaXlReFhDTTZqVkRSRDlLOTMyZzcwUS8zaEdGZDBReWo4NUUyMWkwM1FVN1lCN3REUWNlY05zOG1POUJGbTEzQVJ2SWpUVGpTTWxnSHR1N0dYTTZPYURRYzBxNzJEeFNPc2w4N2N3RDB4OHFrWEVWSUc0UVFvbXpJU2JNNWlLY0JaZ0hwdXRrdm5KTUZJR2NrcTE1Zk1TZ3h4NS9naG8waWl0R05xZ1gzVUQwNDMzMzNZY3VRMEhmaVg2OEl3cnZpR1FlSFltMnNxaHNaZUYyQndqemFHYzQ4SURiNXNGOEQweG1zSEM3QXc1T1p2TXdqcFNNNXRIRm1OUEpBWVdlVTlvSjgrZ2c4N1V6RDB3MUFTcWhjUVZ3TlZCTzVyRnhvMXJJWFlGTm03STNqeUtRVTVMTnd6cGwxYUZ6ZDRwbGdTeEc5aWpqN1VQVnExZTNtN3E2SXdydmlGVW9idTV1emFMU2ppaVZoZHNkc0xNOVhkL1owcUZRM05qWFhnZzJwVTkwRHh5Nmg2N3ZNWTZVRE9heExaZTVuOExPS2UxZzgwaE9WQW1GTlNad1JydDhlZjd5SGdXSkZTditMYTRta2pnYllnSWltcHpzUGxOWEtTbko0cEVoTWw4NUpvcEFUa2syajJZTU9ucjBxRklvaTJHUGlwV3FpTDQ4ZlBnd3VnNEZmWWd1TGZxRmQ4UXFGSDk5RnNNQ09JRFArbHV3ZVBNK3VoSmJXektYZ2ZUYnFucUdBdy9RRDd5L05yV25XOGNtMHkwZWZkeGk4WFlwd09IWUZQcHR2VUdNYmN5akE0czJtNks3WUVkTE5vKzJNbDg3ODhDZHNxdFhXNFRKVm1pY0RYQllzK1pqY1FlMXhOa1FFN2g2YWZ2MmJhWVQyb1VKY0FBWG13UzBJU2FLUUU1Sk5vK1pESHJ6cmJmRm0vU0trVE5DUXV1SXZuejIyV2ZSZFNqb1EzUnAwUys4STFhaCtHR0pEOTNhMTRyRmNCRGQydEdOYm0xclI3ZTJ0bkV1MENiYVBzQWMwbHJUcVlVK2hnTVAwQSs4YzI5MzREcHQ2ZGJSbVhUekVPUEFWTVlVSjRQYlBEU0xqV01tM2RyZmxrNitZcHhtbXpWclZtMnJlV3hOVk9kMlhJWHRiQjZiVzh0ODdjeUQrWXN6MmJWcjE0Z3JneUNFRUR4bkFtM0NGUEFjS0hDWk5tMmF3NWpBcFpFWWZlellzVjNjbjRFRU9xYXluQW0wbVpxNlJYQUFGMXdOSmZPVlk2SUk1SlJrOHhCUEZwMTYvM1NLWVdFc1JzNklxQmNqK3JKLy8vN29PaFRjYklZdUxmcUZkOFFxRk4vT0xrRVhucTlBTi9lMm9GdEhodEN0UXlOWXhJY3poamtKM0JhM1NVY0cwODNkQ1hUaHVmS1VjWitGbTBvb3pyN2NrYzZ2YUU4MzA5aDBNbG5JTStlNUFBOXkyNVBweHQ0MmRINTVlenJ5ak5FOEZpMWFGR0kxajlTMlBLSkt1SjNUY1RXMnQ2S3NUWVpwUVR2em1EcDFLaTFZc0VCY3pRTURXYmZ1TS9yc3MwOFphNTBFdFBVWnQ3MWFURmVCeThTSmh2ZXVHMklDVngvaHJYcTRPVzduenUyMGUvY3U4WmgyWndKdG9tM2tJdkJtUDl5SElmT2RQMzkraUllSGgrQ0wwWlE3ak9wMEtISktzbmw4eTZET1hYdUl1NmlMWVE3NFg0ZUVoS0RyVU5DSDZOS2lYM2hIZkJBa1dFeWZZakdRY3c5NzBlOGZoTkxWcnhyUXRjMk5uSXFyWDhhS3RyOWY0Q200N0psc05ZOWZtV3NBd0VMeEp3Njg5Q2ZiQ0FQNS9zME9kR2xkTzdySzRueHRXeHVuNHU4dGJVWGIzNy9SUVhEWi9aajFUQjU4QTFsTXlqUGZhK0I3N1N2a0d0d29wN1NqUGYyOXdmSWVBbzJ2RHk4YlltTGN1SEhDUUdiTW1DSE9vRjk4OFVVaGlNNEUya1RiMDZkUEYxekdqTEcrT3RjdUpsaVloWUZnYWd2VEw4Z0Y0T1ZHemdRZU9ZSzJuM3JxS2NGbDd0eTVEbU1DcHV4dU9TVTgya1RpcThjRVRKcCsvLzEzaW1aQkxJWjUrUGo0aXY2VTdqWVBRcDhXK2NJNzRsMjZkT2tNTEw3WjIySWU3b1RuZWxqTXc5UFRjdzl6TFF0NGVYbGw0TUI3WTBJRElkanVoSCtPakRid1BYRGdRSkRPOTh5eUtMcTF0eCtmOWJ0SFR1bld2djUwOU5Wd21hODNMeHRpb2tlUEhrS3czUW1kTzFzdWgxYkZ4TEJodzRSZ3V4TUdETEE4dVpnNWdtOUFXbHBhSVBqaU83d3ExdDF5U25nRG9kUy9la3p3bVEvUnZuMXBGQjNidUJpNVFFQmdrT2hQUEwxQUs4M1FwMFcrOEk2VThmUHpleDJMdFlKSzBMRnBhaEYzQlU1TUwwRjF5bHZNSXlBZ0FQZjUrd0c4L0liZ1c4bUhqajZicUJSeFYrRDRjKzJwVGhYTFdZWU5YOUcvN2VwNVU5YW01bXdnU2E3UEtlMUxvaHViRTZoanJDV25WTFpzMmFjUUM3eHNpQWs4SFhUU3BFbEtFWGNGSmsrZVRPWEtsWE1ZRXhVcVZMQytQYzhkc0hqeFlxcFlzYUxNMTUvaHkvMzlHcjRMQ3dzVFY3UzVVMDRwTWpKU0ZSTkRHTFNhUjFiMVdSQ0xZUjdsSzFRUy9Zbi9yMVlHb1UrTGZPRWQ4UXdORGUzcTRlSHhQZjdzSEZaQzVCbFVZdTVNWUFxdFF4MkxjWUJiM2JwMU96RlhiNEFQdUc1V3ZyRVZSWjVCSmViT0JLYlFPc1JZUk1LR3IwOUVSRVFpZjNjQnZ6M1V2eHhsYll4bjhSNUV0L1lQcDF0cHd4aERuUVJ1YS84d3VzbkdjZTNMcGpTdmorV01DSHpyMTYvUHd4SHk1TC90WXFKMjdkb2l6NkFTYzJjQ1UyaTFhdFhLTVNicTFhc244Z3dxTVhjbU1JVVdxUWt4dUlXSGgzZEdQSUN2SEJOZHUzWjFpNXdTcHF2MFVSMzQyc1RFREFhOS9zYWJTb0VzaG1OVXFsSk45S24wam84WjZOTWlYM2hIU3ZNQjJaelBqaWJ4c1A4U3ZxcnFYNEptdHk1Qkh3OHBRWitQY0M0K0dtUnB1NEt2TmRkeHVYTGx5dVA0WUl0anJsNEFpMGFDZ1c5UUdacmRLNHhXeldoSzYrWTBjeW8rbXRaRXRGM2UzOHNoMzFhdFdvVXgzeW44MnhYVWFSVHFSUnNYMTZRTC82bFB2NjZLY1NwK1hsNVB0QjFSemRQQXQzWHIxc2pvbGVidmxESEJJeEZLU0VnUVY0MGtKU1U1RlgzNzloVnQrL2hZcjd6TE1TYjRMRjhJSVV3UDc1VjJKc2FQSHkvYVJwOHArSlpoZU1iSHg5ZVJZd0kza3NFZ2NiVVlSTWFaUUg0SWJWZXFaRGxEMXZuYXhJUjQ3ditUVHoxTjlXTWFGU01YcUZLdGh1aFhuTkJvNVZIMGFaRXZ2Q01lTEJTMU9IZzcxNmhSSThuVDAzTUh2bllIbENwVktxTktsU3Fqd0kzRm9TWnpMUVVVTWI2bDE2OWZYeVk0T0xnTkRraXVjMHExcml1Zzh3MEpDV21kbHBibWlWamc3NHRqb2dBaDg0Mk9qZzVHUEFCRk1DWmVaTkRDaHg2bWVpeUl4VENQcXRWcmlyN0ZKZVphZVFGOVd1UUw3MGhKSHE1NmxpOWZ2Z1VIVFNjTzZDNjhQSjNQbXBaNWVYbWxJckNkQ1c0emhkdCtFeHpBQlp6QUxTVWxCUWNkYnUzM0tHcDhHYVVTRXhPRCtMY09ySEZkeTVVck45dGQrRmF0V2pXeGUvZnV1R0lKSWx5eU9DYnlEeE44U3pLS1dreUlCNjNOZlhDZWVOVnFNY3lqcWpieXVPZWVlOUNGS01oM0ZmM0NPNEpBTGhrWkdWazJLQ2lvYllVS0ZUb2gySEdtaEVCQ1lNdmdzNzBDaGUzMjBTYmFCZ2R3QVNjK1kwT1NVZkFzcW53WkhqZ2d1VjV6ZCtITEloRS9jT0JBY05VRnpXb2VRSEZNbUlQdDluUGdhKzFyTEJlaG1CRG1NV2Z1Z3hURmdsZ004NmhjdGZvZGF4NVdzZUJBeGxVMkRmejkvVHNFQmdaMlJPRHJRR0FWSnVTMjBEWTQrUHI2TnVYaXEvUFR1Qlpadmd3Y2tLV2lvcUlxaElhRzFxNVpzMllEM2hhRW8zbU5HalVTQ2hONk85eG1MTnFPalkwdHAvR1J4YXc0SnZJQnVhMDdNQ2JFdE5XOCtRc29xbjZEWXVRQyt2T3Q3c1JwS3hraVlIZ0lIY2huUzZFYy9ERWMvUEVCQVFGT0FkcmlOcVBSTmpqb2ZEUnVLaFJKdmhyMGcxU0loNU1ndHlsenNYSXNqb244SVE5ODNSNWFUSWlFK2RLbGoxTWtDMkl4ektOY2VjdFZtSGRjd3J5NEZKZmlVbHh5S2l4NDRsTGRWMTU1bFNMcnhSWWpGeWdiRUNqTUExZTJhZVdPdVZUWEZ2cVpVc2xIemxFMEk4N0ppSkk1TUZRY1pSUlp2bTRDQTcrY1lpSTFOVFY2eTVZdGNjNEV0NW5uUGo1NThtUTBJODdKdUJOalF0d2tpSmRQcVFTeUdJN2g3VzI1eEJ4dmpkVEtFTkdwUmIzNHp0d293RHVrQjQ3SG91OXAxc1BmMDRWNVB4RE4rZEc1UUp0b216bE1BaGVkbDhSVGh4M2ZKVDhSTGZtWmFMR1RnTGJRcG9wdnc4VmZsUUI0Mlk2dkJuMHFTVnk2NlVUWVRtRUpYbnIvb2t5ZE9sVkEvdzMxVWxKU1ppVW5KMS9BdXpLU2t6YzVHV2d6K1FKek1QU3h4Tk91ajQ4ZlB6NkxjU0V6OHhnZE8zYlVxVUNiYUp0aDRMdDA2ZElTQUMvYjhkWGdWakdoOXk4Sy95MGVUN0o3OTI2S1lFRXNobmw0ZUhnSTg3ampIazhpR1ljSTNvZStwNC91WVZHcy93dFJBTVBmeVVDYkRTOFFUV0VPNEFKT0dqY2hjUHhweDNmeHIwU1RyaEVOdmNtVzdtU2d6WHV1c3Brd0IxdStrbmxZK1RKd3NPTDZlWEZ6R3dNM2pUa1RlcnZnb0F1SHRYOVJKT01RbkZtMFA5cTA2VXZ4Q0F0WFBJTUpiYTVhdFpJMmJjTExsVklNZlN5Wmg1VXZpL1pIUjQ0Y29tM2JVbDN5VmtHMGlmZDRaR1FjaG9rWStFcm1VU1JpUWpJUDhXQkVQTnl2ZGxnRVJVVEZGTU1FMEZmb1B1Qk9mRERpYlNFK1I2UHZaZEd1Q0NGbkFYY2x3R0VxRElRNWdadkdFVndOZkJmOWoyakVEYUxCTGdZNGdFdDJmQms0T0hHd2VuZnAwcVYyUkVSRWEyY2pMQ3lzVmMrZVBYSG5NQjdyQVM3Z1pPVnJHeE1zMXFNM2IvNks4S2h1bGJBN0UrQUFMdUFFYmhwSFF4K3pXSStHYU9POUdpcGhkeWJBUVRNUVc3NzRGSHdaUlNVbUFQRkk5cmhtQ1JUT3dsaU1uRkd0UnJBd2pqdjFrZXg2RUhzOStCMGRhbjZleGR0TjBKSXg3enZhQVc0YVJ4bUM3NzEvc1hoZmR3L2N4MXdjOE1YWkhMN3pybGF0V3AvU3BVdnZRZGRYanU5RU5STDdPaFdWR2x2ZWRNZ2N0Z1VIQjNjRko0MGJlRnJ2TU5mKzlrcE9UajZFcDc2cXhOd1ZXTE5tTmFhd0hNYkVzV1BIRHVGZEdpb3hkd1YyN2RwQnpFbm1LNXVHWFV3MGFOQkFQSXJGbVlpSnNieXdLSWVZQU1UTG9FYU1IRVhoa2RIRk1JR2djaFZFMzk2cEw0TVNCeDNEWithWjYxbVZJTng4eHU4T0NHWXUwMC8rOVRkejA0TVpCeHlFR0dkSGd1K0lxeXpjMTl3RG81bXBJNzU4dHV6djdlMzlGcnE4NVNQL29sa25ydExjSDRobS8raGNQTWh0b3UyNE9TK0pvUGJ6ODN0ZTR5dk9ObTFqWXNPR0RWbDQ4cXBLeUYyQkZTdVc0eVZMRG1QaThPSERXWnMzdTM3VW9RUHZNRTlQVDlmNTZsenhhWWdKM0FPZ3YzOWRuZmNwVEd3V2Jlc3YyWElRRTRCNERlM3p6ejlQZFZrWWk1RXp2TXFVRVgxNnA3NkdGZ0hpN2VQajg5UU1IbEQ1LzBUazV5YW93Z1l5SmVNUytmdjc0eHB6UEkwVUFpRkVRdWM3bU0xamtKdGdPRXRFTm54ZlJIZjNYM09ZSnZGKzFkUHlPNnE4VDJGQ3p5a2hyd1V1NEtUeEZXSmhHeE40RDdkS3hGMEZHTm5hdFdzZHhzVFJvMGVWSXU0cTRKVzBTRExiOEVWZlcyTUNiejdjdUJFNXBROWRuRlA2VW5CeEVCTUFuckpMQnc4ZXBGcDF3cWx1UlAxaVpBUDBFYm9PT0hUb0VMb09CWDJJTGkzNmhYZkVLeUlpSXA0WGI5elBZdXpIWjZmdWdzcU15Y2YrUkUvZmFOcTBhU3h6eGNIbmcwZEY2M3dIc1dDN0M0WmRZVkhPdE9jYkdSblpBbDNkNEw0bmFRcWJvcnZrbE1BRm5DUytYcnhzaUFrSW9FcHdYQVhrUFQ3OTlGT0hNWkdSa2FFVWNWY0JlWSs5ZS9mS2ZDSEl2akV4TVMxTGxpeEpJMGVPRkhrY2Q4b3BnWlBFVjQ4SkFGTnVkT3ZXTFlwdDBFZ3BtTVc0allxVnFxSWZ4Uk9UMFdkYVFSK2lTNHQrNFIzaGtiTmw2SHd2ek9PSC9NSDM2RVh5MlhuYUN0OUQ1OG52Mnl4bDNaeFFpYzFqd29tcjRoL2c2K3Y3Qm5QRmkzLzhlVmo5Tmc0ODhCM0VncDBmOVAzaEl0MlZjZHFLM3QrZXA2VExXY3E2T1dIWVgwU1RUdHJ6NVRQTWxlQTdldmYvcUptV3ozRUh0R0FNUy8xQjhPVVllSjI1NmkvK3NjYkVsMTkrcVJRYVZ3RUN0MjdkT29jeGNlVElFYVdJdXdvd2ovMzc5OHQ4OGFpU3NucE00QW8yZDhzcFlYUUh2all4b1FOWGo0bFhBb2V4UUJiRE1ieTExODlPblRvVlhZYUN2aFA5ZUVjVTNoRWZEdytQczFpY2ZKYVB4SE41ZysvdXMrVDk0U2Jxc21rdlBYcjRsQlVEVTlPcHlxcE41TFA1Q1BtZFpSTlJyT3NJbGRoQXhwNjRMdjRCekRHVHVZcjNWWmN1WGZvc0RqendUV0xCemd0NlpwNmxkbDlzb3Z0MzdLVjNqcCt5WXNHZWRPcXhmaE4xM1hlRUJ2NmVwVnpYRVliK1NUVCtwSkx2VCtCNy8ra2I1RTQ1cFpxTWU0OWZFM3hMbFNwMUFySEF5NGFZMkxCaGcxSmtYQVhaUEZReGNmandZYVdJdXdxeWVXaDg4ZHJjQUU5UFR4RVQ2RjgzekNtcFlrTEhZQVp0Mzc2ZGdrUHJVRmg0dldJb2dMNUJ0d0hidG0xRGw2RU1Zb2grdkNNSzc0Z3ZmOXpBNG5pWXgvZTVoOCttSXpRN0xaTXVYY3RDQnluTCsxK2ZveXFmN2lDL1UxZVUyMUNoRWh2SUtNMDgrRUQ3alRlRFp3VUZjbERmd0lFSHZra3MyTGxGMTcxSDZLVWptZlRIZGNkODEzOTdqbnB0M2tIOWY3bWkzSVlLUS84Z0dxT1poODQzSXlPalBQTzlDYjdUbUsrNzVaVHV1ZDIvdUFoZEZ3cHJUQ0NScWhJWlZ3SG1nVGZmYVp6dFlnSnp5eW9SZHhWZ0htbHBhVExmZ016TXpBcDZUS0NPYWo5ZEJSaVpiaDQyTWFIRE9uVVZGOStNNnJCUUZzTWVnVUhsUlI5R1JrYmFUVmtCZDBUaEhZRlFpQjBkL1EyTHluZTVnOCsyMC9UK2FWWjVFK1hzSDFjbzhzczA1WFpVcU1RR011eTRWZHhZbXNXTlNrRjg0T0Z2d1hjZ2Y1c2JkRDk4V2hpRG1mTFRYMWRvNlBZMDVYWlVHSHlaYU1SdE1lWnZLR2pKa2lYQk90K3A2Rjh0bitNT3dMVGd4TnY5eS9ZbllzRVFFK3ZYcjFlS2pLc0E4OUJ5SHNxWVFETFhWc0JkQ1pqSHZuMzdITWFFTzA0TGZ2NzU1NnFZa1BFMlE3ejFNTFIyT05XcEcxVU1DZWdUZEJtQVB0SUsrc3phaDNkRTRSMnhDc1VJaUJ0R0gyWngvQW85ZXZBVWI4SllQdUJEWkNtZlk3MzhPeHVHemNuOW9ZdVh5WGYzT2ZYMmJGQUpWMU1aeGMwZ0ZPQTdrTnN3aTM0L1g2RjNqdG56VGJsT3RQSXEwZWZYaUM3YzFMN1V5c2xMbDZsbjVqbmw5bXd4bU0vVGh0NDJEOEdYaFNKVTV6djVETytYVFY0bnR5am9uTkxZek96TkEyZWhLcEhKRFY1NDRRV2FPWE1tY1YvUSsrL25MekVNY2NQVlZoSm5RMHdjT0hCQUtlSzVBVVkyYjcvOXRuZ1dVWEp5c3JLT1dVZ0pjMlZNdVBPMG9FMU15R2pPb045Kys0MUNhOVZSQ3VqL1orajNkZ1FGQmNsM2xhUFBySDE0UnhUZUVhdFFESUc0d1VCTUltcjdhVjc5ZGpsNzdTYTFnRERaMUlPWnlHVmkraG03T2lwVVpBTVpZQlEzZzFDQTd3QTJLYk1ZZWNqSTkzeldUWnJOb3dYYmVpbHNJbko1K3RnWnV6b3FEUHFWS01uRzdPYk9uVnRINXp2aGE5NHZMWitUV3hSV1RtbjBzZXpOQTJlaEtwRXhDNXg1TFZxMGlGNSsrV1h4cnV5SEgzNDRYNWVqUXR3KytlUVRoekdSbnA2dUZIR3pXTE5tRFMxZnZsenM5K3JWcStuZi8vNjN1TnhXVmRjTVlCNTRwcEhNVjQ0Sk41OFdsR1BDRnVzWU5HL2VQQW9PRGFQYUxKckZpQko5Z2U0QzBEZGFRVjhaK3UrT0tMd2pWcUVZQ0hHRGdaakVTeWRZZ2FUU0RkTWhpbnJBMmI5dkQwRlNmN21zckdPTGltd2dmWTNpWmhBSzhCM0FnbTBXcTg0WStTNkNjU2pxQVQ5TCtadUR2MTVXMXJIRm9JdEUvVzNNVGhhS3NlaGZLYWRqRm9XWlV4cVJnM25nTEZRbE1tWUFzM2owMFVmcGpUZmVvRGZmZkZOODRnWXp2TmRBVmQ4TUlHNFFlSW16SVNhUW5GYUp1Qm5BTEQ3ODhFTWg2QmdSNEJOVFpEQVFtSUJxblp5QTlYQ2ZoOHhYamdrM254YVVZOElXUFJoMDhlSkZxbEV6aEdxSFJSYURFUkJZVHZSZFlHQ2c2QnV0b0s4TS9YZEhGTjRScTFEMGhianh5Ymtwbk1nU09ReTlwUDdHb3FXcXAySE9MMFJidWJvT1ZSMWJWR1ErdmJJeEQvRHQvejl6NlBkekZ2MzA1MjIraHk1ZlVkYlQ4UzYzbG5IOU5sUjFiSkhFKzlnN0cvTVlpZjFTNUhheVEySG5sSVljemQ0OGNCYXFFcG1jOE5SVFQxbU5RemVQMTE5L1hTeS8rT0tMZVRhUW5Nd0R5V21WaU9lRWp6LysyR29jc25rQTZJTzhHZ2pXMmJWcmw4T1lLSWhwd1lJRSt0ZG1XdENSZVFCZk1PakpKNStreWxXcUs4WDAveFBRQitncUFQR3ZsYzlWL1hkSEZONFJxMUQwZ3JpZE1vZHFCL2hVV3lxUC9jRG1vYWlYSDFSa1B0Mk40bVlRQ3ZEdHo0SnRCb05QRy9tdStCK2JoNkplZmpEd0F0RmRObVluQzhWUTdKZE5YaWRiRkhKT3FlSzN6Sm1kVWVKclp4NFFFcFhJWkFlTU9CNTc3REZoR0crOTlaYUFiaUQ2Q0VRM2tIZmZmVmU1RFVlQXVFSG9KYzZHbUVCK1FTWGkyUUVqRHR4dkFjTkFBaHZRRFVRM2tid2FDT3J2MkxIRFlVemtkMW9RS09pY2tzMjBZSGJtMFlwQlY2OWVwZkR3Y0twVkorTC9OZEJOQVBvQ2ZhS1ZscXIrdXlNSzc0aFZLTHJEUEU2YVE5ZmpsM25WMndWL3ErcmxCeFZZTnp0bll4N2cyNDhGMnd6bWZXL2tpNzlWOWZLREFlZTVIN0l4anlUc2wwMWVKenM0STZmVTkwajI1Z0VoVVltTUkrQ01DOGFobXdhQTd6RTlzMnJWS29PaHdFQ1FBN0hkUm5hQXVHRTdFbWREVENDL29CSnhSNEFSd1RoMDB3QWcrQmpCNEY0RzJWRHlZaUE1bVVkK3BnV0J3c2dwMll6c3NqTVA0QjJHdUxBQWw2ZXFSUFgvQS9UcEt2eFAwUmRhZVFkOWg4TExCdHdSaFhmRUtoU2RjV1o4M0J5Nlp0cVlCLyt0cXBjZlZEaEIxTjU0Wm13UUN2RHQ5N001elB2T3hqejRiMVc5L0dEQVQwU2RiTXhPRm9yK3ZEK3EzSTRqT0NPbjFEc0g4NENRcUVSR0JUM0hzV3paTW5HMUVvQ1JoWDdtams4SXYvNGI2dWtHWWxid0lHNTRtNTNFMlJBVHlDK29SRndGUGNjaGY2Y2JCMHhJTnhENWQ5MUF6Q2JSc1Qxc1ErWXJ4d1MycDlwUE0zQlNUaWtuODhDenVuRHpJMDJaTW9YS1Y2aWtGTmM3R2RobmRCR0FQdEFLK2tUY25ZL0N5d2JjRVlWM3hDb1U3V0Vldk10bTBQWEVYN3pxN2RMMTRDL0tldmxCQlRhUXR0bVlCL2oyWmNFMmcvbm5qSHpublBwRldTOC82TS9pbnBpTmVmU0dLV0owWndaT3lpbmRkVGg3ODREQXFrVEdGcGc2MFkwRG93cVlBNzdIaUFNSldDekRPSEFHcnh1SVh1K2xsMTZpUng1NXhMQTlSNEM0WWFRZ2NUYkVCUElMS2hHM0JVUmJOdzV3d3FkdUhMb0JRZlJ4OVpadUlIbzlqQlp3R1MrV2N3SzJpVHVNWmI1eVRPaDlrMXNVWms0Si8zT0piMDdtQVloWDFGNjVjb1hxMTY5UGxhdFdGL2M2L0g4QTloWGRBMkRmLy9yTHFqT0dWODN5M3diY0VZVjN4Q29VYlRDdGNzd2NXdkNacTF3bXBwOVQxdFBodStrcythemNhNFdxamkwcXNJRzBOSjRaRzRRQ2ZQdXlZSnZCVEJaWHVUeDk3Snl5bm82dWU4OVM0dnE5VnFqcTJLTC9EMFN0YmN4T0ZvcTdZQjR3YUJOd1JrNnBBaHRJMXh6TUE5TTZLcEdSQVJOQTBsUWZjZUFUMzJQS3gvYk1XamNRYkJmMWRNQjhYbnZ0TlVOZEZTQnVFSDJKc3lFbWR1N2NxUlJ4R2JxQnlkOUI1SEdsbHUyMGwyNGdtSHFTdjhkK3dSamw3MVRBZHJkdTNlb3dKb3BBVHNtTWVRRHZNdkRpSzNHbFVkVnFOWlZpZXljQis0aXVBYkRQbVprc1dKYnlML1NaWFBnN0ErNkl3anRpRllvV21GWTVhaDV5ZWYva2orUjNPRXRaRDVpOTl6U2wvbmpSZ2d0L0tPdllvandiU0xOc3pBTjgrN0JnbTRWY3Z2am1SK3I5YlpheUh2RGlvZE9VL3ZORmdRTVgvMURXc1VWZlJvSU5YMWtvdW1KRXBlVnpjb0t6Y2tvZEQyVnZIcGdpVW9tTURDUnBZUUR2dlBPT0FCNXhBZU53ZEZhdEd3ak9jUFYxeklvYzJscXhZb1hEbUxBVmVSWDBHLy93dUhrQWY4TTRIRTE1eVFhaXJ3TlRBRlQxWmFCT2FtcXF3NWdvQWprbHMrYUJSMjlzWm9qL2UrblNwYWxHY0cybDZONEp3TDZoV3dEOEw3SFBXa0hDUTd4QVN5NzhuUUYzUk9FZHNRcEZQTXdqd3p3KysrVnZYdDFTY0E5QzFiV0hsUFY4L251YXpsNitQUVdEOVZUMWJGR2VEYVJKTnVZQnZuM09tY2ZPMzI3ei9ZUDU5dHAwU0Ztdjg0N1Q5S04wV1MvV1U5V3pSVjlHWERibTBSRWpLaTJma3hPY2xWTktQSmk5ZVdDS1NDVXlNdlN6Y0l3SVVCL2ltdE1adFg3bWp5a2dtQTIyWVR0S1VlSDk5OThUTi9GSm5BMHhvVTh4WlFjOW40RVJBYWFVY0ZkNlRya1NiQmYxY0RVWHpBYmJNSk9jaDNsczJiTEZZVXlZblJZRW5KVlRzcGtXTkdzZVFEQ0Rqd0lTZWFHeUFVRlV2V1lvaGRTcWUwY0IrK1JmTmxEdkk3R3ZXc0crQjZPL2JBdC9iOEFkVVhoSHJFTFJtQVhGOTRoNVRCUmhjcnQ4K3MxNTh2NWdCL2xzUGtjKzJ5K1NUeXIvdlRLZEh0M0hwN2hTd1hxcTdkbWlIQnRJUStPMGlrRW93TGZQOStieG9uRW1pRksvTzA5dFA5bEIzZmFkb3g1SExsTDNBK2VwL1gvVDZlMURScjVZVDdVOVcvUmxOTGJoS3d0Rk80eW90SHhPVG5CV1RxbjFnZXpOQTRhZ0VobGI0TXdMSW9tejdOeWNUVU5nSWVBWXFhaCt0d1hNQXdlcnhOa1FFOWlXcllDckFMUEE0OXNCczNrU0FBYUNGMDZadlJrUlJwcVNrdUl3SnN4TUN3TE96Q25aVEF2bXhqeUFLTWJ2REhyaWlTZkVkakM5b3hMaG9naDVxZ3JBUG1vRisxeVB2MU1XL3MyQU82THdqbGlGSWhibWNTaDMyUHFIOVltUm9oejg1VEtOVHo1Q25UL2RTd00zcE5Pblo4NXJ2MWpLb2I5dUtyZWpRcm5EUk5IWm1BZjQ5djQyZHpoeXhjajM1TVhMOU5pT0kzVHZsM3RwYmtxNk1CUzVmSDMxcG5JN0t2Umh4R1pqSHEwd29wSnlPdG5CV1RtbGhQVHN6UU9KWVpYSXVBb3dELzE5RTZxWWdIbXBSTnhWZ0huZ3lpeVpyeHdURUhyVmZzcUFDVGd6cDRUL3VjUTN0K1lCdEdhSWd0RVM5ck5TNVdwS01TNUt3RDZnSzdTK29XZWVlVWJiUzFGYW81OGNGZjdkZ0R1aThJNVloYUllaTRudndkeWhHbzhRemw0ekNyS2pjdW5HTGFySG9xWGFqZ3JsMkVBaWpYUHlCcUVBMzk1bmM0ZWgzK0daVnViNC9ubnpGazNnVVpKcU95cjBZZFN6NFNzTFJYUHVLMVZ1eHhIa1VsZzVwYmo5MlpzSDhnc3FrWEVWWUI3SWUwaWNEVEdCMFk5S3hGMEZQVDhpODVWam9namtsUEppSG9EVlFOQTJjaUNCNVNxSVp6OFZSZWdQT3dTd0w5Z25xV1JySENoY3g0QTdvdkNPV0lVaVBBL21BY0JBdHRyY3FHWmI4SHR1akFNSVl2TUl5OFk4d1BmdWIzS1BJVHhDT0hJNy9hRXMrSDM4OStyMXMwTjROdWJSbEVkU3F0eU9JemdqcDlRNExYdnpRSDVCSlRLdUFzd0Q4L2NTWjBOTVlJcElKZUt1QXN3RGtQbktNVkVFY2twNU5RK2dCVU1FSnU2a0R3Z0lvTEpsQTZsbVNCMmxRTHNqd0JXYzBRVUE5Z0g3b2hYc1d3TDZKNmZDOVF5NEl3cnZpRlVvNmtEY0QrUWRDY2VKSHZ2SlloUTZYcnBBMVBXVXVuNU9DR0lEcVcxTTZCcUVBbnp2UHBOM1RPTlJ4WXBmTFVhaDQ5UGZpZWIvcUs1dkJtRTJmR1doYUlqcE9DMmZZd2JPeUNuRjdzdmVQSkJmVUltTXF3Qnh3NmZFMlJBVCtwVlU3Z0lJUFQ1bHZuSk1GSUdjVW43TUEwQU9oRS9YaU02Y09VTnhjWEZpMnhVcVZsR0t0VHNCSE1GVkI3aC8vZlhYMkJVVTdGTVVmMitxY0YwRDdvakNPMklWaWhDWVI3cjdJSWdOSkRnYjh3RGZ1L2wvNlRaZzh3ak54anhpdEZ4T2JsRFlPYVg2T1pnSHpscFZJdU1xUU53d1pTQnhOc1JFZmg2ZlhoaUFlV0FLU2VZcngwUVJ5Q25sMXp5QUVNWi9HZUtaVDNpbk4vWWRWeXhWclJGQ05WbW8zUW5ncEY5TnBmV0Q0Q3c5cjJvREl3VDlZclp3ZlFQdWlNSTdZaFdLR2tmNWovM3VneUEya09yR3E0RU1RZ0crZDU5Mkk3Q0IxTXpHUEtKc3B1WE1vREJ6U3BnV2pOaWJ2WGxnRGx3bE1xNEN4QTF6K0JKblEweVl1ZmZDbVlCNTRLeGY1aXZIUkJISUtSV0VlV0FUK0Z6R0VBVWpSRHhBRUYvamt0NXFNSkdRT2k0Rk9JQUxPT2tBUjB5RlNtVVpmNS9yd3V2WjlVZVJMN3dqVnFHb3ltTHNuOFpmdUFuS3NZRlV5Y1k4d1BmdVUwUzkzQVM5MlVDcVpXTWVkVEVkcHhEeG5GQ1lPYVU2ZTdJM0QrUVg4dk9ndllJR3JnYkt5VHcyYmxRTHVTdXdhVlAyNWxFRWNrb0ZaaDRvdkR5SWtjbWdhOWV1aWF1eGtFZkFULzVsQTZoSzFacEtZUzlNb0UxNXBBR0FFNjZtQWtldDhORkZnL2kzUEJWZVY5a2ZSYnJ3amxpRm91TCthMVFGVTBiNzNBUFZXR3dyN3YxYmNGTUpSWlgwYTlTWEJWc2w1SzRBdUZUWlorUXJDMFZ0OUsyV3o4a0xDaU9uVkd0Mzl1YUJTME9YTDNlZnZNZUtGZjhXZDFGTG5BMHhnUnZsa3BQZForb3FKU1ZaSkZobHZuSk1GSUdjVW9HYUJ3ci9qWWNwaXFmeG91QjF0cmlIcFVJRnl4Vk5ucDVlRkJoVW9WQkhJOWcyMmtCYmFGTUhPSUNMOVBwWUZIQzFQdVF3TDRYWGQ5Z2ZSYmJ3amxpRkl1aUw4OVNZendrQ2NPYXZFSE5uSXBBNU5HVXVnV3UrRTl4VVFsSHp5L1BVNjJ1aVBpZFp2RjJNdml6Z3ZURnQ5Wm1Scnl3VUlaaU8wL0k1N2dDUlU5cVZ2WGs4OTl4enRIcjF4MjR4K2dDSE5XcytGbWVyRW1kRFRPQnFwTzNidDFrVDFhNEVPSUNMN1UyTmNrd1VnWnhTZ1p1SFh2aDdYSTBsWGlpRjh1ZWZmNHFuQXNmR3hvcjJBWWc3UmdWSVhsZXRubmN6d2JyWUJyWmxheGdBMmtTc2c0TlV3TTNVMVZRNUZkNU9qdjFSNUFydmlGVW8vQmJ2WUVHNVFmRThRS3ZGd2xLSkJieUNrNEUyYTNQYjRCQjA2Q2I1TGpCZUl3L29CMTcwUDdaVHVZTTNhUEFab3VGODFqK0FCYndmQzdremdUYlJOamlVWTc1Ump4c3Z5NXcxYTFadG5XOE5LWi9qRGhBNXBSek1nL21MZXd6V3JsMGpyZ3lDRUVMd25BbTBDVlBBVlViZ01tM2FOSWN4Z2ZkYllQU3hZOGQyY1hVU0V1aVl5bkltMEdacTZoYkJBVndlZi94eGh6RlJCSEpLaFdZZWV1SGZFeGxyR2RhQ1o0bk5tREdEcWxXN2ZXTWVVTkxEZzd5OHlwQ1ByNStZNXNKN05QQWVFZHlIQVdBWjMrRTMxRUZkckNOdlF3ZTJqVGJRbGswQmwwU3VVMkNGdDJlNlA0cE00UjJ4Q29YdnpJM2s5L3hCQ2tqUG9vUVRSRzM0ekw4VmkzaExKd0Z0b1UxTXp3U2tYU08vNXc2UXo3MkdWMklhaEtMaDRxOG8vTTBEYkhoWjRxeC8zRGNXakhVUzlMWjZjdHZsOWwrajhEZlNLZVpCdzF2WWdoWXRXaFNpODYzS3h1aDJPYVdkMlpzSHJqSlpzR0NCdU1zWkJySnVIZTRYK0pTeDFrbEFXNTl4MjZ2RmRCVzRUSnc0MFdGTUxGMjZsRjU1NVJWeFg4VE9uZHRwOSs1ZDR2RWp6Z1RhUk50NHhTeGUwb1NuMjhwODU4K2ZIK0xCZ2dhK1JTQ25WT2ptb1JldTE1VHhLdU13UTVSYnQyNEpjWC8yMldlcGI5KytGQklTSXJqbEJWZ1gyOEFKQnJhSmJVc0ZiYUx0T0s1YjRJVzNtK3YrY1B2Q08rS0RJTUdpenowZkN3UHhYYmlWL1A1OWh2dzMvVWIrVzM1M0xqYitLdHIyblo4cXVQaE10RDRxQVUrbUNnQllLUDdFZ1JmOXdDcGhJTkZQcFZMd3FqTlVNZVUzcXJEMWQ2ZWlVdkt2b3UyWUo3WUlMdlZuV3UvT0JkOUFGcFB5elBjYStGYmNkcFdxNEt4Zk1VM25DbFRqRTY2S1c2N0lmSDE0MlJBVDQ4YU5Fd2FDTXpTY1FlTkJleEJFWndKdG91M3AwNmNMTG1QR2pIRVlFeXpNd2tBd3RZWHBGenltQXk4M2NpWndneDdheGhOd3dXWHUzTGtPWXdLbTdHNDVKVHpTWGVLcngwUytrTnZDNi9SanJHVFlGZVJJOEd3eWpJUXgxYlJ3NFVJeEdzVkpCWUJsZklmZlVBZDFzWTZEZ2piNmFjMFdXdUUyOHRVZmJsbDRSN3hMbHk2ZGdjVXlkeSsybUljYndhdWI1Y0R6OVBUY3cxekxBbDVlWGhrNDhHb05XaVFFMjUwUTBuZU9nZStCQXdlQ2RMNkJIMlJTNHlNWVZhbkYzSmtRT1NWd2VXdS96TmVibHcweDBhTkhEeUhZN29UT25UczdqSWxodzRZSndYWW5EQmd3UVBCbGp1QWJrSmFXRmdpKytBNlBWM2UzbkJLZXdpdjFyeDRUK1VKZUM2K0xSNzAzWTh4a2ZNSVFOeHptc1dCZGJHTTJvem5EN3RIcGhWVzRyUUxwRDdjcXZDTmwvUHo4WHNkaXlhRHE1SHZmWjBvUmR3bnUvNXc4eWdXTFFBNElDUGdIYy9VRGVQa05mRmVtZkhXS25mK3BVc1JkZ2RnRjY2aE1SY3RUTjIzNGl2NHRWYjhsQmUzTW9uZ1diWmZubEpoRDBLNGJWRG8yVWZBdFc3YnNVNGdGWGpiRUJGNXlNMm5TSktXSXV3S1RKMCttY3VVczc0dFd4UVN1bGxtMGFKRlN4RjJCeFlzWFU4V0tGV1crL2d4Zjd1L1g4RjFZV0ppNG9zMmRja3FSa1pHcW1IQW5sR01rTUhEWjd3ekdZNHdYR0c5cXdESyt3MitvZzdwWVI3VXRsK0NPS0x3am5xR2hvVjA5UER5K3g1K2x3bHFJUElOU3pKMElUS0dWcXROY0JERzQxYTFidHhOejlRYjRnT3VtOHcySWJDSHlEQ294ZHlZd2hSWVFvZVRyRXhFUmtjamZYY0J2WGtsektHRDdkVXJJSUdwemxNU1RkbHM2Q1dnTGJTWmd4TEgxS25uMW4ybmxXNzkrZlp6ZGVmTGZkakZSdTNadE1SMmdFbk5uQWxOb3RXclZ5akVtNnRXckovSU1LakYzSmpDRkZxa0pNYmlGaDRkM1JqeUFyeHdUWGJ0MmRZdWNFcWFyOUZFZCtNb3hVVnlLaTEzaDRDak5CMlJ6UGp1YXhNUCtTL2lxcEg5RjhtdzFocndIUFVmZXcxNTFMcEtlRlcyWDlMRytiT1Z5NWNxVngvSEJGc2RjdlFBV2pRU1pyMmRBUmFyYVlUVFZIZnRQaXBqNGlsTVJOdm9mb3UzU2ZvNzV0bXJWS296NVR1SGZycUNPUjYxWThsbTZqdnpXL0VCKzZ5NDRGNnUvRjIxN1ZBc3o4RzNkdWpVZUlWR2F2MVBHQkk5RUtDRWhnZnIzNzA5SlNVbE9CWktjYU52SHg4ZDBUUEJadmhCQ21ONlVLVk9jaXZIang0dTIwV2NLdnJqSHdUTStQcjZPSEJQVnExY1hCb2xrTHVicW5RbmtoOUIycFVxVkhNWkVBWmVTREV3WndaZ3dMWWFrZkZrYjREdjhoanFvaTNXS2l6c1ZEZzRQRm9wYUhMeWRhOVNva2VUcDZia0RYN3NEU3BVcWxWR2xTcFZSNE1iaVVKTzVsZ0tLR04vUzY5ZXZMeE1jSE53R0J5VFhPYVZhMXhYUStZYUVoTFJPUzB2elJDenc5OFV4VVlDUStVWkhSK05OZTZXQm9oWVRCVkFnL2pBaW1FSVFveFpqSUdNQjR4M0dLc2FYR3JDTTcvQWI2cUF1MXNHNjJFYXhrYmhENGVBb3ljTlZ6L0xseTdmZ29PbkVBZDJGbDZmeldkTXlMeSt2VkFTMk04RnRwbkRiYjRJRHVJQVR1S1drcE9DZ1EvTE1vNmp4WlpSS1RFd000dDg2c01aMUxWZXUzR3gzNFZ1MWF0WEU3dDI3NDRvbGlMQTRLUEZaSEJONWh3bStKUmxGS2lieVdMQXV6QWQ1RTRoL0U4YVRqQVBjNXEzSXlNaHJIVHAwK0h2dzRNRi9qeG8xK3U5Smt5WmQ0VkhiMzRNR0RmNnJWNjllZi9EbzdFODJzU3VsUzVlK2lYVzBkYkVOYkF2YkxCNlJ1TEpvZ1Z5Uy81RmxnNEtDMmxhb1VLRVRnaDFuU2dna0JMWU1QdHNyVU5odUgyMmliWEFBRjNEaU16WWtHUVhQb3NxWDRZRURrdXMxZHhlK0xCTHhBd2NPQkZkZDBLem1BUlRIaERuWWJqOEh2dGEreG5KUmlZazhGTjAweWpPR001TFpJRy8wN3QzbjZ0S2xqOTk4Ny8zM2J5MWI5ZzY5L3ZycjlOUlR6OURpeFV0b3laSWxOR2ZPWEhyZ2dibmlpcTk1OHhmUXdvVVBpL3pWMEtIRC9temNwTWtsWDEvZjY5aVd0azFzVzVoSXlaTEZIdUwwd3NGaEZRc09aRnhsMDhEZjM3OURZR0JnUndTK0RnUldZVUp1QzIyREF3ZEtVeTYrT2orTmE1SGx5OEFCV1NvcUtxcENhR2hvN1pvMWF6YmdiVUU0bXRlb1VTT2hNS0czdzIzR291M1kyRmhjZlFJK3NwZ1Z4MFErSUxkMXA4VkVMZ3BVSEhtS0FBWUVQaVU4UER4cjRjS0hycTFjdVVyY2dMajA4U2RvNnRUN2FHRFNJT3JZc1RPMWFkT1c0cHNsVUd5RHh0UzRjUk5HVTJyU05KN2F0azJrTGwyNlVzK2V2V0VlTkc3Y0JCb3pkdHl0RGgwNi9zNUdoUHVRdGpCR2FHMmh6V0lIY1daQmNFZ1FBY1AvbUVBK1d3cmw0SS9oNEk4UENBaHdDdEFXdHhtTnRzRkI1Nk54VTZGSTh0V2dINlJDUEp3RXVVMlppNVZqY1V6a0Qzbmc2L2JJUmNGb0EwbnVtb3ozS2xldWZJTkhFTmMvL25nMXZmVFN5elJqeGt6cTJldHVhdGl3Q2RXdVU1ZXFWUSttY3VVclU1V3FOUVRLVjZoS1ZhdlZGTUF5dnNOeTVTbzFLRHdpaXVMaW0xT0hEcDJwVDU5KzFMLy9RSXFQYi9hL01tWEs0SUtEOTdRMjBYWkI1V2lLUzNFcExzV2x1RGlobEdJZ29UMjBaTW1TTFBCOXJ1SWQ2cSsvL2dhUE11NFhONXZXQ1l1Z1NwV3JVVVJFQkZXb1dKVXFWcXBHOWV2WDUrK3FNMnBRVEV5TU1Bb0F5L2dPdjZFTzZnTDRIa2JTUEtFVjNYMzMzVHhxU2N5cVhLWEtUOXd1WEc2WXhnRmNpa3RoRjhXWmhuNm1WREkxTlRWNnk1WXRjYzRFdDRuWFZsbzVNRlFjWlZqcm5qeDVNcG9SNTJUa21hK2J3TUF2cDVoNGxQNFYvZ2k5RytkTW9FMlpBMFBGVVVhUjVlc21NUEF6VVNEV3VMeDJJWSs4Ymk1Y3VQRDZpaFgvb1lVUExhSzc3dXBGRVpIMTJSQ3FpMUZFOVJvaFZJbk5vV1p3YlFvT3FVMVZxZ1ZUU0dnZFJoai9IaUkramN0MVJCM1V4VHBZdDBiTlVQRjlSRVE5YXRhOEphTUZmeGY4RTV2V05YRFF1QlFiU0dHWHFWT25DbWhCQTNpa3BLVE1TazVPdm9EM0lpUW5iM0l5MEdieUJlWXdDVngwWGhKUEhWYSt4NDhmbjhXNGtKbDVqSTRkTytwVW9FMjB6VER3WGJwMGFRbUFsKzM0YXRDbmtzU2xtMDZFN1JTVzRLWDNMMHJRRkc4Qi9iZFhicTN4VzNScjJUOGZ2dlgycFFlelhxYloxNTUzS3RBbTJtWU9UNEtMemt2aWFlaGptZStpckRmb29XdXZPUlZvVThVMzR0NWFKUUNOcTVVdnd5MWpZdUxUaVNXQUhJcHVIRXZMbFN0Mzg0VVhYcnorOXR2TGFNcVVlNmxwMDNnVy9GQXhQWVVSUkkyYXRZUUo2TVlRV2d0VFY2SGlFNmhlSTVScTFRNFh3TEwrdlY1SE54VnNBOXZDUzV4cTF3bW4yQWFOZUhRU1MxV3JWci9FQnZJWGMzbGM0MVJzSUlWWkpPTVF3Y3VpL2RHbVRWK0t4eFc0NG5rN2FIUFZxcFcwYVJOZXBKUHlFVGhwM0lUQThhZUJMNHYyUjBlT0hLSnQyMUpkOGdZNXRJbDNObVJrSElhSkdQaEs1bUhseThEQml1dm54YzF0RE53MDVrem83WUtETGh6Vy9rV1JqRU53WG5qenpRMGpmMTlBRmI1cFJ5VlBOYUVTcHhvN0ZXaXpJcmM5NnZKQ1lpNWZiTDZWQnY2Q3MyUWVCcjRQL1A0czlUNXpMM1U4T1pZNk9CbG9FMjNQWVE2MmZDWHpLQkl4a1lONUlML2d4M2lvZlBueU4xNSsrWlVzM0tVK1pNZ3dpcW9YUTFGUlVjSTBJUElOR2pRUUpsQzlSaTFxMHFTSkVQOGFOV3V6d1RRVm4rYVdMZXRpRzlnV3RsbVZSeVg0UGo0K1hoaUp2My9nYnlWS0NBTjVTT05XbkFNcHJJSUEwUUlGeGpGNjgrYXZDSTlsVmdtN013RU80QUpPNEtaeEJGY3JYeGJyMFJCdHZFTkJKZXpPQkRob0JtTExGNStDTHdNSEp3NVc3eTVkdXRTT2lJaG83V3lFaFlXMTZ0bXpKKzRjeG1NOXdBV2NySHh0WStLaEcyL2VNK0h5SWlwektwNUtuR1F4ZHlIQUFWekFDZHcwam9hWXdHOXpMejlIWFU1T29QWW54cm9VNFBBZ2M4bU9MNk5JeElTaTRIc2txTWY0K1BqY2ZPYVpmMlR4cUlNR0RCaEVFVkgxcVhyTkVLck1waEVjV3B0SERXSDhkMjJxeGVKZU95eUNhZ1RYRVovNVdjYTJzRTFzTzZSV0hmNitGb1ZIUnJHUmhKQ2ZYOWxmbUJlbXNNWm9ISXV2d2lxTW9nVUlBc1VyT1RuNUVKN3dxUkp6VjJETm10V1l3dG9CYmhwSEdWN0hqaDA3aFBjbXFNVGNGZGkxYXdjeEo1bXZMQkQ0enJ0YXRXcDlTcGN1dlFkZGp6TW5QSGJEbVVEQ0VXMHpoMjNCd2NGZHdVbmpKdmhLTVlFelVLKzUxMTg1VXUrNzNsVGlCQXU0RzZEaDl3UG93ZXV2N2dZM2hoNExnSlh2a085bVUvdmpZOXdDdzcrZmt5MWZoaUVtYWphdFNSSGRJcDBLdEpsVFRDZ0tMbzBOUlhKOHpweTVmNy80NGt0aXhGRTNuQVVjcjQ5bE1jZm9BRk5RdGV0RThOOTFxRTVZcEVETjRMQUNXbVlqNFcxYnBybHE4V2NZMWEwYlNlVXJWQ0ZmUDMveDNEQUc3azRIMStKUzBFVUxFQVNLejRZTkc3THdsRTJWa0xzQ0sxWXN4d3QxL21adWVqQkRoSEhRNGV6STUvRGh3MW1iTjd0KzFLRUQ3NnRPVDAvWCtlcGN4WmtsajZEOHZiMjkzMEtYNDMwRCtydTIxWG1md3NSbTBiYitRaVUvUDcvbkpiNWlqaGlmREM5d252SFg4emU5VC9LbzQzZ2p0MEM1MDYxcDJxVm5sVEdoOCsxeVlqeTF6MlR4ZGdQY2RlcWViUGtpSnJ3RHlsRFN5aEYwMzIrUDA3MS9QazZUL25qRXFVQ2JhSHZBOHFFRUxxcVlzQ2t3bEVERys5MjZkYnVDRy8zR2pwMUE5ZW8zRUZOVnlFdEF6QnMxYWlURVBqaWtycGg2d21kaExLTU50RldqWmgzK3V3NUZSMGV6Z1ZTbVVxVktmd3VPR3RmaTZhdUNMbHFBZVBQUTh5bThjMWtsNHE0Q2pHenQyclhrNysrUHh5dmphYVF3RFdFYzRIdjA2RkdsaUxzS2VQMG9Yanhqd3hjSElmaStpTzdHVys0MmJrUk82VU1YNTVTK0ZGekFTZU1yeE1JbUpsNmMvdmR6VkNLVGhkdE40SCt5QmQxei9nbEhNU0g0Smg0YjdUYm9lbUppdG56UjNXUFRwbEhTeFJsVTRadTJWUEowRXlweG1rZFpUZ1Rhck1odEQ3bzRrOGJzdVo4OFBFdlp4WVJVTUFXRXU3cEhWYXBVNmZvTEw3eDRhK2JNMmVJbVB5U3lxMVVQNFJGQVhURWlDQTRKbzdDNlVRSWhvWFVMZFJsdG9VM2tQWkJZeDFWZDVTdFV5bUtldjRPcnhybDQrcW9nQ3dlSFYwUkVSRHd2M29BQXFnVEhWVURlNDlOUFA0WEEzZUN6akZnY2NBQWVGWTN2TWpJeWxDTHVLaUR2c1hmdlhwa3ZEajdmbUppWWxoamVqeHc1VXVSeDNDbW5CRTRTWHk5ZUZqRlJ0MjVkdlBpZjdydnlEeXB4aklYYlRlQjNJb0VtWFhqTUxpWWlJeU5iNkh3VGo3Snd1d202SEIvUGZKYzY1TnZ4MFM0MC9OY0hxTXhwSHQwcExoWndKc0JoK0s5ekJDZUpyNGdKcVdBa2dzZUNiSjA4ZWZMZmp6enlHSFh1MG8xQ2EyT0VnZHhEYmFxTmFTV0llNjF3Q2d1dkorQ01aYlNKdG1zeUQweGxWYWxXZzgrQWZNK0JxOGE1ZVBSUmtJV0RnMGZPbHVtVUw3LzhVaWswcmdJRWJ0MjZkUWhrOHZYMWZZTzU0ckpIZng1V3Z3MHhQbkxraUZMRVhRV1l4Lzc5bGpmemFYenhXSXF5ZklhNUVueHhCWnU3NVpRd3VnTmZqb0hYbVN2T3prUk1lSGw1ZllURmUvNThpa29jWmVGMkUvZ2RUNkR4RjViWXhZVGV4K0NibU1IQzdTYm9ram1lSnZ6eWlFTys0MC9QcFlodmV5b3ZFSEFGb3IvdlEyT1BXdDd6SXNlRVZNU29JelEwOU5vVFR6eUp4NFdJNlNPTU9HQWNtRDZDa0lmV2poRGY0OU9aeTJqYndxR3V1QklyT0RnWWo1ai9IM1BHWTB4czk2VzQ1S2R3Y1BoNGVIaWN4ZUtHRFJ1VUl1TXF5T2JCSERPWnEzaGZkZW5TcGMvaXdEdDgrTEJTeEYwRjJUdzB2bmhGYW9DbnB5ZHVZQkw5NjRZNUpjRzNWS2xTSnhBTHZDeGlndm4rZ01VSmx4K25FaGtzM0dieFZYMHE4ZDk2dDdHbmdib2VJTmNERGpWVTE1UGdsNWxBb3k4c3Nvc0o1djhEK2hoODJ4MFpaUnJOdit4UHpkYjNzNkwxN3FIS2VvQmNEMmg3Y0tTeW5vek94OGJSbUF1TFZURXNZbUxDYjRzdFY3S2Q0UDF6QXdTZGJrVVR6ajlrRnhOYXdiUVBubWk3WmZpSWtYL09uNytBMnJmdnlHZjZ0YWtXaXpXUzJCRHc4SWo2QXJYcVJMcGtHUnd3bFFWT2xhcFVKeDlmdi9QTU9VWGpYangxVlZDRmd3TzM4OS9BSWhLcEtwRnhGV0FlZU1zWnVQR0JoamZZNDFsQmdSelVOM0RnSFRwMFNDbmlyZ0xNSXkwdFRlWWJrSm1aV1lINTNnUmYxRkh0cDZzQUk5UE5nL2xkMG9WaSsvYnR1TUZLeE1UWVMzeldmSVJGM1NTbW4zeVNGdTE3M29wR0crNVcxaXV4UGNaUWI5R1JGeW5vV0d0MVhRbSt4NXJUaUo4WEdHSWlJeU9qdkI0VDROdnVNQXUzU1R4MzRsLzA2cjczclJqeTMvdVU5VnB0RzJ5bzkvcmg1WFRYMFh1VWRXVjBQanFPUnY2OFVNVlh4TVRZUzJ3c2lnc0RYQVcva3drMDlvS1ZyelVtdElKM2FUUXJXN2JzOWZrTEZ0NGFQWHFzdURrUEl3NFlSOTN3ZWtMRUl5S2pCV3FIUmJsa0dSekFCYWpPSTZLS2xhcmNZdDY0OTZPeHRnL0ZwU0FLQndmTVF3VEwrdlhybFNMaktzQTh0SndIQXZrUDVob0U4SUdIdituZ3dZTjJBdTVLd0R6MjdkdG40THRreVpKZ25hODdUZ3QrL3Zubk90OC90VmdvTVhyMDZLcjREaGo1SzUvbEgyYmhOb25SM3ovRW03bGRVbjdZVFNXMnhkalZTOXcwWEt0aEtTbS83N1dybzRMdjBlWTA1TWNISGZZeCtMWTd4Q01DazNqaXU3Y3NCTFN5OTRlRDFHcnJJTHQ2RXpiTjFXcFlTdnJ2UiszcXFOQTVZeXdOKzNHZVE3NmpmdVd6Zk1XRkFhNkM3NG5tTk9wbksxOXJUR2dGeTg4MGI5Nzgwb01QUGtpZE9uVVZ5V2xjL2wwTHlXb1djRXdmMWFsYlQ4Q1Z5K0NDL0FldXZNTHp0SGlrOXgxemYxcmJoK0pTRUVVTERoRXNPQXRWaVl3dDhLcE12RzRUbDV6Kzg1Ly9WTlpSQWMvbHh5V2lDeGN1VlA1dUM0Z2JycllDTnkyUURlWng0TUFCcFlqYllzMmFOZlRxcTYvU20yKytLYmFucXFQQ3YvLzliM3I1NVpmRkdicnFkMXRJQ1hNclh4YUtVSjJ2TzA4THlrTEIvNk5xK0E0WThqOCt5ei9Jd3AwTGZQUDNEN3lwMnlVeGViaXh6cDVZWVNweWFYUWl5VmpIQVh5UE5LT0I1MlliK25qcDBxVWhlaCtEYjlzREkzT0ZILysrWUNHaGxRbWI1eGwrYjcxN0dPMDlkMUQ3MVZMR0hsOW9xT01JSFErUHBhUnpjeHpHeFBDTDg1VVhCcmdLdnNlYjAvQ2ZESHgxc2RXbnJOS1RCZzM2YS9JOVU4UlRibkZsbFppcWlxeFBrZldpS1N3Y256RUNybDJPRnB6QURZOUlLVnMyQUhtUGRHMGZpcWV1Q3FKb3dTR0NCV2VoS3BHUmdmY2R6NW8xaXg1NTVCSHh3aFlZQ0w1VDFaVXhkKzVjbWoxN05qMzIyR1Awd0FNUGlFOVZQUmtRdDA4KytjUnc0QUg2Z1plZW5xNFVjUmw0c3VleVpjdm9QLy81anpBREdBaStVOVdWZ2ZheEhwTGNlQWNCUGxYMVpNQTg5dXpaWStETCsxMUg1K3ZtMDRKV29SZzNibHgxZkFjTXZEQ1hTaHhnNGM0RkVrK040MDNkTHArYytZcEs3STYxL2w1cmZRZnRGMHQ1OXdLZklFanJad2ZmdzgybzczZlREWDBzaXpINHRrMGZrU3ZjZi9KeEN4R3RiRDZ6blZydkdtcjl2ZGNYeHYxWmZ5SFZzSDUyNkhob05QWDd6cEtBVnNYRTRGOTRGR1Z6VVVDMjJGaWZTbXlvZHh0N0c2anJBWEk5QUtNM1ZUMEp2cG5OYWZBUEJuUFd6UU5YS3RYaU0vaWJiQnkzQmc0YVF2VllxTVhkM3BneWlvSnd4MUpZUkxUNGRJZGxjS3JOSTVHUVdtRlVzVkpsVE1QaTBsM2NORmg4MVZWQkZDMDRSTERnTEZRbE1qSndKdjdNTTg4SXczanFxYWVJei9wbyt2VHAyUnJJbkRsemFQNzgrYUtPanBkZWVrbFpWd2JFRGFNR2NOTVBQRUEvOEpDY1ZvbTREQmdpdGdIRCtQampqNFVKdlBYV1c5a2F5THZ2dmt2dnYvKytxS01EZmFPcUt3UG1nZnM4Wkw2eVVMajV0S0JWS0lZT0hScU03NEMrUDdPUXBMTkE1UklwbC9ieTVtNlhXbCswdC95Mkw1YmV6VnlsZldzcHRUSzYyYTN2Q0Q0SDQ2blgyZnNkOWpINHR0M1B3cDFMcEY4NmFpR2pGUmdHdm0remR6aXR6ZHlnZldzcFNVZG0ySzN2Q0IwUGpxYTd6MDV6eUhmZytRZW9SQWFMdWtsTVAvVWtMVXA3M2dxUlUxTFVLN0VqeGxCUDVKUXlXNnZyU3ZBOTFveVN2amVZblc0ZXVOOGpxV3JWcXBmSFQ1aEV2WHIxSWp3aXBGYnRTSEYxVTFoNE5OV05pQkZUUnZoMGgyVndhdHk0c2JnZnBHS2xxcmhnNFRmZWgwSGF2aFNYL0JZdE9FU3c0Q3hVSlRJeUlLeTQwUXdHZ3VrcmZEN3h4QlBDUUdBbXR2VXgybGl3WUlHb3A2L3oybXV2MmRWVElTZnpRSEphSmVJeUlPaTRlUS9iMGJGcTFTcGhJREFUMi9vWWJjQTQ1UG9RZld6SHRxNHRVR2ZYcmwwT2hjTHN0S0N6Z1A2MW1SYTBNNDllUC9KWi9uNFc3bHlpMGJHQnZMbmJCWVpSWW1jTUJhMlAxNzZ4bEhkLzRmWVY2enVDejRGNDZuNW1pc00rQnQ4MmFjTnpqYkhIRmxnSWFXWHRzUTNVYXNjUTZ2REZVTzBiUzFuL1M2cHlmVWZva0Q2SzdqcHpyME8rZlg5aW9WWmNHT0FJbzg4cGNrcmJZK3pxSlc1VzVKUnM2cWpnYzdRWjlmdldZSGE2ZWVBWlVZc2pJNk4rR3pWcURMVnNuU2h1eXNQVlRYVlpwT3ZWYnlnUUhobnJWc3ZnaGl1djhEaDRIalY5ei91d1JOdVg0cExmb2dXSENCWUlpVXBrYkxGaXhRcGF2bnc1UGZ2c3N3SXdCSXdtWnN5WVFVOCsrYVMxSHFhbmtPZlE2eUEvZ3R3RFJGdmVuaU5BM0ZBWDNQUUREOUFQUE9RWFZDSnVpOVRVVk5xeVpZdVlBZ05nQ0JoTndFQmdKSG85VEU5aGFrdXZnLzZBNE8vWXNjT3dQVWVBZWFDdXpGY1dDalBUZ29BemMwbzIwNEoyNXRIdDNGUXFrY2JDblFlOGUzNHRiL0oycWJVMmtSYnR4Wk12TE9XMzY1Y3A2RUFyNWJxTzRKTWVSNTFQV3g2dG91cGo4RzJ6ajRVN0QvamlmS3FGbUZidSttUU12YnIzUGUwdm9zdlgvNlR1NlJPVjZ6cEMrLzJqcU12WGt4enl2ZnNISGtYaEV1VmN3QzZubERMY1dHZXZJcWQwTXNsWXh3RjhqalNqM3Q4WXpFNDNEenloOWwrTkdqVytPR2p3VUlwcjFvTHExSTFrb1VadWdjVTZtc1dhRVJIVndLMld3UTAzRWVLT2N5K3ZNakNQZjJuN1VsenlXN1RnRU1FQ0lWR0pqQW9yVjY0VUJ2TGNjODlaQVFOQlB1VHh4eDhYT1E3a1JKNS8vbmtoZ1BqRU0zQWd5aEJwMVRadEFYR0R1SU9iZnVBQitvR0gvSUpLeEZYWXRtMmJNQkFZZ2c0WUNFWWEyQmUwQitQQU5BNSt3eWR5RkR0MzdpUTh0a1cxVFZ2a1pCNW1wZ1gxUG5SV1Rnbi9ENG12blhsMCtuWXlsZGpId3AwSDFEcmNUUmlFWGo3NStrdjY3ZXJ2Mmw5RWk3NS9WYmxlZHZEWkgwZnRUNDUxMk1mZzIyYnZzRHhoNEtIcHdpRDBzdm5yN1hUNUtpNlFzcFJsMzMrc1hDODd0RThiU1IxT2puZkl0OGM1Rm1ycGdnQXpTRHl0eUNudGliWCticGRUd3VoT1dqODcrQnlPNTVFUy84OXRZb0lMTHQvK21NM2pmSjkrQTZoRml4YmlpaVpNRCtFeDZaSDFHZ3BneXNpZGxzRU5DZlJxTlVMSno4OGY3ejFmcmUxTGNjbHYwWUpEQkF1RVJDVXlqZ0R4UlNJYStRc2RPR3ZHQ0dUUm9rV0c3M0dXRDBFMmF4d0F4QTNDRG03NmdRZm9CeDd5Q3lvUmR3UUlPMFloRUhFZDJHZHdneEhLMytPeVdtemZySEVBTUkvdDI3YzdGQW96MDRJdXppblptVWU3YjFqNElFeDV4S0x2WHVITjJwZmZydjlPUVdrdGxldGtCKzk5VGFuMThWRU8reGg4Y2FOZlhySHN1NDh0QkcwS1RLWGJ2dHh2TzNFdmowQ09qM2JJdDh0M0xOUUgyUmh6Q2J1YzB2cjJsdC8ySzNKS3g3clpyZThJUG9manFOdnBDWFl4d1FXQ3U2RlJveVlYNzc2N0R6VnNIQ2VtcktMcU5SQWlIUjNUV0NDcWZpTzNXZ2EzaU1nWXdsTitmWHo4Y09QckJtMWZpa3QraXhZY0lsaGdCaXFSeVE0UUg0d084SkE5VEVucG44aHI0Qk9BWVVDUWMyTWNBTVFOQ1c1dzB3ODhRRC93a0Y5UWlYaDJ3RWdDQW8vcEtCbklhK2pMTUF4TWllWEdPQUNZQjBZNE1sOVpLR0NlcXYyVTRleWNFdjduRWw4NzgyajFOUXNmcnBUS0k0TDJ0VFNNUHZRaVJoMksram5CZTI5VFNqZzJ6R0VmZ3krdWxNb3JZQkR5NkVNdkdIV282dWVFeEQzRHFlV3g0UTc1ZGpqTFFxMjRNQ0FuTk1wVTVKUjJ4VkRRZnhVNUpjWDZqdUJ6TUk0Nm5SeG5GeE5jaEhuRXhqYjRwWHVQWGhUYktJNGlvcUxGMUZCVWRHT0thZEJFb0Y2TTVkTmRsc0VOVjE0Rmg4QThmSC9FUG1qN1VsenlXN1RnRU1GaU5oZGhDeGdJZ0xlSVlXcEtCbjdIWEg5dWpRT0F1SDM0NFllR0F3L1FEendZZ1VyRWN3TFdBekF0WlFzWVFGNk1BOEM2VzdkdWRTZ1VtQTVUN2FjdFhKaFRzak9QWnFkWStCUWluaHVNL25vaGIvcDIrZWF2YzhwNlpnRHppTXNZNUxDUHdiZjFUaGJ1ZkdEcEtUelM2WGI1OGMvenlucG0wRzczY0lyUEdPeVFiOXN6WSt3dUNqQUxYT0lzbDFxZkpvcTc5ZlVpY2tvSFd5blhkUVR2QTNHVWVNSXdzcFBOWTNWNGVPU1BuYnAwRTIvdUMrY3orcWpvUm1KcXFINXNVd0ZNR2JuVE1yaEZzSG5nVFlSKy92NjR5N3g0MnFxZ2loWWNJbGowdWYrOEFPYUJuQWtNUkFmT29QTnFIQUN1ZW9LUWdwdCs0QUg2Z1djMmthMEN6QU1qRjlrNGNGVldYbzBEZ0hsZ1drem1Ld3RGRWNncDJabEhreE1zZkR0ajhnMjVMRHI2b3JLT0dYanZia3lORHZkMzJNZmdpNnVrOGd1NXZKR3hRbG5IRE5ydUdrYU5EdzkweUxmVjZaSEtDd1BNSU1lYzBqa2UzU25XeXc3ZTZYSFVKdE13VXRMTlF5VE1nNE5EZms1czM0a2FOb2tYWi9TWUdvSkl4emFNRTRodVlQbDBsMlZ3dzlSYWpacWg1RlhHRzAvWUxVNllGMVRSZ2tNRUM2YUlWQ0pqRmppTHhidytwbDR3WXNpUGNRRHZ2LytlRUZCdzB3ODhRRC93TVAya0VuR3pnUGtnNmE2UEdQSmpIQUMyZzZTOHpGY1dpdHhPQ3pvanAyUXpMV2huSGcweUI0aDdCdklMdVN6S1lQTlExREdETXJzYVU4ekJQZzc3R0h4YmJXZmh6aWZrSXN4RFVjY00ydTRjUnJFSCt6cmsyL3prVUhGMVZGNng2UHRzY2tyN1d5clh5UTdlYVUyb3hWSERTRWszRDF6ZXVxUmN1WEkvdG1qWmhwbzBUYUNvK213ZXNZMkZXRGRvWkVGTXczaTNXZ1kzM0hWZXZVWXdMdFhGdEZYeHBib0ZWYlRnRU1FQ3dWZUpURzRBTVVwSlNSSEc4ZmJiYnl2cm1BWE1BMWRBZ1p0KzRBSDZnWWY4Z2tyRWN3TnNBMC9uTlh2WmIzYUE4V0RmWmI2eVVPUmxXckN3YzBvMjA0SjI1bEV2ZzRVYTl4SGtFM0lSNXFHb1l3WmxkamFteVAwOUhmWXgrT0loaHZtRlhONDRzbHhaeHd6YTh1aWozdjVlRHZrMlBUNUllV0dBV2VDaUEyVk9DYU1PUmYyYzRMMnZDVFU3WWhncDZlWWhiaEwwOHZLNjBJaEhIWmkyUWpKYW54cUtiZFJNQUZORzdyUU1iblVqWTZoeTFScTRTUkF2aGlxK1NiQ2dpaFljSWxod2xxc1NHVmNCNXFHL2IwSS84QUQ5d01NVWtVckVYUVdZQjZhK1pMNnlVTUFFVlB1WkV3b3pwNFQvdWNUWHpqekNEN05RNDhHRytZUmNjTGV6cW80WmxOblJtT3FtZFhQWXgrRGJjdXVnZkVNdXI3TjVxT3FZUVp2dGd5azhyYnREdmcyUDhjaE9JZUs1Z1RLbnBLaG5CbVhZUEpvY01rd0w2dVloSGsvQzMyVkZSTmE3RWN0bjlGSDFHNGlrZEd6RFp0U3dzUVVOR2pWM3ErV1lCdkVVVmplU0tsV3FjcFA1RnorZXBDQ0xGaHdpV0pCZlVJbU1xd0R6UU40RDNQUUREOUFQUEV3UnFVVGNWWUI1WU9wSzVpc0xSUkhJS2RtWlIrMkRMSHhiV2JqekNia0k4MURVTVlNeTJ4dFRyYjJkSGZZeCtMWk1aZUhPSitRaXpFTlJ4d3hhOCtpajlsN3haajRsMytpTXZ1SXFxZnhDTGlLbnBLaGpCbVgyTktZR0J3elRncnA1V0IrTVdMNThwZk9SdUVTWHpTTWE1c0ZuK0EyYnNHQXpHalJPY0t2bCtyRk54TE90L01zR1hBSjNiUitLSDR4WUVFVUxEaEVzeUMrb1JNWlZnSGxBSU1GTlAvQUEvY0RERkpGS3hGMEZtQWNnODVXRm9namtsT3pNSXppZGhUbzFPdCtReTZKakxHNktPbWJndGEwaDFkemQzbUVmZzIvTExTemMrWVJjM2ppNlFsbkhERnB2SFV6QnV6czY1QnQ1dUpmeXdvRGNRaTc1dVNDaHpPN0dWTjg0TGFpYkJ3cVcvMUdtalBmWFlXRmg0bjRLVEZ2aCtWRU5tN1FRd0pTUk95M2prZXg0eTJIcDBwNC9NL2ZpUjdJWFpOR0NRd1FMOGdzcWtYRVZJRzc0QkRmOXdBUDBBeTg1T1ZrcDRxNENqQU9mTWw5WktJcEFUc25PUEtydDcwQWx0ckJ3NXhNcHYrMjFZdlR4QmNvNlp1QzF0U0ZWM2RYT1lSK0RiOHVVcEh3ai9iZWpWanlXK2FxeWpobTA1dEZIOVYySkR2bldQZGhEZVdGQWJpR1gvRjZRRUxYUE1NMG1pNjE0R1JUamo1QmE0YmR3bndjUzVwZ21hc1JuK1kyYkpsQ2pwaTNGcHpzc04yZ1VUM1hDNjFPbHlsWHhNcWkvR2NVdmd5cklvZ1dIQ0JaM2VrVXFBSEhEV1RhNDZRY2VvQjk0eUMvWUNyZ3JBZlBBbmVreVgxa29pa0JPeWM0OEt1OXJxeFJ4VndIbVVYbEhLNGQ5REw0dGtwUGNCcTIySkZHVkhhMGQ4cTJWM2xWNVlVQnVJWmY4WFpEUWlPb2FwOWxrODlDbnJyWUVCVlU0aXpmMTFZOXVTTEZzSG8yYk5xY21jUzJvY1Z3cjhla095ekZzYkRWRDZwQ3ZueCtlcGx2OEd0cUNMbHB3aUdEQkhMaEtaRndGaUJ1bVpjQk5QL0FBL2NCRGZrRWw0cTRDekFNdmZKTDV5a0pSQkhKS2R1WlJmZzhMZFFvTHQ1dkFLN1VobGQrVzRMQ1B3VmNsNHE1Q1N6YVBDdHRhT09RYnZMK1Q4c0tBM0VJdStia2d3V3RISTZxOWh6blp4SVJVeWpCR01mK0xlSHRnWlAyRzFLQkJBOHZaUG9zMnBveWF4TGNXY09WeXd5WUo0aWJHeXBVcll6K1E3eGloY1M4dUJWVzA0QkRCZ3Z3Q29CSWFWd0JYQStWa0hoczNxb1hjRmRpMEtYdnpLQUk1SlR2ekNOeVZRQjRwTEN6SkxONXVnREpiR2xGZ2FyekRQZ2JmVmhEdXpRUGRBcTFTa2lnb3RabER2dFgydGFjU1czbmY4Z201aUp5U29vNFpJS2NVdk11UVU3STFqMUtNOG95dDVjcFYrQW1qRDl4TDBhaHhNM0cyMzdSWkcyb2EzOUlDRnkzRFFEQ2RKcDVuNWV1SE53aHUxVGdYWDJWVmtFVUxEaEVzbUVOZnZ0eDk4aDRyVmxqZS9BZHUrb0VINkFjZTdncFBUbmFmcWF1VWxHU1JpNUQ1eWtKUkJISktkdWJobjl5RUFsTGpxTVJtRmhjM1FMbXR6Y2gvVTJPSGZSeVFFa2Z0dGd5aEZwdFl2TjBBN2JjT3BjQk5UUjN5cmJ5bnJmTENnTnpDTHFla3FHTUdtQmFzdm9NNTJjU0VWRER0STBZZi9QdWxrRnAxYm1EMGdXZGROWTVMb0NZUThXWThBZ0dhdDNYSmNnTWVkZFNwRzBFVktsYkc1Ymw0a3U0b2pYUHhsRlZCRmkwNFJMRGdFUmlyVjMvc0ZxTVBjRml6NW1QeFNBNXcwdzg4UUQvd2tEemV2bjJiTlZIdFNvQUR1TmplMUNnTFJSSElLZG1aaDk5L3dxbHhXaC95M055QVNteXE3MUtVU1c1RVRkUDZrdDk3WVE3N3VQeUhzZFJsM3hocXZXa3dKV3djNkZLMDNUeUV1dThiU3hYZVkyRjJ3TGZDN2xaS0VYY1Z4QVVKMncwNUpWdnpRTUVaZkNEamZhOHlaYzdVcWxXTDZzVTJvWVpJV0RkdVRIRUpiUVV3ZmVUczVjYnhyU2c4UEp5cVZLdUJPOHAvQVVlTmEvR29vNkNMRmh3aVdQRGNKTHpmWXUzYU5lTEtJQWdoQk0rWlFKc3dCZHpUQUM1NG53VzQ2UWNlb0I5NGVGUUhSaDg3ZG13WDkzd2dnWTZwTEdjQ2JhYW1iaEVjd0FYUG5aTDVjcC9XMXZrV2daeVNFSW9CQXdiVXhIZEE0TndBOGtwcFFLMzJENkd3SFYycDNKWUVDdGpTektrb245cUM2dTdzU3EzU2g1TFhsb1lVTUN2QVlSL1hubHVIdkZNYVVsTGEvZFIvKzczVWVjc282cGd5d3Fub3NtVTBEZGd4bFpMMjMwOWxtRy9vck5vTytRYnRiS0c4TU1CVlFFNnAwbFpEamtabEhpaTRTMXVjWkFTVksvOGRYcmdVelFiU1dFd2h0YUs0NXEwcHZrVTc4ZW1zNVNieExjUlRmcXZYRENWZlh6L2NUWTc5QU1maU84b0xvMmpCSVlKbDZ0U3A0dkhlZUU0U0RHVGR1cy9vczg4K1pheDFFdERXWjl6MmFqRmRCUzU0TXg2NDZRY2VvQjk0ZU5jRkh0ZUJ4Nm52M0xtZGR1L2VKUjUyNkV5Z1RiU05SN25qWFJ4NHlxM01kLzc4K1NFZUhoNkNieEhJS1FtaEdEVnFWRFY4QndSTjhTYi9wUlY1NUJGRExkT1RxT3ZCc2RUNXdCaW5vc3ZCTWRSaWZ4SjVib3dtLzhjcVVPQjRiME1mTDFxMEtFU1BpWWg3YTFITngrdVMxK1pZdW12L2VCcDdZQzZOTy9BZ2Z6b0hhR3ZNZ1RuVWJmOVlLck14bG1vdXJVdDFKNFE0NUZ0MlJ6UHkyQktqdkRqQUZTaURDeEtNT1JwSDVvRXBJRHdqYWpqamF1VXExWDZyRzFHZllodkZVK09tTFNpdVdXdHF4b0llMzd5TlFMTVdpWVc2REFPcEg5T0lhZ1RYSXYreWdYOHdwK3NNSk1uQnNYaTZxakFLQjRjUGdnU0w0OGFORXdhQ0IrL2hEUHJGRjE4VWd1aE1vRTIwamZkWGdNdVlNV1AwUVA2VnVRWUFmT0Q5aVFNUEwwQ0NnV0JxQzlNdnVJbE9mNVNIczRCSGpxQnQvY1ZOYytmT2xma0dzc0dVWjc3WHdOZnkwaW4zeWluaFRuV0pydzh2bC9qMDAwL0w4dC9YOEgzZ21ETENRQUpuK1pQUGF6WEljM1ZkOGx3YjdseDhIQ2JhRHB6aEo3Z0VqQ3Jqc0kvRHhnWUxBNmt6dXpaVmVEMkNmRmZYSTUrMTlaMEt2NC9yaWJiRFp0YTJjQmtkN0pCdnVjM3hGTEExVG5seGdDdFFibHN6cXJEUmVrR0NOU1ljRkV3RjRRbTFEekgrcUZLdHhxKzRlVEMyY1hPUis4QnpwWnExVEdTMEY5TksrQ3o0NVVScXlzWVJGUlVsTHNzTkNBekNZOWV2YXB6QXJYaTZxckFLQjRkMzZkS2xNN0RZbzBjUElkanVoTTZkTFkraThQVDAzTU5jeXdKZVhsNFpPUENHRFJzbUJOdWRNR0RBQU1HWE9ZSnZRRnBhV2lENDRqdThHdGJkY2twNHJMdlV2K0pwb3l0WHJ2VFhZOEt2bTZjUWJIZUNiMGRQUTB4czI3YXRuQjRUMWJ0WEZvTHRUcWphcWFLQjc0RURCNEowdmpYZmIwU045dlVteitRR1ZHSnpmWmVpVElvbHB4VDhWa083bU1pbTRPb3J2QjlqS2VPdlNsV3EvaElXSGlXZWVZVXJvT0lUTUVKb1M4MWJkUkNmQmJrTUEya2MxNElpNjhkUzlab1ljUVRveHZHNHhnbmNpa3RoRlE2T01uNStmcTlqTVRBd2tDWk5tcVFVY1ZkZzh1VEpWSzVjT1JISUFRRUIvMkN1ZmdBdnY0SHZLbFNvSUI1TnJoSnhWMkR4NHNWVXNhSkZLRFMrL2d6ZnNtWEx2b2J2Y0ZhR0s5cmNLYWNVR1JrcCtETEhweEFMdkZ4aTNicDF2bnBNZUFTV3BNQUphaEYzQlFJbmVwTkhVRWxEVE96WnM0Y1hMVEhoR2VoSmRTZUdLRVhjRlFpZkZFcGVRUmF6MC9rQ3ZDejZ0MnhNSVBra043YmtsSFoycFhLcENSU1Eyc3lwS0wrMUJkWGQxWlU1RENWdk5wQ0Foa0YyTVpGRDBRMWtJZU5xWUZDNTg3VnFoMVA5bU1iVXVHa3ppbXZXaXBxejBEZUgrRE1TMkFEeXU0eHROdVFSRGg1NldLVnFkZkx4OGNHTmdKaXFBb2RpNDNCRzRlRHdEQTBON2VyaDRmRTkvcXhkdTdiSU02akUzSm5BRkJxdTRnQW5jS3RidDI0bjV1b05zQWgzMC9uV3ExZFA1QmxVWXU1TVlBb3RVaE5pY0FzUEQrL01YSDNBTnlJaUlwRy91NERmdW5idDZoWTVKVXhYNmFNNjhLMWZ2MzR6eEFML2paandDZzRPN3FsejlxemxJZklNS2pGM0pqQ0Y1aG5xb1lvSkg0NlZYanBmLzlxK0lzK2dFbk5uQWxOb2ZxRStTcjV5VEZRZVhKTzhOeldrbHZ1VHFNc0I1K2VVZ0lTMEpQTGQySkFxRDZ5aGpBa1RCV0tOL0FoeUlEenlMdk5kdFdyVnFXNWtOTVUwaWhjM0VtS0tDU01IVERjbHRPNG9rTHZsRHVKcXJrWnhMU2tLaWZIcTFhbDh4Y28zU3BVdWZSRnRNcERqQUlkaTQzQkc0ZUFvelFkZWN6NWpuc1REYU55SlNYeldTUWtKQ2RTL2YzOUtTa3B5S3ZyMjdTdmE1ak1KRWNUTTZYTGx5cFhIOGNFV3gxeTlBRDRJRTJTK2ZCWW5oQkNtTjJYS0ZLZGkvUGp4b20zMG1ZSnZHUng4OGZIeGRaanZGUDd0Q3VvZzZHR1F1RnBNZmxPZ000RDhFTnF1VkttU2dXL3IxcTFERUF2OG5Sd1RWczRlZmlYSnUzbHA4dS9yUldVSE9oZitmYnhFMnlWOUxDTU9tejZXWThMS3Q3UmZLYXJZdkJ3Rjk2dEtJVW5WbllyZ3ZsVkYyNlY4U2puazI2cFZxekNacjI4ZFA2cStOSklxcklxbGNwODRGeFZYeG9xMnkxUzNYb2hnRnhNbUMvSUxtT2JDMVhydmxTaFI4bytBd01CZmdrTnFDeE5CUXJ0UjArWVV6eU1IVEdjMWI5bU9XclRwS0Q2elcyN2VxcjI0K1E4dmQ4S1RmSU5EYTFQRlNsWDAwUWFlV2NWdGlUYlJkbkdPdzFtRmc4T0RoYUlXQzFybkdqVnFKSGw2ZXU3QTErNkFVcVZLWlZTcFVtVVV1TEU0MUdTdXBZQ2l3RGM2T2pvWUJ4NndmdjM2TW53bTN3WUhKTmM1cFZyWEZkRDVob1NFdEU1TFMvTkVMUEQzaUlsU1VWRlJvby9kbGJOTlRKUXVhbnlMV2t6a291REtKb3hXQWhnWUNXeGhNL3JOUHlEZzUrbzFRMjdoOGVnUlViRlVqNDNFY21NaEhtdlNncHF3T2VBK0RYeml1eWJOV212djQyZ3EzcE5lcTA0NFZhc1J6S1pSOVphM2o4OWwzaVl1OHRtaXRZRzIwR2J4VlZYT0xCd2NKZDk0NHczUDh1WEx0K0NnNmNRQjNZV1hwL09aOURJdkw2OVVCTFl6d1cybWNOdHZnZ080Z0JPNHBhU2tRSWc5Z0NMR3R5U2pWR0ppWWhELzFvRjlyMnU1Y3VWbXV3dmZxbFdySm5idjNoMVhzVUhVeE1HSFQvUXg4MnlGL1hFM3pvNWlvaWp4WlJTcG1NaERnZWtnWDRMSGdtQXFLNWx4eGRQVDZ5Y2VqVnl2VXEzbVRWeFd5NmJLeGhCQmRlcldvOURRVU1MOUlyWHJSaEtmR0ZLTjROckU5WWg1a2E5ZjJkOUxXNmFuY0JVZ3RvVnRZdHRvbzNpMDRZcUM0QUFpSXlQTEJnVUZ0YTFRb1VJbkJEdk9sQkJJQ0d3WmZQWlVvTERkUHRwRTIrQUFMdURFWi9GSVBBdWVSWXl2Ymg1aUdRY2sxMnZ1TG54WkpPSUhEaHdJcmxhZWNrencrZ0c4UDRsRkpTWjQzU0xGbDFGa1lpS1BCZXZxSm9JbjJqWmhQTWs0d01qeThQRDRyVlRwMHVmTGVIdi96OXZIOTZLdnIvLy9HTCtWOGZiNTFhdE1tVi80dDE4eGhjWjFiMmpyWUYxc0E5dlNUU00vL0lwTGZnb0hoMVVzT0pCeDVWVURmMy8vRG9HQmdSMFIrRG9RV0lVSnVTMjBEUTYrdnI1TnVmanEvRFN1UlpZdlE1eHhSa1ZGVmVDenJObzFhOVpzd051Q2NEVG5NNjJFd29UZURyY1ppN1pqWTJQTGFYeGtnN09MQ1loZVFFQkFmRkhwNDZMR2wxRWtZcUlBQ2tRZStSTWt0Q0grZUIzc1FBYXVqbnFYOFRIakt3MVl4bmY0RFhWUUYrdGdYV3lqMkREY29TQTRKSWlBNFNGMElKOHRoWEx3eDNEd3grTmdkQWJRRnJjWmpiYkJRZWVqY1ZPaHFQRjFlemlLQ1JiRGNrVXBKb29hWHcyNmNBdERjUkxrTm1VdVZvNkZVUFFSQ2ZJVVNITERGSEI1clF4OGg5OVFwM2lFNFhhbFJJbi9BelRGVHVNU1FjMzJBQUFBQUVsRlRrU3VRbUND"},{ name : "__ASSET__:bitmap_flixel_system_debug_GraphicArrowLeft", data : "aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFzQUFBQUxDQVlBQUFDcHJIY21BQUFBQm1KTFIwUUFBQUFBQUFENVE3dC9BQUFBQ1hCSVdYTUFBQXNUQUFBTEV3RUFtcHdZQUFBQUIzUkpUVVVIM2dRWkVqQTAzU0hjY2dBQUFFQkpSRUZVR05Oai9QLy9Qd01SSUpLQmdjR1g0Zi8vLy9odzVQLy8vNWY5aHdLaUZPRlNqRlVSdW1LOGlwQVZFMVJFdHNra3U1bXMwTUNyaVpHVUdBUUFzOU5wbXo4SWloRUFBQUFBU1VWT1JLNUNZSUk9"},{ name : "__ASSET__:bitmap_flixel_system_debug_interaction_tools_GraphicTransformCursorScaleXY", data : "aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFvQUFBQUtDQVlBQUFDTk1zKzlBQUFBQkhOQ1NWUUlDQWdJZkFoa2lBQUFBQWx3U0ZsekFBQUFUZ0FBQUU0QnNjMGZNd0FBQUJ4MFJWaDBVMjltZEhkaGNtVUFRV1J2WW1VZ1JtbHlaWGR2Y210eklFTlROdWk4c293QUFBQlBTVVJCVkJpVmxZOUJFb0F3Q0FNM0hmLy81WGdRMndyMFlJNndKRUcyelNaSkFraGpSZ2QxR3FkRkN5cjAxc2l4QUNVcVlJWEJBcnRyd0xudlZTS2V2WFpud0FWTXRXYmN2NjhQK3BTL0FmNTJIUmZ1cmtCMkFBQUFBRWxGVGtTdVFtQ0M"},{ name : "__ASSET__:bitmap_flixel_system_debug_GraphicLog", data : "aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFzQUFBQUxDQVlBQUFDcHJIY21BQUFBQ1hCSVdYTUFBQXNUQUFBTEV3RUFtcHdZQUFBQUlHTklVazBBQUhvbEFBQ0Fnd0FBK2Y4QUFJRHBBQUIxTUFBQTZtQUFBRHFZQUFBWGI1SmZ4VVlBQUFBa1NVUkJWSGphWXZ6Ly96OERzWUFGaVkxUEZ5TzZZc1pSa3dlSHlRQUFBQUQvL3dNQStmWUlMQWhqbnhZQUFBQUFTVVZPUks1Q1lJST0"},{ name : "__ASSET__:bitmap_flixel_system_debug__Window_GraphicWindowHandle", data : "aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFvQUFBQUtDQVlBQUFDTk1zKzlBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQUZCSlJFRlVlTnFNandFS0FDQUlBeFgyeWg3b055MmpRa3lwUWJUMGRFU3FTblllRXZoWE5zRE1ZblhlelZHNHdBME5OVlJaSGpLUEgyaDYvNWwxVzBPaXgzTlRFbDFDSjdxS0MvNExraTdBQUQ1WWZydllMZlJQQUFBQUFFbEZUa1N1UW1DQw"},{ name : "__ASSET__:bitmap_flixel_system__FlxPreloader_GraphicLogoCorners", data : "aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUVBQUFBQkFDQVlBQUFDcWFYSGVBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQlkxSlJFRlVlTnJrV3d1eW16Z1FsR1Q4d1g1Sk52ZS9UUTYwdFhrdi9tRkFDNjRaMG01TEFwejFPaENxcHJEQnh1NmVuaGtKUnRZWTg2MnhkV1A3eG40MDloM3NIem4yMGRpeHNaTlkwZGlsc2JLeENxd0c4MkQ4M3NDZVg3ZWJoWDFyRHZacVdXTUwyUzhiV3dtT1RXTnZZbDhhKzlyWVg3TC9MTWZiejJ3Yk8yZHljQ2tBQ3JtZ0FTQkZ3QzZ5Ui9BZVNJZ0Jad0lZT0pPQVJDandSZUQ2K1BrTS9sc054OVlDZWlmN055VmdMeGQ5QjYrMzlyZnN2NHNLV2dXY3lmczFlVDRGT3VUOVBnSVFXRWdKQzFCQklZNjhpT20xVVNVWlhIZWhCSnprd0VHQUtoSHZRc0M3a0hRU0FpNEF1b29BcjhuTEtlQkRWR0FEUkRnaTRnSktacy9uNHZWYzNxL1VrVXFBRjVBZllrakNoNUNqM2k4SFNOMzBBQjlDZ0Uwb0FVbXdRa0JKdVVpUHJ5RG1jM205RkNJNkFpcngvZzhnUU1Hci9BdncvcEQ0N2dPYzh2eFFFcFNJQ3ZhbFhKc1Y4Q2J4bndNcFZTYmVMWUVBQkw2WDh5ZUsrMGRCRHdYK0tCRTFPQWdKVUd4YklzQm5VTmEwREI3azlSRkszeGtraGpFK3hMc2h3SDRrZUQrQUNFM0VXc1cwVkI0QW0xWUFMWmMyZzlwK0lQQUhxdmxWSk5iTlNFOC9vZ0QrYm93SXZMWVR4eDBCMTE0STJJZ3RNZ0NxSHp4Q3lWUFpsMVRxbmdteTcxcVdsR1poYjZqOEZZUnRUOGt3eXdUb2lZQVhFZkQxTDRKOGxCZzdrSFF2d0d2NDc1Y0F4b09RMEJHQTRNODB6T1doN2JNOVBsUUZzWE0xNUlRU0JrWWhFbFlaZ01haGJxeld2d0o4MzIvYWdBbzhPSzZDb1R1VFVDTUJPTkJoNzc4YThKakU2R2wwV29FS0NzQjYwaktJRTV3TGxic3hZL2ZmZ1FoV0ErYXVNa0NDeVFMU0x3Zkd2Zm5OeVdBVmxLU0VRc2NCUlVUNmZpS2VUeW1ocGx6QUpGd0pLQlAxZnFvSzRMQ3RZYUtFSkRoSDRLc1pTRDgwTnFnREpGd3R3emNrbWFtSGdROGt3NHBJV0RqeS90UVZFQ01pUmtMbElqYzFwK2oxUGdKOElDRldMbkZuMTgvTSsxWGdIdWFOQXVvQk56dW1Gdis5WWVBQ1NXL29sSGVxT2VER2hpcGc2dU9BS0JFdVVmYm1zREVKRlpQZ1RQcWh4bHhJQ0QybTZ3Z1krOGhxVHZuQXU1bDZQVFl6dkZPRCt3T2tINW9YZE9kY1l2dzg1ZEdnSHhvT3pveDdiaitYSE5BZGMyYittMDlNazQyYmFlSWJzbGtsd1A0cFlFUHZYZVFEcVMvUGFsTUZoR3lPS3Jqck8zSXpCODBLdm51czdoTGVueklwc2NmbmQ2cDNpVENZaStkakpEZ2t3TTI4SW9SYTdib2NNR2NWaE1CamE1M3JYZ1NJbUVNSkRMWGNJdVlGZGxzdUlpVE1EZnhObDZrTGdIZG1Yb21RUTBCYlp6c0N0SWRXRDA1OVlHUURCSEJ2c2JiUVpZN0FZM3hNT1JuYW52aS9VVUJHS3BoVFNXVHBZM2Q1aTNuWm5sanBtNTU4WUNlWStFS0xMQlRyQ2dsWXc0bU13c0JNWkdnY0d2bTVsUGVOdE1sZDI4YUZpQlVSNEdES1hKdGhEWXV2bnV2SEZJREFPd1VnQVdzS0IrNFB0aWJjbWhxN0RXVk11TkY1N08yc01mY2wrbGFWNE5xaXE3VUhOd0owQXlmTzhnVnNqMC9kWDdPSlAydi9ZKzhPbWVveStDVTRkdzFxdjRaQUxuOCtGK05HNlJBQi9oYzkrOHg1UG51ZFBhOXJCWElOQVNWZ0srQnpjN3MyQ0lIR1dtZTVXenNXTGo0U0Zxd2VQd0kwMzlwRHI3UGtOMkJyVkVDN3RZc0plRjBncnI3Z0xqSm53azlmWGxYdWVLaTdCTkNxN3EzNTJTNi9WUVZzNVlzS0h0dmxhMkFZMXduZVBXSXkvOCtUSkp1WTZOaEF0a2ZRT3lLZ2E1ZlBoVFgwUGk0OHhEc29xV2JLWnl1aER6eU84VlgyQ253WEljRXBBVXZ5UEpaQWpDdGRXZnFLbmlMYjQza3VkUnNCck10b1B4RUpMVzZMWlhCbjd0Y0xlQ0lnSXhYRXdpRkZRbXdNMFZmelkwdHBPZXVyOTNQQjlFbE1sYUR5YnovVExTc3pKdDR5YitCSGxrUlFUQWtwRXZ6STBoa2I0ckxzMmZ0YklPQU5iQXRWNExwZVlHZCtManIwZ2RLSGlhVnZQZEV6OGtIb2xyYUwxSHYydmtxL1hVWGVyaUQvVEdxb2NQSDB5ZHl2dXViWXFzejlpbTFWZ251Z01neXArVFl5ekkxTmNIQm1pM01aWFIxL3hLVCtyd0FEQUFKQmFpQW1tNXh3QUFBQUFFbEZUa1N1UW1DQw"},{ name : "__ASSET__:bitmap_flixel_addons_transition_GraphicTransTileCircle", data : "aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQWlBQUFBQWdDQVlBQUFBckZzTTFBQUFBQ1hCSVdYTUFBQXNUQUFBTEV3RUFtcHdZQUFBOE1HbFVXSFJZVFV3NlkyOXRMbUZrYjJKbExuaHRjQUFBQUFBQVBEOTRjR0ZqYTJWMElHSmxaMmx1UFNMdnU3OGlJR2xrUFNKWE5VMHdUWEJEWldocFNIcHlaVk42VGxSamVtdGpPV1FpUHo0S1BIZzZlRzF3YldWMFlTQjRiV3h1Y3pwNFBTSmhaRzlpWlRwdWN6cHRaWFJoTHlJZ2VEcDRiWEIwYXowaVFXUnZZbVVnV0UxUUlFTnZjbVVnTlM0MUxXTXdNakVnTnprdU1UVTFOemN5TENBeU1ERTBMekF4THpFekxURTVPalEwT2pBd0lDQWdJQ0FnSUNBaVBnb2dJQ0E4Y21SbU9sSkVSaUI0Yld4dWN6cHlaR1k5SW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTHpFNU9Ua3ZNREl2TWpJdGNtUm1MWE41Ym5SaGVDMXVjeU1pUGdvZ0lDQWdJQ0E4Y21SbU9rUmxjMk55YVhCMGFXOXVJSEprWmpwaFltOTFkRDBpSWdvZ0lDQWdJQ0FnSUNBZ0lDQjRiV3h1Y3pwNGJYQTlJbWgwZEhBNkx5OXVjeTVoWkc5aVpTNWpiMjB2ZUdGd0x6RXVNQzhpQ2lBZ0lDQWdJQ0FnSUNBZ0lIaHRiRzV6T25odGNFMU5QU0pvZEhSd09pOHZibk11WVdSdlltVXVZMjl0TDNoaGNDOHhMakF2Ylcwdklnb2dJQ0FnSUNBZ0lDQWdJQ0I0Yld4dWN6cHpkRkpsWmowaWFIUjBjRG92TDI1ekxtRmtiMkpsTG1OdmJTOTRZWEF2TVM0d0wzTlVlWEJsTDFKbGMyOTFjbU5sVW1WbUl5SUtJQ0FnSUNBZ0lDQWdJQ0FnZUcxc2JuTTZjM1JGZG5ROUltaDBkSEE2THk5dWN5NWhaRzlpWlM1amIyMHZlR0Z3THpFdU1DOXpWSGx3WlM5U1pYTnZkWEpqWlVWMlpXNTBJeUlLSUNBZ0lDQWdJQ0FnSUNBZ2VHMXNibk02WkdNOUltaDBkSEE2THk5d2RYSnNMbTl5Wnk5a1l5OWxiR1Z0Wlc1MGN5OHhMakV2SWdvZ0lDQWdJQ0FnSUNBZ0lDQjRiV3h1Y3pwd2FHOTBiM05vYjNBOUltaDBkSEE2THk5dWN5NWhaRzlpWlM1amIyMHZjR2h2ZEc5emFHOXdMekV1TUM4aUNpQWdJQ0FnSUNBZ0lDQWdJSGh0Ykc1ek9uUnBabVk5SW1oMGRIQTZMeTl1Y3k1aFpHOWlaUzVqYjIwdmRHbG1aaTh4TGpBdklnb2dJQ0FnSUNBZ0lDQWdJQ0I0Yld4dWN6cGxlR2xtUFNKb2RIUndPaTh2Ym5NdVlXUnZZbVV1WTI5dEwyVjRhV1l2TVM0d0x5SStDaUFnSUNBZ0lDQWdJRHg0YlhBNlEzSmxZWFJ2Y2xSdmIydytRV1J2WW1VZ1VHaHZkRzl6YUc5d0lFTkRJREl3TVRRZ0tGZHBibVJ2ZDNNcFBDOTRiWEE2UTNKbFlYUnZjbFJ2YjJ3K0NpQWdJQ0FnSUNBZ0lEeDRiWEE2UTNKbFlYUmxSR0YwWlQ0eU1ERTBMVEE0TFRBMlZERXpPalU1T2pNMkxUQTFPakF3UEM5NGJYQTZRM0psWVhSbFJHRjBaVDRLSUNBZ0lDQWdJQ0FnUEhodGNEcE5iMlJwWm5sRVlYUmxQakl3TVRRdE1EZ3RNVFZVTVRZNk16QTZNRFF0TURVNk1EQThMM2h0Y0RwTmIyUnBabmxFWVhSbFBnb2dJQ0FnSUNBZ0lDQThlRzF3T2sxbGRHRmtZWFJoUkdGMFpUNHlNREUwTFRBNExURTFWREUyT2pNd09qQTBMVEExT2pBd1BDOTRiWEE2VFdWMFlXUmhkR0ZFWVhSbFBnb2dJQ0FnSUNBZ0lDQThlRzF3VFUwNlNXNXpkR0Z1WTJWSlJENTRiWEF1YVdsa09tWmxZVEZqWlRRMkxXRmlabUl0Wm1RMFlpMDRaR1prTFRBek9EWXpaVEExWldKaU9Ud3ZlRzF3VFUwNlNXNXpkR0Z1WTJWSlJENEtJQ0FnSUNBZ0lDQWdQSGh0Y0UxTk9rUnZZM1Z0Wlc1MFNVUStZV1J2WW1VNlpHOWphV1E2Y0dodmRHOXphRzl3T2pSa05HUmxZakUyTFRJMFl6TXRNVEZsTkMwNU9UQmlMV0kyTkRnMk1EQTRNVEpsTXp3dmVHMXdUVTA2Ukc5amRXMWxiblJKUkQ0S0lDQWdJQ0FnSUNBZ1BIaHRjRTFOT2tSbGNtbDJaV1JHY205dElISmtaanB3WVhKelpWUjVjR1U5SWxKbGMyOTFjbU5sSWo0S0lDQWdJQ0FnSUNBZ0lDQWdQSE4wVW1WbU9tbHVjM1JoYm1ObFNVUStlRzF3TG1scFpEb3pNMFpHUVRBME9URTRSVEF4TVVVME9UbEJOMEpGUlRRM09ESTVOalk0Tnp3dmMzUlNaV1k2YVc1emRHRnVZMlZKUkQ0S0lDQWdJQ0FnSUNBZ0lDQWdQSE4wVW1WbU9tUnZZM1Z0Wlc1MFNVUStlRzF3TG1ScFpEb3pNMFpHUVRBMFFURTRSVEF4TVVVME9UbEJOMEpGUlRRM09ESTVOalk0Tnp3dmMzUlNaV1k2Wkc5amRXMWxiblJKUkQ0S0lDQWdJQ0FnSUNBZ1BDOTRiWEJOVFRwRVpYSnBkbVZrUm5KdmJUNEtJQ0FnSUNBZ0lDQWdQSGh0Y0UxTk9rOXlhV2RwYm1Gc1JHOWpkVzFsYm5SSlJENTRiWEF1Wkdsa09qTXpSa1pCTURSRE1UaEZNREV4UlRRNU9VRTNRa1ZGTkRjNE1qazJOamczUEM5NGJYQk5UVHBQY21sbmFXNWhiRVJ2WTNWdFpXNTBTVVErQ2lBZ0lDQWdJQ0FnSUR4NGJYQk5UVHBJYVhOMGIzSjVQZ29nSUNBZ0lDQWdJQ0FnSUNBOGNtUm1PbE5sY1Q0S0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnUEhKa1pqcHNhU0J5WkdZNmNHRnljMlZVZVhCbFBTSlNaWE52ZFhKalpTSStDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRHh6ZEVWMmREcGhZM1JwYjI0K2MyRjJaV1E4TDNOMFJYWjBPbUZqZEdsdmJqNEtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdQSE4wUlhaME9tbHVjM1JoYm1ObFNVUStlRzF3TG1scFpEcGlOVGN3WlRoak55MHpNemhpTFRSbE5HWXRPREF5WkMwNFptSmpObVJoWkRnNFltSThMM04wUlhaME9tbHVjM1JoYm1ObFNVUStDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRHh6ZEVWMmREcDNhR1Z1UGpJd01UUXRNRGd0TVRWVU1UWTZNekE2TURRdE1EVTZNREE4TDNOMFJYWjBPbmRvWlc0K0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lEeHpkRVYyZERwemIyWjBkMkZ5WlVGblpXNTBQa0ZrYjJKbElGQm9iM1J2YzJodmNDQkRReUF5TURFMElDaFhhVzVrYjNkektUd3ZjM1JGZG5RNmMyOW1kSGRoY21WQloyVnVkRDRLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnUEhOMFJYWjBPbU5vWVc1blpXUStMend2YzNSRmRuUTZZMmhoYm1kbFpENEtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1BDOXlaR1k2YkdrK0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUR4eVpHWTZiR2tnY21SbU9uQmhjbk5sVkhsd1pUMGlVbVZ6YjNWeVkyVWlQZ29nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0E4YzNSRmRuUTZZV04wYVc5dVBuTmhkbVZrUEM5emRFVjJkRHBoWTNScGIyNCtDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRHh6ZEVWMmREcHBibk4wWVc1alpVbEVQbmh0Y0M1cGFXUTZabVZoTVdObE5EWXRZV0ptWWkxbVpEUmlMVGhrWm1RdE1ETTROak5sTURWbFltSTVQQzl6ZEVWMmREcHBibk4wWVc1alpVbEVQZ29nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0E4YzNSRmRuUTZkMmhsYmo0eU1ERTBMVEE0TFRFMVZERTJPak13T2pBMExUQTFPakF3UEM5emRFVjJkRHAzYUdWdVBnb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQThjM1JGZG5RNmMyOW1kSGRoY21WQloyVnVkRDVCWkc5aVpTQlFhRzkwYjNOb2IzQWdRME1nTWpBeE5DQW9WMmx1Wkc5M2N5azhMM04wUlhaME9uTnZablIzWVhKbFFXZGxiblErQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUR4emRFVjJkRHBqYUdGdVoyVmtQaTg4TDNOMFJYWjBPbU5vWVc1blpXUStDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lEd3ZjbVJtT214cFBnb2dJQ0FnSUNBZ0lDQWdJQ0E4TDNKa1pqcFRaWEUrQ2lBZ0lDQWdJQ0FnSUR3dmVHMXdUVTA2U0dsemRHOXllVDRLSUNBZ0lDQWdJQ0FnUEdSak9tWnZjbTFoZEQ1cGJXRm5aUzl3Ym1jOEwyUmpPbVp2Y20xaGRENEtJQ0FnSUNBZ0lDQWdQSEJvYjNSdmMyaHZjRHBEYjJ4dmNrMXZaR1UrTXp3dmNHaHZkRzl6YUc5d09rTnZiRzl5VFc5a1pUNEtJQ0FnSUNBZ0lDQWdQSEJvYjNSdmMyaHZjRHBFYjJOMWJXVnVkRUZ1WTJWemRHOXljejRLSUNBZ0lDQWdJQ0FnSUNBZ1BISmtaanBDWVdjK0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUR4eVpHWTZiR2srZUcxd0xtUnBaRG96TTBaR1FUQTBRekU0UlRBeE1VVTBPVGxCTjBKRlJUUTNPREk1TmpZNE56d3ZjbVJtT214cFBnb2dJQ0FnSUNBZ0lDQWdJQ0E4TDNKa1pqcENZV2MrQ2lBZ0lDQWdJQ0FnSUR3dmNHaHZkRzl6YUc5d09rUnZZM1Z0Wlc1MFFXNWpaWE4wYjNKelBnb2dJQ0FnSUNBZ0lDQThkR2xtWmpwUGNtbGxiblJoZEdsdmJqNHhQQzkwYVdabU9rOXlhV1Z1ZEdGMGFXOXVQZ29nSUNBZ0lDQWdJQ0E4ZEdsbVpqcFlVbVZ6YjJ4MWRHbHZiajQzTWpBd01EQXZNVEF3TURBOEwzUnBabVk2V0ZKbGMyOXNkWFJwYjI0K0NpQWdJQ0FnSUNBZ0lEeDBhV1ptT2xsU1pYTnZiSFYwYVc5dVBqY3lNREF3TUM4eE1EQXdNRHd2ZEdsbVpqcFpVbVZ6YjJ4MWRHbHZiajRLSUNBZ0lDQWdJQ0FnUEhScFptWTZVbVZ6YjJ4MWRHbHZibFZ1YVhRK01qd3ZkR2xtWmpwU1pYTnZiSFYwYVc5dVZXNXBkRDRLSUNBZ0lDQWdJQ0FnUEdWNGFXWTZRMjlzYjNKVGNHRmpaVDQyTlRVek5Ud3ZaWGhwWmpwRGIyeHZjbE53WVdObFBnb2dJQ0FnSUNBZ0lDQThaWGhwWmpwUWFYaGxiRmhFYVcxbGJuTnBiMjQrTlRRMFBDOWxlR2xtT2xCcGVHVnNXRVJwYldWdWMybHZiajRLSUNBZ0lDQWdJQ0FnUEdWNGFXWTZVR2w0Wld4WlJHbHRaVzV6YVc5dVBqTXlQQzlsZUdsbU9sQnBlR1ZzV1VScGJXVnVjMmx2Ymo0S0lDQWdJQ0FnUEM5eVpHWTZSR1Z6WTNKcGNIUnBiMjQrQ2lBZ0lEd3ZjbVJtT2xKRVJqNEtQQzk0T25odGNHMWxkR0UrQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDancvZUhCaFkydGxkQ0JsYm1ROUluY2lQejQ0OHNzb0FBQUFJR05JVWswQUFIb2xBQUNBZ3dBQStmOEFBSURwQUFCMU1BQUE2bUFBQURxWUFBQVhiNUpmeFVZQUFBS1RTVVJCVkhqYTdOek5XdU13REFWUU5PLy96bWJCWmhiTU5HMFNYVHMrWjhsUHBBYXdidTE4MUJqakMyQVJyeGFzQ3RTOHE1ZXJGdWNLMVgyM2o2NWhWTUhhdi9XUUdzSVZyUDNUZ0FBQ0NBQUNRTk13ckhENEVBQW1Jb0FBQXNEOUE3RkNkZC9wSTdVRElRQUlJTURpZ2FDYTZnZ0F6d29BaVJCUTRmQ0JBQUxjTkJobjJYMzRwQi9QSVBUMllBY0NBUVFXRHdNelBmOXdwcWNkbjBGSUJoQUJnQzM5Y1F2Z3JjRThUbncrRVFSR29PYW4xeDVOUDhOaytFZ0dEcGlLSFJCV0RRSlh2ZHUvYzJCVW9PYVpYaHhCOVBkZ0FXWmJka0JZTFhoMDdrQ2NIVTRqVU5PN2JrQUFZWXN3Y01mUVB6dEFSNkRtNm9NL2VRUXhncTkzYkhMUFFRRGhNY0hqNk1kVEMvVlkrUDRhZUlBQXdwSmhJRG5Bbm5BRWN2WHJNUGdCQkpCSEJvK09JSkk0QW1HZVlIbFhUVWNnSUlCd1FSQklMNXJqZ2ZjM2NZM1VRNkJqa1hzS0lJQk1NaHpIUnEvVm9BTmcrd0NTMklINDEzQ2Q1ZDJyd1ErQUFBSUE4TFFBVWwvMy9mZkxWM1dQZkt5amJxSVBBTmc2Z0tURHp5NUR2NXErQndBQmhJTkR0Z0kxZHhuNkZicEdUZnBhQUFRUXBnbytIVUdvYnZwYWV1OWJUZkx6cWdsK1YveWVnZ0RDUlVGa2hnVzdBalZuKzE2RERrQUFvU24wM0JtR2Rub0dwUmE5Tm9BQVFtc1E2ZHFGU1J3QjFTVFhXRDM0dktybENBZ0VFRmdpOUh6NitlNGhVWUdhaGgyd3hvSStobitjQ1FjZC9XT3A1bnBYOW5QM2dsREIydi9yb1hzaHJHRHR2M3N3QUlpeEF3THZMZGlkT3pDSkk2RGtNeWpKbzd6Wkh1YUc1eStvZGtCZ0NlLytvVlp6dlN2N3VXdFJxbERkSTMzWWdVRUFBWllOSTlWVXArTWRmeW9BT1lMcTdjRUFFa0FBTGgrTXMrekNDRUJ6QnlBN01BSUl3T2tCV1lHYVR3dEFxU09vWkFCeUJDV0FBQWhBQWxBa0FIa0daN01BOUEwQUFQLy9Bd0FwRU5ZQU4zRnlhZ0FBQUFCSlJVNUVya0pnZ2c9PQ"},{ name : "__ASSET__:bitmap_flixel_addons_transition__TransitionFade_GraphicDiagonalGradient", data : "aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUlBQUFBQ0FDQUlBQUFCTVhQYWNBQUFBQ1hCSVdYTUFBQXNUQUFBTEV3RUFtcHdZQUFBS1QybERRMUJRYUc5MGIzTm9iM0FnU1VORElIQnliMlpwYkdVQUFIamFuVk5uVkZQcEZqMzMzdlJDUzRpQWxFdHZVaFVJSUZKQ2k0QVVrU1lxSVFrUVNvZ2hvZGtWVWNFUlJVVUVHOGlnaUFPT2pvQ01GVkVzRElvSzJBZmtJYUtPZzZPSWlzcjc0WHVqYTlhODkrYk4vclhYUHVlczg1Mnp6d2ZBQ0F5V1NETlJOWUFNcVVJZUVlQ0R4OFRHNGVRdVFJRUtKSEFBRUFpelpDRnovU01CQVBoK1BEd3JJc0FIdmdBQmVOTUxDQURBVFp2QU1CeUgvdy9xUXBsY0FZQ0VBY0Iwa1RoTENJQVVBRUI2amtLbUFFQkdBWUNkbUNaVEFLQUVBR0RMWTJMakFGQXRBR0FuZitiVEFJQ2QrSmw3QVFCYmxDRVZBYUNSQUNBVFpZaEVBR2c3QUt6UFZvcEZBRmd3QUJSbVM4UTVBTmd0QURCSlYyWklBTEMzQU1ET0VBdXlBQWdNQURCUmlJVXBBQVI3QUdESUl5TjRBSVNaQUJSRzhsYzg4U3V1RU9jcUFBQjRtYkk4dVNRNVJZRmJDQzF4QjFkWExoNG96a2tYS3hRMllRSmhta0F1d25tWkdUS0JOQS9nODh3QUFLQ1JGUkhnZy9QOWVNNE9yczdPTm82MkRsOHQ2cjhHL3lKaVl1UCs1YytyY0VBQUFPRjBmdEgrTEMrekdvQTdCb0J0L3FJbDdnUm9YZ3VnZGZlTFpySVBRTFVBb09uYVYvTncrSDQ4UEVXaGtMbloyZVhrNU5oS3hFSmJZY3BYZmY1bndsL0FWLzFzK1g0OC9QZjE0TDdpSklFeVhZRkhCUGpnd3N6MFRLVWN6NUlKaEdMYzVvOUgvTGNMLy93ZDB5TEVTV0s1V0NvVTQxRVNjWTVFbW96ek1xVWlpVUtTS2NVbDB2OWs0dDhzK3dNKzN6VUFzR28rQVh1UkxhaGRZd1AyU3ljUVdIVEE0dmNBQVBLN2I4SFVLQWdEZ0dpRDRjOTMvKzgvL1VlZ0pRQ0Faa21TY1FBQVhrUWtMbFRLc3ovSENBQUFSS0NCS3JCQkcvVEJHQ3pBQmh6QkJkekJDL3hnTm9SQ0pNVENRaEJDQ21TQUhISmdLYXlDUWlpR3piQWRLbUF2MUVBZE5NQlJhSWFUY0E0dXdsVzREajF3RC9waENKN0JLTHlCQ1FSQnlBZ1RZU0hhaUFGaWlsZ2pqZ2dYbVlYNEljRklCQktMSkNESmlCUlJJa3VSTlVneFVvcFVJRlZJSGZJOWNnSTVoMXhHdXBFN3lBQXlndnlHdkVjeGxJR3lVVDNVRExWRHVhZzNHb1JHb2d2UVpIUXhtbzhXb0p2UWNyUWFQWXcyb2VmUXEyZ1AybzgrUThjd3dPZ1lCelBFYkRBdXhzTkNzVGdzQ1pOank3RWlyQXlyeGhxd1Zxd0R1NG4xWTgreGR3UVNnVVhBQ1RZRWQwSWdZUjVCU0ZoTVdFN1lTS2dnSENRMEVkb0pOd2tEaEZIQ0p5S1RxRXUwSnJvUitjUVlZakl4aDFoSUxDUFdFbzhUTHhCN2lFUEVOeVFTaVVNeUo3bVFBa214cEZUU0V0SkcwbTVTSStrc3FaczBTQm9qazhuYVpHdXlCem1VTENBcnlJWGtuZVRENURQa0crUWg4bHNLbldKQWNhVDRVK0lvVXNwcVNobmxFT1UwNVFabG1ESkJWYU9hVXQyb29WUVJOWTlhUXEyaHRsS3ZVWWVvRXpSMW1qbk5neFpKUzZXdG9wWFRHbWdYYVBkcHIraDB1aEhkbFI1T2w5Qlgwc3ZwUitpWDZBUDBkd3dOaGhXRHg0aG5LQm1iR0FjWVp4bDNHSytZVEtZWjA0c1p4MVF3TnpIcm1PZVpENWx2VlZncXRpcDhGWkhLQ3BWS2xTYVZHeW92VkttcXBxcmVxZ3RWODFYTFZJK3BYbE45cmtaVk0xUGpxUW5VbHF0VnFwMVE2MU1iVTJlcE82aUhxbWVvYjFRL3BINVovWWtHV2NOTXcwOURwRkdnc1YvanZNWWdDMk1aczNnc0lXc05xNFoxZ1RYRUpySE4yWHgyS3J1WS9SMjdpejJxcWFFNVF6TktNMWV6VXZPVVpqOEg0NWh4K0p4MFRnbm5LS2VYODM2SzNoVHZLZUlwRzZZMFRMa3haVnhycXBhWGxsaXJTS3RScTBmcnZUYXU3YWVkcHIxRnUxbjdnUTVCeDBvblhDZEhaNC9PQlozblU5bFQzYWNLcHhaTlBUcjFyaTZxYTZVYm9idEVkNzl1cCs2WW5yNWVnSjVNYjZmZWViM24raHg5TC8xVS9XMzZwL1ZIREZnR3N3d2tCdHNNemhnOHhUVnhiendkTDhmYjhWRkRYY05BUTZWaGxXR1g0WVNSdWRFOG85VkdqVVlQakduR1hPTWs0MjNHYmNhakpnWW1JU1pMVGVwTjdwcFNUYm1tS2FZN1REdE14ODNNemFMTjFwazFtejB4MXpMbm0rZWIxNXZmdDJCYWVGb3N0cWkydUdWSnN1UmFwbG51dHJ4dWhWbzVXYVZZVlZwZHMwYXRuYTBsMXJ1dHU2Y1JwN2xPazA2cm50Wm53N0R4dHNtMnFiY1pzT1hZQnR1dXRtMjJmV0ZuWWhkbnQ4V3V3KzZUdlpOOXVuMk4vVDBIRFlmWkRxc2RXaDErYzdSeUZEcFdPdDZhenB6dVAzM0Y5SmJwTDJkWXp4RFAyRFBqdGhQTEtjUnBuVk9iMDBkbkYyZTVjNFB6aUl1SlM0TExMcGMrTHBzYnh0M0l2ZVJLZFBWeFhlRjYwdldkbTdPYnd1Mm8yNi91TnU1cDdvZmNuOHcwbnltZVdUTnowTVBJUStCUjVkRS9DNStWTUd2ZnJINVBRMCtCWjdYbkl5OWpMNUZYcmRld3Q2VjNxdmRoN3hjKzlqNXluK00rNHp3MzNqTGVXVi9NTjhDM3lMZkxUOE52bmwrRjMwTi9JLzlrLzNyLzBRQ25nQ1VCWndPSmdVR0JXd0w3K0hwOEliK09QenJiWmZheTJlMUJqS0M1UVJWQmo0S3RndVhCclNGb3lPeVFyU0gzNTVqT2tjNXBEb1ZRZnVqVzBBZGg1bUdMdzM0TUo0V0hoVmVHUDQ1d2lGZ2EwVEdYTlhmUjNFTnozMFQ2UkpaRTNwdG5NVTg1cnkxS05TbytxaTVxUE5vM3VqUzZQOFl1WmxuTTFWaWRXRWxzU3h3NUxpcXVObTVzdnQvODdmT0g0cDNpQytON0Y1Z3Z5RjF3ZWFIT3d2U0ZweGFwTGhJc09wWkFUSWhPT0pUd1FSQXFxQmFNSmZJVGR5V09Dbm5DSGNKbklpL1JOdEdJMkVOY0toNU84a2dxVFhxUzdKRzhOWGtreFRPbExPVzVoQ2Vwa0x4TURVemRtenFlRnBwMklHMHlQVHE5TVlPU2taQnhRcW9oVFpPMlorcG41bVoyeTZ4bGhiTCt4VzZMdHk4ZWxRZkphN09RckFWWkxRcTJRcWJvVkZvbzF5b0hzbWRsVjJhL3pZbktPWmFybml2TjdjeXp5dHVRTjV6dm4vL3RFc0lTNFpLMnBZWkxWeTBkV09hOXJHbzVzanh4ZWRzSzR4VUZLNFpXQnF3OHVJcTJLbTNWVDZ2dFY1ZXVmcjBtZWsxcmdWN0J5b0xCdFFGcjZ3dFZDdVdGZmV2YzErMWRUMWd2V2QrMVlmcUduUnMrRlltS3JoVGJGNWNWZjlnbzNIamxHNGR2eXIrWjNKUzBxYXZFdVdUUFp0Sm02ZWJlTFo1YkRwYXFsK2FYRG00TjJkcTBEZDlXdE8zMTlrWGJMNWZOS051N2c3WkR1YU8vUExpOFphZkp6czA3UDFTa1ZQUlUrbFEyN3RMZHRXSFgrRzdSN2h0N3ZQWTA3TlhiVzd6My9UN0p2dHRWQVZWTjFXYlZaZnRKKzdQM1A2NkpxdW40bHZ0dFhhMU9iWEh0eHdQU0EvMEhJdzYyMTduVTFSM1NQVlJTajlZcjYwY094eCsrL3AzdmR5ME5OZzFWalp6RzRpTndSSG5rNmZjSjMvY2VEVHJhZG94N3JPRUgweDkySFdjZEwycENtdkthUnB0VG12dGJZbHU2VDh3KzBkYnEzbnI4UjlzZkQ1dzBQRmw1U3ZOVXlXbmE2WUxUazJmeXo0eWRsWjE5Zmk3NTNHRGJvclo3NTJQTzMyb1BiKys2RUhUaDBrWC9pK2M3dkR2T1hQSzRkUEt5MitVVFY3aFhtcTg2WDIzcWRPbzgvcFBUVDhlN25MdWFycmxjYTdudWVyMjFlMmIzNlJ1ZU44N2Q5TDE1OFJiLzF0V2VPVDNkdmZONmIvZkY5L1hmRnQxK2NpZjl6c3U3MlhjbjdxMjhUN3hmOUVEdFFkbEQzWWZWUDF2KzNOanYzSDlxd0hlZzg5SGNSL2NHaFlQUC9wSDFqdzlEQlkrWmo4dUdEWWJybmpnK09UbmlQM0w5NmZ5blE4OWt6eWFlRi82aS9zdXVGeFl2ZnZqVjY5Zk8wWmpSb1pmeWw1Ty9iWHlsL2VyQTZ4bXYyOGJDeGg2K3lYZ3pNVjcwVnZ2dHdYZmNkeDN2bzk4UFQrUjhJSDhvLzJqNXNmVlQwS2Y3a3htVGsvOEVBNWp6L0dNekxkc0FBRHZzYVZSWWRGaE5URHBqYjIwdVlXUnZZbVV1ZUcxd0FBQUFBQUE4UDNod1lXTnJaWFFnWW1WbmFXNDlJdSs3dnlJZ2FXUTlJbGMxVFRCTmNFTmxhR2xJZW5KbFUzcE9WR042YTJNNVpDSS9QZ284ZURwNGJYQnRaWFJoSUhodGJHNXpPbmc5SW1Ga2IySmxPbTV6T20xbGRHRXZJaUI0T25odGNIUnJQU0pCWkc5aVpTQllUVkFnUTI5eVpTQTFMalV0WXpBeU1TQTNPUzR4TlRVM056SXNJREl3TVRRdk1ERXZNVE10TVRrNk5EUTZNREFnSUNBZ0lDQWdJQ0krQ2lBZ0lEeHlaR1k2VWtSR0lIaHRiRzV6T25Ka1pqMGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNVGs1T1M4d01pOHlNaTF5WkdZdGMzbHVkR0Y0TFc1ekl5SStDaUFnSUNBZ0lEeHlaR1k2UkdWelkzSnBjSFJwYjI0Z2NtUm1PbUZpYjNWMFBTSWlDaUFnSUNBZ0lDQWdJQ0FnSUhodGJHNXpPbmh0Y0QwaWFIUjBjRG92TDI1ekxtRmtiMkpsTG1OdmJTOTRZWEF2TVM0d0x5SUtJQ0FnSUNBZ0lDQWdJQ0FnZUcxc2JuTTZlRzF3VFUwOUltaDBkSEE2THk5dWN5NWhaRzlpWlM1amIyMHZlR0Z3THpFdU1DOXRiUzhpQ2lBZ0lDQWdJQ0FnSUNBZ0lIaHRiRzV6T25OMFJYWjBQU0pvZEhSd09pOHZibk11WVdSdlltVXVZMjl0TDNoaGNDOHhMakF2YzFSNWNHVXZVbVZ6YjNWeVkyVkZkbVZ1ZENNaUNpQWdJQ0FnSUNBZ0lDQWdJSGh0Ykc1ek9tUmpQU0pvZEhSd09pOHZjSFZ5YkM1dmNtY3ZaR012Wld4bGJXVnVkSE12TVM0eEx5SUtJQ0FnSUNBZ0lDQWdJQ0FnZUcxc2JuTTZjR2h2ZEc5emFHOXdQU0pvZEhSd09pOHZibk11WVdSdlltVXVZMjl0TDNCb2IzUnZjMmh2Y0M4eExqQXZJZ29nSUNBZ0lDQWdJQ0FnSUNCNGJXeHVjenAwYVdabVBTSm9kSFJ3T2k4dmJuTXVZV1J2WW1VdVkyOXRMM1JwWm1Zdk1TNHdMeUlLSUNBZ0lDQWdJQ0FnSUNBZ2VHMXNibk02WlhocFpqMGlhSFIwY0RvdkwyNXpMbUZrYjJKbExtTnZiUzlsZUdsbUx6RXVNQzhpUGdvZ0lDQWdJQ0FnSUNBOGVHMXdPa055WldGMGIzSlViMjlzUGtGa2IySmxJRkJvYjNSdmMyaHZjQ0JEUXlBeU1ERTBJQ2hYYVc1a2IzZHpLVHd2ZUcxd09rTnlaV0YwYjNKVWIyOXNQZ29nSUNBZ0lDQWdJQ0E4ZUcxd09rTnlaV0YwWlVSaGRHVStNakF4TkMwd09DMHhPVlF4TmpvME5qb3lOUzB3TlRvd01Ed3ZlRzF3T2tOeVpXRjBaVVJoZEdVK0NpQWdJQ0FnSUNBZ0lEeDRiWEE2VFdWMFlXUmhkR0ZFWVhSbFBqSXdNVFF0TURndE1UbFVNVGM2TURBNk16QXRNRFU2TURBOEwzaHRjRHBOWlhSaFpHRjBZVVJoZEdVK0NpQWdJQ0FnSUNBZ0lEeDRiWEE2VFc5a2FXWjVSR0YwWlQ0eU1ERTBMVEE0TFRFNVZERTNPakF3T2pNd0xUQTFPakF3UEM5NGJYQTZUVzlrYVdaNVJHRjBaVDRLSUNBZ0lDQWdJQ0FnUEhodGNFMU5Pa2x1YzNSaGJtTmxTVVErZUcxd0xtbHBaRG8yTnpnNVlUUmlPUzAwTURJNUxUUmpOR1F0WVdJM1ppMDNZMlEwTVRSbU5HUmpabUk4TDNodGNFMU5Pa2x1YzNSaGJtTmxTVVErQ2lBZ0lDQWdJQ0FnSUR4NGJYQk5UVHBFYjJOMWJXVnVkRWxFUG1Ga2IySmxPbVJ2WTJsa09uQm9iM1J2YzJodmNEbzBNVFpsT0RrNU9TMHlOMlZoTFRFeFpUUXRPR00xWVMxak9XVTRZV1JoTVRKak9XUThMM2h0Y0UxTk9rUnZZM1Z0Wlc1MFNVUStDaUFnSUNBZ0lDQWdJRHg0YlhCTlRUcFBjbWxuYVc1aGJFUnZZM1Z0Wlc1MFNVUStlRzF3TG1ScFpEcG1NMkV3TVdKbE1pMHlZVGRoTFdGa05EY3RZV1ExWlMwM05ETTJPVGd6WWpaa1pEWThMM2h0Y0UxTk9rOXlhV2RwYm1Gc1JHOWpkVzFsYm5SSlJENEtJQ0FnSUNBZ0lDQWdQSGh0Y0UxTk9raHBjM1J2Y25rK0NpQWdJQ0FnSUNBZ0lDQWdJRHh5WkdZNlUyVnhQZ29nSUNBZ0lDQWdJQ0FnSUNBZ0lDQThjbVJtT214cElISmtaanB3WVhKelpWUjVjR1U5SWxKbGMyOTFjbU5sSWo0S0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1BITjBSWFowT21GamRHbHZiajVqY21WaGRHVmtQQzl6ZEVWMmREcGhZM1JwYjI0K0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lEeHpkRVYyZERwcGJuTjBZVzVqWlVsRVBuaHRjQzVwYVdRNlpqTmhNREZpWlRJdE1tRTNZUzFoWkRRM0xXRmtOV1V0TnpRek5qazRNMkkyWkdRMlBDOXpkRVYyZERwcGJuTjBZVzVqWlVsRVBnb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQThjM1JGZG5RNmQyaGxiajR5TURFMExUQTRMVEU1VkRFMk9qUTJPakkxTFRBMU9qQXdQQzl6ZEVWMmREcDNhR1Z1UGdvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBOGMzUkZkblE2YzI5bWRIZGhjbVZCWjJWdWRENUJaRzlpWlNCUWFHOTBiM05vYjNBZ1EwTWdNakF4TkNBb1YybHVaRzkzY3lrOEwzTjBSWFowT25OdlpuUjNZWEpsUVdkbGJuUStDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lEd3ZjbVJtT214cFBnb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBOGNtUm1PbXhwSUhKa1pqcHdZWEp6WlZSNWNHVTlJbEpsYzI5MWNtTmxJajRLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnUEhOMFJYWjBPbUZqZEdsdmJqNXpZWFpsWkR3dmMzUkZkblE2WVdOMGFXOXVQZ29nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0E4YzNSRmRuUTZhVzV6ZEdGdVkyVkpSRDU0YlhBdWFXbGtPbVF5WXpCa09UZzRMVE5sTm1JdE9UVTBaaTFoWm1JNExXUXdOamMzWlRrMllUQTVNVHd2YzNSRmRuUTZhVzV6ZEdGdVkyVkpSRDRLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnUEhOMFJYWjBPbmRvWlc0K01qQXhOQzB3T0MweE9WUXhOam8wTmpveU5TMHdOVG93TUR3dmMzUkZkblE2ZDJobGJqNEtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdQSE4wUlhaME9uTnZablIzWVhKbFFXZGxiblErUVdSdlltVWdVR2h2ZEc5emFHOXdJRU5ESURJd01UUWdLRmRwYm1SdmQzTXBQQzl6ZEVWMmREcHpiMlowZDJGeVpVRm5aVzUwUGdvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBOGMzUkZkblE2WTJoaGJtZGxaRDR2UEM5emRFVjJkRHBqYUdGdVoyVmtQZ29nSUNBZ0lDQWdJQ0FnSUNBZ0lDQThMM0prWmpwc2FUNEtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1BISmtaanBzYVNCeVpHWTZjR0Z5YzJWVWVYQmxQU0pTWlhOdmRYSmpaU0krQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUR4emRFVjJkRHBoWTNScGIyNCtjMkYyWldROEwzTjBSWFowT21GamRHbHZiajRLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnUEhOMFJYWjBPbWx1YzNSaGJtTmxTVVErZUcxd0xtbHBaRG8yTnpnNVlUUmlPUzAwTURJNUxUUmpOR1F0WVdJM1ppMDNZMlEwTVRSbU5HUmpabUk4TDNOMFJYWjBPbWx1YzNSaGJtTmxTVVErQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUR4emRFVjJkRHAzYUdWdVBqSXdNVFF0TURndE1UbFVNVGM2TURBNk16QXRNRFU2TURBOEwzTjBSWFowT25kb1pXNCtDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRHh6ZEVWMmREcHpiMlowZDJGeVpVRm5aVzUwUGtGa2IySmxJRkJvYjNSdmMyaHZjQ0JEUXlBeU1ERTBJQ2hYYVc1a2IzZHpLVHd2YzNSRmRuUTZjMjltZEhkaGNtVkJaMlZ1ZEQ0S0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1BITjBSWFowT21Ob1lXNW5aV1ErTHp3dmMzUkZkblE2WTJoaGJtZGxaRDRLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdQQzl5WkdZNmJHaytDaUFnSUNBZ0lDQWdJQ0FnSUR3dmNtUm1PbE5sY1Q0S0lDQWdJQ0FnSUNBZ1BDOTRiWEJOVFRwSWFYTjBiM0o1UGdvZ0lDQWdJQ0FnSUNBOFpHTTZabTl5YldGMFBtbHRZV2RsTDNCdVp6d3ZaR002Wm05eWJXRjBQZ29nSUNBZ0lDQWdJQ0E4Y0dodmRHOXphRzl3T2tOdmJHOXlUVzlrWlQ0elBDOXdhRzkwYjNOb2IzQTZRMjlzYjNKTmIyUmxQZ29nSUNBZ0lDQWdJQ0E4Y0dodmRHOXphRzl3T2tsRFExQnliMlpwYkdVK2MxSkhRaUJKUlVNMk1UazJOaTB5TGpFOEwzQm9iM1J2YzJodmNEcEpRME5RY205bWFXeGxQZ29nSUNBZ0lDQWdJQ0E4ZEdsbVpqcFBjbWxsYm5SaGRHbHZiajR4UEM5MGFXWm1Pazl5YVdWdWRHRjBhVzl1UGdvZ0lDQWdJQ0FnSUNBOGRHbG1aanBZVW1WemIyeDFkR2x2Ymo0M01qQXdNREF2TVRBd01EQThMM1JwWm1ZNldGSmxjMjlzZFhScGIyNCtDaUFnSUNBZ0lDQWdJRHgwYVdabU9sbFNaWE52YkhWMGFXOXVQamN5TURBd01DOHhNREF3TUR3dmRHbG1aanBaVW1WemIyeDFkR2x2Ymo0S0lDQWdJQ0FnSUNBZ1BIUnBabVk2VW1WemIyeDFkR2x2YmxWdWFYUStNand2ZEdsbVpqcFNaWE52YkhWMGFXOXVWVzVwZEQ0S0lDQWdJQ0FnSUNBZ1BHVjRhV1k2UTI5c2IzSlRjR0ZqWlQ0eFBDOWxlR2xtT2tOdmJHOXlVM0JoWTJVK0NpQWdJQ0FnSUNBZ0lEeGxlR2xtT2xCcGVHVnNXRVJwYldWdWMybHZiajR4TWpnOEwyVjRhV1k2VUdsNFpXeFlSR2x0Wlc1emFXOXVQZ29nSUNBZ0lDQWdJQ0E4WlhocFpqcFFhWGhsYkZsRWFXMWxibk5wYjI0K01USTRQQzlsZUdsbU9sQnBlR1ZzV1VScGJXVnVjMmx2Ymo0S0lDQWdJQ0FnUEM5eVpHWTZSR1Z6WTNKcGNIUnBiMjQrQ2lBZ0lEd3ZjbVJtT2xKRVJqNEtQQzk0T25odGNHMWxkR0UrQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDancvZUhCaFkydGxkQ0JsYm1ROUluY2lQejRHbjBRVkFBQUFJR05JVWswQUFIb2xBQUNBZ3dBQStmOEFBSURwQUFCMU1BQUE2bUFBQURxWUFBQVhiNUpmeFVZQUFBS3ZTVVJCVkhqYTdOdkpjc0pBREVWUlI4WC9mM0c3eVlLa3l3d0JUR3cvRFZlTFZJZXFMRGd2a215R3IvUDVQQld1ODIvMTY1cm5lZmx6ZWJpcDFscnZ2YlYyT1k5Znh5UGo4WEZZbmsvbzk5NXZBbGlsdnp5djFXK3RHZnBDL1htZURYMkovdmhEUTEraVgzY0V1ZEl2RjRBMy9Wbzd3SlYrdVIzZ1RiL1dDSEtyWDJJRStkU3ZNb0xjNnBmb0FQLzZtVHNnaEg3YUFLTG81eHhCSWZUVEx1RW8rams3SUp4K3FnQWk2dWNaUVVIMWszUkFSUDFSaHI1RVA4bU5XSFQ5MkIyUVFMLzNma0pmcFI4NGdCei8rMUVEU0tNZk1vQk0rdkVDU0tZZjdENGdtZjU0eE5BWDZzZm9nTVQ2QVFMSXJlOTlCQ1hXSDAvRTBKZm9lKytBSXZwT082Q0kvdVVKR3ZvcWZZOGRVRTNmVndBRjlSMk5vSnI2WGdJb3ErL2lNclN5dmo2QTR2cmlFWVQrTkUyR3ZsQmZGZ0Q2ZzhMUUYrb0xBa0QvQnNUUUYrb2ZHZ0Q2RDFrTWZhSCtRUUdnL3dUSDBCZnE3eDRBK2krSkRIMmgvbzRCb1A4bWxLRXYxTjhsQVBSWGNSbjZRdjJOQTBEL0F6UkRYNmkvV1FEb2YweG42QXYxTndnQS9YOENHdnBDL1g4RmdQNG02OVBRRitwL0dBRDZHOTQ4R2ZwQy9kVUJvTC81UzJlR3ZsQi9SUURvNy9UR2lhRXYxSDhyQVBSM2ZkdmMwQmZxdndnQS9RTStOR1hvQy9YL0RBRDl3ejR5YStnTDlSOEVnUDdCWDVndzlJWDZWd0dnUHluSzBCZnEvd1NBL3FRclEzK1NscUd2RHdCOVpRRDl1dEJYQm9DK01nRDBsUUdncnd3QWZXVUE2RHZxQVBTVkhZQytzZ1BRVjNZQStsNUdFUHJLRVlTK2NnU2g3eWdBOUpVQm9LOE1BUDNqNjNSUlJsOThGWVMrY2dTaHJ3d0FmUzlMR0gxbEFPaUxkd0Q2NGgyQXZvc1JoTDV5QktFdkcwSG82M2NBK3ZvN1lmVEZIWUMraXlXTXZuSUpveThlUWVnclJ4RDZ5aEdFdnBjZGdMN2Z5MUQwbFplaDZPOVVwM3YwNSs1RC8vNHdsRy95R0RHZy84bDl3RHY2eTY5YW9yK3F2Z2NBK3hBWW83UTYySThBQUFBQVNVVk9SSzVDWUlJPQ"},{ name : "__ASSET__:bitmap_flixel_system_debug__FlxDebugger_GraphicFlixel", data : "aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUF3QUFBQU1DQVlBQUFCV2RWem5BQUFBQkdkQlRVRUFBTEdPZlB0Umt3QUFBQ0JqU0ZKTkFBQ0hEd0FBakE4QUFQMVNBQUNCUUFBQWZYa0FBT21MQUFBODVRQUFHY3h6UElWM0FBQUtPV2xEUTFCUWFHOTBiM05vYjNBZ1NVTkRJSEJ5YjJacGJHVUFBRWpIblpaM1ZGVFhGb2ZQdlhkNm9jMHdBbEtHM3J2QUFOSjdrMTVGWVpnWllDZ0REak0wc1NHaUFoRkZSSm9pU0ZERWdORlFKRlpFc1JBVVZMQUhKQWdvTVJoRlZDeHZSdGFMcnF5ODkvTHkrK09zYisyejk3bjc3TDNQV2hjQWtxY3ZsNWNHU3dHUXloUHdnenljNlJHUlVYVHNBSUFCSG1DQUtRQk1Wa2E2WDdCN0NCREp5ODJGbmlGeUFsOEVBZkI2V0x3Q2NOUFFNNEJPQi8rZnBGbnBmSUhvbUFBUm03TTVHU3dSRjRnNEpVdVFMcmJQaXBnYWx5eG1HQ1ZtdmloQkVjdUpPV0dSRFQ3N0xMS2ptTm1wUExhSXhUbW5zMVBaWXU0VjhiWk1JVWZFaUsrSUN6TzVuQ3dSM3hLeFJvb3dsU3ZpTitMWVZBNHpBd0FVU1d3WGNGaUpJallSTVlrZkV1UWk0dVVBNEVnSlgzSGNWeXpnWkF2RWwzSkpTOC9oY3hNU0JYUWRsaTdkMU5xYVFmZmtaS1Z3QkFMREFDWXJtY2xuMDEzU1V0T1p2QndBRnUvOFdUTGkydEpGUmJZMHRiYTBORFF6TXYycVVQOTE4MjlLM050RmVobjR1V2NRcmYrTDdhLzgwaG9BWU15SmFyUHppeTJ1Q29ET0xRREkzZnRpMHpnQWdLU29ieDNYdjdvUFRUd3ZpUUpCdW8yeGNWWldsaEdYd3pJU0YvUVAvVStIdjZHdnZtY2tQdTZQOHRCZE9mRk1ZWXFBTHE0Ykt5MGxUY2luWjZReldSeTY0WitIK0I4SC9uVWVCa0djZUE2Znd4TkZoSW1tak10TEVMV2J4K1lLdUdrOE9wZjNuNXI0RDhQK3BNVzVGb25TK0JGUVk0eUExSFVxUUg3dEJ5Z0tFU0RSKzhWZC82TnZ2dmd3SUg1NTRTcVRpM1AvN3pmOVo4R2w0aVdEbS9BNXppVW9oTTRTOGpNWDk4VFBFcUFCQVVnQ0twQUh5a0FkNkFCRFlBYXNnQzF3Qkc3QUcvaURFQkFKVmdNV1NBU3BnQSt5UUI3WUJBcEJNZGdKOW9CcVVBY2FRVE5vQmNkQkp6Z0Z6b05MNEJxNEFXNkQrMkFVVElCbllCYThCZ3NRQkdFaE1rU0I1Q0VWU0JQU2g4d2dCbVFQdVVHK1VCQVVDY1ZDQ1JBUEVrSjUwR2FvR0NxRHFxRjZxQm42SGpvSm5ZZXVRSVBRWFdnTW1vWitoOTdCQ0V5Q3FiQVNyQVVid3d6WUNmYUJRK0JWY0FLOEJzNkZDK0FkY0NYY0FCK0ZPK0R6OERYNE5qd0tQNFBuRUlBUUVScWlpaGdpRE1RRjhVZWlrSGlFajZ4SGlwQUtwQUZwUmJxUlB1UW1Nb3JNSUc5UkdCUUZSVWNab214Um5xaFFGQXUxQnJVZVZZS3FSaDFHZGFCNlVUZFJZNmhaMUVjMEdhMkkxa2Zib0wzUUVlZ0VkQmE2RUYyQmJrSzNveStpYjZNbjBLOHhHQXdObzQyeHduaGlJakZKbUxXWUVzdytUQnZtSEdZUU00Nlp3Mkt4OGxoOXJCM1dIOHZFQ3JDRjJDcnNVZXhaN0JCMkF2c0dSOFNwNE14dzdyZ29IQStYajZ2QUhjR2R3UTNoSm5FTGVDbThKdDRHNzQ5bjQzUHdwZmhHZkRmK09uNEN2MENRSm1nVDdBZ2hoQ1RDSmtJbG9aVndrZkNBOEpKSUpLb1JyWW1CUkM1eEk3R1NlSXg0bVRoR2ZFdVNJZW1SWEVqUkpDRnBCK2tRNlJ6cEx1a2xtVXpXSWp1U284Z0M4ZzV5TS9rQytSSDVqUVJGd2tqQ1M0SXRzVUdpUnFKRFlraml1U1JlVWxQU1NYSzFaSzVraGVRSnlldVNNMUo0S1MwcEZ5bW0xSHFwR3FtVFVpTlNjOUlVYVZOcGYrbFU2UkxwSTlKWHBLZGtzREphTW00eWJKa0NtWU15RjJUR0tRaEZuZUpDWVZFMlV4b3BGeWtUVkF4Vm0rcEZUYUlXVTcrakRsQm5aV1ZrbDhtR3lXYkwxc2llbGgybElUUXRtaGN0aFZaS08wNGJwcjFib3JURWFRbG55ZllsclV1R2xzekxMWlZ6bE9QSUZjbTF5ZDJXZXlkUGwzZVRUNWJmSmQ4cC8xQUJwYUNuRUtpUXBiQmY0YUxDekZMcVV0dWxyS1ZGUzQ4dnZhY0lLK29wQmltdVZUeW8ySzg0cDZTczVLR1VybFNsZEVGcFJwbW03S2ljcEZ5dWZFWjVXb1dpWXEvQ1ZTbFhPYXZ5bEM1TGQ2S24wQ3ZwdmZSWlZVVlZUMVdoYXIzcWdPcUNtclphcUZxK1dwdmFRM1dDT2tNOVhyMWN2VWQ5VmtORncwOGpUNk5GNDU0bVhwT2htYWk1VjdOUGMxNUxXeXRjYTZ0V3A5YVV0cHkybDNhdWRvdjJBeDJ5am9QT0dwMEduVnU2R0YyR2JyTHVQdDBiZXJDZWhWNmlYbzNlZFgxWTMxS2ZxNzlQZjlBQWJXQnR3RE5vTUJneEpCazZHV1lhdGhpT0dkR01mSTN5alRxTm5odHJHRWNaN3pMdU0vNW9ZbUdTWXRKb2N0OVV4dFRiTk4rMDIvUjNNejB6bGxtTjJTMXpzcm03K1Fiekx2TVh5L1NYY1pidFgzYkhnbUxoWjdIVm9zZmlnNldWSmQreTFYTGFTc01xMXFyV2FvUkJaUVF3U2hpWHJkSFd6dFlickU5WnY3V3h0QkhZSExmNXpkYlFOdG4yaU8zVWN1M2xuT1dOeThmdDFPeVlkdlYyby9aMCsxajdBL2FqRHFvT1RJY0doOGVPNm81c3h5YkhTU2RkcHlTbm8wN1BuVTJjK2M3dHp2TXVOaTdyWE02NUlxNGVya1d1QTI0eWJxRnUxVzZQM05YY0U5eGIzR2M5TER6V2VwenpSSHY2ZU83eUhQRlM4bUo1Tlh2TmVsdDVyL1B1OVNINUJQdFUrenoyMWZQbCszYjd3WDdlZnJ2OUhxelFYTUZiMGVrUC9MMzhkL3MvRE5BT1dCUHdZeUFtTUNDd0p2QkprR2xRWGxCZk1DVTRKdmhJOE9zUTU1RFNrUHVoT3FIQzBKNHd5YkRvc09hdytYRFg4TEx3MFFqamlIVVIxeUlWSXJtUlhWSFlxTENvcHFpNWxXNHI5NnljaUxhSUxvd2VYcVc5S252VmxkVUtxMU5XbjQ2UmpHSEduSWhGeDRiSEhvbDl6L1JuTmpEbjRyemlhdU5tV1M2c3ZheG5iRWQyT1h1YVk4Y3A0MHpHMjhXWHhVOGwyQ1hzVHBoT2RFaXNTSnpodW5DcnVTK1NQSlBxa3VhVC9aTVBKWDlLQ1U5cFM4V2x4cWFlNU1ud2tubTlhY3BwMldtRDZmcnBoZW1qYTJ6VzdGa3p5L2ZoTjJWQUdhc3l1Z1JVMGM5VXYxQkh1RVU0bG1tZldaUDVKaXNzNjBTMmREWXZ1ejlITDJkN3ptU3VlKzYzYTFGcldXdDc4bFR6TnVXTnJYTmFWNzhlV2grM3ZtZUQrb2FDRFJNYlBUWWUza1RZbEx6cHAzeVQvTEw4VjV2RE4zY1hLQlZzTEJqZjRyR2xwVkNpa0Y4NHN0VjJhOTAyMURidXRvSHQ1dHVydG44c1loZGRMVFlwcmloK1g4SXF1ZnFONlRlVjMzemFFYjlqb05TeWRQOU96RTdlenVGZERyc09sMG1YNVphTjcvYmIzVkZPTHk4cWY3VW5acytWaW1VVmRYc0plNFY3Unl0OUs3dXFOS3AyVnIydlRxeStYZU5jMDFhcldMdTlkbjRmZTkvUWZzZjlyWFZLZGNWMTd3NXdEOXlwOTZqdmFOQnFxRGlJT1poNThFbGpXR1BmdDR4dm01c1Vtb3FiUGh6aUhSbzlISFM0dDltcXVmbUk0cEhTRnJoRjJESjlOUHJvamU5Y3YrdHFOV3l0YjZPMUZSOER4NFRIbm40ZisvM3djWi9qUFNjWUoxcC8wUHlodHAzU1h0UUJkZVIwekhZbWRvNTJSWFlObnZRKzJkTnQyOTMrbzlHUGgwNnBucW81TFh1NjlBemhUTUdaVDJkeno4NmRTejgzY3o3aC9IaFBUTS85Q3hFWGJ2VUc5ZzVjOUxsNCtaTDdwUXQ5VG4xbkw5dGRQblhGNXNySnE0eXJuZGNzcjNYMFcvUzMvMlR4VS91QTVVREhkYXZyWFRlc2IzUVBMaDg4TStRd2RQNm02ODFMdDd4dVhidTk0dmJnY09qd25aSG9rZEU3N0R0VGQxUHV2cmlYZVcvaC9zWUg2QWRGRDZVZVZqeFNmTlR3cys3UGJhT1dvNmZIWE1mNkh3Yy92ai9PR24vMlM4WXY3eWNLbnBDZlZFeXFURFpQbVUyZG1uYWZ2dkYwNWRPSlorblBGbVlLZjVYK3RmYTV6dk1mZm5QOHJYODJZbmJpQmYvRnA5OUxYc3EvUFBScTJhdWV1WUM1UjY5VFh5L01GNzJSZjNQNExlTnQzN3Z3ZDVNTFdlK3g3eXMvNkg3by91ano4Y0duMUUrZi9nVURtUFA4dXNUbzB3QUFBQWx3U0ZsekFBQUxFZ0FBQ3hJQjB0MSsvQUFBQUJwMFJWaDBVMjltZEhkaGNtVUFVR0ZwYm5RdVRrVlVJSFl6TGpVdU1UQXc5SEtoQUFBQkxFbEVRVlFvVTJQNGY5RG9QeEkrRG1RNy9qOWt4QUFDWDlYOVZJRjRHUkQvQStML0lNeUFwZ0drK2QvSEE0WTdqcnE1emdJcStBbFRpRlBENTRPRy94MTNxLzJYWHFuKy80S3RPOWhVWkF5eTRTck1sbzlBeFhaQXhRdzdsY0JZY3BYYS96TU9LSnErZ1RTNGdaenhBYWpZRWtreFRKUFlHclgvSjV6Y1lMYjBNL3cvWXNUdzdJREJPclBkcW5DVFlZcGh0TWhhdGYrSFhGMi9BSjBtQVE0TjQ0REhDN21XZXVEVXdMQlQ5VC9yNGFYUFdNNys1bVN3ZHZ5dkJzUy9USDFlLytkYzdveEZrOXAvNW1NYi93TVZnM0FPU01NQ0lQNFB3aVorei85enJIUkEwZ1JTdkFtbUdFUS9BbW40RGRNQTFoVHcrRC83S3R2L0RMczBnSXEzSUNzR3MwRWF3S1lqWTZPUXUyK1lqMnk0QlhVR2lpWjBEVitBR3R1QVdCQ29tQldJazRINEFiSkdBSlFUU2ZzMmF1VnlBQUFBQUVsRlRrU3VRbUND"},{ name : "__ASSET__:bitmap_flixel_system_debug_interaction_tools_GraphicTransformCursorRotate", data : "aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFvQUFBQUtDQVlBQUFDTk1zKzlBQUFBQkhOQ1NWUUlDQWdJZkFoa2lBQUFBQWx3U0ZsekFBQUFUZ0FBQUU0QnNjMGZNd0FBQUJ4MFJWaDBVMjltZEhkaGNtVUFRV1J2WW1VZ1JtbHlaWGR2Y210eklFTlROdWk4c293QUFBQkVTVVJCVkJpVmRjNUpEZ0F3Q0FMQVl2ei9sK25KQkJjOFZaMFNRZkpKYVFOZDVFQndmUmhVaVZSNG9WVnA1cHp2TUhDZDRhQmlWR0k3MmlXSERCeHVVUEg1NFFNNWNROFhwbTRKVmdBQUFBQkpSVTVFcmtKZ2dnPT0"},{ name : "__ASSET__:bitmap_flixel_system_debug_interaction_tools_GraphicTransformCursorDefault", data : "aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFzQUFBQUxDQVlBQUFDcHJIY21BQUFBQkhOQ1NWUUlDQWdJZkFoa2lBQUFBQWx3U0ZsekFBQUxFZ0FBQ3hJQjB0MSsvQUFBQUJaMFJWaDBRM0psWVhScGIyNGdWR2x0WlFBd05TOHlPUzh4TnJ0VlFGa0FBQUFjZEVWWWRGTnZablIzWVhKbEFFRmtiMkpsSUVacGNtVjNiM0pyY3lCRFV6Ym92TEtNQUFBQUxrbEVRVlFZbFdQOC8vOC9BeGJ3bjRHQmdSRmRrQW1iU2x4Z2tDaG1ZWUI0Qmh2QUVHZGh3T0pyaG1FVUdnQjN1Z2NXZXB2bWtRQUFBQUJKUlU1RXJrSmdnZz09"}]; var __map_reserved = {}; var ArrayBuffer = $global.ArrayBuffer || js_html_compat_ArrayBuffer; if(ArrayBuffer.prototype.slice == null) { ArrayBuffer.prototype.slice = js_html_compat_ArrayBuffer.sliceImpl; } var DataView = $global.DataView || js_html_compat_DataView; var Float32Array = $global.Float32Array || js_html_compat_Float32Array._new; var Float64Array = $global.Float64Array || ($global.Float32Array ? "notsupported" : null) || js_html_compat_Float64Array._new; var Uint8Array = $global.Uint8Array || js_html_compat_Uint8Array._new; var this1 = new Uint32Array(256); lime_math__$RGBA_RGBA_$Impl_$.__alpha16 = this1; var _g = 0; while(_g < 256) { var i = _g++; lime_math__$RGBA_RGBA_$Impl_$.__alpha16[i] = Math.ceil(i * 257.00392156862745); } var this2 = new Uint8Array(511); lime_math__$RGBA_RGBA_$Impl_$.__clamp = this2; var _g1 = 0; while(_g1 < 255) { var i1 = _g1++; lime_math__$RGBA_RGBA_$Impl_$.__clamp[i1] = i1; } var _g11 = 255; var _g2 = 511; while(_g11 < _g2) { var i2 = _g11++; lime_math__$RGBA_RGBA_$Impl_$.__clamp[i2] = 255; } lime_system_CFFI.available = false; lime_system_CFFI.enabled = false; lime_utils_Log.level = 3; if(typeof console == "undefined") { console = {} } if(console.log == null) { console.log = function() { }; } openfl__$internal_renderer_canvas_CanvasGraphics.hitTestCanvas = typeof(window) != "undefined" ? window.document.createElement("canvas") : null; openfl__$internal_renderer_canvas_CanvasGraphics.hitTestContext = typeof(window) != "undefined" ? openfl__$internal_renderer_canvas_CanvasGraphics.hitTestCanvas.getContext("2d") : null; openfl_ui_Multitouch.maxTouchPoints = 2; openfl_ui_Multitouch.supportedGestures = null; openfl_ui_Multitouch.supportsGestureEvents = false; openfl_ui_Multitouch.inputMode = 2; haxe_ds_ObjectMap.count = 0; openfl_display_DisplayObject.__broadcastEvents = new haxe_ds_StringMap(); openfl_display_DisplayObject.__instanceCount = 0; openfl_display_DisplayObject.__tempStack = new lime_utils_ObjectPool(function() { return openfl__$Vector_Vector_$Impl_$.toObjectVector(null); },function(stack) { stack.set_length(0); }); flixel_addons_transition_FlxTransitionableState.defaultTransIn = null; flixel_addons_transition_FlxTransitionableState.defaultTransOut = null; flixel_addons_transition_FlxTransitionableState.skipNextTransIn = false; flixel_addons_transition_FlxTransitionableState.skipNextTransOut = false; GameData.CompletedIntro = false; GameData.CompletedLevels = []; GameData.LastLevelTried = 16; GameData.DEFAULT_FONT = "assets/fonts/ChalkboardSE-Light-01.ttf"; GameData.DEFAULT_FONT_COLOR = 2894384; GameData.CHARGEABLE_POWERS = [2,4,6,7]; GameData.CHARACTER_POWER_DIALOGUE = ["Toadette: \"It looks like Princess Peach just set the dish on fire!\"","ToadetteSwoon: \"Princess Peach is flustering the dish!\"","Toadette: \"It looks like Princess Peach just shot a missile into the dish!\"","Toadette: \"EEK! Princess Peach just scared the dish!\"","Toadette: \"It looks like the Princess is very angry at the dish!\"","ToadetteSwoon: \"Princess Peach just took a big bite out of the dish! Maybe it looked too delicious!\"","ToadetteSwoon: \"It looks like Princess Peach just added some kind of secret sauce!\"","ToadetteWat: \"It looks like the Princess… caught something?\""]; GameData.DIDNT_WORK_DIALOGUE = "\"\nEhh? I’m not sure it worked!\""; GameData.CHARACTER_CHANGE_DIALOGUE = "Toadette: \"Princess Peach has changed outfits! Even in the heat of cooking, it’s important to stay on top of the latest trends!\""; GameData.NOVEL_DIALOGUE = "\"\nShe sure is using some novel techniques today!\""; GameData.CHARACTER_NAMES = ["bowser","shy","bullet","boo","wiggler","piranha","blooper","cheep"]; GameData.NUM_LEVELS = 15; GameData.MAX_DISH_LENGTH = 20; GameData.dbf = (function($this) { var $r; var _g = new haxe_ds_StringMap(); { var value = [1,0]; if(__map_reserved["Toadette"] != null) { _g.setReserved("Toadette",value); } else { _g.h["Toadette"] = value; } } { var value1 = [0,0]; if(__map_reserved["ToadetteAnnounce"] != null) { _g.setReserved("ToadetteAnnounce",value1); } else { _g.h["ToadetteAnnounce"] = value1; } } { var value2 = [2,0]; if(__map_reserved["ToadetteSwoon"] != null) { _g.setReserved("ToadetteSwoon",value2); } else { _g.h["ToadetteSwoon"] = value2; } } { var value3 = [3,0]; if(__map_reserved["ToadetteWat"] != null) { _g.setReserved("ToadetteWat",value3); } else { _g.h["ToadetteWat"] = value3; } } $r = new nova_ui_dialog_DialogBoxFactory({ background : { image : "assets/images/textarea.png"}, advanceStyle : nova_ui_dialog_DialogAdvanceStyle.TYPEWRITER, advanceLength : 18, textFormat : { font : "assets/fonts/ChalkboardSE-Light-01.ttf", size : 20}, textPadding : [20,12], speakerSprite : { image : "assets/images/toadette_tiles.png", width : 150, height : 165, offset : [-10,0]}, speakerSpriteMap : _g}); return $r; }(this)); GameData.IntroText = ["emit hide","emit laugh_shake","\"(invisible)\"","emit show","emit \"assets/images/comic_no_text/intro1.png\"","\"BOWSER: Finally, Peach and Mushroom Kingdom are ALL MINE!\"","emit \"assets/images/comic_no_text/intro2.png\"","\"BOWSER: I just have to impersonate her using this magic crown, and those stupid toads are none the wiser!\"","emit \"assets/images/comic_no_text/intro3.png\"","\"TOADETTE: Princess Peach, you're on to record your cooking show in 5 minutes!\"","emit \"assets/images/comic_no_text/intro4.png\"","\"BOWSER: Uhhh...any of you guys know how to cook?\""]; GameData.IntermissionText = ["Toadette: \"Next, Princess Peach will be making SALAD using only LARD! As always, in 10 steps or fewer!\"","emit \"assets/images/comic_no_text/intermission1_0.png\"","wait 0.5","emit \"assets/images/comic_no_text/intermission1_1.png\"","wait 0.5","emit \"assets/images/comic_no_text/intermission1_2.png\"","wait 0.5","emit \"assets/images/comic_no_text/intermission2.png\"","\"TOADETTE: Oh? Where is she going?\"","emit hide","emit \"assets/images/comic_no_text/intermission3.png\"","\"...\"","emit shake","emit \"assets/images/comic_no_text/intermission4.png\"","\"...\"","emit \"assets/images/comic_no_text/intermission5.png\"","emit show","\"TOADETTE: Princess Peach has brought out her entire royal wardrobe! In high heels, no less! We may be in for a special episode!\"","emit \"assets/images/comic_no_text/intermission6.png\"","\"BOWSER: ONE OF YOU GUYS TAKE THIS THING!!\""]; GameData.EndingText = ["\"BOWSER: PHEW! We made it through somehow...\"","emit \"assets/images/comic_no_text/ending1.png\"","\"BOWSER: Finally, it's time to--\nTOADETTE: Princess Peach! You're on to star in your live action stunt opera in 5 minutes!\"","emit \"assets/images/comic_no_text/ending2.png\"","\"BOWSER: You can have your kingdom back.\""]; GameData.EndingUrlSuffix = "/puzzle/peaches/submit"; GameData.LevelMenuOptions = [new Level("play",{ "level" : 1}),new Level("play",{ "level" : 2}),new Level("play",{ "level" : 3}),new Level("play",{ "level" : 4}),new Level("play",{ "level" : 5}),new Level("play",{ "level" : 6}),new Level("play",{ "level" : 7}),new Level("play",{ "level" : 8}),new Level("play",{ "level" : 9}),new Level("play",{ "level" : 10}),new Level("play",{ "level" : 11}),new Level("play",{ "level" : 12}),new Level("play",{ "level" : 13}),new Level("play",{ "level" : 14}),new Level("play",{ "level" : 15}),new Level("cinematic",{ "background" : "assets/images/controls.png", "name" : "Controls", "dialog" : null}),new Level("cinematic",{ "background" : "assets/images/comic_no_text/intro0.png", "name" : "Intro", "dialog" : GameData.IntroText}),new Level("cinematic",{ "background" : "assets/images/comic_no_text/intermission0.png", "name" : "Intermission", "dialog" : GameData.IntermissionText}),new Level("cinematic",{ "background" : "assets/images/comic_no_text/ending0.png", "name" : "Ending", "dialog" : GameData.EndingText}),new Level("cinematic",{ "background" : "assets/images/comic_no_text/final_bg.png", "name" : "Finale", "dialog" : null})]; GameData.levels = [new LevelInfo("UNAGI","UNI",[0],"ToadetteAnnounce: \"Welcome to Simple Home Cooking with Peach, where recipes are always 10 steps or less!\nFirst up, Princess Peach will be showing us how to make UNI using only UNAGI!\""),new LevelInfo("LARD","SALAD",[0,1,2,6],"ToadetteAnnounce: \"Next, Princess Peach will be showing us how to make SALAD using only LARD!\""),new LevelInfo("CLAMS","EGGS",[0,1,2,6],"ToadetteAnnounce: \"Next up, Princess Peach will be making EGGS using only CLAMS! As always, in 10 or fewer simple steps!\""),new LevelInfo("MAIL","ECLAIR",[0,1,2,4],"ToadetteAnnounce: \"Have so much fan mail you don't know what to do with it all? Next up, Princess Peach will be showing us how to make an ECLAIR using only MAIL!\""),new LevelInfo("GOLD","AIOLI",[0,1,2,3,6],"ToadetteAnnounce: \"Have so much gold you don't know what to do with it all? Next up, Princess Peach will be showing us how to make AIOLI using only GOLD!\""),new LevelInfo("HAY","CANDY HEN",[1,4,5,6,7],"ToadetteAnnounce: \"Next, Princess Peach will be demonstrating how to craft a delicate CANDY HEN using only HAY!\""),new LevelInfo("TURF","PARFAIT",[2,3,4,5,7],"ToadetteAnnounce: \"Next, Princess Peach will be showing us an easy way to use TURF to create a decadent PARFAIT!\""),new LevelInfo("HERON","ONIGIRI",[0,3,4,6,7],"ToadetteAnnounce: \"Next, Princess Peach will show us how to use a HERON to make perfect ONIGIRI!\""),new LevelInfo("EASEL","WATER EEL",[2,4,5,6,7],"ToadetteAnnounce: \"Next, Princess Peach will be using an EASEL to create WATER EEL!\""),new LevelInfo("SHRINE","REFRESHROOM",[0,1,3,4,6,7],"ToadetteAnnounce: \"Next, Princess Peach will be using a SHRINE to make, you guessed it, a REFRESHROOM!\""),new LevelInfo("ETHICS","ANISE TAHINI",[0,3,4,5,6,7],"ToadetteAnnounce: \"We're getting close to the end of the show! Princess Peach will now show us how to create ANISE TAHINI using only ETHICS! Mmmm!\""),new LevelInfo("DEMON","LEMON EGGNOG",[1,2,3,5,6,7],"ToadetteAnnounce: \"Next, Princess Peach will show you one weird trick to turn a DEMON into LEMON EGGNOG!\""),new LevelInfo("SNOW","ASIAN SQUID",[2,3,4,5,6,7],"ToadetteAnnounce: \"If you're ever in Antarctica, be sure to try the following recipe to turn SNOW into ASIAN SQUID!\""),new LevelInfo("DRESS","TONS OF NOODLES",[1,2,3,5,6,7],"ToadetteAnnounce: \"For her penultimate act, Princess Peach will be using only a DRESS to prepare TONS OF NOODLES!\""),new LevelInfo("TIGHTS","CRAZY EIGHT",[0,1,2,4,5,7],"ToadetteAnnounce: \"For her final recipe, the Princess will show us how to make TIGHTS into a decadent CRAZY EIGHT!\"")]; openfl_geom_Rectangle.__pool = new lime_utils_ObjectPool(function() { return new openfl_geom_Rectangle(); },function(r) { r.setTo(0,0,0,0); }); LevelSelectState.LEVEL_TEXT_RECTANGLES = [new openfl_geom_Rectangle(249,47,141,73),new openfl_geom_Rectangle(189,126,133,73),new openfl_geom_Rectangle(322,126,132,73),new openfl_geom_Rectangle(189,209,133,73),new openfl_geom_Rectangle(322,209,132,73),new openfl_geom_Rectangle(128,288,131,73),new openfl_geom_Rectangle(259,288,122,73),new openfl_geom_Rectangle(381,288,133,73),new openfl_geom_Rectangle(128,367,131,73),new openfl_geom_Rectangle(259,367,122,73),new openfl_geom_Rectangle(381,367,133,73),new openfl_geom_Rectangle(67,446,133,73),new openfl_geom_Rectangle(200,446,116,73),new openfl_geom_Rectangle(316,446,125,73),new openfl_geom_Rectangle(441,446,131,73)]; LevelSelectState.MENU_OPTION_RECTANGLES = [new openfl_geom_Rectangle(440,560,135,64),new openfl_geom_Rectangle(17,25,90,50),new openfl_geom_Rectangle(17,75,168,50),new openfl_geom_Rectangle(17,125,110,50),new openfl_geom_Rectangle(283,524,74,80)]; openfl_text_Font.__fontByName = new haxe_ds_StringMap(); openfl_text_Font.__registeredFonts = []; Xml.Element = 0; Xml.PCData = 1; Xml.CData = 2; Xml.Comment = 3; Xml.DocType = 4; Xml.ProcessingInstruction = 5; Xml.Document = 6; flixel_math_FlxPoint._pool = new flixel_util_FlxPool_$flixel_$math_$FlxPoint(flixel_math_FlxPoint); flixel_math_FlxRect._pool = new flixel_util_FlxPool_$flixel_$math_$FlxRect(flixel_math_FlxRect); lime_math_Matrix3.__identity = new lime_math_Matrix3(); openfl_geom_Matrix.__identity = new openfl_geom_Matrix(); openfl_geom_Matrix.__pool = new lime_utils_ObjectPool(function() { return new openfl_geom_Matrix(); },function(m) { m.identity(); }); openfl_geom_Matrix.__matrix3 = new lime_math_Matrix3(); openfl_geom_ColorTransform.__pool = new lime_utils_ObjectPool(function() { return new openfl_geom_ColorTransform(); },function(ct) { ct.__identity(); }); flixel_FlxCamera.drawVertices = openfl__$Vector_Vector_$Impl_$.toFloatVector(null); flixel_FlxCamera.trianglesSprite = new openfl_display_Sprite(); flixel_FlxCamera.renderPoint = (function($this) { var $r; var point = flixel_math_FlxPoint._pool.get().set(0,0); point._inPool = false; $r = point; return $r; }(this)); flixel_FlxCamera.renderRect = (function($this) { var $r; var _this = flixel_math_FlxRect._pool.get(); _this.x = 0; _this.y = 0; _this.width = 0; _this.height = 0; var rect = _this; rect._inPool = false; $r = rect; return $r; }(this)); flixel_system_FlxVersion.sha = ""; js_Boot.__toStr = ({ }).toString; flixel_math_FlxRandom._arrayFloatHelper = null; flixel_math_FlxRandom.MULTIPLIER = 48271.0; flixel_math_FlxRandom.MODULUS = 2147483647; flixel_FlxG.autoPause = true; flixel_FlxG.fixedTimestep = true; flixel_FlxG.timeScale = 1; flixel_FlxG.worldDivisions = 6; flixel_FlxG.VERSION = new flixel_system_FlxVersion(4,6,0); flixel_FlxG.elapsed = 0; flixel_FlxG.maxElapsed = 0.1; flixel_FlxG.scaleMode = new flixel_system_scaleModes_RatioScaleMode(); flixel_FlxG.worldBounds = (function($this) { var $r; var _this = flixel_math_FlxRect._pool.get(); _this.x = 0; _this.y = 0; _this.width = 0; _this.height = 0; var rect = _this; rect._inPool = false; $r = rect; return $r; }(this)); flixel_FlxG.save = new flixel_util_FlxSave(); flixel_FlxG.random = new flixel_math_FlxRandom(); flixel_FlxG.swipes = []; flixel_FlxG.html5 = new flixel_system_frontEnds_HTML5FrontEnd(); flixel_FlxG.inputs = new flixel_system_frontEnds_InputFrontEnd(); flixel_FlxG.console = new flixel_system_frontEnds_ConsoleFrontEnd(); flixel_FlxG.log = new flixel_system_frontEnds_LogFrontEnd(); flixel_FlxG.bitmapLog = new flixel_system_frontEnds_BitmapLogFrontEnd(); flixel_FlxG.watch = new flixel_system_frontEnds_WatchFrontEnd(); flixel_FlxG["debugger"] = new flixel_system_frontEnds_DebuggerFrontEnd(); flixel_FlxG.bitmap = new flixel_system_frontEnds_BitmapFrontEnd(); flixel_FlxG.cameras = new flixel_system_frontEnds_CameraFrontEnd(); flixel_FlxG.initialWidth = 0; flixel_FlxG.initialHeight = 0; flixel_FlxG.initialZoom = 0; flixel_FlxG.signals = new flixel_system_frontEnds_SignalFrontEnd(); flixel_FlxObject.defaultPixelPerfectPosition = false; flixel_FlxObject.SEPARATE_BIAS = 4; flixel_FlxObject.LEFT = 1; flixel_FlxObject.RIGHT = 16; flixel_FlxObject.UP = 256; flixel_FlxObject.DOWN = 4096; flixel_FlxObject.NONE = 0; flixel_FlxObject.CEILING = 256; flixel_FlxObject.FLOOR = 4096; flixel_FlxObject.WALL = 17; flixel_FlxObject.ANY = 4369; flixel_FlxObject._firstSeparateFlxRect = (function($this) { var $r; var _this = flixel_math_FlxRect._pool.get(); _this.x = 0; _this.y = 0; _this.width = 0; _this.height = 0; var rect = _this; rect._inPool = false; $r = rect; return $r; }(this)); flixel_FlxObject._secondSeparateFlxRect = (function($this) { var $r; var _this = flixel_math_FlxRect._pool.get(); _this.x = 0; _this.y = 0; _this.width = 0; _this.height = 0; var rect = _this; rect._inPool = false; $r = rect; return $r; }(this)); openfl_display_BitmapData.__vertexBufferStride = 14; openfl_display_BitmapData.__supportsBGRA = null; openfl_display_BitmapData.__tempVector = new lime_math_Vector2(); flixel_addons_transition_GraphicTransTileCircle.resourceType = "image/png"; flixel_addons_transition_GraphicTransTileCircle.resourceName = "__ASSET__:bitmap_flixel_addons_transition_GraphicTransTileCircle"; flixel_addons_transition_GraphicTransTileDiamond.resourceType = "image/png"; flixel_addons_transition_GraphicTransTileDiamond.resourceName = "__ASSET__:bitmap_flixel_addons_transition_GraphicTransTileDiamond"; flixel_addons_transition_GraphicTransTileSquare.resourceType = "image/png"; flixel_addons_transition_GraphicTransTileSquare.resourceName = "__ASSET__:bitmap_flixel_addons_transition_GraphicTransTileSquare"; flixel_addons_transition__$TransitionFade_GraphicDiagonalGradient.resourceType = "image/png"; flixel_addons_transition__$TransitionFade_GraphicDiagonalGradient.resourceName = "__ASSET__:bitmap_flixel_addons_transition__TransitionFade_GraphicDiagonalGradient"; flixel_animation_FlxPrerotatedAnimation.PREROTATED = "prerotated_animation"; flixel_effects_FlxFlicker._pool = new flixel_util_FlxPool_$flixel_$effects_$FlxFlicker(flixel_effects_FlxFlicker); flixel_effects_FlxFlicker._boundObjects = new haxe_ds_ObjectMap(); flixel_graphics_FlxGraphic.defaultPersist = false; openfl_geom_Point.__pool = new lime_utils_ObjectPool(function() { return new openfl_geom_Point(); },function(p) { p.setTo(0,0); }); flixel_graphics_atlas_FlxAtlas.point = new openfl_geom_Point(); flixel_graphics_atlas_FlxAtlas.matrix = new openfl_geom_Matrix(); flixel_graphics_atlas_FlxAtlas.defaultMinSize = new flixel_math_FlxPoint(128,128); flixel_graphics_atlas_FlxAtlas.defaultMaxSize = new flixel_math_FlxPoint(1024,1024); flixel_graphics_tile_FlxDrawBaseItem.drawCalls = 0; flixel_graphics_tile_FlxDrawQuadsItem.VERTICES_PER_QUAD = 4; flixel_graphics_tile_FlxDrawTrianglesItem.point = (function($this) { var $r; var point = flixel_math_FlxPoint._pool.get().set(0,0); point._inPool = false; $r = point; return $r; }(this)); flixel_graphics_tile_FlxDrawTrianglesItem.rect = (function($this) { var $r; var _this = flixel_math_FlxRect._pool.get(); _this.x = 0; _this.y = 0; _this.width = 0; _this.height = 0; var rect = _this; rect._inPool = false; $r = rect; return $r; }(this)); flixel_input_FlxPointer._cachedPoint = new flixel_math_FlxPoint(); flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.fromStringMap = (function($this) { var $r; var _g = new haxe_ds_StringMap(); if(__map_reserved["ANY"] != null) { _g.setReserved("ANY",-2); } else { _g.h["ANY"] = -2; } if(__map_reserved["A"] != null) { _g.setReserved("A",0); } else { _g.h["A"] = 0; } if(__map_reserved["B"] != null) { _g.setReserved("B",1); } else { _g.h["B"] = 1; } if(__map_reserved["X"] != null) { _g.setReserved("X",2); } else { _g.h["X"] = 2; } if(__map_reserved["Y"] != null) { _g.setReserved("Y",3); } else { _g.h["Y"] = 3; } if(__map_reserved["LEFT_SHOULDER"] != null) { _g.setReserved("LEFT_SHOULDER",4); } else { _g.h["LEFT_SHOULDER"] = 4; } if(__map_reserved["RIGHT_SHOULDER"] != null) { _g.setReserved("RIGHT_SHOULDER",5); } else { _g.h["RIGHT_SHOULDER"] = 5; } if(__map_reserved["BACK"] != null) { _g.setReserved("BACK",6); } else { _g.h["BACK"] = 6; } if(__map_reserved["START"] != null) { _g.setReserved("START",7); } else { _g.h["START"] = 7; } if(__map_reserved["LEFT_STICK_CLICK"] != null) { _g.setReserved("LEFT_STICK_CLICK",8); } else { _g.h["LEFT_STICK_CLICK"] = 8; } if(__map_reserved["RIGHT_STICK_CLICK"] != null) { _g.setReserved("RIGHT_STICK_CLICK",9); } else { _g.h["RIGHT_STICK_CLICK"] = 9; } if(__map_reserved["GUIDE"] != null) { _g.setReserved("GUIDE",10); } else { _g.h["GUIDE"] = 10; } if(__map_reserved["DPAD_UP"] != null) { _g.setReserved("DPAD_UP",11); } else { _g.h["DPAD_UP"] = 11; } if(__map_reserved["DPAD_DOWN"] != null) { _g.setReserved("DPAD_DOWN",12); } else { _g.h["DPAD_DOWN"] = 12; } if(__map_reserved["DPAD_LEFT"] != null) { _g.setReserved("DPAD_LEFT",13); } else { _g.h["DPAD_LEFT"] = 13; } if(__map_reserved["DPAD_RIGHT"] != null) { _g.setReserved("DPAD_RIGHT",14); } else { _g.h["DPAD_RIGHT"] = 14; } if(__map_reserved["LEFT_TRIGGER_BUTTON"] != null) { _g.setReserved("LEFT_TRIGGER_BUTTON",15); } else { _g.h["LEFT_TRIGGER_BUTTON"] = 15; } if(__map_reserved["RIGHT_TRIGGER_BUTTON"] != null) { _g.setReserved("RIGHT_TRIGGER_BUTTON",16); } else { _g.h["RIGHT_TRIGGER_BUTTON"] = 16; } if(__map_reserved["LEFT_TRIGGER"] != null) { _g.setReserved("LEFT_TRIGGER",17); } else { _g.h["LEFT_TRIGGER"] = 17; } if(__map_reserved["RIGHT_TRIGGER"] != null) { _g.setReserved("RIGHT_TRIGGER",18); } else { _g.h["RIGHT_TRIGGER"] = 18; } if(__map_reserved["LEFT_ANALOG_STICK"] != null) { _g.setReserved("LEFT_ANALOG_STICK",19); } else { _g.h["LEFT_ANALOG_STICK"] = 19; } if(__map_reserved["RIGHT_ANALOG_STICK"] != null) { _g.setReserved("RIGHT_ANALOG_STICK",20); } else { _g.h["RIGHT_ANALOG_STICK"] = 20; } if(__map_reserved["DPAD"] != null) { _g.setReserved("DPAD",21); } else { _g.h["DPAD"] = 21; } if(__map_reserved["TILT_PITCH"] != null) { _g.setReserved("TILT_PITCH",26); } else { _g.h["TILT_PITCH"] = 26; } if(__map_reserved["TILT_ROLL"] != null) { _g.setReserved("TILT_ROLL",27); } else { _g.h["TILT_ROLL"] = 27; } if(__map_reserved["POINTER_X"] != null) { _g.setReserved("POINTER_X",28); } else { _g.h["POINTER_X"] = 28; } if(__map_reserved["POINTER_Y"] != null) { _g.setReserved("POINTER_Y",29); } else { _g.h["POINTER_Y"] = 29; } if(__map_reserved["EXTRA_0"] != null) { _g.setReserved("EXTRA_0",30); } else { _g.h["EXTRA_0"] = 30; } if(__map_reserved["EXTRA_1"] != null) { _g.setReserved("EXTRA_1",31); } else { _g.h["EXTRA_1"] = 31; } if(__map_reserved["EXTRA_2"] != null) { _g.setReserved("EXTRA_2",32); } else { _g.h["EXTRA_2"] = 32; } if(__map_reserved["EXTRA_3"] != null) { _g.setReserved("EXTRA_3",33); } else { _g.h["EXTRA_3"] = 33; } if(__map_reserved["LEFT_STICK_DIGITAL_UP"] != null) { _g.setReserved("LEFT_STICK_DIGITAL_UP",34); } else { _g.h["LEFT_STICK_DIGITAL_UP"] = 34; } if(__map_reserved["LEFT_STICK_DIGITAL_RIGHT"] != null) { _g.setReserved("LEFT_STICK_DIGITAL_RIGHT",35); } else { _g.h["LEFT_STICK_DIGITAL_RIGHT"] = 35; } if(__map_reserved["LEFT_STICK_DIGITAL_DOWN"] != null) { _g.setReserved("LEFT_STICK_DIGITAL_DOWN",36); } else { _g.h["LEFT_STICK_DIGITAL_DOWN"] = 36; } if(__map_reserved["LEFT_STICK_DIGITAL_LEFT"] != null) { _g.setReserved("LEFT_STICK_DIGITAL_LEFT",37); } else { _g.h["LEFT_STICK_DIGITAL_LEFT"] = 37; } if(__map_reserved["RIGHT_STICK_DIGITAL_UP"] != null) { _g.setReserved("RIGHT_STICK_DIGITAL_UP",38); } else { _g.h["RIGHT_STICK_DIGITAL_UP"] = 38; } if(__map_reserved["RIGHT_STICK_DIGITAL_RIGHT"] != null) { _g.setReserved("RIGHT_STICK_DIGITAL_RIGHT",39); } else { _g.h["RIGHT_STICK_DIGITAL_RIGHT"] = 39; } if(__map_reserved["RIGHT_STICK_DIGITAL_DOWN"] != null) { _g.setReserved("RIGHT_STICK_DIGITAL_DOWN",40); } else { _g.h["RIGHT_STICK_DIGITAL_DOWN"] = 40; } if(__map_reserved["RIGHT_STICK_DIGITAL_LEFT"] != null) { _g.setReserved("RIGHT_STICK_DIGITAL_LEFT",41); } else { _g.h["RIGHT_STICK_DIGITAL_LEFT"] = 41; } $r = _g; return $r; }(this)); flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.toStringMap = (function($this) { var $r; var _g = new haxe_ds_IntMap(); _g.h[-2] = "ANY"; _g.h[0] = "A"; _g.h[1] = "B"; _g.h[2] = "X"; _g.h[3] = "Y"; _g.h[4] = "LEFT_SHOULDER"; _g.h[5] = "RIGHT_SHOULDER"; _g.h[6] = "BACK"; _g.h[7] = "START"; _g.h[8] = "LEFT_STICK_CLICK"; _g.h[9] = "RIGHT_STICK_CLICK"; _g.h[10] = "GUIDE"; _g.h[11] = "DPAD_UP"; _g.h[12] = "DPAD_DOWN"; _g.h[13] = "DPAD_LEFT"; _g.h[14] = "DPAD_RIGHT"; _g.h[15] = "LEFT_TRIGGER_BUTTON"; _g.h[16] = "RIGHT_TRIGGER_BUTTON"; _g.h[17] = "LEFT_TRIGGER"; _g.h[18] = "RIGHT_TRIGGER"; _g.h[19] = "LEFT_ANALOG_STICK"; _g.h[20] = "RIGHT_ANALOG_STICK"; _g.h[21] = "DPAD"; _g.h[26] = "TILT_PITCH"; _g.h[27] = "TILT_ROLL"; _g.h[28] = "POINTER_X"; _g.h[29] = "POINTER_Y"; _g.h[30] = "EXTRA_0"; _g.h[31] = "EXTRA_1"; _g.h[32] = "EXTRA_2"; _g.h[33] = "EXTRA_3"; _g.h[34] = "LEFT_STICK_DIGITAL_UP"; _g.h[35] = "LEFT_STICK_DIGITAL_RIGHT"; _g.h[36] = "LEFT_STICK_DIGITAL_DOWN"; _g.h[37] = "LEFT_STICK_DIGITAL_LEFT"; _g.h[38] = "RIGHT_STICK_DIGITAL_UP"; _g.h[39] = "RIGHT_STICK_DIGITAL_RIGHT"; _g.h[40] = "RIGHT_STICK_DIGITAL_DOWN"; _g.h[41] = "RIGHT_STICK_DIGITAL_LEFT"; $r = _g; return $r; }(this)); flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.ANY = -2; flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.NONE = -1; flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.A = 0; flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.B = 1; flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.X = 2; flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.Y = 3; flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.LEFT_SHOULDER = 4; flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.RIGHT_SHOULDER = 5; flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.BACK = 6; flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.START = 7; flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.LEFT_STICK_CLICK = 8; flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.RIGHT_STICK_CLICK = 9; flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.GUIDE = 10; flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.DPAD_UP = 11; flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.DPAD_DOWN = 12; flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.DPAD_LEFT = 13; flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.DPAD_RIGHT = 14; flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.LEFT_TRIGGER_BUTTON = 15; flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.RIGHT_TRIGGER_BUTTON = 16; flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.LEFT_TRIGGER = 17; flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.RIGHT_TRIGGER = 18; flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.LEFT_ANALOG_STICK = 19; flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.RIGHT_ANALOG_STICK = 20; flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.DPAD = 21; flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.TILT_PITCH = 26; flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.TILT_ROLL = 27; flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.POINTER_X = 28; flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.POINTER_Y = 29; flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.EXTRA_0 = 30; flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.EXTRA_1 = 31; flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.EXTRA_2 = 32; flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.EXTRA_3 = 33; flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.LEFT_STICK_DIGITAL_UP = 34; flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.LEFT_STICK_DIGITAL_RIGHT = 35; flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.LEFT_STICK_DIGITAL_DOWN = 36; flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.LEFT_STICK_DIGITAL_LEFT = 37; flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.RIGHT_STICK_DIGITAL_UP = 38; flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.RIGHT_STICK_DIGITAL_RIGHT = 39; flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.RIGHT_STICK_DIGITAL_DOWN = 40; flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.RIGHT_STICK_DIGITAL_LEFT = 41; openfl_ui_GameInput.isSupported = true; openfl_ui_GameInput.numDevices = 0; openfl_ui_GameInput.__deviceList = []; openfl_ui_GameInput.__instances = []; openfl_ui_GameInput.__devices = new haxe_ds_ObjectMap(); flixel_input_gamepad_FlxGamepadManager._gameInput = new openfl_ui_GameInput(); flixel_input_gamepad_id_LogitechID.ONE = 0; flixel_input_gamepad_id_LogitechID.TWO = 1; flixel_input_gamepad_id_LogitechID.THREE = 2; flixel_input_gamepad_id_LogitechID.FOUR = 3; flixel_input_gamepad_id_LogitechID.FIVE = 4; flixel_input_gamepad_id_LogitechID.SIX = 5; flixel_input_gamepad_id_LogitechID.SEVEN = 6; flixel_input_gamepad_id_LogitechID.EIGHT = 7; flixel_input_gamepad_id_LogitechID.NINE = 8; flixel_input_gamepad_id_LogitechID.TEN = 9; flixel_input_gamepad_id_LogitechID.LEFT_STICK_CLICK = 10; flixel_input_gamepad_id_LogitechID.RIGHT_STICK_CLICK = 11; flixel_input_gamepad_id_LogitechID.DPAD_UP = 16; flixel_input_gamepad_id_LogitechID.DPAD_DOWN = 17; flixel_input_gamepad_id_LogitechID.DPAD_LEFT = 18; flixel_input_gamepad_id_LogitechID.DPAD_RIGHT = 19; flixel_input_gamepad_id_LogitechID.LOGITECH = -5; flixel_input_gamepad_id_LogitechID.LEFT_ANALOG_STICK = new flixel_input_gamepad_FlxGamepadAnalogStick(0,1,{ up : 24, down : 25, left : 26, right : 27}); flixel_input_gamepad_id_LogitechID.RIGHT_ANALOG_STICK = new flixel_input_gamepad_FlxGamepadAnalogStick(2,3,{ up : 28, down : 29, left : 30, right : 31}); flixel_input_gamepad_id_MFiID.A = 6; flixel_input_gamepad_id_MFiID.B = 7; flixel_input_gamepad_id_MFiID.X = 8; flixel_input_gamepad_id_MFiID.Y = 9; flixel_input_gamepad_id_MFiID.LB = 15; flixel_input_gamepad_id_MFiID.RB = 16; flixel_input_gamepad_id_MFiID.BACK = 10; flixel_input_gamepad_id_MFiID.START = 12; flixel_input_gamepad_id_MFiID.LEFT_STICK_CLICK = 13; flixel_input_gamepad_id_MFiID.RIGHT_STICK_CLICK = 14; flixel_input_gamepad_id_MFiID.GUIDE = 11; flixel_input_gamepad_id_MFiID.DPAD_UP = 17; flixel_input_gamepad_id_MFiID.DPAD_DOWN = 18; flixel_input_gamepad_id_MFiID.DPAD_LEFT = 19; flixel_input_gamepad_id_MFiID.DPAD_RIGHT = 20; flixel_input_gamepad_id_MFiID.LEFT_ANALOG_STICK = new flixel_input_gamepad_FlxGamepadAnalogStick(0,1,{ up : 21, down : 22, left : 23, right : 24}); flixel_input_gamepad_id_MFiID.RIGHT_ANALOG_STICK = new flixel_input_gamepad_FlxGamepadAnalogStick(2,3,{ up : 25, down : 26, left : 27, right : 28}); flixel_input_gamepad_id_MFiID.LEFT_TRIGGER = 4; flixel_input_gamepad_id_MFiID.RIGHT_TRIGGER = 5; flixel_input_gamepad_id_MayflashWiiRemoteID.REMOTE_ONE = 8; flixel_input_gamepad_id_MayflashWiiRemoteID.REMOTE_TWO = 9; flixel_input_gamepad_id_MayflashWiiRemoteID.REMOTE_A = 10; flixel_input_gamepad_id_MayflashWiiRemoteID.REMOTE_B = 11; flixel_input_gamepad_id_MayflashWiiRemoteID.REMOTE_MINUS = 12; flixel_input_gamepad_id_MayflashWiiRemoteID.REMOTE_PLUS = 13; flixel_input_gamepad_id_MayflashWiiRemoteID.REMOTE_HOME = 19; flixel_input_gamepad_id_MayflashWiiRemoteID.NUNCHUK_Z = 14; flixel_input_gamepad_id_MayflashWiiRemoteID.NUNCHUK_C = 15; flixel_input_gamepad_id_MayflashWiiRemoteID.NUNCHUK_DPAD_UP = 4; flixel_input_gamepad_id_MayflashWiiRemoteID.NUNCHUK_DPAD_DOWN = 5; flixel_input_gamepad_id_MayflashWiiRemoteID.NUNCHUK_DPAD_LEFT = 6; flixel_input_gamepad_id_MayflashWiiRemoteID.NUNCHUK_DPAD_RIGHT = 7; flixel_input_gamepad_id_MayflashWiiRemoteID.NUNCHUK_MINUS = 12; flixel_input_gamepad_id_MayflashWiiRemoteID.NUNCHUK_PLUS = 13; flixel_input_gamepad_id_MayflashWiiRemoteID.NUNCHUK_HOME = 19; flixel_input_gamepad_id_MayflashWiiRemoteID.NUNCHUK_A = 10; flixel_input_gamepad_id_MayflashWiiRemoteID.NUNCHUK_B = 11; flixel_input_gamepad_id_MayflashWiiRemoteID.NUNCHUK_ONE = 8; flixel_input_gamepad_id_MayflashWiiRemoteID.NUNCHUK_TWO = 9; flixel_input_gamepad_id_MayflashWiiRemoteID.CLASSIC_Y = 8; flixel_input_gamepad_id_MayflashWiiRemoteID.CLASSIC_X = 9; flixel_input_gamepad_id_MayflashWiiRemoteID.CLASSIC_B = 10; flixel_input_gamepad_id_MayflashWiiRemoteID.CLASSIC_A = 11; flixel_input_gamepad_id_MayflashWiiRemoteID.CLASSIC_L = 12; flixel_input_gamepad_id_MayflashWiiRemoteID.CLASSIC_R = 13; flixel_input_gamepad_id_MayflashWiiRemoteID.CLASSIC_ZL = 14; flixel_input_gamepad_id_MayflashWiiRemoteID.CLASSIC_ZR = 15; flixel_input_gamepad_id_MayflashWiiRemoteID.CLASSIC_SELECT = 16; flixel_input_gamepad_id_MayflashWiiRemoteID.CLASSIC_START = 17; flixel_input_gamepad_id_MayflashWiiRemoteID.CLASSIC_HOME = 19; flixel_input_gamepad_id_MayflashWiiRemoteID.CLASSIC_ONE = -1; flixel_input_gamepad_id_MayflashWiiRemoteID.CLASSIC_TWO = -1; flixel_input_gamepad_id_MayflashWiiRemoteID.CLASSIC_DPAD_UP = 4; flixel_input_gamepad_id_MayflashWiiRemoteID.CLASSIC_DPAD_DOWN = 5; flixel_input_gamepad_id_MayflashWiiRemoteID.CLASSIC_DPAD_LEFT = 6; flixel_input_gamepad_id_MayflashWiiRemoteID.CLASSIC_DPAD_RIGHT = 7; flixel_input_gamepad_id_MayflashWiiRemoteID.NUNCHUK_POINTER_X = 2; flixel_input_gamepad_id_MayflashWiiRemoteID.NUNCHUK_POINTER_Y = 3; flixel_input_gamepad_id_MayflashWiiRemoteID.REMOTE_DPAD = new flixel_input_gamepad_FlxGamepadAnalogStick(0,1,{ up : 22, down : 23, left : 24, right : 25, threshold : 0.5, mode : flixel_input_gamepad_FlxAnalogToDigitalMode.ONLY_DIGITAL}); flixel_input_gamepad_id_MayflashWiiRemoteID.LEFT_ANALOG_STICK = new flixel_input_gamepad_FlxGamepadAnalogStick(0,1,{ up : 26, down : 27, left : 28, right : 29}); flixel_input_gamepad_id_MayflashWiiRemoteID.RIGHT_ANALOG_STICK = new flixel_input_gamepad_FlxGamepadAnalogStick(2,3,{ up : 26, down : 27, left : 28, right : 29}); flixel_input_gamepad_id_MayflashWiiRemoteID.LEFT_TRIGGER_FAKE = 4; flixel_input_gamepad_id_MayflashWiiRemoteID.RIGHT_TRIGGER_FAKE = 5; flixel_input_gamepad_id_MayflashWiiRemoteID.REMOTE_DPAD_UP = 22; flixel_input_gamepad_id_MayflashWiiRemoteID.REMOTE_DPAD_DOWN = 23; flixel_input_gamepad_id_MayflashWiiRemoteID.REMOTE_DPAD_LEFT = 24; flixel_input_gamepad_id_MayflashWiiRemoteID.REMOTE_DPAD_RIGHT = 25; flixel_input_gamepad_id_OUYAID.O = 0; flixel_input_gamepad_id_OUYAID.U = 3; flixel_input_gamepad_id_OUYAID.Y = 4; flixel_input_gamepad_id_OUYAID.A = 1; flixel_input_gamepad_id_OUYAID.LB = 6; flixel_input_gamepad_id_OUYAID.RB = 7; flixel_input_gamepad_id_OUYAID.LEFT_STICK_CLICK = 10; flixel_input_gamepad_id_OUYAID.RIGHT_STICK_CLICK = 11; flixel_input_gamepad_id_OUYAID.HOME = 2; flixel_input_gamepad_id_OUYAID.LEFT_TRIGGER = 8; flixel_input_gamepad_id_OUYAID.RIGHT_TRIGGER = 9; flixel_input_gamepad_id_OUYAID.DPAD_LEFT = 13; flixel_input_gamepad_id_OUYAID.DPAD_RIGHT = 14; flixel_input_gamepad_id_OUYAID.DPAD_DOWN = 15; flixel_input_gamepad_id_OUYAID.DPAD_UP = 16; flixel_input_gamepad_id_OUYAID.LEFT_ANALOG_STICK = new flixel_input_gamepad_FlxGamepadAnalogStick(0,1,{ up : 23, down : 24, left : 25, right : 26}); flixel_input_gamepad_id_OUYAID.RIGHT_ANALOG_STICK = new flixel_input_gamepad_FlxGamepadAnalogStick(11,14,{ up : 27, down : 28, left : 29, right : 30}); flixel_input_gamepad_id_OUYAID.LEFT_TRIGGER_ANALOG = 17; flixel_input_gamepad_id_OUYAID.RIGHT_TRIGGER_ANALOG = 18; flixel_input_gamepad_id_PS4ID.X = 6; flixel_input_gamepad_id_PS4ID.CIRCLE = 7; flixel_input_gamepad_id_PS4ID.SQUARE = 8; flixel_input_gamepad_id_PS4ID.TRIANGLE = 9; flixel_input_gamepad_id_PS4ID.PS = 11; flixel_input_gamepad_id_PS4ID.OPTIONS = 12; flixel_input_gamepad_id_PS4ID.LEFT_STICK_CLICK = 13; flixel_input_gamepad_id_PS4ID.RIGHT_STICK_CLICK = 14; flixel_input_gamepad_id_PS4ID.L1 = 15; flixel_input_gamepad_id_PS4ID.R1 = 16; flixel_input_gamepad_id_PS4ID.SHARE = 10; flixel_input_gamepad_id_PS4ID.LEFT_ANALOG_STICK = new flixel_input_gamepad_FlxGamepadAnalogStick(0,1,{ up : 22, down : 23, left : 24, right : 25}); flixel_input_gamepad_id_PS4ID.RIGHT_ANALOG_STICK = new flixel_input_gamepad_FlxGamepadAnalogStick(2,3,{ up : 26, down : 27, left : 28, right : 29}); flixel_input_gamepad_id_PS4ID.TOUCHPAD_CLICK = 30; flixel_input_gamepad_id_PS4ID.L2 = 4; flixel_input_gamepad_id_PS4ID.R2 = 5; flixel_input_gamepad_id_PS4ID.DPAD_UP = 17; flixel_input_gamepad_id_PS4ID.DPAD_DOWN = 18; flixel_input_gamepad_id_PS4ID.DPAD_LEFT = 19; flixel_input_gamepad_id_PS4ID.DPAD_RIGHT = 20; flixel_input_gamepad_id_PSVitaID.X = 6; flixel_input_gamepad_id_PSVitaID.CIRCLE = 7; flixel_input_gamepad_id_PSVitaID.SQUARE = 8; flixel_input_gamepad_id_PSVitaID.TRIANGLE = 9; flixel_input_gamepad_id_PSVitaID.SELECT = 10; flixel_input_gamepad_id_PSVitaID.START = 12; flixel_input_gamepad_id_PSVitaID.L = 15; flixel_input_gamepad_id_PSVitaID.R = 16; flixel_input_gamepad_id_PSVitaID.DPAD_UP = 17; flixel_input_gamepad_id_PSVitaID.DPAD_DOWN = 18; flixel_input_gamepad_id_PSVitaID.DPAD_LEFT = 19; flixel_input_gamepad_id_PSVitaID.DPAD_RIGHT = 20; flixel_input_gamepad_id_PSVitaID.LEFT_ANALOG_STICK = new flixel_input_gamepad_FlxGamepadAnalogStick(0,1,{ up : 21, down : 22, left : 23, right : 24}); flixel_input_gamepad_id_PSVitaID.RIGHT_ANALOG_STICK = new flixel_input_gamepad_FlxGamepadAnalogStick(2,3,{ up : 25, down : 26, left : 27, right : 28}); flixel_input_gamepad_id_WiiRemoteID.REMOTE_ONE = 9; flixel_input_gamepad_id_WiiRemoteID.REMOTE_TWO = 10; flixel_input_gamepad_id_WiiRemoteID.REMOTE_A = 11; flixel_input_gamepad_id_WiiRemoteID.REMOTE_B = 12; flixel_input_gamepad_id_WiiRemoteID.REMOTE_PLUS = 13; flixel_input_gamepad_id_WiiRemoteID.REMOTE_MINUS = 14; flixel_input_gamepad_id_WiiRemoteID.REMOTE_HOME = 15; flixel_input_gamepad_id_WiiRemoteID.NUNCHUK_A = 9; flixel_input_gamepad_id_WiiRemoteID.NUNCHUK_B = 10; flixel_input_gamepad_id_WiiRemoteID.NUNCHUK_C = 11; flixel_input_gamepad_id_WiiRemoteID.NUNCHUK_Z = 12; flixel_input_gamepad_id_WiiRemoteID.NUNCHUK_ONE = 13; flixel_input_gamepad_id_WiiRemoteID.NUNCHUK_TWO = 14; flixel_input_gamepad_id_WiiRemoteID.NUNCHUK_PLUS = 15; flixel_input_gamepad_id_WiiRemoteID.NUNCHUK_MINUS = 16; flixel_input_gamepad_id_WiiRemoteID.NUNCHUK_HOME = 17; flixel_input_gamepad_id_WiiRemoteID.NUNCHUK_DPAD_UP = 5; flixel_input_gamepad_id_WiiRemoteID.NUNCHUK_DPAD_DOWN = 6; flixel_input_gamepad_id_WiiRemoteID.NUNCHUK_DPAD_LEFT = 7; flixel_input_gamepad_id_WiiRemoteID.NUNCHUK_DPAD_RIGHT = 8; flixel_input_gamepad_id_WiiRemoteID.CLASSIC_A = 9; flixel_input_gamepad_id_WiiRemoteID.CLASSIC_B = 10; flixel_input_gamepad_id_WiiRemoteID.CLASSIC_Y = 11; flixel_input_gamepad_id_WiiRemoteID.CLASSIC_X = 12; flixel_input_gamepad_id_WiiRemoteID.CLASSIC_L = 13; flixel_input_gamepad_id_WiiRemoteID.CLASSIC_R = 14; flixel_input_gamepad_id_WiiRemoteID.CLASSIC_ZL = 15; flixel_input_gamepad_id_WiiRemoteID.CLASSIC_ZR = 16; flixel_input_gamepad_id_WiiRemoteID.CLASSIC_START = 17; flixel_input_gamepad_id_WiiRemoteID.CLASSIC_SELECT = 18; flixel_input_gamepad_id_WiiRemoteID.CLASSIC_HOME = 19; flixel_input_gamepad_id_WiiRemoteID.CLASSIC_ONE = 20; flixel_input_gamepad_id_WiiRemoteID.CLASSIC_TWO = 21; flixel_input_gamepad_id_WiiRemoteID.CLASSIC_DPAD_UP = 5; flixel_input_gamepad_id_WiiRemoteID.CLASSIC_DPAD_DOWN = 6; flixel_input_gamepad_id_WiiRemoteID.CLASSIC_DPAD_LEFT = 7; flixel_input_gamepad_id_WiiRemoteID.CLASSIC_DPAD_RIGHT = 8; flixel_input_gamepad_id_WiiRemoteID.REMOTE_TILT_PITCH = 2; flixel_input_gamepad_id_WiiRemoteID.REMOTE_TILT_ROLL = 3; flixel_input_gamepad_id_WiiRemoteID.NUNCHUK_TILT_PITCH = 3; flixel_input_gamepad_id_WiiRemoteID.NUNCHUK_TILT_ROLL = 2; flixel_input_gamepad_id_WiiRemoteID.REMOTE_NULL_AXIS = 4; flixel_input_gamepad_id_WiiRemoteID.NUNCHUK_NULL_AXIS = 4; flixel_input_gamepad_id_WiiRemoteID.REMOTE_DPAD = new flixel_input_gamepad_FlxGamepadAnalogStick(0,1,{ up : 22, down : 23, left : 24, right : 25, threshold : 0.5, mode : flixel_input_gamepad_FlxAnalogToDigitalMode.ONLY_DIGITAL}); flixel_input_gamepad_id_WiiRemoteID.LEFT_ANALOG_STICK = new flixel_input_gamepad_FlxGamepadAnalogStick(0,1,{ up : 28, down : 29, left : 30, right : 31}); flixel_input_gamepad_id_WiiRemoteID.RIGHT_ANALOG_STICK = new flixel_input_gamepad_FlxGamepadAnalogStick(2,3,{ up : 32, down : 33, left : 34, right : 35}); flixel_input_gamepad_id_WiiRemoteID.LEFT_TRIGGER_FAKE = 4; flixel_input_gamepad_id_WiiRemoteID.RIGHT_TRIGGER_FAKE = 5; flixel_input_gamepad_id_WiiRemoteID.REMOTE_DPAD_UP = 22; flixel_input_gamepad_id_WiiRemoteID.REMOTE_DPAD_DOWN = 23; flixel_input_gamepad_id_WiiRemoteID.REMOTE_DPAD_LEFT = 24; flixel_input_gamepad_id_WiiRemoteID.REMOTE_DPAD_RIGHT = 25; flixel_input_gamepad_id_WiiRemoteID.REMOTE_DPAD_X = 26; flixel_input_gamepad_id_WiiRemoteID.REMOTE_DPAD_Y = 27; flixel_input_gamepad_id_XInputID.A = 6; flixel_input_gamepad_id_XInputID.B = 7; flixel_input_gamepad_id_XInputID.X = 8; flixel_input_gamepad_id_XInputID.Y = 9; flixel_input_gamepad_id_XInputID.BACK = 10; flixel_input_gamepad_id_XInputID.GUIDE = -1; flixel_input_gamepad_id_XInputID.START = 12; flixel_input_gamepad_id_XInputID.LEFT_STICK_CLICK = 13; flixel_input_gamepad_id_XInputID.RIGHT_STICK_CLICK = 14; flixel_input_gamepad_id_XInputID.LB = 15; flixel_input_gamepad_id_XInputID.RB = 16; flixel_input_gamepad_id_XInputID.DPAD_UP = 17; flixel_input_gamepad_id_XInputID.DPAD_DOWN = 18; flixel_input_gamepad_id_XInputID.DPAD_LEFT = 19; flixel_input_gamepad_id_XInputID.DPAD_RIGHT = 20; flixel_input_gamepad_id_XInputID.LEFT_ANALOG_STICK = new flixel_input_gamepad_FlxGamepadAnalogStick(0,1,{ up : 21, down : 22, left : 23, right : 24}); flixel_input_gamepad_id_XInputID.RIGHT_ANALOG_STICK = new flixel_input_gamepad_FlxGamepadAnalogStick(2,3,{ up : 25, down : 26, left : 27, right : 28}); flixel_input_gamepad_id_XInputID.LEFT_TRIGGER = 4; flixel_input_gamepad_id_XInputID.RIGHT_TRIGGER = 5; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.fromStringMap = (function($this) { var $r; var _g = new haxe_ds_StringMap(); if(__map_reserved["ANY"] != null) { _g.setReserved("ANY",-2); } else { _g.h["ANY"] = -2; } if(__map_reserved["A"] != null) { _g.setReserved("A",65); } else { _g.h["A"] = 65; } if(__map_reserved["B"] != null) { _g.setReserved("B",66); } else { _g.h["B"] = 66; } if(__map_reserved["C"] != null) { _g.setReserved("C",67); } else { _g.h["C"] = 67; } if(__map_reserved["D"] != null) { _g.setReserved("D",68); } else { _g.h["D"] = 68; } if(__map_reserved["E"] != null) { _g.setReserved("E",69); } else { _g.h["E"] = 69; } if(__map_reserved["F"] != null) { _g.setReserved("F",70); } else { _g.h["F"] = 70; } if(__map_reserved["G"] != null) { _g.setReserved("G",71); } else { _g.h["G"] = 71; } if(__map_reserved["H"] != null) { _g.setReserved("H",72); } else { _g.h["H"] = 72; } if(__map_reserved["I"] != null) { _g.setReserved("I",73); } else { _g.h["I"] = 73; } if(__map_reserved["J"] != null) { _g.setReserved("J",74); } else { _g.h["J"] = 74; } if(__map_reserved["K"] != null) { _g.setReserved("K",75); } else { _g.h["K"] = 75; } if(__map_reserved["L"] != null) { _g.setReserved("L",76); } else { _g.h["L"] = 76; } if(__map_reserved["M"] != null) { _g.setReserved("M",77); } else { _g.h["M"] = 77; } if(__map_reserved["N"] != null) { _g.setReserved("N",78); } else { _g.h["N"] = 78; } if(__map_reserved["O"] != null) { _g.setReserved("O",79); } else { _g.h["O"] = 79; } if(__map_reserved["P"] != null) { _g.setReserved("P",80); } else { _g.h["P"] = 80; } if(__map_reserved["Q"] != null) { _g.setReserved("Q",81); } else { _g.h["Q"] = 81; } if(__map_reserved["R"] != null) { _g.setReserved("R",82); } else { _g.h["R"] = 82; } if(__map_reserved["S"] != null) { _g.setReserved("S",83); } else { _g.h["S"] = 83; } if(__map_reserved["T"] != null) { _g.setReserved("T",84); } else { _g.h["T"] = 84; } if(__map_reserved["U"] != null) { _g.setReserved("U",85); } else { _g.h["U"] = 85; } if(__map_reserved["V"] != null) { _g.setReserved("V",86); } else { _g.h["V"] = 86; } if(__map_reserved["W"] != null) { _g.setReserved("W",87); } else { _g.h["W"] = 87; } if(__map_reserved["X"] != null) { _g.setReserved("X",88); } else { _g.h["X"] = 88; } if(__map_reserved["Y"] != null) { _g.setReserved("Y",89); } else { _g.h["Y"] = 89; } if(__map_reserved["Z"] != null) { _g.setReserved("Z",90); } else { _g.h["Z"] = 90; } if(__map_reserved["ZERO"] != null) { _g.setReserved("ZERO",48); } else { _g.h["ZERO"] = 48; } if(__map_reserved["ONE"] != null) { _g.setReserved("ONE",49); } else { _g.h["ONE"] = 49; } if(__map_reserved["TWO"] != null) { _g.setReserved("TWO",50); } else { _g.h["TWO"] = 50; } if(__map_reserved["THREE"] != null) { _g.setReserved("THREE",51); } else { _g.h["THREE"] = 51; } if(__map_reserved["FOUR"] != null) { _g.setReserved("FOUR",52); } else { _g.h["FOUR"] = 52; } if(__map_reserved["FIVE"] != null) { _g.setReserved("FIVE",53); } else { _g.h["FIVE"] = 53; } if(__map_reserved["SIX"] != null) { _g.setReserved("SIX",54); } else { _g.h["SIX"] = 54; } if(__map_reserved["SEVEN"] != null) { _g.setReserved("SEVEN",55); } else { _g.h["SEVEN"] = 55; } if(__map_reserved["EIGHT"] != null) { _g.setReserved("EIGHT",56); } else { _g.h["EIGHT"] = 56; } if(__map_reserved["NINE"] != null) { _g.setReserved("NINE",57); } else { _g.h["NINE"] = 57; } if(__map_reserved["PAGEUP"] != null) { _g.setReserved("PAGEUP",33); } else { _g.h["PAGEUP"] = 33; } if(__map_reserved["PAGEDOWN"] != null) { _g.setReserved("PAGEDOWN",34); } else { _g.h["PAGEDOWN"] = 34; } if(__map_reserved["HOME"] != null) { _g.setReserved("HOME",36); } else { _g.h["HOME"] = 36; } if(__map_reserved["END"] != null) { _g.setReserved("END",35); } else { _g.h["END"] = 35; } if(__map_reserved["INSERT"] != null) { _g.setReserved("INSERT",45); } else { _g.h["INSERT"] = 45; } if(__map_reserved["ESCAPE"] != null) { _g.setReserved("ESCAPE",27); } else { _g.h["ESCAPE"] = 27; } if(__map_reserved["MINUS"] != null) { _g.setReserved("MINUS",189); } else { _g.h["MINUS"] = 189; } if(__map_reserved["PLUS"] != null) { _g.setReserved("PLUS",187); } else { _g.h["PLUS"] = 187; } if(__map_reserved["DELETE"] != null) { _g.setReserved("DELETE",46); } else { _g.h["DELETE"] = 46; } if(__map_reserved["BACKSPACE"] != null) { _g.setReserved("BACKSPACE",8); } else { _g.h["BACKSPACE"] = 8; } if(__map_reserved["LBRACKET"] != null) { _g.setReserved("LBRACKET",219); } else { _g.h["LBRACKET"] = 219; } if(__map_reserved["RBRACKET"] != null) { _g.setReserved("RBRACKET",221); } else { _g.h["RBRACKET"] = 221; } if(__map_reserved["BACKSLASH"] != null) { _g.setReserved("BACKSLASH",220); } else { _g.h["BACKSLASH"] = 220; } if(__map_reserved["CAPSLOCK"] != null) { _g.setReserved("CAPSLOCK",20); } else { _g.h["CAPSLOCK"] = 20; } if(__map_reserved["SEMICOLON"] != null) { _g.setReserved("SEMICOLON",186); } else { _g.h["SEMICOLON"] = 186; } if(__map_reserved["QUOTE"] != null) { _g.setReserved("QUOTE",222); } else { _g.h["QUOTE"] = 222; } if(__map_reserved["ENTER"] != null) { _g.setReserved("ENTER",13); } else { _g.h["ENTER"] = 13; } if(__map_reserved["SHIFT"] != null) { _g.setReserved("SHIFT",16); } else { _g.h["SHIFT"] = 16; } if(__map_reserved["COMMA"] != null) { _g.setReserved("COMMA",188); } else { _g.h["COMMA"] = 188; } if(__map_reserved["PERIOD"] != null) { _g.setReserved("PERIOD",190); } else { _g.h["PERIOD"] = 190; } if(__map_reserved["SLASH"] != null) { _g.setReserved("SLASH",191); } else { _g.h["SLASH"] = 191; } if(__map_reserved["GRAVEACCENT"] != null) { _g.setReserved("GRAVEACCENT",192); } else { _g.h["GRAVEACCENT"] = 192; } if(__map_reserved["CONTROL"] != null) { _g.setReserved("CONTROL",17); } else { _g.h["CONTROL"] = 17; } if(__map_reserved["ALT"] != null) { _g.setReserved("ALT",18); } else { _g.h["ALT"] = 18; } if(__map_reserved["SPACE"] != null) { _g.setReserved("SPACE",32); } else { _g.h["SPACE"] = 32; } if(__map_reserved["UP"] != null) { _g.setReserved("UP",38); } else { _g.h["UP"] = 38; } if(__map_reserved["DOWN"] != null) { _g.setReserved("DOWN",40); } else { _g.h["DOWN"] = 40; } if(__map_reserved["LEFT"] != null) { _g.setReserved("LEFT",37); } else { _g.h["LEFT"] = 37; } if(__map_reserved["RIGHT"] != null) { _g.setReserved("RIGHT",39); } else { _g.h["RIGHT"] = 39; } if(__map_reserved["TAB"] != null) { _g.setReserved("TAB",9); } else { _g.h["TAB"] = 9; } if(__map_reserved["PRINTSCREEN"] != null) { _g.setReserved("PRINTSCREEN",301); } else { _g.h["PRINTSCREEN"] = 301; } if(__map_reserved["F1"] != null) { _g.setReserved("F1",112); } else { _g.h["F1"] = 112; } if(__map_reserved["F2"] != null) { _g.setReserved("F2",113); } else { _g.h["F2"] = 113; } if(__map_reserved["F3"] != null) { _g.setReserved("F3",114); } else { _g.h["F3"] = 114; } if(__map_reserved["F4"] != null) { _g.setReserved("F4",115); } else { _g.h["F4"] = 115; } if(__map_reserved["F5"] != null) { _g.setReserved("F5",116); } else { _g.h["F5"] = 116; } if(__map_reserved["F6"] != null) { _g.setReserved("F6",117); } else { _g.h["F6"] = 117; } if(__map_reserved["F7"] != null) { _g.setReserved("F7",118); } else { _g.h["F7"] = 118; } if(__map_reserved["F8"] != null) { _g.setReserved("F8",119); } else { _g.h["F8"] = 119; } if(__map_reserved["F9"] != null) { _g.setReserved("F9",120); } else { _g.h["F9"] = 120; } if(__map_reserved["F10"] != null) { _g.setReserved("F10",121); } else { _g.h["F10"] = 121; } if(__map_reserved["F11"] != null) { _g.setReserved("F11",122); } else { _g.h["F11"] = 122; } if(__map_reserved["F12"] != null) { _g.setReserved("F12",123); } else { _g.h["F12"] = 123; } if(__map_reserved["NUMPADZERO"] != null) { _g.setReserved("NUMPADZERO",96); } else { _g.h["NUMPADZERO"] = 96; } if(__map_reserved["NUMPADONE"] != null) { _g.setReserved("NUMPADONE",97); } else { _g.h["NUMPADONE"] = 97; } if(__map_reserved["NUMPADTWO"] != null) { _g.setReserved("NUMPADTWO",98); } else { _g.h["NUMPADTWO"] = 98; } if(__map_reserved["NUMPADTHREE"] != null) { _g.setReserved("NUMPADTHREE",99); } else { _g.h["NUMPADTHREE"] = 99; } if(__map_reserved["NUMPADFOUR"] != null) { _g.setReserved("NUMPADFOUR",100); } else { _g.h["NUMPADFOUR"] = 100; } if(__map_reserved["NUMPADFIVE"] != null) { _g.setReserved("NUMPADFIVE",101); } else { _g.h["NUMPADFIVE"] = 101; } if(__map_reserved["NUMPADSIX"] != null) { _g.setReserved("NUMPADSIX",102); } else { _g.h["NUMPADSIX"] = 102; } if(__map_reserved["NUMPADSEVEN"] != null) { _g.setReserved("NUMPADSEVEN",103); } else { _g.h["NUMPADSEVEN"] = 103; } if(__map_reserved["NUMPADEIGHT"] != null) { _g.setReserved("NUMPADEIGHT",104); } else { _g.h["NUMPADEIGHT"] = 104; } if(__map_reserved["NUMPADNINE"] != null) { _g.setReserved("NUMPADNINE",105); } else { _g.h["NUMPADNINE"] = 105; } if(__map_reserved["NUMPADMINUS"] != null) { _g.setReserved("NUMPADMINUS",109); } else { _g.h["NUMPADMINUS"] = 109; } if(__map_reserved["NUMPADPLUS"] != null) { _g.setReserved("NUMPADPLUS",107); } else { _g.h["NUMPADPLUS"] = 107; } if(__map_reserved["NUMPADPERIOD"] != null) { _g.setReserved("NUMPADPERIOD",110); } else { _g.h["NUMPADPERIOD"] = 110; } if(__map_reserved["NUMPADMULTIPLY"] != null) { _g.setReserved("NUMPADMULTIPLY",106); } else { _g.h["NUMPADMULTIPLY"] = 106; } $r = _g; return $r; }(this)); flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.toStringMap = (function($this) { var $r; var _g = new haxe_ds_IntMap(); _g.h[-2] = "ANY"; _g.h[65] = "A"; _g.h[66] = "B"; _g.h[67] = "C"; _g.h[68] = "D"; _g.h[69] = "E"; _g.h[70] = "F"; _g.h[71] = "G"; _g.h[72] = "H"; _g.h[73] = "I"; _g.h[74] = "J"; _g.h[75] = "K"; _g.h[76] = "L"; _g.h[77] = "M"; _g.h[78] = "N"; _g.h[79] = "O"; _g.h[80] = "P"; _g.h[81] = "Q"; _g.h[82] = "R"; _g.h[83] = "S"; _g.h[84] = "T"; _g.h[85] = "U"; _g.h[86] = "V"; _g.h[87] = "W"; _g.h[88] = "X"; _g.h[89] = "Y"; _g.h[90] = "Z"; _g.h[48] = "ZERO"; _g.h[49] = "ONE"; _g.h[50] = "TWO"; _g.h[51] = "THREE"; _g.h[52] = "FOUR"; _g.h[53] = "FIVE"; _g.h[54] = "SIX"; _g.h[55] = "SEVEN"; _g.h[56] = "EIGHT"; _g.h[57] = "NINE"; _g.h[33] = "PAGEUP"; _g.h[34] = "PAGEDOWN"; _g.h[36] = "HOME"; _g.h[35] = "END"; _g.h[45] = "INSERT"; _g.h[27] = "ESCAPE"; _g.h[189] = "MINUS"; _g.h[187] = "PLUS"; _g.h[46] = "DELETE"; _g.h[8] = "BACKSPACE"; _g.h[219] = "LBRACKET"; _g.h[221] = "RBRACKET"; _g.h[220] = "BACKSLASH"; _g.h[20] = "CAPSLOCK"; _g.h[186] = "SEMICOLON"; _g.h[222] = "QUOTE"; _g.h[13] = "ENTER"; _g.h[16] = "SHIFT"; _g.h[188] = "COMMA"; _g.h[190] = "PERIOD"; _g.h[191] = "SLASH"; _g.h[192] = "GRAVEACCENT"; _g.h[17] = "CONTROL"; _g.h[18] = "ALT"; _g.h[32] = "SPACE"; _g.h[38] = "UP"; _g.h[40] = "DOWN"; _g.h[37] = "LEFT"; _g.h[39] = "RIGHT"; _g.h[9] = "TAB"; _g.h[301] = "PRINTSCREEN"; _g.h[112] = "F1"; _g.h[113] = "F2"; _g.h[114] = "F3"; _g.h[115] = "F4"; _g.h[116] = "F5"; _g.h[117] = "F6"; _g.h[118] = "F7"; _g.h[119] = "F8"; _g.h[120] = "F9"; _g.h[121] = "F10"; _g.h[122] = "F11"; _g.h[123] = "F12"; _g.h[96] = "NUMPADZERO"; _g.h[97] = "NUMPADONE"; _g.h[98] = "NUMPADTWO"; _g.h[99] = "NUMPADTHREE"; _g.h[100] = "NUMPADFOUR"; _g.h[101] = "NUMPADFIVE"; _g.h[102] = "NUMPADSIX"; _g.h[103] = "NUMPADSEVEN"; _g.h[104] = "NUMPADEIGHT"; _g.h[105] = "NUMPADNINE"; _g.h[109] = "NUMPADMINUS"; _g.h[107] = "NUMPADPLUS"; _g.h[110] = "NUMPADPERIOD"; _g.h[106] = "NUMPADMULTIPLY"; $r = _g; return $r; }(this)); flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.ANY = -2; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.NONE = -1; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.A = 65; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.B = 66; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.C = 67; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.D = 68; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.E = 69; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.F = 70; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.G = 71; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.H = 72; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.I = 73; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.J = 74; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.K = 75; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.L = 76; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.M = 77; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.N = 78; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.O = 79; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.P = 80; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.Q = 81; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.R = 82; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.S = 83; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.T = 84; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.U = 85; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.V = 86; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.W = 87; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.X = 88; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.Y = 89; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.Z = 90; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.ZERO = 48; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.ONE = 49; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.TWO = 50; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.THREE = 51; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.FOUR = 52; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.FIVE = 53; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.SIX = 54; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.SEVEN = 55; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.EIGHT = 56; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.NINE = 57; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.PAGEUP = 33; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.PAGEDOWN = 34; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.HOME = 36; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.END = 35; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.INSERT = 45; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.ESCAPE = 27; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.MINUS = 189; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.PLUS = 187; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.DELETE = 46; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.BACKSPACE = 8; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.LBRACKET = 219; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.RBRACKET = 221; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.BACKSLASH = 220; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.CAPSLOCK = 20; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.SEMICOLON = 186; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.QUOTE = 222; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.ENTER = 13; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.SHIFT = 16; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.COMMA = 188; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.PERIOD = 190; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.SLASH = 191; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.GRAVEACCENT = 192; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.CONTROL = 17; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.ALT = 18; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.SPACE = 32; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.UP = 38; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.DOWN = 40; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.LEFT = 37; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.RIGHT = 39; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.TAB = 9; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.PRINTSCREEN = 301; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.F1 = 112; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.F2 = 113; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.F3 = 114; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.F4 = 115; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.F5 = 116; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.F6 = 117; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.F7 = 118; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.F8 = 119; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.F9 = 120; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.F10 = 121; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.F11 = 122; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.F12 = 123; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.NUMPADZERO = 96; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.NUMPADONE = 97; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.NUMPADTWO = 98; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.NUMPADTHREE = 99; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.NUMPADFOUR = 100; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.NUMPADFIVE = 101; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.NUMPADSIX = 102; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.NUMPADSEVEN = 103; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.NUMPADEIGHT = 104; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.NUMPADNINE = 105; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.NUMPADMINUS = 109; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.NUMPADPLUS = 107; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.NUMPADPERIOD = 110; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.NUMPADMULTIPLY = 106; flixel_input_mouse__$FlxMouse_GraphicCursor.resourceType = "image/png"; flixel_input_mouse__$FlxMouse_GraphicCursor.resourceName = "__ASSET__:bitmap_flixel_input_mouse__FlxMouse_GraphicCursor"; flixel_input_touch_FlxTouchManager.maxTouchPoints = 0; flixel_math_FlxMath.MIN_VALUE_FLOAT = 0.0000000000000001; flixel_math_FlxMath.MAX_VALUE_FLOAT = 1.79e+308; flixel_math_FlxMath.MIN_VALUE_INT = -2147483647; flixel_math_FlxMath.MAX_VALUE_INT = 2147483647; flixel_math_FlxMath.SQUARE_ROOT_OF_TWO = 1.41421356237; flixel_math_FlxMath.EPSILON = 0.0000001; flixel_math__$FlxVector_FlxVector_$Impl_$.EPSILON = 0.0000001; flixel_math__$FlxVector_FlxVector_$Impl_$.EPSILON_SQUARED = 9.9999999999999984e-015; flixel_math__$FlxVector_FlxVector_$Impl_$._vector1 = (function($this) { var $r; var this1 = new flixel_math_FlxPoint(0,0); $r = this1; return $r; }(this)); flixel_math__$FlxVector_FlxVector_$Impl_$._vector2 = (function($this) { var $r; var this1 = new flixel_math_FlxPoint(0,0); $r = this1; return $r; }(this)); flixel_math__$FlxVector_FlxVector_$Impl_$._vector3 = (function($this) { var $r; var this1 = new flixel_math_FlxPoint(0,0); $r = this1; return $r; }(this)); flixel_system_GraphicLogo.resourceType = "image/png"; flixel_system_GraphicLogo.resourceName = "__ASSET__:bitmap_flixel_system_GraphicLogo"; flixel_system_GraphicVirtualInput.resourceType = "image/png"; flixel_system_GraphicVirtualInput.resourceName = "__ASSET__:bitmap_flixel_system_GraphicVirtualInput"; openfl_utils_ByteArrayData.defaultObjectEncoding = 10; openfl_utils_ByteArrayData.__defaultEndian = null; flixel_system_VirtualInputData.resourceName = "__ASSET__:file_flixel_system_VirtualInputData"; flixel_system_FlxAssets.FONT_DEFAULT = "Nokia Cellphone FC Small"; flixel_system_FlxAssets.FONT_DEBUGGER = "Monsterrat"; flixel_system_FlxBasePreloader.LOCAL = "localhost"; flixel_system_FlxLinkedList._NUM_CACHED_FLX_LIST = 0; flixel_system__$FlxPreloader_GraphicLogoLight.resourceType = "image/png"; flixel_system__$FlxPreloader_GraphicLogoLight.resourceName = "__ASSET__:bitmap_flixel_system__FlxPreloader_GraphicLogoLight"; flixel_system__$FlxPreloader_GraphicLogoCorners.resourceType = "image/png"; flixel_system__$FlxPreloader_GraphicLogoCorners.resourceName = "__ASSET__:bitmap_flixel_system__FlxPreloader_GraphicLogoCorners"; flixel_system_FlxQuadTree.A_LIST = 0; flixel_system_FlxQuadTree.B_LIST = 1; flixel_system_FlxQuadTree._NUM_CACHED_QUAD_TREES = 0; flixel_system_debug__$FlxDebugger_GraphicFlixel.resourceType = "image/png"; flixel_system_debug__$FlxDebugger_GraphicFlixel.resourceName = "__ASSET__:bitmap_flixel_system_debug__FlxDebugger_GraphicFlixel"; flixel_system_debug__$FlxDebugger_GraphicDrawDebug.resourceType = "image/png"; flixel_system_debug__$FlxDebugger_GraphicDrawDebug.resourceName = "__ASSET__:bitmap_flixel_system_debug__FlxDebugger_GraphicDrawDebug"; flixel_system_debug_GraphicLog.resourceType = "image/png"; flixel_system_debug_GraphicLog.resourceName = "__ASSET__:bitmap_flixel_system_debug_GraphicLog"; flixel_system_debug_GraphicStats.resourceType = "image/png"; flixel_system_debug_GraphicStats.resourceName = "__ASSET__:bitmap_flixel_system_debug_GraphicStats"; flixel_system_debug_GraphicWatch.resourceType = "image/png"; flixel_system_debug_GraphicWatch.resourceName = "__ASSET__:bitmap_flixel_system_debug_GraphicWatch"; flixel_system_debug_GraphicBitmapLog.resourceType = "image/png"; flixel_system_debug_GraphicBitmapLog.resourceName = "__ASSET__:bitmap_flixel_system_debug_GraphicBitmapLog"; flixel_system_debug_GraphicConsole.resourceType = "image/png"; flixel_system_debug_GraphicConsole.resourceName = "__ASSET__:bitmap_flixel_system_debug_GraphicConsole"; flixel_system_debug_GraphicArrowLeft.resourceType = "image/png"; flixel_system_debug_GraphicArrowLeft.resourceName = "__ASSET__:bitmap_flixel_system_debug_GraphicArrowLeft"; flixel_system_debug_GraphicArrowRight.resourceType = "image/png"; flixel_system_debug_GraphicArrowRight.resourceName = "__ASSET__:bitmap_flixel_system_debug_GraphicArrowRight"; flixel_system_debug_GraphicCloseButton.resourceType = "image/png"; flixel_system_debug_GraphicCloseButton.resourceName = "__ASSET__:bitmap_flixel_system_debug_GraphicCloseButton"; flixel_system_debug_GraphicInteractive.resourceType = "image/png"; flixel_system_debug_GraphicInteractive.resourceName = "__ASSET__:bitmap_flixel_system_debug_GraphicInteractive"; flixel_system_debug_Tooltip._tooltips = []; flixel_system_debug_TooltipOverlay.BG_COLOR = -12961222; flixel_system_debug_TooltipOverlay.TEXT_ALPHA = 0.8; flixel_system_debug_TooltipOverlay.MARGIN_X = 10; flixel_system_debug_TooltipOverlay.MARGIN_Y = 10; flixel_system_debug__$Window_GraphicWindowHandle.resourceType = "image/png"; flixel_system_debug__$Window_GraphicWindowHandle.resourceName = "__ASSET__:bitmap_flixel_system_debug__Window_GraphicWindowHandle"; flixel_system_debug_Window.BG_COLOR = -580952225; flixel_system_debug_Window.HEADER_COLOR = -1157627904; flixel_system_debug_Window.HEADER_ALPHA = 0.8; flixel_system_debug_Window.HEADER_HEIGHT = 15; flixel_system_debug_Window.WINDOW_AMOUNT = 0; flixel_system_debug_completion_CompletionListEntry.WIDTH = 150; flixel_system_debug_completion_CompletionListEntry.HEIGHT = 20; flixel_system_debug_completion_CompletionListEntry.COLOR_NORMAL = -10526881; flixel_system_debug_completion_CompletionListEntry.COLOR_HIGHLIGHT = -9605779; flixel_system_debug_completion_CompletionListEntry.GUTTER = 4; flixel_system_debug_completion_CompletionListScrollBar.BG_COLOR = -12303292; flixel_system_debug_completion_CompletionListScrollBar.HANDLE_COLOR = -14540254; flixel_system_debug_interaction_tools_GraphicEraserTool.resourceType = "image/png"; flixel_system_debug_interaction_tools_GraphicEraserTool.resourceName = "__ASSET__:bitmap_flixel_system_debug_interaction_tools_GraphicEraserTool"; flixel_system_debug_interaction_tools_GraphicMoverTool.resourceType = "image/png"; flixel_system_debug_interaction_tools_GraphicMoverTool.resourceName = "__ASSET__:bitmap_flixel_system_debug_interaction_tools_GraphicMoverTool"; flixel_system_debug_interaction_tools_GraphicCursorCross.resourceType = "image/png"; flixel_system_debug_interaction_tools_GraphicCursorCross.resourceName = "__ASSET__:bitmap_flixel_system_debug_interaction_tools_GraphicCursorCross"; flixel_system_debug_interaction_tools_GraphicTransformTool.resourceType = "image/png"; flixel_system_debug_interaction_tools_GraphicTransformTool.resourceName = "__ASSET__:bitmap_flixel_system_debug_interaction_tools_GraphicTransformTool"; flixel_system_debug_interaction_tools_GraphicTransformCursorDefault.resourceType = "image/png"; flixel_system_debug_interaction_tools_GraphicTransformCursorDefault.resourceName = "__ASSET__:bitmap_flixel_system_debug_interaction_tools_GraphicTransformCursorDefault"; flixel_system_debug_interaction_tools_GraphicTransformCursorScaleY.resourceType = "image/png"; flixel_system_debug_interaction_tools_GraphicTransformCursorScaleY.resourceName = "__ASSET__:bitmap_flixel_system_debug_interaction_tools_GraphicTransformCursorScaleY"; flixel_system_debug_interaction_tools_GraphicTransformCursorScaleX.resourceType = "image/png"; flixel_system_debug_interaction_tools_GraphicTransformCursorScaleX.resourceName = "__ASSET__:bitmap_flixel_system_debug_interaction_tools_GraphicTransformCursorScaleX"; flixel_system_debug_interaction_tools_GraphicTransformCursorScaleXY.resourceType = "image/png"; flixel_system_debug_interaction_tools_GraphicTransformCursorScaleXY.resourceName = "__ASSET__:bitmap_flixel_system_debug_interaction_tools_GraphicTransformCursorScaleXY"; flixel_system_debug_interaction_tools_GraphicTransformCursorRotate.resourceType = "image/png"; flixel_system_debug_interaction_tools_GraphicTransformCursorRotate.resourceName = "__ASSET__:bitmap_flixel_system_debug_interaction_tools_GraphicTransformCursorRotate"; flixel_system_debug_interaction_tools_Transform.OUTLINE_PADDING = 5.0; flixel_system_debug_interaction_tools_Transform.MARKER_SIZE = 3.0; flixel_system_debug_interaction_tools_Transform.MARKER_INTERACTION_DISTANCE = 5.0; flixel_system_debug_interaction_tools_Transform.RESIZE_STEP = 10.0; flixel_system_debug_interaction_tools_Transform.CURSOR_ROTATE = "transformRotate"; flixel_system_debug_interaction_tools_Transform.CURSOR_SCALE_X = "transformScaleX"; flixel_system_debug_interaction_tools_Transform.CURSOR_SCALE_Y = "transformScaleY"; flixel_system_debug_interaction_tools_Transform.CURSOR_SCALE_XY = "transformScaleXY"; flixel_system_debug_interaction_tools_Transform.MARKER_ROTATE = 0; flixel_system_debug_interaction_tools_Transform.MARKER_SCALE_X = 1; flixel_system_debug_interaction_tools_Transform.MARKER_SCALE_XY = 2; flixel_system_debug_interaction_tools_Transform.MARKER_SCALE_Y = 3; flixel_system_debug_log_LogStyle.NORMAL = new flixel_system_debug_log_LogStyle(); flixel_system_debug_log_LogStyle.WARNING = new flixel_system_debug_log_LogStyle("[WARNING] ","D9F85C",12,false,false,false,"flixel/sounds/beep",true); flixel_system_debug_log_LogStyle.ERROR = new flixel_system_debug_log_LogStyle("[ERROR] ","FF8888",12,false,false,false,"flixel/sounds/beep",true); flixel_system_debug_log_LogStyle.NOTICE = new flixel_system_debug_log_LogStyle("[NOTICE] ","5CF878",12,false); flixel_system_debug_log_LogStyle.CONSOLE = new flixel_system_debug_log_LogStyle("> ","5A96FA",12,false); flixel_system_debug_stats__$Stats_GraphicMinimizeButton.resourceType = "image/png"; flixel_system_debug_stats__$Stats_GraphicMinimizeButton.resourceName = "__ASSET__:bitmap_flixel_system_debug_stats__Stats_GraphicMinimizeButton"; flixel_system_debug_stats__$Stats_GraphicMaximizeButton.resourceType = "image/png"; flixel_system_debug_stats__$Stats_GraphicMaximizeButton.resourceName = "__ASSET__:bitmap_flixel_system_debug_stats__Stats_GraphicMaximizeButton"; flixel_text_FlxText.VERTICAL_GUTTER = 4; flixel_text__$FlxText_FlxTextAlign_$Impl_$.LEFT = "left"; flixel_text__$FlxText_FlxTextAlign_$Impl_$.CENTER = "center"; flixel_text__$FlxText_FlxTextAlign_$Impl_$.RIGHT = "right"; flixel_text__$FlxText_FlxTextAlign_$Impl_$.JUSTIFY = "justify"; flixel_tile_FlxBaseTilemap.offsetAutoTile = [0,0,0,0,2,2,0,3,0,0,0,0,0,0,0,0,11,11,0,0,13,13,0,14,0,0,0,0,18,18,0,19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,51,51,0,0,53,53,0,54,0,0,0,0,0,0,0,0,62,62,0,0,64,64,0,65,0,0,0,0,69,69,0,70,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,86,86,0,0,88,88,0,89,0,0,0,0,93,93,0,94,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,159,0,0,0,162,0,163,0,0,0,0,0,0,0,0,0,172,0,0,0,175,0,176,0,0,0,0,0,181,0,182,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,199,0,0,0,202,0,203,0,0,0,0,0,208,0,209]; flixel_tweens_FlxEase.PI2 = Math.PI / 2; flixel_tweens_FlxEase.EL = 2 * Math.PI / .45; flixel_tweens_FlxEase.B1 = 0.36363636363636365; flixel_tweens_FlxEase.B2 = 0.72727272727272729; flixel_tweens_FlxEase.B3 = 0.54545454545454541; flixel_tweens_FlxEase.B4 = 0.90909090909090906; flixel_tweens_FlxEase.B5 = 0.81818181818181823; flixel_tweens_FlxEase.B6 = 0.95454545454545459; flixel_tweens_FlxEase.ELASTIC_AMPLITUDE = 1; flixel_tweens_FlxEase.ELASTIC_PERIOD = 0.4; flixel_tweens_FlxTween.PERSIST = 1; flixel_tweens_FlxTween.LOOPING = 2; flixel_tweens_FlxTween.PINGPONG = 4; flixel_tweens_FlxTween.ONESHOT = 8; flixel_tweens_FlxTween.BACKWARD = 16; flixel_util_FlxBitmapDataPool.maxLength = 8; flixel_util_FlxBitmapDataPool.$length = 0; flixel_util_FlxBitmapDataPool._head = null; flixel_util_FlxBitmapDataPool._tail = null; flixel_util_FlxBitmapDataPool._rect = new openfl_geom_Rectangle(); flixel_util_FlxBitmapDataUtil.matrix = new flixel_math_FlxMatrix(); flixel_util_FlxCollision.pointA = (function($this) { var $r; var this1 = new flixel_math_FlxPoint(0,0); $r = this1; return $r; }(this)); flixel_util_FlxCollision.pointB = (function($this) { var $r; var this1 = new flixel_math_FlxPoint(0,0); $r = this1; return $r; }(this)); flixel_util_FlxCollision.centerA = (function($this) { var $r; var this1 = new flixel_math_FlxPoint(0,0); $r = this1; return $r; }(this)); flixel_util_FlxCollision.centerB = (function($this) { var $r; var this1 = new flixel_math_FlxPoint(0,0); $r = this1; return $r; }(this)); flixel_util_FlxCollision.matrixA = new flixel_math_FlxMatrix(); flixel_util_FlxCollision.matrixB = new flixel_math_FlxMatrix(); flixel_util_FlxCollision.testMatrix = new flixel_math_FlxMatrix(); flixel_util_FlxCollision.boundsA = new flixel_math_FlxRect(); flixel_util_FlxCollision.boundsB = new flixel_math_FlxRect(); flixel_util_FlxCollision.intersect = new flixel_math_FlxRect(); flixel_util_FlxCollision.flashRect = new openfl_geom_Rectangle(); flixel_util__$FlxColor_FlxColor_$Impl_$.TRANSPARENT = 0; flixel_util__$FlxColor_FlxColor_$Impl_$.WHITE = -1; flixel_util__$FlxColor_FlxColor_$Impl_$.GRAY = -8355712; flixel_util__$FlxColor_FlxColor_$Impl_$.BLACK = -16777216; flixel_util__$FlxColor_FlxColor_$Impl_$.GREEN = -16744448; flixel_util__$FlxColor_FlxColor_$Impl_$.LIME = -16711936; flixel_util__$FlxColor_FlxColor_$Impl_$.YELLOW = -256; flixel_util__$FlxColor_FlxColor_$Impl_$.ORANGE = -23296; flixel_util__$FlxColor_FlxColor_$Impl_$.RED = -65536; flixel_util__$FlxColor_FlxColor_$Impl_$.PURPLE = -8388480; flixel_util__$FlxColor_FlxColor_$Impl_$.BLUE = -16776961; flixel_util__$FlxColor_FlxColor_$Impl_$.BROWN = -7650029; flixel_util__$FlxColor_FlxColor_$Impl_$.PINK = -16181; flixel_util__$FlxColor_FlxColor_$Impl_$.MAGENTA = -65281; flixel_util__$FlxColor_FlxColor_$Impl_$.CYAN = -16711681; flixel_util__$FlxColor_FlxColor_$Impl_$.colorLookup = (function($this) { var $r; var _g = new haxe_ds_StringMap(); if(__map_reserved["TRANSPARENT"] != null) { _g.setReserved("TRANSPARENT",0); } else { _g.h["TRANSPARENT"] = 0; } if(__map_reserved["WHITE"] != null) { _g.setReserved("WHITE",-1); } else { _g.h["WHITE"] = -1; } if(__map_reserved["GRAY"] != null) { _g.setReserved("GRAY",-8355712); } else { _g.h["GRAY"] = -8355712; } if(__map_reserved["BLACK"] != null) { _g.setReserved("BLACK",-16777216); } else { _g.h["BLACK"] = -16777216; } if(__map_reserved["GREEN"] != null) { _g.setReserved("GREEN",-16744448); } else { _g.h["GREEN"] = -16744448; } if(__map_reserved["LIME"] != null) { _g.setReserved("LIME",-16711936); } else { _g.h["LIME"] = -16711936; } if(__map_reserved["YELLOW"] != null) { _g.setReserved("YELLOW",-256); } else { _g.h["YELLOW"] = -256; } if(__map_reserved["ORANGE"] != null) { _g.setReserved("ORANGE",-23296); } else { _g.h["ORANGE"] = -23296; } if(__map_reserved["RED"] != null) { _g.setReserved("RED",-65536); } else { _g.h["RED"] = -65536; } if(__map_reserved["PURPLE"] != null) { _g.setReserved("PURPLE",-8388480); } else { _g.h["PURPLE"] = -8388480; } if(__map_reserved["BLUE"] != null) { _g.setReserved("BLUE",-16776961); } else { _g.h["BLUE"] = -16776961; } if(__map_reserved["BROWN"] != null) { _g.setReserved("BROWN",-7650029); } else { _g.h["BROWN"] = -7650029; } if(__map_reserved["PINK"] != null) { _g.setReserved("PINK",-16181); } else { _g.h["PINK"] = -16181; } if(__map_reserved["MAGENTA"] != null) { _g.setReserved("MAGENTA",-65281); } else { _g.h["MAGENTA"] = -65281; } if(__map_reserved["CYAN"] != null) { _g.setReserved("CYAN",-16711681); } else { _g.h["CYAN"] = -16711681; } $r = _g; return $r; }(this)); flixel_util__$FlxColor_FlxColor_$Impl_$.COLOR_REGEX = new EReg("^(0x|#)(([A-F0-9]{2}){3,4})$","i"); flixel_util_FlxPath.FORWARD = 0; flixel_util_FlxPath.BACKWARD = 1; flixel_util_FlxPath.LOOP_FORWARD = 16; flixel_util_FlxPath.LOOP_BACKWARD = 256; flixel_util_FlxPath.YOYO = 4096; flixel_util_FlxPath.HORIZONTAL_ONLY = 65536; flixel_util_FlxPath.VERTICAL_ONLY = 1048576; flixel_util_FlxPath._point = (function($this) { var $r; var point = flixel_math_FlxPoint._pool.get().set(0,0); point._inPool = false; $r = point; return $r; }(this)); flixel_util_FlxSort.ASCENDING = -1; flixel_util_FlxSort.DESCENDING = 1; flixel_util_FlxSpriteUtil.flashGfxSprite = new openfl_display_Sprite(); flixel_util_FlxSpriteUtil.flashGfx = flixel_util_FlxSpriteUtil.flashGfxSprite.get_graphics(); flixel_util_LabelValuePair._pool = new flixel_util_FlxPool_$flixel_$util_$LabelValuePair(flixel_util_LabelValuePair); format_amf3_Amf3Array.__meta__ = { fields : { extra : { optional : null}}}; haxe_Serializer.USE_CACHE = false; haxe_Serializer.USE_ENUM_INDEX = false; haxe_Serializer.BASE64 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789%:"; haxe_Serializer.BASE64_CODES = null; haxe_Unserializer.DEFAULT_RESOLVER = new haxe__$Unserializer_DefaultResolver(); haxe_Unserializer.BASE64 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789%:"; haxe_Unserializer.CODES = null; haxe_crypto_Base64.CHARS = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; haxe_crypto_Base64.BYTES = haxe_io_Bytes.ofString(haxe_crypto_Base64.CHARS); haxe_io_FPHelper.i64tmp = (function($this) { var $r; var this1 = new haxe__$Int64__$_$_$Int64(0,0); $r = this1; return $r; }(this)); haxe_xml_Parser.escapes = (function($this) { var $r; var h = new haxe_ds_StringMap(); if(__map_reserved["lt"] != null) { h.setReserved("lt","<"); } else { h.h["lt"] = "<"; } if(__map_reserved["gt"] != null) { h.setReserved("gt",">"); } else { h.h["gt"] = ">"; } if(__map_reserved["amp"] != null) { h.setReserved("amp","&"); } else { h.h["amp"] = "&"; } if(__map_reserved["quot"] != null) { h.setReserved("quot","\""); } else { h.h["quot"] = "\""; } if(__map_reserved["apos"] != null) { h.setReserved("apos","'"); } else { h.h["apos"] = "'"; } $r = h; return $r; }(this)); haxe_zip_InflateImpl.LEN_EXTRA_BITS_TBL = [0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,-1,-1]; haxe_zip_InflateImpl.LEN_BASE_VAL_TBL = [3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258]; haxe_zip_InflateImpl.DIST_EXTRA_BITS_TBL = [0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,-1,-1]; haxe_zip_InflateImpl.DIST_BASE_VAL_TBL = [1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577]; haxe_zip_InflateImpl.CODE_LENGTHS_POS = [16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]; haxe_zip_InflateImpl.FIXED_HUFFMAN = null; hscript_Parser.p1 = 0; hscript_Parser.readPos = 0; hscript_Parser.tokenMin = 0; hscript_Parser.tokenMax = 0; js_html_compat_Float32Array.BYTES_PER_ELEMENT = 4; js_html_compat_Float64Array.BYTES_PER_ELEMENT = 8; js_html_compat_Uint8Array.BYTES_PER_ELEMENT = 1; lime__$internal_backend_html5_HTML5HTTPRequest.activeRequests = 0; lime__$internal_backend_html5_HTML5HTTPRequest.requestLimit = 17; lime__$internal_backend_html5_HTML5HTTPRequest.requestQueue = new List(); lime__$internal_backend_html5_HTML5Window.dummyCharacter = ""; lime__$internal_backend_html5_HTML5Window.windowID = 0; lime__$internal_unifill_Unicode.minCodePoint = 0; lime__$internal_unifill_Unicode.maxCodePoint = 1114111; lime__$internal_unifill_Unicode.minHighSurrogate = 55296; lime__$internal_unifill_Unicode.maxHighSurrogate = 56319; lime__$internal_unifill_Unicode.minLowSurrogate = 56320; lime__$internal_unifill_Unicode.maxLowSurrogate = 57343; lime_graphics_Image.__base64Chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; lime_graphics_cairo__$CairoFTFontFace_CairoFTFontFace_$Impl_$.FT_LOAD_FORCE_AUTOHINT = 32; lime_graphics_opengl_GL.DEPTH_BUFFER_BIT = 256; lime_graphics_opengl_GL.STENCIL_BUFFER_BIT = 1024; lime_graphics_opengl_GL.COLOR_BUFFER_BIT = 16384; lime_graphics_opengl_GL.POINTS = 0; lime_graphics_opengl_GL.LINES = 1; lime_graphics_opengl_GL.LINE_LOOP = 2; lime_graphics_opengl_GL.LINE_STRIP = 3; lime_graphics_opengl_GL.TRIANGLES = 4; lime_graphics_opengl_GL.TRIANGLE_STRIP = 5; lime_graphics_opengl_GL.TRIANGLE_FAN = 6; lime_graphics_opengl_GL.ZERO = 0; lime_graphics_opengl_GL.ONE = 1; lime_graphics_opengl_GL.SRC_COLOR = 768; lime_graphics_opengl_GL.ONE_MINUS_SRC_COLOR = 769; lime_graphics_opengl_GL.SRC_ALPHA = 770; lime_graphics_opengl_GL.ONE_MINUS_SRC_ALPHA = 771; lime_graphics_opengl_GL.DST_ALPHA = 772; lime_graphics_opengl_GL.ONE_MINUS_DST_ALPHA = 773; lime_graphics_opengl_GL.DST_COLOR = 774; lime_graphics_opengl_GL.ONE_MINUS_DST_COLOR = 775; lime_graphics_opengl_GL.SRC_ALPHA_SATURATE = 776; lime_graphics_opengl_GL.FUNC_ADD = 32774; lime_graphics_opengl_GL.BLEND_EQUATION = 32777; lime_graphics_opengl_GL.BLEND_EQUATION_RGB = 32777; lime_graphics_opengl_GL.BLEND_EQUATION_ALPHA = 34877; lime_graphics_opengl_GL.FUNC_SUBTRACT = 32778; lime_graphics_opengl_GL.FUNC_REVERSE_SUBTRACT = 32779; lime_graphics_opengl_GL.BLEND_DST_RGB = 32968; lime_graphics_opengl_GL.BLEND_SRC_RGB = 32969; lime_graphics_opengl_GL.BLEND_DST_ALPHA = 32970; lime_graphics_opengl_GL.BLEND_SRC_ALPHA = 32971; lime_graphics_opengl_GL.CONSTANT_COLOR = 32769; lime_graphics_opengl_GL.ONE_MINUS_CONSTANT_COLOR = 32770; lime_graphics_opengl_GL.CONSTANT_ALPHA = 32771; lime_graphics_opengl_GL.ONE_MINUS_CONSTANT_ALPHA = 32772; lime_graphics_opengl_GL.BLEND_COLOR = 32773; lime_graphics_opengl_GL.ARRAY_BUFFER = 34962; lime_graphics_opengl_GL.ELEMENT_ARRAY_BUFFER = 34963; lime_graphics_opengl_GL.ARRAY_BUFFER_BINDING = 34964; lime_graphics_opengl_GL.ELEMENT_ARRAY_BUFFER_BINDING = 34965; lime_graphics_opengl_GL.STREAM_DRAW = 35040; lime_graphics_opengl_GL.STATIC_DRAW = 35044; lime_graphics_opengl_GL.DYNAMIC_DRAW = 35048; lime_graphics_opengl_GL.BUFFER_SIZE = 34660; lime_graphics_opengl_GL.BUFFER_USAGE = 34661; lime_graphics_opengl_GL.CURRENT_VERTEX_ATTRIB = 34342; lime_graphics_opengl_GL.FRONT = 1028; lime_graphics_opengl_GL.BACK = 1029; lime_graphics_opengl_GL.FRONT_AND_BACK = 1032; lime_graphics_opengl_GL.CULL_FACE = 2884; lime_graphics_opengl_GL.BLEND = 3042; lime_graphics_opengl_GL.DITHER = 3024; lime_graphics_opengl_GL.STENCIL_TEST = 2960; lime_graphics_opengl_GL.DEPTH_TEST = 2929; lime_graphics_opengl_GL.SCISSOR_TEST = 3089; lime_graphics_opengl_GL.POLYGON_OFFSET_FILL = 32823; lime_graphics_opengl_GL.SAMPLE_ALPHA_TO_COVERAGE = 32926; lime_graphics_opengl_GL.SAMPLE_COVERAGE = 32928; lime_graphics_opengl_GL.NO_ERROR = 0; lime_graphics_opengl_GL.INVALID_ENUM = 1280; lime_graphics_opengl_GL.INVALID_VALUE = 1281; lime_graphics_opengl_GL.INVALID_OPERATION = 1282; lime_graphics_opengl_GL.OUT_OF_MEMORY = 1285; lime_graphics_opengl_GL.CW = 2304; lime_graphics_opengl_GL.CCW = 2305; lime_graphics_opengl_GL.LINE_WIDTH = 2849; lime_graphics_opengl_GL.ALIASED_POINT_SIZE_RANGE = 33901; lime_graphics_opengl_GL.ALIASED_LINE_WIDTH_RANGE = 33902; lime_graphics_opengl_GL.CULL_FACE_MODE = 2885; lime_graphics_opengl_GL.FRONT_FACE = 2886; lime_graphics_opengl_GL.DEPTH_RANGE = 2928; lime_graphics_opengl_GL.DEPTH_WRITEMASK = 2930; lime_graphics_opengl_GL.DEPTH_CLEAR_VALUE = 2931; lime_graphics_opengl_GL.DEPTH_FUNC = 2932; lime_graphics_opengl_GL.STENCIL_CLEAR_VALUE = 2961; lime_graphics_opengl_GL.STENCIL_FUNC = 2962; lime_graphics_opengl_GL.STENCIL_FAIL = 2964; lime_graphics_opengl_GL.STENCIL_PASS_DEPTH_FAIL = 2965; lime_graphics_opengl_GL.STENCIL_PASS_DEPTH_PASS = 2966; lime_graphics_opengl_GL.STENCIL_REF = 2967; lime_graphics_opengl_GL.STENCIL_VALUE_MASK = 2963; lime_graphics_opengl_GL.STENCIL_WRITEMASK = 2968; lime_graphics_opengl_GL.STENCIL_BACK_FUNC = 34816; lime_graphics_opengl_GL.STENCIL_BACK_FAIL = 34817; lime_graphics_opengl_GL.STENCIL_BACK_PASS_DEPTH_FAIL = 34818; lime_graphics_opengl_GL.STENCIL_BACK_PASS_DEPTH_PASS = 34819; lime_graphics_opengl_GL.STENCIL_BACK_REF = 36003; lime_graphics_opengl_GL.STENCIL_BACK_VALUE_MASK = 36004; lime_graphics_opengl_GL.STENCIL_BACK_WRITEMASK = 36005; lime_graphics_opengl_GL.VIEWPORT = 2978; lime_graphics_opengl_GL.SCISSOR_BOX = 3088; lime_graphics_opengl_GL.COLOR_CLEAR_VALUE = 3106; lime_graphics_opengl_GL.COLOR_WRITEMASK = 3107; lime_graphics_opengl_GL.UNPACK_ALIGNMENT = 3317; lime_graphics_opengl_GL.PACK_ALIGNMENT = 3333; lime_graphics_opengl_GL.MAX_TEXTURE_SIZE = 3379; lime_graphics_opengl_GL.MAX_VIEWPORT_DIMS = 3386; lime_graphics_opengl_GL.SUBPIXEL_BITS = 3408; lime_graphics_opengl_GL.RED_BITS = 3410; lime_graphics_opengl_GL.GREEN_BITS = 3411; lime_graphics_opengl_GL.BLUE_BITS = 3412; lime_graphics_opengl_GL.ALPHA_BITS = 3413; lime_graphics_opengl_GL.DEPTH_BITS = 3414; lime_graphics_opengl_GL.STENCIL_BITS = 3415; lime_graphics_opengl_GL.POLYGON_OFFSET_UNITS = 10752; lime_graphics_opengl_GL.POLYGON_OFFSET_FACTOR = 32824; lime_graphics_opengl_GL.TEXTURE_BINDING_2D = 32873; lime_graphics_opengl_GL.SAMPLE_BUFFERS = 32936; lime_graphics_opengl_GL.SAMPLES = 32937; lime_graphics_opengl_GL.SAMPLE_COVERAGE_VALUE = 32938; lime_graphics_opengl_GL.SAMPLE_COVERAGE_INVERT = 32939; lime_graphics_opengl_GL.NUM_COMPRESSED_TEXTURE_FORMATS = 34466; lime_graphics_opengl_GL.COMPRESSED_TEXTURE_FORMATS = 34467; lime_graphics_opengl_GL.DONT_CARE = 4352; lime_graphics_opengl_GL.FASTEST = 4353; lime_graphics_opengl_GL.NICEST = 4354; lime_graphics_opengl_GL.GENERATE_MIPMAP_HINT = 33170; lime_graphics_opengl_GL.BYTE = 5120; lime_graphics_opengl_GL.UNSIGNED_BYTE = 5121; lime_graphics_opengl_GL.SHORT = 5122; lime_graphics_opengl_GL.UNSIGNED_SHORT = 5123; lime_graphics_opengl_GL.INT = 5124; lime_graphics_opengl_GL.UNSIGNED_INT = 5125; lime_graphics_opengl_GL.FLOAT = 5126; lime_graphics_opengl_GL.DEPTH_COMPONENT = 6402; lime_graphics_opengl_GL.ALPHA = 6406; lime_graphics_opengl_GL.RGB = 6407; lime_graphics_opengl_GL.RGBA = 6408; lime_graphics_opengl_GL.LUMINANCE = 6409; lime_graphics_opengl_GL.LUMINANCE_ALPHA = 6410; lime_graphics_opengl_GL.UNSIGNED_SHORT_4_4_4_4 = 32819; lime_graphics_opengl_GL.UNSIGNED_SHORT_5_5_5_1 = 32820; lime_graphics_opengl_GL.UNSIGNED_SHORT_5_6_5 = 33635; lime_graphics_opengl_GL.FRAGMENT_SHADER = 35632; lime_graphics_opengl_GL.VERTEX_SHADER = 35633; lime_graphics_opengl_GL.MAX_VERTEX_ATTRIBS = 34921; lime_graphics_opengl_GL.MAX_VERTEX_UNIFORM_VECTORS = 36347; lime_graphics_opengl_GL.MAX_VARYING_VECTORS = 36348; lime_graphics_opengl_GL.MAX_COMBINED_TEXTURE_IMAGE_UNITS = 35661; lime_graphics_opengl_GL.MAX_VERTEX_TEXTURE_IMAGE_UNITS = 35660; lime_graphics_opengl_GL.MAX_TEXTURE_IMAGE_UNITS = 34930; lime_graphics_opengl_GL.MAX_FRAGMENT_UNIFORM_VECTORS = 36349; lime_graphics_opengl_GL.SHADER_TYPE = 35663; lime_graphics_opengl_GL.DELETE_STATUS = 35712; lime_graphics_opengl_GL.LINK_STATUS = 35714; lime_graphics_opengl_GL.VALIDATE_STATUS = 35715; lime_graphics_opengl_GL.ATTACHED_SHADERS = 35717; lime_graphics_opengl_GL.ACTIVE_UNIFORMS = 35718; lime_graphics_opengl_GL.ACTIVE_ATTRIBUTES = 35721; lime_graphics_opengl_GL.SHADING_LANGUAGE_VERSION = 35724; lime_graphics_opengl_GL.CURRENT_PROGRAM = 35725; lime_graphics_opengl_GL.NEVER = 512; lime_graphics_opengl_GL.LESS = 513; lime_graphics_opengl_GL.EQUAL = 514; lime_graphics_opengl_GL.LEQUAL = 515; lime_graphics_opengl_GL.GREATER = 516; lime_graphics_opengl_GL.NOTEQUAL = 517; lime_graphics_opengl_GL.GEQUAL = 518; lime_graphics_opengl_GL.ALWAYS = 519; lime_graphics_opengl_GL.KEEP = 7680; lime_graphics_opengl_GL.REPLACE = 7681; lime_graphics_opengl_GL.INCR = 7682; lime_graphics_opengl_GL.DECR = 7683; lime_graphics_opengl_GL.INVERT = 5386; lime_graphics_opengl_GL.INCR_WRAP = 34055; lime_graphics_opengl_GL.DECR_WRAP = 34056; lime_graphics_opengl_GL.VENDOR = 7936; lime_graphics_opengl_GL.RENDERER = 7937; lime_graphics_opengl_GL.VERSION = 7938; lime_graphics_opengl_GL.EXTENSIONS = 7939; lime_graphics_opengl_GL.NEAREST = 9728; lime_graphics_opengl_GL.LINEAR = 9729; lime_graphics_opengl_GL.NEAREST_MIPMAP_NEAREST = 9984; lime_graphics_opengl_GL.LINEAR_MIPMAP_NEAREST = 9985; lime_graphics_opengl_GL.NEAREST_MIPMAP_LINEAR = 9986; lime_graphics_opengl_GL.LINEAR_MIPMAP_LINEAR = 9987; lime_graphics_opengl_GL.TEXTURE_MAG_FILTER = 10240; lime_graphics_opengl_GL.TEXTURE_MIN_FILTER = 10241; lime_graphics_opengl_GL.TEXTURE_WRAP_S = 10242; lime_graphics_opengl_GL.TEXTURE_WRAP_T = 10243; lime_graphics_opengl_GL.TEXTURE_2D = 3553; lime_graphics_opengl_GL.TEXTURE = 5890; lime_graphics_opengl_GL.TEXTURE_CUBE_MAP = 34067; lime_graphics_opengl_GL.TEXTURE_BINDING_CUBE_MAP = 34068; lime_graphics_opengl_GL.TEXTURE_CUBE_MAP_POSITIVE_X = 34069; lime_graphics_opengl_GL.TEXTURE_CUBE_MAP_NEGATIVE_X = 34070; lime_graphics_opengl_GL.TEXTURE_CUBE_MAP_POSITIVE_Y = 34071; lime_graphics_opengl_GL.TEXTURE_CUBE_MAP_NEGATIVE_Y = 34072; lime_graphics_opengl_GL.TEXTURE_CUBE_MAP_POSITIVE_Z = 34073; lime_graphics_opengl_GL.TEXTURE_CUBE_MAP_NEGATIVE_Z = 34074; lime_graphics_opengl_GL.MAX_CUBE_MAP_TEXTURE_SIZE = 34076; lime_graphics_opengl_GL.TEXTURE0 = 33984; lime_graphics_opengl_GL.TEXTURE1 = 33985; lime_graphics_opengl_GL.TEXTURE2 = 33986; lime_graphics_opengl_GL.TEXTURE3 = 33987; lime_graphics_opengl_GL.TEXTURE4 = 33988; lime_graphics_opengl_GL.TEXTURE5 = 33989; lime_graphics_opengl_GL.TEXTURE6 = 33990; lime_graphics_opengl_GL.TEXTURE7 = 33991; lime_graphics_opengl_GL.TEXTURE8 = 33992; lime_graphics_opengl_GL.TEXTURE9 = 33993; lime_graphics_opengl_GL.TEXTURE10 = 33994; lime_graphics_opengl_GL.TEXTURE11 = 33995; lime_graphics_opengl_GL.TEXTURE12 = 33996; lime_graphics_opengl_GL.TEXTURE13 = 33997; lime_graphics_opengl_GL.TEXTURE14 = 33998; lime_graphics_opengl_GL.TEXTURE15 = 33999; lime_graphics_opengl_GL.TEXTURE16 = 34000; lime_graphics_opengl_GL.TEXTURE17 = 34001; lime_graphics_opengl_GL.TEXTURE18 = 34002; lime_graphics_opengl_GL.TEXTURE19 = 34003; lime_graphics_opengl_GL.TEXTURE20 = 34004; lime_graphics_opengl_GL.TEXTURE21 = 34005; lime_graphics_opengl_GL.TEXTURE22 = 34006; lime_graphics_opengl_GL.TEXTURE23 = 34007; lime_graphics_opengl_GL.TEXTURE24 = 34008; lime_graphics_opengl_GL.TEXTURE25 = 34009; lime_graphics_opengl_GL.TEXTURE26 = 34010; lime_graphics_opengl_GL.TEXTURE27 = 34011; lime_graphics_opengl_GL.TEXTURE28 = 34012; lime_graphics_opengl_GL.TEXTURE29 = 34013; lime_graphics_opengl_GL.TEXTURE30 = 34014; lime_graphics_opengl_GL.TEXTURE31 = 34015; lime_graphics_opengl_GL.ACTIVE_TEXTURE = 34016; lime_graphics_opengl_GL.REPEAT = 10497; lime_graphics_opengl_GL.CLAMP_TO_EDGE = 33071; lime_graphics_opengl_GL.MIRRORED_REPEAT = 33648; lime_graphics_opengl_GL.FLOAT_VEC2 = 35664; lime_graphics_opengl_GL.FLOAT_VEC3 = 35665; lime_graphics_opengl_GL.FLOAT_VEC4 = 35666; lime_graphics_opengl_GL.INT_VEC2 = 35667; lime_graphics_opengl_GL.INT_VEC3 = 35668; lime_graphics_opengl_GL.INT_VEC4 = 35669; lime_graphics_opengl_GL.BOOL = 35670; lime_graphics_opengl_GL.BOOL_VEC2 = 35671; lime_graphics_opengl_GL.BOOL_VEC3 = 35672; lime_graphics_opengl_GL.BOOL_VEC4 = 35673; lime_graphics_opengl_GL.FLOAT_MAT2 = 35674; lime_graphics_opengl_GL.FLOAT_MAT3 = 35675; lime_graphics_opengl_GL.FLOAT_MAT4 = 35676; lime_graphics_opengl_GL.SAMPLER_2D = 35678; lime_graphics_opengl_GL.SAMPLER_CUBE = 35680; lime_graphics_opengl_GL.VERTEX_ATTRIB_ARRAY_ENABLED = 34338; lime_graphics_opengl_GL.VERTEX_ATTRIB_ARRAY_SIZE = 34339; lime_graphics_opengl_GL.VERTEX_ATTRIB_ARRAY_STRIDE = 34340; lime_graphics_opengl_GL.VERTEX_ATTRIB_ARRAY_TYPE = 34341; lime_graphics_opengl_GL.VERTEX_ATTRIB_ARRAY_NORMALIZED = 34922; lime_graphics_opengl_GL.VERTEX_ATTRIB_ARRAY_POINTER = 34373; lime_graphics_opengl_GL.VERTEX_ATTRIB_ARRAY_BUFFER_BINDING = 34975; lime_graphics_opengl_GL.IMPLEMENTATION_COLOR_READ_TYPE = 35738; lime_graphics_opengl_GL.IMPLEMENTATION_COLOR_READ_FORMAT = 35739; lime_graphics_opengl_GL.VERTEX_PROGRAM_POINT_SIZE = 34370; lime_graphics_opengl_GL.POINT_SPRITE = 34913; lime_graphics_opengl_GL.COMPILE_STATUS = 35713; lime_graphics_opengl_GL.LOW_FLOAT = 36336; lime_graphics_opengl_GL.MEDIUM_FLOAT = 36337; lime_graphics_opengl_GL.HIGH_FLOAT = 36338; lime_graphics_opengl_GL.LOW_INT = 36339; lime_graphics_opengl_GL.MEDIUM_INT = 36340; lime_graphics_opengl_GL.HIGH_INT = 36341; lime_graphics_opengl_GL.FRAMEBUFFER = 36160; lime_graphics_opengl_GL.RENDERBUFFER = 36161; lime_graphics_opengl_GL.RGBA4 = 32854; lime_graphics_opengl_GL.RGB5_A1 = 32855; lime_graphics_opengl_GL.RGB565 = 36194; lime_graphics_opengl_GL.DEPTH_COMPONENT16 = 33189; lime_graphics_opengl_GL.STENCIL_INDEX = 6401; lime_graphics_opengl_GL.STENCIL_INDEX8 = 36168; lime_graphics_opengl_GL.DEPTH_STENCIL = 34041; lime_graphics_opengl_GL.RENDERBUFFER_WIDTH = 36162; lime_graphics_opengl_GL.RENDERBUFFER_HEIGHT = 36163; lime_graphics_opengl_GL.RENDERBUFFER_INTERNAL_FORMAT = 36164; lime_graphics_opengl_GL.RENDERBUFFER_RED_SIZE = 36176; lime_graphics_opengl_GL.RENDERBUFFER_GREEN_SIZE = 36177; lime_graphics_opengl_GL.RENDERBUFFER_BLUE_SIZE = 36178; lime_graphics_opengl_GL.RENDERBUFFER_ALPHA_SIZE = 36179; lime_graphics_opengl_GL.RENDERBUFFER_DEPTH_SIZE = 36180; lime_graphics_opengl_GL.RENDERBUFFER_STENCIL_SIZE = 36181; lime_graphics_opengl_GL.FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE = 36048; lime_graphics_opengl_GL.FRAMEBUFFER_ATTACHMENT_OBJECT_NAME = 36049; lime_graphics_opengl_GL.FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL = 36050; lime_graphics_opengl_GL.FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE = 36051; lime_graphics_opengl_GL.COLOR_ATTACHMENT0 = 36064; lime_graphics_opengl_GL.DEPTH_ATTACHMENT = 36096; lime_graphics_opengl_GL.STENCIL_ATTACHMENT = 36128; lime_graphics_opengl_GL.DEPTH_STENCIL_ATTACHMENT = 33306; lime_graphics_opengl_GL.NONE = 0; lime_graphics_opengl_GL.FRAMEBUFFER_COMPLETE = 36053; lime_graphics_opengl_GL.FRAMEBUFFER_INCOMPLETE_ATTACHMENT = 36054; lime_graphics_opengl_GL.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT = 36055; lime_graphics_opengl_GL.FRAMEBUFFER_INCOMPLETE_DIMENSIONS = 36057; lime_graphics_opengl_GL.FRAMEBUFFER_UNSUPPORTED = 36061; lime_graphics_opengl_GL.FRAMEBUFFER_BINDING = 36006; lime_graphics_opengl_GL.RENDERBUFFER_BINDING = 36007; lime_graphics_opengl_GL.MAX_RENDERBUFFER_SIZE = 34024; lime_graphics_opengl_GL.INVALID_FRAMEBUFFER_OPERATION = 1286; lime_graphics_opengl_GL.UNPACK_FLIP_Y_WEBGL = 37440; lime_graphics_opengl_GL.UNPACK_PREMULTIPLY_ALPHA_WEBGL = 37441; lime_graphics_opengl_GL.CONTEXT_LOST_WEBGL = 37442; lime_graphics_opengl_GL.UNPACK_COLORSPACE_CONVERSION_WEBGL = 37443; lime_graphics_opengl_GL.BROWSER_DEFAULT_WEBGL = 37444; lime_graphics_opengl_GL.READ_BUFFER = 3074; lime_graphics_opengl_GL.UNPACK_ROW_LENGTH = 3314; lime_graphics_opengl_GL.UNPACK_SKIP_ROWS = 3315; lime_graphics_opengl_GL.UNPACK_SKIP_PIXELS = 3316; lime_graphics_opengl_GL.PACK_ROW_LENGTH = 3330; lime_graphics_opengl_GL.PACK_SKIP_ROWS = 3331; lime_graphics_opengl_GL.PACK_SKIP_PIXELS = 3332; lime_graphics_opengl_GL.TEXTURE_BINDING_3D = 32874; lime_graphics_opengl_GL.UNPACK_SKIP_IMAGES = 32877; lime_graphics_opengl_GL.UNPACK_IMAGE_HEIGHT = 32878; lime_graphics_opengl_GL.MAX_3D_TEXTURE_SIZE = 32883; lime_graphics_opengl_GL.MAX_ELEMENTS_VERTICES = 33000; lime_graphics_opengl_GL.MAX_ELEMENTS_INDICES = 33001; lime_graphics_opengl_GL.MAX_TEXTURE_LOD_BIAS = 34045; lime_graphics_opengl_GL.MAX_FRAGMENT_UNIFORM_COMPONENTS = 35657; lime_graphics_opengl_GL.MAX_VERTEX_UNIFORM_COMPONENTS = 35658; lime_graphics_opengl_GL.MAX_ARRAY_TEXTURE_LAYERS = 35071; lime_graphics_opengl_GL.MIN_PROGRAM_TEXEL_OFFSET = 35076; lime_graphics_opengl_GL.MAX_PROGRAM_TEXEL_OFFSET = 35077; lime_graphics_opengl_GL.MAX_VARYING_COMPONENTS = 35659; lime_graphics_opengl_GL.FRAGMENT_SHADER_DERIVATIVE_HINT = 35723; lime_graphics_opengl_GL.RASTERIZER_DISCARD = 35977; lime_graphics_opengl_GL.VERTEX_ARRAY_BINDING = 34229; lime_graphics_opengl_GL.MAX_VERTEX_OUTPUT_COMPONENTS = 37154; lime_graphics_opengl_GL.MAX_FRAGMENT_INPUT_COMPONENTS = 37157; lime_graphics_opengl_GL.MAX_SERVER_WAIT_TIMEOUT = 37137; lime_graphics_opengl_GL.MAX_ELEMENT_INDEX = 36203; lime_graphics_opengl_GL.RED = 6403; lime_graphics_opengl_GL.RGB8 = 32849; lime_graphics_opengl_GL.RGBA8 = 32856; lime_graphics_opengl_GL.RGB10_A2 = 32857; lime_graphics_opengl_GL.TEXTURE_3D = 32879; lime_graphics_opengl_GL.TEXTURE_WRAP_R = 32882; lime_graphics_opengl_GL.TEXTURE_MIN_LOD = 33082; lime_graphics_opengl_GL.TEXTURE_MAX_LOD = 33083; lime_graphics_opengl_GL.TEXTURE_BASE_LEVEL = 33084; lime_graphics_opengl_GL.TEXTURE_MAX_LEVEL = 33085; lime_graphics_opengl_GL.TEXTURE_COMPARE_MODE = 34892; lime_graphics_opengl_GL.TEXTURE_COMPARE_FUNC = 34893; lime_graphics_opengl_GL.SRGB = 35904; lime_graphics_opengl_GL.SRGB8 = 35905; lime_graphics_opengl_GL.SRGB8_ALPHA8 = 35907; lime_graphics_opengl_GL.COMPARE_REF_TO_TEXTURE = 34894; lime_graphics_opengl_GL.RGBA32F = 34836; lime_graphics_opengl_GL.RGB32F = 34837; lime_graphics_opengl_GL.RGBA16F = 34842; lime_graphics_opengl_GL.RGB16F = 34843; lime_graphics_opengl_GL.TEXTURE_2D_ARRAY = 35866; lime_graphics_opengl_GL.TEXTURE_BINDING_2D_ARRAY = 35869; lime_graphics_opengl_GL.R11F_G11F_B10F = 35898; lime_graphics_opengl_GL.RGB9_E5 = 35901; lime_graphics_opengl_GL.RGBA32UI = 36208; lime_graphics_opengl_GL.RGB32UI = 36209; lime_graphics_opengl_GL.RGBA16UI = 36214; lime_graphics_opengl_GL.RGB16UI = 36215; lime_graphics_opengl_GL.RGBA8UI = 36220; lime_graphics_opengl_GL.RGB8UI = 36221; lime_graphics_opengl_GL.RGBA32I = 36226; lime_graphics_opengl_GL.RGB32I = 36227; lime_graphics_opengl_GL.RGBA16I = 36232; lime_graphics_opengl_GL.RGB16I = 36233; lime_graphics_opengl_GL.RGBA8I = 36238; lime_graphics_opengl_GL.RGB8I = 36239; lime_graphics_opengl_GL.RED_INTEGER = 36244; lime_graphics_opengl_GL.RGB_INTEGER = 36248; lime_graphics_opengl_GL.RGBA_INTEGER = 36249; lime_graphics_opengl_GL.R8 = 33321; lime_graphics_opengl_GL.RG8 = 33323; lime_graphics_opengl_GL.R16F = 33325; lime_graphics_opengl_GL.R32F = 33326; lime_graphics_opengl_GL.RG16F = 33327; lime_graphics_opengl_GL.RG32F = 33328; lime_graphics_opengl_GL.R8I = 33329; lime_graphics_opengl_GL.R8UI = 33330; lime_graphics_opengl_GL.R16I = 33331; lime_graphics_opengl_GL.R16UI = 33332; lime_graphics_opengl_GL.R32I = 33333; lime_graphics_opengl_GL.R32UI = 33334; lime_graphics_opengl_GL.RG8I = 33335; lime_graphics_opengl_GL.RG8UI = 33336; lime_graphics_opengl_GL.RG16I = 33337; lime_graphics_opengl_GL.RG16UI = 33338; lime_graphics_opengl_GL.RG32I = 33339; lime_graphics_opengl_GL.RG32UI = 33340; lime_graphics_opengl_GL.R8_SNORM = 36756; lime_graphics_opengl_GL.RG8_SNORM = 36757; lime_graphics_opengl_GL.RGB8_SNORM = 36758; lime_graphics_opengl_GL.RGBA8_SNORM = 36759; lime_graphics_opengl_GL.RGB10_A2UI = 36975; lime_graphics_opengl_GL.TEXTURE_IMMUTABLE_FORMAT = 37167; lime_graphics_opengl_GL.TEXTURE_IMMUTABLE_LEVELS = 33503; lime_graphics_opengl_GL.UNSIGNED_INT_2_10_10_10_REV = 33640; lime_graphics_opengl_GL.UNSIGNED_INT_10F_11F_11F_REV = 35899; lime_graphics_opengl_GL.UNSIGNED_INT_5_9_9_9_REV = 35902; lime_graphics_opengl_GL.FLOAT_32_UNSIGNED_INT_24_8_REV = 36269; lime_graphics_opengl_GL.UNSIGNED_INT_24_8 = 34042; lime_graphics_opengl_GL.HALF_FLOAT = 5131; lime_graphics_opengl_GL.RG = 33319; lime_graphics_opengl_GL.RG_INTEGER = 33320; lime_graphics_opengl_GL.INT_2_10_10_10_REV = 36255; lime_graphics_opengl_GL.CURRENT_QUERY = 34917; lime_graphics_opengl_GL.QUERY_RESULT = 34918; lime_graphics_opengl_GL.QUERY_RESULT_AVAILABLE = 34919; lime_graphics_opengl_GL.ANY_SAMPLES_PASSED = 35887; lime_graphics_opengl_GL.ANY_SAMPLES_PASSED_CONSERVATIVE = 36202; lime_graphics_opengl_GL.MAX_DRAW_BUFFERS = 34852; lime_graphics_opengl_GL.DRAW_BUFFER0 = 34853; lime_graphics_opengl_GL.DRAW_BUFFER1 = 34854; lime_graphics_opengl_GL.DRAW_BUFFER2 = 34855; lime_graphics_opengl_GL.DRAW_BUFFER3 = 34856; lime_graphics_opengl_GL.DRAW_BUFFER4 = 34857; lime_graphics_opengl_GL.DRAW_BUFFER5 = 34858; lime_graphics_opengl_GL.DRAW_BUFFER6 = 34859; lime_graphics_opengl_GL.DRAW_BUFFER7 = 34860; lime_graphics_opengl_GL.DRAW_BUFFER8 = 34861; lime_graphics_opengl_GL.DRAW_BUFFER9 = 34862; lime_graphics_opengl_GL.DRAW_BUFFER10 = 34863; lime_graphics_opengl_GL.DRAW_BUFFER11 = 34864; lime_graphics_opengl_GL.DRAW_BUFFER12 = 34865; lime_graphics_opengl_GL.DRAW_BUFFER13 = 34866; lime_graphics_opengl_GL.DRAW_BUFFER14 = 34867; lime_graphics_opengl_GL.DRAW_BUFFER15 = 34868; lime_graphics_opengl_GL.MAX_COLOR_ATTACHMENTS = 36063; lime_graphics_opengl_GL.COLOR_ATTACHMENT1 = 36065; lime_graphics_opengl_GL.COLOR_ATTACHMENT2 = 36066; lime_graphics_opengl_GL.COLOR_ATTACHMENT3 = 36067; lime_graphics_opengl_GL.COLOR_ATTACHMENT4 = 36068; lime_graphics_opengl_GL.COLOR_ATTACHMENT5 = 36069; lime_graphics_opengl_GL.COLOR_ATTACHMENT6 = 36070; lime_graphics_opengl_GL.COLOR_ATTACHMENT7 = 36071; lime_graphics_opengl_GL.COLOR_ATTACHMENT8 = 36072; lime_graphics_opengl_GL.COLOR_ATTACHMENT9 = 36073; lime_graphics_opengl_GL.COLOR_ATTACHMENT10 = 36074; lime_graphics_opengl_GL.COLOR_ATTACHMENT11 = 36075; lime_graphics_opengl_GL.COLOR_ATTACHMENT12 = 36076; lime_graphics_opengl_GL.COLOR_ATTACHMENT13 = 36077; lime_graphics_opengl_GL.COLOR_ATTACHMENT14 = 36078; lime_graphics_opengl_GL.COLOR_ATTACHMENT15 = 36079; lime_graphics_opengl_GL.SAMPLER_3D = 35679; lime_graphics_opengl_GL.SAMPLER_2D_SHADOW = 35682; lime_graphics_opengl_GL.SAMPLER_2D_ARRAY = 36289; lime_graphics_opengl_GL.SAMPLER_2D_ARRAY_SHADOW = 36292; lime_graphics_opengl_GL.SAMPLER_CUBE_SHADOW = 36293; lime_graphics_opengl_GL.INT_SAMPLER_2D = 36298; lime_graphics_opengl_GL.INT_SAMPLER_3D = 36299; lime_graphics_opengl_GL.INT_SAMPLER_CUBE = 36300; lime_graphics_opengl_GL.INT_SAMPLER_2D_ARRAY = 36303; lime_graphics_opengl_GL.UNSIGNED_INT_SAMPLER_2D = 36306; lime_graphics_opengl_GL.UNSIGNED_INT_SAMPLER_3D = 36307; lime_graphics_opengl_GL.UNSIGNED_INT_SAMPLER_CUBE = 36308; lime_graphics_opengl_GL.UNSIGNED_INT_SAMPLER_2D_ARRAY = 36311; lime_graphics_opengl_GL.MAX_SAMPLES = 36183; lime_graphics_opengl_GL.SAMPLER_BINDING = 35097; lime_graphics_opengl_GL.PIXEL_PACK_BUFFER = 35051; lime_graphics_opengl_GL.PIXEL_UNPACK_BUFFER = 35052; lime_graphics_opengl_GL.PIXEL_PACK_BUFFER_BINDING = 35053; lime_graphics_opengl_GL.PIXEL_UNPACK_BUFFER_BINDING = 35055; lime_graphics_opengl_GL.COPY_READ_BUFFER = 36662; lime_graphics_opengl_GL.COPY_WRITE_BUFFER = 36663; lime_graphics_opengl_GL.COPY_READ_BUFFER_BINDING = 36662; lime_graphics_opengl_GL.COPY_WRITE_BUFFER_BINDING = 36663; lime_graphics_opengl_GL.FLOAT_MAT2x3 = 35685; lime_graphics_opengl_GL.FLOAT_MAT2x4 = 35686; lime_graphics_opengl_GL.FLOAT_MAT3x2 = 35687; lime_graphics_opengl_GL.FLOAT_MAT3x4 = 35688; lime_graphics_opengl_GL.FLOAT_MAT4x2 = 35689; lime_graphics_opengl_GL.FLOAT_MAT4x3 = 35690; lime_graphics_opengl_GL.UNSIGNED_INT_VEC2 = 36294; lime_graphics_opengl_GL.UNSIGNED_INT_VEC3 = 36295; lime_graphics_opengl_GL.UNSIGNED_INT_VEC4 = 36296; lime_graphics_opengl_GL.UNSIGNED_NORMALIZED = 35863; lime_graphics_opengl_GL.SIGNED_NORMALIZED = 36764; lime_graphics_opengl_GL.VERTEX_ATTRIB_ARRAY_INTEGER = 35069; lime_graphics_opengl_GL.VERTEX_ATTRIB_ARRAY_DIVISOR = 35070; lime_graphics_opengl_GL.TRANSFORM_FEEDBACK_BUFFER_MODE = 35967; lime_graphics_opengl_GL.MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS = 35968; lime_graphics_opengl_GL.TRANSFORM_FEEDBACK_VARYINGS = 35971; lime_graphics_opengl_GL.TRANSFORM_FEEDBACK_BUFFER_START = 35972; lime_graphics_opengl_GL.TRANSFORM_FEEDBACK_BUFFER_SIZE = 35973; lime_graphics_opengl_GL.TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN = 35976; lime_graphics_opengl_GL.MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS = 35978; lime_graphics_opengl_GL.MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS = 35979; lime_graphics_opengl_GL.INTERLEAVED_ATTRIBS = 35980; lime_graphics_opengl_GL.SEPARATE_ATTRIBS = 35981; lime_graphics_opengl_GL.TRANSFORM_FEEDBACK_BUFFER = 35982; lime_graphics_opengl_GL.TRANSFORM_FEEDBACK_BUFFER_BINDING = 35983; lime_graphics_opengl_GL.TRANSFORM_FEEDBACK = 36386; lime_graphics_opengl_GL.TRANSFORM_FEEDBACK_PAUSED = 36387; lime_graphics_opengl_GL.TRANSFORM_FEEDBACK_ACTIVE = 36388; lime_graphics_opengl_GL.TRANSFORM_FEEDBACK_BINDING = 36389; lime_graphics_opengl_GL.FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING = 33296; lime_graphics_opengl_GL.FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE = 33297; lime_graphics_opengl_GL.FRAMEBUFFER_ATTACHMENT_RED_SIZE = 33298; lime_graphics_opengl_GL.FRAMEBUFFER_ATTACHMENT_GREEN_SIZE = 33299; lime_graphics_opengl_GL.FRAMEBUFFER_ATTACHMENT_BLUE_SIZE = 33300; lime_graphics_opengl_GL.FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE = 33301; lime_graphics_opengl_GL.FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE = 33302; lime_graphics_opengl_GL.FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE = 33303; lime_graphics_opengl_GL.FRAMEBUFFER_DEFAULT = 33304; lime_graphics_opengl_GL.DEPTH24_STENCIL8 = 35056; lime_graphics_opengl_GL.DRAW_FRAMEBUFFER_BINDING = 36006; lime_graphics_opengl_GL.READ_FRAMEBUFFER = 36008; lime_graphics_opengl_GL.DRAW_FRAMEBUFFER = 36009; lime_graphics_opengl_GL.READ_FRAMEBUFFER_BINDING = 36010; lime_graphics_opengl_GL.RENDERBUFFER_SAMPLES = 36011; lime_graphics_opengl_GL.FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER = 36052; lime_graphics_opengl_GL.FRAMEBUFFER_INCOMPLETE_MULTISAMPLE = 36182; lime_graphics_opengl_GL.UNIFORM_BUFFER = 35345; lime_graphics_opengl_GL.UNIFORM_BUFFER_BINDING = 35368; lime_graphics_opengl_GL.UNIFORM_BUFFER_START = 35369; lime_graphics_opengl_GL.UNIFORM_BUFFER_SIZE = 35370; lime_graphics_opengl_GL.MAX_VERTEX_UNIFORM_BLOCKS = 35371; lime_graphics_opengl_GL.MAX_FRAGMENT_UNIFORM_BLOCKS = 35373; lime_graphics_opengl_GL.MAX_COMBINED_UNIFORM_BLOCKS = 35374; lime_graphics_opengl_GL.MAX_UNIFORM_BUFFER_BINDINGS = 35375; lime_graphics_opengl_GL.MAX_UNIFORM_BLOCK_SIZE = 35376; lime_graphics_opengl_GL.MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS = 35377; lime_graphics_opengl_GL.MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS = 35379; lime_graphics_opengl_GL.UNIFORM_BUFFER_OFFSET_ALIGNMENT = 35380; lime_graphics_opengl_GL.ACTIVE_UNIFORM_BLOCKS = 35382; lime_graphics_opengl_GL.UNIFORM_TYPE = 35383; lime_graphics_opengl_GL.UNIFORM_SIZE = 35384; lime_graphics_opengl_GL.UNIFORM_BLOCK_INDEX = 35386; lime_graphics_opengl_GL.UNIFORM_OFFSET = 35387; lime_graphics_opengl_GL.UNIFORM_ARRAY_STRIDE = 35388; lime_graphics_opengl_GL.UNIFORM_MATRIX_STRIDE = 35389; lime_graphics_opengl_GL.UNIFORM_IS_ROW_MAJOR = 35390; lime_graphics_opengl_GL.UNIFORM_BLOCK_BINDING = 35391; lime_graphics_opengl_GL.UNIFORM_BLOCK_DATA_SIZE = 35392; lime_graphics_opengl_GL.UNIFORM_BLOCK_ACTIVE_UNIFORMS = 35394; lime_graphics_opengl_GL.UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES = 35395; lime_graphics_opengl_GL.UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER = 35396; lime_graphics_opengl_GL.UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER = 35398; lime_graphics_opengl_GL.OBJECT_TYPE = 37138; lime_graphics_opengl_GL.SYNC_CONDITION = 37139; lime_graphics_opengl_GL.SYNC_STATUS = 37140; lime_graphics_opengl_GL.SYNC_FLAGS = 37141; lime_graphics_opengl_GL.SYNC_FENCE = 37142; lime_graphics_opengl_GL.SYNC_GPU_COMMANDS_COMPLETE = 37143; lime_graphics_opengl_GL.UNSIGNALED = 37144; lime_graphics_opengl_GL.SIGNALED = 37145; lime_graphics_opengl_GL.ALREADY_SIGNALED = 37146; lime_graphics_opengl_GL.TIMEOUT_EXPIRED = 37147; lime_graphics_opengl_GL.CONDITION_SATISFIED = 37148; lime_graphics_opengl_GL.WAIT_FAILED = 37149; lime_graphics_opengl_GL.SYNC_FLUSH_COMMANDS_BIT = 1; lime_graphics_opengl_GL.COLOR = 6144; lime_graphics_opengl_GL.DEPTH = 6145; lime_graphics_opengl_GL.STENCIL = 6146; lime_graphics_opengl_GL.MIN = 32775; lime_graphics_opengl_GL.MAX = 32776; lime_graphics_opengl_GL.DEPTH_COMPONENT24 = 33190; lime_graphics_opengl_GL.STREAM_READ = 35041; lime_graphics_opengl_GL.STREAM_COPY = 35042; lime_graphics_opengl_GL.STATIC_READ = 35045; lime_graphics_opengl_GL.STATIC_COPY = 35046; lime_graphics_opengl_GL.DYNAMIC_READ = 35049; lime_graphics_opengl_GL.DYNAMIC_COPY = 35050; lime_graphics_opengl_GL.DEPTH_COMPONENT32F = 36012; lime_graphics_opengl_GL.DEPTH32F_STENCIL8 = 36013; lime_graphics_opengl_GL.INVALID_INDEX = -1; lime_graphics_opengl_GL.TIMEOUT_IGNORED = -1; lime_graphics_opengl_GL.MAX_CLIENT_WAIT_TIMEOUT_WEBGL = 37447; lime_math__$ColorMatrix_ColorMatrix_$Impl_$.__identity = [1.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0]; lime_math__$Matrix4_Matrix4_$Impl_$.__identity = [1.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,1.0]; lime_media_openal_AL.NONE = 0; lime_media_openal_AL.FALSE = 0; lime_media_openal_AL.TRUE = 1; lime_media_openal_AL.SOURCE_RELATIVE = 514; lime_media_openal_AL.CONE_INNER_ANGLE = 4097; lime_media_openal_AL.CONE_OUTER_ANGLE = 4098; lime_media_openal_AL.PITCH = 4099; lime_media_openal_AL.POSITION = 4100; lime_media_openal_AL.DIRECTION = 4101; lime_media_openal_AL.VELOCITY = 4102; lime_media_openal_AL.LOOPING = 4103; lime_media_openal_AL.BUFFER = 4105; lime_media_openal_AL.GAIN = 4106; lime_media_openal_AL.MIN_GAIN = 4109; lime_media_openal_AL.MAX_GAIN = 4110; lime_media_openal_AL.ORIENTATION = 4111; lime_media_openal_AL.SOURCE_STATE = 4112; lime_media_openal_AL.INITIAL = 4113; lime_media_openal_AL.PLAYING = 4114; lime_media_openal_AL.PAUSED = 4115; lime_media_openal_AL.STOPPED = 4116; lime_media_openal_AL.BUFFERS_QUEUED = 4117; lime_media_openal_AL.BUFFERS_PROCESSED = 4118; lime_media_openal_AL.REFERENCE_DISTANCE = 4128; lime_media_openal_AL.ROLLOFF_FACTOR = 4129; lime_media_openal_AL.CONE_OUTER_GAIN = 4130; lime_media_openal_AL.MAX_DISTANCE = 4131; lime_media_openal_AL.SEC_OFFSET = 4132; lime_media_openal_AL.SAMPLE_OFFSET = 4133; lime_media_openal_AL.BYTE_OFFSET = 4134; lime_media_openal_AL.SOURCE_TYPE = 4135; lime_media_openal_AL.STATIC = 4136; lime_media_openal_AL.STREAMING = 4137; lime_media_openal_AL.UNDETERMINED = 4144; lime_media_openal_AL.FORMAT_MONO8 = 4352; lime_media_openal_AL.FORMAT_MONO16 = 4353; lime_media_openal_AL.FORMAT_STEREO8 = 4354; lime_media_openal_AL.FORMAT_STEREO16 = 4355; lime_media_openal_AL.FREQUENCY = 8193; lime_media_openal_AL.BITS = 8194; lime_media_openal_AL.CHANNELS = 8195; lime_media_openal_AL.SIZE = 8196; lime_media_openal_AL.NO_ERROR = 0; lime_media_openal_AL.INVALID_NAME = 40961; lime_media_openal_AL.INVALID_ENUM = 40962; lime_media_openal_AL.INVALID_VALUE = 40963; lime_media_openal_AL.INVALID_OPERATION = 40964; lime_media_openal_AL.OUT_OF_MEMORY = 40965; lime_media_openal_AL.VENDOR = 45057; lime_media_openal_AL.VERSION = 45058; lime_media_openal_AL.RENDERER = 45059; lime_media_openal_AL.EXTENSIONS = 45060; lime_media_openal_AL.DOPPLER_FACTOR = 49152; lime_media_openal_AL.SPEED_OF_SOUND = 49155; lime_media_openal_AL.DOPPLER_VELOCITY = 49153; lime_media_openal_AL.DISTANCE_MODEL = 53248; lime_media_openal_AL.INVERSE_DISTANCE = 53249; lime_media_openal_AL.INVERSE_DISTANCE_CLAMPED = 53250; lime_media_openal_AL.LINEAR_DISTANCE = 53251; lime_media_openal_AL.LINEAR_DISTANCE_CLAMPED = 53252; lime_media_openal_AL.EXPONENT_DISTANCE = 53253; lime_media_openal_AL.EXPONENT_DISTANCE_CLAMPED = 53254; lime_media_openal_AL.METERS_PER_UNIT = 131076; lime_media_openal_AL.DIRECT_FILTER = 131077; lime_media_openal_AL.AUXILIARY_SEND_FILTER = 131078; lime_media_openal_AL.AIR_ABSORPTION_FACTOR = 131079; lime_media_openal_AL.ROOM_ROLLOFF_FACTOR = 131080; lime_media_openal_AL.CONE_OUTER_GAINHF = 131081; lime_media_openal_AL.DIRECT_FILTER_GAINHF_AUTO = 131082; lime_media_openal_AL.AUXILIARY_SEND_FILTER_GAIN_AUTO = 131083; lime_media_openal_AL.AUXILIARY_SEND_FILTER_GAINHF_AUTO = 131084; lime_media_openal_AL.REVERB_DENSITY = 1; lime_media_openal_AL.REVERB_DIFFUSION = 2; lime_media_openal_AL.REVERB_GAIN = 3; lime_media_openal_AL.REVERB_GAINHF = 4; lime_media_openal_AL.REVERB_DECAY_TIME = 5; lime_media_openal_AL.REVERB_DECAY_HFRATIO = 6; lime_media_openal_AL.REVERB_REFLECTIONS_GAIN = 7; lime_media_openal_AL.REVERB_REFLECTIONS_DELAY = 8; lime_media_openal_AL.REVERB_LATE_REVERB_GAIN = 9; lime_media_openal_AL.REVERB_LATE_REVERB_DELAY = 10; lime_media_openal_AL.REVERB_AIR_ABSORPTION_GAINHF = 11; lime_media_openal_AL.REVERB_ROOM_ROLLOFF_FACTOR = 12; lime_media_openal_AL.REVERB_DECAY_HFLIMIT = 13; lime_media_openal_AL.EAXREVERB_DENSITY = 1; lime_media_openal_AL.EAXREVERB_DIFFUSION = 2; lime_media_openal_AL.EAXREVERB_GAIN = 3; lime_media_openal_AL.EAXREVERB_GAINHF = 4; lime_media_openal_AL.EAXREVERB_GAINLF = 5; lime_media_openal_AL.EAXREVERB_DECAY_TIME = 6; lime_media_openal_AL.EAXREVERB_DECAY_HFRATIO = 7; lime_media_openal_AL.EAXREVERB_DECAY_LFRATIO = 8; lime_media_openal_AL.EAXREVERB_REFLECTIONS_GAIN = 9; lime_media_openal_AL.EAXREVERB_REFLECTIONS_DELAY = 10; lime_media_openal_AL.EAXREVERB_REFLECTIONS_PAN = 11; lime_media_openal_AL.EAXREVERB_LATE_REVERB_GAIN = 12; lime_media_openal_AL.EAXREVERB_LATE_REVERB_DELAY = 13; lime_media_openal_AL.EAXREVERB_LATE_REVERB_PAN = 14; lime_media_openal_AL.EAXREVERB_ECHO_TIME = 15; lime_media_openal_AL.EAXREVERB_ECHO_DEPTH = 16; lime_media_openal_AL.EAXREVERB_MODULATION_TIME = 17; lime_media_openal_AL.EAXREVERB_MODULATION_DEPTH = 18; lime_media_openal_AL.EAXREVERB_AIR_ABSORPTION_GAINHF = 19; lime_media_openal_AL.EAXREVERB_HFREFERENCE = 20; lime_media_openal_AL.EAXREVERB_LFREFERENCE = 21; lime_media_openal_AL.EAXREVERB_ROOM_ROLLOFF_FACTOR = 22; lime_media_openal_AL.EAXREVERB_DECAY_HFLIMIT = 23; lime_media_openal_AL.CHORUS_WAVEFORM = 1; lime_media_openal_AL.CHORUS_PHASE = 2; lime_media_openal_AL.CHORUS_RATE = 3; lime_media_openal_AL.CHORUS_DEPTH = 4; lime_media_openal_AL.CHORUS_FEEDBACK = 5; lime_media_openal_AL.CHORUS_DELAY = 6; lime_media_openal_AL.DISTORTION_EDGE = 1; lime_media_openal_AL.DISTORTION_GAIN = 2; lime_media_openal_AL.DISTORTION_LOWPASS_CUTOFF = 3; lime_media_openal_AL.DISTORTION_EQCENTER = 4; lime_media_openal_AL.DISTORTION_EQBANDWIDTH = 5; lime_media_openal_AL.ECHO_DELAY = 1; lime_media_openal_AL.ECHO_LRDELAY = 2; lime_media_openal_AL.ECHO_DAMPING = 3; lime_media_openal_AL.ECHO_FEEDBACK = 4; lime_media_openal_AL.ECHO_SPREAD = 5; lime_media_openal_AL.FLANGER_WAVEFORM = 1; lime_media_openal_AL.FLANGER_PHASE = 2; lime_media_openal_AL.FLANGER_RATE = 3; lime_media_openal_AL.FLANGER_DEPTH = 4; lime_media_openal_AL.FLANGER_FEEDBACK = 5; lime_media_openal_AL.FLANGER_DELAY = 6; lime_media_openal_AL.FREQUENCY_SHIFTER_FREQUENCY = 1; lime_media_openal_AL.FREQUENCY_SHIFTER_LEFT_DIRECTION = 2; lime_media_openal_AL.FREQUENCY_SHIFTER_RIGHT_DIRECTION = 3; lime_media_openal_AL.VOCAL_MORPHER_PHONEMEA = 1; lime_media_openal_AL.VOCAL_MORPHER_PHONEMEA_COARSE_TUNING = 2; lime_media_openal_AL.VOCAL_MORPHER_PHONEMEB = 3; lime_media_openal_AL.VOCAL_MORPHER_PHONEMEB_COARSE_TUNING = 4; lime_media_openal_AL.VOCAL_MORPHER_WAVEFORM = 5; lime_media_openal_AL.VOCAL_MORPHER_RATE = 6; lime_media_openal_AL.PITCH_SHIFTER_COARSE_TUNE = 1; lime_media_openal_AL.PITCH_SHIFTER_FINE_TUNE = 2; lime_media_openal_AL.RING_MODULATOR_FREQUENCY = 1; lime_media_openal_AL.RING_MODULATOR_HIGHPASS_CUTOFF = 2; lime_media_openal_AL.RING_MODULATOR_WAVEFORM = 3; lime_media_openal_AL.AUTOWAH_ATTACK_TIME = 1; lime_media_openal_AL.AUTOWAH_RELEASE_TIME = 2; lime_media_openal_AL.AUTOWAH_RESONANCE = 3; lime_media_openal_AL.AUTOWAH_PEAK_GAIN = 4; lime_media_openal_AL.COMPRESSOR_ONOFF = 1; lime_media_openal_AL.EQUALIZER_LOW_GAIN = 1; lime_media_openal_AL.EQUALIZER_LOW_CUTOFF = 2; lime_media_openal_AL.EQUALIZER_MID1_GAIN = 3; lime_media_openal_AL.EQUALIZER_MID1_CENTER = 4; lime_media_openal_AL.EQUALIZER_MID1_WIDTH = 5; lime_media_openal_AL.EQUALIZER_MID2_GAIN = 6; lime_media_openal_AL.EQUALIZER_MID2_CENTER = 7; lime_media_openal_AL.EQUALIZER_MID2_WIDTH = 8; lime_media_openal_AL.EQUALIZER_HIGH_GAIN = 9; lime_media_openal_AL.EQUALIZER_HIGH_CUTOFF = 10; lime_media_openal_AL.EFFECT_FIRST_PARAMETER = 0; lime_media_openal_AL.EFFECT_LAST_PARAMETER = 32768; lime_media_openal_AL.EFFECT_TYPE = 32769; lime_media_openal_AL.EFFECT_NULL = 0; lime_media_openal_AL.EFFECT_EAXREVERB = 32768; lime_media_openal_AL.EFFECT_REVERB = 1; lime_media_openal_AL.EFFECT_CHORUS = 2; lime_media_openal_AL.EFFECT_DISTORTION = 3; lime_media_openal_AL.EFFECT_ECHO = 4; lime_media_openal_AL.EFFECT_FLANGER = 5; lime_media_openal_AL.EFFECT_FREQUENCY_SHIFTER = 6; lime_media_openal_AL.EFFECT_VOCAL_MORPHER = 7; lime_media_openal_AL.EFFECT_PITCH_SHIFTER = 8; lime_media_openal_AL.EFFECT_RING_MODULATOR = 9; lime_media_openal_AL.FFECT_AUTOWAH = 10; lime_media_openal_AL.EFFECT_COMPRESSOR = 11; lime_media_openal_AL.EFFECT_EQUALIZER = 12; lime_media_openal_AL.EFFECTSLOT_EFFECT = 1; lime_media_openal_AL.EFFECTSLOT_GAIN = 2; lime_media_openal_AL.EFFECTSLOT_AUXILIARY_SEND_AUTO = 3; lime_media_openal_AL.LOWPASS_GAIN = 1; lime_media_openal_AL.LOWPASS_GAINHF = 2; lime_media_openal_AL.HIGHPASS_GAIN = 1; lime_media_openal_AL.HIGHPASS_GAINLF = 2; lime_media_openal_AL.BANDPASS_GAIN = 1; lime_media_openal_AL.BANDPASS_GAINLF = 2; lime_media_openal_AL.BANDPASS_GAINHF = 3; lime_media_openal_AL.FILTER_FIRST_PARAMETER = 0; lime_media_openal_AL.FILTER_LAST_PARAMETER = 32768; lime_media_openal_AL.FILTER_TYPE = 32769; lime_media_openal_AL.FILTER_NULL = 0; lime_media_openal_AL.FILTER_LOWPASS = 1; lime_media_openal_AL.FILTER_HIGHPASS = 2; lime_media_openal_AL.FILTER_BANDPASS = 3; lime_media_openal_ALC.FALSE = 0; lime_media_openal_ALC.TRUE = 1; lime_media_openal_ALC.FREQUENCY = 4103; lime_media_openal_ALC.REFRESH = 4104; lime_media_openal_ALC.SYNC = 4105; lime_media_openal_ALC.MONO_SOURCES = 4112; lime_media_openal_ALC.STEREO_SOURCES = 4113; lime_media_openal_ALC.NO_ERROR = 0; lime_media_openal_ALC.INVALID_DEVICE = 40961; lime_media_openal_ALC.INVALID_CONTEXT = 40962; lime_media_openal_ALC.INVALID_ENUM = 40963; lime_media_openal_ALC.INVALID_VALUE = 40964; lime_media_openal_ALC.OUT_OF_MEMORY = 40965; lime_media_openal_ALC.ATTRIBUTES_SIZE = 4098; lime_media_openal_ALC.ALL_ATTRIBUTES = 4099; lime_media_openal_ALC.DEFAULT_DEVICE_SPECIFIER = 4100; lime_media_openal_ALC.DEVICE_SPECIFIER = 4101; lime_media_openal_ALC.EXTENSIONS = 4102; lime_media_openal_ALC.ENUMERATE_ALL_EXT = 1; lime_media_openal_ALC.DEFAULT_ALL_DEVICES_SPECIFIER = 4114; lime_media_openal_ALC.ALL_DEVICES_SPECIFIER = 4115; lime_system_CFFI.__moduleNames = null; lime_system_Clipboard.onUpdate = new lime_app__$Event_$Void_$Void(); lime_system_JNI.alreadyCreated = new haxe_ds_StringMap(); lime_system_JNI.initialized = false; lime_system_Sensor.sensorByID = new haxe_ds_IntMap(); lime_system_Sensor.sensors = []; lime_system_System.__directories = new haxe_ds_IntMap(); lime_ui_Gamepad.devices = new haxe_ds_IntMap(); lime_ui_Gamepad.onConnect = new lime_app__$Event_$lime_$ui_$Gamepad_$Void(); lime_ui__$GamepadAxis_GamepadAxis_$Impl_$.LEFT_X = 0; lime_ui__$GamepadAxis_GamepadAxis_$Impl_$.LEFT_Y = 1; lime_ui__$GamepadAxis_GamepadAxis_$Impl_$.RIGHT_X = 2; lime_ui__$GamepadAxis_GamepadAxis_$Impl_$.RIGHT_Y = 3; lime_ui__$GamepadAxis_GamepadAxis_$Impl_$.TRIGGER_LEFT = 4; lime_ui__$GamepadAxis_GamepadAxis_$Impl_$.TRIGGER_RIGHT = 5; lime_ui__$GamepadButton_GamepadButton_$Impl_$.A = 0; lime_ui__$GamepadButton_GamepadButton_$Impl_$.B = 1; lime_ui__$GamepadButton_GamepadButton_$Impl_$.X = 2; lime_ui__$GamepadButton_GamepadButton_$Impl_$.Y = 3; lime_ui__$GamepadButton_GamepadButton_$Impl_$.BACK = 4; lime_ui__$GamepadButton_GamepadButton_$Impl_$.GUIDE = 5; lime_ui__$GamepadButton_GamepadButton_$Impl_$.START = 6; lime_ui__$GamepadButton_GamepadButton_$Impl_$.LEFT_STICK = 7; lime_ui__$GamepadButton_GamepadButton_$Impl_$.RIGHT_STICK = 8; lime_ui__$GamepadButton_GamepadButton_$Impl_$.LEFT_SHOULDER = 9; lime_ui__$GamepadButton_GamepadButton_$Impl_$.RIGHT_SHOULDER = 10; lime_ui__$GamepadButton_GamepadButton_$Impl_$.DPAD_UP = 11; lime_ui__$GamepadButton_GamepadButton_$Impl_$.DPAD_DOWN = 12; lime_ui__$GamepadButton_GamepadButton_$Impl_$.DPAD_LEFT = 13; lime_ui__$GamepadButton_GamepadButton_$Impl_$.DPAD_RIGHT = 14; lime_ui_Joystick.devices = new haxe_ds_IntMap(); lime_ui_Joystick.onConnect = new lime_app__$Event_$lime_$ui_$Joystick_$Void(); lime_ui__$JoystickHatPosition_JoystickHatPosition_$Impl_$.CENTER = 0; lime_ui__$JoystickHatPosition_JoystickHatPosition_$Impl_$.DOWN = 4; lime_ui__$JoystickHatPosition_JoystickHatPosition_$Impl_$.LEFT = 8; lime_ui__$JoystickHatPosition_JoystickHatPosition_$Impl_$.RIGHT = 2; lime_ui__$JoystickHatPosition_JoystickHatPosition_$Impl_$.UP = 1; lime_ui__$JoystickHatPosition_JoystickHatPosition_$Impl_$.DOWN_LEFT = 12; lime_ui__$JoystickHatPosition_JoystickHatPosition_$Impl_$.DOWN_RIGHT = 6; lime_ui__$JoystickHatPosition_JoystickHatPosition_$Impl_$.UP_LEFT = 9; lime_ui__$JoystickHatPosition_JoystickHatPosition_$Impl_$.UP_RIGHT = 3; lime_ui__$KeyCode_KeyCode_$Impl_$.UNKNOWN = 0; lime_ui__$KeyCode_KeyCode_$Impl_$.BACKSPACE = 8; lime_ui__$KeyCode_KeyCode_$Impl_$.TAB = 9; lime_ui__$KeyCode_KeyCode_$Impl_$.RETURN = 13; lime_ui__$KeyCode_KeyCode_$Impl_$.ESCAPE = 27; lime_ui__$KeyCode_KeyCode_$Impl_$.SPACE = 32; lime_ui__$KeyCode_KeyCode_$Impl_$.EXCLAMATION = 33; lime_ui__$KeyCode_KeyCode_$Impl_$.QUOTE = 34; lime_ui__$KeyCode_KeyCode_$Impl_$.HASH = 35; lime_ui__$KeyCode_KeyCode_$Impl_$.DOLLAR = 36; lime_ui__$KeyCode_KeyCode_$Impl_$.PERCENT = 37; lime_ui__$KeyCode_KeyCode_$Impl_$.AMPERSAND = 38; lime_ui__$KeyCode_KeyCode_$Impl_$.SINGLE_QUOTE = 39; lime_ui__$KeyCode_KeyCode_$Impl_$.LEFT_PARENTHESIS = 40; lime_ui__$KeyCode_KeyCode_$Impl_$.RIGHT_PARENTHESIS = 41; lime_ui__$KeyCode_KeyCode_$Impl_$.ASTERISK = 42; lime_ui__$KeyCode_KeyCode_$Impl_$.PLUS = 43; lime_ui__$KeyCode_KeyCode_$Impl_$.COMMA = 44; lime_ui__$KeyCode_KeyCode_$Impl_$.MINUS = 45; lime_ui__$KeyCode_KeyCode_$Impl_$.PERIOD = 46; lime_ui__$KeyCode_KeyCode_$Impl_$.SLASH = 47; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMBER_0 = 48; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMBER_1 = 49; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMBER_2 = 50; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMBER_3 = 51; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMBER_4 = 52; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMBER_5 = 53; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMBER_6 = 54; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMBER_7 = 55; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMBER_8 = 56; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMBER_9 = 57; lime_ui__$KeyCode_KeyCode_$Impl_$.COLON = 58; lime_ui__$KeyCode_KeyCode_$Impl_$.SEMICOLON = 59; lime_ui__$KeyCode_KeyCode_$Impl_$.LESS_THAN = 60; lime_ui__$KeyCode_KeyCode_$Impl_$.EQUALS = 61; lime_ui__$KeyCode_KeyCode_$Impl_$.GREATER_THAN = 62; lime_ui__$KeyCode_KeyCode_$Impl_$.QUESTION = 63; lime_ui__$KeyCode_KeyCode_$Impl_$.AT = 64; lime_ui__$KeyCode_KeyCode_$Impl_$.LEFT_BRACKET = 91; lime_ui__$KeyCode_KeyCode_$Impl_$.BACKSLASH = 92; lime_ui__$KeyCode_KeyCode_$Impl_$.RIGHT_BRACKET = 93; lime_ui__$KeyCode_KeyCode_$Impl_$.CARET = 94; lime_ui__$KeyCode_KeyCode_$Impl_$.UNDERSCORE = 95; lime_ui__$KeyCode_KeyCode_$Impl_$.GRAVE = 96; lime_ui__$KeyCode_KeyCode_$Impl_$.A = 97; lime_ui__$KeyCode_KeyCode_$Impl_$.B = 98; lime_ui__$KeyCode_KeyCode_$Impl_$.C = 99; lime_ui__$KeyCode_KeyCode_$Impl_$.D = 100; lime_ui__$KeyCode_KeyCode_$Impl_$.E = 101; lime_ui__$KeyCode_KeyCode_$Impl_$.F = 102; lime_ui__$KeyCode_KeyCode_$Impl_$.G = 103; lime_ui__$KeyCode_KeyCode_$Impl_$.H = 104; lime_ui__$KeyCode_KeyCode_$Impl_$.I = 105; lime_ui__$KeyCode_KeyCode_$Impl_$.J = 106; lime_ui__$KeyCode_KeyCode_$Impl_$.K = 107; lime_ui__$KeyCode_KeyCode_$Impl_$.L = 108; lime_ui__$KeyCode_KeyCode_$Impl_$.M = 109; lime_ui__$KeyCode_KeyCode_$Impl_$.N = 110; lime_ui__$KeyCode_KeyCode_$Impl_$.O = 111; lime_ui__$KeyCode_KeyCode_$Impl_$.P = 112; lime_ui__$KeyCode_KeyCode_$Impl_$.Q = 113; lime_ui__$KeyCode_KeyCode_$Impl_$.R = 114; lime_ui__$KeyCode_KeyCode_$Impl_$.S = 115; lime_ui__$KeyCode_KeyCode_$Impl_$.T = 116; lime_ui__$KeyCode_KeyCode_$Impl_$.U = 117; lime_ui__$KeyCode_KeyCode_$Impl_$.V = 118; lime_ui__$KeyCode_KeyCode_$Impl_$.W = 119; lime_ui__$KeyCode_KeyCode_$Impl_$.X = 120; lime_ui__$KeyCode_KeyCode_$Impl_$.Y = 121; lime_ui__$KeyCode_KeyCode_$Impl_$.Z = 122; lime_ui__$KeyCode_KeyCode_$Impl_$.DELETE = 127; lime_ui__$KeyCode_KeyCode_$Impl_$.CAPS_LOCK = 1073741881; lime_ui__$KeyCode_KeyCode_$Impl_$.F1 = 1073741882; lime_ui__$KeyCode_KeyCode_$Impl_$.F2 = 1073741883; lime_ui__$KeyCode_KeyCode_$Impl_$.F3 = 1073741884; lime_ui__$KeyCode_KeyCode_$Impl_$.F4 = 1073741885; lime_ui__$KeyCode_KeyCode_$Impl_$.F5 = 1073741886; lime_ui__$KeyCode_KeyCode_$Impl_$.F6 = 1073741887; lime_ui__$KeyCode_KeyCode_$Impl_$.F7 = 1073741888; lime_ui__$KeyCode_KeyCode_$Impl_$.F8 = 1073741889; lime_ui__$KeyCode_KeyCode_$Impl_$.F9 = 1073741890; lime_ui__$KeyCode_KeyCode_$Impl_$.F10 = 1073741891; lime_ui__$KeyCode_KeyCode_$Impl_$.F11 = 1073741892; lime_ui__$KeyCode_KeyCode_$Impl_$.F12 = 1073741893; lime_ui__$KeyCode_KeyCode_$Impl_$.PRINT_SCREEN = 1073741894; lime_ui__$KeyCode_KeyCode_$Impl_$.SCROLL_LOCK = 1073741895; lime_ui__$KeyCode_KeyCode_$Impl_$.PAUSE = 1073741896; lime_ui__$KeyCode_KeyCode_$Impl_$.INSERT = 1073741897; lime_ui__$KeyCode_KeyCode_$Impl_$.HOME = 1073741898; lime_ui__$KeyCode_KeyCode_$Impl_$.PAGE_UP = 1073741899; lime_ui__$KeyCode_KeyCode_$Impl_$.END = 1073741901; lime_ui__$KeyCode_KeyCode_$Impl_$.PAGE_DOWN = 1073741902; lime_ui__$KeyCode_KeyCode_$Impl_$.RIGHT = 1073741903; lime_ui__$KeyCode_KeyCode_$Impl_$.LEFT = 1073741904; lime_ui__$KeyCode_KeyCode_$Impl_$.DOWN = 1073741905; lime_ui__$KeyCode_KeyCode_$Impl_$.UP = 1073741906; lime_ui__$KeyCode_KeyCode_$Impl_$.NUM_LOCK = 1073741907; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMPAD_DIVIDE = 1073741908; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMPAD_MULTIPLY = 1073741909; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMPAD_MINUS = 1073741910; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMPAD_PLUS = 1073741911; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMPAD_ENTER = 1073741912; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMPAD_1 = 1073741913; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMPAD_2 = 1073741914; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMPAD_3 = 1073741915; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMPAD_4 = 1073741916; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMPAD_5 = 1073741917; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMPAD_6 = 1073741918; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMPAD_7 = 1073741919; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMPAD_8 = 1073741920; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMPAD_9 = 1073741921; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMPAD_0 = 1073741922; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMPAD_PERIOD = 1073741923; lime_ui__$KeyCode_KeyCode_$Impl_$.APPLICATION = 1073741925; lime_ui__$KeyCode_KeyCode_$Impl_$.POWER = 1073741926; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMPAD_EQUALS = 1073741927; lime_ui__$KeyCode_KeyCode_$Impl_$.F13 = 1073741928; lime_ui__$KeyCode_KeyCode_$Impl_$.F14 = 1073741929; lime_ui__$KeyCode_KeyCode_$Impl_$.F15 = 1073741930; lime_ui__$KeyCode_KeyCode_$Impl_$.F16 = 1073741931; lime_ui__$KeyCode_KeyCode_$Impl_$.F17 = 1073741932; lime_ui__$KeyCode_KeyCode_$Impl_$.F18 = 1073741933; lime_ui__$KeyCode_KeyCode_$Impl_$.F19 = 1073741934; lime_ui__$KeyCode_KeyCode_$Impl_$.F20 = 1073741935; lime_ui__$KeyCode_KeyCode_$Impl_$.F21 = 1073741936; lime_ui__$KeyCode_KeyCode_$Impl_$.F22 = 1073741937; lime_ui__$KeyCode_KeyCode_$Impl_$.F23 = 1073741938; lime_ui__$KeyCode_KeyCode_$Impl_$.F24 = 1073741939; lime_ui__$KeyCode_KeyCode_$Impl_$.EXECUTE = 1073741940; lime_ui__$KeyCode_KeyCode_$Impl_$.HELP = 1073741941; lime_ui__$KeyCode_KeyCode_$Impl_$.MENU = 1073741942; lime_ui__$KeyCode_KeyCode_$Impl_$.SELECT = 1073741943; lime_ui__$KeyCode_KeyCode_$Impl_$.STOP = 1073741944; lime_ui__$KeyCode_KeyCode_$Impl_$.AGAIN = 1073741945; lime_ui__$KeyCode_KeyCode_$Impl_$.UNDO = 1073741946; lime_ui__$KeyCode_KeyCode_$Impl_$.CUT = 1073741947; lime_ui__$KeyCode_KeyCode_$Impl_$.COPY = 1073741948; lime_ui__$KeyCode_KeyCode_$Impl_$.PASTE = 1073741949; lime_ui__$KeyCode_KeyCode_$Impl_$.FIND = 1073741950; lime_ui__$KeyCode_KeyCode_$Impl_$.MUTE = 1073741951; lime_ui__$KeyCode_KeyCode_$Impl_$.VOLUME_UP = 1073741952; lime_ui__$KeyCode_KeyCode_$Impl_$.VOLUME_DOWN = 1073741953; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMPAD_COMMA = 1073741957; lime_ui__$KeyCode_KeyCode_$Impl_$.ALT_ERASE = 1073741977; lime_ui__$KeyCode_KeyCode_$Impl_$.SYSTEM_REQUEST = 1073741978; lime_ui__$KeyCode_KeyCode_$Impl_$.CANCEL = 1073741979; lime_ui__$KeyCode_KeyCode_$Impl_$.CLEAR = 1073741980; lime_ui__$KeyCode_KeyCode_$Impl_$.PRIOR = 1073741981; lime_ui__$KeyCode_KeyCode_$Impl_$.RETURN2 = 1073741982; lime_ui__$KeyCode_KeyCode_$Impl_$.SEPARATOR = 1073741983; lime_ui__$KeyCode_KeyCode_$Impl_$.OUT = 1073741984; lime_ui__$KeyCode_KeyCode_$Impl_$.OPER = 1073741985; lime_ui__$KeyCode_KeyCode_$Impl_$.CLEAR_AGAIN = 1073741986; lime_ui__$KeyCode_KeyCode_$Impl_$.CRSEL = 1073741987; lime_ui__$KeyCode_KeyCode_$Impl_$.EXSEL = 1073741988; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMPAD_00 = 1073742000; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMPAD_000 = 1073742001; lime_ui__$KeyCode_KeyCode_$Impl_$.THOUSAND_SEPARATOR = 1073742002; lime_ui__$KeyCode_KeyCode_$Impl_$.DECIMAL_SEPARATOR = 1073742003; lime_ui__$KeyCode_KeyCode_$Impl_$.CURRENCY_UNIT = 1073742004; lime_ui__$KeyCode_KeyCode_$Impl_$.CURRENCY_SUBUNIT = 1073742005; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMPAD_LEFT_PARENTHESIS = 1073742006; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMPAD_RIGHT_PARENTHESIS = 1073742007; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMPAD_LEFT_BRACE = 1073742008; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMPAD_RIGHT_BRACE = 1073742009; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMPAD_TAB = 1073742010; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMPAD_BACKSPACE = 1073742011; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMPAD_A = 1073742012; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMPAD_B = 1073742013; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMPAD_C = 1073742014; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMPAD_D = 1073742015; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMPAD_E = 1073742016; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMPAD_F = 1073742017; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMPAD_XOR = 1073742018; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMPAD_POWER = 1073742019; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMPAD_PERCENT = 1073742020; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMPAD_LESS_THAN = 1073742021; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMPAD_GREATER_THAN = 1073742022; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMPAD_AMPERSAND = 1073742023; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMPAD_DOUBLE_AMPERSAND = 1073742024; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMPAD_VERTICAL_BAR = 1073742025; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMPAD_DOUBLE_VERTICAL_BAR = 1073742026; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMPAD_COLON = 1073742027; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMPAD_HASH = 1073742028; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMPAD_SPACE = 1073742029; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMPAD_AT = 1073742030; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMPAD_EXCLAMATION = 1073742031; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMPAD_MEM_STORE = 1073742032; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMPAD_MEM_RECALL = 1073742033; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMPAD_MEM_CLEAR = 1073742034; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMPAD_MEM_ADD = 1073742035; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMPAD_MEM_SUBTRACT = 1073742036; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMPAD_MEM_MULTIPLY = 1073742037; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMPAD_MEM_DIVIDE = 1073742038; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMPAD_PLUS_MINUS = 1073742039; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMPAD_CLEAR = 1073742040; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMPAD_CLEAR_ENTRY = 1073742041; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMPAD_BINARY = 1073742042; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMPAD_OCTAL = 1073742043; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMPAD_DECIMAL = 1073742044; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMPAD_HEXADECIMAL = 1073742045; lime_ui__$KeyCode_KeyCode_$Impl_$.LEFT_CTRL = 1073742048; lime_ui__$KeyCode_KeyCode_$Impl_$.LEFT_SHIFT = 1073742049; lime_ui__$KeyCode_KeyCode_$Impl_$.LEFT_ALT = 1073742050; lime_ui__$KeyCode_KeyCode_$Impl_$.LEFT_META = 1073742051; lime_ui__$KeyCode_KeyCode_$Impl_$.RIGHT_CTRL = 1073742052; lime_ui__$KeyCode_KeyCode_$Impl_$.RIGHT_SHIFT = 1073742053; lime_ui__$KeyCode_KeyCode_$Impl_$.RIGHT_ALT = 1073742054; lime_ui__$KeyCode_KeyCode_$Impl_$.RIGHT_META = 1073742055; lime_ui__$KeyCode_KeyCode_$Impl_$.MODE = 1073742081; lime_ui__$KeyCode_KeyCode_$Impl_$.AUDIO_NEXT = 1073742082; lime_ui__$KeyCode_KeyCode_$Impl_$.AUDIO_PREVIOUS = 1073742083; lime_ui__$KeyCode_KeyCode_$Impl_$.AUDIO_STOP = 1073742084; lime_ui__$KeyCode_KeyCode_$Impl_$.AUDIO_PLAY = 1073742085; lime_ui__$KeyCode_KeyCode_$Impl_$.AUDIO_MUTE = 1073742086; lime_ui__$KeyCode_KeyCode_$Impl_$.MEDIA_SELECT = 1073742087; lime_ui__$KeyCode_KeyCode_$Impl_$.WWW = 1073742088; lime_ui__$KeyCode_KeyCode_$Impl_$.MAIL = 1073742089; lime_ui__$KeyCode_KeyCode_$Impl_$.CALCULATOR = 1073742090; lime_ui__$KeyCode_KeyCode_$Impl_$.COMPUTER = 1073742091; lime_ui__$KeyCode_KeyCode_$Impl_$.APP_CONTROL_SEARCH = 1073742092; lime_ui__$KeyCode_KeyCode_$Impl_$.APP_CONTROL_HOME = 1073742093; lime_ui__$KeyCode_KeyCode_$Impl_$.APP_CONTROL_BACK = 1073742094; lime_ui__$KeyCode_KeyCode_$Impl_$.APP_CONTROL_FORWARD = 1073742095; lime_ui__$KeyCode_KeyCode_$Impl_$.APP_CONTROL_STOP = 1073742096; lime_ui__$KeyCode_KeyCode_$Impl_$.APP_CONTROL_REFRESH = 1073742097; lime_ui__$KeyCode_KeyCode_$Impl_$.APP_CONTROL_BOOKMARKS = 1073742098; lime_ui__$KeyCode_KeyCode_$Impl_$.BRIGHTNESS_DOWN = 1073742099; lime_ui__$KeyCode_KeyCode_$Impl_$.BRIGHTNESS_UP = 1073742100; lime_ui__$KeyCode_KeyCode_$Impl_$.DISPLAY_SWITCH = 1073742101; lime_ui__$KeyCode_KeyCode_$Impl_$.BACKLIGHT_TOGGLE = 1073742102; lime_ui__$KeyCode_KeyCode_$Impl_$.BACKLIGHT_DOWN = 1073742103; lime_ui__$KeyCode_KeyCode_$Impl_$.BACKLIGHT_UP = 1073742104; lime_ui__$KeyCode_KeyCode_$Impl_$.EJECT = 1073742105; lime_ui__$KeyCode_KeyCode_$Impl_$.SLEEP = 1073742106; lime_ui__$KeyModifier_KeyModifier_$Impl_$.NONE = 0; lime_ui__$KeyModifier_KeyModifier_$Impl_$.LEFT_SHIFT = 1; lime_ui__$KeyModifier_KeyModifier_$Impl_$.RIGHT_SHIFT = 2; lime_ui__$KeyModifier_KeyModifier_$Impl_$.LEFT_CTRL = 64; lime_ui__$KeyModifier_KeyModifier_$Impl_$.RIGHT_CTRL = 128; lime_ui__$KeyModifier_KeyModifier_$Impl_$.LEFT_ALT = 256; lime_ui__$KeyModifier_KeyModifier_$Impl_$.RIGHT_ALT = 512; lime_ui__$KeyModifier_KeyModifier_$Impl_$.LEFT_META = 1024; lime_ui__$KeyModifier_KeyModifier_$Impl_$.RIGHT_META = 2048; lime_ui__$KeyModifier_KeyModifier_$Impl_$.NUM_LOCK = 4096; lime_ui__$KeyModifier_KeyModifier_$Impl_$.CAPS_LOCK = 8192; lime_ui__$KeyModifier_KeyModifier_$Impl_$.MODE = 16384; lime_ui__$KeyModifier_KeyModifier_$Impl_$.CTRL = 192; lime_ui__$KeyModifier_KeyModifier_$Impl_$.SHIFT = 3; lime_ui__$KeyModifier_KeyModifier_$Impl_$.ALT = 768; lime_ui__$KeyModifier_KeyModifier_$Impl_$.META = 3072; lime_ui__$ScanCode_ScanCode_$Impl_$.UNKNOWN = 0; lime_ui__$ScanCode_ScanCode_$Impl_$.BACKSPACE = 42; lime_ui__$ScanCode_ScanCode_$Impl_$.TAB = 43; lime_ui__$ScanCode_ScanCode_$Impl_$.RETURN = 40; lime_ui__$ScanCode_ScanCode_$Impl_$.ESCAPE = 41; lime_ui__$ScanCode_ScanCode_$Impl_$.SPACE = 44; lime_ui__$ScanCode_ScanCode_$Impl_$.SINGLE_QUOTE = 52; lime_ui__$ScanCode_ScanCode_$Impl_$.COMMA = 54; lime_ui__$ScanCode_ScanCode_$Impl_$.MINUS = 45; lime_ui__$ScanCode_ScanCode_$Impl_$.PERIOD = 55; lime_ui__$ScanCode_ScanCode_$Impl_$.SLASH = 56; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMBER_0 = 39; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMBER_1 = 30; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMBER_2 = 31; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMBER_3 = 32; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMBER_4 = 33; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMBER_5 = 34; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMBER_6 = 35; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMBER_7 = 36; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMBER_8 = 37; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMBER_9 = 38; lime_ui__$ScanCode_ScanCode_$Impl_$.SEMICOLON = 51; lime_ui__$ScanCode_ScanCode_$Impl_$.EQUALS = 46; lime_ui__$ScanCode_ScanCode_$Impl_$.LEFT_BRACKET = 47; lime_ui__$ScanCode_ScanCode_$Impl_$.BACKSLASH = 49; lime_ui__$ScanCode_ScanCode_$Impl_$.RIGHT_BRACKET = 48; lime_ui__$ScanCode_ScanCode_$Impl_$.GRAVE = 53; lime_ui__$ScanCode_ScanCode_$Impl_$.A = 4; lime_ui__$ScanCode_ScanCode_$Impl_$.B = 5; lime_ui__$ScanCode_ScanCode_$Impl_$.C = 6; lime_ui__$ScanCode_ScanCode_$Impl_$.D = 7; lime_ui__$ScanCode_ScanCode_$Impl_$.E = 8; lime_ui__$ScanCode_ScanCode_$Impl_$.F = 9; lime_ui__$ScanCode_ScanCode_$Impl_$.G = 10; lime_ui__$ScanCode_ScanCode_$Impl_$.H = 11; lime_ui__$ScanCode_ScanCode_$Impl_$.I = 12; lime_ui__$ScanCode_ScanCode_$Impl_$.J = 13; lime_ui__$ScanCode_ScanCode_$Impl_$.K = 14; lime_ui__$ScanCode_ScanCode_$Impl_$.L = 15; lime_ui__$ScanCode_ScanCode_$Impl_$.M = 16; lime_ui__$ScanCode_ScanCode_$Impl_$.N = 17; lime_ui__$ScanCode_ScanCode_$Impl_$.O = 18; lime_ui__$ScanCode_ScanCode_$Impl_$.P = 19; lime_ui__$ScanCode_ScanCode_$Impl_$.Q = 20; lime_ui__$ScanCode_ScanCode_$Impl_$.R = 21; lime_ui__$ScanCode_ScanCode_$Impl_$.S = 22; lime_ui__$ScanCode_ScanCode_$Impl_$.T = 23; lime_ui__$ScanCode_ScanCode_$Impl_$.U = 24; lime_ui__$ScanCode_ScanCode_$Impl_$.V = 25; lime_ui__$ScanCode_ScanCode_$Impl_$.W = 26; lime_ui__$ScanCode_ScanCode_$Impl_$.X = 27; lime_ui__$ScanCode_ScanCode_$Impl_$.Y = 28; lime_ui__$ScanCode_ScanCode_$Impl_$.Z = 29; lime_ui__$ScanCode_ScanCode_$Impl_$.DELETE = 76; lime_ui__$ScanCode_ScanCode_$Impl_$.CAPS_LOCK = 57; lime_ui__$ScanCode_ScanCode_$Impl_$.F1 = 58; lime_ui__$ScanCode_ScanCode_$Impl_$.F2 = 59; lime_ui__$ScanCode_ScanCode_$Impl_$.F3 = 60; lime_ui__$ScanCode_ScanCode_$Impl_$.F4 = 61; lime_ui__$ScanCode_ScanCode_$Impl_$.F5 = 62; lime_ui__$ScanCode_ScanCode_$Impl_$.F6 = 63; lime_ui__$ScanCode_ScanCode_$Impl_$.F7 = 64; lime_ui__$ScanCode_ScanCode_$Impl_$.F8 = 65; lime_ui__$ScanCode_ScanCode_$Impl_$.F9 = 66; lime_ui__$ScanCode_ScanCode_$Impl_$.F10 = 67; lime_ui__$ScanCode_ScanCode_$Impl_$.F11 = 68; lime_ui__$ScanCode_ScanCode_$Impl_$.F12 = 69; lime_ui__$ScanCode_ScanCode_$Impl_$.PRINT_SCREEN = 70; lime_ui__$ScanCode_ScanCode_$Impl_$.SCROLL_LOCK = 71; lime_ui__$ScanCode_ScanCode_$Impl_$.PAUSE = 72; lime_ui__$ScanCode_ScanCode_$Impl_$.INSERT = 73; lime_ui__$ScanCode_ScanCode_$Impl_$.HOME = 74; lime_ui__$ScanCode_ScanCode_$Impl_$.PAGE_UP = 75; lime_ui__$ScanCode_ScanCode_$Impl_$.END = 77; lime_ui__$ScanCode_ScanCode_$Impl_$.PAGE_DOWN = 78; lime_ui__$ScanCode_ScanCode_$Impl_$.RIGHT = 79; lime_ui__$ScanCode_ScanCode_$Impl_$.LEFT = 80; lime_ui__$ScanCode_ScanCode_$Impl_$.DOWN = 81; lime_ui__$ScanCode_ScanCode_$Impl_$.UP = 82; lime_ui__$ScanCode_ScanCode_$Impl_$.NUM_LOCK = 83; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMPAD_DIVIDE = 84; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMPAD_MULTIPLY = 85; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMPAD_MINUS = 86; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMPAD_PLUS = 87; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMPAD_ENTER = 88; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMPAD_1 = 89; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMPAD_2 = 90; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMPAD_3 = 91; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMPAD_4 = 92; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMPAD_5 = 93; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMPAD_6 = 94; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMPAD_7 = 95; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMPAD_8 = 96; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMPAD_9 = 97; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMPAD_0 = 98; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMPAD_PERIOD = 99; lime_ui__$ScanCode_ScanCode_$Impl_$.APPLICATION = 101; lime_ui__$ScanCode_ScanCode_$Impl_$.POWER = 102; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMPAD_EQUALS = 103; lime_ui__$ScanCode_ScanCode_$Impl_$.F13 = 104; lime_ui__$ScanCode_ScanCode_$Impl_$.F14 = 105; lime_ui__$ScanCode_ScanCode_$Impl_$.F15 = 106; lime_ui__$ScanCode_ScanCode_$Impl_$.F16 = 107; lime_ui__$ScanCode_ScanCode_$Impl_$.F17 = 108; lime_ui__$ScanCode_ScanCode_$Impl_$.F18 = 109; lime_ui__$ScanCode_ScanCode_$Impl_$.F19 = 110; lime_ui__$ScanCode_ScanCode_$Impl_$.F20 = 111; lime_ui__$ScanCode_ScanCode_$Impl_$.F21 = 112; lime_ui__$ScanCode_ScanCode_$Impl_$.F22 = 113; lime_ui__$ScanCode_ScanCode_$Impl_$.F23 = 114; lime_ui__$ScanCode_ScanCode_$Impl_$.F24 = 115; lime_ui__$ScanCode_ScanCode_$Impl_$.EXECUTE = 116; lime_ui__$ScanCode_ScanCode_$Impl_$.HELP = 117; lime_ui__$ScanCode_ScanCode_$Impl_$.MENU = 118; lime_ui__$ScanCode_ScanCode_$Impl_$.SELECT = 119; lime_ui__$ScanCode_ScanCode_$Impl_$.STOP = 120; lime_ui__$ScanCode_ScanCode_$Impl_$.AGAIN = 121; lime_ui__$ScanCode_ScanCode_$Impl_$.UNDO = 122; lime_ui__$ScanCode_ScanCode_$Impl_$.CUT = 123; lime_ui__$ScanCode_ScanCode_$Impl_$.COPY = 124; lime_ui__$ScanCode_ScanCode_$Impl_$.PASTE = 125; lime_ui__$ScanCode_ScanCode_$Impl_$.FIND = 126; lime_ui__$ScanCode_ScanCode_$Impl_$.MUTE = 127; lime_ui__$ScanCode_ScanCode_$Impl_$.VOLUME_UP = 128; lime_ui__$ScanCode_ScanCode_$Impl_$.VOLUME_DOWN = 129; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMPAD_COMMA = 133; lime_ui__$ScanCode_ScanCode_$Impl_$.ALT_ERASE = 153; lime_ui__$ScanCode_ScanCode_$Impl_$.SYSTEM_REQUEST = 154; lime_ui__$ScanCode_ScanCode_$Impl_$.CANCEL = 155; lime_ui__$ScanCode_ScanCode_$Impl_$.CLEAR = 156; lime_ui__$ScanCode_ScanCode_$Impl_$.PRIOR = 157; lime_ui__$ScanCode_ScanCode_$Impl_$.RETURN2 = 158; lime_ui__$ScanCode_ScanCode_$Impl_$.SEPARATOR = 159; lime_ui__$ScanCode_ScanCode_$Impl_$.OUT = 160; lime_ui__$ScanCode_ScanCode_$Impl_$.OPER = 161; lime_ui__$ScanCode_ScanCode_$Impl_$.CLEAR_AGAIN = 162; lime_ui__$ScanCode_ScanCode_$Impl_$.CRSEL = 163; lime_ui__$ScanCode_ScanCode_$Impl_$.EXSEL = 164; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMPAD_00 = 176; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMPAD_000 = 177; lime_ui__$ScanCode_ScanCode_$Impl_$.THOUSAND_SEPARATOR = 178; lime_ui__$ScanCode_ScanCode_$Impl_$.DECIMAL_SEPARATOR = 179; lime_ui__$ScanCode_ScanCode_$Impl_$.CURRENCY_UNIT = 180; lime_ui__$ScanCode_ScanCode_$Impl_$.CURRENCY_SUBUNIT = 181; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMPAD_LEFT_PARENTHESIS = 182; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMPAD_RIGHT_PARENTHESIS = 183; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMPAD_LEFT_BRACE = 184; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMPAD_RIGHT_BRACE = 185; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMPAD_TAB = 186; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMPAD_BACKSPACE = 187; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMPAD_A = 188; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMPAD_B = 189; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMPAD_C = 190; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMPAD_D = 191; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMPAD_E = 192; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMPAD_F = 193; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMPAD_XOR = 194; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMPAD_POWER = 195; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMPAD_PERCENT = 196; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMPAD_LESS_THAN = 197; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMPAD_GREATER_THAN = 198; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMPAD_AMPERSAND = 199; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMPAD_DOUBLE_AMPERSAND = 200; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMPAD_VERTICAL_BAR = 201; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMPAD_DOUBLE_VERTICAL_BAR = 202; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMPAD_COLON = 203; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMPAD_HASH = 204; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMPAD_SPACE = 205; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMPAD_AT = 206; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMPAD_EXCLAMATION = 207; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMPAD_MEM_STORE = 208; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMPAD_MEM_RECALL = 209; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMPAD_MEM_CLEAR = 210; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMPAD_MEM_ADD = 211; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMPAD_MEM_SUBTRACT = 212; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMPAD_MEM_MULTIPLY = 213; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMPAD_MEM_DIVIDE = 214; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMPAD_PLUS_MINUS = 215; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMPAD_CLEAR = 216; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMPAD_CLEAR_ENTRY = 217; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMPAD_BINARY = 218; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMPAD_OCTAL = 219; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMPAD_DECIMAL = 220; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMPAD_HEXADECIMAL = 221; lime_ui__$ScanCode_ScanCode_$Impl_$.LEFT_CTRL = 224; lime_ui__$ScanCode_ScanCode_$Impl_$.LEFT_SHIFT = 225; lime_ui__$ScanCode_ScanCode_$Impl_$.LEFT_ALT = 226; lime_ui__$ScanCode_ScanCode_$Impl_$.LEFT_META = 227; lime_ui__$ScanCode_ScanCode_$Impl_$.RIGHT_CTRL = 228; lime_ui__$ScanCode_ScanCode_$Impl_$.RIGHT_SHIFT = 229; lime_ui__$ScanCode_ScanCode_$Impl_$.RIGHT_ALT = 230; lime_ui__$ScanCode_ScanCode_$Impl_$.RIGHT_META = 231; lime_ui__$ScanCode_ScanCode_$Impl_$.MODE = 257; lime_ui__$ScanCode_ScanCode_$Impl_$.AUDIO_NEXT = 258; lime_ui__$ScanCode_ScanCode_$Impl_$.AUDIO_PREVIOUS = 259; lime_ui__$ScanCode_ScanCode_$Impl_$.AUDIO_STOP = 260; lime_ui__$ScanCode_ScanCode_$Impl_$.AUDIO_PLAY = 261; lime_ui__$ScanCode_ScanCode_$Impl_$.AUDIO_MUTE = 262; lime_ui__$ScanCode_ScanCode_$Impl_$.MEDIA_SELECT = 263; lime_ui__$ScanCode_ScanCode_$Impl_$.WWW = 264; lime_ui__$ScanCode_ScanCode_$Impl_$.MAIL = 265; lime_ui__$ScanCode_ScanCode_$Impl_$.CALCULATOR = 266; lime_ui__$ScanCode_ScanCode_$Impl_$.COMPUTER = 267; lime_ui__$ScanCode_ScanCode_$Impl_$.APP_CONTROL_SEARCH = 268; lime_ui__$ScanCode_ScanCode_$Impl_$.APP_CONTROL_HOME = 269; lime_ui__$ScanCode_ScanCode_$Impl_$.APP_CONTROL_BACK = 270; lime_ui__$ScanCode_ScanCode_$Impl_$.APP_CONTROL_FORWARD = 271; lime_ui__$ScanCode_ScanCode_$Impl_$.APP_CONTROL_STOP = 272; lime_ui__$ScanCode_ScanCode_$Impl_$.APP_CONTROL_REFRESH = 273; lime_ui__$ScanCode_ScanCode_$Impl_$.APP_CONTROL_BOOKMARKS = 274; lime_ui__$ScanCode_ScanCode_$Impl_$.BRIGHTNESS_DOWN = 275; lime_ui__$ScanCode_ScanCode_$Impl_$.BRIGHTNESS_UP = 276; lime_ui__$ScanCode_ScanCode_$Impl_$.DISPLAY_SWITCH = 277; lime_ui__$ScanCode_ScanCode_$Impl_$.BACKLIGHT_TOGGLE = 278; lime_ui__$ScanCode_ScanCode_$Impl_$.BACKLIGHT_DOWN = 279; lime_ui__$ScanCode_ScanCode_$Impl_$.BACKLIGHT_UP = 280; lime_ui__$ScanCode_ScanCode_$Impl_$.EJECT = 281; lime_ui__$ScanCode_ScanCode_$Impl_$.SLEEP = 282; lime_ui_Touch.onCancel = new lime_app__$Event_$lime_$ui_$Touch_$Void(); lime_ui_Touch.onEnd = new lime_app__$Event_$lime_$ui_$Touch_$Void(); lime_ui_Touch.onMove = new lime_app__$Event_$lime_$ui_$Touch_$Void(); lime_ui_Touch.onStart = new lime_app__$Event_$lime_$ui_$Touch_$Void(); lime_utils_Assets.cache = new lime_utils_AssetCache(); lime_utils_Assets.onChange = new lime_app__$Event_$Void_$Void(); lime_utils_Assets.libraries = new haxe_ds_StringMap(); lime_utils_Assets.libraryPaths = new haxe_ds_StringMap(); lime_utils__$Float32Array_Float32Array_$Impl_$.BYTES_PER_ELEMENT = 4; lime_utils__$Float64Array_Float64Array_$Impl_$.BYTES_PER_ELEMENT = 8; lime_utils__$Int16Array_Int16Array_$Impl_$.BYTES_PER_ELEMENT = 2; lime_utils__$Int32Array_Int32Array_$Impl_$.BYTES_PER_ELEMENT = 4; lime_utils__$Int8Array_Int8Array_$Impl_$.BYTES_PER_ELEMENT = 1; lime_utils_Log.throwErrors = true; lime_utils__$LogLevel_LogLevel_$Impl_$.NONE = 0; lime_utils__$LogLevel_LogLevel_$Impl_$.ERROR = 1; lime_utils__$LogLevel_LogLevel_$Impl_$.WARN = 2; lime_utils__$LogLevel_LogLevel_$Impl_$.INFO = 3; lime_utils__$LogLevel_LogLevel_$Impl_$.DEBUG = 4; lime_utils__$LogLevel_LogLevel_$Impl_$.VERBOSE = 5; lime_utils__$UInt16Array_UInt16Array_$Impl_$.BYTES_PER_ELEMENT = 2; lime_utils__$UInt32Array_UInt32Array_$Impl_$.BYTES_PER_ELEMENT = 4; lime_utils__$UInt8Array_UInt8Array_$Impl_$.BYTES_PER_ELEMENT = 1; lime_utils__$UInt8ClampedArray_UInt8ClampedArray_$Impl_$.BYTES_PER_ELEMENT = 1; nova_animation_Director.instance = new nova_animation_Director(); nova_input_InputController.instance = new nova_input_InputController(); nova_render_NovaEmitter.DEFAULT_PARTICLE_FPS = 9; nova_ui_dialog_DialogBox.DEFAULT_TEXT_PADDING_X = 6; nova_ui_dialog_DialogBox.DEFAULT_TEXT_PADDING_Y = 5; nova_ui_dialog_DialogBox.DIRECTOR_DIALOG_TRANSITION_STR = "__dialogTransition"; nova_ui_dialog_DialogBox.DIRECTOR_SLIDEIN_TRANSITION_STR = "__slideInTransition"; nova_ui_dialog_DialogBox.DEFAULT_FONT_SIZE = 5; nova_ui_dialog_DialogBoxAddons.parsePercentVariables = nova_ui_dialog_DialogBoxAddons.parseVariableCodes("%"); nova_ui_dialog_DialogParser.RESERVED_STRINGS = ["global","label","define","jump","choice_box","clear","if","emit","wait","else","not","or","and","return","debug"]; nova_ui_dialog_ExpressionNode.FALSE = new nova_ui_dialog_ExpressionNode(nova_ui_dialog_ExpressionNodeType.INTEGER,0); nova_ui_dialog_ExpressionNode.TRUE = new nova_ui_dialog_ExpressionNode(nova_ui_dialog_ExpressionNodeType.INTEGER,1); nova_utils__$Pair_Pair_$Impl_$.LEFT = nova_utils__$Pair_Pair_$Impl_$.fromIntArray([-1,0]); nova_utils__$Pair_Pair_$Impl_$.RIGHT = nova_utils__$Pair_Pair_$Impl_$.fromIntArray([1,0]); nova_utils__$Pair_Pair_$Impl_$.UP = nova_utils__$Pair_Pair_$Impl_$.fromIntArray([0,-1]); nova_utils__$Pair_Pair_$Impl_$.DOWN = nova_utils__$Pair_Pair_$Impl_$.fromIntArray([0,1]); openfl_Lib.__lastTimerID = 0; openfl_Lib.__sentWarnings = new haxe_ds_StringMap(); openfl_Lib.__timers = new haxe_ds_IntMap(); openfl__$internal_Lib.__sentWarnings = new haxe_ds_StringMap(); openfl__$internal_formats_agal_AGALConverter.limitedProfile = true; openfl__$internal_formats_html_HTMLParser.__regexAlign = new EReg("align=(\"([^\"]+)\"|'([^']+)')","i"); openfl__$internal_formats_html_HTMLParser.__regexBreakTag = new EReg("","gi"); openfl__$internal_formats_html_HTMLParser.__regexBlockIndent = new EReg("blockindent=(\"([^\"]+)\"|'([^']+)')","i"); openfl__$internal_formats_html_HTMLParser.__regexColor = new EReg("color=(\"#([^\"]+)\"|'#([^']+)')","i"); openfl__$internal_formats_html_HTMLParser.__regexEntities = [new EReg(""","g"),new EReg("'","g"),new EReg("&","g"),new EReg("<","g"),new EReg(">","g"),new EReg(" ","g")]; openfl__$internal_formats_html_HTMLParser.__regexFace = new EReg("face=(\"([^\"]+)\"|'([^']+)')","i"); openfl__$internal_formats_html_HTMLParser.__regexHTMLTag = new EReg("<.*?>","g"); openfl__$internal_formats_html_HTMLParser.__regexHref = new EReg("href=(\"([^\"]+)\"|'([^']+)')","i"); openfl__$internal_formats_html_HTMLParser.__regexIndent = new EReg(" indent=(\"([^\"]+)\"|'([^']+)')","i"); openfl__$internal_formats_html_HTMLParser.__regexLeading = new EReg("leading=(\"([^\"]+)\"|'([^']+)')","i"); openfl__$internal_formats_html_HTMLParser.__regexLeftMargin = new EReg("leftmargin=(\"([^\"]+)\"|'([^']+)')","i"); openfl__$internal_formats_html_HTMLParser.__regexRightMargin = new EReg("rightmargin=(\"([^\"]+)\"|'([^']+)')","i"); openfl__$internal_formats_html_HTMLParser.__regexSize = new EReg("size=(\"([^\"]+)\"|'([^']+)')","i"); openfl__$internal_formats_html_HTMLParser.__regexTabStops = new EReg("tabstops=(\"([^\"]+)\"|'([^']+)')","i"); openfl__$internal_formats_swf_SWFLite.instances = new haxe_ds_StringMap(); openfl__$internal_renderer_DrawCommandBuffer.empty = new openfl__$internal_renderer_DrawCommandBuffer(); openfl__$internal_renderer_canvas_CanvasGraphics.SIN45 = 0.70710678118654752440084436210485; openfl__$internal_renderer_canvas_CanvasGraphics.TAN22 = 0.4142135623730950488016887242097; openfl__$internal_renderer_canvas_CanvasGraphics.fillCommands = new openfl__$internal_renderer_DrawCommandBuffer(); openfl__$internal_renderer_canvas_CanvasGraphics.strokeCommands = new openfl__$internal_renderer_DrawCommandBuffer(); openfl__$internal_renderer_context3D_Context3DBuffer.MAX_INDEX_BUFFER_LENGTH = 65535; openfl__$internal_renderer_context3D_Context3DBuffer.MAX_QUADS_PER_INDEX_BUFFER = 10922; openfl__$internal_renderer_context3D_Context3DBuffer.MAX_QUAD_INDEX_BUFFER_LENGTH = 65532; openfl__$internal_renderer_context3D_Context3DGraphics.blankBitmapData = new openfl_display_BitmapData(1,1,false,0); openfl__$internal_renderer_context3D_Context3DGraphics.tempColorTransform = new openfl_geom_ColorTransform(1,1,1,1,0,0,0,0); openfl__$internal_renderer_context3D_Context3DMaskShader.opaqueBitmapData = new openfl_display_BitmapData(1,1,false,0); openfl__$internal_renderer_dom_DOMTextField.__regexColor = new EReg("color=(\"#([^\"]+)\"|'#([^']+)')","i"); openfl__$internal_renderer_dom_DOMTextField.__regexFace = new EReg("face=(\"([^\"]+)\"|'([^']+)')","i"); openfl__$internal_renderer_dom_DOMTextField.__regexFont = new EReg("]+)>","gi"); openfl__$internal_renderer_dom_DOMTextField.__regexCloseFont = new EReg("","gi"); openfl__$internal_renderer_dom_DOMTextField.__regexSize = new EReg("size=(\"([^\"]+)\"|'([^']+)')","i"); openfl__$internal_text_TextEngine.UTF8_TAB = 9; openfl__$internal_text_TextEngine.UTF8_ENDLINE = 10; openfl__$internal_text_TextEngine.UTF8_SPACE = 32; openfl__$internal_text_TextEngine.UTF8_HYPHEN = 45; openfl__$internal_text_TextEngine.__defaultFonts = new haxe_ds_StringMap(); openfl__$internal_text_TextLayout.FT_LOAD_DEFAULT = 0; openfl__$internal_text_TextLayout.FT_LOAD_NO_SCALE = 1; openfl__$internal_text_TextLayout.FT_LOAD_NO_HINTING = 2; openfl__$internal_text_TextLayout.FT_LOAD_RENDER = 4; openfl__$internal_text_TextLayout.FT_LOAD_NO_BITMAP = 8; openfl__$internal_text_TextLayout.FT_LOAD_VERTICAL_LAYOUT = 16; openfl__$internal_text_TextLayout.FT_LOAD_FORCE_AUTOHINT = 32; openfl__$internal_text_TextLayout.FT_LOAD_CROP_BITMAP = 64; openfl__$internal_text_TextLayout.FT_LOAD_PEDANTIC = 128; openfl__$internal_text_TextLayout.FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH = 256; openfl__$internal_text_TextLayout.FT_LOAD_NO_RECURSE = 512; openfl__$internal_text_TextLayout.FT_LOAD_IGNORE_TRANSFORM = 1024; openfl__$internal_text_TextLayout.FT_LOAD_MONOCHROME = 2048; openfl__$internal_text_TextLayout.FT_LOAD_LINEAR_DESIGN = 4096; openfl__$internal_text_TextLayout.FT_LOAD_NO_AUTOHINT = 8192; openfl__$internal_text_TextLayout.FT_LOAD_COLOR = 16384; openfl__$internal_text_TextLayout.FT_LOAD_COMPUTE_METRICS = 32768; openfl__$internal_text_TextLayout.FT_LOAD_BITMAP_METRICS_ONLY = 65536; openfl__$internal_text_TextLayout.FT_LOAD_TARGET_NORMAL = 0; openfl__$internal_text_TextLayout.FT_LOAD_TARGET_LIGHT = 0; openfl__$internal_text__$TextLayout_TextDirection_$Impl_$.INVALID = 0; openfl__$internal_text__$TextLayout_TextDirection_$Impl_$.LEFT_TO_RIGHT = 4; openfl__$internal_text__$TextLayout_TextDirection_$Impl_$.RIGHT_TO_LEFT = 5; openfl__$internal_text__$TextLayout_TextDirection_$Impl_$.TOP_TO_BOTTOM = 6; openfl__$internal_text__$TextLayout_TextDirection_$Impl_$.BOTTOM_TO_TOP = 7; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.COMMON = "Zyyy"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.INHERITED = "Zinh"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.UNKNOWN = "Zzzz"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.ARABIC = "Arab"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.ARMENIAN = "Armn"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.BENGALI = "Beng"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.CYRILLIC = "Cyrl"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.DEVANAGARI = "Deva"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.GEORGIAN = "Geor"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.GREEK = "Grek"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.GUJARATI = "Gujr"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.GURMUKHI = "Guru"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.HANGUL = "Hang"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.HAN = "Hani"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.HEBREW = "Hebr"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.HIRAGANA = "Hira"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.KANNADA = "Knda"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.KATAKANA = "Kana"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.LAO = "Laoo"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.LATIN = "Latn"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.MALAYALAM = "Mlym"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.ORIYA = "Orya"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.TAMIL = "Taml"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.TELUGA = "Telu"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.THAI = "Thai"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.TIBETAN = "Tibt"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.BOPOMOFO = "Bopo"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.BRAILLE = "Brai"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.CANADIAN_SYLLABICS = "Cans"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.CHEROKEE = "Cher"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.ETHIOPIC = "Ethi"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.KHMER = "Khmr"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.MONGOLIAN = "Mong"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.MYANMAR = "Mymr"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.OGHAM = "Ogam"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.RUNIC = "Runr"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.SINHALA = "Sinh"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.SYRIAC = "Syrc"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.THAANA = "Thaa"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.YI = "Yiii"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.DESERET = "Dsrt"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.GOTHIC = "Goth"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.OLD_ITALIC = "Ital"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.BUHID = "Buhd"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.HANUNOO = "Hano"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.TAGALOG = "Tglg"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.TAGBANWA = "Tagb"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.CYPRIOT = "Cprt"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.LIMBU = "Limb"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.LINEAR_B = "Linb"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.OSMANYA = "Osma"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.SHAVIAN = "Shaw"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.TAI_LE = "Tale"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.UGARITIC = "Ugar"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.BUGINESE = "Bugi"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.COPTIC = "Copt"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.GLAGOLITIC = "Glag"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.KHAROSHTHI = "Khar"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.NEW_TAI_LUE = "Talu"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.OLD_PERSIAN = "Xpeo"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.SYLOTI_NAGRI = "Sylo"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.TIFINAGH = "Tfng"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.BALINESE = "Bali"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.CUNEIFORM = "Xsux"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.NKO = "Nkoo"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.PHAGS_PA = "Phag"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.PHOENICIAN = "Phnx"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.CARIAN = "Cari"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.CHAM = "Cham"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.KAYAH_LI = "Kali"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.LEPCHA = "Lepc"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.LYCIAN = "Lyci"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.LYDIAN = "Lydi"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.OL_CHIKI = "Olck"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.REJANG = "Rjng"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.SAURASHTRA = "Saur"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.SUNDANESE = "Sund"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.VAI = "Vaii"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.AVESTAN = "Avst"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.BAMUM = "Bamu"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.EGYPTIAN_HIEROGLYPHS = "Egyp"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.IMPERIAL_ARAMAIC = "Armi"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.INSCRIPTIONAL_PAHLAVI = "Phli"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.INSCRIPTIONAL_PARTHIAN = "Prti"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.JAVANESE = "Java"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.KAITHI = "Kthi"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.LISU = "Lisu"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.MEETEI_MAYEK = "Mtei"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.OLD_SOUTH_ARABIAN = "Sarb"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.OLD_TURKIC = "Orkh"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.SAMARITAN = "Samr"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.TAI_THAM = "Lana"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.TAI_VIET = "Tavt"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.BATAK = "Batk"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.BRAHMI = "Brah"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.MANDAIC = "Mand"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.CHAKMA = "Cakm"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.MEROITIC_CURSIVE = "Merc"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.MEROITIC_HIEROGLYPHS = "Mero"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.MIAO = "Plrd"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.SHARADA = "Shrd"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.SORA_SOMPENG = "Sora"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.TAKRI = "Takr"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.BASSA_VAH = "Bass"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.CAUCASIAN_ALBANIAN = "Aghb"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.DUPLOYAN = "Dupl"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.ELBASAN = "Elba"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.GRANTHA = "Gran"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.KHOJKI = "Khoj"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.KHUDAWADI = "Sind"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.LINEAR_A = "Lina"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.MAHAJANI = "Mahj"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.MANICHAEAN = "Mani"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.MENDE_KIKAKUI = "Mend"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.MODI = "Modi"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.MRO = "Mroo"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.NABATAEAN = "Nbat"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.OLD_NORTH_ARABIAN = "Narb"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.OLD_PERMIC = "Perm"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.PAHAWH_HMONG = "Hmng"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.PALMYRENE = "Palm"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.PAU_CIN_HAU = "Pauc"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.PSALTER_PAHLAVI = "Phlp"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.SIDDHAM = "Sidd"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.TIRHUTA = "Tirh"; openfl__$internal_text__$TextLayout_TextScript_$Impl_$.WARANG_CITI = "Wara"; openfl__$internal_utils_PerlinNoise.P = [151,160,137,91,90,15,131,13,201,95,96,53,194,233,7,225,140,36,103,30,69,142,8,99,37,240,21,10,23,190,6,148,247,120,234,75,0,26,197,62,94,252,219,203,117,35,11,32,57,177,33,88,237,149,56,87,174,20,125,136,171,168,68,175,74,165,71,134,139,48,27,166,77,146,158,231,83,111,229,122,60,211,133,230,220,105,92,41,55,46,245,40,244,102,143,54,65,25,63,161,1,216,80,73,209,76,132,187,208,89,18,169,200,196,135,130,116,188,159,86,164,100,109,198,173,186,3,64,52,217,226,250,124,123,5,202,38,147,118,126,255,82,85,212,207,206,59,227,47,16,58,17,182,189,28,42,223,183,170,213,119,248,152,2,44,154,163,70,221,153,101,155,167,43,172,9,129,22,39,253,19,98,108,110,79,113,224,232,178,185,112,104,218,246,97,228,251,34,242,193,238,210,144,12,191,179,162,241,81,51,145,235,249,14,239,107,49,192,214,31,181,199,106,157,184,84,204,176,115,121,50,45,127,4,150,254,138,236,205,93,222,114,67,29,24,72,243,141,128,195,78,66,215,61,156,180,151,160,137,91,90,15,131,13,201,95,96,53,194,233,7,225,140,36,103,30,69,142,8,99,37,240,21,10,23,190,6,148,247,120,234,75,0,26,197,62,94,252,219,203,117,35,11,32,57,177,33,88,237,149,56,87,174,20,125,136,171,168,68,175,74,165,71,134,139,48,27,166,77,146,158,231,83,111,229,122,60,211,133,230,220,105,92,41,55,46,245,40,244,102,143,54,65,25,63,161,1,216,80,73,209,76,132,187,208,89,18,169,200,196,135,130,116,188,159,86,164,100,109,198,173,186,3,64,52,217,226,250,124,123,5,202,38,147,118,126,255,82,85,212,207,206,59,227,47,16,58,17,182,189,28,42,223,183,170,213,119,248,152,2,44,154,163,70,221,153,101,155,167,43,172,9,129,22,39,253,19,98,108,110,79,113,224,232,178,185,112,104,218,246,97,228,251,34,242,193,238,210,144,12,191,179,162,241,81,51,145,235,249,14,239,107,49,192,214,31,181,199,106,157,184,84,204,176,115,121,50,45,127,4,150,254,138,236,205,93,222,114,67,29,24,72,243,141,128,195,78,66,215,61,156,180]; openfl__$internal_utils_TouchData.__pool = new lime_utils_ObjectPool(function() { return new openfl__$internal_utils_TouchData(); },function(data) { data.reset(); }); openfl_display__$BlendMode_BlendMode_$Impl_$.ADD = 0; openfl_display__$BlendMode_BlendMode_$Impl_$.ALPHA = 1; openfl_display__$BlendMode_BlendMode_$Impl_$.DARKEN = 2; openfl_display__$BlendMode_BlendMode_$Impl_$.DIFFERENCE = 3; openfl_display__$BlendMode_BlendMode_$Impl_$.ERASE = 4; openfl_display__$BlendMode_BlendMode_$Impl_$.HARDLIGHT = 5; openfl_display__$BlendMode_BlendMode_$Impl_$.INVERT = 6; openfl_display__$BlendMode_BlendMode_$Impl_$.LAYER = 7; openfl_display__$BlendMode_BlendMode_$Impl_$.LIGHTEN = 8; openfl_display__$BlendMode_BlendMode_$Impl_$.MULTIPLY = 9; openfl_display__$BlendMode_BlendMode_$Impl_$.NORMAL = 10; openfl_display__$BlendMode_BlendMode_$Impl_$.OVERLAY = 11; openfl_display__$BlendMode_BlendMode_$Impl_$.SCREEN = 12; openfl_display__$BlendMode_BlendMode_$Impl_$.SHADER = 13; openfl_display__$BlendMode_BlendMode_$Impl_$.SUBTRACT = 14; openfl_display__$CapsStyle_CapsStyle_$Impl_$.NONE = 0; openfl_display__$CapsStyle_CapsStyle_$Impl_$.ROUND = 1; openfl_display__$CapsStyle_CapsStyle_$Impl_$.SQUARE = 2; openfl_display__$GradientType_GradientType_$Impl_$.LINEAR = 0; openfl_display__$GradientType_GradientType_$Impl_$.RADIAL = 1; openfl_display_Graphics.maxTextureHeight = null; openfl_display_Graphics.maxTextureWidth = null; openfl_display_GraphicsPath.SIN45 = 0.70710678118654752440084436210485; openfl_display_GraphicsPath.TAN22 = 0.4142135623730950488016887242097; openfl_display__$GraphicsPathWinding_GraphicsPathWinding_$Impl_$.EVEN_ODD = 0; openfl_display__$GraphicsPathWinding_GraphicsPathWinding_$Impl_$.NON_ZERO = 1; openfl_display__$InterpolationMethod_InterpolationMethod_$Impl_$.LINEAR_RGB = 0; openfl_display__$InterpolationMethod_InterpolationMethod_$Impl_$.RGB = 1; openfl_display__$JointStyle_JointStyle_$Impl_$.BEVEL = 0; openfl_display__$JointStyle_JointStyle_$Impl_$.MITER = 1; openfl_display__$JointStyle_JointStyle_$Impl_$.ROUND = 2; openfl_display__$LineScaleMode_LineScaleMode_$Impl_$.HORIZONTAL = 0; openfl_display__$LineScaleMode_LineScaleMode_$Impl_$.NONE = 1; openfl_display__$LineScaleMode_LineScaleMode_$Impl_$.NORMAL = 2; openfl_display__$LineScaleMode_LineScaleMode_$Impl_$.VERTICAL = 3; openfl_display_LoaderInfo.__rootURL = typeof(window) != "undefined" ? window.document.URL : ""; openfl_display_MovieClip.__useParentFPS = false; openfl_display_OpenGLRenderer.__alphaValue = [1.]; openfl_display_OpenGLRenderer.__colorMultipliersValue = [0,0,0,0.]; openfl_display_OpenGLRenderer.__colorOffsetsValue = [0,0,0,0.]; openfl_display_OpenGLRenderer.__defaultColorMultipliersValue = [1,1,1,1.]; openfl_display_OpenGLRenderer.__emptyColorValue = [0,0,0,0.]; openfl_display_OpenGLRenderer.__emptyAlphaValue = [1.]; openfl_display_OpenGLRenderer.__hasColorTransformValue = [false]; openfl_display_OpenGLRenderer.__scissorRectangle = new openfl_geom_Rectangle(); openfl_display_OpenGLRenderer.__textureSizeValue = [0,0.]; openfl_display__$PixelSnapping_PixelSnapping_$Impl_$.ALWAYS = 0; openfl_display__$PixelSnapping_PixelSnapping_$Impl_$.AUTO = 1; openfl_display__$PixelSnapping_PixelSnapping_$Impl_$.NEVER = 2; openfl_display__$ShaderParameterType_ShaderParameterType_$Impl_$.BOOL = 0; openfl_display__$ShaderParameterType_ShaderParameterType_$Impl_$.BOOL2 = 1; openfl_display__$ShaderParameterType_ShaderParameterType_$Impl_$.BOOL3 = 2; openfl_display__$ShaderParameterType_ShaderParameterType_$Impl_$.BOOL4 = 3; openfl_display__$ShaderParameterType_ShaderParameterType_$Impl_$.FLOAT = 4; openfl_display__$ShaderParameterType_ShaderParameterType_$Impl_$.FLOAT2 = 5; openfl_display__$ShaderParameterType_ShaderParameterType_$Impl_$.FLOAT3 = 6; openfl_display__$ShaderParameterType_ShaderParameterType_$Impl_$.FLOAT4 = 7; openfl_display__$ShaderParameterType_ShaderParameterType_$Impl_$.INT = 8; openfl_display__$ShaderParameterType_ShaderParameterType_$Impl_$.INT2 = 9; openfl_display__$ShaderParameterType_ShaderParameterType_$Impl_$.INT3 = 10; openfl_display__$ShaderParameterType_ShaderParameterType_$Impl_$.INT4 = 11; openfl_display__$ShaderParameterType_ShaderParameterType_$Impl_$.MATRIX2X2 = 12; openfl_display__$ShaderParameterType_ShaderParameterType_$Impl_$.MATRIX2X3 = 13; openfl_display__$ShaderParameterType_ShaderParameterType_$Impl_$.MATRIX2X4 = 14; openfl_display__$ShaderParameterType_ShaderParameterType_$Impl_$.MATRIX3X2 = 15; openfl_display__$ShaderParameterType_ShaderParameterType_$Impl_$.MATRIX3X3 = 16; openfl_display__$ShaderParameterType_ShaderParameterType_$Impl_$.MATRIX3X4 = 17; openfl_display__$ShaderParameterType_ShaderParameterType_$Impl_$.MATRIX4X2 = 18; openfl_display__$ShaderParameterType_ShaderParameterType_$Impl_$.MATRIX4X3 = 19; openfl_display__$ShaderParameterType_ShaderParameterType_$Impl_$.MATRIX4X4 = 20; openfl_display__$ShaderPrecision_ShaderPrecision_$Impl_$.FAST = 0; openfl_display__$ShaderPrecision_ShaderPrecision_$Impl_$.FULL = 1; openfl_display__$SpreadMethod_SpreadMethod_$Impl_$.PAD = 0; openfl_display__$SpreadMethod_SpreadMethod_$Impl_$.REFLECT = 1; openfl_display__$SpreadMethod_SpreadMethod_$Impl_$.REPEAT = 2; openfl_display__$StageAlign_StageAlign_$Impl_$.BOTTOM = 0; openfl_display__$StageAlign_StageAlign_$Impl_$.BOTTOM_LEFT = 1; openfl_display__$StageAlign_StageAlign_$Impl_$.BOTTOM_RIGHT = 2; openfl_display__$StageAlign_StageAlign_$Impl_$.LEFT = 3; openfl_display__$StageAlign_StageAlign_$Impl_$.RIGHT = 4; openfl_display__$StageAlign_StageAlign_$Impl_$.TOP = 5; openfl_display__$StageAlign_StageAlign_$Impl_$.TOP_LEFT = 6; openfl_display__$StageAlign_StageAlign_$Impl_$.TOP_RIGHT = 7; openfl_display__$StageDisplayState_StageDisplayState_$Impl_$.FULL_SCREEN = 0; openfl_display__$StageDisplayState_StageDisplayState_$Impl_$.FULL_SCREEN_INTERACTIVE = 1; openfl_display__$StageDisplayState_StageDisplayState_$Impl_$.NORMAL = 2; openfl_display__$StageQuality_StageQuality_$Impl_$.BEST = 0; openfl_display__$StageQuality_StageQuality_$Impl_$.HIGH = 1; openfl_display__$StageQuality_StageQuality_$Impl_$.LOW = 2; openfl_display__$StageQuality_StageQuality_$Impl_$.MEDIUM = 3; openfl_display__$StageScaleMode_StageScaleMode_$Impl_$.EXACT_FIT = 0; openfl_display__$StageScaleMode_StageScaleMode_$Impl_$.NO_BORDER = 1; openfl_display__$StageScaleMode_StageScaleMode_$Impl_$.NO_SCALE = 2; openfl_display__$StageScaleMode_StageScaleMode_$Impl_$.SHOW_ALL = 3; openfl_display__$TriangleCulling_TriangleCulling_$Impl_$.NEGATIVE = 0; openfl_display__$TriangleCulling_TriangleCulling_$Impl_$.NONE = 1; openfl_display__$TriangleCulling_TriangleCulling_$Impl_$.POSITIVE = 2; openfl_display3D_Context3D.supportsVideoTexture = true; openfl_display3D_Context3D.GL_DEPTH_STENCIL = -1; openfl_display3D_Context3D.GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT = -1; openfl_display3D_Context3D.GL_MAX_VIEWPORT_DIMS = -1; openfl_display3D_Context3D.GL_TEXTURE_MAX_ANISOTROPY_EXT = -1; openfl_display3D__$Context3DBlendFactor_Context3DBlendFactor_$Impl_$.DESTINATION_ALPHA = 0; openfl_display3D__$Context3DBlendFactor_Context3DBlendFactor_$Impl_$.DESTINATION_COLOR = 1; openfl_display3D__$Context3DBlendFactor_Context3DBlendFactor_$Impl_$.ONE = 2; openfl_display3D__$Context3DBlendFactor_Context3DBlendFactor_$Impl_$.ONE_MINUS_DESTINATION_ALPHA = 3; openfl_display3D__$Context3DBlendFactor_Context3DBlendFactor_$Impl_$.ONE_MINUS_DESTINATION_COLOR = 4; openfl_display3D__$Context3DBlendFactor_Context3DBlendFactor_$Impl_$.ONE_MINUS_SOURCE_ALPHA = 5; openfl_display3D__$Context3DBlendFactor_Context3DBlendFactor_$Impl_$.ONE_MINUS_SOURCE_COLOR = 6; openfl_display3D__$Context3DBlendFactor_Context3DBlendFactor_$Impl_$.SOURCE_ALPHA = 7; openfl_display3D__$Context3DBlendFactor_Context3DBlendFactor_$Impl_$.SOURCE_COLOR = 8; openfl_display3D__$Context3DBlendFactor_Context3DBlendFactor_$Impl_$.ZERO = 9; openfl_display3D__$Context3DBufferUsage_Context3DBufferUsage_$Impl_$.DYNAMIC_DRAW = 0; openfl_display3D__$Context3DBufferUsage_Context3DBufferUsage_$Impl_$.STATIC_DRAW = 1; openfl_display3D__$Context3DCompareMode_Context3DCompareMode_$Impl_$.ALWAYS = 0; openfl_display3D__$Context3DCompareMode_Context3DCompareMode_$Impl_$.EQUAL = 1; openfl_display3D__$Context3DCompareMode_Context3DCompareMode_$Impl_$.GREATER = 2; openfl_display3D__$Context3DCompareMode_Context3DCompareMode_$Impl_$.GREATER_EQUAL = 3; openfl_display3D__$Context3DCompareMode_Context3DCompareMode_$Impl_$.LESS = 4; openfl_display3D__$Context3DCompareMode_Context3DCompareMode_$Impl_$.LESS_EQUAL = 5; openfl_display3D__$Context3DCompareMode_Context3DCompareMode_$Impl_$.NEVER = 6; openfl_display3D__$Context3DCompareMode_Context3DCompareMode_$Impl_$.NOT_EQUAL = 7; openfl_display3D__$Context3DMipFilter_Context3DMipFilter_$Impl_$.MIPLINEAR = 0; openfl_display3D__$Context3DMipFilter_Context3DMipFilter_$Impl_$.MIPNEAREST = 1; openfl_display3D__$Context3DMipFilter_Context3DMipFilter_$Impl_$.MIPNONE = 2; openfl_display3D__$Context3DProfile_Context3DProfile_$Impl_$.BASELINE = 0; openfl_display3D__$Context3DProfile_Context3DProfile_$Impl_$.BASELINE_CONSTRAINED = 1; openfl_display3D__$Context3DProfile_Context3DProfile_$Impl_$.BASELINE_EXTENDED = 2; openfl_display3D__$Context3DProfile_Context3DProfile_$Impl_$.STANDARD = 3; openfl_display3D__$Context3DProfile_Context3DProfile_$Impl_$.STANDARD_CONSTRAINED = 4; openfl_display3D__$Context3DProfile_Context3DProfile_$Impl_$.STANDARD_EXTENDED = 5; openfl_display3D__$Context3DProgramFormat_Context3DProgramFormat_$Impl_$.AGAL = 0; openfl_display3D__$Context3DProgramFormat_Context3DProgramFormat_$Impl_$.GLSL = 1; openfl_display3D__$Context3DProgramType_Context3DProgramType_$Impl_$.FRAGMENT = 0; openfl_display3D__$Context3DProgramType_Context3DProgramType_$Impl_$.VERTEX = 1; openfl_display3D__$Context3DRenderMode_Context3DRenderMode_$Impl_$.AUTO = 0; openfl_display3D__$Context3DRenderMode_Context3DRenderMode_$Impl_$.SOFTWARE = 1; openfl_display3D__$Context3DStencilAction_Context3DStencilAction_$Impl_$.DECREMENT_SATURATE = 0; openfl_display3D__$Context3DStencilAction_Context3DStencilAction_$Impl_$.DECREMENT_WRAP = 1; openfl_display3D__$Context3DStencilAction_Context3DStencilAction_$Impl_$.INCREMENT_SATURATE = 2; openfl_display3D__$Context3DStencilAction_Context3DStencilAction_$Impl_$.INCREMENT_WRAP = 3; openfl_display3D__$Context3DStencilAction_Context3DStencilAction_$Impl_$.INVERT = 4; openfl_display3D__$Context3DStencilAction_Context3DStencilAction_$Impl_$.KEEP = 5; openfl_display3D__$Context3DStencilAction_Context3DStencilAction_$Impl_$.SET = 6; openfl_display3D__$Context3DStencilAction_Context3DStencilAction_$Impl_$.ZERO = 7; openfl_display3D__$Context3DTextureFilter_Context3DTextureFilter_$Impl_$.ANISOTROPIC16X = 0; openfl_display3D__$Context3DTextureFilter_Context3DTextureFilter_$Impl_$.ANISOTROPIC2X = 1; openfl_display3D__$Context3DTextureFilter_Context3DTextureFilter_$Impl_$.ANISOTROPIC4X = 2; openfl_display3D__$Context3DTextureFilter_Context3DTextureFilter_$Impl_$.ANISOTROPIC8X = 3; openfl_display3D__$Context3DTextureFilter_Context3DTextureFilter_$Impl_$.LINEAR = 4; openfl_display3D__$Context3DTextureFilter_Context3DTextureFilter_$Impl_$.NEAREST = 5; openfl_display3D__$Context3DTextureFormat_Context3DTextureFormat_$Impl_$.BGR_PACKED = 0; openfl_display3D__$Context3DTextureFormat_Context3DTextureFormat_$Impl_$.BGRA = 1; openfl_display3D__$Context3DTextureFormat_Context3DTextureFormat_$Impl_$.BGRA_PACKED = 2; openfl_display3D__$Context3DTextureFormat_Context3DTextureFormat_$Impl_$.COMPRESSED = 3; openfl_display3D__$Context3DTextureFormat_Context3DTextureFormat_$Impl_$.COMPRESSED_ALPHA = 4; openfl_display3D__$Context3DTextureFormat_Context3DTextureFormat_$Impl_$.RGBA_HALF_FLOAT = 5; openfl_display3D__$Context3DTriangleFace_Context3DTriangleFace_$Impl_$.BACK = 0; openfl_display3D__$Context3DTriangleFace_Context3DTriangleFace_$Impl_$.FRONT = 1; openfl_display3D__$Context3DTriangleFace_Context3DTriangleFace_$Impl_$.FRONT_AND_BACK = 2; openfl_display3D__$Context3DTriangleFace_Context3DTriangleFace_$Impl_$.NONE = 3; openfl_display3D__$Context3DVertexBufferFormat_Context3DVertexBufferFormat_$Impl_$.BYTES_4 = 0; openfl_display3D__$Context3DVertexBufferFormat_Context3DVertexBufferFormat_$Impl_$.FLOAT_1 = 1; openfl_display3D__$Context3DVertexBufferFormat_Context3DVertexBufferFormat_$Impl_$.FLOAT_2 = 2; openfl_display3D__$Context3DVertexBufferFormat_Context3DVertexBufferFormat_$Impl_$.FLOAT_3 = 3; openfl_display3D__$Context3DVertexBufferFormat_Context3DVertexBufferFormat_$Impl_$.FLOAT_4 = 4; openfl_display3D__$Context3DWrapMode_Context3DWrapMode_$Impl_$.CLAMP = 0; openfl_display3D__$Context3DWrapMode_Context3DWrapMode_$Impl_$.CLAMP_U_REPEAT_V = 1; openfl_display3D__$Context3DWrapMode_Context3DWrapMode_$Impl_$.REPEAT = 2; openfl_display3D__$Context3DWrapMode_Context3DWrapMode_$Impl_$.REPEAT_U_CLAMP_V = 3; openfl_display3D_textures_TextureBase.__supportsBGRA = null; openfl_display3D_textures_Texture.__lowMemoryMode = false; openfl_errors_Error.DEFAULT_TO_STRING = "Error"; openfl_events_Event.ACTIVATE = "activate"; openfl_events_Event.ADDED = "added"; openfl_events_Event.ADDED_TO_STAGE = "addedToStage"; openfl_events_Event.CANCEL = "cancel"; openfl_events_Event.CHANGE = "change"; openfl_events_Event.CLEAR = "clear"; openfl_events_Event.CLOSE = "close"; openfl_events_Event.COMPLETE = "complete"; openfl_events_Event.CONNECT = "connect"; openfl_events_Event.CONTEXT3D_CREATE = "context3DCreate"; openfl_events_Event.COPY = "copy"; openfl_events_Event.CUT = "cut"; openfl_events_Event.DEACTIVATE = "deactivate"; openfl_events_Event.ENTER_FRAME = "enterFrame"; openfl_events_Event.EXIT_FRAME = "exitFrame"; openfl_events_Event.FRAME_CONSTRUCTED = "frameConstructed"; openfl_events_Event.FRAME_LABEL = "frameLabel"; openfl_events_Event.FULLSCREEN = "fullScreen"; openfl_events_Event.ID3 = "id3"; openfl_events_Event.INIT = "init"; openfl_events_Event.MOUSE_LEAVE = "mouseLeave"; openfl_events_Event.OPEN = "open"; openfl_events_Event.PASTE = "paste"; openfl_events_Event.REMOVED = "removed"; openfl_events_Event.REMOVED_FROM_STAGE = "removedFromStage"; openfl_events_Event.RENDER = "render"; openfl_events_Event.RESIZE = "resize"; openfl_events_Event.SCROLL = "scroll"; openfl_events_Event.SELECT = "select"; openfl_events_Event.SELECT_ALL = "selectAll"; openfl_events_Event.SOUND_COMPLETE = "soundComplete"; openfl_events_Event.TAB_CHILDREN_CHANGE = "tabChildrenChange"; openfl_events_Event.TAB_ENABLED_CHANGE = "tabEnabledChange"; openfl_events_Event.TAB_INDEX_CHANGE = "tabIndexChange"; openfl_events_Event.TEXTURE_READY = "textureReady"; openfl_events_Event.UNLOAD = "unload"; openfl_events_AccelerometerEvent.UPDATE = "update"; openfl_events_ActivityEvent.ACTIVITY = "activity"; openfl_events_TextEvent.LINK = "link"; openfl_events_TextEvent.TEXT_INPUT = "textInput"; openfl_events_ErrorEvent.ERROR = "error"; openfl_events_FocusEvent.FOCUS_IN = "focusIn"; openfl_events_FocusEvent.FOCUS_OUT = "focusOut"; openfl_events_FocusEvent.KEY_FOCUS_CHANGE = "keyFocusChange"; openfl_events_FocusEvent.MOUSE_FOCUS_CHANGE = "mouseFocusChange"; openfl_events_FullScreenEvent.FULL_SCREEN = "fullScreen"; openfl_events_FullScreenEvent.FULL_SCREEN_INTERACTIVE_ACCEPTED = "fullScreenInteractiveAccepted"; openfl_events_GameInputEvent.DEVICE_ADDED = "deviceAdded"; openfl_events_GameInputEvent.DEVICE_REMOVED = "deviceRemoved"; openfl_events_GameInputEvent.DEVICE_UNUSABLE = "deviceUnusable"; openfl_events_HTTPStatusEvent.HTTP_RESPONSE_STATUS = "httpResponseStatus"; openfl_events_HTTPStatusEvent.HTTP_STATUS = "httpStatus"; openfl_events_IOErrorEvent.IO_ERROR = "ioError"; openfl_events_KeyboardEvent.KEY_DOWN = "keyDown"; openfl_events_KeyboardEvent.KEY_UP = "keyUp"; openfl_events_MouseEvent.CLICK = "click"; openfl_events_MouseEvent.DOUBLE_CLICK = "doubleClick"; openfl_events_MouseEvent.MIDDLE_CLICK = "middleClick"; openfl_events_MouseEvent.MIDDLE_MOUSE_DOWN = "middleMouseDown"; openfl_events_MouseEvent.MIDDLE_MOUSE_UP = "middleMouseUp"; openfl_events_MouseEvent.MOUSE_DOWN = "mouseDown"; openfl_events_MouseEvent.MOUSE_MOVE = "mouseMove"; openfl_events_MouseEvent.MOUSE_OUT = "mouseOut"; openfl_events_MouseEvent.MOUSE_OVER = "mouseOver"; openfl_events_MouseEvent.MOUSE_UP = "mouseUp"; openfl_events_MouseEvent.MOUSE_WHEEL = "mouseWheel"; openfl_events_MouseEvent.RELEASE_OUTSIDE = "releaseOutside"; openfl_events_MouseEvent.RIGHT_CLICK = "rightClick"; openfl_events_MouseEvent.RIGHT_MOUSE_DOWN = "rightMouseDown"; openfl_events_MouseEvent.RIGHT_MOUSE_UP = "rightMouseUp"; openfl_events_MouseEvent.ROLL_OUT = "rollOut"; openfl_events_MouseEvent.ROLL_OVER = "rollOver"; openfl_events_NetStatusEvent.NET_STATUS = "netStatus"; openfl_events_ProgressEvent.PROGRESS = "progress"; openfl_events_ProgressEvent.SOCKET_DATA = "socketData"; openfl_events_RenderEvent.CLEAR_DOM = "clearDOM"; openfl_events_RenderEvent.RENDER_CAIRO = "renderCairo"; openfl_events_RenderEvent.RENDER_CANVAS = "renderCanvas"; openfl_events_RenderEvent.RENDER_DOM = "renderDOM"; openfl_events_RenderEvent.RENDER_OPENGL = "renderOpenGL"; openfl_events_SecurityErrorEvent.SECURITY_ERROR = "securityError"; openfl_events_TouchEvent.TOUCH_BEGIN = "touchBegin"; openfl_events_TouchEvent.TOUCH_END = "touchEnd"; openfl_events_TouchEvent.TOUCH_MOVE = "touchMove"; openfl_events_TouchEvent.TOUCH_OUT = "touchOut"; openfl_events_TouchEvent.TOUCH_OVER = "touchOver"; openfl_events_TouchEvent.TOUCH_ROLL_OUT = "touchRollOut"; openfl_events_TouchEvent.TOUCH_ROLL_OVER = "touchRollOver"; openfl_events_TouchEvent.TOUCH_TAP = "touchTap"; openfl_events_UncaughtErrorEvent.UNCAUGHT_ERROR = "uncaughtError"; openfl_filters_BlurFilter.__blurShader = new openfl_filters__$BlurFilter_BlurShader(); openfl_filters_ColorMatrixFilter.__colorMatrixShader = new openfl_filters__$ColorMatrixFilter_ColorMatrixShader(); openfl_filters_GlowFilter.__glowShader = new openfl_filters__$GlowFilter_GlowShader(); openfl_geom__$Orientation3D_Orientation3D_$Impl_$.AXIS_ANGLE = 0; openfl_geom__$Orientation3D_Orientation3D_$Impl_$.EULER_ANGLES = 1; openfl_geom__$Orientation3D_Orientation3D_$Impl_$.QUATERNION = 2; openfl_media_SoundMixer.MAX_ACTIVE_CHANNELS = 32; openfl_media_SoundMixer.__soundChannels = []; openfl_media_SoundMixer.__soundTransform = new openfl_media_SoundTransform(); openfl_net_NetConnection.CONNECT_SUCCESS = "NetConnection.Connect.Success"; openfl_net_SharedObject.defaultObjectEncoding = 10; openfl_net__$SharedObjectFlushStatus_SharedObjectFlushStatus_$Impl_$.FLUSHED = 0; openfl_net__$SharedObjectFlushStatus_SharedObjectFlushStatus_$Impl_$.PENDING = 1; openfl_net__$URLLoaderDataFormat_URLLoaderDataFormat_$Impl_$.BINARY = 0; openfl_net__$URLLoaderDataFormat_URLLoaderDataFormat_$Impl_$.TEXT = 1; openfl_net__$URLLoaderDataFormat_URLLoaderDataFormat_$Impl_$.VARIABLES = 2; openfl_net_URLRequestDefaults.followRedirects = true; openfl_net_URLRequestDefaults.idleTimeout = 0; openfl_net_URLRequestDefaults.manageCookies = false; openfl_sensors_Accelerometer.currentX = 0.0; openfl_sensors_Accelerometer.currentY = 1.0; openfl_sensors_Accelerometer.currentZ = 0.0; openfl_sensors_Accelerometer.defaultInterval = 34; openfl_sensors_Accelerometer.initialized = false; openfl_sensors_Accelerometer.supported = false; openfl_system_ApplicationDomain.currentDomain = new openfl_system_ApplicationDomain(null); openfl_system_SecurityDomain.currentDomain = new openfl_system_SecurityDomain(); openfl_system_System.useCodePage = false; openfl_text__$AntiAliasType_AntiAliasType_$Impl_$.ADVANCED = 0; openfl_text__$AntiAliasType_AntiAliasType_$Impl_$.NORMAL = 1; openfl_text__$FontStyle_FontStyle_$Impl_$.BOLD = 0; openfl_text__$FontStyle_FontStyle_$Impl_$.BOLD_ITALIC = 1; openfl_text__$FontStyle_FontStyle_$Impl_$.ITALIC = 2; openfl_text__$FontStyle_FontStyle_$Impl_$.REGULAR = 3; openfl_text__$FontType_FontType_$Impl_$.DEVICE = 0; openfl_text__$FontType_FontType_$Impl_$.EMBEDDED = 1; openfl_text__$FontType_FontType_$Impl_$.EMBEDDED_CFF = 2; openfl_text__$GridFitType_GridFitType_$Impl_$.NONE = 0; openfl_text__$GridFitType_GridFitType_$Impl_$.PIXEL = 1; openfl_text__$GridFitType_GridFitType_$Impl_$.SUBPIXEL = 2; openfl_text_TextField.__missingFontWarning = new haxe_ds_StringMap(); openfl_text__$TextFieldAutoSize_TextFieldAutoSize_$Impl_$.CENTER = 0; openfl_text__$TextFieldAutoSize_TextFieldAutoSize_$Impl_$.LEFT = 1; openfl_text__$TextFieldAutoSize_TextFieldAutoSize_$Impl_$.NONE = 2; openfl_text__$TextFieldAutoSize_TextFieldAutoSize_$Impl_$.RIGHT = 3; openfl_text__$TextFieldType_TextFieldType_$Impl_$.DYNAMIC = 0; openfl_text__$TextFieldType_TextFieldType_$Impl_$.INPUT = 1; openfl_text__$TextFormatAlign_TextFormatAlign_$Impl_$.CENTER = 0; openfl_text__$TextFormatAlign_TextFormatAlign_$Impl_$.END = 1; openfl_text__$TextFormatAlign_TextFormatAlign_$Impl_$.JUSTIFY = 2; openfl_text__$TextFormatAlign_TextFormatAlign_$Impl_$.LEFT = 3; openfl_text__$TextFormatAlign_TextFormatAlign_$Impl_$.RIGHT = 4; openfl_text__$TextFormatAlign_TextFormatAlign_$Impl_$.START = 5; openfl_ui_GameInputDevice.MAX_BUFFER_SIZE = 32000; openfl_ui_Keyboard.NUMBER_0 = 48; openfl_ui_Keyboard.NUMBER_1 = 49; openfl_ui_Keyboard.NUMBER_2 = 50; openfl_ui_Keyboard.NUMBER_3 = 51; openfl_ui_Keyboard.NUMBER_4 = 52; openfl_ui_Keyboard.NUMBER_5 = 53; openfl_ui_Keyboard.NUMBER_6 = 54; openfl_ui_Keyboard.NUMBER_7 = 55; openfl_ui_Keyboard.NUMBER_8 = 56; openfl_ui_Keyboard.NUMBER_9 = 57; openfl_ui_Keyboard.A = 65; openfl_ui_Keyboard.B = 66; openfl_ui_Keyboard.C = 67; openfl_ui_Keyboard.D = 68; openfl_ui_Keyboard.E = 69; openfl_ui_Keyboard.F = 70; openfl_ui_Keyboard.G = 71; openfl_ui_Keyboard.H = 72; openfl_ui_Keyboard.I = 73; openfl_ui_Keyboard.J = 74; openfl_ui_Keyboard.K = 75; openfl_ui_Keyboard.L = 76; openfl_ui_Keyboard.M = 77; openfl_ui_Keyboard.N = 78; openfl_ui_Keyboard.O = 79; openfl_ui_Keyboard.P = 80; openfl_ui_Keyboard.Q = 81; openfl_ui_Keyboard.R = 82; openfl_ui_Keyboard.S = 83; openfl_ui_Keyboard.T = 84; openfl_ui_Keyboard.U = 85; openfl_ui_Keyboard.V = 86; openfl_ui_Keyboard.W = 87; openfl_ui_Keyboard.X = 88; openfl_ui_Keyboard.Y = 89; openfl_ui_Keyboard.Z = 90; openfl_ui_Keyboard.NUMPAD_0 = 96; openfl_ui_Keyboard.NUMPAD_1 = 97; openfl_ui_Keyboard.NUMPAD_2 = 98; openfl_ui_Keyboard.NUMPAD_3 = 99; openfl_ui_Keyboard.NUMPAD_4 = 100; openfl_ui_Keyboard.NUMPAD_5 = 101; openfl_ui_Keyboard.NUMPAD_6 = 102; openfl_ui_Keyboard.NUMPAD_7 = 103; openfl_ui_Keyboard.NUMPAD_8 = 104; openfl_ui_Keyboard.NUMPAD_9 = 105; openfl_ui_Keyboard.NUMPAD_MULTIPLY = 106; openfl_ui_Keyboard.NUMPAD_ADD = 107; openfl_ui_Keyboard.NUMPAD_ENTER = 108; openfl_ui_Keyboard.NUMPAD_SUBTRACT = 109; openfl_ui_Keyboard.NUMPAD_DECIMAL = 110; openfl_ui_Keyboard.NUMPAD_DIVIDE = 111; openfl_ui_Keyboard.F1 = 112; openfl_ui_Keyboard.F2 = 113; openfl_ui_Keyboard.F3 = 114; openfl_ui_Keyboard.F4 = 115; openfl_ui_Keyboard.F5 = 116; openfl_ui_Keyboard.F6 = 117; openfl_ui_Keyboard.F7 = 118; openfl_ui_Keyboard.F8 = 119; openfl_ui_Keyboard.F9 = 120; openfl_ui_Keyboard.F10 = 121; openfl_ui_Keyboard.F11 = 122; openfl_ui_Keyboard.F12 = 123; openfl_ui_Keyboard.F13 = 124; openfl_ui_Keyboard.F14 = 125; openfl_ui_Keyboard.F15 = 126; openfl_ui_Keyboard.BACKSPACE = 8; openfl_ui_Keyboard.TAB = 9; openfl_ui_Keyboard.ALTERNATE = 18; openfl_ui_Keyboard.ENTER = 13; openfl_ui_Keyboard.COMMAND = 15; openfl_ui_Keyboard.SHIFT = 16; openfl_ui_Keyboard.CONTROL = 17; openfl_ui_Keyboard.BREAK = 19; openfl_ui_Keyboard.CAPS_LOCK = 20; openfl_ui_Keyboard.NUMPAD = 21; openfl_ui_Keyboard.ESCAPE = 27; openfl_ui_Keyboard.SPACE = 32; openfl_ui_Keyboard.PAGE_UP = 33; openfl_ui_Keyboard.PAGE_DOWN = 34; openfl_ui_Keyboard.END = 35; openfl_ui_Keyboard.HOME = 36; openfl_ui_Keyboard.LEFT = 37; openfl_ui_Keyboard.RIGHT = 39; openfl_ui_Keyboard.UP = 38; openfl_ui_Keyboard.DOWN = 40; openfl_ui_Keyboard.INSERT = 45; openfl_ui_Keyboard.DELETE = 46; openfl_ui_Keyboard.NUMLOCK = 144; openfl_ui_Keyboard.SEMICOLON = 186; openfl_ui_Keyboard.EQUAL = 187; openfl_ui_Keyboard.COMMA = 188; openfl_ui_Keyboard.MINUS = 189; openfl_ui_Keyboard.PERIOD = 190; openfl_ui_Keyboard.SLASH = 191; openfl_ui_Keyboard.BACKQUOTE = 192; openfl_ui_Keyboard.LEFTBRACKET = 219; openfl_ui_Keyboard.BACKSLASH = 220; openfl_ui_Keyboard.RIGHTBRACKET = 221; openfl_ui_Keyboard.QUOTE = 222; openfl_ui_Mouse.supportsCursor = true; openfl_ui_Mouse.supportsNativeCursor = true; openfl_ui_Mouse.__cursor = "auto"; openfl_ui__$MouseCursor_MouseCursor_$Impl_$.ARROW = "arrow"; openfl_ui__$MouseCursor_MouseCursor_$Impl_$.AUTO = "auto"; openfl_ui__$MouseCursor_MouseCursor_$Impl_$.BUTTON = "button"; openfl_ui__$MouseCursor_MouseCursor_$Impl_$.HAND = "hand"; openfl_ui__$MouseCursor_MouseCursor_$Impl_$.IBEAM = "ibeam"; openfl_ui__$MouseCursor_MouseCursor_$Impl_$.__CROSSHAIR = "crosshair"; openfl_ui__$MouseCursor_MouseCursor_$Impl_$.__CUSTOM = "custom"; openfl_ui__$MouseCursor_MouseCursor_$Impl_$.__MOVE = "move"; openfl_ui__$MouseCursor_MouseCursor_$Impl_$.__RESIZE_NESW = "resize_nesw"; openfl_ui__$MouseCursor_MouseCursor_$Impl_$.__RESIZE_NS = "resize_ns"; openfl_ui__$MouseCursor_MouseCursor_$Impl_$.__RESIZE_NWSE = "resize_nwse"; openfl_ui__$MouseCursor_MouseCursor_$Impl_$.__RESIZE_WE = "resize_we"; openfl_ui__$MouseCursor_MouseCursor_$Impl_$.__WAIT = "wait"; openfl_ui__$MouseCursor_MouseCursor_$Impl_$.__WAIT_ARROW = "waitarrow"; openfl_ui__$MultitouchInputMode_MultitouchInputMode_$Impl_$.GESTURE = 0; openfl_ui__$MultitouchInputMode_MultitouchInputMode_$Impl_$.NONE = 1; openfl_ui__$MultitouchInputMode_MultitouchInputMode_$Impl_$.TOUCH_POINT = 2; openfl_utils_AGALMiniAssembler.OPMAP = new haxe_ds_StringMap(); openfl_utils_AGALMiniAssembler.REGMAP = new haxe_ds_StringMap(); openfl_utils_AGALMiniAssembler.SAMPLEMAP = new haxe_ds_StringMap(); openfl_utils_AGALMiniAssembler.MAX_NESTING = 4; openfl_utils_AGALMiniAssembler.MAX_OPCODES = 4096; openfl_utils_AGALMiniAssembler.FRAGMENT = "fragment"; openfl_utils_AGALMiniAssembler.VERTEX = "vertex"; openfl_utils_AGALMiniAssembler.SAMPLER_TYPE_SHIFT = 8; openfl_utils_AGALMiniAssembler.SAMPLER_DIM_SHIFT = 12; openfl_utils_AGALMiniAssembler.SAMPLER_SPECIAL_SHIFT = 16; openfl_utils_AGALMiniAssembler.SAMPLER_REPEAT_SHIFT = 20; openfl_utils_AGALMiniAssembler.SAMPLER_MIPMAP_SHIFT = 24; openfl_utils_AGALMiniAssembler.SAMPLER_FILTER_SHIFT = 28; openfl_utils_AGALMiniAssembler.REG_WRITE = 1; openfl_utils_AGALMiniAssembler.REG_READ = 2; openfl_utils_AGALMiniAssembler.REG_FRAG = 32; openfl_utils_AGALMiniAssembler.REG_VERT = 64; openfl_utils_AGALMiniAssembler.OP_SCALAR = 1; openfl_utils_AGALMiniAssembler.OP_SPECIAL_TEX = 8; openfl_utils_AGALMiniAssembler.OP_SPECIAL_MATRIX = 16; openfl_utils_AGALMiniAssembler.OP_FRAG_ONLY = 32; openfl_utils_AGALMiniAssembler.OP_VERT_ONLY = 64; openfl_utils_AGALMiniAssembler.OP_NO_DEST = 128; openfl_utils_AGALMiniAssembler.OP_VERSION2 = 256; openfl_utils_AGALMiniAssembler.OP_INCNEST = 512; openfl_utils_AGALMiniAssembler.OP_DECNEST = 1024; openfl_utils_AGALMiniAssembler.MOV = "mov"; openfl_utils_AGALMiniAssembler.ADD = "add"; openfl_utils_AGALMiniAssembler.SUB = "sub"; openfl_utils_AGALMiniAssembler.MUL = "mul"; openfl_utils_AGALMiniAssembler.DIV = "div"; openfl_utils_AGALMiniAssembler.RCP = "rcp"; openfl_utils_AGALMiniAssembler.MIN = "min"; openfl_utils_AGALMiniAssembler.MAX = "max"; openfl_utils_AGALMiniAssembler.FRC = "frc"; openfl_utils_AGALMiniAssembler.SQT = "sqt"; openfl_utils_AGALMiniAssembler.RSQ = "rsq"; openfl_utils_AGALMiniAssembler.POW = "pow"; openfl_utils_AGALMiniAssembler.LOG = "log"; openfl_utils_AGALMiniAssembler.EXP = "exp"; openfl_utils_AGALMiniAssembler.NRM = "nrm"; openfl_utils_AGALMiniAssembler.SIN = "sin"; openfl_utils_AGALMiniAssembler.COS = "cos"; openfl_utils_AGALMiniAssembler.CRS = "crs"; openfl_utils_AGALMiniAssembler.DP3 = "dp3"; openfl_utils_AGALMiniAssembler.DP4 = "dp4"; openfl_utils_AGALMiniAssembler.ABS = "abs"; openfl_utils_AGALMiniAssembler.NEG = "neg"; openfl_utils_AGALMiniAssembler.SAT = "sat"; openfl_utils_AGALMiniAssembler.M33 = "m33"; openfl_utils_AGALMiniAssembler.M44 = "m44"; openfl_utils_AGALMiniAssembler.M34 = "m34"; openfl_utils_AGALMiniAssembler.DDX = "ddx"; openfl_utils_AGALMiniAssembler.DDY = "ddy"; openfl_utils_AGALMiniAssembler.IFE = "ife"; openfl_utils_AGALMiniAssembler.INE = "ine"; openfl_utils_AGALMiniAssembler.IFG = "ifg"; openfl_utils_AGALMiniAssembler.IFL = "ifl"; openfl_utils_AGALMiniAssembler.IEG = "ieg"; openfl_utils_AGALMiniAssembler.IEL = "iel"; openfl_utils_AGALMiniAssembler.ELS = "els"; openfl_utils_AGALMiniAssembler.EIF = "eif"; openfl_utils_AGALMiniAssembler.TED = "ted"; openfl_utils_AGALMiniAssembler.KIL = "kil"; openfl_utils_AGALMiniAssembler.TEX = "tex"; openfl_utils_AGALMiniAssembler.SGE = "sge"; openfl_utils_AGALMiniAssembler.SLT = "slt"; openfl_utils_AGALMiniAssembler.SGN = "sgn"; openfl_utils_AGALMiniAssembler.SEQ = "seq"; openfl_utils_AGALMiniAssembler.SNE = "sne"; openfl_utils_AGALMiniAssembler.VA = "va"; openfl_utils_AGALMiniAssembler.VC = "vc"; openfl_utils_AGALMiniAssembler.VT = "vt"; openfl_utils_AGALMiniAssembler.VO = "vo"; openfl_utils_AGALMiniAssembler.VI = "vi"; openfl_utils_AGALMiniAssembler.FC = "fc"; openfl_utils_AGALMiniAssembler.FT = "ft"; openfl_utils_AGALMiniAssembler.FS = "fs"; openfl_utils_AGALMiniAssembler.FO = "fo"; openfl_utils_AGALMiniAssembler.FD = "fd"; openfl_utils_AGALMiniAssembler.IID = "iid"; openfl_utils_AGALMiniAssembler.D2 = "2d"; openfl_utils_AGALMiniAssembler.D3 = "3d"; openfl_utils_AGALMiniAssembler.CUBE = "cube"; openfl_utils_AGALMiniAssembler.MIPNEAREST = "mipnearest"; openfl_utils_AGALMiniAssembler.MIPLINEAR = "miplinear"; openfl_utils_AGALMiniAssembler.MIPNONE = "mipnone"; openfl_utils_AGALMiniAssembler.NOMIP = "nomip"; openfl_utils_AGALMiniAssembler.NEAREST = "nearest"; openfl_utils_AGALMiniAssembler.LINEAR = "linear"; openfl_utils_AGALMiniAssembler.ANISOTROPIC2X = "anisotropic2x"; openfl_utils_AGALMiniAssembler.ANISOTROPIC4X = "anisotropic4x"; openfl_utils_AGALMiniAssembler.ANISOTROPIC8X = "anisotropic8x"; openfl_utils_AGALMiniAssembler.ANISOTROPIC16X = "anisotropic16x"; openfl_utils_AGALMiniAssembler.CENTROID = "centroid"; openfl_utils_AGALMiniAssembler.SINGLE = "single"; openfl_utils_AGALMiniAssembler.IGNORESAMPLER = "ignoresampler"; openfl_utils_AGALMiniAssembler.REPEAT = "repeat"; openfl_utils_AGALMiniAssembler.WRAP = "wrap"; openfl_utils_AGALMiniAssembler.CLAMP = "clamp"; openfl_utils_AGALMiniAssembler.REPEAT_U_CLAMP_V = "repeat_u_clamp_v"; openfl_utils_AGALMiniAssembler.CLAMP_U_REPEAT_V = "clamp_u_repeat_v"; openfl_utils_AGALMiniAssembler.RGBA = "rgba"; openfl_utils_AGALMiniAssembler.COMPRESSED = "compressed"; openfl_utils_AGALMiniAssembler.COMPRESSEDALPHA = "compressedalpha"; openfl_utils_AGALMiniAssembler.DXT1 = "dxt1"; openfl_utils_AGALMiniAssembler.DXT5 = "dxt5"; openfl_utils_AGALMiniAssembler.VIDEO = "video"; openfl_utils_AGALMiniAssembler.initialized = false; openfl_utils_Assets.cache = new openfl_utils_AssetCache(); openfl_utils_Assets.dispatcher = new openfl_events_EventDispatcher(); openfl_utils__$ByteArray_ByteArray_$Impl_$.__bytePointer = (function($this) { var $r; var this1 = new lime_utils_BytePointerData(null,0); $r = this1; return $r; }(this)); openfl_utils__$CompressionAlgorithm_CompressionAlgorithm_$Impl_$.DEFLATE = 0; openfl_utils__$CompressionAlgorithm_CompressionAlgorithm_$Impl_$.LZMA = 1; openfl_utils__$CompressionAlgorithm_CompressionAlgorithm_$Impl_$.ZLIB = 2; openfl_utils__$Endian_Endian_$Impl_$.BIG_ENDIAN = 0; openfl_utils__$Endian_Endian_$Impl_$.LITTLE_ENDIAN = 1; ApplicationMain.main(); })(typeof exports != "undefined" ? exports : typeof window != "undefined" ? window : typeof self != "undefined" ? self : this, typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this);