| 
					
				 | 
			
			
				@@ -1,6 +1,7 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-define(["amber/boot", "require"], function (boot, require) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+define(["./boot", "./kernel-goodies", "require"], function (boot, $goodies, require) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     var globals = boot.globals, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         exports = {}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        extend = $goodies.extend, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         api = boot.api; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     // API 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -29,13 +30,6 @@ define(["amber/boot", "require"], function (boot, require) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         enumerable: true, configurable: true, writable: false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    function mixinToSettings (source) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        var settings = globals.SmalltalkSettings; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        Object.keys(source).forEach(function (key) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            settings[key] = source[key]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     function settingsInLocalStorage () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         //jshint evil:true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         var storage = 'localStorage' in global && global.localStorage; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -47,7 +41,7 @@ define(["amber/boot", "require"], function (boot, require) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } catch (ex) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 // pass 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            mixinToSettings(fromStorage || {}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            extend(globals.SmalltalkSettings, fromStorage || {}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if (typeof window !== "undefined") { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 window.addEventListener('beforeunload', function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     storage.setItem('amber.SmalltalkSettings', JSON.stringify(globals.SmalltalkSettings)); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -61,7 +55,7 @@ define(["amber/boot", "require"], function (boot, require) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             globals.SmalltalkSettings['transport.defaultAmdNamespace'] = "amber/core"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             api.amdRequire = require; // TODO better 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             settingsInLocalStorage(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            mixinToSettings(options || {}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            extend(globals.SmalltalkSettings, options || {}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             resolve(api.initialize()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }; 
			 |